Tag: Bahasa C

  • Iterasi Dalam Bahasa C – Perulangan For

    Iterasi Dalam Bahasa C – Perulangan For

    Iterasi

    Iterasi dalam Pemrograman adalah pengulangan eksekusi dari serangkaian instruksi hingga kondisi yang dicapai. Secara sederhana program ini analog (1) Menghitung 1 sampai 10 atau (2) melafalkan perkalian n mulai dari 1 sampai 10. Iterasi dalam bahasa C menggunakan sintaks Fo.

    Iterasi dengan For

    Dalam bahasa C, iterasi dieksekusi dengan perintah for dengan sintaks

    for(i = n; i <= m; i++)

    dimana

    1. i = n; dimulai dari n
    2. i <=m; sampai dengan m
    3. i++ : model iterasi meningkat

    Contoh programnya sebagai berikut :

    #include <stdio.h>
    
    int main() {
    int i;
    
    for(i = 1; i <= 10; i++)
    
    {
    printf("%d\n", i);
    }
    
    return 0;
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    perhatikan sintaks

    printf("%d\n", i);

    sintaks ini meminta i langsung dituliskan. Jika sintaks ini sedikit dimodifikasi misalnya i diganti dengan 3*i, maka program akan mengeksekusi perkalian 3 mulai dari 1 sampai 10.

    #include <stdio.h>
    
    int main() {
    int i;
    
    for(i = 1; i <= 10; i++)
    
    {
    printf("%d\n", 3*i);
    }
    
    return 0;
    }

    3
    6
    9
    12
    15
    18
    21
    24
    27
    30

    nilai dari i dapat ditulis sebagai fungsi dari i misalkan i = (3*i)+3, dan sebagainya.

    Perulangan Mengecil

    Perulangan for tidak hanya digunakan untuk perhitungan maju namun bisajuga untuk perhitungan mundur. Perubahan dilakukan dari sintaks i++ menjadi i–. i– adalah sintaks untuk melakukan perhitungan mundur.

    Contoh kodenya sebagai berikut :

    #include <stdio.h>
    
    int main() {
    int i;
    
    for(i = 10; i >= 1; i--) 
    {
    printf("%d\n", i);
    }
    return 0;
    }

    10
    9
    8
    7
    6
    5
    4
    3
    2
    1

  • Program Menghitung Ketinggan Maksimal Gerak Vertikal Ke Atas dengan Bahasa C dan Phyton

    Program menghitung ketinggian maksimal digunakan untuk mengetahui ketinggian benda yang dilempar ke atas dengan kecepatan awal tertentu. Program ini dirancang dengan asumsi hambatan udara diabaikan.

    Ketinggan Maksimal

    Ketika sebuah benda dilemparkan dengan kecepatan tertentu (v0) ke atas, maka benda akan bergerak diperlambat ke arah atas. Sampai pada saat kecepatan ke arah atas habis atau vt=0, maka benda akan berbalik arah ke bawah.

    Dengan demikian ketinggian maksimum dapat dihitung dengan persamaan

    v_t^2=v_0^2-2gh

    dimana vt=0, maka persamaan ini dapat ditulis

    v_0^2=2gh
    h=\frac{v_0^2}{2g}

    Persamaan ini diubah ke dalam bentuk Program dalam bahasa C.

    Program Ketinggian Maksimum dalam Bahasa C

    #include <stdio.h>
    int main() {
        float v_awal, bantu;
        printf("Kecepatan Awal: ");
        scanf("%f", &v_awal);
        bantu = v_awal*v_awal/19.6;
        printf("Ketinggian %.3f\n meter", bantu);
        return 0;
    }

    Program Ketinggian Maksimum dalam Bahasa Phyton

    num1 = float(input("Kecepatan awal: "))
    hasil = num1 * num1 / 19.6
    print("Ketinggian %.3f meter" % hasil)
  • Praktikum Program Menghitung Jangkauan Peluru Meriam Dari Sebuah Gedung dalam Bahasa C

    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;
    }