algoritma pengulangan

11
Bab VII Statement Pengulangan 53 BAB VII STATEMENT PENGULANGAN 1. PENDAHULUAN Bab ini memiliki kompetensi dasar untuk dapat menggunakan dan membandingkan statement-statement perulangan dengan sintak, semantik dan logika yang benar. Statemen pengulangan digunakan untuk mengerjakan suatu pernyataan yang dilakukan berulang-ulang sesuai jumlah pengulangan yang diinginkan atau sesuai dengan kondisi atau syarat yang diberikan. 2. PENYAJIAN Secara umum struktur pengulangan dibagi dua bagian : 1. Kondisi pengulangan Yaitu expresi Boolean yang harus dipenuhi untuk melaksanakan pengulangan. Kondisi ini dinyatakan secara Explisit ( oleh pemrogram ) dan Implisit ( dikelola oleh computer ). 2. Badan ( body ) pengulangan Yaitu bagian algoritma yang diulang. Stuktur pengulangan biasanya disertai dengan : 1. Inisialisasi Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali. 2. Terminasi Aksi yang dilakukan setelah pengulangan selesai dilaksanakan. Struktur pengulangan secara umum : <inisialisasi> awal pengulangan badan pengulangan akhir pengulangan <terminasi> awal dan akhir pengulangan dinyatakan sebagai kata kunci yang bergantung pada struktur pengulangan yang dipakai. Inisialisasi dan terminasi adalah bagian yang opsional.

Upload: dudung-arsy

Post on 02-Jan-2016

564 views

Category:

Documents


1 download

DESCRIPTION

algoritma pengulangan.

TRANSCRIPT

Page 1: algoritma pengulangan

Bab VII Statement Pengulangan

53

BAB VIISTATEMENT PENGULANGAN

1. PENDAHULUANBab ini memiliki kompetensi dasar untuk dapat menggunakan dan

membandingkan statement-statement perulangan dengan sintak, semantik dan

logika yang benar.

Statemen pengulangan digunakan untuk mengerjakan suatu pernyataan

yang dilakukan berulang-ulang sesuai jumlah pengulangan yang diinginkan

atau sesuai dengan kondisi atau syarat yang diberikan.

2. PENYAJIANSecara umum struktur pengulangan dibagi dua bagian :1. Kondisi pengulangan

Yaitu expresi Boolean yang harus dipenuhi untuk melaksanakan

pengulangan. Kondisi ini dinyatakan secara Explisit ( oleh pemrogram )dan Implisit ( dikelola oleh computer ).

2. Badan ( body ) pengulangan

Yaitu bagian algoritma yang diulang.

Stuktur pengulangan biasanya disertai dengan :1. Inisialisasi

Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.

2. Terminasi

Aksi yang dilakukan setelah pengulangan selesai dilaksanakan.

Struktur pengulangan secara umum :

<inisialisasi>

awal pengulanganbadan pengulanganakhir pengulangan

<terminasi>

awal dan akhir pengulangan dinyatakansebagai kata kunci yang bergantungpada struktur pengulangan yang dipakai.Inisialisasi dan terminasi adalah bagianyang opsional.

Page 2: algoritma pengulangan

Bab VII Statement Pengulangan

54

( Pengulangan dengan kondisi/ Conditional Looping ).

Tiga macam notasi struktur pengulangan :1. Struktur FOR atau TRAVERSAL ( Pengulangan tanpa kondisi /

Unconditional Looping ).

2. Struktur WHILE..DO

3. Struktur REPEAT..UNTIL

Tiga macam notasi struktur pengulangan dalam bahasa C++ :

1. FOR

2. WHILE

3. DO..WHILE

FOR Statement for digunakan untuk mengulang eksekusi suatu ungkapan

dengan jumlah pengulangan yang sudah tertentu. Bentuk sintaksnya dalam algoritma :

FOR var awal to/downto akhir step counter DO

pernyataan

ENDFOR

atauFOR var awal to/downto akhir DO

pernyataan

ENDFOR

ataunamavar TRAVERSAL [awal..akhir]

pernyataan

Keterangan :var atau namavar : nama variabel untuk menyimpan nilai pengulanganawal : nilai awal yang dipunyai variabel untuk dimulainya

pengulangan/loopakhir : nilai akhir yang digunakan sebagai kondisi untuk keluar

dari pengulangan/loopcounter :nilai yang digunakan sebagai pengatur kenaikan/

penurunan nilai variabel pencacah atau pengendali loop.

Page 3: algoritma pengulangan

Bab VII Statement Pengulangan

55

Jika tanpa menggunakan counter maka nilai secara implisitnaik satu-satu (dengan kata lain nilai variabel bertambahsatu setiap pengulangan)

Pernyataan dapat berupa pernyataan tunggal atau beberapa pernyataan

yang dibatasi dengan tanda { } dalam bahasa C++.

