Anda di halaman 1dari 8

Pengertian Algoritma

Algoritma adalah logika, metode dan tahapan “urutan” sistematis yang digunakan untuk
memecahkan suatu permasalahan. Algoritma dapat juga diartikan sebagai urutan langkag
secara sistematis dan logis. Dalam perkembangannya, algoritma banyak dipakai di bidang
komputer.
Secara spesifik, pengertian algoritma ialah suatu metode khusus yang tepat dan terdiri dari
serangkaian langkah yang terstruktur dan dituliskan secara matematis yang akan dikerjakan
untuk menyelesaikan suatu masalah dengan bantuan kompute
Jadi berdasarkan definisi ini, dapat dikatakan algoritma merupakan langkah penyelesaian
suatu masalah yang menghasilkan solusi dalam bentuk program komputer. Namun penting
diketahui bahwa algoritma tidaklah tergantung oleh suatu bahasa pemrograman tertentu,
artinya suatu algoritma harus dapat diwujudkan oleh bahasa pemrograman komputer apapun.
Algoritma dapat disajikan dalam dua bentuk yaitu dalam bentuk tulisan/bahasa dan dalam
bentuk gambar. Penyajian algoritma dalam bentuk tulisan haruslah menggunakan bahasa
yang dapat dimengerti manusia dalam menyajikan langkah-langkah algoritma. Penyajian
algoritma dalam bentuk tulisan juga dapat dilakukan menggunakan pseudocode.
Pseudocode berasal dari kata pseudo yang berarti “mirip atau menyerupai” dan code yang
berarti “kode program”. Contoh bahasa pemrograman yang digunakan untuk menyatakan
pseudocode ialah BASIC, Pascal, C, dan lain-lain. Sedangkan, penyajian algoritma dalam
bentuk gambar sering disebut flow chart.

Sejarah Algoritma
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al
Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya
dalam bahasa latin dari abad ke-12 “Algorithmi de numero Indorum”.
Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis
untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya
dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang
menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan
diperlukan untuk menyelesaikan suatu permasalahan.
Masalah timbul pada saat akan menuangkan bagaimana proses yang harus dilalui dalam
suatu/sebuah sistem (program) bagi komputer sehingga pada saat eksekusinya, komputer
dapat bekerja seperti yang diharapkan. Programer komputer akan lebih nyaman menuangkan
prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu membuat
gambaran (diagram alur) diatas kertas.

Ciri Algoritma
Adapun ciri algoritma sebagai berikut:

1. Ada Input
2. Ada proses
3. Ada Output
4. Memiliki Instruksi-Instruksi yang jelas dan tidak Ambigu
5. Harus mempunyai Stoping Role
Fungsi Algoritma
Berikut ini terdapat beberapa fungsi algoritma, terdiri atas:

 Menggunakan fungsi algoritma bisa digunakan untuk memecahkan program yang rumit.
 Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi program
yang lebih sederhana.
 Fungsi algoritma bisa digunakan secara berulang atau lebih dari satu kali penggunaan.
 Memudahkan dalam pembuatan program.
 Bisa mengatasi segala masalah dengan logika dan urut.
 Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga devide
and conguer.
 Meminimalisir penulisan program yang berulang-ulang.
 Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat lebih mudah
untuk dipahami ataupun dikembangkan.
 Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa
mendapatkan alur yang jelas.
 Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul
saja tanpa harus merubah dan mengganggu modul yang lain.
 Dokumentasi yang lebih mudah.

Jenis-Jenis Algoritma
Berikut ini terdapat beberapa jenis-jenis algoritma, terdiri atas:
1. Divide and Conquer
Paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-
permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus
sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya
menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian
memecahkanpermasalahan-permasalahan kecil yang terbentuk.
2. Dynamic programming
Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah
yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian
permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan
paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan
menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari
karakter permasalahan yang dihadap
3. Metode serakah
Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya
jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan
pilihan “serakah” apa yang dilihat terbaik pada saat itu.
4. Sistem Flowchart

Sistem flowchart merupakan diagram alir yang menggambarkan suatu sistem


peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan
antar peralatan tersebut. Sistem flow chart tidak digunakan untuk menggambarkan
urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan
prosedur dalam sistem yang dibentuk.
5. Pseudo Code (Kode Semu)
Pseudo Code (kode semu) merupakan metode yang cukup efisien untuk
menggambarkan suatu algoritma . Pseudo Code dituliskan dengan menggunakan
bahasa yang mudah dipahami (boleh menggunakan bahasa Indonesia) agar alur logika
yang digambarkan dapat dimengeti oleh orang awam sekalipun.
Flowchart Pseudo Code (kode semu) disusun dengan tujuan untuk menggambarkan
tahap-tahap penyelesaian suatu masalah  dengan kata-kata (teks). Metode ini
mempunyai kelemahan, dimana penyusunan algoritma dengan kode semu sangat
dipengaruhi oleh tata bahasa pembuatnya, sehingga kadang-kdang sulit dipahami oleh
orang lain.
Oleh karena itu kemudian dikembangkan suatu metode lain  yang dapat
menggambarkan suatu algoritma program secara lebih mudah dan sederhana yaitu
dengan menggunakan flowchart (diagram alir).
Manfaat Algoritma
Adapun manfaat algoritma sendiri yaitu untuk membantu seseorang dalam menyelesaikan
suatu masalah berdasarkan pada pola pikirnya masing-masing.

Sifat Algoritma
Adapun sifat algoritma sebagai berikut:

 Tidak menggunakan syimbol atau syintaks dari suatu bahasa pemograman.


 Tidak tergantung pada suatu bahasa pemograman.
 Notasi-notasinya dapat digunakan untuk seluruh bahasa pemograman.

Struktur Dasar Algoritma


Struktut algoritma adalah urutan bagaimana pemrosesan instruksi dalam algoritma dilakukan
dan juga bagaimana struktur instruksi algoritma tersebut dibagun

Struktur dasar algoritma dibagi menjadi 3 bagian sebagai berikut


1. Runtunan (Sequence)
Sequence atau runtunan dalam struktur algoritma adalah bahwa instruksi-insturksi
dalam algoritma diproses secara beruntun langkah demi langkah dari awal sampai akhir
dimulai dari langkah pertama hingga langkah terakhir.
Harus selalu diingat, bahwa Runtunan ini juga berlaku di dalam bahsa pemrograman,
ketika instruksi bahasa pemrograman yang kita tulis di proses oleh komputer, maka
komputer akan memproses dan menterjemahkan bahasa pemrograman tersebut secara
beruntun dari awal hingga akhir dimulai dari instruksi pada baris pertama hingga baris
terakhir.
Dengan struktur runtunan ini, akan menentukan bagaimana insturksi harus ditulis,
intruksi mana yang harus didahulukan dan intruksi mana yang harus diakhirkan.
2. Pemilihan (Selection)
Pada umumnya instruksi algoritma setidaknya akan mengandung pemilihan, atau
selection, instruksi ini akan muncul apabila ada kasus yang memiliki 2 atau lebih
alternatif penyelesaian.
Misalkan dalam kehidupan sekali-kali, untuk kasus menyalakan komputer. Langkah-
langkah cara menyalakan komputer sebenarnya sangat mudah, namun pada prosesnya
bisa terjadi 2 atau lebih alternatif penyelesaian.
Contoh:
langkah 1: colokan kabel listrik,
langkah 2: tekan tombol power pada cashing.
langkah 3: jika setelah power ditekan komputer mati, maka periksa listrik atau periksa
kabel dll, jika komputer menyala, lanjutkan ke langkah berikutnya.
….
….
Langkah 3 di atas merupakan salah satu bentuk pemilihan atau selection, bahwa pada
saat
proses menyalakan komputer bisa kemungkinan terjadi 2 kondisi, komputer tatap mati
atau hidup, dimana kedua kondisi tersebut akan memiliki alternatif penyelesaian yang
berbeda.
Di dalam struktur algoritma pemilihan atau selection tersebut akan kerap sekali
ditemukan, sehingga struktur algoritma tidak lepas dari pemilihan/ selection. Pemilihan
atau selection dipelajari di bab algoritma Selection / Flow Control).

