Penyelesaian persamaan gelombang air dangkal dengan beberapa metode numeris.

(1)

ABSTRAK

Persamaan gelombang air dangkal adalah persamaan yang memodelkan aliran air di tempat terbuka. Persamaan gelombang air dangkal seringkali disebut sistem Saint-Venant yang diturunkan dari hukum kekekalan massa dan momentum.

Dalam skripsi ini, persamaan gelombang air dangkal diselesaikan menggunakan beberapa metode, yaitu metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Metode volume hingga bekerja dengan cara membagi domain ruang menjadi sebanyak berhingga sel, kemudian dihitung rata-rata kuantitas untuk masing-masing sel. Metode beda hingga grid kolokasi dikerjakan secara implisit yaitu membagi domain ruang menjadi sebanyak berhingga titik, kemudian persamaan gelombang air dangkal didiskretkan dan membentuk sebuah sistem persamaan linear. Terakhir, metode beda hingga grid selang-seling bekerja dengan cara membagi domain perhitungan ruang secara selang-seling. Kedalaman air dihitung pada grid dengan indeks bilangan bulat dan kecepatan air dihitung pada grid dengan indeks pecahan. Penggunaan metode yang tepat akan menghasilkan solusi yang akurat untuk persamaan gelombang air dangkal.

Penelitian ini menguji beberapa metode numeris yang bisa digunakan untuk menyelesaikan persamaan gelombang air dangkal satu dimensi. Pengujian dilakukan menggunakan simulasi numeris. Analisis hasil simulasi dilakukan dengan observasi hasil simulasi di setiap metode dan membandingkannya dengan hasil solusi eksak.


(2)

ABSTRACT

The shallow water wave equations model water flows in an open channel. The shallow water wave equations are often called the Saint-Venant system derived from the conservations of mass and momentum.

In this thesis, the shallow water wave equations are solved using several methods, the Lax-Friedrichs finite volume method, collocation grid finite difference method and staggered grid finite difference method. The finite volume method works by dividing the spatial domain into a finite number of cells, then calculating the average quantity for each cell. The collocation grid finite difference method divides the spatial domain into a finite number of computational points for the shallow water equation discretization and forms a linear system of equations. Finally, the staggered grid finite difference method works by discretising the computational domain into staggered spatial partitions. The staggered finite diference means that we approximate the quantities of interest of the shallow water equations on different cells. In the staggered formulation, water depth is calculated at full grid points and water velocity is calculated at half grid points. The appropriate method will produce an accurate solution for the shallow water wave equations.

This study examines several numerical methods for solving the one dimensional shallow water wave equations. We investigate the performance of these numerical methods using numerical simulations. Analysis of simulation results are done by observing the results of each method and comparing the numerical results with the exact solution.


(3)

PENYELESAIAN PERSAMAAN GELOMBANG AIR

DANGKAL DENGAN BEBERAPA METODE NUMERIS

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Matematika

Program Studi Matematika

Disusun oleh: Ilga Purnama Sari

NIM: 123114023

PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(4)

i

PENYELESAIAN PERSAMAAN GELOMBANG AIR

DANGKAL DENGAN BEBERAPA METODE NUMERIS

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Matematika

Program Studi Matematika

Disusun oleh: Ilga Purnama Sari

NIM: 123114023

PROGRAM STUDI MATEMATIKA JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(5)

ii

SOLUTION TO THE SHALLOW WATER WAVE

EQUATIONS WITH SOME NUMERICAL METHODS

A THESIS

Presented as Partial Fulfillment of the

Requirements to Obtain the Degree of Sarjana Matematika Mathematics Study Program

Written by: Ilga Purnama Sari Student ID: 123114023

MATHEMATICS STUDY PROGRAM DEPARTMENT OF MATHEMATICS FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA


(6)

(7)

(8)

(9)

(10)

vii

ABSTRAK

Persamaan gelombang air dangkal adalah persamaan yang memodelkan aliran air di tempat terbuka. Persamaan gelombang air dangkal seringkali disebut sistem Saint-Venant yang diturunkan dari hukum kekekalan massa dan momentum.

Dalam skripsi ini, persamaan gelombang air dangkal diselesaikan menggunakan beberapa metode, yaitu metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Metode volume hingga bekerja dengan cara membagi domain ruang menjadi sebanyak berhingga sel, kemudian dihitung rata-rata kuantitas untuk masing-masing sel. Metode beda hingga grid kolokasi dikerjakan secara implisit yaitu membagi domain ruang menjadi sebanyak berhingga titik, kemudian persamaan gelombang air dangkal didiskretkan dan membentuk sebuah sistem persamaan linear. Terakhir, metode beda hingga grid selang-seling bekerja dengan cara membagi domain perhitungan ruang secara selang-seling. Kedalaman air dihitung pada grid dengan indeks bilangan bulat dan kecepatan air dihitung pada grid dengan indeks pecahan. Penggunaan metode yang tepat akan menghasilkan solusi yang akurat untuk persamaan gelombang air dangkal.

Penelitian ini menguji beberapa metode numeris yang bisa digunakan untuk menyelesaikan persamaan gelombang air dangkal satu dimensi. Pengujian dilakukan menggunakan simulasi numeris. Analisis hasil simulasi dilakukan dengan observasi hasil simulasi di setiap metode dan membandingkannya dengan hasil solusi eksak.


(11)

viii

ABSTRACT

The shallow water wave equations model water flows in an open channel. The shallow water wave equations are often called the Saint-Venant system derived from the conservations of mass and momentum.

In this thesis, the shallow water wave equations are solved using several methods, the Lax-Friedrichs finite volume method, collocation grid finite difference method and staggered grid finite difference method. The finite volume method works by dividing the spatial domain into a finite number of cells, then calculating the average quantity for each cell. The collocation grid finite difference method divides the spatial domain into a finite number of computational points for the shallow water equation discretization and forms a linear system of equations. Finally, the staggered grid finite difference method works by discretising the computational domain into staggered spatial partitions. The staggered finite diference means that we approximate the quantities of interest of the shallow water equations on different cells. In the staggered formulation, water depth is calculated at full grid points and water velocity is calculated at half grid points. The appropriate method will produce an accurate solution for the shallow water wave equations.

This study examines several numerical methods for solving the one dimensional shallow water wave equations. We investigate the performance of these numerical methods using numerical simulations. Analysis of simulation results are done by observing the results of each method and comparing the numerical results with the exact solution.


(12)

ix

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN JUDUL DALAM BAHASA INGGRIS ... ii

HALAMAN PERSETUJUAN PEMBIMBING ... iii

HALAMAN PENGESAHAN ... iv

HALAMAN PERNYATAAN KEASLIAN KARYA ... v

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI... vi

ABSTRAK ... vii

ABSTRAK DALAM BAHASA INGGRIS ... viii

DAFTAR ISI ... ix

BAB I PENDAHULUAN ... 1

A. Latar Belakang ... 1

B. Rumusan Masalah ... 4

C. Pembatasan Masalah ... 5

D. Tujuan Penulisan ... 5

E. Metode Penulisan ... 5

F. Manfaat Penulisan ... 6

G. Sistematika Penulisan ... 6


(13)

x

A. Integral ... 8

B. Klasifikasi Persamaan Diferensial ... 11

C. Nilai Eigen dan Vektor Eigen ... 15

D. Persamaan Diferensial Hiperbolik ... 16

E. Penurunan Numeris ... 18

F. Karakteristik Persamaan Gelombang Air Dangkal ... 25

BAB III METODE NUMERIS UNTUK PERSAMAAN GELOMBANG AIR DANGKAL ... 28

A. Solusi Eksak Persamaan Gelombang Air Dangkal ... 28

B. Penurunan Persamaan Gelombang Air Dangkal Satu Dimensi ... 29

C. Masalah Bendungan Bobol ... 35

D. Metode Volume Hingga Lax-Friedrichs ... 37

E. Metode Beda Hingga Grid Kolokasi ... 44

F. Metode Beda Hingga Grid Selang-Seling ... 53

BAB IV PERBANDINGAN BEBERAPA METODE NUMERIS DALAM PENYELESAIAN MODEL GELOMBANG AIR DANGKAL ... 57

A. Metode Volume Hingga Lax-Friedrichs ... 58

B. Metode Beda Hingga Grid Kolokasi ... 62

C. Metode Beda Hingga Grid Selang-Seling ... 66


(14)

xi

A. Kesimpulan ... 71

B. Saran ... 72

DAFTAR PUSTAKA ... 73


(15)

1

BAB I PENDAHULUAN

Dalam bab ini akan dijelaskan latar belakang, rumusan dan pembatasan masalah, tujuan dan manfaat penulisan, juga akan disertakan sistematika penulisan.

A. Latar Belakang

Persamaan diferensial merupakan persamaan yang menghubungkan suatu fungsi beserta turunan-turunannya. Banyak masalah fisis yang dapat diselesaikan dengan persamaan diferensial. Masalah fisis merupakan masalah yang berhubungan dengan hukum alam yang dibahas dalam ilmu fisika. Masalah fisis seperti fluida dapat diselesaikan dengan menggunakan persamaan diferensial parsial.

Fluida merupakan zat yang dapat mengalir. Zat itu dapat berupa gas atau cairan. Aliran fluida merupakan salah satu masalah fisis yang sering dijumpai dalam kehidupan sehari-hari. Masalah yang sudah pernah ada adalah terjadinya bencana alam seperti bobolnya bendungan air atau tsunami. Bencana alam tersebut disebabkan oleh aliran air dalam skala besar. Aliran tersebut dapat dimodelkan secara matematis (Crowhurst, 2013; Crowhurst dan Li, 2013).

Model gelombang air yang sudah ada salah satunya adalah model gelombang air dangkal atau Shallow Water Wave Equations. Dangkal dalam arti matematis adalah amplitudo gelombang jauh lebih kecil dibandingkan panjang gelombangnya.


(16)

Dengan demikian, nilai perbandingan antara amplitudo gelombang dengan panjang gelombang � ditulis

�≪ .

Penyelesaian persamaan gelombang air dangkal memiliki dua komponen penting yang tidak diketahui yaitu kedalaman dan kecepatan air, dengan ℎ , adalah kedalaman air dan , adalah kecepatan air. Di sini, adalah variabel yang menyatakan waktu dan adalah variabel yang menyatakan ruang satu dimensi. Persamaan gelombang air dangkal dalam bentuk sistem persamaan diferensial parsial dinyatakan oleh dua persamaan simultan, yaitu

ℎ + ℎ = (1.1)

dan

ℎ + ℎ + ℎ = − ℎ (1.2)

dengan adalah ketinggian tanah, dan adalah konstanta percepatan gravitasi. Ilustrasi gelombang air dangkal ditunjukkan dalam Gambar 1.1.

