Untuk anda yang sudah mengenal bahasa pemrograman tentu tidak asing dengan yang namanya algoritma, namun tidak dengan anda yang baru pertama kali mengenal algoritma, atau mungkin yang baru mendengar istilah algoritma, anda akan bingung apa itu algoritma dan untuk apa belajar algoritma.
Pengertian dari Algoritma sendiri secara umum adalah urutan langkah-langkah untuk menyelesaikan suatu masalah.
Jika dikaitkan dengan pemecahan masalah matematika atau komputer algoritma sendiri dapat didefinisikan sebagai urutan langkah-langkah untuk menghitung atau menyelesaikan masalah menggunakan pendekatan bahasa pemrograman komputer.
Algoritma sangat dianjurkan untuk dipelajari terlebih dahulu sebelum terjun langsung kedalam bahasa pemrograman, jadi untuk anda yang ingin menjadi programmer maka perlu mengenal dan memahami algoritma sehingga ketika terjun ke bahasa pemrograman anda akan mudah untuk memahami loginya, terlepas apapun bahasa pemrograman yang digunakan.
Pada prakteknya penerapan atau penyajian algoritma untuk memecahkan suatu masalah dapat menggunakan 3 cara, yaitu menggunakan bahasa natural, flowchart dan psedudocode.
Perbedaan Bahasa Natural, Flowchart dan Pseudocode dalam algoritma
Berikut adalah perbedaan Perbedaan Bahasa Natural, Flowchart dan Pseudocode dalam algoritma:a. Algoritma Bahasa natural
Algoritma bahasa natural merupakan cara penyajian suatu algoritma yang paling sederhana dan paling mudah untuk dimengerti.Algoritma ditulis dengan bahasa yang kita gunakan sehari-hari (bahasa indonesia), atau bahasa apapun yang dipahami.
Ketika menyajikan algoritma dalam bahasa natural, maka ada beberapa hal yang perlu diperhatikan, urutan langkah-langkah harus dimulai dengan kata mulai / Start dan diakhiri dengan kata selesai / stop, atau anda juga bisa menggunakan istilah dengan bahasa lainnya yang serupa, Start dituliskan sebagai ‘inisialisasi’ atau ‘Mulai’, sedangkan End sendiri dituliskan sebagai ‘selesai’ dan dituliskan pada akhir algoritma.
Tidak ada aturan baku dalam hal penamaan Start dan End itu sendiri, tidak masalah jika Anda ingin memberikan penamaan yang berbeda yang terpenting adalah tetap mengandung arti/maksud yang sama.
Contoh :
Salah satu contoh kasus penulisan bahasa nautral algoritma dalam kehidupan sehari-hari adalah, Menukar 2 isi gelas, yaitu gelas berisi teh dan kopi, gelas berisi teh menjadi isinya kopi dan begitu sebaliknya.
Penyajian algoritma untuk masalah di atas dengan bahasa natural bisa ditulis dengan urutan langkah-langkah sebagai berikut:
1. Mulai
2. Siapkan 1 buah gelas kosong
3. Masukan gelas yang isinya teh kedalam gelas kosong.
4. Masukan gelas isi kopi ke gelas yang sebelumnya berisi teh yang sudah kosong.
5. Masukan teh dari gelas sebelumnya kosong ke gelas kosong yang sebelumnya berisi kopi.
6. Selesai
Di atas merupakan salah satu contoh, ada banyak sekali contoh permasalahan dalam sehari-hari yang bisa diselesaikan dengan algoritma bahasa natural. Permasalahan algoritma dalam kehidupan sehari-hari lainnya seperti resep membuat masakan, langkah-langkah menanak nasi dan lain sebagainya.
Yang harus diperhatikan ketika kita ingin membuat algoritma dalam bahasa natural adalah dimulai dengan kata kata mulai dan di langkah terakhir diakhiri dengan kata selesai.
b. Algoritma Flowchart
Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.Ternyata langkah-langkah untuk menyelesaikan masalah dalam algoritma selain dapat menggunakan bahasa natural, anda juga bisa menggunakan flowchart, namun untuk menggunakan flowchart anda setidaknya harus memahami simbol-simbol yang digunakan oleh flowchart.
Berikut adalah daftar simbol-simbol flowchart yang harus anda pahami untuk membuat algoritma:
Kita bisa menggunakan simbol-simbol di atas untuk menyelesaikan sebuah masalah dalam algoritma.
Contoh:
Berikut adalah salah satu contoh menggunakan flowchart untuk menyelesaikan kasus menghitung luas segitiga:
Yang harus diperhatikan ketika menyajikan algoritma flowchart adalah harus dimulai dengan simbol Start / mulai dan diakhiri dengan simbol Finish / selesai, seperti terlihat pada contoh di atas, bisa menggunakan bahasa apapun yang mudah dipahami.
c.Algoritma Pseudocode
Penyajian algoritma yang ke tiga adalah algoritma pesudocode, apa itu algoritma pseudocode ?Secara sederhana algoritma pseudocode adalah penulisan langkah-langkah penyelesaian masalah menggunakan pendekatan instruksi bahasa pemrograman, dengan tujuan agar lebih mudah dipahami ketika instruksi tersebut ditulis atau dikonversi kedalam bahasa pemrograman sebenarnya.
Penulisan algoritma pseudocode sebenarnya tidak mengenal aturan syntax khusus, namun syntax atau instruksi yang digunakan biasanya disesuaikan dengan bahasa pemorgraman yang nanti akan digunakan.
Seperti misalnya jika algoritma nanti akan dikonvesi ke bahasa pemrograman pascal, maka instruksi algoritma pseudocode akan menggunakan syntax yang hampir mirip dengan bahasa pemrograman pascal, begitu juga ketika bahasa pemrograman yang akan digunakan menggunakan bahasa C, maka instruksi algoritma peudocode akan menggunakan pendekatan bahasa C, begitu juga untuk bahasa pemrograman lainnya.
Aturan penulisan algoritma pseudocode
Berikut adalah aturan penulisan algoritma pseudocode dengan pendekatan bahasa pemrograman pascal:1. Struktur Algoritma pseudocode
Ketika membuat algoritma pseudocode menggunakan pendekatan bahasa pemrograman pascal maka langkah-langkah penulisannya dibagi menjadi 3 bagian sebagai berikut:a. Bagian Judul
Judul harus dimulai dengan kata ALGORITMA diikuti dengan nama judul.
Aturan penulisan nama judul:
- Tidak boleh mengandung spasi, spasi dapat diganti dengan karakter _ (underscore)
- Tidak boleh diawali dengan angka
- Tidak boleh menggunakan istilah-istilah yang sudah digunakan sebagai keyword di bahasa pemrograman.
- Bisa menggunakan huruf besar huruf kecil dan kombinasinya selama tidak menyalahi aturan diatas.
Jika anda pemula dan sulit memahami apa itu variable, sebaiknya anda membaca dulu mengenai konsep dasar algoritma yang sudah saya tulis sebeumnya.
c. Bagian Deskripsi
Bagian deskripsi adalah bagian yang berisi proses algoritma, pada bagian ini ditulis proses penyelesaian masalah. pada bagian ini diawali dengan tulisan Deskripsi:
d. Komentar
Komentar sifatnya opsional boleh dicantumkana tau tidak, komentar isinya untuk memberi penjelasan atau keterangan mengenai instruksi didalam algoritma penulisan komentar bisa diletakan dibaris mana saja didalam struktur algoritma, namun penulisan komentar harus di dalam tanda kurung kurawal {....}
contoh penulisan komentar:
{Ini komentar}
2. Instuksi / Syntax penulisan algoritma psedeocode
Selain memahami bagian penulisan algoritma di atas juga harus memahami instruksi atau syntax penulisan.Untuk instruksi atau syntax dalam penulisan algoritma pseudocode umumnya akan menyesuaikan dengan pendekatan bahasa pemrograman yang akan digunakan.
Seperti misalnya jika bahasa pemrograman yang akan digunakan untuk mengkonversi algoritma tersebut adalah pascal, maka syntax algoritma pseudocode akan mengandung instruksi dan aturan penulisan yang digunalan dalam bahasa pemrograman pascal. begitu juga ketika menggunakan bahasa pemrograman yang lainnya.
Berikut beberapa syntax algoritma pseudocode bahasa pemrograman pascal yang sering digunakan untuk memahami algoritma tahap awal.
a. Penulisan variable
Penulisan variable ada dibagian deklarasi, aturan penulisannya kurang lebih seperti di bawah ini:
var1:var2,var3 : tipe_data
Untuk tipe_data, ada banyak sekali jenis nama tipe data yang bisa digunakan seperti integer, string, char, byte dll silahkan pelajari di artikel internet..
b. Masukan
untuk menulis instruksi masukan dari pengguna maka ditulis dengan instruksi:
read(variable_masukan)
c. Keluaran
untuk mencetak keluaran maka penulisannya adalah sebagai berikut:
write(variable_keluaran)
d. Instruksi lainnya menyesuaikan dengan instruksi bahasa pemrograman yang digunakan, akan dijelaskan lebih lanjut sesuai dengan kasus algoritma yang ingin dipecahkan.
Contoh:
Berikut adalah contoh algoritma pseudocode dengan pendekatan bahasa pemrograman pascal untuk kasus menghitung luas segitiga dengan ketentuan.Luas dan alas diinput oleh pengguna dan hasil dari perhitungan disimpan dalam variable hasil kemudian hasilnya ditampilkan sebagai output.
ALGORITMA hitung_luas_segitiga
{Algorima pseudocode untuk menghitung luas segitiga}
Deklarasi:
{Deklarasi variable yang digunakan diproses perhitungan}
hasil,alas,tinggi : Integer
Deskripsi :
{Input dari pengguna disimpan divariable alas dan tinggi}
read(alas,tinggi}
{perhitungan luas (1/2 alas x tinggi ) disimpan di variable hasil}
hasil <- 1/2 * alas * tinggi
{Menampilkan hasil perhitungan}
write(hasil)