Kursus
Ada kategori integral tentu yang memang tidak bisa ditaklukkan dengan kalkulus pena-dan-kertas. Bukan karena Anda melakukan kesalahan. Beberapa fungsi, seperti e^(−x²) atau sin(x)/x, sama sekali tidak memiliki antiturunan bentuk tertutup. Saat itu terjadi, Anda memerlukan pendekatan lain: evaluasi fungsi di sejumlah titik yang dipilih dengan cermat dan gabungkan nilainya untuk memperkirakan luas di bawah kurva. Itulah kuadratur.
Artikel ini mengulas apa itu kuadratur, bagaimana kerangka umumnya bekerja, dan metode utamanya, dari aturan titik tengah yang intuitif hingga pendekatan Gauss yang mengejutkan tajam. Kami juga membahas metode komposit, sumber-sumber galat, strategi adaptif, dan cara memilih metode yang tepat untuk masalah yang Anda hadapi.
Apa Itu Kuadratur?
Kata "kuadratur" sudah lama ada. Istilah ini berasal dari masalah geometri klasik membangun sebuah persegi yang memiliki luas sama dengan suatu bentuk tertentu, yang pada dasarnya berarti "mencari luas". Kini istilah tersebut berarti pendekatan numerik dari sebuah integral tentu.
Gagasan intinya adalah substitusi: alih-alih mencari antiturunan eksak, Anda mengambil sampel fungsi f(x) pada sekumpulan titik yang disebut node, mengalikan setiap nilai dengan bobot terkait, dan menjumlahkan hasilnya:

Istilah kuadratur dan integrasi numerik pada dasarnya berarti hal yang sama. Kuadratur cenderung muncul dalam konteks yang lebih matematis; integrasi numerik adalah istilah sehari-hari dalam komputasi ilmiah.
Cara Kerja Kuadratur Numerik
Setiap aturan kuadratur bekerja pada interval [a, b]. Di dalam interval itu, ia memilih sekumpulan node xᵢ dan memberi setiap node sebuah bobot wᵢ. Pendekatannya adalah jumlah berbobot seperti di atas. Yang membedakan antar metode adalah di mana node ditempatkan dan bagaimana bobot ditentukan. Itu saja. Aturan trapesium, aturan Simpson, dan kuadratur Gauss semuanya merupakan variasi dari templat yang sama ini.
Galat pendekatan adalah celah antara jumlah berbobot dan integral sesungguhnya. Setiap metode menimbulkan galat, dan seberapa cepat galat itu menyusut saat Anda menambah node (atau memperkecil interval) adalah yang membedakan metode yang baik dari yang hebat. Peganglah bingkai pikir ini: memilih metode kuadratur sejatinya adalah memilih bagaimana membelanjakan evaluasi fungsi Anda.
Metode Kuadratur yang Umum
Metode di bawah ini disusun dari yang paling intuitif hingga yang paling canggih.
Perbandingan visual aturan integrasi Titik Tengah, Trapesium, dan Simpson. Gambar oleh Penulis.
Aturan titik tengah
Ambil titik tengah dari [a, b], evaluasi f di sana, dan kalikan dengan lebarnya (b − a). Asumsinya adalah bahwa nilai fungsi di pusat mewakili nilai rata-rata di seluruh interval.
Kedengarannya hampir terlalu sederhana, dan untuk satu interval, memang begitu. Tetapi inilah kejutan pertama: aturan titik tengah tepat untuk fungsi konstan dan linear, dan galatnya berskala O(h³) per interval dengan h = b − a. Itu sebenarnya lebih baik daripada aturan trapesium pada fungsi halus, yang sering mengecoh orang.
Aturan trapesium
Gunakan kedua titik ujung alih-alih hanya pusat. Hubungkan keduanya dengan garis lurus dan hitung luas trapesium yang dihasilkan: (b − a) · [f(a) + f(b)] / 2. Tepat untuk fungsi linear, dengan galat O(h³) per interval, orde yang sama dengan aturan titik tengah, meskipun dengan konstanta yang lebih besar.
Aturan trapesium mungkin adalah metode kuadratur yang paling banyak diajarkan, yang memberinya reputasi berlebihan. Untuk fungsi yang berperilaku baik, ini cukup layak. Namun aturan Simpson komposit hampir selalu lebih baik untuk jumlah evaluasi yang sama.
Aturan Simpson
Pasangkan polinom kuadrat melalui tiga titik: dua titik ujung dan titik tengah. Integralkan polinom itu secara tepat:

