OLEH:
A. TUJUAN
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. DASAR TEORI
Seperti yang sudah dijelaskan pada bab sebelumnya, bahwa perulangan yang
sudah diketahui berapa kali akan dijalankan, maka sebaiknya menggunakan
perulangan for. Sedangkan yang belum diketahui berapakali akan diulangi maka
dapat menggunakan while atau do-while. Menggunakan pernyataan while ketika
kondisi perluangan diperiksa sebelum menjalankan pernyataan dan menggunakan
do_while ketika perulangan kodisi perulangan tersebut diperiksa setelah mejalankan
pernyataan.
Pada pernyataan while, pemeriksaan terhadap loop dilakukan di bagian awal
(sebelum tubuh loop). Pernyataan while akan diulangi terus selama kondisi bernilai
benar, atau diulangi selama kondisinya benar, jika kondisinya salah maka perulangan
(loop) dianggap selesai. Lebih jelasnya, bentuk pernyataan while adalah sebagai
berikut :
while
(kondisi)
pernyataa
n;
salah
kondisi
benar
pernyataan
keluar loop
Gambar 4-2.1 Diagram alir
while
C. TUGAS PENDAHULUAN
Desain flowchart untuk setiap soal dalam percobaan.
1) Gunakan loop while untuk membuat program yang dapat menampilkan semua
karakter yang diketikkan di keyboard sampai yang diketikkan pada keybord
huruf ‘X’ (x besar).
Flowchart
START
Input karakter
karakter = Tidak
‘X’?
Ya
END
2) Gunakan loop while untuk membuat program yang dapat mencari total angka
yang dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 5
Mau memasukkan data lagi [y/t] ? y
START
Inisialisasi
pilihan=’y’, a=0,
hasil=0, n=0
Tidak
pilihan
== ‘y’?
Ya
n=n+1
Input bil(a)
ke-n
hasil += a
Input pilihan
[y/t]
Cetak hasil
END
3) Pada program no 2 tambahkan rata-rata, maksimum dan minimum dari angka
yang dimasukkan.
Flowchart
START
pilihan Tidak
== ‘y’?
Ya
n=n+1
Ya
max = a
Tidak
a< min = min
min?
Ya
min = a
hasil += a
Inisialisasi
jumlah_kar=0,
jumlah_spasi=0
Input karakter
kar != Tidak
‘\n’
Ya
Tidak
jumlah_kar++ kar == ‘ ’
Ya
jumlah_spasi++
Cetak
jumlah_kar dan
jumlah_spasi
END
D.PERCOBAAN
1. Gunakan loop while untuk membuat program yang dapat menampilkan semua
karakter yang diketikkan di keyboard sampai yang diketikkan pada keybord
huruf ‘X’ (x besar).
#include<stdio.h>
main()
{
char kar;
printf("Ketik sembarang karakter\nKetik X untuk
menghentikan\n\n");
while (kar!='X')
kar = getchar();
printf("\nSelesai")
}
2. Gunakan loop while untuk membuat program yang dapat mencari total angka
yang dimasukkan dengan tampilan sebagai berikut :
Masukkan bilangan ke-1 : 5
Mau memasukkan data lagi [y/t] ? y
#include<stdio.h>
main()
{
char pilihan='y';
int a=0, hasil=0, n=0;
while(pilihan=='y')
{
n=n+1;
printf("Masukkan bilangan ke-%d : ", n);
scanf("%d", &a);
printf("Mau memasukkan data lagi [y/t] ? : ");
getchar();
pilihan = getchar();
hasil+=a;
}
printf("\nTotal bilangan = %d", hasil);
}
3. Pada program no 2 tambahkan rata-rata, maksimum dan minimum dari angka
yang dimasukkan.
#include<stdio.h>
main()
{
char pilihan='y';
int a=0, hasil=0, n=0, min=999999999, max=0;
float rata_rata=0;
while(pilihan=='y')
{
n=n+1;
printf("Masukkan bilangan ke-%d : ", n);
scanf("%d", &a);
printf("Mau memasukkan data lagi [y/t] ? : ");
getchar();
pilihan = getchar();
if(a>max)
max=a;
else max=max;
if(a<min)
min=a;
else min=min;
hasil+=a;
}
rata_rata = (float) hasil/n;
max=max;
min=min;
printf("\nTotal bilangan = %d", hasil);
printf("\nRata-rata = %g", rata_rata);
printf("\nNilai maximum = %d", max);
printf("\nNilai minimum = %d", min);
}
4. Gunakan while pada program yang digunakan untuk menghitung banyaknya
karakter dari kalimat yang dimasukkan melalui keyboard (termasuk karakter
spasi). Untuk mengakhiri pemasukan kalimat, tombol ENTER (‘\n’) harus
ditekan
Input : Ketikkan sembarang kalimat
Output : jumlah karakter = m
jumlah spasi =n
#include<stdio.h>
main()
{
int jumlah_kar=0, jumlah_spasi=0;
char kar;
printf("Masukkan kalimat : ");
while((kar = getchar())!='\n')
{
if(kar==' ')
jumlah_spasi++;
else
jumlah_kar++;
}
printf("\nJumlah Karakter = %d", jumlah_kar);
printf("\nJumlah Spasi = %d", jumlah_spasi);
}
E.LAPORAN RESMI
1. Tulis listing program dari semua percobaan yang dilakukan.
Output
Output
Output
Output
Output