Professional Documents
Culture Documents
Penyataan Masalah
Objektif
1. Sistem ini hanya boleh digunakan bagi pertandingan bercerita peringkat daerah pasir
berdengung sahaja.
2. Sistem ini hanya membolehkan setiap peserta dinilai sekali sahaja oleh seorang hakim
3. Sistem ini hanya akan memaparkan keputusan sekiranya semua peserta telah dinilai
4. Pertandingan hanya akan menerima markah tunggal
5. Pertandingan ini adalah terbuka kepada semua pelajar sekolah menengah di daerah pasir
berdengung. (mengikut sekolah yang telah didaftarkan dalam sistem sahaja)
1. Sistem ini hanya boleh digunakan bagi pertandingan bercerita peringkat daerah pasir
berdengung sahaja.
2. Sistem ini hanya membolehkan setiap peserta dinilai sekali sahaja oleh seorang hakim
3. Sistem ini hanya akan memaparkan keputusan sekiranya semua peserta telah dinilai
4. Setiap peserta akan dinilai mengikut kategori permarkahan yang telah ditetapkan.
5. Pertandingan ini hanya terbuka kepada semua pelajar sekolah menengah di daerah pasir
berdengung sahaja ( mengikut sekolah yang telah didaftarkan dalam sistem sahaja)
Modul PHPMYSQL paling mudah
Kumpulan Sasaran
Justifikasi
Nama Sistem
Pertandingan tiktok merdeka
Modul PHPMYSQL paling mudah
PESERTA
0NF
Masalah
• Jadual tidak atomik
• Tiada kunci primer
• Menyebabkan anomali dan kelewahan data
Penyelesaian
• Menukarkan jadual kepada bentuk 1NF
1NF
Objektif penukaran 0NF kepada 1NF (apa yang perlu dilakukan)
• Memastikan lajur jadual atomic
• Menentukan atribut kunci
PESERTA
2NF
PESERTA
3NF
Semasa proses pemecahan jadual, kod sekolah dan nama sekolah di masukkan ke dalam jadual baru
iaitu jadual sekolah. Kod_sekolah dijadikan kunci primer dalam jadual sekolah dan menjadi kunci asing
di dalam jadual peserta. Begitu juga dengan nokp_hakim dan nama hakim dimasukkan dalam jadual
baru iaitu hakim. nokp_hakim dijadikan kunci primer di jadual hakim dan kunci asing di jadual peserta.
FASA PENAMBAHBAIKAN
Selepas selesai 3NF, kita akan melaksanakan fasa penambahbaikan. Tujuan fasa penambahbaikan ini
adalah untuk membolehkan skema hubungan 3NF berada pada tahap yang paling optimum sebelum
skema hubungan dijadikan pangkalan data. Terdapat pelbagai perkara yang boleh dilakukan sewaktu
fasa penambahbaikan salah satu darinya adalah menambah medan yang baru. Jadi bagi membolehkan
sistem beroperasi untuk login, maka perlunya ditambah medan katalaluan_peserta dan
katalaluan_hakim dalam jadual. Jika tidak, sistem tidak boleh beroperasi kerana tidak mempunyai
kebolehan untuk log masuk
Ini merupakan skema hubungan terakhir yang akan digunapakai sewaktu membangunkan pangkalan
data nanti.
Modul PHPMYSQL paling mudah
0NF
Masalah
• Tiada kunci primer
• Jadual tidak atomik
• Menyebabkan anomali dan kelewahan data
Penyelesaian
• Menukarkan jadual kepada bentuk 1NF
1NF
Objektif penukaran 0NF kepada 1NF (apa yang perlu dilakukan)
• Memastikan lajur jadual atomic
• Menentukan atribut kunci
Setelah menandakan kunci dan menyalin semula semua baris yang berulang, jadual kini terkini telah
berada pada 1NF. Akan tetapi, masih terdapat kemungkinan kebergantungan fungsi separa dan
kebergantungan fungsi pada jadual. Ini akan menyebabkan duplikasi data dan anomali. Jadi jadual perlu
di tukarkan kepada bentuk 2NF
2NF
Syarat Penukaran 1NF kepada 2NF
• Jadual telah berada pada 1NF (telah mempunyai kunci dan telah atomik
Objektif penukaran 1NF kepada 2NF (apa yang perlu dilakukan)
• Menghapuskan kebergantungan fungsi separa (Pecah jadual). Kebergantungan fungsi separa
bermaksud atribut bukan kunci hanya bergantung kepada salah satu atribut kunci pada jadual
Daripada rajah di atas, didapati bahawa nama peserta, kod_sekolah dan nama_sekolah mempunyai
kebergantungan fungsi separa dimana ianya hanya bergantung kepada kunci nokp_peserta. Manakala
kategori_markah hanya bergantung kepada kunci kod_kategori. Bagi atribut bukan kunci nokp_hakim,
nama_hakim dan mata akan bergantung kepada kedua-dua kunci iaitu nokp_peserta dan kod_kategori.
Untuk menghapuskan kebergantungan fungsi separa ini, pemecahan jadual perlu dilakukan.
Semasa proses menghapuskan kebergantungan fungsi separa, 2 jadual baru dibentuk iaitu jadual
peserta dan kategori. Pada jadual peserta nokp_peserta dijadikan kunci primer manakala dalam jadual
kategori kod_kategori dijadikan kunci primer dalam jadual kategori. Pada jadual asal(penyertaan),
nokp_peserta dan kod_kategori dijadikan <KP><KA>.
Modul PHPMYSQL paling mudah
Setelah ditukarkan kepada bentuk 2NF, terdapat lagi isu yang timbul iaitu kebergantungan fungsi
transitif pada jadual penyertaan dan jadual peserta. Oleh yang demikian, proses penormalan perlu
diteruskan sehingga 3NF
3NF
Syarat Penukaran 2NF kepada 3NF
• Jadual telah berada pada 2NF (Tiada Kebergantungan Fungsi Separa)
Objektif penukaran 2NF kepada 3NF (apa yang perlu dilakukan)
• Menghapuskan kebergantungan fungsi Transitif (Pecah jadual). Kebergantungan fungsi transitif
bermaksud atribut bukan kunci bergantung kepada atribut bukan kunci didalam sesebuah
jadual.
PENYERTAAN
PESERTA
Modul PHPMYSQL paling mudah
Bagi menghapus kebergantungan fungsi transitif di jadual penyertaan, nokp_hakim dan nama hakim
akan di masukkan kedalam jadual baru hakim. nokp_hakim dijadikan sebagai kunci primer di dalam
jadual hakim. manakala di jadual penyertaan pula, nokp_hakim akan dijadikan sebagai kunci asing.
Bagi menghapuskan kebergantungan fungsi transitif di jadual penyertaan, kod sekolah dan nama
sekolah akan di keluarkan kedalam jadual baru. Kod_sekoalh akan menjadi kunci primer pada jadual
sekolah dan akan menjadi kunci asing di dalam jadual peserta.
FASA PENAMBAHBAIKAN
Selepas selesai 3NF, kita akan melaksanakan fasa penambahbaikan. Tujuan fasa penambahbaikan ini
adalah untuk membolehkan skema hubungan 3NF berada pada tahap yang paling optimum sebelum
skema hubungan dijadikan pangkalan data. Terdapat pelbagai perkara yang boleh dilakukan sewaktu
fasa penambahbaikan salah satu darinya adalah menambah medan yang baru. Jadi bagi membolehkan
sistem beroperasi untuk login, maka perlunya ditambah medan katalaluan_peserta dan
katalaluan_hakim dalam jadual. Jika tidak, sistem tidak boleh beroperasi kerana tidak mempunyai
kebolehan untuk log masuk