Anda di halaman 1dari 235

SISTEM INFORMASI MONITORING

KOROSI PIPA MINYAK BERBASIS WEB

(Studi Kasus : Stasiun Rawa – PT. ConocoPhillips Indonesia Inc. Ltd)

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar

Sarjana Komputer

TOMMY AKBAR NUGRAHA

104091002815

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA

2010 M / 1432 H
SISTEM INFORMASI MONITORING KOROSI
PIPA MINYAK BERBASIS WEB
(Studi Kasus : Stasiun Rawa – PT. ConocoPhillips Indonesia Inc. Ltd)

Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Syarif Hidayatullah Jakarta

Oleh
Tommy Akbar Nugraha
104091002815

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
SYARIF HIDAYATULLAH
JAKARTA
2010 M / 1432 H

i
SISTEM INFORMASI MONITORING KOROSI
PIPA MINYAK BERBASIS WEB
(Studi Kasus : Stasiun Rawa – PT. ConocoPhillips Indonesia Inc. Ltd)

Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh
Gelar Sarjana Komputer
Pada Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh
Tommy Akbar Nugraha
104091002815

Menyetujui,

Pembimbing I Pembimbing II

Ir. Bakri La Katjong, MT, M.Kom Zainul Arham, M.Si


NIP. 470 035 764 NIP. 19740730 200710 1 002

Mengetahui,
Ketua Program Studi Teknik Informatika

Yusuf Durachman, M.Sc, MIT


NIP. 19710522 200604 1 002

ii
PENGESAHAN UJIAN

Skripsi berjudul ”Sistem Informasi Monitoring Korosi Pipa Minyak Berbasis Web
(Studi Kasus : Stasiun Rawa – PT. ConocoPhillips Inc. Ltd)” yang ditulis oleh Tommy
Akbar Nugraha, NIM 104091002815 telah diuji dan dinyatakan lulus dalam sidang
Munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri (UIN) Syarif
Hidayatullah Jakarta pada Hari Senin, Tanggal 31 Maret 2010. Skripsi telah diterima
sebagai salah satu syarat untuk memperoleh gelar sarjana strata satu (S1) Program Studi
Teknik Informatika.
Jakarta, Oktober 2010

Menyetujui,

Penguji I Penguji II

Khodijah Hulliyah, M.Si Fitri Mintarsih, M.Kom


NIP. 19730402 200112 2 001 NIP. 19721223 200710 2 004

Pembimbing I Pembimbing II

Ir. Bakri La Katjong, MT, M.Kom Zainul Arham, M.Si


NIP. 470 035 764 NIP. 19740730 200710 1 002
Mengetahui,

Dekan Fakultas Sains dan Teknologi, Ketua Program Studi Teknik Informatika
UIN Syarif Hidayatullah Jakarta

DR. Syopiansyah Jaya Putra, M.Sis Yusuf Durachman, M.Sc, MIT


NIP. 19680117 200112 1 001 NIP. 19710522 200604 1 002

iii
PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR

HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI

SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU

LEMBAGA MANAPUN

Jakarta, Oktober 2010

Tommy Akbar Nugraha


104091002815

iv
ABSTRAK

TOMMY AKBAR NUGRAHA. SISTEM INFORMASI MONITORING


KOROSI PIPA MINYAK BERBASIS WEB (Studi Kasus: Stasiun Rawa – PT.
CononoPhillips Indonesia INC. LTD). (Dibimbing Oleh BAKRI LA KATJONG
dan ZAINUL ARHAM).

Pada industri perminyakan, jaringan pipa merupakan salah satu bagian


terpenting dari industri tersebut. Pada jaringan pipa terdapat berbagai
permasalahan yang dapat terjadi, salah satunya adalah korosi. Jika pada suatu pipa
telah mengalami korosi, maka dapat dipastikan pipa tersebut akan mengalami
kebocoran. Untuk mengetahui pipa akan mengalami korosi dapat diketahui dari
hasil monitoring pipa, selanjutnya hasil monitoring tersebut dianalisis sehingga
didapat hasil keadaan pipa. Pada Stasiun Rawa milik PT. ConocoPhillips
Indonesia (COPI), data hasil monitoring pipa masih kurang terorganisasi dengan
baik.

Oleh karena itu, penulis membuat sistem informasi yang ditujukan sebagai
media penyimpanan informasi, pengolahan informasi dan menganalisis informasi
sehingga didapat suatu rekomendasi tentang tindakan pencegahan atau perbaikan
yang perlu dilakukan. Penulis memilih sistem informasi berbasis web base, agar
sistem yang akan dibangun dapat diakses dimana saja baik pengguna yang ada di
kantor pusat ataupun pengguna di daerah penambangan.

Dalam pembuatan sistem informasi ini metodologi pengembangan sistem


yang digunakan adalah System Development Life Cycle (SDLC). Perangkat lunak
yang digunakan untuk mengembangkan sistem ini adalah Macromedia
Dreamweaver dan UltraEdit-32 Text Editor sebagai media untuk merancang
tampilan dan menuliskan kode program, XAMPP sebagai web server, dan Mozilla
Firefox untuk melihat hasil tampilan sistem informasi di komputer dengan sistem
operasi Windows XP Professional Service Pack 2.

Kata Kunci: Korosi, SDLC, Web Base, XAMPP

  v
KATA PENGANTAR

Puji Syukur penulis panjatkan kehadirat Allah SWT yang telah

memberikan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan

penulisan skripsi yang berjudul : “SISTEM INFORMASI MONITORING

KOROSI PIPA MINYAK BERBASIS WEB (Studi Kasus : PT.

ConocoPhillips Inc. Ltd)” dengan baik. Shalawat serta salam selalu tercurah

kepada Rasulullah SAW yang senantiasa menuntun umatnya hingga seperti

sekarang ini.

Penulisan skripsi ini merupakan salah satu tugas wajib mahasiswa sebagai

persyaratan untuk menempuh gelar Strata 1 (S1) pada Program Studi Teknik

Informatika Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Penulis ingin menyampaikan rasa terima kasih kepada seluruh pihak yang

telah membantu sehingga penulisan skripsi ini dapat diselesaikan. Ucapan terima

kasih dan penghargaan yang sebesar-besarnya penulis sampaikan kepada: 

1. Bapak Dr. Sopiyansyah Jaya Putra, M.SIS, selaku Dekan Fakultas Sains dan

Teknologi, UIN Syarif Hidayatullah Jakarta.

2. Bapak Yusuf Durrachman, M.Sc, MIT, selaku Ketua Program Studi Teknik

Informatika, Ibu Viva Arifin, MMSI, selaku Sekretaris Program Studi Teknik

Informatika dan seluruh pihak akademik, baik tingkat program studi maupun

tingkat fakultas.

3. Bapak Bakri La Katjong, MT, M.Kom dan Bapak Zainul Arham M.Si, selaku

dosen pembimbing skripsi yang telah memberikan bimbingan, masukan dan

dorongan serta waktunya kepada penulis.


vi

 
4. Ibu, Ayah dan Adik tercinta yang telah memberikan doa, dorongan baik moril

maupun materil, dan motivasi sebesar-besarnya kepada penulis.

5. Bapak Teddy Firmansyah, selaku Manajer Operational PT. Wilson Walton

Indonesia yang telah memberikan kesempatan kepada penulis untuk

melakukan penelitian.

6. Seluruh staff PT. Wilson Walton Indonesia yang telah membantu penulis

memberikan data dan informasi yang penulis butuhkan dalam penulisan

skripsi ini.

7. Seluruh teman-temanku, khususnya TI-A 2004 yang selalu memberikan

semangat kepada penulis serta kebersamaannya selama ini.

8. Serta Semua pihak yang tidak dapat disebutkan satu persatu, yang telah

berperan dalam penyelesaian skripsi ini.

Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna,

oleh karena itu penulis mengharapkan kritik dan saran yang bersifat membangun

demi kesempurnaan penulisan di masa mendatang. Akhir kata semoga skripsi ini

bermanfaat bagi penulis dan bagi pihak yang membutuhkan.

Jakarta, Oktober 2010

Tommy Akbar Nugraha

vii

 
DAFTAR ISI

Halaman Judul ................................................................................................. i


Lembar Persetujuan Pembimbing .................................................................. ii
Lembar Pengesahan Ujian ............................................................................... iii
Lembar Pernyataan .......................................................................................... iv
Abstrak .............................................................................................................. v
Kata Pengantar ................................................................................................ vi
Daftar Isi ........................................................................................................... viii
Daftar Gambar .................................................................................................. xii
Daftar Tabel....................................................................................................... xiii
Daftar Lampiran ............................................................................................... xiv
Daftar Simbol .................................................................................................... xv
Daftar Istilah ..................................................................................................... xvii

BAB 1 PENDAHULUAN
1.1 Latar Belakang ....................................................................................... 1
1.2 Perumusan Masalah ............................................................................... 4
1.3 Batasan Masalah .................................................................................... 4
1.4 Tujuan dan Manfaat Penelitian .............................................................. 5
1.4.1 Tujuan Penelitian ........................................................................... 5
1.4.2 Manfaat Penelitian ........................................................................ 5
1.5 Metode Penelitian .................................................................................. 6
1.5.1 Metode Pegumpulan Data ............................................................. 6
1.5.2 Metode Pengembangan Sistem ..................................................... 7
1.6 Kerangka Berfikir .................................................................................. 7
1.6.1 Corrosion Risk Assesment (CRA) ................................................. 8
1.7 Sistematika Penulisan ............................................................................ 9

BAB 2 LANDASAN TEORI


2.1 Korosi ..................................................................................................... 11
2.1.1 Pengertian Korosi .......................................................................... 11

viii
2.1.2 Penyebab Korosi ........................................................................... 11
2.1.3 Akibat Korosi ................................................................................ 13
2.1.4 Penanggulangan Korosi ................................................................ 14
2.1.5 Corrosion Risk Assesment (CRA) ................................................ 17
2.2 Konsep Dasar Sistem Informasi ............................................................. 21
2.2.1 Pengertian Sistem .......................................................................... 21
2.2.2 Pengertian Informasi ..................................................................... 23
2.2.3 Pengertian Sistem Informasi .......................................................... 25
2.3 Metode Pengembangan Sistem .............................................................. 27
2.4 Tools Analisis dan Desain Sistem Informasi ......................................... 29
2.4.1 Flowchart ...................................................................................... 29
2.4.2 Data Flow Diagram (DFD) ........................................................... 29
2.4.3 Entity Relationalship Diagram (ERD) .......................................... 31
2.4.4 Basis Data ..................................................................................... 33
2.5 Perangkat Lunak dalam Perancangan Sistem ........................................ 34
2.5.1 MySQL .......................................................................................... 34
2.5.1.1 Database, tabel, baris, kolom ............................................ 34
2.5.1.2 Perintah-perintah SQL ...................................................... 34
2.5.2 PHP ................................................................................................ 39
2.5.2.1 Nama File .......................................................................... 40
2.5.2.2 Tag Awal dan Tag Akhir .................................................. 41
2.5.2.3 Komentar .......................................................................... 42
2.5.2.4 Skrip PHP ......................................................................... 42
2.5.2.5 Case Sensitive ................................................................... 43

BAB 3 METODOLOGI PENELITIAN


3.1 Alat dan Bahan........................................................................................ 44
3.1.1 Alat................................................................................................. 44
3.1.2 Bahan ............................................................................................. 45
3.2 Waktu dan Tempat Penelitian ............................................................... 45
3.3 Gambaran Umum Perusahaan................................................................. 46
3.3.1 Sejarah dan Perkembangannya ...................................................... 46

ix
3.3.2 Visi, Misi, Kebijakan dan Sasaran Mutu ....................................... 48
3.3.3 Struktur Organisasi ........................................................................ 49
3.4 Tahapan Penelitian .................................................................................. 51
3.5 Metode Pengumpulan Data ..................................................................... 51
3.5.1 Studi Pustaka.................................................................................. 51
3.5.2 Wawancara .................................................................................... 52
3.6 Metode Pengembangan Sistem ............................................................... 53
3.6.1 Perencanaan.................................................................................... 53
3.6.2 Analisis........................................................................................... 54
3.6.3 Perancangan ................................................................................... 55
3.6.4 Implementasi .................................................................................. 57
3.6.5 Pemeliharaan .................................................................................. 57

BAB 4 HASIL DAN PEMBAHASAN


4.1 Perencanaan Sistem ............................................................................................ 59
4.1.1 Identifikasi Kebutuhan (User Need Assisment) ........................................ 59
4.1.2 Identifikasi Masalah .................................................................................. 60
4.1.3 Tujuan Pengembangan Sistem .................................................................. 61
4.2 Analisa Sistem .................................................................................................... 61
4.2.1 Analisa Sistem yang Sedang Berjalan ....................................................... 61
4.2.2 Analisa Kebutuhan Sistem yang Sedang Berjalan .................................... 63
4.2.3 Alternatif Pemecahan Masalah ................................................................. 63
4.3 Perancangan Sistem ........................................................................................... 64
4.3.1 Data Flow Diagram (DFD) ....................................................................... 64
4.3.2 Perancangan Basis Data ............................................................................ 68
4.3.2.1 Entity Relationalship Diagram (ERD) ................................................ 68
4.3.2.2 Normalisasi ......................................................................................... 70
4.3.2.3 Relational Database Management System (RDBMS) ........................ 80
4.3.2.4 Kamus Data ......................................................................................... 81
4.3.2.5 Spesifikasi File Data ........................................................................... 82
4.3.3 Desain Struktur Menu Sistem Informasi ................................................... 101
4.4 Implementasi Sistem .......................................................................................... 105

x
4.4.1 Sarana Pendukung Aplikasi ....................................................................... 105
4.4.2 Pengujian Sistem ....................................................................................... 106
4.4.2 Implementasi Sistem ................................................................................. 106
4.5 Pemeliharaan Sistem .......................................................................................... 106

BAB 5 PENUTUP
5.1 Kesimpulan ......................................................................................................... 108
5.2 Saran.................................................................................................................... 108

DAFTAR PUSTAKA ................................................................................................... 110


DAFTAR PUSTAKA PENUNJANG .......................................................................... 112
LAMPIRAN A WAWANCARA ................................................................................. 113
LAMPIRAN B KUESIONER ...................................................................................... 120
LAMPIRAN C TAMPILAN APLIKASI ..................................................................... 124
LAMPIRAN D PENGUJIAN....................................................................................... 149
LAMPIRAN E SOURCE CODE ................................................................................. 153
LAMPIRAN F DOKUMEN-DOKUMEN ................................................................... 210

xi
DAFTAR GAMBAR

Gambar 1.1 Grafik Produksi Minyak dan Biaya Perawatan .................................. 2


Gambar 1.2 Alur Kerangka Berfikir ...................................................................... 7
Gambar 1.3 Alur CRA ........................................................................................... 9
Gambar 2.1 Rust Scale ........................................................................................... 13
Gambar 2.2 Rust Hole ............................................................................................ 13
Gambar 2.3.a Alur Kerja Umum CRA.................................................................. 17
Gambar 2.3.b Rincian Alur Kerja CRA ................................................................. 17
Gambar 2.4.a Pembagian Kategori Resiko PoF ..................................................... 19
Gambar 2.4.b Pembagian Kategori Resiko CoF .................................................... 19
Gambar 2.5 Persentase Parameter PoF dan CoF.................................................... 20
Gambar 2.6 Risk Matrix PoF dan CoF................................................................... 21
Gambar 2.7 Simbol 1 to 1 ...................................................................................... 32
Gambar 2.8 Simbol 1 to M..................................................................................... 33
Gambar 2.9 Simbol M to N .................................................................................... 33
Gambar 3.1 Struktur Organisasi PT. Wilson Walton Indonesia ............................ 50
Gambar 3.2 Tahapan Penelitian ............................................................................. 51
Gambar 3.3 Tahapan Pengembangan Metode SDLC ............................................ 53
Gambar 4.1 Bagan Alir Sistem yang Sedang Berjalan .......................................... 62
Gambar 4.2 Diagram Konteks................................................................................ 64
Gambar 4.3 DFD Level 1 ...................................................................................... 66
Gambar 4.4 ERD Awal .......................................................................................... 69
Gambar 4.5 RDBMS .............................................................................................. 80
Gambar 4.6 Struktur Menu Admin ........................................................................ 102
Gambar 4.7 Struktur Menu Manager ..................................................................... 103
Gambar 4.8 Struktur Menu Field Engineer ............................................................ 104

xii
DAFTAR TABEL

Tabel 1.1 Data Produksi Minyak dan Biaya Perawatan ......................................................... 2


Tabel 3.1 Daftar Bahan Penelitian.......................................................................................... 45
Tabel 4.1 Spesifikasi Tabel gl................................................................................................. 83
Tabel 4.2 Spesifikasi Tabel gl_chemical_treatment ............................................................... 84
Tabel 4.3 Spesifikasi Tabel gl_corr_rate ................................................................................ 85
Tabel 4.4 Spesifikasi Tabel gl_corr_risk_data ....................................................................... 86
Tabel 4.5 Spesifikasi Tabel gl_ext_corr_protection ............................................................... 88
Tabel 4.6 Spesifikasi Tabel gl_general................................................................................... 89
Tabel 4.7 Spesifikasi Tabel gl_int_corr_mon_dev ................................................................. 91
Tabel 4.8 Spesifikasi Tabel gl_pigging_facility ..................................................................... 93
Tabel 4.9 Spesifikasi Tabel gl_pipe_condition....................................................................... 96
Tabel 4.10 Spesifikasi Tabel gl_scaling_tendency................................................................. 98
Tabel 4.11 Spesifikasi Tabel gl_water_sampling ................................................................... 99
Tabel 4.12 Spesifikasi Tabel user ........................................................................................... 101

xiii
DAFTAR LAMPIRAN

LAMPIRAN A WAWANCARA ..................................................................... 113


LAMPIRAN B KUESIONER ......................................................................... 120
LAMPIRAN C TAMPILAN APLIKASI ....................................................... 124
LAMPIRAN D PENGUJIAN .......................................................................... 149
LAMPIRAN E SOURCE CODE .................................................................... 153
LAMPIRAN F DOKUMEN-DOKUMEN ..................................................... 210

xiv
DAFTAR SIMBOL

Flowchart Diagram
(Munawar, 2005)

No Nama Simbol Keterangan

Menyatakan jalannya arus suatu


proses.
1 Arus / Flow

Menyatakan suatu tindakan (proses)


yang dilakukan komputer.
2 Process

Menyatakan suatu tindakan (proses)


yang tidak dilakukan oleh komputer.
3 Manual

Menunjukkan suatu kondisi tertentu


yang akan menghasilkan dua
kemungkinan jawaban : ya / tidak.
4 Decision

Menyediakan penyediaan tempat


penyimpanan suatu pengolahan
Predefined untuk memberi harga awal.
5
Process

xv
Menyatakan permulaan atau akhir
suatu program.
6 Terminal

Menyatakan proses input atau output


tanpa bergantung jenis peralatannya.
7 Input / Output

Mencetak keluaran dalam bentuk


dokumen.
8 Document

xvi
DAFTAR ISTILAH

No Istilah Penjelasan
1. Database Kumpulan dari data atau fakta suatu
organisasi secara terstruktur dalam domain
tertentu untuk mendukung aplikasi pada
sistem tertentu
2. Hardware Perangkat lunak dapat juga dikatakan
sebagai 'penterjemah' perintah-perintah yang
dijalankan pengguna komputer untuk
diteruskan ke atau diproses oleh perangkat
keras.
3. Input Adalah segala sesuatu yang dibutuhkan agar
pelaksanaan kegiatan dan program dapat
berjalan atau dalam rangka menghasilkan
output, misalnya : sumber daya manusia,
dana, material, waktu, teknologi, dan
sebagainya.

9. Output Berupa produk/jasa (fisik dan /atau non fisik)


sebagai hasil langsung dari pelaksanaan
suatu kegiatan dan program berdasarkan
masukan yang digunakan.
10. Software Program komputer yang berfungsi sebagai
sarana interaksi antara pengguna dan
perangkat keras. Perangkat lunak dapat juga
dikatakan sebagai 'penterjemah' perintah-
perintah yang dijalankan pengguna komputer
untuk diteruskan ke atau diproses oleh
perangkat keras.

xvii
12. User Pengguna sistem/individu yang berhubungan
dengan sistem, baik admin ataupun end user.

xviii
BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan Teknologi Informasi meningkat sangat cepat seiring

dengan perkembangan teknologi yang terus meningkat dari waktu ke waktu.

Saat ini hampir semua perusahaan telah memanfaatkan perkembangan

teknologi tersebut, tidak terkecuali pada industri perminyakan. Karena pada

industri perminyakan memiliki berbagai permasalahan yang tidak dapat

diselesaikan hanya dengan cara yang konvensional. Oleh karena itu

dibutuhkan teknologi informasi sebagai suatu solusi yang tepat untuk

menyelesaikan permasalahan yang ada.

Pada industri perminyakan, jaringan pipa merupakan salah satu

bagian penting dari industri tersebut. Pada jaringan pipa terdapat berbagai

permasalahan yang dapat terjadi, salah satunya adalah korosi pada pipa. Jika

pada suatu pipa telah mengalami korosi, maka dapat dipastikan pipa tersebut

akan mengalami kebocoran. Sehingga pipa tersebut tidak dapat digunakan

oleh sumur minyak untuk proses produksi. Dapat dilihat pada Tabel 1.1 dan

Gambar 1.1 bahwa korosi merupakan salah satu hal yang sangat penting

pada proses produksi minyak. Dari gambar tersebut dapat dilihat bahwa

untuk perawatan pipa dibutuhkan biaya yang tidak sedikit, sebab dari tahun

ke tahun biayanya terus meningkat. Sedangkan produksi minyak terus

menurun dari tahun ke tahun. Dan salah satu penyebabnya adalah korosi.

1
2

Produksi Minyak Biaya Perawatan


