Jumat, 26 Juni 2015

Penanganan kesalahan dan help - dokumentasi

Penanganan Kesalahan
Hampir tidak ada sistem yang berjalan sempurna sebelum melewati berbagai rentetan kesalahan. Semakin besar sistem yang dibuat, semakin banyak kesalahan yang dapat timbul.
Help Dan Dokumentasi
Rancangan sistem yang baik adalah rancangan di mana pengguna dapat langsung menggunakan sistem dengan mudah tanpa pelatihan dan program bantuan sama sekali. Tetapi sangat lebih membantu pengguna bila program bantuan (help) tetap disediakan ke dalam sistem. Sistem dukungan pengguna dapat berupa sistem bantuan (Help) dan dokumentasi. Perbedaan sistem bantuan (help) dan dokumentasi adalah bahwa sistem bantuan berorientasi terhadap masalah khusus, sedangkan dokumentasi berorientasi kepada sistem dan sifatnya umum.
Tipe-tipe Kesalahan (Errors)
·         Kesalahan Persepsi
Gagal menangkap informasi
Gagal menangkap perhatian pengguna
·         Kesalahan Kognitif
 Ketidak adaan bantuan
 Inkonsisten
 Ketidak adaan status informasi
·         Kemampuan yang kurang
Kesalahan Motor (Gerak)
 Lemahnya kondisi mata dan tangan
 Tekanan kecepatan
 Memerlukan kemampuan yang tinggi tapi pada koordinasi tanagan dan mata
 Memerlukan jenis kealihan lain


Tipe-tipe Slip
·         Kesalahan Capture             
·         Kesalahan karena terlalu sering atau kebiasaan.
Kesalahan Deskripsi
·         Kesalahan dalam melakukan aksi pada objek yang salah.
Kesalahan Data Driven
·         Kesalaha karena pengaruh data dari area edit
Pengaktifan Asosiatif
·         Kesalahan karena pengaruh data yang ada dipikirkan pada saat ini.
Hilangnya Pengaktifan
·         Kesalahan karena lupa apa yang harus dilakukan.
Kesalahan Mode
 Kesalahan akibat lupa pada mode yang sedang dilakukan

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 dokumen dan alat bantu
·         Tidak pernah suatu penggantian untuk desain tidak baik, tetapi penting.
·          Sistem sederhana -> user memanggil dan menggunakannya, berikan nama.
·         Hampir sebagian sistem dengan banyak fitur membutuhkanhelp/bantuan.

Jenis-jenis Bantuan
·         Tutorial
Khusus untuk user baru yang menyediakan perintah secara step by step.

·         Review/Referensi yang cepat
Digunakan sebagai pengingat untuk user dari suatu yang detail yang secara dasar sangat familiar dan biasa digunakan.
·         Manual Referensi (Penjelasan lengkap)
Suatu alat bantu atau perintah yang dapat membantu memahami secara lengkap.
·         Bantuan untuk context-sensitive (spesifikasi tugas)
Digunakan untuk membantu user menghadapi masalah atau tidak pasti mengambil tindakan dalam memecahkan masalah yang khusus.


Sumber :

http://febriani.staff.gunadarma.ac.id/Downloads/files/10585/Penanganan+Kesalahan+dan+Help+Dokumentasi.pdf.

Desain Dialog

Desain dialog
Dalam mendesain sebuah dialog, diperlukan deskripsi yang terpisah dari program secara keseluruhan. Ada beberapa alasan yang mendasari hal tersebut, antara lain :
a. Agar lebih mudah dianalisa
b. Pemisahan elemen-elemen interface dari logika program (semantik)
c. 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.
d. Notasi dialog dapat digunakan sebagai salah satu cara bagi anggota tim perancangan untuk mendiskusikan rancangan dialog dan pada akhirnya diberikan kepada programmer aplikasi.
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 padastruktur
    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 style
Ragam Dialog (DIalogue Style) adalah cara yang digunakan untuk mengorganisasikan berbagai tehnik dialog.
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. Tabel berikut menunjukkan kecakapan relatif manusia dan computer.

User interface sofware

·         Aplikasi apa yang biasa digunakan oleh programmer untuk membuat program.
·         Kombinasi dari objek-objek interface dan perilaku manajemen.
·         Sekarang sudah object-oriented.
·         Pustaka dari komponen-komponen perangkat lunak dan routines yang digunakan oleh programmer
Contoh window developer toolkit


Sumber :
ftp://openstorage.gunadarma.ac.id/handouts/S1.../Notasi%20Dialog.doc
staff.uny.ac.id/sites/...Si..../HCI-9%20Notasi%20Desain%20dialog.pdf

febriani.staff.gunadarma.ac.id/Downloads/files/10584/Dialog+Desain.pdf

Prototyping

Prototyping
Prototyping adalah merupakan salah satu metode pengembangan perangat lunak yang banyak
digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling
berinteraksi selama proses pembuatan sistem.
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.





