![What are the SDLC phases?](https://www.goodfirms.co/glossary/wp-content/uploads/2017/07/Software-Development-Life-Cycle.png)
Disusun oleh :
IBNU SHIYAM RAJA GURU
53418194
2IA19
TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA
2020
SYSTEM DEVELOPMENT LIFE CYCLE YANG COCOK UNTUK ZAMAN MODERN
Penulisan makalah ini bertujuan untuk memberikan penjelasan terhadap SDLC atau System Development Life Cycle. Adapun yang menjadi latar belakang penulisan ini karena untuk menjaga agar suatu system informasi dapat berjalan dengan lancer maka diharuskan untuk pembuat maupun pengguna agar menjaga sisyem infomasi tersebut dengan sebaik-baiknya
SDLC memiliki potensi yang baik bagi perkembangan dalam siklus hidup suatu. System informasi. Potensi SDLC sendiri terdapat pada proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut.
DAFTAR ISI
ABSTRAK ………………………………………………………………… i
DAFTAR ISI ………………………………………………………………. ii
DAFTAR TABEL ………………………………………………………… iii
KATA PENGANTAR ……………………………………………………. iv
BAB I PENDAHULUAN ………………………………………………… 1
- LATAR BELAKANG ………………………………………… 1
- RUMUSAH MASALAH …………………………………….. 1
- TUJUAN ……………………………………………………… 2
BAB II ISI ………………………………………………………………… 3
2.1 PENGERTIAN SDLC ……………………………………….. 3
2.2 FUNGSI SDLC ………………………………………………. 4
2.3 METODE-METODE SDLC …………………………………. 5
BAB III …………………………………………………………………… 20
3.1 PENGERTIAN CIA …………………………………………….. 20
BAB IV KESIMPULAN DAN SARAN & SARAN …………………….. 16
4.1 KESIMPULAN …………………………………………….. 24
4.2 SARAN ……………………………………………………… 24
DAFTAR PUSTAKA ……………………………………………………. 25
KATA PENGANTAR
Assalamu’alaikum Warahmatullahi Wabarakatuh, Segala puji bagi Allah SWT yang telah memberikan kami kemudahan sehingga penulis dapat menyelesaikan makalah ini dengan tepat waktu. Tanpa pertolongan-Nya tentunya penulis tidak akan sanggup untuk menyelesaikan makalah ini dengan baik. Shalawat serta salam semoga terlimpah curahkan kepada baginda tercinta kita yaitu Nabi Muhammad SAW yang kita nantikan syafa’atnya di akhirat.
Tidak lupa, Penulis mengucapkan syukur kepada Allah SWT atas limpahan nikmat sehat-Nya, baik itu berupa sehar fisik maupun akal pikiran, sehingga penulis mampu untuk menyelesaikan pembuatan makalah sebagai tugas dari matakuliah yang berjudul “SYSTEM DEVELOPMENT LIFE CYCLE”.
Penulis tentu menyadari bahwa makalah ini masih jauh dari kata sempurna dan masih banyak terdapat kesalahan serta kekurangan di dalamnya. Untuk itu, penulis mengharapkan kritik serta saran dari pembaca untuk makalah ini, supaya makalah ini nantinya dapat menjadi makalah yang lebih baik lagi. Demikian apabila terdapat banyak kesalahan pada makalah ini, penulis mohon maaf yang sebesar-besarnya.
Demikian, sekian dan terima kasih.
Bekasi, 9 Juli 2020
Ibnu Shiyam Raja Guru
BAB I
PENDAHULUAN
1.1 Latar Belakang
SDLC merupakan siklus yang digunakan dalam pembuatan atau pengembangan sistem informasi yang bertujuan untuk menyelesaikan masalah secara efektif.
Dalam pengertian lain, SDLC adalah tahapan kerja yang bertujuan untuk menghasilkan sistem berkualitas tinggi yang sesuai dengan keinginan pelanggan atau tujuan dibuatnya sistem tersebut.
SDLC menjadi kerangka yang berisi langkah-langkah yang harus dilakukan untuk memproses pengembangan suatu perangkat lunak. Sistem ini berisi rencana lengkap untuk mengembangkan, memelihara, dan menggantikan perangkat lunak tertentu.
1.2 Rumusan Masalah
Dari penjelasan latar belakang di atas maka rumusan masalah yang dapat disimpulkan sebagai berikut:
- Apasaja bentuk atau tipe dari SDLC ?
- Bagaimana cara menjalankan metode tersebut ?
1.3 Tujuan
Dari penjelasan rumusan masalah di atas maka tujuan dari pembuatan makalah ini dapat disimpulkan sebagai berikut:
- Mengetahui beberapa bentuk dari SDLC yang belum banyak orang tahu.
- Menjelaskan bentuk bentuk tersebut.
- Memberikan ilustrasi terhadap bentuk SDLC tersebut
BAB II
ISI
2.1 PENGERTIAN SDLC
SDLC adalah siklus yang digunakan dalam pembuatan atau pengembangan sistem informasi yang bertujuan untuk menyelesaikan masalah secara efektif.
Dalam pengertian lain, SDLC adalah tahapan kerja yang bertujuan untuk menghasilkan sistem berkualitas tinggi yang sesuai dengan keinginan pelanggan atau tujuan dibuatnya sistem tersebut.
SDLC menjadi kerangka yang berisi langkah-langkah yang harus dilakukan untuk memproses pengembangan suatu perangkat lunak. Sistem ini berisi rencana lengkap untuk mengembangkan, memelihara, dan menggantikan perangkat lunak tertentu.
SDLC atau Systems Life Cycle, dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut.
Pengertian SDLC Menurut Ahli
- Menurut Prof. Dr. Sri Mulyani, AK., CA. (2017) SDLC adalah proses logika yang digunakan oleh seorang analis sistem untuk mengembangkan sebuah sistem informasi yang melibatkan requirments, validation, training dan pemilik sistem.
2.2 FUNGSI SDLC
Sangat sulit untuk membuat sebuah perangkat lunak tanpa perancangan yang maksimal. Beberapa teknik dalam mengembangkan perangkat lunak terus dikembangkan hingga kini.
Masih banyak perdebatan mengenai metode yang paling baik dan paling sesuai untuk segala tipe perangkat lunak. Meski demikian, ada perencanaan lebih baik daripada tidak ada perencanaan sama sekali.
Dilihat dari berbagai sisi, SDLC memiliki banyak fungsi, antara lain sebagai sarana komunikasi antara tim pengembang dengan pemegang kepentingan. SDLC juga berfungsi membagi peranan dan tanggung jawab yang jelas antara pengembang, desainer, analis bisnis, dan manajer proyek.
Fungsi lain dari SDLC ialah dapat memberikan gambaran input dan output yang jelas dari satu tahap menuju tahap selanjutnya.
2.3 METODE-METODE SDLC
Model atau metode pengembangan ini sangat penting untuk membantu proses pengembangan perangkat lunak. Terdapat beberapa model pengembangan SDLC yang diikuti oleh berbagai organisasi, yaitu
- Waterfall
(gambar 1)
Model ini biasa disebut model air terjun atau model sekuensial linier(sequential linear).Model air terjun menyediakan pendekatan alur perangkat lunak secara sekuensial/terurut mulai dari analisis,desain,pengkodean,pengujian dan tahap pendukung (support).
Model ini menggunakan pendekatan secara sistematis dan sekuensial yang mulai pada tingkat requirment sampai tingkat maintenance.
Ilustrasi Model Waterfall
- Analisis kebutuhan perangkat lunak merupakan proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user.Spesfikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan.
- Desain adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data,arsitektur perangkat lunak,representasi antarmuka,dan prosedur pengkodean.
- Pengkodean,desain harus ditranslasikan ke dalam program perangkat lunak.Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain.
- Pengujian fokus kepada perangkat lunak secara dari segi logik dan fungsional dan memastikan bahwa semua bagian sudah diuji.Hal ini dilakukan untuk meminimalisir kesalahan/error dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
- Maintenance/Support tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user.Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan yang baru.Tahap maintenance dapat mengulangi proses pengembangan mulai dari analisis untuk perubahan perangkat lunak yang sudah ada,tapi tidak untuk membuat perangkat lunak yang baru.
Kelebihan | Kekurangan |
Proses menjadi teratur | Bersifat kaku |
Jadwal menjadi lebih menentu | Membutuhkan data yang jelas diawal |
Mudah dalam pengelolaan proyek | Proses telative lama |
Proses mudah dipahami dan jelas | |
Kondisi requirement jelas |
(table 1)
2. Prototype
(gambar 2)
Model prototype merupakan model pengembangan software yang mengijinkan pengguna/user memiliki gambaran awal tentang program yang akan dikembangkan serta melakukan pengujian awal.
Model prototype juga memberi fasilitas bagi pengembangn dan user untuk saling terkait dan berinteraksi.
Ilustrasi Model Prototype
Model Prototype memiliki kelemahan sebagai berikut :
- Pelanggan dapat sering mengubah-ubah atau menambah-nambah spesifikasi kebutuhan karena menganggap aplikasi sudah dengan cepat dikembangkan,karena adanya masalah ini ,pengembang banyak mengalah dengan pelanggan karena perubahan atau penambahan spesifikasi kebutuhan perangkat lunak.
- Pengembang lebih sering mengambil kompromi dengan pelanggan untuk mendapatkan prototype dengan waktu yang cepat sehingga pengembang lebih sering melakukan cara guna menghasilkan prototype untuk didemonstrasikan.Hal ini dapat menyebabkan kualitas perangkat lunak menjadi kurang baik.
Permasalahan yang terjadi di metode ini dapat diatasi dengan melakukan perjanjian(kontrak) antara pengembang dan pelanggan agar model prototype hanya digunakan untuk mendefinisikan spesifikasi kebutuhan perangkat lunak,tetapi tidak untuk seluruh proses pengembangan sistem perangkat lunak.
Kelebihan | Kekurangan |
Fleksibel | Mengurangi kreatifitas perancangan |
Bersifat aktif | |
Proses relative cepat |
(table 2)
3. Rapid Application Development (RAD)
(gambar 3)
Model pengembangan yang menggunakan pendekatan orientasi komponen terhadap pengembangan perangkat lunak. Model ini bertujuan mempersingkat waktu yang biasanya diperlukan dalam siklus hidup pengembangan konvensional.
Ilustrasi Model RAD
Dari gambar di atas,kita dapat menyimpulkan bahwa pada model RAD,menggunakan terapan dari Model Waterfall akan tetapi menjadi lebih cepat karena ada tim yang dibagi.Semua tim masing-masing mengerjakan proses/tahapan yang sama tetapi fungsi-fungsi yang berbeda.Contohnya : dalam tahapan bussiness modeling,tim a mencari informasi tentang kebutuhan apa yang terkait fungsi bisnisnya sedangkan di tim b mencari informasi tentang alur proses bisnisnya.Keduanya sama-sama di tahapan proses modeling bussiness tapi beda materi.
- Pemodelan Bisnis : pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait fungsi bisnis,informasi apa saja yang harus dibuat,siapa saja yang membuat informasi,bagaimana alur informasi itu,proses apa saja yang terkait informasi itu
- Pemodelan Data : memodelkan data apa saja yang dibutuhkan berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta relasinya dengan data-data yang lain.
- Pemodelan Proses : mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait dengan pendefinisian data.
- Pembuatan Aplikasi : mengimplementasikan pemodelan proses dan data menjadi program.Model RAD sangat menganjurkan pemakaian komponen yang sudah ada jika dimungkinkan.
- Pengujian dan Pergantian :menguji komponen-komponen yang dibuat.Jika sudah teruji maka tim pengembang komponen dapat beranjak untuk mengembangkan komponen berikutnya.
Kelebihan | Kekurangan |
Proses relative cepat | Tidak relevan untuk proyek berskala besar |
Ada yang namanya prototype | Memerlukan komitmen yang kuat |
Pengurangan penulisan kode yang sudah ada atai re-use | Membutuhkan sumber daya yang besar |
(table 3)
4. Spirall
(gambar 4)
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.
Ilustrasi Model Spiral
Setiap wilayah kerja terdiri dari kumpulan pekerjaan yang tergantung pada karakteristik proyek yang sedang dikerjakan.Semakin besar suatu proyek maka kumpulan pekerjaan di dalam setiap wilayah kerja juga semakin banyak.
Model spiral dilakukan searah jarum jam dimulai dari sumbu proyek.Sumbu proyek dapat digunakan sebagai awal iterasi atau evaluasi dari iterasi yang sudah dilakukan
Kelebihan | Kekurangan |
Cocok untuk proyek berskala besar | Proses relative lama |
Manajemen kesalah yang baik | Dibutuhkan ahli |
Ada yang namanya prototype | Kesulitan dalam meyakinkan konsumen |
(table 4)
5. Agile
(gambar 5)
Model Agile merupakan model pengembangan jangka pendek yang memerlukan adaptasi cepat dan pengembangan terhadap perubahan dalam bentuk apapun. Dalam agile terdapat beberapa poin penting diantaranya sebagai berikut:
- Interaksi antar personal lebih penting daripada proses dan alat.
- Software yang berfungsi lebih penting daripada dokumentasi yang lengkap
- Kolaborasi dengan klien lebih penting daripada negoisasi kontrak.
- Sikap tanggap lebih penting daripada mengikuti rencana/plan.
Ilustrasi Model agile
Model inkremental dibuat untuk mengatasi kelemahan dari model air terjun yang tidak mengakomodasikan iterasi dan mengatasi kelemahan dari metode prototype yang memiliki proses terlalu pendek dan setiap prosesnya tidak selalu menghasilkan produk(hanya prototype).Model inkremental menghasilkan produk/aplikasi untuk setiap tahapan inkremen.
Model inkremental sangat cocok digunakan jika staff yang dimiliki memiliki pergantian yang tinggi sehingga staff tidak dapat terus ikut dalam pengembangan perangkat lunak.Mekanisme tahapan inkremental perlu direncanakan terlebih dahulu agar hasil produk dan pengerjaan setiap tahapan inkremen menjadi lebih baik.
Kelebihan | Kekurangan |
Functional | Sulit untuk di prediksi |
Proses relative cepat | Dapat memunculkan permasalahan dari arsitektus maupun design |
(table 5)
BAB III
CIA
PENGERTIAN CIA 3.1
Apa itu CIA Triad?
CIA Triad dalah suatu model yang dirancang dengan tujuan memandu kebijakan yang terkait keamanan informasi pada suatu organisasi. CIA itu sendiri terdiri dari 3 aspek yaitu Confidentiality, Integrity dan Availability. Unsur-unsur itulah yang dianggap sebagai tiga komponen Cyber Security yang paling penting di seluruh platform, terutama pada Web App.
- Confidentiality
Sederhananya, confidentiality ini bisa berarti sama dengan privasi. Ini juga merupakan serangkaian langkah-langkah yang perlu dilakukan untuk mencegah tereksposnya informasi sensitif dari jangkauan tangan orang-orang yang tidak berwenang. Tak hanya itu, juga harus dipastikan bahwa orang yang tepat sudah benar-benar mendapatkannya data yang dibutuhkan.
Akses di sini memang harus dibatasi agar hanya ditujukan bagi mereka yang berwenang dalam melihat data yang dipermasalahkan. Data biasanya juga dapat dikategorikan menurut jumlah dan jenis kerusakan yang bisa kejadian jika jatuh ke tangan yang tidak diinginkan. Nah, dampaknya akan terlihat dari lebih banyak atau lebih sedikit langkah yang perlu dilakukan sebagai implementasi dari kategori tersebut.
Menjaga kerahasiaan data ini juga bisa dilakukan dengan mengadakan pelatihan khusus bagi mereka yang mengetahui adanya dokumen tersebut. Pelatihan semacam itu biasanya akan mencakup edukasi terkait risiko keamanan yang bisa mengancam informasi/data penting yang ada. Aspek lebih lanjut dari pelatihan ini bisa mencakup pelajaran membuat kata sandi yang kuat dan praktik-praktik keamanan sejenis yang lainnya.
Adapun aplikasi yang bagus dari metode ini adalah yang biasa digunakan untuk memastikan kerahasiaan nomor rekening atau nomor perutean pada saat melakukan transaksi online. Hal itu biasa dilakukan dengan mengenkripsi data. Ini merupakan metode umum untuk memastikan kerahasiaan info yang ada.
Selain itu, memasukkan ID pengguna dan kata sandi juga menjadi bentuk prosedur standar dari metode Confidentiality. Tak hanya itu, ada juga otentikasi dua faktor. Pilihan lainnya sebenarnya banyak, termasuk biometric verification.
- Integrity
Integriy ini berarti menjaga konsistensi, akurasi, dan kepercayaan terhadap data untuk setiap waktu hingga seterusnya. Data tidak boleh diubah pada saat transit. Kemudian juga langkah-langkah tertentu perlu dilakukan untuk memastikan bahwa data tidak bisa diubah-ubah oleh orang yang tidak punya kepentingan sejalan (misalnya, para peretas yang ingin melakukan manipulasi data dsb).
Langkah-langkah tersebut juga termasuk izin dalam mengakses file dan batasan kontrol bagi akses pengguna. Kontrol ini bisa dipakai untuk mencegah perubahan yang keliru atau penghapusan tidak disengaja dari pengguna resmi yang bisa juga menjadi masalah. Jadi, intinya backup/redundant harus tersedia untuk memulihkan data yang sudah kena masalah agar bisa kembali ke keadaan yang semula.
- Availability
Availability adalah bisa diterapkan dengan sangat baik bila developer telah memastikan adanya pemeliharaan semua hardware secara ketat. Developer/pengembang juga perlu melakukan perbaikan hardware sesegera mungkin ketika diperlukan. Tak hanya itu, pengembang wajib memelihara lingkungan sistem operasi supaya bisa berfungsi dengan baik dan bebas dari konflik software-nya.
Penting juga bagi pengembang untuk tetap mengikuti semua peningkatan sistem/pembaharuan yang diperlukan dari waktu ke waktu. Ada lagi tugas lainnya, yaitu menyediakan bandwidth komunikasi yang memadai dan mencegah adanya bottleneck. Hal ini bisa mengurangi konsekuensi serius ketika masalah hardware benar-benar terjadi.
Untuk mencegah kehilangan data dari bencana, salinan backup bisa disimpan di lokasi yang secara geografis terisolasi, bahkan mungkin di tahan api atau tahan air. Peralatan keamanan ekstra atau perangkat lunak seperti firewall dan server proxy juga bisa diadakan untuk melindungi data dari time-offi dan serangan DDoS maupun gangguan jaringan yang lainnya. Jadi intinya, Confidentiality dalam konteks ini merupakan seperangkat aturan yang membatasi akses ke informasi. Integrity itu adalah jaminan bahwa informasinya bisa dipercaya dan akurat. Terakhir, Availability adalah jaminan akses yang bisa diandalkan agar dapat mengolah informasi dari orang yang memiliki kewenangan.
3.2 Penerapan CIA Triad bagi Pengembangan Web App
Seperti yang telah kami sampaikan sebelumnya di bagian pengantar, penerapan CIA Triad ini sangat penting bagi pebisnis yang ingin mensukseskan usahanya di era serba digital. Mengapa? Sebab hal ini dapat meningkatkan kepercayaan klien atau calon pelanggan kepada brand maupun perusahaan Anda.
Seluruh data pengguna dapat tersimpan dengan aman, dan transfer data yang terjadi bisa dipastikan terhindar dari pihak yang tak diinginkan. Kini, dimana perkembangan teknologi semakin pesat, para peretas dan perkembangan Malware juga semakin canggih.
BAB IV
KESIMPULAN & SARAN
3.1 KESIMPULAN
Pengertian SDLC adalah siklus atau tahapan yang digunakan dalam pembuatan/pengembangan suatu sistem informasi agar pengerjaan sistem berjalan secara terstruktur, efektif dan sesuai dengan tujuan yang diinginkan.
3.2 SARAN
Melalui penulisan makalah ini, saran yang dapat penulis berikan untuk perkembangan ke depannya antara lain:
- Sekolah sebaiknya menerapkan metode pembelajaran yang telah teruji
- Pihak-pihak yang terlibat dalam proses pembelajaran hendaknya saling bekerja sama dengan baik
- Faktor-faktor yang terlibat dalam pembelajaran hendaknya dipersatukan agar proses pembelajaran dapat berjalan dengan baik
- Pembenahan sarana dan prasarana sekolah dan memilah mana yang sesuai maupun tidak sesuai dengan proses pembelajaran
DAFTAR PUSTAKA
http://fabiokounang11.blogspot.com/2017/02/model-model-sdlc-system-developmen-life.html
Leave a comment