Tahun
(dalam US$ / hari) (dalam US$ / tahun)
2000 5,296,900 3,600,000
2001 5,172,650 3,840,000
2002 5,014,100 4,080,000
2003 4,935,000 4,320,000
2004 4,837,700 4,560,000
2005 4,643,800 4,800,000
2006 4,614,400 5,040,000
2007 4,439,400 5,280,000
2008 4,374,510 5,520,000
2009 4,138,680 5,760,000
Tabel 1.1. Data Produksi Minyak dan Biaya Perawatan (Sumber:
http://lifting.migas.esdm.go.id)
7,000,000

6,000,000
5,760,000
5,520,000
5,296,900 5,280,000
5,172,650
5,000,000 5,014,100 5,040,000
4,935,000
4,837,700 4,800,000
4,560,000 4,643,800 4,614,400
4,439,400 4,374,510
4,320,000
4,080,000 4,138,680
4,000,000
(dalam US$)

3,840,000
3,600,000

3,000,000

2,000,000

1,000,000

0
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009
Tahun

Produksi Minyak (dalam US$ / hari) Biaya Perawatan (dalam US$ / tahun)

Gambar 1.1. Grafik Produksi Minyak dan Biaya Perawatan

PT. Wilson Walton Indonesia (WWI) adalah salah satu kontraktor

sekaligus konsultan dibidang korosi. Melihat hal tersebut WWI mempunyai

beberapa ide untuk dapat menanggulangi permasalahan korosi tersebut.

Salah satunya adalah dengan menganalisa aktivitas atau tingkatan korosi

yang sedang terjadi, analisa tersebut dilakukan untuk mengetahui tingkatan


3

korosi pada pipa. Jadi kita dapat mengetahui pipa yang memerlukan tindakan

pencegahan ataupun perawatan lebih. Untuk dapat melakukan analisa korosi

tersebut dibutuhkan data-data mengenai suatu pipa. Data yang dibutuhkan

berupa desain, konstruksi, keamanan dan perawatan pipa. Karena pada

industri minyak dan gas dokumentasi mengenai aset pipa masih kurang

terorganisasi dengan baik, apalagi jika pipa tersebut telah berumur.

Untuk menganalisa data-data diatas, sehingga didapat suatu hasil

analisa korosi pada suatu pipa yaitu dengan menggunakan rumus-rumus

yang terkait. Perhitungan rumus tersebut saling berhubungan antara satu

dengan yang lain, sehingga timbul suatu kerumitan untuk melakukan

perhitungan tersebut bila dilakukan dengan manual. Dengan adanya suatu

kerumitan maka dibutuhkan suatu sistem yang tepat untuk dapat

menanggulangi kerumitan tersebut.

Salah satu alternatif teknologi informasi yang penulis dan WWI

pilih untuk menanggulangi masalah tersebut adalah dengan membuat

”Sistem Informasi Monitoring Korosi Pipa Minyak Berbasis Web”. Sistem

informasi yang dibuat dapat menganalisa aktivitas atau tingkatan korosi dari

data yang ada beserta rekomendasi tentang tindakan pencegahan yang perlu

dilakukan dan juga dapat menyimpan dokumentasi aset pipa yang ada.

Tujuan dari dibuatnya sistem informasi berbasis web adalah agar hasil

analisa tersebut dapat dilihat dari mana saja, baik yang berada di jaringan

pipa ataupun diluar jaringan pipa dengan catatan memiliki koneksi internet.

Maksud dari dapat diakses dari luar jaringan pipa adalah agar kantor pusat
4

dapat melihat dan menentukan tindakan yang perlu dilakukan terhadap suatu

jaringan pipa.

1.2. Perumusan Masalah

Berdasarkan latar belakang tersebut di atas, maka penulis

menyimpulkan beberapa pokok permasalahan yang akan dikaji lebih lanjut

adalah :

1. Bagaimana membuat sistem informasi yang bisa menganalisa aktivitas

atau tingkatan korosi pada jaringan pipa ?

2. Menghasilkan sistem informasi yang dapat diakses dari mana saja oleh

pengguna secara real time ?

1.3. Batasan Masalah

Penelitian ini hanya akan dibatasi pada:

1. Pembuatan sistem informasi yang bertujuan sebagai database aset pada

jaringan pipa.

2. Pembuatan sistem informasi yang bertujuan menganalisa dan memberi

rekomendasi tentang tindakan yang perlu dilakukan yang berhubungan

dengan aktivitas korosi pada jaringan pipa.

3. Pembuatan sistem informasi pada jaringan pipa PT. ConocoPhillips

Indonesia Inc. Ltd (COPI) di Rawa Station, Sumatra Selatan.


5

1.4. Tujuan dan Manfaat Penelitian

1.4.1. Tujuan Penelitian

1. Dihasilkan suatu sistem yang dapat mengatasi permasalahan

dokumentasi aset pada jaringan pipa.

2. Sistem informasi yang dihasilkan dapat digunakan sebagai bahan

pertimbangan dalam pengambilan suatu keputusan tentang tindakan

yang perlu dilakukan pada suatu jaringan pipa.

3. Sistem informasi yang dihasilkan dapat diakses dari mana saja, tidak

terbatas oleh batasan ruang dan waktu.

1.4.2. Manfaat Penelitian

1. Bagi Penulis

a. Menerapkan dan mengembangkan ilmu yang diperoleh selama

perkuliahan

b. Membandingkan teori-teori yang ada dengan permasalahan yang

ada sebenarnya.

c. Menambah pengalaman, memperluas wawasan dan

mengembangkan potensi diri.

d. Sebagai salah satu persyaratan guna menyelesaikan Program Studi

Strata Satu (S1) Teknik Informatika UIN Syarif Hidayatullah

Jakarta.

2. Bagi Universitas

a. Untuk mengetahui sejauh mana kualitas dari mahasiswa.


6

b. Dapat menjadi sumbangan karya ilmiah dalam disiplin ilmu

Teknologi Informasi.

c. Dapat dijadikan sebagai bahan bacaan atau acuan bagi peneliti lain

yang berniat mengkaji permasalahan atau topik yang sama.

3. Bagi PT. Wilson Walton Indonesia

a. Dapat memberikan suatu solusi dalam hal dokumentasi aset pipa

pada suatu jaringan pipa milik perusahaan klien.

b. Dapat membantu klien dalam penentuan tingkatan korosi dan juga

dalam tindakan pencegahan yang perlu dilakukan pada suatu

jaringan pipa, sehingga pengeluaran untuk biaya pemeliharaan

dapat ditekan.

1.5. Metode Penelitian

Dalam rangka penulisan skripsi ini tahapan metode penelitian yang

dilakukan oleh penulis adalah :

1.5.1. Metode Pengumpulan Data

Metode pengumpulan data yang penulis gunakan dalam

pembahasan masalah skripsi ini adalah :

a. Studi Pustaka

Metode yang dilakukan dengan cara pengumpulan data secara

teoritis sebagai bahan perbandingan dengan jalan mengadakan

pengumpulan data yang diperoleh dari berbagai literature baik

dari buku maupun internet.


7

b. Wawancara

Metode ini dilakukan dengan mengajukan tanya jawab secara

langsung dengan pihak yang bersangkutan di dalam penulisan

skripsi ini (PT. Wilson Walton Indonesia).

1.5.2 Metode Pengembangan Sistem

Pengembangan sistem yang penulis gunakan dalam penelitian

ini adalah metode System Development Life Cycle (SDLC), yang

dilakukan dengan beberapa tahapan yaitu tahapan perencanaan

sistem, analisis sistem, perancangan sistem (conceptual design),

penerapan dan penggunaan sistem dan pemeliharaan (maintenance).

1.6. Kerangka Berfikir

Dalam penulisan skripsi ini, kerangka berfikir yang penulis gunakan

dapat dilihat pada Gambar 1.2 alur kerangka berfikir.

10 Komponen
Korosi
(Lampiran 2)

Corrosion Risk Assesment


(CRA)

Decision

Gambar 1.2. Alur Kerangka Berfikir


8

1. Tahapan awalnya adalah dengan mengumpulkan data-data berupa 10

komponen korosi (Lampiran 2), data-data tersebut didapat dari hasil

monitoring yang dilakukan oleh operator lapangan pada jaringan pipa.

2. Tahapan selanjutnya adalah memproses 10 komponen korosi tersebut

sehingga didapat suatu analisa korosi dengan menggunakan proses

Corrosion Risk Assesment (CRA).

3. Dari hasil CRA tersebut didapat suatu kesimpulan tentang keadaan pipa,

sehingga dari kesimpulan tersebut kita dapat mengambil suatu tindakan

yang perlu dilakukan pada jaringan pipa tersebut.

1.6.1. Corrosion Risk Assesment (CRA)

Corrosion Risk adalah kemungkinan terjadinya korosi

(PoF=Probability of Failure) dan akibat yang timbulkan oleh korosi

(CoF=Consequence of Failure) bagi manusia, lingkungan maupun

pipa. CRA adalah proses yang dapat membantu dalam mengenali akan

kemungkinan dan tingkat akibat yang akan ditimbulkan dari korosi.

CRA= PoF x CoF

Hasil dari proses CRA adalah Corrosion Risk Ranking (CRR).

CRR adalah tingkatan keadaan korosi pada suatu pipa, CRR ini dapat

membantu dalam menentukan tindakan prioritas yang harus dilakukan

pada inspeksi atau survey selanjutnya. Dan hasil inspeksi digunakan

untuk memperbaharui status CRR. CRR juga membantu


9

Inspeksi
Atau
Survey

Data
Korosi

Corrosion Risk Assesment


(CRA)

Corrosion Risk Ranking


(CRR)

Gambar 1.3. Alur CRA

1.7. Sistematika Penulisan

Dalam penulisan skripsi ini, penulis membaginya dalam lima bab

pembahasan. Rincian pembahasan setiap bab yaitu sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisikan latar belakang penulisan, ruang lingkup

masalah, batasan masalah, tujuan, manfaat, metode penelitian

dan sistematika penulisan.


10

BAB II LANDASAN TEORI

Bab ini menjelaskan teori-teori tentang analisa dan

perancangan sistem, serta teori-teori dan pustaka yang relevan

dengan permasalahan dari penelitian yang dilakukan.

BAB III METODOLOGI PENELITIAN

Bab ini membahas metode yang digunakan penulis dalam

melakukan pencarian data maupun pengembangan sistem yang

dilakukan pada penelitian ini.

BAB IV HASIL DAN PEMBAHASAN

Bab ini membahas tentang perencanaan, perancangan,

kontruksi, implementasi serta pengujian sistem yang dibangun,

dengan mengacu pada model pengembangan sistem Sistem

Development Life Cycle (SDLC).

BAB V PENUTUP

Bab ini merupakan bab akhir yang memuat kesimpulan dan

saran dari hasil penelitian yang telah dibuat.


BAB II

LANDASAN TEORI

2.1. Korosi

2.1.1. Pengertian Korosi

“One general definition of corrosion is the degradation of a

material through environmental interaction. This definition encompasses

all materials, both naturally occuring and man-made and includes

plastics, ceramics, and metals.”( A.W. Peabody, 2001:1)

Korosi adalah kerusakan atau degradasi logam akibat reaksi

dengan lingkungan yang korosif. Korosi dapat juga diartikan sebagai

serangan yang merusak logam karena logam bereaksi secara kimia atau

elektrokimia dengan lingkungan. (http://id.wikipedia.org/wiki/Korosi).

Korosi atau karat adalah suatu zat yang berwarna merah kecoklatan

yang berbentuk pada permukaan basi atau baja sebagai akibat adanya

proses oksidasi. Besi (Fe) yang bersenyawa dengan oksigen akan

membentuk besi oksidasi (FeO), kemudian besi oksida ini bersenyawa

dengan air menjadi besi yang berkarat.

2.1.2. Penyebab Korosi

Korosi pada pipa disebabkan karena pipa berbahan logam, logam

itu sendiri mudah sekali mengalami karat yang menyebabkan korosi pada

11
12

pipa. Korosi timbul disebabkan bahan logam bereaksi dengan lingkungan

secara kimiawi sehingga meyebabkan karat.

1. Anoda: Fe(s) ® Fe2+ + 2e

Katoda: 2 H+ + 2 e- ® H2

2 H2O + O2 + 4e- ® 4OH-

2. 2H+ + 2 H2O + O2 + 3 Fe ® 3 Fe2+ + 4 OH- + H2


Fe(OH)2 oleh O2 di udara dioksidasi menjadi Fe2O3 . nH2O

Adapun faktor-faktor yang berpengaruh pada terjadi korosi adalah sebagai

berikut:

1. Kelembaban udara

2. Elektrolit

3. Zat terlarut pembentuk asam (CO2, SO2)

4. Adanya O2

5. Lapisan pada permukaan logam

6. Letak logam dalam deret potensial reduksi

Secara garis besar penyebab korosi ada dua jenis yaitu:

1. Korosi Internal

Yaitu korosi yang terjadi akibat adanya kandungan CO2 dan H2S pada

minyak bumi, sehingga apabila terjadi kontak dengan air akan membentuk

asam yang merupakan penyebab korosi.


13

2. Korosi Eksternal

Yaitu korosi yang terjadi pada bagian permukaan dari sistem perpipaan

dan peralatan, baik yang kontak dengan udara bebas dan permukaan

tanah, akibat adanya kandungan zat asam pada udara dari tanah.

2.1.3. Akibat Korosi

Korosi yang terjadi pada permukaan logam dalam jangka waktu

tertentu akan menimbulkan karat (rust scale) dan lubang karat (rust hole).

Keadaan ini akan menyebabkan kondisi logam menjadi lemah dan tidak

berguna. Banyak installasi besi baja yang rusak karena peristiwa korosi

ini, dan menimbulkan kerugian yang tidak sedikit jumlahnya.

Gambar 2.1 Rust Scale

Gambar 2.2 Rust Hole


14

2.1.4. Penanggulangan Korosi

Penyelidikan terhadap pencegahan korosi yang efektif terus menerus

dilakukan oleh banyak pihak diantaranya :

1. National Association of Corrosion Engineers (NACE)

2. Federation of Sociates for Paint Technology

3. Steel Structure Painting Council (SSPC)

4. dan lain-lain

Berikut metode pencegahan korosi :

1. Protective Coating

Metoda pencegahan sederhana dan primitive kini sudah lama

ditinggalkan, karena ternyata metoda tersebut tidak dapat mencegah

korosi secara tuntas dan kerugian demi kerugian tetap saja terjadi, maka

pada tahun 1930 di Australia ditemukan cara pencegahan korosi dengan

menggunakan Inorganic Zinc Silicate Coating dan di Amerika ditemukan

Organic Coating.

Kemudian pada tahun 1950 terjadi kerjasama serta perpaduan ke dua

teknik tersebut. Hal ini ternyata memberikan dampak baru dalam upaya

mencegah korosi.

Sejak itu telah banyak pula sistim dan produk baru yang

dikembangkan dan diperkenalkan guna melindungi besi dan baja dari

kerusakan yang merugikan itu.

Dengan berkembangnya metoda baru ini berkembang pula teknologi

sandblasting atau abrasive blasting yaitu suatu cara membersihkan


15

permukaan besi atau baja dengan menggunakan pasir kwarsa yang

mengandung kadar silica tinggi.

Pasir kwarsa ini disemprotkan dengan angina bertekanan tinggi dari

sebuah kompresor, sehingga besi atau baja itu bersih dari karat dan

tampak keputih-putihan (white metal). Dari penyelidikan dan

pengalaman sandblasting merupakan faktor penting sekali yang harus

dilakukan sebelum aplikasi coating, karena memberikan jaminan besi

atau baja tersebut bebas dari serangan korosi untuk masa waktu tertentu.

Teknologi coating dan sandblasting init ternyata telah memberikan

bukti yang dapat dipercaya dalam melindungi atau mencegah logam dari

bahaya korosi sehingga kerugian lebih lanjut akibat korosi dapat

dihindari. Bebas dari korosi berarti penghematan.

2. Cathodic Protection

Untuk melindungi logam terhadap bahaya korosi para ahli juga

menemukan suatu metoda lain yang disebut Cathodic Protection (sistim

perlindungan katodik). Cathodic protection bekerja dengan cara mengubah

seluruh permukaan logam menjadi daerah katoda, yaitu dengan memberikan

arus proteksi dari luar yang akan menekan atau menahan arus yang akan

keluar dari permukaan logam yang menyebabkan korosi.

Arus proteksi dari luar ini terus menerus mengalir melalui elektrolit

menuju permukaan logam yang hendak dilindungi. Arus dari luar ini

menyebabkan timbulnya perubahan potensial pada permukaan logam

tersebut (polarisasi).
16

Arus proteksi pada cathodic protection ini didapat dengan 2 (dua)

cara :

a. Sacrificial Anode

Cara ini menggunakan suatu anoda tertentu yang dibuat dari

logam lain, dipasang pada permukaan besi yang akan dilindungi dan

berada didalam elektrolit yang sama. Anoda ini disebut anoda

korban (sacrificial) dan umumnya terbuat dari logam Aluminium,

Zinc atau Magnesium.

b. Impressed Current

Sistim ini menggunakan transformer rectifier sebagai sumber

daya listrik dan anoda-anoda khusus. Cara kerjanya adalah sebagai

berikut :

Arus listrik AC diubah menjadi arus DC dan dialirkan melalui

anoda di dalam elektrolit menuju besi yang akan dilindungi. Anoda

dan besi yang akan dilindungi harus berada pada satu elektrolit yang

sama.

Unsur penting dalam perlindungan katodik adalah kemampuan

untuk memberikan suatu tingkat perlindungan. Tingkat perlindungan ini

dapat diketahui dengan mengukur potensial permukaan tersebut.

Baja dalam elektrolit seperti air laut mempunyai potensial alamiah

sebesar kurang lebih -0,6 V terhadap sel pembanding Cu/CuSO4. Angka ini

mungkin lebih rendah (-0,5 V) bila baja terkorosi, atau lebih besar (-0,6 V)

bila baja tersebut bersih dan diblasting. Korosi dapat dicegah dengan
17

mengubah potensial permukaan hingga mencapai -0,85 V atau lebih negatif

dengan menggunakan perlindungan katodik.

2.1.5. Corrosion Risk Assesment (CRA)

Corrosion Risk Assesment (CRA) adalah probabilitas terjadinya

karat dan konsekuensi yang ditimbulkan bagi pekerja maupun bagi

jaringan pipa. Hasil dari CRA adalah suatu tingkatan resiko pada suatu

jaringan pipa, baik itu akan berdampak pada pekerja maupun jaringan pipa

tersebut akibat korosi. Hasil dari CRA juga dapat digunakan sebagai

tingkatan prioritas dalam hal pemeliharaan dan pengawasan jaringan pipa.

Sebelum kegiatan CRA dilakukan, dibutuhkan semua data yang

berhubungan dengan pipa. Data yang dibutuhkan tidak hanya data yang

berhubungan dengan masalah teknik pada pipa, tetapi juga dibutuhkan

proses data, data produksi, data korosi, data leak, data pigging, dan data

keamanan pada pipa. Alur kerja CRA dari yang sederhana sampai dengan

lebih rinci disusun dalam Gambar 2.3.a dan b sebagai berikut:

Tingkatan Resiko Karat Æ Tingkatan Resiko karat Pipa Æ Tingkatan Korosi Pipa

Gambar 2.3.a. Alur Kerja Umum CRA

Data Aset
(Lapangan & Kantor)
- Teknik Probability of Failure (PoF)
- Produksi Perhitungan
- Korosi Matrik Resiko Tingkatan Resiko Tingkatan Resiko
- Pigging
- Keamanan
- Leak Consequency of Failure (CoF)
- Dan lain-lain

Gambar 2.3.b. Rincian Alur Kerja CRA


18

Dari Gambar 2.3.b diatas kita dapat melihat alur kerja CRA lebih

rinci, proses awalnya yaitu dari proses pengumpulan data asset lapangan

dan kantor. Data yang dikumpulkan berupa data dari segi teknik, produksi,

korosi, pigging, keamanan, leak, dan lain-lain. Data-data tersebut

kemudian dikelompokan menjadi dua kategori yaitu Probability of Failure

(PoF) dan Consequency of Failure (CoF). Dari hasil pembagian dua

kategori tersebut dibentuk menjadi suatu matrik, CoF sebagai sumbu x dan

PoF sebagai sumbu y dapat dilihat pada Gambar 2.4.a dan Gambar 2.4.b.

Dari matrik tersebut kita dapat gunakan sebagai perhitungan tingkatan

resiko korosi pada suatu jaringan pipa. Hasil akhir dari proses CRA atau

perhitungan tingkatan resiko adalah tingkatan resiko pipa untuk pipa yang

terkorosi.

WWI mengusulkan beberapa hal yang menjadi parameter atau

komponen PoF dan CoF dari produksi (hidrokarbon) cluster line, yaitu

sebagai berikut:

PoF

a. Year of Service, persentasenya 20%

b. Fluid characteristic, persentasenya 20%

c. Corrosion inhibitor treatment, persentasenya 10%

d. Mechanical cleaning treatment, persentasenya 10%

e. Coating atau wrapping treatment, persentasenya 10%

f. CP treatment, persentasenya 10%


19

g. Number of Leaks, persentasenya 20 %

Penilaian terhadap parameter PoF terbagi menjadi 5 bagian yaitu dengan

pembagian kategori resiko dari 1 sampai 5.

Gambar 2.4.a Pembagian Kategori Resiko PoF

CoF

a. Production loss, persentasenya 50%

b. Reputation, persentasenya 15%

c. Safety, persentasenya 15%

d. Environmental or community impact, persentasenya 20%

Penilaian terhadap parameter CoF juga terbagi menjadi 5 bagian yaitu

dengan pembagian kategori resiko dari A sampai E

A B C D E

. Gambar 2.4.b Pembagian Kategori Resiko CoF


20

Gambar 2.5. Persentase Paramater PoF dan CoF


21

Dari Gambar 2.5. diatas dapat dilihat pembagian data korosi berdasarkan

kategori PoF dan CoF berikut persentase komponennya dan besar bobot

detail komponen tersebut.

Gambar 2.6. Risk Matrix PoF dan CoF

Gambar 2.6. diatas adalah sebagai hasil yang akan didapat dari PoF dan

CoF yaitu berupa matrik resiko.

2.2. Konsep Dasar Sistem Informasi

2.2.1. Pengertian Sistem

Secara sederhana sistem dapat didefinisikan sebagai sekelompok

elemen yang saling berhubungan atau berinteraksi hinga membentuk satu

kesatuan. Akan tetapi, konsep umum sistem berikut ini memberikan

konsep dasar yang lebih tepat untuk bidang sistem informasi. Dimana

sistem diartikan sebagai sekelompok elemen-elemen yang terintegrasi

dengan maksud yang sama untuk mencapai suatu tujuan. (Whitten,


22

2006:45). Elemen tersebut bisa berupa organisasi, orang atau benda yang

melakukan suatu pekerjaan, dimana pekerjaan tersebut merupakan tujuan

bersama dari masing-masing elemen.

Sebuah sistem memiliki karakteristik, yang mencirikan bahwa hal

tersebut dikatakan sebagai suatu sistem. Adapun karakteristik yang

dimaksud adalah, sebagai berikut :

1. Komponen Sistem (Component)

Suatu sistem terdiri dari sejumlah komponen atau elemen yang

saling berinteraksi, komponen atau elemen sistem dapat berupa

subsistem atau bagian dari sistem. Setiap subsistem mempunyai

sifat-sifat dari sistem yang mempengaruhi proses dari sistem.

2. Batas Sistem (Boundary)

Batas sistem merupakan daerah yang membatasi antara suatu sistem

dengan sistem yang lainnya atau dengan lingkungan luar. Batas

suatu sistem menunjukkan lingkup (scope) dari sistem tersebut.

3. Lingkungan Luar (Environment)

Lingkungan luar dari suatu sistem adalah apapun diluar batas dari

sistem yang mempengaruhi operasi dari sistem.

4. Penghubung (Interface)

Penghubung sistem merupakan media penghubung antara satu

subsistem dengan subsistem yang lain untuk dapat berinteraksi

membentuk suatu kesatuan.


23

5. Masukan (Input)

Masukan sistem merupakan energi yang dimasukan ke dalam sistem

yang berupa masukan perawatan (maintenance input) dan keluaran

sinyal (signal output). Maintenance input adalah energi yang

dimasukan supaya sistem tersebut dapat beroperasi. Signal output

adalah energi yang diproses untuk mendapatkan keluaran.

6. Keluaran (Output)

Keluaran sistem adalah hasil dari energi yang diolah dan

diklasifikasikan menjadi keluaran yang berguna.

7. Pengolahan (Process)

Suatu sistem dapat mempunyai suatu bagian pengolahan yang akan

merubah masukan menjadi keluaran.

8. Sasaran (Objective)

Suatu sistem harus mempunyai sasaran, karena sasaran sangat

menentukan sekali masukan yang dibutuhkan oleh sistem dan

keluaran yang akan dihasilkan sistem.

2.2.2. Pengertian Informasi

Informasi adalah data yang telah diproses sehingga menjadi lebih

bermakna (McLeod, 2004:12). Informasi di bentuk dari data yang dengan

penuh harapan mempunyai arti bagi penerimanya (Whitten, 2004:27).

Informasi sendiri dapat dikelompokkan menjadi tiga bagian, yaitu :


24

1. Informasi Strategis

Informasi Strategis merupakan informasi yang digunakan untuk

mengambil keputusan jangka panjang.

2. Informasi Taktis

Informasi taktis merupakan informasi yang dibutuhkan untuk

mengambil keputusan jangka menengah.

3. Informasi Teknis

Informasi Teknis merupakan informasi yang dibutuhkan untuk

keputusan sehari-hari

Sedangkan kualitas informasi bergantung pada tiga hal, yaitu

(Jogiyanto, 2005:10) :

1. Akurat

Akurat berarti informasi harus bebas dari suatu kesalahan dan tidak

menyesatkan. Akurat juga berarti informasi harus jelas

mencerminkan maksudnya. Informasi harus akurat karena dari

sumber informasi sampai ke penerima informasi kemungkinan

banyak terjadi gangguan (noise) yang dapat merubah atau merusak

informasi tersebut.

2. Tepat pada waktunya

Tepat pada waktunya berarti informasi yang datang pada penerima

tidak boleh terlambat, karena informasi merupakan landasan

didalam mengambil keputusan.


25

3. Relevan

Relevan berarti informasi tersebut mempunyai manfaat untuk

pemakainya. Relevansi informasi untuk tiap-tiap orang satu dengan

lainnya berbeda.

Informasi yang berkualitas merupakan informasi yang memiliki

memiliki nlai tinggi. Dimana suatu informasi dikatakan bernilai bila

manfaatnya lebih efektif dibandingkan biaya untuk mendapatkannya.

Sebagian besar informasi tidak dapat ditaksir keuntungannya dengan nilai

uang, tetapi dapat ditaksir nilai efektifnya. Pengukuran nilai informasi

biasanya dihubungkan dengan analisis cost effectiveness atau cost benefit.

(Jogiyanto, 2005:10)

2.2.3. Pengertian Sistem Informasi

Sistem informasi dapat didefinisikan sebagai suatu susunan dari

orang, data, proses dan teknologi informasi yang saling berhubungan

untuk mengumpulkan, memproses, menyimpan dan menyediakan keluaran

informasi yang diperlukan untuk mendukung suatu organisasi. (Whitten,

2004:12). Sistem informasi dapat digolongkan menurut fungsinya, antara

lain sebagai berikut:

1. Transaction Processing System (TPS), suatu sistem informasi yang

memproses data tentang transaksi bisnis. Seperti pesanan (order),

kartu catatan waktu, pembayaran, reservasi dan sebagainya. (Whitten,

2004:12).
26

2. Management Information System (MIS), suatu sistem informasi untuk

menghasilkan laporan yang berorientasi pada manajemen yang

berdasarkan pada proses transaksi dan operasi dari organisasi.

(Whitten, 2004:12)

3. Decision Support System (DSS), suatu sistem informasi yang

membantu mengidentifikasi pengambilan keputusan yang mungkin

atau menyediakan informasi untuk membantu pengambilan keputusan

manajemen. (Whitten, 2004:12)

4. Executive Information System (EIS), suatu sistem informasi yang

mendukung perencanaan dan kebutuhan penilaian dari manajer

eksekutif. (Whitten, 2004:12)

5. Expert System (ES), sistem informasi yang menangkap keahlian dari

para pekerja lalu menirukan keahlian tersebut untuk dimanfaatkan

oleh orang yang tidak ahli. (Whitten, 2004:12)

6. Communication and Collaburation System, suatu sistem informasi

yang memberikan peluang komunikasi antara para pekerja, mitra dan

pelanggan untuk meningkatkan kemampuan bekerja sama. (Whitten,

2004:12)

7. Office Automation System, suatu sistem informasi yang mendukung

cakupan luas dari aktifitas kantor yang disediakan untuk

meningkatkan alur kerja karyawan dan membantu karyawan

membuat dan membagi dokumen yang dapat mendukung aktifitas

kantor sehari-hari. (Whitten, 2004:12).


27

2.3. Metode Pengembangan Sistem

Metodologi pengembangan sistem adalah suatu proses standar yang

diikuti oleh organisasi untuk melaksanakan seluruh langkah yang diperlukan

untuk menganalisis, merancang, mengimplementasikan dan memelihara

sistem informasi. (Hoffer dkk, 1998).

Salah satu metodologi pengembangan sistem yang sering digunakan

adalah System Development Life Cycle (SDLC). Metode ini merupakan

suatu proses yang direkayasa untuk mengembangkan sistem dari tahap

perencanaan sampai penerapan. Disebut sebagai Life Cycle atau siklus hidup

karena sistem dapat diperbaharui sesuai dengan kebutuhan, aktivitas dari

siklus hidup ini disebut tahapan (fase).

Adapun tahapan – tahapan dari SDLC adalah sebagai berikut :

1. Perencanaan Sistem (System Planning)

Tujuan dari tahap ini adalah membuat persiapan penelitian

(preliminary investigation) atau yang disebut studi kelayakan

(feasibility study).

2. Analisis Sistem (System Analysis)

Tahap ini bertujuan untuk memahami kebutuhan dari sistem, dengan

menggunakan teknik-teknik pengumpulan data.

Pada tahap ini akan diuraikan mengenai :


28

a. Profil Tempat Penelitian

Profil tempat penelitian disini akan menguraikan tentang latar

belakang, visi, misi, tujuan, struktur organisasi dari tempat

penelitian ini dilakukan.

b. Analisis Sistem berjalan

Analisis sistem berjalan akan menguraikan sistem yang berjalan

saat ini di tempat penelitian.

c. Analisis Sistem Usulan

Analisis sistem usulan akan menguraikan tentang sistem usulan

yang dapat membantu menyelesaikan permasalahan yang ada di

tempat penelitian.

3. Perancangan Sistem (System Design)

Tahap ini bertujuan untuk membuat rincian rancangan sistem (System

Design Specification), yaitu blue print dari sistem yang baru yang

terdiri dari :

a. Perancangan proses yang meliputi Diagram Konteks, DFD Zero,

DFD Level 1.

b. Perancangan basis data yang meliputi ERD, Normalisasi dan

kamus data.

c. Perancangan Input dan Output yang meliputi tampilan program.

4. Implementasi Sistem (System Implementation)


29

Tahap ini bertujuan untuk menulis kode program, menguji,

mendokumentasikan program. Kemudian membuat evaluasi system

untuk menentukan apakah sistem beroperasi secara tepat

5. Operasi dan Pemeliharaan Sistem

Tahap ini bertujuan untuk memelihara dan meningkatkan kerja system

dengan memperbaiki kesalahan dan mengadaptasikan sistem dengan

lingkungan.

2.4. Tools Analisis dan Desain Sistem Informasi

2.4.1. Flowchart

Flowchart dalam Bahasa Indonesia di terjemahkan sebagai Diagram

Alir. Dari dua kata ini, maka dapat kita bayangkan bahwa flowchart itu

berbentuk diagram yang bentuknya dapat mengalirkan sesuatu

Dalam flowchart dilukiskan suatu aliran kegiatan dari awal hingga

akhir mengenai suatu langkah-langkah dalam penyelesaian suatu masalah.

Masalah tersebut bisa bermacam-macam, mulai dari masalah yang

sederhana sampai yang kompleks. Masalah yang kita pelajari tentu saja

masalah pemrograman dengan menggunakan komputer, tetapi secara

logika dapat kita awali dengan mengamati permasalahan dalam kehidupan

sehari-hari kita.
30

2.4.2. Data Flow Diagram (DFD)

Menurut McLeod (2004) Data Flow Diagram (DFD) adalah

gambaran grafis dari suatu sistem yang menggunakan sejumlah bentuk-

bentuk simbol untuk menggambarkan bagaimana data mengalir dari suatu

proses yang saling berkaitan. Sedangkan menurut Whitten, Bentey dan

Dittman (2006) DFD adalah alat yang menggambarkan aliran data melalui

sistem dan kerja atau pengolahan yang dilakukan oleh sistem tersebut.

Untuk memudahkan pembacaan DFD, maka penggambaran DFD

disusun berdasarkan tingkatan atau level dari atas ke bawah, yaitu :

1. Diagram Konteks (Level 0)

Merupakan diagram paling atas yang terdiri dari suatu proses dan

menggambarkan ruang lingkup proses.

2. Diagram Zero (Level 1)

Merupakan diagram yang berada diantara Diagram konteks dan

Diagram Detail serta menggambarkan proses utama dari DFD.

3. Diagram Detail (Primitif)

Merupakan penguraian dalam proses yang ada dalam Diagram Zero,

diagram yang paling rendah dan tidak dapat diuraikan lagi.

Data Flow Diagram (DFD) sendiri memiliki empat komponen

(Whitten 2004:326), yaitu :

1. Terminator (External entity) ;

Mendefinisikan orang, unit organisasi, sistem lain, atau organisasi lain

yang berada di luar sistem tetapi berinteraksi dengan sistem.


31

Terminator diberi nama yang berhubungan dengan sistem tersebut dan

biasanya menggunakan kata benda. Simbol ini menggambarkan asal

dan tujuan dari data dan atau informasi.

2. Proses ;

Kerja yang dilakukan pada atau sebagai respon terhadap aliran data

masuk/kondisi. Komponen proses menggambarkan transformasi input

menjadi output. Penamaan proses disesuaikan dengan proses/kegiatan

yang sedang dilakukan.


Nama aliran data
3. Alur data (garis berarah) ;

Digunakan untuk menerangkan perpindahan data/paket data dari satu

bagian ke bagian lainnya. Alur data dapat berupa kata, pesan,

formulir/informasi.

4. Data store ;

Menggambarkan tempat penyimpanan data (sementara) yang akan

digunakan oleh proses-proses yang ada di dalam sistem. Komponen ini

digunakan untuk membuat model sekumpulan paket data dan diberi

nama dengan kata benda bersifat jamak. Data store dapat berupa

file/database yang tersimpan dalam harddisk atau bersifat manual

seperti buku alamat, file folder. (Whitten 2004:329-346)

2.4.3. Entity Relationship Diagra (ERD)

Entity Relationship Diagram (ERD) digunakan untuk

menggambarkan hubungan antara data store yang ada di dalam diagram


32

aliran data (Whitten, 2006 : 45). Komponen-komponen yang digunakan di

dalam diagram hubungan data menurut McLeod (2004) antara lain :

1. Entitas, digambarkan dengan bentuk persegi panjang yang menyatakan

obyek atau kejadian ;

2. Relasi, digambarkan dengan bentuk belah ketupat (diamond) yang

menyatakan asosiasi antara dua entitas ;

3. Atribut, digambarkan dengan bentuk elips yang menunjukkan

karakteristik dari entitas atau sesuatu yang menjelaskan entitas atau

hubungan ;

4. Garis, menghubungkan antara entity set dengan atribut-atributnya dan

antara entity set dengan relationship setnya dan digambarkan oleh ;

5. Cardinality

Ada 3 dasar cardinality / hubungan yang terjadi, yaitu :

a. Satu ke satu (one to one atau 1 : 1)

Derajat hubungan antar entitas 1 : 1 terjadi bila entitas A hanya

boleh berpasangan dengan satu anggota dari entitas B. Demikian

pula sebaliknya.
1 1

Gambar 2.7. Simbol 1 to 1

b. Satu ke banyak (one to many atau 1 : M) atau banyak ke satu

(many to one atau M : 1)

Derajat hubungan ini terjadi bila tiap anggota entitas A boleh

berpasangan dengan lebih dari satu anggota entitas B. Sebaliknya


33

setiap anggota entitas B hanya boleh berpasangan dengan satu

anggota entitas A.

1 M

Gambar 2.8. Simbol 1 to M

c. Banyak ke banyak (Many to many atau M : N)

Terjadi bila tiap anggota entitas A boleh berpasangan dengan lebih

dari satu anggota entitas B. Demikian pula sebaliknya.

M N

Gambar 2.9. Simbol M to N

2.4.4. Basis Data

Menurut McLeod (2001, 258), “Basis data adalah suatu koleksi data

komputer yang terintegrasi, diorganisasikan dan di simpan dengan suatu

cara yang memudahkan pengambilan kembali “.

Dua tujuan utama dari konsep Basis Data adalah meminimasikan

pengulangan data dan mencapai independensi data. Pengulangan data

(data redundancy) adalah duplikasi data--artinya, data yang sama

disimpan dalam beberapa file. Independensi data adalah kemampuan untuk

membuat perubahan dalam struktur data tanpa membuat perubahan pada

program yang memproses data. Independensi dicapai dengan


34

menempatkan spesifikasi data dalam tabel dan kamus yang terpisah secara

fisik dari program. Program mengacu pada table untuk mengakses data.

2.5. Perangkat Lunak dalam Perancangan Sistem

2.5.1. MySQL

MySQL merupakan software sistem manajemen database

(Database Management System - DBMS) yang sangat popular dikalangan

pemrogram web, terutama di lingkungan Linux dengan menggunakan

script PHP dan Perl (Sidik, 2005).

MySQL adalah multi user database yang menggunakan bahasa

Structure Query Language (SQL). MySQL dalam operasi client server

melibatkan server diamone di sisi server dan berbagai program serta

library yang berjalan disisi client. MySQL mampu untuk menangani data

yang cukup besar.

SQL adalah bahasa standar yang digunakan untuk mengakses

server database. bahasa ini pada awalnya dikembangkan oleh IBM, namun

telah diadopsi dan digunakan sebagai standar industri. dengan

menggunakan SQL, proses akses database menjadi userfriendly

dibandingkan dengan menggunakan dbase atau clipper yang masih

menggunakan perintah-perintah pemrograman.

2.5.1.1 Database, tabel, baris, kolom

Dalam konteks bahasa SQL, pada umumnya informasi

tersimpan dalam tabel-tabel yang secara logik merupakan struktur


35

dua dimensi yang terdiri atas baris-baris data yang berada dalam

satu atau lebih kolom. Baris pada tabel sering disebut sebagai

instance dari data, sedangkan kolom sering disebut sebagai

attributes atau field. Keseluruhan tabel tersebut dihimpun dalam

satu kesatuan yang disebut database.

2.5.1.2 Perintah-perintah SQL

Perintah SQL dibedakan menjadi:

1. DDL (Data Definition Language)

Merupakan kelompok perintah yang digunakan untuk

melakukan pendefinisian database dan pendefinisian tabel.

Dengan kelompok perintah dalam DDL ini maka kita dapat

membuat tabel, mengubah strukturnya, menghapus tabel,

membuat indeks untuk tabel, dan lain-lain yang bermuara pada

pembentukan struktur database.

a. Membuat Database

Perintah :

CREATE DATABASE namadatabase;

Namadatabse diawali dengan menggunakan huruf,

kemudian diikuti dengan kombinasi huruf dan karakter,

sebaiknya tidak mengandung spasi dan tanda baca. Perintah

ini digunakan pertama kali sebelum membuat tabel, view,


36

fungsi, prosedur atau pun komponen lain suatu database.

Diberikan satu kali saja untuk sebuah database.

b. Membuat Tabel

Perintah:

CREATE TABLE namatabel

Field1 TipeData1 [ , Field2 TipeData2 [ , …] ]

Namatabel diawali huruf, kemudian diikuti dengan

kombinasi huruf dan angka, jangan menggunakan spasi

atau tanda baca. Field1 adalah nama field yang kesatu,

Field2 adalah nama field kedua, dan seterusnya, sejumlah

field yang akan didefinisikan untuk suatu tabel. TipeData1

adalah tipe data dan jumlah digit (jika ada) untuk field yang

kesatu, TipeData2 adalah tipe data dan jumlah digit (jika

ada) untuk field yang kedua, dan seterusnya sejumlah field

yang akan didefinisikan.

c. Menghapus Tabel

Perintah:

DROP TABLE namatabel;

Namatabel adalah nama dari tabel yang akan dihapus secara

fisik. Penghapusan ini menyebabkan struktur dan data yang

dibuat akan hilang.


37

d. Menghapus Database

Perintah:

DROP DATABASE namadatabase

Namadatabase adalah nama dari database yang akan

dihapus. Penghapusan database akan menyebabkan seluruh

struktur dan data yang ada di dalamnya menjadi hilang.

Hati-hati dalam memberikanperintah drop database ini,

karena apabila telah dihapus tidak ada mekanisme yang

memungkinkan kita mendapatkan kembali struktur dan data

yang ada di dalam database tersebut.

2. DML (Data Manipulation Language)

Perintah (statement) SQL digunakan untuk melakukan

manipulasi data dalam database, menambahkan (insert),

mengubah (update), menghapus (delete), mengambil dan

mencari data (query).

a. Insert

Perintah:

INSERT INTO namatabel (field1 [ , field2 [ , ... ] ] )

VALUES (nilai1 [ , nilai2 [ , ... ] ] );

Namatabel adalah tabel yang akan diisi data. Field1, field2,

... adalah field-field (kolom) dari tabel yang akan diisi.

Nilai1, nilai2, ... adalah data yang akan dimasukkan ke

dalam tiap kolom yang disebutkan pada bagian field.


38

Penulisan nilai1, nilai2, ... disesuaikan dengan tipe datanya,

jika tipe data merupakan kelompok tipe data karakter maka

data harus diapit dengan menggunakan tanda petik.

b. Update

Perintah:

UPDATE namatabel SET field1 = nilai1 [ , field2 = nilai2 [ ,

...] ] [WHERE kondisi];

Namatabel adalah nama dari table yang akan diperbaiki

datanya. Field1 adalah nama field dalam table yang akan

diubah. Nilai1 adalah data yang akan dimasukkan ke dalam

field1, field2 dan nilai2 adalah nama field dan datanya, dan

seterusnya. Kondisi adalah keriteria data dalam tabel yang

akan diperbaiki.

Perintah update digunakan untuk memperbaiki data dalam

suatu record (baris) dalam suatu table. Perbaikan dapat

dilakukan untuk satu record, beberapa, atau seluruh record.

c. Delete

Perintah:

DELETE FROM namatabel [ WHERE kondisi ] ;

Namatabel adalah nama dari tabel yang akan dihapus

datanya. Kondisi adalah kriteria data dalam tabel yang akan

dihapus.
39

Perintah delete digunakan untuk melakukan penghapusan

record dari suatu tabel yang memiliki kondisi yang

dinyatakan dalam pernyataan kondisi.

d. Select

Perintah:

SELECT ( * | field1 [ , field2 [ , ...] ] ) FROM namatabel

[ WHERE kondisi]

Namatabel adalah nama dari tabel yang akan ditampilkan

datanya. Field1, field2, … adalah nama field yang akan

ditampilkan datanya. * digunakan untuk menampilkan

seluruh field dari table. Kondisi adalah criteria data dalam

table yang akan ditampilkan.

Perintah select digunakan untuk menampilkan isi dari suatu

table. Bentuk perintah di atas adalah bentuk perintah select

yang sederhana yang digunakan untuk menampilkan data

dari suatu tabel saja. Perintah select ini dapat digunakan

untuk menampilkan data dari berbagai tabel.

2.5.2. PHP

PHP merupakan script untuk pemrograman script web server-side,

script yang membuat dokumen HTML secara on the fly, dokumen HTML

yang dihasilkan dari suatu aplikasi bukan dokumen HTML yang dibuat

dengan menggunakan editor teks atau editor HTML (Sidik, 2004).


40

Dengan menggunakan PHP maka maintenance suatu situs

web menjadi lebih mudah. Proses update data dapat dilakukan dengan

menggunakan aplikasi yang sibuat dengan menggunakan script PHP.

PHP/FI merupakan nama awal dari PHP. PHP – Personal Home

Page, FI adalah Form Interface. Dibuat pertama kali oleh Rasmus Lerdoff.

PHP, awalnya merupakan program CGI yang dikhususkan untuk

menerima input melalui form yang ditampilkan dalam browser web.

2.5.2.1. Nama File

Nama file script PHP menggunakan ekstensi file .php

sebagai standar. Ekstensi file .php bisa diubah karena

tidakmenjadi keharusan, perubahan dapat dilakukan oleh

administrator server – web master tempat server web yang akan

digunakan untuk hosting script PHP yang kita punya. Sebaiknya

kita menggunakan standar, untuk memudahkan kita melakukan

pengelolaan file yang kita miliki.

Script PHP sebaiknya diberi nama sesuai maksud dan

kegunaan dari script yang dibuat tersebut, sebaiknya diawali

dengan huruf diikuti dengan kombinasi huruf dan angka, diikuti

dengan ekstensi .php, contoh nama file yang dianjurkan seperti :

bacafile.php, data_karyawan1.php, dan sebagainya.


41

2.5.2.2. Tag Awal dan Tag Akhir

Script PHP diawali dan diakhiri dengan menggunakan tag

khusus. Ada 4 macam cara yang dapat digunakan untuk

menuliskan script PHP di dalam suatu dokumen HTML.

1. Cara I

<? echo(“Script PHP”); ?>

2. Cara II

<?php echo(“Script PHP”); ?>

3. Cara III

<% echo(“Script PHP”); %>

4. Cara IV

<% =$namaVar; %>

Cara I merupakan cara yang lebih praktis, selalu

mengasumsikan bahwa <? adalah awal dari script PHP. Pada cara

II penulisan php digunakan untuk informasi bahwa berikutnya

adalah script PHP. Cara III dan cara IV menggunakan gaya

Active Server Pages (ASP). ASP adalah teknik pemrograman web

dengan bahasa script VBScript, merupakan produk yang

dikembangkan oleh Microsoft, merupakan default piranti

pengembangan web untuk produk Microsoft (IIS). Cara III dan IV

dapat dilakukan oleh PHP apabila nilai asp_tags pada php.ini

diberi nilai On bukan Off.


42

2.5.2.3. Komentar

Komentar yang dimaksud dalam script PHP adalah

bagian script PHP yang tidak akan dieksekusi, karena merupakan

catatan terhadap fungsi dari script atau menjelaskan maksud dari

sebagian script yang dituliskan. Ada tiga macam penulisan

komentar dalam PHP:

1. /* komentar */ cara penulisan komentar dari bahasa

pemrograman C

2. // komentar cara penulisan komentar dari bahasa

pemrograman C++

3. # komentar cara penulisan komentar dari pemrograman

script shell Bourne di Unix/Linux

2.5.2.4. Skrip PHP

Ada 3 cara untuk menuliskan skrip PHP, yaitu:

1. <?

Script PHP anda

?>

2. <?php

Script PHP anda

?>

3. <script language = “php”>

Script PHP anda


43

</script>

Skrip PHP berkdudukan sebagai tag dalam bahasa

HTML. Sebagaimana diketahui, HTML (Hypertext Markup

Language) adalah bahasa standar untuk membuat halaman-

halaman web. Sebagai contoh, berikut adalah kode HTML

(disimpan dengan ekstensi .htm atau .html)

2.5.2.5. Case Sensitive

Script PHP menerapkan aturan case sensitive yakni

adanya perbedaan penulisan antara huruf besar dengan huruf

kecil. Setiap penulisan di dalam script harus mengikuti aturan

penulisan yang telah ditentukan, case sensitive dikenakan

terutama untuk nama-nama variabel.


BAB III

METODOLOGI PENELITIAN

3.1. Alat dan Bahan

3.1.1. Alat

Alat yang digunakan untuk pengolahan data dalam penelitian

dan untuk membangun aplikasi ini adalah perangkat keras dan lunak.

Berikut ini merupakan spesifikasi dari alat yang digunakan :

1. Perangkat Keras

a. Personal Computer, dengan spesifikasi :

o Processor Intel Pentium D CPU 2.80 GHz

o Harddisk 80 GB

o Memory DDR2 2 GB

o LAN Card

o DVD – RW

o Keyboard dan Mouse

b. Printer Kyocera

2. Perangkat Lunak

a. Windows XP Service Pack 2

b. Macromedia Dreamweaver

c. XAMPP

d. UltraEdit-32 Text Editor

44
45

3.1.2. Bahan

Bahan-bahan yang digunakan dalam penelitian ini dapat dilihat

pada tabel 3.1. berikut ini :

Tabel 3.1. Daftar Bahan Penelitian

No Bahan Sumber
1. Drawing PDF as-built. PT. Conoco Phillips Indonesia (COPI)

3.2. Waktu dan Tempat Penelitian

Dalam pembuatan aplikasi analisis data monitoring korosi pipa penulis

melakukan penelitian ke salah satu kontraktor dari PT. Conoco Phillips

Indonesia (COPI), yaitu PT. Wilson Walton Indonesia yang berkaitan untuk

pengumpulan dan observasi data-data. Berikut adalah deskripsi lokasi dan

waktu penelitian dalam pengembangan analisis data monitoring korosi pipa:

1. PT. Wilson Walton Indonesia (WWI)

Waktu penelitian : Maret 2009 – Agustus 2009

Alamat : Jl. Raya Tanjung Barat No. 155 Jakarta

Selatan 12530, Indonesia, Telp : (021)

781 6411, Fax : (021) 781 6433


46

3.3. Gambaran Umum Perusahaan

Lokasi penelitian skripsi ini, penulis mengadakan penelitian pada PT.

WILSON WALTON INDONESIA berada di Gedung sendiri yang beralamat di

Jalan Raya Tanjung Barat No. 155 Jakarta Selatan 12350 Indonesia.

3.3.1. Sejarah dan Perkembangannya

PT. Wilson Walton Indonesia didirikan pada tahun 1994 sebagai

bagian dari Corrpro Companies Inc., yang merupakan perusahaan

internasional yang berkantor pusat di Amerika Serikat di bidang

engineering, jasa dan konsultasi korosi di berbagai macam lingkungan.

Pada tahun 2003, PT. Wilson Walton Indonesia, menjadi

perusahaan independen yang berkomitmen untuk melayani area Indonesia,

Singapura, Malaysia dan Brunei Darussalam dengan dukungan penuh dari

Corrpro Companies Inc.

PT. Wilson Walton Indonesia, juga merupakan agen tunggal dari

Rohrback Cosasco System (RCS), perusahaan terkemuka dalam bidang

Corrosion Monitoring, Specialty Polymer Coating (SPC), produsen coating

yang terbuat dari 100% solid, perusahaan yang bergerak di bidang

Intelligent Pigging. PT. Wilson Walton Indonesia mempunyai keahlian di

bidang, diantaranya:

a. Corrosion engineering dan Control

b. Sistem Proteksi Katodik

c. Internal Corrosion Monitoring


47

d. Specialty Coating dan Coating Assessment

e. Intelligent Pigging dan Inline Inspection

f. Pipeline Integrity Management Services

Saat ini untuk mendukung kegiatan operasionalnya, PT. Wilson

Walton Indonesia, memiliki dua kantor cabang yang berlokasi di

Balikpapan dan Pekanbaru.

PT. Wilson Walton Indonesia percaya bahwa kepuasan pelanggan

dapat dicapai pada semua tingkatan dengan meyakinkan seluruh tahapan

dari desain sampai realisasi jasa berjalan sesuai prosedur. Pelayanan ini

disempurnakan melalui perekayasaan dan penelitian yang

berkesinambungan, mutu yang terjaga baik, manajemen keselamatan serta

jangkauan produk dan jasa yang luas, dimana semuanya ini terarah pada

pemeliharaan sumber-sumber energi dunia, infrastruktur dan lingkungan.

Dengan sudah menerapkan Standar Sistem Manajemen Mutu ISO

9001:2008 ini, PT. Wilson Walton Indonesia telah menyediakan kerangka

kerja pengelolaan mutu yang jauh lebih baik sehingga mampu

menyempurnakan praktek pengelolaan mutu yang sudah ada selama ini,

seiring dengan tuntutan terhadap pemenuhan persyaratan standar yang

jauh melebihi dari persyaratan sebelumnya. Selain itu, sertifikasi ISO

9001:2008 yang telah memberikan pengakuan Internasional bagi PT.

Wilson Walton Indonesia.

Bagi PT. Wilson Walton Indonesia, ISO 9001:2008 merupakan

cara terbaik untuk mengukur keseriusan perusahaan dalam usaha


48

berkelanjutan untuk meningkatkan mutu produk, efektivitas dan efisiensi

dari segala aspek serta, peningkatan motivasi kerja karyawan serta

mendorong mereka agar lebih bertanggung jawab terhadap pekerjaannya,

mengutamakan mutu produk dan jasa, disiplin kerja dan dokumentasi hasil

kerja yang lebih konsisten.

3.3.2. Visi, Misi, Kebijakan dan Sasaran Mutu

Sebagai salah satu wujud komitmen PT. Wilson Walton Indonesia

dalam berupaya memuaskan pelanggan dan melakukan perbaikan

berkelanjutan, maka manajemen PT. Wilson Walton Indonesia mempunyai

Visi, Misi dan menetapkan Kebijakan Mutu sebagai kerangka kerja untuk

menetapkan dan meninjau Sasaran Mutu, yang dikomunikasikan dalam

organisasi untuk dipahami dan dilaksanakan serta ditinjau secara terus-

menerus agar senantiasa sesuai dengan perkembangan jaman.

a. Visi

PT. Wilson Walton Indonesia

Menjadi Mitra terbaik bagi perusahaan minyak & gas, pertambangan,

pembangkit listrik dan infrastruktur dalam bidang korosi dan pipeline

integrity di Indonesia dan regional dengan menitik beratkan pada

profesionalisme, ketepatan waktu, standardisasi mutu dan kepuasan

pelanggan
49

b. Misi

PT. Wilson Walton Indonesia

Memberikan jasa pelayanan dengan Komitmen, Kepercayaan dan

menunjukkan hasil yang sesuai dengan keinginan pelanggan.

3.3.3. Struktur Organisasi

Pengorganisasian adalah masalah yang sangat diutamakan dalam

suatu perusahaan, karena didalam organisasi itu terdapat dengan jelas fungsi

dan tanggung jawab dari setiap bagian. Jika setiap bagian tersebut berfungsi

sesuai dengan tugas yang dibebankan, maka kegiatan perusahaan akan

berjalan dengan baik dan akan terlihat juga perkembangan perusahaan

dalam mencapai mengoperasikan suatu kegiatan, langkah pertama yang

dilakukan oleh seorang pimpinan adalah menetapkan pekerjaan apa yang

harus dikerjakan oleh para pegawai agar dapat merealisakan apa yang

menjadi tujuan perusahaan. Pekerjaan ini harus dibagi-bagi menjadi tugas-

tugas kecil agar dikerjakan oleh penerima tugas, dan tugas ini harus

ditetapkan dengan jelas kepada siapa tugas ini diserahkan apa yang menjadi

kewajibannya dan kepada siapa sipenerima tugas ini bertanggung jawab atas

pelaksanaan tugasnya. Pembagian tugas ini sangat perlu dalam suatu

organisasi dalam suatu organisasi agar tidak terjadi tumpang tindih,

melainkan agar jelas yang harus dikerjakan dengan wewenang yang mereka

pilih dan miliki.


50

President Director

Marketing &
Commercial Director Operation Director Chief Financial
Officer

Branch Sales Coordinator Management Operation Manager


Offices Representative Finance & Accounting
Manager

Assistant
Balikpapan
Operation Manager

Pekanbaru Account Manager

Accounting & Tax

Engineering Project Department Admin & IT


Department
Procurement
Logistic & Warehouse

Lead Engineer PIC / PIC / Expeditor


PIC / PIC /
Project Project Office, GA, HRD
Project Project
Leader Leader

Cost Control
Corrosion / CP Engineer Engineer Engineer Engineer IT
Engineer

Finance & Cashier

Corrosion / CP Technician Technician Technician Technician Drafter


Technician

Gambar 3.1. Struktur Organisasi PT. Wilson Walton Indonesia


51

3.4. Tahapan Penelitian

Pada gambar 3.2. dibawah ini merupakan gambar tahapan penelitian

yang dilakukan oleh penulis :

Perencanaan Analisis Perancangan Implementasi Pemeliharaan

Mulai 2
1 3 4

Identifikasi
Analisa Sistem
Kebutuhan (User Data Flow Sarana
yang Sedang Pemeliharaan
Need Assisment) Diagram (DFD) Pendukung
Berjalan Sistem
Aplikasi

Bagan Alir
Identifikasi Desain Kamus
Sistem yang Selesai
Masalah Data Implementasi
Sedang
Sistem
Berjalan

Tujuan Analisa
Pengembangan Kebutuhan Normalisasi 4
Sistem Sistem yang
Sedang Berjalan

1
Alternatif Desain Basis
Pemecahan Data
Masalah

2 ERD (Entity
Relationalshi
p Diagram)

Desain Struktur
Menu Sistem
Informasi

Gambar 3.2. Tahapan Penelitian

3.5. Metode Pengumpulan Data

Dalam rangka menyusun skripsi ini dilakukan riset atau penelitian

untuk mendapatkan data-data atau bahan materi yang diperlukan. Adapun

metode pengumpulan data-data yang diperlukan adalah sebagai berikut:

3.5.1. Studi Pustaka

Dalam metode ini dilakukan pencarian buku-buku maupun

website yang membahas tentang analisa aktivitas atau tingkatan


52

korosi pada jaringan pipa diantaranya adalah buku berjudul

“Pipeline Risk Management Manual” karangan W. Kent Muhlbauer,

“Peabody's Control of Pipeline Corrosion” karangan A. W. Peabody

dan juga standar-standar yang mengatur tentang korosi seperti ASM

Metal Handbook, ASME dan NACE Standard. Untuk pembuatan

aplikasi berbasis web penulis menggunakan referensi buku berjudul

“Pemrograman Web dengan PHP”, “MySQL untuk Pengguna ,

Administrator, & Pengembang Aplikasi Web” karangan Betha Sidik.

Buku-buku, literature, dan situs-situs yang penulis gunakan sebagai

referensi dapat dilihat pada daftar pustaka.

3.5.2. Wawancara

Dalam tahapan ini penulis melakukan wawancara dengan

Manager Operation, Field Engineer spesialis internal, Field

Engineer spesialis eksternal dan Field Engineer spesialis pipeline

integrity PT. Wilson Walton Indonesia (WWI), pada hari Selasa 10

Maret 2009. Wawancara ini dilakukan untuk mengetahui informasi

apa yang menjadi kebutuhan user untuk aplikasi yang akan dibangun

nantinya. Dari wawancara tersebut juga didapatkan informasi

mengenai sistem yang sedang berjalan, kelemahan sistem yang

sedang berjalan dan sistem yang harus dirancang. Dari wawancara

tersebut dapat diketahui bahwa analisa aktivitas korosi ini akan di

gunakan sebagai bahan pertimbangan, tentang tindakan yang perlu


53

dilakukan pada jaringan pipa. Adapun daftar pertanyaan yang

disampaikan dalam wawancara ini dapat dilihat pada Lampiran A.

3.6. Metode Pengembangan Sistem

Metodologi yang digunakan untuk membangun sistem ini adalah

konsep siklus hidup pengembangan sistem atau System Development Life

Cycle (SDLC) yang dikembangkan oleh Hosier (Prahasta, 2005: 223).

Gambar 3.2 merupakan gambaran tahapan-tahapan dalam SDLC yaitu:

Perencanaan Sistem, Analisis Sistem, Perancangan Sistem, Implementasi

dan Pemeliharaan.

Perencanaan

Analisis

Perancangan

Implementasi

Pemeliharaan

Gambar 3.3. Tahapan Pengembangan Metode SDLC

3.6.1. Perencanaan

Tahap ini merupakan tahap awal yang bertujuan mencari

permasalahan dan kendala-kendala yang ada pada sistem yang


54

berjalan serta merumuskan tujuan dibuatnya “Sistem Informasi

Monitoring Korosi Pipa Minyak Berbasis Web”.

Pada tahapan ini penulis melakukan penelitian awal untuk

mengidentifikasi masalah awal yang ada pada sistem yang ada

kemudian menentukan faktor penyebabnya, selain itu penulis

mengidentifikasi kebutuhan pengguna terhadap sistem yang akan

dibuat.

3.6.2. Analisis

Pada tahap ini kegiatan yang dilakukan adalah menganalisis

sistem yang berjalan untuk kemudian menyimpulkan permasalahan

yang terjadi khususnya dalam prosedur pengumpulan data kemudian

proses analisa data tersebut, hingga menghasilkan suatu laporan

berupa tingkatan korosi pada suatu jaringan pipa. Tahap ini

merupakan dasar bagi perancangan sistem yang baru sehingga

menghasilkan pengolahan data dan laporan yang lebih baik.

Kegiatan analisis kebutuhan dan kondisi meliputi :

1. Gambaran Umum daerah penelitian

Tujuannya adalah memberikan gambaran tentang kondisi

jaringan pipa COPI, yang bermanfaat sebagai informasi dalam

melakukan perawatan pipa.


55

2. Diagram Alir Data Sistem yang berjalan pada COPI

Tujuannya adalah untuk mengetahui prosedur pengolahan data

jaringan pipa yang sedang berjalan sehingga dapat mengetahui

kekurangan dan kelebihan dari sistem yang ada.

3. Usulan Pemecahan Masalah

Memberikan usulan pemecahan masalah pada COPI dalam

meningkatkan efektivitas penyimpanan dan pengolahan data

pipa dengan membuat usulan sistem baru yang berbasis web,

yang mampu memberikan informasi tingkatan korosi pada

jaringan pipa COPI.

3.6.3. Perancangan

Pada tahap ini, kebutuhan-kebutuhan atau spesifikasi

perangkat lunak yang dihasilkan pada tahap analisis

ditransformasikan. Tahap perancangan ini biasanya dilakukan dalam

dua tahap yang lebih rinci, desain utama dan detail desain. Bagian-

tahap yang pertama menghasilkan rancangan yang bersifat global,

sedangkan bagian-tahap yang kedua menghasilkan rancangan detail

hingga semua modul, tipe (struktur) data, fungsi & prosedurnya

(baik metode yang berfungsi sebagai interface maupun yang terdapat

didalam setiap modul terdefinisi).

Tahap perancangan adalah tahapan yang bertujuan untuk

mengatasi permasalahan yang ada. Dalam tahap ini digunakan


56

beberapa tools (alat) untuk membuat rancangan sistem, diantaranya

adalah sebagai berikut :

a. Perancangan Proses

Dalam melakukan perancangan sistem, penulis menggunakan

alat Data Flow Diagram (DFD) untuk menggambarkan suatu

sistem yang diusulkan berikut kamus datanya (Data

Dictionary) untuk menjelaskan data yang ada pada DFD.

b. Perancangan Basis Data

Setelah perancangan sistem dilakukan kemudian penulis

merancang basis datanya dengan menggunakan alat bantu

Entity Relationship Diagram (ERD) yang menggambarkan

hubungan antar entitas yang ada pada DFD. Untuk

mengefisienkan dan mengefektifkan serta menghindari data

yang sama, dalam basis data penulis juga melakukan

normalisasi.

c. Perancangan Struktur Menu Aplikasi

Perancangan Struktur Menu Aplikasi bertujuan untuk

menentukan menu-menu yang diperlukan pada aplikasi yang

akan dikembangkan.

d. Perancangan Antarmuka Aplikasi

Perancangan antarmuka aplikasi bertujuan untuk menemukan

bentuk yang optimal dari tampilan aplikasi, sehingga dapat

mempermudah pengguna dalam berkomunikasi dengan sistem.


57

3.6.4. Implementasi

Tahapan ini merupakan tahap lanjutan dari desain aplikasi

sistem, yaitu menterjemahkan desain aplikasi sistem ke dalam

bahasa pemrograman yang dapat dimengerti oleh sistem komputer

(coding). Dalam tahapan ini dijelaskan secara detail penggunaan

sistem dari proses memperbaharui informasi data hasil monitoring

korosi pipa hingga proses kondisi tingkatan korosi pada suatu

jaringan pipa.

Selain itu pada tahapan ini dilakukan pengujian aplikasi oleh

pengguna yaitu operator lapangan dan field engineer. Pengujian

terlebih dahulu dilakukan pada setiap modul. Jika setiap modul

selesai diuji dan tidak bermasalah, modul-modul tersebut segera

diintegrasikan (dan dikompilasi) hingga membentuk suatu perangkat

lunak yang memfokuskan pada masalah-masalah logika internal,

fungsi eksternal, potensi masalah yang mungkin terjadi, dan

pemeriksaan hasil (apakah sudah sesuai dengan permintaan).

3.6.5. Pemeliharaan

Tahapan ini merupakan tahapan akhir jika sistem yang telah

dibuat telah diimplementasikan dengan baik. Untuk itu sistem yang

ada harus benar-benar diimplementasikan dengan baik, agar

pengguna yang akan menggunakan dalam hal ini COPI, dapat

mempergunakan sistem dengan baik.


58

Tahap ini ditandai oleh penyerahan (delivery) perangkat

lunak kepada pemesannya yang kemudian dioperasikan oleh

pengguna. Dalam masa operasional sehari-hari, suatu perangkat

lunak mungkin saja mengalami kesalahan atau kegagalan dalam

menjalankan fungsi-fungsinya (errors atau bugs). Atau, pengguna

bisa saja meminta peningkatan kemampuan (jumlah atau kualitas)

perangkat lunak pada pengembangannya. Dengan demikian, kedua

faktor ini menyebabkan perlunya perangkat lunak dipelihara (di-

maintain) dari waktu-ke-waktu.


BAB IV

HASIL DAN PEMBAHASAN

4.1. Perencanaan Sistem

4.1.1. Identifikasi Kebutuhan (User Need Assisment)

Mengidentifikasikan kebutuhan merupakan langkah pertama

yang dilakukan dalam tahap perencanaan sistem. Kebutuhan itu

dapat juga diartikan sebagai suatu keinginan atau suatu hal. Untuk

itu dibuat suatu sistem yang dapat memenuhi kebutuhan informasi

aset pipa dan keadaan resiko pipa. Dari hasil penelitian dan

melakukan wawancara ke PT. Wilson Walton Indonesia dengan

Bapak Teddy Firmansyah. selaku Manager Operation, Bapak

Wahyudi Wibawa selaku Field Engineer spesialis eksternal, Bapak

Bashari Rozardi selaku Field Engineer spesialis pipeline integrity

dan Bapak Paul Indrawan Syukur selaku Field Engineer spesialis

internal diperoleh berbagai kebutuhan yang diharapkan oleh COPI,

antara lain:

1. Kebutuhan akan suatu sistem yang dapat memberikan

informasi aset pipa.

2. Kebutuhan sistem informasi yang dapat menganalisa data hasil

monitoring korosi.

59
60

3. Kebutuhan sistem informasi yang dapat diakses dari mana saja

tidak terbatas ruang dan waktu. (Hasil Wawancara lengkap

dapat dilihat dalam Lampiran A).

4.1.2. Identifikasi Masalah

Adapun permasalahan yang terjadi dalam sistem yang sedang

berjalan antara lain :

1. Data hasil monitoring korosi pipa hanya berbentuk lembaran-

lembaran kertas, tidak adanya media penyimpanan alternatif.

2. Sistem yang diterapkan masih kurang efektif, karena setelah

proses pengumpulan data monitoring korosi. Data tersebut

masih harus diproses oleh seorang Field Engineer (FE),

sehingga di dapat hasil analisa. Pada proses penganalisaan

data, masing-masing FE memiliki cara-cara sendiri untuk

menganalisa data tersebut. Hal tersebut terjadi karena belum

ada bentuk standar untuk proses penganalisaan data hasil

monitoring korosi pipa.

3. Hasil analisa monitoring korosi pipa kemudian dikirim ke

kantor pusat untuk dilaporkan ke General Manager (GM)

menggunakan email oleh masing-masing FE. Hal tersebut

kurang efektif, karena GM harus menunggu FE mengirim

email hasil analisa tersebut dan melihat hasil analisa tersebut

pada email GM.


61

4.1.3. Tujuan Pengembangan Sistem

Berdasarkan permasalahan-permasalahan yang ada di atas

maka dapat dirumuskan tujuan dari pengembangan Sistem Informasi

Monitoring Korosi Pipa Minyak Berbasis Web ini adalah sebagai

berikut :

1. Dapat digunakan sebagai media penyimpanan alternatif yang

mampu memberikan informasi mengenai aset pipa minyak.

2. Dapat digunakan sebagai bentuk standar untuk proses data

hasil monitoring korosi pipa minyak..

3. Dapat digunakan sebagai sistem informasi aset pipa minyak

berikut kondisi korosi pipa minyak, yang dapat diakses dimana

saja dan kapan saja dengan bantuan internet.

4.2. Analisa Sistem

4.2.1. Analisa Sistem yang Sedang Berjalan

Data hasil monitoring korosi pada pipa masih belum terorganisir

dengan baik dan proses penganalisaan data belum ada bentuk baku. Masih

belum terorganisir dengan baik, itu dikarenakan data tersebut belum tersusun

dengan rapih dan data tersebut hanya ada dalam bentuk lembaran-lembaran

kertas. Proses penganalisaan data belum ada bentuk baku, itu dikarenakan

untuk memproses analisa data korosi masing-masing Field Engineer masih

belum memiliki standar tentang proses analisa data korosi.


62

Dapat dilihat pada Gambar 4.1 bahwa sistem monitoring korosi pipa

yang sedang berjalan, awalnya dimulai dari operator lapangan melakukan

pengumpulan data-data yang berhubungan dengan korosi pada suatu

jaringan pipa dalam bentuk lembaran-lembaran kertas, kemudian data-data

tersebut diolah dengan menggunakan program ms. Excel oleh masing-

masing Field Engineer yang bertanggung jawab atas suatu jaringan pipa

untuk mendapatkan hasil dari monitoring korosi pipa. Hasil tersebut

kemudian dikirim dengan menggunakan email ke General Manager (GM) di

kantor pusat.
Sistem yang Sedang Berjalan
Kantor Pusat /
Operator Field Engineer
General Manager

Start

Pengumpulan
Data
Korosi Pipa

Data Hasil Analisa


Korosi Analisa Data Korosi
Pipa Data Korosi Pipa
Pipa

End

Gambar 4.1 Bagan Alir Sistem yang Sedang Berjalan


63

4.2.2. Analisa Kebutuhan Sistem yang Sedang berjalan

Sistem yang sedang berjalan memiliki permasalahan dalam hal

penyimpanan data, pemrosesan data dan pengiriman data hasil monitoring

korosi pada pipa.

Dari hasil analisa sistem yang sedang berjalan pada proses

pengumpulan data dan pemrosesan data hasil monitoring korosi pada pipa,

berikut beberapa kelemahan pada proses sistem diantaranya:

a. Hasil monitoring hanya dalam catatan kertas sebagai media

penyimpanan data, bisa saja catatan kertas tersebut hilang atau rusak.

b. Memakan waktu cukup lama dalam memproses hasil monitoring,

karena masih harus di analisa oleh field engineer.

c. Hasil analisa harus dikirim oleh tiap-tiap field engineer ke General

Manager di kantor pusat.

4.2.3. Alternatif Pemecahan Masalah

a. Dibuat suatu program yang berfungsi untuk menyimpan data aset pipa

minyak dan juga memproses hasil monitoring berbasis komputer

dalam bentuk database.

b. Program yang dibuat berbasis web untuk memudahkan dalam

mengakses hasil monitoring korosi pipa minyak, jadi kita dapat

mengakses hasil monitoring tersebut dari mana saja. Karena luasnya

jaringan pipa dan lokasi jaringan pipa yang berbeda-beda.


64

c. Selain itu program tersebut dapat memberi rekomendasi tindakan

pencegahan yang perlu dilakukan berdasarkan dari hasil analisa data

monitoring korosi.

4.3. Perancangan Sistem

4.3.1. Data Flow Diagram (DFD)

Perancangan Data Flow Diagram dirancang untuk sebuah

sistem usulan berdasarkan hasil alternatif pemecahan masalah.

Diagram ini menggambarkan secara garis besar masukan atau

keluaran yang ada pada sistem. Berikut adalah perancangan diagram

konteks untuk alternatif pemecahan masalah. Gambar dapat dilihat

pada Gambar 4.2.

General Manager
(Kantor Pusat)

Approval
CRR
CRR
Komponen Korosi

Sistem Informasi
Field Engineer Monitoring Korosi
Pipa Minyak

Decision

Gambar 4.2. Diagram Konteks

a. Aliran data diawali dari bagian Operation memberikan laporan

hasil inspeksi korosi kepada bagian Field Engineer (FE).


65

b. Hasil laporan inspeksi korosi berupa komponen korosi, yaitu data

korosi yang akan dimasukkan ke dalam Sistem Informasi

Monitoring Korosi Pipa Minyak Berbasis Web oleh FE.

c. Sistem Informasi Monitoring Korosi Pipa Minyak Berbasis Web

memberikan laporan berupa ranking resiko korosi (Corrosion

Risk Rangking/CRR) pada suatu jaringan pipa kepada General

Manager (GM) di kantor pusat.

d. Dari hasil CRR yang didapat GM, GM kemudian mengambil

suatu keputusan (decision maker) yang perlu dilakukan pada

suatu jaringan pipa.

e. Decision tersebut kemudian diterima oleh FE, dengan decision

tersebut FE dapat membuat rencana pekerjaan perawatan pipa

yang akan dilakukan oleh bagian Operation.

Setelah merancang diagram konteks, maka selanjutnya

merancang DFD Level 1, diagram ini dibuat untuk menggambarkan

arus data dari tahapan proses diagram sebelumnya.

Diagram ini menggambarkan proses–proses yang terdapat dalam

Sistem Informasi Monitoring Korosi Pipa Minyak Berbasis Web,

diantaranya perancangan interface dan analisa data. Pengolahan peta

dan pengumpulan data informasi yang kemudian diolah pada sistem,

sehingga menghasilkan output berupa Informasi Monitoring Korosi

Pipa Minyak yang diinformasikan kepada Field Engineer dan


66

General Manager. Pada Gambar 4.3 merupakan gambar DFD level

1.

Gathering Line

General

Int. Corr. Mon. Dev.

Water Sampling

Chemical Treatment

Scaling Tendency

Komponen Data 2.0


1.0 PoF & CoF
Korosi Korosi 3.0 CRR
Field Menginput Mengkategorikan General
Mengkonversi
Engineer Data Data Manager
PoF & CoF
Korosi Korosi

Ext. Corr. Protection 4.0


Pembuatan Persetujuan
Keputusan
Corr. Risk Data
dan
Rekomendasi
Corr. Rate

Pigging Facility

Pipe Condition

Keputusan dan Rekomendasi

Gambar 4.3. DFD Level 1

Berikut ini merupakan penjelasan dari Gambar 4.3 DFD Level 1 :

a. FE (Field Engineer) mendapatkan data hasil inspeksi pipa yang

didapat dari bagian Operation, kemudian data-data yang

merupakan komponen korosi diinputkan ke dalam sistem

informasi monitoring korosi, diantaranya data gathering line,

data general, data internal corrosion monitoring device, data


67

water sampling, data chemical treatment, data scaling tendency,

data external corrosion protection, data corrosion risk, data

corrosion rate, data pigging facility dan data pipe condition.

b. Setelah FE menginputkan semua data-data korosi, data-data

tersebut kemudian dikategorikan menjadi dua buah kategori

yaitu: PoF (Probability of Failure) dan CoF (Consequence of

Failure) sehingga menghasilkan data yang termasuk PoF dan

CoF.

c. Data PoF dan CoF kemudian dikonversi sehingga menghasilkan

Corrosion Risk Ranking (CRR). CRR adalah tingkatan resiko

terjadinya korosi pada suatu pipa.

d. Dari CRR tersebut General Manager (GM) diminta untuk

memberi persetujuan (approval) dari hasil CRR yang didapat,

sehingga sistem dapat melakukan proses ke tahap selanjutnya

berupa pembuatan suatu keputusan dan rekomendasi tentang

tindakan perbaikan atau pencegahan yang perlu dilakukan pada

suatu pipa. Hasil dari keputusan dan rekomendasi akan diterima

oleh FE untuk direalisasikan oleh bagian Operation.


68

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:


69

barrel_ length_ launcher type_cp contingency_line

line_type nominal _ length_launcher line_type anode_ weight line_type community

pipeline_number ... pipeline_number ... pipeline_number ...

gl_ pigging_ facility gl_ext_corr_ protection gl_corr_risk_data

nos_af plug _manufacture


pipeline_number line_type retrieving_date_ coupon
...
pipeline_number
corr_rate_ coupon
gl_ scaling_ tendency gl_corr_rate
...
line_type

memiliki
...
pipeline_number
gl_chemical_ treatment
gl_ water_ sampling condition _ct
pipeline_number
line_type
... line_type chemical_ treatment_ type
gl_ general
nos condition_ws
pipeline_number ...
gl_int_corr_mon_dev gl_pipe_ condition
line_type pipe_ grade
pipeline_number ... pipeline_number ...
pipe_size
line_type condition line_type original_gl

fitting_size location

Gambar 4.4. ERD Awal


70

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 gl_corr_risk_data gl_corr_rate


pipeline_number pipeline_number pipeline_number
line_type line_type line_type
original_gl contingency_line retrieving_corr_rate_coupon
location community corr_rate_coupon
km population_density interrogated_corr_rate_probe
anomaly_length no_leak corr_rate_probe
pipe_anomaly date_leak date_previous_wall_thickness
type_coating remedial_action date_current_wall_thickness
condition_coating location wt_remaining_previous_wall_thickness
wt_remaining_current_wall_thickness
defect_length_max
corr_rate
total_wt_lost

gl_ext_corr_protection gl_chemical_treatment gl_scaling_tendency


pipeline_number pipeline_number pipeline_number
line_type line_type line_type
type_cp chemical_treatment_facility sampling_facility
anode_weight chemical_treatment_type fitting_size
anode_type location access_fitting_type
nos_anode condition nos_af
year_installed nos fitting_manufacture
design_life access_fitting_system condition
current_output device_manufacture plug_manufacture
test_point_nos injection_tube coupon_type
insulation_flange operation_condition holder_length
highest_pipe_soil_potential treatment_method installation_date
lowest_pipe_soil_potential brand retrieving_date
soil_resistivity_location injection_rate scale_index
soil_resistivity_lowest recomendation_injection_rate tendency
soil_corrosiveness_category scale_growth
highest_soil_resistivity
71

gl_water_sampling gl_pigging_facility
pipeline_number pipeline_number
line_type line_type
water_sampling_facility facility_avaibiality
location barrel_length_launcher
nos nominal_length_launcher
condition reducer_length_launcher
temperature bridle_door_launcher
ph valve_body_width_launcher
sand access_length_launcher
h2s access_width_launcher
co2_dissolved barrel_od_launcher
srb barrel_id_launcher
mn barrel_t_launcher
residual_amine nominal_t_launcher
residual_phosphate barrel_length_receiver
residual_sulfit nominal_length_receiver
alkalinity reducer_length_receiver
cl bridle_door_receiver
sulfate valve_body_width_receiver
o2_dissolved access_length_receiver
iron_count 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
72

gl_general gl_int_corr_mon_dev
pipeline_number pipeline_number
line_type line_type
description facility_access_fitting
service location_device
status fitting_size
equipment access_fitting_type
pipe_size nos_af
schedule fitting_manufacture
nominal_wt condition
year_built plug_manufacture
flange_rating coupon_type
design_temp holder_length
pipe_grade installation_date
smys retrieving_date
length coupon_surface_area
year_service density
psv_setting probe_type
fluid_from probe_element
design_factor probe_length
design_press probe_span
design_life probe_id
current_service installation_date
bopd corr_rate
bwpd coupon_id_a
bfpd initial_weight_a
mscfd final_weight_a
remaining_life color_coupon_a
op_temp body_attack_a
op_press washer_attack_a
calculated_actual_maop edge_attack_a
actual_maop 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
73

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 gl_pipe_condition gl_corr_risk_data

pipeline_number original_gl contingency_line


line_type location community
description km population_density
service anomaly_length no_leak
status pipe_anomaly date_leak
type_coating remedial_action
condition_coating location

gl_corr_rate gl_ext_corr_protection
retrieving_corr_rate_coupon type_cp
corr_rate_coupon anode_weight
interrogated_corr_rate_probe anode_type
corr_rate_probe nos_anode
date_previous_wall_thickness year_installed
date_current_wall_thickness design_life
wt_remaining_previous_wall_thickness current_output
wt_remaining_current_wall_thickness test_point_nos
defect_length_max insulation_flange
corr_rate highest_pipe_soil_potential
total_wt_lost lowest_pipe_soil_potential
soil_resistivity_location
soil_resistivity_lowest
soil_corrosiveness_category
highest_soil_resistivity
74

gl_chemical_treatment gl_scaling_tendency gl_water_sampling


chemical_treatment_facility sampling_facility water_sampling_facility
chemical_treatment_type fitting_size location
location access_fitting_type nos
condition nos_af condition
nos fitting_manufacture temperature
access_fitting_system condition ph
device_manufacture plug_manufacture sand
injection_tube coupon_type h2s
operation_condition holder_length co2_dissolved
treatment_method installation_date srb
brand retrieving_date mn
injection_rate scale_index residual_amine
recomendation_injection_rate tendency residual_phosphate
scale_growth 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
75

gl_general gl_int_corr_mon_dev
description facility_access_fitting
service location_device
status fitting_size
equipment access_fitting_type
pipe_size nos_af
schedule fitting_manufacture
nominal_wt condition
year_built plug_manufacture
flange_rating coupon_type
design_temp holder_length
pipe_grade installation_date
smys retrieving_date
length coupon_surface_area
year_service density
psv_setting probe_type
fluid_from probe_element
design_factor probe_length
design_press probe_span
design_life probe_id
current_service installation_date
bopd corr_rate
bwpd coupon_id_a
bfpd initial_weight_a
mscfd final_weight_a
remaining_life color_coupon_a
op_temp body_attack_a
op_press washer_attack_a
calculated_actual_maop edge_attack_a
actual_maop 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
76

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_water_sampling gl_chemical_treatment
gl
id_water* id_chemical*
id_gl*
water_sampling_facility chemical_treatment_facility
pipeline_number
location chemical_treatment_type
line_type
nos location
description
condition condition
service
temperature nos
status
ph access_fitting_system
sand device_manufacture
h2s injection_tube
gl_general
co2_dissolved operation_condition
id_general*
srb treatment_method
equipment
mn brand
pipe_size
residual_amine injection_rate
schedule
residual_phosphate recomendation_injection_rate
nominal_wt
residual_sulfit
year_built
alkalinity
flange_rating
cl
design_temp
sulfate
pipe_grade gl_scaling_tendency
o2_dissolved
smys id_scaling_tendency*
iron_count
length sampling_facility
year_service fitting_size
psv_setting access_fitting_type
fluid_from nos_af
gl_corr_risk_data
design_factor fitting_manufacture
id_corr_risk*
design_press condition
contingency_line
design_life plug_manufacture
community
current_service coupon_type
population_density
bopd holder_length
no_leak
bwpd installation_date
date_leak
bfpd retrieving_date
remedial_action
mscfd scale_index
location
remaining_life tendency
op_temp scale_growth
op_press
calculated_actual_maop
actual_maop
77

gl_ext_corr_protection gl_pipe_condition
gl_int_corr_mon_dev
id_ext* id_pipe_condition*
id_int_corr_mon_dev*
id_type_cp original_gl
facility_access_fitting
anode_weight location
location_device
anode_type km
fitting_size
nos_anode anomaly_length
access_fitting_type
year_installed pipe_anomaly
nos_af
design_life type_coating
fitting_manufacture
current_output condition_coating
condition
plug_manufacture test_point_nos
coupon_type insulation_flange
holder_length highest_pipe_soil_potential
installation_date lowest_pipe_soil_potential
retrieving_date soil_resistivity_location
coupon_surface_area soil_resistivity_lowest
density id_soil_corrosiveness**
probe_type highest_soil_resistivity
probe_element
probe_length
probe_span
corr_rate
gl_pigging_facility
scale_coupon
id_pig*
corr_rate
facility_avaibiality
coupon_id_a
barrel_length_launcher
initial_weight_a
nominal_length_launcher
final_weight_a
reducer_length_launcher
color_coupon_a
bridle_door_launcher
body_attack_a
valve_body_width_launcher
washer_attack_a
access_length_launcher
edge_attack_a
access_width_launcher
erosion_attack_a
barrel_od_launcher
scale_a
barrel_id_launcher
pitting_a
barrel_t_launcher
debris_a
nominal_t_launcher
coupon_id_b
barrel_length_receiver
initial_weight_b
nominal_length_receiver
final_weight_b
reducer_length_receiver
color_coupon_b
bridle_door_receiver
body_attack_b
valve_body_width_receiver
washer_attack_b
access_length_receiver
edge_attack_b
access_width_receiver
erosion_attack_b
barrel_od_receiver
scale_b
barrel_id_receiver
pitting_b
barrel_t_receiver
debris_b
nominal_t_receiver
pigging_type
clean_pig_recomendation
clean_pig_activity
out_come
78

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_water_sampling gl_chemical_treatment
gl
id_water* id_chemical*
id_gl*
id_gl** id_gl**
pipeline_number
water_sampling_facility chemical_treatment_facility
line_type
location chemical_treatment_type
description
nos location
service
condition condition
status
temperature nos
ph access_fitting_system
sand device_manufacture
gl_general
h2s injection_tube
id_general*
co2_dissolved operation_condition
id_gl**
srb treatment_method
equipment
mn brand
pipe_size
residual_amine injection_rate
schedule
residual_phosphate recomendation_injection_rate
nominal_wt
residual_sulfit
year_built
alkalinity
flange_rating
cl
design_temp gl_scaling_tendency
sulfate
pipe_grade id_scaling_tendency*
o2_dissolved
smys id_gl**
iron_count
length sampling_facility
year_service fitting_size
psv_setting access_fitting_type
gl_corr_risk_data
fluid_from nos_af
id_corr_risk*
design_factor fitting_manufacture
id_gl**
design_press condition
contingency_line
design_life plug_manufacture
community
current_service coupon_type
population_density
bopd holder_length
no_leak
bwpd installation_date
date_leak
bfpd retrieving_date
remedial_action
mscfd scale_index
location
remaining_life tendency
op_temp scale_growth
op_press
calculated_actual_maop
actual_maop
79

gl_ext_corr_protection gl_pipe_condition
gl_int_corr_mon_dev
id_ext* id_pipe_condition*
id_int_corr_mon_dev*
id_gl** id_gl**
id_gl**
id_type_cp original_gl
facility_access_fitting
anode_weight location
location_device
anode_type km
fitting_size
nos_anode anomaly_length
access_fitting_type
year_installed pipe_anomaly
nos_af
design_life type_coating
fitting_manufacture
current_output condition_coating
condition
plug_manufacture test_point_nos
coupon_type insulation_flange
holder_length highest_pipe_soil_potential gl_corr_rate
installation_date lowest_pipe_soil_potential id_corr_rate*
retrieving_date soil_resistivity_location id_gl**
coupon_surface_area soil_resistivity_lowest retrieving_corr_rate_coupon
density id_soil_corrosiveness** corr_rate_coupon
probe_type highest_soil_resistivity interrogated_corr_rate_probe
probe_element corr_rate_probe
probe_length date_previous_wall_thickness
probe_span date_current_wall_thickness
gl_pigging_facility wt_remaining_previous_wall_thickness
corr_rate
id_pig* wt_remaining_current_wall_thickness
scale_coupon
id_gl** defect_length_max
corr_rate
facility_avaibiality corr_rate
coupon_id_a
barrel_length_launcher total_wt_lost
initial_weight_a
nominal_length_launcher
final_weight_a
reducer_length_launcher
color_coupon_a
bridle_door_launcher
body_attack_a
valve_body_width_launcher
washer_attack_a
access_length_launcher
edge_attack_a
access_width_launcher
erosion_attack_a
barrel_od_launcher
scale_a
barrel_id_launcher
pitting_a
barrel_t_launcher
debris_a
nominal_t_launcher
coupon_id_b
barrel_length_receiver
initial_weight_b
nominal_length_receiver
final_weight_b
reducer_length_receiver
color_coupon_b
bridle_door_receiver
body_attack_b
valve_body_width_receiver
washer_attack_b
access_length_receiver
edge_attack_b
access_width_receiver
erosion_attack_b
barrel_od_receiver
scale_b
barrel_id_receiver
pitting_b
barrel_t_receiver
debris_b
nominal_t_receiver
pigging_type
clean_pig_recomendation
clean_pig_activity
out_come
80

4.3.2.3 Relational Database Management System (RDBMS)

gl_water_sampling gl_int_corr_mon_dev
id_water* id_int_corr_mon_dev*
id_gl** id_gl**
water_sampling_facility facility_access_fitting
location location_device
… …

gl_general gl_ext_corr_protection
id_general* id_ext*
id_gl** id_gl**
equipment id_type_cp
pipe_size anode_weight
… …
gl
id_gl*
gl_corr_risk_data gl_pigging_facility
pipeline_number
id_corr_risk* id_pig*
line_type
id_gl** id_gl**
description
contingency_line facility_avaibiality
service
community barrel_length_launcher
status
… …

gl_pipe_condition
gl_chemical_treatment id_pipe_condition*
id_chemical* id_gl**
id_gl** original_gl
chemical_treatment_facility location
chemical_treatment_type …

gl_corr_rate
gl_scaling_tendency id_corr_rate*
id_scaling_tendency* id_gl**
id_gl** retrieving_corr_rate_coupon
fitting_size corr_rate_coupon
access_fitting_type …

Gambar 4.5. RDBMS


81

4.3.2.4 Kamus Data

gl = {@id_gl + pipeline_number + line_type + description +


service + status + risk + pof + cof}

gl_chemical_treatment = {@id_chemical + id_gl +


chemical_treatment_type + condition_ct + nos +
access_fitting_system + device_manufacture + injection_tube +
operation_condition + treatment_method + brand +
injection_rate + recommendation_injection_rate +
chemical_facility}

gl_corr_rate = {@id_corr_rate + id_gl + retrieving_date_coupon


+ corr_rate_coupon + interrogated_date_probe + corr_rate_probe
+ date_previous_inspection + date_current_inspection +
wt_remaining_previous + wt_remaining_current + total_wt_lost
+ defect_length_max + corr_rate_wt}

gl_corr_risk_data = {@id_corr_risk + id_gl + contingency_line +


community + population_density + no_of_leak + date_leak +
remedial_action + location }

gl_ext_corr_protection = {@id_ext + id_gl + type_cp +


anode_weight + anode_type + nos_anode + year_installed +
design_life_cp + current_output + test_point_nos +
insulation_flange + tr_output_v + tr_output_a +
highest_pipe_soil + lowest_pipe_soil + location_soil +
lowest_soil + soil_corrosive + highest_soil}

gl_general = {@id_general + id_gl + date_update + equipment +


pipe_size + pipe_grade + design_factor + schedule + smys +
design_press + nominal_wt + length + design_life + year_built +
year_service + current_service + flange_rating + fange +
psv_setting + design_temp + fluid_from + bopd + bwpd + bfpd +
mscfd + remaining_life + op_temp + op_press +
calculated_maop + actual_maop}

gl_int_corr_mon_dev = {@id_int_corr + id_gl + fitting_size +


fitting_manufacture + access_fitting_type + condition + nos_af +
plug_manufacture + coupon_type + holder_length +
installation_date_coupon + retrieving_date + coupon_surface +
density + probe_type + probe_element + probe_length +
probe_span + probe_id + installation_date_probe + 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 +
82

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_pigging_facility = {@id_pig + id_gl + 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 + trap_height_launcher + kicker_launcher +
balance_pipe_launcher + reducer_type_launcher +
angle_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 +
trap_height_ receiver + kicker_ receiver + balance_pipe_
receiver + reducer_type_ receiver + angle_ receiver +
pigging_type + cleaning_pigging_recomendation +
cleaning_pigging_activity + date_pigging + out_come}

gl_pipe_condition = {@id_pipe_condition + id_gl + original_gl


+ location + km + anomaly_length + pipe_anomaly +
type_coating + condition_coating}

gl_scaling_tendency = {@id_scaling + id_gl + 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 = {@id_water + id_gl + nos + condition_ws


+ temperature + ph + sand + h2s + co2_dissolved + srb + mn +
residual_amine + residual_phosphate + residual_sulfit +
alkalinity + cl + sulfate + o2_dissolved + iron_count +
water_sampling}

user = {@username + password + status + area}

4.3.2.5 Spesifikasi File Data

1. Nama Tabel : gl

Keterangan : Tabel ini berisi data gathering line


83

PrimaryKey : id_gl

ForeignKey :-

Tabel 4.1. Spesifikasi Tabel gl

Field Name Data Type Length Description

id_gl INT 100

pipeline_number VARCHAR 100

line_type ENUM 'Production

Line','Water

Injection

Line','Gas Lift

Line'

description TEXT

service VARCHAR 30

status ENUM 'running','not

running'

risk ENUM 'low','middle','high'

pof ENUM '1','2','3','4','5'

cof ENUM 'A','B','C','D','E'

2. Nama Tabel : gl_chemical_treatment

Keterangan : Tabel ini berisi data chemical treatment

PrimaryKey : id_chemical
84

ForeignKey : id_gl

Tabel 4.2. Spesifikasi Tabel gl_chemical_treatment

Field Name Data Type Length Description

id_chemical INT 50

id_gl INT 100

chemical_treatme ENUM 'Corr. Inhibitor','Scale

nt_type Inhibitor','Biocide','De

mulsifier','Oxygen

Scavanger','N/A'

condition_ct ENUM 'Unserviceable','Service

able'

Nos INT 30

access_fitting_sys ENUM '2 Inch Access

tem Fitting','1 Inch Access

Fitting','Threadolet

Nipple','N/A'

device_manufactu ENUM 'RCS','KS','Caproco','Ot

re hers'

injection_tube ENUM 'Quill','Atomizer','Other

s'

operation_conditi ENUM 'Running','Not

on Running'
85

treatment_method ENUM 'Batching','Continue','B

atch Per Interval then

Continous'

Brand VARCHA 30

injection_rate INT 20

recommendation_ INT 20

injection_rate

chemical_facility ENUM 'yes','no'

3. Nama Tabel : gl_corr_rate

Keterangan : Tabel ini berisi data corrosion rate

PrimaryKey : id_corr_rate

ForeignKey : id_gl

Tabel 4.3. Spesifikasi Tabel gl_corr_rate

Field Name Data Type Length Description

id_corr_rate INT 50

id_gl INT 100

retrieving_date_coup DATE

on

corr_rate_coupon DOUBLE

interrogated_date_pro DATE
86

be

corr_rate_probe DOUBLE

date_previous_inspec DATE

tion

date_current_inspecti DATE

on

wt_remaining_previo DOUBLE

us

wt_remaining_curren DOUBLE

total_wt_lost DOUBLE

defect_length_max DOUBLE

corr_rate_wt INT 15

4. Nama Tabel : gl_corr_risk_data

Keterangan : Tabel ini berisi data corrosion risk

PrimaryKey : id_corr_risk

ForeignKey : id_gl

Tabel 4.4. Spesifikasi Tabel gl_corr_risk_data

Field Name Data Type Length Description

id_corr_risk INT 50

id_gl INT 100


87

contingency_line ENUM 'In Place','Easy to

Install','No Contingency

Line','No Data'

Community ENUM 'No Impact','Get Impact Pay

Compensation','Get Impact

No Compensation','No

Data'

population_density ENUM 'Density < 10','10 < Density

< 46','Density > 46','No

Data'

no_of_leak ENUM '1','2','3','4','5','6','7','8','9','10'

date_leak DATE

remedial_action ENUM 'Temporary

Clamp','Permanent

Sleeve/patching','Cut and

Replace','None'

Location VARCHAR 50

5. Nama Tabel : gl_ext_corr_protection

Keterangan : Tabel ini berisi data external corrosion

protection

PrimaryKey : id_ext

ForeignKey : id_gl
88

Tabel 4.5. Spesifikasi Tabel gl_ext_corr_protection

Field Name Data Type Length Description

id_ext INT 50

id_gl INT 100

type_cp ENUM 'SACP','ICCP','SACP &

ICCP','None'

anode_weight INT 10

anode_type INT 10

nos_anode INT 10

year_installed INT 10

design_life_cp INT 10

current_output INT 10

test_point_nos INT 10

insulation_flange INT 10

tr_output_v INT 10

tr_output_a INT 10

highest_pipe_soil INT 10

lowest_pipe_soil INT 10

location_soil VARCHAR 10

lowest_soil INT 50

soil_corrosive ENUM 'Negligible','Moderately

Corrosive','Corrosive','Very
89

Corrosive'

highest_soil INT 50

6. Nama Tabel : gl_general

Keterangan : Tabel ini berisi data general

PrimaryKey : id_general

ForeignKey : id_gl

Tabel 4.6. Spesifikasi Tabel gl_general

Field Name Data Type Length Description

id_general INT 50

id_gl INT 100

date_update DATE

equipment VARCHAR 100

pipe_size ENUM '2','2.5','3','3.5','4','5','6','8','10','12'

pipe_grade ENUM 'API 5L Grade B','API 5L X42'

design_factor FLOAT

schedule ENUM '40','80','none'

smys INT 10

design_press INT 10

nominal_wt FLOAT

length INT 10

design_life INT 10
90

year_built INT 10

year_service INT 10

current_service VARCHAR 50

flange_rating ENUM '150','300','600','900','1500'

fange INT 10

psv_setting INT 10

design_temp INT 10

fluid_from TEXT

bopd FLOAT

bwpd FLOAT

bfpd FLOAT

mscfd FLOAT

remaining_life INT 20

op_temp INT 20

op_press INT 20

calculated_maop FLOAT

actual_maop INT 20

7. Nama Tabel : gl_int_corr_mon_dev

Keterangan : Tabel ini berisi data internal corrosion

monitoring device

PrimaryKey : id_int_corr

ForeignKey : id_gl
91

Tabel 4.7. Spesifikasi Tabel gl_int_corr_mon_dev

Field Name Data Type Length Description

id_int_corr INT 50

id_gl INT 100

fitting_size ENUM '2 Inch Access

Fitting','1 Inch Access

Fitting','N/A'

fitting_manufactu ENUM 'RCS','KS','Caproco','Ot

re hers'

access_fitting_typ ENUM 'Flare

e Weld','Flange','Threado

llet Nipple'

condition ENUM 'Serviceable','UnServic

eable'

nos_af INT 10

plug_manufacture VARCHAR 20

coupon_type ENUM 'Strip Coupon 1

Inch','Strip Coupon 2

Inch','Flush Disc

Coupon','N/A'

holder_length VARCHAR 50

installation_date_ DATE
92

coupon

retrieving_date DATE

coupon_surface INT 50

density INT 50

probe_type ENUM 'Microcor','LPR','ER','N

/A'

probe_element ENUM 'Tube Loop','Wire

Loop','Flush'

probe_length INT 10

probe_span INT 10

probe_id INT 10

installation_date_ DATE

probe

corr_rate INT 10

coupon_id_a INT 10

initial_weight_a INT 10

final_weight_a INT 10

color_coupon_a VARCHAR 20

body_attack_a ENUM 'yes','no'

washer_attack_a ENUM 'yes','no'

edge_attack_a ENUM 'yes','no'

erosion_attack_a ENUM 'yes','no'


93

scale_a ENUM 'yes','no'

pitting_a ENUM 'yes','no'

debris_a ENUM 'yes','no'

coupon_id_b INT 10

initial_weight_b INT 10

final_weight_b INT 10

color_coupon_b VARCHAR 20

body_attack_b ENUM 'yes','no'

washer_attack_b ENUM 'yes','no'

edge_attack_b ENUM 'yes','no'

erosion_attack_b ENUM 'yes','no'

scale_b ENUM 'yes','no'

pitting_b ENUM 'yes','no'

debris_b ENUM 'yes','no'

8. Nama Tabel : gl_pigging_facility

Keterangan : Tabel ini berisi data pigging facility

PrimaryKey : id_pig

ForeignKey : id_gl

Tabel 4.8. Spesifikasi Tabel gl_pigging_facility

Field Name Data Type Length Description

id_pig INT 50
94

id_gl INT 100

barrel_length_launch INT 30

er

nominal_length_laun INT 30

cher

reducer_length_launc INT 30

her

bridle_door_launcher INT 30

valve_body_width_la INT 30

uncher

access_length_launch INT 30

er

access_width_launch INT 30

er

barrel_od_launcher INT 30

barrel_id_launcher INT 30

barrel_t_launcher INT 30

nominal_t_launcher INT 30

trap_height_launcher INT 30

kicker_launcher INT 30

balance_pipe_launch INT 30

er

reducer_type_launche INT 30
95

angle_launcher INT 30

barrel_length_receive INT 30

nominal_length_ INT 30

receiver

reducer_length_ INT 30

receiver

bridle_door_ receiver INT 30

valve_body_width_ INT 30

receiver

access_length_ INT 30

receiver

access_width_ INT 30

receiver

barrel_od_ receiver INT 30

barrel_id_ receiver INT 30

barrel_t_ receiver INT 30

nominal_t_ receiver INT 30

trap_height_ receiver INT 30

kicker_ receiver INT 30

balance_pipe_ INT 30

receiver
96

reducer_type_ INT 30

receiver

angle_ receiver INT 30

pigging_type ENUM 'Cleaning','Gauge'

,'Inspection'

cleaning_pigging_rec INT 30

omendation

cleaning_pigging_act INT 30

ivity

date_pigging DATE

out_come ENUM 'Debris','Damage',

'Metal Loss'

9. Nama Tabel : gl_pipe_condition

Keterangan : Tabel ini berisi data pipe condition

PrimaryKey : id_pipe_condition

ForeignKey : id_gl

Tabel 4.9. Spesifikasi Tabel gl_pipe_condition

Field Name Data Type Length Description

id_pipe_condi INT 50

tion

id_gl INT 100


97

original_gl ENUM 'Above Ground with

Support','Under

Ground','None'

location ENUM '1st Location','2nd

Location','3rd Location','4th

Location','5th Location','6th

Location','7th Location','8th

Location','9th Location','10th

Location'

km INT 50

anomaly_leng INT 50

th

pipe_anomaly ENUM 'Buried','Above Ground with

Support','Lay Down on

Soil','Hanging','None'

type_coating ENUM 'Wrapping','Asphalt

Coating','FBE','3LPE','3LPP','

Protective Coating','Bare'

condition_coa ENUM '<5%','5%-40%','>40%','No

ting Data'

10. Nama Tabel : gl_scaling_tendency

Keterangan : Tabel ini berisi data scaling tendency


98

PrimaryKey : id_scaling

ForeignKey : id_gl

Tabel 4.10. Spesifikasi Tabel gl_scaling_tendency

Field Name Data Type Length Description

id_scaling INT 50

id_gl INT 100

fitting_size ENUM '2 Inch Access Fitting','1

Inch Access Fitting','N/A'

access_fitting_type ENUM 'Flare

Weld','Flange','Threadolle

t Nipple'

nos_af INT 20

fitting_manufacture ENUM 'RCS','KS','Caproco','Othe

rs'

condition ENUM 'Unserviceable','Serviceab

le'

plug_manufacture VARCHAR 20

coupon_type ENUM 'Scale Coupon 1

Inch','Scale Coupon 2

Inch','Flush Disc

Coupon','N/A'

holder_length INT 20
99

installation_date DATE

retrieving_date DATE

scale_index INT 10

tendency ENUM 'Possible','Severe','No

Tendency'

scale_growth INT 20

11. Nama Tabel : gl_water_sampling

Keterangan : Tabel ini berisi data water sampling

PrimaryKey : id_water

ForeignKey : id_gl

Tabel 4.11. Spesifikasi Tabel gl_water_sampling

Field Name Data Type Length Description

id_water INT 50

id_gl INT 30

nos INT 30

condition_ws ENUM 'Unserviceable','Service

able'

temperature INT 10

ph INT 10

sand INT 10

h2s INT 10
100

co2_dissolved INT 10

srb ENUM '0','SRB <= 10','10 <

SRB < 100','100 <SRB

< 1000','1000 < SRB <

10000','SRB >=

10000','No Data'

mn INT 10

residual_amine INT 10

residual_phosph INT 10

ate

residual_sulfit INT 10

alkalinity INT 10

cl INT 10

sulfate INT 10

o2_dissolved INT 10

iron_count INT 10

water_sampling ENUM 'yes','no'

12. Nama Tabel : user

Keterangan : Tabel ini berisi data user atau pengguna

PrimaryKey : username

ForeignKey :-
101

Tabel 4.12. Spesifikasi Tabel user

Field Name Data Type Length Description

username VARCHAR 30

password VARCHAR 40

status ENUM '0','1','2'

4.3.3. Desain Struktur Menu Sistem Informasi

Dalam ”Sistem Informasi Monitoring Korosi Pipa Minyak”

terdapat 3 golongan yang dapat mengakses yaitu admin, manager

(mg), dan field engineer (fe). Ketiga pengguna diatas memiliki

struktur menu yang berbeda, berikut merupakan gambaran hierarki

struktur menu Sistem Informasi Monitoring Korosi Pipa Minyak, ada

Gambar 4.6, 4.7, dan 4.8


102

Sistem Informasi
Monitoring Korosi Pipa Minyak

User Database Map Logout

Add Gathering
New Edit Delete SQL Excel
Line
User

Convert
Save Cancel Save Cancel to Risk Advance
Map
Excel Ranking View

Home Map Print Print Edit

Save Cancel

Gambar 4.6. Struktur Menu Admin


103

Sistem Informasi
Monitoring Korosi Pipa Minyak

Change All Approve


Password Map Logout
Data Data

Save Cancel Approve Cancel Review Gathering


Detail
Line

Print Detail Risk Advance


Map
Ranking View

Approve Cancel Home Map Print Print

Gambar 4.7. Struktur Menu Manager


104

Sistem Informasi
Monitoring Korosi Pipa Minyak

Change All Review


Password Map Logout
Data Data

Waiting Cancel
Save Cancel Gathering
Detail Edit Approve Approve Line
Data Data

Print Edit Save Cancel Risk Advance


Edit Map
Ranking View

Save Cancel Save Cancel Home Map Print Print Edit

Save Cancel

Gambar 4.8. Struktur Menu Field Engineer


105

4.4. Implementasi Sistem

Pada tahap ini dilakukan implementasi hasil rancangan ke dalam

baris-baris kode program yang dapat dimengerti oleh komputer. Selain itu

juga membahas sarana pendukung lain yang diperlukan agar sistem berjalan

dengan baik.

4.4.1. Sarana Pendukung Aplikasi

Aplikasi ini dikembangkan dengan menggunakan hardware

dan software berikut :

a. Perangkat Keras (Hardware)

o Processor Intel Pentium D CPU 2.80GHz

o Harddisk 80 GB

o Memory DDR2 2 GB

o LAN Card

o DVD – RW

o Keyboard dan Mouse

o Printer Kyocera

b. Perangkat Lunak (Software)

o Windows XP Service Pack 2

o Macromedia Dreamweaver

o XAMPP

o UltraEdit-32 Text Editor

o Mozilla Firefox
106

4.4.2. Pengujian Sistem

Penulis menggunakan metode pengujian unit dengan

pendekatan black-box testing. Black-box testing adalah pengujian

yang dilakukan untuk antar muka perangkat lunak, pengujian ini

dilakukan untuk memperlihatkan bahwa fungsi-fungsi bekerja

dengan baik dalam arti masukan yang diterima dengan benar dan

keluaran yang dihasilkan benar-benar tepat, pengintegrasian dari

eksternal data berjalan dengan baik (http://widiyati.wordpress.com/,

20 September 2009). Hasil pengujian sistem informasi monitoring

korosi berbasis web dengan pendekatan black-box testing dapat

dilihat pada Lampiran D.

4.4.3. Implementasi Sistem

Dalam implementasi sistem ini dapat berjalan pada browser

Mozilla Firefox, Internet Explorer dan Opera. Dalam pengujian

menggunakan jaringan sistem ini telah diujikan pada sistem operasi

Microsoft Windows XP Service Pack 2.

4.5. Pemeliharaan Sistem

Proses dari SDLC yang terakhir merupakan proses maintenance

yaitu perawatan dalam sistem. Proses perawatan meliputi pengupdatean

data, pengelolaan database, backup database dan perawatan komponen


107

hardware. Proses ini dapat dilakukan jika dalam proses implementasi sistem

user (Administrator) dapat mengoperasikan sistem dengan baik.


BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan uraian dan pembahasan pada bab-bab sebelumnya, maka

dapat ditarik kesimpulan bahwa :

1. Dengan sistem informasi ini dapat mempercepat pengolahan data dan

pembuatan laporan, serta informasi yang dihasilkan lebih akurat, cepat dan

lengkap, sehingga terjadinya kesalahan-kesalahan yang disebabkan

keterbatasan seperti human error atau ketidaksengajaan dapat dikurangi.

2. Sistem Informasi Monitoring Korosi Pipa Minyak Berbasis Web sehingga

dapat digunakan dimana saja oleh pengguna dengan menggunakan akses

internet. Hal tersebut akan lebih memudahkan pekerjaan dan dapat

meningkatkan kelancaran proses pembuatan tindakan perbaikan maupun

pencegahan yang perlu dilakukan pada suatu jaringan pipa.

5.2 Saran

Berdasarkan kesimpulan-kesimpulan yang telah dikemukakan, dapat

diajukan beberapa saran untuk pengembangan lebih lanjut antara lain :

1. Mengadakan suatu pelatihan bagi pengguna yang menggunakan sistem ini

sehingga dalam pengoperasiannya mendapatkan hasil yang maksimal.

2. Karena sistem ini hanya digunakan untuk mengolah data yang berasal dari

inputan engineer. Maka untuk pengembangan lebih lanjut, data yang

108
109

diproses adalah data yang berasal langsung dari alat-alat yang digunakan

untuk memantau aktivitas korosi pada suatu jaringan pipa minyak.


DAFTAR PUSTAKA

API (American Petroleum Institute). 2002. Risk-based Inspection. API,


Washington.

Hartono, Jogiyanto. 2005. Analisis & Desain Informasi: pendekatan terstruktur


teori dan praktek aplikasi bisnis. Andi, Yogyakarta.

Kadir, Abdul. 2003. Pengenalan Sistem Informasi. Jakarta : Graha Ilmu

Muhlbauer, W. Kent. 2004. Pipeline Risk Management Manual Ideas,


Techniques, and Resources Third Edition. Elsevier, Oxford.

NACE (International the Corrosion Society) Standard. 1999. NACE


International. Texas.

Peabody, A. W. 2001. Peabody's Control of Pipeline Corrosion Second Edition.


NACE International, Texas.

Pierre, R. Roberge. 2008. Corrosion Engineering Principles and Practice.


McGraw-Hill, New York.

Sanjaya, Ridwan. 2006. Rekayasa Grafis dengan Menggunakan PHP. Penerbit


Andi, Yogyakarta.

Sidik, Betha. 2004. Pemrograman Web dengan PHP. Informatika, Jakarta.

Sidik, Betha. 2005. MySQL. Informatika, Bandung

110
111

Sidik, Betha. 2005. MySQL untuk Pengguna, Administrator, & Pengembang


Aplikasi Web. Informatika, Jakarta.

Simarta, J. & Paryudi, I. 2006. Basis Data. Penerbit Andi, Yogyakarta.

Siswoutomo, Wiwit. 2004. Membangun Web Service Open Source Menggunakan


PHP. Penerbit PT Elex Media Komputindo, Jakarta.

Syafii, M., 2005. Panduan Membuat Aplikasi Database dengan PHP 5 MySQL
PostgreSQL Oracle. Penerbit Andi, Yogyakarta.

Wahana Komputer. 2006. Seti Panduan Lengkap Menguasai Pemrograman Web


dengan PHP5. Penerbit Andi, Yogyakarta, Wahana Komputer,
Semarang.

Whitten, Jeffery L, Lonnie D. Bentley, Kevin C. Dittman. 2004. System

Analysis and Design Methods 6th. New York : McGraw-Hill


DAFTAR PUSTAKA PENUNJANG

http://id.wikipedia.org/ wiki/Korosi , 12 September 2009, pk. 08.45 WIB.

http://W3Schools.com, 15 September 2009, pk. 10.30 WIB

http://www.w3.org, 22 September 2009, pk. 08.00 WIB

http://ilmukomputer.com, 05 Desember 2009, pk. 14.45 WIB

http://www.ilmuwebsite.com, 10 Desember 2009, pk. 10.45 WIB

http://lifting.migas.esdm.go.id/, 12 Desember 2009, pk. 16.45 WIB

112
LAMPIRAN A

WAWANCARA

1. Wawancara 1

Institusi : PT. Wilson Walton Indonesia


Tanggal : 10 Maret 2009
Nama Responden : Bapak Teddy Firmansyah
Jabatan : Operation Manager

No. Pertanyaan Jawaban


1. Apa tugas dari Bidang Secara garis besar tugasnya adalah
Operation ? melakukan perencanaan dan pelaksana
program yang telah dirancang di bidang
korosi, baik itu program perawatan pipa,
perbaikan pipa ataupun survey pada suatu
jaringan pipa.
2. Apa peran teknologi Peran teknologi komputer pada bidang
komputer pada bidang korosi pipa minyak memiliki peran yang
korosi pipa minyak? cukup penting pada bidang korosi, mulai
dari proses perencanaan, proses
pelaksanaan, sampai proses analisa hasil
pelaksanaan. Yaitu sebagai alat bantu
dalam proses penyimpanan, perhitungan
dan analisa data.
3. Apa ada suatu inovasi yang Ya ada, kami selaku kontraktor sekaligus
konsultan dibidang korosi menginginkan
ingin diwujudkan pada
membantu klien-klien kami dalam proses
bidang korosi dengan
penyimpanan data-data pipa. Karena kami
memanfaatkan teknologi melihat, banyak klien kami kurang
memperhatikan dalam penyimpanan data-
komputer ?
data tersebut. Sehingga jika data-data

113
114

tersebut dibutuhkan, memerlukan waktu


yang cukup lama untuk mendapatkan data-
data tersebut.
4. Bagaimana bentuk sistem Pertama operator lapangan melakukan
yang sedang berjalan di monitoring berupa pengumpulan data
klien ? korosi pada suatu jaringan pipa. Data-data
tersebut dicatat pada lembaran-lembaran
kertas. Data-data tersebut yang berupa
catatan, kemudian diserahkan ke Field
Engineer (FE) untuk di analisa. Hasil
analisa tersebut berupa perkiraan keadaan
pipa, berdasarkan data-data tersebut. Hasil
analisa tersebut kemudian dikirim ke kantor
pusat, tepatnya ke General Manager (GM)
melalui email. Setelah GM mendapat hasil
analisa tersebut, GM dapat memutuskan
tindakan yang perlu dilakukan pada suatu
jaringan pipa.
5. Apa kekurangan yang Ada beberapa kekurangan yang terdapat
terdapat pada sistem yang pada sistem yang sedang berjalan:
sedang berjalan ? a. Media penyimpanan data yang hanya
menggunakan lembaran-lembaran
kertas.
b. Proses penganalisaan data yang belum
mempunyai bentuk baku untuk
menganalisa data.
c. Pengiriman hasil analisa
6. Apa alternatif pemecahan Iya ada beberapa alternatif pemecahan
masalah yang ingin masalah tersebut diantaranya:
ditawarkan ? a. Dibuat suatu database, sebagai media
lain yang digunakan untuk penyimpanan
data.
115

b. Data dari database tersebut selanjutnya


dapat langsung diproses sehingga
menghasilkan suatu analisa hasil
monitoring korosi pada pipa.
c. Baik data ataupun hasil analisa data
monitoring korosi pipa dapat dilihat dari
mana saja tidak terbatas oleh ruang.
Karena jarak antar jaringan pipa yang
berjauhan dan apalagi jarak antara
jaringan pipa dengan kantor pusat.
7. Bagaimana bentuk sistem Pertama operator lapangan melakukan
yang ingin ditawarkan ? monitoring berupa pengumpulan data
korosi pada suatu jaringan pipa. Data-data
tersebut dicatat pada lembaran-lembaran
kertas. Data-data tersebut yang berupa
catatan, kemudian diinputkan ke suatu
sistem informasi oleh operator. Dari sistem
informasi tersebut baik GM ataupun FE
dapat melihat keadaan pipa dari hasil
monitoring lapangan. Dari sistem informasi
tersebut juga didapat suatu rekomendasi,
rekomendasinya yaitu berupa tindakan
yang perlu dilakukan pada suatu jaringan
pipa.

2. Wawancara 2

Institusi : PT. Wilson Walton Indonesia


Tanggal : 10 Maret 2009
Nama Responden : Bapak Wahyudi Wibawa
Jabatan : Field Engineer spesialis korosi eksternal
116

No. Pertanyaan Jawaban


1. Apa pengertian dari korosi Korosi eksternal pada suatu pipa secara
eksternal pada suatu pipa ? umum adalah korosi yang diakibatkan oleh
faktor luar (lingkungan).
2. Apa saja yang termasuk Faktor lingkungan yang menjadi penyebab
faktor lingkungan yang korosi eksternal diantaranya temperatur,
menyebabkan terjadinya tanah, air.
korosi eksternal ?
3. Bagaimana cara Cara penganalisaan dimulai dari data yang
penganalisaan data korosi didapat dari operator lapangan kami
eksternal yang ada sekarang kumpulkan. Kemudian kami analisa
ini ? dengan program excel. Setelah hasilnya
didapat, kami laporkan ke manager.
4. Apakah dengan sistem yang Belum baik, karena dalam proses
sekarang ini, baik proses penganalisaan sehingga menghasilkan
maupun hasil sudah baik ? suatu kesimpulan diantara kami, hasilnya
berbeda.
5. Mengapa bisa terjadi Perbedaan tersebut terjadi, karena kami
perbedaan hasil tersebut ? memiliki proses penganalisaan yang
berbeda-beda.
6. Data apa saja yang termasuk Yang termasuk ke dalam data korosi
ke dalam korosi eksternal ? eksternal diantaranya: data external
corrosion protection, dan data pipe
condition.

3. Wawancara 3

Institusi : PT. Wilson Walton Indonesia


Tanggal : 10 Maret 2009
Nama Responden : Bapak Paul Indrawan Syukur
Jabatan : Field Engineer spesialis internal
117

No. Pertanyaan Jawaban


1. Apa pengertian dari korosi ? Korosi adalah degradasi atau penurunan
kualitas dari material pipa yang
disebabkan akibat interaksi dengan
lingkungan sekitar.
2. Apa itu korosi internal dan Korosi internal adalah korosi yang
data-data apa saja yang disebabkan oleh material asing yang ada
berkaitan dengan korosi atau terbawa dari proses produksi minyak.
internal ? Data-data yang berkaitan dengan korosi
internal diantaranya : data scaling
tendency, data water sampling, data
internal corrosion monitoring device, data
corrosion risk, data corrosion rate, data
chemical treatment.
3. Menurut anda apa saja Keuntungan yang paling utama adalah
keuntungan yang akan pasti dari sisi finansial, karena dengan
didapat dari pembuatan adanya sistem informasi ini diharapkan
sistem informasi monitoring hasil akhir keadaan suatu pipa dapat
korosi ? didapat lebih cepat. Sehingga manager
dapat memberi suatu keputusan (decision)
tentang tindakan perbaikan atau
pencegahan. Mengapa dikatakan
keuntungan utama dari sisi finansial,
karena dengan sistem informasi ini
diharapkan keputusan dan rekomendasi
yang dihasilkan lebih tepat. Karena selama
ini biaya untuk perwatan ataupun
perbaikan suatu pipa terus meningkat dari
tahun ke tahun, sedangkan produksi
minyak dari tahun ke tahun terus menurun.
Jadi dapat kita simpulkan bahwa
118

perawatan ataupun perbaikan yang selama


ini dilakukan kurang tepat, hal tersebut
bisa saja diakibatkan karena tidak adanya
tingkatan prioritas.

4. Wawancara 4

Institusi : PT. Wilson Walton Indonesia


Tanggal : 10 Maret 2009
Nama Responden : Bapak Bashari Rozardi
Jabatan : Field Engineer spesialis pipeline integrity

No. Pertanyaan Jawaban


1. Apa pengertian pipeline Pipeline integrity adalah kesatuan dari
integrity ? seluruh komponen pipa, yang berupa data
internal corrosion, data eksternal corrosion
dan data general.
2. Data apa saja yang ada di Data general diantaranya yaitu data desain
dalam data general ? jaringan pipa dan data produksi pipa.
3. Apa komentar Anda dengan Saya sangat mengharapkan, sistem yang
akan dibuatnya suatu sistem akan dibuat dapat melakukan semua
informasi monitoring korosi tahapan analisa sehingga menghasilkan
? suatu kesimpulan, seperti yang kami
lakukan. Tetapi perbedaanya yaitu dengan
sistem yang baru proses penganalisaan
data dilakukan dengan lebih mudah, hasil
yang didapat bisa lebih cepat.
119

Kesimpulan Wawancara :
o Tugas dari bagian operation adalah melakukan perencanaan dan pelaksana
program yang telah dirancang di bidang korosi, baik itu program perawatan
pipa, perbaikan pipa ataupun survey pada suatu jaringan pipa.
o Hasil data monitoring korosi pipa hanya menggunakan lembaran-lembaran
kertas sebagai media penyimpanannya, belum adanya bentuk baku untuk
menganalisa data.
Dari kesimpulan di atas dapat diketahui bahwa proses penyimpanan dan
penganalisaan data monitoring korosi masih belum efektif sehingga dibutuhkan
suatu sistem informasi yang dapat digunakan penganalisaan data monitoring
korosi dan sebagai penyimpanan data aset pipa yang dapat diakses kapan saja dan
dimana saja, sehingga General Manager dapat memutuskan tindakan apa yang
perlu dilakukan pada suatu jaringan pipa.
LAMPIRAN B
KUESIONER

Kuesioner ini bertujuan untuk meminta pendapat kepada para Engineer dan
Manager setelah mencoba “Sistem Informasi Monitoring Korosi Pipa Minyak
Berbasis Web” yang penulis ajukan.
Nama :
Jabatan : Engineer / Manager
1. Apakah Anda sudah mencoba menggunakan “Sistem Informasi
Monitoring Korosi Pipa Minyak Berbasis Web” ?
a. Ya b. Tidak

2. Bagaimana prosedur pengoperasian “Sistem Informasi Monitoring Korosi


Pipa Minyak Berbasis Web” ?
a. Sangat Mudah b. Mudah
c. Sulit d. Sangat Sulit

3. Apakah akses informasi yang diberikan oleh “Sistem Informasi


Monitoring Korosi Pipa Minyak Berbasis Web” ini sudah memadai ?
a. Sangat Memadai b. Memadai
c. Cukup Memadai d. Kurang Memadai

4. Apakah pada waktu sistem ini Anda gunakan pernah terjadi error atau
tidak sesuai dengan permintaan yang diminta ?
a. Pernah b. Tidak Pernah

5. Bagaimana tanggapan Anda mengenai pengembangan sistem informasi


ini, untuk mengakses ataupun memproses data korosi ?
a. Sangat Baik b. Baik
c. Cukup d. Kurang

120
121

6. Menurut Anda, apakah sistem informasi ini layak untuk dijadikan sebagai
database data korosi dan penganalisa data korosi ?
a. Sangat Layak b. Layak
c. Cukup Layak d. Kurang Layak
122

TRANSKIP KUESIONER

Responden : 9 Engineer, 1 Manager PT. Wilson Walton Indonesia


Jenis Kuesioner : Kuesioner tertutup, yaitu responden diminta untuk
memilih jawaban yang telah disediakan.
Tujuan : Meminta tanggapan dan pendapat kepada para Engineer
atau Manager mengenai “Sistem Informasi Monitoring
Korosi Pipa Minyak Berbasis Web” apakah sistem ini
layak untuk diterapkan.

Berikut Pertanyaan dan Hasil Persentasi Kuesioner yang didapat :

Jumlah Responden Jumlah


No Pertanyaan
yang memilih Persentase %
1 Apakah Anda sudah mencoba
menggunakan "Sistem Informasi
Monitoring Korosi Pipa Minyak
Berbasis Web" ?
a. Ya 10 100

b. Tidak 0 0

2 Bagaimana prosedur pengoperasian


"Sistem Informasi Monitoring Korosi
Pipa Minyak Berbasis Web" ?
a. Sangat Mudah 2 20

b. Mudah 7 70

c. Sulit 1 10

d. Sangat Sulit 0 0

3 Apakah akses informasi yang diberikan


oleh "Sistem Informasi Monitoring
123

Korosi Pipa Minyak Berbasis Web"


ini sudah memadai ?
a. Sangat Memadai 2 20

b. Memadai 6 60

c. Cukup Memadai 2 20

d. Kurang Memadai 0 0

4 Apakah pada waktu sistem ini Anda


gunakan pernah terjadi error atau
tidak sesuai dengan permintaan
yang diminta ?
a. Pernah 0 0

b. Tidak Pernah 10 100

5 Bagaimana tanggapan Anda mengenai


pengembangan sistem informasi ini,
untuk mengakses ataupun memproses
data korosi ?
a. Sangat Baik 1 10

b. Baik 8 80

c. Cukup 1 10

d. Kurang 0 0

6 Menurut Anda, apakah sistem informasi


ini layak untuk dijadikan sebagai
database data korosi dan penganalisa
data korosi ?
a. Sangat Layak 1 10

b. Layak 6 60

c. Cukup Layak 3 30

d. Kurang Layak 0 0
LAMPIRAN C

TAMPILAN APLIKASI

1. Halaman Login Pengguna

124
2. Halaman Utama Administrator

125
3. Halaman Administrasi Pengguna Sistem Informasi

126
4. Form Pengguna baru

127
5. Halaman Edit Akses Pengguna

128
6. Halaman Administrasi Backup Database

129
7. Halaman Utama Field Engineer (FE)

130
8. Halaman Ganti Password FE

131
9. Halaman Waiting Approval Data

132
10. Map Stasiun Rawa

133
11. Halaman Utama Gathering Line (GL)

134
12. Halaman Risk Ranking

135
13. Halaman General

136
14. Halaman Internal Corrosion Monitoring Device

137
15. Halaman Water Sampling

138
16. Halaman Chemical Treatment

139
17. Halaman Scaling Tendency

140
18. Halaman External Corrosion Protection

141
19. Halaman Corrosion Risk Data

142
20. Halaman Corrosion Rate

143
21. Halaman Pigging Facility

144
22. Halaman Pipe Condition

145
23. Halaman Edit Password Manager (MG)

146
24. Halaman Approval Data

147
25. Halaman Review Data Korosi

148
LAMPIRAN D

PENGUJIAN

Dibawah ini merupakan tabel hasil pengujian dari ”Sistem Informasi Monitoring

Korosi Pipa Minyak Berbasis Web (Studi Kasus : PT. ConocoPhillips Inc. Ltd)” :

No. Rancangan Proses Hasil Yang Diharapkan Hasil Keterangan

1. Mulai menjalankan Masuk halaman login Sesuai

sistem dengan

halaman login

pengguna

2. Inputan halaman Pengguna termasuk ke Sesuai

login (username dan salah satu dari pengguna

password), diperiksa yang dapat mengakses

ke dalam database. sistem informasi ini, yaitu:

administrator, Field

Engineer (FE) dan

Manager (MG)

3. Masuk halaman Terdapat 4 link, yaitu: Sesuai

utama administrator. User, Database, Map dan

logout.

4. Masuk halaman user Terdapat link untuk Sesuai

pada admin. membuat pengguna baru,

149
150

pengedit ataupun

menghapus pengguna yang

ada.

5. Masuk halaman Dapat dibuatnya pengguna Sesuai

pengguna baru. baru dengan username,

password dan akses yang

diinputkan.

6. Masuk halaman edit Data pengguna yang ada Sesuai

pengguna yang ada. dapat diubah sesuai dengan

yang diinginkan.

7. Pada halaman user Terhapusnya data Sesuai

pada admin, klik pengguna tersebut.

hapus salah satu

pengguna.

8. Pada halam backup Backup dapat Sesuai

database pada menghasilkan 2 buah

halaman admin. format backup, yaitu: sql

dan excel.

9. Pada halaman Field Password FE dapat diubah Sesuai

Engineer (FE), sesuai dengan yang

terdapat link change diinputkan.

password.

10. Pada halaman Dapat dilihat data yang Sesuai


151

Review data. menunggu approval dan

data yang di cancel

Manager.

11. Link pada halaman Link pada setiap gathering Sesuai

map. line.

12. Link risk ranking Di dapat risk ranking pada Sesuai

pada halaman utama gathering line tersebut.

gathering line.

13. Link advance view Dapat dilihat detail data Sesuai

pada halaman utama dari suatu gathering line.

gathering line

14. Link edit pada Dapat diinputkan Sesuai

halaman detail perubahan data yang terjadi

gathering line. pada suatu gathering line.

15. Link change Password manager berubah Sesuai

password pada sesuai dengan yang

halaman utama diinputkan.

Manager.

16. Link approval data Terdapat data yang Sesuai

pada halaman utama menunggu approval

Manager. ataupun data yang telah di

cancel Manager.

17. Link pada waiting Manager dapat Sesuai


152

approve data. memutuskan dengan

memilih salah satu link

yang ada, diantaranya:

approve data, cancel data

ataupun melihat dengan

detail data tersebut.


LAMPIRAN E
SOURCE CODE

1. index.htm
<html>
<head>
<title>Login WWI</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor=black text="#FFFFFF">
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr align="left" valign="bottom">
<td colspan="3" valign="middle">
<form name="form1" method="post" action="login.php">
<table width="150" border="3" align="center" cellpadding="0" cellspacing="0" bordercolor="#666666">
<tr>
<td width="300"><table width="285" height="97" border="0" align="center" cellpadding="5" cellspacing="0"
bgcolor="#0033CC">
<!--DWLayoutTable-->
<tr align="left" valign="bottom">
<td height="19" colspan="3" valign="top" align=center>
<img src=image/login.png>
&nbsp;<font size="4" face="Verdana, Arial, Helvetica, sans-serif">Login</font>
</td>
</tr>
<tr align="left" valign="bottom">
<td height="19" colspan="3" valign="top">&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td height="19" colspan="3" valign="top">&nbsp;
</td>
</tr>
<tr align="left" valign="middle">
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width="64" height="22">
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Username:</font></p>
</td>
<td>&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td>&nbsp;
</td>
<td height="19" colspan="3" valign="top" width="194">
<input name="username" type="text" id="username" size="32">
</td>
<td>&nbsp;
</td>
</tr>
<tr align="left" valign="middle">
<td>&nbsp;
</td>
<td height="19">
<p><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Password:</font></p></td>
<td>&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td>&nbsp;
</td>
<td height="19" colspan="3" valign="top">
<input name="password" type="password" id="password" size="32"></td>
</td>
<td>&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td height="19" colspan="3" valign="top">&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td>&nbsp;
</td>

153
154
<td height="17" colspan="3"><div align="center">
<input type="submit" name="Submit" value="Submit">
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="reset" name="Reset" value="Reset">
</div></td>
<td>&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td height="19" colspan="3" valign="top">&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td>&nbsp;

</td>
<td height="19" colspan="3" valign="top" align=center>
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color=red>@ 2010 PT. Wilson Walton Indonesia</p>
</td>
<td>&nbsp;
</td>
</tr>
<tr align="left" valign="bottom">
<td height="19" colspan="3" valign="top">&nbsp;
</td>
</tr>
</table></td>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>

2. database.php
<?
$database="copi";
$hostname="localhost";
$user="root";
$pass="";
$koneksi=mysql_connect($hostname,$user,$pass);
mysql_select_db($database,$koneksi);
?>

3. login.php
<?php
include("database.php");
if(ereg("[a-z]|[A-Z]|[0-9]$",$username) && ereg("[a-z]|[A-Z]|[0-9]$",$password))
{
$pass=md5($password);
$perintah="SELECT * FROM user WHERE username = '$username'";
$query=mysql_query($perintah) or die ("ada yg salah");
$data=mysql_fetch_array($query);
$sesi_useradm=$data[username];
$sesi_usermg=$data[username];
$sesi_userfe=$data[username];
$sesi_userop=$data[username];
$sesi_user=$data[username];
$sesi_adm=$data[username];
if($pass=="")
$pass=" ";
if ($pass != $data[password] || $username!=$data[username])
{
header("Location:index.htm");
}
else
{
session_start();
if($data[status]=='0')
{
//Admin
session_register('sesi_useradm');
header("Location:admin/index.php");
}
else if($data[status]=='1')
{
155
//MG
session_register('sesi_usermg');
$user_loginmg = $data[username];
header("Location:mg/index.php");
}
else if($data[status]=='2')
{
//FE
session_register('sesi_userfe');
$user_loginfe = $data[username];
header("Location:fe/index.php");
}
else
{
header("Location:index.htm");
}
}
mysql_free_result($query);
}
else
{
header("Location:index.htm");
}
?>

4. session.php
<?php
session_start();
if (session_is_registered("sesi_useradm"))
{ }
else
header("Location:../index.htm");
?>

5. index.php (admin)
<html>
<head>
<style type="text/css">
a:hover,
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}
a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
#GreyWhite {
background-color: #FBFBFB;
}
</style>
</head>
<body id="GreyWhite">
<?
include("database.php");
include("session.php");
?>
<center>
<br><br>
<h1>Admin</h1>
<br><br>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="user.php?hal=1"><img src="../image/user.png" alt="a"
width="64"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td align=center>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="backup_db.php"><img src="../image/database.png" alt="a"
width="64"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
156
&nbsp;&nbsp;&nbsp;&nbsp;<a href="map.php"><img src="../image/map.png" alt="a"
width="64"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="64"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
User
</td>
<td align=center>
Database
</td>
<td align=center>
Map
</td>
<td align=center>
Logout
</td>
</tr>
</table>
</center>
</body>
</html>

6. user.php
<html>
<head>
<style type="text/css">
a:hover,
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}
a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
#GreyWhite {
background-color: #FBFBFB;
}
</style>
</head>
<body id="GreyWhite">
<?
include("database.php");
include("session.php");
?>
<center>
<br>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php"><img src="../image/home.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
Home
</td>
<td align=center>
Logout
</td>
</tr>
</table>
<br>
<h2>User</h2>
157
<a href=add_user.php><img src=../image/add.png width=32></a><br>
Add New User
<table border=1 cellpadding=0 cellspacing=0 align="center">
<tr align="center">
<th bgcolor= class=>&nbsp;Username&nbsp;</th>
<th bgcolor= class=>&nbsp;Password&nbsp;</th>
<th bgcolor= class=>&nbsp;Status&nbsp;</th>
<th bgcolor= class=>&nbsp;Area&nbsp;</th>
<th bgcolor=>&nbsp;</th>
<th bgcolor=>&nbsp;</th>
</tr>
<?
$table = user;
$i=1;
$hal = $_GET[hal];

