MINGGU ke 11 : DataBase
Asep Toto Kartaman, Ir. M.Eng
• Pendahuluan
• Sistem berkas atau pengarsipan adalah :
@stoka2020 2
Data Base
@stoka2020 3
KOMPONEN DATABASE
@stoka2020 4
DATA
Ciri-ciri data didalam database :
• Data disimpan secara terintegrasi (integrated)
• Database merupakan kumpulan dari berbagai macam
file dari aplikasi-aplikasi yang berbeda, yang disusun
dengan cara menghilangkan bagian-bagian yang
rangkap (redundant)
• Data dapat dipakai secara bersama-sama
(shared)
• Masing-masing bagian dari database dapat diakses
oleh pemakai dalam waktu yang bersamaan, untuk
aplikasi yang berbeda
@stoka2020 5
HARDWARE
@stoka2020 6
SOFTWARE
• Berfungsi sebagai perantara (interface) antara
pemakai dengan data physik pada database.
• Software pada sistem database dapat
berupa:
• Database Management System (DBMS), yang
menangani akses terhadap database, sehingga
pemakai tidak perlu memikirkan proses
penyimpanan dan pengelolaan data secara detail
• Program-program aplikasi dan prosedur-prosedur
@stoka2020 7
USER
• Pemakai database dibagi atas 3 klasifikasi, yaitu:
1. Database Administrator (DBA), yaitu:
• Orang/team yang bertugas mengelola sistem database
secara keseluruhan
2. Programmer, yaitu:
• Orang/team yang bertugas membuat program aplikasi
yang mengakses database, dengan menggunakan
bahasa pemrograman, seperti Clipper, VB, Oracle baik
secara batch maupun online untuk berinteraksi dengan
komputer
3. End-user, yaitu:
• Orang yang mengakses database melalui terminal, dengan
menggunakan query-language atau program aplikasi yang
dibuatkan oleh programmer
@stoka2020 8
FILE MANAGEMENT SYSTEM
• Program Oriented
• Kaku
• Luwes/Fleksibel
DATA ORIENTED
Susunan data, organisasi file pada database
dapat dirubah, begitu pula strategi aksesnya
tanpa mengganggu program aplikasi yang
sudah ada
@stoka2020 10
TUJUAN SISTEM DATA BASE
@stoka2020 11
KEUNTUNGAN PEMAKAIAN SISTEM DATA BASE
• Mengurangi Redundansi
Data Yang Sama Pada Beberapa Aplikasi Cukup Disimpan Sekali Saja.
• Menghindarkan Inkonsistensi
Karena Redundansi Berkurang, Sehingga Umumnya Update Hanya Sekali Saja.
• Terpeliharanya Integritas Data
Data Tersimpan Secara Akurat.
• Data Dapat Dipakai Bersama-Sama
Data Yang Sama Dapat Diakses Oleh Beberapa User Pada Saat Bersamaan.
• Memudahkan Penerapan Standarisasi
Menyangkut Keseragaman Penyajian Data.
• Jaminan Sekuriti
Data Hanya Dapat Diakses Oleh Yang Berhak.
• Menyeimbangkan Kebutuhan
Dapat Ditentukan Prioritas Suatu Operasi, Misalnya Antara Update (Mengubah
Data) Dengan Retrieval (Menampilkan Data) Didahulukan Update.
@stoka2020 12
KERUGIAN PEMAKAIAN SISTEM DATA BASE
• MAHAL
• Diperlukan hardware tambahan
• CPU yang lebih besar
• Terminal yang lebih banyak
• Alat untuk komunikasi
• Biaya performance yang lebih besar
• Listrik
• Personil yang lebih tinggi klasifikasinya
• Biaya telekomunikasi yang antar lokasi / kota
• KOMPLEKS
• PROSEDUR BACKUP & RECOVERY SULIT
@stoka2020 13
Konsep Dasar
@stoka2020 14
Konsep Dasar
• Atribut
Deskripsi data yang bisa mengidentifikasikan entitas
Misal : entitas mobil adalah no. mobil, merk mobil,
warna mobil dsb.
• Field
Lokasi penyimpanan untuk salah satu elemen data
atribut
• Record
Kumpulan dari field yang berhubungan satu sama
lain
@stoka2020 15
Konsep Dasar
• File
• Data Base
@stoka2020 16
Konsep Dasar
• Key
• Elemen Record yang dipakai untuk menemukan
Record tersebut pada waktu akses
• Jenis-jenis key:
• Primary key
• Secondary key
• Candidate key
• Alternate key
• Composite key
• Foreign key
@stoka2020 17
Konsep Dasar
• Primary key
• Field yang mengidentifikasikan sebuah record dalam file
• Bersifat unik
Primari Key
@stoka2020 18
Konsep Dasar
• Secondary key
• Field yang mengidentifikasikan sebuah record
dalam file
• Tidak bersifat unik
Secondary Key
@stoka2020 19
Konsep Dasar
Candicate key
@stoka2020 20
Konsep Dasar
• Composite key
• Primary key yang dibentuk dari beberapa field
HARI RUANG MATA KULIAH
SELASA 322 LOGIKA MATEMATIKA
SELASA 321 PANCASILA
SELASA 333 KEWARGANEGARAAN
Composite key
@stoka2020 21
Konsep Dasar
• Foreign key
• Field yang bukan key, tetapi adalah key pada file yang lain.
KD_DOSEN NAMA
D232 Warsono, Drs
D453 R. Faisal
D812 Tri Darmadi
Foreign key
Primary key
@stoka2020 22
Konsep Dasar
• FILE
• File diletakkan di penyimpan sekunder.
• File mempunyai nama
• Karakteristik umum file
• Persistence
Bertahan lama yaitu kemampuan untuk dapat diakses di
masa datang.
• Shareability
Dapat digunakan bersama oleh beragam pemakai dan
program
• Size
File mempuyai ukuran yang relative besar
@stoka2020 23
Konsep Dasar
• Batch
suatu proses yang dilakuakn secara kelompok atau
grup
• Iterative
suatu proses yang dilakukan secara satu per satu
yaitu record per record
@stoka2020 24
Konsep Dasar
• Berdasarkan Model operasi :
• Create
Pembuatan berkas dengan cara membuat struktur
berkas lebih dahulu, kemudian record-record dimuat
ke dalam berkas tersebut
• Up-date
Pengubahan isi dari berkas diperlukan untuk
menjaga berkas tetap up to date (diperbaharui)
Ada 3 bagian dalam proses up date :
• Insert/Penyisipan atau penambahan record
• Modify/Perbaikan field
• Delete/Penghapusan record
@stoka2020 25
Konsep Dasar
• Retrieval
Pengaksesan sebuah berkas untuk tujuan
mendapatkan informasi
Menurut ada tidaknya persyaratan, retrieval
dibagi menjadi
• Comprehensive retrieval
Proses untuk mendapatkan informasi dari semua record
dalam berkas
• Misal : display all, list nama alamat
• Selective retrieval
Mendapatkan informasi dari record-record tertentu
berdasarkan persyaratan tertentu
• Misal : list for program studi == ‘TI’
@stoka2020 26
Konsep Dasar
• Maintenance
Perubahan yang dibuat terhadap berkas dengan tujuan
memperbaiki program dalam mengakses berkas tersebut. Ada
dua cara yaitu :
• Restructuring
Perubahan struktur berkas
Misalnya : Panjang field diubah
Penambahan field baru
• Reorganizing
Perubahan organisasi berkas dari organisasi yang satu
menjadi organisasi berkas yang lain
Misalnya :
• dari organisasi berkas sequential menjadi berkas
sequential diindeks
• dari langsung (direct) menjadi sequential (berurutan)
@stoka2020 27
Konsep Dasar
• RECORD
Ukuran record biasa dinyatakan dalam byte
@stoka2020 28
Konsep Dasar
@stoka2020 29
Konsep Dasar
• Record View
• External View
• Bentuk record yang terlihat oleh user
• Disebut juga logical record
• Internal View
• Bentuk record secara fisik di dalam media
penyimpanan
• Disebut juga physical record
@stoka2020 30
Konsep Dasar
• Data transfer
• Perpindahan data antara primar storage dengan secondary storage
data
PRIMARY SECONDARY
STORAGE STORAGE
Data
Transfer
PRIMARY SECONDARY
DATA AREA STORAGE
STORAGE
@stoka2020 31
Konsep Dasar
• Input Buffer
• Tempat 1 block disimpan didalam memory
• Output Buffer
• Tempat 1 block yang akan direkam ke
storage media
• Data Area
• Tempat 1 logical record yang akan diproses
@stoka2020 32
Konsep Dasar
@stoka2020 33
Konsep Dasar
@stoka2020 34
Konsep Dasar
• MASTER FILE
• Adalah:
• Berisi data statis
• Data tentang satu sisi dari organisasi
• Berisi data historis
• Isinya relatif permanen
@stoka2020 35
Konsep Dasar
• TRANSACTION FILE
• Adalah:
• Berisi data yang akan mengupdate master file
• Berisi kejadian atau perubahan terhadap sesuatu, yang
statusnya tersimpan dalam master file
• REPORT FILE
• Adalah:
• Berisi data yang bentuknya telah disesuaikan untuk kepentingan
user
• Data yang akan ditampilkan pada monitor
• Data yang akan dicetak
• Dihasilkan oleh:
• Report writer
• Application program
@stoka2020 36
Konsep Dasar
• WORK FILE
• Adalah:
• Temporary file
• File sementara
• File kerja
• Berisi sesuatu yang tidak permanen
• Isinya hanya dipakai sesaat saja
• Untuk memindahkan data dari satu program ke
program yang lain
@stoka2020 37
Konsep Dasar
• PROGRAM FILE
• Adalah:
• Berisi perintah untuk memproses data
• Bisa berisi perintah dalam:
• High Level Language
• Low Level Language
• Machine Language
• Job Control Language
• Perintah bisa berbentuk:
• Source Code
• Hasil Kompilasi
• Hasil proses lainnya
@stoka2020 38
Konsep Dasar
• TEXT FILE
• Berisi:
• ALPHANUMERIC & GRAPHIC DATA
• Berasal dari program text editor
• Hanya dapat diproses oleh program text
editor
@stoka2020 39
DATABASE MANAGEMENT
SYSTEM
@stoka2020 40
PROSES PENGOLAHAN DATA
Centralized Processing
Keuntungan :
• Development mudah
• Maintenance mudah
• Penanganan hardware mudah
• Data terkonsiladasi
@stoka2020 41
PROSES PENGOLAHAN DATA
Decentralized Processing
Keuntungan :
• Wewenang fungsional
• Geografik berjauhan
• Politic
Kecenderungan :
• Standarisasi tidak ada
• Data terpisah
• Beban tidak seimbang
• Fungsi overlap
@stoka2020 42
PROSES PENGOLAHAN DATA
Distributed Processing
Keuntungan :
• Minimize risk
• Distributed processor
• Communication link
• Host system
Kebutuhan :
• Arsitektur yang sama
• Compatibility
• Management system
@stoka2020 43
Tipe dari File
Database dibentuk dari kumpulan file. File di dalam pemrosesan
aplikasi dapat dikategorikan ke dalam beberapa file, diantaranya
yaitu sebagai berikut ini.
File induk (master file).
• Di dalam aplikasi, file ini merupakan file yang penting. File ini
tetap terus ada selama hidup dari sistem informasi. File induk
dapat dibedakan lagi menjadi :
• File induk acuan (reference master file), yaitu file induk yang
recordnya relatif statis, jarang berubah nilainya.
• File induk dinamik (dynamic master file), yaitu file induk yang
nilai dari record-recordnya sering berubah atau sering
dimutakhirkan (updated) sebagai akibat dari suatu transaksi.
File transaksi (transaction file).
• File transaksi disebut juga dengan nama file input (input file). File
ini digunakan untuk merekam data hasil dari suatu transaksi
yang terjadi.
@stoka2020 44
File laporan (report file).
• File ini disebut juga dengan nama file output (output file), yaitu file yang
berisi dengan informasi yang akan ditampilkan. File ini dibuat untuk
mempersiapkan pembuatan suatu laporan dan biasanya dilakukan bila
printer belum siap atau masih digunakan oleh proses yang lain.
File sejarah (history file).
• File sejarah disebut juga dengan nama file arsip (archival file), yaitu file
yang berisi dengan data masa lalu yang sudah tidak aktif lagi, tetapi perlu
disimpan untuk keperluan mendatang.
File pelindung (backup file).
• File pelindung merupakan salinan dari file-file yang masih aktif di database
pada suatu saat tertentu. File ini digunakan sebagai cadangan atau
pelindung bila file database yang aktif rusak atau hilang.
File kerja (working file).
• File kerja disebut juga dengan nama file sementara (temporary file) atau
scratch file. File ini dibuat oleh suatu proses program secara sementara
karena memori komputer tidak mencukupi atau untuk menghemat
pemakaian memori selama proses dan akan dihapus bila proses telah
selesai.
@stoka2020 45
Akses dan Organisasi File
• Akses file (file access) adalah suatu metode
yang menunjukkan bagaimana suatu program
komputer akan membaca record-record dari
suatu file
• File dapat diakses dengan dua cara yaitu
secara urut (sequential access) atau secara
langsung (direct access atau random access)
• Organisasi file adalah pengaturan dari record
secara logika di dalam file dihubungkan satu
dengan yang lainnya
@stoka2020 46
• File urut (sequential file) merupakan file dengan
organisasi urut (sequential organization) dengan
pengaksesan secara urut (sequential access).
• File urut berindeks (indexed sequential file) atau
sering disebut dengan ISAM (Indexed Sequential
Access Method) merupakan file dengan
organisasi urut (sequential organization) dengan
pengaksesan secara langsung (direct access).
• File akses langsung (direct access file) atau
disebut juga dengan file alamat langsung (direct
access file) merupakan file dengan organisasi
acak (random organization) dengan
pengaksesan langsung (direct access).
@stoka2020 47
• Organisasi file seperti ini disebut dengan organisasi
file tradisional atau konvensional, karena telah ada
sebelum struktur database dikembangkan. Organisasi
file database dapat berbentuk struktur data berjenjang
(hierarchical data structure), struktur data jaringan
(network data structure) dan struktur data hubungan
(relational data structure). Struktur data hubungan
merupakan organisasi file database yang terbaru dan
mudah dipahami. Struktur data hubungan mempunyai
karakteristik sebagai berikut ini.
• File dalam bentuk tabel yang persis dengan file urut.
• Hubungan antara record didasarkan pada nilai dari
field kunci, bukan berdasarkan alamat atau pointer.
@stoka2020 48
DATABASE MANAGEMENT
SYSTEMS (DBMS)
Sebuah sistem database terdiri dari dua
bagian yaitu :
• DataBase Management System (DBMS) adalah
software yang memelihara, menyimpan, dan
mengolah data yang terseimpan dalam suatu
database.
• DataBase Application Software (DBAS),
sebagai aplikasi yang memudahkan pengguna
untuk mengakses data yang tersimpan dalam
DBMS.
@stoka2020 49
Syarat yang harus dipenuhi oleh suatu database adalah :
• Dapat diakses oleh user yang banyak pada saat yang sama
(SQL)
• Keamanan data
• Integritas data.
@stoka2020 50
DBMS
DataBase
Hierarki data
File
Record
Data Item
Byte
Bit
Hirarki Data
@stoka2020 51
DataBase Management System yang ada dewasa ini dapat digolongkan
dalam lima golongan atau biasanya dikenal juga dengan istilah model
sebagai berikut :
• File DataBase Management Systems (FDBMS)
FDBMS merupakan model DBMS yang paling sederhana dan paling mudah
dipelajari. Dengan model ini, setiap data yang ada disimpan secara
berurutan dalam satu database yang besar. Untuk mencari kembali suatu
data, aplikasi akan membandingkan data tersebut satu per satu mulai dari
awal sampai data tersebut ditemukan.
• Hierarchical DataBase Management Systems (HDBMS)
Dalam model ini, data disimpan dalam struktur pohon (tree structure) yang
dimulai dari root sebagai tingkat teratas. Dari tingkat teratas ini kemudian
bercabang ke bawah. Data disimpan sesuai dengan struktur pohon ini.
Setiap cabang yang menyimpan satu jenis data disebut dengan node.
Tingkatan terakhir dari struktur ini disebut dengan leaf.
• Network DataBase Management Systems (NDBMS)
Dalam model ini, data disimpan dalam bentuk many to many relationship
atau disebut pula dengan multiple parent child relationship. Hubungan
antar data tersebut sering disebut “set”.
@stoka2020 52
• Relational DataBase Management System (RDBMS)
Dalam model ini, data disimpan dalam bentuk tabel yang terdiri dari
kolom dan baris, di mana setiap jenis data menjadi kolom dan setiap
serangkaian data (record) menjadi baris dari tabel tersebut. Antara
kolom dalam satu tabel dapat direlasikan ke kolom di tabel yang lain.
• Object DataBase Management System (ODBMS)
ODBMS berbeda dengan RDBMS dalam hal cara data disimpan dan
diakses. Dalam ODBMS objek data dapat terdiri dari beberapa
elemmen data dan dapat membentuk relasi yang komplek dengan
menggunakan konsep “objek” seperti encapsulation (dapat
menggabungkan prosedur/ method dalam suatu objek), inheritance,
polymorphism, dan juga tipe data “user defined”.
• DataBase Object dapat dikelompokkan menjadi ODBMS yaitu
database yang dari awal didesain menggunakan konsep objek, dan
ORDBMS yang merupakan pengembangan dari RDBMS. Tipe ORDBMS
disebut juga “hybrid databases” karena memungkinkan pengembang
membuat model data sebagai objek dan masih dapat mengakses data
dengan menggunakan relasi (dengan SQL).
@stoka2020 53
Relational Database
@stoka2020 54
Normalisasi Data
@stoka2020 55
Bentuk-bentuk
Normalisasi
• Bentuk tidak normal (unnormalized form)
Bentuk ini memiliki ciri yaitu setiap data dibentuk
dalam flat file (file datar/rata), data dibentuk dalam
satu demi satu record dan nilai dari field-field
berupa “atomic value” tidak ada set atribute yang
berulang ulang atau atribute bernilai ganda. Tiap
fields hanya satu pengertian, bukan merupakan
kumpulan kata yang mempunyai arti mendua,
hanya satu arti saja dan juga bukanlah pecahan
kata-kata sehingga artinya lain.
@stoka2020 56
• Bentuk normal pertama (1 NF/First Normal Form)
• Langkah pertama dari proses normalisasi adalah
mentranformasikan data ke dalam bentuk tabel dua dimensi.
Perpotongan antara baqris dan kolom dibolehkan memuat
hanya satu nlai data, artinya tidak ada pengulangan nilai
atau repeating group pada perpotongan antara baris dan
kolom. Tabel yang mempunyai relasi seperti ini disebut
dengan tabel bentuk normal pertama atau 1 NF.
• Desain group pengulangan seperti ini akan banyak
menimbulkan masalah dalam melakukan pemrosesan, yaitu
diperlukan program aplikasi yang sedikit kompleks, karena
untuk kolom dimana terjadi group pengulangan diperlukan
penanganan khusus.
• Dalam hal ini dikatakan, semua atribut yang bukan sebagai
key secara bersama-sama bergantung penuh kepada
identifikasi unik, identifikasi unik ini disebut dengan primary
key dari tabel 1 NF.
@stoka2020 57
• Bentuk normal kedua (2 NF/Second Normal Form)
• Tabel dikatakan mempunyai relasi bentuk normal kedua
( NF), jika untuk setiap atribut yang bukan sebagai key
bergantung secara penuh pada identifikasi unik
(primary key) sebaliknya, relasi tabel yang bukan
bentuk normal kedua jika atribut bukan key yang tidak
bergantung secara penuh pada primary key.
• Untuk melakukan pengecekan, apabila relasi pada
suatu tabel bukan merupakan bentuk normal kedua
adalah jika primary key merupakan gabungan dari
beberapa atribut dan ada atribut lain yang bergabung
secara penuh pada salah satu atau bagian dari primary
key. Setiap relasi bentuk normal kedua maka, juga
merupakan bentuk relasi dari normal pertama
sebaliknya, jika relasi bentuk normal pertama maka
belum tentu merupakan bentuk relasi normal kedua.
@stoka2020 58
• Bentuk normal ketiga (3 NF/Third Normal
Form)
• Tabel dikatakan mempunyai relasi bentuk normal
ketiga (3 NF) jika tidak ada atribut bukan key
yang bergantung pada atribut lain yang juga
bukan sebagai key atau dapat dikatakan
dengan relasi tersebut tidak ada ketergantungan
transitif. Sebaliknya relasi tabel yang bukan
bentuk normal ketiga jika ada atribut bukan key
yang bergantung penuh pada atribut lain yang
bukan key, dengan kata lain ada ketergantungan
transitif.
@stoka2020 59
MODEL RELASIONAL
@stoka2020 60
Definisi : Basis Data Relasional
• Basis Data Relasional : himpunan relasi
• Relasi : terdiri dari dua bagian :
- Instance : table dengan baris dan kolom
#baris = kardinalitas, #kolom/fields = degree/arity
- Skema : menentukan nama relasi, plus nama dan tipe
kolom
Misal Students(sid : string, name : string, login : string, age :
integer, gpa : real).
• Suatu relasi adalah himpunan kolom atau tupel (semua
barisnya bersifat distinct/unik).
@stoka2020 61
Contoh : Instance (contoh) dari Relasi Students
@stoka2020 62
Bahasa Query Relasional (Relational Query
Language)
• Kekuatan utama dari model relasional adalah
kesederhanaannya, dan kelebihannya adalah dalam
melakukan query atas data.
• Query dapat ditulis secara intuitif, dan DBMS
bertanggungjawab untuk mengevaluasinya secara
efisien.
- Kunci : semantic yang tepat untuk relational query.
- Mengijinkan pengoptimasi untuk memperluas atau
mengatur kembali operasinya, dan memastikan bahwa
hasil yang diperoleh tidak berubah.
@stoka2020 63
SQL (Structured Query Language)
• Dikembangkan oleh IBM (system R) pada tahun 70-an
• Perlu dilakukan standardisasi sejak banyak dipakai oleh banyak
vendor
• Standart SQL :
- SQL-86
- SQL-89
- SQL-92
- SQL-99
• Untuk menemukan pelajar berusia 18 tahun dari table, dapat
ditulis bahasa query :
@stoka2020 64
SELECT *
FROM Students S
WHERE S.age=18
• Untuk menemukan field names dan logins, ganti baris pertama
query tersebut dengan :
• SELECT S.name, S.login
@stoka2020 65
• Dan diberikan query :
SELECT S.name, E.cid
FROM Students S, Enrolled E
WHERE S.sid=E.sid and E.grade=”A”
• Maka table yang dihasilkan dari query tersebut adalah :
Yaitu mencari data Students (nama Students dan mata kuliah yang
diikutinya) yang mendapat nilai “A”.
@stoka2020 66