logika dan algoritma
Post on 12-Jun-2015
2.504 Views
Preview:
DESCRIPTION
TRANSCRIPT
SIKB 104 LOGIKA DAN ALGORITMA
NURI SIMARONA, ST
STMIK WIDYADHARMAPONTIANAK
MATERI KULIAH
Pendahuluan Logika dan Algoritma Diagram Alir (Flowchart) Struktur Dasar Algoritma
SequenceSelectionLooping / Repetetion
Penyelesaian Masalah dengan Algoritma
Referensi S. E. Goodman, and S. T. Hedetriem,
Introduction to The Design and Analysis of Algorithm, Mc Graw Hill.
Horowitz, Ellis., and Sahni, Sartaj., Fundamentals of Computer Algorithms, Computer Science Press, USA, 1988.
Munir, Rinaldi., Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Edisi kedua (Revisi), buku 1, Penerbit Informatika Bandung, 2003
Definisi Algoritma Algoritma adalah urutan langkah-langkah
logis penyelesaian masalah yang disusun secara sistematis (Munir, 2002)
Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah (KBBI, 1988)
Logis merupakan kata kunci dalam algoritma.
Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
Ciri-ciri Penting AlgoritmaAlgoritma harus berhenti setelah
mengerjakan sejumlah langkah tertentu.Setiap langkah harus didefinisikan dengan
tepat dan tidak berarti-dua (ambigu).Algoritma memiliki nol atau lebih masukan
(input). Masukan ialah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja.
Algoritma mempunyai nol atau lebih keluaran (output). Keluaran adalah besaran yang memiliki hubungan dengan masukan.
Algoritma harus efektif.
CONTOH 1:Algoritma TUKAR_ISI_BEJANA
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukaran isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI1. Tuangkan larutan dari bejana A ke dalam bejana C.2. Tuangkan larutan dari bejana B ke dalam bejana A.3. Tuangkan larutan dari bejana C ke dalam bejana B.
Bejana A Bejana B Bejana C
Keadaan Awal Sebelum Pertukaran:
Keadaan Akhir Setelah Pertukaran:
PROSESPROSES
Proses PertukaranProses Pertukaran
1. Tuangkan larutan dari bejana A ke dalam bejana C
2. Tuangkan larutan dari bejana B ke dalam bejana A
3. Tuangkan larutan dari bejana C ke dalam bejana B
Contoh 2:Mencari akar bulat positif dari bilangan bulat (integer) positif a:1. Masukkan bilangan bulat positif a2. Berikan harga awal x sama dengan 13. Hitung y sebesar x * x4. Jika y sama dengan a maka cetak x
sebagai akar dari a. STOP5. Tambah nilai x dengan 16. Pergi ke langkah 3.
Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.1. Masukkan sebuah bilangan sembarang2. Bagi bilangan tersebut dengan bilangan 23. Hitung sisa hasil bagi pada langkah 2.4. Bila sisa hasil bagi sama dengan 0 maka
bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
Contoh 3:
Penulisan Algoritma Dalam bahasa natural (Bahasa Indonesia,
Bahasa Inggris, dan bahasa manusia lainnya)Tapi sering membingungkan (ambiguous)
Menggunakan flow chart (diagram alir)Bagus secara visual akan tetapi repot kalau
algoritmanya panjang Menggunakan pseudo-code
Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman
Diagram Alir (Flowchart) Bagan-bagan yang mempunyai alur yang
menggambarkan langkah-langkah penyelesaian suatu masalah.
Merupakan cara penyajian dari suatu algoritma.
Ada 2 macam Flowchart :System Flowchart urutan proses dalam sistem
dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data.
Program Flowchart urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program.
Simbol-simbol Flowchart
Lanjutan ....
Pembuatan Flowchart Tidak ada kaidah yang baku. Flowchart = gambaran hasil analisa suatu
masalah Flowchart dapat bervariasi antara satu
pemrogram dengan pemrogram lainnya. Secara garis besar ada 3 bagian utama:
– Input– Proses– Output
Lanjutan...
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END atau STOP.
Contoh 1: Flowchart untuk algoritma pencarian nilai maksimum dari 3 bilangan.
Maks = bilangan pertama
Maks < bilangan kedua
Maks = bilangan kedua
Maks < bilangan ketiga
Maks = bilangan ketiga
Ya
Ya
Selesai
Mulai
Tidak
Tidak
EL 2001 - Algoritma v.1.2 182004
Algoritma dengan pseudo-code
maks ← bilangan pertamaif (maks < bilangan kedua)
maks ← bilangan kedua
if (maks < bilangan ketiga)maks ← bilangan ketiga
Contoh 2 : Flowchart dari algoritma penentuan bilangan ganjil/genap
Latihan1. Tiga pasang suami istri yang sedang menempuh
perjalanan sampai ke sebuah sungai. Di situ mereka menemukan sebuah perahu kecil yang hanya bisa membawa tidak lebih dari dua orang setiap kali menyeberang. Penyeberangan sungai dirumitkan oleh kenyataan bahwa para suami sangat pencemburu dan tidak mau meninggalkan istri-istri mereka jika ada lelaki lain. Tulislah algoritma untuk menunjukkan bagaimana penyeberangan itu bisa dilakukan.
2. Buatlah algoritma untuk menghitung luas dan keliling lingkaran. Dengan masukan berupa jari-jari.
3. Buatlah flowchart dari algoritma pada soal no 2 di atas.
4. Buatlah algoritma untuk mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah lebih besar salah satunya, dan tampilkan hasilnya.
5. Buatlah flowchart dari algoritma pada soal no 4 di atas.
Latihan Tuliskan rumus-rumus berikut dalam notasi algoritma:
a.
b.
c.
34
3V r
22 4
2
b c abx
c
13
a b bm
ac cd
ALGORITMA DENGAN PSEUDO-CODE
Algoritma yang menggunakan instruksi menyerupai bahasa pemrograman, meliputi deklarasi dan deskripsi. Keuntungan menggunakan pseudo-code adalah memudahkan menerjemahan algoritma ke dalam bahasa pemrograman.
Deskriptif Pseudo-code
Baca ATulis B atau cetak B
Read AWrite A
Jika a > hasil maka .... If a > hasil Then ....
Untuk i ← 1, n lakukan .... For i ← 1, n Do ....
Selama N = 0 lakukan .... While N = 0 Do ....
Ulang ..... Hingga N = 0 Repeat .... Until N = 0
Contoh: Penulisan algoritma secara deskriptif dan pseudo-code
Flowchart Pseudo-code
Cetak ABaca A
a > hasil
i ← 1, n
Contoh: Penulisan algoritma secara flowchart dan pseudo-code
Read A
Write A
If a > hasil Then ....
For i ← 1, n Do ....
Contoh:Algoritma untuk pertukaran dataDeklarasi:A, B, C : Integer
L1 : Read A, BL2 : C ← AL3 : A ← BL4 : B ← CL5 : Write A, B
start
Read A, B
C ← A
C ← A
C ← A
Write A, B
End
top related