Anda di halaman 1dari 32

Pengantar

Logika & Algoritma

© Teguh Sutopo, 2000


Konsep Dasar Pemrograman Komputer

COMPUTER TO – COMPUTE + ER

(Menghitung/Mengolah
bilangan)

(Mengolah Data)

Data yang diolah Informasi hasil


PUSAT PENGOLAH DATA
pengolahan
(berbasis Arithmatika dan
Logika)
(Masukan/Input) (Keluaran/Output)

Penyimpanan Data
Definisi Logika
• Logika identik dengan masuk akal dan penalaran.
Penalaran adalah salah satu bentuk pemikiran.
Pemikiran adalah pengetahuan tak langsung yang
didasarkan pada pernyataan langsung pemikiran,
mungkin benar dan mungkin juga tak benar.

• Definisi logika yaitu ilmu yang memberikan prinsip-


prinsip yang harus diikuti agar dapat berfikir valid
menurut aturan yang berlaku

• Pelajaran logika menimbulkan kesadaran untuk


menggunakan prinsip-prinsip untuk berfikir secara
sistematis.
Definisi Algoritma

• Algoritma adalah urutan langkah-langkah logis


penyelesaian masalah yang disusun secara
sistematis.

• Kata logis disini berarti benar sesuai dengan


logika manusia.

• Untuk menjadi sebuah algoritma, urutan langkah


yang ditempuh untuk menyelesaikan masalah
harus memberikan hasil yang benar.
Asal-usul kata algoritma
• Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah
seorang penulis buku Arab yang berjudul Kitab Al Jabar
Wal Muqabala (Buku Pemugaran dan Pengurangan).
Kata Al Khuwarizmi dibaca orang Barat menjadi
algorism.
• Kata algorism berarti proses menghitung dengan angka
Arab. Seseorang dikatakan algorist jika orang tersebut
menggunakan angka Arab.
• Kata algorism lambat laun menjadi algorithm disebabkan
kata algorism sering dikelirukan dengan kata arithmetic
sehingga akhiran –sm berubah menjadi –thm. Kata
algorithm diserap ke dalam bahasa Indonesia menjadi
algoritma.
Dimana Posisi Algoritma?
Domain algoritma

• Masalah : motivasi untuk membuat algoritma.


• Algoritma : prosedur untuk menyelesaikan
masalah. Seringkali satu masalah dapat
diselesaikan dengan lebih dari satu cara
(banyak kemungkinan).
• Program: representasi formal dari suatu
algoritma dengan menggunakan bahasa
pemrograman yang bisa dimengerti oleh
komputer.
• Proses : aktivitas menjalankan langkah-langkah
dalam algoritma.
Kriteria Algoritma
Menurut Donald E. Knuth, algoritma mempunyai lima ciri
penting yang meliputi:
1.Input: algoritma dapat memiliki nol atau lebih inputan dari
luar.
2.Output: algoritma harus memiliki minimal satu buah output
keluaran.
3.Definiteness (pasti): algoritma memiliki instruksi-instruksi
yang jelas dan tidak ambigu.
4.Finiteness (ada batas): algoritma harus memiliki titik
berhenti (stopping role).
5.Effectiveness (tepat dan efisien): algoritma sebisa mungkin
harus dapat dilaksanakan dan efektif. Contoh instruksi yang
tidak efektif adalah: A = A + 0 atau A = A * 1
Hal yang harus dipenuhi dalam
membuat algoritma
• Input : data yang harus diberikan pada
komputer
• Output: informasi yang akan diperoleh dari
komputer
• Logika: Merencanakan proses program.
Terdiri dari sejumlah instruksi yang
mengubah input menjadi output yang
diinginkan.
Penyajian Algoritma

Algorithma dapat disajikan dalam tiga cara:


