6  Metode Numerik

Dalam Teknik Pertambangan, banyak fenomena rekayasa yang bersifat kompleks dan memerlukan pendekatan matematika untuk dianalisis. Persamaan nonlinear muncul dalam berbagai aplikasi, seperti perhitungan aliran air tanah di tambang, tekanan gas pada ventilasi bawah tanah, dan karakteristik batuan yang tidak linier.

Persamaan nonlinear adalah persamaan dalam bentuk umum f(x)=0, di mana f(x) bukan fungsi linear, melainkan melibatkan eksponen, logaritma, trigonometri, eksponensial, atau kombinasi bentuk nonlinear lainnya.

6.1 Persamaan Nonlinear

Berikut adalah beberapa bentuk umum persamaan nonlinear yang sering muncul dalam permasalahan teknik pertambangan, lengkap dengan contoh aplikasinya:

6.1.1 Kuadrat (Parabolik)

f(x)=ax2+bx+c

Contoh aplikasi: Perhitungan trajektori material saat proses peledakan, atau untuk menganalisis kestabilan lereng berdasarkan ketinggian dan jarak. Misalnya, tinggi maksimum material yang dilempar ke udara setelah peledakan: h(t)=4.9t2+20t+2. Di mana t adalah waktu dalam detik, dan h(t) adalah ketinggian.

6.1.2 Polinomial Tingkat Tinggi

f(x)=x35x+2

Contoh aplikasi: Modeling hubungan nonlinear antara tekanan, suhu, dan volume dalam sistem termodinamika tambang bawah tanah, atau estimasi deformasi struktur tambang akibat gaya-gaya kompleks.

6.1.3 Eksponensial

f(x)=ekxP

Contoh aplikasi: Menjelaskan peluruhan tekanan dalam sistem pipa ventilasi tambang bawah tanah atau penurunan kandungan bahan kimia selama proses leaching. Contoh: f(x)=e0.3x0.5, digunakan untuk melihat kapan tekanan menurun di bawah batas aman.

6.1.4 Logaritmik

f(x)=ln(x)a

Contoh aplikasi: Menentukan hubungan antara porositas batuan dan permeabilitas dalam simulasi aliran fluida di bawah permukaan. Misalnya: ln(k)=ϕ2.3, dengan ϕ adalah porositas, k adalah permeabilitas.

6.1.5 Trigonometri

f(x)=sin(x)x2

Contoh aplikasi: Model gelombang seismik dalam proses eksplorasi geofisika, atau untuk analisis getaran akibat peledakan pada tambang terbuka. Digunakan untuk memodelkan perubahan intensitas gelombang terhadap jarak dan waktu dari sumber getaran.

6.2 Metode Penyelesaian

Karena banyak persamaan nonlinear tidak dapat diselesaikan secara analitik, maka kita menggunakan Metode Numerik (Iteratif) untuk mencari akar (solusi) dari f(x)=0. Metode numerik yang umum digunakan antara lain:

6.2.1 Metode Biseksi

Metode Biseksi bekerja dengan mempersempit interval [a,b] yang mengandung akar.

Langkah:

  1. Hitung f(a) dan f(b), pastikan f(a)f(b)<0
  2. Hitung titik tengah c=a+b2
  3. Evaluasi f(c)
  4. Tentukan subinterval baru [a,c] atau [c,b] tergantung tanda
  5. Ulangi hingga konvergen

Contoh Terapan Metode Biseksi

Dalam dunia pertambangan, banyak fenomena fisik yang dimodelkan dengan persamaan nonlinear, misalnya tekanan air pori, tekanan gas, gelombang seismik, hingga porositas batuan.

Salah satu contoh bentuk fungsi nonlinear adalah:

f(x)=x25

Tujuan kita adalah mencari nilai x sedemikian sehingga:

f(x)=0

Pelih Interval Awal [a,b]

Karena kita ingin mencari akar positifnya, kita pilih interval awal di sekitar x=2.236.

  • Coba x=2, f(2)=45=1 (negatif)
  • Coba x=3, f(3)=95=4 (positif)

Karena terjadi perubahan tanda:

f(2)f(3)=(1)(4)=4<0

Maka interval awal yang valid adalah:

[a,b]=[2,3]

