DESAIN DIALOG DALAM IMK



Dialog dalam arti umum adalah percakapan antara dua kelompok atau lebih. Sedangkan dialog dalam konteks perencanaan user interface adalah struktur dari percakapan antara user dan sistem komputer. Dalam mendesain sebuah dialog, diperlukan deskripsi yang terpisah dari program secara keseluruhan. Ada beberapa alasan yang mendasari hal tersebut, antara lain :

  • Agar lebih mudah dianalisa
  •  Pemisahan elemen-elemen interface dari logika program (semantik)
  •   Apabila notasi dialog ditulis sebelum program dibuat, maka notasi tersebut dapat membantu desainer untuk menganalisis struktur dialog yang diajukan, bahkan desainer juga dapat menggunakan prototyping tool untuk menguji dialog.
  •  Notasi dialog dapat digunakan sebagai salah satu cara bagi anggota tim perancangan untuk mendiskusikan rancangan dialog dan pada akhirnya diberikan kepada programmeraplikasi.


 Bahasa Komputer dapat dibagi atas tiga tingkatan:
1.      Leksikal
  •   Merupakan tingkatan yang paling rendah.
  •   Yaitu bentuk icon pada layar.
  •   Pada bahasa manusia, ekuivalen dengan bunyi dan ejaan suatu kata.
 2.      Sintaksis
  •   Yaitu urutan dan struktur dari input dan output.
  •   Pada bahasa manusia, ekuivalen dengan grammar suatu kalimat.

3.      Semantik
  •   Yaitu arti dari percakapan yang berkaitan dengan pengaruhnya pada struktur data internal komputer dan/atau dunia eksternal.
  • Pada bahasa manusia, ekuivalen dengan arti yang berasal dari partisipan dalam percakapan. Dalam user interface, istilah dialog hampir mirip dengan tingkat sintaksis, tetapi juga meliputi sifat-sifat leksikal.

Dialog Manusia – Komputer:
Berbeda  dengan  dialog  antar  manusia  pada  umumnya,  dialog dengan komputer biasanya terstruktur dan terbatas. Beberapa  ciri-ciri  dari  dialog  terstruktur  yang  nantinya ditemukan dalam dialog komputer:
  •   Menyebutkan beberapa hal tertentu secara berurutan.
  •  Beberapa bagian dari dialog dilakukan secara bersamaan.
  •  Dialog berikutnya tergantung pada respon dari partisipan.
  •  Dialog terstruktur biasanya tidak langsung menuju pada arti kata-katanya / semantik tapi pada level sintaksis.

Proses Perancangan Dialog  
Advice:
  •   Rangkaian dialog menggambarkan struktur tugas.
  • Beberapa rangkaian dialog tambahan digunakan untuk user support, misalnya: help system, tutorial sub-sistem.
  •   Rangkaian dialog diurutkan sesuai dengan struktur tugas. Prinsip yang digunakan dalam desain dialog adalah membagi sistem menjadi beberapa bagian yang disebut module. Biasanya user access bukan merupakan bagian dari task desription, tapi harus dimasukan dalam sistem yang baru.
Dalam mendesain dialog, diperlukan deskripsi yang terpisah dari program secara keseluruhan. Agar mudah di analisa. Pemisahan elemen-elemen interface dari logika program (semantik). Apabila notasi dialog ditulis sebelum program dibuat, maka notasi tersebut bisa membantu desainer untuk menganalisa struktur yang diajukan.

Notasi Diagramatik
Notasi Diagramatik paling sering digunakan dalam desain dialog. 
Kelebihan: memungkinkan desainer untuk melihat secara sekilas struktur dialog. 
 Kekurangan: sulit untuk menjelaskan struktur dialog yang lebih luas dan kompleks.
Contoh Notasi Diagramatik:
  •  State Transition Networks (STN)
  •  Hierarchical STN
  • Harel’s State Charts
  • Traditional Flow Diagrams (Flow Charts)
  •  JSD Diagrams

JENIS-JENIS DIALOG
Command Language 
          Merupakan paradigma user interface yang pertama kali.  Contoh: MS-DOS shell, UNIX shell, dBase.
