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.

Program Menghitung Ketinggan Maksimal Gerak Vertikal Ke Atas dengan Bahasa…

Program menghitung ketinggian maksimal digunakan untuk mengetahui ketinggian benda yang dilempar ke atas dengan kecepatan awal tertentu. Program ini dirancang dengan asumsi hambatan udara...
Ahmad Dahlan
32 sec read

Program Menghitung Ketinggian Gerak Jatuh Bebas dengan Bahasa C dan…

Program menghitung ketinggian gedung atau kedalaman lubang dapat ditaksir dengan menggunakan Gerak Jatuh Bebas. Gerak ini adalah gerak dengan percepatan konstan yang nilainya sama...
Ahmad Dahlan
28 sec read

Tinggalkan Balasan