Anda di halaman 1dari 11

MODUL PERKULIAHAN

Metoda Numerik
Lanjut
Pemodelan Numerik,
Komputer dan Analisis
Kesalahan

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

01
Pasca Sarjana Teknik Sipil - Ir. Pariatmono Sukamdo, MSc, DIC, PhD

Abstract Kompetensi
Berbagai metoda perhitungan untuk Mahasiswa dapat mendapatkan
menyelesaikan permasalahan dalam gambaran umum mengenai berbagai
rekayasa struktur beserta kelebihan metoda untuk memperoleh
dan kekurangannya masing-masing. penyelesaian terhadap masalah
rekayasa struktur serta memahami
kelebihan dan kekurangan dari berbagai
metoda tersebut.
1. Pendahuluan

Model Numerik adalah teknik yang digunakan untuk menyelesaikan masalah matematika
menggunakan operasi aritmatika 1. Meskipun banyak sekali jenis metoda numerik, tapi
semuanya mempunyai kesamaan yaitu selalu melibatkan perhitungan aritmatika yang besar
dan menjemukan. Model numerik ini menjadi populer dengan adanya perkembangan
komputer yang cepat dan efisien sehingga peran model numerik dalam memecahkan
masalah rekayasa saat ini terus meningkat.

Dalam rekayasa struktur, terdapat banyak masalah yang memerlukan penyelesaian dengan
metoda numerik sebagai pendekatan terhadap model matematika. Seperti yang kita pahami,
pada masalah yang sederhana, umumnya terdapat teorema matematika, sehingga model
matematika dapat disusun dan relatif mudah diselesaikan. Namun, pada kebanyakan
masalah rekayasa umumnya dan khususnya rekayasa struktur, model matematika yang
disusun tidak dapat diselesaikan secara eksak atau analitik karena memerlukan analisis
yang rumit dan melelahkan.

Sebagai contoh, kita lihat penyusunan model matematika pada masalah lendutan balok
kantilever2. Lendutan balok kantilever seperti pada gambar dihitung berdasarkan Euler –
Bernoulli dengan anggapan balok berperilaku elastik.

Berdasarkan anggapan tersebut, penyelesaian terhadap masalah lendutan kantilever ini


dapat dirumuskan sebagai:
𝑑4 𝑣(𝑥) 𝑞0
=
𝑑𝑥 4 𝐸𝐼

1
Chapra, S.C., Canale, R.P., “Numerical Methods for Engineers”, 6th Edition, McGraw-Hill, 2009, bisa
diunduh dari http://search.4shared.com/q/CCAD/1/numerical%20methods%20for%20engineers
2
Muntohar, Agus Setyo, “Metoda Numerik, Analisa dan Aplikasi Teknik Sipil”, sample copy-nya dapat
diunduh dari https://muntohar.files.wordpress.com/2012/10/samplescopy.pdf

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


2 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
Persamaan ini disebut dengan persamaan pengatur (governing equation) yang berlaku
sepanjang bentang balok, yaitu dari 𝑥 = 0 sampai 𝑥 = 𝐿. Integrasi beberapa kali dari
persamaan di atas akan menghasilkan,
𝑑3 𝑣(𝑥) 𝑞0 𝑥
= + 𝐶1
𝑑𝑥 3 𝐸𝐼
𝑑2 𝑣(𝑥) 𝑞0 𝑥 2
= + 𝐶1 𝑥 + 𝐶2
𝑑𝑥 2 2𝐸𝐼
𝑑𝑣(𝑥) 𝑞0 𝑥 3 𝑥2
= + 𝐶1 + 𝐶2 𝑥 + 𝐶3
𝑑𝑥 6𝐸𝐼 2
𝑞0 𝑥 4 𝑥3 𝑥2
𝑣(𝑥) = + 𝐶1 + 𝐶2 + 𝐶3 𝑥 + 𝐶4
24𝐸𝐼 6 2
Persamaan di atas mempunyai dua syarat batas, yaitu:
𝑑𝑣(0)
(1) pada 𝑥 = 0 → 𝑣(0) = 0 dan 𝑑𝑥
= 0,
𝑑 2 𝑣(𝐿) 𝑑 3 𝑣(𝐿) 𝑃
(2) pada 𝑥 = 𝐿 → 𝑑𝑥 2
= 0 dan 𝑑𝑥 3
= − 𝐸𝐼

