PENGEMBANGAN PERANGKAT LUNAK Pertemuan 2 PENGEMBANGAN PERANGKAT LUNAK Febriyanno Suryana, S.Kom, MM surya_gsc04@yahoo.com 0852 7474 1981 SI -2012
1. Pendahuluan Pengembangan sistem informasi sering disebut sebagai proses pengembangan sistem (System Development) Pengembangan sistem didefinisikan sebagai: aktivitas untuk menghasilkan sistem informasi berbasis komputer untuk menyelesaikan persoalan (problem) organisasi atau memanfaatkan kesempatan (opportunities) yang timbul.
Pendahuluan…..(lanjutan) Sebenarnya untuk menghasilkan sistem informasi tersebut terdiri dari: System Analysis: upaya mendapatkan gambaran bagaimana sistem bekerja dan masalah-masalah apa saja yang ada pada sistem System Development: langkah-langkah mengembangkan sistem informasi yang baru berdasarkan gambaran cara kerja sistem dan permasalahan yang ada
2. Metode Pengembangan Sistem Banyak metode pengembangan sistem yang tersedia Metode-metode yang dikenal antara lain: Prototyping, Application Software, End-User Development, Outsourcing, dan lain-lain. Pada bagian berikut akan dijelaskan metode-metode tersebut secara ringkas.
Typical System Development Life Cycle (SDLC) diagram. Metode SDLC Typical System Development Life Cycle (SDLC) diagram.
1. Metode Prototyping Pendekatan iteratif dalam pengembangan sistem Dibuat prototype operasional sistem, gunakan data aktual, edit input, lakukan komputasi dan semua manipulasi sehingga dihasilkan output nyata Seperti membuat mock-up, coba, perbaiki, dst. Prototyping Process
…metode prototyping Keuntungan: Kelemahan: Komunikasi user dan pengembang intensif User terlibat aktif dalam menentukan requirement Waktu pengembangan relatif singkat Implementasi mudah karena pemakai mengetahui dari awal apa yang akan diperolehnya Kelemahan: Kemungkinan terjadi shortcut dalam pendefinisian masalah Pemakai bisa terlalu berlebih menentukan requirement sehingga sulit dipenuhi Kemungkinan tidak dihasilkan rancangan yang baik
2. Metode Application Software Alternatif lain adalah dengan membeli software aplikasi yaitu paket software yang sudah jadi Misalkan membeli SAP, MSProject, dll. Digunakan untuk aplikasi yang bersifat umum, misalkan payroll, akunting, dll. Namun pada saat ini software yang berbasis enterprise secara keseluruhan banyak tersedia (enterprise software): Oracle, Baan, SAP, dll. Sangat sesuai jika perusahaan yang mengembangkan sistem kekurangan tenaga IT
3. Metode End-user Development Pengembangan dilakukan langsung oleh end-user. Menjadi semakin layak dengan tersedianya bahasa pemrograman yang mudah seperti MS Access, Delphi, dll. Keterlibatan langsung end-user sangat menguntungkan, karena memahami benar bagaimana sistem bekerja. Artinya tahap analisis sistem dapat dilakukan lebih cepat. Kelemahan adalah pada pengendalian mutu dan kecenderungan tumbuhnya “private” sistem informasi. Integrasi dengan sistem yang lain menjadi sulit.
4. Metode Outsourcing Dilakukan kontrak dengan pihak luar untuk menangani baik pengembangan maupun operasi & maintenance sistem. Menguntungkan dari sisi kecepatan memperoleh hasil dan biaya. Ada resiko tidak dapat mengendalikan sistem secara langsung dan masalah security.
Model Proses Pengembangan Perangkat Lunak Adalah suatu strategi pengembangan yang memadukan lapisan proses, metode dan alat serta tahap-tahap generik. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan : Sifat proyek dan aplikasi Metode dan alat yang digunakan Pengendalian hasil yang diinginkan 11
Model-model Software Life Cycle : Waterfall Model Prototype Model Spiral Model V-Shaped Life Cycle Build and Fix Model Incremental Model Reuse based Development Etc. 12
Model yang digunakan pertama kali oleh Winston Royce, I. WATERFALL MODEL Model yang digunakan pertama kali oleh Winston Royce, sekitar tahun 1970, dikenal jg dengan “Linier Sequential Model/Classic Life Cycle” Pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem, analisis, desain, coding, testing/verification dan maintenance. Merupakan model yang paling banyak dipakai pengembang sistem. Cenderung dipakai untuk proyek skala besar dan yang akan dipakai dalam waktu lama. Karena waktu pengerjaan relatif lama maka biaya yang ditimbulkan juga besar. 13
WATERFALL MODEL….cont 14
WATERFALL MODEL….cont 15
WATERFALL MODEL….cont Kelebihan dari model waterfall : Apabila kebutuhan sistem dapat didefenisikan secara utuh, eksplisit dan benar di awal project, maka Software Engineering dapat berjalan dengan baik dan tanpa masalah. 16
WATERFALL MODEL….cont Kelebihan dari model waterfall : Apabila kebutuhan sistem dapat didefenisikan secara utuh, eksplisit dan benar di awal project, maka Software Engineering dapat berjalan dengan baik dan tanpa masalah. 17
WATERFALL MODEL….cont Kekurangan dari model waterfall : Tidak dapat lanjut ke proses berikutnya jika terjadi kesalahan, sampai kesalahan tersebut diperbaiki. Pengerjaan berlangsung lama karna harus menunggu setiap proses pengerjaan selesai. Pada setiap proses pengerjaannya dilakukan sesuai spesialisasi masing-masing, oleh karena itu jika proses selesai maka sumber dayanya juga tidak digunakan lagi 18
Dipakai untuk proyek skala kecil. II. PROTOTYPE MODEL Digunakan apabila user hanya mendefenisikan objek umum dari perangkat lunak tanpa merinci kebutuhan input, proses dan outputnya. Dipakai untuk proyek skala kecil. Pada dasarnya penggunaan model prototype adalah untuk mendefenisikan kebutuhan software. 19
PROTOTYPE MODEL….cont 20
PROTOTYPE MODEL….cont Pengumpulan kebutuhan : developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan biasanya tidak dibahas pada awal pengumpulan kebutuhan. Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui. Pada tahap inilah pembuatan prototype dibangun. Evaluasi : klien mengevaluasi/testing prototype yang akan dibuat dan digunakan untuk memperjelas kebutuhan software 21
PROTOTYPE MODEL….cont Kelebihan dari model prototype : Pembangunan sistem relatif cepat. Memudahkan komunikasi antara developer dan klien, sehingga klien dapat mengetahui gambaran awal dari sistem yang akan dibangun. Membantu untuk mendapatkan kebutuhan yang lebih baik dan detail. 22
PROTOTYPE MODEL….cont Kekurangan dari model prototype : Walaupun user melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang. Jika klien merasa cocok dengan prototype yang disajikan dan berkeras terhadap produk tersebut, maka developer harus bekerja keras untuk mewujudkan produk tersebut menjadi lebih baik. Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien. 23
III. SPIRAL MODEL Spiral Model ditemukan sekitar tahun 1988 oleh Barry Boehm pada artikel A Spiral Model of Software Development and Enhancement Merupakan model yang memadukan wujud perulangan dari model prototyping dengan aspek pengendalian dan sistematika dari linier sequential model. Cenderung dipakai untuk proyek skala besar dan yang akan dipakai dalam waktu lama. Karena waktu pengerjaan relatif lama maka biaya yang ditimbulkan juga besar. 24
SPIRAL MODEL….cont 25
SPIRAL MODEL….cont 26
SPIRAL MODEL….cont 27
SPIRAL MODEL….cont Kekurangan dari model spiral : Sulit meyakinkan pemakai bahwa pendekatan ini akan dapat dikendalikan. Karena resiko sangat dipertimbangkan, maka diperlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya agar sukses Belum terbukti metode ini cukup efisien karena usianya yang relatif baru 28
End Session
Tugas Kelompok Judul Email : Tugas1_kel1_SI14 Cari kasus sebuah aplikasi SI yang dikembangkan, dan tentukan : 1. Metode pengembangan SI tsb. 2. Model pengembangan SI tsb. Judul Email : Tugas1_kel1_SI14 Softcopy dikirim ke : surya_gsc04@yahoo.com Pada jumat depan..