MODEL PERANCANGAN PERANGKAT LUNAK


1.WATERFALL  
                   
Model ini dibilang cukup klasik namun banyak orang nyang menggunakan model ini dalam perancangan perangkat lunak.Sesuai dengan namanya,model waterfall ini memiliki tampilan seperti sebuah air terjun  yang dibuat tersusun dari atas ke bawah.Model ini diperkenalkan oleh wiston royce sekitar tahun 1970.Output dari setiap tahapan merupakan inputan bagi tahapan yang berikutnya.Pereancangan perangkan dalam model ini dikelompokan dalam 5 tahapan yaitu sebagai berikut:

A.Analisa kebutuhan
Pada tahap ini pengembang perangkat lunak akan mencari dan mengamati sebuah permasalahan yang memungkinkan terdapat peluang untuk dihubungkan dengan sebuah perangkat lunak.Jika permasalan sudah diketahui,maka cari tahu lebih lanjut mengenai komponen apa saja yang diperlukan untuk mendukung pembuatan perangkat lunak tersebut.

B.Perancangan
Tahap ini merupakan tahap yang akan menentukan bagaimana tampilan menyeluruh dari perangkat nantinya.Mulai dari pemodelan user interface, algoritma pemrograman yang digunakan ,dan bahasa
pemrograman yang akan digunakan.

C. Pengkodean/coding
Jika perancangan sudah selesai maka tahap selanjutnya adalah mengimlemenasikan atau menerapkan desain kedalam sebuah bahasa pemrograman yang sudah ditentukan.Jika pemrograman sudah selesai sebuah software akan mulai terlihat hasilnya walaupun masih belum sempurna.

D.Pengujian
 Pada tahap ini diperlukan ketelitian atau kejelian yang tinggi dalam pengerjaannya.Karena jika terjadi kesalan pada tahap pemrograman yang terlewatan,kemungkinan besar nantinya pengguna dari sofrware tersebut akan kecewa dan kurang percaya dengan produk produk selanjutnya.

E.Pengoprasian dan perawatan
Jika sekiranya dalam pengujian sudah tidak terdapat kesalahan maka perangkat lunak(software) siap untuk di komersialkan.Namun bukan berarti jika software sudah selesai  projek sudah selsai.Karena dalam pengoprasian perangkat lunak diperlukan perawatan yang teratur agar software tidak
ketinggalan zaman dan menyesuaikan dengan lingkungan.

Kelebihan

  • Tahap pengembangan tetap, Mudah diaplikasikan dan teratu
  •  Cocok untuk produk/software yang sudah jelas kebutuhannya dari awal sehingga minim kesalahan
  • Biasanya menghasilkan kualitas software yang baik
  • Terorganisir,setiap face harus diselesaikan dengan lengkap untuk menuju bisa fase selanjutnya
Kekurangan

  • Pelanggan harus lama menunggu karena proses dijalankan bertahap
  • Perubahan ditengah produksi akan membingungkan tim
  • Adanya waktu kosong karena menunggu proyek dari tim lain
  • Sulit untuk melakukan perubahan 
2.Prototyping model

Pada model ini mengembang akan membuat terlebih dahulu prototype/kerangka dari sebuah software.Jika kerangka sudah selesai mereka akan mempresentasikannya pada pelanggan,pelanggan tersebut nantinya bisa menentukan dan mengusulkan fitur apa saja yang nantinya mereka inginkan.Sehingga hasil dari program sesuai dengan yang diinginkan.Pada model ini pengembangan dan perubahan akan dilakukan berulang-ulang sampai akhirnya hasil sesuai dengan yang diinginkan.
prototyping model diklarifikasikan kedalam beberapa tipe;

  • Reusable prototype:prototype yang akan ditansformasikan kedalam bentuk akhir/final
  • Throwway prototype:prototype yang dibuang setelah selesai menjalankan maksudnya
  • Input/output prototype:prototype yang terbatas/hanya menampilkan pada antar muka pengguna(user interface)
  • Processing prototype:prototype yang meliputi perawatan file dasar dan proses proses transaksi
  • System prototype:Prototype yang berupa model lengkap dari perangkat lunak

