MODUL PRAKTIKUM
METODE NUMERIK
(MG 2211)
Dosen Pengampu:
Prof. Dr. M. Zaki Mubarok, ST., MT.
D.Sc. (Tech.) Imam Santoso, ST., M.Phil.
C. Merekam Macro
Cara termudah untuk membuat macro di dalam Excel adalah dengan merekam
aksi yang anda lakukan dengan menggunakan “Macro Recorder”. Kemudian pada saat
anda ingin melakukan aksi tersebut, anda hanya perlu mengaktifkan macro yang anda
telah rekam.
2. Beri nama macro yang akan dibuat sesuai nama yang diinginkan
3. Isi shortcut key yang akan digunakan untuk mengoperasikan macro tersebut
(opsional)
* harus diperhatikan jangan menggunakan shortcut key yang sudah ada
contoh: Ctrl+S, Ctrl+C, dll.
4. Pilih Workbook yang akan digunakan untuk menyimpan macro tersebut
Personal Macro Workbook : dapat digunakan pada semua file Excel
This Workbook : hanya pada workbook tersebut
New Workbook : pada workbook baru
5. Berikan keterangan mengenai macro yang akan direkam untuk memudahkan saat
anda lupa fungsi dari macro yang sudah anda rekam
6. Klik “OK”
7. Lakukan aksi yang ingin direkam
8. Klik tombol “Stop Recording” untuk menghentikan perekaman.
Lokasi tombol berada di lokasi yang sama dengan lokasi tombol sebelumnya
D. Membuat Command Button
1. Klik Developer Ribbon, klik “Insert”, klik “Command Button” pada bagian “ActiveX
Controls”
Setelah menyatakan variabel yang digunakan, anda perlu menuliskan macro yang
anda rancang. Contoh: Sub Bouduard(). Perlu diperhatikan nama macro tidak
diperbolehkan menggunakan spasi, namun dapat menggunakan “_”.
“Sub…()”
Setelah penulisan “Sub…()” anda perlu menuliskan sheet pada Excel yang
digunakan anda.
Contoh: anda menggunakan sheet 4 pada tampilan Excel. Anda menuliskan
Sub sepertiga_simpson()
Sheets(4).Activate
ITERASI
Contoh:
Do
If i > Nmax Then Stop
p = (a + b) / 2
If f(a) * f(p) < 0 Then b = p
If f(a) * f(p) > 0 Then a = p
If Abs(f(p)) < tol Then Stop
i=i+1
Cells(8, 2).Value = p
Loop
b. For … To …
(aksi yang ingin dilakukan jika kondisi tertentu terpenuhi)
Next …
Contoh:
For i = 1 To n - 1
x=x+h
sigma = sigma + 2 * f(x)
t = (t + sigma) * h / 2
Cells(7, 2).Value = t
Next i
Perlu diperhatikan bahwa aksi yang dimaksud diatas harus memiliki batasan akhir
perintah tersebut harus dihentikan, contoh:
If i > Nmax Then Stop
If Abs(f(p)) < tol Then Stop
PENULISAN FUNGSI
Penulisan fungsi dalam macro dilakukan terlebih dahulu sebelum menuliskan “Sub
….()”. Contoh:
Function f(x)
f = x ^ 3 + 4 * x ^ 2 - 10
End Function
PENGGUNAAN “IF”
Penggunaan “if” memudahkan anda saat mengecek nilai dari suatu variabel telah
terpenuhi dengan suatu nilai batas yang anda tetapkan, atau membuat keputusan perlakuan
yang tepat pada suatu nilai (untuk opsi perlakuan >1). 1 “if” harus diakhiri dengan 1 “end
if”.
1. If …. Then …
End If
(untuk 1 opsi perlakuan)
2. If …. Then …
Else …
End If
(untuk opsi perlakuan >1)
Contoh:
If i Mod 2 = 1 Then
End If
NOTASI “ ‘ “
' variabel a adalah variabel untuk menunjukkan jumlah massa yang datang hearing
BAB V: PENYELESAIAN NUMERIK PERSAMAAN
DIFERENSIAL BIASA (PDB)
Penyelesaian PDB secara numerik adalah menghitung nilai fungsi di xi+n = xi+ n*h, dengan nilai
n = 0, 1, 2, 3, …, n. h adalah besar langkah (step) perhitungan dalam setiap iterasi. Nilai awal
Untuk PDB orde satu yang tidak mengikuti bentuk baku, PDB tersebut harus diubah menjadi
1. Metode Euler
Persamaan umum:
denganketerangan: h = xi+1 – xi
2. Metode Heun
Solusi PDB dengan Metode Euler digunakan menjadi nilai perkiraan awal (predictor)
Persamaan umum:
Mencari dapat dilakukan perhitungan dengan Metode Euler
Contoh :
3. Metode Runge Kutta
Metode Runge - Kutta yang terkenal dan banyak dipakai karena stabil dan teliti
adalah metode Runge – Kutta Orde Tiga dan Orde Empat. Dalam perhitungan
dibutuhkan nilai awal dan besar langkah yang ingin digunakan.Hasil iterasi
k1 = h * f(xi , yi)
k3 = h * f(xi + h , yi – k1+2k2)
iterasi selanjutnya:
k1 = h * f(xi+1 , yi+1)
k3 = h * f(xi+1 +h , yi – k1+2k2)
• Metode Runge – Kutta Orde Empat berbentuk:
k1 = h * f(xi , yi)
k4 = h * f(xi + h , yi + k3)
iterasi selanjutnya:
k1 = h * f(xi+1 , yi+1)
Dimana P adalah jumlah penduduk sutau saat di suatu daerah. Bila 𝑃max adalah jumlah
populasi maksimum yang dapat di tampung suatu daerah yang besarnya 80 juta
penduduk, k adalah konstanta pertumbuhan maksimum penduduk daerah itu pada
kondisi tentu yang besarnya 0.024/tahun, dan jumlah penduduk daerah itu tahun 2020
adalah 4,5 juta jiwa.
Tentukan :
a. Persamaan jumlah penduduk setiap saat
b. Jumlah penduduk daerah tersebut pada tahun 2021, 2022, 2023 dan 2024.
(Pemrogramman VBA dengan Metode Euler dan Heun)
BAB VI: PENYELESAIAN PERSAMAAN
DIFFERENSIAL PARSIAL DENGAN METODE BEDA
HINGGA (FINITE DIFFERENCE METHOD).
Difusi zat kimia ke dalam dinding sebuah reactor dapat dituliskan dengan persamaan
deferensial parsial orde dua sebagai berikut:
𝑑𝑐 𝑑2𝑐 𝑑𝑐
=𝐷 − 𝑈 − 𝑘𝑐
𝑑𝑡 𝑑𝑥 2 𝑑𝑥
Dimana c adalah konsentrasi (mg/m3), t adalah waktu (menit), D adalah koefisien difusi
zat kimia yang nilainya 100 m3/menit, U adalah kecepatan difusi zat kimia yang nilainya
1 m/menit dan k adalah laju reaksi kimia yang besarnya 0,015 menit-1. Bila tebal dinding
reactor adalah 5 m dan konsentrasi di dalam tangka konstan sebesar 100 mg/m3, dan
mula-mula konsentrasi di dalam tangki adalah 0 mg/m3.
a. Tentukan persamaan untuk menghitung konsentrasi zat kimia sebagai fungsi
dari konsentrasi pada kedalaman tertentu pada dinding tangki dan juga waktu.
b. Tentukan konsentrasi zat kimia pada penampang melintang dinding tangki
setiap 1 m setelah 0,005 dan 0,01 menit (Δx = 1 m, dan pilih Δt=0,005 menit)
Jawab:
a. 𝑑𝑐 𝑐𝑖𝑡+1 − 𝑐𝑖𝑡 ….(1)
=
𝑑𝑡 ∆𝑡
𝑡
𝑑2 𝑐 𝑐𝑖+1 − 2𝑐𝑖𝑡 + 𝑐𝑖−1
𝑡
….(2)
=
𝑑𝑥 2 ∆𝑥 2
𝑡 𝑡
𝑑𝑐 𝑐𝑖+1 − 𝑐𝑖−1 ….(3)
=
𝑑𝑥 2∆𝑥
𝑐𝑖𝑡+1 − 𝑐𝑖𝑡 𝑡
𝑐𝑖+1 − 2𝑐𝑖𝑡 + 𝑐𝑖−1
𝑡
𝑐𝑡𝑖+1 − 2𝑐𝑡𝑖 + 𝑐𝑡𝑖−1 𝑡
=𝐷 −𝑈 − 𝑘𝑐𝑖
∆𝑡 ∆𝑥 2
∆𝑥2
n_2 = (t_akhir / delta_t) + 2 'total baris, kenapa ditambah 2 karena ada saat t = 0 dan
tangki belum diisi serta saat t=0 tapi tangki sudah diisi
n_1 = (x / delta_x) + 2 'total kolom, kenapa ditambah 2 karena mempertimbangkan
untuk kolom t serta kolom C saat x=0
t=1
i=1
Do
y = n_2 'agar terdefinisi saat looping
Cells(2, 1) = "t"
Cells(2, 2) = "C_at_x0"
Cells(2, 3) = "C_at_x1"
Cells(2, 4) = "C_at_x2"
Cells(2, 5) = "C_at_x3"
Cells(2, 6) = "C_at_x4"
Cells(2, 7) = "C_at_x5"
Do
z = n_1 'agar terdefinisi saat looping
If i > z Then Stop
If t = 1 Then
Cells(y + 3 - t, i) = 0 'algoritma saat t=0 serta di dalam tangki belum ada
konsentrasi zat kimia tertentu
End If
If t >= 2 And i > 2 Then 'algortima menghitung konsentrasi pada t dan x tertentu,
w adalah konsentrasi pada t dan x tertentu
w = delta_t * ((D / delta_x ^ 2) * (Cells(y + 3 - t + 1, i + 1) - 2 * Cells(y + 3 - t +
1, i) + Cells(y + 3 - t + 1, i - 1)) - (U / (2 * delta_x)) * (Cells(y + 3 - t + 1, i + 1) -
Cells(y + 3 - t + 1, i - 1)) - (k * Cells(y + 3 - t + 1, i))) + Cells(y + 3 - t + 1, i)
Cells(y + 3 - t, i) = w
End If
i=i+1
Loop Until i = z + 1
i=1
t=t+1
Loop Until t = y + 1
End Sub
Tugas 2 Praktikum:
NIM GENAP
Difusi zat kimia ke dalam dinding sebuah reactor dapat dituliskan dengan persamaan
deferensial parsial orde dua sebagai berikut:
𝑑𝑐 𝑑2𝑐 𝑑𝑐
=𝐷 − 𝑈 − 𝑘𝑐
𝑑𝑡 𝑑𝑥 2 𝑑𝑥
Dimana c adalah konsentrasi (mg/m3), t adalah waktu (menit), D adalah koefisien difusi
zat kimia yang nilainya [2 ANGKA NIM TERAKHIR ANDA] m3/menit, U adalah
kecepatan difusi zat kimia yang nilainya 3 m/menit dan k adalah laju reaksi kimia yang
besarnya 0,015 menit-1. Bila tebal dinding reactor adalah 5 m dan konsentrasi di dalam
tangka konstan sebesar 200 mg/m3, dan mula-mula konsentrasi di dalam tangki adalah
0 mg/m3.
a. Tentukan persamaan untuk menghitung konsentrasi zat kimia sebagai fungsi dari
konsentrasi pada kedalaman tertentu pada dinding tangki dan juga waktu.
b. Tentukan konsentrasi zat kimia pada penampang melintang dinding tangki setiap
1 m dengan t akhir = 0,2 menit (Δx = 1 m, dan pilih Δt=0,005 menit)
Note: misal 12518001 maka D = 1 m3/menit
NIM GANJIL
Difusi zat kimia ke dalam dinding sebuah reactor dapat dituliskan dengan persamaan
deferensial parsial orde dua sebagai berikut:
𝑑𝑐 𝑑2𝑐 𝑑𝑐
=𝐷 − 𝑈 − 𝑘𝑐
𝑑𝑡 𝑑𝑥 2 𝑑𝑥
Dimana c adalah konsentrasi (mg/m3), t adalah waktu (menit), D adalah koefisien difusi
zat kimia yang nilainya [2 ANGKA NIM TERAKHIR ANDA] m3/menit, U adalah
kecepatan difusi zat kimia yang nilainya 3 m/menit dan k adalah laju reaksi kimia yang
besarnya 0,015 menit-1. Bila tebal dinding reactor adalah 10 m dan konsentrasi di dalam
tangka konstan sebesar 200 mg/m3, dan mula-mula konsentrasi di dalam tangki adalah
0 mg/m3.
a. Tentukan persamaan untuk menghitung konsentrasi zat kimia sebagai fungsi dari
konsentrasi pada kedalaman tertentu pada dinding tangki dan juga waktu.
b. Tentukan konsentrasi zat kimia pada penampang melintang dinding tangki setiap
2 m dengan t akhir = 0,2 menit (Δx =2 m, dan pilih Δt=0,005 menit)