Anda di halaman 1dari 12

MODUL_KB-01

BAB I KEGIATAN BELAJAR


ALGORITMA PEMROGRAMAN

A. Tujuan Pembelajaran
Setelah mengikuti kegiatan belajar 1 ini siswa diharapkan dapat :
1. Memahami Konsep Algoritma
2. Memahami Struktur Algoritma
3. Memahami Penyajian Algoritma

B. Uraian Materi
1. Pengantar Algoritma Pemrograman
Belajar memprogram adalah belajar tentang strategi pemecahan masalah, metodologi dan
sistematika pemecahan masalah tersebut kemudian menuangkannya dalam suatu notasi yang
disepakati bersama.
“lebih bersifat pemahaman persoalan, analisis, sintesis”

Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan sintaks
(tatabahasa), setiap instruksi yang ada dan tata cara pengoperasian kompilator atau interpreter
bahasa yang bersangkutan pada mesin tertentu.
Jadi :
“BELAJAR MEMPROGRAM””
TIDAK SAMA DENGAN
“BELAJAR BAHASA PEMROGRAMAN”

Perangko dari Rusia pada Gambar di samping ini bergambar seorang pria
dengan nama Muhammad bin Musa al-Khwarizmi. Bagi kalian yang sedang
berkecimpung dalam dunia komputer maka seharusnya mengetahui siapa orang
di samping ini. Dia adalah seorang ilmuwan Islam yang karya karyanya dalam
bidang matematika, astronomi, astrologi dan geografi
banyak menjadi dasar perkembangan ilmu modern. Dan dari namanya istilah
yang akan kita pelajari dalam bab ini muncul. Dari Al-Khawarizmi kemudian
berubah menjadi algorithm dalam Bahasa Inggris dan diterjemahkan menjadi algoritma dalam
bahasa Indonesia.
Dilihat dari istilahnya algoritma, berasal dari nama seorang matematikawan muslim
bernama Abu Ja‟far Muhammad Ibnu Musa Al-Khuwarizmi (780 M-850), yang oleh orang barat
menyebut Al-Khuwarizm sebagai Algorism, yang diartikan proses menghitung dengan angka
arab. Salah satu karya beliau yang monumental adalah buku berjudul Kitab Al Jabar Wal-
Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and
reduction), yang menjadi cikal bakal istilah “Aljabar” (Algebra) yang dipakai hingga sekarang
ini. Seiring dengan perkembangan jaman isitilah „Algorism‟ berubah menjadi algorithm yang
kemudian diartikan sebagai metode perhitungan (komputasi) secara umum. Dalam bahasa
Indonesia, kata algorithm diserap menjadi algoritma.

