Dasar-dasar Algoritma
A. Sejarah Algoritma
Algoritma adalah suatu perintah yang berisi langkah-langkah
untuk menyelesaikan
masalah. Algoritma berasal dari nama tokoh ilmuan islam pada
masa itu yaitu Abu
Ja‟far Muhammad Ibu Musa Al Khawārizmi yang hidup sekitar
abad ke-9. Dengan
karya bukunya yang terkenal yaitu Al Jabar Wal Muqabala yang
berarti “Buku
Pemugaran dan Pengurangan”.
Pada awalnya kata algorisma adalah istilah yang merujuk
kepada aturan-aturan aritmetis
untuk menyelesaikan persoalan dengan menggunakan bilangan
numerik arab
(sebenarnya dari India, seperti tertulis pada judul di
atas). Pada abad ke-18, istilah ini
berkembang menjadi algoritma, yang mencakup semua prosedur
atau urutan langkah
yang jelas dan diperlukan untuk menyelesaikan suatu
permasalahan.
Berikut adalah contoh bagaimana algoritma dapat
menyelesaikan masalah :
Soal1 :
1. Terdapat dua buah gelas yang berisi air yang berwarna
merah dan gelas yang
berisi air berwarna biru. Kita asumsikan gelas yang berwarna
merah adalah gelas
A dan gelas yang berwarna biru adalah gelas B. Jika isi
gelas A ingin kita
pindahkah ke dalam gelas B dan isi gelas B berpindah ke
gelas A agar tidak
merubah warna masing-masing gelas tentukan cara bagaimana
mana gelas
tersebut dapat berpindah tempat tanpa merubah isi dalam
gelas tersebut.
Penyelesaiannya :
1. Kita tambahkan gelas kosong yang kita asumsikan sebagai
gelas C.
2. Pindahkan isi gelas A ke dalam gelas kosong C sehingga
sekarang gelas A
kosong dan isi gelas C adalah air berwarna merah.
3. Setelah itu pindahkan isi gelas B ke dalam gelas A
sehingga isi gelas B kosong
dan berpindah ke gelas A.
4. Pindahkan isi gelas C yang berisi air berwarna merah
kedalam gelas B yang
sudah kosong karena isinya sudah berpindah ke dalam gelas
A.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
3
5. Hasil akhirnya adalah A berisi air berwarna biru dan B
berisi air berwarna
merah.
Soal 2 :
1. Untuk menelepon menggunakan telpon umum maka kita di
hadapkan pada
langkah-langkah menelpon di telpon umum tersebut. Uraikan
lah
langkah-langkah tersebut.
Penyelesaian :
1. Pertama angka gagang telpon.
2. Kemudian masukan koin
3. Setelah itu tekan nomor telpon yang di tuju
4. Dan setelah telpon terhubung maka berbicara jika tidak
tutup kembali telpon
umum.
Perhatikan bagaiamana suatu algoritma dapat menyelesaikan
suatu masalah tanpa
menimbulkan masalah baru. Algoritma adalah suatu hal yang
penting yang harus di
kuasai oleh para programmer. Karena setiap masalah yang
dihadapi seorang
programmer dapat diselesaikan dengan algoritma.
B. Dasar Algoritma
Pernyataan dan aksi
Pernyataan adalah setiap langkah penyelesaian suatu
algoritma. Sebuah pernyataan
menggambarkan aksi (action) algoritmik yang dapat
dieksekusi.
Berikut adalah contoh bagaimana perbedaan pernyataan dan
aksi :
Tulis “Tugas algoritma telah selesai”
Disini tulisan yang berwarna merah adalah yang menggambarkan
pernyataan sedangkan tulisan
yang berwarna biru adalah yang menggambarkan aksi sehingga
menghasilkan tulisan berwarna
merah. Jika program diatas di jalankan di pascal maka akan
menghasilkan sebagai berikut :
Tugas algoritma telah selesai
Runtutan/Sequence
Algoritma merupakan runtunan satu atau lebih instruksi, yang
berarti bahwa :
a. Tiap instruksi di kerjakan satu persatu;
b. Tiap instruksi dilaksanakan tepat sekali; tidak ada
instruksi yang di ulang;
c. Urutan instruksi yang dilaksanakan pemroses sama dengan
urutan instruksi
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
4
sebagaimana yang tertulis didalam teks algoritmanya;
d. Akhir dari instruksi terakhir adalah akhir algoritma.
Contoh runtunan :
Langkah 1
Tuangkan isi gelas A ke dalam gelas C
Langkah 2
Tuangkan isi gelas B ke dalam gelas A
Langkah 3
Tuangkan isi gelas C ke dalam gelas B
Contoh Runtunan di Pascal
Program Selamat_Pagi_Dunia;
Uses wincrt;
begin
Write(„Selamat Pagi
Dunia‟);
End.
Penjelasan :
Runtunan pada algoritma di atas hanya menampilkan kata
„Selamat Pagi Dunia‟ ketika program
di run.
Pemilihan
Adakalanya sebuah program dihadapkan pada suatu kondisi
dimana kondisi tersebut
menentukan alur program yang akan kita buat.
Contoh 1
Jika keran air kita tutup maka
Air tidak akan keluar
Pernyataan diatas dapat kita tulis dalam pernyataan
kondisional sebagai berikut :
If kondisi then Aksi
Jika kita tulis :
If keran air di tutup then Air tidak akan keluar
If keran air di buka then Air akan keluar
Komunitas eLearning IlmuKomputer.Com
Contoh lainnya sebagai berikut :
If bensin habis then Motor mogok
If air mendidih then Matika kompor
If motor rusak then Jalan kaki saja
Dalam bahasa Indonesia If berarti jika dan then berarti maka
dimana setiap kondisi bias
menghasilkan nilai benar atau salah.
Pengulangan
Jika di banding dengan manusia kelebihan computer adalah
tidak mengenal kata lelah jika
mengerjakan pekerjaan yang sama secara berulang kali.
Tentunya kita pernah diberi tugas
menulis kata yang sama sewaktu di bangku sekolah dasar oleh
guru. Dimana kita disuruh
menulis kata “Saya akan belajar yang rajin” sebagai bentuk
latihan kita dalam membentuk huruf
tulisan agar tulisan kita menjadi lebih baik bukan. Tetapi
terkadang latihan yang kita kerjakan
membuat kita jenuh dan bosan.
Contoh algoritma yang kurang cerdas untuk menuliskan kata
sebanyak 100 x sebagai berikut :
Program menulis_kata;
{Menuliskan kata sebanyak 100 kali}
Deklarasi
{Tidak ada}
Algoritma
Tulis „Saya akan
belajar yang rajin‟;
Tulis „Saya akan belajar yang rajin‟;
Tulis „Saya akan belajar yang rajin‟;
Tulis „Saya akan belajar yang rajin‟;
Tulis „Saya akan belajar yang rajin‟;
……………………………………..
Alangkah baiknya jika pengulangan tersebut kita buat secara
otomatis yaitu dengan
menggunakan algoritma perulangan sebagai berikut :
Program menulis_kata;
{Menuliskan kata sebanyak 100 kali}
Deklarasi
Algoritma
For i dari 1 sampai 100
Tulis „Saya akan
belajar yang rajin‟;
End for
Algoritma diatas akan mengulangi kata „Saya akan belajar
yang rajin‟ sampai 100 kali, apabila
perulangan sudah terpenuhi maka perulangan pun akan
berhenti.
6
BAB II
Tipe, Operarator Dan Eskpresi
Variabel dan konstanta adalah objek data yang biasa
dimanipulasi didalam sebuah
program. Agar dapat di eksekusi oleh program terlebih dulu
tipe data variable tersebut
harus di deklarasikan sebelum program dapat di eksekusi. Hasil
akhir dari eksekusi
adalah menghasilkan sebuah result dimana program
mengkombinasikan setiap variable
sehingga menghasilkan suatu nilai baru. Tipe data
dikelompokan menjadi 2 yaitu tipe
dasar dan tipe bentukan.
1. Tipe Dasar
Tipe dasar adalah tipe yang sudah ada dan dapat langsung di
pakai. Yang termasuk tipe
dasar adalah bilangan lojik, bilangan bulat, karakter,
bilangan riil, dan string.
Contoh Tipe data dalam PASCAL:
integer (contoh: -1, -2, 0, 83, 1283)
real (contoh: -1.242, 39.0, 1.87)
char (contoh: „a‟, „b‟, „c‟)
boolean (contoh: true, false)
string (contoh: „al-azhar‟, „nama_saya‟)
Bilangan Lojik
Nama tipe bilangan lojik adalah Boolean. Kata booelan ini
diambil dari nama seorang
tokoh matematikawan Inggris yang bernama George Boole.
Bilangan lojik ini hanya
mengenal dua nilai yaitu true atau false.
Biasanya tipe Boolean ini sering di aplikasikan pada operasi
logika dimana operasi
logika ini menghasilkan nilai true atau false. Operator yang
sering digunakan untuk
operasi logika ini adalah not, and, or dan xor.