Anda di halaman 1dari 7

LAPORAN AKHIR STRUKTUR KENDALI AP II

SUNNY INEZA PUTRI 140310110017

I.

Tugas Akhir 1 Buatlah program C yang bertujuan untuk menghitung jumlah hari dengan input adalah tanggal, bulan, dan tahun yang diinginkan Listing program:
/* Tugas Akhir 1 AP -II Struktur Kendali */ #include <stdio.h> #include <conio.h> main() { int dd1,dd2,mm1,mm2,yy1,yy2,d, m, y, jml; printf("Masukkan tgl pertama : "); scanf("%d %d %d",&dd1,&mm1,&yy1); printf("Masukkan tgl kedua : "); scanf("%d %d %d",&dd2,&mm2,&yy2); if(dd1>31 || mm1>12 || dd2>31 && mm2>12) printf("Tanggal yang anda masukan salah\n"); else { {if (yy1==yy2) y=0; else if (yy2>yy1) y=(yy2-yy1)*12; else y=(yy1-yy2)*12;}

{if (mm1==mm2) m=0; else if (mm2>mm1) m=(mm2-mm1); else m=(mm1-mm2);} {if (dd1==dd2) d=0; else if (dd2>dd1) d=(dd2-dd2); else d=(dd1-dd2);} jml=(y+m)*31+d;} printf("Jumlah hari : %d", jml); getch(); return 0; }

Tampilan:

Analisa: Pertama kita melakukan pengkondisian untuk hari tidak lebih dari 31 dan bulan tidak lebih dari 12. Jika tidak memenuhi syarat, maka perhitungan tidak akan dilakukan. Kemudian kita melakukan pengkondisian terhadap hari, bulan dan tahun untuk tanggal pertama dan kedua. Jika hari/bulan/tahun pertama dan kedua sama maka untuk selisihnya (d/m/y) sama dengan nol. Jika hari/bulan/tahun pertama lebih besar daripada yg kedua maka selisihnya (d/m/y) tanggal pertama dikurang tanggal kedua. Jika hari/bulan/tahun kedua lebih besar daripada yg pertama maka selisihnya (d/m/y) tanggal kedua dikurang tanggal pertama. Untuk selisih tahun (y) dikalikan dengan 12 (jumlah bulan dalam setahun). Kemudian ditambahkan dengan selisih bulan (m). y dan m ditambahkan kemudian dikalikan dengan 31

(banyak hari dalam sebulan). Setelah itu, ditambahkna lagi dengan selisih hari (d). Maka akan didapatkan jumlah hari dari selisih tanggal yg telah dimasukkan. Dalam program ini menggunakan statemen if..else.. sebanyak 3 kali, karena ada tiga variabel yang dipakai. Yaitu variabel tahun, bulan dan hari. Untuk pengkondisian menghitung jumlah hari masih masuk kedalam kondisi else yang diberi kurung kurawal. Untuk memberitahukan bahwa statemen dalam kondisi else sampai pada penjumlahan. Jadi yg digunakan ini disebut dengan kondisi dalam kondisi. II. Tugas Akhir 2 Buatlah program C untuk analisa kredit kendaraan Listing Program:
/* Tugas Akhir 2 AP - II Struktur Kendali */ #include <stdio.h> #include <conio.h> #include <stdlib.h> main() { int umur, harga, tahun, gaji, UM, waktu, tipe, nomkre, blnangs, admin, asuransi, angsper, angsuran; float bunga, ass; printf("Masukkan umur pemohon kredit : "); scanf("%d", &umur); if ((umur>=27)&&(umur<=55)) {printf("Masukkan harga kendaraan : Rp. "); scanf("%d", &harga);} else {printf("Umur Anda tidak bisa melakukan pengajuan kredit"); exit(umur);} printf("Masukaan tahun kendaraan : "); scanf("%d", &tahun); if ((tahun>=2012)&&(tahun<=2015)) {printf("Masukkan gaji per bulan : Rp. "); scanf("%d", &gaji);} else {printf("Tahun kendaraan Anda tidak memenuhi kriteria"); exit(tahun);}

printf("Masukkan nilai uang muka (min 30 persen dari harga kendaraan) : "); scanf("%d", &UM); if (UM<=(0.3*harga)) {printf("Uang muka Anda tidak mencukupi untuk melakukan kredit"); exit(UM);} else {printf("Masukkan jumlah tahun yang diinginkan untuk kredit (minimal 1 tahun dan maksimal 5 tahun) : "); scanf("%d", &waktu); if(waktu == 1) bunga = 0.05; else if(waktu >= 2 && waktu <= 3) bunga = 0.08; else if(waktu >= 4 && waktu <= 5) bunga = 0.12; else printf("Waktu yang Anda masukkan tidak memenuhi");} printf("Assuransi yang diinginkan (1. TLO 2. ALL RISK) : "); scanf("%d", &tipe); switch(tipe) { case 1: ass = 0.02; break; case 2: ass = 0.05; break; default: printf("Pilihan tidak tersedia!"); } nomkre = (harga - UM) + (bunga * waktu * (harga - UM)); blnangs = (waktu * 12); angsuran = nomkre / blnangs; admin = 0.02 * nomkre; asuransi = ass * harga; angsper = angsuran + admin + asuransi; printf("\nKredit Anda disetujui dengan angsuran pertama adalah : Rp. %d\n", angsper); printf("Angsuran per bulan Anda adalah: Rp. %d\n", angsuran); getch();

