Home Tutorial Database (RDBMS) Penyaringan Data
Tutorial Master Komputer
Penyaringan Data PDF Cetak E-mail
Ditulis oleh Muhammad Idris   
Jumat, 24 April 2009 11:06

5.1    Menggunakan Klausa WHERE

Tabel-tabel database biasanya berisi sejumlah besar data, dan jarang Anda perlu mengambil semua record dalam sebuah tabel. Anda lebih sering mengekstrak sub-kumpulan data tabel sebagaimana diperlukan untuk operasi atau laporan khusus. Jika Anda mengambil hanya data yang Anda perlukan, Anda perlu menentukan kriteria pencarian, yang disebut juga kondisi penyaringan / filter condition.

Dalam statemen SELECT, data disaring berdasarkan penetapan kriteria pencarian dalam klausa WHERE. Klausa WHERE ditempatkan disebelah kana setelah nama tabel (klausa FROM) berikut :

INPUT

SELECT nama, harga

FROM Barang

WHERE harga = 3.49;

ANALYSIS

Statemen tersebut mengambil dua field dari tabel Barang. Daripada mengembalikan semua record, hanya record dengan nilai harga bernilai 3.49 yang ditampilkan.

OUTPUT

nama                    harga

----                    -----      

Fish bean bag toy       3.49 

Bird bean bag toy       3.49 

Rabbit bean bag toy     3.49

 

Contoh ini menggunakan percobaan persamaan sederhana : persamaan itu memeriksa untuk mengetahui apakah ada field yang memiliki nilai khusus, dan menyaring data yang sesuai. Tetapi SQL membiarkan Anda melakukan lebih dari sekedar memeriksa persamaan.

 

5.2    Operator Klausa WHERE

Klausa WHERE pertama kita dapat pada pemeriksaan persamaan – menentukan apakah field berisi nilai khusus. SQL mengdukung operator kondisional seperti ditunjukan pada Tabel 5.1

 

Tabel 5.1 Operator-Operator Klausa WHERE

Operator

Keterangan

=

 

!=

<=

!<

>=

!>

BETWEEN

IS NULL

Sama dengan

Tidak sama dengan

Tidak sama dengan

Lebih keci dari

Lebih kecil atau sama dengan

Tidak lebih kecil dari

Lebih besar dari

Lebih besar dari atau sama dengan

Tidak lebih besar dari

Antara dua nilai khusus

Nilai NULL (kosong)

 

5.2.1   Menandai Nilai Tunggal

Kita sudah melihat contoh pengujian persamaan. Mari kita lihat beberapa contoh untuk menunjukkan penggunakan operator-operator lainnya.

Contoh pertama adalah daftar semua barang yang harganya dibawah $10 :

INPUT

SELECT nama, harga

FROM Barang

WHERE harga < 10;

OUTPUT

nama                    harga

----                    -----      

8 inch teddy bear       5.99 

12 inch teddy bear      8.99 

Fish bean bag toy       3.49 

Bird bean bag toy       3.49 

Rabbit bean bag toy     3.49 

Raggedy Ann             4.99

 

5.2.2   Menandai Perbedaan

Contoh berikut ini mendaftarkan semua barang yang tidak dibuat oleh supplier DLL01 :

INPUT

SELECT kodeSup, nama

FROM Barang

WHERE KodeSup ‘DLL01’;

 

 

OUTPUT

kodeSup     nama 

-------     ---- 

BRS01       8 inch teddy bear

BRS01       12 inch teddy bear     

BRS01       18 inch teddy bear

 

5.2.3   Menandai Nilai Range

Untuk menandai range nilai, Anda dapat menggunakan operator BETWEEN. Syntax ini sedikit berbeda dari operator-operator klausa WHERE karena memerlukan dua nilai, yaitu nilai pertama dan terakhir dari susunannya. Operator BETWEEN dapat digunakan, misalnya menandai semua barang yang berharga antara $5 dan $10, atau untuk semua tanggal yang jatuh diantara tanggal awal dan akhir yang ditentukan.

INPUT

SELECT nama, harga

FROM Barang

WHERE Harga BETWEEN 5 AND 10;

OUTPUT

nama                    harga

----                    -----

8 inch teddy bear       5.99 

12 inch teddy bear      8.99

 

ANALYSIS

Seperti tampak dalam contoh, pada saat BETWEEN digunakan, ada dua nilai yang harus ditentukan – yang terendah dan yang tertinggi dari range yang diinginkan. Kedua nilai tersebut juga harus dipisahkan dengan keyword AND. BETWEEN akan menyesuaikan semua nilai dalam susunan tersebut, termasuk nilai awal dan akhir yang ditentukan.

 

5.2.4   Menandai Nilai Kosong

