Senin, 13 Oktober 2014

LAPORAN PRAKTIKUM DASAIN BASIS DATA



BAB IV

PENGENALAN OPERATOR DASAR

      A.     Dasar Teori

Operator dasar merupakan sebuah perintah dasar yang bisa digunakan untuk mengekspresikan suatu kondisi. Operator dasar pada MySQL berdasarkan fungsinya dapat dikategorikan menjadi sebagai berikut:

·         Operator Aritmatik

Operator
fungsi
keterangan
+
Penambah
Melakukan penjumlahan pada operasi matematika.
-
Pengurang
Melakukan pengurangan pada operasi matematika.
*
Pengali
Melakukan perkalian pada operasi matematika.
/
pembagi
Melakukan pembagian pada operasi matematika.
%
Sisa bagi (modulus)
Melakukan proses modulus pada operasi matematika.



·         Operator Logika

Operator
fungsi
Keterangan
NOT atau !
Sebagai negasi atau pembalik nilai.
NOT perempuan, !perempuan (berarti laki-laki).
OR atau ||
Atau
Nilai menjadi benar (TRUE) jika salah satu nilai adalah benar.
Contoh :
Mangga OR jambu,
Merah || Kuning
AND or &&
Dan
Nilai menjadi benar (TRUE) jika kedua nillai adalah benar.
Contoh :
Baju AND celana, Piring && Mangkok



·         Operator Pembanding

operator
keterangan
Contoh
=
Sama dengan (memiliki kesamaan dengan)
Nama = “amin”
Harga = 1000
Lebih besar
Diskon > 500
Tinggi > 180
Lebih kecil
Tebal < 10
Lebar < 5
>=
Lebih besar atau sama dengan
Diskon >= 500
Tinggi >= 180
<=
Lebih kecil atau sama dengan
Tebal <= 10
Lebar <= 5
!=
Tidak sama dengan
Nama !=”Amin”
Diskon !=500
<> 
Tidak sama dengan
Nama <> “Amin”
Diskon <> 500
IS NOT NULL
Apakah semua nilai adalah tidak NULL?
Nama IS NOT NULL
(Apakah nama di isi atau kosong?)
IS NULL
Apakah sebuah nilai adalah NULL
Nama IS NULL
(Nama Dikosongkan)
BETWEEN
Apakah sebuah nilai diantara dua batasan nilai?
Harga BETWEEN 1000 AND 2000
IN
Apakah sebuah nilai berada di dalam pilihan yang ada?
Nama IN (“Amin”,”Aman”)
NOT IN
Apakah sebuah nilai tidak berada di dalam pilihan yang ada?
Nama NOT IN (“Amin”,”Aman”)
LIKE
Apakah sebuah nilai mirip dengan kriteria tertentu?
Nama LIKE (“Am%”)
NOT LIKE
Apakah sebuah nilai tidak mirip dengan kriteria tertentu?
Nama NOT LIKE (“Am%”)
REGEXP
Singkatan dari “Regular Expression”. NIlai menjadi benar (TRUE) bila nilai a sama dengan nilai b.
A REGEXP b
NOT REGEXP
Nilai menjadi benar bila nilai benar-benar tidak sama dengan nilai b.
A NOT REGEXP b
ó
Nilai menjadi benar bila kedua nilai yang dibandingkan adalah sama. Dan ini juga berlaku untuk NULL.
A ó b


Berikut tadi adalah operator dasar pada MySQL yang sudah dikelompokkan berdasarkan fungsinya. Kali ini yang akan kita pelajari adalah mengenai operator dasar yang berhubungan dengan manipulasi data.

1.      AS       
AS bisa digunakan untuk menampilkan label kolom dengan nama lain sehingga yang akan mucul 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;

2.      AND dan OR        
Pada bagian sebelumnya kita menggunakan anak kalimat atau sintaks WHERE hanya pada kontes 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 stadar logika Boolean three-valued seperti pada table berikut:


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 querynya untuk menampilkan data :  
SELECT * FROM namatabel WHERE namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’;
Atau
SELECT * FROM namatable WHERE namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’; 

3.      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" identic dengan "a >= x AND a <= y" 
- "a BETWEEN x AND y" identic dengan "a < x OR a > y"
Berikut Struktur Query yang digunakan :
SELECT * FROM [Nama Tabel] WHERE [Nama Kolom] BETWEEN '[Nilai Awal]' OR '[Nilai Akhir]'; 

4.  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.

 
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 SQL untuk pencarian menggunakan LIKE :
  SELECT * FROM [Nama Tabel] WHERE [Nama Kolom] LIKE '[Operator]';  

 5.  DISTINCT
      DISTINCT sering kali diperlukan untuk mengembalikan hasil dari sebuah query dengan tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan dan meskipun pada data sesungguhnya sangat mungkin banyak duplikasi. al ini juga berlaku jika data yang ada dalam bentuk angka.
