PENGERTIAN ALGORITMA
DAN PEMROGRAMAN
1. PENGERTIAN ALGORITMA DAN
PEMROGRAMAN
Menurut kamus besar bahasa indonesia terbitan balai pustaka tahun
1988, “algoritma adalah urutan logis pengambilan putusan untuk pemecahan
masalah”. Menurut Microsoft Book-shelf, “algoritma adalah urutan langkah
berhingga untuk memecahkan masalah logika atau matematika”. Berdasarkan defenisi-defenisi
tersebut maka dapat disimpulkan, “algoritma adalah urutan langkah-langkah logis
yang berhingga yang digunakan untuk memecahkan masalah”. Langkah-langkah di
dalam algoritma harus logis, ini berarti hasil dari urutan langkah- langkah
tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak
benar dapat memberikan hasil yang salah. Menurut Donald E. Knuth dalam bukunya
yang berjudul “the art of computer programming”, algoritma harus mempunyai lima
ciri penting: 1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah.
Suatu program yang tidak pernah berhenti adalah program yang berisi algoritma
yang salah. 2. Setiap langkah harus didefenisikan dengan tepat dan tidak
berarti-dua (ambigu). 3. Algoritma memiliki nol atau lebih masukan (input).
Masukan adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai
bekerja. 4. Algoritma mempunyai nol atau lebih keluaran (output). Keluaran
ialah besaran yang memiliki hubungan dengan masukan. 5. Algoritma harus sangkil
(efektif). Setiap langkah harus sederhana sehingga dapat dikerjakan dalam
sejumlah waktu yang masuk akal. Algoritma adalah jantung ilmu komputer atau
informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi
algoritma. Namun demikian, jangan beranggapan algoritma selalu identik dengan
ilmu komputer saja. Dalam kehidupan sehari-haripun banyak proses yang
digambarkan dalam suatu algoritma.
2. Realisasi algoritma dalam bahasa pemrograman disebut dengan
program. Sedangkan pemrograman adalah kegiatan mengkonversi algoritma ke dalam
bahasa pemrograman. Bahasa pemrograman atau bahasa komputer adalah teknik
komunikasi standar untuk memerintah komputer. Bahasa pemrograman adalah suatu
set aturan sintaks dan semantik yang dipakai untuk mendefinisikan program
komputer. Suatu bahasa memungkinkan seorang programmer secara persis menentukan
data yang mana akan diolah oleh komputer, bagaimana data ini akan
disimpan/diteruskan, dan langkah apa secara persis yang akan diambil dalam
berbagai situasi. NOTASI ALGORITMA Notasi algoritma merupakan hal dasar yang
harus diketahui oleh setiap orang yang ingin membuat suatu pogram, karena dalam
notasi algoritma inilah terdapat instruksi atau langkah-langkah suatu program.
Notasi algoritma bukan notasi bahasa pemrograman, karena itu program dalam
notasi algoritma tidak dapat dijalankan oleh komputer. Notasi algoritma bukan
notasi bahasa pemrograman, sehingga siapapun dapat membuat notasi algoritma
yang berbeda. Ciri notasi algoritma yang baik yaitu dapat diterjemahkan ke
dalam berbagai bahasa pemrograman. Hal yang penting mengenai notasi tersebut
adalah mudah dibaca dan dimengerti. Di bawah ini ada 3 notasi yang umum
digunakan dalam penulisan algoritma, yaitu : 1. Notasi Alami 2. Flowchart /
Diagram Alur 3. Pseudocode a. Notasi Alami Penulisan algoritma dengan notasi
alami adalah dengan cara menuliskan instruksi- instuksi yang harus dilaksanakan
untuk memecahkan masalah dalam bentuk untaian kalimat deskriptif.
3. Dengan notasi bergaya kalimat ini, deskripsi setiap langkah
dijelaskan dengan bahasa yang gamblang. Proses diawali dengan kata kerja
seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan sebagainya, sedangkan pernyataan
kondisional dinyatakan dengan ‘jika…maka…’. Notasi ini bagus untuk algoritma
yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas
tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa
pemrograman cenderung relative sukar. Contoh:
Algoritma_Menghitung_Luas_Persegi_Panjang Langkah 1: Baca nilai panjang.
Langkah 2: Baca nilai lebar. Langkah 3: Kalikan nilai panjang dengan nilai
lebar dan berikan nilainya ke hasil. Langkah 4: Tampilkan nilai hasil. b.
Flowchart / Diagram Alir Flowchart adalah gambaran dalam bentuk diagram alir
dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program
tersebut. Diagram alur lebih menggambarkan aliran instruksi di dalam program
secara visual dibanding memperlihatkan struktur program. Notasi diagram alur
lebih cocok digunakan untuk masalah yang kecil, untuk masalah yang besar tidak
cocok digunakan karena membutuhkan berlembar halaman kertas. Selain itu,
pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif sukar.
Berikut adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart
: SIMBOL NAMA FUNGSI TERMINATOR Permulaan/akhir program GARIS ALIR (FLOW LINE)
Arah aliran program
4. PREPARATION Proses inisialisasi/pemberian harga awal PROSES
Proses perhitungan/proses pengolahan data INPUT/OUTPUT DATA Proses input/output
data, parameter, informasi PREDEFINED PROCESS (SUB PROGRAM) Permulaan sub
program/proses menjalankan sub program DECISION Perbandingan pernyataan,
penyeleksian data yang memberikan pilihan untuk langkah selanjutnya ON PAGE
CONNECTOR Penghubung bagian-bagian flowchart yang berada pada satu halaman OFF
PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada halaman
berbeda Contoh Flowchart:
5. Flowchart_Menghitung_Luas_Persegi_Panjang c. Pseudocode
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat
tinggi, khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi
yang hampir mirip untuk beberapa instruksi seperti notasi if-then-else,
while-do, repeat-until, read, write, dan sebagainya. Namun tidak seperti bahasa
pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran,
kata-kata khusus, dan sebagainya, sembarang versi Pseudocode dapat diterima
asalkan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi
Pseudocode adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena
terdapat korespodensi antara setiap Pseudocode dengan notasi bahasa
pemrograman. Sehingga Pseudocode cocok untuk algoritma yang rumit. Contoh
notasi pseudocode adalah sebagai berikut: Mulai Selesai Baca nilai panjang Baca
nilai lebar Hasil=panjang * lebar Tampilkan nilai Hasil
6. Algoritma_Menghitung_Luas_Persegi_Panjang DEKLARASI: Panjang :
integer Lebar : integer Luas : integer DESKRIPSI: read (Panjang) read (Lebar)
Luas Panjang * Lebar write (Luas) Aturan penulisan algoritma dalam notasi
pseudocode. Dalam pseudocode algoritma terbagi atas 3 bagian, yaitu : a. Judul
Algoritma Judul algoritma adalah bagian yang terdiri atas nama algoritma dan
penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya
singkat namun cukup menggambarkan apa yang dilakukan oleh algoritma tersebut.
Contoh judul algoritma: Algoritma LUAS_PERSEGIPANJANG { Menghitung luas persegi
panjang. Algoritma menerima masukan panjang dan lebar, menghitung luas, lalu
mencetak luas persegi panjang ke piranti keluaran } Keterangan: Algoritma
LUAS_PERSEGIPANJANG merupakan judul algoritma, sedangkan yang di dalama kurung
kurawal ({ }) merupakan spesifikasi atau penjelasan singkat tentang algoritma
luas persegi panjang. b. Deklarasi Bagian deklarasai berguna untuk
mendefenisikan semua nama yang dipakai dalam algoritma. Nama tersebut dapat berupa
nama tetapan, nama peubah (variable), nama tipe, nama prosedur, dan nama
fungsi. Contoh deklarasi:
7. DEKLARASI { nama peubah (variable) } p : integer { tempat
menampung data panjang } l : integer { tempat menampung data lebar } L :
integer { tempat menampung data hasil penghitungan luas } c. Deskripsi
Deskripsi merupakan bagian inti dari suatu algoritma. Bagian ini berisi uraian
langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dalam
notasi yang akan di jelaskan pada bab selanjutnya. Misalnya notasi write
digunakan untuk mencetak data/informasi, notasi read digunakan untuk membaca
data, dan lain sebagainya. Setiap langkah algoritma dibaca dari “atas” ke
“bawah”. Urutan penulisan menentukan urutan pelaksanaan perintah. Contoh
deskripsi: DESKRIPSI read (Panjang) read (Lebar) Luas Panjang * Lebar write
(Luas) Keterangan: Lambang berarti penugasan atau penginputan