Skip to content

Bab 4: Desain dan Arsitektur Backend

Published: at 10:57 PM

Bab 4: Desain dan Arsitektur Backend

4.1. MVC (Model-View-Controller)

Apa itu MVC?
MVC adalah pola arsitektur yang memisahkan logika aplikasi menjadi tiga komponen utama:

4.2. Microservices vs Monolith

Monolith

4.3. Event-Driven Architecture

Apa itu Event-Driven Architecture?
Pendekatan di mana aplikasi merespons “event” (kejadian) yang terjadi di sistem, seperti perubahan data atau permintaan pengguna.
Komponen Utama

  1. Producer: Menghasilkan event (misalnya, perubahan status order).

  2. Event Broker: Menyebarkan event (contoh: Apache Kafka, RabbitMQ).

  3. Consumer: Merespons atau memproses event.
    Keuntungan

4.4. Design Patterns untuk Backend

1. Singleton
Membatasi instansiasi suatu kelas ke satu objek saja.

4.5. Testing Backend (Unit Test, Integration Test)

Mengapa Testing Penting?

  1. Unit Test: Menguji fungsi kecil atau modul secara terisolasi.

  2. Integration Test: Menguji interaksi antar modul atau layanan.

  3. End-to-End Test: Menguji seluruh alur aplikasi dari awal hingga akhir.
    Contoh Unit Test dengan Jest (Node.js):

    const sum = (a, b) => a + b;
    test("adds 1 + 2 to equal 3", () => {
      expect(sum(1, 2)).toBe(3);
    });
    

    Contoh Integration Test dengan Supertest (Express.js):

    const request = require("supertest");
    const app = require("./app");
    describe("GET /users", () => {
      it("should return a list of users", async () => {
        const res = await request(app).get("/users");
        expect(res.statusCode).toBe(200);
        expect(res.body).toBeInstanceOf(Array);
      });
    });
    

Kesimpulan:
Bab ini membahas berbagai pendekatan desain dan arsitektur yang penting untuk pengembangan backend yang efisien, skalabel, dan dapat dipelihara. Dengan memahami konsep-konsep seperti MVC, microservices, event-driven architecture, design patterns, dan testing, pengembang dapat merancang aplikasi yang robust dan siap untuk produksi.