Rabu, 01 Juli 2015

MINGGU KE 9



Penanganan Kesalahan & Help Dokumentasi


Kesalahan dan Slip
Error (Kesalahan), tidak ada aplikasi yg berjalan sempurna sebelum melewati berbagai
rentetan kesalahan semakin besar aplikasi yang dibuat, semakin banyak kesalahan yang dapat
timbul.
Sebuah kompilator akan sering menemui program yang mengandung kesalahan, maka
kompilator harus memiliki strategi apa yang harus dilakukan untuk menangani kesalahan -
kesalahan tersebut
Sebuah kompilator akan sering menemui program yang mengandung kesalahan, maka kompilator harus memiliki strategi apa yang harus dilakukan untuk menangani kesalahan - kesalahan tersebut.

Jenis – jenis Kesalahan

Kesalahan Leksikal
Misalnya kesalahan mengeja keyword,
contoh: then ditulis ten
Kesalahan Sintaks
Misalnya pada operasi aritmatika kekurangan jumlah paranthesis (kurung).
contoh : A:=X+(B*(C+D)         
Kesalahan Semantik
Tipe data yang salah, misal tipe data integer digunakan untuk variabel string.
            Contoh :           Var      Siswa : Integer
                                                Siswa := 'Aka'              {tipe string}
Variabel belum didefinisikan tetapi digunakan dalam operasi.
            Contoh :           B := B + 1         {B belum didefinisikan}

Petunjuk Pencegahan Kesalahan
Petunjuk Pencegahan Kesalahan terdiri dari :
-Mendeteksi kesalahan
-Melaporkan kesalahan
-Tindak lanjut perbaikan / pemulihan

Pelaporan kesalahan yang dilakukan oleh sebuah kompilator yang menemukan kesalahan meliputi :
-Kode kesalahan
-Pesan kesalahan dalam bahasa natural
-Nama dan atribut identifier
-Tipe – tipe yang terkait bila type checking
Contoh : Error Message : Error 162  jumlah: unknown identifier
Kode kesalahan = 162
Pesan kesalahan = unknown identifier
Nama identifier = jumlah
Adanya pesan kesalahan tersebut akan memudahkan pemrogram dalam mencari dan mengoreksi sumber dari kesalahan.

Pada saat kompilator menemukan kesalahan terdapat beberapa tingkatan reaksi diantaranya adalah :
Reaksi yang tidak dapat diterima (tidak melaporkan error)
-Kompilator crash : berhenti atau hang
-Looping : kompilator masih berjalan tapi tidak pernah berakhir karena looping tak berhingga (indefinite/onbounded loop)
-Menghasilkan program objek yang salah : kompilator melanjutkan proses sampai selesai tapi program objek yang dihasilkan salah. Ini berbahaya bila tidak diketahui pemrogram, karena baru akan muncul saat program dieksekusi.

Reaksi yang benar tapi kurang dapat diterima dan kurang bermanfaat. Kompilator menemukan kesalahan pertama, melaporkannya, lalu berhenti (halt). Ini bisa muncul bila pembuat kompilator menganggap jarang terjadi kemunculan error dalam program sehingga kemampuan kompilator untuk mendeteksi dan melaporkan kesalahan hanya satu untuk setiap kali kompilasi. Pemrogram akan membuang waktu untuk melakukan pengulangan kompilasi setiap kali terdapat sebuah error.

Reaksi yang dapat diterima
-Reaksi yang sudah dapat dilakukan, yaitu kompilator melaporkan kesalahan / error, dan selanjutnya melakukan:
Recovery / pemulihan, lalu melanjutkan menemukan kesalahan / error yang lain bila masih ada.
Repair / Perbaikan kesalahan, lalu melanjutkan proses translasi dan menghasilkan program objek yang valid. Kebanyakan kompilator dewasa ini sudah memiliki kemampuan recovery dan repair.
-Reaksi yang belum dapat dilakukan, yaitu kompilator mengkoreksi kesalahan, lalu menghasilkan program objek sesuai dengan yang diinginkan pemrogram. Disini komputernya sudah memiliki kecerdasan untuk mengetahui maksud pemrogram. Tingkatan respon ini belum dapat diimplementasikan pada kompilator yang ada dewasa ini.

Petunjuk Memperbaiki Kesalahan

Tujuannya mengembalikan kondisi parser ke kondisi stabil (supaya bisa melanjutkan proses parsing ke posisi selanjutnya). Strategi yang dilakukan error recovery sebagai berikut :
-Mekanisme Ad Hoc
Recovery yang dilakukan tergantung dari pembuat kompilator sendiri/Spesifik, dan tidak terikat pada suatu aturan tertentu. Cara ini biasa disebut juga special purpose error recovery.

-Syntax Directed Recovery
Melakukan recovery berdasarkan syntax
Contoh : ada program
                                       begin
                                                   A:=A+1
                                                 B:=B+1;
                                                 C:=C+1
                                      end;
kompilator akan mengenali sebagai (dalam notasi BNF)
            begin < statement>?<statement>;<statement>end;
? akan diperlakukan sebagai “;”

-Secondary Error Recovery
Berguna untuk melokalisir kesalahan / error, caranya :
Panic mode
Maju terus dan mengabaikan teks sampai bertemu delimeter (misal ‘;’)
contoh :
                        IF A := 1
                            Kondisi := true;
Teks diatas terjadi kesalahan karena tidak ada instruksi THEN, kompilator akan maju terus sampai bertemu ‘;’
Unit deletion
Menghapus keseluruhan suatu unit sintaktik (misal: <block>,<exp>,<statement> dan sebagainya), efeknya sama dengan panic mode tetapi unit deletion memelihara kebenaran sintaksis dari source program dan mempermudah untuk melakukan error repairing lebih lanjut.

-Context Sensitive Recovery
            Berkaitan dengan semantik,misal bila terdapat variabel yang belum dideklarasikan(undifined variabel) maka diasumsikan tipenya berdasarkan kemunculannya.
Contoh :
                        B:= 'nama'
sementara diawal program variabel B belum dideklarasikan, maka  berdasarkan kemunculannya diasumsikan variabel B bertipe string.

Jenis-jenis document 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 membutuhkan
help/bantuan.

Jenis-jenis Bantuan:
- Tutorial
- Review/Referensi yang cepat
- Manual Referensi (Penjelasan lengkap)
- Bantuan untuk context-sensitive (spesifikasi tugas)
Ada sebagian pendapat menyatakan bahwa sistem yang interaktif
dijalankan tanpa membutuhkan bantuan atau training. Hal ini mungkin
ideal, akan tetapi jauh dari kenyataan. Pendekatan yang lebih
membantu adalah dengan mengasumsikan bahwa user akan
membutuhkan bantuan pada suatu waktu dan merancang bantuan (help) ke dalam sistem.

Isu Presentasi dalam Help dan Dokumentasi
a. Bagaimana help dan dokumentasi dipanggil? Pilihan pertama bagi perancang untuk membuat bagaimana bantuan dapat diakses oleh user. Bantuan ini dapat berupa command, tombol fungsi yang dapat memilih on atau off atau aplikasi yang terpisah.
b. Bagaimana help dan dokumentasi ditampilkan? Dalam sistem window akan ditampilkan dalam window yang baru. Dalam sistem lain mungkin dalam layar yang penuh atau bagian dari layar. Alternatif lain dapat berbentuk pop-up box atau tingkat command line.
c. Bagaimana help dan dokumentasi memiliki keefektifan? Tidak menjadi masalah teknologi apa yang digunakan untuk membuat help dan dokumentasi, tetapi yang perlu diperhatikan yaitu prinsip keefektifan.

Merancang Help dan dokumentasi

Terdapat banyak cara untuk merancangnya dan semua itu diserahkan pada perancang untuk memilih cara yang terbaik akan tetapi hal yang perlu diperhatikan adalah :
1.      Perancangannya seharusnya tidak seperti “add-on” pada system. Secara ideal seharusnya merupakan bagian integral dalam sistem
2.      Perancang harus memperhatikan isi dari bantuan dan konteks sebelum teknologi tersedia

Sumber : Interaksi Manusia & Komputer Universitas Gunadarma
Surbekti, Irfan: Santosa, Insap ; Interaksi Manusia dan Komputer, edisi Jurusan Teknik Informatika-ITS, 2006

Selasa, 30 Juni 2015

MINGGU KE 8



DIALOG

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.

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 Style
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

WIMP adalah ragam interaksi yang berbasis pada :
-Window Adalah area pada layar yang mempunyai sifat seperti terminal yang independent. dapat terdiri dari teks atau grafis. Dapat saling overlap dan menutupi yang lain, atau tersusun seperti keramik lantai. Fasilitas scrollbarsmemungkinkan pengguna untuk menggerakkan isi window ke atas-bawah atau menyampin dengan title bars yang menunjukkan nama window. Window dapat ditutup menjadi semacam representasi kecil, sehingga dapat memuat/mengaktifkan banyak window.

-Icon Icon Berupa lukisan atau gambar berukuran kecil mewakili suatu obyek dalam antarmuka, dapat suatu window atau tindakan. Icon dapat bervariasi, mulai dari simbol yang abstrak sampai gambaran realitas

-Menu Menu berupa pilihan operasi atau fungsi yang disediakan pada layar. Pemilihan pada menu dilakukan dengan menggunakan pointer. 
Kelemahan: menu dapat memakan ruang layar.
Solusi: menu hanya muncul saat dibutuhkan.

-Pointer / Pull Up (Down) Pointer Merupakan komponen penting. Ragam WIMP bertumpu pada proses penunjukkan dan pemilihan sesuatu yang biasanya dilakukan dengan menggunakan mouse atau dapat juga menggunakan joystick, trackball, atau tombol panah pada keyboard.
Komponen tambahan Beberapa komponen tambahan dalam model WIMP, diantaranya
Button (tombol) :
radio button : kumpulan pilihan yang harus memilih salah satu, tak boleh lebih dari 1
check box : kumpulan dari pilihan-pilihan yang boleh memilih 1/lebih dari 1

Pallettes (palet) : kumpulan kemungkinan mode yang tersedia, ditambah mode yang aktif saat itu, biasanya adalah sekumpulan icon yang ditata secara berdampingan (tiled icons) contoh : paket untuk menggambar memiliki palet yang mengindikasikan apakah kotak, lingkaran, garis atau teks yang akan digambar, dan yang lain lagi mengindikasikan warna-warna yang tersedia pada paket tersebut.

Combo box, list box
Kotak dialog : jendela yang berisi informasi penting, seperti pada saat user akan menyimpan file, maka muncul kotak dialog untuk memberi nama file tersebut. Setelah file disimpan, kotak dialog selesai tugasnya dan menghilang dari layar.
Kotak peringatan, muncul untuk memberitahu kesalahan atau tuntunan.

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.
1.    Menjadi lebih umum dan penggunaan yang lebih luas.
2.    Tampilan yang lebih kecil (160x160 atau 320x240).
3.    Tombol-tombol yang lebih sedikit, interaksi melalui “pen” (atau       stylus).
4.    Peningkatan wireless, warna, memory yang lebih besar, CPU dan OS yang lebih baik.
5.    Palmtop vs Handheld.  

5. 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.

User Interface Software 
Alat Bantu User Interface: 
1.     Aplikasi apa yang biasa digunakan oleh programmer untuk membuat program.
2.    Kombinasi dari objek-objek interface dan perilaku manajemen. Sekarang sudah object-oriented. 
3.    Pustaka dari komponen-komponen perangkat lunak dan routines yang digunakan oleh programmer: - Xwindows :
Xtoolkit & Motif
Macintosh : Mac Toolbox, MacApp
Windows : Windows Developer’s Toolkit
Java  : Swing  

Bagaimana cara kerja toolkit? Apa yang sebenarnya disediakan olehnya?
Bagaimana mengaturnya?
- User mengadakan aksi, berinteraksi dengan interface.
- Aksi-aksi tersebut harus disampaikan kepada aplikasi dalam cara-cara yang penuh arti.
- Aplikasi melakukan aksi yang sesuai, mungkin memperbaharui tampilan.  
Model Seeheim
Model Percakapan  

Model Objek
- UI adalah kumpulan objek yang saling berinteraksi.
 -User secara langsung memanipulasi objek-objek tersebut.
 -Objek-objek bertanggung jawab untuk mentransmisikan aksi-aksi      user ke aplikasi dengan cara yang berguna.

Sumber : Interaksi Manusia Dan Komputer Universitas Gunadarma


Kamis, 21 Mei 2015

MINGGU KE 7

PROTOTYPING

Prototyping adalah proses membangun model dari suatu sistem. Dalam hal sistem informasi, prototipe dipekerjakan untuk membantu desainer sistem membangun suatu sistem informasi yang intuitif dan mudah untuk memanipulasi bagi pengguna akhir. Prototyping merupakan proses iteratif yang merupakan bagian dari fase analisis siklus hidup pengembangan sistem.
Pada bagian penentuan persyaratan tahap analisis sistem, analis sistem mengumpulkan informasi tentang prosedur saat ini organisasi dan bisnis proses yang terkait dengan sistem informasi yang diusulkan. Selain itu, mereka mempelajari sistem informasi saat ini, jika ada satu, dan melakukan wawancara dan mengumpulkan dokumentasi pengguna. Ini membantu analis mengembangkan set awal persyaratan sistem.
Prototyping dapat meningkatkan proses ini karena mengubah spesifikasi dasar, namun kadang-kadang berwujud, menjadi model kerja nyata namun terbatas dari sistem informasi yang diinginkan. Umpan balik pengguna yang diperoleh dari mengembangkan sistem fisik yang pengguna dapat menyentuh dan melihat memfasilitasi respons evaluatif bahwa analis dapat mempekerjakan untuk memodifikasi persyaratan yang ada serta mengembangkan yang baru.
Prototyping datang dalam berbagai bentuk – dari sketsa teknologi rendah atau layar kertas (Pictive) dari mana pengguna dan pengembang dapat menyisipkan kontrol dan objek, untuk sistem operasional berteknologi tinggi dengan menggunakan KASUS (rekayasa perangkat lunak komputer-CAD) atau bahasa generasi keempat dan di mana-mana di antara keduanya. Banyak organisasi menggunakan alat prototipe ganda. Sebagai contoh, beberapa akan menggunakan kertas dalam analisis awal untuk memfasilitasi umpan balik pengguna beton dan kemudian mengembangkan prototipe operasional menggunakan bahasa generasi keempat, seperti Visual Basic, selama tahap desain.

RAPID PROTOTYPING
Rapid Prototyping (RP) dapat didefinisikan sebagai metode-metode yang digunakan untuk membuat model berskala (prototipe) dari mulai bagian suatu produk (part) ataupun rakitan produk (assembly) secara cepat dengan menggunakan data Computer Aided Design (CAD) tiga dimensi. Rapid Prototyping memungkinkan visualisasi suatu gambar tiga dimensi menjadi benda tiga dimensi asli yang mempunyai volume. Selain itu produk-produk rapid prototyping juga dapat digunakan untuk menguji suatu part tertentu. Metode RP pertama ditemukan pada tahun 1986 di California, USA yaitu dengan metode Stereolithography. Setelah penemuan metode tersebut berkembanglah berbagai metode lainnya yang memungkinkan pembuatan prototipe dapat dilakukan secara cepat.
Saat ini, pembuatan prototipe menjadi syarat tersendiri pada beberapa perusahaan dalam upaya penyempurnaan produknya. Beberapa alasan mengapa rapid prototyping sangat berguna dan diperlukan dalam dunia industri adalah:
-  Meningkatkan efektifitas komunikasi di lingkungan industri atau dengan konsumen.
-  Mengurangi kesalahan-kesalahan produksi yang mengakibatkan membengkaknya biaya produksi.
-  Mengurangi waktu pengembangan produk.
-  Meminimalisasi perubahan-perubahan mendasar.
-  Memperpanjang jangka pakai produk misalnya dengan menambahkan beberapa komponen fitur atau mengurangi fitur-fitur yang tidak diperlukan dalam desain.
Rapid Prototyping mengurangi waktu pengembangan produk dengan memberikan kesempatan-kesempatan untuk koreksi terlebih dahulu terhadap produk yang dibuat (prototipe). Dengan menganalisa prototipe, insinyur dapat mengkoreksi beberapa kesalahan atau ketidaksesuaian dalam desain ataupun memberikan sentuhan-sentuhan engineering dalam penyempurnaan produknya. Saat ini tren yang sedang berkembang dalam dunia industri adalah pengembangan variasi dari produk, peningkatan kompleksitas produk, produk umur pakai pendek, dan usaha penurunan biaya produksi dan waktu pengiriman. Rapid prototyping meningkatkan pengembangan produk dengan memungkinkannya komunikasi yang lebih efektif dalam lingkungan industri.

DIMENSI PROTOTYPING
1. Penyajian
Bagaimana desain dilukiskan atau diwakili ?

Dapat berupa uraian tekstual atau dapat visual dan diagram.

2. Lingkup
Apakah hanya interface atau apakah mencakup komponen komputerisasi ?


3. Executability (Dapat dijalankan)
Dapatkah prototype tersebut dijalankan ?

Jika dikodekan, akan ada priode saat prototype tidak dapat dijalankan.

4. Maturation (Pematangan)
Apakah tahapan – tahapan proudk ini mengikuti ?
Revolusioner : mengganti yang lama.

Evolusioner : terus melakukan perubahan pada perancangan yang sebelumnya

TERMINOLOGI PROTOTYPING

Metode Komputer
Terminologi :
a. Prototype Horizontal 

Sangat luas, mengerjakan atau menunjukkan sebagian besar interface, tetapi ini dilakukan dengan cara sangat baik.

b. Prototype Vertikal 

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

c. Low – fidelity prototyping (prototype dengan tingkat ketepatan yang rendah)
Digunakan di awal disain.

Biasanya digunakan dengan skenario, lebih terinci, dan dapat diputar ulang.
Kumpulan dari sketsa individual.
Menyajikan urutan inti cerita.
Menunjukkan bagaimana kemungkinan user dapt mengalami peningkatan melalui setiap aktifitas.

d. Mid – fidelity Prototyping (Prototype dengan tingkat ketepatan sedang)
Form skematik.

Navigasi dan fungsi yang disimulasikan →biasanya berbasis pada apa yang tampil pada layar atau simulasi layar.
Contoh tools yang digunakan : powerpoint, illustrator, dll.

e. High – fidelity prototyping (prototype dengan tingkat ketepatan yang tinggi)
Hi – fi prototype seperti system akhir.

Menggunakan bahan baku yang sama seperti produk akhir.
Tools umum yang digunakan : macromedia director, visual basic, flash, illustrator dll.

METODE RAPID PROTOTYPING
Beberapa metode Rapid Prototyping yang berkembang saat ini adalah:
1.      Stereolithography (SLA)
2.      Selective Laser Sintering (SLS)
3.      Laminated Object Manufacturing (LOM)
4.      Fused Depsition Modelling (FDM)
5.      Solid Ground Curing (SGC)
Metode Pembuatan Prototyping
Ada beberapa pembuatan prototype yaitu :
1. Metode non – komputer (manual)

Tujuan
Ingin menyatakan gagasan desain dan mendapatkan dengan mudah dan cepat pendapat atas system.

Deskripsi Desain
Dapat berupa deskripsi tekstual dari suatu desain system. Kelemahan yang nyata adalah seberapa jauh dari system yang sebenarnya dan tidak dapat melakukan pekerjaan yang mewakili aspek dari interface.

Sketsa, Mock ups
Paper based “menggambarkan” interface
Baik untuk mengungkapkan pendapat
Difokuskan pada orang dengan desain tingkat tinggi
Tidak terlalu baik untuk menggambarkan alur dan rinciannya
Murah dan cepat
umpan balik sangat menolong

Storyboarding
Pensil dan simulasi catatan atau walkthrough dari kemampuan dan tampilan system
Menggunakan urutan diagram / gambar
Menunjukkan kunci snap shots
Cepat dan mudah

Skenario
Hipotesis atau imajinasi penggunaan
Biasanya menyertakan beberapa orang, peristiwa, lingkungan dan situasi
Menyediakan konteks operasi
Terkadang dalam format naratif, tetapi juga dapat berupa sketsa atau bahkan video

Utilitias skenario
Melibatkan dan menarik
Menginjinkan perancang untuk melihat masalah dari pandangan orang lain
Memudahkan umpan balik dan pendapat
Dapat sangat kreatif dan futuristic

Prototyping Tools
Draw/Paint Program
Menggambar setiap layar, baik untuk dilihat
Prototipe horizontal, tipis
Contoh : Adobe Photoshop, Corel Draw


Scripted Simulation/Slide Show
Meletakkan tampilan seperti storyboard dengan animasi perubahan diantaranya.
Dapat memberikan user catatan yang sangat spesifik
Contoh : Powerpoint, Hypercard, Macromedia Director, HTML

 Interface Builder
Tools untuk menampilkan jendela, kendali, dan lain-lain dari interface.
Mudah dikembangkan dan memodifikasi layar.
Mendukung jenis interface yang dikembangkan.
Mendukung berbagai macam device Input/Output.
Mudah untuk memodifikasi dan menghubungkan layar.
Mengijinkan memanggil prosedur eksternal dan program.
Mengijinkan mengimpor teks, grafik, media lain.
Mudah untuk dipelajari dan digunakan.
Dukungan yang baik dari vendor.

Contoh: Visual Basic, Delphi.

Sumber : Interaksi manusia dan komputer universitas gunadarma