Praktikum 10 - ahmadardi06 it

advertisement
Praktikum 10
Looping : while, do ... While
A. TUJUAN PEMBELAJARAN
1. Menjelaskan perbedaan for dan while serta do-while
2. Menjelaskan proses pengulangan menggunakan pernyataan while
3. Menjelaskan proses pengulangan menggunakan pernyataan do-while
B. TUGAS RESMI
1. Untuk setiap listing program dari percobaan-percobaan di atas, ambil capture outputnya.
A. Gunakan loop while untuk membuat program yang dapat menampilkan semua yang
diketikkan di
keyboard sampai yang diketikkan pada keybord huruf ‘X’ (x besar).
Source code :
#include <stdio.h>
main(){
char input;
input = getchar();
while(input != 'X'){
scanf("%c", &input);
}
printf("Berhenti pada saat ada X \n");
}
Output :
Analisa :
B. Gunakan loop while untuk membuat program yang dapat mencari total angka yang
dimasukkan.
Source code :
#include <stdio.h>
main(){
int a=1, input, hasil;
char kepu='y';
while(kepu == 'y' || kepu == 'Y'){
printf("Masukkan bilangan ke-%d : ", a);
scanf("%d", &input);
printf("Mau memasukkan data lagi [y/t] ? : ");
scanf("\n%c", &kepu);
hasil = hasil + input;
a++;
}
printf("Total bilangan : %d\n", hasil);
}
Output :
Analisa :
C. Pada program no 2 tambahkan rata-rata, maksimum dan minimum dari angka yang
dimasukkan.
Source code :
#include <stdio.h>
main(){
int a=1, input=1, max, min, hasil=0;
float rata;
char kepu='y';
printf("Masukkan bilangan ke-%d : ", a);
scanf("%d", &input);
printf("Mau memasukkan data lagi [y/t] ? : ");
scanf("\n%c", &kepu);
max = input;
min = input;
while(kepu == 'y' || kepu == 'Y'){
a++;
printf("Masukkan bilangan ke-%d : ", a);
scanf("%d", &input);
printf("Mau memasukkan data lagi [y/t] ? : ");
scanf("\n%c", &kepu);
hasil = hasil + input;
rata = hasil / a;
if(input > max){ max = input; }
else if(input < min){ min = input; }
}
printf("Total bilangan : %d\n", hasil);
printf("Rata bilangan : %.2f\n", rata);
printf("Max bilangan : %d\n", max);
printf("Min bilangan : %d\n", min);
}
Output :
Analisa :
D. Dengan menggunakan pernyataan looping, 0 1 3 6 10 15 21 28 .... Bilangan ke n.
Source code :
#include <stdio.h>
main(){
int aw=0, la=0, input;
printf("Input : ");
scanf("%d", &input);
while(input > aw){
while(input > la){
la++;
printf("%d ", aw);
aw = aw + la;
}
aw++;
}
}
Output :
Analisa :
E. Gunakan while pada program yang digunakan untuk menghitung banyaknya karakter
dari kalimat yang melalui keyboard (termasuk karakter spasi). Untuk mengakhiri
pemasukan kalimat, tombol ENTER (‘\n’) ditekan.
Source code :
#include <stdio.h>
main(){
int kata=0, spas=0;
char input, cek;
printf("masukkan opo wae : ");
scanf("%c", &input);
while((input=getchar()) != '\n'){
kata++;
if(input == ' ') spas++;
}
printf("kata : %d\n", kata);
printf("spas : %d\n", spas);
}
Output :
Analisa :
F. Buatlah program untuk menghitung jumlah angka dari suatu bilangan.
Source code :
#include <stdio.h>
main(){
int input, hasil, pros;
printf("input angka : ");
scanf("%d", &input);
while(input != 0){
pros = input % 10;
input = input / 10;
printf("%d", pros);
if(input == 0){ printf("= ");}
else{ printf("+");}
hasil = hasil + pros;
}
printf("%d", hasil);
}
Output :
Analisa :
G. Buat program tabungan untuk ibadah haji.
Source code :
#include <stdio.h>
main(){
int awal=0, cicil=0, persen=0, bulan=0, a=0, naik;
printf("biaya awal : "); scanf("%d", &awal);
printf("cicilan : "); scanf("%d", &cicil);
printf("persen : "); scanf("%d", &persen);
naik = awal * persen/100;
while(awal > 0){
bulan++;
if(bulan % 12 == 0){
awal = awal + naik;
}
awal = awal - cicil;
}
printf("waktu melunasi %d bulan\n", bulan);
}
Output :
Analisa :
2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.
Dari semua percobaan diatas saya dapat mengimplementasikan pernyataan while
sebagai perulangan. Fungsi dari while ini sendiri dapat mengulang apa yang kita
kehendaki, seperti menampilkan angka 1 sampai 1000 itu tidak perlu lagi menggunakan
printf() sebanyak 1000 kali. Hanya cukup dengan perintah while ini saja sudah dapat
menampilkan angka 1 sampai 1000 dengan satu statement saja. Penulisan dari pernyataan
while adalah :
While(kondisi){
Statement1; Statement2; .......... StatementN;
}
3. Untuk soal no.6 jika nilai c adalah kenaikan dari tahun sebelumnya dan setiap 6 bulan
sekali dia bonus gaji d ribu yang selalu dia gunakan untuk menambah tabungan hajinya
berapa bulan dia butuhkan agar biaya hajinya terpenuhi?
Source code :
#include <stdio.h>
main(){
int awal=0, cicil=0, persen=0, bulan=0, a=0, naik, bonus=0;
printf("biaya awal : "); scanf("%d", &awal);
printf("cicilan : "); scanf("%d", &cicil);
printf("persen : "); scanf("%d", &persen);
printf("bonus per 6 bulan : "); scanf("%d", &bonus);
naik = awal * persen/100;
while(awal > 0){
bulan++;
if(bulan % 12 == 0){
awal = awal + naik; awal = awal - (2 * bonus);
}
awal = awal - cicil;
}
printf("waktu melunasi %d bulan\n", bulan);
}
Output :
Download