Algoritma Metode Biseksi

Iterasi metode biseksi dilakukan dengan mencari titik tengah:

c=a+b2

dan menghitung f(c). Jika f(c)=0, maka c adalah akar. Jika tidak, kita periksa tanda dari f(c):

  • Jika f(a)f(c)<0, maka akar ada di [a,c]
  • Jika f(c)f(b)<0, maka akar ada di [c,b]

Iterasi dilanjutkan hingga panjang interval |ba|<ε, dengan ε adalah toleransi error, misalnya ε=0.001.

Tabel Iterasi

Iterasi Metode Bisection untuk Akar dari f(x)=x25
Iterasi a b c=(a+b)/2 f(c) Interval Baru
1 2.000000 2.500000 2.50000000 1.2500000 [2.000000, 2.500000]
2 2.000000 2.250000 2.25000000 0.0625000 [2.000000, 2.250000]
3 2.125000 2.250000 2.12500000 -0.4843750 [2.125000, 2.250000]
4 2.187500 2.250000 2.18750000 -0.2148438 [2.187500, 2.250000]
5 2.218750 2.250000 2.21875000 -0.0771484 [2.218750, 2.250000]
6 2.234375 2.250000 2.23437500 -0.0075684 [2.234375, 2.250000]
7 2.234375 2.242188 2.24218750 0.0274048 [2.234375, 2.242188]
8 2.234375 2.238281 2.23828125 0.0099030 [2.234375, 2.238281]
9 2.234375 2.236328 2.23632812 0.0011635 [2.234375, 2.236328]
10 2.235352 2.236328 2.23535156 -0.0032034 [2.235352, 2.236328]
11 2.235840 2.236328 2.23583984 -0.0010202 [2.235840, 2.236328]
12 2.235840 2.236084 2.23608398 7.1585e-05 [2.235840, 2.236084]
13 2.235962 2.236084 2.23596191 -0.0004743 [2.235962, 2.236084]
14 2.236023 2.236084 2.23602295 -0.0002014 [2.236023, 2.236084]
15 2.236053 2.236084 2.23605347 -6.4894e-05 [2.236053, 2.236084]
16 2.236053 2.236069 2.23606873 3.3455e-06 [2.236053, 2.236069]
17 2.236061 2.236069 2.23606110 -3.0774e-05 [2.236061, 2.236069]
18 2.236065 2.236069 2.23606491 -1.3714e-05 [2.236065, 2.236069]
19 2.236067 2.236069 2.23606682 -5.1844e-06 [2.236067, 2.236069]
20 2.236068 2.236069 2.23606777 -9.1942e-07 [2.236068, 2.236069]

Konvergensi

Panjang interval akhir:

|ba|=|2.2358398442.235351563|=0.000488281<0.001

Sehingga solusi telah konvergen pada:

x2.2358

Visualisasi Metode Biseksi

Berikut ini dilampirkan Kode Python untuk memperlihatkan proses pencarian titik penyelesaiannya dengan menggunakan Metode Secant secara visual.

import numpy as np
import plotly.graph_objects as go

# Fungsi yang ingin dicari akarnya
def f(x):
    return x**2 - 5

# Fungsi Metode Biseksi
def bisection_iterations(f, a0, b0, tol=1e-3, max_iter=20):
    iterations = []
    a, b = a0, b0
    for i in range(max_iter):
        c = (a + b) / 2
        fc = f(c)
        iterations.append((i + 1, a, b, c, fc))
        if abs(fc) < tol or abs(b - a) < tol:
            break
        if f(a) * fc < 0:
            b = c
        else:
            a = c
    return iterations

# Parameter awal
a0, b0 = 2, 3
iter_data = bisection_iterations(f, a0, b0)

# Nilai untuk visualisasi fungsi
x_vals = np.linspace(1.5, 3.5, 400)
y_vals = f(x_vals)
min_y, max_y = min(y_vals), max(y_vals)