if(!isset($_GET['hal']))
{
$page = 1;
}
else
{
$page = $_GET['hal'];
}
$max_results = 21;
$from = (($page * $max_results) - $max_results);
$query = mysql_query("SELECT * FROM $table ORDER BY username ASC LIMIT $from, $max_results ");
while($baris = mysql_fetch_array($query))
{
if($i%2)
{
echo "<tr bgcolor=>";
}
else
{
echo "<tr bgcolor=>";
}
echo"
<td><font class=style8>&nbsp;$baris[0]&nbsp;</td>
<td><font class=style8>&nbsp;$baris[1]&nbsp;</td>
<td align=center><font class=style8>$baris[2]</td>
<td align=center><font class=style8>$baris[3]</td>
<td><a href='edit_user.php?username=$baris[0]' class=style2><img src=../image/edit.png width=32></a></td>
<td><a href='del_user.php?username=$baris[0]' class=style2><img src=../image/delete.png width=32></a></td>
</tr>";
$i++;
}
echo "</table><br><br>";
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM $table"),0);
$total_pages = ceil($total_results / $max_results);
echo "<center><b><font class=style7>Select a Page</font></b><br>";
if($hal > 1)
{
$prev = ($page - 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$prev> <-Previous </a> ";
}

for($i = 1; $i <= $total_pages; $i++)


{
if(($hal) == $i)
{
echo "$i ";
}
else
{
echo "<a href=$_SERVER[PHP_SELF]?hal=$i>$i</a> ";
}
}
// Build Next Link
if($hal < $total_pages)
{
$next = ($page + 1);
echo "<a href=$_SERVER[PHP_SELF]?hal=$next>Next-></a>";
}
?>
</center>
</body>
</html>
158

7. add_user.php
<html>
<head>
<style type="text/css">
a:hover,
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}

