Anda di halaman 1dari 21

46

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 801986.
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

47
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.

48
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 :

49
procedure TFormTA1.BitBtnOKClick(Sender: TObject);
begin
try
Nama := 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;
except
on EConvertError do
Application.MessageBox ('Terjadi Kesalahan Input','Warning !',MB_OK);
end;
Adapun blok doagram untuk form ini dapat dilihat pada Gambar 4.3. di
bawah ini :
Masukkan Data Gardu Induk
Vsis, Iga, ts, tc, Ztra, Zsal, , s,
Parea, Larea

Benar
?

Tidak

Message dialog

Ya

Selesai

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

50
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

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

52
Kt := 0.00378;
Rth := 5.862;
Ko := 245;
TCAP := 3.846;
end;
if ComboBoxTipe.Text = 'Aluminum Clad Steel Core Wire (20%)'
then
begin
Tn := 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);
begin
Iga := 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+((TmTn)/(Ko+Tn)))));
AminGrid := AminGrid1*0.6;
Edit4.Text := floattostrf (AminGrid,ffgeneral,4,4);
end;
procedure TFormTA2.ButtonLuasMinRodClick(Sender: TObject);
begin
Iga := 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;
AminRod := Iga*sqrt(((tc*Kt*Rth*10000)/(TCAP))/(ln(1+((TmTn)/(Ko+Tn)))));

53
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 codenya dapat dilihat dibawah ini. Adapun blok diagram untuk form ini dapat dilihat
pada Gambar 4.5.
procedure TFormTA2.ComboBoxAgridChange(Sender: TObject);
begin
ButtonLuasMinGridClick (Sender);
Agrid := strtofloat (ComboBoxAgrid.Text);
if Agrid < AminGrid then
Application.MessageBox ('Luas Penampang Konduktor Grid Kurang
Besar','Warning ! !',
mb_OK);
end;
Jenis Konduktor

Hitung Luas Minimum Penampang


Konduktor

Tidak

Amin < Aps

Message Dialog

Ya

Luas Penampang Konduktor


yang Digunakan

Gambar 4.5. Flowchart Perencanaan Konduktor Pentanahan


4.5.

Tampilan Hasil Perhitungan

54
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);
begin
Parea := 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);
begin
Agrid := strtofloat (FormTA2.ComboBoxGrid.Text);
Dgrid := (sqrt ((4*Agrid)/3.142857143));
Edit24.Text := floattostrf (Dgrid,ffgeneral,6,6);
Edit25.Text := floattostrf (Agrid,ffgeneral,6,6);

55
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);
begin
Lrod
:= 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);
begin
Arod := 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


3. Konstanta Konduktor

56
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);
begin
LuasArea (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);
begin
rho
:= 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;
procedure TFormTA3.ResistansiGround(Sender: TObject);

57
begin
Rgrid := 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);
begin
Parea := 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);
begin
Parea := 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);

58
KonstI := 0.656+(0.172*nu);
Edit12.Text := floattostrf (KonstI,ffgeneral,5,5);
end;
procedure TFormTA3.TegSentuhAk(Sender: TObject);
begin
rho
:= 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);
begin
Parea := 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);
begin
KonstI := 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;

59
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);
begin
Vsis := 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);
begin
Ira := 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);
begin
rho := 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)));

60
Edit20.Text := floattostrf (Cs,ffgeneral,5,5);
end;
procedure TFormTA3.BatasTeg(Sender: TObject);
begin
ts := 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);
begin
if (Esak<Esaman) and (Elak<Elaman) then
MessageDlg('GARDU INDUK AMAN',mtInformation,[mbOK],0);
if (Esak<Esaman) and (Elak>Elaman) then

61
begin
FormWarning.showmodal;
end;
if (Esak>Esaman) and (Elak<Elaman) then
begin
FormWarning.showmodal;
end;
if (Esak>Esaman) and (Elak>Elaman) then
begin
FormWarning.showmodal;
end;
end;

3. Biaya Sistem Pentanahan


Perhitungan yang dilakukan adalah untuk mencari biaya total
diperlukan, apabila harga satuan dan harga pemasangan dari masingmasing konduktor diketahui. Perhitungan ini dapat dilihat pada source
code di bawah ini :
if FormTA2.RadioButtonGridRod.Checked = true then
begin
Hargrid := 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;

62
Adapun flowchart dari form Hasil Perhitungan ini dapat dilihat pada
Gambar 4.8.
Masukkan Data
Data Gardu Induk
Data Perencanaan Elektroda

Design Ulang

Batas Aman Tegangan Sentuh dan


Tegangan Langkah

Hitung Resistansi Ground

Hitung Arus Ground

Hitung Tegangan Sentuh dan


Langkah Aktual

Tidak

Es(ak) < Es
Ya
Tidak

El(ak) < El
Ya

Simpan dan Cetak

Gambar 4.8. Flowchart Hasil Perhitungan

63
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

64
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);
var
mag:real;
xmesh,ymesh,YUjungx, YUjungy, ytemp, xtemp :integer;
index,x : byte;
coX1, coY1, coZ1, coX2, coY2, coZ2, dx, dy, max : integer;
begin
with image1.Canvas do
begin
moveto(10,80);
lineto(565,80);
textout(560,80,'+x');
textout(10,80,'-x');
pen.Style := psDot;

65
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 do
begin
pen.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 do
begin
moveto(240 + round(x*dx/mag),80);
lineto(YUjungX + round(x*dx/mag),YUjungY);
end;
for x:=1 to ymesh do
begin
xtemp:= 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;

66