Modul Praktikum Basis Data Ti

39
MODUL PRAKTIKUM “BASIS DATA” LABORATORIUM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA 2011

description

berikut modul praktikum basis data

Transcript of Modul Praktikum Basis Data Ti

Page 1: Modul Praktikum Basis Data Ti

MODUL PRAKTIKUM

“BASIS DATA”

LABORATORIUM KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS SRIWIJAYA

2011

Page 2: Modul Praktikum Basis Data Ti

Universitas SriwijayaFakultas Ilmu KomputerLaboratorium

LEMBAR PENGESAHANMODUL PRAKTIKUM

SISTEM MANAJEMEN MUTUISO 9001:2008

No. Dokumen ……. Tanggal 4 JUNI 2011Revisi 0 Halaman 2 DARI 32

MODUL PRAKTIKUM

Mata Kuliah Praktikum : Basis DataKode Mata Kuliah Praktikum : FIK28208SKS : 1Program Studi : Teknik InformatikaSemester : 5 (Ganjil)

DIBUAT OLEH DISAHKAN OLEH DIKETAHUI OLEH

TIM LABORANLABORATORIUM FASILKOM

UNSRI

TIM DOSEN TEKNIK INFORMATIKAFASILKOM UNSRI

KEPALA LABORATORIUM

2011/2012

Page 3: Modul Praktikum Basis Data Ti

Daftar Isi

Daftar Isi......................................................................................................................................2Prakata.........................................................................................................................................4

1. Pengenalan dan LingkunganKerja MySQLTujuan .............................................................................................................................5Dasar teori .......................................................................................................................5Praktik .............................................................................................................................6Evaluasi danPertanyaan ....................................................................................................8Kesimpulan......................................................................................................................9

2. Database dan TabelTujuan .............................................................................................................................10Dasar teori .......................................................................................................................10Praktik .............................................................................................................................14Evaluasi danPertanyaan ....................................................................................................14Kesimpulan......................................................................................................................14

3. Manipulasi dan Retrieve Data (bagian 1)Tujuan .............................................................................................................................15Dasar teori .......................................................................................................................15Praktik .............................................................................................................................16Evaluasi danPertanyaan ....................................................................................................17Kesimpulan......................................................................................................................17

4. Manipulasi dan Retrieve Data (bagian 2)Tujuan .............................................................................................................................18Dasar teori .......................................................................................................................18Praktik .............................................................................................................................21Evaluasi danPertanyaan ....................................................................................................22Kesimpulan......................................................................................................................22

5. Fungsi AgregatTujuan .............................................................................................................................23Dasar teori .......................................................................................................................23Praktik .............................................................................................................................24Evaluasi danPertanyaan ....................................................................................................25Kesimpulan......................................................................................................................25

6. Retrieve, Group, Filter dan Pattern MatchingTujuan .............................................................................................................................26Dasar teori .......................................................................................................................26Praktik .............................................................................................................................27Evaluasi danPertanyaan ....................................................................................................29Kesimpulan......................................................................................................................29

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 2

Page 4: Modul Praktikum Basis Data Ti

Modul Praktikum

7. Relasi Tabel 2011/2012

Tujuan .............................................................................................................................30Dasar teori .......................................................................................................................30Praktik .............................................................................................................................31Evaluasi danPertanyaan ....................................................................................................32Kesimpulan......................................................................................................................33

8. JoinTujuan .............................................................................................................................34Dasar teori .......................................................................................................................34Praktik .............................................................................................................................36Evaluasi danPertanyaan ....................................................................................................37Kesimpulan......................................................................................................................38

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 3

Page 5: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Prakata

Dengan memanjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat dan

karunia-Nya kepada penyusun, sehingga dapat menyelesaikan buku panduan praktik Basis Data ini.

Sholawat dan salam juga kita curahkan kepada baginda yang mulia Rosulullah SAW beserta keluarga,

sahabat dan pengikutnya hingga akhir zaman.

Buku ini merupakan salah satu bahan ajar pendukung untuk mata kuliah Basis Data. Dari buku ini

diharapkan mahasiswa dapat dengan mudah mempelajari, memahami, dan mempraktikkan

materi – materi yang telah diajarkan pada kelas teori mata kuliah Basis Data. Kemudian buku ini

diharapkan dapat menjadi referensi untuk pemecahan permasalahan umum di luar materi

perkuliahan. Sebagian besar isi dari buku ini merupakan rangkuman dari sumber-sumber yang telah

dibuat penulis lain. Penyusun berharap agar buku ini dapat bermanfaat bagi semua kalangan pembaca.

Terima kasih untuk semuanya yang telah memberikan banyak kritik dan saran serta dukungan dalam

penyusunanbuku ini.

Palembang,September 2011

Penyusun

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 4

Page 6: Modul Praktikum Basis Data Ti

Modul Praktikum

2011/20121. Pengenalan dan Lingkungan Kerja MySQL

Tujuan

Setelah menyelesaikan modulini, anda diharapkandapat :

1. Mengenallingkungan kerja MySQL

2. Mengenalformat perintah diMySQL

3. Mengenalperintah-perintahsederhana diMySQL

Dasar teori

