Ahmad Dahlan God does not play dice with the Cosmos.

Praktikum Program Menghitung Jangkauan Peluru Meriam Dari Sebuah Gedung dalam Bahasa C

1 min read

Sebuah peluru yang ditembakkan dari sebuah meriam atau senjata, maka peluru akan mulai bergerak ke depan dengan lintasan membentuk parabola terbalik. Hal ini disebabkan oleh gaya tarik gravitasi yang membu peluru begerak dengan kecepatan lurus berubah beraturan pada sumbu y.

Jangkauan Peluru Meriam

A. Tujuan Percobaan

  1. Mengetahuan jangakuan meriam yang ditembakkan dari atas sebuah gedung berdasarkan kecepatan dan sudut awal tembakan.

B. Landasan Teori

Misalkan sebuah meriam diletakkan di atas sebuah gedung dengan ketinggian 100 m. Dari ketinggian ini, peluru memiliki dua skenario tembakan, yakni ketika memiliki sudut lebih tinggi dari horison meriam dan lebih rendah dari meriam.

Ilustrasi Gerak Peluru pada Meriam yang ditemabkkan di atas Gedung

1. Setengah Parabola

Skenario pertama jika meriam ditembakan dengan sudut di bawah horison maka peluru akan membentuk gerak setengah parabola.

t =\frac{v_{0y}^2+2gh-v_{0y}}{g}

Jangkauan meriam yang ditambakkan pada posisi ini dapat ditentukan dengan persamaan :

R = v_x.t

dimana

v_x= v_o \sin \theta 

Dimana nilai dari t ditentukan oleh gerak peluruh ke arah sumbuh y tepat mencapai permukaan tanah. Nilai t dapat dihitung dengan persamaan

v_y^2=v_{0y}^2+2gh

dimana

v_y=v_0+gt

maka t adalah:

t=\frac{v_y-v_{0y}}{g}

Setelah memperoleh t, kita bisa dapatkan nilai R dengan memeasukkan ke persaman R = vxt

R = v_0 \sin \theta \frac{v_0 \cos^2 \theta+2gh-v_0 \cos \theta}{g}

C. Contoh Code

#include <stdio.h>
#include <math.h>

#define GRAVITY 9.8

float calculateDistance(float initialVelocity, float launchAngle, float height)
{
    float horizontalDistance, verticalDistance;
    float timeOfFlight;

    // Sudut tembakan lebih rendah dari horison
    if (launchAngle < 0)
    {
        timeOfFlight = (-2 * initialVelocity * sin(launchAngle)) / GRAVITY;
        horizontalDistance = initialVelocity * cos(launchAngle) * timeOfFlight;
        verticalDistance = initialVelocity * sin(launchAngle) * timeOfFlight + (0.5 * GRAVITY * pow(timeOfFlight, 2));
    }
    // Sudut tembakan di atas horison (gerak parabola)
    else
    {
        timeOfFlight = (2 * initialVelocity * sin(launchAngle)) / GRAVITY;
        horizontalDistance = initialVelocity * cos(launchAngle) * timeOfFlight;
        verticalDistance = initialVelocity * sin(launchAngle) * timeOfFlight;
    }

    float adjustedHeight = height + verticalDistance;

    return sqrt(pow(horizontalDistance, 2) + pow(adjustedHeight, 2));
}

int main()
{
    float initialVelocity, launchAngle, height, distance;

    printf("Masukkan kecepatan awal (m/s): ");
    scanf("%f", &initialVelocity);

    printf("Masukkan sudut lemparan (derajat): ");
    scanf("%f", &launchAngle);

    printf("Masukkan ketinggian gedung (m): ");
    scanf("%f", &height);

    // Mengkonversi sudut dari derajat menjadi radian
    launchAngle = launchAngle * M_PI / 180;

    distance = calculateDistance(initialVelocity, launchAngle, height);

    printf("Jarak tempuh tembakan: %.2f meter\n", distance);

    return 0;
}
Ahmad Dahlan God does not play dice with the Cosmos.

Contoh Penggunaan Array Pada Bahasa C -Persamaan Linier dengan 3…

Berikut ini contoh penggunaan Array pada Bahasa C untuk asus permsaaa Linier 3 Variabel. Penggunaan Array Pada Bahasa C Misalkan terdapat tiga buah persamaan...
Ahmad Dahlan
2 min read

Tinggalkan Balasan