Tag: Fisika Komputasi

  • Integral Numerik Metode Trapezoida Dengan Matlab

    Integral Numerik Metode Trapezoida Dengan Matlab

    Integral Numerik Metode Trapezoida dilakukan dengan cara membuat bangun-bangun trapesium hayal diantara luas daerah yang dibatasi oleh sebuah fungsi.

    Integral Numerik Metode Trapezoida

    Metode Trapezoida merupakan salah satu metode numerik yang digunakan untuk menghitung aproksimasi integral dari suatu fungsi. Metode ini didasarkan pada pembagian interval integrasi menjadi sejumlah kecil sub-interval dan menghitung luas di bawah kurva dengan mengaproksimasi kurva sebagai segmen-segmen garis lurus yang menghubungkan titik-titik pada fungsi.

    Integral Metode Trapezoida

    A. Dasar Teori

    Secara matematis, jika kita ingin menghitung integral dari fungsi f(x) di antara batas a dan b:

    \int^b_af(x)dx

    Metode Trapezoida membagi interval [a,b] menjadi n sub-interval dengan panjang yang sama,

    Δx=\frac{b-a}{n}

    Titik-titik pembagi ini diberi label x0, x1, x2,…, xn, di mana:

    xi​=a+iΔx untuk i = 1, 2, 3, …, n

    Luas di bawah kurva dihitung dengan mengaproksimasi setiap sub-interval sebagai sebuah trapesium. Luas setiap trapesium adalah:

    L=\frac{1}{2}(f(x_i)+f(x_{i+1}))Δx

    Total luas semua trapesium, yang merupakan aproksimasi integral, diberikan oleh:

    \int^b_af(x)dx≈\frac{Δx}{2}[f(x_0)+2∑^{n-1}_{i=1}f(x_i)+f(x_n)]

    B. Langkah-Langkah Menggunakan Metode Trapezoida

    Tentukan Batas Integrasi dan Jumlah Sub-Interval (n):

    Misalkan kita ingin mengintegrasikan fungsi f(x) dari a ke b dan kita pilih n sub-interval.

    Hitung Lebar Sub-Interval (Δx):

    Δx=\frac{b-a}{n}

    Hitung Nilai Fungsi di Titik-Titik Pembagi:

    • Untuk setiap titik xi​=a+iΔx , hitung f(xi) untuk i=0,1,2,…,n

    Gunakan Rumus Trapezoida untuk Mengaproksimasi Integral:

    \int^b_af(x)dx≈\frac{Δx}{2}[f(x_0)+2∑^{n-1}_{i=1}f(x_i)+f(x_n)]

    C. Contoh Kasus

    Misalkan kita ingin menghitung aproksimasi integral dari f(x)=sin⁡(x) dari 0 sampai π dengan n=4:

    A. Solusi Numerik

    1. Tentukan Batas dan Sub-Interval:

    a=0, b=\pi , n = 4
    \Delta x=\frac{\pi-0}{4}=\frac{\pi}{4}

    2. Hitung Titik-Titik Pembagi dan Nilai Fungsi setiap kelipatan π/4, dimulai dari 0, π/4, π/2, 3π/4 dan π.

    f(x_0)=\sin 0 = 0
    f(x_1)=\sin \frac{\pi}{4}=\frac{\sqrt{2}}{2}
    f(x_2)=\sin \frac{\pi}{2}=1
    f(x_3)=\sin \frac{3\pi}{4}=\frac{\sqrt{2}}{2}
    f(x_4)=\sin π = 0

    3. Aproksimasi Integral:

    \int^π_0\sin x \ dx≈\frac{\frac{\pi}{4}}{2}[0+2(\frac{\sqrt{2}}{2}+1+\frac{\sqrt{2}}{2})+0]
    \int^π_0\sin x \ dx≈\frac{\frac{\pi}{4}}{2}[0+2(2.4142)+0]
    \int^π_0\sin x \ dx≈\frac{\pi}{4}(2.4142)
    \int^π_0\sin x \ dx≈ 0.6 \pi≈1.8961

    B. Solusi Analitik

    \int^π_0\sin x \ dx = - cos |^π_0=-(-1-1)=2

    Nilai dari solusi numerik ini mendekati nilai solusi analitik.

    D. Trapezioda dengan Matlab

    Buat Fungsi untuk Metode Trapezoida: Kita akan membuat fungsi yang menerima parameter fungsi yang akan diintegrasikan, batas bawah dan atas integrasi, serta jumlah sub-interval.

    function result = trapezoidal_rule(f, a, b, n)
        % f: fungsi yang akan diintegrasikan
        % a: batas bawah
        % b: batas atas
        % n: jumlah sub-interval
    
        % Hitung lebar tiap sub-interval
        h = (b - a) / n;
        
        % Hitung nilai fungsi di titik-titik pembagi
        x = a:h:b;
        y = f(x);
        
        % Terapkan rumus metode Trapezoida
        result = (h / 2) * (y(1) + 2 * sum(y(2:end-1)) + y(end));
    end

    Gunakan Fungsi untuk Mengaproksimasi Integral: Panggil fungsi trapezoidal_rule dengan parameter yang sesuai.

    % Definisikan fungsi yang akan diintegrasikan
    f = @(x) sin(x);
    
    % Batas integrasi
    a = 0;
    b = pi;
    
    % Jumlah sub-interval
    n = 4;
    
    % Hitung integral menggunakan metode Trapezoida
    approx_integral = trapezoidal_rule(f, a, b, n);
    
    % Tampilkan hasil
    disp(['Aproksimasi integral: ', num2str(approx_integral)]);
    

    Penjelasan Kode

    1. Fungsi trapezoidal_rule:
      • f: Fungsi yang akan diintegrasikan, didefinisikan sebagai fungsi anonim.
      • a dan b: Batas bawah dan atas dari integral.
      • n: Jumlah sub-interval yang digunakan dalam metode Trapezoida.
      • h: Lebar tiap sub-interval, dihitung sebagai (b−a)/n.
      • x: Vektor yang berisi titik-titik pembagi dari aaa ke b dengan jarak h.
      • y: Nilai fungsi f di titik-titik pembagi.
      • result: Aproksimasi integral yang dihitung menggunakan rumus metode Trapezoida.
    2. Menghitung Integral:
      • Fungsi anonim f didefinisikan sebagai @(x) sin(x).
      • Batas integrasi adalah a = 0 dan b = pi.
      • Jumlah sub-interval adalah n = 4.
      • Hasil aproksimasi integral ditampilkan menggunakan disp.

    E. Tugas

    Buatlah sebuah solusi integral numerik metode trapzoida untuk fungsi berikut

    \int^b_a(3x^3-5) dx

    dan

    \int^b_a(\cos x +2)dx

    keterangan

    1. ganti nilai b dengan tanggal lahir anda masing-masing dan nilai a dengan bulan lahir.
    2. Jumlah sub-interval yang digunakan n = 4
  • Pengantar Fisika Komputasi – Hakikat dan Peran

    Pengantar Fisika Komputasi – Hakikat dan Peran

    Ahmad Dahlan – Fisika merupakan cabang dari ilmu pengetahuan yang lebih dari sekedar menghitung meskipun demikian hampir tidak ada makna fisis dari objek fisika tanpa adanya bahasa matematika. Hanya saja, fisika lebih dari sekedar menghafal sederet rumus-rumus dari hukum yang diturunkan secara matematis.

    Fisika harus mempertimbangkan segala aspek dan kemungkinan pada saat melakukan pemodalan masalah nyata yang ada di alam sehingga hasil perhitungan yang dilakukan tepat hampir sama memprediksi apa yang terjadi di alam ketika sebuah pemodalan fisis dilakukan.

    Sebagai contoh dari hukum gravitasi Newton yang manyatakan bahwa percepatan benda jatuh ke Bumi akan selalu sama yakni dengan g = 9,8 m/s sampai dengan 10 m/s.

    Oleh karena itu, kita bisa memperkirakan bahwa bola billiard yang berat dan bola kasti yang lebih ringan akan jatuh menyentuh tanah secara bersamaan setelah 2 sekon. Dari retang waktu ini kita bisa memperkirakan bahwa tinggi gedung sekitar 20 meter.

    Hasil ini diperoleh dari persamaan h=½(gt2), namun apakah hal terjadi ketika kita menjatuh selembar kertas?

    Tentu saja waktu agar kertas tersebut jatuh menyentuh tanah akan jauh lebih lama dibandingkan dengan bola billiar tadi apalagi jika ternyata kertas tertiup angin dan jatuh ke tempat lain. Mungkin waktu yang dibutuhkan akan lebih dari 2 sekon, namun bukan berarti hal ini bisa dijadikan dasar untuk membuat hukum Newton tidak berlaku.

    Kasus tesebut hanya membuktikan bahwa kita lalai dalam memasukkan semua aspek yang ikut ambil bagian dalam menentukan lamanya kertas menyentuh tanah. Sebut saja arah angin, viskositas udara, koefisien gesek udara, luas penampang kertas dan yang paling utama di planet mana kita menjatuh kertas tersebut, hal ini akan berpengaruh ke besar percepatannnya.

    Meskipun kita bisa memasukkan semua aspek dan persamaan yang ada dalam perhitungan namun dalam kasus yang lebih detail, kita mungkin saja akan tetap menemukan perbedaan antara hasil perhitungan secara teori dan kenyataan.

    Perbedaan tersebut mungkin lebih besar dari ketidak pastian mutlak yang didapatkan karena keterbatasan alat ukur. Faktor tersebut bisa jadi muncul karena kekeliruan dalam proses perhitungan terutama mengabaikan angka-angka desimal ke 10 dari metode perhitungan yang kita gunakan.

    Dalam proses menghitung kejadian fisis dengan tingkat ketelitian yang sangat tinggi, manusia mungkin saja tidak bisa melakukan secara tepat hingga 100 angka desimal kecuali anda tetap ngotot dan memastikan setiap angka yang ada dituliskan dengan dengan benar berdasarkan operasi matematisnya.

    Tentu saja menggunakan alat bantu perhitungan otomatis sudah menjadi hal yang lumrah dan proses perhitungan yang idbantu dengan alat hitung otomatis disebut Komputasi. Kata ini diambil dari kata Cumpute yang berarti menghitung. Proses perhitungan yang melibatkan cumputer selanjtunay dikenal dengan sebutan fisika komputasi.

    Dalam kasus ini kita memberikan perintah tertentu pada komputer dengan sejumlah memory yang lebih banyak dalam mendefenisikan angka dari sadar manusia sehingga hasil perhitungannya lebih detail. Selain itu, computer juga membantu manusia menjukkan hasil lebih cepat tersebut dibanding dengan otak manusia yang memang memiliki memori lebih besar namun terkadang kurang teliti pada proses perhitungan.

    Gerak Parabola dengan Komputasi

    Ketika duduk di bangku SMA, mungkin kita mendapat penjelasan bahwa sebuah peluru yang ditembakkan dengan sudut tertentu di atas permukaan bumi akan membentuk sebuh lintasan yang menyerupai parabola, sehingga dikenal dengan sebutan gerak parabola.

    Gerak ini adalah perpaduan geral lurus beraturan ke arah horisontal dan gerak lurus berubah beraturan ke arah Vertikal.

    Sebagai contoh sebuah soal yang populer digunakan untuk materi gerak parabola :

    Sebuah meriam bernama Gustav Gun mampu menembakkan peluru dengan kecepatan 820 m/s. Berapakah jangkauan terjauh dari peluru yang ditembakkan oleh meriam Gustav Gun?

    Jhon McLoone : 2010

    Dalam kasus ini tentu saja kita berharap bawah Range terjauh dalam gerak proyektil adalah 45o, sehinga menurut rumus yang diberikan ketika SMA adalah 67 236.8 m atau 62, 236 km sesuai dengan persamaan gerak parabola.

    Langkah awal adalah hitung waktu tempuhnya :

    Rumus herak parabola t mask gerak peluru

    Setelha menghitung waktunya lalu masukkan ke persamaan jangkauan :

    Rumus jarak jangkauan terjauh Gerak parabola dan peluru

    Angka tersebut kita dapatkan dengan perhitungan manual dengan bantuan Calculator, namun bagaimana jika kita mencoba menghitung dengan bantuan fisika Komputasi.

    Bisa kita lakukan dengan menggunakan bantuan Software Matlab yang identik dengan bahasa program C dan C++.

    Perintah :

    >> y''[t] = -9.81 ; y'[0] = 820 * sin [45] ; y [0] = 0 ; x' [0] = 820 * cos [45] ; x [0] = 0 ;
    
    >> t[mask] = 2*y'[0]/y''[t] 
    
    ans
    
       118.212
    
    >>R [mask] = x'[0]*t[mask]
    
    ans 
    
       68 542.3

    berdasarkan hasil perhitungan yang dilakukan dengan Matlab kita akan menemukan perbadan antara hasil dengan menggunakan kalkulator yakni 67 236.8 m sedangkan dengan komputasi 68 542.3 m. Kesalahan sejauh hampi 1,200 lebih sudah cukup untuk menyapu rata temanmu yang berada di garis depan.

    Tentu saja keduanya sudah benar secara teori dalam menghitung jarak hanya saja perbedaan muncul di pembulatan angka dengan kalkulator yang terbatas, namun mari kita cek dengan data asli dari Meriam Gustav.

    TAbel jangkauan meriam Gustav
    Tabel jangkauan meriam Gustav – Sumber : Wikipedia

    Berdasarkan data yang ditunjukkan dari Wikipedia, meriam ini hanya memiliki jarak maksimum 47 km untuk tipe proyektil tipe HE dan 38 km untuk tipe AP. Ternyata berbeda sekitar hampir 50 % dair nilai perhitungan.

    JIka kita berperan menggunakan perhitungan fisika sederhana dengan menggunakan gerak peluru tentu saja mush kita akan berpesta pora di seberang sisih melihat peluru lawannya jatuh jauh didepan mereka.

    Untuk mendapatkan angka yang lebih nyata sesuai dengan kenyataanya, kita harus memasukkan semua aspek yang nilainya berpengaruh signifikan terhadap hasil perhitungan yakni gaya gesek hambatan udara

    Fd = ½ρv2Cda

    Selain aspek gesekan udara perubahan gerak peluruh terhadap arah gesekan udara juga harus diperhitungkan dengan persamaan diferensial biasa orde II. Semua aspek ini kemudian dimasukkan ke dalam perhitungan dengan bantuan komputasi untuk memodelkan gerak peluru dikehidupan nyata dengan hasil yang lebih tepat.