algoritma Any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values as output. ( Cormen , Introduction to Algorithm) A sequence of precise instructions which leads to a solution. ( Savitch , Problem Solving with C++) Berasal dari nama ahli matematika dari Persia Muhammad ibn Musa al-Khwarizmi
Notasi flowchart terminator process Input / output decision flow lines Simbol terminator menyatakan titik awal dan akhir dari sebuah algoritma . Biasanya berisi tulisan “ Start ” atau “ End ” Flow Lines menunjukkan uruta langkah dan arahnya . Simbol kotak mewakili sebuah langkah (“ tambahkan 2 gr tepung ”), dan atau sub-proses (“ membuat roti”) dalam sebuah proses yang lebih besar . Jajaran genjang menyatakan data yang diterima atau informasi yang dihasilkan dari suatu proses misalnya pesanan pelanggan (input) atau suatu produk (output) Belah ketupat menyatakan sebuah keputusan atau percabangan . Setiap decision memiliki 2 buah flow lines dengan arah yang berbeda .
statement statement statement statement condition y n statement statement condition y n sequence selection repetition Flow control
pseudocode
pseudocode Cara menuliskan algoritma dalam bentuk tekstual yang mirip dengan bahasa pemrograman . Bebas dari sintaks bahasa pemrograman tertentu Tidak bisa dijalankan
Notasi pseudocode Urutan perintah yang bisa terdiri dari : Input/Output Assignment Conditional Logic Repetition while mahasiswa < jumlah read grade if grade is greater than 80 print A else if grade is greater th a n 70 print A- else if grade is greater than 60 print B endif endif endif mahasiswa mahasiswa + 1 endwhile Output Input Conditional Logic Repetition Assignment Perhatikan ! Ciri-ciri assignment : Penggunaan kata kerja / kalimat perintah , atau Tanda / :=
Contoh pseudocode
Contoh pseudocode
Contoh pseudocode
Contoh pseudocode
Contoh pseudocode
Contoh pseudocode
runtunan
statement statement statement Struktur algoritma dan pemrograman yang paling dasar dan sederhana. Berisi rangkaian perintah yang diproses secara berurutan atau satu per satu mulai dari perintah pertama hingga perintah terakhir. runtunan
contoh Bagaimana menukar nilai pada dua buah variabel ? A = 15 B = 5 A = 5 B = 15
temp = b b = a a = 15 b = 5 a = temp start end temp = a a = b a = 15 b = 5 b = temp start end / / :=
Latihan 1 Buatlah algoritma dalam bentuk pseudocode untuk membuat program konversi suhu dari Celcius ke Farenheit PROGRAM: Konversi Celsius ke Fahrenheit Kamus : C : real/float ( suhu dalam Celsius) F : real/float ( suhu dalam Fahrenheit) Algoritma : Begin Input C F (9/5) * C + 32 Output F End
Latihan 2 Buatlah algoritma dalam bentuk pseudocode untuk membuat program yang menghitung luas lingkaran PROGRAM: Menghitung Luas Lingkaran Kamus : r : integer ( jari-jari lingkaran ) L : real ( luas lingkaran ) pi : real ( konstanta ) Algoritma : Begin pi 3.14 input r L pi * r * r output L End
Latihan 3 Buatlah program dalam pseudocode yang mengkonversi detik menjadi jam, menit dan detik! PROGRAM: Konversi Detik ke Jam, Menit , Detik Kamus : D: integer ( detik ) M: integer ( menit ) J: integer (jam) Algoritma : Begin input D J D // 3600 atau div(D, 3600) D D – (J * 3600) M D // 60 atau div(D, 60) D D – (M * 60) output J, M, D End
Tugas 1 Buatlah program dalam pseudocode menghitung gaji pegawai! Seorang pegawai menerima gaji pokok dan tunjangan . Tunjangan karyawan besarnya 20% dari gaji pokok . Pajak 5% dikenakan terhadap gaji pokok dan tunjangan . Gaji bersih yang diterima karyawan adalah gaji pokok ditambah tunjangan dikurangi dengan pajak.
Tugas 2 Buatlah program dalam pseudocode menghitung gaji pegawai! Seorang pegawai menerima gaji pokok dan tunjangan . Pajak 5% dikenakan terhadap gaji pokok . Tunjangan karyawan besarnya 20% dari gaji pokok yang sudah dikenai pajak . Gaji bersih yang diterima karyawan adalah gaji pokok dikurangi dengan pajak ditambah tunjangan.