MySQL adalah suatu perangkat lunak database relasi (Relational Database Management

System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQLdikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database

bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX

DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi

berbasis web pada client. MySQL menyebut produknya sebagai database open source terpopuler di dunia.

Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source

maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan

pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu

situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya.

Format Perintah

Berikut adalahketentuan-ketentuan memberiperintahpada MySQL:

· Setiap perintah harus diakhiri dengan tanda titik koma , kecuali untuk perintahtertentu, misal :

quit

· Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori

perintah-perintahyangpernah diberikan.

· Perintahdapat berupa perintahSQL atauperintahkhusus MySQL.

· Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case

insensitiveyaitu perintahbisa dituliskan dalamhuruf besar ataupunhuruf kecil.

· Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti nama

databaseataunama table, namunaturanini hanya ada dalamlingkunganUnix danLinux.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 5

Page 7: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Ada beberapa tanda yangsering muncul diprompt :

Prompt Artimysql> Siap menerima perintahbaru-> Menunggubaris berikutuntukperintahyang lebihdarisatubaris'> Menunggubaris berikut,menunggupenutupstring yang dimulai dengantandakutip

satu(“'”)"> Menunggubaris berikut,menunggupenutupstring yang dimulai dengantandakutip

dua(“"”)`> Menunggubaris berikutnya,menunggupenutupidentifier yangdimulaidengantanda

backtick(“`”)

Praktik

1. KoneksikeMySQL.

Buka commandprompt, masuk kedirektori\AppServ\MySQL\bin, kemudian ketik:

mysql –u namauser –p (enter)

password : (ketikkan password) (enter)

2. Diskoneksi dariMySQL.

Untukdiskoneksi, ketik:

QUIT atau \q

3. Ketikperintahberikut :

SELECT VERSION(), CURRENT_DATE;

4. Ketikperintah diatas (no.3) :

a. Dengan huruf kecilsemua

b. Denganhuruf besar dankecil

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 6

Page 8: Modul Praktikum Basis Data Ti

Modul Praktikum 2011/2012

5. Ketikperintahberikut :

SELECT SIN(PI()/4), (4+1)*5;

6. Ketikperintahberikut :

SELECT VERSION(); SELECT NOW();

(bandingkanhasilnya denganno.3 diatas)

7. Ketikperintahberikut :

Mysql > SELECT

- > USER()

- > ,

- > CURRENT_DATE;

8. Ketikperintahberikut :

Mysql > SELECT

- > USER()

- > \c

9. Ketikperintahberikut :

Mysql > SELECT USER()

Apa yangterjadi?

Kemudianketik:

- > ;

Apa yangterjadi?

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 7

Page 9: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

10. Ketikperintahberikut :

Mysql > SHOW DATABASES;

11. Ketikperintahberikut :

Mysql > USE test

12. Ketikperintahberikut :

Mysql > USE coba

13. Ketikperintahberikut :

Mysql > CREATE DATABASE coba;

Mysql > use coba;

Mysql > show tables;

14. Ketikperintahberikut :

Mysql > CREATE TABLE buku (kodebuku CHAR(5) PRIMARY KEY NOT NULL,

- > judul VARCHAR(25) NOT NULL, pengarang VARCHAR(20),

- > penerbit VARCHAR(15), kategori VARCHAR(15));

15. Ketikperintahberikut :

Mysql > desc buku;

Evaluasi dan Pertanyaan

1. Tulis semua perintah-perintahSQL percobaandiatas beserta outputnya !2. Perintah apa yangdigunakanuntuk masuk keMySQL yang tidak mempunyaipassword?3. Apakahperintah-perintahdiMySQL bersifat casesensitif?

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 8

Page 10: Modul Praktikum Basis Data Ti

Modul Praktikum

4. Apa perbedaanpengetikanlebihdarisatuperintah, yangdipisahdengantanda koma (,) dantanda titikkoma (;) ? (bandingkan hasil querypercobaan3 dan6)

5. Bisakahkita melakukan operasiaritmatik dengan menggunakanperintahSQL ? Berikancontohyanglain ?

6. Haruskahkita mengetikperintah dalamsatu baris ?7. Bagaimana untuk mengakhiriataumembatalkansuatu perintah?8. Sebelummembuat tabel, langkah-langkahapa sajayangsebaiknya kita lakukan? (Berdasarkan

percobaandiatas)

Kesimpulan

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 9

Page 11: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

2. Database dan Tabel

Tujuan

Setelah menyelesaikan modulini, anda diharapkandapat :

1. Membuat databasedantabeldengandata definition language2. Mampu memodifikasitabel

Dasar teori

DDL (Data Definition Language) , DDL merupakan kelompok perintah yang berfungsi untukmendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut,serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah

CREATE, ALTER, dan DROP.

a. Syntax Membuat Database: CREATE DATABASE namadatabase;

Namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang samaantar database. Berikut iniperintah untuk membuat databasedengan nama rental:

CREATE DATABASE RENTAL;

Syntax tambahan untuk menampilkan daftar nama database yang ada pada mysqlmenggunakanperintah:

SHOW DATABASES;

b. MemilihDatabase: USE namadatabase;

Sebelum membuat suatu tabel, terlebih dahulu harus memilih salah satu database sebagaidatabase aktif yang akan digunakan untuk menyimpan tabel-tabel, Berikut ini perintah untukmenggunakandatabasedengannama rental:

USE RENTAL;

c. Syntax Menghapus Database: DROP DATABASE namadatabase;

Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintahuntuk menghapus databasedengannama rental:

DROP DATABASE RENTAL;

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 10

Page 12: Modul Praktikum Basis Data Ti

Modul Praktikum

d. Membuat Tabel : CREATE TABLE namatabel2 ( Field1 TipeData1,Field2 TipeData2);

Namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 merupakan amakolom pertama dan tipe data untuk kolom pertama. Jika ingin membuat tabel dengan kolom lebihdari satu, maka setelah pendefinisian tipe data sebelumnya diberikan tanda koma (,). Berikutiniperintahuntuk membuat tabel dengannama jenisfilm :

CREATE TABLE JENISFILM (JENIS CHAR(6), HARGA INT);

e. MenampilkanTabel

Untuk menampilkan daftar nama tabel yang ada pada database yang sedangaktif/digunakan(dalamhalinidatabaserental) :

SHOW TABLES;

f. Menampilkan Atribut Tabel: DESC namatabel;

Untuk menampilkan deskripsitabel(dalamhalinijenisfilm) syntaxnya adalah:

DESC jenisfilm;

g. SyntaxMenghapus Tabel : DROP TABLE namatabel;

Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapustabel dengannama jenisfilm:

DROP TABLE JENISFILM;

h. Mendefinisikan Null/Not Null : CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL,Field2 TipeData2);

i. Mendefinisikan Nilai Default : CREATE TABLE namatabel (Field1 TipeData1 DEFAULTnilaidefault,Field2 TipeData2 DEFAULT nilaidefault);

Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom ketikaada penambahan baris baru, sementara nilai pada kolomtersebut tidak diisi olehpengguna. Padakasus inijenis film ini :

CREATE TABLE jenisfilm (jenis char(6) DEFAULT “komedi”, harga int DEFAULT 0);

j. MendefinisikanPrimaryKeyPada Tabel

Terdapat tiga cara untuk mendefinisikan primary key. Berikut ini adalah SyntaxmendefinisikanprimarykeyuntukField1

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 11

Page 13: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

CREATE TABLE namatabel(Field1 TipeData1 NOT NULL PRIMARY KEY, Field2

TipeData2);

Atau

CREATE TABLE namatabel ( Field1 TipeData1, Field2

TipeData2, PRIMARY KEY(Field1));

Atau

ALTER TABLE namatabel ADD CONSTRAINT namaconstraintPRIMARY

KEY (namakolom);

Coba buat perintah untuk membuat tabel jenisfilm dengan kolom jenis tipe datanyachar(6), harga tipe datanya int dengan mendefinisikan nilai not null dan primary key untukkolomjenis serta nilaidefault untukkolomharga!.

k. Menghapus PrimaryKeyPada Tabel

Cara 1: Jika primarykey dibuat dengan menggunakan alter table:

ALTER TABLE namatabel DROP CONSTRAINT namaconstraint;

Cara 2: Jika primarykey dibuat melaluicreatetable:

ALTER TABLE namatabel DROP PRIMARY KEY;

l. Menambah Kolom Baru Pada Tabel : ALTER TABLE namatabel ADD fieldbaru tipe;

Namatabel adalah nama tabel yang akan ditambah fieldnya. Fieldbaru adalah nama kolomyang akan ditambahkan, tipe adalah tipe data dari kolom yang akan ditambahkan. Berikut iniperintahuntuk menambah kolom keterangandengantipedata varchar(25) :

ALTER TABLE JENISFILM ADD KETERANGAN VARCHAR(25);

Untuk meletakkanfielddiawal, tambahkansintaks first :

ALTER TABLE PELANGAN ADD COLUMN KODE CHAR(5) FIRST;

Untuk menyisipkanfieldsetelahfieldtertentu, tambahkansintaks after :

ALTER TABLE PELANGAN ADD COLUMN PHONE CHAR(5) AFTER ALAMAT;

m. Mengubah Tipe Data atau Lebar Kolom Pada Tabel : ALTER TABLE NAMATABEL MODIFYCOLUMN FIELD TIPE

Namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. Fieldadalah kolom yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 12

Page 14: Modul Praktikum Basis Data Ti

Modul Praktikum

lama dengan lebar kolom yang berbeda. Berikut ini perintah untuk mengubah tipe data untukkolomketerangandenganchar(20) :

ALTER TABLE JENISFILM MODIFY COLUMN KETERANGAN VARCHAR(20);

n. Mengubah Nama Kolom : ALTER TABLE namatabel CHANGE COLUMN namalamakolomnamabarukolom tipedatabaru;

Namatabel adalah nama tabel yang akan diubah nama kolomnya, namalamakolom adalahkolom yang akan diganti namanya, namabarukolom adalah nama baru kolom, tipedatanya adalahtipe data dari kolom tersebut. Berikut ini perintah untuk mengubah nama kolomketeranganmenjadiket :

ALTER TABLE JENISFILM CHANGE COLUMN KETERANGAN KET VARCHAR(20);

o. Menghapus Kolom Pada Tabel : ALTER TABLE namatabel DROP COLUMN namakolom;

p. Membuat danMenghapus Index

Index berfungsi mempercepat proses pencarian data dalam suatu tabel. Adanyaindex pada suatu field tabel menyebabkan proses pencarian otomatis akan dilakukanterlebih dahulu ke dalam index, apabila ditemukan baru akan diambilkan data sesungguhnyadari tabel, apabila tidak ditemukan dalam index, sudah dipastikan bahwa data tesebutmemang tidak ada dalam tabel. Index juga dapat dibuat untuk setiap kolom yang akandijadikan kriteria tertentu untuk pencarian data sehingga proses pencariannya akan lebih cepat.Ada perintahuntuk membuat danmenghapus index, tapitidakada perintahuntuk merubahindex.

Perhatikancontohberikut :

CREATE INDEX IDXNOMOR ON MAHASISWA(NIM);

Atau

ALTER TABLE MAHASISWA ADD INDEX IDXNIM(NIM);

Untuk menghapus index :

DROP INDEX IDXNIM ON MAHASISWA;

Atau

ALTER TABLE MAHASISWA DROP INDEX IDXNIM;

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 13

Page 15: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Praktik

1. Buat sebuahdatabasedengan nama coba !2. Buat sebuahtabeldengannama mahasiswa didalamdatabasecoba !

3. Tambahkansebuahkolom : keterangan(varchar 15), sebagaikolomterakhir !4. Tambahkan kolom nim(int 11) di awal(sebagai kolom pertama) !5. Sisipkansebuahkolomdengannama phone(varchar 15) setelahkolomalamat !6. Ubah kolom nimmenjadichar(11)!7. Ubah nama kolomphone menjaditelepon(varchar 20)!8. Hapus kolom keterangandaritabel !9. Ganti nama tabel menjadistudent!10. Buat index untuktabeltersebut !11. Jadikannimsebagaiprimarykey!

Evaluasi dan Pertanyaan

1. Tulis semua perintah-perintahSQL percobaandiatas beserta outputnya !2. Apa kegunaandariindex ditabel?3. Apa maksud dariint (11) ?1. Ketika kita melihat struktur tabel dengan perintah desc, ada kolom Null yang berisi Yes dan No.

Apa maksudnya ?

Kesimpulan

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 14

Page 16: Modul Praktikum Basis Data Ti

Modul Praktikum

3. Manipulasi dan Retrieve Data (bagian 1)

Tujuan

Setelah menyelesaikan modulini, anda diharapkandapat :

1. Mengenal data manipulationlanguage dan mampu menggunakannya2. Mampu mengelola record danretrieve data

Dasar teori

DML (Data ManipulationLanguage)DML adalah kelompok perintah yang berfungsi untukmemanipulasi data dalambasis data, misalnya untuk pengambilan, penyisipan, pengubahan danpenghapusandata. Perintahyang termasukdalahkategoriDML adalah :

INSERT, DELETE, UPDATE dan SELECT.

1. INSERT

PerintahINSERT digunakanuntuk menambahkanbaris pada suatutabel. Terdapatduacara untukmenambahbaris, yaitu :

Cara 1: Menambahbaris dengan mengisidata pada setiap kolom :

INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n);

Cara 2: Menambahbaris denganhanya mengisi data pada kolomtertentu :

INSERT INTO namatabel (kolom1,kolom2,kolom-n) VALUES (nilai1,nilai2,nilai-

n);

Keterangan:

Jika data bertipe string, date atau time (contoh : action, horor, 2007-11-10) makapemberian nilainya diapit dengan tanda petik tunggal (‘horor’) ataupetikganda (“horor”). jikadata bertipe numerik(2500, 400) maka pemberian nilainya tidakdiapit tanda petik tunggalmaupun ganda.

2. DELETE

Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisitertentu atauseluruhbaris. Syntax :

DELETE FROM namatabel [WHERE kondisi];

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 15

Page 17: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Perintah dalam tanda [] bersifat opsional untuk menghapus suatu baris dengan suatukondisi tertentu.

3. UPDATE

PerintahUPDATE digunakan untuk mengubah isi data pada satu atau beberapakolompada suatutabel. Syntax :

UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi];

Perintahdalamtanda [] bersifat opsionaluntuk mengubahsuatu baris dengansuatukondisi tertentu.

4. SELECT

Perintah SELECT digunakan untuk menampilkan isi dari suatu tabel yang dapatdihubungkan dengantabelyanglainnya.

a. Menampilkandata untuksemua kolommenggunakanasterisk(*):SELECT * FROM namatabel;

b. Menampilkandata untukkolomtertentu :SELECT kolom1,kolom2,kolom-n FROM namatabel;

c. Menampilkandata dengankondisidata tertentu dengan klausa WHERE:SELECT * FROM namatabel WHERE kondisi;

Beberapa operator perbandingan yang dapat digunakan pada klausa WHERE adalah“=”(sama dengan) , > (lebih dari), < (kurang dari), < > (tidak sama dengan), >=(lebih dari atausama dengan), <= (kurang dari atau sama dengan). Adapunoperator lain, yaitu :AND, OR, NOT,BETWEEN-AND, INdanLIKE.

Praktik

1. Buat sebuahdatabasedengan nama coba2. Buat sebuahtabeldengannama pet didalamdatabasecoba

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 16

Page 18: Modul Praktikum Basis Data Ti

Modul Praktikum

3. Isidata ke dalamtabelpet sepertiberikut :

4. Tampilkansemua isi/recordtabelpet !5. Ubah data tanggal lahir hewanyangbernama Bowser menjadi: 1979-08-31 !6. Tampilkansatubaris /recorddata yangtelahdiubahtadiyaitu record dengan nama Bowser saja!7. Hapus hewan yangbernama Chirpy!8. Tampilkanrecordataudata yangtanggal kelahirannya lebihdariatau sama dengan1998-1-1 !9. Tampilkansemua hewandenganspesis anjingdananjing tersebut berjenis kelaminbetina !10. Dengansatuperintahselect, tampilkansemua hewandenganspesis ular atauspesis burung

(dalamsatu tabelada hewanspesies ular danburungsaja)!11. Dengansatuperintahselect, tampilkansemua hewanyangberspesis kucingdengankelaminlaki-laki

atau hewanyangberspesis anjingdengan kelamin betina (tampilkandalamsatu tabel)!

Evaluasi dan Pertanyaan

1. Tulis semua perintah-perintahSQL percobaandiatas beserta outputnya !2. BerikesimpulanAnda !

Kesimpulan

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 17

Page 19: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

4. Manipulasi dan Retrieve Data (bagian 2)

Tujuan

Setelah menyelesaikan modulini, anda diharapkandapat :

1. Mencaridan menampilkan data denganperintahselect2. Mengkombinasikanperintahselect denganperintahlainnya

Dasar teori

a. Memberikan nama lainpada kolom : SELECT namakolomlama AS namakolombaru FROMnamatabel;

Berikut ini perintah untuk memberikan nama lain pada kolom jenis menjadijenis_filmpada tabeljenisfilm:

SELECT JENIS AS TYPE FROM JENISFILM;

b. Menggunakanalias untuk nama tabel: SELECT namalias.jenis, namalias.harga FROM

namatabel namalias;

Berikut ini perintahuntuk memberikanalias pada tabel jenisfilm :

SELECT J.JENIS, J.HARGA FROM JENISFILM J;

c. Menampilkandata lebih daridua tabel: SELECT * FROM namatabel1, namatabel2, namatabel-n;

Sebagaicontohbuat tablebaruberikut :

d. NestedQueries / Subquery(IN, NOT IN, EXISTS, NOT EXISTS)

Subquery berarti query di dalam query. Dengan menggunakan subquery, hasil dari queryakan menjadi bagian dari query di atasnya. Subquery terletak di dalam klausa WHERE atauHAVING. Pada klausa WHERE, subquery digunakan untuk memilih baris-baris tertentu yangkemudian digunakan oleh query. Sedangkan pada klausa HAVING, subquery digunakan untukmemilih kelompokbaris yang kemudiandigunakanoleh query.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 18

Page 20: Modul Praktikum Basis Data Ti

Modul Praktikum

Contoh 1 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data padakolomjenis-nya tercantumpada tabelfilmmenggunakanIN :

SELECT * FROM JENISFILM WHERE JENIS IN (SELECT JENIS FROM FILM);

atau menggunakanEXISTS

SELECT * FROM JENISFILM WHERE EXISTS (SELECT * FROM FILM WHERE HARGA

> 2000);

Pada contoh di atas : SELECT JENIS FROM FILM disebut subquery, sedangkan :SELECT * FROM JENISFILM berkedudukan sebagai query. Perhatikan, terdapat data jenis danharga pada tabel jenisfilm yang tidak ditampilkan. Hal ini disebabkan data pada kolom jenistidakterdapat pada kolom jenis ditabelfilm.

Contoh 2 : perintah untuk menampilkan data pada tabel jenisfilm yang mana data padakolomjenis-nya tidaktercantumpada tabelfilmmenggunakanNOT IN:

SELECT * FROM JENISFILM WHERE JENIS NOT IN (SELECT JENIS FROM FILM);

atau menggunakanNOT EXISTS

SELECT * FROM JENISFILM WHERE NOT EXISTS (SELECT * FROM FILM WHERE

HARGA > 2000);

e. Operator comparison ANYdan ALL

Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE(benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilaiTRUE. Ilustrasinya jika:

Gaji > ANY (S)

Jika subqueryS menghasilkanG1, G2, ..., Gn, maka kondisidiatasidentikdengan :

(gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn)

Contoh : perintah untuk menampilkan semua data jenisfilm yang harganya bukanyangterkecil:

SELECT * FROM JENISFILM WHERE HARGA > ANY (SELECT HARGA FROM

JENISFILM);

Operator ALL digunakan untuk melakukan perbandingan dengan subquery. Kondisidengan ALL menghasilkan nilai TRUE (benar) jika subquery tidak menghasilkan apapun atau jikaperbandingan menghasilkanTRUE untuksetiap nilai queryterhadap hasilsubquery.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 19

Page 21: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Contoh : perintah untuk menampilkan data jenisfilm yang harganya palingtinggi :

SELECT * FROM JENISFILM WHERE HARGA >= ALL (SELECT HARGA FROM

JENISFILM);

f. SintakORDER BY

Klausa ORDER BY digunakan untuk mengurutkan data berdasarkan kolom tertentusesuai dengan tipe data yang dimiliki. Contoh : perintah untuk mengurutkan data filmberdasarkankolomjudul:

SELECT * FROM FILM ORDER BY JUDUL;

atau tambahkanASC untukpengurutansecara ascending(menaik) :

SELECT * FROM FILM ORDER BY JUDUL ASC;

atau tambahkanDESC untukpengurutansecara descending(menurun) :

SELECT * FROM FILM ORDER BY JUDUL DESC;

g. SintakDISTINCT

Distinct adalah kata kunci ini untuk menghilangan duplikasi. Sebagai Contoh, buatsebuah tabel pelanggan yang berisi nama dan kota asal dengan beberapa record isi dan beberapakota asalyangsama. Kemudianketikkanperintahberikut :

SELECT DISTINCT KOTA FROM PELANGGAN;

Denganperintahdiatasmaka nama kota yangsama hanya akanditampilkansatu saja.

h. UNION, INTERSECTdanEXCEPT

UNION merupakan operator yang digunakan untuk menggabungkan hasil query, denganketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanyaharus sama. Berikut ini perintah untuk memperoleh data pada tabel film dimana jenisnya actiondanhoror :

SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘ACTION’ UNION SELECT JENIS,

JUDUL FROM FILM WHERE JENIS = ‘HOROR’;

Perintahdiatasidentik dengan:

SELECT JENIS, JUDUL FROM FILM WHERE JENIS = ‘ACTION’ OR JENIS = ‘HOROR’;

Namun tidak semua penggabungan dapat dilakukan dengan OR, yaitu jika bekerja padadua tabelatau lebih.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 20

Page 22: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buahquery dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut denganketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanyaharus sama.

SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2 ;

Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapatmenggunakanoperator INseperti contoh1 pada bagian NestedQueries.

EXCEPT / Set Difference merupakan operator yang digunakan untuk memperoleh datadari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dantidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom darimasing-masingtabelyangakanditampilkan datanya harussama.

SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2;

Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapatmenggunakanoperator NOTINseperticontoh2 pada bagianNestedQueries.

Praktik

1. Buat tabelpegawaisebagai berikut :

2. Isidata tabel(data dapat dilihat pada halamanterakhir)!3. Tampilkansemua kolomditabel !4. Tampilkan kolomidpegawai, namabelakang dangaji saja !5. Tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah kolom baru yaitu

tunjangan+gaji yangberisijumlahtunjangandangaji !6. Ubah tunjangan menjadi NULL untuk pegawai dengan idpegawai = E003. Kemudian lakukan

kembali percobaan5.7. Seperti percobaan 5, tampilkan kolom idpegawai, namabelakang, gaji, tunjangan dan sebuah

kolombaru(gunakanalias)yaitu total_pendapatanyangberisijumlahtunjangandangaji !8. Tambahkan record baru dengan value : E006,lincoln, burrows, [email protected], 085275384544,

2008-09-01, L0006, 1750000, NULL, ex, coml.9. Untukpegawaiyangber-idE004 danE005 ubahidmanajernya menjadi al!10. Sekarangtampilkan kolom idmanajer saja !

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 21

Page 23: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

11. Dari percobaan 10, terdapat 3 idmanajer yang sama dengan total record 6, sekarang tampilkanidmanajer tanpa duplikasi idmanajer sehingga akan tampil 4 record dengan idmanajer yangberbeda !

12. Tampilkanpegawaiyang gajinya antara1750000 - 1250000 !13. Tampilkantabel pegawai yangterurut berdasarkannamabelakang(daria kez)!14. Tampilkan tabel pegawai yang diurutkan berdasarkan nama depan dengan urutan terbalik (dari z

kea)!

Evaluasi dan Pertanyaan

1. Tulis semua perintah-perintahSQL percobaandiatas beserta outputnya !2. BerikesimpulanAnda !

Kesimpulan

IsiTabelUntukNo2 :

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 22

Page 24: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

5. Fungsi Agregat

Tujuan

Setelah menyelesaikan modulini, anda diharapkandapat :

1. Mahir menggunakanperintahselect untukretrievedata2. Mampu menggunakanfungsiagregat

Dasar teori

AggregateFunctions (COUNT, SUM, AVG, MIN, MAX)

a. COUNT

Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Contoh: perintahuntuk menghitung jumlahbaris kolom jenis pada tabeljenisfilm:

SELECT COUNT(JENIS) FROM JENIS FILM;

b. SUM

Perintah yang digunakan untuk menghitung jumlah nilai suatu kolom pada tabel. Contoh :perintahuntuk menghitung jumlahnilai kolomharga pada tabel jenisfilm :

SELECT SUM(HARGA) FROM JENIS FILM;

c. AVG

Perintah yang digunakan untuk menghitung rata-rata dari nilai suatu kolom pada tabel.Contoh:perintahuntuk menghitungrata-rata darikolomharga pada tabeljenisfilm:

SELECT AVG(HARGA) FROM JENIS FILM;

d. MIN

Perintah yang digunakan untuk menampilkan nilai terkecil dari suatu kolom pada tabel.Contoh:perintahuntuk menampilkan nilaiterkecildarikolomharga pada tabeljenisfilm:

SELECT MIN(HARGA) FROM JENIS FILM;

e. MAX

Perintah yang digunakan untuk menampilkan nilai terbesar dari suatu kolom padatabel. Contoh : perintah untuk menampilkan nilai terbesar dari kolom harga pada tabeljenisfilm :

SELECT MAX(HARGA) FROM JENIS FILM;

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 23

Page 25: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Praktik

1. Gunakan tabel pegawai (lihat hal. Terakhir), tampilkan pegawai yang gajinya 2.000.000,1.250.000 dan1.500.000 dalamsatu perintahselect !

2. Tampilkanpegawaiyang gajinya bukan2.000.000dan1.250.000 !3. Tampilkanpegawaiyangtunjangannya NULL !4. Tampilkanpegawaiyangtunjangannya tidakNULL !5. Tampilkan/hitung jumlahbaris/recordtabelpegawai !6. Tampilkan/hitung jumlahtotalgaji ditabelpegawai !7. Tampilkan/hitungrata-rata gajipegawai!8. Tampilkan gajiterkecil !9. Tampilkan gajiterbesar !10. Gunakan tabel pet (lihat hal. Terakhir), Tampilkan jumlah hewan yang dimiliki setiap owner.

TampilansetelahSQL dijalankan:

11. Tampilkanjumlah hewanberdasarkanspesies !

12. Tampilkanjumlah hewanberdasarkanjenis kelamin !

13. Tampilkanjumlah hewanberdasarkanspesies danjenis kelamin !

14. Tampilkan jumlah hewan berdasarkan spesis (cat dan dog saja) dan jenis kelamin !

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya

Page 26: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

15. Tampilkanjumlah hewanberdasarkanjenis kelamin yangdiketahuisaja !

Evaluasi dan Pertanyaan

1. Tulis semua perintah-perintahSQL percobaandiatas beserta outputnya !2. BerikesimpulanAnda !

Kesimpulan

DataTabelPegawai :

DataTabelPet :

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 25

Page 27: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

6. Retrieve, Group, Filter dan Pattern Matching

Tujuan

Setelah melakukanpercobaanini, anda diharapkandapat :

1. Mampu meretrievedata danmengelompokkannya2. Mampu menampilkan data denganpencocokanpola/karakter

Dasar teori

a. RETRIEVESQLdenganGROUP BY danHAVING

Klausa GROUP BY digunakan untuk melakukan pengelompokan data. Sebagaicontoh, terdapat tabelfilmdengan data sebagaiberikut :

Akan ditampilkan hanya kolom jenis dan digabungkan dengan SUM(jml_film) yangdikelompokkanberdasarkankolomjenis pada tabelfilm:

SELECT JENIS, SUM(JML_FILM) FROM FILM GROUP BY JENIS;

Klausa HAVING digunakan untuk menentukan kondisi bagi klausa GROUP BY.Kelompok yang memenuhi HAVING saja yang akan dihasilkan. Contoh : perintah untukmenampilkan data hanya kolom jenis yang dikelompokkan berdasarkan kolom jenis, dimanajumlah filmberdasarkan kelompoknya harus lebihbesar darisatupada tabelfilm:

SELECT JENIS FROM FILM GROUP BY JENIS HAVING COUNT(KODE_FILM)>1;

Untukefesiensi harus dimengertiurutanpemilihanWhere, Group BydanHaving:

· Where dipakai untuk memfilter baris-baris dari operasi-operasi yang dinyatakan olehperintahFrom.

· Group Bydipakaiuntuk mengelompokkanhasil dariWhere.· Havingdipakaiuntuk memfilter baris-baris dari hasilpengelompokan.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya

Page 28: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

b. PatternMatching(PencocokanPola/Karakter)

Fungsi string digunakan untuk menampilkan data yang didasarkan pada pencarian dengankarakter. Pada pencarian data digunakan sintak LIKE, pada dasarnya sintak LIKE hampir samadengan sintak = , bedanya kalau = maka pencarian karakater harus sesuai dengan katayang kita buat tetapi dengan menggunakan LIKE karakater yang akan kita tampilkan tidakharus lengkap hanya dengan menuliskan salah satu huruf atau kata saja, maka semua data yangkita cari akanditampilkan.

SQL mempunyai 2 simbolkhusus yang dipakaiuntukpencocokanpola :

% : untukmencocokkankarakter sebelumatau sesudahtanda %; _ :mencari karakter sebanyakjumlahtanda _.

LIKE ‘%Glasgow%’ artinya mencari data pada kolom tertentu yang mengandungkarakter ‘Glasgow’. Bentukumum:

SELECT * FROM nama_tabel WHERE nama_kolom LIKE 'char%'; SELECT * FROM

nama_tabel WHERE nama_kolom LIKE '%char'; SELECT * FROM nama_tabel WHERE

nama_kolom LIKE '%char%'; SELECT * FROM nama_tabel WHERE nama_kolom NOT

LIKE '%char%'; SELECT * FROM nama_tabel WHERE nama_kolom LIKE '_';

Praktik

1. Buat tabelpenjualan:

2. Isidata :

3. Buat SQL sehingga tampilannya sepertiberikut :

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya

Page 29: Modul Praktikum Basis Data Ti

Modul Praktikum

4. Buat SQL sehingga tampilannya :

2011/2012

ID Produk TOTAL4 50

5. Buat tabelbarang danisidatanya :

6. Buat SQL sehingga tampilannya :

7. Buat SQL sehingga tampilannya :

8. Buat SQL sehingga tampilannya :

9. Buat SQL sehingga tampilannya :

10. Buat SQL sehingga tampilannya :

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 28

Page 30: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Evaluasi dan Pertanyaan

1. Tulis semua perintah-perintahSQL percobaandiatas beserta outputnya !2. BerikesimpulanAnda !

Kesimpulan

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya

Page 31: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

7. Relasi Tabel

Tujuan

Setelah menyelesaikan modulini, anda diharapkandapat :

1. Membuat relasitabel2. Membuktikanintegritas data dengantabel yangter-relasi

Dasar teori

Relasional Database dan RDBMS, Relational Database sebenarnya adalah salah satu konseppenyimpanan data, sebelum konsep database relasional muncul sebenarnya sudah ada dua modeldatabase yaitu Network Database dan Hierarchie Database. Dalam database relasional, datadisimpan dalam bentuk relasi atau tabel dua dimensi, dan antar tabel satu dengan tabel lainnyaterdapat hubungan atau relationship, sehingga sering kita baca di berbagai literatur, databasedidefinisikan sebagai “kumpulan dari sejumlah tabel yang saling hubungan atau keterkaitan”. Nah,kumpulan dari data yang diorganisasikan sebagai tabel tadi disimpan dalam bentuk data elektronik didalam hardisk komputer. Untuk membuat struktur tabel, mengisi data ke tabel, mengubah data jikadiperlukandan menghapus datadaritabeldiperlukansoftware.

Software yang digunakan membuat tabel, isi data, ubah data dan hapus data disebut RelationalDatabaseManagement System atau dikenal dengan singkatanRDBMS sedangkan perintah yang digunakanuntuk membuat tabel, isi, ubah dan hapus data disebut perintah SQL yang merupakan singkatan dariStructure Query Language. Jadi, setiap software RDBMS pasti bisa digunakan untukmenjalankanperintahSQL.

Sebenarnya fungsi RDBMS bukan cuma buat tabel, isi data, ubah dan hapus data, untukmanajemen data dalam skala besar dan agar bisa mendukung proses bisnis yang kontinyu dan real time.Suatu RDBMS dituntut untuk mempunyai kemampuan manajemen user dan keamanan data, backup danrecovery data serta kemampuan lainnya yang berkaitan dengan kecepatan pemrosesan data (performance).

Primary key adalah suatu field atau kombinasi field yang secara unik mengidentifikasisetiap record di dalam tabel. Contoh NIM yangterdapat pada tabel mahasiswa.

Foreign key adalahprimary keypada suatu tabel yang di masukkan pada tabel lain dan dijadikansalahsatukeypada tabeltersebut.

References menunjukkan bahwa foreign key di suatu tabel merupakan key pada tabel lain. Padaperubahan suatu record baik itu updateatau delete, dapat diikuti dengan kata : cascade, restrict atau setnull. Kita bisa atur sesuaikebutuhan.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 30

Page 32: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Contoh:

- on update CASCADE on delete RESTRICT- on update RESTRICT on delete SET NULL

Praktik

1. Buat sebuahdatabasedengan nama Akademik.2. Buat tabel mahasiswa dengantipe innodb :

3. Buat tabel dosen_pembimbing dengan tipe innodb dan relasikan ke tabel mahasiswa denganmengambil keynimdaritabel mahasiswa sebagaiforeignkey di tabeldosen_pembimbing:

4. Isidata ditabelsepertidata berikut :

dan

Note:untuk mengisidata yangfieldnya AUTO_INCRMENT maka sebutkanNULL untukfieldtersebut.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 31

Page 33: Modul Praktikum Basis Data Ti

Modul Praktikum

5. Kemudianupdatesatu record ditabel mahasiswa :

6. Hapus sebuahrecord ditabel mahasiswa :

Evaluasi dan Pertanyaan

1. Apa yangterjadi jika sintakpada langkahke3 (baris sintakterkahir) diubah menjadi onupdatecascade ondeleterestrict ?

2. Apa yangterjadi jika sintakpada langkahke3 (baris sintakterkahir) diubah menjadi onupdatecascade ondeleteset null ?

3. Buat sebuahdatabasebaru dengan nama toko. Buat 3buahtabeldidalamdatabasetersebut, yaitutabelproduk, pelanggan, danproduk_order.

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 32

Page 34: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Buat relasi untuk tabel-tabel di atas dan buktikan relasi tersebut dengan melakukan update ataudeleteterhadap suatutabelberpengaruhterhadap tabellainnya!

Kesimpulan

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 33

Page 35: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

8. Join

Tujuan

Setelah menyelesaikan modulini, anda diharapkandapat :

1. Mengenalbeberapa operasijoin2. Mampu melakukanoperasijoinbeberapa tabel

Dasar teori

Operasi Join, Join merupakan operasi yang digunakan untuk menggabungkan dua tabel ataulebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-tabel tersebut. Pada joinsederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolom pada tabel yangberbeda. Berikut ini perintah untuk menampilkan kolom judul dari tabel film dan kolom harga daritabeljenisfilm:

Pada contoh di atas, jenisfilm.jenis=film.jenis merupakan kondisi untuk mencocokkan dataantarakolomjenis miliktabeljenisfilmdanfilm.

a. Inner Join

Inner join digunakan untuk menampilkan data dari dua tabel yang berisi data sesuaidengan syarat dibelakang on (tidak boleh null), dengan kata lain semua data dari tabel kirimendapat pasangan data dari tabel sebelah kanan. Berikut ini perintah untuk menampilkandata dari tabel jenisfilm dan film dengansyaratberdasarkankolom jenis :

SELECT * FROM JENISFILM INNER JOIN FILM ON (JENISFILM.JENIS = FILM.JENIS);

b. Left Join

Left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintah leftjoin beserta pasangannya dari tabel sebelah kanan. Meskipunterdapat data dari sebelah kiri tidakmemiliki pasangan, tetap akanditampilkan denganpasangannya berupa nilaiNULL.

SELECT * FROM JENISFILM LEFT JOIN FILM ON (JENISFILM.JENIS = FILM.JENIS);

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 34

Page 36: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

c. Right Join

Right join digunakan untuk menampilkan semua data dari tabel sebelah kanan perintahright join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanantidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

SELECT * FROM JENISFILM RIGHT JOIN FILM ON (JENISFILM.JENIS = FILM.JENIS);

d. NaturalJoin

Natural join digunakan untuk menampilkan semua data dari dua tabel dimana jikaterdapat kolom yang sama, maka yang akan ditampilkan hanya salah satunya saja, yaitukolomdaritabelsebelah kiriperintahnaturaljoin.

SELECT * FROM JENISFILM NATURAL JOIN FILM;

TerdapatPenggabunganNatural JoindenganLeftdanRight Join:

1. NaturalLeft Join

Natural left join digunakan untuk menampilkan semua data dari tabel sebelah kiri perintahnatural left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data darisebelah kiri tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupanilaiNULL.

SELECT * FROM JENISFILM NATURAL LEFT JOIN FILM;

2. NaturalRight Join

Natural right join digunakan untuk menampilkan semua data dari tabel sebelah kananperintah natural right joinbeserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data darisebelah kanan tidak memiliki pasangan, tetap akan ditampilkan dengan pasangannya berupanilaiNULL.

SELECT * FROM JENISFILM NATURAL RIGHT JOIN FILM;

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 35

Page 37: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Praktik

1. Buat sebuahdatabasedengan nama sewamobil :2. Buat tabel mobil danisidatanya :

3. Buat tabelpelanggandan isi datanya :

4. Buat tabelsewa danisidatanya :

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 36

Page 38: Modul Praktikum Basis Data Ti

Modul Praktikum

5. Buat querysehingga didapattabelseperti berikut :

6. Buat querysehingga didapattabelseperti berikut :

7. Buat querysehingga didapattabelseperti berikut :

8. Buat querysehingga didapattabelseperti berikut :

Evaluasi dan Pertanyaan

1. Tulis sintaks sqluntuk mendapatkantabelpada no5, 6,7 dan8 !2. Apa kesimpulananda !

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas

Page 39: Modul Praktikum Basis Data Ti

Modul Praktikum2011/2012

Kesimpulan

“Ilmu akanmenjadicahaya jikabersemayam di orangberhatibersih dandiimplementasikanpadakebaikan”.Ber-ilmu-Lah…

Hak Cipta pada Comlabs Fakultas Ilmu Komputer Universitas Sriwijaya 38