Rapid prototyping
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.
Penerapan
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
1.     Component based construction ( pemrograman berbasis komponen bukan prosedural).
2.     Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
3.     Pembangkitan kode program otomatis/semi otomatis.
4.     Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
Jika keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas, maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat.
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul sistem.
Kelemahan dan kelebihan
Beberapa hal (kelebhan dan kekurangan) yang perlu diperhatikan dalam implementasi pengembangan menggunakan model RAD :
1.     Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
2.     Model ini cocok untuk proyek dengan skala besar.
3.     Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
4.     kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
5.     sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
6.     penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
7.     proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
8.     risiko teknis yang tinggi juga kurang cocok untuk model ini.




Dimensi Prototyping

1. Representasi
Dari sebuah prototyping dapat dipertanyakan apakah hasilnya nanti akan dipresentasikan dalam sebuah konteks tekstual (kata-kata berbentuk narasi) atau dilengkapi dengan tampilan visual setra diagram yang mendukung alur proses dari sebuah aplikasi.

2. Jangkauan
Prototyping dapat berupa tampilan antar muka secara umum dan juga bisa dilengkapi dengan tampilan yang telah dilengkapi dengan contoh perhitungan ataupun tampilan data.

3. Eksekutabilitas
Dalam dimensi ini, prototyping dengan kategori kompleks dapat berupa sebuah contoh program “setengah jadi” yang benar-benar dapat dieksekusi atau dijalankan, sehingga terbentuk sebuah simulasi yang seakan-akan nyata bagi para pengguna.

4. Pematangan
Prototyping dapat melalui tahap-tahap tertentu hingga mencapai sebuah tahap yang dianggap “matang” sebelum memulai sebuah proses pembuatan.
·                     Revolusioner: mengganti yang lama.
·                     Evolusioner : terus melakukan perubahan pada perancangan yang sebelumnya.

Metode Rapid Prototyping

Metode prototype melibatkan user secara langsung dengan analisis dan perancangan, sangat efektif untuk pengoreksian sistem. Prototypemerupakan sistem yang berjalan (bukan hanya sekedar ide diatas kertas) yang dibangun untuk menguji ide dan asumsi mengenai sistem. Sama halnya seperti sistem berbasis komputer, yang berisi software yang berjalan yang menerima input, menampilkan kalkulasi dan menghasilkan output tercetak maupun tampilan informasi atau menampilkan aktivitaspenting lainnya.Rancangan dan informasi yang dihasilkan di evaluasi olehuser, akan lebih efektif jika digunakan data dan situasi yang sesungguhnya. Perubahan sangat diperlukan hingga sistem digunakan.Secara umum analis sistem menetapkan prototype menjadi metode yang paling tepat untuk dilaksanakan jika :
1.      Belum ada sistem dengan karakteristik yang sama dengan sistem yang diajukan yang pernah dikembangkan oleh pengembang.
2.      Fungsi utama dari sistem hanya diketahui sebagian, selebihnya tidak teridentifikasi melalui analisis kebutuhan.
3.      Pengalaman dalam menggunakan sistem yang secara signifikan ditambahkankedalam daftar kebutuhan yang harus dipenuhi oleh sistem.
4.      Versi alternatif dari sistem yang akan dikembangkan melalui pengalaman danpengembangan tambahan dan perbaikan fitur.
5.      Pengguna user ikut berpartisipasi dalam proses pengembangan.




Terminologi Prototyping
1. Prototyping Horisontal
    Sangat luas, mengerjakan atau menunjukkan sebagian besar interface, tapi tidak mendalam.

2. Prototyping Vertikal
   Lebih sedikit aspek atau fitur dari interface yang disimulasikan, tetapi dilaksanakan dengan rincian yang   sangat baik.

3. Early Prototyping (prototipe cepat)
Beberapa keuntungan dari sistem prototipe cepat:

a. Pengurangan biaya proyek dan risiko.
b. Dapat digunakan pada industri yang berbeda.
c. Mudah kesalahan dalam desain sebelumnya dapat dideteksi dan kesalahan dapat diperbaiki.
d. Hanya lengkap kepuasan atas produk yang lengkap ini dirancang. Faktor-faktor seperti manufacturability, ketahanan dan fungsionalitas desain diperiksa sebelum mengirimnya untuk produksi.
e. Greater ditingkatkan kemampuan visualisasi langsung dari tahap pertama jika merancang. Ini membantu user dalam mengetahui bagaimana produk akhir akan terlihat seperti.
f. Semua kekurangan mendesain dapat dideteksi dengan mudah sebelum pembuatan produk dimulai.
g. Produsen, desainer dan user dapat membahas produk dan bekerja ke depan untuk mendapatkan produk yang terbaik. Ini membantu untuk memberikan pengguna produk keluaran yang lebih tinggi.

Sumber :
https://id.wikipedia.org/wiki/Rapid_application_development
http://fenni.staff.gunadarma.ac.id/Downloads/files/11018/Prototyping.pdf
agungsr.staff.gunadarma.ac.id/Downloads/files/.../PROTOTYPING.doc


Ida Ayu Yulie Primashanti, 2008 , “Interaksi Manusia dan Komputer” : Teori Dasar, Universitas Gunadarma, Kelapa Dua, Jakarta.