modul praktikum perancangan basis · pdf filemembuat basis data dan mendesain tabel di ......
TRANSCRIPT
PERANCANGAN BASIS DATA
BINA SARANA INFORMATIKA
MODUL PRAKTIKUM
PERANCANGAN BASIS DATA
Disusun Oleh :
Team Penyusun Modul
BINA SARANA INFORMATIKA
JAKARTA
2009
2
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
3
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)
4
5
6
Normal 3(3nf) Supplier barang transaksi detail
Kd_supp* Nm_supp
No_fak* Tgl J_tempo Tot Kd_supp**
Kd_brg* Nm_brg Hrg
Qty Jml No_fak** Kd_brg**
7
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 � Ms. Access 2. Membuat Database Klik file � New � Pilih pada task pane � Blank Database Tampil Jendela File New Database Ketikan nama database Klik Tombol Create
Kemudian tampil Jendela Database
8
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.
9
���� 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 size Keterangan No_fak Text 5 Primary Key Tgl_fak Date / Time NIK Text 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
10
Membuat Indexes(foreign key) Tabel : Detail_penjualan
Field Name Data Type size Keterangan No_fak Text 5 Foreign Key Kode_barang Text 4 Foreign Key Jumlah Integer
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
11
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
12
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:
13
� 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 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"));
14
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 Header_penjualan Nama_karyawan Karyawan Bagian Karyawan No_fak Header_penjualan Tgl_fak 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 detail_penjualan Kode_barang detail_penjualan Nama_barang Barang Satuan Barang Harga Barang Jumlah Detail_jual Total Total:[harga]*[jumlah] Diskon Ekspresi Bonus 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
15
BU : Create Table nama_tabel ( Kolom_1 tipe(panjang), Kolom_2 tipe(panjang), Kolon_n 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:
16
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 :
17
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"
18
*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
19
Sintaks SQL: DELETE * From mahasiswa WHERE NIM=”12029256”
Form dan SubForm
Buatlah Form Data Barang dengan tampilan sebagai berikut :
20
Pembuatan Form Penjualan 1. Pada tab objects klik Form 2. Double klik Create form by using wizard hingga tampil jendela wizard 3. pindahkan semua field ke bagian selected field dengan mengklik >> 4. pilih kembali tables/query � pilih tabel karyawan 5. 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:
21
Lakukan Penambahan SubForm dan Command Button Wizard hingga tampilan
menjadi :
22
Pembuatan Query Faktur
Dengan Tampilan Faktur sebagai berikut:
Pertemuan 9
23
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.
24
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:
Jalankan dahulu program MySql Server atau MySql Daemon -- disingkat mysqld
(pada saat ini komputer kita bertindak seolah-olah sebagai sebuah server).
Bila perintah ini berjalan dengan baik,maka pada layar akan ditampilkan pesan:
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
C:\User\..>cd C:\ C:>cd apache\mysql\bin
C:\apachemysqlbin>mysqld
mysqld: ready for connections
25
jendela system prompt ( atau DOS prompt) yang baru. Dan masuklah ke direktori
c:\apachemysqlbin.
Kemudian jalankan program mysql client dengan mengetikkan mysql pada command
prompt
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 bahasa pemograman database di mana penulisan
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 telah terisi sebuah database yang bernama mysql dan
C:\>cd apache2triad C:\apache2triad>cd mysql C:\apache2triad\mysql>cd bin C:\apache2triad\mysql\bin>
C:\apache2triad\mysql\bin>mysql
26
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;
Perhatikan gambar di bawah ini :
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;
27
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 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:
28
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 digunakan kapanpun. Kolom password yang terisi oleh
kombinasi 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.
29
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 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. 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.
30
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 :
31
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
32
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
33
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;
34
Manipulasi tabel No Keterangan Perintah Contoh 1 Mengganti nama
tabel Rename table tabel_lama to tabel_baru;
Rename table anggota to anggota baru;
2 Perubahan field tabel
Alter table nama_tabel alter_spesifikasi kondisi;
Alter table anggota Add jk char(1); atau Alter table anggota Add jk char(1) After nama;
3 Menambah kolom unik
Alter table nama_tabel Add index(nama_field);
Alter anggota Add index(nama);
4 Menghapus index
Alter table nama_tabel drop index(nama_field);
Alter anggota drop index(nama);
5 Mengubah nama kolom pada tabel
Alter table nama_tabel Change kolom_lama kolom_baru type (lenght);
Alter table anggota Change nama nama_anggota type (lenght);
6 Menghapus kolom /field
Alter table nama_tabel drop nama_field;
Alter table anggota drop jk;
7 Membuat validasi
create table nama_tabel(kolom_1 type(lenght),kolom_2 type(lenght),...kolom_n type(lenght),enum(‘data1’,’data2’));
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 Type Size Keterangan No_pinjam Char 4 Primary key Id_anggota Char 4 Id_buku Char 4 Tgl_pinjam Date Tgl_kembali Date 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. 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
37
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 anggota.
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
38
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,
39
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
40
3. Membuat Database
- Ketikkan nama database pada textbox create new database, kemudian klik create
4. Menghapus database
- Pilih menu database pada tampilan Home Phpmyadmin
- Checklist pada kolom Checklist pada database yang akan dihapus kemudian
pilih drop
Database Address bar
Ketikkan nama database disini
Klik Create
Pilih
Menu MySql
Menu phpmyadmin
41
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 Ketikkan jumlah Klik
Checklist database Klik
Drop
42
- Setelah tampil layar seperti dibawah ini masukkan struktur data untuk table
anggota
Tabel Anggota
Field Type Length/Values Keterangan Id_anggota Varchar 4 Primary key Nama Varchar 20 Alamat Varchar 30 Notelp Varchar 13 Tgl_lahir date
- Setelah kita masukkan field-field yang dibutuhkan kemudian klik save
- Apabila telah sukses maka akan tampil tampilan seperti dibawah ini
Klik Save
Primary Key
43
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
- masukkan nama field yang ditambah kemudian klik save, tambahkan field
dengan nama field tempat_lahir, type varchar dan length 20
Textbox Jumlah Posisi field yang
Klik
44
- maka apabila telah di klik save akan tampil seperti dibawah ini
b. Menghapus Field
- checklist field yang ingin dihapus, kemudian 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
Klik Save
checklisKlik Drop
45
- 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
- akan tampil layar seperti dbawah ini, kemudian isikan 2 record, setelah itu
klik go
Checklist Klik
Checklist Klik
46
e. Mencari data
- klik search pada menu, kemudian masukkan kode yang ingin dicari
- Maka akan tampil seperti dibawah ini
Klik Go
Klik Go
Masukkan Klik
47
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:
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
Klik
Select*from anggota where kode=’a001’
48
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
49
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)
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
50
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 P
TGLTRANSAKSI D
KDFILM T 5
KDTEATER T 3
KDKASIR T 3
JMLTIKET N INTEGER
JADWALFILM DATE
51
CREATE TABLE TRANSAKSI (NOTRANSAKSI TEXT(5) PRIMARY KEY,
TGLTRANSAKSI DATE, KDFILM TEXT(5), 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
52
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 Ket Kdang Text(4) Primary key Nama Text(25) Alamat Text(30) Tlp Text(15) Isi table anggota sebanyak 5 record. Buku Field Name Size Ket Idbuku Text(3) Primary key Jdl_buku Text(30) Pengarang Text(20) Penerbit Text(20) Hrgsewa Long integer Isi table buku sebanyak 5 record Idbuku Jdlbuku Penarang Penerbit Hrgsewa K01 Detective
conan Goso oyama MNC
COMIC 1000
N01 LASKAR PELANGI
ANDERA HIRATA
GRAMEDIA 2500
P01 VISUAL BASIC 6.0
UUS HERMAWAN
ELEX MEDIA
3000
P02 POWER POINT 2007
HERMAWAN ERLANGGA 3000
P03 VISUAL FRIEADIE MAXIKOM 3000
53
FOXPRO 9.0
peminjaman Field Name Size Ket Nopem Text(3) Primary key Kdang Text(3) Tglpinjam Date/time Tglkembali Date/time Isi table peminjaman sebanyak 5 record Nopem Kdang Tglpinjam Tglkembali 001 A02 12/12/2008 12/18/2008 002 A03 12/14/2008 12/18/2008 003 A01 12/14/2008 12/18/2008 004 A04 12/14/2008 12/18/2008 Detailpinjam Field Name Size Ket Nopem Text(3) Idbuku Text(3) Jmlpinjam Long integer Isi table detailpinjam sebanyak 6 record Nopem Idbuku Jmlpinjam 001 K01 1 002 N01 1 003 P01 1 004 N01 2 005 P02 1 006 P03 1 QUERY_HEADER Field Name Size Ket Nopem Table peminjaman Kdang Table peminjaman Nama Table anggota Alamat Table anggota Tlp Table anggota
54
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
55
detailpinjam on buku.idbuku=detailpinjam.idbuku) ON pemunjaman.nopem=detailpinjam.nopem