BAB IV(Skripsi)

26
BAB IV PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK 4.1. Umum Proses perancangan dan pembuatan perangkat lunak ini bertujuan untuk mempermudah penyusunan langkah- langkah perencanaan sistem pentanahan gardu induk. Adapun proses perancangan dan pembuatan perangkat lunak ini menggunakan Borland Delphi 5.0. Diagram alur (flowchart) yang digunakan dalam pembuatan perangkat lunak ini, sesuai dengan pedoman IEEE Standard 80-1986. 4.2. Tampilan Judul Tampilan judul ini memiliki tiga buah menu, yaitu Program, Help dan Exit. Menu Program ini memiliki empat buah submenu, yaitu : 1. Data Gardu Induk Submenu ini digunakan untuk membuka form Data Gardu Induk, yang berisi data-data gardu induk yang akan dirancang sistem pentanahannya. 2. Perencanaan Elektroda Submenu ini digunakan untuk membuka form Perencanaan Elektroda Pentanahan, yang data-data mengenai elektroda yang akan dipergunakan dalam perencanaan sistem pentanahan. 46

description

BAB IV

Transcript of BAB IV(Skripsi)

BAB IV

PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK

4.1. Umum

Proses perancangan dan pembuatan perangkat lunak ini bertujuan untuk

mempermudah penyusunan langkah-langkah perencanaan sistem pentanahan

gardu induk. Adapun proses perancangan dan pembuatan perangkat lunak ini

menggunakan Borland Delphi 5.0. Diagram alur (flowchart) yang digunakan

dalam pembuatan perangkat lunak ini, sesuai dengan pedoman IEEE Standard 80-

1986.

4.2. Tampilan Judul

Tampilan judul ini memiliki tiga buah menu, yaitu Program, Help dan

Exit. Menu Program ini memiliki empat buah submenu, yaitu :

1. Data Gardu Induk

Submenu ini digunakan untuk membuka form Data Gardu Induk, yang

berisi data-data gardu induk yang akan dirancang sistem pentanahannya.

2. Perencanaan Elektroda

Submenu ini digunakan untuk membuka form Perencanaan Elektroda

Pentanahan, yang data-data mengenai elektroda yang akan dipergunakan

dalam perencanaan sistem pentanahan.

3. Hasil Perhitungan

Submenu ini digunakan untuk membuka form Hasil Perhitungan, yang

akan menampilkan hasil pengolahan data oleh komputer.

4. Gambar Konduktor

Submenu ini digunakan untuk membuka form Desain Konduktor, yang

akan menampilkan visualisasi gambar yang telah direncanakan.

Menu Help, berisi satu submenu Help, yang berfungsi untuk membuka

form Help, apabila mengalami kesulitan dalam pengisian data. Sedangkan menu

46

Exit berisi submenu exit, yang berfungsi untuk keluar dari program ini. Tampilan

form Judul ini, dapat dilihat pada Gambar 4.1.

Gambar 4.1. Tampilan form Judul

4.3. Tampilan Data Gardu Induk

Form Data Gardu Induk ini berisi data-data mengenai gardu induk yang

akan direncanakan sistem pentanahannya. Form ini memiliki tiga buah menu,

yaitu Program, File dan Exit. Menu Program dan Exit memiliki fungsi yang sama

seperti yang terdapat pada form Judul. Sedangkan untuk menu File terdiri dari

beberapa submenu, yaitu :

1. Save

Submenu ini digunakan untuk menyimpan data-data yang telah diisikan

pada form.

2. Load

Submenu ini digunakan untuk membuka data yang telah disimpan dalam

file.

3. Print

Submenu ini digunakan untuk mencetak data-data yang telah diisikan pada

form.

47

Disamping itu, pada form ini terdapat beberapa tombol yang berfungsi

sebagai berikut :

1. Tombol OK

Digunakan untuk proses inisialisasi data yang telah diisikan ke form.

Apabila terjadi kesalahan dalam pengisian data, maka akan muncul

peringatan message dialog.

2. Tombol Clear

Digunakan untuk proses pengulangan dalam mengisi data.

3. Tombol Back

Digunakan untuk membuka kembali form sebelumnya.

4. Tombol Help

Digunakan untuk memanggil form Help.

Gambar 4.2. Tampilan form Data Gardu Induk

Data-data yang ada dalam form ini antara lain berisi tentang nama proyek,

tegangan sistem, arus gangguan, waktu gangguan, impedansi, luas daerah, tahanan