Berikut Struktur SQL untuk DISTINCT :
SELECT DISTINCT [Nama Kolom] FROM [Nama Tabel];

6. 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 OOFSET digunakan untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada OFFSET 
Berikut struktur SQL untuk LIMIT
SELECT * FROM [Nama Tabel] ORDER BY [Nama Kolom] LIMIT 2;
 
7.  REGEXP 
     Regular Expression atau Regex, merupakan sebuah teknik atau cara untuk mencari persamaan - presamaan string atau data dan memani pulasinya. Biasanya lebih sering digunakan untuk string. Didalam Postgre SQL disimbolkan dengan “~”. Berikut struktur SQL untuk pencarian data menggunakan REGEXP :
SELECT * FROM namatabel WHERE namakolom ~ 'operator_regexp dan patern';


8.  Command UNION, EXCEPT dan INTERSECT 
     Dibagian ini terdapat perbedaan antara perintah di MySQL serta PostgreSQL, yaitu pada bagian 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 dari MySQL dan PostgreSQL :

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 (PostgreSQL) :
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 (PostgreSQL) :
select nama_kolom from nama_tabel except select nama_kolom from nama_tabel; 

Sedangkan pada MySQL tidak ada perintah EXCEPT dan INTERSECT, namun digantikan dengan IN untuk INTERSECT dan NOT IN untuk EXCEPT. Syarat tabelnya harus terdiri hanya 1 field/ kolom saja.
 IN/ INTERSECT query sebagai berikut:
SELECT * FROM tabel1 WHERE nama_field IN (SELECT * FROM tabel2);
        NOT IN/ EXCEPT query sebagai berikut: 
SELECT * FROM tabel1 WHERE nama_field NOT  IN (SELECT * FROM tabel2)

      B.    Hasil Praktikum

       Gunakan tabel mahasiswa dan fakultas pada pertemuan seelumnya, kemudian tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris dengan salah satu nama adalah ‘binta’ dan insert data fakultas hingga 3 baris.

1. Berdasarkan tabel yang telah kita buat sebelumnya, menampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen. Berikut querynya
  • 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. Menampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki. Berikut query dari soal di atas.
  • select*from mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak and gender=’L'; 
  • select*from mahasiswa where id_fak=1 or gender=’L';

       

                              

3. 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. berikut querynya :

  • select*from mahasiswa where nim_mah>=3 and Nim_mah<=5;
  • select*from mahasiswa where nim_mah between 3 and 5;
  • select*from mahasiswa where nim_mah not between 3 dan 5;
  • select*from mahasiswa where nim_mah<3 or nim_mah>5;
     

4. Menampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN. Berikut query yang bisa digunakan
  • select*from mahasiswa where nim_mah in (2, 3, 5);

       

5. Menampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”. Dan 
6. Menampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”. Berikut query dari soal berikut
  • select*from mahasiswa where nama_mah like ‘a%';
  • 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. Berikut query dari operator DISTINCT
  • select distinct id_fak from mahasiswa;
     


8. Menampilkan data mahasiswa 3 baris saja, menggunakan operator LIMIT. Berikut query yang bisa digunakan

  • select*from mahasiswa limit 3;
     

9. Menampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh b atau boleh m atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti abi, amik, adik, adam dll. Gunakan operator RGEXP untuk menyelesaikan soal tersebut. Berikut query yang bisa digunakan
  • select*from mahasiswa where nama_mah regexp ‘^k[aid]‘;
      


10. Menampilkan data dari beberapa table secara UNION, INTERSECT dan EXCEPT. pertama,  buat dulu tabel baru dengan nama organ_dalam dan organ_luar. Dengan nama kolom nomor dan nama, kemudian pada organ_dalam isi tabel dengan (1, jantung), (2, paru-paru), (3, tenggorokan) kemudian pada tabel organ luar isi tabel dengan (1, hidung), (2, mata), (3, tenggorokan). Setelah modifikasi tabel tersebut dengan perintah UNION, INTERSECT dan EXCEPT

  • select nama from organ_dalam union select nama from organ_luar;
  • select*from organ_dalam where nama in (select nama from organ_luar);
  • select*from organ_dalam where nama not in (select nama from organ_luar); 
      

