Anda di halaman 1dari 12

Algoritma Euclidean

Untuk Memenuhi Tugas Mata Kuliah Matematika II (Teori Bilangan dan Aljabar)
yang dibina oleh Ibu Dra. Santi Irawati, Ph.D

Oleh:
Alfiyan Puja Dewantara (190311867213)
Yohanes Wilfridus Edwaldus (190311867249)

Offering B

UNIVERSITAS NEGERI MALANG


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
JURUSAN MATEMATIKA
S2 PENDIDIKAN MATEMATIKA
FEBRUARI 2020
3.4 Algoritma Euclidean
Kami akan mengembangkan metode sistematis, atau algoritma, untuk menemukan
faktor persekutuan terbesar dari dua bilangan bulat positif. Metode ini disebut algoritma
Euclidean. Dinamai setelah ahli matematika Yunani kuno euclid, yang menggambarkan
algoritma ini dalam elemen-elemennya. (Metode yang sama untuk menemukan faktor
persekutuan terbesar juga dijelaskan pada abad keenam oleh aryabhata ahli matematika India,
yang menyebutnya "The Pulverizer.")
Sebelum kita membahas algoritma secara umum, kami mendemonstrasikan
penggunaannya dengan sebuah contoh. Kami menemukan faktor persekutuan terbesar dari 30
dan 72. Pertama, kami menggunakan algoritma pembagian untuk menulis 72 = 30.2 + 12, dan
kita gunakan theorema 3.7 untuk mencatat (30,72) = (30,72 – 2.30) = (30,12). Perhatikan
bahwa kami telah mengganti 72 dengan angka 12 yang lebih kecil dalam perhitungan kami
karena (72,30) = (30,12). Selanjutnya, kita menggunakan algoritma pembagian lagi untuk
menulis 30 = 2.12 + 6. Menggunakan alasan yang sama seperti sebelumnya, kita melihat
bahwa (30,12) = (12,6). Karena 12 = 6,2 + 0, kita sekarang melihat bahwa (12,6) = (6,0) = 6.
Akibatnya, kita dapat menyimpulkan bahwa (72,30) = 6, tanpa menemukan semua pembagi
umum dari 30 dan 72.
Kami sekarang menyajikan bentuk umum dari algoritma euclidean untuk menghitung
faktor persekutuan terbesar dari dua bilangan bulat positif.

Teorema 3.11. Algoritma Euclidean. Diberikan r0 = a dan r1 = b menjadi bilangan bulat


sehingga a ≥ b ≥ 0. Jika algoritma pembagian berhasil diterapkan untuk mendapatkan
r j=r j+1 q j+1 +r j+2 dengan 0< r j+ 2<r j+1 untuk j=0,1,2 , … ,n−2 dan r n +1=0, maka ( a , b )=r n ,
terakhir sisanya bukan nol.

Dari teorema ini, kita melihat bahwa faktor persekutuan terbesar dari a dan b adalah
sisa bukan nol terakhir dalam urutan persamaan yang dihasilkan dengan berhasil
meningkatkan algoritma pembagian dan melanjutkan sampai sisa adalah 0, dimana pada
setiap langkah, dividen dan pembagi diganti dengan angka yang lebih kecil, yaitu pembagi
dan sisa.
Untuk membuktikan bahwa algoritma Euclidean menghasilkan faktor persekutuan
terbesar, lemma berikut akan membantu.

Lemma 3.3. jika e dan d adalah bilangan bulat dan e = dq + r, di mana q dan r adalah
bilangan bulat, maka (e, d) = (d, r).

Bukti. Lemma ini mengikuti langsung dari teorema 3.7, mengambil a = r, b = d, dan c = q

Kami sekarang membuktikan bahwa algoritma euclidean menghasilkan faktor


persekutuan terbesar dari dua bilangan bulat.

