• Tidak ada hasil yang ditemukan

Definisi Algoritma

N/A
N/A
Protected

Academic year: 2023

Membagikan "Definisi Algoritma"

Copied!
20
0
0

Teks penuh

(1)

Pengantar Algoritma

K

Zulfikar sembiring

(2)

Apa Itu Algoritma?

Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi penulis buku berjudul Al Jabar Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi dibaca orang barat menjadi Algorism yang kemudian lambat laun menjadi Algorithm diserap dalam bahasa Indonesia menjadi Algoritma.

(3)

Definisi Algoritma

Beberapa Definisi Algoritma

1. Algortima adalah urutan Langkah-langkah untuk memecahkan suatu masalah. (Rinaldi Munir :2007)

2. Algoritma adalah deretan langkah - langkah komputasi yang mentrasnformasikan data masukan menjadi keluaran ( Thomas H Cormen : 1989)

3. Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas (Anany Levitin : 2003)

Algoritma dapat diartikan kumpulan instruksi/perintah yang dibuat secara jelas dan sistematis berdasarkan urutan yang logis untuk penyelesaian suatu masalah.

(4)

Ciri – ciri Algoritma

Finiteness (Keterbatasan)

Algoritma harus berakhir setelah melakukan sejumlah langkah proses

Definiteness (Kepastian)

Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda

Input (Masukan)

Sebuah algoritma memiliki nol atau lebih masukan (input) yang diberikan kepada algoritma sebelum dijalankan

Output (Keluaran)

Setiap algoritma memberikan satu atau beberapa hasil keluaran

Effectiveness (Efektivitas)

Langkah-langkah algoritma dikerjakan dalam waktu yang “wajar”

(5)

Sifat Algoritma

• Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman

• Tidak tergantung pada suatu bahasa pemrograman

• Notasi – notasinya dapat digunakan untuk seluruh bahasa manapun.

(6)

Beda Algoritma dan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

Beberapa Pakar memberikan formula Bahwa:

Program = Algoritma + Bahasa (Struktur Data)

(7)

Notasi Algoritmik

Penyajian algoritma secara garis besar bisa Dalam 3 bentuk notasi penyajian yaitu :

1. Untaian Kalimat Deskriptif 2. Diagram Alir (Flowchart) 3. Kode Semu (Pseudo-code)

(8)

Notasi I (Kalimat Deskriptif)

PROGRAM Euclidean

diberikan dua buah bilangan bulat tak negatif m dan n (m>=n).

Algoritma euclidean mencari pembagi bersama terbesar, gcd, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.

ALGORITMA :

1. Jika n = 0 maka

m adalah jawabannya;

stop.

tetapi jika n ≠ 0 ,

lanjut ke langkah ke 2.

2. Bagilah m dengan n dan misalkan r adalah sisanya.

3. Gantilah m dengan nilai n dan nilai n dengan nilai r, lalu ulang lagi ke langkah 1.

(9)

Notasi II (Flowchart)

Definisi

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan setiap simbol menggambarkan suatu proses tertentu.

Kegunaan

Untuk mendesain program

Untuk merepresentasikan program

Secara garis besar, unsur-unsur pemrograman adalah Input Proses Output.

(10)

Notasi II (lanjutan)

Simbol simbol Flowchart

(11)

Notasi II (lanjutan)

Simbol simbol Flowchart

(12)

Notasi II (lanjutan)

Simbol simbol Flowchart

(13)

Notasi II (lanjutan)

Simbol simbol Flowchart

(14)

Notasi II (lanjutan)

Simbol simbol Flowchart

(15)

Notasi II (lanjutan)

MOD adalah operator pembagian

bilangan bulat yang menghasilkan sisa hasil pembagian. Contohnya : 9 MOD 2

= 1 karena 9 dibagi 2 = 4 dan memberikan sisa = 1

Didalam diagram alir disamping

ditambahkan instruksi pembacaan nilai m dan n.

(16)

Notasi III (Pseudo-code)

Definisi

Pseudocode adalah kode atau notasi yang mirip dengan kode pemrograman yang sebenarnya seperti pada Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram.

(17)

Notasi III (lanjutan)

PROGRAM Euclidean

program untuk mencari gcd dari dua buah bilangan bulat tak negatif m dan n (m >= n).

Gcd dari m dan n adalah bilangan bulat positif terbesar yang habis membagi m dan n.

DEKLARASI :

m, n : integer {bilangan bulat yang akan dicari gcdnya}

r : integer {sisa hasil bagi}

ALGORITMA : read (m,n) while n ≠ 0 do

r ← m MOD n {hitung sisa hasil pembagian}

m ← n n ← r endwhile

{kondisi selesai pengulangan : n = 0 , maka gcd (m,n) = 0}

write (m)

(18)

Diskusi

Algoritma menjalankan sepeda motor 1. Hidupkan starter

2. Masukan kunci kontak 3. Tekan gigi 1

4. Perbesar gas 5. Jalan

Dimanakah letak kesalahan algoritma diatas?

(19)

Diskusi 2

Misalkan anda mempunyai 2 buah ember, masing-masing bervolume 5 liter dan 3 liter. Anda diminta mendapatkan air (dari sebuah danau) sebanyak 4 liter air dengan menggunakan bantuan hanya kedua ember tersebut(tidak ada peralatan lain yang tersedia, hanya kedua ember tersebut saja yang ada!) Terserah bagaimana caranya. Anda boleh memindahkan air dari satu ember ke ember lain, membuang seluruh air dari ember, dan sebagainya. Bagaimana algoritmanya???

(20)

Latihan

Buatlah contoh algoritma yang lain dalam kehidupan sehari hari. Tuliskan algoritma kalimat deskriptif dan flowchart-nya.

Referensi

Dokumen terkait

Trade Liberalization, Gender Segmentation, and Wage Discrimination: Evidence from Egypt.. 14th Annual Conference of the Economic Research Forum

Example: Intercepting Incoming SMS // SMSReceiver: listens to broadcasted SMS_RECEIVED signals package cis493.intentfilters; import android.content.BroadcastReceiver; import