Anda di halaman 1dari 13

BAB VII PENGANTAR PEMROGRAMAN

Kegiatan Belajar 1: Pengenalan Algoritme


Tujuan Kegiatan Belajar
• Mahasiswa dapat menjelaskan konsep algoritme
• Mahasiswa dapat menyebutkan notasi algoritme
• Mahasiswa dapat menjelaskan perbedaan tiga konstruk dasar algoritme

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.

Dalam kehidupan sehari-hari sebetulnya kita telah melakukan banyak proses


yang bisa dikatakan suatu algoritme, misalnya mengenai rute untuk pergi ke kampus.
Urutan dalam memilih rute perjalanan ke kampus tersebut bisa dituangkan ke dalam
bentuk algoritme agar kita dapat melihat jelas setiap proses yang ada. Setiap orang
mungkin akan berbeda dalam menuangkan proses algoritmenya, misalnya dalam
kasus ini Mahasiswa A bisa membuat algoritme untuk pergi ke kampus adalah
menggunakan sepeda, melewati jalan Colombo, pada persimpangan belok kiri, lurus
hingga tiba di kampus. Sedangkan, si B bisa jadi akan membuat langkah-langkah yang
berbeda walaupun dengan posisi awal dan tujuan yang sama. Namun yang terpenting
disini adalah akan lebih baik apabila suatu algoritme dibuat efektif dan lebih efisien.
Contoh lain algoritme yang sering ditemui dalam kehidupan sehari-hari adalah
tahapan memasak yang tercantum dalam kemasan makanan instan.

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.

Dalam konteks pemrograman komputer, suatu algoritme, didefinisikan sebagai:


Sekumpulan operasi yang tertata rapi (well-ordered), tidak ambigu (unambiguous)
and dan efektif secara komputasi (effectively computable), sehingga ketika algoritme
dijalankan, mampu mendapatkan hasil dalam jumlah waktu yang terbatas. Ada
beberapa manfaat yang bisa diperoleh dari pembuatan ataupun penulisan argoritma
permrograman komputer, diantaranya adalah: (1) Algoritme bersifat independen dari
bahasa pemrograman dan juga komputer yang melaksanakannya artinya pembuatan
algoritme tidak tergantung pada bahasa pemrograman manapun; (2) Notasi algoritme
bisa diterjemahkan ke dalam bahasa pemrograman yang beragam; (3) Output yang
akan dikeluarkan sama meskipun menggunakan bahasa pemgrograman yang berbeda.

Selain manfaat di atas, algoritme pemrograman memiliki sejumlah fungsi dan


tujuan tertentu. Berikut merupakan beberapa fungsi secara umum:
1. Membantu memecahkan permasalahan dengan menggunakan logika dan
sistematis.
2. Memudahkan dalam membuat sebuah program untuk masalah tertentu.
3. Mampu menyelesaikan suatu permasalahan yang sama berkali-kali.
4. Memudahkan membuat program yang lebih rapih dan terstruktur sehingga lebih
mudah dipahami dan dikembangkan.
5. Membantu menyederhanakan suatu program yang rumit dan besar.
6. Memudahkan proses modifikasi pada program karena bisa dilakukan hanya pada
satu modul tanpa harus mengubah modul lainnya.
7. Memudahkan proses dokumentasi dalam sebuah program.

Selanjutnya, algoritme pemrograman memiliki sejumlah syarat dan kriteria


tertentu. Berikut merupakan syarat-syarat yang harus ada di algoritme dan
penjelasannya secara umum:
1. Input, yakni permasalahan yang dihadapi dan akan dicarikan solusinya.
2. Proses, yakni rencana atau langkah-langkah yang harus dilakukan untuk
mencapai tujuan akhir.
3. Output, yakni solusi atau tampilan akhir yang didapatkan dari suatu algoritme.
4. Instruksi, yakni instrukti yang jelas dalam algoritme sehingga tidak terjadi
kesalahan dalam menghasilkan output.
5. Tujuan, yakni akhir dari program dimana program akan berhenti ketika tujuan
akhir telah tercapai.

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:

Nama Simbol Bentuk Keterangan


Simbol yang digunakan untuk
Terminator menunjukkan permulaan (start) atau akhir
(stop) dari suatu proses.
Simbol yang digunakan untuk
menghubungkan antara simbol yang satu
Garis Alir
dengan simbol yang lain (connecting line).
(Flow line)
Simbol ini juga berfungsi untuk
menunjukkan garis alir dari proses.
Simbol yang digunakan untuk
mempersiapkan penyimpanan di dalam
storage.
Simbol yang digunakan untuk
menunjukkan kegiatan yang dilakukan oleh
komputer. Pada bidang industri (proses
Process
produksi barang), simbol ini
menggambarkan kegiatan inspeksi atau
yang biasa dikenal dengan simbol inspeksi.
Simbol yang digunakan untuk
menunjukkan proses input/output yang
Input/Output
terjadi tanpa bergantung dari jenis
peralatannya.
Simbol yang digunakan untuk memilih
proses atau keputusan berdasarkan kondisi
Decision
yang ada. Simbol ini biasanya ditemui pada
flowchart program.
Nama Simbol Bentuk Keterangan
Simbol yang digunakan untuk
menunjukkan pelaksanaan suatu bagian
Predefined
prosedur (sub-proses). Dengan kata lain,
Process
prosedur yang terinformasi di sini belum
detail dan akan dirinci di tempat lain.
Simbol yang digunakan untuk
Manual Input menunjukkan input data secara manual
menggunakan keyboard.
Simbol ini fungsinya adalah untuk
Connector menyederhanakan hubungan antar simbol
On-Page yang letaknya berjauhan bila dihubungkan
dengan garis dalam satu halaman.
Sama seperti on-page connector, hanya saja
simbol ini digunakan untuk
Connector
menghubungkan simbol dalam halaman
Off-Page
berbeda. Label dari simbol ini dapat
menggunakan huruf atau angka.
Berikut contoh notasi pseudocode untuk menyelesaikan permasalahan menghitung
luas suatu lingkaran:
C. Konstruk Dasar Algoritme
1. Runtunan (Sequencing)
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara
berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan
setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan
keadaan akhir algoritme. Bila urutannya diubah, maka hasil akhir mungkin juga
berubah.

Gambar 1. Flowchart Sequencing

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.

Gambar 2. Flowchart Selection

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

Gambar 3. Flowchart Repetition


Catatan:
Pada pernyataan repeat-until dan while-do, pada dasarnya hampir sama yaitu
digunakan jika jumlah pengulangan belum dapat ditentukan. Tetapi terdapat
perbedaan yaitu pada pengecekan kondisi. Jika pada pernyataan while-do, kondisi
dicek pada awal blok pengulangan, pada pernyataan repeat-until, kondisi dicek pada
akhir blok pengulangan.
Perbedaan yang lain, bila pernyataan while-do mengulang pernyataan selama kondisi
masih terpenuhi, pernyataan repeat-until mengulang pernyataan selama kondisi
belum terpenuhi.
D. Rangkuman
Algoritme merupakan 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. Penulisan algoritme atau yang sering disebut notasi
algoritme dapat dilakukan kedalam bentuk deskriptif, pseudocode, dan flowchart.
Terdapat 3 buah konstruksi dasar untuk membuat algoritme yang terdiri dari proses
runtunan (sequential process), proses pemilihan (selection process) dan proses
perulangan (repetition process). Proses-proses ini termasuk kedalam konstruksi atau
struktur dasar algoritme.

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

3. Suatu bentuk yang penulisan langkah penyelesaian masalah menggunakan notasi


grafis berupa simbol-simbol standar disebut notasi…
a) Flowchart
b) Pseudocode
c) Bahasa alami
d) Bahasa Inggris
e) Bagan alir dokumen

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

5. Apa saja struktur pengulangan yang umum digunakan


a) for, loop, while-do
b) do-while, while-do, loop
c) for, repeat-until, while-do
d) if-then, if-else, if-elseif
e) if-then, if-then-else, if-then-else if

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

Anda mungkin juga menyukai