jenis tanah dan data crushed rock. Inisialisasi data dapat dilihat pada source code

berikut ini :

48

procedure TFormTA1.BitBtnOKClick(Sender: TObject);begintryNama := String (Edit1.Text);Vsis := StrToFloat (Edit2.Text);Iga := StrToFloat (Edit3.Text);ts := StrToFloat (Edit5.Text);tc := StrToFloat (Edit6.Text);Ztra := StrToFloat (Edit7.Text);rho := StrToFloat (Edit8.Text);rhos := StrToFloat (Edit9.Text);hs := StrToFloat (Edit10.Text);Parea := StrToFloat (Edit11.Text);Larea := StrToFloat (Edit12.Text);Zsal := StrToFloat (Edit13.Text);formTA1.hide;formTA2.show;excepton EConvertError doApplication.MessageBox ('Terjadi Kesalahan Input','Warning !',MB_OK);end;

Adapun blok doagram untuk form ini dapat dilihat pada Gambar 4.3. di

bawah ini :

Gambar 4.3. Flowchart Data Gardu Induk

4.4. Tampilan Perencanaan Konduktor Pentanahan

Form Perencanaan Konduktor Pentanahan ini berisi data-data mengenai

konduktor yang akan dipergunakan dalam sistem pentanahan. Ini dapat dilihat

49

Masukkan Data Gardu Induk

Vsis, Iga, ts, tc, Ztra, Zsal, , s,Parea, Larea

Benar ?

Message dialog

Selesai

Ya

Tidak

pada Gambar 4.4. Pada form ini terdapat tiga buah menu yang memiliki fungsi

yang sama seperti pada form Data Gardu Induk.

Gambar 4.4. Tampilan form Konduktor Pentanahan

Pada form ini disajikan tiga buah pilihan jenis sistem pentanahan yang

digunakan dalam perencanaan konduktor, yaitu sistem pentanahan rod, grid dan

kombinasi grid-rod. Setelah memilih jenis sistem pentanahan, maka dilakukan

pengisian data pada kotak data yang kosong. Masing-masing jenis sistem

pentanahan memiliki data yang berbeda-beda. Pengisian data ini terdiri dari

beberapa tahap, yaitu :

1. Pemilihan jenis konduktor

Pemilihan jenis konduktor ini mempengaruhi nilai dari konstanta

bahan yang berbeda-beda. Hal ini dapat dilihat pada Bab III di Tabel 3.1.

Ini berlaku untuk masing-masing jenis konduktor rod maupun konduktor

grid. Pemilihan jenis konduktor ini memiliki source code sebagai berikut :

procedure TFormTA2.ComboBoxTipeChange(Sender: TObject);begin

50

if ComboBoxTipe.Text = 'Standard Annealed Soft Copper Wire (100%)' thenbeginTn := 30;Kt := 0.00393;Rth := 1.7241;Ko := 234;TCAP := 3.42;end;if ComboBoxTipe.Text = 'Commercial Hard Drawn Copper Wire (97%)' thenbeginTn := 30;Kt := 0.00381;Rth := 1.7774;Ko := 242;TCAP := 3.422;end;if ComboBoxTipe.Text = 'Commercial EC Aluminum Wire (61%)' thenbeginTn := 30;Kt := 0.00403;Rth := 2.862;Ko := 228;TCAP := 2.556;end;if ComboBoxTipe.Text = 'Aluminum Alloy Wire (53%)' thenbeginTn := 30;Kt := 0.00353;Rth := 3.2226;Ko := 263;TCAP := 2.598;end;if ComboBoxTipe.Text = 'Copper Clad Steel Core Wire (40%)' thenbeginTn := 30;Kt := 0.00378;Rth := 4.397;Ko := 245;TCAP := 3.846;end;if ComboBoxTipe.Text = 'Copper Clad Steel Core Wire (30%)' then

51

beginTn := 30;Kt := 0.00378;Rth := 5.862;Ko := 245;TCAP := 3.846;end;if ComboBoxTipe.Text = 'Aluminum Clad Steel Core Wire (20%)' thenbeginTn := 30;Kt := 0.00360;Rth := 8.4805;Ko := 258;TCAP := 2.670;end;end;

2. Ukuran Luas Penampang Minimum Konduktor

Ukuran luas penampang minimum konduktor dapat ditentukan

setelah mengetahui jenis konduktor yang akan digunakan. Perhitungan