3. Pengulangan (Repitition)
Struktur dasar algoritma yang ketiga adalah pengulangan atau repitition, artinya kasus-
kasus pemecahan masalah dalam algoritma maupun bahasa pemrograman pada
kenyataannya tidak akan lepas dari kasus-kasus yang membutuhkan pengulangan.
Di algoritma sendiri untuk mengatasi kasus pengulangan data, memiliki intruksi
tersendiri, dengan intruksi tersebut pengulangan akan lebih mudah ditulis secara singkat
dan praktis daripada harus di tulis satu-persatu.
Contoh:
Da kasus di algoritma yang membuat sebuah data harus diulang beberapa kali, missal
untuk kasus mencetak angka 1 sampai 5.
Penyelesaian pengulangan sebenarnya sangat mudah, bisa saja kita tulis satu persatu
misal;
langkah 1: tulis angka 1
langkah 2: tulis angka 2
langkah 3: tulis angka 3


langkah 5: tulis angka 5.
Membuat intruksi pengulangan dengan menuliskannya satu persatu tentunya bukanlah
cara praktis, jika hanya 5 baris mungkin saja bisa dibuat secara manual, ditulis satu-
satu,
namun bagaimana jika yang harus diulang sebanyak 1.000 (seribu baris misalnya), saya
yakin anda akan kerepotan menuliskannya.
Oleh karena itu karena kerap sekali pengulangan ditemukan di kasus-kasus pemecahan
masalah terkomputerisasi, maka di algoritma dikenal struktur pengulangan yang akan
lebih memudahkan dan mempercepat penulisan proses pengulangan secara praktis dan
cepat. (pengulangan ini biasanya dipelajari di materi algoritma Looping/
pengulangan).

Contoh Algoritma
Berikut ini terdapat beberapa contoh algoritma, terdiri atas
1. Menentukan Bilangan Ganjil atau Genap
Bilangan bulat yaitu 0, 1, -1, 2, dst, sedangkan bilangan asli 1, 2, 3, 4, 5, dst. Bilangan
bulat dan bilangan asli sering dipakai dalam berhitung. Himpunan bilangan bulat dalam
buku teks aljabar biasanya dinyatakan dengan lambang “Z” serta himpunan bilangan asli
dinyatakan dengan lambang “N”. Algoritma yang digunakan untuk menentukan apakah
bilangan tersebut ganjil atau genap disajikan dengan flowchart seperti dibawah ini :
Bilangan genap adalah bilangan bulat yang dapat habis jika dibagi 2 (dua). Bilangan
ganjil adalah bilangan bulat yang tidak habis jika dibagi 2 (dua).
2. Menghitung Keliling dan Luas Lingkaran
Lingkaran adalah himpunan dari semua titik-titik yang ada pada bidang dalam jarak
tertentu dan disebut dengan jari-jari dari titik tertentu yang disebut dengan titik pusat.
Lingkaran adalah contoh dari kurva tertutup sederhana, lingkaran membagi bidang
menjadi dua bagian yaitu bagian luar dan dalam. Adapaun algoritma untuk menghitung
keliling dan luas lingkaran disajikan dengan flowchart seperti dibawah ini :
3. Menampilkan Bilangan Ganjil Diantara 10 sampai 30
Bilangan ganjil yang terletak diantara 10 dan 30 adalah bilangan 11,13,15, dan
seterusnya. Namun yang akan ditampilkan kecuali bilangan 21 dan 27. Sehingga
output/keluaran yang diharapkan dari algoritma tersebut yaitu bilangan ganjil antara 10
sampai 30 kecuali bilangan 21 dan 27. Algoritma yang digunakan untuk menampilkan
bilangan ganjil antara 10 hingga 30 kecuali bilangan 21 dan 27 dapat disajikan dengan
flowchart seperti dibawah ini :

4. Algoritma tahun Kabisat


Tahun kabisat adalah tahun yang mempunyai tambahan 1 hari yang bertujuan supaya
kalender dapat sinkron dengan musim tahunan serta keadaan astronomi. Bulan Februari
mempunyai 29 hari saat tahun kabisat. Adapun tahun kabisat adalah tahun yang dapat
dibagi dengan 4. Algoritma yang digunakan untuk menentukan tahun kabisat dapat
disajikan dengan flowchart dibawah ini :
5. Menampilkan Bilangan Genap Mulai Angka 2 sampai n, Kecuali Bilangan Genap
Kelipatan 4
Bilangan genap adalah bilangan bulat dapat habis dibagi 2 (dua). Deret yang akan
ditampilkan dari algoritma ini adalah deret dari bilangan genap dari 2 sampai ke n,
kecuali bilangan genap kelipatan 4. Algoritma tersebut dapat disajikan dengan flowchart
seperti dibawah ini :

Anda mungkin juga menyukai