Strategi utama model ini adalah kerjakan yang mudah terlebih dahulu dan sampaikan pada pelanggan sesegera mungkin.

Tahapan pengembangan prototyping model

A.Analisa kebutuhan prototype
menentukan garis besar kebutuhan sebuah software seperti tampilan dan fungsi.

B.Perancangan prototype
pada tahap ini pengembang akan membuat rancangan sederhan dari software yang berfokus di penyajian pada pelangan sesuai dengan  hasil analisa.

C.Evaluasi prototype
jika perancangan sudah selesai maka pengembang akan menampilkannya pada pelanngan.Pada tahap ini pihak pelanggan memiliki kebebasan dalam menentukan isi dari prototype tersebut.Jika sekiranya rancangan kurang memuaskan maka pengembang akan mengulang perancangan sampai pelanggan mengatakan puas.

D.Pengkodean sistem
Prototype yang sudah disepakati akan langsung diaplikasikan kedalam bahasa pemrograman atau yang biasanya disebut coding,

E.Menguji Sistem
Setelah selesai di coding software akan di uji melalui beberapa pengujian.Hal tersebut dilakukan untuk mencari letak kesalahan program.

F.Evaluasi sistem
Software yang selesai akan kembali ditampilkan kepada pelanggan.Jika hasil belum memuaskan maka pengembang akan melakukan perubahan lagi.

G.Menggunakan sistem
Program yang sudah sesuai dengan permintaan siap untuk dijalankan.

Kelebihan

  • Sesuai dengan yang di inginkan pelanggan
  • Lebih hemat dalam pengembangan
  • Adanya komunikasi yang baik dengan pelanggan
  • Penerapan  fitur lebih mudah
Kekurangan

  • Tidak memperhatikan jangka panjang
  • Kurang fleksibel dalam mengalami perubahan
  • Proses analisis dan perancangan terlalu singkat
3.Spiral Model

Model ini merupakan gabungan dari model waterfall dengan pengendalian yang sistematisnya dan prototyping dengan pengulangannya.Dikenal dengan sebutan Spiral boehm.Ditemukan oleh Barry boehm sekitar tahun 1988.Spiral model merupakan model yang dibuat dengan memperhatikan resiko.

Model ini termasuk kedalam model lama yang cocok diterapkan untuk pengembangan dan perancangan perangkat lunak berskala besar..Dalam pengembangannya spiral model  akan berjalan layaknya model waterfall dimana proses akan dikerjakan secara berurutan tiap fasenya.Dan tiap protoype/blueprint yang dikerjakan akan dikirim kepada pemesan.seginnga pengembang dan pemesan dapat saling memahami kondisi satusama lain mulai dari pemberian dana dan waktu yang sesuai.
   
Dalam perancangannya spiral mode di bagi mnejadi beberapa tahapan diantaranya:

A.Liason
Pada permulaan pihak pengembang dan  akan bertemu dan membaha menngenai perancangan software.

B.Planning
Pada tahap ini pengembang akan menentukan perencanaan dalam pembuatan Software.Mulai dari suber daya,jadwal pengerjaan,serta komponen lainnya yang menunjang dalam pembuatan software.

C.Analysy Risk
Di tahap ini pihak pengembang harus bisa mepertimbangkan kemungkinan apa saja yang dapat menguntungkan maupun merugikan bagi pengembangan.

D.Perekayasaan(engineering)
Jika perencanaan dan analisa sudah selesai maka tahap selanjutnya yang harus dilakukan adah pembuatan protorype.

E. Tahap konstruksi dan release
Setelah selesai dibuat,proptotype akan diuji dan dikembangkan menjadi software keseluruhan.

F.Tahap evaluasi
Pada tahap ini perancang akan kembali bertemu dengan konsumen untuk membahas kembali mengenai hasil kerja dari software.Jika hasil belum memuas
maka software akan dibuat kembali sampai memenuhi target.

Kelebihan

  • Mempertimbangkan resiko sehingga dapat diandalka dalam pengembangan skala besar.
  • Dengan cepat mengetahui letak kesalahan dan kekurangan karena dapat diamati dengan baik
  • Pengembang dan pemesan dapat memahami tiap tahapanyag dilakukan
  • Perubahan yang terjadi dapat diselesaikan secara sistematis