2. Definisi Algoritma
Menurut definisi, algoritma adalah urutan langkah-langkah penyelesaian masalah yang
disusun secara sistematis dan logis. Dalam beberapa konteks, algoritma dapat diartikan
urutan langkah-langkah yang spesifik (tertentu) untuk melakukan suatu pekerjaan. Jadi
algoritma tidak hanya diartikan sebatas pada perhitungan dengan komputer saja tapi dapat
diartikan lebih luas dalam kehidupan sehari-hari. Resep masakan adalah contoh algoritma
yang ada di kehidupan sehari-hari. Petunjuk pemasangan AC, petunjuk perakitan komputer,
petunjuk installasi software, panduan pengisian token listrik, Jadwal acara kegiatan adalah berbagai
bentuk algoritma yang ada di kehidupan sehari-hari.
Menurut makna yang pertama, algoritma adalah langkah-langkah logis penyelesaian
masalah, artinya langkah-langkah dalam suatu algoritma harus logis, sesuai dengan tujuan yang
akan dicapai dan dapat ditentukan nilai kebenarannya. Sebagai contoh dalam sebuah resep
masakah, ada sebuah langkah “Rebus bahan x selama 30 menit” atau dalam merakit komputer,
“sambungkan kabel VGA monitor dengan komputer”. Dua langkah ini adalah langkah yang logis,
karena jelast diketahui kebenarannya. Kalo si A merebus selama 15 menit saja maka dapat
dikatakan langkahnya tidak sesuai atau salah, atau misalkan kabel VGA tidak tersambung maka
jelas bahwa langkahnya tidak sesuai.
Langkah yang logis juga dapat diartikan pula tidak ambigu. Langkah “tambahkan garam
secukupnya”, merupakan contoh langkah atau proses yang ambigu atau bermakna ganda.
Secukupnya bisa berarti setengah sendok teh, satu sendok teh atau satu sendok makan, tidak ada
kriteria yang pasti, maka antara satu orang pengguna dengan yang bisa menghasilkan output yang
tidak sama, dalam hal ini rasanya. Demikian juga misalkan dalam suatu algoritma ada perintah
“Tambahkan x dengan sebuah bilangan”, juga bermakna ambigu karena bilangan seperti apa yang
harus ditambhakan apakah bilangan asli atau real, genap atau ganjil, tidak ada nilai yang pasti.
Selain itu penyusunan langkah-langkah harus sistematis, atau terstruktur menurut
aturan/sistem tertentu sesuai denga tujuan yang dicapai. Artinya langkah-langkah yang ada pada
algoritma harus dapat diikuti atau ditelusuri dengan baik sehingga mencapai hasil akhir yang
diinginkan. Oleh karena itu dalam suatu algoritma, biasanya setiap langkah diberikan nomer agar
pengguna algoritma dapat mengikuti setiap instruksi yang diberikan dengan baik. Selain itu
langkah-langkah dalam algoritma juga harus terbatas, artinya ia akan berhenti setelah melakukan
sejumlah langkah. Karena tujuan dari algoritma adalah mencari penyelesaian. Jika sebuah
algoritma mempunyai langkah yang tidak terbatas, ini berarti usaha mencari penyelesaian
yang tidak kunjung berhasil. Maka dapat dikatakan algoritma tersebut sia-sia atau tidak berguna.
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang
singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan
waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.

Perhatikan algoritma sederhana berikut :


Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus
dilakukan adalah:
1) Menyiapkan Peralatan Tulis
2) Menulis surat
3) Surat dimasukkan ke dalam amplop tertutup
4) Amplop ditempeli perangko secukupnya.
5) Pergi ke Kantor Pos terdekat untuk mengirimkannya

Algoritma menghitung luas persegi panjang:


1) Masukkan panjang (P)
2) Masukkan lebar (L)
3) Luas P * L
4) Tulis Luas

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:


a) Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang
melaksanakannya.
b) Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
c) Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya
sama.

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:


a) Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut
dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
b) Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
c) Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik
mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya
notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara
umum.
d) Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi
algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer,
pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam
notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program
sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.
e) Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu
permasalahan ke dalam bahasa pemrograman.
f) Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh
komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman

Perhatikan algoritma sederhana berikut :


Algoritma menghitung luas segitiga
1) Start
2) Baca data alas dan tinggi.
3) Luas adalah alas kali tinggi kali 0.5
4) Tampilkan Luas
5) Stop
Penjelasan :
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada
algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu
kali.
Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan
yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.

Hasil perbaikan algoritma perhitungan luas segitiga


1) Start
2) Baca data alas dan tinggi.
3) Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke
langkah ke 4 jika tidak maka stop
4) Luas adalah alas kali tinggi kali 0.5
5) Tampilkan Luas
6) Stop

Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama,
algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma
memberikan hasil yang benar.

Contoh : Algoritma Berangkat Sekolah


Mulai
Bangun dari tempat tidur
Mandi Pagi
Sarapan Pagi
Pergi Ke Sekolah
Cari Ruang Kelas
Masuk kelas untuk Belajar
Selesai

Beda Algoritma dan Program ?

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan


sistematis dalam program adalah algoritma. Program ditulis dengan menggunakanbahasa
pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa
pemrograman.
Program = Algoritma + Bahasa (Struktur Data)

