Kategori: Pemrograman

  • Praktikum Pembuatan Program Gerak Parabola dalam Bahasa C

    Praktikum Pembuatan Program Gerak Parabola dalam Bahasa C

    Program Gerak Parabola dalam Bahasa C digunakan untuk menghitung besaran-besaran fisis pada gerak parabola. Beberapa variabel-variable yang terkait pada gerak parabola seperti:

    1. Jangkauan Peluru (x)
    2. Ketinggian Maksimum (h)
    3. Waktu Maksimum (s)

    Praktikum Program Gerak Parabola

    A. Tujuan Praktikum

    1. Membuat program menghitung waktu tempuh maksimum pada gerak parabola
    2. Membuat program menghitung ketinggian maksimum
    3. Membuat program menghitng jangkauan gerak peluru

    B. Landasan Teori

    Seorang pemain bola menendang bola menuju gawang secara naluri akan mengarahkan bola pada sudut tertentu. Tujuannya agar bola mencapai tujuan (gawang) dan terjadi gol. Selain gol (jarak) dalam permainan bola ada lawan yang harus dilewati oleh bolah agar tidak terhalangi oleh pemain lawan. Hal ini bisa dilakukan mengarahkan bola pada ketinggian yang lebih dari pemain lawan.

    Ilustrasi Gerak Parabola pada permainan Bola

    Dalam kajian fisika, Bola ini akan mengalami gerak parabola jika ditendang pada sudut (α) dan arah tertentu. Bola ini selanjutnya akan mengalami gerak yang bisa dianalisis secara terpisah berdasarkan sumbu x (jarak) dan sumbu y (tinggi).

    Hal serupa juga terjadi pada peluru yang ditembakkan pada sudut tertentu. Peluru akan mengalami gerak gabungan dengan lintasan menyerupai parabola terbalik. Hal ini membuat gerak ini disebut sebagai gerak parabola, namun dalam bahasa inggris gerak ini disebut sebagai gerak peluru (Projectile Motion)

    Analisis Gerak Peluru

    1. Waktu Tempu

    Ketika sebuah peluru ditembakkan dengan sudut tertentu maka gerak benda akan mengalami gerak peluru. Gerak ini jika diproyeksikan ke arah sumbu y maka peluru bergerak lurus berubah beraturan diperlambat, setelah mencapai puncak tepat pada saat kecepatan 0 ke arah y maka peluru akan mulai jatuh dengan gerak jatuh bebas.

    Berdasarkan hukum kekekalan energi, waktu yang dihabiskan peluru naik akan sama dengan waktu yang turun. Waktu naik ini dapat dihitung dengan persamaan:

    v_{y \ maks} = v_{0y}-gt

    masukkan nilai v0y = v0 sin α, dan nilai vy maks = 0 maka

    0 = v_0 \sin α - gt

    dengan demikian waktu yang dibutuhkan untuk naik adalah:

    t=\frac{v_0 \sin α}{g}

    dengan demikian waktu yang dibutuhkan peluru naik sampai turun sama dua kali waktu saat naik maka

    t=\frac{2\ v_0 \sin α}{g}

    2. Ketinggian maksimum

    Ketinggian maksimum di capai benda dengan persamaan GLBB yakni

    v_{y \ maks}^2=v_{0y}^2-2gh_{maks}

    masukkan nilai vy maks = 0 dan v0y = v0 sin α maka hasilnya sebagai berikut

    0=v_0^2 \sin^2 α-2gh_{maks}

    ketinggian maksimum adalah =

    h_{maks}=\frac{v_0^2 \sin^2 α}{2g}

    3. Gerak Sumbu X

    Pada sumbu x, peluru bergerak dengan gerak lurus beraturan (GLB) dengan demiki jarak tempuhnya adalah:

    x=v_{0x}t

    masukan nilai v0x = v0 cos α dan nilai t

    x=(v_0 \cos α)( \frac{2\ v_0 \sin α}{g})

    C. Sampel Code Praktikum

    Program Gerak Parabola sederhana dengan bahasa C memiliki input

    1. Kecepatan awal
    2. Sudut tembak
    3. Percepatan Gravitasi (Optional)

    Output yang diharapkan adalah :

    1. Lama terbang
    2. Ketinggingan Maksimum
    3. Jarak Maksimum.
    #include <stdio.h>
    #include <math.h>
    
    int main() {
        float v, g, theta, t_max, h_max, x;
        
        // Input data
        printf("Masukkan kecepatan awal (m/s): ");
        scanf("%f", &v);
        printf("Masukkan sudut lemparan (derajat): ");
        scanf("%f", &theta);
        printf("Masukkan percepatan gravitasi (m/s^2): ");
        scanf("%f", &g);
        
        // Mengubah sudut dari derajat ke radian
        theta = theta * M_PI / 180;
        
        // Menghitung waktu maksimum
        t_max = 2 * v * sin(theta) / g;
        
        // Menghitung ketinggian maksimum
        h_max = pow(v, 2) * pow(sin(theta), 2) / (2 * g);
        
        // Menghitung jarak horizontal
        x = v * cos(theta) * t_max;
        
        // Output hasil
        printf("\nWaktu maksimum: %.2f s\n", t_max);
        printf("Ketinggian maksimum: %.2f m\n", h_max);
        printf("Jarak horizontal: %.2f m\n", x);
        
        return 0;
    }
  • Contoh Program Menghitung Gerak Parabola

    Berikut ini adalah contoh gerak Parabola dengan bahasa C.

    #include <stdio.h>
    #include <math.h>
    
    int main() {
        float v, g, theta, t_max, h_max, x;
        
        // Input data
        printf("Masukkan kecepatan awal (m/s): ");
        scanf("%f", &v);
        printf("Masukkan sudut lemparan (derajat): ");
        scanf("%f", &theta);
        printf("Masukkan percepatan gravitasi (m/s^2): ");
        scanf("%f", &g);
        
        // Mengubah sudut dari derajat ke radian
        theta = theta * M_PI / 180;
        
        // Menghitung waktu maksimum
        t_max = 2 * v * sin(theta) / g;
        
        // Menghitung ketinggian maksimum
        h_max = pow(v, 2) * pow(sin(theta), 2) / (2 * g);
        
        // Menghitung jarak horizontal
        x = v * cos(theta) * t_max;
        
        // Output hasil
        printf("\nWaktu maksimum: %.2f s\n", t_max);
        printf("Ketinggian maksimum: %.2f m\n", h_max);
        printf("Jarak horizontal: %.2f m\n", x);
        
        return 0;
    }
  • Bahasa Pemrograman – Pengertian, Level dan Jenis

    Bahasa Pemrograman – Pengertian, Level dan Jenis

    Bahasa Pemrograman merupakan sebuah sistem dengan notasi terkait dengan penulisan code pada program komputer. Kebanyakan bahasa pemrograman dituliskan dalam bentuk test-based, namun beberapa aplikasi memungkinan penggunaan graphics.

    Bahasa Pemrograman

    Secara umum, Bahasa memiliki peran mengkomunikasikan informasi atau perintah. Bahasa juga memiliki bentuk spesifik berdasarkan Negara bahkan sampai pada level suku. Analog dengan penggunaan Bahasa Pemrograman digunakan mengkomunikasikan ide, informasi dan perintah kepada komputer.

    Dalam istilah teknis, Bahasa pemrograman adalah bahasa komputer dalam bentuk code-code yang digunakan oleh programer untuk mengembangkan sebuah program. Bahasa Pemrograman juga disebut sebagai seperangkat instruksi yang ditulis dalam bahasa spesifik seperti C, Pascal, C++, PHP, Java, Python dan sebagainya.

    Pemrograman digunakan untuk melakukan sejumlah tugas (task) melalui proses komputasi. Pada umumnya pemrograman digunakan untuk mengembangkan aplikasi komputer desktop, website dan aplikasi smart device lain seperti smartphone, sensor dan sejenisnya.

    Bahasa pemrograman terdiri dari banyak jenis dan setiap jenis memiliki level yang berbeda.

    A. Bahasa Tingkat Rendah (Low Level Programming)

    Bahasa pemrograman tingkat rendah adalah bahasa yang memiliki ketergantungan pada mesin yang digunakan. Program yang ditulis dengan bahasa pemrograman tingkat rendah dapat bekerja langsung pada kebanyakan prosesor komputer tanpa compiler dan interpreter khusus.

    Program bahasa tingkat rendah terbagi ke dalam dua jenis yakni

    1. Machine Language

    Machine Language (Bahasa Mesin) juga disebut sebagai Machine Code atau Object Code. Mesin dalam kasus ini adalah proses komputasi dasar yang bekerja berdasarkan sistem binary (I0). Beberapa Machine Language juga bisa menginterpretasikan kode Hexadecimal (base 16). Bahasa Mesin ini bisa langsung dipahami tanpa translator karena sudah memiliki standar yang sama dengan komputer. Hal ini membuat bahasa ini disebut sebagai bahasa mesin.

    Machine language ini dapat dieksekusi sangat cepat dan ringan.

    2. Assembly Language

    ASM atau Assembly Language merupakan bahasa pemrograman yang secara khusus didesain untuk jenis-jenis prosesor tertentu. Misalnya ASM Language yang digunakan untuk prosesor AMD berbeda dengan Apple Silicon. ASM sudah menggunakan instruksi dalam bentuk simbol dan beberapa bahasa yang sudah dapat dimengerti manusia secara umum.

    ASM dapat berjalan dengan interpreter yang disebut assembler yang sudah disetting di dalam prosesor itu sendiri. Assembly Language ini dikembangkan menjadi Arsitek komputer.

    B. Bahasa Tingkat Tinggi (High Level Language)

    High-Level programming language atau HLL adalah bahasa program yang dikembangkan menggunakan compiler dan inverter khusus yang memiliki library yang besar. Library ini digunakan untuk membuat bahasa program lebih mudah dipahami karena sudah memasukkan bahasa yang mudah dipahami.

    Beberapa HLL juga sudah mengembangkan Kit yang dapat membantu proses penyusunan program misalnya Java Development Kit (JDK) untuk JAVA atau Anaconda untuk Python. Tujuan utama dari HLL adalah memudahkan penulisan, pembacaan dan pengembangan program.

    Beberapa jenis Bahasa Pemrograman tingkat tinggi ini misalnya Python, Java, JavaScript, PHP, C#, C++. Objective C, Perl, Pascal, R, dan sejenisnya. HLL ini dibagi ke dalam tiga kelompok bahasa program yakni:

    1. Procedural Oriented programming language

    POP atau Procedural Oriented Programming Language adalah bahasa pemrograman yang diturunkan dari Pemrograman Terstruktur yang didasari oleh Procedural Call Concept. Program disusun ke dalam beberapa prosedur pendek yang disebut Routines atau Functions.

    POP Language dapat disusun dan dieksekusi dengan Editor dalam bentuk Software Programmer seperti IDE, Adobe Dreamweaver, or Microsoft Visual Studio. Contoh bahasa Program ini seperti C, FORTRAN, Basic, Pascal, dan sejenisnya.

    Contoh program Hello World di Bahasa C

    2. Object-Oriented Programming language

    OOP atau Object-Oriented Programming language adalah bahasa pemrograman berbasis Objects. Program dalam bahasa ini disusun dalam bagian-bagian kecil yang disebut Objects. Object dalam pemrograman ini bertujuan untuk memudahkan penyusunan program sehingga dapat digunakan kembali atau malah digunakan oleh orang lain yang menggunakan bahasa Pemrograman sama.

    Keunggulan dari OPP ini digunakan oleh banyak orang sehingga perkembangan sangat cepat. Hasilnya lingkungan ini membuat banyak software yang adaptasi bahasa ini sehingga mudah untuk dieksekusi, debug dan dimodifikasi. Jenis bahasa OOP ini seperti C++, Java, Python, C#, dan sejenisnya.

    Contoh Program Hello World dengan C++

    3. Natural Language

    Dinamakan Natural Language karena bahasa ini disusun sama dengan bahasa manusia pada umumnya seperti bahasa Inggris, German, Jepang bahkan ada yang mengembangkan dalam tulisan berhuruf Jawa. Bahasa Natural ini ini memudahkan Machine learning untuk memahami, memanipulasi dan menginterpretasi bahasa Manusia.

    Contoh lain penggunaan bahasa ini seperti Program Translasi, Auto Generated Summary atay automatic summarization. Google juga menggunakan Duplex untuk memahami dan merespon bahasa Manusia.

    Bahasa Pemrograman Language

    C. Bahasa Program Populer

    Bahasa Pemrograman dan Software untuk produksi maupun Pemrograman sangat bergantung dengan popularitas. Popularitas sebuah bahasa Program akan membuat banyak orang yang ikut mengembangkan bahasa tersebut. Programmer juga akan banyak membuat aplikasi dari bahasa tersebut sehingga akan ada banyak tutorial yang tersedia untuk menyelesaikan masalah yang mungkin ditemukan pada saat menyusun Program.

    Beberapa Bahasa Pemrograman yang populer seperti

    1. Python
    2. Java
    3. C
    4. C++
    5. C#
    6. JavaScript
    7. R
    8. PHP
    9. Go
    10. Ruby
  • Algoritma Pemrograman dan Fisika Komputasi

    Algoritma Pemrograman dan Fisika Komputasi

    Icon HTML

    HTML

    Icon Bahasa Pemograman C

    Bahasa C

    Matlab

    Phyton

    A. Algoritma dan Pemograman

    1. Ruang Lingkup Algoritma dan Pemrograman.
    2. Teknik Penyajian Algortima : Pseudocode dan Flowchart
    3. Dasar Pemograman : Tipe Data, Variabel dan Operator
      1. Tipe data pada bahasa C
      2. Tipe data dan Variabel pada Matlab
      3. Tipe Data dan Variable Pada Phyton
    4. Pengulangan dengan Metode Iterasi : For to Do dan For Down To
    5. Struktur Pemograman : Sequence, Conditional dan Looping

    B. Analisa Numerik

    1. Akar-akar Persamaan Metode Bisection
    2. Akar-akar Persamaan Metode Newton-Rapshon
    3. Akar-akar Persaman Linier Metode Eliminasi Gauss
    4. Akar-akar Persaman Linier Metode Gaus-Jordan
    5. Akar-akar Persaman Linier Metode Gaus-Siedel
    6. Akar-akar Persaman Linier Gauss-Jacobi
    7. Interpolasi Metode Newton Forward
    8. Interpolasi Metode Newton Backward
    9. Interpolasi Metode Lagrange
    10. Analisis Numerik Diferensial Metode Newton Forward
    11. Analisis Numerik Diferensial Metode Newton Backward
    12. Analisis Numerik Diferensial Metode Lagrange
    13. Analisis Numeri Integral Metode Trapezoid
    14. Analisis Numeri Integral Metode Simpson 1/3
    15. Analisis Numeri Integral Metode Simpson 3/8
    16. Analisis Numeri Integral Metode Titik Tengah
    17. Analisis PDB Metode Euler
    18. Analisis PDB Metode Taylor
    19. Analisis PDB Metode Runge-Kutte

    C. Fisika Komputasi

    1. Pemodelan Peluruhan Zat Radioaktif
    2. Pemodelan Bertumbuhan Bakteri
    3. Pemodelan Gerak Peluru
    4. Pemodelan GHS Metode Eular
    5. Pemodelan GHS Metode Euler-Chromer
    6. Pemodelan Pendulum Teredam Metode Euler-Chromer
    7. Pemodelan Hukum Kepler
    8. Pemodelan Orbit Bumi Metode Runnge-Kutte
    9. Pemodelan Getaran Tali Ujung Bebas
  • Peluruhan Zat Radioaktif dengan Simulasi Komputasi Matlab

    Peluruhan Zat Radioaktif dengan Simulasi Komputasi Matlab

    Berikut ini adalah contoh Simulasi Program Komputasi dengan Matlab untuk menghitung jumlah sisa Zat Radiokatif yang Meluruh.

    A. Contoh Kasus Peluruhan Zat Radiokatif

    Misalkan sebuah zat Radioaktif (X) melakukan peluruhan sehingga mengalami perubahan jumlah awal 1000 atom dengan waktu paruh 4,4 x 109 s. Buatlah sebuah program yang menunjukkan jumlah atom yang tersisa terhadap selang waktu!

    1. Solusi Analitik

    Untuk menghitung jumlah zat sisa dari atom yang meluruh maka digunakan model Persamaan diferensial pertumbuhan exponesial yakni

    \frac{dN}{dt}=-λN

    dengan solusi persamaaan

    N = N_0e^{-λt}

    dimana :

    N: Jumlah zat tersisah
    N0: Jumlah zat mula-mula
    -λ: paruh waktu
    t: Interval waktu

    2. Solusi Pemrograman

    % Latihan program Peluruhan Zat Radiokatif
    % Solusi dengan Persamaan Diferensial Pertumbuhan Exponensial
    
    N_awal = 1000;
    npoints = 100%
    Lamda = 4.4e9;
    dt = 1e7;
    
    N_zatradiokatif = zeros(npoints,1);
    time = zeros(npoints,1); 
    
    N_zatradiokatif(1) = N_awal; 
    time(1) = 0;
    
    for step = 1:npoints-1 
      N_zatradiokatif(step+1) = N_zatradiokatif(step)-  
      (N_zatradiokatif(step)/Lamda)*dt;
      time(step+1) = time(step) + dt;
    end
    
    t=0:1e8:10e9;
    N_analytical=N_awal*exp(-t/Lamda);
    plot(time,N_zatradiokatif,'r',t,N_analytical,'b'); 
    xlabel('waktu dalam tahun')
    ylabel('Jumlah Molekul')

    Hasil dari program akan berbentuk grafik seperti yang ada pada perintah terkahir. Hasilnya akan seperti berikut :

    Grafik Peluruhan Zat RAdiokatif dengan Matlab
  • RPS Mata Kuliah Algoritma dan Pemrograman

    RPS Mata Kuliah Algoritma dan Pemrograman

    A. Capaian Pembelajaran

    1. S9 – menunjukkan sikap bertanggungjawab atas pekerjaan di bidang keahliannya secara mandiri.
    2. KU1 – mampu menerapkan pemikiran  logis, kritis, sistematis, dan inovatif dalam konteks pengembangan atau implementasi ilmu pengetahuan dan teknologi yang  memperhatikan dan menerapkan nilai humaniora yang sesuai dengan bidang keahliannya.
    3. KK1 – Mampu merencanakan, melaksanakan, dan mengevaluasi pembelajaran fisika berbasis aktifitas belajar untuk mengembangkan kemampuan berfikir sesuai dengan karakteristik materi fisika, dan sikap ilmiahsesuai dengan karakteristik siswa pada pembelajaran kurikuler, kokurikuler dan ekstra kurikuler dengan memanfaatkan berbagai sumber belajar berbasis ilmu pengetahuan, teknologi yang kontekstual dan lingkungan sekitar.
    4. P7 – Menguasai matematika, komputasi, dan instrumentasi untuk mendukung pemahaman konsep fisika.

    1. CPMK

    1. Mahasiswa membangun algoritma dengan standar dan logika yang efektif
    2. Mahasiswa mampu merancang pemrograman untuk menyelesaikan permasalah sains dalam ruang lingkup fisika
    3. Mahasiswa mampu mengadaptasi konsep algortima dan pemograman melalui bahasa pemograman populer.
    4. Mahasiswa mampu bekerja sama dalam satu tim untuk membangun aplikasi yang terintegrasi dengan penerapan konsep pemrograman, serta mempresentasikan hasil karya rancangan.

    B. Deskripsi Mata Kuliah

    Mata Kuliah ini mempelajari tentang menyelesaikan masalah fisika dengan menggunakan konsep Alogoritma dan Pemograman meliputi kajian struktur dasar pemograman, struktur kontrol logika, fungsi, dan analisis data.

    C. Materi Kuliah

    1. Pertemuan I –
    2. Pertemuan II
    3. Pertemuan III
    4. Pertemuan IV
    5. Pertemuan V
    6. Pertemuan VI
    7. Pertemuan VII
    8. Mid Test
    9. Pertemuan VIII
    10. Pertemuan IX
    11. Pertemuan X
    12. Pertemuan XI
    13. Pertemuan XII
    14. Pertemuan XIII
    15. Pertemuan XIV
    16. Final Test

    Kasus Fisika

    Catatan:

    1. Mata kuliah Algoritma dan Pemrograman tidak terikat pada bahasa pemrograman tertentu namun untuk pengantar mata kuliah disarankan menggunakan bahasa populer seperti : C, C++, Phyton, PHP, Pascal dan Sejenisnya.
    2. Sebaiknya menghindari menggunakan Matlab dalam mempelajari Algoritma dan pemrograman karena Matlab adalah software yang menyederhana alur pemrograman namun terbatas pada software Matlab itu sendiri.