# Frame untuk animasi tiap iterasi
frames = []
for i, (iter_num, a, b, c, fc) in enumerate(iter_data):
    frames.append(go.Frame(
        data=[
            go.Scatter(x=x_vals, y=y_vals, mode="lines", name="f(x)"),
            go.Scatter(x=[c], y=[fc], mode="markers",
                       marker=dict(color='red', size=10),
                       name=f"c (iter {iter_num})"),
            go.Scatter(x=[a, a], y=[min_y, max_y], mode="lines",
                       line=dict(dash="dash", color="orange"), showlegend=False),
            go.Scatter(x=[b, b], y=[min_y, max_y], mode="lines",
                       line=dict(dash="dash", color="orange"), showlegend=False),
            go.Scatter(x=[a0, a0], y=[min_y, max_y], mode="lines",
                       line=dict(dash="dot", color="blue"), name="a0"),
            go.Scatter(x=[b0, b0], y=[min_y, max_y], mode="lines",
                       line=dict(dash="dot", color="blue"), name="b0"),
        ],
        name=f"Iterasi {iter_num}"
    ))

# Inisialisasi animasi
fig = go.Figure(
    data=[
        go.Scatter(x=x_vals, y=y_vals, mode="lines", name="f(x)"),
        go.Scatter(x=[iter_data[0][3]], y=[iter_data[0][4]], mode="markers",
                   marker=dict(color='red', size=10), name="c"),
        go.Scatter(x=[a0, a0], y=[min_y, max_y], mode="lines",
                   line=dict(dash="dot", color="blue"), name="a0"),
        go.Scatter(x=[b0, b0], y=[min_y, max_y], mode="lines",
                   line=dict(dash="dot", color="blue"), name="b0"),
    ],
    layout=go.Layout(
        title="Animasi Iterasi Metode Biseksi dengan Interval Awal",
        xaxis=dict(title="x"),
        yaxis=dict(title="f(x)", zeroline=True),
        updatemenus=[
            dict(
                type="buttons",
                showactive=False,
                buttons=[
                    dict(label="Play", method="animate",
                         args=[None, {"frame": {"duration": 1000, "redraw": True},
                                      "fromcurrent": True}])
                ]
            )
        ]
    ),
    frames=frames
)

fig.show()
1.522.533.5−20246
f(x)c (iter 3)Animasi Iterasi Metode Biseksi dengan Interval Awalxf(x)Play

Kesimpulan

Dengan Metode Biseksi, akar dari fungsi nonlinear sederhana seperti f(x)=x25 dapat ditemukan secara numerik meski tidak menggunakan turunan. Metode ini sangat andal dan stabil digunakan dalam perhitungan geoteknik dan geofisika dalam dunia pertambangan.

Interpretasi Hasil

Solusi x2.236 bisa dimaknai sebagai:

Kedalaman 2.236 meter dari permukaan tanah di mana tekanan air pori = 0 — transisi dari kondisi kapiler (tekanan negatif) ke jenuh (tekanan positif). Titik ini penting untuk:

  • Analisis kestabilan lereng tambang terbuka
  • Identifikasi muka air tanah
  • Desain sistem drainase tambang

6.2.2 Metode Newton-Raphson

Metode Newton-Raphson digunakan untuk mencari akar dari fungsi nonlinear secara iteratif, dengan memanfaatkan turunan pertama dari fungsi tersebut.

Algoritma Metode Newton

  1. Pilih tebakan awal x0

  2. Hitung turunan f(x) dari fungsi f(x)

  3. Iterasikan rumus:

    xn+1=xnf(xn)f(xn)

  4. Ulangi hingga selisih |xn+1xn|<ε (toleransi)

Contoh Terapan Metode Newton

Mari kita gunakan fungsi yang sama seperti sebelumnya:

f(x)=x25

Turunannya adalah:

f(x)=2x

Pilih Awal x0

Gunakan tebakan awal x0=2 karena akar positif dari x2=5 berada di sekitar 2.236.

Iterasi Newton-Raphson

Gunakan rumus iteratif:

xn+1=xnxn252xn

Tabel Iterasi

Iterasi Metode Newton-Raphson dengan Detail Lengkap
Iterasi xn f(xn) f(xn) xn+1 |xn+1xn|
0 2.000000 -1.000000 4.000000 2.250000 0.250000
1 2.250000 0.062500 4.500000 2.236111 0.013889
2 2.236111 0.000193 4.472222 2.236068 0.000043
3 2.236068 1.86e-09 4.472136 2.236068 0
4 2.236068 8.88e-16 4.472136 2.236068 0

