Basis data - Universitas Dian Nuswantoro

advertisement
Kusumodestoni (P. Toni)
Hp. 085 640 11 58 65
[email protected]
Jl. KH. Hasyim As’ari no.3 Ungaran

Lahir di Purbalingga, 22 Desember 1986

SDN 2 Poka, Ambon

SMPN 6, Purwokerto

SMA Jurusan IPA, Ungaran

S1, T. Informatika UDINUS, Semarang (2009)

S2, T. Informatika UDINUS, Semarang (2012)

UNISNU, Universitas Islam NU Jepara (Dosen Tetap)

UDINUS, Universitas Dian Nuswantoro (Dosen Tidak Tetap)
1.
Kuliah
2.
Diskusi
3.
Tanya Jawab
4.
Praktek
5.
Tugas
1.
Ujian Akhir Semester (UAS)
:
30%
2.
Ujian Tengah Semester (UTS) :
30%
3.
Tugas Mandiri
40%
4.
Keaktifan Mahasiswa / Kehadiran
:
1.
Pakaian
2.
Kehadiran 75%
3.
Curang Dalam Ujian : E
4.
Ijin Lewat SMS : 1x sebelum UTS & 1x stlh UTS
5.
Ujian Susulan :

Mempunyai kartu peserta ujian (UTS / UAS)

Membawa surat keterangan tidak bisa ikut ujian

Mahasiswa yang dapat mengikuti ujian susulan:
Mendapatkan tugas dari fakultas
Sakit dan sedang rawat inap
Ada keluarga yang meninggal (surat kematian)

Tidak ada alasan lain untuk bisa ikut ujian susulan

Ajukan permohonan ke panitia pelaksana ujian

Yang menentukan boleh dan tidaknya mengikuti
ujian susulan adalah Panitia Pelaksana Ujian bukan
Dosen

Ujian susulan dilakukan 1 kali, maksimal 4 hari
setelah ujian berakhir dan serempak untuk semua
mata kuliah

Bagi yang nilainya kurang memuaskan dan
melakukan remidi, belum tentu nilainya akan
naik/berubah
Kurikulum Manajemen S-1 (Komputer)
No
Semester Gasal
Semester Genap
1 Pengantar Teknologi Informasi P 2 1 Algoritma dan Pemrograman 1
T
3
2
2 Sistem Basis Data
T 2 3 Algoritma dan Pemrograman 2 (Delphi)
P
2
2
P 2 5 Pemrograman Aplikasi 1 (V.Basic)
P
2
4
3
Pemrograman Aplikasi 2
(Foxpro)
4
Praktek Basis Data (Mysql)
P
2
4
5
Analisa dan Perancangan Sistem
T
3
6
Mata kuliah ini berisi implementasi
dari materi yang telah disampaikan
dalam mata kuliah Sistem Basis
Data.
DEFINISI BASIS DATA
 Basis : gudang/markas/tempat
berkumpul/tempat bersarang ( Tempat
Penyimpanan )
 Data : representasi fakta dunia nyata yang
mewakili suatu obyek (manusia, benda, kejadian,
dll) yang disimpan dalam bentuk teks, angka,
gambar, bunyi, simbol, atau kombinasinya
 Basis data : kumpulan data yang saling
