Entity Relationalship Diagram ERD Normalisasi

4.3.2. Perancangan Basis Data

Perancangan basis data perlu dilakukan setelah mendapatkan gambaran sistem dari sudut pandang pengguna. Tahapan awal dalam perancangan basis data ini adalah membuat pemodelan data konseptual yang akan dijadikan konsep basis data, setelah didapat model basis data, maka data konseptual tersebut diwujudkan dalam hubungan antara tabel menggunakan asosiasi sehingga didapatkan model data relational. Berikut ini akan dijelaskan langkah-langkah yang dilakukan dalam merancang basis data :

4.3.2.1 Entity Relationalship Diagram ERD

Setelah dilakukan perancangan sistem, selanjutnya dilakukan perancangan database yang bertujuan untuk menggambarkan hubungan antar entity. Perancangan database yang dibuat menggunakan struktur ERD, struktur ERD sebelum di normalisasi pada sistem informasi monitoring korosi ini terlihat pada Gambar 4.4 berikut: memiliki gl_corr_rate retrieving_date_ coupon corr_rate_ coupon . . . gl_ chemical_ treatment chemical_ treatment_type condition _ct . . . gl_corr_risk_ data contingency_line community . . . gl_ext_corr_ protection type_cp anode_ weight . . . gl_ general pipe_size pipe_ grade . . . gl_ pigging_ facility barrel_ length_ launcher nominal _ length_launcher . . . gl_int_corr_mon_dev fitting_size condition . . . gl_ pipe_ condition original_gl location . . . gl_ water_ sampling nos condition_ws . . . gl_ scaling_ tendency pipeline_number line_type nos_af plug _manufacture . . . line_type line_type line_type line_type line_type line_type line_type line_type line_type pipeline_number pipeline_number pipeline_number pipeline_number pipeline_number pipeline_number pipeline_number pipeline_number pipeline_number Gambar 4.4. ERD Awal

4.3.2.2 Normalisasi

