Evaluasi Akhir Semester KPPL E
Fadhiil Hanif Rizqullah
5025221144
KPPL E
Evaluasi Akhir Semester
1. Dalam Pengembangan Perangkat Lunak ada fase Analisis dan Desain.
- Terangkan aktivitas yang dilakukan dalam fase Analisis dan Desain
- Apa Output dari aktivitas tersebut untuk mendukung pengembangan perangkat lunak.
Jawaban :
Pada fase Analisis, fokus utama adalah memahami kebutuhan pengguna dan sistem. Aktivitas dimulai dengan pengumpulan kebutuhan melalui wawancara, observasi, dan analisis proses bisnis. Data yang diperoleh dianalisis untuk mengidentifikasi fungsi sistem dan alur kerja yang dibutuhkan. Semua informasi ini kemudian dirangkum dalam dokumen Software Requirement Specification (SRS) yang menjadi panduan untuk tahap selanjutnya (output dari fase ini).
Pada fase Desain, tujuan utamanya adalah merancang solusi teknis berdasarkan kebutuhan yang telah ditentukan. Aktivitas meliputi perancangan arsitektur sistem untuk menentukan komponen utama dan hubungan antarbagian, desain database untuk pengelolaan data, dan pembuatan desain antarmuka pengguna agar mudah digunakan. Selain itu, diagram seperti UML digunakan untuk memvisualisasikan struktur dan alur sistem. Output dari fase ini berupa blueprint teknis yang detail, siap digunakan pada fase implementasi.
2. Dalam model Waterfall, setiap tahap memiliki fungsi spesifik. Jelaskan lima tahap utama dalam model ini, serta sebutkan kelebihan dan kekurangan dari model tersebut dalam konteks proyek besar yang memiliki persyaratan tetap.
Jawaban :
Metode Waterfall adalah model pengembangan perangkat lunak yang terstruktur dan linier, di mana setiap tahap harus selesai sebelum melanjutkan ke tahap berikutnya. Tahap pertama adalah Analisis Kebutuhan (Requirement Analysis), di mana semua kebutuhan sistem dikumpulkan dan didokumentasikan secara rinci. Selanjutnya, pada tahap Desain (Design), sistem dirancang berdasarkan dokumen kebutuhan, termasuk arsitektur, struktur data, dan antarmuka. Setelah desain selesai, tahap Pengembangan (Development) dilakukan dengan pengkodean perangkat lunak sesuai spesifikasi. Kemudian, pada tahap Pengujian (Testing), perangkat lunak diuji untuk memastikan fungsionalitas, keandalan, dan kompatibilitasnya. Terakhir, tahap Pemeliharaan (Maintenance) dilakukan setelah implementasi untuk memperbaiki bug atau memenuhi kebutuhan tambahan. Model ini memastikan setiap langkah dilakukan secara teratur, tetapi kurang fleksibel terhadap perubahan kebutuhan di tengah proyek.
Kelebihan dari model Waterfall adalah strukturnya yang jelas dan mudah diikuti, dengan dokumentasi lengkap yang membantu dalam pengelolaan proyek besar dan tim yang berbeda. Model ini ideal untuk proyek dengan persyaratan yang tetap dan jelas sejak awal. Namun model ini memiliki kekurangan, yaitu kurangnya fleksibilitas terhadap perubahan, sehingga sulit untuk beradaptasi jika kebutuhan berubah di tengah jalan. Selain itu, hasil hanya dapat terlihat setelah semua tahap selesai, sehingga tidak cocok untuk proyek yang membutuhkan iterasi cepat.
3. Jelaskan perbedaan antara architectural design dan detailed design. Mengapa kedua jenis desain tersebut diperlukan dalam proses pengembangan perangkat lunak?
Jawaban :
Architectural design adalah perancangan tingkat tinggi yang mendefinisikan struktur utama sistem, termasuk komponen-komponen utama, hubungan antarkomponen, dan pola desain yang digunakan. Detailed design adalah perancangan tingkat rendah yang fokus pada detail implementasi setiap komponen, seperti algoritma, struktur data, dan antarmuka internal.
Keduanya diperlukan karena architectural design memberikan kerangka dasar dan memastikan sistem memiliki fondasi yang kuat, sedangkan detailed design memastikan setiap komponen dapat diimplementasikan dengan jelas, efisien, dan sesuai dengan arsitektur yang telah dirancang. Kombinasi ini memastikan pengembangan perangkat lunak berjalan terstruktur dan efisien.
4. Sebuah perusahaan membutuhkan sistem e-commerce untuk menjual produk digital seperti foto, video, desain poster, ebook. Saat ini transaksi dihandle dengan WhatsApp. Namun seiring dengan perkembangan bisnis tools tersebut tidak mampu menangani lonjakan transaksi. Buatkan sistem / aplikasi yang mampu menangani lonjakan transaksi pada musim tertentu. Jelaskan pendekatan rekayasa perangkat lunak yang akan Anda gunakan untuk merancang, membangun, dan menguji sistem tersebut agar memenuhi kebutuhan klien.
Jawaban :
Pada studi kasus kali ini saya akan menggunakan pendekatan metode agile development. Dengan menggunakan metode tersebut, fokus utama dalam pengembangan adalah kolaborasi tim pengembang dan kepuasan para pengguna/pelanggan. Metode ini memiliki fleksibilitas tingkat tinggi dalam menghadapi perubahan kebutuhan. Hal ini memungkinkan iterasi yang cepat dalam pengembangan secara bertahap. Untuk menangani masalah lonjakan transaksi, load balancing merupakan salah satu solusinya. Load balancing adalah teknik untuk mendistribusikan beban kerja atau traffic jaringan secara merata di beberapa server atau sumber daya sistem, guna meningkatkan performa, ketersediaan, dan keandalan aplikasi atau layanan.


Comments
Post a Comment