You are on page 1of 7

BAB I

ALGORITMA
1.1 Definisi
Algoritma adalah uraian ringkas tentang urutan langkah penyelesaian
suatu masalah. Uraian merupakan aktifitas yang dapat dijelaskan dengan katakata menurut bahasa yang mudah dimengerti manusia, misalnya memakai
bahasa Indonesia. Ringkas artinya pemilihan kata & penulisannya harus ringkas,
tidak terlalu panjang, dan tidak ambiguitas (memiliki makna ganda).
Urutan merupakan kesinambungan langkah yang tidak dapat dibolak-balik
urutan pengerjaannya. Langkah merupakan aktifitas terkecil yang memiliki satu
tujuan kegiatan yang terinci. Masalah secara umum dapat didefinisikan sebagai
perbedaan antara keinginan dan realita. Semakin besar perbedaan yang terjadi
berarti semakin besar upaya untuk melakukan penyelesaian. Masalah-masalah
yang dapat diselesaikan dengan komputer pada dasarnya adalah semua masalah
yang secara logis manusia bisa menyelesaikannya dan tidak menyangkut
masalah persaan.
Asal mula kata algoritma adalah dari kata algorism dalam kamus
Webster tahun 1957 yang berarti proses menghitung dengan angka arab.
Algorism merupakan nama penulis buku Arab yang berjudul The book of
restoration and reduction. Kata algorism kemudian berubah menjadi kata
algoritm agar tidak diinterpretasikan dengan aritmatik. Akhirnya dalam bahasa
Indonesia kata algorithm diserap menjadi algoritma.
Menurut
Donald E. Knuth dalam buku The Art of Computer
Programming , algoritma mempunyai lima ciri yaitu;
1) Algoritma harus ada berhentinya setelah menyelesaikan sejumlah langkah.
2) Setiap langkah harus didefiniskan dengan tepat dan tidak mendua.
3) Algoritma memiliki masukan sebanyak 0 sampai n
4) Algoritma memiliki keluaran sebanyak 1 sampai n
5) Setiap langkah harus efektif (cepat dan hemat memory).
1.2 Kedudukan Algoritma
Algoritma merupakan inti ilmu informatika. Tujuan dari algoritma yaitu
membuat penyelesaian masalah secara cepat dan efisien. Dalam kehidupan
sehari-hari banyak hal yang dilakukan mengikuti konsep algoritma. Setiap
langkah pada algoritma akan diproses oleh pemroses yaitu manusia, mesin,
processor, komputer, dll.
Jurusan Teknik Informatika Untag Surabaya

oleh Ir. Sugiono, MT

Algoritma Pemrograman

Bab 1 hal. 2/7

1.3 Penulisan Algoritma


Belum ada aturan baku dalam penulisan algoritma. Setiap langkah
dalam algoritma mengandung aksi yang dilaksanakan berdasarkan operasinya.
Karena algoritma dalam informatika digunakan dalam rangka menyusun
program, maka alangkah baiknya notasi yang digunakan lebih dekat ke
pemrograman yang bersifat umum, sehingga tidak tergantung dari bahasa apa
yang akan digunakan.
Penulisan algoritma diawali dengan nama algoritma dengan option
parameter, dan setiap langkah sebaiknya diberi nomor urut agar mudah
memberikan penjelasan pemakaiannya. Option parameter artinya boleh ada
parameternya atau tidak menggunakan parameter. Parameter adalah nilai yang
diberikan ke dalam algoritma untuk diproses, dan hasilnya dapat disimpan atau
dikembalikan ke pemberi parameter. Jumlah parameter boleh lebih dari satu.
Nama algoritma pada dasarnya tidak diatur secara khusus, namun sebaiknya
mengikuti aturan penamaan variabel, yaitu nama pemnaggil yang direferensikan
ke alamat memory komputer.
1.4 Struktur Dasar Algoritma
Algoritma memiliki tiga macam struktur dasar yaitu;
1) Struktur Urutan; Terdiri dari beberapa aksi yang dikerjakan secara urut
dari atas kebawah atau dari kiri ke kanan.
2) Struktur Pilihan/Cabang, aksi dikerjakan jika sesuai kondisi pilihannya.
a) Struktur IF, aksi dikerjakan jika salah satu dari dua pilihan terpenuhi
b) Struktur CASE,aksi dipilih jika salah satu diantara beberapa pilihan
terpenuhi
3) Struktur Perulangan, aksi dikerjakan secara berulang-ulang, yang terdiri
dari
a) Struktur FOR,
aksi diulangi sebanyak n kali
b)Struktur REPEAT, aksi diulangi sampai kondisi benar
c) Struktur WHILE, aksi diulangi selama kondisi benar
Kondisi adalah pernyataan logika yang dapat dievalusi benar atau salah.
Contohnya:
Apakah A>0
; pernyataan logika
Apakah A
; bukan pernyataan logika
Apakah kekanan ; pernyataan logika
Apakah B=10
; pernyataan logika
Jurusan Teknik Informatika Untag Surabaya

