Anda di halaman 1dari 34

ALGORITMA DAN

PEMROGRAMAN I
TIM PRODI TEKNIK INFORMATIKA UNW
STRUKTUR PERULANGAN
FOR
WHILE
REPEAT UNTIL/DO WHILE
STRUKTUR PERULANGAN
Struktur pengulangan secara umum terdiri dari dua bagian:
1. Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi
untuk melaksanakan pengulangan.
 Kondisi yang mengakibatkan pengulangan berhenti
 Dinyatakan oleh sebuah ekspresi logika.
 Baik secara explisit ataupun implisit.
2. Badan (body) pengulangan
 Bagian algoritma yang diulang.
 Pengulangan dilakukan jika statement belum terpenuhi.
STRUKTUR PERULANGAN
Stuktur pengulangan biasanya disertai dengan :
 Inisialisasi
Aksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
 Terminasi
Aksi yang dilakukan setelah pengulangan selesai dilaksanakan.

Bentuk umum struktur umum perulangan


<inisialisasi>
Keterangan :
awal pengulangan  awal dan akhir pengulangan dinyatakan
badan pengulangan sebagai kata kunci yang bergantung pada
struktur pengulangan yang dipakai.
akhir pengulangan  Inisialisasi dan terminasi adalah bagian
<terminasi> yang opsional.
STRUKTUR PERULANGAN
 Contoh : Hasil :
Mencetak kata “HALLO” HALLO
sebanyak 5 kali HALLO
HALLO
HALLO
Algoritma :
HALLO
write “HALLO”
write “HALLO”
write “HALLO”
write “HALLO”
write “HALLO”
STRUKTUR PERULANGAN
C++ :

#include<iostream>
using namespace std;
int main(){
cout<<“HALLO”<<endl;
cout<<“HALLO”<<endl;
cout<<“HALLO”<<endl;
cout<<“HALLO”<<endl;
cout<<“HALLO”<<endl;
}
Catatan :
 Ada sekumpulan statement/pernyataan yang perlu dilakukan
berulang-ulang.
 Banyaknya perulangan tergantung dari persoalan
– Bagaimana kalau ada banyak bilangan?
– ada 1000 bilangan atau lebih?
 Sebuah perulangan dalam algoritma, harus berhenti.
STRUKTUR PERULANGAN
Ada tiga bentuk pernyataan pengulangan yang akan digunakan dalam
yaitu:
1. Pernyataan FOR
2. Pernyataan WHILE
3. Pernyataan REPEAT-UNTIL/DO WHILE

Pernyataan FOR adalah konstruksi pengulangan tanpa kondisi (unconditional


looping)
Pernyataan WHILE dan REPEAT adalah pengulangan dengan kondisi (conditional
looping)
PENGULANGAN FOR
Bentuk umum :
for (ungkapan1, ungkapan 2,ungkapan 3)
{
pernyataan
}

Keterangan :
 Ungkapan 1 : memberikan nilai awal untuk variabel pencacah/counter, contoh i = 1.
 Ungkapan 2 : Kondisi pengulangan akan berhenti atau tidak.
 Ungkapan 3 : pengubahan nilai variabel pencacah untuk mencapai kondisi berhenti
dapat berupa kenaikan/penurunan atau lebih dari satu.
 Pernyataan : pernyataan yang akan diulang.
STRUKTUR PERULANGAN
Keterangan :
PROGRAM CetakHALLO  Pengulangan sudah ditentukan
{Mencetak ‘HALLO’ sebanyak 5 kali} sebanyak 5 kali.
 Menggunakan pernyataan FOR.
DEKLARASI  Badan pengulangan hanya berisi
satu buah pernyataan yaitu
i : integer ‘HALLO’.
 i adalah peubah pencacah
ALGORITMA /counter.
for i  1 to 5 do {ulangi sebanyak 5 kali}  i semula bernilai 1 dan selalu
bertambah 1 setiap
write (‘HALLO’) pengulangan sampai akhirnya I
endfor mencapai 5 yang berarti proses
selesai.
STRUKTUR PERULANGAN
C++

