Lossless Join Decomposition Chapter 6 Ika Menarianti SBD- Join Lossless Decomposition - Ika Menarianti
Algoritma Join-Lossless Algoritma ini memiliki 2 input. Input pertama adalah himpunan relasi 𝑟 1 ( 𝑅 1 ), 𝑟 2 ( 𝑅 2 ), ... , 𝑟 𝑛 ( 𝑅 𝑘 ) yang menggantikan relasi 𝑟( 𝐴 1 , 𝐴 2 ,…, 𝐴 𝑛 ) dengan 𝑅= 𝐴 1 , 𝐴 2 ,…, 𝐴 𝑛 = 𝑅 1 ∪ 𝑅 2 ∪…∪ 𝑅 𝑘 . Input kedua adalah himpunan F dari dependensi fungsional yang dipenuhi oleh r. Outputnya adalah keputusan bahwa dekomposisi yang terbentuk lossless atau lossy. SBD- Join Lossless Decomposition - Ika Menarianti
Penerapan Algoritma Join-Lossless Buat tabel dengan n kolom dan k baris. Beri label untuk kolom dengan 𝐴 1 , 𝐴 2 , 𝐴 3 ,…, 𝐴 𝑛 dan untuk baris 𝑅 1 , 𝑅 2 , 𝑅 3 ,…, 𝑅 𝑛 . Untuk setiap atribut 𝐴 𝑖 periksa apakah atribut adalah salah satu dari atribut skema relasi 𝑅 𝑗 . Jikan 𝐴 𝑖 berada dalam skema 𝑅 𝑗 , maka dalam entri ( 𝐴 𝑖 , 𝑅 𝑗 ) tulislah 𝑎 𝑖 . Jika 𝐴 𝑖 bukan merupakan salah satu dari atribut dalam skema relasi 𝑅 𝑗 , maka dalam entri ( 𝐴 𝑖 , 𝑅 𝑗 ) tulislah 𝑏 𝑖𝑗 . SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Setiap dependensi fungsional 𝑋→𝑌 dari F, lakukan hal berikut: (3-a) jika terdapat dua atau lebih baris dengan nilai sama dalam atribut determinan X, maka buat entrinya menjadi sama didalam atribut Y. Ketika menyamakan simbol pada kolom, jika salah satunya 𝑎 𝑗 , buat seluruhnya menjadi 𝑎 𝑗 . Jika merupakan 𝑏 𝑖𝑗 dan 𝑏 𝑘𝑙 , pilih salah satu. (3-b) jika tidak ada 2 baris dengan nilai sama, lanjutkan. Periksa baris dari tabel. Jika terdapat baris dengan entri sama dengan 𝑎 1 𝑎 2 … 𝑎 𝑛 maka dekomposisi adalah lossless. SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Contoh Soal 1. Perhatikan relasi r(X, Y, Z, W, Q), himpunan 𝐹={𝑋→𝑍, 𝑌→𝑍, 𝑍→𝑊, 𝑊𝑄→𝑍,𝑍𝑄→𝑋} dan dekomposisi r kedalam relasi 𝑅 1 (𝑋,𝑊), 𝑅 2 (𝑋,𝑌), 𝑅 3 (𝑌,𝑄), 𝑅 4 (𝑍,𝑊,𝑄) dan 𝑅 5 (𝑋,𝑄). Tentukan apakah dekomposisi lossless atau lossy. SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Langkah (1 – 2) Karena relasi memiliki 5 atribut dan relasi mengalami dekomposisi menjadi 5 relasi, maka perlu membuat tabel dengan 5 kolom dan 5 baris. Kolom diberi nama X, Y, Z, W dan Q. Baris diberi nama 𝑅 1 , 𝑅 2 , 𝑅 3 , 𝑅 4 , 𝑅 5 . Ganti nama atribut menjadi 𝐴 1 , 𝐴 2 , 𝐴 3 , 𝐴 4 , 𝐴 5 . 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑅 2 𝑅 3 𝑅 4 𝑅 5 SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Karena X merupakan salah satu atribut relasi 𝑅 1 . Tuliskan 𝑎 1 ke dalam entri ( 𝑅 1 , 𝐴 1 ) atau ekuivalennya ( 𝑅 1 , X). Dalam kolom 𝐴 1 dan baris 𝑅 1 tulis 𝑎 1 . Tuliskan 𝑎 4 dalam entri ( 𝑅 1 , 𝐴 4 ). Kedalam entri yang tersisa di baris 𝑅 1 tuliskan nilai 𝑏 𝑖𝑗 dengan i adalah jumlah kolom dan j adalah jumlah baris. Tuliskan 𝑏 12 , 𝑏 13 , dan 𝑏 15 . 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑎 1 𝑏 12 𝑏 13 𝑎 4 𝑏 15 𝑅 2 𝑅 3 𝑅 4 𝑅 5 SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Kemudian isilah entri-entri yang tersisa di tabel. 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑎 1 𝑏 12 𝑏 13 𝑎 4 𝑏 15 𝑅 2 𝑎 2 𝑏 23 𝑏 24 𝑏 25 𝑅 3 𝑏 31 𝑏 33 𝑏 34 𝑎 5 𝑅 4 𝑏 41 𝑏 42 𝑎 3 𝑅 5 𝑏 52 𝑏 53 𝑏 54 SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) (pertama kali) Perhatikan 𝑋→𝑍 atau 𝐴 1 → 𝐴 3 . Cari tupel yang punya nilai sama dikolom X( 𝐴 1 ). Baris 𝑅 1 , 𝑅 2 dan 𝑅 5 memiliki nilai sama 𝑎 1 . Kita samakan atau membuat nilai dalam atribut Z( 𝐴 3 ) menjadi sama. Z adalah sisi kanan dari dependensi fungsional. Entri untuk baris 𝑅 1 , 𝑅 2 dan 𝑅 5 dalam kolom Z adalah 𝑏 13 , 𝑏 23 dan 𝑏 53 . Samakan nilai entri dengan memilih salah satu nilai (memilih 𝑏 13 sebagai nilai representatif). Ulangi langkah 3 SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Nilai yang telah diubah dan dibuat sama dengan 𝑏 13 di baris 𝑅 1 diberi warna abu-abu. 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑎 1 𝑏 12 𝑏 13 𝑎 4 𝑏 15 𝑅 2 𝑎 2 𝑏 24 𝑏 25 𝑅 3 𝑏 31 𝑏 33 𝑏 34 𝑎 5 𝑅 4 𝑏 41 𝑏 42 𝑎 3 𝑅 5 𝑏 52 𝑏 54 SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) (kedua kali) Perhatikan 𝑌→𝑍 atau 𝐴 2 → 𝐴 3 . Cari baris yang memiliki nilai yang sama dikolom Y ( 𝐴 2 ). Baris 𝑅 2 dan 𝑅 3 memiliki nilai sama 𝑎 2 . Kita samakan atau membuat nilai dalam atribut Z( 𝐴 3 ) menjadi sama. Dengan memilih 𝑏 13 sebagai nilai representatif, ubah 𝑏 33 menjadi 𝑏 13 . Ulangi langkah 3 SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Nilai yang telah diubah dan dibuat sama dengan 𝑏 13 di baris 𝑅 3 diberi warna abu-abu. 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑎 1 𝑏 12 𝑏 13 𝑎 4 𝑏 15 𝑅 2 𝑎 2 𝑏 24 𝑏 25 𝑅 3 𝑏 31 𝑏 34 𝑎 5 𝑅 4 𝑏 41 𝑏 42 𝑎 3 𝑅 5 𝑏 52 𝑏 54 SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) (ketiga kali) Perhatikan Z→𝑊 atau 𝐴 3 → 𝐴 4 . Cari tupel yang memiliki nilai yang sama dikolom Z ( 𝐴 3 ). Baris 𝑅 1 , 𝑅 2 , 𝑅 3 dan 𝑅 5 memiliki nilai sama 𝑏 13 , kemudian ubah seluruhnya menjadi 𝑎 3 . Perlu membuat seluruh nilai dalam atribut W( 𝐴 4 ) menjadi sama. Karena salah satu nilai di kolom W adalah 𝑎 4 , maka buat seluruh entri 𝑏 𝑖𝑗 menjadi 𝑎 4 . Ulangi langkah 3 SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Nilai yang telah diubah diberi warna abu-abu. 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑎 1 𝑏 12 𝑎 3 𝑎 4 𝑏 15 𝑅 2 𝑎 2 𝑏 25 𝑅 3 𝑏 31 𝑎 5 𝑅 4 𝑏 41 𝑏 42 𝑅 5 𝑏 52 SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) (keempat kali) Perhatikan WQ→𝑍 atau 𝐴 4 𝐴 5 → 𝐴 3 . Cari baris yang memiliki nilai yang sama dikolom 𝐴 4 dan 𝐴 5 . Baris 𝑅 3 , 𝑅 4 dan 𝑅 5 memiliki nilai sama 𝑎 4 dan 𝑎 5 , kemudian samakan seluruh nilai dikolom Z. Karena seluruh nilai di kolom Z sudah sama, tidak perlu ada perubahan. Ulangi langkah 3 SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) (kelima kali) Perhatikan ZQ→𝑋 atau 𝐴 3 𝐴 5 → 𝐴 1 . Cari baris yang memiliki nilai yang sama dikolom ZQ ( 𝐴 3 dan 𝐴 5 ). Baris 𝑅 3 , 𝑅 4 dan 𝑅 5 memiliki nilai sama 𝑎 3 dan 𝑎 5 , kemudian samakan seluruh nilai dikolom X. Karena satu entri dari kolom X adalah 𝑎 1 buat seluruh 𝑏 𝑖𝑗 menjadi 𝑎 1 . Ulangi langkah 3 SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Nilai yang telah diubah diberi warna abu-abu. 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑎 1 𝑏 12 𝑎 3 𝑎 4 𝑏 15 𝑅 2 𝑎 2 𝑏 25 𝑅 3 𝑎 5 𝑅 4 𝑏 42 𝑅 5 𝑏 52 SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) (keenam kali) Tidak ada lagi FD untuk diamati dan selesai dengan langkah 3. Langkah (4) Cari baris yang memiliki seluruh nilainya 𝑎 𝑖 . Karena baris 𝑅 3 telah menjadi 𝑎 1 𝑎 2 𝑎 3 𝑎 4 𝑎 5 , maka dekomposisinya lossless. 𝑋(𝐴) 1 𝑌( 𝐴 2 ) 𝑍( 𝐴) 3 𝑊( 𝐴 4 ) 𝑄( 𝐴 5 ) 𝑅 1 𝑎 1 𝑏 12 𝑎 3 𝑎 4 𝑏 15 𝑅 2 𝑎 2 𝑏 25 𝑅 3 𝑎 5 𝑅 4 𝑏 42 𝑅 5 𝑏 52 SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Contoh Soal 2 Perhatikan relasi r(X, Y, Z) dan dekomposisinya yaitu 𝑅 1 (𝑋,𝑌) dan 𝑅 2 (𝑌,𝑍). Asumsikan bahwa 𝑋→𝑌 dan 𝑍→𝑌 . Gunakan algoritma Join lossless Decomposition untuk menentukan apakah lossless atau lossy? Langkah (1-2) Karena relasi aslinya ada 3 atribut dan telah didekomposisi menjadi 2 relasi, maka perlu membuat tabel dengan 3 kolom dan 2 baris. SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) --pertama kali X( 𝐴 1 ) Y( 𝐴 2 ) Z( 𝐴 3 ) 𝑅 1 𝑅 2 Skema relasi 𝑅 1 terdiri dari atribut X dan Y, maka tuliskan 𝑎 1 dan 𝑎 2 .Skema relasi 𝑅 2 terdiri dari atribut Y dan Z, maka tuliskan 𝑎 2 dan 𝑎 3 . X( 𝐴 1 ) Y( 𝐴 2 ) Z( 𝐴 3 ) 𝑅 1 𝑎 1 𝑎 2 𝑏 13 𝑅 2 𝑏 21 𝑎 3 Langkah (3/3-a) --pertama kali Perhatikan 𝑋→𝑌, cari baris yang memiliki nilai yang sama dalam X. Jika tidak ada tabel akan tetap tanpa perubahan SBD- Join Lossless Decomposition - Ika Menarianti
Langkah (3/3-a) -- kedua kali Perhatikan Z→𝑌, cari baris yang memiliki nilai yang sama dalam Z. Jika tidak ada tabel akan tetap tanpa perubahan Langkah (3) Tidak ada lagi FD. Langkah (4) Tidak ada baris yang semua nilainya 𝑎 𝑖 . Maka dekomposisinya adalah lossy SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Review (SOAL-SOAL) SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Soal 1 Perhatikan relasi r(X, Y, Z, W, P, Q), himpunan 𝐹={𝑋𝑌→𝑊, 𝑋𝑊→𝑃, 𝑃𝑄→𝑍, 𝑋𝑌→𝑄} dan dekomposisi r kedalam relasi 𝑅 1 (𝑍,𝑃,𝑄), 𝑅 2 𝑋,𝑌,𝑊,𝑃,𝑄 . Tentukan apakah dekomposisi lossless atau lossy. SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti SOAL 2 Perhatikan relasi r(X, Y, Z, W, Q), himpunan 𝐹={𝑋→𝑌, 𝑋𝑍→𝑊, 𝑌𝑊→𝑄} dan dekomposisi r kedalam relasi 𝑅 1 (𝑋,𝑌), 𝑅 2 𝑋,𝑍,𝑊 dan 𝑅 3 (𝑌,𝑊,𝑄) Tentukan apakah dekomposisi lossless atau lossy. SBD- Join Lossless Decomposition - Ika Menarianti
SBD- Join Lossless Decomposition - Ika Menarianti Soal 3 Perhatikan relasi r(𝑋,𝑌,𝑊,𝑍,𝑃,𝑄), himpunan 𝐹={𝑋𝑌→𝑊, 𝑋𝑊→𝑃, 𝑃𝑄→𝑍, 𝑋𝑌→𝑄, 𝑃→𝑄} dan dekomposisi r kedalam relasi 𝑅 1 (𝑋,𝑌,𝑊), 𝑅 2 𝑋,𝑌,𝑄 dan 𝑅 3 (𝑋,𝑍,𝑊) Tentukan apakah dekomposisi lossless atau lossy. SBD- Join Lossless Decomposition - Ika Menarianti