Sejarah Algoritma
Menurut Rinaldi Munir (2011:10), Para ahli bahasa menemukan kata algorism berasal dari
nama cendikiawan muslim yang terkenal yaitu Abu Jafar Muhammad Ibnu Musa Al-
Khuwarijmi (Al-Khuwarijmi dibaca oleh orang Barat menjadi algorism) dalam bukunya yang
berjudul Kitab Aljabar Wal-muqabala, yang artinya Buku Pemugaran dan Pengurangan
(The book of restoration and reduction). Dari judul buku itu kita memperoleh kata aljabar
(algebra). Perubahan dari kata algorism menjadi algorithm muncul karena kata algorism
sering dikelirukan dengan arithmetic sehingga akhiran sm berubah menjadi thm.
Definisi Algoritma
Menurut Donald E. Knuth (1973, p1-2) dalam buku The Art of Computer Programming
Second Edition Volume I, algoritma dalam pengertian modern mempunyai kemiripan
dengan istilah resep, proses, metode, teknik, prosedur, rutin. Algoritma adalah sekumpulan
aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan
suatu jenis masalah yang khusus.
Menurut Rinaldi Munir, algoritma adalah urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis.
Secara umum, algoritma diartikan sebagai urutan, tahapan, metode, ataupun urutan sistematis
yang yang digunakan untuk memecahkan suatu permasalahan. Secara khusus algoritma
diartikan sebagai sebuah metode khusus yang tepat, terdiri dari serangkaian langkah yang
disusun secara sistematis untuk menyelesaikan permasalahan dengan menggunakan bantuan
komputer. Hal yang harus diingat adalah langkah-langkah penyelesaian masalah di dalam
algoritma haruslah menyatakan urutan langkah yang logis, yang berarti bahwa urutan langkah
tersebut memberikan jalan penyelesaian yang benar.
Berikut ini adalah contoh algoritma yang digunakan di dalam kehidupan sehari-hari.
Tabung A berisi air yang jernih, sedangkan tabung B berisi air yang sangat kotor. Kita hendak
menukarkan isi kedua tabung tersebut sedemikian sehingga tabung A berisi air yang sangat
kotor, dan tabung B berisi air yang jernih.
Penyelesaian:
Agar dapat menukarkan kedua isi tabung tersebut, diperlukan tabung tambahan sebagai
tempat penampungan sementara. Asumsikan tabung tersebut bernama tabung C. Dengan
menggunakan tabung C ini, algoritma mempertukarkan isi tabung dapat ditulis sebagai
berikut:
PROGRAM Tukar_IsiTabung
Diberikan dua buah tabung, A dan B; tabung A berisi air yang jernih, tabung
B
berisi air yang sangat kotor. Pertukarkan kedua tabung tersebut sedemikian
sehingga tabung A berisi air yang sangat kotor dan tabung B berisi air yang
jernih.
ALGORITMA:
1. Tuangkan air dari tabung A ke dalam tabung C.
2. Tuangkan air dari tabung B ke dalam tabung A.
3. Tuangkan air dari tabung C ke dalam tabung B.
Berikut ini adalah salah satu contoh sederhana dari algoritma yang menggunakan bahasa
natural. Algoritma untuk menentukan luas persegi. Jadi diberikan input sebuah bilangan sisi
persegi dari user, dan program akan secara otomatis memberikan output berupa luas dari
bangun persegi tersebut. Perhatikan contoh bahasa natural di bawah ini:
1. Inisialisasi
2. Input sebuah bilangan, masukkan ke dalam variabel sisi.
3. Menentukan luas persegi dengan menggunakan rumus luas= sisi * sisi
4. Tampilkan output berupa luas persegi
5. Apakah ingin mengulang proses?
- Jika ya kembali ke langkah 2
- Jika tidak, langsung ke langkah 6
6. Selesai
Pengenalan Variabel
1 Votes
Variabel adalah identitas yang digunakan untuk menampung nilai.Variabel digunakan untuk
mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang
nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai dengan kebutuhan.
Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment
statement), yang mempunyai sintaks sebagai berikut :
variable = ekspresi ;
Pemberian nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan
sebagai berikut :
1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf.
Bahasa pemrograman pada umumnya bersifat case-sensitive artinya huruf besar dan
kecil dianggap berbeda. Jadi antara nim, NISN dan Nisn dianggap berbeda.
Pemrograman yang bersifat case-sensitive (Diantaranya : C++, C#, Java).
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore).
Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &,
*, (, ), -, +, =dsb.
4. Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai. Contoh penamaan
variabel yang benar : NIM, a, x, nama_mhs, f3098, f4, nilai, budi, dsb.
Contoh penamaan variable yang salah :
%nilai_mahasiswa, 80mahasiswa, rata-rata, ada spasi, penting!, dsb
DEKLARASI
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program.
Identifier dapat berupa variable, konstanta dan fungsi.
DEKLARASI VARIABEL
Bentuk umumnya :
Nama_tipe nama_variabel;
Contoh :
Struktur Algoritma
1 Votes
Algoritma berisi langkah-langkah penyelesaian masalah dengan urutan langkah yang logis.
Langkah langkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan
aksi.
1. Runtunan (Sequence)
Sebuah runtunan terdiri dari satu atau lebih pernyataan. Tiap pernyataan (instruksi)
dikerjakan sesuai dengan urutan penulisannya, misalnya jika kita memiliki lima buah
instruksi yang harus dikerjakan, instruksi yang pertama harus selesai diselesaikan terlebih
dahulu baru dilanjutkan ke instruksi yang kedua, dan begitu seterusnya. Jika urutannya
diubah, maka kemungkinan hasilnya pun akan berubah. Runtunan satu atau lebuh pernyataan
disebut juga pernyataan-gabungan (compound statements).
Contoh algoritma:
Diberikan dua buah tabung, A dan B; tabung A berisi air yang jernih, tabung B berisi air yang
sangat kotor. Pertukarkan kedua tabung tersebut sedemikian sehingga tabung A berisi air
yang sangat kotor dan tabung B berisi air yang jernih.
Algoritma:
1. Tuangkan air dari tabung A ke dalam tabung C.
2. Tuangkan air dari tabung B ke dalam tabung A.
3. Tuangkan air dari tabung C ke dalam tabung B.
2. Pemilihan (Selection)
Pemilihan adalah suatu keadaan dimana aksi akan dikerjakan jika kondisi tertentu dapat
dipenuhi.
Pernyataan pemilihan (selection-statement) atau disebut juga pernyataan kondisional dapat
ditulis sebagai berikut:
if kondisi then
aksi 1
else
aksi 2
Bila kondisi bernilai benar, aksi 1 akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan
dikerjakan. Misalnya pada pernyataan berikut:
Apabila pemilihan aksi lebih dari dua buah (pemilihan bersarang atau nested-if), maka
struktur pemilihannya sedikit lebih rumit. Perhatikan contoh berikut ini:
3. Pengulangan (Repetition)
Pengulangan adalah suatu cara untuk mengulangi instruksi secara terus-menerus sampai suatu
kondisi tertentu dipenuhi. Pernyataan pengulangan (repetition-statement) dapat ditulis dengan
beberapa cara :
1. for-do
Yang artinya adalah aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari i
sampai N sebanyak N-i + 1 kali.
Algoritma:
repeat
aksi
until
kondisi
Algoritma:
repeat
Tulis "Saya berjanji tidak akan bolos sekolah lagi"
until
(i > 250)
3. while-do
while kondisi do
aksi
Yang artinya adalah selama kondisi pengulangan masih benar, maka aksi dikerjakan.
Perbedaannya dengan repeat-until, jika pada repeat-until kondisi pengulangan di evaluasi di
akhir, maka pada while-do kondisi pengulangan di evaluasi di awal pengulangan. Walaupun
keduanya memiliki fungsi yang mirip, namun untuk beberapa kasus tidak dapat saling
menggantikan.
Algoritma:
Pengertian Tipe Data (Data Type) adalah jenis nilai yang dapat ditampung suatu variabel.
Misalnya dapat menampung bilangan bulat, pecahan/ berkoma, karakter huruf tunggal hingga
simbol dan huruf yang membentuk barisan karakter.
Rangga
Ibnu
Arie
Iqbal
Andalas
Rangga 4B
Ibnu 2A
Arie 4C
Iqbal 2A
Andalas 6B
3. BLOB
BLOB merupakan tipe data yang menyimpan bilangan berbentuk binary. Jadi pada
prinsipnya, gambar yang biasa tersimpan di komputer sebenarnya memiliki nilai-nilai
binary kemudian dapat ditampung pada tipe data ini. Tidak hanya gambar, file music,
video, document dan lainnya juga dapat disimpan pada tipe data BLOB.
4. Date Time
Date Time adalah tipe data yang menyimpan tanggal (date), waktu (time) ataupun
date time (tanggal dan waktu) dengan format yang spesifik.
Contoh :
Date : 2017-Maret-24
Time : 20:51
Date Time : 2017-03-24 20:51
5. Object
Object adalah tipe data yang menyimpan nilai dari objek-objek yang disediakan oleh
pemrograman berbasis GUI seperti Visual Basic, Delphi dan lain sebagainya.
Contoh :
Objek : Commond Button
Diberi nama : cmdsave
Nilai yang ditampung : Save Data
6. Enumerasi
Enumerasi adalah tipe data yang mempunyai elemen-elemen dengan urutan dan range
tertentu. Setiap elemen diwakili oleh angka sesuai urutannya (index), kemudian setiap
index berisi nilai yang ditulis dalam tanda kurung.
Sebagai contoh :
Tipe data : hari_dalam_seminggu
Index : 0,1,2,3,4,5,6
Nilai : Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu
Berikut ilustrasinya : (0)Senin, (1)Selasa, ... (6)Minggu