Gambar 1.1: Gelombang air dangkal dan variabel-variabel terkait dalam

persamaan gelombang air dangkal. �

x y


(17)

Pada skripsi ini akan diselesaikan persamaan gelombang air dangkal terkait dengan masalah bendungan bobol. Masalah bendungan bobol memiliki beberapa asumsi, syarat awal dan syarat batas yang akan dibahas lebih lanjut pada Bab III. Ilustrasi bendungan air dapat dilihat pada Gambar 1.2.

Gambar 1.2: Bendungan air

Secara umum, solusi persamaan gelombang air dangkal tersebut cukup sulit untuk dicari secara analitis, sehingga diperlukan cara lain untuk memecahkannya. Metode numeris adalah salah satu cara untuk memperoleh solusi persamaan gelombang air dangkal tersebut. Banyak metode numeris yang telah dikembangkan sebelumnya untuk memecahkan solusi persamaan tersebut, mulai dari metode karakteristik, metode beda hingga, metode elemen hingga, metode volume hingga dan sebagainya. Metode beda hingga dikembangkan berdasarkan diskritisasi langsung dari persamaan diferensial yang dipandang (LeVeque, 1992). Metode beda hingga unggul dalam kemudahan komputasi. Dalam tugas akhir ini akan dibahas penyelesaian persamaan gelombang air dangkal dengan metode beda hingga dan metode volume hingga, karena perumusan kedua metode tersebut sederhana.

Bendungan air Permukaan air

Permukaan air


(18)

Metode beda hingga terbagi atas dua model yaitu model grid kolokasi dan model grid selang-seling. Pada grid kolokasi ditentukan nilai pendekatan untuk semua variabel ℎ dan yang tidak diketahui secara bersamaan. Pada grid selang-seling ditentukan pendekatan variabel ℎ dan secara selang-seling. Salah satu referensi tentang grid kolokasi adalah LeVeque (1992). Salah satu referensi tentang grid selang-seling adalah Stelling dan Duinmeijer (2003).

Penelitian ini akan membandingkan hasil perhitungan terbaik antara metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Dari ketiga metode tersebut diperoleh hasil perhitungan terbaik yang dapat memperbaiki metode beda hingga dengan tidak ada getaran semu (artificial oscillation) pada hasil simulasi aliran air. Fokus penelitian ini adalah mengembangkan metode numeris dengan metode beda hingga dan volume hingga untuk menyimulasikan aliran air.

B. Rumusan Masalah

Permasalahan yang dirumuskan dalam skripsi ini ada empat, yaitu: 1. Bagaimana memodelkan gelombang air dangkal?

2. Bagaimana menyelesaikan dan menyimulasikan persamaan gelombang air dangkal dengan menggunakan metode volume hingga?

3. Bagaimana menyelesaikan dan menyimulasikan persamaan gelombang air dangkal dengan menggunakan metode beda hingga grid kolokasi?

4. Bagaimana menyelesaikan dan menyimulasikan persamaan gelombang air dangkal dengan menggunakan metode beda hingga grid selang-seling?


(19)

C. Pembatasan Masalah

Pembahasan masalah dalam skripsi ini akan dibatasi pada memodelkan gelombang air dangkal satu dimensi dan mencari penyelesaian persamaan gelombang air dangkal dengan metode beda hingga dan volume hingga.

D. Tujuan Penulisan

Skripsi ini mempunyai dua tujuan, yaitu:

1. Merumuskan dan menyelesaikan persamaan gelombang air dangkal dengan beberapa metode numeris, yaitu metode volume hingga Lax-Friedrichs, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling.

2. Membandingkan beberapa hasil simulasi numeris menggunakan metode volume hingga Lax-Friedrichs, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Dari hasil simulasi tersebut kemudian dipilih hasil yang terbaik yang memuat galat yang paling kecil.

3. Menyimulasikan metode volume hingga Lax-Friedrichs, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling untuk masalah bendungan bobol.

E. Metode Penulisan

Metode penulisan yang digunakan adalah studi pustaka dari buku-buku dan jurnal serta praktek simulasi numeris.


(20)

F. Manfaat Penulisan

Dengan memodelkan persamaan gelombang air, kita dapat 1. Menyimulasikan terjadinya banjir.

2. Memperkirakan daerah mana saja yang akan tenggelam.

3. Memperkirakan kecepatan dan kedalaman air pada daerah tersebut.

G. Sistematika Penulisan

Sistematika penulisan tugas akhir ini adalah sebagai berikut:

BAB I PENDAHULUAN A. Latar Belakang Masalah B. Rumusan Masalah C. Batasan Masalah D. Metode Penulisan E. Tujuan Penulisan F. Manfaat Penulisan

BAB II PERSAMAAN DIFERENSIAL A. Integral

B. Klasifikasi Persamaan Diferensial C. Nilai eigen dan vektor eigen D. Persamaan Diferensial Hiperbolik E. Penurunan Numeris

F. Karakteristik Persamaan Gelombang Air Dangkal

BAB III METODE NUMERIS UNTUK PERSAMAAN GELOMBANG AIR DANGKAL

A. Solusi Eksak Persamaan Gelombang Air Dangkal

B. Penurunan Persamaan Gelombang Air Dangkal Satu Dimensi C. Masalah Bendungan Bobol


(21)

E. Metode Beda Hingga Grid Kolokasi F. Metode Beda Hingga Grid Selang-Seling

BAB IV PERBANDINGAN BEBERAPA METODE NUMERIS DALAM PENYELESAIAN MODEL GELOMBANG AIR DANGKAL

A. Metode Volume Hingga Lax-Friedrichs B. Metode Beda Hingga Grid Kolokasi C. Metode Beda Hingga Grid Selang-Seling BAB V PENUTUP

A. Kesimpulan B. Saran

DAFTAR PUSTAKA LAMPIRAN


(22)

8

BAB II

PERSAMAAN DIFERENSIAL

Landasan teori skripsi ditulis dalam bab ini. Landasan teori tersebut meliputi: integral, klasifikasi persamaan diferensial, nilai eigen dan vektor eigen, persamaan diferensial hiperbolik, penurunan numeris, dan karakteristik persamaan gelombang air dangkal.

A.Integral

Pada bagian ini dibahas mengenai integral yang meliputi definisi dan contoh dari integral tentu dan aturan Leibniz.

Definisi 2.1

Jika diberikan suatu fungsi pada suatu interval � dan berlaku ′ =

, untuk suatu , maka adalah anti turunan dari . Dengan kata lain

= .

Contoh 2.1

Carilah suatu anti turunan dari = pada −∞, ∞ . Penyelesaian:

Fungsi = bukan anti turunannya karena turunan adalah . Tetapi hal ini menyarankan = , yang memenuhi ′ = = . Dengan demikian, suatu anti turunan dari adalah .


(23)

Anti turunan dinotasikan dengan ∫ … . Notasi tersebut menunjukkan anti turunan terhadap . Anti turunan biasanya disebut integral tak tentu.

Integral Tentu

Perhatikan Gambar 2.1 berikut ini.

Gambar 2.1: Ilustrasi fungsi satu variabel

Untuk menghitung luasan dibawah kurva = pada interval [ , ], dapat dihitung dengan cara aproksimasi yaitu dengan membagi interval [ , ] menjadi subinterval. Subinterval tersebut memiliki panjang yang sama yaitu −

� untuk >

. Setelah membagi interval menjadi subinterval kemudian menghitung total jumlah luasan dari masing persegi panjang yang dibentuk oleh masing-masing subinterval tersebut. Hal ini diperoleh dengan memilih , , … , dengan

= , = �, dan

− − = −


(24)

untuk � = , , … , . Andaikan panjang masing-masing subinterval yaitu −

dinotasikan dengan

∆ = − − .

Luas daerah dibawah kurva diaproksimasikan dengan total luas daerah yang dibentuk oleh masing-masing subinterval, aproksimasi luas di bawah kurva adalah

� + � + ⋯ + ��. Artinya total luas tersebut yang dapat ditulis

∆ + ∆ + ⋯ + � ∆ = ∑ ∆

� =

yang disebut jumlahan Riemann fungsi pada interval [ , ], sebagai pendekatan luas daerah di bawah kurva = dan diatas sumbu . Di sini, ∈ [ , ].

Semakin banyak subinterval yang digunakan, artinya ∆ → maka semakin baik pula aproksimasi luasan tersebut dan semakin dekat dengan luasan yang sebenarnya. Dengan demikian,

Luas daerah = lim∆ → ∑ ∆ .

Definisi 2.2

Andaikan fungsi yang terdefinisi pada [ , ]. Integral tentu dari sampai dinotasikan ∫ , adalah


(25)

Aturan Leibniz Teorema 2.1

Aturan Leibniz untuk satu variabel:

Jika adalah fungsi kontinu pada interval [ , ] dan jika dan adalah fungsi yang dapat diturunkan terhadap yang nilainya terletak di interval [ , ], maka

∫ = ( ) − ( )

Teorema 2.2

Aturan Leibniz untuk dua variabel:

Jika , adalah fungsi sedemikian sehingga turunan parsial dari terhadap ada dan kontinu, maka

∫ , = ∫ � + , − , .

Bukti dapat dilihat pada buku karangan David. B dan George. C yang berjudul Basic Partial Differential Equations.

B. Klasifikasi Persamaan Diferensial

Berikut ini dibahas tentang klasifikasi persamaan diferensial. Klasifikasi persamaan diferensial yang dibahas meliputi definisi dan contoh persamaan


(26)

diferensial, persamaan diferensial biasa, persamaan diferensial parsial, orde persamaan diferensial dan kelinearan suatu persamaan diferensial.

Definisi 2.3

Persamaan diferensial adalah persamaan yang melibatkan variabel-variabel tak bebas dan turunan-turunannya terhadap variabel-variabel bebas.

Contoh 2.2

Persamaan di bawah ini merupakan contoh persamaan diferensial:

+ ( ) = (2.1)

+ + = sin (2.2)

� � +

� � =

(2.3)

� � +

� � +

� = .

(2.4)

Definisi 2.4

Persamaan diferensial biasa adalah persamaan diferensial yang melibatkan turunan biasa beserta satu atau lebih variabel tak bebas terhadap satu variabel bebas.

Contoh 2.3

Persamaan (2.1) dan (2.2) adalah persamaan diferensial biasa. Pada persamaan (2.1) variabel adalah suatu variabel bebas, dan variabel adalah variabel tak bebas. Pada persamaan (2.2), variabel adalah variabel bebas, dengan


(27)

Definisi 2.5

Persamaan diferensial parsial adalah persamaan diferensial yang melibatkan turunan parsial dari satu atau lebih variabel tak bebas terhadap lebih dari satu variabel bebas.

