Anda di halaman 1dari 9

Materi e-book

Tentang Algoritma dan Pseudocode

Tentang algoritma
 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 komputer.

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 dalam Bidang Komputer

Dalam perkembangannya, kata algoritma lebih banyak digunakan dalam bidang komputer atau
yang lebih dikenal dengan algoritma pemrograman. Algoritma pemrograman adalah langkah
penyelesaian suatu permasalahan yang menghasilkan sebuah solusi dalam bentuk program
komputer.

Algoritma memiliki peran yang sangat penting dalam ilmu Komputer. Bahkan algoritma dapat
dikatakan sebagai jantung komputer. Hardware dan software pada komputer hanya dapat
dikendalikan melalui sintaks dan kode pemrograman

Melansir buku Action Script 2.0 Flash MX 2004 karya Yahya Kurniawan, algoritma tidak boleh
bergantung pada bahasa pemrograman tertentu. Hal ini dikarenakan algoritma harus dapat
diwujudkan oleh bahasa pemrograman apa pun.

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 – Ciri Algoritma


Ciri-ciri algoritma yang baik adalah:

1. Precise
Precise di sini maksudnya adalah tepat, benar, dan teliti. Setiap instruksi dalam algoritma harus
ditulis secara teliti tanpa keraguan. Dengan begitu, setiap instruksi dapat dinyatakan secara eksplisit
tanpa menghilangkan bagian apapun karena pemroses dianggap sudah mengerti.

2. Jumlah langkah atau instruksi berhingga dan tertentu


Dalam kasus yang sama banyaknya, setiap langkah harus tetap dan tertentu walaupun data yang
digunakan berbeda.

3. Efektif
Seluruh instruksi sangat mungkin untuk dikerjakan oleh pemroses. Tidak ada instruksi yang tidak
mungkin dikerjakan oleh pemroses yang akan menjalankannya.

4. Harus terminate
Dalam proses berjalannya algoritma harus ada kriteria berhenti.

5. Output yang dihasilkan tepat


Apabila langkah dalam algoritma logis dan diikuti dengan seksama, maka output yang dihasilkan
akan sesuai dengan yang dikehendaki.

 Fungsi Algoritma
Berikut ini terdapat beberapa fungsi algoritma, terdiri atas:

a. Menggunakan fungsi algoritma bisa digunakan untuk memecahkan program yang rumit.
b. Menggunakan fungsi algoritma bisa menjadikan program yang besar menjadi program yang
lebih sederhana.
c. Fungsi algoritma bisa digunakan secara berulang atau lebih dari satu kali penggunaan.
d. Memudahkan dalam pembuatan program.
e. Bisa mengatasi segala masalah dengan logika dan urut.
f. Menggunakan fungsi algoritma bisa melakukan pendekatan top-down dan juga devide and
conguer.
g. Meminimalisir penulisan program yang berulang-ulang.
h. Program yang ada menjadi lebih terstruktur dengan rapi sehingga dapat lebih mudah untuk
dipahami ataupun dikembangkan.
i. Ketika terjadi kesalahan bisa dicari dengan mudah karena dengan fungsi algoritma bisa
mendapatkan alur yang jelas.
j. Ketika ingin melakukan modifikasi pada program bisa dilakukan hanya pada satu modul saja
tanpa harus merubah dan mengganggu modul yang lain.
k. 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 dihadapi.

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:

a. Tidak menggunakan syimbol atau syintaks dari suatu bahasa pemograman.


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

 Struktur Dasar Algoritma


Struktur 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, misal 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:

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

 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 :
 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 :

 Algoritma :
1.Ingin menampilkan bilangan ganjil dari 10 sampai dengan 30 kecuali 21 dan 27 ( 11 13
15 17 19 23 25 29).
2.Deklarasikan atau tentukan tipe data untuk hasil (x), variabel y, dan perulangan (i).
3.Definisikan atau tetapkan nilai x dengan bilangan 10 (x=10).
4.Definisikan atau tetapkan nilai i dengan bilangan 0 (i=0).
5.Cetak ” ::: Menampilkan Bilangan Ganjil dari 10 s/d 30 Kecuali 21 dan 27 :::”.
6.Hitung sisa bagi nilai pada variabel x dengan bilangan 2 (y=x%2).
7.Bila hasilnya sama dengan 0 (y=0), maka tambah nilai x dengan bilangan 1 (x=x+1).
Kemudian langsung
menuju langkah ke-8a.
8.Bila hasilnya tidak sama dengan 0 , maka terjadi proses perulangan atau looping.
8.a) Tambahkan nilai i dengan bilangan 1 dan nyatakan dalam variabel i (i=i+1).
8.b) Cek apakah nilai x sama dengan 21 atau 27. Bila x sama dengan 21 atau 27, maka
langsung ke langkah 8.c. Namun bila x tidak sama dengan 21 atau 27, maka cetak nilai x
dahulu. Kemudian lanjukan ke langkah berikutnya, yaitu langkah ke-8.c.
8.c) Tambahkan nilai x dengan bilangan 2 dan nyatakan ke variabel x (x=x+2).
8.d) Bila nilai x kurang dari sama deangan 30 (x<=30), maka kembali ke proses looping.
8.e) Bila nilai x lebih dari 30, maka proses pencetakan diakhiri.

 Flowchart :