luas penampang ini berlaku untuk konduktor rod maupun untuk konduktor

grid. Perhitungannya dapat dilihat pada source code dibawah ini :

procedure TFormTA2.ButtonLuasMinGridClick(Sender: TObject);beginIga := StrToFloat (FormTA1.Edit3.Text);tc := StrToFloat (FormTA1.Edit6.Text);tipe := String (ComboBoxTipe.Text);If RadioButtonLas.Checked then Tm := 450;If RadioButtonBaut.Checked then Tm := 250;AminGrid1 := Iga*sqrt(((tc*Kt*Rth*10000)/(TCAP))/(ln(1+((Tm-Tn)/(Ko+Tn)))));AminGrid := AminGrid1*0.6;Edit4.Text := floattostrf (AminGrid,ffgeneral,4,4);end;

procedure TFormTA2.ButtonLuasMinRodClick(Sender: TObject);beginIga := StrToFloat (FormTA1.Edit3.Text);tc := StrToFloat (FormTA1.Edit6.Text);tipe := String (ComboBoxTipe.Text);If RadioButtonLas.Checked then Tm := 450;If RadioButtonBaut.Checked then Tm := 250;

52

AminRod := Iga*sqrt(((tc*Kt*Rth*10000)/(TCAP))/(ln(1+((Tm-Tn)/(Ko+Tn)))));Edit5.Text := floattostrf (AminRod,ffgeneral,4,4);end;

Setelah mengetahui jenis konduktor dan luas penampang minimum, maka

selanjutnya dapat memilih luas penampang yang telah ada dipasaran. Apabila

terjadi kesalahan dalam pemilihan, maka akan muncul peringatan. Source code-

nya dapat dilihat dibawah ini. Adapun blok diagram untuk form ini dapat dilihat

pada Gambar 4.5.

procedure TFormTA2.ComboBoxAgridChange(Sender: TObject);beginButtonLuasMinGridClick (Sender);Agrid := strtofloat (ComboBoxAgrid.Text);if Agrid < AminGrid thenApplication.MessageBox ('Luas Penampang Konduktor Grid Kurang Besar','Warning ! !',mb_OK);end;

Gambar 4.5. Flowchart Perencanaan Konduktor Pentanahan

53

Jenis Konduktor

Hitung Luas Minimum Penampang Konduktor

Amin < Aps Message Dialog

Luas Penampang Konduktor yang Digunakan

Tidak

Ya

4.5. Tampilan Hasil Perhitungan

Tampilan hasil perhitungan ini berisi hasil-hasil perhitungan yang telah

diproses oleh komputer. Form Hasil Perhitungan ini terdiri dari tiga buah page

control yang berbeda-beda. Ini digunakan untuk mempermudah pengamatan hasil

perhitungan. Form ini memiliki beberapa menu dan tombol yang memiliki fungsi

yang sama seperti pada form-form sebelumnya. Tampilan hasil perhitungan ini

tergantung dari jenis sistem pentanahan yang dipilih. Sebagai contoh, disini

ditampilkan jenis sistem pentanahan kombinasi grid-rod yang telah mencakup

semua jenis.

4.5.1. Tampilan Page Control Konduktor yang Digunakan

Tampilan ini berisi data-data mengenai konduktor yang telah dipilih

berdasarkan jenis sistem pentanahan. Ini dapat dilihat pada Gambar 4.6.

Konduktor ini terdiri dari dua jenis, yaitu :

1. Konduktor Grid

Perhitungan yang dilakukan adalah untuk mencari nilai dari

diameter dan panjang konduktor grid. Perhitungan ini dapat dilihat pada

source code di bawah ini :

procedure TFormTA3.PanjangGrid(Sender: TObject);beginParea := StrToFloat (FormTA1.Edit11.Text);Larea := StrToFloat (FormTA1.Edit12.Text);Pmesh := StrToFloat (FormTA2.Edit2.Text);Lmesh := StrToFloat (FormTA2.Edit3.Text);P1 := ((Parea/Pmesh))+1;P2 := ((Larea/Lmesh))+1;Panjgrid:=(((Pmesh*(round(P1)-1))*Round(P1)))+(((Lmesh*(round(P2)-1))*Round(P2)));Edit1.Text := floattostrf (Panjgrid,ffgeneral,6,6);end;

