stdsquare²
🎓 Kelas
stdsquare / materi / slides / pertemuan-10
Tema
Japan
Arcade
Dark Retro
Font
‹ Daftar slide Pertemuan 10: Perintah SQL DDL dan DML dasar
Program Studi Bisnis Digital · FEB UNDIP

Sistem Database

Pertemuan 10 · Perintah SQL DDL dan DML Dasar

Membuat, Mengisi, dan Mengubah Data dengan SQL

RPS minggu 11 · 2x50 menit
Bagian 1 dari 4
Dari Rancangan ke Database Nyata
Mengapa kita butuh SQL, dan di mana posisinya dalam siklus perancangan basis data.

Apa itu SQL?

SQL (Structured Query Language) adalah bahasa standar untuk berkomunikasi dengan Relational Database Management System (RDBMS — perangkat lunak pengelola basis data relasional, contoh: MySQL, PostgreSQL, SQL Server). Dengan SQL, Anda memberi perintah untuk membuat struktur data maupun mengelola isinya.

DDL
Struktur
Data Definition Language
Perintah untuk membangun "wadah" data: membuat, mengubah, atau menghapus tabel dan skema. Ibarat membangun rak dan lemari di gudang.
DML
Isi Data
Data Manipulation Language
Perintah untuk mengisi, membaca, mengubah, atau membuang barang di dalam rak tersebut — datanya sendiri, bukan strukturnya.

Studi Kasus Hari Ini: Toko Online UMKM

Sepanjang pertemuan ini kita akan membangun sebagian kecil database untuk toko online fiktif bernama "Warung Nadia" yang berjualan di marketplace. Kita fokus pada dua tabel:

Tabel produk
  • id_produk (angka, unik)
  • nama_produk (teks)
  • harga (angka)
  • stok (angka)
Tabel pelanggan
  • id_pelanggan (angka, unik)
  • nama (teks)
  • kota (teks)
Bagian 2 dari 4
DDL — Membangun Struktur
CREATE, ALTER, dan DROP: tiga perintah untuk mengelola wadah data.

CREATE TABLE: Membuat Tabel Baru

Perintah CREATE TABLE mendefinisikan nama tabel, nama setiap kolom, tipe datanya, dan aturan (constraint) yang berlaku.

-- Membuat tabel produk untuk Warung Nadia CREATE TABLE produk ( id_produk INT PRIMARY KEY, nama_produk VARCHAR(50) NOT NULL, harga DECIMAL(10,2), stok INT DEFAULT 0 );

VARCHAR(n) = teks panjang maksimal n karakter. DECIMAL(10,2) = angka desimal, 10 digit total dengan 2 di belakang koma (cocok untuk harga rupiah).

Tipe Data yang Sering Dipakai

Tipe DataKegunaanContoh Nilai
INTAngka bulat (ID, jumlah, stok)17, 250
DECIMAL(p,s)Angka desimal presisi (harga, nominal uang)150000.00
VARCHAR(n)Teks panjang variabel, maksimal n karakter"Kemeja Batik"
DATETanggal kalender2026-07-10
BOOLEANNilai benar/salahTRUE / FALSE

Memilih tipe data yang tepat mencegah pemborosan ruang penyimpanan dan menjaga data tetap valid — kolom harga jangan disimpan sebagai teks, karena Anda tidak bisa menjumlahkannya.

ALTER TABLE: Mengubah Struktur yang Sudah Ada

Setelah tabel dibuat, kebutuhan bisnis bisa berubah. Perintah ALTER TABLE memungkinkan kita menambah, mengubah, atau menghapus kolom tanpa membuat ulang seluruh tabel.

-- Warung Nadia mulai jualan lintas kota, butuh kolom kategori ALTER TABLE produk ADD kategori VARCHAR(30); -- Ubah tipe kolom stok jadi lebih besar kapasitasnya ALTER TABLE produk MODIFY stok BIGINT; -- Kolom yang ternyata tidak terpakai, dihapus ALTER TABLE produk DROP COLUMN kategori;

DROP: Menghapus Struktur (Hati-hati!)

-- Hapus SATU TABEL beserta seluruh isinya DROP TABLE produk;
Peringatan: DROP TABLE menghapus struktur dan seluruh data secara permanen. Tidak ada "keranjang sampah" bawaan — berbeda dengan menghapus file di komputer. Selalu pastikan Anda punya cadangan (backup) sebelum menjalankan perintah ini di database produksi.

Bandingkan dengan DELETE (bagian DML nanti) yang hanya membuang isi baris, sementara strukturnya tetap ada.

Hitung dari Nol #1: Membangun Tabel Pelanggan

Mari kita telusuri langkah demi langkah bagaimana tim IT Warung Nadia membangun tabel pelanggan dari nol hingga siap dipakai.

LangkahPerintahHasil
1. Buat tabel dasarCREATE TABLE pelanggan (id_pelanggan INT PRIMARY KEY, nama VARCHAR(50));Tabel dengan 2 kolom
2. Tambah kolom kotaALTER TABLE pelanggan ADD kota VARCHAR(30);Tabel jadi 3 kolom
3. Wajibkan kota diisiALTER TABLE pelanggan MODIFY kota VARCHAR(30) NOT NULL;Kolom kota kini wajib
4. Tambah kolom emailALTER TABLE pelanggan ADD email VARCHAR(50);Tabel jadi 4 kolom
HASIL AKHIR
4 kolom
id_pelanggan · nama · kota (wajib) · email
Bagian 3 dari 4
DML — Mengelola Isi Data
INSERT, UPDATE, dan DELETE: mengisi, mengubah, dan membuang data di dalam tabel.