oleh Ir. Sugiono, MT

Algoritma Pemrograman

Bab 1 hal. 3/7

Berikut ini adalah contoh algoritma untuk masing-masing struktur yaitu;


1. Pada struktur Urutan sekelompok aksi dikerjakan secara urut
Setiap aksi dikerjakan secara berurut dan tidak boleh dibolak-balik
Sebagai contoh : algoritma makan jeruk keprok
MAKAN_JERUK
1 mulai
2 ambil jeruk
3 kupas kulitnya
4 belah buahnya
5 masukkan ke mulut
6 selesai
MAKAN_JERUK adalah nama algoritma yang tidak memiliki parameter.
Secara logika urutan tersebut tidak bisa dibalik, misalnya langkah 4 dulu
baru 3 yang artinya masukan ke mulut lalu belah buahnya.
2a. Struktur IF (untuk keadaan dengan dua pilihan)
Suatu aksi akan dikerjakan sesuai dengan kondisinya, perhatikan langkah
4 sampai dengan langkah 7 pada contoh berikut. Jika kondisinya ternyata
jeruk ada ulatnya maka yang dilakukan adalah langkah: 1, 2, 3, 4, 5,6,8,
sebaliknya jika jeruknya baik maka urutan langkahnya : 1, 2, 3, 4, 5,7, 8.
Sebagai contoh : algoritma makan jeruk ( tidak tahu jeruk baik atau ada
ulatnya)
MAKAN_JERUK
1 mulai
2 ambil jeruk
3 kupas kulitnya
4 belah buahnya
5 apakah benar jeruk ada ulatnya?
6 jika benar maka jeruk dibuang
7 jika salah maka jeruk dimasukkan ke mulut
8 selesai
Pada contoh tersebut, dengan kondisi jeruk ada ulatnya? , maka terjadi
percabangan logika, yaitu jika dijawab benar maka jeruknya dibuang
tetapi jika jawabnya salah maka jeruk dimasukan ke mulut. Jadi jika ada
10 buah jeruk ada ulatnya semua, maka tidak pernah melaksanakan
langka ke-7 yaitu jeruk dimasukkan ke mulut.
Jurusan Teknik Informatika Untag Surabaya

oleh Ir. Sugiono, MT

Algoritma Pemrograman

Bab 1 hal. 4/7

2a. Struktur CASE (untuk keadaan lebih dari dua pilihan)


