Anda di halaman 1dari 44

ALGORITMA

PEMROGRAMAN
Daftar Pustaka
• Robertson, Lesley Anne (2007), Simple
Program Design: a Step by Step Approach,
Edisi ke-5, Course Technology Inc.
• Suarga (2012), Algoritma dan Pemrograman,
Andi Offset
• Kadir, Abdul (2013), Pengenalan Algoritma:
Pendekatan Secara Visual dan Interaktif
Menggunakan Raptor, Penerbit Andi
• Utami, Ema (2005), 10 Langkah Belajar Logika
Dan Algoritma Menggunakan Bahasa C dan
C++ di GNU/Linux, Penerbit Andi
Rules
• Aturan Toilet
• Aturan Berpakaian
• Aturan Telepon
• Toleransi keterlambatan 30 menit
• Ketenangan kelas menjadi tanggung
jawab bersama
• Keterlambatan pengumpulan tugas
mendapat pengurangan poin -10/hari
Komposisi Nilai

• UTS : 30%
• UAS : 40%
• Tugas, dll: 30%

• CONTACT : krisdianto@untirta.ac.id
• 087871371396
Materi Pertemuan 1:

•Logika Proposisi
•Algoritma
•Flowchart
Logika Proposisional
• Merupakan ilmu dasar untuk mempelajari
algoritma dan logika, yang terkait di
dalamnya, yang berperan sangat penting
dalam pemrograman.

W HY?
• Proses kerja komputer tidak dapat
dilepaskan dari program-program yang
akan diterjemahkan dengan sistem logika.
Preposisi
• Merupakan komponen penyusun logika
dasar yang dilambangkan dengan huruf
kecil (p, q, r, …)
• Proposisi hanya diwakili oleh kalimat yang
mengandung nilai kebenaran (kalimat
deklaratif)
• Contoh:
p: 9 adalah bilangan ganjil
q: 5 x 5 = 25
Relasi Proposisional
• Untuk mengkombinasikan 2 buah proposisi atau
lebih diperlukan connective (penghubung)
• Untuk menggabungkan proposisi-proposisi dan
penghubungnya diperlukan
Syntactics Rules

Syntactics Rules yaitu suatu aturan yang diperlukan


untuk mengkombinasikan antara propositions &
proposional connectives untuk menghasilkan
kalimat logika
Syntactics Rules
1. Setiap proposision adalah sentence tanpa ada
proportional connectives
2. Jika p suatu sentence maka negasinya not p
juga sentence
Contoh: p: semua mahasiswa adalah pelajar
~p: tidak semua mahasiswa adalah
pelajar
3. Jika p dan q adalah sentences maka
conjunction-nya yaitu ‘p and q’, juga
sentences. Conjuction yaitu dua proposisi
atau lebih yang dihubungkan dengan kata
‘dan’ atau ‘and’. Lambang ^, &
Syntactics Rules - cont
Contoh:
p: 2 adalah bilangan prima
q: 2>3
p&q: 2 adalah bilangan prima dan 2>3
4. Jika p dan q sentences maka disjunction-nya yaitu
‘p or q’, juga sentences. Disjunction yaitu 2
proposisi atau lebih yang dihubungkan dengan kata
‘atau’ atau ‘or’. Lambang: V, +
Contoh:
p: 2 adalah bilangan prima
q: 2>3
pvq: 2 adalah bilangan prima atau 2>3
Syntactics Rules - cont
5. Jika p dan q sentences maka implication-nya
yaitu ‘if p then q’, juga sentences. Implication
adalah penggabungan 2 proposisi dengan
bentuk ‘jika p maka q’. Proposisi pertama (p)
disebut anteseden sedangkan proposisi kedua
(q) disebut konsekuen. Lambang: 
Contoh:
p: 2 adalah bilangan prima
q: 2>3
Pq: jika 2 adalah bilangan prima maka 2>3
Syntactics Rules - cont
6. Jika p dan q sentences maka equivalence-nya
yaitu ‘p if and only if q’, juga sentences.
Equivalence atau biimplikasi adalah
penggabungan 2 proposisi dengan bentuk ‘p
jika dan hanya jika q’. Kata penghubung yang
lain adalah iof, iff; jika dan hanya jika (jhj).
Lambang:
Contoh:
p: 4 adalah bilangan genap
q: 4 habis dibagi 2
p q: 4 adalah bilangan genap jhj 4 habis
dibagi 2
Syntactics Rules - cont
7. Jika p, q dan r sentences maka conditional-
nya yaitu ‘if p then q else r’, juga sentences.
Contoh:
If x=5 then y=x else y=2x
Interpretasi
• Adalah pemberian nilai kebenaran
(benar atau salah) pada setiap simbol
proposisi dari suatu kalimat logika.
• Semantic rules adalah suatu aturan yang
digunakan untuk menentukan truth value
(nilai kebenaran) dari suatu sentence.
Semantic Rules
1. Negation Rule (Aturan NOT)
Negasi bernilai benar jika proposisi mula-mula
bernilai salah, dan sebaliknya
p Not p
True False
False True
2. Conjunction Rule (Aturan AND)
p q p and q
True True True
True False False
False True False
False False False
Semantic Rules - cont
3. Disjuncton Rule (Aturan OR)
Minimal satu proposisi penyusunannya benar
maka disjungsi bernilai benar.

