Algoritme adalah urutan langkah atau proses dalam suatu program.
Robot, seperti halnya komputer, tidak memahami bahasa manusia. Untuk bisa memerintahkan robot atau komputer, manusia perlu menggunakan bahasa yang dipahami oleh mesin. Bahasa itulah yang disebut dengan bahasa pemrograman. Aturan menulis 'kalimat' agar mampu dimengerti dengan benar oleh bahasa pemrograman disebut syntax. Kumpulan syntax pemrograman itulah yang disebut dengan program.
Kali ini, kitak tidak akan membuat program dengan bahasa pemrograman tertentu. Kita cukup membuat program dengan notasi algoritmik.
1. Notasi Algoritmik
Notasi algoritmik adalah notasi yang dipakai sebagai standar dalam menuliskan teks algoritme. Notasi algoritme terdiri atas tiga bagian utama, yaitu Judul (header), kamus, dan algoritme. Perhatikan penulisan ketiga bagian tersebut berikut.
JUDUL
{ Ini adalah teks dalam bahasa Indonesia untuk memudahkan pembacaan teks algoritme }
KAMUS
{Pada bagian ini, dilakukan pendefinisian nama konstanta, nama variabel, spesifikasi prosedur, spesifikasi fungsi}
ALGORITME
{ Pada bagian ini, semua teks yang tidak dituliskan di antara tanda kurung kurawal buka dan kurung kurawal tutup harus dianggap sebagai notasi algoritmik }
Penjelasan lebih terperinci mengenai ketiga bagian tersebut yaitu sebagai berikut.
a. Judul, berisi teks algoritmik secara keseluruhan dan intisari sebuah teks algoritmik tersebut. Bagian ini mirip dengan judul buku dan intisari pada sebuah buku yang kamu baca.
b. Kamus, berisi konstanta, variabel, prosedur, dan fungsi (jika ada).
c. Algoritme, berisi langkah-langkah penyelesaian masalah.
Untuk membuat komputer menampilkan tulisan di layar maka kita dapat menggunakan notasi berikut.
Program Menulis
KAMUS
ALGORITME
output ("Halo Saya Robot ")
Jika menginginkan robot menuliskan ke layar seperti contoh di atas dan menyebutkan kembali input yang dimasukkan oleh user maka notasi algoritmik akan berubah menjadi seperti berikut.
PROGRAM Menulis
Kamus
x: String
Algoritme
input(x)
output(" Halo Saya Robot! Salam Kenal", x)
Misalnya, input dari user x = Tina
Maka output akan menjadi Halo Saya Robot! Salam Kenal, Tina.
x dalam program di atas disebut variabel.
2. Variabel
Apa yang dimaksud variabel? Sebelum kamu mengetahui tentang variabel, lakukan kegiatan berikut.
Pada kegiatan tersebut, a, b, dan c disebut variabel. Secara analogi, variabel dapat diibaratkan dengan wadah. Oleh karena gelas-gelas itu adalah wadah maka gelas-gelas itu disebut variabel. Sementara itu, air teh dan air sirup adalah isi atau nilai. Dalam notasi algoritmik, nilai disebut juga value. Jadi, variabel adalah suatu tempat yang digunakan untuk menampung nilai.
Perhatikan contoh berikut.
x = Tina, maka x adalah variabel
Adapun Tina adalah nilai atau value
Ketika ada pernyataan x = Tina maka nilai atau value Tina akan diisikan ke dalam wadah atau variabel x.
Oleh karena itu, setelah pernyataan tersebut dieksekusi, x menjadi berisi Tina.
a. Penulisan Nama Variabel
Pada notasi algoritmik, tidak ada aturan ketat mengenai nama variabel, tidak harus case sensitive seperti halnya bahasa pemrograman tertentu. Case sensitive adalah suatu aturan penulisan ejaan yang membedakan antara huruf kapital dan huruf kecil.
Perlu diingat bahwa nama variabel tidak boleh diawali dengan angka seperti 1x, 2xy, 3xy. Penulisan angka dalam nama variabel berada di belakang atau di tengah nama variabel. Contohnya, xl dan xly.
Jika nama variabel terdiri atas dua kata atau lebih, penulisannya tidak boleh terpisah dengan spasi, tetapi dapat dipilih satu dari dua pilihan:
1. Disambung atau digabung. Contohnya, umur nak atau umurAnak.
2. Diberi_ (underscore). Contohnya, umur_anak.
b. Pendefinisian Variabel
Sebelum digunakan, variabel didefinisikan atau diperkenalkan terlebih dahulu. Perhatikan format penulisan variabel pada notasi algoritmik berikut.
nama_variabel: tipe data
Misal variabel x memiliki tipe data berupa string. string adalah tipe data untuk teks yang merupakan gabungan huruf, angka, whitespace (spasi), dan berbagai karakter. Fungsi ini digunakan untuk membuat identifier string/teks. Oleh karena itu, pada Kamus algoritmik, ditulis sebagai berikut.
x : String
Misal variabel umur_anak adalah sebuah integer (int). Integer adalah tipe data yang bertujuan untuk menyimpan bilangan bulat (negatif, 0, dan positif).
Oleh karena itu, pada kamus algoritmik, ditulis sebagai berikut.
umur_anak : int
c. Pengisian Variabel
Bagaimanakah cara mengisi variabel? ada 2 cara pengisian yaitu:
1) Assignment = memberikan nilai/value pada variabel. Assignment digunakan untuk mengubah value yang disimpan dalam variabel. Assignment mengakibatkan value dicopy ke dalam suatu memori, menimpa value sebelumnya dari variabel. Sebuah variabel dapat di-assign value yang berbeda-beda selama berulang kali dalam suatu eksekusi program
Contoh:
nama1: nama2
Artinya, value dari nama2 disalin ke nama1.
Oleh karena itu, setelah instruksi ini dieksekusi, value dari nama1 sama dengan value dari nama2.
Ada beberapa syarat antara lain:
a) tipe data dari nama1 sama dengan tipe data nama2;
b) nama1 harus merupakan nama sebuah variabel;
c) nama2 boleh berupa value atau nilai, konstanta, maupun nama variabel lain.
2) Membaca dari suatu piranti masukan, yaitu pembacaan input value dari pengguna melalui piranti masukan, seperti papan tik, tetikus, dan pemindai.
Contoh:
Input (nama1)
Syarat:
a) nama1 boleh berisi satu atau lebih nama;
b) nama1 tidak boleh berupa konstanta, fungsi, maupun prosedur.
Instruksi output artinya menampilkan nilai melalui piranti keluaran, misalnya layar monitor dan printer. Instruksi ini tidak mengubah nilai yang disimpan.
output(nama1)
3. Kondisional/Percabangan
Untuk menyatakan pilihan aksi dan kondisi maka dinyatakan dalam bentuk kondisional/percabangan.
Kondisional artinya pernyataan yang hanya dijalankan pada kondisi tertentu.
If (kondisi) then
Lakukan aksi
Jika kondisi benar/true maka aksi akan dilakukan. Akan tetapi jika kondisi salah/false maka aksi tidak dilakukan. True atau false ini adalah suatu boolean.
Misalnya, ada program untuk mengecek usia di atas 18th. Jika usia di atas 18th maka program akan mengoutputkan dewasa.
Dalam program ini, terdapat sebuah variabel bernama usia dengan tipe data int.
PROGRAM CekUsia
KAMUS
usia : int
ALGORITME
input(usia)
if (usia==18) then
output ("dewasa")
a. Perbedaan = dan ==
Dapatkah kamu membedakan arti = dan ==? artinya operator assignment/pemberian nilai. Misalnya, usia=10 artinya 10 di-assign atau diberikan pada variabel usia sehingga variabel usia menjadi bernilai 10.
Sementara itu, == artinya operator equality atau mengecek apakah nilainya sama atau tidak (menguji kesamaan). Pada pernyataan usia==18, artinya pernyataan tersebut mengecek apakah nilai dari variabel usia sama dengan 18.
b. Mengenal Operator Relasional
Operator relasional digunakan untuk membandingkan dua nilai (variabel) atau lebih. Hasil operasinya akan mengembalikan nilai berupa true atau false. Berikut adalah berbagai jenis operator relasional.
> a>b True jika a lebih besar daripada b
< a<b True jika a lebih kecil daripada b
>= a>=b True jika a lebih besar/sama dengan b
<= a<=b True jika a lebih kecil/sama dengan b
== a==b True jika a sama dengan b
!= a!=b True jika a tidak sama dengan b
c. IF..THEN..Else..
Terkadang kita membutuhkan aksi yang lainnya. Aksi yang lainnya inilah yang kita letakkan pada pernyataan else (lainnya).
if (kondisi = true) then
Lakukan aksi1
else
Lakukan aksi2
Contoh, ketika kamu berada di sekolah, saat jam istirahat pergi ke kantin. Akan tetapi, jika bukan jam istirahat, kamu tetap berada di kelas.
Pernyataan di atas jika ditulis dalam notasi algoritmik menjadi:
if (waktu==istirahat) then
pergi ke kantin
else
tetap di kelas
d. Jika Terdapat Lebih dari Satu Kondisi
Jika terdapat lebih dari satu kondisi, kita membutuhkan operator kondisional. Berikut adalah jenis-jenis operator kondisional.
&& a&&b True jika a dan b keduanya memiliki true
|| a||b True jika a atau b bernilai true
! ! a True jika a bernilai false
Perhatikan contoh berikut.
Suatu tempat wisata menggratiskan tiket bagi pengunjung yang berusia kurang lebih 5 tahun atau lebih dari 60 tahun.
Pertanyaan di atas jika ditulis dalam sebuah notasi algoritmik menjadi:
if (usia<5||(usia>60) then
output ("tiket gratis")
else
output ("tiket berbayar")
Komentar
Posting Komentar