Modul Praktikum Basis Data - MySQL

16
MODUL PRAKTIKUM BASIS DATA PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA

Transcript of Modul Praktikum Basis Data - MySQL

Page 1: Modul Praktikum Basis Data - MySQL

MODUL PRAKTIKUM BASIS DATA

PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA

YOGYAKARTA

Page 2: Modul Praktikum Basis Data - MySQL

PERTEMUAN 1

MENJALANKAN MYSQL SERVER 1. Buka MS. DOS dengan jalan klik start-run.., pada menu run ketikkan CMD

kemudian enter 2. Ubah direktori C prompt menjadi C:\apache\mysql\bin\ (tergantung pada

letak file mysqld.exe yaitu mysql daemon sebagai server) 3. Ketikan mysqld lalu enter MENJALANKAN MYSQL CLIENT 1. Buka MS. DOS dengan jalan klik start-run.., pada menu run ketikkan CMD

kemudian enter 2. Ubah direktori C prompt menjadi C:\apache\mysql\bin\ (tergantung pada

letak file mysql.exe) 3. Ketikan mysql lalu enter 4. atau ketikan mysql –u user –h host –p enter, lalu masukan password (user: nama user dari mysql, host: nama komputer dimana mysql server jalan) 5. Setelah itu anda akan mendapat menu utama dari MySQL (tergantung versi

mysql yang digunakan) Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to server version: 4.0.11agamma Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 6. Untuk keluar dari MySQL mysql> \q atau mysql> quit; MELIHAT TANGGAL & WAKTU Untuk melihat tanggal didalam MySql anda dapat melakukan dengan fungsi ”curdate()” yaitu current date. mysql>select curdate(); Sedangkan untuk melihat waktu dengan fungsi “curtime()” yaitu current time. mysql>select curtime(); Untuk melihat waktu dan sekaligus tanggal, maka fungsi yang dituliskan adalah “now()” mysql>select now(); MYSQL SEBAGAI KALKULATOR Dengan MySQL, kita tidak usah bingung ketika suatu saat kita harus menggunakan alat bantu kalkulator, karena hal ini dapat ditangani langsung oleh MySql tanpa

Page 3: Modul Praktikum Basis Data - MySQL

harus membuat program terlebih dahulu. perintah yang dituliskan adalah select rumus_perhitungan; mysql>select 5+5; TUGAS 1 1. Tuliskan hasil perintah melihat tanggal dengan menggunakan MySql 2. Tuliskan hasil perintah melihat waktu dengan menggunakan MySql 3. Tuliskan hasil perintah melihat tanggal dan waktu dengan menggunakan MySql 4. Tuliskan hasil perintah dari 10*5, 5+10, 123-100, 10/3 MELIHAT DATABASE Untuk melihat database yang telah ada atau dibuat perintah yang digunakan adalah show databases; mysql>show databases; Perintah diatas digunakan untuk melihat semua databases yang ada di dalam MySql Server, sedangkan untuk melihat databases yang sedang aktif menggunakan perintah berikut mysql>select database(); Untuk menggunakan atau masuk ke dalam suatu database yang telah dibuat perintah yang digunakan adalah “use <nama_database>;” mysql>use akademik; untuk membuka database dengan nama akademik Jika terdapat pesan “database changed”, berarti anda telah berhasil masuk ke database tersebut, tetapi jika terdapat pesan ERROR 1049:uknown database, berarti anda tidak berhasil masuk ke database tersebut. MELIHAT TABEL Untuk melihat tabel yang ada dalam suatu database perintah yang digunakan adalah mysql>show tables from <nama database>; atau bila suatu database sudah dibuka menggunakan ”use” maka perintahnya: mysql>show tables; MEMBUAT DAN MENGHAPUS DATABASE Perintah yang digunakan untuk membuat database adalah sebagai berikut: create database <nama database>; Contoh: mysql>create database akademik; Untuk menghapus database yang telah dibuat, perintah yang digunakan adalah drop database <nama database>; Contoh: mysql>drop database akademik;

Page 4: Modul Praktikum Basis Data - MySQL

TUGAS 2 1. Tuliskan perintah untuk melihat semua database yang ada dan tulis hasilnya 2. Masuklah ke salah satu database dan tuliskan tabel-tabel yang ada pada

database tersebut 3. Buatlah sebuah database dengan nama akademik, tulis perintah dan hasilnya 4. Tuliskan perintah untuk melihat database yang sudah anda buat 5. Masuklah ke dalam database yang anda buat, tulis perintah dan hasilnya 6. Hapuslah database yang anda buat, tulis perintah dan hasilnya

