You are on page 1of 28

TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)

METODE FAST DECOUPLED NEWTON RAPHSON

LISTING PROGRAM
# include <iostream.h>
# include <conio.h>
# include <math.h>
# include <stdio.h>
# include <iomanip.h>
# include <complex.h>

const float pi=3.141592654;

int i,j,a,b,c,z, brs,kol,tlh,jum_el,iterasi,iter_B2,iter_B3;

static int jum_Slack,jum_PV,jum_PQ,iter_brs=0,iter_kol=0;

static float r[10][10],y[10][10],half_line[10][10],G[10][10],B[10][10],


Y1[10][10],Y2[10][10],Y[10][10],teta[10][10],inv_B1[10][10],
inv_B2[10][10],P_sp[10],Q_sp[10],P[10][10],Q[10][10];

float tol,input,d2,d3,m2,m3,a1,a2,a3,b1,b2,b3,diaG[10],diaB[10],dia_S[10],Rel[10],
matB1[10][10],matB2[10][10],mata[10][10],bag,kli,inv[10][10],
delta_dho[10][70],delta_V[10][70],delta_P[10][70],delta_Q[10][70],
V[10][70],dho[10][70];

void jenis_rel();
void entri_Y();
void nilai_awal_rel();
void daya_tiap_rel();
void matriks_B1();
void matriks_B2();
void iterasi_utama();
void garis1();
void garis2();
void output_utama();

void main()
{
cout << " =============================================================="<<endl;
cout << " PROGRAM ANALISIS LOAD FLOW "<<endl;
cout << " MENGGUNAKAN METODE FAST DECOUPLED NEWTON RAPHSON "<<endl;
cout << " disajikan oleh : Frisal Argha Kusumah "<<endl;
cout << " Peserta Mata Kuliah ASD II "<<endl;
cout << " Teknik Elektro Universitas Brawijaya Malang"<<endl;
cout << " =============================================================="<<endl;
cout << " Bismillahirrahmanirrahim "<<endl;
cout << " Assalamu’alaikum Warohmatullahi Wabarokatuh "<<endl;
cout << " Untuk memulai program silakan mengentrikan nilai data berikut "<<endl;
cout << " Dengan ketentuan banyaknya Bus maksimal adalah 10! "<<endl;
cout << " Jumlah Bus yang dientrikan= ";cin >> brs;
cout << " Jumlah Elemen yang dientrikan= ";cin >> jum_el;
kol=brs;
cout <<endl<<endl;

jenis_rel();
entri_Y ();
nilai_awal_rel();
daya_tiap_rel();
matriks_B1();
matriks_B2();
cout<<endl<<endl;

FRISAL ARGHA KUSUMAH


0610630040 Page 1
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
cout<<"Jumlah iterasi maksimum yang anda inginkan?(Maks 70): ";cin>>iterasi;
if(iterasi>=70)
{
cout<<" Maaf, Iterasi melebihi ketentuan, dijadikan 67 "<<endl;
iterasi=67;
}
else
{
iterasi=iterasi;
}
cout<<"silakan mengentri nilai toleransi untuk divergensi ";cin>>tol;
iterasi_utama();
output_utama();
}

void jenis_rel()
{
cout<<"Silakan Mengentrikan nomor jenis Bus yang anda pilih! "<<endl;
cout<<"Untuk nomor 1 adalah jenis Slack Bus "<<endl;
cout<<"Untuk nomor 2 adalah jenis PV Bus "<<endl;
cout<<"Untuk nomor 3 adalah jenis PQ Bus "<<endl;
cout<<"Dimana Bus ke-1 adalah Slack Bus";
cout<<"(tetapan : Slack pada rel no 1 dan jumlahnya 1)"<<endl;
Rel[1]=1;

for(a=2;a<=brs;a++)
{
cout<<"Jenis Bus ke-"<<a<<" adalah Bus dengan nomor : ";
cin>>Rel[a];
if((Rel[a]==1)||(Rel[a]<=0)||(Rel[a]>3))
{
a--;
cout<<"Maaf terjadi kesalahan, Tolong anda Ulangi "<<endl;
continue;
}
else
{}
}

for(a=1;a<=brs;a++)
{
if(Rel[a]==1)
jum_Slack=jum_Slack+1;

else if(Rel[a]==2)
jum_PV=jum_PV+1;

else if(Rel[a]==3)
jum_PQ=jum_PQ+1;
}

cout<<"Jumlah Slack Bus = "<<jum_Slack<<endl;


cout<<"Jumlah PV Bus = "<<jum_PV<<endl;
cout<<"Jumlah PQ Bus = "<<jum_PQ<<endl;
cout<<endl<<endl;
}

