Anda di halaman 1dari 61

Jobsheet

BASIS DATA

Oleh :
Helmy

JURUSAN TEKNIK ELEKTRO


POLITEKNIK NEGERI SEMARANG
2008
KATA PENGANTAR

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.

Semarang, Oktober 2008

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

A. Latar belakang dan tujuan penulisan Jobsheet


Perkembangan software yang semakin cepat menuntut kebutuhan basis data yang semakin besar.
Berbagai macam model basis data ditawarkan oleh pengembang software tersebut mulai dari
basis data skala kecil sampai dengan skala besar, basis data untuk standalone computer sampai
dengan untuk network computer. Basis data yang digunakan pada jobsheet ini ditujukan untuk
network computer baik untuk jaringan intranet maupun internet sehingga bisa digunakan untuk
kebutuhan data yang kecil sampai dengan yang besar.

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.

C. Isi buku ajar secara keseluruhan


Isi jobsheet secara umum adalah membahas mengenai perancangan sistem, normalisasi data,
penggunaan syntax SQL dan implementasi aplikasi dengan basis data.

D. Kesehatan dan Keselamatan Kerja (K3)


Standar K3 yang digunakan ketika praktek jobsheet ini adalah jas lab.
BAB I
PERANCANGAN SISTEM INFORMASI

1.1 Tujuan Instruksional Khusus (TIK)


1. Mahasiswa dapat menjelaskan fungsi perancangan sistem informasi
2. Mahasiswa dapat merancang sistem informasi

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 :

Gambar 1.1 Arsitektur Sistem Terdistribusi

-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

Gambar 1.3 Contoh Penerapan Model Basis Data Hirarkis


Model Basis Data Jaringan
 Distandarisasikan pada tahun 1971 oleh Data Base Task Group (DBTG)
 Disebut juga CODASYL (Conference on Data Systems Language) karena DBTG
merupakan bagian dari CODASYL
 Menyerupai model hirarkis dengan perbedaan 1 simpul anak bisa memiliki lebih dari 1
orangtua
 Orangtua disebut sebagai pemilik
-4-
 Anak disebut sebagai anggota

Contoh produk DBMS yang


Dosen menggunakan model jaringan: CA-
IDMS/DB, dari Computer
Associates International Inc
Protokol
Manajemen
Jaringan
Database
Komputer

Supai Bagus

Kusnan Rejif

Gambar 1.4 Contoh Penerapan Model Basis Data Jaringan

Model Basis Data Relasional[2]


 Menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau tabel) dengan
masing-masing relasi tersusun atas tupel (baris) dan atribut
 Menggunakan foreign key (kunci tamu) untuk berhubungan dengan relasi yang lain
 Persamaan istilah antara model relasional, programmer dan user

Relational Model Programmer User

Relasi Berkas Tabel

Tupel (baris) Rekaman Baris

Atribut Medan Kolom

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

Tabel 1.2 Tabel Mahasiswa

kode_mk nama_mk

TK 6305 Sistem Manajemen Informatika Database

TK 4306 Praktek Perangkat Lunak Jaringan Komputer

TK 5307 Multimedia

Tabel 1.3 Tabel Mata Kuliah

nim kode_mk nilai

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

Tabel 1.4 Tabel Nilai

-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

1.2.4 SQL (Structured Query Language)


Bahasa query standar yang digunakan untuk mengakses basis data relasional (RDBMS)[2].
Beberapa perintah SQL antara lain DDL (Data Definition Language) dan DML (Data
Manipulation Language)
DDL [2]
 Perintah-perintah yang biasa digunakan oleh DBA untuk mendefinisikan skema ke
DBMS.
 Skema merupakan deskripsi lengkap tentang struktur medan, rekaman dan hubungan data
pada basis data
 Contoh DDL menggunakan perintah SQL :
o CREATE DATABASE rental_disk
o CREATE TABLE mhs (………)
DML [2]
 Perintah-perintah yang digunakan untuk mengubah, memanipulasi dan mengambil data
pada basis data
 Contoh DMLmenggunakan perintah SQL :
o INSERT INTO mhs (….) VALUES (….)
o UPDATE mhs SET …..
o DROP TABLE mhs
o DROP DATABASE simadu

-7-
Selain DDL dan DML masih banyak lagi perintah SQL seperti pada gambar dibawah ini.

Data Definition Data MySQL Utility MySQL Database