•  Keuntungan:
    • Lebih cepat.
    • Dapat melakukan kegiatan meskipun di luar batas.
    •  Perulangan
    • Implementasi yang mudah dan hemat.
•  Tujuan:
    •  Konsistensi.
    •   Penamaan dan pemberian singkatan yang baik.
    •   Melakukan tugas perancangan dapat membantu meminimalkan kekurangan.

WIMP (Window, Icon, Menu, Pointer)
Berfokus pada Menus, Buttons, Forms, Icons.
Direct Manipulation
  • Keuntungan:
    •   Mudah dipelajari dan diingat, khususnya untuk pemula.
    •   WYSIWYG
    •   Fleksibel
    •   Menyediakan konteks dan tampilan yang cepat dari feedback, sehingga user dapat mengetahui apakah tujuan telah tercapai.§  Membatasai beberapa jenis kesalahan yang dapat terjadi.
  • Kekurangan:
    •   Penggunaan seluruh ruang pada layar.
    •   Harus mempelajari arti dari komponen-komponen yang tampak   pada layar.
    •   Tampilan visual mungkin dapat disalah artikan.
    •   Penggunaan mouse dapat lebih lambat daripada pengetikan.
    •   Tidak ada penjelasan otomatis.
    •   Tidak bagus pada: pengulangan, penyimpanan history, tugas  tertentu (seperti merubah semua huruf cetak  miring menjadi  cetak tebal), variabel.
 PDA dan Pen
  •   Menjadi lebih umum dan penggunaan yang lebih luas.
  •   Tampilan yang lebih kecil (160×160 atau 320×240).
  •   Tombol-tombol yang lebih sedikit, interaksi melalui “pen” (atau  stylus).  wireless, warna, memory yang lebih besar, CPU 
  •   Peningkatan dan OS yang lebih baik.
  •   Palmtop vs Handheld. 

Speech dan Natural Language
 Speech (Suara)  Adalah getaran pada suara menimbulkan bunyi “ahh”.   Mulut, tenggorokan, bibir membentuk bunyi.

Input speech:
  • Pengenalan speaker.
  •   Pengenalan suara.
  •   Pemahaman bahasa natural
  • Natural Language:
    •   Memberi arti  pada kata-kata.
    •  Input dapat berupa suara atau dari keyboard.
  • Keuntungan:
    •   Mudah dipelajari dan diingat.
    •   Lebih kuat.
    •   Cepat, efisien (tidak selalu).
    •   Layar yang kecil.
  • Kekurangan:
    •   Belum dapat bekerja dengan baik.
    •   Mengasumsikan pengetahuan dari permasalahan.
    •   Membutuhkan keahlian pengetikan. Peningkatan tidak terlihat.
    •   Implementasi membutuhkan biaya yang mahal.

PRINSIP-PRINSIP DESAIN ANTARMUKA

Merefleksikan model mental user
Merefleksikan model mental user adalah merefleksikan kombinasi pengalaman dunia riil, pengalaman dari software lain dan penggunaan komputer secara umum. Dalam user interface, istilah dialog hampir mirip dengan tingkat sintaksis, tetapi juga meliputi sifat-sifat leksikal.
Beberapa sifat penting yang perlu dimiliki oleh setiap ragam dialog adalah:

1. Inisiatif
Inisiatif merupakan sifat dasar dari sembarang dialog, karena inisiatif akan menentukan keseluruhan ragam komunikasi sehingga dapat ditentukan tipe-tipe pengguna yang dituju oleh sistem yang dibangun. Dua jenis inisiatif yang paling sering digunakan adalah inisiatif oleh komputer dan inisiatif oleh pengguna. Dalam inisiatif oleh komputer, pengguna memberikan tanggapan atas prompt yang diberikan oleh komputer untuk memasukkan perintah atau parameter perintah, biasanya berupa serangkaian pilihan yang harus dipilih (pilihan menu), atau sejumlah kotak yang dapat diisi dengan suatu nilai parameter (seperti pengisian borang), atau suatu pertanyaan yang jawabannya harus dinyatakan dengan cara tertentu, misalnya dengan ya/tidak atau dengan bahasa alamiah. Karakteristik utamanya adalah bahwa dialog itu terdiri atas sekumpulan pilihan yang telah didefinisikan sebelumnya. Sebaliknya, inisiatif oleh pengguna mempunyai sifat keterbukaan yang lebih luas: pengguna diharapkan memahami sekumpulan perintah yang harus ditulis menurut aturan (sintaks) tertentu.