#include <iostream>
using namespace std;
int main(){
int i;
for(i=1;i<=5;i++)
cout<<"HALLO"<<endl;
}
FLOWCHART FOR

i=1

salah
i≤5

Benar

write (i)

i=i+1

end
PERNYATAAN FOR
Ada 2 (dua) jenis pengulangan for, yaitu :
1. Ascending (sifatnya menaik)
Algoritma:
for inisialisasi pencacah/counter  nilai awal to nilai akhir do
pernyataan
endfor
C++
for(nilai_awal;kondisi pengulangan;variabel++)
{
pernyataan;
}
PERNYATAAN FOR
2. Descending (sifatnya menurun)
Bentuk umum :
Algoritma:
for inisialisasi pencacah/counter  nilai akhir to nilai awal do
pernyataan
endfor
C++
for(nilai akhir;kondisi pengulangan;variable--)
{
pernyataan;
}
PERNYATAAN FOR
PROGRAM Cetak
{Mencetak 1,2,……., N dan N,9,………,1 }
DEKLARASI
N : integer
i : integer
ALGORITMA
read(N)
for i  1 to N do {ulangi sebanyak N kali}
for i  N downto 1 do
write (i)
endfor
PERNYATAAN FOR
Sourcecode di C++ :
#include <iostream>
using namespace std;
int main() {
cout<<"PENGULANGAN MENAIK"<<endl;
for (int C=1; C<10; C++) {
cout<<C<<endl;
}

cout<<"PENGULANGAN MENURUN"<<endl;
for (int J=10; J>0; J--) {
cout<<J<<endl;
}
return 0;
}
PERNYATAAN NESTED FOR
struktur pengulangan dapat juga diterapkan pengulangan bersarang (nested
looping). Pengulangan bersarang (nested looping) maksudnya adalah
pengulangan yang didalamnya ada pengulangan lagi

Bentuk umum dari struktur for bersarang adalah sebagai berikut.


for (variabel1=nilai_awal;kondisi1;variabel1++)
{
for (variabel2=nilai_awal;kondisi2;variabel2++)
{
for (variabel3=nilai_awal;kondisi3;variabel3++)
{
}
}
}
PERNYATAAN NESTED FOR
HASIL :
#include <iostream>
11111
using namespace std;
22222
main(){
33333
int i,j;
for (i=1 ; i <= 3 ; i++)
{
for (j=1 ; j <= 5 ; j++ ) cout <<i;
cout <<"\n";
}
}
PERNYATAAN WHILE
Bentuk umum :
While condition {
pernyataan
}

Keterangan :
 Struktur while akan memeriksa kondisi pengulangan diawal blok
pengulangan.
 pernyataan akan dilaksanakan berulang kali selama kondisi bernilai
benar, jika salah badan pengulangan tidak akan dimasuki yang berarti
pengulangan selesai.
 kondisi diakhir pengulangan disebut loop invariant yaitu variable kondisi
yang nilainya sudah tidak berubah lagi.
PERNYATAAN WHILE
PROGRAM Cetak
{Mencetak “Belajar Pemrograman” sebanyak 10 kali}
DEKLARASI
i : integer {pencacah pengulangan}
ALGORITMA
i1 Selama i masih ≤ 10 maka badan pengulangan
masih dimasuki
while i ≤ 10 {ulang selama 10 kali} do
write ( “Belajar Pemrograman yuks”)
i = i+1
endwhile
{ I > 10} (loop invariant)…. Pengulangan dihentikan jika I > 10
PERNYATAAN WHILE

i=1

salah
i ≤ 10

Benar

write (“Belajar
Pemrograman yuks”)

i=i+1

end
PERNYATAAN WHILE
Sourcecode di C++ :
#include <iostream>

using namespace std;


int main() {
int i; // Mendeklarasikan varaiebl i sebagai
// indeks pengulangan
i = 0; // Melakukan inisialisasi nilai terhadap
// variabel C
while (i<10) {
cout<<"Belajar Pemrograman yuks"<<endl;
i++; /* Statemen ini berguna untuk menaikkan nilai,
dan setelah bernilai 10,
maka pengulangan akan dihentikan */
}
return 0;
}
PERNYATAAN DO WHILE
Perulangan while dan do-while pada dasarnya hampir sama. Perbedaan
terletak pada ’lokasi’ pengecekan kondisi perulangan
Bentuk umum :
do {
pernyataan
}while

