logika & algoritma · 2017. 9. 25. · algoritma adalah urutan logis langkah-langkah...
TRANSCRIPT
LOGIKA & ALGORITMA
PENGERTIAN & CONTOH ALGORITMA
Pertemuan ke 2
9/2
4/2
017
Logik
a A
lgoritm
a
1
ALGORITMA
Abu Ja’far Muhammad Ibnu Musa Al-
Khuwarizmi.
Al-Khuwarizmi dibaca orang barat menjadi Algorism.
Algorithm
Algoritma
Pemecahan Masalah
9/2
4/2
017
2
Logik
a A
lgoritm
a
ALGORITMA ADALAH URUTAN LOGIS LANGKAH-LANGKAH PENYELESAIAN SUATU
MASALAH
ALGORITMA BERASAL DARI KATA PENULIS BUKU ARAB TERKENAL ABU JA’FAR
MUHAMMAD IBNU MUSA AL-KHUWARIZMI. (OLEH ORANG BARAT DI BACA
ALGORISM), DALAM BAHASA INDONESIA MENJADI ALGORITMA
Algoritma
Contoh.
membuat Kue
1. Sediakan bahan-bahan
2. Olah adonan
3. Letakan di atas kompor
4. Nyalakan kompor
1. Pengertian Algoritma
Seorang pemuda tiba di tepi sebuah sungai. Pemuda tersebut
membawa seekor kambing, seekor srigala dan sekerangjang sayur.
Mereka bermaksud menyebrangi sungai dengan sebuah perahu yang
hanya memuat dua beban. Masalahnya timbul karena jika srigala
yang terlebih dahulu dibawa, maka sayur akan habis dimakan
kambing.
Contoh
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas
Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak bermakna ganda (ambiguous)
Algoritma memiliki masukan. Masukan ialah besaran yang diberikan kepada algoritma
Algoritma mempunyai keluaran (output). Keluaran ialah besaran yang memiliki hubungan dengan masukan.
Setiap langkah algoritma yang dibuat harus efektif.
2. Ciri-ciri Algoritma
ALGORITMA - CONTOH
langkah-langkah yang dilakukan waktu
menelepon teman
diagram alur mengenai apa-apa yang
dilakukan mualai bangun pagi sampai tiba di
kampus
diagram alur untuk proses merebus telur
9/2
4/2
017
6
Logik
a A
lgoritm
a
ALGORITMA CONTOH 1
ambil panci
apakah panci bersih, bila kotor cuci lebih dulu
taruh air dalam panci
nyalakan kompor
letakkan panci diatas kompor
tunggu hingga air mendidih
masukkan telur
tunggu sampai tiga menit
angkat panci dari kompor
matikan kompor
angkat telur dari panci
9/2
4/2
017
7
Logik
a A
lgoritm
a
ALGORITMA CONTOH2
1. Angkat Gagang Telpon
2. Tekan Nomor yang Akan dihubungi
3. Bicara
4. Letakkan Gagang Telpon
9/2
4/2
017
8
Logik
a A
lgoritm
a
ALGORITMA CONTOH2 – REV1
1. Angkat Gagang Telpon
2. Ada Nada Panggil?
1. Jika Ada, Masukkan Coin
2. Jika Tidak, ke Langkah 5
3. Tekan Nomor Yang Akan dihubungi
4. Ada Yang Mengangkat?
1. Jika Ada, Bicara
2. Jika Tidak, Ke Langkah 5
5. Letakkan Gagang Telpon
9/2
4/2
017
9
Logik
a A
lgoritm
a
ALGORITMA
PENGERTIAN ALGORITMA
Urut-urutan langkah yang dinyatakan dengan
jelas dan tidak rancu untuk memecahkan suatu
masalah dalam rentang waktu tertentu
9/2
4/2
017
10
Logik
a A
lgoritm
a
KARAKTERISTIK ALGORITMA
Unambigious◦ Tiap statement/perintah harus mempunyai satu
tafsiran tunggal
Precise◦ Urutan eksekusi langkah-langkah harus jelas.
Kapan sebuah perintah dijalankan, kapan sebuah perintah berhenti.
Definite◦ Hasil dari Algoritma harus bersifat “pasti”.
Artinya hasil dari suatu Algoritma harus sesuai dengan kondisi yang diinginkan.
Finite◦ Berhingga, *dalam jangka waktu tertentu
9/2
4/2
017
11
Logik
a A
lgoritm
a
SIFAT TOP DOWN DESAIN
1. Dekomposisi masalah utama menjadi sub-masalah yang tepat
2. Cek, apakah sub masalah telah memberikan hasil yang tepat.
3. Gabungan Antara sub-masalah harus dapat memberikan hasil yang benar (masalah utama terpecahkan)
4. Ulangi proses 1 – 3, hingga terbentuk suatu sub masalah yang sangat spesifik (kecil)
9/2
4/2
017
12
Logik
a A
lgoritm
a
ALGORITMA PEMROGRAMAN
Belajar memprogram tidak sama dengan belajar
bahasa pemrograman.
Metodologi pemecahan masalah
Berbentuk dalam notasi tertentu yang mudah
difahami
Sedangakan belajar bahasa pemrograman
berarti belajar memakai suatu bahasa yang
spesifik, struktur data, tata cara penulisan,
fungsi, compiler dll.
Spesifik hanya untuk suatu bahasa tertentu
9/2
4/2
017
13
Logik
a A
lgoritm
a
ALGORITMA PEMROGRAMAN PENULISAN
1. Uraian Desktriptif
1. Menggunakan bahasa sehari-hari
2. Terkadang ambigu
2. Pseudocode
1. Menggunakan kode/simbo tertentu yang spesifik.
3. Bagan Alir
1. Proses ditulis dalam bentuk flow chart/notasi,
secara top down
9/2
4/2
017
14
Logik
a A
lgoritm
a
ALGORITMA DESKRIPTIF
Algoritma Untuk Penjumlahan
Masukkan bilangan pertama yang akan dijumlahkan
Masukkan bilangan kedua yang akan dijumlahkan
Jumlahkan bilangan pertama dengan bilangan ke
dua
Simpan Hasilnya pada variabel c
Tampilkan variabel c
9/2
4/2
017
15
Logik
a A
lgoritm
a
ALGORITMA PSEUDOCODE
Input (bilangan_pertama)
Input (bilangan_kedua)
C = 0
C= bilangan_pertama + bilangan_kedua
Tampilkan c
9/2
4/2
017
16
Logik
a A
lgoritm
a
PSEUDOCODE BAHASA PASCAL
Var
bilangan_pertama : integer;
bilangan_kedua : integer;
c : integer;
Begin
write (‘masukkan bilangan pertama’);
read(bilangan_pertama);
write (‘masukkan bilangan kedua’);
read(bilangan_kedua)
c := bilangan_pertama+bilangan_kedua
write(‘hasilnya:’, c);
end
9/2
4/2
017
17
Logik
a A
lgoritm
a
2. Struktur Dasar Algoritma
a. Runtunan (Sequence)
Runtunan berisi lebih dari satu pernyataan (pernyataan
gabungan/Compound statement) yang dikerjakan secara
berurutan
Dalam sebuah program, sering kita jumpai aksi(statement) yang melibatkan syarat untuk sebuahpemilihan.
b. Pemilihan (Selection)
c. Pengulangan (Repitition)
a. Diagram Alir (Flow Chart)
Diagram alir atau flow chart adalah tehnik yang digunakanuntuk mendeskripsikan suatu algoritma dengan menggunakansimbol-simbol gambar
3. Notasi Algoritma
Mulai, berhenti
mulai berhenti
1. Kotak mulai/berhenti
Kotak masukan : untuk membaca data yang
diberikan pada suatu variabel
Masukan a
2. Masukan
Kotak penugasan : untuk melakukan
perhitungan matematis yang hasilnya diberikan
pada suatu variabel
x 2 x a + b
3. Kotak Penugasan
4. Keluaran (ouput)
Kotak keluaran digunakan untuk mencetak atau sebagai putput dari
algoritma
Contoh.
cetak x
5. Kotak Keputusan
Kotak keputusan digunakan untuk memutuskan arah atau
percabangan yang diambil sesuai dengan kondisi yang disyaratkan.
contoh
kondisi
ya
tidak
6. Kotak Pengulangan
Kotak pengulangan digunakan untuk pengulangan yang diambil
sesuai dengan kondisi yang disyaratkan.
contoh
kondisi
i i+ 1
7. Kotak Penghubung
Kotak digunakan untuk menyambung sebuah algoritma yang terputus,
misalnya disebabkan oleh pergantian halaman.
b. Pseudocode
pseudocode adalah teknik penulisan algoritma denganmenggunakan sintak secara langsung
Contoh.
sebuah pernyataan dalam notasi deskriptif:
gantikan nilai 2 ke x
maka pseudo-code dalam notasi algoritmik adalah:
x 2