You are on page 1of 22

LAPORAN PRAKTIKUM DASAR PEMROGRAMAN 3

FUNGSI PERULANGAN ( LOOPING )

Nama : Muhammad Fadlan


NIM : 200803107
Kelompok Lab : C7

LABORATORIUM S1 MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2020
LEMBAR PENGESAHAN

Ditetapkan di

Medan, 23 November 2020

Asisten Lab 1 Asisten Lab 2

Gita Shyntia Lumbantobing Favour Get Gea


NIM 180803057 NIM 180803059

Perbaikan I

Pada tanggal : Selasa, 24 November 2020

Perbaikan II

Pada tanggal :

ACC

Pada tanggal : Kamis, 26 November 2020

Nilai

i
DAFTAR ISI

LEMBAR PENGESAHAN .................................................................... i

DAFTAR ISI ......................................................................................... ii

BAB 1 PENDAHULUAN .................................................................... 1

1.1 Latar Belakang ................................................................ 1


1.2 Tujuan ............................................................................. 1
1.3 Dasar Teori ...................................................................... 2
1.3.1 Pengenalan Fungsi Perulangan ........................... 2
1.3.2 Pengenalan Fungsi Perulangan Bersarang
(Nested Loop) ....................................................... 5
1.3.3 Pengenalan Fungsi Continue, Break, dan Goto .. 6

BAB 2 HASIL DAN PEMBAHASAN ................................................ 8

2.1 Pembahasan Algoritma .................................................. 8


2.2 Hasil Program ................................................................. 11
2.2.1 Flowchart Program ............................................. 11
2.2.2 Source Code ......................................................... 14
2.2.3 Hasil Run Program ( Output ) ............................ 15

BAB 3 PENUTUP ............................................................................... 18

3.1 Kesimpulan ...................................................................... 18

DAFTAR PUSTAKA

ii
BAB 1

PENDAHULUAN

1.1 Latar Belakang

Bahasa program merupakan suatu wahana untuk menuangkan pikiran


manusia yang dapat dimengerti oleh mesin komputer sehingga bernilai guna.
Dalam menyelesaikan masalah dengan program atau istilahnya algoritma,
pasti kita menemukan masalah yang harus diulang sebanyak data yang diinputkan
user. Jika seorang programer menulis sebanyak yang user butuhkan, maka hal ini
tidak efektif dan efesien. Sehingga dibutuhkan suatu teknik pengulangan atau
istilahnya adalah looping (pengulangan). Bahasa C juga menyediakan teknik
pengulangan untuk memudahkan para programer dalam menyusun programnya
dalam bentuk pengulangan yang dibutuhkan oleh user. Diantaranya adalah for,
while, do while . ketiga sintaks program tersebut sebenarnya mempunyai kegunaan
yang sama, namun dalam penggunannya harus bisa disesuaikan dengan masalah
yang akan di selesaikan.
Salah satu konsep programming yang cukup banyak dipakai dan juga sedikit
rumit, adalah perulangan bersarang atau nested loop. Konsep seperti ini sering
dipakai untuk memecahkan masalah programming yang cukup kompleks.
Fungsi continue, break, dan goto dalam bahasa C cukup penting dan sering
digunakan dalam sebuah program, jika programnya menggunakan menu dan
perulangan.

1.2 Tujuan

Berdasarkan latar belakang di atas, praktikum ini diharapkan Mahasiswa


mampu :

1.2.1 Mengenal dan menggunakan fungsi perulangan (looping) dengan


efektif dan efesien.
1.2.2 Membuat program fungsi perulangan menggunakan Bahasa C.

1
1.3 Dasar Teori

1.3.1 Pengenalan Fungsi Perulangan

Perulangan atau yang sering disebut dengan “looping”, merupakan


proses yang dilakukan secara berulang-ulang dalam batas yang telah
ditentukan. Dengan menggunakan proses perulangan, penulisan kode
program dapat menjadi lebih efisien. Dalam bahasa C, terdapat beberapa
macam struktur kendali perulangan, antara lain: for, do…while, dan while.
 For

