Tema
MODUL PRAKTIKUM MATA KULIAH
KOMPUTASI NUMERIK
MODUL 5: INTERPOLASI POLINOM (LAGRANGE, NEWTON, DAN GALAT INTERPOLASI)
JURUSAN TEKNIK KOMPUTER DAN INFORMATIKA
POLITEKNIK NEGERI BANDUNG
2026
LEMBAR PERSETUJUAN
INTERPOLASI POLINOM (LAGRANGE, NEWTON, DAN GALAT INTERPOLASI)
| Proses | Jabatan | Nama | Tanda Tangan |
|---|---|---|---|
| Disusun oleh | Pengampu Praktikum Mata Kuliah Komputasi Numerik | ||
| Diperiksa oleh | Ketua Kelompok Bidang Keahlian (KBK) Multimedia | ||
| Disahkan oleh | Ketua Program Sarjana Terapan Teknik Informatika |
PUBLISHED BY
Jurusan Teknik Komputer & Informatika Politeknik Negeri Bandung
Jl. Gegerkalong Hilir, Desa Ciwaruga, Kecamatan Parongpong, Kabupaten Bandung Barat, Jawa Barat 40559
Copyright © 2026 by JTK POLBAN
All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher.
| Penanggung jawab | : Iwan Awaludin |
| Penanggung jawab | : Muhammad Rizqi Sholahuddin |
| Tim Penulis | : Tim Praktikum Komputasi Numerik |
KATA PENGANTAR
Puji syukur ke hadirat Tuhan Yang Maha Esa, karena berkat karunia dan rida-Nya "INTERPOLASI POLINOM (LAGRANGE, NEWTON, DAN GALAT INTERPOLASI)" telah selesai disusun.
Penyusunan "INTERPOLASI POLINOM (LAGRANGE, NEWTON, DAN GALAT INTERPOLASI)" ini bertujuan untuk memberikan petunjuk dan prosedur operasional baku (POB) mengenai proses kegiatan praktikum, mulai dari tahap persiapan, pelaksanaan, pelaporan, dan evaluasi untuk penilaian. Melalui modul ini diharapkan proses praktikum dapat mudah dipahami, baik oleh mahasiswa dan dosen di lingkungan Jurusan Teknik Komputer dan Informatika Politeknik Negeri Bandung.
Banyak persoalan rekayasa bermuara pada data tabel: hasil pengukuran laboratorium, tabel kalibrasi sensor, tabel fungsi matematika, hingga data sensor per detik. Pertanyaan yang hampir selalu muncul adalah: berapa nilai besaran di antara dua entri tabel, tanpa melakukan pengukuran atau perhitungan ulang dari awal? Interpolasi polinom (polynomial interpolation) menjawabnya dengan memasang satu polinom yang melewati seluruh titik data, lalu membaca nilai polinom itu di titik yang diinginkan. Modul 5 melatih dua keluarga metode klasik: polinom Lagrange (Lagrange polynomial) yang simetris dan langsung dari definisi, serta polinom Newton dengan selisih terbagi (divided difference) yang dapat menampung titik baru tanpa menghitung ulang dari nol. Mahasiswa juga mempelajari rumus galat interpolasi (interpolation error) lalu mengujinya secara eksperimental, hingga bertemu fenomena Runge (Runge phenomenon): bukti terkenal bahwa menaikkan derajat polinom pada titik berjarak sama justru dapat merusak hampiran. Materi modul ini menyambung modul-modul sebelumnya: pembentukan polinom secara naif melalui sistem persamaan lanjar (Modul 4), koefisien deret Taylor sebagai pembanding perilaku (Modul 2), dan interpolasi terbalik yang berujung pada pencarian akar (Modul 3).
Semoga modul ini bermanfaat untuk memperkuat pelaksanaan pengajaran di Jurusan Teknik Komputer & Informatika Politeknik Negeri Bandung, sehingga transparansi dan akuntabilitas kinerja bidang akademik dapat tercapai.
Bandung, 2026
DAFTAR ISI
| Judul | Halaman |
|---|---|
| LEMBAR PERSETUJUAN | i |
| KATA PENGANTAR | iii |
| DAFTAR ISI | iv |
| DAFTAR GAMBAR | v |
| DAFTAR TABEL | vi |
| IDENTITAS MATA KULIAH, PROGRAM STUDI DAN KURIKULUM | vii |
| CAPAIAN PEMBELAJARAN | viii |
| BAGIAN I. BAHAN KAJIAN | 1 |
| I.1. Penggunaan Pedoman | 1 |
| I.2. Ruang Lingkup | 1 |
| I.3. Teknologi | 2 |
| I.4. Studi Kasus | 2 |
| I.5. Konsep yang Digunakan | 3 |
| BAGIAN II. PENYIAPAN PELAKSANAAN PRAKTIKUM (PREPARATION) | 3 |
| II.1. Peralatan Praktikum | 3 |
| II.2. Keamanan & Keselamatan Kerja | 4 |
| BAGIAN III. PROSEDUR PELAKSANAAN PRAKTIKUM (STEP BY STEP) | 6 |
| III.1. Teori Singkat: Interpolasi Polinom | 6 |
| III.2. Environment & Setup Praktikum | 9 |
| III.3. Task I: Interpolasi Linier dan Kuadratik | 10 |
| III.4. Task II: Polinom Lagrange | 12 |
| III.5. Task III: Polinom Newton dan Selisih Terbagi | 14 |
| III.6. Task IV: Galat Interpolasi dan Fenomena Runge | 16 |
| III.7. Kesimpulan Praktikum | 18 |
| III.8. Tugas Praktikum | 19 |
| III.9. Soal Latihan HOTS: Pemrograman ala Kompetisi (Kumulatif Modul 1 sampai 5) | 20 |
| BAGIAN IV. MEDIA DAN MEKANISME PENGUMPULAN | 23 |
| BAGIAN V. PEMBAHASAN DAN EVALUASI HASIL PRAKTIKUM | 24 |
| DAFTAR PUSTAKA | 25 |
| LAMPIRAN | 26 |
DAFTAR GAMBAR
Gambar 1. Interpolasi Linier dan Kuadratik pada Tabel ln x
Gambar 2. Polinom Lagrange Orde-3 pada Tabel ln x
Gambar 3. Fenomena Runge: Polinom Derajat Tinggi dengan Titik Berjarak Sama
Gambar 4. Fungsi Runge dengan Titik Chebyshev
DAFTAR TABEL
Tabel 1. Pemetaan Capaian Pembelajaran Mata Kuliah (CPMK) Terhadap Modul Praktikum Komputasi Numerik
Tabel 2. Perbandingan Tiga Pendekatan Pembentukan Polinom Interpolasi
Tabel 3. Data Uji Interpolasi: Tabel ln x (Empat Angka Bena)
Tabel 4. Perbandingan Hasil Interpolasi Linier dan Kuadratik pada x = 2.5
Tabel 5. Tabel Selisih Terbagi untuk Data Tabel 3
Tabel 6. Galat Maksimum Interpolasi Runge: Titik Berjarak Sama vs Titik Chebyshev
Tabel 7. Panduan Memilih Metode Interpolasi Polinom
Tabel 8. Standar Penamaan Proyek dan Berkas Pengumpulan Praktikum Komputasi Numerik
Tabel 9. Rubrik dan Matriks Kriteria Penilaian Evaluasi Praktikum
IDENTITAS MATA KULIAH, PROGRAM STUDI DAN KURIKULUM
| Atribut | Keterangan |
|---|---|
| Mata Kuliah | : Komputasi Numerik (Praktikum) |
| Mata Kuliah (Inggris) | : Numerical Computing (Practicum) |
| Kode Mata Kuliah | : 25TI3101 |
| SKS | : 3 (2 Teori, 1 Praktikum) |
| Sifat Pengambilan | : Wajib |
| Bentuk Pembelajaran | : Tutorial, Praktik |
| Metode Pembelajaran | : Problem Based Learning, Project Based Learning |
| Media | : Offline / Daring (Google Colab) |
| Semester | : V |
| Kelompok Mata Kuliah | : Mata Kuliah KBK Multimedia |
| Program Pendidikan | : Sarjana Terapan (D-4) Prodi Teknik Informatika |
| Jurusan | : Teknik Komputer & Informatika |
| Penyusun | : Iwan Awaludin |
CAPAIAN PEMBELAJARAN
Tabel 1. Pemetaan Capaian Pembelajaran Mata Kuliah (CPMK) Terhadap Modul Praktikum Komputasi Numerik
| CAPAIAN PEMBELAJARAN MATA KULIAH | INTEGRASI DENGAN MODUL PRAKTIKUM |
|---|---|
| CPMK 1 Mahasiswa mampu menjelaskan konsep galat numerik, galat pemotongan, dan galat pembulatan dalam komputasi. | MODUL 1 |
| CPMK 2 Mahasiswa mampu menerapkan algoritma numerik untuk menyelesaikan masalah matematika yang kompleks. | MODUL 3, 4, 5, 6 |
| CPMK 3 Mahasiswa mampu menganalisis kestabilan, akurasi, dan konvergensi suatu metode numerik. | MODUL 2, 3, 5, 6 |
| CPMK 4 Mahasiswa mampu mengimplementasikan metode numerik menggunakan bahasa pemrograman. | MODUL 2, 4, 5, 8 |
| CPMK 5 Mahasiswa mampu menyelesaikan permasalahan rekayasa dan sains secara numerik dengan pendekatan yang sistematis dan kritis. | MODUL 7, 9, 10, 11 |
BAGIAN I. BAHAN KAJIAN
I.1. Penggunaan Pedoman
Pedoman ini memberikan instruksi sistematis mengenai tata cara persiapan, pengoperasian, penyelesaian tugas praktikum interpolasi polinom untuk mata kuliah Komputasi Numerik, hingga mekanisme evaluasi. Baca BAGIAN II sebelum praktikum dimulai, kerjakan BAGIAN III secara berurutan dari Task I, lalu kumpulkan hasil pekerjaan sesuai BAGIAN IV.
I.2. Ruang Lingkup
Kegiatan mencakup interpolasi linier (linear interpolation) dan kuadratik (quadratic interpolation) pada data tabel beserta pengaruh pemilihan titik, polinom Lagrange (Lagrange polynomial) untuk
I.3. Teknologi
Berikut adalah teknologi yang digunakan pada modul praktikum ini:
- Bahasa Pemrograman Python (versi 3.10 atau 3.11).
- Google Colaboratory (Google Colab), yaitu lingkungan komputasi berbasis cloud yang tampilannya seperti Jupyter Notebook, atau Jupyter Notebook / JupyterLab yang terinstal lokal.
- Library NumPy, terpasang otomatis pada Google Colab atau via
pip install numpy. - Library Matplotlib untuk visualisasi hasil (
pip install matplotlib). - Peramban modern (Google Chrome / Mozilla Firefox) untuk mengakses Google Colab.
I.4. Studi Kasus
Studi kasus utama adalah pembangunan mesin penaksir tabel (table interpolator): dari tabel empat titik
I.5. Konsep yang Digunakan
Interpolasi, Ekstrapolasi, dan Regresi: Interpolasi memasang fungsi yang nilainya persis sama dengan data pada setiap titik data (curve fitting yang melewati semua titik); ekstrapolasi adalah membaca nilai di luar rentang titik data; regresi (regression) sebaliknya membiarkan kurva tidak melewati titik demi menolak derau (noise) pengukuran. Ibarat menghubungkan dua kota yang jaraknya diketahui: interpolasi menaksir jarak kota di antara keduanya, ekstrapolasi menerka jarak kota ketiga di luar rute (makin jauh di luar peta, makin spekulatif), sedangkan regresi menarik garis tren dari banyak titik pengukuran yang bercampur derau.
Polinom Lagrange: Bentuk langsung polinom interpolasi sebagai kombinasi basis kardinal
Selisih Terbagi dan Polinom Newton: Selisih terbagi
Galat Interpolasi:
Fenomena Runge dan Titik Chebyshev: Untuk fungsi yang berubah cepat, polinom berderajat tinggi dengan titik berjarak sama berosilasi makin liar di dekat ujung selang saat derajat ditambah; Runge (1901) membuktikannya pada
BAGIAN II. PENYIAPAN PELAKSANAAN PRAKTIKUM (PREPARATION)
II.1. Peralatan Praktikum
Kebutuhan peralatan praktikum dapat dilihat pada daftar berikut:
Perangkat Keras (Hardware):
- PC/Laptop (Processor Dual-Core 2.0 GHz+, RAM minimal 4 GB, Ruang Disk minimal 2 GB).
- Koneksi internet yang stabil (wajib apabila menggunakan Google Colab).
Perangkat Lunak Sistem (System Software):
- Sistem Operasi Windows 10/11 64-bit, Linux, atau macOS.
Development Tools:
- Akun Google (Gmail) aktif untuk mengakses Google Colab, atau instalasi Python 3.10/3.11 beserta Jupyter Notebook/JupyterLab untuk penggunaan lokal.
- Library NumPy dan Matplotlib (terpasang otomatis di Colab;
pip install numpy matplotlibuntuk penggunaan lokal). - Peramban modern (Google Chrome / Mozilla Firefox).
II.2. Keamanan & Keselamatan Kerja
Komputer merupakan perangkat teknologi komunikasi dan informasi yang sering digunakan dewasa ini. Pada saat bekerja dengan komputer ada beberapa hal yang harus diperhatikan agar tidak berdampak buruk bagi kesehatan bahkan keselamatan kita. Komputer dapat menyebabkan penggunanya menderita nyeri otot dan tulang terutama bahu, pergelangan tangan, leher, punggung, pinggang bagian bawah, mata merah berair, bahkan gangguan penglihatan.
Beberapa hal yang bisa dilakukan untuk menghindari efek negatif dari bekerja dengan komputer:
- Aturlah posisi tubuh saat bekerja dengan komputer sehingga merasa nyaman.
- Aturlah posisi perangkat komputer dan ruangan sehingga memberi rasa nyaman.
- Makan, minum, dan istirahatlah yang cukup.
- Gerakkan badan untuk mengurangi ketegangan otot dan pikiran, dan olahragalah secara teratur.
- Sesekali alihkan pandangan ke luar ruangan untuk menyegarkan mata.
Mengatur posisi tubuh:
- Posisi Kepala & Leher harus tegak lurus dengan wajah menghadap langsung ke komputer, jangan menengadah atau membungkuk.
- Posisi Punggung yang baik adalah tegak, tidak miring ke kanan/kiri, tidak membungkuk dan tidak menyandar terlalu ke belakang.
- Posisi Pundak tidak terlalu terangkat dan tidak terlalu ke bawah, pastikan otot pundak tidak tegang.
- Posisi Lengan & Siku yang baik adalah apabila mengetik dan menggunakan mouse dengan nyaman.
- Posisi Kaki harus bebas, diluruskan sesekali agar aliran darah lancar.
Mengatur Posisi Komputer:
- Monitor harus diletakkan di tempat yang tidak memantulkan cahaya lain.
- Letakkan monitor lebih rendah dari garis horizontal mata.
- Aturlah cahaya monitor (kontras/kecerahan) agar tidak terlalu gelap dan terang.
- Sering-seringlah mengedipkan mata (minimal 5 detik setiap 10 menit).
Istirahat Mata: Terapkan aturan 20-20-20, yaitu setiap 20 menit alihkan pandangan ke objek yang berjarak 20 kaki (±6 meter) selama 20 detik, untuk mencegah kelelahan mata akibat paparan monitor visual.
BAGIAN III. PROSEDUR PELAKSANAAN PRAKTIKUM (STEP BY STEP)
III.1. Teori Singkat: Interpolasi Polinom
Diberikan
Jalur naif lewat sistem persamaan lanjar (Modul 4). Sulihkan tiap titik ke
Interpolasi linier. Dengan dua titik
dan dengan tiga titik diperoleh parabola
Polinom Lagrange. Didefinisikan lewat basis kardinal:
Perhatikan sifat pembunuh kuncinya:
Selisih terbagi dan polinom Newton. Didefinisikan rekursif:
lalu polinom Newton dibangun bertahap:
Nilai-nilai selisih terbagi dihitung sekali lewat tabel segitiga; menambah satu titik data hanya menambah satu baris tabel dan satu koefisien baru (sifat menular/incremental), dan evaluasi polinom hanya membutuhkan
Tabel 2. Perbandingan Tiga Pendekatan Pembentukan Polinom Interpolasi
| Aspek | Naif via SPL (Vandermonde) | Lagrange | Newton (selisih terbagi) |
|---|---|---|---|
| Bentuk | koefisien | kombinasi basis | suku bertingkat dengan selisih terbagi |
| Biaya pembentukan | |||
| Menambah titik baru | selesaikan ulang semua | hitung ulang semua bobot | tambah satu koefisien saja |
| Kondisi numerik | memburuk cepat untuk | baik untuk | baik untuk |
| Kegunaan khas | bukti keberadaan/keunikan | data tetap, rumus simetris | data bertambah, tabel transparan |
Galat interpolasi. Untuk fungsi asal
dengan
Interpolasi terbalik. Untuk menjawab "pada
III.2. Environment & Setup Praktikum
Praktikum menggunakan Google Colab (direkomendasikan) atau Jupyter Notebook lokal dengan Python 3.10/3.11. Prosedur pembuatan notebook, anatomi sel notebook, dan verifikasi environment identik dengan Modul 1 (BAGIAN III.2). Pastikan import numpy as np dan import matplotlib.pyplot as plt berjalan tanpa galat.
III.3. Task I: Interpolasi Linier dan Kuadratik
TASK I: MENAKSIR ln 2.5 DARI TABEL ln x
Task pembuka memakai masalah paling kuno interpolasi: menaksir nilai tabel di antara dua entri, seperti pembaca tabel logaritma era sebelum kalkulator.
- Data uji sepanjang modul adalah tabel
empat angka bena:
Tabel 3. Data Uji Interpolasi: Tabel ln x (Empat Angka Bena)
| 0 | 1 | 2 | 3 | |
|---|---|---|---|---|
| 1.0 | 2.0 | 3.0 | 4.0 | |
| 0.0000 | 0.6931 | 1.0986 | 1.3863 |
Nilai eksak math.log) menjadi pembanding galat, karena target task ini justru mengukur seberapa dekat taksiran tabel ke nilai sejati.
- Interpolasi linier antara dua titik yang mengapit
, yaitu dan :
python
import math
x_tabel = [1.0, 2.0, 3.0, 4.0]
y_tabel = [0.0, 0.6931, 1.0986, 1.3863] # ln x, dibulatkan 4 desimal
def interpolasi_linier(x0, y0, x1, y1, x):
"""p1(x): garis lurus melalui (x0,y0) dan (x1,y1), dievaluasi di x."""
return y0 + (y1 - y0) / (x1 - x0) * (x - x0)
p1 = interpolasi_linier(2.0, 0.6931, 3.0, 1.0986, 2.5)
eksak = math.log(2.5)
print(f"p1(2.5) = {p1:.6f}")
print(f"eksak = {eksak:.6f}")
print(f"Ea = {abs(eksak - p1):.4e} Er = {abs(eksak - p1)/eksak*100:.2f}%")Cara membaca kode (bahasa awam):
x_tabeldany_tabel= dua daftar sejajar: entri ke- dari keduanya membentuk satu titik data ; memisahkan kolom x dan y seperti ini akan memudahkan pemakaian ulang di task berikutnya.def interpolasi_linier(...)= rumus garis lurus dua titik: mulai dari , berjalan sejauh kemiringan dikali jarak . Kemiringan inilah satu-satunya informasi bentuk yang dipakai; seluruh kelengkungan fungsi asal diabaikan.eksak = math.log(2.5)= nilai sejati dari fungsi asal. Dalam praktik nyata fungsi asal tidak diketahui (hanya tabelnya), tetapi untuk belajar kita sengaja memakai fungsi yang diketahui agar galat bisa diukur.- Baris
printterakhir = mencetak galat absolut (selisih taksiran terhadap eksak) dan galat relatifnya dalam persen, melanjutkan definisi Modul 1.
Output:
p1(2.5) = 0.895850
eksak = 0.916291
Ea = 2.0441e-02 Er = 2.23%- Interpolasi kuadratik memakai tiga titik. Ada dua pilihan titik yang memuat
: trio dan trio . Uji keduanya:
python
def newton_kuadratik(xs, ys, x):
"""p2(x) untuk tiga titik (xs, ys), koefisien lewat selisih terbagi."""
b0 = ys[0]
b1 = (ys[1] - ys[0]) / (xs[1] - xs[0])
b2 = ((ys[2] - ys[1]) / (xs[2] - xs[1]) - b1) / (xs[2] - xs[0])
return b0 + b1 * (x - xs[0]) + b2 * (x - xs[0]) * (x - xs[1])
p2a = newton_kuadratik([1.0, 2.0, 3.0], [0.0, 0.6931, 1.0986], 2.5)
p2b = newton_kuadratik([2.0, 3.0, 4.0], [0.6931, 1.0986, 1.3863], 2.5)
print(f"p2 titik 1,2,3 : {p2a:.6f} Ea = {abs(eksak - p2a):.4e}")
print(f"p2 titik 2,3,4 : {p2b:.6f} Ea = {abs(eksak - p2b):.4e}")Cara membaca kode (bahasa awam):
b0 = ys[0]= koefisien pertama polinom Newton: cukup nilai fungsi di titik pertama.b1 = ...= selisih terbagi orde satu antara dua titik pertama; pada dua titik berjarak 1 ini nilainya sama dengan kemiringan garis pada interpolasi linier.b2 = ...= selisih terbagi orde dua: selisih dua kemiringan, dibagi jarak total titik terluar. Inilah suku yang "mengangkat" garis menjadi parabola dan mulai menangkap kelengkungan fungsi.- Dua baris terakhir = menguji dua trio titik. Keduanya sah secara matematis (parabola melewati tiga titiknya masing-masing), dan justru perbedaan hasilnyalah yang menjadi bahan analisis.
Output:
p2 titik 1,2,3 : 0.931800 Ea = 1.5509e-02
p2 titik 2,3,4 : 0.910575 Ea = 5.7157e-03- Rangkum ke dalam tabel perbandingan:
Tabel 4. Perbandingan Hasil Interpolasi Linier dan Kuadratik pada x = 2.5
| Polinom | Titik yang dipakai | Taksiran | Galat absolut |
|---|---|---|---|
| Linier | 2, 3 | 0.895850 | |
| Kuadratik | 1, 2, 3 | 0.931800 | |
| Kuadratik | 2, 3, 4 | 0.910575 |
- Visualisasikan ketiga kurva terhadap fungsi eksak pada rentang
:
python
import numpy as np
import matplotlib.pyplot as plt
xs = np.linspace(1.0, 4.0, 300)
plt.figure(figsize=(8, 4.5))
plt.plot(xs, np.log(xs), color="k", lw=2.2, label="ln x (eksak)")
plt.plot(xs, [interpolasi_linier(2.0, 0.6931, 3.0, 1.0986, t) for t in xs],
"--", label="p1 (2,3)")
plt.plot(xs, [newton_kuadratik([1.0, 2.0, 3.0], [0.0, 0.6931, 1.0986], t) for t in xs],
"--", label="p2 (1,2,3)")
plt.plot(xs, [newton_kuadratik([2.0, 3.0, 4.0], [0.6931, 1.0986, 1.3863], t) for t in xs],
"--", label="p2 (2,3,4)")
plt.plot([2.5], [math.log(2.5)], "o", ms=9, color="tab:red", label="target ln 2.5")
plt.xlabel("x"); plt.ylabel("y")
plt.title("Interpolasi Linier dan Kuadratik pada Tabel ln x")
plt.legend(); plt.grid(True)
plt.show()
- Tuliskan Lesson Learnt dari Tabel 4: (a) memperbanyak titik tidak otomatis memperbaiki taksiran, karena trio
kalah dari trio meski keduanya berderajat dua; (b) apa ciri trio terbaik, dan bagaimana kaitannya dengan faktor yang mengecil ketika titik-titik mengapit rapat di sekitar target?
Penjelasan: Untuk
III.4. Task II: Polinom Lagrange
TASK II: POLINOM LAGRANGE ORDE-3 UNTUK EMPAT TITIK
Sekarang kita memakai seluruh empat titik tabel sekaligus lewat rumus yang simetris dan berlaku untuk sebarang sebaran titik.
- Implementasikan polinom Lagrange untuk
titik sebarang:
python
def lagrange(xs, ys, x):
"""p_n(x): polinom Lagrange untuk titik-titik (xs, ys)."""
n = len(xs)
jumlah = 0.0
for i in range(n):
L = 1.0
for j in range(n):
if j != i:
L *= (x - xs[j]) / (xs[i] - xs[j])
jumlah += ys[i] * L
return jumlahCara membaca kode (bahasa awam):
L = 1.0laluL *= (x - xs[j]) / (xs[i] - xs[j])= membangun basis kardinal : kalikan semua pecahan untuk . Perhatikan pembilang dan penyebut: pada setiap pecahan bernilai 1 sehingga ; pada (titik lain) satu pecahan bernilai 0 sehingga seluruh hasil kali lenyap.jumlah += ys[i] * L= menjumlahkan kontribusi setiap titik data, masing-masing diberi bobot basisnya; seperti pemilihan suara di mana setiap kandidat hanya menerima suara dari daerahnya sendiri.- Kompleksitas = dua perulangan bersarang, kira-kira
operasi untuk satu titik evaluasi; murah untuk tabel kecil, tetapi patut diingat saat tabel membesar.
- Verifikasi dua properti penting, lalu taksir
:
python
print("uji melewati titik data:")
for i in range(4):
print(f" p3({x_tabel[i]}) = {lagrange(x_tabel, y_tabel, x_tabel[i]):.4f}"
f" (harus {y_tabel[i]:.4f})")
p3 = lagrange(x_tabel, y_tabel, 2.5)
print(f"\np3(2.5) = {p3:.7f} Ea = {abs(math.log(2.5) - p3):.4e}")Output:
uji melewati titik data:
p3(1.0) = 0.0000 (harus 0.0000)
p3(2.0) = 0.6931 (harus 0.6931)
p3(3.0) = 1.0986 (harus 1.0986)
p3(4.0) = 1.3863 (harus 1.3863)
p3(2.5) = 0.9211875 Ea = 4.90e-03Bandingkan dengan Tabel 4: polinom kubik (empat titik) menghasilkan galat
, hanya sedikit lebih baik daripada kuadratik terpusat ( ) meski memakai satu titik tambahan, dan tidak mengalahkannya dengan selisih besar. Catat pula arah melesetnya: taksiran 0.9212 berada di atas nilai eksak; tanda (arah) meleset ini akan bisa dijelaskan setelah tabel selisih terbagi diperoleh pada Task III.Plot polinom orde-3 pada rentang yang lebih lebar,
, untuk mengamati perilaku di luar rentang titik (ekstrapolasi):
python
xs = np.linspace(0.5, 4.5, 400)
plt.figure(figsize=(8, 4.5))
plt.plot(xs, np.log(xs), color="k", lw=2.2, label="ln x (eksak)")
plt.plot(xs, [lagrange(x_tabel, y_tabel, t) for t in xs], "--",
lw=1.8, label="p3 Lagrange (4 titik)")
plt.plot(x_tabel, y_tabel, "s", ms=7, color="tab:orange", label="titik data")
plt.ylim(-1.5, 2.0)
plt.xlabel("x"); plt.ylabel("y")
plt.title("Polinom Lagrange Orde-3 pada Tabel ln x")
plt.legend(); plt.grid(True)
plt.show()Perhatikan pada plot: kurva polinom menempel pada fungsi eksak di sekitar titik-titik data, mulai melenceng di antara titik, dan menjauh paling kencang di luar rentang

