MODEL PENDEKATAN SDLC
( SYSTEM DEVELOPMENT LIFE CYCLE )
Oleh:
Anak Agung Gde Surya Bhuwana
(0808605037)
P.S TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
2011
KATA PENGANTAR
Om Swastiastu
Puji syukur kehadapan Tuhan Yang Maha Esa, karena berkat rahmat -Nya, Laporan Analisis dan Desain Sistem Informasi yang berjudul “MODEL PENDEKATAN SDLC ( System Development Life Cycle )” dapat diselesaikan tepat pada waktunya.
Laporan ini disusun berdasarkan tugas yang telah diberikan kepada penulis untuk melengkapi dan menunjang pembelajaran mata kuliah pada semester VI Fakultas Matematika dan Ilmu Pengetahuan Aam Universitas Udayana
Pada kesempatan ini penulis mengucapkan terimakasih kepada semua pihak yang telah memberikan bimbingan dan petunjuk demi kelancaran penyusunan tugas ini.
Penulis menyadari bahwa tugas ini masih jauh dari kesempurnaan, maka dari itu penulis sangat berharap kritik dan saran yang membangun dari pembaca, untuk kesempurnaan dari laporan ini.
Om Santih Santih Santih Om.
Jimbaran, 24 Pebruari 2011
Penulis
DAFTAR ISI
KATA PENGANTAR i
DAFTAR ISI ii
DAFTAR GAMBAR iv
BAB I 1
PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Tujuan 2
1.4 Manfaat 2
2.1 PENGERTIAN SDLC 3
2.2 MODEL SDLC 7
2.2.1 Waterfall 7
2.2.2 Rapid Application Development (RAD) 11
2.2.3 Model Prototyping 13
2.2.4 Model Iterasi 15
2.2.4.1 Model Incremental 16
2.2.4.2 Model Spiral 17
BAB III 21
PENUTUP 21
3.1 Kesimpulan 21
3.2 Saran 21
DAFTAR PUSTAKA 22
DAFTAR GAMBAR
Gambar 2.1 : Siklus Hidup SDLC. 6
Gambar 2.2.1 : Tahap-tahap yang dilakukan pada model Waterfall. 8
Gambar 2.2.2 : model RAD. 12
Gambar 2.2.3 : model dari Prototyping. 14
Gambar 2.2.4.1 : Model dari Incremental. 16
Gambar 2.2.4.2 : proses model spiral. 17
BAB I
PENDAHULUAN
1.1 Latar Belakang
Semakin pesatnya perkembangan teknologi informasi menyebabkan banyaknya dibutuhkan banyak sistem informasi yang perlu dibangun. Untuk membangun sebuah sistem informasi para pengembang sistem informasi membutuhkan suatu metode pengembangan sistem yang mampu membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. (Systems Development Life Cycle ) merupakan siklus hidup pengembangan system. Dalam rekayasa system dan rekayasa perangkat lunak, SDLC berupa suatu proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut.
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize. Dari beberapa model tersebut tidak ada yang paling bagus. Semua memiliki kekurangan dan kelebihan. Tergantung suatu kelompok pengembang perangkat lunak menggunakan metode apa yang paling cocok dengan kondisi lingkungan pengembangan perangkat lunak tersebut. Dari metode-metode tersebut harus menghasilkan sistem yang berkualitas tinggi yang memenuhi atau melampui harapan pelanggan, mencapai penyelesaian dalam waktu dan perkiraan biaya, bekerja secara efektif dan efisien di saat ini dan direncanakan Teknologi Informasi infrastruktur, dan murah untuk mempertahankan dan biaya efektif. Pemilihan model haruslah sesuai dengan kondisi lingkungan pengembangan perangkat lunak tersebut.
1.2 Rumusan Masalah
Apa pengertian dari SDLC ( System Development Live Cycle )?
Apa saja model-model dari SDLC ( System Development Life Cycle )?
Apa saja keunggulan dari model-model SDLC ( System Development Life Cycle )?
1.3 Tujuan
Mengetahui pengertian SDLC ( System Development Life Cycle ) dan langkah-langkah dari SDLC.
Mengetahui apa saja model-model dari SDLC ( System Development Life Cycle ).
Mengetahui keunggulan dari masing-masing model-model SDLC ( System Development Life Cycle ).
1.4 Manfaat
Dapat memahami pengertian dan fase atau langkah dalam SDLC ( System Development Life Cycle ).
Dapat mengenal model-model dari SDLC (System Development Life Cycle).
Dapat memberikan bayangan kepada pembaca model-model SDLC (System Development Life Cycle) yang cocok untuk diterapkan dalam pembangunan sistem informasi.
BAB II
PEMBAHASAN
2.1 PENGERTIAN SDLC
(Systems Development Life Cycle ) merupakan siklus hidup pengembangan system. Dalam rekayasa system dan rekayasa perangkat lunak, SDLC berupa suatu proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut.
Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak.
Pengembangan SDLC adalah proses yang digunakan oleh analis system untuk mengembangkan sistem informasi, termasuk persyaratan, validasi, pelatihan, dan pengguna (stakeholder) kepemilikan. Setiap SDLC harus menghasilkan sistem berkualitas tinggi yang memenuhi atau melampaui harapan pelanggan, mencapai penyelesaian dalam waktu dan perkiraan biaya, bekerja secara efektif dan efisien di saat ini dan direncanakanTeknologi Informasi infrastruktur, dan murah untuk mempertahankan dan biaya efektif.
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize.
Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa fase atau langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda.
Dalam sebuah siklus SDLC, terdapat enam fase atau langkah. Jumlah fase SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Fase-fase tersebut adalah:
1. System/Information Engineering and Modeling
Pengembangan sistem informasi dimulai dengan mengadakan penelitian terhadap elemen-elemen kebutuhan sistem bersangkutan dan mendefinisikan kebutuhan-kebutuhan tersebut dan menjabarkannya kedalam panduan bagi pengembangan sistem ditahap berikutnya. Aspek-aspek yang berkaitan berupa elemen-elemen yang berkaitan dengan sistem baik itu sumber daya manusia, peraturan perundang-undangan, perangkat keras (hardware), prosedur kerja organisasi maupun beragam aspek lainnya, baik yang terkait secara langsung maupun tidak dengan sistem komputerisasi yang akan dibangun. Fase ini merupakan fase yang sangat penting (essential) untuk mendapatkan gambaran utuh sistem guna pengembangan sistem bersangkutan kedalam bentuk penerapan sistem yang berbasis komputerisasi.
2. Software Requirements Analysis
Tahapan ini juga dikenal sebagai proses feasibility study. Dalam tahapan ini, tim pengembang sistem melakukan investigasi kebutuhan-kebutuhan sistem guna menentukan solusi piranti lunak (software) yang akan digunakan sebagai tulang punggung proses automatisasi /komputerisasi bagi sistem. Hasil investigasi berupa rekomendasi kepada pengembang sistem dalam hal spesifikasi teknis proses pengembangan sistem untuk tahap berikutnya yang berisikan hal-hal berkaitan dengan kebutuhan personal (personnel assignments), biaya (costs), jadwal pelaksanaan (project schedule), and batasan waktu penyelesaian pekerjaan (target dates). Disamping itu juga direkomendasikan beragam aspek teknis pengembangan software baik berupa fungsi-fungsi yang dibutuhkan (required function), karakteristik sistem (behavior), performansi sistem (performance) and antar muka aplikasi (interfacing).
3. Systems Analysis and Design
Pada tahapan ini, tim pengembangan sistem mendefinisikan proses-proses dan kebutuhan-kebutuhan sistem yang berkaitan dengan pengembangan aplikasi (software development process). Dalam fase ini ditentukan pemilihan teknologi yang akan diterapkan baik berupa client/server technology, rancangan database, maupun beragam aspek lainnya yang berkaitan dengan kegiatan analisis dan perancangan ini.
4. Code Generation
Pada tahapan ini hasil dari fase-fase sebelumnya dituangkan kedalam penulisan kode-kode dengan menggunakan bahasa pemrograman komputer yang telah ditentukan dalam tahap sebelumnya. Untuk melakukan pemrograman ini dibutuhkan perangkat-perangkat pemrograman seperti Code Editor, Compiler, Interpreter dan aneka perangkat lunak berkaitan lainnya sesuai dengan kebutuhan pemrograman bersangkutan.
5. Testing
Setelah proses penulisan kode pemrograman langkah berikutnya berupa proses pengujian terhadap hasil pemrograman tersebut . Pengujian mencakup beragam aspek yang berkaitan dengan System & Performance dari fase Code Generation. Pengujian-pengujian tersebut berupa Pengujian Database, Pengujian Validitas Data, Pengujian Logic Aplikasi, Pengujian Antar Muka Aplikasi (General User Interface/GUI), Pengujian User Administration. Hasil pengujian ini merupakan Umpan balik perbaikan System & Performance yang akan digunakan dalam proses perbaikan sistem hingga mencapai hasil yang diharapkan dan telah ditentukan sebelumnya.
6. Maintenance
Fase ini merupakan fase perawatan terhadap sistem yang telah dikembangkan dan diimplementasikan. Cakupan fase ini berupa proses perawatan terhadap sistem yang berkaitan dengan perawatan berkala dari sistem maupun proses terhadap perbaikan sistem manakala sistem menghadapi kendala dalam operasionalnya akibat masalah teknis dan non teknis yang tidak terindikasi dalam proses pengembangan sistem. Proses Maintenance ini juga meliputi upaya-upaya pengembangan terhadap sistem yang telah dikembangkan sebelumnya dalam menghadapi mengantisipasi perkembangan maupun perubahan sistem bersangkutan.
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem.
Berikut ini Gambar 2.1 adalah gambar dari siklus hidup SDLC :
Gambar 2.1 : Siklus Hidup SDLC.
Tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan.
2.2 MODEL SDLC
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya prototype, spiral dan rapid.
Diantara metode-metode diatas tidak ada yang paling sempurna. Semuanya memiliki kekurangan dan kelebihan, tergantung suatu kelompok pengembang perangkat lunak menggunakan metode apa yang paling cocok dengan kondisi lingkungan pengembang perangat lunak tersebut. Di bawah ini penjelasan dari beberapa metode SDLC dengan keunggulan dari masing-masing metode.
2.2.1 Waterfall
Model waterfall disebut juga Linear Sequential Model. Model ini mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model ini melingkupi aktivitas – aktivitas sebagai berikut : rekayasa dan pemodelan sistem/informasi, analisis kebutuhan, desain, coding, pemeliharaan dan pengujian.
Model pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya. Tahap-tahap yang dilakukan pada model Waterfall ini digambarkan pada Gambar 2.2.1 berikut ini :
Gambar 2.2.1 : Tahap-tahap yang dilakukan pada model Waterfall.
Berikut merupakan penjelasan setiap fase atau tahapan yang terjadi pada waterfall model :
1) Tahap Investigasi
Pada tahap investigasi akan terjadi proses seperti:
a) Initialisas: terjadi proses seperti perencanaan manajemen, kebutuhan serta potensi dari user.
b) Definisi formal: dilakukan definisi tujuan, motivasi, ruang lingkup, batasan, kendala, dan strategi. Selain itu, pada definisi formal juga dilakukan verifikasi permasalahan sehingga dapat dilakukan penilaian terhadap kebutuhan yang baru.
c) Uji kelayakan, yang terdiri dari:
• Uji kelayakan teknis, merupakan uji terhadap ketersediaan hardware dan software.
• Uji kelayakan ekonomis, yaitu menilai apakah manfaat yang didapat dari pengembangan software akan sebanding dengan biaya yang dikeluarkan.
• Uji kelayakan operasional, uji kelayakan yang berkaitan dengan kemampuan orang yang bekerja dalam sistem untuk melakukan pekerjaan mereka dengan cara yang telah ditentukan.
• Uji kelayakan kelayakan organisasi, menilai kesiapan perusahaan atau organisasi untuk mengembangkan penjualan pemasaran dan sistem keuangan berbasis Web (e-commerce system).
2) Tahap Analisa
Dalam tahapan ini sistem yang akan dibangun diselaraskan dengan kebutuhan user atau pengguna. Pada tahap ini terjadi proses seperti:
a) Determine requirements atau penentuan kebutuhan, hal ini dilakukan dengan cara mempelajari sistem yang telah ada, serta menentukan kebutuhan struktur dan menghilangkan redundansi.
b) Requirement analysis atau analisa kebutuhan, terdiri dari analisa kebutuhan fungsional dan performa (kinerja).
c) Menghasilkan desain sistem alternatif
d) Membandingkan alternatif desain sistem yang dihasilkan dan
e) Merekomendasikan alternatif terbaik kepada klien.
3) Tahap Desain
Tahap menentukan bagaimana sistem mencapai tujuan yang telah didefinisikan sebelumnya. Tahap ini terdiri dari:
a) User interface design, meliputi tampilan, form, report dan dialog design.
b) Data design, merupakan proses desain elemen struktur data.
c) Process design, merupakan desain program prosedur sistem
4) Tahap Implementasi
Pada tahap ini terjadi beberapa hal seperti:
a) Evaluasi hardware, software dan jasa
b) Modifikasi dan pengembangan software
c) Dokumentasi, yang merupakan mekanisme komunikasi utama selama proses pengembangan.
d) Konversi data, pada proses ini terjadi perbaikan dan penyaringan data yang tidak diinginkan dan konsolidasi data.
e) Testing atau uji coba, pada proses ini dilakukan uji coba dan debugging software.
f) Training atau pelatihan sistem/software yang telah terbentuk.
g) Konversi, yakni proses pergantian dari sistem lama ke sistem baru.
Proses konversi dapat dilakukan melalui 4 macam cara antara lain:
1. Parallel strategy
2. Pilot strategy
3. Phased strategy dan
4. Plunge strategy
5) Tahap Pemeliharaan (maintenance)
Pada proses ini terjadi modifikasi software, perbaikan error atau umpan balik dari user terhadap software yang telah mereka gunakan.
Model waterfall memiliki kesulitan mengakomodir perubahan karena sistem ini kaku. Setiap fase harus dilakukan sevara berurutan. Waterfall model cocok ketika kebutuhan dikumpulkan secara lenngkap sehingga perubahan bisa ditekan sekecil mungkin, tetapi pada kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan kebutuhan secar lengkap. Perubahahn kebutuhan adalah sesuatu yang wajar terjadi. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek dikerjakan di beberapa bagian sub-proyek. Berikut adalah keunggulan dan kelemahan dari Waterfall model:
• Keuntungan menggunakan teknik waterfall:
- Proses menjadi teratur
- Estimasi proses menjadi lebih baik
- Jadwal menjadi lebih menentu
• Kelemahan menggunakan teknik waterfall:
- Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses
- Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen bisa memberikan kebutuhan secara lengkap diawal.
2.2.2 Rapid Application Development (RAD)
Merupakan model pengembangan system yang melakukan beberapa penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan pengguna system. metodologi ini biasanya mensyaratkan beberapa teknik dan alat-alat khusus agar proses bisa cepat, misalnya melakukan sesi Joint Application Development (JAD), penggunaan alat-alat Computer Aided Software Engineering (CASE Tools), kode generator dan lain-lain. Model RAD ini digambarkan pada gambar 2.2.2 sebagai berikut :
Gambar 2.2.2 : model RAD.
Berikut ini adalah penjelasan fase-fase dari model RAD (Rapid Application Development) :
1) Business modelling
Dalam fase ini RAD model mendefinisikan kebutuhan sistem. Fase menjawab pertanyaan-pertanyaan sbb:
a. Informasi apa yang mengendalikan proses bisnis?
b. Informasi apa yang dihasilkan?
c. Siapa yang menghasilkan informasi? Kemana informasi itu diberikan?
d. Siapa yang mengolah informasi?
2) Data modeling
Pada data modeling RAD memodelkan aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Fase menyusun aliran informasi yang sudah didefinisikan, menjadi sekumpulan objek data. Pada fase ini pula ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut.
3) Process Modelling
Objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untuk menjalankan fungsifungsi bisnis.
4) Application Generation
RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.
5) Testing and Turnover
Karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.
RAD tidak cocok untuk proyek skala besar. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi. Untuk Pembuatan sisstem yag tidak dapat dimodularisasi tidak cocok untuk model ini. Sistem dengan resiko teknis yang tinnggi juga kurang cocok untuk model ini.
Berikut ini adalah keuntungan dan kelemahan dari model RAD :
• Keuntungan :
- RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object).
- Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien.
• Kekurangan :
- Tidak cocok untuk proyek skala besar.
- Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
- Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
- Resiko teknis yang tinggi juga kurang cocok untuk model ini.
Dalam penerapannya, RAD memiliki beberapa masalah, antara lain :
1. Tidak semua proyek bisa dipecah (dimodularisasi), sehingga belum tentu RAD bisa dipakai pada semua proyek.
2. Karena proyek dipecah menjadi beberapa bagian, maka dibutuhkan banyak orang untuk membentuk suatu tim yang mengerjakan tiap bagian tersebut.
3. Membutuhkan komitmen antara pihak pengembang dan pelanggan.
RAD melibatkan user pada proses desain menyebabkan kebutuhan user dapat terpenuhi dengan baik. RAD juga melibatkan user dalam proses testing sehingga dapat memangkas proses development yang panjang untuk dapat deliver on schedule.
2.2.3 Model Prototyping
Merupakan model pengembangan system yang proses iterative dalam pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis. Prototype juga bisa dibangun melalui beberapa tool pengembangan untuk menyederhanakan proses. Prototyping merupakan bentuk dari Rapid Application Development (RAD). Model Prototyping digambarkan pada gambar 2.2.3 sebagai berikut :
Gambar 2.2.3 : model dari Prototyping.
Tahapan-tahapan prototyping adalah sebagai berikut :
1) Pengumpulan kebutuhan
Developer dan klien bertemu untuk menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagianbagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan
2) Perancangan
Perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype.
3) Evaluasi prototype
Pada tahap ini, klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software
Model Prototying dapat digunakan saat klien dapat memikan seperifikasi kebutuhannya dengan jelas. Selai itu model ini digunakan saat developer masih meragukan akan efisiensi dari algoritma yang digunakan, atau tingkat adaptasi terhadap sistem operasi dimana PL akan di gunakan, ataupun masih meragukan user interface. Model ini memudahkan komunikasi antara developer dan klien karena kedua belah pihak mendapat gambaran yang lebih nyata dan jelas.
Adapun keuntungan dan kelemahan dari model prototype ini adalah sebagai berikut :
• Keuntungan :
- 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.
• Kelemahan:
- Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu lama.
- pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai.
2.2.4 Model Iterasi
Merupakan model pengembangan system yang bersifat dinamis dalam artian setiap tahapan proses pengembangan system dapat diulang jika terdapat kekurangan atau kesalahan. Setiap tahapan pengembangan system dapat dikerjakan berupa ringkasan dan tidak lengkap, namun pada akhir pengembangan akan didapatkan system yang lengkap pada pengembangan system. Terdapat dua jenis model iterasi, yaitu :
2.2.4.1 Model Incremental
Merupakan model pengembangan system yang dipecah sehingga model pengembangannya secara increment/bertahap. Kebutuhan pengguna diprioritaskan dan prioritas tertinggi dimasukkan dalam awal increment. Model Incremental digambarkan pada gambar 2.2.4.1 sebagai berikut :
Gambar 2.2.4.1 : Model dari Incremental.
Model ini cocok jika anggota tim pengembang perangkat lunak sangat terbatas dan proyek berukuran kecil (tidak lebih dari 200.000 baris coding). Mampu mengakomodasi perubahan secara fleksibel. Produk yang dihasilkan pada increment pertama bukanlah prototype, tetapi merupakan produk yang sudah bisa berfungsi dengan spesifikasi dasar. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
Adapun keuntungan dan kelemahan dari model increment antara lain :
• Keuntungan :
- Personil bekerja optimal
- Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun.
- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian
• Kelemahan :
- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut setiap bagian yang sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan.
2.2.4.2 Model Spiral
Merupakan model pengembangan system yang digambarkan berupa spiral. Model spiral ini tidak merepresentasikan rangkaian tahapan dengan penelusuran balik (back-tracking), tidak ada fase-fase tahapan yang tetap seperti spesifikasi atau perancangan. Setiap untaian pada pada spiral menunjukkan fase software process. Model Spiral ini digambarkan pada gambar 2.2.4.2 sebagai berikut :
Gambar 2.2.4.2 : proses model spiral.
Setiap loop dalam Spiral Model terdiri atas beberapa sektor, yaitu :
(a) Objective settings (menentukan tujuan)
Menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan.
(b) Risk assessment and reduction (Penanganan dan pengurangan resiko)
Setiap resiko dianalisis secara detil pada sektor ini. Langkah-langkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidakcocokan kebutuhan.
(c) Development and Validation (Pembangunan dan pengujian)
Setelah evaluasi resiko, maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka menggunakan model formal dengan perhitungan matematis, dan jika masalahnya adalah integrasi sistem model waterfall lebih cocok.
(d) Planning
Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop selanjutnya atau tidak. Jika melanjutkan ke fase berikutnya rencana untuk loop selanjutnya.
Tahapan-Tahapan Model Spiral agar mencapai tujuan dari pengembangan sistem, mengembangkan sistem yang baik harus melewati langkah-langkah sebagai berikut:
1) Komunikasi pelanggan
Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan dan kebutuhan-kebutuhan yang diinginkan oleh pelanggan
2) Perencanaan
Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg berhubungan.
3) Analisis Resiko
Yaitu tugas-tugas yang dibutuhkan untuk menaksir resiko manajemen dan teknis.
4) Perekayasaan
Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari apikasi tersebut.
5) Konstruksi dan peluncuran
Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang , dan memberi pelayanan kepada pemakai.
6) Evaluasi Pelanggan
Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.
Keuntungan dan kelemahan dari metode ini adalah sebagai berikut:
• Kelebihan:
- 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 setiap keadaan di dalam evolusi produk.
- Membutuhkan pertimbangan langsung terhadap resiko teknis
• Kelemahan:
- 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 absolute.
Penerapan :
• Model spiral merupakan pendekatan yang realistik untuk PL berskala besar.
• Pengguna dan pembangun bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik.
• Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar.
BAB III
PENUTUP
3.1 Kesimpulan
System Development Life Cycle (SDLC) merupakan siklus pengembangan sistem yang terdiri dari systems System/Information Engineering and Modeling, Software Requirements Analysis, Systems Analysis and Design, Code Generation, Testing, Maintenance. SDLC dapat dibangun dengan menggunakan berbagai macam model yang telah tersedia. Model tersebut meliputi Waterfall, RAD (Rapid Application Development), Prototyping Model dan Model Iterasi ( Model Incremental dan Model Spiral ). Semua model memiliki teknik yang berbeda dalam membangun sebuah sistem informasi. Tidak ada yang paling baik diantara model-model tersebut. Tergantung dari kepentingan dan lingkungan dari pengembang sistem yang akan membuat sistem informasi.
3.2 Saran
Tidak ada model yang paling baik diantara banyak model dari SDLC. Semua memiliki kekurangan dan kelebihan dari masing-masing model. Sekarang agar sistem yang dibangun mencaai tujuan yang diinginkan oleh pengembang maupun klien harus lah disesuaikan kaarakter dari masing-masing model dengan lungkungan dari pengembang dan keingginan dari klien.
DAFTAR PUSTAKA
• http://yuliagroups.wordpress.com/system-development-life-cycle-sdlc/
• http://ryoma-seigaku.blogspot.com/2010/11/sdlc-dan-fase.html
• http://irnawt.wordpress.com/2010/12/14/perbedaan-system-life-cycle-slc-dengan-system-development-life-cycle-sdlc/
• http://yusny.wordpress.com/2006/12/07/34/
• http://www.google.co.id/url?sa=t&source=web&cd=2&ved=0CCYQFjAB&url=http%3A%2F%2Fimeldas.blog.ittelkom.ac.id%2Fblog%2Ffiles%2F2010%2F03%2FMPTI2a_Review-of-SDLC.pdf&rct=j&q=pengertian%20Waterfall%20versi%20Pressman&ei=ALRnTdrsFsrorQfx_ujaCg&usg=AFQjCNH2dcgDcBQpm5WG4axsDOxVyGZ4gw&cad=rja
• http://blog.unsri.ac.id/userfiles/09071003003.doc
• http://itsum.wordpress.com/2010/09/26/model-pada-software-development-life-cycle-sdlc/
• http://sasmoyo.blogstudent.mb.ipb.ac.id/2010/07/21/no-1-uraian-mengenai-%E2%80%9Dperbedaan-pengembangan-software-dengan-pengembangan-sistem-informasi%E2%80%9D-2/
• http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/
• http://teknologi.kompasiana.com/terapan/2010/12/07/mengenal-lebih-dalam-mengenai-sdlc/
Minggu, 13 Maret 2011
CONTOH TUGAS RAD
22.53
No comments
0 komentar:
Posting Komentar