Keterangan :
 Struktur do while akan memeriksa kondisi pengulangan diakhir blok
pengulangan
 Perintah ini ekuivalen dengan repeat until yang ada di algoritma.
PERNYATAAN DO WHILE
PROGRAM Cetak
{Mencetak “Belajar Pemrograman” sebanyak 10 kali}
DEKLARASI
i : integer {pencacah pengulangan}
ALGORITMA
i1
do
write ( “Belajar Pemrograman yuks”)
i = i+1
while i ≤ 10 do {ulang selama 10 kali}
endwhile
PERNYATAAN DO WHILE
Sourcecode di C++ :

#include <iostream>
using namespace std;
int main() {
int C = 0;
do {
cout<<"Belajar pemrograman yuks"<<endl;
C++;
} while (C < 10);
return 0;
}
PERNYATAAN REPEAT
Pernyataan perulangan ini hampir sama dengan pernyataan pengulangan
while, dan biasanya digunakan bila jumlah belum dapat ditentukan pada
saat program ditulis.
Perbedaan pernyataan repeat... until dan while yaitu :
1. Terletak pada pengecekkan kondisi. Jika pada pernyataan while, kondisi
di cek pada awal blok struktur, sedangkan pada pernyataan repeat..until,
kondisi di cek pada akhir blok struktur.
2. Pernyataan while pernyataan selama kondisi masih terpenuhi, sedangkan
pernyataan repeat ..until mengulang pernyataan selama kondisi belum
terpenuhi.
Bentuk umum pernyataan repeat..until adalah sebagai berikut
repeat
pernyataan yang diulang
until kondisi
PERNYATAAN REPEAT
PROGRAM Cetak
{Mencetak “Belajar Pemrograman” sebanyak 10 kali}
DEKLARASI
i : integer {pencacah pengulangan}
ALGORITMA
i1
repeat {ulang selama 10 kali}
write ( “Belajar Pemrograman yuks”)
i = i+1
until i ≤ 10
PERNYATAAN REPEAT
Source Code C++ :

#include <iostream>

using namespace std;


int main() {
int i = 0;
do {
cout<<”Belajar Pemrograman Yuks"<<endl;
i++;
} while (i < 10);
return 0;
}
LATIHAN SOAL
Menerima 100 bilangan dan kemudian mencetak apakah bilangan
yang dimasukkan genap/ganjil
LATIHAN SOAL
1. Menerima 100 bilangan dan kemudian mencetak apakah
bilangan yang dimasukkan genap/ganjil
2. Menghitung mundur dari 20 ……0…selesai
3. Menghitung deret angka 1+2+3…..+10 plus jumlah (N>0)
JAWABAN
1. PROGRAM Cetaksampai10
{Mencetak 1,2,……….,10}

DEKLARASI
i : integer

ALGORITMA
for i  1 to 10 do {ulangi sebanyak 10 kali}
write (i)
endfor
JAWABAN
#include <iostream>
using namespace std;
int main (){
int i;
cout << "Penghitung mundur, ketik angka: ";
cin >> i;
do
{
cout << i << ", ";--i;
}
while(i>0);
cout << "Selesai!\n";
return 0;
}
JAWABAN
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int a=0, b, c, jumlah=0, i, n;
cout<<"Masukkan bilangan awal : ";
cin>>a;
cout<<"Masukkan beda : ";
cin>>b;
cout<<"Masukkan jumlah sampai deret ke-n : ";
cin>>n;
cout<<"Deret ke-"<<n<<" : ";
cout<<a<<",";
jumlah=jumlah+a;
for(i=0; i<n-1; i++){
c=a+b;
a=c;
cout<<c<<",";
jumlah=jumlah+c;
}
cout<<"\nJumlah deret ke-"<<n<<" : ";
cout<<jumlah;
getch();
return 0;
}
TERIMA KASIH

Anda mungkin juga menyukai