Anda di halaman 1dari 4

BAB IV

ANALISIS PROGRAM

Program ini dibuat dengan menggunakan bahasa pemrograman C++, yang


berguna untuk mempermudah user dalam menentukan biaya optimal suatu proses
produksi. Dalam pembuatan program ini digunakan empat buah fungsi yaitu
main, loading, EPQ dan DQ.
User diminta untuk memasukkan password terlebih sebelum memulai program.
Dalam pembuatan password digunakan konsep keputusan dengan statement if.
Jika User salah dalam mengimputkan password, maka program langsung selesai.
Tapi, passwordnya sudah ditampilkan untuk mempermudah user.
cout<<"Password = 4262\n";
cout<<"Masukkan Password!! \n";
cin>>p;
cout<<endl;
if (p==4262)
{
Pernyataan;
}
else
cout<<"Password Anda Salah!! \n";
Pada fungsi main digunakan konsep keputusan dengan menggunakan
keyword switch yang terdiri dari dua case, yaitu jika user memilih 1 maka akan
dipanggil fungsi EPQ, dan jika memilih 2 maka yang akan dipanggil adalah
fungsi DQ.Untuk lebih jelasnya berikut listing programnya.
switch (pilih)
{
case 1:
cout<<"Metode EPQ (Economic Production
Quantity)\n";

cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
Tugas Besar Logika Pemrograman

cout<<endl;
EPQ();
break;
case 2:
cout<<"Discount Quantity Model\n";
cout<<"~~~~~~~~~~~~~~~~~~~~~~~\n";
cout<<endl;
DQ();
break;
default:
cout<<"maaf\n";
}
Penggunaan break bertujuan untuk menghentikan proses setelah salah satu
case dipilih, sehingga case yang lain tidak dieksekusi.Default berfungsi jika user
tidak memilih salah satu dari case yang ada.
Jika user memilih case 1 maka dijalankan fungsi EPQ. Untuk mempermudah
pemahamannya berikut listing program yang dibuat.
int EPQ()
{
int hari1,hari;
double T,T1,TC,Q,k,h,c,B,A;
cout<<"Biaya Production Run = ";
cin>>k;
cout<<"Holding Cost % = ";
cin>>h;
cout<<"Biaya Produsi Variabel Perunit = ";
cin>>c;
cout<<"Tingkat Produksi Pertahun = ";
cin>>B;
cout<<"Permintaan Barang Pertahun = ";
cin>>A;
cout<<endl;
loading();

Laboratorium Sistem Informasi dan Komputasi 2008 56


Tugas Besar Logika Pemrograman

cout<<endl;
Q = sqrt(2*A*k/((h/100)*c))*sqrt(B/(B-A));
T1=Q/B;
T=Q/A;
hari1=T1*360;
hari=T*360;
TC=(A*k/Q)+((h/100)*c*Q*(B-A))/2*B;
cout<<"Besar Produksi Optimal = "<<Q<<"
unit"<<endl;
cout<<endl;
cout<<"Biaya Total =
"<<TC<<setiosflags(ios::fixed)<<setprecision(2)<<" ,-
pertahun"<<endl;
cout<<endl;
cout<<"Lama Setiap production Run = "<<T1<<"
tahun =
"<<hari1<<setiosflags(ios::fixed)<<setprecision(2)<<"
hari"<<endl;
cout<<endl;
cout<<"Production Run Berikutnya = "<<T<<"
tahun kemudian atau kurang lebih
"<<hari<<setiosflags(ios::fixed)<<setprecision(2)<<"
hari kemudian"<<endl;
return 0;
}
Pada listing program di atas user disuruh mengimputkan data yaitu untuk
k, h, c, B dan A. Sementara menunggu proses perhitungan maka dipanggil fungsi
loading. Kemudian akan tampil hasil perhitungannya yaitu nilai Q, T1, T, hari1,
hari dan TC. Penggunaan manipulator
<<setiosflags(ios::fixed)<<setprecision(2) berfungsi agar
nilai double yang tampil hanya dua angka di belakang koma.
Jika user memilih case 2 maka fungsi yang akan dijalankan adalah fungsi
DQ. Pada fungsi ini user diminta untuk memasukan interval untuk paket diskon

Laboratorium Sistem Informasi dan Komputasi 2008 57


Tugas Besar Logika Pemrograman

yang pertama. Kemudian ditampilkan paket diskon yang lain, namun hanya tiga
paket diskon. Seharusnya user bisa menginputkan jumlah paket diskon sebanyak
yang diinginkan, namun hal tersebut sulit dilakukan karena keterbatasan
kemampuan programer.
Setelah paket diskon dieksekusi, user diminta untuk memasukkan harga
satuan dari produk dan % diskon untuk masing-masing paket diskon tersebut.
Kemudian dihitung harga satuan setelah mendapat diskon.
Setelah itu user diminta untuk memasukan Holding Cost dalam %,
Ordering Cost, Jumlah Permintaan Pertahun untuk menentukan total cost masing-
masing paket diskon.
Ada tiga buah total cost yang harus ditentukan nilai minimumnya. Ini
dapat dilakukan dengan cara pengurutan data. Programer mengurutkan data dari
kecil ke besar dengan sintak sebagai berikut :
for (i=1; i<=3; i++)
{
for (k=3; k>=0; k--)
{
if (TC[k] < TC[k-1])
{
temp = TC[k];
TC[k] = TC[k-1];
TC[k-1] = temp;
}
}
}
Sehingga dapat ditemukan total cost minimum pada TC[1].

Laboratorium Sistem Informasi dan Komputasi 2008 58

Anda mungkin juga menyukai