BAB VII Introduction To Programming - Algorithm PDF
BAB VII Introduction To Programming - Algorithm PDF
A. Pengertian Algoritme
Pengertian algoritme menurut KBBI (Kamus Besar Bahasa Indonesia) adalah
sebagai berikut: (1) Prosedur sistematis untuk memecahkan masalah matematis
dalam langkah-langkah terbatas; (2) Urutan logis pengambilan keputusan untuk
pemecahan masalah. Algoritme secara umum juga dapat diartikan sebagai proses atau
serangkaian aturan yang harus diikuti dalam perhitungan atau operasi pemecahan
masalah. Dengan kata lain, semua susunan logis yang diurutkan berdasarkan
sistematika tertentu dan digunakan untuk memecahkan suatu masalah dapat disebut
dengan algoritme.
Lebih lanjut, pengertian algoritme secara spesifik 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 algoritme merupakan
langkah penyelesaian suatu masalah yang menghasilkan solusi dalam bentuk program
komputer. Namun penting diketahui bahwa algoritme tidaklah tergantung oleh suatu
bahasa pemrograman tertentu, artinya suatu algoritme harus dapat diwujudkan oleh
bahasa pemrograman komputer apapun.
B. Notasi Algoritme
Notasi algoritme merupakan cara atau bentuk menuliskan sebuah algoritme.
Notasi algoritme bukan merupakan notasi bahasa pemrograman. Namun, notasi ini
dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Penotasian algoritme
harus memenuhi kaidah hingga mudah dibaca dan dimengerti. Meskipun notasi
algoritme tidak berbentuk baku seperti notasi bahasa pemrograman, namun
konsistensi terhadap notasi perlu diperhatikan untuk menghindari terjadinya
kekeliruan. Algoritme dapat direpresentasikan dalam 3 notasi, antara lain: (1)
deskriptif, (2) pseudocode, dan (3) diagram alir (flowchart).
1. Deskriptif
Notasi algoritme deskriptif dilakukan dengan cara menuliskan intruksi-
intruksi yang harus dilaksanakan dalam bentuk uraian kalimat deskriptif dengan
menggunakan bahasa yang jelas dan tidak ambigu. Notasi jenis ini disarankan untuk
algoritme yang pendek karena apabila untuk algoritme yang panjang notasi
deskriptif kurang efektif.
Berikut contoh notasi algoritme deskriptif untuk menyelesaikan
permasalahan menghitung luas dan keliling suatu lingkaran:
Algoritme Hitung_Luas_dan_Keliling_Lingkaran
Deskripsi:
(1) Masukkan jari-jari lingkaran (r)
(2) Hitung luas lingkaran dengan rumus L = phi*r2
(3) Hitung keliling lingkaran dengan rumus K = 2 *phi*r
(4) Tampilkan luas lingkaran
(5) Tampilkan keliling lingkaran
2. Pseudocode
Pseudecode merupakan cara penulisan algoritme yang menyerupai bahasa
pemrograman. Pada umumnya notasi pseudecode menggunakan bahasa yang
mudah dimengerti secara umum dan juga lebih ringkas dari pada notasi algoritme
deskriptif. Pseudocode berisi deskripsi dari algoritme pemrograman komputer yang
menggunakan struktur sederhana dari beberapa bahasa pemrograman tetapi
bahasa tersebut hanya ditujukan agar bisa terbaca dan dimengerti manusia.
Sehingga pseudecode tidak dipahami oleh komputer. Supaya notasi pseudecode
dapat dimengerti oleh komputer maka lebih lanjut harus diterjemahkan ke dalam
sintaks bahasa pemrograman tertentu.
Pada notasi pseudecode tersusun atas tiga bagian utama, yaitu: Bagian Judul,
merupakan bagian yang terdiri atas nama algoritme dan penjelasan atau spesifikasi
algoritme tersebut. Bagian Deklarasi, merupakan bagian untuk mendefinisikan
semua nama yang digunakan pada algoritme dapat berupa variabel, konstanta, tipe
ataupun fungsi. Bagian Deskripsi, merupakan bagian inti pada struktur algoritme
yang berisi uraian langkah-langkah penyelesaian masalah. Pada bagian deskripsi
disarankan untuk menggunakan kata kunci yang umum digunakan seperti if, then,
else, while, do, for, repeat dan lainya.
Berikut contoh notasi pseudocode untuk menyelesaikan permasalahan
menghitung luas dan keliling suatu lingkaran:
Algoritme Hitung_Luas_dan_Keliling_Lingkaran
(Menghitung luas dan keliling lingkaran untuk ukuran jari-jari tertentu. menerima
masukan jari-jari lingkaran, menghitung luas dan keliling, lalu mencetak hasilnya}
Deklarasi :
Jari_jari = integer {tipe data bilangan bulat}
Luas = float {tipe data bilangan pecahan}
Kell = float {tipe data bilangan pecahan}
phi = 3.14
Deskripsi :
read(Jari_jari)
Luas phi * Jari_jari * Jari-jari
Kell 2 * phi * Jari-jai
write(“Luas lingkaran = “, Luas)
write(“Keliling lingkaran = “, Kell)
3. Flowchart
Flowchart merupakan penulisan algoritme dengan menggunakan notasi
grafis. Flowchart (diagram alir) adalah bagan yang memperlihatkan tahapan dari
suatu program dan hubungan antar proses beserta pernyataannya. Ilustrasi ini
dinyatakan dalam simbol, setiap simbol mempunyai makna tertentu untuk proses
tertentu. Simbol-simbol flowchart yang umumnya digunakan adalah simbol-simbol
flowchart standar yang dikeluarkan oleh ANSI dan ISO.
Flowchart program memiliki 4 fungsi, keempat fungsi flowchart tersebut antara
lain:
a. Memastikan Program Memiliki Alurnya Sendiri
Flowchart dapat membantu programmer untuk melihat alur atau pola ketika akan
mem-build sebuah program/aplikasi. Dengan demikian, dapat mencegah malfungsi
dari program komputer yang sedang dibuat. Program atau aplikasi yang dihasilkan
pun dapat bekerja secara optimal.
b. Melihat Keseluruhan Program
Flowchart membantu Anda melihat rangkaian program secara keseluruhan
(universal). Hal ini akan memudahkan siapa pun untuk melihat rancangan suatu
program, tak terbatas bagi programmer saja.
c. Melihat Proses dari Sebuah Program Ketika Dijalankan
Ini masih ada kaitannya dengan fungsi flowchart pada poin kedua. Flowchart
program dapat digunakan untuk melihat proses-proses yang akan terjadi ketika
program dijalankan. Artinya, kita bisa melihat penjelasan dari setiap proses di
dalam program. Misalnya saja ketika akan membuat aplikasi neraca keuangan. Di
dalam neraca keuangan misalnya saja terdapat input penjualan. Nah, melalui
flowchart program kita bisa melihat bagaimana input penjualan diperoleh, lengkap
dengan dari mana data itu didapatkan.
d. Pedoman dalam Menyusun atau Mengembangan Aplikasi
Fungsi flowchart program selanjutnya ialah menjadi pedoman dalam menyusun
atau mengembangkan aplikasi. Hampir sama dengan fungsi flowchart pada
umumnya, flowchart program juga dapat digunakan untuk melihat alur/tahapan
proses sebuah program.
Flowchart memiliki simbol- simbol tersendiri dari setiap anotasi- anotasi
geometri yang digunakan. Berikut beberapa simbol flowchart sering digunakan
dalam pembuatan sebuah sistem, sedangkan lainnya jarang digunakan, kecuali
dalam pembuatan proses yang komplek dan rumit:
2. Pemilihan (Selection)
Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Kondisi adalah
persyaratan yang dapat bernilai benar atau salah. Dalam pemilihan dikenal beberapa
struktur pemilihan, yaitu:
# If – then
Aksi hanya akan dilaksanakan apabila kondisi bernilai benar. Sebaliknya, apabila
kondisi bernilai salah, maka aksi tidak akan dilaksanakan.
Struktur Umum:
If kondisi then
Aksi
Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi
(persyaratan) dipenuhi (bernilai benar), dan tidak memberikan pilihan aksi lain bila
kondisi bernilai salah.
#If-then-else
Struktur pemilihan ini memberikan dua buah aksi yang akan dikerjakan tergantung
pada nilai kondisinya.
Struktur umumnya:
If kondisi then
aksi 1
Else
aksi 2
Else artinya ”kalau tidak”. Bila kondisi benar, aksi 1 yang akan dikerjakan, tetapi kalau
tidak, aksi 2 yang akan dikerjakan.
Contoh:
If x > y then
Tulis x sebagai bilangan terbesar
Else
Tulis y sebagai bilangan terbesar
Contoh diatas adalah untuk menentukan nilai terbesar dari dua buah bilangan bulat, x
dan y (andaikan x tidak sama dengan y).
#If-then-else if
Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka struktur pilihannya
menjadi lebih rumit, biasanya untuk pemilihan seperti ini disebut pemilihan
bersarang.
Contoh: menentukan bilangan terbesar dari tiga buah bilangan: x, y, z:
If x > y then
If x > z then
Tulis x sebagai bilangan terbesar
Else
Tulis z sebagai bilangan terbesar
Else
If y > z then
Tulis y sebagai bilangan terbesar
Else
Tulis z sebagai bilangan terbesar
Kelebihan struktur pemilihan terletak pada kemampuannya yang memungkinakan
pemroses mengikuti jalur aksi yang berbeda berdasarkan kondisi yang ada.
3. Perulangan (Repetition)
Pengulangan digunakan untuk menjalankan satu atau beberapa pernyataan sebanyak
beberapa kali. Dengan kata lain, pengulangan memungkinkan pengerjaan beberapa
kali perintah tetapi penulisan perintah tersebut hanya satu kali.
Struktur pengulangan yang umum digunakan antara lain:
#Pernyataan for
Pernyataan pengulangan for digunakan jika kita sudah tahu berapa kali kita akan
mengulang satu atau beberapa pernyataan.
Bentuk umum pernyataan for adalah sbb:
For pencacah := nilai_awal to nilai_akhir do
Aksi
Aksi akan dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari
nilai_awal sampai nilai_akhir.
#Pernyataan repeat-until
Pernyataan repeat-until akan melakukan pengulangan aksi hingga kondisi
(persyaratan) berhenti terpenuhi.
Bentuk umum pernyataan repeat-until adalah sbb:
Repeat
Aksi
Until kondisi
Tidak seperti pada struktur for yang jumlah pengulangannya diketahui sebelum
pengulangan dilaksanakan, maka untuk struktur repeat-until digunakan jika jumlah
pengulangan tidak dapat diketahui di awal. Namun yang pasti, pengulangan aksi akan
terus dilakukan sampai kondisi berhenti dipenuhi.
#Pernyataan while-do
Sama seperti pada pernyataan repeat-until, pada pernyataan while-do ini digunakan
untuk pengulangan yang belum diketahui pasti jumlah pengulangannya. Berakhirnya
pengulangan ini ditentukan oleh suatu kondisi. Bila kondisi sudah tidak terpenuhi,
maka pengulangan akan berakhir. Dengan kata lain, selama kondisi masih terpenuhi,
pengulangan akan terus dilakukan.
Bentuk umum pernyataan while-do adalah sebagai berikut:
While kondisi do
Aksi
E. Latihan
1. 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, disebut ...
a) notasi
b) algoritme
c) pseudocode
d) programming
e) program
2. Pseudocode yang digunakan pada penulisan algoritme berupa…
a) Bahasa Inggris
b) Bahasa puitis
c) Bahasa pemrograman
d) Sembarangan bahasa asalkan terstruktur
e) Bahasa mesin
4. Apa saja kontruk dasar yang digunakan saat merancang algoritme pemrograman?
a) Sequencing, Programming, Iteration
b) Sequencing, Selection, Iteration
c) Sequencing, Selection, Programming
d) Programming, Selection, Iteration
e) Selection, Iteration, Looping
F. Referensi
Adi Nugroho, 2008, “Algoritme dan Struktur Data dalam Bahasa Java”, Penerbit Andi
Offset.
Behrouz Forouzan and Firouz Mosharraf, 2008, “Foundations of Computer Science”
Second Edition, Cengage Learning