Anda di halaman 1dari 35

Pertemuan II

Timor Utama, S.Kom, MMSI


u POKOK MATERI

1. Pendahuluan Tujuan

2. Aturan dan Tahapan Pembuatan Database


Pendahuluan dan Tujuan
Pendahuluan dan Tujuan

• Awal mulanya, aplikasi database dibangun pada sistem file


paling atas.
• Kelemahan penggunaan sistem file untuk menyimpan data :
– Kelebihan data dan tidak konsisten
• Format file yang berulang-ulang, salinan informasi
pada file yang berbeda-beda.
– Kesulitan dalam mengakses data
• perlunya menulis program baru untuk melaksanakan
tiap tugas baru
– Isolasi data - format dan file yang berulang-ulang.
– Masalah integritas
• Kendala integritas (mis. neraca perhitungan >0)
menjadi bagian dari kode program.
• Sulit untuk menambah hal baru atau mengubah yang
sudah ada
Pendahuluan dan Tujuan (Lanjutan)
• Kelemahan penggunaan sistem file (lanjutan)
– Pembaharuan hal-hal kecil
• Gangguan/kerusakan dapat menyebabkan database dalam
keadaan yang tidak tetap dengan sebagian pembaruan ikut
terbawa.
• Mis. transfer uang dari satu account ke account yang lain
mungkin bisa berhasil atau malah tidak sama sekali.
– Akses yang bersamaan oleh banyak pengguna.
• Akses bersamaan yang dibutuhkan untuk penampilan
• Akses bersamaan yang tidak terkontrol bisa mengakibatkan
ketidakteraturan.
– Mis. dua orang yang membaca suatu perhitungan dan
memperbaruinya disaat yang bersamaan
– Masalah keamanan.
• Sistem database menawarkan solusi dari semua masalah diatas
Tingkatan Abstraksi

• Level fisik : menggambarkan bagaimana suatu catatan


(record) (mis.pelanggan) disimpan.
• Level logika : menggambarkan data yang tersimpan dalam
database dan keterkaitan/hubungan antar data.
type customer = record
name : string;
street : string;
city : integer;
end;
• View level (level sudut pandang): program aplikasi
menyembunyikan detail dari tipe data. Sudut pandang (view)
ini juga dapat menyembunyikan informasi (mis.gaji) untuk
tujuan keamanan.
Tinjauan Data
Arsitektur untuk suatu sistem database
Instance dan Skema
• Serupa dengan tipe dan variabel dalam bahasa pemrograman
• Skema - struktur logis dari database
– mis. database berisi informasi mengenai kumpulan pelanggan dan
accountnya serta hubungan antara keduanya.
– dapat diterapkan untuk mengetik informasi dari suatu variabel pada
suatu program.
– Skema fisik : desain database pada level fisik.
– Skema logis : desain database pada level logika.
• Instance - muatan sebenarnya dari database pada batas waktu
tertentu.
– dapat diterapkan pada nilai dari suatu variabel.
• Kebebasan Data Fisik - kemampuan untuk memodifikasi skema fisik
tanpa mengubah skema logika
– aplikasi tergantung pada skema logika.
– pada umumnya penghubung antara level dan komponen yang
bermacam-macam harus benar-benar ditegaskan, sehingga jika
ada perubahan dibeberapa bagian tidak akan berpengaruh serius
pada yang lain
Model Data

• Seperangkat alat untuk menggambarkan


– data
– hubungan data
– semantik data
– kendala data
• Model Entity-Relationship
• Model Relational
• Model lain :
– model yang berorientasi obyek
– model data semi-struktur
– model terdahulu : model network dan model hirarki
Model Entity-Relationship

Contoh skema dari model entity-relationship


Model Entity Relationship (Lanj.)

• Model E-R dalam dunia nyata


– Entities/entitas (objects)
• mis. pelanggan, account, bank cabang
– Hubungan (relationship) antar obyek (entitas)
• mis. account A-101 dipegang oleh pelanggan Johnson
• Hubungan (relationship) kumpulan depositor menyesuaikan
pelanggan dengan account
• Yang paling banyak digunakan untuk desain database
– Desain database pada model E-R biasanya dipakai juga untuk
desain pada model relasional (akan dibahas nanti) yang digunakan
untuk penyimpanan dan pemrosesan
Model Relasional
Attributes
• Contoh data tabular pada model relasional

Custom customer- customer- customer- account-


