Program Transportasi dengan Metode Least Cost (bahasa C)


#include<conio.h>
#include<stdio.h>

int main(){
int c[20][20],i,j,min,m,n,b,d,c2,c1,p,q,dem[20],sup[20],rf[20],cf[20],sum=0;
//clrscr();
printf(“\n  =======PROGRAM TRANSPORTASI DENGAN LEAST COST=======”);
printf(“\nIni merupakan Tugas Akhir Mata Kuliah Teknik Riset Operasi”);
printf(“\n\n Modifikasi oleh:”);
printf(“\n Nama  : Emilia Novianti”);
printf(“\n NIM   : 0800325 “);
printf(“\n Kelas : C”);
printf(“\n Ilmu Komputer”);
printf(“\n Universitas Pendidikan Indonesia”);
printf(“\n\n SELAMAT MENCOBA”);

//memasukan jumlah baris dan kolom yang kita mau
printf(“\n\nMasukan Banyaknya Baris dan Kolom:”);
scanf(“%d%d”,&m,&n);

//memasukan nilai cost berdasarkan jumlah row dan kolom yang kita input
printf(“\nMasukan Nilai cost:”);

//looping sebanyak inputan row
for(i=0;i<m;i++)
//looping sebanyak inputan cost
{ for(j=0;j<n;j++)
scanf(“%d”,&c[i][j]);
}

//masukan nilai demand
//demand bergantung dari banyaknya kolom
printf(“\nMasukan Nilai demand:”);
for(i=0;i<n;i++)//looping sebanyak kolom yang diinput
scanf(“%d”,&dem[i]);

//masukan nilai suply
printf(“\nMasukan nilai supply:”);
for(i=0;i<m;i++) //looping sebanyak row
scanf(“%d”,&sup[i]);
printf(“\nMatrix:\n”);
for(i=0;i<m;i++)
{ for(j=0;j<n;j++)
printf(” %d “,c[i][j]);
printf(“%d”,sup[i]);
printf(“\n”);
}
for(j=0;j<n;j++)
printf(“%d “,dem[j]);
for(i=0;i<m;i++)
rf[i]=0;
for(i=0;i<n;i++)
cf[i]=0;
b=m;d=n;
while(b>0&&d>0)
{ min=1000;
for(i=0;i<m;i++)
{ if(rf[i]!=1)
{ for(j=0;j<n;j++)
{ if(cf[j]!=1)
{ if(min>c[i][j])
{ min=c[i][j];
p=i;
q=j;
}
}
}
}
}
if(sup[p]<dem[q])
c1=sup[p];
else
c1=dem[q];
for(i=0;i<m;i++)
{ if(rf[i]!=1)
{ for(j=0;j<n;j++)
{ if(cf[j]!=1)
{ if(min==c[i][j])
{ if(sup[i]<dem[j])
c2=sup[i];
else
c2=dem[j];
if(c2>c1)
{ c1=c2;
p=i;
q=j;
}
}
}
}
}
}
printf(“\n  %d %d %d “,min,p,q);
if(sup[p]<dem[q])
{ sum=sum+c[p][q]*sup[p];
dem[q]-=sup[p];
rf[p]=1;
b–;
}
else
if(sup[p]>dem[q])
{ sum=sum+c[p][q]*dem[q];
sup[p]-=dem[q];
cf[q]=1;
d–;
}
else
if(sup[p]==dem[q])
{ sum=sum+c[p][q]*sup[p];
rf[p]=1;
cf[q]=1;
b–;
d–;
}
printf(“\n %d”,sum);
}
printf(“\n\n  %d”,sum);
printf(“\n\nterima kasih”);
}

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s