Archive for Maret 2018
Metodologi System Development Life Cycle (SDLC)
By : UnknownApa itu Metodologi ?
Suatu cara untuk menggali suatu kebenaran (kbbi).
Saat ini ada beberapa model yang berkembang terkait dengan System Development Life Cycle (SDLC). Namun terdapat beberapa model yang populer dalam dunia pengembangan perangkat lunak.
1.Waterfall

Model ini menggunakan pendekatan secara sistematis dan sekuensial yang mulai pada tingkat requirment sampai tingkat maintenance.
Kelebihan
- Proses menjadi teratur
- Jadwal menjadi lebih menentu
- Proses mudah dipahami dan jelas
- Mudah dalam pengelolaan proyek
- Kondisi requirment jelas.
Kelemahan
- Sifatnya kaku, karena tidak mudah tanggap dalam menanggapi segala perubahan.
- Membutuhkan daftar kebutuhan yang lengkap diawal
- Proses pengembangan relative lama, dikarenakan tahap selanjutnya bisa dilakukan jika tahap sebelumnya selesai dikerjakan.
2. Prototype

Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997). Beberapa model prototype adalah sebagai berikut :
- Reusable prototype : Prototype yang akan ditransformasikan menjadi produk final.
- Throwaway prototype : Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
- Input/output prototype : Prototype yang terbatas pada antar muka pengguna (user interface).
- Processing prototype : Prototype yang meliputi perawatan file dasar dan proses-proses transaksi
- System prototype : Prototype yang berupa model lengkap dari perangkat lunak.
Proses pada model prototyping adalah sebagai berikut:
1. pengumpulan kebutuhan
developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan
developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian 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.
perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype.
3. Evaluasi prototype
klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software.
klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software.
Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan terpenuhi. Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan untuk memahami kebutuhan klien lebih baik. Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software lebih cepat, namun tidak semua prototype bisa dimanfaatkan.
Pendekatan prototyping memiliki beberapa keuntungan yaitu:
- Pemodelan membutuhkan partisipasi aktif dari end-user. Hal ini akan meningkatkan sikap dan dukungan pengguna untuk pengerjaan proyek. Sikap moral pengguna akan meningkat karena system berhubungan nyata dengan mereka.
- Perubahan dan iterasi merupakan konsekuensi alami dari pengembangan system-sehingga end user memiliki keinginan untuk merubah pola pikirnya. Prototyping lebih baik menempatkan situasi alamiah ini karena mengasumsikan perubahan model melalui iterasi kedalam system yang dibutuhkan.
- Prototyping adalah model aktif, tidak pasif, sehingga end user dapat melihat, merasakan, dan mengalaminya.
- Kesalahan yang terjadi dalam prototyping dapat dideteksi lebih dini
- Prototyping dapat meningkatkan kreatifitas karena membolehkan adanya feedback dari end user. Hal ini akan memberikan solusi yang lebih baik.
- Prototyping mempercepat beberapa fase hidup dari programmer.
Pendekatan prototyping memiliki beberapa kekurangan yaitu:
- Prototyping memungkinkan terjadinya pengembalian terhadap kode, implementasi, dan perbaikan siklus hidup yang dugunakan untuk mendominasi sistem informasi.
- Prototyping tidak menolak kebutuhan dari fase analisis sistem. Prototype hanya dapat memecahkan masalah yang salah dan memberi kesempatan sebagai sistem pengembangan konvensional.
- Prototyping dapat mengurangi kreatifitas perancangan.

Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction.
Skema dari Model RAD adalah sebagai berikut:
Secara umum fase-fase pada RAD adalah sebagai berikut
- Bussines modeling
- Data modeling
- Proses modeling
- Application generation : RAD mengasumsikan pemakaian teknik 4G (generasi keempat). Selain menciptakan Perangkat Lunak dengan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memakai lagi komponen program atau menciptakan komponen yang bisa dipakai lagi.
- Testing and Turn Over : karena menekankan pada reusability, banyak komponen program yang telah diuji sehingga mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.
- Pengembangan yang cepat
- Adanya prototype
- Pengurangan penulisan kode yang kompleks, dikarenakan reuse code yang sudah ada.
Kelemahan
- Tidak relevan untuk proyek skala besar
- memerlukan komitmen yang kuat antara pengembang dengan konsumer
- membutuhkan sumber daya yang besar untuk proyek skala besar.
4. Spirall

Model Spirall merupakan model pengembangan perangkat lunak yang evolusioner yang memadukan sifat iteratif model protype dan aspek sisematis dari mode sekuensial. Version Release meningkat setiap iterasi terjadi.
Kelebihan
- Cocok untuk proyek skala besar
- Manajemen kesalahan baik
- Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada setiap keadaan didalam evolusi produk.
Kelemahan
- Waktu pengembangan cukup lama
- Dibutuhkan ahli dalam penanganan resiko
- Kesulitan dalam meyakinkan konsumen.
5. Agile

