Lompat ke isi

Algoritma Euklides: Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28365202; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 12: Baris 12:
Sebagai contoh, FPB dari 1071 dan 1029 yang dihitung dengan menggunakan algoritma ini adalah 21, dengan langkah-langkah sebagai berikut:
Sebagai contoh, FPB dari 1071 dan 1029 yang dihitung dengan menggunakan algoritma ini adalah 21, dengan langkah-langkah sebagai berikut:


{|
| align="right" | ''a''
| align="right" | ''b''
| align="right" | sisa setelah ''a'' dibagi oleh ''b''
|-
| colspan="3" |
----
|-
| align="right" | 1071
| align="right" | 1029
| align="right" | 42
|-
| align="right" | 1029
| align="right" | 42
| align="right" | 21
|-
| align="right" | 42
| align="right" | 21
| align="right" | 0
|-
| align="right" | 21
| align="right" | 0
|}


Dengan mencatat hasil bagi (yang merupakan bilangan bulat) selama menjalankan algoritma, kita juga dapat menentukan bilangan bulat ''p'' dan ''q'' di mana ''ap'' + ''bq'' = fpb(''a'', ''b''). Hal ini dikenal sebagai [[perluasan algoritme Euklides]].
Dengan mencatat hasil bagi (yang merupakan bilangan bulat) selama menjalankan algoritma, kita juga dapat menentukan bilangan bulat ''p'' dan ''q'' di mana ''ap'' + ''bq'' = fpb(''a'', ''b''). Hal ini dikenal sebagai [[perluasan algoritme Euklides]].
Baris 47: Baris 70:


==Efisiensi algoritma==
==Efisiensi algoritma==
 
