You are on page 1of 29

LOAD FLOW

berbasis
METODA GAUSS-SEIDEL

1. Persamaan Jaringan

Persamaan yang menggambarkan kerja jaringan sistem daya yang menggunakan


kerangka bus referensi, dalam bentuk impedansi adalah :
V Bus = Z Bus I Bus
atau dalam bentuk admitansi adalah :
I Bus = Y Bus V Bus
Apabila bus pentanahan termasuk dalam jaringan, elemen – elemen matriks
Impedansi bus dan admitansi bus akan memasukkan efek elemen – elemen yang
terpasang pararel ke tanah seperti kapasitor dan reaktor statis, line charging, dan elemen
pararel pada persamaan transformator, dimana bus pentanahan dipilih sebagai titik
referensi. Tegangan bus pada jaringan menghasilkan persamaan yang diukur terhadap
tanah.
Dan jika bus pentanahan tidak termasuk dalam jaringan, elemen – elemen matriks
tidak menyertakan efek elemen yang terpasang pararel dan salah satu bus yang ada dalam
jaringan harus dipilih sebagai titik referensi. Dalam hal ini, efek elemen – elemen yang
pararel dianggap sebagai sumber arus dalam bus – bus dalam jaringan, dan tegangan bus
dalam persamaan diukur terhadap bus referensi yang dipilih.

2. Persamaan pembebanan pada bus

Daya aktif dan reakif pada suatu bus i adalah :


Pi – JQi = ViI*i 1

Dan arus adalah :


Pi − jQi
Ii = 2
Vi *
subtitusi dari persamaan diatas :
Pi − jQi n n

Vi *
=
Vi ∑
j= 0
yij ∑

j= 1
yij V j j≠
i 3

karena penyelesaian matematika studi aliran daya merupakan persamaan aljabar nonlinier
maka penyelesaiannya menggunakan metode iterasi

3. Studi aliran daya Metode Gauss Seidel

Dalam kajian tentang aliran daya, penting untuk memecahkan seperangkat


persamaan non linear yang direpresentasikan dengan persamaan (3) untuk dua variabel
yang tidak diketahui pada masing-masing node/simpul. Dalam metode Gaus Seidel (3)
diselesaikan untuk Vi dan rangkaian iterasinya menjadi.
Pi sch − jQisch
*( k )
+ ∑ yijV j( k )
Vi (4)
Vi ( k +1) = j≠i
∑ yij

Dimana yij yang diperlihatkan dalam huruf lowercase (bagian bawah) merupakan
sebuah admitansi per unit. Pisch dan Qisch merupakan daya aktif dan daya reaktif yang
dijelaskan per unit. Dalam menulis garis KCL, arus memasuki bus i diasumsikan
positif. Demikian pula, untuk bus dimana daya ril dan daya reaktif diinjeksikan ke
dalam bus, seperti bus generator, Pisch dan Qisch mempunyai nilai-nilai positif. Untuk
memuat bus dimana daya reaktif dan daya ril mengalir jauh dari bus, Pisch dan Qisch
mempunyai nilai negatif. Jika (2.3) dipecahkan untuk Pisch dan Qisch, kita mempunyai.
 n n 
Pi ( k +1) = ℜ Vi*( k ) [i( k ) ∑ yij − ∑ yijV j( k ) ] j≠i (5)
 j= 0 j= 0 

 n n 
Qi( k +1) = −ℑ Vi*( k ) [i( k ) ∑ yij − ∑ yijV j( k ) ] j≠i (6)
 j= 0 j=0 
Persamaan aliran daya biasanya dijelaskan dalam istilah unsur-unsur matriks
admittance/entri bus. Karena unsur-unsur off-diagonal admitansi matriks bus Ybus,

2
diperlihatkan dengan huruf-huruf uppercase, yakni Yij = - Yij, dan unsur-unsur diagonal
adalah Yij = ∑ Yij, (2.4) menjadi

Pi 6 ch − jQisch
+∑ j ≠i yijV j( k )
Vi *( k ) (7)
Vi ( k +1) =
Yii
dan
 
 n

