perpustakaan.uns.ac.id
digilib.uns.ac.id
BAB III METODE PENELITIAN
Tahapan yang dilakukan dalam penelitian dapat dilihat pada Gambar 3.1 berikut ini : Pemilihan Sampel Polinomial Penerapan Rumus Kuadrat, algoritma Cardano, Viete’s, Bairstow, Revisi Bairstow, dan Muller Secara Manual Pembangunan Program Kalkulator Pengujian Program Kalkulator Penyelesaian Sampel Polinomial Menggunakan Kalkulator
Perbandingan Galat Gambar 3.1 Alur Metodologi
3.1 Pemilihan Sampel Polinomial Sampel persamaan polinomial yang digunakan dalam penelitian didapat dari berbagai sumber literatur. Sampel yang digunakan berupa contoh persamaan polinomial berderajat dua, tiga, empat, dan n.
3.2 Penerapan Algoritma Secara Manual Penerapan masing-masing algoritma secara manual dilakukan sebelum program kalkulator pencarian akar kompleks polinomial derajat n dibangun. Hasil penerapan algoritma digunakan sebagai dasar untuk penerapan algoritma dalam program. Algoritma-algoritma yang digunakan dalam perhitungan manual adalah sebagai berikut:
commit to user
47
48 digilib.uns.ac.id
perpustakaan.uns.ac.id
x
Rumus kuadrat (Alg 2.1) untuk pencarian akar kompleks polinomial derajat dua.
x
Algoritma Cardano (Alg 2.2), Viete’s (Alg 2.3), Bairstow (Alg 2.4), dan Revisi Bairstow (Alg 2.5) untuk pencarian akar kompleks polinomial derajat tiga.
x
Algoritma Muller (Alg 2.6), Bairstow (Alg 2.4), dan Revisi Bairstow (Alg 2.5) untuk pencarian akar kompleks polinomial derajat empat.
3.3 Pembangunan Program Kalkulator Pembangunan program kalkulator pencarian akar kompleks polinomial derajat n dilakukan melalui tiga tahap yaitu tahap analisis, perancangan, dan implementasi. 3.3.1 Analisis Sebelum dilakukan pembangunan program kalkulator, dilakukan analisis kebutuhan yang harus dipenuhi dalam program kalkulator. Analisa kebutuhan fungsional maupun kebutuhan non fungsional dilakukan dengan tujuan agar program kalkulator yang dibuat sesuai dengan yang dibutuhkan oleh pengguna. 3.3.2 Perancangan Setelah dilakukan analisa kebutuhan program kalkulator, langkah selanjutnya adalah melakukan perancangan program kalkulator. Perancangan program kalkulator dilakukan dengan tujuan agar program kalkulator yang dibuat sesuai dengan kebutuhan. Analisis dan perancangan program kalkulator dilakukan dengan menggunakan UML. Use case diagram, activity diagram, robustness diagram, sequence diagram, dan class diagram dibuat berdasarkan user requirement. 3.3.3 Implementasi Hasil analisa dan perancangan program kalkulator diimplemenasikan dengan menggunakan bahasa pemrograman Java dengan tampilan Java Swing GUI. Algoritma-algoritma perhitungan akar kompleks yang diimplementasikan dalam kalkulator pencarian akar kompleks polinomial dikelompokkan berdasarkan derajat polinomial. Berikut ini merupakan pilihan algoritma untuk masing-masing derajat polinomial: x
Pencarian akar kompleks polinomial berderajat dua menggunakan rumus kuadrat (Alg 2.1).
commit to user
49 digilib.uns.ac.id
perpustakaan.uns.ac.id
x
Pencarian akar kompleks polinomial berderajat tiga menggunakan algoritma Cardano (Alg 2.2), Viete’s (Alg 2.3), Bairstow (Alg 2.4), dan Revisi Bairstow (Alg 2.5).
x
Pencarian akar kompleks polinomial berderajat empat adalah algoritma Muller (Alg 2.6), Bairstow (Alg 2.4), dan Revisi Bairstow (Alg 2.5).
x
Pencarian akar kompleks polinomial derajat n tidak sama seperti pencarian akar kompleks lainnya. Polinomial derajat n dapat diselesaikan dengan kombinasi algoritma. Kombinasi algoritma dilakukan karena pencarian akar kompleks menggunakan algoritma Bairstow, Revisi Bairstow, dan Muller dilakukan secara bertahap. Pada tahap pertama pencarian akar kompleks menggunakan algortima Bairstow dan Revisi Bairstow menghasilkan persamaan kuadrat dan polinomial tereduksi, sedangkan pada algoritma Muller menghasilkan satu akar polinomial dan polinomial tereduksi. Proses selanjutnya adalah mencari akar polinomial berikutnya menggunakan persamaan tereduksi. Hal ini dilakukan secara berulang hingga menghasilkan polinomial tereduksi berupa polinomial derajat tiga atau empat. Polinomial tereduksi tersebut selanjutnya dapat diselesaikan dengan algoritma sebelumnya atau algoritma lain yang tersedia. Pilihan kombinasi algoritma yang dapat digunakan untuk menyelesaikan persamaan polinomial derajat n ditampilkan dalam Tabel 3.1 berikut ini. Tabel 3.1 Algoritma Pencarian Akar Kompleks Polinomial Derajat n Polinomial derajat n,
Polinomial derajat n,
dengan n bilangan ganjil
dengan n bilangan genap
Muller (Alg 2.6)
Muller (Alg 2.6)
Muller – Cardano (Alg 2.6 + Alg 2.2)
Muller – Bairstow (Alg 2.6 + Alg 2.4)
Muller – Bairstow (Alg 2.6 + Alg 2.4)
Muller – Revisi Bairstow (Alg 2.6 + Alg 2.5)
Muller – Revisi Bairstow
Bairstow (Alg 2.4)
(Alg 2.6 + Alg 2.5) Bairstow (Alg 2.4)
Bairstow – Revisi Bairstow (Alg 2.4 + Alg 2.5) commit to user
50 digilib.uns.ac.id
perpustakaan.uns.ac.id
Tabel 3.2 Lanjutan Algoritma Pencarian Akar Kompleks Polinomial Derajat n Polinomial derajat n,
Polinomial derajat n,
dengan n bilangan ganjil
dengan n bilangan genap
Bairstow – Revisi Bairstow
Bairstow – Muller
(Alg 2.4 + Alg 2.5)
(Alg 2.4 + Alg 2.6)
Bairstow – Cardano (Alg 2.4 + Alg
Revisi Bairstow (Alg 2.5)
2.2) Bairstow – Muller (Alg 2.4 + Alg 2.6)
Revisi Bairstow – Bairstow (Alg 2.5 + Alg 2.4) Revisi Bairstow – Muller
Revisi Bairstow (Alg 2.5)
(Alg 2.5 + Alg 2.6) Revisi Bairstow – Bairstow (Alg 2.5 + Alg 2.4) Revisi Bairstow – Cardano (Alg 2.5 + Alg 2.2) Revisi Bairstow – Muller (Alg 2.5 + Alg 2.6)
3.4 Pengujian Program Kalkulator Pengujian program kalkulator dilakukan setelah program selesai dibangun. Pengujian program dilakukan dengan tujuan untuk mengetahui kualitas dan kinerja program yang dibangun. Pada penelitian ini, pengujian program dilakukan dengan menggunakan metode black box dimana pengujian dilakukan pada setiap fungsional yang terdepat pada program. Tujuan pengujian black box adalah untuk mengetahui kinerja fungsional-fungsional program kalkulator. Pengujian black box dilakukan dengan menguji satu per satu fungsional dengan berbagai inputan yang mungkin diinputkan oleh pengguna.
3.5 Penyelesaian Sampel Polinomial Menggunakan Kalkulator Penyelesaian sampel-sampel polinomial yang telah ditentukan menggunakan program kalkulator dilakukan setelah program kalkulator pencarian akar kompleks polinomial selesai dibangun.
commit to user
51 digilib.uns.ac.id
perpustakaan.uns.ac.id
3.6 Perbandingan Galat Galat yang dihasilkan dari pencarian akar kompleks polinomial menggunakan berbagai algoritma kemudian dibandingkan satu sama lain. Dengan demikian, maka akan terlihat algoritma yang menghasilkan galat terendah. Algoritma dengan galat rendah dapat dikategorikan sebagai algoritma yang baik. Berbeda dari beberapa algoritma lainnya, perbandingan algoritma Bairstow, Revisi Bairstow, dan Muller tidak hanya berdasarkan galat yang dihasilkan, tetapi juga banyaknya iterasi yang dilakukan oleh masing-masing algoritma. Ketiga algoritma tersebut dikenakan delta toleransi sebesar 1E-8 yang berarti iterasi akan dihentikan apabila telah mencapai error sebesar 1E-8. Dengan demikian, maka akan diketahui algoritma yang tercepat dengan galat terendah.
commit to user