procedure TFormTA3.DiameterGrid(Sender: TObject);beginAgrid := strtofloat (FormTA2.ComboBoxGrid.Text);Dgrid := (sqrt ((4*Agrid)/3.142857143));Edit24.Text := floattostrf (Dgrid,ffgeneral,6,6);

54

Edit25.Text := floattostrf (Agrid,ffgeneral,6,6);end;

2. Konduktor Rod

Perhitungan yang dilakukan adalah untuk mencari nilai dari

diameter dan panjang konduktor rod. Perhitungan ini dapat dilihat pada

source code di bawah ini :

procedure TFormTA3.PanjangRod(Sender: TObject);beginLrod := StrToFloat (FormTA2.Edit7.Text);Nrod := StrToInt (FormTA2.Edit8.Text);Panjrod := Nrod*Lrod;Edit2.Text := floattostrf (Panjrod,ffgeneral,5,5);end;

procedure TFormTA3.DiameterRod(Sender: TObject);beginArod := StrToFloat (FormTA2.ComboBoxArod.Text);Drod := (sqrt ((4*Arod)/3.142857143));Edit26.Text := floattostrf (Drod,ffgeneral,6,6);Edit27.Text := floattostrf (Arod,ffgeneral,6,6);end;

Gambar 4.6. Tampilan page control Konduktor Yang Dipergunakan

55

3. Konstanta Konduktor

Ini menampilkan konstanta dari bahan yang telah dipilih sebagai

elektroda pentanahan. Nilai dari konstanta ini tergantung dari tipe

konduktor yang dipilih.

4.5.2. Tampilan Page Control Kondisi Sebenarnya

Tampilan ini berisi hasil perhitungan resistansi ground, arus ground dan

tegangan sebenarnya yang timbul berdasarkan data-data elektroda yang telah

dipilih sebagai elektroda pentanahan.

Tampilan ini terdiri dari beberapa bagian, yaitu :

1. Resistansi

Perhitungan ini dilakukan untuk menentukan nilai resistansi dari

konduktor grid, konduktor rod dan resistansi ground. Perhitungan ini

dapat dilihat pada source code di bawah ini :

procedure TFormTA3.ResistansiGrid(Sender: TObject);beginLuasArea (Sender);PanjangGrid (Sender);rho := StrToFloat (FormTA1.Edit8.Text);Agrid := StrToFloat (FormTA2.ComboBox2.Text);h := StrToFloat (FormTA2.Edit1.Text);Dgrid := (sqrt ((4*Agrid)/3.142857143))/1000;KonsA := sqrt ((Dgrid*h));Rgrid := (rho/(3.142857143*Panjgrid))*((ln((2*Panjgrid)/KonsA))+((1.2*Panjgrid)/(sqrt(LuasA)))-5);Edit3.Text := floattostrf (Rgrid,ffgeneral,5,5);end;

procedure TFormTA3.ResistansiRod(Sender: TObject);beginrho := StrToFloat (FormTA1.Edit8.Text);Lrod := StrToFloat (FormTA2.Edit7.Text);Nrod := StrToInt (FormTA2.Edit8.Text);Drod := StrToFloat (FormTA2.ComboBox3.Text);Drod1 := Drod/1000;Rrod := (rho/(2*3.142857143*Nrod*Lrod))*((ln((8*Lrod)/Drod1)-1)+(((2*1.2*Lrod)/sqrt(LuasA))*((sqr(sqrt(Nrod)-1)))));Edit4.Text := floattostrf (Rrod,ffgeneral,5,5);end;

56

procedure TFormTA3.ResistansiGround(Sender: TObject);beginRgrid := StrToFloat (Edit3.Text);Rrod := StrToFloat (Edit4.Text);Rkomb := StrToFloat (Edit5.Text);Rgro := (((Rgrid*Rrod)-(sqr(Rkomb)))/((Rgrid+Rrod)(2*Rkomb)));Edit6.Text := floattostrf (Rgro,ffgeneral,5,5);end;

2. Tegangan Sentuh Aktual

Perhitungan ini dilakukan untuk mencari nilai dari konstanta dan

tegangan sentuh aktual berdasarkan data-data dari konduktor yang

digunakan. Besarnya tegangan sentuh ini berbeda-beda, tergantung dari

jenis sistem pentanahannya. Contoh perhitungannya dapat dilihat pada

source code di bawah ini :

