navigasi pertemuan

berlangsung | pertemuan 4


















Menghapus Data dengan DELETE

profile Al Muhdil Karim user avater image
Al Muhdil Karim
6 min red
September 24, 2025
Menghapus Data dengan DELETE

Menghapus data adalah salah satu operasi yang paling berisiko dalam manajemen basis data. Berbeda dengan INSERT atau UPDATE yang menambahkan atau memperbarui nilai, DELETE menghapus baris data secara permanen dari tabel. Jika dijalankan tanpa persiapan, perintah ini dapat menyebabkan kehilangan informasi penting yang tidak bisa dipulihkan. Oleh karena itu, persiapan sebelum menjalankan DELETE adalah langkah yang mutlak diperlukan.

Langkah pertama adalah memastikan database aktif sudah benar. Sama seperti operasi sebelumnya, gunakan SELECT DATABASE(); untuk melihat database yang sedang digunakan. Jika hasilnya bukan perpustakaan, jalankan USE perpustakaan;. Kesalahan memilih database dapat mengakibatkan penghapusan data pada sistem yang salah. Kesalahan ini bisa berakibat fatal karena data yang hilang tidak mudah dikembalikan.

Selanjutnya, pengguna harus memeriksa tabel yang ingin dihapus datanya. Pada kasus ini, tabel buku menjadi target operasi. Perintah DESCRIBE buku; dapat digunakan untuk melihat struktur tabel. Dengan memahami kolom yang tersedia, pengguna lebih mudah menulis kondisi penghapusan dengan benar. Pemahaman ini mencegah kesalahan logika dalam perintah DELETE.

Sebelum benar-benar menghapus, ada baiknya pengguna menampilkan data yang ingin dihapus. Hal ini dapat dilakukan dengan perintah SELECT menggunakan kondisi yang sama dengan yang akan dipakai pada DELETE. Misalnya, jika ingin menghapus buku dengan id_buku = 5, perintah SELECT * FROM buku WHERE id_buku = 5; bisa dijalankan lebih dahulu. Dengan begitu, pengguna yakin baris yang akan dihapus adalah benar.

Langkah terakhir dalam persiapan adalah membuat cadangan data. Praktik membuat cadangan (backup) sebelum penghapusan penting dilakukan dalam sistem produksi. Cadangan bisa berupa salinan tabel atau ekspor data ke file eksternal. Dengan cadangan, data yang terhapus masih bisa dipulihkan jika terjadi kesalahan. Persiapan yang matang akan memberikan rasa aman dalam menjalankan operasi DELETE.


Perintah Dasar DELETE

Perintah DELETE digunakan untuk menghapus satu atau lebih baris dari tabel. Sintaks umumnya adalah:

DELETE FROM nama_tabel WHERE kondisi;

Kata kunci WHERE sangat penting karena menentukan baris mana yang akan dihapus. Tanpa WHERE, semua baris dalam tabel akan hilang. Misalnya, untuk menghapus satu buku dengan id_buku = 5, query yang digunakan adalah:

DELETE FROM buku WHERE id_buku = 5;

Query di atas akan menghapus hanya baris dengan id_buku bernilai 5. Baris lain tidak terpengaruh. Dengan cara ini, penghapusan menjadi terkontrol. Klausa WHERE adalah alat filter yang wajib ada untuk mencegah kesalahan fatal.

Selain menghapus satu baris, DELETE juga dapat digunakan untuk menghapus lebih dari satu baris sekaligus. Misalnya, menghapus semua buku yang terbit sebelum tahun 1990:

DELETE FROM buku WHERE tahun_terbit < 1990;

Perintah ini akan menghapus semua baris yang memenuhi kondisi tersebut. Namun, risiko besar muncul jika kondisi terlalu luas. Oleh karena itu, selalu gunakan kondisi dengan hati-hati. Perintah DELETE memberi kekuatan besar, tetapi juga tanggung jawab besar.

Dalam praktik profesional, DELETE jarang digunakan tanpa pertimbangan. Biasanya ada aturan bisnis yang menentukan data apa saja yang boleh dihapus. Dalam banyak kasus, data hanya ditandai sebagai “tidak aktif” daripada benar-benar dihapus. Strategi ini menjaga integritas historis sistem informasi.


Menghapus Beberapa Baris Sekaligus

Perintah DELETE memungkinkan pengguna menghapus banyak baris sekaligus dengan menggunakan kondisi tertentu. Misalnya, jika perpustakaan ingin menghapus semua buku yang tidak memiliki ISBN (kosong), maka query yang digunakan adalah:

DELETE FROM buku WHERE isbn IS NULL;

Perintah ini akan menghapus semua baris di mana kolom isbn bernilai kosong. Contoh ini berguna ketika ada data tidak valid yang masuk ke database. Dengan satu perintah, semua data yang tidak sesuai standar bisa dibersihkan.

Namun, menghapus banyak baris sekaligus berisiko besar. Kesalahan dalam menuliskan kondisi bisa menyebabkan data penting ikut hilang. Oleh karena itu, sangat dianjurkan untuk menjalankan query SELECT terlebih dahulu. Query ini menggunakan kondisi yang sama dengan DELETE, sehingga pengguna bisa melihat terlebih dahulu baris yang akan terhapus.

Menghapus data massal sering digunakan dalam proses pembersihan data (data cleansing). Misalnya, saat ada data duplikat atau data percobaan yang tidak lagi dibutuhkan. Dalam konteks perpustakaan, bisa jadi ada buku fiktif yang dimasukkan untuk uji coba. Dengan DELETE, data uji coba tersebut dapat dihapus dengan cepat.