Penerjemah Bahasa Pemrograman

Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan
interpreter. Compiler adalah suatu program yang menterjemahkan bahasa program (Source
code) ke dalam bahasa obyek (object code) secara keseluruhan program.

Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap


baris dari program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang
bisa dilakukan dengan segera. Tanpa melalui tahap kompilasi, untuk alas an ini interpreter
digunakan pada saat pembuatan program berskala besar.
3. Bahasa Pemrograman
Bahasa pemrograman adalah notasi yang digunakan untuk menulis program (komputer).
Bahasa ini dibagi menjadi tiga tingkatan yaitu bahasa mesin, bahasa tingkat rendah dan bahasa
tingkat tinggi.
Bahasa mesin (machine language) berupa microinstruction atau hardwire. Programnya
sangat panjang dan sulit dipahami. Di samping itu sangat tergantung pada arsitektur mesin.
Keunggulannya adalah prosesnya sangat cepat dan tidak perlu interpreter atau penterjemah.
Bahasa tingkat rendah (low level language) berupa macroinstruction (assembly). Seperti
halnya bahasa mesin, bahasa tingkat rendah tergantung pada arsitektur mesin. Programnya
panjang dan sulit dipahami walaupun prosesnya cepat. Jenis bahasa tingkat ini perlu penterjemah
berupa assembler.
Bahasa tingkat tinggi (high level language) menyerupai struktur bahasa manusia sehingga
mudah dipahami. Bahasa ini tidak tergantung pada arsitektur mesin tetapi memerlukan
penterjemah berupa compiler atau interpreter.
Secara garis besar ada dua kategori bahasa pemrograman yaitu: bahasa pemrograman
aras rendah (low level) dan bahasa pemrograman level tinggi (high level). Bahasa pemrograman
aras rendah cenderung mendekati level komputer, ini artinya bahwa bahasanya ditulis mendekati
atau sama dengan bahasa mesin komputer, hal ini sangat sulit ditulis karena bahasanya jauh
dari bahasa manusia yang digunakan sehari-hari.
Bahasa pemrograman yang lebih mudah dipelajari adalah bahasa pemrograman aras tinggi.
Disebut aras tinggi karena bahasanya mendekati level bahasa manusia sehingga lebih mudah
dipahami. Gambar dibawah ini merupakan gambaran antara bahasa aras tinggi dengan aras
rendah.
Dengan gambar tersebut diatas, maka dapat dilihat bahwa menulis program dengan
bahasa aras tinggi akan lebih mudah dan dapat dipahami dibandingkan dengan bahasa aras
rendah karena bahasanya ditulis dengan kode numerik ataupun dengan sintak yang sangat
pendek sehingga sulit sekali dipahami. Untuk lebih jelasnya beberapa jenis bahasa pemrograman
aras tinggi yang digunakan dapat dilihat pada tabel dibawah ini:

Dalam memilih bahasa pemrograman harus memperhatikan hal-hal yang dimiliki oleh
bahasa tersebut, dan tentunya setiap bahasa pasti mempunyai kekurangan dan kelebihan yang
harus kita pertimbangan dalam memilihnya.
Pada bahasa C++ mempunyai kemampuan pada bahasa aras tinggi maupun bahasa aras
rendah. Bahasa C++ basisnya adalah pengembangan dari bahasa C, selain itu C++ juga
mendukung bahasa pemrograman berorientasi objek. Sebenarnya bahasa ini ari awal
dikembangkan untuk menulis program sistem operasi sebuah komputer maupun compiler.
Karena bahasa C++ mengembangkan C sebelumnya maka kemampuannya C++ diperbaiki dan
ditingkatkan daripada bahasa C.