p q p or q
True True True
True False True
False True True
False False False
Semantic Rules - cont
4. Implication Rule (Aturan IF-THEN)
Implikasi bernilai salah bila anteseden benar dan
konsekuen salah.
Misal: bentuk implikasi: p  q
a. Jika p maka q
b. p Jika Maka q
c. p Syarat cukup untuk q
d. q Syarat perlu untuk p p q If p then q
e. q hanya jika p True True True
True False False
False True True
False False True
Semantic Rules - cont
5. Implication Rule (Aturan IF AND ONLY IF)

Aturan IF AND ONLY IF


p q p If and only if q
True True True
True False False
False True False
False False True
Semantic Rules - cont
6. Conditional Rule (Aturan IF-THEN-ELSE)
Jika p bernilai benar maka q berlaku
Jika p bernilai salah maka r berlaku

p q r If p then q else r
True True True True
True True False True
True False True False
True False False False
False True True True
False True False False
False False True True
False False False False
Algoritma
• Algoritma di ambil dari nama seorang
ahli matematika bernama Abu Abdullah
Muhammad Ibn Musa Al-Khwarizmi
• Algoritma: berisi langkah-langkah yang
dibutuhkan untuk menyelesaikan sebuah
tugas.
Hal yang perlu diperhatikan
1. Teks algoritma berisi langkah2
penyelesaian masalah. Deskripsi bisa
ditulis dalam notasi apapun asal mudah
dimengerti dan dipahami
2. Tidak ada notasi yang baku. Notasi yang
digunakan dalam menulis algoritma
disebut notasi algoritmik
3. Setiap orang yang membuat aturan
penulisan dan notasi algoritmik sendiri.
Sebaiknya disesuaikan dengan notasi
bahasa pemrograman secara umum.
Hal yang perlu
diperhatikan
4. Notasi algoritmik bukan notasi
pemrograman, shg tidak dapat dijalan di
komputer.
5. Algoritma sebenarnya digunakan untuk
membantu dalam mengkonversikan suatu
permasalahan ke dalam bahasa
pemrograman
6. Algoritma merupakan hasil pemikiran
konseptual, agar dpt dijalankan di
komputer. Algoritma harus ditranslasikan
ke dalam notasi bahasa pemrograman.
Algoritma yang baik
• Tingkat kepercayaannya tinggi
(realibility)
• Pemrosesan yang efisien (cost
rendah)
• Sifatnya general
• Bisa dikembangkan (expandable)
• Mudah dimengerti
• Portabilitas yang tinggi (portability).
Penyajian
• Penyajian algoritma secara garis besar
bisa dalam 2 bentuk penyajian yaitu:
1. Tulisan  struktur bahasa tertentu
dan pseudocode
2. Gambar  flowchart, structure chart,
Data Flow Diagram, Warnier diagram,
Input Proses Output, Hierarchical
Input Proses Output
Flowchart
• Flowchart (bagan alir) merupakan
representasi secara grafik dari suatu
algoritma atau prosedur untuk
menyelesaikan suatu masalah.

• Flowchart ada 2 macam:


1. Flowchart Sistem
2. Flowchart Program
Flowchart Sistem
• Yaitu diagram alir yang
menggambarkan suatu sistem
peralatan komputer yang digunakan
dalam proses pengolahan data dan
perhubungan antar peralatan
tersebut.
Flowchart Sistem

Input output Magnetic disk

Manual input File

Proses Arah proses


Flowchart Program
• Yaitu bagan yang menggambarkan urutan
logika dari suatu prosedur pemecahan
masalah.

Terminal symbol: menunjukkan awal dan akhir sebuah program

Preparation symbol: memberikan nilai awal pada suatu


Variabel atau counter

Processing symbol: menunjukkan pengolahan aritmatika


dan pemindahan data
Flowchart Program
Input/output symbol: menunjukkan proses input & output

Decision symbol: untuk mewakili operasi perbandingan


logika

Predefined symbol: proses yang ditulis sebagai sub


program, yaitu prosedur/fungsi

connector symbol: penghubung pada halaman yang sama

Off page connector symbol: peghubung pada halaman yang


