Pengantar Sistem Basis Data — Pertemuan 1

DBMS dan Command Line Interface MySQL

Mengenal peran perangkat lunak pengelola basis data (DBMS) dan cara berinteraksi langsung dengannya melalui baris perintah (CLI) pada MySQL.

Topik DBMS & CLI
Studi kasus MySQL
Level Pengantar
01

Apa itu Basis Data?

Basis data (database) adalah kumpulan data yang terorganisir sedemikian rupa sehingga dapat disimpan, diakses, dan dikelola secara efisien. Bayangkan basis data seperti lemari arsip digital: data tidak sekadar ditumpuk, tetapi disusun dalam tabel-tabel dengan struktur yang jelas agar mudah dicari dan diperbarui.

Namun, sebuah lemari arsip tidak berguna tanpa seseorang yang tahu cara menata, mengunci, dan mengambil berkas di dalamnya. Di sinilah peran DBMS dibutuhkan.

02

Mengenal DBMS

DBMS (Database Management System) adalah perangkat lunak yang bertugas mengelola basis data — mulai dari menyimpan, mengambil, mengubah, menghapus, hingga mengamankan data. Semua interaksi pengguna maupun aplikasi terhadap data selalu melewati DBMS, tidak pernah menyentuh berkas data secara langsung.

Definisi singkat

DBMS adalah perantara (middleman) antara pengguna/aplikasi dengan data fisik yang tersimpan di media penyimpanan, sekaligus penjaga aturan agar data tetap konsisten dan aman.

Fungsi Utama DBMS

03

Komponen DBMS

Secara garis besar, sebuah DBMS terdiri atas tiga lapisan yang saling berkaitan:

Pengguna / AplikasiMengirim perintah melalui SQL, CLI, atau aplikasi
Mesin DBMSQuery processor, storage manager, transaction manager
Media PenyimpananFile data, index, dan log di disk

Ketika pengguna mengetikkan perintah SELECT * FROM mahasiswa, permintaan itu tidak langsung membaca berkas — ia diterjemahkan, dioptimalkan, dan dieksekusi oleh mesin DBMS sebelum hasilnya dikembalikan.

04

Contoh DBMS Populer

DBMSJenisKarakteristik singkat
MySQLRelasional (SQL)Open source, populer untuk aplikasi web
PostgreSQLRelasional (SQL)Kaya fitur, mendukung tipe data kompleks
Oracle DatabaseRelasional (SQL)Berbayar, umum di skala enterprise
SQL ServerRelasional (SQL)Buatan Microsoft, terintegrasi dengan ekosistem .NET
MongoDBNoSQL (dokumen)Menyimpan data berbentuk dokumen JSON/BSON

Materi ini akan berfokus pada MySQL sebagai studi kasus, khususnya cara berinteraksi dengannya melalui antarmuka baris perintah.

05

Apa itu CLI Database?

CLI (Command Line Interface) adalah cara berinteraksi dengan program melalui perintah teks, tanpa antarmuka grafis. Untuk MySQL, CLI berupa program bernama mysql yang dijalankan dari terminal atau command prompt.

Meski terlihat "kuno" dibanding aplikasi seperti phpMyAdmin atau MySQL Workbench, CLI penting dipelajari karena:

06

Masuk ke MySQL via CLI

Perintah dasar untuk membuka sesi MySQL dari terminal:

terminal
$ mysql -u root -p
Enter password: ****
Welcome to the MySQL monitor...
mysql> 

Penjelasan opsi yang digunakan:

OpsiKeterangan
-udiikuti nama pengguna (username) MySQL
-pmeminta kata sandi secara interaktif
-hmenentukan host/server, mis. -h 127.0.0.1 jika bukan localhost
-Pmenentukan port, default MySQL adalah 3306
terminal — koneksi ke host tertentu
$ mysql -h 127.0.0.1 -P 3306 -u siakad_user -p
07

Perintah Dasar CLI MySQL

Setelah berhasil masuk, prompt akan berubah menjadi mysql>. Berikut perintah-perintah dasar yang wajib dikuasai.

Melihat dan memilih basis data

mysql>
SHOW DATABASES;
-- menampilkan seluruh basis data yang ada

USE nama_basis_data;
-- berpindah/memilih basis data yang akan digunakan

Melihat struktur tabel

mysql>
SHOW TABLES;
-- menampilkan seluruh tabel pada basis data aktif

DESCRIBE mahasiswa;
-- menampilkan struktur kolom tabel mahasiswa

Membuat basis data dan tabel

mysql>
CREATE DATABASE kampus;
USE kampus;

CREATE TABLE mahasiswa (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nama VARCHAR(100) NOT NULL,
  nim VARCHAR(20) UNIQUE
);