procedure TFormTA3.KonstantaM(Sender: TObject);beginParea := StrToFloat (FormTA1.Edit11.Text);Larea := StrToFloat (FormTA1.Edit12.Text);Pmesh := StrToFloat (FormTA2.Edit2.Text);Lmesh := StrToFloat (FormTA2.Edit3.Text);P1 := ((Parea/Pmesh))+1;P2 := ((Larea/Lmesh))+1;Agrid := strtofloat (FormTA2.ComboBoxAgrid.Text);Dgrid := (sqrt ((4*Agrid)/3.142857143))/1000;h := StrToFloat (FormTA2.Edit1.Text);nu := sqrt(P1*P2);KonstM := (1/(2*3.142857143))*((ln((sqr(Lmesh)/(16*h*Dgrid))+((sqr(Lmesh+(2*h)))/(8*Lmesh*Dgrid))-(h/(4*Dgrid)))+((1/Kh)*(ln(8/(3.142857143*((2*nu)-1)))))));Edit8.Text := floattostrf (KonstM,ffgeneral,5,5);end;

procedure TFormTA3.KonstantaI(Sender: TObject);beginParea := StrToFloat (FormTA1.Edit11.Text);Larea := StrToFloat (FormTA1.Edit12.Text);Pmesh := StrToFloat (FormTA2.Edit2.Text);Lmesh := StrToFloat (FormTA2.Edit3.Text);P1 := ((Parea/Pmesh))+1;P2 := ((Larea/Lmesh))+1;nu := sqrt(P1*P2);

57

KonstI := 0.656+(0.172*nu);Edit12.Text := floattostrf (KonstI,ffgeneral,5,5);end;

procedure TFormTA3.TegSentuhAk(Sender: TObject);beginrho := StrToFloat (FormTA1.Edit8.Text);KonstM := strtofloat (Edit8.Text);Konst I := strtofloat (Edit12.Text);Ltot := strtofloat (Edit13.Text);Igro := strtofloat (Edit7.Text);Esak := KonstM*KonstI*rho*Igro/Ltot;Edit9.Text := floattostrf (Esak,ffgeneral,5,5);end;

3. Tegangan Langkah Aktual

Perhitungan ini dilakukan untuk mencari nilai dari tegangan

langkah aktual dan parameter-parameter lain yang mempengaruhinya.

Perhitungan ini dapat dilihat pada source code di bawah ini :

procedure TFormTA3.KonstantaS(Sender: TObject);beginParea := StrToFloat (FormTA1.Edit11.Text);Larea := StrToFloat (FormTA1.Edit12.Text);Pmesh := StrToFloat (FormTA2.Edit2.Text);Lmesh := StrToFloat (FormTA2.Edit3.Text);P1 := ((Parea/Pmesh))+1;P2 := ((Larea/Lmesh))+1;nu := sqrt(P1*P2);h := StrToFloat (FormTA2.Edit1.Text);KonstS := (1/3.142857143)*((1/(2*h))+(1/(Lmesh+h))+((1/Lmesh)*(1-(exp(ln(0.5)*(nu-2))))));Edit11.Text := floattostrf (KonstS,ffgeneral,5,5);end;

procedure TFormTA3.TegLangkahAk(Sender: TObject);beginKonstI := strtofloat (Edit12.Text);KonstS := strtofloat (Edit11.Text);Ltot := strtofloat (Edit13.Text);Igro := strtofloat (Edit7.Text);rho := StrToFloat (FormTA1.Edit8.Text);Elak := KonstS*KonstI*rho*Igro/Ltot;Edit10.Text := floattostrf (Elak,ffgeneral,5,5);end;

58

4. Arus Ground

Perhitungan ini dilakukan untuk mencari nilai dari arus ground

yang sebenarnya berdasarkan data-data gardu induk dan elektroda yang

digunakan. Perhitungan ini dapat dilihat pada source code di bawah ini :

procedure TFormTA3.ArusRangk(Sender: TObject);beginVsis := StrToFloat (FormTA1.Edit2.Text);Zsumb := StrToFloat (Edit22.Text);Ira := (Vsis*1000)/(sqrt(3)*Zsumb);Edit23.Text := floattostrf (Ira,ffgeneral,5,5);end;

procedure TFormTA3.ArusGround(Sender: TObject);beginIra := StrToFloat (Edit23.Text);Rgro := StrToFloat (Edit6.Text);Zsal := StrToFloat (FormTA1.Edit13.Text);Igro := 0.7*Ira*(Zsal/(Zsal+Rgro));Edit7.Text := floattostrf (Igro,ffgeneral,5,5);end;