Kekurangan

  • Waktu yang digunakan cukup lama.
  • Biaya besar
  • Kesulitan mengontrol proses
  • Tidak cocok untuk proyek kecil
4.Rational Unfield Process(RUP)

Rational unifield process merupakan suatu metode rekayasa peragkat luank yang dibuat dengan mengumpulkan berbagai best practite yang terdapat pada industri perangkat lunak.Ciri metode ini adalah menggunakan Use-case driven dan pendekatan interatif untuk siklus pengembangan perangkat lunak

RUP menggunakan konsep object oriented dengan aktifitas yang berfokus pada pengmbangan model dengan menggunakanUnifed Model Language(UML)

Tahapan-tahapan dalam RUP

A.Inception
Melakukan  analisa kebutuhan user ,melakukan perancangan awal perangkat
Membuat versi alpha
Merupakan tahap untuk menentukan sistem yang akan dikembangkan.Aktivitas mencakup,Analisa sistem,target yang akan dibuat,arsitektur,serta komponen tambahan dalam pemgembangan.

B.Elaboration
Perancangan perangkat lunak mulai dari menambahkan fitur perangkat lunak,dan membuat beta versi.

Pada tahap ini pengembang akan mengevaluasi lebih lanju mengenai program tersebut.seperti mempertimbangkan kemungkinan berjalannya perangkat dan biaya yang diperlukan dalam pembiayanya

Elaboration merupakan tahap untuk melakukan design lengkap yang berdasarkan hasil analisa.Aktivitas mencakup pembuatan design arsitektur subsistem,desain database,desain user interface,desain komponen sistem,format data,dll.

C.Construction
Pengimplementasian rancangan perangkat lunak yang sudah dibuat dan sudah disetujui serta membuat dokumen perangat tersebut
Pada tahap ini pengembang akan mengerjakan projek sampai selesai.mulai dari mendesign,mengoding dan menguji software tersebut.

D.Transition
Software yang sudah jadi tersebut akan di berikan kepada pemesan Yang nantinya pemesan bisa mengajukan untuk memperbarui maupun memperbaiki sistem pada pengembang.Melakukan instalasi,serta melakukan sosialisasi mengenai perangkat lunak

Kelebihan 

  • Memungkinkan adanya penambahan pada saat pemrosesan
  • mendukung pengulangan pada pengembangan software
  • Memberikan petunjung mengenai penggunaan UML secara efektif
kekurangan
  • Model ini hanya dapat digunakan pada pengembangan berborientasi objek dengan berfokus pada uml
  • membutuhkan waktu yang cukup lama dibanding dengan model XP

5.Extreme Programming(XP)

Extreme programming adalah salahsatu metodologi dalam pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan sehingga lebih adaptif dan fleksibel.Cepat disini bukan hanya berfokus pada pemrograman/coding tetapi meliputi seluruh area pengembangan perangkat lunak

Extreme programming pemodelan perangkat lunak yang cocok digunakan untuk kelompok pemrograman yang berukuran kecil.Model mengambil fokus pada projek yang skalanya tidak berkelanjutan.Mereka lebih mengutamakan proses yang cepat namun memuaskan pemesan.XP programmer akan membuat projek dengan memperhatian aspek yang wajibnya saja.Sedangkan untuk fitur-fitur tambahan yang sekiranya kurang perlu akan diabaikan.

Tahap dalam Extreme Programming:

A.Planning
Pada tahap awal ini pihak pengembang akan saling bekerjasama dalam menentukan projek yang akan dikerjakan.

B.Design
Pengembang akan membuat tampilan program agar terlihat siple untuk berjaga-jaga jika ada
perubahan,sehingga waktu yang digunakan cukup sedikit.

C.Coding
Pada pemrograman extreme programming akan membuat program dengan simple namun memenuhi target.XP programer hanya akan menulis program yang dianggapnya sangat penting dan akan mengambaikan beberapa pemrograman yang walaupun bisa digunakan tapi kurang penting.

D.Testing
Jika prses coding sudah selesai,Pengembang akan menguji program tersebut dari berbagai aspek .Jika sekiranya program sudah bagus dan disetujui oleh pemesan maka program siap digunakan
Extreme programmer memiliki karakteristik tersendiri diantaranya