Syarat batas (1) mengharuskan nilai konstanta 𝐶3 = 𝐶4 = 0, sedangkan kondisi batas (2) di
ujung balok memberikan,
𝑑2 𝑣(𝐿) 𝑞0 𝐿2
= + 𝐶1 𝐿 + 𝐶2 = 0
𝑑𝑥 2 2𝐸𝐼
𝑑3 𝑣(𝐿) 𝑞0 𝐿 𝑃
3
= + 𝐶1 = −
𝑑𝑥 𝐸𝐼 𝐸𝐼
Dari kedua persamaan tersebut, nilai konstanta dapat dihitung, yaitu:
𝑃 𝑞0 𝐿
𝐶1 = − −
𝐸𝐼 𝐸𝐼
𝑃𝐿 𝑞0 𝐿2
𝐶2 = +
𝐸𝐼 2𝐸𝐼
Dengan demikian, persamaan lendutan balok menjadi:
𝑞0 𝐿4 𝑥 2 𝑥 3 𝑥 4 𝑃𝐿4 𝑥 2 𝑥 3
𝑣(𝑥) = [6 ( ) − 4 ( ) + 6 ( ) ] + [3 ( ) − ( ) ]
24𝐸𝐼 𝐿 𝐿 𝐿 6𝐸𝐼 𝐿 𝐿
Persamaan di atas adalah model matematis dari masalah kantilever yang sedang kita
hadapi. Untuk mengetahui besarnya lendutan di sepanjang balok, kita hanya perlu
memasukkan posisi lendutan yang kita inginkan (nilai 𝑥) dan memasukkannya ke dalam
model matematis tersebut. Besarnya lendutan yang kita peroleh dengan cara ini adalah
tepat dan eksak, bukan pendekatan.
Jawaban terhadap masalah di atas, dapat juga diperoleh dengan pendekatan, yaitu
menggunakan metoda numerik. Pendekatan menggunakan metoda beda hingga (finite
difference method) dapat dilakukan, yaitu dengan mengubah persamaan pengatur di atas
menjadi:

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


3 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
𝑑2 𝑑4 𝑣(𝑥)
{𝐸𝐼 ( )} − 𝑞0 = 0
𝑑𝑥 2 𝑑𝑥 4
Metoda beda hingga (akan kita dalami dalam beberapa kuliah mendatang) menyatakan
bahwa turunan kedua dapat didekati memasukkan nilai pada titik itu dan titik di sekitarnya,
atau

i-1 i i+1

Dx Dx

𝑑2 𝑣 𝑣𝑖−1 − 2𝑣𝑖 + 𝑣𝑖+1



𝑑𝑣 2 (∆𝑥)2
Menggunakan metoda beda, persamaan pengatur akan berubah menjadi satu set
persamaan simultan linear (juga akan kita pelajari) sehingga dapat diselesaikan dengan
bantuan komputer.

2. Peranan Komputer

Sebelum adanya penggunaan komputer secara besar-besaran, penyelesaian masalah


rekayasa dengan metoda numerik umumnya dilakukan dengan pendekatan. Sebagai
perbandingan, berbagai metoda tersebut mempunyai kelebihan dan kekurangan sebagai
berikut:

1. Cara analitis dan eksak