Bukti. Diberikan r 0 =a dan r 1=b menjadi bilangan bulat positif dengan a ≥ b. Dengan
berturut-turut menerapkan algoritma pembagian, kami menemukan bahwa
r 0 =r 1 q 1+ r 2 0 ≤ r 2 <r 1
r 1=r 2 q 2+ r 3 0 ≤ r 3 <r 2
.
.
.
r j−2=r j−1 q j−1 +r j 0 ≤ r j <r j−1

1
.
.
.
r n−4 =r n−3 q n−3 +r n−2 0 ≤ r n−2< r n−3
r n−3=r n−2 q n−2+ r n−1 0 ≤ r n−1 <r n−2
r n−2=r n−1 q n−1+ r n 0 ≤ r n <r n−1
r n−1=r n q n

Kita dapat mengasumsikan bahwa kita pada akhirnya memperoleh sisa nol, karena urutan sisa
a=r 0 ≥r 1 ≥ r 2 ≥ … ≥ 0 tidak boleh berisi lebih dari a (karena setiap sisanya adalah bilangan
bulat). Oleh Lemma 3.3, kita melihat bahwa
( a , b )=( r 0 , r 1 )=( r 1 , r 2 )=( r 2 , r 3 ) =…=( r n−3 , r n−2) =( r n −2 , r n−1 )=( r n−1 , r n ) =( r n , 0 )=r n .Karena itu,
( a , b )=r n, terakhir sisanya bukan nol.

Kami menggambarkan penggunaan algoritma Euclidean dengan contoh berikut.

Contoh 3.12. Langkah-langkah yang digunakan oleh Algoritma Euclidean untuk mencari
(252, 198) adalah
252 = 1.198 + 54
198 = 3.54 + 36
54 = 1.36 + 18
36 = 2.18

Kami merangkum langkah-langkah ini dalam tabel berikut:

j rj rj+1 qj rj+2
0 252 198 1 54
1 198 54 3 36
2 54 36 1 18
3 36 18 2 0
Sisa bukan nol terakhir (ditemukan di sebelah baris terakhir di kolom terakhir) adalah faktor
persekutuan terbesar dari 252 dan 198. Oleh karena itu, (252,198) = 18.

Algoritma Euclidian adalah cara yang sangat cepat untuk menemukan faktor
persekutuan terbesar.
Kemudian, kita akan melihat ini ketika kita memperkirakan jumlah maksimum divisi
yang digunakan oleh algoritma Euclidean untuk menemukan faktor persekutuan terbesar dari
dua bilangan bulat positif. Namun, pertama-tama kami menunjukkan bahwa, mengingat
bilangan bulat positif n, ada bilangan bulat a dan b sehingga tepat n divisi diperlukan untuk
menemukan (a, b) menggunakan algoritma euclidean. Kami dapat menemukan nomor
tersebut dengan mengambil ketentuan berurutan dari Fibonacci.
Alasan bahwa algoritma euclidean beroperasi sangat lambat ketika ia menemukan
faktor persekutuan terbesar dari angka-angka Fibonacci berturut-turut adalah bahwa hasil
bagi semua kecuali langkah terakhir adalah 1, seperti yang diilustrasikan dalam contoh
berikut.

Contoh 3.13. Kita gunakan algoritma ecluidean untuk mencari (34,55). Catatan bahwa f9 =
34 dan f10 = 55. Kita mempunyai
55 = 34.1 + 21

2
34 = 21.1 + 13
21 = 13.1 + 8
13 = 8.1 + 5
8 = 5.1 + 3
5 = 3.1 + 2
3 = 2.1 + 1
2 = 1.2

Perhatikan bahwa ketika algoritma euclidean digunakan untuk menemukan faktor


persekutuan terbesar untuk f9 = 34 dan f10 = 55, total delapan divisi diperlukan. Selanjutnya,
(34,55) = 1 karena 1 adalah sisa non nol terakhir.
Teorema berikut memberi tahu kami berapa banyak divisi yang digunakan oleh
algoritma euclidean untuk menemukan faktor persekutuan terbesar dari nomor-nomor
fibonacci.

