Tampilkan postingan dengan label Sistem Informasi. Tampilkan semua postingan

Sabtu, 14 September 2013

METODOLOGI PENGEMBANGAN PERANGKAT LUNAK PROTOTYPE

1 komentar
I. PENDAHULUAN

Prototype merupakan metodologi pengembangan software yang menitik-beratkan pada pendekatan aspek desain, fungsi dan user-interface. Developer dan user fokus pada user-interface dan bersama-sama mendefinisikan spesifikasi, fungsi, desain dan bagaimana software bekerja. Developer dan user bertemu dan melakukan komunikasi dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan. Developer mengumpulkan detail dari kebutuhan dan memberikan suatu gambaran dengan cetak biru (prototype).
Dari proses tersebut akan diketahui detail-detail yang harus dikembangkan atau ditambahkan oleh developer terhadap cetak biru, atau menghapus detail-detail yang tidak diperlukan oleh user. Proses akan terjadi terus menerus sehingga produk sesuai dengan keinginan dari user.

Tujuan utama dari prototype [Thompson, Wishbow - 1992] adalah :
Proses revisi dan pengujian terhadap produk dilakukan secara terus menerus, sehingga didapatkan produk yang sesuai dengan yang diinginkan oleh user. Proses testing dan revisi dapat dilakukan baik secara keseluruhan maupun partial pada bagian dari produk.
Proses pengujian harus memiliki perbandingan baku (benchmark) sehingga menghasilkan produk yang secara empiris sehinga menghindari kegagalan produk atau terjadi perbedaan persepsi antara developer atau user.
Dengan proses testing dan komunikasi yang terus menerus antara user dan developer diharapkan dihasilkan produk yang user-friendly.

II. METODOLOGI

[Purtilo, Larson, Clark-1991] mengambarkan proses-proses pada model prototype sebagai berikut:
Identifikasi objek, definisi dari masalah yang harus dipecahkan dinyatakan secara bersama-sama dengan memberikan ukuran-ukuran yang pasti terhadap batasan kesuksesan dari produk yang digunakan sebagai benchmark.
Identifikasi resiko, tidak ada pengembangan produk yang bersih dan mampu menghasilkan produk yang berstatus “Tidak ada Masalah”, selalu terdapat area abu-abu yang memberikan resiko terhadap pengembangan produk. Perjelas dan pertegas batasan dan permasalahan pada area tersebut.
Merumuskan hipotesa prototype, setelah resiko dinyatakan pengembang mendesain secara terperinci sebuah prototype yang menggambarkan keseluruhan sistem dan resiko-resiko yang mungkin berpengaruh pada sistem. Prototype juga memberikan potensi terhadap perbaikan-perbaikan terhadap produk.
Membangun perancangan prototype, perancangan prototype berdasarkan hipotesa kedalam produk prototype. Tujuan yang utama dari membangun suatu prototipe adalah untuk menjawab satu atau lebih pertanyaan mengenai karakteristik fungsional dari produk .
Eksperimental, prototipe harus dicoba-coba untuk menentukan perilakunya dan mengumpulkan keluaran dari instrumentasi sistem sehingga didapat produk yang sesuai dengan keinginan user.
Evaluasi, Hasil dari eksperimen harus dievaluasi untuk menilai kebenaran dan efisiensi prototype.
Proses yang berulang-ulang, proses yang keseluruhan diulangi sampai salah satu dari tiga hasil dicapai:
Didapat informasi yang cukup dari prototype sehingga dapat dimulainya proses pengembangan produk.
Untuk beberapa masalah yang tidak terpecahkan telah dapat ditemukan solusi yang lebih mudah atau setara dengan tetap memperhatikan cost dan manfaat.
Didapat prototype yang memiliki mutu yang sesuai dengan spesifikasi produk yang ingin dibuat sehingga proses pembuatan produk dapat dilakukan dengan menggunakan prototype yang ada.

III. KETERGANTUNGAN TERHADAP USER

User atau pengguna merupakan bagian terpenting pada prototype. Karena user merupakan komponen yang menentukan apakah prototype telah memenuhi spesifikasi untuk dikembangkan sebagai produk.
[Harker -1993] memaparkan tentang permasalahan yang terjadi pada metodologi prototype :
User yang tidak memiliki spesialisasi dalam pembuatan dan perancangan sistem akan memberikan input yang akan mempersulit pembuatan prototype.
Prototype yang dikembangkan secara tim memerlukan kepastian dapat menangani keinginan user terutama dilevel manajemen.
Perancangan prototype akan tidak relevan dan menyulitkan jika pada lever user terjadi perubahan struktur organisasi yang cenderung lebih besar pengaruhnya dinding perubahan secara teknis

IV. TIPE-TIPE PROTOTYPE

