Minggu, 12 Oktober 2014

Laporan Praktimum DBD ke 4



PENGENALAN OPERATOR DASAR

Sebelum memulai praktikum kali ini , kita harus mengetahui dulu materi yang harus di pelajari  . Berhubung sekarang mengenai operator dasar sql, berati kita harus mengetahui operator – operator apa saja yang ada didalam sql serta memahami fungsi dari tiap operator. Jadi kita tidak mengalami kebingungan pada saat mengerjakan soal nya ,, ok.. lets ‘ go

  DASAR TEORI

1.       AS
Waahh,, dari namanya aja udah seru, kayak kita lagi main kartu aja, hhee . ingat lo dalam sql perintah as bukan untuk itu , tapi fungsi operator AS dalam mysql yaitu  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. Tapi ini hanya bersifat sementara . 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 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’;

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

4. 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);
5. LIKE
             Operator LIKE digunakan untuk menampilkan semua baris dalam tabel yang nilai kolom cocok dengan pola tertentu. Hal ini berguna bila Anda ingin baris untuk mencocokkan pola tertentu mencari, atau ketika Anda tidak tahu seluruh nilai. Untuk tujuan ini kita menggunakan karakter wildcard '%'.
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’;
6. 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 “~”.

7. 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;
8. 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;

2.      Hasil Praktikum Menggunakan MySQL

Karena kita diperintah menggunakan cmd mySql maka kita harus mengkoneksikan dulu, caranya sama seperti kemarin :
1.      Pertama masuk dulu  ke cmd, kemudian aktifkan my sql, setelah itu lakukan koneksi dengan mysql .
Caranya : kita cari instalasi dari xampp , kemudian kita copy k cmd .                      
berikut  : cd C:\xampplite\mysql\bin
                mysql –u root

Maka cmd kita telah terhubung dengan mysql .

Berikut soal- soal yang harus diselesaikan dalam praktikum kali ini :
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.
Karena melihat soal nya seperti itu , maka pada praktikum kali ini masih berhubungan dengan hasil praktikum 3 kemarin,  maka kita gunakan database praktikum kemarin. Yaitu praktikum_3;
Caranya : use praktikum_3 ;

Jika dengan soal seperti itu berati kita menggunakan perintah as karena fungsinya hanya mengubah sementara nama suatu kolom . Mungkin kita telah lupa kolom –kolom apa saja yang ada di tabel mahasiswa.
Kalau gitu kita cek dulu  apa saja :  dengan perintah select * from mahasiswa;
Hm,, lumayan sudah ingat  , nah selanjutnya kita  lakukan perintah nya dari soal ke 1 tersebut :
Yaitu merubah nama_kolom. kita ubah nama kolom menjadi lebih akurat, karena mungkin kalau seperti itu user lain akan kebingungan dalam memahaminya.

Query nya : select nim_mah as nomor_identitas, nama_mah as nama_mahasiswa, alamat_mah as alamat, no_telp as nomor_telepon, id_fak as id_fakultas from mahasiswa;
           
Ingat ya ini hanya berlaku sementara …

2.      Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki .
Kita tampilkan dulu tabel dari fakultas,
Dengan perintah : select * from fakultas;
Upps hanya terdapat fakultas ‘PSIKOLOGI’. Berarti kita harus menambah kan fakultas saintek serta mengisi data dari mahasiswa tersebut .
Menembah fakultas saintek
Query nya : insert into fakultas values(1,’SAINTEK’);
Nah,, sekarang fakultas saintek telah kembali di buka , hheJ
Berhubung pada tabel mahasiswa tidak terdapat kolom gender , berati kita harus menambahkannya  .
Dengan query : alter table mahasiswa add column Gender  varchar(10);
Ternyata mahasiswa yang bernama luki belum diisi pada kolom gender . ok kita isi dulu ya,,, dengan Gender Laki-laki.. masak ya ada luki perempuan . hhhee
Ok. Dengan perintah : update mahasiswa set gender=’Laki-Laki’;
Sudah lengkap terisi. Nahh Selanjutnya  kita tambah data mahasiswa, disini datanya terserah kita mau kita isi apa. Saya akan memasukkan data sebanyak 5  mahasiswa . harus lengkap ya sesuaikan dengan tabel yang ada di dalam tabel mahasiswa.
Adapun query nya :
insert into mahasiswa values(1,’arif’,’surabaya’,’0847562824’,1,’laki- laki’);
insert into mahasiswa values(2,’renata’,’sumenep’,’087850132136’,1,’perempuan’);
insert into mahasiswa values(3,’adit’,’kediri’,’081335501641’,2,’laki- laki’);
insert into mahasiswa values(4,’atha’,’jombang’,’087750000354’,1,’laki- laki’);
insert into mahasiswa values(5,’ sinta’,’cilacap’,’081317777313’,2,’perempuan’);
Ok data kita telah masukkan , sekarang kita cek pada tabel mahasiswa.
Query : select * from mahasiswa;
Perintahnya yaitu menampilkan mahasiswa yang berjenis kelamin laki-laki dan yang berada di fakultas saintek. Kita telah meng inisialisasikan bahwa fakultas saintek yaitu yang mempunyai id_fak=1
Query nya: select * from mahasiswa where id_fak=1 and gender=’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.
Wahh,, tabel mahasiswa nya kurang 1 ternyata, yasudah kita tamhkan lagi data mahasiswa. Dengan perintah :
insert into mahasiswa values(6,’ dinda’,’bandung’,’082323232323’,2,’perempuan’);
Menampilkan data dari no 3 sampai 5: menggnakan between
Query nya : select * from mahasiswa where nim_mah between ‘3’ and ‘5’;
Selain dengan menggunakan between kita bisa juga menuliskan dengan eperti berikut, sama saja kok.
Select * from mahasiswa where nim_mah >=’3’ and nim_mah <=’5’;
Kemudian menampilkan data bukan dari no 3 sampai 5.
Query nya : select * from mahasiswa where nim_mah not between ‘3’ and ‘5’;