4.5.3. Tampilan Page Control Batas Keamanan Gardu Induk

Tampilan ini berisi hasil perhitungan batas aman tegangan yang tidak

boleh dilampaui oleh kondisi sebenarnya dari konduktor pentanahan. Ini dapat

dilihat pada Gambar 4.7. Tampilan ini terdiri dari beberapa bagian, yaitu :

1. Kriteria Tegangan Sentuh dan Tegangan Langkah

Perhitungan ini dilakukan untuk mencari nilai dari kriteria batas

aman tegangan sentuh dan tegangan langkah dan parameter lain yang

mempengaruhinya berdasarkan data-data dari kondisi lingkungan di

sekitar gardu induk Perhitungan ini dapat dilihat pada source code di

bawah ini :

procedure TFormTA3.KonstantaCs(Sender: TObject);beginrho := StrToFloat (FormTA1.Edit8.Text);rhos := StrToFloat (FormTA1.Edit9.Text);hs := StrToFloat (FormTA1.Edit10.Text);Cs := 1-(0.106*((1-(rho/rhos))/((2*hs)+0.106)));

59

Edit20.Text := floattostrf (Cs,ffgeneral,5,5);end;

procedure TFormTA3.BatasTeg(Sender: TObject);begints := StrToFloat (FormTA1.Edit5.Text);Esaman := ((1000+(1.5*Cs*rhos))*0.116)/sqrt(ts);Elaman := ((1000+(6*Cs*rhos))*0.116)/sqrt(ts);Edit18.Text := floattostrf (Esaman,ffgeneral,5,5);Edit19.Text := floattostrf (Elaman,ffgeneral,5,5);end;

Gambar 4.7. Tampilan page control Batas Keamanan Gardu Induk

2. Keterangan Gardu Induk

Tombol ini berfungsi sebagai indikator untuk mengetahui apakah

kondisi gardu induk dalam keadaan aman atau tidak. Apabila gardu induk

dalam keadaan tidak aman, maka terdapat pilihan untuk mengisi ulang

data. Perintah ini dapat dilihat pada source code di bawah ini :

procedure TFormTA3.ButtonKeteranganClick(Sender: TObject);beginif (Esak<Esaman) and (Elak<Elaman) thenMessageDlg('GARDU INDUK AMAN',mtInformation,[mbOK],0);if (Esak<Esaman) and (Elak>Elaman) then

60

beginFormWarning.showmodal;end;if (Esak>Esaman) and (Elak<Elaman) thenbeginFormWarning.showmodal;end;if (Esak>Esaman) and (Elak>Elaman) thenbeginFormWarning.showmodal;end;end;

3. Biaya Sistem Pentanahan

Perhitungan yang dilakukan adalah untuk mencari biaya total

diperlukan, apabila harga satuan dan harga pemasangan dari masing-

masing konduktor diketahui. Perhitungan ini dapat dilihat pada source

code di bawah ini :

if FormTA2.RadioButtonGridRod.Checked = true thenbeginHargrid := StrTofloat (FormTA3.Edit30.Text);Harrod := StrTofloat (FormTA3.Edit31.Text);Panjgrid := StrToFloat (FormTA3.Edit1.Text);Panjrod := StrToFloat (FormTA3.Edit2.Text);Pasgrid := StrToFloat (FormTA3.Edit5.Text);Pasrod := StrToFloat (FormTA3.Edit33.Text);Pasangrod := Pasrod * Panjrod;Pasanggrid := Pasgrid * Panjgrid;Gridtot := Hargrid * Panjgrid;Rodtot := Harrod * Panjrod;Biayatotal := Gridtot + Rodtot + Pasangrod + Pasanggrid;Edit33.Text := floattostrf (Biayatotal,ffgeneral,15,5);end;end;

61

Gambar 4.8. Flowchart Hasil Perhitungan

Adapun flowchart dari form Hasil Perhitungan ini dapat dilihat pada

Gambar 4.8.

62

Masukkan Data

Data Gardu IndukData Perencanaan Elektroda

Hitung Resistansi Ground

Batas Aman Tegangan Sentuh dan Tegangan Langkah

Hitung Arus Ground

Hitung Tegangan Sentuh dan Langkah Aktual

Es(ak) < Es

El(ak) < El

Simpan dan Cetak

Design Ulang

Ya

Ya

Tidak

Tidak

4.6. Tampilan Desain Konduktor

