Rabu, 30 September 2020
Materi Perangkat Lunak Pertemuan 3
Rabu, 23 September 2020
Materi Perangkat Lunak Pertemuan 2
Model Proses Pengembangan Perangkat Lunak
Model Proses Pengembangan Perangkat Lunak
Dalam era digital saat ini perangkat lunak (software) sudah banyak sekali mengalami perkembangan sehingga menghasilkan berbagai macam model atau jenis dari perangkat lunak tersebut, diantaranya yaitu:
1. Model Waterfall
Model waterfall atau disebut juga "classic life cycle" merupakan pengembangan perangkat lunak yang menekankan fase-fase yang berurutan dan sistematis. Pengembangan perangkat lunak, model ini cenderung menjadi salah satu pendekatan yang kurang iteratif dan fleksibel.
Dalam model ini terdapat beberapa tahapan dalam prosesnya :
a. Requirements Analysis and Definition, merupakan tahap analisa kebutuhan sistem.
b. System and Software Design, merupakan tahap mengalokasikan kebutuhan hardware dan software.
c. Implementation and Unit Testing, merupakan tahap perangkat lunak direalisasikan sebagai satu set program atau unit program (coding) dan kemudian dilakukan pengujian (testing).
d. Integration and System Testing, merupakan tahap dimana program diintegrasikan dan diuji sebagai sistem yang lengkap sesuai kebutuhan dan persyaratan dalam perangkat lunak.
e. Operation and Maintenance, merupakan tahap perawatan yang melibatkan koreksi kesalahan yang tidak ditemukan pada tahap sebelumnya.
2. Model Prototype
Model prototype merupakan pengembangan perangkat lunak yang kompleks dan juga iteratif. Model ini dikerjakan secara bersama-sama (pengembang) dan hanya mendefinisikan perangkat lunak secara objektif tanpa merinci kebutuhan input, pemrosesan dan outputnya. Adapun tahapan dalam model ini :
a. Tahap analisa kebutuhan, dengan dilakukannya komunikasi antara tim pengembang PL dengan pelanggan.
b. Tahap Quick design, membangun rancangan umum sesuai dengan yang diketahui dari tahap analisa.
c. Tahap pembuatan prototipe.
d. Tahap evaluasi, prototipe diserahkan kepada stakeholder untuk dievaluasi.
e. Tahap iterasi, tahap ini akan terjadi saat prototipe diperbaiki.
3. Model Spiral
Model spiral merupakan model perangkat lunak yang menggabungkan sifat iteratif pada model prototype dengan aspek berurutasn dan sistematis pada model waterfall. Model ini sangat berguna untuk melakukan pembangunan proyek-proyek besar dan prosesnya dilakukan dengan memperhatikan resiko proyek sehingga pada akhirnya akan menghasilkan model proses yang tepat sesuai kebutuhan pengguna. Adapun tahapan dalam model ini :
a. Tahap Liason, tahap komunikasi antara pihak pengembang dengan pelanggan (user)
b. Tahap planning, tahap perencanaan yang meliputi sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
c. Tahap analisis resiko, tahap untuk mengidentifikasi resiko dan menghasilkan solusi alternatif untuk mengurangi resiko tersebut.
d. Tahap rekayasa (engineering), tahap pembuatan prototype
e. Tahap konstruksi dan pelepasan (release), tahap pembangunan perangkat lunak untuk diuji.
f. Tahap evaluasi, tahap dimana pelanggan/pemakai (user) memberi tanggapan terhadap perangkat lunak.
4. Model Rapid Application Development (RAD)
Model RAD merupakan model perangkat lunak yang tergolong dalam teknik incremental (bertingkat) dan menekankan pada siklus pembangunan pendek, singkat, dan cepat. RAD juga menggunakan metode iteratif (berulang) dan mengadopsi model waterfall sehingga pembangunan dalam waktu yang singkat dapat dicapai. Adapaun tahapan dalam model ini :
a. Requirements Planning, tahap mengidentifikasikan tujuan-tujuan aplikasi atau sistem dan syarat-syarat informasi yang ditimbulkan dari tujuan-tujuan tersebut.
b. User design, tahap pengguna berinteraksi dengan sistem analis kemudian mengembangkan model dan prototipe
c. Construction, tahap pengembangan program dan aplikasi yang mirip dengan SDLC dan pengguna terus berpartisipasi dan masih dapat menyarankan perubahan atau peningkatan.
d. Cutover, tahap peralihan termasuk konversi data, pengujian, pergantian ke sistem baru, dan pelatihan pengguna.
5. Model Scrum
Model scrum merupakan model perangkat lunak yang menggunakan prinsip-prinsip pendekatan AGILE (prinsip-prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun), yang bertumpu pada kekuatan kolaborasi tim, incremental product dan proses iterasi untuk mewujudkan hasil akhir. Adapun tahapan dalam model ini :
a. Backlog, tahap dimana daftar prioritas kebutuhan proyek/fitur dan item yang menyediakan nilai bisnis bagi pelanggan dapat ditambahkan.
b. Sprints, tahap dimana unit kerja diperlukan untuk mencapai kebutuhan yang didefinisikan dalam backlog yang harus sesuai dengan time box (waktu yang telah dialokasikan untuk menyelesaikan beberapa tugas) yang telah didefinisikan (biasanya 30 hari)
c. Scrum Meetings, tahap diadakannya pertemuan untuk membantu tim mengungkap potensi masalah sedini mungkin.
d. Demo, tahap memberikan peningkatan perangkat lunak untuk pelanggan sehingga fungsionalitas yang telah diterapkan dapat didemonstrasikan dan dievaluasi oleh pelanggan.
Selasa, 15 September 2020
Materi Perangkat Lunak pertemuan 1
Perangkat Lunak & Rekayasa Perangkat Lunak
1. PERANGKAT LUNAK
Definisi Perangkat Lunak:
2. KARAKTERISTIK
A. Karakteristik Perangkat Lunak :
B. Kategori Perangkat Lunak :
• System Software
• Application
Software
• Engineering/Scientific Software
• Embedded Software
• Product-Line Software
• Web/Mobile Applications
•
Artificial Intelligence Software
C. Jenis Perangkat Lunak Aplikasi :
>Stand-Alone Applications
Contoh aplikasi seperti aplikasi Microsoft Office pada PC, program CAD, software
manipulasi foto(Photosop, dsb), dll.
>Interactive Transaction-Based Aapplications
Aplikasi yang mengeksekusi pada komputer remote dan yang diakses oleh pengguna dari
PC mereka sendiri atau terminal.
>Batch Processing Systems
Sistem bisnis yang dirancang untuk memproses data input yang besar untuk membuat
output yang sesuai. Contoh: sistem penagihan telepon, dan sistem pembayaran gaji.
>Embedded Control Systems
Sistem kontrol PL yang mengontrol dan mengelola perangkat keras, atau sistem yang tertanam pada
jenis sistem lain. Contoh: PL yang mengontrol pengereman anti-lock mobil, dan software dalam oven
microwave untuk mengontrol proses
memasak.
>Entertainment Systems
Sistem yang terutama untuk penggunaan pribadi dan yang
dimaksudkan untuk menghibur pengguna.
>Systems for Modelling and Simulation
Sistem yang dikembangkan untuk model proses fisik atau situasi, dengan banyak objek yang saling
berinteraksi.
>Data Collection Systems
Sistem yang mengumpulkan data dari lingkungan mereka menggunakan satu set sensor dan
mengirim data ke sistem lain untuk
diproses.
>Systems of Systems
Sistem yang terdiri dari sejumlah sistem PL lain.
D. Perangkat Lunak Warisan
• Perangkat lunak warisan harus diadaptasikan sedemikian rupa sehingga memenuhi kebutuhan dari
lingkungan atau teknologi komputasi yang baru.
•
harus ditingkatkan kinerjanya supaya
dapat menjalankan kebutuhan bisnis baru.
• harus diperluas sedemikian rupa agar dapat saling mengoperasikan dengan sistem/PL/basisdata
modern lainnya.
• harus dirancang ulang sehingga dapat hidup
dalam lingkungan pengoperasian jaringan komputer.
E. Kegagalan Perangkat Lunak
• Meningkatnya tuntutan
• Harapan yang rendah
F. Stakeholder dalam RPL
> Users: adalah orang-orang yang akan
menggunakan PL.
> Customer (client): adalah
orang-orang yang membeli atau memesan PL.
> Software Developer: adalah
orang-orang yang mengembangkan dan memelihara PL.
> Development Manager: adalah orang-orang yang menjalankan organisasi yang
mengembangkan perangkat lunak, dan biasanya memiliki latar belakang pendidikan dalam
administrasi bisnis.
3. REKAYASA PERANGKAT LUNAK
Definisi Rekayasa Perangkat Lunak :
Alasan Perangkat Lunak di Rekayasa :
1. Perangkat lunka telah menyatu secara maya dengan setiap aspek
dalam kehidupan.
2. Kebutuhan IT yang sudah banyak dituntut oleh individu, bisnis dan pemerintah
bertambah kompleks.
3. Individu, bisnis, dan pemerintah mengandalkan PL untuk mengambil keputusan yang
bersifat taktis dan strategis.
4. Nilai aplikasi terus bertambah, kemungkinan jumlah pengguna dan usia PL akan
bertambah.
Proses Perangkat Lunak
• Sebuah proses Perangkat Lunak adalah urutan kegiatan yang mengarah ke produksi produk
software.
• Empat kegiatan proses PL adalah:
a. Spesifikasi
PL
b. Pengembangan
PL
c.
Software validasi
d. Software evolusi
• Kerangka
kerja proses membangun dasar bagi proses RPL yang lengkap dengan cara
mengidentifikasikan aktivitas kerangka kerja yang cocok untuk semua proses RPL.
•
Kerangka kerja proses mencakup sekumpulan
akitivitas yang berperan sebagai penyangga dan cocok dengan keseluruhan proses
PL.
•
Aktivitas kerangka kerja proses:
a. Komunikasi
b. Perencanaan
c.
Pemodelan
d. Konstruksi
e. Penyerahan
PL ke pelanggan/user
•
Aktivitas kerangka kerja proses RPL disempurnakan
oleh aktivitas yang bertindak sebagai penyangga.
•
Kegiatan-kegiatan penyangga mencakup:
a. Penelusuran
dan kendali proyek PL
b. Manajemen
risiko
c. Penjaminan
kualilitas PL
d. Tinjauan
teknis
e. Pengukuran
f.
Manajemen konfigurasi PL
g. Manajemen
penggunaan ulang
h. Persiapan
produk kerja dan produksi
4. PRAKTEK REKAYASA PERANGKAT LUNAK
a. Memahami permasalahan
•
Siapa yang terkait dalam pemecahan masalah?
•
Apa saja yang tidak diketahui?
•
Data, fungsi, dan fitur yang dibutuhkan
•
Dapatkah masalah dikategorikan (dipecah menjadi
masalah yang lebih kecil)?
•
Dapatkah masalah diwakili dengan grafis?
• Dapatkah dibuat sebuah model analisis?
b. Merancang solusi
•
Pernahkah ada masalah serupa sebelumnya dan
telah didapatkan pemecahan masalahnya?
•
Dapatkah sub-masalah didefinisikan?
• Dapatkah menyusun solusinya?
c. Menjalankan rancangan
•
Apakah solusi cocok dengan masalah?
•
Apakah kode program dapat dilacak secara
langsung?
•
Apakah komponen dari solusi sudah tepat?
d. Memeriksa hasil
•
Uji setiap komponen dari solusi dengan
menggunakan strategi pengujian
•
Apakah solusi sesuai dengan data, fungsi dan
fitur yang dibutuhkan?
Prinsip-Prinsip Umum RPL
a. Alasan
keberadaan PL
b. Sederhana
c.
Pertahankan visi
d. Apa
yang dibuat, akan digunakan oleh konsumen/pengguna
e. Membuka
diri terhadap masa depan
f.
Merancang selangkah ke depan sehingga dapat
digunakan kembali
g. Review
5. MITOS-MITOS PERANGKAT LUNAK
A. Mitos Managemen
B. Mitos Pelanggan
C. Mitos Praktisi
REFERENSI
Bell, Douglas. 2005. Software Engineering for Students, 4th.
London:
Addison-Wesley.
Booch, Grady. James Rumbaugh. and Ivar Jacobson. 1999.
Unified Modeling Language User Guide. Canada: Addison
Wesley.
Fowler, Martin. 2004. UML Distilled: A Brief Guide to the
Standard Object Modeling Language, 3rd. USA:
Addison-Wesley.
Lethbridge, Timothy C., Robert L. 2005. Object-Oriented Software Engineering, 2nd. London: McGraw-Hill
Pressman, Roger S. and Bruce R. Maxim. 2015.
Software Engineering: A Practitioner’s Approach, 8th. New
York:McGraw-Hill.
Shelly, Gary B. and Rosenblatt, Harry J. 2012. Systems
Analysis and Design. 9th.
USA: Boston.