a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
#GreyWhite {
background-color: #FBFBFB;
}
</style>
</head>
<body id="GreyWhite">
<?
include("database.php");
include("session.php");
?>
<center>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="user.php?hal=1"><img src="../image/back.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php"><img src="../image/home.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
Back
</td>
<td align=center>
Home
</td>
<td align=center>
Logout
</td>
</tr>
</table>
<br>
<h2>Form New User</h2>
<div align=center>
<form action="p_user.php" method="post">
<table width="400" height="140" border="0" align="center" cellpadding="0" cellspacing="0">
<tr align="left" valign="middle">
<td width="28" height="25" class="style7">Username</td>
<td width="8" height="25" class="style7">:</td>
<td width="92" height="25"><input name="username" type="text" id="username"></td>
</tr>
<tr align="left" valign="middle">
<td width="26" height="25" class="style7">Password</td>
<td width="8" height="25" class="style7">:</td>
<td height="25"><input name="password" type="password" id="password"></td>
</tr>
<tr align="left" valign="middle">
<td width="26" height="25" class="style7">Status</td>
<td width="8" height="25" class="style7">:</td>
<td height="25">
<select name="status">
159
<option value="">------- Status -------</option>
<option value="0">Admin</option>
<option value="1">GM</option>
<option value="2">FE</option>
<option value="3">OP</option>
</td>
</tr>
<tr align="left" valign="middle">
<td width="26" height="25" class="style7">Area</td>
<td width="8" height="25" class="style7">:</td>
<td height="25"><input name="area" type="text" id="area"></td>
</tr>
<tr>
<td height="25" colspan="3"><div align="center"><br>
<input type="submit" name="Submit" value="Save">&nbsp;&nbsp;
<a href="user.php?hal=1"><input type="reset" value="Cancel"></a>
</div>
</td>
</tr>
</table>
</form>
</div>
</center>
</body>
</html>

