Materi Informatika SMA/MA X - Algortima dan Pemrograman
A. Pentingnya Algoritma
1. Meningkatkan
Kemampuan Berpikir Secara Logis
Sebagian
orang kata pemrograman atau koding terdengar susah namun zaman sekarang ini
kita dituntut untuk mempelajari koding atau pemrograman di bangku sekolah. Mengapa
belajar pemrograman itu penting? Ya dengan belajar pemrograman/koding sejak
diusia muda, kita kan diajarkan untuk membiasakan diri berpikir secara logis
dan sistematis. Ketika pikiran kita dibiasakan untuk menggunakan logika, tanpa
disadari kita akan terbiasa untuk menggunakannya dalam kehidupan sehari-hari
juga untuk menghadapi dan menyelesaikan suatu permasalahan.
2. Mengembangkan
Cara Berpikir Dengan Sistematis
Manfaat
belajar bahasa pemrograman lainnya adalah dengan mengembangkan cara berfikir sistematis.
Dalam mempelajari pemrograman kita akan menggunakan baris-baris kode yang harus
disusun secara sistematis. Baris-baris kode ini tidak boleh salah dan terbalik
dalam penyusunannya, agar program yang dibuat dapat berjalan dengan benar. Hal
ini menyebabkan pembuat program harus mempelajari bagaimana menuliskan kode
dengan aturan dan struktur pemrograman secara sitematis.
Dengan
mempelajari hal tersebut, akan memberikan dampak positif bagi kita untuk
terbiasa dengan cara berpikir sistematis. Cara berpikir ini akan sangat berguna
dalam kehidupan sehari-hari kita ketika menyelesaikan suatu permasalahan. Jika
kita menemukan suatu permasalahan dalam khidupan kita, kita akan meggunakan
pikiran yang logis dan juga secara sistematis yaitu, mengetahui permasalahan,
berpikir logis untuk menyelesaikan permasalahan yang menghasilkan sebuah solusi
yang baik dan benar.
B.
Pemahaman
Dasar Algoritma
Pada
saat kita memiliki masalah, maka kita harus dapat untuk menyelesaikan masalah
tersebut dengan menggunakan langkah-langkah yang logis. Contoh dari algoritma
sederhana dalam kehidupan nyata adalah pada saat memasak air. Hal-hal yang
perlu dilakukan untuk memasak air seperti berikut : siapkan panci, masukkan air
secukupnya ke dalam panci, tutup panci tersebut, letakkan panci tersebut di
atas kompor, hidupkan kompor dengan api sedang, apabila air sudah mendidih,
matikan kompor, setelah itu angkat panci tersebut dari kompor. Langkah-langkah
untuk memasak air tersebut merupakan algoritma memasak air. Sehingga memiliki
urutan langkah-langkah yang logis.
Dalam
ilmu komputer dan matematika, pengertian algoritma adalah urutan dari beberapa
langkah logis dan sistematis yang digunakan untuk menyelesaikan masalah tertentu.
Pendapat lain mengatakan definisi algoritma adalah proses atau serangkaian
aturan yang harus diikuti dalam perhitungan atau operasi pemecahan masalah
lainnya, terutama oleh komputer. Dengan kata lain, semua susunan logis yang
diurutkan berdasarkan sistematika tertentu dan digunakan untuk memecahkan suatu
masalah dapat disebut dengan algoritma.
Algoritma
digunakan untuk melakukan penghitungan, penalaran otomatis, serta mengolah data
pada komputer dengan menggunakan software. Dalam algoritma terdapat rangkaian
terbatas dari beberapa intruksi untuk menghitung suatu fungsi yang jika
dieksekusi dan diproses akan menghasilkan output, lalu berhenti pada kondisi
akhir yang sudah ditentukan.
Algoritma
sendiri mempunyai tiga 3 bentuk dasar, antara lain :
1.
Algoritma
Sekuensial (Sequence Algorithm)
Sequence algorithm atau algoritma
sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari awal
hingga akhir. Bentuk dari algoritma sekuensial ini salah satu contohnya
algoritma memasak air. Langkah demi langkah yang dijalankan harus urut dari
atas sampai bawah.
Langkah 1 : Siapkan air
Langkah 2 : Tuang air kedalam
panci
Langkah 3 : Letakkan panci diatas
kompor
Langkah 4 : Nyalakan kompor
Langkah 5 : Setelah air mendidih
matikan kompor
Langkah 6 : Tuang air kedalam
gelas
2. Algoritma Perulangan (Looping Algorithm)
Looping algorithm atau algoritma
perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu
secara berulang-ulang atau looping. Pada masalah yang kita hadapi, ada pula
sebuah langkah yang harus kita lakukan secara berulang-ulang. Contoh dari
algoritma looping ini adalah algoritma menjemur pakaian:
1) Siapkan jemuran.
2) Ambil satu pakaian yang
nantinya akan dijemur.
3) Peras pakaian tersebut
terlebih dahulu.
4) Letakkan pakaian tersebut
pada tiang jemuran.
5) Ulangi langkah dari 2
sampai 4 hingga pakaian habis.
Dari
algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus
dilakukan secara berulang-ulang hingga pakaian habis.
3. Algoritma Percabangan atau
Bersyarat (Conditional Algorithm)
Conditional
algorithm
atau algoritma bersyarat adalah salah satu jenis perintah dalam algoritma yang
digunakan sebagai cara untuk memberitahukan program tentang perintah apa yang
harus dijalankan, dimana perintah tersebut disesuaikan dengan beberapa kondisi
tertentu. Berikut salah satu contoh dari algoritma bersyarat:
1)
1. Mulai
2. Masukkan suatu bilangan,
misalkan bilangan X
3. Jika bilangan X habis
dibagi dua, maka lanjut ke perintah keempat. Jika tidak lanjut ke perintah
kelima.
4. Tuliskan “X adalah
bilangan genap”. Lanjut ke perintah keenam.
5. Tuliskan “X adalah
bilangan ganjil”
6. Selesai
C.
Notasi 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.
Berbeda
dengan bahasa pemrograman, notasi algoritma menggambarkan langkah-langkah atau
alur instruksi yang dilaksanakan oleh komputer. Dalam pemrograman komputer
terdapat beberapa notasi agoritma yang umum digunakan seperti, bagan alir (flowchart) dan pseudocode.
1. Bagan Alir (Flowchart)
Flowchart
menggambarkan alur instruksi atau tahapan yang akan dilakukan dari suatu
algoritma. Notasi ini menggunakan geometris seperti persegi panjang, jajaran
genjang, dan bentuk lainnya. Notasi ini cukup mudah untuk dipahami karena
menggunakan visualisasi yang mudah dimengerti. Akan tetapi notasi ini suit
ditransformasikan menjadi bahasa pemrograman sehingga jarang digunakan untuk
menggambarkan alur program yang kompleks.
Dalam
flowchart terdapat beberapa simbol yang digunakan untuk menggambarkan tahapan
dari suatu algoritma sebagai berikut.
Untuk lebih memahami mengenai flowchart, sebagai
contoh flowchart yang menggambarkan alur pengecekan suatu bilangan yang diterima
apakah jenis genap atau ganjil melalui pemilihan/kondisi jika bilangan yang
dimasukkan habis dibagi 2 maka genap, jika tidak maka ganjil.
2. Pseudocode
Pseodocode merupakan notasi algoritma
yang sering digunakan daripada flowchart. Hal ini dikerenakan pseudocode
mempunyai kemiripan dengan bahasa pemrograman pada umumnya sehingga jika ingin
menstransformasi pseudocode menjadi bahasa pemrograman tertentu akan lebih mudah.
Sama
halnya dengan flowchart, pseudocode juga tidak memiliki aturan baku yang
mengatur secara ketat dalam penulisannya Hal ini dikarenakan pseudocode hanya
menggambarkan instruksi pada algoritma tanpa perlu dieksekusi oleh komputer
sepeerti pada bahasa pemrogrman. Secara umum pseudocode mempunyai
struktur-struktur yang biasa digunakan dalam penulisan pseudocode yaitu, bagian
judul program, deklarasi, dan algoritma.
A. Bagian
Judul
Pada judul biasnya mewakili
secara keseluruhan algoritma yang sedang dibuat. Oleh karena itu pemberian nama
judul harus representatif. Walaupun demikian, sebaiknya pemberian nama judul
singkat agar mudah diingat . Dalam pseudocode bagian judul dari suatu algoritma
biasa menggunakan kata PROGRAM diikuti dengan judul algoritma. Selain itu,
dapat ditambahkan komentar yang merupakan bagian yang tidak dieksekusi komputer
dengan diapit tanda “{“ dan “}” seperti pada contoh dibawah ini. B. Bagian
Deklarasi
Bagian deklarasi digunakan
untuk menyebutkan setiap nama-nama dari konstanta, varibel, prosedur, atau
fungsi yang akan digunakan dalam algoritma/program. Selain itu Anda juga harus
mendefenisikan tipenya. Semua yang disebutkan pada bagian deklarasi merupakan
nama-nama yang akan digunakan pada algortima/program yang sedang dibuat. Pada
contoh pembuatan deklarasi berikut ini, kita akan mendefenisikan phi sebagai
konstanta dengan nilai 3,14. sementara nama, nis, dan kelas merupakan variabel
dengan tipe string, dan nilai merupakan variabel dengan tipe integer.C. Bagian
Algoritma
Bagian
algoritma merupakan bagian inti yang berisi instruksi dari algoritma yang akan dieksekusi.
Berikut ini contoh algoritma untuk mencetak “BelajarAlgoritma”.
Untuk
lebih memahami pembuatan psedocode, berikut ini contoh kasus pseudocode menentukan
bilangan ganjil genap