PERTEMUAN 5
 Challenge :
 Algoritma Luas_Segiempat
 Menghitung luas segiempat
dengan memasukkan nilai lebar
dan panjang segiempat
 Deklarasi luas,panjang,lebar : bil.
bulat
 Deskripsi :
1. Masukkan nilai lebar dan panjang
2. Hitung luas sama dengan panjang
kali lebar
3. Tampilkan Luas
- Menghitung luas segitiga
- Algoritma :
1. Masukkan alas (a)
2. Masukkan tinggi (t)
3. Hitung luas (L); yaitu 0.5 * alas *
tinggi
4. Cetak luas (L)
 Contoh kasus : mencari bilangan
terbesar dari dua bilangan yang
diinputkan
 Solusi Pseudo-code :
1. Masukkan bilangan pertama
2. Masukkan bilangan kedua
3. Jika bilangan pertama >
bilangan kedua maka kerjakan
langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
 Solusi Algoritma :
1. Masukkan bilangan pertama (a)
2. Masukkan bilangan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b
 Buatlah algoritma menggunakan
pseudocode & flowchart untuk
menentukan luas persegi panjang.
 Pseudocode :
Start
Input panjang
Input lebar
Hitung Luas=Panjang*lebar
Cetak "Luas"
Stop
 Buatlah algoritma menggunakan
pseudocode & flowchart untuk
mengubah jam dan menit yang
diinput ke dalam satuan detik
 Pseudocode :
Start
Input jam
Input menit
Hitung
detik=(jam*3600)+(menit*60)
Cetak "detik"
Stop
 Buatlah algoritma menggunakan
pseudocode & flowchart untuk
menghitung luas lingkaran
 Pseudocode :
Start
Input π
Input r
Hitung Luas=π*r*r
Cetak "Luas"
Stop
 Buatlah algoritma menggunakan pseudocode & flowchart untuk
menginput 3 buah bilangan, kemudian tentukan bilangan
terbesar, terkecil, dan rata-ratanya
 Pseudocode :
