Kuliah Perancangan Sistem Informasi Sesi 3 - Metode SDLC Dalam Pengembangan Software

April 26, 2024
Muhammad Syukri

Pendahuluan

Tahukah kamu apa itu metode SDLC? Metode SDLC (Software Development Life Cycle) adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem rekayasa perangkat lunak. Metode SDLC hadir untuk membantu kamu dalam pengembangan produk. Metode ini memiliki banyak jenisnya, tapi di sini kita fokus membahas 4 metode saja ya. Berikut adalah 4 metode SDLC dalam pengembangan software.

Waterfall

SDLC Methode

Metode SDLC yang pertama adalah waterfall. Metode waterfall adalah metode kerja yang menekankan fase-fase yang berurutan dan sistematis. Disebut waterfall karena proses mengalir satu arah “ke bawah” seperti air terjun. Metode waterfall ini harus dilakukan secara berurutan sesuai dengan tahap yang ada.

Berikut adalah tahap-tahap pengembangan dalam metode waterfall.

  1. Requirement gathering and analysis Mengumpulkan kebutuhan secara lengkap untuk dianalisis dan mendefinisikan kebutuhan apa saja yang harus dicapai oleh program. Informasi dapat diperoleh melalui wawancara, diskusi, atau survey.
  2. Design Melakukan perancangan desain perangkat lunak sebagai perkiraan sebelum dibuatnya kode. Desain sistem dapat dibuat menggunakan Flowchart, Mind Map, atau Entity Relationship Diagram (ERD).
  3. Implementasi Implementasi ini adalah tahap dimana seluruh desain yang sebelumnya sudah dibuat diubah menjadi kode-kode program. Kode yang dihasilkan masih berbentuk modul-modul yang harus digabungkan di tahap selanjutnya.
  4. Integration & testing Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat sebelumnya dan melakukan pengujian untuk mengetahui apakah perangkat lunak yang dibuat telah sesuai dengan desain dan fungsinya atau tidak.
  5. Verification Di tahap ini, pengguna atau klien yang langsung melakukan pengujian pada sistem, apakah sistem telah sesuai dengan tang disetujui atau belum sesuai.
  6. Operation & maintenance Tahap ini merupakan tahap terakhir dari model waterfall. Sistem yang sudah selesai dijalankan serta dilakukan pemeliharaan. Pemeliharaan berupa memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya.

Setiap metode yang digunakan pasti memiliki kelebihan serta kekurangannya tersendiri. Berikut adalah kelebihan dari metode waterfall: h

  1. Memiliki proses yang terurut, sehingga pengerjaan dapat terjadwal dengan baik dan mudah.
  2. Cocok untuk sistem dengan kompleksitas rendah (predictable).
  3. Setiap proses yang dilakukan tidak dapat saling tumpah tindih.

Berikut adalah kekurangan dari metode waterfall:

  1. Waktu pengerjaan relatif lebih lama, karena harus menunggu tahap sebelumnya selesai.
  2. Biaya yang dibutuhkan lebih mahal karena waktu pengembangan yang dibutuhkan lebih lama.
  3. Model waterfall ini kurang cocok untuk pengembangan proyek yang memiliki kompleksitas tinggi.

Prototype

SDLC Prototype Metode SDLC selanjutnya adalah prototype. Metode prototype adalah metode yang memungkinkan pengguna atau user memiliki gambaran awal tentang perangkat lunak yang akan dikembangkan, serta pengguna dapat melakukan pengujian di awal sebelum perangkat lunak dirilis.

Metode ini bertujuan untuk mengembangkan model menjadi perangkat lunak yang final. Artinya sistem akan dikembangkan lebih cepat dan biaya yang dikeluarkan lebih rendah. Metode prototype ini memiliki tahap-tahap yang harus dilakukan dalam pengembangan perangkat lunak.

Berikut adalah tahap-tahap pengembangan perangkat lunak menggunakan metode prototype.

  1. Analisa kebutuhan Pada tahap ini pengembang melakukan identifikasi perangkat lunak dan semua kebutuhan sistem yang akan dibuat.
  2. Membuat prototype Membuat rancangan sementara yang berfokus pada alur program kepada pengguna.
  3. Evaluasi prototype Evaluasi dilakukan untuk mengetahui apakah model prototype sudah sesuai dengan harapan.
  4. Mengkodekan sistem Jika prototype disetujui maka akan diterjemahkan ke dalam bahasa pemrograman yang sesuai.
  5. Pengujian sistem Setelah perangkat lunak sudah siap, perangkat lunak harus melewati pengujian. Pengujian ini biasanya dilakukan dengan White Box Testing, Black Box Testing, dan lain-lain.
  6. Evaluasi sistem Pengguna melakukan evaluasi apakah perangkat lunak sudah sesuai dengan apa yang diharapkan atau tidak. Jika ya, lakukan tahap selanjutnya. Jika tidak, ulangi tahap mengkodekan sistem dan pengujian sistem.
  7. Menggunakan sistem Perangkat lunak yang telah diuji dan disetujui siap untuk digunakan. Sebagai suatu metode yang sering digunakan, metode prototype pasti memiliki kelebihan dan kekurangan.

Berikut adalah kelebihan dari metode prototype:

  1. Mempersingkat waktu pengembangan perangkat lunak
  2. Penerapan fitur menjadi lebih mudah, karena pengembang mengetahui apa yang diharapkan Berikut adalah kekurangan dari metode prototype:
  3. Proses yang dilakukan untuk analisis dan perancangan terlalu singkat
  4. Kurang fleksibel jika terjadi perubahan

