1 BAB IV MENGHITUNG AKAR-AKAR PERSAMAAN Dalam banyak usaha pemecahan permasalahan, seringkali harus diselesaikan dengan menggunakan persamaan-persamaan matematis, baik persamaan linier, persamaan kuadrat, ataupun persamaan suku banyak. Oleh karena itu pengetahuan dan pemahaman tentang langkah-langkah penyelesaian suatu persamaan akan sangat bermanfaat. Pembahasan pada bagian ini akan membantu memahami teknik penyelesaian persamaan kuadrat dan persamaan suku banyak. Dalam pembahasan penyelesaian persamaan suku banyak akan ditinjau tentang empat metoda yang dapat diterapkan, yaitu metoda Fixed Point Iteration, metoda Succesice Bisection, metoda Secant, metoda Newton. 4.1. Menghitung Akar-akar Persamaan Kuadrat Bentuk umum persamaan kuadrat adalah dinotasikan sebagai berikut ini : AX2 + BX + C = 0 Perlu diperhatikan, bahwa dalam bentuk umum persamaan kuadrat tersebut harga koefisien A tidak boleh sama dengan 0 (nol). Hal ini dapat dipahami, karena jika A bernilai 0 (nol), maka persamaan tersebut bukan lagi disebut persamaan kuadrat tetapi merupakan persamaan linier. Sedangkan harga koefisien B dan konstanta C dimungkinkan mempunyai harga negatif, positif, atau 0 (nol). Ada tiga kemungkinan yang dapat terjadi pada hasil penyelesaian pada suatu persamaan kuadrat. Kemungkinan pertama, persamaan kuadrat mempunyai dua harga akar-akar persamaan real dan berbeda. Kemungkinan kedua, persamaan kuadrat mempunyai dua akar persamaan real dimana keduanya mempunyai nilai yang sama / kembar. Kemungkinan ketiga, persamaan kuadrat tersebut 2 mempunyai akar-akar imajiner (akar bilangan negatif). Ketiga kondisi tersebut ditentukan oleh nilai disikriminan pada persamaan kuadrat yang akan dihitung akar-akar persamaannya. Nilai disikriminan pada suatu persamaan kuadrat adalah dihitung dengan formula sebagai beriku ini : DISKRIMINAN = B2 – 4AC Dalam kemungkinan kondisi yang pertama, apabila disikriminan persamaan kuadrat berharga positif, maka akan diperoleh akar-akar persamaan kuadrat yang real dan nilainya berbeda. Masing-masing akar persamaan adalah dihitung dengan formula sebagai berikut : X1 = − B + DISKRIMINAN 2A X2 = − B − DISKRIMINAN 2A Berikut diberikan contoh persamaan dimana diskriminannya bernilai positif, sehingga mempunyai dua harga akar-akar persamaan real dan berbeda. Contoh : 2X2 + 5X + 2 = 0 Dari persamaan tersebut, diketahui harga koefisien A = 2, koefisien B = 5, dan konstanta C = 2. Harga diskriminan pada persamaan tersebut dapat dihitung sebagai berikut : DISKRIMINAN = B2 -4AC = 52 - 4 x 2 x 2 = 25 – 16 =9 Karena diskriminan persamaan berharga positif, maka harga akar-akar persamaannya adalah dua bilangan real yang berbeda yaitu sebagai berikut : X1 = − B + DISKRIMINAN 2A 3 −5+ 9 22 = −0.5 = X2 = − B − DISKRIMINAN 2A −5− 9 22 = −2 = Dari hasil perhitungan di atas, maka harga akar-akar persamaan kuadrat yang diperoleh adalah X1 = -0.5 dan X2= -2 Dalam kemungkinan kondisi yang kedua, apabila diskriminan persamaan kuadrat berharga 0 (nol), maka akar-akar persamaan kuadratnya adalah dua bilangan real dengan harga yang sama / kembar. Dengan kalimat lain berarti persamaan tersebut hanya mempunyai satu harga saja yaitu X1 = X2 = X12. Dalam kasus ini harga akar-akar persamaan kuadratnya adalah dihitung dengan formula sebagai berikut ini : X 12 = −B 2A Berikut diberikan contoh sebuah persamaan kuadrat dimana diskriminannya bernilai nol, sehingga mempunyai akar-akar persamaan real dan harganya sama / kembar. Contoh : X2 + 6X + 9 = 0 Dari persamaan tersebut, diketahui harga koefisien A = 1, koefisien B = 6, dan konstanta C = 9. Harga diskriminan pada persamaan tersebut adalah sebagai berikut : DISKRIMINAN = B2 -4AC 4 = 62 - 4 x 1 x 9 = 36 – 36 =0 Karena diskriminan persamaan kuadrat berharga nol, maka harga akar-akar persamaannya adalah dua bilangan real yang sama yaitu sebagai berikut : X 12 = −B 2A −6 2 x1 = −3 = Jadi harga akar-akar persamaan kuadrat tersebut adalah X12 = -3 Dalam kemungkinan ketiga, apabila harga diskriminan persamaan kuadrat bernilai negatif, maka maka akar- akar persamaan kuadrat bersifat imaginer. Berikut diberikan contoh sebuah persamaan kuadrat dimana diskriminannya bernilai negatif, sehingga mempunyai akar-akar persamaan yang bersifat imaginer. Contoh : 2X2 + X + 2 = 0 Dari persamaan tersebut, diketahui harga koefisien A = 1, koefisien B = 1, dan konstanta C = 2. Harga diskriminan pada persamaan tersebut adalah sebagai berikut : DISKRIMINAN = B2 -4AC = 12 - 1 x 1 x 2 =1–8 =-8 Karena diskriminan persamaan berharga negatif, maka harga akar-akar persmaannya adalah imaginer. Hal ini dapat dipahami karena untuk menghitung 5 akar-akar persamaan kuadrat selalu melibatkan hasil perhitungan yang diperoleh dari harga akar kuadrat dari diskriminan pada persamaan kuadratnya. Sedangkan nilai dari akar suatu bilangan negatif adalah bilangan imaginer, sehingga akar-akar pada persamaan kuadrat yang mempunyai diskriminan negatif akan menghasilkan suatu bilangan imaginer. Secara logika, penyelesaian permasalahan untuk menghitung akar-akar persamaan kuadrat adalah dimulai dengan membaca data-data masukan untuk koefisien-koefisien pada A dan B dan konstanta persamaan pada C. Jika harga koefisien A bernilai nol, maka pembacaan data-data masukan harus diulangi karena jika A bernilai nol, maka bukan merupakan persamaan kuadrat. Langkah selanjutnya adalah menghitung harga diskriminan persamaan. Harga diskriminan yang diperoleh akan menentukan harga pada akar-akar persamaannya. Jika diskriminan bernilai positif, maka proses dilanjutkan untuk menghitung akarakar persamaan kuadrat yang berupa dua bilangan real yang berbeda. Jika diskriminan bernilai nol, maka proses dilanjutkan untuk menghitung akar-akar persamaan kuadrat yang berupa dua bilangan real yang sama / kembar. Namun jika diskriminan bernilai negatif, maka proses dilanjutkan untuk memberikan pesan bahwa harga akar-akar persamaan kuadrat adalah bilangan imaginer. Harga-harga akar persamaannya adalah dihitung dengan menggunakan formulaformula sebagaimana telah dijelaskan pada uraian di atas. Proses selanjutnya adalah tinggal mencetak hasil-hasil perhitungan yang diperoleh tersebut. Proses logik seperti ini dapat digambarkan dalam flowchart prosedur sebagaimana ditunjukkan pada Gambar 4.1. Pada Gambar 4.1, A, B, dan C merupakan variabel-variabel untuk menyimpan data-data masukan untuk koefisien-koefisien dan konstanta pada persamaan kuadrat. DISK digunakan sebagai variabel untuk menyimpan harga diskriminan. Sedangkan X1, X2, dan X12 adalah variabel-variabel yang digunakan untuk menyimpan harga akar-akar persamaan kuadrat hasil perhitungan yang dilakukan. 6 MULAI Baca A,B,C DISK=B2 – 4xAxC TIDAK DISK = 0 TIDAK “Akar Imaginer” YA DISK > 0 YA X1 = ((-B) + SQRT(DISK)) /(2xA) X2 = ((-B) - SQRT(DISK)) /(2xA) X12 = (-B) / 2xA X12 X1, X2 Selesai Gambar 4.1 : Flowchart menghitung akar-akar persamaan kuadrat Solusi dalam bentuk algoritma untuk menyelesaikan permasalahan menghitung harga akar-akar persamaan kuadrat dapat dituliskan sebagai berikut ini : Masukkan koefisien-koefisien dan konstanta persamaan kuadrat A, B, dan C Harga A tidak sama dengan nol. 1. Mulai 2. Baca data A, B, C 3. Hitung diskriminan persamaan DISK = B^2 – 4 x A x C 4. Cek harga diskriminan 7 IF DISK > 0 Jika ya, hitung akar-akar persamaan X1 = ((-B) + SQRT(DISK)) / (2 x A) X1 = ((-B) - SQRT(DISK)) / (2 x A) Lanjutkan ke langkah-5 Cek harga diskriminan IF DISK = 0 Jika ya, hitung akar-akar persamaan X12 = ( -B ) / (2 x A) 5. Cetak hasil X1 dan X2 atau X12 atau pesan (“akar-akar imajiner”) 6. Selesai 4.2. Menghitung Akar-akar Persamaan Suku Banyak Persamaan suku banyak adalah suatu persamaan yang mempunyai pangkat lebih dari 2 pada salah satu variabelnya. Beberapa contoh persamaan suku banyak adalah sebagai berikut : X3 + 3X + 2 = 0 .................... (1) X7 - 0.2X3 + 3X2 + 6X - 22 = 0 .................... (2) 0.35X6 - 5X5 - 7X3 + 9.5 X2 - 11.5 = 0 ................... (3) Untuk menghitung akar-akar persamaan suku banyak seperti di atas dapat diselesaikan dengan beberapa cara, yaitu dengan menggunakan pendekatan metoda Newton, pendektakan metoda Secant, pendekatan metoda Succesive Bisecton, atau pendekatan metoda Fixed Point Iteration. Penyelesaian dengan pendekatan metoda-metoda tersebut akan memberikan hasil yang cukup baik / akurat. Sekalipun demikian, secara relatif kita dapat membandingkan tingkat akurasi pada hasil perhitungannya. Selain itu, kita juga dapat membandingkan efisiensi proses yang diperlukan utuk menemukan hasi penyelesaian akhirnya. 8 Dalam kasus tertentu mungkin pendekatan pada salah satu metoda akan relatif lebih baik untuk dterapkan, namun bisa jadi akan relatif kurang baik jika terapkan dalam kasus yang lainnya. Oleh karena itu, dalam penerapannya kita dapat memilih dan menentukan salah satu pendekatan metoda yang paling tepat sesuai dengan permasalahannya. Persamaan yang dimiliki pada keempat pendekatan tersebut adalah dalam mencari akar-akar persamaan akan memerlukan harga pendekatan awal sebagai dasar bagi pencarian harga akar-akar persamaan yang sesungguhnya. Dari harga awal tersebut kemudian dapat dihitung harga-harga pendekatan baru dengan cara menggeser / menambah sedikit demi sedikit hingga pada akhirnya akan ditemukan harga yang dicari. Harga akar-akar persamaan yang dicari adalah harga-harga yang memenuhi bagi persamaan tersebut, yaitu harga-harga yang membuat persamaan menjadi benar. Suatu permasalahan yang perlu dipikirkan dalam menyelesaikan persamaan suku banyak dengan menggunakan pendekatan pada metoda-metoda tersebut adalah bagaimana menetapkan harga pendekatan awal yang tepat. Harga pendektan awal mestinya suatu harga yang telah mendekati harga penyelesaian sesungguhnya yang akan dicari. Untuk keperluan tersebut, kecakapan pengetahuan tentang sifat-sifat fungsi akan membantu. Dalam proses mencari penyelesaian suatu persamaan suku banyak juga sering terjadi bahwa hasil akhir penghitungan akar-akar persamaan yang diperoleh tidak tepat sekali jika disubstitusikan dalam persamaannya. Oleh karena itu, harga yang dicari biasanya adalah suatu nilai yang mendekati sesuai dengan nilai sesungguhnya yang membuat persamaan menjadi bernilai benar. Cara yang dapat digunakan untuk menentukan harga pendekatan yang terbaik adalah dengan memberikan suatu kriteria berupa suatu batas ketelitian yang ditetapkan sehingga hasil perhitungan yang diperoleh dapat dianggap telah memenuhi sebagai penyelesaian. Kriteria tersebut biasanya dapat dicek menggunakan epsilon yang dilambangkan dengan simbol ε. Batas ketelitian yang digunakan adalah suatu nilai yang sangat kecil hampir mendekati 0 (nol). Harga 9 akar-akar persamaan yang dicari dianggap telah ditemukan jika telah memenuhi batas ketelitian yang dimaksud. Permasalahan lain yang dapat terjadi dalam menyelesaikan persamaan suku banyak adalah bahwa persamaan tersebut bisa jadi tidak mempunyai penyelesaian, sehingga perhitungan yang dilakukan tidak akan menemukan harga akar-akar persamaan yang sungguhnya. Dalam kasus-kasus penyelesaian persamaan yang sangat kompleks bisa saja hal ini terjadi. Untuk menyelesaikan persamaan suku banyak dengan pendekatan metodametoda di atas memerlukan pengetahuan dan kecakapan tertentu dalam menerapkan metoda yang digunakan. Sebagai contoh, jika kita akan menggunakan pendekatan metoda Newton, maka kita dituntut untuk memahami tentang fungsi derivatif dari persamaannya. Bagi seseorang mungkin hal ini akan menimbulkan permasalahan dan menjadi hambatan dalam menerapkan metoda tersebut. Permasalahan yang lain masih mungkin terjadi dalam menyelesaikan suatu persamaan suku banyak. Suatu ketika kita mungkin akan menerapkan pendekatan metoda Fixed point Iteration, tetapi ternyata kita kesulitan mengubah bentuk persamaannya. Contoh : 3.5X4 – 3.1X3 - 0.5X2 + 0.25X =0.33 7 X ........... (4) Persamaan (4) di atas akan menjadi sangat sulit kita ubah bentuknya menjadi sebagai persamaan (1), (2), dan (3), yaitu suku sebelah kanan tanda sama dengan bernilai nol (0). Penyelesaian persamaan suku banyak dengan pendekatan keempat metoda tersebut di atas sebenarnya dikembangkan berdasarkan suatu konsep model matematis pengolahan data. Dalam konsep model matematis pengolahan data, nilai pendekatan pada suatu tahap tertentu akan menjadi acuan bagi nilai pendekatan pada tahapan selanjutnya. Konsep tersebut merupakan model 10 umum yang digunakan dalam pengolahan data. Gambar 4.2 menunjukkan konsep model matematis pengolahan data tersebut. F(Xn) Xn Xn+1 Gambar 4.2 : Konsep model matematis pengolahan data Berdasarkan konsep model matematis pengoalahan data tersebut, maka proses perhitungan yang terjadi di dalamnya merupakan suatu proses berulang yang dapat dijabarkan menjadi rincian proses yang sama, yaitu seperti berikut ini : X1 X2 X3 Proses Proses Proses . . . Xn + 1 X2 X3 X4 . . . = F(Xn) Dalam model umum tersebut, X1 menyatakan harga pendekatan awal penyelesaian yang kita tetapkan. Selanjutnya X1 diolah untuk mencari harga pendekatan penyelesaian yang semakin baik, yaitu X2. Harga X2 kemudian diolah kembali dan akan mendapatkan harga pendekatan penyelesaian yang baru, yaitu X3. Demkian proses ini akan dilakukan terus -menerus hingga ditemukan harga akar-akar persamaan yang dicari, yaitu ketika hasilnya telah memenuhi kriteria batas ketelitian yang ditetapkan. Cacah iterasi perulangan yang harus dilakukan (=n) dalam model umum tersebut sebenarnya tidak pernah dibatasi. Namun demikian, untuk menghindari terjadinya proses perulangan yang tidak pernah berhenti, maka dapat ditetapkan batas tertentu misalnya sebanyak 20 kali. Alasannya adalah dengan cacah iterasi perulangan yang ditetapkan tersebut, jika harga pendekatan awal X1 cukup baik, maka harga akar-akar persamaan yang dicari akan dapat ditemukan. 11 4.2.1. Metoda Newton Proses perhitungan akar-akar persamaan dengan pendekatan metoda Newton dimulai dengan menetapkan harga pendekatan awal akar persamaan yang diinputkan sebagai X, dan Epsilon (= ε) yaitu suatu harga yang sangat kecil yang mendekati nol (0) yang ditetapkan sebagai batas ketelitian yang dikehendaki. Proses berikutnya adalah melakukan proses berulang untuk menghitung nilai penambahan untuk pendekatan penyelesaian baru yang lebih baik berdasarkan harga awal X, yaitu harga akar-akar persamaan yang dicari. Proses perulangan akan berhenti jika harga X telah konvergen, yaitu jika harga multak F(Xn) kurang dari harga batas ketelitian yang ditetapkan, artinya akar persamaan telah ditemukan atau jika cacah perulangannya telah mencapai 20 kali. Nilai-nilai pendekatan baru akar-akar persamaan pada metoda Newton merupakan titik potong kurva F(X) pada sumbu X yang didekati dengan kurva yang dibentuk berdasarkan pada pendekatan harga akar persamaan (=X) yang mendahuluinya. Harga pendekatan pada akar persamaan suku banyak dengan metoda Newton pada iterasi-iterasi berikutnya adalah dihitung dengan formula sebagai berikut : XR = X – F(X) / F’(X) Keterangan: XR : harga pendekatan akar persamaan untu iterasi berikutnya X : harga estimasi akar persamaan estimasi sebelumnya F(X) : fungsi X yang dicari akar-akar persamaannya F’(X) : fungsi derivatif dari F(X) 12 Y F(X) X2 X3 X1 X Gambar 4.3 : Mencari akar-akar persamaan suku banyak dengan pendekatan metoda Newton Proses penentuan harga pendekatan akar-akar persamaan dengan meotda Newton adalah ditunjukkan pada Gambar 4.3, sedangkan flowchart prosedurnya ditunjukkan pada Gambar 4.4. Solusi dalam bentuk algoritma untuk menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Newton dapat dituliskan sebagai berikut ini : Masukan X sebagai harga awal akar-akar persamaan dan ε sebagai batas ketelitian. 1. Mulai 2. Proses berulang langkah-2 sampai dengan langkah-4 FOR I = 1 TO 20 3. Hitung harga pendekatan baru. XR = X – FX / F(X) 4. Cek konvergensi dengan membandingkan harga mutlak F(XR) dengan ε IF | F(XR) | < ε Jika Ya, cetak hasil (XR, F(XR)) 5. Simpan nilai pendekatan baru X = XR 6. Cetak pesan 13 (“Akar-akar persamaan tidak ditemukan dalam 20 iterasi”) 7. Selesai Mulai Baca X, ε FOR I = 1 TO 20 XR = X – F(X) / F’(X) TIDAK |F(XR)| < ε X = XR YA Cetak XR, F(XR) NEXT I CETAK “Akar-akar persamaan tidak ditemukan dalam 20 iterasi Selesai Gambar 4.4 : Flowchart menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Newton Untuk memperjelas proses perhitungan yang terjadi dalam pencarian harga akarakar persamaan suku banyak dengan pendekatan metoda Newton, berikut ini akan diberikan sebuah contoh untuk menyelesaikan sebuah persamaan. Misal, akan dicari harga akar-akar persamaan suku banyak yang mempunyai orde tiga dengan pendekatan metoda Newton yaitu sebagai berikut : 14 FX = X3 –X2 – 2X + 1 Dari persamaan tersebut maka fungsi derivatifnya adalah : F’X =3X2 –2X – 2 Untuk menyelesaikan persamaan tersebut, mula-mula ditetapkan harga awal untuk akar-akar persamaannya, yaitu sebesar 0.5. Batas ketelitian yang digunakan adalah 0.00001. Berdasarkan harga awal tersebut, selanjutnya hasil perhitungan akar-akar persamaan pada setiap langkah proses perulangan adalah ditunjukkan pada Tabel 4.1. Dari data-data pada tabel tersebut, terlihat bahwa dengan menerapkan pendekatan metoda Newton, akar-akar persamaan dapat ditemukan setelah tiga kali iterasi. Harga akar-akar yang diperoleh adalah sebesar 0.445 042. Tabel 4.1 : Contoh menghitung akar-akar persamaan suku banyak dengan pendekatan Metoda Newton Iterasi (N) XN F(XN) F’(XN) F(XN) / F’(XN) 1 0.5 - 0.125 - 2.25 0.055 556 2 0.444 444 0.001373 - 2.296 297 - 0.000 598 3 0.445 042 - 0.000 000 3 - 2.295 897 0.000 000 1 Sebagai catatan tambahan, penggunaan pendekatan metoda Newton untuk menghitung akar-akar persamaan suku banyak umumnya mempunyai efisiensi yang sangat baik dalam proses perhitungannya. Prosedur perhitungannya relatif sederhana dan mudah dipahami. Pendektan metoda Newton sangat baik digunakan jika kita merasa kurang yakin tentang fungsi derivatif dan tidak dapat menetapkan harga awal (=X) yang baik, yaitu harga awal yang mendekati harga akar-akar persamaan yang sebenarnya. Terlepas dari semua keunggulan tersebut, penggunaan metoda ini akan relatif mudah terjadi error pada hasil perhitungannya. Selain itu, kecapakan dalam membuat fungsi derivatif bisa jadi akan menjadi hambatan lain yang dihadapi untuk menerapkannya. 15 4.2.2. Metoda Secant Penyelesaian persamaan suku banyak dengan pendekatan metoda Secant kadang-kadang disebut pula sebagai computed line approach. Pendekatan dengan metoda ini akan memerlukan dua harga awal, yaitu X1 dan X2. Harga awal tersebut berfungsi untuk menentukan harga-harga pendekatan baru untuk akar-akar persamaan sebenarnya yang akan dicari. Akar-akar persamaan sebenarnya, semestinya berada di antara dua titik tersebut dengan demikian kemudian dapat didekati dengan suatu garis lurus (garis Secant) yang memotong sumbu X, dan selanjutnya diinterpolasikan atau diekstrapolasikan (tergantung pada apakah sama atau tidaknya tanda harga-harga fungsi pada dua titik yang ditetapkan) ke suatu titik ketiga, yaitu XR. Proses tersebut akan berlangsung secara terus-menerus sampai ditemukan harga akar persamaan sebenarnya berdasarkan hasil pendekatan baru pada dua titik terakhir. Akar persamaan akan ditemukan jika harga mutlak F(XR) kurang dari batas ketelitian yang telah ditetapkan. Pendekatan harga akar-akar persamaan dalam metoda Secant dapat dihitung dengan suatu formula berikut : XR = XBARU - ((XBARU - XLAMA) / (F(XBARU) - F(XLAMA))) x F(XBARU) Keterangan: XR : harga pendekatan baru pada akar-akar persamaan XLAMA : harga X1 XBARU : harga X2 Pada setiap selesai satu kali iterasi perulangan, maka harga-harga variabel tersebut akan disubstitusikan menjadi sebagai berikut ini : XLAMA : disubstitusikan dengan XBARU XBARU : disubstitusikan dengan XR Proses penentuan harga pendekatan baru pada akar-akar persamaan dengan metoda Secant dapat dilakukan dengan dua cara, yaitu pendekatan dari satu sisi dan dari dua sisi. Gambar 4.5 menunjukkan pendekatan metoda Secant untuk 16 mencari akar-akar persamaan suku banyak dengan pendekatan dari satu sisi. Sedangkan Gambar 4.6 menunjukkan penerapan metoda Secant dengan pendekatan dari dua sisi. Y F(X) X1 X2 X X3…..XN Gambar 4.5 : Mencari akar-akar persamaan suku banyak dengan metoda Secant dengan pendekatan dari satu sisi Y F(X) X2 X3……XN X1 X Gambar 4.6: Mencari akar-akar persamaan suku banyak dengan metoda Secant dengan pendekatan dari dua sisi 17 Mulai Baca X1,X2 XLAMA = X1 XBARU = X2 FOR I = 1 TO 20 XR = XBARU - ((XBARU - XLAMA) /(F(XBARU) - F(XLAMA))) x F(XBARU) TIDAK |F(XR)|< ε XLAMA = XBARU XBARU = XR YA Cetak XR, F(XR) NEXT I CETAK “Akar-akar persamaan tidak ditemukan dalam 20 iterasi” Selesai Gambar 4.7 : Flowchart prosedur menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Secant Flowchart prosedur untuk mencari akar-akar persamaan suku banyak dengan metoda Secant ditunjukkan pada Gambar 4.7. Sedangkan solusi dalam bentuk algoritmanya dapat dituliskan sebagai berikut ini : Masukkan X1 dan X2 sebagai harga pendekatan awal akar-akar persamaan Masukkan ε sebagai batas ketelitian 18 1. Mulai 2. Inisialisasikan XLAMA = X1 XBARU = X2 3. Proses berulang langkah-4 hingga langkah-6 FOR I = 1 TO 20 4. Hitung harga pendekatan baru XR = XBARU - ((XBARU - XLAMA) / (F(XBARU) - F(XLAMA))) x F(XBARU) 5. Cek konvergensi dengan membandingkan harga mutlak F((XR)) dengan ε IF ABS(F(XR)) < ε Jika ya, cetak hasil (XR, F(XR)) dan lanjutkan ke langkah-8 6. Tukarkan harga-harga variabel XLAMA = XBARU XBARU = XR 7. Cetak pesan (“Akar-akar persamaan tidak ditemukan dalam 20 iterasi”) 8. Selesai Sebagai contoh penerapannya, berikut ini akan dihitung akar-akar persamaan suku banyak yang fungsinya sama seperti contoh sebelumnya (pada metoda Newton). Harga untuk X1 dan X2 ditetapkan masing-masing 0 dan 1. Selanjutnya proses perhitungannya dapat ditelusuri sebagaimana ditunjukkan pada Tabel 4.2. Dalam tabel tersebut terlihat bahwa untuk menemukan harga akar-akar persamaan dengan pendekatan metoda Secant diperlukan lebih banyak iterasi perulangan yaitu sebanyak 6 kali iterasi. Tabel 4.2 : Contoh Menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Secant Iterasi ke : 1 2 3 4 5 6 XN 0 1.0 0.5 0.428 571 0.445 190 0.445 042 F(XN) 1 -1 - 0.125 0.037 902 - 0.000 340 - 0.000 000 3 (XN - XN-1 ) / F(XN) - F(XN-1) - 0.5 - 0.571 429 - 0.438 478 - 0.434 575 - 0.435 679 19 Dalam beberapa hal, pendekatan dengan metoda Secant mempunyai kelemahan-kelemahan yang dapat diidentifikasikan. Jika penetapan harga awal tidak baik, maka pendekatan dengan metoda Secant hanya akan memberikan sangat sedikit kemungkinan pendekatan harga akar-akar persamaan pada interval yang ditentukan. Kemungkinan lain dapat terjadi, yaitu pada saat-saat tertentu ekstrapolasi dari dua titik pendekatan awal untuk harga-harga akar persamaan yang sudah sangat dekat dengan harga sebenarnya yang dicari justru akan menghasilkan titik baru yang semakin menjauhi akar persamaan yang sebenarnya. Umumnya pendekatan metoda Secant dapat diterapkan dengan efisiensi yang cukup baik. Metoda ini juga baik digunakan apabila kita mempunyai pengetahuan dan kecapakan tentang fungsi, tetapi tidak begitu paham tentang fungsi derivatif. 4.2.3. Metoda Succesive Bisection Poses menghitung akar-akar persamaan dengan pendekatan metoda Succesive Bisection, dimulai dengan menetapkan dua titik sebagai harga awal untuk pendekatan, yaitu X1 dan X2. Harga X1 akan menjadi batas bawah interval untuk pendekatan akar-akar persamaan. Sedangkan harga X2 akan menjadi batas atas intervalnya. Penetapan harga X1 dan X2 adalah dipilih sedemikian rupa sehingga harga fungsinya mempunyai tanda yang berlainan. Jika salah satu dari F(X1) dan F(X2) bernilai positif maka yang lainnya harus bernilai negatif, sehingga nilai fungsi kedua titik tersebut jika dikalikan akan menghasilkan bilangan negatif, yaitu : F(X1) x F(X2) < 0 Jika diasumsikan bahwa F(X) adalah kontinyu pada (X1,X2) sehingga akar-akar persamaan adalah eksis dalam interval titik X1 dan X2, maka harga akar-akar persamaan dapat dicari dengan pendekatan metoda Succesive Besection. Namun sebaliknya metoda ini tidak akan dapat diterapkan apabila harga fungsi tidak pernah berubah tandanya. Hal ini berarti bahwa kurva fungsi persamaan 20 yang akan dicari harga akar-akar persamaannya tidak pernah memotong sumbu X, sehingga fungsi seperti ini tidak mempunyai akar real. Berdasarkan dua harga pendekatan awal yang ditetapkan tersebut kemudian dapat dihitung nilai tengah (=XR). Jika F(XR) = 0, maka akar persamaan telah ditemukan, atau jika harga mutlak X2 – X1 < artinya jarak antara X1 dan X2 sudah sangat rapat, dan akar persamaan dianggap telah diketemukan. Sebaliknya jika akar-akar persamaan belum ditemukan, maka perlu diperiksa kembali apakah perkalian kedua harga fungsi pada titik-titik tersebut mempunyai harga kurang dari 0 (nol). F(X1) x F(XR) < 0 Jika benar demikian, artinya akar-akar persamaannya terletak pada interval X1 dan XR sehingga batas interval atasnya dapat digeser menjadi XR. Namun sebaliknya, jika perkalian kedua harga fungsi pada titik-titik tersebut mempunyai harga lebih dari 0 (nol), maka akar-akar persamaan yang dicari adalah terletak dalam interval XR dan X2. F(X1) x F(XR) > 0 Jika benar demikian, maka batas interval bawah dapat dinaikkan menjadi XR. Setelah diperoleh harga batas atas dan batas bawah yang baru tersebut, selanjutnya dihitung kembali nilai tengah intervalnya. Periksa kembali lokasi akarakar persamaan yang dicari dengan cara seperti di atas. Demikian seterusnya proses ini akan berlangsung hingga ditemukan harga akar-akar persamaan sebenarnya. Proses untuk mencari akar-akar persamaan dengan metoda Succesive Bisection dapat ditunjukkan sebagaimana terlihat pada Gambar 4.8. Pencarian harga akar-akar persamaan dengan pendekatan metoda Succesive Bisection dalam Gambar 4.8 adalah dimulai dengan menetapkan titik awal X1 sebagai batas bawah interval dan X2 berfungsi sebagai batas atasnya. Dalam gambar terlihat bahwa harga F(X1) bernilai negatif, sedangkan harga F(X2) bernilai positif. Berdasarkan harga X1 dan X2 selanjutnya dihitung titik tengah 21 intervalnya, yaitu XR1. Harga F(X1) x F(XR1) bernilai negatif, maka terlihat bahwa lokasi akar persamaannya berada di antara titik X1 dan XR1, sehingga batas atas intervalnya dapat diganti dengan XR1. Dengan demikian, maka XR1 akan menjadi X2 yaitu sebagai batas atas interval yang baru. Y F(X) X1 XR2 XR1 X2 X Gambar 4.8: Mencari akar-akar persamaan suku banyak dengan pendekatan metoda Succesive Bisection Berdasarkan batas-batas interval yang baru tersebut, selanjutnya dihitung kembali titik tengah intervalnya, yaitu XR2. Harga F(X1) x F(XR2) adalah positif, maka terlihat bahwa lokasi akar fungsi persamaannya berada di antara titik XR2 dan XR1 (=X2 yang baru), sehingga batas bawah intervalnya dapat diganti dengan XR2. Dengan demikian, maka XR2 akan menjadi X1 sebagai batas bawah interval yang baru. Berdasarkan batas-batas interval yang baru tersebut, selanjutnya dihitung kembali titik tengah intervalnya, yaitu XR3. Pada titik XR3 harga fungsi persamaan bernilai nol (0). Pada titik XR3 tersebut terlihat bahwa kurva fungsi persamaan tepat memotong sumbu horisontal X, sehingga F(XR2) x F(XR3) = 0. Hal ini berarti akar-akar fungsi persamaan telah ditemukan, yaitu pada iterasi perulangan ketiga. Harga akar-akar persamaan yang dicari adalah XR3. Cacah iterasi perulangan yang harus dilakukan untuk menetapkan intervalinterval baru sebenarnya dapat kita tetapkan. Sebagai contoh, di ini ditetapkan 20 kali. Jika harga-harga awal batas interval untuk pendekatan akar-akar 22 persamaan tidak terlalu jauh, maka semestinya akar-akar persamaan sebenarnya yang dicari akan ditemukan dalam 20 iterasi perulangan tersebut. Tabel 4.3 : Pencarian pendekatan akar-akar persamaan suku banyak dengan pendekatan metoda Succesive Bisection Iterasi ke Batas Bawah Batas Atas X2 Titik Tengah (=Akar persaman) XR1 Harga F(X1) x F(X2) Negatif Batas Bawah Baru X1 = X1 Batas Atas Baru X2 = XR1 1 X1 2 X1 X2 XR2 Positif X1 = XR2 X2 = XR1 3 X1 X2 XR3 Nol X1 = XR2 X2 = XR1 Prose pencarian akar-akar persamaan dengan pendekatan metoda Succesive Bisection sebagaimana terlihat pada Gambar 4.8 dapat ditelusuri pada Tabel 4.3, dimana titik XR3 merupakan akar-akar persamaan yang dicari karena F(XR3) = 0. Gambar 4.9 adalah menunjukkan flowchart prosedur untuk menghitung akar-akar persamaan dengan pendekatan metoda Succesive Bisection. Berikut ini adalah algoritma untuk mencari akar-akar persamaan dengan pendekatan metoda Succesive Bisection sebagaimana telah dijelaskan di atas. Masukan X1, X2 sebagai batas-batas interval untuk pendekatan akar-akar persamaan. Masukan ε sebagai batas ketelitian. 1. Mulai 2. Proses berulang langkah-3 s/d langkah-5 FOR I = 1 TO 20 3. Hitung titik tengah intervalnya XR = (X1 + X2) / 2 4. Cek konvergensi IF F(XR) = 0 OR ABS(X2 - X1 < ε Jika ya, cetak (XR,F(XR)) Lanjutkan ke langkah-7 5. Tentukan interval yang baru 23 IF F(XR) x F(X1) < 0 Jika ya, tentukan X2=XR Jika tidak, tentukan X1=XR 6. Cetak Pesan (“Akar-akar persamaan tidak ditemukan dalam 20 iterasi”) 7. Selesai Mulai Baca X1,X2 FOR I = 1 TO 20 XR = (X1+X2) / 2 TIDAK TIDAK F(X1) x XR< 0 F(XR) = 0 Atau |F(XR)| < ε YA YA CETAK XR, F(XR) X1 = XR X2 = XR NEXT I CETAK “Akar-akar persamaan tidak ditemukan dalam 20 iterasi” Selesai Gambar 4.9 : Flowchart prosedur menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Succesive Bisection 24 Untuk memperjelas proses perhitungan untuk menyelesaian sebuah fungsi persamaan menggunakan pendekatan metoda Succesice Bisection, berikut ini akan diberikan contoh menyelesaikan fungsi persamaan yang sama pada dua metoda terdahulu, yaitu : FX = X3 - X2 - 2X + 1 Harga-harga awal yang ditetapkan untuk menyelesaikan persamaan tersebut masing-masing adalah X1 = 0 dan X2 = 1. Batas ketelitian yang digunakan dalam contoh ini adalah 0.0001. Hasil-hasil perhitungan akar-akar persamaan pada setiap iterasi perulangan adalah seperti tercantum dalam Tabel 4.4. Tabel 4.4 : Contoh menghitung akar-akar persamaan suku banyak menggunakan pendekatan metoda Succesive Bisection Iterasi Ke : Batas Bawah Batas Atas Titik Tengah (=X1) (=X2) (=XR) F(XR) 1 0.0 1.0 0.5 -0.125 2 0.0 0.5 0.25 0.453 125 3 0.25 0.5 0.375 0.162 109 4 0.375 0.5 0.437 5 0.017 334 5 0.437 5 0.5 0.468 75 -0.054 230 6 0.437 5 0.468 75 0.453 125 -0.018 536 7 0.437 5 0.453 125 0.445 313 -0.000 622 8 0.437 5 0.445 313 0.441 407 0.008 350 9 0.441 407 0.445 313 0.443 360 0.003 862 10 0.443 36 0.445 313 0.444 337 0.001 618 11 0.444 337 0.445 313 0.444 825 0.000 498 12 0.444 825 0.445 313 0.445 069 -0.000 062 13 0.444 825 0.445 069 0.444 947 0.000 218 14 0.444 947 0.445 069 0.445 008 0.000 078 15 0.445 008 0.445 069 0.445 039 0.000 007 Berdasarkan hasil perhitungan yang ditunjukkan pada Tabel 4.4, maka harga akar-akar fungsi persamaan adalah 0.445039. Harga penyelesaian tersebut ditemukan setelah 15 iterasi perulangan. Pendekatan metoda Succesive 25 Bisection umumnya lebih menjamin keberhasilan perhitungan akar-akar persamaan dari pada dua pendekatan sebelumnya, yaitu metoda Newton dan Secant, dengan catatan apabila persamaan fungsinya kontinyu pada semua tempat. Dalam contoh kasus menyelesaikan fungsi persamaan di atas, maka dapat dibandingkan efisiensi proses menemukan harga akar-akar persamaan dengan pendekatan metoda Newton, Secant, dan Succesive Bisection. Berdasarkan data-data dalam Tabel 4.1, Tabel 4.3 dan Tabel 4.4, ternyata penggunaan pendekatan metoda Succesive Bisection memerlukan paling banyak iterasi perulangan diikuti oleh metoda Secant, dan kemudian metoda Newton. 4.2.4. Metoda Fixed Point Iteration Proses pencarian akar-akar fungsi persamaan dengan pendekatan metoda Fixed Point Iteration dapat dijelaskan sebagai berikut. Jika diketahui sebuah fungsi persamaan F(X) = 0 yang merupakan persamaan suku banyak yang ingin dicari akar-akar persamaannya, maka fungsi persamaan tersebut harus diubah bentuknya menjadi sebagai berikut : X = G(X) Selanjutnya dengan menggunakan data masukan X1 sebagai harga pendekatan awal pada akar-akar persamaan dan menetapkan cacah iterasi perulangan yang wajar (misal 20 kali), maka harga akar-akar persamaan yang sebenarnya dapat dihitung dengan formula sebagai berikut : X[I + 1] = G(X[I]) Keterangan: I : cacah iterasi perulangan, yaitu 1, 2, 3, …, 20 X[1] : harga awal yang ditetapkan Proses mencari akar-akar persamaan suku banyak dengan pendekatan metoda Fixed Point Iteration adalah ditunjukkan pada Gambar 4.10. 26 Y Y=X Y=G(X) XR….. X3 X2 X1 X Gambar 4.10: Mencari akar-akar persamaan suku banyak dengan pendekatan metoda Fixed Point Iteration Untuk menentukan apakah harga akar-akar persamaan telah ditemukan atau belum, maka dipergunakan suatu kriteria untuk mengeceknya. Akar-akar persamaan telah ditemukan atau konvergensi telah tercapai jika memenuhi kriteria sebagai berikut : X [ I + 1] − X [ I ] <ε X [ I + 1] prasyaratan konvergensi adalah jika : | G’(X) | < 1 Pada beberapa fungsi persamaan bisa terjadi kemungkinan bahwa harga pendekatan akar-akar persamaan hasil perhitungan pada itearsi-iterasi selanjutnya justru semakin menjauh dari harga penyelesaian yang dicari, dan pendekatan dengan metoda Fixed Point Iteration tidak dapat diterapkan untuk menyelesaikan fungsi seperti ini. Hal ini berarti bahwa pendekatan metoda Fixed Point Iteration tidak dapat diterapkan untuk semua fungsi persamaan. Ciri khas fungsi persamaan yang akan mengalami kegagalan konvergensi dan tidak akan ditemukan penyelesaian apabila menggunakan pendekatan metoda Fixed Point Iteration adalah jika : | G’(X) | >= 1 27 Fungsi persamaan tersebut, jika digambarkan dalam diagram adalah seperti ditunjukkan pada Gambar 4.11. Dalam gambar tersebut, X1 berfungsi sebagai harga awal pendekatan yang ditetapkan. Harga-harga pendekatan pada iterasi perulangan berikutnya adalah X2, X3, dan X4. Dalam gambar tersebut terlihat dengan jelas bahwa harga X2, X3, dan X4 justru semakin menjauh dari harga penyelesaian yang dicari yaitu XR. Sampai berapapun akan dilakukan proses iterasi perulangan, harga akar-akar fungsi persamaannya tidak akan ditemukan, bahkan akan semakin menjauh. Y=G(X) Y Y=X XR X1 X2 X3 X4 X Gambar 4.11: Kegagalan konvergensi pada metoda Fixed Point Iteration Dengan asumsi bahwa bentuk persamaan fungsi suku banyak telah dirubah bentuknya menjadi X=G(X), maka Gambar 4.12 adalah menunjukkan flowchart prosedur penyelesaiannya. Sedangkan solusi dalam bentuk algorima untuk mencari akar-akar fungsi persamaan dengan pendekatan metoda Fixed Point Iteration sebagaimana dijelaskan di atas, dapat dituliskan sebagai berikut ini : Masukkan X[1] sebagai harga awal pendekatan Masukkan ε sebagai batas ketelitian 1. Mulai 2. Proses berulang langkah-3 s/d langkah-4 FOR I = 1 TO 20 3. Hitung harga pendekatan baru 28 X[I+1] = G(X[I]) 4. Cek konvergensi IF ABS(((X[I+1] - X[I]) / x[I+1]) < ε Jika y, akar ketemu dan cetak hasil, (X[I+1]) Lanjutkan ke langkah-6 5. Cetak pesan (“Akar-akar persamaan tidak ditemukan dalam 20 iterasi”) 6. Selesai Mulai Baca X1,G(X[I]) FOR I = 1 TO 20 X[I+1] = G(X[I]) TIDAK |((X[I+1] – X[I]) / x[I+1]| < NEXT I ε YA X[I+1] = G(X[I]) CETAK “Akar-akar persamaan tidak ditemukan dalam 20 iterasi” Selesai Gambar 4.12 : Flowchart menghitung akar-akar persamaan suku banyak dengan pendekatan metoda Fixed Point Iteration 29 4.3. Perbandingan Antar Metoda Seperti telah disebutkan di atas, bahwa secara relaif masing-masing metoda untuk mencari akar-akar persamaan suku banyak dapat saling dibandingkan. Tentu saja, masing-masing mempunyai keunggulan dan kelemahan yang perlu dipertimbangkan untuk menerapkannya. Secara ringkas, Tabel 4.5 adalah menampilkan keunggulan dan kelemahan secara relatif dan karakteristik setiap metoda ditinjau dalam penggunaannya secara umum. Ringkasan informasi dalam tabel tersebut diharapkan dapat membantu dalam menentukan metoda yang paling tepat untuk diterapkan dalam aplikasi yang akan dikembangkan. Namun demikian, terlepas dari informasi dalam tabel tersebut, faktor-faktor lain yang dapat mempengaruhi dan menentukan dalam pemilihan sebuah metoda adalah faktor subyektif seorang pemrogram. Tingkat kemampuan, pengetahuan, kebiasaan penggunaan, kecakapan tentang fungsi, atau bahkan fanatisme terhadap metoda tertentu mungkin justru akan mampu mengungguli faktor obyektif lain, sehingga enggan menggunakan metoda yang lebih baik. Sebagai pemrogram yang baik, kita tentu saja dituntut untuk berbuat paling baik, bukan sekedar mengembangkan program tanpa mempertimbangkan kelebihan dan kelemahannya. 30 Tabel 4.5 : Perbandingan antar metoda untuk perhitungan akar-akar persamaan suku banyak Karakteristik Masukan awal Fungsi derivatif Keamaan dalam perhitungan Efisiensi proses Konvergensi Kemudahan penggunaan Penggunaan dalam aplikasi Newton X[1] dan ε Secant Succesive Bisection X[1], X[2], dan ε Tidak perlu Fixed Point Iteration X[1] dan ε Tidak perlu Perlu X[1], X[2], dan ε Tidak perlu Mudah terjadi error Mudah terjadi error Paling aman Cukup aman Paling efisiens Paling cepat Lebih mudah Lebih efisien Cukup efisien Cukup efisien Cepat Mudah Lambat Paling mudah Lambat Mudah Baik digunakan jika paham tentang fungsi tetapi tidak paham tentang derivatif Baik digunakan jika tidak begitu yakin dengan perilaku fungsi Baik digunakan jika pengubahan persamaan fungsi dapat dilakukan dengan cukup mudah Baik digunakan jika mempunyai pengetahuan yang baik tentang fungsi derivatif & mampu menentukan harga awal yang baik