•ALTER DATABASE Manipulation •DESCRIBE Transactional Administration
•ALTER TABLE •DELETE •HELP and Locking •Account
•CREATE DATABASE •DO •USE •START Management
•CREATE TABLE •HANDLER TRANSACTION •Table Maintenance
•CREATE INDEX •INSERT •COMMIT •SET
•DROP TABLE •LOAD DATA INFILE •ROLLBACK •SHOW
•RENAME TABLE •SELECT •LOCK TABLE
•SUBQUERY •UNLOCK TABLE
•TRUNCATE
•UPDATE
•REPLACE

Gambar 1.5 SQL Syntax

-8-
1.2.5 Metodologi Pengembangan Sistem

Preliminary
Problem Requirements
Investigation
Analysis Analysis
(Survey)

Decision
Construction Design
Analysis

Implementation

Gambar 1.6 Metodologi Pengembangan Sistem

Pendekatan Analisa Sistem[1]

•Model-driven dan PROCESS-centered, teknik


Structured yang terpusat pada proses digunakan untuk
menganalisa sistem yang ada atau sistem
Analysis baru  DFD  ERD

•Model-driven dan DATA-centered, teknik


Information yang terpusat pada data tetapi juga
memperhatikan proses untuk
Engineering merencanakan, menganalisa dan merancang
sistem informasi  ERD  DFD

Gambar 1.7 Pendekatan Analisa Sistem

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

Gambar 1.8 Simbol Proses pada DFD

2. External Agents/Terminator
Merupakan pelaku sistem (orang, unit organisasi) dan nama proses dalam bentuk kata
benda. Beberapa bentuk external agents antara lain :

Gambar 1.9 Simbol External Agents/Terminator pada DFD

- 10 -
3. Data Store
Merupakan file atau database dan beberapa bentuk data store antara lain :

Gambar 1.10 Simbol Data Store pada DFD


4. Data Flows
Memproses respon ke input dan menghasilkan output, data yang mengalir dari data store
ke suatu proses berarti data dibaca sedangkan data yang mengalir dari suatu proses ke
data store berarti data dibuat/dihapus/update. Bentuk data flows antara lain :

Gambar 1.11 Simbol Data Flows pada DFD

Aliran data (data flow) pada DFD yang diperbolehkan dan yang tidak antara lain :
Illegal Data Flows Corrected Data Flows

Gambar 1.12 Aliran Data DFD yang Diperbolehkan dan Tidak

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

Gambar 1.13 Context Data Flow Diagram

CD tersebut didekomposisi menjadi proses DFD sebagai berikut :

Gambar 1.14 Data Flow Diagram

- 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

Gambar 1.15 Simbol ERD

 Kunci (key) : suatu atribut/kumpulan atribut yang merupakan nilai unik


 Kunci kandidat (candidate key) : kunci yang secara unik dapat dipakai untuk
mengindentifikasi suatu baris di dalam tabel
 Kunci primer (primary key) : kunci kandidat yang dipilih sebagai kunci utama untuk
mengidentifikasi baris dalam tabel
 Kunci alternatif (alternate key) : kunci kandidat yang tidak dipilih sebagai kunci primer
 Kunci tamu (foreign key) : atribut yang menunjuk ke kunci primer pada tabel lain
 Kardinalitas (cardinality) : menjelaskan nilai minimum dan maksimum suatu entitas
terhadap entitas lainnya

- 13 -
Cardinality notations [1]

Cardinality Minimum Maximum Graphic


Interpretation Instances Instances Notation

Exactly one 1 1
(one and only one)

Zero or one 0 1

One or more 1 many (>1)

Zero, one, or more 0 many (>1)

More than one >1 >1

Gambar 1.16 Notasi Kardinalitas ERD

Cardinality of ERD [1]

mengarsipkan meminjam

Gambar 1.17 Penerapan ERD

- 14 -
1.3 Peralatan
1. 1 unit PC

1.4 Langkah Kerja


1. Lakukan perancangan Context Diagram (CD) sistem informasi peminjaman disk.
2. Lakukan perancangan Data Flow Diagram (DFD) sistem informasi peminjaman disk.
3. Lakukan perancangan Entity Relationship Diagram (ERD) sistem informasi peminjaman
disk.

1.5 Lembar Kerja


1. CD sistem informasi peminjaman disk ……………………………………..
2. DFD sistem informasi peminjaman disk ……………………………………
3. ERD sistem informasi peminjaman disk ……………………………………

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.1 Tujuan Instruksional Khusus (TIK)