Pi(k + 1) = ℜ  Vi*(k )[Vi(k )Yi i∑ yi Vj j(k )  j≠ i (8)
 j= 0 
 j≠ i 

 
 n

Qi(k + 1) = − ℑ Vi*( k ) [Vi( k )Yi i ∑ yijV j(k )  j≠ i (9)
 j= 0 
 j≠ i 

Yij meliputi admitansi ke tanah charging susceptance dan admitansi yang lain.
Yang cocok terhadap tanah. Sebuah model yang dipresentasikan untuk
mentransformasikan kandungan rasio nominal-off, yang meliputi efek tap setting
transformator.
Karena kedua komponen tegangan ditetapkan untuk slack bus, ada persamaan
2(n-1) yang harus dipecahkan oleh metode iterasi. Di bawah kondisi operasi normal,
besarnya tegangan bus yang berada di sekitar 1.0 per unit atau dekat dengan besarnya
tegangan slack bus. Besarnya tegangan beban bus agaknya lebih rendah daripada nilai
slack bus, tergantung pada keperluan daya reaktif, dimana tegangan yang dijadwalkan
pada generator bus agak tinggi. serta, sudut fasa bus beban berada di bawah referensi
sudut sesuai dengan permintaan daya ril, sedangkan sudut fasa generator bus mungkin
berada diatas nilai referensi tergantung pada jumlah daya ril yang mengalir ke dalam
bus. Demikianlah untuk metode Gaus-Seidel, estimasi awal tegangan dari 1,0 + j0,0
untuk tegangan yang tidak diketahui memuaskan, dan solusi yang konvergensikan
berkorelasi dengan catatan operasi aktual.
Untuk bus P-Q, daya real dan reaktif Pisch dan Qisch diketahui. Diawali dengan
sebuah estimasi awal, (7) dipecahkan untuk komponen tegangan yang ril dan imajiner.
Untuk tegangan-berkontrol bus (P-V buses) dimana Pisch dan [VI] ditetapkan, pertama (9)
dipecahkan untuk Q(k+1), dan kemudian digunakan dalam (7) untuk memecahkan Vi(k+1),

3
namun demikian karena [VI] ditetapkan, hanya bagian imajiner dari Vi(k+1) ditahan, dan
bagian ril dipilih agar memuaskan.
2
( i( k +1) ) 2 + (f i( k +1) ) 2 = Vi (10)
atau

e i( k +1) = Vi
2
−(f i( k +1) ) 2 (11)

( k +1) ( k +1)
di mana i dan f i merupakan komponen ril dan imajiner tegangan VI(k+1)

dalam rangkaian iteratif.


Tingkat konvergensi ditingkatkan dengan menerapkan faktor kecepatan
terhadap solusi yang kurang lebih dihasilkan dari masing-masing iterasi.

Vi( k +1) = V1
2
(f i( k +1) ) 2 (12)

Dimana α adalah faktor kecepatan. Nilainya tergantung pada sistem. Tingkat 1,3
hingga 1,7 ditemukan memuaskan untuk sistem-sistem khusus.
Tegangan yang diperbaharui langsung menggantikan nilai sebelumnya dalam solusi
persamaan berikutnya. Proses dilanjutkan sampai perubahan-perubahan dalam
komponen ril dan imajiner tegangan bus itearsi berturut-turut berada dalam akurasi
yang ditetapkan, misalnya.,

e (ik+ 1) − e (ik ) ≤ e
(13)
f i(k+ 1) − f i(k ) ≤ e

Untuk daya yang tidak sebanding yang selayaknya kecil dan dapat diterima,
sangat sedikit toleransi yang harus ditetapkan pada kedua komponen tegangan. Sebuah
tegangan yang secara akurat berada pada tingkat 0,00001 hingga 0,00005 pu
memuaskan. Praktisnya, metode untuk menentukan penyelesaian sebuah solusi
berdasarkan indeks akurasi yang dipasang pada daya yang tak sebanding. Iterasi

4
berlanjut sampai besarnya elemen yang paling luas dalam kolom ∆ P dan ∆ Q kurang
dari nilai yang ditetapkan. Sebuah akurasi daya yang tidak sebanding adalah 0,001 pu.
Sekali solusi dikonvergensikan, jaringan daya ril dan reaktif pada slack bus
dihitung dari (8) dan (9).

4. Aliran Daya dan Rugi-Rugi Jaringan

Setelah selesai menyelesaiakan iterasi untuk tegangan tiap-tiap bus, maka langkah
selanjutnya adalah menghitung aliran daya dan rugi-rugi pada jaringan. Jika kita anggap
sebuah jaringan yang menghubungkan dua bus i dan j. Maka arus yang mengalir Iij, arus
yang terukur pada bus i bernilai positif jika ia mengalir ke arah bus j.
i ⇒ j diperoleh dari
Iij = Il + Ii0 = yij(Vi-Vj)+yi0VI (14)
Begitu pula jika sebaliknya j ⇒ i diperoleh dari
Iji = -Il + Ij0 = yji(Vj-Vi)+yj0Vj (15)
Daya compleks Sij dari bus I ke bus j dan Sji dari bus j ke bus I adalah :
Sij = ViI*ij (16)
Sji = VjI*ij (17)
Dari persamaan diatas diperoleh
SLij = Sij + Sji (18)

5
5. Flowchart

START

Basemva = 100
Accuracy = 0,001
Accel = 1,8
Maxiter = 100

Baca busdata
Baca linedata

Membentuk Branch Admitansi

Membuat matrix ber elemen nol

Membentuk off diagonal elemen matrix Ybus

Membentuk diagonal elemen matrix Ybus

Mulai Counter
Untuk iterasi

Menghitung tegangan Bus i

B A

6
B A

Menghitung daya aktif pada bus i

Menghitung daya reaktif pada bus i

Tidak
Menguji
konvergensi

Ya
Cetak Voltage magnitude dan
sudutnya, daya aktif dan daya
reaktif dari generator dan beban,
shunt capasitor, total daya
generator dan total beban dan
total shunt capasitor

Menghitung aliran daya dan rugi daya


(losses) pada jaringan
SLij = Sij + Sji

Cetak daya yang mengalir


masuk pada tiap-tiap terminal
dan rugi daya (losses) dari
jaringan pada tiap-tiap bus

STOP

7
Contoh Aplikasi 1

Pada gambar menunjukkan diagram segaris dalam sistim tenaga 3 (tiga) bus dengan

pembangkitan pada bus 1. Harga tegangan pada bus 1 diatur sampai 1,05 pu. Beban pada

bus 2 dan 3. Impedansi-impedansi saluran dalam per unit pada dasar 100 MVA, dan

untuk suseptansi muatan pada saluran diabaikan. Tentukan aliran daya dan rugi-rugi

dengan meoda gauss-seidel

0.02 + j0.04

1 2

256.6 MW
G 110.2 Mvar

0.0125 + j0.025
0.01 + j0.03

Slack Bus 3 138.6 MW


V1 = 1.05<0o 45.2 Mvar

Data admitansi pada saluran adalah y12 = 1/z12 = 10-j20, y13 = 1/z13 = 10-j30, dan

y23=1/z23 = 16-j32

Data beban dalam per unit adalah :

Bus 1 adalah slack bus dengan tegangan V1 = 1,05 + j0,0. Estimasi tegangan awal untuk,

V2(0) = 1,0+j0,0 dan V3(0) = 1,0 + j0,0. V2 dan V3 selanjutnya secara iterasi dihitung

dengan persamaan 7, untuk aliran arus dihitung dengan persamaan 14 dan 15, untuk daya

kompleks anatara bus dihitung dengan persamaan 16 dan 17, dan untuk rugi-rugi daya

8
dalam saluran dihitung dengan persamaan 6-18. Iterasi dari kondisi ini berhenti bila |

Vn+1 – Vn|<ε, dengan ε adalah tetapan yang harganya ditentukan, sehingga susunan

pogramnya dalam bahasa MATLAB sebagai berikut :

disp(' ');
disp('__________________________');
disp(' ')
disp(' Studi Aliran Daya pada sistem 3 bus ');
disp(' dengan penyelesaian metode Gauss-Seidel ');
disp('___________________________');
disp(' ');
% DAsar 100 MVA
epsilon = 0.00001;
x = 1;
% Data impedansi pada saluran :
z12 = 0.02 + j*0.04;
z13 = 0.01 + j*0.03;
z23 = 0.0125 + j*0.025;
% Admitansi pada saluran :
y12 = 1/z12;
y13 = 1/z13;
y23 = 1/z23;
% Beban dalam per unit :
s2 = -(256.6 + j*110.2)/100;
s3 = -(138.6 + j*45.2)/100;
% Bus 1 sebagai slack bus dengan :
v1 = 1.05 + j*0.0;
vk1 = conj(v1);
%estimasi tegangan awal untuk :
v2 = 1.0 + j*0.0;
e3 = 1.0 + j*0.0;
iter = 0;
disp('_________________________');
disp('! ! ! ');
disp('! ! daya pada ! aliran daya pada saluran !');
disp('! iterasi ! slack bus ! !');
disp('! ke : ! (bus 1) ! !');
disp('! !-----------------------------------------!');
disp('! ! S1 ! s12 ! 21 !');
disp('_____________________________________________________');
disp(' ');
format short g
while x>= epsilon
iter = iter + 1;
vk2 = conj(v2);
ek3 = conj(e3);
v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3)); %=V=(1/y)*
v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2));
% arus pada saluran
i12 = y12*(v1-v2);
i21 = -i12;
% konjugat dari arus pada aluran :
ik12 = conj(i12);

9
ik21 = conj(i21);
% Daya dalam bentuk bilangan kompleks pada bus 1 :
s1 = (vk1*(v1*(y12+y13)-(y12*v2+y13*v3)))*100;
% aliran daya dalam bentuk bilangan kompleks pada saluran :
s12 = v1*ik12*100;
s21 = v2*ik21*100;
x = abs(v3-e3);
e3 = v3;
fprintf('%i', iter), disp([s1, s12, s21]);
end

disp('___________________________________');
disp(' ');
disp('===============');
disp('! lanjutan 1 !');
disp('===============');
% DAsar 100 MVA
epsilon = 0.00001;
x = 1;
% Data impedansi pada saluran :
z12 = 0.02 + j*0.04;
z13 = 0.01 + j*0.03;
z23 = 0.0125 + j*0.025;
% Admitansi pada saluran :
y12 = 1/z12;
y13 = 1/z13;
y23 = 1/z23;
% Beban dalam per unit :
s2 = -(256.6 + j*110.2)/100;
s3 = -(138.6 + j*45.2)/100;
% Bus 1 sebagai slack bus dengan :
v1 = 1.05 + j*0.0;
vk1 = conj(v1);
%estimasi tegangan awal untuk :
v2 = 1.0 + j*0.0;
e3 = 1.0 + j*0.0;
iter = 0;
disp('_________________________');
disp('! ! ! ');
disp('! ! daya pada ! aliran daya pada saluran !');
disp('! iterasi ! slack bus ! !');
disp('! ke : ! (bus 1) ! !');
disp('! !-----------------------------------------!');
disp('! ! S13 ! s31 ! s23 !');
disp('_____________________________________________________');
disp(' ');
format short g
while x>= epsilon
iter = iter + 1;
vk2 = conj(v2);
ek3 = conj(e3);
v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3));
v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2));
% arus pada saluran
i13 = y13*(v1-v3);
i31 = -i13;
i23 = y23*(v2-v3);

10
% konjugat dari arus pada aluran :
ik13 = conj(i13);
ik31 = conj(i31);
ik23 = conj(i23);
% aliran daya dalam bentuk bilangan kompleks pada saluran :
s13 = v1*ik13*100;
s31 = v3*ik31*100;
s23 = v2*ik23*100;
x = abs(v3-e3);
e3 = v3;
fprintf('%i', iter), disp([s13, s31, s23]);
end

disp('___________________________________');
disp(' ');
disp('===============');
disp('! lanjutan 2 !');
disp('===============');
% DAsar 100 MVA
epsilon = 0.00001;
x = 1;
% Data impedansi pada saluran :
z12 = 0.02 + j*0.04;
z13 = 0.01 + j*0.03;
z23 = 0.0125 + j*0.025;
% Admitansi pada saluran :
y12 = 1/z12;
y13 = 1/z13;
y23 = 1/z23;
% Beban dalam per unit :
s2 = -(256.6 + j*110.2)/100;
s3 = -(138.6 + j*45.2)/100;
% Bus 1 sebagai slack bus dengan :
v1 = 1.05 + j*0.0;
vk1 = conj(v1);
%estimasi tegangan awal untuk :
v2 = 1.0 + j*0.0;
e3 = 1.0 + j*0.0;
iter = 0;
disp('_________________________');
disp('! ! ! ');
disp('! ! aliran day daya pada ! aliran daya pada saluran !');
disp('! iterasi ! slack bus ! !');
disp('! ke : ! (bus 1) ! !');
disp('! !-----------------------------------------!');
disp('! ! S32 ! sL12 ! sl13 !');
disp('_____________________________________________________');
disp(' ');
format short g
while x>= epsilon
iter = iter + 1;
vk2 = conj(v2);
ek3 = conj(e3);
v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3));
v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2));
% arus pada saluran
i12 = y12*(v1-v2);

11
I21 = -i12;
i13 = y13*(v1-v3);
i31 = -i13;
i23 = y23*(v2-v3);
i32 = -i23;
% konjugat dari arus pada aluran :
ik12 = conj(i12);
ik21 = conj(i21);
ik13 = conj(i13);
ik31 = conj(i31);
ik32 = conj(i32);
% aliran daya dalam bentuk bilangan kompleks pada saluran :
s12 = v1*ik12*100;
s21 = v2*ik21*100;
s13 = v1*ik13*100;
s31 = v3*ik31*100;
s32 = v3*ik32*100;
% rugi-rugi daya dalam bentuk bilangan kompleks pada saluran :
sl12 = s12+s21;
sl13 = s13+s31;
x = abs(v3-e3);
e3 = v3;
fprintf('%i', iter), disp([s32, sl12, sl13]);
end

