Pertemuan 11 FRAGMENTASI DATA
FRAGMENTASI DATA Merupakan sebuah proses pembagian atau pemetaan database dimana database dipecah-pecah berdasarkan kolom dan baris yang kemudian disimpan didalam site atau unit komputer yang berbeda dalam suatu jaringan data, sehingga memungkinkan untuk pengambilan keputusan terhadap data yang telah terbagi. Alasan-alasan diperlukannya fragmentasi, yaitu : Penggunaan Efisiensi Paralleslisme Keamanan
Kebiasaan ; umumnya aplikasi bekerja dengan tabel views dibandingkan dengan semua hubungan data. Oleh karenanya untuk distribusi data , yang cocok digunakan adalah bekerja dengan subset dari sebuah relasi sebagai unit dari distribusi. Efisien ; data disimpan dekat dengan yang menggunakan. Dengan tambahan data yang tidak sering digunakan tidak usah disimpan.
Paralel ; dengan fragmen-fragmen tersebut sebagai unit dari suatu distribusi , sebuah transaksi dapat di bagi kedalam beberapa sub queri yang dioperasikan pada fragmen tersebut. Hal ini meningkatkan konkurensi atau paralelisme dalam sistem, sehingga memperbolehkan transaksi mengeksekusi secara aman dan paralel. Keamanan ; data yang tidak dibutuhkan oleh aplikasi tidak disimpan dan konsukuen tidak boleh di ambil oleh pengguna yang tidak mempunyai otoritas.
BEBERAPA PERATURAN YANG HARUS DIDEFINISIKAN KETIKA MENDEFINISIKAN FRAGMENT : 1. Kondisi lengkap (Completeness) sebuah unit data yang masih dalam bagian dari relasi utama, maka data harus berada dalam satu fragmen. Ketika ada relasi, pembagian datanya harus menjadi satu kesatuan dengan relasinya. 2. Rekontruksi (Reconstruction) sebuah relasi asli dapat dibuat kembali atau digabungkan kembali dari sebuah fragmen. Ketika telah dipecah-pecah, data masih memungkinkan untuk digabungkan kembali dengan tidak mengubah struktur data. 3. Disjointness data didalam fragmen tidak boleh diikutkan dalam fragmen lain agar tidak terjadi redundancy data, kecuali untuk atribut primary key dalam fragmentasi vertikal
Kerugian fragmentasi yaitu : Kinerja yang dapat turun karena data tersebar dan butuh proses untuk penggabungan kembali Integritas yang dapat terganggu dikarenakan kegagalan pada salah satu site database server
Menggunakan fragmentasi horisontal pada fragmentasi vertikal TIGA JENIS FRAGMENTASI : 1. Fragmentasi horisontal terdiri dari tuple dari fragment global yang kemudian dipecah-pecah atau disekat menjadi beberapa sub-sets 2. Fragmentasi vertikal Membagi atribut-atribut dari fragment global yang tersedia menjadi beberapa grup. 3. Fragmentasi campuran Cara yang sederhana untuk membangun fragmentasi campuran sbb : Menggunakan fragmentasi horisontal pada fragmentasi vertikal Menggunakan fragmentasi vertical pada fragmentasi horisontal
CONTOH KASUS JENIS-JENIS FRAGMENTASI Ujian (NIM,Nama_Mhs,Kode_MK,Mt_Kuliah,Nil_Akhir,Grade) NIM Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir Grade 123 124 125 126 127 128 129 Fathi Farah Sarah Salsabila Azizah Farhan Faiz 101 102 103 Sistem Basis Data Peranc. Sistem Visual Basic 78 60 40 90 70 80 B C D A
Relasi Mt_Kuliah=“Sistem Basis Data” Fragmentasi Horisontal terbagi menjadi 3 fragment yang berbeda berdasarkan Mt_Kuliah Relasi Mt_Kuliah=“Sistem Basis Data” Mt_Kuliah=“Sistem Basis Data” (Ujian) NIM Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir Grade 123 125 126 Fathi Sarah Salsabila 101 Sistem Basis Data 78 40 90 B D A
2. Relasi Mt_Kuliah=“Peranc. Sistem” Mt_Kuliah=“Peranc. Sistem” (Ujian) NIM Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir Grade 124 129 Farah Faiz 102 Peranc. Sistem 60 80 C A 3. Relasi Mt_Kuliah=“Visual Basic” Mt_Kuliah=“Visual Basic” (Ujian) NIM Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir Grade 127 128 Azizah Farhan 103 Visual Basic 70 40 B D
Contoh
Fragment di atas memenuhi kondisi jika Nama_Mhs dan Mt_Kuliah adalah hal-hal yang memenuhi syarat Fragmentasi vertical: berdasarkan dekomposisi-nya dengan menambahkan tupel id NIM Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir Grade Tuple_ID 123 124 125 126 127 128 129 Fathi Farah Sarah Salsabila Azizah Farhan Faiz 101 102 103 Sistem Basis Data Peranc. Sistem Visual Basic 78 60 40 90 70 80 B C D A 1 2 3 4 5 6 7
Relasi 1 = NIM, Nama_Mhs, Mt,Kuliah, Nil_Akhir, Grade, Tuple_ID NIM,Nama_Mhs,Mt,Kuliah,Nil_Akhir,Grade,Tuple_ID (UJian) NIM Nama_Mhs Mt_Kuliah Nil_Akhir Grade Tuple_ID 123 124 125 126 127 128 129 Fathi Farah Sarah Salsabila Azizah Farhan Faiz Sistem Basis Data Peranc. Sistem Visual Basic 78 60 40 90 70 80 B C D A 1 2 3 4 5 6 7
Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian) NIM Kode_MK Nil_Akhir Grade Tuple_ID 123 124 125 126 127 128 129 101 102 103 78 60 40 90 70 80 B C D A 1 2 3 4 5 6 7
Fragmentasi Campuran Terdapat relasi berdasarkan Mata Kuliah yang sama Relasi 1a. NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID( Mt_Kuliah=“Perancangan Basis Data” (Ujian)) NIM Nama_Mhs Mt_Kuliah Nil_Akhir Grade Tuple_ID 123 125 126 Fathi Sarah Salsabila Sistem Basis Data 78 40 90 B D A 1 3 4 Relasi 1b. NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID( Mt_Kuliah=“Peranc. Sistem” (Ujian)) NIM Nama_Mhs Mt_Kuliah Nil_Akhir Grade Tuple_ID 124 129 Farah Faiz Peranc. Sistem 60 80 C A 2 7
Relasi 1c NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID( Mt_Kuliah=“Visual Basic” (Ujian)) NIM Nama_Mhs Mt_Kuliah Nil_Akhir Grade Tuple_ID 127 128 Azizah Farhan Visual Basic 70 40 B D 5 6 Bagaimana bentuk database untuk data yang telah mengalami proses fragmentasi? Fragmentasi data merupakan langkah yang diambil untuk menyebarkan data dalam database terdistribusi . Selanjutnya akan dibahas apa yang dimaksud Database terdistribusi.
Adanya perkembangan pada jaringan komputer menghasilkan suatu bentuk desentralsasi . Pendekatan desentralisasi ini merupakan gambaran dari suatu organisasi yang memiliki banyak cabang organisasi, dimana terbagi – bagi menjadi beberapa divisi, departemen, proyek dan masih banyak lagi, dan dalam bentuk infrastruktur dan akan terbagi – bagi kembali menjadi beberapa kantor cabang, pabrik-pabrik dimana setiap unit tersebut mengoperasionalkan datanya secara sendiri – sendiri. (Date,2000).
Data yang digunakan secara bersama- sama dan efisiensi dalam pengaksesan data harus diiringi dengan perkembangan dari sistem basis data terdistribusi, yang merupakan refleksi dari struktur organisasi, sehingga data dapat diakses dimana saja dan melakukan penyimpanan data di lokasi yang memang data tersebut sering digunakan.
DATABASE TERDISTRIBUSI Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logik tetapi tersebar secara fisik pada suatu jaringan komputer. Karakteristik Database terdistribusi, yaitu : Kumpulan data yang digunakan bersama secara logik tersebar pada sejumlah komputer yang berbeda Komputer yang dihubungkan menggunakan jaringan komunikasi Data pada masing-masing situs dapat menangani aplikasi-aplikasi lokal secara otonom Data pada masing situs dibawah kendali satu DBMS Masing-masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global
DBMS Terdistribusi :Sebuah sistem perangkat lunak yang mengatur basis data terdistribusi dan membuat pendistribusian data secara transparan. DDBMS memiliki satu logikal basis data yang dibagi ke dalam beberapa fragment. Dimana setiap fragment disimpan pada satu atau lebih komputer dibawah kontrol dari DBMS yang terpisah , dengan mengkoneksi komputer menggunakan jaringan komunikasi. Masing- masing site memiliki kemampuan untuk mengakses permintaan pengguna pada data lokal dan juga mampu untuk memproses data yang disimpan pada komputer lain yang terhubung dengan jaringan.
Pengguna mengakses basis data terdistribusi dengan menggunakan dua aplikasi yaitu aplikasi lokal dan aplikasi global, sehingga DDBMS memiliki karakteristik yaitu : Kumpulan dari data logik yang digunakan bersama-sama Data di bagi menjadi beberapa fragment Fragment mungkin mempunyai copy ( replika ) Fragment / replika nya di alokasikan pada yang digunakan Setiap site berhubungan dengan jaringan komunikasi Data pada masing-masing site dibawah pengawasan DBMS DBMS pada masing-masing site dapat mengatasi aplikasi lokal, secara otonomi Masing-masing DBMS berpastisipasi paling tidak satu global aplikasi.
Manajemen Sistem Basis Data Yang Terdistribusi
Pemrosesan Terdistribusi : Basis data tersentralisasi yang dapat diakses di semua jaringan komputer
Point utama dari definisi basis data terdistribusi adalah sistem terdiri dari data yang secara fisik di distribusikan pada beberapa site yang terhubung dengan jaringan. Jika data nya tersentralisasi walaupun ada pengguna lain yang mengakses data melewati jaringan , hal ini bukan disebut dengan DDBMS melainkan pemrosesan secara distribusi.
BENTUK-BENTUK TOPOLOGI DISTRIBUSI DATA : a. Fully Connected network
Fully Connected network : Keuntungan : kalau salah satu node rusak, yang lainnya masih dapat berjalan (tetapi biaya mahal). Kerugian : control management tidak terjamin
b. Partialy conneted network F E C A
Partially connected network : Keuntungan : reliability rendah, biaya dapat ditekan Kerugian : control management tidak terjamin
C. Tree Strutured Network A B C F G D E
Tree structure network : Keuntungan : bersifat sentral, control management lebih terjamin Kerugian : kalau node pusat (A) rusak, semua akan rusak. Cat : setiap proses dimulai dari bawah.
d. Ring network C D A E B F
Ring Network (LAN) : Keuntungan : rusak satu, yang lain masih berjalan Kerugian : Control management kurang terjamin karena bersifat desentralisasi
e. Star network B E A D C
Star Network (LAN) : Keuntungan : - control management lebih terjamin, karena bersifat sentral - reliability rendah Kerugian : kalau pusat rusak, yang lainnya rusak
KEUNTUNGAN DAN KERUGIAN DATABASE TERDISTRIBUSI Secara alami mengikuti struktur organisasi Adanya otonomi lokal Sifatnya dapat dipakai secara bersama Peningkatan ketersediaan Peningkatan kehandalan Peningkatan kinerja Ekonomis Pertumbuhan yang modular
Secara alami mengikuti struktur organisasi Adanya otonomi lokal: karena data didistribusikan, user dapat mengakses dan bekerja,dengan data tersebut sehingga memiliki kontrol local. Sifatnya dapat dipakai secara bersam-sama: jika sistem informasi tidak terdistribusi, akan sulit untuk berbagi data dan sumber daya. Sistem DB terdistribusi memungkinkan hal ini. Peningkatan ketersediaan Peningkatan kehandalan: jika satu site mengalami crash, dapat membuat beberapa site tidak dapat diakses. Jika data direplikasi ke banyak site, kerusakan hubungan komunikasi tidak menjadikan sistem total tidak dapatdioperasikan.
Peningkatan kinerja: karena setiap site menangani hanya bagian dari DB,CPU dan I/ O tidak seberat seperti DB pusat. Data yang dipakai untuk transaksi disimpan dalam beberapa site, sehingga eksekusi transaksi dapat secara parallel. Ekonomis: dari biaya komunikasi, baik membagi aplikasi dan memproses secara local di setiap site. Dari biaya komunikasi data, akan lebih murah untuk memelihara sistem komputer dalam satu site dan menyimpan data secara local. Pertumbuhan yang modular: akan lebih mudah mengakomodasikan ukuran DB yang semakin besar. Ekspansi dapat dilakukan dengan menambah proses dan kekuatan penyimpanan ke jaringan.
KERUGIAN : Harga software mahal (Biaya) Kompleksitas Kelemahan dalam keamanan Sulitnya menjaga keutuhan data Kurangnya standar Kurangnya pengalaman Perancangan basisdata lebih kompleks
Harga software mahal: Hal ini disebabkan sangat sulit membuat sistem databse distribusi Kompleksitas: masalah DDBS lebih kompleks dibandingkan denganmanajemen database terpusat Kelemahan dalam keamanan: akan mudah mengontrol database yang terpusat. Dalam sistem database terdistribusi, jaringan membutuhkan keamanan tersendiri.
Sulitnya menjaga keutuhan data Kurangnya standar Kurangnya pengalaman: sistem DB terdistribusi bertujuan umum (generalpurpose) tidak sering digunakan. Yang digunakan adalah sistem prototype yang dibuat untuk satu aplikasi (misal : reservasi pesawat) Perancangan basisdata lebih kompleks
Latihan Soal Perancangan Basis Data 1. Proses pembagian atau pemetaan database dimana database dipecah pecah menjadi baris dan kolom a. Distribusi d. Restrict b. Pemetaan e. Fragmentasi c. Divide 2. Jenis-jenis fragmentasi a. Restriction, Project b. Distributed c. Drop, Alter, Create d. Horizontal, vertical, campuran e. Ring, Start, Fully Network
Perancangan Basis Data Latihan Soal Perancangan Basis Data 2. Jenis-jenis fragmentasi a. Restriction, Project b. Distributed c. Drop, Alter, Create d. Horizontal, vertical, campuran e. Ring, Start, Fully Network 3. Yang merupakan contoh fragmentasi vertical adalah a. Mt_Kuliah=“Peranc. Sistem” (Ujian) b. Kd_Kuliah=175 (Ujian) c. Cabang=“Depok” (Toko) d. NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian) e. Mt_Kuliah=“Visual Basic” (Ujian)
Latihan Soal Perancangan Basis Data 3. Yang merupakan contoh fragmentasi vertical adalah a. Mt_Kuliah=“Peranc. Sistem” (Ujian) b. Kd_Kuliah=175 (Ujian) c. Cabang=“Depok” (Toko) d. NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian) e. Mt_Kuliah=“Visual Basic” (Ujian) 4. Kerugian penggunaan database terdistribusi adalah : a. Otonomi Lokal d. Avaibility b. Biaya pemrosesan tinggi e. Ekonomis c. Kecepatan terlalu tinggi
Latihan Soal Perancangan Basis Data 4. Kerugian penggunaan database terdistribusi adalah : a. Otonomi Lokal d. Avaibility b. Biaya pemrosesan tinggi e. Ekonomis c. Kecepatan terlalu tinggi 5. Relasi dipartisikan ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda merupakan tehnik : a. Controlling d. Normalisasi b. Fragmentasi data e. Recovery c. Crash
Perancangan Basis Data Latihan Soal Perancangan Basis Data 5. Relasi dipartisikan ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda merupakan tehnik : a. Controlling d. Normalisasi b. Fragmentasi data e. Recovery c. Crash 1. Salah satu topologi distribusi data, dimana masing-masing terminal atau node saling terhubungi yaitu : a. Tree struktur network c. Partiality network b. Fully connected network d. Star network e. Ring Network