DAY 6 PKL

Laporan DevNet Modul 3.1

 Laporan DevNet Modul 3.1


3.1.1 Pendahuluan

Pengembangan perangkat lunak (software development) adalah proses sistematis untuk merancang, membuat, menguji, hingga memelihara sebuah aplikasi atau sistem komputer. Software dapat berupa sistem operasi, aplikasi desktop, website, maupun aplikasi mobile.
Dalam konteks Cisco DevNet, proses ini dikenal dengan istilah Software Development Life Cycle (SDLC). SDLC membantu tim pengembang bekerja lebih terstruktur dan efisien, sehingga perangkat lunak yang dihasilkan sesuai kebutuhan pengguna serta berkualitas tinggi.
Kegiatan pengembangan ini umumnya dilakukan oleh sebuah tim yang terdiri dari analis sistem, programmer, penguji (tester), hingga pengguna akhir, sehingga komunikasi dan kolaborasi menjadi faktor penting dalam keberhasilan proyek.


3.1.2 Software Development Life Cycle (SDLC)

SDLC adalah kerangka kerja yang mengatur tahapan pengembangan perangkat lunak dari awal hingga akhir. Dengan adanya SDLC, proyek lebih tertata dan risiko kegagalan dapat diminimalkan. Tahapan SDLC meliputi:

  1. Planning (Perencanaan)
    Menentukan ruang lingkup, tujuan, sumber daya, jadwal, dan risiko proyek.

  2. Requirement Analysis (Analisis Kebutuhan)
    Menggali kebutuhan pengguna, baik fungsional (fitur yang harus ada) maupun non-fungsional (keamanan, performa, skalabilitas).

  3. Design (Perancangan)
    Membuat rancangan teknis, arsitektur sistem, diagram alur, model data, serta antarmuka pengguna.

  4. Implementation (Implementasi / Coding)
    Menulis kode program berdasarkan desain yang telah dibuat menggunakan bahasa pemrograman dan framework yang sesuai.

  5. Testing (Pengujian)
    Memastikan perangkat lunak berjalan sesuai kebutuhan, bebas dari bug, stabil, dan aman.

  6. Deployment (Penyebaran)
    Meluncurkan perangkat lunak ke lingkungan produksi agar dapat digunakan pengguna.

  7. Maintenance (Pemeliharaan)
    Meliputi pembaruan, perbaikan bug, penyesuaian sistem, serta peningkatan fitur secara berkala.


3.1.3 Requirement and Analysis Phase

Fase analisis kebutuhan merupakan pondasi penting dari seluruh proses pengembangan. Kesalahan di tahap ini bisa berdampak fatal pada tahap berikutnya.
Kegiatan utama fase ini antara lain:

  • Pengumpulan data melalui wawancara, kuesioner, observasi, atau studi dokumen.

  • Identifikasi kebutuhan fungsional (misalnya: login, input data, cetak laporan).

  • Identifikasi kebutuhan non-fungsional (misalnya: keamanan, kinerja, reliabilitas).

  • Penyusunan dokumen kebutuhan yang lengkap sebagai acuan desain.


3.1.4 Design and Implementation Phases

Pada tahap ini, kebutuhan yang sudah dianalisis diterjemahkan menjadi rancangan teknis dan selanjutnya dikembangkan menjadi kode program.

  • Desain (Design)

    • High-Level Design: meliputi arsitektur sistem, basis data, bahasa pemrograman, dan teknologi yang dipakai.

    • Low-Level Design: fokus pada fungsi detail, algoritma, struktur data, serta rancangan antarmuka.
      Alat bantu seperti diagram UML, ERD, maupun wireframe sering digunakan di tahap ini.

  • Implementasi (Implementation)
    Proses menulis kode sesuai desain. Tim developer biasanya menggunakan version control (contoh: Git), standar penulisan kode, serta melakukan pengujian kecil-kecilan (unit testing) untuk menjaga kualitas perangkat lunak.


3.1.5 Testing, Deployment, and Maintenance

Tahap ini memastikan perangkat lunak siap dipakai dan terus terjaga kualitasnya.

  • Testing (Pengujian)

    • Unit Testing: menguji bagian kecil dari kode.

    • Integration Testing: menguji koneksi antar modul.

    • System Testing: menguji sistem secara menyeluruh.

    • User Acceptance Testing (UAT): dilakukan oleh pengguna untuk validasi akhir.

  • Deployment (Penyebaran)
    Software dipasang di server atau lingkungan produksi, bisa dilakukan sekaligus (big bang deployment) atau bertahap untuk meminimalisir risiko.

  • Maintenance (Pemeliharaan)
    Menangani bug, meningkatkan performa, menambah fitur baru, dan menjaga keamanan sistem dalam jangka panjang.


3.1.6 Metodologi Pengembangan Perangkat Lunak

Metodologi adalah pendekatan yang dipilih tim dalam menjalankan SDLC. Tidak ada satu metode yang cocok untuk semua proyek. Tiga metode yang umum digunakan:

  1. Waterfall

    • Proses berurutan seperti air terjun; setiap tahap harus selesai sebelum lanjut.

    • Cocok untuk proyek dengan kebutuhan yang jelas sejak awal.

    • Kelemahan: sulit menyesuaikan jika ada perubahan di tengah jalan.

  2. Agile

    • Pendekatan modern yang fleksibel dan iteratif.

    • Proyek dibagi menjadi sprint (1–4 minggu), setiap sprint menghasilkan fitur yang bisa langsung dipakai.

    • Mengutamakan kolaborasi, feedback cepat, dan adaptasi perubahan.

    • Contoh metode Agile:

      • Scrum: ada peran Scrum Master, Product Owner, dan tim developer dengan sprint backlog.

      • Kanban: menggunakan papan visual untuk memantau pekerjaan.

      • Extreme Programming (XP): fokus pada kualitas kode dengan praktik seperti pair programming dan test-driven development.

  3. Lean

    • Berasal dari filosofi produksi Toyota, menekankan efisiensi dan pengurangan pemborosan.

    • Prinsip utama:

      • Hilangkan aktivitas yang tidak memberi nilai tambah.

      • Ambil keputusan berdasarkan data (Decision Delay).

      • Bangun kualitas sejak awal (Build Quality In).

      • Rilis cepat versi minimal (MVP) untuk feedback cepat.

      • Percayakan tim untuk mengambil keputusan (Empower Teams).

    • Sering dikombinasikan dengan Agile untuk hasil yang lebih adaptif dan efisien.


Komentar