disp('___________________________________');
disp(' ');
disp('===============');
disp('! lanjutan 3 !');
disp('===============');
% DAsar 100 MVA
epsilon = 0.00001;
x = 1;
% Data impedansi pada saluran :
z12 = 0.02 + j*0.04;
z13 = 0.01 + j*0.03;
z23 = 0.0125 + j*0.025;
% Admitansi pada saluran :
y12 = 1/z12;
y13 = 1/z13;
y23 = 1/z23;
% Beban dalam per unit :
s2 = -(256.6 + j*110.2)/100;
s3 = -(138.6 + j*45.2)/100;
% Bus 1 sebagai slack bus dengan :
v1 = 1.05 + j*0.0;
vk1 = conj(v1);
%estimasi tegangan awal untuk :
v2 = 1.0 + j*0.0;
e3 = 1.0 + j*0.0;
iter = 0;
disp('_________________________');
disp('! ! ! ');
disp('! ! !');
disp('! iterasi ! !');
disp('! ke : ! !');
disp('! !-------------------!');

12
disp('! ! sl23 !');
disp('_____________________________________________________');
disp(' ');
format short g
while x>= epsilon
iter = iter + 1;
vk2 = conj(v2);
ek3 = conj(e3);
v2 = 1/(y12+y23)*((conj(s2)/vk2)+(y12*v1+y23*e3));
v3 = 1/(y13+y23)*((conj(s3)/ek3)+(y13*v1+y23*v2));
% arus pada saluran
i23 = y23*(v2-v3);
i32 = -i23;
% konjugat dari arus pada aluran :
ik23 = conj(i23);
ik32 = conj(i32);
% aliran daya dalam bentuk bilangan kompleks pada saluran :
s23 = v2*ik23*100;
s32 = v3*ik32*100;
% rugi-rugi daya dalam bentuk bilangan kompleks pada saluran :
sl12 = s12+s21;
sl13 = s13+s31;
x = abs(v3-e3);
e3 = v3;
fprintf('%i', iter), disp([s32, sl12, sl13]);
end

Contoh Aplikasi 2

13
Single Line diagram dari sistem yang akan di hitung adalah sebagai berikut :

Slack
G G
1

2 3
G
26 8
G
5 G 13

18 6 7 4

9 12 14 16

19 10
11 25

23 24 15

22 20

21

17

14
Data yang diperlukan untuk melakukan perhitungan dalam makalah ini adalah

berupa data : beban untuk tiap-tiap bus, data dari generator, data kapasitor shunt, data

tapping transformator, dan data resistansi, reaktansi serta kapasitansi dari line transmisi

dan transformator.

Untuk input yang dibutuhkan oleh program untuk melakukan perhitungan data

yang digunakan dibagi dalam dua bagian yaitu :

a. Busdata

Bus Bus Voltage Angle --Load-- ---Generator--- injected


No Code Mag. Degre MW Mvar MW Mvar Qmin Qmax Mvar
1 1 1.025 0.0 0.0 0.0 0.0 0.0 0 0 0
2 2 1.02 0.0 22.0 15.0 79.0 0.0 40 250 0
3 2 1.025 0.0 64.0 50.0 20.0 0.0 40 180 0
4 2 1.05 0.0 25.0 10.0 100 0.0 40 80 2
5 2 1.045 0.0 50.0 30.0 300 0.0 40 160 5
6 0 1.0 0.0 76.0 29.0 0.0 0.0 0 0 2
7 0 1.0 0.0 0.0 0.0 0.0 0.0 0 0 0
8 0 1.0 0.0 0.0 0.0 0.0 0.0 0 0 0
9 0 1.0 0.0 89.0 50.0 0.0 0.0 0 0 0
10 0 1.0 0.0 0.0 0.0 0.0 0.0 0 0 0
11 0 1.0 0.0 25.0 15.0 0.0 0.0 0 0 1.5
12 0 1 0 89.0 48.0 0 0 0 0 2
13 0 1 0 31.0 15.0 0 0 0 0 0
14 0 1 0 24.0 12.0 0 0 0 0 0
15 0 1 0 70.0 31.0 0 0 0 0 0.5
16 0 1 0 55.0 27.0 0 0 0 0 0
17 0 1 0 78.0 38.0 0 0 0 0 0
18 0 1 0 153.0 67.0 0 0 0 0 0
19 0 1 0 75.0 15.0 0 0 0 0 1
20 0 1 0 48.0 27.0 0 0 0 0 0
21 0 1.0 0 46.0 23.0 0 0 0 0 0
22 0 1.0 0 45.0 22.0 0 0 0 0 0
23 0 1.0 0 25.0 12.0 0 0 0 0 0
24 0 1.0 0 54.0 27.0 0 0 0 0 0
25 0 1.0 0 28.0 13.0 0 0 0 0 0
26 2 1.015 0 40.0 20.0 60.0 0 15 50 0

15
b. Linedata

Dari Ke R X C tap setting


bus bus pu pu pu Transformator

1 2 0.0005 0.0048 0.0300 1