Konvergensi

Setelah 3 iterasi, solusi konvergen ke:

x2.236068

Dengan error di bawah ε=0.001

Visualisasi Metode Newton

Berikut ini dilampirkan Kode Python untuk memperlihatkan proses pencarian titik penyelesaiannya dengan menggunakan Metode Secant secara visual.

import numpy as np
import plotly.graph_objects as go

# Fungsi dan turunannya
def f(x):
    return x**2 - 5

def df(x):
    return 2 * x

# Fungsi iterasi Newton-Raphson
def newton_iterations(f, df, x0, tol=1e-6, max_iter=20):
    iterations = []
    x = x0
    for i in range(max_iter):
        fx = f(x)
        dfx = df(x)
        if dfx == 0:
            break
        x_new = x - fx / dfx
        iterations.append((i + 1, x, x_new, fx))
        if abs(x_new - x) < tol:
            break
        x = x_new
    return iterations

# Parameter awal
x0 = 3.0
iter_data = newton_iterations(f, df, x0)

# Sumbu x dan y untuk plot fungsi
x_vals = np.linspace(1.5, 3.5, 400)
y_vals = f(x_vals)

# Membuat frame animasi
frames = []
for i, (iter_num, x_old, x_new, fx) in enumerate(iter_data):
    tangent_line_x = np.linspace(x_old - 0.5, x_old + 0.5, 50)
    tangent_line_y = f(x_old) + df(x_old) * (tangent_line_x - x_old)

    frames.append(go.Frame(
        data=[
            go.Scatter(x=x_vals, y=y_vals, mode="lines", name="f(x)"),
            go.Scatter(x=[x_old], y=[f(x_old)], mode="markers",
            marker=dict(color='red', size=10), name=f"x (iter {i+1})"),
            go.Scatter(x=tangent_line_x, y=tangent_line_y, mode="lines",
            line=dict(dash="dot", color="green"), name="Tangent Line"),
            go.Scatter(x=[x0, x0], y=[min(y_vals), max(y_vals)], mode="lines",
            line=dict(dash="dot", color="blue"), name="x0"),
        ],
        name=f"Iterasi {i+1}"
    ))

# Plot awal
fig = go.Figure(
    data=[
        go.Scatter(x=x_vals, y=y_vals, mode="lines", name="f(x)"),
        go.Scatter(x=[iter_data[0][1]], y=[f(iter_data[0][1])], 
        mode="markers", marker=dict(color='red', size=10), name="x"),
        go.Scatter(x=[x0, x0], y=[min(y_vals), max(y_vals)], mode="lines",
        line=dict(dash="dot", color="blue"), name="x0"),
    ],
    layout=go.Layout(
        title="Animasi Iterasi Metode Newton-Raphson",
        xaxis=dict(title="x"),
        yaxis=dict(title="f(x)", zeroline=True),
        updatemenus=[dict(
            type="buttons",
            showactive=False,
            buttons=[dict(label="Play", method="animate", args=[None, 
            {"frame": {"duration": 1000, "redraw": True},
            "fromcurrent": True
            }])]
        )]
    ),
    frames=frames
)

fig.show()
1.522.533.5−20246
f(x)x (iter 3)Tangent LineAnimasi Iterasi Metode Newton-Raphsonxf(x)Play

Kesimpulan

  • Sangat cepat (konvergen secara kuadratik)
  • Butuh fungsi turunan yang tidak nol di sekitar akar
  • Cocok untuk fungsi halus dan kontinu, seperti dalam perhitungan tekanan air pori, fluks fluida, dan deformasi batuan tambang

6.2.3 Metode Secant

Metode Secant adalah metode iteratif yang digunakan untuk mencari akar dari fungsi nonlinear dengan menggunakan dua tebakan awal yang berbeda dan menggantikan turunan dengan perbedaan antara dua nilai fungsi.

Algoritma Metode Secant

  1. Pilih dua tebakan awal, x0 dan x1

  2. Iterasikan rumus secant:

    xn+1=xnf(xn)(xnxn1)f(xn)f(xn1)

  3. Ulangi hingga selisih |xn+1xn|<ε (toleransi)

Contoh Terapan Metode Secant

