SOAL: Anda adalah seorang software engineer yang dihadapkan pada proyek pengembangan sistem manajemen rumah sakit. Sistem ini mencakup banyak modul, seperti pendaftaran pasien, penjadwalan dokter, pencatatan rekam medis, dan laporan administrasi. Sistem akan diterapkan di jaringan rumah sakit besar dengan kebutuhan pengguna yang sering berubah dan melibatkan data pasien yang sangat sensitif. Selain itu, sistem ini diharapkan dapat berintegrasi dengan teknologi terkini seperti cloud computing untuk menyimpan data pasien, dan harus mampu menangani lebih dari 3.000 pasien per hari dengan kebutuhan modul baru setiap dua bulan.

Pertanyaan:

  1. Pemilihan Model Pengembangan: • Model pengembangan perangkat lunak apa yang paling sesuai untuk proyek ini (misalnya, Waterfall, Prototyping, RAD, atau Agile)? Jelaskan alasan pemilihan Anda dengan mempertimbangkan kebutuhan sistem, skala proyek, dan kompleksitasnya.

    • Bagaimana model tersebut memungkinkan Anda untuk tetap relevan dengan perubahan kebutuhan pengguna selama siklus hidup proyek?

Jawab: • Model yang paling sesuai: Agile. • Alasan pemilihan: Memungkinkan adaptasi terhadap perubahan kebutuhan pengguna yang sering terjadi, sesuai dengan kebutuhan sistem rumah sakit.

  1. Dampak Terhadap Arsitektur: • Bagaimana model pengembangan yang Anda pilih akan memengaruhi desain arsitektur perangkat lunak? Jelaskan dampaknya dari segi reusabilitas, skalabilitas, dan kemampuan sistem untuk menangani kebutuhan pengguna yang terus berubah.

    • Berikan contoh spesifik untuk modul pendaftaran pasien dalam tahap awal implementasi. Jawab: • Pengaruh terhadap desain arsitektur perangkat lunak: • Reusabilitas: Komponen dapat dirancang modular untuk digunakan kembali di berbagai bagian sistem. • Skalabilitas: Sistem dapat dengan mudah dikembangkan untuk menangani lebih dari 3.000 pasien per hari. • Fleksibilitas: Mudah diadaptasi untuk menambahkan modul baru setiap dua bulan. • Contoh spesifik untuk modul pendaftaran pasien: Desain modul berbasis microservices yang memungkinkan pengelolaan data pasien secara terpisah, sehingga mudah diperbarui tanpa memengaruhi bagian lain.

  2. Manajemen Risiko dan Komunikasi: • Bagaimana Anda akan mengelola risiko yang terkait dengan model pengembangan yang Anda pilih, khususnya untuk menjaga keamanan data pasien dan memenuhi target waktu pengembangan?

    • Jelaskan bagaimana model tersebut memungkinkan komunikasi yang efektif dengan stakeholder, seperti dokter, pasien, dan manajemen rumah sakit. Jawab: • Manajemen risiko: • Keamanan data pasien: Menggunakan enkripsi untuk melindungi data sensitif. • Pemenuhan target waktu: Pembagian tugas berdasarkan sprint dalam Agile. • Komunikasi efektif: Melibatkan stakeholder dalam meeting sprint planning dan review.

  3. Pengujian dan Pemeliharaan: • Bagaimana pendekatan pengujian dilakukan sesuai dengan model pengembangan Anda? Jelaskan strategi untuk memastikan sistem tetap aman, dapat diandalkan, dan mudah diperbaiki selama masa operasionalnya. Jawab: • Pendekatan pengujian:

    Pengujian berkelanjutan (Continuous Testing): Mengintegrasikan pengujian ke dalam setiap sprint Agile. Strategi: Menggunakan unit testing, integration testing, dan end-to-end testing. • Strategi pemeliharaan:Sistem berbasis cloud memungkinkan pemantauan performa dan perbaikan jarak jauh.Log otomatis untuk mendeteksi dan memperbaiki masalah dengan cepat.

  4. Penggunaan Generative AI: •Jelaskan apakah Anda menggunakan Generative AI (seperti ChatGPT, Copilot, Cloud AI, Gemini, atau lainnya) untuk membantu Anda menyelesaikan soal ini. Jika ya, jelaskan bagaimana AI tersebut membantu Anda, misalnya dalam memberikan saran, penjelasan, atau contoh teknis. Jawab: • Apakah menggunakan Generative AI: Saya menggunakan AI seperti ChatGPT memberikan solusi coding, arsitektur, atau debugging dan membantu membuat dokumentasi teknis dan laporan. • Contoh teknis: AI dapat memberikan template untuk modul pendaftaran pasien.