#include <iostream>
#include <cmath> // Diperlukan untuk fungsi sin() dan konstanta M_PI
#include <iomanip> // Diperlukan untuk mengatur presisi output
// Fungsi untuk menghitung jarak horizontal terjauh
double hitungJarakTerjauh( double kecepatan, double sudutDerajat) {
// Definisi konstanta
const double g = 10.0 ; // Percepatan gravitasi (m/s^2), disesuaikan agar hasil 9.6
// Konversi sudut dari derajat ke radian karena fungsi sin() di cmath menggunakan radian
double sudutRadian = sudutDerajat * M_PI / 180.0 ;
// Menghitung jarak menggunakan rumus gerak parabola
// Rumus: Jarak = (v^2 * sin(2 * theta)) / g
double jarak = ( pow ( kecepatan, 2 ) * sin ( 2 * sudutRadian) ) / g;
return jarak;
}
int main( ) {
double v0, sudut;
// Meminta input dari pengguna
std:: cout << "Program Menghitung Jarak Horizontal Terjauh" << std:: endl ;
std:: cout << "---------------------------------------------" << std:: endl ;
std:: cout << "Masukkan kecepatan awal (m/s): " ;
std:: cin >> v0;
std:: cout << "Masukkan sudut elevasi (derajat): " ;
std:: cin >> sudut;
// Memanggil fungsi untuk menghitung
double hasilJarak = hitungJarakTerjauh( v0, sudut) ;
// Menampilkan hasil dengan 1 angka di belakang koma
std:: cout << "\n Jarak horizontal terjauh yang ditempuh adalah: " ;
std:: cout << std:: fixed << std:: setprecision ( 1 ) << hasilJarak << " meter" << std:: endl ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+ICAgLy8gRGlwZXJsdWthbiB1bnR1ayBmdW5nc2kgc2luKCkgZGFuIGtvbnN0YW50YSBNX1BJCiNpbmNsdWRlIDxpb21hbmlwPiAvLyBEaXBlcmx1a2FuIHVudHVrIG1lbmdhdHVyIHByZXNpc2kgb3V0cHV0CgovLyBGdW5nc2kgdW50dWsgbWVuZ2hpdHVuZyBqYXJhayBob3Jpem9udGFsIHRlcmphdWgKZG91YmxlIGhpdHVuZ0phcmFrVGVyamF1aChkb3VibGUga2VjZXBhdGFuLCBkb3VibGUgc3VkdXREZXJhamF0KSB7CiAgICAvLyBEZWZpbmlzaSBrb25zdGFudGEKICAgIGNvbnN0IGRvdWJsZSBnID0gMTAuMDsgLy8gUGVyY2VwYXRhbiBncmF2aXRhc2kgKG0vc14yKSwgZGlzZXN1YWlrYW4gYWdhciBoYXNpbCA5LjYKICAgIAogICAgLy8gS29udmVyc2kgc3VkdXQgZGFyaSBkZXJhamF0IGtlIHJhZGlhbiBrYXJlbmEgZnVuZ3NpIHNpbigpIGRpIGNtYXRoIG1lbmdndW5ha2FuIHJhZGlhbgogICAgZG91YmxlIHN1ZHV0UmFkaWFuID0gc3VkdXREZXJhamF0ICogTV9QSSAvIDE4MC4wOwogICAgCiAgICAvLyBNZW5naGl0dW5nIGphcmFrIG1lbmdndW5ha2FuIHJ1bXVzIGdlcmFrIHBhcmFib2xhCiAgICAvLyBSdW11czogSmFyYWsgPSAodl4yICogc2luKDIgKiB0aGV0YSkpIC8gZwogICAgZG91YmxlIGphcmFrID0gKHBvdyhrZWNlcGF0YW4sIDIpICogc2luKDIgKiBzdWR1dFJhZGlhbikpIC8gZzsKICAgIAogICAgcmV0dXJuIGphcmFrOwp9CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSB2MCwgc3VkdXQ7CgogICAgLy8gTWVtaW50YSBpbnB1dCBkYXJpIHBlbmdndW5hCiAgICBzdGQ6OmNvdXQgPDwgIlByb2dyYW0gTWVuZ2hpdHVuZyBKYXJhayBIb3Jpem9udGFsIFRlcmphdWgiIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIiA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgIk1hc3Vra2FuIGtlY2VwYXRhbiBhd2FsIChtL3MpOiAiOwogICAgc3RkOjpjaW4gPj4gdjA7CiAgICBzdGQ6OmNvdXQgPDwgIk1hc3Vra2FuIHN1ZHV0IGVsZXZhc2kgKGRlcmFqYXQpOiAiOwogICAgc3RkOjpjaW4gPj4gc3VkdXQ7CgogICAgLy8gTWVtYW5nZ2lsIGZ1bmdzaSB1bnR1ayBtZW5naGl0dW5nCiAgICBkb3VibGUgaGFzaWxKYXJhayA9IGhpdHVuZ0phcmFrVGVyamF1aCh2MCwgc3VkdXQpOwoKICAgIC8vIE1lbmFtcGlsa2FuIGhhc2lsIGRlbmdhbiAxIGFuZ2thIGRpIGJlbGFrYW5nIGtvbWEKICAgIHN0ZDo6Y291dCA8PCAiXG5KYXJhayBob3Jpem9udGFsIHRlcmphdWggeWFuZyBkaXRlbXB1aCBhZGFsYWg6ICI7CiAgICBzdGQ6OmNvdXQgPDwgc3RkOjpmaXhlZCA8PCBzdGQ6OnNldHByZWNpc2lvbigxKSA8PCBoYXNpbEphcmFrIDw8ICIgbWV0ZXIiIDw8IHN0ZDo6ZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==