berbeda

Arah proses
Membuat algoritma
Definisi Masalah
• Untuk melakukan definisi masalah, maka
membaca berulang kali permasalahan
diperlukan. Pembacaan ini dilakukan
sampai dengan mengerti secara penuh
apa yang dibutuhkan.
Definisi Masalah
• Untuk melakukan analisis awal, maka
masalah perlu dibagi kedalam tiga
komponen yaitu :
• Input : daftar data yang disediakan untuk
menyelesaikan masalah
• Output : daftar keluaran yang diperlukan
• Process : daftar aksi yang diperlukan
untuk menghasilkan output
Merancang algoritma
solusi
• Setelah melakukan definisi masalah,
maka langkah selanjutnya adalah
bagaimana merancang algoritma solusi.

• Dari proses yang ada, maka akan diubah


ke dalam solusi algoritma, dengan
menggunakan flowchart
Cek Algoritma solusi
• Setelah algoritma solusi dibuat, maka
algoritma tersebut harus di cek untuk
mengetahui apakah algoritma solusi
yang dirancang sudah benar atau belum

• Pengecekan ini biasanya disebut dengan


desk checking
Cek algoritma solusi
(Desk Checking)
Ada 6 langkah mudah untuk melakukan cek terhadap
algoritma:
1. Pilih data sederhana yang valid. Dua atau tiga data
biasanya sudah mencukupi.
2. Tentukan hasil output yang diharapkan untuk
setiap set data.
3. Buatlah tabel dengan nama variabel yang ada
pada algoritma di sebuah kertas
4. Jalankan test satu persatu mengikuti algoritma
yang ada, mulai dari perintah / statement pertama
sampai dengan selesai
5. Ulangi langkah tersebut menggunakan set data
yang lain.
6. Cek apakah hasil dari langkah 5, sesuai dengan
hasil yang diharapkan di langkah kedua
Latihan Soal
Pustaka
Utami, Ema (2005), 10 Langkah Belajar
Logika Dan Algoritma Menggunakan Bahasa
C dan C++ di GNU/Linux, Penerbit Andi

Robertson, Lesley Anne (2007), Simple


Program Design: a Step by Step Approach,
Edisi ke-5, Course Technology Inc.
Contoh
• Sebuah program dibutuhkan untuk
membaca dua bilangan, menghitung
jumlahnya, selisih, hasil kali dan hasil
bagi. Hasil perhitungan akan ditampilkan
ke layar.
Contoh
• Definisi masalah
Input Proses Output
Bil_1 baca bil_1,bil_2 Jumlah
Bil_2 Hitung jumlah Selisih
Hitung selisih Kali
Hitung kali Bagi
Hitung bagi
Cetak jumlah
Cetak selisih
Cetak kali
Cetak bagi
Contoh
• Algoritma solusi:
program_kalkulator
baca bil_1, bil_2
jumlah = bil_1 + bil_2
selisih = bil_1 – bil_2
kali = bil_1 * bil_2
bagi = bil_1 / bil_2
cetak jumlah, selisih, kali, bagi
END
Cek Algoritma solusi
• Setelah algoritma solusi dibuat, maka
algoritma tersebut harus di cek untuk
mengetahui apakah algoritma solusi
yang dirancang sudah benar atau belum.
• Pengecekan ini biasanya disebut dengan
desk checking
Cek algoritma solusi
(Desk Checking)
Ada 6 langkah mudah untuk melakukan cek terhadap
algoritma:
1. Pilih data sederhana yang valid. Dua atau tiga data
biasanya sudah mencukupi.
2. Tentukan hasil output yang diharapkan untuk setiap
set data.
3. Buatlah tabel dengan nama variabel yang ada pada
algoritma di sebuah kertas
4. Jalankan test satu persatu mengikuti algoritma yang
ada, mulai dari perintah / statement pertama sampai
dengan selesai
5. Ulangi langkah tersebut menggunakan set data yang
lain.
6. Cek apakah hasil dari langkah 5, sesuai dengan hasil
yang diharapkan di langkah kedua
Contoh
• Desk Checking:
• Data input:
Data Data
1 2
Bil_1 10 20
Bil_2 5 10
Contoh
• Desk Checking
• Hasil yang diharapkan:
Data 1 Data 2
Jumlah 15 30
Selisih 5 10
Kali 50 200
Bagi 2 2
Contoh
• Tabel desk checking
cetak bil_1bil_2jumlah
selisih
kali bagi
Data ke - 1
Baca 10 5
jumlah 15
selisih 5
kali 50
bagi 2
cetak ya ya ya ya
Data ke-2
Baca 20 10
jumlah 30
selisih 10
kali 200
bagi 2
cetak ya ya ya ya

Anda mungkin juga menyukai