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

4.1    Pencarian Data

Pada SQL kita dapat melakukan pencarian data dari sebuah atau beberapa tabel. Statemen yang akan selalu digunakan adalah statemen SELECT.

 

4.1.1   Statemen SELECT

Seperti dijelaskan pada Modul 1. “Memahami SQL”, statemen-statemen dalam SQL menggunakan istilah-istilah dalam bahasa Inggris. Istilah-istilah itu disebut keyword, dan setiap statemen SQL dibangun dengan satu atau lebih keyword. Statemen SQL yang mungkin akan banyak Anda gunakan adalah statemen SELECT, yang kegunaannya adalah untuk mengambil informasi dari satu atau beberapa tabel.

Dalam penggunakaan statemen SELECT untuk mendapatkan kembali data tabel, Anda harus sedikitnya menentukan dua  bagian informasi – data apa yang akan Anda pilih, dan dari mana data tersebut dipilih.

 

4.1.2   Menampilkan Nilai Field-field Individual

Kita akan memulai dengan statemen SELECT dari SQL, sebagai berikut :

INPUT

SELECT nama

FROM Mhs;

ANALYSIS

Statemen diatas menggunakan statemen SELECT untuk memanggil field tunggal yang disebut nama dari dalam tabel mhs. Nama field yang diinginkan ditentukan di sebelah kanan setelah keyword SELECT, dan keyword FROM menentukan nama tabel dari mana data diambil. Output dari statemen tersebut adalah sebagai berikut :

OUTPUT

nama

--------

Sofyan

Reni

Ivan

Andi

Neli

Sophia

Diana

 

Statemen SELECT yang sederhana ini hampir sama dengan yang digunakan untuk menampilkan semua record dalam sebuah tabel. Data-data tersebut tidak disaring dan juga tidak diurutkan. Topik ini akan dibahas pada modul lainnya.

 

4.1.3   Menampilkan Nilai Banyak Field

Untuk mencari atau manampilkan beberapa field daari sebut tabel, statemen SELECT yang sama juga digunakan. Satu-satunya perbedaannya adalah banyak nama field harus ditentukan setelah keyword SELECT, dan setiap field harus dipisahkan dengan tanda koma[2].

Statemen SELECT berikut menampilkan tiga field dari tabel mhs.

INPUT

SELECT nim, nama, kota

FROM Mhs;

ANALYSIS

Sama pada contoh sebelumnya, dengan menggunakan statemen SELECT untuk mencari data dari tabel mhs. Pada contoh ini, ditentukan tiga nama field dan masing-masing dipisahkan oleh tanda koma. Hasilnya seperti berikut ini :

OUTPUT

nim         nama        kota

-------     ------      ---------

9702026     Sofyan      Bandung

9703025     Reni        Bandung

9701004     Ivan        Nias

9702002     Andi        Garut

9701006     Neli        Samarinda

9702011     Sophia      Jakarta

9703044     Diana       Bandung

 

4.1.4   Menampilkan Semua Field

Selain dapat menentukan field yang diinginkan (satu atau beberapa field), statemen SELECT juga dapat meminta semua field tanpa harus menguraikan daftar field satu-persatu. Hal ini dapat diakukan dengan menggunakan tanda asterik (*) sebagai pengganti nama-nama field, sebagai berikut :

INPUT

SELECT *

FROM Mhs;

ANALYSIS

Jika tanda (*) ditempatkan, maka semua field pada tabel akan diambil, Urutan field biasanya akan terurut sesuai dengan urutan field pada struktur tabel.

 

4.2    Menyotir Data

Diatas telah dibahas bahwa statemen SQL berikut ini mengambil nilai field dari suatu tabel database. Tetapi perhatikan outputnya, dimana data sama sekali tidak ditampil dalam urutan tertentu.

INPUT

SELECT nama

FROM Mhs;

OUTPUT

nama

--------

Sofyan