a. Unnormalized Dibawah ini adalah bentuk dari tabel tidak normal dimana masih ditunjukkan atribut yang bernilai banyak atau berulang. gl_pipe_condition pipeline_number line_type original_gl location km anomaly_length pipe_anomaly type_coating condition_coating gl_corr_rate pipeline_number line_type retrieving_corr_rate_coupon corr_rate_coupon interrogated_corr_rate_probe corr_rate_probe date_previous_wall_thickness date_current_wall_thickness wt_remaining_previous_wall_thickness wt_remaining_current_wall_thickness defect_length_max corr_rate total_wt_lost gl_corr_risk_data pipeline_number line_type contingency_line community population_density no_leak date_leak remedial_action location gl_chemical_treatment pipeline_number line_type chemical_treatment_facility chemical_treatment_type location condition nos access_fitting_system device_manufacture injection_tube operation_condition treatment_method brand injection_rate recomendation_injection_rate gl_scaling_tendency pipeline_number line_type sampling_facility fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date scale_index tendency scale_growth gl_ext_corr_protection pipeline_number line_type type_cp anode_weight anode_type nos_anode year_installed design_life current_output test_point_nos insulation_flange highest_pipe_soil_potential lowest_pipe_soil_potential soil_resistivity_location soil_resistivity_lowest soil_corrosiveness_category highest_soil_resistivity gl_water_sampling pipeline_number line_type water_sampling_facility location nos condition temperature ph sand h2s co2_dissolved srb mn residual_amine residual_phosphate residual_sulfit alkalinity cl sulfate o2_dissolved iron_count gl_pigging_facility pipeline_number line_type facility_avaibiality barrel_length_launcher nominal_length_launcher reducer_length_launcher bridle_door_launcher valve_body_width_launcher access_length_launcher access_width_launcher barrel_od_launcher barrel_id_launcher barrel_t_launcher nominal_t_launcher barrel_length_receiver nominal_length_receiver reducer_length_receiver bridle_door_receiver valve_body_width_receiver access_length_receiver access_width_receiver barrel_od_receiver barrel_id_receiver barrel_t_receiver nominal_t_receiver pigging_type clean_pig_recomendation clean_pig_activity out_come gl_int_corr_mon_dev pipeline_number line_type facility_access_fitting location_device fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date coupon_surface_area density probe_type probe_element probe_length probe_span probe_id installation_date corr_rate coupon_id_a initial_weight_a final_weight_a color_coupon_a body_attack_a washer_attack_a edge_attack_a erosion_attack_a scale_a pitting_a debris_a coupon_id_b initial_weight_b final_weight_b color_coupon_b body_attack_b washer_attack_b edge_attack_b erosion_attack_b scale_b pitting_b debris_b gl_general pipeline_number line_type description service status equipment pipe_size schedule nominal_wt year_built flange_rating design_temp pipe_grade smys length year_service psv_setting fluid_from design_factor design_press design_life current_service bopd bwpd bfpd mscfd remaining_life op_temp op_press calculated_actual_maop actual_maop b. 1NF Bentuk normal pertama terpenuhi jika sebuah table tidak memiliki atribut bernilai banyak multivalued attribute atau lebih dari satu atribut dengan nilai domain yang sama. Fathansyah Ir 1999:65 gl pipeline_number line_type description service status gl_pipe_condition original_gl location km anomaly_length pipe_anomaly type_coating condition_coating gl_corr_risk_data contingency_line community population_density no_leak date_leak remedial_action location gl_corr_rate retrieving_corr_rate_coupon corr_rate_coupon interrogated_corr_rate_probe corr_rate_probe date_previous_wall_thickness date_current_wall_thickness wt_remaining_previous_wall_thickness wt_remaining_current_wall_thickness defect_length_max corr_rate total_wt_lost gl_ext_corr_protection type_cp anode_weight anode_type nos_anode year_installed design_life current_output test_point_nos insulation_flange highest_pipe_soil_potential lowest_pipe_soil_potential soil_resistivity_location soil_resistivity_lowest soil_corrosiveness_category highest_soil_resistivity gl_chemical_treatment chemical_treatment_facility chemical_treatment_type location condition nos access_fitting_system device_manufacture injection_tube operation_condition treatment_method brand injection_rate recomendation_injection_rate gl_scaling_tendency sampling_facility fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date scale_index tendency scale_growth gl_water_sampling water_sampling_facility location nos condition temperature ph sand h2s co2_dissolved srb mn residual_amine residual_phosphate residual_sulfit alkalinity cl sulfate o2_dissolved iron_count gl_pigging_facility facility_avaibiality barrel_length_launcher nominal_length_launcher reducer_length_launcher bridle_door_launcher valve_body_width_launcher access_length_launcher access_width_launcher barrel_od_launcher barrel_id_launcher barrel_t_launcher nominal_t_launcher barrel_length_receiver nominal_length_receiver reducer_length_receiver bridle_door_receiver valve_body_width_receiver access_length_receiver access_width_receiver barrel_od_receiver barrel_id_receiver barrel_t_receiver nominal_t_receiver pigging_type clean_pig_recomendation clean_pig_activity out_come gl_general description service status equipment pipe_size schedule nominal_wt year_built flange_rating design_temp pipe_grade smys length year_service psv_setting fluid_from design_factor design_press design_life current_service bopd bwpd bfpd mscfd remaining_life op_temp op_press calculated_actual_maop actual_maop gl_int_corr_mon_dev facility_access_fitting location_device fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date coupon_surface_area density probe_type probe_element probe_length probe_span probe_id installation_date corr_rate coupon_id_a initial_weight_a final_weight_a color_coupon_a body_attack_a washer_attack_a edge_attack_a erosion_attack_a scale_a pitting_a debris_a coupon_id_b initial_weight_b final_weight_b color_coupon_b body_attack_b washer_attack_b edge_attack_b erosion_attack_b scale_b pitting_b debris_b c. 2NF Bentuk normalisasi kedua terpenuhi jika normalisasi pertama terpenuhi, dan semua atribut yang tidak termasuk dalam key primer memiliki ketergantungan fungsional pada key primer secara utuh. Sebuah tabel tidak memenuhi 2NF jika ketergantungannya hanya bersifat parsial. Dengan demikian untuk membentuk normal kedua haruslah sudah ditentukan kunci-kunci fieldnya. Kunci field harus unik dan dapat mewakili atrribut lain yang memenuhi anggotanya. gl id_gl pipeline_number line_type description service status gl_general id_general equipment pipe_size schedule nominal_wt year_built flange_rating design_temp pipe_grade smys length year_service psv_setting fluid_from design_factor design_press design_life current_service bopd bwpd bfpd mscfd remaining_life op_temp op_press calculated_actual_maop actual_maop gl_water_sampling id_water water_sampling_facility location nos condition temperature ph sand h2s co2_dissolved srb mn residual_amine residual_phosphate residual_sulfit alkalinity cl sulfate o2_dissolved iron_count gl_chemical_treatment id_chemical chemical_treatment_facility chemical_treatment_type location condition nos access_fitting_system device_manufacture injection_tube operation_condition treatment_method brand injection_rate recomendation_injection_rate gl_corr_risk_data id_corr_risk contingency_line community population_density no_leak date_leak remedial_action location gl_scaling_tendency id_scaling_tendency sampling_facility fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date scale_index tendency scale_growth gl_int_corr_mon_dev id_int_corr_mon_dev facility_access_fitting location_device fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date coupon_surface_area density probe_type probe_element probe_length probe_span corr_rate scale_coupon corr_rate coupon_id_a initial_weight_a final_weight_a color_coupon_a body_attack_a washer_attack_a edge_attack_a erosion_attack_a scale_a pitting_a debris_a coupon_id_b initial_weight_b final_weight_b color_coupon_b body_attack_b washer_attack_b edge_attack_b erosion_attack_b scale_b pitting_b debris_b gl_ext_corr_protection id_ext id_type_cp anode_weight anode_type nos_anode year_installed design_life current_output test_point_nos insulation_flange highest_pipe_soil_potential lowest_pipe_soil_potential soil_resistivity_location soil_resistivity_lowest id_soil_corrosiveness highest_soil_resistivity gl_pigging_facility id_pig facility_avaibiality barrel_length_launcher nominal_length_launcher reducer_length_launcher bridle_door_launcher valve_body_width_launcher access_length_launcher access_width_launcher barrel_od_launcher barrel_id_launcher barrel_t_launcher nominal_t_launcher barrel_length_receiver nominal_length_receiver reducer_length_receiver bridle_door_receiver valve_body_width_receiver access_length_receiver access_width_receiver barrel_od_receiver barrel_id_receiver barrel_t_receiver nominal_t_receiver pigging_type clean_pig_recomendation clean_pig_activity out_come gl_pipe_condition id_pipe_condition original_gl location km anomaly_length pipe_anomaly type_coating condition_coating d. 3NF Pada bentuk normal ketiga tabel haruslah dalam bentuk normal kedua dan semua atribut bukan primer tidak mempunyai hubungan transitif. Dengan kata lain, setiap atribut bukan kunci harus bergantung pada primary key secara menyeluruh. Pada tabel bentuk normal kedua sudah memenuhi bentuk normal ketiga, sehingga tidak perlu disederhanakan lagi. gl id_gl pipeline_number line_type description service status gl_general id_general id_gl equipment pipe_size schedule nominal_wt year_built flange_rating design_temp pipe_grade smys length year_service psv_setting fluid_from design_factor design_press design_life current_service bopd bwpd bfpd mscfd remaining_life op_temp op_press calculated_actual_maop actual_maop gl_water_sampling id_water id_gl water_sampling_facility location nos condition temperature ph sand h2s co2_dissolved srb mn residual_amine residual_phosphate residual_sulfit alkalinity cl sulfate o2_dissolved iron_count gl_chemical_treatment id_chemical id_gl chemical_treatment_facility chemical_treatment_type location condition nos access_fitting_system device_manufacture injection_tube operation_condition treatment_method brand injection_rate recomendation_injection_rate gl_corr_risk_data id_corr_risk id_gl contingency_line community population_density no_leak date_leak remedial_action location gl_scaling_tendency id_scaling_tendency id_gl sampling_facility fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date scale_index tendency scale_growth gl_int_corr_mon_dev id_int_corr_mon_dev id_gl facility_access_fitting location_device fitting_size access_fitting_type nos_af fitting_manufacture condition plug_manufacture coupon_type holder_length installation_date retrieving_date coupon_surface_area density probe_type probe_element probe_length probe_span corr_rate scale_coupon corr_rate coupon_id_a initial_weight_a final_weight_a color_coupon_a body_attack_a washer_attack_a edge_attack_a erosion_attack_a scale_a pitting_a debris_a coupon_id_b initial_weight_b final_weight_b color_coupon_b body_attack_b washer_attack_b edge_attack_b erosion_attack_b scale_b pitting_b debris_b gl_ext_corr_protection id_ext id_gl id_type_cp anode_weight anode_type nos_anode year_installed design_life current_output test_point_nos insulation_flange highest_pipe_soil_potential lowest_pipe_soil_potential soil_resistivity_location soil_resistivity_lowest id_soil_corrosiveness highest_soil_resistivity gl_corr_rate id_corr_rate id_gl retrieving_corr_rate_coupon corr_rate_coupon interrogated_corr_rate_probe corr_rate_probe date_previous_wall_thickness date_current_wall_thickness wt_remaining_previous_wall_thickness wt_remaining_current_wall_thickness defect_length_max corr_rate total_wt_lost gl_pigging_facility id_pig id_gl facility_avaibiality barrel_length_launcher nominal_length_launcher reducer_length_launcher bridle_door_launcher valve_body_width_launcher access_length_launcher access_width_launcher barrel_od_launcher barrel_id_launcher barrel_t_launcher nominal_t_launcher barrel_length_receiver nominal_length_receiver reducer_length_receiver bridle_door_receiver valve_body_width_receiver access_length_receiver access_width_receiver barrel_od_receiver barrel_id_receiver barrel_t_receiver nominal_t_receiver pigging_type clean_pig_recomendation clean_pig_activity out_come gl_pipe_condition id_pipe_condition id_gl original_gl location km anomaly_length pipe_anomaly type_coating condition_coating 4.3.2.3 Relational Database Management System RDBMS Gambar 4.5. RDBMS gl id_gl pipeline_number line_type description service status gl_water_sampling id_water id_gl water_sampling_facility location … gl_general id_general id_gl equipment pipe_size … gl_corr_risk_data id_corr_risk id_gl contingency_line community … gl_chemical_treatment id_chemical id_gl chemical_treatment_facility chemical_treatment_type … gl_scaling_tendency id_scaling_tendency id_gl fitting_size access_fitting_type … gl_int_corr_mon_dev id_int_corr_mon_dev id_gl facility_access_fitting location_device … gl_ext_corr_protection id_ext id_gl id_type_cp anode_weight … gl_pigging_facility id_pig id_gl facility_avaibiality barrel_length_launcher … gl_pipe_condition id_pipe_condition id_gl original_gl location … gl_corr_rate id_corr_rate id_gl retrieving_corr_rate_coupon corr_rate_coupon …

4.3.2.4 Kamus Data