Bayangkan kamu ingin membangun rumah. Bahasa pemrograman adalah bahan bangunan: bata, semen, kayu, atau kaca. Kamu menggunakan bahan-bahan ini untuk membangun dinding, lantai, atau atap. Tapi sebelum mulai membangun, kamu perlu denah rumah dari arsitek. Denah ini menunjukkan berapa banyak kamar, di mana letak pintu, atau bagaimana saluran listrik dan air harus dipasang.
ADL adalah tools untuk membuat denah tersebut. Bahasa pemrograman digunakan untuk membangun sistem, sementara ADL digunakan untuk merancang sistem.
Perbedaan lainnya:
- ADL bekerja di tingkat yang lebih tinggi. Alih-alih membahas detail seperti loop atau variable, ADL fokus pada komponen besar seperti microservices, database, atau API.
- Bahasa pemrograman bertujuan membuat sistem berjalan. ADL bertujuan memastikan sistem dirancang dengan baik sejak awal.
- Programmer menggunakan bahasa pemrograman. ADL digunakan oleh software architect (arsitek perangkat lunak), meskipun programmer juga perlu memahaminya.
Bagaimana ADL Digunakan?
Proses penggunaan ADL bervariasi tergantung jenis proyek dan tools yang dipilih. Namun, secara umum, langkah-langkahnya adalah sebagai berikut:
Identifikasi kebutuhan arsitektur: Tim menentukan apa yang ingin dicapai---misalnya, sistem harus bisa menangani 1 juta pengguna bersamaan atau mudah diintegrasikan dengan layanan pihak ketiga.
Pemilihan ADL: Tim memilih ADL yang sesuai dengan domain proyek. Untuk aplikasi enterprise, ArchiMate mungkin lebih cocok. Untuk sistem embedded, MetaH bisa jadi pilihan.
Pembuatan deskripsi arsitektur: Menggunakan ADL, tim menggambarkan komponen utama sistem, hubungan antar komponen, dan prinsip desain.
Analisis dan validasi: ADL digunakan untuk memeriksa konsistensi desain, misalnya apakah semua komponen terhubung dengan benar atau apakah ada celah keamanan.
Implementasi: Deskripsi arsitektur diubah menjadi kode (jika ADL mendukung fitur ini) atau digunakan sebagai panduan untuk programmer.
Contoh kasus: Sebuah startup ingin membangun aplikasi ride-sharing. Mereka menggunakan UML untuk membuat class diagram (menunjukkan objek Driver, Passenger, Trip) dan sequence diagram (menunjukkan alur dari pemesanan hingga pembayaran). Diagram ini kemudian divalidasi untuk memastikan tidak ada bug desain, seperti proses pembayaran yang tidak terhubung ke notifikasi.
Manfaat Menggunakan ADL
1. Komunikasi Lebih Efektif
Dengan ADL, semua stakeholder punya referensi visual yang sama. Developer tidak perlu menebak-nebak maksud arsitek, dan klien bisa melihat gambaran besar sistem tanpa terjebak detail teknis.