1. Mahasiswa dapat menjelaskan proses normalisasi data
2. Mahasiswa dapat melakukan 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.

NAMA ALAMAT TELEPON

Adhitya Jl. Mawar Jingga 126a Plamongan (024) 6758056

Alfin Bernas Jl Mawar No 3 Purin (0294) 355786

Jarsky Maradonny Jl Transisi 106 Cepu (0296) 877654

Chafidin Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Alfin Bernas Jl Mawar No 3 Purin 08881234

Tabel 2.1 Tabel Anomali Update I


- 16 -
NAMA ALAMAT TELEPON

Adhitya Jl. Mawar Jingga 126a Plamongan (024) 6758056

Alfin Bernas Jl Mawar No 3 Purin (0294) 355786

Jarsky Maradonny Jl Transisi 106 Cepu (0296) 877654

Chafidin Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Alfin Bernas Jl Durian Montong 56 Purin 08881234

Tabel 2.2 Tabel Anomali Update II

2.2.1.2 Anomali Penyisipan (Insert)


Terjadi apabila saat penambahan data hendak dilakukan ternyata ada elemen data yang masih
kosong dan elemen data tersebut justru menjadi kunci

NAMA ALAMAT TELEPON

Adhitya Jl. Mawar Jingga 126a Plamongan (024) 6758056

Alfin Bernas Jl Mawar No 3 Purin (0294) 355786

Jarsky Maradonny Jl Transisi 106 Cepu (0296) 877654

Chafidin Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Tabel 2.3 Tabel Anomali Insert I

- 17 -
NAMA ALAMAT TELEPON

Adhitya Jl. Mawar Jingga 126a Plamongan (024) 6758056

Alfin Bernas Jl Mawar No 3 Purin (0294) 355786

Jarsky Maradonny Jl Transisi 106 Cepu (0296) 877654

Chafidin Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

??????????????? Jl. Pelanpelan banyak anak 50 (024) 4567890

Tabel 2.4 Tabel Anomali Insert II

2.2.1.3 Anomali Penghapusan (Delete)


Terjadi apabila saat suatu baris (tupel) yang tidak terpakai dihapus dan sebagai akibatnya terdapat
data lain yang hilang

NAMA ALAMAT TELEPON

Adhitya Jl. Mawar Jingga 126a Plamongan (024) 6758056

Alfin Bernas Jl Mawar No 3 Purin (0294) 355786

Jarsky Maradonny Jl Transisi 106 Cepu (0296) 877654

Chafidin Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Adhitya Jl. Jalan Sore 212 Semarang (024) 4567900

Tabel 2.5 Tabel Anomali Delete I

NAMA ALAMAT TELEPON

Alfin Bernas Jl Mawar No 3 Purin (0294) 355786

Jarsky Maradonny Jl Transisi 106 Cepu (0296) 877654

Chafidin Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Tabel 2.6 Tabel Anomali Delete II

- 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 Fungsional Sepenuhnya

Dependensi Total

Dependensi Transitif

Gambar 2.1 Macam Dependensi

2.2.2.1 Dependensi Fungsional


Dapat didefinisikan : Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika
dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. Dengan notasi : X  Y
dibaca “X secara fungsional menentukan Y”

NO ID JUDUL DISK KATEGORI HARGA TGL PINJAM TGL KEMBALI NIK

1 N001 Office 2007 Microsoft 8.000 2007/01/05 2007/01/07 K02

2 N003 AutoCAD2007 Arsitektur 2.000 2007/02/15 2007/02/17 K04

3 N003 Office 2007 Microsoft 8.000 2007/02/15 2007/02/17 K04

4 N005 Adobe CS3 Web Design 2.000 2007/01/23 2007/01/24 K01

5 N002 Mirror Film 2.000 2007/03/19 2007/03/20 K01

Tabel 2.7 Dependensi Fungsional

- 19 -
Notasi :
- JUDUL DISK secara fungsional menentukan KATEGORI
JUDUL DISK  KATEGORI
- {JUDUL DISK, KATEGORI}  HARGA

2.2.2.2 Dependensi Fungsional Sepenuhnya


Dapat didefinisikan : Suatu atribut Y mempunyai dependensi fungsional penuh terhadap atribut
X jika :
- Y mempunyai dependensi fungsional terhadap X
- Y tidak memiliki dependensi terhadap bagian dari X

NO ID JUDUL DISK KATEGORI HARGA TGL PINJAM TGL KEMBALI NIK

1 N001 Office 2007 Microsoft 8.000 2007/01/05 2007/01/07 K02

