Algoritma: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Cahyogunadi (bicara | kontrib) Perbaikan Tag: halaman dengan galat kutipan Menghilangkan referensi VisualEditor |
Maulana.AN (bicara | kontrib) k Membalikkan revisi 21647393 oleh Cahyogunadi (bicara) Tag: Pembatalan halaman dengan galat kutipan |
||
Baris 1:
[[Berkas:Euclid flowchart 1.png |jmpl|lright | [[Diagram alur]] dari sebuah algoritme ([[Algoritme Euclid]]) untuk menghitung faktor persekutuan terbesar (f.p.b.) dari dua angka ''a'' dan ''b'' dalam lokasi bernama A dan B. Algoritme dijalankan dengan pengurangan berturut-turut dalam dua pengulangan: JIKA pengujian B >= A menghasilkan "ya" (atau benar) (lebih akuratnya ''angka'' ''b'' dalam lokasi B lebih besar atau sama dengan ''angka'' ''a'' dalam lokasi A) MAKA, algoritme menentukan B ← B - A (artinya angka ''b'' - ''a'' menggantikan ''b'' sebelumnya). Hal yang sama, JIKA A > B, MAKA A ← A - B. Proses tersebut berhenti saat (isi dari) B adalah 0, menghasilkan f.p.k. dalam A. (Algoritme tersebut diambil dari Scott 2009:13; simbol dan gaya penggambaran dari Tausworthe 1977).]]
'''Algoritma''' adalah sekumpulan instruksi yang terstruktur dan terbatas yang diimplementasikan kedalam bentuk program komputer untuk menyelesaikan suatu masalah komputasi tertentu.<ref>{{cite book|last=Mushthofa|first=|date=2021|url=http://setditjen.dikdasmen.kemdikbud.go.id/eppa/unggah/unduhan/INFORMATIKA-BS-KLS_X/pdf|title=Informatika untuk SMA Kelas X|place=[[Jakarta]]|publisher=Pusat Kurikulum dan Perbukuan|isbn=978-602-244-506-7|edition=|pages=245|language=|url-status=live|coauthors=}}</ref> Dalam [[matematika]] dan [[ilmu komputer]], algoritme adalah prosedur langkah-demi-langkah untuk penghitungan.
Algoritme digunakan untuk [[penghitungan]], [[pemrosesan data]], dan [[penalaran otomatis]].
Algoritme adalah [[metode efektif]] diekspresikan sebagai rangkaian [[terbatas]]<ref>
"Setiap algoritme klasik, misalnya, bisa dijelaskan dengan sejumlah kata bahasa Inggris yang terbatas"
(Rogers 1987:2).
</ref>
dari instruksi-instruksi yang telah didefinisikan dengan baik<ref>
Telah didefinisikan terhadap agen yang menjalankan algoritme tersebut: "Ada agen komputasi, biasanya manusia, yang bisa beraksi terhadap instruksi dan melakukan komputasi"
(Rogers 1987:2).
</ref>
untuk menghitung sebuah [[Fungsi (matematika)|fungsi]].<ref>
"Sebuah algoritme adalah sebuah prosedur untuk menghitung sebuah ''fungsi'' (terhadap beberapa notasi terpilih integer) ... batasan ini (terhadap fungsi bilangan) tanpa kehilangan generalisasi",
(Rogers 1987:1).
</ref>
Dimulai dari sebuah kondisi awal dan input awal (mungkin [[deretan null|kosong]]),<ref>
Sebuah algoritme memiliki input [[nol]] atau lebih, yaitu, [[kuantitas]] yang diberikan padanya sejak awal sebelum algoritme dijalankan"
(Knuth 1973:5).
</ref>
instruksi-instruksi tersebut menjelaskan sebuah [[komputasi]] yang, bila [[Eksekusi (komputasi)|dieksekusi]], diproses lewat sejumlah urutan kondisi terbatas<ref>
"Sebuah prosedur yang memiliki semua karakteristik dari sebuah algoritme kecuali prosedur yang tidak memiliki keterbatasan bisa disebut sebagai sebuah 'metode komputasi'"
(Knuth 1973:5).
</ref>
yang terdefinisi dengan baik, yang pada akhirnya menghasilkan "keluaran"<ref>
"Sebuah algoritme memiliki satu atau lebih keluaran, yaitu kuantitas yang memiliki relasi tertentu terhadap masukan"
(Knuth 1973:5).
</ref>
dan berhenti di kondisi akhir.
Transisi dari satu kondisi ke kondisi selanjutnya tidak harus [[deterministik]];
beberapa algoritme, dikenal dengan [[algoritme pengacakan]], menggunakan masukan acak.<ref>
Apakah sebuah proses dengan proses-proses bagian dalam yang acak (tidak termasuk masukan) adalah sebuah algoritme atau bukan masih diperdebatkan.
Rogers beropini bahwa: "sebuah komputasi dilakukan dengan sebuah gaya diskrit bertahap, tanpa menggunakan metode-metode berkelanjutan atau perangkat analog ... dijalakan terus secara deterministik, tanpa menggunakan metode-metode atau perangkat acak, misalnya, dadu"
Rogers 1987:2
</ref>
Walaupun ''[[algorism]]''-nya [[al-Khawarizmi]] dirujuk sebagai aturan-aturan melakukan aritmetika menggunakan [[bilangan Hindu-Arab]] dan solusi sistematis dan [[persamaan kuadrat]], sebagian formalisasi yang nantinya menjadi ''algoritme'' modern dimulai dengan usaha untuk memecahkan [[permasalahan keputusan]] (''Entscheidungsproblem'') yang diajukan oleh [[David Hilbert]] pada tahun 1928.
Formalisasi selanjutnya dilihat sebagai usaha untuk menentukan "[[penghitungan efektif]]"
<ref>
Kleene 1943 dalam Davis 1965:274
</ref>
atau "metode efektif";
<ref>
Rosser 1939 dalam Davis 1965:225
</ref>
formalisasi tersebut mengikutkan [[Kurt Godel|Godel]]-[[Jacques Herbrand|Herbrand]]-[[Stephen Cole Kleene|Kleene]] [[Rekursi (ilmu komputer)|fungsi rekursif]]-nya [[Kurt Godel]] - [[Jacques Herbrand]] - [[Stephen Cole Kleene]] pada tahun 1930, 1934, dan 1935, [[kalkulus lambda]]-nya [[Alonzo Church]] pada tahun 1936, "[[Formulasi 1]]"-nya [[Emil Post]] pada tahun 1936, dan [[Mesin Turing]]-nya [[Alan Turing]] pada tahun 1936-7 dan 1939.
Dari definisi formal dari algoritme di atas, berkaitan dengan konsep intuituf, masih tetap ada masalah yang menantang.
<ref>{{cite book
|last1 = Moschovakis
|first1 = Yiannis N.
|editor1-last = Engquist
|editor1-first = B.
|editor2-last = Schmid
|editor2-first = W.
|title = Mathematics Unlimited — 2001 and beyond
|url = http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.8093
|year = 2001
|publisher = Springer
|isbn = 9783540669135
|pages = 919–936 (Part II)
|chapter = What is an algorithm?
}}</ref>
apa itu algoritma?
== Asal kata ==
|