Teorema 3.12. Diberikan f n+1dan f n+2 menjadi syarat berturut-turut dari urutan Fibonacci,
dengan n > 1. Kemudian algoritma euclidean membutuhkan tepat n divisi untuk
menunjukkannya ( f n+1 , f n +2 ¿=1.

Bukti. Menerapkan algoritma euclidean dan menggunakan hubungan mendefinisikan untuk


angka-angka Fibonacci f j=f j−1+ f j−2 di dalam setiap langkah kita lihat bahwa
f n+2=f n +1 .1+ f n
f n+1=f n .1+ f n−1
.
.
.
f 4=f 3 .1+ f 2
f 3=f 2 .2
Oleh karena itu, algoritma euclidean membutuhkan tepat n divisi, untuk menunjukkan bahwa
( f ¿ ¿ n+1 , f n +2)=f 2=1 ¿

Kompleksitas Algoritma Euclidean kita sekarang dapat membuktikan teorema pertama kali
dibuktikan oleh Gabriel Lame, seorang ahli matematika Prancis abad kesembilan belas, yang
memberikan perkiraan untuk jumlah divisi yang diperlukan untuk menemukan faktor
persekutuan terbesar menggunakan algoritma euclidean.

Teorema 3.13 Teorema Lame. Jumlah divisi yang diperlukan untuk menemukan faktor
persekutuan terbesar dari dua bilangan bulat positif menggunakan algoritma euclidean tidak
melebihi lima kali jumlah digit angka desimal yang lebih kecil dari dua bilangan bulat.

Bukti. Ketika kita menerapkan algoritma euclidean untuk menemukan faktor persekutuan
terbesar a=r 0 dan b=r 1 dengan a > b, kita memperoleh urutan persamaan berikut
r 0 =r 1 q 1+ r 2 0 ≤ r 2 <r 1
r 1=r 2 q 2+ r 3 0 ≤ r 3 <r 2
.
.
.
r n−2=r n−1 q n−1+ r n 0 ≤ r n <r n−1
r n−1=r n q n

3
kita telah menggunakan n divisi. kita mencatat bahwa masing-masing hasil bagi
q 1 , q 2 , … , q n−1 ≥ 1 dan q n ≥ 2, karena r n <r n−1 , oleh sebab itu

r n ≥1=f 2,
r n−1 ≥2 r n ≥2 f 2=f 3 ,
r n−2 ≥r n−1+r n ≥ f 3 + f 2=f 4 ,
r n−3 ≥ r n−2+ r n−1 ≥ f 4 +f 3 =f 5 ,
.
.
.
r 2 ≥r 3+ r 4 ≥ f n−1 +f n−2 =f n ,
b=r 1 ≥r 2 +r 3 ≥ f n + f n−1=f n+1.

Jadi, agar ada n divisi yang digunakan dalam algoritma Euclidean, kita harus mempunyai
b ≥ f n+1.
( 1+ √5 )
Contoh 1.28, Diketahui f n+1 >α n−1 untuk n ≥ 2 , dimana α = . Oleh karena itu b> α n−1 .
2
Sekarang, karena log 10 α >1 /5 dapat kita lihat

log 10 b> ( n−1 ) log 10 α > ( n−1 ) /5.

Akibatnya,
n−1<5 . log 10 b .
Anggap b memiliki digit desimal, sehingga b< 10k dan log 10 b< k . Jadi, dapat dilihat
n−1<5 k , dan karena k adalah bilangan bulat, kita dapat menyimpulkan bahwa ini
membentuk teorema Lame.
Hasil berikut adalah konsekuensi dari teorema Lame. Ini memberitahu kita bahwa
algoritma Euclidean sangat efisien.

Corollary 3.13.1. 
Faktor persekutuan terbesar dari dua bilangan bulat positif a dan b dengan a> b dapat
3
ditemukan menggunakan O ( ( log 2 a ) ) operasi bit.

Bukti,
2
Kita tahu dari teorema Lame bahwa 0 ( log 2 a )divisi, masing-masing mengambil O ( ( log 2 a ) )
operasi bit, diperlukan ( a , b )untuk menemukannya . Oleh karena itu ( a , b ), oleh Teorema
3
2.3, dapat ditemukan menggunakan total O ( ( log 2 a ) ) operasi bit

Mengekspresikan Faktor persekutuan terbesar - Sebagai Kombinasi Linier. Algoritma


Euclidean dapat digunakan untuk mengekspresikan faktor persekutuan terbesar dari dua
bilangan bulat sebagai kombinasi linear dari bilangan bulat tersebut. Kami menggambarkan
ini dengan mengekspresikan ( 252 ,198 )=18 sebagai kombinasi linear dari 252 dan 198.
Mengacu pada langkah-langkah algoritma Euclidean yang digunakan untuk menemukan
(252.198), dengan selanjutnya ke langkah terakhir kita melihat bahwa

4
18=54−1 . 36

Pada langkah sebelumnya, berikut ini


36=198−3 . 54 ,
Yang ditunjukan

Demikian juga, pada langkah pertama, kita memiliki


54=252−1 . 198 ,
Sehingga
18=4 ( 252−1. 198 )−1 . 198=4 . 252−5 .198
Persamaan terakhir 18=( 252, 198 ) ini menunjukkan kombinasi linear dari 252 dan 198 .
Secara umum, untuk melihat bagaimana d= ( a , b ) dapat dinyatakan sebagai kombinasi linear
a dan b , merujuk ke serangkaian persamaan yang dihasilkan oleh algoritma
Euclidean. Dengan persamaan kedua dari belakang, kita miliki

r n =( a , b )=r n−2−r n−1 qn−1

Ini menyatakan (a, b) sebagai kombinasi linear dari r n−2 dan r n−3. Kami terus bekerja mundur
melalui langkah-langkah algoritma Euclidean untuk mengekspresikan ( a , b ) sebagai
kombinasi linear dari setiap pasangan sisa sebelumnya, sampai kami telah menemukan (a, b)
sebagai kombinasi linear dari r 0 =a and r 1=b .
Secara khusus, jika kita telah menemukan pada tahap tertentu itu
( a , b )=s r j +tr j−1 ,

Lalu sejak itu


r j=r j−2−r j−1 q j−1 ,
Kita mempunyai
( a , b )=s ( r j−2−r j−1 q j−1) + t r j −1
¿ ( t−sq j−1 ) r j−1 +sr j−2.

Ini menunjukkan bagaimana cara bergerak naik melalui persamaan yang dihasilkan oleh
algoritma Euclidean sehingga, pada setiap langkah, faktor persekutuan terbesar dari a dan b
dan dapat dinyatakan sebagai kombinasi linear dari a dan b .

Metode ini untuk menyatakan ( a , b ) sebagai kombinasi linear dari a dan b  dari beberapa
perhitungan yang sulit , karena itu perlu untuk mengerjakan langkah-langkah algoritma
Euclidean, menyimpan semua langkah, dan kemudian melanjutkan mundur melalui langkah-
langkah untuk menulis ( a , b ) sebagai kombinasi linear dari masing-masing sepasang sisa yang
berurutan. Ada metode lain untuk menemukan ( a , b ) yang membutuhkan pengerjaan hanya
sekali melalui langkah-langkah algoritma Euclidean. Teorema berikut ini memberikan
metode, yang disebut algoritma Extended Euclidean

Teorema 3.14.  Jika a dan b menjadi bilangan bulat positif , maka


( a , b )=s n a+t n b ,

5
Di mana sn dan t n adalah istilah ke-n dari urutan yang didefinisikan secara rekursif
oleh
s0=1, t 0=0 ,
s1=0 ,t 1=1 ,

Dan
s j=s j−2 −q j−1 s j−1 , t j=t j−2−q j −1 t j−1
Untuk j=2 ,3 , . .., n , di mana q j adalah hasil bagi dalam pembagian algoritma Euclidean
ketika digunakan untuk menemukan ( a , b ).

Bukti.  Akan dibuktikan

( 3.2 ) r j=s j a+ t j b

Untuk j=0 , 1, … , n .karena ( a , b )=r n, Karena sejak kita membuat ( 3.2 ) , kita akan tahu bahwa
kita memiliki

(a , b)=s n a+ t n b

Karenanya, (3.2) berlaku untuk j=0. Dan juga b=r 1=0 . a+1 . b=s 1 a+ t 1 b , sehingga (3.2)
berlaku juga / benar untuk j=1

Sekarang, kita asumsikan bahwa :


r j=s j a+ t j b

untuk j=1 ,2 , … , k−1 . Lalu, dari k  langkah algoritma Euclidean, kita memiliki

r k =r k−2−r k−1 q k−1.

Menggunakan hipotesis induksi, diketemukan


r k =( sk−2 +t k−2 )−( s k−1 + t k−1 ) q k−1
a b a b

¿ ( sk−2−s k−1 q k−1 ) a+ ( t k−2−t k−1 q k−1 ) b


¿ sk a+t k b.
Pembuktian selesai.
Contoh berikut menggambarkan penggunaan algoritma ini untuk menyatakan ( a , b ) 
sebagai kombinasi linear dari a dan b

Contoh 3.14. 
Kami merangkum langkah-langkah yang digunakan oleh algoritma Euclidean yang diperluas
untuk menyatakan (252.198) sebagai kombinasi linear dari 252 dan 198 dalam tabel berikut.

j rj r j+1 q j +1 r j+2 sj tj
0 252 198 1 54 1 0
1 198 54 3 36 0 1
2 54 36 1 18 1 -1
3 36 18 2 0 -3 4
4 4 -5

6
Nilai-nilai dari s j dan t j , j=0 , 2, 3 , 4 , dihitung sebagai berikut:
s0=1, t 0=0 ,
s1=0 ,t 1=1 ,
s2=s 0−s 1 q1=1−0 .1=1, t 2=t 0−t 1 q 1=0−1. 1=−1 ,
s3=s 1−s 2 q2=0−1 .3=−3 , t 3 =t 1−t 2 q2=1−(−1 ) 3=4 ,
s4 =s2−s3 q 3=1−(−3 ) .1=4 , t 4=t 2−t 3 q3 =−1−4 .1=−5.

karena r 4 =18=( 252, 198 ) dan r 4 =s4 a+ t 4 b , kita mendapatkan

18=( 252,198 )=4 .252−5 .198.

Perhatikan bahwa faktor persekutuan terbesar dari dua bilangan bulat dapat dinyatakan
sebagai kombinasi bilangan bulat dalam jumlah cara yang tak terbatas. Untuk melihat ini,
misalkan d= ( a , b ) dan d=sa+ tb menjadi salah satu cara untuk menulis d sebagai kombinasi
linear dari a dan b, dijamin berkaitan dengan diskusi sebelumnya. Kemudian untuk semua
bilangan bulat k,
berlaku :
d= ( s +k ( b /d ) ) a+ ( t−k ( a/d ) ) b.

Contoh 3.15.
Dengan a=252 dan b=198 ,, kita memperoleh 18=( 252, 198 )= ( 4+11 k ) 252+ (−5−14 k ) 198
untuk setiap bilangan bulat k   

7
SOAL DAN PEMBAHASAN

1. Carilah nilai-nilai x, y Î yang memenuhi hubungan


(7897, 4399) = x (7897) + y (4399)
Jawab: 7897 = 1.4399 + 3498, 3498 = 7897 – 1.4399
4399 = 1.3498 + 901 , 901 = 4399 – 1.3498

3498 = 3.901 + 795 , 795 = 3498 – 3.901

901 = 1.795 + 106 , 106 = 901 – 1.795

795 = 7.106 + 53 , 53 = 795 – 7.106

106 = 2.53 + 0

Dengan demikian dapat ditentukan:

(7897, 4399) = 53

= 795 – 7.106 = 795 – 7. (901 – 1.795)

= 8.795 – 7.901 = 8(3498 – 3.901) – 7.901

= 8.3498 – 31.901 = 8.3498 – 31(4399 – 1.3498)

= 39.3498 – 31.4399 = 39.(7897 – 1.4399) – 31.4399

(7897, 4399) = 39.7897 + (-70) . 4399

Jadi: x = 7897 dan y = -70

2. Carilah FPB dari 70, 98, dan 105 menggunakan Algoritma Euclidean

Jawab :

Cara 1. (70, 98) (14, 105)

98 = 1.70 + 28 105 = 7.14 + 7

70 = 2.28 + 14 14 = 2.7 + 0
8
28 = 2.14 + 0 (14, 105) = 7

(70, 98) = 14

Jadi (70, 98, 105) = 7

Cara 2. (98, 105) (70, 7)


105 = 1.98 + 7 70 = 10.7 + 0
98 = 14.7 + 0 (70, 7) = 7
(98, 105) = 7
Jadi (70, 98, 105) = 7

3. Tentukan HP dari 20 x 2+11 y =2020 menggunakan kombinasi linier.

Jawab :
Misalkan x 2=a
Jadi 20 a+11 y =2020

 Cari FPB dari 11 dan 20

20 = 1.11 + 9

11 = 1.9 + 2

9 = 4.2 + 1

2 = 2.1 + 0

(11, 20) = 1

 Kemudian cari kobinasi linier dari 11 dan 12

1 = 9 – 4.2
1 = 9 – 4(11 – 1.9)
1 = 9 – 4.11 + 4.9
1 = 5.9 – 4.11
1 = 5(20 – 1.11) – 4.11
1 = 5.20 – 5.11 – 4.11
1 = 5.20 – 9.11 (kedua ruas dikalikan 2020)

9
2020 = 5.(2020).20 – 9.(2020).11
Jadi didapat 10100.20 + (-18180).11 = 2020
Sehingga a=x 2=10100 dan y=−18180
Maka diperoleh x=± √ 10100 dan y =−18180

HP={ √ 10100 ,−18180 } ∪ {−√ 10100 ,−18180 }


4. Tentukan semua bilangan bulat yang memenuhi persamaan 13 x+ 37 y=200.

Jawab :

 Cari FPB dari 13 dan 37

37=2.13+ 11
13=1.11+ 2
11=5.2+1
2=2.1+0

(13, 37) = 1

 Kemudian cari kobinasi linier dari 13 dan 37

1 = 11 – 5. 2

1 = 11 – 5. (13 -11)

1 = 6. 11 – 5. 13

1 = 6. (37 – 2. 13) – 5. 13

1 = 6. 37 – 17. 13 (Kalikan kedua ruas dengan 200)

200 = 6.200. 37 – 17.200. 13

200 = – 17.200. 13 + 6.200. 37

dengan d= ( a , b )=s . a+t .b


maka d=200 , s=– 17.200=−3400 dan t=6.200=1200

 Kemudian untuk semua bilangan bulat k, berlaku

d= ( a , b )=( s+ k ( b/ d ) ) a+ ( t−k ( a/d ) ) . b

Dengan x=( s+ k ( b/d ) ) dan y=( t−k ( a/d ) )

Maka 200=(−3400+ k (37 /200)). 13+( 1200 – k (13 /200)).37

Jadi x=¿ untuk semua bilangan bulat k

10
DAFTAR RUJUKAN

Rosen, Kenneth.H. 2005. “Elementary Number Theory and Its Application 5 ed ”.


Massachussets: Addison Wesley.

11

Anda mungkin juga menyukai