Logika Dan Algoritma

24
SIKB 104 LOGIKA DAN ALGORITMA NURI SIMARONA, ST STMIK WIDYADHARMA PONTIANAK

description

Pengantar mata kuliah logika dan algoritma pertemuan 1 dan 2.

Transcript of Logika Dan Algoritma

Page 1: Logika Dan Algoritma

SIKB 104 LOGIKA DAN ALGORITMA

NURI SIMARONA, ST

STMIK WIDYADHARMAPONTIANAK

Page 2: Logika Dan Algoritma

MATERI KULIAH

Pendahuluan Logika dan Algoritma Diagram Alir (Flowchart) Struktur Dasar Algoritma

SequenceSelectionLooping / Repetetion

Penyelesaian Masalah dengan Algoritma

Page 3: Logika Dan 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

Page 4: Logika Dan Algoritma

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

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

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

Keadaan Awal Sebelum Pertukaran:

Keadaan Akhir Setelah Pertukaran:

PROSESPROSES

Page 8: Logika Dan Algoritma

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

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

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

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

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

Simbol-simbol Flowchart

Page 14: Logika Dan Algoritma

Lanjutan ....

Page 15: Logika Dan Algoritma

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

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

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

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

Contoh 2 : Flowchart dari algoritma penentuan bilangan ganjil/genap

Page 20: Logika Dan Algoritma

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

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

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

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

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