4. Struktur Algoritma
Algoritma memiliki tiga struktur dasar, yaitu runtunan (sequence), pemilihan (selection), dan
pengulangan (repetition). Berikut akan diberikan penjelasan dari masing-masing struktur dasar
tersebut.
a) Struktur Runtunan
Struktur berurutan terdiri satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan
sesuai dengan urutan penulisannya, yaitu sebuah instruksi dieksekusi setelah instruksi sebelumnya
selesai dieksekusi. Urutan instruksi menentukan keadaan akhir dari algoritma. Bila urutannya
diubah, maka hasil akhirnya mungkin juga berubah.
Menurut Goldshlager dan
Lister (1988) struktur berurutan
mengikuti ketentuan-ketentuan
sebagai berikut:
 tiap instruksi dikerjakan
satu persatu
 tiap instruksi dilaksanakan
tepat sekali, tidak ada yang
diulang
 urutan instruksi yang
dilaksanakan pemroses
sama dengan urutan aksi
sebagaimana yang tertulis
di dalam algoritmanya
 akhir dari instruksi terakhir
merupakan akhir algoritma.
b) Struktur Pemilihan/ percabangan
Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-
kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan
program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan
atau keputusan.
Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika suatu kondisi
yang disyaratkan dipenuhi. Pada proses seperti ini simbol flowchart Decision harus digunakan.
Simbol decision akan berisi pernyataan yang akan diuji kebenarannya. Nilai hasil pengujian akan
menentukan cabang mana yang akan ditempuh.

Contoh Struktur percabangan untuk masalah batasan umur.


Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia
penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun
maka penonton tidak diperbolehkan nonton. Buatlah flowchart untuk permasalahan tersebut.

Penyelesaian:
Permasalahan diatas merupakan ciri permasalahan yang menggunakan struktur
percabangan. Hal ini ditandai dengan adanya pernyataan jika ..maka ...(atau If ... Then dalam
Bahasa Inggris.

Bagan alir logika (Flowchart) penyelesaian masalah nonton film

c) Struktur Pengulangan
Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaan yang harus diulang
berkali.Salah satu contoh yang gampang kita jumpai adalah balapan mobil

Struktur pengulangan terdiri dari dua bagian :


 Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan.
Syarat ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai
benar (true) atau salah (false)
 Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang

Pada struktur pengulangan, suatu instruksi dikerjakan secara berulang-ulang selama


kondisi tertentu terpenuhi. Apabila kondisi pengulangan tidak lagi terpenuhi maka instruksi
tersebut akan berhenti dikerjakan. Struktur pengulangan juga umumnya digunakan pada
algoritma untuk permasalahan yang kompleks. Struktur pengulangan memungkinkan penulisan
algoritma menjadi lebih ringkas dan efisien, karena suatu instruksi yang sama tidak perlu
dituliskan secara berulang-ulang.
Pada struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi.
Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama kali.
Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable.
Sedangkan terminasi adalah instruksi yang dilakukan setelah pengulangan selesai
dilaksanakan. Ada beberapa bentuk pengulangan yang dapat digunakan, masing-masing
dengan syarat dan karakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang
sama, namun ada bentuk yang hanya cocok untuk kasus tertentu saja. Pemilihan bentuk
pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran algoritma. Pemilihan
bentuk pengulangan yang tepat bergantung pada masalah yang akan diprogram.

Bagan alir logika (flowchart) untuk mencetak pernyataan sebanyak 100 kali

Bagan alir logika (Flowchart) untuk mencetak anggota suatu himpunan.

Struktur Penulisan Algoritma:


Secara umum struktur Algoritma terdiri dari 3 bagian, yaitu::
1) Nama/judul Algoritma
Nama Algoritma memberikan gambaran secara singkat apa tujuan dari Algoritma, misalkan
nama resep masakan, petunjuk melakukan sesuatu, jadwal kegiatan, langkah-langkah
penyelesaian sebuah masalah, dan sebagainya. Pemberian nama Algoritma disarankan singkat
dan jelas, namun sudah mewakili maksud dari algoritma. Dalam Algoritma komputer biasanya nama
algoritma dituliskan tanpa menggunakan spasi, misalkan Algoritma VolumeBalok atau Algoritma
Volume_Balok

