BASIS DATA 1 MODUL PRAKTIKUM

M OD UL P R AK T I K UM BASI S DATA 1

D 3 Ma na je m e n I n form at ik a

Fa ku lt a s Te kn ik

Un ive rsita s Trun ojoyo

MODUL I MYSQL

Tujuan :

1. Me maha mi tentang sistem database

2. Me maha mi instalasi MySQL di lingkungan Windows

3. Me maha mi dasar-dasar MySQL.

Tug as Pendahuluan

1. Apa yang anda ketahui tentang mysql, jelaskan

2. Apa perbedaan instalasi mysql dilingkungan windows dengan linu x

3. sebutkan operator dan fungsi dalam mysql !

1. Dasar Teori

Basis data adalah sekumpalan in formasi yang diatur agar mudah dicari. Dala m art i u mu m basis data adalah sekumpulan data yang diproses dengan bantuan ko mputer yang me mungkin kan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai akt ifitas dari satu atau lebih organisasi yang berelasi.

Pengertian MYS QL

Database MYSQL merupakan sistem manaje men basis data SQL yang sangat terkenal dan bersifat Open Source. MySQL dibangun, didistribusikan dan didukung oleh MYSQL AB. M YSQL AB merupakan perusahaan komersia l yang dibiayai o leh pengembang M YSQL

Ti pe Data

Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam fie ld me miliki tipe sendiri-sendiri. M YSQL mengenal beberapa tipe data field ya itu : §

Tipe data numerik

§ Tipe data numerik dibedakan dala m dua maca m ke lo mpok, yaitu integer dan floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal.

§ Tipe data string String adalah rangkaian kara kter. Tipe-tipe data yang termasuk dala m tipe data string dapat dilihat pada tabel 8.1.2.b be rikut: Tabel 8.1.2.b Tipe Data St ring

Tipe Data

Kisaran Nilai

CHAR

1-255 kara kter

VA RCHAR

1-255 kara kter

TINYTEXT

1-255 kara kter

TEXT

1-65535 ka rakter

MEDIUMTEXT

1-16777215 ka rakter

LONGTEXT

1-424967295 ka rakter

§ Tipe data char() dan varchar() Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya terletak pada jumlah me mori yang dibutuhkan untuk penyimpanannya. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa jumlah kara kter yang ditetapkan pada saat field tersebut dideklarasikan. Pada t ipe data varchar() besarnya me mo ri penyimpanan tergantung pada jumlah karakter dita mbah 1 byte, dapat dilihat pada tabel 8.1.2.c berikut ini:

Tabel 8.1.2.c Letak Perbedaan Ju mlah Me mori

Nila i Char(4)

Memori

Varchar Memori

1 byte ’ab’

3 bytes ’abcd’

5 bytes ’abcdefgh’ ’abcd’

Tipe data tanggal Untuk tanggal dan ja m, tersedia tipe-t ipe data fie ld berupa DATETIM E, DATE, TIM ESTAMP, TIM E dan YEAR. Masing-masing tipe me mpunyai kisaran nilai tertentu. MYSQL akan me mberikan peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah. Kisaran nila i dan besar me mo ri penyimpanan yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel 8.1.2.d berikut ini: Tabel 8.1.2.d Tipe Data Tanggal

Tipe Data Kisaran Nilai Memori Penyimpanan

DATETIM E 1000-01-01 00:00 sa mpai 9999-12-31

3 byte 23:59:59

DATE 1000-01-01 sampai 9999-12-31

8 byte TIM ESTAMP

4 byte TIM E

1970-01-01 00:00:00 sa mpai 2037

3 byte YEA R

-839:59:59 sampa i 838:59:59

1901 sa mpai 2155

1 byte

Operator MYS QL

MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya: §

Operator Arit metika Suatu ekspresi yang melibatkan tipe data bilangan (NUM ERIK) dan tanggal (DATE) menggunakan ekspresi aritmat ika . Dapat dilihat pada tabel 8.1.3.a berikut ini:

Tabe l 8.1.3.a Operator arit mat ika M YSQL Operator

§ Operator Pe mbandingan Suatu ekspresi yang dapat digunakan pada klausa WHERE dan me mpunyai sintax sebagai berikut: WHERE expr operator value. Tabel 8.1.3.b menunjukan operator pe mbanding pada MYSQL berikut ini: Tabel 8.1.3.b Operator Pe mbanding M YSQL

Operator

Keterangan

Sa ma Dengan

Lebih Besar

Lebih Kec il

>= Lebih Besar atau Sa ma Dengan <=

Lebih Kec il atau Sa ma Dengan <>

Tidak Sa ma Dengan

§ Operator Logika Operator in i digunakan untuk me mbandingkan dua nila i variabel yang bertipe boolean.

§ Operator Ka rakter Operator untuk me mbentuk pencarian string yang sesuai dengan nila i yang mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter , ada 3 symbol khusus berikut ini dapat dilihat pada tabel 8.1.3.d berikut ini: Tabel 8.1.3.d Tabel Operator Kara kter

Operator

Keterangan

% Se mbarang kara kter berapapun ju mlahnya

Se mbarang satu karakter

[] Se mbarang kara kter yang terletak dala m kurung siku