Tampilan:

Analisa: Pertama, kita memasukkan umur. umur kita kondisikan hanya akan dilakukan perhitungan jika umurnya dari 27 tahun sampai 55 tahun. Jika tidak memenuhi syarat program akan langsung keluar. Jika umur memenuhi syarat maka akan diminta untuk memasukkan harga kendaraan. Kedua, kita memasukkan tahun kendaraan. syaratnya adalah maksimal tiga tahun dari tahun 2012. Jika tidak memenuhi syarat program akan langsung keluar. Jika tahun kendaraan memenuhi syarat maka akan diminta untuk memasukkan gaji per bulan. Ketiga, kita memasukkan uang muka. syaratnya adalah min 30% dari harga kendaraan. Jika tidak memenuhi syarat program akan langsung keluar. Jika uang muka memenuhi syarat maka akan diminta memasukkan jumlah tahun kredit yang diinginkan. Kemudian akan dilakukan pengkondisian dalam kondisi yaitu untuk menentukan bunga berdasarkan waktu yang dimasukkan. Keempat, kita memasukkan tipe asuransi yang diinginkan. disini akan dilakukan penkondisian dengan switch. Karena tipenya ada dua, maka casenya ada dua.

Setelah didapat semua variabel yang dibutuhkan, akan dilakukan proses perhitungan sehingga akan didapat angsuran pertama dan angsuran per bulan.

III.

Tugas Tambahan Buatlah program untuk menentukan nilai mutu dari nilai angka dengan statemen switch Listing program:
/* Tugas Tambahan AP - II Struktur Kendali */ #include <stdio.h> #include <conio.h> main() { int nilai, p, q, r, s, t, range; printf("Masukkan nilai : "); scanf("%d", &nilai); if ((nilai>=80)&&(nilai<=100)) nilai = 1; else if ((nilai>=68)&&(nilai<=79)) nilai = 2; else if ((nilai>=58)&&(nilai<=67)) nilai = 3; else if ((nilai>=45)&&(nilai<=57)) nilai = 4; else if ((nilai>=0)&&(nilai<=45)) nilai = 5; else printf("Nilai yang dimasukkan salah"); switch (nilai) case 1: break; case 2: break; case 3: break; case 4: break; case 5: { printf("Nilai mutu Anda : A"); printf("Nilai mutu Anda : B"); printf("Nilai mutu Anda : C"); printf("Nilai mutu Anda : D"); printf("Nilai mutu Anda : E");

break; default: printf("Nilai yang dimasukkan salah"); } getch(); }

Tampilan:

Analisa: Kita dapat menentukan nilai mutu dari nilai angka dengan menggunakan switch. Tetapi, sebelumnya nilai tersebut dilakukan pengkondisian untuk mengubah nilai dengan rentang tertentu menjadi satu pernyataan. Sehingga satu pernyataan tersebut dapat menjadi sebuah perintah untuk memilih case yang akan dieksekusi. Kenapa dalam bentuk switch terlebih dahulu harus diubah ke dalam satu pernyataan? Karena switch digunakan untuk melakukan pemilihan terhadap nilai yang konstan. Dalam program ini satu pernyataan tersebut hanya dapat berupa angka. Tidak bisa dalam bentuk karakter. Dikarenakan di awal program kita input nilai dalam bentuk bilangan dan bukannya karakter. Sebenarnya untuk program ini menjadi tidak efisien jika dibandingkan dengan langsung memasukkan perintah untuk mencetak nilai mutunya dalam satu kondisi if yang telah ditentukan. IV. Analisa Umum Banyaknya pengkondisian if..else.. yang dipakai biasanya sebanding dengan banyaknya variable yang kita masukkan. Dalam suatu pengkondisian dapat dilakukan suatu kondisi lagi dengan menuliskan kurung kurawal sebagai batas bahwa kondisi tersebut masih masuk pada suatu kondisi. Pengkondisian dengan if, if..else.., dan switch memiliki saat tertentu untuk digunakan dalam program, sesuai dengan kebutuhan program tersebut. Kesimpulan Program berjalan dengan lancar dengan pengkondisian if..else.. dan if..else if.. secara terstruktur. Baik dengan kondisi tunggal ataupun kondisi dalam kondisi.

V.