HAND OUT
DASAR TENTANG
DATABASE
Pengertian :
a.
“a collection of related data” (Elmazri & Navathe,
1994)
b.
“an organized collection of logically related data”
(McFadden, Hoffer, and Presscot, 2002)
c.
“a collection of data, typically describing the
activities of one or more related organizations” (Ramakrishnan & Gerke,
2000)
Beberapa definisi basis data
adalah sebagai berikut:
ü Sekumpulan data store(bisa dalam jumlah
besar) yang tersimpan dalam magnetic disk, optical disk, dan media penyimpan
sekunder lainnya.
ü Sekumpulan program-program aplikasi umum
yang bersifat “batch” yang mengeksekusi dan memproses data secara
umum(hapus,cari,update,dll)
ü Basis data terdiri dari data yang di-share
bagi banyak user dan memungkinkan penggunaan data yang sama pada waktu
bersamaan oleh banyak user
ü Koleksi terpadu dari data-data yang saling
berkaitan dari suatu enterprise.Mis. Basis data RS akan terdiri dari data-data
seperti pasien, karyawam, dokter, dan perawat
Pola
dalam penyimpanan data :
- Sistem
pemrosesan berkas tradisional.
a. tiap aplikasi memiliki berkas
sendiri sendiri
b. Dependensi data-program
Perubahan data membuat sejumlah program perlu dimodifikasi
c. Duplikasi data
Data yang sama muncul pada
beberapa berkas
d.
Keterbatasan berbagi data (Isolasi data - banyak format file)
e.
Waktu pengembangan lama
Perlu membuat program untuk mengakses data
f. Problem integritas (kekonsistensian)
Kekakangan integritas (misalnya saldo >)
menjadi bagian dari program
g.
Keamanan data tidak terjamin
Sistem penyimpanan dengan konsep database
Aplikasi database
: adalah program aplikasi yang digunakan untuk melaksanakan
sederet kegiatan yang ditentukan oleh
pemakai.
Keunggulan penerapan konsep
database
l
Independensi program-data
l
Meminimalkan redundansi data
l
Meningkatkan konsitensi data
l
Meningkatkan kemampuan berbagai data
l
Meningkatkan produktivitas pengembangan aplikasi
l
Meningkatkan pencapaian standarisasi
l
Meningkatkan kualitas data
l Meningkatkan tanggapan dan kemudahan akses
terhadap data
l
Mengurangi pemeliharaan program
Model dasar database
Hierarkis
Lebih
dikenal dengan model pohon
Jaringan
Tiap anak bisa memiliki lebih dari satu orang tua.
Relasional
Menggunakan
model berupa tabel berdimensi dua (yang disebut relasi atau tabel),Memakai
kunci tamu (foreign key) sebagai penghubung dengan tabel lain.
Konsep Dasar Database
ü Field
i.
Field merupakan implementasi dari suatu atribut data.
ii.
Field merupakan unit terkecil dari data yang
berarti(meaningful data) yang disimpan dalam suatu file atau basis data.
ü Record
i.
Field-field tersebut diorganisasikan dalam
record-record
ii.
Record
merupakan koleksi dari field-field yang disusun dalam format yang telah
ditentukan.
iii.
Selama desain sistem, record akan diklasifikasikan
sebagai fixed-length record atau variable-length record.
1.
Fixed-length record: tiap instance record punya field,
jumlah field, dan ukuran logik yang sama
2.
Variable-length record : mengijinkan record-record yang
berbeda dalam file yang sama memiliki panjang yang berbeda.
ü File
dan Tabel
i.
Record-record yang serupa diorganisasikan dalam
grup-grup yang disebut file. Jadi file merupakan kumpulan semua kejadian dari
struktur record yang diberikan.
ii.
Tabel merupakan ekivalen basis data relasional dari
sebuah file.
Beberapa operasi dasar yang dilakukan oleh aplikasi
database:
- Menambah data
- Membaca data
- Mengubah data
- Menghapus data
Kunci (Key)
Kunci merupakan
elemen record yang dipakai untuk menemukan record tersebut pada waktu akses
atau bisa digunakan untuk identifikasi tiap record.
Jenis-jenis kunci :
ü Superkey
ü Candidat
key
ü Primary
key
ü Alternate
key
ü Foreign
key
ü External
key
Superkey : kumpulan atribut dari
suatu tabel yang dapat digunakan untuk mengidentifikasi entity atau record dari
tabel tersebut secara unik
Candidate key : superkey dengan
jumlah atribut minimal. Candidat key ini tidak boleh berisi atribut dari tabel
yang lain
ID_Cus
|
Name
|
NoOfPay
|
Amount
|
112233
|
Tim
|
890
|
9000
|
112231
|
Kate
|
891
|
8000
|
112241
|
Tyson
|
895
|
10000
|
Primary key :Salah satu atrribut
dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb :
- Key tersebut lebih natural untuk dijadikan acuan
- Key tersebut lebih sederhana
- Key tersebut cukup uniqe
Alternate key :Setiap atribut
dari candidate key yang tidak terpilih sebagai primary key akan dinamakan
alternate key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus
maka alternate key nya adalah No.of Pay
Foreign key : merupakan sembarang
atribut yang menunjuk kepada primary key pada tabel lain.
- Akan terjadi pada suatu relasi yang memiliki kardinalitas
one to many atau many to many
KODE
|
MK
|
SKS
|
KD-Dosen
|
TEL 100
|
Fisika
|
3
|
D-101
|
TEL 200
|
Isyarat
|
2
|
D-109
|
TEL 210
|
T.Kendali
|
2
|
D-101
|
KD-Dosen
|
Nama_Dosen
|
D-100
|
Badu,S.T
|
D-101
|
Ir.Thomas
|
D-109
|
Harry,S.T,M.T
|
Tahap
Perancangan Database
n
Perancangan secara konseptual
n
Diagram konteks
n
DFD
n
Model ER
n
Perancangan secara logis
n
Translasi model ER ke Model Relasional
n
Perancangan secara fisik
n
Penciptaan database, relasi, dan hal-hal
terkait ke dalam bentuk fisik
Diagram Konteks
Merupakan gambaran kasar aliran informasi dan data
yang akan dilakukan oleh system database yang akan dirancang. Contoh
diagram konteks :
Diagram ini hanya menjelaskan secara umum gambaran
aliran konteks dari rancangan system yang akan dibuat.
DFD ( Data
Flow Diagram )
Gambar diatas merupakan contoh DFD. DFD merupakan
detail rancangan dari diagram konteks yang sudah dibuat yang sudah memuat
rancangan table database yang akan diimplementasikan pada database yang akan dibuat.
Diagram E-R ( Entity
Relational ).
l ERD merupakan model jaringan yang
menggunakan susunan data yang disimpan dalam sistem secara abstrak
l Diagram E-R berupa model data konseptual,
yang merepresentasikan data dalam suatu organisasi.
l ERD menekankan pada struktur dan
relationship data, berbeda dengan
DFD(Data Flow Diagram) yang merupakan model jaringan fungsi yang akan
dilaksanakan sistem
l Biasanya digunakan oleh profesional sistem
untuk berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan
yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih
kepada :
l Data apa saja yang diperlukan untuk bisnis
mereka?
l
Bagaimana data tersebut berelasi dengan data
lainnya?
l Siapa saja yang diperbolehkan mengakses
data tsb?
Notasi Yang digunakan pada perancangan E-R diagram
Contoh ER diagram terlampir.
Latihan :
a. Perancangan diagram E-R.
Rancanglah diagram E-R dari kasus aplikasi database sederhanauntuk sistem
informasi akademis suatu universitas.
Dengan ketentuan sebagai berikut :
Entities yang dimuat adalah :
1.
mahasiswa: menyimpan semua informasi pribadi
mengenai semua mahasiswa
2. dosen: menyimpan semua informasi pribadi mengenai semua
dosen
3. mata_kuliah: menyimpan semua informasi mengenai semua mata
kuliah yang ditawarkan
4. ruang: menyimpan semua informasi mengenai ruang kelas
yang digunakan
Normalisasi
·
Normalisasi
merupakan teknik analisis data yang
mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga
terbentuk entitas yang non-redundant,
stabil, dan fleksible
·
Normalisasi
dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk
menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses
insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa
mempengaruhi integritas data dalam relasi tersebut.
Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan
tiga tahap normalisasi antara lain :
1. Bentuk Normal ke Satu(1NF)
a.
Syarat :
b. Tidak ada set atribut yang berulang atau
bernilai ganda.
c.
Telah ditentukannya primary key untuk tabel atau
relasi.
d.
Tiap atribut hanya memiliki satu pengertian.
e.
Tiap atribut yang dapat memiiki banyak nilai sebenarnya
menggambarkan entitas atau relasi yang terpisah.
2.
Bentuk Normal ke Dua(2NF)
a.
Syarat :
b. Bentuk data telah memenuhi kriteria bentuk
normal ke satu.
c.
Atribut bukan kunci(non-key attribute) haruslah
memiliki ketergantungan fungsional sepenuhnya pada primary key
3. Bentuk Normal ke Tiga(3NF)
a.
Syarat :
b. Bentuk data telah memenuhi kriteria bentuk
normal ke dua.
c. Atribut bukan kunci(non-key attribute)
tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci
lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki
ketergantungan fungsional terhadap primary key di relasi itu saja.
Contoh Normalisasi pada beberapa tingkatan.
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai
bentuk normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam
bentuk normal ke Satu(1NF).
|
|
|
|
|
|
|
|
|
|
|
|
Belum memenuhi kriteria 3NF,
Karena atribut non-key Nilai
dan
Bobot masih memiliki
ketergantu-
ngan fungsional.
|
|
|
|
|
Bentuk Normal 3 NF3
SQL (Structure
Query Language).
merupakan bahasa yang digunakan untuk melakukan rekayasa terhadap data pada
database, mulai dari memasukkan, mengganti, dan menampilkan data pada database.
untuk lebih detail akan dibahas pada modul praktikum.
Implementasi E-R diagram dengan tools
Saat ini telah tersedia beberapa tools yang bisa
digunakan untuk membuat desain ERD dan secara otomatis bisa di generate ke
bentuk tabel database secara otomatis. Diantaranta adalah DB Designer, dan DB
Wrench. Tools ini akan dipelajari secara lebih detail pada praktikum.
Contoh ERD
Pengenalan
PostgreSQL
PostgreSQL
atau sering disebut Postgres merupakan salah satu dari sejumlah database besar
yang menawarkan skalabilitas, keluwesan, dan kinerja yang tinggi. Penggunaannya
begitu meluas di berbagai platform dan didukung oleh banyak bahasa pemrograman.
Bagi masyarakat TI (teknologi informasi) di Indonesia, Postgres sudah digunakan
untuk berbagai aplikasi seperti web, billing system, dan sistem
informasi besar lainnya.
Karakteristik PostgreSQL
1. PostgreSQL adalah sebuah
object-relational database management system (ORDBMS)
2. Bersifat open source
3. Mendukung standar SQL92 dan SQL99
4. Mendukung bahasa pemrograman C, C++,
Java, Tcl, Perl, Python, PHP, dst.
Arsitektur PostgreSQL
1. Berbasis Client-Server.
2. Backend software untuk database
server (server-side): Postmaster
3. Frontend software (client-side):
a. psql (disediakan dalam paket PostgreSQL)
b. Client berbasis GUI (PgAdmin,
PgAccess, ApplixWare, dsb.)
c. Client berbasis Web (phpPgAdmin)
d. Buat aplikasi sendiri (C, C++, Java, PHP,
dsb.)
http://ebsoft.web.id/2008/04/24/akhirnya-avg-anti-virus-free-edition-80-di-release-juga/