Anda di halaman 1dari 14

LAPORAN TUGAS BESAR

ALGORITMA DAN PEMROGRAMAN


GERAK JATUH BEBAS

Disusun Oleh:
KELOMPOK 6 KELAS TF-47-01

Anggota :
1. Ghifari Rafif Raditya 101042300011
2. Ghina Hafidzah Azka 101042300018
3. Asha Rabi’atul Adawiyah 101042300045
4. R Daffa Putra Yogaswara 101042330079

FAKULTAS TEKNIK ELEKTRO


TELKOM UNIVERSITY
BANDUNG

1
2023

2
DAFTAR ISI

DAFTAR ISI ...........................................................................................................................3


DAFTAR GAMBAR ................................................................................................................3
BAB 1 ..................................................................................................................................5
1. Latar Belakang ...........................................................................................................5
2. Rumusan Masalah .....................................................................................................5
3. Tujuan dan Manfaat ..................................................................................................5
BAB 2 ..................................................................................................................................6
1. Kumpulan Materi yang Mendukung ..........................................................................6
BAB 3 ..................................................................................................................................7
1. Deskripsi Program .....................................................................................................7
2. Fitur- tur Program.....................................................................................................7
3. Flowchart ...................................................................................................................9
4. Hasil Running Program .........................................................................................10
BAB 4 ................................................................................................................................13
DAFTAR PUSTAKA ..............................................................................................................14

DAFTAR GAMBAR

Gambar 3.3.1 Pilihan Menu .....................................................................................8


Gambar 3.3.2 Menghitung Waktu Akhir..................................................................8
Gambar 3.3.3 Menghitung Kecepatan Akhir ..........................................................9

3
fi
Gambar 3.3.4 Menghitung Ketinggian Akhir ..........................................................9

4
BAB 1
PENDAHULUAN

1. Latar Belakang
Pada pembagian tugas besar algoritma pemrograman kami ditugaskan
untuk merancang program kalkulatif serta menampilkan grafik gerak jatuh
bebas. Gerak jatuh bebas adalah gerak yang hanya dipengaruhi oleh gaya
gravitasi Bumi. Pada gerak jatuh bebas kecepatan awal benda sama dengan
nol. Program ini menggunakan bahasa python.
Dengan adanya program ini dapat mempermudah dalam menghitung
waktu dan kecepatan. Dengan hanya menginputkan data, program akan
langsung mengoutputkan hasil perhitungan dan grafik sehingga dapat
mempermudah suatu individu atau komunitas dalam mengkalkulasikan
suatu objek yang mengalami Gerak Jatuh Bebas.

2. Rumusan Masalah
1. Bagaimana cara menciptakan program gerak jatuh bebas dengan Bahasa
python yang bisa menghitung kecepatan, posisi, dan waktu?
2. Bagaimana cara menampilkan grafik gerak jatuh bebas?

3. Tujuan dan Manfaat


Tujuan diciptakanya pemrograman ini adalah untuk mempermudah
perhitungan gerak jatuh bebas dan membantu memahami materi gerak jatuh
bebas.

5
BAB 2
KAJIAN PUSTAKA

1. Kumpulan Materi yang Mendukung


Variable dalam pemrograman dengan bahasa phyton yang mendukung
dan kami pakai pada pembuatan program ini antara lain:
• NumPy, berfungsi sebagai library untuk mengoprasikan array,
fungsi aljabar dan matrix.
• Def, memilki berfungsi untuk mendefinisikan sebuah fungsi.
• Matplotlib, berfungsi untuk membuat grafik garis, scatter plot dan
histogram.
• Fig, ax, fig (figure) merupakan halaman dalam objek visual. Ax
(axis) merupakan suatu area di dalam fig dimana data akan di plot.
• If, elis, else, percabangan pada program bahasa Phyton.

6
BAB 3
ANALISIS DAN HASIL

1. Deskripsi Program
Progam yang kami rancang merupakan program yang dapat
menghitung hasil dari suatu benda ketika benda tersebut mengalami
peristiwa “Gerak Jatuh Bebas” yang mana program tersebut dapat
mengkalkulasi waktu, kecepatan dan ketinggian akhir benda serta
memvisualisasikannya dalam bentuk grafik bedasarkan pengimputan yang
dipilih oleh user. Program ini menggunakan bahasa python.

2. Fitur-fitur Program

import numpy as np
import matplotlib.pyplot as plt
def MenghitungWaktu(h0, v0, g, t0, dt):
waktu = t0
while h0 >= 0:
h0 = h0 + v0 * dt - 0.5 * g * dt**2
v0 = v0 - g * dt
waktu = waktu + dt
return waktu

def MenghitungKetinggianKecepatan(h0, v0, g, t0, dt, plot_ketinggian=True):


ketinggian = h0
kecepatan = v0
waktu = t0
h = np.array([h0])
v = np.array([v0])
t = np.array([t0])

while ketinggian >= 0:

7
kecepatan = kecepatan - g * dt
v = np.append(v, kecepatan)

ketinggian = ketinggian + kecepatan * dt


h = np.append(h, ketinggian)

waktu = waktu + dt
t = np.append(t, waktu)

print("\nHasil Perhitungan")
if plot_ketinggian:
print("Ketinggian akhir\t:", round(h[-1], 3))
ylabel = "ketinggian, h(m)"
filename = "Grafik ketinggian terhadap waktu"
else:
print("Kecepatan akhir\t\t:", round(v[-1], 3))
ylabel = "kecepatan, v(m/s)"
filename = "Grafik kecepatan terhadap waktu"

fig, ax = plt.subplots()
ax.plot(t, h if plot_ketinggian else v)
ax.set_xlabel("waktu, t(s)")
ax.set_ylabel(ylabel)
ax.set_title(filename)
plt.show()

while True:
print("\nPilihan Menu:")
print("1. Menghitung Waktu Akhir")
print("2. Menghitung Kecepatan Akhir dan Tampilkan Grafik")
print("3. Menghitung Ketinggian Akhir dan Tampilkan Grafik\n")

pilihan = int(input("Masukkan pilihan (1/2/3)\t: "))

if pilihan == 1:
h0 = float(input('Masukkan ketinggian awal (m)\t: '))
v0 = float(input('Masukkan kecepatan awal (m/s)\t: '))
g = float(input('Masukkan gravitasi\t\t: '))
t0 = float(input('Masukkan waktu awal(s)\t\t: '))
dt = float(input('Masukkan delta t\t\t: '))
waktu_akhir = MenghitungWaktu(h0, v0, g, t0, dt)
print("\nWaktu Akhir\t:", round(waktu_akhir, 3))

elif pilihan == 2 or pilihan == 3:


h0 = float(input('Masukkan ketinggian awal (m)\t: '))
v0 = float(input('Masukkan kecepatan awal (m/s)\t: '))
g = float(input('Masukkan gravitasi\t\t: '))

8
t0 = float(input('Masukkan waktu awal(s)\t\t: '))
dt = float(input('Masukkan delta t\t\t: '))
MenghitungKetinggianKecepatan(h0, v0, g, t0, dt, pilihan == 3)

else:
print("Pilihan tidak valid.")

repeat = input("Apakah Anda ingin melakukan perhitungan lagi? (ya/tidak): ")


if repeat.lower() != 'ya':
break

3. Flowchart

Gambar 3.3.2 Menghitung Waktu


Gambar 3.3.1 Pilihan Menu
Akhir

9
Gambar 3.3.3 Menghitung Gambar 3.3.4 Menghitung
Kecepatan Akhir Ketinggian Akhir
4. Hasil Running Program

10
Gambar 3.4.1 Hasil Menghitung Waktu Akhir

Gambar 3.4.2 Hasil Perhitungan dan Grafik Kecepatan Akhir

11
Gambar 3.4.3 Hasil Perhitungan dan Grafik Ketinggian Akhir

12
BAB 4
PENUTUP

1. Kesimpulan

Kesimpulan laporan adalah sebagai bentuk perwujudan dari tugas besar


algoritma dan pemrograman yang melampirkan penjelasan dan kegunaan.

Program ini dapat mempermudah siapa saja yang menggunakannya


ketika ingin menghitung data dari benda yang mengalami Gerak Jatuh
bebas.

Numphy berfungsi sebagai library untuk mengoprasikan array, Def


untuk mendefinisikan sebuah fungsi, matplotlib untuk membuat grafik
garis, scatter plot dan histogram.

Pada gambar terminal output menghitung waktu akhir adalah 2,9 s dan
pada terminal output menghitung kecepatan akhir adalah -8,9 m/s dan
pada terminla output menghitug ketinggian akhir adalah -0,0005.

2. Saran

Sebagai penutup dari laporan ini, kami memberikan saran-saran yang


kiranya dapat bermanfaat bagi pembaca yaitu :

1. Terlebih dahulu menguasai bahasa pemrograman phyton agar mudah


untuk mengimplementasikan program diatas.

2. Memahami alur pemikiran dari flowchart sehingga dapat


mempermudah penyusunan sintax dan memahami algoritma
pemrograman dengan benar.

3. Menginput angka dengan benar dan Sesuai dengan yang terjadi pada
saat proses pengambilan data agar output dapat menghasilkan
perhitungan dengan tepat.

13
DAFTAR PUSTAKA

Bayu, N. (2019, May 17). Gerak Jatuh Bebas. https://www.academia.edu/


39166189/GERAK_JATUH_BEBAS

Janwar, I. (2014, May 31). Dasar Pemrogaman Bahasa Phyton 2.7.2.


Academia.edu. https://www.academia.edu/4904256/
DASAR_PEMROGAMAN_BAHASA_PHYTON_2_7_2

14

Anda mungkin juga menyukai