200 likes | 503 Views
STRUKTUR DASAR ALGORITMA. Sequence Selection Repetition. 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
E N D
STRUKTUR DASAR ALGORITMA • Sequence • Selection • Repetition satriyo-Algoritma
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
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: • Tuangkan larutan bejana A ke bejana C • Tuangkan larutan bejana B ke bejana A • Tuangkan larutan bejana C ke bejana B Selesai satriyo-Algoritma
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
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
REPETITION Kondisi yang dilaksanakan secara berulang-ulang. • For …….. Do for kondisi do aksi Contoh: Buatlah algoritma untuk memunculkan tulisan “ saya siswa SMA 1 Yogyakarta” sebanyak 700 kali. satriyo-Algoritma
Algoritma menulis_700 kalimat Menulis kalimat saya siswa SMA 1 Yogyakarta sebanyak 700 kali Deskripsi: • Tulis kalimat “saya siswa SMA 1 Yogyakarta” • Tulis kalimat “saya siswa SMA 1 Yogyakarta” • 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
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
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
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
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
Buatlah algoritma sebuah lampu pengatur lalu lintas. satriyo-Algoritma
ATURAN PENULISAN ALGORITMA a. Judul Algoritma b. Deklarasi c. Deskripsi satriyo-Algoritma
Judul Algoritma Algoritma Menghitung_nilai_rata_rata judul algoritma {menghitung rerata bilangan bulat yang dibaca dari piranti masukan} spesifikasi algoritma satriyo-Algoritma
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
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) satriyo-Algoritma
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. satriyo-Algoritma
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. satriyo-Algoritma