1
Pertemuan ke 2
Logika Algoritma
PENGERTIAN & CONTOH ALGORITMA
9/24/2017
LOGIKA & ALGORITMA
ALGORITMA Abu Ja’far Muhammad Ibnu Musa AlKhuwarizmi.
Logika Algoritma
9/24/2017
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Algorithm Algoritma
Pemecahan Masalah
2
Algoritma 1. Pengertian Algoritma 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
Contoh. membuat Kue 1. 2. 3. 4.
Sediakan bahan-bahan Olah adonan Letakan di atas kompor Nyalakan kompor
Contoh
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.
2. Ciri-ciri Algoritma
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.
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
Logika Algoritma
9/24/2017
6
ALGORITMA CONTOH 1 9/24/2017
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
Logika Algoritma
7
ALGORITMA CONTOH2
3. 4.
Angkat Gagang Telpon Tekan Nomor yang Akan dihubungi Bicara Letakkan Gagang Telpon
Logika Algoritma
2.
9/24/2017
1.
8
ALGORITMA CONTOH2 – REV1 2. 2.
Tekan Nomor Yang Akan dihubungi Ada Yang Mengangkat?
3. 4. 1.
2. 5.
Jika Ada, Masukkan Coin Jika Tidak, ke Langkah 5
Jika Ada, Bicara Jika Tidak, Ke Langkah 5
Letakkan Gagang Telpon
A L G O R I T M A
Logika Algoritma
1.
9/24/2017
Angkat Gagang Telpon Ada Nada Panggil?
1.
9
PENGERTIAN ALGORITMA Urut-urutan langkah yang dinyatakan dengan masalah dalam rentang waktu tertentu
Logika Algoritma
jelas dan tidak rancu untuk memecahkan suatu
9/24/2017
10
KARAKTERISTIK ALGORITMA Unambigious ◦
Precise ◦
Definite ◦
Urutan eksekusi langkah-langkah harus jelas. Kapan sebuah perintah dijalankan, kapan sebuah perintah berhenti.
Logika Algoritma
Tiap statement/perintah harus mempunyai satu tafsiran tunggal
9/24/2017
Hasil dari Algoritma harus bersifat “pasti”. Artinya hasil dari suatu Algoritma harus sesuai dengan kondisi yang diinginkan.
Finite ◦
Berhingga, *dalam jangka waktu tertentu
11
SIFAT TOP DOWN DESAIN
3.
4.
Logika Algoritma
2.
Dekomposisi masalah utama menjadi submasalah yang tepat Cek, apakah sub masalah telah memberikan hasil yang tepat. Gabungan Antara sub-masalah harus dapat memberikan hasil yang benar (masalah utama terpecahkan) Ulangi proses 1 – 3, hingga terbentuk suatu sub masalah yang sangat spesifik (kecil)
9/24/2017
1.
12
ALGORITMA PEMROGRAMAN Belajar memprogram tidak sama dengan belajar bahasa pemrograman.
Metodologi pemecahan masalah Berbentuk dalam notasi tertentu yang mudah difahami
Logika Algoritma
9/24/2017
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 13
ALGORITMA PEMROGRAMAN PENULISAN 1.
Pseudocode
2.
1.
Menggunakan kode/simbo tertentu yang spesifik.
Logika Algoritma
2.
Menggunakan bahasa sehari-hari Terkadang ambigu
9/24/2017
Uraian Desktriptif
1.
Bagan Alir
3.
1.
Proses ditulis dalam bentuk flow chart/notasi, secara top down
14
ALGORITMA DESKRIPTIF Algoritma Untuk Penjumlahan
Logika Algoritma
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/24/2017
15
ALGORITMA PSEUDOCODE 9/24/2017 Logika Algoritma
Input (bilangan_pertama) Input (bilangan_kedua) C=0 C= bilangan_pertama + bilangan_kedua Tampilkan c
16
PSEUDOCODE BAHASA PASCAL 9/24/2017 Logika Algoritma
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
17
2. Struktur Dasar Algoritma a. Runtunan (Sequence) Runtunan berisi lebih dari satu pernyataan (pernyataan gabungan/Compound statement) yang dikerjakan secara berurutan b. Pemilihan (Selection) Dalam sebuah program, sering kita jumpai aksi (statement) yang melibatkan syarat untuk sebuah pemilihan. c. Pengulangan (Repitition)
3. Notasi Algoritma a. Diagram Alir (Flow Chart) Diagram alir atau flow chart adalah tehnik yang digunakan untuk mendeskripsikan suatu algoritma dengan menggunakan simbol-simbol gambar
1. Kotak mulai/berhenti Mulai, berhenti
mulai
berhenti
2. Masukan
Kotak masukan : untuk membaca data yang diberikan pada suatu variabel
Masukan a
3. Kotak Penugasan
Kotak penugasan : untuk melakukan perhitungan matematis yang hasilnya diberikan pada suatu variabel
x 2
x a + b
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
tidak kondisi
ya
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 dengan menggunakan sintak secara langsung Contoh.
sebuah pernyataan dalam notasi deskriptif: gantikan nilai 2 ke x maka pseudo-code dalam notasi algoritmik adalah: x2