Bismillah,
semoga laporan kali ini bisa bermanfaat, bisa memuaskan hati penilai hehe :D
LAPORAN
PRAKTIKUM DESAIN BASIS DATA IV (Pengenalan Operator dasar)
Bahasan
-
Operator dasar dalam standar query sql
-
Operator dasar yang berhubungan dengan manipulasi data.
Sasaran
1.
Memahami operator dasar dalam standar query sql.
2.
Memahami cara penggunaan operator dasar dalam hal manipulasi data.
LANDASAN
TEORI
fungsi dan operator di mysql
Nama
|
Keterangan
|
Logika AND
|
|
Mengecek nilai dalam
|
|
Mengubah nilai string ke biner string
|
|
Operasi bit AND
|
|
Membalik nilai bits
|
|
Operasi bit OR
|
|
Operasi bit XOR
|
|
Operator Case
|
|
Pembagian hasil nilai Integer
|
|
Operator pembagian
|
|
Operator loiga untuk karakter NULL
|
|
Operator sama dengan
|
|
Lebih besar atau sama dengan
|
|
Perator lebih besar
|
|
Menguji nilai NOT NULL
|
|
Menguji boolean benar/salah
|
|
Mengujin nilai NULL
|
|
Menguji boolean benar/salah
|
|
Operator geser kekiri
|
|
Lebih kecil atau sama dengan
|
|
Lebih kecil
|
|
Pencocokan pola tesks /mirip
|
|
Operator pengurangan
|
|
operator modulus
|
|
Mengecak yang nilainya tidak sama dalam range
|
|
Operator tidak sama dengan
|
|
Pembanding yang tidak mirip/sama
|
|
Pembandingan pola yang tidak sama dengan ekspresi
|
|
Membalik nilai
|
|
Logika OR
|
|
Operator penambahan
|
|
Pembandingan pola yang sama dengan ekspresi
|
|
Geser kekanan
|
|
Sama dengan operator REGEXP
|
|
Times operator
|
|
Jika didepan tanda bilangan nigatif
|
|
logika XOR
|
Logical Operators
Nama
|
Keterangan
|
AND, && | Logika AND |
NOT, ! | Logika value |
||, OR | Logika OR |
XOR | Logika XOR |
1. 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 querynya :
select namakolom as
namakolompengganti from namatabel;
Berikut
struktur SQL untuk penampilan data :
select
* from namatabel where namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’;
Atau
select
* from namatabel where namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’;
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’;
Sintaks untuk IN
dan NOT IN
Select
* from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13,
kata_kunci14);
(Modul Praktikum dbd IV)
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 „%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%‟
|
Regular Expression (REGEX) adalah konstruksi bahasa untuk mencocokkan teks berdasarkan
pola tertentu, terutama untuk kasus-kasus kompleks. Contoh misalkan
mencari teks berawalan karakter tertentu, memiliki jumlah perulangan dari suatu
teks, dan lain sebagainya. Selain itu, REGEX juga sangat manjur (powerful)
terutama untuk proses penguraian kata (text parsing).
Pada artikel ini tidak akan dibahas
mengenai REGEX itu sendiri, tapi bagaimana kita menggunakannya pada statement
MySQL kita. Untuk informasi mengenai REGEX sendiri dapat dilihat pada halaman ini.
MySQL menggunakan 3 operator untuk
REGEX ini :
- REGEXP : melakukan pencocokan pola (pattern matching) menggunakan Regular Expresssion.
- NOT REGEXP : negasi dari REGEXP.
- RLIKE : sama dengan REGEXP.
Syntax :
expression [NOT] REGEXP expression
atau
expression [NOT] RLIKE expression
Menampilkan data dengan LIMIT
MySQL menyediakan pilihan opsional LIMIT untuk membatasi hasil query SELECT, format dasar query SELECT…LIMIT adalah sebagai berikut:
SELECT nama_kolom1 FROM nama_tabel WHERE kondisi LIMIT baris_awal, jumlah_baris |
http://www.duniailkom.com/tutorial-mysql-menampilkan-data-dari-tabel-mysql-select/
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;
HASIL
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.
Berikut adalah persiapannya, ada kolom nim_mah, nama_mah,
alamat_mah, id_fak, dan juga no_tlp. Untuk melengkapi kebutuhan soal
selanjutnya, kita hanya butuh menambahkan kolom gender
Untuk
menambahkan kolom gender, kita dapat menggunakan query alter yang telah
dipelajari di praktikum sebelumnya. Berikut adalah gambar untuk menabahkan
kolom gender.
Isi
terlebih dahulu kolom gender yang masih kosong pada data nim_mah 14, (data yang
telah dibuat laporan praktikum kemarin)
Beikut
adalah sintaks untuk menginsert ‘L’ pada kolom gender
Nah kalo sudah
berhasil, tampilan pada table mahasiswa akan berubah seperti berikut
Perintah
selanjutnya : Tambahkan data pada table mahasiswa sebanyak 7
Sebelumnya,
mengingat bahwa table mahasiswa memiliki foreign key (references) pada table
fakultas, maka kita harus insert pada table fakultas terlebih dahulu agar tidak
terjadi error.
Berikut
adalah query untuk memasukkan data pada table fakultas
Nah,
setelah urusan di table fakultas selesai, kita move on ke table mahasiswa,
insert datanya sebanyak 7. Berikut query nya
Selesailah
persiapan untk menjawab semua pertanyaan-pertanyaan berikutnya
Soal
no.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.
Untuk menjawab
soal nomer 1, kita hanya melakukan query berikut
Select
nim_mah as nim, nama_mah as nama, alamat_mah as alamat from mahasiswa;
Yang artinya
nim_mah dari kolom mahasiswa, akan ditampilkan sebagai nim, nama_mah akan
ditampilkan sebagai nama dan seterusnya, lebih jelasnya, bisa kita tengok
gambar berikut
Soal
no. 2 Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin
laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin
laki-laki
Langsung
saja ya, kita lakukan query berikut
Select
* from mahasiswa where id_fak=1 and gender=’L’;
Kita
mengulang pembelajaran minggu lalu yang menampilkan data tertentu dengan suatu
kondisi atau kata kunci.
Hanya
saja pada pada soal nomer 2 ini kita perlu menambahkan and untuk menambahkan kondisi lain.
Soal
no. 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.
Untuk menjawab soal diatas, kita dapat menampilkan 3 data
dengan suatu kondisi antara data satu sampai data yang diinginkan menggunakan
between dan not beetwen.
Lakukan query berikut untuk menjawab soal nomer 3
Select * from mahasiswa where nim_mah between 16 and 18;
Maka akan muncul data mahasiswa yang memiliki nim 16 sampai
18
Atau kita dapat menuliskan query berikut, yang hasilnya sama
Setelah itu, jika yang kita inginkan data mahasiswa selain
nim antara 16 sampai 18, maka lakukan query berikut :
Select * from mahasiswa where ni_mah not between 16 and 18;
Soal no. 4 Tampilkan mahasiswa dengan nomor
2,3,5 menggunakan operator IN.
Jawaban soal nomer 4, kita dapat melakukan query berikut
Select * from
mahasiswa where nim_mah in (15, 16, 17);
Maksud dari operator in dibawah ini adalah untuk menampilkan
mahasiswa yang mempunya nim tersebut
Soal no. 5 Tampilkan semua data mahasiswa yang namanya mempunyai
awalan huruf “a”.
Langsung saja jawab soal nomer 5 dengan menggunakan sintaks
like, karena soalnya menginginkan untuk menampilkan nama yang berawalan huruf
a, maka kita hanya menambakan % setelah huruf a, dalam artian a yang terletak
didepan % merupakan awalan dan % menunjukkan bahwa masih ada huruf lain setelah
huruf a. Jangan lupa tanda ‘ ‘ sebagai tanda bahwa data yang akan ditampilkan
bertipe data varchar.
Lakukan query berikut untuk melakukan percobaan :D
Select * from mahasiswa where nama_mah like ‘a%’;
Soal no. 6 Tampilkan semua data mahasiswa yang namanya mempunyai
akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
Yap, ini masih sama dengan soal no. 5, hanya saja ada dua
kondisi.
Lakukan query berikut agar lebih paham
Select * from mahasiswa where nama_mah like ‘%a’ and nama_mah
like ‘__h%’;
% yang berada didepan huruf a menunjukkan bahwa a merupakan
akhiran dan sebelum a ada huruf lain, kemudian operator __h%
menujukkan bahwa huduf h berada diposisi ketiga dan setelah huruf h
boleh terdapat huruf lain.
Selesai urusan :D
Soal no. 7 Tampilkan nomor fakultas di tabel mahasiswa dengan
nomor harus tidak ada yang sama dari baris pertama sampai akhir.
Jawabannya kita hanya perlu menambahkan distinct pada query
select
Seperti berikut
Select distict id_fak from mahasiswa;
Soal no. 8 Tampilkan data mahasiswa 3 baris saja.
Jawaban soal nomer 8, kita perlu menambahkan limit pada query
select
Dibawah ini adalah query untuk menampilkan data mahasiswa 3 baris
saja
Select * from mahasiswa limit 3;
Soal
no. 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.
Dalam mysql, kita
dapat menjawab soal no.9 dengan menggunakan regexp, regexp tersebut kita
tuliskan langsung pada query nya diikuti pola tertentu
Lakukan query
berikut unruk menjawab soal no.9
Select
* from mahasiswa where nama_mah regexp ‘a[nd]’ and nama_mah like ‘a%’;
Jika hanya
dituliskan kondisi ‘a[nd]’ dalam artian data yang muncul akan berupa semua nama
yang memiliki unsur a (baik itu ditengah maupun diawal) kemudian diikuti huruf
boleh n atau boleh d. Jadi kita memerlukan operator a dengan menggunakan query
like, untuk menampilkan data yang namanya berawalan huruf a saja.
Soal
no.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
|
Tampilkan
data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT
Untuk
menjawab soal nomer 10, kita harus membuat table dulu
Kemudian
masukkan data dengan menggunakan query insert
Sehingga
tampilannya akan seperti dibawah ini
Untuk
UNION suatu data, atau gabungannya kita dapat melakukan query berikut
Select
* from organ_luar union select * from organ_dalam;
Maka
yang akan ditampilakan adalah semua data yang ada dikedua table, namun data
yang sama hanya ditulis sekali
Berikutnya
untuk EXCEPT, kita menggunakan operator
NOT IN
Berikut adalah querynya
Select
nama from organ_dalam where nama not in (select nama from organ_luar);
Maka
yang mucul adalah data dari organ dalam yang tidak ada di organ luar
Yang
terakhir yaitu INTERSECT, kebalikannya dari EXEPCT, kita hanya menggunakan
operator IN
Berikut
adalah sintaksnya
Select
nama from organ_dalam where nama in (select nama from organ_luar);
Maka
yang akan ditampilkan adalah data yang sama dari organ luar dan organ dalam
EVALUASI
PERBEDAAN 2 DBMS
Perintah
|
MySQL
|
PostgreSQL
|
Keterangan
|
Menampilkan data dengan nama dari
kolomnya berubah
|
Select nim_mah
as nim, nama_mah as nama, alamat_mah as alamat from mahasiswa;
|
Select nim_mah
as nim, nama_mah as nama, alamat_mah as alamat from mahasiswa;
|
Sama
|
Menampilkan data mahasiswa saintek dan
berjenis kelamin laki-laki
|
select * from mahasiswa where id_fak=1
and gender='L';
|
select * from mahasiswa where id_fak=1
and gender='L';
|
Sama
|
Menampilkan data menggunakan between
|
select * from mahasiswa where nim_mah
between 16 and 18;
|
select * from mahasiswa where nim_mah
between 16 and 18;
|
Sama
|
Menampilkan data menggunakan not
between
|
select * from mahasiswa where nim_mah
not between 16 and 18;
|
select * from mahasiswa where nim_mah
not between 16 and 18;
|
Sama
|
Menampilkan data menggunakan operator IN
|
select * from mahasiswa where nim_mah
in (15, 16, 17);
|
select * from mahasiswa where nim_mah
in (15, 16, 17);
|
Sama
|
Menampilkan data yang berawalan huruf
a
|
select * from mahasiswa where nama_mah
like 'a%';
|
select * from mahasiswa where nama_mah
like 'a%';
|
sama
|
Menampilkan data yang berawalan huruf
a dan huruf ketiga n
|
select * from mahasiswa where nama_mah
like '%a' and nama_mah li
ke '__n%';
|
select * from mahasiswa where nama_mah
like '%a' and nama_mah li
ke '__n%';
|
Sama
|
Menampilkan data mahasiswa menggunakan
distinct
|
select distinct id_fak from mahasiswa;
|
select distinct id_fak from mahasiswa;
|
Sama
|
Menampilkan data mahasiswa menggunakan
limit
|
select * from mahasiswa limit 3;
|
select * from mahasiswa limit 3;
|
Sama
|
Menampilkan data mahasiswa menggunakan
operator regexp
|
select * from mahasiswa where nama_mah
regexp 's[eia]';
|
select * from mahasiswa where nama_mah
~ 's[eia]';
|
Perbedaan berada di penggunaan ~ pada
posgresql sebagai lambang regexp
|
Menampilkan data menggunakan union
|
select * from organ_luar union select
* from organ_dalam;
|
select * from organ_luar union select
* from organ_dalam;
|
Sama
|
Menampilkan data menggunakan except
|
Select nama from organ_dalam where
nama not in (select nama from organ_luar);
|
select * from organ_luar except select
* from organ_dalam;
|
Perbedaannya di Mysql tidak terdapat
except, jadi menggunakan not in
|
Menampilkan data menggunakan intersect
|
Select nama from organ_dalam where
nama in (select nama from organ_luar);
|
select * from organ_luar intersect
select * from organ_dalam;
|
Perbedaannya di Mysql tidak terdapat
intersect, jadi menggunakan not in
|
KESIMPULAN
Pada
praktikum desain basis data kali ini, kita mempelajari bagaimana menampilkan data
sesuai dengan apa yang diinginkan. Menggunakan banyak cara operator dasar
diantaranya between, not betwee, in, like, distinct, limit, regexp, union,
except, intersect dan lain-lain yang masing-masing mempunyai variasi fungsi
dalam menampilkan data.
KRITIK DAN SARAN
Dikembangkan
lagi, hehe
MANFAAT
Sangat
bermanfaat untuk system database dalam menampilkan data-data sesuai keinginan
user
DAFTAR PUSTAKA
modul praktikum desain basis data IV.pdf
http://sukesi-sukesi.blogspot.com/2013/04/fungsi-dan-operator-di-mysql.html
Tidak ada komentar:
Posting Komentar