Cara ini sangat disukai dan bermanfaat karena memberikan pemahaman mendalam
terhadap perilaku dari permasalahan dan jawabannya. Meskipun demikian, sedikit sekali
masalah rekayasa yang mempunyai jawaban analitis dan eksak. Karena itu berkembang
metoda pendekatan dengan model linear, khususnya untuk masalah dengan geometri yang
sederhana dan ukuran yang kecil. Namun, karena masalah di dunia nyata umumnya non-
linier dengan geometri yang rumit dan ukuran yang besar, penggunaan cara analitis ini
menjadi sangat terbatas.

2. Cara grafis
Cara grafis biasanya berbentuk plot pada grafik atau nomogram. Meskipun cara ini sering
kali digunakan untuk menyelesaikan permasalahan yang rumit, tapi ketepatan hasilnya tidak

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


4 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
terlalu baik. Selain itu, penerapan cara grafis terkadang melelahkan karena masih banyak
perhitungan yang harus dilakukan. Di samping itu, cara grafis umumnya hanya bisa
digunakan untuk permasalahan yang relatif sederhana.

3. Kalkulator dan mistar hitung


Kedua peralatan ini sebenarnya digunakan untuk menyelesaikan permasalahan dengan
teknik numerik tetapi dilakukan secara manual. Secara konsep, cara ini dapat
menyelesaikan permasalahan yang rumit, namun dalam penerapannya penyelesaian
tersebut diperoleh dengan lambat dan melelahkan karena perhitungan dilakukan secara
manual. Selain itu, cara ini sangat peka terhadap kemungkinan terjadinya kesalahan-
kesalahan kecil saat perhitungan manual dilakukan.

Perlu digaris-bawahi bahwa perbedaan kecil antara hitungan tangan / manual dengan
hitungan komputer dapat berdampak besar3.

Contoh 1: Deret Taylor untuk 𝒆𝒙 : Algoritma yang tidak stabil


Kita tahu bahwa Deret Taylor untuk 𝑒 𝑥 konvergen untuk semua nilai 𝑥
𝑥2 𝑥3
𝑒𝑥 = 1 + 𝑥 + + +⋯
2! 3!
Berikut ini adalah program Fortran untuk memperoleh hasil penjumlahan tersebut
WRITE (*,*) ‘Masukkan nilai X”
READ (*,*) X
SUM = 1.0
TERM = 1.0
I = 1
1 TERM = TERM * (X/I)
IF (SUM+TERM .EQ. SUM) THEN
WRITE (*,*) ‘E(X) = ‘, SUM, EXP(X)
STOP
C HENTIKAN PENJUMLAHAN JIKA TIDAK ADA PENAMBAHAN YANG BERARTI TERHADAP
DERET
ELSE
SUM = SUM + TERM
I = I + 1
GO TO 1
ENDIF
END

Jika kita jalankan program di atas pada suatu komputer, kita akan memperoleh angka-angka
berikut:

3
Kahaner, D., Moler C. and Nash, S., 1989, “Numerical Method and Software”, Prentice Hall, bisa diunduh dari
http:lya.fciencias.unam.mx/pablo/an20072/material/kahaner.pdf

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


5 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
Untuk 𝑥 > 0 hasil perhitungan seperti yang kita harapkan, namun tidak demikian untuk 𝑥 <
0. Bahkan untuk beberapa hal, tanda bilangannya pun salah.

Sebenarnya, ada beberapa cara menghitung 𝑒 𝑥 untuk seluruh nilai 𝑥 tapi menggunakan
Deret Taylor bukanlah termasuk dari cara-cara tersebut. Dalam hal ini, kesalahan berada
pada pemilihan algoritma, karena algoritma ini adalah algoritma yang tidak stabil (unstable
algorithm) dan harus dihindari.

Contoh 2: Besarnya kesalahan pada perhitungan turunan


Turunan dari 𝑓 pada titik 𝑥 didefinisikan sebagai
𝑓(𝑥 + ℎ) − 𝑓(𝑥)
𝑓 ′ (𝑥) = lim
ℎ→0 ℎ
Jika ℎ kecil, maka
𝑓(𝑥 + ℎ) − 𝑓(𝑥)
𝑓 ′ (𝑥) ≈ = ∆ℎ 𝑓(𝑥)

