Mengenal DML dalam Basis Data: Mengolah Data dengan SQL
DML adalah perintah SQL untuk mengolah data dalam tabel, meliputi `INSERT` (menambah), `SELECT` (menampilkan), `UPDATE` (memperbarui), dan `DELETE` (menghapus). Gunakan `WHERE` dengan tepat agar data yang diolah sesuai kebutuhan.

Mata Pelajaran: Basis Data
Kelas: XI PPLG
Materi: Data Manipulation Language (DML)
1. Apa Itu DML?
Bayangkan kamu bekerja sebagai pengembang aplikasi di sebuah perusahaan travel bernama healn'go. Perusahaan ini menyediakan berbagai paket perjalanan wisata. Setiap hari, ada paket baru yang ditambahkan, harga yang berubah, dan informasi perjalanan yang perlu ditampilkan kepada pelanggan.
Bagaimana cara mengelola semua data tersebut tanpa harus mengubah isi basis data secara manual satu per satu?
Jawabannya adalah menggunakan SQL (Structured Query Language).
Salah satu bagian SQL yang perlu kamu kuasai adalah Data Manipulation Language (DML), yaitu kelompok perintah SQL yang digunakan untuk mengolah data di dalam tabel basis data.
Dengan DML, kamu dapat menambahkan data baru, menampilkan data yang dibutuhkan, memperbarui informasi, dan menghapus data yang sudah tidak diperlukan.
Secara umum, perintah yang sering dipelajari dalam pengolahan data adalah:
INSERTuntuk menambahkan data.SELECTuntuk mengambil atau menampilkan data.UPDATEuntuk memperbarui data.DELETEuntuk menghapus data.
Catatan: Dalam sebagian materi pembelajaran, SELECT dikelompokkan bersama DML. Namun, dalam klasifikasi yang lebih spesifik, SELECT juga sering disebut DQL (Data Query Language).
2. Studi Kasus: Basis Data healn'go
Sebelum menulis perintah SQL, pahami terlebih dahulu data yang akan dikelola.
healn'go memiliki tabel bernama paket_wisata dengan struktur berikut.
Tabel tersebut menyimpan informasi paket wisata, mulai dari identitas paket, nama, tujuan, harga, hingga kuota peserta.
Selanjutnya, mari pelajari cara mengolah data tersebut menggunakan SQL.
3. Perintah INSERT: Menambahkan Data
Perusahaan membuka paket perjalanan baru bernama Explore Bromo. Agar paket tersebut tercatat dalam basis data, kita menggunakan perintah INSERT.
Sintaks umum:
INSERT INTO nama_tabel (kolom1, kolom2, kolom3)
VALUES (nilai1, nilai2, nilai3);Contoh:
INSERT INTO paket_wisata
(id_paket, nama_paket, tujuan, harga, kuota)
VALUES
(105, 'Explore Bromo', 'Bromo', 450000, 20);Perintah tersebut menambahkan satu baris data baru ke tabel paket_wisata.
Perhatikan bahwa nilai yang dimasukkan harus sesuai dengan urutan kolom yang dituliskan. Nilai teks menggunakan tanda petik tunggal, sedangkan nilai numerik biasanya ditulis tanpa tanda petik.
Untuk memastikan data berhasil ditambahkan, jalankan:
SELECT * FROM paket_wisata;Simbol * berarti seluruh kolom ditampilkan.
4. Perintah SELECT: Menampilkan Data
Tidak semua data perlu ditampilkan setiap saat. Admin mungkin hanya ingin melihat nama paket dan harganya, atau mencari paket wisata dengan harga tertentu.
a. Menampilkan seluruh data
SELECT * FROM paket_wisata;Perintah ini menampilkan seluruh kolom dan baris data pada tabel.
b. Menampilkan kolom tertentu
SELECT nama_paket, harga
FROM paket_wisata;Hasilnya hanya menampilkan kolom nama_paket dan harga.
c. Menyaring data menggunakan WHERE
Misalnya, admin ingin mencari paket wisata yang harganya di bawah Rp350.000.
SELECT *
FROM paket_wisata
WHERE harga < 350000;Klausa WHERE digunakan untuk menentukan kondisi yang harus dipenuhi oleh data agar ditampilkan.
Operator kondisi yang umum digunakan antara lain:
d. Mengurutkan data menggunakan ORDER BY
Jika admin ingin menampilkan paket dari harga termurah ke termahal, gunakan:
SELECT nama_paket, harga
FROM paket_wisata
ORDER BY harga ASC;ASC mengurutkan data secara menaik, sedangkan DESC mengurutkan data secara menurun.
e. Membatasi jumlah hasil menggunakan LIMIT
Misalnya, admin hanya ingin menampilkan tiga paket dengan harga termurah.
SELECT nama_paket, harga
FROM paket_wisata
ORDER BY harga ASC
LIMIT 3;LIMIT 3 membatasi hasil menjadi maksimal tiga baris.
f. Menampilkan data unik menggunakan DISTINCT
Jika beberapa paket memiliki tujuan yang sama, admin dapat melihat daftar tujuan tanpa pengulangan.
SELECT DISTINCT tujuan
FROM paket_wisata;DISTINCT menghilangkan nilai duplikat dari hasil query. Perintah ini tidak menghapus data asli di dalam tabel.
g. Memberikan nama tampilan dengan AS
Agar hasil query lebih mudah dibaca, kita dapat menggunakan alias.
SELECT
nama_paket AS 'Nama Perjalanan',
harga AS 'Harga Paket'
FROM paket_wisata;AS memberikan nama sementara pada kolom di hasil query. Alias ini tidak mengubah nama kolom asli dalam tabel.
5. Perintah UPDATE: Memperbarui Data
Bayangkan harga paket Explore Jogja naik dari Rp275.000 menjadi Rp300.000. Admin dapat menggunakan UPDATE untuk memperbarui harga tersebut.
Sintaks umum:
UPDATE nama_tabel
SET nama_kolom = nilai_baru
WHERE kondisi;Contoh:
UPDATE paket_wisata
SET harga = 300000
WHERE id_paket = 102;Perintah tersebut memperbarui harga paket dengan ID 102 saja.
Mengapa WHERE penting?
Perhatikan contoh berikut:
UPDATE paket_wisata
SET harga = 300000;Karena tidak memiliki WHERE, perintah tersebut akan memperbarui harga seluruh baris dalam tabel menjadi Rp300.000. Hasilnya tentu tidak sesuai jika hanya satu paket yang ingin diubah.
Sebelum menjalankan UPDATE, biasakan memeriksa data sasaran menggunakan SELECT:
SELECT *
FROM paket_wisata
WHERE id_paket = 102;Dengan begitu, kamu dapat memastikan bahwa data yang akan diperbarui sudah benar.
6. Perintah DELETE: Menghapus Data
Misalnya, paket wisata dengan ID 105 dibatalkan dan harus dihapus dari daftar paket yang aktif. Perintah DELETE dapat digunakan untuk menghapus baris tersebut.
Sintaks umum:
DELETE FROM nama_tabel
WHERE kondisi;Contoh:
DELETE FROM paket_wisata
WHERE id_paket = 105;Perintah tersebut menghapus baris dengan ID 105 dari tabel.
Jika WHERE tidak dituliskan, perintah DELETE dapat menghapus seluruh baris data dalam tabel. Karena itu, pastikan kondisi penghapusan sudah tepat sebelum mengeksekusi perintah.
Dalam sistem nyata, penghapusan data juga perlu mempertimbangkan pencadangan, hak akses, dan aturan penyimpanan data perusahaan.
7. Memahami Perbedaan INSERT, SELECT, UPDATE, dan DELETE
Ingat, perintah SQL bukan sekadar kode yang harus dihafalkan. Kamu perlu memahami kebutuhan pengguna terlebih dahulu, kemudian memilih perintah yang tepat.
Selain itu, CREATE DATABASE, CREATE TABLE, ALTER TABLE, MODIFY, dan CHANGE termasuk perintah DDL (Data Definition Language) karena berkaitan dengan struktur basis data. Sementara itu, PRIMARY KEY, NOT NULL, UNIQUE, dan DEFAULT merupakan bagian dari aturan atau constraint yang dapat ditetapkan pada struktur tabel.
8. Tips Sebelum Menjalankan SQL
Pahami kebutuhan yang diminta pengguna.
Periksa nama tabel dan kolom yang benar.
Gunakan
WHEREsecara tepat ketika memperbarui atau menghapus data.Jalankan
SELECTterlebih dahulu untuk memeriksa data sasaran.Setelah perintah dijalankan, periksa hasilnya untuk memastikan data sudah sesuai.
Kemampuan mengolah data bukan hanya tentang membuat query yang berhasil dijalankan. Seorang pengembang juga harus memastikan bahwa data yang dikelola tetap akurat dan tidak berubah secara tidak sengaja.
Latihan Siswa: SQL Mission — healn'go
Petunjuk pengerjaan
Gunakan tabel paket_wisata pada studi kasus di atas sebagai acuan. Kerjakan setiap soal menggunakan SQL. Untuk soal yang meminta bukti praktik, jalankan query pada DBMS yang digunakan di kelas, kemudian sertakan tangkapan layar kode dan hasil eksekusinya.
A. Penerapan Konsep (C3)
1. Menambahkan paket baru
healn'go membuka paket baru bernama Explore Semarang, dengan ID 106, tujuan Semarang, harga Rp325.000, dan kuota 22 peserta.
Tuliskan perintah SQL untuk menambahkan paket tersebut ke tabel paket_wisata.
2. Menampilkan paket berdasarkan harga
Admin ingin melihat nama paket dan harga seluruh perjalanan yang memiliki harga kurang dari Rp350.000.
Tuliskan query SQL yang sesuai.
3. Mengurutkan dan membatasi hasil
Admin ingin menampilkan tiga paket dengan harga paling mahal, dimulai dari harga tertinggi.
Tuliskan query menggunakan ORDER BY dan LIMIT.
B. Analisis dan Pemecahan Masalah (C4)
4. Memeriksa hasil query
Seorang admin menjalankan perintah berikut:
SELECT *
FROM paket_wisata
WHERE harga > 300000;Jelaskan arti query tersebut. Berdasarkan data awal, paket mana saja yang akan ditampilkan? Jelaskan alasanmu.
5. Menganalisis kesalahan UPDATE
Admin ingin mengubah harga paket Sunrise Dieng menjadi Rp375.000, tetapi menjalankan query berikut:
UPDATE paket_wisata
SET harga = 375000;Identifikasi masalah pada query tersebut. Tuliskan perbaikannya agar hanya paket Sunrise Dieng yang diperbarui.
C. Evaluasi dan Pengambilan Keputusan (C5)
6. Memilih query yang tepat
Admin ingin menghapus paket dengan ID 104 karena perjalanan tersebut dibatalkan. Ada dua query yang diusulkan:
Query A:
DELETE FROM paket_wisata
WHERE id_paket = 104;Query B:
DELETE FROM paket_wisata;Bandingkan kedua query tersebut. Tentukan query yang lebih tepat untuk kebutuhan admin dan berikan alasan berdasarkan dampaknya terhadap data.
7. Mengevaluasi kebutuhan pengguna
Admin meminta daftar tujuan perjalanan yang unik tanpa pengulangan. Seorang siswa mengusulkan:
SELECT tujuan
FROM paket_wisata;Siswa lain mengusulkan:
SELECT DISTINCT tujuan
FROM paket_wisata;Evaluasi kedua query tersebut. Tentukan query yang paling sesuai dengan kebutuhan pengguna dan jelaskan alasannya.
D. Praktik Mandiri (Psikomotorik)
8. Menyelesaikan permintaan klien
Jalankan rangkaian tugas berikut pada DBMS yang digunakan di kelas:
Tambahkan satu paket wisata baru dengan data yang kamu tentukan sendiri.
Tampilkan nama paket dan harga saja.
Tampilkan paket dengan harga lebih dari Rp300.000.
Ubah kuota salah satu paket menggunakan
UPDATE.Hapus satu paket yang kamu tambahkan sendiri menggunakan
DELETE.
Sertakan tangkapan layar setiap query dan hasil eksekusinya. Pastikan query UPDATE dan DELETE menggunakan kondisi yang tepat.
E. Refleksi dan Sikap Profesional (Afektif)
9. Ketelitian dalam mengolah data
Mengapa seorang pengembang perlu memeriksa kembali query sebelum menjalankan perintah UPDATE atau DELETE? Tuliskan satu contoh risiko yang mungkin terjadi jika pengembang kurang teliti.
10. Kolaborasi dan tanggung jawab
Jika kamu bekerja dalam kelompok dan menemukan bahwa query temanmu berpotensi mengubah seluruh data pada tabel, apa yang akan kamu lakukan? Jelaskan cara menyampaikan masukan secara sopan dan bertanggung jawab.
Penutup
DML merupakan salah satu kemampuan dasar yang penting bagi pengembang perangkat lunak. Melalui INSERT, SELECT, UPDATE, dan DELETE, kamu dapat mengelola data sesuai kebutuhan aplikasi.
Namun, kemampuan yang baik bukan hanya menghasilkan query yang benar. Kamu juga perlu berpikir kritis, memeriksa dampak setiap perintah, bekerja sama dengan tim, dan menjaga keakuratan data.
Tantanganmu: Bisakah kamu menyelesaikan seluruh permintaan healn'go dengan query yang tepat, hasil yang sesuai, dan tanpa mengubah data yang tidak seharusnya berubah?
Tanggapan (0)
Belum ada tanggapan. Jadilah yang pertama menulis.