Seiring dengan berkembangknya ilmu pengetahuan dan teknologi di bidang komputer, maka semakin banyak pula program-program yang kian bermunculan. Program-program tersebut pada umumnya dibuat untuk mempermudah pekerjaan manusia, namun terdapat juga program yang sifatnya merusak, seperti virus, malware dan sebagainya. Beberapa operasi sederhana seperti menghapus histori dan cache dari berbagai file yang pernah dibuka kini dapat kita selesaikan hanya dengan menekan satu tombol saja pada program tertentu. Dengan demikian hal itu semakin membuat banyak orang untuk mempelajari cara membuat software maupun aplikasi. Banyak ide kreatif dan inovatif pembuatan software komputer terkadang kerap kali muncul dari para generasi muda yang menyandang gelar mahasiswa di bidang IT atau teknik komputer. Sebagai tugas akhir kadang mereka diminta oleh mentornya untuk membuat program sederhana. Tugas akhir tersebut diberikan sebagai bahan evaluasi apakah mereka sudah memahami tentang apa saja yang telah mereka pelajari di bangku kuliah. Tak jarang dengan berawal dari menyelesaikan tugas mereka dapat memunculkan berbagai program yang sangatlah fantastis dan bermanfaat.
Merancang Interface
User Interface (UI) adalah bentuk tampak (visible form) dari sebuah program yang merupakan media interaksi antara program dengan penggunanya (user). Sebagian besar programmer tidak menyukai proses pembuatan UI dalam program mereka. Hal ini cukup mengherankan karena sebenarnya merancang UI cukup mudah, jelas, dan menyenangkan.
Berikut ini kumpulan prinsip-prinsip untuk mendesain antarmuka berdasarkan “Eight Golden Rules of Interface Design” oleh Shneiderman. Saya akan berusaha menjelaskannya dengan lebih sederhana tanpa mengurangi makna di dalamnya.
1. Konsistensi
Oke.. First Of All adalah konsitensi. Selain konsistensi dari sisi desain web/sistem kita, urutan perintah, tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan juga harus diperhatikan. Buatlah agar user dapat mengetahui apa yang harus dilakukan secara intuisi karena mereka sudah melihat situasi yang sama pada antarmuka kita sebelumnya.
2. Shortcut
Yang kedua berikan user/pengunjung website kita shortcut untuk informasi-informasi yang dibutuhkan. Usahakan agar user tidak perlu bekerja terlalu keras untuk mencapai mendapatkan apa yang diinginkan nya pada website kita. Kita dapat memaksimalkan kecepatan interaksi seperti ini, baik melalui singkatan, simbol/icon, ataupun menu-menu yang sudah kita siapkan di halaman awal.
3. Feedback
Ketiga memberikan umpan balik yang informatif. Untuk setiap yang dilakukan user, harus selalu ada semacam feedback, baik ataupun buruk. Berikan informasi terhadap aksi yang dilakukan oleh user. Contohnya apabila kita mengklik suatu link download file dalam sebuah website, maka akan muncul pemberitahuan bahwa download sedang berjalan dan apabila telah selesai mendownload, maka akan ada pemberitahuan bahwa download telah selesai. Atau notifikasi ketika user telah selesai memesan suatu barang pada suatu website e-commerce.
4. Dialog Closure
Merancang dialog untuk menghasilkan suatu penutupan ahkir dari suatu proses. Desain langkah – langkah yang harus dilakukan agar user dapat menyelesaikan suatu aksi. Contohnya apabila user ingin me-reply suatu topic dalam sebuah forum, maka user harus menekan tombol “reply to topic” kemudian mengisi komentar pada kotak yang telah disediakan dan menekan tombol “post new reply” untuk men-submit komentar yang telah ditulisnya.
5. Simple Error Handling
Memberikan penanganan kesalahan yang sederhana. Desainlah sistem/website kita sedemikian rupa sehingga sehingga user dapat terhindar dari kesalahan sistem/error atau tidak melakukan error yang serius. Sistem harus dapat mendeteksi error itu sebelum terjadi. Dan jikalau kesalahan itu masih terjadi, sistem harus dapat memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan tersebut.
6. Reversible Actions
Mudah kembali ke tindakan sebelumnya, Hal ini dapat mengurangi kekuatiran user karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan. Sehingga user tidak takut untuk mengekplorasi. Contohnya yaitu penggunaan tombol “back” pada suatu forum, apabila kita salah menekan topic yang ingin dimasuki, maka kita tinggal menekan tombol “back” agar kembali ke halaman awal dan kita bisa memilih topic yang ingin dimasuki tadi.
7. Put User In Control
Jadikan user sebagai pemegang kendali, rancanglah suatu interface sedemikan rupa sehingga user menjadi inisiator daripada responden. User dapat dengan bebas bernavigasi dan mengubah informasi akun yang dimilikinya sesuai dengan yang dikehendaki.
8. Reduce short-term memory load
Dan yang terhahkir dan menurut saya bisa dibilang summary juga ya, Keep It Simple! . Buatlah interface sesederhana mungkin. Maksudnya disini bukan merancang interface sistem/web dengan design yang biasa (sederhana). Tetapi merancang interface yang mudah dipahami oleh user. Dengan inteface yang simple dan menarik dapat membantu user Mengurangi Beban Ingatan Jangka Pendek, sehingga tidak perlu mengingat terlalu banyak perintah, dan juga dapat menghindari terjadinya kebingungan pada para user.
Menulis Kode Program
Menulis atau tepatnya mengetik kode program adalah pekerjaan yang memerlukan perhatian khusus tentang baik atau tidaknya hasil penulisan kode kita tadi, karena dengan kode program yang ditulis dengan aturan yang baik maka kita akan mudah untuk melakukan pengubahan maksud, logika dan lain sebagainya.
Kriteria-kriterian Penulisan Kode Program yang Baik
1. Tulis Sesimpel dan Seefisien mungkin
Semakin simpel sebuah kode, maka akan semakin mudah kode tersebut dibaca (baik oleh compiler maupun oleh pembuat). Makanya, mulai sekarang tulis setiap kode anda sesederhana dan seefisien mungkin agar proses compiling kode anda jauh lebih cepat. Maksimalkan juga built-in function yang telah disediakan oleh bahasa pemrograman yang anda gunakan.
2. Readable Function
Artinya sekali lirik dari namanya, programmer lain sudah harus bisa menebak apa guna dari fungsi tersebut. Fungsi yang anda buat hendaklah bisa dibaca dan dimengerti dengan mudah melalui namanya. Hal ini sangatlah penting, baik bagi anda yang mengikuti gaya prosedural ataupun OOP.
3. Konsisten
Anda harus konsisten ketika menulis kode. Misalnya dalam memberi nama variabel, nama objek, ukuran objek, perataan kode, penggunaan jenis huruf, case sensitive, dll. Disini, kita bisa menentukan sendiri aturan kita sebelum mulai mengerjakan proyek. Atau kita bisa mengikuti standard penulisan kode yang sudah ada, karena biasanya setiap software house memiliki standard sendiri.
4. Perhatikan text indentation
Layaknya sebuah desain, kode pun harus ada tabulasi / text indentation agar kode dapat dibaca dengan mudah dan mata tidak terlalu sulit untuk menemukan kode apa yang akan dicari. Terlebih bagi programmer lain yang akan membantu anda, atau meneruskan proyek anda.
5. Tambahkan komentar
Jika menurut anda poin-poin sebelumnya masih belum bisa menjelaskan fungsi yang anda maksudkan, anda dapat menambahkan komentar-komentar atau keterangan deskriptif mengenai fungsi tersebut dan bagaimana cara menggunakannya. Meskipun ukuran dokumen anda jadi semakin besar, namun dari sini anda meninggalkan petunjuk berupa informasi bagi mereka yang menggunakan kode anda, tanpa harus bertanya-tanya terus pada anda.
6. Penamaan file
Misalnya file PHP. Dia harus disimpan dengan ekstensi .php (jika anda menemukan file dengan ekstensi .php3 atau .phtml maka kemungkinan besar file-file tersebut ditulis menggunakan PHP versi 3 ke bawah). File-file tersebut akan disimpan sebagai file teks biasa, artinya kita tidak butuh editor khusus. Namun perlu diingat bahwa Notepad tidak memunculkan nomor baris sehingga jika dibuka kadang seorang programmer tidak bisa begitu saja membaca sebuah kode. Di sinilah anda dapat membantu mereka dengan memberi nama yang deskriptif dan tidak random pada setiap file anda.
7. Buat sebuah dokumentasi
Jika anda sudah membuat sebuah kode dimana kode tersebut levelnya merupakan framework atau library yang cukup kompleks, maka diperlukan sebuah dokumentasi. Paling tidak, dokumentasi yang anda buat adalah semacam tour guide yang dapat memandu orang lain memanfaatkan kode anda. Lengkapi pula dokumentasi tersebut dengan API (Application Programming Interface) tiap fungsi yang mungkin bisa digunakan.
8. Selalu update
Artinya, sebagai programmer anda wajib memantau perkembangan terbaru pada bahasa pemrograman yang anda minati. Karena terkadang ada cara-cara penulisan yang akan diatur ulang oleh pihak developer dari bahasa pemrograman yang kita manfaatkan.
9. Berpikiran universal
Programmer bukanlah seorang pejuang solo, banyak programmer di dunia ini yang saling membantu dan memanfaatkan kode milik programmer lain. Untuk itu, gunakan gaya penulisan standard yang sudah ditentukan oleh bahasa pemrograman yang anda pakai. Selain anda mengikuti peraturan, anda juga menjadi seorang yang sosialis dalam hal sharing kode anda. Dengan begitu, anda bisa mendapatkan teman serta kode yang anda buat sangat bermanfaat bagi orang lain. Berikut contoh sederhana kode yang menerapkan beberapa etika diatas.
Mengkompilasi Kode Program
Program komputer dalam bentuk yang dapat dibaca oleh manusia biasanya disebuat sebagai kode sumber. Kode sumber dapat dikonversikan menjadi bentuk berkas yang dapat dieksekusi secara langsung oleh komputer. Proses pengkonversian ini disebut sebagai proses kompilasi dan biasanya dilakukan sebuah program utilitas dari bahasa pemrograman yang digunakan yang disebut sebagai kompiler. Pada beberapa bahasa pemrograman tertentu, kode sumber dapat langsung dieksekusi sebagai sebuah program dengan menggunakan bantuan utilitas yang disebut sebagai interpreter.
Baik melalui proses kompilasi ataupun interpretatif, eksekusi program dapat dilakukan dalam sebuah proses batch tanpa membutuhkan interaksi dengan manusia, namun program interpretatif memungkinkan pengguna untuk menulis perintah dalam suatu sesi interaktif. Pada kasus ini sebuah program dieksekusi sebagai sebuah perintah, yang kemudian dieksekusi baik secara serial ataupun paralel. Bahasa pemrograman yang menyediakan fitur interaktif seperti ini dinamakan sebagai bahasa skrip.
Kompiler digunakan untuk menerjemahkan kode sumber dari suatu bahasa pemrograman menjadi kode objek ataupun kode mesin. Kode objek biasanya membutuhkan proses lebih lanjut sehingga dapat menjadi kode mesin, dan kode mesin merupakan instruksi-instruksi yang dikenali dan dapat secara langsung dieksekusi oleh prosesor. Program komputer yang telah terkompilasi biasanya disebut sebagai berkas eksekutabel, ataupun berkas biner; yang merujuk pada bentuk sistem biner yang digunakan untuk menyimpan kode mesin tersebut.
Membuild Program
Sebuah barisan kode program belum dapat kita eksekusi. Kode kode tersebut harus dibuild menjadi sebuah file yang dapat di eksekusi. Pada Sistem Operasi Windows kita dapat menggunakan file ekstensi .exe.Pada fase ini sejatinya kita sudah sampai pada fase akhir dalam membuat software. Sebenarnya dalam pembuatan software terdapat langkah langkah lanjutan seperti testing,debugging dan lain lain. Namun untuk sekedar membuat software langkah langkah ini sudah cukup untuk menghasilkan sebuah software.