PERANGKAT LUNAK Antara Proses & Siklus Hidup Beberapa buku teks atau buku referensi seringkali melakukan proses sinonim antara Proses Perangkat Lunak (software process) dengan Siklus Hidup Pengembangan Perangkat Lunak atau Software Development Life Cycle (SDLC).
Meski secara harafiah kedua istilah tersebut
berbeda, tetapi masih banyak yang menganggap bahwa keduanya sama. • Dalam beberapa kajian SDLC sesungguhnya merupakan bagian dari Proses Perangkat Lunak itu sendiri. (karena Proses bersentuhan langsung dengan SDLC itu sendiri sebagai sebuah rangkaian Proses Hidup dari sebuah Perangkat Lunak). • Siklus Hidup Perangkat Lunak meliputi : Perangkat Lunak tidak terpakai lagi atau terpakai lagi dengan versi terbaru (melalui revisi). Dengan mempelajari Siklus Hidup dari Perangkat Lunak, maka secara otomatis juga akan mempelajari Proses Hidup dari Perangkat Lunak itu sendiri dan jika dirasa perlu maka diputuskan apakah Perangkat Lunak itu sudah dianggap usang dan mati atau harus direvisi lebih lanjut menjadi sebuah Perangkat Lunak yang baru. (versi terbaru). Mempelajari Siklus Hidup merupakan langkah awal dari Pembelajran RPL secara utuh. Definisi Siklus Hidup : Secara umum dapat disimpulkan bahwa Siklus Hidup Perangkat Lunak adalah urutan hidup sebuah Perangkat Lunak berdasarkan perkembangan Perangkat Lunak yang ditentukan oleh Pengembang Perangkat Lunak itu sendiri. Sehingga dapat ditentukan usia fungsional dari sebuah Perangkat Lunak, apakah akan menjadi usang dan mati atau lahir kembali dengan dalam bentuk berbeda menggunakan model Proses tertentu. Definisi Proses Perangkat Lunak (Software Process) : Proses Perangkat Lunak adalah sekumpulan aktivitas maupun metode yang digunakan Pengembang Perangkat Lunak dalam melakukan penyelesaian Perangkat Lunak. Jika Siklus Hidup lebih berorientasi kepada urutan waktu maka Proses Perangkat Lunak lebih fokus terhadap metode yang digunakan dalam membangun sebuah Perangkat Lunak Siklus Hidup & Proses Perangkat Lunak Sebagai Contoh : Seorang Pengembang Perangkat Lunak yang tidak memahami Siklus Hidup dan Proses Perangkat Lunak umumnya akan langsung melakukan Proses Pemrograman sesaat setelah melakukan survey sejenak mengenai Kebutuhan Pelanggan, tanpa melakukan Perancangan ataupun Tahapan Analisa. Akibatnya bukan Percepatan Proses tetapi malah memperlambat waktu Pengembang Perangkat Lunak akibat banyaknya revisi yang harus dilakukan saat Proses Testing terjadi. Waterfall Model
• Siklus Hidup yang paling populer di dunia
Rekayasa Perangkat Lunak adalah Waterfall Model (Model Air Terjun)
• Waterfall Model yaitu, sebuah proses
Hidup Perangkat Lunak memiliki sebuah proses yang linear dan sekuensial Waterfall Model memiliki 6 (enam) tahapan, yaitu : 1. Definisi kebutuhan (Requirement Definition) 2. Desain Sistem dan Perangkat Lunak (Software Design and System) 3. Implementasi dan Testing unit (Implementation and unit Testing) 4. Integrasi dan Testing Sistem (Integration and System Testing) 5. Uji coba (Testing) 6. Operasional dan Pemeliharaan (Operation and Maintenance) Waterfall Life Cycle Prinsip Kerja dari Waterfall Model, yaitu : Tiap tahapan yang ada di dalam Waterfall Model tidak akan dapat dilakukan atau dilaksanakan jika tahapan sebelumnya belum dilakukan. Sehingga seorang Software Engineer berkewajiban tetap menjaga Siklus Hidup tetap dapat terlaksana tanpa terjadinya sebuah overlap antara satu tahap dengan tahap yang lain sehingga Proses Pengembangan Perangkat Lunak dapat berjalan efisien. Kelemahan dari Waterfall Model :
1. Waterfall model akan sangat sulit
diterapkan apabila tidak adanya koordinasi yang baik dari sebuah tim Pengembang Perangkat Lunak serta kerja sama yang baik antara pihak Pengembang Perangkat Lunak dengan pihak Pengguna Perangkat Lunak. 2. Waterfall Model akan sangat cocok apabila diterapkan pada pihak Pengguna Perangkat Lunak. 3. Pengguna sering kali mengalami kesulitan untuk mendefinisikan kebutuhan dari sistem yang akan digunakan. (dalam tahap definisi kebutuhan). 4. Pihak Pengembang Perangkat Lunak melakukan kesalahan klasik yakni melakukan proses Pengembangan Perangkat Lunak dengan menggunakan “learning by doing”. (Tahapan Definisi Kebutuhan Sistem dan Tahapan Implementasi dikerjakan bersamaan). Siklus Hidup menurut Gustafson terdiri dari beberapa tahapan, yaitu : 1. Studi Kelayakan. 2. Analisa Kebutuhan Pengguna 3. Perencanaan 4. Desain 5. Implementasi 6. Testing 7. Instalasi 8. Pemeliharaan Siklus Hidup Model Spiral :
Siklus hidup ini dibuat oleh Boehm yang
merupakan evolusi dari Waterfall Model. Model Spiral Tahapan dalam Model Spiral yaitu : 1. Planning atau Perencanaan dari Perangkat Lunak. Di dalam tahap ini berisi tentang waktu pengerjaan, sumber daya yang dibutuhkan, serta informasi dalam pegerjaan proyek. 2. Risk Analysis atau Analisa Resiko, tahapan ini menyatakan resiko yang mungkin terjadi baik secara teknis maupun secara manajerial. 3. Engineering atau tahapan Pembuatan Perangkat Lunak. 4. Construction and Release, tahapan ini menyatakan bahwa Perangkat Lunak yang telah jadi siap diinstalasikan ke Pengguna disertai Proses Training dan Pembuatan Dokumentasi. 5. Customer Evaluation, tahapan ini merupakan tahapan umpan balik dari Pengguna Perangkat Lunak. Tahapan ini juga merupakan dasar dari Pengembangan Perangkat Lunak selanjutnya. 2. Proses Perangkat Lunak Salah satu Proses Perangkat Lunak yang dianggap “modern” saat ini adalah CMMI (Capability Maturity Model Integration) yang menggangap bahwa sebuah Perangkat Lunak harus terus menerus mengalami pematangan Proses hingga tiba saatnya untuk melakukan optimasi Perangkat Lunak itu sendiri. CMMI sendiri merupakan gabungan dari Pengembangan Proses dalam lingkup RPL. Tujuan Utama dari CMMI adalah mencari relasi antar proses yang saling terintegrasi dan memiliki tahapan-tahapan tertentu dalam pelaksanaannya. CMMI dibuat oleh SEI (Software Engineering Institute) yaitu lembaga yang dibiayai oleh DoD (Departement of Defense) yang berdiri sejak tahun 1984. CMMI merupakan pengembangan dari CMM (Capability Maturity Model) yang dibuat pada tahun 1993, yg memiliki 5 (lima) tahapan, yaitu : Initial, Repeatable, Defined, Managed dan Optimizing. CMM kemudian dikembangkan menjadi CMMI pada tahun 2006 dengan menambahkan detail area Proses dan detail Model. Meski demikian, tahapan yang ada dalam CMMI secara umum sama dengan tahapan yang ada di dalam CMM. Tiap Tahapan dalam CMMI disebut sebagai Maturity Level (ML) yang terdiri dari praktik yang generik dan berelasi secara spesifik untuk sebuah kumpulan Area Proses yang dapat meningkatkan Kinerja Organisasi. Tahapan-Tahapan CMMI yaitu : 1. ML Inisialisasi Pada level ini, proses yang terjadi umumnya masih terlihat kacau, karena organisasi masih belum dianggap stabil dalam menjalankan Proses. Untuk melampaui tahapan ini, maka dibutuhkan orang-orang yang “heroik” dalam organisasi, sehingga mereka dapat bersikukuh untuk menjalankan Perangkat Lunak yang sudah ada. 2. ML Pengaturan Pada tahapan ini, organisasi telah yakin terhadap proses yang dijalankan dan mulai menerapkan kebijakkan baru sebagai dampak dari implementasi Perangkat Lunak tersebut. 3. ML Pendefinisian Pada tahapan ini mulai disikapi secara pro aktif oleh para pengguna di dalam organisasi. Pengguna Perangkat Lunak mulai mencari relasi antar satu proses dengan proses yang lain dan mulai mencari pengukuran terhadap efektivitas Perangkat Lunak terhadap pekerjaan yang dilakukan. 4. ML Pengaturan secara Kuantitatif Pada level ini, hasil dari Perangkat Lunak sudah dapat diukur secara kuantitatif. Ini menunjukkan bahwa hasil kerja dari Perangkat Lunak yang digunakan sudah dapat diandalkan dalam menyelesaikan pekerjaan di dalam organisasi. 5. ML Optimasi Pada level ini seluruh unsur organisasi yang ada harus dapat memikirkan pengembangan lebih lanjut dari Perangkat Lunak yang ada. Sehingga ke depannya Perangkat Lunak dapat dikembangkan untuk memenuhi kebutuhan organisasi. Dilihat dari tahapan-tahapan yang ada dalam CMMI tersebut, terlihat sangat jelas bahwa Proses Perangkat Lunak dalam perspektif teori yang lebih modern, melibatkan unsur SDM (Sumber Daya Manusia) sebagai pelaku utama dalam RPL. Unsur manusia sering kali dilupakan dalam Proses Perangkat Lunak, mulai dari tahapan awal hingga akhir, hal tersebut mengakibatkan secangih atau sebaik apapun Perangkat Lunak yang telah dibuat, bisa jadi tidak akan banyak bermanfaat jika SDM yang ada di dalam organisasi tersebut tidak ikut dikembangkan juga. DISKUSI KELOMPOK • Tentukan Topik SIM yang akan anda buat • Ceritakan secara singkat sistem kerja manualnya.