§ Operator La in-la in Operator yang digunakan untuk menguji n ila i-nilai yang ada dalam list (tanda kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan (range) nila i. Ada 2 symbol tersebut dapat dilihat pada tabel 8.1.3.e berikut in i: Tabel 8.1.3.e Operator la in-lain

Dala m

BETW EEN

Diantara

2. Kegiatan Praktikum : Instalasi MySQL-5.0.22-WIN32 :

1. Jalankan file setup mysql, yaitu mysql-5.0.22-win32.exe, maka akan muncul dialog instalasi sebagai berikut :

2. Pilih tombol Next, kemudian muncul dialog tipe instalasi sebagai berikut :

3. Pilih Custom, kemudian pilih tombol Next. Kemudian tampil dialog fitur program sebagai berikut :

4. Klik tanda silang pada Developer Components, kemudian pilih This feature will be installe d on loc al har d dri ve seperti ga mbar berikut :

5. Kemudian pilih tombol Change..., pada folder name ubah menjadi sesuai dengan gambar berikut ini :

6. Pilih OK, kemudian pilih tombol Next, dan pilih tombol Install, maka proses instalasi dimula i.

7. Berikutnya muncul dialog account, pilih Skip Sign-Up dan klik tombol Next, ma ka a kan muncul dia log sebagai berikut :

8. Klik to mbol Finish dan tombol Ne xt, ma ka akan muncul dia log sebagai berikut :

9. Pilih Standard Configuration dan klik tombol Next, lalu muncul gambar berikut :

10. Pilih tombol Next. Kemudian muncul gambar berikut ini. Masukkan password yang diinginkan pada kota isian New r oot passwor d dan Confir m berikut ini untuk sekuritas, misalnya 123456. Klik to mbol Next.

11. Klik tombol Execute sebagai tahap akhir.

12. Klik Finish.

Melakukan Koneksi ke MySQL : Cara 1 :

1. Melalui DOS Prompt, masuk ke direktori utama MySQL dengan cara sebagai berikut (yang diketik hanya yang digaris bawah) :

C:\>c d \ mysql\ bin

2. Setelah itu ketikkan perintah berikut (yang diketik hanya yang digaris bawah) :

C:\>mys ql\ bin\ mys ql –u r oot – p

ma ka a kan diminta untuk me masukkan passoword, isikan password yang digunakan pada saat instalasi, yaitu 123456.

3. Selanjutnya akan ada respon dari server seperti gambar berikut :

Tamp ilan tersebut di atas menandakan bahwa telah berhasil me laku kan koneksi ke server.

Cara 2 :

1. Dari menu Start > All Programs > MyS QL > MySQL Server 5.0 > MySQL

Command Line Client, ma ka a kan muncul ta mp ilan seperti berikut ini :

2. Masukkan password yang telah ditentukan pada saat instalasi, yaitu : 123456 ke mudian tekan enter.

Menuliskan perintah pada mys ql

Bentuk prompt “mysql>” adalah tempat menuliskan perintah-perintah MySQL. Setiap perintah SQL harus diakh iri dengan tanda titik-ko ma “;” .

Cara untuk me mbuat sebuah database baru adalah dengan perintah:

create database namadatabase;

Misalkan anda ket ikkan :

create database modul1;

Untuk me mbuka sebuah database dapat menggunakan perintah berikut ini:

use namadatabase;

Contoh:

use modul1;

Perintah untuk me mbuat tabel baru adalah:

create table namatabel (

struktur );

Constraint

Constraint adalah batasan atau aturan yang ada pada table. MySQL menyedia kan beberapa tipe constraint berikut : • NOT NULL

Suatu kolo m yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nila i NULL. Ko lo m yang befungsi sebagai kunci prime r (prima ry key) otomatis tidak boleh NULL.

• UNIQUE Mendefinisikan suatu kolom menjad i bersifat unik, artinya antara satu data dengan data lainnya namanya tidak bo leh sama, misal ala mat e ma il.

• PRIMARY KEY Constraint PRIMARY KEY me mbentuk key yang unik untuk suatu table. • FOREIGN KEY FOREIGN KEY constraint didefin isikan pada suatu kolom yang ada pada suatu table, dimana kolo m tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMA RY KEY, biasa dipaka i untuk menghubungkan antara 2 tabel.

Contoh Pe mbuatan Tabel :

Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama , e mail, a la mat, kota. Sedangkan strukturnya seperti tabel dibawah ini :

Perintah MySQL untuk me mbuat tabel seperti diatas bisa dengan 2 cara sbb :

cr eat e t able anggot a ( nomor int (6) not null pr imar y key,

nama char (40) not null, email char (255) not null,

alamat char (80) not null, kot a char (20) not null

nomor int (6) not null, nama char (40) not null, email char (255) not null,

alamat char (80) not null, kot a char (20) not null,

pr imar y key (nomor ) );

Perintah-Perintah Dasar SQL

A. Pe masukan data

Untuk me masukkan sebuah baris (record) keda la m tabel MySQL adalah sebagai berikut:

INSERT INTO table [(column1, column2,...])] VALUES (value1, value2,...]);

Contoh : Insert

(nomor,nama ,e ma il,ala mat,kota) values (100,’Adi’,’ad i@yahoo.com’,’Jl. Keputih 2A no 5’,’Surabaya’); atau Insert into anggota values (100,’Adi’,’ad i@yahoo.com’,’Jl. Keputih 2A no 5’, ’Surabaya’);

1. Buatkan dengan perintah mysql database dengan nama perusahaan

2. Di dalam database perusahaan terdapat tabel karyawan, barang, departemen dan produksi

3. Tentukan field name masing-masing table

4. Tentukan primary key pada setiap tabel

MODUL II MEMBUAT ER-DIAGRAM

Tujuan : v Praktikan dapat memahami dan membuat ER-Diagram

Tug as Pendahuluan

1. Tentukan Database serta field-fieldnya yang ingin anda buat!

2. Buatlah ER diagramnyadengan pemodelan El-Masri!

3. Apakah yang dimaksud dengan normalisasi? Jelaskan !

Dasar Te ori

Apa yang dimaksud dengan model data? Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-

data, hubungannya satu sama la in, se mantiknya, serta batasan konsistensi. Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model

relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan basis data pada peringkat logika.

· Model ERD atau Conceptual Data Model (CDM) : model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari ko leksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu.

· Model Relasional atau Physical Data Model (PDM) : model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel me mpunyai sejumlah ko lo m di mana setiap ko lo m me miliki na ma yang unik.

· Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu me miliki kara kteristik yang unik disebut identifier (sebuah · Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu me miliki kara kteristik yang unik disebut identifier (sebuah

· Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak me miliki art i apa-apa dan tidak dikehendaki kehadirannya dala m diagra m ER tanpa kehadiran entitas di mana mere ka bergantung.

Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas le mah tidak me miliki identifier sendiri. Secara u mu m, da la m diagra m ER entitas le mah me miliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian).

Agregasi adalah suatu keadaan di mana suatu relasi hanya dapat direalisasikan setelah relasi yang lain ada terlebih dahulu. Re lasi yang bertipe agregasi tidak dimungkinkan ada jika re lasi yang men jadi prasyaratnya tidak terealisasi. Contoh:

Sesungguhnya agregasi dapat dipandang sebagaimana relasi pada umu mnya (yang menghubungkan 2 entitas). Karena relasi ini dibentuk dari re lasi la in (relasi prasyarat)

dulu terbentuk, maka pengimple mentasiannya juga harus dilakukan setelah relasi prasyarat tersebut terimp le mentasikan. Selan jutnya kita tinggal meninjau derajat re lasi dari relasi agregasinya.

yang secara

kronologis

lebih

Mengapa jika terdapat set entitas yang sama muncul beberapa kali da la m satu set ER-Diagra m in i harus dihindari?

· Untuk menghindari redundancy ·

Menghemat penyimpanan (storage) data ·

Mengurangi efekt ifitas dan kecepatan akses ·

Untuk menghindari te rjad inya asinkronisasi data pada saat diupdate perbedaan antara total constraint dan partial constraint! ·

Total constraint adalah constraint yang mana data dalam entitas yang me miliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya.

· Constraint partial adalah constraint yang mana data dalam entitas yang me miliki constraint tersebut terhubung ke dala m entitas dari re lasinya.

Re lasi satu :

· Entity 1 to entity 2 : kardina litas : one to many dengan detail minima l 0 dan maksima lnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan.

· Entity 2 to entity 1 : kardina litas : many to one dengan detail minima l 1 dan ma ksima lnya 1. Dependensi : entitas 1 dan entitas 2 t idak saling

ketergantungan. Re lasi dua :

· Entity 3 to entity 4 : kard inalitas : one to many dengan detail minimal 0 ma ksima lnya banyak. Dependensi : entitas 3 dan entitas 4 t idak saling ketergantungan.

· Entity 4 ke entity 3 : kard inalitas : many to one dengan detail minima l 1 ma ksima l 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.

Re lasi tiga

· Entity 5 to entity 6 dan Entity 6 to entity 5 : ka rdinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan.

Re lasi e mpat:

· Entity 7 to entity 8 : ka rdinalitas : one to one dengan detail min ima l 0 ma ksima lnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling ketergantungan.

· Entity 8 ke entity 7 : kard inalitas : one to one dengan detail minimal 1 ma ksima l 1. Dependensi : entitas 8 dan entitas 7 tidak saling

ketergantungan. Re lasi lima

· Entity 9 to entity 10 : ka rdinalitas : many to many dengan detail minimal

0 ma ksima lnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling ketergantungan. ·

Entity 10 ke entity 9 : kard inalitas : many to many dengan detail minimal

1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling ketergantungan.

Re lasi tujuh

· Entity 13 to entity 14 : kardina litas : one to many dengan detail minima l 0 ma ksima lnya banyak. Dependensi : entitas 13 menjadi parent dari entitas

Entity14 ke entity 13 : ka rdinalitas : many to one dengan detail min ima l 1 ma ksima l 1. Dependensi : entitas 14 tergantung kepada entitas 13.

Perbedaan antara tahap 1NF dengan tahap BCNF : ·

1NF : tahap normalisasi dasar, yang mana masih belu m sa mpai pada tingkat efekt ifitas maksima l, masih banyak ke mungkinan terjadinya redundancy data atau duplikasi data.

· BCNF : tahap norma lisasi setelah 3NF , yang mana efe ktifitas telah mencapai maksimal, ke mungkinan terjad inya redundancy data dan duplikasi data lebih kec il daripada 1NF.

Tug as :

1. Bangun sebuah ER-Diagram untuk database anda. Serta bangun tabel-tabel untuk ER-diagra mnya dan setiap tabel jelas re lasinya! (dengan menggunakan Power Designer)

MODUL III DDL I

Tujuan : v Praktikan dapat memahami dan membuat database

v Praktikan dapat memahami dan membuat table dari database v Mahasiswa mampu membuat script untuk pembuatan tabel dan

mengupdate tabe

Tug as Pendahuluan

1. Buat resume tentang DDL kemudian pelajari

Dasar Te ori

DDL atau Data Definition Language adalah bagian dari sql yang digunakan untuk mendefin isikan data dan objek database. Apabila perintah ini d igunakan, entri akan d ibuat ke da la m ka mus data dari SQL. Didala m kategori ini terdapat perintah-perintah sebagai berikut :

Perintah

Keterangan

Create Tab le

Membuat tabel

Create Inde x

Membuat inde x

Alter Table Mengubah atau menyisipkan kolo m ke dala m tabel Drop Table

Menghapus tabel dari database Drop Inde x

Menghapus index

Grand Memberikan ijin akses kepada user

Praktikum

a. Membuat Database

Syntax : CREATE DATA BASE namadatabase; namadatabase tidak boleh mengandung spasi dan tidak boleh me miliki na ma yang sama antar database.

Syntax ta mbahan : untuk mena mpilkan daftar nama database yang ada pada mysql menggunakan perintah : SHOW DATA BASES;

b. Menghapus Database

Syntax : DROP DATABASE namadatabase; Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk menghapus database dengan nama rental :

c. Membuat Tabel

Sebelu m me mbuat suatu tabel, terlebih dahulu harus me milih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel- tabel dengan menggunakan syntax : USE na madatabase; Syntax me mbuat table : CREATE TA BLE namatabel ( Fie ld1 Tipe Data1, Fie ld2 Tipe Data2 ); namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 me rupakan nama ko lo m pertama dan tipe data untuk kolo m perta ma. Jika ingin me mbuat tabel dengan kolom lebih dari satu, ma ka setelah pendefinisian tipe data sebelumnya diberikan tanda ko ma (,).

Syntax ta mbahan : Untuk mena mp ilkan daftar nama tabel yang ada pada database yang sedang aktif/d igunakan (dala m ha l ini database rental) : SHOW TABLES;

Untuk mena mpilkan deskripsi tabel (dala m hal ini jenisfilm) syntaxnya adalah : DESC na matabel;

d. Menghapus Tabel

Syntax : DROP TA BLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama jenisfilm : Syntax : DROP TA BLE namatabel; Tabel yang akan dihapus sesuai dengan namatabel, berikut ini perintah untuk menghapus tabel dengan nama jenisfilm :

Syntax : CREATE TA BLE namatabel ( Fie ld1 Tipe Data1 NOT NULL, Fie ld2 Tipe Data2 );

Tug as :

1. Buatlah sebuah database sesuai dengan ER-Diagram yang anda buat ( dari Power designer generate) script pe mbuatan tabelnya dengan perintah DDLke mudian beri na ma database sesuai dengan nama mahasiswa!

2. Buatlah tabel-tabelnya yang juga sesuai dengan ER-Diagram yang anda

buat!

MODUL IV DDL II

Tujuan : v Praktikan dapat memahami dan membuat database

v Praktikan dapat mengerti tentang Primary key

Tug as Pendahuluan

1. Buat desain entitas dan relasi dari database yang akan dibuat dala m pra ktiku m (setiap entitas sudah terdapat primary key)

Dasar Te ori

Data Definition Language (DDL) digunakan untuk me mbuat dan menghancurkan database dan objek database. Perintah-perintah ini terutama a kan digunakan oleh database administrator sela ma fase setup dan penghapusan proyek database. Mari kita me lihat struktur dan penggunaan perintah DDL e mpat dasar:

CREAT E

Instalasi sistem mana je men database (DBMS) pada komputer me mungkin kan Anda untuk me mbuat dan mengelola banyak database independen

US E

Perintah USE me mungkin kan Anda untuk menentukan database yang ingin bekerja dengan Anda dalam DBMS Sangat penting untuk selalu sadar akan database Anda bekerja dala m sebelum mengeluarkan perintah SQL yang me man ipulasi data.

ALTER

Setelah Anda telah me mbuat tabel dala m database, Anda mungkin ingin me mod ifikasi definisi itu. The ALTER co mmand allows you to make changes to the structure of a table without deleting and recreating it. ALTER perintah yang me mungkinkan Anda untuk me mbuat perubahan pada struktur tabel tanpa menghapus dan menciptakan

DROP

Perintah tera khir dari Data De finition Language, DROP, me mungkinkan kita untuk menghapus seluruh objek database dari DBMS. Gunakan perintah ini dengan hati- hati! Ingat bahwa perintah DROP menghapus data keseluruhan struktur dari database Anda. Jika Anda ingin menghapus catatan individu, gunakan perintah DELETE Manipulasi Data Bahasa.

Praktikum:

a. Mendefinisikan Nilai Default

Nila i default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolo m ketika ada pena mbahan baris baru, sementara nila i pada ko lo m tersebut tidak diisi o leh pengguna. Syntax : CREATE TA BLE namatabel ( Fie ld1 Tipe Data1, Fie ld2 Tipe Data2 DEFA ULT n ila i ); nila i adalah n ila i defau lt dari ko lo m tersebut.

b. Mendefinisikan Primary Key Pada Tabel

Terdapat tiga cara untuk mendefin isikan p rimary key. Berikut in i adalah Syntax mendefinisikan primary key untuk Field 1 CREATE TA BLE namatabel ( Fie ld1 Tipe Data1 NOT NULL PRIMA RY KEY, Fie ld2 Tipe Data2 );

Atau

CREATE TA BLE namatabel ( Fie ld1 Tipe Data1, Fie ld2 Tipe Data2, PRIMARY KEY(Fie ld1) );

atau

ALTER TA BLE na matabel ADD CONSTRAINT na maconstraint PRIMA RY KEY (na ma kolo m); : ALTER TA BLE na matabel ADD CONSTRAINT na maconstraint PRIMA RY KEY (na ma kolo m); :

Perintah : Cara 1 : Jika primary key dibuat dengan menggunakan alter table : ALTER TA BLE na matabel DROP CONSTRAINT namaconstraint;

Cara 2 : Jika primary key dibuat mela lui create table : ALTER TA BLE na matabel DROP PRIMA RY KEY;

d. Menambah Kolom Baru Pada Tabel

Syntax : ALTER TA BLE namatabel ADD fieldbaru tipe; namatabel adalah na ma tabel yang akan d ita mbah fieldnya. Fie ldbaru adalah nama ko lo m yang akan ditambahkan, tipe adalah tipe data dari kolo m yang akan dita mbahkan.

e. Mengubah Tipe Data atau Lebar Kolom Pada Tabel

Perintah : ALTER TA BLE namatabel MODIFY COLUMN field tipe namatabel adalah na ma tabel yang akan diubah tipe data atau lebar ko lo mnya. Fie ld adalah ko lo m yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar kolo m yang berbeda.

f. Mengubah Nama Kolom

Syntax : ALTER

COLUM N namalamakolom namabarukolom tipedatanya;

TABLE namatabel

CHANGE

namatabel adalah nama tabel yang akan diubah nama kolo mnya, nama la mako lo m adalah kolo m yang akan diganti na manya, na mabarukolo m adalah nama baru ko lo m, t ipedatanya adalah tipe data dari kolo m tersebut. Berikut ini perintah untuk mengubah nama ko lo m keterangan men jadi ket :

g. Menghapus Kolom Pada Tabel

Syntax : ALTER TA BLE namatabel DROP COLUMN namak olom;

h. Mendefinisikan Foreign Key Pada Tabel

Untuk mendefinisikan fore ign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dari fore ign key) sudah didefinisikan terleb ih dahulu. Syntax : CREATE TA BLE namatabel