berhubungan yang diorganisasikan sedemikian
rupa sehingga kelak dapat dimanfaatkan
sedemikian rupa dan disimpan dalam media
penyimpan elektronik
Berbagai Definisi Basis Data
Silberschatz, dkk (2002),
Stephens dan Plew ;2000
-Kumpulan data berupa
Informasi
-Menyimpan Informasi dan data
Mc Leod, dkk (2001),
Ramakrishnan dan Gehrke
(2003)
- kumpulan seluruh sumber
daya berbasis komputer
Definisi
Basis Data
-Kumpulan data yg
mendiskripsikan aktivitas
Kesimpulan ?
Basis data didefinisikan sebagai sekumpulan
data yang saling berhubungan, disimpan
dengan minimum redundansi untuk melayani
banyak aplikasi secara optimal sehingga
menghasilkan Informasi.
Apa Itu Basis Data
file1
file2
file4
file3
Input-Proses-Ouput
Data
Formulir
Input Data
Proses
Informasi
Contoh Informasi
Tentang Penjualan mobil PT. Jaya Mobil periode 2000-2003
Data Penjualan Mobil PT. Jaya Mobil
Tahun 2000-2003
1200
1000
Unit
800
Taruna
600
Kijang
400
200
0
2000
2001
2002
2003
Tahun
Gambar 1.1. Grafik penjualan mobil periode 2000-20003
Gambar 1.1.
Tabel Mahasiswa
nim
nim
Nama_mhs
Mahasiswa
N
Nama_mhs
Alamat_mhs
Tgl_lahir
alamat_mhs
Tgl_lahir
Tabel Mempelajari/Tabel Nilai
nim
Kode_kul
nim
Kode_kul
Indeks_nilai
Tabel khusus
yang mewakili
himpunan relasi
mempelajari
Indeks_nilai
N
Tabel Kuliah
Kode_kul
Kuliah
Nama_kul
semester
sks
Kode_kul
Nama_kul
sks
semester
Entity Relationship Diagram
(ERD)


ERD adalah suatu diagram yang
menggambarkan hubungan antar entity di
dalam database.
Skema tentang diagram pertama kali
diresmikan oleh Charles Bachman pada tahun
1960-an, yang menggunakan kotak segi
empat untuk menunjukkan tipe-tipe record
dan tanda panah dari satu record ke record
lain untuk menunjukkan hubungan one-tomany.


ERD digunakan untuk memodelkan
struktur data dan hubungan antar data.
Dengan ERD kita mencoba menjawab
pertanyaan seperti : data apa yang kita
perlukan? Bagaimana data yang satu
berhubungan dengan yang lain.


Adalah objek dalam dunia nyata, berupa
- Object fisik : Rumah, manusia, Kendaraan,
Peralatan, dll
- Object Konsep : Pekerjaan, Perusahaan,
Rencana, kasus, dll
Adalah suatu objek yang dapat dibedakan atau
dapat diidentifikasikan secara unik dengan
objek lainnya, dimana semua informasi yang
berkaitan dengannya dikumpulkan. Kumpulan
dari entity yang sejenis dinamakan Entity Set

Berfungsi untuk mendeskripsikan
karakter entity atau relationship.
Misal entity pegawai memiliki atribut
nik, nama, alamat, nohp,dll

Menggambarkan hubungan antara
satu atau lebih entity, yang
digambarkan dalam bentuk diamond.
Biasanya menunjukkan hubungan:
one-to-one, one-to-many, dan many-
to-many
• Entity
• Atribut
*noktp
nama
alamat
tgl_lahir
jeniskelamin
status
nohp
foto
• Atribut
*nomesin
noplat
model
merk
harga
warna
thn_pembuatan


Entitas Lemah (Weak Entity)
Berisi entitas yang kemunculannya
tergantung pada eksistensinya dalam
sebuah relasi.misal entitas Mahasiswa orang tua & hobby, pegawai tanggungan.
Entitas kuat (Strong Entity)
Entitas yang berdiri sendiri,
keberadaannya tidak tergantung dengan
entitas lain.
Entitas kuat (Strong Entity)
Entitas Lemah (Weak Entity)
NIP
nama
Nama
Pegawai
miliki
status
Tanggungan
Entity
Atribut Multivalue
Relationship
Atribut
Atribut Composite
Weak Entity
Identifying Relationship
Atribut key
Atribut Derivatif





