BAB 6 LOOPING 2
DOSEN PEMBINGBING
Bpk.Nur Rosyid M.
DISUSUN OLEH
TEHNIK INFORMATIKA
09-10-2019
Page 1
BAB I
PENDAHULUAN
Page 2
BAB Il
DASAR TEORI
Overview
•Pernyataan break
•Pernyataan continue
•Nested loop (loop di dalam loop yang lain)
•Pernyataan exit
Kondisional : break
•Pada switch-case, break digunakam untuk menuju ke akhir (keluar dari)
struktur switch.
• Dalam looping, pernyataan ini berfungsi untuk keluar secara ‘paksa’dari loop
for, do-while dan while.
• Jika pernyataan break berada dalam loop yang bertingkat (nested loop), maka
pernyataan break hanya 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
loop yang sama (skip the current iteration, continue to the next iteration)
• Pada do-while dan while, continue menyebabkan eksekusi menuju ke kondisi
pengujian pengulangan sbb:
Kondisional : continue
• Pada loop for, continue menyebabkan bagian control loop (ekspresi3)
dikerjakan dan kondisi untuk keluar dari loop for (ekspresi2) diuji kembali.
Page 3
Nested loop
•Dalam suatu loop bisa terkandung loop yang lain.
•Loop yang terletak di dalam loop biasa disebut dengan loop di dalam loop
(nested loop).
•Contoh : for(eksp1; eksp2; eksp3)
for(eksp1; eksp2; eksp3) pernyataan;
Page 4
BAB lll
TUGAS LATIHAN
A.Listing Program
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch,
system("pause") or input loop */
c=getch();
return 0;
}
Page 5
B.Output
C.Penjelasan Program
Di program ini di printahkan untuk membuat program yang menunjukan ASCI
dari suatu huruf,semisal di tekan c pada keyboard maka akan terlihat ASCI c itu
brapa.
di program ini juga terdapat code getch(),yang berfungsi untuk meminta input 1
huruf .
Kesimpulan saya di sini adalah getch() berfungsi untuk meminta 1 inputan huruf
dari keyboard tanpa di akhiri oleh enter dan inputan tersebut akan langsung di
tampilkan di layar.
Page 6
*Latihan 2 bab 6 looping 2
2. Dengan menggunakan pernyataan continue, buatlah program yang dapat menampilkan bilangan
ganjil dari 1 sampai < n (n diinputkan), kecuali bilangan ganjil tersebut kelipatan 3.
A.Listing Program
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or
input loop */
}
}
return 0;
}
Page 7
B.Output
C.Penjelasan Program
Page 8
*Latihan 3 bab 6 looping 2
3. Dengan menggunakan pernyataan break dan continue, buatlah program untuk membuat program
dengan input n, dan output, bilangan ganjil kecuali kelipatan 7 dan 11 mulai dari 1 sampai < n atau
bilangan tersebut
A.Listing Program
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch,
system("pause") or input loop */
for(a=1;a<=n;a++){
}
return 0;
}
Page 9
B.Output
C.Penjelasan Program
Pertama kita inputkan n misal 200, for(a=1;a<=n;a++) ,di jelaskan secara bahasa
adalah a sama dengan 1;jika a lebih kecil sama dengan n;maka a di tambah 1;di
sini n nya adalah 200 maka
a=1;jika a lebih kecil dari 200;maka a akan di tambah 1 sampai dengan a sama
dengan 200,
Page 10
*Latihan 4 bab 6 looping 2
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) • (Petunjuk : Gunakan loop for dan seleksi kondisi dengan if)
A.Listing Program
#include<stdio.h>
main()
{
int i, n, nilai, rata, max=0, min=0, sum=0;
printf("*************************************\n");
printf("***********NRP:2103191115************\n");
printf("***NAMA:Chrysna ardy putra pratama***\n");
printf("****JURUSAN:Tehnik Informatika*******\n");
printf("*********PSDKU PENS LAMONGAN*********\n");
printf("\n");
printf("==Daftar Nilai Mahasiswa==\n");
printf("Masukkan jumlah nilai yang ingin dimasukkan : ");
scanf("%d", &n);
for(i=1;i<=n;i++){
printf("nilai ke-%d:",i);
scanf("%d", &nilai);
sum = sum + nilai;
if(nilai>max){
max=nilai;
}if(nilai<min||min==0){
min=nilai;
}
}
rata = sum/n;
printf("Nilai Terkecil(min) = %d\n", min);
printf("Nilai Terbesar(max) = %d\n", max);
printf("Nilai rata-rata = %d\n", rata);
}
Page 11
B.Output
C.Penjelasan Program
Pertama masukan jumlah nilai yang ingin di inputkan contoh 5 maka di sini kita
akan menginputkan lagi nilai sebanyak 5 kali penjelasan tersebut merupakan
fungsi dari code for(i=1;i<=n;i++){ printf("nilai ke-%d:",i);scanf("%d", &nilai);
Setelah memasukan semua input nilai akan di cari nilai terkecil nya berapa
menggunakan if(nilai<min||min==0){ min=nilai; di sini jika nilai lebih kecil dari
min(min=0) atau min==0 maka min=nilai;
Di sini juga terdapat code sum = sum + nilai; di sini peran sum adalah untuk
menjumlah total dari data data yang sudah di input dan juga di gunakan untuk
mencari rata-rata,yaitu dengan rata = sum/n; jika di jelaskan menjadi rata=sum
yaitu jumlah total yang tadi di inputkan dan n adalah sebagai banyak data yang
di inputkan dalam output(lihat output) total dari input adalah 355 dan di bagi 5
jumlah input jika 355/5=71.
Page 12
*Latihan 5 bab 6 looping 2
5. Dengan menggunakan pernyataan nested loop, buatlah program berikut: input: n
output: 1 2 3 4 5 … n
12345…
n12345…n
nkali … 1 2 3 4 5 … n
A.Listing program
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch,
system("pause") or input loop */
for(b=1;b<=n;b++){
for(c=1;c<=n;c++){
printf("%d",c);}
printf("\n");
return 0;
}
Page 13
B.Output
C.Penjelasan Program
Pertama masukan input n,contoh n saya masukan 5 maka akan di cek di dalam
for pertama for(b=1;b<=n;b++),jadi b=1;apakah b lebih kecil sama dengan n jika
iya maka b akan di tambah 1 jika tidak akan keluar program.
Lalu jika for pertama bernilai true maka akan di cek lagi di for ke dua dengan
for(c=1;c<=n;c++),jadi c=1;apakah c lebih kecil sama dengan n;jika tidak maka
akan keluar jika iya c akan di tambah 1 dan di cetak setelah c sama dengan n
maka akan di laksanakan perintah printf(“\n”),setelah itu akan di cek lagi di for
pertama dst..
Page 14
*Latihan 6 bab 6 looping 2
6. Dengan menggunakan pernyataan nested loop, buatlah program berikut: input: n
output: 1
22
3 3 3 n kali
……
nnnnn…n
A.Listing Program
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause")
or input loop */
for (k=1;k<=n;k++){
for (b=1;b<=k;b++){
printf ("%d",k);}
printf ("\n");}
return 0;
}
Page 15
B.Output
C.Penjelasan Program
Pertama kita masukan N misal saya masukan 5,setelah itu akan di cek di
for (k=1;k<=n;k++),jadi k=1;apakah k lebih kecil dari sama dengan n;jika iya
maka k akan di tambah simple nya k berfungsi untuk membuat kolom nya
setelah itu di for di dalam for 1 mengecek untuk membuat baris dengan
for (b=1;b<=k;b++){
printf ("%d",k);}, ini berfungsi untuk membuat bari jadi b=1;jika b lebih
kecil dari sama dengan k(for ke 1);maka b akan di tambah,jika tidak maka akan
keluar program dan setelah b di tambah sampai sama dengan k akan mengganti
barisan dengan printf ("\n");}
Page 16
*Latihan 7 bab 6 looping 2
7. Dengan menggunakan pernyataan nested loop, buatlah program berikut: input: n
output: 2 3 5 7 11… . Bilangan prima ke n
A.Listing Program
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
while(hitung<n){
prima=1;
for(i=2;i<bil;i++){
if(bil%i==0)
prima=0;
}
if(prima==1){
printf("%d ",bil);
//2 sengaja tidak di hitung karena operasi khusus
hitung++;
}
bil++;
}
}
Page 17
B.Output
C.Penjelasan Program
Program ini di perintahkan untuk mencetak bilangan prima sampai ke n yang di
inputkan.
Pertama masukan input n,setelah itu n,di sini ada deklarasi hitung=0; bil=3;
Setelah itu ada printf(“2”) ini bermaksud untuk mencetak 2 pada hasil di
karenakan 2 adalah operasi kusus dan tidak bisa di apa apakan,setelah
memasukan input n,di sini saya menggunakan while while(hitung<n)hitung
lebih kecil dari n jika tidak maka akan keluar looping,jika iya akan memproses.
setelah itu I akan di cek dengan if(bil%i==0) prima=0; },jadi jika bil di bagi I
sama dengan 0 makan prima menjadi 0
setelah itu di cek lagi dengan if(prima==1){printf("%d ",bil);jadi jika prima sama
dengan 1 akan di cetak bil nya
selanjutnya per 1x loop/proses maka hitung dan bil akan di tambah 1
Page 18
*Latihan 8 bab 6 looping 2
8. Dengan menggunakan pernyataan nested loop, buatlah program berikut: input: n
output: 0 1 3 6 10 15 21 28 … . Bilangan ke n
A.Listing Program
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch,
system("pause") or input loop */
for(a=0;a<=n;a++){
b=b+a;
printf("%d ",b);
}
return 0;
}
Page 19
B.Output
C.Penjelasan Program
Pertama kita masukan n,n di sini sebagai masukan berapa jangka nilai yang
ingin kita masukan di output tersebut jika saya masukan 7 maka keluar 8
bilangan di karenakan di mulai dari 0 bukan 1.
Setelah itu ada operasi b=b+a; jadi b=0 di tambah a yang sudah di tambah dari
looping for tersebut.di sini operasi tersebut berfungsi untuk menambah dan
menulis b(output),kurang lebih hasilnya seperti output di atas.
Page 20
*Latihan 9 bab 6 looping 2
9. Pada akhir setiap 2 buah program diatas tambahkan tanyaan “apakah anda ingin keluar (y/t)?”,
pertanyaan tersebut hanya bisa di jawab dengan huruf ‘y’(y kecil) dan ‘t’(t kecil). Dan akan keluar dari
program setelah dijawab dengan ‘y’(y kecil)
A.Listing Program
#include <stdio.h>
#include <stdlib.h>
main()
{
char jwb;
int bil,i,n,hitung;
int prima;
printf("*************************************\n");
printf("***********NRP:2103191115************\n");
printf("***NAMA:Chrysna ardy putra pratama***\n");
printf("****JURUSAN:Tehnik Informatika*******\n");
printf("*********PSDKU PENS LAMONGAN*********\n");
printf("\n");
printf("=MENAMBAHKAN PILIHAN INGIN KELUAR PROGRAM y/t=\n");
printf("=======DARI PROGRAM NO.7 DAN NO.8===========\n");
//Menggunakan statemen Do while
do
{
// UNTUK 2 SCRIPT PROGRAM DIATAS BISA DITARUH DISINI
printf("\n");
//ini adalah program dari nomer 7
printf("Jumlah N Bil prima=");
scanf("%d",&n);
hitung=0;
bil=3;
printf("Hasilnya adalah=2 ");
while(hitung<n){
prima=1;
for(i=2;i<bil;i++){
if(bil%i==0)
prima=0;
}
Page 21
if(prima==1){
printf("%d ",bil);
//2 sengaja tidak di hitung karena operasi khusus
hitung++;
}
bil++;
}
//ini adalah program dari nomer 8
int a,b=0,n;
printf("\n");
printf("\nMasukan nilai N=");
scanf("%d",&n);
printf("Hasilnya adalah=");
for(a=0;a<=n;a++){
b=b+a;
printf("%d ",b);
}
//HINGGA DISINI
printf("\n\n");
printf("Apakah anda ingin keluar [y/t]?");
fflush(stdin);
jwb = getchar();
printf("\n");
} while(jwb != 'y');
if(jwb !='t'){
Page 22
B.Output
C.Penjelasan Program
Di sini saya bertugas menambahkan opsi ingin keluar program atau tidak dari
gabungan program nomer 7 dan nomer 8 di atas,di program ini saya memakai
do-while yang melakukan at least once jika while nya terkondisi,untuk program
perhitungan nya sama dengan nomer 7 dan nomer 8 dan sudah di bahas di
atas,dan untuk opsi keluar atau tidak dari program saya menggunakan do while
Dengan statement:
do {
pernyataan; //bagian pernyataan ini adalah proses perhitungan no.7 dan 8
dan saya hanya meng copy Dari hasil latihan saya saja
} while(kondisi);
Di sini terdapat code while(jwb != 'y'); jadi selama input getchar nya tidak sama
dengan y kecil maka akan melakukan proses tersebut secara terus menerus (do)
Page 23
BAB lV
PENUTUP
-Analisa
Dari praktikum Bab 5 looping 1 ini, kita dapat menganalisa bahwa :
1. Untuk melakukan suatu pengulangan, kita tidak perlu menulis program
tersebut berulang-ulang, tapi bisa menggunakan teknik looping (pengulangan).
2. Agar pengulangan berjalan dengan baik, maka harus teliti terhadap logika
jalannya program. Karena ini sangat penting dalam melakukan suatu algoritma
pengulangan.
- Kesimpulan
Dari praktikum tersebut, dapat disimpulkan bahwa :
1. Untuk menajalankan suatu program dengan output yang sangat banyak, kita
tidak harus menulis program itu dengan banyak pula. Namun dengan teknik
looping atau pengulangan, kita dapat mengatasinya hanya menulis beberapa
sintaks sehingga lebih efisien dan efektif.
2. Tidak semua algoritma diselesaikan dengan pengulangan, akan tetapi dilihat
dari jalannya logika suatu program.
3. Kita harus teliti terhadap logika jalannya program agar teknik pengulangan
tersebut berjalan dengan baik dan benar.
4.Statemen Looping do while akan melakukan terus menerus jika while nya
tidak terpenuhi atau terkondisi atau sebaliknya
Page 24