Skip to main content
Basis data adalah komponen inti dari hampir semua sistem informasi modern — mulai dari aplikasi perbankan, e-commerce, hingga sistem akademik kampus. Tanpa manajemen data yang baik, informasi berharga bisa hilang, duplikat, atau sulit diakses. Mata kuliah ini mengajarkan Anda cara merancang basis data relasional yang baik, memahami hubungan antar entitas, menerapkan normalisasi untuk menghilangkan redundansi, serta menguasai SQL untuk mengolah data secara efisien.

Konsep Basis Data Relasional

Basis data relasional (Relational Database) menyimpan data dalam bentuk tabel (relasi) yang terdiri dari baris (record/tuple) dan kolom (field/atribut). Hubungan antar tabel dibangun menggunakan kunci (key).

Primary Key (PK)

Kolom atau kombinasi kolom yang secara unik mengidentifikasi setiap baris dalam tabel. Nilainya tidak boleh NULL dan tidak boleh duplikat. Contoh: nim pada tabel mahasiswa.

Foreign Key (FK)

Kolom dalam satu tabel yang merujuk ke Primary Key tabel lain, menciptakan relasi antar tabel. Contoh: id_prodi pada tabel mahasiswa yang merujuk ke tabel program_studi.

Tabel (Relasi)

Unit penyimpanan dasar dalam basis data relasional. Setiap tabel merepresentasikan satu entitas atau relasi antar entitas. Baris = satu data konkret; kolom = atribut entitas.

DBMS (Database Management System)

Perangkat lunak yang mengelola basis data, contoh: MySQL, PostgreSQL, Oracle, SQLite. DBMS menangani penyimpanan, keamanan, konkurensi, dan pemulihan data.

Entity Relationship Diagram (ERD)

ERD adalah diagram visual yang menggambarkan entitas dalam sistem, atribut-atributnya, dan hubungan (relasi) antar entitas sebelum basis data diimplementasikan. ERD merupakan langkah pertama dalam perancangan basis data.

Komponen Utama ERD

Jenis Kardinalitas Relasi

One-to-One (1:1)

Satu entitas di sisi A berelasi dengan tepat satu entitas di sisi B. Contoh: satu mahasiswa memiliki satu kartu tanda mahasiswa.

One-to-Many (1:N)

Satu entitas di sisi A berelasi dengan banyak entitas di sisi B. Contoh: satu dosen mengajar banyak mata kuliah.

Many-to-Many (M:N)

Banyak entitas di sisi A berelasi dengan banyak entitas di sisi B. Contoh: banyak mahasiswa mengambil banyak mata kuliah. Direalisasikan dengan tabel perantara.

Normalisasi

Normalisasi adalah proses pengorganisasian tabel dalam basis data untuk mengurangi redundansi data (duplikasi) dan mencegah anomali data saat operasi insert, update, atau delete dilakukan.
1

Bentuk Normal Pertama (1NF)

Syarat: setiap kolom hanya boleh berisi nilai atomik (tidak dapat dibagi lagi), dan tidak boleh ada kelompok kolom yang berulang.Pelanggaran 1NF (contoh buruk):Setelah 1NF (setiap sel berisi satu nilai):
2

Bentuk Normal Kedua (2NF)

Syarat: sudah memenuhi 1NF, dan setiap kolom non-kunci harus sepenuhnya bergantung pada seluruh primary key (bukan hanya sebagian). Masalah ini muncul ketika primary key bersifat komposit.Contoh: Dalam tabel nilai (id_mhs, id_mk, nama_mhs, nama_mk, nilai_angka), kolom nama_mhs hanya bergantung pada id_mhs, bukan pada kombinasi (id_mhs, id_mk). Solusinya: pisahkan ke tabel mahasiswa dan mata_kuliah yang terpisah.
3

Bentuk Normal Ketiga (3NF)

Syarat: sudah memenuhi 2NF, dan tidak ada kolom non-kunci yang bergantung pada kolom non-kunci lain (tidak ada ketergantungan transitif).Contoh: Dalam tabel mahasiswa (id_mhs, nama, id_prodi, nama_prodi), kolom nama_prodi bergantung pada id_prodi, bukan pada id_mhs. Solusinya: pindahkan nama_prodi ke tabel program_studi yang terpisah.
Dalam praktik industri, normalisasi hingga 3NF sudah cukup untuk sebagian besar kasus. Normalisasi lebih tinggi (BCNF, 4NF, 5NF) digunakan pada skenario khusus dengan kompleksitas tinggi, namun kadang mengorbankan performa query karena membutuhkan lebih banyak operasi JOIN.

Perintah SQL Dasar

SQL (Structured Query Language) adalah bahasa standar untuk berkomunikasi dengan basis data relasional. SQL dibagi menjadi beberapa kategori: DDL (definisi struktur), DML (manipulasi data), dan DQL (query data).

Membuat Tabel (DDL — CREATE TABLE)

Memasukkan Data (DML — INSERT)

Mengambil Data (DQL — SELECT)

Memperbarui Data (DML — UPDATE)

Menghapus Data (DML — DELETE)

PERHATIAN: Selalu sertakan klausa WHERE saat menggunakan UPDATE dan DELETE. Menjalankan DELETE FROM mahasiswa; tanpa WHERE akan menghapus seluruh data dalam tabel secara permanen! Biasakan untuk selalu melakukan backup sebelum operasi massal.

JOIN dan Relasi Tabel

JOIN digunakan untuk menggabungkan data dari dua tabel atau lebih berdasarkan kolom yang saling berhubungan (biasanya melalui Foreign Key).

Jenis-Jenis JOIN

Tips Belajar Basis Data: Praktikkan perintah SQL secara langsung menggunakan database nyata. Anda bisa menginstal MySQL atau PostgreSQL secara lokal, atau gunakan layanan online gratis seperti DB Fiddle dan SQLiteOnline. Mulailah dengan merancang ERD terlebih dahulu sebelum menulis satu perintah SQL pun — desain yang baik di awal menghemat banyak pekerjaan di kemudian hari!