Anda di halaman 1dari 28

Yulianus Sirampun, ST.

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.

Ditanyakan : tentang problem yang harus diselesaikan oleh programmer.

Jawaban : solusi dan pemecahan masalah yang ditulis dalam instruksi yang dimengerti dan dapat dikerjakan
oleh komputer.

Yulianus Sirampun, ST.


Jenis-jenis algoritma dalam pemrograman
Agar bisa digunakan untuk menyelesaikan suatu persoalan, maka algoritma pemrograman harus memiliki ciri-
ciri berikut ini :

1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah tertentu.


2. Setiap langkah di dalam algoritma harus didefinisikan dengan tepat dan jelas, tidak ambigu.
3. Algoritma memiliki masukan (input) berjumlah nol atau lebih.
4. Algoritma memiliki keluaran (output) berjumlah nol atau lebih.
5. Algoritma harus memiliki sifat efektif dan efisien, dimana setiap langkah yang tertulis harus sederhana,
ringkas dan logis, sehingga dapat diselesaikan dalam waktu yang singkat.

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 :

Algoritma Narasi (bahasa natural)


Contohnya : Algoritma Kelulusan_mhs

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.

Yulianus Sirampun, ST.


Algoritma Pseudo Code

Contohnya : Algoritma Kelulusan_mhs

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.

Yulianus Sirampun, ST.


Maka untuk menyelesaikan persoalan tersebut, langkah – langkahnya ialah sebagai berikut :

Read (nama,nilai)

If nilai >= 60 then

Keterangan = ‘lulus’

Else

Keterangan = ‘tidak lulus’

Write(nama,keterangan)

Yulianus Sirampun, ST.


Algoritma Flowchart

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.

Yulianus Sirampun, ST.


Setelah mengetahui jenis – jenis algoritma , kini kita perlu mengetahui bagaimana algoritma ini bekerja. Berikut
ini ialah penjabaran tentang Cara kerja algoritma pemrograman .

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.

Yulianus Sirampun, ST.


Ada juga beberapa istilah algoritma yang perlu kita ketahui terlebih dahulu, yakni variable dan tipe data. Untuk
memahami apa itu variable dan tipe data, mari kita simak kasus berikut.

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.

Kini, gelas A berisi susu, sementara gelas B berisi sirup.

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 :

Yulianus Sirampun, ST.


Judul : program tukar_gelas

Deklarasi :

var

a : cairan {gelas A}

b : cairan {gelas B}

c : cairan {gelas C}

Yulianus Sirampun, ST.


Algoritma

a <- Sirup

b <- Susu

c <- a {tuangkan isi gelas A pada gelas C}

a <- b {tuangkan isi gelas B pada gelas A}

b <- c {tuangkan isi gelas C pada gelas B)

Yulianus Sirampun, ST.


Pemahaman terhadap algoritma pemrograman adalah hal penting yang harus dimiliki oleh setiap programmer.
Pemahaman tersebut tidak hanya mencakup definisi serta sistem kerjanya saja, melainkan juga fungsi penting
dari algoritma itu sendiri.

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.

Yulianus Sirampun, ST.


Menyederhanakan program besar

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.

Yulianus Sirampun, ST.


Menyederhanakan program besar

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.

Yulianus Sirampun, ST.


Mempermudah proses perbaikan

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.

Yulianus Sirampun, ST.


Apa kaitan antara Algoritma pemrograman dan String ?

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”).

String dapat dioleh dalam tiga cara berikut :

Yulianus Sirampun, ST.


Penggabungan

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

Yulianus Sirampun, ST.


Algoritma :

Kata 1 <- ‘kamu suka kopi’

Kata 2 <- ‘karena rasanya lezat’

Hasil <- kata 1 + kata 2

Write (hasil)

Hasil dari algoritma tersebut adalah : kamu suka kopi karena rasanya lezat.

Yulianus Sirampun, ST.


Deskripsi :

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.

Yulianus Sirampun, ST.


Substring (variable_string, index_awal, jumlah_karakter)

fungsinya untuk mengambil beberapa karakter dari sebuah tulisan yang dimulai dari index awal sebanyak n
karakter.

Misalnya variable string c diisi dengan nilai ‘bahagia itu sederhana’

Maka, substring (x,1,5) -> untuk mengambil 5 karakter dari isi variabel x yang dimulai dari urutan karakter ke 1.

Dengan demikian, hasil yang akan ditampilkan ialah teks bahag.

Yulianus Sirampun, ST.


left (variable_string, jumlah_karakter)

fungsinya untuk mengambil beberapa karakter dari sebelah kiri sebanyak n karakter.

Misalnya Variable string o diisi dengan nilai ‘bahagia itu sederhana’

Maka, left (o,7) -> untuk mengambil sejumlah 7 karakter dari sebelah kiri, sehingga hasilnya akan menampilkan
kata bahagia.

Yulianus Sirampun, ST.


right (variable_string , jumlah_karakter)

fungsinya untuk mengambil beberapa karakter dari kanan sejumlah n karakter.

Misalnya Variable string b diisi dengan nilai ‘bahagia itu sederhana’

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 :

Yulianus Sirampun, ST.


program pemecahan_string Algoritma :

Deklarasi C : ‘bahagia itu sederhana’

C : string B : ‘jika kamu’

B : string O : ‘bersyukur’

O : string Hasil <- substring (C,1,5)

Hasil : string Writeln (‘hasil operasi substring : ‘,hasil’)

Hasilnya akan menjadi : bahag

Yulianus Sirampun, ST.


Konversi data

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 :

Algoritma contoh_casting Algoritma

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)

String pendek = pattern[0…n-1]

String panjang = teks[0…m-1]

Menurut arah pencariannya, algoritma string matching ini diklasifikasikan ke dalam 3 kategori, yakni :

Dari arah kiri ke kanan


Alur ini paling alami karena searah dengan arah membaca. Algoritma ini terdiri dari algoritma Brute Force dan
algoritma Morris dan Prat.

Yulianus Sirampun, ST.


Dari arah kanan ke kiri

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.

Dari arah yang ditentukan secara spesifik oleh algoritma tersebut


Kategori ini biasanya menghasilkan hasil terbaik dilihat dari segi teori. Beberapa contoh algoritma yang termasuk
ke dalam kategori ini ialah, algoritma Colussi dan algoritma Crochemore-Perrin.

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]

Yulianus Sirampun, ST.


SEKIAN DAN TERIMA KASIH

Anda mungkin juga menyukai