Mari kita gunakan fungsi yang sama seperti sebelumnya:

f(x)=x25

Tebakan Awal x0 dan x1

Untuk mencari akar dari fungsi ini, pilih dua tebakan awal:

  • x0=2
  • x1=3

Iterasi Metode Secant

Rumus Secant untuk iterasi adalah:

xn+1=xnf(xn)(xnxn1)f(xn)f(xn1)

Di mana f(xn)=xn25 dan iterasi dimulai dengan x0=2 dan x1=3.

Tabel Iterasi

Iterasi Metode Secant untuk f(x)=x25
Iterasi xn f(xn) xn+1 |xn+1xn|
0 3.000000 4.000000 2.200000 0.800000
1 2.200000 0.160000 2.230769 0.030769
2 2.230769 0.023669 2.236111 0.005342
3 2.236111 0.000193 2.236068 0.000043
4 2.236068 2.2882e07 2.236068 0

Konvergensi

Setelah 3 iterasi, solusi konvergen ke:

x2.236068

Dengan error di bawah ε=0.001

Visualisasi Metode Secant

Berikut ini dilampirkan Kode Python untuk memperlihatkan proses pencarian titik penyelesaiannya dengan menggunakan Metode Secant secara visual.

import numpy as np
import plotly.graph_objects as go

# Fungsi
def f(x):
    return x**2 - 5

# Fungsi iterasi Secant
def secant_iterations(f, x0, x1, tol=1e-6, max_iter=20):
    iterations = []
    for i in range(max_iter):
        if f(x1) - f(x0) == 0:
            break
        x2 = x1 - f(x1)*(x1 - x0)/(f(x1) - f(x0))
        iterations.append((i+1, x0, x1, x2))
        if abs(x2 - x1) < tol:
            break
        x0, x1 = x1, x2
    return iterations

# Nilai awal
x0 = 2.0
x1 = 3.0
iter_data = secant_iterations(f, x0, x1)

# Fungsi untuk plot
x_vals = np.linspace(1.5, 3.5, 400)
y_vals = f(x_vals)

# Frame animasi
frames = []
for i, (n, x_prev, x_curr, x_next) in enumerate(iter_data):
    secant_x = np.linspace(x_prev, x_curr, 50)
    secant_slope = (f(x_curr) - f(x_prev)) / (x_curr - x_prev)
    secant_y = f(x_curr) + secant_slope * (secant_x - x_curr)

    frames.append(go.Frame(
    data=[go.Scatter(x=x_vals, y=y_vals, mode="lines", name="f(x)"),
          go.Scatter(x=[x_prev, x_curr], y=[f(x_prev), f(x_curr)],
          mode="markers", marker=dict(size=8, color="red"), name="x_n, x_n-1"),
          go.Scatter(x=secant_x, y=secant_y, mode="lines", line=dict(dash="dot",
          color="green"), name="Secant Line"),
          go.Scatter(x=[x0, x1], y=[min(y_vals), max(y_vals)], mode="lines",
          line=dict(dash="dot", color="blue"), name="Initial Interval")
        ],
        name=f"Iterasi {n}"
    ))

# Visual awal
fig = go.Figure(
    data=[
        go.Scatter(x=x_vals, y=y_vals, mode="lines", name="f(x)"),
        go.Scatter(x=[x0, x1], y=[f(x0), f(x1)], mode="markers",
        marker=dict(size=8, color="red"), name="x0, x1"),
        go.Scatter(x=[x0, x0], y=[min(y_vals), max(y_vals)], mode="lines",
        line=dict(dash="dot", color="blue"), name="x0"),
        go.Scatter(x=[x1, x1], y=[min(y_vals), max(y_vals)], mode="lines",
        line=dict(dash="dot", color="blue"), name="x1"),
    ],
    layout=go.Layout(
        title="Animasi Iterasi Metode Secant",
        xaxis=dict(title="x"),
        yaxis=dict(title="f(x)", zeroline=True),
        updatemenus=[dict(
            type="buttons",
            showactive=False,
            buttons=[dict(label="Play", method="animate", args=[None, {
                "frame": {"duration": 1000, "redraw": True},
                "fromcurrent": True
            }])]
        )]
    ),
    frames=frames
)