8. p_user.php
<html>
<body>
<?
include "session.php";
include "database.php";
$username=$_POST["username"];
$password=$_POST["password"];
$status=$_POST["status"];
$area=$_POST["area"];
$perintah="select username from user where username='$username'";
$query=mysql_query($perintah);
if($jumlah=mysql_num_rows($query)>0)
{
echo "<br><table align=center valign=middle><tr><td align=center class=style7>";
echo "Username yang dimasukkan sudah ada di dalam database !!!</td></tr>";
echo "<tr><td align=center><input type=button name=Submit value=Back onClick=self.history.back();>";
echo "</td></tr></table>";
}
else
{
$pass=md5($password);
$query2 ="INSERT INTO user (username,password,status,area) VALUES";
$query2 .="('$username','$pass','$status','$area')";
$hasil_mysql2=mysql_query($query2, $koneksi);
if($query2)
{
header("Location:user.php");
}
}
?>
</body>
</html>

9. edit_user.php
<html>
<head>
<style type="text/css">
a:hover,
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}
a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
160
#GreyWhite {
background-color: #FBFBFB;
}
</style>
</head>
<body id="GreyWhite">
<?
include("database.php");
include("session.php");
?>
<center>
<h1>Admin</h1>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php"><img src="../image/home.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
Home
</td>
<td align=center>
Logout
</td>
</tr>
</table>
<br>
<?
include("database.php");
$query=mysql_query("select * from user where username='$username'", $koneksi) or die (mysql_error());
while($row=mysql_fetch_array($query))
{
echo "<form method=post action=pedituser.php>";
echo "<center><table width=420 height=140 border=0 align=center cellpadding=0 cellspacing=0>";
echo "<tr><td height=50 colspan=3 align=center>";
echo "<b><font size=3 class=style7>Edit User</font></b></td></tr>";
echo "<tr align=left>";
echo "<td width=26 height=25 class=style7></td>";
echo "<td width=8 height=25 class=style7></td>";
echo "<td height=25 class=style7>
<input type=\"hidden\" name=\"username\" value=\"$row[0]\">";
echo "<tr align=left valign=middle>";
echo "<td width=96 height=25 class=style7>Username</td>";
echo "<td width=8 height=25 class=style7>:</td>";
echo "<td height=25>$row[0]";
echo "</td></tr>";
echo "<tr align=left valign=middle>";
echo " <td width=96 height=25 class=style7>Password</td>";
echo "<td width=8 height=25 class=style7>:</td>";
echo "<td height=25><input name=\"password\" type=\"password\">";
echo "</td></tr>";
echo "<tr align=left valign=middle>";
echo "<td width=26 height=25 class=style7>Status</td>";
echo "<td width=8 height=25 class=style7>:</td>";
echo "<td height=25><select name=\"status\">";
if($row[2]=='0')
{
echo "<option value=>------- Status -------</option>";
echo "<option value=\"0\" selected=\"selected\">Admin</option>";
echo "<option value=\"1\">GM</option>";
echo "<option value=\"2\">FE</option>";
echo "<option value=\"3\">OP</option>";
}
elseif($row[2]=='1')
{
echo "<option value=>------- Status -------</option>";
echo "<option value=\"0\">Admin</option>";
echo "<option value=\"1\" selected=\"selected\">GM</option>";
echo "<option value=\"2\">FE</option>";
echo "<option value=\"3\">OP</option>";
}
elseif($row[2]=='2')
{
161
echo "<option value=>------- Status -------</option>";
echo "<option value=\"0\">Admin</option>";
echo "<option value=\"1\">GM</option>";
echo "<option value=\"2\" selected=\"selected\">FE</option>";
echo "<option value=\"3\">OP</option>";
}
elseif($row[2]=='3')
{
echo "<option value=>------- Status -------</option>";
echo "<option value=\"0\">Admin</option>";
echo "<option value=\"1\">GM</option>";
echo "<option value=\"2\">FE</option>";
echo "<option value=\"3\" selected=\"selected\">OP</option>";
}
else
{
echo "<option value=>------- Status -------</option>";
echo "<option value=\"0\">Admin</option>";
echo "<option value=\"1\">GM</option>";
echo "<option value=\"2\">FE</option>";
echo "<option value=\"3\">OP</option>";
}
echo "<td></tr>";
echo "<tr><td>&nbsp;</td></tr>";
echo "<tr>
<td colspan=3 align=center><div align=\"center\"><a href=user.php?hal=1><input type=button name=\"cancel\"
value=\"cancel\"></a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" name=\"submit\" value=\"update\"></td></tr>";
echo "<tr><td>&nbsp;</td></tr>";
echo "</form>";
echo "</table>";
}
?>
</center>
</body>
</html>

