Anda di halaman 1dari 12

MODUL PERKULIAHAN

ALGORITMA
PEMROGRAMAN

Nested Looping

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh


Ilmu Komputer Teknik Informatika W15170000 Ida Farida, M.Kom

10 4

Abstract Kompetensi

Penjelasan dalam materi modul-5 tsb Mahasiswa diharapkan Mampu


terkait dengan perulangan dalam membuat Program C++
perulangan (Nested untuk menyelesaikan masalah
Looping) masalah yang menggunakan
menggunakan perulangan dalam
perulangan (Nested Looping)
Perulangan Bersarang (Nested Loop)

"Perulangan Bersarang (Nested Loop)" adalah struktur perulangan yang berada


didalam struktur perulangan lainnya. Pada umumnya, struktur perulangan yang berada
didalam struktur perulangan lainnya memiliki hubungan yang saling terkait dalam
menyelesaikan sebuah kasus komputasi. Jika struktur perulangan luar (struktur perulangan
yang menampung struktur perulangan lain didalamnya) tidak memiliki hubungan terkait dan
tidak memiliki kepentingan dalam melakukan proses komputasi, sebaiknya jangan lakukan
perulangan bersarang (nested loop), karena hanya akan menghabiskan waktu eksekusi
yang sia-sia dan program berjalan tidak optimal.
Konsep perulangan bersarang adalah pada setiap perulangan pertama program
akan menyelesaikan perulangan yang kedua. Kemudian pada setiap perulangan kedua,
program akan menyelesaikan perulangan ketiga, begitu seterusnya. Kemudian perulangan
yang lebih luar akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari
nilai awalnya dan seterusnya.
Nested for
Bentuk umumnya:

Pada Pernyataan for berguna untuk menggulang pengeksekusian terhadap satu atau
sejumlah pernyataan. Bentuk format :

for (ungkapan1; ungkapan2; ungkapan3)


pernyataan;

Contoh program :
//*-------------------------------------------------------*
//* Contoh 4.7 : Menampilkan bilangan genap *
//* yang nilainya kurang atau sama *
//* dengan n dan ditampilkan dari *
//* terbesar sampai nol *
//*-----------------------------------------------------*
#include <iostream.h>

2020 Algoritma Pemrograman


2 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
#include <conio.h>
void main()
{
int n;
clrscr();
cout << “Menampilkan bilangan genap yang nilainya “<< endl;
cout <<” kurang atau sama dengan n “ << endl;
cout << “Masukkan nilai n = “ ;
cin >> n;
// Jika n ganjil, maka dikurangi 1
if ( n % 2)
n --;
// tampilkan deret bilangan genap dari besar ke kecil
for ( ; n >= 0; n -= 2 )
cout << n << ‘ ‘;
}

Hasil eksekusi : Menampilkan bilangan genap yang nilainya


kurang atau sama dengan n
Masukkan nilai n = 11 
10 8 6 4 2 0

Pada program diatas terdapat :


n --; ungkapan kosong
for ( ; n >= 0; n -= 2 )
sama artinya dengan :
for (n -- ; n >= 0 ; n - = 2 )

for bersarang ( Nested for )


Pada aplikasi tertentu, terkadang kita menggunakan pernyataan for yang juga
berada dalam pernyataan for.

Contoh program :
//*--------------------------------------------------------------*
//* Contoh 4.7 : Memebentuk segitiga yang berisi *
//* karakter ‘ * ‘ dengan menggunakan *
//* for didalam for *
//*--------------------------------------------------------------*
#include <iostream.h>
#include <conio.h>

2020 Algoritma Pemrograman


3 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
void main()
{
int tinggi, // Menyatakan tinggi segi tiga
baris, // Pencacah untuk baris
kolom; // Pencacah untuk kolom
clrscr();
cout << “ Tinggi segitiga = “ ;
cin >> tinggi;
cout << endl; //Membuat baris kosong
for (baris = 1; kolom <= baris; kolom ++ )
{
for (klom = 1; kolom <= baris ; klom ++ )
cout << ‘ * ‘ ;
cout << endl ; // Pindah baris
}
}

Hasil eksekusi :
Tinggi segitiga = 5 
*
**
***
****
*****

Contoh programnya:

2020 Algoritma Pemrograman


4 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Output program

Keterangan:
Syarat pada fungsi for tunggal adalah menampilkan baris yaitu bilangan 1, dan
batas pada output ini menampilkan 3x perulangan (3 baris). Tapi kenapa yang tampil tetap
angka 1, dan penambahan nilai setiap kolom yang mengalami perulangan?
Dari source program diatas bisa kita pahami dengan mudah. Lihat fungsi cetak cout
bahwa nilai variable “y” yang akan dicetak setelah melalui fungsi perulangan, yang berarti
maksud dari program ini nilai looping x dari angka 1 sampai 3, dan untuk setiap baris yang
ditampilkan mengandung perulangan dengan batasan sampai fungsi perulangan bersarang
for batasan y=4. Sehingga nilai perulangan dalam setiap baris menampilkan nilai perulangan
dengan batasan y.

Contoh program 2 :

2020 Algoritma Pemrograman


5 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Output Program

2020 Algoritma Pemrograman


6 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Nested while

While merupakan perulangan yang melakukan pengecekan kondisi di awal blok


struktur. Jika kondisi yang didefinisikan tidak terpenuhi (bernilai salah) maka statemen tidak
akan di eksekusi program.

Bentuk umum perulangan while bersarang

Berikut contoh progamnya.

Output Program

2020 Algoritma Pemrograman


7 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Nested do-while