Reni

Ivan

Andi

Neli

Sophia

Diana

 

Kenyataannya, data yang diambil ditampilkan dalam urutan acak. Jika dibiarkan tidak disortir, maka data akan ditampilkan sesuai dengan apa yang tampak pada tabel pokok. Urutan itu menhadi urutan dimana data ditambakan pada tabel awalnya. Akan tetapi, jika data kemudian diperbarui atau dihapus, susunnanya akan dipengaruhi oleh bagaimana DBMS kembali menggunakan tempat penyimpanan data. Akibatnya, Anda tidak dapat mengandalkan urutan penyortiran juka Anda tidak mengontrolnya secara jelas. Teori desain database relasional menyatakan bahwa rangkaian data yang diperoleh di nilai tidak mempunyai arti jika pengurutannya tidak ditentukan dengan jelas.

 

4.2.1   Klausa ORDER BY

Untuk menyortir data yang didapatkan dengan menggunakan statemen SELECT, digunakan klausa[3] ORDER BY. ORDER BY mengambil nama dari satu  atau  beberapa  field  yang  outputnya  akan  disortir. Lihat  contoh berikut ini :

INPUT

SELECT nama

FROM Mhs

ORDER BY nama;

ANALYSIS

Statemen ini serupa dengan statemen sebelumnya, ORDER BY diatas memerintahkan software DBMS untuk menyortir data dengan field nama. Hasilnya sebagai berikut :

OUTPUT

nama 

------

Andi 

Fitria

Ivan 

Neli 

Reni 

Sofyan

Sophia

 

Letak klausa ORDER BY pastikan bahwa itu klausa terakhir dalam statemen SELECT, jika tidak, akan terjadi error. Dipilih field-field yang digunakan dalam klausa ORDER BY sering akan menjadi field yang dipilih untuk ditampilkan, tetapi sebenarnya itu tidak harus. Aturannya adalah menyortir/memiliah data berdasarkan field yang tidak diambil/terdaftar.

 

4.2.2   Menyortir Berdasarkan Banyak Field

Menyortir/memilah data berdasarkan lebih dari satu field sering kali diperlukan. Sebagai contoh, jika Anda akan menampilkan daftar karyawan mungkin Anda perlu menampilkan data tersebut berdasarkan nama belakang atau nama depan (pertama berdasarkan nama depan, kemudian setiap nama belakang ditampilkan berdasarkan nama depan). Hal ini berguna jika ada banyak karyawan dengan nama belakang yang sama.

Utuk menyortir berdasarkan banyak field, tentukan nama-nama field yang dipisahkan dengan koma (seperti yang Anda lakukan pada saat Anda memilih beberapa field).

Contoh berikut memanggil tiga field dan menyortir hasilnya berdasarkan dua diantaranya, yaitu berdasarkan kota dan kemudian berdasarkan nama.

INPUT

SELECT nim, nama, kota

FROM Mhs

ORDER BY kota,  nama

OUTPUT

nim         nama        kota 

---         ----        ---- 

9703044     Fitria      Bandung    

9703025     Reni        Bandung    

9702026     Sofyan      Bandung    

9702002     Andi        Garut

9702011     Sophia      Jakarta    

9701004     Ivan        Nias 

9701006     Neli        Pontianak  

Penting untuk diingat bahwa pada saat Anda menyortir beberapa field, maka rangkaian penyortiran ditentukan. Dengan kata lain, dengan menggunakan contoh diatas, field nama akan disortir berdasarkan field nama saja (jika nilai field kota ada yang sama). Jika semua nilai dalam field kota berbeda, maka tidak ada data yang disortir berdasarkan field nama.

 

4.2.3   Menyortir Berdasarkan Letak Field

Selain dapat menentukan urutan penyortiran dengan menggunakan nama field, ORDER BY juga mendukung pengurutan berdasarkan letak field relatif. Cara terbaik untuk memahami hal ini adalah dengan memperhatikan contoh berikut :