Agile Methode Metode SDLC ketiga adalah agile. Metode agile adalah metode yang fleksibel di mana pengembangan dilakukan dalam jangka pendek. Namun diperlukan adaptasi yang cepat dari developer terhadap perubahan dalam bentuk apa pun.

Tujuan Agile

Berikut merupakan tujuan dari agile, antara lain:

1. High – value & working app system

Menghasilkan produk dengan kualitas yang baik, dan memiliki nilai jual yang tinggi.

2. Iterative, incremental, evolutionary

Pengembangan dapat dilakukan secara iteratif, berulang-ulang, dan dapat mengalami perubahan jika diperlukan.

3. Cost control & value – driven development

Pengembangan perangkat lunak dapat sesuai dengan kebutuhan pengguna dan tim dapat dengan cepat merespon kebutuhan, sehingga waktu dan biaya pembuatan dari perangkat lunak dapat dikendalikan.

4. High – quality production

Kualitas dari perangkat lunak tetap terjaga, meskipun waktu dan biaya lebih sedikit.

5. Flexible & risk management

Meminimalisir terjadinya kesalahan pada program ataupun produk sebelum dilakukannya proses deploy aplikasi.

6. Collaboration

Kolaborasi ini dilakukan oleh setiap tim pengembang untuk mendiskusikan feedback yang diberikan oleh klien.

7. Self – organizing, self – managing teams

Pengembang diberikan akses untuk memanajemen sendiri urusan software development. Seorang manajer hanya bertugas sebagai penghubung antara pengembang dengan klien sehingga dapat mengurangi terjadinya miss communication. Metode agile ini memiliki kelebihan dan kekurangan tersendiri.

Berikut adalah kelebihan dari metode agile:

8. Perubahan dapat dengan cepat ditangani.

Proses pengembangan perangkat lunak membutuhkan waktu yang relatif cepat dan tidak memerlukan sumber daya yang besar.

9. Klien dapat memberikan feedback kepada pengembang dalam proses pembuatan program.

Berikut adalah kekurangan dari metode agile:

10. Metode ini kurang sesuai dengan tim yang besar (lebih dari 20 orang).

11. Tim harus selalu siap, karena perubahan dapat terjadi kapan saja.

12. Metode ini kurang cocok untuk tim yang berkomitmen untuk menyelesaikan proyek bersama-sama.

Fountain

Fountain Metode SDLC yang terakhir adalah fountain. Metode fountain adalah perbaikan dari metode waterfall, di mana jenis tahapan masih sama. Namun beberapa jenis tahapan boleh didahulukan atau dilewati, tetapi ada tahapan yang tidak bisa dilewati, contohnya seperti kamu memerlukan design sebelum melakukan implementasi, jika hal tersebut dilewati maka akan ada tumpang tindih.

Berikut adalah tahap-tahap pengembangan perangkat lunak menggunakan metode fountain.

1. User requirement specification

Mencari tahu apa saja yang dibutuhkan oleh pengguna dalam perangkat lunak yang sedang dikembangkan.

2. Software requirement specification

Penyesuaian perangkat lunak dari sisi pengguna.

3. System design

Pembuatan desain sistem yang akan dibuat sebelum diimplementasikan.

4. Program design

Pembuatan desain yang lebih sempurna dan hampir mendekati hasil akhir dari perangkat lunak.

5. Implementation

Di tahap ini dilakukan implementasi sesuai dengan desain yang sudah dibuat di tahap sebelumnya.

6. Program testing: unit

Dalam tahap ini dilakukan uji coba terhadap unit-unit yang dibutuhkan dalam perangkat lunak yang dikembangkan.

7. Program testing: system

Di tahap ini dilakukan uji coba terhadap sistem dari perangkat lunak seutuhnya sebelum perangkat lunak digunakan.

8. Program use

Dalam tahap ini dilakukan pengajaran kepada pengguna untuk menggunakan perangkat lunak yang telah dibuat.

9. Software maintenance

Biasanya dalam tahap ini dilakukan perawatan terhadap perangkat lunak yang sudah dibuat, perawatan dapat berupa update sistem atau perbaikan kesalahan atau bugs yang ada.

Karena metode fountain ini adalah perbaikan dari metode waterfall, maka metode ini memiliki kelebihan dan kekurangan yang mirip dengan metode waterfall.

Berikut adalah kelebihan dari metode fountain:

  1. Memiliki proses yang terurut, sehingga pengerjaan dapat terjadwal dengan baik dan mudah.
  2. Cocok untuk sistem dengan kompleksitas rendah (predictable).
  3. Dapat melewati atau mendahulukan beberapa tahapan .
  4. Setiap proses yang dilakukan tidak dapat saling tumpah tindih.

Berikut adalah kekurangan dari metode waterfall:

  1. Waktu pengerjaan relatif lebih lama, karena harus menunggu tahap sebelumnya selesai.
  2. Biaya yang dibutuhkan lebih mahal karena waktu pengembangan yang dibutuhkan lebih lama.
  3. Model fountain ini kurang cocok untuk pengembangan proyek yang memiliki kompleksitas tinggi.

Jadi, sekarang kamu sudah tahu kan apa saja metode SDLC yang digunakan dalam pengembangan perangkat lunak? Dalam penggunaannya setiap tim pasti menerapkan metode yang berbeda-beda untuk mengembangkan suatu perangkat lunak karena setiap metode memiliki kelebihan dan kekurangannya masing-masing.

Semoga dengan mengetahui kelebihan dan kekurangan dari masing-masing metode kamu dan tim kamu dapat menggunakan metode yang sesuai untuk mengembangkan suatu program.