A. Kualitas Perangkat Lunak dan Source code
1. Pengembangan Perangkat Lunak
Proses pengembangan perangkat lunak menurut Dwi Maryono dalam Cakap Mengaplikasikan
infomatika Kelas XII SMA dan MA, adalah proses membagi pekerjaan pengembangan perangkat lunak ke
dalam fase yang berbeda. Tujuannya meningkatkan desain,manajemen produk, dan manajemen proyek.
Sedikitnya ada enam metode yang sering digunakan untuk mengembangkan perangkat lunak.
a. Model Air Terjun Klasik (Waterfall)
Metode ini pertama kali dikembangkan oleh
Winston W. Royce. Model ini sangat sederhana, tetapi
cukup baik dan ideal untuk pengembangan perangkat
lunak. Terdapat lima tahapan proses, yaitu
communication,planning,modelling,construction,dan
deployment.
Communication merupakan tahapan yang pemilik
proyek menyampaikan kebutuhan dan
permasalahannya kepada pengembang. Selanjutnya,
bersama-sama mereka mengumpulkan data-data yang
diperlukan dan merumuskannya ke dalam fitur-fitur
perangkat lunak.
Prototype merupakan sebuah metode yang
pengembang dan client dapat saling membantu
dalam merancang suatu sistem. Pengembang tidak
hanya berperan di tahap awal saja,tetapi akan
berlanjut terus hingga pada tahap akhir dan sistem
dapat berjalan dengan baik sesuai dengan
perencanaan.
Terdapat beberapa tahapan dalam model
prototype sebagai berikut.
1. Mengumpulkan kebutuhan
2. Membangun Prototype
3. Evaluasi Prototype
4. Pengkodean Sistem
5. Pengujian Sistem
6. Evaluasi Sistem
7. Penggunaan Sistem
Rapid Application Development (RAD) merupakan metode yang menggunakan
pendekatan iterative dan incremental, tetapi menitikberatkan pada tenggat waktu dan
efisiensi biaya yang sesuai dengan kebutuhan.
Pengembangan dengan metode RAD dianggap lebih singkat.Hal ini karena baik
pengembang maupun pelanggan sama-sama terlibat aktif di setiap proses hingga hasilnya
dapat tercapai. Selain itu, tahapan kerja pada metode ini juga lebih sedikit.
Kelebihan:
1) Adanya Prototype
2) Proses pengembangan lebih cepat
3) Pengurangan penulisan kode yang kompleks karena keberadaan reuse code.
Kekurangan:
1) Kurang releven untuk proyek skala besar
2) Diperlukan komitmen yang kuat antara pengembang dan pengguna
3) Membutuhkan sumber daya yang besar untuk proyek yang besar.
Metode ini pertama kali diperkenalkan oleh barry Boehm. Menurut Barry Boehm
model ini sangat berguna untuk melakukan pembangunan proyek-proyek besar dan
prosesnya dilakukan dengan memperhatikan risiko proyek sehingga pada akhirnya akan
menghasilkan model proses yang tepat sesuai kebutuhan pengguna.
Metode spiral merupakan gabungan dari model prototype dan model waterfall.
Kegunaan dari model ini untuk melakukan perubahan,penambahan, dan pengembangan
perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan
keinginan dan kebutuhan penggunanya.
Metode spiral menerapkan alur kerja yang kompleks,Panjang, dan memakan waktu
lama. Metode ini tidak cocok untuk proyek kecil-kecilan,apalagi dengan biaya
rendah.Sebaliknya,proyek berskala besar dapat dikerjakan dengan mudah menggunakan
metode ini.
Selain itu, metode spiral juga kurang tepat jika dilakukan oleh pengembang
perangkat lunak yang belum berpengalaman. Prosesnya bisa menjadi terlalu kompleks
bagi pemula yang masih memerlukan banyak latihan.
Agile merupakan metode pengembangan perangkat lunak jangka pendek yang didasarkan pada
pengembangan berulang, dimana persyaratan dan solusinya berkembang melalui kolaborasi antara tim lintas
fungsi dengan pengaturan sendiri.Agile memiliki kelebihan, seperti hemat biaya, menambah produktivitas
tim,meningkatkan kualitas perangkat lunak, dan menambah tingkat kepuasaan konsumen.Adapun
kekurangannya, memunculkan permasalahan dari arsitektur ataupun desain dan sulitnya memprediksi
analisis, desain, dan pengembangan
Scrum merupakan metode yang menggunakan Teknik pendekatan agile. Metode ini menggunakan
kerangka kerja di mana orang dapat mengatasi masalah adaptif yang kompleks tetapi juga secara produktif
dan kreatif memberikan produk dengan nilai setinggi mungkin.
Kerangka kerja scrum membagi proses pengembangan menjadi target-target kecil yang dinyatakan
dalam satuan sprint. Sprint harus selesai dalam waktu singkat untuk tujuan akhir yang lebih besar.
Proses pengembangan dimulai dengan merumuskan target sprint prioritas dari setiap tim, dilanjutkan
dengan pengidentifikasi pekerjaan spesifik serta proses pengerjaan sesuai target sprint yang telah
ditentukan. Sementara itu, akan dilakukan evaluasi secara berkala pada setiap sprint selama masa
penggarapan.
Setiap sprint berakhir,tim yang terlibat selalu menyampaikan hasil pekerjaannya. Tahapan ini juga
mencakup evaluasi menyeluruh dan perumusan ide-ide baru yang mungkin bisa diterapkan pada sprint
berikutnya.