Page 5: Modul Praktikum Basis Data - MySQL

PRAKTIKUM 2

MEMBUAT TABEL Setelah menciptakan suatu database dan mengaktifkan database tersebut maka dapat dilakukan perintah pembuatan tabel CREATE TABLE nm_tabel (

nm_kolom1 tipe_data([ukuran]),

nm_kolom2 tipe_data([ukuran]),

...

nm_kolom_n tipe_data([ukuran]));

Contoh : CREATE TABLE mhs (

nim varchar(8),

nama varchar(30),

alamat varchar(100));

Latihan: Buatlah tabel Dosen dengan struktur sebagai berikut:

Nama kolom Tipe data

Nip Varchar(15)

Nama Varchar(30)

Tgl_lahir Date

Alamat Varchar(100)

Kemudian periksalah apakah tabel yang dibuat sudah ada dalam database! MELIHAT STRUKTUR TABEL Untuk melihat struktur tabel yang telah dibuat digunakan perintah describe <nama_tabel>;

atau

desc <nama_tabel>;

Contoh : mysql>describe produk;

Latihan: Lihatlah struktur tabel yang telah anda buat, dan tuliskan hasilnya! MENGUBAH STRUKTUR TABEL Ada empat macam perubahan dalam struktur tabel, yaitu: 1. Perubahan nama field/kolom Perubahan yang terjadi hanya pada nama field/kolom saja. Nama field/kolom lama diganti dengan nama field/kolom yang baru. alter table nm_tabel

change nm_field_lama nm_field_baru tipe_data;

Contoh : mysql>alter table mhs change nim nomhs varchar(10);

Page 6: Modul Praktikum Basis Data - MySQL

Latihan: gantilah nama kolom nama pada tabel mhs menjadi namaMhs kemudian lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas, tulis hasilnya! 2. Perubahan tipe data Perubahan yang terjadi hanya pada tipe data yang digunakan oleh field/kolom tertentu. Tipe data baru langsung disebutkan dibelakang nama field/kolom, tanpa harus menyebutkan tipe data lama. alter table nm_tabel modify nm_field tipe_data_baru;

Contoh : mysql>alter table mhs modify nama varchar(50);

Latihan: gantilah tipe data pada field alamat pada tabel mhs dengan tipe data varchar(50) kemudian lihatlah hasil perubahan dengan menggunakan perintah Melihat Struktur Tabel seperti pada pembahasan diatas, tulis hasilnya! 3. Penambahan field Untuk menambahkan kolom baru pada tabel perintah yang digunakan adalah: alter table nm_tabel add nm_field tipe_data_baru;

Contoh : mysql>alter table mhs add tgl_lahir date;

Latihan: buatlah field baru pada tabel mhs dengan nama field ”jkel” tipe data varchar(2), kemudian lihat dan tuliskan hasil perubahannya! 4. Penghapusan field Untuk menghapus kolom pada tabel perintah yang digunakan adalah: alter table nama_tabel drop column nama_field;

Contoh : mysql>alter table mhs drop alamat;

Latihan: hapuslah field alamat pada tabel kemudian lihatlah dan tuliskan hasil perubahannya! MENGGANTI NAMA TABEL Untuk mengganti nama sebuah tabel dalam database perintah yang digunakan adalah: alter table nama_tabel_lama rename nama_tabel_baru;

Contoh : mysql>alter table mhs rename mahasiswa;

Latihan: ubahlah nama tabel mhs dengan nama mahasiswa, kemudian lihat dan tulis hasil perubahannya!

Page 7: Modul Praktikum Basis Data - MySQL

MENGHAPUS TABEL Untuk menghapus sebuah tabel dalam database perintah yang digunakan adalah: drop table <nama_tabel>;

Contoh: drop table mhs;

TUGAS: 1. Buatlah database akademik dan buatlah table mahasiswa dengan struktur

sebagai berikut:

Nama kolom Tipe data

Nim Int(30)

Nama Varchar(25)

Alamat Varchar(30)

Jk Varchar(2)

Tlp Varchar(25)

2. Dari pembuatan tabel diatas ubahlah nama field Tlp menjadi HP, lihat

struktur tabel dan tuliskan hasilnya! 3. Ubahlah tipe data tabel di atas pada field alamat menjadi Varchar(100), lihat

struktur tabel dan tuliskan hasilnya! 4. Tambahkan satu field baru dengan nama field nama_ortu tipe data