Atribut Key - atribut yang digunakan untuk
membedakan data secara unik.misal nik, nim,
no_peserta.
Atribut Simple – atribut bernilai tunggal, misal nama,
harga, status.
Atribut Multivalue - atribut memiliki sekelompok nilai
yang banyak, misal gelar, hobby.
Atribut Composite – atribut yang masih dapat
diuraikan lagi, misal alamat, korban, waktu.
Atribut Derivatif – atribut yang dihasilkan dari turunan
atribut lain, misal umur dari tanggal lahir.
Atribut Key
nama
alamatlengkap
Tgl_lhr
Id_pegawai
PEGAWAI
idruang
nohp
jk
Gol_drh
agama
foto
kapasitas
RUANG
Namaruang
lokasi
Atribut Simple
idbarang
Nama
BARANG
Kualitas
Harga
Atribut Multivalue
agama
Gelar
Tgl_lhr
PEGAWAI
Atribut Composite
namatengah
namadepan
namabelakang
nama
Tgl_lhr
PEGAWAI
Atribut Derivatif
agama
umur
Tgl_lhr
PEGAWAI
1.
Unary ( Derajat Satu )
Adalah satu buah relationship
menghubungkan satu buah entity.
Contoh :
Manusia
Menikah
Keterangan :
Manusia menikah dengan manusia,
relationship menikah hanya menghubungkan
entity manusia.
2.
Binary ( Derajat Dua )
Adalah satu buah relationship
yang menghubungkan dua buah
entity.
Contoh :
Pegawai
Memiliki
Kendaraan
Keterangan :
Pegawai memiliki kendaraan, sebuah
relationship memiliki mengubungkan entity
Pegawai dan entity Kendaraan.
3.
Ternary ( Derajat Tiga )
Adalah satu buah relationship
menghubungkan tiga buah entity.
Pegawai
Contoh :
Bekerja
Proyek
Kota
Keterangan :
Pegawai pada kota tertentu mempunyai suatu Proyek.
Bekerja mengubungkan Entity Pegawai, Proyek dan
Kota

One to One
Hubungan satu ke satu. Contoh seorang
Dosen mengepalai satu jurusan.
NIP
Kd_mk
Nama
1
Pegawai
jenis
1
miliki
Kendaraan Dinas

One to Many
Hubungan satu ke banyak. Contoh
seorang Pelanggan membeli beberapa
mobil.
No_KP
No_Mesin
Nama
1
Pelanggan
Merk
n
Membeli
Mobil

