Back to IF3140 Sistem Basis Data

Arsitektur Dasar: Centralized & Client-Server

Questions/Cues

  • Apa itu Centralized System?

  • Apa beda single-user vs multi-user system?

  • Apa itu Client-Server System?

  • Apa peran front-end?

  • Apa peran back-end?

  • Apa interface antara front-end dan back-end?

  • Apa keuntungan (advantages) arsitektur Client-Server?

Reference Points

  • Slides “13 - Database System Architectures.pdf” (Slide 4-7)

1. Centralized Systems (Sistem Terpusat)

Centralized System adalah arsitektur di mana seluruh database dan DBMS berjalan di satu sistem komputer (dalam satu “kotak”). Semua pemrosesan, manajemen data, dan I/O terjadi di satu tempat.

Arsitektur ini bisa berupa:

  1. Single-User System:

    • Contoh: Personal Computer (PC) atau workstation.

    • Biasanya memiliki satu CPU, OS yang mungkin hanya mendukung satu pengguna, dan menjalankan aplikasi database lokal (misal: Microsoft Access).

  2. Multi-User System:

    • Contoh: Mainframe atau Server perusahaan.

    • Memiliki spesifikasi lebih tinggi: banyak CPU, RAM besar, disk array.

    • Menjalankan OS multi-user (seperti Linux/Windows Server).

    • Melayani banyak pengguna yang terhubung melalui terminal (atau terminal emulator) ke server pusat. Seluruh pemrosesan tetap terjadi di server.

2. Client-Server Systems

Ini adalah evolusi dari centralized multi-user. Alih-alih menggunakan terminal “bodoh”, arsitektur ini membagi pekerjaan antara dua jenis komputer yang berbeda:

  • Server: Sistem back-end yang kuat, tugas utamanya adalah mengelola data.

  • Client: Sistem front-end yang digunakan oleh pengguna (misal: PC, laptop, smartphone).

Keduanya terhubung melalui jaringan (network).

Pembagian Fungsi: Front-End vs Back-End

Fungsionalitas database dibagi menjadi dua lapisan:

1. Front-End (Sisi Klien)

  • Tugas: Berinteraksi dengan pengguna.

  • Komponen: Tools antarmuka pengguna (GUI), forms, report-writer, aplikasi analisis, dll.

  • Contoh: Aplikasi perbankan di HP Anda, website e-commerce, software Tableau/PowerBI.

2. Back-End (Sisi Server)

  • Tugas: “Jantung” dari database.

  • Komponen: Query evaluation, query optimization, concurrency control, recovery system, manajemen struktur data.

Interface (Penghubung):

Klien dan Server berkomunikasi melalui sebuah standar.

  • Cara paling umum adalah melalui bahasa SQL.

  • Cara programatik adalah melalui API (Application Program Interface) seperti ODBC atau JDBC.

Keuntungan Arsitektur Client-Server

Mengganti model mainframe terpusat dengan Client-Server memberikan banyak keuntungan:

  1. Biaya: Fungsionalitas yang lebih baik dengan biaya yang lebih rendah (menggunakan hardware komoditas).

  2. Fleksibilitas: Mudah untuk menambah/mengurangi klien atau server (skalabilitas) dan menempatkan sumber daya di mana saja.

  3. User Interface (UI): UI di sisi klien (PC/HP) jauh lebih baik dan interaktif daripada UI berbasis terminal.

  4. Perawatan: Lebih mudah merawat sistem yang terpisah; server bisa di-upgrade tanpa mengganggu klien (selama interface-nya sama).

Summary

Arsitektur database berevolusi dari Centralized System (di mana semua pemrosesan terjadi di satu mesin, baik single-user seperti PC atau multi-user seperti mainframe) ke arsitektur Client-Server. Model Client-Server membagi tugas: Front-End (klien) menangani antarmuka pengguna (UI), sementara Back-End (server) fokus pada manajemen data inti (query, concurrency, recovery). Keduanya terhubung via jaringan menggunakan interface standar seperti SQL atau API (ODBC/JDBC), memberikan keuntungan besar dalam hal biaya, fleksibilitas, dan kualitas UI.