Anda di halaman 1dari 28

Dasar-Dasar Algoritma dan Penulisan Algoritma (Pertemuan 5,6,7)

Wiwik Budiawan, ST, MT

Kompetensi Dasar
Jika diberikan materi tentang dasar-dasar algoritma, mahasiswa dapat menjelaskan dasar-dasar algoritma Jika diberikan materi tentang struktur dasar algoritma, mahasiswa dapat menjelaskan struktur dasar algoritma Jika diberikan materi tentang aturan penulisan algoritma, mahasiswa dapat menjelaskan dan menuliskan algoritma

Pokok Bahasan
1. 2. Dasar Algoritma Definisi Algoritma Proses Instruksi dan Aksi Struktur Dasar Algoritma Runtutan Pemilihan Pengulangan 3. Aturan Penulisan Algoritma Teks Algoritma Deklarasi dan Deskripsi

Definisi Algoritma
Algoritma adalah ..

Algoritma
Adalah prosedur yang berisi langkah-langkah logis untuk penyelesaian masalah Adalah deretan langkah-langkah komputasi yang mentransformasikan data masukan menjadi data keluaran (Cormen, 1992) Adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas (Levitin, 2003)
4/26/2013 Dasar-Dasar Komputer dan Pemrograman 5

Contoh
1950 Algoritma Euclidean (Euclids algorithm) : proses untuk menemukan pembagi bersama terbesar (common greatest divisor) dari dua bilangan bulat.
Diberikan dua buah bilangan bulat positif m dan n (m n). Carilah pembagi bersama terbesar (pbt) dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.

4/26/2013

Dasar-Dasar Komputer dan Pemrograman

Algoritma Euclidean (1)


Langkah-langkah: 1. Bagilah m dengan n. Kemudian misalkan r adalah sisanya. 2. Jika r = 0 maka
n adalah jawabannya; stop. Tetapi jika r 0, lanjutkan ke langkah 3

3. Ganti nilai m dengan nilai n, dan ganti nilai n dengan r, lalu ulangi langkah 1. #Contoh m = 30, n = 12

4/26/2013

Dasar-Dasar Komputer dan Pemrograman

Algoritma Euclidean (2)


Contoh: m=30 , n=12 1. Hitung m/n = 30/12 = 2, sisanya r = 6 2. Karena r = 6 0, maka lanjutkan ke langkah 3. 3. Nilai m = n = 12, dan n = r = 6. Kembali ke langkah 1. 1. Hitung m/n = 12/6 = 2, sisanya r = 0 2. Karena r = 0, maka n = 6 adalah jawabannya. Stop
4/26/2013 Dasar-Dasar Komputer dan Pemrograman 8

Ciri penting Algoritma (1)


Donald E. Knuth, The Art of Computer Programming 1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Program yang tidak pernah berhenti algoritma salah. 2. Setiap langkah harus didefinisikan dengan tepat dan tidak ambiguous. bagilah p dengan beberapa buah bil. bulat positif bagilah p dengan 10 buah bil. bulat positif

4/26/2013

Dasar-Dasar Komputer dan Pemrograman

Ciri penting Algoritma (2)


3. Algoritma memiliki nol atau lebih masukan (input) besaran yg diberikan ke algoritma sebelum algoritma mulai bekerja. 4. Algoritma memiliki nol atau lebih keluaran (output). bisa mempunyai hubungan dengan input. 5. Algoritma harus efektif.

4/26/2013

Dasar-Dasar Komputer dan Pemrograman

10

Bagaimana algoritma bisa efektif ?


Terdapat pemroses: manusia, komputer, robot, mesin, dll. Syarat pemroses (Goldschlager, 1988): 1.Mengerti setiap langkah dalam algoritma 2.Mengerjakan operasi yang sesuai dengan instruksi pada langkah tersebut Logis ! Algoritma Benar ! Hasil tercapai !
4/26/2013 Dasar-Dasar Komputer dan Pemrograman 11

Notasi Algoritmik (1)