2 N003 AutoCAD2007 Arsitektur 2.000 2007/02/15 2007/02/17 K04

3 N003 Office 2007 Microsoft 8.000 2007/02/15 2007/02/17 K04

4 N005 Adobe CS3 Web Design 2.000 2007/01/23 2007/01/24 K01

5 N002 Mirror Film 2.000 2007/03/19 2007/03/20 K01

Tabel 2.8 Dependensi Fungsional Sepenuhnya

Notasi :
ѳ {JUDUL DISK, KATEGORI}  HARGA
JUDUL DISK  HARGA

2.2.2.3 Dependensi Total


Dapat didefinisikan : Suatu atribut Y mempunyai dependensi total terhadap atribut X jika :
- Y mempunyai dependensi fungsional terhadap X
- X mempunyai dependensi fungsional terhadap Y
- 20 -
Dependensi total dinyatakan dengan notasi X Y

NO ID JUDUL DISK KATEGORI HARGA TGL PINJAM TGL KEMBALI NIK

1 N001 Office 2007 Microsoft 8.000 2007/01/05 2007/01/07 K02

2 N003 AutoCAD2007 Arsitektur 2.000 2007/02/15 2007/02/17 K04

3 N003 Office 2007 Microsoft 8.000 2007/02/15 2007/02/17 K04

4 N005 Adobe CS3 Web Design 2.000 2007/01/23 2007/01/24 K01

5 N002 Mirror Film 2.000 2007/03/19 2007/03/20 K01

Tabel 2.9 Dependensi Total


Notasi :
ѳ JUDUL DISK KATEGORI

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

NO ID JUDUL DISK KATEGORI HARGA TGL PINJAM TGL KEMBALI NIK

1 N001 Office 2007 Microsoft 8.000 2007/01/05 2007/01/07 K02

2 N003 AutoCAD2007 Arsitektur 2.000 2007/02/15 2007/02/17 K04

3 N003 Office 2007 Microsoft 8.000 2007/02/15 2007/02/17 K04

4 N005 Adobe CS3 Web Design 2.000 2007/01/23 2007/01/24 K01

5 N002 Mirror Film 2.000 2007/03/19 2007/03/20 K01

Tabel 2.10 Dependensi Transitif


Notasi :
ѳ {JUDUL DISK, KATEGORI}  HARGA
JUDUL DISK  KATEGORI
JUDUL DISK  KATEGORI  HARGA
HARGA memiliki dependensi transitif terhadap JUDUL DISK
- 21 -
2.2.3 Dekomposisi (Pemecahan) [2]
Merupakan proses pemecahan sebuah relasi menjadi dua relasi atau lebih. Dua macam
dekomposisi yaitu :
Dekomposisi tak hilang
Dekomposisi hilang

2.2.3.1 Dekomposisi Tak Hilang


Tidak ada informasi yang hilang ketika relasi dipecah menjadi relasi-relasi yang lain
Bentuk relasi semula :

ID NAMA ALAMAT

N001 Adhitya Jl. Mawar Jingga 126a Plamongan

N002 Alfin Bernas Jl Mawar No 3 Purin

N003 Jarsky Maradonny Jl Transisi 106 Cepu

N004 Adhitya Jl A Yani 86 Rt 04/02 Tegal

Tabel 2.11 Relasi Semula Dekomposisi Tak Hilang

Dekomposisi tak hilang :

ID NAMA

N001 Adhitya

N002 Alfin Bernas

N003 Jarsky Maradonny

N004 Adhitya

Tabel 2.12 Relasi Dekomposisi Tak Hilang I

- 22 -
ID ALAMAT

N001 Jl. Mawar Jingga 126a Plamongan

N002 Jl Mawar No 3 Purin

N003 Jl Transisi 106 Cepu

N004 Jl A Yani 86 Rt 04/02 Tegal

Tabel 2.13 Relasi Dekomposisi Tak Hilang II

2.2.3.2 Dekomposisi Hilang


Terdapat informasi yang hilang ketika relasi dipecah menjadi relasi-relasi yang lain
Bentuk relasi semula :

ID NAMA ALAMAT

N001 Adhitya Jl. Mawar Jingga 126a Plamongan

N002 Alfin Bernas Jl Mawar No 3 Purin

N003 Jarsky Maradonny Jl Transisi 106 Cepu

N004 Adhitya Jl A Yani 86 Rt 04/02 Tegal

Tabel 2.14 Relasi Semula Dekomposisi Hilang

Dekomposisi hilang :

ID NAMA

N001 Adhitya

N002 Alfin Bernas

N003 Jarsky Maradonny

N004 Adhitya

Tabel 2.15 Relasi Dekomposisi Hilang I

- 23 -
NAMA ALAMAT

Adhitya Jl. Mawar Jingga 126a Plamongan

Alfin Bernas Jl Mawar No 3 Purin

Jarsky Maradonny Jl Transisi 106 Cepu

Adhitya Jl A Yani 86 Rt 04/02 Tegal

Tabel 2.16 Relasi Dekomposisi Hilang II

2.2.4 Bentuk Normal [2]


Merupakan suatu aturan yang dikenakan pada relasi – relasi dalam basis data dan harus dipenuhi
oleh relasi – relasi tersebut pada level – level normalisasi.

Bentuk Normal Pertama (1NF)

Bentuk Normal Kedua (2NF)

Bentuk Normal Ketiga (3NF)

Bentuk Normal Boyce-Codd (BCNF)

Bentuk Normal Keempat (4NF)

Bentuk Normal Kelima (5NF)

Gambar 2.2 Level-level Normalisasi

2.2.4.1 Bentuk Normal Pertama (1NF)


Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut
bernilai tunggal untuk setiap baris
Bentuk normal pertama biasa dikenakan pada tabel yang belum ternormalisasi.
Tabel yang belum ternormalisasi adalah tabel yang memiliki atribut yang berulang.
- 24 -
NO ID JUDUL DISK KATEGORI HARGA TGL PINJAM TGL KEMBALI NIK

1 N001 Office 2007 Microsoft 8.000 2007/01/05 2007/01/07 K02

2 N003 AutoCAD2007 Arsitektur 2.000 2007/02/15 2007/02/17 K04

Office 2007 Microsoft 8.000

Adobe CS3 Web Design 2.000

3 N002 Mirror Film 2.000 2007/03/19 2007/03/20 K01

Naga Bonar 2 Film 2.000

Tabel 2.17 Bentuk Tidak Normal

NO ID JUDUL DISK KATEGORI HARGA TGL PINJAM TGL KEMBALI NIK

1 N001 Office 2007 Microsoft 8.000 2007/01/05 2007/01/07 K02

2 N003 AutoCAD2007 Arsitektur 2.000 2007/02/15 2007/02/17 K04

3 N003 Office 2007 Microsoft 8.000 2007/02/15 2007/02/17 K04

4 N003 Adobe CS3 Web Design 2.000 2007/02/15 2007/02/17 K04

5 N002 Mirror Film 2.000 2007/03/19 2007/03/20 K01

6 N002 Naga Bonar 2 Film 2.000 2007/03/19 2007/03/20 K01

Tabel 2.18 Bentuk Normal I

2.2.4.2 Bentuk Normal Kedua (2NF)


Suatu relasi dikatakan dalam bentuk normal kedua jika dan hanya jika :
o Berada pada bentuk normal pertama
o Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci primer
(primary key)
Secara praktis bentuk normal kedua mensyaratkan setiap atribut bergantung kepada kunci
primer (primary key)
- 25 -
NO ID JUDUL DISK KATEGORI HARGA TGL PINJAM TGL KEMBALI NIK

1 N001 Office 2007 Microsoft 8.000 2007/01/05 2007/01/07 K02

2 N003 AutoCAD2007 Arsitektur 2.000 2007/02/15 2007/02/17 K04

3 N003 Office 2007 Microsoft 8.000 2007/02/15 2007/02/17 K04

4 N003 Adobe CS3 Web Design 2.000 2007/02/15 2007/02/17 K04

5 N002 Mirror Film 2.000 2007/03/19 2007/03/20 K01

6 N002 Naga Bonar 2 Film 2.000 2007/03/19 2007/03/20 K01

Tabel 2.19 Bentuk Normal I

{JUDUL DISK, KATEGORI}  HARGA

NO ID ID JUDUL TGL PINJAM TGL KEMBALI NIK

1 N001 J001 2007/01/05 2007/01/07 K02

2 N003 J002 2007/02/15 2007/02/17 K04

3 N003 J001 2007/02/15 2007/02/17 K04

4 N003 J003 2007/02/15 2007/02/17 K04

5 N002 J004 2007/03/19 2007/03/20 K01

6 N002 J005 2007/03/19 2007/03/20 K01

Tabel 2.20 Bentuk Normal II Dekomposisi I

- 26 -
ID JUDUL JUDUL DISK KATEGORI HARGA

J001 Office 2007 Microsoft 8.000

J002 AutoCAD2007 Arsitektur 2.000

J003 Adobe CS3 Web Design 2.000

J004 Mirror Film 2.000

J005 Naga Bonar 2 Film 2.000

Tabel 2.21 Bentuk Normal II Dekomposisi II

2.2.4.3 Bentuk Normal Ketiga (3NF)


Suatu relasi dikatakan dalam bentuk normal ketiga jika :
Berada pada bentuk normal kedua
Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci primer

ID JUDUL JUDUL DISK KATEGORI HARGA

J001 Office 2007 Microsoft 8.000

J002 AutoCAD2007 Arsitektur 2.000

J003 Adobe CS3 Web Design 2.000

J004 Mirror Film 2.000

J005 Naga Bonar 2 Film 2.000

Tabel 2.22 Bentuk Normal II Dekomposisi II

- 27 -
ID KATEGORI KATEGORI HARGA

KD01 Microsoft 8.000

KD02 Arsitektur 2.000

KD03 Film 2.000

KD04 Web Design 2.000

Tabel 2.23 Bentuk Normal III Dekomposisi I

ID JUDUL JUDUL DISK ID KATEGORI

J001 Office 2007 KD01

J002 AutoCAD2007 KD02

J003 Adobe CS3 KD04

J004 Mirror KD03

J005 Naga Bonar 2 KD03

Tabel 2.24 Bentuk Normal III Dekomposisi II

Hasil Normalisasi Tabel - tabel Sistem Peminjaman Disk

ID NAMA ALAMAT TELEPON

N001 Adhitya Jl. Mawar Jingga 126a Plamongan (024) 6758056

N002 Alfin Bernas Jl Mawar No 3 Purin (0294) 355786

N003 Jarsky Maradonny Jl Transisi 106 Cepu (0296) 877654

N004 Chafidin Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Tabel 2.25 Tabel (Relasi) Anggota

- 28 -
NO ID ID JUDUL TGL PINJAM TGL KEMBALI NIK

1 N001 J001 2007/01/05 2007/01/07 K02

2 N003 J002 2007/02/15 2007/02/17 K04

3 N003 J001 2007/02/15 2007/02/17 K04

4 N003 J003 2007/02/15 2007/02/17 K04

5 N002 J004 2007/03/19 2007/03/20 K01

6 N002 J005 2007/03/19 2007/03/20 K01

Tabel 2.26 Tabel (Relasi) Transaksi

ID KATEGORI KATEGORI HARGA

KD01 Microsoft 8.000

KD02 Arsitektur 2.000

KD03 Film 2.000

KD04 Web Design 2.000

Tabel 2.27 Tabel (Relasi) Kategori Disk

ID JUDUL JUDUL DISK ID KATEGORI

J001 Office 2007 KD01

J002 AutoCAD2007 KD02

J003 Adobe CS3 KD04

J004 Mirror KD03

J005 Naga Bonar 2 KD03

Tabel 2.28 Tabel (Relasi) Disk

- 29 -
NIK NAMA TEMPAT LAHIR TGL LAHIR ALAMAT TELEPON

K01 Johan Semarang 1980/07/10 Jl. Jalan Sore 126a Semarang (024) 7899056

K02 Paimin Boyolali 1979/04/25 Jl. Mumet No 3 Boyolali 088867859

K03 Paijo Surabaya 1984/11/20 Jl. Pagi 106 Surabaya 02470707070

K04 Jefri Jakarta 1985/08/14 Jl. Gelap 67 Jakarta 02433033036

Tabel 2.29 Tabel (Relasi) Pegawai

2.3 Peralatan
1. 1 unit PC

2.4 Langkah Kerja


1. Buka ERD pada Bab I
2. Catat hasil entitas dan atribut pada ERD
3. Lakukan normalisasi pertama pada ERD tersebut
4. Lakukan normalisasi kedua pada hasil normalisasi pertama
5. Lakukan normalisasi ketiga pada hasil normalisasi kedua

2.5 Lembar Kerja


1. Entitas ERD = ………………………………..
2. Atribut ERD = ……………………………….
3. Hasil normalisasi pertama = …………………
4. Hasil normalisasi kedua = …………………...
5. Hasil normalisasi ketiga = …………………...

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.1 Tujuan Instruksional Khusus (TIK)


1. Mahasiswa dapat menjelaskan fungsi Data Definition Language
2. Mahasiswa dapat menggunakan Data Definition Language pada database MySQL

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

