2.1 Pengertian software development life cycle (SDLC)
SDLC adalah siklus hidup pengembangan sebuah sistem. Dalam rekayasa sistem dan
rekayasa sebuah software, SDLC merupakan suatu proses pengubahan dan pembuatan
sistem serta model dan metodologi yang digunakan untuk mengembangkan
sistem-sistem tersebut. Untuk apa SDLC ini Tentunya untuk menghasilkan output
sistem berkualitas tinggi yang sesuai dengan ekspektasi para pengguna. Secara
singkat, SDLC menurut Stackify merupakan sebuah proses yang memproduksi sebuah
software dengan kualitas setinggi-tingginya tetapi dengan biaya yang
serendah-rendahnya. SDLC juga memiliki beberapa tahapan termasuk planning,
design, testing, building, dan deployment. Model SDLC yang terkenal meliputi
waterfall model, spiral model, dan juga agile model.
2.2 Model software development life cycle (SDLC)
1. Model waterfall
Metode waterfall dalam pengembangan sistem merupakan proses pengembangan atau mengubah suatu sistem perangkat lunak dengan menggunakan metode-metode atau juga model-model yang bisa digunakan orang lain dalam pengembangan sistem perangkat lunak. Model Waterfall adalah suatu proses perangkat lunak yang berurutan , dipandang sebagai terus mengalir kebawah (seperti air terjun) melewati fase-fase perencanaan, pemodelan, implementasi dan pengujian.
Tahapan metode waterfall :
a. Requirement Gathering and analysis
Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
b. Desain dalam tahap ini pengembang akan menghasilkan sebuah sistem secara keseluruhan dan menentukan alur perangkat lunak hingga algoritma yang detail.
c. Implementasi adalah Tahapan dimana seluruh desain diubah menjadi kode kode progam . Kode progam yang dihasilkan masih berupa modul-modul yang akan diintregasikan menjadi sistem yang lengkap.
d. Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan fungsi pada software terdapat kesalahan atau tidak.
e. Verifikasi adalah klien atau pengguna menguji apakah sistem tersebut telah sesuai dengan yang disetujui.
f. Operation & Maintenance yaitu instalasi dan proses perbaikan sistem sesuai yang disetujui.
2. Model Prototipe
Prototype adalah salah satu model dalam pengembangan sistem Rekayasa Perangkat Lunak dimana pengembang dan klien dapat saling membantu satu sama lain dalam merancang suatu sistem. Tidak hanya ikut turut serta pada tahap awal saja, namun akan berlanjut terus hingga pada tahap terakhir dan sistem dapat berjalan dengan baik sesuai dengan perencanaan.
Tahapan metode prototipe:
a. Mengumpulkan Kebutuhan
Pengembang dan klien membahas mengenai kebutuhan apa saja yang akan dibutuhkan dalam perancangan sistem tersebut. Entah itu mengenai proses i/o, fitur-fitur yang ada pada sistem, dan sebagainya.
b. Membangun Prototyping
Setelah kebutuhan sistem sudah terdata. Pengembang akan membuat perancangan sistem secara sederhana terlebih dahulu sebagai contoh dasar atau gambaran sistem yang akan digunakan oleh user.
c. Evaluasi Prototyping
Jika perancangan sistem sudah dibuat. Tahapan selanjutnya yaitu mengevaluasi hasil prototyping yang telah dibuat oleh Pengembang.
d. Pengkodean Sistem
Jika sistem sudah berhasil melalui tahap Evalusi Prototyping dan tidak ada yang di revisi lagi. Maka Pengembang akan melakukan proses pengkodean sistem, dimana Pengembang akan mengeksekusi apapun yang terdapat pada sistem menggunakan bahasa pemrograman yang sesuai dengan kebutuhan.
e. Pengujian Sistem
Setelah sistem sudah siap untuk dipakai. Belum tentu sudah bisa langsung digunakan oleh user. Pada tahapan ini akan dilakukan suatu pengujian untuk mengetahui seberapa besar keberhasilan sistem tersebut.
f. Evaluasi Sistem
Apakah sistem sudah berjalan dengan baik? Atau masih terdapat suatu kesalahan pada sistem. Maka dari itu, klien mengevaluasi sistem untuk mengurangi resiko terjadi error pada sistem. Agar sistem dapat dikatakan user friendly.
g. Penggunaan Sistem
Sistem yang sudah lolos melalui semua tahapan diatas, maka sistem sudah siap digunakan secara umum oleh user.
3. Model rapid application development (RAD)
Rapid application development (RAD) adalah metode yang berfokus pada pengembangan aplikasi secara cepat, melalui pengulangan dan feedback berulang-ulang. RAD diajukan oleh IBM pada tahun 1980 sampai 1990-an, ketika permintaan terhadap aplikasi semakin meningkat.
Dengan banyaknya demand, orang-orang di dunia IT harus mencari solusi untuk memenuhi permintaan tersebut.
Metode ini merupakan semacam cikal bakal agile project management, karena bisa mengikuti pace bisnis yang terus berkembang dan juga kebutuhan pasar yang terus meningkat. Pengembangan software pada umumnya seperti waterfall model membutuhkan perencanaan yang terbilang cukup kaku. Klien atau pelanggan seakan ‘dipaksa’ untuk menyetujui banyak hal di awal, tetapi mereka tidak bisa melihat proses pembuatannya.
4. Model iteratif
Proses berulang dimulai dengan implementasi sederhana dari subset dari persyaratan perangkat lunak dan secara berulang meningkatkan versi yang berkembang sampai sistem penuh diimplementasikan. Pada setiap iterasi, modifikasi desain dibuat dan kemampuan fungsional baru ditambahkan. Ide dasar di balik metode ini adalah untuk mengembangkan sistem melalui siklus berulang (berulang) dan dalam porsi yang lebih kecil pada satu waktu (inkremental).
Pengembangan Iteratif dan Inkremental adalah kombinasi dari desain iteratif atau metode iteratif dan model build inkremental untuk pengembangan. “Selama pengembangan perangkat lunak, lebih dari satu iterasi siklus pengembangan perangkat lunak mungkin sedang berlangsung pada waktu yang sama.” Proses ini dapat digambarkan sebagai pendekatan “akuisisi evolusioner” atau “pembangunan bertahap”.
Dalam model inkremental ini, seluruh persyaratan dibagi menjadi berbagai build. Selama setiap iterasi, modul pengembangan melewati fase persyaratan, desain, implementasi, dan pengujian. Setiap rilis modul berikutnya menambahkan fungsi ke rilis sebelumnya. Proses berlanjut sampai sistem lengkap siap sesuai kebutuhan.
Kunci keberhasilan penggunaan siklus hidup pengembangan perangkat lunak berulang adalah validasi persyaratan yang ketat, dan verifikasi & pengujian setiap versi perangkat lunak terhadap persyaratan tersebut dalam setiap siklus model. Karena perangkat lunak berkembang melalui siklus yang berurutan, pengujian harus diulang dan diperpanjang untuk memverifikasi setiap versi perangkat lunak.
5. Model spiral
Model spiral diperkenalkan pertama kali oleh Barry Boehm pada makalahnya yang berjudul Spiral Model of Software Development and Enhancement. Barry Boehm menjelaskan bahawa model spiral merupakan model yang sangat berguna untuk melakukan pembangunan proyek-proyek besar dan prosesnya dilakukan dengan memperhatikan resiko proyek sehingga pada akhirnya akan menghasilkan model proses yang tepat sesuai kebutuhan pengguna.
Model Spiral adalah salah satu metode yang dapat digunakan dalam pengembangan perangkat lunak. Model spiral merupakan penggabungan dari model prototyping dan model waterfall. Model prototyping yang fokus pada penyajian atau presentasi kepada user dengan format input dan output kemudian perangkat lunak akan dievaluasi. Model waterfall yang fokus kepada proses pengembangan perangkat lunak yang sistematis atau berurutan. Model spiral menekankan pada Analisa resiko setiap tahapannya. Fungsi model spiral adalah untuk melakukan perubahan, penambahan dan pengembangan perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan keinginan dan kebutuhan penggunanya.
Tahapan dalam Spiral Model :
Dalam penerapan Model Spiral, terdapat lima tahapan untuk merealisasikan penggunaannya, yaitu sebagai berikut:
1. Tahap Liason
Tahap ini berhubungan dengan komunikasi antara pihak-pihak yang terlibat dalam pengembangan softaware (seperti: system analyst) dengan pelanggan (user). Tujuannya adalah memperbaiki dan mengembangan software sesuai kebutuhan dan keinginan hingga memuaskan pelanggan.
2. Tahap planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan jadwal, identifikasi lingkungan kerja, sumber-sumber informasi untuk melakukan iterasi (Teknik perulangan). Hasil dari tahapan ini adalah dokumen spesifikasi kebutuhan sistem dan bisnis.
3. Tahap analisis risiko
Tahap analisis reisiki berfungsi untuk mengidentifikasi resiko yang berpotensi akan terjadi dan menghasilkan solusi alternatif secara teknis dan manajemen saat strategi mitigasi (upaya untuk mengurangi resiko bencana) direncanakan dan diselesaikan.
4. Tahapan rekayasa (engineering)
Pada tahap rekayasa, beberapa kegiatan ini yang akan dilakukan, yaitu:
a. Menguji, coding dan mengembangkan software
b. Menginstal software
c. Membuat prototype
d. Mendesain dokumen
e. Meringkas suatu pengujian software
f. Membuat laporan atas kekurangan dari software agar segera diperbaiki
5. Tahap evaluasi
Pada tahap evaluasi, system analyst membutuhkan masukan dan tanggapan dari para user dalam mengevaluasi perangkat/produk yang diuji dan memastikan bahwa produk dibutuhkan sesuai ketentuan yang telah dibicarakan diawal dengan user. System analyst memastikan pelanggan puas dengan produk yang akan dihasilkan untuk menjawab persoalan bisnis mereka. Selain itu, system analyst harus tetap memantau resiko yang akan terjadi seperti faktor-faktor yang dapat menyebabkan cost overrun (pembengkakan biaya).
2.3 Fungsi software development life cycle (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.4 Tahapan-tahapan software development life cycle (SDLC)
1. Tahapan Analisis Sistem
Tahapan pertama, yaitu analisis sistem. Pada tahap ini, sistem akan dianalisis bagaimana akan dijalankan nantinya. Hasil analisis berupa kelebihan dan kekurangan sistem, fungsi sistem, hingga pembaharuan yang dapat diterapkan. Bagian ini termasuk dalam bagian perencanaan. Bagian lain yang termasuk dalam perencanaan ialah alokasi sumber daya, perencanaan kapasitas, penjadwalan proyek, estimasi biaya, dan penetapan Dengan demikian, hasil dari tahap perencanaan ialah rencana proyek, jadwal, estimasi biaya, dan ketentuan. Idealnya manajer proyek dan pengembang dapat bekerja maksimal pada tahap ini.
2. Tahapan Perancangan Sistem
Setelah persyaratan dipahami, perancang dan pengembang dapat mulai mendesain software. Tahapan ini akan menghasilkan prototype dan beberapa output lain meliputi dokumen berisi desain, pola, dan komponen yang diperlukan untuk mewujudkan proyek tersebut. Setelah spesifikasi, kemudian dilakukan perancangan sistem sebagai tahapan kelanjutannya. Tahap ini ialah tahap di mana seluruh hasil analisis dan pembahasan tentang spesifikasi sistem diterapkan menjadi rancangan atau cetak biru sebuah sistem. Tahap ini disebut sebagai cetak biru, di mana sistem sudah siap untuk dikembangkan mulai dari implementasi, analisis sistem, hingga tenaga pendukung sistem yang akan dikembangkan.
3. Tahap Pembangunan Sistem.
Pengembangan sistem ialah tahap di mana rancangan mulai dikerjakan, dibuat, atau diimplementasikan menjadi sistem yang utuh dan dapat digunakan. Jika diibaratkan bangunan, tahap ini merupakan tahap membangun.
Tahap ini memakan waktu cukup lama karena akan muncul kendala-kendala baru yang mungkin dapat menghambat jalannya pengembangan sistem. Pada tahapan ini, perancangan bisa saja berubah karena satu atau banyak hal. Tahap selanjutnya ialah memproduksi perangkat lunak di bawah proses pengembangan. Menurut metodologi yang sudah digunakan, tahap ini dapat dilakukan dengan cepat. Output yang dihasilkan pada tahap ini ialah perangkat lunak yang telah berfungsi dan siap diuji.
4. Tahap Pengujian Sistem
Sesudah sistem selesai dikembangkan, sistem harus melalui pengujian sebelum digunakan atau dikomersialisasikan. Tahap pengujian sistem harus dijalankan untuk mencoba apakah sistem yang dikembangkan dapat bekerja optimal atau tidak.
Pada tahap ini, ada beberapa hal yang harus diperhatikan, seperti kemudahan penggunaan sampai pencapaian tujuan dari sistem yang sudah disusun sejak perancangan sistem dilakukan. Jika ada kesalahan, tahap pertama hingga keempat harus diperbarui, diulangi, atau pun dirombak total.
Tahap tes SDLC ialah bagian paling penting dalam rangkaian pembuatan sebuah perangkat lunak. Karena sangat tidak mungkin mempublikasikan sebuah software tanpa melalui pengujian terlebih dahulu.
Beberapa pengujian yang harus dilewati, antara lain kualitas kode, tes fungsional, tes integrasi, tes performa, dan tes keamanan.
Untuk memastikan pengujian berjalan teratur dan tidak ada bagian yang terlewati, tes dapat dilakukan menggunakan perangkat Continuous Integration seperti Codeship.
Dari tahap ini, akan dihasilkan perangkat lunak yang telah dites dan siap untuk disebarkan ke dalam proses produksi.
5. Implementasi
Implementasi dan pemeliharaan merupakan tahap akhir dalam pembuatan SDLC. Di tahap ini sistem sudah dibuat, diuji coba, dan dipastikan dapat bekerja optimal.
Setelah tahap pembuatan selesai, dilakukan implementasi dan pemeliharaan oleh pengguna. Pemeliharaan sangat penting untuk memastikan sistem bekerja dengan optimal setiap saat.
Untuk implementasi, langkah yang harus dilakukan adalah sebagai berikut.
a. Melakukan survei dan penilaian terhadap kelayakan sistem yang sudah dikembangkan.
b. Menganalisis dan mempelajari sistem yang sudah ada dan sedang berjalan.
c. Melakukan pemecahan masalah dalam pengembangan sistem.
d. Menentukan penggunaan hardware dan software yang tepat.
e. Merancang dan mengembangkan sistem baru.
f. Memelihara dan meningkatkan sistem yang baru jika diperlukan.
Fase ini disebut juga sebagai tahap penyebaran. Pada tahap ini, software disebarkan setelah melewati proses yang melibatkan beberapa persetujuan manual. Tahap ini dilakukan sebelum menurunkan software ke produksi. Proses penyebaran dapat dilakukan menggunakan Application Release Automation (ARA) sebelum masuk ke proses produksi. Output yang didapat dari tahap ini ialah perangkat lunak yang siap untuk diproduksi secara massal.
6. Pemeliharaan Sistem
Pemeliharaan sistem yang sudah dibuat sangat penting untuk referensi di kemudian hari. Pemeliharaan ialah tahap akhir yang menjadi permulaan fase yang baru yaitu penggunaan.
SDLC belum berakhir di tahap ini. Software yang dihasilkan harus terus dipantau untuk memastikan ia berjalan sempurna.
Celah dan kerusakan yang ditemukan pada proses produksi harus dilaporkan dan diselesaikan. Jika ditemukan sebelum diproduksi massal, ini akan lebih baik daripada menyelesaikan dengan merombak semuanya dari awal ke akhir.
2.1 Pengertian ERD (Entity Relationship diagram) ERD ini merupakan pemodelan awal basis data yang paling banyak digunakan. ERD digunakan pada pemodelan basis data relasional. Jika menggunakan OODBMS (Object Oriented Database Management System) maka perancangan ERD tidak diperlukan. ERD memiliki beberapa aliran notasi seperti notasi Chen (dikembangkan Peter Chen), notasi Barker (dikembangkan Richard Barker), notasi Crow’s Foot dan lainnya. Tetapi, notasi yang paling banyak digunakan adalah notasi Chen. Untuk memodelkan struktur data dan hubungan antar data, ERD menggambarkannya dengan beberapa notasi dan simbol. Pemodelan awal basis data yang paling banyak digunakan adalah menggunakan Entity Relationship Diagram (ERD). dikembangkan berdasarkan teori himpunan dalam bidang matematika. ERD digunakan untuk pemodelan basis data relasional. Sehingga jika penyimpanan basis data menggunakan OODBMS maka perancangan basis data tidak perlu menggunakan ERD. ERD memiliki beberapa aliran notasi s...
Komentar
Posting Komentar