Terdapat 3 (tiga) tipe dari metodologi prototype [Sommerville, 1995]:
Throwaway Prototypes
Model Throwaway Prototypes mengunakan prototype sebagai tool atau perangkat untuk melakukan analisa terhadap user-interface dan kebutuhan fungsional dari produk yang ingin dibuat. ketika prototype dievaluasi dan spesifikasi dibaharui, prototype dibuang dan proses pengembangan dimulai kembali.
Evolutionary Prototypes
Evalusi prototype didasarkan pada pengembangan produk dengan melakukan peningkatan pada detail-detail yang dianggap perlu diperbaharui. Proses akan dilakukan secara terus menerus dalam satu produk dan dilakukan hingga didapat produk yang sesuai dengan keinginan dari user.
Incremental Development
Metodologi ini masing-masing dievaluasi berdasarkan bagian-bagian secara partial jika terjadi perubahan akan dilakukan secara partial juga. Setelah didapatkan potongan-potongan produk yang sesuai, maka disatukan untuk mendapatkan produk yang sesuai dengan keinginan user.

V. KEUNTUNGAN

Keuntungan dari metodologi prototype adalah [Sommerville, 1995] :
Kegagalan dalam mendefinisikan masalah antara user dan developer dapat dikenali dari awal.
Kesulitan user-interface dan pemakaian dapat dikenali dari awal
Manajemen telah melihat gambaran secara riil tentang produk yang dibuat dengan melihat prototype dari produk.
Prototype dapat disebut juga sebagai bagian dari training penggunaan produk, sehingga user telah mengenal produk dari prototype.
Proses testing dan perbaikan dapat dilakukan secara terus menerus sehingga mengurangi tingkat kegagalan produk.
Prototype lebih mengedepankan pada requirement sehingga mampu menghasilkan produk yang berkualitas dan sesuai dengan keinginan dari user.

VI. REFERENSI

[Harker. 1993] User participation in prototyping. Susan Harker. Communications of the ACM. Volume 36 , Issue 6 (1993).
[Purtilo, Larson, Clark. 1991] A methodology for prototyping-in-the-large. James Purtilo, Aaron Larson and Jeff Clark. International Conference on Software Engineering. Proceedings of the 13th international conference on Software engineering. May 13 – 17, 1991, Austin, TX USA.
[Thompson, Wishbow. 1992] Prototyping: tools and techniques: improving software and documentation quality through rapid prototyping. Michael Thompson and Nina Wishbow. Proceedings of the 10th annual international conference on Systems documentation. October 13 – 16, 1992, Ottawa Canada.
[Sommerville, 1995]. Software Engineering. Ian Sommerville. Fifth Edition. Addison-Wesley. 1995.

Membuat Program dengan Baik || Programming

1 komentar
Untuk dapat menghasilkan suatu progam yang terstruktur dengan baik, perlu dilakukan persiapan-persiapan yang matang. Hal ini berlaku bagi siapapun, bahkan seorang programmer professional sekalipun. Karena itulah pada kesempatan ini saya akan memberikan sedikit pengetahuan mengenai persiapan apa saja yang perlu dilakukan oleh seorang programmer sebelum melakukan coding.

