Puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa karena atas rahmat dan karunia-Nya laporan praktikum Metode Numerik ini dapat disusun. Laporan ini membahas penyelesaian persamaan nonlinier menggunakan metode Newton-Raphson dan metode Secant. Penulis berharap laporan ini dapat membantu pembaca memahami konsep, proses iterasi, serta pemeriksaan hasil kedua metode tersebut.
Penulis menyampaikan terima kasih kepada dosen pengampu dan asisten praktikum yang telah memberikan arahan selama kegiatan praktikum. Penulis menyadari bahwa laporan ini masih dapat disempurnakan, terutama dalam ketelitian penulisan rumus, sintaks, dan interpretasi hasil. Oleh karena itu, kritik dan saran yang membangun sangat diharapkan untuk perbaikan laporan selanjutnya.
Persamaan nonlinier merupakan persamaan yang memuat fungsi dengan hubungan variabel yang tidak berbentuk linear. Persamaan tersebut dapat ditulis dalam bentuk umum \(f(x)=0\), dengan bentuk fungsi yang beragam, seperti fungsi aljabar, eksponensial, logaritma, dan trigonometri. Dalam beberapa kasus, akar persamaan nonlinier sulit diperoleh secara analitik sehingga diperlukan pendekatan numerik untuk memperoleh nilai hampiran akar.
Metode numerik menyelesaikan permasalahan tersebut melalui proses perhitungan berulang atau iterasi. Metode Newton-Raphson menggunakan satu nilai tebakan awal dan turunan pertama fungsi untuk memperbaiki hampiran akar. Sementara itu, metode Secant menggunakan dua nilai tebakan awal dan kemiringan garis yang menghubungkan dua titik pada kurva tanpa menghitung turunan secara eksplisit (Erviana dkk., 2023).
Kedua metode memiliki kelebihan dan keterbatasan yang perlu diperhatikan sebelum digunakan. Newton-Raphson dapat mencapai konvergensi dengan cepat apabila tebakan awal sesuai dan turunan fungsi tidak bernilai nol. Metode Secant tidak memerlukan turunan eksplisit, tetapi keberhasilan iterasinya tetap bergantung pada perilaku fungsi dan pemilihan dua tebakan awal (Aisyah & Ikhsan, 2025; Fitriani dkk., 2025).
Berdasarkan latar belakang tersebut, rumusan masalah dalam praktikum ini adalah sebagai berikut:
Batasan masalah dalam praktikum ini adalah sebagai berikut:
Tujuan praktikum ini adalah memahami proses pencarian akar persamaan nonlinier dengan metode Newton-Raphson dan metode Secant. Praktikan juga diharapkan mampu menerapkan algoritma kedua metode menggunakan MATLAB serta membaca keluaran iterasinya. Selain itu, praktikan dapat memeriksa apakah hasil perhitungan telah memenuhi toleransi dan domain fungsi yang digunakan.
Praktikum ini dapat menambah pemahaman mengenai penerapan metode numerik untuk menyelesaikan persamaan nonlinier. Kegiatan ini juga melatih ketelitian dalam menyusun rumus, menentukan nilai awal, dan menjalankan algoritma iterasi. Hasil praktikum dapat menjadi dasar untuk memilih metode numerik yang sesuai dengan karakteristik suatu fungsi.
Laporan ini disusun dalam lima bab yang saling berkaitan. Bab I menjelaskan latar belakang, rumusan masalah, batasan masalah, tujuan, manfaat, dan sistematika penulisan, sedangkan Bab II membahas teori metode Newton-Raphson dan metode Secant. Bab III menguraikan variabel serta tahapan analisis, Bab IV menyajikan hasil dan pembahasan, dan Bab V berisi kesimpulan serta saran.
Persamaan nonlinier adalah persamaan yang hubungan antara variabel dan fungsi tidak memenuhi bentuk linear. Salah satu bentuk umum yang digunakan dalam pencarian akar adalah \(f(x)=0\). Nilai \(x\) yang membuat fungsi bernilai nol disebut akar persamaan.
Dalam penyelesaian numerik, akar sering kali diperoleh dalam bentuk hampiran karena proses perhitungan dilakukan secara bertahap. Ketelitian hasil hampiran ditentukan oleh toleransi galat yang ditetapkan. Oleh sebab itu, nilai akar perlu diperiksa bersama nilai fungsi dan galat aproksimasinya.
Metode Newton-Raphson merupakan metode iteratif untuk menentukan akar persamaan \(f(x)=0\). Metode ini menggunakan satu tebakan awal dan turunan pertama fungsi untuk membentuk garis singgung pada kurva. Rumus iterasinya adalah:
\[ x_{k+1}=x_k-\frac{f(x_k)}{f'(x_k)}. \]
Pada setiap iterasi, nilai baru dihitung dengan mengurangi nilai sebelumnya menggunakan hasil bagi fungsi dan turunannya. Proses dilanjutkan sampai galat aproksimasi memenuhi toleransi atau jumlah iterasi maksimum tercapai. Metode ini memerlukan turunan pertama dan tidak dapat melanjutkan iterasi apabila \(f'(x_k)=0\) (Aisyah & Ikhsan, 2025; Rini, 2026).
Galat absolut antariterasi dapat dihitung dengan:
\[ e_a=|x_{k+1}-x_k|. \]
Untuk praktikum ini, proses dihentikan apabila \(e_a\leq\varepsilon\) atau jumlah iterasi mencapai batas maksimum. Nilai toleransi yang digunakan adalah \(0{,}00001\). Penggunaan kriteria galat yang konsisten diperlukan agar keputusan penghentian iterasi dapat diperiksa.
Metode Secant merupakan metode iteratif untuk mencari akar persamaan \(f(x)=0\) dengan menggunakan dua tebakan awal. Metode ini memperkirakan kemiringan kurva melalui garis secant yang menghubungkan dua titik pada kurva. Dengan demikian, turunan pertama fungsi tidak perlu dihitung secara eksplisit (Fitriani dkk., 2025).
Rumus iterasi metode Secant adalah:
\[ x_{k+1}=x_k- \frac{f(x_k)(x_k-x_{k-1})} {f(x_k)-f(x_{k-1})}. \]
Iterasi dilakukan dengan memperbarui dua nilai terakhir sampai galat memenuhi toleransi atau jumlah iterasi maksimum tercapai. Metode ini tidak menjamin konvergensi untuk setiap pilihan nilai awal. Selain itu, penyebut pada rumus iterasi tidak boleh bernilai nol dan setiap nilai yang dihitung harus berada dalam domain fungsi (Andini & Suryadi, 2021).
Galat relatif antariterasi dapat dihitung dengan:
\[ e_a=\left|\frac{x_{k+1}-x_k}{x_{k+1}}\right|, \qquad x_{k+1}\ne 0. \]
Pada laporan ini, rumus galat relatif tersebut digunakan untuk memeriksa perubahan nilai hampiran akar. Apabila nilai baru sama dengan nol, rumus tersebut tidak dapat digunakan dan diperlukan pemeriksaan galat absolut. Kriteria galat harus diterapkan secara konsisten dalam program dan pembahasan.
Variabel yang digunakan dalam praktikum ini berkaitan dengan nilai fungsi dan proses iterasi. Setiap variabel memiliki peran dalam menentukan nilai hampiran akar serta memeriksa apakah iterasi dapat dilanjutkan. Rincian variabel disajikan pada tabel berikut.
| Simbol | Keterangan |
|---|---|
| \(f(x)\) | Fungsi nonlinier yang dicari akarnya |
| \(f'(x)\) | Turunan pertama fungsi untuk Newton-Raphson |
| \(x_0\) | Tebakan awal pertama |
| \(x_1\) | Tebakan awal kedua untuk Secant |
| \(x_k\) | Hampiran akar pada iterasi ke-\(k\) |
| \(\varepsilon\) | Batas toleransi galat |
| \(n_{\max}\) | Jumlah iterasi maksimum |
| \(e_a\) | Galat aproksimasi antariterasi |
Praktikum menggunakan dua fungsi nonlinier dengan parameter yang telah ditentukan pada batasan masalah. Fungsi pertama diselesaikan menggunakan Newton-Raphson dengan tebakan awal 3, sedangkan fungsi kedua diuji menggunakan Secant dengan tebakan awal 2 dan 3. Kedua perhitungan menggunakan toleransi \(0{,}00001\) dan batas maksimum 20 iterasi.
| Metode | Toleransi | Iterasi maksimum | Nilai awal |
|---|---|---|---|
| Newton-Raphson | 0,00001 | 20 | \(x_0=3\) |
| Secant | 0,00001 | 20 | \(x_0=2,\ x_1=3\) |
Analisis dilakukan dengan mendefinisikan fungsi yang akan dicari akarnya. Untuk Newton-Raphson, turunan pertama ditentukan secara analitik sebelum proses iterasi dijalankan. Untuk metode Secant, dua nilai awal digunakan untuk menghitung hampiran berikutnya berdasarkan rumus garis secant.
Setiap iterasi diperiksa melalui nilai hampiran akar dan galat aproksimasi. Pada fungsi yang memuat logaritma, argumen logaritma harus bernilai positif agar hasil perhitungan berada pada bilangan real. Apabila nilai iterasi keluar dari domain fungsi, proses harus dihentikan dan hasilnya tidak boleh dinyatakan sebagai akar yang valid.
Berdasarkan batasan masalah pertama, fungsi dapat disederhanakan menjadi:
\[ f(x)=\frac{10\sin x\cos x}{x},\qquad x\ne 0. \]
Dengan menggunakan aturan turunan hasil bagi, turunan pertamanya adalah:
\[ f'(x)= \frac{10x(\cos^2x-\sin^2x)-10\sin x\cos x}{x^2}. \]
Turunan tersebut digunakan pada setiap iterasi Newton-Raphson. Nilai awal yang digunakan adalah \(x_0=3\), dengan toleransi \(0{,}00001\) dan maksimum 20 iterasi. Program juga memeriksa agar turunan tidak bernilai nol sebelum menghitung nilai baru.
Fungsi pada batasan masalah kedua adalah:
\[ f(x)=e^{-x^2}-\ln(2x^4-3x)\cos x+4. \]
Karena terdapat fungsi logaritma natural, syarat domainnya adalah:
\[ 2x^4-3x>0. \]
Dengan nilai awal \(x_0=2\) dan \(x_1=3\), satu iterasi Secant menghasilkan nilai baru yang perlu diperiksa sebelum fungsi dievaluasi kembali. Pemeriksaan domain ini penting karena nilai baru dari rumus iterasi dapat berada di luar domain fungsi real.
Langkah kerja praktikum dimulai dengan membuka MATLAB dan menyiapkan fungsi yang akan dianalisis. Selanjutnya, program iterasi disusun sesuai metode yang digunakan dan parameter dari batasan masalah dimasukkan. Setelah program dijalankan, keluaran diperiksa berdasarkan nilai hampiran, nilai fungsi, galat, jumlah iterasi, dan domain fungsi.
Fungsi yang digunakan adalah \(f(x)=10\sin x\cos x/x\), dengan \(x\ne0\). Turunan pertama dihitung berdasarkan aturan turunan hasil bagi dan digunakan untuk memperbarui nilai hampiran akar. Sintaks berikut dapat dijalankan di R untuk mereplikasi perhitungan numerik yang dijelaskan dalam laporan.
f_newton <- function(x) {
if (any(x == 0)) stop("Fungsi tidak terdefinisi untuk x = 0.")
10 * sin(x) * cos(x) / x
}
df_newton <- function(x) {
if (any(x == 0)) stop("Turunan tidak terdefinisi untuk x = 0.")
(10 * x * (cos(x)^2 - sin(x)^2) -
10 * sin(x) * cos(x)) / x^2
}
Program berikut menjalankan metode Newton-Raphson dari tebakan awal 3. Galat yang digunakan adalah galat absolut antara dua hampiran berturut-turut. Iterasi dihentikan ketika galat tidak lebih besar daripada toleransi atau batas iterasi maksimum tercapai.
newton_raphson <- function(x0, tol = 1e-5, max_iter = 20) {
x <- x0
hasil <- data.frame(
Iterasi = 0,
x = x,
fx = f_newton(x),
Error = NA_real_
)
for (i in seq_len(max_iter)) {
turunan <- df_newton(x)
if (!is.finite(turunan) || abs(turunan) < .Machine$double.eps) {
return(list(tabel = hasil,
status = "Iterasi dihentikan: turunan nol/tidak valid."))
}
x_baru <- x - f_newton(x) / turunan
error <- abs(x_baru - x)
hasil <- rbind(
hasil,
data.frame(
Iterasi = i,
x = x_baru,
fx = f_newton(x_baru),
Error = error
)
)
x <- x_baru
if (error <= tol) {
return(list(tabel = hasil,
status = "Toleransi galat terpenuhi."))
}
}
list(tabel = hasil, status = "Batas iterasi maksimum tercapai.")
}
hasil_newton <- newton_raphson(
x0 = 3,
tol = 0.00001,
max_iter = 20
)
knitr::kable(hasil_newton$tabel, digits = 9,
caption = "Tabel Iterasi Metode Newton-Raphson")
| Iterasi | x | fx | Error |
|---|---|---|---|
| 0 | 3.000000 | -0.465692497 | NA |
| 1 | 3.138772 | -0.008984887 | 0.138772487 |
| 2 | 3.141590 | -0.000007963 | 0.002817665 |
| 3 | 3.141593 | 0.000000000 | 0.000002502 |
hasil_newton$status
#> [1] "Toleransi galat terpenuhi."
Berdasarkan perhitungan, nilai hampiran bergerak dari 3 menuju \(\pi\). Setelah tiga pembaruan dari tebakan awal, nilai hampiran mendekati 3,141592654 dan galat absolutnya sekitar 0,000002502. Nilai galat tersebut lebih kecil daripada toleransi 0,00001 sehingga kriteria penghentian telah terpenuhi.
akar_newton <- tail(hasil_newton$tabel, 1)
knitr::kable(
data.frame(
Akar_Hampiran = akar_newton$x,
Nilai_Fungsi = akar_newton$fx,
Iterasi_Pembaruan = akar_newton$Iterasi,
Error_Absolut = akar_newton$Error
),
digits = 10,
caption = "Ringkasan Hasil Metode Newton-Raphson"
)
| Akar_Hampiran | Nilai_Fungsi | Iterasi_Pembaruan | Error_Absolut |
|---|---|---|---|
| 3.141593 | 0 | 3 | 2.5018e-06 |
Hasil ini sesuai dengan sifat fungsi karena \(f(\pi)=0\) secara matematis. Nilai hampiran yang diperoleh menunjukkan bahwa Newton-Raphson berhasil untuk fungsi dan tebakan awal yang digunakan. Perbedaan kecil pada digit terakhir dapat terjadi akibat pembulatan komputer.
Fungsi Secant yang digunakan memuat logaritma natural dengan argumen \(2x^4-3x\). Oleh karena itu, fungsi hanya menghasilkan nilai real apabila argumen logaritma bernilai positif. Pemeriksaan nilai awal dan nilai baru harus dilakukan sebelum melanjutkan proses iterasi.
f_secant <- function(x) {
argumen_log <- 2 * x^4 - 3 * x
if (any(argumen_log <= 0)) {
return(rep(NA_real_, length(x)))
}
exp(-x^2) - log(argumen_log) * cos(x) + 4
}
x0 <- 2
x1 <- 3
data_awal_secant <- data.frame(
x = c(x0, x1),
Argumen_Logaritma = 2 * c(x0, x1)^4 - 3 * c(x0, x1),
Nilai_Fungsi = f_secant(c(x0, x1))
)
knitr::kable(data_awal_secant, digits = 9,
caption = "Pemeriksaan Dua Nilai Awal Metode Secant")
| x | Argumen_Logaritma | Nilai_Fungsi |
|---|---|---|
| 2 | 26 | 5.374162 |
| 3 | 153 | 8.980219 |
Dengan menggunakan dua nilai awal tersebut, rumus Secant menghasilkan hampiran berikutnya sekitar 0,509684621. Pada nilai ini, argumen logaritma \(2x^4-3x\) bernilai negatif sehingga fungsi tidak terdefinisi dalam bilangan real. Oleh karena itu, iterasi tidak dapat dilanjutkan untuk fungsi real sebagaimana tertulis pada batasan masalah.
fx0 <- f_secant(x0)
fx1 <- f_secant(x1)
x2 <- x1 - fx1 * (x1 - x0) / (fx1 - fx0)
argumen_x2 <- 2 * x2^4 - 3 * x2
hasil_pemeriksaan_secant <- data.frame(
x0 = x0,
x1 = x1,
f_x0 = fx0,
f_x1 = fx1,
x2 = x2,
Argumen_Logaritma_x2 = argumen_x2,
Status = ifelse(argumen_x2 > 0,
"Dapat dievaluasi pada bilangan real",
"Di luar domain fungsi real")
)
knitr::kable(hasil_pemeriksaan_secant, digits = 9,
caption = "Hasil Iterasi Pertama dan Pemeriksaan Domain Secant")
| x0 | x1 | f_x0 | f_x1 | x2 | Argumen_Logaritma_x2 | Status |
|---|---|---|---|---|---|---|
| 2 | 3 | 5.374162 | 8.980219 | 0.5096846 | -1.394084 | Di luar domain fungsi real |
Hasil tersebut menunjukkan bahwa masalah bukan terletak pada rumus iterasi Secant, melainkan pada nilai hampiran baru yang keluar dari domain fungsi. Nilai fungsi pada hampiran tersebut tidak boleh dihitung sebagai bilangan real karena logaritma dari bilangan negatif tidak terdefinisi dalam bilangan real. Dengan demikian, keluaran akar sekitar -0,645981 yang tercantum pada laporan contoh tidak dapat dibenarkan dari fungsi dan nilai awal yang tertulis.
Berdasarkan pemeriksaan, metode Secant dengan \(x_0=2\) dan \(x_1=3\) tidak berhasil menyelesaikan fungsi sebagaimana tertulis pada batasan masalah. Proses harus dihentikan setelah nilai baru pertama keluar dari domain real, sehingga tidak ada akar real yang sah yang dapat dilaporkan dari iterasi tersebut. Untuk memperoleh hasil Secant yang valid, fungsi atau nilai awal perlu dikonfirmasi kembali kepada pengampu praktikum sebelum perhitungan diubah.
Metode Newton-Raphson berhasil memenuhi toleransi karena fungsi, turunannya, dan tebakan awal yang digunakan menghasilkan iterasi yang menuju akar. Metode Secant tidak dapat dilanjutkan karena nilai hampiran pertama berada di luar domain fungsi logaritma. Perbandingan ini menunjukkan bahwa keberhasilan metode numerik tidak hanya ditentukan oleh rumus iterasi, tetapi juga oleh ketepatan penulisan fungsi, domain, dan pemilihan nilai awal.
Terdapat beberapa ketidaksesuaian pada laporan contoh yang perlu diperbaiki. Pertama, notasi fungsi Newton-Raphson harus ditulis jelas sebagai \(10\sin x\cos x/x\) agar sesuai dengan turunan dan hasil akar yang mendekati \(\pi\). Kedua, tabel Secant pada laporan contoh memuat nilai fungsi setelah iterasi yang tidak dapat diperoleh sebagai bilangan real dari fungsi logaritma yang tertulis, sehingga akar akhirnya tidak boleh langsung dinyatakan valid.
Selain itu, perbandingan galat dengan toleransi pada laporan contoh juga tidak tepat. Nilai 0,000031504 lebih besar daripada 0,00001, bukan lebih kecil. Karena itu, pernyataan bahwa toleransi telah terpenuhi berdasarkan angka tersebut harus dihapus atau diperbaiki setelah program yang benar dijalankan.
Metode Newton-Raphson dan metode Secant merupakan metode numerik yang dapat digunakan untuk mencari hampiran akar persamaan nonlinier. Newton-Raphson menggunakan satu tebakan awal dan turunan pertama, sedangkan Secant menggunakan dua tebakan awal tanpa menghitung turunan secara eksplisit. Kedua metode memerlukan pemeriksaan galat, batas iterasi, dan syarat fungsi agar hasil yang diperoleh dapat dipertanggungjawabkan.
Pada fungsi Newton-Raphson \(f(x)=10\sin x\cos x/x\) dengan tebakan awal 3, diperoleh akar hampiran sekitar 3,141592654. Galat absolut setelah tiga pembaruan sekitar 0,000002502, sehingga lebih kecil daripada toleransi 0,00001. Dengan demikian, metode Newton-Raphson memenuhi kriteria penghentian untuk permasalahan pertama.
Pada fungsi Secant yang tertulis dalam batasan masalah, nilai awal 2 dan 3 menghasilkan hampiran pertama sekitar 0,509684621. Argumen logaritma pada hampiran tersebut bernilai negatif sehingga fungsi tidak terdefinisi dalam bilangan real dan iterasi harus dihentikan. Oleh karena itu, akar -0,645981 yang tercantum dalam laporan contoh tidak dapat diterima sebagai hasil yang valid dari fungsi dan nilai awal tersebut.
Sebelum menjalankan metode numerik, praktikan sebaiknya memeriksa kembali penulisan fungsi, tanda operasi, pangkat, serta domainnya. Pemilihan nilai awal perlu mempertimbangkan perilaku fungsi agar iterasi tidak menghasilkan nilai yang tidak terdefinisi. Selain itu, program perlu memeriksa penyebut rumus iterasi, nilai turunan, galat, dan batas iterasi agar hasil yang ditampilkan dapat dipercaya.
Andini, M., & Suryadi, A. (2021). Analisis aplikasi metode secant pada sistem distribusi daya listrik. Padang: Universitas Negeri Padang.
Aisyah, I., & Ikhsan, A. (2025). Analisa performa metode Newton-Raphson dan iterasi titik tetap untuk menyelesaikan akar sistem persamaan non-linier. Pamulang: Universitas Pamulang.
Erviana, B. S., Amrullah, A., Triutami, T. W., & Subarinah, S. (2023). Efisiensi penyelesaian numerik persamaan non-linear dengan metode Newton-Raphson dan metode Secant menggunakan program software berbasis Python. Mataram: Universitas Mataram.
Fitriani, U., Ahadiyyah, S., & Wibowo, A. (2025). Penyelesaian persamaan non linear dengan metode bagi dua dan posisi palsu menggunakan Excel dan Matlab. Surakarta: UIN Surakarta.
Rini, D. S. (2026). Modul Praktikum Metode Numerik. Laboratorium Matematika, Jurusan Matematika, FMIPA, Universitas Bengkulu.