3.4 Langkah Kerja


1. Hidupkan PC
2. Buka command prompt masuk ke direktori C:\AppServ\MySQL\bin\ (jika AppServ terinstal
pada drive C)
3. Ketikan perintah mysql –u root –p <enter> masukkan password : toor (-u  user dan –p
 password)

- 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.1 Tujuan Instruksional Khusus (TIK)


1. Mahasiswa dapat menjelaskan Data Manipulation Language
2. Mahasiswa dapat menggunakan Data Manipulation Language pada database MySQL

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

4.4 Langkah Kerja


1. Hidupkan PC
2. Buka command prompt masuk ke direktori C:\AppServ\MySQL\bin\ (jika AppServ terinstal
pada drive C)
3. Ketikan perintah mysql –u root –p <enter> masukkan password : toor (-u  user dan –p
 password)

- 35 -
Gambar 4.1 MySQL Prompt

4. Masuk ke database rental_disk menggunakan USE namadatabase


5. Masukkan data-data dibawah ini pada tabel anda

ID NAMA PEKERJAAN ALAMAT TELEPON

N001 Adhitya Mahasiswa Jl. Mawar Jingga 126a Plamongan Semarang (024) 6758056

N002 Alfin Bernas Mahasiswa Jl Mawar No 3 Purin (0294) 355786

N003 Jarsky Maradonny PNS Jl Transisi 106 Cepu (0296) 877654

N004 Chafidin Wiraswasta Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Jumeneng Padas Tanon RT 12/5 Kab. Sragen


N005 Muhammad Sirojudin Swasta 0811267890
Jawa Tengah

Ds Tambakmas Sukomoro RT 5/1 Kab. Magetan


N006 Tri Ri’ana Sari Swasta 08887658768
Jawa Tengah

Tabel 4.1 Data Anggota

6. Gunakan perintah INSERT untuk memasukkan data :


