TUGAS MANDIRI METODE NUMERIK 2023
Nama : Teguh Dwi Julyanto NIM : F1D022098
A. TUJUAN
1. Dapat memahami metode Bisection.
2. Dapat mengaplikasikan metode Bisection ke dalam bahasa pemrograman java.
B. PERMASALAHAN
Tentukan titik potong dari fungsi f1(x)= x^2-2x+1 dengan f2(x) = x^3-(x+2)e-^2x+1 menggunakan metode Bisection.
C. ALGORITMA PENYELESAIAN 1. Mulai program.
2. Pengguna diminta untuk memasukan dua angka yaitu a dan b.
3. Pengguna diminta untuk memasukan jumlah iterasi maksimal dan nilai toleransi
4. Program akan mencari akar dari input-an yang diberikan menggunakan metode biseksi.
5. Di setiap iterasinya, program akan menunjukan nomor iterasi dan perkiraan nilai akar.
6. Program akan selesai dan menampilkan nilai akar yang berhasil di temukan.
D. SOURCE CODE
import java.util.Scanner;
import java.util.function.Function;
public class BisectionMethodWithIteration { public static void main(String[] args) {
try (Scanner input = new Scanner(System.in)) {
System.out.println("Program Mencari Titik Potong Fungsi f1(x)dan f2(x) Menggunakan Metode Biseksi");
double a, b, epsilon;
int maxIterations;
// Validasi Input do {
System.out.print("Masukkan Nilai Awal a = ");
a = input.nextDouble();
System.out.print("Masukkan Nilai Awal b = ");
b = input.nextDouble();
if (a >= b) {
System.out.println("Nilai a harus kurang dari b. Coba
lagi.");
}
} while (a >= b);
System.out.print("Masukkan Max Iterasi = ");
maxIterations = input.nextInt();
System.out.print("Masukkan Nilai Toleransi Epsilon = ");
epsilon = input.nextDouble();
// Definisikan fungsi f(x) di sini
Function<Double, Double> f = x -> Math.pow(x, 2) - 2 * x + 1 - (Math.pow(x, 3) - (x + 2) * Math.exp(-2 * x) + 1);
double result = bisection(a, b, epsilon, maxIterations, f);
System.out.println("=======================================");
System.out.println("Jadi Didapatkan Nilai x adalah = " + result);
} }
public static double bisection(double a, double b, double epsilon, int maxIterations, Function<Double, Double> f) {
double x = Double.NaN;
int iterations = 0;
System.out.println("==========================================");
while (iterations < maxIterations) { x = (a + b) / 2.0;
double f1a = f.apply(a);
double fx = f.apply(x);
if (Math.abs(fx - f1a) < epsilon) {
System.out.println("Iterasi ke-" + (iterations + 1) + ":
Akar x ≈ " + x);
return x;
}
if (f1a * fx < 0) { b = x;
} else { a = x;
}
System.out.println("Iterasi ke-" + (iterations + 1) + ": x ≈ "
+ x);
iterations++;
}
if (iterations == maxIterations) {
System.out.println("Metode Biseksi Tidak Konvergen Setelah " + maxIterations + " Iterasi");
}
return x;
} }
E. HASIL DAN ANALISA
Gambar 1.1 Hasil Run Program Bisection
Berdasarkan hasil run pada Gambar 1.1 dapat diperhatikan bahwa program dimulai dengan meminta input-an berupa nilai awal variabel a, nilai awal variabel b, nilai iterasi maksimal dan nilai toleransi epsilon,setelah itu program akan memproses hasil input-an pengguna dan menampilkan deretan iterasi dan kemungkinan nilai akar x. Terakhir program akan menampilkan nilai x setelah menjalani beberapa perulangan.
F. KESIMPULAN
1. Metode Bisection adalah teknik numerik yang digunakan untuk mencari akar atau solusi dari suatu persamaan matematika. Pendekatan ini memanfaatkan pembagian interval menjadi dua bagian, evaluasi tanda fungsi pada nilai tengah interval, dan perubahan tanda untuk mendekati solusi yang diinginkan.
2. Penerapan metode Bisection dalam bahasa pemrograman Java melibatkan langkah-langkah berikut:
Pilih interval awal yang mengandung solusi.
Tentukan toleransi untuk akurasi dan jumlah maksimum iterasi.
Buat fungsi yang mewakili persamaan yang ingin dicari akarnya.
Gunakan iterasi untuk membagi interval dan menghitung nilai fungsi pada nilai tengah interval.
Periksa tanda fungsi pada batas interval dan nilai tengah untuk memutuskan perubahan interval.
Ulangi iterasi hingga akurasi yang cukup tercapai atau batas iterasi terpenuhi.
Hasil akar persamaan ditemukan dan dapat digunakan untuk menyelesaikan masalah matematika atau ilmiah tertentu.
G. DAFTAR PUSTAKA
[1] Wigati, J. (2020). SOLUSI NUMERIK PERSAMAAN NON-LINIER DENGAN METODE BISECTION DAN REGULA FALSI. G-Tech: Jurnal Teknologi Terapan, 1(1), 5–17.
[2] Sunandar Endang. (2019).Penyelesaian Sistem Persamaan Non-Linier Dengan Metode Bisection
& Metode Regula Falsi Menggunakan Bahasa Program Java. PETIR: Jurnal Pengkajian dan Penerapan Teknik Informatika,vol.12, No.2
[3] Chapra, S.C and Canale, R.P. (1991). Metode Numerik Jilid 1. Erlangga. Jakarta
[4] Hartono, D. E. Juni. (2000). Modul praktikum Komputasi Metode Numerik. Universitas Gadjah Mada
[5] Sulila, I Nyoman. (1982). Dasar-Dasar Metode Numerik. Bandung.