1 18 0.0013 0.0110 0.0600 1
2 3 0.0014 0.0513 0.050 0.960
2 7 0.0103 0.0586 0.0180 1
2 8 0.0074 0.0321 0.0390 1
2 13 0.0035 0.0967 0.025 0.960
2 26 0.0323 0.1967 0.0 1
3 13 0.0007 0.0054 0.0005 1.017
4 8 0.0008 0.0240 0.0001 1.050
4 12 0.0016 0.0207 0.0150 1.050
5 6 0.0069 0.0300 0.0990 1
6 7 0.0053 0.0306 0.0010 1
6 11 0.0097 0.0570 0.0001 1
6 18 0.0037 0.0222 0.0012 1
6 19 0.0035 0.0660 0.045 0.950
6 21 0.0050 0.0900 0.0226 1
7 8 0.0012 0.0069 0.0001 1
7 9 0.0009 0.0429 0.025 0.950
8 12 0.0020 0.0180 0.0200 1
9 10 0.0010 0.0493 0.0010 1
10 12 0.0024 0.0132 0.0100 1
10 19 0.0547 0.2360 0 1
10 20 0.0066 0.0160 0.0010 1
10 22 0.0069 0.0298 0.0050 1
11 25 0.0960 0.2700 0.0100 1
11 26 0.0165 0.0970 0.0040 1
12 14 0.0327 0.0802 0 1
12 15 0.0180 0.0598 0 1
13 14 0.0046 0.0271 0.0010 1
13 15 0.0116 0.0610 0 1
13 16 0.0179 0.0888 0.0010 1
14 16 0.0179 0.0888 0.0010 1
14 15 0.0069 0.0382 0 1
15 16 0.0209 0.0512 0 1
16 17 0.0990 0.0600 0 1
16 20 0.0239 0.0585 0 1
17 18 0.0032 0.0600 0.0380 1
17 21 0.2290 0.4450 0 1
19 23 0.0300 0.1310 0 1
19 24 0.0300 0.1250 0.0020 1
19 25 0.1190 0.2249 0.0040 1
20 21 0.0657 0.1570 0 1
20 22 0.0150 0.0366 0 1
21 24 0.0476 0.1510 0 1
22 23 0.0290 0.0990 0 1
22 24 0.0310 0.0880 0 1
23 25 0.0987 0.1168 0 1

16
7. Program Matlab

Program matlab yang digunakan untuk studi aliran daya metode gauss seidel ini dibagi

dalam lima file program yaitu :

a. program dengan nama data

program ini adalah input data bagi program yang lainnya, data dalam program ini

terbagi atas dua bagian yaitu :

 busdata yang berisi data beban, data generator, data voltage

magnitude dan data capasitor shunt untuk tiap-tiap bus.

 Linedata yang berisi data resistansi, reaktansi dan capasitansi

untuk line transmisi dan transformator serta tapping setting dari transformator.

b. Program dengan nama lfybus

program dalam file berguna untuk merubah impedansi menjadi admitansi dan

membentuk matrix admitansi bus. Program ini membutuhkan input data yang berada

dalam file linedata. Adapun listing dari program ini sebagai berikut :

j=sqrt(-1);
i = sqrt(-1);
nl = linedata(:,1);
nr = linedata(:,2);
R = linedata(:,3);
X = linedata(:,4);
Bc = j*linedata(:,5);
a = linedata(:, 6);
nbr=length(linedata(:,1));
nbus = max(max(nl), max(nr));
Z = R + j*X; y= ones(nbr,1)./Z; %branch admittance
for n = 1:nbr
if a(n) <= 0 a(n) = 1;
else end
Ybus=zeros(nbus,nbus); % initialize Ybus to zero
% formation of the off diagonal elements
for k=1:nbr;
Ybus(nl(k),nr(k))=Ybus(nl(k),nr(k))-y(k)/a(k)
Ybus(nr(k),nl(k))=Ybus(nl(k),nr(k))
end
end
% formation of the diagonal elements
for n=1:nbus
for k=1:nbr
if nl(k)==n

17
Ybus(n,n) = Ybus(n,n)+y(k)/(a(k)^2) + Bc(k)
elseif nr(k)==n
Ybus(n,n) = Ybus(n,n)+y(k) +Bc(k)
else, end
end
end
clear Pgg

c. Program dengan nama lfgauss

Program ini untuk perhitungan studi aliran daya metode gauss seidel dan

membutuhkan input data dari file busdata dan linedata. Program ini di desain untuk

digunakan langsung dengan data beban dan generator dalam MW dan Mvar

sedangkan tegangan ditiap bus dalam satuan per unit. Data beban dan data generator

yang dalam MW dan Mvar dirubah oleh program ini dalam satuan per unit

berdasarkan dasar (MVA) daya yang dipilih. Adapun listing dari program ini adalah

sebagai berikut :

Vm=0;
delta=0;
yload=0;
deltad =0;
nbus = length(busdata(:,1));
for k=1:nbus
n=busdata(k,1);
kb(n)=busdata(k,2);
Vm(n)=busdata(k,3);
delta(n)=busdata(k, 4);
Pd(n)=busdata(k,5);
Qd(n)=busdata(k,6);
Pg(n)=busdata(k,7);
Qg(n) = busdata(k,8);
Qmin(n)=busdata(k, 9);
Qmax(n)=busdata(k, 10);
Qsh(n)=busdata(k, 11);
if Vm(n) <= 0
Vm(n) = 1.0;
V(n) = 1 + j*0;
else
delta(n) = pi/180*delta(n);
V(n) = Vm(n)*(cos(delta(n)) + j*sin(delta(n)));
P(n)=(Pg(n)-Pd(n))/basemva;
Q(n)=(Qg(n)-Qd(n)+ Qsh(n))/basemva;
S(n) = P(n) + j*Q(n);

18
end
DV(n)=0;
end
num = 0;
AcurBus = 0;
converge = 1;
Vc = zeros(nbus,1)+j*zeros(nbus,1);
Sc = zeros(nbus,1)+j*zeros(nbus,1);
while exist('accel')~=1
accel = 1.3;
end
while exist('accuracy')~=1
accuracy = 0.001;
end
while exist('basemva')~=1
basemva= 100;
end
while exist('maxiter')~=1
maxiter = 100;
end
iter=0;
maxerror=10;
while maxerror >= accuracy & iter <= maxiter
iter=iter+1;
for n = 1:nbus;
YV = 0+j*0;
for L = 1:nbr;
if nl(L) == n, k=nr(L);
YV = YV + Ybus(n,k)*V(k);
elseif nr(L) == n, k=nl(L);
YV = YV + Ybus(n,k)*V(k);
end
end
Sc = conj(V(n))*(Ybus(n,n)*V(n) + YV) ;
Sc = conj(Sc);
DP(n) = P(n) - real(Sc);
DQ(n) = Q(n) - imag(Sc);
if kb(n) == 1
S(n) =Sc;
P(n) = real(Sc);
Q(n) = imag(Sc);
DP(n) =0;
DQ(n)=0;
Vc(n) = V(n);
elseif kb(n) == 2
Q(n) = imag(Sc);
S(n) = P(n) + j*Q(n);