( Fie ld1 Tipe Data1, Fie ld2 Tipe Data2, FOREIGN KEY (Fie ld2) REFERENCES namatabelinduk (namak olominduk )ON UPDATE CASCADE ON DELETE NO ACTION ) atau

ALTER TA BLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (nama kolo m) REFERENCES namatabelinduk (namakolominduk ) ON UPDATE CASCADE ON DELETE NO A CTION;

i. Menghapus Foreign Key

Perintah : ALTER TA BLE namatabel DROP FOREIGN KEY namaconstraint;

Tug as :

1. Beri Primary key pada tiap tabel yang anda buat pada database

2. Tambahkan satu kolom baru pada database yang anda buat

3. Ganti nama salah satu kolom anda dengan perintah yang tertera pada modul

MODUL V DML (DATA MANIPULATION LANGUAGE)

Tujuan :

v Praktikan dapat memahami dan mengisi tabel dalam database v Praktikan dapat memahami dan meman ipulasi data dalam database

Tug as Pendahuluan

v Apa yang anda ketahui tentang DML? v Apa yang anda ketahui tentang perintah INSERT, UPDATE dan

DELETE? v Sebutkan dan jelaskan macam-macam klausa maupun operator yang

terdapat dalam perintah SELECT!

Dasar Te ori

DM L (Data Manipulation Language) adalah bahasa yang me mungkinkan pengguna mengakses atau me manipulasi data seperti yang diatur oleh model data. Manipulasi data adalah :

· Pengambilan informasi yang disimpan dala m basisdata ·

Penempatan informasi baru dala m basisdata ·

Penghapusan informasi dari basisdata ·

Modifikasi informasi yang disimpan dala m basisdata DM L (Data Manipulation Language) merupakan bahasa yang bertujuan me mudahkan pe maka i untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 jenis DM L, yaitu :

· Prosedural, yang mensyaratkan agar pe maka i menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya.

· Nonprosedural, yang me mbuat pe ma kai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.

Query adalah pernyataan yang me minta pengguna mengamb il info rmasi. Bag ian DM L yang terlibat dala m pengamb ilan informasi disebut bahasa query. Istilah bahasa query sering disamakan dengan istilah bahasa manipu lasi data. Sedangkan SQL adalah sebuah sintaks untuk mengeksekusi query.

Praktikum

Coba semua contoh operasi DM L d i bawah ini :

1. Pernyataan INS ERT INTO

Pernyataan INSERT INTO digunakan untuk me masukkan data baru pada tabel. Sintaks :

INSERT INTO na ma_tabel VA LUES (n ila i1, n ilai2, ...)

Urutan nilai yang diletakkan dala m tanda kurung disesuaikan dengan urutan kolom dala m tabel. A kan tetapi kita bisa menentukan kolo m-kolo m yang akan diisi dengan data baru, yaitu :

