STRUKTUR DASAR ALGORITMA 1. Sequence 2. Selection 3. Repetition 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 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 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 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 satriyo-algoritma 5
REPETITION Kondisi yang dilaksanakan secara berulang-ulang. 1. For.. Do Contoh: for kondisi do aksi Buatlah algoritma untuk memunculkan tulisan saya siswa SMA 1 Yogyakarta sebanyak 700 kali. 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 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 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 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 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 satriyo-algoritma 11
1. Buatlah algoritma sebuah lampu pengatur lalu lintas. satriyo-algoritma 12
ATURAN PENULISAN ALGORITMA a. Judul Algoritma b. Deklarasi c. Deskripsi satriyo-algoritma 13
Judul Algoritma Algoritma Menghitung_nilai_rata_rata judul algoritma {menghitung rerata bilangan bulat yang dibaca dari piranti masukan} spesifikasi algoritma 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} 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) satriyo-algoritma 16
Program menghitung_nilai_rata_rata; Var Begin End. x:integer; N:integer; K:integer; jumlah:integer; rata:real; 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); satriyo-algoritma 17
Program menghitung_nilai_rata_rata; Var Begin End. x,n,k,jumlah:integer; rata:real; 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); satriyo-algoritma 18