Java Tutorial - Animasi Bandul Matematis dengan Metode Verlet Kecepatan

Simulasi Bandul Matematis

Sebelum kita membuat "Animasi Bandul Matematis dengan Metode Verlet Kecepatan" maka kita terlebih dahulu memahami metode verlet kecepatan. Metode Verlet adalah salah satu metode yang digunakan untuk melakukan pendekatan atau metode pendekan untuk menetukan posisi seuatu benda jika di ketahui percepatan atau persamaan gerak benda.

Metode Verlet kecepatan adalah salah satu metode numerik yang digunakan untuk mengintegrasikan persamaan Newton. yang paling penting dari metode ini adalh persamaan gerak benda atau partikel. untuk menentukan persamaan gerak benda, dapat digunakan Hukum 2 Newton yaitu percepatan benda berbanding lurus dengan jumlah gaya yang bekerja dan berbanding tebalik dengan Massa. Atau bisa di kenal dengan Sigma F = m*a.

Sebelum kita mengunakan Algoritma Verlet Kecepatan, Terlebih dahulu kita mencarai persamaan gerak bandul dengan mengunakan persamaan Newton. Dimana gaya yang berkerja pada bandul matematis adalah gaya berat atau gaya yang di pengaruhi oleh gravitasi bumi.

Kita tahu bahwa bandul matematis adalah salah satu contoh gerak secara periodik atau gerak bolak balik terhabap titik keseimbangan. Secara ideal gerak bandul matematis pada sudut kurang dari 15 drajat akan terus menerus bergerak secara periodik, dan taakan berhenti. Namun pada kenyataan nya adalah Bandul lama kelamaan akan diam, ini dikarenakan bandul mendapat gaya hambat oleh gesekan udara. sehingga lama kelaman bandul akan diam.

Algoritma Verlet Posisi Satu dimensi ( Arah Sumbu x )
Xnp1 = 2*Xn - Xnm1 + axn*dt^2;

Algoritma Verlet Kecepatan Satu dimensi ( Arah Sumbu x )
Xnp1 = Xn + Vxn*dt + (1/2*axn*dt^2);
Vxnp1 = Vxn + 1/2*(axnp1 + axn)*dt;

dimana Xnp1 = X(n + 1) , Xnm1 = X(n - 1) dan  Vxnp1= Vx(n + 1)

Mencari Persanmaan Gerak Bandul Dengan Menggunakan Hukum II Newton

Java Tutorial - Animasi Bandul Matematis dengan Metode Verlet Kecepatan

Disini kita mengunakan percepatan sudut sebagai persamaan gerak bandul, Ini akan mempermudah kita dari pada kita mengunakan percepatan tangensial percepatan ax dan ay. Percepatan sudut merupakan turunan kedua dari posisi sudut terhadap waktu.

Dari situ kita peroleh a = -g/l * sin(theta).

Setelah kita peroleh persamaan gerak, maka kita menggunakan Metode Verlet Kecepatan Untuk menentukan posisi partikel setelah selang waktu dt.

Berikut adalah program Bandul.java

/*
    Nama : Mozaik Al Qharomi
    Nim  : G1B014027
    Program : Bandul.java
*/

/*Program Bandul
  Persamaan yang digunakan
  thetha_np1 = thetha_n + omega*dt + 0.5*an+dt^2
  omega_np1 = omega_n + 0.5*(an+anp1)*dt
  an = (-g/L)*sin(thetha)

  Variable yang di perlukan
  Xn, Yn, thetha, omega, an, dt, L
*/

public class Bandul{
    public static void main(String[] args){
        // Membuat Ukuran windows
        StdDraw.setXscale(-10.0, 10.0);
        StdDraw.setYscale(-10.0, 10.0);
       
        // input untuk menggambar poligon
        double[] x = { -1.0, 1.0, 1.0, -1.0 };
        double[] y = { 5.5, 5.5, 5.0, 5.0 };
       
        // deklarasi variabel
        double omega = 0.0;
        double thetha, an, t;
        double Xn, Yn;
        double g = -9.8;
        double L = 5;
        double dt = 0.01;
        double dt2 = dt*dt;
        long i;
       
        //sudut awal
        thetha = 10;
        // Percepatan awal
        an = (-g/L)*Math.sin(thetha);
       
        for(i=1; i<=100000; i++){
            t = i*dt;
           
            // Metode Verlet
           
            // Posisi Sudut -> thetha(t)
            thetha = thetha + omega*dt + (0.5*an*dt2); // thetha_np1 = thetha_n + omega*dt + 0.5*an+dt^2
           
            // Kecepatan Sudut -> omega(t)
            omega = omega + (0.5*an*dt); // omega_np1 = omega_n + 0.5*(an)*dt
           
            // Percepatan(t)
            an = (-g/L)*Math.sin(thetha); // anp1
           
            omega = omega + (0.5*an*dt); //omega_np1 = omega_n + 0.5*(anp1)*dt
           
            // Posisi Benda pada Koordinat X,Y
            Xn = L*Math.sin(thetha);
            Yn = L*Math.cos(thetha);
            System.out.println("Xn = " + Xn + " Yn = " + Yn); // Menampilkan Output program berupa nilai Xn,Yn
           
            StdDraw.clear(); // Menghapus Object Lama
            StdDraw.line(0,5,Xn,Yn); // Mengambar Garis
            StdDraw.filledCircle(Xn, Yn, 1); // Menggambar Benda lingkaran
            StdDraw.filledPolygon(x, y); // Membuat Tempat gantung Tali
            StdDraw.show(5); // delay program
        }
    }
}

Output Program :

Bandul Matematis




Itulah sekilas tentang Membuat animasi Bandul Matematis dengan mengunakan bahasa pemrograman Java. Semoga artilel ini dapat memeberikan menfaat bagi kita semua. Jika ada kesalahan kata saya mohon maaf, Semoga teman teman tidak bosan untuk mengunjungi blog saya, saya ucapkan terimakasi. Jangan Lupa kembali lagi, karena masih banyak ilmu yang akan saya bagikan disini.

Jika ada Pertanyaan dari teman teman silahkan tuliskan dikolom komentar saya dengan senang hati akan membalas komentar teman teman atau jika ada yang ingin memberikan saran atau teman teman ingin me-request judul artikel silahkan Moggo, saya dengan senang hati akan mencoba menuliskannya.

Sekian, Wassalam.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel