Algoritma

Algoritma

Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma.
Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Sejarah istilah “algoritma”Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 “Algorithmi de numero Indorum”. 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.
Jenis-jenis Algoritma
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;
dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
Penulisan algoritma dapat menggunakan 2 cara, yaitu:
a. Pseudocode (kode semu)
Dalam merancang sebuah algoritma menggunakan kode semu, komponenkomponen input, output dan proses harus terdefinisi secara jelas. Disamping itu beberapa ketentuan dan aturan pendefinisian memang secara baku tidak ditemukan dalam beberapa buku literatur, namun aturan-aturan yang di ajukan dibawah ini akan membantu mempermudah perancangan algoritma dan evaluasi serta analisis algoritma.
Aturan-aturan tersebut :
1.Kode semu harus dimulai dengan judul. Aturan ini secara mudah dapat dimengerti fungsi dan manfaatnya. Judul harus dapat menjelaskan spesifikasi masalah yang dirancang algoritmanya. Penulisannya dapat dengan huruf kapital semuanya atau tidak.
2.Kode semu harus ditulis dengan nomor yang menunjukkan urutan-urutan langkahlangkah dalam algoritma.
3.Pendeklarasian variabel, konstanta, parameter, rumus dan pernyataan harus sederhana.

Contoh: menghitung luas segitiga dengan menggunakan pseudocode
1.[masukkan/input alas dan tinggi segitiga]
read (alas, tinggi)
2.[menghitung luas segitiga]
L:= 12 * panjang * lebar.
3.[mencetak hasil]
Write (‘ Luas Segitiga : ‘, L)
4.[mengakhiri algoritma]
exit

b. Flowchart (diagram alir)
Flowchart adalah bagan yang menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir.

Menurut bentuknya flowchart dibedakan manjadi tiga jenis:
1.Flowchart berurut, yaitu bentuk flowchart yang bentuknya urut ke bawah dan biasanya hanya menyelesaikan satu persoalan dengan satu penyelesaian.
2.Flowchart memilih yaitu bentuk flowchart yang digunakan untuk menyelesaikan persoalan dengan penyelesaian lebih dari satu, biasa memilih satu diantara dua penyelesaian.
3.Flowchart berulang yaitu bentuk flowchart yang digunakan untuk menyelesaikan persoalan dengan bentuk berulang.
Masing –masing bentuk di atas dijelaskan secara rinci pada bab selanjutnya.

Tinggalkan komentar

Belum ada komentar.

Comments RSS TrackBack Identifier URI

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s