You are on page 1of 18

STRUKTUR DASAR ALGORITMA

1. Sequence
2. Selection
3. Repetition

Mei 2005 satriyo-Algoritma 1


SEQUENCE
 Sebuah runtutan terdiri dari satu atau lebih
intruksi.
 Intruksi dilaksanakan setelah intruksi
sebelumnya dilaksanakan.
 Urutan intruksi menentukan keadaan akhir
algoritma.
1 2 3 4
A1 A2 A3 A4

Mei 2005 satriyo-Algoritma 2


Contoh:

Algoritma Tukar_Isi_Bejana
Terdapat dua buah bejana, bejana A berisi larutan
berwarna merah dan bejana B berisi larutan berwarna
putih. Kedua bejana tersebut dipertukarkan isinya,
sehingga isi bejana A berganti dengan isi bejana B dan
sebaliknya, tanpa terjadi percampuran diantara isi dua
bejana tersebut.
Deskripsi:
1. Tuangkan larutan bejana A ke bejana C
2. Tuangkan larutan bejana B ke bejana A
3. Tuangkan larutan bejana C ke bejana B

Selesai
Mei 2005 satriyo-Algoritma 3
SELECTION
Berlaku untuk suatu kasus yang disertai syarat tertentu.

- If kondisi then
aksi
- If kondisi then
aksi 1
else
aksi 2

Contoh:
Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah
bilangan

Mei 2005 satriyo-Algoritma 4


Penyelesaian:

Maks = bilangan pertama

If x > y then
if x> y then
tulis x sebagai bilangan terbesar
else
tulis y sebgai bilangan terbesar
Else
if y> z then
tulis y sebagai bilangan terbesar
else
tulis z sebagai bilangan terbesar

Mei 2005 satriyo-Algoritma 5


REPETITION
Kondisi yang dilaksanakan secara berulang-ulang.
1. For …….. Do

for kondisi do
aksi
Contoh:
Buatlah algoritma untuk memunculkan tulisan “ saya siswa
SMA 1 Yogyakarta” sebanyak 700 kali.

Mei 2005 satriyo-Algoritma 6


Algoritma menulis_700 kalimat
Menulis kalimat saya siswa SMA 1 Yogyakarta sebanyak
700 kali

Deskripsi:
1.Tulis kalimat “saya siswa SMA 1 Yogyakarta”
2.Tulis kalimat “saya siswa SMA 1 Yogyakarta”
3.Tulis kalimat “saya siswa SMA 1 Yogyakarta”
.
.
699. Tulis kalimat “saya siswa SMA 1 Yogyakarta”
700. Tulis kalimat “saya siswa SMA 1 Yogyakarta”

Mei 2005 satriyo-Algoritma 7


Algoritma menulis_700 kalimat
Menulis kalimat saya siswa SMA 1 Yogyakarta sebanyak
700 kali

Deskripsi:
for I dari 1 sampai 700 do
tulis kalimat “saya siswa SMA 1 Yogyakarta”
selesai

Mei 2005 satriyo-Algoritma 8


2. Repeat … until
repeat
aksi
until kondisi

Contoh:
Pencarian data dalam tabel
Nis Nama Telepon
12345 Hardian 0812xxxxxx
12346 Ananto 0818xxxxxx
12347 Ahmad 0899xxxxxx
… …… ………….
12500 Widuri 081321xxxx
Mei 2005 satriyo-Algoritma 9
Algoritma Pencarian data dalam tabel
Sebuah tabel berisi nis, nama dan telepon siswa. Carilah
dalam tabel alamat seorang siswa dengan nis = x.
diasumsikan tabel berisi minimal satu entry.

Deskripsi:
tinjau entry pertama tabel
repeat
if nis pada entry tabel=nis yang dicari then
ambil data nomor telepon dari nis tersebut
else
tinjau entry berikutnya dalam tabel
Until nis yang dicari ditemukan atau akhir tabel sudah
terlampaui
Mei 2005 satriyo-Algoritma 10
3. While …. Do
while kondisi do
aksi

Algoritma Pencarian data dalam tabel


Sebuah tabel berisi nis, nama dan telepon siswa. Carilah dalam
tabel alamat seorang siswa dengan nis = x.
diasumsikan tabel berisi minimal satu entry.

Deskripsi:
tinjau entry pertama tabel
while nis yang dicari belum ditemukan dan akhir tabel berlum
terlampaui do
if nis pada entry tabel=nis yang dicari then
ambil data nomor telepon dari nis tersebut
else
tinjau entry berikutnya dalam tabel

Mei 2005 satriyo-Algoritma 11


1. Buatlah algoritma sebuah lampu pengatur lalu lintas.

Mei 2005 satriyo-Algoritma 12


ATURAN PENULISAN
ALGORITMA

a. Judul Algoritma
b. Deklarasi
c. Deskripsi

Mei 2005 satriyo-Algoritma 13


Judul Algoritma
Algoritma Menghitung_nilai_rata_rata judul algoritma
{menghitung rerata bilangan bulat yang dibaca
dari piranti masukan}

spesifikasi algoritma

Mei 2005 satriyo-Algoritma 14


Deklarasi
X: Integer {variabel bil. Bulat}

N: Integer {banyaknya data bil. Bulat, N>0}


K: Integer {pencacah jumlah pengulangan}

Jumlah:integer {jumlah seluruh data bilangan bulat}


Rata: real {rata-rata bil.bulat}

Mei 2005 satriyo-Algoritma 15


Deskripsi
Read (N) {baca banyaknya data}
K 1 {mulai dari data pertama}
Jumlah 0

While k <=N do
read(x)
jumlah jumlah + x
K k + 1 {cacah pengulangan selanjutnya}
Endwhile {k>N}

Rata jumlah/N {rata-rata data bil.bulat}


Write (rata)

Mei 2005 satriyo-Algoritma 16


Program menghitung_nilai_rata_rata;

Var x:integer;
N:integer;
K:integer;
jumlah:integer;
rata:real;

Begin
write(‘masukan jumlah data: ‘); readln(N);
k:=1;
jumlah:=0;
while k<= N do
begin
write(x= ?); readln(x);
jumlah:=jumlah + x;
k:=k+1;
end;
rata:=jumlah/N;
writeln(‘rata-rata seluruh data= ‘, rata);
End.
Mei 2005 satriyo-Algoritma 17
Program menghitung_nilai_rata_rata;

Var x,N,k,jumlah:integer;
rata:real;

Begin
write(‘masukan jumlah data: ‘); readln(N);
k:=1;
jumlah:=0;
while k<= N do
begin
write(x= ?); readln(x);
jumlah:=jumlah + x;
k:=k+1;
end;
rata:=jumlah/N;
writeln(‘rata-rata seluruh data= ‘, rata);
End.
Mei 2005 satriyo-Algoritma 18

You might also like