Modul Dewa89s 157 Praktikum Perancangan Basisi Data
Modul Dewa89s 157 Praktikum Perancangan Basisi Data
Disusun Oleh :
Team Penyusun Modul
Pendahuluan
Pengertian Basis data
Basis Data (Data Base) dapat dibayangkan sebagai sebuah lemari arsip. Jika kita memiliki
sebuah lemari arsip dan berwenang untuk mengelolanya.atau kumpulan informasi
yang
terorganisasi dan disajikan untuk tujuan khusus.Prinsip utama basis data adalah pengaturan
data/arsip.sedangkan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan
data/arsip.Sedangkan sistem basis data merupakan perpaduan antara basis data dan sistem
manajemen basis data (DBMS).DBMS adalah software yang menangani semua akses ke basis
data
Contoh
dari
DBMS
yaitu
Microsoft
SQL,
2.Atribut
Setiap Entitas pasti memiliki Atribut yang mendeskripsikan karakteristik dari Entitas
tersebut.penentuan/pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal
penting lainnya dalam pembentukan model data.Penetapan atribut bagi sebuah entitas umumnya
memang didasarkan pada fakta yang ada.tetapi tidak selalu seperti itu.istilah atribut sebenarnya
identik dengan pemakaian kolom data.
Contoh :
a.Entitas pelanggan
2
atributnya kd_pelanggan,nm_pelanggan,alamat,notelpon
1.2.Normalisasi
Dalam perancangan sebuah basis data perlu dilakukan secara cermat agar dihasilkan data yang
kompak dan efisien dalam penggunaan ruang penyimpanan,cepat dalam pengaksesan dan
mudah dalam manipulasi data.Salah satu cara yang dapat dilakukan dalam merancang basis data
seperti ini adalah dengan melakukan normalisasi.
Normalisasi adalah proses penyusunan tabel-tabel yang tidak redudan(dobel),yang dapat
menyebabkan anomali pada saat terjadi operasi manipulasi data seperti tambah,ubah,dan
hapus.Anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan
(misalnya menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang
ketika data lain dihapus).
Bentuk-bentuk normalisasi
a.Bentuk tidak normal
bentuk ini merupakan kumpulan data yang akan direkam ,tidak ada keharusan mengikuti format
tertentu,dapat saja tidak lengkap dan terduplikasi.data dikumpulkan apa adanya sesuai
keadaannya.
b.Bentuk normal tahap pertama (1st Normal Form)
sebuah table disebut 1NF jika :
tidak ada baris yang duplikat dalam tabel tersebut
masing-masing cell bernilai tunggal
c.Bentuk normal tahap kedua (2nd normal form)
Bentuk Normal Kedua(2NF) terpenuhi jika pada sebuah tabl semua atribut yang tidak termasuk
dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh.
d.Bentuk normal tahap ketiga
Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
e.Bentuk Normal tahap keempat
f.BCNF(Boyce code Normal Form)
Normal 3(3nf)
Supplier
barang
Kd_supp*
Nm_supp
transaksi
Kd_brg*
Nm_brg
Hrg
No_fak*
Tgl
J_tempo
Tot
Kd_supp**
detail
Qty
Jml
No_fak**
Kd_brg**
6
size Keterangan
5 Primary Key
9 Foreign Key
Tabel : Detail_penjualan
Field Name
Data Type
No_fak
Text
Kode_barang
Text
Jumlah
currrency
size Keterangan
5 Foreign Key
4 Foreign Key
Kemudian sorot nama tabel dan add satu-persatu tabel dan susun seperti dibawah ini:
jumlah
10
Cheklist Enforce Referential Intergity, Cascade Update Related Fields, Cascade Deleted
Related Record
Klik Create
Lanjutkan langkah pembuatan hingga terbentuk relasi seperti dibawah ini
4. Membuat Query
Query adalah suatu objek database yang dapat digunakan untuk menampilkan, menyunting atau
menganalisa suatu data dengan memberikan baris-baris perintah tertentu.
Pada aplikasi ini sudah dilengkapi dengan Structured Query Language (SQL) yang menjadi standar
bahasa dalam mengolah database
Dengan SQL kita dapat mempersingkat penulisan listing program yang panjang karena pada setiap
perintahnya dapat mencakup banyak perintah sekaligus.
Query juga dapat digunakan untuk bekerja dengan data lebih dari dua tabel dengan mudah
11
Sorot nama tabel kemudian klik add hingga tampil seperti di bawah ini:
Keterangan
Field
: nama field yang ingin ditampilkan
Table : Nama tabel dari field tersebut
Sort
: Mengurutkan data hasil query
Show : Mengatur field ditampilkan atau tidak
Criteria : Syarat dari data yang ingin ditampilkan
12
Jika ingin menggunakan seluruh field dalam tabel tersebut maka kita hanya klik dan drop tanda
* pada tabel barang kedalam baris field
Terdapat tiga pilihan pada toolbar view antara lain:
1. Design View : untuk menampilkan desain tabel query
2. Datasheet View : untuk menampilkan data hasil query
3. SQL View
: untuk membuat query dengan script SQL
Contoh : SELECT * FROM barang;
(dengan kata lain perintah SELECT * digunakan untuk menapilkan seluruh data
pada tabel sedangkan FROM barang digunakan untuk memperjelas data dari
tabel mana yang akan di pakai atau ditampilkan).
Pembuatan Query
Buatlah query, sebagai berikut:
Field
Sumber Tabel
Kode_barang barang
Nama_barang barang
Jalankan query dengan mengklik tanda seru ! pada icon toolbar
Jika ingin menampilkan salah satu data barang saja, sebelum menjalankan kita dapat
mengetik kode yang ingin ditampilkan pada baris criteria pada kolom kode_barang.
Contoh : menampilkan data barang dengan kode barang B003
Kemudian jalankan query melalui tampilan datasheet dan jalankan melalui SQL
View untuk melihat sintaks SQL yang terbentuk
Berikut sintaks SQL yang ditampilkan
SELECT barang.kode_barang, barang.nama_barang
FROM barang
WHERE (((barang.kode_barang)="B001"));
Latihan 1:
Buka database koperasi, buatlah Query dari tabel Header_penjualan dan tabel karyawan
dengan menggunakan sintaks SQL melalui SQL View pada tab query
Field
Sumber Tabel
Nik
Nama_karyawan
Bagian
No_fak
Tgl_fak
Header_penjualan
karyawan
karyawan
Header_penjualan
Header_penjualan
Tampilkan data pembelian karyawan dengan NIK 200803666 dengan perintah select
Simpan dengan nama query_dt_beli_karyawan
13
Latihan 2:
Buatlah query dari tabel barang dan detail_penjualan
Field
Sumber Tabel
No_fak
Kode_barang
Nama_barang
Satuan
Harga
Jumlah
Total
Diskon
Bonus
detail_penjualan
detail_penjualan
barang
barang
barang
barang
Total:[harga]*[jumlah]
ekspresi
ekspresi
Diskon
Jika total pembelian > 50000 mendapat diskon 5% dari total
Jika total pembelian >100000 mendapat diskon 10% dari total
Selain dari itu tidak mendapat diskon
Bonus
Jika total pembelian > 100000 mendapat bonus 1pcs Sunlight 400ml
Selain dari itu tidak mendapat bonus
CREATE
Create digunakan untuk membuat tabel
BU :
Create Table
Kolom_1
Kolom_2
Kolon_n
nama_tabel (
tipe(panjang),
tipe(panjang),
tipe(panjang))
14
Latihan CREATE
Membuat tabel Mahasiswa dengan mengetikan script SQL berikut pada SQL View di Query
Keterangan :
NIM text(8) not null primary key
pada field NIM dan NAMA data tidak boleh kosong (not null)
dan field NIM juga merupakan kunci utama (primary key)
Kemudian untuk menjalankannya kita dapat mengklik run/tanda seru dari icon
toolbar.
Untuk melihatnya pada objects klik tab tables dan double klik nama tabel mahasiswa
ALTER
Alter digunakan untuk merubah, menambah(ADD), menghapus(DROP) struktur
tabel.
BU :
Alter Table nama_tabel [spesifikasi perubahan]
Latihan ALTER
Menambahkan field Jenis_kelamin pada tabel mahasiswa
Sintaks SQL:
ALTER TABLE mahasiswa
ADD Jenis_kel text(1)
Menambahkan Primary key pada field NIM di tabel mahasiswa
Sintaks SQL:
ALTER TABLE mahasiswa2
ADD constraint NIM Primary Key(NIM)
Keterangan:
Pemakaian Constraint
Merubah ukuran dan tipe dari field NIM pada tabel mahasiswa
Sintaks SQL:
15
DROP
Drop digunakan untuk menghapus tabel
BU :
Drop TABLE nama tabel
Menghapus tabel MHS
Sintaks SQL:
Drop table mahasiswa
BU :
INSERT INTO nama_tabel (nama field1, namafield2.,namafield n)
VALUES (value1, value2,,valuen)
Atau
16
SELECT
Perintah select berfungsi untuk membentuk tabel baru dengan cara mengcopy
(backup) seluruh data dari tabel aktif.
BU :
SELECT nama field1, namafield2.,namafield n
INTO nama_tabel_baru
FROM nama_tabel_aktif
Atau
SELECT *
INTO nama_tabel_baru
FROM nama_tabel_aktif
Sintaks SQL:
SELECT *
INTO mahasiswa_baru
From mahasiswa
UPDATE
Perintah update berfungsi untuk mengubah satu atau lebih data field yang terdapat
pada satu atau lebih record.
BU :
UPDATE nama_tabel
SET field=value
WHERE kriteria
Atau
17
UPDATE nama_tabel
SET field1=value1, field1=value1, ,field n=value n
WHERE kriteria
Sintaks SQL:
UPDATE mahasiswa
SET nama=Pondok Pinang No. 73
WHERE NIM=12029256
DELETE
Berfungsi untuk menghapus satu atau beberapa record dari suatu tabel.
BU :
DELETE *
From nama_tabel
WHERE kriteria
Sintaks SQL:
DELETE *
From mahasiswa
WHERE NIM=12029256
18
19
9. Masuk ke mode design, hapus textbok NIK dan buatlah combobox wizard,
langkahnya sbb:
20
21
22
Pertemuan 9
MySql
1.1
23
1.2
Kelebihan MySql
Mysql adalah sebuah database server,dapat juga berperan sebagai client
operasi Windows XP. Paket PHPTriad biasanya di-instal pada direktori atau folder
C:Apache. Karena PHPTriad merupakan kumpulan paket dari Apache (versi 1.3.23),
MySQL (versi 5.0.18) dan PHP (versi 4.1.1), sehingga masing-masing software
tersebut akan disimpan pada direktori khusus. Untuk MySQL ada pada direktori
C:apachemysql. Sedangkan untuk file-file eksekusinya (file biner) ada di direktori
C:apachemysqlbin.
Untuk dapat menggunakan mysql terlebih dahulu aktifkan dengan cara
sebagai berikut :
1. Pilih
menu
Start,
all
programs,
Selanjutnya
akan
tampil
24
Kemudian jalankan program mysql client dengan mengetikkan mysql pada command
prompt
C:\apache2triad\mysql\bin>mysql
Bila perintah tersebut berhasil, maka pada layar akan tampil ucapan selamat datang
dari mysql:
25
sintaknya tidak serumit bahasa pemograman lainnya seperti java, C++ dan
sebagainya. Satu hal yang perlu diingat bahwa setiap penulisan script MySQL di
Dos-Prompt harus selalu diakhiri dengan tanda titik koma (;). Di dalam source
MySQL yang telah terinstal
secara default
bernama mysql dan information_schema . Untuk dapat menampilkan apa saja nama
database yang telah ada maupun yang akan kita buat, gunakan sintak :
Mysql> show databases;
Perhatikan contoh di bawah ini :
Contoh
di
atas
menunjukkan
bahwa
dengan
menggunakan sintak show databases; berarti kita dapat menampilkan seluruh nama
database yang telah ada. Sintak untuk bisa masuk kedalam salah satu system database
tersebut adalah :
Mysql>use nama_database;
26
Dengan mengetikkan sintak use mysql; dan keluar kalimat database change,
berarti kita telah masuk ke dalam database mysql yang telah ada. Di setiap database
tentu ada terdapat beberapa table yang menjadi komponen dasar sebuah database.
Sintak untuk menampilkan seluruh table yang telah ada di
dalam database mysql adalah :
mysql>show tables;
perhatikan gambar di bawah :
Dari gambar di atas, kita dapat melihat bahwa di dalam database mysql
sudah ada beberapa table yang telah default dari mysql-nya sendiri. Didalam
database
tersebut
ada
table columns_priv
(columns_privilege),
db,
host,
27
tables_privilege, dan user di mana tiap tablenya memiliki fungsi tertentu yang
dapat diakses oleh tiap user. Database mysql ini biasanya sering digunakan bagi
webmaster sebagai tempat penyimpanan data, karena table-table yang telah ada dan
table yang dibutuhkan sebagian besar telah terpenuhi. Fungsi tiap table
tersebut akan kita bahas di bawah ini. Untuk bisa melihat isi seluruhnya dari salah
satu table sepeti user, maka gunakan sintak sebagai berikut :
msql>select*from user;
Maka akan tampil suatu kolom-kolom dan baris-baris yang telah ada seperti gambar
di bawah ini:
Dari gambar di atas akan terlihat kolom host, user dan password yang telah terisi.
Isi dalam kolom tersebut seperti :
oleh kombinasi
di
28
merupakan
hasil
password
yang
telah
terenkripsi
pada
sintak
terdahulu
yaitu dengan menambahkan sintak password di depan kata password itu sendiri.
29
Pertemuan 10
Data Definition Language(DDL)
1.
bahasa khusus yang disebut data-definition language (DDL). Hasil kompilasi DDL
berupa tabel-tabel yang disimpan dalam sebuah file, disebut data dictionary (kamus
data) atau data directory. Kamus data adalah sebuah file yang berisi metadata. File
ini yang dikonsultasi sebelum data yang sebenarnya dibaca atau dimodifikasi oleh
system basis data.
2.
2.1
sebuah basis data agar nantinya dapat diletakkan beberapa tabel dengan field-fieldnya
,bila kita lihat dalam mysql database hanyalah semacam direktori saja ,berbeda jika
dibandingkan dengan program database yang berbentuk visual seperti access ataupun
paradox.
Pada mysql database akan disimpan dan dikumpulkan pada sebuah direktori
khusus yang bernama data.dalam direktori data semua sub direktori yang ada
didalamnya disebut database.berikut tampilan struktur diektori mysql.
Untuk menciptkan database baru pada mysql syntak penulisannya adalah sebagai
berikut :
Create database nama_database;
Contoh :
Create database perpustakaan;
Kemudian ketikan perintah
Show databases;
Untuk melihat apakah database perpustakaan sudah dibuat
30
Latihan 1 :
Buat database dengan nama perpustakaan
31
2.2
didalamnya semua data akan disimpan. Tabel terletak pada sebuah database, sehingga
pembuatan tabel dilakukan setelah database dibuat. Untuk membuat tabel kita harus
terlebih dahulu mengaktifkan database,perintah yang digunakan adalah use. Syntax
penulisannya adalah :
Use nama_database;
Contoh
Use perpustakaan;
Type
Size
Keterangan
Id_anggota
Text
Primary key
Nama
Text
15
Alamat
Text
20
Notelp
Number
Tgl_lahir
Date/time
32
2.3
Untuk menghapus tabel gunakan perintah berikut
Syntax
Drop table nama_tabel;
Contoh
Drop table anggota;
2.4
datanya tidak boleh sama dengan record yang lain,agar data tidak sama kita dapat
membuat sebuah kolom data dengan isi yang berbeda dengan kolom lain ,kita dapat
mendeklarasikan sebuah kolom sebagai kunci primer atau primary key. Dalam
33
membuat kunci primer syaratnya adalah kolom tersebut tidak boleh kosong atau diset
dengan nilai not null.
Syntax penulisannya adalah :
Mysql>create table anggota(id_anggota char(4) not null,
->nama varchar(15) not null,
->alamat varchar(20) not null,
->notelp varchar(12) null,
->tgl_lahir date, primary key(id_anggota));
Sedangkan bila kita ingin membuat primary key
34
Manipulasi tabel
No Keterangan
1
Mengganti
nama tabel
2
Perubahan
field tabel
3
4
5
6
7
Perintah
Rename table tabel_lama to
tabel_baru;
Alter
table
nama_tabel
alter_spesifikasi kondisi;
Menambah
kolom unik
Menghapus
index
Mengubah
nama kolom
pada tabel
Menghapus
kolom /field
Membuat
validasi
Contoh
Rename table anggota to
anggota baru;
Alter table anggota
Add jk char(1); atau
Alter table anggota
Add jk char(1) After
nama;
Alter anggota
Add index(nama);
Alter anggota
drop index(nama);
Alter table anggota
Change
nama
nama_anggota
type
(lenght);
Alter table anggota drop
jk;
crete
table
anggota(id_anggota
char(4) ->not null,
->nama varchar(15) not
null,
->alamat varchar(20) not
->null,
->notelp
varchar(12)
null,
->tgl_lahir date,
->jk enum(p,L)
primary
key(id_anggota));
35
Latihan 2
Buat 2 tabel didalam database perpustakaan dengan struktur tabel sebagai berikut :
Tabel buku
Nama Field
Type
Size
Keterangan
Id_buku
Char
4
Primary key
Judul
varchar
15
Pengarang
Varchar
15
Thn_terbit
Date
Jenis_buku
Varchar
10
Status
Varchar
10
Tabel pinjam
Nama Field
No_pinjam
Id_anggota
Id_buku
Tgl_pinjam
Tgl_kembali
Type
Char
Char
Char
Date
Date
Size
4
4
4
Keterangan
Primary key
2.ganti nama field judul pada tabel buku dengan judul buku panjang data 25
3.buat validasi pada field status dengan ada dan tidak ada
4.rubah nama tabel pinjam dengan pinjam buku
5.buat field unik untuk kolom pengarang pada tabel buku
36
Pertemuan 11
Data Manipulation Language(DML)
1.
berfungsi untuk melakukan manipulasi data ataupun objek-objek yang ada didalam
table. Definisi lainnya tentang DML adalah Perintah-perintah untuk memanipulasi
data pada basis data, misalnya perintah untuk memilih data (query), menyisipkan,
mengubah dan menghapus data dalam basis data. Bentuk manipulasi yang dapat
dilakukan oleh DML diantaranya adalah untuk keperluan pencarian kembali data
lama, penyisipan data baru, penghapusan data, pengubahan data, dll. Sedangkan
DML sendiri menurut jenisnya dapat dibagi menjadi 2 jenis yaitu procedural dan non
procedural.
Beberapa manfaat atau kegunaan dari DLL diantaranya adalah sebagai berikut :
1. Pengambilan informasi yang disimpan dalam basis data
2. Penyisipan informasi baru ke basis data
3. Penghapusan informasi dari basis data
4. Modifikasi informasi yang disimpan dalam basis data
5. Query adalah perintah yang ditulis untuk mengambil informasi. Bagian dari DML
yang menangani pengambilan informasi ini disebut bahasa query.
37
2.
Perintah insert
Perintah INSERT digunakan untuk menambahkan data baru kedalam
tabel.
INSERT memiliki dua buah format penulisan.
Berikut
ini
contoh-contoh penulisan perintah INSERT dalam proses penambahan data kedalam ta
bel anggota.
38
Perintah Update
Berfungsi untuk melakukan perubahan terhadap sejumlah data yang ada
didalam table yang telah dibuat.Syntax:
update table_name
set column1_name=column1_content
where column2_name=column2_content;
Contoh:
Mysql > update anggota
>set nama_anggota=derry, alamat=pondok ungu
where id_anggota=a001;
Perintah Delete
Berfungsi untuk menghapus sejumlah data yang ada didalam table yang telah dibuat.
Syntax:
delete table_name where column_name=column_content;
Contoh:
delete anggota where id_anggota=a001;
39
Pertemuan 12
PhpMyAdmin
PhpMyAdmin adalah alat yang ditulis dalam PHP yang ditujukan untuk
menangani administrasi MySQL melalui web.
Mengaktifkan Phpmyadmin
-
40
2.
IDE Phpmyadmin
Database
3.
Menu
MySql
Address
bar
Menu
phpmyadmin
Membuat Database
-
Ketikkan nama database pada textbox create new database, kemudian klik
create
Ketikkan nama
database disini
Klik
Create
41
4.
Menghapus database
-
Pilih
Checklist pada kolom Checklist pada database yang akan dihapus
kemudian pilih drop
Checklist
database
Klik
Drop
42
Pertemuan 13
Tabel
1.
Membuat Tabel
-
Ketikkan nama table pada textbox name, kemudian ketikkan jumlah field
yang akan dibuat pada table tersebut setelah itu klik go untuk memulai
pengetikan struktur datanya.
Ketikkan Nama
Tabel
Ketikkan jumlah
field
Klik
Go
Setelah tampil layar seperti dibawah ini masukkan struktur data untuk
table anggota
43
Tabel Anggota
Field
Id_anggota
Nama
Alamat
Notelp
Tgl_lahir
Type
Varchar
Varchar
Varchar
Varchar
date
Length/Values
4
20
30
13
Keterangan
Primary key
Primary
Klik Key
Save
Apabila telah sukses maka akan tampil tampilan seperti dibawah ini
44
2.
Mengelola Tabel
a. Menambah field
-
Textbox Jumlah
Klik
Posisi field yang
Klik Save
- maka apabila telah di klik save akan tampil seperti dibawah ini
45
b. Menghapus Field
-
checklis
Klik Drop
- setelah klik drop maka akan tampil pertanyaan, pilih yes. Kemudian
akan tampil pesan sukses
c. Merubah Field
-
Checklist
Klik
46
Checklist
Klik
- akan tampil layar seperti dbawah ini, kemudian isikan 2 record, setelah
itu klik go
Klik Go
47
e. Mencari data
-
klik search pada menu, kemudian masukkan kode yang ingin dicari
Klik Go
Masukkan
-
Klik
48
Pertemuan 14
Menampilkan Isi Tabel
a. Penggunaan perintah select
-
Klik
maka akan tampil seperti dibawah ini
49
Menampilkan data sesuai dengan kode yang dicari (a001), caranya sama
dengan mengklik menu sql kemudian ketikkan perintah sebagai berikut:
Select*from anggota where
kode=a001
50
Pertemuan 15
Review
No. KA : 999
Lewat :
xxxxxxxxx
Departure Date
Train No
Via
Nama KA
: xxxxxxxxx
Jadwal Tiba :
99:99
Departure Time
Arrival Time
Kelas : xxxxxxxx
Class
Coach No.
Seat Number
Penumpang :
Jumlah :
Harga : (Rp)
Jumlah : (Rp)
Passanger
Amount
Price
Resevation
Amount
Dewasa : 999
999
999999999
99999999
999999999
Anak : 999
Child
Total : (Rp)
999999999
Total
51