• 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

Konsep dasar yang digunakan dalam algoritma Kruskal dalam menentukan maximum spanning tree adalah pada setiap langkah memilih sisi dari graf G yang

melakukan sejumlah operasi pemotongan atau pembentukan dalam beberapa stasiun kerja pada setiap langkah penekanan menghasilkan beberapa jenis pengerjaan dan setiap stasiun kerja

Maksud dari prinsip tersebut adalah sebagai berikut; pada setiap langkah dalam algoritma greedy kita ambil keputusan yang paling optimal untuk langkah tersebut tanpa

 Algoritma genetika menerapkan pemikiran tersebut dengan cara, didalam setiap generasi sejumlah kromosom yang mempunyai nilai fitness tinggi dipilih untuk diproses untuk

 Agar rekursi dapat berhenti input recursive cases harus mendekati base case di setiap pemanggilan fungsi rekursif... Langkah-langkah umum untuk menganalisa efisiensi

ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.. Alur pemikiran dalam menyelesaikan

Aplikasi algoritma interpretasi EKG ini merupakan aplikasi berbasis sistem Android yang memberikan panduan langkah-langkah yang harus dilakukan penggunanya untuk mendapatkan

pada metode Newton khusunya algoritma Rank One dan algoritma DFP ( Davidson, Fletcher and Powell ) tidak praktis dan dilakukan pada setiap langkah untuk menghindari