Anda di halaman 1dari 5

Latest Update: March 14, 2017

Pengantar Teori Bilangan (Bagian 4):

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.

Lemma 1.1. Jika a, b, q, r ∈ Z dengan a = bq + r, maka gcd(a, b) = gcd(b, r).


Bukti: Dimisalkan gcd(a, b) = d. Akan ditunjukkan bahwa gcd(b, r) = d. Diketahui
gcd(a, b) = d, maka d|a dan d|b. Diketahui a = bq + r, maka r = a − bq, akibatnya
d|(a − bq) = r. Selanjutnya, dimisalkan c|b dan c|r, maka b = ck dan r = cl untuk suatu

c, l ∈ Z. Diperoleh a = bq + r = ckq + cl = c(kq + l), sehingga c|a. Karena gcd(a, b) = d, c|a

1
dan c|b, maka c|d. Dengan demikian, terbukti bahwa gcd(b, r) = d. Q

Teorema 1.2 (Algoritma Euclid). Diberikan a, b ∈ Z dengan a ≥ b > 0. Dimisalkan r0 = 1


dan r1 = b. Jika algoritma pembagian berhasil mendapatkan rj = rj+1qj+1 + rj+2, dengan
0 < rj+2 < rj+1 untuk j = 0, 1, 2, ..., n − 2 dan rn+1 = 0, maka gcd(a, b) = rn, yaitu sisa
terkecil yang tidak nol pada seluruh proses algoritma pembagian.

menggunakan beberapa algoritma pembagian diperoleh r0 = r1q1+r2, untuk suatu q1, r2 ∈ Z.


Bukti: Diketahui r0 = a dan r1 = b dengan r0 ≥ r1. Salanjutnya, a dibagi b sesuai Apabila
diperoleh r2 ƒ= 0, maka proses dilanjutkan dengan membagi r1 dengan r2. Proses
ini dilakukan sampai diperoleh suatu rn+1 = 0, yaitu:

r0 = r 1 q 1 + r2 0 ≤ r2 < r1
r1 = r 1 q 2 + r3 0 ≤ r3 < r2
.
rj−2 = rj−1qj−1 + rj 0 ≤ rj < rj−1
.
rn−3 = rn−2qn−2 + rn−1 0 ≤ rn−1 < rn−2
rn−2 = rn−1qn−1 + rn 0 ≤ rn < rn−1
rn−1 = rnqn
Proses ini pasti berhenti sampai diperoleh suatu rn+1 = 0, hal ini dikerenakan sisa suatu pembagian
terkecil yang mungkin adalah 0, serta fakta bahwa

r1 > r2 > ... > rn−1 > rn > rn+1 = 0.

Menggunakan Lemma 1.1. diperoleh bahwa

gcd(a, b) = gcd(r0, r1) = gcd(r1, r2) = ... = gcd(rn−1, rn) = gcd(rn, 0) = rn.

Dengan demikian terbukti bahwa gcd(a, b) = rn. Q

Contoh 1.1. Akan dihitung pembagi persekutuan terbesar dari 100 dan 54 menggunakan
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.

2 Perluasan Algoritma Euclid


Teorema Bezout telah menjamin bahwa jika a dan b adalah bilangan bulat, maka terdapat bi-
langan bulat m dan n sedemikian hingga gcd(a, b) = ma+nb. Pada bagian ini akan dijelaskan
bahwa nilai m dan n dapat dicari menggunakan algoritma Euclid. Sebelumnya, diberikan
contohnya terlebih dahulu sebagai motivasi. Pada contoh perhitungan gcd(100, 54) = 2
menggunakan algoritma Euclid di atas dapat dilihat bahwa

100 = 1 · 54 + 46
54 = 1 · 46 + 8
46 = 5 · 8 + 6
8=1·6+2
6 = 3 · 2 + 0.

Dapat dilihat bahwa gcd(100, 54) = 2 = 8 − 1 · 6. Dari proses sebelumnya, diketahui 6 = 46


− 5 · 8. Dari sini dapat diperoleh

2 = 8 − 1 · (46 − 5 · 8) = 6 · 8 − 1 · 46.

Diketahui 8 = 54 − 1 · 46, diperoleh

2 = 6 · (54 − 1 · 46) − 1 · 46 = 6 · 54 − 7 · 46.

Diketahui 46 = 100 − 1 · 54, diperoleh

2 = 6 · 54 − 7 · (100 − 1 · 54) = −7 · 100 + 13 · 54.

Dari sini diperoleh bahwa nilai m = −7 dan n = 13.


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) = sna + tnb untuk n = 0, 1, 2, ... dimana sn dan tn diberikan secara rekursif

sj = sj−2 − qj−1sj−1, tj = tj−2 − qj−1tj−1

untuk j = 2, 3, ..., n dan dengan nilai awal s0 = 1, t0 = 1, s1 = 0, t1 = 1, dimana qj adalah hasil


bagi pada proses pembagian dalam algoritma Euclid yang digunakan untuk menghitung gcd(a,
b).

Bukti: Berdasarkan algoritma Euclid, gcc(a, b) = rn. Akan ditunjukkan bahwa rj = sja +
tjb untuk j = 0, 1, 2, ..., n, sehingga gcd(a, b) = sna + tnb. Teorema ini akan dibuktikan
menggunakan induksi matematika. Untuk j = 0 diperoleh bahwa

a = r0 = 1 · a + 0 · b = s0a + t0b,

yang berarti bahwa rj = sja + tjb benar untuk j = 0. Demikian juga untuk j = 1, dapat
dilihat bahwa
b = r1 = 0 · a + 1 · b = s1a + t1b.
Selanjutnya, diasumsikan bahwa rj = sja + tjb benar untuk j = 1, 2, ..., k − 1. Akan
ditun- jukkan bahwa peryataan tersebut benar untuk j = k. Dari langkah ke-k pada
perhitungan algoritma Euclid, diketahui
rk = rk−2 − rk−1qk−1.

Berdasarkan asumusi induksi, diperoleh

rk = (sk−2a + tk−2b) − (sk−1a + tk−1b)qk−1


= (sk−2 − sk−1qk−1)a + (tk−2 − tk−1qk−1)b
= ska + tkb.

Dengan demikian, terbukti bahwa rj = sja + tjb untuk j = 0, 1, 2, ..., n. Q


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.
(6) Diberikan a, b, c ∈ Z dengan a, b, c > 0. Buktikan bahwa terdapat p, q, r ∈ Z sedemikian
hingga gcd(a, b, c) = pa + qb + rc.
(7) Diberikan bilangan bulat positif a1, a2, ..., an. Buktikan bahwa terdapat m1, m2, ..., mn ∈

Z sedemikian hingga gcd(a1, a2, ..., an) = m1a1 + m2a2 + ... + mnan.
(8) Tentukan gcd(1240, 6660, 15540, 19980) dan nyatakan dalam bentuk kombinasi linear
dari 1240, 6660, 15540 dan 19980.

Anda mungkin juga menyukai