er-id name street city number
192-83-7465 Johnson Alma Palo Alto A-101

019-28-3746 Smith North Rye A-215

192-83-7465 Johnson Alma Palo Alto A-201

321-12-3123 Jones Main Harrison A-217

019-28-3746 Smith North Rye A-201


Contoh Database Relational
Bahasa Definisi Data / Data Definition Language (DDL)

• Catatan khusus untuk mendefinisikan skema database


– E.g.
create table account (
account-number char(10),
balance integer)
• DDL compiler menghasilkan suatu kumpulan tabel yang
tersimpan dalam sebuah kamus data (data dictionary )
• Kamus data berisi metadata (yaitu data mengenai data):
– skema database
– data bahasa definisi (definition language) dan penyimpanan
(storage)
• bahasa yang mana struktur penyimpanan dan metode2
aksesnya hanya khusus digunakan oleh sistem database.
• biasanya merupakan perluasan dari bahasa definisi data.
Bahasa Manipulasi Data / Data Manipulation Language (DML)

• Bahasa untuk mengakses dan memanipulasi data diatur oleh model


data yang sesuai
– DML juga dikenal sebagai bahasa query
• Dua kelas bahasa
– Prosedural - pengguna mengkhususkan pada data apa yang
dibutuhkan dan bagaimana untuk memperoleh data tersebut.
– Nonprosedural - pengguna mengkhususkan pada data apa yang
dibutuhkan tanpa mengkhususkan bagaimana untuk memperoleh
data tersebut.
• SQL adalah bahasa query yang paling banyak digunakan
SQL
• SQL: bahasa non-prosedural yang banyak digunakan
– E.g. cari nama pelanggan dengan id pelanggan 192-83-7465
select customer.customer-name
from customer
where customer.customer-id = ‘192-83-7465’
– E.g. cari perhitungan semua account yang dipegang oleh
pelanggan dengan id pelanggan 192-83-7465
select account.balance
from depositor, account
where depositor.customer-id = ‘192-83-7465’ and
depositor.account-number = account.account-number
• Program2 aplikasi biasanya mengakses database melalui salah satu
dari :
– perluasan bahasa untuk memasukkan SQL yang cocok
– Penghubung/interface program aplikasi (mis. ODBC/JDBC) yang
memungkinkan query-query SQL dapat dikirim ke database
Pengguna Database

• Para pengguna dibedakan dari cara yang mereka lakukan dalam


berinteraksi dengan sistem
• Pemrogram aplikasi - berinteraksi dengan sistem melalui panggilan
DML.
• Pengguna mutakhir - menyusun permintaan dalam suatu bahasa
pertanyaan database.
• Pengguna khusus - menulis aplikasi database khusus yang tidak
sesuai kedalam kerangka pemrosesan data tradisional.
• Pengguna naif - meminta salah satu dari program aplikasi permanen
yang pernah ditulis sebelumnya
– E.g. orang2 yang mengakses database pada web, bank teller, juru
tulis pegawai.
Administrator Database

• Mengkoordinasikan segala aktivitas dalam sistem database;


administrator database memiliki pemahaman yang baik
mengenai sumber2 informasi dan kebutuhan perusahaan.
• Tugas administrator database meliputi :
– Mendefinisikan skema
– Mendefinisikan metode akses dan struktur penyimpanan
– Memodifikasi organisasi fisik dan skema
– Menjamin otoritas pengguna untuk mengakses database
– Menspesifikkan kendala integritas
– Berperan sebagai penghubung dengan pengguna
– Mengawasi penampilan dan merespon terhadap
permintaan akan perubahan
Manajemen Transaksi

• Sebuah transaksi adalah sekumpulan operasi yang


membentuk sebuah satuan fungsi logis dalam suatu
aplikasi database
• Komponen manajemen transaksi memastikan bahwa
database tetap berada dalam keadaan konsisten (benar)
meskipun sistem terganggu (mis. kerusakan power dan
sistem operasi bertabrakan/crash) dan transaksi terganggu.
• Persetujuan/Concurrency-kontrol manajer mengatur
interaksi antar transaksi yang bersamaan, untuk menjamin
kelangsungan database.
Manajemen Penyimpanan

• Manajer penyimpanan adalah sebuah modul program yang