2. Keluwesan
Sistem yang luwes atau fleksibel adalah sistem yang mempunyai kemampuan untuk mencapai suatu tujuan lewat sejumlah cara yang berbeda. Karakteristik penting dalam mencapai keluwesan suatu sistem adalah bahwa sistem harus dapat menyesuaikan diri dengan keinginan pengguna dan bukan pengguna harus menyesuaikan diri dengan kerangka sistem yang telah ditetapkan oleh perancang sistem. Keluwesan juga dapat dilihat dari adanya kesempatan bagi pengguna untuk melakukan customizing dan memperluas antarmuka dari sebuah sistem untuk memenuhi kebutuhan pribadinya.

3. Kompleksitas
Seorang perancang sistem tidak perlu membuat atau menggunakan antarmuka lebih dari apa yang diperlukan, karena tidak ada keuntungan yang dapat diperoleh, malahan akan menjadikan implementasinya menjadi lebih sukar.

4. Kekuatan
Kekuatan didefinisikan sebagai jumlah kerja yang dapat dilakukan oleh sistem untuk setiap perintah yang diberikan oleh pengguna.

5. Beban Informasi
Agar penyampaian informasi itu dapat berdaya guna dan berhasil guna, beban informasi yang terkandung didalam suatu ragam dialog seharusnya disesuaikan dengan tingkat pengguna. Jika beban itu terlalu tinggi, pengguna akan merasa sangat terbebani yang akan berakibat negatif dalam hal kemampuan pengolahan kognitif dan tingkah laku pengguna akan merasa bahwa sistemnya seolah-olah menyembunyikan kinerja penggunanya sendiri.

6. Konsistensi
Konsistensi harus diterapkan pada perancangan antarmuka pengguna. Contoh pada format pemasukan data dan format tampilan data.

7. Umpan Balik
Pada program komputer yang tidak ramah, pengguna sering harus menunggu proses yang yang sedang berjalan, sementara pengguna tidak mengetahui status proses saat itu, apakah sedang melakukan komputasi, sedang mencetak hasil, atau bahkan komputernya macet (hang) karena suatu sebab. Program yang baik akan selalu memberikan umpan balik kepada pengguna atas apa yang dikerjakan saat itu.

8. Observabilitas
Sistem dikatakan mempunyai sifat observabilitas apabila sistem itu berfungsi secara benar dan nampak sederhana bagi pengguna meskipun sesungguhnya pengolahan secara internalnya sangat rumit.

9. Kontrolabilitas
Kontrolabilitas merupakan kebalikan dari observabilitas, dan hal ini berimplikasi bahwa sistem selalu berada dibawah kontrol pengguna. Agar hal ini tidak tercapai, antarmukanya harus mempunyai sarana yang memungkinkan pengguna untuk dapat melakukan kendali.

10. Efisiensi
Efisiensi dalam sistem komputer yang melibatkan unjuk kerja manusia dan komputer secara bersama-sama adalah hasil yang diperoleh dari kerjasama antara manusia dan komputer. Sehingga, meskipun efisiensi dalam aspek rekayasa perangkat lunak sistem menjadi sangat penting jika mereka berpengaruh pada waktu tanggap atau laju penampilan sistem, seringkali perancang lebih memilih untuk memanfaatkan hasil teknologi baru untuk meminimalkan ongkos pengembangan sistem. Sebaliknya, tidak dapat dipungkiri bahwa biaya personal dari seorang ahli akan semakin meningkat dari waktu ke waktu.

