Panduan Merancang User Interface Bagi Programmer

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.

Mudah, karena tidak membutuhkan algoritma yang rumit seperti bagaimana menghitung posisi tombol agar berada di tengah2 window. Jelas, karena jika kita melakukan kesalahan akan langsung diketahui dan bisa langsung kita koreksi. Menyenangkan, karena hasil dari apa yang kita buat langsung tampak mata saat itu juga, apalagi jika kita bekerja di lingkungan visual. Saat saya bekerja dengan UI, saya merasa seperti sedang memahat atau melukis.

Sebagian besar programmer merasa kesulitan saat merancang UI untuk program mereka, biasanya hal ini berawal dari ketakutan atau ketidak-pedean mereka. Programmer mengira bahwa perancangan UI adalah seperti perancangan grafis (graphics design) yang dianggap sebuah proses misterius dari kreativitas, yang biasanya orang2-nya tampil nyleneh tapi mampu menghasilkan karya artistik dan enak dipandang. Sedang programmer menganggap dirinya sendiri sebagai orang yang logis, kuat dalam analisa, tapi lemah dalam penilaian artistik. Jadi, mereka berpikir bahwa mereka tidak akan mampu (setidaknya tidak akan bagus) dalam merancang UI untuk program mereka.

Sebenarnya, perancangan UI sebuah program cukup mudah dan logis juga. Pekerjaan ini tidak serumit perancangan grafis dan tidak membutuhkan orang2 lulusan institut seni. Ada metode yang rasional dan aturan yang logis untuk membangun UI sebuah program. Kita tidak akan membahas hal2 seputar seni dalam artikel ini, melainkan sekumpulan metode dan aturan yang cukup sederhana. Sebelumnya saya tekankan lagi, artikel ini ditujukan bagi programmer. Kita tidak akan membahas tentang bagaimana kode membuat/memasang menu, meletakkan tombol, dan lain sebagainya. Sebaliknya, kita akan membahas pertimbangan kapan kita memasang menu, atau menggantinya dengan toolbar, dan sejenisnya.

Seorang psikolog terkenal, bernama Dr. Martin E. P. Seligman, mempunyai teori yang disebutnya Ketidakberdayaan Berlanjut. Teori ini, yang berdasarkan penelitian bertahun-tahun, mengatakan bahwa depresi muncul akibat adanya ketidakberdayaan yang berkelanjutan, atas hal kecil maupun besar, dalam kehidupan sehari-hari. Ketidakberdayaan dalam hal ini adalah ketidakmampuan untuk mengontrol lingkungan (sekitar) dan tidak ada kuasa untuk mengubahnya. Semakin besar kemampuan kita untuk mengontrol lingkungan kita, dan apa yang kita kerjakan berhasil dengan baik, kita akan merasa semakin senang. Ketika kita merasa tidak senang, atau marah, atau kecewa, sangat dimungkinkan ada sesuatu hal yang terjadi di luar kontrol kita yang tidak sesuai dengan keinginan kita, dan kita tidak bisa melakukan apa-apa terhadapnya. Walaupun mungkin hanya sebuah hal kecil, semisal remote control TV yang macet. Jika hal2 kecil seperti ini terus berlanjut, kita akan marah. Walaupun seharusnya kita tidak perlu marah akan hal tersebut (ayolah… masih banyak orang kelaparan di Afrika, dan disini kita marah hanya gara2 remote TV macet?), setidaknya kita akan merasa dongkol (bad mood).

Kembali ke masalah program. Mari kita lihat ilustrasi berikut ini…

Bambang, adalah seorang pengguna MS Windows yang cukup mahir. Dia seorang karyawan sebuah perusahaan bank swasta terkenal. Dia menggunakan MS Windows baik di kantor maupun di rumahnya, selama 7-8 tahun terakhir. Dia pengguna yang cukup tahu hal teknis, dia mampu menginstal sendiri software yang dibutuhkannya, dia berlangganan majalah komputer, bahkan dia bisa membuat macro sederhana di MS Word untuk sekretarisnya agar kerjanya lebih mudah dan cepat. Bambang tidak pernah menggunakan MacOS (Macintosh). Mahal, itu alasannya.

Suatu hari, Rina, teman Bambang meminta bantuan sehubungan dengan komputernya. Rina adalah pengguna MacOS. Dia menyukainya karena tampilannya bagus. Ketika Bambang telah berada di depan komputer Rina dan mulai mengoperasikannya, muncul sedikit rasa frustasi karena dia berhadapan dengan hal baru. Akibatnya, muncul rasa tidak suka Bambang terhadap MacOS. Walaupun pada akhirnya Bambang mampu menyelesaikan masalah Rina, ada rasa dongkol dan tidak suka di diri Bambang. UI Macintosh jelek dan susah dioperasikan, demikian pendapat Bambang.

