Saturday, October 11, 2014

Laporan Desain Basis Data 4


Laporan Praktikum 4
“Pengenalan Operator Dasar”

A.    Dasar Teori

·         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 querynya :
select namakolom as namakolompengganti from namatabel;
Contoh :


·         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 ;

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’;

Contoh :

·         BETWEEN
BETWEEN  digunakan untuk menentukan  lebar nilai dari  nilai terendah dan nilai tertinggi. Pada BETWEEN menggunakan operator pembanding seperti pada 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’;
Contoh  :  Memunculkan  data  pegawai  dimana  tanggal  lahirnya  antara  tanggal  9 -9-1999 sampai 1-1-2001.
·      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  in  (kata_kunci1,  kata_kunci2, kata_kunci13, kata_kunci14);
Contoh : menampilkan data pegawai yang memiliki ip 1,2, dan 3


·      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 :

Berikut struktur SQL untuk pencarian data menggunakan LIKE :
select * from nama_tabel where nama_kolom like  ‘operator’;
Contoh : Mencari data pegawai yang mempunyai nama dengan huruf awalan r.

·      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 :

Berikut struktur SQL untuk pencarian data menggunakan REGEXP :select  *  from  nama_tabel  where  nama_kolom  ~  ‘operator_regexp dan patern’;
Contoh :


·      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;
Contoh :


·      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;
Contoh :

·      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;
Contoh :


A.    Hasil Praktikum menggunakan Mysql
Sebelum kita menyelesaikan soal – soal dalam praktikum ke empat ini mari kita  Gunakan  tabel  mahasiswa  dan  fakultas  pada  pertemuan  3. Tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa.  Insert  data mahasiswa hingga 7 baris.
Ø  Langkah pertama kita memakai database praktikum 3 dimana telah terdapat tabel fakultas & tabel mahasiswa.
Ø  Tambahkan data fakultas ‘saintek’ dan ‘ekonomi’ pada tabel fakultas
insert into fakultas values (1,'saintek'),(2,’ekonomi’);

Ø  Tambahkan data mahasiswa menjadi 7 mahasiswa dengan menambahkan kolom gender pada data sebelumnya.
alter table mahasiswa add column gender varchar (1);
update mahasiswa set gender=’L’ where nim_mah=14;



select into mahasiswa values (11,’binta’,’jakarta’,2,08564732345,’P’), (12,’ismail’,’bojonegoro’,1,085655333232,’L’),(13,’pipit’,’jombang’,3,085733235721,’P’),(15,’arin’,’lamongan’,2,0847306926804,’P’), (17,’fatah’,’tuban’,2,085706234534,’L’);




Soal
1.      Menampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi  nomor_identitas, nama, alamat,nama_fakultas  tanpa harus merubah nama kolom secara permanen.
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.      Tampilkan  nama  mahasiswa  fakultas  saintek  yang  berjenis  kelamin  laki-laki.Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki.
select nama_mah from mahasiswa where id_fak=2 and gender='L';


select nama_mah from mahasiswa where id_fak=2 or gender='L';


3.      Menampilkan data mahasiswa dari nomor 13 sampai dengan 15, kemudian tampilkan juga data mahasiswa yang bukan dari  nomor 13 sampai  dengan 15 menggunakan  between  dan  tanpa  menggunakan between.
select * from mahasiswa where nim_mah between '13' and '15';



select * from mahasiswa where nim_mah not between '13' and '15';

select * from mahasiswa where nim_mah >= '13' and nim_mah <='15';

select *from mahasiswa where nim_mah < '13' or nim_mah >'15';


4.      Menampilkan mahasiswa dengan nomor 12,13,15 menggunakan operator IN.
select* from mahasiswa where nim_mah in(12,13,15);




5.      Menampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
select* from mahasiswa where nama_mah like'a%';



6.      Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
select* from mahasiswa where nama_mah like'__n%a';


7.      Tampilkan  nomor  fakultas  di  tabel mahasiswa dengan  nomor  harus  tidak  ada  yang sama dari baris pertama sampai akhir.
select distinct id_fak from mahasiswa;


8.      Tampilkan data mahasiswa 3 baris saja.
select * from mahasiswa limit 3;


