Bentuk Normal Kedua 2NF Bentuk Normal Ketiga 3NF

98 abaikan SMS ini bila telah melakukan pembayaran, Terimakasih Class_id Class_desc City_id City_desc 1 Al Hamra 1 Ciputat 2 Damaskus 2 Cireundeu 3 Iskandaria 3 Bintaro

4.3.4.3 Bentuk Normal Kedua 2NF

Bentuk normal kedua didasari atas konsep full functional dependency ketergantungan fungsional sepenuhnya yang dapat didefinisikan jika A dan B adalah atribut-atribut dari suatu relasi, B dikatakan full functional dependency memliki ketergantungan sepenuhnya terhadap A, jika B tergantung fungsional terhadap A, tetapi tidak secara tepat memliki ketergantungan fungsional dari subset himpunan bagian dari A. Syarat normal kedua adalah 1. Bentuk data telah memenuhi kriteria bentuk normal kesatu. 2. Atribut bukan kunci, haruslah memiliki ketergantungan fungsional sepenuhnya pada kunci utama primary key. 99 testimoni PK id_testimoni testimoni wali read day date hour photo username outbox PK id InsertIntoDB UpdateIntoDB SendingDateTime DestinationNumber text DeliveryRep textDecoded CreatorID Sixth_month_rep PK smr_id rep_date rep_date_end sub_id sub_desc ability_id ability_desc achive_code achive_desc username Third_month_rep PK tmr_id rep_date rep_date_end sub_id sub_desc ability_id ability_desc achive_code achive_desc username weekly_rep PK wr_id rep_date rep_date_end notes sub_id sub_desc topic_id topic_desc achive_code achive_desc attitide_id attitude_desc username sent_item PK id UpdateInDB InsertIntoDB status SendingDateTime DeliveryDateTime Text DestinationNumber SMSCNumber Text TextDecoded Status CreatorID username Teacher PK teacher_id name username password user PK username gender address name place_of_birth date_of_birth grade email telephone class_id class_name city_id city_desc level teacher_id Gambar 4.17 Bentuk normal kedua 100

4.3.4.4 Bentuk Normal Ketiga 3NF

Jika pada relasi 2NF memiliki redudansi yang lebih sedikit dari pada relasi 1NF, namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan update terhadap relasi tersebut. Syarat normal ketiga adalah: 1. Bentuk data telah memenuhi criteria bentuk normal kedua. 2. Atribut bukan kunci haruslah tidak memiliki ketergantungan transitif. dengan kata lain suatu atribut bukan kunci tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya, seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional kepada primary key direlasi itu saja. Pada tahap ini atribut yang mengalami ketergantungan fungsional terhadap primary key adalah atribut dari tabel topic, achivement, ability dan tabel subject yang membentuk tabel sub_ability_sixth, sub_ability_third, sub_topic_week dan attitude_week. Dengan kata lain, seluruh atribut bukan kunci dari tabel topic, achivement, ability, attitude dan subject telah mengalami ketergantungan fungsional sepenuhnya terhadap atribut kunci pada tabel sub_ability_sixth, sub_ability_third, sub_topic_week dan attitude_week. 101 Gambar 4.18 Tabel user pada bentuk normal kedua A F E D C B username Class_id Class_desc City_id City_desc nama Jakarta 1 Konstantinopel 1 Indra 93003092 Atribut bukan kunci class_desc dan city_desc haruslah tidak memiliki ketergantungan transitif. dengan kata lain suatu atribut bukan kunci class_desc dan city_desc tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya class_id dan city_id. Gambar 4.19 Tabel user pada bentuk normal ketiga A E C B username Class_id City_id nama 1 1 Indra 93003092 Atribut bukan kunci Nama sudah bergantung secara fungsional sepenuhnya pada kunci utama primary key. Pada tabel user seperti tergambar pada gambar 4.18 untuk bentuk normal ketiganya menjadi tabel user seperti pada gambar 4.19 dimana tabel class dan city terpecah seperti pada tabel 4.3. 102 Tabel 4.3 Tabel Class dan City pada bentuk normal ketiga C D E F Class_id Class_desc City_id City_desc 1 Jakarta 1 Jakarta Atribut bukan kunci class_desc dan city_desc sudah bergantung secara fungsional sepenuhnya terhadap kunci utama. Seluruh atribut bukan kunci class_desc dan city_desc pada suatu relasi hanya memiliki ketergantungan fungsional kepada primary key class_id dan city_id direlasi itu saja. Gambar 4.20 Tabel Sixth_month_rep pada bentuk normal kedua A F E D C B Smr_id Rep_date_end Sub_id Sub_desc Ability_id Rep_date 1 Islamic 1 01-06-11 01-01-11 1 G I H Ability_desc Achive_desc Achive_code Excelent 1 About prophet Atribut bukan kunci sub_desc, ability_desc, dan achive_desc haruslah tidak memiliki ketergantungan transitif. dengan kata lain suatu atribut bukan kunci sub_desc, ability_desc, dan achive_desc tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya sub_id, ability_id, dan achive_code. 103 Gambar 4.21 Tabel sixth_month_rep pada bentuk normal ketiga A F D C B Smr_id Rep_date_end Sub_id Ability_id Rep_date 1 1 01-06-11 01-01-11 1 H Achive_code 1 Atribut bukan kunci rep_date dan rep_date_end sudah ber- gantung secara fungsional sepenuhnya pada kunci utama primary key. Pada tabel sixth_month_rep seperti pada gambar 4.20 untuk bentuk normal ketiganya menjadi yang tergambar pada gambar 4.21 dimana tabel subject, ability dan achive masing-masing terpecah menjadi seperti tabel 4.4. Tabel 4.4 Tabel Subject, Ability dan Achive pada bentuk normal ketiga J K L M N O Sub_id Sub_desc Ability_id Ability_desc Achive_code Achive_desc 1 Islamic 1 Islamic 1 Good Atribut bukan kunci sub_desc, ability_desc dan achive_desc sudah bergantung secara fungsional sepenuhnya terhadap kunci utama primary key sub_id, ability_id dan achive_code. 104 class PK class_id class_desc outbox PK id InsertIntoDB UpdateIntoDB SendingDateTime DestinationNumber text DeliveryRep textDecoded CreatorID city PK city_id city_desc subject PK sub_id sub_desc ability PK ability_id ability_desc achive PK achive_code achive_desc attitude PK attitude_id attitude_desc topic PK topic_id topic_desc Report PK report_id best_std need_apprent_std teacher_id class_id student PK nis nama gender address place_of_birth date_of_birth grade email telephone level class_id city_id teacher_id user_id testimoni PK testimoni_id testimoni wali read day date hour photo nis teacher PK teacher_id name gender address place_of_birth date_of_birth email telephone class_id user_id sent_item PK id UpdateInDB InsertIntoDB status SendingDateTime DeliveryDateTime Text DestinationNumber SMSCNumber TextDecoded Status CreatorID nis sixth_month_rep PK smr_id rep_date rep_date_end sub_id ability_id nis achive_code thirth_month_rep PK tmr_id rep_date rep_date_end sub_id ability_id achive_code nis weekly_rep PK wr_id rep_date rep_date_end notes sub_id topic_id achive_code attitude_id nis user PK user_id username password level Gambar 4.22 ERD yang dinormalisasi 105

4.3.5 Kamus data Data Dictionary