( kualitas source code).pptx

  • 2.
    A. Kualitas PerangkatLunak dan Source code 1. Pengembangan Perangkat Lunak Proses pengembangan perangkat lunak menurut Dwi Maryono dalam Cakap Mengaplikasikan infomatika Kelas XII SMA dan MA, adalah proses membagi pekerjaan pengembangan perangkat lunak ke dalam fase yang berbeda. Tujuannya meningkatkan desain,manajemen produk, dan manajemen proyek. Sedikitnya ada enam metode yang sering digunakan untuk mengembangkan perangkat lunak. a. Model Air Terjun Klasik (Waterfall) Metode ini pertama kali dikembangkan oleh Winston W. Royce. Model ini sangat sederhana, tetapi cukup baik dan ideal untuk pengembangan perangkat lunak. Terdapat lima tahapan proses, yaitu communication,planning,modelling,construction,dan deployment. Communication merupakan tahapan yang pemilik proyek menyampaikan kebutuhan dan permasalahannya kepada pengembang. Selanjutnya, bersama-sama mereka mengumpulkan data-data yang diperlukan dan merumuskannya ke dalam fitur-fitur perangkat lunak.
  • 3.
    Prototype merupakan sebuahmetode yang pengembang dan client dapat saling membantu dalam merancang suatu sistem. Pengembang tidak hanya berperan di tahap awal saja,tetapi akan berlanjut terus hingga pada tahap akhir dan sistem dapat berjalan dengan baik sesuai dengan perencanaan. Terdapat beberapa tahapan dalam model prototype sebagai berikut. 1. Mengumpulkan kebutuhan 2. Membangun Prototype 3. Evaluasi Prototype 4. Pengkodean Sistem 5. Pengujian Sistem 6. Evaluasi Sistem 7. Penggunaan Sistem
  • 4.
    Rapid Application Development(RAD) merupakan metode yang menggunakan pendekatan iterative dan incremental, tetapi menitikberatkan pada tenggat waktu dan efisiensi biaya yang sesuai dengan kebutuhan. Pengembangan dengan metode RAD dianggap lebih singkat.Hal ini karena baik pengembang maupun pelanggan sama-sama terlibat aktif di setiap proses hingga hasilnya dapat tercapai. Selain itu, tahapan kerja pada metode ini juga lebih sedikit. Kelebihan: 1) Adanya Prototype 2) Proses pengembangan lebih cepat 3) Pengurangan penulisan kode yang kompleks karena keberadaan reuse code. Kekurangan: 1) Kurang releven untuk proyek skala besar 2) Diperlukan komitmen yang kuat antara pengembang dan pengguna 3) Membutuhkan sumber daya yang besar untuk proyek yang besar.
  • 5.
    Metode ini pertamakali diperkenalkan oleh barry Boehm. Menurut Barry Boehm model ini sangat berguna untuk melakukan pembangunan proyek-proyek besar dan prosesnya dilakukan dengan memperhatikan risiko proyek sehingga pada akhirnya akan menghasilkan model proses yang tepat sesuai kebutuhan pengguna. Metode spiral merupakan gabungan dari model prototype dan model waterfall. Kegunaan dari model ini untuk melakukan perubahan,penambahan, dan pengembangan perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan keinginan dan kebutuhan penggunanya. Metode spiral menerapkan alur kerja yang kompleks,Panjang, dan memakan waktu lama. Metode ini tidak cocok untuk proyek kecil-kecilan,apalagi dengan biaya rendah.Sebaliknya,proyek berskala besar dapat dikerjakan dengan mudah menggunakan metode ini. Selain itu, metode spiral juga kurang tepat jika dilakukan oleh pengembang perangkat lunak yang belum berpengalaman. Prosesnya bisa menjadi terlalu kompleks bagi pemula yang masih memerlukan banyak latihan.
  • 6.
    Agile merupakan metodepengembangan perangkat lunak jangka pendek yang didasarkan pada pengembangan berulang, dimana persyaratan dan solusinya berkembang melalui kolaborasi antara tim lintas fungsi dengan pengaturan sendiri.Agile memiliki kelebihan, seperti hemat biaya, menambah produktivitas tim,meningkatkan kualitas perangkat lunak, dan menambah tingkat kepuasaan konsumen.Adapun kekurangannya, memunculkan permasalahan dari arsitektur ataupun desain dan sulitnya memprediksi analisis, desain, dan pengembangan Scrum merupakan metode yang menggunakan Teknik pendekatan agile. Metode ini menggunakan kerangka kerja di mana orang dapat mengatasi masalah adaptif yang kompleks tetapi juga secara produktif dan kreatif memberikan produk dengan nilai setinggi mungkin. Kerangka kerja scrum membagi proses pengembangan menjadi target-target kecil yang dinyatakan dalam satuan sprint. Sprint harus selesai dalam waktu singkat untuk tujuan akhir yang lebih besar. Proses pengembangan dimulai dengan merumuskan target sprint prioritas dari setiap tim, dilanjutkan dengan pengidentifikasi pekerjaan spesifik serta proses pengerjaan sesuai target sprint yang telah ditentukan. Sementara itu, akan dilakukan evaluasi secara berkala pada setiap sprint selama masa penggarapan. Setiap sprint berakhir,tim yang terlibat selalu menyampaikan hasil pekerjaannya. Tahapan ini juga mencakup evaluasi menyeluruh dan perumusan ide-ide baru yang mungkin bisa diterapkan pada sprint berikutnya.