Instruksi for digunakan untuk mengeksekusi atau menjalankan


statement / perintah dengan jumlah pengulangan yang telah diketahui.
Sintaks dari for ialah:
for (exp1; exp2; exp 3){
statement(s); }

Dimana,
exp1: ekspresi untuk inisialisasi nilai awal
exp2: ekspresi untuk kondisi
exp3: expresi untuk increment (penambahan) atau decrement
(pengurangan).
Berikut merupakan alur dalam instruksi for:
 exp1 akan dieksekusi pertama kali (hanya dijalankan 1
kali). Tahap ini digunakan untuk deklarasi dan
pemberian nilai awal untuk variabel control.
 exp2 selanjutnya akan di evaluasi. Jika kondisi bernilai
benar, maka statement(s) akan dijalankan. Jika kondisi
bernilai salah, maka statement(s) tidak dijalankan dan
proses perulangan for tersebut akan berhenti.
 Apabila statement(s) telah dijalankan, maka exp3
digunakan untuk mengatur perubahan nilai dari variabel
control.

2
Sebagai contoh perhatikan kode berikut:
#include<stdio.h>
int main(){
int i:
for (i=1; i<=5; i=1+1){
printf(“Value of i [for]: %d\n,i);}
return 0; }

Apabila kode diatas dijalankan, maka hasilnya ialah:


Value of i [for]: 1
Value of i [for]: 2
Value of i [for]: 3
Value of i [for]: 4
Value of i [for]: 5

 While

Instruksi while digunakan untuk mengulang suatu statement


selama kondisi syarat yang diberikan bernilai benar. Apabila kondisi
bernilai salah, maka statement / perintah yang dideklarasikan di dalam
perulangan while tidak akan diulang.
Sintaks dari instruksi while adalah:
while (condition){
statement(s); }

Instruksi while dapat memiliki satu ataupun beberapa statement /


perintah. Perulangan akan terus dilakukan selama kondisi bernilai
benar. Pada umumnya, kondisi menggunakan operator perbandingan
maupun digabungkan dengan operator logika jika terdapat lebih dari
satu operasi perhandingan.
Berikut merupakan contoh penggunaan while:
#include<stdio.h>
int main(){
int i=1:
while (i<=5){
printf(“Value of i [while]: %d\n,i);}
i = i + 1; }

3
getchar ();
return 0; }

Apabila kode diatas dijalankan, maka hasilnya:


Value of i [while]: 1
Value of i [while]: 2
Value of i [while]: 3
Value of i [while]: 4
Value of i [while]: 5

 Do… While

Instruksi do…while digunakan untuk mengulang suatu statement


/ perintah selama kondisi yang ada pada while masih terpenuhi atau
bernilai benar.
Sintaks dari instruksi do…while adalah:
do {
statement(s); }
while (condition);

Berdasarkan sintaks diatas, pengecekan terhadap expression


dilakukan pada akhir perulangan, sehingga perintah yang ada pada
instruksi do…while akan dijalankan satu kali sebelum kondisi dicek.
Jika kondisi benar, maka statement / perintah akan dijalankan
kembali dan proses perulangan akan dijalankan terus menerus sampai
kondisi bernilai salah.
Berikut merupakan contoh penggunaan do…while:
#include<stdio.h>
int main(){
int i=1:
do {
printf(“Value of i [do-while]: %d\n,i);}
i = i + 1; }
while (i<=5);
getchar ();
return 0; }

4
Apabila dijalankan, maka hasilnya ialah:
Value of i [do-while]: 1
Value of i [do-while]: 2
Value of i [do-while]: 3
Value of i [do-while]: 4
Value of i [do-while]: 5

1.3.2 Pengenalan Fungsi Perulangan Bersarang (Nested Loop)

Perulangan bersarang adalah sebutan untuk perulangan di dalam


perulangan. Konsep seperti ini sering dipakai untuk memecahkan masalah
programming yang cukup kompleks. Semua jenis perulangan bisa dibuat
dalam bentuk perulangan bersarang, termasuk perulangan FOR, WHILE dan
DO WHILE. Dalam bahasa inggris, perulangan bersarang ini dikenal dengan
sebutan nested loop.
Berikut contoh format dasar perulangan bersarang dalam bahasa C:

