Logika Dan Algoritma
-
Upload
nuri-simarona -
Category
Documents
-
view
2.500 -
download
1
description
Transcript of Logika Dan Algoritma
![Page 1: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/1.jpg)
SIKB 104 LOGIKA DAN ALGORITMA
NURI SIMARONA, ST
STMIK WIDYADHARMAPONTIANAK
![Page 2: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/2.jpg)
MATERI KULIAH
Pendahuluan Logika dan Algoritma Diagram Alir (Flowchart) Struktur Dasar Algoritma
SequenceSelectionLooping / Repetetion
Penyelesaian Masalah dengan Algoritma
![Page 3: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/3.jpg)
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
![Page 4: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/4.jpg)
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.
![Page 5: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/5.jpg)
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.
![Page 6: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/6.jpg)
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
![Page 7: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/7.jpg)
Keadaan Awal Sebelum Pertukaran:
Keadaan Akhir Setelah Pertukaran:
PROSESPROSES
![Page 8: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/8.jpg)
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
![Page 9: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/9.jpg)
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.
![Page 10: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/10.jpg)
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:
![Page 11: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/11.jpg)
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
![Page 12: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/12.jpg)
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.
![Page 13: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/13.jpg)
Simbol-simbol Flowchart
![Page 14: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/14.jpg)
Lanjutan ....
![Page 15: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/15.jpg)
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
![Page 16: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/16.jpg)
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.
![Page 17: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/17.jpg)
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
![Page 18: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/18.jpg)
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
![Page 19: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/19.jpg)
Contoh 2 : Flowchart dari algoritma penentuan bilangan ganjil/genap
![Page 20: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/20.jpg)
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.
![Page 21: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/21.jpg)
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
![Page 22: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/22.jpg)
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
![Page 23: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/23.jpg)
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 ....
![Page 24: Logika Dan Algoritma](https://reader033.fdocuments.us/reader033/viewer/2022061417/5571f31949795947648d7e10/html5/thumbnails/24.jpg)
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