Anda di halaman 1dari 40

Praktikum : Sistem Basis Data/Perancangan Basis Data

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.

Download dan instalasi MySQL


MySQL dapat diperoleh dengan mudah di internet dengan mendownload pada alamat
http://www.mysql.com/download. . Saat ini MySQL sudah sampai pada versi 5.00.
Kegiatan Praktikum:

Menjalankan MySQL pada AppServ :


- Masuk ke prompt DOS (Run ketik CMD)
- Pindah ke drive d: lalu Aktifkan folder mysql\bin sbb :
C:\>d:\appserv\mysql\bin [enter]
- Jalankan MySQL dengan mengetik : mysql u root

STMIK Dipanegara Ganjil11-12 Hal [ 1 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

 Untuk menampilkan database, ketik :show databases; [enter]


(setiap perintah harus diakhiri dengan ; atau \g
 Aktifkan database mysql dengan mengetik perintah :
Mysql > use mysql; [enter]
Database changed
 Tampilkan tabel dengan mengetik perintah :
Mysql > show tables; [enter]
 Tampilkan isi tabel user mengetik perintah :
Mysql > select host,user,password from user; [enter]

Untuk keluar dari MySQL, ketik : \q [enter]

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();

STMIK Dipanegara Ganjil11-12 Hal [ 2 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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

B. Tuliskan perintah yang tergolong DDL dan DML pada MySQL


1. ...................................................................................................................................

2. ...................................................................................................................................

3. ...................................................................................................................................

4. ...................................................................................................................................

5. ...................................................................................................................................

6. ...................................................................................................................................

7. ...................................................................................................................................

8. ...................................................................................................................................

9. ...................................................................................................................................

STMIK Dipanegara Ganjil11-12 Hal [ 3 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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

Membuat database dalam server


> CREATE Database Nm_Database;
Melihat seluruh daftar database dalam server MySql
> SHOW Databases;
Mengaktifkan/Menggunakan Database
> USE Nm_Database

Menghapus Database dari Server


> Drop Database Nm_Database
Aturan penamaan dalam pembuatan database :
1. Jangan menggunakan spasi dan spesial karakter dalam pembuatan nama
database
2. Jangan menggunkan angka pada awal pembuatan nama database

Kegiatan Praktikum:

Percobaan 1 : Membuat dan menghapus Database


a. Buat Database Mahasiswa
> CREATE DATABASE mahasiswa;
b. Tampilkan database yang baru saja dibuat
> SHOW DATABASES;
c. Buka/aktifkan database mahasiswa
> USE mahasiswa;
d. Untuk menghapus database, gunakan perintah
> DROP DATABASE mahasiswa;
(Catatan: Ulangi kembali langkah a,b,c untuk membuat database mahasiswa !!)

STMIK Dipanegara Ganjil11-12 Hal [ 4 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Percobaan 2 : Membuat, Mengubah dan menghapus struktur Tabel.

Buat tabel mhs dengan ketentuan sbb:

a. Membuat tabel mhs pada Database Mahasiswa


> CREATE TABLE mhs(
-> stb CHAR(6) NOT NULL PRIMARY KEY,
-> nama CHAR(10),
-> jur CHAR(2),
-> jkl ENUM(L,P));
b. Tampilkan tabel mhs pada database Mahasiswa :
> SHOW TABLES
c. Menampilkan Struktur tabel mhs :
> DESC mhs; [ atau DESCRIBE mhs;]
Coba dengan perintah : > DESC mhs /g
Atau > DESC mhs /G (Amati perbedaannya !!).
d. Ubah field nama menjadi nm_mhs dengan tipe Char lebar 15 :
> ALTER TABLE mhs CHANGE nama nm_mhs CHAR(15);
(Tampilkan kembali struktur tabel mhs).

e. Tambahkan field kota char(10) dengan nilai default Makassar


> ALTER TABLE mhs ADD kota CHAR(10);

Tampilan Hasil akhir tabel sbb :

STMIK Dipanegara Ganjil11-12 Hal [ 5 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

f. Hapus tabel mhs :


> DROP TABLE mhs ;

g. Ulangi kembali langkah a.)

Percobaan 3 :
Buat tabel biodata pada database mahasiswa dengan struktur sbb:

> CREATE TABEL biodata (


.......
.......
.......
.......);

Tugas Praktikum 2:
1. Tuliskan jenis-jenis tipe field pada MySQL dan berikan penjelasan secara
singkat masing-masing.

2. Tuliskan syntax dari perintah penanganan tabel berikut:


a. Perubahan nama field/kolom
b. Perubahan tipe data
c. Penambahan field
d. Penghapusan field
e. Mengganti nama tabel.

STMIK Dipanegara Ganjil11-12 Hal [ 6 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Tanda Tangan
STB : ......................
Nama : .............................................
Hari/tgl : .................................. .......................

No. 1

No. 2
a. ......................................................................................................................................

b.......................................................................................................................................

c. ......................................................................................................................................

d.......................................................................................................................................

e. ......................................................................................................................................

Catatan : Tambahkan kertas lain jika tidak cukup

STMIK Dipanegara Ganjil11-12 Hal [ 7 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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

Menampilkan isi/record table :


Select [fields] from [nama_tabel] Where [kondisi]
Order by [nama_field]
Group by [nama_field] asc / desc

Memasukan data/record pada table :


Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel, yaitu:
1. Memasukkan data pada semua field.
insert into nama_tabel values (isi_field_2,<,isi_field_n);

2. Memasukkan data pada field tertentu.


insert into nama_tabel (nama_field_1, nama_field_2,<,nama_
field_n) values(isi_field_1, isi_field_2,<,isi_field_n);

Menghapus data/record pada table :


Delete From nama_tabel
Where kriteria;

Merubah/mengaupdate data table :


Update nama_tabel set nama_field_1=isi_baru_1, nama_field_2=
isi_baru_2,, nama_field_n=isi_baru_n
Where kriteria;

Kegiatan Praktikum:

Percobaan 1 : Memasukkan data dalam tabel


a. Buka/aktifkan database mahasiswa
> USE mahasiswa;
b. Tampilkan Tabel pada database mahasiswa

STMIK Dipanegara Ganjil11-12 Hal [ 8 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

> SHOW TABLES;


(Catatan: Jika Tabel mhs belum ada, buat ulang kembali lihat modul Prak. 1)

c. Masukkan data pada table mhs sbb:


>INSERT INTO mhs (stb,nm_mhs,jur,jkl,kota) VALUES
(051001,Yudi,SI,L,Makassar);

Catatan: Setelah penginputana data selesai, tampilkan isi table dengan perintah
>SELECT * FROM mhs;

d. Masukkan data berikutnya sbb:

Percobaan 2 : Mengupdate data.


a. Ubah data jur Menjadi SI untuk stb=051002
>UPDATE mhs set jur=SI WHERE stb=051002;

b. Ganti semua kota Sunggumina menjadi Gowa


>UPDATE mhs set kota=Gowa WHERE kota=Sunggumina;

Percobaan 3 : Menghapus data.


a. Hapus data mhs dengan no. stb=051114
>DELETE FROM mhs WHERE stb=051114;

STMIK Dipanegara Ganjil11-12 Hal [ 9 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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

STMIK Dipanegara Ganjil11-12 Hal [ 10 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

No. Pokok : ...................... Tanda Tangan


Nama : .............................................
Kelas : ............ .......................
1. CREATE TABLE
1. ..........................................................................................................................
2. ..........................................................................................................................
2. ALTER TABLE
1. .........................................................................................................................
2. ........................................................................................................................
3. ........................................................................................................................
4. ........................................................................................................................
3. INSERT
A. Tabel PRODUCT
1. .............................................................................................................................
2. .............................................................................................................................
3. .............................................................................................................................
4. .............................................................................................................................
5. .............................................................................................................................
B. Tabel CUSTOMER
1. .............................................................................................................................
2. .............................................................................................................................
3. .............................................................................................................................
4. .............................................................................................................................
5. .............................................................................................................................
4. SELECT
1. ..............................................................................................................................
2. ..............................................................................................................................
3. ..............................................................................................................................
4. ..............................................................................................................................

STMIK Dipanegara Ganjil11-12 Hal [ 11 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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:

Percobaan 1 : Melihat data dengan SELECT


a. Buka/aktifkan kembali database mahasiswa
> USE mahasiswa;
b. Tampilkan kolom stb dan nm_mhs pada table mahasiswa.
> SELECT nm_mhs,kota FROM mhs;

c. Menampilkan data kota tanpa perulangan (DISTINCT)


> SELECT DISTINCT kota FROM mhs;

STMIK Dipanegara Ganjil11-12 Hal [ 12 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Percobaan 2 : Mengurutkan data dengan ORDER BY


a. Tampilkan data mhs dengan urut nm_mhs secara ascending

b. Tampilkan data mhs dengan urut jur dan stb secara Descending.
> SELECT * FROM mhs ORDER BY jur, stb DESC;

STMIK Dipanegara Ganjil11-12 Hal [ 13 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Latihan Praktikum 4:
a. Buat database dengan nama DBPEGAWAI
b. Aktifkan table DBPEGAWAI
c. Buat Tabel Pegawai dengan struktur sbb:

d. Tambahkan filed gapok int(7) setelah field jkel.

e. Masukkan data ke dalam tabel pegawai sbb:

f. Cobalah perintah SELECT berikut :


1. Tampilkan semua data yang terdapat pada tabel pegawai
>SELECT * FROM pegawai;
2. Tampilkan nama dan tanggal lahir pegawai
SELECT nama, tglahir FROM pegawai;
3. Tampilkan semua pegawai yang gajinya 1 juta keatas.
SELECT * FROM pegawai WHERE gapok >= 1000000;
4. Tampilkan semua pegawai yang berjenis kelamin P
SELECT * FROM pegawai WHERE jkel = "P";

STMIK Dipanegara Ganjil11-12 Hal [ 14 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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;

7. Tampilkan semua nama pegawai yang berawalan A


SELECT * FROM pegawai WHERE nama LIKE M%;

8. Tampilkan semua pegawai dan urutkan data berdasarkan tglahir secara Descending
SELECT * FROM pegawai ORDER BY tglahir DESC;

9. Tampilkan nama pegawai yang tidak berasal dari kota Makassar


SELECT nama FROM pegawai HAVING kota <> Makassar;

10. Tampilkan hanya nama-nama pegawai yang mengandung nama is


SELECT * FROM pegawai WHERE nama LIKE %is%;

11. Tampilkan semua nama pegawai yang yang berawalan A dan berikutnya
mengandung huruf y.
SELECT * FROM pegawai WHERE nama LIKE A%y%;

12. Tampilkan data kota pada tabel pegawai tanpa perulangan


SELECT DISTINCT kota FROM pegawai;

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

2. Ubahlah perintah berkut menggunakan operator BETWEEN


select * from pegawai where year(tglahir) >=1970 and year(tglahir) <=1980

STMIK Dipanegara Ganjil11-12 Hal [ 15 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

No. Pokok : ...................... Tanda Tangan


Nama : .............................................
Kelas : ........... .......................

Jawaban No. 1:
a.
....
b.
....
c.
....
d.
....
e.
....
f.
....
g.
....

Jawaban No. 2:

.....

STMIK Dipanegara Ganjil11-12 Hal [ 16 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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

3. Hitung rata-rata gapok dari pegawai pada Departemen Pemasaran

4. Hitung jumlah record yang tidak kosong pada table pegawai;

5. Tampilkan Jumlah pegawai per departemen.

STMIK Dipanegara Ganjil11-12 Hal [ 17 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

6. Tampilkan Departemen yang mempunyai gaji terendah


SELECT depart, MIN(gapok) FROM pegawai GROUP BY pegawai;

7. Tampilkan jumlah pegawai per kota, per departemen


SELECT depart,kota, COUNT(kota) FROM pegawai GROUP BY depart,kota;

8. Tampilkan nama pegawai yang gajinya paling tinggi


SELECT nama, gapok FROM pegawai WHERE gapok =(SELECT MAX(gapok) FROM
pegawai);

9. Tampilkan nama pegawai yang gajinya paling rendah


SELECT nama, gaji FROM pegawai WHERE gaji =(SELECT MIN(gaji) FROM pegawai)

10. Hitung rata-rata gaji pegawai


SELECT AVG(gaji) FROM pegawai

11. Hitung rata-rata gaji pegawai berdasarkan departemennya


SELECT depart, AVG(gapok) FROM pegawai GROUP BY depart;

12. Hitung total seluruh gaji pegawai


SELECT SUM(gaji) FROM 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

B. Berdasarkana tabel pegawai, Tuliskan maksud dari perintah SQL berikut :


1. SELECT nip,nama,gapok,gapok * 0.1 As Bonus From Pegawai Where Jkel=L;
2. SELECT nama,2007-year(tglahir) as umur from pegawai where
(2007-year(tglahir))>=20;
3. SELECT depart,sum(gapok) from pegawai group by Depart;
4. SELECT nama, gapok FROM pegawai WHERE gapok =(SELECT MAX(gapok)
FROM pegawai);
5. SELECT Kota,Coun(*) From Pegawai Group By Kota;
6. SELECT nip,nama, CASE jkel WHEN L THEN Pria ELSE Wanita END
As Sex FROM pegawai;

STMIK Dipanegara Ganjil11-12 Hal [ 18 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

No. Pokok : ...................... Tanda Tangan


Nama : .............................................
Kelas : ........... .......................

Jawaban Soal.
Soal. A:
1.
.....................................................................................
2.
.....................................................................................
3.
.....................................................................................
4.
.....................................................................................
5.
.....................................................................................
6. .....................................................................................

Jawaban Soal B:
1.
.........
2.
.........
3.
.........
4.
.........
5.
.........
6.
.........

STMIK Dipanegara Ganjil11-12 Hal [ 19 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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

STMIK Dipanegara Ganjil11-12 Hal [ 20 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Contoh:

Macam-macam bentuk Penggabungan (Join)


1. CROSS JOIN
Cross Join merupakan bentuk penggabungan yang paling sederhana, tanpa ada
kondisi.
BU : SELECT field1,field2 FROM Tabel1 CROSS JOIN tabel2;
2. INNER JOIN
Hampir sama dengan cross join tetapi diikuti dengan kondisi
BU : SELECT Field FROM tabel1 INNER JOIN tabel 2 ON kondisi

mysql> select * from siswa inner join nilai on siswa.nim=nilai.nim;


+------------+---------------+---------------+------+------------+------------+-------+
| NIM | Nama | alamat | Sex | Tgl_lhr | NIM |Nilai |
+------------+---------------+---------------+------+------------+------------+-------+
| 01.05.2000 | Budi R | Jl. Kaliurang | P | 1982-03-17 | 01.05.2000 | 90 |
| 01.05.2001 | Laksmi dewi | Jl. Balapan | W | 1982-10-21 | 01.05.2001 | 40 |
| 01.05.2002 | Abu Bakar | Jl. Tunjung | P | 1977-12-29 | 01.05.2002 | 75 |
| 01.05.2003 | Annisa Akhwat | Jl. Mawar | W | 1980-01-12 | 01.05.2003 | 10 |
| 01.05.2004 | Leon Auman | Jl. depok | P | 1983-01-19 | 01.05.2004 | 100 |
+------------+---------------+---------------+------+------------+------------+-------+

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 |
+------------+---------------+-------+

STMIK Dipanegara Ganjil11-12 Hal [ 21 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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 !!)

STMIK Dipanegara Ganjil11-12 Hal [ 22 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

4. Masukkan data pada ketiga tabel masing sbb :

Percobaan 2 : Queri Tabel / join


5. Cross join Tabel Jual dengan Salesman
SELECT tgl_jual,jual.id_sales,kd_brg From Jual Cross Join Salesman;

: :

6. Inner Join Tabel jual dengan Salesman


SELECT tgl_jual,jual.id_sales,kd_brg From Jual Inner Join Salesman
On Jual.id_sales=Salesman.id_sales;
(Amati Merbedaannya !!)
7. Left Join Tabel Salesman dengan Jual

STMIK Dipanegara Ganjil11-12 Hal [ 23 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

SELECT tgl_jual,jual.id_sales,kd_brg From Salesman Left Join Jual


On Jual.id_sales=Salesman.id_sales;

8. Left Join Tabel Jual dengan Salesman


SELECT tgl_jual,jual.id_sales,kd_brg From Jual Left Join Salesman
On Jual.id_sales=Salesman.id_sales;
(Amati Perbedaannya !!)

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.

3. Tampilkan jumlah item penjualan masing-masing sales.

STMIK Dipanegara Ganjil11-12 Hal [ 24 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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

No. Pokok : ...................... Tanda Tangan


Nama : .............................................
Kelas : ........... .......................

Jawaban Soal.
Soal.
1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

STMIK Dipanegara Ganjil11-12 Hal [ 25 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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:

Percobaan 1 : Membuat Tabel dengan Key dan Foreign Key

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;

STMIK Dipanegara Ganjil11-12 Hal [ 26 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Aktifkan database Marketing


Mysql > use marketing;

Selalunjutnya buat tabel customer dan customer_sales sbb :

CREATE TABLE customer


(
customer_id INT NOT NULL,
name VARCHAR(30),
PRIMARY KEY (customer_id)
) TYPE = INNODB ;

CREATE TABLE customer_sales


(
transaction_id INT NOT NULL,
amount INT,
customer_id INT NOT NULL,
PRIMARY KEY(transaction_id),
INDEX (customer_id),
FOREIGN KEY (customer_id) REFERENCES customer (customer_id)
) TYPE = INNODB;

Percobaan 2 : Insert Data pada tabel


Untuk melakukan Insert data pada kedua tabel berikan perintah :

mysql>INSERT INTO customer VALUES(1,'Desy'),(2,'Anton');


mysq>INSERT INTO customer_sales VALUES(1,23,1),(3,81,2);

Insert data pada customer_sales dengan data yang tidak ada pada tabel customer

mysql> INSERT INTO customer_sales VALUES(2,39,3);

Insert data customer_id 3 pada tabel customer_sales tidak diijinkan karena customer_id
tersebut tidak terdapat pada tabel induknya (tabel customer).

Percobaan 3 : Penghapusan Data


Pada tabel Parent tidak diijinkan penghapusan data customer_id apabila data dengan
customer_id tersebut masih terdapat pada tabel child (customer_sales). Perintah yang
diberikan adalah :

mysql> DELETE FROM customer WHERE customer_id=3;

Hasil yang akan diperoleh adalah :

ERROR 1217 (23000): Cannot delete or update a parent row: a foreign


key constraint fails

Pengapusan data pada Tabel Child (customer_sales)

STMIK Dipanegara Ganjil11-12 Hal [ 27 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

mysql> delete from customer_sales where customer_id=2;


Query OK, 1 row affected (0.02 sec)

Percobaan 4 : Drop Foreign Key


Untuk menghapus Foreign Key digunakan klausa drop tetapi tidak bisa dilakukan drop
secara langsung misalnya :
mysql> ALTER TABLE customer_sales DROP FOREIGN KEY;

ERROR 1005 (HY000): Can't create table './latihan/#sql-671_9.frm'


(errno: 150)

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 :

| Table | Create Table


|
customer_sales | CREATE TABLE `customer_sales` (
`transaction_id` int(11) NOT NULL default '0',
`amount` int(11) default NULL,
`customer_id` int(11) NOT NULL default '0',
PRIMARY KEY (`transaction_id`),
KEY `customer_id` (`customer_id`),
CONSTRAINT `0_15` FOREIGN KEY (`customer_id`) REFERENCES
`customer` (`customer_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

Constrain 0_15 merupakan foreign key id , nilai tersebut bisa berbeda pada
implementasi yang lain .
Untuk menghapus definisi foreign key dengan opsi tersebut perintahnya :

mysql> ALTER TABLE customer_sales DROP FOREIGN KEY 0_15;


Query OK, 1 row affected (0.42 sec)

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 :

mysql> delete from customer where customer_id=1;


Query OK, 1 row affected (0.02 sec)

Lakukan pula perintah untuk menambahkan data pada tabel customer_sales, dengan
data customer_id 7, dimana data tersebut tidak terdapat pada tabel customer.

mysql> insert into customer_sales values('6','30','7');


Query OK, 1 row affected (0.01 sec)
Penambahan bisa dilakukan karena definisi Foreign Key telah dihilangkan.

STMIK Dipanegara Ganjil11-12 Hal [ 28 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Percobaan 5 : Delete Foreign Key


Pada tabel customer record data dapat dihapus dengan sekaligus menghapus data
pada tabel customer_sales dengan satu kali perintah delete. Proses delete
semacam ini disebut dengan cascade delete, dimana setiap data yang berelasi akan
dihapus
Standard pilihan pada saat dilakukan operasi DELETE adalah :
ON DELETE CASCADE
ON DELETE SET NULL
ON DELETE RESTRICT
ON DELETE NO ACTION
ON DELETE SET DEFAULT

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):

CREATE TABLE customer


(
customer_id INT NOT NULL,
name VARCHAR(30),
PRIMARY KEY (customer_id)
) TYPE = INNODB ;

CREATE TABLE customer_sales


(
transaction_id INT NOT NULL,
amount INT,
customer_id INT NOT NULL,
PRIMARY KEY(transaction_id),
INDEX (customer_id),
FOREIGN KEY (customer_id) REFERENCES customer (customer_id) ON
DELETE CASCADE
) TYPE = INNODB;

Pada contoh tersebut dipergunakan opsi ON DELETE CASCADE. Selanjutnya isikan data
pada kedua tabel tersebut seperti data diatas:

mysql> INSERT INTO customer


VALUES(1,'Desy'),(2,'Anton'),('3','Budi');

mysql> INSERT INTO customer_sales


VALUES(1,23,1),(3,81,2),('4','34','3');

Hasil dari Insert data pada tabel tersebut adalah:


mysql> select * from customer; select * from customer_sales;
+-------------+-------+
| customer_id | name |
+-------------+-------+
| 1 | Desy |
| 2 | Anton |
| 3 | Budi |
+-------------+-------+
3 rows in set (0.00 sec)

STMIK Dipanegara Ganjil11-12 Hal [ 29 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

+----------------+--------+-------------+
| 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:

mysql> delete from customer where customer_id=3;


Query OK, 1 row affected (0.06 sec).

Setelah penghapusan data tersebut maka isi record kedua tabel adalah :

mysql> select * from customer; select * from customer_sales;


+-------------+-------+
| customer_id | name |
+-------------+-------+
| 1 | Desy |
| 2 | Anton |
+-------------+-------+
2 rows in set (0.00 sec)

+----------------+--------+-------------+
| 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.

b. ON DELETE SET NULL


ON DELETE SET NULL berbeda dengan ON DELETE CASCADE , On delete set
NULL akan melakukan seting pada foreign key menjadi bernilai NULL.
Contoh :
Buat dua buah tabel yaitu tabel parent dan tabel child. Pada tabel child didefinisikan
foreign key dengan option ON DELETE SET NULL, perintahnya adalah :

CREATE TABLE parent


(
par_id INT NOT NULL,
PRIMARY KEY (par_id)
) TYPE = INNODB;

CREATE TABLE child


(
par_id INT NULL,
child_id INT NOT NULL,
UNIQUE (par_id, child_id),
FOREIGN KEY (par_id) REFERENCES parent (par_id) ON DELETE SET NULL
) TYPE = INNODB;

STMIK Dipanegara Ganjil11-12 Hal [ 30 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Masukkan Data pada tabel parent dengan perintah:

mysql> INSERT INTO parent (par_id) VALUES(1),(2),(3);


Query OK, 3 rows affected (0.06 sec)

Data pada tabel Parent adalah :


mysql> select * from parent;
+--------+
| par_id |
+--------+
| 1 |
| 2 |
| 3 |
+--------+
3 rows in set (0.00 sec)

Masukkan data pada tabel child dengan perintah

mysql> INSERT INTO child (par_id,child_id) VALUES(1,1),(1,2);


Query OK, 2 rows affected (0.02 sec)
mysql> INSERT INTO child (par_id,child_id) VALUES(2,1),(2,2),(2,3)
mysql>INSERT INTO child (par_id,child_id) VALUES(3,1);

Masukkan data lain pada tabel child dengan perintah:

mysql> INSERT INTO child (par_id,child_id) VALUES(4,1);


ERROR 1216 (23000): Cannot add or update a child row: a foreign key
constraint fails

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 :

mysql> DELETE FROM parent where par_id = 1;


Query OK, 1 row affected (0.03 sec)

Hasil setelah operasi penghapusan dapat dilihat dengan perintah :

mysql> select * from child;


+--------+----------+
| par_id | child_id |
+--------+----------+
| NULL | 1 |
| NULL | 2 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
| 3 | 1 |
+--------+----------+
6 rows in set (0.00 sec)

STMIK Dipanegara Ganjil11-12 Hal [ 31 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

c. ON DELETE RESTRICT dan ON DELETE NO ACTION


Kedua opdi tersebut sama dengan contoh pertama, tidak mengijinkan penghapusan
pada tabel parent apabila masih ada record yang berasosiasi pada tabel child.
Penggunaan opsi ini sama dengan pendefinisian tanpa opsi. Buat contoh dengan
tabel dan isi record menggunakan opsi ini.

d. ON DELETE SET DEFAULT


Opsi ini dipergunakan apabila foreign key didefinisikan dengan suatu nilai default.
Record foreign key yang dihapus akan di ganti dengan nilai default. Buat contoh
dengan tabel dan isi record menggunakan opsi ini.

No. Pokok : ...................... Tanda Tangan


Nama : .............................................
Kelas : ........... .......................

1. Buat Resume dari Modul 7

STMIK Dipanegara Ganjil11-12 Hal [ 32 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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:

Percobaan 1: Membuat Tabel account dengan type Innodb

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;

Percobaan 2: Insert Data Pada tabel account


Perintah di bawah dipergunakan untuk melakukan insert data pada tabel account,
karena kolom number autoincrement maka data yang dimasukkan hanya pada kolom
balance:
insert into account (balance) values (0.0);
insert into account (balance) values (1000.0);
insert into account (balance) values (2000.0);

Hasil dari insert data tersebut adalah :


mysql> select * from account;
+--------+---------+
| number | balance |
+--------+---------+
| 1 | 0 |
| 2 | 1000 |
| 3 | 2000 |
+--------+---------+

STMIK Dipanegara Ganjil11-12 Hal [ 33 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

3 rows in set (0.05 sec)

Percobaan 2: Operasi Update data pada tabel account


Seleksi balance pada tabel account dengan number 2
mysql> select balance from account where number=2;
+---------+
| balance |
+---------+
| 1000 |
+---------+

Update balance menjadi 1100


mysql> update account set balance = 1100 where number = 2;

Update balance dengan menambahkan 500


mysql> update account set balance = balance + 500 where
number = 2;
Setiap Query tunggal seperti di atas bersifat atomik, sebelum satu perintah
selesai dieksekusi tidak ada query lain yang dapat melakukan interupsi terhadap
perintah tersebut.

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).

mysql>update account as source, account as dest


set source.balance = source.balance - 1000,
dest.balance = dest.balance + 1000
where source.number = 2 and dest.number = 1;

Pada perintah tersebut dipergunakan dua buah alias pada tabel account yaitu
source dan dest. Dengan menggunakan dua buah alias, dua perintah dapat

STMIK Dipanegara Ganjil11-12 Hal [ 34 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

dijadikan menjadi satu buah perintah sehingga apabila satu perintah gagal maka
semua gagal .

1. Update menggunakan manajemen transaksi


Dalam banyak kasus metode di atas tidak bisa diterapkan untuk kasus yang lain.
Solusinya adalah dengan menggunakan manajemen transaksi:
begin transaction;
update account set balance = balance - 1000 where number = 2;
update account set balance = balance + 1000 where number = 1;
commit;

Atau dengan mengganti perintah BEGIN dengan START.


Start transaction;
update account set balance = balance - 1000 where number = 2;
update account set balance = balance + 1000 where number = 1;
commit;

Operasi Update data dapat dibatalkan dengan memberikan perintah ROLLBACK


pada transaksi tersebut :
start transaction;
update account set balance = balance - 1000 where number = 2;
update account set balance = balance + 1000 where number = 1;
select balance from account where number = 2;
rollback;

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;

STMIK Dipanegara Ganjil11-12 Hal [ 35 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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;

Untuk mengembalikan autocommit ke default mysql perintah yang diberikan


adalah :
mysql> set autocommit=1;

3. Menggunakan Lock
Untuk mencegah interferensi antar pengguna/program aplikasi yang melakukan
manipulasi pada database digunakan metode isolasi menggunakan klausa Lock.
Contoh :

lock tables account write;


select balance from account where number = 2;
update account set balance = 1500 where number = 2;
unlock tables;

Lakukan operasi manipulasi melalui terminal lain atau komputer lain.


Sebelum ada perintah unlock diberikan user/program lain tidak dapat melakukan
pengubahan pada tabel account.

4. Implementasikan Manajemen transaksi pada aplikasi tabel penjualan dan tabel


Stok, apabila ada barang yang dijual maka akan berakibat pada pengurangan
jumlah barang pada tabel stok.
Tabel Stok
Kode_Barang Nama_Barang Jumlah

STMIK Dipanegara Ganjil11-12 Hal [ 36 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Tabel Penjualan
Kode_Barang Nama_Barang Jumlah

a. Buat tabel di atas dengan type innodb


b. Insert data pada masing-masing tabel
c. Update data pada masing-masing tabel dengan menggunakan manajemen
transaksi.
d. Buat mekanisme Lock pada tabel
e. Seleksi stok barang yang jumlahnya noll .

STMIK Dipanegara Ganjil11-12 Hal [ 37 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

No. Pokok : ...................... Tanda Tangan


Nama : .............................................
Kelas : ........... .......................

1. Buat Resume dari Modul 8

STMIK Dipanegara Ganjil11-12 Hal [ 38 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

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.

STMIK Dipanegara Ganjil11-12 Hal [ 39 ]


Praktikum : Sistem Basis Data/Perancangan Basis Data

Percobaan 1 :
1. Buat Database baru dengan nama Bank-dp dan buat 4 tabel pada database
tersebut sbb:

2. Struktur ke empat tabel tsb sbb:

ooOOoo

STMIK Dipanegara Ganjil11-12 Hal [ 40 ]

Anda mungkin juga menyukai