Suatu aksi akan dikerjakan sesuai kondisi pilihan yang benar, perhatikan
contoh mulai langkah 6 s/d 10. Misalkan jeruk yang dimakan
rasanya masam, langkah yang dilakukan adalah ; 1, 2, 3, 4, 5, 6, 8, 11.
Jika asin, maka langkah yang dilakukan adalah ; 1, 2, 3, 4, 5, 6, 10, 11.
Sebagai contoh : algoritma mengucapkan rasa makan jeruk
MERASAKAN_JERUK
1 mulai
2 ambil jeruk
3 kupas kulitnya
4 belah buahnya
5 masukkan ke mulut
6 apakah rasanya jeruk ?
7
jika manis maka katakan manis
8
jika masam maka katakan masam
9
jika hambar maka katakan hambar
10
Selain itu
maka katakan tidak tahu
11 selesai
Dari contoh tersebut terdapat 4 cabang logika yaitu langkah 6,7,8,9 yang
akan dikerjakan hanya salah satu dan tidak mungkin semuanya dalam sekali
eksekusi.
3a Struktur FOR
Pada struktur for ini, perulangan dilakukan sebanyak n kali (jumlah
perulangannya sudah tertentu), dalam contoh berikut, makan jeruk
diulangi sampai 10 buah.
Sebagai contoh : algoritma makan jeruk 10 buah
MAKAN_JERUK
1. mulai
2. ulangi sebanyak 10 kali
3.
ambil jeruk
4.
kupas kulitnya
5.
belah buahnya
6.
masukkan ke mulut
7. selesai
Dari contoh tersebut jeruk yang telah dimakan 10 buah, artinya langkah
3,4,5,6 diulangi sebanyak 10 kali. Ingat baris 3,4,5,6 harus ditulis masuk.
Jurusan Teknik Informatika Untag Surabaya

oleh Ir. Sugiono, MT

Algoritma Pemrograman

Bab 1 hal. 5/7

3b Struktur REPEAT
Pada struktur repeat ini, perulangan dilakukan bukan sebanyak n kali,
tetapi diulangi sampai kondisi benar yaitu kondisi berhentinya. Dalam
contoh berikut, makan jeruk diulangi sampai jeruk yang dimakan
mencapai 10 buah. Kondisi untuk menyatakan perulangan bisa
bermacam-macam, misalnya sampai jeruk dalam piring habis.
Sebagai contoh : algoritma makan jeruk 10 buah
MAKAN_JERUK
1. mulai
2. jeruk yang dimakan = 0
3. ulangi
4.
ambil jeruk
5.
kupas kulitnya
6.
belah buahnya
7.
masukkan ke mulut
8.
jeruk yang dimakan bertambah satu
9. sampai jeruk yang dimakan =10
10.selesai
Dalam contoh tersebut jeruk yang dimakan sebanyak 10 buah, artinya
langkah no 4,5,6,7,8 dikerjakan sebanyak 10 kali.
Berikut adalah contoh lain, jika jumlah jeruk dalam piring tidak tahu tetapi
disuruh menghabiskannya, algoritmanya adalah sebagai berikut;
MAKAN_JERUK
1. mulai
2. ulangi
3.
ambil jeruk
4.
kupas kulitnya
5.
belah buahnya
6.
masukkan ke mulut
7.
jeruk yang ada di piring dikurangi satu
8. sampai jeruk yang ada di piring = 0
9. selesai
Pada contoh tersebut berapa jeruk yang dimakan? Jawabnya bisa 12, bisa
5, bisa 20, bisa 0 tergantung jumlah jeruk didalam piring. Artinya pada
logika ini jumlah perulangan tidak bisa ditentukan.

Jurusan Teknik Informatika Untag Surabaya

oleh Ir. Sugiono, MT

Algoritma Pemrograman

Bab 1 hal. 6/7