void entri_Y()
{
cout<<"Silakan Mengentri nilai Resistansi(R, ohm)dan reaktansi(Y, ohm),";
cout<<"serta line charging(B, mho) tiap Bus! "<<endl;
cout<<"Data entri dalam bentuk pu (per unit)"<<endl;
cout<<"Dimana Bus kirim lebih kecil dari Bus terima"<<endl;

FRISAL ARGHA KUSUMAH


0610630040 Page 2
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
garis1();cout<<endl;

for(i=1;i<=jum_el;i++)
{
cout<<"Tolong hati-hati dalam mengentrikan data tiap bus!"<<endl;
cout<<"Data elemen ke-"<<i<<endl;
cout<<"Dari Bus Kirim : ";cin>>a;
cout<<"Menuju Bus Terima : ";cin>>b;
if((a>brs)||(b>brs)||(a>=b)||(a<=0))
{
i--;
cout<<"Maaf, Data BUS yang anda entrikan salah, tolong dicek lagi"<<endl;
continue;
}
cout<<" Silakan mengentri nilai R = ";cin>>input;
r[a][b]=r[a][b]+input;
cout<<" Silakan mengentri nilai Y = ";cin>>input;
y[a][b]=y[a][b]+input;
cout<<" Silakan mengentri nilai B = ";cin>>input;
input=input/2;
half_line[a][b]=half_line[a][b]+input;
cout<<endl<<endl;
}

for (a=1;a<=brs;a++)
for (b=1;b<=kol;b++)
{
d2=((r[a][b]*r[a][b])+(y[a][b]*y[a][b]));
cout<<"d2= "<<d2<<endl;
if (d2==0)
{
G[a][b]=0;
B[a][b]=0;
}
else if (d2>0)
{
G[a][b]=r[a][b]/d2;
B[a][b]=-y[a][b]/d2;
}
}
{
for (a=1;a<=brs;a++)
for (b=1;b<=kol;b++)
{
if(a>b)
{
G[a][b]=G[b][a];
B[a][b]=B[b][a];
half_line[a][b]=half_line[b][a];
}
else
{
G[a][a]=0;
B[a][a]=0;
half_line[a][a]=0;
}
}
}

{
for (a=1;a<=brs;a++)
for (b=1;b<=kol;b++)

FRISAL ARGHA KUSUMAH


0610630040 Page 3
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
if(a==b)
{
{
for(j=1;j<=kol;j++)
{
diaG[a] = diaG[a]+G[a][j];
diaB[a] = diaB[a]+B[a][j];
dia_S[a] = dia_S[a]+half_line[a][j];
}

Y1[a][a]=diaG[a];
Y2[a][a]=diaB[a]+dia_S[a];
}
}

else if(a<b)
{
Y1[a][b]=-(G[a][b]);
Y2[a][b]=-(B[a][b]);
}

else
{
Y1[a][b]=-(G[b][a]);
Y2[a][b]=-(B[b][a]);
}
}

for (a=1;a<=brs;a++)
for (b=1;b<=kol;b++)
{
input=(Y1[a][b]*Y1[a][b]+Y2[a][b]*Y2[a][b]);
Y[a][b]=sqrt(input);

if (Y1[a][b]<0)
{
if(Y2[a][b]<0)
{
teta[a][b]=pi+atan(Y2[a][b]/Y1[a][b]);
}
else if(Y2[a][b]==0)
{
teta[a][b]=pi;
}
else
{
teta[a][b]=pi+atan(Y2[a][b]/Y1[a][b]);
}
}

else if(Y1[a][b]==0)
{
if(Y2[a][b]<0)
{
teta[a][b]=-(pi/2);
}
else if(Y2[a][b]==0)
{
teta[a][b]=0;
}
else
{
teta[a][b]=(pi/2);

FRISAL ARGHA KUSUMAH


0610630040 Page 4
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
}
}

else
{
if(Y2[a][b]<0)
{
input=atan(Y2[a][b]/Y1[a][b]);
teta[a][b]=input;
}
else if(Y2[a][b]==0)
{
teta[a][b]=0;
}
else
{
input=atan(Y2[a][b]/Y1[a][b]);
teta[a][b]=input;
}
}
}
}

