Rabu, 05 Juni 2013

Dialog pada IMK

DIALOG PADA 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. 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: 1. Rangkaian dialog menggambarkan struktur tugas. 2. Beberapa rangkaian dialog tambahan digunakan untuk user support, misalnya: help system, tutorial sub-sistem. 3. 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. Empat hal utama dalam desain yang harus diperhatikan dalam GUI metaphor: - Pemilihan dan representasi dari conceptual metaphor. - Representasi dari obyek interaktif dalam metaphor. - Perancangan manipulasi untuk mengimplementasikan user action. - Desain micro-metaphor untuk control action dan representasi dari commands. Dalam mendesain dialog, diperlukan deskripsi yang terpisah dari program secara keseluruhan. Mengapa perlu digunakan notasi deskripsi dialog yang terpisah? - 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 1. 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. 2. WIMP (Window, Icon, Menu, Pointer) Berfokus pada Menus, Buttons, Forms, Icons. 3. Direct Manipulation Definisi: - Kesinambungan tampilan dari objek-objek dan aksi-aksi yang dilakukan. - Cepat, dapat dikembalikan, peningkatan aksi dimana efeknya dapat segera terlihat. - Penggantian dari sintaks command language dengan manipulasi langsung pada objek. 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. 4. 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.

Selasa, 04 Juni 2013

Help document

Tipe-tipe Kesalahan (Errors):
• Kesalahan Persepsi
• Kesalahan Kognitif
• Kesalahan Motor (Gerak)
Panduan Pencegahan Kesalahan
- Menghapus mode-mode atau menyediakan petunjuk yang terlihat untuk mode-mode tersebut.
- Gunakan teknik koding yang baik (warna, gaya).
- Memaksimalkan pengenalan, mengurangi hafalan.
- Merancang urutan gerak atau perintah yang tidak sama.
- Mengurangi kebutuhan untuk mengetik.
- Uji dan memantau kesalahan-kesalahan dan memperbaikinya.
- Memungkinkan pertimbangan ulang aksi-aksi yang dilakukan oleh user, misalnya memindahkan file dari recycle bin. Panduan Recovery Kesalahan
- Menyediakan tipe-tipe tanggapan yang sesuai.
- Query: bertanya pada user apa yang sudah dilakukan, kemudian melegalkan tindakan yang salah.
- Menyediakan fungsi “undo” dan pembatalan dari proses yang sedang berjalan.
- Meminta konfirmasi untuk perintah yang drastis dan bersifat merusak.
- Menyediakan pengecekan yang beralasan pada masukan data.
- Mengembalikan kursor ke area kesalahan, memungkinkan untuk melakukan perbaikan.
- Menyediakan beberapa kecerdasan buatan.
- Menyediakan akses cepat kepada bantuan untuk konteks-sensitif. JENIS-JENIS DARI DOKUMENTASI/HELP
- Tidak pernah suatu penggantian untuk desain tidak baik, tetapi penting. - Sistem sederhana
-user memanggil dan menggunakannya, berikan nama.
- Hampir sebagian sistem dengan banyak fitur membutuhkan help/bantuan.
Empat Jenis Bantuan Yang Dibutuhkan User:
• Quick Reference Digunakan sebagai pengingat untuk user dari suatu yang detail yang secara dasar sangat familiar dan biasa digunakan.
• Task-Spesifik Help Digunakan untuk membantu user menghadapi masalah atau tidak pasti mengambil tindakan dalam memecahkan masalah yang khusus.
• Full Explanation Suatu alat bantu atau perintah yang dapat membantu memahami secara lengkap.
• Tutorial Khusus untuk user baru yang menyediakan perintah secara step by step. Kebutuhan Dari User Support:
• Availability User dapat menggunakan bantuan pada setiap waktu selama berinteraksi dengan sistem.
• Accuracy dan Compieteness Bantuan ini seharusnya menyiapkan keakuratan dan kelangkapan sistem bantuan.
• Consistency User membutuhkan jenis-jenis yang berbeda dari bantuan untuk digunakan pada kegunaan yang berbeda. Hal ini dapat secara tidak langsung menyebabkan sistem bantuan tidak dapat bekerja. Sistem bantuan harus konsisten terhadap semua sistem yang ada dan juga pada sistem itu sendiri.
• Robustness Sistem bantuan ini biasanya digunakan oleh orang yang sedang dalam kesulitan, karena sistem mempunyai perilaku yang tidak dia harapkan atau mempunyai kesalahan. Hal ini sangat penting dimana sistem bantuan seharusnya kuat, baik dalam hal menangani kesalahan dan perilaku yang tidak diharapkan.
• Flexibility Sistem bantuan yang fleksibel akan membuat setiap user dapat berinteraksi dalam mencari sesuatu yang dibutuhkannya.
• Unobtrusiveness Sistem ini seharusnya tidak mencegah user dalam melanjutkan pekerjaannya. Pendekatan-pendekatan User Support:
• Commad Assistance Pendekatan yang umum untuk user support adalah menyediakan bantuan pada level command, user yang membutuhkan bantuan pada command yang khusus dan ditampilkan pada layar bantuan atau pada manual page yang menjelaskan tentang command tersebut. Contoh: pada UNIX man help dan DOS help command.
• Commad Prompt Menyediakan bantuan ketika user menemukan kesalahan yang sering terjadi dalam bentuk prompt perbaikan.
• Context-Sensitive Help Berbentuk menu based system yang menyediakan bantuan pada menu option. Contoh: editor help command dan machintos ballon help.
• On-line Tutorial Mengijinkan user bekerja melalui aplikasi dasar dengan lingkungan percobaan. User dapat melihat kemajuan sesuai dengan kecepatan dan dapat mengulangi bagian dari tutorial yang dia inginkan. Kebanyakan on-line tutorial tidak mempunyai intelligent, karena tidak mempunyai pengetahuan tentang user dan pengalaman user sebelumnya.
• On-line Documentation Membuat efektif dengan membuat dokumentasi tersedia di komputer.
• Intelligent Help System Dioperasikan untuk memonitoring aktifitas user danmengkonstruksikan model sesuai dengan user. Model ini termasukpengalaman, preferences, kesalahan user atau kombinasi darisemuanya. Masalah lain: - Inisiatif Haruskan user mempertahankan pengawasan yang lengkap terhadap sistem, haruskah sistem langsung berinteraksi atau haruskah penggabungan dialog didukung? - Effect Para perancang seharusnya memperhatikan efek dari modelling dan adaptasi. - Scope Para perancang perlu memperhatikan scope dari bantuan dimana digunakan pada level aplikasi atau sistem yang luas.

