Pengertian Algoritma Komputer
Thursday, June 7, 2018
Informasi
Pengertian-umum
Orang yang berkecimpung dalam dunia pemrograman pasti akan menemui suatu permasalahan. Seorang programer harus membuat program yang runtut untuk mentelesaikan permasalahan. Kode program harus sesuai dengan urutan agar mendapat hasil yang diinginkan. Seperti itulah yang dimaksud dengan algoritma.
Pengertian Algoritma
Algoritma adalah metode efektif yang diekspresikan dalam rangkaian terbatas dan intruksi intruksi yang telah didefinisikan dengan baik untuk menyelesaikan suatu masalah. Algoritme muncul dari kata 'algoritmi', bentuk latin dari al-khawarizmi, matematikawan, ahli astronomi, dan ahli geografi dari Persia.
Sebenarnya dalam kehidupan sehari- hari kita telah menggunakan algoritma. Seperti cara memasak air, pertama kita harus menyiapkan panci, memberinya air, dan memasaknya dengan kompor. Sehingga memiliki urutan langkah yang logis.
Dalam ilmu matematikan dan ilmu komputer, algoritma digunakan untuk penalaran otomatis, penghitungan, dan pemrosesan data. Algoritma dimulai dengan kondisi awal input dan kondisi akhir output yang diinginkan. Dalam sistem komputer algoritma adalah logika yang dibuat dengan memakai software oleh para pembuat perangkat lunak untuk membuat software tersebut menjadi lebih bagus. Kata algoritma berbeda dengan Logaritma. Logaritma adalah suatu ilmu matematika guna menghitung kebalikan eksponen dari sebuah perpangkatan.
Ciri Algoritma
Algoritma berfungsi untuk memecahkan suatu permasalahan, oleh karena itu algoritma memiliki beberapa ciri antara lain :
- Menghasilkan suatu jawaban atas permasalahan.
- Masukan (input) suatu program dapat nol (tidak ada) atau lebih, tetapi keluaran (output) setidaknya terdapat 1 atau lebih.
- Tugas algorithm di katakan selesai jika algoritma tersebut sudah menghasilkan 1 atau lebih jawaban atas satu permasalahan yg ada.
- Setiap langkah yang di buat harus di buat sesederhana mungkin tapi efektif agar bisa dipahami oleh pemroses (manusia ataupun komputer) sehingga bisa diselesaikan dalam waktu yang cepat, singkat serta masuk akal.
- Setiap langkah dalam algorithm harus di definisikan dengan tepat & jelas sehingga tidak berarti 2 (ambigu) sehingga menimbul-kan kesalahan dalam penavsiran proses.
Algoritma setiap orang dapat berbeda- beda, tetapi keluaran atau output akan selalu sama jika algoritma itu benar.
Contoh Penerapan Algoritma
Berikut adalah contoh pemecahan masalah (algoritma) yang diambil dari permasalahan yang mungkin sering kita hadapi dalam kehidupan sehari hari.
Diketahui dua buah gelas A dan B dimana gelas A berisi susu dan gelas B berisi kopi. Jika kita ingin memindahkan isi gelas A dengan kopi dan gelas B dengan susu tanpa mencampurkannya, bagaimanakah caranya? Apakah hanya dengan menuangkan isi gelas A ke gelas B? Apakah permasalahan dapat diselesaikan dengan cara (algoritma) tersebut? Jawabannya adalah tidak, karena algoritma tersebut tidak logis dan hasilnya tidak sesuai dengan yang diinginkan karena algoritma tersebut hanya mencampurkan susu dan kopi, serta akan dihasilkan gelas A kosong.
Algoritma yang benar untuk permasalahan diatas adalah pindahkan isi gelas A ke gelas lain (misal gelas C), kemudian setelah gelas A kosong pindahkan isi gelas B ke gelas A. Langkah terakhir adalah mengisi gelas B dengan isi gelas C. Inilah algoritma yang paling logis dan menghasilkan jawaban yang benar dari permasalahan tersebut.
Seperti yang telah dikemukakan sebelumnya, setiap orang mempunyai cara pemecahan sendiri sendiri sehingga setiap orang dimungkinkan mempunyai algoritma yang berbeda beda untuk memecahkan suatu permasalahan yang sama.
Notasi Algoritma
Algoritma dalam program komputer memiliki notasi yang memudahkan seorang programer untuk membuat program. Notasi algoritma dapat diterapkan dalam setiap bahasa pemrograman. Sampai sekarang ini terdapat 3 notasi algoritma yakni:
Notasi Deskriptif Algoritma
Algoritma dengan uraian kalimat deskriptif adalah notasi algoritma yang paling sederhana karena algoritma ini menggunakan bahasa sehari hari. Penggunaan kasus- kasus yang komplek, penggunaan notasi ini jarang dipakai, karena sering sekali terjadi ambigu.
Jika diinginkan sebuah program koputer yang dapat mengetahui bilangan terbesar dari tiga buah bilangan yang dimasukkan. Bagaiman algoritmanya? Untuk penjelasan algoritma menggunakan deskriptif simak kalimat dibawah ini:
- Masukkan sembarang angka sebanyak tiga buah.
- Ambil bilangan pertama dan set maksimumnya sama dengan bilangan pertama.
- Ambil bilangan kedua dan bandingan dengan maksimum
- Apabila bilangan kedua lebih besar dari bilangan maksimum maka ubah maksimumnya menjadi sama dengan bilangan kedua
- Ambil bilangan ketiga dan bandingkan dengan maksimum
- Apabila bilangan ketiga lebih besar dari maksimum maka ubah lagi maksimum menjadi sama dengan bilangan ketiga.
- Variable maksimum akan berisi bilangan yang terbesar dan tampilkan hasilnya.
Notasi algoritma diatas sudah sangat jarang digunakan, biasanya digunakan dengan lebih sistematis dan efisien sehingga mudah dipahami. Algoritma tersebut sama dengan algoritma dibawah ini.
- Masukkan a, b, dan c.
- mak ⇠ a.
- Jika b > mak, kerjakan langkah ke-4. Jika tidak, kerjakan langkah 5.
- mak ⇠ b.
- Jika c > mak, kerjakan langkah ke-6. Jika tidak, kerjakan langkah 7.
- mak ⇠ c.
- Tulis mak.
Flow Chart
Notasi algoritma Flow Chart (Diagram alir) adalah penggambaran secara grafik dari langkah langkah pemecahan masalah yang harus diikuti pemroses. Adapun simbol simbol yang sering digunakan untuk menyusun flow chart adalah sebagai berikut :
Berikut adalah flow chart untuk permasalahan yang diberikan (mencari bilangan terbesar dari tiga bilangan acak yang dimasukkan).
Pseduo Code
Pseduo code adalah algoritma yang bentuknya (strukturnya) sangan mirip dengan bahasa pemrograman khususnya bahasa pemrograman terstuktur seperti pascal. Dalam penulisannya, pseduo code harus terdiri dari tiga bagian, yaitu :
- Judul Algoritma bagian yang berisi atas nama algoritma dan penjelasan (spesifikasi) dari algoritma tersebut.
- Deklarasi bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, atau variabel, tipe, prosedur, dan fungsi.
- Deskripsi bagain berisi uraian langkah langkah penyelesaian masalah yang ditulis dengan menggunakan aturan aturan yang dijelaskan selanhjutnya.
Algoritma mencari bilangan terbesar diatas adalah :
Algoritma bilangan_terbesar{algoritma ini mencari bilangan terbesar dari tiga bilangan yang dimasukkan}deklarasia,b,c,mak : integerdeskripsiread(a,b,c)mak aif (mak<b)mak belse if(mak<c)mak cend ifwrite(mak)
Dalam pseduo code kata judul harus dipisahkan dengan '_' atau tanpa tanda spasi.
Berkomentarlah secara bijak.
EmoticonEmoticon