Sasaran Xp adalah tim yang dinemtuk engan ukuran kecil sampai medium saja,Hal ini dimaksud untuk menghadapi requiremnets yang tidak jelas maupun terjadinya perubahan-perubahan yang sangat cepat.

Untuk menerapkan model  XP ada 4 karakteristik yang harus dimiliki oleh pengmbang diantaranya:

1.Simplity(Kesederhanaan)
XP sangat mengutamkan kesederhanaan dalam pembuatan programnya.XP akan menulis program yang dianggapnya perlu dan akan mengambaikan bebrapa komponen yang  walaupun bisa digunakan tetapi tidak terlalu wajib untuk dibuat.

2.Feedback(Umpan Balik)
Melaporkan setiap kegiatan dengan jarak interval waktu yang telah ditentukan.Hal ini bertujuan untuk menghindari  Kesalah dari dini.

3.Courange(Keberanian)
XP selalu berani dalam mengambil tindakan dan mengembangkan ide barunya dalam pemrograman.Jika sekirangya terjadi kesalahan dalam pemrograman maka xp haus berani membuat ulang program tersebut.

4.Comunication

Bagi perekayasa perangkat lunak komunikasi yang baik merupakan hal yang penting dan  harus dikuasai.Karena pada saat menerima tawaran dari pemesan maka hal pertama yang akan dilakukan adalah saling bertukar pikiran dengan pemesan tersebut.Jika hal tersebut berjalan dengan baik maka pemesanpun akan merasanyaman dan mempercayakan tugasnya.Dan pengembangpun akan mengetahui dengan jelas apa yang diinginkan pemesan.

Kelebihan

  • Kepuasan klien dicapai
  • System dibuat dengan cepat
  • Menjalin komunikasi yang baik dengan klien

Kekurangan

  • Selalu ada perubahan yang diinginkan customer
  • Tidak membuat kode yang detail
  • Tidak ada dokumen formal dalam pembuatan

Baca Juga
.
6.Model 4 GT
Istilah fourth-generation(generasi keempat) mengarah pada sekumpulan software(tool) yang digunakan untuk memenuhi kebutuhan dalam pengembangan sebuah perangat lunak.Tool-tool tersebut akan membangkitkan kode pemrogrograman secara otomatis.Proses pada model ini mirip dengan waterfall (diawali dengan pengumpulan persyaratan perangkat lunak)
Tool 4GT diantaranya:

  • Database query
  • Pembentukan laporan(report Generation)
  • Kemampuan Spreadsheet
  • Manipulasi data
  • Definisi dan interaksi layar(Scree)
  • Kemampuan grafik yang tinggi
  • Pembentukan objek dan source(Object and source generation)

Tahap-Tahap dalam model 4GT:

A.Tahap Pengumpulan Kebutuhan
Pada tahap ini Pengembang dan customor akan saling bertemu.pemesan akan menjelaskan kebutuhan yang ingin dibuat yang nantinya akan diterjemahkan kedalam prototype.

B.Tahap merancang Strategi
Pada tahap ini pengembang akan menentukan proses dalam pebuatan prototype.mulai dari mencari resiko,menentukan jadwal pembuatan, dll.

C.Tahap implementasi
Pada tahap ini pengembang software akan menerjemahkan perancangan yang sebelumnya kedalam source code dan object code.

D.Tahap produksi
Pada tahap ini pengembang akan mengimpementasikan hasil source kedalam sebuah produk yang sudahjadi.produk yang sudah jadi ersebut siap untuk diberikan pada pemesan

Kelebihan

  • pengguna tidak membutuhkan pengetahuan bahasa pemrograman ,karena kode komputer dapat dibangkitkan dengan 4GT.
  • Mengurangi waktu pengembangan dan meningkatkkan manusia yang mengembangkan perangkat lunak.

Kekurangan

  • Kode komputer yang dihasilkan tidak efisien dan perawatnya pun masih dipertanyakan
  • Pengguna masih terbatas pada aplikasi system informasi bisnis,Khusus analisis informasi dan pelaporan yang mengacu pada databae besar.

Penutup
Terimakasih telah berkunjung.Nantikan ulasan dari refisiku selanjutnya

Related Posts