Anda di halaman 1dari 8

TUGAS AKHIR AP II

STRUKTUR KENDALI

/* Program Tugas Akhir 1


Menampilkan Huruf Mutu
Labkom - 2009 */

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

main()
{
/* deklarsi variabel */
float nilai;
/* input data */
printf("silahkan masukkan nilai ujian :");
scanf("%f", &nilai);
/* pengkondisian, jika nilai if terpenuhi maka akan menampilkan
statement*/
if (nilai>=80 && nilai<=100)
printf("huruf mutu adalah A");/*output*/
else if (nilai>=68 && nilai<=79)
printf("huruf mutu adalah B");
else if (nilai>=58 && nilai<=67)
printf("huruf mutu adalah C");
else if (nilai>=45 && nilai<=57)
printf("huruf mutu adalah D");
else
printf("huruf mutu adalah E");

getch();
}
ANALISA :
Pada kasus ini saya menggunakan tipe data float karena pada nilai
ujian tidak selalu bernilai bulat pasti ada yang bernilai desimal.
Serta menggunakan pengkondisian fungsi IF, pada dasarnya agar dapat
mengkondisikan huruf mutu sesuai dengan nilai ujian yang diinput.

KESIMPULAN :
Program berjalan dengan baik. Dan Huruf mutu dapat tampil sesuai
dengan yang diinginkan.

 TAMPILAN

/* Program Modifikasi Tugas Akhir 2


Menentukan Huruf Mutu dengan Rentang
Labkom - 2009 */

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

float nilai, rentang, batasbawah, batasatas;


char* simbol;
main()
{
printf("masukkan nilai ujian : ");
scanf("%f", &nilai);
if (nilai>=80 && nilai<=100)
{batasbawah=80;batasatas=100;rentang=batasatas-batasbawah;
{if(nilai>=((70*rentang/100+batasbawah)) &&
nilai<=batasatas)simbol="+";
else if(nilai>=batasbawah &&
nilai<=((40*rentang/100)+batasbawah))simbol="-";
else simbol="";}
printf("huruf mutu adalah A%s", simbol);}/*output*/
else if (nilai>=68 && nilai<=79)
{batasbawah=68;batasatas=79;rentang=batasatas-batasbawah;
{if(nilai>=((70*rentang/100+batasbawah)) &&
nilai<=batasatas)simbol="+";
else if(nilai>=batasbawah &&
nilai<=((40*rentang/100)+batasbawah))simbol="-";
else simbol="";}
printf("huruf mutu adalah B%s", simbol);}
else if (nilai>=58 && nilai<=67)
{batasbawah=58;batasatas=67;rentang=batasatas-batasbawah;
{if(nilai>=((70*rentang/100+batasbawah)) &&
nilai<=batasatas)simbol="+";
else if(nilai>=batasbawah &&
nilai<=((40*rentang/100)+batasbawah))simbol="-";
else simbol="";}
printf("huruf mutu adalah C%s", simbol);}
else if (nilai>=45 && nilai<=57)
{batasbawah=45;batasatas=57;rentang=batasatas-batasbawah;
{if(nilai>=((70*rentang/100+batasbawah)) &&
nilai<=batasatas)simbol="+";
else if(nilai>=batasbawah &&
nilai<=((40*rentang/100)+batasbawah))simbol="-";
else simbol="";}
printf("huruf mutu adalah D%s", simbol);}
else
printf("huruf mutu adalah E");

getch();
}
ANALISA :
Pada kasus ini adalah modifikasi dengan rentang program huruf mutu
diatas. Pengkondisian diatas kita menggunakan if bersarang dimana
apabila kondisi if terpenuhi maka akan dilanjutkan dengan fungsi if
selanjutnya, namun pada fungsi if yang pertama kita harus menggunakan
tanda kurung krawal, jika tidak maka akan terjadi error(“misplaced
else”)Perhitungan variabel rentang baru bisa dilakukan jika variabel
batas atas dan variabel batas bawah diketahui nilainya. Fungsi if
untuk menentukan simbol (+,-,””) berjalan dengan baik jika nilai
variabel rentang sudah diketahui nilainya.

KESIMPULAN :
Program berjalan dengan baik. Tampilan huruf mutu dan simbolnya pun
sesuai dengan nilai rentang yang diinputkan

 TAMPILAN

/* Program Tugas Akhir 3


Menghitung Hari
Labkom - 2009 */

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

