Pemodelan Database

advertisement
Pemodelan Database
Akses Data dengan ADO.NET
Untuk menampilkan data dari database menggunakan ADO.NET dilakukan
urut-urutan sebagai berikut:
1. Membuka koneksi ke database dengan obyek Connection.
2. Melancarkan perintah SQL dengan obyek Command.
3. Tersedia 2 pilihan untuk menampilkan data, yaitu dengan DataSet
atau DataReader. Obyek DataSet digunakan apabila Anda akan
melakukan proses update dan manipulasi data di client. Sedangkan
jika data hanya ditampilkan (read only) atau eksekusi perintah tanpa
menampilkan data maka digunakan DataReader.
4. Mengkaitkan data DataReader atau DataSet ke web control, misalnya
DataGrid.
5. Menutup koneksi yang sudah tidak terpakai.
Suatu bahasa pemrograman, disebut sebagai bahasa yang
mendukung pemrograman berorientasi obyek/Object Oriented
Programming (OOP) jika dapat mendukung kriteria sebagai berikut :
- Abstraksi (Abstraction)
- Enkapsulasi (Encapsulation)
- Polimorfisme (Polymorphism)
- Pewarisan (Inheritance)
Abstraksi adalah menerjemahkan permasalahan ke dalam obyek abstrak
yang merepresentasikan permasalahan tersebut
Contoh :
1. Bagaimana kita dapat menerjemahkan permasalahan / memodelkan :
pembayaran tagihan ?
2. Bagaimana kita dapat menerjemahkan permasalahan / memodelkan :
membersihkan rumah
Definisi OOP
Ada dua metode dalam mendesain dan membuat
konstruksi perangkat lunak yaitu pemrograman
terstruktur dan pemrograman berorientasi objek.
OOP adalah metode pemrograman di mana
pengembang tidak hanya mendefinisikan tipe data
dari struktur data tetapi juga tipe dari operasi
(fungsi) yang dapat diaplikasikan ke struktur data.
Pada cara ini struktur data menjadi objek yang
memiliki data dan fungsi. Pengembangpun dapat
membuat relasi antara suatu objek dengan lainnya.
Salah satu keunggulan OOP dibandingkan teknik
pemrograman terstruktur adalah OOP memungkinkan
pengembang untuk membuat modul yang tidak perlu
berubah ketika suatu tipe objek yang baru
ditambahkan.Pengembang dapat membuat suatu
objek baru yang mewarisi beberapa fitur dari objek
yang sudah ada. Hal ini membuat OOP mudah
dimodifikasi.
Suatu bahasa pemrograman dikatakan mendukung
secara penuh OOP jika memilki semua fitur berikut ini:
a. Abstraction.
Abstraksi merupakan kemampuan suatu bahasa
pemrograman untuk mengubah suatu konsep menjadi
representasi abstrak dari konsep dalam suatu program.
Contohnya objek pelanggan adalah representasi abstrak
dari pelanggan dalam dunia nyata. Suatu objek recordset
merupakan representasi abstrak dari sekumpulan data.
b. Encapsulation.
Merupakan konsep untuk memisahkan interface (kumpulan dari
method, property atau event yang saling berhubungan) dengan
implementasinya.
Tujuannya
sebenarnya
untuk
menyembunyikan property dan method dari suatu objek, dan
hanya menampilkan method / property yang dibutuhkan.
Property / method yang ditampilkan dari suatu objek dikenal
dengan istilah interface. Melalui interface inilah suatu objek
dapat digunakan.
c. Polymorphism
Memungkinkan pengembang memakai method yang sama
pada class– class yang berbeda dan memungkinkan method
yang tepat dieksekusi berdasarkan konteks yang
memanggilnya.
d. Inheritance
Kemampuan untuk membentuk class turunan yang mewarisi
property dan method dari class induk (base class). Sebagai
contoh, kita membentuk suatu class employee, dimana di dalam
class ini kita mempunyai property : Nama dan Gaji dan satu
buah method yaitu Speak.
Enkapsulasi berarti menyembunyikan detail obyek terhadap program yang
menggunakan obyek tersebut, atau dikenal dengan istilah Model Operasi :
“black box” - Kita tahu apa yang ada di black box, apa yang dapat
dihasilkan dan apa yang di dapat dimasukan / diperlukan, tetapi kita tidak
tahu apa yang terjadi didalamnya
Misal Obyek : Mobil
o Nama  String
o Jenis  String
o Pintu Integer
o Roda  Integer
o StatusMesin  Boolean : hidup / mati
o bukaPintu (integer : NoPintu)
o tutupPintu (integer : NoPintu)
o hidupkanMesin
o matikanMesin
o hidupkanLampuSign (integer : NoLampu)
o tambahKecepatan (integer : kecepatan)
o KurangiKecepatan (integer : kecepatan)
Untuk menghidupkan mobil kita cukup menggunakan metode :
mobil.hidupkanMesin – kita tidak perlu tahu detail bagaimana proses
didalam metode hidupkanMesin
Polimorfisme merupakan sebutan yang komplek untuk sesuatu
yang sederhana. Bahwa obyek yang berbeda dapat memiliki
metode dengan nama yang sama, dengan proses yang berbeda.
Contoh : Metode buka untuk obyek Botol, berbeda dengan metode buka
pada obyek Pintu
Pewarisan merupakan proses mewariskan/menurunkan properti
dasar dari suatu obyek kepada obyek baru dan memodifikasi obyek
baru dengan properti tambahan.
Contoh : Motor dan Mobil keduanya mewariskan properti dari obyek
Kendaraan
Objek, Class, Method dan Field
Class adalah blueprint / cetak biru atau templateatau
spesifikasi dari objek. Dengan kata lain class merupakan
representasi abstrak dari objek, sedangkan objek adalah
representasi nyata atau instance (perwujudan) dari class.
Class merupakan unit dasar pemrograman berorientasi
objek. Class dapat berisi property, field, method dan event
dari objek. Gabungan property, field, methods dan event
umumnya disebut sebagai members dari class.
Field dan Property berisi informasi atau attribut yang terdapat
dalam suatu objek. Field mirip dengan variabel, yang dapat
dibaca dan diset secara langsung. Property dapat dibaca dan
diset seperti field, tetapi implementasinya menggunakan
prosedur property Get dan Set.
Model Data


