Anda di halaman 1dari 23

Algoritma 1

(Pertemuan 1)

Aulia Paramita, S.Kom

Apakah algoritma itu?

Berasal dari nama penulis buku arab yang terkenal yaitu Abu Jafar Muhammad Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsurangsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm

diserap menjadi algoritma.

Definisi Algoritma

Algoritma adalah urutan langkahlangkah yang disusun secara logis dan sistematis.
Perbedaannya dengan program, yaitu program merupakan 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 memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data)

ALGORITMA

adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas

Langkah-langkah harus tersusun secara

LOGIS dan Efisien


Diselesaikan

Oleh
KOMPUTER

agar dapat menyelesaikan tugas dengan BENAR dan Efisien.

ALGORITMA

merupakan gabungan antara SENI dan TEKNIK


Seni,

TEKNIK, Karena Algoritma adalah suatu pekerjaan yang bersifat rancang bangun

karena Algoritma penuh dengan kreativitas


dan imajinasi yang jenius

Penulisan Algoritma

Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris, dan bahasa manusia lainnya)

Tapi sering membingungkan ( ambiguous )

Menggunakan flow chart (diagram alir)

Bagus secara visual akan tetapi repot kalau algoritmanya panjang

Menggunakan pseudo-code

Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman

Contoh

Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan Nantinya ini bisa digeneralisir menjadi n buah bilangan

Algoritma Dalam Bahasa Natural


1.

Ambil bilangan pertama dan set maks sama dengan bilangan pertama
Ambil bilangan kedua dan bandingkan dengan maks

2. 3.

Apabila bilangan kedua lebih besar dari maks , set maks sama dengan bilangan kedua
Ambil bilangan ketiga dan bandingkan dengan maks

4.

5.

Apabila bilangan ketiga lebih besar dari maks , set maks sama dengan bilangan ketiga
Variabel maks berisi bilangan terbesar. Tayangkan hasilnya

6.

Algoritma dengan Flowchart


Mulai

Maks = bilangan pertama

Maks < bilangan kedua

Ya

Maks = bilangan kedua

Tidak

Maks < bilangan ketiga

Ya

Maks = bilangan ketiga

Tidak

Selesai

Algoritma dengan

pseudo-code

maks bilangan pertama if ( maks < bilangan kedua) maks bilangan kedua if ( maks < bilangan ketiga) maks bilangan ketiga

Learning Algorithms by practical ways

Soal
Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun algoritma untuk mencetak total kedua buah bilangan tersebut. Algoritma secara Umum Algoritma dalam Bahasa C Algoritma dalam Bahasa C++

A5 B4 T A+B WRITE(T)

#include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(%i, T); }

#include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; }

Algoritma secara Umum

Dapat diganti misal :

A5 B4 T A+B WRITE(T)

Dapat ditulis secara bebas asal dapat dimengerti oleh orang lain

A=5 B=4 T = A+B WRITE(T)

A diisi 5

Dapat diganti, misalnya dengan :

Seperti yang dicontohkan dalam buku literatur

WRITE T PRINT ( T ) PRINT T CETAK T TULIS T Print T Write T


dan sebagainya asal dipahami

KEMBALI KE :

ALGORITMA

adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas


A5 B4 T A+B WRITE(T)

ADA

4
LANGKAH

ALGORITMA
adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas
Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah :

atau pekerjaan A5 B4 T A+B WRITE(T)


Satu

ADA

4
LANGKAH

KOMPUTER

langkah identik dengan satu instruksi

SEHINGGA DAPAT DIKATAKAN :

ALGORITMA
adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan

Komputer memang dirancang untuk dapat menerima dan melaksanakan instruksi yang diberikan kepadanya

ALGORITMA
adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan

Komputer hanya mengerti bahasanya sendiri yang disebut BAHASA MESIN

Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah :

KOMPUTER

A5 B4 T A+B WRITE(T)

ALGORITMA YANG DITULIS

SEPERTI INI , TIDAK


DIPAHAMI OLEH KOMPUTER karena Tidak disiapkan alat untuk menerjemahkan ALGORITMA tersebut menjadi BAHASA MESIN

Algoritma secara Umum

Algoritma dalam Bahasa C

Algoritma dalam Bahasa C++

A5 B4 T A+B WRITE(T)
TIDAK DIMENGERTI OLEH KOMPUTER

#include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(%i, T); }

#include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; }

DIMENGERTI OLEH KOMPUTER karena disiapkan atau disediakan ALAT PENERJEMAH nya menjadi BAHASA MESIN

Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(%i, T); }

Algoritma dalam Bahasa C++ #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; }

Agar dapat diterjemahkan menjadi BAHASA MESIN, maka ALGORITMA harus ditulis dalam suatu Bahasa Pemrograman (Programming Language)
Contoh : Bahaca C

Ciri-ciri Algoritma yang baik


a. b.

Tepat sasaran : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan Flexible dan portable:

Flexible untuk dikembangkan lebih lanjut Portable untuk digunakan pada berbagai sistem dan mesin

c. d.

Bersih dari kesalahan sistem ataupun logik Efektif : setiap langkah harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal. Murah

e.

Ciri-ciri Algoritma yang baik


f.

Didokumentasikan dengan baik untuk pengoperasian, pemeliharaan dan pengembangan Algoritma pemberian (description) pelaksanaan suatu proses

g.

h.

Tidak ambiguous : tidak bermakna ganda


Harus berhenti setelah mengerjakan sejumlah langkah terbatas.

i.

Aspek Penting dari Algoritma


1.

Finiteness
Algoritma harus berhenti after a finite number of

steps

2.

Definiteness
Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous)

3.

Input
Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan

4.

Output
Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input

5.

Effectiveness
Setiap algoritma diharapkan miliki sifat efektif

Referensi

EL 2001 Dasar Pemrograman, Budi Rahardjo, Teknik Elektro ITB 2004 Algoritma dan Pemrograman; Teori dan Praktik dalam Pascal Edisi Kedua_Normal_bab 1