if Qmax(n) ~= 0
Qgc = Q(n)*basemva + Qd(n) - Qsh(n);
if abs(DQ(n)) <= .005 & iter >= 10 % After 10 iterations
if DV(n) <= 0.045 % the Mvar of generator buses are
if Qgc < Qmin(n), % tested. If not within limits Vm(n)
Vm(n) = Vm(n) + 0.005; % is changed in steps of 0.005 pu
DV(n) = DV(n)+.005; % up to .05 pu in order to bring
elseif Qgc > Qmax(n), % the generator Mvar within the
Vm(n) = Vm(n) - 0.005; % specified limits.
DV(n)=DV(n)+.005; end
else, end
else,end
else,end
end
if kb(n) ~= 1

19
Vc(n) = (conj(S(n))/conj(V(n)) - YV )/ Ybus(n,n);
else, end
if kb(n) == 0
V(n) = V(n) + accel*(Vc(n)-V(n));
elseif kb(n) == 2
VcI = imag(Vc(n));
VcR = sqrt(Vm(n)^2 - VcI^2);
Vc(n) = VcR + j*VcI;
V(n) = V(n) + accel*(Vc(n) -V(n));
end
end
maxerror=max( max(abs(real(DP))), max(abs(imag(DQ))) );
if iter == maxiter & maxerror > accuracy
fprintf('\nWARNING: Iterative solution did not converged after ')
fprintf('%g', iter), fprintf(' iterations.\n\n')
fprintf('Press Enter to terminate the iterations and print the results \n')
converge = 0; pause, else, end

end
if converge ~= 1
tech= (' ITERATIVE SOLUTION DID NOT CONVERGE'); else,
tech=(' Power Flow Solution by Gauss-Seidel Method');
end
k=0;
for n = 1:nbus
Vm(n) = abs(V(n)); deltad(n) = angle(V(n))*180/pi;
if kb(n) == 1
S(n)=P(n)+j*Q(n);
Pg(n) = P(n)*basemva + Pd(n);
Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n);
k=k+1;
Pgg(k)=Pg(n);
elseif kb(n) ==2
k=k+1;
Pgg(k)=Pg(n);
S(n)=P(n)+j*Q(n);
Qg(n) = Q(n)*basemva + Qd(n) - Qsh(n);
end
yload(n) = (Pd(n)- j*Qd(n)+j*Qsh(n))/(basemva*Vm(n)^2);
end
Pgt = sum(Pg); Qgt = sum(Qg); Pdt = sum(Pd); Qdt = sum(Qd); Qsht = sum(Qsh);
busdata(:,3)=Vm'; busdata(:,4)=deltad';
clear AcurBus DP DQ DV L Sc Vc VcI VcR YV converge delta

d. Program dengan nama busout

Program ini menghasilkan output dalam bentuk tabel. Output yang dihasilkan

adalah besar tegangan dan sudutnya, daya aktif dan daya reaktif untuk beban dan

generator, dan capasitor shunt yang terpasang. Program ini juga menampilkan total

daya dari generator dan total beban. Adapun listing dari program ini adalah :

20
%clc
disp(tech)
fprintf(' Maximum Power Mismatch = %g \n', maxerror)
fprintf(' No. of Iterations = %g \n\n', iter)
head =[' Bus Voltage Angle ------Load------ ---Generation--- Injected'
' No. Mag. Degree MW Mvar MW Mvar Mvar '
' '];
disp(head)
for n=1:nbus
fprintf(' %5g', n), fprintf(' %7.3f', Vm(n)),
fprintf(' %8.3f', deltad(n)), fprintf(' %9.3f', Pd(n)),
fprintf(' %9.3f', Qd(n)), fprintf(' %9.3f', Pg(n)),
fprintf(' %9.3f ', Qg(n)), fprintf(' %8.3f\n', Qsh(n))
end
fprintf(' \n'), fprintf(' Total ')
fprintf(' %9.3f', Pdt), fprintf(' %9.3f', Qdt),
fprintf(' %9.3f', Pgt), fprintf(' %9.3f', Qgt), fprintf(' %9.3f\n\n', Qsht)

e. Program dengan nama lineflow

Program ini mempersiapkan line output data. Program ini di desain untuk

menampilkan daya aktif dan daya reaktif yang mengalir masuk pada tiap-tiap bus,

juga menampilkan rugi daya pada jaringan transmisi antar bus. Program ini juga

menampilkan total daya aktif dan daya reaktif serta total rugi daya dari sistem.

Adapun listing dari program ini adalah :

