LAPORAN
PRAKTIKUM DESAIN BASIS DATA
“Pengenalan Operator Dasar”
LANDASAN TEORI
Terdapat bermacam-macam operator
dasar dalam SQL yang digunakan untuk memanipulasi data. Berikut ini adalah
contoh dari macam-macam operator tersebut :
- AS
AS biasa
digunakan untuk menampilkan label kolom dengan nama lain sehingga yang akan
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
yang kemudian diikuti dengan nama penggantinya. Berikut struktur query nya:
select
namakolom as namakolompengganti from namatabel;
- AND dan OR
Pada bagian
sebelumnya kita menggunakan anak kalimat atau sintaks WHERE hanya pada konteks
yang sederhana. Berikut ini kita akan mencoba 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 tabel
berikut :
|
A
|
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
|
A NOT B
|
|
True
|
False
|
|
False
|
True
|
|
Null
|
Null
|
Berikut adalah struktur query nya:
select
* from namatabel where namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’;
Atau
select *
from namatabel where namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’;
- BETWEEN
BETWEEN digunakan untuk menentukan lebar
nilai dari nilai terendah dan nilai tertinggi. Pada BETWEEN menggunakan
operator pembanding seperti pada tabel berikut:
|
OPERATOR
|
PENJELASAN
|
|
<
|
Kurang dari
|
|
>
|
Lebih dari
|
|
<=
|
Kurang dari atau sama
dengan
|
|
>=
|
Lebih dari atau sama
dengan
|
|
=
|
Sama dengan
|
|
< > atau !=
|
Tidak sama
dengan
|
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’;
- IN dan NOT IN
Operator IN berguna melakukan
pencocokan dengan salah satu yang ada pada suatu daftar nilai. Berikut Struktur
yang digunakan :
Select *
from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13,
kata_kunci14);
- LIKE
LIKE
digunakan ketika kita ingin mencari sebuah data yang hanya diwakili oleh salah
satu atau lebih hurufnya saja. Misalkan kita ingin mencari nama yang huruf
awalnya R, maka kita harus menggunakan LIKE. Berikut adalah tabel
contoh kasus penggunaan LIKE :
|
KASUS
|
OPERATOR
|
|
Diawali
dengan huruf A
|
LIKE „A%‟
|
|
Diakhiri
dengan huruf A
|
LIKE
„%A‟
|
|
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 SQL untuk pencarian data menggunakan LIKE :
select *
from nama_tabel where nama_kolom like ‘operator’;
- REGEXP
Regular
Expression atau Regex, merupakan sebuah teknik atau cara untuk mencari
persamaan - presamaan string atau data dan memanipulasinya. Biasanya lebih
sering digunakan untuk string. Didalam PostgreSQL disimbolkan dengan “~”.
Berikut tabel daftar simbol pada reguler expression :
|
POLA
|
PENJELASAN
|
|
[ ]
|
Ekspresi
kurung. cocok dengan satu karakter yang berada dalam kurung, misal: pattern
"a[bcd]i" cocok dengan string "abi", "aci", dan
"adi". Penggunaan range huruf dalam kurung diperbolehkan, misal :
pattern "[a-z]" cocok dengan salah satu karakter diantara string
"a" sampai "z". pattern [0-9] cocok dengan salah satu
angka. jika ingin mencari karakter "-" juga, karakter tersebut
harus diletakkan di depan atau di belakang kelompok, misal:
"[abc-]".
|
|
[^ ]
|
Cocok
dengan sebuah karakter yang tidak ada dalam kurung, berlawanan dengan yang
diatas. misal: pattern "[^abc]" cocok dengan satu karakter apa saja
kecuali "a", "b", "c".
|
|
?
|
Cocok
dengan nol atau satu karakter sebelumnya. misal: pattern "died?"
cocok dengan string "die" dan "died".
|
|
+
|
Cocok
dengan satu atau lebih karakter sebelumnya. misal: "yu+k" cocok
dengan "yuk", "yuuk", "yuuuk", dan seterusnya.
|
|
*
|
Cocok
dengan nol atau lebih karakter sebelumnya. misal: pattern "hu*p"
cocok dengan string "hp", "hup", "huup" dan
seterusnya.
|
|
{x}
|
Cocok
dengan karakter sebelumnya sejumlah x karakter. misal: pattern
"[0-9]{3}" cocok dengan bilangan berapa saja yang berukuran 3
digit.
|
|
{x,y}
|
Cocok
dengan karakter sebelumnya sejumlah x hingga y karakter. misal: pattern
"[a-z]{3,5}" cocok dengan semua susunan huruf kecil yang terdiri
dari 3 sampai 5 huruf.
|
|
!
|
Jika
diletakkan di depan pattern, maka berarti "bukan".
misal
pattern "!a.u" cocok dengan string apa saja kecuali string
"alu", "anu", "abu", "asu",
"aiu", dan seterusnya .
|
|
^
|
Jika
diletakkan di depan pattern, akan cocok dengan awal sebuah string.
|
|
( )
|
Gruping.
digunakan untuk mengelompokkan karakter - karakter menjadi single unit.
string yang cocok dalan pattern yang berada dalam tanda kurung dapat
digunakan pada operasi berikutnya. semacam variable.
|
|
$
|
Jika
diletakkan di belakang pattern, akan cocok dengan akhir sebuah string.
|
Berikut
struktur SQL untuk pencarian data menggunakan REGEXP :
select *
from nama_tabel where nama_kolom ~ ‘operator_regexp dan patern’;
- DISTINCT
DISTINCT
sering kali diperlukan untuk mengembalikan hasil dari sebuah query dengan
tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan
data meskipun pada data sesungguhnya sangat mungkin banyak duplikasi.
Hal ini juga berlaku jika data yang
ada dalam bentuk angka. Berikut struktur perintah dasar SQL :
select
distinct nama_kolom from nama_tabel;
- LIMIT
LIMIT
dan OFFSET digunakan untuk membatasi jumlah output dari query berdasarkan
jumlah row bukan karena kondisi seperti WHERE. Bisa dikatakan LIMIT adalah
untuk menentukan jumlah baris yang akan ditampilkan yang dihitung dari baris
pertama, sedangkan OFFSET digunakan untuk menghilangkan baris sesuai dengan
jumlah yang diberikan pada OFFSET. Berikut struktur perintah dasar SQL :
select
* from nama_tabel limit 2;
Atau
select *
from nama_tabel offset 2;
- UNION, EXCEPT dan INTERSECT
Hasil
dari dua buah query dapat dikombinasikan dengan menggunakan UNION, EXCEPT atau
INTERSECT. UNION digunakan untuk menggabungkan hasil dua buah query menjadi
satu kolom. Berikut struktur query untuk UNION :
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
struktur query penggunaan EXCEPT :
select
nama_kolom from nama_tabel except select nama_kolom from nama_tabel;
Perintah
INTERSECT hanya akan menampilkan seluruh isi dari data yangmemiliki kesaman
diantara hasil kedua query tersebut. Berikut struktur query penggunaan
INTERSECT :
select
nama_kolom from nama_tabel except select nama_kolom from nama_tabel;
Dari uraian materi tentang UNION,
EXCEPT dan INTERSECT dapat digambarkan sebagai berikut :
Gambar diatas menyatakan UNION yaitu gabungan dari kedua buah
object.
Sedangan
gambar kedua menyatakan EXCEPT dimana object yang diambil hanya yang kuning.
Sehingga object yang merah atau object kuning yang sama dengan object merah
tidak diambil.
Gambar ke tiga menyatakan INTERSECT yaitu mengambil object
yang berwarna hijau atau object memiliki kandungan dari object kuning dan
merah.
LANGKAH KERJA
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
|
Nomor
|
Nama
|
|
1
|
Jantung
|
|
2
|
Paru-paru
|
|
3
|
Tenggorokan
|
b. Tabel organ_luar
|
Nomor
|
Nama
|
|
1
|
Hidung
|
|
2
|
Mata
|
|
3
|
Tenggorokan
|
HASIL PERCOBAAN
Pada praktikum
kali ini kita menggunakan tabel mahasiswa dan fakultas yang telah kita buat di
pertemuan kemarin. Pertama kita menambahkan satu kolom, yaitu kolom gender ke
dalam tabel mahasiswa. Kemudian kita mengubah isi data yang kita buat dengan
menambahkan gender pada data tersebut dengan perintah UPDATE. Setelah itu, kita
memasukkan data ke dalam tabel fakultas sampai 3 baris dan ke dalam tabel
mahasiswa sampai 7 baris. Caranya adalah sebagai berikut :
SQL SHELL :
MYSQL :
Membuat
kolom gender
Mengupdate isi tabel
Memasukkan data
Isi tabel
Menampilkan data mahasiswa dengan nama dari kolomnya berubah
menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama
kolom secara permanen.
SQL SHELL :
MYSQL :
Menampilkan nama mahasiswa fakultas saintek yang berjenis
kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis
kelamin laki-laki.
SQL SHELL :
MYSQL :
AND
OR
Suatu tabel mahasiswa terdapat 7 baris data mahasiswa.
Menampilkan 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.
SQL SHELL :
MYSQL :
BETWEEN
NOT BETWEEN
TANPA BETWEEN
Menampilkan
mahasiswa dengan nomor 2,3,5 menggunakan operator IN.
SQL
SHELL :
MYSQL
:
Menampilkan
semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
SQL
SHELL :
MYSQL :
Menampilkan semua data mahasiswa yang namanya mempunyai
akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
SQL SHELL :
MYSQL :
Menampilkan nomor fakultas di tabel mahasiswa dengan nomor
harus tidak ada yang sama dari baris pertama sampai akhir.
SQL SHELL :
MYSQL :
Menampilkan data mahasiswa 3 baris saja.
SQL SHELL :
MYSQL :
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.
SQL SHELL :
MYSQL :
Membuat
tabel dengan nama organ_dalam dan organ_luar. Lalu menampilkan data dari kedua
tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT.
SQL SHELL :
MYSQL :
Membuat tabel
organ dalam
Membuat tabel
organ luar
UNION
PERBANDINGAN ANTARA SQL SHELL DENGAN MYSQL
- Dalam MySQL kita bisa memasukkan beberapa perintah INSERT sekaligus dalam query window, lalu kemudian baru dieksekusi. Sedangkan pada SQL Shell, kita hanya bisa memasukkan satu perintah INSERT, lalu dieksekusi.
- Dalam SQL Shell kita tidak perlu berpindah-pindah ke query window karena hasil query langsung dieksekusi dan berada di window yang sama. Sedangkan dalam MySQL, kita harus berpindah-pindah ke query window setelah mengeksekusi suatu query, contohnya seperti perintah SELECT.
- Terdapat perbedaan query pada operator REGEXP. Dalam SQL Shell, kita menuliskan operator REGEXP dengan menggunakan simbol (~). Namun dalam MySQL kita tidak bisa menggunakan operator tersebut. Kita harus menuliskan kata REGEXP dalam query operator tersebut.
- Dalam SQL Shell, kita dapat menggunakan operator UNION, EXCEPT, dan INTERSECT. Namun dalam MySQL kita hanya bisa menggunakan operator UNION saja. Sedangkan untuk EXCEPT dan INTERSECT tidak bisa. Untuk menggunakan perintah tersebut ada query lain, yaitu :
EXCEPT :
SELECT
* FROM namatabel1 WHERE syarat NOT IN (SELECT * FROM namatabel2);
INTERSECT :
SELECT
* FROM namatabel1 WHERE syarat IN (SELECT * namatabel2);
KESIMPULAN
Ada bermacam-macam
perintah operator SQL. Berikut ini adalah beberapa macam perintah tersebut
berikut fungsinya :
- AS
AS biasa
digunakan untuk menampilkan label kolom dengan nama lain sehingga yang akan
muncul dalam hasil query bukan nama asli kolom, tetapi nama yang mungkin lebih
sesuai dan mudah dimengerti.
- AND dan OR
- BETWEEN
BETWEEN digunakan untuk menentukan lebar
nilai dari nilai terendah dan nilai tertinggi.
- IN dan NOT IN
Operator IN
berguna melakukan pencocokan dengan salah satu yang ada pada suatu daftar
nilai.
- LIKE
LIKE
digunakan ketika kita ingin mencari sebuah data yang hanya diwakili oleh salah
satu atau lebih hurufnya saja.
- REGEXP
Regular
Expression atau Regex, merupakan sebuah teknik atau cara untuk mencari
persamaan - presamaan string atau data dan memanipulasinya. Biasanya lebih
sering digunakan untuk string.
- DISTINCT
DISTINCT
sering kali diperlukan untuk mengembalikan hasil dari sebuah query dengan
tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan
data meskipun pada data sesungguhnya sangat mungkin banyak duplikasi.
- LIMIT
LIMIT dan
OFFSET digunakan untuk membatasi jumlah output dari query berdasarkan jumlah
row bukan karena kondisi seperti WHERE.
- UNION, EXCEPT dan INTERSECT
UNION
digunakan untuk menggabungkan hasil dua buah query menjadi satu kolom. EXCEPT
digunakan untuk menampilkan hanya query pertama saja, sedangkan hasil query
kedua dan yang sama dengan hasil query kedua tidak akan ditampilkan. Perintah
INTERSECT hanya akan menampilkan seluruh isi dari data yangmemiliki kesaman
diantara hasil kedua query tersebut.
KRITIK
Penulis
tidak menunjukkan contoh dari penggunaan operator EXCEPT dan INTERSECT pada
MySQL. Penulis hanya menunjukkan struktur querynya saja.
SARAN
Penulis harap
menambahkan contoh penggunaan operator EXCEPT dan INTERSECT, bukan hanya query nya
saja.
MANFAAT
- Pembaca memahami operator dasar dalam standar query sql.
- Pembaca memahami cara penggunaan operator dasar dalam hal manipulasi data.















.png)
.png)
.png)


















Tidak ada komentar:
Posting Komentar