2) Bagian Deklarasi
Bagian deklarasi merupakan tahap persiapan dari algoritma. Pada bagian ini dijelaskan
kebutuhan agar algoritma dapat berjalan. Istilah lainnya di sinilah alat dan bahan didefinisikan.
Dalam algoritma pemrograman, bagian deklarasi menjelaskan input (masukan) apa saja yang
akan diproses oleh algoritma termasuk jenis data input (tipe data), juga output apa yang
akan dihasilkan serta semua hal yang akan dipakai dalam algoritma. Yang didefiniskan dalam
algoritma ini termasuk variabel, tipe data, konstanta, nama prosedur, tipe, dan fungsi, yang akan
kita pelajari pada Bab 2.
3) Bagian Deskripsi
Pada bagian ini dijelaskan serangkaian langkah-langkah (instruksi) atau pernyataan
(statement) untuk memproses alat dan bahan atau inputan untuk menghasilkan output sesuai
yang diharapkan. Langkah-langkah dalam algoritma dituliskan dari atas ke bawah. Urutan penulisan
menentukan urutan perintah

Berikut ini gambaran struktur sebuah Algoritma

Dalam algoritma resep masakan di atas dapat dilihat bahwa proses disusun dengan
sistematis dalam bentuk urutan rangkaian kerja. Dalam kasus ini semua proses harus urut
satu persatu dikerjakan dari nomor 1 hingga 4.

5. Penyajian Algoritma
Penyajian Algoritma yang Baik
Menurut Donald Ervin Knuth, tang dikenal dengan Bapak "Analisis Algoritma", algoritma
yang baik dan benar harus memiliki kriteria-kriteria berikut ini:
 Input
 Output
 Finite
 Definite
 Efisien
 Input
Algoritma memiliki nol input atau lebih dari pengguna. Setiap algoritma pasti memiliki input.
Yang dimaksud dengan nol input dari pengguna adalah bahwa algoritma tidak mendapatkan
masukan dari pengguna, tapi semua data inputan yang digunakan algoritma tidak dari pengguna
secara langsung, namun semua data yang akan diproses sudah dideklarasikan oleh algoritma
terlebih dahulu.
Sebagai contoh sebuah algoritma menghitung 100 bilangan genap yang pertama tidak
memerluakan input dari pengguna karena sudah diketahui bahwa banyaknya bilangan genap
adalah 100. Berbeda jika algoritm tersebut digunakan untuk menghitung n bilangan genap
pertama, dengan nilai n dari pengguna. Berarti ada masukan dari pengguna yaitu n.

 Output
Algoritma minimal harus memiliki 1 output. Tujuan dari algoritma adalah memberikan
penyelesaian dari suatu permasalahan dengan langkah-langkah tertentu. Penyelesaian itulah
output dari algoritma yang dimaksud. Output dapat berupa apa saja, teks, file, video, suara, dan
lain-lain atau suatu nilai yang disimpan untuk digunakan algoritma lain atau disimpan di basis data.

 Finite (Terbatas)
Algoritma yang baik haruslah mempunyai langkah-langkah terbatas, yang berakhir pada
suatu titik di mana algoritma itu akan berhenti dan menghasilkan suatu output. Algoritma
tidak boleh berjalan terus –menerus tanpa titik henti, hingga menyebabkan hang atau not
responding jika diterapkan pada komputer. Ketika sebuah algoritma berjalan terus menerus
(infinite), maka ini mengindikasikan ada kesalahan yang dibuat oleh programmer dalam
mengembangkan algoritma.

 Define (Pasti)
Makna dari langkah logis pada definisi algoritma terdahulu tercermin dari langkah-langkah
yang pasti, tidak ambigu atau bermakna ganda. Suatu program harus mempunyai arah dan tujuan
yang jelas ,kapan mulai dan kapan berakhir. Dalam menyusun langkah-langkah dalam algoritma
perlu dihindari kata-kata seperti secukupnya, beberapa, sesuatu, sebentar, lama, atau kata
lain yang tidak terukur dengan pasti. Pemberian nomor pada algoritma dapat membantu
pengguna mengikuti setiap langkah dengan pasti hingga mencapai akhir dari algoritma, yaitu
solusi dari permasalahan.

 Efisien
