Apa Itu Algoritma ?
algoritma diserap dari Bahasa Inggris algorithm. Kata algorithm sendiri sebenarnya bukan dari kata asli bahasa Inggris, melainkan berasal dari kata algorism yang berarti “proses menghitung dengan angka Arab”. Para ahli matematika meyakini bahwa kata algorism berasal dari nama penulis buku berkebangsaan Arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khwarizmi (770-840 M), orang barat melafalkan Al-Khwarizmi sebagai Algorism. Pengertian algoritma adalah logika, metode, dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Algoritma dapat juga diartikan sebagai urutan langkah secara sistematis dan logis. Dalam perkembangannya, algoritma banyak dipakai di bidang komputer.
Fungsi Algoritma
- Sebagai acuan dalam menulis program ke dalam bahasa pemrograman
- Sebagai acuan dalam mendebug dan mengoreksi kesalahan program
Ciri-ciri penting yang wajib dimiliki sebuah algoritma :
1. Finiteness, harus berakhir untuk semua kondisi setelah memproses sejumlah langkah.
2. Definiteness, setiap langkah harus dinyatakan dengan jelas (tidak rancu atau mendua-arti)
3. Masukan, dapat tidak memiliki masukan, dapat satu masukan atau beberapa masukan
4. Keluaran, harus ada keluaran
5. Efektivitas, semua operasi harus sederhana dan dapat dikerjakan dalam waktu yang terbatas
Tiga buah struktur dasar yang digunakan dalam menyusun sebuah algoritma :
1. Sekuensial,
2. Pencabangan/seleksi
3. Pengulangan/looping
Pseudocode berupa kode-kode yang mendekati bahasa program
Bagan alir / flowchart berupa gambar berisi simbol-simbol proses, masukan/keluaran dll
Ketentuan dalam Penulisan Pseudocode
- Notasi <= digunakan untuk memberikan nilai ke suatu variabel. Contoh bil<=5
- Setiap pernyataan atau perintah yang dapat berdiri sendiri, akan ditulis dalam sebuah baris tersendiri. Contoh bil<=1+2
- Setiap variabel ditulis dengan awalan huruf. Awalan huruf kecil untuk variabel non larik, awalan huruf besar untuk variabel larik.
- Tipe data majemuk atau rekaman dinyatakan sebagai :
simpul = REKAMAN
data1
data2
data3
AKHIR REKAMAN
- Indentasi atau tab digunakan untuk menuliskan pernyataan-pernyataan yang berada dalam suatu struktur blok.
- Sombol // untuk menyatakankomentar
- Notasi masukan () mewakili perintah untuk masukan , notasi keluaran () mewakili perintah untuk keluaran
- Ada dua nilai logika yaitu BENAR dan SALAH, tanda relasional >, <, =, 'lebih kecil dari', 'lebih besar dari', 'tidak sama dengan'.
- Notasi A[i] menyatakan elemen ke-i pada larik A
- Notasi panjang(A) menyatakan ekspresi untuk memperoleh jumlah elemen pada A
Contoh pseudocode
Pseudocode program untuk menjumlahkan dua bilangan a dan b !
Mulai
a<=nilai
b<=nilai
jumlah<=a+b
Selesai
Bentuk pencabangan/seleksi IF-THEN
JIKA kondisi benar MAKA
Pernyataan_1
...
SEBALIKNYA
Pernyataan_2
...
AKHIR JIKA
Contoh pseudocode
Pseudocodeprogram untukmengecek status bilangan input, positif atau negatif !
Mulai
a<=nilai
JIKA a>0 MAKA tampilkan
“positif”
SEBALIKNYA tampilkan
“negatif”
Selesai
Bentuk pencabangan/seleksi SWITCH-CASE
COCOK nilai
DENGAN nilai_1 MAKA
Pernyataan_11
...
DENGAN nilai_2 MAKA
Pernyataan_21
...
LAINNYA
Pernyataan_N1
...
AKHIR_COCOK
Bentuk pengulangan dengan for
UNTUK variabel <= awal S/D akhir
LANGKAH langkah
Pernyataan 1 Pernyataan 2
…
AKHIR-UNTUK
Bentuk pengulangan dengan while
ULANG SELAMA kondisi
Pernyataan 1
Pernyataan 2
…
AKHIR-ULANG
ALGORITMA : STRUKTUR DASAR BAGAN ALIR/ FLOW CHART
Simbol-simbol Bagan alir
Simbol-simbol Bagan Alir |
Sekuensial, langkah-langkah yang dilakukan dalam algoritma diproses secara berurutan sebagaimana terlihat pada gambar di bawah
Struktur Sekuensial |
Pseudocode :
p<=panjang
l<=lebar
k<=2*(p+l)
Tampilkan (k)
Seleksi/pencabangan, menyatakan pemilihan langkah yang didasarkan oleh suatu kondisi/syarat (pengambilan keputusan).
Diagram alir struktur pencabangan |
Pengulangan/looping, menyatakan suatu tindakan atau langkah yang dijalankan beberapa kali.
(Pada struktur pengulangan tersebut, prosedur dapat berupa satu atau beberapa perintah.
Struktur Perulangan (Looping) |
Sebelum prosedur dijalankan pertama kali, kondisi diuji dulu. Sekiranya kondisi bernilai benar maka prosedur dijalankan dan kemudian kondisi diuji lagi. Sepanjang kondisi bernilai benar, prosedur akan tetap dijalankan. Namun begitu kondisi bernilai salah maka pengulangan akan berakhir.
Masukan (jum_ulang)
indeks <=0
WHILE Indeks<=jum_ulang
Tampilkan (“Pemrograman Mengasyikan”) indeks<=indeks+1
AKHIR-WHILE