10. pedituser.php
<html>
<body>
<?
include "session.php";
include "database.php";
$username=$_POST["username"];
$password=$_POST["password"];
$status=$_POST["status"];
$area=$_POST["area"];
$pass=md5($password);
$query="UPDATE user set password='$pass',status='$status',";
$query .="area='$area' where username='$username'";

$hasil_mysql=mysql_query($query, $koneksi);
if($query)
{
header("Location:user.php?hal=1");
}
?>
</body>
</html>

11. backup_db.php
<html>
<head>
<style type="text/css">
a:hover,
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}
a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
162
#GreyWhite {
background-color: #FBFBFB;
}
</style>
</head>
<body id="GreyWhite">
<?
include("database.php");
include("session.php");
?>
<center>
<br>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php"><img src="../image/home.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
Home
</td>
<td align=center>
Logout
</td>
</tr>
</table>
<br><br>
<b><h2>Backup Database<h2></b><br>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="sql_backup.php"><img src="../image/sql.png" alt="a"
width="64"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="xls_backup.php"><img src="../image/excel.png" alt="a"
width="64"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
SQL
</td>
<td align=center>
Excel
</td>
</tr>
</table>
</center>
</body>
</html>

12. sql_backup.php
<?
include("database.php");
include("session.php");
$target="file";
if($target=="file")
{
header('Content-Type: application/octetstream');
header('Content-Disposition: filename="backup.sql"');
$asfile="download";
}

$crlf="\r\n";
$link = mysql_connect("localhost", "root", "");
$database = mysql_select_db("medco");
$dbname = "medco";
$dump_buffer="";
$tables = mysql_query("show tables from $dbname");
$num_tables = mysql_num_rows($tables);
163
if($num_tables == 0)
{
echo "# No Tables Found";
exit;
}
$dump_buffer.= "# DatabaseBackup $crlf";
$dump_buffer.= "# Backup made:$crlf";
$dump_buffer.= "# ".date("F j, Y, g:i a")."$crlf";
$dump_buffer.= "# Database: $dbname$crlf";
$dump_buffer.= "# Backed up tables : $dbname $crlf";
$i = 0;
while($i < $num_tables)
{
$table = mysql_tablename($tables, $i);
//echo $table . "<br>";
$dump_buffer.= "# --------------------------------------------------------$crlf";
$dump_buffer.= "$crlf#$crlf";
$dump_buffer.= "# Table structure for table '$table'$crlf";
$dump_buffer.= "#$crlf$crlf";
$db = $table;
$dump_buffer.= get_table_def($table, $crlf,$dbname).";$crlf";
$dump_buffer.= "$crlf#$crlf";
$dump_buffer.= "# Dumping data for table '$table'$crlf";
$dump_buffer.= "#$crlf$crlf";
$tmp_buffer="";
get_table_content($dbname, $table, 0, 0, 'my_handler', $dbname);
$dump_buffer.=$tmp_buffer;
$i++;
$dump_buffer.= "$crlf";
}
echo $dump_buffer;
exit;
function get_table_def($table, $crlf,$dbname)
{
$schema_create = "DROP TABLE IF EXISTS $table;$crlf";
$db = $table;
$schema_create .= "CREATE TABLE $table ($crlf";
$result = mysql_query("SHOW FIELDS FROM " .$dbname."."
. $table) or die();
while($row = mysql_fetch_array($result))
{
$schema_create .= " $row[Field] $row[Type]";
if(isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0"))
$schema_create .= " DEFAULT '$row[Default]'";
if($row["Null"] != "YES")
$schema_create .= " NOT NULL";
if($row["Extra"] != "")
$schema_create .= " $row[Extra]";
$schema_create .= ",$crlf";
}
$schema_create = ereg_replace(",".$crlf."$", "", $schema_create);
$result = mysql_query("SHOW KEYS FROM " .$dbname."." .
$table) or die();
while($row = mysql_fetch_array($result))
{
$kname=$row['Key_name'];
$comment=(isset($row['Comment'])) ? $row['Comment'] : '';
$sub_part=(isset($row['Sub_part'])) ? $row['Sub_part'] : '';
if(($kname != "PRIMARY") && ($row['Non_unique'] == 0))
$kname="UNIQUE|$kname";
if($comment=="FULLTEXT")
$kname="FULLTEXT|$kname";
if(!isset($index[$kname]))
$index[$kname] = array();
if ($sub_part>1)
$index[$kname][] = $row['Column_name'] . "(" . $sub_part . ")";
else
$index[$kname][] = $row['Column_name'];
}
while(list($x, $columns) = @each($index))
{
$schema_create .= ",$crlf";
if($x == "PRIMARY")
$schema_create .= " PRIMARY KEY (";
elseif (substr($x,0,6) == "UNIQUE")
$schema_create .= " UNIQUE " .substr($x,7)." (";
elseif (substr($x,0,8) == "FULLTEXT")
$schema_create .= " FULLTEXT ".substr($x,9)." (";
else
164
$schema_create .= " KEY $x (";
$schema_create .= implode($columns,", ") . ")";
}
$schema_create .= "$crlf)";
if(get_magic_quotes_gpc()) {
return (stripslashes($schema_create));
} else {
return ($schema_create);
}
}
function get_table_content($db, $table, $limit_from = 0, $limit_to = 0,$handler)
{
// Defines the offsets to use
if ($limit_from > 0) {
$limit_from--;
} else {
$limit_from = 0;
}
if ($limit_to > 0 && $limit_from >= 0) {
$add_query = " LIMIT $limit_from, $limit_to";
} else {
$add_query = '';
}
get_table_content_fast($db, $table, $add_query,$handler);
}
function get_table_content_fast($db, $table, $add_query = '',$handler)
{
$result = mysql_query('SELECT * FROM ' . $db . '.' . $table . $add_query) or die();
if ($result != false) {
@set_time_limit(1200); // 20 Minutes
// Checks whether the field is an integer or not
for ($j = 0; $j < mysql_num_fields($result); $j++) {
$field_set[$j] = mysql_field_name($result, $j);
$type = mysql_field_type($result, $j);
if ($type == 'tinyint' || $type == 'smallint' || $type == 'mediumint' || $type == 'int' ||
$type == 'bigint' ||$type == 'timestamp') {
$field_num[$j] = true;
} else {
$field_num[$j] = false;
}
} // end for
// Get the scheme
if (isset($GLOBALS['showcolumns'])) {
$fields = implode(', ', $field_set);
$schema_insert = "INSERT INTO $table ($fields) VALUES (";
} else {
$schema_insert = "INSERT INTO $table VALUES (";
}
$field_count = mysql_num_fields($result);
$search = array("\x0a","\x0d","\x1a"); //\x08\\x09, not required
$replace = array("\\n","\\r","\Z");
while ($row = mysql_fetch_row($result)) {
for ($j = 0; $j < $field_count; $j++) {
if (!isset($row[$j])) {
$values[] = 'NULL';
} else if (!empty($row[$j])) {
// a number
if ($field_num[$j]) {
$values[] = $row[$j];
}
// a string
else {
$values[] = "'" . str_replace($search, $replace,
addslashes($row[$j])) . "'";
}
} else {
$values[] = "''";
} // end if
} // end for
$insert_line = $schema_insert . implode(',', $values) . ')';
unset($values);
// Call the handler
$handler($insert_line);
} // end while
} // end if ($result != false)

return true;
}
165
function my_handler($sql_insert)
{
global $crlf, $asfile;
global $tmp_buffer;

if(empty($asfile))
$tmp_buffer.= htmlspecialchars("$sql_insert;$crlf");
else
$tmp_buffer.= "$sql_insert;$crlf";
}

function faqe_db_error()
{
return mysql_error();
}

function faqe_db_insert_id($result)
{
return mysql_insert_id($result);
}
?>

13. xls_backup.php
<?
include("database.php");
include("session.php");
?>
<html>
<head>
<style type="text/css">
a:hover,
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}
a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
#GreyWhite {
background-color: #FBFBFB;
}
</style>
<title>Daftar Tabel</title>
</head>
<body id="GreyWhite">
<br>
<div align=center>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="backup_db.php"><img src="../image/back.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php"><img src="../image/home.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
Back
</td>
<td align=center>
Home
</td>
<td align=center>
Logout
</td>
</tr>
166
</table>

</div>
<br>
<center>
<h2>Backup Database to Excel</h2>
</center>
<div align="center">
<table border="0" width="463" cellspacing="1" id="table1" style="font-family: Tahoma; font-size: 10pt; color: #000080">
<form method="POST" action="pxls_backup.php">

<tr>
<td bgcolor="#D3E3EB" width="459" valign="top" colspan="2">

<table border="0" cellspacing="1" width="100%" id="table2">


<tr>
<td width="153" bgcolor="#83B0C7" align="center">
<p style="margin: 2px 3px"><b>
<font size="2" color="#000080">Table
Name</font></b></td>
<td width="47" bgcolor="#83B0C7" align="center">
<p style="margin: 2px 3px"><b>
<font size="2" color="#000080">Data Total</font></b></td>
<td width="123" bgcolor="#83B0C7" align="center">
<p style="margin: 2px 3px"><b>
<font size="2" color="#000080">Date
Modified</font></b></td>
<td width="62" bgcolor="#83B0C7" align="center">
<p style="margin: 2px 3px"><b>

</tr>
<?php
$koneksi=mysql_connect("localhost","$user","$password");
$query=mysql_query ("SHOW TABLE STATUS FROM $database Like '%' ");
while ($data=mysql_fetch_array($query) ) {
?>
<tr>
<td width="153" bgcolor="#F9D3A2">
<p style="margin: 2px 3px">
<font size="2"
color="#000080">&nbsp;<?=$data[Name]?></font></td>
<td width="47" bgcolor="#F9D3A2">
<p style="margin: 2px 3px" align="center">
<font size="2"
color="#000080"><?=$data[Rows]?></font></td>
<td width="123" bgcolor="#F9D3A2">
<p style="margin: 2px 3px">
<font size="2"
color="#000080">&nbsp;<?=$data[Create_time]?></font></td>

<td bgcolor="#F9D3A2">
<p style="margin: 2px 3px">&nbsp;
<input type="radio" value="<?=$data[Name]?>"
name="tabel"></td>
</tr>
<?
}
?>
</table>
</div>
</td>
</tr>
<tr>
<td colspan=4 bgcolor="#D3E3EB" width="83" valign="top" align=center>
<input type="submit" value="Convert to Excel" name="transfer">
</td>
</tr>
</form>
</table>
</div>
</body>
</html>

14. chg_pass.php
<html>
<head>
<style type="text/css">
a:hover,
167
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}

a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
#GreyWhite {
background-color: #FBFBFB;
}
</style>
</head>
<body id="GreyWhite">
<?
include("database.php");
include("session.php");
?>
<center>
<br>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php"><img src="../image/home.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
Home
</td>
<td align=center>
Logout
</td>
</tr>
</table>
<br>
<?
include("database.php");
$query=mysql_query("select * from user where username='$sesi_userfe'", $koneksi) or die (mysql_error());
while($row=mysql_fetch_array($query))
{
echo "<form method=post action=pchg_pass.php>";

echo "<table width=250 height=140 border=0 align=center cellpadding=0 cellspacing=0>";


echo "<tr><td height=40 colspan=3 align=center>";
echo "<b><font size=5 class=style7>Change Password</font></b></td></tr>";
echo "<input type=\"hidden\" name=\"username\" value=\"$row[0]\">";
echo "<tr align=left valign=middle>";
echo "<td width=106 height=25 class=style7>Username&nbsp;</td>";
echo "<td width=8 height=25 class=style7>&nbsp; : &nbsp;</td>";
echo "<td height=25>$row[0]";
echo "</td></tr>";

echo "<tr align=left valign=middle>";


echo " <td width=56 height=25 class=style7>New Password</td>";
echo "<td width=8 height=25 class=style7>&nbsp; : &nbsp;</td>";
echo "<td height=25><input name=\"password\" type=\"password\">";
echo "</td></tr>";
echo "<tr><td>&nbsp;</td></tr>";
echo "<tr>
<td colspan=3 align=center>
<input type=\"submit\" name=\"submit\" value=\"update\">
<a href=index.php><input type=\"button\" name=\"cancel\" value=\"cancel\"></a>

</td>
</tr>";
echo "<tr><td>&nbsp;</td></tr>";
echo "</form>";
echo "</table>";
168

}
?>
</center>
</body>
</html>

15. pchg_pass.php
<html>
<body>
<?
include "session.php";
include "database.php";
$username=$_POST["username"];
$password=$_POST["password"];
$pass=md5($password);
$query="UPDATE user set password='$pass' where username='$username'";
$hasil_mysql=mysql_query($query, $koneksi);
if($query)
{
header("Location:index.php");
}
?>
</body>
</html>

16. save_data_gl.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Admin Panel (Proses Edit GL)</title>
<link href="../main.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
include ("database.php");
include ("session.php");

//$year_service=
$tgl1 = $date_update;
$tgl2 = date("Y-m-d");

// memecah tanggal untuk mendapatkan bagian tanggal, bulan dan tahun dari tanggal pertama
$pecah1 = explode("-", $tgl1);
$date1 = $pecah1[2];
$month1 = $pecah1[1];
$year1 = $pecah1[0];

// memecah tanggal untuk mendapatkan bagian tanggal, bulan dan tahun dari tanggal kedua
$pecah2 = explode("-", $tgl2);
$date2 = $pecah2[2];
$month2 = $pecah2[1];
$year2 = $pecah2[0];
$year_service=$year2-$year_built;

//BFPD
$bfpd=$bopd+$bwpd;

//SMYS
if($pipe_grade='API 5L Grade B')
{
$smys=35000;
}
elseif($pipe_grade='API 5LX42')
{
$smys=42000;
}

//Nominal WT
if($pipe_size=='2')
{
if($schedule=='40')
{
$nominal_wt=0.154;
169
}
elseif($schedule=='80')
{
$nominal_wt=0.218;
}

}
elseif($pipe_size=='2.5')
{
if($schedule=='40')
{
$nominal_wt=0.203;
}
elseif($schedule=='80')
{
$nominal_wt=0.276;
}
}
elseif($pipe_size=='3')
{
if($schedule=='40')
{
$nominal_wt=0.216;
}
elseif($schedule=='80')
{

}
}
elseif($pipe_size=='3.5')
{
if($schedule=='40')
{
$nominal_wt=0.226;
}
elseif($schedule=='80')
{
$nominal_wt=0.318;
}
}
elseif($pipe_size=='4')
{
if($schedule=='40')
{
$nominal_wt=0.237;
}
elseif($schedule=='80')
{
$nominal_wt=0.337;
}
}
elseif($pipe_size=='5')
{
if($schedule=='40')
{
$nominal_wt=0.258;
}
elseif($schedule=='80')
{
$nominal_wt=0.375;
}
}
elseif($pipe_size=='6')
{
if($schedule=='40')
{
$nominal_wt=0.28;
}
elseif($schedule=='80')
{
$nominal_wt=0.432;
}
}
elseif($pipe_size=='8')
{
if($schedule='40')
{
$nominal_wt=0.322;
}
170
elseif($schedule=='80')
{
$nominal_wt=0.5;
}
}
elseif($pipe_size=='10')
{
if($schedule=='40')
{
$nominal_wt=0.365;
}
elseif($schedule=='80')
{
$nominal_wt=0.593;
}
}
elseif($pipe_size=='12')
{
if($schedule=='40')
{
$nominal_wt=0.406;
}
elseif($schedule=='80')
{
$nominal_wt=0.687;
}
}
//Remaining Life
$mawt=($op_press*$pipe_size)/((2*$smys*$design_factor)+$op_press);
$remaining_life=(($wt_remaining_current-$mawt)*1000)/$corr_rate_wt;

//Actual MAOP
if($psv_setting < $flange_rating)
{
$actual_maop=$psv_setting;
}
elseif(($psv_setting > $flange_rating) || ($psv_setting=0))
{
$actual_maop=$flange_rating;
}

//Calculated MAOP
$A=(0.893*$length)/sqrt($pipe_size*$nominal_wt);
$P=(2*$nominal_wt*$design_factor*$smys)/$pipe_size;
$X=1-((2*$total_wt_lost)/(3*$nominal_wt));
$Y=1-(((2/3)*$total_wt_lost)/($nominal_wt*(sqrt(($A*$A)+1))));

if($A<=4)
{
$calculated_maop=(1.1*$P*$Y)/$Y;
}
elseif($A>4)
{
$calculated_maop=1.1*$P*(1-($total_wt_lost/$nominal_wt));
}

$query="UPDATE gl_general_fe set


date_update='$tgl2',equipment='$equipment',pipe_size='$pipe_size',pipe_grade='$pipe_grade',design_factor='$design_factor',schedu
le='$schedule',smys='$smys',design_press='$design_press',nominal_wt='$nominal_wt',";
$query
.="length='$length',design_life='$design_life',year_built='$year_built',year_service='$year_service',current_service='$current_servic
e',flange_rating='$flange_rating',fange='$fange',psv_setting='$psv_setting',design_temp='$design_temp',";
$query
.="fluid_from='$fluid_from',bopd='$bopd',bwpd='$bwpd',bfpd='$bfpd',mscfd='$mscfd',remaining_life='$remaining_life',op_temp='$
op_temp',op_press='$op_press',calculated_maop='$calculated_maop',actual_maop='$actual_maop',status='Waiting Approve' where
id_gl='$id_gl'";
$hasil_mysql=mysql_query($query, $koneksi);

//Coupon Surface Area & Density


if($coupon_type_int='Strip Coupon 1 Inch')
{
$coupon_surface_int=3.4;
$density_int=7.85;
}
elseif($coupon_type_int='Strip Coupon 2 Inch')
{
$coupon_surface_int=5.2;
$density_int=7.85;
}
171
elseif($coupon_type_int='Flush Disc Coupon')
{
$coupon_surface_int=2.5;
$density_int=7.85;
}

//Corrosion Rate
if(($final_weight_a_int-$initial_weight_a_int) > ($final_weight_b_int-$initial_weight_b_int))
{
$weight_int=$final_weight_a_int-$initial_weight_a_int;
}
else
{
$weight_int=$final_weight_b_int-$initial_weight_b_int;
}

$date=($retrieving_date_int-$installation_date_coupon_int);
$corr_rate_int=($weight_int*22300)/($date*$density_int*$coupon_surface_int);
$query2="UPDATE gl_int_corr_mon_dev_fe set
fitting_size_int='$fitting_size_int',fitting_manufacture_int='$fitting_manufacture_int',access_fitting_type_int='$access_fitting_type_i
nt',condition_int='$condition_int',nos_af_int='$nos_af_int',plug_manufacture_int='$plug_manufacture_int',coupon_type_int='$coupo
n_type_int',holder_length_int='$holder_length_int',installation_date_coupon_int='$installation_date_coupon_int',";
$query2
.="retrieving_date_int='$retrieving_date_int',coupon_surface_int='$coupon_surface_int',density_int='$density_int',probe_type_int='$
probe_type_int',probe_element_int='$probe_element_int',probe_length_int='$probe_length_int',probe_span_int='$probe_span_int',pr
obe_id_int='$probe_id_int',installation_date_probe_int='$installation_date_probe_int',corr_rate_int='$corr_rate_int',coupon_id_a_int
='$coupon_id_a_int',";
$query2
.="initial_weight_a_int='$initial_weight_a_int',final_weight_a_int='$final_weight_a_int',color_coupon_a_int='$color_coupon_a_int',
body_attack_a_int='$body_attack_a_int',washer_attack_a_int='$washer_attack_a_int',edge_attack_a_int='$edge_attack_a_int',erosio
n_attack_a_int='$erosion_attack_a_int',scale_a_int='$scale_a_int',pitting_a_int='$pitting_a_int',debris_a_int='$debris_a_int',coupon_
id_b_int='$coupon_id_b_int',";
$query2
.="initial_weight_b_int='$initial_weight_b_int',final_weight_b_int='$final_weight_b_int',color_coupon_b_int='$color_coupon_b_int
',body_attack_b_int='$body_attack_b_int',washer_attack_b_int='$washer_attack_b_int',edge_attack_b_int='$edge_attack_b_int',erosi
on_attack_b_int='$erosion_attack_b_int',scale_b_int='$scale_b_int',pitting_b_int='$pitting_b_int',debris_b_int='$debris_b_int',status
_int='Waiting Approve' where id_gl='$id_gl'";
$hasil_mysql2=mysql_query($query2, $koneksi);

$query3="UPDATE gl_water_sampling_fe set


nos='$nos',condition_ws='$condition_ws',temperature='$temperature',ph='$ph',sand='$sand',h2s='$h2s',co2_dissolved='$co2_dissolv
ed',";
$query3
.="srb='$srb',mn='$mn',residual_amine='$residual_amine',residual_phosphate='$residual_phosphate',residual_sulfit='$residual_sulfit'
,alkalinity='$alkalinity',";
$query3 .="cl='$cl',sulfate='$sulfate',o2_dissolved='$o2_dissolved',iron_count='$iron_count',status='Waiting
Approve',water_sampling='$water_sampling' where id_gl='$id_gl'";
$hasil_mysql3=mysql_query($query3, $koneksi);

$query4="UPDATE gl_chemical_treatment_fe set


chemical_treatment_type='$chemical_treatment_type',condition_ct='$condition_ct',nos='$nos',access_fitting_system='$access_fittin
g_system',";
$query4
.="device_manufacture='$device_manufacture',injection_tube='$injection_tube',operation_condition='$operation_condition',treatme
nt_method='$treatment_method',";
$query4
.="brand='$brand',injection_rate='$injection_rate',recommendation_injection_rate='$recommendation_injection_rate',status='Waiting
Approve',chemical_facility='$chemical_facility' where id_gl='$id_gl'";
$hasil_mysql4=mysql_query($query4, $koneksi);

//Tendency
$query5="UPDATE gl_scaling_tendency_fe set
fitting_size='$fitting_size',access_fitting_type='$access_fitting_type',nos_af='$nos_af',fitting_manufacture='$fitting_manufacture',";
$query5
.="condition='$condition',plug_manufacture='$plug_manufacture',coupon_type='$coupon_type',holder_length='$holder_length',insta
llation_date='$installation_date',";
$query5
.="retrieving_date='$retrieving_date',scale_index='$scale_index',tendency='$tendency',scale_growth='$scale_growth',status='Waitin
g Approve' where id_gl='$id_gl'";
$hasil_mysql5=mysql_query($query5, $koneksi);

//Soil Corrosive
$query6="UPDATE gl_ext_corr_protection_fe set
type_cp='$type_cp',anode_weight='$anode_weight',anode_type='$anode_type',nos_anode='$nos_anode',year_installed='$year_instal
led',";
$query6
.="design_life_cp='$design_life_cp',current_output='$current_output',test_point_nos='$test_point_nos',insulation_flange='$insulatio
n_flange',tr_output_v='$tr_output_v',tr_output_a='$tr_output_a',highest_pipe_soil='$highest_pipe_soil',";
172
$query6
.="lowest_pipe_soil='$lowest_pipe_soil',location_soil='$location_soil',lowest_soil='$lowest_soil',soil_corrosive='$soil_corrosive',hi
ghest_soil='$highest_soil',status='Waiting Approve' where id_gl='$id_gl'";
$hasil_mysql6=mysql_query($query6, $koneksi);

$query7="UPDATE gl_corr_risk_data_fe set contingency_line='$contingency_line',community='$community',";


$query7 .="population_density='$population_density',no_of_leak='$no_of_leak',date_leak='$date_leak',";
$query7 .="remedial_action='$remedial_action',location='$location',status='Waiting Approve' where id_gl='$id_gl'";
$hasil_mysql7=mysql_query($query7, $koneksi);

//WT Lost
$total_wt_lost=$nominal_wt-$wt_remaining;
$query8="UPDATE gl_corr_rate_fe set
retrieving_date_coupon='$retrieving_date_coupon',corr_rate_coupon='$corr_rate_coupon',interrogated_date_probe='$interrogated_d
ate_probe',";
$query8
.="corr_rate_probe='$corr_rate_probe',date_previous_inspection='$date_previous_inspection',date_current_inspection='$date_curren
t_inspection',wt_remaining_previous='$wt_remaining_previous',";
$query8
.="wt_remaining_current='$wt_remaining_current',total_wt_lost='$total_wt_lost',defect_length_max='$defect_length_max',corr_rate
_wt='$corr_rate_wt',status='Waiting Approve' where id_gl='$id_gl'";
$hasil_mysql8=mysql_query($query8, $koneksi);

$query9="UPDATE gl_pigging_facility_fe set


barrel_length_launcher='$barrel_length_launcher',nominal_length_launcher='$nominal_length_launcher',reducer_length_launcher='
$reducer_length_launcher',bridle_door_launcher='$bridle_door_launcher',";
$query9
.="valve_body_width_launcher='$valve_body_width_launcher',access_length_launcher='$access_length_launcher',access_width_lau
ncher='$access_width_launcher',barrel_od_launcher='$barrel_od_launcher',barrel_id_launcher='$barrel_id_launcher',barrel_t_launch
er='$barrel_t_launcher',";
$query9
.="nominal_t_launcher='$nominal_t_launcher',trap_height_launcher='$trap_height_launcher',kicker_launcher='$kicker_launcher',bal
ance_pipe_launcher='$balance_pipe_launcher',reducer_type_launcher='$reducer_type_launcher',";
$query9
.="angle_launcher='$angle_launcher',barrel_length_receiver='$barrel_length_receiver',nominal_length_receiver='$nominal_length_r
eceiver',reducer_length_receiver='$reducer_length_receiver',bridle_door_receiver='$bridle_door_receiver',valve_body_width_receiv
er='$valve_body_width_receiver',";
$query9
.="access_length_receiver='$access_length_receiver',access_width_receiver='$access_width_receiver',barrel_od_receiver='$barrel_o
d_receiver',barrel_id_receiver='$barrel_id_receiver',barrel_t_receiver='$barrel_t_receiver',nominal_t_receiver='$nominal_t_receiver'
,";
$query9
.="trap_height_receiver='$trap_height_receiver',kicker_receiver='$kicker_receiver',balance_pipe_receiver='$balance_pipe_receiver',
reducer_type_receiver='$reducer_type_receiver',angle_receiver='$angle_receiver',pigging_type='$pigging_type',";
$query9
.="cleaning_pigging_recomendation='$cleaning_pigging_recomendation',cleaning_pigging_activity='$cleaning_pigging_activity',dat
e_pigging='$date_pigging',out_come='$out_come',status='Waiting Approve' where id_gl='$id_gl'";
$hasil_mysql9=mysql_query($query9, $koneksi);

$query10="UPDATE gl_pipe_condition_fe set original_gl='$original_gl',location='$location',";


$query10 .="km='$km',anomaly_length='$anomaly_length',pipe_anomaly='$pipe_anomaly',type_coating='$type_coating',";
$query10 .="condition_coating='$condition_coating',status='Waiting Approve' where id_gl='$id_gl'";
$hasil_mysql10=mysql_query($query10, $koneksi);

//$year_of_service= == gl_general
if($year_service <= 1)
{
$year_of_service=0.15*0;
}
elseif ($year_service <= 5)
{
$year_of_service=0.15*1.25;
}
elseif ($year_service <= 10)
{
$year_of_service=0.15*2.5;
}
elseif ($year_service < 16)
{
$year_of_service=0.15*3.75;
}
elseif ($year_service >= 16)
{
$year_of_service=0.15*5;
}
else
{
}
173
//$number_of_leak= gl_corr_risk_data ==> no of leak
if($no_of_leak <= 1)
{
$number_leak=0;
}
else if($no_of_leak <= 5)
{
$number_leak=0.15*1.25;
}
else if($no_of_leak < 10)
{
$number_leak=0.15*2.5;
}
else if($no_of_leak < 16)
{
$number_leak=0.15*3.75;
}
else if($no_of_leak >= 16)
{
$number_leak=0.15*5;
}
else
{
}

//$fluid_characteristic= ==> gl_water_sampling ==> gl_general ==> gl_scaling_tendency