Contoh penggunaan for pada algoritma :Algoritma tampilanDEKLARASI

n : integer

DESKRIPSIFor n1 to 10 dooutput(n)

endfor

Bentuk sintaksnya dalam bahasa C++ sebagai berikut :For(ungkapan1;ungkapan2;ungkapan3)

{

pernyataan;

}

Fungsi dari masing-masing ungkapan pada statement for adalahUngkapan1 : digunakan untuk memberikan inisialisasi terhadap

variabel pengendali loop.Ungkapan2 : digunakan sebagai kondisi untuk keluar dari loop.Ungkapan3 : digunakan sebagai pengatur kenaikan/penurunan nilai

variabel pencacah atau pengendali loop.Ketiga ungkapan dalam for tersebut dipisahkan dengan tanda titik koma (;).

Contoh penggunaan for pada C++/* program:for*/#include <iostream.h>main(){

int n;for(n=1;n<=10;n++){cout << n << endl;

}}

Page 4: algoritma pengulangan

Bab VII Statement Pengulangan

56

atau :/* program:for*/#include <stdio.h>main(){

int n;for(n=1;n<=10;n++){printf(”%d\n”,n);

}}

Penjelasan Program diatas :

Nilai mula-mula pada n adalah 1 (n=1) kemudian batas dari perulangan adalah

n<=10, jadi apabila lebih dari 10, looping akan berhenti. Kemudian n akan

bertambah 1 sampai akhirnya nilai n=11 (n++).

WHILE.. DOBentuk umum struktur WHILE..DO dalam algoritma adalah :

[inisialisasi]while (kondisi_ulang) do

pernyataan{ada aksi thd var kondisi}

endwhile

Bentuk umum struktur WHILE dalam bahasa C++ adalah :[inisialisasi]while (kondisi_ulang){

pernyataan;/*ada aksi thd var kondisi*/

}

Cara kerja loop dengan while..do

1. melakukan inisialisasi, yaitu memberikan nilai awal yang ada kaitannya

dengan nilai condition (kondisi)

2. memeriksa nilai kondisi.

a) Bila nilainya true, maka laksanakan loop yaitu mengerjakan

instruksi yang ada dalam loop.

Setelah melaksanakan loop, robah kondisi (change condision)

Page 5: algoritma pengulangan

Bab VII Statement Pengulangan

57

Kemudian kembali memeriksa kondisi, dan seterusnya.

b) Bila kondisi nilainya false, maka langsung keluar, melaksanakan

instruksi selanjutnya. Loop selesai.

Perbedaan FOR dengan WHILE..DO

FOR digunakan untuk proses pengulangan yang jumlah pengulangannya

dapat diketahui di awal.

WHILE..DO selain dapat berfungsi seperti FOR juga dapat digunakan

untuk proses yang jumlah pengulangannya tidak dapat diketahui.

Struktur WHILE..DOKondisi pengulangan diperiksa di awal pengulangan.

Jadi, instruksi didalam badan pengulangan hanya dapat dilaksanakan

bila pengetesan kondisi menghasilkan nilai true.

Konsekuensinya, badan pengulangan mungkin tidak akan pernah

dilaksanakan bila kondisi pengulangan pertama kali bernilai false.

Kapan kita dapat menggunakan WHILEWHILE..DO

Gunakan struktur WHILE..DO pada kasus yang mengharuskan terlebih

dahulu pemeriksaan kondisi objek sebelum objek tersebut dimanipulasi.

Page 6: algoritma pengulangan

Bab VII Statement Pengulangan

58

Flowchart WHILE..DO

Catatan : Sama seperti pada for kondisi adalah expresi Boolean yang dapat

menghasilkan nilai Boolean benar atau salah.

Catatan :

Kesalahan yang sering muncul adalah melupakan inisialisasi. Karena jika

sebuah peubah tidak di-inisialisasi-kan, maka ia sudah otomatis berisi sebuah

nilai tertentu.

Contoh dalam algoritma :Algoritma Tulisan_10kali{

Menampilkan tulisan Turbo C++ sepuluh kali}

DEKLARASIpencacah : integer

DESKRIPSIpencacah 0while(pencacah <10)

output(’Turbo C++’);pencacah pencacah + 1

endwhile

InisialisasiKondisi awal

Apakah kondisiAkhir masih belum

Tercapai ?

Statement (loop body)

Statement berikutnya

false

true

Page 7: algoritma pengulangan

Bab VII Statement Pengulangan

59

Contoh dalam bahasa C++ :/*

while.cpp - Menampilkan tulisan Turbo C++ sepuluh kali*/

#include <iostream.h>main (){

int pencacah;

pencacah = 0;while (pencacah <10){

cout << ”Turbo C++” << endl;pencacah++;

}}

atau :/*

while.cpp - Menampilkan tulisan Turbo C++ sepuluh kali*/

#include <stdio.h>main (){

