navigasi pertemuan

berlangsung | pertemuan 5


















Menyaring Data dengan WHERE

profile Al Muhdil Karim user avater image
Al Muhdil Karim
7 min red
September 24, 2025
Menyaring Data dengan WHERE

Klausa WHERE dalam SQL adalah salah satu fitur terpenting yang memungkinkan pengguna untuk menyaring data berdasarkan kondisi tertentu. Jika perintah SELECT digunakan tanpa kondisi, maka semua data dalam tabel akan ditampilkan. Namun, dalam praktik nyata, pengguna hampir selalu membutuhkan informasi yang lebih spesifik. Misalnya, seorang pustakawan ingin mengetahui buku yang terbit pada tahun tertentu atau yang ditulis oleh penulis tertentu. Tanpa filter, informasi ini akan sulit ditemukan di antara ratusan bahkan ribuan baris data.

Sebelum menjalankan perintah WHERE, langkah awal adalah memastikan bahwa database yang digunakan sudah benar. Dalam kasus ini, database perpustakaan adalah tempat penyimpanan tabel buku. Gunakan perintah USE perpustakaan; untuk berpindah ke database tersebut, lalu jalankan SELECT DATABASE(); untuk memastikan bahwa Anda berada di konteks yang tepat. Jika database aktif bukan perpustakaan, maka perintah berikutnya tidak akan berfungsi sesuai harapan. Dengan demikian, memastikan database aktif merupakan syarat penting sebelum menyaring data.

Selain memastikan database aktif, Anda juga perlu meninjau isi tabel terlebih dahulu. Jalankan SELECT * FROM buku; untuk melihat data apa saja yang tersedia. Langkah ini membantu Anda mengenali pola nilai pada kolom, misalnya tahun terbit buku, nama penulis, atau ISBN. Tanpa meninjau data terlebih dahulu, kondisi dalam WHERE bisa saja tidak sesuai sehingga menghasilkan hasil kosong atau error. Dengan mengenali isi tabel, Anda bisa membuat kondisi penyaringan yang lebih akurat dan relevan.

Pemahaman struktur tabel juga sangat penting sebelum menulis query dengan WHERE. Gunakan perintah DESCRIBE buku; untuk melihat nama kolom dan tipe datanya. Informasi ini akan membantu Anda mengetahui kolom mana yang bisa digunakan sebagai syarat penyaringan. Misalnya, kolom tahun_terbit bertipe YEAR sehingga kondisi harus berupa angka, sedangkan kolom penulis bertipe VARCHAR sehingga nilainya harus dalam tanda kutip. Tanpa memahami tipe data, kesalahan penulisan kondisi sering kali terjadi.

Terakhir, pahami tujuan praktis dari penyaringan data. Misalnya, apakah Anda ingin menampilkan koleksi buku baru, mencari penulis tertentu, atau menganalisis tren penerbitan. Dengan merumuskan pertanyaan terlebih dahulu, Anda bisa menuliskan kondisi WHERE dengan lebih efektif. Klausa ini tidak hanya membantu mengurangi jumlah data yang ditampilkan, tetapi juga meningkatkan kemampuan analisis terhadap data yang relevan.


Perintah Dasar WHERE

Sintaks dasar penggunaan klausa WHERE adalah sebagai berikut:

SELECT kolom1, kolom2 FROM nama_tabel WHERE kondisi;

Perintah ini memungkinkan pengguna memilih kolom tertentu sekaligus membatasi baris yang ditampilkan sesuai syarat. Misalnya, jika ingin menampilkan semua buku yang diterbitkan pada tahun 2020, maka query-nya adalah:

SELECT judul, penulis FROM buku WHERE tahun_terbit = 2020;

Perintah tersebut hanya akan menampilkan baris dengan nilai tahun_terbit sama dengan 2020. Semua baris lain diabaikan. Hal ini menunjukkan bahwa WHERE memberikan kekuatan filter yang membuat hasil query lebih fokus.

Klausa WHERE dapat digabungkan dengan operator logika untuk membuat kondisi lebih kompleks. Sebagai contoh, jika ingin menampilkan buku terbitan 2020 karya penulis “Sinta Dewi”, maka query yang digunakan adalah:

SELECT judul, penulis FROM buku WHERE tahun_terbit = 2020 AND penulis = 'Sinta Dewi';