Tabel di bawah ini menunjukkan hasil perhitungan 𝑓 ′ (𝑥) = ∆ℎ 𝑓(𝑥) untuk nilai 𝑥 = 1. Karena
kita tahu bahwa 𝑓 ′ (𝑒 𝑥 ) = 𝑒 𝑥 , hasil perhitungan tersebut kita bandingkan dengan nilai 𝑒 𝑥 .

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


6 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
Kita lihat bahwa semakin kecil nilai ℎ, semakin kecil kesalahan yang terjadi. Namun, jika nilai
ℎ semakin kecil, kesalahannya malah besar. Hasil pada baris terakhir menunjukkan bahwa
kita telah mencapai batas ketepatan dalam perhitungan aritmatika.

Contoh 3: Dua persamaan simultan – Masalah ill-conditioned


Selesaikan sistem dua persamaan simultan berikut

780𝑥 + 563𝑦 = 217


457𝑥 + 330𝑦 = 127
Dengan cara biasa dan menggunakan tiga angka desimal, kita akan dapatkan jawabannya
adalah:
𝑥 = 1,71 dan 𝑦 = −1,98
Jika angka jawaban tersebut kita masukkan kembali ke dalam persamaan, kita akan
peroleh,
780 ∗ (1,71) + 563 ∗ (−1,98) − 217 = 0,00206
457 ∗ (1,71) + 330 ∗ (−1,98) − 127 = 0,00107
Perbedaan antara suku-suku di kiri dan di kanan tanda sama dengan (=), disebut dengan
residu. Dalam contoh ini, residu sangat kecil. Walaupun demikian, jawab sebenarnya (exact)
dari persamaan di atas adalah:
𝑥exact = 1.000 dan 𝑦exact = −1.000
Terlihat dalam contoh ini bahwa jawaban hasil perhitungan kelihatannya berbeda dengan
jawaban sebenarnya. Meskipun algoritma yang dipakai sudah sangat baik, namun jawaban
yang diperoleh ternyata tidak terlalu tepat. Kesalahan ini bukan karena algoritma, tapi
karena kita berhadapan dengan ill-conditioned, badly posed atau peka (sensitive), dalam arti
perubahan kecil terhadap koefisien variabel, akan berpengaruh perubahan besar terhadap
jawabannya.
Jadi, aritmatika pada komputer hanyalah suatu pendekatan terhadap aritmatika biasa.
Metoda numerik yang baik adalah yang telah memperhitungkan pengaruh dari arimatika
pada komputer. Namun sebaik apapun metoda numerik, jawaban sebenarnya dari suatu
masalah tidak selalu mungkin didapatkan. Suatu algoritma yang baik, tetap tidak bisa
diharapkan menghasilkan jawaban yang baik pada masalah ill-conditioned.

3. Kesalahan pada Perhitungan

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


7 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
Seperti yang kita telah bahas sebelumnya, terdapat perbedaan antara nilai sebenarnya
dengan nilai yang dihitung menggunakan metoda numerik. Dengan demikian, dapat
dirumuskan bahwa,
kesalahan (error) = nilai sebenarnya – nilai pendekatan
Selain itu, ada istilah lain yang juga sering digunakan, yaitu kesalahan relatif yang
didefinisikan sebagai,
kesalahan
kesalahan relatif =
nilai sebenarnya
Namun harus diingat bahwa kesalahan relatif hanya bisa dihitung jika nilai sebenarnya
bukan nol. Kesalahan relatif sering lebih terlihat dalam mengukur ketepatan (accuracy)
karena lebih tidak tergantung pada bagaimana suatu besaran diskalakan. Sebagai contoh,
kalau data berat diberikan dalam gram dan bukan kilogram, maka kesalahan relatifnya sama
saja, namun kesalahannya akan 1000 kali lebih besar.
Kesalahan disebabkan oleh:
a. Tidak bekerjanya komputer atau komponen dari komputer. Kesalahan semacam ini
saat ini sudah sangat jarang.
b. Kekeliruan (blunder), baik dalam pemrograman komputer atau dalam perumusan
model matematika atau model numerik
c. Kesalahan percobaan, yaitu kesalahan karena peralatan yang digunakan mengambil
data dalam percobaan, kurang tepat atau kurang presisi,
d. Mengabaikan hal-hal khusus yang berlaku pada permasalahan yang sedang ditinjau,
termasuk kesalahan dalam pemotongan suku (truncation error).
e. Kesalahan numerik atau kesalahan dalam pembulatan angka (rounding error).
Kesalahan ini disebabkan kombinasi dari:
• Masalah yang dipecahkan termasuk ill-conditioned atau peka (sensitive)
• Kestabilan dari algoritma

