Assalamualaikum Warahmatullahi Wabarakatuh, Selamat Malam Prof Dai, Perkenalkan Nama Saya Atsaal Zahran Fawaz dengan NPM 2406399900. pada hari Jumat ini, saya berdiskusi dengan AI DAI5 untuk untuk projek akhir saya. Berikut adalah hasil dari diskusi saya dengan AI DAI5:
Panduan Implementasi Metode Interpolasi dan Integrasi Volume Lambung
A. Kerangka Teori untuk Bab Metode Penelitian
Sebelum menulis kode, Anda harus menjelaskan konsep matematis ini dalam teks Anda:
- Interpolasi Polinomial: Jelaskan bahwa karena data lambung Anda hanya berupa titik diskrit (xiโ,yiโ), dan lambung seharusnya berbentuk kurva mulus, kita harus menggunakan interpolasi untuk memperkirakan nilai y pada koordinat x di antara titik-titik yang diketahui.
- Pemilihan Metode Interpolasi: Walaupun Anda menyebut Lagrange/Newton, untuk menghasilkan kurva yang sangat halus (smooth) dan meminimalisir fenomena osilasi (Runge’s phenomenon), metode Spline Kubik (Cubic Spline) atau Spline Interpolation jauh lebih superior dalam rekayasa kelautan. Saya akan menggunakan implementasi yang setara dengan Spline, yang secara akurat memodelkan kelengkungan (curvature) lambung.
- Estimasi Volume: Volume lambung (V) didekati dengan menghitung luas penampang yang diwakili oleh kurva lambung tersebut terhadap sumbu longitudinal (x). Karena kita hanya memiliki data diskrit setelah interpolasi, kita akan menggunakan Aturan Trapesium (Trapezoidal Rule) sebagai metode integrasi numerik yang paling tepat dan efisien.
B. Implementasi Kode (Python)
Kami akan menggunakan library numpy dan scipy karena ini adalah standar industri untuk komputasi ilmiah.
⚙️ Kode Python Lengkap
import numpy as np
from scipy.interpolate import CubicSpline
import matplotlib.pyplot as plt
from numpy.trapz import trapz
=================================================================
1. DATA INPUT (Titik Koordinat Lambung)
Asumsi: x = Koordinat longitudinal (misal, meter); y = Lebar lambung (misal, meter)
Ganti dengan data aktual Anda.
X_data = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0]) # Koordinat x
Y_data = np.array([0.0, 0.5, 1.5, 1.8, 1.2, 0.0]) # Koordinat y
—————————————————————-
2. INTERPOLASI (Membangun Kurva Kontinu)
Membuat titik ‘smooth’ yang lebih banyak dari data asli
X_smooth = np.linspace(X_data.min(), X_data.max(), 200)
Menggunakan Cubic Spline Interpolation untuk mendapatkan curve yang mulus
try:
spline = CubicSpline(X_data, Y_data)
Y_smooth = spline(X_smooth)
except ValueError as e:
print(f”Error during spline interpolation: {e}. Check if X_data and Y_data have the same length.”)
exit()
—————————————————————-
3. INTEGRASI (Menghitung Luas Area di Bawah Kurva)
Area = Integral dari Y(x) dx. Kita menggunakan fungsi trapz dari numpy.
Catatan: Karena kita menggunakan data asli (X_data, Y_data) untuk integrasi,
kita harus hati-hati dalam menentukan langkah (dx).
area_trapz = np.trapz(Y_data, X_data)
Alternatif: Menggunakan data smooth untuk integral yang lebih halus (jika diperlukan visualisasi)
Jika kita menggunakan data smooth, kita perlu menghitung dx dari X_smooth yang berurutan.
dx_smooth = np.diff(X_smooth)
area_smooth_trapz = np.trapz(Y_smooth, X_smooth)
—————————————————————-
4. VISUALISASI DAN HASIL
print(“==============================================”)
print(” HASIL PERHITUNGAN VOLUME/AREA LAMBANG”)
print(“==============================================”)
print(f”Area menggunakan metode Trapezoid (Data Asli): {area_trapz:.4f} satuan persegi.”)
print(f”Area menggunakan metode Trapezoid (Data Smooth): {area_smooth_trapz:.4f} satuan persegi.”)
Plotting
import matplotlib.pyplot as plt
plt.figure(figsize=(12, 6))
Plot data asli (Titik-titik)
plt.plot(X_data, Y_data, ‘o’, label=’Data Pengukuran Asli (Titik)’)
Plot kurva yang diinterpolasi (Garis mulus)
plt.plot(X_smooth, Y_smooth, ‘-‘, label=’Kurva Interpolasi (Spline Cubic)’, color=’red’)
Menambahkan area di bawah kurva untuk visualisasi
plt.fill_between(X_smooth, Y_smooth, color=’skyblue’, alpha=0.3, label=’Area yang Dihitung’)
plt.title(‘Interpolasi dan Perhitungan Area Lambung Kapal’)
plt.xlabel(‘Koordinat Longitudinal (X)’)
plt.ylabel(‘Tinggi Lambung (Y)’)
plt.legend()
plt.grid(True, linestyle=’–‘, alpha=0.6)
plt.show()
Penjelasan Teknis dan Metodologi (Untuk Laporan Anda)
Dalam teknik perkapalan, penghitungan volume atau area penampang (seperti area penampang melintang atau area lambung) sangat bergantung pada akurasi kurva yang merepresentasikan data pengukuran lapangan.
1. Pemilihan Metode Interpolasi (Mengapa Spline/Cubic Spline?)
- Masalah: Data lapangan (titik-titik pengukuran) bersifat diskret (terputus-putus) dan mengandung noise. Jika kita hanya menghubungkan titik-titik tersebut dengan garis lurus (linear interpolation), kurva yang dihasilkan akan memiliki sudut tajam di setiap titik, yang secara fisik tidak mungkin untuk lambung kapal yang seharusnya mulus.
- Solusi: Cubic Spline Interpolation (seperti yang digunakan dalam kode di atas) adalah metode kurva tingkat tinggi. Metode ini memastikan bahwa turunan pertama dan kedua dari kurva (yaitu, kemiringan dan kelengkungan) mulus di setiap titik sambungan. Ini menghasilkan representasi fisik yang paling realistis dari lambung kapal.
2. Metode Perhitungan Luas Area (Integral)
Setelah mendapatkan kurva yang mulus (Ysmoothโ(X)), kita perlu menghitung integralnya:
Area=โซXminโXmaxโโY(x)dx
- Trapezoidal Rule (Aturan Trapesium): Ini adalah metode numerik yang paling umum dan efektif dalam konteks ini. Aturan ini mengasumsikan bahwa antara dua titik data, area di bawah kurva dapat didekati dengan bentuk trapesium.
- Rumus dasar untuk n segmen: Areaโ2dxโ[y0โ+2y1โ+2y2โ+โฏ+2ynโ1โ+ynโ]
- Implementasi Kode: Fungsi
np.trapz(Y_data, X_data)secara otomatis mengimplementasikan Aturan Trapesium menggunakan data pengukuran asli Anda. Ini adalah cara yang paling akurat karena ia secara langsung menggunakan titik data yang dikumpulkan.
3. Kesimpulan Teknis Hasil
- Interpolasi: Menghasilkan kurva referensi yang mulus dan akurat.
- Integrasi: Menggunakan Aturan Trapesium pada titik-titik data asli untuk mendapatkan nilai area penampang melintang (atau luas lambung yang direpresentasikan dalam bidang 2D).
- Hasil Akhir: Nilai area yang diperoleh adalah representasi matematis terbaik dari luas yang ditutup oleh titik-titik pengukuran di sepanjang sumbu X dan Y.
Catatan Penting untuk Laporan: Jika volume yang ingin dihitung adalah Volume Lambung, maka perhitungan ini harus dilakukan dalam 3D. Anda harus mengulang proses integral area penampang melintang ini pada setiap “potongan” (slice) sepanjang sumbu X, dan kemudian mengintegrasikan hasil area tersebut sepanjang X lagi (menggunakan metode Simpson’s Rule atau gabungan integral). Namun, jika yang dimaksud hanya luas penampang 2D (seperti yang diwakili oleh grafik), maka Aturan Trapesium sudah memadai.