commit to user
52
BAB IV PEMBAHASAN
4.1 Sampel Polinomial Penelitian
Sampel-sampel yang digunakan dalam penelitian ini berupa persamaan polinomial derajat dua, tiga, empat, dan n yang didapat dari berbagai sumber literatur. Sampel polinomial ditunjukkan pada Tabel 4.1.
Tabel 4.1 Sampel Polinomial
No Derajat
Polinomial Sampel Polinomial Sumber
1 Polinomial derajat 2 ݔଶ ͳͺݔ ͺͳ (Horner, 1971) ݔଶെ ͳ͵ݔ െ ͵Ͳ (Horner, 1971) ݔଶ ͳͲݔ െ ͳͶ (Neill, 2010) ݔଶ ͷݔ ͳͳ (Neill, 2010) ݔଶെ ͵ݔ ͷ (Neill, 2010) 2 Polinomial derajat 3 ݔଷെ ͺݔଶ ͳͻݔ ͳʹ (Horner, 1971) ݔଷ ͵ݔଶെ ʹݔ (Horner, 1971) ݔଷ ͵ݔଶ ͵ݔ ʹ (Horner, 1971) ݔଷ ʹݔଶെ ͷݔ െ (Horner, 1971) ݔଷെ Ͷݔଶെ ʹݔ ͵ (Neill, 2010) 3 Polinomial derajat 4 ݔସ ݔଷെ ݔଶ ݔ െ ͳ (Horner, 1971) ݔସെ ʹݔଷ ʹݔଶ െ ݔ ͳ (Horner, 1971) ݔସെ ͳݔଷ ͺݔଶെ ͳݔ ͳͲͷ (Horner, 1971) ݔସെ ͷݔଷ ͳ͵ݔଶ െ ͳͻݔ ͳͲ (James, Smith &
Wolford, 2000) 4 Polinomial derajat n ݔ ͵ݔെ Ͷݔହ െ ʹݔଷ ʹ (Horner, 1971) ݔ଼െ ݔ െ ͵ͻݔ ͵ݔହ ͶͶݔସ െͳͲͺݔଷെ ͳͻʹͺݔଶ െ ʹͷݔ ͳͻʹͲ
(James, Smith & Wolford, 2000)
commit to user
4.2 Pencarian Akar Kompleks Polinomial Secara Manual
Pencarian akar kompleks masing-masing sampel polinomial yang telah ditentukan secara manual dilakukan sebelum kalkulator dibangun. Pencarian akar kompleks polinomial dilakukan dengan menerapkan masing-masing algoritma secara manual. Algoritma yang digunakan dalam pencarian akar kompleks polinomial secara manual adalah rumus kuadrat (Alg 2.1), Cardano (Alg 2.2), Viete’s (Alg 2.3), Bairstow (Alg 2.4), revisis algoritma Bairstow (Alg 2.5), dan Muller (Alg 2.6). Sampel yang digunakan yaitu satu sampel polinomial derajat dua, tiga, dan empat. Sampel tersebut dapat dilihat pada Tabel 4.1. Perhitungan manual ini merupakan dasar pembangunan program kalkulator. Berikut ini merupakan pembahasan lebih rinci mengenai perhitungan masing-masing algoritma :
4.2.1 Pencarian Akar Kompleks Polinomial Derajat Dua
a. Pencarian akar kompleks ݔଶ ݔ ͳʹ menggunakan rumus kuadrat
1. Berdasarkan bentuk polinomial derajat dua yaitu ݔଶ ݔ ݍ, maka nilai
p = 7 dan q = 12.
2. Menentukan nilai diskriminan
ܦ ൌ ቀ ଶቁ ଶ െ ݍ ൌ ቀ ଶቁ ଶ െ ͳʹ ൌ ሺ͵ǡͷሻଶെ ͳʹ ൌ ͳʹǡʹͷ െ ͳʹ ൌ Ͳǡʹͷ
3. Menentukan akar kompleks polinomial ݔଵ ൌ െ ଶ ξܦ ൌ െ ଶ ඥͲǡʹͷ ൌ െ͵ǡͷ Ͳǡͷ ൌ െ͵ǡͲ ͲǡͲ݅ ݔଶ ൌ െ ʹെ ξܦ ൌ െ ʹെ ඥͲǡʹͷ ൌ െ͵ǡͷ െ Ͳǡͷ ൌ െͶǡͲ ͲǡͲ݅
Dengan demikian, maka penyelesaian polinomial ݔଶ ݔ ͳʹ
menggunakan Rumus Kuadrat menghasilkan dua akar kompleks yakni െ͵ǡͲ ͲǡͲ݅ dan െͶǡͲ ͲǡͲ݅.
4.2.2 Pencarian Akar Kompleks Polinomial Derajat Tiga
a. Pencarian akar kompleks polinomial ݔଷ െ Ͷݔଶ െ ʹݔ ͵ menggunakan algoritma Cardano
1. Berdasarkan bentuk polinomial derajat tiga yaitu ݔଷ ݎݔଶ ݏݔ ݐ, maka r = -4, s = -2, dan t = 3.
commit to user
2. Mensubtitusikan ݕ ൌ ݔ
ଷ pada persamaan kubik, sehingga
mengasilkan persamaan tereduksi ݕଷ ݕ ݍ ൌ Ͳ. Nilai p dan q didapat dari : ൌ͵ݏ െ ݎ ଶ ͵ ൌ ͵ሺെʹሻ െ ሺെͶሻଶ ͵ ൌ െ െ ͳ ͵ ൌ െʹʹ ͵ ൌ െǡ͵ ݍ ൌʹݎ ଷ ʹ െ ݎݏ ͵ ݐ ൌ ʹሺെͶሻଷ ʹ െ ሺെͶሻሺെʹሻ ͵ ͵ ൌ െͳʹͺ ʹ െ ͺ ͵ ͵ ݍ ൌെͳʹͺ ʹ െ ʹ ʹ ͺͳ ʹൌ െͳͳͻ ʹ ൌ െͶǡͶ 3. Menghitung nilai diskriminan
ܦ ൌ ቀ ͵ቁ ଷ ቀ ʹቁ ଶ ൌ ൬െǡ͵ ͵ ൰ ଷ ൬െͶǡͶ ʹ ൰ ଶ ൌ െʹǡͶଷ െʹǡʹଶ ൌ െͻǡͺ
4. Dari perhitungan di atas, diketahui bahwa nilai diskriminan dari persamaan polinomial tersebut bernilai kurang dari nol. Kasus seperti ini disebut sebagai irreducible case yang akan menghasilkan akar kompleks. Dengan demikian, pencarian akar kompleks polinomial menggunakan algoritma Cardano dilakukan dengan menerapkan
ܿݏ߮ ൌ െ
ଶඥሺȁȁ ଷΤ ሻయ, berikut ini detail perhitungannya :
ܿݏ߮ ൌ െ ݍ ʹඥሺȁȁ ͵Τ ሻଷ ൌ െ ሺെͶǡͶሻ ʹඥሺȁെǤ͵ȁ ͵Τ ሻଷ ൌ െ ሺെͶǡͶሻ ʹඥሺʹǤͶሻଷ ܿݏ߮ ൌ െ ሺെͶǡͶሻ ʹξͳͶǡͲ͵ͳൌ െ ሺെͶǡͶሻ ሺʹሻሺ͵ǡͺʹͳͺʹሻൌ െ ሺെͶǡͶሻ ǡͶ͵Ͷ ܿݏ߮ ൌ Ͳǡͷͳͳ Sehingga, ߮ ൌ Ͳǡͻͷʹʹͳͳ
Dengan demikian, maka solusi dari persamaan tereduksi ݕଷ ݕ ݍ ൌ Ͳ adalah sebagai berikut :
x ݔଵ ൌ െ ଷ ʹ ή ට ȁȁ ଷ ቀ ఝ ଷቁ ݔଵ ൌ െሺିସሻ ଷ ʹ ή ට ȁିǡଷȁ ଷ ቀ ǡଽହଶଶଵଵ ଷ ቁ ݔଵ ൌସ ଷ ʹ ή ට ǡଷ ଷ ሺͲǡ͵ͳͺͶͳሻ
commit to user ݔଵ ൌସ ଷ ʹ ή ට ǡଷ ଷ ሺͲǡ͵ͳͺͶͳሻ ݔଵ ൌସ ଷ ʹ ή ͳǡͷ͵Ͷʹ ή ͲǡͻͶͻ͵ͳ ݔଵ ൌସ ଷ ʹǡͻͻͶͶʹ ݔଵ ൌ Ͷǡ͵Ͳʹ x ݔଶ ൌ െ ଷെ ʹ ή ට ȁȁ ଷ ቀ ఝିగ ଷ ቁ ݔଶ ൌ െሺିସሻ ଷ െ ʹ ή ට ȁିǡଷȁ ଷ ቀ ǡଽହଶଶଵଵିଷǡଵସଵହଽ ଷ ቁ ݔଶ ൌ ସ ଷെ ʹ ή ͳǡͷ͵Ͷͳͻʹ ή ሺെͲǡʹͺͶͷͻͺͳሻ ݔଶ ൌ ସ ଷെ ʹ ή ͳǡͷ͵Ͷͳͻʹ ή ͲǡͶʹͲʹͷͲ ݔଶ ൌ െͳ x ݔଷ ൌ െ ଷെ ʹ ή ට ȁȁ ଷ ቀ ఝାగ ଷ ቁ ݔଷ ൌ െ ሺିସሻ ଷ െ ʹ ή ට ȁିǡଷȁ ଷ ቀ ǡଽହଶଶଵଵାଷǡଵସଵହଽ ଷ ቁ ݔଷ ൌ ସ ଷെ ʹ ή ͳǡͷ͵Ͷͳͻʹ ή ሺͳǡ͵ͷͻ͵ͺሻ ݔଷ ൌ ସ ଷെ ʹ ή ͳǡͷ͵Ͷͳͻʹ ή ͲǡʹͲ͵Ͷʹͺ ݔଷ ൌ ସ ଷെ Ͳǡ͵ͳͲͻ ݔଷ ൌ ͲǡͻʹʹͶ
Dengan demikian, berdasarkan algoritma Cardano, polinomial ݔଷ െ Ͷݔଶ െ ʹݔ ͵ memiliki tiga akar diantaranya adalah Ͷǡ͵Ͳʹ ͲǡͲ݅, െͳǡͲ ͲǡͲ݅ , dan ͲǡͻʹʹͶ ͲǡͲ݅.
b. Pencarian akar kompleks polinomial ݔଷ െ Ͷݔଶ െ ʹݔ ͵ menggunakan
algoritma Viete’s
1. Berdasarkan bentuk polinomial derajat tiga yaitu ݔଷ ݎݔଶ ݏݔ ݐ, maka r = -4, s = -2, dan t = 3.
2. Mensubtitusikan ݕ ൌ ݔ
ଷ pada persamaan ݔ
ଷ െ Ͷݔଶെ ʹݔ ͵,
sehingga mengasilkan persamaan tereduksi ݕଷ ݕ ݍ ൌ Ͳ. Nilai p
commit to user ൌ͵ݏ െ ݎ ଶ ͵ ൌ ͵ሺെʹሻ െ ሺെͶሻଶ ͵ ൌ െ െ ͳ ͵ ൌ െʹʹ ͵ ൌ െǡ͵ ݍ ൌʹݎ ଷ ʹ െ ݎݏ ͵ ݐ ൌ ʹሺെͶሻଷ ʹ െ ሺെͶሻሺെʹሻ ͵ ͵ ൌ െͳʹͺ ʹ െ ͺ ͵ ͵ ݍ ൌെͳʹͺ ʹ െ ʹ ʹ ͺͳ ʹൌ െͳͳͻ ʹ ൌ െͶǡͶ
3. Menghitung nilai d dan c
݀ ൌെ ͵ ൌ Ǥ͵ ͵ ൌ ʹǡͶͶ ܿ ൌ െݍ ʹ ඨ ଷ ʹ ݍଶ Ͷ ܿ ൌ െሺെͶǡͶሻ ʹ ඨ ሺെǡ͵ሻଷ ʹ ሺെͶǡͶሻଶ Ͷ ܿ ൌ ʹǡʹͲ͵Ͳ͵ͲͶ ඨሺെǡ͵ሻ ଷ ʹ ሺെͶǡͶሻଶ Ͷ ܿ ൌ ʹǡʹͲ͵Ͳ͵ͲͶ ඥെͳͶǡͲ͵ͳͲͲͳ Ͷǡͺͷ͵ͳͲͲͳͶ ܿ ൌ ʹǡʹͲ͵Ͳ͵ͲͶ ඥെͻǡͷ ܿ ൌ ʹǡʹͲ͵Ͳ͵ͲͶ ͵ǡͳʹʹͶͻͺͻͻͻ݅
4. Langkah selanjutnya adalah mencari nilai r. Nilai r didapat dari akar pangkat tiga dari nilai c ൫ ξܿయ ൯. Di bawah ini akan dijelaskan mengenai detail perhitungan nilai r :
ݎ ൌ ξܿయ ൌ ඥʹǡʹͲ͵Ͳ͵ͲͶ ͵ǡͳʹʹͶͻͺͻͻͻ݅య
Nilai ʹǡʹͲ͵Ͳ͵ͲͶ ͵ǡͳʹʹͶͻͺͻͻͻ݅ kemudian diubah menjadi bentuk trigonometri. ߩ ൌ ȁܿȁ ൌ ඥܽଶ ܾଶ ൌ ඥʹǡʹͲ͵Ͳ͵ͲͶଶ ͵ǡͳʹʹͶͻͺͻͻͻଶ ൌ ඥͶǡͺͷ͵ͳͲͲͳͶ ͻǡͷ ൌ ඥͳͶǡͲ͵ͳͲͲͳ ൌ ͵ǡͺʹͳͺʹͲʹͶͻ ߠ ൌ ݐܽ݊ିଵቀݕ ݔቁ ൌ ݐܽ݊ ିଵ൬͵ǡͳʹʹͶͻͺͻͻͻ ʹǡʹͲ͵Ͳ͵ͲͶ൰ ൌ ݐܽ݊ିଵሺͳǡͶͳͻ͵ʹ͵ͳͻሻ ൌ Ͳǡͻͷʹʹͳͳ
commit to user
Karena nilai x dan y bernilai positif, maka sudut yang terbentuk berada di kuadran satu. Sudut yang terbentuk oleh θ adalah 54,79o. Nilai variable r dihitung dengan menggunakan rumus berikut :
ݎ ൌ ඥߩయ ൬ܿݏߠ ʹ݇ߨ ͵ ݏ݅݊ ߠ ʹ݇ߨ ͵ ݅൰ Dengan nilai k = 0, 1, 2. x ݎ ൌ ඥߩయ ቀܿݏఏାଶగ ଷ ݏ݅݊ ఏାଶగ ଷ ݅ቁ ݎ ൌ ξ͵ǡͺʹͳͺʹͲʹͶͻయ ቀܿݏହସǡଽ ଷ ݏ݅݊ ହସǡଽ ଷ ݅ቁ ݎ ൌ ͳǡͷ͵Ͷͳͻʹሺ ሺͳͺǡʹሻ ሺͳͺǡʹሻ ݅ሻ ݎ ൌ ͳǡͶͺͶʹͳͳͷʹ ͲǡͶͺͻͻͶͶͳ݅ x ݎ ൌ ඥߩయ ቀܿݏఏାଶగ ଷ ݏ݅݊ ఏାଶగ ଷ ݅ቁ ݎ ൌ ξ͵ǡͺʹͳͺʹͲʹͶͻయ ቀܿݏହସǡଽାଶ ଷ ݏ݅݊ ହସǡଽାଶ ଷ ݅ቁ ݎ ൌ ͳǡͷ͵Ͷͳͻʹሺ ሺͳ͵ͺǡʹሻ ሺͳ͵ͺǡʹሻ ݅ሻ ݎ ൌ ͳǡͷ͵ͶͳͻʹሺെͲǡͶʹͲʹͷͲ ͲǡͷͳͻͲʹ͵݅ሻ ݎ ൌ െͳǡͳ ͳǡͲͶͲͺ͵͵݅ x ݎ ൌ ඥߩయ ቀܿݏఏାଶగ ଷ ݏ݅݊ ఏାଶగ ଷ ݅ቁ ݎ ൌ ξ͵ǡͺʹͳͺʹͲʹͶͻయ ቀܿݏହସǡଽାସ ଷ ݏ݅݊ ହସǡଽାସ ଷ ݅ቁ ݎ ൌ ͳǡͷ͵Ͷͳͻʹሺ ሺʹͷͺǡʹሻ ሺʹͷͺǡʹሻ ݅ሻ ݎ ൌ ͳǡͷ͵ͶͳͻʹሺെͲǡʹͲ͵Ͷʹͺ͵͵ʹ ሺെͲǡͻͻͲͺͻͺ͵ͻ݅ሻሻ ݎ ൌ െͲǡ͵ͳͺͲͷͶͶͺ െ ͳǡͷ͵ͲͻͶͳ݅
Dari ketiga nilai r yang memenuhi yaitu nilai r dengan k sama dengan nol yang mengasilkan nilai r positif yaitu
ͳǡͶͺͶʹͳͳͷʹ ͲǡͶͺͻͻͶͶͳ݅.
5. Menghitung nilai akar polinomial pertama dengan perhitungan sebagai berikut : ݔଵ ൌ ݎ ݀ ݎ ݔଵ ൌ ͳǡͶͺͶʹͳͳͷʹ ͲǡͶͺͻͻͶͶͳ݅ ʹǡͶͶ ͳǡͶͺͶʹͳͳͷʹ ͲǡͶͺͻͻͶͶͳ݅ ݔଵ ൌ ʹǡͻͻͶͶʹ͵ͲͶ
commit to user
6. Kedua akar polinomial lainnya didapat dengan menggunakan nilai
variabel ߱ଵ ൌ െ ଵ ଶ ଵ ଶξ͵݅ dan ߱ଶ ൌ െ ଵ ଶെ ଵ ଶξ͵݅. Berikut detail perhitungannya : x ߱ଵݎ ൌ ቀെଵ ଶ ଵ ଶξ͵݅ቁ ή ͳǡͶͺͶʹͳͳͷʹ ͲǡͶͺͻͻͶͶͳ݅ ߱ଵݎ ൌ െͳǡͳ ͳǡͲͶͲͺ͵͵݅ x ߱ଶݎ ൌ ቀെଵ ଶെ ଵ ଶξ͵݅ቁ ή ͳǡͶͺͶʹͳͳͷʹ ͲǡͶͺͻͻͶͶͳ݅ ߱ଶݎ ൌ െͲǡ͵ͳͺͲͷͶ െ ͳǡͷ͵Ͳͻ݅ x ݔଶ ൌ ߱ଵݎ ௗ ఠభ ݔଶ ൌ െͳǡͳ ͳǡͲͶͲͺ͵͵݅ ʹǡͶͶ െͳǡͳ ͳǡͲͶͲͺ͵͵݅ ݔଶ ൌ െʹǡ͵͵͵͵͵͵͵͵͵͵͵͵͵͵ ͻǡͻͻʹͲͲʹʹͳʹͶͳܧ െ ͳͷ݅ x ݔଷ ൌ ߱ଵݎ ௗ ఠభ ݔଷ ൌ െͲǡ͵ͳͺͲͷͶ െ ͳǡͷ͵Ͳͻ݅ ଶǡସସ ିǡଷଵ଼ହସିଵǡହଷଽ ݔଷ ൌ െͲǡ͵ͳͲͺͻͳͲͷ͵ʹͷ
Jadi, berdasarkan algoritma Viete’s, akar-akar polinomial ݔଷ െ Ͷݔଶ െ
ʹݔ ͵ adalah sebagai berikut : ݔଵ ൌ ʹǡͻͻͶͶʹ͵ͲͶ
ݔଶ ൌ െʹǡ͵͵͵͵͵͵͵͵͵͵͵͵͵͵ ͻǡͻͻʹͲͲʹʹͳʹͶͳܧ െ ͳͷ݅
ݔଷ ൌ െͲǡ͵ͳͲͺͻͳͲͷ͵ʹͷ
c. Pencarian akar kompleks polinomial ݔଷ െ Ͷݔଶ െ ʹݔ ͵ menggunakan algoritma Bairstow
Pencarian akar 1 dan 2 Iterasi 1
1. Menentukan nilai ݑଵ ൌ ݒଵ ൌ Ͳ
2. Menghitung nilai ܾଵǡ ܾଶǡ ǥ ǡ ܾ menggunakan rumus ܾൌ ܽെ ܾିଵݑ െ ܾିଶݒ dengan pembagian sintesis :
ܾ ൌ ܽ ൌ ͳ
commit to user
ܾଶ ൌ ܽଶെ ܾଵݑ െ ܾݒ ൌ െʹ െ ሺെͶ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ െʹ
ܾଷ ൌ ܽଷെ ܾଶݑ െ ܾଵݒ ൌ ͵ െ ሺെʹ כ Ͳሻ െ ሺെͶ כ Ͳሻ ൌ ͵
3. Dari nilai u, v, dan b, langkah yang harus dilakukan selanjutnya adalah menghitung nilai ܿଵǡ ܿଶǡ ǥ ǡ ܿିଵ dengan rumus ܿ ൌ ܾെ ܿିଵݑ െ
ܿିଶݒ. Berikut detail perhitungan : ܿ ൌ ܾ ൌ ͳ
ܿଵ ൌ ܾଵെ ܿݑ ൌ െͶ െ ሺͳ כ Ͳሻ ൌ െͶ
ܿଶ ൌ ܾଶെ ܿଵݑ െ ܿݒ ൌ െʹ െ ሺെͶ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ െʹ
4. Nilai οݑ dan οݒ didapat dengan menghitung persamaan berikut: οݑ ൌฬ షమ షభ షయฬ ቚషభ షమ షమ షయቚ ൌ ฬ య భ మ బฬ ቚమ భ భ బቚ ൌ ቚ ଷ ିସ ିଶ ଵቚ ቚିଶିସ ିସଵቚ οݑ ൌ൫ሺିଶሻήଵ൯ିሺሺିସሻήሺିସሻሻሺଷήଵሻିሺሺିଶሻήሺିସሻሻ ൌ ିହ ିଵ଼ൌ Ͳǡʹͺ οݒ ൌฬ షభ షమ షభฬ ቚషభ షమ షమ షయቚ ൌฬ మ య భ మฬ ቚమ భ భ బቚ ൌቚ ିଶ ଷ ିସ ିଶቚ ቚିଶ ିସ ିସ ଵቚ οݒ ൌሺሺିଶሻήሺିଶሻሻିሺሺଷሻήሺିସሻሻ ൫ሺିଶሻήଵ൯ିሺሺିସሻήሺିସሻሻ ൌ ଵ ିଵ଼ൌ െͲǡͺͻ
5. Menghitung nilai u dan v untuk perhitungan iterasi berikutnya dengan menggunakan rumus :ݑାଵ ൌ ݑ οݑ݀ܽ݊ݒାଵൌ ݒ οݒ. ݑଶ ൌ ݑଵ οݑଵ ൌ Ͳ Ͳǡʹͺ ൌ Ͳǡʹͺ ݒଶ ൌ ݒଶ οݒଶ ൌ Ͳ ሺെͲǡͺͻሻ ൌ െͲǡͺͻ 6. Melakukan pengecekkan ȁοݑଵȁ ȁοݒଵȁ ൏ ߝ ȁͲǡʹͺȁ ȁെͲǡͺͻȁ ൏ ͲǡͲͲͲͲͲͲͲͳ ͳǡͳ ൏ ͲǡͲͲͲͲͲͲͲͳ → belum terpenuhi
Karena persamaan di atas belum terpenuhi, maka dilakuakn iterasi berikutnya yaitu iterasi ke 2, 3, dan seterusnya dengan mengulang langkah
2 hingga 6. Iterasi akan dihentikan ketika kondisi
ȁοݑଵȁ ȁοݒଵȁ ൏ ߝ telah terpenuhi. Tabel 4.2 menampilkan hasil
commit to user
Tabel 4.2 Nilai u, v, οݑ, dan οݒ Masing-Masing Iterasi Menggunakan Algoritma Bairstow pada Penyelesaian Polinomial Derajat Tiga
Iterasi ke- u v ο࢛ ο࢜ 1 0 0 0.27777778 -0.88888889 2 0.28 -0.89 0.02550501 0.19334998 3 0.30 -0.70 -0.00050706 -0.00168531 4 0.30 -0.70 -0.00000009 -0.00000014 5 0.30 -0.70 -0.0000000000000011 0.0000000000000023
Berdasarkan Tabel 4.2, pada iterasi ke 5 persamaan ȁοݑାଵȁ ȁοݒାଵȁ ൏ ߝ
telah terpenuhi, sehingga iterasi dihentikan. Nilai u dan v yang telah didapat kemudian disubtitusikan ke dalam persamaan berikut untuk mendapatkan polinomial tereduksi:
ሺݔଶ ݑݔ ݒሻሺݔିଶ ܾଵݔିଷ ܾଶݔିସ ڮ ܾିଷݔ ܾିଶሻ
ݎ݁݉ܽ݅݊݀݁ݎ Maka,
ሺݔଶ Ͳǡ͵ݔ െ Ͳǡሻሺݔ െ Ͷǡ͵ሻ ൌ Ͳ
Berdasarkan polinomial kuadrat yang dihasilkan, nilai akar kompleks adalah : x ݎଵ ൌ ି௨ାξ௨మିସ௩ ଶ ൌ ିǡଷାඥሺǡଷሻమିସሺିǡሻ ଶ ൌ ିǡଷାඥǡଽିሺିଶǡ଼ሻ ଶ ൌ ିǡଷାଵǡ ଶ ݎଵ ൌ Ͳǡ x ݎଶ ൌି௨ିξ௨మିସ௩ ଶ ൌ ିǡଷିඥሺǡଷሻమିସሺିǡሻ ଶ ൌ ିǡଷିඥǡଽିሺିଶǡ଼ሻ ଶ ൌ ିǡଷିଵǡ ଶ ݎଶ ൌ െͳ Pencarian akar 3
Pencarian akar ketiga didapat dari sisa (remainder) pembentukan polinomial tereduksi yaitu (x – 4,3) sehingga nilai ݎଷ ൌ Ͷǡ͵
commit to user
d. Pencarian akar kompleks polinomial ݔଷ െ Ͷݔଶ െ ʹݔ ͵ menggunakan revisi algoritma Bairstow
Pencarian akar 1 dan 2 Iterasi 1
1. Menentukan nilai ݑଵ ൌ ݒଵ ൌ Ͳ
2. Menghitung nilai ܾଵǡ ܾଶǡ ǥ ǡ ܾ menggunakan rumus ܾൌ ܽെ ܾିଵݑ െ ܾିଶݒ dengan pembagian sintesis :
ܾ ൌ ܽ ൌ ͳ
ܾଵ ൌ ܽଵെ ܾݑ ൌ െͶ െ ሺͳ כ Ͳሻ ൌ െͶ
ܾଶ ൌ ܽଶെ ܾଵݑ െ ܾݒ ൌ െʹ െ ሺെͶ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ െʹ
ܾଷ ൌ ܽଷെ ܾଶݑ െ ܾଵݒ ൌ ͵ െ ሺെʹ כ Ͳሻ െ ሺെͶ כ Ͳሻ ൌ ͵
3. Dari nilai u, v, dan b, langkah yang harus dilakukan selanjutnya adalah menghitung nilai ܿଵǡ ܿଶǡ ǥ ǡ ܿିଵ dengan rumus ܿ ൌ ܾെ ܿିଵݑ െ ܿିଶݒ. Berikut detail perhitungan :
ܿ ൌ ܾ ൌ ͳ
ܿଵ ൌ ܾଵെ ܿݑ ൌ െͶ െ ሺͳ כ Ͳሻ ൌ െͶ
ܿଶ ൌ ܾଶെ ܿଵݑ െ ܿݒ ൌ െʹ െ ሺെͶ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ െʹ
4. Nilai οݑ dan οݒ didapat dengan menghitung persamaan berikut:
οݑ ൌ ฬ షభ షయ షమฬ ቚሺ షమ షయ షభିషభሻ షమቚ ൌ ฬ మ బ య భฬ ቚభ బ మିమ భቚ ൌቚ ିଶ ଵ ଷ ିସቚ ቚିସ ଵ ିସቚ οݑ ൌሺሺିଶሻήሺିସሻሻିሺଵήଷሻ ൫ሺିସሻήሺିସሻ൯ିሺήଵሻൌ ହ ଵൌ Ͳǡ͵ͳ οݒ ൌฬ షమ షభ ሺషభିషభሻ ฬ ቚሺ షమ షయ షభିషభሻ షమቚ ൌฬ భ మ మିమ యฬ ቚభ బ మିమ భቚ ൌቚ ିସ ିଶ ଷቚ ቚିସ ଵ ିସቚ οݒ ൌሺሺିସሻήଷሻିሺήሺିଶሻሻ ൫ሺିସሻήሺିସሻ൯ିሺήଵሻൌ ିଵଶ ଵ ൌ െͲǡͷ
5. Menghitung nilai u dan v untuk perhitungan iterasi berikutnya dengan menggunakan rumus :ݑାଵ ൌ ݑ οݑ݀ܽ݊ݒାଵൌ ݒ οݒ. ݑଶ ൌ ݑଵ οݑଵ ൌ Ͳ Ͳǡ͵ͳ ൌ Ͳǡ͵ͳ ݒଶ ൌ ݒଶ οݒଶ ൌ Ͳ ሺെͲǡͷሻ ൌ െͲǡͷ 6. Melakukan pengecekkan ȁοݑଵȁ ȁοݒଵȁ ൏ ߝ ȁͲǡ͵ͳȁ ȁെͲǡͷȁ ൏ ͲǡͲͲͲͲͲͲͲͳ
commit to user
ͳǡͲ ൏ ͲǡͲͲͲͲͲͲͲͳ → belum terpenuhi
Karena persamaan di atas belum terpenuhi, maka dilakukan iterasi berikutnya yaitu iterasi ke 2, 3, dan seterusnya dengan mengulang langkah
2 hingga 6. Iterasi akan dihentikan ketika kondisi
ȁοݑଵȁ ȁοݒଵȁ ൏ ߝ telah terpenuhi. Hasil iterasi ditampilkan pada Tabel 4.3.
Tabel 4.3 Nilai u, v, οݑ, dan οݒ Masing-Masing Iterasi Menggunakan Revisi Algoritma Bairstow pada Penyelesaian Polinomial Derajat Tiga Iterasi ke- u v ο࢛ ο࢜ 1 0 0 0.31250000 -0.75000000 2 0.31 -0.75 -0.00972985 0.05265568 3 0.30 -0.70 0.00000549 0.00011996 4 0.30 -0.70 -0.00000000004 -0.00000000016
Berdasarkan Tabel 4.3 diketahui bahwa pada iterasi ke 4 telah memenuhi persamaan ȁοݑାଵȁ ȁοݒାଵȁ ൏ ߝ . Kemudian nilai u dan v yang telah
didapat disubtitusikan ke dalam persamaan beriku untuk mendapatkan polinomial tereduksit: ሺݔଶ ݑݔ ݒሻሺݔିଶ ܾ ଵݔିଷ ܾଶݔିସ ڮ ܾିଷݔ ܾିଶሻ ݎ݁݉ܽ݅݊݀݁ݎ Maka, ሺݔଶ Ͳǡ͵ݔ െ Ͳǡሻሺݔ െ Ͷǡ͵ሻ ൌ Ͳ
Akar 1 dan 2 didapat dari perhitungan berikut :
ݎଵ ൌെݑ േ ξݑ ଶെ Ͷݒ ʹ ൌ െͲǡ͵ ඥሺͲǡ͵ሻଶെ ͶሺെͲǡሻ ʹ ݎଵ ൌ െͲǡ͵ ඥͲǡͲͻ െ ሺെʹǡͺሻ ʹ ൌ െͲǡ͵ ͳǡ ʹ ൌ Ͳǡ ݎଶ ൌെݑ േ ξݑ ଶെ Ͷݒ ʹ ൌ െͲǡ͵ െ ඥሺͲǡ͵ሻଶെ ͶሺെͲǡሻ ʹ ݎଶ ൌെͲǡ͵ െ ඥͲǡͲͻ െ ሺെʹǡͺሻ ʹ ൌ െͲǡ͵ െ ͳǡ ʹ ൌ െͳ
commit to user
Pencarian akar 3
Akar 3 didapat dari sisa (remainder) pada saat pembentukkan polinomial tereduksi yaitu (x – 4,3) sehingga nilai ݎଷ ൌ Ͷǡ͵
4.2.3 Pencarian Akar Kompleks Polinomial Derajat Empat
a. Pencarian akar kompleks polinomial ݔସെ ͷݔଷ ͳ͵ݔଶെ ͳͻݔ ͳͲ
menggunakan algoritma Bairstow Pencarian akar 1 dan 2
Iterasi 1
1. Menentukan ݑଵ ൌ ݒଵ ൌ Ͳ
2. Menghitung nilai ܾଵǡ ܾଶǡ ǥ ǡ ܾ menggunakan rumus ܾൌ ܽെ
ܾିଵݑ െ ܾିଶݒ dengan pembagian sintesis : ܾ ൌ ܽ ൌ ͳ
ܾଵ ൌ ܽଵെ ܾݑ ൌ െͷ െ ሺͳ כ Ͳሻ ൌ െͷ
ܾଶ ൌ ܽଶെ ܾଵݑ െ ܾݒ ൌ ͳ͵ െ ሺെͷ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ ͳ͵
ܾଷ ൌ ܽଷെ ܾଶݑ െ ܾଵݒ ൌ െͳͻ െ ሺͳ͵ כ Ͳሻ െ ሺെͷ כ Ͳሻ ൌ െͳͻ ܾସ ൌ ܽସെ ܾଷݑ െ ܾଶݒ ൌ ͳͲ െ ሺെͳͻ כ Ͳሻ െ ሺͳ͵ כ Ͳሻ ൌ ͳͲ
3. Dari nilai u, v, dan b, langkah yang harus dilakukan selanjutnya adalah menghitung nilai ܿଵǡ ܿଶǡ ǥ ǡ ܿିଵ dengan rumus ܿ ൌ ܾെ ܿିଵݑ െ ܿିଶݒ. Berikut detail perhitungan :
ܿ ൌ ܾ ൌ ͳ
ܿଵ ൌ ܾଵെ ܿݑ ൌ െͷ െ ሺͳ כ Ͳሻ ൌ െͷ
ܿଶ ൌ ܾଶെ ܿଵݑ െ ܿݒ ൌ ͳ͵ െ ሺെͷ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ ͳ͵ ܿଶ ൌ ܾଶെ ܿଵݑ െ ܿݒ ൌ െͳͻ െ ሺͳ͵ כ Ͳሻ െ ሺെͷ כ Ͳሻ ൌ െͳͻ 4. Nilai οݑ dan οݒ didapat dengan menghitung persamaan berikut:
οݑ ൌฬ షమ షభ షయฬ ቚషభ షమ షమ షయቚ ൌ ฬ ర మ య భฬ ቚయ మ మ భቚ ൌ ቚ ଵ ଵଷ ିଵଽ ିହቚ ቚିଵଽ ଵଷ ଵଷ ିହቚ οݑ ൌሺଵήሺିହሻሻିሺሺିଵଽሻήଵଷሻ ൫ሺିଵଽሻήሺିହሻ൯ିሺଵଷήଵଷሻൌ ଵଽ ିସൌ െʹǡ οݒ ൌฬ షభ షమ షభฬ ቚషభ షమ షమ షయቚ ൌฬ య ర మ యฬ ቚయ మ మ భቚ ൌቚ ିଵଽ ଵ ଵଷ ିଵଽቚ ቚିଵଽଵଷ ିହଵଷቚ
commit to user
οݒ ൌሺሺିଵଽሻήሺିଵଽሻሻିሺଵଷήଵሻ
൫ሺିଵଽሻήሺିହሻ൯ିሺଵଷήଵଷሻ ൌ
ଶଷଵ
ିସൌ െ͵ǡͳʹ
5. Menghitung nilai u dan v untuk perhitungan iterasi berikutnya dengan menggunakan rumus :ݑାଵ ൌ ݑ οݑ݀ܽ݊ݒାଵൌ ݒ οݒ.
ݑଶ ൌ ݑଵ οݑଵ ൌ Ͳ Ͳǡʹͺ ൌ െʹǡ
ݒଶ ൌ ݒଶ οݒଶ ൌ Ͳ ሺെͲǡͺͻሻ ൌ െ͵ǡͳʹ
6. Melakukan pengecekkan terhadap ȁοݑାଵȁ ȁοݒାଵȁ ൏ ߝ
ȁοݑଵȁ ȁοݒଵȁ ൏ ߝ
ȁെʹǡȁ ȁെ͵ǡͳʹȁ ൏ ͲǡͲͲͲͲͲͲͲͳ→ belum terpenuhi
Karena persamaan di atas belum terpenuhi, maka dilakukan iterasi kedua dengan mengulang langkah 2 hingga 6. Di bawah ini merupakan hasil perhitungan iterasi berikutnya :
Tabel 4.4 Nilai u, v, οݑ, dan οݒ Masing-Masing Iterasi Menggunakan Algoritma Bairstow pada Penyelesaian Polinomial Derajat Empat
Iterasi ke- u v ο࢛ ο࢜ 1 0 0 -2.66216216 -3.12162162 2 -2.7 -3.1 -0.06977005 3.14694849 3 -2.7 0.02 -0.13655869 1.44655453 4 -2.8 1.5 -0.11275151 0.47476358 5 -2.9 1.9 -0.01855564 0.05273624 6 -3.0 2.0 -2.01893667E-4 6.1868688E-4 7 -3.0 2.0 -2.78227877E-8 8.01465508E-8 8 -3.0 2.0 -7.54951656E-16 1.421085471E-16
Berdasarkan Tabel 4.4, diketahui bahwa pada iterasi ke 8 persamaan ȁοݑାଵȁ ȁοݒାଵȁ ൏ ߝ telah terpenuhi, sehingga iterasi dihentikan. Nilai u
dan v yang telah didapat kemudian disubtitusikan ke dalam persamaan berikut untuk mendapatkan polinomial tereduksi:
ሺݔଶ ݑݔ ݒሻሺݔିଶ ܾ
ଵݔିଷ ܾଶݔିସ ڮ ܾିଷݔ ܾିଶሻ
commit to user
Maka,
ሺݔଶെ ͵ݔ ʹሻሺݔଶെ ʹݔ ͷሻ ൌ Ͳ
Dimana ሺݔଶെ ʹݔ ͷሻ merupakan polinomial tereduksi.
Akar 1 dan 2 didapat dari perhitungan berikut :
ݎଵ ൌ െݑ േ ξݑ ଶെ Ͷݒ ʹ ൌ ͵ ඥሺെ͵ሻଶെ Ͷሺʹሻ ʹ ൌ ͵ ξͻ െ ͺ ʹ ൌ ͵ ͳ ʹ ൌ ʹ ݎଶ ൌെݑ േ ξݑ ଶെ Ͷݒ ʹ ൌ ͵ െ ඥሺെ͵ሻଶെ Ͷሺʹሻ ʹ ൌ ͵ െ ξͻ െ ͺ ʹ ൌ ͵ െ ͳ ʹ ൌ ͳ
Pencarian akar 3 dan 4
Akar 3 dan 4 didapat dari polinomial tereduksi yaitu ሺݔଶെ ʹݔ ͷሻ. Dengan demikian, maka perhitungan akar 3 dan 4 dimana nilai u = -2 dan v = 5 adalah : ݎଷൌ െݑ ξݑ ଶെ Ͷݒ ʹ ൌ ʹ ඥሺെʹሻଶെ Ͷሺͷሻ ʹ ൌ ʹ ξͶ െ ʹͲ ʹ ݎଷൌ ʹ ξെͳ ʹ ൌ ʹ Ͷ݅ ʹ ൌ ͳ ʹ݅ ݎସ ൌെݑ െ ξݑ ଶെ Ͷݒ ʹ ൌ ʹ െ ඥሺെʹሻଶെ Ͷሺͷሻ ʹ ൌ ʹ െ ξͶ െ ʹͲ ʹ ݎସ ൌʹ െ ξെͳ ʹ ൌ ʹ Ͷ݅ ʹ ൌ ͳ െ ʹ݅
Dari perhitungan di atas, maka diketahui akar-akar polinomial dari persamaan ݔସെ ͷݔଷ ͳ͵ݔଶെ ͳͻݔ ͳͲ ൌ Ͳ adalah 1, 2, 1+2i, dan 1-2i.
b. Pencarian akar kompleks polinomial ݔସെ ͷݔଷ ͳ͵ݔଶെ ͳͻݔ ͳͲ
menggunakan revisi algoritma Bairstow Pencarian akar 1 dan 2
Iterasi 1
1. Menentukan nilai ݑଵ ൌ ݒଵ ൌ Ͳ
2. Menghitung nilai ܾଵǡ ܾଶǡ ǥ ǡ ܾ menggunakan rumus ܾൌ ܽെ
ܾିଵݑ െ ܾିଶݒ dengan pembagian sintesis : ܾ ൌ ܽ ൌ ͳ
commit to user
ܾଶ ൌ ܽଶെ ܾଵݑ െ ܾݒ ൌ ͳ͵ െ ሺെͷ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ ͳ͵
ܾଷ ൌ ܽଷെ ܾଶݑ െ ܾଵݒ ൌ െͳͻ െ ሺͳ͵ כ Ͳሻ െ ሺെͷ כ Ͳሻ ൌ െͳͻ ܾସ ൌ ܽସെ ܾଷݑ െ ܾଶݒ ൌ ͳͲ െ ሺെͳͻ כ Ͳሻ െ ሺͳ͵ כ Ͳሻ ൌ ͳͲ
3. Dari nilai u, v, dan b, langkah yang harus dilakukan selanjutnya adalah menghitung nilai ܿଵǡ ܿଶǡ ǥ ǡ ܿିଵ dengan rumus ܿ ൌ ܾെ ܿିଵݑ െ ܿିଶݒ. Berikut detail perhitungan :
ܿ ൌ ܾ ൌ ͳ
ܿଵ ൌ ܾଵെ ܿݑ ൌ െͷ െ ሺͳ כ Ͳሻ ൌ െͷ
ܿଶ ൌ ܾଶെ ܿଵݑ െ ܿݒ ൌ ͳ͵ െ ሺെͷ כ Ͳሻ െ ሺͳ כ Ͳሻ ൌ ͳ͵ ܿଶ ൌ ܾଶെ ܿଵݑ െ ܿݒ ൌ െͳͻ െ ሺͳ͵ כ Ͳሻ െ ሺെͷ כ Ͳሻ ൌ െͳͻ 4. Nilai οݑ dan οݒ didapat dengan menghitung persamaan berikut:
οݑ ൌ ฬ షభ షయ షమฬ ቚሺ షమ షయ షభିషభሻ షమቚ ൌ ฬ య భ ర మฬ ቚమ భ యିయ మቚ ൌቚ ିଵଽ ିହ ଵ ଵଷቚ ቚଵଷ ିହ ଵଷቚ οݑ ൌሺିଵଽήሺଵଷሻሻିሺሺିହሻήଵሻሺଵଷήଵଷሻିሺିହήሻ ൌିଵଽ ଵଽ ൌ െͳǡͳ οݒ ൌฬ షమ షభ ሺషభିషభሻ ฬ ቚሺ షమ షయ షభିషభሻ షమቚ ൌฬ మ య యିయ రฬ ቚమ భ యିయ మቚ ൌ ቚ ଵଷ ିଵଽ ଵቚ ቚଵଷ ିହ ଵଷቚ οݒ ൌሺଵଷήଵሻିሺήሺିଵଽሻሻሺଵଷήଵଷሻିሺିହήሻ ൌ ଵଷ ଵଽൌ Ͳǡ
5. Menghitung nilai u dan v untuk perhitungan iterasi berikutnya dengan menggunakan rumus :ݑାଵ ൌ ݑ οݑ݀ܽ݊ݒାଵൌ ݒ οݒ.
ݑଶ ൌ ݑଵ οݑଵ ൌ Ͳ ሺെͳǡͳሻ ൌ െͳǡͳ ݒଶ ൌ ݒଶ οݒଶ ൌ Ͳ Ͳǡ ൌ Ͳǡ
6. Melakukan pengecekkan terhadap ȁοݑାଵȁ ȁοݒାଵȁ ൏ ߝ
ȁοݑଵȁ ȁοݒଵȁ ൏ ߝ
ȁͳǡͳȁ ȁͲǡȁ ൏ ͲǡͲͲͲͲͲͲͲͳ
ͳǡͻͶ ൏ ͲǡͲͲͲͲͲͲͲͳ → belum terpenuhi
Karena persamaan di atas belum terpenuhi, maka dilakukan iterasi berikutnya yaitu iterasi ke 2, 3, dan seterusnya dengan mengulang langkah
commit to user
ȁοݑଵȁ ȁοݒଵȁ ൏ ߝ telah terpenuhi. Hasil perhitungan masing-masing iterasi
ditampilkan dalam Tabel 4.5.
Tabel 4.5 Nilai u, v, οݑ, dan οݒ Masing-Masing Iterasi Menggunakan Revisi Algoritma Bairstow pada Penyelesaian Polinomial Derajat Empat
Iterasi ke- u v ο࢛ ο࢜ 1 0 0 -1.17 0.77 2 -1.17 0.77 -1.17165517 0.92034965 3 -2.34 1.69 -0.92093913 0.56265879 4 -3.26 2.25 0.23101677 -0.22547716 5 -3.03 2.03 0.02695486 -0.02646247 6 -3.0 2.0 3.03114375E-4 -2.99554673E-4 7 -3.0 2.0 3.71394534E-8 3.68663724E-8
Berdasarkan hasil perhitungan pada Tabel 4.5, diketahui bahwa pada iterasi ke 7 iterasi dihentikan karena telah memenuhi persamaan ȁοݑାଵȁ ȁοݒାଵȁ ൏ ߝ. Nilai u dan v yang telah didapat kemudian disubtitusikan ke
dalam persamaan berikut:
ሺݔଶ ݑݔ ݒሻሺݔିଶ ܾଵݔିଷ ܾଶݔିସ ڮ ܾିଷݔ ܾିଶሻ
ݎ݁݉ܽ݅݊݀݁ݎ Maka,
ሺݔଶെ ͵ݔ ʹሻሺݔଶെ ʹݔ ͷሻ ൌ Ͳ
Dimana ሺݔଶെ ʹݔ ͷሻ merupakan polinomial tereduksi. Akar 1 dan 2 didapat dari:
ݎଵ ൌ െݑ ξݑ ଶെ Ͷݒ ʹ ൌ ͵ ඥሺെ͵ሻଶെ Ͷሺʹሻ ʹ ൌ ͵ ξͻ െ ͺ ʹ ൌ ͵ ͳ ʹ ൌ ʹ ݎଶ ൌെݑ െ ξݑ ଶെ Ͷݒ ʹ ൌ ͵ െ ඥሺെ͵ሻଶെ Ͷሺʹሻ ʹ ൌ ͵ െ ξͻ െ ͺ ʹ ൌ ͵ െ ͳ ʹ ൌ ͳ Pencarian akar 3 dan 4
Akar 3 dan 4 didapat dari polinomial tereduksi yang dihasilkan yaitu ሺݔଶെ ʹݔ ͷሻ. Perhitungan akar 3 dan 4 dimana u = -2 dan v = 5 adalah :
commit to user ݎଷ ൌെݑ ξݑ ଶെ Ͷݒ ʹ ൌ ʹ ඥሺെʹሻଶെ Ͷሺͷሻ ʹ ൌ ʹ Ͷ݅ ʹ ൌ ͳ ʹ݅ ݎସ ൌെݑ െ ξݑ ଶെ Ͷݒ ʹ ൌ ʹ െ ඥሺെʹሻଶെ Ͷሺͷሻ ʹ ൌ ʹ Ͷ݅ ʹ ൌ ͳ െ ʹ݅
Dari perhitungan di atas, maa diketahui akar-akar polinomial dari persamaan ݔସെ ͷݔଷ ͳ͵ݔଶെ ͳͻݔ ͳͲ ൌ Ͳ adalah 1, 2, 1+2i, dan 1-2i.
c. Pencarian akar kompleks polinomial ݔସെ ͷݔଷ ͳ͵ݔଶെ ͳͻݔ ͳͲ menggunakan algoritma Muller
Pencarian akar 1 Iterasi 1
1. Menentukkan tiga poin tebakan awal yaitu ݔǡ ݔଵǡ ݔଶ yaitu 1, 2, 3. 2. Kemudian menghitung nilai ݄ǡ ݄ଵǡ ݄ଶ berikut :
݄ ൌ ݔെ ݔଶ ൌ ͳ െ ͵ ൌ െʹ ݄ଵ ൌ ݔଵെ ݔଶ ൌ ʹ െ ͵ ൌ െͳ
݄ଶ ൌ ݄כ ݄ଵכ ሺ݄െ ݄ଵሻ
݄ଶ ൌ ሺെʹሻ כ ሺെͳሻ כ ൫ሺെʹሻ െ ሺെͳሻ൯ ݄ଶ ൌ ʹ כ ሺെͳሻ ൌ െʹ
3. Menghitung masing-masing persamaan fungsi dari ketiga tebakan awal tersebut, ݂ሺݔሻǡ ݂ሺݔଵሻǡ ݂ሺݔଶሻ. x ݂ሺݔሻ ൌ ݂ሺͳሻ ൌ ሺͳሻସെ ͷሺͳሻଷ ͳ͵ሺͳሻଶെ ͳͻሺͳሻ ͳͲ ݂ሺͳሻ ൌ ͳ െ ͷ ͳ͵ െ ͳͻ ͳͲ ݂ሺͳሻ ൌ Ͳ x ݂ሺݔଵሻ ൌ ݂ሺʹሻ ൌ ሺʹሻସെ ͷሺʹሻଷ ͳ͵ሺʹሻଶ െ ͳͻሺʹሻ ͳͲ ݂ሺʹሻ ൌ ͳ െ ͶͲ ͷʹ െ ͵ͺ ͳͲ ݂ሺʹሻ ൌ Ͳ x ݂ሺݔଶሻ ൌ ݂ሺ͵ሻ ൌ ሺ͵ሻସെ ͷሺ͵ሻଷ ͳ͵ሺ͵ሻଶെ ͳͻሺ͵ሻ ͳͲ ݂ሺ͵ሻ ൌ ͺͳ െ ͷ כ ʹ ͳ͵ כ ͻ െ ͳͻ כ ͵ ͳͲ ݂ሺ͵ሻ ൌ ͺͳ െ ͳ͵ͷ ͳͳ െ ͷ ͳͲ ݂ሺ͵ሻ ൌ ͳ
commit to user 4. Menghitung nilai x ܽ ൌభ൫ሺ௫బሻିሺ௫మሻ൯ିబ൫ሺ௫భሻିሺ௫మሻ൯ మ ൌ ିଵሺିଵሻିሺିଶሻሺିଵሻ ିଶ ܽ ൌଵିଷଶ ିଶ ൌ ͺ x ܾ ൌబమ൫ሺ௫భሻିሺ௫మሻ൯ିభమ൫ሺ௫బሻିሺ௫మሻ൯ మ ൌ ሺିଶሻమሺିଵሻିሺିଵሻమሺିଵሻ ିଶ ܾ ൌସכሺିଵሻାଵ ିଶ ൌ ିସାଵ ିଶ ൌ ʹͶ ܿ ൌ ݂ሺݔଶሻ ൌ ͳ
5. Menghitung nilai diskriminan dari perhitungan di atas
ܦ ൌ ඥܾଶെ Ͷܽܿ ൌ ඥʹͶଶെ ሺͶ כ ͺ כ ͳሻ ൌ ξͷ െ ͷͳʹ ൌ ξͶ ൌ ͺ
6. Menghitung akar polinomial ݔଷ. Nilai b lebih dari nol, sehingga tanda operator yang digunakan yaitu “+”.
ݔଷ ൌ ݔଶെ ʹܿ ܾ ܦൌ ͵ െ ʹ כ ͳ ʹͶ ͺ ൌ ͵ െ ͵ʹ ͵ʹൌ ʹ ݕ ൌ ܿ ൌ ͳ
7. Melakukan pengecekkan terhadap nilai y ݕ ൏ ͲǡͲͲͲͲͲͲͲͳ
ͳ ൏ ͲǡͲͲͲͲͲͲͲͳ → belum terpenuhi
Pada langkah 6 persamaan belum terpenuhi sehingga dilakukan iterasi kedua dengan mengulang langkah 2 hingga 7 dimana nilai yang digunakan sebagai tebakan awal adalah nilai ݔ ൌ ʹǡ ݔଵ ൌ ͵ dan ݔଶ ൌ ʹ.
Iterasi 2 ݔ ൌ ʹǢݔଵ ൌ ͵Ǣݔଶ ൌ ʹ ݄ ൌ ͲǢ݄ଵ ൌ ͳǢ݄ଶ ൌ Ͳ ݂ሺݔሻ ൌ ͲǢ ݂ሺݔଵሻ ൌ ͳǢ ݂ሺݔଶሻ ൌ Ͳ ݕ ൌ ܿ ൌ ݂ሺݔଷሻ ൌ Ͳ Pengecekkan terhadap y : ݕ ൏ ͲǡͲͲͲͲͲͲͲͳ Ͳ ൏ ͲǡͲͲͲͲͲͲͲͳ → terpenuhi
commit to user
Karena persamaan di atas terpenuhi, maka iterasi dihentikan dan akar polinomial didapat yaitu nilai ݔଶ = 2. Dengan demikian, akar 1 polinomial tersebut adalah 2.
Pencarian akar 2
Sebelum dilakukan pencarian akar kompleks kedua, persamaan polinomial ݔସ െ ͷݔଷ ͳ͵ݔଶെ ͳͻݔ ͳͲ terlebih dahulu direduksi menjadi
polinomial tereduksi. Reduksi polinomial dilakukan dengan membagi polinomial dengan akar yang didapat sebelumnya. Reduksi polinomial lebih mudah dilakukan menggunakan metode Horner :
Berdasarkan perhitungan di atas, maka persamaan hasil reduksi adalah ݔଷ െ
͵ݔଶ ݔ െ ͷ ൌ Ͳ.
Langkah selanjutnya adalah mengulang langkah 1 hingga 7 untuk mendapatkan akar kedua menggunakan persamaan polinomial hasil reduksi. Hasil perhitungan untuk pencarian akar kedua adalah sebagai berikut : Iterasi 1 ݔ ൌ ͳǢ ݔଵ ൌ ʹǢݔଶ ൌ ͵ ݄ ൌ െʹǢ݄ଵ ൌ െͳǢ݄ଶ ൌ െͳ ݂ሺݔሻ ൌ ͲǢ ݂ሺݔଵሻ ൌ ͷǢ ݂ሺݔଶሻ ൌ ͳ ܽ ൌ ͵Ǣ ܾ ൌ ͳͶǢ ܿ ൌ ͳ ܦ ൌ ʹ ݔଷ ൌ ͳ ݕ ൌ ܿ ൌ ݂ሺݔଷሻ ൌ ͳ Pengecekkah terhadap y : ݕ ൏ ͲǡͲͲͲͲͲͲͲͳ
ͳ ൏ ͲǡͲͲͲͲͲͲͲͳ → belum terpenuhi, lakukan iterasi dengan mengulang langkah 2 hingga 7
commit to user Iterasi 2 ݔ ൌ ʹǢ ݔଵ ൌ ͵Ǣݔଶ ൌ ͳ ݄ ൌ ͳǢ݄ଵ ൌ ʹǢ݄ଶ ൌ െʹ ݂ሺݔሻ ൌ ͲǢ ݂ሺݔଵሻ ൌ ͳǢ ݂ሺݔଶሻ ൌ Ͳ ܽ ൌ ͺǢ ܾ ൌ െͺǢ ܿ ൌ Ͳ ܦ ൌ ͺ ݕ ൌ ܿ ൌ ݂ሺݔଷሻ ൌ Ͳ Pengecekkan terhadap y : ݕ ൏ ͲǡͲͲͲͲͲͲͲͳ
Ͳ ൏ ͲǡͲͲͲͲͲͲͲͳ → terpenuhi, iterasi dihentikan
Dengan demikian, maka nilai akar polinomial kedua adalah ݔଶ ൌ ͳ.
Pencarian akar 3
Mereduksi polinomial sebelumnya yaitu ݔଷ െ ͵ݔଶ ݔ െ ͷ ൌ Ͳ, dengan
membagi persamaan tersebut dengan akar yang ditemukan :
1 -3 7 -5 →koefisien polinomial Akar ← 1 1 -2 5 1 -2 5 0
Polinomial tereduksi yang didapat yaitu ݔଶെ ʹݔ ͷ ൌ Ͳǡkemudian
mengulang langkah 1 hingga 7 menggunakan persamaan baru dengan tiga tebakan awal ݔǡ ݔଵǡ ݔଶ yaitu 1, 2, 3. Berikut hasil perhitungan :
Iterasi 1 ݔ ൌ ͳǢݔଵൌ ʹǢݔଶ ൌ ͵ ݄ ൌ െʹǢ݄ଵ ൌ െͳǢ݄ଶ ൌ െͳ ݂ሺݔሻ ൌ ͶǢ ݂ሺݔଵሻ ൌ ͷǢ ݂ሺݔଶሻ ൌ ͺ ܽ ൌ ͳǢ ܾ ൌ ͶǢ ܿ ൌ ͺ ܦ ൌ ʹǡͶͷͲʹͻͻͲͻͺͳͶܧ െ ͳ Ͷ݅ ݔଷ ൌ ͳ ʹ݅ ݕ ൌ ܿ ൌ ݂ሺݔଷሻ ൌ ͺ Pengecekkan terhadap y : ݕ ൏ ͲǡͲͲͲͲͲͲͲͳ
commit to user
ͺ ൏ ͲǡͲͲͲͲͲͲͲͳ → belum terpenuhi, dilakukan iterasi dengan mengulang langkah 2 hingga 7 Iterasi 2 ݔ ൌ ʹǢݔଵ ൌ ͵Ǣݔଶ ൌ ͳ ʹ݅ ݄ ൌ ͳ െ ʹ݅Ǣ݄ଵ ൌ ʹ െ ʹ݅Ǣ݄ଶ ൌ ʹ ݅ ݂ሺݔሻ ൌ ͲǢ ݂ሺݔଵሻ ൌ ͳǢ ݂ሺݔଶሻ ൌ Ͳ ܽ ൌ Ͷ Ͷ݅Ǣ ܾ ൌ െͳʹ Ͷ݅Ǣ ܿ ൌ Ͳ ܦ ൌ ͳʹ െ Ͷ݅ ݕ ൌ ܿ ൌ ݂ሺݔଷሻ ൌ Ͳ Pengecekkan terhadap y : ݕ ൏ ͲǡͲͲͲͲͲͲͲͳ
Ͳ ൏ ͲǡͲͲͲͲͲͲͲͳ → terpenuhi, iterasi dihentikan
Pada iterasi kedua, proses dihentikan karena persamaan di atas telah terpenuhi. Dengan demikian, akar polinomial ketiga adalah ݔଶ ൌ ͳ ʹ݅.
Pencarian akar 4
Akar keempat didapat dari hasil pembagian polinomial yang telah direduksi sebelumnya yaitu ݔଶെ ʹݔ ͷ ൌ Ͳdengan akar yang telah didapat yaitu
ͳ ʹ݅. 1 -2 5 →koefisien polinomial Akar ← ͳ ʹ݅ 1+2i -5 1 -1+2i 0
Berdasarkan perhitungan di atas, maka didapat polinomial tereduksi yaitu ݔ െ ͳ ʹ݅ ൌ Ͳǡsehingga nilai akar polinomial terakhir adalah ͳ െ ʹ݅.
4.3 Pembangunan Program Kalkulator Pencarian Akar Kompleks Polinomial Derajat N
Sebelum program kalkulator pencarian akar kompleks polinomial derajat n dibangun, terlebih dahulu dilakukan analisa dan perancangan program agar program yang dibuat sesuai dengan kebutuhan. Di bawah ini merupakan pembahasan analisa kebutuhan serta perancangan program kalkulator:
commit to user
4.3.1 Analisa Kebutuhan Program Kalkulator
Analisa kebutuhan program kalkulator pencarian akar kompleks polinomial derajat n dilakukan dengan mendefinisikan kebutuhan-kebutuhan program, baik kebutuhan fungsional maupun kebutuhan non fungsional. Hasil analisa kebutuhan akan menjadi dasar pembangunan program kalkulator.
4.3.1.1 Deskripsi Sistem
Program kalkulator pencarian akar kompleks polinomial derajat n merupakan sebuah perangkat lunak berbasis dekstop yang digunakan khusus untuk mencari akar-akar kompleks polinomial derajat dua, tiga, empat, dan n. Program kalkulator dibangun dengan menggunakan bahasa pemrograman Java. Program kalkulator dilengkapi dengan berbagai algoritma khusus pencarian akar kompleks polinomial seperti rumus kuadrat, algoritma Viete’s, Cardano, Bairstow, Revisi Bairstow, dan Muller. Program kalkulator dapat menyelesaikan persamaan polinomial derajat dua, tiga, empat, dan juga n. Input program berupa koefisien variabel x, sedangkan outputnya berupa nilai akar-akar kompleks polinomial hasil perhitungan menggunakan algoritma yang dipilih dan pendekatan Matlab, galat yang dihasilkan, dan jumlah iterasi yang dilakukan. Dengan program kalkulator ini diharapkan dapat menjadi media pembelajaran untuk orang awam, sehingga dapat memudahkan dalam menyelesaikan persamaan polinomial derajat n.
4.3.1.2 Kebutuhan Fungsional
Tabel 4.6 menampilkan kebutuhan-kebutuhan fungsional dari program kalkulator pencarian akar-akar kompleks polinomial derajat n.
Tabel 4.6 Kebutuhan Fungsional Kalkulator Pencarian Akar Kompleks Polinomial Derajat n
Kode Kebutuhan Fungsional
F.1 Pengguna dapat mencari akar-akar kompleks polinomial derajat dua F.2 Pengguna dapat mencari akar-akar kompleks polinomial derajat tiga F.3 Pengguna dapat mencari akar-akar kompleks polinomial derajat empat F.4 Pengguna dapat mencari akar-akar kompleks polinomial derajat n F.5 Pengguna dapat melihat petunjuk peggunaan dan informasi program
commit to user
4.3.1.3 Kebutuhan Non Fungsional
Berikut ini merupakan kebutuhan non-fungsional pada program kalkulator pencarian akar kompleks polinomial derajat n :
Tabel 4.7 Kebutuhan Non Fungsional Kalkulator Pencarian Akar Kompleks Polinomial Derajat n
Kode Kebutuhan Non Fungsional
NF.1 Desain antarmuka yang user friendly dan sederhana, sehingga mudah digunakan untuk orang awam
NF.2 Program dapat terkoneksi dengan program Matlab
NF.3 Program dapat menyelesaikan persamaan polinomial dalam waktu singkat
4.3.2 Perancangan Program Kalkulator
Perancangan sistem dilakukan berdasarkan hasil analisa kebutuhan program sebelumnya. Kebutuhan fungsional program kalkulator dimodelkan menggunakan
use case diagram, kemudian diidentifikasi aktor dan masing-masing use case.
Setelah dimodelkan menggunakan use case diagram, dilakukan perancangan prototipe antarmuka program kalkulator. Masing-masing use case kemudian dimodelkan dengan model analisis yaitu dengan membuat sequence diagram dan
class diagram sehingga memudahkan dalam implementasi program kalkulator. 4.3.2.1 Model Use Case
Berikut ini merupakan pemodelan kebutuhan fungsional menggunakan model use case serta pembahasannya :
4.3.2.1.1 Diagram Use Case
Use case diagram menggambarkan masing-masing fungsional yang
terdapat pada program kalkulator. Gambar 4.1 menunjukkan use case diagram untuk program kalkulator pencarian akar kompleks polinomial derajat n.
commit to user
Gambar 4.1 Use case diagram Kalkulator
4.3.2.1.2 Identifikasi Pengguna
Pada program kalkulator pencarian akar kompleks polinomial derajat n hanya terdapat satu pengguna. Pengguna mencakup semua golongan seperti orang awam, pelajar, mahasiswa, dan lain sebagainya.
4.3.2.1.3 Definisi Use Case
Definisi use case berdasarkan use case diagram yang tertera pada Gambar 4.1 dijabarkan dalam Tabel 4.8 berikut ini :
Tabel 4.8 Use Case dan Deskripsi Use Case
Kode Use Case Deskripsi
UC.1 Mencari akar kompleks
polinomial derajat 2
Melakukan pencarian akar-akar kompleks polinomial derajat dua
UC.2
Mencari akar kompleks polinomial derajat 3
Melakukan pencarian akar-akar kompleks polinomial derajat tiga menggunakan algoritma yang dipilih
UC.3
Mencari akar kompleks polinomial derajat 4
Melakukan pencarian akar-akar kompleks polinomial derajat empat menggunakan algoritma yang dipilih
System
Pengguna
Mencari akar kompleks polinomial derajat 2
Mencari akar kompleks polinomial derajat 3
Mencari akar kompleks polinomial derajat 4
Mencari akar kompleks polinomial derajat n
commit to user
Tabel 4.7 Lanjutan Use Case dan Deskripsi Use Case
Kode Use Case Deskripsi
UC.4 Mencari akar kompleks polinomial derajat n
Melakukan pencarian akar-akar kompleks polinomial derajat n menggunakan
algoritma yang dipilih UC.5 Melihat petunjuk
penggunaan dan informasi program
Melihat petunjuk peggunaan program kalkulator dan informasi program kalkulator pencarian akar polinomial derajat n
4.3.2.1.4 Kesesuaian Use Case Diagram dengan Kebutuhan Fungsional
Tabel 4.9 berikut menunjukkan kesesuaian antara use case yang dibuat dengan kebutuhan fungsional program kalkulator pencarian akar kompleks polinomial derajat n.
Tabel 4.9 Kesesuaian Use Case dengan Kebutuhan Fungsional Kode
Kebutuhan Kebutuhan Fungsional
Kode
Use case
Use Case
F.1
Pengguna dapat mencari akar-akar kompleks polinomial derajat dua
UC.1
Mencari akar kompleks polinomial derajat 2
F.2
Pengguna dapat mencari akar-akar kompleks polinomial derajat tiga
UC.2
Mencari akar kompleks polinomial derajat 3
F.3
Pengguna dapat mencari akar-akar kompleks polinomial derajat empat
UC.3
Mencari akar kompleks polinomial derajat 4
F.4
Pengguna dapat mencari akar-akar kompleks polinomial derajat n
UC.4
Mencari akar kompleks polinomial derajat n
F.5
Pengguna dapat melihat petunjuk peggunaan dan informasi program
UC.5
Melihat petunjuk penggunaan dan informasi program
commit to user
4.3.2.1.5 Use Case Scenario
Di bawah ini dijabarkan use case scenario untuk masing-masing use case:
Nama use case : Mencari akar kompleks polinomial derajat 2
Kode use case : UC.1
Tabel 4.10 Scenario UC.1 : Mencari Akar Kompleks Polinomial Derajat 2
Field Name Field Description
Name Mencari akar kompleks polinomial derajat 2
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Actors Pengguna
Pre-condition Program menampilkan tabulasi ‘Polinomial Derajat 2’
Use case Initiation
Use case berfungsi apabila pengguna menginputkan koefisien variabel x dan mengklik ‘Penyelesaian dengan Rumus Kuadrat’
Use Case Dialog Sistem meminta pengguna untuk membuka tabulasi
‘Polinomial Derajat 2’
Sistem menampilkan halaman ‘Polinomial Derajat 2’ Sistem meminta pengguna untuk mengisi koefisien variabel x dan mengklik button ‘Penyelesaian dengan Rumus Kuadrat’
Sistem melakukan validasi terhadap koefisien yang diinputkan
Sistem menentukan input Matlab
Sistem menghitung akar kompleks pendekatan Matlab Sistem menghitung akar kompleks dengan rumus kuadrat Sistem menghitung galat
Sistem menampilkan akar kompleks hasil perhitungan dengan rumus kuadrat
Sistem menampilkan akar kompleks pendekatan Matlab Sistem menampilkan galat
commit to user
Tabel 4.10 Lanjutan Scenario UC.1 : Mencari Akar Kompleks Polinomial Derajat 2
Field Name Field Description
Use Case Termination
Program menampilkan akar-akar kompleks hasil
perhitungan dengan Rumus Kuadrat, akar-akar kompleks pendekatan Matlab, dan galat perhitungan
Tabel 4.11 Combine Scenario UC.1 : Mencari Akar Kompleks Polinomial Derajat 2
Use Case Name Mencari akar kompleks polinomial derajat 2
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Actors Pengguna
Pre-condition Program menampilkan tabulasi ‘Polinomial
Derajat 2’
Actor System
1. Mengklik tabulasi ‘Polinomial Derajat 2’
2. Menampilkan halaman ‘Polinomial Derajat 2’ 3. Menginputkan koefisien variabel x 4. Mengklik ‘Penyelesaian dengan Rumus Kuadrat’
5. Melakukan validasi koefisien yang diinputkan
6. Menentukan input perhitungan Matlab 7. Menghitung akar kompleks dengan
pendekatan Matlab
8. Menghitung akar kompleks dengan rumus kuadrat
commit to user
Tabel 4.11 Lanjutan Combine Scenario UC.1 : Mencari Akar Kompleks Polinomial Derajat 2
Actor System
9. Menghitung galat
10. Menampilkan akar kompleks perhitungan rumus kuadrat
11. Menampilkan akar kompleks pendekatan Matlab
12. Menampilkan galat 1st alternative
5. Melakukan validasi koefisien yang diinputkan, input tidak tepat
6. Menampilkan notifikasi ‘Input tidak tepat’
Berikut ini merupakan activity diagram untuk use case UC.1 yaitu mencari akar kompleks polinomial derajat 2 :
commit to user
Gambar 4.2 Activity Diagram UC.1 : Mencari Akar Kompleks Polinomial Derajat 2
Nama use case : Mencari akar kompleks polinomial derajat 3
Kode use case : UC.2
Tabel 4.12 Scenario UC.2 : Mencari Akar Kompleks Polinomial Derajat 3
Field Name Field Description
Name Mencari akar kompleks polinomial derajat 3
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Pengguna Sistem
Mengklik tab 'Polinomial Derajat 2' Menampilkan tab 'Polinomial Derajat 2'
Menginputkan koefisien variabel x
Mengklik 'Penyelesaian dengan Rumus Kuadrat'
Menentukan input Matlab
Menghitung pendekatan Matlab
Mencari akar-akar kompleks dengan Rumus Kuadrat Validasi
Notifikasi 'Input tidak tepat'
Menghitung galat
Menampilkan akar kompleks tidak
ya
Menampilkan pendekatan Matlab
commit to user
Tabel 4.12 Lanjutan Scenario UC.2 : Mencari Akar Kompleks Polinomial Derajat 3
Actors Pengguna
Pre-condition Program menampilkan tabulasi ‘Polinomial Derajat 3’
Use case Initiation
Use case berfungsi apabila pengguna menginputkan koefisien variabel x, memilih algoritma penyelesaian, dan mengklik ‘OK’
Use Case Dialog Sistem meminta pengguna untuk membuka tabulasi
‘Polinomial Derajat 3’
Sistem menampilkan halaman ‘Polinomial Derajat 3’ Sistem meminta pengguna untuk mengisi koefisien variabel x
Sistem meminta pengguna memilih algoritma penyelesaian
Sistem meminta pengguna mengklik button ‘OK’ Sistem melakukan validasi terhadap koefisien yang diinputkan
Sistem menentukan input Matlab
Sistem menghitung akar kompleks pendekatan Matlab Sistem menghitung akar kompleks dengan algoritma Sistem menghitung galat
Sistem menampilkan akar kompleks hasil perhitungan dengan algoritma terpilih
Sistem menampilkan akar kompleks pendekatan Matlab Sistem menampilkan galat
Sistem menampilkan jumlah iterasi Use Case
Termination
Program menampilkan akar-akar kompleks hasil
perhitungan dengan algoritma terpilih, akar-akar kompleks pendekatan Matlab, galat perhitungan, dan jumlah iterasi
commit to user
Tabel 4.13 Combine Scenario UC.2 : Mencari Akar Kompleks Polinomial Derajat 3
Use Case Name Mencari akar kompleks polinomial derajat 3
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Actors Pengguna
Pre-condition Program menampilkan tabulasi ‘Polinomial
Derajat 3’
Actor System
1. Mengklik tabulasi ‘Polinomial Derajat 3’
2. Menampilkan halaman ‘Polinomial Derajat 3’ 3. Menginputkan
koefisien variabel x 4. Memilih algoritma
penyelesaian 5. Mengklik ‘OK’
6. Melakukan validasi koefisien yang diinputkan 7. Menentukan input perhitungan Matlab
8. Menghitung akar kompleks dengan pendekatan Matlab
9. Menghitung akar kompleks dengan algoritma terpilih
10. Menghitung galat
11. Menampilkan akar kompleks perhitungan algoritma terpilih
12. Menampilkan akar kompleks pendekatan Matlab
13. Menampilkan galat
commit to user
Tabel 4.13 Lanjutan Combine Scenario UC.2 : Mencari Akar Kompleks Polinomial Derajat 3
Actor System
1st alternative
6. Melakukan validasi koefisien yang diinputkan, input tidak tepat
7. Menampilkan notifikasi ‘Input tidak tepat’
Gambar 4.3 Activity Diagram UC.2 : Mencari Akar Kompleks Polinomial Derajat 3
Pengguna Sistem
Mengklik tab 'Polinomial Derajat 3' Menampilkan tab 'Polinomial Derajat 3'
Menginputkan koefisien variabel x
Memilih algoritma
Validasi
Notifikasi 'Input tidak tepat'
Menentukan input Matlab
Menghitung pendekatan Matlab
Mencari akar-akar kompleks dengan algoritma yang dipilih
Menghitung galat
Menampilkan akar kompleks
Menampilkan pendekatan Matlab
Menampilkan galat
Menampilkan iterasi Mengklik 'OK'
tidak ya
commit to user
Nama use case : Mencari akar kompleks polinomial derajat 4
Kode use case : UC.3
Tabel 4.14 Scenario UC.3 : Mencari Akar Kompleks Polinomial Derajat 4
Field Name Field Description
Name Mencari akar kompleks polinomial derajat 4
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Pre-condition Program menampilkan tabulasi ‘Polinomial Derajat 4’
Use case Initiation
Use case berfungsi apabila pengguna menginputkan koefisien variabel x, memilih algoritma penyelesaian, dan mengklik ‘OK’
Use Case Dialog Sistem meminta pengguna untuk membuka tabulasi
‘Polinomial Derajat 4’
Sistem menampilkan halaman ‘Polinomial Derajat 4’ Sistem meminta pengguna untuk mengisi koefisien variabel x
Sistem meminta pengguna memilih algoritma penyelesaian
Sistem meminta pengguna mengklik button ‘OK’ Sistem melakukan validasi terhadap koefisien yang diinputkan
Sistem menentukan input Matlab
Sistem menghitung akar kompleks pendekatan Matlab Sistem menghitung akar kompleks dengan algoritma Sistem menghitung galat
Sistem menampilkan akar kompleks hasil perhitungan dengan algoritma terpilih
Sistem menampilkan akar kompleks pendekatan Matlab Sistem menampilkan galat
commit to user
Tabel 4.14 Lanjutan Scenario UC.3 : Mencari Akar Kompleks Polinomial Derajat 4
Field Name Field Description
Use Case Termination
Program menampilkan akar-akar kompleks hasil
perhitungan dengan algoritma terpilih, akar-akar kompleks pendekatan Matlab, galat perhitungan, dan jumlah iterasi
Tabel 4.15 Combine Scenario UC.3 : Mencari Akar Kompleks Polinomial Derajat 4
Use Case Name Mencari akar kompleks polinomial derajat 4
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Actors Pengguna
Pre-condition Program menampilkan tabulasi ‘Polinomial
Derajat 4’
Actor System
1. Mengklik tabulasi ‘Polinomial Derajat 4’
2. Menampilkan halaman ‘Polinomial Derajat 4’ 3. Menginputkan
koefisien variabel x 4. Memilih algoritma
penyelesaian 5. Mengklik ‘OK’
6. Melakukan validasi koefisien yang diinputkan 7. Menentukan input perhitungan Matlab
8. Menghitung akar kompleks dengan pendekatan Matlab
9. Menghitung akar kompleks dengan algoritma 10. Menghitung galat
commit to user
Tabel 4.15 Lanjutan Combine Scenario UC.3 : Mencari Akar Kompleks Polinomial Derajat 4
Actor System
11. Menampilkan akar kompleks perhitungan algoritma
12. Menampilkan akar kompleks pendekatan Matlab
13. Menampilkan galat
14. Menampilkan jumlah iterasi 1st alternative
6. Melakukan validasi koefisien yang diinputkan, input tidak tepat
7. Menampilkan notifikasi ‘Input tidak tepat’
Berikut ini merupakan activity diagram untuk use case UC.3 yaitu mencari akar kompleks polinomial derajat 4 :
commit to user
Gambar 4.4 Activity Diagram UC.3 : Mencari Akar Kompleks Polinomial Derajat 4
Pengguna Sistem
Mengklik tab 'Polinomial Derajat 4' Menampilkan tab 'Polinomial Derajat 4'
Menginputkan koefisien variabel x
Memilih algoritma
Validasi
Notifikasi 'Input tidak tepat'
Menentukan input Matlab
Menghitung pendekatan Matlab
Mencari akar-akar kompleks dengan algoritma yang dipilih
Menghitung galat
Menampilkan akar kompleks
Menampilkan pendekatan Matlab
Menampilkan galat
Menampilkan iterasi Mengklik 'OK'
tidak
commit to user
Nama use case : Mencari akar kompleks polinomial derajat n
Kode use case : UC.4
Tabel 4.16 Scenario UC.4 : Mencari Akar Kompleks Polinomial Derajat n
Field Name Field Description
Name Mencari akar kompleks polinomial derajat n
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Pre-condition Program menampilkan tabulasi ‘Polinomial Derajat n’
Use case Initiation
Use case berfungsi apabila pengguna menginputkan koefisien variabel x, memilih algoritma penyelesaian, dan mengklik ‘OK’
Use Case Dialog Sistem meminta pengguna untuk membuka tabulasi
‘Polinomial Derajat n’
Sistem menampilkan halaman ‘Polinomial Derajat n’ Sistem meminta pengguna untuk menginputkan derajat polinomial
Sistem meminta pengguna untuk mengklik ‘OK’ Sistem melakukan validasi derajat polinomial yang diinputkan
Sistem menampilkan pilihan algoritma
Sistem meminta pengguna untuk mengisi koefisien variabel x
Sistem meminta pengguna memilih algoritma penyelesaian
Sistem meminta pengguna mengklik button ‘OK’ Sistem melakukan validasi terhadap koefisien yang diinputkan
Sistem menentukan input Matlab
Sistem menghitung akar kompleks pendekatan Matlab Sistem menghitung akar kompleks dengan algoritma Sistem menghitung galat
commit to user
Tabel 4.16 Lanjutan Scenario UC.4 : Mencari Akar Kompleks Polinomial Derajat n
Field Name Field Description
Use Case Dialog Sistem menampilkan akar kompleks hasil perhitungan
dengan algoritma terpilih
Sistem menampilkan akar kompleks pendekatan Matlab Sistem menampilkan galat
Sistem menampilkan jumlah iterasi Use Case
Termination
Program menampilkan akar-akar kompleks hasil
perhitungan dengan algoritma terpilih, akar-akar kompleks pendekatan Matlab, galat perhitungan, dan jumlah iterasi
Tabel 4.17 Combine Scenario UC.4 : Mencari Akar Kompleks Polinomial Derajat
n
Use Case Name Mencari akar kompleks polinomial derajat 4
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Actors Pengguna
Pre-condition Program menampilkan tabulasi ‘Polinomial
Derajat n’
Actor System
1. Mengklik tabulasi ‘Polinomial Derajat n’
2. Menampilkan halaman ‘Polinomial Derajat n’ 3. Menginputkan derajat
polinomial 4. Mengklik ‘OK’
5. Melakukan validasi derajat polinomial 6. Menampilkan pilihan algoritma
commit to user
Tabel 4.17 Lanjutan Combine Scenario UC.4 : Mencari Akar Kompleks Polinomial Derajat n Actor System 7. Menginputkan koefisien variabel x 8. Memilih algoritma penyelesaian 9. Mengklik ‘OK’
10. Melakukan validasi koefisien yang diinputkan 11. Menentukan input perhitungan Matlab
12. Menghitung akar kompleks dengan pendekatan Matlab
13. Menghitung akar kompleks dengan algoritma terpilih
14. Menghitung galat
15. Menampilkan akar kompleks perhitungan algoritma
16. Menampilkan akar kompleks pendekatan Matlab
17. Menampilkan galat
18. Menampilkan jumlah iterasi 1st alternative
5. Melakukan validasi derajat polinomial yang diinputkan, input tidak tepat
6. Menampilkan notifikasi ‘Input tidak tepat’
2nd alternative
10. Melakukan validasi koefisien yang diinputkan, input tidak tepat
11. Menampilkan notifikasi ‘Input tidak tepat’
Berikut ini merupakan activity diagram untuk use case UC.4 yaitu mencari akar kompleks polinomial derajat n :
commit to user
Gambar 4.5 Activity Diagram UC.4 : Mencari Akar Kompleks Polinomial Derajat
n
Pengguna Sistem
Mengklik tab 'Polinomial Derajat n' Menampilkan tab 'Polinomial Derajat n'
Menginputkan koefisien variabel x
Memilih algoritma
Validasi
Notifikasi 'Input tidak tepat'
Menentukan input Matlab
Menghitung pendekatan Matlab
Mencari akar-akar kompleks dengan algoritma yang dipilih
Menghitung galat
Menampilkan akar kompleks
Menampilkan pendekatan Matlab
Menampilkan galat
Menampilkan iterasi Mengklik 'OK'
tidak
ya Menginputkan derajat polinomial
Menampilkan pilihan algoritma
Mengklik 'OK' Validasi
Notifikasi 'Input tidak tepat' tidak
commit to user
Nama use case : Melihat petunjuk penggunaan dan informasi program
Kode use case : UC.5
Tabel 4.18 Scenario UC.5 : Melihat Petunjuk Penggunaan dan Informasi Program
Field Name Field Description
Name Melihat petunjuk penggunaan dan informasi program
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Pre-condition Program menampilkan tabulasi ‘About’
Use case Initiation
Use case berfungsi apabila pengguna mengklik tabulasi ‘About’
Use Case Dialog Sistem meminta pengguna untuk membuka tabulasi
‘About’
Sistem menampilkan halaman ‘About’ Use Case
Termination
Program menampilkan halaman ‘About’
Tabel 4.19 Combine Scenario UC.5 : Melihat Petunjuk Penggunaan dan Informasi Program
Use Case Name Melihat petunjuk penggunaan dan informasi
program
Assumption Program kalkulator telah berjalan,
Program kalkulator terkoneksi dengan Matlab
Actors Pengguna
Pre-condition Program telah berjalan
Actor System
1. Mengklik tabulasi ‘About
2. Menampilkan halaman ‘About
Berikut ini merupakan activity diagram untuk use case UC.5 yaitu melihat petunjuk penggunaan dan informasi program :
commit to user
Gambar 4.6 Activity Diagram UC.5 : Melihat Petunjuk Penggunaan dan Informasi Program
4.3.2.1.6 Flowchart Program Kalkulator
Gambar 4.7 menunjukkan diagram alur (flowchart) program kalkulator pencarian akar kompleks polinomial derajat n. Berikut ini merupakan penjelasan Gambar 4.7 :
1. Program memiliki empat tabulasi berdasarkan masing-masing derajat polinomial yakni polinomial derajat dua, tiga, empat, dan n.
2. Input masing-masing algoritma berupa koefisien masing-masing variabel x. 3. Proses yang dilakukan dalam program kalkulator yaitu menghitung nilai
pendekatan akar kompleks dengan menggunakan Matlab dan mencari akar-akar kompleks polinomial menggunakan algoritma yang dipilih.
4. Nilai galat masing-masing akar kompleks polinomial didapat dari perhitungan galat relatif. Perhitungan galat relatif yang mengunakan formula yang diusulkan dalam penelitian ini. Perhitungan galat relatif suatu akar kompleks polinomial menggunakan Persamaan 2.64.
Dalam perhitungan galat, nilai eksak diubah menjadi nilai pendekatan numerik yang didapat dari perhitungan Matlab. Penggunaan solusi numerik hasil perhitungan Matlab ini dikarenakan beberapa sampel polinomial yang
Pengguna Sistem
Mengklik tab 'About' Menampilkan tab 'About'
commit to user
digunakan dalam penelitian tidak disertai dengan solusi eksak. Selain itu, penyelesaian polinomial berderajat tinggi sulit diselesaikan dengan metode analitik. Oleh karena itu, digunakan alternatif lain untuk mendapatkan nilai eksak persamaan polinomial yaitu dengan menggunakan solusi numerik yang mendekati solusi eksak yang didapat dari perhitungan perangkat lunak matematika, Matlab.
Seperti yang disebutkan dalam situs MathWorks (2016), Matlab merupakan perangkat lunak matematika berbasis matriks yang dapat mengekspresikan komputasi matematika. Matlab telah digunakan oleh jutaan insinyur dan ilmuwan di seluruh dunia untuk melakukan analisa dan desain.
5. Output dari perhitungan dalam program kalkulator adalah akar-akar kompleks polinomial ሺݔଵǡ ݔଶ,ݔଷǡ ǥ ǡ ݔሻ, masing-masing galat yang dihasilkan
ሺ݃ଵǡ ݃ଶ,ݔଷǡ ǥ ǡ ݃ሻ, serta jumlah iterasi yang dilakukan untuk penyelesaian polinomial menggunakan algoritma Bairstow, revisi algoritma Bairstow, dan Muller ሺ݅ଵǡ ݅ଶ,ݔଷǡ ǥ ǡ ݅ሻǤ
commit to user 95 Mulai Polinomial derajat 2 Polinomial derajat 3 tidak Polinomial derajat 4 tidak Polinomial derajat n tidak Rumus Kuadrat ya
Revisi Rumus Kuadrat
tidak Cardano ya Viete’s tidak Bairstow tidak Revisi Bairstow tidak Bairstow ya Revisi Bairstow tidak Muller tidak R e v is i R u R m u s K u K a d ra t Revisi Rumus Kuadrat x1, x2 g1, g2 Algoritma Cardano x1, x2, x 3 g1, g2, g 3 n, bilangan ganjil n, bilangan genap tidak Pilihan algoritma ya Algoritma 1 a, b, c Algoritma 2 Algoritma Algoritma Selesai a, b, c, koefisien a, b Perhitungan Matlab ya Perhitungan galat R e v is i R u R m u s K u KK a d ra t Revisi Rumus Kuadrat x1, x2 g1, g2 Perhitungan Matlab Perhitungan galat ya a, b, c Perhitungan Matlab ya Perhitungan galat Algoritma Viete’s x1, x2, x 3 g1, g2, g 3 Perhitungan Matlab Perhitungan galat ya Algoritma Bairstow x1, x2, x 3 g1, g2, g 3 i1, i2, i3 Perhitungan Matlab Perhitungan galat ya Revisi Algoritma Bairstow x1, x2, x3 g1, g2, g3 i1, i2, i3 Perhitungan Matlab Perhitungan galat ya a, b, c, d Algoritma Bairstow x1, x2, x 3, x4 g1, g2, g 3, g4 i1, i2, i3, i4 Perhitungan Matlab Perhitungan galat ya Revisi Algoritma Bairstow
x1, x2, x3, x4 g1, g2, g3, g4 i1, i2, i3, i4
Perhitungan Matlab Perhitungan galat ya Muller
x1, x2, x3, x4 g1, g2, g3, g4 i1, i2, i3, i4
Perhitungan Matlab Perhitungan galat ya derajat ya Pilihan algoritma koefisien ya Perhitungan Matlab Perhitungan Matlab Perhitungan galat Perhitungan galat x 1 , x 2 , x 3 , x 4 , .. ., x n g 1 , g 2 , g 3 , g 4 , .. ., g n i1 , i2 , i3 , i4 , .. ., i n
x1, x2, x3, x4, ..., xn g1, g2, g3, g4, ..., gn i1, i2, i3, i4, ..., in
x 1 , x 2 , x 3 , x 4 , .. ., x n g 1 , g 2 , g 3 , g 4 , .. ., g n i 1 , i 2 , i 3 , i 4 , .. ., i n
x1, x2, x3, x4, ..., xn g1, g2, g3, g4, ..., gn i1, i2, i3, i4, ..., in
Keterangan : a, b, c, d = koefisien polinomial r = akar kompleks g = galat i = iterasi Ga mbar 4.7 Di ag ra m Alu r K alkulator Polinomial