Blog FQSoft

Just Simple Code Documentation

Uncategorized

Arsitektur Software

Faiq Himmah 11 January 2026
[ Gambar Post ]

Pada awal kuliah saya mengetahui istilah OOP (Object Oriented Programming) Dan saya mulai punya pradigma dalam pemrograman yang lebih natural dalam mendeseain struktur pemrograman. Walaupun pradigma ini cukup rumit dan banyak rule

Antitesa OOP adalah prosedural. Lebih fleksibel dan lebih cepat dalam membuat aplikasi.

Di akhir kuliah mulai mengenal namanya arsitektur MVC dimana membagi tugas code menjadi 3 bagian yaitu :

  • Model
  • View
  • Controller

Pembagian ini membuat struktur kode aplikasi menjadi lebih rapi dan terstruktur.

Selanjutnya mulai mengenal istilah App Client dan Server yang identik dengan aplikasi berbasis desktop.

Seiring semakin berkembangnya teknologi web maka muncul istilah baru bernama Backend dan Frontend secara konsep sama dengan client & server. Namun perbedaannya backend dan frontend lebih identik pada aplikasi yang bisa berjalan di berbegai perangkat. Mulai dari desktop, smart tv, smartphone dll

Saat ini ada arsitektur baru bernama microservice. Dimana setiap module memiliki database sendiri sehingga antar modul saling berkomunikasi via REST API.

Misalnya module Post membutuhkan data User maka Module Post tidak mengakses data user secara langsung via query ke database user tapi Module Post request melalui Module User. 

Dan antitesa dari microservice adalah monolith yaitu setiap modules mengakses satu database yang sama

Mungkin akan muncul pertanyaan, mengapa arsitektur software mengalami evolusi ?

Jawaban singkatnya adalah untuk kemudahan maintenance dan scalable.