11. Keseimbangan
Strategi yang diambil dalam perancangan sistem manusia komputer haruslah dapat membagi-bagi pekerjaan antara manusia dan komputer seoptimal mungkin. Manusia dapat menangani persoalan yang berurusan dengan perubahan lingkungan, pengetahuan yang tidak pasti dan tidak lengkap, sementara komputer lebih cocok untuk pekerjaan yang bersifat perulangan dan rutin, penyimpanan dan pencarian kembali data secara handal dan memberikan hasil komputasi yang sangat akurat dalam hal pengolahan numerik dan logika.
Explicit and Implicit Action
Explicit Action adalah kondisi yang jelas dalam memberikan petunjuk untuk memanipulasi suatu obyek. Implicit Action adalah kondisi yang hanya memberikan kesan visual untuk memanipulasi obyek

Direct Manipulation
User mendapatkan dampaknya dengan segera setelah melakukan suatu aksi

User Control
mengijinkan user mengontrol dan menginisialisasi aksi

Feedback and Communication
selalu memberitahukan user apa yang terjadi dari suatu aksi.

Consistency
user dapat mentransfer pengetahuan dan kemampuan dari suatu aplikasi ke aplikasi lain

WYSYWIG (What You See Is What You Get)
tidak ada perbedaan antara yang dilihat di layar dengan hasil outputnya.

Aesthetic Integrity
informasi diorganisasikan dengan baik dan konsisten dengan prinsip desain visual yang baik.


MENGEMBANGKAN SOFTWARE YANG BAIK
Untuk mengembangkan software yang baik dibutuhkan beberapa faktor yang dibutuhkan, yaitu:
  •  High Performance –> software yang dibuat mempunyai performance yang tinggi, walaupun digunakan oleh beberapa user.
  •  Mudah digunakan –> software yang dibuat mempunyai sifat easy to use(mudah digunakan) sehingga tidak membutuhkan proses yang lama untuk mempelajarinya.
  •  Penampilan yang baik–> software mempunyai antarmuka (interface) yang baik, sehingga user tidak merasa jenuh.
  •   Reliability –> kehandalan, sejauh mana suatu software dapat diharapkan untuk melakukan fungsinya sesuai dengan ketelitian yang diperlukan.
  •    Mampu beradaptasi –> sejauh mana software yang dibuat mampu beradaptasi dengan perubahan-perubahan teknologi yang ada.
  •     Interoperability –> software yang dibuat haruslah mampu berinteraksi dengan aplikasi lain. Biasanya dapat dilihat dari adanya fasilitas untuk eksport dan import data dari aplikasi lain.
  •   Mobility –> software yang dibuat dapat berjalan pada bermacam-macam sistem operasi.

MENGAMBIL KEPUTUSAN DALAM DESAIN
Dalam desain sebuah software ada beberapa hal yang harus diambil sebuah keputusan jika terjadi sesuatu seperti berikut:
1. Aplikasi semakin membesar dan menjadi semakin lamba
2. User interface pada aplikasi semakin kompleks
3. Waktu yang diperlukan untuk mengembangkan fitur baru menjadi lebih lama
4. Dokumentasi aplikasi dan dokumen help menjadi lebih melebar.
5. Resiko adanya efek pada fitur yang sudah ada
6. Meningkatkan waktu yang diperlukan untuk memvalidasi aplikasi

MENDESAIN LAYOUT MODEL APLIKASI

Ada 3 macam model aplikasi
1. Berbasis Dokumen –> Aplikasi ini menghasilkan sebuah dokumen berupa file-file yang nantinya bisa dibuka dan dirubah kembali jika perlu. Aplikasi yang berbasis dokumen misalnya: Microsoft Word, Microsoft Excel, Open Office, Corel Draw, Photoshop, dll.

2. Berbasis Non Dokumen –> Aplikasi ini sifatnya tidak menghasilkan dokumen yang bisa dibuka dan dirubah kembali. Contoh dari aplikasi berbasis non dokumen ini adalah: Microsoft Outlook, MySQL, MYOB, dll