if($sand != 0 || $h2s > 4 || $ph >= 5 || $srb=="1000 < SRB < 10000" || $srb=="SRB >= 10000 /ml" || $actual_maop <
$op_press || $scale_index > 0.5 || $sand=="No Data" || $h2s=="No Data" || $ph=="No Data" || $co2_dissolved=="No Data" ||
$co2_dissolved > 5)
{
$fluid_characteristic=5*0.15;
}
else
{
$fluid_characteristic=0;
}

//$soil_resistivity= ==> gl_ext_corr_protection


if($soil_corrosive=="Very Corrosive" || $soil_corrosive=="No Data")
{
$soil_resistivity=5*0.15;
}
elseif($soil_corrosive=="Corrosive")
{
$soil_resistivity=3.75*0.15;
}
elseif($soil_corrosive=="Moderately Corrosive")
{
$soil_resistivity=2.5*0.15;
}
elseif($soil_corrosive=="Midly Corrosive")
{
$soil_resistivity=1.25*0.15;
}
elseif($soil_corrosive=="Negligible")
{
$soil_resistivity=0*0.15;
}
else
{
$soil_resistivity=0;
}

//$condition_coating=$data3[8];
if($condition_coating=="<5%")
{
$coating=0;
}
elseif($condition_coating=="5%-40%")
{
$coating=2.5*0.1;
}
elseif($condition_coating==">40%" || $condition_coating=="No Data")
{
$coating=5*0.1;
}
else
{
174
}
if($highest_pipe_soil < 850 || $highest_pipe_soil != 0)
{
$cathodic_protection=2.5*0.1;
}
elseif($highest_pipe_soil >= 850)
{
$cathodic_protection=0*0.1;
}
elseif($highest_pipe_soil = 0)
{
$cathodic_protection=5*0.1;
}
else
{
}

//$mechanical_cleaning= ==> gl_pigging_facility


If((empty($cleaning_pigging_activity)) or (empty($cleaning_pigging_recomendation)))
{
$mechanical_cleaning=5*0.1;
}
ElseIf((empty($cleaning_pigging_activity)) && (empty($cleaning_pigging_recomendation)))
{
$mechanical_cleaning=5*0.1;
}
Else
{
If($cleaning_pigging_activity > 0 && $cleaning_pigging_recomendation > 0)
{
If($cleaning_pigging_activity < $cleaning_pigging_recomendation)
{
$mechanical_cleaning=2.5*0.1;
}
ElseIf($cleaning_pigging_activity >= $cleaning_pigging_recomendation &&
$cleaning_pigging_activity!=0 && $cleaning_pigging_recomendation !=0)
{
$mechanical_cleaning=0;
}
ElseIf($cleaning_pigging_activity = 0 && $cleaning_pigging_recomendation != 0)
{
$mechanical_cleaning=5*0.1;
}
}
}

//$corrosion_treatment= ==> gl_chemical_treatment


if ($chemical_treatment_type=="Scale Inhibitor")
{
if ($injection_rate=='0' || $recommendation_injection_rate=='0')
{
$corrosion_treatment=5*0.1;
}
else
{
if ($injection_rate > 0 && $recommendation_injection_rate > 0)
{
if ($injection_rate >= $recommendation_injection_rate && $injection_rate !=0 &&
$recommendation_injection_rate !=0)
{
$corrosion_treatment=0;
}
elseif ($injection_rate < $recommendation_injection_rate)
{
$corrosion_treatment=2.5*0.1;
}
elseif ($injection_rate=0)
{
$corrosion_treatment=5*0.1;
}
}
}
}
else
{
$corrosion_treatment=0;
}

//Faktor PoF
175
$factor_pof=$year_of_service+$number_leak+$coating+$cathodic_protection+$corrosion_treatment+$mechanical_cleaning+$fl
uid_characteristic+$soil_resistivity;

//Category PoF
if($factor_pof <= 1)
{
$category_pof=1;
}
elseif ($factor_pof <= 2)
{
$category_pof=2;
}
elseif ($factor_pof <= 3)
{
$category_pof=3;
}
elseif ($factor_pof <= 4)
{
$category_pof=4;
}
elseif ($factor_pof > 4)
{
$category_pof=5;
}

//$prod_loss= ==> gl_general


$query3 = mysql_query("SELECT bopd FROM gl_general where bopd > 0 ", $koneksi) or die (mysql_error());

while($baris = mysql_fetch_array($query3))
{
$jumlahBOPD=$jumlahBOPD+$baris[0];
}

$aBOPD=0; //0
$bBOPD=0.02*$jumlahBOPD; //2%
$cBOPD=0.05*$jumlahBOPD; //5%
$dBOPD=0.1*$jumlahBOPD; //10%
$eBOPD=0.15*$jumlahBOPD; //15%

if($bopd > 0)
{
$xBOPD=$bopd;
if($xBOPD==0)
{
$prod_loss=0;
}
elseif($xBOPD <= $bBOPD)
{
$prod_loss=0.5*2;
}
elseif($xBOPD <= $cBOPD)
{
$prod_loss=0.5*4;
}
elseif($xBOPD <= $dBOPD)
{
$prod_loss=0.5*6;
}
elseif($xBOPD <= $eBOPD)
{
$prod_loss=0.5*8;
}
elseif($xBOPD > $eBOPD)
{
$prod_loss=0.5*10;
}
}

//$public_image= ==> gl_corr_risk_data

$querymd = mysql_query("SELECT mscfd FROM gl_general where mscfd > 0 ", $koneksi) or die (mysql_error());

while($barismd = mysql_fetch_array($querymd))
{
$jumlahMSCFD=$jumlahMSCFD+$barismd[0];
}

$aMSCFD=0; //0
$bMSCFD=0.02*$jumlahMSCFD; //2%
176
$cMSCFD=0.05*$jumlahMSCFD; //5%
$dMSCFD=0.1*$jumlahMSCFD; //10%
$eMSCFD=0.15*$jumlahMSCFD; //15%

if($mscfd > 0)
{
$xMSCFD=$mscfd;

if($xMSCFD==0)
{
$public_image=0;
}
elseif($xMSCFD <= $bMSCFD)
{

$public_image=0.15*2;
}
elseif($xMSCFD <= $cMSCFD)
{
$public_image=0.15*4;
}
elseif($xMSCFD <= $dMSCFD)
{
$public_image=0.15*6;
}
elseif($xMSCFD <= $eMSCFD)
{
$public_image=0.15*8;
}
elseif($xMSCFD > $eMSCFD)
{
$public_image=0.15*10;
}
}

//$environment_community_impact= ==> gl_corr_risk_data


if($community=="No Impact")
{
$environment_community_impact=0;
}
elseif($community=='Get Impact No Compensation')
{
$environment_community_impact=5*0.2;
}
elseif($community=='Get Impact Pay Compensation' || $community=='No Data')
{
$environment_community_impact=10*0.2;
}

if($contingency_line=='In Place')
{

$pipe_safety=0*0.15;
}
elseif($contingency_line=='Easy to Install')
{

$pipe_safety=5*0.15;
}
elseif($contingency_line=='No Contingency Line'|| $contigency_line=='No Data')
{

$pipe_safety=10*0.15;
}
else
{

$pipe_safety=0;
}
//Faktor CoF
$factor_cof=$prod_loss+$public_image+$pipe_safety+$environment_community_impact;

//Category CoF
if($factor_cof <= 2)
{
$category_cof= "A";
}
elseif($factor_cof <= 4)
{
177
$category_cof= "B";
}
elseif ($factor_cof <= 6)
{
$category_cof= "C";
}
elseif($factor_cof <= 8)
{
$category_cof= "D";
}
elseif($factor_cof > 8)
{
$category_cof= "E";
}

//Risk
if($category_pof=='1' && $category_cof=='A')
{
$risk="low";
}
elseif($category_pof=='2' && $category_cof=='A')
{
$risk="low";
}
elseif($category_pof=='3' && $category_cof=='A')
{
$risk="low";
}
elseif($category_pof=='4' && $category_cof=='A')
{
$risk="middle";
}
elseif($category_pof=='5' && $category_cof=='A')
{
$risk="middle";
}
elseif($category_pof=='1' && $category_cof=='B')
{
$risk="low";
}
elseif($category_pof=='2' && $category_cof=='B')
{
$risk="low";
}
elseif($category_pof=='3' && $category_cof=='B')
{
$risk="middle";
}
elseif($category_pof=='4' && $category_cof=='B')
{
$risk="middle";
}
elseif($category_pof=='5' && $category_cof=='B')
{
$risk="high";
}
elseif($category_pof=='1' && $category_cof=='C')
{
$risk="low";
}
elseif($category_pof=='2' && $category_cof=='C')
{
$risk="middle";
}
elseif($category_pof=='3' && $category_cof=='C')
{
$risk="middle";
}
elseif($category_pof=='4' && $category_cof=='C')
{
$risk="high";
}
elseif($category_pof=='5' && $category_cof=='C')
{
$risk="high";
}
elseif($category_pof=='1' && $category_cof=='D')
{
$risk="low";
178
}
elseif($category_pof=='2' && $category_cof=='D')
{
$risk="middle";
}
elseif($category_pof=='3' && $category_cof=='D')
{
$risk="high";
}
elseif($category_pof=='4' && $category_cof=='D')
{
$risk="high";
}
elseif($category_pof=='5' && $category_cof=='D')
{
$risk="high";
}
elseif($category_pof=='1' && $category_cof=='E')
{
$risk="middle";
}
elseif($category_pof=='2' && $category_cof=='E')
{
$risk="high";
}
elseif($category_pof=='3' && $category_cof=='E')
{
$risk="high";
}
elseif($category_pof=='4' && $category_cof=='E')
{
$risk="high";
}
elseif($category_pof=='5' && $category_cof=='E')
{
$risk="high";
}
$query11="UPDATE gl_fe set status='$status',risk='$risk',data_st='Waiting Approve',pof='$category_pof',cof='$category_cof'
where id_gl='$id_gl'";
$hasil_mysql11=mysql_query($query11, $koneksi);
if($query11)
{
header("Location:map.php");
}
?>
</body>
</html>

17. app_data.php
<html>
<head>
<meta http-equiv=refresh content=5;url=app_data.php>
<style type="text/css">
a:hover,
a:focus { /* we use :focus for keyboard navigation */
z-index: 200 /* bring to top when the mouse is over */
}
a img {
border: none;
-webkit-transition: all .2s; /* in Safari, every animatable property triggers an animation in .2s */
}
a:hover img,
a:focus img {
-webkit-transform: scale(2);
-moz-transform: scale(2);
}
#GreyWhite {
background-color: #FBFBFB;
}
</style>
</head>
<body id="GreyWhite">
<?
include("database.php");
include("session.php");
?>
<center>
179
<br>
<table>
<tr>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="index.php"><img src="../image/home.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align=center>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="logout.php"><img src="../image/logout.png" alt="a"
width="32"></a>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
<tr>
<td align=center>
Home
</td>
<td align=center>
Logout
</td>
</tr>
</table>
<br>
<h3>Waiting Approve Data</h3>
<table border=1 cellpadding=0 cellspacing=0 align="center">
<tr align="center">
<th bgcolor= class=>&nbsp;Pipeline Number&nbsp;</th>
<th bgcolor= class=>&nbsp;Line Type&nbsp;</th>
<th bgcolor= class=>&nbsp;Description&nbsp;</th>
<th bgcolor= class=>&nbsp;Service&nbsp;</th>
<th bgcolor= class=>&nbsp;Status&nbsp;</th>
<th bgcolor= class=>&nbsp;Risk&nbsp;</th>
<th bgcolor=>&nbsp;</th>
<th bgcolor=>&nbsp;</th>
<th bgcolor=>&nbsp;</th>
</tr>
<?
$query = mysql_query("SELECT * FROM gl_general_fe where status='Waiting Approve'");
while($baris = mysql_fetch_array($query))
{
$perintah2="select * from gl_fe where id_gl='$baris[1]'";
$query2=mysql_query($perintah2);
$data2=mysql_fetch_array($query2);
if($i%2)
{
echo "<tr bgcolor=>";
}
else
{
echo "<tr bgcolor=>";
}
echo"
<td><font class=style8>&nbsp;$data2[1]&nbsp;</td>
<td><font class=style8>&nbsp;$data2[2]&nbsp;</td>
<td><font class=style8>&nbsp;$data2[3]&nbsp;</td>
<td><font class=style8>&nbsp;$data2[4]&nbsp;</td>
<td><font class=style8>&nbsp;$data2[5]&nbsp;</td>
<td><font class=style8>&nbsp;
";
if($data2[6]=='low')
{
echo "<b><font color='#66cc00'>$data2[6]</font></b>";
}
elseif($data2[6]=='middle')
{
echo "<b><font color='#eeee00'>$data2[6]</font></b>";
}
else
{
echo "<b><font color='red'>$data2[6]</font></b>";
}
echo " &nbsp;</td>
<td><a href='p_app.php?id_gl=$baris[0]' class=style2><img src=../image/approve.png width=32></a></td>
<td><a href='cancel_data_gl.php?id_gl=$baris[0]' class=style2><img src=../image/cancel.png width=32></a></td>
<td><a href='review.php?id_gl=$baris[0]' class=style2><img src=../image/review.png width=32></a></td>
</tr>";

$i++;
}
echo "</table><br><br>";
180

?>
<br>
<h3>Cancel Approve Data</h3>
<table border=1 cellpadding=0 cellspacing=0 align="center">
<tr align="center">
<th bgcolor= class=>&nbsp;Pipeline Number&nbsp;</th>
<th bgcolor= class=>&nbsp;Line Type&nbsp;</th>
<th bgcolor= class=>&nbsp;Description&nbsp;</th>
<th bgcolor= class=>&nbsp;Service&nbsp;</th>
<th bgcolor= class=>&nbsp;Status&nbsp;</th>
<th bgcolor= class=>&nbsp;Risk&nbsp;</th>
<th bgcolor= class=>&nbsp;Note&nbsp;</th>
</tr>
<?

$query = mysql_query("SELECT * FROM gl_general_fe where status='Cancel'");

while($baris = mysql_fetch_array($query))
{
if($i%2)
{
echo "<tr bgcolor=>";
}
else
{
echo "<tr bgcolor=>";
}

echo"
<td><font class=style8>&nbsp;$baris[1]&nbsp;</td>
<td><font class=style8>&nbsp;$baris[2]&nbsp;</td>
<td><font class=style8>&nbsp;$baris[3]&nbsp;</td>
<td><font class=style8>&nbsp;$baris[4]&nbsp;</td>
<td><font class=style8>&nbsp;$baris[5]&nbsp;</td>
<td><font class=style8>&nbsp;$baris[6]&nbsp;</td>
<td><font class=style8>&nbsp;$baris[8]&nbsp;</td>
</tr>";

$i++;
}
echo "</table><br><br>";
?>
</center>
</body>
</html>

18. cancel_data_gl.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Admin Panel (Proses Edit GL)</title>
<link href="../main.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
include ("database.php");
include "session.php";

$query="UPDATE gl_general_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql=mysql_query($query, $koneksi);

$query2="UPDATE gl_int_corr_mon_dev_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql2=mysql_query($query2, $koneksi);

$query3="UPDATE gl_water_sampling_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql3=mysql_query($query3, $koneksi);

$query4="UPDATE gl_chemical_treatment_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql4=mysql_query($query4, $koneksi);

$query5="UPDATE gl_scaling_tendency_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql5=mysql_query($query5, $koneksi);
181

$query6="UPDATE gl_ext_corr_protection_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql6=mysql_query($query6, $koneksi);

$query7="UPDATE gl_corr_risk_data_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql7=mysql_query($query7, $koneksi);

$query8="UPDATE gl_corr_rate_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql8=mysql_query($query8, $koneksi);

$query9="UPDATE gl_pigging_facility_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql9=mysql_query($query9, $koneksi);

$query10="UPDATE gl_pipe_condition_fe set status='Cancel' where id_gl='$id_gl'";


$hasil_mysql10=mysql_query($query10, $koneksi);

if($query10)
{
header("Location:app_data.php");
}
?>
</body>
</html>

19. risk_ranking.php
<html>
<title>Risk Ranking Statement</title>
<head>
<link href="main.css" rel="stylesheet" type="text/css">
</head>
<body>
<?
include "database.php";
$sesi_gl=$data[gl];
session_start();
session_register('sesi_gl');

$perintah="select * from gl where id_gl='$id_gl'";


$query=mysql_query($perintah);
$data=mysql_fetch_array($query);

$perintah1a="select * from gl_general where id_gl='$id_gl'";


$query1a=mysql_query($perintah1a);
$data1a=mysql_fetch_array($query1a);

$perintah2a="select * from gl_chemical_treatment where id_gl='$id_gl'";


$query2a=mysql_query($perintah2a);
$data2a=mysql_fetch_array($query2a);
?>
<h1>RISK &nbsp; RANKING &nbsp; STATEMENT</h1>
<h2>Production Line Network</h2>
<table border=1 bgcolor=silver align=left width=950>
<tr>
<td>
<table>
<tr>
<td>&nbsp;
</td>
<td width=100>
Evaluation Date
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<? echo date("d-m-Y") ?>
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
182
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width=120>
Line Status
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;

</td>
<td>
<? echo "$data[5]"; ?>

</td>
<td>&nbsp;

</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td>&nbsp;

</td>
<td width=100>
Pipeline ID
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;

</td>
<td width=200>
<? echo "$data[1]"; ?>
</td>
<td>&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
183
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width=120>
Year Service
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data1a[14]";
?>
</td>
<td>
Year
</td>
<td>&nbsp;

</td>
</tr>
<tr>
<td>&nbsp;

</td>
<td width=100>
Description
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;

</td>
<td>
<? echo "$data[3]"; ?>
</td>
<td>&nbsp;

</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
184
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>

<td width=120>
Design Service
</td>
<td>&nbsp;

</td>
<td>
:
</td>
<td>&nbsp;

</td>
<td>
<?
echo "
$data1a[13]";
?>
</td>
<td>&nbsp;

</td>
<td>&nbsp;

</td>
</tr>
<tr>
<td>&nbsp;

</td>
<td width=100>
Fluid From
</td>
<td>&nbsp;

</td>
<td>
:
</td>
<td>&nbsp;

</td>
<td>
<? echo "$data1a[3]"; ?>
</td>
<td>&nbsp;

</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
185
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width=120>
Design Life
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data1a[12]";
?>
</td>
<td>
Year
</td>
<td>&nbsp;
</td>
</tr>
</table>
</td>
</tr>
</table>
<table>
<tr>
<td>
&nbsp;
</td>
</tr>
</table>
<br><br>
<table border=1 bgcolor=silver align=left width=950>
<tr>
<td>
<table>
<tr>
<td>&nbsp;
</td>
<td width=100>
Pipe Grade
</td>
<td>&nbsp;

</td>
<td>
:
</td>
<td>&nbsp;

</td>
<td width=130>
<?
echo "
$data1a[5]";
?>
</td>
<td>&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
186
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width=120>
Design Press
</td>
<td>&nbsp;

</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data1a[9]";
?>
</td>
<td>
Psi
</td>
<td>&nbsp;

</td>
</tr>
<tr>
<td>&nbsp;

</td>
<td width=100>
SMYS
</td>
<td>&nbsp;

</td>
<td>
:
</td>
<td>
&nbsp;
</td>

<td>
<?
echo "
$data1a[8]";
?>
</td>
<td>
Psi
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
187
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
</td>
<td width=120>
Operate Press
</td>
<td>&nbsp;

</td>
<td>
:
</td>
<td>&nbsp;

</td>
<td>
<?
echo "
$data1a[27]";
?>
</td>
<td>
&nbsp;
</td>
<td>
&nbsp;
</td>
</tr>
<tr>
<td>&nbsp;

</td>
<td width=100>
Pipe Size
</td>
<td>&nbsp;

</td>
<td>
:
</td>

<td>&nbsp;

</td>
<td>
<?
echo "
$data1a[4]";
?>
</td>

<td>
Inch
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
188
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>

<td width=120>
Operate Temp
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data1a[26]";
?>
</td>
<td>
Psi
</td>
<td>&nbsp;

</td>
</tr>
<tr>
<td>&nbsp;

</td>
<td width=100>
Nominal WT
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data1a[10]";
?>
</td>
<td>
Inch
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
189
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width=120>
Current Service
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td colspan=2>
<?
echo "
$data1a[15]";
?>
</td>
<td>
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td>&nbsp;
</td>
<td width=100>
Length
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data1a[11]";
?>
</td>
<td>
m
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
190
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width=120>
Chemical Injection
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "$data2a[13]";
?>
</td>
<td>&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td>&nbsp;
</td>
<td width=100>
Line Type
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data[2]";
?>
</td>
<td>&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
191
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td width=120>
Design Temp
</td>
<td>&nbsp;
</td>
<td>
:
</td>
<td>&nbsp;
</td>
<td>
<?
echo "
$data1a[19]";
?>
</td>
<td>
F
</td>
<td>&nbsp;

</td>
</tr>
</table>
</td>
</tr>
</table>
<table>
<tr>
<td>
&nbsp;
</td>
</tr>
</table>
<table>
<tr>
<td>
&nbsp;
</td>
</tr>
</table>
<br><br><br><br><br><br><br>
<br><br><br><br><br><br>
<h5><b>RISK RANKING FOR YEAR</b></h5>
<?
//$year_of_service= == gl_general
$perintah1="select * from gl_general where id_gl='$id_gl'";
$query1=mysql_query($perintah1);
$data1=mysql_fetch_array($query1);

$year_service=$data1[14];
if($year_service==0)
{
$year_of_service=0.15*5;
}
else
{
if($year_service > 0)
{
if($year_service <= 1)
{
$year_of_service=0.15*0;
}
elseif ($year_service <= 5)
{
$year_of_service=0.15*1.25;
}
elseif ($year_service <= 10)
{
192
$year_of_service=0.15*2.5;
}
elseif ($year_service < 16)
{
$year_of_service=0.15*3.75;
}
elseif ($year_service >= 16)
{
$year_of_service=0.15*5;
}
}
else
{
}
}

//$number_of_leak= gl_corr_risk_data ==> no of leak


$perintah2="select * from gl_corr_risk_data where id_gl='$id_gl'";
$query2=mysql_query($perintah2);
$data2=mysql_fetch_array($query2);
$number_of_leak=$data2[5];

if($number_of_leak=0)
{
$number_leak=0.15*5;
}
else
{
if($year_service > 0)
{
if($number_of_leak <= 1)
{
$number_leak=0;
}
else if($number_of_leak <= 5)
{
$number_leak=0.15*1.25;
}
else if($number_of_leak < 10)
{
$number_leak=0.15*2.5;
}
else if($number_of_leak < 16)
{
$number_leak=0.15*3.75;
}
else if($number_of_leak >= 16)
{
$number_leak=0.15*5;
}
}
Else
{
}
}

//$coating= ==> condition coating ==> gl_pipe_condition


$perintah3="select * from gl_pipe_condition where id_gl='$id_gl'";
$query3=mysql_query($perintah3);
$data3=mysql_fetch_array($query3);

$condition_coating=$data3[8];
if($condition_coating=="<5%")
{
$coating=0;
}
elseif($condition_coating=="5%-40%")
{
$coating=2.5*0.1;
}
elseif($condition_coating==">40%" || $condition_coating=="No Data")
{
$coating=5*0.1;
}
else
{
}

//$cathodic_protection= ==> highest pipe to soil potential ==> gl_ext_corr_protection


193
$perintah4="select * from gl_ext_corr_protection where id_gl='$id_gl'";
$query4=mysql_query($perintah4);
$data4=mysql_fetch_array($query4);

$highest_pipe_soil=$data4[13];
if ($highest_pipe_soil==0)
{
$cathodic_protection=5*0.1;
}
else if ($highest_pipe_soil > 0)
{
if ($highest_pipe_soil < 850 && $highest_pipe_soil!= 0)
{
$cathodic_protection=2.5*0.1;
}
else if ($highest_pipe_soil >= 850)
{
$cathodic_protection=0*0.1;
}
else if ($highest_pipe_soil = 0)
{
$cathodic_protection=5*0.1;
}
}

//$corrosion_treatment= ==> gl_chemical_treatment


$perintah5="select * from gl_chemical_treatment where id_gl='$id_gl'";
$query5=mysql_query($perintah5);
$data5=mysql_fetch_array($query5);

$chemical_treatment_type=$data5[2];
$injection_rate=$data5[11];
$recommendation_injection_rate=$data5[12];
if ($chemical_treatment_type=="Scale Inhibitor")
{
if ($injection_rate=='0' or $recommendation_injection_rate=='0')
{
$corrosion_treatment=5*0.1;
}
Else
{
If ($injection_rate > 0 && $recommendation_injection_rate > 0)
{
If ($injection_rate >= $recommendation_injection_rate && $injection_rate !=0 &&
$recommendation_injection_rate !=0)
{
$corrosion_treatment=0;
}
ElseIf ($injection_rate < $recommendation_injection_rate)
{
$corrosion_treatment=2.5*0.1;
}
ElseIf ($injection_rate=0)
{
$corrosion_treatment=5*0.1;
}
}
}
}
else
{
$corrosion_treatment=0;
}

//$mechanical_cleaning= ==> gl_pigging_facility


$perintah14="select * from gl_pigging_facility where id_gl='$id_gl'";
$query14=mysql_query($perintah14);
$data14=mysql_fetch_array($query14);

$cleaning_pigging_activity=$data14[36];
$cleaning_pigging_recomendation=$data14[35];
If((empty($cleaning_pigging_activity)) or (empty($cleaning_pigging_recomendation)))
{
$mechanical_cleaning=5*0.1;
}
ElseIf((empty($cleaning_pigging_activity)) && (empty($cleaning_pigging_recomendation)))
{
$mechanical_cleaning=5*0.1;
}
194
Else
{
If($cleaning_pigging_activity > 0 && $cleaning_pigging_recomendation > 0)
{
If($cleaning_pigging_activity < $cleaning_pigging_recomendation)
{
$mechanical_cleaning=2.5*0.1;
}
ElseIf($cleaning_pigging_activity >= $cleaning_pigging_recomendation &&
$cleaning_pigging_activity!=0 && $cleaning_pigging_recomendation !=0)
{
$mechanical_cleaning=0;
}
ElseIf($cleaning_pigging_activity = 0 && $cleaning_pigging_recomendation != 0)
{
$mechanical_cleaning=5*0.1;
}
}
}

//$fluid_characteristic= ==> gl_water_sampling ==> gl_general ==> gl_scaling_tendency


$perintah16="select sand from gl_water_sampling where id_gl='$id_gl'";
$query16=mysql_query($perintah16);
$sand=mysql_fetch_array($query16);

$perintah17="select h2s from gl_water_sampling where id_gl='$id_gl'";


$query17=mysql_query($perintah17);
$h2s=mysql_fetch_array($query17);

$perintah18="select srb from gl_water_sampling where id_gl='$id_gl'";


$query18=mysql_query($perintah18);
$srb=mysql_fetch_array($query18);

$perintah19="select actual_maop from gl_general where id_gl='$id_gl'";


$query19=mysql_query($perintah19);
$actual_maop=mysql_fetch_array($query19);

$perintah20="select op_press from gl_general where id_gl='$id_gl'";


$query20=mysql_query($perintah20);
$op_press=mysql_fetch_array($query20);

$perintah21="select scale_index from gl_scaling_tendency where id_gl='$id_gl'";


$query21=mysql_query($perintah21);
$scale_index=mysql_fetch_array($query21);

$perintah22="select ph from gl_water_sampling where id_gl='$id_gl'";


$query22=mysql_query($perintah22);
$ph=mysql_fetch_array($query22);

$perintah23="select co2_dissolved from gl_water_sampling where id_gl='$id_gl'";


$query23=mysql_query($perintah23);
$co2=mysql_fetch_array($query23);

if($sand != 0 || $h2s > 4 || $ph >= 5 || $srb=="1000 < SRB < 10000" || $srb=="SRB >= 10000 /ml" || $actual_maop <
$op_press || $scale_index > 0.5 || $sand=="No Data" || $h2s=="No Data" || $ph=="No Data" || $co2_dissolved=="No Data" ||
$co2_dissolved > 5)
{
$fluid_characteristic=5*0.15;
}
else
{
$fluid_characteristic=0;
}

//$soil_resistivity= ==> gl_ext_corr_protection


$perintah24="select soil_corrosive from gl_ext_corr_protection where id_gl='$id_gl'";
$query24=mysql_query($perintah24);
$soil_corrosive=mysql_fetch_array($query24);
if($soil_corrosive=="Very Corrosive" || $soil_corrosive=="No Data")
{
$soil_resistivity=5*0.15;
}
elseif($soil_corrosive=="Corrosive")
{
$soil_resistivity=3.75*0.15;
}
elseif($soil_corrosive=="Moderately Corrosive")
{
$soil_resistivity=2.5*0.15;
195
}
elseif($soil_corrosive=="Midly Corrosive")
{
$soil_resistivity=1.25*0.15;
}
elseif($soil_corrosive=="Negligible")
{
$soil_resistivity=0*0.15;
}

//Faktor PoF
$factor_pof=$year_of_service+$number_leak+$coating+$cathodic_protection+$corrosion_treatment+$mechanical_cleaning+$fl
uid_characteristic+$soil_resistivity;

//Category PoF
if($factor_pof <= 1)
{
$category_pof=1;
}
elseif ($factor_pof <= 2)
{
$category_pof=2;
}
elseif ($factor_pof <= 3)
{
$category_pof=3;
}
elseif ($factor_pof <= 4)
{
$category_pof=4;
}
elseif ($factor_pof > 4)
{
$category_pof=5;
}

//$prod_loss= ==> gl_general


$query3 = mysql_query("SELECT bopd FROM gl_general where bopd > 0 ", $koneksi) or die (mysql_error());
while($baris = mysql_fetch_array($query3))
{
$jumlahBOPD=$jumlahBOPD+$baris[0];
}
$bopd=$data1[26];
$aBOPD=0;
$bBOPD=0.02*$jumlahBOPD;
$cBOPD=0.05*$jumlahBOPD;
$dBOPD=0.1*$jumlahBOPD;
$eBOPD=0.15*$jumlahBOPD;
if($bopd > 0)
{
$xBOPD=$bopd;

if($xBOPD=0)
{
$prod_loss=0;
}
elseif($xBOPD <= $bBOPD)
{
$prod_loss=0.5*2;
}
elseif($xBOPD <= $cBOPD)
{
$prod_loss=0.5*4;
}
elseif($xBOPD <= $dBOPD)
{
$prod_loss=0.5*6;
}
elseif($xBOPD <= $eBOPD)
{
$prod_loss=0.5*8;
}
elseif($xBOPD > $eBOPD)
{
$prod_loss=0.5*10;
}
}
196
//$public_image= ==> gl_corr_risk_data
$perintah28="select * from gl_corr_risk_data where id_gl='$id_gl'";
$query28=mysql_query($perintah28);
$data28=mysql_fetch_array($query28);
$population_density=$data28[4];
if($population_density=="Density > 46" || $population_density=="No Data")
{
$public_image=10*0.15;
}
elseif($population_density=="10 < Density < 46 ")
{
$public_image=5*0.15;
}
elseif($population_density=="Density < 10")
{
$public_image=0*0.15;
}

//$pipe_safety= ==> gl_corr_risk_data


$perintah29="select contingency_line from gl_corr_risk_data where id_gl='$id_gl'";
$query29=mysql_query($perintah28);
$contingency_line=mysql_fetch_array($query29);
if($contingency_line=='In Place')
{
$pipe_safety=0*0.15;
}
elseif($contingency_line=='Easy to Install')
{
$pipe_safety=5*0.15;
}
elseif($contingency_line=='No Continggency Line' || $contigency=='No Data')
{
$pipe_safety=10*0.15;
}
else
{
}

//$environment_community_impact= ==> gl_corr_risk_data


$perintah30="select community from gl_corr_risk_data where id_gl='$id_gl'";
$query30=mysql_query($perintah30);
$community=mysql_fetch_array($query30);

if($community=="No Impact")
{
$environment_community_impact=0;
}
elseif($community=='Get Impact No Compensation')
{
$environment_community_impact=5*0.2;
}
elseif($community=='Get Impact Pay Compensation' || $community=='No Data')
{
$environment_community_impact=10*0.2;
}

//Faktor CoF
$factor_cof=$prod_loss+$public_image+$pipe_safety+$environment_community_impact;

//Category CoF
if($factor_cof <= 2)
{
$category_cof= "A";
}
elseif($factor_cof <= 4)
{
$category_cof= "B";
}
elseif ($factor_cof <= 6)
{
$category_cof= "C";
}
elseif($factor_cof <= 8)
{
$category_cof= "D";
}
elseif($factor_cof > 8)
{
$category_cof= "E";
197
}

