66
setiap adalah polinomial irredusibel atas
ℤ [ ]dan setiap ,
Menezes et al. 1997. Pada tulisan ini faktorisasi polinomial dibatasi pada polinomial-polinomial atas
ℤ [ ] dan solusi faktorisasi polinomial akan dikerjakan dalam beberapa tahap. Tahap pertama adalah faktorisasi bebas kuadrat,
kedua faktorisasi bebas kuadrat berderajad , ketiga faktorisasi berderajad dan
terakhir faktorisasi lengkap =
… .
1. Faktorisasi Bebas Kuadrat
Definisi 3.2.8.1 Misalkan
∈ ℤ[ ]. Maka bebas kuadrat jika tidak ada
pengulangan faktor, yakni tidak terdapat polinomial berderajad
sedemikian sehingga membagi
. Faktorisasi bebas kuadrat dari adalah
= ∏ , dimana setiap
adalah polinomial bebas kuadrat dan
gcd ,
= , untuk ≠ . Menezes et al. 1997 Perhatikan bahwa setiap polinomial
∈ ℤ[ ] adalah merupakan polinomial monik. Definisi yang berhubungan dengan polinomial monik dapat
dilihat pada Definisi 2.3.19. Bagian faktorisasi bebas kuadrat ini menunjukkan bagaimana masalah memfaktorkan polinomial
direduksi ke masalah pemfaktoran satu atau lebih polinomial monik bebas kuadrat. Ide dasarnya sama
dengan ide Algoritme Barlekamp’s Q-Matrix. Misalkan
= ∏ adalah polinomial monik atas
ℤ [ ] berderajad
, mempunyai faktor irredusibel berbeda ,
. Algoritme Berlekamp’s Q-Matrix untuk memfaktorkan
didasarkan pada fakta berikut. Himpunan polinomial :
ℬ = { ∈ ℤ[ ]
| mod
} adalah ruang vektor berdimensi atas
ℤ . Karena ℬ adalah ruang vektor maka ℬ memiliki basis, sebut saja basisnya adalah
ℱ = { ,
, … , }. Untuk
setiap faktor berbeda dan
dari ada
∈ ℱ dan ∈ ℤ
sedemikian sehingga membagi
− , tetapi tidak membagi
− . Faktor dan
dapat dipisah dengan menghitung gcd
, −
Menezes et al. 1997. Pada Algoritme Berlekamp’s Q- Matrix menentukan
− yaitu dengan menggunakan atau melibatkan
67
matriks identitas, sedangkan pada tulisan ini digunakan pelacakan probabilistik metode trial and error. Selanjutnya, Algoritme Berlekamp’s Q-Matrix dapat
dilihat di Landasan Teori Algoritme 2.6.1. Misalkan
∈ ℤ[ ], dengan adalah polinomial irredusibel monik
berderajad atas
ℤ , dan misalkan ∈ ℤ [ ],
, sedemikian sehingga membagi
− , dan adalah karakteristik dari
ℤ [ ]. Misalkan
= +
+ + +
, maka =
+ +
+ + mod
dan =
+ +
+ + mod
Polinomial −
mempunyai = akar Teorema 2.4.7,
dengan = , . Berdasarkan fakta yang digunakan Algoritme Berlekamp’
Q-Matrix hal 66 dan berdasarkan Teorema 2.4.7 −
menjadi : −
= −
pada ℤ [ ]. Karena
membagi −
, diperoleh = gcd
, −
= gcd ,
− = gcd
, gcd
, −
Ditulis, = gcd
, .
= gcd ,
− .
Algoritme faktorisasi bebas kuadrat dirancang untuk mendapatkan salah satu
, dimana = , 2. Berikut Algoritme Faktorisasi Bebas Kuadrat.
Algoritme Faktorisasi Bebas Kuadrat
Algoritme Faktorisasi Bebas Kuadrat adalah algoritme untuk menentukan faktorisasi bebas kuadrat dari polinomial monik bebas kuadrat
atas ℤ
dengan mengambil atau mengekstrak satu faktor saja. Algoritme Faktorisasi Bebas Kuadrat dilakukan dalam 3 tahap. Tahap
pertama adalah menguji apakah polinomial input merupakan polinomial
monik bebas kuadrat atau bukan Algoritme 3.2.8, dengan cara menginput = .
Jika adalah polinomial bebas kuadrat maka akan ditemukan
= mod
.
68
Algoritme 3.2.8
Algoritme Faktorisasi Bebas Kuadrat 1 Input
: polinomial monik ∈ ℤ[ ]berderajad dan integer , = .
Output : = gcd
, , dimana
adalah salah satu anggota ,
, … , sedemikian sehingga
= …
1. ←
mod 2.
← mod
3. Untuk dari 1 sampai diperoleh
= , lakukan :
1 ←
+ 2
ℎ ←
. =
3 ← ℎ
mod 4.
← gcd ,
Algoritme 3.2.8 diimplementasikan dengan bantuan software Maple 11, dapat dilihat pada Lampiran 2.1.
Contoh 16
Diketahui : =
+ + + ∈ ℤ[ ], dengan = .
Tentukan apakah adalah polinomial monik bebas kuadrat.
Penyelesaian : Misalkan :
= mod
= =
mod =
Selanjutnya dilakukan penjumlahan dan perkalian dan
sampai diperoleh
= = .
Berikut perhitungan =
+ ,
ℎ =
, dan =
ℎ mod
.
69
Tabel 3.2.15
Hasil Perhitungan
, ℎ
, dan
, dengan
= +
+ + . ℎ
+ + +
+ +
+ +
+ + +
+ +
+ + +
Pada saat nilainya sama dengan
= + + . Pengulangan akan
terus berlangsung sehingga tidak akan ditemukan =
mod .
Akibatnya =
+ + + bukan merupakan polinomial monik bebas
kuadrat, sehingga untuk memfaktorkan membutuhkan algoritme lain bisa digunakan Algoritme 3.2.14.
Contoh 17
Diketahui :
= +
+ +
+ +
+ +
+ ∈ ℤ[ ], dengan
= . Tentukan apakah adalah polinomial monik bebas kuadrat.
Penyelesaian : Misalkan :
= mod
= =
mod =
Selanjutnya dilakukan penjumlahan dan perkalian dan
sampai diperoleh
= = .
Berikut perhitungan
= +
, ℎ
= ,
dan = ℎ
mod .
=
+ . ℎ
= . = .
=
+ +
ℎ = .
= .
= +
+ + .
70
ℎ =
. =
+ +
+ +
+ +
+ +
+ + .
= +
+ +
+ +
+ +
+ . ℎ
= +
+ +
+ +
+ +
+ +
+ . =
+ +
+ +
+ + .
=
+ +
+ +
+ +
+ . ℎ
= +
+ +
+ +
+ . =
+ +
+ +
+ +
+ .
= . ℎ
= +
+ +
+ +
+ + .
= . Pada saat
nilainya sama dengan = . Selanjutnya karena
= , maka
gcd ,
ditetapkan sama dengan . Dan karena ditemukan
= mod
, maka adalah merupakan polinomial monik bebas
kuadrat. Sehingga selanjutnya untuk mengekstrak 1 faktor bebas kuadrat dari polinomial
dapat menggunakan Algoritme 3.2.9 berikut. Algoritme 3.2.9 berikut adalah algoritme untuk menentukan faktorisasi
bebas kuadrat dari polinomial monik bebas kuadrat ∈ ℤ[ ]dengan hanya
mengambil satu faktor saja.
Algoritme 3.2.9
Algoritme Faktorisasi Bebas Kuadrat 2 Input : polinomial monik bebas kuadrat
∈ ℤ[ ]berderajad . Output :
= gcd ,
, dimana adalah salah satu anggota
{ ,
, … , , … ,
} sedemikian
sehingga =
… …
1. ←
2. ←gunakan Algoritme 3.2.8 dengan input = dan
= 3.
Untuk dari 3 dengan langkah 2 selama t ≠ atau
≠ , lakukan:
← gunakan Algoritme 3.2.8 dengan input = dan =
. Hasilnya adalah
.
71
Algoritme 3.2.9 diimplementasikan dengan bantuan software Maple 11, dapat dilihat pada Lampiran 2.2.
Contoh 18
Diketahui =
+ +
+ +
+ +
+ + ∈ ℤ[ ]
Tentukan faktorisasi bebas kuadrat dari .
Penyelesaian :
= =
+ +
+ +
+ +
+ + .
Selanjutnya tentukan menggunakan Algoritme 3.2.8 dengan input
dan = , diperoleh
= . Ulangi langkah ini dengan input
dan = , diperoleh
= +
+ +
+ . Ulangi dengan input dan
= , diperoleh = .
Ambil hasil =
+ +
+ + .
Algoritme 3.2.10
Algoritme Faktorisasi Bebas Kuadrat 3 Deskripsi
: Menentukan faktorisasi bebas kuadrat dari polinomial monik bebas kuadrat
dengan hanya mengambil satu faktor saja. Input
: polinomial monik ∈ ℤ[ ]berderajad dan integer positif .
Output :
= gcd ,
, dimana adalah salah satu anggota
{ ,
, … , , … ,
} sedemikian
sehingga =
… …
1. ←gunakan Algoritme 3.2.9 dengan input
. 2.
Untuk dari 1 selama deg
≠ lakukan : ←gunakan Algoritme 3.2.9 dengan input
. Hasinya adalah
. Algoritme 3.2.10 diimplementasikan dengan bantuan software Maple 11,
dapat dilihat pada Lampiran 2.3.
Contoh 19
Diketahui =
+ +
+ +
+ +
+ + ∈ ℤ[ ], dan
= .
72
Tentukan faktorisasi bebas kuadrat dari .
Penyelesaian :
= +
+ + + perhitungan menggunakan Algoritme 3.2.9
dengan input .
Selanjutnya karena
deg =
= maka satu faktor bebas kuadrat dari adalah
= +
+ + + .
Jadi =
+ +
+ + .
Contoh 20
Diketahui =
+ +
+ +
+ +
+ + ∈ ℤ[ ], dan
= . Tentukan faktorisasi bebas kuadrat dari
. Penyelesaian :
=
+ +
+ + perhitungan menggunakan Algoritme 3.2.9 dengan input
.
Selanjutnya karena deg
≠ = maka ulangi lagi prosedur
sebelumnya dengan input =
+ +
+ + dan = . Dan
karena ternyata adalah polinomial irredusibel berderajad 7, maka
walaupun proses perhitungan menggunakan Algoritme 3.2.9 terus diulang tidak akan pernah ditemukan suatu faktor dari
yang berderajad sama dengan 4. Jadi perhitungan untuk mengambil atau mengekstrak satu faktor
bebas kuadrat berderajad = dari polinomial
gagal.
2. Faktorisasi Bebas Kuadrat Berderajad