PEMODELAN PERANGKAT LUNAK KELAS XI SEMESTER GANJIL
KONSEP REKAYASA PL Berasal dari 2 kata, yaitu Software (Perangkat Lunak) dan Engineering (Rekayasa). Perangkat Lunak (Software) adalah source code pada suatu program atau sistem source code dokumentasi Engineering atau Rekayasa adalah penerapan teori, metode, dan alat bantu yang sesuai untuk mencari solusi terhadap masalah dengan pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur, mesin, produk, proses atau sistem
DEFINISI REKAYASA PL Rekayasa Perangkat Lunak adalah suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak mulai yang mencakup hal-hal teknis hingga hal-hal manajerial proyek PL.
TUJUAN RPL Memperoleh biaya produksi perangkat lunak yang rendah. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
KOMPONEN PL / RUANG LINGKUP PL
KOMPONEN PL / RUANG LINGKUP PL (1) software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan
KOMPONEN PL / RUANG LINGKUP PL (2) software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL software engineering process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL software quality menitik beratkan pada kualitas dan daur hidup perangkat lunak
KARAKTERISTIK PL (1) Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses itu dimengerti. Visibility, apakah aktivitas‐aktivitas proses mencapai titik akhir dalam hasil yang jelas sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas. Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh CASE. Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat diterima dan digunakan dan mampu bertanggung jawab selama pembuatan produk perangkat lunak.
KARAKTERISTIK PL (2) Reliability, apakah proses didesain sedikian rupa sehingga kesalahan proses dapat dihindari sebelum terjadi kesalahan pada produk. Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga. Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan. Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi.
RAGAM MODEL PROSES PENGEMBANGAN PL MODEL AIR TERJUN (WATER FALL) MODEL PROTOTYPE MODEL RAD MODEL SPIRAL MODEL 4 GT
MODEL WATERFALL (1) Model Waterfall merupakan model klasik yang sederhana dengan aliran sistem yang linier.
MODEL WATERFALL (2) TAHAPAN PENGEMBANGAN : Analisis dan definisi persyaratan Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user. Perancangan sistem dan perangkat lunak Kegiatan ini menentukan arsitektur sistem secara keseluruhan Implementasi dan pengujian unit Perancangan perangkat lunak direalisasikan sebagai serangkaian program Integrasi dan pengujian sistem Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sitem telah terpenuhi Operasi dan pemeliharaan Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem.
MODEL WATERFALL (3) Keuntungan: Simple dan mudah diimplementasikan Mudah diatur Cocok untuk proyek kecil Kerugian: Tidak mengakomodasi perubahan requirement Resiko ketidakpastian tinggi Model yang buruk untuk proyek yang berorientasi obyek Model yang buruk untuk proyek lama
MODEL PROTOTYPE (1) Prototyping adalah pengembangan yang cepat dan pengujian terhadap model kerja (prototipe) dari aplikasi baru melalui proses interaksi dan berulang-ulang yang biasa digunakan ahli sistem informasi dan ahli bisnis.
MODEL PROTOTYPE (2) TAHAPAN PENGEMBANGAN : Analisis Kebutuhan Sistem Analisis dilakukan untuk melihat berbagai komponen yang dipakai sistem yang sedang berjalan meliputi hardware, software, jaringan dan sumber daya manusia. Desain Sistem Analisis sistem (system analysis) mendeskripsikan apa yang harus dilakukan sistem untuk memenuhi kebutuhan informasi pemakai. Pengujian Sistem Paket software prototipe diuji, diimplementasikan, dievaluasi dan dimodifikasi berulang-ulang hingga dapat diterima pemakainya Implementasi Setelah prototipe diterima maka pada tahap ini merupakan implementasi sistem yang siap dioperasikan dan selanjutnya terjadi proses pembelajaran terhadap sistem baru dan membandingkannya dengan sistem lama, evaluasi secara teknis dan operasional serta interaksi pengguna, sistem dan teknologi informasi.
MODEL PROTOTYPE (3) Keunggulan prototyping adalah : Adanya komunikasi yang baik antara pengembang dan pelanggan. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan. Pelanggan berperan aktif dalam pengembangan sistem. Lebih menghemat waktu dalam pengembangan sistem. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
MODEL PROTOTYPE (4) Kelemahan prototyping adalah : Pelanggan tidak melihat bahwa perangkat lunak belum mencerminkan kualitas perangkat lunak secara keseluruhan dan belum memikirkan peneliharaan dalam jangka waktu yang lama. Pengembang biasanya ingin cepat menyelesaikan proyek sehingga menggunakan algoritma dan bahasa pemrograman sederhana. Hubungan pelanggan dengan komputer mungkin tidak menggambarkan teknik perancangan yang baik.
MODEL RAD (1) Rapid Application Development (RAD) adalah sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek
MODEL RAD (2) Tahapan pengembangan : Requirement Planning Mengidentifikasikan kebutuhan informasi dan masalah yang dihadapi untuk menentukan tujuan, batasan-batasan sistem, kendala dan juga alternatif pemecahan masalah Design Workshop, Membuat desain proses bisnis dan desain pemrograman untuk data-data yang telah didapatkan dan dimodelkan dalam arsitektur system informasi. Implementation, Setelah Design Workshop dilakukan, selanjutnya sistem diimplementasikan (coding) ke dalam bentuk yang dimengerti oleh mesin yang diwujudkan dalam bentuk program atau unit program. Tahap implementasi sistem merupakan tahap meletakkan sistem supaya siap untuk dioperasikan.
MODEL RAD (3) Keunggulan : Berguna untuk proyek-proyek tempat persyaratan-persyaratan pengguna tidak pasti dan tidak tepat. Mendorong pengguna aktif dan partisipasi manajemen (berkebalikan dengan reaksi pasif pada model-model sistem yang tidak bekerja). Hal ini meningkatkan antusiasme pengguna akhir pada proyek. Proyek-proyek memiliki visibilitas dan dukungan lebih tinggi karena keterlibatan pengguna yang ekstensif selama proses. Para pengguna dan manajemen melihat solusi-solusi yang berbasis perangkat lunak dan bekerja lebih cepat daripada pengembangan yang model-driven. Error dan penghilangan cenderung untuk dideteksi lebih awal dan prototype daripada dalam model sistem.
MODEL RAD (4) Kelemahan : RAD mendorong mentalitas “mengkode, mengimplementasi, dan memperbaiki” yang meningkatkan biaya seumur hidup yang diperlukan untuk mengoperasikan, mendukung dan merawat sistem. Dapat dengan mudah memecahkan yang salah karena analisis masalah disingkat atau diabaikan. Membuat para analis minder untuk mempertimbangkan alternatif- alternatif teknis lain yang lebih bernilai. Kadang-kadang lebih baik membuang sebuah prototype, tapi para stakeholder enggan melakukannya karena menganggapnya sebagai hilangnya waktu dan usaha dalam produk saat ini. Penekanan pada kecepatan dapat berdampak terhadap kualitas yang disebabkan jalan-jalan pintas yang disarankan dengan buruk melalui metodologi tersebut.
MODEL SPIRAL (1) Model spiral adalah model proses perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek sistematis model sequensial linier.
MODEL SPIRAL (2) TAHAPAN PENGEMBANGAN : Perencanaan Mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg berhubungan. Analisis Resiko Menaksir resikomanajemen dan teknis. Perekayasaan Membangun satu atau lebih representasi dari apikasi tersebut. Evaluasi Pelanggan Mendapatkan umpan balik dari pelanggan.
MODEL SPIRAL (3) Kelebihan model Spiral : Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses . Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada set keadaan di dalam evolusi produk. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif . Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
MODEL SPIRAL (4) Kelemahan model Spiral : Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut
MODEL 4GT (1) Fourth Generation Techniques (4GT) mencakup seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi, yang akan menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.
MODEL 4GT (2) GAMBAR :
MODEL 4GT (3) TAHAPAN PENGEMBANGAN : Tahap Pengumpulan Kebutuhan Tahap ini dimulai dengan mengumpulkan serangkaian kebutuhan yang nantinya akan diterjemahkan ke dalam prototipe. Namun, apabila pelanggan tidak yakin dengan apa yang diperlukan dan fakta-fakta tidak jelas diketahui maka prototipe tidak dapat dikerjakan oleh peralatan 4GT. Tahap Merancang Strategi Tahap ini dibutuhkan untuk proyek besar yakni dengan menterjemahkan kebutuhan menjadi prototipe operasional agar tidak timbul masalah yang sama jika dibuat dengan model konvensional. Namun, untuk proyek skala kecil tahap ini dapat dihilangkan dengan langsung melakukan implementasi dengan menggunakan bahasa generasi keempat (4GT).
MODEL 4GT (4) TAHAPAN PENGEMBANGAN : Tahap Implementasi Menggunakan Bahasa Keempat untuk skala kecil tahap ini dapat langsung dilakukan ketika kebutuhan telah jelas, dan untuk proyek besar tahapan ini dijalankan setelah dirancang prototipe operasional. Implementasi yang menggunakan 4GT memudahkan pengembang software untuk menjelaskan hasil yang diharapkan yang nantinya akan diterjemahkan ke dalam bentuk kode sumber dan kode objek. Tahap Produksi Tahap ini merupakan langkah terakhir yakni mengubah implementasi 4GT ke dalam hasil akhir berupa produk.
MODEL 4GT (5) Kelebihan model ini Kekurangan model ini : Waktu lebih efisien Peningkatan produktivitas yang besar. Kekurangan model ini : Sulit memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan bahasa pemrograman yang konvensional Terdapat juga masalah dalam hal kode sumber yang tidak efisien. Pemeliharaan sistem software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses pengkajian.
Terima Kasih