INSERT: Menambahkan Data Baru

Perintah INSERT INTO menambahkan satu atau beberapa baris (row) data ke dalam tabel yang sudah ada.

-- Menambahkan satu produk baru INSERT INTO produk (id_produk, nama_produk, harga, stok) VALUES (1, 'Tas Selempang Batik', 125000.00, 40); -- Menambahkan beberapa baris sekaligus INSERT INTO produk (id_produk, nama_produk, harga, stok) VALUES (2, 'Kemeja Lurik', 95000.00, 25), (3, 'Sarung Tenun', 175000.00, 15);

UPDATE: Mengubah Data yang Sudah Ada

Perintah UPDATE mengubah nilai kolom pada baris tertentu. Klausa WHERE menentukan baris mana yang diubah — lupa WHERE = seluruh tabel berubah!

-- Menaikkan harga satu produk saja UPDATE produk SET harga = 135000.00 WHERE id_produk = 1; -- Mengurangi stok setelah ada penjualan UPDATE produk SET stok = stok - 2 WHERE id_produk = 1;
Tanpa WHERE, UPDATE produk SET harga = 135000; akan mengubah harga SEMUA produk menjadi sama — kesalahan klasik pemula.

DELETE: Membuang Baris Data

Perintah DELETE membuang baris data tertentu, tanpa menghapus struktur tabelnya (bandingkan dengan DROP TABLE di Slide 9).

-- Buang satu produk yang sudah tidak dijual DELETE FROM produk WHERE id_produk = 3; -- Buang semua produk dengan stok kosong DELETE FROM produk WHERE stok = 0;

Sama seperti UPDATE, DELETE tanpa WHERE akan membuang seluruh baris di tabel — tabelnya tetap ada, tapi kosong melompong.

Hitung dari Nol #2: Siklus Hidup Satu Baris Data

Mari telusuri perjalanan satu baris data produk dari lahir (INSERT) sampai berubah (UPDATE) hingga akhirnya dibuang (DELETE).

LangkahPerintahKondisi Baris
1. Produk baru masukINSERT INTO produk VALUES (4,'Selendang Sutra',89000,10);stok = 10
2. Terjual 3 buahUPDATE produk SET stok = stok - 3 WHERE id_produk = 4;stok = 10 − 3 = 7
3. Terjual 7 buah lagiUPDATE produk SET stok = stok - 7 WHERE id_produk = 4;stok = 7 − 7 = 0
4. Stok habis, dibuang dari katalogDELETE FROM produk WHERE id_produk = 4;baris dihapus
STOK AKHIR SEBELUM DIHAPUS
0 unit
10 − 3 − 7 = 0

Coba Sendiri: Jalankan Siklus Hidup Satu Baris Data

Klik INSERT, lalu UPDATE berkali-kali, lalu DELETE, dan amati bagaimana kondisi baris data berubah tahap demi tahap.

Constraint: Aturan yang Menjaga Kualitas Data

Constraint (aturan integritas) dipasang saat CREATE TABLE atau ditambahkan lewat ALTER TABLE, dan otomatis ditegakkan setiap kali ada INSERT/UPDATE.

PRIMARY KEY
Unik
Tiap baris wajib punya nilai berbeda, tak boleh kosong.
NOT NULL
Wajib Isi
Kolom tidak boleh dibiarkan kosong saat INSERT.
FOREIGN KEY
Rujukan
Nilai harus cocok dengan primary key di tabel lain.
Bagian 4 dari 4
Latihan dan Kesalahan Umum
Saatnya Anda mencoba menulis perintah SQL sendiri.

Latihan: Tulis Perintah SQL Anda Sendiri

Instruksi
  • Buat tabel baru bernama pesanan dengan kolom: id_pesanan (INT, PRIMARY KEY), id_produk (INT), jumlah (INT), tanggal (DATE).
  • Masukkan (INSERT) 2 baris data pesanan contoh dengan nilai bebas.
  • Ubah (UPDATE) jumlah pada salah satu baris tersebut.
  • Hapus (DELETE) satu baris berdasarkan id_pesanan tertentu.
Kerjakan berpasangan (2 mahasiswa), waktu 10 menit. Siapkan untuk dibahas bersama di layar.

Kesalahan Umum Pemula

KesalahanAkibatCara Menghindari
Lupa WHERE di UPDATE/DELETESeluruh baris tabel berubah/hilangSelalu cek klausa WHERE sebelum Enter
Salah urutan kolom di INSERTData masuk ke kolom yang salahSelalu tulis nama kolom eksplisit
Tipe data tidak cocok (teks ke INT)Error / data tidak konsistenCek tipe data sebelum menulis VALUES
DROP TABLE tanpa backupSeluruh data hilang permanenBackup dulu sebelum DDL berisiko

Rangkuman & Pertemuan Berikutnya

Cheat sheet hari ini
  • CREATE / ALTER / DROP — DDL, mengelola struktur
  • INSERT / UPDATE / DELETE — DML, mengelola isi
  • Selalu pakai WHERE pada UPDATE & DELETE
Minggu Depan
SELECT
Query data dengan WHERE & ORDER BY
Setelah bisa membuat dan mengisi data, saatnya belajar membaca kembali data dengan perintah SELECT — fondasi seluruh analisis data.