Menyatakan hubungan antardata dalam
database
Ada tiga macam model data dasar



Hierarkis
Jaringan
Relasional
Model Hierarkis

Dikenal pula sebagai model pohon
Dosen
Siti Nurbaya
Algoritma
Rudi
Asti
Dosen
Ashadi
VB.Net
Dina
Dina
Matematika I
Edi
Ita
Edi
Model Jaringan


Disebut juga model CODASYL
Setiap anak bisa memiliki lebih dari satu orangtua
Dosen
Siti Nurbaya
Algoritma
Rudi
Asti
Dosen
Ashadi
VB.Net
Dina
Matematika I
Edi
Ita
Model Relasional



Merupakan model data
yang paling populer
saat ini
Menggunakan model
berupa tabel
berdimensi dua (yang
disebut relasi atau
tabel)
Memakai kunci tamu
(foreign key) sebagai
penghubung dengan
tabel lain
Nama Dosen
Kelas
Mahasiswa
Siti Nurbaya
Algoritma
Rudi
Siti Nurbaya
Algoritma
Asti
Siti Nurbaya
Algoritma
Dina
Siti Nurbaya
VB.Net
Dina
Siti Nurbaya
VB.Net
Edi
Ashadi
Matematika I
Ita
Ashadi
Matematika I
Edi
Konsep Dasar Basis Data

Field



Field merupakan implementasi dari suatu atribut data.
Field merupakan unit terkecil dari data yang berarti(meaningful
data) yang disimpan dalam suatu file atau basis data.
Record



Field-field tersebut diorganisasikan dalam record-record
Record merupakan koleksi dari field-field yang disusun dalam
format yang telah ditentukan.
Selama desain sistem, record akan diklasifikasikan sebagai
fixed-length record atau variable-length record.
Konsep Dasar Basis Data(1)

Selama desain sistem, record akan diklasifikasikan sebagai
fixed-length record atau variable-length record.
•
•

Fixed-length record: tiap instance record punya field, jumlah field, dan
ukuran logik yang sama
Variable-length record : mengijinkan record-record yang berbeda
dalam file yang sama memiliki panjang yang berbeda.
File dan Tabel
 Record-record yang serupa diorganisasikan dalam grup-grup
yang disebut file. Jadi file merupakan kumpulan semua kejadian
dari struktur record yang diberikan.
 Tabel merupakan ekivalen basis data relasional dari sebuah file.
 Beberapa tipe File meliputi :
Operasi dasar pada 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
Kunci(key) (1)


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
Candidat key
ID_cus
Name
No.of Pay
Amount
112233
Tim
890
9000
112231
Gabry
891
8000
112241
Holy
895
10000
Kunci(key) (2)

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
Kunci(key) (3)

Foreign key (cont’)
KODE
MK
SKS
KDDosen
KD-Dosen Nama_Dosen
TEL 100
Fisika
3
D-101
D-100
Badu,S.T
TEL 200
Isyarat
2
D-109
D-101
Ir.Thomas
TEL 210
T.Kendali
2
D-101
D-109
Harry,S.T,M.T
Primary key
Foreign key
Primary key
Tahapan Perancangan
Database