- Tuliskan Lesson Learnt: (a) mengapa verifikasi
p3(x_i) = y_ipenting dilakukan sebelum memakai fungsi interpolasi; (b) mengapa ekstrapolasi lebih berbahaya daripada interpolasi, dikaitkan dengan yang tumbuh sebagaimana dianalisis pada teori; (c) kapan menambah titik (derajat) sepadan dan kapan tidak.
Penjelasan: Galat interpolasi nol di titik data dan membesar ke arah ujung rentang; di luar rentang, setiap faktor
III.5. Task III: Polinom Newton dan Selisih Terbagi
TASK III: TABEL SELISIH TERBAGI + SIFAT MENAMBAH TITIK
Metode ketiga menghitung koefisien secara bertingkat lewat tabel, lalu menunjukkan keunggulan yang tidak dimiliki Lagrange: data baru masuk tanpa menghitung ulang.
- Implementasikan tabel selisih terbagi dan evaluasi polinom Newton:
python
import numpy as np
def tabel_selisih_terbagi(xs, ys):
"""Matriks segitiga ST; kolom j menyimpan selisih terbagi orde j."""
n = len(xs)
ST = np.zeros((n, n))
ST[:, 0] = ys # kolom 0 = f[xi]
for j in range(1, n): # isi kolom demi kolom ke kanan
for i in range(n - j):
ST[i, j] = (ST[i+1, j-1] - ST[i, j-1]) / (xs[i+j] - xs[i])
return ST
def newton_polinom(ST, xs, x):
"""Evaluasi p_n(x) dari koefisien baris pertama tabel selisih terbagi."""
jumlah = ST[0, 0] # suku pertama: f[x0]
faktor = 1.0
for j in range(1, len(xs)):
faktor *= (x - xs[j-1]) # (x-x0)(x-x1)...(x-x_{j-1})
jumlah += ST[0, j] * faktor
return jumlah
ST = tabel_selisih_terbagi(x_tabel, y_tabel)
for i in range(4):
print(f"{x_tabel[i]:6.1f} {ST[i,0]:8.4f} {ST[i,1]:10.4f} "
f"{ST[i,2]:12.4f} {ST[i,3]:14.4f}")
p3 = newton_polinom(ST, x_tabel, 2.5)
print(f"\np3 Newton (2.5) = {p3:.7f} Ea = {abs(math.log(2.5) - p3):.4e}")Cara membaca kode (bahasa awam):
ST[:, 0] = ys= kolom pertama tabel diisi nilai fungsi; itulah selisih terbagi orde nol.ST[i, j] = (ST[i+1, j-1] - ST[i, j-1]) / (xs[i+j] - xs[i])= inti tabel: selisih terbagi orde adalah selisih dua entri kolom sebelumnya (kiri-bawah dikurangi kiri-atas), dibagi jarak kedua titik terluarnya. Satu baris kode ini mewakili seluruh rekursi pada teori.- Perulangan
for j ... for i in range(n - j)= mengisi kolom demi kolom; tiap kolom satu baris lebih pendek dari kolom sebelumnya, membentuk segitiga bawah. newton_polinommembaca hanya baris pertamaST[0, j]= koefisien polinom Newton;faktormengalikan rantai satu per satu sehingga biaya evaluasi hanya sebanding jumlah titik, bukan kuadratnya seperti Lagrange.
Output (koefisien polinom = baris pertama,
1.0 0.0000 0.6931 -0.1438 0.0283
2.0 0.6931 0.4055 -0.0589
3.0 1.0986 0.2877
4.0 1.3863
p3 Newton (2.5) = 0.9211875 Ea = 4.90e-03Tabel 5. Tabel Selisih Terbagi untuk Data Tabel 3
| 0 | 1.0 | 0.0000 | 0.6931 | −0.1438 | 0.0283 |
| 1 | 2.0 | 0.6931 | 0.4055 | −0.0589 | |
| 2 | 3.0 | 1.0986 | 0.2877 | ||
| 3 | 4.0 | 1.3863 |
Nilai
- Tambahkan titik kelima
, (empat angka bena), lalu perluas tabel:
python
x5 = x_tabel + [5.0]
y5 = y_tabel + [1.6094]
ST5 = tabel_selisih_terbagi(x5, y5)
print("koefisien baru (kolom terpendek tabel):")
for j in range(1, 5):
print(f" f[x0,...,x{j}] = {ST5[0, j]:.6f}")
p4 = newton_polinom(ST5, x5, 2.5)
print(f"\np4 (2.5) = {p4:.7f} Ea = {abs(math.log(2.5) - p4):.4e}")Output:
koefisien baru (kolom terpendek tabel):
f[x0,...,x1] = 0.693100
f[x0,...,x2] = -0.143800
f[x0,...,x3] = 0.028300
f[x0,...,x4] = -0.004858
p4 (2.5) = 0.9184547 Ea = 2.16e-03- Tuliskan Lesson Learnt: (a) bandingkan upaya menampung titik baru pada Newton (empat koefisien lama terpakai ulang, hanya koefisien
yang dihitung) dengan Lagrange yang harus menghitung ulang seluruh bobot; (b) amati tren koefisien tinggi yang mengecil ( ) dan kaitkan dengan perilaku yang turunan tingginya makin kecil; (c) mengapa polinom Newton menjadi dasar metode praktis pada pustaka numerik untuk data yang bertambah (misalnya data sensor yang datang per detik).
Penjelasan: Koefisien selisih terbagi orde
III.6. Task IV: Galat Interpolasi dan Fenomena Runge
TASK IV: KETIKA MENAMBAH DERAJAT JUSTRU MERUSAK — FENOMENA RUNGE
Fungsi uji terakhir,
- Hitung galat maksimum interpolasi pada kisi evaluasi rapat, untuk dua penataan titik: berjarak sama dan Chebyshev:
python
import numpy as np
runge = lambda x: 1.0 / (1.0 + 25.0 * x * x)
grid = np.linspace(-1.0, 1.0, 2001) # kisi evaluasi (bukan titik data!)
print(f"{'n':>3} {'jarak-sama':>12} {'Chebyshev':>12}")
for n in [2, 4, 8, 12, 16]:
xe = np.linspace(-1.0, 1.0, n + 1) # titik berjarak sama
xc = np.cos((2 * np.arange(n + 1) + 1) * np.pi / (2 * n + 2)) # Chebyshev
Ee = max(abs(runge(t) - lagrange(xe, runge(xe), t)) for t in grid)
Ec = max(abs(runge(t) - lagrange(xc, runge(xc), t)) for t in grid)
print(f"{n:>3} {Ee:>12.4e} {Ec:>12.4e}")Cara membaca kode (bahasa awam):
runge = lambda x: ...= fungsi uji Carl Runge (1901); bentuknya seperti lonceng tajam di tengah yang landai ke 0 di ujung.grid= 2001 titik pengamat yang merata, bukan titik data; galat maksimum diukur pada kisi ini agar osilasi sempit di antara titik data tidak lolos dari pandangan (trik yang sama dengan pengukuran overshoot Gibbs pada Modul 2).xe = np.linspace(-1.0, 1.0, n+1)= titik data berjarak sama, cara paling alami orang mengambil sampel tabel.xc = np.cos(...)= titik Chebyshev: proyeksi akar polinom Chebyshev ke sumbu-x, yang otomatis menggerombol rapat di kedua ujung selang dan renggang di tengah; rumusnya sekali baris namun efeknya besar.- Dua baris
Ee/Ec= galat terburuk di seluruh kisi untuk masing-masing penataan titik; bandingkan arah perubahannya saat naik.
Output:
n jarak-sama Chebyshev
2 6.4623e-01 6.0060e-01
4 4.3836e-01 4.0202e-01
8 1.0452e+00 1.7083e-01
12 3.6633e+00 6.9216e-02
16 1.4394e+01 3.2613e-02Tabel 6. Galat Maksimum Interpolasi Runge: Titik Berjarak Sama vs Titik Chebyshev
| Derajat | Jarak sama | Chebyshev |
|---|---|---|
| 2 | 0.646 | 0.601 |
| 4 | 0.438 | 0.402 |
| 8 | 1.045 | 0.171 |
| 12 | 3.663 | 0.069 |
| 16 | 14.39 | 0.033 |
- Amati pergantian nasib: hingga
kedua penataan mirip, tetapi mulai galat jarak-sama berbalik membesar (divergen), sedangkan Chebyshev terus mengecil mendekati nol. Plot ketiga polinom jarak-sama untuk melihat bentuk bencananya:
python
xs = np.linspace(-1.0, 1.0, 800)
plt.figure(figsize=(8, 5))
plt.plot(xs, runge(xs), color="k", lw=2.5, label="f(x) eksak")
for n, warna in [(4, "tab:green"), (8, "tab:orange"), (12, "tab:red")]:
xe = np.linspace(-1.0, 1.0, n + 1)
plt.plot(xs, [lagrange(xe, runge(xe), t) for t in xs], "--",
lw=1.4, color=warna, label=f"jarak-sama n = {n}")
plt.ylim(-1.5, 8.0)
plt.xlabel("x"); plt.ylabel("f(x)")
plt.title("Fenomena Runge: Titik Berjarak Sama")
plt.legend(); plt.grid(True)
plt.show()Osilasi liar terkonsentrasi di dekat ujung selang (sekitar

- Ulangi plot dengan titik Chebyshev pada
, 8, dan 12 (derajat yang sama dengan Gambar 3 agar keduanya dapat dibandingkan langsung):

Dengan titik yang dirapatkan di ujung, polinom orde 8 dan 12 hampir menempel pada fungsi eksak di seluruh selang; keunggulan Chebyshev bukan sihir, melainkan pemerataan beban galat: titik rapat menekan
- Tuliskan Lesson Learnt: (a) mengapa "tambah derajat pasti makin akurat" adalah mitos, dan pada fungsi seperti apa mitos itu runtuh; (b) dua jalan keluar yang telah dibuktikan (titik Chebyshev) dan yang disebut di teori (potongan polinom derajat rendah/spline); (c) kaitan dengan analisis
dan besarnya turunan-turunan tinggi fungsi Runge yang tumbuh deras seiring ordena.
Penjelasan: Fenomena Runge adalah kegagalan konvergensi, bukan galat pemrograman. Pada praktik rekayasa, data sering tidak bisa dipilih bebas (titik Chebyshev butuh kebebasan menempatkan sampel), sehingga jalan keluar yang paling umum adalah meninggalkan polinom tunggal: memecah rentang menjadi potongan-potongan pendek yang masing-masing diinterpolasi polinom derajat rendah (kubik) yang dihaluskan sambungannya, dikenal sebagai spline; inilah yang dipakai grafika komputer, CAD, dan animasi. Untuk data yang mengandung derau pengukuran, jalur yang tepat bahkan bukan interpolasi sama sekali, melainkan regresi kuadrat terkecil.
III.7. Kesimpulan Praktikum
Tabel 7. Panduan Memilih Metode Interpolasi Polinom
| Situasi | Rekomendasi | Alasan |
|---|---|---|
| Taksiran cepat di antara dua entri tabel | Linier (dua titik terdekat) | Murah, cukup baik untuk tabel rapat dan fungsi landai |
| Butuh kelengkungan, target di tengah rentang | Kuadratik dengan titik yang mengapit target | $ |
| Data sejumlah kecil-menengah, sebaran bebas | Lagrange | Rumus simetris, berlaku untuk titik tak berjarak sama |
| Data bertambah terus (sensor, streaming) | Newton + tabel selisih terbagi | Titik baru hanya menambah satu koefisien |
| Banyak titik atau fungsi berubah cepat | Spline derajat rendah / titik Chebyshev | Polinom tunggal derajat tinggi berisiko osilasi Runge |
| Data mengandung derau pengukuran | Regresi (bukan interpolasi) | Interpolasi memaksakan melewati derau sehingga ikut meniru galatnya |
Dari seluruh task dapat disimpulkan bahwa: (1) polinom interpolasi derajat
III.8. Tugas Praktikum
Kerjakan soal berikut pada notebook yang sama, kemudian kumpulkan sesuai mekanisme pada BAGIAN IV. Kunci jawaban tersedia pada dosen/tim praktikum dan dibahas pada pertemuan berikutnya.
- Tabel akar kuadrat. Diberikan tabel
(yaitu pada kuadrat sempurna). Taksirlah dan dengan interpolasi linier (dua titik terdekat) dan polinom Lagrange kubik (empat titik), lalu bandingkan keduanya dengan nilai eksak. Hitung galat relatif setiap taksiran. Petunjuk analisis: hasil linier 1.6667 dan 2.2000, sedangkan kubik justru lebih buruk ( tertaksir 1.9000 dan tertaksir 2.0000); jelaskan mengapa, dengan memperhatikan jarak antar titik yang tidak seragam dan perilaku yang curam di dekat nol. - Interpolasi terbalik. Dari Tabel 3 (tabel
), tentukan sehingga dengan interpolasi terbalik linier dan kuadratik (tukar peran kolom dan ), lalu bandingkan dengan nilai eksak . Petunjuk: hasil linier 2.510234 dan kuadratik 2.471960; jelaskan mengapa galat terbalik lebih besar daripada galat interpolasi maju pada titik yang setara, dan kapan interpolasi terbalik tidak sah dipakai. - Verifikasi rumus galat. Untuk
dengan titik dan , taksirlah dengan interpolasi linier. Hitung galat aktual, lalu hitung batas atas teoretis dengan , dan tunjukkan galat aktual tidak melampaui batas tersebut. Petunjuk: galat aktual , batas atas . - Runge lanjutan. Perluas Tabel 6 untuk
dengan titik berjarak sama (petunjuk hasil: galat maksimum , , ), lalu carilah derajat terkecil dengan titik Chebyshev yang menghasilkan galat maksimum di bawah (petunjuk: tercapai pada dengan galat ). Tuliskan program pencariannya.
III.9. Soal Latihan HOTS: Pemrograman ala Kompetisi (Kumulatif Modul 1 sampai 5)
Soal-soal berikut ala kompetisi pemrograman: program Anda membaca masukan sesuai format, lalu mencetak keluaran persis seperti contoh. Latihan ini melatih kemampuan berpikir tingkat tinggi (HOTS) sekaligus merangkum materi Modul 1 (galat dan floating point), Modul 2 (deret Taylor), Modul 3 (pencarian akar), Modul 4 (sistem persamaan lanjar), dan Modul 5 (interpolasi polinom). Kerjakan mandiri di notebook; cocokkan keluaran program Anda dengan contoh keluaran yang diberikan (semua angka contoh telah diverifikasi dengan Python).
Problem A. Tabel Seling [C4 Analisis · Modul 5]
Sebuah sensor mengirim data pada interval tetap; nilainya antara dua waktu pengukuran harus ditaksir secara linier. Diberikan tabel
Masukan: baris pertama
Keluaran:
text
masukan:
4
0 0.0
10 0.1736
20 0.3420
30 0.5
2
5
15
keluaran:
0.086800
0.257800Petunjuk: cari indeks
Problem B. Newton Kuadratik [C4 Analisis · Modul 5]
Diberikan tiga titik
Masukan: baris pertama x0 y0 x1 y1 x2 y2 t.
Keluaran: untuk tiap kasus satu baris p2 dd2.
text
masukan:
2
1.0 0.0 2.0 0.6931 3.0 1.0986 2.5
2.0 0.6931 3.0 1.0986 4.0 1.3863 2.5
keluaran:
0.931800 -0.143800
0.910575 -0.058900Petunjuk: koefisien kedua adalah selisih dua kemiringan dibagi rentang titik terluar; bandingkan kedua kasus pada kolom pertama dan diskusikan mengapa trio kedua lebih akurat (bahan Lesson Learnt Task I).
Problem C. Lagrange Empat Titik [C4 Analisis · Modul 5]
Diberikan empat titik
Masukan: baris pertama x0 x1 x2 x3, satu baris y0 y1 y2 y3, satu baris t.
Keluaran:
text
masukan:
1
1.0 2.0 3.0 4.0
0.0 0.6931 1.0986 1.3863
2.5
keluaran:
0.9211875000Petunjuk: gunakan fungsi lagrange dari Task II apa adanya; data pada contoh adalah Tabel 3 sehingga hasilnya harus sama persis dengan Task II. Ketelitian pencetakan (10 desimal) adalah bagian dari latihan pemformatan angka.
Problem D. Interpolasi Terbalik [C5 Evaluasi · Modul 3 + Modul 5]
Dari tabel
Masukan: baris pertama x_i y_i (x menaik), satu baris y_target.
Keluaran: untuk tiap kasus dua baris, linier x dan kuadrat x.
text
masukan:
1
1.0 0.0
2.0 0.6931
3.0 1.0986
4.0 1.3863
1.0
keluaran:
linier 2.756843
kuadrat 2.728657Petunjuk: tukar peran kolom: data menjadi
Problem E. Ledakan Runge [C5 Evaluasi · Modul 1 + Modul 5]
Untuk %0.3e).
Masukan: baris pertama
Keluaran:
text
masukan:
2
4
12
keluaran:
4.384e-01
3.663e+00Petunjuk: kisi evaluasi harus persis np.linspace(-1, 1, 2001) agar hasil identik dengan kunci. Angka-angka ini adalah bukti numerik fenomena Runge (Task IV): galat membesar ketika derajat naik; kaitkan pula dengan epsilon mesin Modul 1 untuk menjelaskan mengapa galat
Problem F. Detektor Polinom [C6 Mencipta · Modul 4 + Modul 5]
Sebuah kumpulan
Masukan: baris pertama x_i y_i.
Keluaran:
text
masukan:
2
5
1 1
2 4
3 9
4 16
5 25
5
0 1
1 2
2 4
3 8
4 16
keluaran:
2
4Petunjuk: bangun tabel selisih terbagi dari Task III; tabel selisih terbagi orde
BAGIAN IV. MEDIA DAN MEKANISME PENGUMPULAN
IV.1. Media Pengumpulan
Media pengumpulan menggunakan Microsoft Teams (MS Teams) yang dapat diakses pada link berikut:
https://teams.microsoft.com
Kemudian masuk ke dalam Tim (Team) khusus untuk mata kuliah Komputasi Numerik.
IV.2. Mekanisme Pengumpulan
Mekanisme proses pengumpulan untuk modul praktikum ini mengikuti tahapan berikut:
Format penamaan notebook/berkas: gunakan format standar berikut.
Tabel 8. Standar Penamaan Proyek dan Berkas Pengumpulan Praktikum Komputasi Numerik
Kode Penjelasan KN2026Komputasi Numerik tahun 2026 5A/5BKelas D4Prodi D-4 Sarjana Terapan 2024Angkatan Modul5Nomor Modul 0013 Digit NIM Terakhir Format berkas:
[KN2026_5A_D4_2024]_Modul5_001.ipynbEkspor notebook Google Colab/Jupyter menjadi berkas
.ipynb(File → Download → Download .ipynb). Apabila diperlukan, lampirkan juga hasil output dalam format.pdfatau.html.Susun Laporan Praktikum (.pdf) yang mencakup:
- Tangkapan layar (screenshot) notebook dan output yang dihasilkan.
- Potongan kode (code snippet) Python (Task I, II, III, IV) beserta penjelasan fungsinya.
- Analisis hasil eksekusi (Lesson Learnt) untuk tiap task.
- Jawaban Tugas Praktikum (III.8).
Kompresi seluruh berkas menjadi satu arsip
.zipdengan nama[KN2026_5A_D4_2024]_Modul5_001.zip.Unggah arsip tersebut pada slot Tugas (Assignment) "Pengumpulan Praktikum Modul 5" di Microsoft Teams sebelum batas waktu berakhir.
BAGIAN V. PEMBAHASAN DAN EVALUASI HASIL PRAKTIKUM
Penilaian pada praktikum berdasarkan kriteria berikut:
Tabel 9. Rubrik dan Matriks Kriteria Penilaian Evaluasi Praktikum
| Kriteria Penilaian | Skor ≥ 80 (A) | Skor 70–79.99 (AB/B) | Skor 60–69.99 (BC/C) | Skor < 60 (D/E) |
|---|---|---|---|---|
| Linier & Kuadratik (15%) | Kedua interpolasi benar, pengaruh pemilihan titik dianalisis kritis dengan | Kedua interpolasi benar tanpa analisis pemilihan titik. | Salah satu interpolasi keliru. | Kedua interpolasi gagal. |
| Polinom Lagrange (25%) | Fungsi generik benar, verifikasi melewati titik data dan plot eksplorasi ekstrapolasi lengkap. | Fungsi benar, verifikasi/plot kurang lengkap. | Implementasi benar sebagian (basis kardinal keliru). | Gagal mengimplementasikan Lagrange. |
| Newton & Selisih Terbagi (25%) | Tabel selisih terbagi lengkap benar, perluasan titik kelima didemonstrasikan, kaitan koefisien-turunan dijelaskan. | Tabel benar tanpa demonstrasi perluasan titik. | Ada galat pada pengisian tabel / evaluasi. | Gagal mengimplementasikan Newton. |
| Galat & Fenomena Runge (15%) | Eksperimen jarak-sama vs Chebyshev lengkap, divergensi dijelaskan lewat | Eksperimen lengkap, penjelasan permukaan. | Eksperimen sebagian berjalan. | Tidak melakukan eksperimen Runge. |
| Pelaporan & Lesson Learnt (20%) | Laporan sangat lengkap: screenshot, analisis kode, lesson learnt mendalam, jawaban tugas benar semua. | Laporan lengkap dengan screenshot dan penjelasan kode standar. | Laporan kurang detail, sebagian lesson learnt tidak dicantumkan. | Tidak mengumpulkan laporan / tidak sesuai format. |
DAFTAR PUSTAKA
Burden, R. L., & Faires, J. D. (2011). Numerical Analysis (9th ed.). Brooks/Cole, Cengage Learning.
Chapra, S. C., & Canale, R. P. (2015). Numerical Methods for Engineers (7th ed.). McGraw-Hill Education.
Gerald, C. F., & Wheatley, P. O. (2004). Applied Numerical Analysis (7th ed.). Pearson.
Kincaid, D., & Cheney, W. (2002). Numerical Analysis: Mathematics of Scientific Computing (3rd ed.). Brooks/Cole.
Munir, R. (2021). Metode Numerik (Edisi Revisi). Informatika, Bandung.
LAMPIRAN
Jika Ada