Pages

LAPORAN PRAKTIKUM DESAIN BASIS DATA IV (Pengenalan Operator Dasar)

Alhamdulillah, sudah menginjak praktikum modul ke 5
Bismillah, semoga laporan kali ini bisa bermanfaat, bisa memuaskan hati penilai hehe :D
Here we go !!


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
Operator
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%‟
select * from nama_tabel where nama_kolom like ‘operator’;



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.

Operator Regular Expression
MySQL menggunakan 3 operator untuk REGEX ini :
  1. REGEXP : melakukan pencocokan pola (pattern matching) menggunakan Regular Expresssion.
  2. NOT REGEXP : negasi dari REGEXP.
  3. RLIKE : sama dengan REGEXP.
Syntax :

expression [NOT] REGEXP expression
atau
expression [NOT] RLIKE expression



http://mysql.phi-integration.com/sql/fungsi-string-text/menggunakan-regular-expression-regex-pada-mysql

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
Dimana baris_awal adalah awal nomor baris yang ditampilkan, dan jumlah_baris adalah jumlah baris yang diurutkan dari baris_awal. Nomor baris pada MySQL diawali dengan nomor 0.
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 



fitri

Tidak ada komentar:

Posting Komentar

Pengunjung

Instagram