C.   Perbedaan antara MySQL dengan PosgreSQL
       Dari percobaan yang telah dilakukan dan dengan hasil praktikum yang telah diketahui sebelumnya maka dapat kita lihat bahwa ada beberapa perbedaan antara kedua DBMS ini, diantaranya adalah :

  • Pada operator REGEXP terdapat sedikit perbedaan antara kedua DBMS ini, pada PostgreSQL operator REGEXP dituliskan dalam bentuk simbol ( ~ ), tapi apabila dalam MySQL operator REGEXP tidak di tulis dalam simbol tetapi ditulis operatornya langsung yaitu dengan menuliskan (REGEXP) saat penulisan querynya. Berikut perbedaan query dasarnya :

          PostgreSQL
          SELECT * FROM namatabel WHERE namakolom ~ ‘keywordREGEXP';
          
          MySQL
          SELECT * FROM namatabel WHERE namakolom REGEXP ‘keywordREGEXP’ ;
 

  • Pada perintah INTERSECT dan EXCEPT juga terdapat perbedaan antara kedua DBMS ini, pada PostgreSQL kita langsung bisa mengetikkan perintah INTERSECT dan EXCEPT pada querynya, sedangkan pada MySQL, perintah INTERSECT dan EXCEPT tidak di sediakan. Jadi untuk mengoperasikan perintah ini kita bisa menggunakan operator IN untuk INTERSECT dan NOT IN untuk EXCEPT. berikut perbedaan query dasarnya :

          PostgreSQL 
- SELECT namakolom FROM namatabel EXCEPT SELECT namakolom FROM namatabel; 
- SELECT namakolom FROM namatabel INTERSECT SELECT namakolom    FROM namatabel;
         
          MySQL 
- SELECT * FROM namatabel1 WHERE syarat1 IN (SELECT * FROM namatabel2) ;  
- SELECT * FROM namatabel1 WHERE syarat1 NOT IN (SELECT * FROM namatabel2) ;
 
D.   Kesimpulan


       Dari beberapa data dan percobaan di atas menunjukkan bahwasanya dalam bab ini, yaitu bab “Pengenalan Operator Dasar”, kedua DBMS ini memiliki beberapa perbedaan diantaranya adalah pada pengoprasian REGEXP, terdapat sedikit perbedaan antara kedua DBMS ini, pada PostgreSQL operator REGEXP dituliskan dalam bentuk simbol ( ~ ), tapi apabila dalam MySQL operator REGEXP tidak di tulis dalam simbol tetapi ditulis operatornya langsung yaitu dengan menuliskan (REGEXP) saat penulisan querynya. Selanjutnya, pada perintah INTERSECT dan EXCEPT terdapat perbedaan yang sangat jauh, apabila pada PostgreSQL disediakan sendiri perintah INTERSECT dan EXCEPT, tetapi jika di MySQL perintah INTERSECT dan EXCEPT tidak di sediakan. Jadi untuk mendapatkan perintah ini kita bisa menggunakan operatop IN untuk INTERSECT dan NOT IN untuk EXCEPT.

E. Daftar Pustaka


       Bugroho, Bunafit, Administrasi Database MySQL pada server Linux dan Windows, Penerbit Graha Ilmu, 2005. 
http://myhacorp.blogspot.com/2013/02/mysql.html (tanggal akses : 13/10/2014 pukul : 20.15 WIB)
 
Tugas
Evaluasi kedua DBMS
(MySQL dan PostgreSQL)

Berdasarkan hasil praktikum dan hasil percobaan di atas, mulai dari pengerjaan soal no 1 - 10, dapat diketahui bahwa kedua DBMS ini memiliki beberapa kesamaan dan perbedaan. misalnya pada pengerjaan soal no 1 - 8, kedua DBMS ini memiliki persamaan dalam hal query dasarnya, yakni pada pengoperasian dari operator (as, and/or, between, in/not in, like, distinc, dan limit). Sedangkan jka kita lihat pada pengerjaan soal no 9 dan 10, kita dapat menemukan perbedaan query antara MySQL dengan PostgreSQL, yakni dalam pengoperasian dari operator (REGEXP, EXCEPT dan INTERSECT ). pada DBMS PostgreSQL kita bisa mengoperasikan operator REGEXP dengan simbol (~), sedangkan pada DBMS MySQL kita tidak bisa menggunakan simbol (~), melainkan kita perlu mengetikkan REGEXP pada querynya. Serta, pada DBMS MySQL kita tidak bisa menggunakan operator EXCEPT dan INTERSECT secara langsung seperti saat kita mengoperasikannya pada DBMS PostgreSQL, melainkan kita harus menggantinya dengan IN untuk (EXCEPT) dan NOT IN untuk (INTERSECT). kedua DBMS ini juga memiliki kelebihan dan kekurangan masing-masing, baik dalam hal querynya ataupun dalam hal yang lainnya.
 
  




2 comments:

materi masih kurang...coba ambil dari reverensi lain juga
...no 6 coba pekek like... '__n%a' ...

secara keseluruhan bagus...

semangat...CHANGE

planet win 365 planet win 365 fun88 fun88 bk8 bk8 カジノ シークレット カジノ シークレット 1xbet 1xbet william hill william hill 920

Posting Komentar