void nilai_awal_rel()
{
cout<<endl<<endl;
cout<<"Silakan Mengentri Nilai awal V, sudut fasa, P, atau Q : "<<endl;
cout<<"Dimana semua satuan dalam pu dan sudut fasa dalam radian : "<<endl;

for(a=1;a<=brs;a++)
{
if(Rel[a]==1)
{
cout<<endl;
cout<<" Silakan Mengentri data bus ke-"<<a<<" (Slack Bus) :"<<endl;
cout<<" Silakan Mengentri nilai V = ";cin>>V[a][0];
cout<<" Silakan Mengentri nilai dho = ";cin>>dho[a][0];
}

else if(Rel[a]==2)
{
cout<<endl;
cout<<" Silakan Mengentri data bus ke-"<<a<<" (PV Bus) :"<<endl;
cout<<" Silakan Mengentri nilai V = ";cin>>V[a][0];
cout<<" Silakan Mengentri nilai P netto (P_sp) = ";cin>>P_sp[a];
cout<<" Untuk keperluan iterasi, diberi nilai awal dho=0 "<<endl;
dho[a][0]=0;
}

else
{
cout<<endl;
cout<<" Silakan Mengentri data bus ke-"<<a<<" (PQ Bus) :"<<endl;
cout<<" Silakan Mengentri nilai P netto (P_sp) = ";cin>>P_sp[a];
cout<<" Silakan Mengentri nilai Q netto (Q_sp)= ";cin>>Q_sp[a];
cout<<" Untuk keperluan iterasi,";
cout<<" diberikan nilai awal V=1 dan dho=0"<<endl;
V[a][0]=1;
dho[a][0]=0;
}
}
}

FRISAL ARGHA KUSUMAH


0610630040 Page 5
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

void daya_tiap_rel()
{
for(a=1;a<=brs;a++)
{
if(Rel[a]==1)
{ }

else if(Rel[a]==2)
{
a1=0;
for (b=1;b<=brs;b++)
{
a2=a2+V[a][0]*V[b][0]*Y[a][b]*cos(teta[a][b]-dho[a][0]+dho[b][0]);
}
P[a][0]=a2;
delta_P[a][0]=P_sp[a]-P[a][0];
}

else
{ a2=a3=0;
for (b=1;b<=brs;b++)
{
a2=a2+V[a][0]*V[b][0]*Y[a][b]*cos(teta[a][b]-dho[a][i]+dho[b][0]);
a3=a3+V[a][0]*V[b][0]*Y[a][b]*sin(teta[a][b]-dho[a][0]+dho[b][0]);
}
P[a][0]=a2;
Q[a][0]=-a3;
delta_P[a][0]=P_sp[a]-P[a][0];
delta_Q[a][0]=Q_sp[a]-Q[a][0];
}
}
}