Contoh 2.4

Persamaan (2.3) dan (2.4) adalah persamaan diferensial parsial. Pada persamaan (2.3), variabel dan adalah variabel bebas dan adalah variabel tak bebasnya. Pada persaman (2.4) terdapat tiga variabel bebas yaitu , , dan . Pada persamaan (2.4) variabel tak bebasnya adalah .

Definisi 2.6

Orde dari persamaan diferensial adalah tingkat tertinggi dari turunan yang terkandung dalam persamaan diferensial.

Contoh 2.5

Persamaan diferensial biasa (2.1) adalah persamaan diferensial orde kedua, karena tingkat tertinggi dari turunan pada persamaan tersebut adalah dua. Persamaan (2.2) adalah persamaan diferensial biasa orde keempat. Persamaan (2.3) termasuk persamaan diferensial parsial orde pertama. Persamaan (2.4) merupakan persamaan diferensial parsial orde kedua.

Definisi 2.7

Suatu persamaan diferensial biasa orde ke-


(28)

dikatakan linear jika merupakan suatu fungsi linear dari variabel

, ′, ′′, … ,; definisi yang sama juga berlaku untuk persamaan diferensial

parsial. Secara umum persamaan diferensial biasa linear orde dituliskan sebagai

+ �− + ⋯ +

� = (2.5)

dengan tidak sama dengan nol.

Contoh 2.6

Persamaan diferensial biasa berikut keduanya linear. Pada kedua persamaan berikut, variabel adalah variabel tak bebas. Perhatikan bahwa dan turunan-turunannya terjadi dengan pangkat satu saja dan tidak ada perkalian dari dan/ atau turunan dari .

+ + = (2.6)

+ + = . (2.7)

Definisi 2.8

Suatu persamaan diferensial biasa yang tidak memiliki bentuk (2.5) dinamakan persamaan diferensial biasa tak linear.

Contoh 2.7

Persamaan diferensial biasa berikut semuanya tak linear:


(29)

+ ( ) + = (2.9)

+ + = (2.10)

Persamaan (2.8) tak linear karena variabel tak bebas terdapat pada pangkat kedua dalam bentuk . Persamaan (2.9) juga tak linear karena terdapat bentuk

� yang melibatkan pangkat tiga pada turunan pertama. Persamaan (2.10) tak

linear karena pada bentuk �

� melibatkan perkalian terhadap variabel tak bebas

dan turunan pertamanya.

C. Nilai Eigen dan Vektor Eigen

Berikut dibahas mengenai definisi dan contoh dari nilai eigen dan vektor eigen.

Definisi 2.9

Jika � adalah matriks × , maka vektor tak nol � di ℝ� disebut vektor eigen dari � jika �� merupakan perkalian skalar dengan � atau dapat ditulis

�� = ��

untuk suatu skalar �. Skalar � disebut nilai eigen dari � dan � disebut vektor eigen

yang bersesuaian dengan .

Contoh 2.8


(30)

� = [ − ]

yang bersesuaian dengan nilai eigen � = , karena

�� = [ − ] [ ] = [ ] = �.

Secara geometri, perkalian matriks � dengan vektor � memiliki kelipatan 3 terhadap vektor �. Ilustrasi secara geometri ditunjukkan dalam Gambar 2.2.

Gambar 2.2: Ilustrasi geometri vektor eigen. D. Persamaan Diferensial Hiperbolik

Persamaan diferensial hiperbolik dapat digunakan untuk memodelkan banyak fenomena yang melibatkan pergerakan gelombang. Perhatikan bentuk persamaan diferensial berikut

, + � , = , (2.11)

Di sini = ��

� dan = �� � .


(31)

Dalam kasus yang paling sederhana yaitu koefisien konstan dan linear. Dalam hal ini ∶ ℝ × ℝ → ℝ� adalah vektor dengan komponen yang menyatakan fungsi yang tidak diketahui (tekanan, kecepatan, dan sebagainya) yang ingin ditentukan, dan � suatu konstan merupakan matriks real berukuran × n. Andaikan � = ̅ suatu konstan yang menyatakan kecepatan perambatan (aliran pada pipa satu dimensi misalnya), maka persamaan (2.11) menjadi

, + ̅ , = , (2.12)

persamaan ini disebut persamaan adveksi.

Persamaan , + � , = adalah persamaan hiperbolik, jika matriks � memiliki nilai eigen real dan berkorespondensi dengan vektor eigen yang bebas linear. Artinya, semua vektor dalam ℝ� dapat secara tunggal diuraikan sebagai kombinasi linear dari nilai-nilai eigen tersebut. Secara formal definisi persamaan diferensial hiperbolik sebagai berikut.

Definisi 2.10

Suatu sistem linear dengan bentuk

+ � =

dikatakan hiperbolik jika matriks � yang berukuran × n dapat didiagonalkan dengan nilai eigen real.

Secara khusus untuk persamaan adveksi, diketahui bahwa � = ̅, yang merupakan suatu konstanta real. Jadi � dapat didiagonalkan oleh nilai � itu sendiri dan nilai eigen dari � adalah � itu sendiri. Dengan demikian, persamaan adveksi merupakan persamaan diferensial hiperbolik. Keterangan lengkap tentang


(32)

persamaan diferensial hiperbolik dapat ditemukan dalam buku karangan LeVeque (2004).

E.Penurunan Numeris

Pada subbab ini dibahas mengenai penurunan numeris beserta contohnya dan penjelasan mengenai tiga hampiran dalam menghitung turunan numerik yaitu hampiran beda maju, hampiran beda mundur dan hampiran beda pusat.

Definisi 2.11

Suatu turunan fungsi didefinisikan dengan

= lim

∆ →

+ ∆ −

∆ .

Seringkali fungsi tidak diketahui secara eksplisit, tetapi hanya diketahui beberapa titik data saja. Seringkali diketahui secara eksplisit tetapi karena bentuknya yang sangat rumit sehingga untuk menentukan fungsi turunannya juga sulit, misalnya pada fungsi-fungsi berikut ini:

a . =√cos + tan

sin + − cos ,

b . = + ln .

Perhitungan nilai turunan pada fungsi (a) dan (b) dapat dikerjakan secara numerik. Nilai turunan yang diperoleh merupakan nilai hampiran dan diharapkan nilai galatnya sekecil mungkin.


(33)

Tiga Hampiran dalam Menghitung Turunan Numerik

Turunan adalah limit dari hasil bagi pengurangan dua buah nilai yang besar

+ ∆ − dan membaginya dengan bilangan yang kecil ∆ . Misal diberikan nilai-nilai di − ∆ , , dan + ∆ , serta nilai fungsi untuk nilai-nilai tersebut. Titik-titik yang diperoleh adalah , , , , dan

, , yang dalam hal ini = − ∆ dan = + ∆ . Terdapat tiga hampiran dalam menghitung nilai ′ :

1. Hampiran Beda Maju

Diketahui fungsi = . Akan ditunjukkan ′ dengan hampiran beda maju.

= lim

∆ →

+ ∆ − ∆

≈ + ∆ −

= − .

2. Hampiran Beda Mundur

Diketahui fungsi = . Akan ditunjukkan ′ dengan hampiran beda mundur.

= lim

∆ →

− − ∆

≈ − − ∆


(34)

3. Hampiran Beda Pusat

Diketahui fungsi = . Akan ditunjukkan ′ dengan hampiran beda pusat.

= lim

∆ →

+ ∆ − − ∆

≈ + ∆ − − ∆

= − − .

Tafsiran geometri dari ketiga pendekatan di atas diperlihatkan pada Gambar 2.3.

Gambar 2.3: Tiga pendekatan dalam perhitungan numeris; (a) Hampiran beda

maju, (b) Hampiran beda mundur, dan (c) Hampiran beda pusat.

= −

=

= −


(35)

Penurunan Rumus Turunan dengan Deret Taylor

Misalkan diberikan titik-titik , , � = , , , , … , , yang dalam hal ini

= + �∆

dan

= .

Selanjutnya akan dihitung ′ yang dalam hal ini = + ∆ , ∈ dengan ketiga pendekatan yang disebutkan di atas (maju, mundur, pusat).

1. Hampiran Beda Maju

Uraikan + di sekitar :

+ = + + −! ′ + + −! ′′ + ⋯

dengan mensubtitusikan + − = ∆ dan penulisan + dapat ditulis + diperoleh

+ = + ∆ ′+∆ ′′+ ⋯

(2.13)

atau dapat ditulis

∆ ′= + − −∆ ′′− ⋯

kedua ruas dibagi dengan ∆ sehingga diperoleh

= + −

∆ −

′′

− ⋯

karena ∆ ′′− ⋯ merupakan bilangan yang sangat kecil dan tidak begitu mempengaruhi nilai ′ sehingga dapat ditulis


(36)

= + −

∆ + ∆

yang dalam hal ini, ∆ =∆ ′′ , < < + .

Untuk nilai-nilai di dan persamaan rumusnya menjadi:

=

∆ + ∆ .

Dalam hal ini ∆ =∆ ′′ , < < + menyatakan penurunan numeris secara beda maju memiliki tingkat keakuratan tingkat satu atau ditulis ∆ .

2. Hampiran Beda Mundur

Uraikan di sekitar :

− = + + −! ′ + + −! ′′ + ⋯

dengan mensubtitusikan + − = ∆ dan penulisan dapat ditulis diperoleh

− = − ∆ ′+∆ ′′− ⋯

(2.14)

atau dapat ditulis

∆ ′= − − +∆ ′′− ⋯

kedua ruas dibagi dengan ∆ sehingga diperoleh

= − −

∆ −

′′

+ ⋯

karena ∆ ′′− ⋯ merupakan bilangan yang sangat kecil dan tidak begitu mempengaruhi nilai ′ sehingga dapat ditulis


(37)

= − −

∆ + ∆

yang dalam hal ini, ∆ = −∆ ′′ , < < .

Untuk nilai-nilai di dan persamaan rumusnya menjadi:

= − −

∆ + ∆

Dalam hal ini ∆ = −∆ ′′ , + < < menyatakan penurunan numeris secara beda mundur memiliki tingkat keakuratan tingkat satu atau ditulis ∆ .

3. Hampiran Beda Pusat

Kurangkan persamaan (2.13) dengan persamaan (2.14) diperoleh:

+ − − = + ∆ ′+∆ ′′+ ⋯ − − ∆ ′+∆ ′′− ⋯

dengan menggunakan operasi penjumlahan dan pengurangan diperoleh

+ − − = ∆ ′+∆ ′′′+ ⋯

atau dapat ditulis

∆ ′= + − − −∆ ′′′− ⋯