for (start1; condition1; increment1)


{
// kode program
for (start2; condition2; increment2)
{
// kode program
}
}

Di dalam perulangan bersarang terdapat istilah outer loop dan inner


loop. Sesuai dengan namanya, outer loop adalah sebutan untuk perulangan
luar, sedangkan inner loop sebutan untuk perulangan dalam.
Pada contoh di atas, outer loop adalah perulangan di baris 1,
sedangkan inner loop adalah perulangan di baris 4. Kode program di
dalam outer loop akan dijalankan sejumlah kondisi perulangan di outer saja.
Sedangkan kode program yang ada di dalam perulangan inner loop akan
dijalankan sebanyak perulangan outer * inner.

5
Tidak ada batasan seberapa banyak “kedalaman” dari sebuah
perulangan bersarang. Kita bisa saja membuat perulangan di dalam
perulangan di dalam perulangan, dst. Tentu saja semakin banyak perulangan
yang “bersarang”, kode programnya juga akan makin kompleks.
Dalam membuat perulangan berasarang kita juga harus sangat teliti
dalam penggunaan tanda kurung kurawal “{ }” untuk menandakan awal dan
akhir sebuah blok kode program. Tidak jarang hasilnya jadi berantakan
karena salah menulis posisi penutup kurung kurawal

1.3.3 Pengenalan Fungsi Continue, Break, dan Goto

 Continue

Pernyataan continue digunakan untuk mengarahkan eksekusi ke


iterasi(proses) berikutnya pada loop yang sama. Pada loop do-while
dan while, pernytaan continue menyebabkan eksekusi menuju kondisi
pengujian pengulangan. Sedangkan pada loop for, pernyataan
continue menyebabkan penaikan pada bagian pengendali (ungkapan3
pada struktur for), dan kondisi keluar dari loop for (ungkapan2 pada
struktur for) akan diuji kembali.
Contoh :
//Program yang menampilkan bilangan ganjil
antara 1 - 20
#include <stdio.h>
main(){
int i;

for(i = 1; i <= 20 ; i++){


if(i%2==0)
continue;
printf("%d \t",i);
}}

 Break

Pernyataan break ini sebenarnya sudah diperkenalkan pada


pernyataan switch. Bisa sobat baca pada artikel Struktur Kontrol
Bahasa C. Pernyataan ini sangat berfungsi untuk keluar dari
pernyataan perulangan(loop). Sedangkan pada switch pernyataan

6
break berfungsi untuk menuju ke akhir (keluar dari) pernyataan
switch.

Contoh :
//Menampilkan kalimat dengan for
#include <stdio.h>
main(){
int i;
for(i = 0; i < 10 ; i++){
printf("abangkoding.blogspot.com\n");
break;
}}

 Goto

Pernyataan goto adalah perintah untuk mengarahkan eksekusi ke


pernyataan yang diawali dengan suatu label. Label disini merupakan
identifier yang diikuti dengan tanda titik dua (: ).
Bentuk umum:

Label: //identifier

Goto label; //penggunaan goto

Contoh :
//Program yang menampilkan bilangan prima antara
1 - 100

#include <stdio.h>
main(){
int i=2;
cetak:
printf("%d\t",i);
loop:
i++;
if(i==2 || i==3 || i==5 || i==7)
goto cetak;
else if(i%2 && i%3 && i%5 && i%7)
goto cetak;
else if(i < 100 )
goto loop;
}

7
BAB 2
HASIL DAN PEMBAHASAN

2.1 Pembahasan Algoritma

1. Algoritma dari Flowchart Perulangan For


 Mulai,
 Inisialisasi nilai awal i=1,
 Cek kondisi apakah nilai i<=20, jika kondisi bernilai benar maka
cetak output “No Absen”,
 Nilai i dilakukan increment (ditambahkan 1),
 Cek kondisi kembali apakah nilai i<=10, bila kondisi bernilai benar
maka cetak kembali output “No Absen”,
 Iterasi terus dilakukan hingga kondisi bernilai salah,
 Selesai.
