Desain dan Notasi Dialog
Eksplorasi komprehensif tentang struktur dialog, sistem notasi, dan metode formal untuk merancang dan mendeskripsikan percakapan manusia-komputer.
Apakah Dialog itu?
Dialog adalah percakapan antara dua pihak atau lebih. Dialog juga dapat mengimplikasikan kerjasama atau setidaknya keinginan untuk menyelesaikan konflik. Pada perancangan antarmuka pengguna, dialog memiliki arti yang lebih spesifik, yaitu struktur percakapan antara pengguna dan sistem komputer.
Level Sintaksis Dialog
Dialog adalah level sintaksis dari interaksi manusia dan komputer. Notasi dialog dapat berupa:
- Diagramatik: Mudah dibaca.
- Tekstual: Mudah untuk dilakukan analisis formal.
Ruang Lingkup Dialog
Dialog berkaitan dengan:
- Semantik sistem: Apa yang dilakukan oleh sistem.
- Presentasi: Bagaimana tampilan sistem.
Analisis Deskripsi Formal
Deskripsi formal dapat dianalisis terhadap:
- Aksi yang tidak konsisten.
- Aksi yang sulit dikembalikan.
- Item yang hilang.
- Kesalahan dalam memencet tombol.
Bahasa Komputer
Bahasa komputer dibagi menjadi 3 tingkatan:
- Leksikal Tingkat paling rendah: bentuk ikon pada layar, tombol yang ditekan. (Pada bahasa manusia, ekuivalen dengan bunyi dan ejaan suatu kata.)
- Sintaksis Urutan dan struktur dari input dan output. (Pada bahasa manusia, ekuivalen dengan tata bahasa suatu kalimat.)
- Semantik Arti dari percakapan yang berkaitan dengan pengaruhnya pada struktur data internal komputer dan/atau dunia eksternal. (Pada bahasa manusia, ekuivalen dengan arti yang dipahami peserta percakapan.)
Dialog dalam Antarmuka Pengguna
Dalam antarmuka pengguna, dialog umumnya dianggap sinonim/ekuivalen dengan tingkatan sintaksis. Namun, batasan antara leksikal dan sintaksis tidak begitu jelas, dan deskripsi dialog seringkali meliputi sifat-sifat leksikal.
Karakteristik Dialog Komputer
- Partisipan harus menyebutkan dialognya dalam urutan tertentu.
- Beberapa dialog telah ditetapkan sebelumnya.
- Beberapa bagian dialog dilakukan secara concurrently.
- Dialog berikutnya tergantung dari respons partisipan.
- Dialog mungkin tidak mengakomodasi semua kejadian yang mungkin.
- Deskripsi dialog fokus pada level sintaksis, bukan langsung ke semantik.
Perancangan Dialog
Beberapa hal yang perlu diperhatikan:
- Rangkaian dialog menggambarkan struktur tugas.
- Rangkaian dialog tambahan untuk dukungan pengguna (sistem bantuan, tutorial).
- Urutan dialog mengikuti struktur tugas.
Prinsip Desain Dialog
- Pisahkan sistem menjadi modul-modul.
- Contoh: sistem pemesanan buku di perpustakaan dipecah menjadi:
- Modul 1: Detail peminjam
- Modul 2: Reservasi buku
Mendesain Sebuah Dialog
Mengapa deskripsi dialog terpisah dari program?
- Memudahkan analisis.
- Memisahkan elemen antarmuka dari logika (semantik).
- Jika notasi dialog ditulis sebelum pemrograman, desainer dapat menguji prototipe dialog.
- Notasi dialog menjadi media diskusi tim dan panduan bagi programmer.
Notasi Diagramatik
Bentuk paling umum untuk desain dialog. Kelebihan: Struktur dialog terlihat sekilas. Kekurangan: Sulit menjelaskan dialog yang luas/kompleks.
Contoh Notasi Diagramatik
- State Transition Network (STN)
- Hierarchical State Transition Networks (HSTN)
- Harel's State Charts
- Flowcharts
- JSD Diagrams
State Transition Network (STN)
- Lingkaran: State (keadaan) sistem.
- Panah (transisi): Label menjelaskan aksi pengguna dan respons sistem.
Fitur STN:
- Sequence: Urutan aksi dan respons.
- Choice: Pengguna memilih aksi berbeda.
- Iteration: Transisi kembali ke state sama.
- Concurrent dialogues: Menggambarkan aksi bersamaan (checkbox, style teks).
Hierarchical State Transition Network (HSTN)
Mirip STN, tetapi dengan composite state (persegi panjang) yang merinci submenu.
Harel's State Charts
Dirancang untuk sistem reaktif kompleks dengan hirarki dan konkurensi dalam satu diagram.
Flowchart
- Kotak merepresentasikan proses atau keputusan.
- Lebih mencerminkan sudut pandang programmer.
JSD Diagrams
Biasa untuk sistem informasi berbasis menu sederhana.
Notasi Dialog Tekstual
Tata Bahasa (Grammars)
Format formal: BNF, regular expression.
Production Rules
Daftar aturan "jika kondisi maka aksi". Baik untuk konkurensi, kurang ideal untuk urutan.
CSP & ISL
- CSP: Fokus urutan dialog murni.
- ISL: Mendeskripsikan semantik bebas dari target implementasi.
Action Properties
Karakteristik aksi dialog pengguna:
- Kelengkapan (Completeness) Mengantisipasi aksi normal dan kondisi khusus/tidak terduga.
- Deterministik (Determinism) Perilaku sistem dapat diprediksi; aturan prioritas jika banyak transisi.
- Konsistensi (Consistency) Aksi sama di situasi berbeda memberi hasil serupa. Contoh inkonsistensi: Tombol 'Tab' berfungsi berbeda di dialog box.
Ringkasan
Desain dan notasi dialog menyediakan kerangka kerja esensial untuk menyusun, menganalisis, dan mengimplementasikan percakapan manusia-komputer. Metode formal ini memungkinkan desainer menciptakan pola interaksi yang dapat diprediksi, konsisten, dan efektif.
Poin-Poin Utama:
-
Komunikasi Multi-Level: Bahasa komputer beroperasi pada level leksikal (visual/fisik), sintaksis (struktural), dan semantik (bermakna), dengan dialog terutama menangani masalah sintaksis.
-
Manfaat Deskripsi Formal: Memisahkan deskripsi dialog dari implementasi memungkinkan analisis, prototyping, komunikasi tim, dan identifikasi sistematis terhadap inkonsistensi atau elemen yang hilang.
-
Diagramatik vs. Tekstual: Dua pendekatan notasi yang saling melengkapi melayani tujuan berbeda:
- Diagramatik (STN, HSTN, State Charts) memberikan kejelasan visual dan pemahaman langsung
- Tekstual (grammar, production rules, CSP/ISL) memungkinkan analisis formal dan spesifikasi yang presisi
-
Pemodelan Berbasis State: Sebagian besar notasi dialog menggunakan konsep transisi state untuk merepresentasikan kondisi sistem dan kemungkinan aksi pengguna, mendukung sequence, choice, iteration, dan concurrency.
-
Organisasi Hierarkis: Sistem kompleks mendapat manfaat dari pendekatan hierarkis (HSTN, Harel's State Charts) yang mengelola kompleksitas melalui dekomposisi dan nested states.
-
Prinsip Desain: Desain dialog yang efektif memerlukan:
- Pemisahan modular komponen sistem
- Organisasi sequence berorientasi tugas
- Dukungan untuk operasi normal dan bantuan pengguna
- Pertimbangan kemungkinan dialog konkuren
-
Properti Aksi: Sistem dialog yang robust harus memastikan:
- Kelengkapan: menangani semua kemungkinan aksi pengguna dan edge cases
- Determinisme: respons sistem yang dapat diprediksi dengan aturan prioritas yang jelas
- Konsistensi: aksi serupa menghasilkan hasil serupa di berbagai konteks
-
Independensi Implementasi: Notasi dialog yang baik mengabstraksi pola interaksi dari detail implementasi spesifik, memungkinkan reuse dan analisis di berbagai platform.
-
Integrasi Dukungan Pengguna: Desain dialog harus mengakomodasi tidak hanya alur tugas utama tetapi juga sistem bantuan, tutorial, dan mekanisme pemulihan kesalahan.
-
Interaksi Konkuren: Antarmuka modern memerlukan sistem notasi yang dapat merepresentasikan aksi pengguna simultan dan thread dialog paralel.
Memahami desain dan notasi dialog memungkinkan penciptaan sistematis antarmuka pengguna yang terasa alami, dapat diprediksi, dan efisien. Dengan menerapkan metode formal pada desain percakapan, tim dapat mengidentifikasi masalah lebih awal, mengkomunikasikan keputusan desain dengan jelas, dan menciptakan implementasi yang benar-benar mendukung tujuan dan model mental pengguna.