TUGAS MAKALAH
perancangan basis data
NAMA : MUHAMMAD RIZKI
KELAS : 12.2E.12
MATKUL : PERANCANGAN BASIS DATA (PBD)
PERTEMUAN KE-1
KONSEP DASAR
1.1.
Konsep Dasar Sistem Basis Data
Suatu basis data mungkin didefinisikan sebagai kumpulan data yang disatukan di dalam suatu organisasi. Organisasi dapat berupa perusahaan, departemen perusahaan, bank, sekolah dan lain-lain.
Basis Data adalah suatu susunan/kumpulan data operasional lengkap dari suatu organisasi/perusahaan yang di organisir/dikelola dan disimpan secara terintergrasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi optimalyang diperlukan pemakainya.
Sistem Basis Data adalah suatu sistem menyusun dan mengelola record-record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan.
A. Komponen dasar sistem basis data.
Terdapat 4 komponen pokok sistem basis data, yaitu :
1. Data
Data didalam basis data dapat disimpan secara terintegrasi(integrated) dan data dapat dipakai secara bersama-sama(shared).
a. Data disimpan secara terintegrasi atau integrated, yaitu :
Basis data merupakan kumpulan dari berbagai macam file dari aplikasi yang berbeda yang disusun dengan cara menghilangkan bagian-bagian yang rangkap(Redudant).
b. Data dipakai bersama-sama(shared), yaitu :
Masing-masing bagian dari basis data dapat diakses oleh pemakai dalam waktu yang bersamaan untuk aplikasi yang berbeda.
Data dan hubungannya pada basis data
Terdapat 3 jenis data, yaitu :
- Data operasional, data dari suatu organisasi berupa data yang disimpan di dalam basis data.
- Data masukan (Input Data), data dari luar sistem yang dimasukkan melalui peralatan input (misalnya ; keyboard) yang dapat mengubah data operasional.
- Data keluaran (Output Data), data berupa laporan melalui peralatan output (misalkan : screen, printer dll) sebagai hasil proses dari dalam suatu sistem yang mengakses data operasional.
2. Hardware (Perangkat Keras)
Terdiri dari semua peralatan komputer yang digunakan untuk pengolahan sistem basis data, berupa :
- Peralatan untuk penyimpanan basis data, yaitu ; secondary storage (disk, drum, dll).
- Peralatan input dan output.
- peralatan komunikasi data, dll.
3. Software (Perangkat Lunak)
Berfungsi sebagai perantara (Interface) antara pemakai dengan data fisik pada basis data. Software pada basis data dapat berupa :
- DBMS (Database Management System) yang menangani akses terhadap basis data sehingga pemakai tidak perlu memikirkan proses pemyimpanan dan pengelolaan data secara detail.
- Program-program aplikasi dan prosedur-prosedur.
4. User (Pemakai)
Pemakai basis data dibagi atas 3 klasifikasi, yaitu :
a. Database Administrator (DBA), orang atau tim yang bertugas mengelola sistem basis data secara keseluruhan.
DBA mempunyai tugas :
- Mengontrol DBMS dan Software-software.
- Memonitor siapa yang mengakses basis data.
- Mengatur Pemakaian basis data.
- Memeriksa security, integrity, recovery atau back-up dan concurency.
b. Programmer, orang atau team yang bertugas membuat program aplikasi, misalnya untuk pebankan, administrasi, akuntansi, dll.
c. End user, orang yang mengakses basis data melalui terminal dengan menggunakan query language atau program aplikasi yang dibuat oleh programmer.
End user dapat dibagi 2, yaitu :
- Naive end user adalah pemakai yang tidak berpengalaman, berinteraksi dengan sistem tanpa menulis program, tinggal menjalankan satu menu dan memilih proses yang telah ada atau telah dibuat sebelumnya oleh programmer.
- Casual end user adalah pemakai yang tidak berpengalaman, berinteraksi dengan sistem tanpa menulis program, tetapi memakai bahasa query
Suatu basis data mungkin didefinisikan sebagai kumpulan data yang disatukan di dalam suatu organisasi. Organisasi dapat berupa perusahaan, departemen perusahaan, bank, sekolah dan lain-lain.
Basis Data adalah suatu susunan/kumpulan data operasional lengkap dari suatu organisasi/perusahaan yang di organisir/dikelola dan disimpan secara terintergrasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi optimalyang diperlukan pemakainya.
Sistem Basis Data adalah suatu sistem menyusun dan mengelola record-record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan.
A. Komponen dasar sistem basis data.
Terdapat 4 komponen pokok sistem basis data, yaitu :
1. Data
Data didalam basis data dapat disimpan secara terintegrasi(integrated) dan data dapat dipakai secara bersama-sama(shared).
a. Data disimpan secara terintegrasi atau integrated, yaitu :
Basis data merupakan kumpulan dari berbagai macam file dari aplikasi yang berbeda yang disusun dengan cara menghilangkan bagian-bagian yang rangkap(Redudant).
b. Data dipakai bersama-sama(shared), yaitu :
Masing-masing bagian dari basis data dapat diakses oleh pemakai dalam waktu yang bersamaan untuk aplikasi yang berbeda.
Data dan hubungannya pada basis data
Terdapat 3 jenis data, yaitu :
- Data operasional, data dari suatu organisasi berupa data yang disimpan di dalam basis data.
- Data masukan (Input Data), data dari luar sistem yang dimasukkan melalui peralatan input (misalnya ; keyboard) yang dapat mengubah data operasional.
- Data keluaran (Output Data), data berupa laporan melalui peralatan output (misalkan : screen, printer dll) sebagai hasil proses dari dalam suatu sistem yang mengakses data operasional.
2. Hardware (Perangkat Keras)
Terdiri dari semua peralatan komputer yang digunakan untuk pengolahan sistem basis data, berupa :
- Peralatan untuk penyimpanan basis data, yaitu ; secondary storage (disk, drum, dll).
- Peralatan input dan output.
- peralatan komunikasi data, dll.
3. Software (Perangkat Lunak)
Berfungsi sebagai perantara (Interface) antara pemakai dengan data fisik pada basis data. Software pada basis data dapat berupa :
- DBMS (Database Management System) yang menangani akses terhadap basis data sehingga pemakai tidak perlu memikirkan proses pemyimpanan dan pengelolaan data secara detail.
- Program-program aplikasi dan prosedur-prosedur.
4. User (Pemakai)
Pemakai basis data dibagi atas 3 klasifikasi, yaitu :
a. Database Administrator (DBA), orang atau tim yang bertugas mengelola sistem basis data secara keseluruhan.
DBA mempunyai tugas :
- Mengontrol DBMS dan Software-software.
- Memonitor siapa yang mengakses basis data.
- Mengatur Pemakaian basis data.
- Memeriksa security, integrity, recovery atau back-up dan concurency.
b. Programmer, orang atau team yang bertugas membuat program aplikasi, misalnya untuk pebankan, administrasi, akuntansi, dll.
c. End user, orang yang mengakses basis data melalui terminal dengan menggunakan query language atau program aplikasi yang dibuat oleh programmer.
End user dapat dibagi 2, yaitu :
- Naive end user adalah pemakai yang tidak berpengalaman, berinteraksi dengan sistem tanpa menulis program, tinggal menjalankan satu menu dan memilih proses yang telah ada atau telah dibuat sebelumnya oleh programmer.
- Casual end user adalah pemakai yang tidak berpengalaman, berinteraksi dengan sistem tanpa menulis program, tetapi memakai bahasa query
DATA PADA DATABASE DAN HUBUNGANNYA
Ada 3 jenis data pada sistem database, yaitu:
1. Data operasional dari suatu organisasi, berupa data yang disimpan didalam database
2. Data masukan (input data), data dari luar sistem yang dimasukan melalui peralatan input (keyboard) yang dapat merubah data operasional
3. Data keluaran (output data), berupa laporan melalui peralatan output sebagai hasil dari dalam sistem yang mengakses data operasional
1. Data operasional dari suatu organisasi, berupa data yang disimpan didalam database
2. Data masukan (input data), data dari luar sistem yang dimasukan melalui peralatan input (keyboard) yang dapat merubah data operasional
3. Data keluaran (output data), berupa laporan melalui peralatan output sebagai hasil dari dalam sistem yang mengakses data operasional
CONTOH PENGGUNAAN DATABASE
• Pembelian barang di supermarket, kasir akan melakukan scan barcode yang ada di barang, pada saat tersebut program akan mengakses data pada database kemudian mengurangi stok barang yang ada sesuai dengan jumlah pembelian konsumen
• Pembelian barang dengan menggunakan kartu kredit, card reader akan membaca apakah kartu kredit tersebut memiliki limit yang cukup, dan memasukkan data pembelian dalam database kartu kredit, juga ada pemeriksaan apakah kartu tersebut tidak dalam daftar kartu di curi/hilang
KEUNTUNGAN PEMAKAIAN SISTEM DATABASE
1. Terkontrolnya kerangkapan data dan inkonsistensi
2. Terpeliharanya keselarasan data
3. Data dapat dipakai secara bersama-sama
4. Memudahkan penerapan standarisasi
5. Memudahkan penerapan batasan-batasan pengamanan.
6. Terpeliharanya intergritas data
7. Terpeliharanya keseimbangan atas perbedaan kebutuhan data dari setiap aplikasi
8. Program / data independent
KERUGIAN PEMAKAIAN SISTEM DATABASE
1. Mahal dalam implementasinya
2. Rumit/komplek
3. Penanganan proses recovery & backup sulit
4. Kerusakan pada sistem basis data dapat mempengaruhi departemen yang terkait
ISTILAH-ISTILAH YG DIPERGUNAKAN DALAM SISTEM
BASIS DATA
a. Enterprise yaitu suatu bentuk organisasi
Contoh :
Enterprise: Sekolah -> Database Nilai, Rumah sakit->Database AdministrasiPasien
b. Entitas yaitu suatu obyek yang dapat dibedakan dengan objek lainnya
Contoh :
Database Nilai -> entitas: mahasiswa, Matapelajaran
Database AdministrasiPasien -> entitas: pasien, dokter, obat
c. Atribute/field yaitu setiap entitas mempunyai atribut atau suatu sebutan untuk mewakili suatu entitas.
Contoh :
Entity siswa -> field = Nim, nama_siswa,alamat,dll
Entity nasabah -> field=Kd_nasabah,nama_nasabah,dll
d. Data value yaitu data aktual atau informasi yang disimpan pada tiap data elemen atau atribute.
Contoh :
Atribut nama_karyawan ->sutrisno, budiman, dll
e. Record/tuple yaitu kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap.
Contoh : record mahasiswa -> nim, nm_mhs, alamat.
f. File yaitu kumpulan record-record sejenis yang mempunyai panjang elemen sama, atribute yang sama namun berbeda-beda data valuenya
g. Kunci elemen data yaitu tanda pengenal yang secara unik mengindentifikasikan entitas dari suatu kumpulan entitas
Tujuan
Perancangan Basis Data
Dalam mengerjakan segala sesuatu, pastinya memiliki suatu
tujuan guna mengetahui manfaat dari sesuatu yang kita kerjakan. Sehingga akan
lebih memudahkan kita dalam mengerjakan hal tersebut. Dan tentunya lebih
terarah. Sama seperti perancangan basis data. Dalam perancangan basis data
memiliki beberapa tujuan, yakni:
1. Untuk memenuhi kebutuhan akan informasi dari pengguna dan
aplikasi yang digunakan.
2. Menyediakan struktur informasi yang
natural dan mudah di mengerti oleh pengguna. Sehingga
akan lebih tertata rapih dalam suatu pembuatan basis data.
3. Mendukung kebutuhan pemrosesan dan
beberapa obyek kinerja dari suatu sistem databasedan beberapa
obyek penampilan (response time, processing time, dan storage space).
Tahapan dari
Siklus Hidup Aplikasi Database (Life Cycle)
1. 1. System Definition
Adalah menjelaskan batasan-batasan
dan cakupan dari aplikasi database dan sudut pandang user yang utama.
Pendefinisian ruang lingkup
dari database system , user yang terlibat, area aplikasi.Definisi
ruang lingkup database (misal
: para pemakai, aplikasi-aplikasinya, dsb).
1. 2. Desain Aplikasi
Adalah suatu proses pembuatan
desain database yang akan mendukung tujuan dan operasi suatu enterprise.
Pemrosesan
dari penulisan definisi
database secara konseptual, eksternal,
dan internal, pembuatan
file-file database yang kosong,
dan implementasi aplikasi software.
Mendesain user interface dan
program aplikasi yang digunakan serta proses database.
Desain, pada
tahap ini menterjemahkan analisa kebutuhan
ke dalam bentuk rancangan
sebelum penulisan program yang berupa
perancangan antarmuka (input dan output), perancangan file-file atau basis data
dan merancang prosedur (algoritma).
Fase Desain ini meliputi penentuan pemrosesan dan data yang dibutuhkan oleh sistem yang baru, dan pemilihan konfigurasi terbaik dari hardware yang menyediakan desain. Desain system adalah ketentuan mengenal proses dan data yang dibutuhkan oleh sistem yang baru.
Fase Desain ini meliputi penentuan pemrosesan dan data yang dibutuhkan oleh sistem yang baru, dan pemilihan konfigurasi terbaik dari hardware yang menyediakan desain. Desain system adalah ketentuan mengenal proses dan data yang dibutuhkan oleh sistem yang baru.
1. 3. Implementasi Database
Pendefisian database secara
konseptual, eksternal dan internal serta mengimplementasikan kedalam aplikasi
software.
Fase ini melibatkan beberapa spesialis informasi tambahan yang mengubah desain dari bentuk kertas menjadi satu dalam hardware, software, dan data. Pelaksanaan adalah penambahan dan penggabungan antara sumber-sumber secara fisik dan konseptual yang menghasilkan pekerjaan sistem.
Fase ini melibatkan beberapa spesialis informasi tambahan yang mengubah desain dari bentuk kertas menjadi satu dalam hardware, software, dan data. Pelaksanaan adalah penambahan dan penggabungan antara sumber-sumber secara fisik dan konseptual yang menghasilkan pekerjaan sistem.
Pemrosesan
dari penulisan definisi
database secara konseptual, eksternal,
dan internal, pembuatan
file-file database yang kosong,
dan implementasi aplikasi software.
1. 4. Pengambilan dan konversi data (Loading atau
data convertion)
Adalah pemindahan data yang ada
kedalam database baru dan mengkonversikan aplikasi yang ada agar dapat
digunakan pada database yang baru.
Penempatan database yang baik
kedalam sistem format database yang sudah digunakan.
Database ditempatkan baik
secara memanggil data secara langsung ataupun
merubah file-file
yang ada ke
dalam format sistem
database dan memangggilnya kembali.
1. 5. Konversi Aplikasi (Aplication conversion)
Software aplikasi dari sistem
database sebelumnya di konversikan kedalam sistem database yang baru.
Beberapa aplikasi software dari
suatu sistem sebelumnya dikonversikan
ke suatu sistem yang baru.
1. 6. Pengujian dan Validasi (Testing and
Validation)
Adalah suatu proses eksekusi
program aplikasi dengan tujuan untuk menemukan kesalahan. Sistem yang baru
telah ditest dan diuji kinerjanya.
1. 7. Pengoperasian (Operation)
Adalah suatu proses pengawasan
dan pemeliharaan sistem setelah instalasi.
Pengoperasian database sistem
dan aplikasinya.
1. 8. Pengawasan dan Pemeliharaan(Monitoring and
Maintenance)
Pengawasan dan pemeliharaan
sistem database dan aplikasi software Selama
fase operasi, sistem secara
konstan memonitor dan
memelihara database.
Pertambahan dan
pengembangan data
dan aplikasi-aplikasi software dapat terjadi. Modifikasi dan
pengaturan kembali database mungkin diperlukan dari waktu ke waktu.
PERTEMUAN KE-2
LANJUTAN PERANCANGAN DATA BASE DAN
DBSM
1. Perancangan
database secara logik (data model
mapping)
a.
Pemetaan
(Transformasi data)
Transformasi
yang tidak tergantung pada sistem, pada tahap ini transformasi tidak
mempertimbangkan karakteristik yang spesifik atau hal– hal khusus yang akan
diaplikasikan pada sistem manajemen database
b.
Penyesuaian
skema ke DBMS
Penyesuaian
skema yang dihasilkan dari tahap Pemetaan untuk dikonfirmasikan pada bentuk
implementasi yang spesifik dari suatu model data seperti yang digunakan oleh
sistem manajemen
database yang terpilih
2. Perancangan
database secara fisik
a.
Response Time
Waktu transaksi
database selama eksekusi untuk menerima respon
b.
Space Utility
Jumlah ruang
penyimpanan yang digunakan oleh database file dan struktur jalur pengaksesannya
c.
Transaction Throughput
Merupakan nilai
rata–rata transaksi yang dapat di proses permenit oleh sistem database dan
merupakan parameter kritis dari sistem transaksi
3. Phase Implementasi Sistem
Database
DBMS
(Database Management Systems)
DBMS
adalah perangkat lunak yang menangani semua pengaksesan database yang
mempunyai fasilitas membuat, mengakses, memanipulasi dan memelihara basis data
BAHASA
dalam DBMS
A. Data
Definision Language (DDL) Hasil kompilasi dari perintah DDL adalah satu set
dari table yang disimpan dalam file khusus disebut data dictionary/directory.
B. Data
Manipulation Language (DML)
Bahasa yang
memperbolehkan pemakai untuk akses atau memanipulasi data sebagai yang telah
diorganisasikan sebelumnya dalam model data yang
Tepat Secara
dasar ada dua tipe DML :
1. Prosedural,
yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan
bagaimana untuk mendapatkannya contoh dbase III, foxbase
2. Non
prosedural, yang membutuhkan pemakai untuk menspesikasikan data apa yang dibutuhkan
tanpa menspesifikasikan bagaimana untuk mendapatkannya. Contoh SQL, QBE.
FUNGSI
DBMS
1. Data
Definition, DBMS harus dapat mengolah pendefinisian data
2. Data
Manipulation, DBMS harus dapat menangani permintaan dari pemakai untuk
mengakses data
3. Data
Security & Integrity, DBMS harus dapat memeriksa security dan integrity
data yang didefinisikan oleh DBA
4. Data
Recovery & Concurency, DBMS harus dapat menangani kegagalan – kegagalan
pengaksesan database yang dapat disebabkan oleh sesalahan sistem, kerusakan
disk, dsb
5. Data
Dictionary, DBMS harus menyediakan data dictionary.
6. Performance,
DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin
KOMPONEN
DBMS
1.
Query Prosesor, komponen yang mengubah bentuk query kedalam instruksi kedalam
database manager
2.
Database Manager, menerima query & menguji eksternal & konceptual untuk
menentukan apakah record – record tersebut dibutuhkan untuk memenuhi permintaan
kemudian database manager memanggil
file manager
untuk menyelesaikan permintaan
3.
File Manager, memanipulasi penyimpanan file dan mengatur alokasi ruang
penyimpanan disk
4.
DML Prosessor, modul yang mengubah perintah DML yang ditempelkan kedalam program
aplikasi dalam bentuk fungsi-fungsi
5.
DDL Compiler, merubah statement DDL menjadi kumpulan table atau file yang
berisi data dictionary / meta data
6.
Dictionary Manajer, mengatur akses dan memelihara data dictionary
PERBEDAAN
TRADITIONAL FILE MANAGEMENT
(FMS)
DENGAN DATABASE MANAGEMENTSISTEM
(DBMS)
TRADITIONAL
FILE MANAGEMENT
1. Bersifat
program oriented
2. Bersifat
kaku
3. Terjadi
kerangkapan data dan tidak terjaminnya
keselarasan
data ( data inkonsistensi)
DATABASE
FILE MANAGEMENT (DBMS)
1. Bersifat
data oriented
2. Bersifat
luwes/fleksible
3. Kerangkapan
data serta keselarasan data dapat
Terkontrol
Keterangan
:
Program
oriented “ Susunan data di dalam file , distribusi
data pada
peralatan strorage, dan organisasi filenya
dipilih
sedemikian rupa, sehingga program aplikasi
dapat
menggunakan secara optimal “
Data
oriented “ Susunan data, organisasi file pada
database dapat
dirubah, begitu pula strategi aksesnya
tanpa
mengganggu program aplikasi yang sudah ada “.
ARSITEKTUR
SISTEM DATABASE
Terbagi
menjadi 3 tingkatan :
1. Internal
level yaitu menerangkan struktur penyimpanan
basisdata
secara fisik dan organisasi file yang
digunakan “
2. Konseptual
level yang menerangkan secara
menyeluruh dari
basisdata dengan menyembunyikan
penyimpanan
data secara fisik “
3. Ekternal
level yang menerangkan View basisdata dari
sekelompok
pemakai
DATA
INDEPENDENCE
Merupakan salah
satu kelebihan sistem database dimana DBA dapat merubah struktur storage &
stategi akses dalam pengembangan sistem database tanpa mengganggu
program-program aplikasi yang sudah ada.
2
TINGKAT DATA INDEPENDENCE
1. Physical
data independence yaitu perubahan internal schema dapat dilakukan tanpa
menggangu conceptual schema
2. Logical data
independence yaitu conceptual schema dapat dirubah tanpa mempengaruhi ekternal
schema
ALASAN
PERLUNYA PRINSIP DATA
INDEPENDENCE
DITERAPKAN PADA
PENGELOLAAN
SISTEM DATABASE
1. Database
Administrator dapat merubah isi, lokasi dan organisasi database tanpa
mengganggu program aplikasi yang ada
2. Vendor
hardware & software pengelolaan data bisa memperkenalkan produk - produk
baru tanpa mengganggu program - program aplikasi yang telah ada
3. Untuk
memudahkan perkembangan program aplikasi
4. Memberikan
fasilitas pengontrolan terpusat oleh DBA demi security dan integritas data,
dengan memperhatikan perubahan - perubahan kebutuhan user.
PERTEMUAN
KE-3
MODEL
Data
A.
MODEL DATA
Model data merupakan suatu cara
untuk menjelaskan bagaimana pemakai dapat melihat data secara logik. Untuk
mengetahui apa itu model-model data sebaiknya kita mengetahui atau memahami
model data tersebut.
Model data adalah sekumpulan
perangkat konseptual untuk menggambarkan data ,hubungan data
simantik(makna)data dan batasan data atau disebut juga model data logik .
basis data model data secara umum
dapat dibagi menjadi beberapa kelompok:
1.model data berbasis objek
2.model data berbasis record
3.model data berbasis fisik
4.model data konseptual
Disin
ikami akan menjelaskan pengertian dari empat kelompok model data tersebut:
1.model
data berbasis objek
merupakan
himpunan datadan relasi yangmenjelaskan hubungan logik antar data dalam suatu
basis data berdasarkan objek datanya.
( model data
berbasis objekmenggunakan konsep entitas atribut dan hubungan antar
Entitas. Model data berbasis objek terdiri
dari entiti relationship model,binary
model,simantik data model,dan infologikal
model.
2.model
data berbasis record
Digunakan
untuk menguraikan seluruh logika dalam struktur database,juga digunakan untuk
menguraikan implementasi dari system database. Hal itu lah yang membedakan
model data berbasis record dengan model data berbasis objek.
MODELDATA
BERBASIS RECORD
Model
ini mendasarkan record untuk menjelaskan kepada user tentan hubungan logik
antar data dalam basis data.ada 3 jenis :
a.Relational
model
menjelaskan tentang hubungan logik antar
data dalam basis data dengan memvisualisasikan kedalam bentuk tabel-tabel yang
terdiri sejumlah garis dan kolom yang menunjukan atribut tertentu.lebihmudah
dipahami di bandingkan model-model lainnya CONTOH :
MAHASISWA
NOMHS NAMA
00351234 WULAN
01351346 BADU
02351370 AYU
KETERANGAN
§ Jumlah kolom disebut degree,ada2;
§ Baris disebut atribut , ada 3
§ Tiap baris disebut record/tuple , ada 3 record
§ Banyaknya baris dalam satu tabel disebut kardinality
b.
HIRARCHYCAL MODEL (TREE STRUCTURE)
menjelaskan tentang hubungan logik abtar
data dalam basis data dalam bentuk hubungan bertingkat(hiraki).elemen
penyusunnya disebut node, yang berupa rinci data, agregat data , atau record.
c.
NETWORK MODEL (FLEX STRUCTURE)
Hampir sama dengan model hiraki , dan
digambarkan sedemikian rupa sehingga child pasti berda pada level yang paling
rendah dari pada parent. Sebuah child dapat mempunyai lebih dari satu parent.
3.model
data fisik
Yaitu
konsep bagaimana datadisimpan pada media penyimpana(storage) dalam suatu
susunan secara fisik. Dan digunakan untuk menjelaskan pada pemakai bagaimana
data-data dalam basis data disimpan dalam media penyimpanan secara fisik, yang
lebih berorientasi pada mesin .ada dua model, yaitu ;
§ Unifiying model
§ Frame memori
4.model
data konseptual
Model
konseptual bukanlah pendekatan proses informasi seorang programmer
aplikasi,tetapi merupakan kombinasi beberapa cara untuk memproses data untuk
beberapa aplikasi . model konseptual tidak tergantug pada aplikasi indipidual,
tidak tegantung DBMS yang digunakan tidak tergantung pada hadwer yang digunakan
serta tidak tergantung juga pada phisikal model.pendekatan yang dilakukan pada
perancangan model konseptual adalah dengan menggunakan model data relasional,
yaitu dengan Teknik normalisasi.
B.
ENTITY RELASIONSHIP MODEL
Merupakan model untuk menjelaskan hubungan antar data dalam basis
data berdasarkan persepsi bahwa real world(dunia nyata) terdiri dari
objek-objek dasar yang mempunyai hubungan atau relasi antara objek tersebut.
C.
SEMANTIC MODEL
Relasi antar objek dinyatakan dengan kata-kata (semantic)
PERTEMUAN KE-4
PERTEMUAN KE-5
TEKNIK NORMALISASI
Definisi :
Normalisasi adalah suatu
teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan
pemakai di dalam suatu organisasi.
Tujuan Normalisasi
Ø Untuk menghilangkan kerangkapan data
Ø Untuk mengurangi kompleksitas
Ø Untuk mempermudah pemodifikasian data
Proses Normalisasi
v Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan
persyaratan tertentu kebeberapa tingkat.
v Apabila tabel yang diuji belum memenuhi persyaratan tertentu , maka tabel
tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai
memenuhi bentuk yang optimal.
Ketergantungan Fungsional
Definisi:
Atribut Y pada relasi R dikatakan
tergantung fungsional pada atribut X (R,X
R,Y), jika dan hanya setiap nilai X pada relasi R mempunyai tepat satu
nilai Y pada R.
Misal,terdapat skema database pemasok_barang.
Pemasok (No_Pem, Na_Pem)
No_Pem
|
Na_pem
|
P01
|
Baharu
|
P02
|
Sinar
|
p03
|
Harapan
|
Ketergantungan fungsional dari tabel Pemasok_barang adalah:
No_pem Na_Pem
Keteregantungan Fungsional Penuh
Definisi :
Atribut Y pada relasi R dikatakan
tergantung fungsional penuh
pad a atribut X pada relasi R ,
jika Y tidak tergantung pada subset
dari X (bila X adalah key
gabungan).
Contoh :
Kirim _barang (No_pem, Na_pem, No _bar, Jumlah)
No_pem
|
Na_pem
|
No_bar
|
Jumlah
|
P01
|
Baharu
|
B01
|
1000
|
P01
|
Baharu
|
B02
|
1500
|
P01
|
Baharu
|
B03
|
2000
|
P01
|
Sinar
|
B03
|
1000
|
P01
|
Harapan
|
B02
|
2000
|
Ketergantungan fungsional :
No_pem Na_pem
No_bar, No_pem Jumlah
(tergantung penuh terhadap keynya)
Ketergantungan Transitif
Devinisi:
Atribut Z pada relasi R
dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada
atribut X pada relasi R dan atribut tergantung pada atrribut Y pada relasi R.
Contoh:
Ketergantungan fungsional:
No_pem Kode_kota
Kode_kota Kota,maka
No_pem Kota
Cara mengatasinya:
a.Step 1 bentuk unnormalized(dalam
bentuk ini masukan semua file tanpa terkecuali,walaupun file-file tersebut
ganda.
Kode_Sup
Nama_Sup
Tangal
No_Nota
Kode_Brg
Nama_Brg
Qty
Harga
Jumlah
Total_fak
Tempo
b. Step 2 bentuk 1 NF (dalam bentuk kesatu,pisahkan file-file tersebut
menjadi file miliknya sendiri dalam satu tabel)
C.Step 3 bentuk 2 NF (dalam bentuk kedua,sudah dalam bentuk normal
kesatu,lalu tiap-tiap tabel diberi nama file dan primary key serta terakhir
berikan bentuk relasinya.
File supplier
Kode_Sup *
Nama_sup
File barang
Kode_brg*
Nama_brg
File transaksi
No_nota*
Tanggal
Tempo
Qty
Harga
Total_fak
Efek Normalisasi
Pada kenyataan, penerapan normalisasi juga mengakibatkan efek samping yang
tidak diharapkan, yaitu :
1. Proses dekomposisi relasi akan
mengakibatkan munculnya duplikasi rinci data pada atribut kunci penghubung
(foreign key)
2. Dekomposisi relasi membuka kemungkinan tidak terpenuhi integrasi
referensial (referensial integrity) dalam basis data.
3. Dekomposisi relasi akan menghasilkan semakin banyak jumpa relasi baru,
sehingga mengakibatkan inefesiensi proses
menampilkan kembali data-data dari dalam basis data.
4. Adanya batasan penerapan pada beberapa DBMS untuk ukuran computer
pribadai/PC , berkaitan dengan batas maksimal relasi yang dapat dibuka secara
bersamaan.
PERTEMUAN KE-6
TAKNIK NORMALISASI LANJUTAN
Normalisasi adalah teknik perancanganbasis data selain ERD (Entity
Relationship Diagram).
Inti dari normalisasi untuk menghasilkan struktur tabel yang normal/baik.
Dengan cara memisahkan / memecah tabel yang mengalami redudansi
data ke dalam tabel dua entitas / tabel atau lebih .
Berikut Istilah penting dalam teknik normalisasi
1. Field / atribut kunci. Setiap
file selalu terdapat kunci dari file
berupa satu field atau satu
field yang dapat mewakili record.
2. Candidate key. Kumpulan atribut minimal yang secara unik
2. Candidate key. Kumpulan atribut minimal yang secara unik
mengidentifikasi sebuah baris
fungsinya sebagai calon primary key.
3. Composite key. Kunci kandidat yang berisi lebih dari satu atribut
4. Primary key. Candidate key yang dipilih untuk mengidentifikasi
3. Composite key. Kunci kandidat yang berisi lebih dari satu atribut
4. Primary key. Candidate key yang dipilih untuk mengidentifikasi
baris secara unik
5. Alternate key. Candidate key yang tidak dipilih sebagai primary key
6. Foreign key. Key di tabel lain yang terhubung dengan primary
5. Alternate key. Candidate key yang tidak dipilih sebagai primary key
6. Foreign key. Key di tabel lain yang terhubung dengan primary
key pada sebuah tabel
Tujuan & proses normalisasi
Tujuan
Normalisasi :
Untuk menghilangkan kerangkapan data
Untuk mengurangi kompleksitas
Untuk mempermudah pemodifikasian data
Minimalisasi redundansi (pengulangan data)
Memudahkan identifikasi entitas
Mencegah terjadinya anomali
Proses
Normalisasi
Data diuraikan dalam bentuk tabel, selanjutnya dianalisis
berdasarkan persyaratan tertentu ke beberapa tingkat.
Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka
tabel terebut perlu dipecah menjadi beberapa tabel yang lebih sederhanan sampai
memenuhi bentuk yang optimal.
BENTUK TIDAK NORMAL
(UNNORMALIZED FORM)
Kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu
format tertentu.
Data tidak lengkap atau terduplikasi
Data dikumpulkan apa adanya sesuai dengan saat memasukkan data (data
input)
BENTUK NORMAL KE SATU
1NF (FIRST NORMAL FORM)
Bentuk normal 1NF terpenuhi jika:
sebuah tabel tidak memiliki atribut bernilai banyak (multivalued
attribute), atribut composite atau kombinasinya dalam domain data yang
sama.
Setiap atribut dalam tabel tersebut harus bernilai atomic
(tidak dapat dibagi-bagi lagi).
Tidak ada atribut yang bernilai ganda
Tiap atribut satu pengertian yang bernilai tunggal.
Memppunyai ketergantungan parsial.
BENTUK NORMAL KEDUA
2NF/SECOND NORMAL FORM
Bentuk normal 2NF
terpenuhi jika:
Memenuhi bentuk 1 NF (normal pertama).
Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama /primary
key
Jika terdapat atribut yang tidak memiliki
ketergantungan
terhadap primary key, maka
atribut tersebut harus dipindah atau
dihilangkan
Menghilangkan ketergantungan parsial.
Mempunyai ketergantungan transitif.
Bentuk normal ketiga
(3nf/third normal form)
Bentuk normal 3NF terpenuhi jika:
Memenuhi
bentuk 2NF
Tidak ada atribut non
primary key yang memiliki ketergantungan terhadap atribut non primary
key yang lainnya.
Atribut non-key haruslah bergantung hanya pada primary-key dan pada
primary key secara menyeluruh.
Boyce-Codd
Normal Form (BCNF)
Bentuk BCNF Terpenuhi Jika:
Relasi sudah dalam bentuk normal ketiga(3NF)
setiap atribut harus bergantung fungsi pada atribut superkey.
Bentuk normal sebagai perbaikan terhadap 3NF atau dapat juga dikatakan
sebagai bentuk normal 3NF revisi.
Bentuk Normal Keempat
(FOURth Normal Form
/4NF)
Relasi dikatakan mempunyai bentuk 4NF, jika dan hanya jika relasi
tersebut juga termasuk BCNF dan semua ketergantungan multivalue adalah juga
ketergantungan fungsional.
Bentuk Normal kelima
(5th Normal Form /5NF)
Bentuk normal 5NF terpenuhi jika:
Tidak
dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg
lebih kecil.
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional
dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni
apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil,
harus bisa digabungkan lagi (join) untuk membentuk tabel semula
Langkah
selanjutnya yaitu membuat Bentuk Normal Ketiga (NF3). Bentuk Normal
Ketiga (NF3) diambil dari hasil Normal kedua, setiap atributnya tidak
bergantung secara transitif pada primary-key.
PERTEMUAN KE-7
BAHASA QUERY KOMERSIAL
STRUKTUR
QUERY LANGUAGE (SQL)
SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian pada tahun 1974, D.Chamberlin dan R.F.
Boyce mengembangkan bahasa query untuk memanipulasi dan mengekstraksi data
dari basisdata relational.
Sasaran SQL
a. Menciptakan basis data dan struktur relasi
b. Melakukan menajemen data tingkat dasar
c. Membentuk query sederhana dan kompleks
d. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks perintah relatif mudah dipelajari
e. Harus portabel
Jenis SQL :
1. Interactive SQL
2. Static SQL
3. Dynamic SQL
Subdivisi SQL
1. DDL (Data Definition Language)
Query-query ini digunakan untuk mendefinisikan struktur atau skema basis data
2. DML (Data Manipulation Language)
Query-query ini digunakan untuk manajemen data dalam basis data
3. DCL ( Data Control Language)
Query-query ini berhubungan dengan pengaturan hak akses dan wewenang.
PENGELOMPOKAN STATEMEN SQL
1. Data Definition Language (DDL)
CREATE DATABASE DROP DATABASE
CREATE TABEL DROP TABEL
CREATE INDEX DROP INDEX
CREATE VIEW DROP VIEW
ALTER TABLE
Sasaran SQL
a. Menciptakan basis data dan struktur relasi
b. Melakukan menajemen data tingkat dasar
c. Membentuk query sederhana dan kompleks
d. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks perintah relatif mudah dipelajari
e. Harus portabel
Jenis SQL :
1. Interactive SQL
2. Static SQL
3. Dynamic SQL
Subdivisi SQL
1. DDL (Data Definition Language)
Query-query ini digunakan untuk mendefinisikan struktur atau skema basis data
2. DML (Data Manipulation Language)
Query-query ini digunakan untuk manajemen data dalam basis data
3. DCL ( Data Control Language)
Query-query ini berhubungan dengan pengaturan hak akses dan wewenang.
PENGELOMPOKAN STATEMEN SQL
1. Data Definition Language (DDL)
CREATE DATABASE DROP DATABASE
CREATE TABEL DROP TABEL
CREATE INDEX DROP INDEX
CREATE VIEW DROP VIEW
ALTER TABLE
2. Data Manipulation Language
INSERT, SELECT, UPDATE, DELETE
3. Data Access
GRANT , REVOKE
4. Data Integrity
RECOVER TABLE
5. Auxiliary
SELECT INTO OUTFILE, LOAD, RENAME TABLE
KASUS
DATA DEFINITION LANGUAGE (DDL)
A. CREATE
1. Pembuatan Database
Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama organisasi atau perusahaan.
Sintaks : CREATE DATABASE nama_database
Contoh : Buat database dengan nama PT.ABC
CREATE DATABASE PT.ABC
2. Pembuatan Tabel
Sintaks : CREATE TABLE nama_table
( nama_kolom1 tipe_data_kolom1, nama_kolom2,tipe_data_kolom2,….)
Contoh :
Buat struktur tabel dengan nama tabel MHS dengan data NIM char(8),NAMA char(25), ALAMAT char(30),CREATE TABLE MHS (NIM char(8) not null,AMA char(25) notnull, ALAMAT char(30) notnull)
3. Pembuatan Index
Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIDX Dimana NIM tidak boleh sama
CREATE UNIQUE INDEX MHSIDX ON MHS(NIM)
4. Pembuatan View
Sintaks :
CREATE VIEW nama_view [ (nama_kolom1,….) ]
AS SELECT statement [WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
CREATE VIEW MHSVIEW AS SELECT * FROM MHS
B. DROP (MENGHAPUS)
1. Menghapus Database
Sintaks : DROP DATABASE nama_db ;
2. Menghapus Tabel
Sintaks : DROP TABLE nama_table ;
3. Menghapus Index
Sintaks : DROP INDEX nama_index ;
4. Menhapus View
Sintaks : DROP VIEW nama_view ;
Contoh :
DROP DATABASE Mahasiswa;
DROP TABLE MHS;
DROP INDEX MHSIDX;
DROP VIEW MHSVIEW;
C. ALTER TABLE (MERUBAH STRUKTUR TABEL)
Sintaks : ALTER TABLE nama_tabel
ADD nama_kolom jenis_kolom
[FIRST | AFTER nama_kolom]
CHANGE [COLUMN] oldnama newnama
MODIFY nama_kolom jenis kolom, …
DROP nama_kolom
RENAME newnama_tabel
Contoh :
A. CREATE
1. Pembuatan Database
Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama organisasi atau perusahaan.
Sintaks : CREATE DATABASE nama_database
Contoh : Buat database dengan nama PT.ABC
CREATE DATABASE PT.ABC
2. Pembuatan Tabel
Sintaks : CREATE TABLE nama_table
( nama_kolom1 tipe_data_kolom1, nama_kolom2,tipe_data_kolom2,….)
Contoh :
Buat struktur tabel dengan nama tabel MHS dengan data NIM char(8),NAMA char(25), ALAMAT char(30),CREATE TABLE MHS (NIM char(8) not null,AMA char(25) notnull, ALAMAT char(30) notnull)
3. Pembuatan Index
Sintaks : CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIDX Dimana NIM tidak boleh sama
CREATE UNIQUE INDEX MHSIDX ON MHS(NIM)
4. Pembuatan View
Sintaks :
CREATE VIEW nama_view [ (nama_kolom1,….) ]
AS SELECT statement [WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
CREATE VIEW MHSVIEW AS SELECT * FROM MHS
B. DROP (MENGHAPUS)
1. Menghapus Database
Sintaks : DROP DATABASE nama_db ;
2. Menghapus Tabel
Sintaks : DROP TABLE nama_table ;
3. Menghapus Index
Sintaks : DROP INDEX nama_index ;
4. Menhapus View
Sintaks : DROP VIEW nama_view ;
Contoh :
DROP DATABASE Mahasiswa;
DROP TABLE MHS;
DROP INDEX MHSIDX;
DROP VIEW MHSVIEW;
C. ALTER TABLE (MERUBAH STRUKTUR TABEL)
Sintaks : ALTER TABLE nama_tabel
ADD nama_kolom jenis_kolom
[FIRST | AFTER nama_kolom]
CHANGE [COLUMN] oldnama newnama
MODIFY nama_kolom jenis kolom, …
DROP nama_kolom
RENAME newnama_tabel
Contoh :
1. Tambahkan kolom JKEL dengan panjang 1 char pada tabel MHS ALTER TABLE MHS ADD JKEL char(1);
2. Ubah panjang kolom MTKULIAH menjadi 30 char ALTER TABLE MKUL MODIFY COLUMN MTKULIAH char(30);
3. Hapus kolom JKEL dari data table MHS ALTER TABLE MHS DROP JKEL;
DATA
MANIPULATION LANGUAGE (DML)
1. INSERT
Sintaks : INSERT INTO Nama_tabel [(nama_kolom1,…)]
Contoh :
Masukan data matakuliah Berkas Akses dengan kode KK222 dan besarnya 2
INSERT INTO MKUL VALUES(“KK222”,”Berkas Akses”, 2);
2. UPDATE
Sintaks : UPDATE nama_tabel
SET nama_kolom = value_1
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki NPM “50096487”
UPDATE MHS SET ALAMAT=”Depok” WHERE NPM=”50096487”;
3. DELETE
Sintaks : DELETE FROM nama_table WHERE kondisi
Contoh :
Hapus data nilai matakuliah “KK021” bagi mahasiswa yang mempunyai NPM “ 10296832”
DELETE FROM NILAI WHERE NPM=”10296832” AND KDMK=”KK021”
Tabel dibawah ini untuk mengerjakan Select (tampilan) dari SQL
Tabel Mahasiswa
Sintaks : INSERT INTO Nama_tabel [(nama_kolom1,…)]
Contoh :
Masukan data matakuliah Berkas Akses dengan kode KK222 dan besarnya 2
INSERT INTO MKUL VALUES(“KK222”,”Berkas Akses”, 2);
2. UPDATE
Sintaks : UPDATE nama_tabel
SET nama_kolom = value_1
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Depok” untuk mahasiswa yang memiliki NPM “50096487”
UPDATE MHS SET ALAMAT=”Depok” WHERE NPM=”50096487”;
3. DELETE
Sintaks : DELETE FROM nama_table WHERE kondisi
Contoh :
Hapus data nilai matakuliah “KK021” bagi mahasiswa yang mempunyai NPM “ 10296832”
DELETE FROM NILAI WHERE NPM=”10296832” AND KDMK=”KK021”
Tabel dibawah ini untuk mengerjakan Select (tampilan) dari SQL
Tabel Mahasiswa
4.
SELECT
Sintaks : SELECT [DISTINCT | ALL] nama_kolom FROM nama_tabel
[ WHERE condition ]
[ GROUP BY column_list ]
[HAVING condition ]
[ ORDER BY column_list [ASC | DESC]]
Contoh :
a. Tampilkan semua data mahasiswa
SELECT NIM,NAMA,ALAMAT FROM MAHASISWA; Atau SELECT * FROM MAHASISWA;
Maka hasilnya adalah :
Sintaks : SELECT [DISTINCT | ALL] nama_kolom FROM nama_tabel
[ WHERE condition ]
[ GROUP BY column_list ]
[HAVING condition ]
[ ORDER BY column_list [ASC | DESC]]
Contoh :
a. Tampilkan semua data mahasiswa
SELECT NIM,NAMA,ALAMAT FROM MAHASISWA; Atau SELECT * FROM MAHASISWA;
Maka hasilnya adalah :
b. Tampilkan Mata Kuliah yang SKSnya 2 Select NAMA_MK from matakuliah Where sks = 2
Maka Hasilnya :
c. Tampilkan semua data nilai dimana nilai MID lebih besar sama dengan 60 atau nilai finalnya lebih besar
75.
maka penulisannya :
SELECT * FROM NILAI WHERE MID >= 60 OR FINAL > 75
Hasilnya:
maka penulisannya :
SELECT * FROM NILAI WHERE MID >= 60 OR FINAL > 75
Hasilnya:
JOIN
1. JOIN atau INNER JOIN
Menggabungkan dua tabel dimana diantara dua tabel datanya bersesuaian.
2. LEFT JOIN atau LEFT OUTER JOIN
Menggabungkan dua tabel dimana diantara dua tabel datanya bersesuaian dan juga semua record pada tabel sebelah kiri.
3. RIGHT JOIN atau RIGHT OUTER JOIN
Menggabungkan dua tabel dimana diantara dua tabel
datanya
bersesuaian dan juga semua record pada tabel sebelah kanan.
SELECT Nilai.NIM, NAMA_MHS, KD_MK, MID FROM
Nilai INNER JOIN Mahasiswa
ON Nilai.NIM = Mahasiswa.NIM
Hasil :
ON Nilai.NIM = Mahasiswa.NIM
Hasil :
SELECT Mahasiswa.NIM, NAMA_MHS, KD_MK, MID FROM Mahasiswa LEFT OUTER JOIN Nilai ON Nilai.NIM = Mahasiswa.NIM
Hasil :
SELECT
Mahasiswa.NIM, NAMA_MHS, KD_MK, MID FROM Nilai RIGHT OUTER JOIN
Mahasiswa ON Nilai.NIM = Mahasiswa.NIM
DATA ACCESS
1. GRANT
Sintaks : GRANT hak_akses ON nama_db TO nama_pemakai
[IDENTIFIED BY] [PASSWORD] ‘Password’
[WITH GRANT OPTION] ;
GRANT hak_akses ON [nama_db.]nama_tabel TO nama_pemakai
1. GRANT
Sintaks : GRANT hak_akses ON nama_db TO nama_pemakai
[IDENTIFIED BY] [PASSWORD] ‘Password’
[WITH GRANT OPTION] ;
GRANT hak_akses ON [nama_db.]nama_tabel TO nama_pemakai
[IDENTIFIED BY]
[PASSWORD] ‘Password’
[WITH GRANT OPTION];
Contoh :
Berikan hak akses kepada Adi untuk menampikan nilai final test pada tabel Nilai.
GRANT SELECT (FINAL) ON NILAI TO ADI
Contoh :
Berikan hak akses kepada Adi untuk menampikan nilai final test pada tabel Nilai.
GRANT SELECT (FINAL) ON NILAI TO ADI
2. REVOKE
Sintaks : REVOKE hak_akses ON nama_db FROM nama_pemakai ; REVOKE hak_akses ON nama_tabel FROM nama_pemakai ;
Contoh :
Tarik kembali dari Adi hak akses untuk menampilkan nilai final test REVOKE SELECT (FINAL) ON NILAI FROM ADI DATA INTEGRITY RECOVER TABLE
Sintaks : RECOVER TABLE nama_tabel
Contoh :
Kembalikan keadaan data mahasiswa seperti pada saat sebelum terjadi kerusakan
RECOVER TABLE MAHASISWA ;AUXILIARY
1. SELECT … INTO OUTFILE ‘filename’
Sintaks ini digunakan untuk mengekspor data dari tabel
ke file lain.
Sintaks : SELECT … INTO
OUTFILE ‘Nama File’
[FIELDS | COLUMNS]
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char'] ]
Contoh :
Ubah semua data mahasiswa ke bentuk ASCII dan disimpan ke file teks di directory/home/adi dengan pemisah antar kolom ‘|’
SELECT * FROM MAHASISWA
INTO OUTFILE “/home/adi/teks”
FIELDS TERMINATED BY “ ½”;
2. LOAD
Sintaks query ini digunakan untuk mengimpor data dari file lain ke tabel.
Sintaks : LOAD DATA INFILE “ nama_path”
INTO TABLE nama_tabel [ nama_kolom] ;
[FIELDS | COLUMNS]
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char'] ]
Contoh :
Memasukkan data-data dari file teks yang berada pada direktori “/home/adi” ke dalam tabel MHS_2. Dimana pemisah antara kolom dalam file teks adalah tab (\t) :
LOAD FROM “/home/adi/teks”
INTO MHS_2
FILELDS TERMINATED BY ‘\t’;
3. RENAME TABLE
Sintaks :
RENAME TABLE OldnamaTabel TO NewNamaTabel
Contoh :
RENAME TABLE MAHASISWA TO MHS
Tarik kembali dari Adi hak akses untuk menampilkan nilai final test REVOKE SELECT (FINAL) ON NILAI FROM ADI DATA INTEGRITY RECOVER TABLE
Sintaks : RECOVER TABLE nama_tabel
Contoh :
Kembalikan keadaan data mahasiswa seperti pada saat sebelum terjadi kerusakan
RECOVER TABLE MAHASISWA ;AUXILIARY
1. SELECT … INTO OUTFILE ‘filename’
Sintaks ini digunakan untuk mengekspor data dari tabel
ke file lain.
Sintaks : SELECT … INTO
OUTFILE ‘Nama File’
[FIELDS | COLUMNS]
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char'] ]
Contoh :
Ubah semua data mahasiswa ke bentuk ASCII dan disimpan ke file teks di directory/home/adi dengan pemisah antar kolom ‘|’
SELECT * FROM MAHASISWA
INTO OUTFILE “/home/adi/teks”
FIELDS TERMINATED BY “ ½”;
2. LOAD
Sintaks query ini digunakan untuk mengimpor data dari file lain ke tabel.
Sintaks : LOAD DATA INFILE “ nama_path”
INTO TABLE nama_tabel [ nama_kolom] ;
[FIELDS | COLUMNS]
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char'] ]
Contoh :
Memasukkan data-data dari file teks yang berada pada direktori “/home/adi” ke dalam tabel MHS_2. Dimana pemisah antara kolom dalam file teks adalah tab (\t) :
LOAD FROM “/home/adi/teks”
INTO MHS_2
FILELDS TERMINATED BY ‘\t’;
3. RENAME TABLE
Sintaks :
RENAME TABLE OldnamaTabel TO NewNamaTabel
Contoh :
RENAME TABLE MAHASISWA TO MHS
MENGGUNAKAN FUNGSI AGGREGATE :
1. COUNT digunakan untuk menghitung jumlah.
Menghitung jumlah record mahasiswa dari tabel MAHASISWA SELECT COUNT(*) FROM MAHASISWA
2. SUM digunakan untuk menghitung total dari kolom yang mempunyai tipe data numerik.
SELECT SUM(SKS) AS ‘TOTAL SKS’ FROM MATAKULIAH
3. AVG digunakan untuk menghitung rata-rata dari data-data dalam sebuah kolom.
SELECT AVG(FINAL) AS ‘FINAL’ FROM
Nilai
4. MIN digunakan untuk menghitung nilai minimal dalam sebuah kolom.
SELECT MIN(FINAL) FROM Nilai
5. MAX diguankan untuk menghitung nilai maksismum dalam sebuah kolom
SELECT MAX(MID) FROM Nilai
4. MIN digunakan untuk menghitung nilai minimal dalam sebuah kolom.
SELECT MIN(FINAL) FROM Nilai
5. MAX diguankan untuk menghitung nilai maksismum dalam sebuah kolom
SELECT MAX(MID) FROM Nilai
SUBQUERY
Adalah subselect yang dapat digunakan di klausa WHERE dan HAVING dipernyataan select luar untuk menghasilkan tabel akhir.
Aturan-aturan untuk membuat subquery, yaitu :
1. Klausa Order By tidak boleh digunakan di subquery, Order By hanya dapat digunakan di pernyataan Select luar.
2. Klausa subquery Select harus berisi satu nama kolom tunggal atau ekspresi kecuali untuk subquery-subquery menggunakan kata kunci EXIST
3. Secara default nama kolom di subquery mengacu ke nama tabel di klausa FROm dari subquery tersebut.
4. Saat subquery adalah salah satu dua operan dilibatkan di pembandingan, subquery harus muncul disisi kanan pembandingan
Penggunanaan ANY dan ALL
Jika subquery diawali kata kunci ALL, syarat hanya akan bernilai TRUE jika dipenuhi semua nilai yang dihasilkan subquery itu.
Jika subquery diawali kata kunci ANY, syaratnya akan bernilai TRUE jika dipenuhi sedikitnya satu nilai yang dihasilkan subquery tersebut.
Penggunanaan EXIST DAN NOT EXIST EXIST akan mengirim nilai TRUE jika dan hanya jika terdapat
sedikitnya satu baris di tabel hasil yang dikirim oleh
subquery dan EXIST mengirim nilai FALSE jika subquery
mengirim tabel kosong.
Untuk NOT EXIST kebalikan dari EXIST.
(Masing-masing dosen membuat contoh untuk subquery)
CONTOH SUBQUERY :
1. Coba ambil nilai mid dan final dari mahasiswa yang bernama Astuti.
SELECT MID, FINAL FROM NILAI WHERE NIM=( SELECT NIM FROM MAHASISWAWHERE NAMA_MHS=‘Astuti’)
2. Ambil nilai kode matakuliah, mid dan final dari mahasiswa yang tinggal di jakarta.
SELECT KD_MK, MID, FINAL FROM NILAI WHERE NIM
IN(SELECT NIM FROM MAHASISWA WHERE ALAMAT_MHS = ‘Jakarta’)
3. Ambil nama-nama mahasiswa yang mengikuti ujian.
SELECT NAMA FROM MAHASISWA WHERE EXISTS (SELECT NIM FROM NILAI WHERE NILAI.NIM= MAHASISWA.NIM)
4. Ambil nama-nama mahasiswa yang tidak mengikuti ujian.
SELECT NAMA FROM MAHASISWA WHERE NOT EXISTS (SELECT NIM FROM NILAI WHERE NILAI.NIM=MAHASISWA.NIM)
PERTEMUAN KE-8
FRAGMENTASI DATA
Penyimpanan
Data pada Sistem Terdistribusi
Pada basisdata
terdistribusi, relasi dapat disimpan pada beberapa tempat.
- FRAGMENTASI DATA
Fragmentasi terdiri dari relasi yang
dibagi ke relasi atau fragmen yang lebih kecil dan mengirim fragmen pada beberapa tempat.
- REPLIKASI
DDBMS dapat membuat suatu copy dari fragmen pada beberapa situs
yang berbeda.
FRAGMENTASI
Fragmentasi data memisahkan relasi ke dalam beberapa fragment.
Tiap-tiap fragment disimpan pada site yang berbeda.
Fragmentasi data memisahkan relasi ke dalam beberapa fragment.
Tiap-tiap fragment disimpan pada site yang berbeda.
Aturan dalam Fragmentasi:
v
Kondisi
lengkap.
Seluruh data
dari relasi global harus dipetakan ke dalam fragment. Fragmentasi tidak akan
terjadi jika sebuah data item yang dimiliki oleh relasi global, tidak dimiliki
oleh beberapa fragment.
v
Kondisi
penyusunan kembali.
Harus selalu
mungkin untuk menyusun kembali tiap-tiap relasi global dari
fragmentfragmentnya. Hanya fragment-fragment yang disimpan dalam database
terdistribusi yang dapat membangun relasi global kembali melalui operasi
penyusunan kembali jika diperlukan.
v
Kondisi
disjoin.
Kondisi ini
sangat berguna terutama untuk fragmentasi horizontal, sementara untuk
fragmentasi vertikal kondisi ini kadang-kadang dilanggar.
FRAGMENTASI HORIZONTAL
•
Fragmentasi horizontal berisikan
tuple-tuple yang dipartisi dari sebuah relasi global ke dalam sejumlah subset
r1, r2, ... , rn.
•
Tiap-tiap subset berisikan sejumlah
tuple dari r. Tiap-tiap tuple dari r harus memiliki satu fragment, sehingga
relasi yang asli dapat disusun kembali.
•
Sebuah fragment dalam fragmentasi
horizontal dapat didefinisikan sebagai sebuah seleksi pada relasi global r.
•
Oleh karena itu sebuah predikat Pi digunakan untuk menyusun fragment ri
seperti berikut :
ri
= σi(r)
•
Penyusunan kembali dari relasi r
dapat diperoleh dengan mengambil gabungan dari seluruh fragment :
n
r
= U
ri
i=1
FRAGMENTASI VERTICAL
•
Dalam fragmentasi vertikal,
tiap-tiap fragment ri didefinisikan sebagai :
ri
= πi(r)
•
Relasi global dapat disusun kembali
dari fragment-fragment dengan mengambil natural join:
r
= r1 r2 r ..... Rn
•
Fragmentasi vertikal disempurnakan
dengan menambahkan sebuah atribut yang disebut tuple identifier (tuple-id) ke
dalam skema r. Sebuah tuple-id adalah sebuah alamat logik dari sebuah tuple.
•
Tiap-tiap tuple dalam r harus
memiliki sebuah alamat yang unik, atribut tuple-id sebagai kunci untuk
penambahan skema.
FRAGMENTASI CAMPURAN
•
Relasi r (global) dibagi-bagi ke dalam sejumlah relasi fragment r1, r2,
r3, ..., rn.
•
Tiap-tiap fragment diperoleh sebagai
hasil baik dari skema fragmentasi horizontal ataupun skema fragmentasi vertikal
pada relasi r, atau dari sebuah fragment r yang diperoleh sebelumnya.
Cara membangun fragmentasi campuran :
- Menggunakan
fragmentasi horizontal pada fragmentasi vertikal.
- Menggunakan
fragmentasi vertikal pada fragmentasi horizontal.
Contoh Fragmentasi
Relasi: Deposit (branch_name, account_number, customer_name,
balance)
Horizontal
•
Jika bank hanya memiliki dua cabang, Hillside dan Valleyview maka ada dua fragment yang
berbeda.
•
Kemudian fragmentasi horizontal
dapat diuraikan sbb :
Deposit1 = σ branch-name = "Hillside“ (Deposit)
Deposit2 = σ branch-name = "Valleyview" (Deposit)
Fragment
deposit1 disimpan pada site Hiilside dan fragment deposit2 disimpan pada site
Valleyview.
Dua Fragmen tersebut digambarkan Sbb:
•
Kondisi penyusunan kembali sangat
mudah untuk diperiksa karena selalu mungkin untuk disusun kembali relasi global
deposit melalui operasi berikut:
Deposit =
deposit1 U deposit2
Vertical
•
Pada fragmentasi vertikal, relasi
deposit memerlukan penambahan tuple-id
•
Berikut ini adalah relasi deposit
dengan penambahan tuple-id :
Sebuah fragmentasi vertikal dari relasi ini dapat diuraikan sebagai
berikut :
Deposit3 = π branch-name,customer-name,tuple-id (deposit)
Deposit4 = π account-number,balance,tuple-id (deposit)
•
Untuk menyusun kembali relasi
deposit yang asli dari fragment-fragment, kita dapat menggunakan:
Ï€
Deposit-scheme(deposit3 deposit4)
•
Atribut join dari ekspresi di atas
adalah tuple-id. Karena tuple-id menggambarkan sebuah alamat, hal ini
memungkinkan untuk memasangkan sebuah tuple dari deposit3 yang berhubungan
dengan tuple dari deposit4 dengan menggunakan alamat yang diberikan oleh harga tuple-id.
•
CampuranMisalkan relasi r adalah
relasi deposit dari contoh sebelumnya. Relasi ini dibagi ke dalam fragment deposit3 dan deposit4 (Vertical).
•
Selanjutnya kita dapat membagi fragment deposit3 menjadi fragment deposit3a dan
fragment deposit3b dengan menggunakan skema fragmentasi horizontal ke dalam dua
fragment berikut :
Deposit3a = σ branch-name = "Hillside" (Deposit3)
Deposit3b = σ branch-name = "Valleyview" (Deposit3)
REPLIKASI
sistem
memelihara sejumlah salinan/duplikat tabel-tabel data. Setiap salinan tersimpan
dalam simpul yang berbeda, yang menghasilkan replikasi data. Jika tabel r
direplikasi, salinan dari tabel tersebut disimpan dalam dua atau lebih simpul.
•
Keuntungan dan Kerugian dari
penerapan Metode Replikasi:
- Ketersediaan
yang tinggi
jika karena
suatu sebab sebuah simpul yang berisi tabel r mengalami kerusakan, maka tabel
yang sama masih dapat kita perolah dari simpul yang lain. Dengan begitu, sistem
tersebut masih dapat melanjutkan proses query yang melibatkan tabel r itu.
b. Peningkatan Keparalelan
pada kasus dimana
pengaksesan ke tabel r pada umumnya hanya berupa proses pembacaan data, maka
pemprosesan query pada simpul-simpul yang melibatkan tabel r tersebut dapat
dieksekusi secara paralel.
c. Peningkatan beban pengubahan data
Sistem harus dapat
menjaga konsistensi semua salinan dari tabel r tersebut. Artinya jika tabel r
di ubah, maka perubahan tersebut harus dijalarkan ke semua lokasi yang memiliki
salinan tabel r tersebut. Akibatnya, beban proses pengubahan data menjadi
meningkat.
PERTEMUAN
KE-9
PERANCANGAN DAN IMPLEMENTASI BASIS DATA MENGGUNAKAN DB
Designer
PERANCANGAN
DAN IMPLEMENTASI BASIS
DATA
MENGGUNAKAN MYSQL
Perangkat Lunak Bantu untuk
Perancangan Basis Data
Pada perangkat lunak bantu telah tersedia komponenkomponen
(notasi-notasi) perancangan basis data.
Salah satu perangkat lunak bantu untuk keperluan semacam
itu adalah DBDesigner yang dioptimalkan untuk MySQL
Database.
Pada perangkat lunak bantu telah tersedia komponenkomponen
(notasi-notasi) perancangan basis data.
Salah satu perangkat lunak bantu untuk keperluan semacam
itu adalah DBDesigner yang dioptimalkan untuk MySQL
Database.
- Tampilan jendela DBDesigner.
Contoh
penggunaan DBDesigner
Menggunakan Komponen TABEL dan RELASI
Klik komponen Tabel pada toolbar seperti di gambar berikut.
Letakan komponentsb. pada page area sehingga muncul komponen
Tabel (Table_01) pada page area, kemudian klik kanan komponen tsb sehingga muncul menu dan pilihlah Edit Object seperti berikut.
Klik komponen Tabel pada toolbar seperti di gambar berikut.
Letakan komponentsb. pada page area sehingga muncul komponen
Tabel (Table_01) pada page area, kemudian klik kanan komponen tsb sehingga muncul menu dan pilihlah Edit Object seperti berikut.
Menu Edit Object akan menampilkan jendela Table Editor.
Pada Table Editor kita bisa menentukan properties dari tabel seperti nama tabel, tipe data, primary key dsb.
Ubah dan simpanlah properties tabel (Table _01) menjadi tabel faktur
(struktur tabel seperti pada pembahasan LRS tanpa ada FK) seperti berikut.
Pada Table Editor kita bisa menentukan properties dari tabel seperti nama tabel, tipe data, primary key dsb.
Ubah dan simpanlah properties tabel (Table _01) menjadi tabel faktur
(struktur tabel seperti pada pembahasan LRS tanpa ada FK) seperti berikut.
Ulangi langkah-langkah menggunakan komponen Table di atas (tabel faktur) untuk tabel barang dan langganan (struktur tabel seperti pada pembahasan LRS tanpa ada FK). Sehingga ada 3 komponen Table seperti gambar berikut
Langkah berikutnya membuat relasi 1-M antara langganan dengan faktur dengan cara klik komponen 1-n Relation pada toolbar seperti di gambar berikut.
Klik di tabel langganan kemudian klik di tabel faktur,
sehingga muncul komponen relasi yang
menghubungkan kedua tabel tsb. dan FK (NLgn) berada pada tabel faktur,
seperti gambar berikut
Langkah berikutnya membuat relasi M-M antara faktur dengan barang dengan cara klik komponen n-m Relation pada toolbar seperti di gambar berikut
Klik di tabel faktur kemudian klik di tabel barang, sehingga muncul komponen relasi yang disertai munculnya tabel baru (faktur_has_barang) dan FK (Nfak & NBrg) berada pada tabel tsb, seperti gambar berikut.
Edit properties tabel faktur_has_barang yaitu dengan mengganti nama menjadi tabel transaksi dan menambahkan field Qty dan HrgTran. Sehingga menjadi seperti gambar berikut.
Untuk mengekspor hasil rancangan database ke dalam database digunakan Database Synchronization. Database yang digunakan pada contoh ini adalah MySQL. Sebelum melakukan sinkronisasi, kita perlu membuat koneksi ke database MySQL terlebih dahulu. Jika remote connection dengan root diperbolehkan maka gunakan user root. Jika tidak maka kita butuh membuat user baru terlebih dahulu. Berikut ini adalah cara bagaimana membuat user baru yaitu db_owner.
Lakukan login terlebih dahulu ke MySQL dengan memasukkan password root.
Mengekspor Tabel Hasil Rancangan Ke Server Database Mengekspor tabel ke server database bisa dilakukan dari menu Database lalu pilih Database Sychronisastion seperti gambar berikut.
Lalu pilih MySQL sebagai database dan kemudian klik New Database Connection
Masukkan Nilai berikut: Connection Name : MySQL Hostname : localhost Database Name : dbpenjualan UserName : dbo Password : owner ,Lalu klik OK
Klik Connect untuk terkoneksi ke MySQL
Klik Execute untuk mengeksekusi
sinkronisasi
Setelah tampil jendela seperti di atas, selanjutnya klik tombol EXECUTE untuk mengekspor tabel ke server database MySQL dan akan tampil progress report seperti berikut
PERTEMUAN KE-10
LINGKUNGAN
DATA
Pengertian
Basis Data
Basis
data (database) adalah kumpulan dari berbagai data yang saling
berhubungan satu dengan yang lainnya. Basis data tersimpan di perangkat keras,
serta dimanipulasi dengan menggunakan perangkat lunak. Pendefinisian basis data
meliputi spesifikasi dari tipe data, struktur dan batasan dari data atau
informasi yang akan disimpan. Database merupakan salah satu komponen
yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan
informasi pada para pengguna atau user.
B. Lingkungan Basis Data
Lingkungan
basis data adalah sebuah habitat di mana terdapat basis data untuk bisnis.
Dalam lingkungan basis data, pengguna memiliki alat untuk mengakses data.
Pengguna melakukan semua tipe pekerjaan dan keperluan mereka bervariasi seperti
menggali data (data mining), memodifikasi data, atau berusaha membuat
data baru. Masih dalam lingkungan basis data, pengguna tertentu tidak
diperbolehkan mengakses data, baik secara fisik maupun logis.
C. Arsitektur Basis Data
Arsitektur
Basis data merupakan suatu kumpulan data yang tersimpan secara sistematik
dimana user dapat melihat data dan bagaimana cara user melihat data
tersebut.Arsitektur ini juga berfungsi memberikan kerangka kerja bagi
pembangunan basis data.
1. Konsep DBMS
Database Management
System (DBMS) merupakan paket program (Software) yang dibuat agar
memudahkan dan mengefisienkan pemasukan, pengeditan, penghapusan dan
pengambilan informasi terhadap database. Software yang tergolong kedalam DBMS
antara lain, Microsoft SQL, MySQL, Oracle, MS. Access, dan lain-lain
2. Komponen DBMS
ü Perangkat keras
Berupa komputer dan
bagian-bagian didalamnya, seperti prosesor, memori & harddisk. Komponen
inilah yang melakukan pemrosesan dan juga untuk menyimpan basis data.
ü Basisdata
Sebuah DBMS dapat
memiliki beberapa basisdata, setiap basisdata dapat berisi sejumlah obyek
basisdata (file,tabel,indeks dsb). Disamping berisi data,setiap basisdata juga
menyimpan definisi struktur (baik untuk basisdata maupun obyek-obyeknya secara
detail).
ü Perangkat lunak
Perangkat lunak ini
terdiri dari sistem operasi dan perangkat lunak/program pengelola basisdata.
Perangkat lunak inilah yang akan menentukan bagaimana data
diorganisasi,disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme
pengamanan data, pemakaian data secara bersama, pemaksaan
keakuratan/konsistensi data, dsb. Contoh perangkat lunak DBMS : MS access, SQL
Server, Oracle dsb.
ü Pengguna/user
Pengguna dapat
digolongkan menjadi 3 :
· Pengguna akhir / end user.
Dapat dibagi menjadi
2 :
1. Pengguna aplikasi adalah orang
yang mengoperasikan program aplikasi yang dibuat oleh pemrogram aplikasi.
2. Pengguna interaktif adalah orang yg dpt
memberikan perintah-perintah pada antar muka basisdata, misalnya SELECT, INSERT
dsb.
·Pemrogram aplikasi
adalah orang yang
membuat program aplikasi yang menggunakan basisdata.
· Administrator database / DBS (database
administrator)
adalah orang yang
bertanggungjawab terhadap pengelolaan basisdata.
Dalam Pembahasan Komponen
Basis Data , kita mengenal DBMS ( Database Management System ) . Sistem ini
hanya mengenal bahasa Basis Data , dimana Bahasa Basis Data merupakan bahasa
yang digunakan oleh user untuk berkomunikasi/berinteraksi dengan DBMS yang
bersangkutan. Contoh dari Bahasa Basis Data , miisalnya SQL, dBase, QUEL dsb.
Bahasa Basis Data dipilah ke dalam 2 bentuk yaitu ,
1. Data Definition Language (DDL)
Bahasa Basis Data dipilah ke dalam 2 bentuk yaitu ,
1. Data Definition Language (DDL)
Dengan bahasa ini kita dapat membuat
tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan
tabel dsb.
2. Data Manipulation Language (DML).
2. Data Manipulation Language (DML).
Berguna untuk melakukan manipulasi
dan pegambilan data pada suatu basis data.
Berupa:
- penyisipan/penambahan data baru (insert)
- penghapusan data (delete)
- pengubahan data (update)
Jenis Data Manipulation Language :
1. Prosedural : mensyaratkan agar pemakai menentukan data apa yang diinginkan serta bagaimana cara mendapatkannya.
2. Nonprosedural : pemakai menentukan data yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.
Berupa:
- penyisipan/penambahan data baru (insert)
- penghapusan data (delete)
- pengubahan data (update)
Jenis Data Manipulation Language :
1. Prosedural : mensyaratkan agar pemakai menentukan data apa yang diinginkan serta bagaimana cara mendapatkannya.
2. Nonprosedural : pemakai menentukan data yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.
D. Model Data
Adalah kumpulan
konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan
batasan – batasan data dalam suatu organisasi.
Model data terbagi
menjadi 2, yaitu :
1. Model Data Berbasis Objek
Beberapa jenis model
data berbasis objek :
-
entity-relationship
-
semantic
-
functional
-
abject-oriented
2. Model Data Berbasis Record
Beberapa jenis model
data berbasis record :
-
relational
-
hierarchical
-
network
- software
pengolah data dpat memperkenalkan produk – produk baru tanpa mengganggu
program aplikasi yang sudah ada.Memindahkan perkembangan program – program
aplikasi.
- Memberikan
fasilitas pengontrolan terpusat oleh DBA demi keamanan.
E. Arsitektur DBMS
Three-schema-architecture:
Arsitektur DBMS yg terdiri dari 3 level, yaitu:
• Level Internal:
Berisi skema internal, menjelaskan bagaimana
penyimpanan data base secara fisik, bagaimana cara akses dan apa pathnya
• Level Konseptual:
Berisi skema konseptual, menjelaskan struktur
BD pada user
• Level Eksternal: (user VIEW)
Setiap user memiliki view data berbeda-beda
tergantung kewenangannya
• Arsitektur ini bertujuan :
– Memisahkan program dgn data
– Mendukung multiple user
Ada 3 masalah yang disebabkan oleh
Concurrency :
1. Masalah kehilangan modifikasi (Lost Update Problem)
Masalah ini timbul jika dua
transaksi mengakses item database yang sama yang mengakibatkan nilai dari
database tersebut menjadi tidak benar.
Contoh Lost Update problem
Data transaksi pada rekening bersama
(Ika dan Susi)
Nilai saldo menjadi tidak benar
disebabkan transaksi Susi membaca nilai saldo sebelum transaksi Ika mengubah
nilai tersebut dalam database, sehingga nilai yang sudah di update yang
dihasilkancdari transaksi Ika menjadi hilang.
2. Masalah Modifikasi Sementara (uncommited
Update Problem)
Masalah ini timbul jika transaksi
membaca suatu record yang sudah dimodifikasi oleh transaksi lain tetapi belum
terselesaikan (uncommited), terdapat kemungkinan kalau transaksi
tersebut dibatalkan (rollback).
Contoh uncommited Update Problem
Nilai saldo menjadi tidak benar
disebabkan terjadi RollBack pada T7 yang membatalkan transaksi
sebelumnya (T6), sehingga saldo
seharusnya tetap 2.000.000
3. Masalah Analisa yang tidak
konsisten (Problem of inconsistency Analysis)
Masalah ini timbul jika sebuah
transaksi membaca suatu nilai tetapi transaksi yang kedua mengupdate beberapa
nilai tersebut selama eksekusi transaksi pertama.
Contoh Problem of inconsistency
Analysis
Transaksi A menjumlahkan nilai 1,
nilai 2 dan nilai 3
Transaksi B -> nilai 1 + 10,
nilai 3 –10
LOCKING
adalah salah satu mekanisme pengontrol Concurrency
KONSEP
DASAR :
Ketika sebuah
transaksi memerlukan jaminan kalau record yang diinginkan tidak akan berubah
secara mendadak, maka diperlukan kunci untuk record tersebut FUNGSI Locking
berfungsi untuk menjaga record tersebut agar tidak dimodifikasi oleh transaksi
lain.
Jenis- Jenis
Lock :
1. Share (S)
Kunci ini memungkinkan
pengguna dan para pengguna konkuren yang lain dapat membaca record tetapi tidak
mengubahnya.
2. Exclusive
(X)
Kunci ini
memungkinkan pengguna untuk membaca dan mengubah record. Sedangkan pengguna
konkuren lain tidak diperbolehkan membaca ataupun mengubah record tersebut.
•KASUS CARA
KERJA LOCKING
TIMESTAMPING
Adalah salah
satu alternatif mekanisme kontrol konkurensi yang dapat menghilangkan masalah
dead lock
Dua masalah
yang timbul pada Timestamping :
1. Suatu
transaksi memerintahkan untuk membaca sebuah item yang sudah di update oleh
transaksi yang belakangan.
2. Suatu
transaksi memerintahkan untuk menulis sebuah item yan nilainya sudah dibaca
atau ditulis oleh transaksi yang belakangan
PERTEMUAN
KE-11
CRASS DAN RECOVERY
PENGERTIAN :
Crass adalah suatu failure atau kegagalam dari suatu sistem
PENGERTIAN :
Crass adalah suatu failure atau kegagalam dari suatu sistem
PENYEBAB DARI KEGAGALAN ADALAH :
1. Disk Crash yaitu informasi yang ada di disk akan hilang
2. Power failure yaitu informasi yang disimpan pada memori utama dan register akan hilang
3. Software Error yaitu output yang dihasilkan tidak betul dan sistem databasenya sendiri akan memasuki suatu kondisi tidak konsisten
KLASIFIKASI FAILURE
Berdasarkan Jenis storage
1. Volatile storage, biasanya informasi yang terdapat pada volatile akan hilang, jika terjadi kerusakan sistem (system crash) contoh: RAM
2. Non Volatile Storage, biasanya informasi yang terdapat pada non volatile strorage tidak akan hilang jika terjadi kerusakan sistem contoh: ROM
3. Stable Storage, informasi yang terdapat dalam stable storage tidak pernah hilang. contoh: Harddisk RAID
Jenis kegagalan :
1. Logical Error, program tidak dapat lagi dilaksanakan disebabkan oleh kesalahan input, data tidak
ditemukan, over flow
2. System Error, sistem berada pada keadaan yang tidak diinginkan, seperti terjadi deadlock, sebagai akibat program tidak dapat dilanjutkan namun setelah beberapa selang waktu program dapat dijalankan kembali.
3. System Crash,kegagalan fungsi perangkat keras, menyebabkan hilangnya data pada volatile storage,
tetapi data pada non volatile storage masih tetap ada. Disk Failure, hilangnya data dari sebuah blok disk disebabkan oleh kerusakan head atau kesalahan pada waktu pengoperasian transfer data
SECURITY dan INTEGRITY
SECURITY adalah suatu proteksi data terhadap perusakan data dan pemakaian oleh pemakai yang
tidak mempunyai ijin.
BEBERAPA MASALAH SECURITY SECARA
UMUM :
1. Di dalam suatu perusahaan siapa yang diijinkan untuk mengakses suatu sistem
2. Bila sistem tersebut menggunakan password, bagaimana kerahasian dari password tersebut dan berapa lama password tersebut harus diganti
3. Di dalam pengontrolan hardware, apakah ada proteksi untuk penyimpanan data (data storage)
DUA KATAGORI PENYALAHGUNAAN DATABASE :
1. Katagori yang tidak disengaja
Contoh: Anomali yang disebabkan oleh pendistribusian data pada beberapa komputer
2. Katagori yang disengaja
Contoh: Insert, Delete & Update oleh pihak yang tidak berwenang
BEBERAPA TINGKATAN MASALAH SECURITY :
1. Phisical, berkaitan dengan pengamanan lokasi fisik database
2. Man, berkaitan dengan wewenang user
3. Sistem operasi, berkaitan dengan kemanan sistem operasi yang digunakan dalam jaringan
4. Sistem database, sistem dapat mengatur hak akses user
PEMBERIAN WEWENANG DAN VIEW
KONSEP VIEW adalah cara yang diberikan pada seorang pemakai untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan
Database relational membuat pengamanan pada level :
- Relasi, seorang pemakai diperbolehkan atau tidak
mengakses langsung suatu relasi
- View, seorang pemakai diperbolehkan atau tidak
mengakses data yang terdapat pada view Read
- Authorization, data dapat dibaca tapi tidak boleh
dimodifikasi
- Insert Authorozation, pemakai boleh menambah data baru,
tetapi tidak dapat memodifikasi data yang sudah ada.
- Update Authorization, pemakai boleh memodifikasi tetapi
tidak dapat menghapus data
- Delete Authorization, pemakai boleh menghapus data
- Index Authorization, pemakai boleh membuat atau
menghapus index
- Resource Authorization, mengizinkan pembuatan relasi –
relasi baru
- Alternation Authorization, mengizinkan penambahan atau
penghapusan atribute dalam satu relasi
- Drop Authorization, pemakai boleh menghapus relasi
yang ada
INTEGRITY
Berarti memeriksa keakuratan dan validasi data
BEBERAPA JENIS INTEGRITY :
1. Integrity Konstains, memberikan suatu sarana yang memungkinkan pengubahan database oleh pemakai berwenang sehingga tidak akan menyebabkan data inkonsistensi
2. Integrity Rule (pada basisdata relational), terbagi menjadi:
- Integrity Entity, contoh: tidak ada satu komponen kunci primer yang bernilai kosong (null)
- Integrity Referensi, suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan
Berarti memeriksa keakuratan dan validasi data
BEBERAPA JENIS INTEGRITY :
1. Integrity Konstains, memberikan suatu sarana yang memungkinkan pengubahan database oleh pemakai berwenang sehingga tidak akan menyebabkan data inkonsistensi
2. Integrity Rule (pada basisdata relational), terbagi menjadi:
- Integrity Entity, contoh: tidak ada satu komponen kunci primer yang bernilai kosong (null)
- Integrity Referensi, suatu domain dapat dipakai sebagai kunci primer bila merupakan atribut tunggal pada domain yang bersangkutan
BEBERAPA MASALAH
SECURITY SECARA
UMUM :
1. Di dalam suatu perusahaan siapa
yang diijinkan untuk mengakses suatu sistem
2. Bila sistem tersebut menggunakan
password, bagaimana kerahasian dari password tersebut dan berapa lama password
tersebut harus diganti
3. Di dalam pengontrolan hardware,
apakah ada proteksi untuk penyimpanan data (data storage)
DUA KATAGORI
PENYALAHGUNAAN DATABASE :
1. Katagori yang tidak disengaja
Contoh: Anomali yang disebabkan oleh pendistribusian
data pada beberapa komputer
2. Katagori yang disengaja
Contoh: Insert, Delete &
Update oleh pihak yang tidak berwenang
BEBERAPA TINGKATAN
MASALAH SECURITY :
1. Phisical, berkaitan dengan
pengamanan lokasi fisik database
2. Man, berkaitan dengan wewenang user
3. Sistem operasi, berkaitan dengan
kemanan sistem operasi yang digunakan dalam jaringan
4. Sistem database, sistem dapat
mengatur hak akses user
PEMBERIAN WEWENANG
DAN VIEW
KONSEP VIEW adalah cara yang diberikan
pada seorang pemakai untuk mendapatkan model database yang sesuai dengan
kebutuhan perorangan
Database relational membuat pengamanan
pada level : Relasi, seorang pemakai diperbolehkan atau tidak mengakses
langsung suatu relasi
View, seorang pemakai diperbolehkan
atau tidak mengakses data yang terdapat pada view Read Authorization, data
dapat dibaca tapi tidak boleh
Dimodifikasi Insert Authorozation,
pemakai boleh menambah data baru,
tetapi tidak dapat memodifikasi data
yang sudah ada
Update Authorization, pemakai boleh
memodifikasi
tetapi tidak dapat menghapus data
Delete Authorization, pemakai boleh
menghapus data Index Authorization, pemakai boleh membuat atau menghapus index Resource
Authorization, mengizinkan pembuatan relasi – relasi baru Alternation
Authorization, mengizinkan penambahan atau penghapusan atribute dalam satu
relasi Drop Authorization, pemakai boleh menghapus relasi yang ada
INTEGRITY
Berarti memeriksa keakuratan dan
validasi data
BEBERAPA JENIS
INTEGRITY :
1. Integrity
Konstains,
memberikan suatu sarana yang memungkinkan pengubahan database oleh pemakai berwenang
sehingga tidak akan menyebabkan data inkonsistensi
2. Integrity Rule (pada
basisdata relational), terbagi menjadi:
- Integrity Entity, contoh:
tidak ada satu komponen kunci
primer yang bernilai kosong (null)
- Integrity Referensi, suatu
domain dapat dipakai sebagai
kunci primer bila merupakan atribut
tunggal pada domain yang bersangkutan
EmoticonEmoticon