Hallo guys di
postingan yang pertama saya ini saya akan membahas tentang SDLC (System
Development Life Cycle, Siklus Hidup Pengembangan Sistem).
oke, langsung
aja yaaaa:)
APA ITU SDLC?
SDLC (Systems Development Life Cycle, Siklus Hidup
Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem), dalam
rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan
pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan
sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau
informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem
perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisis
(analysis), desain (design), implementasi (implementation), uji coba (testing)
dan pengelolaan (maintenance).
SDLC adalah 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
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.
BERIKUT ADALAH
TIGA MODEL SDLC YANG SAYA PILIH
1. Model
Sekuensial Linier atau Waterfall Development Model
Model Sekuensial Linier
atau sering disebut Model Pengembangan Air Terjun, merupakan paradigma model
pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini
mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan
sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis,
desain , kode, pengujian, dan pemeliharaan.
Berikut
Merupakan Tahapan – tahapan Pengembangan Model Sekuensial Linear /
Waterfall Development Model :
- Rekayasa dan pemodelan sistem/informasi
Langkah
pertama dimulai dengan membangun keseluruhan elemen sistem dan memilah
bagian-bagian mana yang akan dijadikan bahan pengembangan perangkat lunak,
dengan memperhatikan hubungannya dengan Hardware, User, dan Database.
- Analisis kebutuhan perangkat lunak
Pada
proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang
meliputi Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan
antarmuka. Hasil penganalisaan dan pengumpulan tersebut didokumentasikan
dan diperlihatkan kembali kepada pelanggan.
- Desain
Pada
proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan
perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean
(coding). Proses ini berfokus pada struktur data, arsitektur perangkat
lunak, representasi interface, dan detail algoritma prosedural.
- Pengkodean
Pengkodean
merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat
dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.
- Pengujian
Setelah
Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program
perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal
fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan dan
memeriksa apakah hasil dari pengembangan tersebut sesuai dengan hasil yang
diinginkan.
- Pemeliharaan
Proses
Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan
dilakukan setelah perangkat lunak dipergunakan. Kegiatan yang dilakukan pada
proses pemeliharaan antara lain :
- Corrective Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.
- Adaptive Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai dengan lingkungan yang baru, misalnya hardware, periperal, sistem operasi baru, atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan driver, dll.
- Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
- Contoh Penerapan dari Pengembangan Model Sekuensial Linear / Waterfall Development Model
Contoh
dari penerapan model pengembangan ini adalah pembuatan program pendaftaran
online ke suatu Instansi Pendidikan. Program ini akan sangat membantu dalam
proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak
perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah
sebagai berikut :
- Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya.
- Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta kondisi user.
- Kelebihan Model Sekuensial Linear / Waterfall Development Model :
- Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
- Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
- Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
- Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
- Kekurangan Model Sekuensial Linear / Waterfall Development Model :
- Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
- Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
- Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
- Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
- Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
2.
Model
Spiral
Model spiral (spiral model) adalah
model pengembangan software dimana proses digambarkan sebagai spiral. Setiap
loop akan mewakili satu fase dari proses pembuatan/perancangan software. Loop
paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang
definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan
seterusnya, seperti gambar berikut:
Kelebihan Model Spiral :
- Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- 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.
- Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
- Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kekurangan Model Spiral :
- Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak.
- Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
- Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
- Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
- 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.
Contoh Studi Kasus :
Sidik
jari (bahasa Inggris: fingerprint) adalah hasil reproduksi tapak jari baik yang
sengaja diambil, dicapkan dengan tinta, maupun bekas yang ditinggalkan pada benda
karena pernah tersentuh kulit telapak tangan atau kaki. Kulit telapak adalah
kulit pada bagian telapak tangan mulai dari pangkal pergelangan sampai kesemua
ujung jari, dan kulit bagian dari telapak kaki mulai dari tumit sampai ke ujung
jari yang mana pada daerah tersebut terdapat garis halus menonjol yang keluar
satu sama lain yang dipisahkan oleh celah atau alur yang membentuk struktur
tertentu. Identifikasi sidik jari, dikenal dengan daktiloskopi adalah ilmu yang
mempelajari sidik jari untuk keperluan pengenalan kembali identitas orang
dengan cara mengamati garis yang terdapat pada guratan garis jari tangan dan
telapak kaki. Daktiloskopi berasal dari bahasa Yunani yaitu dact ylos yang
berarti jari jemari atau garis jari, dan scopein yang artinya mengamati atau
meneliti. Kemudian dari pengertian itu timbul istilah dalam bahasa Inggris,
dactyloscopy yang kita kenal menjadi ilmu sidik jari. Fleksibilitas dari
gelombang pada kulit berarti tidak ada dua sidik jari atau telapak tangan yang
sama persis pada setiap detailnya. Pengenalan sidik jari melibatkan seorang
pakar, atau sebuah sistem pakar komputer, yang menentukan apakah dua sidik jari
berasal dari jari.
Identifikasi
berdasarkan sidik jari adalah daerah aktif penelitian di biometrik menerapkan
berbagai umum dan teknik kode domain-spesifik optimasi untuk secara efisien
melaksanakan tahap pendaftaran, yang mengambil sebagai masukan serangkaian
gambar sidik jari dan menghasilkan diadaptasi packet pohon dan template wavelet
domain yang terkait. Itu kode untuk identifikasi sebenarnya kemudian dihasilkan
automati-Cally dari deskripsi matematika. Algoritma identifikasi sidik jari
kembali quires perhitungan matematika yang berat, sehinggasatu al-gorithm bisa
memiliki runtimes berbeda tergantung pada Implementasi algoritma. Algoritma ini
terdiri dari 2 tahap, tahap pelatihan dan tahap verifikasi. Namun penting untuk
memiliki efisien pelaksanaan tahap pelatihan untuk memungkinkan pengembang
algoritma untuk dengan cepat menjalankan dan menguji uji beda kasus. Tahap
verifikasi dilakukan secara on-line sehingga itu perlu secepat mungkin.
Kualitas sidik jari sistemidentifikasi tidak hanya tergantung pada keakuratan.
3. Model Incremental
Dalam
model Incremental ini proses pengerjaan perangkat lunak akan dilakukan
perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah
selesai dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan
semua fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan
perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka
dalam pengerjaan perbagian.
Kelebihan Model Incremental :
- Resiko yang rendah pada pengembangan sistem.
- Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
- Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
- Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
- Mampu mengakomodasi perubahan kebutuhan customer.
- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
- Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan Model Incremental :
- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
- Hanya cocok untuk proyek dengan skala kecil.
- kemungkinan tiap bagian tidak dapat diintegrasikan.
Contoh Studi Kasus:
Dalam
sebuah software, adanya sebuah Graphical User Interface akan jauh lebih
memudahkan pengguna software untuk berinteraksi dengan software, dikarenakan
tampilan GUI akan jauh lebih meminimalkan kesalahan penggunaan dari user
daripada pada aplikasi yang berbasis console. Selain itu, aplikasi yang
menggunakan GUI akan jauh lebih menarik dan user-friendly daripada aplikasi
yang berbasis console
Aplikasi
yang akan dibuat adalah aplikasi yang akan dijalankan pada perangkat mobile
(handphone), karena memang aplikasi mobile banking lebih ditujukan untuk
mengimbangi mobilitas seseorang dengan tetap dapat melaksanakan aktifitas
perbankan. aplikasi disini bukanlah aplikasi besar yang berlevel enterprise,
sehingga baris kodennya juga tidak terlalu banyak.
Software
yang nantinya dikembangkan haruslah memenuhi beberapa kriteria diantaranya :
aplikasinya tidak membutuhkan resource yang besar, dapat berjalan di perangkat
mobile, kecepatan proses transaksi haruslah cepat, aplikasi nantinya bisa
dikembangkan lebih lanjut untuk mengimbangi kebutuhan pengguna software.
Sumber :
http://hagaisudirmanharianja.blogspot.com/2017/07/sdlc-beserta-contoh-untuk-masing-masing.html
yuhuuu...bermanfaat sekali
BalasHapusElemen solder uap
Harrah's Atlantic City Casino & Hotel - JetBlue
BalasHapusCheck out 김제 출장안마 the Harrah's 순천 출장안마 Atlantic City Casino & Hotel at 777 Harrah's 전라북도 출장마사지 Blvd in Atlantic City, NJ. Featuring a 제주도 출장마사지 casino, 삼척 출장마사지 a nightclub, a full-service