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. Pseudocode
adalah
kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C,
sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan
dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya
dengan flowchart.
Secara
umum, pseudocode mengekspresikan ide-ide secara informal
dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode
pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya
versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan
ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal.
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.
Ada dua
macam flowchart yang menggambarkan proses dengan komputer, yaitu:
Flowchart
sistem yaitu bagan dengan simbol-simbol tertentu
yang menggambarkan urutan prosedur dan proses suatu file
dalam
suatu media menjadi file di dalam
media lain, dalam suatu sistem pengolahan data.
Beberapa contoh Flowchart
sistem:
Flowchart program yaitu
bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan
hubungan antar proses secara mendetail di dalam suatu program.
Kaidah-Kaidah Umum Pembuatan Flowchart
Program
Dalam
pembuatan flowchart Program
tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart
merupakan
gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer.
Sehingga flowchart Input (Bahan
mentah) Proses Output
(Bahan Jadi) yang dihasilkan dapat bervariasi antara satu pemrogram dengan
yang lainnya.
Namun
secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
- Input,
- Proses pengolahan dan
- Output
Untuk
pengolahan data dengan komputer, urutan dasar pemecahan suat masalah:
- START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
- READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
- PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
- WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
- END, mengakhiri kegiatan pengolahan.
Walaupun
tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun
ada beberapa anjuran:
Hindari
pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya
proses menjadi singkat.
Jalannya
proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
Sebuah flowchart
diawali
dari satu titik START dan diakhiri dengan END.
Berikut
merupakan beberapa contoh simbol flowchart yang
disepakati oleh dunia pemrograman:
Untuk
memahami lebih dalam mengenai flowchart ini, akan
diambil sebuah kasus sederhana.
Kasus:
Buatlah sebuah rancangan
program dengan menggunakan flowchart, mencari
luas persegi panjang.
Solusi:
Perumusan untuk mencari luas
persegi panjang adalah: L =
p. l
di mana, L
adalah Luas persegi panjang, p
adalah panjang persegi, dan l
adalah lebar persegi.
Keterangan
1:
- Simbol pertama menunjukkan dimulainya sebuah program.
- Simbol kedua menunjukkan bahwa input data dari p dan l.
- Data dari p dan l akan diproses pada simbol ketiga dengan perumusan L = p. l
- Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
- Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.
Struktur
Dasar Algoritma
Algoritma
berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut
dapat berupa runtunan aksi (sequence),
pemilihan aksi (selection),
pengulangan aksi (iteration) atau
kombinasi dari ketiganya.
Jadi struktur
dasar pembangunan algoritma ada tiga, yaitu:
- Struktur Runtunan Digunakan untuk program yang pernyataannya sequential atau urutan.
- Struktur Pemilihan Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
- Struktur Perulangan Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Tahapan
dalam Pemrograman
Langkah-langkah
yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer
adalah:
- Definisikan Masalah
Berikut adalah hal-hal yang
harus diketahui dalam analisis masalah supaya kita mengetahui bagaimana
permasalahan tersebut:
a. Kondisi
awal, yaitu input yang
tersedia.
b. Kondisi
akhir, yaitu output yang
diinginkan.
c. Data lain
yang tersedia.
d. Operator
yang tersedia.
e. Syarat
atau kendala yang harus dipenuhi.
Contoh
kasus:
Menghitung
biaya percakapan telepon di wartel. Proses yang perlu diperhatikan adalah:
a. Input
yang
tersedia adalah jam mulai bicara dan jam selesai bicara.
b. Output
yang
diinginkan adalah biaya percakapan.
c. Data lain
yang tersedia adalah besarnya pulsa yang digunakan dan biaya per pulsa.
d. Operator
yang tersedia adalah pengurangan (-), penambahan (+), dan perkalian (*).
e. Syarat
kendala yang harus dipenuhi adalah aturan jarak dan aturan waktu.
- Buat Algoritma dan Struktur Cara Penyelesaian
Jika
masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap penyusunan
algoritma seringkali dimulai dari langkah yang global terlebih dahulu. Langkah
global ini diperhalus sampai menjadi langkah yang lebih rinci atau detail. Cara
pendekatan ini sangat bermanfaat dalam pembuatan algoritma untuk masalah yang
kompleks. Penghalusan langkah dengan cara memecah langkah menjadi beberapa
langkah. Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih sederhana.
Penghalusan langkah ini akan terus berlanjut sampai setiap langkah sudah cukup
rinci dan tepat untuk dilaksanakan oleh pemroses.
- Menulis Program
Algoritma
yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah program.
Perlu diperhatikan bahwa pemilihan algoritma yang salah akan menyebabkan
program memiliki untuk kerja yang kurang baik.
Program
yang baik memiliki standar penilaian:
a. Standar teknik pemecahan masalah
·
Teknik Top-Down
Teknik pemecahan masalah yang paling umum
digunakan. Prinsipnya adalah suatu masalah yang kompleks dibagi-bagi ke dalam
beberapa kelompok masalah yang lebih kecil. Dari masalah yang kecil tersebut
dilakukan analisis. Jika dimungkinkan maka masalah tersebut akan dipilah lagi
menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian
yang lebih detail.
·
Teknik Bottom-Up
Prinsip teknik bottom
up adalah
pemecahan masalah yang kompleks dilakukan dengan menggabungkan
prosedur-prosedur yang ada menjadi satu kesatuan program sebagai penyelesaian masalah
tersebut.
b. Standar penyusunan program
- Kebenaran logika dan penulisan.
- Waktu minimum untuk penulisan program.
- Kecepatan maksimum eksekusi program.
- Ekspresi penggunaan memori.
- Kemudahan merawat dan mengembangkan program.
- User Friendly.
- Portability.
- Pemrograman modular.
- Kebenaran logika dan penulisan.
- Waktu minimum untuk penulisan program.
- Kecepatan maksimum eksekusi program.
- Ekspresi penggunaan memori.
- Kemudahan merawat dan mengembangkan program.
- User Friendly.
- Portability.
- Pemrograman modular.
- Mencari Kesalahan
a. Kesalahan
sintaks (penulisan program).
b. Kesalahan
pelaksanaan: semantik, logika, dan ketelitian.
- Uji dan Verifikasi Program
Pertama
kali harus diuji apakah program dapat dijalankan. Apabila program tidak dapat
dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila program
dapat dijalankan, maka harus diuji dengan menggunakan data-data yang biasa
yaitu data yang diharapkan oleh sistem. Contoh data ekstrem, misalnya, program
menghendaki masukan jumlah data tetapi user mengisikan
bilangan negatif. Program sebaiknya diuji menggunakan data yang relatif banyak.
- Dokumentasi Program
Dokumentasi
program ada dua macam yaitu dokumentasi internal dan dokumentasi eksternal.
Dokumentasi internal adalah dokumentasi yang dibuat di dalam program yaitu
setiap kita menuliskan baris program sebaiknya diberi komentar atau keterangan
supaya mempermudah kita untuk mengingat logika yang terdapat di dalam instruksi
tersebut, hal ini sangat bermanfaat ketika suatu saat program tersebut akan dikembangkan.
Dokumentasi eksternal adalah dokumentasi yang dilakukan dari luar program yaitu
membuat user guide atau buku petunjuk aturan atau cara
menjalankan program tersebut.
- Pemeliharaan Program
a. Memperbaiki
kekurangan yang ditemukan kemudian.
b. Memodifikasi,
karena perubahan spesifikasi.
Pemrograman Prosedural
Algoritma
berisi urutan langkah-langkah penyelesaian masalah. Ini berarti algoritma
adalah proses yang prosedural. Pada program prosedural, program dibedakan
antara bagian data dengan bagian instruksi. Bagian instruksi terdiri dari atas
runtunan (sequence) instruksi
yang dilaksanakan satu per satu secara berurutan oleh sebuah pemroses. Alur
pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data
yang disimpan di dalam memori dimanipulasi oleh instruksi secara beruntun. Kita
katakan bahwa tahapan pelaksanaan program mengikuti pola beruntun atau
prosedural.
Paradigma
pemrograman seperti ini dinamakan pemrograman prosedural. Bahasa-bahasa tingkat
tinggi seperti Cobol, Basic, Pascal, Fortran, dan C/C++
mendukung kegiatan pemrograman prosedural, karena itu mereka dinamakan juga
bahasa prosedural. Selain paradigma pemrograman prosedural, ada lagi paradigma
yang lain yaitu pemrograman berorientasi objek (Object
Oriented Programming atau OOP). Paradigma pemrograman ini
merupakan trend baru dan
sangat popular akhir-akhir ini.
Pada paradigma
OOP, data dan instruksi dibungkus (encapsulation) menjadi
satu. Kesatuan ini disebut kelas (class) dan
instansiasi kelas pada saat run-time disebut
objek (object). Data di dalam objek hanya dapat diakses
oleh instruksi yang ada di dalam objek itu saja. Paradigma pemrograman yang
lain adalah pemrograman fungsional, pemrograman deklaratif, dan pemrograman
konkuren. Tulisan ini hanya menyajikan paradigma pemrograman presedural saja.
Paradigma pemrograman yang lain di luar cakupan Tulisan ini.
Contoh Kasus dan Penyelesaian
1.
Menghitung luas dan keliling lingkaran Proses
kerjanya sebagai berikut:
a. Baca
jari-jari lingkaran
b. Tentukan
konstanta phi = 3.14
c. Hitung
luas dan keliling L = phi*r*r, K = 2*phi*r
d. Cetak luas
dan keliling
2.
Menghitung rata-rata tiga buah data
a. Algoritma dengan struktur bahasa
Indonesia
- Baca bilangan a, b, dan c
- Jumlahkan ketiga bilangan
tersebut
- Bagi jumlah tersebut dengan
3
- Tulis hasilnya
b. Algoritma dengan pseudocode
input
(a,
b, c)
Jml = a+b+c
Rerata = Jml/3
Output
(Rerata)
3.
Algoritma konversi suhu dalam derajat
Celcius ke derajat Kalvin
Penyelesaian menggunakan pseudocode:
Input (Celcius)
Kalvin = Celcius + 273
Output (Kalvin)
Latihan
1. Buatlah
sebuah rancangan program dengan menggunakan flowchart
untuk
menghitung luas lingkaran!
2. Belajar
memprogram dan belajar bahasa pemrograman adalah dua hal yang berbeda. Jelaskan!
3. Di manakah
letak kesalahan algoritma memutar kaset tape
recorder di bawah ini:
Algoritma Memutar Kaset
1.
Pastikan tape
recorder dalam keadaan POWER ON.
2.
Tekan tombol PLAY.
3. Masukkan
kaset ke dalam tape recorder.