Evaluasi tambahan di pusat memerlukan satu pemanggilan fungsi lagi, tetapi hasilnya nyata: aturan Simpson tepat untuk polinom hingga derajat tiga, dan galat per interval berskala O(h⁵), dua orde lebih baik daripada aturan trapesium. Untuk fungsi halus, ini biasanya metode pertama yang layak Anda pilih.
Kuadratur Gauss
Di sinilah semuanya menjadi benar-benar menarik. Aturan titik tengah, trapesium, dan Simpson semuanya menggunakan node berjarak sama. Kuadratur Gauss mengajukan pertanyaan berbeda: bagaimana jika kita memilih lokasi node dan bobot sekaligus untuk memaksimalkan akurasi?
Dengan n node, kuadratur Gauss (khususnya varian Gauss-Legendre) dapat mengintegralkan polinom apa pun hingga derajat 2n − 1 secara tepat. Dua node memberi ketepatan untuk kubik; lima node menangani polinom derajat 9. Node adalah akar dari polinom Legendre, dan mereka mengelompok ke arah titik ujung interval alih-alih berada pada posisi berjarak sama. Akurasinya yang lebih tinggi berasal dari membiarkan node bergerak, bukan dari di mana mereka kebetulan berada. Pengelompokan mereka di dekat titik ujung adalah produk sampingan dari matematikanya, dan kita akan melihat alasannya di bawah.
Berikut perbandingan keempat metode ini:
|
Metode |
Pendekatan |
Galat per interval |
Biaya komputasi |
Terbaik untuk |
|
Aturan titik tengah |
Evaluasi di pusat |
O(h³) |
1 evaluasi/interval |
Fungsi sederhana dan halus |
|
Aturan trapesium |
Pemasangan linear |
O(h³) |
2 evaluasi/interval |
Fungsi periodik |
|
Aturan Simpson |
Pemasangan kuadrat |
O(h⁵) |
3 evaluasi/interval |
Fungsi halus |
|
Kuadratur Gauss |
Node + bobot optimal |
O(h^(2n+1)) |
n evaluasi/interval |
Akurasi tinggi, fungsi halus |
Metode Kuadratur Komposit
Menerapkan satu aturan sekali saja di seluruh interval [a, b] biasanya tidak cukup. Perbaikan standar: bagi interval menjadi n subinterval sama lebar dengan h = (b − a)/n dan terapkan aturan dasar pada masing-masing.
Aturan titik tengah dan trapesium komposit
Untuk aturan trapesium komposit, evaluasi f pada n+1 titik berjarak sama dan jumlahkan n trapesium. Total galat turun ke O(h²). Jika h dibagi dua, galat turun empat kali lipat. Aturan titik tengah komposit mengikuti logika yang sama dan memiliki orde galat global yang sama.
Aturan Simpson komposit
Versi komposit memerlukan jumlah subinterval genap. Evaluasi f pada n+1 titik dan peroleh galat global O(h⁴). Membagi dua h menurunkan galat enam belas kali lipat. Itulah mengapa aturan Simpson komposit sering menjadi default ketika Anda membutuhkan akurasi sedang pada fungsi halus.
Kode Python di bawah ini menunjukkan bagaimana pendekatan semakin rapat saat Anda menambah subinterval untuk ∫[0 ke π] sin(x) dx (nilai eksak: 2,0):
import numpy as np
def composite_simpson(func, lower, upper, num_intervals):
"""Approximate integral using composite Simpson's rule."""
if num_intervals % 2 != 0:
raise ValueError("num_intervals must be even")
nodes = np.linspace(lower, upper, num_intervals + 1)
values = func(nodes)
h = (upper - lower) / num_intervals
weights = np.ones(num_intervals + 1)
weights[1:-1:2] = 4 # odd-indexed interior points
weights[2:-2:2] = 2 # even-indexed interior points
return (h / 3) * np.dot(weights, values)
exact = 2.0
for n in [4, 8, 16, 32]:
approx = composite_simpson(np.sin, 0, np.pi, n)
print(f"n={n:3d}: approx={approx:.10f}, error={abs(approx - exact):.2e}")
Dengan hanya 32 interval, galat turun di bawah 10⁻⁶. Itulah konvergensi O(h⁴).
Kuadratur Gauss
Gagasan di balik kuadratur Gauss layak mendapatkan lebih dari sekadar entri tabel.
Mengapa node berjarak sama tidak selalu optimal
Saat node berada pada titik berjarak sama, Anda membelanjakan anggaran evaluasi dengan cara yang mungkin tidak sesuai dengan tingkat kesulitan integran. Beberapa wilayah butuh resolusi lebih; wilayah lain menyia-nyiakan evaluasi pada bagian yang datar. Kuadratur Gauss menghindarinya dengan memilih node yang terbukti optimal untuk derajat polinom yang dapat diintegrasikan secara tepat.
Untuk n node, aturan Gauss-Legendre memilih n akar dari polinom Legendre ke-n Pₙ(x) sebagai node, lalu menghitung bobot agar polinom berderajat ≤ 2n − 1 terintegrasi tanpa galat. Dalam praktiknya, numpy.polynomial.legendre.leggauss(n) mengembalikan keduanya. Node mengelompok ke arah titik ujung dari [−1, 1], interval acuan standar, di mana galat interpolasi polinomial cenderung terbesar dan kepadatan sampel ekstra paling bermanfaat.
Kapan menggunakannya
Kuadratur Gauss paling unggul saat Anda memiliki fungsi halus dan analitik serta membutuhkan akurasi tinggi dengan sedikit evaluasi. Lima titik Gauss-Legendre bisa melampaui aturan Simpson komposit dengan puluhan interval pada integran yang berperilaku baik. Namun metode ini kurang cocok untuk fungsi dengan patahan, diskontinuitas, atau data yang hanya tersedia pada titik berjarak sama tetap. Dalam kasus tersebut, penempatan node yang dipilih cermat justru menjadi kontra-produktif.
Galat dan Akurasi Kuadratur
Tidak ada metode numerik yang bebas galat. Dua sumber berbeda memengaruhi setiap hasil kuadratur, dan memahami keduanya penting untuk tahu kapan Anda bisa memercayai jawaban Anda.
Sumber galat meliputi:
- Galat diskretisasi (juga disebut galat pemotongan) adalah celah antara integral eksak dan keluaran aturan kuadratur Anda dalam aritmetika sempurna. Inilah yang ditangkap oleh rumus O(hᵏ). Galat ini menyusut saat Anda menambah titik atau mengurangi lebar interval.
- Galat floating-point adalah masalah berbeda. Menjumlahkan banyak kuantitas kecil dalam aritmetika presisi hingga memperkenalkan pembulatan yang tidak menyusut dengan h dan justru bisa membesar. Dengan aturan komposit yang memakai ribuan subinterval, Anda bisa mencapai ambang di mana derau floating-point mendominasi dan menambah interval tidak lagi membantu. Untuk sebagian besar tugas komputasi ilmiah, Anda akan mencapai toleransi yang diinginkan jauh sebelum ambang itu. Namun ambang tersebut ada.
Kehalausan fungsi, lebar interval, dan pilihan metode semuanya memengaruhi galat diskretisasi. Fungsi yang kasar dengan fitur tajam membutuhkan lebih banyak interval atau pendekatan adaptif.
Kuadratur Adaptif
Kisi seragam menyia-nyiakan evaluasi ketika integran halus di sebagian besar tempat tetapi rumit di beberapa bagian.
Cara kerjanya
Terapkan sebuah aturan kuadratur pada suatu interval, lalu terapkan aturan berorde lebih tinggi (atau aturan yang sama pada dua bagian) dan bandingkan. Perbedaannya memperkirakan galat lokal. Jika di bawah toleransi, terima interval tersebut. Jika tidak, bagi dua dan rekursi pada masing-masing bagian. Ulangi hingga setiap subinterval memenuhi toleransi.
Keuntungan efisiensi dibanding perapihan seragam bisa besar ketika integran memiliki fitur terisolasi: puncak sempit, patahan, osilasi cepat yang dikelilingi wilayah halus. Metode adaptif memusatkan evaluasi tepat di tempat yang dibutuhkan fungsi.
scipy.integrate.quad()
Dalam Python, scipy.integrate.quad() mengimplementasikan kuadratur Gauss adaptif (khususnya algoritma DQAGSE dari QUADPACK). Berikan fungsi dan batasnya; Anda akan memperoleh taksiran dan batas galat. Untuk sebagian besar integral satu dimensi, ini adalah alat yang tepat, tanpa perlu penyetelan manual.
from scipy import integrate
import numpy as np
# Integrate a function with a peak near x=0.5
def peaked_func(x):
return np.exp(-100 * (x - 0.5)**2)
result, error_bound = integrate.quad(peaked_func, 0, 1)
print(f"Estimate: {result:.10f}")
print(f"Error bound: {error_bound:.2e}")
quad() menangani puncak sempit ini dengan baik. Aturan Simpson seragam akan memerlukan ratusan subinterval untuk menandinginya.
Cara Memilih Metode Kuadratur
Mulailah dengan scipy.integrate.quad() untuk integral satu dimensi di Python kecuali Anda punya alasan untuk tidak melakukannya. Metode ini adaptif, akurat, dan teruji. Semua hal di bawah ini relevan ketika Anda mengimplementasikan sendiri, bekerja dalam bahasa tanpa pustaka adaptif yang baik, atau mengoptimalkan untuk kasus khusus.
- Fungsi halus dan analitik dengan rumus yang diketahui: Kuadratur Gauss memberikan akurasi terbanyak per evaluasi. Jika Anda butuh akurasi sedang dan kesederhanaan, aturan Simpson komposit adalah default yang solid.
- Fungsi dengan patahan atau diskontinuitas: Metode berjarak sama (trapesium, Simpson) cenderung mengungguli kuadratur Gauss di sini, karena penempatan node tetap tidak terganggu oleh ketakteraturan. Bagi interval integrasi di titik diskontinuitas yang diketahui dan tangani masing-masing bagiannya secara terpisah.
- Data pada titik berjarak sama tetap: Kuadratur Gauss tidak bisa digunakan. Anda tidak dapat mengevaluasi fungsi pada node sembarang, jadi gunakan aturan trapesium komposit atau aturan Simpson komposit sebagai gantinya.
- Integral berdimensi lebih tinggi: Kuadratur cepat menghadapi kutukan dimensi. Dengan n titik per dimensi dan d dimensi, Anda memerlukan total nᵈ evaluasi. Sepuluh dimensi dengan sepuluh titik masing-masing berarti 10¹⁰ evaluasi, yang mustahil. Monte Carlo berskala jauh lebih baik di atas kira-kira lima dimensi, jadi di situlah peralihannya terjadi.
Kuadratur vs. Metode Numerik Terkait
Kuadratur tidak berdiri sendiri. Ada baiknya melihat posisinya relatif terhadap alat lain yang mungkin Anda pertimbangkan.
Kuadratur vs. integrasi analitik
Integrasi analitik mencari antiturunan eksak; kuadratur mendekati sebuah bilangan. Jika antiturunan eksak ada dan Anda bisa menemukannya, gunakan itu. Kuadratur berperan saat integrasi eksak tidak mungkin atau tidak praktis.
Kuadratur vs. integrasi Monte Carlo
Keduanya mendekati integral tentu, tetapi dengan cara berbeda. Kuadratur bersifat deterministik: ia mengevaluasi f pada node tetap yang telah dipilih sebelumnya, dengan konvergensi terkait kehalusan fungsi dan jumlah node. Monte Carlo mengambil sampel acak dan merata-ratakannya, dengan galat berskala O(1/√N) terlepas dari dimensi. Itu konvergensi yang lebih lambat pada dimensi rendah, tetapi tidak bergantung pada dimensi, yang menjadikannya pilihan praktis di atas kira-kira lima dimensi.
Kuadratur vs. interpolasi
Beberapa aturan kuadratur, termasuk aturan Simpson, bekerja dengan memasangkan polinom melalui titik evaluasi dan mengintegralkannya secara tepat. Namun tujuannya berbeda dari interpolasi. Interpolasi merekonstruksi fungsi; kuadratur hanya menginginkan sebuah angka. Polinom adalah alat, bukan keluarannya.
Kesimpulan
Yang menurut saya memuaskan dari kuadratur adalah betapa jauhnya kita melangkah dengan satu gagasan pengorganisasi. Setiap metode di sini—aturan titik tengah, trapesium, Simpson, Gauss—sebenarnya hanyalah jawaban berbeda untuk pertanyaan yang sama: dengan anggaran evaluasi fungsi, di mana Anda menempatkannya, dan bagaimana Anda membobotinya?
Memasangkan polinom yang lebih baik melalui titik evaluasi menurunkan galat dengan cepat. Beralih ke node yang dipilih optimal memeras akurasi lebih banyak lagi dari anggaran yang sama. Metode adaptif lalu menyatukan semuanya, mengarahkan evaluasi ke mana pun fungsi benar-benar membutuhkannya.
Dalam Python, scipy.integrate.quad() adalah default yang tepat untuk masalah 1D. Semua hal lain dalam artikel ini berguna saat Anda perlu memahami apa yang terjadi di balik layar, atau ketika Anda mengimplementasikan sendiri. Jika Anda ingin terus membangun keterampilan numerik dengan SciPy, ikuti kursus Introduction to Optimization in Python kami.
FAQs
Apa itu kuadratur dalam matematika?
Kuadratur adalah pendekatan numerik dari integral tentu. Alih-alih mencari antiturunan secara analitik, Anda mengevaluasi fungsi pada sekumpulan titik yang dipilih (node) dan menggabungkan nilai-nilai tersebut dengan bobot untuk memperkirakan integral. Istilah ini berasal dari masalah klasik mencari luas di bawah kurva.
Apa perbedaan antara aturan trapesium dan aturan Simpson?
Aturan trapesium mendekati integran dengan garis lurus antara titik ujung—tepat untuk fungsi linear. Aturan Simpson memasangkan polinom kuadrat melalui tiga titik (dua titik ujung plus titik tengah), sehingga tepat untuk polinom hingga derajat tiga. Untuk fungsi halus, aturan Simpson berkonvergensi jauh lebih cepat: galatnya berskala O(h⁵) per interval dibanding O(h³) untuk aturan trapesium.
Kapan saya harus menggunakan kuadratur Gauss alih-alih aturan Simpson komposit?
Gunakan kuadratur Gauss ketika Anda bisa mengevaluasi f di titik mana pun dan membutuhkan akurasi tinggi dengan sedikit evaluasi fungsi—terutama untuk fungsi halus dan analitik. Aturan Simpson komposit cenderung bekerja lebih baik ketika data Anda berada pada titik berjarak sama tetap, atau ketika fungsi Anda memiliki patahan atau diskontinuitas yang akan mengacaukan penempatan node Gauss. Untuk sebagian besar pekerjaan praktis, metode adaptif seperti scipy.integrate.quad() membuat pilihan ini untuk Anda.
Apa yang dimaksud dengan “kuadratur adaptif”?
Alih-alih menyebarkan titik evaluasi secara merata, kuadratur adaptif memusatkannya di tempat galat pendekatan besar. Ia memperkirakan galat lokal pada setiap subinterval, membagi subinterval mana pun yang melampaui toleransi, dan mengulang hingga total galat dapat diterima. Ini membuatnya efisien untuk integran yang halus hampir di mana-mana tetapi memiliki wilayah yang rumit dan terisolasi.
Bagaimana cara menghitung integral numerik di Python?
Alat standarnya adalah scipy.integrate.quad(). Berikan fungsi dan batas integrasi, dan ia mengembalikan pendekatan beserta estimasi galat. Untuk batas tak hingga, berikan np.inf atau -np.inf. Untuk integral multi-dimensi, gunakan dblquad() atau tplquad().
Mengapa kuadratur gagal untuk integral berdimensi tinggi?
Aturan kuadratur menempatkan node pada kisi, sehingga jumlah total evaluasi fungsi berskala nᵈ—di mana n adalah jumlah titik per dimensi dan d adalah jumlah dimensi. Dalam 10 dimensi dengan 10 titik masing-masing, itu berarti 10¹⁰ evaluasi. Ledakan eksponensial ini disebut kutukan dimensi. Integrasi Monte Carlo menghindarinya karena laju galatnya O(1/√N) terlepas dari dimensi, di mana N adalah jumlah total sampel acak.
Apa perbedaan antara kuadratur dan integrasi Monte Carlo?
Kuadratur bersifat deterministik: ia mengevaluasi fungsi pada node tetap yang telah dipilih, dengan laju konvergensi yang bergantung pada metode dan kehalusan fungsi—biasanya O(h²) hingga O(h⁵) untuk aturan komposit. Monte Carlo bersifat acak: ia mengambil sampel secara seragam dan merata-ratakannya, dengan galat berskala O(1/√N). Kuadratur unggul pada satu atau dua dimensi. Monte Carlo menjadi pilihan praktis di kisaran lima hingga sepuluh dimensi.
Apa itu node dan bobot Gauss?
Node Gauss adalah nol dari polinom ortogonal tertentu—untuk kuadratur Gauss-Legendre, mereka adalah akar dari polinom Legendre ke-n. Bobot dipilih agar aturan mengintegralkan polinom hingga derajat 2n − 1 secara tepat. Tidak seperti kisi berjarak sama, node Gauss mengelompok ke arah pusat interval dan menjauh dari titik ujung. Anda tidak perlu menghitungnya secara manual; numpy.polynomial.legendre.leggauss() menyediakannya langsung.
