Tujuan utama dari desain antarmuka adalah menghasilkan sistem komputer yang mampu digunakan dengan baik oleh pengguna (good usability) dengan memperhatikan beberapa hal penting seperti memahami faktor-faktor dalam menggunakan teknologi, mengembangkan teknik untuk membangun sistem yang sesuai dengan tujuan serta mencapai interaksi yang aman, efektif, dan efisien. Dengan demikian, rekayasa bentuk user interface sebagai proses yang kompleks dan memerlukan daya kreativitas yang tinggi, pengalaman, analisis terperinci dan pemahaman terhadap kebutuhan user. User interface dapat diatur menggunakan pilihan dari pembuat komputer, analisis sistem, pemrograman ataupun oleh user yang bersangkutan.
1. Desain Interface (Antarmuka) dalam C++
Program yang dihasilkan dari aplikasi C++ masih berbasis teks, sehingga dalam membuat desain interface dilakukan dengan memanipulasi tata letak, animasi, penggunaan warna, penggunaan kode ASCII, dan lain-lain. Sebuah desain interface yang baik harus membuat sebuah program nyaman digunakan (user friendly). Pembuatan desain interface harus dilihat dari berbagai macam aspek, di antaranya aspek pengguna dan kemudahan dalam memahami sebuah program.
a. Manipulasi Tata Letak
Beberapa kode/perintah yang bisa digunakan dalam memanipulasi tata letak text antara lain:
1) setw(lebar_layar) Digunakan untuk mengatur lebar layar sebuah text, untuk perintah setw() perlu pemanggilan file header #include <iomanip.h>
2) gotoxy(jml_baris, jml_kolom)
Perintah yang digunakan untuk memposisikan text/karakter dalam koordinat x dan y, di mana x merupakan jumlah kolom dan y merupakan jumlah baris.
b. Animasi
Animasi dalam C++ dapat dilakukan dengan perintah Sleep(waktu_tunda). Perintah Sleep ini berarti menunda text/karakter yang akan ditampilkan sesuai dengan waktu yang ditentukan programmer. Penggunaan perintah Sleep memerlukan file header "#include <windows.h>". Hal yang perlu diingat adalah penulisan Sleep harus menggunakan huruf S besar.
c. Penggunaan Warna
Sebuah program akan lebih menarik, jika mampu memberikan warna untuk teks dan background. Warna default yang digunakan untuk membuat sebuah program dengan C++ adalah text putih dan background hitam. Cara yang paling file header "#include <stdlib.h> Misalnya: system("color 76"); yang artinya kode pertama 7 adalah warna background, dan kode ke dua 6 adalah warna text, sehingga dalam kode 76 akan menampilkan background putih dan text kuning.
Selain itu bisa menggunakan setcolor(kode_warna). Kode-kode warna yang bisa digunakan dalam C++ adalah sebagai berikut.
2. Pembuatan Desain User Interface
Desain User Interface (UI) berfokus pada perencanaan berbagai unsur-unsur yang digunakan pada antarmuka dengan tujuan memudahkan untuk diakses, dipahami, dan digunakan oleh user. Ul menyatukan konsep dari interaction design, visual design, dan information architecture. Standar desain user interface telah dikembangkan sejak tahun 1980-an untuk menentukan kegunaan dari produk piranti lunak. Salah satu basis struktural telah menjadi model referensi antarmuka pengguna adalah IFIP (International Federation of Information Processing) yang mengusulkan empat dimensi untuk struktur antarmuka, yaitu dimensi input/output, dimensi dialog, dimensi fungsional/teknis, dan dimensi organisasi.
Model ini telah sangat mempengaruhi perkembangan standar internasional ISO 9241 yang menjelaskan persyaratan desain antarmuka untuk kegunaan tertentu. Keinginan untuk memahami Ul khusus aplikasi awal dalam pengembangan piranti lunak, bahkan pada aplikasi yang masih sedang dikembangkan, menyebabkan penelitian tentang GUI prototyping menjadi makin intens dengan menawarkan simulasi dan solusi tepat tentang pembuatan aplikasi yang benar-benar mengerti user, sehingga dapat meningkatkan produksi.
4. Memilih Interface Elements
Uher lebih terbiasa dengan elemen interface yang bekerja dengan cara tertentu, sehingga perlu konsistensi dalam membuat struktur pilihan dan tata letaknya. Hal tersebut justru membantu dalam penyelesaian tugas, efisiensi, dan menambah kepuasan user. Beberapa elemen interface yang digunakan adalah sebagai berikut.
b. Merancang Interface
Mengetahui sifat user yang mencakup tentang pemahaman, tujuan, skill, preferensi, dan kecenderungan pemilihan elemen secara umum. Setelah mengetahui hal tersebut, berikut beberapa hal yang perlu dipertimbangkan saat merancang interface.
1) Menciptakan konsistensi dan menggunakan elemen Ul umum Dengan menggunakan elemen umum di UI, user merasa lebih nyaman dan mampu menyelesaikan sesuatu lebih cepat. Hal ini juga penting untuk membuat suatu pola dalam bahasa, tata letak, dan desain untuk membantu memfasilitasi efisiensi. Setelah user belajar bagaimana melakukan sesuatu, mereka harus mampu mudah beradaptasi dan terbiasa dengan interface tersebut.
2) Menjaga antarmuka yang sederhana Interface terbaik hampir tidak terlihat oleh user. Mereka menghindari elemen yang tidak perlu dan harus terstruktur dengan bahasa yang jelas pada label dan di pesan interface.
3) Menggunakan strategi warna dan tekstur
Hal ini dapat dilakukan dengan mengarahkan perhatian user dari dan ke iten tertentu, menggunakan warna, cahaya, kontras, dan tekstur untuk tujuan tertentu.
4) Mempertimbangkan page layout berdasarkan suatu tujuan tertentu Mempertimbangkan spasi antara item pada halaman dan struktur berdasarkan kepentingan dan tujuan. Penempatan item yang terencana dapat membantu menarik perhatian langsung ke bagian paling penting dari informasi sehingga dapat membantu scanning dan mudah dibaca oleh user.
5) Menggunakan tipografi untuk membuat penjernihan dan kejelasan Hati-hati dalam memilih metode membentuk sebuah bentuk gambaran tertentu. Berbagai ukuran, font, dan pengaturan teks yang tepat dapat membantu meningkatkan scanability dan mudah dibaca user.
6) Memikirkan tentang default
Secara teliti memikirkan dan mengantisipasi adanya user secara tidak sengaja mengutak atik konfigurasi, namun dapat diatasi dengan membuat default yang mengurangi kepanikan pada user.
7) Memastikan bahwa sistem berjalan sesuai dengan apa yang terjadi saat itu juga Selalu menginformasikan user tentang lokasi, suatu tindakan sistem, perubahan, atau kesalahan.
B. Struktur Kontrol dalam Aplikasi
Struktur kontrol percabangan identik dengan algoritma yang memiliki suatu kondisi tertentu akan menentukan perintah-perintah yang dijalankan oleh program. Perintah dalam sebuah kondisi (condition) akan dijalankan ketika kondisi tersebut bernilai benar, dan begitu juga sebaliknya.
1. Kerangka Kode Program dalam C++
Bahasa C++ dikembangkan pertama kali oleh Bjarne Stroustrup dari Bell Labs pada awal 1980-an. Guna mendukung fitur-fitur pada C++ dibangun efisiensi dan sistem support untuk pemrograman tingkat rendah (low level coding) serta menambahkan konsep baru seperti class dengan sifat-sifatnya seperti inheritance dan overloading. Setiap program yang ditulis dalam bahasa C++ pasti akan memiliki sebuah fungsi utama dengan nama main(). Selanjutnya jika ingin mendefinisikan fungsi-fungsi lain dapat dilakukan di luar fungsi utama tersebut. Kode yang dibaca dalam C++ adalah kode-kode yang terdapat pada fungsi utama main(). Jika ternyata terdapat pemanggilan fungsi lain, maka kode program akan mencari nama fungsi tersebut untuk dieksekusi. Setelah mengeksekusi fungsi tersebut, maka program
akan kembali ke dalam fungsi utama dan seterusnya. Kerangka lengkap dari program yang ditulis dalam C++ secara standar adalah sebagai berikut.
Faktor yang perlu diperhatikan bahwa file kunder yang digunakan di dalam bahasa C++ untuk standar proses input/output (1/0) adalah <iostream>, sedangkan di dalam bahasa C file header yang digunakan untuk keperluan yang sama adalah <stdio.h>. Selain itu, statement using namespace std; menunjukkan penggunaan bahasa C++ di dalam kode program yang ditulis.
2. File Header (File.h)
File header (file dengan ekstensi h) adalah file yang berisi deklarasi dalam bentuk konstanta, fungsi kelas, namespace, dan sebagainya. File header hanya berisi deklarasi, sebab jika berupa fungsi maka yang tertulis hanya dalam bentuk prototipe saja. File ini tidak berisi implementasi atau kode-kode program dari fungsi atau kelas yang didefinisikan di dalamnya. Bagian implementasi biasanya dalam bentuk kode objek/file yang sudah dikompilasi sebelumnya. File-file inilah yang disebut Standard Runtime Library yang dipanggil otomatis pada tahap linking.
File library dalam Windows OS disimpan dalam file lib atau .dll; sedangkan di Linux disimpan dalam file a atau so. Bahasa C++ menyediakan banyak file header untuk berbagai macam keperluan. Namun demikian, hal yang dipahami bahwa sebagian file header dalam C++ standar sudah tidak memiliki ekstensi .h. misalnya <iostream>, <string>, <cstring>, cstdlib> dan sebagainya. Sedangkan dalam C++ klasik, ekstensi h wajib disertakan misalnya <iostream.h>, <string. h> dan sebagainya. File header yang digunakan adalah file header standar yang harus dipanggil (call) menggunakan directive #include.
Jika dalam kode tersebut menggunakan perintah cout, sedangkan programmer tidak pernah mendefinisikan perintah tersebut, maka solusinya adalah cout telah dideklarasikan di dalam file header "iostream" yang terletak di dalam namespace std yang dideklarasikan pada file header "iostream". Satu hal yang perlu diketahui tentang file header bahwa C++ juga mengenal semua file header milik bahasa C, tetapi semua nama file header tersebut sudah diubah. Dalam buku "The C++ Programming Language" karya Bjarne Stroustrup (pencipta C++) menyatakan bahwa setiap file header dalam C++ yang diawali huruf 'c' adalah sama dengan file header milik bahasa C. Untuk setiap file header dengan nama <X.h> yang terdapat dalam bahasa C diubah namanya menjadi <<X>. Misalnya file header <stdio.h>, <string.h>, dan <stdlib.h> milik bahasa C; maka dalam C++ akan diubah menjadi <cstdio>, <cstring>, dan <cstdlib>. Hal tersebut menjadi library murni milik C++ dan tidak dikenal dalam bahasa C di antaranya <iostream>, <string>, <new>, <list> dan sebagainya.
3. Struktur Kontrol Percabangan
Beberapa jenis struktur kontrol percabangan ada di dalam C++ adalah sebagai berikut.
a. Percabangan IF
Percabangan IF diterjemahkan sebagai suatu struktur kontrol percabangan yang memiliki sebuah kondisi. Bentuk umum penulisannya sebagai berikut
b. Percabangan IF-ELSE
Percabangan IF-ELSE diterjemahkan sebagai struktur kontrol percabangan yang memiliki sebuah kondisi yang apabila kondisi tersebut benar, maka perintah di dalamnya akan dijalankan. Apabila kondisinya salah, maka ada perintah lainnya yang akan dijalankan oleh program. Bentuk umum penulisannya sebagai berikut.
c. Percabangan IF-ELSE IF-ELSE
Percabangan IF-ELSE IF-ELSE identik dengan struktur kontrol percabangan yang memiliki banyak kondisi. Bentuk umum penulisannya sebagai berikut.
d. Percabangan Switch
Percabangan switch diterjemahkan sebagai struktur kontrol percabangan yang memiliki banyak kondisi, tetapi kondisi dalam percabangan switch ini bertipe numerik. Default berfungsi untuk menjalankan perintah dasar apabila kondisi tidak sesuai dengan nilai case yang ada. Bentuk umum penulisannya sebagai berikut.
4. Proses pembentukan program
Guna membuat program yang ditulis dalam bahasa C++ memerlukan software Text Editor untuk menuliskan kode program dan C++ Compiler untuk menerjemahkan kode C++ menjadi program yang dapat deksekusi. Dev-C++ identik dengan sebuah C/C++ IDE (Integrated Development Environment) yang dilengkapi MinGW C/C++ Compiler. Sedangkan versi Dev-C++ yang sering digunakan adalah Dev-C++ 5.3.0.3 yang dirilis pada tanggal 1 November 2012. C++ Compiler yang digunakan dalam Dev-C++ 5.3.0.3 adalah MinGW 4.7.0, karena memiliki dukungan terhadap C++11 (C++0x)
Setelah instalasi selesai, langkah selanjutnya adalah proses pembentukan program. Beberapa tahapan yang terjadi pada saat proses pembentukan program diawali dari penulisan kode program hingga menjadi file biner yang dapat dieksekusi. Dalam Windows OS, file program akan berekstensi EXE, sedangkan hasil pembentukan program dalam Linux OS ditandai dengan ekstensi O. Masing-masing tahapan dilakukan oleh program yang berbeda-beda yaitu C++ Prepocessor, C++ Compiler, Assembler, dan Linker. Setelah program (file EXE atau O) terbentuk, maka file tersebut dapat dieksekusi atau dijalankan (Run) melalui program eksekusi program yang disebut program Loader.
a. Program C++ Prepocessor
Pada pembentukan program yang ditulis dalam C++, pada awalnya kode program akan diproses oleh program C++ Prepocessor. Program ini akan menggabungkan kode program dengan prepocessor directive yang digunakan di dalam kode. Prepocessor directive adalah statement program yang diawali dengan tanda. Pada tahap ini, statement #include, #define, dan lain-lain akan diubah ke dalam bentuk kode aktual. Sebagai contoh apabila di dalam kode program terdapat statement #include maka seluruh isi dari file "iostream" akan dimasukkan ke dalam kode program. Pada tahap berikutnya, kode yang telah diperluas tersebut dikirim ke program C++ Compiler.
b. Program C++ Compiler
Tahap berikutnya setelah tahap pemrosesan awal kode program adalah tahap penerjemahan kode program menjadi kode assembly. Proses pada tahap ini dilakukan oleh program C++ Compiler. Kode yang sudah berubah ke bentuk kode assembly kemudian siap dikirim ke program Assembler.
c. Program Assembler.
Setelah kode assembly dari C++ Compiler, program langsung menerjemahkan kode-kode tersebut ke dalam bentuk kode objek. Pada tahap selanjutnya, kode objek tersebut dikirim ke program Linker.
d. Program Linker
Apabila kode program yang kita tulis lebih dari satu file, maka kode objek yang dihasilkan juga akan sesuai dengan jumlah file kode program. Pada tahap ini, program Linker akan menghubungkan semua file kode objek tersebut dengan Standard Runtime Library yang sudah disediakan oleh C++ kemudian mengubahnya ke dalam satu file exe (atau .o). File inilah yang dinamakan program.
e. Program Leader
Program Loader digunakan untuk mengeksekusi program yang sudah dibuat sebelumnya. Misalnya, dalam aplikasi Dev-C++ (program IDE dan C/C++ Compiler). Ketika menggunakan menu Compile, maka Dev-C++ akan melakukan proses pembentukan program dengan memanggil (call) program C++ Prepocessor. Compiler, Assembler, dan Linker. Namun pada saat menggunakan menu Run, maka program Loader akan dipanggil untuk mengeksekusi program yang telah kita buat sehingga hasil (output) program akan ditampilkan di layar monitor (console).

Komentar