Programming memang sudah menjadi “makanan pokok” bagi masyarakat IT. Program yang paling sederhana sekalipun setidaknya memiliki 3 bagian:
1. Input – Masukan data.
2. Proses – kalkulasi, pemrosesan input.
3. Output – keluaran program, solusi yang kita harapkan.
Programming bisa membangun mental seseorang dan membawa manfaat yang begitu besar. Namun programming sebenarnya bukanlah segalanya. Programming hanyalah 1/9 bagian dari upaya penyelesaian masalah. 8/9 bagian sisanya adalah memahami persoalan, melakukan perencanaan-perencanaan (planning), mendesain, dan lain sebagainya.
Bagian terpenting sebenarnya tidak terdapat pada programmingnya, tapi ada pada proses dimana saat kita tau apa sebenarnya masalah yang timbul dan bagaimana planning langkah-langkah yang akan diambil untuk menyelesaikannya. Ingat, mengetahui apa sebenarnya masalah kita sama saja dengan kita sudah menyelesaikan 50% dari persoalan kita.
Dalam membuat sebuah program setidaknya ada 5 hal yang perlu anda lakukan:
1. Defining the problem
————————–
Problem disini adalah, bagaimana output program yang anda harapkan nantinya. Pada tahap ini kita harus mendefinisikan apa yang nanti akan dilakukan oleh program, dan bagaimana hasil yang dikeluarkannya nanti.
2. Planning
——————–
Definisikan langkah-langkah apa yang nantinya akan dilakukan oleh program yang anda buat dalam menyelesaikan masalah. Planning disini biasanya diterapkan dalam bentuk flowchart. Jadi, jika suatu ketika anda dihadapkan dalam sebuah masalah (membuat program), jangan langsung begitu saja terjun membuat program, namun buat terlebih dahulu flowchartnya.
Flowchart adalah suatu diagram menggunakan simbol-simbol khusus yang sudah menjadi standard internasional yang berisi langkah-langkah untuk menyelesaikan suatu masalah. Lho, lalu apa bedanya dengan algoritma? Hampir sama, namun pada algoritma kita diizinkan untuk mengunakan cara penulisan sesuka hati kita. Sedangkan pada flowchart kita harus menggunakan simbol-simbol yang telah ditetapkan. Oleh karena itu flowchart biasa juga disebut sebagai algoritma dalam bentuk simbol-simbol khusus yang dihubungkan dengan anak panah.
Membuat flowchart terlebih dahulu akan lebih menghemat waktu daripada langsung melakukan coding sambil mencoba-coba. Kegiatan mencoba-coba biasanya dilakukan oleh para newbie yang baru mengenal programming, dan ini merupakan hal yang buru. Karena itu, biasakan membuat flowchart terlebih dahulu sebelum memecahkan suatu masalah.
3. Programming
————————–
Kini saatnya anda menulis program, tahap ini juga mencakup tahap perbaikan error dan testing. Tulis program anda dengan terstruktur dan sesuai dengan flowchart yang telah anda buat.
4. Documentation
————————–
Setelah tahap coding selesai, sangat disarankan bagi anda untuk membuat semacam dokumentasi. Tambahkan komentar-komentar pada program anda dan “bukukan” program yang akan anda buat. Hal ini akan bermanfaat jika anda sudah membuat program yang begitu banyak, dan suatu ketika nanti (mungkin bertahun-tahun kemudian) anda ingin mengambil sebagian dari code program anda yang lama untuk disisipkan pada program anda yang baru. Bayangkan jika anda tidak membuat dokumentasi, waktu anda akan sangat terbuang dengan menelusuri program-program lama anda satu-persatu.
5. Implementasi
—————————
Tahap akhir anda adalah mengembangkan program anda dan membuatnya menjadi semakin baik.

Pengertian Prototype

1 komentar
Prototype adalah sebuah Javascript Framework yang dibuat untuk lebih memudahkan proses dalam membangun aplikasi berbasis web.

Metode protyping sebagai suatu paradigma baru dalam pengembangan sistem informasi, tidak hanya sekedar suatu evolusi dari metode pengembangan sistem informasi yang sudah ada, tetapi sekaligus merupakan revolusi dalam pengembangan sistem informasi manajemen

Ada 2 Jenis Prototype :

Jenis I : Suatu Sistem yang akan menjadi sistem operasional

Jenis II : Suatu model yang dapat dibuang yang berfungsi sebagai cetak biru bagi sistem operasional.

Karakteristik metode prototyping meliputi langkah-langkah :
1. Pemilahan fungsi
2. Penyusunan Sistem Informasi
3. Evaluasi
4. Penggunaan Selanjutnya

Jenis-jenis prototyping meliputi
1. Feasibility prototyping
2. Requirement prototyping
3. Desain Prototyping
4. Implementation prototyping

Teknik-teknik prototyping meliputi
1. Perancangan Model
2. Perancangan Dialog
3. Simulasi

SISTEM YANG BERMANFAAT DARI PROTOTIPE
(SYSTEMS THAT BENEFIT FROM PROTOTYPING)

Sejak kebutuhan (baca Spesifikasi Fungsi) pada umumnya berhubungan dengan pandangan user terhadap sistem, hanya dengan prototipe tampilan bagi user sudah cukup untuk memeriksa yang dibutuhkan. Menu-menu, bentuk tampilan input, tampilan keluaran, atau laporan yang dicetak, pertanyaan-pertanyaan, pesan-pesan merupakan calon yang ideal untuk prototipe.

Di lain pihak, perhitungan yang rumit, kumpulan update data dan realtime, dan sistem yang bersifat scientific sangat sulit untuk dijadikan model.

Sistem yang paling sesuai untuk prototipe adalah satu dari banyak hal yang bergantung pada sistem input/output dari user. Sistem dengan transaksi on-line dikendalikan melalui menu, layar, formulir,
laporan, daftar dan perintah.

Keuntungan dari prototipe
  • Menghasilkan syarat yang lebih baik dari produksi yang dihasilkan oleh metode ‘spesifikasi tulisan’.
  • User dapat mempertimbangkan sedikit perubahan selama masih bentuk prototipe.
  • Memberikan hasil yang lebih akurat dari pada perkiraan sebelumnya, karena fungsi yang diinginkan dan kerumitannya sudah dapat diketahui dengan baik.

User merasa puas. Pertama, user dapat mengenal melalui komputer. Dengan melakukan prototipe (dengan analisis yang sudah ada), user belajar mengenai komputer dan aplikasi yang akan dibuatkan untuknya. Kedua, user terlibat langsung dari awal dan memotivasi semangat untuk mendukung analisis selama proyek berlangsung.