Mungkin di antara anda ada yang bertanya kenapa harus belajar algoritma?, apa tujuannya?, jika anda ingin menguasai bahasa pemrograman dan ingin memahami bagaimana logika bahasa pemrograman maka yang harus dipelajari adalah algoritma, bahasa pemrograman adalah kode-kode khusus dengan aturan tertentu untuk meng instruksikan komputer, ada banyak jenis bahasa pemrograman namun logika setiap bahasa pemrograman tidak jauh berbeda, untuk memahami logika bahasa pemrograman maka yang harus dipelajari adalah algoritma, jika anda menguasai algoritma maka script bahasa pemrograman apapun biasa anda kuasai dengan mudah.
Untuk memahami algoritma dasar, anda perlu memahami konsep dasarnya, seperti yang pernah saya tulis di artikel sebelumnya tentang memahami konsep dasar algoritma untuk pemula, konsepnya sebenarnya sederhana, bahkan kita bisa mulai mengenal algoritma menggunakan konsep yang bisa kita temukan di kehidupan sehari-hari, seperti misalnya ketika anda ingin menukarkan isi 2 buah gelas, yang 1 berisi susu dan gelas lainnya berisi kopi, coba anda fikirkan bagaimana cara menukarkan isi kedua gelas tersebut.
Pengenalan Konsep algoritma dalam kehidupan sehari-hari
Ya...saya yakin cara anda bisa jadi sama dengan apa yang saya fikirkan, yaitu dengan menyediakan 1 gelas kosong kemudian pindahkan isi salah satu gelas misalnya kopi ke gelas yang kosong tersebut, dan gelas berisi susu tuangkan ke gelas kosong yang sebelumnya berisi kopi, kemudian gelas yang kosong yang sudah diisi kopi tuangkan ke gelas kosong yang sebelumnya berisi susu, maka selesai. gimana mudah bukan. Ketika anda memikirkan sebuah solusi atau langkah penyelesaian untuk kasus di atas, secara tidak langsung anda sudah bersentuhan dengan cara berfikir algoritma.
Ilustrasi langkah-langkah penyelesaian masalah untuk kasus tersebut akan terlihat seperti gambar di bawah ini:
C adalah gelas kosong,
langkah 1: isi dari gelas A tuangkan ke C
langkah 2: isi dari gelas B tuangkan ke gelas A yang kosong isinya sudah dituangkan ke gelas C
langkah 3: isi dari gelas C tuangkan ke gelas B yang sudah kosong
Dalam 3 langkah kasus di atas dapat terselesaikan
Langkah-langkah Penyelesaian kasus di atas tanpa anda sadari sama dengan langkah-langkah penyelesaian menggunakan algoritma.
Konsep Struktur Algoritma
Langkah-langkah penyelesaian menggunakan algoritma memiliki aturan khusus, biasanya menggunakan pendekatan bahasa pemrograman yang ada, jika targetnya adalah untuk mempelajari bahasa pemrograman pascal, maka struktur algoritma juga akan menggunakan pendekatan struktur dalam bahasa pemrograman pascal, begitu juga untuk algoritma bahasa pemrograman lainnya.
Struktu algoritma adalah aturan penulisan algoritma untuk memecahkan suatu kasus. sebenarnya untuk masalah struktur yang serupa dengan algoritma tanpa anda sadari anda juga sering terlibat, seperti misalnya ketika anda diminta oleh guru matematika atau fisika untuk menyelesaikan kasus matematika dalam bentuk soal cerita.
Kebanyakan langkah-langkah penyelesaian soal tersebut strukturnya kurang lebih akan seperti ini:
Diketahui:
Cantumkan apa saja data yang diketahui di dalam soal yang dapat membantu untuk mecahkan soal;
Ditanyakan:
Apa yang harus dipecahkan
Jawab:
Berisi uiraian penyelesaian soal sampai ditemukan jawabannya.
Saya yakin, ketika anda mengenyam bangku SD, SMP penyelesaian dengan langkah-langkah di atas sering anda temui, jika dihubungkan dengan algoritma, maka cara penyelesaian soal di atas tidak jauh berbeda dengan algoritma, yang membedakan adalah struktrunya saja. ketika dipecahkan di algoritma strukturnya sedikit berbeda.
Pengenalan Konsep Variable dan Tipe data dalam Algoritma
Untuk pemula saya yakin anda akan sulit memahami apa itu variable dan apa itu tipe data? untuk apa?. coba baca lagi dan perhatikan kasus algoritma untuk menukarkan 2 gelas berisi susu dan kopi diatas.
Secara tidak langsung di kasus di atas anda sudah bersentuhan dengan variable dan tipe data, agar anda lebih paham tentang variable dan tipe data saya akan menggunakan ilustrasi kasus tersebut.
Gelas gelas yang digunakan, bisa dianalogikan sebagai Variable, jadi variable itu semacam wadah untuk menampung sesuatu.
Kopi dan Susu, yang bisa ditampung oleh gelas itu bisa dianalogikan sebagai Tipe data.
Jadi kesimpulannya, variable bisa anda interpretasikan sebagai sebuah penampung atau wadah, sedangkan tipe data bisa anda interpretasikan sebagai jenis isi yang dapat ditampung oleh variable. sampai sini semoga anda paham.
Jadi ketika anda bersentuhan dengan penyelesaian masalah menggunakan algoritma andapun akan sering berinteraksi dengan variable dan tipe data, anggap saja keduanya seperti ilustrasi diatas, sehingga ketika berinteraksi dengan variable dan tipe data anda jadi tau maksudnya
Struktur Penulisan algoritma
Struktur dalam algoritma adalah aturan atau metode khusus penulisan berupa langkah-langkah untuk penyelesaian suatu masalah yang akan dipecahkan yang merepresentasikan proses yang terjadi di dalam program secara terkomputerisasi. beberapa metode penulisan dalam algoritma meliputi:
- Menggunakan bahasa alami atau natural language, bahasa inggris, bahasa indonesia atau bahasa lainnya
- Menggunakan flowchart atau bagan alir dokumen
- Menggunakan notasi pseudocode
Sedangkan struktur algoritma terdiri dari 3 bagian yaitu sebagai berikut:
- Bagian Header atau kepala, awal penulisan algoritma biasanya mewakili judul algoritma yang biasanya diawali dengan kata program diikuti oleh judul program.
- Bagian Pendeklarasian, Disini tempatnya untuk mendeklarasikan atau menyebutkan variable-variable yang nanti akan digunakan untuk membantu proses penyelesaian (lihat lagi konsep algoritma untuk kasus menukar 2 isi gelas di atas)
- Bagian body atau badan algoritma, ini untuk menguraikan langkah-langkah urutan proses penyelesaian sampai masalah terpecahkan.
Contoh Penulisan algoritma :
Program cetak_kata
{program ini untuk menampilkan kata "Selamat datang" pada layar monitor}
Deklarasi
X: string {X adalah nama variable dan string adalah tipe datanya, variable dengan tipe data string digunakan untuk menampung tulisan}
Algoritma:
X <-- Selamat datang { tanda panah <-- ini artinya kata selamat datang diisikan pada variable X, jadi variable X seperti wadahnya dan kata selamat datang adalah isinya}
Write(X) {perintah write(X) adalah untuk mencetak isi yang terdapat di dalam variable X}
Struktur Penulisan Algoritma dengan Bahasa Natural
Struktur penulisan algoritma bisa menggunakan bahasa natural (bahasa indonesia misalnya) sehingga algoritma lebih mudah dipahami, struktur algoritma dengan bahasa natural biasanya disajikans secara singkat jelas dan padat serta mudah dimengerti dan dapat mewakili proses yang akan dilakukan. tidak memiliki aturan baku yang penting mudah dipahami.
Contoh Struktur penulisan algoritma dengan bahasa natural:
Program Menampilkan tulisan di layar komputer
Deklarasi
Menggunakan variable X untuk menampung kata yang akan dicetak
Algoritma:
1. Variable X diisi dengan kata "Selamat datang"
2. Cetak isi dari variable X di layar komputer
3. Selesai.
Contoh di atas hanya contoh sederhana saja, uraian langkah-langkah proses penyelesaian mungkin ankan berbeda sesuai dengan kasus yang ingin dipecahkan.
Struktur Algoritma dengan Flowchart
Dulu ketika komputer baru ditemukan pemecahan masalah diselesaikan menggunakan Bentuk bangun ruang yang memiliki arti khusus, sekarang bagan ini dikenal sebagai flowchart atau bagan alir yang menunjukan bagan alir data (flowchart) secara logika.
Gaya penulisan algoritma dengan flowchart sifatnya standar dan penggunaannya sama yang saat ini banyak digunakan sebagai media berkomunikasi dan dokumentasi. pedoman ketika menggunakan metode flowchart adalah sebagai berikut:
- Aturan Peletakan simbol bagan alir (flowchart) sebaiknya dari atas ke bawah di mulai dari sebelah kiri halaman.
- Setiap simbol mewakili kegiatan yang harus ditulis dengan jelas
- Dimulai dengan simbol Start dan diakhiri dengan simbol END
- Setiap kegiatan harus memiliki input dan menghasilkan output
- Nama kegiatan atau proses di dalam flowchart sebaiknya menggunakan kata kerja seperti hitung, entry data dll.
- Setiap kegiatan di flowchart harus memiliki alur dan proses secara rinci dan jelas
- Kegitan yang terpotong karena keterbatasan halaman akan dipotong dengan jelas menggunakan simbol penghubung.
Jenis bagan alir flowchart adalah 5 jenis sebagai berikut:
- Bagan alir sistem, menjelaskan urutan setiap prosedur dalam sistem
- Bagan alir dokumen (document flowchart), yang menunjukan arah aliran data laporan atau formulir pada sub program atau proses
- Bagan alir skematik (schematic flowchart) mirip dengan bagan alir sistem, untuk menggambarkan skema aliran data pada prosedur di dalam sistem
- Bagan alir program (program flowchart), berguna untuk analisis sistem dengan menggambarkan proses dalam suatu prosedur program
- Bagan alir proses (process flowchart) bagan yang sering digunakan di dalam aliran proses pada teknik industri.
Algoritma flowchart menggunakan simbol khusus yang harus dipahami dan diingat sebagai berikut:
Contoh Algoritma menggunakan flowchart
Algoritma flowchart di bawah ini untuk mencetak nilai paling besar dari 3 nilai yang diinput oleh pengguna:
Struktur Algoritma dengan Pseudocode
Pseudo artinya tidak sebenarnya, semu atau samar. Pseode kode adalah sebuah kode notasi yang tidak sebenarnya yang mewakili logika algoritma dan bahasa pemrograman.
Pseudo kode tidak memiliki aturan penulisan khusus, tidak seperti dalam bahasa pemrograman. pedoman penulisan algoritma dengan pseudocode adalah sebagai berikut:
1. Memiliki bagian Header yang menunjukan judul algoritma, komentar dan deklarasi
2. Memiliki bagian badan algoritma yang menunjukan inti dari proses
3. Memiliki bagian akhir proses algoritma
4. Pendeklarasian di bagian header tidak jauh berbeda penulisannya dengan algoritma
Contoh penulisan deklarasi
Deklarasi
Nama_variable : tipe data
misal:
Deklarasi X : String
5. Assignment (pernyataan/penugasan) saat memberikan sebuah nilai pada variable menggunakan format <--
contoh :
angka <-- 100
Dapat diartikan 100 di masukan pada variable angka.
6. Banyak menggunakan bahasa inggris seperti misalya
IF...., Read, Write... dll
7. Komentar di tulis dalam tanda kurung kurawal {.....komentar......}
Contoh Algoritma menggunakan Pseudocode:
program hitung_jumlah_tamu
Deklarasi
bejana : integer
gelas : integer
tamu : integer
Algoritma
bejana <-- 12
gelas <-- 0.25
tamu <-- bejana/gelas
write(tamu)
-