BASIS DATA
Oleh :
Helmy
Puji syukur penulis ucapkan kepada Allah SWT atas segala limpahan kasih sayang dan
karuniaNya, sehingga penulis dapat menyelesaikan jobsheet mata kuliah BASIS DATA ini.
Meskipun dalam penyusunan jobsheet ini banyak ditemui hambatan, namun dengan Hidayah
Allah SWT dan bantuan berbagai pihak akhirnya Penelitian ini dapat diselesaikan dengan baik.
Untuk itu penulis mengucapkan terimakasih kepada
1. Direktur Politeknik Negeri Semarang,
2. Ketua Jurusan Teknik Elektro Politeknik Negeri Semarang,
3. Panitia Penyusunan BPKM, Jobsheet, dan HandOut Jurusan Teknik Elektro Politeknik
Negeri Semarang
4. segenap Staf Dosen, Laboratorium dan Tata Usaha Program Studi Teknik Telekomunikasi
Politeknik Negeri Semarang, serta
5. semua pihak yang terlibat dalam penyusunan penelitian ini.
Kami sadari bahwa tulisan ini masih belum sempurna, karena itu segala koreksi, kritik dan saran
sangat penulis harapkan untuk lebih baiknya penelitian-penelitian yang penulis lakukan di waktu-
waktu mendatang.
Penulis
DAFTAR ISI
Halaman
Halaman Judul ……………………………………………………………………………… ii
Kata Pengantar ……………………..………………………………………………………. iii
Daftar Isi ………………………….…………………………………………………………. iv
Daftar Gambar …………………………………………………………………………….... vii
Daftar Tabel …………………….………………………………………………………….... ix
Petunjuk Bagi Pembaca …………………………………………………………………….. xi
Bab I Perancangan Sistem Informasi ................................................................................... 1
1.1 Tujuan Instruksional Khusus (TIK) …………….……………………………………….. 1
1.2 Pendahuluan ……………………………………………………………………………… 1
1.2.1 Sistem Terdistribusi (Distributed System) ……………………………………………… 1
1.2.2 Pengenalan DBMS ( Database Management System ) ………………………………… 3
1.2.3 Model – model Basis Data ……………………………………………………………… 3
1.2.4 SQL (Structured Query Language) …………………………………………………….. 7
1.2.5 Metodologi Pengembangan Sistem ……………………………………………………. 9
1.2.6 Data Flow Diagram (DFD) …………………………………………………………….. 10
1.2.7 Context Data Flow Diagram ……………………………………………………………. 12
1.2.8 Entity Relationship Diagram (ERD) ……………………………………………………. 13
1.3 Peralatan .............................................................................................................................. 15
1.4 Langkah Kerja ..................................................................................................................... 15
1.5 Lembar Kerja ....................................................................................................................... 15
1.6 Pertanyaan ........................................................................................................................... 15
1.7 Tugas ................................................................................................................................... 15
Bab II Normalisasi Data .......................................................................................................... 16
2.1 Tujuan Instruksional Khusus (TIK) …………………….……………………………….. 16
2.2 Pendahuluan ……………………………………………………………………………… 16
2.2.1 Anomali ………………………………………………………………………………… 16
2.2.1.1 Anomali Peremajaan (Update) ……………………………………………………….. 16
2.2.1.2 Anomali Penyisipan (Insert) ………………………………………………………….. 17
2.2.1.3 Anomali Penghapusan (Delete) ……………………………………………………….. 18
2.2.2 Dependensi (Ketergantungan) ………………………………………………………….. 19
2.2.2.1 Dependensi Fungsional ………………………………………………………………. 19
2.2.2.2 Dependensi Fungsional Sepenuhnya …………………………………………………. 20
2.2.2.3 Dependensi Fungsional Total …………………………………..……………………. 20
2.2.2.4 Dependensi Transitif ……………….…………………………………………………. 21
2.2.3 Dekomposisi (Pemecahan) ……………………………………………………………… 22
2.2.3.1 Dekomposisi Tak Hilang ……………………………………………………………… 22
2.2.3.2 Dekomposisi Hilang…………………………………………………………………… 23
2.2.4 Bentuk Normal ………………………………………………………………………….. 24
2.2.4.1 Bentuk Normal Pertama (1NF) ……………………………………………………….. 24
2.2.4.2 Bentuk Normal Kedua (2NF) ………………………………………………………… 25
2.2.4.3 Bentuk Normal Ketiga (3NF) ………………………………………………………… 27
2.3 Peralatan .............................................................................................................................. 30
2.4 Langkah Kerja .................................................................................................................... 30
2.5 Lembar Kerja ...................................................................................................................... 30
2.6 Pertanyaan .......................................................................................................................... 30
2.7 Tugas .................................................................................................................................. 30
Bab III Data Definition Language (DDL) ............................................................................. 31
3.1 Tujuan Instruksional Khusus (TIK) ………………….………………………………….. 31
3.2 Pendahuluan ……………………………………………………………………………… 31
3.3 Peralatan ............................................................................................................................. 31
3.4 Langkah Kerja ..................................................................................................................... 31
3.5 Lembar Kerja ....................................................................................................................... 33
3.6 Pertanyaan .......................................................................................................................... 33
3.7 Tugas .................................................................................................................................. 33
Bab IV Data Manipulation Language (DML) Bagian I …………………………….…….. 35
4.1 Tujuan Instruksional Khusus (TIK) …………….……………………………………….. 35
4.2 Pendahuluan ……………………………………………………………………………… 35
4.3 Peralatan .............................................................................................................................. 35
4.4 Langkah Kerja ..................................................................................................................... 35
4.5 Lembar Kerja ....................................................................................................................... 36
4.6 Pertanyaan ........................................................................................................................... 38
4.7 Tugas ................................................................................................................................... 38
Bab V Data Manipulation Language (DML) Bagian II ………………………….……….. 41
5.1 Tujuan Instruksional Khusus (TIK) ………………………..…………………………….. 41
5.2 Pendahuluan ……………………………………………………………………………… 41
5.3 Peralatan .............................................................................................................................. 42
5.4 Langkah Kerja ..................................................................................................................... 42
5.5 Lembar Kerja ...................................................................................................................... 43
5.6 Pertanyaan ......................................................................................................................... 43
5.7 Tugas ................................................................................................................................... 43
Bab VI Pengaturan User ………………………………….……………………….……….. 44
6.1 Tujuan Instruksional Khusus (TIK) ………………….………………………………….. 44
6.2 Pendahuluan ………………………….…………………………………………………… 44
6.3 Peralatan .............................................................................................................................. 45
6.4 Langkah Kerja ..................................................................................................................... 45
6.5 Lembar Kerja ...................................................................................................................... 47
6.6 Pertanyaan ......................................................................................................................... 47
6.7 Tugas ................................................................................................................................... 47
Bab VII Aplikasi Database …………………………………..…………………….……….. 49
7.1 Tujuan Instruksional Khusus (TIK) ………………….………………………………….. 49
7.2 Pendahuluan ……………………………………………………………………………… 49
7.3 Peralatan .............................................................................................................................. 49
7.4 Langkah Kerja ..................................................................................................................... 50
7.5 Lembar Kerja ...................................................................................................................... 51
7.6 Pertanyaan ......................................................................................................................... 51
7.7 Tugas ................................................................................................................................... 51
Daftar Pustaka ........................................................................................................................ 52
DAFTAR GAMBAR
Halaman
Gambar 1.1 Arsitektur Sistem Terdistribusi ……..…………………………………………… 2
Gambar 1.2 Model Basis Data Hirarkis ……………………………………………………… 4
Gambar 1.3 Contoh Penerapan Model Basis Data Hirarkis ..................................................... 4
Gambar 1.4 Contoh Penerapan Model Basis Data Jaringan ..................................................... 5
Gambar 1.5 SQL Syntax ......................................................................................................... 8
Gambar 1.6 Metodologi Pengembangan Sistem ........................................................................ 9
Gambar 1.7 Pendekatan Analisa Sistem ................................................................................... 9
Gambar 1.8 Simbol Proses pada DFD ....................................................................................... 10
Gambar 1.9 Simbol External Agents/Terminator pada DFD .................................................... 10
Gambar 1.10 Simbol Data Store pada DFD ............................................................................... 11
Gambar 1.11 Simbol Data Flows pada DFD .............................................................................. 11
Gambar 1.12 Aliran Data DFD yang Diperbolehkan dan Tidak ............................................... 11
Gambar 1.13 Context Data Flow Diagram ............................................................................... 12
Gambar 1.14 Data Flow Diagram ............................................................................................. 12
Gambar 1.15 Simbol ERD .......................................................................................................... 13
Gambar 1.16 Notasi Kardinalitas ERD ...................................................................................... 14
Gambar 1.17 Penerapan ERD ................................................................................................... 14
Gambar 2.1 Macam Dependensi ................................................................................................ 19
Gambar 2.2 Level-level Normalisasi ........................................................................................ 24
Gambar 3.1 MySQL Prompt ..................................................................................................... 32
Gambar 4.1 MySQL Prompt ...................................................................................................... 36
Gambar 5.1 Penggunaan syntax JOIN ....................................................................................... 42
Gambar 5.2 Penggunaan syntax LEFT JOIN ............................................................................ 42
Gambar 6.1 Deskripsi tabel user pada database MySQL ……………………………………. 45
Gambar 6.2 MySQL prompt user telkom .................................................................................. 46
Gambar 6.3 Penambahan hak akses (privileges) ke tabel user ................................................. 46
Gambar 6.4 Menghapus hak akses (privileges) user telkom ..................................................... 47
Gambar 7.1 Form Pengisian Data Anggota .............................................................................. 50
DAFTAR TABEL
Halaman
Tabel 1.1 Persamaan Istilah antara Model Relational, Programmer dan User ………………. 5
Tabel 1.2 Tabel Mahasiswa ………………………………………………………………….. 6
Tabel 1.3 Tabel Mata Kuliah …………………………………………………………………. 6
Tabel 1.4 Tabel Nilai ………………………………………………………………………… 6
Tabel 2.1 Tabel Anomali Update I ……………………………………………………………. 16
Tabel 2.2 Tabel Anomali Update II ........................................................................................... 17
Tabel 2.3 Tabel Anomali Insert I .............................................................................................. 17
Tabel 2.4 Tabel Anomali Insert II ............................................................................................. 18
Tabel 2.5 Tabel Anomali Delete I .............................................................................................. 18
Tabel 2.6 Tabel Anomali Delete II ............................................................................................ 18
Tabel 2.7 Dependensi Fungsional ............................................................................................. 19
Tabel 2.8 Dependensi Fungsional Sepenuhnya .......................................................................... 20
Tabel 2.9 Dependensi Total ........................................................................................................ 21
Tabel 2.10 Dependensi Transitif ............................................................................................... 21
Tabel 2.11 Relasi Semula Dekomposisi Tak Hilang ................................................................. 22
Tabel 2.12 Relasi Dekomposisi Tak Hilang I ............................................................................ 22
Tabel 2.13 Relasi Dekomposisi Tak Hilang II .......................................................................... 23
Tabel 2.14 Relasi Semula Dekomposisi Hilang ........................................................................ 23
Tabel 2.15 Relasi Dekomposisi Hilang I ................................................................................... 23
Tabel 2.16 Relasi Dekomposisi Hilang II .................................................................................. 24
Tabel 2.17 Bentuk Tidak Normal .............................................................................................. 25
Tabel 2.18 Bentuk Normal I ...................................................................................................... 25
Tabel 2.19 Bentuk Normal I ..................................................................................................... 26
Tabel 2.20 Bentuk Normal II Dekomposisi I ............................................................................ 26
Tabel 2.21 Bentuk Normal II Dekomposisi II .......................................................................... 27
Tabel 2.22 Bentuk Normal II Dekomposisi II ........................................................................... 27
Tabel 2.23 Bentuk Normal III Dekomposisi I ........................................................................... 28
Tabel 2.24 Bentuk Normal III Dekomposisi II .......................................................................... 28
Tabel 2.25 Tabel (Relasi) Anggota ............................................................................................ 28
Tabel 2.26 Tabel (Relasi) Transaksi .......................................................................................... 29
Tabel 2.27 Tabel (Relasi) Kategori Disk ................................................................................... 29
Tabel 2.28 Tabel (Relasi) Disk .................................................................................................. 29
Tabel 2.29 Tabel (Relasi) Pegawai ............................................................................................ 30
Tabel 4.1 Data Anggota ............................................................................................................. 36
Tabel 4.2 Data Anggota ............................................................................................................. 38
Tabel 4.3 Data Transaksi............................................................................................................. 38
Tabel 4.4 Data Kategori Disk .................................................................................................... 39
Tabel 4.5 Data Disk .................................................................................................................... 39
Tabel 4.6 Data Pegawai ............................................................................................................. 39
Tabel 7.1 Tampilan data anggota .............................................................................................. 50
PETUNJUK BAGI PEMBACA
Basis data yang dipakai pada jobsheet ini menggunakan SQL (Structured Query Language) yang
dipakai oleh seluruh pengembang basis data sehingga akan memudahkan pengguna jika berganti
basis data karena bahasa yang dipakai sama yaitu SQL dan hanya interface nya saja yang
berbeda. Untuk mempermudah proses penguasaan basis data yang memakai SQL, perlu disusun
panduan pembelajaran yang memungkinkan mahasiswa menguasai materi secara sistematik dan
aplikatif.
B. Prasyarat yang harus dipenuhi oleh pemakai sebelum menggunakan buku ajar
Untuk menggunakan jobsheet ini, pengguna harus sudah memahami konsep algoritma
pemrograman yang akan dipakai untuk memprogram SQL.
1.2 Pendahuluan
1.2.1 Sistem Terdistribusi (Distributed System)
Merupakan suatu sistem dimana data, proses dan komponen interface dari sistem informasi
[1]
didistribusikan ke berbagai lokasi dalam suatu jaringan komputer. Pada sistem terdistribusi
terdapat Aplikasi Sistem Informasi yang meliputi beberapa lapisan (layer):
1. Presentation Layer
Merupakan interface user yang sebenarnya, misalkan penyajian masukan dan keluaran
untuk pengguna sistem.
2. Presentation Logic Layer
Merupakan suatu proses yang harus dilakukan untuk menghasilkan presentasi, misalkan
mengubah masukan data dan memformat keluaran data.
3. Application Logic Layer
Merupakan seluruh proses yang diminta untuk mendukung aturan dan aplikasi bisnis
sesungguhnya, misalkan kalkulasi, analisa data dan sebagainya.
4. Data Manipulation Layer
Merupakan seluruh perintah dan logika yang diminta untuk menyimpan dan mendapatkan
kembali data ke dan dari database.
5. Data Layer
Merupakan data yang tersimpan dalam basis data.
-1-
Sistem Terdistribusi memiliki beberapa arsitektur antara lain :
1. Arsitektur File Server
2. Arsitektur Client/Server
3. Arsitektur Berbasis Internet (Network Computing)
Arsitektur ini dapat digambarkan sebagai berikut :
-2-
1.2.2 Pengenalan DBMS ( Database Management System )
DBMS merupakan suatu program komputer yang digunakan untuk memasukkan (INSERT),
mengubah (UPDATE), menghapus (DELETE), memanipulasi dan memperoleh data/informasi
dengan praktis dan efisien[2].
Keunggulan DBMS[2] antara lain :
Kepraktisan
Kecepatan
Mengurangi Kejemuan
Update
Komponen Utama DBMS[2] antara lain :
Hardware
Komputer dan bagian – bagian didalamnya
Data
Terpadu dan berbagi data
Software
DBMS berkedudukan antara database dan user
User
End user, application programmer dan database administrator (DBA)
1.2.3 Model – model Basis Data
Beberapa model basis data antara lain :
1. Hirarkis
2. Jaringan
3. Relasional
Model Basis Data Hirarkis
Biasa disebut model pohon, karena menyerupai pohon yang dibalik
Menggunakan pola hubungan orangtua-anak
Simpul yang terhubung ke simpul pada level dibawahnya disebut orangtua
1 orangtua bisa memiliki satu anak/banyak anak
1 anak hanya memiliki 1 orangtua
Simpul orangtua yang tidak memiliki orangtua disebut akar
-3-
Simpul yang tidak memiliki anak disebut daun
A Akar :A
Orangtua : C, D, G
B C D Anak : B, C, D, E, F, G, H, I
Daun : B, E, F, I, H
E G H
F I
Gambar 1.2 Model Basis Data Hirarkis
Dosen
Contoh produk DBMS yang
menggunakan model hirarkis : IMS
(Information Management System)
Manajemen Protokol Jaringan
yang dikembangkan oleh 2 Database Komputer
perusahaan yaitu IBM dan
Rockwell International Corporation
Supai Bagus
Kusnan Rejif
Supai Bagus
Kusnan Rejif
Tabel 1.1 Persamaan Istilah antara Model Relational, Programmer dan User
-5-
nim nama
3.33.04.0.23 Supai
3.33.04.1.13 Kusnan
3.33.04.5.02 Bagus
3.33.04.6.23 Wayan
kode_mk nama_mk
TK 5307 Multimedia
3.33.04.0.23 TK 6305 A
3.33.04.0.23 TK 4306 AB
3.33.04.0.23 TK 5307 B
3.33.04.1.13 TK 6305 AB
3.33.04.1.13 TK 4306 B
3.33.04.1.13 TK 5307 A
-6-
Contoh produk DBMS terkenal yang menggunakan model relasional antara lain :
• DB2 (IBM)
• Rdb/VMS (Digital Equipment Corporation)
• dBASE family
• Sybase (Sybase Inc)
• ORACLE (Oracle Corporation)
• MS SQL Server
• MySQL
• PostgreSQL
-7-
Selain DDL dan DML masih banyak lagi perintah SQL seperti pada gambar dibawah ini.
-8-
1.2.5 Metodologi Pengembangan Sistem
Preliminary
Problem Requirements
Investigation
Analysis Analysis
(Survey)
Decision
Construction Design
Analysis
Implementation
-9-
1.2.6 Data Flow Diagram (DFD)
Merupakan alat yang menggambarkan aliran data melalui suatu sistem dan proses yang terjadi
dalam sistem tersebut. Simbol – simbol DFD antara lain :
1. Proses
Merupakan pekerjaan yang harus dilakukan dan nama proses harus dalam bentuk kata
kerja. Beberapa bentuk proses antara lain :
2. External Agents/Terminator
Merupakan pelaku sistem (orang, unit organisasi) dan nama proses dalam bentuk kata
benda. Beberapa bentuk external agents antara lain :
- 10 -
3. Data Store
Merupakan file atau database dan beberapa bentuk data store antara lain :
Aliran data (data flow) pada DFD yang diperbolehkan dan yang tidak antara lain :
Illegal Data Flows Corrected Data Flows
- 11 -
1.2.7 Context Data Flow Diagram
Context Data Flow Diagram sering disingkat menjadi Context Diagram (CD) yang
menggambarkan keseluruhan proses. Sebagai contoh adalah CD dari Sistem Peminjaman Disk :
- 12 -
1.2.8 Entity Relationship Diagram (ERD)
Merupakan alat yang digunakan untuk mendokumentasikan data yang harus diambil dan
disimpan oleh sistem[1]
Entitas (entity) : kelas dari orang, tempat, objek, even atau konsep mengenai
pengambilan/penyimpanan data misalkan “Data pegawai”
Attribute : deskripsi mengenai entity misalkan atribut entitas data pegawai : Nama, Tgl
Lahir, Alamat, Telepon
Compound attribute : deskripsi dari atribut misalkan compound attribute dari atribut
Nama : Nama depan dan Nama belakang, atribut Tgl Lahir : Tanggal Bulan Tahun
- 13 -
Cardinality notations [1]
Exactly one 1 1
(one and only one)
Zero or one 0 1
mengarsipkan meminjam
- 14 -
1.3 Peralatan
1. 1 unit PC
1.6 Pertanyaan
1. Jelaskan fungsi masing – masing data flow pada CD dan DFD pada lembar kerja !
2. Jelaskan kardinalitas ERD pada lembar kerja !
1.7 Tugas
1. Buat perancangan CD dan DFD sistem informasi akademik dengan external agent
mahasiswa, dosen dan administrasi PBM
2. Buat perancangan ERD dari hasil data store pada DFD
- 15 -
BAB II
NORMALISASI DATA
2.2 Pendahuluan
Normalisasi data merupakan proses untuk mengubah suatu relasi yang memiliki masalah
(anomali) tertentu ke dalam dua buah relasi atau lebih yang tidak memiliki masalah tersebut[2]
2.2.1 Anomali[2]
Proses pada basis data yang memberikan efek samping yang tidak diharapkan (misalnya
menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang ketika data lain
dihapus). Ada tiga macam anomali yaitu :
Anomali Peremajaan (UPDATE)
Anomali Penyisipan (INSERT)
Anomali Penghapusan (DELETE)
2.2.1.1 Anomali Peremajaan (Update)
Terjadi apabila terdapat pengubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya
diubah.
- 17 -
NAMA ALAMAT TELEPON
- 18 -
2.2.2 Dependensi (Ketergantungan)
Merupakan konsep yang mendasari normalisasi. Dependensi menjelaskan hubungan antara
atribut, atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut
lainnya. Macam dependensi antara lain :
Dependensi Fungsional
Dependensi Total
Dependensi Transitif
- 19 -
Notasi :
- JUDUL DISK secara fungsional menentukan KATEGORI
JUDUL DISK KATEGORI
- {JUDUL DISK, KATEGORI} HARGA
Notasi :
ѳ {JUDUL DISK, KATEGORI} HARGA
JUDUL DISK HARGA
Dependensi Transitif
Dapat didefinisikan : Suatu atribut Z mempunyai dependensi transitif terhadap X jika :
- Y mempunyai dependensi fungsional terhadap X
- Z mempunyai dependensi fungsional terhadap Y
ID NAMA ALAMAT
ID NAMA
N001 Adhitya
N004 Adhitya
- 22 -
ID ALAMAT
ID NAMA ALAMAT
Dekomposisi hilang :
ID NAMA
N001 Adhitya
N004 Adhitya
- 23 -
NAMA ALAMAT
- 26 -
ID JUDUL JUDUL DISK KATEGORI HARGA
- 27 -
ID KATEGORI KATEGORI HARGA
- 28 -
NO ID ID JUDUL TGL PINJAM TGL KEMBALI NIK
- 29 -
NIK NAMA TEMPAT LAHIR TGL LAHIR ALAMAT TELEPON
K01 Johan Semarang 1980/07/10 Jl. Jalan Sore 126a Semarang (024) 7899056
2.3 Peralatan
1. 1 unit PC
2.6 Pertanyaan
1. Jelaskan langkah – langkah normalisasi data sistem informasi akademik yang dilakukan !
2.7 Tugas
1. Buat normalisasi data hasil perancangan sistem pada tugas Bab I
- 30 -
BAB III
DATA DEFINITION LANGUAGE (DDL)
3.2 Pendahuluan
Data Definition Language pada MySQL digunakan untuk :
1. Membuat database, tabel dan index
2. Mengubah struktur database dan tabel
3. Menghapus database, tabel dan index
4. Mengubah nama tabel
Semua syntax DDL MySQL dapat dilihat pada referensi MySQL. Setiap perintah SQL diakhiri
dengan ;
3.3 Peralatan
1. 1 PC
- 31 -
Gambar 3.1 MySQL Prompt
4. Pada mysql prompt ketikkan perintah SHOW DATABASES; untuk melihat daftar nama database
yang ada pada database MySQL
5. Perintah USE namadatabase; digunakan untuk masuk ke database yang akan di modifikasi
tabel-tabelnya.
6. Buat database baru dengan nama rental_disk dengan perintah : CREATE DATABASE
rental_disk;
7. Masuk ke database yang barusan dibuat : USE rental_disk;
8. Buat tabel-tabel hasil normalisasi pada sistem peminjaman disk contoh pembuatan tabel
anggota:
CREATE TABLE anggota (
id CHAR(4) PRIMARY KEY,
nama VARCHAR(100) NOT NULL,
alamat VARCHAR(200) NOT NULL,
telepon VARCHAR(20) NOT NULL);
9. Tipe data dapat dilihat di referensi MySQL pada file data-types.html
10. Mengubah struktur tabel dengan perintah ALTER misalkan kolom nama akan diubah
panjang karakternya menjadi 150 :
ALTER TABLE anggota MODIFY nama VARCHAR(150) NOT NULL;
- 32 -
3.5 Lembar Kerja
1. Print screen command prompt untuk masuk ke MySQL = ......................................
2. Print screen command prompt untuk perintah SHOW DATABASES = .......................
3. Print screen command prompt untuk perintah CREATE DATABASE rental_disk =
.......................
4. Print screen command prompt untuk perintah USE rental_disk = .......................
5. Print screen command prompt untuk perintah CREATE TABLE anggota = .......................
6. Print screen command prompt untuk perintah ALTER TABLE anggota MODIFY nama
VARCHAR(150) NOT NULL = ......................
3.6 Pertanyaan
1. E:\AppServ\MySQL\bin>mysql -u root -p
Enter password: ******
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using
password: YES) Apakah maksud error tersebut?
2. mysql> use rental_disk;
ERROR 1049 (42000): Unknown database 'rental_disk' Apakah maksud error
tersebut?
3. Jelaskan masing-masing perintah SQL yang digunakan untuk membuat tugas pada lembar
kerja!
3.7 Tugas
1. Buat seluruh tabel yang ada pada sistem peminjaman disk
2. Tambahkan kolom baru pada tabel anggota : kolom pekerjaan, jenis kelamin dan alamat kos.
Letakkan kolom pekerjaan setelah kolom nama, letakkan kolom jenis kelamin sebelum
kolom telepon dan letakkan kolom alamat kos setelah kolom alamat sehingga susunan kolom
pada tabel anggota menjadi : id, nama, pekerjaan, alamat, alamat kos, jenis kelamin, telepon
3. Pada tabel disk ubah struktur kolom judul disk menjadi varchar(200) NOT NULL
4. Buat tabel baru dengan nama login dan kolomnya : username, password, nik. Kolom
password dipersiapkan untuk data enkripsi MD5 yang akan mengubah password yang
dimasukkan menjadi 32 karakter acak misalkan kolom password diisi tukul, penulisannya
- 33 -
saat menggunakan perintah INSERT yaitu md5(’tukul’) dan yang tersimpan pada kolom
password adalah hasil enkripsi MD5 dari tukul yaitu : 4c3eba08276232fa86cd80b503ed0af3
5. Ubah nama kolom password menjadi paswet, kolom username menjadi yusernem pada tabel
login
6. Hapus kolom jenis kelamin dan alamat kos pada tabel anggota
7. Tambahkan rental pada masing-masing nama tabel misalkan tabel anggota_rental, disk_
rental, pegawai_ rental dst.
- 34 -
BAB IV
DATA MANIPULATION LANGUAGE (DML)
BAGIAN I
4.2 Pendahuluan
Data Manipulation Language merupakan bahasa SQL yang digunakan untuk mengubah,
memanipulasi dan mengambil data pada basis data misalkan :
1. Perintah INSERT untuk memasukkan data ke tabel
2. Perintah UPDATE untuk mengubah data pada tabel
3. Perintah DELETE untuk menghapus baris pada tabel
4. Perintah TRUNCATE untuk mengkosongkan isi satu tabel
5. Perintah SELECT untuk menampilkan isi dari tabel
6. Subquery merupakan perintah SELECT didalam statement lainnya (query didalam query)
7. LOAD DATA INFILE digunakan untuk mengimpor data text file ke dalam tabel
4.3 Peralatan
1. 1 PC
- 35 -
Gambar 4.1 MySQL Prompt
N001 Adhitya Mahasiswa Jl. Mawar Jingga 126a Plamongan Semarang (024) 6758056
- 36 -
7. Mengubah nama Adhitya menjadi Adhitya Arwana :
UPDATE anggota SET nama=‟Adhitya Arwana‟ WHERE id=‟N001‟;
8. Menghapus anggota dengan nama Adhitya :
DELETE FROM anggota WHERE id=‟N001‟;
9. Mengkosongkan tabel anggota :
TRUNCATE anggota;
10. Menampilkan seluruh isi tabel anggota :
SELECT * FROM anggota; (* akan menampilkan seluruh kolom)
11. Menampilkan data id, tglpinjam, tglkembali dan nik dari tabel transaksi dengan nama
anggota adhitya diambil dari tabel anggota;
SELECT id,tglpinjam,tglkembali,nik FROM transaksi WHERE id=(SELECT id FROM
anggota WHERE nama= 'adhitya');
4.6 Pertanyaan
Jelaskan masing-masing perintah SQL yang digunakan untuk membuat tugas pada lembar
kerja!
- 37 -
4.7 Tugas
Buat tabel beserta isinya seperti dibawah ini :
N006 Tri Ri’ana Sari Swasta Ds Tambakmas Sukomoro RT 5/1 Kab. 08887658768
Magetan Jawa Tengah
- 38 -
ID KATEGORI KATEGORI HARGA
2. Pada tabel anggota tampilkan seluruh data anggota (seluruh kolom) yang memiliki pekerjaan
swasta (clue: pakai perintah SELECT ...... WHERE)
3. Pada tabel anggota tampilkan seluruh data nama, alamat dan nomor telepon
- 39 -
4. Hitung seluruh jumlah anggota dan hitung jumlah anggota yang bekerja sebagai PNS,
swasta, wiraswasta dan mahasiswa
5. Tampilkan seluruh kolom dari tabel anggota dimana nama anggotanya diawali dengan huruf
A
6. Tampilkan data nama, alamat, pekerjaan dari tabel anggota dimana anggotanya punya nomor
handphone
7. Urutkan data tabel anggota mulai dari A Z dan urutkan data tabel anggota dari Z A
8. Ubah pekerjaan anggota dengan nama Alfin Bernas dari Mahasiswa menjadi kameramen
9. Jika chafidin meminjam CD AutoCAD2007, Adobe CS3, PHP MySQL Tutorial dan sewaktu
pinjam dilayani Paimin pada tanggal 15 April 2007 maka apa yang harus dilakukan dengan
tabel transaksi? (clue:1 CD waktu pinjam 1 hari)
10. Anggota dengan id berapa saja yang pinjam pada bulan Pebruari?
- 40 -
BAB V
DATA MANIPULATION LANGUAGE (DML)
BAGIAN II
5.2 Pendahuluan
Beberapa tabel pada MySQL dapat digabungkan menjadi satu dengan tujuan untuk mendapatkan
informasi yang dapat dipahami oleh pengguna sistem. Penggabungan beberapa tabel
menggunakan syntax JOIN yang terdiri dari :
1. INNER JOIN atau CROSS JOIN
2. STRAIGHT JOIN
3. LEFT JOIN atau LEFT OUTER JOIN
4. NATURAL JOIN
5. RIGHT JOIN atau RIGHT OUTER JOIN
Syntax INNER JOIN atau CROSS JOIN atau JOIN digunakan untuk mendapatkan informasi dari
2 tabel atau lebih dengan syarat data dari tabel1 ada pada tabel yang lain. Misalkan jika tabel
anggota digabung dengan tabel transaksi maka data yang tampil adalah seluruh anggota yang ada
pada tabel transaksi atau dapat dikatakan yang tampil adalah anggota yang pernah melakukan
transaksi.
Syntax LEFT JOIN hampir sama dengan INNER JOIN tetapi data yang tampil diutamakan tabel
sebelah kiri, misalnya tabel anggota LEFT JOIN transaksi maka data yang tampil adalah seluruh
anggota baik yang pernah melakukan transaksi maupun yang tidak melakukan transaksi. RIGHT
JOIN kebalikan dengan LEFT JOIN, NATURAL JOIN sama dengan INNER JOIN sedangkan
STRAIGHT JOIN sama dengan JOIN kecuali bahwa tabel sebelah kiri selalu dibaca lebih dulu
daripada tabel sebelah kanan.
- 41 -
5.3 Peralatan
1. 1 PC
4. Menampilkan data nama anggota beserta tanggal pinjam dan tanggal kembali menggunakan
syntax LEFT JOIN.
- 42 -
5.5 Lembar Kerja
1. Print screen command prompt untuk koneksi ke MySQL = .................................
2. Print screen command prompt untuk perintah USE namadatabase = .................
3. Print screen command prompt untuk perintah JOIN = ........................................
4. Print screen command prompt untuk perintah LEFT JOIN = ........................................
5.6 Pertanyaan
Jelaskan masing-masing perintah SQL yang digunakan untuk membuat tugas pada lembar kerja!
5.7 Tugas
1. Tampilkan data nama pegawai yang mengurusi peminjaman cd pada bulan maret 2007
PEGAWAI, TGLPINJAM
2. Tampilkan data judul disk, nama kategori dan harga JUDUL_DISK,
NAMA_KATEGORI, HARGA_DISK
3. Tampilkan data nama anggota yang pinjam pada bulan April tahun 2007
4. Tampilkan data nama anggota yang pinjam pada bulan Pebruari 2007 s/d Desember 2007
NAMA_ANGGOTA, TGL_PINJAM
5. Tampilkan data nama pegawai yang mengurusi pengembalian disk sebelum bulan Maret
2007
6. Tampilkan data nama anggota, judul disk yang dipinjam, tgl pinjam, tgl kembali beserta
nama pegawai yang melakukan peminjaman pada tahun 2007 NAMA_ANGGOTA,
JUDUL_DISK, TGLPINJAM, TGLKEMBALI, NAMA_PEGAWAI
7. Tampilkan data nama anggota, judul disk yang dipinjam, tgl pinjam, tgl kembali beserta
nama pegawai baik yang melakukan peminjaman atau tidak melakukan peminjaman pada
tahun 2007 NAMA_ANGGOTA, JUDUL_DISK, TGLPINJAM, TGLKEMBALI,
NAMA_PEGAWAI
8. Tampilkan jumlah uang yang didapat pada bulan April 2007 dan selama tahun 2007
9. Tampilkan jumlah uang yang telah dikeluarkan oleh masing – masing anggota selama
menjadi anggota NAMA_ANGGOTA, JUMLAH_UANG
10. Tampilkan nama anggota yang paling sedikit mengeluarkan uang dan yang paling banyak
mengeluarkan uang untuk pinjam NAMA_ANGGOTA, JUMLAH_UANG
- 43 -
BAB VI
PENGATURAN USER
6.2 Pendahuluan
Pengguna MySQL harus memiliki account terlebih dahulu sebelum menggunakan. Account
MySQL terdiri dari username dan password, username default pada MySQL adalah root dengan
tanpa password sehingga jika menginginkan database aman password harus diisi dan username
tidak menggunakan root. Seluruh data user MySQL disimpan pada database dengan nama mysql
dan pada tabel user.
CREATE USER digunakan untuk membuat user baru, DROP USER digunakan untuk
menghapus user yang sudah ada, GRANT digunakan untuk memberi hak akses user, RENAME
USER digunakan untuk mengubah nama user, REVOKE digunakan untuk membatalkan hak
akses dan SET PASSWORD digunakan untuk memberikan password pada user. Hak akses user
dapat dilihat pada database mysql tabel user sehingga dengan pembatasan hak akses
administrator database MySQL dapat membatasi masing – masing user hanya bisa melakukan
perintah SELECT, hanya bisa melakukan perintah INSERT dan UPDATE dsb.
- 44 -
Gambar 6.1 Deskripsi tabel user pada database mysql
6.3 Peralatan
1. 1 PC
- 45 -
Gambar 6.2 MySQL prompt user telkom
7. Keluar dari MySQL Prompt dan masuk lagi menggunakan user “root”
8. Memberikan semua hak akses terhadap user “telkom” dengan perintah : GRANT ALL ON *.*
TO telkom@localhost;
9. Setiap pemberian hak akses kemudian diikuti perintah FLUSH PRIVILEGES; untuk
menyimpan perubahan hak akses sehingga untuk mengetahui perubahan yang terjadi cek
tabel user pada database mysql.
- 46 -
10. Hapus hak akses user menggunakan perintah :
6.6 Pertanyaan
Jelaskan masing-masing perintah SQL yang digunakan untuk membuat tugas pada lembar kerja!
6.7 Tugas
1. Buat user baru dengan nama telkom, nama host : localhost, password : enter.
2. Set user telkom bisa akses database ”rental_disk” dengan hak akses ”SELECT” dan
”CREATE”
3. Tambahkan hak akses user telkom pada database ” rental_disk” sehingga user telkom bisa
memasukkan, mengubah dan menghapus data pada tabel – tabel di database rental_disk.
- 47 -
4. Hapus hak akses ”CREATE” user telkom
5. Ubah nama user telkom menjadi telkom_namakelas
6. Ubah password user telkom_namakelas menjadi ”paswet”
- 48 -
BAB VII
APLIKASI DATABASE
7.2 Pendahuluan
Pembuatan aplikasi database menggunakan PHP merupakan salah satu contoh arsitektur sistem
terdistribusi yang memakai solusi Network Soluting. Sebelum menggunakan database MySQL,
skrip php terlebih dahulu membuat koneksi dengan database MySQL dengan cara menentukan
nama user, password, nama host dan nama database yang akan digunakan.
$user="telkom";
$passwd="enter";
$host="localhost";
$db="rental_disk";
mysql_connect($host,$user,$passwd);
mysql_select_db($db);
7.3 Peralatan
1. PC
- 49 -
7.4 Langkah Kerja
1. Hidupkan PC
2. Buka web editor (notepad atau edit plus atau Macromedia Dreamweaver dsb)
3. Buka file index.php dan ubah.php
4. Buat Form Pengisian Data Anggota
5. Buat tampilan data anggota beserta editor untuk ubah data dan hapus data
- 50 -
7.5 Lembar Kerja
1. Print screen tampilan form pengisian data anggota = ...................................
2. Print screen tampilan data anggota = ...................................
7.6 Pertanyaan
Jelaskan masing-masing skrip PHP yang digunakan untuk membuat tugas pada lembar kerja!
7.7 Tugas
1. Buat aplikasi untuk memasukkan, mengubah dan menghapus data disk.
2. Buat aplikasi untuk memasukkan, mengubah dan menghapus data kategori disk.
3. Buat aplikasi untuk memasukkan, mengubah dan menghapus data pegawai.
4. Buat aplikasi untuk menampilkan data jumlah uang yang telah dikeluarkan oleh masing –
masing anggota selama menjadi anggota NAMA_ANGGOTA, JUMLAH_UANG
5. Buat aplikasi untuk menampilkan data nama anggota, judul disk yang dipinjam, tgl pinjam,
tgl kembali beserta nama pegawai yang melakukan peminjaman pada tahun
2007NAMA_ANGGOTA, JUDUL_DISK, TGLPINJAM, TGLKEMBALI,
NAMA_PEGAWAI
- 51 -
DAFTAR PUSTAKA
Jeffrey L Whitten, Lonnie D Bentley, Kevin C. Dittman, 2001, Systems Analysis and
Design Methods, 5th, McGraw-Hill
Abdul Kadir, 1999, Konsep dan Tuntunan Praktis Basis Data, Yogyakarta, ANDI
Ramakrishnan Gehrke, 2003, Database Management Systems, 3rd, McGraw-Hill,
---, 2008, MySQL Database Documentation, http://www.mysql.com
---, 2008, PHP Manual Documentation, http://www.php.net
- 52 -