Pada saat membuat tabel, perancangan tabel dapat menetapkan apakah satu atau beberapa field berisi nilai kosong. Jika field tersebut tidak mempunyai nilai, maka field tersebut dikatakan bernilai NULL.

Statemen SELECT mempunyai klausa WHERE khusus yang dapat digunakan untuk menandai field-field dengan nilai NULL – klausa IS NULL. Syntax-nya adalah sebagai berikut :

 

 

INPUT

SELECT nama

FROM Barang

WHERE Harga IS NULL;

ANALYSIS

Statemen ini mengembalikan daftar dari semua barang yang tidak mempunyai harga (field kosong untuk harga, bukan dengan nilai 0), dan karena memang tidak ada nilai, maka tidak ada data yang akan ditampilkan.

 

5.3    Menggabungkan Klausa WHERE

Semuaklausa WHERE yang diperkenalkan diatas adalah menyaring data dengan satu kriteria tunggal. Untuk tingkat kontrol penyaringan yang lebih tinggi, SQL mengijinkan Anda menentukan banyak klausa WHERE. Klausa-klausa tersebut dapat dalam dua cara, yaitu sebagai klausa AND atau sebagai klausa OR.

 

5.3.1 Menggunakan Operator AND

Untuk menyaring lebih dari satu field, Anda dapat menggunakan operator AND untuk melampirkan syarat-syarat pada klausa WHERE Anda. Ikuti program berikut ini :

INPUT

SELECT nama, harga

FROM Barang

WHERE KodeSup = ‘DLL01’ AND Harga <= 4;

ANALYSIS

Statemen SQL menarik nama dan harga untuk semua barang yang dibuat oleh supplier DLL01 selama berharga $4 atau kurang. Klausa WHERE dalam statemen SELECT dibentuk dengan dua kondisi, dan digunakan keyword AND untuk menggabungkannya.

OUTPUT

nama                    harga

----                    -----

Fish bean bag toy       3.49 

Bird bean bag toy       3.49 

Rabbit bean bag toy     3.49

 

5.3.2 Menggunakan Operator OR

Operator OR kebalikan dari AND. Operator OR memerintahkan software DBMS untuk mengambil record-record yang sesuai dengan dua atau lebih kondisi yang ditentukan. Lihat statemen SELECT berikut ini :

INPUT

SELECT nama, harga

FROM Barang

WHERE KodeSup = ‘DLL01’ OR KodeSUP = ‘BRS01’;

ANALYSIS

Statemen SQL tersebut akan mengambil nama dan harga untuk semua barang yang dibuat oleh salah satu supplier yang ditentukan.

OUTPUT

nama                    harga

----                    -----

8 inch teddy bear       5.99 

12 inch teddy bear      8.99 

18 inch teddy bear      11.99

Fish bean bag toy       3.49 

Bird bean bag toy       3.49 

Rabbit bean bag toy     3.49 

Raggedy Ann             4.99 

 

5.3.3   Memahami Urutan Evaluasi

Klausa WHERE dapat berisi sembarang jumlah operator AND dan OR. Menggabungkan keduanya membuat Anda dapat melakukan penyaringan yang kompleks dan pintar.

Tetapi terkadang dalam penggabungan keduanya juga akan dapat menimbulkan masalah. Perhatikan contoh berikut :

INPUT

SELECT nama, harga

FROM Barang

WHERE (KodeSup = ‘DLL01’ OR KodeSUP = ‘BRS01’) AND Harga >= 10;

 

OUTPUT

nama                    harga

----                    -----

18 inch teddy bear      11.99

ANALYSIS

Karena tanda kurung mempunyai urutan evaluasi yang lebih tinggi daripada operator AND atau OR, maka DBMS pertama-tama akan menyaring kondisi OR dalam tanda kurung tersebut. Statemen SQL kemudian menjadi semua barang yang dibuat oleh supplier DLL01 atau supplier BRS01 dengan harga $10 atau lebih besar.

Catatan : Sekarang coba hilangkan tanda kurung dan perhatikan apa yang terjadi ?

 

5.3.4   Menggunakan Operator LIKE

Semua operator diatas digunakan untuk menyaring nilai-nilai yang sudah diketahui. Membuatnya memenuhi satu atau lebih nilai, menguji lebih besar atau lebih kecil daripada nilai yang diketahui, atau menandai range nilai, maka denominator umumnya adalah nilai-nilai yang digunakan dalam penyaringan telah diketahui.

Tetapi penyaringan data dengan cara seperti itu tidak selalu bekerja. Sebagai contoh, bagaimana Anda dapat mencari semua barang yang berisi teks bean bag dalam nama barang? Hal itu tidak dapat dilakukan dengan operator perbandingan sederhana. Untuk contoh kasus diatas dapat diatasi dengan menggunakan penyaringan wildcard. Dengan menggunakan wildcard, Anda dapat membuat pola pencari yang dapat diperbandingkan pada data Anda. Pada contoh ini, jika hendak mencari semua barang yang berisikan teks bean bag, Anda dapat membangun wildcard pola pencarian yang memungkinkan Anda menemukan teks bean bag dimana saja dalam nama barang.