INSERT INTO na ma_tabel (ko lo m1, kolo m2, ...) VA LUES (n ila i1, n ilai2, ...)

Kolo m-ko lo m yang tidak disebutkan pada Insert secara otomatis akan diisi dengan Null dan ko lo m yang tidak d isebutkan dalam Insert haruslah yang tidak Not Null. Contoh :

Insert Into Mahasiswa Values ('01012','Irwan','Jl.Beo 23','Bogor')

2. Pernyataan UPDATE

Pernyataan UPDATE digunakan untuk modifikasi data dala m tabel. Sintaks : UPDATE na ma_tabel SET na ma_ko lo m = nila i_baru WHERE na ma_kolo m = nilai

Pada pernyataan diatas : ·

SET untuk menentukan kolo m yang akan diubah dan nilai penggantinya. ·

WHERE menentukan kondisi dari baris-baris yang akan diganti.

Contoh : Update Mahasiswa Set Nama ='Riri' Where NPM='01010'

3. Pernyataan DELETE

Pernyataan DELETE d igunakan untuk menghapus baris pada tabel. Sintaks : DELETE FROM na ma_tabel WHERE na ma_kolo m = nilai

Contoh : Untuk menghapus baris pada tabel Mahasiswa yang nilai NPMnya adalah 01013, anda bisa me mberikan pernyataan seperti berikut :

Delete From Mahasiswa Where NPM =’01013’

Dala m perintah DELETE jika kita ingin menghapus semua data pada tabel tanpa menghapus tabel maka Where tidak perlu d isebutkan.

DELETE FROM na ma_tabel Atau DELETE * FROM na ma_tabel

4. Pernyataan S ELECT

Secara u mu m perintah SELECT hanya difungsikan untuk mena mpilkan data yang ada di dala m suatu tabel. Tetapi dala m pengembangannya, perintah ini a kan men jadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrogra man di stored procedures dan triggers. Sementara ini dala m basis data 1 yang kita bahas hanya pernyataan SELECT yang digunakan untuk me milih data dari tabel, yang mana hasilnya disimpan dala m tabel hasil yang disebut Result Set. Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel

Untuk me milih beberapa kolo m gunakan pernyataan SELECT sebagai berikut : SELECT na ma_ko lo m1, na ma_ko lo m2, ... FROM na ma_tabel

Contoh : Select NPM, Nama From Mahasiswa à Merupakan pernyataan untuk menampilkan kolo m NPM dan Nama yang

terdapat pada tabel Mahasiswa. NPM Nama ----- ------------------------------ 01001 Rudi 01002 Iwan 01005 Wati 01006 Jihan 01007 Nova 01009 Budi

Untuk me milih se mua ko lo m dari tabel, dapat menuliskan tanda asterisk ( * ) sesudah kata Select. Simbol * bera rti se mua kolo m, seperti berikut :

SELECT * FROM na ma_tabel

Contoh : Select * From Mahasiswa

4.1 Distinct

Untuk me milih hanya nila i yang berbeda, gunakan pernyataan SELECT DISTINCT. Sintaks :

SELECT DISTINCT na ma_ kolo m FROM na ma_tabel

4.2 Klausa WHERE

Klausa WHERE d igunakan untuk menentukan kriteria sele ksi. Untuk me milih data suatu tabel dengan kriteria tertentu, klausa WHERE dapat dita mbahkan pada pernyataan SELECT. Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel WHERE ko lo m operator nila i

Dengan klausa WHERE, operator berikut dapat digunakan : Operator

Keterangan

= Sa ma dengan <>

Tidak sa ma dengan >

Lebih besar dari <

Lebih kec il dari >=

Lebih besar atau sama dengan <=

Lebih kec il atau sama dengan BETW EEN

Antara dua nilai LIKE

Mencari suatu pola

Contoh : Select NPM, Nama From Mahasiswa Where NPM = ’01001’

Perlu d iperhatikan bahwa kita menggunakan tanda petik tunggal (‘ ‘) pada contoh diatas. SQL menggunakan tanda petik tunggal pada nilai teks, sedangkan nilai numerik tidak diberi tanda petik.

4.3 Kondisi LIKE

Kondisi LIKE digunakan untuk menentukan pencarian berdasarkan pola tertentu pada suatu kolom. Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel WHERE na ma_kolo m LIKE pola

Tanda ” % ” dapat digunakan untuk menentukan Wildcard (sembarang huruf), ba ik sebelum maupun sesudah pola. Pernyataan SQL berikut a kan menghasilkan na ma mahasiswa yang dimula i dengan huruf A :

Select * From Mahasiswa Where Nama Depan LIKE ‘A%’

Pernyataan SQL berikut menghasilkan na ma mahasiswa yang diakhiri huruf a : Select * From Mahasiswa Where Nama Depan LIKE ‘%a’

Pernyataan SQL berikut menghasilkan nama mahasiswa yang mengandung pola “di”:

Select * From Mahasiswa Where Nama Depan LIKE ‘%di%’

Tug as :

Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing- masing perintah DM L berikut :

1. Sisipkan min 10 baris data dalam masing-masing tabel

2. Tambahkan min 2 operasi update, delete, dan select

MODUL VI DML (DATA MANIPULATION LANGUAGE)

Tujuan :

v Praktikan dapat memahami dan meman ipulasi data dalam database

dengan lebih luas lagi.

Tug as Pendahuluan

v Sebutkan dan jelaskan macam-macam klausa maupun operator yang

terdapat dalam perintah SELECT selain yang sudah disebutkan di modul sebelu mnya (modul V)!

v Buat contoh perintah SQLnya, masing-masing min 1 !

Dasar Te ori

Perintah SELECT ada lah perintah untuk mena mpilkan data yang ada di dala m suatu tabel, yang mana dala m pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrogra man di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dala m modul V masih ada banyak perintah-perintah SELECT la in, antara la in perintah ALIAS, mena mpilkan data lebih dari 2 tabel, ORDER BY, A ND dan OR, GROUP BY dan HA VING, fungsi agregate, dan beberapa perintah yang lain.

Praktikum

Coba semua contoh operasi DM L d i bawah ini :

1. ALIAS

Perintah Select dapat dilaku kan dengan me mberikan na ma ALIAS yaitu dapat digunakan untuk mengganti nama_ko lo m dan na ma_tabel.

1.1 Memberikan nama lain pada kolom

Sintaks untuk alias nama kolo m : SELECT na ma kolo mla ma A S na mako lo mbaru FROM na matabel; Atau SELECT na ma_ko lo m AS na ma_alias_kolom FROM na ma_tabel

Jika kita ingin me mbuat nama alias untuk kolo m Na ma Depan menjad i ND dan Na ma Bela kang menjad i NB, gunakan pernyataan SQL berikut :

