Anda di halaman 1dari 24

LAPORAN KONSEP PEMROGRAMAN

BAB 6 LOOPING 2

DOSEN PEMBINGBING
Bpk.Nur Rosyid M.

DISUSUN OLEH

Chrysna Ardy Putra Pratama


NRP:2103191115

PSDKU PENS LAMONGAN

TEHNIK INFORMATIKA
09-10-2019

Page 1
BAB I
PENDAHULUAN

1.1 Latar Belakang


Dalam pemrograman tentunya kita menginginkan yang namanya pengulangan.
kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang
terdifinisikan sebelumnya ataupun tidak. Macam-macam struktur pengulangan
terdiri atas tiga bagian, yaitu for, while, dan do while.
1.2 Tujuan
Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman ini adalah :
-Praktikan bisa membuat program sederhana berdasarkan algoritma.
-Praktikan dapat membiasakan diri untuk membuat program secara terstruktur.
-Praktikan dapat mengetahui dan memahami perbedaan dalam penggunaan
pengulangan (looping)
-Praktikan memahami dan mengetahui bentuk dari struktur FOR , struktu
WHILE, dan struktur DO-WHILE

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;

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 yang normal à exit(0);

Page 4
BAB lll
TUGAS LATIHAN

*Latihan 1 bab 6 looping 2


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>

/* run this program using the console pauser or add your own getch,
system("pause") or input loop */

int main(int argc, char *argv[]) {


char c;
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");
while(c!=13)
//Jika C tidak sama dengan 13(kode asci enter) maka akan di tanya terus
menerus
{
printf("input huruf=");

c=getch();

printf("\nHuruf yang anda inputkan =%c\n",c);


printf("Dengan kode asci=%i\n",c);
}

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.

Pada program ini terdapat deklarasi Char c;


saya menggunakan looping while(c!=13),Jika di jelaskan secara bahasa adalah
jika c tidak sama dengan 13 (13 adalah code asci dari enter) maka dapat di
inputkan terus asal c itu tidak sama dengan 13(enter)

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 */

int main(int argc, char *argv[]) {


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");
int n,i;
printf("Masukan N tanpa kelipatan 3=");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
if(i%2==1){
if (i%3==0)
//kelipatan 3 akan terabaikan
continue;
printf("%i\n",i);

}
}
return 0;
}

Page 7
B.Output

C.Penjelasan Program

Di program ini berfungsi untuk menampilkan bilangan 1 sampai n ( input)


kecuali kelipatan 3,di sini kecuali kelipatan 3 sama saja dengan yang habis di
bagi 3 misal Lihat output,di situ saya inputkan 20 maka akan menampilkan
angka 1 sampai 20 tetapi tidak menampilkan angka kelipatan 3 di situ tidak ada
3,6,9 dst.
Di program ini saya menggunakan for(i=1;i<=n;i++) yang di jelaskan secara
bahasa adalah I adalah 1;jika I lebih kecil dari sama dengan n;maka I akan di
tambah 1,semisal saya inputkan (n) 20,maka 1 lebih kecil dari 20;maka I akan
terus di tambah 1 sampai I sama dengan 20 barulah I tidak di tambah lagi.

Dalam program ini saya juga menggunakan if (i%3==0) continue;,jika di artikan


secara bahasa adalah jika I di bagi 3 sama dengan 0, maka akan di
continue.fungsi continue adalah mengabaikan,jadi jika i yang di bagi 3 sama
dengan 0 tidak akan di cetak tetapi jika I di bagi 3 tidak sama dengan 0 akan di
cetak.

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 */

int main(int argc, char *argv[]) {


int n,a;
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("Masukan N=");
scanf("%d",&n);

for(a=1;a<=n;a++){

if ((a%7==0) || (a%11==0) || (a%2==0))


//^tidak di jalankan
continue;
if(a>=100)
//Jika i melebihi 100 maka break
break;
printf("%d\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,

di program ini di perintahkan untuk menampilkan bilangan ganjil dari 1 sampai


n kecuali bilangan ganjil kelipatan 7 dan kelipatan 11,jadi jika bilangan tersebut
adalah bilangan ganjil kelipatan 7 atau 11 maka tidak akan di cetak dengan
menggunakan if ((a%7==0) || (a%11==0) || (a%2==0))continue; continue
berfungsi untuk seperti mengabaikan
di program ini terdapat juga if(a>=100)break; di sini break berfungsi untuk
menghentikan program contoh (lihat output) padahal saya masukan n adalah
200 tetapi hanya 1-100 lah yang ter list karena jika a lebih kecil sama dengan
100 maka akan di hentikan dan tidak akan di lanjutkan.

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;

Dan juga mencari nilai terbesar menggunakan if(nilai>max){ max=nilai;,di sini


jika nilai lebih besar dari max(max=0),maka max=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 */

int main(int argc, char *argv[]) {


int n,b,c;
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("Masukan Batasan=");
scanf("%d",&n);

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 */

int main(int argc, char *argv[]) {


int b, k,n;
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("Masukan Angka Batasan = ");
scanf ("%d",&n);

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 */

int main(int argc, char *argv[]) {


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("Jumlah Bil prima=");
scanf("%d",&n);
hitung=0;
bil=3;
printf("2 ");

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.

prima=1; for(i=2;i<bil;i++),jika di jelaskan secara bahasa adalah i=2;jika I lebih


kecil dari bil;maka I akan di tambah jadi I setelah 2 adalah 3 (lihat output)

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 */

int main(int argc, char *argv[]) {


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");
int a,b=0,n;
printf("Masukan nilai N=");
scanf("%d",&n);

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.

Untuk operasi matematika yang di gunakan adalah:0+1 =1 jadi 0 1 ,1+2=3 jadi 0


1 3,3+3=6 jadi 0 1 3 6 dst….sampai n

Setelah masukan n,di sini saya menggunakan for(a=0;a<=n;a++),jadi a sama


dengan 0;jika a kurang dari sama dengan n;maka a akan di tambah 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'){

printf("TERIMAKASIH TELAH MENGGUNAKAN PROGRAM INI");}


//jika y maka akan keluar kecuali y maka tidak akan keluar program meski enter
pun di hitung
//jadi di while ini dapat di baca jwb tidak sama dengan 'y' berarti semua hurufyang
tidak sama dengan 'y' akan
//mengulang
}

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

Anda mungkin juga menyukai