Menghitung Jarak dan Ketinggian Gerak Parabola pada C#

Assalamualaikum wr.wb,

Kali ini saya akan menjelaskan sedikit tentang penggunaan looping while  untuk menghitung jarak dan ketinggian gerak parabola pada c#

double x, y, t, v0, a, g;

 

            Console.WriteLine(“Soal :”);

            Console.WriteLine(“panah ditembakan 30 derajat ke titik AB dengan jarak 25 meter”);

            Console.WriteLine(“kecepatan awal panah tersebut 40 km/jam”);

            Console.WriteLine();

 

source kode diatas menggunakan double. Double digunakan karena untuk menghitung dengan rumus parabola nantinya akan menggunakan angka – angka desimal.

Untuk membuat source kode lebih mudah nantinya, saya membuat deklarasi sebagai berikut

X adalah jarak, Y adalah ketinggian, T adalah waktu, V0 adalah kecepatan awal, a adalah sudut, g adalah gravitasi.

Kemudian saya menuliskan soal dengan perintah Console.WriteLine(); untuk menampilkan soal pada aplikasi.

Selanjutnya,  

Console.WriteLine(“diketahui :”);

            Console.WriteLine(” v0 = 40 km/jam = 11.11 m/s”);

            Console.WriteLine(” t = 0.5 s “);

            Console.WriteLine(” a = 30″);

 

            v0 = 11.11;

            t = 0.0;

            a = 3.14 * 30 / 180;

     g = 9.8;

Pada soal tersebut diketahui kecepatan awal atau v0 adalah 40 km/jam, untuk menjalankan operasi pada rumus parabola maka saya merubahnya ke m/s menjadi 11.11 m/s. t adalah waktu awal jadi t = 0.0. gravitasi = 9.8 . a = 3.14 * 30 / 180; ini digunakan agar nantinya rumus membaca sin atau cos dengan nilai 30 derajat bukan dengan 30 saja.

 

            Console.WriteLine(“————————–“);

            Console.WriteLine(“| detik |   x   | y       |”);

     Console.WriteLine(“————————–“);

Saya menuliskan table header jawaban seperti itu agar terlihat lebih rapi. Kemudian saya menuliskan rumus parabola pada c# sebagai berikut

x = v0 * Math.Cos(a) * t;

y = v0 * Math.Sin(a) * t – 0.5 * g * t * t;

 

Console.WriteLine(   + t + “\t|” + Math.Round(x,2) + “\t|”+ Math.Round(y,2));

Math.Round(x,2) ini untuk menampilkan 2 angka decimal dibelakang koma maka saya menuliskan x,2 untuk variable x dan y,2 untuk variable y.

while (y >= 0)

            {

                t = t + 0.5;

                x = v0 * Math.Cos(a) * t;

                y = v0 * Math.Sin(a) * t – 0.5 * g * t * t;

 

                if (y > 0)

                {

            Console.WriteLine(    + t + “\t|” + Math.Round(x,2) + “\t|”+ Math.Round(y,2));

              

 

                }

            }

Pada tahap akhir, saya menggunakan perintah while untuk melakukan perulangan sampai batas ketinggian yang ditentukan. Kode tersebut saya gunakan hanya untuk menampilkan ketinggian yang lebih dari 0, karena jika diteruskan hingga jarak maksimal (25) maka ketinggian mendapat hasil negatif (-).

                Sekian artikel yang dapat saya berikan, mohon maaf bila ada kesalahan.

Wassalamualaikum wr.wb

 

Leave a Reply