INPUT

SELECT nim, nama, kota

FROM Mhs

ORDER BY 3, 2;

OUTPUT

nim         nama        kota 

---         ----        ---- 

9703044     Fitria      Bandung    

9703025     Reni        Bandung    

9702026     Sofyan      Bandung    

9702002     Andi        Garut

9702011     Sophia      Jakarta    

9701004     Ivan        Nias 

ANALYSIS

Seperti dapat Anda lihat, hasilnya sama dengan pernyataan diatas. Perbedaannya adalah pada klausa ORDER BY. Daripada menentukan nama field, lebih baik menentukan posisi relatip dari field-field yang dipilih dalam daftar SELECT. ORDER BY 3 artinya menyortir data berdasarkan field ke 2 dalam daftar SELECT. ORDER BY 3, 2 artinya menyotir berdasarkan kota kemudian berdasarkan nama.

Keuntungan utama dari cara ini adalah mengurangi pengetikan kembali nama-nama field. Kelemahannya, gampang sekali terjadi kesalahan dalam mengurutkan data, ketika membuat perubahan pada daftar SELECT.

 

4.2.4   Menentukan Urutan Penyortiran

Penyortiran data tidak terbatas hanya untuk menyusun urutan penyortiran (dari A ke Z). Meskipun merupakan urutan penyortiran default, klausa ORDER BY juga dapat digunakan untuk menyortir dengan urutan decending (dari Z ke A). Untuk melakukannya keyword DESC harus ditempatkan.

Berikut ini contoh menyortir dalam susunan descending :

 

INPUT

SELECT nim, nama, kota

FROM Mhs

ORDER BY kota DESC, nama;

OUTPUT

nim         nama        kota 

---         ----        ---- 

9701006     Neli        Pontianak  

9701004     Ivan        Nias 

9702011     Sophia      Jakarta    

9702002     Andi        Garut

9703044     Fitria      Bandung    

9703025     Reni        Bandung    

9702026     Sofyan      Bandung

 

Keyword DESC hanya akan digunakan pada nama field yang langsung mendahuluinya. Pada contoh diatas, DESC ditentukan untuk field kota, dan bukan untuk field nama. Untuk itu field kota disortir berdasaran susunan descending, tetapi untuk field nama (berdasarkan setiap kota) tetap disortir berdasarkan susunan standar yang ascending.

DESC adalah kependekan dari DESCENDING. dan keduanya dapat digunakan. Lawan dari DESC adalah ASC (ASCENDING), untuk menyortir dengan susunan kertas/ascending. Dalam prakteknya ASC biasanya tidak digunakan karena ASC adalah rangkaian default (dengan asumsi tidak satupun dari ASC atau DESC ditentukan).
 
 
Keyword adalah kata yang merupakan bagian dari bahasa SQL. Jangan pernah menamai sebuah tabel atau field dengan menggunakan keyword.
 
Hati-Hati dengan Tanda Koma. Ketika memilih beberapa field, pastikan untuk menempatkan tanda koma di antara setiap nama field, tetapi tidak setelah nama field terakhir karena akan menimbulkan kesalahaan
 
Klausa. Statemen SQL terdiri dari klausa-klausa, beberapa diantaranya harus dan lainnya opsional. Klausa biasanya terdiri dari keyword dan data yang disediakan. Contoh untuk hal ini adalah klausa FROM untuk statemen SELECT, seperti yang Anda lliha diatas.
Comments (1)Add Comment
0
...
written by Marjorie, March 28, 2011
This is a good blog message, I will keep the post in my mind. If you can add more video and pictures can be much better.shaws jewelry store]http://kayjewelerslocations.wordpress.com/2011/03/17/pamper-yourself-by-getting-the-perfect-bracelet/]shaws jewelry store
Because they help much clear nderstanding.

Write comment

busy