3. Utilitas –> Aplikasi ini sifatnya adalah untuk penunjang saja (sifatnya hanya tambahan). Ada kecenderungan aplikasi seperti ini menekankan pula pada style disamping fitur aplikasi. Contoh dari aplikasi ini adalah seperti aplikasi untuk mendengarkan musik atau menonton video (Winamp, Media Player, PowerDVD), aplikasi untuk anti virus (Kaspersky, Norton, F-Secure).

ATURAN DALAM PERANCANGAN DIALOG
1.      Pegang Teguh Konsistensi
Informasi disusun dalam formulir-formulir, nama-nama dan susunan menu, ukuran dan bentuk dari ikon, dll, semuanya harus konsisten diseluruh sistem.

Konsisten mengijinkan banyak aksi menjadi otomatis
•Jika ada aplikasi baru hadir dengan fungsi yang berbeda akan menyebabkan user harus mempelajari kembali operasi-operasi yang dilakukan
•Misal: konsistensi di dalam menu bar untuk File, Edit dan Format
2.      Sediakan Short Cut Bagi Pengguna Aktif
•User yang bekerja dengan satu aplikasi dalam seluruh waktunya akan menginginkan penghematan waktu dengan memanfaatkan short cut
•User mulai hilang kesabaran dengan urutan menu panjang ketika mereka sudah tahu pasti apa yang mereka kerjakan
•Short cut keys dapat mereduksi jumlah interaksi untuk tugas yang diberikan
•Designer dapat menyediakan fasilitas makro bagi user untuk membuat short cuts bagi dirinya sendiri
•Dengan short cut membuat user lebih produktif

3.      Sediakan Feedback yang Informatif
Setiap aksi dari user harus ada feedback dari komputer untuk menunjukkan hasil dari aksi tersebut.
•Misal: jika user meng-”click” sebuah button harus secara visual ada perubahan bentuk atau bisa berupa bunyi yang mengindikasikan komputer telah meresponnya
•Informasi feedback sangat penting bagi user, misal: Jika komputer sedang melakukan proses tertentu, maka perlu ada informasi

4.      Sediakan Error Handling yang Mudah
•Error dapat menjadi masalah yang serius, sehingga designer harus mencoba mencegah user membuat error
•Ketika errors terjadi perlu cara mengatasinya:
•Pesan error harus dinyatakan secara jelas apa kesalahannya dan menerangkan bagaimana kesalahan tersebut terjadi
•Hindari pesan yang menakutkan atau menyalahkan user seperti: “FATAL ERROR 2005”
•Juga sediakan informasi yang memudahkan untuk mengoreksi error tersebut, mis: “the date of birth entered is not valid. Check to be sure only numeric characters in appropriate ranges are entered in the date of birth fields….”

5.      Ijinkan Pembatalan Aksi
•User memerlukan bahwa ketika mereka sudah memilih opsi dan membuat aksi, aktivitas itu dapat dibatalkan atau kembali ke kondisi sebelumnya dengan mudah
•Mengijinkan user untuk belajar tentang sistem dengan melakukan eksplorasi
•Jika mereka melakukan kesalahan, mereka dapat membatalkan aksinya
•Jika user akan menghapus sesuatu yang substansial (mis: sebuah file), sistem harus meminta konformasi terhadap aksi tersebut.

6.      Sediakan Fasilitas Bantuan (Help)
User yang berpengalaman menginginkan bahwa mereka yang mengendalikan sistem dan sistem merespon mereka. Segala sesuatu yang mereka tidak tahu rasanya ingin segera mendapat jawabannya, oleh sebab itu fasilitas “help” penting untuk menolongnya agar segera mendapatkan solusi.

7.      Kurangi Muatan Short-Term Memory
•Orang mempunyai keterbatasan pada short-term memory-nya
•Orang hanya mengingat sekitar 7 chunk informasi pada satu saat
•User yang tidak berpengalaman ketika mengalami kesulitan dalam mengeksplorasi sistem juga perlu mendapat pertolongan yang mudah dan sederhana, fasilitas “help” yang lengkap, mudah dioperasikan akan menolong mereka mengatasi kesulitannya.

2 komentar: