Selasa, 16 Desember 2014

Rangkaian Counter Dengan JK-Flip Flop












Counter merupakan suatu sistem yang digunakan untuk melakukan pencacahan data,  dalam postingan ini akan dibahas tentang pembuatan rangkaian counter dengan menggunakan JKFF secara sinkron dan asinkron, perbedaan counter sinkron dengan asinkron adalah dari pemberian sumber detak rangkaiannya, jika counter sinkron maka pemberian detak untuk mengeluarkan data pada masing-masing JKFF dilakukan secara bersamaan, tetapi pada counter asinkron pemberian detak masing-masing JKFF dilakukan secara bergantian atau berantai.

1. Counter Up Sinkron Modul 16 dengan JKFF. 
Yang pertama adalah rangkaian counter up sinkron, untuk rangkaian dibawah ini adalah rangkaian counter up sinkron modul 16 dengan JKFF (JK Flip-Flop).





















2. Counter Down Sinkron Modul 8 dengan JKFF. 
Selanjutnya adalah rangkaian counter down sinkron modul 8 dengan JKFF. tabelnya dapat dilihat dibawah ini :














3. Counter Up Asinkron Modul 16 dengan JKFF. 
   Untuk rangkaian dibawah ini adalah counter up asinkron modul 16 dengan JKFF.



















4. Counter Modul X Sinkron dengan JKFF.
Counter modulo X merupakan suatu counter yang akan melakukan pencacahan hingga bit tertentu sesuai dengan yang diinginkan/dibutuhkan, misalkan apabila kita mempunyai 4 bit counter up sinkron dengan JKFF, berarti counter tersebut adalah modul 16 yang akan mencacah dari 0 hingga15 tetapi apabila kita hanya membutuhkan modul tertentu, misalkan modul 10 yang akan mencacah dari 0 hingga 9, seperti bila kita akan membuat detik dan menit satuan pada jam digital. Kita dapat menggunakan pin masukan "Reset" untuk mengatur supaya ketika pada bit tertentu akan kembali ke bit awal misalkan jika hanya akan mengcounter hingga 9 maka pada bit 1010 atau 10 ia harus kembali ke bit 0000 dan tidak akan menampilkan bit 1010. dibawah ini adalah rangkaian keseluruhan pada counter modulo 10 sinkron menggunakan JKFF.

5. Counter Up/Down Sinkron dengan JKFF. 
counter up/down sinkron dengan JKFF, counter up/down sinkron modul 8. jadi rangkaian ini mempunyai bit selector, apa itu bit selector? yaitu suatu masukkan bit yang akan digunakan sebagai pemilih dan pengatur apakah rangkaian akan menjadi counter up atau counter down. jadi didalam rangkaian keseluruhan counter up/down sinkron modul 8 mempunyai tiga sistem rangkaian utama, yaitu rangkaian counter itu sendiri yang terdiri dari JKFF, adapun table yang terlihat di rangkaian ini tersebut seperti gambar di bawah.
























RANGKAIAN REGISTER

RANGKAIAN REGISTER

REGISTER
·         Sekumpulan sel biner (Flip-Flop) yang dipakai untuk menyimpan informasi yang disajikan dalam bentuk sinyal biner
·         Dilakukan melalui pengaturan keadaan sejumlah flip-flop dalam register secara serentak sebagai satu kesatuan.
1        Flip flop = 1 bit
Register 8 bit = data 0 s.d 255 desimal
·         Data yang diberikan pada masukan disimpan dan ditahan di dalam register.
·         Setelah Penahanan terjadi, keadaan keluaran register tidak akan berubah walaupun masukannya berubah, 
·         Berfungsi sebagai penyangga (buffer). 


Ada dua jenis Register

1.      Shift Register ( Serial)
2.      Paralel Register (Buffer)

 Prinsip kerja counter pada jam digital

    Detik

      Satuan

Detik pada jam memiliki satuan sebanyak 10 bit (0-9), oleh karena itu pada satuan detik menggunakan counter mode 10 (pembagi 10). Menggunakan counter JK 4 input.


Biner 10 = 1010

Untuk itu, nilai biner 10 di set menjadi 0000,agar pada hitungan ke 10 satuan detik pada jam digital akan mulai kembali dari 0 (nol).

Untuk menjadikan nilainya menjadi 0000, maka pada input yang menghasilkan nilai 1 dihubungkan dengan menggunakan gerbang NAND. Kemudian hasilnya, di masukkan kembali ke Clr (clear).

Kemudian hasil dari input terakhir akan masuk sebagai CLOCK pada puluhan detik pada jam digital.



      Puluhan
Detik pada jam digital memiliki puluhan sebanyak 6 bit (0-5), oleh karena itu pada puluhan detik menggunakan counter mode 6 (pembagi 6). Menggunakan counter JK 3 input, atau untuk menyamakan juga bisa mneggunakan counter JK 4 input.

Biner 6 = 0110

Untuk itu, nilai biner 6 di set menjadi 0000, agar pada hitungan ke 6 puluhan detik pada jam digital akan kembali dihitung bernilai 0 (nol).

Untuk nilai clock pada puluhan ini, diperoleh dari hasil input terakhirpada satuan detik jam.

Kemudian untuk menjadikan nilai biner 6 menjadi 0000, maka pada input yang menghasilkan biner 1, adihubungkan dengan gebang NAND, sehingga hasilkan akan 0 (nol). Kemudian hasilnya di masukkan kembali k Clr (Clear).

    Menit

      Satuan

Untuk satuan pada menit jam digital mempunyai prinsip kerja yang sama dengan satuan detik pada jam digital. Hanya saja, untuk Clock pada satuan menit diperoleh dari hasil input terakhir pada puluhan detik.


      Puluhan
Puluhan menit juga memiliki prinsip kerja yang sama dengan puluhan pada detik jam digital. Tetapi, untuk Clocknya diperoleh dari hasil input terakhir pada satuan menit jam digital tersebut.



    Jam

      Satuan

Satuan jam menggunakan Counter Mode 4, karena pada saat nilai satuannya 4 akan kembali disetting bernilai 0 (nol). Sama dengan menit dan detik. Biner dari 4 adalah 0100. Sehingga yang perlu di set 0 (nol) hanya 1 input saja. Kemudian hasilnya juga akan dimasukkan ke Clr (clear).

Hasil input terakhir, akan dijadikan nilai Clock pada puluhan jam.


    Puluhan
Puluhan jam, menggunakan Counter Mode 2. Karena itu pada saat nilai puluhannya 2 akan dihitung kembali dari 0 (nol). Biner 2 adalah 0010, sehingga yang perlu di setting bernilai 0 (nol) hanya 1 input saja. Untuk itu hasil input yang bernilai 1, dihubungkan dengan gerbang NAND kemudian hasilnya dimasukkan ke Clr (clear).

Gambar Rangkaian
 















prinsip kerja

Jam Digital pada dasarnya menerapkan prinsip kerja dari rangkaian counter yang disusun secara bertingkat. Counter pertama untuk menghitung menit dan counter kedua untuk menghitung jam. Rangkaian counter diwakili dengan melakukan pengurangan isi register secara looping. Tampilan angka dilakukan oleh rutin program yang melakukan scaning display terus-menerus. Timer interup digunakan untuk menginterupsi rutin program scan display setiap 50 ms. Interupsi ini memanggil beberapa rutin seperti, couter jam dan menit, perbaharui tampilan, cek tombol, dan konversi biner ke seven segmen.

Senin, 08 Desember 2014

Sistem Basis Data

System suatu kesatuan prosedur atau komponen yang saling berkaitan satu denngan yang lainnya bekerja sama sesuai aturan yang di terapkan sehingga membentuk suatu tujuan yang sama atau bisa saya sederhanakan menjadi,system merupakan kumpulan komponen yang saling berkaitan satu dengan yang lainnya bekerja dan memiliki tujuan yang sama.
Basis data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta mengenai obyek, orang dan lain-lain. Data dinyatakan dengan nilai (angka, deretankarakter, atau symbol).

komponen sebuah sistem basis data yaitu:
1.      Hardware
Biasanya berupa perangkat computer standar, media penyimpan sekunder dan media komunikasi untuk system jaringan.
2.      Operating System
Yakni merupakan perangkat lunak yang memfungsikan, mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam system komputer.Harus sesuai dengan DBMS yang digunakan.
3.      Database
Yakni basis data yang mewakili system tertentu untuk dikelola. Sebuah sistem basis data bias terdiri dari lebih dari satu basis data.
4.      DBMS (Database Management System)
Perang katlunak yang digunakan untuk mengelola basis data. Contoh kelas sederhana: dBase, Foxbase, Rbase, MS. Access, MS. Foxpro, Borland Paradox. Contoh kelas kompleks: Borland-Interbase, MS. SQL Server, Oracle, Informix, Sybase.
5.      User ( PenggunaSistem Basis Data )
 Orang-orang yang berinteraksidengansistem basis data, mulaidari yang merancangsampai yang menggunakan di tingkatakhir.
6.      Optional Software
 Perangkat lunak pelengkap yang mendukung. Bersifat opsional
7.      Abstraksi data
Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang sebenarnya dihadapi oleh pengguna sehari-hari.

Beberapa penyusun abstraksi :
·         Level Fisik (Physical Level)
Lapis fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) data sesungguhnya disimpan. Pada lapis inilah struktur data dijabarkan secara rinci.
·         Level Logik / Konseptual (Conceptual Level)
Lapis konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what) saja yang sesungguhnya di simpan pada basis data, dan juga menjabarkan hubungan-hubungan antar data secara keseluruhan.
·         Level Penampakan/pandangan (View Level)
Lapis pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bias berbeda-beda dan barangkali hanya mencakup sebagian dari basis data.
Beberapa manfaat dari sistem basis data yaitu:
·         Kecepatan dan kemudan
Dengan menggunakan basis data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Basis data memiliki kemampuan dalam mengelompokkan, mengurutkan bahkan perhitugnan dengan matematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan mudah.
·         Kebersamaan pemakai (sharability)
Sebuah basis data dapat digunakan oleh banyak user dan banyak aplikasi.Untuk data-data yang diperlukan oleh banyak bagian/orang, tidak perlu dilakukan pencatatan di masing-masing bagian, tetapi cukup dengan satu basis data untuk dipakai bersama. Misalkan data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan dan perpustaan. Tidak harus semua bagian ini mimiliki catatan data mahasiswa. Data cukup disediakan oleh sebuah basis data dan semua bias mengakses data tersebut sesuai dengan keperluannya.
·         Pemusatan control data
Karena cukup dengan satu basis data untuk banyak keperluan, pengontrolan terhadap data juga cukup di lakukan di satu tempat saja. Jika ada perubahan data alamat website, maka tidak perlu kita mengupdate semua data di masing-masing bagian tetapi cukup satu basis data.

·         Efisiensi ruang penyimpanan
Dengan pemakaian bersama, kita tidak perlu menyediakan tempat penyimpaman di berbagai tempat, tetapi cukup satu tempat saja.

Rekayasa Sistem

Rekayasa sistem adalah kumpulan konsep, pendekatan dan metodologi, serta alat-alat bantu (tools) untuk merancang dan menginstalasi sebuah kompleks sistem. Kompleksitas sistem bisa diakibatkan karena 2 hal yaitu kompleksitas dinamis dan kompleksitas detail. Kompleksitas detail ketika komponen atau sub-sistem yang dirancang tidak hanya banyak tetapi ditambah pula dengan multi-sourcing (multi suplier), multi standard, multi criteria dan lainnya.
Rekayasa sistem dewasa ini, terutama di Amerika, lekat dengan dunia militer, karena produk-produk militer memang memiliki kriteria akan kompleksitas detail seperti ini, misalnya pesawat tempur, kapal induk, sistem pertahanan rudal patrior dsb, dimana timbul kombinasi yang kompleks antara sub-sistem mekanis, sub-sistem elektronik dan sub-sistem manusia.
Disiplin ilmu sistem engineering sendiri dewasa ini sedang berevolusi untuk mencari jati diri. Sebagian besar masih bergabung dengan bidang ilmu lainnya seperti biologi, teknik industri, teknik komputer, teknik kimia (instalasi sebuah processing plant membutuhkan skill rekayasa sistem).[Hid07]
Dalam lingkup pengembangan perangkat lunak, rekayasa Sistem adalah kegiatan untuk menentukan spesifikasi, perancangan, pengimplementasian, penyebaran, dan pemeliharaan sistem sebagai satu kesatuan. Sehingga, rekayasa sistem atau lebih tepatnya, rekayasa sistem berbasis komputer berhubungan dengan semua aspek pengembangan dan evolusi sistem kompleks dimana perangkat lunak memainkan peran utama. Rekayasa sistem merupakan disiplin yang lebih tua dibandingkan dengan rekayasa perangkat lunak. Orang telah melakukan spesifikasi dan perakitan sistem industri secara kompleks seperti kereta api dan pabrik kimia selama lebih dari 100 tahun. Akan tetapi, seiring dengan bertambahnya persentase perangkat lunak pada sistem, maka teknik rekayasa perangkat lunak seperti pemodelan use – case, manajemen konfigurasi, dan lain sebagainya sering dipergunakan dalam proses rekayasa sistem [Som01].
Sommerville mendefinisikan sistem sebagai sekumpulan komponen yang saling berhubungan dan bekerja sama untuk mencapai tujuan. Definisi umum ini mencakup banyak jenis sistem. Sebagai contoh, sistem yang sederhana seperti sistem pencatatan skor mungkin hanya terdiri dari 2 atau 3 modul perangkat lunak. Sebaliknya, sistem kontrol lalu lintas dapat terdiri dari ratusan perangkat lunak dan keran, ditambah manusia sebagai pemakainya, yang membuat keputusan berdasarkan informasi dari sistem [Som01].
Sistem seringkali hierarkis, dimana bahwa mereka mencakup sistem – sistem lain. Sebagai contoh, sistem perintah dan kendali polisi mungkin melibatkan sistem informasi geografis untuk memberikan detail lokasi suatu peristiwa. Sistem – sistem lain inilah yang disebut sebagai subsistem. Karakteristik subsistem adalah kemampuannya untuk berinteraksi secara independen. Dengan demikian, beberapa sistem informasi geografis dapat dipakai pada sistem lain. Namun demikian, perilakunya pada sistem tertentu bergantung pada subsistem lain. Adanya hubungan yang kompleks dalam sistem inilah yang membuat rekayasa perangkat lunak merupakan bagian dari rekayasa sistem berbasis komputer mengingat pentingnya perangkat lunak pada sebuah sistem [Som01].
Pressman menyebut sistem yang didalamnya terdapat perangkat lunak sebagai sistem berbasis komputer. Pada sistem berbasis komputer terdapat komponen – komponen sebagai berikut :
  1. Perangkat Keras (Hardware)
  2. Orang (People)
  3. Perangkat Lunak (Software)
  4. Basis Data (Database)
  5. Prosedur (Procedure)
  6. Dokumentasi
Pada dasarnya, dari keenam komponen pembentuk sistem berbasis komputer, empat komponen terakhir diatas merupakan hasil aktivitas rekayasa perangkat lunak. Perangkat lunak sendiri terdiri dari artifak – artifak hasil rekayasa perangkat lunak yang merupakan hasil dari aktivitas proses rekayasa (pengembangan) sistem berbasis komputer