varchar(25), lihat struktur tabel dan tuliskan hasilnya! 5. Hapuslah satu field dari tabel tersebut, lihat struktur tabel dan tuliskan

hasilnya serta field apa yang anda hapus! 6. Ubahlah nama tabel tersebut dengan nama mhs, lihat hasil perubahan dengan

perintah melihat tabel yang ada, kemudian tuliskan hasilnya!

Page 8: Modul Praktikum Basis Data - MySQL

PRAKTIKUM 3

Menentukan Kunci Primer (Primary Key) Secara sederhana kunci primer digunakan untuk menyatakan bahwa suatu nilai tidak boleh ada yang sama dan nilai tersebut harus diisi (NOT NULL). Penetapan kunci primer dibuat pada saat pembuatan tabel: create table mhs (

nim varchar(8) not null primary key,

nama varchar(25),

sex char(1),

alamat varchar(30));

Memberikan nilai bawaan (Default) Jika kita tidak memberikan suatu nilai dalam kolom tertentu maka oleh sistem secara otomatis akan mengisi dengan nilai NULL. Untuk memberikan nilai default pada kolom tertentu maka pada saat pembuatan tabel dapat menggunakan perintah berikut: create table MatKul (

KD_MK varchar(10) not null primary key,

nama_MK varchar(20),

SKS int default 0);

Memasukkan Data (Insert) Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel, yaitu: 1. insert into nama_tabel values (isi_field_1,…,isi_field_n); Contoh : insert into mhs values (‘07600001’,’budi’, ‘bantul’);

2. insert into nama_tabel (nama_field_1, nama_field_2,…,nama_field_n)

values (isi_field_1, isi_field_2,…,isi_field_n); Contoh : insert into mhs (nim,nama) values (‘07600001’,’budi’);

Latihan: Masukan data pada tabel mhs menggunakan perintah seperti di atas! Menampilkan Data (Select) Berikut ini perintah untuk menampilkan data: Select [fields] from [nama_tabel]

Where [kondisi] Order by [nama_field]

Group by [nama_field] asc / desc

Contoh : Select nim from mhs;

Select nim, nama from mhs;

Select * from mhs;

Page 9: Modul Praktikum Basis Data - MySQL

Catatan: Setelah penulisan select, [fields] dapat diganti dengan menyebutkan satu nama field saja atau beberapa field sekaligus yang dipisah dengan tanda koma (,). Penulisan field-field tersebut digunakan untuk memunculkan data dari kolom mana saja yang akan ditampilkan. Jika seluruh kolom akan ditampilkan dapat menggunakan tanda asterik (*) untuk mewakilinya. Latihan: tampilkan data yang telah dimasukkan pada latihan praktik diatas dengan mengetikkan perintah: select nim,nama from mhs;

untuk menampilkan nim dan nama mahasiswa Select * from mhs;

Untuk menampilkan semua data mahasiswa Mengurutkan Tampilan Klausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan data ditampilkan urut berdasarkan pada urutan terkecil ke besar, dapat menggunakan ASC (ascending). Sedangkan untuk mengurutkan data berdasarkan yang terbesar ke kecil, dapat menggunakan DESC (descending). Latihan : tampilkan data dari tabel yang telah dibuat diatas dengan menggunakan model urut sesuai no secara descending, dengan mengetikkan perintah: select * from mhs order by nim desc;

Mengubah Data (Update) Perintah yang digunakan untuk merubah data adalah: Update nama_tabel

set nama_field_1=isi_baru_1,

nama_field_2=isi_baru_2,

...,

nama_field_n=isi_baru_n

Where kriteria;

Contoh : Update mhs set alamat=’DIY’

where alamat=’yogya’;

Latihan: ubahlah nama mahasiswa dengan nim=’07650001’ menjadi ‘Ahmad’. Lihat hasilnya dengan menampilkan isi tabel!

Page 10: Modul Praktikum Basis Data - MySQL

TUGAS: 1. Buatlah sebuah tabel mahasiswa dengan struktur berikut, lihat strukturnya

dan tulis hasilnya!

Nama kolom Tipe data

Nim varchar(8)

Nama Varchar(30)

alamat Varchar(50)

2. Isikan data berikut ke dalam tabel tersebut! Tulis perintah dan hasilnya!

Nim Nama alamat

07650001 Budi Bantul

07650002 Ari Bantul

07650003 Ahmad Sleman

07650004 Desi Sleman

3. Tampilkan data nama dan alamat mahasiswa saja dari tabel tersebut! Tulis