Dengan menggabungkan AND, kita bisa mempersempit hasil agar lebih spesifik. Penggunaan OR juga memungkinkan untuk menampilkan data yang memenuhi salah satu dari beberapa syarat. Misalnya, semua buku terbitan 2019 atau 2020 bisa ditampilkan dengan kondisi tahun_terbit = 2019 OR tahun_terbit = 2020.

Selain operator logika, klausa WHERE mendukung operator perbandingan seperti =, >, <, atau pola dengan LIKE. Operator-operator ini akan dijelaskan lebih rinci dalam modul berikutnya. Namun, penting untuk memahami sejak awal bahwa fleksibilitas WHERE inilah yang menjadikan SQL sangat kuat. Dengan WHERE, data besar bisa disaring menjadi informasi yang relevan dengan cepat.


3. Kesalahan Umum

3.1 Mengabaikan Kutip untuk Nilai Teks

Kesalahan paling sering dilakukan pemula adalah lupa menambahkan tanda kutip pada nilai teks. SQL mengharuskan nilai string ditulis di dalam tanda kutip tunggal, misalnya 'Sinta Dewi'. Jika ditulis tanpa kutip, MariaDB akan mengira bahwa nilai tersebut adalah nama kolom atau fungsi, bukan string. Akibatnya, query gagal dijalankan dan menghasilkan error. Hal ini bisa sangat membingungkan jika pengguna belum memahami aturan dasar penulisan SQL.

-- Salah: nilai teks tanpa kutip
SELECT judul FROM buku WHERE penulis = Sinta Dewi;

Kesalahan sederhana ini bisa dihindari dengan membiasakan diri selalu menuliskan nilai teks di dalam tanda kutip. Meskipun terlihat kecil, praktik ini menjadi pondasi untuk penulisan query yang benar. Tanpa kedisiplinan dalam penulisan, kesalahan seperti ini akan terus terulang dan menghambat proses belajar.


3.2 Menggunakan Nilai yang Tidak Ada

Kesalahan kedua adalah menuliskan kondisi dengan nilai yang sebenarnya tidak ada dalam tabel. Misalnya, mencari buku dengan tahun terbit 1800 padahal data hanya tersedia dari tahun 2000 ke atas. Query tetap dijalankan, tetapi hasilnya kosong. Walaupun tidak menghasilkan error, hasil kosong bisa membuat pengguna menyangka query salah. Kesalahan ini biasanya terjadi karena pengguna tidak memeriksa data terlebih dahulu.

-- Salah: nilai tidak ada di tabel
SELECT judul FROM buku WHERE tahun_terbit = 1800;

Untuk menghindarinya, biasakan menampilkan nilai unik dari kolom yang relevan sebelum menyusun query. Misalnya, gunakan SELECT DISTINCT tahun_terbit FROM buku; untuk melihat daftar tahun yang tersedia. Dengan langkah sederhana ini, kondisi yang ditulis akan selalu sesuai dengan data yang ada.


3.3 Menyaring Tanpa Memahami Struktur Kolom

Kesalahan lain adalah salah menulis kondisi karena tidak memahami tipe data kolom. Misalnya, mencoba membandingkan teks dengan kolom bertipe YEAR. MariaDB akan mengembalikan error karena perbandingan tersebut tidak valid. Kesalahan ini sangat umum pada pemula yang belum terbiasa membaca struktur tabel.

-- Salah: membandingkan angka dengan teks
SELECT judul FROM buku WHERE tahun_terbit = 'Dua Ribu Dua Puluh';

Cara terbaik untuk mencegah kesalahan ini adalah selalu memeriksa struktur tabel dengan DESCRIBE. Dengan mengetahui tipe data setiap kolom, Anda akan menuliskan kondisi dengan format yang tepat. Pemahaman tipe data adalah kunci keberhasilan penggunaan WHERE.


3.4 Menggunakan Kondisi Terlalu Luas

Kesalahan terakhir adalah menulis kondisi yang terlalu umum sehingga hasil query tidak relevan. Misalnya, WHERE tahun_terbit > 0 akan menampilkan hampir semua data karena semua tahun terbit lebih besar dari nol. Kondisi ini memang valid, tetapi tidak menjawab pertanyaan yang spesifik. Kesalahan ini biasanya muncul karena pengguna terburu-buru.

-- Salah: kondisi terlalu umum
SELECT * FROM buku WHERE tahun_terbit > 0;

Untuk menghindari kesalahan ini, biasakan menuliskan kondisi yang jelas sesuai kebutuhan. Jika tujuan Anda mencari buku terbaru, gunakan WHERE tahun_terbit >= 2020. Dengan kondisi yang spesifik, hasil query lebih relevan dan bermanfaat.


4. Best Practice

4.1 Selalu Gunakan Kutip untuk Nilai Teks

Penggunaan tanda kutip tunggal untuk nilai teks adalah aturan dasar yang wajib diikuti. Dengan kutip, SQL bisa membedakan antara string dan nama kolom. Praktik sederhana ini mencegah error dan memastikan query berjalan sesuai harapan. Kebiasaan ini juga meningkatkan kejelasan query ketika dibaca ulang.

SELECT * FROM buku WHERE penulis = 'Sinta Dewi';

4.2 Periksa Data dengan SELECT Sebelum WHERE

Sebelum menyaring data, biasakan untuk memeriksa nilai apa saja yang tersedia. Perintah SELECT DISTINCT sangat berguna untuk menampilkan daftar nilai unik dari kolom tertentu. Dengan cara ini, kondisi yang Anda tulis akan selalu sesuai dengan data. Praktik ini menghemat waktu karena mengurangi percobaan query yang sia-sia.

SELECT DISTINCT tahun_terbit FROM buku;

4.3 Gunakan Kondisi yang Spesifik

Kondisi yang spesifik membuat hasil query lebih relevan dengan pertanyaan yang diajukan. Daripada menulis WHERE tahun_terbit > 0, lebih baik gunakan WHERE tahun_terbit = 2021. Dengan cara ini, query menjadi lebih jelas dan hasilnya lebih bermanfaat. Spesifisitas adalah prinsip penting dalam analisis data.

SELECT judul FROM buku WHERE tahun_terbit = 2021;

4.4 Kombinasikan Kondisi untuk Akurasi

SQL memungkinkan penggunaan AND dan OR untuk menggabungkan kondisi. Dengan kombinasi ini, Anda bisa menulis filter yang lebih kompleks dan akurat. Misalnya, menampilkan buku karya penulis tertentu pada tahun tertentu. Praktik ini membuat hasil query lebih tepat sasaran dan sesuai kebutuhan analisis.

SELECT judul FROM buku WHERE penulis = 'Raka Pratama' AND tahun_terbit = 2021;

Studi Kasus Perpustakaan

Seorang pustakawan ingin mengetahui buku terbaru yang diterbitkan pada tahun 2021. Ia menjalankan query berikut:

SELECT judul, penulis FROM buku WHERE tahun_terbit = 2021;

Hasilnya menunjukkan daftar buku terbitan 2021, termasuk “Pemrograman Python untuk Pemula” karya Raka Pratama. Dengan informasi ini, pustakawan dapat mempromosikan koleksi terbaru kepada anggota.

Dalam kasus lain, pustakawan ingin membuat daftar khusus semua buku karya “Sinta Dewi”. Ia menggunakan query:

SELECT judul, tahun_terbit FROM buku WHERE penulis = 'Sinta Dewi';

Hasil query memberikan daftar ringkas koleksi karya penulis tersebut. Informasi ini bisa digunakan untuk melayani permintaan anggota yang menggemari tulisan Sinta Dewi. Studi kasus ini menunjukkan bagaimana WHERE mendukung operasional perpustakaan dengan menyediakan data relevan secara cepat.


Kesimpulan

Modul ini membahas penggunaan klausa WHERE untuk menyaring data dalam tabel. Peserta mempelajari persiapan, sintaks dasar, kesalahan umum, praktik terbaik, serta studi kasus perpustakaan. Dengan penguasaan WHERE, query menjadi lebih efisien, relevan, dan siap mendukung kebutuhan analisis. Pemahaman ini juga menjadi dasar penting untuk mempelajari operator perbandingan pada modul berikutnya.


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 Menyaring Data dengan WHERE

penugasan

aktivitas penugasan dan penilaian untuk modul Menyaring Data dengan WHERE