Many to Many
Hubungan banyak ke banyak. Contoh
mahasiswa mengambil matakuliah.
Nim
Kd_mk
Nama
n
mahasiswa
Nm_mk
m
ambil
Matakuliah
1
Fakultas
n
Daftar
Mahasiswa
1
n
miliki
ambil
m
n
Dosen
1
ajar
n
Mata Kuliah
Tabel Mahasiswa
nim
nim
Nama_mhs
Mahasiswa
N
Nama_mhs
Alamat_mhs
Tgl_lahir
alamat_mhs
Tgl_lahir
Tabel Mempelajari/Tabel Nilai
nim
Kode_kul
nim
Kode_kul
Indeks_nilai
Tabel khusus
yang mewakili
himpunan relasi
mempelajari
Indeks_nilai
N
Tabel Kuliah
Kode_kul
Kuliah
Nama_kul
semester
sks
Kode_kul
Nama_kul
sks
semester
Mahasiswa dapat:
Mengetahui, Memahami, dan
Mengimplementasi teori Basis data ke
dalam Mysql (Menciptakan, merubah,
menghapus serta memanipulasi database dan isinya).
1. Pertemuan ke : 1
Memahami dan memiliki pengetahuan tentang Mysql.
(Pengenalan Mysql, Bagaimana Menjalankan Mysql,
melihat tanggal dan waktu dalam Mysql, Mysql untuk
perhitungan).
2. Pertemuan ke : 2 s/d 3
Mengetahui tentang Database dalam Mysql. (Membuat
database, melihat data base, menghapus database, membuat
tabel dan melihat tabel).
3. Pertemuan ke : 4 s/d 5
Mengetahui secara umum bahasa dalam SQL. (DDL
(Data Definition language), DML (Data Manipulation
Language), DCL(Data Control Language))
4. Pertemuan ke : 6 s/d 7
Mengetahui bagaimana mengelola tabel dalam Mysql.
(Membuat tabel, mengubah struktur tabel, mengganti
nama tabel, menghapus tabel, memasukkan data,
membuat kunci)
5. Pertemuan ke : 8 s/d 9
Memahami bagaimana mengakses data dalam Mysql
(Perintah Select, Klausal into, Klausal from, Klausal where,
Group by, Having, Klausal order by, Super Aggregate).
6. Pertemuan ke : 10 - 12
Dapat memahami bagaimana menggabungkan beberapa
tabel (Operator Join, Operator Relasi, Operator Between,
Operator Like, Inner Join, Cross Join, Operator Union.
7. Pertemuan ke : 13 - 14
Dapat memahami bagaimana mengubah data
dalam Mysql (Menambah data dengan insert,
menambah data dengan select Into, mengubah
data dengan Update set, klausal where untuk
mengubah data, Klausal From untuk mengubah
data, menghapus data dengan delete from.
1.
Aripin , Modul Praktikum Basis Data, Semarang,
2003.
2.
Adi Nugroho “Konsep Pengembangan Sistem
Basis Data, Penerbit Informatika, Bandung.
3.
Inge Martina, Ir, “Microsoft SQL Server 2000”,
Penerbit PT. Elex Media Komputindo, Jakarta.
4.
Arbie, “Manajemen Database dengan Mysql”,
Penerbit Andi Yogyakarta, 2004.
Memahami Pengetahuan
tentang SQL
(Stucture Query Language)
Pengenalan SQL
 SQl singkatan dari Structured Query
Language yang merupakan bahasa
komputer standar ANSI (American
National Standards Institute).
 SQL
Berfungsi
pemrograman
sebagai
basis
data
bahasa
yang
digunakan utk mengolah database.

Dengan SQL kita dapat
◦ Membuat basis data dan struktur tabel
◦ Input, update, dan delete data dari tabel
◦ Membuat query sederhana dan kompleks SQL

SQL tersedia dalam banyak versi Ms.Access,
DB2, MS SQL server, Oracle, MySQL, Sysbase,
WampServer, XampServer,dll.
My SQL
My SQL adalah sebuah database yang
berfungsi untuk penyimpanan data dalam
sebuah website.
Dasar-dasar Perintah My SQL
1.Membuat Database
CREATE DATABASE [nama_database] –>
contoh :
CREATE DATABASE db_Data_Mahasiswa;
2. Menghapus Database
DROP [nama_database] –>
contoh :
DROP db_Data_Mahasiswa;
3. Memakai Database
USE [nama_database] –>
contoh : USE db_Data_Mahasiswa;
4. Membuat Tabel
CREATE TABLE
[nama_tabel]
(
[nama_kolom] [tipe_data] [nul / not null],
[nama_kolom] [tipe_data] [nul / not null],
)
contoh :
CREATE TABLE tbl_mahasiswa;
(
nim int NOT NULL PRIMARY KEY;
nama vachar(25);
nilai vachar(1);
kota_asal vachar(20);
)
5. Mengisi Tabel
INSERT [nama_tabel] VALUES
( ['isi_kolom1' , 'isi_kolom2', dst ] )
contoh :
INSERT tbl_mahasisw (nim,nama,kota_asal)
VALUES ( 682003001, ‘Roy’ , ‘Jambi’ );
6. Menampilkan Isi Tabel
SELECT * FROM [nama_tabel];
contoh :
SELECT * FROM tbl_mahasiswa;
7. Menghapus Tabel
DELETE FROM [nama_tabel] WHERE [syarat];
contoh :
DELETE FROM tbl_mahasiswa WHERE nama
= ‘Roy’ ;
Menghapus Seluruh Isi Tabel :
DROP TABLE [ nama_tabel] –> DROP TABLE
tbl_mahasiswa;
8. Memperbaharui Isi Tabel
UPDATE [nama_table] SET [nama_kolom]
value WHERE [syarat] ;
contoh :
UPDATE tbl_mahasiswa SET nilai =’A’
WHERE nim=682003001;
Ada 2 (dua) jenis perintah dasar di dalam MySQL, yaitu DDL (Data
Definition Language) dan DML (Data Manipulation Language)
1. DDL
Adalah perintah-perintah yang biasa digunakan untuk
mendefinisikan skema ke dalam DBMS, skema adalah deskripsi
lengkap tentang struktur tabel, rekaman, dan hubungan data pada
basis data. contoh : create…
2. DML
Adalah Perintah-perintah yang digunakan untuk mengubah,
memanipulasi dan mengambil data pada basis data. Tindakan
meghapus (delete), mengubah (update) dan mengambil data
adalah bagian dari DML. Contoh : insert, delete
Ada 3 (tiga) kelompok besar tipe data yang dikenal di dalam Mysql :
1. NUMERIC
Jenis data angka, di dalamnya akan diklasifikasi kembali menjadi
pecahan (float, single, double) dan bilangan bulan (integer,
decimal).
2. STRING
Jenis data alphanumeric, bisa menampung gabungan dari angka,
huruf maupun symbol yang diperbolehkan.
3. DATE
Jenis data dengan aturan satuan waktu, tahun, bulan, hari, jam
menit serta detik bisa disimpan menggunakan jenis data ini.
Tipe Data
Integer atau Int [(m)]
Keterangan
Signed value : -2147683648 to 2147683647
Ukuran
4 byte
Unsigned value : 0 to 4294967295
Decimal atau Dec (M,D) Bilangan desimal dengan nilai tergantung besaran M dan D
M byte
Tinyint [(m)]
1 byte
Signed value : -128 to 127
Unsigned value : 0 to 255
Smallint [(m)]
Signed value : -32768 to 32767
2 byte
Unsigned value : 0 to 65535
Mediumint [(m)]
Signed value : -8388608 to 838860
3 byte
Unsigned value : 0 to 16777215
Begint [(m)]
Signed value : - 922337203685477808 to
9223372036854775807
8 byte
Unsigned value : 0 to 18446744073709551615
Float (m,d)
Bilangan pecahan presisi tunggal
4 byte
Double [(m,d)]
Bilangan pecahan presisi ganda
8 byte
Tipe Data
Keterangan
Char atau
character
A Fixed-length character string : menyatakan deretan
karakter (string) yang lebarnya tetap yaitu maksimum
adalah 255 karakter
Varchar
A variable-length character string : Data string dengan
lebar data yang bervariasi (M), Maksimum lebar
adalah 255 karakter
Tinyblob
A very small BLOB (binary large object)
BLOB
A small BLOB
Mediumblob
A medium-sized BLOB
Longblob
A large BLOB
Tipe Data
Keterangan
Ukuran
Date
Digunakan untuk tanggal dengan format "YYYY-MM-DD"
Range nilai : "1000-01-01" s.d "9999-12-31"
3 byte
Time
Digunakan untuk waktu dengan format "hh:mm:ss" Range
nilai : -838:59:59" s.d "838:59:59"
3 byte
Datetime
Digunakan untuk tanggal dan waktu dengan format "YYYYMM-DD hh:mm:ss" Range nilai :"1000-01-01 00:00:00" s.d
"9999-12-31 23:59:59"
8 byte
Time stamp
Digunakan untuk penulisan tanggal dan waktu dengan
format "YYYYMMDDhhmmss"
4 byte
Year
Digunakan untuk penulisan tahun dengan format "YYYY"
Range nilai : 1901 s.d 2155
1 byte
Tipe Data
+
*
/
%
Keterangan
Penjumlahan
Pengurangan
Perkalian
Pembagian
Mencari sisa hasil bagi
Tipe Data
=
>
<
>=
<=
<>
!=
Is Null
In
Not in
Regexp
Keterangan
Sama dengan
Lebih besar dari
Lebih kecil dari
Lebih besar dari atau sama dengan
Lebih kecil dari sama dengan
Tidak sama dengan
Tidak sama dengan
Apakah semua nilai adalah null
Apaah semua nilai berada di dalam pilihan yang ada
Apaah semua nilai tidak berada di dalam pilihan yang ada
Singkatan dari Reguler Expression, Nilai menjadi benar
(true) bila nilai a sama dengan nilai b
START > Run… (Putty) [Enter]
Host Name : 192.168.10.250
Protokol : SSH
NIM
Login as : b11xxyyyyy [Enter]
Contoh : b110801234 [Enter]
Password : a [Enter]
[b1108 [email protected]~]$ mysql [Enter]
Catatan :


Ketikkan perintah pada console , diakhiri dengan tanda “;”
(titik koma) dan eksekusi dengan menekan tombol [Enter]
Perhatikan penulisan huruf kecil / besar karena akan dianggap
berbeda (case sensitive)
Ketik : help; atau \h atau \? Lalu [Enter]
Contoh : mysql> \h [Enter]
Ketik : \c Lalu [Enter]
Contoh : mysql> salah perintah ………
 \c [Enter]
Ketik : \q atau quit atau exit Lalu [Enter]
Contoh : mysql> \q [Enter]
Tabel Mahasiswa
nim
nim
Nama_mhs
Mahasiswa
N
Nama_mhs
Alamat_mhs
Tgl_lahir
alamat_mhs
Tgl_lahir
Tabel Mempelajari/Tabel Nilai
nim
Kode_kul
nim
Kode_kul
Indeks_nilai
Tabel khusus
yang mewakili
himpunan relasi
mempelajari
Indeks_nilai
N
Tabel Kuliah
Kode_kul
Kuliah
Nama_kul
semester
sks
Kode_kul
Nama_kul
sks
semester
Tabel MAHASISWA
Nama Kolom
nim
nama_mhs
alamat_mh
tgl_lahir
Tipe Data
CHAR
VARCHAR
VARCHAR
DATE
Lebar
12
40
50
Null?
NOT
NULL
Kunci
Primary Key
Tabel MEMPELAJARI
Nama Kolom
nim
kode_kul
indeks_nilai
Tipe Data
CHAR
CHAR
CHAR
Lebar
12
5
1
Null?
NOT
NULL
Kunci
Primary Key
Tabel KULIAH
Nama Kolom
kode_kul
nama_kul
sks
semester
Tipe Data
CHAR
VARCHAR
VARCHAR
VARCHAR
Lebar
5
10
3
2
Null?
NOT
NULL
Kunci
Primary Key
Rumus: CREATE DATABASE <nama database>; Lalu [Enter]
Contoh : Buat database PERKULIAHAN
mysql> CREATE DATABASE PERKULIAHANDB; [Enter]
Rumus: SHOW DATABASES; Lalu [Enter]
Rumus: USE <namadatabase>;
Contoh : USE PERKULIAHANDB;
Rumus: DROP DATABASE IF EXISTS <namadatabase>; Lalu [Enter]
Contoh : DROP DATABASE IF EXISTS PERKULIAHANDB; [Enter]
Tabel MAHASISWA
Nama Kolom
Tipe Data
Lebar
Null?
Kunci
CHAR
12
NOT NULL
Primary Key
nama_mhs
VARCHAR
40
alamat_mh
VARCHAR
50
nim
tgl_lahir
DATE
Rumus: CREATE DATABASE <nama database>; Lalu [Enter]
Contoh : Buat database B110801234
mysql> CREATE DATABASE B110801234DB; [Enter]
Rumus: SHOW DATABASES; Lalu [Enter]
Rumus: USE <namadatabase>; Lalu [Enter]
Contoh : USE B110801234DB; [Enter]
Rumus: DROP DATABASE IF EXISTS <namadatabase>; Lalu [Enter]
Contoh : DROP DATABASE IF EXISTS B110801234DB; [Enter]
1.
Buatlah database dengan nama berikut ini :
a.
latihan1db
b.
latihan2db
c.
latihan3db
2.
Kemudian hapus database latihan3db dan latihan1db
3.
Pastikan database latihan1db tidak terhapus dengan melihat
tampilan dalam daftar nama database menggunakan perintah
SHOW DATABASES;
Rumus:
CREATE TABLE <nama tabel> (
<field> <tipe data>,
<field> <tipe data>,
…
) [TYPE = <tipe tabel>];
Contoh :
CREATE TABLE MAHASISWA (
nim INT NOT NULL AUTO_INCREMENT,
nama_mhs VARCHAR (30),
alamat_mhs VARCHAR (40),
PRIMARY KEY (nim)
) TYPE = innodb;
TYPE=InnoDB merupakan perintah agar tabel yang dibuat
memiliki mesin penyimpanan InnoDB. Jika anda tidak
menyertakan perintah tersebut, maka tabel akan disimpan dalam
mesin penyimpanan MyISAM
Rumus:
DROP TABLE IF EXISTS <nama tabel>;
CONTOH
DROP TABLE IF EXISTS MAHASISWA;
Download