perintah dan hasilnya! 4. Tampilkan data mahasiswa terurut berdasarkan nama!tulis perintah dan

hasilnya! 5. Ubah data mhs yang alamatnya=’bantul’ menjadi alamatnya=’kulon progo’!

tulis perintah dan hasilnya!

Page 11: Modul Praktikum Basis Data - MySQL

PERTEMUAN 4 OPERATOR RELASIONAL Operator yang digunakan yntuk perbandingan antara dua buah nilai. Jenis dari operator ini adalah = , >, <, >=, <=, <> Latihan: (tulis hasilnya) select * from mhs where alamat=’sleman’;

select * from mhs where jml_saudara > 5;

Operator BETWEEN dan NOT BETWEEN Operator between ini untuk menangani operasi “jangkauan” Latihan: (tulis hasilnya) select * from mhs

where tgl_lhr between '1980-01-01' and '1982-12-29';

Operator LIKE Operator LIKE atau NOT LIKE sangat bermanfaat dalam mencari suatu data. Operasi ini digunakan dengan menyebutkan tanda wildcard berupa garis bawah (_) atau (%). Tanda garis bawah (_) berarti sebuah karakter apa saja. Contoh a_u cocok dengan anu,aku,alu,abu dan tidak cocok untuk andu,ambu ataupun allu. Tanda % berarti cocok dengan kata apa saja dan berapapun panjangnya Latihan: (tulis hasilnya) select nim,nama,alamat from mhs where nama like 'a%';

TUGAS:

1. Buatlah tabel seperti berikut:

Nama kolom Tipe data

Kode Int(10)

Nama Varchar(25)

Harga Int(11)

Isikan data sebagai beikut:

Kode Nama Harga

A Sampho 1000

B Deterjen 1000

C Sabun mandi 1500

D Pasta gigi 5000

E Sabun cuci 1200

2. Tampilkan data yang harganya lebih dari 1000! Tulis perintah dan hasilnya!

3. Tampilkan data yang harganya antara 1000 - 3000! Tulis perintah dan

hasilnya!

4. Tampilkan data yang namanya mengandung kata ‘sabun’! Tulis perintah dan

hasilnya!

Page 12: Modul Praktikum Basis Data - MySQL

PERTEMUAN 5

OPERATOR AND dan OR

And dan or menggabungkan dua atau lebih kondisi pada klause where. Operator

and menampilkan data jika semua kondisi yang diminta bernilai benar, sedangkan

operator or menampilkan data jika ada kondisi yang benar.

Select * from <nama_tabel>

Where <kondisi1> and <kondisi2>

Latihan: (tulis hasilnya)

Select * from mhs

Where nama=’budi’ and alamat=’bantul’;

TUGAS:

1. Buatlah tabel seperti berikut:

Nama kolom Tipe data

Kode Int(10)

Nama Varchar(25)

Harga Int(11)

Isikan data sebagai berikut:

Kode Nama Harga

A Sampho 1000

B Deterjen 1000

C Sabun mandi 1500

D Pasta gigi 5000

E Sabun cuci 1200

2. Tampilkan data yang namanya sabun cuci atau harga lebih besar dari 1000,

tuliskan hasilnya!

3. Tampilkan data yang namanya sabun mandi atau harganya 1000, tuliskan

hasilnya!

4. Buatlah tabel sesuai kreasi anda dan lakukan perintah-perintah yang

mengandung and dan or serta tulis hasilnya!

Page 13: Modul Praktikum Basis Data - MySQL

PRAKTIKUM 6

MySQL mempunyai kemampuan untuk menggabungkan dua tabel atau lebih guna

mendapatkan informasi yang diinginkan. Proses yang dilakukan dengan nama

JOIN. Dalam penggabungan dari beberapa tabel (join) ada beberapa hal yang

perlu diperhatian, antara lain :

1. Setiap kolom disebutkan dengan bentuk,

2. tabel-tabel yang dilibatkan dalam queri perlu disebutkan dalam Klausa FROM

dengan antar tabel dipisah oleh koma.

3. Kondisi dalam WHERE menetukan macam join yang terbentuk

Macam-macam bentuk Penggabungan (Join)

1. CROSS JOIN

Cross Join merupakan bentuk penggabungan yang paling sederhana, tanpa ada

kondisi.

SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;

2. INNER JOIN

Hampir sama dengan cross join tetapi diikuti dengan kondisi

SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisi

Contoh:

select * from mhs inner join nilai on mhs.nim=nilai.nim;

3. STRAIGHT JOIN