menyediakan penghubung antara data level rendah yang
disimpan dalam database dan program2 aplikasi serta
query-query yang dimasukkan ke dalam sistem.
• Manajer penyimpanan bertanggung jawab terhadap hal-hal
dibawah ini :
– interaksi dengan manajer file
– penyimpanan yang efisien, mendapatkan
kembali data dan memperbaruinya
Struktur Sistem Keseluruhan
Arsitektur Aplikasi

 Two-tier architecture: E.g.program klien menggunakan


ODBC/JDBC untuk berkomunikasi dengan database
 Three-tier architecture: E.g. aplikasi dasar web, dan aplikasi
yang dibangun menggunakan "middleware"
Aturan dan Tahapan Pembuatan
Database
Aturan untuk Model Database

• Tiap baris harus berdiri sendiri (independent):


tidak tergantung baris-baris yang lain, dan urutan
baris tidak mempengaruhi model database.
• Tiap baris harus unik: tidak boleh ada 2 atau
lebih baris yang sama persis.
• Kolom harus berdiri sendiri (independent): tidak
tergantung kolom-kolom yang lain, dan urutan
kolom tidak mempengaruhi model database.
• Nilai tiap kolom harus berupa satu kesatuan:
tidak berupa sebuah daftar.
Tahap Pembuatan Database

• Tahap 1: Tentukan entities (object-object dasar)


yang perlu ada di database
• Tahap 2: Tentukan attributes (sifat-sifat) masing-
masing entity sesuai kebutuhan database
• Tahap 3: Tentukan relationships (hubungan-
hubungan) di antara entities tersebut
• Tahap 4: Pembuatan ERD
• Tahap 5: Proses normalisasi database
• Tahap 6: Implementasi Database
Tahap 1: Tentukan Entities

• Sifat-sifat entity:
– Signifikan: memang perlu disimpan di database
– Umum: tidak menunjuk pada sesuatu yang
khusus
– Fundamental: dapat berdiri sendiri sebagai
entity yang dasar dan independent
– Unitary: merupakan satu kesatuan yang tidak
dapat dipecah lagi
Tahap 2: Tentukan Attributes

• Tentukan sifat-sifat (fields atau kolom) yang dimiliki tiap


entity, serta tipe datanya.
• Attribute yang sesuai harus:
– Signifikan: memang penting dan perlu dicatat di
dalam database
– Bersifat langsung (direct), bukan derived.
Contoh attribute direct: tanggal_lahir
Contoh attribute derived: umur
Tahap 2 (lanjutan)

• Tentukan attribute yang menjadi Primary Key


untuk entity yang bersangkutan.
• Jika satu attribute tidak cukup, gabungan beberapa
attribute bisa menjadi Composite Primary Key.
• Jika Composite Primary Key banyak (lebih dari 3
attribute), sebaiknya menambahkan attribute
buatan yang menjadi Primary Key yang tunggal.
Tahap 3: Tentukan Relationships

• Tentukan jenis hubungan di antara entity yang satu


dengan entities yang lain.
• Macam hubungan ada 3:
– One-to-one (1:1)
– One-to-many (1:n)
– Many-to-many (m:n)
Tahap 3 (lanjutan)

• Dalam membentuk hubungan di antara 2 entities,


tentukan attribute mana yang digunakan untuk
menghubungkan kedua entities tersebut.
• Tentukan entity mana yang menjadi tabel utama,
dan entity mana yang menjadi tabel kedua.
• Attribute (dari tabel utama) yang
menghubungkannya dengan tabel kedua menjadi
Foreign Key di tabel kedua.
Tahap 4: Pembuatan ERD

• Buat Entity Relationship Diagram (ERD) berdasarkan hasil


dari Tahap 1 - 3.
• Ada berbagai macam notasi untuk pembuatan ERD.
• Anda bisa menggunakan software khusus untuk
menggambar ERD.
Tahap 5: Normalisasi

• Proses normalisasi database terhadap setiap tabel, ada 3


tahap:
– First normalization
– Second normalization
– Third normalization
Tahap 6: Implementasi

• Berdasarkan ERD yang sudah dinormalisasi, buatlah


database dengan MySQL, PostgreSQL, Oracle, dst.
• Bisa secara manual: menggunakan bahasa SQL
untuk create database, table, dst.
• Bisa menggunakan CASE tool: Berdasarkan ERD
yang ada, software CASE tool langsung membuat
databasenya.
Point
Point

 Tentukan Tujuan Awal Membuat Database


 Ikuti Tahapan-Tahapan
 Gunakan RDBMS yang sesuai skala besar/kecilnya
bisnis proses

Anda mungkin juga menyukai