Download - Modul 2 (Persamaan Nonlinear)
MODUL 2
Akar Persamaan Nonlinear
Claudia M. M Maing
90213015
Program Studi Pengajaran Fisika, Institut Teknologi Bandung
Asisten:
Ridho Muhammad Akbar
Aries Aldi Rahardi
Abdul Rozag
Ezra Nabila
28 Februari 2014
Abstrak
Telah dilakukan praktikum untuk menyelesaikan persamaan non linear untuk mencari nilai akar-akar persamaannya dengan menggunakan 2 metode numerik, yakni metode bisection dan metode secant menggunakan program visual basic. Dalam metode bisection kita menentukan akar-akarnya menggunakan pendekatan nilai tengah, di mana terlebih dahulu ditentukan 2 nilai yakni untuk batas bawah dan batas atas kemudian dicari nilai tengahnya, setelah itu program akan dijalankan dan akan diulang sampai memperoleh nilai tengah yang mendekati akar persamaan. Sedangkan metode secant adalah metode dengan pendekatan berupa fungsi linear yang dibentuk dari dua titik yang ditentukan dari persamaan non linear. Persamaan non linear yang diselesaikan adalah y = x2 3x + 2 dengan batas toleransi untuk masing-masing metode adalah 10-7.
Kata Kunci: Metode Bisection, Metode Secant, Persamaan Nonlinear
Pendahuluan
Persamaan nonlinear adalah persamaan yang mempunyai peubah dengan pangkat terkecil adalah 1. Biasanya dalam menyelesaikan persamaan nonlinear sering kita mencari akar-akar persamaannya menggunakan cara pemfaktoran ataupun menggunakan rumus abc. Tetapi dalam metode numeric, untuk mencari akar-akar dari persamaan nonlinear dapat menggunakan metode bisection dan metode secant.
Metode Bisection (bagi dua) adalah algoritma pencarian akar pada sebuah interval, di mana interval tersebut dibagi menjadi dua bagian, kemudian dipilih bagian mana yang mengandung akar dan bagian yang tidak mengandung akar dibuang. Hal ini dilakukan berulang-ulang hingga diperoleh akar persamaan atau mendekati akar persamaan. Metode ini berlaku ketika ingin memecahkan persamaan f(x) = 0 dengan f merupakan fungsi kontinyu. Sedangkan metode secant adalah menaksirkan akar dengan menggunakan diferensi daripada turunan untuk memperkirakan kemiringan atau slope.
Gambar 1. Metode Bisection dan Metode Secant
Metode
Metode yang digunakan pada praktikum kali ini adalah metode flow chart (diagram alir). Flow chart untuk masing-masing metode ada pada bagian lampiran.
Data
Metode Bisection
Screen shoot hasil
Gambar 2. Screenshoot metode bisection
Kode Program
Private Sub CommandButton1_Click()
Dim xa, x1, xr, y1, y2, yr, error As Double
Cells(4, 1) = "x1"
Cells(4, 2) = "x"
Cells(4, 3) = "xr"
Cells(4, 4) = "error"
Cells(4, 5) = "y1"
Cells(4, 6) = "y2"
Cells(4, 7) = "yr"
xa = InputBox("masukkan nilai batas bawah xa")
Cells(5, 1) = xa
xb = InputBox("masukkan nilai batas atas xb")
Cells(5, 2) = xb
e = 10 ^ -7
error = Abs(xr - xa)
Cells(5, 4) = error
While error > 10 ^ -7
xr = (xa / 2) + (xb / 2)
Cells(5, 3) = xr
y1 = (xa ^ 2) - (3 * xa) + 2
Cells(5, 5) = y1
y2 = (xb ^ 2) - (3 * xb) + 2
Cells(5, 6) = y2
yr = (xr ^ 2) - (3 * xr) + 2
Cells(5, 7) = yr
error = Abs(xa - xb)
Cells(5, 4) = error
xr = yr * y1
If xr < 0 Then
y2 = xr
ElseIf xr > 0 Then
y1 = xr
End If
Wend
Cells(5, 3) = xr
End Sub
Metode Secant
Screenshoot hasil
Gambar 3. Screen shoot metode secant
Kode Program
Private Sub CommandButton1_Click()
Dim x1, x2, x, m, y1, y2, error As Double
Cells(4, 1) = "x1"
Cells(4, 2) = "x2"
Cells(4, 3) = "x"
Cells(4, 4) = "y1"
Cells(4, 5) = "y2"
x1 = InputBox("masukan nilai x1")
Cells(5, 1) = x1
x2 = InputBox("masukan nilai x2")
Cells(5, 2) = x2
e = 10 ^ -7
error = Abs((x2 - x1) / x2)
Cells(4, 6) = "error"
While error > e
error = Abs((x2 - x1) / x2)
Cells(5, 6) = error
y1 = (x1 ^ 2) - (3 * x1) + 2
Cells(5, 4) = y1
y2 = (x2 ^ 2) - (3 * x2) + 2
Cells(5, 5) = y2
m = (y2 - y1) / (x2 - x1)
x r= x2 - (y2 / m)
x1 = x2
x2 = x
Wend
Cells(5, 3) = x
End Sub
Analisis
Dalam suatu program terdapat bagian-bagian penting yang perlu diperhatikan, di mana dalam suatu program terdiri dari 3 bagian penting, yakni kepala bagian ini memuat nama dan keterangan program, deklarasi variabel bagian ini memuat defenisi variabel, tetapan, nama prosedur, nama fungsi dan tipe data, dan bagian yang terakhir adalah deskripsi proses di mana pada bagian ini memuat lagkah penyelesaian masalah seperti baca data, operasi data dan tampilan data.
Metode Bisection
Pada kode program metode bisection terdiri dari bagian header, deklarasi variabel dan dekskripsi proses
Pada baris pertama merupakan bagian header dan baris kedua merupakan bagian deklarasi variabel menjelaskan variabel-variabel apa saja yang ada dalam program yang akan dijalankan, disini menggunakan double karena nilai dari variabel yang ada memilii nilai dalam bentuk koma dan juga jangkauannya besar.
Bagian ini telah masuk dalam deskripsi proses Untuk menjalankan program pencarian akar-akar dari persamaan x2 3x + 2 digunakan sintaks while dan juga if. Digunakan sintaks while karena tidak dietahui berapa kalikah pengulangannya. Proses akan berhenti mencari nilai akar persamaan saat nilai error < 10-7, saat eror masih bernilai >10-7 maka program ini akan berjalan terus dan digunakan sintaks if untuk pilihan nilai jika nilai dari y1.y2 > 0 maka nilai xa = xr dan jika y1.y2 < 0 maka nilai xb = xr dan bila nilai dari y1.y2 = 0, maka perhitungan akan dihentikan. Dengan memasukkan batas bawah 1,5 dan batas atas 2,5 diperoleh akar persamaannya yaitu 2.
Metode Secant
Baris pertama merupakan bagian header dan baris kedua merupakan bagian deklarasi variabel menjelaskan variabel-variabel apa saja yang ada dalam program yang akan dijalankan. Sama seperti metode bisecant, kita mendeklarasikan variabel menggunakan double karena nilai dari variabel yang ada memiliki nilai dalam bentuk koma dan juga jangkauannya besar.
Bagian ini masuk pada bagian deskripsi proses, sama seperti metode bisection digunakan sintaks while dan if untuk mencari akar-akar dari persamaan x2 3x + 2. Dengan memasukkan batas bawah 1,5 dan batas atas 2,5 diperoleh akar persamaan yang sama pada metode bisection yaitu 2.
Kesimpulan
Dengan menggunakan metode bisection dan metode secant dalam mencari akar persamaan dari y = x2 3x + 2 diperoleh akar persamaannya adalah 2. Hal ini sama jika sama jika kita menghitungnya secara manual menggunakan cara pemfaktoran, maka akan diperoleh salah satu akarnya adalah 2.
Referensi
Anonim. 2014. Modul Praktikum Fisika Komputasi. ITB
Setiawan, Agus. 2006. Pengantar Metode Numerik. Yogyakarta: Andi Yogyakarta.
Lampiran Flowchart
Flowchart Metode Bisection
Tidak
Tidak
Ya
START
Xa, xb, xr, y1, y2, yr, eror as double
Masukkan batas bawah (xa) dan batas atas (xb)
Xr = (xa + xb)/2
y = x2 3x + 2
Yr = y1 . y2
y1 . y2 = 0
Error > e
Output akar persamaan y
END
y1.y2 < 0
xb = xr
y1.y2 > 0
xa = xr
Flowchart Metode Secant
START
x1, x2, xr, y1, y2, error as double
Input batas bawah (x1) dan batas atas (x2)
)]
(
)
(
[
)
(
*
)
(
1
2
1
2
2
2
x
f
x
f
x
x
x
f
x
x
r
-
-
-
=
|xb-xo| < error
iter>iter_max
m= f(x2) f(x1)/(x2-x1)
xr = x2 f(x2)/m)
Output akar persamaan
END
x1 = xr
Ya
Tidak
)]
(
)
(
[
)
(
*
)
(
1
2
1
2
2
2
x
f
x
f
x
x
x
f
x
x
r
-
-
-
=