Model-Model Pengembangan Perangkat lunak
Assalamu’alaikum Warahmatullahi Wabarakatuh....
Pada postingan kali ini saya akan membahas tentang"Model-model pengembangan perangkat lunak".
Apa sih pengembangan perangkat lunak itu?Pengemangan perangkat lunak adalah suatu penerapan struktur pada pengembangan suatu perangkat lunak(Software),yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu.Nah dalam prosesnya ada beberapa model pengembangan sistem perangkat lunak,diantaranya :
1. Model Waterfall
Model waterfall merupakan salah satu model untuk perencanaan dari sebuah perangkat lunak.Model waterfall adalah salah satu model klasik yang bersifat sistematis,lah kok sistematis?knp di sebut sistematis?karena model ini dikerjakan secara berurutan.
Contoh gambar model waterfall
Berikut ini adalah alur pengembangan waterfall model :
A. Rekayasa dan pemodelan sistem/informasi
B.Analisis kebutuhan perangkat lunak
2. Prototyping
Metode Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunal,tetapi juga merevolusi metode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau waterfall model.
1.Pemilihan fungsi
2.Penyusunan sistem informasi
3.Evaluasi
4.penggunaan selanjutnya
A.Pengumpulan kebutuhan
B.Membangun prototyping
C.Evaluasi prototyping
D.Mengkodekakan Sistem
· Tahapan model ini :
Pada postingan kali ini saya akan membahas tentang"Model-model pengembangan perangkat lunak".
Apa sih pengembangan perangkat lunak itu?Pengemangan perangkat lunak adalah suatu penerapan struktur pada pengembangan suatu perangkat lunak(Software),yang bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu.Nah dalam prosesnya ada beberapa model pengembangan sistem perangkat lunak,diantaranya :
1. Model Waterfall
Model waterfall merupakan salah satu model untuk perencanaan dari sebuah perangkat lunak.Model waterfall adalah salah satu model klasik yang bersifat sistematis,lah kok sistematis?knp di sebut sistematis?karena model ini dikerjakan secara berurutan.
Berikut ini adalah alur pengembangan waterfall model :
A. Rekayasa dan pemodelan sistem/informasi
B.Analisis kebutuhan perangkat lunak
C.Desain
D.Pengkodean
E.Pengujian
F.Pemeliharaan
- Corrective maintance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak yang baru terdeksi pada saat perangkat lunak digunakan.
- Adaptive maintenace : yaitu dilakukannya penyesuaian sesuai dengan lingkungan yang baru.
- Perfektive maintenace : Bila perangkat lunak sukses dipergunakan oleh pemakai,pemeliharaan ditunjukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan,peningkatan kinerja dan sebagainya.
- Kelebihan model waterfall
- Merupakan model pengembangan paling handal dan paling lama digunakan
- cocok untuk sistem software yang bersifat generik
- pengerjaan projek sistem akan terjadwal dengan baik dan mudah dikontrol
- Kekurangan model waterfall :
- Persayaratan sistem harus digambarkan dengan jelas
- Rincian proses harus benar-benar jelas dan tidak boleh berubah ubah
- Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan
- Contoh penerapan dari pengembangan model waterfall model
2. Prototyping
Metode Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunal,tetapi juga merevolusi metode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau waterfall model.
Contoh gambar model Prototyping
Ada 4 langkah dalam proses pengembangannya yaitu :
2.Penyusunan sistem informasi
3.Evaluasi
4.penggunaan selanjutnya
D.Mengkodekakan Sistem
E.Menguji sistem
F.Evaluasi sistem
G.Menggunakan sistem
G.Menggunakan sistem
- Kelebihan model prototype :
- Pelanggan berpartisipasi aktif dalam pengembangan sistem,sehingga hasil produk pengembangan akan semakin mudah di sesuaikan dengan keinginan dan kebutuhan pelanggan.
- Penentuan kebutuhan lebih mudah diwujudkan.
- Mempersingkat waktu pengembangan produk perangkat lunak.
- Adanya komunikasi yang baik antara pengembang dan pelanggan.
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
- Lebih menghemat waktu dalam pengembangan sistem
- Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
- Kekurangan model prototype
- Proses analisis dan perancangan terlalu singkat.
- Biasanya kurang fleksibel dalam mengahadapi perubahan.
- Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
- Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
- Contoh penerapan metode prototype
3. V-Model
Metode V-model merupakan perluasan dari model waterfall.disebut sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model waterfall.jika dalam model waterfall proses dijalankan secara linear,maka dalam model V proses dilakukan bercabang.Dalam model V ini digambarkan hubungan antara tahap pengembangan software dengan tahap pengujiannya.
Contoh gambar V-Model
Berikut penjelasan masing-masing tahap beserta tahap pengujiannya :
1. Requiment Analysis dan acceptance Testing
Tahap Requirement analysis sama seperti yang terdapat dalam model waterfall.keluaran dari tahap ini adalah dokumentasi kebutuhan pengguna.
Acceptance testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.
2. System Design & System Testing
Dalam tahap ini analis sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini adalah spesifikasi software yang meliputi organisasi sistem secara umum, struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram dan Data Dictionary.
3.Architecture Design & Integration Testing Sering juga disebut High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan berdasar kepada beberapa hal seperti: pemakaian kembali tiap modul, ketergantungan tabel dalam basis data, hubungan antar interface, detail teknologi yang dipakai.
4. Module Design & Unit Testing
Sering juga disebut sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang lebih kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan programmer melakukan coding. Tahap ini menghasilkan spesifikasi program seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output untuk tiap modul, dan lain-lain.
5.Coding
Dalam tahap ini dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
- Kelebihan V-model
- V Model sangat fleksibel
- V Model mendukung project tailoring dan penambahan dan pengurangan method dan tool secara dinamik
- Kekurangan V-model
- V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
- V Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.
- Dimana saja penerapan v-model di terapkan?
- Dalam proyek teknologi informasi di Jerman
- ngembangan V Model dalam bidang industri dapat dilakukan dengan mudah
4.Fouintain Model
Model Fontain merupakan perbaikan logis dari model waterfall, langkah langkah dan urutan prosedurnya pun masih sama. Namun pada model Fountain ini kita dapat mendahulukan sebuah step ataupun melewati step tersebut, akan tetapi ada yang tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum melakukan coding jika itu di lewati maka akan ada tumpang tindih dalam siklus SDLC.
Contoh gambar Fouintain model
· Tahapan Fountain Model
- User requirements analysis ( Analisis Kebutuhan Pengguna), disini kita sebagai programmer dalam mengembangkan sistem harus menganalisa kebutuhan terhadap pengguna baik itu dalam cara penggunaan yang mudah maupun efisiensi terhadap sistem yang pengguna butuhkan.
- User requirements specifications (Spesifikasi kebutuhan pengguna), dalam tahap ini kita harus tahu apa saja yang dibutuhkan pengguna dalam sistem yang sedang kita kembangkan.
- Software requirements specifications (Spesifikasi persyaratan perangkat lunak), dalam tahap ini kita harus menyesuaikan software yang kita buat jika di lihat dari sisi pengguna. Jika pengguna awam tentunya kita harus menciptakan Software yang mudah digunakan.
- Systems/broad design (logical design), sebelum pengimplementasi dalam coding kita harus mendesain sistem yang akan kita buat / kembangkan.
- Program/detailed design (physical design), dalam tahap ini kita membuat desain yang mendekati fisik atau secara deail.
- Implementation/coding, setelah tahap desain barulah kita mengimplementasikan dalam coding
- Program testing: units, dalam tahap ini kita testing / cek kembali unit nit yang dibutuhkan dalam sistem yang sedang kita kembangkan .
- Program testing: system, dalam tahap ini kita test kembali sistem yang telah kita buat.
- Program use, dalam tahap ini kita ajarkan ke pengguna program yang telah kita buat.
- Software maintenance, setelah sistem di pasang maka tentunya kita harus rutin mengupdate software / sistem yang telah kita buat agar terhindar dari kesalaha / bugs.
5.Model Spiral / Model Boehm
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya.
Contoh gambar Model spiral
Tahapan Model Spiral / Model Boehm :
1. Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.
2. Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
3. Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
4. Tahap Rekayasa (engineering):pembuatan prototipe.
5. Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
6. Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
· Kelebihan model ini:
Adalah sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
· Kekurangan model ini:
Adalah waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juga biaya yang besar. Selain itu, sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk diterapkan.
· Contoh model spiral :
Contoh penerapan dalam model ini yaitu aplikasi pemasangan layanan reguler smart pt.pln (persero)
6. Extreme Programming
sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel.
Contoh gambar Model Extreme Programming
1. Whole Team
Seluruh kontributor dalam proyek yang menggunakan pendekatan XP duduk bersama sebagai suatu tim.
2. Planning game
Tahapan ini merupakan langkah awal dalam pembangunan sistem dimana dalam tahapan ini dilakukan beberapa kegiatan perencanaan yaitu,identifikasi permasalahan, menganalisa kebutuhan sampai dengan penetapan jadwal pelaksanaan pembangunan sistem,dalam jurnal.(Irmawati Carolina, 2019)
· Kelebihan model Extreme Programming :
1. Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas juga diperhitungkan.
2. Menekankan pada kesederhanaan dalam pengkodean: “What is the simplest thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
3. Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
4. Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.
· Kelemahan model Extreme Programming :
1. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
· Contoh model ini :
Contoh model ini yaitu dengan penerapan Metode Extreme Programming Dengan Framework
7. Agile Mode
Adalah sekumpulan metode sebuah pengembangan perangkat lunak(software) atas dasar prinsip yang sama atau pengembangan sistem jangka pendek. Sehingga metode agile memerlukan adaptasi yang cepat dari pengembang terhadap perub ahan dalam bentuk apapun.
Contoh gambar Model Agile
· Tahapan model ini :
Pada siklus hidup agile sendiri, terdapat fase test. Tahap ini memastikan agar produk yang dihasilkan harus sesuai dengan desain (spesifikasi) yang telah dibuat pada tahap design. Dengan adanya tahap ini, produk yang dihasilkan akan lebih terjaga kualitasnya.
· Kelebihan Metode Agile
Berikut ini adalah kelebihan metode agile:
1. Pembangunan system dibuat lebih cepat
2. Meningkatkan kepuasan kepada klien
3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
4. ika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
· Kekurangan Metode Agile
Berikut ini kekurangan metode agile:
1. Siap menghadapi beberapa perubahan
2. Bekerja dengan cepat, jika tim tidak dapat menyesuaikan tidak akan maksimal
3. Rencana awal dapat berubah se waktu-waktu
4. Jadwal tidak menentu
5. Jika tim tidak bisa komunikasi dengan baik maka akan terjadi kemunduran
· Contoh model ini :
Metode Agile telah banyak digunakan untuk pengembangan produk perangkat lunak dan beberapa dari mereka menggunakan karakteristik tertentu dari perangkat lunak, seperti teknologi objek. Namun, teknik ini dapat diterapkan untuk pengembangan produk non-software, seperti komputer, motorik kendaraan, peralatan medis, makanan, dan pakaian, lihat pengembangan produk Fleksibel .
Cukup sekian artikel yang bisa saya jelaskan mohon maaf atas kesalahan penulisan dan bila ada kata-kata yang tidak berkenan mohon dimaafkan :)
Wassalamu’alaikum Warahmatullahi Wabarakatuh...
Sumber :
(Binanto, 2004)Binanto, I. (2004).
Kajian metode-metode pengembangan perangkat lunak multimedia. Jurnal
Penelitian., 17(1), 42–52.
Firmansyah, Y., &
Udi, U. (2017). Penerapan Metode SDLC Waterfall Dalam Pembuatan Sistem
Informasi Akademik Berbasis Web Studi Kasus Pondok Pesantren Al-Habib Sholeh
Kabupaten Kubu Raya, Kalimantan Barat. Jurnal Teknologi Dan Manajemen
Informatika, 4(1). https://doi.org/10.26905/jtmi.v4i1.1605
Syakti, F. (2019).
Metode Pengembangan Perangkat Lunak Berbasis Mobile: a Review. Jurnal Bina
Komputer, 1(2), 82–89.
https://doi.org/10.33557/binakomputer.v1i2.440
(Syakti, 2019)(Firmansyah &
Udi, 2017)







Comments
Post a Comment