Menguasai algoritma pemrograman dasar adalah hal wajib bagi setiap programmer, baik programmer pemula
maupun profesional. Hal itu karena algoritma adalah tumpuan dasar dalam menyelesaikan bermacam
permasalahan yang ada.
Jika ditilik lebih jauh, algoritma pemrograman didefinisikan sebagai urutan langkah logis tertentu untuk
memecahkan suatu persoalan. Algoritma bahasa pemrograman secara garis besar menekankan pada urutan
langkah logis yang diatur secara sistematis sesuai dengan aturan yang berlaku, sehingga tidak boleh ada langkah
yang diloncat.
Secara bahasa, istilah algoritma dicetuskan pertama oleh Abu Ja’far Mohammed Ibn Musa Al – Khowarizmi,
seorang ilmuwan terkenal asal Persia yang juga berkontribusi besar pada kemajuan ilmu pengetahuan di
berbagai bidang seperti Matematika, Astronomi, Astrologi, dan Geografi.
Saat itu, istilah algoritma muncul pada buku bertajuk Al Jabr W’Al-Muqabala yang diterbitkan pada tahun 825
M. Dalam buku tersebut dijelaskan pengertian algoritma bahasa pemrograman, adalah alur pemikiran yang
dituangkan dalam bentuk tulisan, dimana alur tersebut dapat berupa gambar, tulisan, hingga tabel.
Yulianus Sirampun, ST.
Seberapa penting mempelajari algoritma?
Algoritma adalah hal dasar yang perlu kita kuasai sebelum berkecimpung di dunia bahasa pemrograman. Lalu,
darimana harus mulai belajar algoritma?
Pertama–tama kita perlu memahami pengertian dari algoritma secara logika, kemudian memahami seperti apa
ciri – ciri algoritma, dan terakhir mengetahui apa saja jenis-jenis algoritma.
Seperti matematika, algoritma dibangun oleh tiga bagian spesifik berikut ini :
Diketahui : berbagai informasi yang dibutuhkan oleh seorang programmer dalam memecahkan suatu problem.
Jawaban : solusi dan pemecahan masalah yang ditulis dalam instruksi yang dimengerti dan dapat dikerjakan
oleh komputer.
Dalam ilmu komputer, algoritma pemrograman digunakan untuk menyelesaikan berbagai persoalan yang
berkaitan dengan komputasi numerik. Algoritma ini juga berfungi sebagai jembatan komunikasi antara manusia
dan mesin canggih bernama komputer untuk bisa menyelesaikan suatu permasalahan.
Berdasarkan tingkat kesulitannya, Algoritma pemrograman terbagi ke dalam 3 jenis, yaitu algoritma tingkat
tinggi (high level language), tingkat menengah (medium level language), dan tingkat rendah (low level
language). Setiap Jenis algoritma tersebut memiliki tingkat kesulitan yang berbeda – beda, namun memiliki
tujuan yang sama.
Yulianus Sirampun, ST.
Berikut ini ialah 3 Jenis algoritma pemrograman :
Pokok permasalahan : Mengklasifikasikan status kelulusan mahasiswa berdasarkan data yang diberikan.
Data tersebut berupa nama dan nilai mahasiswa, dimana nilai tersebut memiliki besaran yang bervariasi mulai
dari 0 hingga 100. Jika nilai yang dimiliki seorang mahasiswa lebih besar atau sama dengan 60 maka mahasiswa
tersebut dinyatakan lulus. Sementara, jika nilai dibawah 60 maka mahasiswa tersebut dinyatakan tidak lulus.
Pokok permasalahan : Mengklasifikasikan status kelulusan mahasiswa berdasarkan data yang diberikan.
Data tersebut berupa nama dan nilai mahasiswa, dimana nilai tersebut memiliki besaran yang bervariasi mulai
dari 0 hingga 100. Jika nilai yang dimiliki seorang mahasiswa lebih besar atau sama dengan 60 maka mahasiswa
tersebut dinyatakan lulus. Sementara, jika nilai dibawah 60 maka mahasiswa tersebut dinyatakan tidak lulus.
Read (nama,nilai)
Keterangan = ‘lulus’
Else
Write(nama,keterangan)
Jenis algoritma pemrograman berikutnya ialah Algoritma Flowchart yang biasanya digunakan untuk merancang
sebuah program komputer. Urutan langkah – langkah dalam algoritma flowchart bersifat sekuensial atau
berkesinambungan dan ditulis dalam bentuk bagan (chart), dimana jalannya proses dimulai dari atas (start) ke
bawah (end) dan ditandai dengan tanda panah.
Dalam pembuatan flowchart tidak ada kaidah yang baku. Flowchart juga dapat bervariasi antara satu
pemrograman dengan pemrograman yang lain, namun secara garis besar flowchart terdiri dari 3 bagian yakni,
input, proses, dan output.
Dalam menyusun algoritma pemrograman , kita perlu mengetahui 3 hal berikut ini :
Judul
Judul adalah bagian yang terdiri atas nama algoritma dan penjelasannya. Sebaiknya judul disusun dengan
kalimat yang singkat dan definitif.
Deklarasi
Deklarasi adalah bagian untuk mendeskripsikan semua nama di dalam program. Nama itu bisa berupa nama
tetapan, peubah, tipe, prosedur, dan fungsi.
Deskripsi
Deskripsi adalah bagian yang berisi urutan langkah – langkah penyelesaian masalah yang ditulis secara
sistematis menggunakan notasi tertentu.
Kasus : Terdapat 2 gelas bernama A dan B. Gelas A berisi sirup, gelas B berisi susu.
Perintah : Menukarkan isi gelas masing – masing, sehinga gelas A berisi susu dan gelas B berisi sirup.
Solusi : Sediakan gelas kosong, beri nama gelas C. Kemudian, tuangkan sirup dari gelas A ke gelas C, lalu
tuangkan susu dari gelas B ke gelas A. terakhir, tuang sirup dari gelas C ke gelas B. Selesai.
Pada kasus di atas, gelas berperan sebagai variable dan isinya (sirup dan susu) disebut sebagai tipe data. Dari
sini bisa ditarik kesimpulan bahwa variable adalah wadah yang menampung tipe data.
Jika diterjemahkan dalam algoritma, maka akan menjadi seperti berikut ini :
Deklarasi :
var
a : cairan {gelas A}
b : cairan {gelas B}
c : cairan {gelas C}
a <- Sirup
b <- Susu
Suatu algoritma membawa fungsi penting dalam aktivitas penyusunan program. Berikut ini adalah beberapa
fungsi algoritma dalam dunia pemrograman.
Menyelesaikan masalah
Algoritma digunakan untuk mengatasi permasalahan rumit dalam suatu program yang kemungkinan juga
melibatkan perhitungan tingkat tinggi. Namun, seringkali program yang dibuat tidak berjalan seperti yang
diinginkan karena adanya beberapa kesalahan dalam menyusun algoritma.
Algoritma juga memiliki peran cukup dominan dalam menyederhanakan proses pembuatan program yang
cukup rumit. Selain itu, penggunaan kode juga akan lebih sistematis dan terarah jika menggunakan algoritma
yang tepat.
Tidak hanya itu, menggunakan algoritma akan membuat suatu program mudah untuk dikembangkan. Itu karena
script yang dibuat secara urut dan sistematis akan mempermudah kita untuk menambahkan fungsi baru ke
dalam program tersebut.
Penggunaan algoritma juga dapat meminimalisir pembuatan program secara berulang – ulang. Sehingga untuk
membuat program baru, kita tidak perlu lagi memulai dari awal, tetapi cukup menerapkan algoritma yang sama
pada program yang akan kita garap. Dengan demikian, berbagai aktivitas pemrograman dapat berjalan efektif
dan efisien.
Algoritma juga memiliki peran cukup dominan dalam menyederhanakan proses pembuatan program yang
cukup rumit. Selain itu, penggunaan kode juga akan lebih sistematis dan terarah jika menggunakan algoritma
yang tepat.
Tidak hanya itu, menggunakan algoritma akan membuat suatu program mudah untuk dikembangkan. Itu karena
script yang dibuat secara urut dan sistematis akan mempermudah kita untuk menambahkan fungsi baru ke
dalam program tersebut.
Penggunaan algoritma juga dapat meminimalisir pembuatan program secara berulang – ulang. Sehingga untuk
membuat program baru, kita tidak perlu lagi memulai dari awal, tetapi cukup menerapkan algoritma yang sama
pada program yang akan kita garap. Dengan demikian, berbagai aktivitas pemrograman dapat berjalan efektif
dan efisien.
Dalam aktivitas pemrograman, kita akan menemukan berbagai kesalahan yang menganggu kinerja suatu
program. Jika kita kesulitan dalam mencari dimana letak kesalahan tersebut , maka penerapan algoritma akan
sangat memudahkan proses pencarian kesalahan. Tidak hanya itu, proses perbaikan juga dapat berjalan lebih
cepat dan efektif.
Bahkan ketika kita ingin memodifikasi suatu program, kita dapat melakukannya hanya pada satu modul saja
tanpa mengganggu modul lainnya. Hal tersebut karena program kita tersusun dari script yang tersusun rapi dan
sistematis, sehingga proses modifikasi dapat dilakukan dengan mudah.
Jadi begini, dalam algoritma yang kita mengenal beberapa jenis operasi, diantaranya ialah operasi aritmatika
dan operasi string.
Dalam algoritma, operasi string adalah proses pemecahan masalah yang berkaitan dengan pengolahan teks atau
tulisan.
Ada beberapa cara untuk mengolah string, yakni penggabungan, pemecahan, konversi data (casting), dan
operasi string lainnya. Biasanya, nilai dari variable dengan tipe data string diapit oleh tanda kutip tunggal
(contoh : ‘kamu’), namun pada implementasinya pada beberapa bahasa pemrograman, nilai dari variable ber-
tipe data string juga ditulis dalam tanda kutip ganda (contoh : “kamu”).
Dalam algoritma pemrograman , variable ber-tipe data string dapat diolah dengan operasi penggabungan.
Contoh :
Algoritma_operasi_penggabungan
Deklarasi
Kata 1 : string
Kata 2 : string
Hasil : string
Write (hasil)
Hasil dari algoritma tersebut adalah : kamu suka kopi karena rasanya lezat.
Deklarasikan variabel ber-tipe data string yaitu kata1, kata2 dan hasil. Sesudah itu, variable kata1 diisi dengan
tulisan ‘kamu suka kopi’, sementara pada variable kata2 diisi dengan ‘karena rasanya lezat’.
Penggabungan isi dari variable kata1 dan kata2 menggunakan operator + diletakkan ke variable hasil. Setelah
itu, isi pada variabel hasil akan dicetak di layar dengan perintah write.
Pemecahan
Operasi pemecahan string bertujuan untuk mendapatkan sebagian kata yang diinginkan dari suatu string
(tulisan). Misalnya, pengambilan beberapa karakter dari sebelah kiri, kanan atau urutan tertentu.
Dalam algoritma, operasi pemecahan umumnya digunakan dalam bahasa pemrograman Pascal. Berikut ini ialah
contoh pemecahan string menggunakan algoritma dengan pendekatan bahasa pemrograman Pascal.
fungsinya untuk mengambil beberapa karakter dari sebuah tulisan yang dimulai dari index awal sebanyak n
karakter.
Maka, substring (x,1,5) -> untuk mengambil 5 karakter dari isi variabel x yang dimulai dari urutan karakter ke 1.
fungsinya untuk mengambil beberapa karakter dari sebelah kiri sebanyak n karakter.
Maka, left (o,7) -> untuk mengambil sejumlah 7 karakter dari sebelah kiri, sehingga hasilnya akan menampilkan
kata bahagia.
Maka, right (b,9) -> untuk mengambil 9 karakter dari sebelah kanan sehingga hasil yang akan ditampilkan ialah
tulisan sederhana.
Jika salah satu metode pemecahan string diatas diterapkan secara langsung maka akan seperti ini :
B : string O : ‘bersyukur’
Konversi data bertujuan untuk mengkonversi nilai dari satu tipe data ke jenis tipe data lain, misalnya mengubah
suatu angka dari tipe data string menjadi bilangan.
Sebagai contoh :
Deklarasi Y : ‘100’
Y : integer X : 2000
X : string
Jumlah : integer Jumlah <- Integer.parseInt(x)+y
Writeln(jumlah)
Yulianus Sirampun, ST.
Ada juga Algoritma Pencarian String atau dikenal juga dengan algoritma string matching, yaitu algoritma yang
digunakan untuk melakukan pencarian semua kemunculan string pendek (patterns) dan string panjang (teks)
Menurut arah pencariannya, algoritma string matching ini diklasifikasikan ke dalam 3 kategori, yakni :
Kategori ini memiliki arah seperti bacaan dalam bahasa Arab. Biasanya algoritma ini menghasilkan output terbaik
secara praktikal, misalnya algoritma Boyer dan Moore yang kemudian dikembangkan menjadi algoritma Turbo
Boyer – Moore, algoritma tuned Boyer – Moore, dan algoritma Zhu Takaoka.
Itulah hal – hal yang perlu kita ketahui dalam Algoritma pemrograman basic. Sebagai pendatang baru,
mempelajari Algoritma pemrograman dasar adalah hal pertama yang harus kita lakukan sebelum mulai
mempelajari dunia pemrograman lebih jauh. Selamat mencoba!
[application-about]