fig.show()
1.522.533.5−20246
f(x)x_n, x_n-1Secant LineInitial IntervalAnimasi Iterasi Metode Secantxf(x)Play

Kesimpulan Metode Secant

  • Tidak memerlukan turunan dari fungsi.
  • Lebih sederhana daripada Metode Newton-Raphson.
  • Cocok untuk fungsi yang tidak memiliki turunan eksplisit atau ketika turunan sulit dihitung.
  • Bisa lebih lambat daripada Newton-Raphson, namun tetap efektif jika tebakan awal cukup baik.

6.3 Contoh Studi Kasus

Sebuah perusahaan ingin memaksimalkan efisiensi produksi berdasarkan jumlah pekerja (x) dan jam kerja per hari (y). Fungsi efisiensi ditentukan oleh:

Efisiensi=xyx+y+1

Namun, setiap kombinasi pekerja dan jam kerja juga menghasilkan biaya operasional yang dihitung dengan fungsi:

Biaya=x2+y2

Perusahaan melakukan iterasi untuk mencari kombinasi terbaik x dan y yang menghasilkan efisiensi maksimum dengan biaya yang tetap terkendali. Titik-titik iterasi diamati sebagai berikut:

Iterasi Jumlah Pekerja (x) Jam Kerja (y) Efisiensi Biaya
1 2 2 0.89 8
2 5 4 1.82 41
3 8 6 2.37 100
4 11 7 2.68 170
5 14 9 2.95 277
6 17 10 3.12 389
7 20 12 3.33 528
8 23 13 3.48 618
9 25 14 3.57 725
10 28 15 3.65 829
11 30 16 3.72 976
12 33 18 3.78 1,149
13 35 19 3.83 1,361
14 38 20 3.88 1,528
15 40 22 3.91 1,664
16 42 23 3.94 1,788
17 45 24 3.97 2,041
18 48 26 4.00 2,300
19 50 27 4.02 2,529
20 53 28 4.04 2,809

6.3.1 Pertanyaan

  1. Tentukan kombinasi pekerja dan jam kerja yang memberikan efisiensi maksimum.
  2. Berapa biaya yang harus dikeluarkan pada titik efisiensi maksimum tersebut?
  3. Jelaskan trade-off antara efisiensi dan biaya berdasarkan animasi iterasi.
  4. Jika perusahaan ingin menjaga biaya di bawah 200, berapa efisiensi maksimal yang bisa dicapai?

6.3.2 Pembahasan

Efisiensi Maksimum

Dari tabel dan animasi, efisiensi tertinggi terjadi pada iterasi ke-15: - x=40, y=22, Efisiensi = 3.91 (Iterasi 15)

Biaya pada Efisiensi Maksimum

Untuk menghitung biaya pada titik efisiensi maksimum: Biaya=402+222=1600+484=2084

Trade-off Efisiensi vs Biaya

  • Semakin besar x dan y, efisiensi meningkat secara melambat, tetapi biaya meningkat tajam.
  • Terlihat bahwa dari iterasi 13 ke 15, kenaikan efisiensi dari 3.83 ke 3.91 hanya sekitar 0.08, sedangkan biaya naik 303 poin.
  • Artinya: ada diminishing return — efisiensi naik sedikit, tetapi biaya naik tajam.

Batas Biaya < 200

Dari tabel, hanya iterasi ke-1 hingga ke-4 yang memenuhi syarat:

  • Efisiensi maksimum di bawah batas biaya ini adalah pada iterasi ke-4, dengan:
    • Efisiensi = 2.68
    • Biaya = 170

6.3.3 Kesimpulan

  • Kombinasi terbaik secara efisiensi: ( (x = 40, y = 22) ), pada iterasi ke-15.
  • Tetapi, untuk batas biaya tertentu, pilihan optimal bisa berbeda.
  • Visualisasi 4D membantu memahami interaksi antar variabel dan dampaknya secara intuitif.

6.3.4 Visualisasi

IterasiTitik AwalTitik Akhir10152025303540Biaya OperasionalAnimasi Iterasi 4D: Efisiensi Produksi vs BiayaPlay

6.4 Studi Kasus Tambang

6.4.1 Tekanan Air Pori

