PENGENALAN OPERATOR DASAR
A.
Landasan
Teori
Dalam praktikum
ini akan membahas mengenai bagaimana cara melakukan pengambilan data dari suatu
tabel di dalam database. SQL adalah bahasa standar dalam basis data yang digunakan untuk melakukan manipulasi data. Standarisasi bahasa dilkukan oleh ANSI tahun 86,89,92 dan 99, dimana tiap perubahan tahun dilakukan peningkatan kemampuan SQL. Pada perkembangan saat ini standar yang paling banyak digunakan adalah standar ANSI 92. Hampir semua DBMS menggunakan SQL sebagai fasislitas memanipulasi data.
1.
Mengenal
Perintah Select
Untuk mengambil dan menampilkan data dari database, maka perlu
menggunakan peintah SELECT.
Perintah ini merupakan perintah yang sangat penting dalam SQL. Dengan perintah
SELECT, dapat mengambil baris-baris data dari suatu tabel atau lebih.
Sintaks umum penggunaan perintah SELECT adalah
select <nama kolom1>,<nama kolom2>,... from <nama
tabel> where <kondisi>.
·
Group
by <nama kolom untuk mengelompokan>
·
Having
< kondisi pengelompokkan>
·
Order
By <nama kolom untuk mengurutkan>
·
Limit
<nilai untuk membatasi data>
Perintah SELECT memiliki beberapa klausa yang bersifat opsional.
Ini berarti bahwa kita dapat menggunakan bagian tersebut atau tidak. Namun
terlepas dari konteks digunakan atau tidaknya, urutan penempatan perintah harus
sesuai dengan bentuk umum. Sebagai contoh , klusa LIMIT tidak dapat ditemptkan
sebeleum klusa WHERE.
a.
Menggunakan
AS atau alias
AS biasa digunakan untuk menampilkan label kolom dengan nama lain
sehingga yang muncul dalam hasil query bukan nama asli kolom, tetapi nama
yang mungkin lebih sesuai dan mudah
dimengerti . AS digunakan setelah nama kolom yang akan diganti kemudian diikuti
dengan nama penggantinya.
Query dengan 1 kolom :
select <nama kolom> as
<namakolom pengganti> from <nama tabel>.
Query dengan banyak kolom :
select <nama kolom1> as <nama penggnti1>, <nama
kolom2> as <nama pengganti2> ,[dst] from <nama tabel>.
b.
Menggunakan
AND dan OR
Pada bagian sebelumnya kita menggunakan anak kalimat atau sintaks
WHERE hanya pada konteks yang sederhana. Berikut query menggunakan WHERE untuk
konteks yang lebih kompleks lagi, anak kalimat where yang kompleks akan
bekerja dengan baik dengan menggunakan kata AND dan OR.
SQL menggunakan standar logika boolean three-valued seperti
pada ytabel beriku :
Kondisi A
|
Kondisi B
|
A AND B
|
A OR B
|
True
|
True
|
True
|
True
|
True
|
False
|
False
|
True
|
True
|
Null
|
Null
|
True
|
False
|
False
|
False
|
False
|
False
|
Null
|
False
|
Null
|
Null
|
Null
|
Null
|
Null
|
A
|
Not A
|
True
|
False
|
False
|
True
|
Null
|
Null
|
Berikut adalah struktur query And dan OR
select * from <nama tabel> where namakolom = 'pencarian1' and
namakolom = 'pencarian2';
atau
select * from <nama tabel> where namakolom = 'pencarian1' or
namakolom = 'pencarian2';
c.
Menggunakan
BETWEEN
Untuk menampilkan data yang
berada di dalam rentang nilai tertentu, perlu menggunakan BETWEEN. . . AND
dalam kondisi yang kita definisikan. Nilai rentang dapat diambil dari suatu
kolom tertentu, biasanya berupa kolom yang bertipe numerik.
Berikut ini contoh penggunaan BETWEEN . . . AND;
Select * from <nama tabel>
where <nama_kolom> between 'nilai awal' and 'nilai akhir';
Query tanpa menggunakan between
Select * from <nama tabel>
where [nama_kolom] >='nilai awal' and [nama_kolom]<='nilai akhir';
Contoh penggunaan NOT
BETWEEN . . . OR;
Select * from <nama tabel>
where <nama_kolom> not between 'nilai awal' and 'nilai akhir';
Query tanpa menggunakan between
Select * from <nama tabel>
where [nama_kolom] < 'nilai awal' or [nama_kolom] > 'nilai akhir';
d.
Menggunakan
Operator IN dan NOT IN
Operator IN berguna dalam melakukan pencocokan dengan salah satu
yang ada pada suatu daftar nilai. Berikut sintaks umum yang sering digunakan :
select * from <namatabel> where <nama_kolom> in
(katakunci1, katakunci2, katakunci3, [dst]);
e.
Menggunakan
Operator LIKE
LIKE digunakan ketika ingin mencari sebuah data yang hanya diwakili
oleh salah satu atau lebih hurufnya saja. Misalkan ingin mencari nama yang
huruf awlnya R, maka harus menggunakan LIKE. Berikut Contoh kasus:
Kasus
|
Operator
|
Diawali dengan huruf A
|
LIKE 'A%'
|
Diakhiri dengan huruf A
|
LIKE '%D'
|
Huruf A pada posisi ke dua
|
LIKE 'A%'
|
Diawali dengan huruf A dan mengandung huruf I
|
LIKE 'A%I%'
|
Tidak diawali dengan huruf A
|
NOT LIKE 'A%'
|
Berikut struktur untuk pencarian data menggunakan LIKE
select * from <nama_tabel> where <nama_kolom> like
'operator';.
f.
Menggunakan
Operator REGEXP
Regular Ekspression atau REGEXP, merupakan sebuah teknik atau cara
untuk mencari persamaan-persamaan string data dan memanipulasnya. Biasanya
lebih sering digunakan untuk string. PostgreSQL disimbolkan dengan
"~" sedangkan MYSQL "Regexp".
Berikut struktur untuk pencarian data menggunakan REGEXP :
select * from <namatabel> where <namakolom>
~'operator_regexp dan pattern';
g.
Menggunakan
Operator Distinct
Jika suatu query (perintah SELECT) menghasilkan jumlah baris data
yang mengandung baris-baris data yang sama, maka dapat menghilangkan duplikat
dari baris-baris tersebut dengan menyertakan kata kunci DISTINCT setelah
perintah SELECT.
SELECT DISTINCT <. . .>
h.
Menggunakan
Operator LIMIT
MySQL mendukung klausa LIMIT di dalam penggunaan perintah SELECT,
yang akan meminta server MySQL untuk mengembalikan sejumlah data yang
diinginkan saja. Dengan kata lain, jumlah baris data yang ditampilkan dapat
dibatasi sesuai kebutuhan.
Dalam penggunaannya. LIMIT dapat memiliki satu atau dua buah
argumen:
·
LIMIT <jumlah data>
·
LIMIT
<jumlah data yang diabaikan>,<jumlah data>
Perlu diperhatikan bahwa argumen yang digunakan dalam LIMIT harus
berupa konstanta yang bertipe bilangan bulat (integer), tidak bisa berupa
ekspresi, variabel, atau sejenisnya
select * from <nama_tabel> limit 2;
Atau
select * from< nama_tabel> offset 2; ( digunakan dalam PostgreSQL)
i.
Menggunakan
Operator UNION, EXCEPT, DAN INTERSECT
Hasil dari dua buah query dapat dikombinasikan dengan menggunakan
UNION, EXCEPT atau INTERSECT.
o
UNION
digunakan untuk menggabungkan hasil dua buah query menjadi 1 kolom, Berikut
hasil query:
select
<nama_kolom> from <nama_tabel> union select <nama_kolom> from
<nama_tabel>;
atau
select
<nama_kolom> from <nama_tabel> union all select <nama_kolom>
from <nama_tabel>;
o Except
digunakan untuk menampilkan hanya query pertama saja, sedangkan hasil query
kedua dan ketiga yang sama dengan hasil query kedua tidak ditampilkan. Berikut
struktur query PostgreSql
select
<namakolom> from <namatabel> except select <namakolom> from
<namatabel>;
MySQL
select
<namakolom> from <namatabel> not in select <namakolom> from
<namatabel>;
o Perintah
INTERSECT hanya akan menampilkan seluruh isi dari data yang memiliki kesamaan
dintara hasil kedua query tersebut. Berikut struktur query penggunaan INTERSECT
:
select
<nama_kolom> from <nama_tabel> except select <nama_kolom>
from <nama_tabel>;
MySQL
select
<nama_kolom> from <nama_tabel> in except select <nama_kolom>
from <nama_tabel>;
B.
Tujuan
1)
Mahasiswa
memahami operator dasar dalam standart query SQL
2)
Mahasiswa
memahami cara penggunaan operator dasar dalam hal manipulasi data.
C.
Hasil
Praktikum
1)
Versi
PostgreSQL
Berikut ini tampilan awal psql. Tekan "Enter" jika
servernya "localhost
Tekan"enter"
jika muncul "database [postgres] :"
Tekan "enter" jika nomor portnya
5432.
Tekan 'Enter'
dengan mengisi username-nya 'postgres' lalu tekan enter.
Isikan password
sesui dengan password saat instalasi.
koneksikan
database dengan user menggunakan query "\c [nama database]".
kemudian akan muncul seperti berikut ini.
Pertama kita harus menambah kolom gender pada tabel mahasiswa
kemudian update kolom gender pada tabel mahasiswa.
karena pada tabel fakultas hanya ada nama fakultas Psikologi, jadi
kita harus memasukkan data nama fakultas pada tabel fakultas untuk menjawab soal di modul.
kemudian Insert data mahasiswa sebanyak 7 mahasiswa
o
Berdasarkan
tabel sebelumnya yaitu pada bab 3, tampilkan data mahasiswa dengan nama dari
kolomnya berubah menjadi nomor_identitas, nama, alamat, nama_fakultas tanpa
harus merubah nama kolom secara permanen. Menggunakan operator AS.
o
Tampilkan
nama mahasiswa fakultas Saintek yang berjenis kelamin laki-laki. Operator AND
kemudian tampilkan nama mahasiswa fakultas saintek atau berjeni
kelamin laki-laki. Operator OR
sebelum itu kita harus mengurutkan data berdasarkan nim_mah (nim
mahasiswa). ASC
o
Suatu
tabel mahasiswa terdapat 7 baris data mahasiwa. Tampilkan data mahasiswa dari
nomor 3-5 menggunakan between.
Tampilkan data mahasiswa dari nomor 3-5 tanpa between.
Tampilkan data mahasiswa bukan dari nomor 3-5 menggunakan between.
Tampilkan data mahasiswa bukan dari nomor 3-5 tanpa menggunakan
between
o
Tampilkan
mahasiswa dengan nomor 2,3,5 menggunakan operator IN
o
Tampilkan
semua data mahasiswa yang namanya mempunyai awalan huruf "a". Operator
LIKE
o
Tampilkan
semua data mahasiswa yang namanya mempunyai akhiran "a" dan huruf
ke-3 dari nama tersebut terdapat huruf "n". Operator LIKE
o
Tampilkan
nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari
baris pertama sampai akhir . Menggunakan operator DISTINCT.
o
Tampilkan
data mahasiswa 3 baris saja menggunakan operator LIMIT
o
Tampilkan
data mahasiswa dengan ciri-ciri memilki nama awalan a kemudian kata selanjutnya
boleh r atau t atau d. Misalkan yang memnuhi kriteria ciri tersebut seperti
adi, atik, arif, adam dll. Operator REGEXP
o
Buatlah
tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a)
Tabel
organ_dalam
Nomor
|
Nama
|
1
|
Jantung
|
2
|
Paru-paru
|
3
|
Tenggorokan
|
b)
Organ_luar
Nomor
|
Nama
|
1
|
Hidung
|
2
|
Mata
|
3
|
Tenggorokan
|
kemudian insert data pada kedua tabel sesuai dengan soal pada
tabel.
o
Tampilkan
data tabel dengan menggunakan operator UNION
o
Tampilkan
data tabel dengan menggunakan operator EXCEPT
o
Tampilkan
data tabel dengan menggunakan operator UNION .
2)
Versi
MySQL Shell
Berikut ini tampilan awal mysql. Isi dengan query mysql -u root.
koneksikan dengan database menggunakan query use [nama
database];
Pertama kita harus menambah kolom gender pada tabel mahasiswa
kemudian update kolom gender pada tabel mahasiswa.
karena pada tabel fakultas hanya ada nama fakultas Psikologi, jadi
kita harus memasukkan data nama fakultas pada tabel fakultas.
kemudian Insert data mahasiswa sebanyak 7 mahasiswa
o
Berdasarkan
tabel sebelumnya yaitu pada bab 3, tampilkan data mahasiswa dengan nama dari
kolomnya berubah menjadi nomor_identitas, nama, alamat, nama_fakultas tanpa
harus merubah nama kolom secara permanen. Menggunakan operator AS.
o
Tampilkan
nama mahasiswa fakultas Saintek yang berjenis kelamin laki-laki. Operator AND
kemudian tampilkan nama mahasiswa fakultas saintek atau berjeni
kelamin laki-laki. Operator OR
sebelum itu kita harus mengurutkan data berdasarkan nim_mah (nim
mahasiswa).
o
Suatu
tabel mahasiswa terdapat 7 baris data mahasiwa. Tampilkan data mahasiswa dari
nomor 3-5 menggunakan between.
Tampilkan data mahasiswa dari nomor 3-5 tanpa between.
Tampilkan data mahasiswa bukan dari nomor 3-5 menggunakan between.
Tampilkan data mahasiswa bukan dari nomor 3-5 tanpa menggunakan between
o
Tampilkan
mahasiswa dengan nomor 2,3,5 menggunakan operator IN
o
Tampilkan
semua data mahasiswa yang namanya mempunyai awalan huruf "a".
Operator LIKE
o
Tampilkan
semua data mahasiswa yang namanya mempunyai akhiran "a" dan huruf
ke-3 dari nama tersebut terdapat huruf "n". Operator LIKE
o
Tampilkan
nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari
baris pertama sampai akhir . Menggunakan operator DISTINCT.
o
Tampilkan
data mahasiswa 3 baris saja menggunakan operator LIMIT
o
Tampilkan
data mahasiswa dengan ciri-ciri memilki nama awalan a kemudian kata selanjutnya
boleh r atau t atau d. Misalkan yang memnuhi kriteria ciri tersebut seperti
adi, atik, arif, adam dll. Operator REGEXP
o
Buatlah
tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
i.
Tabel
organ_dalam
Nomor
|
Nama
|
1
|
Jantung
|
2
|
Paru-paru
|
3
|
Tenggorokan
|
ii.
Organ_luar
Nomor
|
Nama
|
1
|
Hidung
|
2
|
Mata
|
3
|
Tenggorokan
|
kemudian insert data pada kedua tabel sesuai dengan soal pada
tabel.
o
Tampilkan
data tabel dengan menggunakan operator UNION
o
Tampilkan
data tabel dengan menggunakan operator EXCEPT
o
Tampilkan
data tabel dengan menggunakan operator UNION .
D.
Tugas
Rumah
Evaluasi DBMS
MySQL dan DBMS PostgreSQL
i.
Perbedaan
Dalam praktikum tentang penegnalan operator dasar hanya terjadi
beberapa perbedaan pada penulisan query. Misalkan
·
Menampilkan
data dari tabel mahasiswa yang nama mahasiswa huruf akhirnya "a" dan
huruf ke-3 "n"
MySQL : select * from mahasiswa where nama_mah regexp 'a[rtd]';
PostgreSQL : select * from mahasiswa where nama_mah ~'a[rtd]';
·
Menampilkan
data dengan operator INTERSECT
MySQL : select * from organ_dalam in select * from organ_luar;
PostgreSQL : select * from organ_dalam intersect select * from
organ_luar;
·
Menampilkan
data dengan operator EXCEPT
MySQL : select * from organ_dalam not in select * from organ_luar;
PostgreSQL : select * from organ_dalam except select * from
organ_luar;
ii.
Persamaan
Dari tugas praktikum 1-10 terjadi banyak persamaan, hanya berbeda
pada REGEXP, EXCEPT dan INTERSECT
iii.
Kelebihan
Dari praktikum 1-10 dapat dimabil manfaatnya karena dapat
memanipulasi data secara lebih detail dan rinci. Mencari data dalam database
jadi lebih mudah dengan menggunakan banyak operator yang sangat bermanfaat dan
cepat. Hal ini dapat menghemat waktu .
iv.
Kekurangan
Sintaks soal praktikum 1-10
lebih sulit karena telah mengalami perkembangan. Bahasa query nya lebih sulit dan
kebanyakan memiliki kesamaan dengan query
MySQl, ini menyebabkan pengguna mengalami kebingungan
E.
Evaluasi
Perbandingan PostgreSQL dan MySQL Shell
Berdasarkan
query-querynya :
Instruksi
|
PostgreSQL
|
MySQL
|
Operator AS
|
select <nama kolom>
as <namakolom pengganti> from <nama tabel>.
|
select <nama kolom>
as <namakolom pengganti> from <nama tabel>.
|
Operator AND
|
select * from <nama tabel> where namakolom = 'pencarian1'
and namakolom = 'pencarian2';
|
select * from <nama tabel> where namakolom = 'pencarian1'
and namakolom = 'pencarian2';
|
Operator OR
|
select * from <nama tabel> where namakolom = 'pencarian1'
or namakolom = 'pencarian2';
|
select * from <nama tabel> where namakolom = 'pencarian1'
or namakolom = 'pencarian2';
|
Between
. . . AND
|
Select * from <nama
tabel> where <nama_kolom> between
'nilai awal' and 'nilai akhir';
|
Select * from <nama
tabel> where <nama_kolom>
between 'nilai awal' and 'nilai akhir';
|
Tanpa between
(AND)
|
Select * from <nama
tabel> where [nama_kolom]
>='nilai awal' and [nama_kolom] <='nilai akhir';
|
Select * from <nama
tabel> where [nama_kolom]
>='nilai awal' and [nama_kolom] <='nilai akhir';
|
Not Between
|
Select * from <nama
tabel> where <nama_kolom> not
between 'nilai awal' and 'nilai akhir';
|
Select * from <nama
tabel> where <nama_kolom> not
between 'nilai awal' and 'nilai akhir';
|
Tanpa between
(OR)
|
Select * from <nama
tabel> where [nama_kolom] <
'nilai awal' or [nama_kolom] > 'nilai akhir';
|
Select * from <nama
tabel> where [nama_kolom] <
'nilai awal' or [nama_kolom] > 'nilai akhir';
|
Operator IN
|
select * from <namatabel>
where <nama_kolom> in (katakunci1, katakunci2, katakunci3, [dst]);
|
select * from <namatabel>
where <nama_kolom> in (katakunci1, katakunci2, katakunci3, [dst]);
|
Operator NOT
IN
|
select * from <namatabel>
where <nama_kolom> not in
(katakunci1, katakunci2, katakunci3, [dst]);
|
select * from <namatabel>
where <nama_kolom> not in
(katakunci1, katakunci2, katakunci3, [dst]);
|
Operator LIKE
|
select * from <nama_tabel>
where <nama_kolom> like 'operator';
|
select * from <nama_tabel>
where <nama_kolom> like 'operator';
|
Operator
REGEXP
|
select * from <namatabel>
where <namakolom> ~'operator_regexp dan pattern';
|
select * from <namatabel>
where <namakolom> regexp
'operator_regexp dan pattern';
|
Operator
DISTINCT
|
Select distinct <namakolom>
from <namatabel>
|
Select distinct <namakolom>
from <namatabel>
|
Operator
LIMIT
|
select * from <nama_tabel> limit 2;
|
select * from <nama_tabel> limit 2;
|
Operator
OFFSET
|
select * from< nama_tabel>
offset 2;
|
-
|
Operator UNION
|
select <nama_kolom> from
<nama_tabel> union select <nama_kolom> from <nama_tabel>;
|
select <nama_kolom> from
<nama_tabel> union select <nama_kolom> from <nama_tabel>;
|
Operator INTERSECT
|
select <nama_kolom> from
<nama_tabel> intersect select <nama_kolom> from
<nama_tabel>;
|
select <nama_kolom> from
<nama_tabel> in select <nama_kolom> from <nama_tabel>;
|
Operator EXCEPT
|
select <nama_kolom> from
<nama_tabel> except select <nama_kolom> from <nama_tabel>;
|
select <nama_kolom> from
<nama_tabel> not in select <nama_kolom> from <nama_tabel>;
|
Koneksi
database
|
\c [nama database]
|
Use [nama database]
|
Melihat
Struktur tabel
|
Desc [nama tabel]
|
\d [nama tabel]
|
Memasukkan
data pd tabel
|
Insert into <nama tabel>
values (kolom1,kolom2 dst)
|
Insert into <nama tabel>
values (kolom1,kolom2 dst)
|
F.
Kesimpulan
Dapat disimpulkan dari praktikum
tentang pengenalan operator dasar, kita terlebih dahulu harus mengenal
perintah SELECT artinya perintah yang
digunakan untuk mengambil dan menampilkan data dari database, maka perlu
menggunakan peintah SELECT.
Perintah ini merupakan perintah yang sangat penting dalam SQL. Dengan perintah
SELECT, dapat mengambil baris-baris data dari suatu tabel atau lebih. Perintah
select tersebut terdiri dari beberapa operator dasar. Antara lain AS yang
digunakan sebagai untuk menampilkan label kolom dengan nama lain sehingga yang
muncul dalam hasil query bukan nama asli kolom, tetapi nama yang mungkin lebih sesuai dan mudah dimengerti .
Yang kedua AND dan OR yang digunakan untuk mencari data dalam tabel . Ketiga
between yakni untuk menampilkan rentang data dalam nilai tertentu. Keempat
yakni IN dan NOT IN artinya menampilkan
data ada dan tidaknya dalam tabel. Kelima yakni LIKE yang digunakan dalam
mencari data dengan kondisi satu huruf saja. Keenam REGEXP yang merupakan
sebuah teknik atau cara untuk mencari persamaan-persamaan string data dan
memanipulasnya. Ketujuh Distinct yaitu untuk menampilkan agar tidak ada pendoubelan
data, Limit, Unio, Intersect dan except.
Kritik
Dalam praktiku kali ini belum ada kritik yang harus disampaikan
Saran
Tugas rumah yang sama dengan perbandingan dalam laporan menyebabkan praktikan bingung.
G.
Daftar
Pustaka
- Raharjo, Budi.Belajar Otodidak Membuat Database menggunakan MySQL.Informatika : Bandung.2011.
- Horn,John W. & Grey, Michael.MySQL : Essential Skills.McGraw : Osborne.2004.
- http://www.duniailkom.com/tutorial-belajar-mysql-pencarian-data-dari-tabel-mysql-select-like/
- http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
- https://www.scribd.com/doc/98258075/Fungsi-Union-Intersect-Dan-Except-Dbname-Angka
- http://gunchan.blogspot.com/2012/06/union-intersect-except.html





















































Tidak ada komentar:
Posting Komentar