void matriks_B1()
{
{
for(i=2;i<=brs;i++)
for(j=2;j<=brs;j++)
{
mata[i][j]=Y2[i][j];
}

for(i=2;i<=brs;i++)
for(j=2;j<=brs;j++)
{
if(i==j)
inv[i][j]=1;

else
inv[i][j]=0;
}

cout<<"\n\n";
for(tlh=2;tlh<=brs;tlh++)
{
for(j=2;j<=brs;j++)
{
if(tlh==j)
{
bag=mata[tlh][j];
for(j=2;j<=brs;j++)
{

FRISAL ARGHA KUSUMAH


0610630040 Page 6
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
mata[tlh][j]=mata[tlh][j]/bag;
inv[tlh][j]=inv[tlh][j]/bag;
}
}
}
for(i=2;i<=brs;i++)
{
if(i!=tlh)
{
kli=mata[i][tlh];
for(j=2;j<=brs;j++)
{
mata[i][j]=mata[i][j]-kli*mata[tlh][j];
inv[i][j]=inv[i][j]-kli*inv[tlh][j];
}
}
}
}

for(i=2;i<=brs;i++)
for(j=2;j<=brs;j++)
{
inv_B1[i][j]=inv[i][j];
}
}
//convert
cout<<endl<<endl<<endl;
for(j=1;j<=brs;j++)
{
inv_B1[1][j]=inv_B1[j][1]=0;
}

for(i=1;i<=brs;i++)
for(j=1;j<=brs;j++)
cout<<"J1["<<i<<"]["<<j<<"]="<<inv_B1[i][j]<<endl;

void matriks_B2()
{
for(a=1;a<=(brs-c+1);a++)
for(b=1;a<=brs;a++)
{
matB2[a][b]=Y2[a][b];
}

//seleksi baris
{
for(c=1;c<=brs;c++)
{
if(Rel[c]==3)
{
iter_brs=iter_brs+1;
for(b=1;b<=kol;b++)
{
matB2[iter_brs][b]=Y2[c][b];
}
}

else
{}

FRISAL ARGHA KUSUMAH


0610630040 Page 7
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
}
}

//seleksi kolom
{
for(c=1;c<=brs;c++)
{
if(Rel[c]==3)
{
iter_kol=iter_kol+1;
for(b=1;b<=iter_brs;b++)
{
cout<<endl;
matB2[b][iter_kol]=matB2[b][c];
}
}

else
{}
}
}

// invers matriks B2
{
for(i=1;i<=iter_brs;i++)
for(j=1;j<=iter_brs;j++)
{
mata[i][j]=matB2[i][j];
}

for(i=1;i<=iter_brs;i++)
for(j=1;j<=iter_brs;j++)
{
if(i==j)
inv[i][j]=1;

else
inv[i][j]=0;
}

cout<<"\n\n";
for(tlh=1;tlh<=iter_brs;tlh++)
{
for(j=1;j<=iter_brs;j++)
{
if(tlh==j)
{
bag=mata[tlh][j];
for(j=1;j<=iter_brs;j++)
{
mata[tlh][j]=mata[tlh][j]/bag;
inv[tlh][j]=inv[tlh][j]/bag;
}
}
}
for(i=1;i<=iter_brs;i++)
{
if(i!=tlh)
{
kli=mata[i][tlh];
for(j=1;j<=iter_brs;j++)
{

FRISAL ARGHA KUSUMAH


0610630040 Page 8
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
mata[i][j]=mata[i][j]-kli*mata[tlh][j];
inv[i][j]=inv[i][j]-kli*inv[tlh][j];
}
}
}
}

}
cout<<endl<<endl;

// convert
for(a=1;a<=brs;a++)
{
if(Rel[a]==3)
{
iter_B2=iter_B2+1;
iter_B3=0;
for(b=1;b<=brs;b++)
{
if(Rel[b]==3)
{
iter_B3=iter_B3+1;
inv_B2[a][b]=inv[iter_B2][iter_B3];
cout<<"J["<<a<<"]["<<b<<"]="<<inv_B2[a][b]<<endl;
}
else
{
inv_B2[a][b]=0;
cout<<"J["<<a<<"]["<<b<<"]="<<inv_B2[a][b]<<endl;
}
}
}

else
{
for(b=1;b<=brs;b++)
{
inv_B2[a][b]=0;
cout<<"J["<<a<<"]["<<b<<"]="<<inv_B2[a][b]<<endl;
}
}
}

void iterasi_utama()
{
for(i=1;i<=iterasi;i++)
{
for(j=1;j<=brs;j++)
{
if(Rel[j]==1)
{
dho[j][i]=dho[j][i-1];
V[j][i]=V[j][i-1];
}

else if(Rel[j]==2)
{
b1=0;
for(a=2;a<=brs;a++)

FRISAL ARGHA KUSUMAH


0610630040 Page 9
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
{
b1=b1+inv_B1[j][a]*delta_P[a][i-1]/V[a][i-1];
}

delta_V[j][i-1]=0;
delta_dho[j][i-1]=-b1;

dho[j][i]=dho[j][i-1]+delta_dho[j][i-1];
V[j][i]=V[j][i-1];

else if (Rel[j]==3)
{
b2=b3=0;
for(a=2;a<=brs;a++)
{
b2=b2+inv_B1[j][a]*delta_P[a][i-1]/V[a][i-1];
b3=b3+inv_B2[j][a]*delta_Q[a][i-1]/V[a][i-1];
}

delta_dho[j][i-1]=-b2;
delta_V[j][i-1]=-b3;

dho[j][i]=dho[j][i-1]+delta_dho[j][i-1];
V[j][i]=V[j][i-1]+delta_V[j][i-1];

}
}

//for ke dua untuk daya baru


for(j=1;j<=brs;j++)
{
if(Rel[j]==1)
{}

else if(Rel[j]==2)
{
a1=0;
for (b=1;b<=brs;b++)
{
a1=a1+V[j][i]*V[b][i]*Y[j][b]*cos(teta[j][b]-dho[j][i]+dho[b]
[i]);
}
P[j][i]=a1;

delta_P[j][i]=P_sp[j]-P[j][i];
}

else if(Rel[j]==3)
{
a2=a3=0;
for (b=1;b<=brs;b++)
{
a2=a2+V[j][i]*V[b][i]*Y[j][b]*cos(teta[j][b]-dho[j][i]
+dho[b][i]);
a3=a3+V[j][i]*V[b][i]*Y[j][b]*sin(teta[j][b]-dho[j][i]
+dho[b][i]);
}
P[j][i]=a2;
Q[j][i]=-a3;

delta_P[j][i]=P_sp[j]-P[j][i];

FRISAL ARGHA KUSUMAH


0610630040 Page 10
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
delta_Q[j][i]=Q_sp[j]-Q[j][i];
}
}//penutup for ke-2
}
}

void garis1()
{
for(int i=1;i<=50;i++)
cout<<"-";

void garis2()
{
for(int i=1;i<=80;i++)
cout<<"=";
}

void output_utama()
{
clrscr();
//OUTPUT HEADER
{
garis2();
cout<<"Alhamdulillah telah didapat hasil perhitungan sebagai berikut :"<<endl;
garis2();garis2();
cout<<" PROGRAM ANALISIS LOAD FLOW"<<endl;
cout<<" METODE FAST DECOUPLE NEWTON RAPHSON "<<endl;
cout<<" disajikan oleh Frisal Argha Kusumah"<<endl;
cout<<" Peserta Mata Kuliah ASD II"<<endl;
cout<<" Dengan NIM 0610630040"<<endl;
cout<<" Teknik Elektro Universitas Brawijaya Malang"<<endl;
garis2();garis2();

cout<<" DATA JARINGAN YANG ANDA ENTRIKAN"<<endl;


garis2();
cout<<endl;

for(a=1;a<=brs;a++)
{
if(Rel[a]==1)
cout<<"Rel ke-"<<a<<" adalah Slack Bus"<<endl;

else if(Rel[a]==2)
cout<<"Rel ke-"<<a<<" adalah PV Bus"<<endl;

else if(Rel[a]==3)
cout<<"Rel ke-"<<a<<" adalah PQ Bus"<<endl;
}

cout<<endl;
cout<<"JUMLAH SLACK BUS : "<<jum_Slack<<endl;
cout<<"JUMLAH PV BUS : "<<jum_PV<<endl;
cout<<"JUMLAH PQ BUS : "<<jum_PQ<<endl;

cout<<endl;
cout<<"JUMLAH BUS : "<<brs<<endl;
cout<<"JUMLAH ELEMEN : "<<jum_el<<endl;
cout<<endl<<endl<<endl;

garis2();
cout<<" DATA AWAL JARINGAN ANDA ENTRIKAN ADALAH "<<endl;

FRISAL ARGHA KUSUMAH


0610630040 Page 11
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
garis2();cout<<endl;
for(a=1;a<=brs;a++)
{
if(Rel[a]==1)
{
cout<<"DATA AWAL BUS KE-"<<a<<endl;
cout<<"V = "<<V[a][0]<<endl;
cout<<"Sudut fasa = "<<dho[a][0]<<endl;
cout<<endl;
}

else if(Rel[a]==2)
{
cout<<"DATA AWAL BUS KE-"<<a<<endl;
cout<<"V = "<<V[a][0]<<endl;
cout<<"P netto (P_sp) = "<<P_sp[a]<<endl;
cout<<"dho = "<<"0"<<endl;
cout<<endl;
}

else if(Rel[a]==3)
{
cout<<"DATA AWAL BUS KE-"<<a<<endl;
cout<<"P netto (P_sp) = "<<P_sp[a]<<endl;
cout<<"Q netto (Q_sp) = "<<Q_sp[a]<<endl;
cout<<"V = "<<"0"<<endl;
cout<<"dho = "<<"0"<<endl;
cout<<endl;
}
}
cout<<endl<<endl<<endl;

garis2();
cout<<" MATRIKS Y BUS "<<endl;
garis2();cout<<endl;
{
for (a=1;a<=brs;a++)
{
cout<<endl;
for (b=1;b<=kol;b++)
cout<<setw(7)<<" ("<<Y1[a][b]<<" ; "<<Y2[a][b]<<") ";
}
}
cout<<endl<<endl<<endl;

garis2();
cout<<" MATRIKS B' "<<endl;
garis2();cout<<endl;
{
for(i=2;i<=brs;i++)
{
cout<<endl;
for(j=2;j<=brs;j++)
cout<<setw(12)<<inv_B1[i][j];
}
}
cout<<endl<<endl<<endl;

garis2();
cout<<" MATRIKS B'' "<<endl;
garis2();cout<<endl;

FRISAL ARGHA KUSUMAH


0610630040 Page 12
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
{
for(i=1;i<=iter_brs;i++)
{
cout<<endl;
for(j=1;j<=iter_brs;j++)
cout<<setw(7)<<inv[i][j];
}
}
cout<<endl<<endl<<endl;
}

garis2();
cout<<" ITERASI "<<endl;
garis2();
cout<<"JUMLAH ITERASI :"<<iterasi<<endl;
cout<<"TOLERANSI :"<<tol<<endl;
garis2();cout<<endl;

for(a=1;a<=brs;a++)
{
if (Rel[a]==1)
{
garis1();cout<<endl;
cout<<"ITERASI BUS KE-"<<a<<endl;
garis1();cout<<endl;
cout<<"It."<<setw(9)<<" delta_V "<<setw(9)<<" V "<<setw(9)<<"
delta_dho "<<setw(9)<<"dho"<<endl;
garis2();

for(i=1;i<=iterasi;i++)
{
cout<<setw(2)<<i<<"."<<setw(9)<<delta_V[a][i-1]<<setw(11)<<V[a]
[i]<<setw(11)<<delta_dho[a][i-1]<<setw(11)<<dho[a][i]<<endl;
}
}

else if (Rel[a]==2)
{
cout<<endl<<endl;
garis2();
garis1();cout<<endl;
cout<<"ITERASI BUS KE-"<<a<<endl;
garis1();cout<<endl;
cout<<"It."<<setw(9)<<" P "<<setw(9)<<" delta_P ";
cout<<setw(9)<<" delta_V "<<setw(9)<<" V ";
cout<<setw(9)<<" delta_dho "<<setw(9)<<"dho"<<endl;
garis2();

for(i=1;i<=iterasi;i++)
{
cout<<setiosflags(ios::fixed);
cout<<setw(2)<<i<<"."<<setw(9)<<setprecision(5)<<P[a][i-
1]<<setw(9)<<setprecision(5)<<delta_P[a][i-1];
cout <<setw(11)<<setprecision(5)<<delta_V[a][i-
1] <<setw(11)<<setprecision(5)<<V[a][i];
cout <<setw(11)<<setprecision(5)<<delta_dho[a]
[i-1]<<setw(11)<<setprecision(5)<<dho[a][i]<<endl;
}
}

else if (Rel[a]==3)
{
cout<<endl<<endl;

FRISAL ARGHA KUSUMAH


0610630040 Page 13
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON
garis2();
garis1();cout<<endl;
cout<<"ITERASI BUS KE"<<a<<endl;
garis1();cout<<endl;
cout<<"It."<<setw(9)<<" P "<<setw(14)<<" delta_P ";
cout<< setw(9)<<" Q "<<setw(14)<<" delta_Q "<<endl;
garis1();cout<<endl;
for(i=1;i<=iterasi;i++)
{
cout<<setiosflags(ios::fixed);
cout<<setw(2)<<i<<"."<<setw(11)<<setprecision(5)<<P[a][i-
1]<<setw(11)<<setprecision(4)<<delta_P[a][i-1];
cout<< setw(11)<<setprecision(5)<<Q[a][i-
1]<<setw(11)<<setprecision(4)<<delta_Q[a][i-1]<<endl;

cout<<endl<<endl;
cout<<"It."<<setw(9)<<" delta_V "<<setw(9)<<" V ";
cout<< setw(15)<<" delta_dho "<<setw(10)<<"dho"<<endl;
garis1();cout<<endl;
for(i=1;i<=iterasi;i++)
{
cout<<setiosflags(ios::fixed);
cout<<setw(2)<<i<<"."<<setw(11)<<setprecision(5)<<delta_V[a][i-1]
<<setw(11)<<setprecision(5)<<V[a][i];
cout<< setw(11)<<setprecision(5)<<delta_dho[a][i-
1]<<setw(13)<<setprecision(5)<<dho[a][i]<<endl;
}
}
}
// output terakhir
garis2();
cout<<" PADA ITERASI TERAKHIR "<<endl;
garis2();cout<<endl;

cout<<"PADA ITERASI TERAKHIR"<<endl<<endl;


for(a=1;a<=brs;a++)
{
garis1();cout<<endl;
cout<<"DATA AKHIR BUS KE-"<<a<<endl;
garis1();cout<<endl;
cout<<"delta dho["<<a<<"] = "<<delta_dho[a][iterasi]<<endl;
cout<<"delta V["<<a<<"] = "<<delta_V[a][iterasi]<<endl;
cout<<"V["<<a<<"] = "<<V[a][iterasi]<<endl;
cout<<"dho["<<a<<"] = "<<dho[a][iterasi]<<endl;
cout<<"P["<<a<<"] = "<<P[a][iterasi]<<endl;
cout<<"Q["<<a<<"] = "<<Q[a][iterasi]<<endl;
}
cout<<"Terima Kasih Telah menggunakan Program ini ^_^"<<endl;
}

FRISAL ARGHA KUSUMAH


0610630040 Page 14
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

SCREEN SHOT STARTING PROGRAM

FRISAL ARGHA KUSUMAH


0610630040 Page 15
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

SCREEN SHOT HASIL PERHITUNGAN PROGRAM


Pada screenshot hasil program ini data-data yang
dientrikan berdasarkan soal tugas besar :

FRISAL ARGHA KUSUMAH


0610630040 Page 16
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

FRISAL ARGHA KUSUMAH


0610630040 Page 17
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

FRISAL ARGHA KUSUMAH


0610630040 Page 18
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

FRISAL ARGHA KUSUMAH


0610630040 Page 19
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

FRISAL ARGHA KUSUMAH


0610630040 Page 20
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

FRISAL ARGHA KUSUMAH


0610630040 Page 21
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

FRISAL ARGHA KUSUMAH


0610630040 Page 22
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

FRISAL ARGHA KUSUMAH


0610630040 Page 23
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

fungsi jenis rel


fungsi main
START START

DEKLARASI FUNGSI tulis


DAN VARIABEL “info tetapan”

baca a=2;a<=brs;a++
jumlah bus dan elemen
Baca
Rel [a]
jenis_rel()

Rel N
entri_Y()
[a]==1

nilai_awal_rel() Y Rel N
[a]==2
tulis Y
daya_tiap_rel() “input salah”
jum_PV=jum_PV+1
matriks_B1()
jum_PQ=jum_PQ+1
matriks_B2()

baca
iterasi maks.,toleransi

iterasi_utama()
Membuat Y rel
output_utama()
END
STOP

Fungsi nilai_awal_rel

START

tulis
“Input nilai awal V,
dho, P, Q”

a=1;a<=brs;a++

Rel N
[a]==1
Y
Rel N
baca [a]==2
dho[a][0],V[a][0 baca
] Y P[a][0],Q[a][0]
baca
P[a][0],V[a][0]

FRISAL ARGHA KUSUMAH END


0610630040 Page 24
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

Fungsi entri Y
START

a=1;a<=brs;a++

b=1;b<=kol;b++

baca
r[a][b],y[a][b],B[a][b]

a=1;a<=brs;a++

b=1;b<=kol;b++
A
N
a==b

Y
diaB[a]=0 N
a<b
j=1;j<=kol;j++ Y
Y2[a][b]=-(B[a][b]) Y2[a][b]=-(B[b][a])
diaB[a] = diaB[a]+B[a][j]

Y2[a][a]=diaB[a]

END

fungsi daya tiap rel


START

tulis
“Input nilai awal V,
dho, P, Q”

a=1;a<=brs;a++

Rel N
[a]==1
Y
Rel N
[a]==2
baca baca
dho[a][0],V[a][0] Y P[a][0],Q[a][0]
baca
P[a][0],V[a][0]

END

FRISAL ARGHA KUSUMAH


0610630040 Page 25
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

Fungsi matriks B1 A
START

a=2;a<=brs;a++ i=2;i<=brs;i++
B

b=2;b<=kol;b++ N
i != tlh
Y
mata[i][j]=Y1[i][j]
kli=mata[i][tlh]

i=2;i<=brs;i++ j=2;j<=brs;j++

j=2;j<=brs;j++ mata[i][j]=mata[i][j]-kli*mata[tlh][j];
inv[i][j]=inv[i][j]-kli*inv[tlh][j];

N
Rel [a]==3

Y inv[i][j]=1

inv[i][j]=1
B

i=2;i<=brs;i++

B
j=2;j<=kol;j++
tlh=2;tlh<=brs;tlh++
C
inv_B1[i][j]=inv[i][j]
j=2;j<=brs;j++
A

N END
tlh==j
Y

bag=mata[tlh][j]

j=2;j<=brs;j++

mata[tlh][j]=mata[tlh][j]/bag;
inv[tlh][j]=inv[tlh][j]/bag;

FRISAL ARGHA KUSUMAH


0610630040 Page 26
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

Fungsi matriks B2

START A

a=2;a<=brs;a++ i=2;i<=brs;i++
B

b=2;b<=kol;b++ N
i != tlh
Y
mata[i][j]=Y2[i][j]
kli=mata[i][tlh]

i=2;i<=brs;i++ j=2;j<=brs;j++

j=2;j<=brs;j++ mata[i][j]=mata[i][j]-kli*mata[tlh][j];
inv[i][j]=inv[i][j]-kli*inv[tlh][j];

N
Rel [a]==2

Y inv[i][j]=1

inv[i][j]=1
B

i=2;i<=brs;i++

B
j=2;j<=kol;j++
tlh=2;tlh<=brs;tlh++
C
inv_B2[i][j]=inv[i][j]
j=2;j<=brs;j++
A

N END
tlh==j
Y

bag=mata[tlh][j]

j=2;j<=brs;j++

mata[tlh][j]=mata[tlh][j]/bag;
inv[tlh][j]=inv[tlh][j]/bag;

FRISAL ARGHA KUSUMAH


0610630040 Page 27
TUGAS BESAR ANALISIS SISTEM DAYA II (PROGRAM LOAD FLOW)
METODE FAST DECOUPLED NEWTON RAPHSON

Fungsi output utama Fungsi iterasi utama


START START

tulis
i=1;i<=iterasi;i++
Jenis bus, jumlah bus,
jumlah elemen, data
awal, dan matriks j=1;j<=brs;j++

i=1;i<=iterasi;i++ baca
r[a][b],y[a][b],B[a][b]
j=1;j<=brs;j++

Rel N
N [a]==1
Rel [a]==1
Y Rel N
Y N [a]==2
Rel [a]==2
Y Hitung V,dho
tulis
Iterasi rel slack Y
Hitung V
tulis
Iterasi rel PV

tulis
Iterasi rel
PQ
Update data P,Q, dan delta_V,
delta_dho,delta_P,delta_Q semua bus
tulis
Hasil akhir tiap rel

END
END

FRISAL ARGHA KUSUMAH


0610630040 Page 28

You might also like