3c Struktur WHILE
Pada struktur while ini, perulangan dilakukan bukan sebanyak n kali,
tetapi diulangi selama kondisi benar yaitu kondisi pengulangannya.
Dalam contoh berikut, makan jeruk diulangi selama jeruk yang dimakan
belum mencapai 10 buah. Kondisi untuk menyatakan perulangan bisa
bermacam-macam, misalnya selama jeruk dalam piring belum habis,
berapa jeruk yang dimakan, belum tentu sepuluh, yang penting selama
jeruk dalam piring belum habis.
Sebagai contoh : algoritma makan jeruk 10 buah
MAKAN_JERUK
1. mulai
2. jeruk yang dimakan = 0
3. ulangi selama jeruk yang dimakan 10
4.
ambil jeruk
5.
kupas kulitnya
6.
belah buahnya
7.
masukkan ke mulut
8.
jeruk yang dimakan bertambah satu
9. selesai
Pada contoh tersebut jeruk yang dimakan sebanyak 10 buah, artinya
langkah 4,5,6,7,8 dikerjakan sebanyak 10 kali. Perhatikan perbedaan
kondisi yang digunakan antara struktur repeat dan while.
Berikut adalah contoh lain, jika jumlah jeruk dalam piring tidak tahu tetapi
disuruh menghabiskannya, algoritmanya adalah sebagai berikut;
MAKAN_JERUK
1. mulai
2. ulangi selama jeruk yang ada di piring >0
3.
ambil jeruk
4.
kupas kulitnya
5.
belah buahnya
6.
masukkan ke mulut
7.
jeruk yang ada di piring berkurang satu
8. selesai
Coba renungkan perbedaan perulangan antara repeat dan while dari
contoh makan jeruk dalam piring jika kondisinya diubah sampai jeruk dalam
piring habis. Bagaimana jika sejak awal jeruk dalam piring sudah habis. Beri
kesimpulannya.

Jurusan Teknik Informatika Untag Surabaya

oleh Ir. Sugiono, MT

Algoritma Pemrograman

Bab 1 hal. 7/7

1.5 Evaluasi
Untuk mengevalusi pemahaman tentang algoritma, berikut diberikan
beberapa pertanyaan dan pernyataan sebagai berikut;
1. Apakah algorima dapat ditulis dengan bahasa sembarang?
[B/S]
2. Urutan langkah dalam algorima boleh dibolak-balik?
[B/S]
3. Algoritma boleh tidak memiliki output
[B/S]
4. Algoritma boleh tidak memiliki input
[B/S]
5. Algoritma boleh memiliki inputnya banyak outputnya sedikit
[B/S]
6. Algoritma boleh memiliki inputnya sedikit outputnya banyak [B/S]
7. Algoritma boleh melakukan perulangan sampai tak terhingga [B/S]
8. Algoritma bercabang, cabangnya boleh berhenti
[B/S]
9. Struktur while berhenti jika kondisinya benar
[B/S]
10. Struktur repeat berhenti jika kondisinya benar
[B/S]
1.6 Soal Latihan
Buat algoritma untuk menyelesaikan masalah-masalah berikut;
a) Menggosok gigi
b) Membersihkan busi sepeda motor
c) Berangkat kuliah pagi hari
d) Menghitung luas empat persegi panjang
e) Menghitung luas segitiga
f) Mencari akar-akar persamaan kuadrat dengan rumus ABC
g) Memilah jeruk kecil, sedang, besar ke masing-masing keranjang
1.7 Tugas Rumah
Buat algoritma untuk menyelesaikan masalah berikut, (algoritmanya bisa
diberlakukan secara umum, misal penambahan sampai 2000 kali);
a) B1 = 1+1+1+1+1+1+1+1+1+1
b) B2 = 3+3+3+3+3+3+3+3+3+3
c) B3 = 1+2+3+4+5+6+7+8+9+10
d) Menarik uang secara tunai melalui ATM
Permen karet dibuat ada rasa manis, agak asam,
ada sensasi segarnya, dan lain-lain.
Bagaimana rasa permen karet sebenarnya?
Inilah kunci jawabanya jika anda belajar algoritma

Mulailah merasakan dari akhir


Jurusan Teknik Informatika Untag Surabaya

oleh Ir. Sugiono, MT