1. Notasi Deskriptif Alg Eucledian:
1. Bagilah m dengan n. Kemudian misalkan r adalah sisanya. 2. Jika r = 0 maka
n adalah jawabannya; stop. Tetapi jika r 0, lanjutkan ke langkah 3

3. Ganti nilai m dengan nilai n, dan ganti nilai n dengan r, lalu ulangi langkah 1.

4/26/2013

Dasar-Dasar Komputer dan Pemrograman

12

Notasi Algoritmik (2)


2. Notasi Pseudocode
listnama = Daftar Nama KeyNama = Nama yang dicari Hitung = 0 Untuk setiap nama pada daftar nama, lakukan: Jika nama == KeyNama Hitung = Hitung + 1 Tampilkan Hitung
4/26/2013 Dasar-Dasar Komputer dan Pemrograman 13

Notasi Algoritmik (3)


3. Notasi Flowchart

4/26/2013

Dasar-Dasar Komputer dan Pemrograman

14

Proses, Instruksi, dan Aksi


Algoritma merupakan deskripsi urutan pelaksanaan suatu proses Algoritma tersusun oleh sederetan langkah instruksi yang logis Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi) Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU

Struktur Dasar Algoritma


Runtunan (sequence)
aksi-aksi dalam algoritma yang dikerjakan secara berurutan contoh :

A1. Aksi 1 A2. Aksi 2 A3. Aksi 3

mula-mula aksi 1 dilakukan aksi 2 dilakukan setelah aksi 1 selesai dilaksanakan dst.

Struktur Dasar Algoritma(2)

Pemilihan (selection)
aksi dikerjakan jika kondisi tertentu terpenuhi contoh :
IF kondisi THEN aksi IF kondisi1 THEN Aksi1 ELSE IF kondisi2 THEN Aksi2 ELSE Aksi3 (Aksi 3 dilakukan jika kondisi 1 dan 2 tidak terpenuhi)

IF kondisi THEN aksi1 ELSE aksi2

Struktur Dasar Algoritma (3)

Pengulangan
aksi-aksi yang dikerjakan berulang kali contoh : FOR pencacah pengulangan dari a sampai b DO Aksi
(aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a sampai b yakni sebanyak b-a+1 kali)

REPEAT Aksi UNTIL kondisi


(pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi)

WHILE kondisi DO Aksi


(selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan)

Penulisan Algoritma
FLOW CHART
Flow chart adalah suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan suatu program dari awal sampai akhir Flow chart adalah algoritma yang digambarkan dengan diagram Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi dari algoritma)

TEKS ALGORITMA
berisi langkah-langkah penyelesaian masalah yang ditulis dengan bahasa yang mudah dipahami

Flow Chart
Flow chart suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan program dari awal sampai akhir. Flow chart adalah algoritma yang digambarkan dengan diagram Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi algoritma)

Flow Chart(2)
Input Processing Output (display) Decision (evaluasi suatu kondisi) Procedure/subroutine

Flow Chart(2)
Flow lines Terminator (mengawali dan mengakhiri flow chart) On page connector Off page connector Annotation (memberi komentar atau keterangan dalam flow chart)

Teks Algoritma
Teks algoritma berisi langkah-langkah penyelesaian masalah Tidak ada notasi baku tapi sebaiknya berkorespondensi dengan bahasa pemrograman umum, supaya mudah ditranslasikan ke dalam bahasa pemrograman Notasi yang digunakan untuk menulis algoritma disebut notasi algoritmik

Teks Algoritma
Struktur teks algoritma
Kepala algoritma terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut Deklarasi mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma Deskripsi Berisi uraian langkah-langkah penyelesaian Komentar ditulis diantara tanda kurung { dan }

Contoh Teks Algoritma


Judul algoritma spesifikasi algoritma

Kata2 yg biasanya menjadi keyword bhs pemrogram diberi garis bawah

Pascal

Referensi
Sriyanto, ST.MT., Buku Ajar Teknik Informatika, PSTI UNDIP, Semarang, 2007. Munir, Rinaldi, Algoritma & Pemrograman, edisi kedua, Informatika, Bandung, 2002. Referensi lain diantaranya melalui situs www.ilmukomputer.com.

Anda mungkin juga menyukai