SELECT Na ma Depan AS ND, Na ma Be la kang AS NB FROM Mahasiswa

1.2 Menggunakan alias untuk nama tabel

Sintaks untuk alias nama tabel : SELECT n ma lias.jenis, n ma lias.harga FROM na matabel n ma lias; Atau SELECT na ma_ko lo m FROM na ma_tabel AS nama_a lias_tabel

Jika kita ingin me mbuat nama alias untuk Tabel Mahasiswa menjadi M HS, gunakan pernyataan SQL berikut :

SELECT * FROM Mahasiswa AS MHS

2. Menampilkan data lebih dari dua tabel

Perintah Se lect juga dapat dila kukan untuk beberapa tabel sekaligus dengan syarat bahwa tabel-tabel yang akan ditampilkan semua me mpunyai relasi baik secara implisit maupun eksplisit.

Salah satu kunci utama dala m mela kukan perintah Select untuk beberapa tabel sekaligus adalah dengan melaku kan kondisi relasi antara tabel-tabel yang akan ditamp ilkan untuka fie ld yang saling berelasi. Se la in itu, juga perlu diperhatikan tentang tabel yang akan menjadi acuan pertama da la m penamp ilan data yang dimaksud. Sebagai contoh adalah jika kita ingin mena mpilkan data mahasiswa yang mengamb il jurusan, ma ka tabel acuannya adalah tabel mahasiswa. Sintaks :

SELECT * FROM na matabel1, na matabel2, na matabel-n;

Misalkan dala m tabel Mahasiswa field -fieldnya terdiri dari NRP, Na ma Depan, Na ma Bela kang, Te mpat Lahir, TanggalLahir, Ala mat, dan KodeJurusan. Sedangkan di tabel Jurusan fie ld-fie ldnya adalah KodeJurusan dan Na maJurusan. Berikut ini perintah untuk mena mpilkan semua data pada tabel Mahasiswa dan Jurusan,

SELECT * FROM Mahasiswa, Jurusan

Maka tabel yang dihasilkan dari perintah SQL diatas adalah semua fie ld dari tabel Mahasiswa dan tabel Jurusan akan ditampilkan, yaitu NRP, Na ma Depan,

Na ma Bela kang, Te mpat Lahir, TanggalLahir, Ala mat, Mahasiswa.KodeJurusan, Jurusan.KodeJurusan, dan NamaJurusan.

3. Klausa Order By

Klausa ORDER BY d igunakan untuk mengurutkan data. Jika kita ingin mena mp ilkan nama mahasiswa berdasarkan urutan abjad, pernyataan SQL-nya adalah :

SELECT * FROM Mahasiswa ORDER BY Na ma Depan

Jika kita ingin mena mp ilkan na ma mahasiswa dan kotanya berdasarkan urutan abjad, ma ka pernyataan SQL-nya adalah :

SELECT * FROM Mahasiswa ORDER BY Na ma Depan, Kota

Jika kita ingin mena mpilkan na ma mahasiswa dengan urutan abjad terbalik, maka pernyataan SQL-nya adalah :

SELECT * FROM Mahasiswa ORDER BY Na ma Depan DESC

Jika kita ingin mena mpilkan na ma mahasiswa berdasarkan urutan abjad terbalik dan nama kota berdasarkan urutan abjad, ma ka pernyataan SQL-nya adalah :

SELECT * FROM Mahasiswa ORDER BY Na ma Depan DESC, Kota ASC

4. Operator AND dan OR

AND dan OR menggabungkan dua atau lebih kondisi pada klausa WHERE. ·

Operator AND mena mp ilkan data jika semua kondisi yang diminta bernila i benar.

· Operator OR mena mpilkan data jika ada kondisi yang benar. Pernyataan SQL untuk mena mpilkan mahasiswa dengan nama depan Ita dan nama kota Yogyakarta adalah:

SELECT * FROM Mahasiswa WHERE Na maDepan = ’Ita ’ AND Kota = ’Yogyakarta’

Pernyataan SQL untuk mena mpilkan mahasiswa dengan nama depan Ita atau kota Yogyaka rta adalah :

SELECT *

FROM Mahasiswa WHERE Na maDepan = ’Ita ’ OR Kota = ’Yogyakarta’

Operator AND dan OR dapat digunakan secara bersamaan, yaitu : SELECT * FROM Mahasiswa WHERE (Na ma Depan = ‘Ita’ OR Kota = ‘Yogyakarta’) AND (Ala mat = ‘Jl. Jend. Sudirman 3’)

5. Klausa GROUP BY dan HAVING

5.1 GROUP BY

Hasil dari Select juga dapat dikelo mpokkan. Hal ini dapat dilakukan dengan mena mbahkan klausa GROUP BY. Sintaks :

SELECT na ma_ko lo m, COUNT (na ma_ kolo m) FROM na ma_tabel GROUP BY na ma_ kolo m

Jika kita ingin mena mpilkan na ma mahasiswa yang lahir di satu kota, gunakan pernyataan berikut :

SELECT Te mpat_ Lahir, COUNT (Te mpat_ Lahir) as Ju mlah FROM Mahasiswa GROUP BY Te mpat_Lahir

5.2 HAVING

Klausa HA VING d isediakan untuk mendukung klausa GROUP BY. Kegunaannya adalah untuk menentukan kondisi bagi GROUP BY. Ke lo mpok yang me menuhi kondisi HA VING saja yang akan dihasilkan. Sintaks :

SELECT na ma_ko lo m, COUNT (na ma_ kolo m) FROM na ma_tabel GROUP BY na ma_ kolo m HA VING COUNT (na ma_kolo m) kondisi nilai

Misalnya, pernyataan untuk mencari kota yang menjad i te mpat lahir oleh lebih dari satu mahasiswa adalah:

SELECT Te mpat_ Lahir, COUNT (Te mpat_ Lahir) AS Ju mlah FROM MAHASISWA GROUP BY Te mpat_Lahir HA VING COUNT (Te mpat_Lah ir) > 1

6. Fungsi Aggregate (COUNT, S UM, AVG, MIN dan MAX)

Fungsi aggregate me rupakan fungsi-fungsi yang digunakan untuk me la kukan perhitungan statistikal dala m tabel. Secara u mu m, hanya field yang bertipe nume rik (int, money dan sejenisnya) yang bisa dikenakan fungsi ini. SQL menyedia kan sejumlah fungsi yang dapat digunakan pada SELECT.

Fungsi

Keterangan

AVG Menghitung rata-rata COUNT

Menghitung cacah data MAX

Mempero leh nilai terbesar MIN

Mempero leh nilai terkec il SUM

Mempero leh ju mlahan data

