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