Contoh 4: Kesalahan pemotongan suku (truncation error)


Lihat kembali Contoh 2. Jika kita mengembangkan 𝑓(𝑥 + ℎ) menurut Deret Taylor terhadap
𝑥, maka akan kita peroleh
′ ℎ2 ′′
𝑓(𝑥 + ℎ) − 𝑓(𝑥) 𝑓(𝑥) + ℎ𝑓 (𝑥) + 2 𝑓 (𝜖) − 𝑓(𝑥)
∆ℎ 𝑓(𝑥) ≡ =
ℎ ℎ
ℎ ′′
= 𝑓 ′ (𝑥) + 2
𝑓 (𝜖) dengan 𝑥 < 𝜖 < (𝑥 + ℎ)

Dengan demikian, kesalahan pemotongan suku (truncation error) dalam pendekatan ini

adalah 2 𝑓 ′′ (𝜖)

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


8 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
Seringkali dikatakan bahwa kesalahan pemotongan suku (truncation error) timbul karena
kita menghilangkan suku-suku, sedangkan kesalahan pembulatan (rounding error) muncul
karena kita memasukkan suku-suku.

Contoh 5: Masalah yang ill-conditioned


Hitunglah keempat akar dari persamaan
𝑥 4 − 4𝑥 3 + 8𝑥 2 − 16𝑥 + 15,99999999 = 0
Persamaan di atas dapat kita ubah bentuknya menjadi
(𝑥 4 − 4𝑥 3 + 8𝑥 2 − 16𝑥 + 16) − 0,00000001 = 0
(𝑥 − 2)4 − 10−8 = 0
(𝑥 − 2)2 = ±10−4

𝑥 − 2 = ±√±10−4
Dengan demikian, ke-empat akar persamaan tersebut adalah,
𝑥1 = 2,01; 𝑥2 = 1,99; 𝑥3 = 2 + 0,01𝑖; 𝑥4 = 2 − 0,01𝑖
Jika kita bekerja dengan komputer yang mempunyai ketelitian rendah, konstanta pada suku
terakhir persamaan akan dibulatkan menjadi 16, sehingga:
𝑥 4 − 4𝑥 3 + 8𝑥 2 − 16𝑥 + 16 = 0
(𝑥 − 2)4 = 0 → 𝑥1234 = ±2,0
Jawaban ini berbeda sekitar 5% dengan jawaban pada komputer yang mempunyai ketelitian
tinggi.

Dalam contoh di atas, perbedaan kecil pada data (seperti mengubah konstanta pada
persamaan) akan berakibat besat pada jawaban, terlepas dari metoda yang digunakan
untuk mencari jawaban tersebut. Masalah seperti ini disebut masalah ill-conditioned. Tidak
ada cara untuk mengurangi kepekaan seperti ini. Kesalahan terletak pada masalahnya,
bukan pada caranya.

Contoh 6: Deret Taylor untuk 𝑒 𝑥 : Algoritma yang lebih baik