Kedua ruas dibagi dengan ∆ sehingga diperoleh

= + − −

∆ −

′′′

− ⋯

karena ∆

6

′′′− ⋯ merupakan bilangan yang sangat kecil dan tidak begitu

mempengaruhi nilai ′ sehingga dapat ditulis

= + − −


(38)

yang dalam hal ini, ∆ = −∆

6 ′′′ , − < < + .

Untuk nilai-nilai di dan persamaan rumusnya menjadi:

= − −

∆ + ∆

Dalam hal ini ∆ = −∆

6 ′′′ , − < < + menyatakan penurunan

numeris secara beda pusat yang memiliki tingkat keakuratan tingkat dua atau ditulis

∆ . Perhatikan bahwa hampiran beda pusat lebih baik daripada dua hampiran sebelumnya, sebab orde galatnya adalah ∆ .

Menentukan Orde Galat

Pada penurunan rumus turunan numeris dengan deret Taylor, rumus galat dalam penurunan rumus turunan numeris tersebut dapat langsung diperoleh. Tetapi dengan polinom interpolasi harus dicari rumus galat tersebut dengan bantuan deret Taylor.

Contoh 2.9

Tentukan rumus galat dan orde dari rumus turunan numeris hampiran beda pusat:

= − −

∆ +

Nyatakan (galat) sebagai ruas kiri persamaan, lalu ekspansi rusa kanan dengan deret Taylor di sekitar :

= ′ − −


(39)

= ′

∆ [ + ∆

+∆ ′′+

6

′′′+ ⋯ − − ∆+

∆ ′′

6

′′′+ ⋯ ]

= ′

∆ ∆

+∆ ′′′+ ⋯

= ′∆ 6

′′′+ ⋯

=−∆

6 ′′′+ ⋯

=−∆

6 ′′′,

− < <

= ∆ .

Jadi, hampiran beda pusat memiliki galat = −∆

6 ′′′,

− < < , dengan

orde ∆ .

F. Karakteristik Persamaan Gelombang Air Dangkal

Dipandang persamaan gelombang air dangkal

ℎ + ℎ = (2.15)

ℎ + ℎ + ℎ = . (2.16)

Gabungan persamaan (2.15) dan (2.16) dalam suatu sistem persamaan gelombang air dangkal yaitu

[ ℎℎ ] + [ℎ +ℎ ] = (2.17)

Jika diasumsikan ℎ dan halus (smooth), maka persamaan (2.16) dapat disederhanakan dengan memperluas turunan-turunannya dan menggunakan (2.15)


(40)

untuk menggantikan bentuk ℎ . Kemudian dengan menghilangkan beberapa bentuk, persamaan (2.16) menjadi

+ [ + ℎ] = . (2.18)

Pada persamaan (2.15) dan (2.18) memiliki bentuk yang bergantung dengan konstanta . Bentuk tersebut dapat disubtitusi dengan variabel � = ℎ. Sehingga sistem persamaan air dangkal menjadi

[�] + [ + � ] = (2.19)

Sistem persamaan tersebut ekuivalen dengan sistem persamaan (2.17) untuk solusi yang halus. Namun ada catatan penting bahwa manipulasi yang dilakukan di atas bergantung pada kehalusan pada masalah. Kedua sistem dari hukum konservasi tidak ekuivalen dalam menghitung shock waves. Sistem yang tepat untuk digunakan adalah sistem persamaan (2.17) yang berasal dari persamaan integral asli. Untuk mempelajari shock waves digunakan persamaan (2.17) dan diambil

, = [ ℎℎ ] = [ ] , = [ℎ +ℎ ] = [ + ].

Untuk solusi halus (smooth), persamaan tersebut dapat ditulis secara ekuivalen dalam bentuk quasilinear

+ ′ =


(41)

= [

+ ] = [− + ℎ ].

(2.20)

Nilai eigen dari ′ adalah

� = − √ ℎ, � = + √ ℎ (2.21)

Dengan vektor eigen

= [ − √ ℎ], = [ + √ ℎ]. (2.22)

Nilai eigen dan vektor eigen adalah fungsi untuk sistem nonlinear. Jika diinginkan gelombang dengan amplitudo yang sangat kecil, maka persamaan (2.17) dapat dilinearkan terlebih dahulu untuk mendapatkan sistem yang linear. Keterangan lengkap tentang karakteristik persamaan air dangkal dapat ditemukan dalam buku karangan LeVeque (2004).


(42)

28

BAB III

METODE NUMERIS UNTUK PERSAMAAN GELOMBANG AIR DANGKAL

Dalam bab ini akan dijelaskan metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling. Metode tersebut digunakan untuk menyelesaikan masalah bendungan air bobol, terkait dengan persamaan gelombang air dangkal.

A. Solusi Eksak Persamaan Gelombang Air Dangkal

Galat perhitungan pada penurunan numeris diperoleh dengan mengurangkan solusi numeris dengan solusi eksak. Berikut adalah solusi eksak yang akan digunakan dalam perhitungan simulasi numeris pada MATLAB:

ℎ =

