Assalamu’alaykum saudara, bagaimana
akhir pekan kalian ? Jangan tanya balik, karna tentu saja aku sibuk buat
laporan praktikum ini :D
Baiklah
pada pertemuan kali ini, aku bakalan bahas praktikum ku yang kemarin, tentang
“PENGENALAN OPERATOR DASAR”, udah tau belum apa aja sih operator dasar yang
sering digunakan pada saat kita membuat database di mysql ?
Gampang
kok, langsung aja kita simak pembahasan ku yaa (^_^)
A. Landasan Teori
1. Operator AS
As atau alias biasa digunakan untuk
menampilkan label kolom dengan nama lain sehingga akan muncul dalam query bukan
nama asli kolom, tetapi nama yang mungkin lebih sesuai dan mudah dimengerti.
Jadi yang akan terlihat seperti nama sementara yang dimunculkan, tanpa mengubah
nama asli dari kolom. Nama panggilan kolom beserta nama kolom tersebut
sama-sama dapat diakses. Berikut query nya:
Select nama_kolom as
nama_kolom_pengganti from nama_tabel;
2. Operator AND dan OR
AND digunakan untuk melakukan pencarian dan
menampilkan data yang lebih akurat.
Dengan operator AND akan ditampikan data yang memenuhi kedua syarat yang
ditentukan. Sedangkan operator OR hanya menampilkan data yang hanya memenuhi
salah satu dari kedua syarat yang ditentukan.
SQL menggunakan standar logika boolean three-valued seperti pada
tabel berikut ;
Berikut struktur SQL nya
Select
* from nama_tabel where nama_kolom = ’pencarian1’ and nama_kolom =
’pencarian2’;
Select
* from nama_tabel where nama_kolom=’pencarian1’ or nama_kolom = ’pencarian2’;
3. Operator Between
Dalam operator ini, terjadi pembatasan pada
data yang ditampilkan. Data diberi batasan pada nilai terendah dan tertinggi.
Pada between menggunakan operator pembanding seperti tabel berikut:
Logika operator BETWEEN sebagai berikut :
·
Nilai
a dalam formula “a BETWEEN x AND y” indentik dengan “a >= x AND a
<= y“
·
“a
NOT BETWEEN x AND y “ identik dengan “a < x OR a > y”
Berikut Struktur yang digunakan :
select * from nama_tabel where nama_kolom
between ‘nilai_awal’ and ‘nilai_akhir’;
4. Operator IN dan
NOT IN
Operator ini
berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar
nilai. Berikut query nya
Select * from nama-tabel where nama_kolom
in (kata_kunci1, kata_kunci2, kata_kunci3);
5. Operator LIKE
Operator ini
menggunakan metode pencarian berdasarkan huruf awal atau huruf akhir atau
kombinasi kedua data yang diinginkan. Berikut adalah tabel contoh kasus
penggunaan LIKE:
Dan berikut sintax nya:
select
* from nama_tabel where nama_kolom like ‘operator’;
6. Operator REGEXP
Regular Expresion atau Regex, merupakan
sebuah teknik atau cara untuk mencari pwrsamaan-persamaan string atau data dan
memanipulasinya. Biasanya sering digunakan string. Di dalam postgreSQL
disimbolkan dengan “~”, sedangkan di mysql ditulis “regexp”. Berikut daftar
symbol pada regular expressions:
Berikut struktur SQL untuk pencarian data
menggunakan REGEXP :
select * from nama_tabel where nama_kolom ~
‘operator_regexp dan patern’;
7.
Operator DISTINCT
Operator ini
digunakan untuk menampilkan data tanpa duplikasi data pada suatu kolom, jika
terdapat duplikas data maka yang ditampilkan hanya satu data saja. Berikut struktur perintah dasar SQL :
select distinct nama_kolom from nama_tabel;
8.
Operator LIMIT dan OFFSET
LIMIT digunakan
untuk membatasi jumlah data yang boleh ditampilkan, sedangkan OFFSET
kebalikannya, dia akan menghilangkan jumlah data yang akan ditampilkan dan
menampilkan sisa dari data yang dihilangkan. Berikut sintax nya:
Select * from nama_tabel limit
jumlah_data_yang_ditampilkan;
Select * from nama_tabel offset
jumlah_data_yang_ditampilkan;
9.
Operator
UNION, EXCEPT dan INTERSECT
Hasil dari dua buah query dapat
dikombinasikan dengan menggunakan union, except dan intersect. Union digunakan
untuk menggabungkan hasil dari dua buah query menjadi satu kolom. Berikut
struktur query nya:
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;
Except digunakan
untuk menampilkan hanya query pertama saja, sedangkan hasil query kedua dan
yang sama dengan hasil query kedua tidak akan ditampilkan.berikut query nya:
select nama_kolom from nama_tabel except
select nama_kolom from nama_tabel;
Perintah intersect hanya akan
menampilkan seluruh isi dari data yang memiliki kesamaan diantara hasil kedua
query tersebut. Berikut struktur query nya:
select nama_kolom from nama_tabel except
select nama_kolom from nama_tabel;
B. Hasil Praktikum
Tugas Praktikum
Persiapan praktek : Gunakan tabel mahasiswa
dan fakultas pada pertemuan 3. Tambahkan kolom gender di tabel mahasiswa
kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris.
1. Berdasarkan tabel sebelumnya yaitu bab 3,
tampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi
nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom
secara permanen.
2. Tampilkan nama mahasiswa fakultas saintek
yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau
berjenis kelamin laki-laki
3. Suatu tabel mahasiswa terdapat 7 baris data
mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian
tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5
menggunakan between dan tanpa menggunakan between.
4. Tampilkan mahasiswa dengan nomor 2,3,5
menggunakan operator IN.
5. Tampilkan semua data mahasiswa yang namanya
mempunyai awalan huruf “a”.
6. Tampilkan semua data mahasiswa yang namanya
mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
7. Tampilkan nomor fakultas di tabel mahasiswa
dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.
8. Tampilkan data mahasiswa 3 baris saja.
9. Tampilkan data mahasiswa dengan ciri-ciri
memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau
boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif,
adam dll.
*Boleh dengan awalan dan ciri yang lain
namun karakteristiknya harus sesuai soal
10. Buatlah tabel dengan nama organ_dalam dan
organ_luar sebagai berikut :
a. Tabel organ_dalam
b. Tabel organ_luar
Tampilkan data dari kedua tabel tersebut
menggunakan UNION, EXCEPT dan INTERSECT
Berikut ini adalah hasil praktikum ku,
yaitu jawaban dari pertanyaan-pertanyaan di atas. Dalam hasil praktikum nanti,
aku memakai 2 DBMS yang berbeda, yaitu sql shell dari postrgreSQL dan xampp
shell dari mysql. Oke simak yaa J
Yang pertama mengunakan postgresql, dan
diteruskan dengan mysql
1. Berdasarkan tabel sebelumnya yaitu bab 3,
tambahkan dulu kolom “gender”
kemudian update data mahasiswa, input kan 7
data mahasiswa di tabel tersebut, dengan menuliskan query update mahasiswa set gender=’L’ where nim_mah=14;
Kemudian kita 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 , yaitu select
nim_mah as nomor_identitas, nama_mah as nama, alamat_mah as alamat, nama_fak as
nama_fakultas from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
2. Untuk menampilkan nama mahasiswa fakultas
saintek yang berjenis kelamin laki-laki digunakan sintax select * from mahasiswa where id_fak=65 and gender='L';
Kemudian nama mahasiswa fakultas saintek
atau berjenis kelamin laki-laki menggunakan sintax select * from mahasiswa where id_fak=65 or gender='L';
3. Menampilkan data mahasiswa dari nomor 3
sampai dengan 5, menggunakan between select
* from mahasiswa where nim_mah between 14 and 16; dan bukan between select * from mahasiswa where
nim_mah>=14 and nim_mah<=16;
Menampilkan data mahasiswa yang bukan dari
nomor 3 sampai dengan menggunakan not between select * from mahasiswa where nim_mah not between 14 and16; dan
bukan not between select * from
mahasiswa where nim-mah <14 or nim_mah>16;
4. Menampilkan mahasiswa dengan nomor 2,3,5
menggunakan operator IN, query nya adalah
select * from mahasiswa where
nim_mah in (15,16,18);
5. Menampilkan semua data mahasiswa yang namanya
mempunyai awalan huruf “a”, dengan menggunakan sintax select * from mahasiswa where nama_mah like ‘%a’;
6. Menampilkan semua data mahasiswa yang
namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf
“n” dan query nya adalah
select
* from mahasiswa where nama_mah like ‘__n%a’;
7. Menampilkan nomor fakultas di tabel
mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai
akhir, pada soal ini menggunakan query seperti berikut
Select
distinct id_fak from mahasiswa;
8. Menampilkan data mahasiswa 3 baris saja,
menggunakan query :
Select
* from mahasiswa limit 3;
9. Menampilkan data mahasiswa dengan ciri-ciri
memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau
boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif,
adam dll, pada postgreSQL menggunakan query
Select
* from mahasiswa where nama ~’a[dt]’;
Query yang digunakan pada postgreSQL
berbeda dengan pada mysql, yaitu
Select
* from mahasiswa where nama_mah regexp ‘a[dt]’;
10. Membuat tabel organ_dalam
Create
table organ_dalam (nomor integer not null, nama varchar(15);
Kemudian masukkan data pada tabel
organ_dalam
Insert
into organ_dalam values (1,’jantung’),(2,’paru-paru), (3,’tenggorokan’);
Buat tabel organ_luar, dan masukkan datanya
create
table organ_luar (nomor integer not null, nama varchar (15));
insert
into organ_luar values (1,’hidung’), (2,’mata’), (3,’tenggorokan’);
Union
Select
* from organ_dalam union select * from organ_luar;
Except
Select
* from organ_dalam except select * from organ_luar;
Terdapat perbedaan query pada mysql , yaitu
Select
* from organ_dalam where (nomor, nama) not in ( select* from organ_luar);
Intersect
Select
* from organ_dalam intersect select * from organ_luar;
Berbeda pula query di mysql, menggunakan
Select
* from organ_dalam where (nomor, nama) in (select * from organ_luar);
C. Perbandingan
dan Evaluasi 2 DBMS
Setelah melakukan percobaan tadi pada 2
DBMS yang berbeda, dapat kita ketahui bahwa hampir semua query yang ada pada
postgreSQL sama dengan query tang digunakan di mysql. Hanya saja ada beberapa
yang berbeda, seperti
1. Pada operator regexp, di postgresql, regexp
disimbolkan dengan tanda “~”
Select
* from mahasiswa where nama ~’a[dt]’;
Sedangkan pada mysql tidak dapat membaca
tanda tersebut, jadi digunakan query seperti berikut:
Select
* from mahasiswa where nama_mah regexp ‘a[dt]’;
2. pada operator except, di postgresql
dituliskan query nya menggunakan “except”
Select
* from organ_dalam except select * from organ_luar;
Dan pada mysql menggunakan query “not in”
Select
* from organ_dalam where (nomor, nama) not in ( select* from organ_luar);
3. pada operator intersect, di postgresql
dituliskan query nya menggunakan “intersect”
Select
* from organ_dalam intersect select * from organ_luar;
Dan pada mysql menggunakan query “in”
Select
* from organ_dalam where (nomor, nama) in ( select* from organ_luar);
D. Kesimpulan
dan Penutup
Operator AS : untuk
menampilkan label kolom dengan nama lain.
Operator
BETWEEN : untuk menentukan banyaknya data dengan rentang nilai tertentu
Operator
LIKE : digunakan untuk mencari suatu
data yang terdiri dari satu karakteristik satu huruf atau lebih
Operator
DISTINCT : untuk menampilkan data, dan menghindarkan dari munculnya data yang
lebih dari satu
Operator
LIMIT dan OFFSET : limit untuk membatasi tampilnya data, sedangkan offset untuk
menampilkan sisa dari limit.
Operator
UNION : untuk menggabungkan hasil dua buah query menjadi satu kolom
Operator
EXCEPT : untuk menampilkan hanya query pertama saja, sedangkan hasil query
kedua dan yang sama dengan hasil query kedua tidak akan ditampilkan.
Operator
INTERSECT hanya akan menampilkan seluruh isi dari data yang memiliki kesaman
diantara hasil kedua query tersebut.
Semoga apa yang telah ditulis di blog
ini, menjadi bermanfaat buat pembaca pada umumnya, dan penulis khususnya.
Banyak sekali kekurangan dalam pembuatan dan penyelesain laporan prakitkum ini,
untuk kritik dan saran yang membangun, kami tunggu dari kalian semua agar
menjadi lebih baik lagi. Baiklah sampai di sini dulu pembahasan kita tentang
“PENGENALAN OPERATOR DASAR”, nantikan laporan berikutnya yang tentunya tak
kalah menarik dari ini. Wassalamu’alaykum J
E. Daftar
Pustaka
Musthafa, Aziz. 2014. Modul Praktikum Desain Basis
Data. Fakultas Sains Dan
Teknologi UIN Malang.