Program menghasilkan output yang benar, itu wajib. Tapi bagaimna jika output yang benar itu
dilakukan dengan waktu yang lama padahal ada algoritma lain yang lebih cepat? Hal ini
menunjukkan bahwa setiap algoritma, khususnya jika sudah diterapkan pada pemrograman,
mempunyai waktu eksekusi (running time). Algoritma disebut efisien jika untuk mendapatkan suatu
solusi tidak memerlukan memori yang banyak, proses yang berbelit-belit dan tidak perlu. Jika
algoritma terlalu banyak melakukan hal-hal yang tidak perlu akan menyebabkan waktu eksekusi
menjadi lebih lama.

Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode, sedangkan dengan gambar
seperti Diagram Alir (Flowchart).
a) Penyajian Algoritma dengan Bahasa Natural.
Salah satu cara mempresentasikan algoritma adalah dengan bahasa natural atau bahasa
sehari-hari. Algoritma dengan bahasa natural atau bahasa sehari dapat dengan mudah kita jumpai
di kehidupan sehari-hari, seperti beberapa contoh di atas.
Bahasa natural adalah bahasa yang biasa kita gunkakan sehari-hari. Penyajian algoritma
menggunakan bahasa natural atau natural language programming (NLP) merupakan cara yang
paling sederhana dan mudah dimegerti. Algoritma yang ditulis dengan NLP terdiri dari kalimat-
kalimat yang berisi instruksi tertentu. Penulisan biasanya diawali dengan kata “Start” atau “Mulai”.
Setelah semua kalimat instruksi selesai ditulis, ditutup dengan kata “End” atau “Selesai”.

b) Penyajian Algoritma dengan Pseudocode.


Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya.
Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC,
FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode
yang sering digunakan.
“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode
program”
Contoh Pseudocode :
1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop

Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC.
Pernyataan seperti READ dan PRINT merupakan keyword yang ada pada bahasa BASIC yang
masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan
pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program
menjadi lebih mudah.

c) Penyajian Algoritma dengan Flowchart


Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di
dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk
menggambarkan algoritma dalam bentuk notasi-notasi tertentu. Flowchart merupakan gambar
atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya.
Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan
proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan
menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian
yang terlupakan dalam analisis masalah. Di samping itu flowchart juga berguna sebagai
fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran:
1) Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses
menjadi singkat.
2) Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
3) Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia
pemrograman:
Dalam penyajian algoritma dengan flowchart, setiap simbol diberikan keterangans esuai dengan
langkahnya, sebagai contoh

Perhatikan pada proses memasukkan input yang ditandai dengan

Dalam flowchart ataupun pseudocode sekalipun, kita diperbolehkan untuk menuliskan perintah input
dalam satu baris, dan itu dimengerti oleh pengguna program. Penyajian rangakian permintaan input
dalam bentuk.

tentu akan menyita tempat pada halaman flowchart, sehingga dapat disederhanakan menjadi

Berikut ini contoh penggunaan simbol-simbol dalam flowchart.


Contoh 1
Penyajian dalam bentuk flowchart.

Pada bagian deklarasi disebutkan bahwa ada suatu konstanta Phi=3.14. Inilah yang dimaksud
dengan isinsialisasi pada flowchart, berikut ini adalah flowchart dari algoritma Mencari volume
tabung.

Bagimana jika algoritma terlalu besar sehingga tidak cukup untuk memnulsikannya dalam
satu diagram penuh, kita dapat menggunakan On pgae Connextor sepert contoh berikut.

Contoh 2

Perhatikan pada flowchart di atas, bahwa dalam satu simbol proses (persegi panjang) bisa berisi
lebih dari satu assignment.

Anda mungkin juga menyukai