model agile adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan sistem software. agile model adalah kumpulan nilai-nilai, prinsip dan praktek-praktek untuk memodelkan software agar dapat diaplikasian pada software development proyek secara efektif. Prinsip dalam Agile Modelling adalah sebagai berikut:
- membuat model dengan tujuan
- mengunakan multiple models
- travel light
- isi lebih penting dari pada penampilan
- memahami model dan alat yang yang digunakan untuk membuat software
- adaptasi secara lokal
skema dari agile modeling adalah sebagai berikut :
Kelebihan
- Functional dapat dibuat dengan cepat dan dilakukan testing
- Perubahan dengan cepat ditangani
Kelemahan
- Analisis, desain, dan pengembangan sulit diprediksi
- Dapat memunculkan permasalahan dari arsitektur maupun desain.
-Sekian.
Pengertian SDLC (Software Development Life Cycle)
By : UnknownPada awal pengembangan perangkat lunak para programmer langsung melakukan coding tanpa mengikuti prosedur dan tahapan pengembangan perangkat lunak. Makadari itu sering ditemui masalah saat pengembangan sistem yang lebih besar.
SDLC dimulai dari tahun 1960-an, untuk mengembangkan sistem skala usaha besar secara fungsional untuk para konglomerat pada jaman itu. Sistem-sistem yang dibangun mengelola informasi kegiatan dan rutinitas dari perusahaan-perusahaan yang nantinya akan memiliki jumlah data yang sangat banyak seiring berkembangnya sistem yang berjalan.
SDLC atau Software Development Life Cycle atau sering disebut juga System Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak yang memakai metodologi yang dipakai oleh orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya, berdasarkan pengalaman terbaik atau cara-cara yang sudah pasti terjamin sangat baik. Seperti halnya proses perubahan pada seseorang, untuk menjadi orang yang sukses maka dibutuhkan beberapa tahap untuk dilalui, sama halnya dengan membuat perangkat lunak, memiliki proses yang dilalui agar dapat menghasilkan perangkat lunak yang berkualitas.
Tahapan SDLC (Software Development Life Cycle)
Tahapan-tahapan yang ada pada SDLC secara umum adalah sebagai berikut:
1. Inisiasi (initiation)
Tahap ini biasanya ditandai dengan pembuatan proposal proyek perangkat lunak.
2. Pengembangan konsep sistem (system concept development)
mendefinisikan lingkup konsep termasuk dokumentasipengembangan sistem pada analisis lingkup area sistem dan memanajemen rencana dan mempelajari cara kerja sisitem.
3. Perencanaan (planning)
Membuat perencanaan terhadap pekerjaan dan berkas perencanaan yang lainnya. Menyediakan dasar untuk mendapatkan sumber daya (resources) yang dibutuhkan untuk memperoleh solusi.
4. Analisis kebutuhan (requirements analysis)
Analisa terhadap kebutuhan pengguna sistem perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional.
5. Desain (design)
Mentransformasikan kebutuhan secara terinci, dokumen desain sistem focus pada bagaimana dapat memenuhi fungsi-fungsi yang dibutuhkan oeleh sistem.
6. Pengembangan (development)
Mengubah perancangan ke sistem informasi yang kompleks dan bagaimana mendapatkan dan melakukan penginstalan lingkungan sistem yang diharapkan; membuat basis data dan menyiapkan standar prosedur pada saat pengujian, menyiapkan dokumen atau file coding, testing, compile, repair dan cleaning program.
7. Integrasi dan pengujian (integration and test)
mepresentasikan sistem perangkat lunak yang telah memenuhi keadaan yang dispesifikasikan pada dokumen kebutuhan fungsional. Dengan diarahkan oleh bagian penjamin mutu (quality assurance) dan user. Menghasilkan pelaporan analisis dari pengujian.
8. Implementasi (implementation)
Termasuk pada persiapan implementasi, pelaksanaan perangkat lunak pada area produksi (area pada user) dan menjalankan resolusi dari problem yang terdeteksi dari tahap integrasi dan pengujian.
9. Operasi dan pemeliharaan (operations and maintenance)
Menjelaskan tentang pekerjaan untuk menjalankan dan memaintenance sistem informasi pada area Produksi (lingkungan pada user), termasuk implementasi akhir dan masuk pada proses peninjauan.
10. Disposisi (Disposition)
Mendeskripasikan aktifitas dari pengembangan sistem dan membangun data yang sesungguhnya sesuai dengan aktifitas user.
Ada banyak sekali model yang ada pada sistem SDLC tetapi kembali lagi kepada karakter customer dan pengembang karena jika salah memilih metode akan sulit dalam pengembangan sistem. Karna setiap metode pengembangan sistem memiliki kelebihan dan kekurangan.