PSEUDOCODE
 Pengertian Pseudocode
Pseudocode adalah istilah dalam pemrograman untuk menuliskan sebuah sintaks, statement, algoritma, dan
lainnya dalam bahasa yang bisa dipahami oleh manusia. Sederhananya, pseudocode merupakan bentuk
representasi dari kode kita nantinya dengan versi yang human readable, bukan computer readable.

Pseudocode juga adalah ringkasan sebuah algoritma yang disajikan sebagai deskripsi tingkat tinggi infomral
yang dibuat untuk mudah dibaca oleh manusia bukan untuk mesin. Penulisannya pun tidak memiliki aturan atau
struktur yang baku. Pada intinya, pseudocode akan membantu programmer untuk memikirkan pemecahan
masalah tanpa harus menggunakan syntax dari bahasa pemrogaman tertentu.
Elemen yang digunakan pada pseudocode biasanya tidak memperhatikan deklrarasi variabel, atau yang
menjurus pada suatu bahasa pemrograman tertentu. Pseudocode dibuat agar algoritma dapat dipahami oleh
manusia dengan mudah. Jika akan mengimplementasikannya dalam kode program, maka perlu dituliskan
kembali menggunakan bahasa pemrograman.

Manfaat dari pseudocode yang bisa kita dapatkan adalah kode pemrograman yang rapi, mudah dibaca dan
dipahami, serta mudah dalam pengembangan kode. Sehingga akan menjadi produk yang bernilai tinggi.

 Tujuan dan Fungsi Pseudocode


Banyak orang yang langsung melompat untuk ngoding secara langsung tanpa membuat pseudocode karena
dianggap membuang waktu. Padahal pseudocode sangat penting sekali sebelum memulai sebuah program. Itu
akan melatih kita tentang bagaimana program tersebut berjalan dan berpikir. Berikut ini adalah beberapa
keuntungan belajar pseudocode sebelum memulai menulis kode.

1. Meningkatkan pemahaman dari pendekatan apa pun. Hal ini merupakan cara terbaik untuk menjelaskan apa
yang kita inginkan dan melatih logika dalam pemrograman.

2. Menjelaskan secara detail tentang apa yang harus dilakukan setiap baris dari sebuah kode yang akan dibuat
nantinya, sehingga membuat fase penulisan kode lebih mudah bagi seorang programmer.

3. Bertindak seperti penghubung antara program yang akan kita buat dengan logika pemrograman. Selain itu
juga digunakan sebagai dokumentasi kasar, sehingga kode program yang dibuat dapat mudah dipahami orang
lain yang ingin mengembangkannya.

Ketika Anda bingung ingin menulis kode seperti apa saat melihat kursor yang berkedip-kedip pada teks editor,
segera ambil kertas dan pensil. Tulislah secara detail langkah demi langkah berjalannya alur program tersebut.

 Ciri-ciri Pseudocode
Pseudocode memiliki karakteristik tersendiri sehingga Kana IT dapat dengan mudah melakukan identifikasi.
Berikut beberapa ciri dari pseudocode.
1. Pseudocode memiliki tanda atau notasi yang mirip yang menunjukan penyelesaian suatu masalah dengan
lebih mendetail.
2. Pseudocode biasanya digunakan oleh programmer untuk menunjukan algoritma yang digunakan untuk
penyelesaian suatu masalah.
3. Pseudocode berisi langkah-langkah yang perlu dilakukan untuk menyelesaikan masalah tanpa mengarah
pada suatu bahasa pemrograman tertentu.
4. Dalam penggunaannya, tidak ada aturan baku yang harus diikuti oleh pembuat pseudocode.
5. Pseudocode pada dasarnya memiliki kemiripan dengan bahasa pemrograman, namun bahasa ini lebih
mudah dipahami oleh orang awam dan biasanya lebih ringkas.

Anda mungkin juga menyukai