Start
Input a,b,c
if a>b and a>c then
if b>c then
Cetak "Terbesar a"
Cetak "Terkecil c"
else
Cetak "Terbesar a"
Cetak "Terkecil b"
end if
else
if a>b and a<c then
Cetak "Terbesar c"
Cetak "Terkecil b"
else
if a<b and a>c then
Cetak "Terbesar b"
Cetak "Terkecil c"
else
if b>c then
Cetak "Terbesar b"
Cetak "Terkecil a"
else
Cetak "Terbesar c"
Cetak "Terkecil a"
end if
end if
end if
end if
rata-rata=(a+b+c)/3
Cetak "rata-rata"
Stop
using namespace std;
int main()
{
int i, j, min, max, jum=0, total=0;
float rata;
bool prima;
cout << "Masukkan nilai batas bawah: ";
cin >> min;
cout << "Masukkan nilai batas atas: ";
cin >> max;
while (min > max)
{
cout << "nnBatas atas harus lebih besar dari batas bawah.nMasukkan nilai batas atas: ";
cin >> max;
}
cout << endl;
for (i=min;i<=max;i++)
{
prima=false;
if (i==2)
prima=true;
else
{
for (j=2;j<i;j++)
{
if (i % j==0)
{
prima=false;
break; // keluar dari looping
}
else
prima=true;
}
}
if (prima) // prima = true
{
cout << i << "t";
jum+=1; // menghitung banyaknya bilangan prima
total+=i; // total jumlah dari seluruh bil. prima
}
}
cout << endl;
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.precision(2);
rata=(float)total/jum;
cout << "nTerdapat " << jum << " bilangan dengan total " << total;
cout << "nRata-ratanya " << rata << endl;
system ("PAUSE");
return 0;
Algoritma dan flowchart untuk deret bilangan
Fibonacci ( 1, 1, 2, 3, 5, 8, 13, 21 )
 Algoritma :
1. Program dimulai
2. Deklarasikan variabel fibo dengan tipe array of int, variabel i untuk iterasi,
dan n untuk jumlah bilangan fibonacci yang ingin ditampilkan.
3. Masukkan jumlah bilangan fibonacci yang ingin ditampilkan dan nyatakan
ke dalam variable n, ( contohnya n <= 24 ).
4. Tetapkan nilai pada variable fibo pada indeks ke-0 dengan 1.
5. Tetapkan nilai pada variable fibo pada indeks ke-1 dengan 1.
6. Cetak nilai pada variable fibo pada indeks ke-0 dan ke-1.
7. Isi nilai i dengan 2.
8. Tambahkan nilai pada variabel fibo di indeks ke-(i-1) dengan nilai pada
variabel fibo di indeks ke-(i-2) kemudian nyatakan ke variabel fibo pada
indeks ke-i.
9. Cetak nilai dari variabel fibo pada indeks ke-i.
10. Tambahkan nilai i dengan 1.
11. Tanya apakah user masih ingin menampilkan deret fibonacci.
12. Bila jawabannya iya, maka kembali ke langkah ke-2.
13. Bila jawabannya tidak, maka program dapat langsung diakhiri.
14. Program selesai.
 program deretfibonacci;
uses wincrt;
var
i,penambah,suku : integer;
deret : array[1..100] as integer;
begin
read(suku);
for i = 1 to suku do
if i = 1 then
begin
deret[i] = 1;
penambah = 0
end
else
begin
deret [i] = deret[i-1] + penambah;
penambah = deret [i-1]
end;
'cetak deret
for i = 1 to suku do
write(deret[i])
end.
 Pengulangan / looping adalah pelaksanaan suatu
instruksi berulang kali. Di dalam algoritma,
pengulangan dapat dilakukan sejumlah kali, atau
sampai kondisi berhenti pengulangan tercapai.
 Struktur Pengulangan
Bentuk Umum:
<inisialisasi>
awal pengulangan
badan pengulangan
akhir pengulangan
<terminasi>
 <inisialisasi>: aksi yang dilakukan sebelum
pengulangan dilakukan untuk pertama kalinya.
 Badan pengulangan: bagian algoritma yang
diulang
 <terminasi>: aksi yang dilakukan setelah
pengulangan selesai dilaksanakan
 <inisialisasi> dan <terminasi> tidak selalu ada,
namun pada berbagi kasus inisialisasi umumnya
diperlukan awal dan akhir pengulangan
dinyatakan sebagai kata kunci yang bergantung
pada struktur pengulangan yang digunakan.
 Macam struktur pengulangan
Struktur FOR pengulangan tanpa
kondisi (unconditional looping)
jumlah pengulangan sudah
diketahui sebelum eksekusi
 Struktur WHILE
 pengulangan dengan kondisi
(conditional looping) jumlah
pengulangan tidak
diketahui sebelum eksekusi
program. Yang dapat ditentukan
hanya kondisi berhenti
Struktur REPEAT pengulangan
(instruksi-instruksi di dalam badan
pengulangan diulangi sampai
kondisi berhenti terpenuhi)
 FOR menaik
for pencacah <-
nilai_awal to nilai_akhir do
aksi
endfor
 pencacah -> menggunakan tipe data
yang memiliki predecessor dan
successor, yaitu integer atau karakter
(tipe riil tidak dapat digunakan
sebagai pencacah)
 aksi -> satu atau lebih instruksi yang
diulang.
 nilai_awal harus lebih kecil atau sama
dengan nilai_akhir (jika nilai_awal
lebih besar dari nilai_akhir, maka
badan pengulangan tidak dimasuki)
 pada awalnya pencacah
diinisialisasikan dengan nilai_awal.
Nilai pencacah secara otomatis
bertambah satu setiap kali aksi
pengulangan dimasuki, sampai
akhirnya nilai pencacah sama dengan
nilai_akhir
 jumlah pengulangan yang terjadi =
nilai_akhir – nilai_awal + 1
 Contoh: Mencetak tulisan
‘Informatika’ sebanyak 5 kali
 Algoritma CETAK_INFORMATIKA
 { Mencetak ‘Informatika’
sebanyak 5 kali }
DEKLARASI
k : integer { pencacah
pengulangan }
DESKRIPSI :
 for k¬1 to 5 do { ulangi sebanyak 5
kali }
write(‘Informatika’)
endfor
 Struktur FOR dapat digunakan
sebagai penyelesaian karena
jumlah pengulangan sudah
ditentukan sebelumnya (5 kali)
 Badan pengulangan hanya berisi
satu instruksi,
yaitu write(‘Informatika’)
 k adalah peubah pencacah yang
bertipe integer
 pada mulanya k bernilai 1, nilai k
selalu bertambah 1 setiap
kali pengulangan dilakukan,
sampai akhirnya k mencapai 5
 Jumlah pengulangan
yang dilakukan: 5 – 1 + 1 = 5 kali
 Keluaran dari
algoritmaCETAK_INFORMATIKA
adalahstring ‘Informatika’
sebanyak 5kali:
 Algoritma PENJUMLAHAN_DERET
{ Menjumlahkan deret 1 + 2 + 3 +
... + N, dengan N adalah bilangan
bulat positif yang dibaca dari
piranti
masukan }

DEKLARASI
k : integer { pencacah
pengulangan }
N, jumlah : integer

DESKRIPSI :
 read(N) { banyaknya suku deret }
 jumlah ¬ 0
for k¬1 to N do { ulangi sebanyak N
kali }
jumlah ¬ jumlah + k
endfor
write(jumlah)
 Contoh: Mencetak angka 5, 4, …, 1
 Algoritma CETAK_ANGKA_TURUN
{ Mencetak 5, 4, ..., 1 ke piranti
keluaran }
DEKLARASI
k : integer { pencacah pengulangan
}
DESKRIPSI :
for k¬5 downto 1 do
write(k)
endfor
 Pada algoritma
CETAK_ANGKA_TURUN,
angka-angka yang dicetak
bersesuaian dengan nilai pencacah
pengulangan. Keluaran dari
algoritma adalah angka 5 yang
turun sampai ke angka 1:
5 4 3 2 1
BERURUTAN
 Contoh Flowchart
untuk menghitung
luas bangun.
a. Volume balok
b. Luas lingkaran
 mengubah temperatur dalam
Fahrenheit menjadi temperatur
dalam Celcius dengan rumus oC =
5/9 x (oF -32)
PERCABGANGAN
 Sebuah aturan untuk menonton
sebuah film tertentu adalah
sebagai berikut, jika usia penonton
lebih dari 17 tahun maka penonton
diperbolehkan dan apabila kurang
dari 17 tahun maka penonton tidak
diperbolehkan nonton
 pemeriksaan kondisi, yaitu apakah
usia lebih dari 17 tahun atau tidak.
Jika jawaban ya maka program
akan menghasilkan keluaran teks
“Silahkan Menonton”, sedangkan
jika input usia kurang dari 17 tahun
maka program akan menghasilkan
keluaran teks “Anda Tidak Boleh
Menonton”.
 Contoh Struktur percabangan
untuk perhitungan dua buah
bilangan.
Dalam suatu perhitungan nilai P =
X + Y. Jika P positif, maka Q = X * Y,
sedangkan jika negative maka nilai
Q = X/Y. Buatlah flowchart untuk
mencari nilai P dan Q
 Penyelesaian:
Pada contoh ini input yang
dibutuhkan adalah nilai X dan Y,
sedangkan proses pemeriksaan
kondisi dilakukan pada nilai P
apakah positif (termasuk 0)
ataukah negative.
 Sebuah usaha fotokopi mempunyai aturan
sebagai berikut :
– jika yang fotokopi statusnya adalah
langganan, maka berapa lembar pun dia
fotokopi, harga perlembarnya Rp. 75,-
– jika yang fotokopi bukan langganan, maka
jika dia fotokopi kurang dari 100
lembar harga perlembarnya Rp. 100,-.
Sedangkan jika lebih atau sama
dengan 100 lembar maka harga
perlembarnya Rp. 85,-.
Buat flowchart untuk menghitung total
harga yang harus dibayar jika seseorang
memfotokopi sejumlah X lembar.
 Pengulangan (Looping).
– Struktur pengulangan dengan For
Pengulangan dengan menggunakan
For, merupakan salah satu teknik
pengulangan yang paling tua dalam
bahasa pemrograman. Hampir
semua bahasa pemrograman
menyediakan metode ini, meskipun
sintaksnya mungkin berbeda. Pada
struktur For kita harus tahu terlebih
dahulu seberapa banyak badan loop
akan diulang. Struktur ini
menggunakan sebuah variable yang
biasa disebut sebagai loop’s counter,
yang nilainya akan naik atau turun
selama proses pengulangan.
 Contoh Algoritma untuk mencetak
pernyataan sebanyak 100 kali.
Mungkin kalian pernah ketika
masih di sekolah dasar melakukan
perbuatan nakal yang membuat
kalian disuruh menuliskan
pernyataan tertentu sebanyak 100
kali sebagai hukuman atas
kenakalan tersebut. Misalkan
pernyataan yang harus ditulis
adalah “Saya tidak akan
mengulangi perbuatan itu lagi”.
Bagaimanakah caranya algoritma
untuk kasus ini?
 FOR DO ( Pengulangan Tanpa
Kondisi )

 For do merupakan struktur
pengulangan dimana aksi dilakukan
sebanyak hitungan
pencacah pengulangan. Pencacah
pengulangan dapat diset sesuai
dengan nilai yang ingin kita mulai.
 Example:for pencacah
pengulangan dari x sampai y
do berarti aksi dilakukan sebanyak
hitungan pencacah pengulangan,
yaitu dari x sampai y sebanyak b-
a+1 kali.
 Algoritma menulis 500 kalimat

 Menuliskan kalimat " Saya berjanji
tidak akan nakal dan malas lagi "
Sebanyak 500 kali.

 Deskripsi :
 for J dari 1 sampai 500 do
 t tulis kalimat " Saya berjanji tidak
akan nakal dan malas lagi "

 J adalah pencacah pengulangan yang
dari 1 sampai 500. Komputer akan
melaksanakan aksi tulis kalimat
tersebut sebanyak 500 kali. Struktur
pengulangan ini dapat ditulis secara
umum sebagai berikut:
 for pencacah pengulangan dari 1
sampai N do
 aksi
 REPEAT - UNTIL ( Pengulangan
dengan Kondisi )
 Repeat berarti ulangi dan until
berarti sampai. Jadi, repeat-until
adalah struktur
pengulangandimana aksi dilakukan
hingga kondisi (persyaratan )
berhenti terpenuhi.
 Example: misalkan kita ingin
mengetahui nilai dari mahasiswa
jika data masukannya adalah NIM.
 Program Pencarian{Program
mencari nilai mahasiswa didalam
tabel dengan NIM= a.Tabel sudah
berisi data NIM,nama dan nilai}
 Struktur pengulangan dengan While
Pada pengulangan dengan For,
banyaknya pengulangan diketahui
dengan pasti karena nilai awal (start)
dan nilai akhir (end) sudah ditentukan
diawal pengulangan. Bagaimana jika
kita tidak tahu pasti harus berapa kali
mengulang? Pengulangan dengan
While merupakan jawaban dari
permasalahan ini. Seperti halnya For,
struktur pengulangan dengan While
juga merupakan struktur yang
didukung oleh hampir semua bahasa
pemrograman namun dengan sintaks
yang berbeda.
 Struktur While akan mengulang
pernyataan pada badan loop
sepanjang kodisi pada While
bernilai benar. Dalam artian kita tidak
perlu tahu pasti berapa kali diulang.
Yang penting sepanjang kondisi pada
While dipenuhi maka pernyataan
pada badan loop akan
diulang.
 1. Pada flowchart ini ada dua variabel
yang kita gunakan yaitu A dan B. Kedua
variabel tersebut kita inisialisasi nilai
awalnya (A = 1 dan B = 0) sebelum proses
loop terjadi. Variabel A adalah variabel
counter.
2. Pada simbol decision, nilai A akan
diperiksa apakah memenuhi kondisi (<
10).
Jika Ya maka perintah berikutnya
dieksekusi, jika tidak maka program akan
berhenti. Pada awal eksekusi ini kondisi
akan terpenuhi karena nilai A = 1.
3. Jalankan perintah Print B.
4. Nilai variabel A kemudian diganti
dengan nilai A lama (1) ditambah 2.
Sehingga nilai variabel A baru adalah 3.
Sedangkan nilai variabel B = 9 (hasil
perkalian A = 3).
5. Program akan berputar kembali untuk
memeriksa apakah nilai variabel A masih
lebih kecil dari 10. Pada kondisi ini nilai A
= 3, sehingga kondisi masih terpenuhi.
Kemudian langkah berulang ke langkah ke
3. Begitu seterusnya sampai nilai variabel
A tidak lagi memenuhi syarat kurang dari
10. Sehingga output dari flowchart ini
adalah : 0, 9, 25, 49, 81.
 Contoh : Program cetak
banyak_Belajar yang rajin oce!
{ mencetak ‘Belajar Algoritma
yuk!’, sebanyak 5 kali }
 Deklarasi
i: integer ( pencacah pengulangan )
Algoritma
i <– 1while i 5 do ( ulangi sebanyak
5 kali )
write ( ‘Belajar Algoritma yuk’ )

 i <– i + 1
end while
 . output
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !

ALOGARITMA 4

  • 1.
  • 2.
     Challenge : Algoritma Luas_Segiempat  Menghitung luas segiempat dengan memasukkan nilai lebar dan panjang segiempat  Deklarasi luas,panjang,lebar : bil. bulat  Deskripsi : 1. Masukkan nilai lebar dan panjang 2. Hitung luas sama dengan panjang kali lebar 3. Tampilkan Luas
  • 3.
    - Menghitung luassegitiga - Algoritma : 1. Masukkan alas (a) 2. Masukkan tinggi (t) 3. Hitung luas (L); yaitu 0.5 * alas * tinggi 4. Cetak luas (L)
  • 4.
     Contoh kasus: mencari bilangan terbesar dari dua bilangan yang diinputkan  Solusi Pseudo-code : 1. Masukkan bilangan pertama 2. Masukkan bilangan kedua 3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5. 4. Tampilkan bilangan pertama 5. Tampilkan bilangan kedua  Solusi Algoritma : 1. Masukkan bilangan pertama (a) 2. Masukkan bilangan kedua (b) 3. if a > b then kerjakan langkah 4 4. print a 5. print b
  • 5.
     Buatlah algoritmamenggunakan pseudocode & flowchart untuk menentukan luas persegi panjang.  Pseudocode : Start Input panjang Input lebar Hitung Luas=Panjang*lebar Cetak "Luas" Stop
  • 6.
     Buatlah algoritmamenggunakan pseudocode & flowchart untuk mengubah jam dan menit yang diinput ke dalam satuan detik  Pseudocode : Start Input jam Input menit Hitung detik=(jam*3600)+(menit*60) Cetak "detik" Stop
  • 7.
     Buatlah algoritmamenggunakan pseudocode & flowchart untuk menghitung luas lingkaran  Pseudocode : Start Input π Input r Hitung Luas=π*r*r Cetak "Luas" Stop
  • 8.
     Buatlah algoritmamenggunakan pseudocode & flowchart untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil, dan rata-ratanya  Pseudocode : Start Input a,b,c if a>b and a>c then if b>c then Cetak "Terbesar a" Cetak "Terkecil c" else Cetak "Terbesar a" Cetak "Terkecil b" end if else if a>b and a<c then Cetak "Terbesar c" Cetak "Terkecil b" else if a<b and a>c then Cetak "Terbesar b" Cetak "Terkecil c" else if b>c then Cetak "Terbesar b" Cetak "Terkecil a" else Cetak "Terbesar c" Cetak "Terkecil a" end if end if end if end if rata-rata=(a+b+c)/3 Cetak "rata-rata" Stop
  • 9.
    using namespace std; intmain() { int i, j, min, max, jum=0, total=0; float rata; bool prima; cout << "Masukkan nilai batas bawah: "; cin >> min; cout << "Masukkan nilai batas atas: "; cin >> max; while (min > max) { cout << "nnBatas atas harus lebih besar dari batas bawah.nMasukkan nilai batas atas: "; cin >> max; } cout << endl; for (i=min;i<=max;i++) { prima=false; if (i==2) prima=true; else { for (j=2;j<i;j++) { if (i % j==0) { prima=false; break; // keluar dari looping } else prima=true; } } if (prima) // prima = true { cout << i << "t"; jum+=1; // menghitung banyaknya bilangan prima total+=i; // total jumlah dari seluruh bil. prima } } cout << endl; cout.setf(ios::fixed); cout.setf(ios::showpoint); cout.precision(2); rata=(float)total/jum; cout << "nTerdapat " << jum << " bilangan dengan total " << total; cout << "nRata-ratanya " << rata << endl; system ("PAUSE"); return 0;
  • 10.
    Algoritma dan flowchartuntuk deret bilangan Fibonacci ( 1, 1, 2, 3, 5, 8, 13, 21 )
  • 11.
     Algoritma : 1.Program dimulai 2. Deklarasikan variabel fibo dengan tipe array of int, variabel i untuk iterasi, dan n untuk jumlah bilangan fibonacci yang ingin ditampilkan. 3. Masukkan jumlah bilangan fibonacci yang ingin ditampilkan dan nyatakan ke dalam variable n, ( contohnya n <= 24 ). 4. Tetapkan nilai pada variable fibo pada indeks ke-0 dengan 1. 5. Tetapkan nilai pada variable fibo pada indeks ke-1 dengan 1. 6. Cetak nilai pada variable fibo pada indeks ke-0 dan ke-1. 7. Isi nilai i dengan 2. 8. Tambahkan nilai pada variabel fibo di indeks ke-(i-1) dengan nilai pada variabel fibo di indeks ke-(i-2) kemudian nyatakan ke variabel fibo pada indeks ke-i. 9. Cetak nilai dari variabel fibo pada indeks ke-i. 10. Tambahkan nilai i dengan 1. 11. Tanya apakah user masih ingin menampilkan deret fibonacci. 12. Bila jawabannya iya, maka kembali ke langkah ke-2. 13. Bila jawabannya tidak, maka program dapat langsung diakhiri. 14. Program selesai.
  • 12.
     program deretfibonacci; useswincrt; var i,penambah,suku : integer; deret : array[1..100] as integer; begin read(suku); for i = 1 to suku do if i = 1 then begin deret[i] = 1; penambah = 0 end else begin deret [i] = deret[i-1] + penambah; penambah = deret [i-1] end; 'cetak deret for i = 1 to suku do write(deret[i]) end.
  • 14.
     Pengulangan /looping adalah pelaksanaan suatu instruksi berulang kali. Di dalam algoritma, pengulangan dapat dilakukan sejumlah kali, atau sampai kondisi berhenti pengulangan tercapai.  Struktur Pengulangan Bentuk Umum: <inisialisasi> awal pengulangan badan pengulangan akhir pengulangan <terminasi>  <inisialisasi>: aksi yang dilakukan sebelum pengulangan dilakukan untuk pertama kalinya.  Badan pengulangan: bagian algoritma yang diulang  <terminasi>: aksi yang dilakukan setelah pengulangan selesai dilaksanakan  <inisialisasi> dan <terminasi> tidak selalu ada, namun pada berbagi kasus inisialisasi umumnya diperlukan awal dan akhir pengulangan dinyatakan sebagai kata kunci yang bergantung pada struktur pengulangan yang digunakan.
  • 15.
     Macam strukturpengulangan Struktur FOR pengulangan tanpa kondisi (unconditional looping) jumlah pengulangan sudah diketahui sebelum eksekusi  Struktur WHILE  pengulangan dengan kondisi (conditional looping) jumlah pengulangan tidak diketahui sebelum eksekusi program. Yang dapat ditentukan hanya kondisi berhenti Struktur REPEAT pengulangan (instruksi-instruksi di dalam badan pengulangan diulangi sampai kondisi berhenti terpenuhi)
  • 16.
     FOR menaik forpencacah <- nilai_awal to nilai_akhir do aksi endfor  pencacah -> menggunakan tipe data yang memiliki predecessor dan successor, yaitu integer atau karakter (tipe riil tidak dapat digunakan sebagai pencacah)  aksi -> satu atau lebih instruksi yang diulang.  nilai_awal harus lebih kecil atau sama dengan nilai_akhir (jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki)  pada awalnya pencacah diinisialisasikan dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_akhir  jumlah pengulangan yang terjadi = nilai_akhir – nilai_awal + 1
  • 17.
     Contoh: Mencetaktulisan ‘Informatika’ sebanyak 5 kali  Algoritma CETAK_INFORMATIKA  { Mencetak ‘Informatika’ sebanyak 5 kali } DEKLARASI k : integer { pencacah pengulangan } DESKRIPSI :  for k¬1 to 5 do { ulangi sebanyak 5 kali } write(‘Informatika’) endfor
  • 18.
     Struktur FORdapat digunakan sebagai penyelesaian karena jumlah pengulangan sudah ditentukan sebelumnya (5 kali)  Badan pengulangan hanya berisi satu instruksi, yaitu write(‘Informatika’)  k adalah peubah pencacah yang bertipe integer  pada mulanya k bernilai 1, nilai k selalu bertambah 1 setiap kali pengulangan dilakukan, sampai akhirnya k mencapai 5  Jumlah pengulangan yang dilakukan: 5 – 1 + 1 = 5 kali  Keluaran dari algoritmaCETAK_INFORMATIKA adalahstring ‘Informatika’ sebanyak 5kali:
  • 19.
     Algoritma PENJUMLAHAN_DERET {Menjumlahkan deret 1 + 2 + 3 + ... + N, dengan N adalah bilangan bulat positif yang dibaca dari piranti masukan }  DEKLARASI k : integer { pencacah pengulangan } N, jumlah : integer  DESKRIPSI :  read(N) { banyaknya suku deret }  jumlah ¬ 0 for k¬1 to N do { ulangi sebanyak N kali } jumlah ¬ jumlah + k endfor write(jumlah)
  • 20.
     Contoh: Mencetakangka 5, 4, …, 1  Algoritma CETAK_ANGKA_TURUN { Mencetak 5, 4, ..., 1 ke piranti keluaran } DEKLARASI k : integer { pencacah pengulangan } DESKRIPSI : for k¬5 downto 1 do write(k) endfor  Pada algoritma CETAK_ANGKA_TURUN, angka-angka yang dicetak bersesuaian dengan nilai pencacah pengulangan. Keluaran dari algoritma adalah angka 5 yang turun sampai ke angka 1: 5 4 3 2 1
  • 22.
    BERURUTAN  Contoh Flowchart untukmenghitung luas bangun. a. Volume balok b. Luas lingkaran
  • 23.
     mengubah temperaturdalam Fahrenheit menjadi temperatur dalam Celcius dengan rumus oC = 5/9 x (oF -32)
  • 24.
    PERCABGANGAN  Sebuah aturanuntuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton  pemeriksaan kondisi, yaitu apakah usia lebih dari 17 tahun atau tidak. Jika jawaban ya maka program akan menghasilkan keluaran teks “Silahkan Menonton”, sedangkan jika input usia kurang dari 17 tahun maka program akan menghasilkan keluaran teks “Anda Tidak Boleh Menonton”.
  • 25.
     Contoh Strukturpercabangan untuk perhitungan dua buah bilangan. Dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q  Penyelesaian: Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan proses pemeriksaan kondisi dilakukan pada nilai P apakah positif (termasuk 0) ataukah negative.
  • 26.
     Sebuah usahafotokopi mempunyai aturan sebagai berikut : – jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75,- – jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama dengan 100 lembar maka harga perlembarnya Rp. 85,-. Buat flowchart untuk menghitung total harga yang harus dibayar jika seseorang memfotokopi sejumlah X lembar.
  • 27.
     Pengulangan (Looping). –Struktur pengulangan dengan For Pengulangan dengan menggunakan For, merupakan salah satu teknik pengulangan yang paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman menyediakan metode ini, meskipun sintaksnya mungkin berbeda. Pada struktur For kita harus tahu terlebih dahulu seberapa banyak badan loop akan diulang. Struktur ini menggunakan sebuah variable yang biasa disebut sebagai loop’s counter, yang nilainya akan naik atau turun selama proses pengulangan.
  • 28.
     Contoh Algoritmauntuk mencetak pernyataan sebanyak 100 kali. Mungkin kalian pernah ketika masih di sekolah dasar melakukan perbuatan nakal yang membuat kalian disuruh menuliskan pernyataan tertentu sebanyak 100 kali sebagai hukuman atas kenakalan tersebut. Misalkan pernyataan yang harus ditulis adalah “Saya tidak akan mengulangi perbuatan itu lagi”. Bagaimanakah caranya algoritma untuk kasus ini?
  • 29.
     FOR DO( Pengulangan Tanpa Kondisi )   For do merupakan struktur pengulangan dimana aksi dilakukan sebanyak hitungan pencacah pengulangan. Pencacah pengulangan dapat diset sesuai dengan nilai yang ingin kita mulai.  Example:for pencacah pengulangan dari x sampai y do berarti aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari x sampai y sebanyak b- a+1 kali.
  • 30.
     Algoritma menulis500 kalimat   Menuliskan kalimat " Saya berjanji tidak akan nakal dan malas lagi " Sebanyak 500 kali.   Deskripsi :  for J dari 1 sampai 500 do  t tulis kalimat " Saya berjanji tidak akan nakal dan malas lagi "   J adalah pencacah pengulangan yang dari 1 sampai 500. Komputer akan melaksanakan aksi tulis kalimat tersebut sebanyak 500 kali. Struktur pengulangan ini dapat ditulis secara umum sebagai berikut:  for pencacah pengulangan dari 1 sampai N do  aksi
  • 31.
     REPEAT -UNTIL ( Pengulangan dengan Kondisi )  Repeat berarti ulangi dan until berarti sampai. Jadi, repeat-until adalah struktur pengulangandimana aksi dilakukan hingga kondisi (persyaratan ) berhenti terpenuhi.  Example: misalkan kita ingin mengetahui nilai dari mahasiswa jika data masukannya adalah NIM.  Program Pencarian{Program mencari nilai mahasiswa didalam tabel dengan NIM= a.Tabel sudah berisi data NIM,nama dan nilai}
  • 32.
     Struktur pengulangandengan While Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti karena nilai awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan. Bagaimana jika kita tidak tahu pasti harus berapa kali mengulang? Pengulangan dengan While merupakan jawaban dari permasalahan ini. Seperti halnya For, struktur pengulangan dengan While juga merupakan struktur yang didukung oleh hampir semua bahasa pemrograman namun dengan sintaks yang berbeda.  Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang.
  • 33.
     1. Padaflowchart ini ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses loop terjadi. Variabel A adalah variabel counter. 2. Pada simbol decision, nilai A akan diperiksa apakah memenuhi kondisi (< 10). Jika Ya maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti. Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A = 1. 3. Jalankan perintah Print B. 4. Nilai variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3). 5. Program akan berputar kembali untuk memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah berulang ke langkah ke 3. Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10. Sehingga output dari flowchart ini adalah : 0, 9, 25, 49, 81.
  • 34.
     Contoh :Program cetak banyak_Belajar yang rajin oce! { mencetak ‘Belajar Algoritma yuk!’, sebanyak 5 kali }  Deklarasi i: integer ( pencacah pengulangan ) Algoritma i <– 1while i 5 do ( ulangi sebanyak 5 kali ) write ( ‘Belajar Algoritma yuk’ )   i <– i + 1 end while  . output Belajar Algoritma yuk ! Belajar Algoritma yuk ! Belajar Algoritma yuk ! Belajar Algoritma yuk ! Belajar Algoritma yuk !