You are on page 1of 24

STMIK WIDYADHARMA

PONTIANAK

SIKB 104
LOGIKA DAN ALGORITMA
NURI SIMARONA, ST
MATERI KULIAH
 Pendahuluan Logika dan Algoritma
 Diagram Alir (Flowchart)
 Struktur Dasar Algoritma
Sequence
Selection
Looping / 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), buku1,
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
Algoritma
 Algoritma 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.

DESKRIPSI
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.

Bejana Bejana Bejana


A B C
Keadaan Awal Sebelum
Pertukaran:

PROSE
S

Keadaan Akhir Setelah


Pertukaran:
Proses 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:
2. Masukkan bilangan bulat positif a
3. Berikan harga awal x sama dengan 1
4. Hitung y sebesar x * x
5. Jika y sama dengan a maka cetak x
sebagai akar dari a. STOP
11.Tambah nilai x dengan 1
12.Pergi ke langkah 3.
Contoh 3:
Menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
2. Masukkan sebuah bilangan sembarang
3. Bagi bilangan tersebut dengan bilangan 2
4. Hitung sisa hasil bagi pada langkah 2.
5. 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.
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.
Algoritma dengan pseudo-
code
maks ← bilangan pertama
if (maks < bilangan kedua)
maks ← bilangan kedua
if (maks < bilangan ketiga)
maks ← bilangan ketiga

2004 EL 2001 - Algoritma v.1.2 18


Contoh 2 : Flowchart dari algoritma
penentuan bilangan ganjil/genap
Latihan
1. 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.
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.
Contoh: Penulisan algoritma secara deskriptif dan pseudo-code
Contoh: Penulisan algoritma secara flowchart dan pseudo-code

Read A
Cetak
Baca A
A
Write A

a>
hasil
If a > hasil Then ....

i ← 1, n For i ← 1, n Do ....
start
Contoh:
Algoritma untuk pertukaran data
Read A, B
Deklarasi:
A, B, C : Integer
C←A
L1 : Read A, B
L2 : C←A
L3 : A←B C←A
L4 : B←C
L5 : Write A, B
C←A

Write A, B

End

You might also like