Case (40%):
- SESSION 19 Database Normalization
- SESSION 21 Entity Relationship Modelling ERD
DISTRIBUTED DATABASE
Distributed Database: kumpulan data yang secara logis saling berhubungan dan secara
fisik didistribusikan/dibagikan melalui sebuah jaringan komputer.
Parallel DBMS: DBMS yang dirancang dengan beberapa prosesor serta penyimpanan yang
dibuat supaya bisa mengekseskusi operasi secara paralel untuk meningkatkan performa
keseluruhan sistem.
1
RINGKASAN DB - AA June 12, 2015
2 jenis DDBMS:
- Homogenous: setiap situs akan menggunakan produk DBMS yang sama, lebih mudah
untuk pengelolaan dan perancangan. Pendekatannya bersifat incremental dan mendukung
peningkatan performa.
- Heterogenous: setiap situs bisa menggunakan produk DBMS yang berbeda, biasanya
terjadi saat situsnya telah mengimplementasikan database-nya sendiri dan proses
integrasinya dilakukan belakangan. Butuh proses penerjemahan (translation) untuk
hardware dan produk DBMS yang berbeda. Solusinya pake gateway.
Fungsi DDBMS:
- memperluas komunikasi
- memperluas kamus data
- distributed query processing
- memperluas kontrol untuk concurrency
- memperluas layanan untuk recovery
Ada 73 slide, sisanya tentang alokasi data dan gak tau apa, kayaknya ga keluar.
2
RINGKASAN DB - AA June 12, 2015
TRANSACTION MANAGEMENT
NOTE: Bab ini ada 119 (seratus sembilan belas) slide, harap maklum kalau ada yang
kecolongan gak kena ringkas. Kalau kata dosen sih yang penting itu yang ACID.
Transaction: sebuah tindakan (action) yang dilakukan oleh user atau aplikasi yang berupa
membaca (read) atau memperbarui (update) konten dari sebuah database.
Dengan concurrency control, operasi-operasi yang berjalan secara bersamaan bisa dicegah
untuk saling mengganggu operasi lainnya.
Di T2, saldo nambah jadi 200, pas T1 jalan, saldo ke-overwrite jadi 90 (harusnya kan 190)
Locking: transaksi akan menggunakan penguncian (lock) untuk mencegah transaksi lain
melakukan akses sehingga update ngaco bisa dihindari. Saat lock dilakukan transaksi lain bisa
dicegah untuk mengubah (modify) ataupun membaca (read) suatu item yang sedang diproses
transaksi yang bersangkutan.
3
RINGKASAN DB - AA June 12, 2015
Penggunaan 2PL:
Deadlock: peristiwa yang terjadi ketika dua buah atau lebih proses masing-masing menunggu
data yang terkunci untuk dibebaskan antara satu dengan yang lain.
Log file: seluruh informasi mengenai semua update yang dilakukan kepada database baik
transaksi maupun checkpoint. Contoh log file:
4
RINGKASAN DB - AA June 12, 2015
Checkpoint: suatu titik acuan (point) antara database dan log file, semua buffer akan ditulis
ke penyimpanan sekunder.
2. System definition
cakupan dan batasan dari database yang akan dibuat serta pandangan/opini user (manajer,
supervisor, personil, marketing, dll) diurus di fase ini. Database nantinya dimungkinkan untuk
memiliki lebih dari satu user view. Pada proses ini dipastikan jika tidak ada user penting
yang terlupakan di dalam proses pengembangan database.
5
RINGKASAN DB - AA June 12, 2015
4. Database design
proses pembuatan rancangan database yang akan mendukung tujuan utama dari si
perusahaan. Pada fase ini juga akan muncul data modelling yang berguna untuk mengetahui
secara lebih jelas setiap sudut pandang untuk user view dan juga penggunaan datanya. Proses
in dibagi menjadi 3 fase:
4.1 Fase Conceptual
proses pembuatan model data yang digunakan dalam perusahaan tanpa memikirkan
seluruh hal yang bersifat fisik. Nantinya data-data konseptual akan diolah di fase
selajutnya, fase Logical.
6. Application design
kegiatan paralel perancangan UI dan program yang akan digunakan untuk memroses database.
Ada 2 kegiatan utama:
6.1 UI Design
proses pembuatan antarmuka (User Interface) yang akan digunakan end-user.
6
RINGKASAN DB - AA June 12, 2015
7. Prototyping opsional
pembuatan prototype database sebagai sarana mendapat feedback user.
8. Implementation
masuk ke tahap yang lebih physical, membuat skema database dengan DDL serta membuat
aplikasinya mengunakan 3GL atau 4GL, sudah termasuk seluruh transaksi yang
diimplementasikan menggunakan DML.
10. Testing
proses pengecekan dengan maksud mencari error. Pada tahap ini, digunakan strategi
pengetesan dengan data-data realistis.
Data Administration (DA) mengurus database planning serta pengembangan dan penjagaan
standar, kebijakan dan perancangan database secara konseptual dan logikal (fase 1 - 4.2
dalam Database Life Cycle) sementara Database Administration (DBA) mengurus perancangan
database secara fisik, keamanan serta kontrol integritas, dan juga pengawasan terhadap
performa sistem database (fase 4.3 11).
Contoh dokumentasi yang bisa digunakan: data dictionary, program documentation, flow
chart, user manual, internal memo, email, minutes of meeting (MoM), performance reports,
7
RINGKASAN DB - AA June 12, 2015
B. Wawancara (interview)
jamak digunakan dan biasanya metode yang paling berguna. Prinsipnya Mau ngerti?
Ketemuan aja langsung. Dari tahap wawancara ini, didapatkan fakta mengenai organisasi,
end-user yang terlibat proses apa-apa saja, serta terkumpulnya ide dan opini. Ada 2 jenis
pertanyaan yang bisa digunakan:
- Open-ended: pertanyaan yang jawabannya bisa luas, panjang.
- Close-ended: pertanyaan dengan opsi spesifik: iya, gak, mungkin, bisa jadi, dll.
Keuntungan:
- respon bisa luas
- responden merasa dilibatkan dalam proses
- bisa langsung follow up
- interviewer bisa memahami bahasa tubuh responden
Kekurangan:
- makan waktu dan duit, ga praktis
- interviewer harus piawai ngorek informasi
- responden harus bersifat terbuka (ga nahan informasi)
Kekurangan:
- kalau lagi diamati, orang biasanya jadi sok-sok rajin/bersih (kalau aslinya ada proses
kecurangan/pelanggaran lainnya, sulit dideteksi)
- misinterpretasi (semacam gagal paham sama prosesnya)
8
RINGKASAN DB - AA June 12, 2015
- kurang praktis
D. Riset (research)
digunakan untuk pengumpulan informasi menggunakan jurnal, buku refernsi, dan juga lewat
internet (user group, bulletin board, dsb). Informasi yang didapat biasanya berupa bagaimana
penyelesaian masalah yang mirip.
Keuntungan:
- irit waktu, kalau langsung ketemu solusi
- bisa mempelajari pengalaman orang lain dengan masalah yang mirip
- researcher jadi up-to-date dengan perkembangan saat ini
Kekurangan:
- butuh akses untuk sumber informasi yang tepat
- terkadang kurang membantu, masalahnya belum pernah didokumentasikan
E. Kuesioner (questionnaire)
dilakukan dengan survey yang dibuat sedemikian rupa sehinga fakta bisa diambil dari
kumpulan orang sambil memberi batasan atas respon-respon yang masuk. Ada 2 macam
pertanyaan yang digunakan dalam kuesioner: free-format dan fixed-format.
Keuntungan:
- responden lebih nyaman
- murah untuk mengumpulkan informasi dari banyak orang
- kerahasiaan terjamin sehingga responden menyediakan fakta yang asli
- respon bisa langsung ditabulasikan dan dianalisa
Kekurangan:
- jumlah responden bisa jadi cuma sedikit (5-10%)
- kuesioner bisa diisi tidak lengkap
- ada kemungkinan pertanyaan ambigu yang menimbulkan misinterpretasi
- ga bisa memahami bahasa tubuh responden
9
RINGKASAN DB - AA June 12, 2015
Superclass: sebuah entitas yang memiliki satu/lebih subgrouping yang saling berbeda.
Subclass: sebuah subgrouping dari entitas di atasnya (sebut saja dari superclassnya).
- Disjoint constraint
menjelaskan hubungan antar member subclass dan mengindikasikan apakah member dari
superclass bisa menjadi dari satu atau lebih dari satu subclass.
Value: AND (non-disjoint) atau OR (disjoint).
10
RINGKASAN DB - AA June 12, 2015
Contoh EER:
11
RINGKASAN DB - AA June 12, 2015
Metadata: data tentang data, digunakan untuk berbagai kebutuhan khususnya dalam
pembuatan DW yang terintegrasi penuh.
Proses ETL:
- Ekstraksi (Extraction)
menunjuk 1 atau lebih sumber data khususnya yang masuk dalam database OLTP tetapi juga
bisa termasuk database personal seperti spreadsheet, file enterprise resource planning (ERP),
serta log file penggunaan web.
- Transformasi (Transformation)
menerapkan sekumpulan peraturan ataupun fungsi kepada data yang diekstrak yang nantinya
menentukan bagaimana sebuah data bisa digunakan untuk analisis, termasuk transformasi
berupa kesimpulan data, data encoding, penggabungan data, pemisahan data, perhitungan
data, serta pembuatan key pengganti (surrogate keys).
- Loading
Data yang memuat constraint tambahan serta didefinisikan di dalam skema database bisa
diaktifkan, memberi kontribusi terhadap keseluruhan kualitas data dari proses ETL tersebut.
12
RINGKASAN DB - AA June 12, 2015
DW DBMS Requirement:
- Load performance - Load processing
- Data quality management - Query performance
- Terabyte scalability - Mass user scalability
- Networked data warehouse - Warehouse administration
- Integrated dimensional analysis - Advanced query functionality
Data Mining: proses mengekstrak informasi yang valid, belum diketahui sebelumnya, dan
actionable dari database dan memakai informasi tersebut untuk membuat keputusan bisnis
yang krusial/penting.
- Database segmentation
digunakan untuk membagi (partisi) database menjadi beberapa bagian (segmen/cluster) dari
sekumpulan record yang sejenis/mirip.
- Link analysis
menentapkan hubungan/asosiasi antar record, atau sekumpulan record di dalam suatu
database. Ada 3 macam Link Analysis:
1. Association discovery
menemukan item yang termasuk kehadiran item lainnya di dalam event yang sama
2. Sequential Patern discovery
menemukan pola antara event sehingga kehadiran sekelompok item akan diikuti
oleh sekumpulan item lainnya dalam satu waktu.
3. Similar Time Sequence discovery
menemukan hubungan antar 2 koleksi data yang tidak bergantung pada waktu dan
didasarkan pada derajat kesamaan anatara pola waktu yang dibuat keduanya.
- Deviation detection
sumber pengamatan deviasi (penyimpangan) terhadap ekspektasi awal dan kebiasaan normal
yang diduga sebelumnya.
13
RINGKASAN DB - AA June 12, 2015
KESIMPULAN - Kunci dari Datawarehousing dan Data Mining adalah menemukan data-data apa
saya yang perlu untuk digali lebih dalam. Data yang digali haruslah terpisah, single, bersih,
terintegrasi, serta konsisten. Data mining yang bersumber pada data warehouse akan
menghasilkan hasil yang menyeluruh serta mendetail. Hasil akhir dari data mining akan sangat
berguna jika pola yang belum pernah ditemukan sebelumnya akhirnya didapat.
DATABASE NORMALIZATION
Database Normalization: sebuah teknik yang digunakan untuk menghasilkan sekumpulan
relasi/tabel yang mendukung data requirement dari suatu perusahaan.
Jadi ngapain? Dari sumber informasi (berupa form/struk/bon) yang ada masukkan seluruh
atribut ke dalam format tabel.
14
RINGKASAN DB - AA June 12, 2015
Jadi ngapain? Pertama-tama pilih satu atribut untuk menjadi key (Primary Key, PK), kedua,
buat atribut yang berulang ketika diinput dan bergantung sama key-nya tadi dibuang/dipisah
jadi relasi baru, terakhir attribut yang derived (bisa didapat dari hasil perhitungan atribut
lainnya) dibuang seperti umur, total, sub-total, dsb. Di fase ini bakalan ada 2 tabel yang
terbentuk: TrHeader{...} dan TrDetail:{...}
Jadi ngapain? pertama-tama identifikasi PK, lalu jika ada atribut yang dependensi secara
parsial (hanya bergantung pada salah satu PK, padahal PK-nya ada 2), langsung dipisah jadi
tabel baru bersamaan dengan si PK-nya itu. Fase ini fokusnya di relasi TrDetail{...} yang punya
2 PK. Dari relasi TrDetail{...} tersebut bisa pecah menjadi beberapa relasi misal TrDetail{...}
dan MsBuku{...}
Jadi ngapain? pertama-tama identifikasi PK, lalu jika ada atribut non-key yang dependensi
secara transitif, langsung dipisah jadi tabel baru bersamaan dengan si PK-nya itu. Fase ini
fokusnya di relasi TrHeader{...}. Dari relasi TrHeader{...} tersebut bisa pecah menjadi
beberapa relasi misal TrHeader{...}, MsCustomer{...}, dan MsStaff{...}.
Contoh Soal:
UNF
TrID, TrDate, VendorName, VendorPhone, VendorEmail, EmployeeName, {MovieName,
MoviePrice, MovieRating, MovieTypeName, StartShowDate, EndShowDate, MovieDuration}
15
RINGKASAN DB - AA June 12, 2015
1NF
HeaderTrMovie :(TrID, TrDate, VendorName, VendorPhone, VendorEmail,
EmployeeName)
DetailTrMovie :(TrID, MovieID, MovieName, MoviePrice, MovieRating, StartShowDate,
EndShowDate, MovieTypeName, MovieDuration)
2NF
HeaderTrMovie :(TrID, TrDate, VendorName, VendorPhone, VendorEmail,
EmployeeName)
DetailTrMovie :(TrID, MovieID)
Movie :(MovieID, MovieName, MoviePrice, MovieRating, StartShowDate,
EndShowDate, MovieTypeName, MovieDuration)
3NF
HeaderTrMovie :(TrID, VendorID, EmployeeID, TrDate)
DetailTrMovie :(TrID, MovieID)
Movie :(MovieID, MovieTypeID, MovieName, MoviePrice, MovieRating,
StartShowDate, EndShowDate, MovieDuration)
Vendor :(VendorID, VendorName, VendorPhone, VendorEmail)
Employee :(EmployeeID, EmployeeName)
MovieType :(MovieTypeID, MovieTypeName)
2 tipe Entitas:
- Strong Entity independen terhadap entitas lain mahasiswa, customer, staff
- Weak Entity dependen terhadap entitas lain transaksi
16
RINGKASAN DB - AA June 12, 2015
- Ternary (3)
- Quaternary (4)
Jenis-jenis attribute:
- Simple (satu komponen
independen)
- Composite (terdiri dari beberapa
komponen independen)
- Single-valued (hanya memiliki satu
nilai untuk satu tipe entitas,
contoh: radiobutton gender)
- Multi-valued (memiliki banyak nilai untuk 1 tipe entitas, contoh: checkbox hobi)
- Derived (turunan dari atribut lainnya, contoh: umur, total)
Macam-macam Key:
- Candidate Key (sekumpulan attribute yang secara unik membedakan setiap entitas)
- Primary Key (candidate key yang terpilih)
- Composite Key (candidate key yang terdiri dari 2 atau lebih attribute)
- Chasm Trap
modelnya menggambarkan hubungan antar entitas namun tidak ada jalur yang
menghubungkannya.
17
RINGKASAN DB - AA June 12, 2015
Contoh ERD:
18