Algoritma Euclid
Pada setiap bilangan bulat dan dimana yang memenuhi dan , dimana bilangan bulat adalah hasil bagi (quotient) dan bilangan bulat adalah sisa bagi (remainder), berlaku
GCD adalah singkatan dari Greatest Common Divisor. Dalam bahasa Indonesia, GCD dikenal sebagai FPB: Faktor Persekutuan Terbesar.
Teorema di atas bisa dipakai secara beruntun untuk mencari GCD secara cepat. Pemakaian secara beruntun ini dikenal sebagai Algoritma Euclid. Algoritma Euclid akan terus berlangsung selama masih lebih besar dari nol. Algoritma baru akan berhenti ketika bernilai nol.
Jika sudah nol, maka nilai GCD dapat ditentukan dengan menggunakan rumus:
Rumus ini sudah dibuktikan di sifat GCD ini.
Selanjutnya, sebelum mempelajari Algoritma Euclid, pembaca sangat disarankan untuk memahami Pembagian Euclid terlebih dahulu.
Agar lebih jelas, perhatikan contoh-contoh di bawah.
Contoh
Contoh 1
Carilah GCD dari dan dengan menggunakan Algoritma Euclid.
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma berhenti dan
Dari rentetan algoritma ini diperoleh:
Dengan demikian, GCD dari dan adalah .
Contoh 2
Carilah GCD dari dan dengan menggunakan Algoritma Euclid.
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma berhenti dan
Dari rentetan algoritma ini diperoleh:
Dengan demikian, GCD dari dan adalah .
Contoh 3
Carilah GCD dari dan dengan menggunakan Algoritma Euclid.
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma berhenti dan
Dari rentetan algoritma ini diperoleh:
Dengan demikian, GCD dari dan adalah .
Contoh 4
Carilah GCD dari dan dengan menggunakan Algoritma Euclid.
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma berhenti dan
Dari rentetan algoritma ini diperoleh:
Dengan demikian, GCD dari dan adalah .
Contoh 5
Carilah GCD dari dan dengan menggunakan Algoritma Euclid.
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma berhenti dan
Dari rentetan algoritma ini diperoleh:
Dengan demikian, GCD dari dan adalah . Berarti dan adalah dua bilangan yang relatif prima.
Contoh 6
Carilah GCD dari dan dengan menggunakan Algoritma Euclid.
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma berhenti dan
Dari rentetan algoritma ini diperoleh:
Dengan demikian, GCD dari dan adalah . Berarti dan adalah dua bilangan yang koprima.
Contoh 7
Carilah GCD dari dan dengan menggunakan Algoritma Euclid.
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma dilanjutkan dan
Sisa bagi (remainder)
Karena maka algoritma berhenti dan
Dari rentetan algoritma ini diperoleh:
Dengan demikian, GCD dari dan adalah .
Bukti
Rentetan Algoritma Euclid hanya mungkin dilakukan karena teorema di bawah ini:
Pada setiap bilangan bulat dan dimana yang memenuhi dan , dimana bilangan bulat adalah hasil bagi (quotient) dan bilangan bulat adalah sisa bagi (remainder), berlaku
Berikut disajikan pembuktian teorema di atas.
Misalkan D adalah himpunan semua faktor-faktor persekutuan dari dan .
Tentu saja faktor persekutuan terbesar (GCD) dari dan ada di dalam D.
Misalkan pula E adalah himpunan semua faktor-faktor persekutuan dari dan .
Tentu saja faktor persekutuan terbesar (GCD) dari dan ada di dalam E.
Kalau bisa dibuktikan bahwa semua anggota himpunan D ada di dalam E dan semua anggota himpunan E ada di dalam D, berarti D = E.
Kalau D = E, berarti anggota himpunan terbesar D sama dengan anggota himpunan terbesar E.
Kalau anggota himpunan terbesar D sama dengan anggota himpunan terbesar E, berarti faktor persekutuan terbesar dan sama dengan faktor persekutuan terbesar dan .
Berarti, untuk membuktikan cukup dengan membuktikan bahwa semua anggota himpunan D ada di dalam E dan semua anggota himpunan E ada di dalam D.
Bagian 1: semua anggota himpunan D ada di dalam E
Ambil salah satu anggota himpunan D. Katakanlah
Karena adalah faktor dari dan , maka dan
Terlihat jelas bahwa adalah salah satu faktor dari .
Karena adalah faktor dari dan , maka adalah salah satu faktor persekutuan dari dan .
Artinya pasti ada di dalam himpunan E.
Dengan cara yang sama, semua anggota himpunan D pasti juga anggota himpunan E.
Bagian 2: semua anggota himpunan E ada di dalam D
Ambil salah satu anggota himpunan E. Katakanlah
Karena adalah faktor dari dan , maka dan
Terlihat jelas bahwa adalah salah satu faktor dari .
Karena adalah faktor dari dan , maka adalah salah satu faktor persekutuan dari dan .
Artinya pasti ada di dalam himpunan D.
Dengan cara yang sama, semua anggota himpunan E pasti juga anggota himpunan D.
Kesimpulan
Dengan demikian, karena sudah ditunjukkan bahwa semua himpunan D pasti juga anggota himpunan E dan sebaliknya semua anggota himpunan E pasti juga anggota himpunan D, maka dapat disimpulkan D = E. Selanjutnya, karena D = E, maka anggota himpunan terbesar D pasti sama dengan anggota himpunan terbesar E. Karena anggota himpunan terbesar D sama dengan anggota himpunan terbesar E, maka faktor persekutuan terbesar dari dan sama dengan faktor persekutuan terbesar dari dan
Tambahan
Apakah algoritma ini pasti berhenti?
Pasti. Perhatikan bahwa di dalam setiap operasi, nilai semakin lama semakin mengecil. Nilai yang semakin mengecil ini terjadi karena batasan
Misalkan adalah nilai pada operasi pertama.
Pada operasi kedua, akan bertindak sebagai pembagi. Akibatnya,
Pada operasi ketiga, akan bertindak sebagai pembagi. Akibatnya,
Dan seterusnya.. sampai dan algoritma berhenti.