Apa Itu ALGORITMA ?



Sudahkah mengetahui di manakah posisi algoritma dalam dunia pemrograman komputer atau lebih umumnya lagi dalam dunia komputer. Sekarang saya akan membahas algoritma itu sendiri. Ada beberapa definisi algoritma, tetapi di sini saya menggunakan acuan Microsoft Book­shelf:
Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika.'

Dalam kehidupan sehari-hari, sebenarnya Anda juga menggunakan algoritma untuk melakukan sesuatu. Sebagai contoh, Anda ingin menulis surat, maka Anda perlu melakukan beberapa langkah berikut:
1.    Mempersiapkan kertas dan amplop.
2.    Mempersiapkan alat tulis, seperti pena atau pensil.
3.    Mulai menulis.
4.    Memasukkan kertas ke dalam amplop.
5.    Pergi ke kantor pos untuk mengeposkan surat tersebut.

Langkah-langkah dari nomor 1 sampai dengan nomor 5 di atas itulah yang disebut dengan algoritma. Jadi sebenamya Anda sendiri juga sudah menggunakan algoritma baik sadar maupun tidak sadar.
Dalam banyak kasus, algoritma yang Anda laku­kan tidak selalu berurutan seperti di atas. Kadang-ka­dang Anda harus memilih dua atau beberapa pilihan. Sebagai contoh, jika Anda ingin makan, Anda harus menentukan akan makan di rumah makan atau me­masak sendiri. Jika Anda memilih untuk makan di rumah makan, Anda akan menjalankan algoritma yang berbeda dengan jika Anda memilih memasak sendiri. Dalam dunia algoritma, hal semacam ini sering disebut percabangan.
Dalam kasus lain lagi, Anda mungkin harus melakukan langkah-langkah tertentu beberapa kali. Sebagai contoh, saat Anda menulis surat, sebelum me masukkan kertas ke dalam amplop, mungkin Anda ha­rus mengecek apakah surat tersebut sudah benar atau belum. Jika belum benar, berarti Anda harus memper­siapkan kertas baru dan menulis lagi. Demikian seterus­nya sampai surat Anda sesuai dengan yang diharapkan. Dalam dunia pemrograman, hal semacam ini sering disebut pengulangan.
Contoh Algoritma

Berikut ini adalah contoh algoritma untuk me­mecahkan masalah matematika. Misalkan Anda ingin menghitung luas lingkaran dari masukan berupa jari-­jari lingkaran. Rumus luas lingkaran adalah:
L = π.R2
Berikut ini adalah contoh algoritma untuk meng­hitung luas lingkaran:

1.         Masukkan R.
2.         Pi ← 3,14.
3.         L← Pi*R*R.
4.         Tulis L

Perhatikan terdapat tanda  ←      pada baris kedua dan ketiga. Tanda itu berarti nilai di sebelah kanan di­berikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua, nilai 3.14 diberikan pada variabel Pi. Berikutnya, nilai Pi * R * R diberikan pada variabel L.
Baris pertama dari algoritma di atas meminta masukkan dari pengguna berupa jari-jari lingkaran yang disimpan pada variabel R. Pada baris kedua nilai π disimpan pada variabel dengan nama Pi. Baris ketiga menghitung luas lingkaran dengan rumus π R2 atau yang dituliskan Pi * * R. Luas lingkaran ini disimpan pada variabel L. Baris terakhir menuliskan luas lingkaran tersebut.

Untuk memudahkan memahami algoritma, biasanya orang menggambarkan suatu diagram alir (flow charf). Gambar 1.1 adalah contoh diagram alir untuk algoritma penghitung luas lingkaran.
Percabangan

Contoh berikutnya adalah algoritma untuk menuliskan nilai absolut dari nilai yang dimasukkan pengguna. Definisi dari nilai absolut adalah sebagai berikut:
│x│= x, jika x >= 0
│x│= -x, jika x < 0

Berikut ini adalah algoritma untuk menuliskan nilai absolut dari masukan pengguna:

1. Masukkan x.
2. Jika (x < 0) maka kerjakan baris 3, jika tidak kerjakan baris 4.
3. x  ←  -x.
4. Tulis x.

Baris pertama meminta masukkan suatu bilangan dari pengguna yang disimpan pada variabel x.
Baris kedua mengecek nilai variabel x lebih kecil dari 0 atau tidak. Jika ya, yang dikerjakan adalah baris ketiga, tetapi jika tidak yang dikerjakan adalah baris keempat.
Baris ketiga membuat nilai x menjadi positif ka­rena baris ini hanya dikerjakan jika nilai x lebih kecil dari 0.
Baris terakhir menuliskan nilai x yang selalu positif.

Pengulangan

Untuk memperjelas penulisan algoritma, saya akan menyajikan satu contoh lagi, yaitu algoritma untuk menghitung rata-rata dari sekumpulan data yang di masukkan pengguna. Rumus mencari rata-rata dari data x. yang berjumlah N adalah sebagai berikut:
Berikut ini adalah algoritma untuk menghitung rata-rata data yang dimasukkan pengguna:

1.    Masukkan N.
2. i← l.
3.    j  0.
4.    Selama (i <= N) kerjakan baris 4 sampai dengan 7.
5.    Masukkan dt.
6.     I ← i+l.
7.     j j+dt
8.     Rata  j / N.
9.    Tulis Rata.

Baris pertama meminta pengguna memasukkan N, yaitu jumlah data.

Pada baris kedua, variabel i, yang berguna sebagai pencacah banyaknya data yang telah dimasukkan pengguna, diberi nilai 1.
Pada baris ketiga, variabel j, yang digunakan un­tuk menyimpan hasil penjumlahan data, diberi nilai 0.
Baris keempat memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama i kurang dari sama dengan N. Dengan kata lain, setelah i lebih besar dari N, baris kedelapan yang dijalankan.
Baris kelima meminta masukkan data yang ke-i.
Baris keenam menambah variabel i dengan 1. Perhatikan arti dari perintah i  i + 1 adalah nilai I ditambah dengan 1 kemudian hasilnya disimpan pada variabel i kembali.
Baris ketujuh menambah variabel j dengan data yang dimasukkan pengguna. Sebagaimana dijelaskan di atas, variabel j digunakan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variabel j harus ditambah dengan dt.
Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data.
Baris terakhir menuliskan rata-rata tersebut.
Catatan Akhir

Sekedar catatan akhir, algoritma sebenarnya di­gunakan untuk membantu Anda dalam mengkonversi­kan suatu permasalahan ke dalam bahasa komputer. Oleh karena itu, banyak pemrogram yang sudah ber­pengalaman tidak pernah menuliskan algoritma di atas kertas lagi. Artinya dia menuliskan algoritma itu di dalam kepalanya dan dia langsung memprogram berdasarkan algoritma di kepalanya itu. Pada bab-bab akhir dari buku ini, Anda akan jarang menemukan pe­nulisan algoritma secara eksplisit seperti di atas karena saya menganggap Anda sudah bisa menuliskannya di dalam kepala.
Pada bab-bab berikutnya, saya tidak akan meng­gambar diagram alir lagi. Apabila Anda kesulitan mem­pelajari algoritma yang disajikan, Anda dapat meng­gambarnya sendiri di atas kertas.
Latihan

1.    Tulislah algoritma untuk mencari luas segitiga jika masukan dari pengguna adalah alas clan tingginya.

Petunjuk: Luas segitiga dapat dihitung dengan rumus:
L = 1/2.a.t
dengan a: alas segitiga dan t: tinggi segitiga.
2.    Tulislah algoritma untuk mencari sisi miring dari suatu segitiga siku-siku jika diketahui panjang dua sisi yang membentuk sudut siku-siku.

Petunjuk: Sisi miring segitiga siku-siku dapat dihitung dengan rumus Pythagoras:
dengan a dan b adalah sisi siku-siku.

3. Tulislah algoritma untuk meminta masukan dua bilangan dari pengguna   kemudian menampilkan bilangan terbesar di antara kedua bilangan ter­sebut.
4.    Tulislah algoritma untuk meminta masukan tiga bilangan dari pengguna kemudian menampilkan bilangan terkecil di antara ketiga bilangan tersebut.
5.    Tulislah algoritma untuk menampilkan teks "Turbo Pascal" sebanyak 100 kali.
6.    Tulislah algoritma untuk mencari modus dari sekumpulan data yang dimasukkan pengguna.
Petunjuk: Modus adalah data yang paling sering muncul.

Komentar

Postingan populer dari blog ini

Skema Pemrosesan Sekuensial

Sorting