8 Materi dan Soal Latihan ALGORITMA 1 (1)
ALGORITMA 1
MATERI :
1. Pengertian algoritma perulangan
2. Perulangan for-do
3. Perulangan while-do
4. Perulangan repeat-until
@EcHo Harli
@Copyright2015
Algoritma Perulangan
Ada kalanya untuk menyelesaikan suatu masalah, satu atau beberapa perintah harus
dikerjakan beberapa kali. Misalnya anda hendak menampilkan tulisan algoritma
sebanyak tiga kali. Maka algoritmanya dapat ditulis
1. Mulai
2. Tulis ‘ Algoritma’
3. Tulis ‘ Algoritma’
4. Tulis ‘ Algoritma’
5. Selesai
Sehingga diperoleh keluaran
Algoritma
Algoritma
Algoritma
Contoh lain. Anda hendak menghitung suatu bilangan dipangkatkan tiga. Maka
algoritmanya dapat dituliskan
1. Mulai
2. Masukkan bilangan X
3. Set nilai Y=1
4. Kalikan X dengan Y, simpan sebagai Y
5. Kalikan X dengan Y, simpan sebagai Y
6. Kalikan X dengan Y, simpan sebagai Y
7. Tulis (Y)
8. Selesai
Atau dalam algoritma standar ditulis
Deskripsi
Read(X)
Y1
YX*Y
YX*Y
YX*Y
Write(Y)
@Copyright2015
Jika input algoritma (X) adalah 2, maka dengan tabel penyimpanan data
Perintah
X
Read(X)
2
Y
Y1
1
YX*Y
4
YX*Y
8
YX*Y
16
Write(Y)
Ouput
16
Output yang dihasilkan adalah : 16
Cara ini memang dapat menyelesaikan permasalahan tersebut di atas, tapi sangat tidak
efisien dalam penulisannya. Bayangkan kalau pengulangannya dilakukan sebanyak
1000 kali, maka kita harus menulisnya sebanyak seribu kali pula. Tentunya akan
sangat merepotkan. Untuk itu kita perlu mengenal satu lagi algoritma dasar yaitu
algoritma pengulangan. Dengan algoritma ini kita cukup menuliskan perintahnya
sekali untuk pengulangan berapapun banyaknya.
Bila mengacu pada bahasa pemrograman Pascal, terdapat tiga ekspresi algoritma
untuk pengulangan :
1. for-do
2. while-do
3. repeat-until
Namun demikian, ketiganya memiliki komponen-komponen pengulangan yang sama
yaitu,
-
Kondisi pengulangan : Setiap aksi atau kumpulan aksi dikerjakan jika
memenuhi kondisi tertentu. Selama kondisi terpenuhi aksi akan terus
dikerjakan
-
Badan pengulangan : bagian aksi yang diulang
-
Nilai awal atau inisialisasi : Pemberian nilai satu atau beberapa variabel
sebelum pengulangan dilakukan.
@Copyright2015
1. Pengulangan For-Do
Ada 2 macam pengulangan for-do, yaitu for-do menaik dan for-do menurun. Berikut
ini adalah bentuk umumnya.
For-do menaik
For varnilai_awal to nilai_akhir do pernyataan
Flowchart for-do menaik
Var ni...nf
pernyataan
For-do menurun
For variabelnilai_awal downto nilai_akhir do Pernyataan
Flowchart for-do menurun
Var = ni...nf
pernyataan
Kondisi pengulangan for secara tersirat dapat dilihat pada ni (nilai_awal) dan nf
(nilai_akhir); Nilai yang terkandung pada var mula-mula sama dengan nilai_awal,
kemudian bertambah (berkurang) sebanyak satu, kemudian berhenti setelah var lebih
besar (lebih kecil) nilai_akhir.
@Copyright2015
Karakteristik pengulangan for-do
-
Aksi
mula-mula
dilakukan
saat
var=nilai_awal
dan
terakhir
saat
var=nilai_akhir.
-
Var, nilai_awal dan nilai_akhir bertipe bilangan bulat (integer)
-
Setiap selesai satu kali pengulangan var berubah +1 (for-do menaik) atau –1
(for-do menurun).
-
Pengulangan paling sedikit dilakukan sekali, banyaknya pengulangan adalah
selisih nilai_awal dan nilai_akhir ditambah 1
Contoh
for i1 to 3 do
Write(‘ Halo’ )
var N.
Perintah
Read(N)
For x=1 to N do
Write(x)
N
3
x
Output
1
2
3
1
2
3
@Copyright2015
Latihan : coba anda tuliskan bentuk flowchart dari algoritma di atas.
2. Buat algoritma yang menampilkan jumlah dari deret pada soal no 1 di atas
Algoritma jumlah_deret
Deklarasi
N,x,jum : integer
Deskripsi
read(N)
jum0
for x=1 to N do
jumjum+x
write(jum)
Penjelasan
Mula-mula masukkan nilai N, misalnya 4, kemudian inisialisasi jum=0. Setelah itu
masuk ke dalam loop dengan x mula-mula 1. Kemudian jum = 0 ditambah dengan x =
1 sehingga diperoleh jum (baru) = 1. Proses diulang lagi dengan x = 2. Kemudian jum
= 1 ditambah dengan x = 2 sehingga diperoleh jum = 3. Demikian seterusnya. Aksi
tidak lagi dikerjakan saat x>N.
Perintah
Read(N)
Jum0
For x=1 to N do
Jumjum+x
N
4
x
jum Output
1
2
3
4
0
1
3
6
10
Write(jum)
10
Dengan demikian keluaran dari algoritma di atas adalah 10.
Latihan : coba masukkan input N yang lain, misalnya 7, kemudian isi tabel
penyimpanan data dan tuliskan nilai keluarannya.
@Copyright2015
begin
Read
(N)
For x=1
to N
Jum jum+x
write(jum)
end
Perulangan While-Do
Secara umum algoritma while adalah
while do
begin
pernyataan
end
sedangkan bentuk flowchartnya
t
?
loop
y
Aksi
@Copyright2015
Teks algoritma dan flowchart di atas menunjukkan bahwa ada pengecekan kondisi
dulu sebelum aksi berikutnya dilakukan. Aksi di bawah kondisi dikerjakan jika
kondisinya atau lebih tepatnya nilai boolean kondisi bernilai benar. Jika kondisi
bernilai salah maka proses akan ‘melompat’ atau mengerjakan aksi yang berada di
luar loop.
Contoh soal.
Buat algoritma menampilkan deret 2, 4, 6, …, N. N adalah masukan berupa bilangan
genap.
Algoritma deret
Deklarasi
N,x : integer
Deskripsi
read(N)
x2
while x
MATERI :
1. Pengertian algoritma perulangan
2. Perulangan for-do
3. Perulangan while-do
4. Perulangan repeat-until
@EcHo Harli
@Copyright2015
Algoritma Perulangan
Ada kalanya untuk menyelesaikan suatu masalah, satu atau beberapa perintah harus
dikerjakan beberapa kali. Misalnya anda hendak menampilkan tulisan algoritma
sebanyak tiga kali. Maka algoritmanya dapat ditulis
1. Mulai
2. Tulis ‘ Algoritma’
3. Tulis ‘ Algoritma’
4. Tulis ‘ Algoritma’
5. Selesai
Sehingga diperoleh keluaran
Algoritma
Algoritma
Algoritma
Contoh lain. Anda hendak menghitung suatu bilangan dipangkatkan tiga. Maka
algoritmanya dapat dituliskan
1. Mulai
2. Masukkan bilangan X
3. Set nilai Y=1
4. Kalikan X dengan Y, simpan sebagai Y
5. Kalikan X dengan Y, simpan sebagai Y
6. Kalikan X dengan Y, simpan sebagai Y
7. Tulis (Y)
8. Selesai
Atau dalam algoritma standar ditulis
Deskripsi
Read(X)
Y1
YX*Y
YX*Y
YX*Y
Write(Y)
@Copyright2015
Jika input algoritma (X) adalah 2, maka dengan tabel penyimpanan data
Perintah
X
Read(X)
2
Y
Y1
1
YX*Y
4
YX*Y
8
YX*Y
16
Write(Y)
Ouput
16
Output yang dihasilkan adalah : 16
Cara ini memang dapat menyelesaikan permasalahan tersebut di atas, tapi sangat tidak
efisien dalam penulisannya. Bayangkan kalau pengulangannya dilakukan sebanyak
1000 kali, maka kita harus menulisnya sebanyak seribu kali pula. Tentunya akan
sangat merepotkan. Untuk itu kita perlu mengenal satu lagi algoritma dasar yaitu
algoritma pengulangan. Dengan algoritma ini kita cukup menuliskan perintahnya
sekali untuk pengulangan berapapun banyaknya.
Bila mengacu pada bahasa pemrograman Pascal, terdapat tiga ekspresi algoritma
untuk pengulangan :
1. for-do
2. while-do
3. repeat-until
Namun demikian, ketiganya memiliki komponen-komponen pengulangan yang sama
yaitu,
-
Kondisi pengulangan : Setiap aksi atau kumpulan aksi dikerjakan jika
memenuhi kondisi tertentu. Selama kondisi terpenuhi aksi akan terus
dikerjakan
-
Badan pengulangan : bagian aksi yang diulang
-
Nilai awal atau inisialisasi : Pemberian nilai satu atau beberapa variabel
sebelum pengulangan dilakukan.
@Copyright2015
1. Pengulangan For-Do
Ada 2 macam pengulangan for-do, yaitu for-do menaik dan for-do menurun. Berikut
ini adalah bentuk umumnya.
For-do menaik
For varnilai_awal to nilai_akhir do pernyataan
Flowchart for-do menaik
Var ni...nf
pernyataan
For-do menurun
For variabelnilai_awal downto nilai_akhir do Pernyataan
Flowchart for-do menurun
Var = ni...nf
pernyataan
Kondisi pengulangan for secara tersirat dapat dilihat pada ni (nilai_awal) dan nf
(nilai_akhir); Nilai yang terkandung pada var mula-mula sama dengan nilai_awal,
kemudian bertambah (berkurang) sebanyak satu, kemudian berhenti setelah var lebih
besar (lebih kecil) nilai_akhir.
@Copyright2015
Karakteristik pengulangan for-do
-
Aksi
mula-mula
dilakukan
saat
var=nilai_awal
dan
terakhir
saat
var=nilai_akhir.
-
Var, nilai_awal dan nilai_akhir bertipe bilangan bulat (integer)
-
Setiap selesai satu kali pengulangan var berubah +1 (for-do menaik) atau –1
(for-do menurun).
-
Pengulangan paling sedikit dilakukan sekali, banyaknya pengulangan adalah
selisih nilai_awal dan nilai_akhir ditambah 1
Contoh
for i1 to 3 do
Write(‘ Halo’ )
var N.
Perintah
Read(N)
For x=1 to N do
Write(x)
N
3
x
Output
1
2
3
1
2
3
@Copyright2015
Latihan : coba anda tuliskan bentuk flowchart dari algoritma di atas.
2. Buat algoritma yang menampilkan jumlah dari deret pada soal no 1 di atas
Algoritma jumlah_deret
Deklarasi
N,x,jum : integer
Deskripsi
read(N)
jum0
for x=1 to N do
jumjum+x
write(jum)
Penjelasan
Mula-mula masukkan nilai N, misalnya 4, kemudian inisialisasi jum=0. Setelah itu
masuk ke dalam loop dengan x mula-mula 1. Kemudian jum = 0 ditambah dengan x =
1 sehingga diperoleh jum (baru) = 1. Proses diulang lagi dengan x = 2. Kemudian jum
= 1 ditambah dengan x = 2 sehingga diperoleh jum = 3. Demikian seterusnya. Aksi
tidak lagi dikerjakan saat x>N.
Perintah
Read(N)
Jum0
For x=1 to N do
Jumjum+x
N
4
x
jum Output
1
2
3
4
0
1
3
6
10
Write(jum)
10
Dengan demikian keluaran dari algoritma di atas adalah 10.
Latihan : coba masukkan input N yang lain, misalnya 7, kemudian isi tabel
penyimpanan data dan tuliskan nilai keluarannya.
@Copyright2015
begin
Read
(N)
For x=1
to N
Jum jum+x
write(jum)
end
Perulangan While-Do
Secara umum algoritma while adalah
while do
begin
pernyataan
end
sedangkan bentuk flowchartnya
t
?
loop
y
Aksi
@Copyright2015
Teks algoritma dan flowchart di atas menunjukkan bahwa ada pengecekan kondisi
dulu sebelum aksi berikutnya dilakukan. Aksi di bawah kondisi dikerjakan jika
kondisinya atau lebih tepatnya nilai boolean kondisi bernilai benar. Jika kondisi
bernilai salah maka proses akan ‘melompat’ atau mengerjakan aksi yang berada di
luar loop.
Contoh soal.
Buat algoritma menampilkan deret 2, 4, 6, …, N. N adalah masukan berupa bilangan
genap.
Algoritma deret
Deklarasi
N,x : integer
Deskripsi
read(N)
x2
while x