Uploaded by dianapriansah

390436733-Praktikum-11

advertisement
Praktikum 11
Looping : break, continue, nested loop
A. Dasar Teori
Kondisional : break
•Pada switch-case,breakdigunakam untuk menuju ke akhir (keluar dari) struktur switch.
•Dalam looping, pernyataan ini berfungsi untuk keluar secara ‘paksa’ dari loopfor, do-whiledan while.
•Jika pernyataan breakberada dalam loop yang bertingkat (nested loop), maka pernyataan breakhanya
akan membuat proses keluar dari loop yang bersangkutan (tempat break dituliskan), bukan keluar dari
semua loop.
Kondisional : continue
•Digunakan untuk mengarahkan eksekusi ke iterasi (proses) berikutnya pada loopyang sama (skip the
current iteration, continue to the next iteration)
•Pada do-while dan while, continue menyebabkan eksekusi menuju ke kondisi pengujian pengulangan
sbb. Pada loop for, continue menyebabkan bagian control loop(ekspresi3) dikerjakan dan kondisi untuk
keluar dari loop for (ekspresi2) diuji kembali.
Nested loop
•Dalam suatu loopbisa terkandung loopyang lain.
•Loopyang terletak di dalam loopbiasa disebut dengan loopdi dalam loop(nested loop).
•Contoh :
for(eksp1; eksp2; eksp3)
for(eksp1; eksp2; eksp3)
pernyataan;
exit ( ): Menghentikan Eksekusi Program
•Jika di dalam suatu eksekusi terdapat suatu kondisi yang tak dikehendaki, maka eksekusi program dapat
dihentikan (secara normal) melalui pemanggilan fungsi exit( ).
•Prototipe dari fungsi exit()didefinisikan pada file stdlib.h, yang memiliki deklarasi sebagai berikut :
void exit(int status);
•Menurut kebiasaan, nilai nol diberikan pada argumen exit()untuk menunjukkan penghentian program
exit(0);
B. Untuk setiap soal dari percobaan-percobaan di atas, ambil capture outputnya
1. Dengan menggunakan pernyataan break, buatlah program yang dapat menampilkan semua tampilan
karakter yang diketikkan dan program berakhir ketika ditekan tombol Enter.
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
char huruf;
printf(" ");
scanf("%c", &huruf);
while(huruf=='\n')
{
}
return 0;
}
b. Output
2. Dengan menggunakan pernyataan continue, buatlah program yang dapat menampilkan bilangan
ganjil dari 1 sampai < n (n diinputkan), kecuali bilangan ganjil tersebut kelipatan 3.
Contoh : Input : 10
Output : 1 5 7
a. Listing program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,bil;
printf("Bilangan : ");
scanf("%d", &bil);
for(i=1;i<bil;i+=2)
{
if(i%3==0)
continue;
printf("%d ", i);
}
printf("\n");
return 0;
}
b. Output
3. Dengan menggunakan pernyataan break dan continue, buatlah program untuk membuat program
dengan input n, dna output, bilangan ganjil kecuali kelipatan 7 dan 11 mulai dari 1 sampai < n atau
bilangan tersebut <100.
Contoh : Input : 20
Output : 1 3 5 9 13 15 17 19
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,bil;
printf("Bilangan : ");
scanf("%d", &bil);
for(i=1;i<bil;i+=2)
{
if(i%7==0)
continue;
if(i%11==0)
continue;
if(bil>=100)
break;
printf("%d ", i);
}
printf("\n");
}
b. Output
4. Buatlah program untuk menerima daftar nilai mahasiswa sbb :
Input
: Jumlah data (n)
Nilai ke 1 s/d nilai ke-n
Output
: Nilai minimal
Nilai maksimal
Nilai rata-rata(rata-rata=nilai total/jumlah data)
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,bil;
printf("Bilangan : ");
scanf("%d", &bil);
for(i=1;i<bil;i+=2)
{
if(i%7==0)
continue;
if(i%11==0)
continue;
if(bil>=100)
break;
printf("%d ", i);
}
printf("\n");
}
b. Output
5. Dengan menggunakan pernyataa nested loop, buatlah program berikut :
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int baris,kolom,bil;
printf("Masukkan Bilangan : ");
scanf("%d", &bil);
for(baris=1;baris<=bil;baris++)
{
for(kolom=1;kolom<=bil;kolom++)
{
printf("%d ", kolom);
}
printf("\n");
}
puts;
return 0;
}
b. Output
6. Dengan menggunakan pernyataan nested loop, buatlah program berikut
a. Listing program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int baris,kolom,bil;
printf("Masukkan bilangan : ");
scanf("%d", &bil);
for(baris=1;baris<=bil;baris++)
{
for(kolom=1;kolom<=baris;kolom++)
printf("%d", baris);
printf("\n");
}
return 0;
}
b. Output
7. Pada akhir setiap 4 buah program diatas tambahkan tanyaan “apakah anda ingin keluar (y/t)?’,
pertanyaan tersebut hanya bias dijawab dengan huruf ‘y’ (y kecil) dan ‘t’(t kecil). Dan akan keluar
dari program setelah dijawab dengan ‘y’(y kecil)
 Program 1
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
char huruf;
do
{
printf(" ");
scanf("%c", &huruf);
while(huruf=='\n')
{
}
do
{
fflush(stdin);
printf("apakah anda ingin keluar (y/t) ? ");
scanf("%c", &huruf);
if(huruf=='y')
break;
}
while (huruf !='t');
}
while(huruf=='t');
return 0;
}
b. Output
 Program 2
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,bil;
char huruf;
do
{
printf("Bilangan : ");
scanf("%d", &bil);
for(i=1;i<bil;i+=2)
{
if(i%3==0)
continue;
printf("%d ", i);
}
printf("\n");
do
{
fflush(stdin);
printf("apakah anda ingin keluar (y/t) ? ");
scanf("%c", &huruf);
if(huruf=='y')
break;
}
while (huruf !='t');
}
while(huruf=='t');
return 0;
}
b. Output
 Program 3
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,bil;
char huruf;
do
{
printf("Bilangan : ");
scanf("%d", &bil);
for(i=1;i<bil;i+=2)
{
if(i%7==0)
continue;
if(i%11==0)
continue;
if(bil>=100)
break;
printf("%d ", i);
}
printf("\n");
do
{
fflush(stdin);
printf("apakah anda ingin keluar (y/t) ? ");
scanf("%c", &huruf);
if(huruf=='y')
break;
}
while (huruf !='t');
}
while(huruf=='t');
return 0;
}
b. Output