SLT = 0;
fprintf('\n')
fprintf(' Line Flow and Losses \n\n')
fprintf(' --Line-- Power at bus & line flow --Line loss--
Transformer\n')
fprintf(' from to MW Mvar MVA MW Mvar tap\n')

for n = 1:nbus
busprt = 0;
for L = 1:nbr;
if busprt == 0
fprintf(' \n'), fprintf('%6g', n), fprintf(' %9.3f', P(n)*basemva)
fprintf('%9.3f', Q(n)*basemva), fprintf('%9.3f\n', abs(S(n)*basemva))

busprt = 1;
else, end
if nl(L)==n k = nr(L);
In = (V(n) - a(L)*V(k))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(n);
Ik = (V(k) - V(n)/a(L))*y(L) + Bc(L)*V(k);
Snk = V(n)*conj(In)*basemva;
Skn = V(k)*conj(Ik)*basemva;
SL = Snk + Skn;
SLT = SLT + SL;
elseif nr(L)==n k = nl(L);

21
In = (V(n) - V(k)/a(L))*y(L) + Bc(L)*V(n);
Ik = (V(k) - a(L)*V(n))*y(L)/a(L)^2 + Bc(L)/a(L)^2*V(k);
Snk = V(n)*conj(In)*basemva;
Skn = V(k)*conj(Ik)*basemva;
SL = Snk + Skn;
SLT = SLT + SL;
else, end
if nl(L)==n | nr(L)==n
fprintf('%12g', k),
fprintf('%9.3f', real(Snk)), fprintf('%9.3f', imag(Snk))
fprintf('%9.3f', abs(Snk)),
fprintf('%9.3f', real(SL)),
if nl(L) ==n & a(L) ~= 1
fprintf('%9.3f', imag(SL)), fprintf('%9.3f\n', a(L))
else, fprintf('%9.3f\n', imag(SL))
end
else, end
end
end
SLT = SLT/2;
fprintf(' \n'), fprintf(' Total loss ')
fprintf('%9.3f', real(SLT)), fprintf('%9.3f\n', imag(SLT))
clear Ik In SL SLT Skn Snk

22
8. Hasil Program

Dari data yang diinput pada program menghasilkan keluaran sebagai berikut :

Power Flow Solution by Gauss-Seidel Method

Maximum Power Mismatch = 0.000641833

No. of Iterations = 70

Bus Voltage Angle ------Load------ ---Generation--- Injected

No. Mag. Degree MW Mvar MW Mvar Mvar

1 1.025 0.000 0.000 0.000 668.364 193.229 0.000

2 1.020 -0.928 22.000 15.000 79.000 139.223 0.000

3 1.030 -4.213 64.000 50.000 20.000 42.719 0.000

4 1.050 -3.569 25.000 10.000 100.000 55.733 2.000

5 1.045 1.184 50.000 30.000 300.000 125.403 5.000

6 0.999 -2.516 76.000 29.000 0.000 0.000 2.000

7 0.993 -3.179 0.000 0.000 0.000 0.000 0.000

8 0.996 -3.280 0.000 0.000 0.000 0.000 0.000

9 1.007 -5.366 89.000 50.000 0.000 0.000 0.000

10 0.988 -5.527 0.000 0.000 0.000 0.000 0.000

11 0.997 -3.172 25.000 15.000 0.000 0.000 1.500

12 0.992 -4.680 89.000 48.000 0.000 0.000 2.000

13 1.009 -4.433 31.000 15.000 0.000 0.000 0.000

14 0.995 -5.121 24.000 12.000 0.000 0.000 0.000

15 0.989 -5.521 70.000 31.000 0.000 0.000 0.500

16 0.983 -5.737 55.000 27.000 0.000 0.000 0.000

17 0.987 -4.884 78.000 38.000 0.000 0.000 0.000

18 1.008 -1.787 153.000 67.000 0.000 0.000 0.000

19 1.002 -6.339 75.000 15.000 0.000 0.000 1.000

20 0.980 -5.971 48.000 27.000 0.000 0.000 0.000

23
Bus Voltage Angle ------Load------ ---Generation--- Injected
No. Mag. Degree MW Mvar MW Mvar Mvar

21 0.977 -5.722 46.000 23.000 0.000 0.000 0.000

22 0.977 -6.393 45.000 22.000 0.000 0.000 0.000

23 0.975 -7.039 25.000 12.000 0.000 0.000 0.000

24 0.967 -7.297 54.000 27.000 0.000 0.000 0.000

25 0.973 -6.726 28.000 13.000 0.000 0.000 0.000

26 1.015 -1.773 40.000 20.000 60.000 32.987 0.000

Total 1212.000 596.000 1227.364 589.293 14.000

Line Flow and Losses

--Line-- Power at bus & line flow --Line loss-- Transformer

from to MW Mvar MVA MW Mvar tap

1 668.364 193.229 695.736

2 360.097 68.963 366.641 0.642 -0.111

18 308.263 124.270 332.369 1.387 -0.661

2 57.000 124.223 136.676

1 -359.455 -69.074 366.031 0.642 -0.111

3 124.100 61.785 138.629 0.247 -1.884 0.960

7 74.037 32.957 81.041 0.663 0.122

8 140.408 41.291 146.354 1.548 -1.212

13 69.898 55.248 89.096 0.256 1.705 0.960

26 7.985 1.339 8.097 0.020 0.124

3 -44.000 -7.281 44.598

2 -123.852 -63.669 139.259 0.247 -1.884

13 79.880 56.304 97.729 0.065 0.401 1.017

24
--Line-- Power at bus & line flow --Line loss-- Transformer

from to MW Mvar MVA MW Mvar tap

4 75.000 47.733 88.901

8 -20.445 15.801 25.839 0.005 0.140 1.050

12 95.434 32.137 100.699 0.164 -0.856 1.050

5 250.000 100.403 269.408

6 250.032 100.388 269.432 4.731 -0.113

6 -76.000 -27.000 80.654

5 -245.300 -100.501 265.090 4.731 -0.113

7 39.411 10.810 40.867 0.089 0.315

11 19.997 -0.029 19.997 0.039 0.209

18 -62.496 -29.460 69.091 0.177 0.820

19 110.462 71.378 131.517 0.571 1.280 0.950

21 61.875 20.338 65.132 0.218 -0.494

7 0.000 0.000 0.000

2 -73.374 -32.835 80.386 0.663 0.122

6 -39.323 -10.496 40.699 0.089 0.315

8 17.049 -47.594 50.556 0.031 0.159

9 95.633 90.585 131.724 0.147 1.737 0.950

8 0.000 0.000 0.000

2 -138.860 -42.504 145.219 1.548 -1.212

4 20.450 -15.661 25.758 0.005 0.140

7 -17.017 47.753 50.695 0.031 0.159

12 135.487 10.533 135.896 0.373 -0.596

9 -89.000 -50.000 102.083

7 -95.486 -88.848 130.428 0.147 1.737

10 6.469 38.836 39.371 0.015 0.558

--Line-- Power at bus & line flow --Line loss-- Transformer

from to MW Mvar MVA MW Mvar tap

25
10 0.000 0.000 0.000

9 -6.454 -38.277 38.818 0.015 0.558

12 -110.908 -7.217 111.143 0.303 -0.291

19 4.386 -6.737 8.039 0.036 0.156

20 58.222 27.399 64.346 0.280 0.486

22 54.784 24.845 60.154 0.257 0.147

11 -25.000 -13.500 28.412

6 -19.958 0.238 19.960 0.039 0.209

25 22.756 0.376 22.759 0.502 -0.528

26 -27.790 -14.080 31.154 0.159 0.127

12 -89.000 -46.000 100.185

4 -95.270 -32.993 100.821 0.164 -0.856

8 -135.114 -11.129 135.571 0.373 -0.596

10 111.211 6.926 111.427 0.303 -0.291

14 6.623 -6.987 9.627 0.031 0.076

15 23.494 -1.957 23.576 0.102 0.338

13 -31.000 -15.000 34.438

2 -69.642 -53.543 87.846 0.256 1.705

3 -79.815 -55.903 97.445 0.065 0.401

14 51.930 43.645 67.835 0.208 1.026

15 36.278 27.339 45.426 0.235 1.236

16 30.202 23.470 38.249 0.258 1.081

14 -24.000 -12.000 26.833

12 -6.592 7.062 9.661 0.031 0.076

13 -51.722 -42.619 67.019 0.208 1.026

16 13.974 10.372 17.403 0.055 0.078

15 20.401 13.243 24.323 0.041 0.228

--Line-- Power at bus & line flow --Line loss-- Transformer

26
from to MW Mvar MVA MW Mvar tap

15 -70.000 -30.500 76.356

12 -23.392 2.295 23.505 0.102 0.338

13 -36.043 -26.104 44.503 0.235 1.236

14 -20.360 -13.015 24.164 0.041 0.228

16 9.745 6.321 11.615 0.029 0.071

16 -55.000 -27.000 61.270

13 -29.944 -22.389 37.388 0.258 1.081

14 -13.919 -10.294 17.312 0.055 0.078

15 -9.716 -6.250 11.553 0.029 0.071

17 -9.275 8.992 12.918 0.171 0.104

20 7.902 2.912 8.421 0.018 0.043

17 -78.000 -38.000 86.764

16 9.445 -8.888 12.970 0.171 0.104

18 -90.947 -29.699 95.673 0.294 -2.056

21 3.476 0.594 3.526 0.029 0.057

18 -153.000 -67.000 167.027

1 -306.877 -124.930 331.332 1.387 -0.661

6 62.673 30.279 69.604 0.177 0.820

17 91.241 27.643 95.337 0.294 -2.056

19 -75.000 -14.000 76.295

6 -109.891 -70.098 130.344 0.571 1.280

10 -4.349 6.893 8.151 0.036 0.156

23 13.091 17.430 21.798 0.142 0.620

24 18.591 23.284 29.796 0.268 0.730

25 7.591 8.420 11.337 0.161 -0.477

--Line-- Power at bus & line flow --Line loss-- Transformer

from to MW Mvar MVA MW Mvar tap

27
20 -48.000 -27.000 55.073

10 -57.942 -26.913 63.887 0.280 0.486

16 -7.884 -2.869 8.390 0.018 0.043

21 -1.579 2.556 3.004 0.006 0.015

22 19.354 0.284 19.356 0.059 0.143

21 -46.000 -23.000 51.430

6 -61.657 -20.832 65.082 0.218 -0.494

17 -3.447 -0.537 3.488 0.029 0.057

20 1.585 -2.541 2.995 0.006 0.015

24 17.494 0.950 17.520 0.153 0.486

22 -45.000 -22.000 50.090

10 -54.526 -24.699 59.859 0.257 0.147

20 -19.295 -0.141 19.296 0.059 0.143

23 10.411 -1.489 10.517 0.034 0.115

24 18.461 4.302 18.956 0.117 0.331

23 -25.000 -12.000 27.731

19 -12.949 -16.810 21.219 0.142 0.620

22 -10.377 1.604 10.501 0.034 0.115

25 -1.691 3.244 3.658 0.014 0.016

24 -54.000 -27.000 60.374

19 -18.323 -22.555 29.059 0.268 0.730

21 -17.341 -0.464 17.347 0.153 0.486

22 -18.344 -3.971 18.769 0.117 0.331

25 -28.000 -13.000 30.871

11 -22.254 -0.904 22.272 0.502 -0.528

19 -7.431 -8.896 11.592 0.161 -0.477

23 1.705 -3.227 3.650 0.014 0.016

--Line-- Power at bus & line flow --Line loss-- Transformer

from to MW Mvar MVA MW Mvar tap

28
26 20.000 12.987 23.846

2 -7.965 -1.215 8.057 0.020 0.124

11 27.950 14.207 31.353 0.159 0.127

Total loss 15.351 5.999

9. Analisa Hasil Program

Dari hasil program memperlihatkan bahwa konvergensi tercapai setelah iterasi

yang ke tujuh puluh. Sedangkan total beban dari sistem yang berupa daya aktif adalah

1212 MW dan total beban yang berupa daya reaktif adalah 596 Mvar. Total daya aktif

yang di suplay generator adalah 1227,364 MW dan total daya reaktif yang di suplay

generator adalah 589,293 Mvar, sedangkan total injeksi dari kapasitor shunt adalah 14

Mvar.

Output dari program ini juga memperlihatkan daya yang mengalir ditiap-tiap

bus, serta rugi-rugi jaringan antar bus. Rugi-rugi karena jaringan yang terbesar terjadi

antara bus 5 dan bus 6 sebesar 4,371 MW dan 0,113 Mvar. Sedangkan total rugi-rugi dari

jaringan adalah 15,351 MW dan 5,999 Mvar.

ikhlaskitta@yahoo.com

29