Dalam menggunakan perulangan do-while kita harus berhati-hati dalam


mendefinisikan kondisi yang terdapat di dalamnya.
Bentuk umum perulangan do-while bersarang

Contoh Program:

Outputnya sama:

2020 Algoritma Pemrograman


8 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Pernyataan Continue

Kegunaan dari continue dipakai untuk mengarahkan eksekusi ke putaran atau


iterasi berikutnya pada pernyataan pengulangan. Efek dari dari perintah ini pada for,
while dan do-while :
- Pada for :
Ungkapan ke tiga pada for (ungkapan terkanan yang terletak didalam ( )
pada for ) akan dijalankan dan kemudian ungkapan ke dua diuji lagi.
- Pada while dan do-while :
Pengujian terhadap ungkapan pada while dilakkan kembali.

Contoh menunjukan efek continue pada for :


//*-------------------------------------------------------*
//* Contoh 4.8 : Melihat efek continue pada for *
//*-------------------------------------------------------*
#include <iostream.h>
#include <conio.h>
void main()
{
int bil;
clrscr();
for ( bil = 0; bil < 10; bil++)
{
cout << bil << ‘ ‘ ;
continue;
cout << “Perhatikan apakah saya muncul” << endl;
}
}

Hasil eksekusi : 0 1 2 3 4 5 6 7 8 9

Pernyataan : cout << “Perhatikan apakah saya muncul “ << endl;

Tidak pernah tersentuh (hal ini akan dilaporkan sewaktu pengompilasian program),
sebab continue menyebabkab bil++ diproses dan bil < 10 diuji kembali.

Contoh program penggunaan continue pada while :


//*----------------------------------------------------*

2020 Algoritma Pemrograman


9 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
//* Contoh 4.9 : Pengunaan continue pada *
//* while *
//*----------------------------------------------------*
#include <iostream.h>
#include <conio.h>
void main()
{
int pencacah; // Manyatakan banyaknya nilai
float nilai; // Menyatakan nilai yang dimasukkan
float total; // Menyatakan total dari nilai

clrscr();
cout << “Menghitung nilai rata-rata “ <<endl;
cout << “Akhiri dengan memasukkan nilai negatif “ << endl ;
pencacah = 0; // Mula-mula diisi dengan nol
total = 0;
while ( 1 ) // Ungkapan selalu benar
{
cout << “Nilai ke- “ << pencacah + 1 << “ = “;
cin >> nilai ; // Baca nilai
if (nilai > 100)
{
cout << “ Nilai diatas diabaikan” << endl;
continue; // Ulangi keawal while
}

if ( nilai < 0 )
break; // keluar dar while
pencacah ++; // Naikkan pencacah sebesar 1
total += nilai ; // Tambahkan nilai ke total
}
cout << “Jumlah nilai = “ << pencacah << endl;
cout << “ Nilai rata-rata = “ << total / pencacah << endl;
}

Hasil eksekusi : Menghitung nilai rata-rata


Akhiri dengan memasukkan nilai negatif
Nilai ke-1 = 50 
Nilai ke-2 = 60 
Nilai ke-3 = 700 
Nilai diatas diabaikan
2020 Algoritma Pemrograman
10 Ida Farida, M.Kom Nilai
Pusat Bahan Ajar dan eLearning
ke-3 = 70 http://www.mercubuana.ac.id
Nilai ke-4 = -1 
Menghentikan Program dengan exit()
Suatu eksekusi program dapat dihentikan melalui pemanggilan funsi exit(). Hal ini
dapat dilakukan jika dalam sebuah program ada suatu eksekusi kondisi yang tidak
dikehendaki.
Bentuk pemakaian exit() :
exit (nilai_keluar);

nilai_keluar dapat disi dengan dengan 0 sampai dengan 255. Umumnya jika program dapat
melakukan tugasnya dengan bauk maka nilain keluarnya adalah 0. nilai keluar tidak sama
dengan nol untuk menyatakan suatu kesalahan.

Contoh program :
//*------------------------------------------------------*
//* Contoh 4.10 : Penggunaan exit() *
//*------------------------------------------------------*
#include <iostream.h>
#include <conio.h>
#include <ctype.h> // Untuk toupper()
#include <stdlib.h> // Untuk exit()
void main()
{
char jawab;
cout << “ Y = ya, T = Tidak. Pilihan ( Y/T ) : “ ;
for ( ; ; )
{
// Baca tombol dan ubah ke hurf kapital
jawab = toupper(getch());
if ((jawab = = ‘Y’) || (jawab = = ‘T’))
{
cout << jawab << endl;
if ( jawab = = ‘Y’)
exit(1);
else
exit(0);
}
}
}

2020 Algoritma Pemrograman


11 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Daftar Pustaka
[1] N. S. S. Normalina Napitupulu, Struktur Data dan Algoritma. Medan: USU Pers, 2010.

[2] M. Goodrich, R. Tamassia, and D. Mount, Datastructures and algorithms in C++,


second edition. 2004.

[3] Unicode, “The Unicode Standard, Version 7.0,” no. October, pp. 0–8, 2008.

[4] http://digispn.blogspot.com/p/sistem-bilangan.html
[5] http://www.materidosen.com/2017/05/3-macam-struktur-perulangan-c-lengkap.html
[6] http://www.nblognlife.com/2017/04/c-perulangan-for-while-do-while.html
[7] http://belajarpemrogramancplusplus.blogspot.co.id/2015/11/pembahasan-dan-
contoh-penggunaan.html

2020 Algoritma Pemrograman


12 Ida Farida, M.Kom
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id

Anda mungkin juga menyukai