Operasi data (CRUD)

mysql>
INSERT INTO mahasiswa (nama, nim) VALUES ('Andi', '2201001');

SELECT * FROM mahasiswa;

UPDATE mahasiswa SET nama = 'Andi Saputra' WHERE id = 1;

DELETE FROM mahasiswa WHERE id = 1;

Keluar dari sesi

mysql>
EXIT;
-- atau ketik: QUIT;
Catatan penting

Setiap perintah SQL di CLI MySQL harus diakhiri titik koma ;. Tanpa itu, MySQL akan menganggap perintah belum selesai dan menunggu baris berikutnya.

08

Relasi Antar Tabel & INNER JOIN

Data pada basis data relasional jarang disimpan dalam satu tabel besar. Sebaliknya, data dipecah ke beberapa tabel yang saling berelasi agar tidak ada duplikasi dan lebih mudah dikelola. Relasi inilah yang membedakan basis data relasional dari sekadar kumpulan spreadsheet.

Primary Key dan Foreign Key

Relasi dibangun menggunakan dua elemen kunci:

Definisi singkat

Foreign key adalah "petunjuk arah" dari satu tabel menuju baris tertentu di tabel lain, sehingga data yang berkaitan tidak perlu ditulis ulang di banyak tempat.

Kardinalitas Relasi

Hubungan antar tabel umumnya berbentuk salah satu dari tiga pola berikut:

Jenis relasiContoh
One-to-many (satu ke banyak)Satu program studi memiliki banyak mahasiswa
Many-to-many (banyak ke banyak)Banyak mahasiswa mengambil banyak mata kuliah
One-to-one (satu ke satu)Satu mahasiswa memiliki satu kartu tanda mahasiswa

Menyiapkan Tabel Berelasi

Melanjutkan tabel mahasiswa sebelumnya, berikut contoh relasi one-to-many dengan tabel program_studi:

mysql>
CREATE TABLE program_studi (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nama_prodi VARCHAR(100) NOT NULL
);

ALTER TABLE mahasiswa
  ADD COLUMN program_studi_id INT,
  ADD FOREIGN KEY (program_studi_id) REFERENCES program_studi(id);

Setelah relasi terbentuk, kolom program_studi_id pada tabel mahasiswa hanya boleh diisi nilai id yang benar-benar ada di tabel program_studi — inilah bentuk nyata dari integritas data yang dijaga oleh DBMS.

Mengambil Data Gabungan dengan INNER JOIN

INNER JOIN digunakan untuk menggabungkan baris dari dua tabel berdasarkan kolom yang berelasi, dan hanya menampilkan baris yang memiliki pasangan cocok di kedua tabel.

mysql>
SELECT mahasiswa.nama, mahasiswa.nim, program_studi.nama_prodi
FROM mahasiswa
INNER JOIN program_studi
  ON mahasiswa.program_studi_id = program_studi.id;

Bagian ON menentukan syarat pencocokan: baris mahasiswa hanya ikut ditampilkan jika nilai program_studi_id-nya cocok dengan salah satu id di tabel program_studi. Jika seorang mahasiswa belum memiliki program_studi_id, ia tidak akan muncul pada hasil INNER JOIN.

Menggunakan Alias agar Lebih Ringkas

mysql>
SELECT m.nama, m.nim, p.nama_prodi
FROM mahasiswa AS m
INNER JOIN program_studi AS p
  ON m.program_studi_id = p.id
WHERE p.nama_prodi = 'Sistem Informasi';

Alias seperti m dan p membuat query lebih singkat dibaca, terutama saat melibatkan lebih dari dua tabel sekaligus.

Catatan penting

INNER JOIN hanya menampilkan baris yang cocok di kedua tabel. Jika ingin tetap menampilkan baris yang tidak memiliki pasangan (misalnya mahasiswa tanpa program studi), gunakan LEFT JOIN — dibahas pada materi lanjutan.

09

Latihan Singkat

Kerjakan di terminal masing-masing
  1. Masuk ke MySQL melalui CLI menggunakan akun yang tersedia di laboratorium.
  2. Buat basis data baru bernama latihan_basis_data.
  3. Buat tabel buku dengan kolom id, judul, dan tahun_terbit.
  4. Tambahkan tiga baris data buku menggunakan INSERT.
  5. Tampilkan seluruh data menggunakan SELECT, lalu ubah salah satu judul buku menggunakan UPDATE.
  6. Buat tabel penerbit, tambahkan foreign key penerbit_id pada tabel buku, lalu tampilkan data gabungan judul buku beserta nama penerbitnya menggunakan INNER JOIN.