Arsitektur Perangkat Lunak Gaya, Pola, dan Dokumentasi
Pengantar Arsitektur Perangkat Lunak Definisi: Struktur tingkat tinggi dari sebuah sistem perangkat lunak. Tujuan: menyediakan struktur, memastikan skalabilitas, kinerja, maintainability. Peran: komunikasi antar pemangku kepentingan dalam SDLC.
Gaya Arsitektur: Monolitik Definisi: Semua fungsi aplikasi dalam satu unit besar. Karakteristik: satu codebase, deployment tunggal. Kelebihan: sederhana, performa cepat. Kekurangan: sulit di-scale, perubahan berdampak luas. Contoh: aplikasi desktop tradisional. Aplikasi Tunggal (Semua Modul)
Gaya Arsitektur: Layered Struktur: Presentation Layer, Business Layer, Data Access Layer, Database. Kelebihan: separation of concerns, maintainability. Kekurangan: komunikasi antar layer bisa lambat. Contoh: aplikasi web tradisional (Java EE, .NET). Presentation Layer Business Layer Data Access Layer Database
Gaya Arsitektur: Microservices Definisi: Sistem dipecah menjadi layanan kecil independen. Karakteristik: service sendiri, API komunikasi. Kelebihan: scalable, fleksibel, tahan gangguan. Kekurangan: kompleks, butuh infrastruktur (Docker, Kubernetes). Contoh: Netflix, Amazon, Gojek. Service A Service B Service C API Gateway
Pola Arsitektur: MVC Model: data & logika bisnis. View: tampilan untuk pengguna. Controller: penghubung Model dan View. Kelebihan: pisahkan tampilan & logika bisnis. Contoh: Laravel, Ruby on Rails, Spring MVC. Model Controller View
Pola Arsitektur: MVP Model: data & logika. View: UI pasif. Presenter: kontrol logika presentasi. Kelebihan: View terpisah dari logika, mudah diuji. Contoh: Android, Java Swing. Model Presenter View
Pola Arsitektur: MVVM Model: data. View: UI. ViewModel: penghubung dengan data binding. Kelebihan: mendukung two-way data binding, cocok aplikasi modern. Contoh: Angular, Flutter, WPF. Model ViewModel View
Dokumentasi Arsitektur Penting untuk pemahaman & maintainability. Elemen: Diagram arsitektur, deskripsi komponen, keputusan desain, NFR. Diagram: Context, Component, Deployment.
Kesimpulan Gaya arsitektur menentukan struktur utama sistem. Pola arsitektur membantu interaksi antar komponen. Dokumentasi arsitektur penting untuk komunikasi & maintainability.