1.Secara tulisan/diskripsi
Algoritma ditulis dengan menggunakan bahasa deskriptif sehari-hari
atau juga disebut dengan notasi alami. Dilakukan dengan cara
menuliskan instruksi-instuksi yang harus dilaksanakan dalam bentuk
untaian kalimat deskriptif dengan menggunakan bahasa yang jelas.
Algoritma dalam bentuk deskriptif disusun oleh tiga bagian utama
yaitu:
1. Bagian judul (header)
2. Bagian deklarasi (kamus)
3. Bagian deskripsi
Penyajian Algoritma
Secara tulisan/diskripsi
Algoritma Luas_Lingkaran
{Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma
menerima masukan jari-jari lingkaran, menghitung luasnya, lalu cetak
luasnya ke piranti keluaran}

Deklarasi :
jari_jari = real {tipe data bilangan pecahan}
luas = real {tipe data bilangan pecahan}
PHI = 3.14

Deskripsi:
1. Baca jari_jari
2. Hitung luas = PHI * jari_jari * jari_jari
3. Tampilkan luas ke layar
4. Selesai
Penyajian Algoritma
2. Pseducode
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara
menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia
untuk menuliskan algoritma.

Contoh :

Algoritma Luas_Lingkaran
{Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran,
menghitung luasnya, lalu cetak luasnya ke piranti keluaran}

Deklarasi :
jari_jari : real {tipe data bilangan pecahan}
luas : real {tipe data bilangan pecahan}
PHI = 3.14

Deskripsi:
1. Read (jari_jari)
2. luas = PHI * jari_jari * jari_jari
3. Write (luas)
4. Selesai
Penyajian Algoritma
3. Diagram Alir / Flowchart
– Suatu diagram yang menggunakan simbol-simbol
khusus yang menunjukkan langkah-langkah sebuah
program.
– Simbol-simbol tersebut mengindikasikan aksi apa
yang akan dilakukan atau keputusan apa yang akan
dibuat.
Jenis Proses Algoritma

• Sequence Process: instruksi dikerjakan


secara sekuensial, berurutan.
• Selection Process: instruksi dikerjakan
jika memenuhi kriteria tertentu
• Iteration Process: instruksi dikerjakan
selama memenuhi suatu kondisi tertentu.
• Concurrent Process: beberapa instruksi
dikerjakan secara bersama
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Tahap Pengembangan Algoritma
Contoh algoritma 1

• Ada 2 buah gelas. Satu berisi teh dan


satunya lagi berisi kopi. Bagaimana
caranya menukar isi masing-masing
gelas?

teh kopi
Contoh algoritma 1
Algoritma
– Siapkan gelas cadangan
X X

– Tuangkan gelas yang X teh


berisi teh ke gelas
cadangan

– Tuangkan gelas yang teh


berisi kopi ke gelas yang kopi
awalnya dipakai teh

– Tuangkan isi gelas


cadangan ke gelas yang kopi X
awalnya berisi kopi
Contoh Algoritma 2

• Algoritma untuk menentukan apakah


suatu bilangan merupakan bilangan ganjil
atau bilangan genap.
• Algoritmanya :
a. Masukkan bilangan yang akan ditentukan
b. Bagi bilangan dengan bilangan 2
c. Hitung sisa hasil bagi pada langkah b.
d. 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.
Latihan 1

Buatlah suatu algoritma untuk proses


pembuatan kopi yang rasa manisnya tepat
Latihan 2

Buatlah suatu algoritma untuk proses aktivitas


yang anda kerjakan dari pagi hingga malam
hari
Latihan 3

Buat algoritma mengurutkan 3 bilangan


acak!
Referensi

• Algorithms, Yi-Shin Chen, Addison-Wesley


Computing
• Algoritma dan pemrograman dalam
bahasa Pascal dan C, Rinaldi Munir,
penerbit Informatika Bandung
• http://web.si.its-
sby.edu/kurikulum/materi/iptek/logika.html

Anda mungkin juga menyukai