2. Algoritma dari Flowchart Perulangan While
 Mulai,
 Inisialisasi nilai awal p=2001,
 Cek kondisi apakah nilai p<=2021, jika kondisi bernilai benar
maka cetak output “Tahun”,
 Nilai p dilakukan increment (ditambahkan 1),
 Cek kondisi kembali apakah nilai p<=2021, bila kondisi bernilai
benar maka cetak kembali output “Tahun” dan nilai p ditambahkan
1,
 Iterasi terus dilakukan hingga kondisi bernilai salah,
 Selesai.
3. Algoritma dari Flowchart Perulangan Do While
 Mulai,
 Inisialisasi nilai awal a=1,
 Cetak output “Prajurit ke”,
 Nilai a dilakukan increment (ditambahkan 1),

8
 Cek kondisi apakah nilai a<=15, jika kondisi bernilai benar maka
cetak Output “Prajurit Ke”,
 Kemudian selanjutnya nilai a dilakukan increment (ditambahkan
1),
 Cek kondisi kembali apakah nilai masih a<=15, bila kondisi
bernilai benar maka cetak kembali output “Prajurit ke” dan nilai a
ditambahkan 1 ,
 Iterasi terus dilakukan hingga kondisi bernilai salah,
 Selesai.
4. Algoritma dari Flowchart Perulangan Nested For
 Inisialisasi nilai awal x=1, y=1,
 Cek kondisi apakah nilai x<=5, jika kondisi bernilai benar maka
cetak output nilai x,
 Selanjutnya cek kondisi apakah nilai y<=x, jika kondisi bernilai
benar maka cetak output nilai y,
 Kemudian nilai x dilakukan increment (ditambahkan 1) dan nilai y
juga dilakukan increment (ditambahkan 1),
 Cek kondisi kembali apakah nilai masih x<=5, bila kondisi bernilai
benar maka cetak kembali output nilai x,
 Dan setelah itu cek kondisi kembali apakah nilai masih y<=x, bila
kondisi bernilai benar maka cetak kembali output nilai y,
 Selanjutnya nilai x ditambahkan 1 dan nilai y ditambahkan 1,
 Iterasi terus dilakukan hingga kondisi bernilai salah,
 Selesai.
5. Algoritma dari Flowchart Fungsi Continue, Break, Goto

 Mulai,
 Inisialisasi n sebagai input, x=1, dan a sebagai character yang akan
di input,
 Untuk bagian awal; akan keluar output “Masukkan nilai n :” untuk
menginput nilai n,

9
 Cek kondisi apakah nilai x<n, jika kondisi bernilai genap maka
jalankan perintah continue sehingga program dibawahnya tidak
akan di jalankan dan akan melanjutkan ke perulangan berikutnya,
 Kemudian nilai x dilakukan increment (ditambahkan 1),
 Jika kondisi x>50 bernilai benar maka pengulangan akan
stop/berhenti,
 Cek kondisi kembali apakah nilai x<n, jika kondisi bernilai genap
maka jalankan perintah continue sehingga program dibawahnya
tidak akan di jalankan dan akan melanjutkan ke perulangan
berikutnya dan selanjutnya nilai x dilakukan increment
(ditambahkan 1),
 Dan jika kondisi x>50 bernilai benar maka pengulangan akan
stop/berhenti,
 Setelah itu akan keluar output “ingin kembali ke awal ? [Y/T] : ”
dan masukkan input; jika ‘Y’ atau ‘y’ bernilai benar maka akan
kembali ke awal dimana akan diminta kembali untuk memasukkan
nilai input n : , dan jika ‘T’ atau ‘t’ bernilai benar maka program
akan berhenti dan selesai,
 Iterasi terus dilakukan hingga kondisi bernilai salah,
 Selesai.

10
2.2 Hasil Program

2.2.1 Flowchart Program

1. Flowchart Perulangan For

Mulai

i=1

Selesai i<=20

No Absen
Absen

i=i+1

2. Flowchart Perulangan While

Mulai

p=2001

Selesai p<=2021

Tahun