Efisiensi komputasional algoritma Euklides telah dipelajari secara menyeluruh.<ref>[https://id.wikipedia.org/w/index.php?title=Algoritma+Euklides&oldid=28365202 sumber pada Wikipedia bahasa Indonesia]</ref> Efisiensi ini bisa diartikan sebagai banyak langkah pembagian yang perlu dilakukan algoritma, dikali dengan harga komputasi setiap pembagian. Analisis tertua yang diketahui tentang algoritma Euklides berasal dari A. A. L. Reynaud pada tahun 1811,<ref>A.-A.-L. Reynaud. [https://archive.org/details/bub_gb_YySjvK7oudIC Traité d'arithmétique à l'usage des élèves qui se destinent à l'École Polytechnique]. Courcier. 1811. Dikutip oleh .</ref> yang menunjukkan bahwa banyak langkah pembagian yang dilakukan dengan masukan <math>(u,v)</math> tidak mungkin lebih dari <math>v</math>; dia kemudian memperbaiki batas ini menjadi <math>\frac{v}{2} + 2</math>. Kemudian, pada tahun 1841, [[Pierre Joseph Étienne Finck|P. J. E. Finck]] menunjukkan<ref>P.-J.-E. Finck. ''Traité élémentaire d'arithmétique à l'usage des candidats aux écoles spéciales''. Derivaux. 1841.</ref> bahwa banyak langkah pembagian tidak mungkin lebih tinggi dari <math>2 \log_2 v + 1</math>, dan artinya algoritma Euklides berjalan dalam waktu polinomial dari ukuran masukannya.<ref>J. Shallit. ''Origins of the analysis of the Euclidean algorithm''. ''Historia Math''. 1994. Vol. 21. hlm. 401–419. doi:10.1006/hmat.1994.1031.</ref> [[Émile Léger]], pada tahun 1837, mempelajari kasus terburuknya, yaitu ketika masukannya adalah [[bilangan Fibonacci]] yang bersebelahan.<ref>J. Shallit. ''Origins of the analysis of the Euclidean algorithm''. ''Historia Math''. 1994. Vol. 21. hlm. 401–419. doi:10.1006/hmat.1994.1031.</ref> Analisis Finck kemudian diperbaiki oleh [[Gabriel Lamé]] pada tahun 1844,<ref>G. Lamé. ''Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers''. ''Comptes Rendus Acad. Sci''. 1844. Vol. 19. hlm. 867–870.</ref> yang menunjukkan bahwa banyak langkah yang diperlukan untuk menyelesaikan algoritma tidak pernah lebih dari lima kali banyak digit bilangan yang lebih kecil&nbsp;<math>b</math>.<ref>H. Grossman. ''On the Number of Divisions in Finding a G.C.D''. ''The American Mathematical Monthly''. 1924. Vol. 31 (9). hlm. 443. doi:10.2307/2298146.</ref><ref>R. Honsberger. ''Mathematical Gems II''. The Mathematical Association of America. 1976. hlm. 54–57. ISBN 0-88385-302-7.</ref>
 
Efisiensi komputasional algoritma Euklides telah dipelajari secara menyeluruh. Efisiensi ini bisa diartikan sebagai banyak langkah pembagian yang perlu dilakukan algoritma, dikali dengan harga komputasi setiap pembagian. Analisis tertua yang diketahui tentang algoritma Euklides berasal dari A. A. L. Reynaud pada tahun 1811, yang menunjukkan bahwa banyak langkah pembagian yang dilakukan dengan masukan <math>(u,v)</math> tidak mungkin lebih dari <math>v</math>; dia kemudian memperbaiki batas ini menjadi <math>\frac{v}{2} + 2</math>. Kemudian, pada tahun 1841, [[Pierre Joseph Étienne Finck|P. J. E. Finck]] menunjukkan bahwa banyak langkah pembagian tidak mungkin lebih tinggi dari <math>2 \log_2 v + 1</math>, dan artinya algoritma Euklides berjalan dalam waktu polinomial dari ukuran masukannya. [[Émile Léger]], pada tahun 1837, mempelajari kasus terburuknya, yaitu ketika masukannya adalah [[bilangan Fibonacci]] yang bersebelahan. Analisis Finck kemudian diperbaiki oleh [[Gabriel Lamé]] pada tahun 1844, yang menunjukkan bahwa banyak langkah yang diperlukan untuk menyelesaikan algoritma tidak pernah lebih dari lima kali banyak digit bilangan yang lebih kecil&nbsp;<math>b</math>.


== Penggunaan ==
== Penggunaan ==
Algoritma ini dapat digunakan dalam konteks di mana pembagian bersisa memungkinkan. Ini termasuk [[polinomial gelanggang]] dalam suatu [[medan (matematika)|medan]], juga gelanggang dari [[bilangan bulat Gauss]], dan dalam [[ranah Euklides]] umum.
Algoritma ini dapat digunakan dalam konteks di mana pembagian bersisa memungkinkan. Ini termasuk [[polinomial gelanggang]] dalam suatu [[medan (matematika)|medan]], juga gelanggang dari [[bilangan bulat Gauss]], dan dalam [[ranah Euklides]] umum.
== Referensi ==


== Bibliografi ==
== Bibliografi ==
*
*  


== Pranala luar ==
== Pranala luar ==
 
*  
*
*  [http://www.cut-the-knot.org/blue/Euclid.shtml Algoritma Euklides] di cut-the-knot
*  [http://www.cut-the-knot.org/blue/Euclid.shtml Algoritma Euklides] di cut-the-knot
*
*  
* [http://www.cut-the-knot.org/blue/binary.shtml Binary Euclid's Algorithm (Java)]
* [http://www.cut-the-knot.org/blue/binary.shtml Binary Euclid's Algorithm (Java)]
* [http://www.cut-the-knot.org/blue/EuclidAlg.shtml Euclid's Game (Java)]
* [http://www.cut-the-knot.org/blue/EuclidAlg.shtml Euclid's Game (Java)]


 
== Referensi ==
<references />


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+Euklides&oldid=28365202 Wikipedia bahasa Indonesia], revisi 28365202 (2025-11-07T03:39:36Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Algoritma+Euklides&oldid=28365202 Wikipedia bahasa Indonesia], revisi 28365202 (2025-11-07T03:39:36Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->

Revisi terkini sejak 24 Agustus 2026 22.59

Dalam matematika, algoritma Euklides adalah suatu algoritme untuk menentukan faktor persekutuan terbesar (FPB) dari dua bilangan bulat. Algoritma ini dinamai setelah matematikawan Yunani Euklides menuliskannya dalam Buku VII dan Buku X Elemen Euklides.

Algoritma Euklides muncul dalam buku Elemen Euklides sekitar tahun 300 SM, menjadikannya salah satu algoritma numerik yang tertua dan masih digunakan secara luas.

Algoritma Euklides tidak memerlukan faktorisasi.

Deskripsi algoritma

  1. Diberikan dua bilangan asli a dan b, periksa apakah b adalah nol.
  2. Jika ya, a adalah FPB. Jika tidak, ulangi langkah pertama dengan menggunakan b sebagai a yang baru dan sisa setelah a dibagi oleh b sebagai b yang baru.

Contoh

Sebagai contoh, FPB dari 1071 dan 1029 yang dihitung dengan menggunakan algoritma ini adalah 21, dengan langkah-langkah sebagai berikut:

a b sisa setelah a dibagi oleh b

1071 1029 42
1029 42 21
42 21 0
21 0

Dengan mencatat hasil bagi (yang merupakan bilangan bulat) selama menjalankan algoritma, kita juga dapat menentukan bilangan bulat p dan q di mana ap + bq = fpb(ab). Hal ini dikenal sebagai perluasan algoritme Euklides.

Bukti kebenaran

Misalkan a dan b adalah bilangan yang FPB-nya akan ditentukan. Dan misalkan sisa dari pembagian dari a oleh b adalah t. Maka a=qb+t di mana q adalah hasil bagi (yang merupakan bilangan bulat) dari pembagian tersebut. Sekarang, setiap pembagi dari a dan b juga dapat habis membagi t (karena t dapat ditulis sebagai t=aqb). Dengan cara yang sama, setiap pembagi dari b dan t juga akan habis membagi a. Maka faktor persekutuan terbesar dari a dan b adalah sama dengan FPB dari b dan t. Oleh karena itu, kita cukup meneruskan proses tadi dengan b dan t saja. Karena t lebih kecil dalam nilai mutlak dari b, kita akan mencapait=0 setelah sejumlah langkah.

Implementasi

Algoritma ini dapat dinyatakan dengan menggunakan rekursi kanan:

 function fpb(a, b)
     if b = 0
         return a
     else
         return fpb(b, a modulus b);

Secara iteratif, fungsi ini dapat ditulis sebagai:

 function fpb(a, b)
     while b ≠ 0
         var t:= b
         b:= a modulus b
         a:= t
     return a

Euklides pada mulanya merumuskan masalah ini secara geometri, sebagai masalah untuk mencari "satuan" yang dapat dipakai untuk panjang dari dua buah garis, dan algoritmanya berlangsung dengan mengulangi pengurangan dari sisi yang lebih pendek dari sisi yang lebih panjang. Implementasi ini sama dengan implementasi berikut ini, yang cukup tidak efisien dibandingkan dengan cara yang telah dijelaskan di atas:

 function fpb(a, b)
     while a ≠ b
         if a > b
             a:= a - b
         else
             b:= b - a
     return a

Efisiensi algoritma

Efisiensi komputasional algoritma Euklides telah dipelajari secara menyeluruh.[1] Efisiensi ini bisa diartikan sebagai banyak langkah pembagian yang perlu dilakukan algoritma, dikali dengan harga komputasi setiap pembagian. Analisis tertua yang diketahui tentang algoritma Euklides berasal dari A. A. L. Reynaud pada tahun 1811,[2] yang menunjukkan bahwa banyak langkah pembagian yang dilakukan dengan masukan (u,v) tidak mungkin lebih dari v; dia kemudian memperbaiki batas ini menjadi v2+2. Kemudian, pada tahun 1841, P. J. E. Finck menunjukkan[3] bahwa banyak langkah pembagian tidak mungkin lebih tinggi dari 2log2v+1, dan artinya algoritma Euklides berjalan dalam waktu polinomial dari ukuran masukannya.[4] Émile Léger, pada tahun 1837, mempelajari kasus terburuknya, yaitu ketika masukannya adalah bilangan Fibonacci yang bersebelahan.[5] Analisis Finck kemudian diperbaiki oleh Gabriel Lamé pada tahun 1844,[6] yang menunjukkan bahwa banyak langkah yang diperlukan untuk menyelesaikan algoritma tidak pernah lebih dari lima kali banyak digit bilangan yang lebih kecil b.[7][8]

Penggunaan

Algoritma ini dapat digunakan dalam konteks di mana pembagian bersisa memungkinkan. Ini termasuk polinomial gelanggang dalam suatu medan, juga gelanggang dari bilangan bulat Gauss, dan dalam ranah Euklides umum.

Bibliografi

Pranala luar

Referensi

  1. sumber pada Wikipedia bahasa Indonesia
  2. A.-A.-L. Reynaud. Traité d'arithmétique à l'usage des élèves qui se destinent à l'École Polytechnique. Courcier. 1811. Dikutip oleh .
  3. P.-J.-E. Finck. Traité élémentaire d'arithmétique à l'usage des candidats aux écoles spéciales. Derivaux. 1841.
  4. J. Shallit. Origins of the analysis of the Euclidean algorithm. Historia Math. 1994. Vol. 21. hlm. 401–419. doi:10.1006/hmat.1994.1031.
  5. J. Shallit. Origins of the analysis of the Euclidean algorithm. Historia Math. 1994. Vol. 21. hlm. 401–419. doi:10.1006/hmat.1994.1031.
  6. G. Lamé. Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers. Comptes Rendus Acad. Sci. 1844. Vol. 19. hlm. 867–870.
  7. H. Grossman. On the Number of Divisions in Finding a G.C.D. The American Mathematical Monthly. 1924. Vol. 31 (9). hlm. 443. doi:10.2307/2298146.
  8. R. Honsberger. Mathematical Gems II. The Mathematical Association of America. 1976. hlm. 54–57. ISBN 0-88385-302-7.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28365202 (2025-11-07T03:39:36Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.