2. A. Kualitas Perangkat Lunak dan Source Code
1. Pengembangan perangkat lunak
Proses pengembangan perangkat lunak menurut Dwi Maryono dalam Cakap Mengaplikasikan Informatika
Kelas XII SMA dan MA, adalah proses membagi perkerjaan pengembangan perangkat lunak ke dalam fase yang
berbeda. Tujuannya meningkatkan desain, menajemen produk, dan manajemen proyek.
A. Model Air Terjun Klasik (Waterfall)
Metode ini pertama kali dikembangkan oleh Winston W. Royce. Terdapat lima tahapan proses, yaitu
communication, planning, modelling, construction, dan deployment. (Gambar di slide ke 3)
4. Communication merupakan tahapan yang pemilik proyek menyampaikan kebutuhan dan permasalahannya
kepada pengembang.
Proses perancangan (planning) dimulai dengan merumuskan estimasi kerja, kebutuhan sumber daya, serta
perencanaan alur kerja. Dilanjutkan dengan tahap perancangan struktur data, arsitrktur, tampilan, dan
algoritma perangkat lunak.
Pada tahap construction mencakup juga tahapan uji coba pengoperasian perangkat lunak untuk mengatahui
kelemahannya
Setelah berhasil dibuat, perangkat lunak disebarluaskan untuk diimplementasikan pada perangkat pengguna
secara umum.
Kelebihan metode waterfall yaitu melibatkan berbagai proses yang sistematis dan komprehensif. Kekurangan
metode waterfall yaitu proses yang baku sehingga pengembangan sulit melakukan improvisasi.
B. Prototype
Prototype meruapakan sebuah metode yang pengembang dan client dapat saling membantu dalam
merancang suatu sistem.
Terdapat beberapa tahapan dalam model prototype sebagai berikut.
1) Mengumpulkan kebutuhan.
2) Membangun prototype
3) Evaluasi prototype
5. 4) Pengkodean sistem
5) Pengujian sistem
6) Eavaluasi sistem
7) Pengunaan sistem
Berikut kelebihan dan kekurangan metode prototype.
Kelebihan:
1. Terjalinnya komunikasi yang baik antara pelanggan dan pengembang
2. Memudahkan pengembang dalam menentukan kebutuhan pelanggan
3. Penentuan kebutuhan lebih mudah diwujudkan
4. Adanya partisipasi aktif client dalam pengembangan sistem
5. Hemat waktu
Kekuarangan:
1. Proses perancangan dan analisis terlalu singkat
2. Kurang fleksibel dalam menghadapi perubahan
3. Terkadang pengembang membuat kompromi implementasi yang tidak relavan dan algoritma yang tidak
efesien.
6.
7. C. Model Rapid Application Development (RAD)
Rapid Application Development (RAD) merupakan metode yang menggunakan pendekatan iterative dan
incremental, tetapi lebih menitikberatkan pada tenggat waktu dan efesiensi biaya yang sesuai dengan
kebutuhan.
Tahap awal metode RAD yaitu melakukan identifikasi tujuan yang dilanjutkan dengan komunikasi dan
perancangan dimana seluruh pihak aktif dalam setiap perumusannya. Tahap kedua yaitu mendesain sistem
sesuai kebutuhan yang juga melibatkan kedua belah pihak. Saat aplikasi telah sesuai dengan desain perangkat
lunak, melalui berbagai perbaikan, barulah proses kerja yang menginjak tahap terakhir yaitu implementasi.
Kelebihan:
1. Adanya prototype
2. Proses pengembangan lebih cepat
3. Pengurangan penulisan kode yang kompleks
Kekurangan:
1. Kurang relavan
2. Diperlukan komitmen yang kuat
3. Membutuhkan sumber daya yang besar
8. D. Spiral
Metode ini pertama kali diperkenalkan oleh Barry Boehm. Menurut Barry Boehm model ini berguna untuk
melakukan pembangunan proyek besar dan prosesnya dilakukan dengan memperhatikan risiko proyek
sehingga pada akhirnya menghasilkan model proses yang tepat sesuai kebutuhan.
Model spiral merupakan gabungan dari model prototype dan model waterfall. Kegunaan model ini untuk
melakukan perubahan, penambahan, dan pengembangan perangkat lunak dengan memaksimalkan aspek
kecepatan dan ketepatan berdasarkan keinginan dan kebutuhan.
E. Agile
Agile merupakan metode pengembangan perangkat lunak jangka pendek pada pengembangan berulang,
persyaratan dan solusinya berkembang melalui kolaborasi antara tim lintas fungsi dengan pengaturan sendiri.
Kelebihan :
1. Hemat biaya
2. Menambah produktifitas
3. Meningkatkan kualitas
4. Menambah tingkat kepuasan
Kekurangan :
1. Muncul permasalahan dari arsitektur dan desain
2. Sulit memprediksi analisis, desain dan pengembangan
9. F. Scrum
Metode ini menggunakan kerangka kerja yang dapat mengatasi masalah adaptif yang kompleks, tetapi juga
produktif dan kreatif.
Kerangka kerja scrum membagi proses pengembangan menjadi target kecil yang disebut satuan sprint.
Proses pengembangan dimulai dengan merumuskan target sprint prioritas dari setiap tim, dilanjutkan dengan
pengidentifikasian pekerjaan spesifik serta proses pengerjaan sesuai target sprint yang telah ditentukan.
Sementara itu, akan dilakukan evaluasi secara berkala pada setiap sprint selama masa penggarapan.