RANGKAIAN KOMBINASIONAL

A.    Pengertian rangkaian kombinasional terdiri dari 2 pengertian sebagai berikut :
Ø  Suatu rangkaian diklasifikasikan sebagai kombinasional jika memiliki sifat yaitu keluarannya ditentukan hanya oleh masukkan eksternal saja.
Ø  Suatu rangkaian diklasifikasikan sequential jika ia memiliki sifat keluarannya ditentukan oleh tidak hanya masukkan eksternal tetapi juga oleh kondisi sebelumnya.
Multiplexer
Sebuah Multiplexer adalah rangkaian logika yang menerima beberapa input data digital dan menyeleksi salah satu dari input tersebut pada saat tertentu, untuk dikeluarkan pada sisi output. Seleksi data-data input dilakukan oleh Selector line, yang juga merupakan input dari multiplexer tersebut.
·         Rangkaian kombinasional yang memiliki informasi biner dari beberapa input dan memberikan   single output
·         Biasanya, terdapat 2n input dan n selector
·         Bisa ditambahkan input enable untuk mengaktifkan multiplexer

Demultiplexer
Sebuah Demultiplexer adalah rangkaian logika yang menerima satu input dan mendistribusikan input tersebut ke beberapa input yang tersedia. Seleksi data-data input dilakukan oleh selector line, yang juga merupakan input dari demultiplexer tersebut.
·         Merupakan kebalikan dari Multiplexer
·         Mempunyai satu input data dan beberapa out put( yang dicontrol oleh selector untuk    menentukan keluaranyang diinginkan)
·         Merupakan Data Distributor (Pendistribusi data )
·         Jumlah masukan (1 Input) <Jumlah Keluaran (Output)


Model Sekuensial Linier (Waterfall) Dan Prototyping

Model Sekuensial Linier (Waterfall)
Model sekuensial linear disebut juga model waterfall atau air terjun. Model ini peertama kali muncul pada tahun1970 yang diperkenalkan oleh WinstonW.Royce. walaupun sudah dikenal dalam waktu yang lama dan sering di anggap kuno tetapi model ini paling banyak dipakai dalam industri perangkat lunak .
Model sekuensial linear berisi rangkaian proses yang disajikan secara terpisah, yaitu analisis kebutuhan,perancangan,pemgkodean,pemgujian, seta implementasi dan pemeliharaan. Setelah setiap proses dilakukan, proses tersebut ditutup dan pengembangan dilanjutkan pada proses berikutnya.
Untuk mengatasi kekurangna-kekurangan tersebut, dibuatlah model sekuensial linear yang dimodifikasis. Keunggulan model ini dibandingkan model sekuensial linear biasa adalah model ini memungkinkan tahap-tahap yang telah dilalui ditinjau kembali sehinnga jika ternyata terjadi kesalahan atau kekurangan dalam menentukan kebutuhan di tahap awal, bisa dilakukan perbaikan atau peambahan lagi.
Model sekuensial linier melingkupi aktivitas aktivitas sebagai berikut :
1.      Rekayasa dan pemodelan sistem/informasi
Karena sistem merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke software tersebut. Pandangan sistem ini penting ketika software harus berhubungan dengan elemen-elemen yang lain seperti software, manusia, dan database. Rekayasa dan anasisis system menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta disain tingkat puncak. Rekayasa informasi mancakup juga pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area bisnis.
2.      Analisis kebutuhan Software
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khusunya pada software. Untuk memahami sifat program yang dibangun, analis harus memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan. Kebutuhan baik untuk sistem maupun software didokumentasikan dan dilihat lagi dengan pelanggan.
3.      Desain
Desain software sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi software.
4.      Generasi Kode
Desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
5.      Pengujian
Sekali program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal software, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
6.      Pemeliharaan
Software akan mengalami perubahan setelah disampaikan kepada pelanggan (perkecualian yang mungkin adalah software yangdilekatkan). Perubahan akan terjadi karena kesalahan kesalahan ditentukan, karena software harus disesuaikan untuk mengakomodasi perubahan perubahan di dalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan software mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.
KEKURANGAN MODEL SEKUENSIAL LINEAR
1.      Masalah yang kadang terjadi ketika model sekuensial linier diaplikasikan adalah :
Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model ini melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan.
2.       Kadang kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya secara eksplisit. Model linier sekuensial memerlukan halini dan mengalami kesulitan untuk mengakomodasi ketidakpastiannatural yang ada pada bagian awal beberapa proyek.
3.      Pelanggan harus bersifat sabar. Sebuah versi kerja dari program program kerja itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka
4.      Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di mana banyak anggota tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Blocking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier


KELEBIHAN MODEL SEKUENSIL LINIER
1.      software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
2.       Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
Model Prototype
Prototype adalah sebuah Javascript Framework yang dibuat untuk lebih memudahkan proses dalam membangun aplikasi berbasis web.
Paradigma dari metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.
Model ini digunakan jika customer tidak menjelaskan detail kebutuhan input, proses atau output, sehingga developer tidak dapat memastikan algoritma yang akan dipakai, kesesuaian sistem operasi atau bentuk user interface. Prototyping model dimulai dengan mendengarkan kebutuhan user. Engineer dan customer bertemu dan menentukan semua tujuan software dan menentukan kebutuhan-kebutuhan. Developer kemudian membangun prototype dan user menguji coba prototype untuk memberikan feedback. Prototype dapat dijalankan sebagai sistem yang pertama. User bisa mendapatkan pengertian dari sistem yang sesungguhnya dan developer dapat membangun sistem dengan segera. Kekurangan : kontrak akan merugikan, dirugikan oleh keinginan customer yang meminta penambahan-penambahan. Kelebihan : akan mengurangi waktu pembuatan program, kebutuhan customer akan lebih terpenuhi dengan baik, jika kebutuhannya belum jelas, maka dengan prototype akan lebih menguntungkan.
Empat langkah yang menjadi karakteristik metode Prototyping yaitu
1.      Pemilihan fungsi
Mengacu pada pemilahan fungsi yang harus ditampilkan oleh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh: kasus yang akan diperagakan
2.      Penyusunan Sistem Informasi
Bertujuan untuk memenuhi permintaan akan tersedianya prototype
3.      Evaluasi
4.      Penggunaan Selanjutnya
Tahapan-tahapan Prototyping
1.      Pengumpulan kebutuhan : Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2.      Membangun prototyping : Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output)
3.      Evaluasi prototyping : Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.
4.      Mengkodekan sistem : Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai
5.      Menguji sistem : Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain
6.      Evaluasi Sistem : Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.
7.      Menggunakan sistem : Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Jenis-jenis Prototyping
Feasibility prototyping digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
Requirement prototyping digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
Desain Prototyping - digunakan untuk mendorong perancangan system informasi yang akan digunakan.
Implementation prototyping merupakan lanjytan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan.
Teknik-teknik Prototyping meliputi
1.      Perancangan Mode
2.      Perancangan Dialog
3.      Simulasi
Keunggulan dan Kelemahan Prototyping
Keunggulan Prototyping :
1.      End user dapat berpartisipasi aktif
2.      Penentuan kebutuhan lebih mudah diwujudkan
3.      Mempersingkat waktu pengembangan SI
4.      Adanya komunikasi yang baik antara pengembang dan pelanggan
5.      Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
6.      Pelanggan berperan aktif dalam pengembangan system
7.      Lebih menghemat waktu dalam pengembangan system
8.      Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
Kelemahan Prototyping :
1.      Proses analisis dan perancangan terlalu singkat
2.      Mengesampingkan alternatif pemecahan masalah
3.      Bisanya kurang fleksible dalam mengahadapi perubahan
4.      Prototype yang dihasilkan tidak selamanya mudah dirubah

5.      Prototype terlalu cepat selesai