Senin, 03 Juni 2013

Prototyping

Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Seing terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer. Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalm menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan. Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan. Tahapan-tahapan Prototyping Tahapan-tahapan dalam Prototyping adalah sebagai berikut: 1. Pengumpulan kebutuhan Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat. 2. Membangun prototyping Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output). 3. Evaluasi protoptyping Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3. 4. Mengkodekan sistem Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai. 5. Menguji sistem Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain. 6. Evaluasi Sistem Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Juka ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5. 7. Menggunakan sistem Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan. Keunggulan dan Kelemahan Prototyping. Keunggulan prototyping adalah: 1. Adanya komunikasi yang baik antara pengembang dan pelanggan 2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan 3. Pelanggan berperan aktif dalam pengembangan sistem 4. Lebih menghemat waktu dalam pengembangan sistem 5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya. Kelemahan prototyping adalah : 1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama. 2. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem. 3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik Prototyping bekerja dengan baik pada penerapan-penerapan yang berciri sebagai berikut: 1. Resiko tinggi Yaitu untuk maslaha-masalah yang tidak terstruktur dengan baik, ada perubahan yang besar dari waktu ke waktu, dan adanya persyaratan data yang tidak menentu. 2. Interaksi pemakai penting . Sistem harus menyediakan dialog on-line antara pelanggan dan komputer. 3. Perlunya penyelesaian yang cepat 4. Perilaku pemakai yang sulit ditebak 5. Sitem yang inovatif. Sistem tersebut membutuhkan cara penyelesaian masalah dan penggunaan perangkat keras yang mutakhir 6. Perkiraan tahap penggunaan sistem yang pendek prototype merupakan alat yang mensimulasikan beberapa (tidak semua) fitur dari sistem yang akan dibuat. Terdapat tiga pendekatan utama prototyping, yaitu : • Throw-away : prototype dibuat dan ditest. Pengalaman yang diperoleh dari pembuatan prototype tersebut digunakan untuk membuat produk akhir (final), kemudian prototype tersebut dibuang (tak dipakai) Gambar 3.4 Prototype Model Throw-away • Incremental : produk finalnya dibuat sebagai komponen-komponen yang terpisah. Desain produk finalnya secara keseluruhan hanya ada satu, tetapi dibagi-bagi dalam komponen-komponen lebih kecil yang terpisah (independent). Gambar 3.5 Prototype Model Incremental • Evolutionary : Pada metode ini, prototypenya tidak dibuang tetapi digunakan untuk iterasi desain berikutnya. Dalam hal ini, sistem atau produk yang sebenarnya dipandang sebagai evolusi dari versi awal yang sangat terbatas menuju produk final atau produk akhir. Gambar 3.6 Prototype Model Evolutionary Disisi manajemen, terdapat beberapa masalah potensial yang terkait dengan prototyping, seperti : • Waktu, membangun prototype membutuhkan waktu, sehingga seringkali prototype dipakai jika waktunya cepat. Hingga muncul istilah rapid prototyping. • Rencana, sebagian manajer proyek tidak memiliki pengalaman untuk menyatukan proses prototyping dengan keseluruhan rencana perancangan. • Fitur Non-fungsional, seringkali fitur sistem yang paling penting merupakan fitur non-fungsional seperti safety dan reliability, tidak disertakan dalam prototyping. • Kontrak, proses desain kadang dibatasi oleh kontrak antara desainer dengan customer yang mempengaruhi aspek tehnik dan manajerial. Tehnik-tehnik Prototyping Terdapat beberapa tehnik yang dapat dipergunakan untuk membuat rapid prototype, seperti : • Storyboard, adalah bentuk prototype yang paling sederhana berupa gambaran secara grafis dari tampilan sistem yang akan dibangun tanpa fungsi dari sistem. • Simulasi Fungsi Terbatas, fungsi sistem disertakan pada prototype tidak sekedar gambar tampilannya saja. • High-level Programming Support, HyperTalk adalah contoh dari special-purpose high-level programming language yang memudahkan desainer membuat fitur tertentu dari sebuah sistem interaktif.