Dalam desain kestabilan lereng tambang terbuka, tekanan air pori (u) sangat memengaruhi faktor keamanan. Salah satu model umum:

u(h)=γwhαekh

dengan:

  • h: kedalaman dari permukaan
  • γw: berat jenis air (misalnya 9.81 kN/m³)
  • α,k: parameter karakteristik batuan (misal α=30, k=0.8)

Tujuan

Menentukan kedalaman h saat tekanan air pori u(h)=0 (titik transisi jenuh-tidak jenuh).

Instruksi

  1. Definisikan fungsi nonlinear:
    f(h)=γwhαekh
  2. Tentukan f(h)=0 → akar dari fungsi
  3. Gunakan metode numerik:
    • Newton-Raphson: hn+1=hnf(hn)f(hn)
    • Atau Metode Secant jika turunan sulit
  4. Gunakan nilai awal h0=2, toleransi ε=0.001
  5. Iterasi hingga |f(hn)|<ε

6.4.2 Distribusi Tekanan Udara

Ventilasi tambang bawah tanah sering kali dianalisis menggunakan:

P(x)=P0ekx

Jika ditambahkan persamaan rugi tekanan, misalnya:

P(x)=P01+aekx

maka bentuknya menjadi nonlinear dan tidak bisa diselesaikan secara langsung.

Tujuan

Menentukan posisi x saat tekanan turun di bawah ambang, misal P(x)=20 kPa.

Instruksi

  1. Definisikan fungsi: f(x)=P01+aekx20
  2. Cari nilai x sehingga f(x)=0
  3. Gunakan metode numerik (Newton-Raphson atau Secant)
  4. Asumsikan P0=100, a=3, k=0.4, coba nilai awal x0=3

6.4.3 Penentuan Regangan Batuan

Model empiris batuan sering kali mengikuti hubungan nonlinear:

σ=Eϵ+βϵ2

Misalnya:

  • E=4000 MPa (Modulus Young)
  • β=50000
  • Tegangan lapangan: σ=25 MPa

Tujuan

Hitung nilai regangan ϵ.

Instruksi

  1. Nyatakan ulang fungsi: f(ϵ)=Eϵ+βϵ2σ
  2. Substitusi nilai:
    f(ϵ)=4000ϵ+50000ϵ225
  3. Gunakan metode numerik untuk mencari ϵ:
    • Metode Newton-Raphson:
      f(ϵ)=4000+250000ϵ
    • Mulai dengan ϵ0=0.005
  4. Iterasi hingga |f(ϵn)|<0.0001

6.4.4 Kesimpulan Studi Kasus

Ketiga kasus di atas menunjukkan bahwa Metode Numerik adalah alat penting dalam praktik teknik tambang:

  • Membantu menyelesaikan persamaan nonlinear yang tidak bisa dipecahkan secara aljabar
  • Digunakan dalam analisis tekanan air pori, sistem ventilasi, dan pengujian laboratorium batuan
  • Memberikan solusi cepat dan akurat untuk pengambilan keputusan teknis lapangan

Dengan menguasai metode numerik, insinyur tambang dapat menjawab pertanyaan “berapa kedalaman jenuh?”, “di mana tekanan kritis terjadi?”, dan “berapa regangan batuan?” dengan presisi tinggi.

6.5 Latihan Soal

  1. Gunakan metode Newton-Raphson untuk: f(x)=x34x+1,x0=1

  2. Metode Secant untuk: f(x)=cos(x)x,x0=0.5,x1=1

  3. Metode Biseksi (Regula Falsi) pada: f(x)=exx,[a,b]=[0,1]

6.6 Penutup

Metode numerik merupakan alat penting dalam menyelesaikan persoalan teknik yang tidak dapat diselesaikan secara analitik. Dalam konteks rekayasa pertambangan, metode seperti Biseksi, Newton-Raphson, dan Secant memungkinkan insinyur untuk memecahkan persamaan nonlinear yang muncul dalam analisis kestabilan lereng, perhitungan tekanan air pori, desain sistem drainase, dan berbagai aplikasi lainnya. Dengan memahami dan menerapkan metode numerik, insinyur tambang dapat mengambil keputusan teknis secara lebih presisi, efisien, dan berbasis data.