Download - STRUKTUR DASAR ALGORITMA
satriyo-Algoritma 1Mei 2005
STRUKTUR DASAR ALGORITMA
1. Sequence2. Selection3. Repetition
satriyo-Algoritma 2Mei 2005
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
satriyo-Algoritma 3Mei 2005
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 C2. Tuangkan larutan bejana B ke bejana A3. Tuangkan larutan bejana C ke bejana B
Selesai
satriyo-Algoritma 4Mei 2005
SELECTIONBerlaku 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
satriyo-Algoritma 5Mei 2005
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
satriyo-Algoritma 6Mei 2005
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.
satriyo-Algoritma 7Mei 2005
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”
satriyo-Algoritma 8Mei 2005
Algoritma menulis_700 kalimat Menulis kalimat saya siswa SMA 1 Yogyakarta sebanyak
700 kali
Deskripsi:
for I dari 1 sampai 700 dotulis kalimat “saya siswa SMA 1 Yogyakarta”
selesai
satriyo-Algoritma 9Mei 2005
2. Repeat … untilrepeat
aksiuntil kondisi
Contoh:Pencarian data dalam tabelNis Nama Telepon12345 Hardian 0812xxxxxx12346 Ananto 0818xxxxxx12347 Ahmad 0899xxxxxx … …… ………….12500 Widuri 081321xxxx
satriyo-Algoritma 10Mei 2005
Algoritma Pencarian data dalam tabelSebuah 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 tabelrepeat
if nis pada entry tabel=nis yang dicari thenambil data nomor telepon dari nis tersebut
else tinjau entry berikutnya dalam tabelUntil nis yang dicari ditemukan atau akhir tabel sudah
terlampaui
satriyo-Algoritma 11Mei 2005
3. While …. Dowhile kondisi do
aksi
Algoritma Pencarian data dalam tabelSebuah 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 tabelwhile nis yang dicari belum ditemukan dan akhir tabel berlum terlampaui do
if nis pada entry tabel=nis yang dicari thenambil data nomor telepon dari nis tersebut
else tinjau entry berikutnya dalam tabel
satriyo-Algoritma 12Mei 2005
1. Buatlah algoritma sebuah lampu pengatur lalu lintas.
satriyo-Algoritma 13Mei 2005
ATURAN PENULISAN ALGORITMA
a. Judul Algoritmab. Deklarasic. Deskripsi
satriyo-Algoritma 14Mei 2005
Judul Algoritma
Algoritma Menghitung_nilai_rata_rata judul algoritma
{menghitung rerata bilangan bulat yang dibaca dari piranti masukan}
spesifikasi algoritma
satriyo-Algoritma 15Mei 2005
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}
satriyo-Algoritma 16Mei 2005
DeskripsiRead (N) {baca banyaknya data}
K 1 {mulai dari data pertama}
Jumlah 0
While k <=N doread(x)jumlah jumlah + xK k + 1 {cacah pengulangan selanjutnya}
Endwhile{k>N}
Rata jumlah/N {rata-rata data bil.bulat}Write (rata)
satriyo-Algoritma 17Mei 2005
Program menghitung_nilai_rata_rata;
Var x:integer;N:integer;K:integer;jumlah:integer;rata:real;
Beginwrite(‘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.
satriyo-Algoritma 18Mei 2005
Program menghitung_nilai_rata_rata;
Var x,N,k,jumlah:integer;rata:real;
Beginwrite(‘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.