PTB 04 Algoritma Euclid - SandiMath
PTB 04 Algoritma Euclid - SandiMath
Algoritma Euclid
M. Zaki Riyanto
Program Studi Matematika
Fakultas Sains dan Teknologi
UIN Sunan Kalijaga Yogyakarta
muhamad.riyanto@uin-suka.ac.id
http://zaki.sandimath.web.id
1 Algoritma Euclid
Pada bagian ini akan diberikan suatu metode atau algoritma yang dapat digunakan untuk
menghitung suatu pembagi persekutuan terbesar dari dua bilangan bulat positif a dan b.
Metode ini pernah dikemukakan oleh seorang matematikawan Yunani kuno yang bernama
Euclid, dan saat ini metode ini disebut dengan algoritma Euclid.
Sebelum dijelaskan tentang algoritma Euclid, berikut ini diberikan sebuah contoh pem-
bagi persekutuan terbesar. Diberikan bilangan bulat 63 dan 24, dapat dengan mudah dilihat
bahwa gcd(63, 24) = 3. Di lain pihak, menggunakan algoritma pembagian, dapat diperoleh
bahwa 63 = 24·2+15, selanjutnya dari 24 dan 15 diperoleh 24 = 15·1+9, selanjutnya dari 15
dan 9 diperoleh 15 = 9·1+6, selanjutnya dari 9 dan 6 diperoleh 9 = 6·1+3, selanjutnya dari 6
dan 3 diperoleh bahwa 6 = 3·2+0, dan dari 3 dan 0 diperoleh 3 = 3·1+0. Perhatikan bahwa
gcd(63, 24) = gcd(24, 15) = gcd(15, 9) = gcd(9, 6) = gcd(6, 3) = gcd(3, 0) = 3. Fenomena ini
ternyata berlaku secara umum, seperti diberikan pada lemma berikut ini.
1
dan c|b, maka c|d. Dengan demikian, terbukti bahwa gcd(b, r) = d.
r0 = r1 q1 + r2 0 ≤ r2 < r1
r1 = r1 q2 + r3 0 ≤ r3 < r2
..
.
rj−2 = rj−1 qj−1 + rj 0 ≤ rj < rj−1
..
.
rn−3 = rn−2 qn−2 + rn−1 0 ≤ rn−1 < rn−2
rn−2 = rn−1 qn−1 + rn 0 ≤ rn < rn−1
rn−1 = rn qn
Proses ini pasti berhenti sampai diperoleh suatu rn+1 = 0, hal ini dikerenakan sisa suatu
pembagian terkecil yang mungkin adalah 0, serta fakta bahwa
Contoh 1.1. Akan dihitung pembagi persekutuan terbesar dari 100 dan 54 menggunakan
2
algoritma Euclid, yaitu:
100 = 54 · 1 + 46
54 = 46 · 1 + 8
46 =8·5+6
8 =6·1+2
6 = 2 · 3 + 0.
Diperoleh bahwa gcd(100, 54) = 2.
100 = 1 · 54 + 46
54 = 1 · 46 + 8
46 =5·8+6
8 =1·6+2
6 = 3 · 2 + 0.
2 = 8 − 1 · (46 − 5 · 8) = 6 · 8 − 1 · 46.
3
Berikut ini diberikan sebuah teorema yang menjamin bahwa nilai m dan n dapat dite-
mukan menggunakan bantuan algoritma Euclid. Teorema ini disebut dengan Perluasan
Algoritma Euclid.
Teorema 2.1 (Perluasan Algoritma Euclid). Diberikan bilangan bulat positif a dan b, maka
gcd(a, b) = sn a + tn b untuk n = 0, 1, 2, ... dimana sn dan tn diberikan secara rekursif
a = r0 = 1 · a + 0 · b = s0 a + t0 b,
4
3 Soal-soal Latihan
(1) Gunakan algoritma Euclid untuk menghitung gcd(45, 75), gcd(102, 222), gcd(666, 1414)
dan gcd(20785, 44350).
(2) Gunakan algoritma Euclid untuk menghitung gcd(51, 87), gcd(105, 300), gcd(981, 1234)
dan gcd(34709, 100313).
(3) Nyatakan masing-masing pembagi persekutuan terbesar pada no.1 di atas sebagai kom-
binasi linear.
(4) Nyatakan masing-masing pembagi persekutuan terbesar pada no.2 di atas sebagai kom-
binasi linear.
(5) Tentukan gcd(6, 10, 15) dan nyatakan dalam bentuk kombinasi linear dari 6, 10 dan 15.
(7) Diberikan bilangan bulat positif a1 , a2 , ..., an . Buktikan bahwa terdapat m1 , m2 , ..., mn ∈
Z sedemikian hingga gcd(a1 , a2 , ..., an ) = m1 a1 + m2 a2 + ... + mn an .
(8) Tentukan gcd(1240, 6660, 15540, 19980) dan nyatakan dalam bentuk kombinasi linear
dari 1240, 6660, 15540 dan 19980.