Tampilan desain konduktor ini berisi visualisasi gambar dari konduktor

yang telah direncanakan. Tampilan desain konduktor ini tergantung dari jenis

sistem pentanahan yang dipilih. Sebagai contoh, disini ditampilkan jenis sistem

pentanahan kombinasi grid-rod yang telah mencakup semua jenis.

Pada Form Desain Konduktor terdapat suatu canvas yang digunakan untuk

menggambar konduktor. Pada canvas terdapat gambar sumbu x, y dan z, yang

merupakan suatu koordinat tiga dimensi. Untuk konduktor grid, gambar akan

ditampilkan secara otomatis sesuai dengan data perencanaan konduktor.

Sedangkan untuk konduktor rod, memerlukan suatu koordinat untuk menentukan

letak dan panjangnya. Data dari koordinat ini diisikan pada tabel dibawahnya.

Tampilan ini dapat dilihat pada Gambar 4.9.

Form Desain Konduktor ini memiliki beberapa menu dan tombol yang

memiliki fungsi yang sama seperti pada form-form sebelumnya. Disamping itu,

ada beberapa tombol lain yang memiliki fungsi sebagai berikut :

1. Tombol Draw Grid

Tombol ini berfungsi untuk menggambar konduktor grid pada canvas.

Gambar yang muncul sesuai dengan data perencanaan konduktor yang

telah dimasukkan.

2. Tombol Clear Grid

Tombol ini berfungsi untuk menghapus gambar konduktor grid pada

canvas.

3. Tombol Draw Rod

Tombol ini berfungsi untuk menggambar konduktor rod pada canvas.

Gambar yang muncul sesuai dengan data perencanaan konduktor yang

telah dimasukkan.

4. Tombol Clear Rod

Tombol ini berfungsi untuk menghapus gambar konduktor grid pada

canvas.

5. Tombol Rotate

63

Tombol ini berfungsi untuk memutar gambar sesuai dengan besarnya

sudut yang tercantum.

6. Tombol Close

Tombol ini berfungsi untuk mengakhiri program.

Gambar 4.9. Tampilan form Desain Konduktor

Contoh source code untuk proses penggambaran konduktor grid dapat

dilihat dibawah ini :

procedure TFormGambar.ButtonDrawGridClick(Sender: TObject);varmag:real;xmesh,ymesh,YUjungx, YUjungy, ytemp, xtemp :integer;index,x : byte;coX1, coY1, coZ1, coX2, coY2, coZ2, dx, dy, max : integer;beginwith image1.Canvas dobeginmoveto(10,80);lineto(565,80);textout(560,80,'+x');textout(10,80,'-x');pen.Style := psDot;

64

pen.Color := clRed;font.color := clRed;moveto(240,10);lineto(240,340);textout(240,10,'+z');textout(240,335,'-z');pen.Style := psDot;pen.Color := clRed;font.color := clRed;moveto(240,80);lineto(240+proyeksiX(90),80-proyeksiY(90));moveto(240,80);lineto(240-proyeksiX(310),80+proyeksiY(310));textout(240+proyeksiX(90),80-proyeksiY(90),'-y');textout(240-proyeksiX(310),80+proyeksiY(310),'+y');end;dx:=strToint(Edit7.Text);dy:=strtoint(edit8.text);If dx>dy then max:=dx else max:=dy;mag:=max/300;with Image1.Canvas dobeginpen.Style := psSolid;pen.color := clBlack;MoveTo(240,80);LineTo(240 + round(strtoInt(edit7.Text)/mag),80);MoveTo(240,80);YUjungX:=240-proyeksix(round(strtoint(edit8.text)/mag));YUjungy:=80+proyeksiy(round(strtoint(edit8.text)/mag));Lineto(YUjungX,YUjungY);dx:= strtoint(edit1.text);dy:= strtoint(edit2.text);xmesh:= strtoint(edit7.Text) div dx;ymesh:= strtoint(edit8.Text) div dy;for x:=1 to xmesh dobeginmoveto(240 + round(x*dx/mag),80);lineto(YUjungX + round(x*dx/mag),YUjungY);end;for x:=1 to ymesh dobeginxtemp:= 240 - proyeksix(round(x*dy/mag));ytemp:= 80 + proyeksiy(round(x*dy/mag));moveto(xtemp,ytemp);lineto(xtemp+ round(strtoint(edit7.text)/mag),ytemp)end;

65

66