MATA KULIAH : “LOGIKA DAN ALGORITMA” PERTEMUAN II NOTASI ALGORITMA
CREATED BY: AYU ANGGRIANI H 092904010 PTIK A 2009
1
PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011
PENDAHULUAN Algoritma = Rancangan Program Langkah-langkah pemecahan masalah ditulis dalam notasi-notasi
deskriptif yang disebut dengan notasi algoritma. Notasi algoritma dibuat sedemikian sehingga tidak tergantung dengan : Bahasa pemrograman yang akan digunakan. Komputer yang akan menjalankan program
tersebut.
NOTASI ALGORITMA Untaian kalimat deskriptif Flowchart (diagram alir)
Pseudocode
UNTAIAN KALIMAT DESKRIPTIF Langkah-langkah pemecahan masalah dituangkan dengan
untaian kalimat deskriptif. Contoh : PROGRAM persegipanjang Program untuk menghitung luas persegipanjang. ALGORITMA : 1. Masukkan/input panjang dan lebar persegipanjang. 2. Hitung luas persegipanjang dengan rumus : Luas = Panjang x Lebar 3. Tampilkan luas persegipanjang.
FLOWCHART Flowchart berasal dari kata : Flow berarti aliran. Chart berarti gambar, diagram atau simbol-simbol. Flowchart merupakan diagram alir yang menggambarkan
langkah-langkah pemecahan masalah.
SIMBOL-SIMBOL DASAR FLOWCHART Flowchart di awali dengan simbol terminal : Start
atau
Mulai
Flowchart di akhiri dengan simbol terminal : Finish
atau
Selesai
Pembacaan data input : Read ….
atau
Baca ….
SIMBOL-SIMBOL DASAR FLOWCHART Perencanaan data output : Write ….
atau
Tulis ….
Proses pengerjaan :
Test terhadap suatu kondisi pengambilan keputusan :
Pemberian nilai awal atau pengawalan lainnya :
SIMBOL-SIMBOL DASAR FLOWCHART Sub proses yang berupa suatu rutin :
Penghubung flowchart pada halaman yang sama :
Penghubung flowchart pada halaman yang berlainan :
Arah aliran proses :
PSEUDOCODE
Pseudocode berasal dari kata :
Pseudo yang berarti imitasi atau mirip atau
menyerupai. Code yang berarti kode program.
Pseudocode berarti kode yang pemrograman yang sebenarnya.
mirip
dengan
kode
PSEUDOCODE Contoh :
PROGRAM persegipanjang Program untuk menghitung luas persegipanjang. DEKLARASI panjang, lebar : integer luas : integer ALGORITMA : read(p,l) luas = panjang * luas write(luas)
Langkah-langkah Membentuk Algoritma 1.Sequence process Instruksi dikerjakan secara berurutan satu persatu dimulai dari langkah pertama sampai terakhir 2.Selection process Instruksi pemilihan proses (percabangan), sehingga apabila memenuhi persyaratan tertentu maka instruksi akan dikerjakan contoh : jika pembayaran tunai diberi diskon 10% Jika dilakukan secara kredit maka diskon 0 %. (dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif instruksi).
Lanjutan... 3. Iteration process suatu instruksi yang dikerjakan berulang-ulang selama beberapa kali selama masih memenuhi suatu kondisi.
Studi Kasus Buatlah Algoritma untuk memilih bilangan terbesar dari 3 buah bilangan ?
Dengan bahasa natural Ambil bilangan pertama dan set maks sama dengan bilangan
pertama Ambil bilangan kedua dan bandingkan dengan maks Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua Ambil blangan ketiga dan bandingan dengan maks Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga Variabel maks berisi bilangan terbesar. Tampilkan hasilnya
Dengan Flowchart
Dengan Pseudocode Maks ←bilangan pertama
if (maks < bilangan kedua) maks←bilangan kedua if (maks < bilangan ketiga) maks ← bilangan ketiga
Studi Kasus (2) Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Lanjutan... algoritma : Tuangkan larutan dari bejana A ke dalam bejana B Tuangkan larutan dari bejana B ke dalam bejana A. Apakah cara di atas BENAR ? Apakah hasil yang didapat sesuai dengan penyelesaian masalah? Apa hasil yang didapat ?
Lanjutan (2)... Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut.
Penyelesaian Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C.
A
B
C
Algoritma yang menghasikan pertukaran yang benar sebagai berikut: Tuangkan larutan dari bejana A ke dalam bejana C. Tuangkan larutan dari bejana B ke dalam bejana A. Tuangkan larutan dari bejana C ke dalam bejana B.
Latihan Seorang Petani akan berpergian ke kota dengan membawa seekor kambing, Anjing
dan Rumput Yang ketiganya memliki berat yang tidak jauh berbeda, ditengah jalan petani harus menyebrangi sungai dengan menggunakan perahu dan untuk melaluinya petani tersebut tidak diperbolehkan membawa sekaligus bawaannya mengingat kapasitas kekuatan perahu tersebut, dan untuk melaluinya petani harus membawa satu persatu bawaannya . Ditanya: berapa kali petani tersebut harus melalui jembatan dengan memperhatikan bahwa kambing makan rumput, anjing makan kambing ? Bagaimana caranya untuk menyebrangkan tiga orang rahib yang sedang dikejar oleh Tiga orang kanibal ke sisi pulau yang ada diseberangnya Dengan catatan : Bila misionarisnya Lebih sedikit dari dari kanibal, maka misionaris tersebut akan dimakannya.
Tugas Buatlah algoritma (dengan bahasa natural): 1. Menampilkan bilangan ganjil dari 1 sampai dengan 10. 2. Menghitung jumlah deret : 1 + 2 + 3 + 4 + .... + N N = jumlah maksimum suatu nilai yang dimasukkan.