Jelek? Susah? Padahal hampir setiap orang tahu MacOS mempunyai rancangan UI yang paling elegan dibandingkan OS lainnya. Paradigma kemudahan pemakaian (ease of use) justru pertama kali muncul dari Macintosh. Lalu, bagaimana seorang Bambang bisa berpendapat sebaliknya?

Inilah alasannya…

Di MacOS, untuk memindahkan sebuah window, user bisa meng-klik tepi mana saja dari window tersebut dan membawanya ke posisi yang diinginkan. Sedang di Windows, untuk tujuan yang sama, user harus meng-klik bagian atas (title bar) window. Di Windows, jika user meng-klik tepi window maka Windows menganggap user akan mengubah ukuran window. Perbedaan ini membuat Bambang sedikit frustasi saat menghadapi komputer Rina. Karena, saat dia akan memperbesar window, window-nya malah bergeser.

Di Windows, saat muncul kotak pesan (message dialog), user bisa menekan tombol Enter atau Spasi untuk menjawabnya. Di MacOS, tombol Enter dan Spasi tidak berfungsi di kotak pesan, melainkan harus klik dengan mouse. Hal kedua yang menambah frustasi Bambang, kotak pesan yang muncul tidak bisa dijawabnya segera dengan gerakan tangan di atas keyboard (seperti yang biasa dilakukannya di komputernya), melainkan harus menggerakkan dan meng-klik mouse. Sebelum dia sadar bahwa kotak pesan itu membutuhkan mouse, kegagalan pertama penekanan tombol Enter dia anggap karena ‘pukulan’-nya kurang keras (berasumsi keyboard agak macet) sehingga dia menekan lagi tombol Enter dengan lebih keras. Sebuah rasa frustasi kecil lagi.

Di Windows, Bambang juga terbiasa menggunakan kombinasi tombol Alt+F4 untuk menutup sebuah window aplikasi. Padahal di MacOS, kombinasi tersebut berfungsi untuk mengubah volume suara speaker. Sehingga, ketika Bambang ingin menutup aplikasi yang tidak digunakannya dengan Alt+F4, yang terjadi justru suara lagu mp3 yang diputarnya semakin besar. Lagi, frustasi kecil.

Tapi, frustasi2 kecil ini berkelanjutan selama Bambang mengoperasikan komputer Rina. Ketika Bambang pulang dari rumah Rina, Bambang masih merasa dongkol dan jengkel akibat respon ‘aneh’ komputer Rina. Hal inilah yang membuat Bambang berpendapat bahwa UI MacOS jelek dan susah dipakai. Aku lebih menyukai Windows, katanya menambahkan.

Oke Bambang… kita tahu apa yang terjadi. MacOS sebenarnya sangat bagus dan mudah dipakai, *untuk* pengguna MacOS. Programmer Windows di Microsoft, yang sebenarnya meniru MacOS, merasa telah memberi fitur menarik dengan mengijinkan user mengubah ukuran window dengan cara click-and-drag di tepi window. Sedang programmer MacOS, beranggapan telah memberi fitur menarik dengan mengijinkan user menggeser window dengan cara click-and-drag di sisi2 window.

Akan muncul banyak perdebatan tentang hal ini. Sebagian mungkin berpendapat, Windows lebih mudah karena user bisa mengubah ukuran window dari segala sisi. Sedang sebagian lain berpendapat, MacOS lebih mudah karena user bisa menggeser window dari segala sisi daripada harus jauh2 ke title bar. Dan seterusnya. Justru disinilah poin dalam perancangan UI, yaitu… program bisa merespon user sesuai dengan apa yang *diharapkan* oleh user.

UI sebuah program sangat penting, karena bisa berdampak pada rasa, emosi, dan mood penggunanya. Jika UI program dirancang dengan baik dan benar, dimana tiap komponen UI bekerja sesuai dengan apa yang diharapkan user, dijamin user akan merasa senang dan menyukai program tersebut. Sebaliknya, dengan respon UI yang ‘aneh’, user akan jengkel, menyalahkan, dan tidak menyukai program tersebut. Dengan memberikan respon yang sesuai dengan harapan user, user merasa bisa mengontrol program tersebut, dan tidak perlu menghadapi frustasi2 kecil.

Jadi, intinya adalah… rancangan UI yang baik dan benar adalah ketika respon UI sesuai dengan apa yang diharapkan user. Ini adalah aturan paling mendasar dalam perancangan UI, aturan2 lain harus berdasarkan pada aturan ini.

(bersambung)

————————————————
Artikel ini merupakan saduran (plus sedikit gaya lokal) dari sebagian isi buku User Interface Design for Programmers karya Joel Spolsky. Disadur oleh Bisma Jayadi (belum pake ijin resmi) untuk Balung.🙂
Semoga bermanfaat, dan juga… semoga bisa melanjutkan bab berikutnya.🙂


About this entry