STRUKTUR DASAR ALGORITMA

advertisement
STRUKTUR DASAR ALGORITMA
1.
2.
3.
Sequence
Selection
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
12345
Hardian
12346
Ananto
12347
Ahmad
…
……
12500
Widuri
Mei 2005
Telepon
0812xxxxxx
0818xxxxxx
0899xxxxxx
………….
081321xxxx
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)
K 1
Jumlah 0
{baca banyaknya data}
{mulai dari data pertama}
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
Download