Straight Join identik dengan inner join tetapi tidak mengenal klausa where

SELECT field FROM Tabel1 SATRIGHT JOIN tabel2

4. LEFT (OUTER) JOIN

Akan menampilkan tabel disebelah kanannya (dalam hal ini tabel nilai) dengan

NULL jika tidak terdapat hubungan antara tabel disebelah kiri (dalam hal ini

tabel siswa)

SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisi

Contoh:

select mhs.nim,nama,nilai

from mhs left join nilai on mhs.nim=nilai.nim;

5. RIGHT/OUTER JOIN

Kebalikan dari LEFT JOIN, jika tidak menemukan hubungan dengan tabel

disebelah kiri maka akan ditampilkan NULL

SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisi

Contoh:

select mhs.nim,nama,nilai

from mhs right join nilai on mhs.nim=nilai.nim;

Page 14: Modul Praktikum Basis Data - MySQL

Latihan:

Buatlah tabel mahasiswa dan tabel nilai berikut:

Nim Nama Alamat

123 Heny Jakarta

124 Ayu Bandung

125 Dewi Surabaya

126 Dedi Surabaya

127 Adrian Bandung

Nim mtkuliah Nilai

123 Algoritma A

124 Basis Data B

125 Algoritma A

126 Basis Data A

127 Sistem Operasi A

TUGAS:

1. Buatlah tabel barang dan tabel harga, dan isikan datanya minimal 5 data,

tampilkan data dari kedua tabel tersebut dan tuliskan hasilnya!

2. Dari tabel tersebut gabungkan kedua tabel tersebut dengan menggunakan

metode inner join, right join, left join dan cros join kemudian tuliskan hasilnya!

Page 15: Modul Praktikum Basis Data - MySQL

PERTEMUAN 7

STORED PROCEDURES

Stored Procedure adalah kumpulan bahasa SQL yang dikumpulkan dalam sebuah

prosedur dalam basis data untuk keperluan akses database atau keperluan

lainnya seperti kalkulasi data atau tampilan data.

MENGAPA STRORED PROCEDURE

Dengan stored procedure eksekusi menjadi cepat. Tidak ada kompilasi.

Peningkatan kecepatan datang dari reduksi lalu-lintas jaringan. Jika ada

pekerjaan pengecekan berulang, looping, multiple statement, dikerjakan dengan

pemanggilan tunggal ke prosedur yang telah disimpan ke server. Stored

Procedure adalah komponen. Andaikan aplikasi kemudian ditulis dalam bahasa

berbeda, tidak ada masalah, karena logika berada didalam database bukan dalam

aplikasi.

MENCIPTAKAN STORED PROCEDURE

Untuk membuat stored procedure, terlebih dahulu kita harus menentukan

delimiter. Delimiter tujuannya agar pada saat pembuatan prosedur tidak

terganggu. Karena secara default MySQL menggunakan titik-koma sebagai

delimiter dan pada pemograman procedural MySQL menggunakan titik-koma juga

maka diperlukan delimiter lain selain titik-koma. Perlu diketahui delimiter

adalah suatu tanda yang menyebabkan mesin MySQL mengeksekusi sql yang kita

inputkan. Dalam contoh ini saya menggunakan / sebagai delimiter.

mysql> delimiter /

Untuk membuat SP kita memerlukan perintah

CREATE PROCEDURE <nama SP>(<parameter input output jika

ada>).

Di dalam SP selalu dimulai dengan BEGIN dan END;. CREATE PROCEDURE procedure1 /* nama */

() /* parameter */

BEGIN /* awal blok */

SELECT * FROM table1; /* statement */

END; /* akhir blok */

/ /* diakhiri dengan delimiter

*/

Untuk memanggil procedure tersebut gunakan

mysql> call procedure1()/

Statement dalam blok dapat diganti dengan yang akan diberlakukan kepada SP.

Contoh untuk memasukkan variable pada table1.

INSERT INTO table1 VALUES (variable1);

Perintah di bawah ini berguna untuk menghapus SP yang telah dibuat.

mysql> delimiter /

mysql> drop procedure procedure1/

Page 16: Modul Praktikum Basis Data - MySQL

Tugas :

1. Buat procedure untuk menampilkan data pegawai dengan jabatan tertentu!

2. Buat procedure untuk insert data ke table pegawai!

3. Buat procedure untuk melakukan insert data dan sekaligus menampilkan data

pada table pegawai!

4. Buat procedure untuk melakukan update data dan sekaligus menampilkannya!

5. Buat procedure untuk melakukan delete data!