//Factor CoF PoF


$factor_cof_pof=$factor_cof+$factor_pof;

//Category CoF PoF


$category_cof_pof=$category_cof+$category_pof;

//Ranking
if($category_pof=='1' && $category_cof=='A')
{
$A1="X";
}
elseif($category_pof=='2' && $category_cof=='A')
{
$A2="X";
}
elseif($category_pof=='3' && $category_cof=='A')
{
$A3="X";
}
elseif($category_pof=='4' && $category_cof=='A')
{
$A4="X";
}
elseif($category_pof=='5' && $category_cof=='A')
{
$A5="X";
}
elseif($category_pof=='1' && $category_cof=='B')
{
$B1="X";
}
elseif($category_pof=='2' && $category_cof=='B')
{
$B2="X";
}
elseif($category_pof=='3' && $category_cof=='B')
{
$B3="X";
}
elseif($category_pof=='4' && $category_cof=='B')
{
$B4="X";
}
elseif($category_pof=='5' && $category_cof=='B')
{
$B5="X";
}
elseif($category_pof=='1' && $category_cof=='C')
{
$C1="X";
}
elseif($category_pof=='2' && $category_cof=='C')
{
$C2="X";
}
elseif($category_pof=='3' && $category_cof=='C')
{
$C3="X";
}
elseif($category_pof=='4' && $category_cof=='C')
{
$C4="X";
}
elseif($category_pof=='5' && $category_cof=='C')
{
$C5="X";
}
elseif($category_pof=='1' && $category_cof=='D')
{
$D1="X";
}
elseif($category_pof=='2' && $category_cof=='D')
{
$D2="X";
}
elseif($category_pof=='3' && $category_cof=='D')
{
198
$D3="X";
}
elseif($category_pof=='4' && $category_cof=='D')
{
$D4="X";
}
elseif($category_pof=='5' && $category_cof=='D')
{
$D5="X";
}
elseif($category_pof=='1' && $category_cof=='E')
{
$E1="X";
}
elseif($category_pof=='2' && $category_cof=='E')
{
$E2="X";
}
elseif($category_pof=='3' && $category_cof=='E')
{
$E3="X";
}
elseif($category_pof=='4' && $category_cof=='E')
{
$E4="X";
}
elseif($category_pof=='5' && $category_cof=='E')
{
$E5="X";
}

include "rumus_risk.php";
?>
<table>
<tr>
<td>
<table border=1>
<tr>
<td>&nbsp;

</td>
<td align=center colspan=8>
&nbsp; <b>*Score</b> &nbsp;
</td>
<td align=middle>
&nbsp; <b>Factor</b> &nbsp;
</td>
<td align=center>
&nbsp; <b>Category</b> &nbsp;
</td>
</tr>
<tr>
<td align=center>
<b>&nbsp; Probability <br> of Failure &nbsp;</b>
</td>
<td align=center bgcolor=#0033FF>
&nbsp; <? echo "$year_of_service"; ?> &nbsp;
</td>
<td align=center bgcolor=#0099FF>
&nbsp; <? echo "$number_leak"; ?> &nbsp;
</td>
<td align=center bgcolor="#CC99FF">
&nbsp; <? echo "$coating"; ?> &nbsp;
</td>
<td align=center bgcolor="#990099">
&nbsp; <? echo "$cathodic_protection"; ?> &nbsp;
</td>
<td align=center bgcolor="#009933">
&nbsp; <? echo "$corrosion_treatment"; ?> &nbsp;

</td>
<td align=center bgcolor=#00FF00>
&nbsp; <? echo "$mechanical_cleaning"; ?> &nbsp;
</td>
<td align=center bgcolor="#00FFFF">
&nbsp; <? echo "$fluid_characteristic"; ?> &nbsp;
</td>
<td align=center bgcolor=#FF00FF>
&nbsp; <? echo "$soil_resistivity"; ?> &nbsp;
199
</td>
<td align=center>
&nbsp; <? echo "$factor_pof"; ?> &nbsp;
</td>
<td align=center>
&nbsp; <? echo "$category_pof"; ?> &nbsp;
</td>
</tr>
<tr>
<td align=center>
<b>&nbsp; Consequence <br>of Failure &nbsp;</b>
</td>

<td align=center colspan=2 bgcolor="#FF6633">


&nbsp; <? echo "$prod_loss"; ?> &nbsp;
</td>
<td align=center colspan=2 bgcolor="#FFCC66">
&nbsp; <? echo "$public_image"; ?> &nbsp;
</td>
<td align=center colspan=2 bgcolor="#FFFF66">
&nbsp; <? echo "$pipe_safety"; ?> &nbsp; </td>
<td align=center colspan=2 bgcolor="#99FF99">
&nbsp; <? echo "$environment_community_impact"; ?> &nbsp;
</td>

<td align=center>
&nbsp; <? echo "$factor_cof"; ?> &nbsp;
</td>
<td align=center>
&nbsp; <? echo "$category_cof"; ?> &nbsp;
</td>
</tr>
<tr>
<td align=center>
<b>&nbsp; Risk <br>CoF * PoF &nbsp;</b>
</td>
<td align=center colspan=8>
</td>

<td align=center>
&nbsp; <? echo "$factor_cof_pof"; ?> &nbsp;
</td>
<td align=center>
&nbsp; <? echo "$category_pof$category_cof"; ?> &nbsp;
</td>
</tr>
</table>
<table>
<tr>
<td bgcolor=#0033FF>
&nbsp;&nbsp;&nbsp;&nbsp; </td>
<td>
Year Service

</td>
<td>
&nbsp;&nbsp;
</td>

<td bgcolor="#990099">
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
Cathodic Protection
</td>
<td>
&nbsp;&nbsp;
</td>

<td bgcolor=#00FFFF>
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
Fluid Characteristic
</td>
<td>
&nbsp;&nbsp;
200
</td>

<td bgcolor=#FFCC66>
&nbsp;&nbsp;&nbsp;&nbsp; </td>
<td>
Public Image
</td>
</tr>
<tr>
<td bgcolor=#0099FF>
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
Number of Leak
</td>
<td>
&nbsp;&nbsp;
</td>

<td bgcolor=#009933>
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
Corrosion Treatment
</td>
<td>
&nbsp;&nbsp;
</td>

<td bgcolor=#FF00FF>
&nbsp;&nbsp;&nbsp;&nbsp; </td>
<td>
Soil Resistivity
</td>
<td>
&nbsp;&nbsp;
</td>

<td bgcolor=#FFFF66>
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
Pipe Safety
</td>
</tr>
<tr>
<td bgcolor="#CC99FF">
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
Coating
</td>
<td>
&nbsp;&nbsp;
</td>

<td bgcolor=#00FF00>
&nbsp;&nbsp;&nbsp;&nbsp; </td>
<td>
Mechanical Cleaning
</td>
<td>
&nbsp;&nbsp;
</td>
<td bgcolor=#FF6633>
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td>
Prod Loss
</td>
<td>
&nbsp;&nbsp;
</td>
<td bgcolor=#99FF99>
&nbsp;&nbsp;&nbsp;&nbsp; </td>
<td>
Environment & Community Impact

</td>
201
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
</td>
</tr>
</table>
</td>
<td>
<table border=1 bordercolor=black>
<tr>
<td rowspan=7 bgcolor=#0099FF>
&nbsp; <font color=white><b>PoF</b></font> &nbsp;
</td>
<td align=right bgcolor=#FFCC66>
&nbsp; <b>5</b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $A5 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $B5 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $C5 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $D5 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $E5 "; ?> </b>
</td>
</tr>
<tr>
<td align=right bgcolor=#FFCC66>
&nbsp; <b>4</b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $A4 "; ?> </b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $B4 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $C4 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $D4 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $E4 "; ?> </b>
</td>
</tr>
<tr>
<td align=right bgcolor=#FFCC66>
&nbsp; <b>3</b>
</td>
<td bgcolor=green align=center>
<b> <? echo " $A3 "; ?> </b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $B3 "; ?> </b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $C3 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo "$D3 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $E3 "; ?> </b>
</td>
</tr>
<tr>
202
<td align=right bgcolor=#FFCC66>
&nbsp; <b>2</b>
</td>
<td bgcolor=green align=center>
<b> <? echo " $A2 "; ?> </b>
</td>
<td bgcolor=green align=center>
<b> <? echo " $B2 "; ?> </b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $C2 "; ?> </b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $D2 "; ?> </b>
</td>
<td bgcolor=red align=center>
<b> <? echo " $E2 "; ?> </b>
</td>
</tr>
<tr>
<td align=right bgcolor=#FFCC66>
&nbsp; <b>1</b>
</td>
<td bgcolor=green align=center>
<b> <? echo " $A1 "; ?> </b>
</td>
<td bgcolor=green align=center>
<b> <? echo " $B1 "; ?> </b>
</td>
<td bgcolor=green align=center>
<b> <? echo " $C1 "; ?> </b>
</td>
<td bgcolor=green align=center>
<b> <? echo " $D1 "; ?> </b>
</td>
<td bgcolor=yellow align=center>
<b> <? echo " $E1 "; ?> </b>
</td>
</tr>
<tr>
<td align=right bgcolor=#FFCC66>&nbsp;

</td>
<td bgcolor=#FFCC66>
&nbsp; <b>A</b> &nbsp;
</td>
<td bgcolor=#FFCC66>
&nbsp; <b>B</b> &nbsp;
</td>
<td bgcolor=#FFCC66>
&nbsp; <b>C</b> &nbsp;
</td>
<td bgcolor=#FFCC66>
&nbsp; <b>D</b> &nbsp;
</td>
<td bgcolor=#FFCC66>
&nbsp; <b>E</b> &nbsp;
</td>
</tr>
<tr>
<td colspan=6 align=center bgcolor=#0099FF>
<font color=white><b>CoF</b></font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<h5><b> CORROSION MATRIK </b></h5>
<table border=1>
<tr align=center>
<td width=220>
&nbsp; <b>CORROSION TASK</b> &nbsp;
</td>
<td width=185>
&nbsp; <b>Corrosion Monitoring</b> &nbsp;
</td>
<td width=120>
203
&nbsp; <b>Data Finding</b> &nbsp;
</td>
<td>
&nbsp; <b>Thereshold</b> &nbsp;
</td>
<td>
&nbsp; <b>Consequence</b> &nbsp;
</td>
<td width=160>
&nbsp; <b>Requirement For</b> &nbsp;
</td>
</tr>
<?
$perintaht="select * from gl_corr_rate where id_gl='$id_gl'";
$queryt=mysql_query($perintaht);
$datat=mysql_fetch_array($queryt);

$perintah2t="select * from gl_scaling_tendency where id_gl='$id_gl'";


$query2t=mysql_query($perintah2t);
$data2t=mysql_fetch_array($query2t);

$perintah3t="select * from gl_water_sampling where id_gl='$id_gl'";


$query3t=mysql_query($perintah3t);
$data3t=mysql_fetch_array($query3t);

$perintah4t="select * from gl_pipe_condition where id_gl='$id_gl'";


$query4t=mysql_query($perintah4t);
$data4t=mysql_fetch_array($query4t);

$perintah5t="select * from gl_ext_corr_protection where id_gl='$id_gl'";


$query5t=mysql_query($perintah5t);
$data5t=mysql_fetch_array($query5t);

$perintah6t="select * from gl_chemical_treatment where id_gl='$id_gl'";


$query6t=mysql_query($perintah6t);
$data6t=mysql_fetch_array($query6t);

if($datat[5] > 0)
{
//$coreRate = CDbl($datat[5])
if($datat[5] > 5)
{
$LossWallTicknes = "Replace Corr. Monitoring Coupon By Probe";
}
elseif($datat[5] <= 5)
{
$LossWallTicknes = "Maintain Corrosion Inhibitor pump and Injection Rate at Current Condition";
}
}
else
{
$LossWallTicknes = "-";
}

if($data2t[13]=="No Tendency")
{
$PluggingWell = "Maintain Scale Inhibitor pump and Injection Rate at Current Condition";
}
elseif($data2t[13]=="Possible" || $data2t[13]=="Severe")
{
$PluggingWell = "Inject Scale Inhibitor at Well head or downhole and Cleaning pipeline such as Mechanical Cleaning pigging";
}

if($data3t[19]=="yes")
{
if($data3t[13]=="0" || $data3t[13]=="SRB <= 10" || $data3t[13]=="10 < SRB < 100" || $data3t[13]=="100 < SRB <1000")
{
$LackMicrobialControl="Maintain Biocide Injection rate at Curent Condition";
}
elseif($data3t[13]=="1000 < SRB < 10000" || $data3t[13]=="SRB >= 10000" || $data3t[13]=="No Data")
{
$LackMicrobialControl="Cleaning pipeline by pigging and inject Biocide";
}
elseif($data3t[13]=="No Data")
{
$LackMicrobialControl="Conduct Sampling analisis dan Install Sampling Point";
}
}
else
204
{
$LackMicrobialControl = "Install Sampling Point";
}

//$ironCount
if($data3t[18] > 0)
{
//$ironCount = CDbl(PLAdvForm.txtIronCount.Value)

if($data3t[18] > 50)


{
$IncreaseIronIndicatePotential="Internal coating is required and Inject corrosion inhibitor at well head or downhole";
}
elseif($data3t[18] <= 50)
{
$IncreaseIronIndicatePotential="Maintain Corrosion Inhibitor Pump and Injection rate at curent condition";
}
}
else
{
$IncreaseIronIndicatePotential="-";
}
//$02
if($data3t[17] > 0)
{
//$O2 = CDbl(PLAdvForm.txtO2.Value)

if($data3t[17] > 50)


{
$DriedGasCorrosion = "Oxigen scavenger treatment required";
}
elseif($data3t[17] <= 50)
{
$DriedGasCorrosion = "Maintain Oxigen scavenger injection rate at current condition";
}
}
else
{
$DriedGasCorrosion="-";
}
//$ScaleIndex
if($data2t[12] > 0)
{
//$ScaleIndex = CDbl(PLAdvForm.txtScaleIndex.Value)

if($data2t[12] <= 0.5)


{
$PluggingWellTubing = "Maintain Scale inhibitor pump and Injection Rate at Current Condition";
}
elseif($data2t[12] > 0.5)
{
$PluggingWellTubing = "Inject Scale Inhibitor at Well head or downhole Cleaning pipeline such as Mechanical Cleaning
pigging";
}
}
else
{
$PluggingWellTubing="-";
}
//condition_coating
if($data4t[8]==">40%")
{
$InitiateExtCorrCoating = "Refurbish coating condition";
$InitiateExtCorrPipeDefect = "Refurbish coating condition";
}
else
{
$InitiateExtCorrCoating = " Repair at location where coating is damage";
$InitiateExtCorrPipeDefect = " Repair at location where coating is damage";
}
//$highest_pipe_soil
if($data5t[13]=="")
{
$PotentialIncreaseCorrPipeSoil = "Install cathodic protection";
$InitiateExtCorrPipeSoil = "Install cathodic protection";
}
else
{
if($data5t[13] < 750)
205
{
$InitiateExtCorrPipeSoil = "Install cathodic protection";
$PotentialIncreaseCorrPipeSoil = "Install cathodic protection";
}
elseif($data5t[13] >= 750 & $data5t[13] <= 900)
{
$InitiateExtCorrPipeSoil = "Refurbish Cathodic protection";
$PotentialIncreaseCorrPipeSoil = "Refurbish Cathodic protection";
}
else
{
$InitiateExtCorrPipeSoil = "Maintain Cathodic Protection";
$PotentialIncreaseCorrPipeSoil = "Maintain Cathodic Protection";
}
}
$pic=$data6t[11]/$data6t[12];

if($data6t[13]=="yes")
{
//chemical_treatment_type
if($data6t[2]=="N/A")
{
//$coreRate = CDbl($datat[5])
if($datat[3] > 0)
{
if($datat[3] > 5)
{
$PotentialIncreaseCorrCI = "Replace Corr. Monitoring Coupon By Probe";
}
elseif($datat[3] <= 5)
{
$PotentialIncreaseCorrCI = "Maintain Corrosion Inhibitor pump and Injection Rate at Current Condition";
}
}
//$tendency=$data2t[16]
if($data2t[13]=="No Tendency")
{
$PotentialScaleWellTubing = "Maintain Scale Inhibitor pump and Injection Rate at Current Condition";
}
elseif($data2t[13]=="Possible" || $data2t[13]=="Severe")
{
$PotentialScaleWellTubing = "Inject Scale Inhibitor at Well head or downhole and Cleaning pipeline such as
Mechanical Cleaning pigging";
}
}
elseif($data6t[2]=="Corr.Inhibitor")
{
if($data6t[2] = "Corr.Inhibitor")
{
$CorrosionInhibitorInjection = $data6t[11];
$ScaleInhibitorInjection = $data6t[11];

if($pic <= 0.85)


{
$PotentialIncreaseCorrCI = "Maintain Injection dossage at " & $data6t[12] & " ppm ";
$PotentialScaleWellTubing = "Maintain Injection dossage at " & $data6t[12] & " ppm ";
}
elseif($pic > 0.85)
{
$PotentialIncreaseCorrCI = "Keep Maintain at Current dossage " & $data6t[12] & " ppm ";
$PotentialScaleWellTubing = "Keep Maintain at Current dossage " & $data6t[12] & " ppm ";
}
else
{
}
}
}
else
{
$CorrosionInhibitorInjection = "No";
$ScaleInhibitorInjection = "No";
$PotentialIncreaseCorrCI = "No";
$PotentialScaleWellTubing = "No";
}
}
else
{
if($datat[3] > 0)
{
206
//$coreRate = CDbl($datat[5]);

if($datat[3] > 5)
{
$PotentialIncreaseCorrCI = "Inject Corrosion Inhibitor";
}
elseif($datat[3] <= 5)
{
$PotentialIncreaseCorrCI = "Maintain at Current Condition";
}
}
else
{
$PotentialIncreaseCorrCI = "-";
}

if($data2t[13]=="No Tendency")
{
$PotentialScaleWellTubing = "Maintain at Current Condition";
}
elseif($data2t[13]=="Possible" || $data2t[13]=="Severe")
{
$PotentialScaleWellTubing = "Inject Scale Inhibitor";
}
else
{
$PotentialScaleWellTubing = "-";
}

$CorrosionInhibitorInjection = $data6t[11];
$ScaleInhibitorInjection = $data6t[11];
}
?>
<tr align=center>
<td rowspan=8>
&nbsp; <b>CORROSION &nbsp; <br>
&nbsp; MONITORING</b> &nbsp;
</td>
<td height=70>
&nbsp; Weight Coupon &nbsp;
</td>
<td height=70>
<font color=blue>&nbsp; <? echo "$datat[5]"; ?> &nbsp; </font>
</td>
<td height=70>
&nbsp; Corr. Rate > 5 Mpy &nbsp;
</td>
<td height=70>
&nbsp; Loss Wall Thickness &nbsp;
</td>
<td height=70 align=left>
<font color=blue> <? echo "$LossWallTicknes"; ?> &nbsp;
</td>
</tr>
<tr align=center>

<td height=70>
&nbsp; Scale Coupon &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$data2t[13]"; ?> &nbsp;</font>
</td>
<td>
&nbsp; Scaling Indication &nbsp;
</td>
<td>
&nbsp; Plugging Well &nbsp;
</td>
<td align=left>
<font color=blue><? echo "$PluggingWell"; ?> &nbsp;</font>
</td>
</tr>
<tr align=center>

<td height=70>
&nbsp; SRB Sampling &nbsp;
</td>
<td>
207
<font color=blue>&nbsp; <? echo "$data3t[13]"; ?> &nbsp;</font>
</td>
<td>
&nbsp; Planktonic < 1000 ml &nbsp;
</td>
<td>
&nbsp; Lack of Microbial Control &nbsp;
</td>
<td align=left>
<font color=blue><? echo "$LackMicrobialControl"; ?> &nbsp;</font>
</td>
</tr>
<tr align=center>
<td height=70>
&nbsp; Iron Counts Sampling &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$data3t[18]"; ?> &nbsp;</font>
</td>
<td>
&nbsp; Fe < 50 ppm &nbsp;
</td>
<td width=200>
&nbsp; Any Increase in Iron content
would indicate potential
internal corr.
&nbsp;
</td>
<td align=left>
<font color=blue> <? echo "$IncreaseIronIndicatePotential"; ?> &nbsp;</font>
</td>
</tr>
<tr align=center>
<td height=70>
&nbsp; O2 Dissolve Monitoring &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$data3t[17]"; ?> &nbsp;
</td>
<td>
&nbsp; O2 < 50 ppb &nbsp;
</td>
<td>
&nbsp; Dried gas hence no
corrosion threat
&nbsp;
</td>
<td align=left>
<font color=blue> <? echo "$DriedGasCorrosion"; ?> &nbsp;
</td>
</tr>
<tr align=center>
<td height=70>
&nbsp; Sampling For Scale Index
Calculation
&nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$data2t[12]"; ?> &nbsp;
</td>
<td>
&nbsp; 0.5 < SI < 1 &nbsp;
</td>
<td>
&nbsp; Plugging Well tubing &nbsp;
</td>
<td align=left>
<font color=blue><? echo "$PluggingWellTubing"; ?> &nbsp;
</td>
</tr>
<tr align=center>

<td height=70>
&nbsp; Coating Inspection &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$data4t[8]"; ?> &nbsp;
</td>
<td>
208
&nbsp; Coating damage > 40 % &nbsp;
</td>
<td>
&nbsp; Initiate external corrosion &nbsp;
</td>
<td align=left>
<font color=blue><? echo "$InitiateExtCorrCoating"; ?> &nbsp;
</td>
</tr>
<tr align=center>
<td height=70>
&nbsp; CP Potential Reading &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$data5t[13]"; ?> &nbsp;
</td>
<td width=190>
&nbsp; Pipe to Soil potential > -850
mV vs Cu/CuSO4
&nbsp;
</td>
<td>
&nbsp; Initiate external corrosion &nbsp;
</td>
<td align=left>
<font color=blue><? echo "$InitiateExtCorrPipeSoil"; ?> &nbsp;
</td>
</tr>
<tr align=center>
<td rowspan=4>
&nbsp; <b>CORROSION CONTROL /&nbsp; <br>
&nbsp; RECOMENDATION</b> &nbsp;
</td>
<td height=70>
&nbsp; Corrosion Inhibitor Injection &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$CorrosionInhibitorInjection"; ?> &nbsp;
</td>
<td height=70>
&nbsp; Maintain Cl Pump &
Avabiality > 85 %
Performance
&nbsp;
</td>
<td>
&nbsp; Potential of Increase
Corrosion Rate
&nbsp;
</td>
<td align=left>
<font color=blue> <? echo "$PotentialIncreaseCorrCI"; ?> &nbsp;
</td>
</tr>
<tr align=center>
<td height=70>
&nbsp; Scale Inhibitor Injection &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$ScaleInhibitorInjection"; ?> &nbsp;
</td>
<td>
&nbsp; Maintain CL Pump &
Avabiality > 85 %
Performance
&nbsp;
</td>
<td>
&nbsp; Potential of Scale Formation
at Well tubing
&nbsp;
</td>
<td align=left>
<font color=blue><? echo "$PotentialScaleWellTubing"; ?> &nbsp;
</td>
</tr>
<tr align=center>
<td height=70>
&nbsp; Coating Refurbishment &nbsp;
209
</td>
<td>
<font color=blue>&nbsp; <? echo "$data4t[8]"; ?> &nbsp;
</td>
<td>
&nbsp; No Significant pipe defect &nbsp;
</td>
<td>
&nbsp; Initiate external corrosion &nbsp;
</td>
<td align=left>
<font color=blue><? echo "$InitiateExtCorrPipeDefect"; ?> &nbsp;
</td>
</tr>
<tr align=center>
<td height=70>
&nbsp; CP Upgrading &nbsp;
</td>
<td>
<font color=blue>&nbsp; <? echo "$data5t[13]"; ?> &nbsp;
</td>
<td>
&nbsp; Pipe to Soil petential > -850
mV vs Cu/CuSO4
&nbsp;
</td>
<td>
&nbsp; Potential of Increase
Corrosion Rate
&nbsp;
</td>
<td align=left>
<font color=blue><? echo "$PotentialIncreaseCorrPipeSoil"; ?> &nbsp;
</td>
</tr>
</table>
<br>
<center>

<a href=index.php><img src=../image/home.png width=64></a>&nbsp;&nbsp;


<a href=map.php><img src=../image/map.png width=64></a>&nbsp;&nbsp;
<a href=report_risk.php?id_gl=<? echo $data[0] ?>><img src=../image/pdf.png width=64></a>&nbsp;&nbsp;
</center>
</body>
</html>
LAMPIRAN F

DOKUMEN-DOKUMEN

Komponen-komponen Korosi

Komponen-komponen korosi, yaitu:

a. General

General adalah data desain umum suatu pipa minyak. Desain tersebut dibuat oleh

para enggineer sesuai fungsi yang diinginkan dari suatu pipa minyak. Data-data

desain pipa diantaranya: pipe size, schedule, year built, flange rating, design

temperature, pipe grade, length, PSV setting, design factor, design pressure, design

life, BOPD, dan BWPD. Dari data-data tersebut didapat BFPD, SMYS, nominal

wallthickness, remaining life, actual MAOP, year service, calculated MAOP.

Year Service

Year Service = Year Now – Year Built

BFPD

BFPD = BOPD + BWPD

SMYS

Jika Pipe Grade = API 5L Grade B, maka


SMYS = 35000

Dan jika Pipe Grade = API 5L X42, maka


SMYS = 42000

210
211

Nominal WT (Wall Thickness)

Pipe Size Schedule Nominal WT


2 40 0.154
80 0.218
2.5 40 0.203
80 0.276
3 40 0.216
80 0.3
3.5 40 0.226
80 0.318
4 40 0.237
80 0.337
5 40 0.258
80 0.375
6 40 0.28
80 0.432
8 40 0.322
80 0.5
10 40 0.365
80 0.593
12 40 0.406
80 0.687

Remaining Life

mawt = (OpPress * Pipe Size)


(2 * SMYS * Design Factor) + OpPress

remainingLife = (WTRemaining – mawt) * 1000


CorrRate

Actual MAOP

Jika PSV Setting (psi) < Flange Rating (psi), maka


Actual MAOP = PSV Setting (psi)

Dan jika PSV Setting > Flange Rating (psi) atau PSV Setting (psi) kosong maka
Actual MAOP = Flange Rating (psi)
212

Calculated MAOP

Jika A < = 4 , maka

Dan jika A > 4 , maka

b. Internal Corrosion Monitoring Device

Data internal corrosion monitoring device adalah data laju korosi yang di dapat

dengan menggunakan beberapa alat yang ditempatkan di dalam pipa. Alat-alat yang

digunakan adalah coupon dan probe, data-data yang dipergunakan adalah fitting

size, access fitting type, fitting manufacture, condition, coupon type, holder length,

installation date coupon, retrieving date, probe type, probe element, probe length,

probe span, probe ID, installation date probe, coupon ID A, initial weight coupon

A, final weight coupon A, color coupon A, coupon ID B, initial weight coupon B,

final weight coupon B, color coupon B,. Dari data-data tersebut di dapat coupon

surface area, density, corrosion rate.


213

Coupon Surface Area dan Density

Jika coupon type = Strip Coupon 1 Inch maka


Coupon Surface Area = 3.4
Density = 7.85
Dan jika coupon type = Strip Coupon 2 Inch maka
Coupon Surface Area = 5.2
Density = 7.85
Dan jika coupon type = Flush Disc Coupon maka
Coupon Surface Area = 2.5
Density = 7.85

Corrosion Rate

Jika (Final Weight Coupon A - Initial weight Coupon A) > (Final Weight Coupon B -
Initial weight Coupon B) , maka
Δ Weight = Final Weight Coupon A - Initial Weight Coupon A
Jika Tidak
Δ Weight = Final Weight Coupon B - Initial Weight Coupon B

Δ Date = (Retrieving Date Coupon - Instalation Date Coupon) ( day )

Corr.Rate = Δ Weight * 22300 .


Δ Date * Density * Coupon Surface Area

c. Water Sampling

Data water sampling adalah data yang didapat dari keadaan air disekitar pipa

minyak. Data-data yang didapat dari water sampling sebagai berikut temperature,

pH, sand, H2S, CO2 dissolved, SRB, Mn, residual amine, residual phosphate,

residual sulfit, alkalinity, CL-, sulfate, O2 dissolved, iron count.

d. Chemical Treatment

Data chemical treatment adalah data chemical treatment yang digunakan pada suatu

pipa minyak. Data-data chemical treatment diantaranya chemical treatment type,

condition, nos, access fitting type, device manufacture, injection tube, operation
214

condition, treatment method, brand, injection rate, dan recommendation injection

rate.

e. Scaling Tendency

Data scaling tendency adalah data scaling tendency yang digunakan pada suatu pipa

minyak. Data-data scaling tendency diantaranya access fitting size, access fitting

type, fitting manufacture, condition, plug manufacture, coupon type, holder length,

installation date, retrieving date, scale index, dan scale growth. Dari data-data

tersebut didapat tendency.

Tendency

Jika 0 < Scale Index < 1 maka


Tendency = Possible
Dan jika Scale Index >= 1 maka
Tendency = Severe
Dan jika Scale Index <= 0 maka
Tendency = No Tendency

f. External Corrosion Protection

External corrosion protection adalah sistem perlindungan korosi dari luar pipa

minyak. Data-data external corrosion protection diantaranya type cathodic

protection, anode weight, anode type, nos anode, year installed, design life, current

output, test point nos, insulation flange, highest pipe to soil potential, lowest pipe to

soil potential, lowest soil resistivity, dari data-data tersebut didapat soil

corrosiveness category.
215

Soil Corrosiveness Category

Jika Lowest Soil Resistivity < 500 (ohm cm) maka


Soil Corrosivenes Category = Very Corrosive
Dan Jika 500 (ohm cm) <= Lowest Soil Resistivity < 1000 (ohm cm)
Soil Corrosivenes Category = Corrosive
Dan Jika 1000 (ohm cm) <= Lowest Soil Resistivity < 2000 (ohm cm)
Soil Corrosivenes Category = Moderately Corrosive
Dan Jika 2000 (ohm cm) <= Lowest Soil Resistivity < 10000 (ohm cm)
Soil Corrosivenes Category = Midly Corrosive
Dan Jika Lowest Soil Resistivity >= 10000 (ohm cm)
Soil Corrosivenes Category = Negligible

g. Corrosion Risk Data

Corrosion risk data adalah data-data yang menggambarkan resiko yang dapat

ditimbulkan akibat korosi baik bagi lingkungan ataupun manusia. Data-data

tersebut diantaranya contingency line, community / environment impact if pipeline

leaking, population density, no of leak, date, remedial action, location.

h. Corrosion Rate

Corrosion rate adalah data-data yang memperlihatkan tingkatan korosi pada suatu

pipa minyak. Data-data yang digunakan diantaranya retrieving date coupon,

corrosion rate coupon, interrogated date probe, corrosion rate probe, date previous

wall thickness (wt) inspection, previous wt remaining, defect length max, date

current inspection, current wt remaining, current corrosion rate. Dari data-data

corrosion rate ini di dapat Wall Thickness (WT) Lost.

WT Lost

WT Lost (Inch) = Nominal WT – WT Remaining


216

i. Pigging Facility

Pigging facility adalah desain fasilitas pigging yang digunakan pada pipa minyak.

Pigging digunakan untuk membersihkan bagian dalam pipa dari kotoran-kotoran

ataupun material-material yang terbawa pada saat minyak mengalir pada pipa

tersebut. Data-data yang terdapat pada pigging facility diantaranya barrel length

launcher, nominal length launcher, reducer length launcher, bridle to 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 OD

launcher, barrel length receiver, nominal length receiver, reducer length receiver,

bridle to door receiver, valve body width receiver, access length receiver, access

width receiver, barrel OD receiver, barrel ID receiver, barrel t receiver, nominal t

receiver, barrel OD receiver, pigging type, out come.

j. Pipe Condition

Pipe condition adalah data yang didapat dari pengamatan pada kondisi pipa. Data-

data pipe condition diantaranya original gathering line placement, location, KM,

anomaly length, pipe anomaly, type coating, condition coating.

Anda mungkin juga menyukai