Cari Blog Ini

Minggu, 29 November 2015

Tool Pengembangan Perangkat Lunak



Pengembangan Sistem Perangkat Lunak

     Tool pengembangan perangkat lunak adalah tool berbasis komputer yang dimaksudkan untuk membantu proses siklus hidup perangkat lunak.



A. Tool Konstruksi Perangkat Lunak


1.      Editor Program
Editor Program merupakan tool yang digunakan untuk menciptakan dan memodifikasi program dan dokumen yang berhubungan dengannya.
2.      Kompilator dan Generator Code
Kompilator (compiler) adalah sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemah-kannya ke dalam suatu bahasa sasaran (target language) atau bahasa objek (object code). Kompiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali.
3.      Interpreter
Interpreter adalah Perangkat lunak yang mampu mengeksekusi code program (yang ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin, sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut. Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi baris, sambil mengikuti logika yang terdapat di dalam kode tersebuT.
4.      Debugger
Merupakan perangkat yang berfungsi untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan.


B. Tool Pengujian Perangkat Lunak

1.      Generator pengujian
Merupakan tool pembantu dalam pengembangan kasus pengujian perangkat lunak.
2.      Kerangka Eksekusi Pengujian
Merupakan tool yang memungkinkan eksekusi kasus pengujian di dalam lingkungan yang dikendalikan untuk mengamati perilaku objek di bawah pengujian.
3.      Tool Evaluasi Pengujian
Tool ini mendukung penilaian hasil pelaksanaan pengujian, membantu untuk menentukan benar atau salah perilaku yang diamati dan menyesuaikan diri kepada perilaku yang diharapkan.
4.      Tool Manajemen Pengujian
Tool ini menyediakan dukungan untuk seluruh aspek dari proses pengujian perangkat lunak.
5.      Tool Analisis Kinerja
Tool ini digunakan untuk mengukur dan meneliti kinerja perangkat lunak, yaitu suatu format khusus dari pengujian dengan tujuan untuk menilai perilaku kinerja, bukan perilaku fungsional (ketepatan).


C. Tool Pemeliharaan Perangkat Lunak

1.  Tool Pemahaman
Merupakan tool yang membantu manusia dalam memahami dan menguasi program komputer.
2.  Tool Rekayasa Ulang
Merupakan merupakan tool yang akan mendukung aktifivas perubahan dan pengujian dari subjek perangkat lunak untuk menyusun kembali ke dalam suatu bentuk yang baru yang mencakup implementasi bentuk yang baru.


Minggu, 25 Oktober 2015

Prinsip-Prinsip Perancangan Antarmuka



Learnability , Flexibility dan Robustness


Para peneliti akademis mengatakan suatu rancangan sistem  yang berorientasi kepada pemakai, yang memperhatikan kapabilitas dan akan member kontribusi kepada interaksi manusia dan komputer yang lebih baik. Maka pada pertengahan tahun 80-an diperkenalkan istilah Human Computer Interaction (HCI) atau Interaksi Manusia dan Komputer (IMK).
Kemajuan teknologi menyebabkan pentingnya efektivitas, efisiensi serta kemudahan-kemudahan lainnya. Dewasa ini hampir semua software atau aplikasi berlomba-lomba untuk membuat produknya menjadi lebih menarik baik dari segi tmampilan ataupun manfaatnya sehingga pengguna juga akan tertarik untuk menggunakan produk tersebut.
Dalam melakukan perancangan antarmuka (Design User Interface) suatu sistem harus memperhatikan beberapa teori, prinsip paradigma dan model pengguna dalam perancangan. Sistem interaktif harus dapat digunakan untuk meningkatkan keberhasilan aplikasi. Perancangan antarmuka sistem merupakan hal penting yang harus dilakukan sebelum membuat antarmuka, salah satu faktor penting dalam IMK adalah Usability (keguanaan), komponen-komponen yang mempengaruhi Usability antara lain :


1.      Learnability
Learnability adalah kemudahan yang dapat dipelajari oleh user dari semua tingkat khususnya pengguna baru untuk menggunakan sistem secara efektif dan mencapai kinerja yang paling optimal.
Prinsip learnability diperlukan secara efektif untuk mencapai kinerja yang maksimal, Diantaranya :
   ·         Seberapa mudah pemakai dapat mempelajari suatu sistem
   ·         Seberapa cepat seseorang dapat memahami dan menguasai sampai menjadi mahir.
   ·         Bagaimana kemampuan seseoang mempertahankan pengetahuan yang sudah didapatkan setelah jangka waktu tertentu.
Prinsip yang Mempengaruhi Learnability, yaitu :
  •   Prediktabilitas : User interface dapat diprediksi apa yang dapat dikerjakan olehnya. Seperti contoh sebuah menu yang dinamakan sesuai dengan fungsinya sehingga user dapat memprediksi kemungkinan apa yang terjadi jika menu tersebut diakses. Contoh : pada program Ms. Word tersedia ikon-ikon yang mewakili beberapa perintah dengan melihat gambarnya saja maka user akan tahu kegunaanya, misalkan saat akan mencetak dokumen soft copy menjadi hard copy tinggal memilih ikon Printer dan ikuti langkah selanjutnya.
  • Synthesizability adalah dukungan dari user untuk merasakan manfaat dari sistem lama yang telah digunakan dengan sistem yang baru yang sedang digunakan. Prinsip ini dapat membantu user untuk memperkirakan efek dari proses yang dilakukan sebelumnya pada keadaan saat sekarang.. Contohnya seperti memindahkan file.

  • Familiarity adalah suatu kemampuan sebuah user interface untuk lebih mudah dikenali fungsi dan kemampuannya oleh user.  Contoh hampir semua software atau aplikasi menggunakan ikon seperti gambar di bawah ini :
(Minimize,Restore Down/Maximize , Close ) , hal itu dikarenakan ikon seperti itu sudah umum dan lebih mudah dipahami oleh user.



  • Generalisasi, prinsip generalisasi ini dapat membantu user untuk menambah pengetahuan dari interaksi spesifik didalam atau diluar aplikasi. Contohnya seperti pengoperasian cut & paste pada aplikasi yang berbeda. 
  • Konsistensi adalah kemiripan perilaku antara tugas-tugas serupa / operasi /situasi yang sama tapi dalam hal yang berbeda. User biasanya lebih senang dengan sesuatu yang familiar, mudah, dan sudah dikuasainya. 
                              
2.      Flexibility
Flexibility adalah kemampuan untuk mengerjakan suatu tugas dengan berbagai cara. flexibility (variasi cara/model bagi pengguna dan sistem dalam bertukar informasi.
Prinsip flexibility memiliki berbagai penjelasan dibawah ini:
     a.   Dialog Initiative
         Tidak menyulitkan user dengan menempatkan suatu batasan dan bagaimana dialog tersebut dapat dilakukan. Dapat dibagi 2 yaitu user pre – emptive dan system pre – emptive. User pre – emptive adalah user yang memulai aksi terlebih dahulu. Sedangkan system pre – emptive yaitu sistem yang melakukan semuanya lebih dahulu.
     b.    Multithreading
      Mengizinkan user (pemakai) untuk melakukan lebih dari satu tugas dalam waktu yang bersamaan. Selanjutnya tipe ini dibagi 2 yaitu concurrent dan interleaved. Tipe concurrent melakukan banyak tugas secara berbarengan, sedangkan tipe interleaved memasukkan banyak tugas secara satu per satu.
     c.      Task Migratability
        Task migratability adalah kemampuan untuk memindahkan sebuah performa tugas ke entitas yang dapat melakukannya lebih baik.
     d.      Subtitutivity
Memperbolehkan user (pengguna) untuk memilih suatu metode interaksi yang cocok dengannya.
     e.       Customizability
Kemampuan user untuk memodifikasi user interface oleh user (adaptability) dan oleh sistem (adaptivity).


3.      Robustness
Robustness (ketahanan prinsip) adalah kemampuan UI (user interface) untuk melakukan pemulihan (recovery) yang  merupakan tingkat dukungan yang diberikan agar user dapat menentukan keberhasilan atau tujuan yang ingin dicapai. Tujuan utama dari prinsip ini yaitu mendukung pengguna dalam menentukan keberhasilan dan tujuan penilaian.
Robustness terbagi lagi ke dalam beberapa kategori yaitu :
     a. Observability
Apakah pengguna mampu menjelaskan keadaan internal system dari apa yang dia mengerti?
     b. Browsability
Menjelajah keadaan sekarang tanpa menggantinya.
     c. Reachability
Menjelajah melalui keadaan yang kemungkinan dapat diobservasi.
     d. Persistence
Seberapa lamakah keadaan yang diobservasi bertahan?
     e. Recoverability
kemampuan mengambil atas tindakan korektif mengenali kesalahan.
     f.  Responsiveness
Persepsi user (pengguna) mengenai banyaknya komunikasi yang dilakukan dengan sistem.
     g. Task Conformance
Apakah sistem mendukung semua berbagai keinginan pengguna untuk melaksanakan tugas dalam cara yang diharapkan.


Menurut Mandel (1994) masalah-masalah Usability yang umum terjadi antara lain :
  • Visualisasi yang buruk
  • Informasi yang bias dibaca mengalami kerusakan
  • Komponen yang tidak dapat dimengerti
  • Selingan yang mengganggu
  • Navigasi yang membingungkan
  • Navigasi yang tidak efisien
  • Operasi yang tidak efisien
  • Scrolling yang berlebihan atau yang tidak efisien
  • Informasi yang berlebihan atau terlalu banyak
  • Rancangan yang tidak konsisten
  • Informasi yang tidak ter-update

Rancangan sistem yang baik adalah yang mampu memberikan kepuasan user terhadap sistem tersebut,memberikan manfaat yang dirasakan oleh user terhadap sistem baik dalam penggunaan jangka pendek atau panjang.