Nama: Moch Arifin Fahri NIM: 2022061015 Prodi: Informatika
1.Tentukan suatu persamaan non linier!
Baik, mari saya jelaskan lebih rinci tentang penyelesaian persamaan non-linier menggunakan metode Newton-Raphson sebagai contoh. Dalam metode ini, kita mencari pendekatan nilai-nilai solusi untuk persamaan non-linier dengan mengiterasi perhitungan. Berikut adalah langkah-langkah umum dalam metode Newton-Raphson:
1. Tentukan Persamaan Non-linier: Misalkan kita memiliki persamaan non-linier \(f(x) = 0\), di mana \ (f(x)\) adalah fungsi yang diberikan.
2. Tentukan Titik Awal: Pilih suatu titik awal \(x_0\) sebagai tebakan awal untuk solusi. Pilihan titik awal ini harus cukup dekat dengan solusi yang sebenarnya agar metode konvergen dengan baik.
3. Iterasi: Mulai dari titik awal \(x_0\), kita iterasikan proses berikut:
\[x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\]
di mana \(f'(x)\) adalah turunan pertama dari \(f(x)\) terhadap \(x\), dan \(x_{n+1}\) adalah perkiraan baru untuk solusi.
4. Hentikan Iterasi: Terus iterasikan langkah 3 sampai nilai \(|x_{n+1} - x_n|\) cukup kecil (misalnya, kurang dari suatu toleransi yang ditetapkan) atau sampai jumlah iterasi maksimum tercapai.
5. Output: Nilai \(x_{n+1}\) adalah pendekatan untuk solusi dari persamaan non-linier \(f(x) = 0\).
Proses ini dilakukan berulang kali hingga kita mendapatkan solusi yang memenuhi kriteria konvergensi yang ditentukan. Pemilihan titik awal yang tepat dan pengaturan parameter lainnya seperti toleransi kesalahan adalah penting dalam menjamin konvergensi metode Newton-Raphson.
Perlu dicatat bahwa metode Newton-Raphson hanya berlaku untuk fungsi yang memiliki turunan pertama yang kontinu dan tidak mengalami perubahan tanda di sekitar solusi. Jika tidak, maka metode ini mungkin gagal konvergen atau memberikan solusi yang tidak valid. Oleh karena itu, pemilihan metode numerik harus disesuaikan dengan sifat-sifat fungsi yang ingin diselesaikan.
2.Selesaikan dengan metode Newton-Raphson!
Tentu, untuk menggunakan metode Newton-Raphson, kita memerlukan persamaan non- linier dan turunannya terhadap variabel yang diberikan. Mari kita ambil contoh persamaan non-linier
\(f(x) = x^3 - 2x^2 + x - 5\), dan kita akan mencari akar persamaan ini menggunakan metode Newton- Raphson.
Langkah-langkahnya adalah sebagai berikut:
1. Tentukan Persamaan dan Turunannya:
Persamaan: \(f(x) = x^3 - 2x^2 + x - 5\) Turunan: \(f'(x) = 3x^2 - 4x + 1\)
2. Pilih Titik Awal: Pilih titik awal \(x_0\). Misal, \(x_0 = 2\).
3. Iterasi:
\[x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\]
4. Hentikan Iterasi: Berhenti ketika perbedaan antara \(x_{n+1}\) dan \(x_n\) sangat kecil atau ketika jumlah iterasi maksimum tercapai.
Mari kita selesaikan menggunakan Python:
```python
# Definisikan fungsi dan turunannya def f(x):
return x**3 - 2*x**2 + x - 5
def df(x):
return 3*x**2 - 4*x + 1
# Tentukan titik awal dan batas toleransi
x0 = 2 # Titik awal
tolerance = 1e-6 # Toleransi untuk berhenti iterasi max_iterations = 1000 # Batas maksimum iterasi
# Iterasi metode Newton-Raphson x_current = x0
iteration = 0 while True:
x_next = x_current - f(x_current) / df(x_current) iteration += 1
if abs(x_next - x_current) < tolerance or iteration >= max_iterations:
break
x_current = x_next
# Cek apakah konvergen atau tidak if iteration < max_iterations:
print("Akar yang ditemukan:", x_next) print("Iterasi yang dibutuhkan:", iteration) else:
print("Metode Newton-Raphson tidak konvergen dalam jumlah iterasi maksimum.")
```
Dalam contoh ini, kita mencari akar persamaan \(f(x) = x^3 - 2x^2 + x - 5\) menggunakan metode Newton-Raphson dengan titik awal \(x_0 = 2\). Program akan menghitung akar dan jumlah iterasi yang dibutuhkan.
3.Selesaikan dengan metode Secant!
Tentu, untuk menggunakan metode Secant, kita membutuhkan dua titik awal yang cukup dekat untuk menghitung pendekatan turunan. Langkah-langkahnya adalah sebagai berikut:
1. Tentukan Persamaan: Misalkan kita memiliki persamaan non-linier \(f(x)\) yang ingin kita cari akarnya.
2. Pilih Dua Titik Awal: Pilih dua titik awal \(x_0\) dan \(x_1\) yang cukup dekat dengan akar yang sebenarnya.
3. Iterasi:
\[x_{n+1} = x_n - \frac{f(x_n)(x_n - x_{n-1})}{f(x_n) - f(x_{n-1})}\]
4. Hentikan Iterasi: Berhenti ketika perbedaan antara \(x_{n+1}\) dan \(x_n\) sangat kecil atau ketika jumlah iterasi maksimum tercapai.
Mari kita selesaikan persamaan \(f(x) = x^3 - 2x^2 + x - 5\) menggunakan metode Secant:
```python
# Definisikan fungsi def f(x):
return x**3 - 2*x**2 + x - 5
# Tentukan dua titik awal x0 = 1
x1 = 2
# Tentukan batas toleransi dan jumlah iterasi maksimum tolerance = 1e-6
max_iterations = 1000
# Iterasi metode Secant iteration = 0
while True:
x_next = x1 - (f(x1) * (x1 - x0)) / (f(x1) - f(x0)) iteration += 1
if abs(x_next - x1) < tolerance or iteration >= max_iterations:
break x0 = x1 x1 = x_next
# Cek apakah konvergen atau tidak if iteration < max_iterations:
print("Akar yang ditemukan:", x_next) print("Iterasi yang dibutuhkan:", iteration) else:
print("Metode Secant tidak konvergen dalam jumlah iterasi maksimum.")
```
Dalam contoh ini, kita mencari akar persamaan \(f(x) = x^3 - 2x^2 + x - 5\) menggunakan metode Secant dengan dua titik awal \(x_0 = 1\) dan \(x_1 = 2\). Program akan menghitung akar dan jumlah iterasi yang dibutuhkan.
4.Buat algoritma dan pemogramannya dari tugas 2 dan tugas 3
Baik, berikut adalah contoh algoritma dan implementasi Python untuk metode Newton-Raphson dan metode Secant:
### Metode Newton-Raphson:
Algoritma:
1. Masukkan tebakan awal \(x_0\).
2. Iterasi:
- Hitung nilai \(f(x_n)\) dan \(f'(x_n)\).
- Hitung \(x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\).
- Ulangi langkah di atas hingga nilai \(|x_{n+1} - x_n|\) kecil atau hingga jumlah iterasi maksimum tercapai.
3. Keluarkan \(x_{n+1}\) sebagai pendekatan akar.
Implementasi Python:
```python
def newton_raphson(f, df, x0, tolerance=1e-6, max_iterations=1000):
x_current = x0 iteration = 0 while True:
x_next = x_current - f(x_current) / df(x_current) iteration += 1
if abs(x_next - x_current) < tolerance or iteration >= max_iterations:
break
x_current = x_next return x_next, iteration
```
### Metode Secant:
Algoritma:
1. Masukkan dua tebakan awal \(x_0\) dan \(x_1\).
2. Iterasi:
- Hitung nilai \(f(x_n)\) untuk kedua titik.
- Hitung \(x_{n+1} = x_n - \frac{f(x_n)(x_n - x_{n-1})}{f(x_n) - f(x_{n-1})}\).
- Geser nilai \(x_n\) dan \(x_{n-1}\).
- Ulangi langkah di atas hingga nilai \(|x_{n+1} - x_n|\) kecil atau hingga jumlah iterasi maksimum tercapai.
3. Keluarkan \(x_{n+1}\) sebagai pendekatan akar.
Implementasi Python:
```python
def secant_method(f, x0, x1, tolerance=1e-6, max_iterations=1000):
x_current = x0 x_previous = x1 iteration = 0 while True:
f_current = f(x_current) f_previous = f(x_previous)
x_next = x_current - f_current * (x_current - x_previous) / (f_current - f_previous) iteration += 1
if abs(x_next - x_current) < tolerance or iteration >= max_iterations:
break
x_previous = x_current x_current = x_next return x_next, iteration
```
Anda dapat menggunakan kedua fungsi tersebut untuk mencari akar dari suatu fungsi dengan memberikan fungsi itu sendiri, turunan pertamanya (untuk metode Newton-Raphson), titik awal, toleransi, dan jumlah iterasi maksimum yang diinginkan. Misalnya:
```python
# Contoh penggunaan untuk fungsi x^2 - 4 dan turunannya (2x) def f(x):
return x**2 - 4
def df(x):
return 2 * x
x0 = 2 x1 = 3
tolerance = 1e-6 max_iterations = 1000
root_newton, iterations_newton = newton_raphson(f, df, x0, tolerance, max_iterations) print("Metode Newton-Raphson:")
print("Akar:", root_newton)
print("Iterasi yang dibutuhkan:", iterations_newton)
root_secant, iterations_secant = secant_method(f, x0, x1, tolerance, max_iterations) print("\nMetode Secant:")
print("Akar:", root_secant)
print("Iterasi yang dibutuhkan:", iterations_secant)
```
Pastikan untuk menyediakan fungsi, turunan pertama (untuk Newton-Raphson), tebakan awal, toleransi, dan jumlah iterasi maksimum yang sesuai dengan kasus Anda.