- 1. Algoritma
Asal usul kata algoritma dapat Anda baca dalam buku “The
Art of Computer Programming Second Edition Volume I” yang ditulis oleh
Donald E. Knuth (1973, p1- )
Menurut Donald E. Knuth (1973,p4), algoritma dalam penger tian modern mempunyai kemiripan dengan istilah
resep ,
proses, metode, teknik, prosedur, rutin
. Algor itma adalah sekumpulan aturan-aturan berhingga yang
memberikan sederetan operasi-operasi untuk menyelesaikan suatu jenis
masalah yang khusus. Menurut Rinaldi Munir, algoritma adalah
urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis. Berdasarkan dua pengertian algoritma di atas, dapat
disimpulkan bahwa algor itma merupakan suatu istilah yang luas, yang
tidak hanya berkaitan dengan dunia komputer.
- 2. Pemrograman
Pemrograman berasal dar i kata
program yang diberi awalan pe– dan akhiran –an. Dalam buku ini, program berarti progr am komputer. Pengertian
program computer
menurut John M. Zelle, Ph.D. dalam bukunya yang berjudul “Python
Programming: An Introduction to Computer Science” (2002, p1)
adalah sekumpulan instruksi langkah per langkah yang member itahukan
mengenai yang harus dilakukan computer secara tepat.
Pemrograman adalah segala kegiatan pembuatan program computer.
Kemudian terdapat pula istilah
bahasa pemrograman yang
berarti bahasa yang digunakan dalam pembuatan program komputer.
Berdasarkan pengertian algor itma dan pemrograman, maka dapat
dikatakan bahwa progr am merupakan hasil penerapan dari algoritma-
algoritma. Akan tetapi, dalam buku ini tidak dibahas materi
mengenai pembuatan program komputer. Buku ini memfokuskan
teknik-teknik pembuatan algoritma itu sendir i. Nama mata kuliah
Algor itma dan Pemrogr aman dalam hal ini berarti mempelajari pembuatan
algoritma- algoritma yang dapat diterapkan dalam pemrograman.
- B. Tipe-tipe Algoritma Berdasarkan Format Penulisan
Algoritma adalah independen terhadap bahasa pemr ograman
tertentu, artinya algoritma yang telah dibuat tidak boleh hanya
dapat diterapkan pada bahasa pemrograman tertentu. Penulisan
algoritma tidak ter ikat pada suatu aturan tertentu, tetapi harus
jelas maksudnya untuk tiap langkah algoritmanya. Namun pada dasar nya
algoritma dibagi menjadi beberapa macam berdasarkan for mat
penulisannya, yaitu:
- 1. Deskriptif
Algoritma bertipe deskr iptif maksudnya adalah algoritma yang
ditulis dalam bahasa manusia sehari- hari (misalnya bahasa Indonesia
atau bahasa Inggris) dan dalam bentuk kalimat. Setiap langkah
algoritmanya diterangkan dalam satu atau beberapa kalimat.
Sebagai contoh misalnya algoritma menentukan bilangan terbesar dari 3 bilangan berikut ini:
Algoritma Menentukan_bilangan_terbesar_dari_3_bilangan
- Meminta input 3 bilangan dari user, misalkan bilangan a, b, dan c.
- Apabila bilangan a lebih besar dari b maupun c, maka bilangan a merupakan bilangan terbesar.
- Jika tidak (bilangan a tidak lebih besar dari b atau c)
berarti bilangan a sudah pasti bukan bilangan terbesar.
Kemungkinannya tinggal bilangan b atau c. Apabila bilangan b
lebih besar dari c, maka b merupakan bilangan terbesar.
Sebaliknya apabila bilangan b tidak lebih besar dari c, maka bilangan
c merupakan yang terbesar.
- Selesai.
- 2. Flow Chart (Diagram Alir)
Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam
bentuk diagram- diagram dengan anak panah sebagai penunjuk urutan
langkah algoritmanya. Algor itma yang ditulis dengan simbol-simbol
demikian yang dinamakan
flow chart .
Mengenai lambang- lambang yang digunakan akan dibahas pada
bagian selanjutnya. Sekarang diberikan suatu contoh algoritma menentukan
bilangan terbesar dar i 3 bilangan seperti yang dicontohkan sebelumnya,
tetapi ditulis dalam bentuk flow chart.
- 3. Pseudocode
Pseudo berarti imitasi dan
code
ber arti kode yang dihubungkan dengan instruksi yang ditulis dalam
bahasa komputer (kode bahasa pemrograman). Apabila diterjemahkan
secar a bebas, maka pseudocode berarti tiruan atau imitasi dari
kode bahasa pemrograman. Pada dasarnya, pseudocode merupakan suatu
bahasa yang memungkinkan programmer untuk berpikir terhadap per
masalahan yang harus dipecahkan tanpa harus memikirkan
syntax dar i bahasa pemrogr aman yang tertentu. Tidak ada aturan penulisan
syntax
di dalam pseudocode. Jadi pseudocode digunakan untuk
menggambarkan logika urut-urutan dari program tanpa memandang bagaimana
bahasa pemrogramannya.
Walaupun pseudocode tidak ada aturan penulisan syntax, di dalam buku
ini akan diberikan suatu aturan-aturan penulisan syntax yang cukup
seder hana agar pembaca dapat lebih mudah dalam mempelajari
algoritma-algor itma yang ada di dalam buku ini. Pseudocode yang
ditulis di dalam buku ini akan menyerupai (meniru) syntax-
syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin sehingga
tidak akan ada kesulitan bagi pembaca untuk memahami algoritma-
algor itma dalam buku ini walaupun pembaca belum pernah mempelajar i
bahasa Pascal.
Contoh algoritma menentukan bilangan terbesar dar i tiga
bilangan yang ditulis dalam bentuk pseudocode bergaya buku ini.
01| ALGORITMA Menentukan_terbesar_dari_3_bilangan
02| Deklarasi:
03| a,b,c, terbesar : integer
04|
05| Deskripsi:
06| Read(a,b,c)
07| If (a>b) and (a>c) then
08| Terbesar a
09| Else
10| If b>c then
11| Terbesar b
12| Else
13| Terbesar c
14| Endif
15| Endif
16| Write(terbesar)
- C. Flow Chart (Diagram Alir)
- 1. Pengertian
Diagram alir atau flow chart adalah suatu bagan yang menggambarkan
arus logika dar i data yang akan dipr oses dalam suatu program dari
awal sampai akhir. Diagram alir terdiri dar i simbol-simbol yang
mewakili fungsi-fungsi langkah program dan garis alir (flow lines)
menunjukkan urutan dari simbol-simbol yang akan diker jakan.
- 2. Simbol-simbol Flow Chart
- Simbol terminal (terminator )
digunakan untuk menunjukkan awal dan akhir algoritma
- Simbol persiapan (preparation)
digunakan untuk memberikan nilai awal suatu variabel atau suatu counter
- Simbol proses (process)
digunakan untuk proses perhitungan aritmatika atau proses pemindahan data
- Simbol Data (data)
digunakan untuk menunjukkan proses input maupun output data.
- Simbol Keputusan (decision)
digunakan untuk pengambilan keputusan dua jalur atau lebih dalam flow chart.
- Simbol Penghubung (on-page refer ence)
digunakan untuk menunjukkan hubungan arus flow chart yang terputus, tetapi masih dalam halaman yang sama.
- Simbol Penghubung Halaman Lain (off- page reference)
digunakan untuk menunjukkan hubungan arus flow chart yang terputus yang berada di halaman lain.
- 3. Bentuk-bentuk Dasar Struktur Logika Flow Chart
- Runtunan (Sequence Structure)
- Pemilihan/Percabangan IF (Selection Structure)
- Pengulangan FOR (FOR Loop Structur e)