PERBANDINGAN
ALGORITMA BERURUTAN, PERCABANGAN DAN PENGULANGAN
BERURUTAN
Contoh Flowchart
untuk menghitung luas bangun.
a. Volume balok
b. Luas lingkaran
b. Luas lingkaran
mengubah temperatur dalam Fahrenheit menjadi temperatur dalam Celcius dengan rumus oC = 5/9 x (oF -32)
PERCABGANGAN
§Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton
§pemeriksaan kondisi, yaitu apakah usia lebih dari 17 tahun atau tidak. Jika jawaban ya maka program akan menghasilkan keluaran teks “Silahkan Menonton”, sedangkan jika input usia kurang dari 17 tahun maka program akan menghasilkan keluaran teks “Anda Tidak Boleh Menonton”.
§Contoh Struktur percabangan untuk perhitungan dua buah bilangan.
Dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q
Dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q
§Penyelesaian:
Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan proses pemeriksaan kondisi dilakukan pada nilai P apakah positif (termasuk 0) ataukah negative.
Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan proses pemeriksaan kondisi dilakukan pada nilai P apakah positif (termasuk 0) ataukah negative.
Sebuah usaha fotokopi mempunyai aturan sebagai berikut :
– jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75,-
– jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100
lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama
dengan 100 lembar maka harga perlembarnya Rp. 85,-.
Buat flowchart untuk menghitung total harga yang harus dibayar jika seseorang
memfotokopi sejumlah X lembar
– jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75,-
– jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100
lembar harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama
dengan 100 lembar maka harga perlembarnya Rp. 85,-.
Buat flowchart untuk menghitung total harga yang harus dibayar jika seseorang
memfotokopi sejumlah X lembar
§Pengulangan (Looping).
– Struktur pengulangan dengan ForPengulangan dengan menggunakan For, merupakan salah satu teknik pengulangan yang paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman menyediakan metode ini, meskipun sintaksnya mungkin berbeda. Pada struktur For kita harus tahu terlebih dahulu seberapa banyak badan loop akan diulang. Struktur ini menggunakan sebuah variable yang biasa disebut sebagai loop’s counter, yang nilainya akan naik atau turun selama proses pengulangan.
§Contoh Algoritma untuk mencetak pernyataan sebanyak 100 kali.
Mungkin kalian pernah ketika masih di sekolah dasar melakukan perbuatan nakal yang membuat kalian disuruh menuliskan pernyataan tertentu sebanyak 100 kali sebagai hukuman atas kenakalan tersebut. Misalkan pernyataan yang harus ditulis adalah “Saya tidak akan mengulangi perbuatan itu lagi”. Bagaimanakah caranya algoritma untuk kasus ini?
Mungkin kalian pernah ketika masih di sekolah dasar melakukan perbuatan nakal yang membuat kalian disuruh menuliskan pernyataan tertentu sebanyak 100 kali sebagai hukuman atas kenakalan tersebut. Misalkan pernyataan yang harus ditulis adalah “Saya tidak akan mengulangi perbuatan itu lagi”. Bagaimanakah caranya algoritma untuk kasus ini?
§FOR DO ( Pengulangan Tanpa Kondisi )
§For do merupakan struktur pengulangan dimana aksi dilakukan sebanyak hitungan pencacah pengulangan. Pencacah pengulangan dapat diset sesuai dengan nilai yang ingin kita mulai.
§Example:for pencacah pengulangan dari x sampai y do berarti aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari x sampai y sebanyak b-a+1 kali.
Contoh Algoritma :
Program cetak banyak_Belajar yang rajin oce!
{ mencetak ‘Algoritma oce!’ sebanyak 5 kali }
Deklarasii :
integer ( pencacah pengulangan )
Algoritma
for i <– 1 to 5 do ( ulangi sebanyak 5 kali )
Write ( ‘Algoritma oce!’ )
Endfor
Output
Algoritma oce!
Algoritma oce!
Algoritma oce!
Algoritma oce!
Algoritma oce!
Program cetak banyak_Belajar yang rajin oce!
{ mencetak ‘Algoritma oce!’ sebanyak 5 kali }
Deklarasii :
integer ( pencacah pengulangan )
Algoritma
for i <– 1 to 5 do ( ulangi sebanyak 5 kali )
Write ( ‘Algoritma oce!’ )
Endfor
Output
Algoritma oce!
Algoritma oce!
Algoritma oce!
Algoritma oce!
Algoritma oce!
§Algoritma menulis 500 kalimat
§Menuliskan kalimat " Saya berjanji tidak akan nakal dan malas lagi " Sebanyak 500 kali.
§Deskripsi :
§for J dari 1 sampai 500 do
§
t tulis kalimat " Saya berjanji tidak akan nakal dan malas lagi "
§J adalah pencacah pengulangan yang dari 1 sampai 500. Komputer akan melaksanakan aksi tulis kalimat tersebut sebanyak 500 kali. Struktur pengulangan ini dapat ditulis secara umum sebagai berikut:
§for pencacah pengulangan dari 1 sampai N do
aksi
1.
Saya berjanji tidak akan nakal dan malas lagi
2. Saya berjanji tidak akan nakal dan malas lagi
3. Saya berjanji tidak akan nakal dan malas lagi
4. Saya berjanji tidak akan nakal dan malas lagi
....
500
2. Saya berjanji tidak akan nakal dan malas lagi
3. Saya berjanji tidak akan nakal dan malas lagi
4. Saya berjanji tidak akan nakal dan malas lagi
....
500
REPEAT - UNTIL ( Pengulangan dengan Kondisi )
§Repeat berarti ulangi dan until berarti sampai. Jadi, repeat-until adalah struktur pengulangandimana aksi dilakukan hingga kondisi
(persyaratan ) berhenti terpenuhi.
§Example: misalkan kita ingin mengetahui nilai dari mahasiswa jika data masukannya adalah NIM.
§Program Pencarian{Program mencari nilai mahasiswa didalam tabel dengan NIM= a.Tabel sudah berisi data NIM,nama dan nilai}
Contoh : Program cetak banyak_Belajar yang rajin oce!
{ mencetak ‘ Mari Kita Belajar Algoritma!’ sebanyak 5 kali }
Deklarasi
i : integer ( pencacah pengulangan)
Algoritma
i <– 1
repeat ( ulangi sebanyak 5 kali )
write ( ‘Mari Kita Belajar Algoritma!’ )
i <– i + 1
until i 5
· output
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
{ mencetak ‘ Mari Kita Belajar Algoritma!’ sebanyak 5 kali }
Deklarasi
i : integer ( pencacah pengulangan)
Algoritma
i <– 1
repeat ( ulangi sebanyak 5 kali )
write ( ‘Mari Kita Belajar Algoritma!’ )
i <– i + 1
until i 5
· output
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
Mari Kita Belajar Algoritma!
§Struktur pengulangan dengan While
Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti karena nilai awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan. Bagaimana jika kita tidak tahu pasti harus berapa kali mengulang? Pengulangan dengan While merupakan jawaban dari permasalahan ini. Seperti halnya For, struktur pengulangan dengan While juga merupakan struktur yang didukung oleh hampir semua bahasa pemrograman namun dengan sintaks yang berbeda.
§Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While
bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan
diulang.
bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan
diulang.
§1.
Pada flowchart ini ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses
loop terjadi. Variabel A adalah variabel counter.
2. Pada simbol decision, nilai A akan diperiksa apakah memenuhi kondisi (< 10).
Jika Ya maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti. Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A = 1.
3. Jalankan perintah Print B.
4. Nilai variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3).
5. Program akan berputar kembali untuk memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah berulang ke langkah ke 3. Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10. Sehingga output dari flowchart ini adalah : 0, 9, 25, 49, 81.
loop terjadi. Variabel A adalah variabel counter.
2. Pada simbol decision, nilai A akan diperiksa apakah memenuhi kondisi (< 10).
Jika Ya maka perintah berikutnya dieksekusi, jika tidak maka program akan berhenti. Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A = 1.
3. Jalankan perintah Print B.
4. Nilai variabel A kemudian diganti dengan nilai A lama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3).
5. Program akan berputar kembali untuk memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah berulang ke langkah ke 3. Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10. Sehingga output dari flowchart ini adalah : 0, 9, 25, 49, 81.
§Contoh : Program cetak banyak_Belajar yang rajin oce!
{ mencetak ‘Belajar Algoritma yuk!’, sebanyak 5 kali }
{ mencetak ‘Belajar Algoritma yuk!’, sebanyak 5 kali }
§Deklarasi
i: integer ( pencacah pengulangan )
Algoritma
i <– 1while i 5 do ( ulangi sebanyak 5 kali )
write ( ‘Belajar Algoritma yuk’ )
i: integer ( pencacah pengulangan )
Algoritma
i <– 1while i 5 do ( ulangi sebanyak 5 kali )
write ( ‘Belajar Algoritma yuk’ )
§i <– i + 1
end while
end while
§. output
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !
Belajar Algoritma yuk !