Kita juga bisa menggunakan perintah seperti berikut :
 select * from mahasiswa where nim_mah <’3’ or nim_mah >’5’;

4.      Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.
Query nya : select * from mahasiswa where nim_mah in(2,3,5);

5.      Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.
Query nya : select * from mahasiswa where nama_mah ‘a%’;

6.      Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.
Query nya : 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. Kalau kita hanya menampilkan biasa aja maka aka nada banyak nomor id_fak, oleh karena itu kita harus menggunakan operator distinct
Query nya : select distinct id_fak  from mahasiswa;

8.      Tampilkan data mahasiswa 3 baris saja.
Kalau soal seperti itu maka kita dapat menggunakan dengan operator limit.
Query nya : select * from mahasiswa limit 3;

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.
Query nya : select * from mahasiswa where nama_mah regexp ‘^a.*[artd]’;

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


kita buat dulu tabel pada organ dalam dan organ_luar
query : create table organdalam (nomor int,nama varchar(20));
create table organdalam (nomor int,nama varchar(20));


Setelah itu kita masukkan data yang ada di organ dalam dan organ_luar.
Query nya : insert into organ_dalam values(1,'jantung'),(2,'paru-paru'), ('tenggorokan'); 
        insert into organ_luar values(1,'hidung'),(2,'mata'),(3,'tenggokan');


Sekarang kita bisa menegecek nya ,  kita tulis perintah :
select * from organdalam;
select * from organdalam;


Tampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT
Kita lakukan dulu perintah union .perintah union berati menggabungkan , tetapi bila ada data yang sama tidak akan ditampilkan dua kali.
Query nya : select * from organdalam union select * from organ_luar;


Kemudian untuk Except/Not In
Query nya : select * from mahasiswa organdalam where nama not in (select * from organ_luar);


INTERSECT/In
Query nya : select * from mahasiswa organdalam where nama in (select * from organ_luar);

Selesai,,,,,Alhamdulillah

3.       Perbedaan Antara PostgreSQL dengan MySql :
 Dari hasil praktikum yang telah dikerjakan untuk perintah operator tidak terlalu berbeda, kebanyakan sama, mungkin yang berbeda hanya pada saat :
1.Menampilkan irisan dari dua tabel
2 pada saat REGEXP.
Kelebihan dan kekurangan postgreSql :

Pada saat operator like dan regexp kita harus mengetahui bagaimanakah cara mendeklarasiannya, karena kebanyakan menggunakan simbol- simbol.

Kelebihan Mysql

Menggunakan bahasa yang lebih manusiawi yaitu ketika menggunakan REGEXP simbol ~  digantikan dengan tulisan REGEXP

Kekurangan Mysql

· Tapi akibatnya 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
            Selain itu fungsi operator sama kok. Kelebihan dan kekurangan . kalau saya sih lebih suka menggunakan postgreeSql , karena pada saat praktikum di kelas saya sudah paham, tetapi kalau my sql saya harus mencari dulu sendiri, hhe
4.       Kesimpulan

Dari landasan teori dan praktikum yang telah saya lakukan , kesimpulan operator dasar yaitu :

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

Kritik dan saran
Mungkin kita melihat banyak banget operator akan membuat kita galau, alias tidak paham atau tidak bisa untukmenggunakan operator tersebut, tetapi jika kita mau membaca dan memahami satu persatu fungsi operaor tersebut , gampang kok, yang penting banyak mencoba ;

Manfaat
Sekarang , kurang lebih sudah paham tentang fungsi-fungsi operator dasar sql , agar kita lebih paham dan  lebih mahir lagi terus lah berlatih dan mencoba jangan pernah menyerah, karena kalau kita mau  kita pasti bisa …

Daftar Rujukan:
§  kadir, Abdul.2010.Mudah Mempelajari Database MySQL.Yogyakarta:ANDI.
§  Kristanto, Harianto.2001.Konsep dan Perancangan DATABASE.Yogyakarta: ANDI.

               


           






Tidak ada komentar:

Posting Komentar