Wildcard sendiri sebenarnya adalah karakter yang memiliki arti khusus dalam klausa WHERE, dan SQL mendukung beberapa tipe wildcard yang berbeda. Untuk menggunakan wildcard dalam klausa pencarian, operator LIKE sebaiknya digunakan.

 

a.      Tanda Wildcard % (Persen)

Wildcard yang paling sering digunakan adalah tanda persen (%). Dalam string pencarian % berarti mencocokkan semua jumlah kejadian dari beberapa karakter. Sebagai contoh, untuk menemukan semua barang yang diawali dengan kata fish, Anda dapat membuat statemen SELECT berikut ini :

INPUT

SELECT kodebrg, nama

FROM Barang

WHERE Nama LIKE ‘fish%’;

ANALYSIS

Contoh tersebut menggunakan pola pencarian ‘fish%’. Jika klausa ini dievaluasi, maka semua nilai yang dimulai dengan fish akan diambil. % memberitahu DBMS untuk menerima semua karakter setelah kata fish, tanpa peduli berapa banyak karakter tersebut.

OUTPUT

kodebrg     nama 

-------     ---- 

BNBG01      Fish bean bag toy

 

Wildcard dapat digunakan di semua tempat dalam pola pencarian, dan dapat digunakan banyak wildcard. Contoh berikut menggunakan dua wilcard :

INPUT

SELECT kodebrg, nama

FROM Barang

WHERE Nama LIKE ‘%bean bag%’;

ANALYSIS

Pola pencarian ‘%bean bag%’ berarti mencocokkan semua nilai yang berisi teks bean bag dimana saja yang ada didalamnya, tanpa memperhatikan semua karakter sebelum ataupun sesudah teks tersebut.

OUTPUT

kodebrg     nama 

-------     ---- 

BNBG01      Fish bean bag toy

BNBG02      Bird bean bag toy

BNBG03      Rabbit bean bag toy

 

Penting untuk dicatat bahwa sebagai tambahan untuk mencocokkan satu atau lebih karakter, % juga mencocokkan dengan karakter kosong, % mewakili nol, satu atau lebih karakter di tempat yang telah ditentukan dalam pola pencarian.

 

b.      Wildcard Underscore ( _ )

Wildcard lainnya yang bermanfaat adalah tanda garis bawah ( _ ). Tanda garis bawah digunakan sama seperti ‘%’, tetapi untuk mencocokkan satu karakter  tunggal, bukan  untuk  banyak  karakter. Perhatikan  contoh  berikut ini :

INPUT

SELECT kodebrg, nama

FROM Barang

WHERE Nama LIKE ‘__ inch teddy bear’;

ANALYSIS

Pola pencarian yang digunakan dalam klausa WHERE ini menentukan dua wildcard yang diikuti oleh teks harafiah. Hasilnya memperlihatkan hanya record-record yang cocok dengan pola pencarian : tanda garis bawah mencocokkan 12 untuk record pertama dan 18 untuk record kedua. Barang 8 inch teddy bear tidak cocok karena pola pencarian hanya memerlukan 2 wildcard yang cocok, bukan satu.

OUTPUT

kodebrg     nama 

-------     ---- 

BR02        12 inch teddy bear     

BR03        18 inch teddy bear

 

 

Tip-tip Menggunakan Wildcard

Seperti yang Anda ketahui, wildcard SQL benar-benar sangat berguna. Tetapi manfaat tersebut juga menuntut resiko: Wildcard pencarian membutuhkan waktu yang lebih lama untuk memproses daripada jenis-jenis pencarian lain yang telah dibahas sebelumnya. Berikut ini beberapa ketentuan kapan menggunakan wildcard :

·          Jangan berlebihan menggunakan wildcard. Jika operator pencarian yang lainnya mendukung, gunakan.

·          Pada saat Anda menggunakan wildcard, cobalah untuk tidak menggunakannya pada awal pola pencarian kecuali benar-benar dibutuhkan. Pola pencarian yang diawali dengan wildcard merupakan proses pencarian paling lambat.

·          Perhatikan benar-benar penempatan simbol-simbol wildcard. Jika penempatannya salah, Anda tidak akan mendapatkan data yang Anda kehendaki.

Namun demikian, wildcard tool pencarian yang penting dan bermanfaat, dan tool yang akan sering Anda gunakan.

WildCard adalah karakter khusus yang digunakan untuk menyesuaikan bagian-bagian dari satu nilai.

Comments (0)Add Comment

Write comment

busy