9.      Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh n atau boleh i.
select * from mahasiswa where nama_mah regexp ~'a[rni]';


10.  Membuat tabel dengan organ_dalam dan organ_luar.
create table organ_dalam(nomor int primary key,nama varchar (20));
create table organ_luar(nomor int primary key,nama varchar (20));



insertinto organ_dalam values(1,'jantung'),(2,'paru-paru'), ('tenggorokan'); 
insert into organ_luar values(1,'hidung'),(2,'mata'),(3,'tenggokan');


Menampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT  dan INTERSECT.

a.       Union
select*from organ_dalam union select * from organ_luar;


b.      Except / not in
select*from organ_dalam where nama not in (select nama from organ_luar);




c.       Intersect/in
select*from organ_dalam where nama in (select nama from organ_luar);



C. Perbandingan ProgresmySql dan DBMSMySqlDalam beberapa operator keduanya mempunyai query yang sangat mirip bahkan sama persis, seperti pada AND,OR,AS,BEETWEN,LIMIT,IN,DISTINCT,LIKE. Tetapi keduanya memiliki perbedaan kecil ketika REGEXP,INTERSECT, dan EXCEPT. Dan berikut hasil evaluasi saya setelah praktikum dan mencoba keduanya
Postgresql
Kelebihan
·         Querynya lebih mudah dimengert,terdapat fungsi UNION,EXCEPT dan INTERSECT sendiri 
    PostgreSQL terkenal akan fitur-fitur yang disediakannya, di mana telah diketahui sejak dulu bahwa PostgreSQL mempunyai sekumpulan fitur yang kaya dan lengkap, yang mendukung transaksi, view, subselect, foreign key support, pemeriksaan, dan lain-lain. Akan tetapi PostgreSQL selama ini telah banyak memberikan keuntungan yang lebih terhadap para perusahaan atau kegiatan bisnis yang menggunakan database system ini dari pada dengan database system yang lainnya.
     Untuk menggunakan data base dan tabel query pada postgresql lebih mudah dan singkat
     Untuk mengoneksikan dan menampilkan database serta tabel dengan query lebih mudah






Kekurangan

Kurang fokus dalam hal kelangsingan dan kecepatan. arsitektur dengan multiproses ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented.
•Tidak dapat mengetahui jika ada kesalahan query

·         
Mysql

Kelebihan
·         Menggunakan bahasa yang lebih manusiawi yaitu ketika menggunakan REGEXP simbol ~ digantikan dengan tulisan REGEXP
Kekurangan
· Tapi imbas digantinya simbol dengan tulisan querynya menjadi lebih panjang
· Dan Mysql tidak mempunyai fungsi EXCEPT dan INTERSECT sendiri tapi kita bisa mengakalinya dengan menggunakan cara lain yaitu dengan fungsi IN

D.  Kesimpulan
            Kesimpulan seperti yang telah dijelaskan diatas bahwa fungsi beberapa operator dasar sql adalah sebagai berikut
AS     :  Digunakan untuk menampilkan label kolom dengan nama lain sehingga yang akan muncul dalam hasil query bukan nama asli kolom.
AND dan OR    : Pengembangan dari fungsi WHERE.
BEETWEN    : Untuk menampilkan data yang ada diantara dua nilai.
IN    : Melakukan pencocokan dengan salah satu yang ada pada suatu daftar nilai.
LIKE    : Untuk mencari sebuah data yang hanya diwakili oleh salah satu atau lebih hurufnya saja.
REGEXP   : Teknik atau cara untuk mencari persamaan - presamaan string atau data dan memanipulasinya
DISTINCT     : Untuk mengembalikan hasil dari sebuah query dengan tidak terdapat duplikasi.
LIMIT  : Untuk menentukan jumlah baris yang akan ditampilkan yang dihitung dari baris pertama.
OFFSET   : Untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada       OFFSET.
UNION    : Untuk menggabungkan hasil dua buah query menjadi satu kolom.
EXCEPT   : Untuk menampilkan hanya query pertama saja
INTERSECT  : Menampilkan seluruh isi dari data yangmemiliki kesaman

E. Daftar Pustaka
Modul Praktikum Desain Basis Data 2014











0 comments:

Post a Comment