Program 4
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int bil,i,nilai;
int maksimal,minimal,jum,rata;
char huruf;
do
{
maksimal=0;
minimal=0;
jum=0;
printf("Jumlah data : ");
scanf("%d", &bil);
for(i=1;i<=bil;i++)
{
printf("Nilai ke-%d : ", i);
scanf("%d", &nilai);
jum=jum+nilai;
if(maksimal<nilai || maksimal==0)
maksimal=nilai;
if(minimal>nilai || minimal==0)
minimal=nilai;
}
rata=jum/bil;
printf("Minimal : %d\n", minimal);
printf("Maksimal : %d\n", maksimal);
printf("Rata-rata : %d\n", rata);
do
{
fflush(stdin);
printf("apakah anda ingin keluar (y/t) ? ");
scanf("%c", &huruf);
if(huruf=='y')
break;
}
while (huruf !='t');
}
while(huruf=='t');
return 0;
}
b. Output
C. Dengan menggunakan pernyataan nested loop, buatlah program beikut:
Input : n
Output :
2 3 5 7 11 ….. Bilangan prima ke n
a. Listing Program
#include <stdio.h>
#include <stdlib.h>
int main()
{
int bil,i=1,bagi=2,IsPrima;
printf("Bilangan : ");
scanf("%d", &bil);
printf("Bilangan Prima :
");
while(i<=bil)
{
IsPrima=1;
for(bagi=2;bagi<bil;bagi++)
{
if(bil%bagi==0)
{
IsPrima=0;
break;
}
}
if(IsPrima)
{
printf("%d", bil);
i++;
}
bil++;
}
return 0;
}
b. Output
Download