SQL: Structured Query
Language
Memahami Bahasa Query Terstruktur untuk Manajemen Database
Tujuan Pembelajaran
Memahami Konsep SQL Menguasai Praktik Implementasi
Pengelompokan Perintah
Mengenal definisi dan fungsi SQL Mampu menerapkan perintah
dalam sistem database Memahami perbedaan DDL, DML, SQL dalam studi kasus nyata
dan DCL beserta fungsinya
Pemahaman fundamental tentang SQL yang menjadi dasar untuk manajemen database di berbagai sistem informasi.
Mengapa SQL Penting?
Dalam era digital ini, hampir semua aplikasi yang kita gunakan
sehari-hari bergantung pada database. Mulai dari media sosial, e-
commerce, hingga sistem akademik kampus - semuanya
membutuhkan cara untuk menyimpan, mengambil, dan
memodifikasi data.
SQL menjadi bahasa universal yang digunakan untuk berkomunikasi
dengan database. Tanpa SQL, aplikasi tidak bisa berfungsi dengan
baik karena tidak ada cara yang efektif untuk mengelola data yang
tersimpan.
Apa itu SQL?
Structured Query Bahasa Standar
Language
Digunakan oleh hampir
Bahasa pemrograman semua sistem manajemen
khusus untuk mengelola database seperti MySQL,
dan memanipulasi PostgreSQL, Oracle, SQL
database relasional Server
Bersifat Deklaratif
Kita mendeskripsikan apa
yang diinginkan, bukan
bagaimana cara
melakukannya
Sejarah Singkat SQL
1970-an 1986
Dr. Edgar F. Codd dari IBM SQL menjadi standar ANSI (American
memperkenalkan model database National Standards Institute)
relasional
1 2 3 4
1982 Sekarang
IBM merilis SQL/DS, sistem database SQL terus berkembang dan menjadi
komersial pertama yang menggunakan bahasa standar untuk database
SQL relasional di seluruh dunia
Pengelompokan
Perintah SQL
Tiga kategori utama perintah dalam SQL
Tiga Kelompok Perintah SQL
DML
Data Manipulation Language
Perintah untuk memanipulasi data
DDL dalam database
Data Definition Language
Perintah untuk mendefinisikan
struktur database
DCL
Data Control Language
Perintah untuk mengontrol akses
ke database
Setiap kelompok memiliki fungsi spesifik dan perintah-perintah yang berbeda sesuai dengan tujuan
penggunaannya dalam manajemen database.
Data Definition Language (DDL)
Definisi DDL
DDL adalah kumpulan perintah SQL yang digunakan
untuk mendefinisikan struktur database, termasuk
membuat, mengubah, dan menghapus objek database
seperti tabel, indeks, dan skema.
Perintah Utama DDL:
• CREATE - Membuat objek database baru
• ALTER - Mengubah struktur objek yang sudah ada
• DROP - Menghapus objek database
• TRUNCATE - Menghapus semua data dalam tabel
Data Manipulation Language (DML)
SELECT INSERT
Mengambil/membaca data dari database Menambahkan data baru ke dalam tabel
Perintah yang paling sering digunakan Untuk input data fresh
UPDATE DELETE
Mengubah data yang sudah ada Menghapus data dari tabel
Untuk modifikasi record Untuk menghilangkan record
DML adalah perintah yang paling sering kalian gunakan sehari-hari ketika bekerja dengan aplikasi yang terhubung dengan data
Data Control Language (DCL)
1 2
Fungsi DCL GRANT Command
Mengontrol hak akses dan Memberikan hak akses
keamanan database tertentu kepada pengguna
Menentukan siapa yang Contoh: memberikan izin
boleh melakukan apa SELECT, INSERT, UPDATE
terhadap data
REVOKE Command
Mencabut hak akses yang sudah diberikan
Untuk keamanan dan kontrol akses yang ketat
Studi Kasus Praktis
Implementasi nyata perintah-perintah SQL dalam skenario sistem akademik kampus
Skenario: Sistem
Database Kampus
Bayangkan kita sedang membangun sistem database
untuk kampus yang perlu menyimpan informasi
mahasiswa, mata kuliah, dan nilai. Kita akan mulai dari
nol - membuat struktur database hingga mengisi dan
mengelola datanya.
Sistem ini akan mencakup tabel-tabel seperti mahasiswa,
mata_kuliah, dosen, dan nilai. Mari kita implementasikan
step by step menggunakan perintah SQL.
DDL: Membuat Tabel Mahasiswa
CREATE TABLE mahasiswa ( nim VARCHAR(10) PRIMARY KEY, nama VARCHAR(100) NOT NULL,
jurusan VARCHAR(50), angkatan INT, email VARCHAR(100));
Perintah CREATE TABLE di atas membuat tabel mahasiswa dengan lima kolom. NIM dijadikan PRIMARY KEY karena
unik untuk setiap mahasiswa.
VARCHAR(n) - Tipe data string dengan panjang INT - Tipe data bilangan bulat
maksimal n karakter
PRIMARY KEY - Kunci utama yang unik untuk setiap record NOT NULL - Kolom harus diisi, tidak boleh kosong
DDL: Mengubah Struktur Tabel
Menambah Kolom Baru
ALTER TABLE mahasiswa ADD COLUMN tanggal_lahir DATE;
Mengubah Tipe Data Kolom
ALTER TABLE mahasiswa MODIFY COLUMN nama VARCHAR(150);
Perintah ALTER TABLE sangat berguna ketika kita perlu melakukan perubahan pada struktur tabel yang sudah
ada. Ini sering terjadi dalam pengembangan sistem yang dinamis.
DDL: Menghapus Objek Database
Menghapus Tabel
DROP TABLE mata_kuliah;
Menghapus Database
DROP DATABASE kampus_lama;
Hati-hati! Perintah DROP akan menghapus secara
permanen. Pastikan sudah backup data penting!
Berbeda dengan DELETE yang menghapus data, DROP menghapus
struktur objek database itu sendiri beserta semua datanya.
DML: Menambahkan Data Mahasiswa
INSERT - Menambah Satu Record
INSERT INTO mahasiswa (nim, nama, jurusan, angkatan, email)VALUES ('2023001', 'Andi Pratama',
'Teknik Informatika', 2023, 'andi@[Link]');
INSERT - Menambah Beberapa Record Sekaligus
INSERT INTO mahasiswa (nim, nama, jurusan, angkatan, email)VALUES ('2023002', 'Sari Dewi',
'Sistem Informasi', 2023, 'sari@[Link]'), ('2023003', 'Budi Santoso', 'Teknik
Informatika', 2023, 'budi@[Link]'), ('2023004', 'Maya Sari', 'Manajemen', 2023,
'maya@[Link]');
Perintah INSERT memungkinkan kita menambahkan data baru ke dalam tabel. Urutan nilai harus sesuai dengan
urutan kolom yang disebutkan.
DML: Mengambil Data dengan SELECT
SELECT Semua Data
SELECT * FROM mahasiswa;
SELECT dengan Kondisi Tertentu
SELECT nama, jurusan FROM mahasiswa WHERE angkatan = 2023;
SELECT dengan Pengurutan
SELECT * FROM mahasiswa ORDER BY nama ASC;
* berarti semua kolom WHERE untuk filtering data ORDER BY untuk mengurutkan hasil
DML: Mengupdate Data
UPDATE Satu Kolom
UPDATE mahasiswa SET email = '[Link]@[Link]' WHERE nim =
'2023001';
UPDATE Beberapa Kolom
UPDATE mahasiswa SET jurusan = 'Teknik Komputer', email =
'[Link]@[Link]'WHERE nim = '2023004';
Selalu gunakan WHERE clause! Tanpa WHERE, semua record akan terupdate.
Perintah UPDATE mengubah data yang sudah ada. Kombinasi
dengan WHERE clause sangat penting untuk menentukan
record mana yang akan diubah.
DML: Menghapus Data
DELETE dengan Kondisi Spesifik
DELETE FROM mahasiswa WHERE nim = '2023002';
DELETE dengan Kondisi Multiple
DELETE FROM mahasiswa WHERE angkatan < 2020 AND jurusan = 'Sistem Informasi';
DELETE Semua Data (Hati-hati!)
DELETE FROM mahasiswa;
1 100%
Record Reversible
DELETE menghapus per record/baris Bisa di-rollback dengan TRANSACTION
DCL: Mengelola Hak Akses
GRANT - Memberikan Izin
GRANT SELECT, INSERT ON mahasiswa TO 'admin_akademik'@'localhost';
GRANT ALL PRIVILEGES ON kampus.* TO 'super_admin'@'localhost';
REVOKE - Mencabut Izin
REVOKE INSERT ON mahasiswa FROM 'admin_akademik'@'localhost';
01 02 03
Identifikasi User Tentukan Level Akses Aplikasikan GRANT/REVOKE
Tentukan siapa yang perlu akses SELECT, INSERT, UPDATE, DELETE, Berikan atau cabut izin sesuai kebutuhan
atau ALL
Contoh Skenario Hak Akses
Database Administrator Staff Akademik Mahasiswa
Memiliki akses penuh (ALL Hanya dapat SELECT dan INSERT Hanya bisa SELECT data pribadi
PRIVILEGES) untuk mengelola data mahasiswa. Tidak bisa mereka sendiri. Tidak memiliki akses
seluruh sistem database, membuat menghapus atau mengubah struktur untuk melihat data mahasiswa lain
backup, dan mengoptimalkan tabel untuk menjaga integritas data. atau melakukan perubahan apapun.
performa.
Kesimpulan & Poin Penting
Key Takeaways:
• SQL adalah bahasa universal untuk database relasional
• DDL mengatur struktur database
• DML memanipulasi data dalam database
• DCL mengontrol akses dan keamanan
• Practice makes perfect - latihan adalah kunci
Tips Penting:
• Selalu backup sebelum operasi DDL
• Gunakan WHERE clause dengan hati-hati
• Terapkan prinsip least privilege untuk keamanan