p=p+1

11
3. Flowchart Perulangan Do While

Mulai

a=1

Prajurit ke

a<=15 a=a+1

Selesai

4. Flowchart Perulangan Nested For

Mulai

x=1
“x= ”,x

y=1

y<=x

x<=5

“y= ”,y

Selesai

y=y+1 x=x+1

12
5. Flowchart Fungsi Continue, Break, Goto

Mulai

x=1
x=x+1

Masukkan
“x= ”,x nilai n :

x%2==0

x<n

Continue

x>50 Break

input
[Y/T] || [y/t]

[Y||y] Goto

[T||t]

Selesai

13
2.2.2 Source Code

1. Program Perulangan For

# include <stdio.h>
int main () {
int i;
for(i=1;i<=20;i++) {
printf("No Absen %d\n",i); }
return 0; }

2. Program Perulangan While

# include <stdio.h>
int main () {
int p=2001;
while(p<=2021) {
printf("Tahun %d\n",p);
p++; }
return 0; }

3. Program Perulangan Do While

# include <stdio.h>
int main () {
int a=1;
do{ printf("Prajurit ke %d\n",a);
a++;}
while(a<=15);
return 0; }

4. Program Perulangan Nested For

#include<stdio.h>
int main(){
int x,y;
for(x=1;x<=5;x++){
for(y=1;y<=x;y++){
printf("%d ",x);}
printf("\n");}}

14
5. Program Fungsi Continue, Break, dan Goto

#include<stdio.h>
int main(){
int n,x;
char a;
awal:
printf("Masukkan nilai n : ");
scanf("%d",&n);
for(x=1;x<n;x++){
if(x%2==0)
continue;
if(x>50)
break;
printf("%d ",x);}
printf("\ningin kembali ke awal ? [Y/T]
: ");
scanf("%s",&a);
printf("\n");
if (a=='Y'||a=='y'){
goto awal;}
else if(a=='T'||a=='t'){
return 0;}}

2.2.3 Hasil Run Program ( Output )


1. Program Perulangan For

15
2. Program Perulangan While

3. Program Perulangan Do While

16
4. Program Perulangan Nested For

5. Program Fungsi Continue, Break, dan Goto

17
BAB 3
PENUTUP

3.1 Kesimpulan

Perulangan atau yang sering disebut dengan “looping”, merupakan proses


yang dilakukan secara berulang-ulang dalam batas yang telah ditentukan. Dengan
menggunakan proses perulangan, penulisan kode program dapat menjadi lebih
efisien. Dalam bahasa C, terdapat beberapa macam struktur kendali perulangan,
antara lain: for, do…while, dan while.
Perulangan bersarang adalah sebutan untuk perulangan di dalam
perulangan. Konsep seperti ini sering dipakai untuk memecahkan masalah
programming yang cukup kompleks. Semua jenis perulangan bisa dibuat dalam
bentuk perulangan bersarang, termasuk perulangan FOR, WHILE dan DO WHILE.
Dalam bahasa inggris, perulangan bersarang ini dikenal dengan sebutan nested
loop.
Fungsi continue, break, dan goto dalam bahasa C cukup penting dan sering
digunakan dalam sebuah program, jika programnya menggunakan menu dan
perulangan.

18
DAFTAR PUSTAKA

Abang koding, Tutorial Bahasa C #15 : Fungsi Break, Continue, Goto, Exit(), Dan
System, abangkoding.blogspot.com, diakses online pada 19 November
2020, <http://abangkoding.blogspot.com/2018/08/bcge-bahasa-c.html>

Andre, 11 April 2019, Tutorial Belajar C: Cara Membuat Perulangan Bersarang


Nested Loop, duniailkom.com, diakses online pada 19 November 2020,
<https://www.duniailkom.com/tutorial-belajar-c-cara-membuat-
perulangan-bersarang-nested-loop/>

Harefa, jeklin, Perulangan Dalam Bahasa C, socs.binus.ac.id, diakses online pada


19 November 2020, <https://socs.binus.ac.id/2017/03/20/perulangan-
dalam-bahasa-c/>

You might also like