UNIVERSITAS SULTAN AGENG TIRTAYASA
LAPORAN PRAKTIKUM
LABORATORIUM KOMPUTER DAN TELEKOMUNIKASI UNIT 3
METODE TERBUKA-NEWTON RPAHSON DAN ITERASI TITIK TETAP
KN-31 Restu Firmansyah
Daffa Nur Fauzan Rizki Asnur Ramadhan
3332230046 3332230050 3332230073
Penilaian Praktikum
No Penilaian Bobot Nilai
1 Pemahaman /40
2 Keaktifan /40
3 Penyelesaian Masalah /20
Total Nilai /100
Penilaian Laporan
No Penilaian Bobot Nilai
1 Pengambilan Data dan Hasil /20
2 Analisis Data /50
3 Post-Test /10
4 Tugas Modul /10
5 Kesesuaian Format /10
Total Nilai /100
Rabu, 27 Maret 2024
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS SULTAN AGENG TIRTAYASA 2024
1. Pendahuluan
Seiring dengan perkembangan zaman, manusia juga terus menerus membuat terobosan baru di dalam bidang ilmu pengetahuan dan teknologi. Namun dalam perkembangan tersebut, manusia pasti selalau dihadapi permasalahan permasalahan yang kerap dapat menghambat perkembangan. Salah satu permasalahan tersebut adalah permasalahan dalam matematis yang memerlukan solusi solusi yang tepat dan efisien. Permasalahan tersebut dapat diselesaikan dengan metode metode numerik. Pada metode numerik terdapat dua jenis metode yang salah satunya ialah metode terbuka. Metode terbuka merupakan metode dalam pencarian akar persamaan non linear yang tidak memerlukan selang interval [𝑥1, 𝑥2], namun memerlukan tebakan awal [1]. Dalam metode terbuka nilai akar dapat bersifat konvergensi dan divergensi karena tidak ada batasan interval.
Dalam metode terbuka terdapat tiga jenis yang dua diantaranya akan dibahas pada percobaan ini yaitu, metode netwon raphson dan metode iterasi titik tetap. Metode newton raphson adalah metode numerik yang berulang dan digunakan untuk mencari akar fungsi yang bernilai real[2]. Metode newton raphson menggunakan tebakan awal untuk iterasi pertama 𝑥0 dan dilanjutkan dengan iterasi selanjutnya 𝑥𝑖+1 hingga mencapai iterasi yang ditentukan. Metode ini juga menentukan akar dengan menggunakan turunan pertama dari fungsi 𝐹(𝑥) [3]. Sedangkan metode iterasi titik tetap merupakan metode dengan cara mengubah 𝐹(𝑥) = 0 menjadi 𝑥 = 𝑔(𝑥). Metode ini juga menggunakan tebakan awal untuk iterasi pertama 𝑥0 dan lanjutkan dengan iterasi selanjutnya 𝑥𝑖+1 hingga mencapai iterasi yang ditentukan dan 𝐹(𝑥𝑛) < 𝑒.
2. Pengambilan Data dan Hasil
Pengambilan data dilakukan dilakukan di Laboratorium Telekomunikasi dan Komputer Jurusan Teknik Elektro Universitas Sultan Ageng Tirtayasa. Metode yang dilakukan adalah dengan metode eksperimen dengan menggunakan google colaboratory.
Pengambilan data dilakukan untuk membuktikan metode newton raphson dan metode iterasi titik secara komputasi.
2.1 Metode Newton Raphson
Source code dan output source code metode newton raphson.
Gambar 1 Output Source Code Metode Newton Raphson
Berikut ini adalah source code dari hasil kode diatas dengan menggunakan metode newton raphson secara komputasi.
#METODE NEWTON RAPHSON def f(x):
return x**3 - 2*x**2 + x - 3
def df(x):
return 3*x**2 - 4*x + 1
def NewtonRaphson(x0, e, N):
print('\n\n** IMPLEMENTASI METODE NEWTON RAPHSON **') step = 1
flag = 1
condition = True while condition:
if df(x0) == 0.0:
print('Turunan fungsi menjadi nol. Pembagian nol terjadi.') break
x1 = x0 - f(x0) / df(x0)
print('Iterasi ke-%d, x%d = %0.6f dan f(x%d) = %0.6f' % (step, step, x1, step, f(x1)))
x0 = x1
step = step + 1 if step > N:
flag = 0 break
condition = abs(f(x1)) > e
if flag == 1:
print('\nHasil: %0.8f' % x1) else:
print('\nTidak Konvergen.')
x0 = float(input('x0: '))
e = float(input('Toleransi error: ')) N = int(input('Maksimum iterasi: ')) NewtonRaphson(x0, e, N)
2.2 Metode Iterasi Titik Tetap
Source code dan output source code metode iterasi titik tetap
Gambar 2 Output Source Code Metode Iterasi Titik Tetap
Berikut ini dalah source code dari hasil kode diatas dengan menggunakan metode iterasi titik tetap secara komputasi.
#Metode Iterasi Titik Tetap def g(x):
return 3 / (x - 2)
def IterasiTitikTetap(x0, e, N):
print('\n\n** ITERASI TITIK TETAP **') x_previous = x0
step = 1 while True:
x_current = g(x_previous)
error = abs(x_current - x_previous)
print('Iterasi ke-%d, x%d = %0.6f, error = %0.6f' % (step, step, x_current, error))
if error < e or step >= N:
break
x_previous = x_current step += 1
if step <= N:
print('\nHasil: %0.8f' % x_current) else:
print('\nIterasi tidak konvergen dalam %d iterasi.' % N)
x0 = float(input('Masukkan tebakan awal (x0): ')) e = float(input('Masukkan toleransi error (e): ')) N = int(input('Masukkan maksimum iterasi (N): ')) IterasiTitikTetap(x0, e, N)
3. Analisis Data
Setelah mengetahui source code yang digunakan dalam metode newton raphson dan metode iterasi titik tetap secara komputasi . Akan dilakukan analisis data untuk mengetahui lebih lanjut algoritma yang digunakan pada blok kode tersebut.
3.1 Metode Newton Raphson
Secara sederhananya metode newton raphson menggunakan fungsi yang diturunkan. Metode ini secara komputasi digunakan untuk memudahkan dalam perhitungan agar tidak ada kesalahan human error. Metode newton rapshon dapat digunakan dengan cara menentukan terlebih dahulu tebakan awal 𝑥0 dan menentukan 𝐹(𝑥0) dan juga 𝐹′(𝑥0). Lalu menghitung nilai 𝑥1 dengan menggunakan persamaan berikut ini.
𝑥1 = 𝑥0 − 𝐹(𝑥0)
𝐹′(𝑥0) (1)
Perhitungan diatas terus dilakukan secara berulang dengan 𝑥𝑛+1. Persamaan diatas memiliki syarat yaitu nilai dari turunan fungsi tidak boleh bernilai 0, karena nanti akan menghasilkan nilai tak terdefinisi. Pada metode ini, karena menggunakan tebakan awal maka nilai akarnya bisa bersifat konvergen dan divergen. Jika menebak titik awal terlalu jauh atau dekat maka bisa kemungkinan nilai akar tidak konvergen.
Dapat dilihat pada blok kode nilai 𝑥0 = 4, dari situ berarti tebakan awalnya bernilai 4. Nilai tersebut dioperasikan pada fungsi 𝑥0 dan fungsi turunannya. Dan dioperasikan melalu Persamaan 1, hasil dari persamaan tersebut akan digunakan kembali sebagai nilai 𝑥0 yang baru dan 𝑥1 akan menjadi 𝑥2 dan seterusnya, perulangan tersebut akan dilakukan sampai jumlah iterasi yang ditetapkan. Misal pada blok kode diatas, iterasi yang ditetapkan ialah 4 iterasi, sehingga jika sudah mencapai iterasi ke-4 maka metode akan berhenti meskipun nilai akar belum mendekati. Jika metode newton raphson digunakan secara komputasi, maka blok kode nya seperti pada blok kode metode newton raphson diatas. Blok kode tersebut menggunakan fungsi fungsi yang ada pada bahasa pmrograman python seperti, fungsi definisi, fungsi kondisi dan fungsi perulangan. Algoritma tersebut dibuat sesuai dengan algoritma yang ada pada perhitungan.
3.2 Metode Iterasi Titik Tetap
Metode ini umumnya merupakan metode yang digunakan dengan cara merubah fungsi 𝐹(𝑥) = 0 menjadi fungsi 𝑥 = 𝑔(𝑥), atau dapat diartikan merubah fungsi 𝑥 menjadi apapun yang merupakan fungsi tersebut. Contohnya dapat dilihat pada blok kode metode iterasi titik tetap, fungsi 𝑔(𝑥) tersebut merupakan hasil perubahan dari fungsi awal 𝐹(𝑥) = 0. Metode ini juga menggunakan tebakan awal 𝑥0 sehingga iterasi awal akan menjadi 𝑥1 = 𝑔(𝑥0). Pada blok kode diatas fungsi 𝑔(𝑥) = 3
𝑥0−2 maka nilai 𝑥0 tersebut menjadi nilai 𝑥 tebakan awal dan iterasi selanjutnya nilai 𝑥1 menjadi 𝑥0 baru. Perulangan tersebut digunakan sampai mencapai iterasi yang ditetapkan. Pada blok kode diatas iterasi yang ditetapkan yaitu 3, maka pada saat mencapai iterasi ke-3 operasinya akan dihentikan meskipun nilai akar persamaan tidak mendekati yang sesungguhnya.
Pada metode ini terdapat nilai kesalahan yang sebenernya tidak berpengaruh karena metode akan berhenti karena iterasi yang ditetapkan. Pada metode ini nilai kesalahan yang disyaratkan adalah nilai 𝐹(𝑥𝑖) < 𝑒, maka nilai nya bersifat konvergen. Dan jika 𝐹(𝑥𝑖) > 𝑒, maka operasi akan berjalan lagi untuk mencari 𝑥2 hingga iterasi selanjutnya. Pada metode ini, untuk mencapai nilai akar yang konvergen tidak hanya dengan memilih nilai tebakan awal 𝑥0 saja. Namun, pada metode ini juga pemilihan fungsi 𝑔(𝑥) berperan penting dalam mencapai kekonvergenan. Kelemahan dari metode ini dan semua metode terbuka adalah, sulitnya untuk mencapai konvergen atau mendekati nilai akar yang sesungguhnya dikarenakan tebakan awal sangat berpengaruh. Maka dari itu untuk memastikan tebakan awal menuju konvergen, diperlukan grafik fungsi untuk menentukan titik awal, atau bisa saja dengan menggunakan nilai nilai yang aman untuk mencapai konvergen, tidak terlalu jauh dan tidak telalu dekat.
4. Kesimpulan
Berdasarkan pada praktikum unit 3 METODE TERBUKA-NEWTON RPAHSON DAN ITERASI TITIK TETAP, penulis dapat menyimpulkan berdasarkan tujuan praktikum.
1. Metode newton raphson merupakan metode dengan konvergensi yang cepat dan efisien namun menggunakan turunan fungsi yang tidak terjamin mudah. Sedangkan metode iterasi titik tetap merupakan metode yang memerlukan
2. Metode newton raphson dapat ditentukan secara perhitungan dengan persamaan 𝑥𝑛+1= 𝑥𝑛−𝐹(𝑥𝑛)
𝐹′(𝑥𝑛) dengan syarat nilai fungsi turunan tidak nol. Sedangkan metode iterasi titik tetap dapat ditentukan melalu persamaan 𝑥𝑛+1= 𝑔(𝑥𝑛).
3. Metode newton raphson dan metode iterasi titik tetap dapat diimplementasikan melalui komputasi dengan bahasa pemrograman pyhton yang disusun sesuai dengan algoritma dari kedua metode tersebut. Melalui komputasi ini dapat menurunkan kesalahan human error.
4. Kedua metode ini dapat diterapkan dikehidupan sehari hari seperti digunakan pada analisis rangkain elektronik, misal untuk menemukan kondisi operasi dari rangkaian non linear seperti dioda dan transistor.
DAFTAR PUSTAKA
[1] Pandia, Wajib. Sitepu, Israil. “PENENTUAN AKAR PERSAMAAN NON LINIER DENGAN METODE NUMERIK”.
Jurnal Mutiara Pendidikan. Vol 6. No 2 (2021)
[2] Mohit. “Newton Raphson Method”. Geeksforgeeks. Diakses pada 28 Maret 2024. https://www.geeksforgeeks.org/newton- raphson-method/
[3] Asisten Laboratorium Komputer dan Telekomunikasi, “METODE TERBUKA-NEWTON RPAHSON DAN ITERASI TITIK TETAP,” in MODUL PRAKTIKUM KOMPUTASI NUMERIK, Cilegon, Universitas Sultan Ageng Tirtayasa Fakultas Teknik, 2024, pp. 15-19
`A-1
A. LAMPIRAN A POST-TEST
1) Diketahui 𝑥2− 2𝑥 − 3, tentukan akar dengan metode newton raphson dengan 𝑥0 = 1 dan 𝑁 = 4 Jawab:
𝐹(𝑥) = 𝑥2− 2𝑥 − 3 𝐹′(𝑥) = 2𝑥 − 2
𝑥1 = 𝑥0 −𝐹(𝑋)
𝐹′(𝑋)= 1 −−4
0 = ∞
2) Sebutkan penerapan newton raphson dan iterasi titik tetap pada kehidupan sehari hari!
Jawab:
1. Sebagai analisis rangkaian elektronik , misal untuk menemukan kondisi operasi dari rangkaian non linier seperti dioda dan transistor.
2. Dapat digunakan dalam model prediksi cuaca dengan menyelesaikan persamaan yang menggambarkan atmosfir.
3. Dapat digunakan dalam algoritma optimasi untuk menemukan nilai minimum atau maksimum suatu fungsi.
B. LAMPIRAN B TUGAS MODUL
1) Carilah akar dari fungsi 𝑓(𝑥) = 𝑥3 − 6𝑥2 + 11𝑥 − 6 menggunakan metode Newton-Raphson. Gunakan x0 = 1.6 sebagai tebakan awal dan tentukan nilai akar dengan toleransi error 0.0001.(memakai Google Colab)!
Jawab:
#tugas modul def f(x):
return x**3 - 6*x**2 + 11*x -6
def df(x):
return 3*x**2 -12*x**2 + 11
#METODE NEWTON RAPHSON def f(x):
return x**3 - 2*x**2 + x - 3
def df(x):
return 3*x**2 - 4*x + 1
def NewtonRaphson(x0, e, N):
print('\n\n** IMPLEMENTASI METODE NEWTON RAPHSON **') step = 1
flag = 1
condition = True while condition:
if df(x0) == 0.0:
print('Turunan fungsi menjadi nol. Pembagian nol terjadi.') break
x1 = x0 - f(x0) / df(x0)
print('Iterasi ke-%d, x%d = %0.6f dan f(x%d) = %0.6f' % (step, step, x1, step, f(x1)))
x0 = x1
step = step + 1 if step > N:
flag = 0 break
condition = abs(f(x1)) > e
if flag == 1:
print('\nHasil: %0.8f' % x1) else:
print('\nTidak Konvergen.')
x0 = float(input('x0: '))
e = float(input('Toleransi error: ')) N = int(input('Maksimum iterasi: ')) NewtonRaphson(x0, e, N)
B-2
Gambar B-12) Carilah akar dari fungsi 𝑓(𝑥) = 𝑥3− 5𝑥 − 9 menggunakan metode Iterasi Titik Tetap. Gunakan x0 = 1.6 sebagai tebakan awal dan tentukan nilai akar dengan toleransi error 0.0001.(memakai Google Colab)!
Jawab:
#tugas modul def g(x):
return (5*x + 9)**(1/3)
def IterasiTitikTetap(x0, e, N):
print('\n\n** ITERASI TITIK TETAP **') x_previous = x0
step = 1 while True:
x_current = g(x_previous)
error = abs(x_current - x_previous)
print('Iterasi ke-%d, x%d = %0.6f, error = %0.6f' % (step, step, x_current, error))
if error < e or step >= N:
break
x_previous = x_current step += 1
if step <= N:
print('\nHasil: %0.8f' % x_current) else:
print('\nIterasi tidak konvergen dalam %d iterasi.' % N)
x0 = float(input('Masukkan tebakan awal (x0): ')) e = float(input('Masukkan toleransi error (e): ')) N = int(input('Masukkan maksimum iterasi (N): ')) IterasiTitikTetap(x0, e, N)
Gambar B-2