Jika penghapusan massal diperlukan, penggunaan transaksi juga dianjurkan. Dengan transaksi, pengguna dapat membatalkan penghapusan jika ternyata salah. Hal ini meningkatkan keamanan operasi. Transaksi adalah alat penting dalam mengelola perubahan data besar.

Kekuatan DELETE untuk menghapus banyak baris sekaligus sangat berguna. Namun, seperti pisau bermata dua, perintah ini bisa menjadi bencana jika tidak digunakan dengan hati-hati. Oleh karena itu, kombinasi antara kehati-hatian, pratinjau data, dan transaksi menjadi solusi terbaik.


4. Kesalahan Umum

4.1 Tidak Menyertakan Klausa WHERE

Kesalahan paling fatal adalah menjalankan DELETE tanpa klausa WHERE. Hal ini akan menghapus semua baris dalam tabel. Misalnya:

-- Salah: semua data buku terhapus
DELETE FROM buku;

Kesalahan ini biasanya terjadi karena pengguna terburu-buru. Akibatnya, seluruh data hilang dalam sekejap. Tanpa cadangan, data tersebut tidak bisa dipulihkan.


4.2 Menggunakan Kondisi Terlalu Umum

Kesalahan lain adalah menggunakan kondisi WHERE yang terlalu luas. Misalnya, DELETE FROM buku WHERE tahun_terbit > 0;. Kondisi ini berlaku untuk semua baris, sehingga hasilnya hampir sama dengan tanpa kondisi. Kesalahan ini membuat data hilang lebih banyak daripada yang diinginkan.


4.3 Tidak Memeriksa Data Sebelum Menghapus

Sering kali pengguna langsung menjalankan DELETE tanpa memeriksa data terlebih dahulu. Akibatnya, baris yang seharusnya dipertahankan ikut terhapus. Untuk menghindari ini, jalankan SELECT dengan kondisi yang sama sebelum menghapus.


4.4 Menghapus Data yang Masih Dibutuhkan

Dalam beberapa kasus, data yang dihapus ternyata masih dibutuhkan untuk laporan atau audit. Kesalahan ini biasanya terjadi karena kurangnya koordinasi antar tim. Oleh karena itu, penting untuk memastikan aturan bisnis sebelum menghapus data.


5. Best Practice

5.1 Selalu Gunakan Klausa WHERE

Klausa WHERE adalah pelindung utama terhadap penghapusan massal. Pastikan selalu menuliskan kondisi yang jelas untuk membatasi data yang dihapus.

DELETE FROM buku WHERE id_buku = 3;

5.2 Gunakan SELECT untuk Verifikasi

Sebelum menjalankan DELETE, jalankan perintah SELECT dengan kondisi yang sama. Langkah ini memastikan bahwa hanya data yang relevan yang akan terhapus.

SELECT * FROM buku WHERE tahun_terbit < 1990;

5.3 Gunakan Transaksi untuk Penghapusan Besar

Ketika menghapus banyak baris, gunakan transaksi. Dengan cara ini, perubahan dapat dibatalkan dengan ROLLBACK jika ada kesalahan.

START TRANSACTION;
DELETE FROM buku WHERE tahun_terbit < 1990;
ROLLBACK;

5.4 Lakukan Backup Sebelum Menghapus

Sebelum menghapus data penting, lakukan backup terlebih dahulu. Cadangan memungkinkan data dipulihkan jika ternyata penghapusan salah.

CREATE TABLE buku_backup AS SELECT * FROM buku;

6. Studi Kasus Perpustakaan

Seorang admin perpustakaan menemukan bahwa ada beberapa buku uji coba yang dimasukkan tanpa ISBN. Data ini tidak valid dan harus dihapus agar database tetap bersih. Admin menjalankan query berikut:

DELETE FROM buku WHERE isbn IS NULL;

Sebelum menjalankannya, admin lebih dulu memeriksa dengan query:

SELECT * FROM buku WHERE isbn IS NULL;

Dengan strategi ini, admin yakin bahwa hanya buku uji coba yang akan terhapus. Setelah penghapusan, database menjadi lebih bersih dan hanya berisi data valid. Praktik ini memperlihatkan bagaimana DELETE digunakan secara bertanggung jawab dalam sistem perpustakaan.


Kesimpulan

Modul ini membahas cara menghapus data dengan perintah DELETE. Peserta mempelajari persiapan, perintah dasar, penerapan pada banyak baris, kesalahan umum, serta praktik terbaik. Studi kasus perpustakaan memperlihatkan bagaimana data tidak valid dapat dihapus dengan aman. Dengan penguasaan DELETE, peserta siap melangkah ke modul berikut untuk melakukan praktik isi data contoh pada tabel buku.


Referensi

  • Elmasri, R., & Navathe, S. B. (2016). Fundamentals of Database Systems. Pearson.
  • Silberschatz, A., Korth, H. F., & Sudarshan, S. (2020). Database System Concepts. McGraw-Hill.

mulai diskusi

peraturan

Login menggunakan akun telegram untuk memulai diskusi.

Gunakan bahasa yang sopan, baik dan benar

Dilarang menggunakan perkataan yang mengandung unsur pelecehan, cacian dan merendahkan aggota forum lain.

Dilarang memulai pembicaraan yang keluar dari topik pembahasan.

pegaduan

panduan

Login menggunakan akun Github untuk mengajukan report.

Gunakan kalimat deskriptif yang jelas terkait kendala yang dihadapi dalam pengajuan report

Upload gambar screenshoot terkait report untuk membantu kami dalam penanganan report

Progress penanganan report dapat di monitoring pada halaman github course.

latihan

berikut ini adalah aktivitas latihan untuk modul Menghapus Data dengan DELETE

penugasan

aktivitas penugasan dan penilaian untuk modul Menghapus Data dengan DELETE