6.1 COUNT

Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Pernyataan SQL untuk menghitung jumlah baris kolom Na maDepan pada tabel Mahasiswa adalah :

SELECT COUNT (Na maDepan) AS Ju mlahMahasiswa FROM Mahasiswa

6.2 SUM

Perintah yang digunakan untuk menghitung jumlah nila i suatu kolom pada tabel. Pernyataan SQL untuk menghitung jumlah nilai kolo m SKS pada tabel Matakuliah : SELECT SUM (SKS) AS TotalSKS FROM Mataku liah

6.3 AVG

Perintah yang digunakan untuk menghitung rata-rata dari nila i suatu kolom pada tabel. Contoh : perintah untuk menghitung rata-rata dari kolo m SKS pada tabel Matakuliah :

SELECT A VG(SKS) AS RataSKS FROM Mataku liah

6.4 MIN

Perintah yang digunakan untuk mena mp ilkan nila i terkec il dari suatu kolom pada tabel. Contoh : perintah untuk mena mpilkan nilai terkecil dari kolo m SKS pada tabel Matakuliah :

SELECT M IN(SKS) AS Ju mlahMin imu m FROM Mataku liah

6.5 MAX

Perintah yang digunakan untuk mena mpilkan nila i terbesar dari suatu kolo m pada tabel. Contoh : perintah untuk mena mpilkan nilai terbesar dari kolo m SKS pada tabel Matakuliah :

SELECT MAX(SKS) AS Ju mlahMaksimu m FROM Mataku liah

7. Operator IN

Operator IN b isa digunakan jika kita mengetahui nila i pasti yang akan dia mbil untuk setidaknya satu kolom. Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel WHERE na ma_kolo m IN (nila i1, nila i2, ...)

Untuk mena mpilkan mahasiswa dengan nama depan Hasan atau Adi, gunakan pernyataan SQL berikut :

SELECT * FROM Mahasiswa WHERE Na maDepan IN (’Hasan’, ’Adi’)

8. Operator BETWEEN … AND

Operator BETW EEN … AND me milih data antara dua nila i. Nilai dapat berupa angka, teks, atau tanggal. Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel WHERE na ma_kolo m BETW EEN nila i1 AND nila i2

Untuk mena mpilkan Mahasiswa yang namanya diantara (dan termasuk) Adi dan Ita, gunakan perintah SQL berikut :

SELECT * FROM Mahasiswa WHERE Na maDepan BETW EEN ’Ad i’ A ND ’Ita’

Operator BETW EEN … AND diperlaku kan secara berbeda pada DBMS berbeda. Pada satu DBMS, data Mahasiswa yang dimunculkan adalah yang berada diantara Adi dan Ita, tetapi Adi dan Ita tidak dimunculkan. Pada DBMS lain, Mahasiswa yang dimunculkan termasuk Adi dan Ita. Ke mud ian, pada DBM S la innya, Adi dimunculkan, tetapi Ita tidak. Untuk mena mpilkan Mahasiswa di luar jangkauan contoh, gunakan operator NOT seperti berikut :

SELECT * FROM Mahasiswa WHERE Na maDepan NOT BETW EEN ‘Adi’ AND ‘Ita’

Tug as :

Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing- masing perintah DM L berikut :

1. Buatlah perintah SQL untuk menampilkan data yang berasal dari dua tabel dan tiga tabel.

2. Buatlah perintah SQL yang menggunakan klausa Order By, Group By, dan Having.

3. Buatlah perintah SQL yang menggunakan operator AND, OR, IN dan BETW EEN ... A ND.

4. Buatlah perintah SQL yang menggunakan fungsi Agregate (masing- masing 1).

MODUL VII Evaluasi Praktikum I

Tujuan : v Praktikan lebih memahami dan mengimp lementasikan tentang ERD v Praktikan lebih memahami dan mengimp lementasikan tentang DDL

dan DML

Tug as Pendahuluan

1. Buatlah ERD database

a. Nrp genap : data base perpusatakaan

b. Nrp ganjil : data base retail

Praktikum :

1. Implementasikan database anda pada Power Designer

2. Generate database anda pada MySql

3. Untuk selanjutnya Ikuti perintah yang diberikan oleh asisten praktikum.

MODUL VIII DML (DATA MANIPULATION LANGUAGE)

Tujuan :

v Praktikan dapat memahami dan meman ipulasi data dalam database

dengan lebih luas lagi.

Tug as Pendahuluan

v Apa yang anda ketahui tentang JOIN, UNION, INTERSECT,

EXCEPT, dan operator comparison ANY dan A LL? v Buat contoh perintah SQL untuk SELECT yang menggunakan JOIN,

UNION, INTERSECT, EXCEPT, dan operator comparison ANY dan ALL !

Dasar Te ori

Perintah SELECT ada lah perintah untuk mena mpilkan data yang ada di dala m suatu tabel, yang mana dala m pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrogra man di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dala m modul V dan VI, masih ada banyak perintah-perintah SELECT lain yang lebih luas lagi dala m penggunaan perintah SELECT.

Praktikum

Coba semua contoh operasi DM L d i bawah ini :

1. JOIN dan KUNCI

Terkadang kita harus me milih data dari dua tabel atau lebih untuk mendapatkan hasil yang komplit. Oleh karena itu, kita harus mela kukan sebuah JOIN. Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolo m-ko lo m yang berasal dari tabel- tabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolo m pada tabel yang berbeda.

Tabel-tabel dala m sebuah basisdata dapat dihubungkan satu sama la in menggunakan kunci. Kunci utama ada lah sebuah kolo m dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antartabel tanpa mengulangi se mua data pada setiap tabel.

Misalnya kita me milih data dari dua tabel (tabel Mahasiswa dan Jurusan) dengan mengacu pada kedua tabel sebagai berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA, JURUSAN WHERE MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

Untuk mengetahui siapa yang mengamb il jurusan Teknik Informatika, gunakan pernyataan SQL berikut :

SELECT MAHASISWA.Na maDepan FROM MAHASISWA, JURUSAN WHERE MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan AND JURUSAN.Na ma Jurusan = "Teknik In formatika"

Kita pun bisa menggunakan kata kunci JOIN untuk me milih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT JOIN, dan RIGHT JOIN.

1.1 INNER JOIN

Inner join digunakan untuk mena mpilkan data dari dua tabel yang berisi data sesuai dengan syarat di belakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan. Sintaks untuk INNER JOIN :

SELECT fie ld1, fie ld2, … FROM tabel1 INNER JOIN tabel2 ON tabel1.kunci_uta ma = tabel2.kunci_asing

Misalnya, untuk mengetahui siapa yang telah mengambil jurusan dan jurusan apa yang diambil, kita dapat menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA INNER JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

