bab ii tinjauan pustaka 2.1 2.1.1 polinomial
TRANSCRIPT
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
6
BAB II
TINJAUAN PUSTAKA
2.1 Landasan Teori
Dasar-dasar teori yang digunakan sebagai landasan utama dalam penelitian ini,
antara lain sebagai berikut:
2.1.1 Polinomial
Persamaan polinomial (atau persamaan bilangan bulat rasional) diperoleh
apabila suatu polinomial dalam satu variabel ditetapkan sama dengan nol. Bentuk
standar suatu persamaan polinomial adalah sebagai berikut :
(2.1)
dimana a disebut sebagai koefisien polinomial yang merupakan bilangan riil dan n
merupakan derajat polinomial berupa bilangan bulat positif. Suku-suku pangkat
dari x disusun dalam derajat menurun. Apabila tidak terdapat sebuah suku, maka
nilai koefisien dari suku tersebut adalah nol. Koefisien tidak memiliki faktor umum
kecuali ± 1, dan . Suku disebut sebagai suku terdepan, adalah suku
konstanta, dan disebut koefisien terdepan (Frank & Schmidt, 2004).
Persamaan polinomial dibedakan menjadi beberapa jenis. Polinomial dengan
koefisien dari variabel x berderajat tertinggi sama dengan 1 disebut sebagai
polinomial monoid. Bentuk polinomial monoid adalah sebagai berikut :
(2.2)
Berikut ini merupakan contoh-contoh polinomial berdasarkan derajat
polinomial :
a. Polinomial kuadrat
Polinomial berderajat dua disebut juga sebagai polinomial kuadrat atau
quadratic polinomial. Polinomial ini memiliki pangkat tertinggi suku x adalah
2 (n = 2). Bentuk polinomial kuadrat adalah sebagai berikut (Harris & Stocker,
1998) :
(2.3)
Contoh grafik polinomial derajat dua yaitu terdapat pada
Gambar 2.1.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
7
-30 -20 -10 10 20 30x
-200
200
400
600
800
1000
1200
1400y
Gambar 2.1 Grafik polinomial
b. Polinomial kubik
Polinomial kubik atau cubic polinomial merupakan polinomial berderajat tiga
dimana nilai pangkat tertinggi x adalah tiga (n = 3). Contoh :
(2.4)
dengan a, b, c, d merupakan bilangan real dan a ≠ 0 (Bronshtein et al.,2015).
Salah satu contoh persamaan polinomial kubik adalah
dengan grafik seperti berikut :
-5 -4 -3 -2 -1 1 2 3 4 5
50
-50
-100
-150
-200
-250
y
x
Gambar 2.2 Grafik Polinomial
c. Polinomial kuartik
Polinomial kuartik atau quartic polinomial merupakan polinomial berderajat
empat dimana nilai pangkat tertinggi x adalah empat (n = 4). Contoh :
(2.5)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
8
Contoh polinomial kuartik adalah
ditampilkan dalam Gambar 2.3.
-15 -10 -5 5 10 15
14
8
6
4
2
-2
y
x
10
12
Gambar 2.3 Grafik Polinomial
d. Polinomial berderajat n
Polinomial derajat n merupakan polinomial dengan nilai pangkat tertinggi dari
variabel x adalah n. Persamaan polinomial berderajat n memiliki bentuk :
(2.6)
dimana merupakan bilangan real (James, Smith & Wolford, 2000).
Salah satu contoh polinomial derajat n adalah
. Grafik sampel polinomial
ditampilkan pada Gambar 2.4 berikut :
-10 -8 -4 2 6 10x
-6 -2 4 8
8
4
3
2
1
-1
y
5
7
6
Gambar 2.4 Grafik Polinomial
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
9
Sebuah persamaan polinomial f(x) = 0 akan memiliki akar polinomial r jika
dan hanya jika f(r) = 0. Dengan demikian, absis dari titik perpotongan dari grafik y
= f(x) dan sumbu x adalah akar-akar dari f(x) = 0. Akar-akar sebuah persamaan
polinomial dapat berupa akar-akar kompleks, akar-akar irasional, dan akar-akar
rasional. Berikut ini merupakan penjelasannya :
a. Apabila persamaan polinomial f(x) = 0 memiliki koefisiean real dan jika
bilangan kompleks a + bi adalah akar dari f(x) = 0, maka konjugasi (sekawan)
kompleks a – bi juga merupakan akar persamaan polinomial tersebut.
b. Apabila bilangan irasional merupakan salah satu akar dari sebuah
persamaan polinomial f(x) = 0 dimana a dan b adalah bilangan rasional, maka
irasional konjugasi juga merupakan akar polinomial tersebut.
Berdasarkan bentuk polinomial, maka dapat diketahui bahwa (James, Smith
& Wolford, 2000) :
a. Setiap persamaan polinomial f(x) memiliki sedikitnya satu akar, bilangan real
atau bilangan kompleks.
b. Suatu persamaan polinomial derajat n mempunyai tepat n akar. Ke n akar ini
mungkin tidak semuanya berbeda.
c. Terdapat setidaknya satu akar real jika n merupakan bilangan bulat ganjil
d. Apabila f(x) = 0 merupakan persamaan polinomial, maka persamaan f(-x) = 0
mempunyai akar-akar negatif dari akar f(x) = 0. Misalnya, persamaan
mempunyai akar 2, -2, -3; maka persamaan
adalah -2, 2, 3.
e. Banyaknya akar positif dari persamaan polinomial f(x) = 0, dengan koefisien
real, sama dengan banyaknya variasi tanda dalam f(x) atau banyaknya bilangan
tersebut dikurangi suatu bilangan genap. Dikatakan variasi tanda yaitu apabila
suatu polinomial disusun dalam variabel dengan derajat menurun, dan terdapat
dua suku berurutan yang memiliki tanda berbeda. Dengan demikian, banyaknya
akar negatif dari f(x) = 0 sama dengan banyaknya akar positif dari f(-x) =0
(Aturan tanda Descrates). Misalnya, mempunyai satu
variasi tanda, f(-x) = 0 mempunyai satu akar positif dan f(x) = 0 mempunyai satu
akar negatif.
f. Memungkinkan terjadinya nilai akar yang sama
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
10
g. Akar kompleks terjadi pada pasangan konjugasi (pasangan sekawan)
Pencarian akar kompleks polinomial derajat dua dapat dilakukan dengan
menggunakan metode analitik seperti rumus kuadrat dan pembagian horner,
sedangkan untuk menyelesaikan polinomial berderajat tiga atau lebih dapat
dilakukan dengan metode numerik menggunakan algoritma-algoritma khusus
pencarian akar kompleks polinomial. Di bawah ini akan dijelaskan lebih detail
mengenai beberapa metode yang dapat digunakan untuk mencari akar kompleks
polinomial :
2.1.1.1 Rumus Kuadrat
Polinomial berderajat dua atau yang disebut juga persamaan kuadrat
memiliki bentuk seperti yang tertera pada Persamaan 2.3. Dalam penyelesaian
persamaan kuadrat dengan bentuk seperti Persamaan 2.3 memuat bentuk akar
, bentuk aljabar disebut sebagai diskriminan. Nilai
diskriminan akan menentukan sifat dan banyaknya akar-akar polinomial yang
dihasilkan.
Persamaan 2.3 dapat dituliskan dalam bentuk lain seperti yang tertera pada
Persamaan 2.6.
(2.6)
dimana nilai p didapat dari dan nilai q didapat dari (Harris & Stocker, 1998).
Nilai diskriminan untuk persamaan polinomial kuadrat monoid seperti yang tertera
pada Persamaan 2.6 dapat ditentukan berdasarkan rumus berikut :
(2.7)
Berdasarkan nilai diskrimanannya, polinomial kuadrat memiliki sifat-sifat
seperti di bawah ini :
1. Apabila D > 0, maka memiliki dua akar real yang berbeda
yaitu .
2. Apabila D = 0, maka memiliki dua akar real yang sama yaitu
.
3. Apabila D < 0, maka memiliki pasangan penyelesaian yang
kompleks yaitu
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
11
Berikut ini merupakan grafik masing-masing sifat polinomial berdasarkan
nilai diskriminan :
-30 -20 -10 10 20 30
1400
800
600
400
200
-200
y
x
1000
1200
Gambar 2.5 Grafik persamaan
dimana D > 0
-30 -30 -20 10 20 30x
-10
900
600
500
300
100
y
700
800
200
400
0
Gambar 2.6 Grafik persamaan
dimana D = 0
-5 -4 -3 1 2 5x
0-2 -1 3 4
70
40
20
10
y
50
60
30
0 Gambar 2.7 Grafik persamaan dimana D < 0
Penyelesaikan polinomial kuadrat seperti pada Persamaan 2.3 dapat
dilakukan dengan rumus kuadrat berikut :
(2.8)
Berdasarkan rumus kuadrat di atas, maka penyelesaian bentuk standar
polinomial kuadrat yang tertera pada Persamaan 2.6 adalah sebagai berikut :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
12
(2.9)
Rumus ini berlaku tanpa ada batasan jika domain variabilitas merupakan
himpunan bilangan kompleks. Apabila dibatasi untuk bilangan real, maka D ≥ 0
harus terpenuhi.
Dalam algoritma rumus kuadrat, input yang dimasukkan yaitu berupa
persamaan polinomial seperti pada Persamaan 2.3 dan output yang dihasilkan
berupa dua akar polinomial yaitu dan dimana kedua akar tersebut dapat
berupa bilangan real maupun bilangan kompleks. Langkah-langkah algoritma
rumus kuadrat dijabarkan dalam Alg 2.1 berikut :
1. Menginputkan persamaan polinomial kuadrat seperti pada Persamaan 2.3.
2. Mengubah bentuk polinomial menjadi polinomial monoid seperti pada
Persamaan 2.6 serta menentukan nilai p dan q dimana nilai p didapat dari dan
nilai q didapat dari .
3. Menentukan nilai diskriminan menggunakan Persamaan 2.7.
4. Menghitung akar kompleks polinomial dengan menggunakan Persamaan 2.9
sehingga dihasilkan dan .
2.1.1.2 Algoritma Cardano
Polinomial kubik merupakan suatu polinomial yang berderajat tiga dengan
bentuk umum seperti yang tertera dalam Persamaan 2.4, yaitu :
dimana a, b, c, d merupakan bilangan real dan a ≠ 0. Apabila Persamaan 2.4 dibagi
dengan a akan menghasilkan bentuk polinomial monoid derajat tiga seperti berikut:
(2.10)
dimana masing-masing nilai r, s, dan t didapat dari perhitungan berikut :
Penyelesaian polinomial kubik dapat dilakukan dengan menggunakan
algoritma Cardano. Algoritma Cardano diterbitkan oleh Girolamo Cardano (1501-
1576) dalam tulisannya Ars Magna (Weisstein, n.d). Penyelesaian polinomial kubik
dengan bentuk seperti Persamaan 2.10 dapat diselesaikan dengan menggunakan
algoritma Cardano. Input algoritma Cardano adalah persamaan polinomial seperti
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
13
yang tertera pada Persamaan 2.10 dan menghasilkan akar-akar polinomial (
dan ) sebagai outputnya. Langkah-langkah algoritma Cardano dapat dijabarkan
dalam Alg 2.2 berikut (Harris dan Stocker, 1998) :
1. Menginputkan polinomial yang akan dicari akarnya dalam bentuk Persamaan
2.10 dan menentukan nilai variabel r, s, dan t.
2. Mensubtitusikan nilai y pada Persamaan 2.10 dimana nilai y didapat dari :
(2.11)
Subsitusi nilai y akan mengasilkan persamaan tereduksi seperti yang tertera
pada persamaan berikut :
(2.12)
Kemudian menentukan nilai p dan q dengan menggunakan rumus berikut :
3. Menghitung nilai diskriminan persamaan tereduksi. Nilai diskriminan
direpresentasikan dalam variabel D berikut :
(2.13)
4. Menentukan cara penyelesaian polinomial kubik menggunakan algoritma
Cardano dan menghitung akar-akar polinomial ( dan ). Dalam algoritma
Cardano terdapat dua penyelesaian persamaan polinomial. Penyelesaian
tersebut ditentukan berdasarkan nilai diskriminan yang dihasilkan. Berdasarkan
nilai diskriminan, persamaan polinomial kubik memiliki sifat-sifat berikut
(Harris & Stocker, 1998) :
a. Apabila nilai D > 0 akan menghasilkan satu akar bilangan riil dan dua akar
kompleks sekawan.
b. Apabila D = 0 akan menghasilkan tiga akar bilangan riil dengan dua akar
sama (a double solution).
c. Apabila D < 0 akan menghasilkan tiga akar riil yang berbeda. Pada kondisi
D < 0 disebut sebagai irreducible case dimana persamaan polinomial tidak
dapat tereduksi sehingga penyelesaian diselesaikan dengan menggunakan
aturan trigonometri.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
14
Penyelesaian polinomial kubik dengan D ≥ 0 dapat dilakukan dengan
menggunakan langkah berikut :
a. Menghitung nilai u dan v yang didapat dari :
(2.14)
(2.15)
b. Menghitung nilai akar polinomial kubik dengan menggunakan persamaan
berikut :
(2.16)
(2.17)
dimana nilai .
Pada kasus irreducibe case dimana nilai D < 0 diterapkan rumus berikut untuk
mencari akar-akar polinomialnya :
(2.18)
sehingga solusi dari persamaan tereduksi Persamaan 2.12 adalah sebagai
berikut :
(2.19)
(2.20)
(2.21)
2.1.1.3 Algoritma Viete’s
Penyelesaian polinomial kubik dapat juga dilakukan dengan menggunakan
algoritma Viete’s. Algoritma Viete’s merupakan metode yang diusulkan oleh
matematikawan Perancis, Farnciscus Vieta (1540-1603). Algoritma Viete’s ini
digunakan untuk mencari akar polinomial derajat tiga bentuk tereduksi seperti yang
tertera pada Persamaan 2.12.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
15
Dikutip dari Tutorial Exercises for Solving Cubic Equations yang ditulis
oleh John H. Mathews yang diadopsi dari Henderson (1930), pencarian akar
polinomial dilakukan menggunakan nilai kesatuan akar kubik seperti :
(2.22)
(2.23)
Input algoritma Viete’s merupakan persamaan kubik monoid seperti yang
tertera pada Persamaan 2.10 dan menghasilkan tiga akar polinomial dan
sebagai output. Berikut ini merupakan langkah-langkah algoritma Viete’s yang
tertuang dalam Alg 2.3 :
1. Menginputkan persamaan polinomial kubik monoid (Persamaan 2.10) dan
mengubahnya menjadi persamaan tereduksi (Persamaan 2.12) dengan
mensubsitusikan Persamaan 2.11 ke Persamaan 2.10. Kemudian menentukan
nilai p dan q.
2. Menghitung nilai variabel c
(2.24)
3. Menghitung nilai r
(2.25)
4. Menghitung nilai d
(2.26)
5. Menentukan akar-akar polinomial dan dengan menggunakan
Persamaan 2.22 dan Persamaan 2.23 dalam perhitungan akarnya. Berikut
merupakan detail perhitungan pancarian akar polinomial kubik :
(2.27)
(2.28)
(2.29)
2.1.1.4 Algoritma Bairstow
Algoritma Bairstow merupakan metode iteratif yang dapat digunakan untuk
mencari akar polinomial berderajat n. Algoritma melibatkan pencarian faktor
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
16
kuadrat yaitu dalam polinomial. Perhitungan mulai dilakukan
dengan menentukan nilai u dan v yang tepat, kemudian proses iterasi akan
terkonvergen pada nilai u dan u yang tepat dimana dengan kedua nilai tersebut yang
membentuk faktor kuadrat akan menghasilkan dua akar polinomial.
Algoritma Bairstow menggunakan persamaan polinomial derajat n dengan
bentuk monoid sebagai input dan akar-akar polinomial , sebagai
output. Langkah-langkah dalam algoritma Bairstow untuk mencari akar kompleks
polinomial (James, Smith & Wolford, 2000) dijabarkan dalam Alg 2.4 berikut:
1. Menentukan nilai awal u dan v. Nilai u dan v yang dipilih harus tepat. Apabila
nilai u dan v tidak tepat, maka ketika iterasi tidak menghasilkan nilai u dan v
yang konvergen. Untuk menentukan nilai u dan v dapat dilakukan dengan cara
berikut ini :
(2.30)
dimana a merupakan koefisien dari polinomial derajat n. Namun, pada beberapa
kasus, kebanyakan nilai yang digunakan yaitu
2. Menghitung nilai dengan rumus berikut :
(2.31)
dengan nilai k = 2, 3, ..., n. Berikut ini merupakan detail perhitungan nilai
dengan pembagian sintesis :
Dan sisanya =
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
17
Konsep dasar algoritma Bairstow adalah untuk mengurangi nilai sisa yang
dihasilkan agar mendekati nol sehingga dapat menghasilkan pendekatan akar
yang memuaskan. Dengan demikian nilai dan harus mendekati nol.
3. Dari nilai u, v, dan b, langkah yang harus dilakukan selanjutnya adalah
menghitung nilai dengan rumus berikut :
(2.32)
dengan nilai k = 2, 3, ..., n-1. Dimana dan .
4. Nilai dan didapat dengan menghitung persamaan berikut:
(2.33)
(2.34)
5. Menghitung nilai u dan v untuk perhitungan iterasi berikutnya.
(2.35)
(2.36)
6. Mengulang langkah poin 2 hingga didapat nilai dan mendekati nol dan
memenuhi nilai ε sebagai berikut:
(2.37)
7. Apabila dan mendekati telah mendekati nol dan Persamaan 2.37 telah
terpenuhi, maka nilai u dan v yang telah didapat kemudian disubtitusikan ke
dalam persamaan berikut:
(2.38)
Menghitung akar dari persamaan kuadrat yang dihasilkan menggunakan rumus
kuadrat seperti yang tertera pada Persamaan 2.8, dengan nilai b merupakan nilai
dari u, nilai a sama dengan nol, dan nilai c sama dengan v. Dengan demikian,
maka akar 1 dan akar 2 dari persamaan polinomial telah didapat.
8. Perhitungan akar berikutnya dilakukan dengan mengulangi langkah 1 untuk
persamaan dan sisa yang
dihasilkan pada nilai akhir merupakan nilai b.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
18
2.1.1.5 Revisi Algoritma Bairstow
Polinomial berderajat n pada algoritma Bairstow dapat dibagi dengan faktor
kuadrat untuk mendapatkan persamaan polinomial berderajat n-2
ditambah sisa. Sisa persamaan tersebut memiliki bentuk :
Apabila u dan v memiliki nilai dimana faktor kuadrat memuat dua akar dari
polinomial derajat n, maka sisanya harus bernilai nol. Nilai u dan v ditemukan
dimana nilai dan mendekati nol. Berikut ini merupakan pendekatan
alternatif untuk menunjukkan sisa yaitu :
dan mencari nilai u dan v dimana nilai r dan s harus mendekati nol. Hal ini dapat
dilakukan dengan menerapkan dan dalam
Taylor series. Nilai dan ditentukan dimana niali r dan s mendekati nol,
sehingga :
(2.39)
(2.40)
Dari persamaan berikut :
dan
maka, Persamaan 2.39 menjadi :
(2.41)
Sedangkan persamaan 2.40 dapat ditulis sebagai berikut :
(2.42)
Mengubah sebagian turunan dengan nilai c yang berkaitan dengan persamaan di
atas, serta mengubah dengan menggunakan
Persamaan 2.41, maka didapat :
(2.43)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
19
Solusi untuk dan dari Persamaan 2.41 dan 2.43 pada algoritma Revisi
Bairstow adalah sebagai berikut (James, Smith & Wolford, 2000) :
(2.44)
(2.45)
Revisi Algoritma Bairstow menggunakan persamaan polinomial derajat n
dengan bentuk monoid sebagai input dan akar akar polinomial ,
sebagai output. Berdasarkan penjelasan di atas, maka langkah-langkah dalam revisi
algoritma Bairstow (James, Smith & Wolford, 2000) dijabarkan dalam Alg 2.5
berikut:
1. Menentukan nilai awal u dan v. Nilai u dan v yang dipilih harus tepat. Nilai u
dan v dapat dilakukan dengan menggunakan Persamaan 2.30 atau menggunakan
nilai yang banyak digunakan dalam beberapa kasus yaitu
2. Menghitung nilai menggunakan rumus Persamaan 2.31 serta
menghitung nilai menggunakan Persamaan 2.32.
3. Menentukan nilai dan dengan menghitung Persamaan 2.44 dan
Persamaan 2.45.
4. Menghitung nilai u dan v untuk perhitungan iterasi berikutnya dengan
Persamaan 2.35 dan Persamaan 2.36 seperti berikut :
5. Mengulang langkah poin 2 hingga didapat nilai dan mendekati nol dan
memenuhi Persamaan 2.37 yaitu .
6. Apabila dan mendekati telah mendekati nol dan Persamaan 2.37 telah
terpenuhi, maka nilai u dan v yang telah didapat kemudian disubtitusikan ke
dalam Persamaan 2.38. Kemudian menghitung akar dari persamaan kuadrat
yang dihasilkan menggunakan rumus kuadrat seperti yang tertera pada
Persamaan 2.8, dengan nilai b merupakan nilai dari u, nilai a sama dengan nol,
dan nilai c sama dengan v sehingga akar 1 dan akar 2 dari persamaan polinomial
telah didapat.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
20
7. Perhitungan akar berikutnya dilakukan dengan mengulangi langkah 1 untuk
persamaan dan sisa yang
dihasilkan pada nilai akhir merupakan nilai b.
2.1.1.6 Algoritma Muller
Algoritma Muller merupakan algoritma pencarian akar kompleks
persamaan polinomial derajat n yang diusulkan oleh Muller. Algoritma Muller
merupakan generalisasi dari metode secant tetapi dalam penerapannya
menggunakan tiga poin interpolasi kuadrat (Press et al., 1989). Algoritma Muller
dapat mencari pasangan akar kompleks dalam menyelesaikan persamaan kuadrat.
Metode iterasi ini konvergen di dekat suatu akar, tidak memerlukan pengevaluasian
turunan fungsinya, dan memperoleh akar-akar nyata maupun kompleks meskipun
akar-akar tersebut tidak sederhana. Selain itu, metode ini bersifat global sehingga
tidak perlu menyediakan suatu pendekatan permulaan (Conte & Boor, 1992).
Untuk menyelesaikan persamaan polinomial derajat n, dalam algoritma
Muller terlebih dahulu diketahui tebakan awal akar polinomial yakni
dengan nilai polinomial f(x).
Gambar 2.8 Grafik perbandingan letak akar antara Metode Secant (a)
dan Metode Muller (b)
Input algoritma Muller merupakan persamaan polinomial derajat n yang
berupa polinomial monoid. Setelah diproses, algoritma Muller akan menghasilkan
output berupa nilai akar-akar polinomial , . Algoritma Muller dapat
diterapkan dengan langkah-langkah yang tertuang dalam Alg 2.6 berikut ini (Butt,
2009) :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
21
1. Menentukkan tiga poin tebakan awal yaitu dan jumlah maksimal
iterasi yaitu
2. Menghitung nilai dimana :
(2.46)
(2.47)
(2.48)
3. Menghitung nilai persamaan fungsi dari masing-masing tebakan awal yaitu
.
4. Menghitung nilai koefisien a, b, c menggunakan perhitungan berikut :
(2.49)
(2.50)
(2.51)
5. Menghitung nilai diskriminan dari perhitungan di atas
(2.52)
6. Menentukan nilai akar polinomial untuk menghasilkan pendekatan baru dari
f(x). Maka, digunakan persamaan berikut :
(2.53)
Dimana tanda pada penyebut dipilih untuk mendapatkan nilai absolut atau
modulus yang terbesar mungkin. Dengan demikian, apabila b > 0 dipilih tanda
“+”, sedangkan apabila b < 0, maka dipilih tanda “-”, dan apabila b = 0, maka
pilih salah satu tanda “+” atau “-”. Setelah pendekatan baru ditemukan, ,
maka poin sebelumnya yaitu diabaikan sehingga tersisa tiga tebakan akar
yaitu dan yang kemudian digunakan dalam proses selanjutnya.
7. Menghitung dan melakukan pengecekkan terhadap nilai y. Apabila kondisi
tersebut belum terpenuhi dimana y > ε, maka dilakukan perulangan langkah 2
hingga 6 sampai mendapatkan nilai akar yang konvergen dimana y < ε.
Apabila y < ε, maka iterasi dihentikan. Nilai akar polinomial adalah .
Polinomial direduksi dengan cara membagi persamaan polinomial dengan akar
yang ditemukan. Pencarian akar selanjutnya dilakukan dengan menggunakan
persamaan polinomial hasil reduksi kemudian mengulang langkah 1 hingga 7.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
22
2.1.2 Bilangan Kompleks
Penyelesaian persamaan polinomial derajat n terkadang menghasilkan akar
kompleks. Akar kompleks disajikan dalam bentuk bilangan kompleks. Bilangan
kompleks dihasilkan dari akar kuadrat suatu bilangan negatif (yaitu )
yang disebut bilangan imajiner murni. Menurut definisi, , untuk
menyatakan persamaan ersebut akan lebih mudah menggunakan simbol i dimana
, sehingga dapat ditulis sebagai bentuk standar bilangan ini.
Bentuk standar bilangan kompleks adalah a + bi dimana a dan b merupakan
bilangan riil. Suku pertama a disebut bagian riil, sedangkan suku kedua bi disebut
sebagai bagian imajiner murni dari bilangan kompleks. Dua bilangan kompleks a
+ bi dan c + di dikatakan sama jika a = c dan b = d. Konjugasi (conjugate) dari
bilangan kompleks a + bi adalah bilangan kompleks a – bi (Frank and Schmidt,
2004). Berikut ini merupakan operasi-operasi aljabar bilangan kompleks :
a. Penambahan, dilakukan dengan menambahkan bagian riil dan menambahkan
bagian imajiner murni, contoh :
b. Pengurangan, dilakukan dengan mengurangi bagian riil dan mengurangi bagian
imajiner murni, contoh :
c. Perkalian, dilakukan seperti pada bilangan binomial biasa dan mengganti
dengan -1, contoh :
d. Pembagian, dilakukan dengan mengalikan pembilang maupun penyebut dengan
konjugasi dari penyebut, contoh :
Jika z = a + bi sebarang bilangan kompleks, maka sekawan (konjugasi) z
dinyatakan oleh (dibaca “z garis”), didefinisikan oleh :
(2.54)
diperoleh dengan membalik tanda bagian imajiner z. Secara geometris,
merupakan pencerminan z terhadap subu riil seperti yang terlihat pada Gambar 2.2.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
23
Gambar 2.2 Sekawan bilangan kompleks z
Jika bilangan kompleks z dipandang sebagai vektor di R2, maka norma atau
panjang vektor disebut modulus (atau nilai mutlak) z. Modulus bilangan kompleks
z = a+bi, dinyatakan oleh |z|, didefinisikan sebagai berikut (Anton, 1987):
(2.55)
Apabila z = a+bi direpresentasikan dalam bentuk x, y, maka akan menjadi z
= x+yi. Jika z = x+yi adalah bilangan kompleks tak nol, r = |z|, dan θ merupakan
sudut dari sumbu riil positif ke vektor z, maka menghasilkan persamaan berikut :
x = r cos θ (2.56)
y = r sin θ (2.57)
dengan demikian, z = x+yi dapat ditulis sebagai :
z = r (cos θ + i sin θ) (2.58)
Persamaan di atas disebut sebagai bentuk kutub dari z.
Gambar 2.3 Bentuk kutub bilangan kompleks z = x+yi
Sudut θ disebut sebagai argumen z dan dinyatakan oleh
θ = arg z
Argumen z tidak ditentukan secara unik karena dapat ditambahkan atau
dikurangkan dengan sebarang kelipatan 2π dari θ untuk menghasilkan nilai
argumen yang lain. Namun demikian, hanya terdapat satu nilai argumen dalam
a, b
a, -b
z = a+bi
a-bi
θ
y = r sin θ
(x,y)
r
x = r cos θ
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
24
radian yang memenuhi - π < θ < π yang disebut sebagai argumen utama z dan
dinyatakan oleh
θ = Arg z
Akar-akar bilangan kompleks dapat diperoleh dengan menggunakan Rumus
DeMoivre. Jika n bilangan bulat positif, dan z sebarang bilangan kompleks, maka
didefinisikan akar ke-n dari z adalah sebarang bilangan kompleks w yang memenuhi
persamaan
wn = z (2.59)
Jika z ≠ 0, maka rumus tersebut dapat diturunkan untuk akar ke-n dari z
sebagai berikut :
w = ρ (cos α + i sin α) dan z = r (cos θ + i sin θ)
Jika diasumsikan bahwa w memenuhi Persamaan 49, maka :
ρn (cos nα + i sin nα) = r (cos θ + i sin θ) (2.60)
Dengan membandingkan modulus-modulus dari kedua ruas, maka ,
dimana menyatakan akar riil positif ke-n dari r. Agar dalam Persamaan 50
mempunyai cos nα = cos θ dan sin nα = sin θ, sudut-sudut nα dan θ haruslah sama
atau dibedakan oleh suatu kelipatan 2π, yakni :
nα = θ + 2k π, dimana k = 0, ±1, ±2, ...
Jadi, nilai-nilai w = = ρ (cos α + i sin α) yang memenuhi Persamaan 2.59
adalah:
(2.61)
Dimana nilai k sama dengan 0, 1, 2, 3, ..., n-1.
2.1.3 Galat
Output dari perhitungan komputasi dengan menggunakan metode numerik
biasanya menghasilkan nilai hampiran atau aproksimasi (approximation) dari nilai
penyelesaian persamaan yang sebenarnya (Esfandiari, 2013). Galat atau kesalahan
(error) didefinisikan sebagai selisih nilai sejati (exact solution) dengan nilai
hampiran. Galat dihitung menggunakan dua cara yakni galat absolut dan galat
relatif. Jika merupakan aproksimasi dari nilai sebenarnya x, maka galat absolut
dapat didefinisikan sebagai berikut:
(2.62)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
25
Di sisi lain, galat relatif dihitung dengan menggunakan rumus berikut :
(2.63)
Jika nilai sebenarnya sama dengan nol, maka nilai galat relatif tidak
terdefinisikan. Umumnya, galat relatif lebih signifikan dibandingkan dengan galat
absolut.
Perhitungan galat relatif suatu bilangan kompleks tidak dapat dilakukan
dengan menggunakan Persamaan 2.63. Dengan demikian, diperlukan formula
khusus untuk menghitung galat bilangan kompleks. Sebuah usulan baru
menyatakan bahwa dengan memodifikasi Persamaan 2.63, galat relatif suatu
bilangan kompleks dapat dikalkulasi. Perhitungan galat relatif suatu akar kompleks
dengan i satuan imaginer dari suatu nilai eksak adalah
rasio norm dari selisih eksak dengan hampiran dengan norm dari eksak dan
disajikan dalam bentuk persen.
(2.64)
Beberapa jenis galat atau kesalahan adalah sebagai berikut (Salusu, 2008):
a. Kesalahan relatif (relative error) yaitu kesalahan absolut dibagi dengan nilai
sebenarnya. Karena nilai sebenarnya tidak diketahui maka digunakan nilai
pendekatan.
(2.65)
b. Kesalahan bawaan (inheren) yaitu kesalahan dari data sendiri mungkin terjadi
karena pengamatan kurang tepat atau adanya kekeliruan.
c. Kesalahan pemotongan yaitu kesalahan yang terjadi karena adanya pemotongan
suatu deret sehingga terdapat beberapa suku yang terabaikan.
d. Kesalahan pembulatan yaitu kesalahan yang terjadi karena adanya pembulatan.
e. Blunder (Mistakes) Blunder bukanlah suatu error. Misalnya bilangan 6238
dibaca sebagai 6328.
2.1.4 Rekayasa Perangkat Lunak
Rekayasa perangkat lunak merupakan suatu disiplin ilmu yang membahas
semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa
kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desain,
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
26
pengkodean, pengujian hingga pemeliharaan sistem setelah digunakan (Mulyanto,
2008). Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses
informasi yang dapat berupa sebuah program yang dimengerti oleh komputer
maupun prosedur yang dibutuhkan pengguna dalam memproses informasi.
Berbagai model rekayasa perangkat lunak telah dikembangkan untuk
membantu proses pengembangan perangkat lunak. Model rekayasa perangkat lunak
umumnya mengacu pada Software Development Life Cycle (SDLC) yang memiliki
tahapan analisis (analysis), desain (design), implementasi (implementasi),
pengujian (testing), dan perawatan (maintenance) (Mulyanto, 2008).
2.1.4.1 Analisis (analysis)
Analisis sistem merupakan sebuah teknik pemecahan masalah yang
menguraikan sebuah sistem menjadi komponen-komponen dengan tujuan
mempelajari seberapa baik komponen-komponen tersebut bekerja dan berineraksi
untuk mencapai tujuan (Mulyanto, 2008). Tahap analisis dilakukan dengan
menganalisa kebutuhan-kebutuhan perangkat lunak dan lingkungan implementasi.
2.1.4.2 Desain (design)
Desain perangkat lunak merupakan tugas, tahapan, atau aktivitas yang
difokuskan pada spesifikasi rinci dari solusi berbasis komputer. Desain perangkat
lunak fokus pada sisi teknis dan implementasi sebuah perangkat lunak (Mulyanto,
2008). Desain perangkat lunak dapat dilakukan menggunakan flowchart maupun
pemodelan menggunakan UML.
1. Flowchart
Bagan alir sistem (system flowchart) merupakan bagan yang menunjukkan arus
pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urutan-urutan
dari prosedur-prosedur yang ada dalam sistem (Sikha, 2003). Definisi lain
mengenai flowchart yaitu bagan-bagan yang mempunyai arus yang
menggambarkan langkah-langkah penyelesaian suatu masalah (Al-Bahra,
2005). Simbol-simbil atau elemen-elemen pada flowchart dijabarkan dalam
Tabel 2.1.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
27
Tabel 2.1 Simbol Elemen Flowchart
Simbol Nama Keterangan
Terminator Permulaan / akhir program
Process
Proses perhitungan / proses
pengolahan data
Decision
Perbandingan pernyataan,
penyeleksian data yang memberikan
pilihan untuk langkah selanjutnya
Data
Data yang digunakan misalnya
variabel
2. UML (Unified Modelling Language)
Unified Modelling Language merupakan seperangkat aturan dan notasi untuk
spesifikasi sistem perangkat lunak yang dikelola dan diciptakan oleh Object
Management Group. Notasi tersebut berupa elemen grafis untuk memodelkan
bagian-bagian sistem. Penggunaan UML akan mempermudah programmer
untuk menyalurkan idenya kepada calon pengguna sistem. Adanya bahasa yang
bersifat standar, komunikasi antara perancang, programmer, dan calon
pengguna diharapkan berjalan dengan lancar (Luthfi & Riasti, 2013). Selain itu,
dengan menggunakan UML ini akan lebih memudahkan programmer dalam
melakukan perancangan perangkat lunak.
a. Behavioral Diagrams
1. Use Case Diagram
Use Case Diagram merupakan diagram yang sangat berguna sebagai
alat komunikasi tingkat tinggi yang merepresentasikan kebutuhan
sistem (system requirements). Diagram ini menunjukkan interaksi
antara pengguna dan entitas eksternal dengan sistem yang sedang
dikembangkan. Berikut merupakan elemen use case diagrams:
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
28
Tabel 2.2 Notasi Use Case Diagram (Sugrue, 2010)
Entitas Deskripsi
Aktor
Mewakili entitas eksternal dalam sistem, dapat
berupa manusia, perangkat keras, maupun sistem
lainnya.
Use Case
Use case merepresentasikan fungsional sebuah unit
yang dapat berinteraksi dengan aktor eksternal atau
terkait dengan kasus penggunaan lainnya. Use case
digambarkan dengan bentuk elips dengan nama use
case di dalamnya.
Boundary
Use case terdapat dalam batas (boundary) sistem
yang digambarkan dengan persegi panjang
sederhana. Entitas eksternal tidak harus berada di
dalam batas (boundary) sistem.
Includes
Menggambarkan suatu use case mungkin termasuk
dalam use case lainnya, yang menyiratkan bahwa
use case tersebut memiliki perilaku yang sama
dengan base use case.
Extends
Menggambarkan suatu use case tertentu
menyediakan fungsional tambahan dari base use
case lainnya. Hal ini berarti use case target
memperluas perilaku dari use case sumber.
2. Activity Diagram
Dalam activity diagram dimodelkan alur kerja (workflow) sebuah proses
bisnis dan urutan aktivitas dalam suatu proses. Hampir sama seperti
flowchart, dengan diagram ini dapat dimodelkan sebuah alur kerja dari
satu aktivitas ke aktivitas lainnya atau dari aktivitas ke keadaan state
(Luthfi & Riasti, 2013).
User Trial User
View Errors
System
View Errors
View System Level Error
<<include>>
Print Error Log
<<extend>>
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
29
Tabel 2.3 Notasi Activity Diagram (Surgue, 2010)
Entitas Deskripsi
Action
Merepresentasikan suatu langkah atau aksi
dalam alur program.
Start Node
Digunakan sebagai tanda dimulainya
sebuah alur (flow).
Activity Final Node
Merepresentasikan akhir dari semua alur
kontrol dalam activity.
Control Flow
Merepresentasikan alur kontrol dari satu
action ke entitas lain seperti action
selanjutnya, decision point, activity final
node, dan lain sebagainya.
Decision Node
Notasi yang berbentuk diamon digunakan
untuk merepresentasikan keputusan
(decisions) dalam alur kontrol. Selain itu,
notasi tersebut juga dapat digunakan untuk
gabungan alur (merge flows).
Partition
Swimlanes digunakan dalam activity
diagram untuk menggambarkan kegiatan
yang dilakukan oleh pelaku yang berbeda.
3. State Machine Diagrams
State Machine Diagrams digunakan untuk menggambarkan transisi
state dari lifetime objek tunggal dalam menanggapi peristiwa. Diagram
ini dimodelkan hampir sama dengan activity diagram.
View System Events
Start
End
System
View System Events
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
30
b. Interaction Diagrams
Interaction diagrams adalah subset dari behavioral diagrams yang
berkaitan dengan aliran kontrol seluruh sistem yang dimodelkan.
1. Sequence Diagrams
Interaksi antar entitas atau objek disusun dalam suatu urutan tertentu dan
akan dijelaskan melalui diagram sequence. Sequence diagram
menunjukkan tahap-tahap yang seharusnya terjadi untuk menghasilkan
sesuatu dalam use case (uthfi dan Riasti, 2013).
Lifeline Objects
Sequence diagram terdiri dari beberapa lifeline. Masing-masing entitas
memiliki kolomnya sendiri. Berikut ini merupakan beberapa lifeline
untuk masing-masing entitas:
Tabel 2.4 Notasi Lifeline Sequence Diagram (Surgue, 2010)
Entitas Deskripsi
Actor
Actor mewakili entitas eksternal dalam sistem. Entitas
eksternal meliputi manusia, perangkat keras ataupun
sistem lainnya.
Boundary
Elemen boundary merupakan antarmuka pengguna,
atau logika back-end yang berhubungan dengan
sistem eksternal secara langsung.
Control
Elemen ini mengelola aliran informasi untuk sebuah
skenario. Perilaku (behavior) dan aturan bisnis
(business rules) biasanya dikelola oleh objek-objek di
dalamnya.
Entity
Elemen Entity bertanggung jawab mengendalikan
data atau informasi. Elemen ini dianggap sebagai
beans atau model objek.
: User
: Boundary
: Control
: Entity
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
31
Pada sequence diagram, hal yang paling inti yakni pesan antar objek
yang dimodelkan. Pesan tersebut biasanya berbentuk messagename
(parameter). Pesan dapat dikirim dari dua arah, dan memungkinkan
melewati lifelines lainnya untuk menuju lifelines tujuan.
Tabel 2.5 Notasi Message Sequence Diagram (Surgue, 2010)
Entitas Deskripsi
Synchronous
Digambarkan dengan ujung berupa anak panah
yang solid. Untuk pesan kembalian (return
message) digambarkan dengan anak panah yang
sama namun dengan garis putus-putus.
Asynchronous
Digambarkan dengan ujung berupa garis anak
panah. Untuk return message bentuknya pun
sama tetapi menggunakan garis putus-putus.
Self Message
Biasanya merupakan pesan yang dipanggil
secara rekursif atau panggilan untuk metode lain
milik objek yang sama.
2. Communication Diagrams
Communication diagrams juga dikenal sebagai collaboration diagram.
Diagram ini hampir sama dengan sqeuence diagrams, tetapi diagram ini
didefinisikan dalam bentuk yang lebih bebas tanpa menggunakan
lifelines. Communication diagram fokus pada hubungan antara objek
boundary, control, dan entity. Pesan antar objek diberi nomor untuk
menginformasikan urutannya.
3. Interaction Overview Diagrams
Interaction Overview Diagrams adalah bentuk activity diagram dimana
setiap node merupakan penghubung ke node lainnya dalam diagram
interaksi. Diagram ini menyediakan ikhtisar atau index yang berguna
dari key diagrams dalam sebuah sistem.
1
1
1
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
32
c. Structural Diagrams
1. Class Diagrams
Class Diagram merupakan sebuah spesifikasi yang jika diinisiasikan
akan menghasilkan sebuah objek dan merupakan inti dari
pengembangan dan desain berorientasi objek. Diagram ini
menggambarkan keadaan (atribut/properti) sebuah sistem dan
menawarkan layanan untuk memanipulasi keadaan tersebut
(metode/fungsi) (Luthfi dan Ristiana, 2013).
2. Object Diagrams
Object diagrams memberikan informasi mengenai hubungan antara
contoh kelas pada titik tertentu. Diagram ini menggunakan beberapa
elemen dari class diagram.
3. Components Diagrams
Components diagrams digunakan untuk menggambarkan bagaimana
komponen sistem yang dihubungkan bersama pada tingkat abstraksi
yang lebih tinggi dari class diagram.
4. Composite Structure Diagrams
Composite Structure Diagrams menunjukkan struktur internal kelas dan
kolaborasi yang dimungkinkan. Entitas utama dalam diagram ini adalah
parts, ports, connectors, collaboration, sebagai pengklasifikasi.
5. Deployment Diagrams
Deployment diagrams memodelkan arsitektur runtime dari sistem dalam
pengaturan dunia nyata. Diagram ini menunjukkan bagaimana entitas
perangkat lunak dikerahkan ke node perangkat keras dan devices.
Association links antar entitas merepresentasikan komunikasi antar
node.
6. Package Diagrams
Package diagrams menunjukkan organisasi paket dan elemen dalam
memberikan visualisasi dari namespace yang akan diterapkan dalam
class. Diagram ini pada umumnya digunakan untuk mengatur dan
memberikan gambaran class diagram. seperti standar dependensi,
terdapat dua jenis hubungan spesifik yang digunakan untuk package
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
33
diagram. Keduanya digambarkan garis putus-putus tergantung pada
stereotip yang sesuai (import or merge).
2.1.4.3 Implementasi (implementation)
Implementasi merupakan tahapan menerjemahkan hasil desain logis dan
fisik ke dalam kode-kode program komputer (Mulyanto, 2008).
2.1.4.4 Pengujian (testing)
Pengujian perangkat lunak merupakan sebuah proses terhadap
aplikasi/program untuk menemukan segala kesalahan dan segala kemungkinan
yang akan menimbulkan kesalahan sesuai dengan spesifikasi perangkat lunak yang
telah ditentukan sebelum aplikasi tersebut diserahkan kepada pelanggan
(Simarmata, 2010).
Terdapat dua jenis pengujian perangkat lunak yaitu manual testing dan
automated testing. Pada manual testing, pengujian perangkat lunak dilakukan
secara manual yaitu dengan menggunakan black box testing ataupun white box
testing. Black box testing digunakan untuk mengetahui hasil yang diperoleh dari
sebuah sistem. Dalam pengujian black box, data tes diinputkan dalam sistem yang
akan diuji dan kemudian menghasilkan output. Pengujian Black box menguji
kualitas kinerja perangkat lunak, sedangkan pengujian white box menguji kualitas
pembangunan perangkat lunak. Dengan demikian, tidak seperti pengujian black
box, pengujian white box tidak mempertimbangkan hasil yang diperoleh dari sebuah
perangkat lunak, tetapi fokus pada proses yang dilakukan sistem untuk
menghasilkan output (Bennett, McRobb, and Farmer, 2010).
Pelaksanaan pengujian perangkat lunak dilakukan berdasarkan strategi
khusus pengujian perangkat lunak, misalnya big bang testing atau incremental
testing dan bottom-up atau top-down testing (Galin, 2004). Pada automated
testing, pengujian dilakukan dibantu dengan tools CASE (computer aided software
engineering) dalam menganalisa perangkat lunak dan desain tasks.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
34
2.1.4.5 Perawatan (maintenance)
Perawatan dapat dilakukan dengan berbagai tipe seperti perawatan
corrective, perawatan routine, dan perawatan system upgrade.
2.2 Penelitian Terkait
Berikut ini merupakan beberapa penelitan-penelitian terkait algoritma-algoritma
pencarian akar kompleks polinomial :
a) Menentukan Akar kompleks Polinomial dengan Menggunakan Metode
Bairstow
Penelitian yang dilakukan oleh Iges Windra, Minora Longgom Nasution, dan
Meira Parma Dewi pada tahun 2013 membahas cara menentukan akar kompleks
polinomial dengan menggunakan metode Bairstow. Untuk mencari akar kompleks
polinomial dengan menggunakan metode Bairstow, langkah-langkah yang
dilakukan oleh peneliti, seperti yang tertulis dalam jurnalnya yang merupakan
adopsi dari penelitian sebelumnya yang dilakukan oleh Bagheri (n.d) adalah sebagai
berikut:
1. Menentukan tebakan awal dari variabel
2. Menghitung nilai
3. Menghitung
4. Menghitung nilai
5. Menghitung nilai
6. Mencari dan dengan aturan Cramer sebagai berikut:
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
35
7. Mencari nilai u dan v yang terbaru dengan persamaan :
8. Melakukan proses iterasi dengan mengulang langkah kedua dan ketiga sampai
memenuhi kriteria penghentian.
9. Mencari akar kompleks persamaan polinomial dengan bantuan rumus kuadratis.
10. Menentukan polinomial yang telah terdeflasi, dengan beberapa kemungkinan
berikut:
a. Jika polinomial yang telah terdeflasi berderajat satu atau dua maka dapat
dicari akarnya dengan rumus analitik.
b. Jika polinomial yang telah terdeflasi berderajat lebih dari 2 maka
dilanjutkan dengan pencarian akar dengan langkah metode Bairstow.
Dalam penelitian tersebut, peneliti melakukan analisis metode Bairstow secara
detail. Hasil analisis diterapkan untuk menyelesaikan persamaan polinomial. Setiap
akar kompleks polinomial ditemukan, iterasi dihentikan dan dihitung keakuratan
perhitungan berdasarkan estimasi eror. Misalnya iterasi keempat, metode Bairstow
menghasilkan pendekatan yang sangat akurat dengan estimasi eror
0.062% untuk u dan 0.004% untuk v. Kemudian dilanjutkan pencarian akar
kompleks lainnya berdasarkan polinomial terdeflasi. Dengan demikian, hasil analisi
cukup teliti karena dilakukan perhitungan persentase estimasi eror nilai u dan v pada
setiap iterasinya. Namun, pencarian akar kompleks polinomial pada penelitian ini
hanya dilakukan pada satu sampel random yakni
. Selain itu, penelitia yang dilakukan merupakan
penelitian teoritis sehingga hanya mengujikan teori metode Bairstow yang sudah
ada, tanpa membuat suatu hal yang baru.
Keterkaitan antara penelitian dalam jurnal dengan penelitian yang dilakukan
yaitu memiliki kesamaan metode yang digunakan dalam pencarian akar kompleks
polinomial. Perbedaan dengan peneitian yang diusulkan yaitu objek analisisnya.
b) Solving Cubic Equations by Viete’s Substitutions
Artikel ditulis oleh OR Chi Ming pada EduMath29 pada tahun 2010. Dalam
artikel tersebut, OR Chi Ming menunjukkan alternatif cara untuk menyelesaikan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
36
persamaan polinomial yang terdapat dalam artikel Leung pada EduMath27 dengan
pengetahuan matematika tanpa level matrikulasi seperti yang dilakukan oleh Leung
Chi Kit. Untuk menyelesaikan persamaan polinomial, Leung Chi Kit menggunakan
substitusi dan dengan menyelesaikan persamaan yang didapat yaitu
menggunakan formula Euler’s . OR Chi Mig
kemudian membuktikan bahwa formula Euler’s yang digunakan dalam
penyelesaian persamaan polinomial oleh Leung Chi Kit tidak diperlukan. Untuk
menyelesaikan kasus Leung, OR Chi Ming menggunakan substitusi Viete’s.
Dikutip dari Ming (2010), algoritma Viete’s memanfaatkan trigonometri untuk
menyelesaikan persamaan polinomial. Misalnya diketahui persamaan kubik
. Dari persamaan tersebut, substitusi dapat
bertransformasi menjadi . Viete’s menggunakan rumus tiga sudut
(triple angle formula), . Langkah pertama yang
dilakukan adalah memasukkan ke dalam persamaan ,
sehingga didapat hasil berikut:
Kemudian k dapat ditentukan dengan , maka :
Jika p<0, pilih dan masukkan . Sehingga didapat :
Dengan demikian, maka persamaan kubik akan tereduksi menjadi persamaan
trigonometri yang sederhana. Tahap selanjutnya yaitu :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
37
Apabila , maka persamaan harus diselesaikan
dengan menyubstitusikan dan triple angle formula.
Dari penelitian tersebut, OR Chi Ming menyimpulkan bahwa untuk
menyelesaikan persamaan kubik yang memiliki akar rasional lebih baik
menggunakan teorema faktor seperti substitusi Viete’s atau formula Cardano.
Kelebihan dari penelitian ini ialah selain dilakukan pada kasus yang diselesaikan
oleh Leung Chi Kit, substitusi Viete’s juga diterapkan dalam kasus yang
diselesaikan dengan algoritma Cardano. Dari kedua pengujian tersebut, dapat
diketahui dimana substitusi Viete’s dapat mempermudah pencarian akar polinomial
pada kasus-kasus tertentu. Namun, pengujian substitusi Viete’s hanya dilakukan
pada dua kasus saja sehingga belum diketahui kelebihan dan kekurangan substitusi
Viete’s pada kasus-kasus yang diselesaikan dengan algoritma lainnya. Keterkaitan
antara penelitian ini dengan penelitian yang diusulkan yaitu menggunakan metode
yang sama yakni algoritma Viete’s.
c) A New Approach to Solving The Cubic: Cardan’s Solution Revealed
Artikel yang ditulis oleh RWD Nickalls pada tahun 1993 mendeskripsikan lima
parameter fundamental dari persamaan kubik yaitu dan dan
menunjukkan bagaimana parameter-parameter tersebut dapat memodifikasi metode
standar dalam memecahkan persamaan kubik (solusi Cardan) secara signifikan.
Pada artikel ini, peneliti membuat sebuah pendekatan baru untuk menyelesaikan
persamaan kubik. Dimulai dengan bentuk persamaan kubik dengan bentuk yang
tertera pada Persamaan 4, dimana persamaan tersebut memiliki akar dan
memperoleh bentuk tereduksi dengan substitusi . Dengan demikian,
bentuk persamaan tersebut (Press et al., 1989) adalah sebagai berikut:
dan memiliki akar . Bentuk penggunaan
identitas biasanya yaitu :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
38
Maka z = p + q adalah solusi dari (Press et al., 1989)
dan
Pertama, selesaikan persamaan tersebut dengan cubing seperti biasanya, kemudian
substitusikan q dan selesaikan , dan ,
maka menjadi :
Persamaan di atas sangat berguna jika terdapat akar tunggal real, yaitu ketika
. Hal ini berbeda dengan pendekatan Cardan :
Dimana nilai G, H, adalah :
Dengan demikian, maka persamaan di atas dapat ditulis sebagai berikut:
Jika turning point pada koordinat y adalah yr, maka
Solusi yang diusulkan oleh peneliti dapat ditulis sebagai berikut:
Dengan menggunakan simbol untuk diskriminan (geometrik) persamaan kubik,
maka didapat :
Solusi persamaan kubik ini bergantung pada tanda diskriminan berikut :
1. , maka memiliki satu akar yakni :
2.
Pada kondisi h≠0, menghasilkan dua akar yang sama yakni . Akar
sebenarnya adalah . Karena terdapat dua akar
yang sama, maka tanda menjadi sangat penting dan bergantung pada tanda
, dengan demikian maka dapat ditentukan dengan :
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
39
Jika maka , dalam kasus ini terdapat tiga akar yang sama
yaitu .
3.
Pada kondisi ini terdapat tiga akar real yang berbeda. Untuk menyelesaikannya
peneliti mengusulkan untuk menggunakan trigonometri untuk menyelesaikan
bentuk tereduksi menggunakan substitusi sehingga diberikan:
, dan , maka persamaan tersebut
menjadi . Dengan demikian, maka tiga akar yang dihasilkan dapat
dicari dengan menggunakan rumus berikut:
Peneliti mampu menunjukkan pendekatan baru untuk menyelesaikan
persamaan kubik dan berhasil membuktikan bahwa parameter dan
menunjukkan kelebihan bagaimana solusi aljabar berkaitan dengan geometri
persamaan kubik. Namun, hanya terdapat satu contoh penyelesaian persamaan
kubik dan tidak terdapat perbandingan dengan metode lain untuk mengetahui
perbandingan keefektifan penggunaan pendekatan yang baru. Keterikatan
penelitian ini dengan penelitian yang diusulkan adalah objeknya sama yaitu
persamaan kubik atau polinomial berderajat tiga.
d) Aplikasi Medote Muller dan Metode Bairstow dengan Bantuan Matlab
dalam Menentukan Akar-Akar Polinomial
Penelitian ini dilakukan oleh Hendun Mariana pada tahun 2007. Penelitian
dilakukan dengan tujuan untuk mengaplikasikan metode Muller dan metode
Bairstow dengan menggunakan bantuan Matlab untuk kemudian dilakukan analisa
hasil penemuan akar-akar polinomial. Berdasarkan penelitian yang mengadopsi
metode yeng sebelumnya telah dikemukakan oleh Steven (2002), aplikasi metode
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
40
Muller dengan bantuan Matlab dalam menentukan akar-akar polinomial dapat
dijabarkan melalui langkah-langkah berikut ini:
1. Menentukan polinomial berderajat tinggi.
2. Menentukan 3 nilai tebakan awal yaitu sebagai pendekatan terhadap
akar-akar polinomial yang akan dicari.
3. Karena nilai sudah diketahui, maka didapat nilai .
4. Menghitung jarak antara nilai tebakan pertama dengan tebakan kedua
dan jarak antara nilai tebakan kedua dengan ketiga
serta nilai fungsi dari kedua jarak yaitu dan
.
5. Menghitung nilai a, b, c :
6. Menghitung nilai diskriminannya yaitu b + D dan b – D, kemudian diambil
salah satu dari keduanya dengan nilai terbesar.
7. Menghitung nilai . Berdasarkan nilai , kemudian dilakukan
pencarian akar yaitu .
8. Menghitung galat untuk akar yang ditemukan. Jika galat terlalu besar maka
dapat dilakukan iterasi dengan mengganti nilai tebakannya, yaitu diganti
dengan , diganti dengan , diganti dengan .
9. Dengan ketiga nila tebakan awal yang baru, dilakukan iterasi kemudian dicari
akarnya, dan begitu seterusnya.
10. Apabila didapatkan akar yang paling kecil galatnya yaitu mendekati nol atau
sama dengan 0.0001, maka iterasi segera dihentikan.
Peneliti kemudian mengaplikasikan metode Bairstow, berdasarkan buku
dengan langkah-langkah sebagai berikut:
1. Menentukan tebakan awal untuk faktor kuadrat yakni r dan s dan batas toleransi
untuk galatnya yaitu 0.0001.
2. Menghitung
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
41
3. Menghitung nilai dan untuk i = n
– 2 sampai 0.
4. Menghitung nilai
5. Meghitung nilai dan untuk i = n –
2 sampai 1.
6. Menghitung nilai dan dengan menggunakan rumus
dan serta dan
7. Apabila galat terlalu besar, maka dilakukan iterasi kembali degan nilai r dan s
yang baru.
dan
8. Jika galat mendekati nilai toleransi galat yang telah ditentukan, misalnya
0.0001, maka pencarian akarnya bisa dilakukan menggunakan rumus kuadrat
seperti yang tertera pada Persamaan 7, dimana nilai b merupakan nilai dari u,
nilai a sama dengan nol, dan nilai c sama dengan v.
9. Jika galat pada poin tujuh masih besar, maka dilakukan iterasi dengan langkah-
langkah yang sama mulai langkah pertama hingga didapat nilai r dan s dengan
galat yang mendekati nol atau sesuai dengan batas maksimum nilai fungsi yaitu
0.0001.
10. Menentukan akar dengan menggunakan rumus yang sama. Pencarian akar-akar
lainnya dilakukan dengan iterasi kembali mulai dari awal hingga akhir
menggunakan langkah-langkah yang sama dengan nilai r dan s yang berbeda.
Dari hasil penelitian ini, dapat dianalisa bahwa untuk pencarian akar
dengan menggunakan metode Bairstow lebih
efektif dibandingkan dengan metode Muller. Kelebihan penelitian ini adalah
membandingkan dua metode yaitu metode Muller dan Bairstow sehingga dapat
diketahui metode terbaik diantara keduanya. Namun, perbandingan kedua metode
hanya berdasarkan pada jumlah langkah kerja saja, tidak berdasarkan galat yang
dihasilkan. Keterkaitan penelitian ini dengan penelitian yang akan dilakukan adalah
kesamaan metode yang digunakan yaitu metode Bairstow dan metode Muller.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
42
Tabe
l 2.6
Pen
eliti
an T
erka
it
No.
Ju
dul /
Pen
ulis
T
ujua
n M
etod
e H
asil
Kel
ebih
an
Kel
emah
an
Ket
erka
itan
pene
litia
n
1.
Men
entu
kan
Aka
r
kom
plek
s
Polin
omia
l
deng
an
Men
ggun
akan
Met
ode
Bai
rsto
w/
Iges
Win
dra
(201
3)
Mel
akuk
an
penc
aria
n ak
ar
kom
plek
s
polin
omia
l
men
ggun
akan
met
ode
Bai
rsto
w
Met
ode
Bai
rsto
w
Aka
r pol
inom
ial d
ari
pers
amaa
n
yai
tu:
Dap
at m
enun
jukk
an
met
ode
Bai
rsto
w
mem
iliki
laju
konv
erge
nsi y
ang
tingg
i. Te
rliha
t dar
i
pend
ekat
an
yan
g di
hasi
lkan
sang
at a
kura
t den
gan
estim
asi e
ror 0
% u
ntuk
u da
n 0.
0064
% u
ntuk
v
pada
iter
asi k
eena
m
untu
k pe
ncar
ian
akar
dan
.
Pene
litia
n ya
ng
dila
kuka
n m
erup
akan
pene
litia
n te
oriti
s
dim
ana
hany
a
dila
kuka
n pe
nuru
nan
met
ode
Bai
rsto
w
kem
udia
n
diim
plem
enta
sika
n
dala
m se
buah
kas
us.
Met
ode
yang
digu
naka
n se
rupa
yaitu
met
ode
Bai
rsto
w.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
43
Tabe
l 2.6
Lan
juta
n Pe
nelit
ian
Terk
ait
No.
Ju
dul /
Pen
ulis
T
ujua
n M
etod
e H
asil
Kel
ebih
an
Kel
emah
an
Ket
erka
itan
pene
litia
n
2.
Solv
ing
Cub
ic
Equa
tions
by
Viet
e’s
Subs
titut
ion/
OR
Chi
Min
g (2
010)
Men
unju
kkan
alte
rnat
if ca
ra
untu
k
men
yele
saik
an
pers
amaa
n
polin
omia
l dal
am
artik
el L
eung
deng
an
peng
etah
uan
mat
emat
ika
tanp
a
leve
l mat
rikul
asi
Subs
titus
i Vie
te’s
Pe
nyel
esai
an
pers
amaa
n ku
bik
yang
mem
iliki
aka
r ras
iona
l
lebi
h ba
ik
men
ggun
akan
teor
ema
fakt
or se
perti
subs
titus
i
Vie
te’s
ata
u fo
rmul
a
Car
dano
.
Dap
at m
enun
jukk
an
bahw
a pe
nera
pan
subs
titus
i Vie
te’s
dap
at
mem
udah
kan
penc
aria
n ak
ar
kom
plek
s pol
inom
ial
pada
kas
us-k
asus
terte
ntu.
Subs
titus
i Vie
te’s
hany
a di
ujic
obak
an
pada
dua
kas
us, y
akni
kasu
s yan
g se
belu
mny
a
dise
lesa
ikan
den
gan
men
ggun
akan
rum
us
Leun
g da
n fo
rmul
a
Car
dano
.
Met
ode
yang
digu
naka
n se
rupa
yaitu
alg
oritm
a
Vie
te’s
.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
44
Tabe
l 2.6
Lan
juta
n Pe
nelit
ian
Terk
ait
No.
Ju
dul /
Pen
ulis
T
ujua
n M
etod
e H
asil
Kel
ebih
an
Kel
emah
an
Ket
erka
itan
pene
litia
n
3.
A N
ew A
ppro
ach
to S
olvi
ng th
e
Cub
ic: C
arda
n’s
Solu
tion
Reve
aled
/ RW
D
Nic
kalls
(199
3)
Men
desk
ripsi
kan
lima
para
met
er
fund
amen
tal d
ari
pers
amaa
n ku
bik
yakn
i
dan
dan
men
unju
kkan
baga
iman
a
para
met
er
ters
ebut
dap
at
mem
odifi
kasi
solu
si C
arda
n
seca
ra si
gnifi
kan
Solu
si C
arda
no
Pene
liti m
embu
at
sebu
ah p
ende
kata
n
baru
unt
uk
men
yele
saik
an
pers
amaa
n ku
bik
dan
berh
asil
mem
bukt
ikan
bahw
a pa
ram
eter
dan
men
unju
kkan
kele
biha
n ba
gaim
ana
solu
si a
ljaba
r ber
kaita
n
deng
an g
eom
etri
pers
amaa
n ku
bik.
Pene
liti m
ampu
men
unju
kkan
pend
ekat
an b
aru
deng
an b
eber
apa
para
met
er y
ang
men
unju
kkan
kele
biha
nnya
.
Han
ya te
rdap
at sa
tu
cont
oh p
enye
lesa
ian
pers
amaa
n ku
bik
dan
tidak
terd
apat
perb
andi
ngan
den
gan
met
ode
lain
unt
uk
men
geta
hui
perb
andi
ngan
keef
ektif
an
peng
guna
an
pend
ekat
an y
ang
baru
.
Pene
litia
n in
i
dila
kuka
n un
tuk
peny
eles
aian
polin
omia
l kub
ik.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
45
Tabe
l 2.6
Lan
juta
n Pe
nelit
ian
Terk
ait
No.
Ju
dul /
Pen
ulis
T
ujua
n M
etod
e H
asil
Kel
ebih
an
Kel
emah
an
Ket
erka
itan
pene
litia
n
4.
Apl
ikas
i Met
ode
Mul
ler d
an
Met
ode
Bai
rsto
w
deng
an B
antu
an
Mat
lab
dala
m
Men
entu
kan
Aka
r-A
kar
Polin
omia
l/
Hen
dun
Mar
iana
(200
7)
Men
gana
lisa
hasi
l
pene
mua
n ak
ar-
akar
pol
inom
ial
deng
an m
etod
e
Mul
ler d
an
met
ode
Bai
rsto
w
deng
an b
antu
an
Mat
lab
Met
ode
Mul
ler
dan
Met
ode
Bai
rsto
w
Has
il pe
ncar
ian
akar
deng
an m
engg
unak
an
met
ode
Bai
rsto
w le
bih
efek
tif d
iban
ding
kan
deng
an m
etod
e M
ulle
r.
Pene
litia
n di
laku
kan
deng
an
mem
band
ingk
an d
ua
met
ode
yaitu
met
ode
Mul
ler d
an B
airs
tow
sehi
ngga
dap
at
dike
tahu
i met
ode
terb
aik
dian
tara
kedu
anya
.
Perb
andi
ngan
ked
ua
met
ode
hany
a
berd
asar
kan
pada
jum
lah
lang
kah
kerja
saja
, tid
ak b
erda
sark
an
gala
t yan
g di
hasi
lkan
.
Met
ode
yang
digu
naka
n sa
ma
yaitu
met
ode
Bai
rst o
w d
an
met
ode
Mul
ler.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
46
2.3 Kerangka Pemikiran
Berdasarkan tinjauan pustaka, diketahui bahwa perangkat lunak dapat
dimanfaatkan sebagai media pembelajaran matematika, khususnya pembelajaran
mengenai polinomial. Salah satu media pembelajaran polinomial yang dapat
digunakan adalah program kalkulator. Adanya program kalkulator yang dilengkapi
dengan berbagai algoritma penyelesaian polinomial dapat menunjang kegiatan
pembelajaran.
Perancangan program kalkulator dilakukan menggunakan pendekatan UML
dan diimplementasikan menggunakan Java Swing GUI. Dalam program kalkulator
diterapkan beberapa algoritma metode numerik penyelesaian polinomial seperti
algoritma Cardano, Viete’s, Muller, Bairstow, dan revisi Bairstow. Tersedianya
beberapa algoritma dalam sebuah perangkat lunak dapat memudahkan pengguna
untuk menyelesaikan persamaan polinomial dan dapat menambah wawasan
pengguna mengenai karakter masing-masing algoritma.
Kalkulator yang dibangun dapat mencari akar kompleks menggunakan
algoritma terpilih dan menggunakan pendekatan Matlab kemudian masing-masing
dibandingkan dan dihitung galat perhitungan. Ditampilkannya nilai galat
perhitungan pada program kalkulator memudahkan pengguna untuk
membandingkan kinerja masing-masing algoritma sehingga algoritma yang terbaik
dalam penyelesaian persamaan polinomial dapat diketahui. Program kalkulator
juga menampilkan jumlah iterasi atau perulangan yang dilakukan oleh algoritma
Muller, Bairstow, dan Revisi Bairstow dalam mencari akar kompleks polinomial
sehingga pengguna dapat mengetahui kinerja algoritma terbaik dengan jumlah
langkah kerja minimum.
Kebaruan dari penelitian ini adalah terdapat kombinasi algoritma dalam
pencarian akar kompleks dari sebuah persamaan polinomial berderajat tinggi.
Polinomial berderajat tinggi yang dimaksud merupakan polinomial dengan pangkat
tertinggi variabel x lebih dari tiga atau empat.