
Choosing The Right Architecture
Ditulis oleh Rakean Gilang Dipa Pawitra - Tech Lead Developer Amanah Corp
Hal terpenting dalam membuat sebuah sistem informasi adalah arsitektur sistem. Dengan memilih arsitektur yang tepat, kita memastikan sistem berjalan dengan baik dan proses pengerjaannya juga efisien. Sebaliknya, kesalahan dalam memilih arsitektur bisa berdampak fatal. Sistem yang lambat, proses debugging berhari-hari, hingga kebocoran data adalah suatu keniscayaan jika kita memilih arsitektur sistem yang buruk.
Diantara banyak pola arsitektur sistem, salah satu yang paling terkenal adalah Layered Architecture yang dipopulerkan oleh Martin Fowler dalam bukunya Patterns of Enterprise Application Architecture. Konsep Layered Architecture membagi sistem kedalam 4 layer, yakni Presentation (Interface), Application, Domain (Business Logic), dan Infrastructure (Data Source). Pemecahan ini membuat sistem jadi lebih mudah dipahami oleh developer dan fungsionalitas antar layer jadi tidak saling bergantung. Contohnya, kita bisa me-redesign tampilan website hanya dengan mengubah Presentation Layer. Kita juga bisa mengubah sumber data dari MySQL ke PostegreSQL cukup dengan mengubah Infrastructure Layer.
Meskipun pola Layered Architecture lazim diadopsi, ada kalanya kebutuhan sistem memaksa kita 'melanggar' pola ini. Di beberapa project yang saya dan tim kerjakan, Business Logic tersebar di Domain dan Infrastructure Layer karena alasan fleksibilitas. Sebagai contoh, jika suatu sistem memiliki Business Logic yang sering berubah, kemampuan untuk merubah Logic on-the-fly menjadi sangat penting. Ketika dibutuhkan perubahan Logic dan sumberdaya yang tersedia adalah Business / System Analyst, maka sangat menguntungkan jika Business Logic disimpan di database dalam bentuk Stored Procedure karena BA / SA bisa langsung melakukan penyesuaian.
Jadi, mana yang benar? Apakah kita harus mengikuti arsitektur yang diadopsi dengan saklek atau boleh melakukan perubahan? Kalau menurut saya, modifikasi boleh dilakukan sesuai keperluan. Karena pada dasarnya, kita sebagai software developer merancang sistem untuk memenuhi kebutuhan bisnis, bukan sebaliknya. Di tim project Amanah Corp, kami terbiasa merancang sistem dan mengadaptasi teknologi sesuai keperluan client. Mulai dari arsitektur MVC, Microservice, hingga PWA sudah pernah dikerjakan oleh tim.
Artikel Terkait

Proses Migrasi Infrastruktur IT ke Cloud: Tantangan dan Tahapannya
Monday, 15 December 2025
Admin User

Wajib Tahu: Strategi DR dan 3-2-1 Backup Data untuk Bisnis Anti-Gagal 2025
Friday, 12 December 2025
Admin User

Peranan IoT Dalam Memitigasi Kerusakan Akibat Bencana Alam
Thursday, 11 December 2025
Admin User