/* deklarasi variabel*/
int hari1,hari2,bln1,bln2,thn1,thn2,jumlah,a;
main()
{
ulangi: /*untuk mengulang program bila data yang dimasukkan sala */
/* input data */
printf("\n\nmasukkan tanggal pertama <hh bb tt> : ");
scanf("%d %d %d", &hari1,&bln1,&thn1);
printf("masukkan tanggal kedua <hh bb tt> : ");
scanf("%d %d %d", &hari2,&bln2,&thn2);
/*pengkondisian*/
if(hari1<=30 && bln1<=12 && hari2<=30 && bln2<=30)
{a=(thn2-thn1)*12; /* menghitung selisih tahun untuk dapat menghitung
jumlah bulan */
jumlah=(a+(bln2-bln1))*30-hari1+hari2; /*menghitung selisih bulan
untuk menghitung jumlah hari*/
/* output data */
printf("jumlah hari =%d", jumlah);}
else
{printf("\n_data yang anda masukkan tidak memenuhi aturan tanggal_");
goto ulangi;}
getch();
}
ANALISA :
Pada kasus ini mengenai menghitung jumlah hari. Dan pada pengkondisian
untuk mengoreksi kesalahan pada saat menginput data. Apabila input
data tidak sesuai dengan aturan tanggal maka program meminta untuk
memasukkan kembali data yang benar, contoh bila kita menginput bulan
13 maka program meminta mengulangi input data karena pada aturan
tanggal tidak ada bulan ke-13.
KESIMPULAN :
Program memiliki kekurangan karena tidak sesuai dengan kaidah aturan
tanggal yang benar. Program menghitung hari ini hanya dapat menghitung
30 hari dari jumlah hari dalam setiap bulan.
 TAMPILAN

/* Program Tugas Akhir 4


Kredit Kendaraan
Labkom - 2009 */

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

main()
{
int umur, TK, TKr, AS, ST;
float HK, gaji, DP, NK, JBA, APb, BA, ASS, AP, bunga, PA, x, y;
/* deklarasi variabel */
//TK=tahun kendaraan;NK=nominal kredit x=30persen dari harga kendaraan
//TKr=tahun kredit ;JBA=jumlah bulan angsuran y=30 persen dari gaji
//ST=selisih tahun ; AP=angsuran pertama APb=angsuran perbulan
//ASS=asuransi ; PA=persentase asuransi
//DP=uang muka ; AS=asuransi yang diinginkan

printf("\n\nUmur Pemohon Kredit : ");scanf("%d", &umur);


printf("Masukkan harga kendaraan : ");scanf("%f", &HK);
printf("Masukkan tahun kendaraan : ");scanf("%d", &TK);
printf("Masukkan gaji perbulan : ");scanf("%f", &gaji);
printf("Masukkan nilai uang muka(min 30 persen dari harga
kendaraan) :");scanf("%f", &DP);
printf("Masukkan jumlah tahun yang diinginkan untuk kredit\n(min.
1tahun dan maks. 5tahun) :");
scanf("%d", &TKr);
printf("Asuransi yang diinginkan (1.TLO 2.ALL RISK) :");
scanf("%d", &AS);
ST=2009-TK; /*selisih tahun*/
x=(30*HK)/100; /*menghitung 30% dari harga kendaraan*/
y=(30*gaji)/100; /*menghitung 30%dari gaji*/

{
{if (TKr==1)
bunga=(5*HK)/100;
else if((TKr>=2)&&(TKr<=3))
bunga=(8*HK)/100;
else if((TKr>=4)&&(TKr<=5))
bunga=(12*TKr)/100;}
{if(AS==1) //pengkondisian besar persentase asuransi yang diinginkan
AS=(2*HK)/100;
else if(AS==2)
PA=(5*HK)/100;}
}
NK=(HK-DP)+(bunga*TKr*(HK-DP)); //menghitung nominal kredit
JBA=TKr*12; //menghitung jumlah bulan angsuran
APb=NK/JBA; //menghitung asuransi per bulan
BA=(2*NK)/100; //menghitung biaya administrasi
ASS=PA; //menghitung asuransi
AP=APb+BA+ASS; //menghitung angsuran pertama
if(umur>=27 && umur<=55 && ST<=3 && APb<=y && DP>=x && AS<=2)
{printf("Kredit anda disetujui dengan angsuran pertama adalah:Rp
%.2f\n",AP);
printf("Angsuran per bulan anda adalah:Rp %.2f",APb); }
else
printf("Maaf permohonan kredit anda SALAH karena tidak memenuhi
syarat\n");
getch();}
ANALISA :
1. Pada pengkondisian pertama digunakan untuk menentukan nilai bunga
kredit.

2. Pada pengkondisian kedua digunakan untuk menentukan nilai


assuransi yang diinginkan sesuai dengan nomor (1 atau 2) yang kita
inputkan dalam program.

3. Pada pengkondisian yang terakhir digunakan untuk memeriksa apakah


pengaju kredit sesuai dengan kriteria atau tidak. Umur, angsuran
perbulan mencapai 30 persen dari gaji, uang muka 30 persen dari
harga kendaraan.

4. Fungsi if tersebut menggunakan kurung krawal karena mempunyai lebih


dari satu statement. Jika terpenuhi maka akan menampilkan statement
tersebut, namun jika tidak maka akan menuju else.

KESIMPULAN :
Program berjalan dengan baik dan dapat digunakan sebagai persyaratan
mengajukan kredit kendaraan, serta dapat juga menghitung jumlah
angsuran perbulan dan angsuran pertama kendaraan.

 TAMPILAN