INNER JOIN a kan me munculkan semua baris kedua tabel jika ada pasangannya. Jika ada baris pada Tabel Mahasiswa yang tidak me miliki pasangan, maka baris tidak a kan dimunculkan pada Tabel Jurusan.

1.2 LEFT JOIN

Le ft join digunakan untuk mena mpilkan semua data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tida k me miliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Sintaks untuk LEFT JOIN :

SELECT fie ld1, fie ld2, … FROM tabel1 LEFT JOIN tabel2 ON tabel1.kunci_uta ma = tabel2.kunci_asing

Misalkan, kita ingin mena mpilkan semua mahasiswa dan jurusan yang diambil, jika ada. Kita dapat menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA LEFT JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

LEFT JOIN akan me munculkan semua baris tabel perta ma (Mahasiswa), bahkan jika t idak ada pasangannya di tabel kedua (Jurusan). Jika ada baris pada tabel Mahasiswa yang tidak ada pasangannya pada tabel Jurusan, maka ia pun akan dimunculkan.

1.3 RIGHT JOIN

Right join digunakan untuk mena mpilkan semua data dari tabel sebelah kanan perintah right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak me miliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL. Sintaks untuk RIGHT JOIN :

SELECT fie ld1, fie ld2, … FROM tabel1 RIGHT JOIN tabel2 ON tabel1.kunci_uta ma = tabel2.kunci_asing

Misalkan, kita ingin mena mpilkan semua na ma dari tabel Mahasiswa dan Jurusan yang diambil, jika ada. Kita dapat menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA RIGHT JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

RIGHT JOIN a kan me munculkan semua baris tabel kedua (Jurusan), bahkan jika tidak ada pasangannya di tabel pertama (Mahasiswa). Jika ada baris pada tabel Jurusan yang tidak ada pasangannya pada tabel Mahasiswa, maka ia pun akan dimunculkan.

Untuk mengetahui siapa yang mengamb il jurusan Manajemen Info rmatika, kita menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan FROM MAHASISWA INNER JOIN JURUSAN ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan WHERE JURUSAN.Na maJurusan = ‘Manaje men Informatika’

2. UNION dan UNION ALL

2.1 UNION

Perintah UNION digunakan untuk me milih informasi yang berhubungan dari dua tabel, mirip dengan perintah JOIN. Na mun, ket ika menggunakan perintah UNION, tipe data semua kolo m yang dipilih harus sama. UNION hanya me munculkan nila i unik.

Sintaks : Pernyataan 1 UNION Pernyataan 2

Misalkan, kita me mpunyai tabel baru bernama Mahasiswa2 dimana field -fieldnya adalah sama dengan field di tabel Mahasiswa yaitu NRP, Na ma Depan, Na ma Bela kang, Te mpatLah ir, TanggalLahir, dan Ala mat. Maka untuk mena mp ilkan semua Mahasiswa pada tabel Mahasiswa dan Mahasiswa2, gunakan pernyataan berikut :

SELECT Na ma Depan FROM MA HASISWA UNION SELECT Na ma Depan FROM MA HASISWA2

Perintah tidak dapat digunakan untuk mena mpilkan semua mahasiswa pada tabel Mahasiswa dan Mahasiswa2. Pada contoh, kita me mpunyai dua mahasiswa dengan nama sama (yaitu Hasan Martono) dan dua mahasiswa dengan nama depan sama (yaitu Kiki), ma ka hanya satu yang dimunculkan ka rena perintah UNION hanya me milih nila i unik.

2.2 UNION ALL

Perintah UNION ALL sama dengan perintah UNION, kecua li bahwa UNION ALL me milih se mua nilai. Sintaks :

Pernyataan 1 UNION A LL Pernyataan 2

Dengan menggunakan tabel Mahasiswa dan Mahasiswa2, kita dapat menggunakan pernyataan berikut untuk mena mpilkan semua mahasiswa dari dua tabel :

SELECT Na ma Depan FROM MA HASISWA UNION A LL SELECT Na ma Depan FROM MA HASISWA2

3. Pernyataan S ELECT INTO

Pernyataan SELECT INTO digunakan untuk me mbuat backup suatu tabel. Sintaks : SELECT na ma_ko lo m INTO na ma_tabel_baru IN basisdata_baru FROM Su mber

Contoh berikut adalah me mbuat backup Tabel Mahasiswa. SELECT * INTO Mahasiswa_Bac kup FROM Mahasiswa

Klausa IN dapat digunakan untuk menyalin tabel ke basisdata lain. SELECT Mahasiswa.* INTO Mahasiswa IN ’Backup.mdb’ FROM Mahasiswa

Jika hanya ingin menyalin beberapa fie ld, kita dapat me laku kannya dengan menuliskan fie ld-field setelah pernyataan SELECT.

SELECT Na ma Depan, Na ma Be la kang INTO Mahasiswa_Backup FROM Mahasiswa

Kita dapat pula mena mbahkan klausa WHERE. Contoh berikut adalah me mbuat tabel Mahasiswa_Backup dengan dua kolom (Na ma Depan, Na ma Be la kang) dengan me milih Mahasiswa yang tempat lahirnya di Yogyakarta dari tabel Mahasiswa.

SELECT Na ma Depan, Na ma Be la kang INTO Mahasiswa_Backup FROM Mahasiswa WHERE Te mpat_Lah ir = ‘Yogyakarta’

Kita pun dapat me milih data lebih dari satu tabel. Contoh berikut adalah me mbuat tabel baru Mahasiswa_Jurusan_Backup yang mengandung data dua tabel, Mahasiswa dan Jurusan.

SELECT Mahasiswa.Na ma Depan, Jurusan.Na maJurusan INTO Mahasiswa_Jurusan_Backup FROM Mahasiswa INNER JOIN Jurusan ON Mahasiswa.KodeJurusan = Jurusan.KodeJurusan

4. Operator comparison ANY dan ALL

4.1 Operator ANY

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

Gaji > ANY (S) Jika subquery S menghasilkan G1, G2, ..., Gn , ma ka kondisi di atas identik dengan: (gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn ) Misalkan perintah untuk mena mpilkan semua data SKS yang ju mlahnya bukan yang terkecil :

SELECT * FROM Mataku liah WHERE SKS > A NY (SELECT SKS FROM Mataku liah)

4.2 Operator ALL

Operator ALL digunakan untuk me laku kan perbandingan dengan subquery. Kondisi dengan ALL menghasilkan n ila i TRUE (benar) jika subquery tidak menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap nila i query terhadap hasil subquery. Misalkan perintah untuk mena mpilkan data SKS yang ju mlahnya paling tinggi :