[2] Kadir, A., 2003, Konsep dan Tuntunan Praktis Basis Data, Penerbit Andi,
Yogyakarta.
DAFTAR MATERI
PERTEMUAN MATERI POKOK SUMBER
1 Pendahuluan [1] [2]
2 Definisi Basis Data dan Sistem Basis Data [1] [2]
Database
Akademik Mahasiswa
Registrasi
Matakuliah
Nilai
Matakuliah
SISTEM INFORMASI
• Perangkat keras (hardware) : input/ouput device, memory, processor
• Perangkat lunak (software) : OS, bahasa pemrograman, program-
program aplikasi
• Berkas basis data (file) : data
• Prosedure : prosedur pengoperasian / manual / aturan-aturan yang
berhubungan dengan sistem informasi
• Manusia (brainware) : operator, DB admin, manajer SI, programmer,
teknisi, dll.
Pemanfaatan Basis Data
• Mudah untuk memperoleh informasi tertentu.
• Berapa jumlah SKS yang diperoleh oleh mahasiswa dengan NIM 12345?
Model Relasional
• Salah satu model database yang terkenal adalah model
relasional.
Database
Akademik
Mahasiswa
Registrasi
Matakuliah
Nilai
Matakuliah
Ada
3 tabel
Karakteristik dalam Relasi
55 DB001 A 57 DB001 A
55 PI001 B 55 PI001 B
56 DB001 B 56 DB001 B
57 DB001 A 55 DB001 A
57 DB002 A 57 DB002 A
Setiap Atribut Memiliki Nama Unik
Nama
Nama
atribut Nama
TIDAK
atribut
atribut
unikunik UNIK
unik
12 75 80 12 75 80
13 76 78 13 76 78
14 89 58 14 89 58
15 60 90 15 60 90
16 75 86 16 75 86
Letak Atribut Bebas
NO_SISWA TES_1 TES_2 TES_2 TES_1 NO_SISWA
12 75 80 80 75 12
13 76 78 78 76 13
14 89 58 58 89 14
15 60 90 90 60 15
16 75 86 86 75 16
12 75
12 75 80
80
13 76 78 13 76
78
14 89 58 14 89
58
15 60 90 15 60
90
16 75 86 16 75
86
Setiap Atribut Berjenis Sama untuk Semua Baris
Semua atribut Jenis tidak
bernilai tunggal sama
12 75 80 12 75 80
13 76 78 13 Tujuh 78
puluh
14 89 58 enam
14 89 58
15 60 90
15 60 90
16 75 86
16 75 86
Apa Primary Key-nya? (1)
NO_KTP NO_KK NAMA
? ? ?
Apa Primary Key-nya? (2)
KODE_DEPARTEMEN NAMA_DEPARTEMEN
1 Akunting
2 EDP
3 Pemasaran
4 Produksi
Apa Primary Key-nya? (3)
NO_FAKTUR KODE_ITEM JUMLAH
456 K-1 2
457 K-5 1
459 K-1 3
459 K-2 1
460 K-8 5
Apa Primary Key-nya? (4)
SEMESTER TAHUN NO_MHS KODE_MKULIAH SKS
12345 L ARAB
12346 W
12347 L INGGRIS
12348 W INGGRIS
JERMAN
12349 W SPANYOL
Apa yang Salah? (2)
NO_PEGAWAI SEX BAHASA_ASING
12345 L ARAB
12346 W
12347 L INGGRIS
12348 W INGGRIS
12348 W JERMAN
Praktikum MySQL
Dasar MySQL
Abdul Kadir
Overview MySQL
• MySQL merupakan Database
Server yang bersifat :
• Open Source
• Multiplatform
• Berbasis database relasional
• Bisa dipakai untuk database
pribadi atau pada level korporat
berskala kecil hingga besar
• Selain bersifat free, ada juga yang
bersifat komersial
Overview MySQL
(Lanjutan…)
• Menggunakan SQL Perm intaan berupa
pernyataan seperti:
untuk mendukung SELEC T * FR O M bintang;
pengaksesan data
(query)
Klien S erver
H asil dari
perm intaan
Dasar SQL
• SQL = Structured Query Language
• Digunakan untuk mengakses basis data relasional
• Bersifat standar; bisa dipakai untuk basis data
relasional lainnya
• Perintah SQL dapat dibagi menjadi DDL dan DML
Perintah DDL
• DDL = Definition Data Language
• Digunakan untuk kepentingan penciptaan database,
tabel, hingga penghapusan database atau tabel
• Contoh:
• CREATE DATABASE
• CREATE TABLE
• DROP TABLE
• ALTER TABLE
Perintah DML
• DML = Data Manipulation Language
• Digunakan untuk memanipulasi data
• Contoh:
• SELECT – mengambil data
• DELETE – menghapus data
• INSERT – menyisipkan data
• UPDATE – mengubah data
Persiapan Pemakaian MySQL
• Lakukan instalasi MySQL terlebih dulu
• MySQL memiliki sejumlah tool; salah satu di
antaranya adalah:
• program mysql, yang dipakai untuk mengakses database
dari sisi klien
• Program mysqladmin, untuk mengelola MySQL dari sisi
administrator sistem
Masuk ke Direktori Program
• Masuk ke prompt DOS
• Ketik perintah:
cd c:\”Program Files”\MysQL\”MySQL Server 5.0”
• Berikan perintah cd bin
Mengatur Password root
• root adalah pemakai dengan wewenang paling tinggi
dan digunakan untuk admin sistem
• Perintah untuk mengubah password root:
mysqladmin –uroot password rahasia
Masuk ke Program Klien mysql
• Berikan perintah:
mysql –uroot –p
• Ketikkan password dan tekan Enter
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Pembuatan Database dan Tabel
Database: Pegawai
-Tgl_Lahir -Kode_Bag
-Sex -Gaji
-Alamat
-Kota
Membuat Database Pegawai
• Berikan perintah pada prompt mysql:
CREATE DATABASE Pegawai;
mysql>
Memilih Database
• Berikan perintah:
USE Pegawai;
Nama
Database
Membuat Tabel Pribadi
• Berikan perintah:
• DATE: Tanggal
• DATETIME: Waktu (tanggal dan jam)
• TIME : Jam
• ENUM(‘nilai1’, ‘nilai2’, …): Nilai enumerasi
• BOOLEAN: tipe benar atau salah
Kata Tambahan
• NOT NULL : Tidak boleh kosong
• PRIMARY KEY: Kunci primer
• AUTO_INCREMENT: Nilai naik secara otomatis tanpa
diisi
Penambahan Data
• Penambahan data dilakukan dengan menggunakan
pernyataan INSERT
• Bentuk dasar :
INSERT INTO nama_tabel (nama_field, nama_field, …)
VALUES (nilai, nilai, …);
• Contoh:
INSERT INTO Pribadi(Nip, Nama, Tgl_lahir, Sex, Alamat, Kota)
VALUES ('12345', 'A. Hamzah Sianturi', '1965/12/23',
'P', 'Jl. Kudus 1', 'Yogya');
Melihat Isi Tabel
• Perintah SELECT
• Bentuk Umum:
SELECT * FROM Nama_Tabel
• Contoh:
SELECT * FROM Pribadi
Penambahan Data (Lanjutan…)
• Tambahkan data berikut:
• Contoh:
DELETE FROM Pribadi
WHERE Nip = '12355';
SD Muhammadiyah I, Yogya
SMP Negeri I, Yogya
SMA Negeri III, Semarang
Latihan Gabungan
• Masukkan data berikut ke Tabel Pribadi:
• NIP: 12390
• Nama: Asti Damayanti
• Tanggal Lahir: 2 Februari 1983
• Jenis kelamin: Wanita
• Ubahlah Tanggal lahir Asti Damayanti menjadi 23
Februari 1973
• Cek hasilnya
Latihan Gabungan
(Lanjutan…)
• Hapuslah record yang berisi data Asti Damayanti
dengan menyebutkan namanya (bukan NIP)
• Ubahlah nama field Keterangan pada tabel Riwayat
menjadi Ket
Latihan Gabungan (Lanjutan…)
• Menambahkan Field:
ALTER TABLE Pribadi ADD Bisa_Bhs_Asing BOOLEAN
DEFAULT FALSE;
• Buatlah agar field baru tersebut bernilai TRUE untuk
NIP=12345, 12347, dan 12350
Klausa WHERE pada SELECT
• Bentuk: WHERE kondisi
• Contoh:
SELECT Nama FROM Pribadi WHERE Nip = “12345”;
NIP
Nama pegawai
Gaji
Nama bagian tempat pegawai bekerja
4. Ulangi soal di atas dengan hasil khusus yang gajinya di atas 1 juta.
5. Ulangi soal di atas dengan mengurutkan daftar berdasarkan nama
pegawai
1. select count(pribadi.nip) from pribadi,pekerjaan where
pribadi.nip = pekerjaan.nip;
???? select count(pribadi.nip) from pribadi,pekerjaan,riwayat
where pribadi.nip = pekerjaan.nip and pribadi.nip = riwayat.nip; ?????
• Jawaban
2. select count(Kode_Bag) from pekerjaan where kode_bag = '5';
3. Select
pribadi.nip,pribadi.nama,pekerjaan.gaji,pekerjaan.kode_bag,bagian.nama_bag
from pribadi,pekerjaan,bagian where pribadi.nip = pekerjaan.nip and
pekerjaan.kode_bag = bagian.kode_bag;
4. select
pribadi.nip,pribadi.nama,pekerjaan.gaji,pekerjaan.kode_bag,bagian.nama_bag
from pribadi,pekerjaan,bagian where pribadi.nip = pekerjaan.nip and
pekerjaan.kode_bag = bagian.kode_bag and gaji>1000000;
5. select
pribadi.nip,pribadi.nama,pekerjaan.gaji,pekerjaan.kode_bag,bagian.nama_bag
from pribadi,pekerjaan,bagian where pribadi.nip = pekerjaan.nip and
pekerjaan.kode_bag = bagian.kode_bag order by pribadi.nama;
• Jawaban soal baru
1. select nama,tgl_lahir from pribadi where tgl_lahir>='1970/01/01' and
tgl_lahir<='1972/12/31’;
2. select nama,kelamin,tgl_lahir from pribadi where kelamin='w' and not
tgl_lahir between '1971/01/01' and '1971/12/31’;
3. select pribadi.nip,pribadi.nama,pekerjaan.gaji from pribadi,pekerjaan
where pribadi.nip=pekerjaan.nip and gaji<1500000;
4. select nip,nama,kelamin,bhs_asing from pribadi where kelamin='w' and
bhs_asing='1’;
5. select nip,nama,kelamin,tgl_lahir from pribadi where not tgl_lahir between
'1969/01/01' and '1969/12/31’;
6. select pribadi.nip,pribadi.nama,pekerjaan.gaji from pribadi,pekerjaan
where pribadi.nip=pekerjaan.nip and gaji between '1000000' and '1500000’;
7. select nama,kelamin,bhs_asing from pribadi where kelamin='w' and
bhs_asing='1';
8. select pribadi.nama,pekerjaan.gaji from pribadi,pekerjaan where
pribadi.nip=pekerjaan.nip and gaji<=500000;
9. select nama,kelamin,bhs_asing from pribadi where bhs_asing='0’;
10. select nama,tgl_lahir,kota from pribadi where kota='yogya' or
tgl_lahir<'1980/01/01';