PERANCANGA MODUL PRAKTIKUM PERANCANGAN BASIS DATA

advertisement
MODUL PRAKTIKUM
PERANCANGAN BASIS DATA
Disusun Oleh :
Team Penyusun Modul
BINA SARANA INFORMATIKA
JAKARTA
2009
Membuat Basis Data dan Mendesain tabel di Microsoft Access
1.1.
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,
Server2000,Oracle,Mysql,Interbase,Paradox,Microsoft Access ,dan lain-lain.
Komponen-komponen basis data antara lain :
1.Entitas
Entitas digunakan untuk menerapkan integritas pada tingkat Entity(Tabel),agar setiap Instances
(Record/Baris) pada suatu Entity bersifat Unique yang disebut sebagai Primary Key sehingga
dapat dibedakan antara yang satu dengan yang lain.
Contoh :
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
atributnya kd_pelanggan,nm_pelanggan,alamat,notelpon
2
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)
3
4
5
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
1.3 Implementasi Perancangan Basis data
Mengenal Lingkungan Kerja Ms. Access 2003
Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data dengan
model relasional. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga
menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna. Versi terakhir adalah
Microsoft Office Access 2007 yang termasuk ke dalam Microsoft Office System 2007.
Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access,
Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis
data yang mendukung standar ODBC.
Susunan/ hierarki pada access
character
Field
Record
File
Database
1.4. Membuat Basis Data Di access
1. Mengaktifkan Ms. Access
Klik menu Start all program
Ms. Office
2. Membuat Database
Klik file New Pilih pada task pane
Tampil Jendela File New Database
Ketikan nama database
Klik Tombol Create
Kemudian tampil Jendela Database
Ms. Access
Blank Database
7
Objects yang berada pada jendela database yaitu sebagai berikut :
Tables
Merupakan objek utama dalam sebuah file database sekaligus objek pertama yang harus dibuat
karena didalam tabel inilah seluruh data-data yang dibutuhkan disimpan
Queries
Merupakan objek yang berfungsi untuk menampilkan, mengubah dan menganalisa data.
Forms
Merupakan objek yang digunakan untuk menampilkan data yang tersimpan dalam tabel (untuk
pembuatan user interface)
Reports
Merupakan objek yang digunakan untuk merangkum dan mencetak data atau suatu laporan secara
efektif.
Pages
Page merupakan objek yang digunakan untuk mengakses data diweb secara langsung (online).
Macros
Merupakan objek yang digunakan untuk mengoptimasi sekaligus menghemat waktu yang
diperlukan dalam pembuatan aplikasi database. Dengan kata lain Macro adalah kumpulan beberapa
perintah, yang tersusun dalam sebuah daftar.
Modules
Merupakan objek yang digunakan untuk menuliskan kode program atau prosedur yang dapat
digunakan untuk progaram aplikasi.
8
Praktikum : Buatlah database dengan nama Koperasi
3. Membuat Tabel
Klik tab tables pada objects
create table in design view
Double klik create table in design view lalu buatlah tabel sesuai dengan struktur tabelnya
data pada tabel
save tabel : file save ketik nama tabel contoh:barang
Latihan 1:
Aktifkan database koperasi, kemudian buatlah tabel-tabel dengan struktur dibawah ini:
Tabel : barang
Field Name
Data Type
size Keterangan
Kode_barang
Text
4 Primary Key
Nama_barang
Text
30
Satuan
Text
8
Harga
currency
Isikan data sebanyak 10 record, dengan contoh pengisian sebagai berikut :
Kode_barang
Nama_barang
Satuan
Harga
B001
NESCAFE CREAM ISI 30
PACK
24000
Lanjutkan pengisian hingga 10 record
Tabel : karyawan
Field Name
Data Type
size Keterangan
NIK
Text
9 Primary Key
Nama_karyawan Text
30
Bagian
Text
10
Isikan data sebanyak 5 record, dengan contoh pengisian sebagai berikut :
NIK
Nama_karyawan
Bagian
200803666
DENIS AFRIADI
PERSONALIA
200803724
APRIANA
ADMIN
Lanjutkan pengisian hingga 5 record
Tabel : Header_penjualan
Field Name
Data Type
No_fak
Text
Tgl_fak
Date / Time
NIK
Text
size Keterangan
5 Primary Key
9 Foreign Key
Isikan data sebanyak 5 record, dengan contoh pengisian sebagai berikut :
No_fak
Tgl_fak
Nik
F0001
21 Juli 2009
200803666
F0002
21 Juli 2009
200803724
F0003
22 Juli 2009
200803667
9
Membuat Indexes(foreign key)
Tabel : Detail_penjualan
Field Name
Data Type
No_fak
Text
Kode_barang
Text
Jumlah
Integer
size Keterangan
5 Foreign Key
4 Foreign Key
Isikan data sebanyak 5 record, dengan contoh pengisian sebagai berikut :
No_fak
Kode_barang
Jumlah
F0001
B001
2
F0001
B003
1
F0002
B004
5
F0003
B002
5
*catatan => untuk pengisian data ,disarankan setelah pembuatan relation ship
4. Membuat Relasi Tabel
Untuk membuat relasi tabel :
Klik menu Tool Relationship
Kemudian tampil jendela show table
Kemudian sorot nama tabel dan add satu-persatu tabel dan susun seperti dibawah ini:
jumlah
10
Membuat garis relasi antar tabel:
Tarik garis diagonal dari field kode_barang(primary key) ke field kode_barang yang ada pada
detail_penjualan
Hingga tampil jendela edit relationships
Cheklist Enforce Referential Intergity, Cascade Update Related Fields, Cascade Deleted
Related Record
Klik Create
Lanjutkan langkah pembuatan hingga terbentuk relasi seperti dibawah ini
11
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
Langkah Membuat Query
Klik tab Queries pada objects
Double klik create query in Design View
Tampil jendela show table
Sorot nama tabel kemudian klik add hingga tampil seperti di bawah ini:
12
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
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
: untuk membuat query dengan script SQL
3. SQL View
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"));
13
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
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
Detail_jual
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
Query DDL (Data Definition Language)
Data Definition Language (DDL) merupakan sub bahasa SQL yang berfungsi mendefinisikan
database dan tabel.Namun karena di access perintah DDL ini dapat digunakan dalam mendefinisikan
tabel saja. Perintah yang digunakan diantaranya: CREATE, ALTER, dan DROP. Dengan
menggunakan ketiga perintah tersebut kita sudah dapat membangun struktur data dengan lengkap.
CREATE
Create digunakan untuk membuat tabel
14
BU :
Create Table
Kolom_1
Kolom_2
Kolon_n
nama_tabel (
tipe(panjang),
tipe(panjang),
tipe(panjang))
Klo untuk index unique : constrant nama_field (unique)
Latihan CREATE
Membuat tabel Mahasiswa dengan mengetikan script SQL berikut pada SQL View di Query
Create Table mahasiswa (
NIM
text(8) not null primary key,
NAMA
text(30) not null,
TGL_LAHIR date,
ALAMAT
text(50))
Create Table mahasiswa (
NIM
text(8) not null,
NAMA
text(30) not null,
TGL_LAHIR date,
ALAMAT
text(50),
Primarykey(NIM))
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:
15
ALTER TABLE mahasiswa2
ADD constraint NIM Primary Key(NIM)
Keterangan:
Pemakaian Constraint
Merubah ukuran dan tipe dari field NIM pada tabel mahasiswa
Sintaks SQL:
ALTER TABLE mahasiswa
ALTER column NIM Number
Menghapus field Jenis kelamin dari tabel mahasiswa
Sintaks SQL:
ALTER TABLE mahasiswa
DROP column Jenis_kel
DROP
Drop digunakan untuk menghapus tabel
BU :
Drop TABLE nama tabel
Menghapus tabel MHS
Sintaks SQL:
Drop table mahasiswa
Query DML (Data Manipulation Language)
Data Manipulation Language (DDL) merupakan sub bahasa SQL yang berfungsi
memanipulasi data yanga ada di dalam basisdata atau database. Perintah yang termasuk
didalam DML adalah INSERT, SELECT, UPDATE, dan DELETE
INSERT
Berfungsi untuk menyisipkan, memasukkan, atau menyimpan data dari luar sistem kedalam
database.
BU :
16
INSERT INTO nama_tabel (nama field1, namafield2….,namafield n)
VALUES (value1, value2,…,valuen)
Atau
INSERT INTO nama_tabel
VALUES (value1, value2,…,valuen)
Sintaks SQL:
INSERT INTO mahasiswa
VALUE(“12029256”,”APRIANA”, ”17/01/1985”,”LEBAK BULUS”,)
Lanjutkan pengisian hingga 5 record pada tabel mahasiswa
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
Latihan:
* Menampilkan Field dari 2 table
SELECT kdkursus, namakursus, kdkasir, nama INTO coba FROM kursus, kasir
*Tampilkan data dari table detail_daftar dimana kdpendaftarann hanya yang
mengambil kdkursus Wed03 saja :
SELECT kdpendaftaran from detail_daftar where kdkursus="Wed03"
*Tampilkan data dari table daftar dimana kdanggota ”M001” dan kdkasir ”K001”
saja:
SELECT kdanggota from daftar where kdanggota="M001" and kdkasir="K001"
*Tampilkan data dari table daftar dimana kdanggota ”M002” atau kdkasir ”K002” :
SELECT kdanggota from daftar where kdanggota="M002" or kdkasir="K002"
17
*Tampilkan data dari table daftar dimana kdanggota bukan ”M002” atau kdkasir
”K002” :
SELECT * from daftar where not (kdanggota="M002" or kdkasir="K001")
* SELECT * FORM XXXX LIKE WILDCAD(*,?, ,-,[])
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
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
18
Sintaks SQL:
DELETE *
From mahasiswa
WHERE NIM=”12029256”
Form dan SubForm
Buatlah Form Data Barang dengan tampilan sebagai berikut :
19
Pembuatan Form Penjualan
1.
2.
3.
4.
5.
Pada tab objects klik Form
Double klik Create form by using wizard hingga tampil jendela wizard
pindahkan semua field ke bagian selected field dengan mengklik >>
pilih kembali tables/query pilih tabel karyawan
pindahkan field nama karyawan dan bagian
6. Klik Next 2X pilih columnar
7. Klik Next 2X hingga tampil textbox untuk pengisian title
8. Klik Finish dan tampil form
9. Masuk ke mode design, hapus textbok NIK dan buatlah combobox wizard, langkahnya
sbb:
20
Lakukan Penambahan SubForm dan Command Button Wizard hingga tampilan
menja
di :
21
Pembuatan Query Faktur
Dengan Tampilan Faktur sebagai berikut:
Pertemuan 9
22
MySql
1.1
Pengenalan MySql dan Lingkungan Kerja
Mysql adalah sebuah program database server yang mampu menerima dan
mengirimkan datanya dengan sangat cepat,multi user serta menggunkan perintah standar
sql (struktur query language ). Mysql merupakan sebuah database server yang free, artinya
kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa membeli
atau membayar lisensinya. MySQL merupakan hasil ciptaan dari Michael “Monty”
Widenius, David Axmark, dan Allan Larson pada tahun 1995. Mereka lalu mendirikan
perusahaan bernama MySQlL AB di Swedia. Tujuan awal diciptakannya MySQL yaitu
untuk mengembangkan aplikasi web yang akan digunakan oleh salah satu klien MySQL
AB. Database Mysql,biasa kita baca mai-es-ki-el merupakan perangkat lunak database yang
berbentuk database relasional atau dalam bahaa basisdata sering kita sebut dengan Relation
database Management system (RDBMS) yang menggunkan suatu bahasa permintaan
bernama sql. Perbedaan antara mysql dan sql adalah Mysql adalah program database sever
sedangkan Sql adalah bahasa yang digunakan didalamnya
1.2
Kelebihan MySql
Mysql adalah sebuah database server,dapat juga berperan sebagai client sehingga
disebut database client/server,yang open source dapat berjalan pada os manapun,dengan
flatform Windows ,maupun linux.
23
1.3
Penggunaan MySql dengan command prompt
Dalam modul ini menggunakan paket program PHPTriad , dengan sistem 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,
accessories kemudian pilih command
prompt.
Selanjutnya
akan
tampil
jendela sebagai berikut:
2. Kemudian pada command prompt tersebut ketikan perintah sebagai berikut:
C:\User\..>cd
C:\
C:>cd apache\mysql\bin
Jalankan dahulu program MySql Server atau MySql Daemon -- disingkat mysqld
(pada
saat
ini
komputer
kita
bertindak
seolah-olah
sebagai
sebuah
server).
C:\apachemysqlbin>mysqld
Bila perintah ini berjalan dengan baik,maka pada layar akan ditampilkan pesan:
mysqld: ready for connections
Perhatikan pada ‘connections’ dengan bentuk jamak, dengan demikian computer
kita tersebut telah menjalankan fungsinya sebagai mysql server dan dapat melayani lebih
dari satu koneksi. Jangan tutup jendela tersebut, jika anda menutuo jendela tersebut, maka
program MySql server akan dihentikan juga oleh system. Kemudian, bukalah sebuah
24
jendela system prompt ( atau DOS prompt) yang baru. Dan masuklah ke direktori
c:\apachemysqlbin.
C:\>cd apache2triad
C:\apache2triad>cd mysql
C:\apache2triad\mysql>cd bin
C:\apache2triad\mysql\bin>
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:
Anda sekarang sudah berhasil menjalankan mysql dan berhasil masuk kedalam
system mysql. Pesan terebut berisi ucapan selamat datang, pemberitahuan tentang penulisan
perinth MySql yang(tidak) selalu diakhiri dengna symbol. Versi MySql yang kita
gunakan(3.4) dan connection id berupa nomor urut kita masuk ke server.
1.4
Pengantar Sintak Dasar
MySQL merupakan
sintaknya
tidak
serumit
bahasa
bahasa
pemograman
pemograman
database
lainnya
di mana
seperti
java,
penulisan
C++
dan
sebagainya. Satu hal yang perlu diingat bahwa setiap penulisan script MySQL di DosPrompt harus selalu diakhiri dengan tanda titik koma (;). Di dalam source MySQL yang
telah terinstal
secara default
telah terisi sebuah database yang bernama mysql dan
25
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
menunjukkan
dengan
atas
bahwa
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;
Perhatikan gambar di bawah ini :
Dengan mengetikkan
sintak use mysql; dan
keluar
kalimat
database
berarti kita telah masuk ke dalam database mysql yang telah ada. Di
tentu ada terdapat beberapa
change,
setiap database
table yang menjadi komponen dasar sebuah database.
Sintak untuk menampilkan seluruh table yang telah ada di
dalam database mysql adalah :
mysql>show tables;
26
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, 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
penyimpanan data, karena table-table yang telah ada dan
table
yang
tempat
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:
27
Dari gambar di atas akan terlihat kolom host, user dan password yang telah terisi.
Isi dalam kolom tersebut seperti :
Localhost
merupakan
nama
komputer
kita
sendiri
apabila
komputer
tersebut kita jadikan server. Sedangkan root adalah nama user yang berhak penuh untuk
mengatur database yang telah ada seperti menambah user, memberi fasilitas kepada user
lain agar user lain dapat akses ke database tersebut, bahkan juga root bisa membuat
database baru yang dapat
kombinasi
digunakan kapanpun. Kolom password yang terisi oleh
k\angka dan huruf
di
atas yaitu 1fb744464c9bba54 merupakan
hasil
password yang telah terenkripsi pada sintak terdahulu yaitu dengan menambahkan
sintak password di depan kata password itu sendiri.
28
Pertemuan 10
Data Definition Language(DDL)
1.
Data Definition Language (DDL)
Skema basis data dispesifikasikan oleh sekumpulan definisi dengan sebuah bahasa
khusus yang disebut data-definition language (DDL). Hasil kompilasi DDL berupa tabeltabel 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.
Penggunaan Data Definition Language(DDL)
2.1
Membuat Database Baru
Database adalah sebuah media utama yang harus dibuat dalam membangun 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.
29
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
Untuk menghilangkan database atau menghapusnya,gunakan perintah drop
Syntak
Drop database nama_database;
Contoh :
Drop database perpustakaan;
Kemudian lihat, gunakan perintah
Show databases;
Maka akan tampil gambar sebagai berikut :
30
Latihan 1 :
Buat database dengan nama perpustakaan
2.2
Membuat tabel pada mysql
Tabel adalah obyek utama yang harus ada pada sebuah basisdata karena 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;
Setelah masuk kedalam database, anda
Telah diijinkan melakukan operasi-operasi menyangkut tabel dan isinya.
Untuk membuat sebuah tabel, perintah yang digunakan adalah create table dengan syntax
sebagai berikut :
Create
table
nama_tabel(field1
type(lenght),
field2
type(lenght),.........
fieldn
type(lenght),(.......));
Contoh:
Kita akan membuat tabel anggota dengan struktur tabel sebagai berikut:
Nama Field
Type
Size
Keterangan
Id_anggota
Text
4
Primary key
31
Nama
Text
15
Alamat
Text
20
Notelp
Number
Tgl_lahir
Date/time
Berdasarkan struktur tabel diatas.perintah yang digunakan adalah seperti berikut:
Mysql>crete table anggota(id_anggota char(4),
->nama varchar(15),
->alamat varchar(20),
->notelp varchar(12),
->tgl_lahir date);
Kemudian
untuk
melihat
table,gunakan perintah
Show tables;
Untuk melihat tabel
Desc anggota;
Untuk melihat field yang terdapat pada
Tabel anggota
32
2.3
Untuk menghapus tabel gunakan perintah berikut
Syntax
Drop table nama_tabel;
Contoh
Drop table anggota;
2.4
Membuat kunci primer
Dalam membuat sebuah database,kita pasti akan menemui sebuah record yang
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 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 pada suatu tabel yang sudah terbentuk,
perintah query yang harus diberikan adalah :
Mysql > alter nama_table
> add primary key(nama_colom yang dijadikan sebagai kunci);
Contoh:
Mysql > alter anggota
>add primary key(id_anggota);
Menghapus primary key
Mysql > alter table nama_tabel
>drop primary key;
Contoh:
Mysql > alter table anggota
->drop primary key;
33
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;
Contoh
Rename table anggota to
anggota baru;
Alter table anggota
Add jk char(1); atau
Alter table anggota
Add jk char(1) After nama;
Menambah
Alter table nama_tabel
Alter anggota
kolom unik
Add index(nama_field);
Add index(nama);
Menghapus
Alter table nama_tabel
Alter anggota
index
drop index(nama_field);
drop index(nama);
Mengubah nama Alter table nama_tabel
Alter table anggota
kolom
pada Change kolom_lama kolom_baru Change
nama
tabel
type (lenght);
nama_anggota
type
(lenght);
Menghapus
Alter table nama_tabel drop Alter table anggota drop jk;
kolom /field
nama_field;
Membuat
create table nama_tabel(kolom_1 crete
table
validasi
type(lenght),kolom_2
anggota(id_anggota char(4)
type(lenght),...kolom_n
->not null,
type(lenght),enum(‘data1’,’data2’)); ->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));
34
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
35
Pertemuan 11
Data Manipulation Language(DML)
1.
Data Manipulation Language (DML)
DML atau Data manipulation Language merupakan perintah-perintah yang
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.
2.
Penggunaan Data Manipulation Language(DML)
Perintah insert
36
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 tabel a
nggota.
Mysql >Insert into anggota (id_anggota,nama_anggota,alamat,notelp,tgl_lahir,jk)
>values(‘A001’,’sari hartini’,’jln.bekasi kaum’,’021 98082049’,’1984-04-24’,’p’);
Perintah Select
Berfungsi untuk menapilkan data yang terdapat didalam databases atau table
Sintaks sederhana dari perintah SELECT tampak seperti berikut ini:
Select *from nama_table;
Mysql > select * from anggota;
Perintah Update
Berfungsi untuk melakukan perubahan terhadap sejumlah data yang ada didalam
table yang telah dibuat.Syntax:
update table_name
37
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 ;
Pertemuan 12
PhpMyAdmin
PhpMyAdmin adalah alat yang ditulis dalam PHP yang ditujukan untuk menangani
administrasi MySQL melalui web. Membuat dan drop database, membuat / drop / merubah
tabel, menghapus / mengedit / menambahkan kolom, jalankan SQL pernyataan apapun,
38
mengatur kunci pada field, mengatur hak, ekspor data ke dalam berbagai format dan
tersedia dalam 50 bahasa.
1.
Mengaktifkan Phpmyadmin
-
Pilih browser yang sudah tersedia(Internet Explorer,Mozzila Firefox)
-
Kemudian ketikan localhost/phpmyadmin pada address bar
-
Masukkan username root dan passwordnya password, kemudian akan tampil
seperti di bawah ini
2.
IDE
Phpmyadmin
39
Database
3.
Menu
MySql
Membuat Database
-
Ketikkan nama database pada textbox create new database, kemudian klik create
Ketikkan nama
database disini
4.
Address
bar
Menu
phpmyadmin
Klik
Create
Menghapus database
-
Pilih menu database pada tampilan Home Phpmyadmin
-
Pilih
Checklist pada kolom Checklist pada database yang akan dihapus kemudian
pilih drop
40
Checklist
database
Klik
Drop
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.
41
Ketikkan Nama
Ketikkan jumlah
Klik
-
Setelah tampil layar seperti dibawah ini masukkan struktur data untuk table
anggota
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
-
Setelah kita masukkan field-field yang dibutuhkan kemudian klik save
-
Primary
Klik Key
Save
Apabila telah sukses maka akan tampil tampilan seperti dibawah ini
42
2.
Mengelola Tabel
a. Menambah field
-
klik menu structure
-
masukkan jumlah field yang ingin ditambah, pilih at end of table, at
beginning of table atau after dari field yang sudah ada setelah itu klik go
Textbox Jumlah
Posisi field yang
-
Klik
masukkan nama field yang ditambah kemudian klik save, tambahkan field
dengan nama field tempat_lahir, type varchar dan length 20
43
Klik Save
-
maka apabila telah di klik save akan tampil seperti dibawah ini
b. Menghapus Field
-
checklist field yang ingin dihapus, kemudian klik drop
checklis
Klik Drop
- setelah klik drop maka akan tampil pertanyaan, pilih yes. Kemudian akan
tampil pesan sukses
c. Merubah Field
-
checklist field yang ingin dirubaha, kemudian klik change
44
Klik
Checklist
- rubahlah id_anggota menjadi kode, setelah itu klik save
d. Menambah isi table
- klik database perpustakaan, kemudian checklist table yang ingin kita isikan
data setelah itu klik insert
Checklist
Klik
- akan tampil layar seperti dbawah ini, kemudian isikan 2 record, setelah itu
klik go
45
e. Mencari data
-
Klik Go
klik search pada menu, kemudian masukkan kode yang ingin dicari
Klik Go
Masukkan
-
Klik
Maka akan tampil seperti dibawah ini
46
Pertemuan 14
Menampilkan Isi Tabel
a. Penggunaan perintah select
-
Menampilkan seluruh isi table
Sebelum menggunakan perintah select terlebih dahulu kita pilih menu sql untuk
menggunakan perintah tersebut. Kemudian ketikkan perintah sebgai berikut:
Select*from
anggota
Klik
maka akan tampil seperti dibawah ini
-
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’
47
Maka akan tampil seperti dibawah ini
Pertemuan 15
Review
PT KERETA API (PERSERO)
Nama : xxxxxxxxx
Name
Tanggal Berangkat : dd-mm-yy
No. KA : 999
Lewat :
xxxxxxxxx
Departure Date
Train No
Via
48
Nama KA
: xxxxxxxxx
The Name Of Train
Jadwal Berangkat : 99:99
Jadwal Tiba :
99:99
Departure Time
Arrival Time
Kelas : xxxxxxxx
No. Kereta : 999
Nomor Tempat Duduk : 999
Class
Coach No.
Seat Number
Penumpang :
Jumlah :
Harga : (Rp)
Bea Pesan : (Rp)
Jumlah : (Rp)
Passanger
Amount
Price
Resevation
Amount
Dewasa : 999
999
999999999
99999999
999999999
Anak : 999
Child
Total : (Rp)
999999999
Total
DATABASE BIOSKOP
TABLE FILM
FIELD NAME
TYPE
SIZE
KET
KDFILM
TEXT
5
PRIMARY KEY
JUDULFILM
TEXT
30
HARGATIKET
NUMBER
LONG
CREATE TABLE FILM (KDFILM TEXT(5) PRIMARY KEY, JUDULFILM TEXT(30),
HARGATIKET LONG)
ISI :
INSERT INTO FILM VALUES(“M0003”,”FINAL DESTINATION 4”,30000)
49
INSERT INTO FILM VALUES(“M0002”,”GET MERRIED 2”,15000)
INSERT INTO FILM VALUES(“M0001”,”THE GRUDE III”,25000)
TABLE TEATER
FIELDNAME
TYPE
SIZE
KET
KDTEATER
TEXT
3
PRIMARY KEY
KETERANGAN
TEXT
30
KAPASITAS
NUMBER
INTERGER
CREATE TABLE TEATER (KDTEATER TEXT(3) PRIMARY KEY, KETERANGAN
INSERT INTO TEATER VALUES(“T01”,”TEATER 1”,40)
INSERT INTO TEATER VALUES(“T02”,”TEATER 2”,25)
INSERT INTO TEATER VALUES(“T03”,”TEATER 3”,30)
TABLE KASIR
FIELDNAME
TYPE
SIZE
KET
KDKASIR
TE
5
P
NAMA
TE
30
ALAMAT
TE
30
TELP
TE
13
TABLE TRANSAKSI
NOTRANSAKSI
T
5
TGLTRANSAKSI
D
KDFILM
T
5
KDTEATER
T
3
KDKASIR
T
3
JMLTIKET
N
INTEGER
JADWALFILM
DATE
P
50
CREATE
TABLE
TRANSAKSI
(NOTRANSAKSI
TGLTRANSAKSI DATE, KDFILM TEXT(5),
TEXT(5)
PRIMARY
KEY,
KDTEATER TEXT(3),KDKASIR
TEXT(3), JMLTIKET INTEGER, JADWALFILM DATE)
INSERT INTO TRANSAKSI VALUES (“00001” ,”23/10/2009” ,”M0001” ,”K01”
,”K0002” ,4,”14.30 WIB”)
SOAL:
Tambahkan field harga pada table transaksi, dan isi datanya sesuai dengan
kdfilmnya.
ALTER TABLE TRANSAKSI ADD HARGA CURRENCY
UPDATE TRANSAKSI SET HARGA=25000 WHERE KDFILM=”M0001”
UPDATE TRANSAKSI SET HARGA=15000 WHERE KDFILM=”M0002”
UPDATE TRANSAKSI SET HARGA=30000 WHERE KDFILM=”M0003”
Tampilkan data dari table transaksi dan tambahkan field total pada table
transaksi dimana isi datanya didapat dari harga * jml tiket.
ALTER TABLE TRANSAKSI ADD TOTAL CURRENCY
UPDATE TRANSAKSI SET TOTAL=HARGA*JMLTIKET
Tampilkan data dari table transaksi yang jumlah beli tikenya lebih besar 3
SELECT * FROM TRANSAKSI WHERE JMLTIKET>3
Tampilkan data dari table transaksi yang nama kasirnya mengandng huruf
adalah “T”
SELECT * FORM KASIR WHERE NAMA LIKE “*T*”
Tampilkan data dari table trans berdasarkan kdkasir dan kdteater dimana 2
karakter terakhirnya =”02”
SELECT * FORM TRANSAKSI WHERE (RIGHT(KDKASIR,2)=”02” AND
RIGHT(KDTEATER,2)=”02”)
Tampilkan data dari table table trans dan tambahkan filed diskon, isi data
didapat dari jika total > 50000 maka diskon 5% dari total selain itu 0
ALTER TABLE TRANSAKSI ADD DISKON CURRENCY
UPDATE TRANSAKSI SET DISKON=IIF(TOTAL>50000,0.5*TOTAL,0)
1.
2. select ….. (harga*jumlah) as [total] from transaksi
51
Update transaksi set total=harga*jumlah
3.
4.
5. select * form transaksi where (harga*jumlah) as
[total],iif([total]>50000,[total]*5/100,0) as [diskon] from transaksi
Buatlah database : Taman Bacaan
Anggota
Field Name
Size
Kdang
Text(4)
Nama
Text(25)
Alamat
Text(30)
Tlp
Text(15)
Isi table anggota sebanyak 5 record.
Buku
Field Name
Size
Idbuku
Text(3)
Jdl_buku
Text(30)
Pengarang
Text(20)
Penerbit
Text(20)
Hrgsewa
Long integer
Isi table buku sebanyak 5 record
Idbuku
Jdlbuku
Penarang
K01
Detective
Goso oyama
conan
N01
LASKAR
ANDERA
PELANGI
HIRATA
P01
VISUAL
UUS
BASIC 6.0
HERMAWAN
P02
POWER
HERMAWAN
POINT 2007
P03
VISUAL
FRIEADIE
Ket
Primary key
Ket
Primary key
Penerbit
Hrgsewa
MNC
1000
COMIC
GRAMEDIA 2500
ELEX
3000
MEDIA
ERLANGGA 3000
MAXIKOM
3000
52
FOXPRO
9.0
peminjaman
Field Name
Size
Nopem
Text(3)
Kdang
Text(3)
Tglpinjam
Date/time
Tglkembali
Date/time
Isi table peminjaman sebanyak 5 record
Nopem
001
002
003
004
Kdang
A02
A03
A01
A04
Ket
Primary key
Tglpinjam
12/12/2008
12/14/2008
12/14/2008
12/14/2008
Detailpinjam
Field Name
Size
Nopem
Text(3)
Idbuku
Text(3)
Jmlpinjam
Long integer
Isi table detailpinjam sebanyak 6 record
Tglkembali
12/18/2008
12/18/2008
12/18/2008
12/18/2008
Ket
Nopem
001
002
003
004
005
006
Idbuku
K01
N01
P01
N01
P02
P03
Jmlpinjam
1
1
1
2
1
1
QUERY_HEADER
Field Name
Nopem
Kdang
Nama
Alamat
Tlp
Size
Table peminjaman
Table peminjaman
Table anggota
Table anggota
Table anggota
Ket
53
Tglpinjam
Table peminjaman
Tglkembali
Table peminjaman
Lama pinjam
Ekspresi
Denda
Ekspresi
Ketentuan :
Lama pinjam : tanggal kembali dikurangi tanggak pinjam
Denda
: jika peminjaman lebih dari tiga hari maka denda Rp. 500/hari
Buatlah query dengan menggunakan inner join, right join, left join kemudian
tampilkan datanya.
SELECT peminjaman.nopem,peminjaman.kdang,anggota.nama,
anggota.alamat, anggota.tlp, peminjaman.tglpinjam, peminjaman.tglkembali,
[tglkembali]-[tglpinjam] as lamapinjam, iif([lamapinjam]>3,
500*(lamapinjam-3),0) as denda FROM peminjaman INNER JOIN anggota
ON peminjaman.kdang=anggota.kdang
QUERY_DETAIL
Field Name
Size
Ket
NOPEM
DETAILPINJAM
KDANG
PEMINJAMAN
NAMA
ANGGOTA
IDBUKU
DETAILPINJAM
JDL_BUKU
BUKU
PENGARANG
BUKU
PENERBIT
BUKU
Hrgsewa
BUKU
Jmlpinjam
Detailpinjam
Total
Ekspresi
Bonus
ekspresi
Total = hargasewa*jmlpinjam
Bonus = jika jmlpinjam >=5, maka bonus total-1000, jika jmlpinjam >10
maka bonus total-1500 selain itu 0.
SELECT detailpinjam.nopem, peminjaman.kdang, anggota.nama,
detailpinjam.idbuku, buku.jdl_buku, buku.pengarang, buku.penerbit,
buku.hrgsewa, detailpinjam.jmlpinjam, [hrgsewa]*[jmlpinjam] as total,
iif([jmlpinjam]>5,[total]-1000, iif([jmlpinjam]=10,[total]-1500,0)) as bonus
FROM (anggota INNER JOIN peminjaman on
anggota.kdang=peminjaman.kdang) INNER JOIN (buku INNER JOIN
54
detailpinjam on buku.idbuku=detailpinjam.idbuku) ON
pemunjaman.nopem=detailpinjam.nopem
55
Download