int pencacah;

pencacah = 0;while (pencacah <10){

puts(”Turbo C++\n”);pencacah++;

}}

Perhatikan program while.cpp :

Mula-mula variable pencacah diisi dengan 0 sewaktu pendeklarasian.

Variable inilah yang dipakai sebagai penentu berakhir tidaknya pengulangan

dalam while.

Lalu dieksekusi pengulangan while. Dicek apakah kondisi benar atau salan

dengan pertanyaan apakah pencacah < 10, jika benar maka pernyataan-

pernyataan yang berada dalam {} dijalankan. Pertama, pernyataancout << ”Turbo C++ << endl;yang menampilkan tulisan “Turbo C++”.

Page 8: algoritma pengulangan

Bab VII Statement Pengulangan

60

Selanjutnya pernyataan :

pencacah++;

yang digunakan untuk menaikkan isi pencacah sebesar 1.

Pada putaran kedua, kondisi pencacah < 10 diperiksa kembali. Karena isi

pecacah adalah 1, kondisi tersebut menghasilkan nilai benar sehingga

pernyataan yang berada dalam {} dieksekusi kembali.

Pada saat nilai pencacah dinaikkan menjadi 10, kondisi pencacah < 10

memberikan hasil berupa false sehingga eksekusi while segera dihentikan.

Dengan cara demikian, pada layar tampil sepuluh kali tulisan “Turbo C++”.

REPEAT…UNTILBentuk umum struktur REPEAT…UNTIL dalam algoritma :

[inisialisasi]Repeat

pernyataan{ada aksi thd var kondisi}

Until(kondisi_berhenti)

Setiap loop atau pengulangan dikerjakan, maka kondisi akan di-cek. Jika masih

salah, proses loop dilakukan lagi, dan jika benar maka proses loop berhenti dan

berlanjut pada perintah selanjutnya.

Bentuk umum struktur DO…WHILE dalam bahasa C++ :[inisialisasi]do{

pernyataan;/*ada aksi thd var kondisi*/

}while(kondisi_ulang)

Setiap loop atau pengulangan dikerjakan, maka kondisi akan di-cek. Jika masih

benar, proses loop dilakukan lagi, dan jika salah maka proses loop berhenti dan

berlanjut pada perintah selanjutnya.

Page 9: algoritma pengulangan

Bab VII Statement Pengulangan

61

Perbedaan Repeat…until pada algoritma dengan do…while pada bahasa C++

adalah : pada bagian keadaan/kondisi pengecekannya. Pada repeat…until

loop akan dikerjakan kembali jika kondisi masih salah dan berhenti jika kondisi

benar, tetapi kalau do…while kebalikannya.

Contoh dalam algoritma :Algoritma Tulisan_10kali{

Menampilkan tulisan Turbo C++ sepuluh kali}

DEKLARASIpencacah : integer

DESKRIPSIpencacah 0repeat

output(’Turbo C++’);pencacah pencacah + 1

until(pencacah >= 10)

Contoh dalam bahasa C++ :/*

Dowhile.cpp - Menampilkan tulisan Turbo C sepuluh kali*/

#include <iostream.h>main (){

int pencacah ;

pencacah = 0;do{

cout << ”Turbo C++” << endl;pencacah ++;

}while (pencacah <10);

}

Page 10: algoritma pengulangan

Bab VII Statement Pengulangan

62

atau :/*

Dowhile.cpp - Menampilkan tulisan Turbo C sepuluh kali*/

#include <stdio.h>main (){

int pencacah ;

pencacah = 0;do{

puts(”Turbo C++\n”);pencacah ++;

}while (pencacah <10);

}

Pada contoh tersebut kata “Turbo C++” akan dicetak sampai pencacah

mencapai nilai = 10 atau lebih. Pencacah akan bertambah 1 setiap kali body

loop dijalankan karena perintah pencacah++.

Contoh lain :

/* program:do while*/#include<iostream.h>#include<string.h>

int main(){

char checkword[80] = ”saya”;char password[80] = ””;do{

cout << ”Enter password: ”;cin >> password;

}while(strcmp(password, checkword));cout << "password benar ";

}

Page 11: algoritma pengulangan

Bab VII Statement Pengulangan

63

atau :

/* program:do while*/#include<stdio.h>#include<string.h>

int main(){

char checkword[80] = ”saya”;char password[80] = ””;do{

puts(”Enter password: ”);scanf(”%s”,&password);

}while(strcmp(password, checkword));puts("password benar ");

}

Penjelasan :

Pada contoh diatas kata “Enter Password :” akan diulangi terus sampai kita

memasukkan password yang benar yaitu kata ‘saya’.

3. PENUTUPLatihan

1. Buatlah program untuk menampilkan output berikut :

** ** * ** * * *

2. Buatlah program untuk menampilkan output berikut :

1

1 2

1 2 3

1 2 3 4