Praktikum 1
Mengenal lingkungan kerja MySQL syukri2011
Pokok Bahasan
Mengenal MySQL
Menjalankan MySQL
x
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Mengenal lingkup kerja MySQL
Menggunakan perintah DDL pada MySQL
Pengantar MySQL :
MySQL merupakan software system manajemen basis data (DBMS Database
Management System) yang sangat popular di kalangan pemrograman web, terutama di
lingkungan Linux dengan menggunakan bahasa script PHP dan Perl. Software DBMS ini
juga sudah tersedia untuk platform system operasi windows (98/ME, NT/XP/2000,
Windows Vista dan Windows Seven).
MySQL adalah software Open source, artinya memungkinkan semua orang untuk
menggunakan dan memodifikasi software tersebut. Setiap orang dapat men-download
MySQL dari internet dan menggunakannya tanpa membayar apapun. Jika mau, anda bisa
juga mempelajari kode sumber dan menambahkan sesuatu apa yang anda inginkan.
MySQL biasanya dipaketkan dengan dengan Bahasa Scrip PHP dan Web Server Apache
seperti WAMP, XAMP, PHPTRIAD, APPSERV, dll. Dalam praktikum ini, kita gunakan
MySQL yang dipaketkan dengan APPSERV.
Latihan 1:
1. Untuk melihat tanggal didalam MySql anda dapat menggunakan rumus curdate()
Mysql>select curdate();
2. Sedangkan untuk melihat waktu dengan rumus curtime();
Mysql>select curtime();
3. Untuk melihat waktu dan sekaligus tanggal, maka rumusnya adalah now();
Mysql>select now();
4. Dengan MySql, kita tidak usah bingung ketika suatu saat kita harus menggunakan
alat bantu kalkulator., karena hal ini dapat ditangani langsung oleh MySql tanpa harus
membuat program terlebih dahulu. Rumus yang dituliskan adalah select
rumus_perhitungan;
Mysql>select 5+5*2();
Tugas Praktikum 1:
Tanda Tangan
STB : ......................
Nama : .............................................
Hari/tgl : .................................. .......................
Tugas .1:
A. Tuliskan maksud dan hasil dari perintah MySQL pada Latihan 1.
1. ...................................................................................................................................
2. ...................................................................................................................................
3. ...................................................................................................................................
4. ...................................................................................................................................
2. ...................................................................................................................................
3. ...................................................................................................................................
4. ...................................................................................................................................
5. ...................................................................................................................................
6. ...................................................................................................................................
7. ...................................................................................................................................
8. ...................................................................................................................................
9. ...................................................................................................................................
Praktikum 2
Mengenal Perintah DDL pada MySQL syukri2011
Pokok Bahasan
Menggunakan Perintah DDL (Data Definition Language)
CREATE, ALTER, RENAME dan DROP
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Membuat Database
Membuat tabel dalam database
Memodifikasi Struktur tabel
Kegiatan Praktikum:
Percobaan 3 :
Buat tabel biodata pada database mahasiswa dengan struktur sbb:
Tugas Praktikum 2:
1. Tuliskan jenis-jenis tipe field pada MySQL dan berikan penjelasan secara
singkat masing-masing.
Tanda Tangan
STB : ......................
Nama : .............................................
Hari/tgl : .................................. .......................
No. 1
No. 2
a. ......................................................................................................................................
b.......................................................................................................................................
c. ......................................................................................................................................
d.......................................................................................................................................
e. ......................................................................................................................................
Praktikum 3
Perintah DML syukri2011
Pokok Bahasan
Menggunakan Perintah DDL (Data Definition Language)
SELECT, INSERT, UPDATE dan DELETE
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Memasukkan data (record) dalam tabel.
Menampilkan data dengan perintah SELECT
Kegiatan Praktikum:
Catatan: Setelah penginputana data selesai, tampilkan isi table dengan perintah
>SELECT * FROM mhs;
Tugas Praktikum 3
Buat Database dengan nama TOKO-DP, kemudian tliskan perintah-perintah untuk
membuat hal-hal di bawah ini pada lembaran kerja Modul 3:
1. CREATE TABLE
Buat tabel customer dan tabel product sbb:
2. ALTER TABLE
1. Tambahkan field alamat char(20) pada tabel customer
2. Jadikan field id_cust sebagai Primary Key pada tabel customer
3. Ubah field unit menjadi kategori char(15) pada tabel product
4. Ubah field harga menjadi decimal(7,0) pada tabel product
3. INSERT
Isikanlah data-data berikut:
Product
Id Barang Kategori Harga
1 Sprite Minuman 3000
2 Jeruk Buah 2500
3 TehBotol Minuman 2000
4 Burger Makanan 9000
5 Apel Buah 2000
Customer
Id_cust Nama Tgl_daftar Telepon Alamat
100 Aladin 20-may-08 0411321101 Sulawesi 19
200 Baskoro 18-jun-08 0201071110 Pongtiku 36
300 Alimin 12-jan-08 1411463756 Baraya 13
400 Joko 15-aug-08 0812000981 Urip Sumoharjo 1
500 Rahmah 22-sep-08 0850227783 Perintis 19
4. SELECT
Tuliskan perintah:
1. Menampilkan barang, dan harga dari tabel Product.
2. Menampilkan data nama dan alamat dari tabel Customer.
3. Menampilkan ID, barang, kategori, dan harga dari tabel product
4. Menampilkan semua data customer
Praktikum 4
Perintah DML (lanjutan) syukri2011
Pokok Bahasan
Menggunakan Perintah DDL (Data Definition Language)
Lebih lanjut dengan SELECT
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Menampilkan field/kolom tertentu dengan SELECT
Menggunakan operator DISTINCT, LIKE, BETWEEN, HAVING
Menampilkan data urut dengan ORDER BY.
Kegiatan Praktikum:
b. Tampilkan data mhs dengan urut jur dan stb secara Descending.
> SELECT * FROM mhs ORDER BY jur, stb DESC;
Latihan Praktikum 4:
a. Buat database dengan nama DBPEGAWAI
b. Aktifkan table DBPEGAWAI
c. Buat Tabel Pegawai dengan struktur sbb:
5. Tampilkan semua pegawai yang Laki-laki dan yang lahir sebelum tahun 1980
SELECT * FROM pegawai WHERE jkel = L AND
YEAR(tglahir) < 1980;
6. Tampilkan nip, nama dan tg lahir pegawai yang lahir antara tahun 1975 s.d. 1980
SELECT nip, nama,tglahir FROM pegawai WHERE YEAR(tglahir)
between 1975 AND 1980;
8. Tampilkan semua pegawai dan urutkan data berdasarkan tglahir secara Descending
SELECT * FROM pegawai ORDER BY tglahir DESC;
11. Tampilkan semua nama pegawai yang yang berawalan A dan berikutnya
mengandung huruf y.
SELECT * FROM pegawai WHERE nama LIKE A%y%;
Tugas Praktikum 4
Tuliskan perintah-perintah untuk membuat hal-hal di bawah ini pada lembaran kerja
Modul 4:
1. Bagaimana perintah SQL untuk menampilkan:
a. Semua pegawai yang namanya berawalan huruf Y, K, M
b. Semua pegawai yang namanya berawalan huruf B dan mengandung huruf u
c. Semua pegawai yang berulang tahun di bulan 10.
d. Semua pegawai yang lahir sesudah tahun 1965
e. Nama pegawai dan departemen dengan mengurutkan berdasarkan departemen
secara Ascending
f. Jumlah pegawai per departemen
g. Gaji terbesar setiap departemen
Jawaban No. 1:
a.
....
b.
....
c.
....
d.
....
e.
....
f.
....
g.
....
Jawaban No. 2:
.....
Praktikum 5
Perintah DML (lanjutan) syukri2011
Pokok Bahasan
Menggunakan Perintah SELECT dengan Fungsi AGREGAT
(SUM, AVG, MAX, MIN dan COUNT)
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Menggunakan Fungsi Agregat pada SELECT
Menyaring data dengan WHERE dan GROUP BY
Kegiatan Praktikum:
Percobaan 1 : Mengunakan fungsi Agregat
1. Buka/aktifkan kembali database DBPEGAWAI
2. Tampilkan jumlah keseluruhan dari gaji pegawai
Tugas Praktikum 5
A. Berdasarkana tabel pegawai, Tuliskan perintah-perintah SQL dari :
1. Tampilkan nip, nama, depart, gapok dan pph semua pegawai
(pph = 2.5% dari gapok)
2. Tampilkan nama, tglahir, dan umur pegawai pada depart Pemasaran
3. Tampilkan nama pegawai yang termuda pada setiap departemen
4. Tampilkan Total gaji pegawai per Departemen.
5. Tampilkan Nama pegawai yang umurnya kurang dari 30 tahun.
6. Tampilkan Gaji tertinggi pegawai per Departemen
Jawaban Soal.
Soal. A:
1.
.....................................................................................
2.
.....................................................................................
3.
.....................................................................................
4.
.....................................................................................
5.
.....................................................................................
6. .....................................................................................
Jawaban Soal B:
1.
.........
2.
.........
3.
.........
4.
.........
5.
.........
6.
.........
Praktikum 6
Sistem Basis Data Relational syukri2011
Pokok Bahasan
Constrain
Query antar table/ Join
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Menerapkan constarain pada tabel
Membuat perintah penggabungan table/ join
Teori Pengantar
Constraint
Constraint mepakan aturan yang membatasi jenis data yang boleh dimasukkan dalam
table. Setiap field atau baris dapat diberi aturan-aturan tertentu dengan tujuan untuk
membedakan satu baris dengan baris lainnya sehingga kekonsistenan database tetap
terjaga.
Berikut jenis constraint yang terdapat pada mySQL serta fungsinya.
PRIMARY KEY
Mempunyai sifat suatu kolom tidak boleh bernilai NULL dan harus unik.
Contoh :
>CREATE TABLE Sales (
->id INT Auto_Increment,
->nama_sales char(20),
->PRIMARY KEY id);
UNIQUE
Digunakan bilamana dalam satu table terdapat lebih dari satu kunci yang unik.
NOT NULL
Digunakan untuk menjamin tidak adanya nilai kosong (Null Value) pada suatu kolom.
Nilai default dari suatu field adalah Null, sehingga clause ini harus dituliskan
dibelakang nama field pada saat membuat tabel tersebut.
JOIN
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 <table>.<field>
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
Contoh:
3. STRAIGHT JOIN
Straight Join identik dengan inner join tetapi tidak mengenal klausa where
BU : 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)
BU : SELECT field FROM tabel1 LEFT JOIN tabel2 ON kondisi
Contoh
mysql> select siswa.nim,nama,nilai from siswa left join nilai
on siswa.nim=nilai.nim;
+------------+---------------+-------+
| nim | nama | nilai |
+------------+---------------+-------+
| 01.05.2000 | Budi R | 90 |
| 01.05.2001 | Laksmi dewi | 40 |
| 01.05.2002 | Abu Bakar | 75 |
| 01.05.2003 | Annisa Akhwat | 10 |
| 01.05.2004 | Leon Auman | 100 |
+------------+---------------+-------+
5. RIGHT/OUTER JOIN
Kebalikan dari LEFT JOIN, jika idak menemukan hubungan dengan tabel
disebelah kiri maka akan ditampilkan NULL
BU : SELECT field FROM tabel1 RIGHT JOIN tabel2 ON kondisi
Contoh
mysql> select siswa.nim,nama,nilai from siswa right join nilai
-> on siswa.nim=nilai.nim;
+------------+---------------+-------+
| nim | nama | nilai |
+------------+---------------+-------+
| 01.05.2000 | Budi R | 90 |
| 01.05.2001 | Laksmi dewi | 40 |
| 01.05.2002 | Abu Bakar | 75 |
| 01.05.2003 | Annisa Akhwat | 10 |
| 01.05.2004 | Leon Auman | 100 |
| NULL | NULL | 68 |
+------------+---------------+-------+
6 rows in set (0.06 sec)
Kegiatan Praktikum:
Percobaan 1 : Men-create Table dengan Constraint
1. Buat database PENJUALAN
2. Aktifkan Database Penjualan
3. Buat 3 tabel dalam database penjualan sbb (Perhatikan Constrainnya !!)
: :
Latihan Praktikum 6:
1. Tampilkan tgl_jual, id_sales, nama_brg dan jumlah dari tabel Jual inner join dengan
Barang berdasarkan kd_brg.
2. Tampilkan tgl_jual, nama barang, nama sales, jumlah dari tabel jual, barang dan
salesman.
Tugas Praktikum 6
Tuliskan perintah SQL dari :
1. Tampilkan nama sales, nama barang, harga dan jumlah pembelian.
2. Tampilkan nama-nama Sales yang perempuan tanpa berulang.
3. Tampilkan tgl jual, nama sales, harga, jumlah dan Jumlah*harga.
4. Hitung banyaknya jumlah penjualan berdasarkan kode barang
5. Tampilkan Nama sales dan nama barang yang terjual diatas tgl 1-5-07
6. Tampilkan Nama sales dengan jumlah penjualan terbanyak
7. Tampilkan jumlah barang yang terjual untuk masing-masing jenis barang.
8. Tampilkan tgl jual, Nama barang dan nama sales untuk barang dengan jumlah
penjualan diatas 10 unit.
9. Tampilkan Nama barang yang terjual pada bulan 5
10. Hitung total penjualan (Jumlah*harga) untuk sales bernama Tika
Jawaban Soal.
Soal.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Praktikum 7
Integritas Data syukri2011
Pokok Bahasan
Integritas Data Pada MySQL
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Memahami Pentingnya Integritas data
Mempraktekkan penggunaan Integritas data pada MySQL.
Kegiatan Praktikum:
Mendefinisikan Key dan Foreign Key pada dua tabel yang berelasi dapat menjamin
integritas basis data. Pada contoh ini akan dibuat dua buah tabel yaitu tabel customer
dan customer_sales. Struktur kedua tabel tersebut adalah :
Tabel Customer merupakan tabel induk dengan Primary Key customer_id, sedangkan
customer_id pada tabel customer_sales merupakan Foreign Key yang mengacu pada
tabel customer. Customer_sales kita sebut dengan tabel anak. Untuk mendefinisikan
kedua tabel tersebut perintah yang dipergunakan adalah:
Buat Database dengan Nama : Marketing
Mysql > Create database marketing;
Insert data pada customer_sales dengan data yang tidak ada pada tabel customer
Insert data customer_id 3 pada tabel customer_sales tidak diijinkan karena customer_id
tersebut tidak terdapat pada tabel induknya (tabel customer).
Untuk melakukan Drop Foreign key diperlukan opsi foreign key id yang digenerate pada
saat foreign Key didefinisikan. Untuk mengetahui Foreign key id digunakan perintah:
mysql> SHOW CREATE TABLE customer_sales;
Hasilnya :
Constrain 0_15 merupakan foreign key id , nilai tersebut bisa berbeda pada
implementasi yang lain .
Untuk menghapus definisi foreign key dengan opsi tersebut perintahnya :
Setelah dilakukan pengubahan pada definisi foreign key lakukan operas penghapusan
pada tabel customer dengan customer_id 1 dimana data dengan customer_id tersebut
masih tersimpan pada tabel customer_sales, perintah yang diberikan :
Lakukan pula perintah untuk menambahkan data pada tabel customer_sales, dengan
data customer_id 7, dimana data tersebut tidak terdapat pada tabel customer.
a. ON DELETE CASCADE
Buat kembali table Customer dan customer_sales seperti di atas ( Drop terlebih
dahulu tabel jika masih ada atau bisa buat tabel dengan nama lain):
Pada contoh tersebut dipergunakan opsi ON DELETE CASCADE. Selanjutnya isikan data
pada kedua tabel tersebut seperti data diatas:
+----------------+--------+-------------+
| transaction_id | amount | customer_id |
+----------------+--------+-------------+
| 1 | 23 | 1 |
| 3 | 81 | 2 |
| 4 | 34 | 3 |
+----------------+--------+-------------+
3 rows in set (0.00 sec)
Lakukan penghapusan record pada tabel customer dengan customer_id 3 yang akan
dijalarkan ke tabel customer_sales. Perintahnya adalah:
Setelah penghapusan data tersebut maka isi record kedua tabel adalah :
+----------------+--------+-------------+
| transaction_id | amount | customer_id |
+----------------+--------+-------------+
| 1 | 23 | 1 |
| 3 | 81 | 2 |
+----------------+--------+-------------+
2 rows in set (0.00 sec)
Penghapusan data customer_id 3 pada tabel customer akan dijalarkan pada tabel
customer_sales, dimana pada tabel customer_sales customer_id merupakan foreign key.
Insert data pada perintah yang kedua tidak bisa dilaksanakan karena par_id 4 belum
ada pada tabel parent. Hal tersebut sama hasilnya dengan option ON DELETE
CASCADE.
Untuk melihat hasil SET NULL setelah penghapusan berikan perintah untuk
menghapus dari tabel parent dengan par_id 1 yaitu :
Praktikum 8
Data Transaction syukri2011
Pokok Bahasan
Transaction Database
Perintah Transaction( BEGIN, ROLLBACK, COMMIT)
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Memahami Transaction Database mySql
Mempraktekkan penggunaan perintah transaction pada MySQL.
Dalam Basis Data Transaksi merupakan satuan unit kerja yang berisi perintah-perintah,
yang dimulai dengan klausa BEGIN TRANSACTION dan diakhiri dengan COMMIT atau
ROLLBACK.
Kegiatan Praktikum:
Tabel berisi dua kolom yaitu number dengan tipe data integer,merupakan primary key,
autoincrement dan tidak diijinkan nilai Null. Kolom balance bertipe float, perintahnya
sebagai berikut :
create table account ( number int not null auto_increment
primary key, balance float ) type = InnoDB;
Update data dengan operasi transfer data 1000 dari account number 2 ke
account number 1.
update account set balance = balance - 1000 where number = 2;
update account set balance = balance + 1000 where number = 1;
Apabila terjadi gangguan setelah proses update data pada account number 1,
maka update data account number 1 gagal. Sehingga data pada account 2 tidak
valid. Karena perintah tersebut terdiri dari dua perintah sehingga tidak atomik.
Alternatif yang lain adalah dengan membuat dua perintah tersebut menjadi
perintah tunggal (perintah tunggal bersifat atomik).
Pada perintah tersebut dipergunakan dua buah alias pada tabel account yaitu
source dan dest. Dengan menggunakan dua buah alias, dua perintah dapat
dijadikan menjadi satu buah perintah sehingga apabila satu perintah gagal maka
semua gagal .
Pada perintah tersebut karena account number nilainya menjadi -1000 setelah
operasi update dilakukan maka operasi dibatalkan dengan perintah ROLLBACK.
2. Autocommit mode
Secara default mysql mendukung autocommit mode. Setiap perintah
manipulasi(update,insert dll) akan dianggap sebagai perintah yang diakhiri dengan
commit. Akan tetapi autocommit mode dapat dihilangkan dengan oleh user. Untuk
menghilangkannya berikan perintah:
mysql> set autocommit=0;
Jika perintah ini telah diberikan maka perintah-perintah tunggal harus diakhiri
dengan commit secara manual jika akan disimpan. Apabila akan dibatalkan bisa
diberikan perintah Rollback secara manual pula.
Setelah autocommit di set menjadi 0 berikan perintah berikut :
update account set balance = balance - 1000 where number = 2;
update account set balance = balance + 1000 where number = 1;
Proses di atas tidak akan disimpan apabila belum ada klausa COMMIT yang
mengakhiri perintah tersebut. Apabila akan disimpan maka perintah tersebut
adalah:
begin transaction;
update account set balance = balance - 1000 where number = 2;
commit;
begin transaction
update account set balance = balance + 1000 where number = 1;
commit;
3. Menggunakan Lock
Untuk mencegah interferensi antar pengguna/program aplikasi yang melakukan
manipulasi pada database digunakan metode isolasi menggunakan klausa Lock.
Contoh :
Tabel Penjualan
Kode_Barang Nama_Barang Jumlah
Praktikum 9
Mengelola MySQL dengan GUI syukri2011
Pokok Bahasan
PHPMyAdmin
Tujuan Belajar
Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan dapat:
Mengelola database MySQL secara interaktif dengan PHPMyAdmin
Kegiatan Praktikum:
1. Mengaktifkan PHPMyadmin
Pastikan Web Service (Apache) sudah jalan.)
Untuk menjalankan, klik Start-Program-AppServ-Manual Control Centre-Apache start.
2. Buka Browser Internet (Internet Explorer), ketik http://localhost/phpmyadmin/
pada Address bar.
3. Selanjutnya akan muncul tampilan berikut :
4. Ketik nama Database pada Teks box Ciptakan database baru untuk membuat database
baru, kemudian klik tombol Ciptakan
5. Untuk membuka Database yang sudah ada, klik combo Database, lalu pilih database
yang akan dibuka.
Percobaan 1 :
1. Buat Database baru dengan nama Bank-dp dan buat 4 tabel pada database
tersebut sbb:
ooOOoo