Tampilkan postingan dengan label Sistem Informasi. Tampilkan semua postingan
Sabtu, 14 September 2013
METODOLOGI PENGEMBANGAN PERANGKAT LUNAK PROTOTYPE
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
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.
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.
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.
————————–
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.
——————–
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.
————————–
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.
————————–
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.
—————————
Tahap akhir anda adalah mengembangkan program anda dan membuatnya menjadi semakin baik.
Pengertian Prototype
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.
Langganan:
Postingan
(
Atom
)