Algoritma

Daripada Wikipedia, ensiklopedia bebas.
Jump to navigation Jump to search

Algoritma ialah tatacara langkah demi langkah dalam penyelesaian masalah dalam masa yang terhingga. Proses algoritma telah diasaskan oleh seorang tokoh matematik Islam yang dikenali sebagai Al-Khawarizmi; bahkan proses ini dinamakan sempena beliau melalui pelatinan namanya sebagai algorismus,[1][2] di mana perkataan ini mula digunakan sejak abad ke-13 sebelum ditetapkan takrifan modennya pada abad ke-19[3].

Dalam sains komputer pula, algoritma ialah langkah-langkah dalam proses larian kod komputer yang mengkaji tahap keberkesanan kod program komputer. Usaha dalam kajian ini bertemakan "bagimanakah cara untuk menghasilkan langkah tersingkat dalam penyelesaian setiap masalah komputer yang diutarakan.

Ciri[sunting | sunting sumber]

  1. Mempunyai permulaan
  2. Mempunyai input (dalam sesetengah kes, tiada input) dan output
  3. Mempunyai proses
  4. Mempunyai penamat

Algoritma mesti memenuhi syarat-syaratnya. Jika syarat tidak dipenuhi, maka itu bukan algoritma.

Jenis[sunting | sunting sumber]

Algoritma dikelaskan mengikut cara implementasi ia:

Rekursi atau iterasi
Sebuah algoritma rekursi yaitu algoritma yang memanggil dirinya sendiri berulang kali sampai kondisi tertentu tercapai, ini merupakan metode umum bagi pemrograman fungsional. algoritma iteratif menggunakan konstruksi berulang seperti pengulangan dan terkadang struktur data tambahan seperti tumpukan untuk menyelesaikan permasalahan. Beberapa permasalahan secara alami cocok dengan satu implementasi atau lainnya. Sebagai contoh, Menara Hanoi dikenal dengan implementasi rekursif. Setiap versi rekursif memiliki kesamaan (tapi bisa lebih atau kurang kompleks) dengan versi iteratif, dan sebaliknya.
Logika
Sebuah algoritma bisa dilihat sebagai logika deduksi terkontrol. Pernyataan ini diekspresikan sebagai: algoritma = logika + kawalan.[4] Komponen logika mengekspresikan aksioma yang bisa digunakan dalam komputasi dan komponen kawalan menentukan cara deduksi digunakan pada aksioma. Ini merupakan dasar dari paradigma pemrograman logika. Dalam bahasa pengaturcaraan logika tulenm komponen kawalan adalah tetap dan algoritma ditentukan dengan memberikan hanya komponen logikanya. Daya tarik dari pendekatan ini adalah semantik elegan: sebuah perubahan dalam aksioma memiliki perubahan dalam algoritma.
Serial, paralel atau terdistribusi
Algoritma biasanya diibncangkan dengan tanggapan bahawa komputer menjalankan satu arahan algoritma pada suatu-suatu masa. Komputer tersebut kadangkalanya diungkapkan menggunakan komputer serial. Rancangan algoritma untuk lingkungan tersebut diungkapkan dengan menggunakan algoritma serial, perkara ini terbalik algoritma-algoritma jenis selari atau teragih: algoritma selari memanfaatkan seni bina komputer yang mana beberapa pemproses bisa mengerjakan suatu permasalahan pada waktu yang sama, manakala algoritma teragih memanfaatkan banyak mesin yang dihubungkan dengan suatu jaringan. Kedua-dua algoritma ini membahagikan permasalahan menjadi banyak sub-masalah yang bersifat simetris atau asimetris lalu mengumpulkan kembali hasil perkiraan submasalah tersebut. Kos sumber pada algoritma tersebut tidak hanya pada setiap putaran pemproses tetapi juga daya komunikasi antara prosesor. Algoritma pengurutan bisa diselarikan secara efisien, namun biaya komunikasinya memakan kos sangat mahal. Algoritma iteratif secara umum bisa diparalelkan. Beberapa permasalahan tidak ada algoritma paralelnya, dan disebut dengan permasalahan serial lahiriah.
Deterministik atau non-deterministik
algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat disetiap langkah dari algoritma sedangkan algoritma non-deterministik menyelesaikan masalah lewat penerkaan walaupun penerkaan biasanya lebih akurat dengan menggunakan heuristik.
Tepat atau perkiraan
Bila banyak algoritma sampai pada solusi yang tepat, algoritma perkiraan mencari sebuah perkiraan yang terdekat dengan solusi benarnya. Perkiraan bisa menggunakan baik strategi deterministik atau acak. algoritma seperti itu memiliki nilai guna untuk banyak permasalahan sulit.
Algoritma kuantum
Algoritma ini dijalankan dalam suatu model realistik hasil suatu komputasi quantum. Istilah ini biasanya digunakan untuk algoritma yang tampak pada dasarnya bercirikan kuantum atau menggunakan beberapa ciri penting dalam perkiraan kuantum seperti superposisi kuantum atau belitan kuantum.

Kepenggunaan[sunting | sunting sumber]

Algoritma banyak digunakan dalam bidang sains dan teknologi terutama dalam bidang sains komputer. Dalam sains komputer, algoritma digunakan sebelum proses pengaturcaraan C dimulakan. Melalui algoritma, pengaturcara dapat memastikan pengaturcaraan dikod dengan betul dan dapat digunakan.

Contoh algoritma[sunting | sunting sumber]

Penukaran unit meter kepada kilometer.

1) Mula
2) Input
2.1) Nilai dalam meter
3) Proses
3.1) Kilometer=meter/1000
4) Output
4.1) Nilai dalam kilometer
5) Tamat

Rujukan[sunting | sunting sumber]

  1. ^ "Al-Khwarizmi biography". www-history.mcs.st-andrews.ac.uk. 
  2. ^ "Etymology of algorithm". Chambers Dictionary. Dicapai 13 Disember 2016. 
  3. ^ Oxford English Dictionary (edisi ke-3). 2012.  s.v.
  4. ^ Kowalski 1979

Pautan luar[sunting | sunting sumber]