Perancangan secara konseptual




Perancangan secara logis


Diagram konteks
DFD
Model ER
Translasi model ER ke Model Relasional
Perancangan secara fisik

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
Diagram ini hanya menjelaskan secara
umum gambaran aliran konteks dari
rancangan system yang akan dibuat.
Contoh DFD Konteks
Bagian
Penjualan
Laporan
penjualan
Manajer
Keuangan
Daftar rencana
pembayaran
Persetujuan
Transfer
Sistem
Pembayaran
Royalti
Bank
Bukti transfer
Surat
pemberitahuan
Pengarang
DFD (Data Flow Diagram)

DFD merupakan detail rancangan dari
diagram konteks yang sudah dibuat yang
sudah memuat rancangan table database
yang akan diimplementasikan pada database
yang akan dibuat
Contoh DFD
Laporan penjualan
1
Mencatat
buku terjual
Data buku terjual
Catatan royalti
Jadwal pembayaran
Royalti terbayar
Waktu pembayaran
2
Membuat
Laporan royalti
Jatuh tempo
Royalti
belum
terbayar
Royalti
belum
terbayar
Ringkasan
royalti
Transfer
Data
pengarang
Pengarang
Daftar rencana
pembayaran
Persetujuan
3
Memproses
pembayaran
Nomor
rekening
Rekening bank
Pembayaran
Bukti transfer
Surat pemberitahuan
Entity Relationship Diagram(ERD)



ERD merupakan model jaringan yang menggunakan susunan
data yang disimpan dalam sistem secara abstrak
ERD menekankan pada struktur dan relationship data,
berbeda dengan DFD(Data Flow Diagram) yang merupakan
model jaringan fungsi yang akan dilaksanakan sistem
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 :
 Data apa saja yang diperlukan untuk bisnis mereka?
 Bagaimana data tersebut berelasi dengan data lainnya?
 Siapa saja yang diperbolehkan mengakses data tsb?
Simbol dalam Diagram E-R
ENTITAS
Kardinalitas:
Selalu hanya satu
Hubungan
Satu atau banyak
Nol atau satu
Atribut
Nol, satu, atau banyak
Garis bawah: Kunci atau
pengenal (identifier)
Contoh ERD
PELANGGAN
PEMASOK
Mengirim
Mengirim
Memasok
PESANAN
KIRIMAN
Memasok
BARANG
Berisi
Digunakan_
pada
PRODUK
Latihan
Rancanglah diagram E-R dari kasus aplikasi database
sederhana untuk sistem informasi akademis suatu universitas.
Dengan ketentuan sebagai berikut :
Entities yang dimuat adalah :
 mahasiswa: menyimpan semua informasi pribadi mengenai
semua mahasiswa
 dosen: menyimpan semua informasi pribadi mengenai semua
dosen
 mata_kuliah: menyimpan semua informasi mengenai semua
mata kuliah yang ditawarkan
 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 nonredundant, 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.
Normalisasi: 1NF, 2NF, 3NF


Bentuk Normal ke Satu(1NF)

Syarat :
1.
Tidak ada set atribut yang berulang atau bernilai ganda.
2.
Telah ditentukannya primary key untuk tabel atau relasi.
3.
Tiap atribut hanya memiliki satu pengertian.

Tiap atribut yang dapat memiiki banyak nilai sebenarnya
menggambarkan entitas atau relasi yang terpisah.
Bentuk Normal ke Dua(2NF)

Syarat :
1.
Bentuk data telah memenuhi kriteria bentuk normal ke satu.
2.
Atribut bukan kunci(non-key attribute) haruslah memiliki
ketergantungan fungsional sepenuhnya pada primary key.
Normalisasi: 1NF, 2NF, 3NF (1)

Bentuk Normal ke Tiga(3NF)
 Syarat :
1. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
2. 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 :
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)
Contoh(cont’)
Bentuk Normal ke dua(2NF) :
Belum memenuhi kriteria 3NF,
Karena atribut non-key Nilai dan
Bobot masih memiliki ketergantungan fungsional.
Contoh(cont’)
Bentuk Normal ke tiga(3NF) :
DATA DEFINITION LANGUAGE (DDL)
Tipe
Perinta
h
Keterangan
DDL
Create
Drop
Alter
Digunakan untuk membuat database, table, dan
index
Digunakan untuk menghapus database, table dan
index
Digunakan untuk memodifikasi struktur table
Perintah Create, adalah perintah untuk membuat database
dan Struktur table serta index pada struktur table
Aturan Penulisan:
Create Database <nama_database>
Atau
Create Database <nama_database>
ON
Download