INSERT INTO anggota (id,nama,pekerjaan,alamat,telepon) VALUES
(„N001‟,‟Adhitya‟,‟Mahasiswa‟,‟Jl. Mawar Jingga 126a Plamongan‟,‟ (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.5 Lembar Kerja


1. Print screen command prompt untuk masuk ke MySQL = ......................................
2. Print screen command prompt untuk perintah USE namadatabase = ....................
3. Print screen command prompt untuk perintah INSERT INTO anggota ...... = ..................
4. Print screen command prompt untuk perintah UPDATE anggota ...... = ..................
5. Print screen command prompt untuk perintah DELETE FROM anggota ...... = ..................
6. Print screen command prompt untuk perintah TRUNCATE anggota = ..................
7. Print screen command prompt untuk perintah SELECT * FROM anggota = ..................
8. Print screen command prompt untuk perintah 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 :

ID NAMA PEKERJAAN ALAMAT TELEPON

Jl. Mawar Jingga 126a Plamongan


N001 Adhitya Arwana Mahasiswa (024) 6758056
Semarang

N002 Alfin Bernas Mahasiswa Jl Mawar No 3 Purin (0294) 355786

N003 Jarsky Maradonny PNS Jl Transisi 106 Cepu (0296) 877654

N004 Chafidin Wiraswasta Jl A Yani 86 Rt 04/02 Tegal (0283) 491461

Muhammad Jumeneng Padas Tanon RT 12/5 Kab.


N005 Swasta 0811267890
Sirojudin Sragen Jawa Tengah

N006 Tri Ri’ana Sari Swasta Ds Tambakmas Sukomoro RT 5/1 Kab. 08887658768
Magetan Jawa Tengah

Tabel 4.2 Data Anggota

NO ID ID JUDUL TGL PINJAM TGL KEMBALI NIK

1 N001 J001 2007/01/05 2007/01/07 K02

2 N003 J002 2007/02/15 2007/02/17 K04

3 N003 J001 2007/02/15 2007/02/17 K04

4 N003 J003 2007/02/15 2007/02/17 K04

5 N002 J004 2007/03/19 2007/03/20 K01

6 N002 J005 2007/03/19 2007/03/20 K01

7 N006 J005 2007/04/12 2007/04/14 K03

8 N006 J006 2007/04/12 2007/04/14 K03

Tabel 4.3 Data Transaksi

- 38 -
ID KATEGORI KATEGORI HARGA

KD01 Microsoft 8.000

KD02 Arsitektur 2.000

KD03 Film 2.000

KD04 Web Design 2.000

Tabel 4.4 Data Kategori Disk

ID JUDUL JUDUL DISK ID KATEGORI

J001 Office 2007 KD01

J002 AutoCAD2007 KD02

J003 Adobe CS3 KD04

J004 Mirror KD03

J005 Naga Bonar 2 KD03

J006 PHP MySQL Tutorial KD04

Tabel 4.5 Data Disk

NIK NAMA TEMPAT LHR TGL LHR ALAMAT TELEPON

K01 Johan Semarang 1980/07/10 Jl. Jalan Sore 126a (024)


Semarang 7899056

K02 Paimin Boyolali 1979/04/25 Jl. Mumet No 3 088867859


Boyolali

K03 Paijo Surabaya 1984/11/20 Jl. Pagi 106 Surabaya 02470707070

K04 Jefri Jakarta 1985/08/14 Jl. Gelap 67 Jakarta 02433033036

Tabel 4.6 Data Pegawai

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.1 Tujuan Instruksional Khusus (TIK)


1. Mahasiswa dapat menjelaskan fungsi DML
2. Mahasiswa dapat menggunakan DML pada database MySQL

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

5.4 Langkah Kerja


1. Hidupkan PC
2. Masuk ke database rental_disk menggunakan USE namadatabase
3. Menampilkan data nama anggota beserta tanggal pinjam dan tanggal kembali menggunakan
syntax JOIN.

Gambar 5.1 Penggunaan syntax JOIN

4. Menampilkan data nama anggota beserta tanggal pinjam dan tanggal kembali menggunakan
syntax LEFT JOIN.

Gambar 5.2 Penggunaan 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.1 Tujuan Instruksional Khusus (TIK)


1. Mahasiswa dapat membuat, mengubah, menghapus user
2. Mahasiswa dapat mengatur hak (privileges) masing – masing 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.

Beberapa perintah untuk pengaturan user antara lain :


1. CREATE USER
2. DROP USER
3. GRANT
4. RENAME USER
5. REVOKE
6. SET PASSWORD

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

6.4 Langkah Kerja


1. Hidupkan PC
2. Masuk ke database mysql  tabel user
3. Tampilkan deskripsi tabel user seperti pada gambar 6.1
4. Tampilkan seluruh data pada tabel user.
5. Buat user baru dengan nama telkom, nama host : localhost, password : enter dengan perintah
: CREATE USER 'telkom'@'localhost' IDENTIFIED BY 'enter';
6. Keluar dari MySQL Prompt dan masuk lagi menggunakan user ”telkom”

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

Gambar 6.3 Penambahan hak akses (privileges) ke tabel user

- 46 -
10. Hapus hak akses user menggunakan perintah :

Gambar 6.4 Menghapus hak akses (privileges) user telkom

11. Hapus user telkom dengan perintah : DROP USER 'telkom'@'localhost';

6.5 Lembar Kerja


1. Print screen command prompt koneksi MySQL = ....................................................
2. Print screen command prompt untuk tampilan deskripsi tabel user = .....................
3. Print screen command prompt untuk perintah CREATE USER ........ = .....................
4. Print screen command prompt masuk ke MySQL dengan user telkom = ................
5. Print screen command prompt masuk ke MySQL dengan user root = .....................
6. Print screen command prompt untuk perintah GRANT ALL ..... = ............................
7. Print screen command prompt untuk perintah FLUSH PRIVILEGES = .....................
8. Print screen command prompt untuk perintah REVOKE .............. = .........................

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.1 Tujuan Instruksional Khusus (TIK)


1. Mahasiswa dapat membuat aplikasi database sederhana
2. Mahasiswa dapat menggunakan perintah DML ke dalam aplikasi

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

Syntax mysql_connect($host,$user,$passwd)digunakan untuk koneksi ke database MySQL


dengan variabel yang telah didefinisikan sedangkan syntax mysql_select_db($db) digunakan
untuk memilih database mana yang akan digunakan untuk membuat aplikasi. Syntax
mysql_query(“string query”) digunakan untuk mengambil data dari MySQL baik perintah
DDL maupun DML. Syntax mysql_fetch_row(int result) digunakan untuk mengambil data
per baris berdasarkan hasil dari query.

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

Gambar 7.1 Form Pengisian Data Anggota

5. Buat tampilan data anggota beserta editor untuk ubah data dan hapus data

Tabel 7.1 Tampilan data anggota

- 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
2007NAMA_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 -

Anda mungkin juga menyukai