Tinjau kembali Contoh 1 untuk 𝑥 < 0. Karena pendekatan pada Contoh 1 terbukti baik untuk
𝑥 > 0 (nilai positif), kita bisa berharap bahwa:
1 1
𝑒 −𝑥 = =
𝑒𝑥 𝑥2
𝑥3
1 + 𝑥 + 2! + 3! + ⋯

dapat digunakan untuk 𝑥 < 0 (nilai negatif).


Program pada Contoh 1 selanjutnya diubah agar dapat menghitung 𝑒 𝑥 untuk nilai negatif
𝑥 < 0 menggunakan persamaan di atas. Hasilnya adalah seperti tabel berikut:

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


9 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
Sekarang hasilnya sudah sangat akurat.

Dalam hal Contoh 6 di atas, kesalahan bukan terletak pada permasalahannya, tapi pada
cara / metoda yang kita pilih. Penjumlahan langsung untuk suatu deret ternyata merupakan
algoritma yang tidak stabil untuk nilai 𝑥 < 0 (negatif).
Pendekatan lain yang dapat meningkatkan akurasi adalah dengan mengurangi kesalahan
pemotongan suku (truncation error) untuk nilai ℎ yang sama. Kita gunakan perkiraan
terhadap turunan menggunakan beda tengah (centre difference),
𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ)
𝛿ℎ 𝑓(𝑥) ≡
2ℎ
Lalu menggunakan Deret Taylor seperti pada Contoh 5,
ℎ2 ′′′ ℎ4 𝑣
𝛿ℎ 𝑓(𝑥) = 𝑓 ′ (𝑥) + 𝑓 (𝑥) + 𝑓 (𝑥) + ⋯
6 120
Jika pendekatan di atas kita gunakan untuk menghitung 𝑒 ′ (1), yang kita peroleh adalah

Contoh 1 menunjukkan bahwa suatu algoritma yang tidak baik akan menghasilkan hasil
yang buruk untuk suatu masalah yang sebenarnya sudah kita ketahui hasilnya. Ketika
algoritma diperbaiki, hasilnya pun langsung menjadi lebih tepat. Sedangkan pada Contoh 5,
ditunjukkan bahwa untuk masalah-masalah tertentu, jawaban yang “bagus” tidak dapat

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


10 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id
diperoleh menggunakan algoritma apapun karena masalah tersebut peka (sensitive)
terhadap perubahan data dan ketelitian bilangan. Yang harus ditekankan adalah bahwa
pada perhitungan menggunakan analisis teori, tidak dikenal adanya kesalahan pembulatan
(rounding error). Keadaan yang sangat berbeda kita jumpai jika melakukan perhitungan
menggunakan komputer yang pasti akan melibatkan metoda numerik. Pada perhitungan
menggunakan komputer, hampir seluruh topik metoda numerik akan berhadapan dengan
masalah-masalah yang ill-conditioned dan algoritma yang tidak stabil. Setiap kali kita
berhadapan dengan komputer, kita harus ingat ketidak-sempurnaan ini sehingga kita lebih
siap dengan gejala-gejala yang muncul yang menyajikan hasil yang tidak sesuai dengan
yang kita harapkan.

Daftar Bacaan
Chapra, S.C., Canale, R.P., “Numerical Methods for Engineers”, 6th Edition, McGraw-Hill,
2009, bisa diunduh dari
http://search.4shared.com/q/CCAD/1/numerical%20methods%20for%20engineers

Muntohar, Agus Setyo, “Metoda Numerik, Analisa dan Aplikasi Teknik Sipil”, sample copy-
nya dapat diunduh dari
https://muntohar.files.wordpress.com/2012/10/samplescopy.pdf

Kahaner, D., Moler C. and Nash, S., 1989, “Numerical Method and Software”, Prentice Hall,
bisa diunduh dari http:lya.fciencias.unam.mx/pablo/an20072/material/kahaner.pdf

2020 Metoda Numerik Pusat Bahan Ajar dan eLearning


11 Ir. Pariatmono Sukamdo, MSc, DIC, PhD http://www.mercubuana.ac.id

Anda mungkin juga menyukai