{

ℎ , jika − √ ℎ

ℎ = √ ℎ − , jika − √ ℎ < − √ ℎ

ℎ =ℎ √ + �̇ℎ − , jika − √ ℎ < < �̇

ℎ , jika �̇


(43)

= {

, jika − √ ℎ

= √ ℎ + , jika − √ ℎ < − √ ℎ

= �̇ − ℎ

�̇ √ +

�̇

ℎ , jika − √ ℎ < < �̇

, jika �̇

dengan ℎ adalah kedalaman air pada titik dan adalah kecepatan air pada titik . Notasi �̇ adalah konstanta kecepatan shock untuk > , yaitu

�̇ = √ ℎ + ℎ

�̇ + √ +

�̇

ℎ − [ ℎ √ +

�̇

ℎ − ℎ ] .

Solusi eksak ini diambil dari Thesis karangan Mungkasi dengan judul Finite Volume Methods for the One Dimensional Shallow Water Equations (2008).

B. Penurunan Persamaan Gelombang Air Dangkal Satu Dimensi

Persamaan gelombang air dangkal dideskripsikan dari gerak fluida. Ada dua jenis gerak fluida yang dideskripsikan, yaitu Langrangian dan Eulerian. Deskripsi Langrangian berpusat pada partikel individu, dan pergerakannya diamati sebagai fungsi dari waktu. Posisi, kecepatan dan percepatan setiap partikel dinotasikan dengan , , , , dan , , kemudian kuantitasnya misalnya massa, momentum dan energi dapat dihitung. Pada kasus ini merupakan titik awal atau penamaan partikel.

Deskripsi Eulerian merupakan sebuah alternatif yang dapat diikuti setiap partikel fluida secara terpisah. Kemudian dilakukan pengamatan untuk kecepatan partikel yang melewati setiap titik identifikasi pada domain ruang yang diamati.


(44)

Laju perubahan kecepatan ketika partikel melewati setiap titik dapat diamati dengan

� ,

� , dan perubahan kecepatan terhadap waktu pada setiap titik tertentu dapat

diamati oleh � ,

� . Dalam deskripsi Eulerian, sifat aliran (seperti kecepatan)

merupakan fungsi dari ruang dan waktu.

Persamaan air dangkal ini terdiri dari dua persamaan. Persamaan pertama diturunkan dari hukum konservasi massa dan persamaan kedua diturunkan dari hukum konservasi momentum. Berikut ini akan diuraikan penurunan persamaan gelombang air dangkal atau biasa disebut Shallow Water Wave Equations.

a. Hukum Kekekalan Massa

Hukum kekekalan massa berarti massa tersebut tidak dapat diciptakan atau dimusnahkan. Hal ini berarti massa total pada keseluruhan sistem sama setiap saat. Terdapat beberapa asumsi yang terlibat dalam penurunan persamaan hukum kekekalan massa. Pertama, aliran air diasumsikan tenang artinya tidak ada gangguan dari luar dan kecepatannya diabaikan. Kedua, densitas � air pada setiap titik adalah konstan sehingga air mampat. Selain itu diasumsikan bahwa tempat air kedap atau tertutup rapat karena massa adalah kekal. Oleh karena itu, massa pada setiap volume kontrol (yaitu volume tertentu atau kolam air yang diamati) hanya dapat berubah ketika aliran melintasi batas-batas volume kontrol.

Secara umum, aliran air dapat diilustrasikan pada Gambar 1.1. Notasi yang digunakan yaitu menyatakan variabel jarak sepanjang aliran air, menyatakan variabel waktu, adalah topografi tanah, ℎ , adalah kedalaman air di titik dan pada waktu , , = + ℎ , adalah ketinggian air mutlak disebut


(45)

stage, dan , adalah kecepatan aliran air di titik dan pada waktu . Massa total pada air di setiap volume kontrol [ , ] ditentukan oleh

= ∫ �ℎ , (3.1)

Pernyataan ini dapat diperoleh sebagai berikut. Kepadatan massa terhadap kedalaman �̅ di sebarang titik , adalah �ℎ , yang dapat dihitung dengan mengintegralkan � dari ke , , yaitu

�̅ , = ∫ , �

= �ℎ , .

Akibatnya, pengintegralan �ℎ , dari ke mengarah ke massa total di volume kontrol seperti yang dinyatakan dalam (3.1). Tingkatan aliran air yang melewati setiap titik , terhadap kedalaman air disebut flux massa , yaitu

= �̅ , , (3.2)

= �ℎ , ,

Dengan menggunakan (3.2) dan asumsi bahwa massa dapat berubah hanya karena aliran yang melewati batas volume kontrol, dapat ditentukan bahwa

∫ �ℎ , + ∆ = ∫ �ℎ ,

+ ∫ +∆ �ℎ , , −∫+∆ �ℎ , ,

(3.3)

berlaku untuk setiap volume kontrol. Hal ini berarti bahwa massa pada setiap langkah + ∆ adalah sama dengan massa pada waktu ditambah pergerakan flux


(46)

yang masuk dan dikurangi dengan flux yang keluar dari volume kontrol selama periode ∆ . Ilustrasi dari kontinuitas massa ditunjukkan pada Gambar 3.1.

Gambar 3.1: Aliran air yang masuk dan keluar dari volume kontrol.

Misalkan ∆ dan ∆ adalah kuantitas yang sangat kecil, yaitu ∆ = − . Dengan menggunakan perluasan Taylor, persamaan (3.3) dapat ditulis

�ℎ , + ∆ ∆

= �ℎ , ∆ + �ℎ ( −∆ , ) ( −∆ , ) ∆

− �ℎ ( +∆ , ) ( +∆ , ) ∆ + ∆ + ∆ .

Dengan mengabaikan bentuk ∆ dan ∆ persamaan terakhir di atas ekuivalen dengan

�ℎ , + ∆ − �ℎ ,

∆ = −

�ℎ | +∆ , − �ℎ | −∆ ,

(3.4)

Persamaan (3.4) dibagi dengan � kemudian ∆ dan ∆ diaproksimasikan menuju nol sehingga persamaan (3.4) menjadi

ℎ + ℎ = . (3.5)

Persamaan (3.5) disebut persamaan hukum kekekalan massa.


(47)

b. Hukum Kekekalan Momentum

Hukum kedua Newton menyatakan bahwa perubahan momentum dari suatu sistem sama dengan total gaya yang bekerja. Berdasarkan hukum Newton tersebut, maka dapat ditulis

= .

Gaya didefinisikan sebagai laju perubahan momentum terhadap waktu . Momentum total dari perpindahan air pada volume kontrol dari ke pada waktu

dinotasikan dengan , yaitu

= ∫ �ℎ , , (3.6)

Dengan mengasumsikan tekanan hidrostatik, gaya pada titik dan di atas kedalaman air pada waktu adalah

= � ℎ ,

= − � ℎ ,

Dengan > adalah konstanta yang menyatakan percepatan gravitasi. Lebih lanjut, gaya pada ∆ seperti yang ditunjukkan pada Gambar 3.2, yaitu

∆ = −� ℎ , ∆

Atau dapat ditulis dengan


(48)

Dan karena gaya melalui dasar volume kontrol maka

= ∫ −� ℎ , .

Oleh karena itu, gaya total di atas volume kontrol dinyatakan dengan yang merupakan jumlahan dari , , dan , yaitu

= � ℎ , − � ℎ , − ∫ � ℎ , (3.7)

Turunan pertama dari terhadap adalah

= ∫ �ℎ , ,

Dengan menggunakan aturan Leibniz, turunan hasil integral pada persamaan terakhir di atas dapat ditulis

= ∫ � �ℎ ,� , + �ℎ , ,

− �ℎ , ,

(3.8)

Menurut hukum kedua Newton tentang gerak, hasil dari persamaan (3.8) sama dengan persamaan (3.7). Oleh karena itu, untuk periode-∆ dapat ditulis


(49)

∫ +∆ ∫ �ℎ + ∫ +∆ �ℎ , ,

− ∫ +∆ �ℎ , ,

= ∫ +∆ � ℎ , ∫+∆ � ℎ ,

− ∫ +∆ ∫ � ℎ ,

(3.9)

Dengan cara yang sama seperti (3.3), persamaan (3.9) dapat ditulis

ℎ + (ℎ + ℎ ) = − ℎ

Yang biasa disebut dengan persamaan kekekalan momentum.

Dengan demikian, persamaan gelombang air dangkal seringkali disebut sistem Saint-Venant. Persamaan tersebut dapat ditulis sebagai dua persamaan simultan

{ + (ℎ +ℎ + ℎ =ℎ ) = − ℎ

(3.10)

di sini variabel x menyatakan arah aliran air.

C. Masalah Bendungan Bobol

Diketahui persamaan gelombang air dangkal dengan topografi horizontal

+ = (3.11)


(50)

= [ ℎℎ] dan = [ ℎ + ℎ ]

dengan adalah variabel ruang, adalah variabel waktu, ℎ = ℎ , adalah kedalaman air, = , adalah kecepatan air dan = , adalah percepatan gravitasi. Semua kuantitas diasumsikan dalam satuan SI.

Akan disimulasikan solusi masalah bendungan bobol dengan metode volume hingga Lax-Friedrics, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling dengan menggunakan MATLAB (kondisi awal adalah "air yang tenang" seperti yang ditunjukkan pada Gambar 3.2). Pada kasus ini dianggap dinding bendungan ditarik ke atas secara instan.

Gambar 3.2: Bendungan air

Dinding bendungan air berada di titik = dan kedalaman awal air adalah

ℎ , = {ℎ , jika <ℎ , jika >

dan kecepatan awal aliran air adalah

Bendungan air Permukaan air

Permukaan air

ℎ =


(51)

, = , untuk semua .

Diambil domain ruang [− , ]. Simulasi pada program dihentikan pada = . . Pada kasus ini diasumsikan massa jenis konstan, tidak ada turbulen dan fluida ideal.

D. Metode Volume Hingga Lax-Friedrichs

Pada bagian ini dibahas mengenai skema metode volume hingga, perhitungan flux secara numeris dalam metode volume hingga dan solusi numeris metode volume hingga Lax-Friedrichs.

1.1. Skema Metode Volume Hingga

Persamaan diferensial parsial hukum kekekalan yang bersifat hiperbolik adalah

+ =

atau ditulis

� , +

� ( , ) = .

Misalkan domain pada ruang didiskretkan menjadi sebanyak berhingga kontrol volume (interval) atau sel sebagai berikut:

dengan ∆ = − atau ∆ = + . Domain waktu didiskretkan menjadi

= ∙ ∆

− +


(52)

dengan = , , , , …

Selanjutnya misalkan � adalah pendekatan dari rata-rata volume kuantitas , dalam interval ruang ke- � di waktu �, yaitu

≈ ∆ ∫ �+ , �

�−

.

Misalkan pula

+

adalah pendekatan dari rata-rata debit material (flux) ,

di titik + dalam interval waktu [ �, �+ ], yaitu

+ �

≈ ∆ ∫ ( + , )

�+

� .

Dari hukum kekekalan, laju perubahan kuantitas (massa) dinyatakan oleh

∫ �+ , �

�−

= − [ ( + , ) − ( , ) ].

Dengan nilai-nilai pendekatan diperoleh

�+

∆ = −

+

− �

atau ditulis

�+ =

∆ +

− �

Persamaan tersebut merupakan skema volume hingga untuk + = . Skema metode volume hingga tersebut konsisten dengan skema metode beda hingga sebab dari skema metode volume hingga diperoleh


(53)

�+

∆ = −

+

− �

atau

�+

∆ +

+

− �

∆ =

yang merupakan suatu bentuk diskrit dari + = .

1.2. Perhitungan Flux Secara Numeris dalam Metode Volume Hingga

Dipandang persamaan diferensial parsial berbentuk hukum kekekalan

+ = .

Misalkan � ≈ , � dan

+

= (

+ , �) .

Skema metode volume hingga untuk persamaan diferensial parsial di atas adalah

�+ =

∆ +

.

Diketahui nilai � yaitu kuantitas numeris di semua titik dan pada waktu �. Oleh karena itu, flux di titik pada waktu � juga diketahui, yaitu

≈ ( ,)


(54)

Metode Stabil dan Tidak Stabil

Metode numeris dikatakan stabil artinya bahwa galat yang muncul pada setiap iterasi tidak membesar terlalu cepat pada iterasi-iterasi berikutnya. Jika galat yang muncul pada suatu iterasi membesar menuju tak terhingga pada iterasi-iterasi berikutnya maka metodenya disebut tidak stabil. Teori kestabilan tidak dibahas lebih lanjut dalam skripsi ini. Teori kestabilan dapat dilihat dalam buku-buku referensi misalnya LeVeque (1992, 2004).

Di setiap titik + , flux dapat dihitung menggunakan beberapa pendekatan.

1. Flux tak stabil

+

≈ [+

+

]

Sehingga skema metode volume hingga menjadi

�+ =

∆ � + �+ − �− − �

�+ =

∆ ( �+ − �− )

Namun, skema metode volume hingga ini tidak stabil. 2. Flux Lax-Friedrichs

Skema Lax-Friedrichs memodifikasi skema metode volume hingga tak stabil di atas, yaitu

�+

+

+

− �


(55)

�+ =

+

+

∆ [ �+ − �− ]

Skema Lax-Friedrichs ini stabil untuk ∆ yang cukup kecil. 3. Flux Upwind

Metode upwind cocok untuk metode yang sudah diketahui arah rambatan gelombangnya. Contoh jika akan diselesaikan persamaan diferensial parsial

+ =

dengan konstan positif (arah rambat gelombang ke kanan)

+

≈ ( ,)

= , �

≈ �

dan

.

Dengan demikian skema upwind adalah

�+ =

∆ +

− �

= �

∆ �− �−

= �

∆ �− �− .

Solusi Numeris Metode Volume Hingga Lax-Friedrichs

Masalah persamaan gelombang air dangkal dapat diselesaikan dengan menggunakan metode volume hingga. Dipandang sistem persamaan air dangkal (3.11) yaitu


(56)

ℎ + [ ℎ] = (3.12) dan

[ ℎ] + [ ℎ + ℎ ] = . (3.13)

Persamaan (3.12) mempunyai skema metode volume hingga sebagai berikut:

�+ =

∆ +

− �

Dengan menggunakan flux Lax-Friedrichs diperoleh

+

=

dengan asumsi solusi dan kecepatannya positif. Jadi, jika diketahui persamaan (3.12) maka dalam metode volume hingga diperoleh = ℎ dan = ℎ. Sekarang dari persamaan (3.12) dicari flux

+ � dan

− � .

+ �

= [ � +

+

] −

∆ �+ − �

= [ ℎ �+ ℎ �+ ] − ∆∆ ℎ�+ − ℎ�

= �+

+

+

∆ ℎ�+ − ℎ� .

− �

= [ �− + � ] − ∆ �− �−

= [ ℎ � + ℎ] −


(57)

= �

+

∆ ℎ� − ℎ�− .

Persamaan (3.13) memiliki skema metode volume hingga sebagai berikut

�+ =

∆ +

− �

Dengan menggunakan flux Lax-Friedrichs diperoleh

+

=

dengan asumsi solusi dan kecepatannya positif. Jadi, jika diketahui persamaan (3.13) maka dalam metode volume hingga diperoleh = ℎ dan

= ℎ + ℎ .

Sekarang dari persamaan (3.13) dicari flux

+ � dan

− � . + � = [ � + + � ] − ∆ ∆ �+ − �

= [( ℎ + ℎ )� + ( ℎ + ℎ )

+ �

] − ∆ ℎ �+ − ℎ �

= [( �+ ) + (

+

+

+

+

)]

− ∆+ +

.

− �

= [ � +] −

∆ �− �−

= [( ℎ + ℎ )

− �

+ ( ℎ + ℎ )�] − ∆ ℎ � − ℎ

− �


(58)

= [( �

+

) + (+ )]

− ∆ �ℎ� − �− ℎ�− .

Hasil simulasi penyelesaian model gelombang air dangkal dengan metode volume hingga dengan menggunakan program MATLAB ditunjukkan dalam Gambar 3.3. Pada hasil simulasi persamaan air dangkal, program simulasi berhenti pada saat = . . Kedalaman awal air pada program ini adalah ℎ = ,ℎ = .

Gambar 3.3: Hasil simulasi penyelesaian model gelombang air dangkal


(59)

E. Metode Beda Hingga Grid Kolokasi

Metode beda hingga digunakan dalam masalah komputasi numerik. Metode beda hingga dibagi menjadi tiga bagian, yaitu beda maju, beda mundur, dan beda pusat.

Solusi Numeris Metode Beda Hingga Grid Kolokasi

Diketahui nilai awal kedalaman air ℎ = dan ℎ = , kecepatan air =

= , dan percepatan gravitasi = . .

Banyaknya langkah untuk ruang adalah dengan ∈ ℤ+ dan index � untuk menunjukkan ruang yaitu � + . Langkah ukuran dilambangkan dengan

∆= − . Jadi, = + � − ∆, = dan �+ = , dan banyaknya interval kecil adalah − simpul (node).

Begitu juga untuk waktu, jumlah langkah untuk waktu adalah dengan ∈

ℤ+. Untuk waktu, ∈ ℤ+: − < . Berikut akan dihitung persamaan

beda yaitu beda mundur untuk waktu dan beda pusat untuk ruang.

Beda mundur untuk variabel waktu

Dipandang persamaan (3.12) dan (3.13). Kedua persamaan tersebut ditulis secara sistematis dan diasumsikan nilai ℎ , dan , pada waktu �− kemudian dicari nilai pada waktu �.

� ℎ , ≈

ℎ , � − ℎ , �−


(60)

≈ ℎ�− ℎ �− .

dan

� [ℎ , , ] = ℎ ,

� , + ,

� � ℎ ,

atau dapat ditulis

≈ ℎ , �− �

� , �− + , �−

� ℎ , �−

dengan melakukan diskritisasi lengkap diperoleh

≈ ℎ�− �− �−

∆ + �−

ℎ�− ℎ�−

∆ .

Beda pusat untuk variabel ruang

Dipandang persamaan (3.12) dan (3.13). Kedua persamaan tersebut ditulis secara sistematis dan diasumsikan nilai ℎ , dan , pada ruang kemudian dicari nilai pada waktu .

� [ , ℎ , ] = ,

� ℎ , + ℎ , �

� ,

≈ , �− �

� ℎ , � + ℎ , �−

� , �

≈ �− ℎ�+ − ℎ�−

∆ + ℎ�− +

− �


(61)

� [ℎ , , + ℎ , ] =

� [ℎ , , ] +

� ℎ ,

dengan

� [ℎ , , ] = ℎ ,

� , + ,

� � ℎ ,

= ℎ , , � , + , � ℎ ,

≈ ℎ , �− , �− �

� , � + , �−

� ℎ , �

≈ ℎ�− �− �+ − �−

∆ + �−

ℎ�+ − �−

dan untuk bentuk kedua

� ℎ , = ℎ ,

� � ℎ , ≈ ℎ�− ℎ�+ − ℎ�−

∆ .

Jadi, persamaan beda dari (3.12) dan (3.13) menjadi

[

ℎ�− ℎ�− ∆

ℎ�− �− �−

∆ + �−

ℎ�− ℎ�−

∆ ]

+ [

�− ℎ�+ − ℎ�−

∆ + ℎ�− +

− �

∆ ℎ�− �− �+ − �−

∆ + �−

ℎ�+ − �−

∆ + ℎ�−

ℎ�+ − ℎ�−

∆ ]

= [ ]


(62)

ℎ�− ℎ�−

∆ + �−

ℎ�+ − ℎ�−

∆ + ℎ�− +

− �

∆ =

(3.16)

dan konservasi momentum dalam bentuk diskrit

ℎ�− �− �− + �− ℎ�− ℎ �− + ℎ�− �− �+ − �− + �− ℎ�+ − �− + ℎ�− ℎ�+ − ℎ �− =

(3.17)

Persamaan (3.16) dikali dengan �− diperoleh

�− ℎ�− ℎ�−

∆ + �−

ℎ�+ − ℎ − �

∆ + �− ℎ�− +

− �

∆ =

(3.18)

Persamaan (3.17) dikurang (3.18) diperoleh

ℎ�− � − �−

∆ + ℎ�− �− +

− �

∆ + ℎ�−

ℎ�+ − ℎ�−

∆ =

Sehingga diperoleh dua persamaan

�− ℎ�− ℎ�−

∆ + �−

ℎ�+ − ℎ�−

∆ + �− ℎ�− +

− �

∆ =

ℎ�− �− �−

∆ + ℎ�− �− +

− �

∆ + ℎ�−

ℎ�+ − ℎ�−

∆ =

(3.19)

Persamaan konservasi massa pada persamaan (3.19) dibagi dengan �− , diperoleh

ℎ� − ℎ�−

∆ + �−

ℎ�+ − ℎ�−

∆ + ℎ�− +

− �

∆ =

ℎ�− �− �−

∆ + ℎ�− �− +

− �

∆ + ℎ�−

ℎ�+ − ℎ�−

∆ =


(63)

Persamaan (3.20) dikali dengan ∆ ∆ diperoleh

∆ ℎ�− ℎ�− + ∆ �−

+

− ℎ

+ ∆ ℎ�−

+

− �

=

∆ ℎ�− �− �− + ∆ ℎ�− �− �+ − �−

+ ∆ ℎ�−

+

− ℎ

= .

(3.21)

Dengan menggunakan sifat distributif pada perkalian, persamaan (3.21) menjadi

∆ ℎ�− ∆ ℎ�− + ∆ �− ℎ�+ − ∆ �− ℎ�− + ∆ ℎ�− �+ − ∆ ℎ�− �−

=

∆ ℎ�− � − ∆ ℎ�− �− + ∆ ℎ�− �− �+ − ∆ ℎ�− �− �−

+ ∆ ℎ�− ℎ�+ − ∆ ℎ�− ℎ�− =

Sehingga persamaan (3.16) menjadi

∆ ℎ� + ∆ �− ℎ�+ − ∆ �− ℎ�− + ∆ ℎ�− �+ − ∆ ℎ�− �−

= ∆ ℎ�−

dan (3.17) menjadi

(3.22)

∆ ℎ�− �+ ∆ ℎ�− �− +

− ∆ ℎ�− �−

+ ∆ ℎ�−

+ �

− ∆ ℎ�− ℎ�− = ∆ ℎ�− �−

(3.23)

Diambil nilai = , kemudian dicari solusi awal untuk persamaan linear diskritisasi sebagai berikut:


(64)

∆ ℎ�+ ∆ �− − ∆ �− + ∆ ℎ�− �− ∆ ℎ�− �

= ∆ ℎ�−

dan

(3.24)

∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�−

− ∆ ℎ�− = ∆ ℎ�− �−

(3.25)

Untuk � =

∆ ℎ�+ ∆ �− − ∆ �− + ∆ ℎ�− �− ∆ ℎ�− �

= ∆ ℎ�−

dan

(3.26)

∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�−

− ∆ ℎ�− = ∆ ℎ�− �−

(3.27)

Untuk � =

∆ ℎ�+ ∆ �− − ∆ �− + ∆ ℎ�− �− ∆ ℎ�− �

= ∆ ℎ�−

dan

(3.28)

∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�−

− ∆ ℎ�− = ∆ ℎ�− �−

(3.29)

Variabel �, �, �, ℎ�, ℎ�, ℎ� tidak diketahui dan enam persamaan berikut dapat disederhanakan menjadi:


(65)

∆ ℎ�+ ∆ �− + ∆ ℎ�− �− ∆ ℎ�− � = ∆ ℎ�− +

∆ �− +−∆ ℎ�− �

(3.30)

∆ ℎ�− �+ ∆ ℎ�− �− �+ ∆ ℎ�−

= ∆ ℎ�− �− + ∆ ℎ�− + ∆ ℎ�− �− �

(3.31)

Untuk � =

∆ ℎ�+ ∆ �− − ∆ �− + ∆ ℎ�− �− ∆ ℎ�− �

= ∆ ℎ�−

dan

(3.32)

∆ ℎ�− � + ∆ ℎ�− �− �− ∆ ℎ�− �− �+ ∆ ℎ�−

− ∆ ℎ�− = ∆ ℎ�− �−

(3.33)

Untuk � =

∆ ℎ�− ∆ �− − ∆ ℎ�− �

= ∆ ℎ�− − ∆ �− − ∆ ℎ�− �

dan

(3.34)

∆ ℎ�− �− ∆ ℎ�− �− � − ∆ ℎ�−

= ∆ ℎ�− �− − ∆ ℎ�− − ∆ ℎ�− �− �

(3.35)

Jika diketahui syarat batas kecepatan awal , = , = , dan ketinggian awal ℎ , = , ℎ , = maka diperoleh matriks

[

∆ ℎ − ∆ ∆ −

∆ ℎ − ∆ ℎ − − ∆ ℎ

−∆ ℎ − ∆ ℎ − −∆ −

−∆ ℎ − − ∆ ℎ∆ ℎ − − −∆ ℎ∆ ℎ

−∆ − −∆ ℎ


(66)

[ � � � ℎ� ℎ�

ℎ�]

= [

∆ ℎ�− + ∆ �−

∆ ℎ�− �− + ∆ ℎ�−

∆ ℎ�−

∆ ℎ�− �−

∆ ℎ�− − ∆ �−

∆ ℎ�− �− − ∆ ℎ�− ]

Misalkan

= (

∆ ℎ − ∆ ∆ −

∆ ℎ − ∆ ℎ − − ∆ ℎ

−∆ ℎ − ∆ ℎ − −∆ −

−∆ ℎ − − ∆ ℎ∆ ℎ − − −∆ ℎ∆ ℎ

−∆ − −∆ ℎ

−∆ ℎ − − ∆ ℎ−∆ ℎ

) � = ( � � � ℎ� ℎ�

ℎ�)

,

= (

∆ ℎ�− + ∆ �−

∆ ℎ�− �− + ∆ ℎ�−

∆ ℎ�−

∆ ℎ�− �−

∆ ℎ�− − ∆ �−

∆ ℎ�− �− − ∆ ℎ�− )

,

Sekarang enam persamaan tersebut memiliki bentuk linear �� = yang dapat diselesaikan.

Dalam program MATLAB digunakan syarat batas untuk kedalaman awal air


(67)

metode beda hingga grid kolokasi dengan menggunakan program MATLAB ditunjukkan dalam Gambar 3.4. Hasil simulasi program berhenti pada waktu

= . .

Gambar 3.4: Hasil simulasi penyelesaian model gelombang air dangkal

dengan metode beda hingga grid kolokasi.

F. Metode Beda Hingga Grid Selang-Seling

Sekarang persamaan air dangkal akan diselesaikan dengan metode beda hingga grid selang-seling kemudian solusi numerisnya dibandingkan dengan metode volume hingga dan metode beda hingga grid kolokasi yang sudah dilakukan di atas.


(68)

[ ℎℎ ] + [ℎ +ℎ ] = .

Perhitungan domain < < �, > dengan grid selang-seling pada domain ruang = , , … , , , + , … ,

�+ = �. Metode beda hingga selang-seling adalah pendekatan dua persamaan (3.12) dan (3.13) pada grid berbeda. Pada rumus selang-seling, nilai variabel ℎ dihitung pada grid bilangan bulat , � =

, … , dan dihitung pada grid pecahan + , � = , … , . Selanjutnya, hukum kekekalan massa pada persamaan (3.12) dihitung dengan pendekatan pada grid [ , + ] dan hukum kekekalan momentum pada persamaan (3.13) dihitung dengan pendekatan pada grid [ , + ].

Solusi Numeris Metode Beda Hingga Grid Selang-Seling

Pendekatan konsisten terhadap ruang dari (3.12) dan (3.13) adalah

∆ℎ ∆ = −

+ − −

(3.36)

∆ ℎ+ +

∆ = −

ℎ+ − ℎ

∆ − +

̂ + − ̂

(3.37)

dengan

+ = ℎ̂+ + , ℎ+ = ℎ + ℎ+ , = ( + + − )

(3.38)

Dengan menggunakan metode upwind orde satu, pendekatan nilai dari

ℎ̂+ = { ℎ , jika +

+ , jika + <

(3.39)


(69)

̂ = { − , jika

+ , jika <

(3.40)

Dalam melakukan perhitungan, variabel ℎ dihitung pada grid ℎ , � = , , … , dan variabel dihitung pada grid + , � = , , … , . Dengan menerapkan beda maju untuk persamaan (3.36) dan beda mundur untuk persamaan (3.37), persamaan (3.36) dan (3.37) menjadi

ℎ�+ − ℎ�

∆ = −

+ − −

(3.41)

ℎ�++ �++ − ℎ�++

∆ = −

ℎ+ − ℎ

∆ − +

̂ + − ̂

(3.42)

Persamaan (3.41) dan (3.42) dihitung dengan menggunakan program MATLAB.

Hasil simulasi gelombang air dangkal dengan metode beda hingga grid selang-seling ditunjukkan dalam Gambar 3.5. Pada simulasi penyelesaian persamaan gelombang air dangkal berikut, program berhenti pada saat = . dengan kedalaman awal air adalah ℎ = dan ℎ = .


(70)

Gambar 3.5: Hasil simulasi model gelombang air dangkal dengan metode beda


(71)

57

BAB IV

PERBANDINGAN BEBERAPA METODE NUMERIS DALAM PENYELESAIAN MODEL GELOMBANG AIR DANGKAL

Pada bagian ini akan dibahas hasil-hasil simulasi numeris untuk tiga metode, yaitu metode volume hingga, metode beda hingga grid kolokasi dan metode beda hingga grid selang-seling.

Simulasi numeris untuk masing-masing metode dilakukan menggunakan program MATLAB dengan konsidi awal ditunjukkan pada Gambar 4.1.

Gambar 4.1: Bendungan air dengan kondisi awal adalah air yang tenang.

Kedalaman air di sebelah kiri bendungan adalah ℎ = dan di sebelah kanan bendungan adalah ℎ = .

Bendungan air Permukaan air

Permukaan air

ℎ =


(72)

Galat solusi perhitungan dan ℎ dihitung dengan menggunakan rumus

= ∑ | � − _ � |

� =

dan

ℎ = ∑ |ℎ � − ℎ_ � |

� =

,

di mana dan ℎ adalah nilai numeris di titik , _ dan ℎ_ adalah nilai eksak di titik , dan adalah banyaknya sel yang digunakan untuk mendiskretkan domain ruang .

A. Metode Volume Hingga Lax-Friedrichs

Pada Bab III dibahas mengenai solusi numeris dari persamaan gelombang air dangkal dengan metode volume hingga. Dalam Bab IV ini dibahas mengenai hasil simulasi solusi numeris persamaan gelombang air dangkal dengan menggunakan MATLAB. Simulasi ini dilakukan untuk beberapa nilai , yaitu 100, 200, 400, 800, 1600, dan 3200.

Berikut merupakan hasil simulasi numeris untuk persamaan gelombang air dangkal menggunakan metode volume hingga Lax-Friedrichs. Grafik simulasi numeris ditunjukkan pada Gambar 4.2.


(73)

Gambar 4.2: Grafik simulasi numeris dengan metode volume hingga

Lax-Friedrichs untuk = , = . detik, ∆ = . , dan ∆ = . ∆ . Gambar 4.2 memberikan ilustrasi geometris mengenai simulasi yang telah dilakukan. Terlihat pada gambar bahwa selisih solusi numeris dan eksaknya kecil. Dengan kata lain, solusi numerisnya hampir mendekati solusi eksak. Simulasi ini menggunakan nilai = , ∆ = . , dan ∆ = . ∆ . Simulasi berhenti pada saat = . .

Tabel 4.1. Hasil simulasi numeris menggunakan metode volume hingga

Lax-Friedrichs pada = .

Galat pada

N Galat u Galat h 100 0.2650 0.2112 200 0.1684 0.1362 400 0.1028 0.0842 800 0.0601 0.0498 1600 0.0344 0.0287


(74)

3200 0.0198 0.0166 Rata-rata

galat 0.1084 0.0877

Dari Tabel 4.1 tampak bahwa semakin kecil yang diambil, semakin besar galat (error) yang dihasilkan. Ketika diambil nilai yang cukup besar maka galat simulasi akan semakin kecil karena banyaknya partisi pada ruang di sumbu yang semakin banyak dan mendekati solusi eksaknya. Artinya ketika besar solusi yang diperoleh akan lebih akurat. Dapat dilihat juga pada grafik bahwa solusi eksak dan numerisnya berhimpit. Namun pada ujung-ujung grafik, kedua grafik terlihat tidak berhimpit. Artinya masih ada galat perhitungan pada penggunaan metode ini. Ilustrasi galat secara geometris ditunjukkan pada Gambar 4.3.

Gambar 4.3: Grafik galat kecepatan aliran air dan kedalaman air ℎ menggunakan metode volume hingga Lax-Friedrichs


(75)

Gambar 4.4: Grafik log galat kecepatan aliran air dan log galat kedalaman aliran air ℎ menggunakan metode volume hingga Lax-Friedrichs

Gambar 4.4 menunjukkan nilai log galat , ℎ , , ℎ , ∞ dan

ℎ ∞. Rumus galat tidak tepat digunakan sebagai alat untuk mengukur

keakuratan metode volume hingga Lax-Friedrichs untuk persamaan gelombang air dangkal. Rumus galat ∞ tidak dapat menunjukkan bahwa semakin banyak titik, komputasi errornya akan semakin kecil. Sedangkan rumus galat dan merupakan rumus yang tepat untuk digunakan sebagai alat untuk mengukur keakuratan metode ini untuk persamaan gelombang air dangkal karena dan dapat menunjukkan bahwa semakin banyak titik, komputasi errornya akan semakin kecil.


(76)

Kelebihan dari metode ini adalah skema numeriknya sederhana dan perhitungan komputasinya juga sangat mudah. Kekurangan metode ini adalah ketika diambil ∆ cukup besar metode volume hingga Lax-Friedrichs tidak stabil.

B. Metode Beda Hingga Grid Kolokasi

Selanjutnya akan dipaparkan hasil simulasi numeris penyelesaian gelombang air dangkal menggunakan metode beda hingga grid koloksi. Pada Bab III telah dibahas solusi numeris untuk model gelombang air dangkal dengan metode beda hingga grid kolokasi. Solusi numeris yang diperoleh disimulasikan dengan menggunakan MATLAB. Kondisi awal yang digunakan adalah sama dengan pada simulasi sebelumnya.

Grafik simulasi numeris ditunjukkan pada Gambar 4.5. Grafik yang dihasilkan tidak mulus karena banyak getaran semu pada grafik. Simulasi ini menggunakan nilai = , ∆ = . , dan ∆ = . ∆ . Simulasi berhenti pada saat = . .


(77)

Gambar 4.5: Grafik simulasi numeris dengan metode beda hingga grid kolokasi

untuk = , = . detik, ∆ = . , dan ∆ = . .

Tampak pada gambar bahwa selisih solusi numeris dengan solusi eksak sangat besar. Hal ini mengakibatkan solusi numeris yang dihasilkan tidak akurat. Berikut merupakan hasil simulasi numeris untuk persamaan gelombang air dangkal menggunakan metode beda hingga grid kolokasi.

Tabel 4.2. Hasil simulasi numeris metode beda hingga grid kolokasi pada = .

Galat pada

Galat Galat ℎ 100 1.2075 0.9629 200 1.2168 0.9751 400 1.2122 0.9746 800 1.2099 0.9744 1600 1.2110 0.9759 3200 1.2105 0.9758


(78)

Rata-rata

galat 1.2113 0.9731

Dari Tabel 4.2 terlihat bahwa tidak ada perbedaan galat yang signifikan. Misalnya pada = dan = , di mana galat yang dihasilkan hampir sama. Nilai galat cukup besar yaitu berkisar 1.2 sedangkan nilai galat ℎ berkisar 0.9, hal ini tidak sesuai dengan yang diharapkan. Ilustrasi galat secara geometris ditunjukkan pada gambar 4.6.

Gambar 4.6: Grafik galat kecepatan aliran air dan kedalaman air ℎ menggunakan metode beda hingga grid kolokasi


(79)

Gambar 4.7: Grafik galat kecepatan aliran air dan kedalaman air ℎ menggunakan metode beda hingga gris kolokasi

Gambar 4.7 menunjukkan nilai log galat , ℎ , , ℎ , ∞ dan

ℎ ∞. Rumus galat , , dan tidak tepat digunakan sebagai alat untuk

mengukur keakuratan metode beda hingga grid kolokasi untuk persamaan gelombang air dangkal. Rumus galat , , dan ∞ tidak dapat menunjukkan bahwa semakin banyak titik, komputasi errornya akan semakin kecil.

Metode ini memiliki kelebihan yaitu ketika diambil ∆ cukup besar metode ini tetap stabil. Adapun kekurangan dari metode ini yaitu memiliki skema perhitungan numerik yang cukup rumit jika dibandingkan dengan skema eksplisit metode volume hingga Lax-Friedrichs. Metode ini memiliki sifat stabil tanpa syarat. Selain itu, kekurangan pada model ini adalah memiliki galat yang besar pada perhitungan numeriknya karena hanya dipandang satu grid saja untuk menghitung variabel yang tidak diketahui. Dengan demikian metode beda hingga grid kolokasi


(80)

bukan pilihan yang tepat untuk menyelesaikan persamaan gelombang air dangkal terkait dengan masalah bendungan bobol.

C. Metode Beda Hingga Grid Selang-Seling

Pada bagian sebelumnya telah dilihat hasil simulasi menggunakan metode volume hingga dan metode beda hingga grid kolokasi. Pada metode beda hingga grid kolokasi masih terdapat getaran semu dalam hasil grafik yang dapat dilihat pada Gambar 4.8. Sehingga diperlukan model grid selang-seling untuk memperbaiki model grid kolokasi agar tidak ada getaran semu dalam hasil simulasi persamaan gelombang air dangkal. Hasil simulasi numeris menggunakan model grid selang-seling ditunjukkan pada Gambar 4.8.

Gambar 4.8: Grafik simulasi numeris dengan metode beda hingga grid


(1)

title(sprintf('Kedalaman air pada waktu t=%4.3f',t)) xlim([-L L])

ylim([0 11])

subplot(2,1,2)

plot(xodd,uodd,'b-', xodd,uoddex,'r-') legend('solusi numeris','solusi eksak')

title(sprintf('Kecepatan air pada waktu t=%4.3f',t)) xlim([-L L])

ylim([0 5]) pause(0.1) end

b.

Code untuk grafik galat dan

clc

N = [100,200,400,800,1600,3200];

Galat_u = [0.1804, 0.0897, 0.0415, 0.0285, 0.0144, 0.0089]; Galat_h = [0.1239, 0.0621, 0.0416, 0.0209, 0.0140, 0.0067]; plot(N,Galat_u,'--r*',N,Galat_h,'--b*')

legend('Galat u','Galat h');

xlabel('Banyaknya langkah pada domain ruang (N)') ylabel('Galat')

title('Galat Kecepatan dan Kedalaman Aliran Air')

c.

Code untuk grafik galat

, , dan

clc

clear all

N1 = [100 200 400 800 1600 3200]; E_u_L1=zeros(6,1)

E_h_L1=zeros(6,1) E_u_L2=zeros(6,1) E_h_L2=zeros(6,1) E_u_Linf=zeros(6,1) E_h_Linf=zeros(6,1) E_u_L1a=E_u_L1 E_h_L1a=E_h_L1 E_u_L2a=E_u_L2 E_h_L2a=E_h_L2 E_u_Linfa=E_u_Linf E_h_Linfa=E_h_Linf for kk = 1:length(N1) N = N1(kk)

for k=1:length(N)

g = 9.81; % percepatan gravitasi L = 5; % ujung-ujung interval


(2)

xmin=-L; xmax=L;

dx = (L-(-L))/N; % jarak grid a ke grid b

hL = 10; % ketinggian awal di sebelah kiri dinding, dinding berada pada x=0

hR = 4; % ketinggian awal di sebelah kanan dinding dt = 0.05*dx; % langkah waktu t

tstop =0.2; % program ini berjalan sampai waktu tStop detik

%for shock wave exact computation

c_L = sqrt(g*hL); % wave speed at left side c_R = sqrt(g*hR); % wave speed at right side

Smin=-101.0; % initial bracketing for bisection method for shock speed S

Smax=0.0; % terminal bracketing for bisection method for shock speed S

for i=1:100

S=(Smin+Smax)/2.0; % bisecting

u2=S-c_R*c_R/4.0/S*(1.0+sqrt(1.0+8.0*S*S/c_R/c_R)); % implicit function for velocity behind shock

c2=c_R*sqrt(0.5*(sqrt(1.0+8.0*S*S/c_R/c_R)-1.0)); % implicit function for wave speed behind shock

func = -2.0*c_L -u2 +2.0*c2; % characteristic relation between velocity and wave speed

if (func > 0.0) % bisection procedure Smin=S;

else % bisection procedure Smax=S;

end end

% make a grid

x = (-L+dx/2 : dx : L+dx/2); % membuat langkah pada ruang x dengan ujung-ujung interval -L+dx/2 dan L+dx/2

h = zeros(1,N); % membuat ruang untuk kedalaman aliran air u = zeros(1,N); % membuat ruang untuk kecepatan aliran air q = zeros(1,N); % membuat ruang untuk debit aliran air xodd = zeros(1,N/2); % membuat ruang untuk menghitung kecepatan aliran air

uodd = zeros(1,N/2); % membuat ruang untuk perhitungan kecepatan aliran air pada grid ganjil

qodd = zeros(1,N/2); % membuat ruang untuk perhitungan debit aliran air pada grid ganjil

xeven = zeros(1,N/2); % membuat ruang untuk menghitung kedalaman aliran air

heven = zeros(1,N/2); % membuat ruang untuk perhitungan kedalaman aliran air pada grid genap

% menghitung kecepatan dan kedalaman aliran air. Jika hasil modulonya nol

% maka hasil perhitungannya masuk ke grid genap. Jika hasil modulonya tidak nol

% maka hasil perhitungannya masuk ke grid ganjil. for i = 1:N


(3)

xeven(i/2) = x(i); else

xodd((i+1)/2) = x(i); end

end

%initial condition h(1,1:N/2) = hL; h(1,N/2:N) = hR;

%now let start the evolution figure(1)

t=0;

%initial condition h(1) = hL;

h(end) = hR; u(1) = 0; u(end) = 0; while (t<tstop) hh=h;

uu=u;

hnew = zeros(1,N);

unew = zeros(1,N); for i = 3:N-2

if mod(i,2) == 0 %h grids i.e. even grids hhtiph = hh(i);

uuiph = uu(i+1); qiph = hhtiph*uuiph; hhtimh = hh(i-2); uuimh = uu(i-1); qimh = hhtimh*uuimh;

hnew(i) = hh(i) - dt/(2*dx)*(qiph - qimh); end

end

%boundary condition hnew(1:3) = hL;

hnew(end-3:end) = hR; unew(1:3) = 0;

unew(end-3:end) = 0;

% perhitungan dengan metode beda hingga grid selang-seling

for i=4:N-4

if mod(i,2)~=0; %u grids i.e. odd grids uutip1 = uu(i);

uuti = uu(i-2); uuip3h = uu(i+2); hhtip3h = hh(i+1); qip3h = hhtip3h*uuip3h; uuiph = uu(i);


(4)

hhtiph = hh(i-1); qiph = hhtiph*uuiph; qip1 = 0.5*(qiph+qip3h); uuimh = uu(i-2);

hhtimh = hh(i-3); qimh = hhtimh*uuimh; qi = 0.5*(qimh+qiph); hhip1 = hh(i+1); hhi = hh(i-1);

hhiph = 0.5*(hhi+hhip1); hip1 = hnew(i+1);

hi = hnew(i-1);

hiph = 0.5*(hi+hip1);

unew(i) = (1/hiph)*(hhiph*uuiph -

dt/(2*dx)*(qip1*uutip1 - qi*uuti + 0.5*g*(hip1^2 - hi^2) ) ); end

end

%boundary condition hnew(1:4) = hL;

hnew(end-4:end) = hR; unew(1:4) = 0;

unew(end-4:end) = 0;

h = hnew; % memperbarui hasil perhitungan h u = unew; % memperbarui hasil perhitungan u t=t+dt;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Exact solution

u_ex=xmin+dx/2:dx:xmax-dx/2; % initial storage for exact velocity u_ex

h_ex=xmin+dx/2:dx:xmax-dx/2; % initial storage for exact height h_ex

% the following iteration computes the exact solution at every spatial point

xC=x;

for i=1:length(xC) if xC(i) <= -c_L*t u_ex(i) = 0.0; h_ex(i) = hL;

elseif xC(i) <= -(u2+c2)*t

u_ex(i) = 2.0/3*(xC(i)/t + sqrt(g*hL)); h_ex(i) =

4.0/(9*g)*(-xC(i)/(2.0*t)+sqrt(g*hL))^2;

elseif xC(i) < -S*t u_ex(i) = -u2; h_ex(i) = c2^2/g; else

u_ex(i) = 0.0; h_ex(i) = hR;


(5)

end end

Q_ex = h_ex.*u_ex; % the exact momentum or discharge Q of water

% Menggambar hasil perhitungan h dan u hevenex = 0*heven;

uoddex = 0*uodd; for i = 1:N

if mod(i,2) == 0

heven(i/2) = h(i); hevenex(i/2) = h_ex(i); else

uodd((i+1)/2) = u(i); uoddex((i+1)/2) = u_ex(i); end

end

% Galat solusi eksak dengan solusi numeris

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% E_u = 1/(N/2)*sum(abs(uodd-uoddex))

E_h = 1/(N/2)*sum(abs(heven-hevenex))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% figure(1)

subplot(2,1,1)

plot(xeven,heven,'b-', xeven,hevenex,'r-') legend('Numerical solution','Exact Solution') title(sprintf('Depth at t=%4.3f',t))

xlim([-L L]) ylim([0 11]) subplot(2,1,2)

plot(xodd,uodd,'b-', xodd,uoddex,'r-')

legend('Numerical solution','Exact Solution') title(sprintf('Velocity at t=%4.3f',t))

xlim([-L L]) ylim([0 5]) pause(0.1) end

end

% Galat solusi eksak dengan solusi numeris E_u_L1a(kk,1) =(1/N)*sum(abs(uodd-uoddex)) E_h_L1a(kk,1) =(1/N)*sum(abs(heven-hevenex)) E_u_L2a(kk,1) = (1/N)*sum((uodd-uoddex).^2) E_h_L2a(kk,1) = (1/N)*sum((heven-hevenex).^2) E_u_Linfa(kk,1) = max(abs(uodd-uoddex)) E_h_Linfa(kk,1) = max(abs(heven-hevenex)) end


(6)

E_u_L1 = E_u_L1a E_h_L1 = E_h_L1a E_u_L2 = E_u_L2a E_h_L2 = E_h_L2a E_u_Linf = E_u_Linfa E_h_Linf = E_h_Linfa subplot(2,1,1)

plot(log(N1),log(E_u_L1),'--r*',log(N1),log(E_u_L2),'--b*', log(N1), log(E_u_Linf),'--g*')

legend('Galat u L1','Galat u L2', 'Galat u Linf'); xlabel('log(N)')

ylabel('log(Galat u)')

title('Galat Kecepatan Aliran Air') subplot(2,1,2)

plot(log(N1),log(E_h_L1),'--r*',log(N1),log(E_h_L2),'--b*', log(N1), log(E_h_Linf),'--g*')

legend('Galat h L1','Galat h L2', 'Galat h Linf'); xlabel('log(N)')

ylabel('log(Galat h)')