AP - 11
PROYEK
LABORATORIUM KOMPUTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN
2020
II. Latar Belakang
Sebagai seorang calon ilmuwan atau calon fisikawan di masa yang akan
datang, dimana sudah bisa diterawang bahwa masa depan akan identik dengan
kemajuan teknologi yang sangat pesat, apalagi di bidang komputerisasi, maka
sepatutnya seorang calon ilmuwan ini mendalami ilmu mengenai komputerisasi
dan juga yang paling penting adalah, penerapannya dalam konsep dan
penyelesaian kasus kasus fisika baik yang sederhana maupun yang sangat
kompleks.
Dengan hadirnya bahasa pemograman komputer, maka mudahlah bagi
seorang calon ilmuwan untuk mempelajari dan kedepannya yaitu untuk
mengaplikasikan bidang keilmuan fisikanya dalam sebuah hasil temuan fisika
yaitu sistem komputer. Dengan perkembangan jaman yang ada, makin
berkembanglah juga sistem komputer sehingga pengaplikasian dari konsep serta
model fisika dapat dilakukan lewat komputer dapat berkembang ke hal yang
lebih kompleks
Pada proyek ini kami akan mencoba untuk mengaplikasikan suatu konsep
fisika yang sangat dasar dan juga sederhana, namun tidak bisa dipungkiri bahwa
konsep ini merupakan dasar dari seluruh konsep yang ada di fisika, yaitu konsep
mekanika. Kita ketahui bahwa mekanika dibagi menjadi dua, yaitu Dinamika
dan juga kinematika, pada kesempatan kali ini kami akan mengaplikasikan
konsep kinematika, yaitu yang berlaku pada sistem bidang datar satu dimensi,
yaitu gerak lurus beraturan dan juga gerak lurus berubah beraturan. Penerapan
konsep fisika ini ke dalam program yang digunakan yaitu python, adalah berupa
kalkulator untuk menghitung seluruh aspek yang dapat ditemukan dari konsep
kinematika antara lain kecepatan, percepatan, posisi, jarak, serta waktu tempuh
dengan menggunakan beberapa operasi matematika sederhana dan menengah
yang dijalankan juga melewati program python sehingga hasil yang diperoleh
dari kalkulator ini dengan bantuan sistem komputer dapat menemukan hasil dari
suatu masalah dengan akurat.
III. Tujuan
Adapun tujuan dari perancangan proyek aplikasi konsep fisika dalam
program python antara lain:
A. Mampu untuk mengaplikasikan semua modul yang telah dipelajari
sebelumnya ke dalam program python yang terintegrasi
B. Mampu untuk menyusun sebuah program python yang dapat
menyelesaikan masalah dari sebuah konsep fisika.
III.1 Gerak
Dalam mekanika klasik kita dapat menjelaskan gerak dengan cara mengabaikan
penyebab atau yang membuat benda bergerak, dalam mekanika cara tersebut
disebut kinematika. Untuk dapat menjelaskan gerak maka diperlukan besaran-
besaran yang bekerja pada gerak tersebut sehingga dengan adanya besaran
tersebut suatu gerak dapat dideskripsikan seperti berapa kecepatannya, arah
geraknya hingga letaknya pada saat tertentu, dengan besaran-besaran pula kita
dapat menentukan kondisi benda tersebut di waktu selanjutnya.
Dalam fisika kita mengkategorikan jenis gerak menjadi tiga yaitu gerak translasi,
gerak rotasi, dan gerak getaran. Pada proyek ini kami mengkhususkan penjelasan
tentang gerak translasi. Gerak translasi merupakan gerak yang terjadi pada
bidang datar contohnya seperti kendaraan yang sedang bergerak di jalan. Dalam
proyek ini kami mensimulasikan gerak translasi pada ruang 1 dimensi yang
sederhana serta dalam gerak translasi suatu benda yang bergerak kita sebut
sebagai partikel dimana partikel ini dilambangkan sebagai titik, titik ini yang
akan menggantikan bentuk benda karena saat benda bergerak kita asumsikan
seluruh bagian dari benda tersebut memiliki kecepatan yang sama sehingga
tanpa mempedulikan ukuran dan bentuk benda tersebut dijadikan sebuah titik
yang menandakan letak benda.
III.2 Posisi
Dalam menjelaskan suatu gerak benda kita membutuhkan sumbu koordinat.
Dalam proyek ini karena kami menjelaskan gerak pada ruang 1 dimensi maka
yang digunakan adalah sumbu x saja pada koordinat.
Saat melokasikan suatu objek berarti mencari tahu posisinya relatif terhadap
suatu titik rujukan dalam artian kita harus menentukan posisi awalnya.
Umumnya posisi awal dideskripsikan sebagai titik asal yang ditandai angka 0
atau origin dari suatu sumbu.
Dari gambar tersebut dapat diketahui bahwa benda menempuh jarak sebesar 80
meter sedangkan benda hanya berpindah 20 meter sehingga untuk menentukan
perpindahan dapat diketahui dari :
∆𝑥 = 𝑥1 − 𝑥0
Dimana kita ketahui bahwa benda bergerak 50 meter ke kanan dan posisi akhir
benda bergerak ke kiri 30 meter sehingga perpindahan benda adalah 20 meter ke
kanan sedangkan jarak total yang ditempuh benda adalah 80 meter.
Jarak tentunya merupakan besaran skalar karena hanya memberikan nilai
sedangkan perpindahan adalah besaran skalar karena selain nilai juga memiliki
arah.
Cara yang biasa dipakai untuk melihat peribahan posisi terhadap waktu adalah
menggunakan grafik seperti yang kita lihat dari persamaan tersebut yang
menyerupai cara untuk menentukan gradien dari garis lurus, sehingga kita dapat
menunjukan seberapa cepat benda bergerak terhadap waktu dengan :
Sehingga dapat kita ketahui bahwa kecepatan rata-rata benda (𝑣̅ ) merupakan
gradien dari garis lurus tersebut yang artinya semakin besar sudut (α) yang
dibentuk maka benda semakin bergerak cepat.
Dari grafik tersebut dapat diketahui pada detik keempat kecepatan telah
bertambah menjadi 20 m/s.
Dalam situasi lain terkadang jumlah dari percepatan rata-rata berbeda dari
interval waktu, karena itu digunakan percepatan sesaat sebagai limi dari
percepatan rata-rata saat Δt mendekati 0 :
𝑑𝑣
𝑎=
𝑑𝑡
Dengan kata lain, percepatan sebuah partikel pada suatu saat adalah tingkat di
mana kecepatabbya berubah pada saat itu. Secara grafis, percepatan pada suatu
titik adalah kemiringan kurva v(t) pada titik tersebut.
Berdasarkan grafik, benda berpindah terhadap waktu tetapi pada grafik (a)
garis tidak memiliki gradien sehingga hanya terbentuk garis lurus yang
menandakan kecepatan yang konstan.
0
𝑎̅ = =0
∆𝑡
sebab itulah benda bergerak secara beraturan.
Terlihat bahwa perpindahan benda memiliki grafik yang berbeda dari GLB
dimana pada grafik ini perpindahan memiliki grafik yang melengkung yang
diakibatkan dari kecepatan yang bertambah sehingga semakin waktu
bertambah maka perpindahan semakin bertambah, sementara itu pada grafik
percepatan memiliki garis yang datar akibat dari percepatan yang konstan
namun mengakibatkan grafik kecepatan memiliki gradien.
Dengan menurunkan persamaan-persamaan sebelumnya, pada Gerak Lurus
Berubah Beraturan didapatkan persamaan-persamaan :
Persamaan Kuantitas yang Hilang
𝑣 = 𝑣0 + 𝑎𝑡 ∆𝑥
1 𝑣
𝑥 − 𝑥0 = 𝑣0 𝑡 + 𝑎𝑡 2
2
𝑣 2 = 𝑣0 2 + 2𝑎∆𝑥 𝑡
1 𝑎
𝑥 − 𝑥0 = 𝑣0 𝑡 + (𝑣0 + 𝑣)𝑡
2
1 𝑣0
𝑥 − 𝑥0 = 𝑣𝑡 − 𝑎𝑡 2
2
Ketika program dijalankan nantinya user akan langsung berada dalam main
menu (menu utama) yang di dalamnya disajikan tiga pilihan menu yang dapat
dipilih sesuai keinginan user dengan menginputkan nomor menu yang ingin
dipilih. Ketiga menu tersebut antara lain :
1. Kasus GLB
2. Kasus GLBB
3. Exit Program
User akan diminta untuk menginput pilihannya begitu pemaparan menu selesai
disajikan. Kemudian setelah user menginput pilihannya, maka program akan
bekerja untuk mendeteksi menu berapa yang dipilih user menggunakan fungsi
pengkondisian yaitu if. Untuk pilihan 1, kasus GLB maka di dalamnya user
akan kembali diminta untuk menginputkan pilihannya karena tersedia empat
pilihan di dalamnya, tiga pilihan di antaranya adalah untuk mencari nilai
kecepatan benda (v), jarak tempuh benda (s), dan waktu tempuh benda (t).
Sedangkan satu pilihan lagi ialah pilihan “0: back to main menu”, untuk kembali
ke menu utama yaitu menu sebelumnya.
Sama halnya apabila user memilih pilihan nomor 2, kasus GLBB maka di
dalamnya user juga akan diminta untuk menginput pilihan yang ada di dalam
menu kasus GLBB. Menu yang ada di antaranya yaitu untuk mencari nilai
perpindahan, kecepatan, percepatan, dan menu yang terakhir adalah pilihan
untuk kembali ke menu utama. Dimana untuk pilihan kecepatan dan percepatan
masing-masing di dalamnya, user akan diminta untuk memilih kembali menu
mencari nilai kecepatan akhir, nilai kecepatan rata-rata, dan nilai kecepatan
sesaat. Dan untuk menu percepatan akan tersedia menu untuk mencari nilai
percepatan rata-rata dan nilai percepatan sesaat.
Kami membuat agar program tidak tertutup atau selesai dengan sendirinya
begitu program selesai menjalankan perintah dari user. Namun, kami membuat
agar program otomatis kembali ke menu kasus yang telah dipilih (GLB atau
GLBB). Tujuannya adalah agar ketika user telah selesai mencari satu besaran
tertentu, kemudian ingin mencari besaran lainnya, user tidak perlu repot-repot
untuk start ulang program, yang mana menurut kami hal itu cukup merepotkan.
Selain itu, kami akan membuat satu-satunya cara untuk menghentikan atau
keluar dari program ini dengan memilih menu nomor 3: Exit, pada menu utama
program. Untuk membuat program bisa berjalan sesuai dengan rencana kami
tersebut, maka kami akan menggunakan fungsi rekursi dalam listing program.
V. Flowchart
START
OUTPUT : T
kasus yang 3 : Exit
dipilih (1/2)
Y
INPUT :
pilih perhitungan
besaran yang
tertera pada menu
kasus yang telah
dipilih
OUTPUT :
T Perhitungan
0: Main Menu
besaran yang
dipilih
Y
INPUT :
s, t, vawal, a, persamaan
v, persamaan r
(masukkan sesuai
besaran yang ingin
dicari)
PROSES :
Hitung rumus
OUTPUT
hasiil
END
VI. Program
VI.1 Listing
get_ipython().run_line_magic('matplotlib', 'notebook')
import matplotlib.pyplot as plt
import numpy as np
from sympy import *
def utama():
print('\n------------Main Menu------------')
print('1: Kasus GLB\n2: Kasus GLBB\n3: Exit')
pil = int(input('Masukkan Pilihan Anda : '))
if (pil == 1):
print('\n-----Anda memilih kasus GLB------
\nVariabel apa yang ingin anda cari')
return(menu1())
elif (pil == 2):
print('\n-----Anda memilih kasus GLBB-----
\nVariabel apa yang ingin anda cari')
return(menu2())
elif (pil == 3):
return('\n...Keluar Dari Program...\n')
else:
return('\nInput Yang Anda Masukkan Tidak Sesuai\n\n........S
ilahkan Ulangi Lagi........')
def menu1():
print('1: Kecepatan\n2: Perpindahan\n3: Waktu Tempuh\n0: Kembali
ke Menu Utama')
return(glb())
def menu2():
print('1: Kecepatan Awal\n2: Kecepatan Akhir\n3: Kec.Awal Jika D
iketahui Perpindahan\n4: Kec.Akhir Jika Diketahui Perpindahan\n5: Pe
rpindahan\n6: Percepatan\n7: Percepatan Jika Diketahui Perpindahan d
an Kecepatan Akhir\n8: Percepatan Jika Diketahui Perpindahan Saja\n9
: Waktu Tempuh Jika diketahui Perpindahan\n10: Waktu Tempuh Jika dik
etahui Percepatan\n11: Kecepatan Sesaat\n12: Percepatan Sesaat\n0: K
embali Ke Menu')
return(glbb())
def glb():
glb = int(input('Masukkan Pilihan Anda : '))
def grafik_glb(i,j,k):
x = np.linspace(0,int(i),int(i+1))
y = np.linspace(0,int(j),int(i+1))
plt.title('Kecepatan %f m/s' % k)
plt.xlabel('Waktu (s)')
plt.ylabel('Perpindahan (m)')
plt.legend('v')
plt.grid(True, which='both')
plt.plot(x,y)
plt.show()
def grafik_kh1(n,i,j,k):
if n == 0:
return grafik_glb(i,j,k)
else:
return menu1()
if glb == 1:
print('\n------------Kecepatan------------')
s = float(input('perpindahan yang diketahui (m) : '))
t = float(input('waktu tempuh yang diketahui (s) : '))
v = s/t
print('Besarnya kecepatan : %.2f m/s\n\n------------
Kasus GLB------------'%v)
elif glb == 2:
print('\n-----------Perpindahan-----------')
v = float(input('masukkan nilai kecepatan (m/s) : '))
t = float(input('waktu tempuh yang diketahui (s) : '))
s = v*t
print('Besarnya perpindahan : %.2f m\n\n------------
Kasus GLB------------'%s)
def glbb():
glbb = int(input('Masukkan Pilihan Anda : '))
def grafik_kecepatan(t,v0,vt,a):
x = np.linspace(0,int(t),int(t+1))
y = np.linspace(int(v0),int(vt),int(t+1))
plt.title('Percepatan %f m/s^2' % a)
plt.xlabel('Waktu (s)')
plt.ylabel('Kecepatan (m/s)')
plt.legend('v')
plt.grid(True, which='both')
plt.plot(x,y)
plt.show()
def grafik_kh2(n,i,j,k,l):
if n == 0:
return grafik_kecepatan(i,j,k,l)
else:
return menu2()
if glbb == 1:
print('\n------------Kecepatan Awal------------')
a = float(input('percepatan yang diketahui (m/s^2) : '))
t = float(input('waktu tempuh yang diketahui (s) : '))
vt = float(input('Kecepatan Akhir yang diketahui (m/s) : \n'
))
print('\n')
v0 = vt - (a*t)
print('Besarnya kecepatan Awal : %.2f m/s\n\n------------
Kasus GLBB------------'%v0)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 2:
print('\n-----------Kecepatan Akhir-----------')
a = float(input('percepatan yang diketahui (m/s^2) : '))
t = float(input('waktu tempuh yang diketahui (s) : '))
v0 = float(input('Kecepatan Awal yang diketahui (m/s) : \n')
)
print('\n')
vt = v0 + (a*t)
print('Besarnya kecepatan Akhir : %.2f m/s\n\n------------
Kasus GLBB------------'%vt)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 3:
print('\n----------Kec.Awal Jika Diketahui Perpindahan------
-----')
a = float(input('percepatan yang diketahui (m/s^2) : '))
t = float(input('waktu tempuh yang diketahui (s) : '))
vt = float(input('Kecepatan Akhir yang diketahui (m/s) : '))
s = float(input('perpindahan yang diketahui (m) : \n'))
print('\n')
v0 = (vt - (2*a*s) )**1/2
print('Besarnya Kecepatan Awal : %.2f m/s\n\n------------
Kasus GLBB------------'%v0)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 4:
print('\n----------Kec.Akhir Jika Diketahui Perpindahan-----
------')
a = float(input('percepatan yang diketahui (m/s^2) : '))
t = float(input('waktu tempuh yang diketahui (s) : '))
v0 = float(input('Kecepatan Awal yang diketahui (m/s) : '))
s = float(input('perpindahan yang diketahui (m) : \n'))
print('\n')
vt = (v0 + (2*a*s) )**1/2
print('Besarnya kecepatan Akhir : %.2f m/s\n\n------------
Kasus GLBB------------'%vt)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 5:
print('\n----------Perpindahan-----------')
a = float(input('percepatan yang diketahui (m/s^2) : '))
t = float(input('waktu tempuh yang diketahui (s) : '))
v0 = float(input('Kecepatan Awal yang diketahui (m/s) : \n')
)
print('\n')
s = (v0*t) + ((1/2)*a*(t**2))
vt = (v0 + (2*a*s) )**1/2
print('Besarnya Perpindahan : %.2f m\n\n------------
Kasus GLB------------'%s)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 6:
print('\n----------Percepatan-----------')
t = float(input('waktu tempuh yang diketahui (s) : '))
v0 = float(input('Kecepatan Awal yang diketahui (m/s) : '))
vt = float(input('Kecepatan Akhir yang diketahui (m/s) : '))
print('\n')
a = (vt-v0)/t
print('Besarnya Percepatan : %.2f m/s^2\n\n------------
Kasus GLBB------------'%a)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 7:
print('\n---------
- Percepatan Jika Diketahui Perpindahan dan Kecepatan Akhir---------
--')
v0 = float(input('Kecepatan Awal yang diketahui (m/s) : '))
vt = float(input('Kecepatan Akhir yang diketahui (m/s) : '))
s = float(input('Perpindahan yang diketahui (m) : '))
print('\n')
a = ((vt**2)-(v0**2))/(2*s)
t = (2*s)/(vt-v0)
print('Besarnya Percepatan : %.2f m/s^2\n\n------------
Kasus GLBB------------'%a)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 8:
print('\n---------
- Percepatan Jika Diketahui Perpindahan Saja-----------')
t = float(input('Waktu Tempuh yang Diketahui(s) : '))
v0 = float(input('Kecepatan Awal yang diketahui (m/s) : '))
s = float(input('Perpindahan yang diketahui (m) : '))
print('\n')
a = ((2*s) - (2*v0))/t
vt = (v0 + (2*a*s) )**1/2
print('Besarnya Percepatan : %.2f m/s^2\n\n------------
Kasus GLBB------------'%a)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
elif glbb == 9:
print('\n----------Waktu Tempuh Jika diketahui Perpindahan--
---------')
v0 = float(input('kecepatan awal yang diketahui (m/s) : '))
vt = float(input('kecepatan akhir yang diketahui (m/s) : '))
s = float(input('perpindahan yang diketahui (m) : '))
print('\n')
t = (2*s)/(vt-v0)
print('Waktu tempuh yang diperlukan : %.2f s\n\n------------
Kasus GLBB------------'%t)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) :
(0/1)"))
return grafik_kh2(i,t,v0,vt,a)
print('----------Selamat Datang---------')
print('------Kalkulator GLB & GLBB------')
print(utama())
VI.2 Tampilan
Gambar 6.2 Menu Kasus GLB. Gambar 6.3 Menu Kasus GLBB.
Secara garis besar terdapat beberapa fungsi def untuk mempermudah program
aplikasi kami agar dapat berjalan dengan baik, diantaranya yaitu:
1. Def utama() adalah sebagai fungsi def untuk main menu program,
didalamnya terdapat tiga pilihan (kasus glb, kasus glbb, exit program).
2. Def menu1() adalah sebagai fungsi def untuk menampilkan list menu
pilihan pada kasus glb, didalamnya terdapat empat list pilihan besaran yang
dapat dicari untuk kasus glb (kecepatan, perpindahan, waktu tempuh, dan
pilihan untuk kembali ke main menu program).
3. Def glb() adalah sebagai fungsi def kasus glb untuk pengkondisian dari
pilihan menu besaran yang telah diinputkan sebelumnya, yang kemudian
akan diproses perhitungannya sesuai dengan nilai besaran apa yang ingin
dicari.
4. Def menu2() adalah sebagai fungsi def untuk list menu pilihan pada kasus
glbb, didalamnya terdapat empat list pilihan besaran yang dapat dicari pada
kasus glbb (kecepatan, perpindahan, percepatan, dan pilihan untuk kembali
ke main menu program).
5. Def glbb() adalah sebagai fungsi def kasus glbb untuk pengkondisian dari
pilihan menu yang telah diinputkan sebelumnya, yang kemudian akan
diproses perhitungannya sesuai dengan nilai besaran apa yang ingin dicari.
Pada program ini kami menggunakan 3 library yaitu matplotlib untuk membuat
grafik, numpy untuk pembuatan array yang akan diplotkan, sympy juga untuk
mengolah variabel-variabel pada kasus kecepatan sesaat :
import numpy as np
Pada library matplotlib modul yang digunakan adalah .pyplot untuk membuat grafik
baik GLB maupun GLB :
Gambar 7.1 Tampilan Grafik GLB Gambar 7.2 Tampilan Grafik GLBB
Untuk membuat array sebagai data pada kedua sumbu maka digunakan perintah
.linspace() pada library numpy yang juga akan menjadikan kedua array tersebut
memiliki jumlah yang sama sehingga membentuk data berupa fungsi dan dapat
diplotkan.
Sementara itu library sympy akan digunakan untuk menyelesaikan kasus kecepatan
sesaat pada GLBB yang membutuhkan operasi turunan dan limit.
Fungsi di baris pertama ialah terdapat fungsi import matplotlib.pyplot as plt yang
berfungsi untuk membuka/memanggil library matplotlib agar dapat digunakan
dalam proses listingan, dengan menyingkat penamaannya sebagai plt menggunakan
fungsi as.
• Fungsi def utama() seperti yang telah dijelaskan diawal tadi, dengan di
dalamnya terdapat listing berupa :
Fungsi print('\n------------Main Menu------------') yang akan menampilkan string
yang berada pada parameter fungsi print tersebut, sekaligus penanda bahwa
program sedang berada di bagian main menu.
Fungsi print('1: Kasus GLB\n2: Kasus GLBB\n3: Exit') untuk menampilkan list
pilihan menu apa saja yang tersedia di main menu.
Terdapat inisiasi variabel pil yang memberikan kesempatan kepada user untuk
menginputkan pilihannnya. Agar user dapat menginput pilihannya maka digunakan
fungsi input int(input('Masukkan Pilihan Anda : ')).
• Fungsi def menu1() seperti yang telah dijelaskan diawal tadi, dengan di
dalamnya terdapat listing berupa :
Fungsi return(glb()) yang berfungsi sebagai pemanggilan fungsi glb() tersebut agar
dapat dijalankan.
• Fungsi def glb() seperti yang telah dijelaskan diawal tadi, dengan di
dalamnya terdapat listing berupa :
Inisiasi variabel glb sebagai parameter input pilihan yang dimasukkan user dengan
fungsi glb = int(input('Masukkan Pilihan Anda : ')).
Pada setiap operasi penyelesaian kasus gerak lurus beraturan (GLB), grafik muncul
saat program berhenti sehingga user diberi pilihan untuk menampilkan grafik atau
melanjutkan program. Pengguna diminta memasukkan nilai i antara 0 atau 1
kemudian nilainya dimasukan ke variabel i pada pemanggilan fungsi menggunakan
return, begitu pula dengan variabel t, s, dan v yang sebelumnya telah diolah
dimasukan ke argumen fungsi tersebut :
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) : (0/1)"))
return grafik_kh1(i,t,s,v)
Setelah program membukan fungsi grafik_kh1() dengan membawa variabel-
variabel program akan membandingkan i yang telah menjadi n dengan 0, jika n
bernilai 0 maka program akan memanggil fungsi grafik_glb() jika selain dari 0
(else:) program akan mengembalikan pengguna ke fungsi menu1(), program
menggunakan variabel n (i) menjadi konstanta 0 sehingga variabel yang tersisa
adalah i, j, dan k kemudian dibawa menuju fungsi grafik_glb(i,j,k) :
def grafik_kh1(n,i,j,k):
if n == 0:
return grafik_glb(i,j,k)
else:
return menu1()
Setelah fungsi grafik_glb() terpanggil bersama ketiga variabel, fungsi memplotkan
variabel t dan s di mana masing-masing diplotkan ke sumbu x dan y melalui
grafik_kh1(i,t,s,v) kemudian masuk ke fungsi grafik_glb(i,j,k) sehingga t = i dan s
= j dengan v menjadi k. Kemudian di fungsi grafik tersebut dibentuk array dengan
.linspace() di mana 0 sebagai batas awal dan i (t) sebagai batas akhir untuk sumbu
x dan j (s) sebagai batas akhir untuk sumbu y, kemudian kedua array tersebut harus
berjumlah i+1 agar dapat membentuk fungsi sehingga dapat diplotkan ke grafik.
Seluruh variabel harus dalam bentuk integer dengan int() karena .linspace() tidak
dapat membentuk array dengan tipe data float :
def grafik_glb(i,j,k):
x = np.linspace(0,int(i),int(i+1))
y = np.linspace(0,int(j),int(i+1))
plt.title('Kecepatan %f m/s' % k)
plt.xlabel('Waktu (s)')
plt.ylabel('Perpindahan (m)')
plt.legend('v')
plt.grid(True, which='both')
plt.plot(x,y)
plt.show()
Pada setiap operasi penyelesaian kasus gerak lurus beraturan (GLB), grafik muncul
saat program berhenti sehingga user diberi pilihan untuk menampilkan grafik atau
melanjutkan program. Pengguna diminta memasukkan nilai i antara 0 atau 1
kemudian nilainya dimasukan ke variabel i pada pemanggilan fungsi menggunakan
return, begitu pula dengan variabel t, s, dan v yang sebelumnya telah diolah
dimasukan ke argumen fungsi tersebut.
Setelah program membukan fungsi grafik_kh1() dengan membawa variabel-
variabel program akan membandingkan i yang telah menjadi n dengan 0, jika n
bernilai 0 maka program akan memanggil fungsi grafik_glb() jika selain dari 0
(else:) program akan mengembalikan pengguna ke fungsi menu1(), program
menggunakan variabel n (i) menjadi konstanta 0 sehingga variabel yang tersisa
adalah i, j, dan k kemudian dibawa menuju fungsi grafik_glb(i,j,k) dan grafik pun
akan ditampilkan atau muncul.
Berikutnya terdapat fungsi print('Besarnya kecepatan : %.2f m/s\n\n------------
Kasus GLB------------'%v), yang berfungsi untuk menampilkan hasil dari nilai
besaran kecepatan yang dicari. Serta akan menampilkan baris pertama dari tampilan
menu kasus GLB.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu1()), yang
berfungsi untuk memanggil fungsi menu1() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glb == 2 akan bekerja apabila user memasukkan pilihan nomor
2 (perpindahan).
Di dalam fungsi if glb == 2, terdapat fungsi yang pertama yaitu print('\n-----------
Perpindahan-----------'), sebagai tampilan sekaligus penanda bahwa user telah
berada pada pilihan menu mencari nilai besaran perpindahan GLB.
Berikutnya terdapat inisiasi variabel v sebagai parameter input nilai kecepatan yang
diketahui di soal, dengan menggunakan perintah input, v = float(input(' masukkan
nilai kecepatan (m/s) : ')). Dan fungsi float disini berfungsi agar nilai kecepatan
yang dapat diinput oleh user dapat berupa nilai pecahan/desimal.
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai waktu
tempuh yang dapat diinput oleh user dapat berupa nilai pecahan/desimal.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran perpindahan yang
di-inisiasi dengan pemisalan variabel s=v*t.
Pada setiap operasi penyelesaian kasus gerak lurus beraturan (GLB), grafik muncul
saat program berhenti sehingga user diberi pilihan untuk menampilkan grafik atau
melanjutkan program. Pengguna diminta memasukkan nilai i antara 0 atau 1
kemudian nilainya dimasukan ke variabel i pada pemanggilan fungsi menggunakan
return, begitu pula dengan variabel t, s, dan v yang sebelumnya telah diolah
dimasukan ke argumen fungsi tersebut.
Setelah program membukan fungsi grafik_kh1() dengan membawa variabel-
variabel program akan membandingkan i yang telah menjadi n dengan 0, jika n
bernilai 0 maka program akan memanggil fungsi grafik_glb() jika selain dari 0
(else:) program akan mengembalikan pengguna ke fungsi menu1(), program
menggunakan variabel n (i) menjadi konstanta 0 sehingga variabel yang tersisa
adalah i, j, dan k kemudian dibawa menuju fungsi grafik_glb(i,j,k) dan grafik pun
akan ditampilkan atau muncul.
Berikutnya terdapat fungsi print('Besarnya perpindahan : %.2f m\n\n------------
Kasus GLB------------'%s), yang berfungsi untuk menampilkan hasil dari nilai
besaran perpindahan yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLB.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu1()), yang
berfungsi untuk memanggil fungsi menu1() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glb == 3 akan bekerja apabila user memasukkan pilihan nomor
3 (waktu tempuh).
Di dalam fungsi if glb == 3, terdapat fungsi yang pertama yaitu print('\n----------
Waktu Tempuh-----------'), sebagai tampilan sekaligus penanda bahwa user telah
berada pada pilihan menu mencari nilai besaran waktu tempuh GLB.
Berikutnya terdapat inisiasi variabel v sebagai parameter input nilai kecepatan yang
diketahui di soal, dengan menggunakan perintah input, v = float(input(' masukkan
nilai kecepatan (m/s) : ')). Dan fungsi float disini berfungsi agar nilai kecepatan
yang dapat diinput oleh user dapat berupa nilai pecahan/desimal.
Berikutnya terdapat inisiasi variabel s sebagai parameter input nilai perpindahan
yang dikethui di soal, dengan menggunakan perintah input, s =
float(input('perpindahan yang diketahui (m) : ')). Dan fungsi float disini berfungsi
agar nilai perpindahan yang dapat diinput oleh user dapat berupa nilai
pecahan/desimal.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran waktu tempuh
yang di-inisiasi dengan pemisalan variabel t=s/v.
Pada setiap operasi penyelesaian kasus gerak lurus beraturan (GLB), grafik muncul
saat program berhenti sehingga user diberi pilihan untuk menampilkan grafik atau
melanjutkan program. Pengguna diminta memasukkan nilai i antara 0 atau 1
kemudian nilainya dimasukan ke variabel i pada pemanggilan fungsi menggunakan
return, begitu pula dengan variabel t, s, dan v yang sebelumnya telah diolah
dimasukan ke argumen fungsi tersebut.
Setelah program membukan fungsi grafik_kh1() dengan membawa variabel-
variabel program akan membandingkan i yang telah menjadi n dengan 0, jika n
bernilai 0 maka program akan memanggil fungsi grafik_glb() jika selain dari 0
(else:) program akan mengembalikan pengguna ke fungsi menu1(), program
menggunakan variabel n (i) menjadi konstanta 0 sehingga variabel yang tersisa
adalah i, j, dan k kemudian dibawa menuju fungsi grafik_glb(i,j,k) dan grafik pun
akan ditampilkan atau muncul.
Berikutnya terdapat fungsi print('Waktu tempuh yang diperlukan : %.2f s\n\n----
--------Kasus GLB------------'%t), yang berfungsi untuk menampilkan hasil dari
nilai besaran waktu tempuh yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLB.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu1()), yang
berfungsi untuk memanggil fungsi menu1() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glb == 0 akan bekerja apabila user memasukkan pilihan nomor
0 (Kembali ke Main Menu).
Di dalam pengkondisian ini terdapat fungsi return(utama()) yang akan memanggil
fungsi utama() dimana fungsi tersebut merupakan tampilan menu utama dari
program, sehingga program akan berada kembali di main menu.
Pengkondisian else akan dapat bekerja apabila user menginputkan nomor menu
yang tidak tersedia pada pilihan.
Di dalam pengkondisian else, akan ditampilkan sebuah pesan bahwa input yang
dimasukkan user salah atau tidak sesuai dengan menggunakan fungsi
return('\nInput Yang Anda Masukkan Tidak Sesuai\n\n........Silahkan Ulangi
Lagi........').
• Fungsi def glbb ( ) seperti yang dijelaskan diawal tadi, dengan didalamnya
terdapat listing sebagai berikut :
Inisiasi variabel glbb sebagai parameter input pilihan yang dimasukkan user
dengan fungsi glbb = int(input('Masukkan Pilihan Anda : ')).
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a :
i = int(input("Tampilkan grafik dan akhiri program? (Y/T) : (0/1)"))
return grafik_kh2(i,t,v0,vt,a)
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan() :
def grafik_kh2(n,i,j,k,l):
if n == 0:
return grafik_kecepatan(i,j,k,l)
else:
return menu2()
Saat program membuka fungsi grafik_kecepatan(), variabel i, j, k, dan l diubah
menjadi t, v0, vt, dan a. Waktu tempuh (t) selalu mengisi sumbu x maka pada
.linspace(), 0 menjadi batas awal sebagai waktu saat 0 dan t menjadi batas akhir
dengan jumlah nilai pada array t+1 yang sesuai dengan nilai t nantinya. Pada sumbu
y grafik GLBB, batas awal di linspace() adalah v0 dan batas akhir vt dengan jumlah
array-nya t+1 sehingga memiliki dimensi yang sama untuk diplotkan.
def grafik_kecepatan(t,v0,vt,a):
x = np.linspace(0,int(t),int(t+1))
y = np.linspace(int(v0),int(vt),int(t+1))
plt.title('Percepatan %f m/s^2' % a)
plt.xlabel('Waktu (s)')
plt.ylabel('Kecepatan (m/s)')
plt.legend('v')
plt.grid(True, which='both')
plt.plot(x,y)
plt.show()
Pengkondisian elif glbb == 2 akan bekerja apabila user memasukkan pilihan nomor
2 (kecepatan akhir).
Di dalam fungsi if glbb == 2, terdapat fungsi yang pertama yaitu print('\n----------
--Kecepatan Akhir------------'), sebagai tampilan sekaligus penanda bahwa user
telah berada pada pilihan menu mencari besaran kecepatan akhir GLBB
Berikutnya terdapat inisiasi variabel a sebagai parameter input nilai percepatan
yang diketahui di soal, dengan menggunakan perintah input, a =
float(input('percepatan yang diketahui (m/s^2) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai yang
dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel v0 sebagai parameter input nilai kecepatan
awal yang dikethui di soal, dengan menggunakan perintah input, v0 =
float(input('Kecepatan Awal yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Lalu ada fungsi print (‘\n’) yang digunakan untuk membuat satu baris kosong agar
nanti hasil yang ditampilkan tampak lebih rapih.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran kecepatan akhir
yang di-inisiasi dengan pemisalan variabel vt = v0 + (a*t)
Berikutnya terdapat fungsi print('Besarnya kecepatan akhir : %.2f m/s\n\n--------
----Kasus GLBB------------'%vt), yang berfungsi untuk menampilkan hasil dari nilai
besaran kecepatan akhir yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLBB
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a.
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan(), dan
grafik pun akan ditampilkan.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu2()), yang
berfungsi untuk memanggil fungsi menu2() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLBB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glbb == 3 akan bekerja apabila user memasukkan pilihan nomor
3 (kecepatan awal jika diketahui perpindahan).
Di dalam fungsi if glbb == 3, terdapat fungsi yang pertama yaitu print('\n----------
--Kec.Awal Jika Diketahui Perpindahan------------'), sebagai tampilan sekaligus
penanda bahwa user telah berada pada pilihan menu mencari besaran kecepatan
awal GLBB jika diketahui perpindahan.
Berikutnya terdapat inisiasi variabel a sebagai parameter input nilai percepatan
yang diketahui di soal, dengan menggunakan perintah input, a =
float(input('percepatan yang diketahui (m/s^2) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai
pecahan/decimal
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai yang
dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel vt sebagai parameter input nilai kecepatan
awal yang dikethui di soal, dengan menggunakan perintah input, vt =
float(input('Kecepatan Akhir yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel s sebagai parameter input nilai perpindahan
yang diketahui di soal, dengan menggunakan perintah input, s =
float(input('perpindahan yang diketahui (m) : ')). Dan fungsi float disini berfungsi
agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/desimal.
Lalu ada fungsi print (‘\n’) yang digunakan untuk membuat satu baris kosong agar
nanti hasil yang ditampilkan tampak lebih rapih.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran kecepatan awal
yang di-inisiasi dengan pemisalan variabel v0 = (vt – (2*a*s))**1/2
Berikutnya terdapat fungsi print('Besarnya kecepatan awal : %.2f m/s\n\n---------
---Kasus GLBB------------'%v0), yang berfungsi untuk menampilkan hasil dari nilai
besaran kecepatan awal yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLBB
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a.
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan(), dan
grafik pun akan ditampilkan.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu2()), yang
berfungsi untuk memanggil fungsi menu2() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLBB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glbb == 4 akan bekerja apabila user memasukkan pilihan nomor
4 (kecepatan akhir jika diketahui perpindahan).
Di dalam fungsi if glbb == 4, terdapat fungsi yang pertama yaitu print('\n----------
--Kec.Akhir Jika Diketahui Perpindahan------------'), sebagai tampilan sekaligus
penanda bahwa user telah berada pada pilihan menu mencari besaran kecepatan
akhir GLBB jika diketahui perpindahan.
Berikutnya terdapat inisiasi variabel a sebagai parameter input nilai percepatan
yang diketahui di soal, dengan menggunakan perintah input, a =
float(input('percepatan yang diketahui (m/s^2) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai yang
dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel vt sebagai parameter input nilai kecepatan
awal yang dikethui di soal, dengan menggunakan perintah input, v0 =
float(input('Kecepatan Awal yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel s sebagai parameter input nilai perpindahan
yang diketahui di soal, dengan menggunakan perintah input, s =
float(input('perpindahan yang diketahui (m) : ')). Dan fungsi float disini berfungsi
agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/desimal.
Lalu ada fungsi print (‘\n’) yang digunakan untuk membuat satu baris kosong agar
nanti hasil yang ditampilkan tampak lebih rapih.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran kecepatan akhir
yang di-inisiasi dengan pemisalan variabel vt = (v0 + (2*a*s))**1/2
Berikutnya terdapat fungsi print('Besarnya kecepatan akhir : %.2f m/s\n\n--------
----Kasus GLBB------------'%vt), yang berfungsi untuk menampilkan hasil dari nilai
besaran kecepatan akhir yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLBB
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a.
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan(), dan
grafik pun akan ditampilkan.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu2()), yang
berfungsi untuk memanggil fungsi menu2() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLBB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glbb == 5 akan bekerja apabila user memasukkan pilihan nomor
5 (percepatan).
Di dalam fungsi if glbb == 5, terdapat fungsi yang pertama yaitu print('\n----------
--Perpindahan------------'), sebagai tampilan sekaligus penanda bahwa user telah
berada pada pilihan menu mencari besaran perpindahan GLBB
Berikutnya terdapat inisiasi variabel a sebagai parameter input nilai percepatan
yang diketahui di soal, dengan menggunakan perintah input, a =
float(input('percepatan yang diketahui (m/s^2) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai yang
dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel v0 sebagai parameter input nilai kecepatan
awal yang dikethui di soal, dengan menggunakan perintah input, v0 =
float(input('Kecepatan Awal yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Lalu ada fungsi print (‘\n’) yang digunakan untuk membuat satu baris kosong agar
nanti hasil yang ditampilkan tampak lebih rapih.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran perpindahan yang
di-inisiasi dengan pemisalan variabel s = (v0*t) + ((1/2)*a*(t**2))
Berikutnya terdapat fungsi print('Besarnya perpindahan : %.2f m\n\n------------
Kasus GLBB------------'%s), yang berfungsi untuk menampilkan hasil dari nilai
besaran perpindahan yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLBB
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a.
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan(), dan
grafik pun akan ditampilkan.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu2()), yang
berfungsi untuk memanggil fungsi menu2() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLBB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glbb == 6 akan bekerja apabila user memasukkan pilihan nomor
6 (Percepatan).
Di dalam fungsi if glbb == 6, terdapat fungsi yang pertama yaitu print('\n----------
--Percepatan------------'), sebagai tampilan sekaligus penanda bahwa user telah
berada pada pilihan menu mencari besaran percepatan GLBB
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai yang
dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel v0 sebagai parameter input nilai kecepatan
awal yang dikethui di soal, dengan menggunakan perintah input, v0 =
float(input('Kecepatan Awal yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel vt sebagai parameter input nilai kecepatan
akhir yang dikethui di soal, dengan menggunakan perintah input, vt =
float(input('Kecepatan Akhir yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Lalu ada fungsi print (‘\n’) yang digunakan untuk membuat satu baris kosong agar
nanti hasil yang ditampilkan tampak lebih rapih.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran perpindahan yang
di-inisiasi dengan pemisalan variabel a = (vt – v0)/t
Berikutnya terdapat fungsi print('Besarnya percepatan : %.2f m/s^2\n\n-----------
-Kasus GLBB------------'%a), yang berfungsi untuk menampilkan hasil dari nilai
besaran percepatan yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLBB
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a.
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan(), dan
grafik pun akan ditampilkan.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu2()), yang
berfungsi untuk memanggil fungsi menu2() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLBB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glbb == 7 akan bekerja apabila user memasukkan pilihan nomor
7 (Percepatan jika diketahui perpindahan dan kecepatan akhir).
Di dalam fungsi if glbb == 7, terdapat fungsi yang pertama yaitu print('\n----------
--Percepatan Jika Diketahui Perpindahan dan Kecepatan Akhir------------'),
sebagai tampilan sekaligus penanda bahwa user telah berada pada pilihan menu
mencari besaran percepatan GLBB jika diketahui perpindahan dan kecepatan akhir
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai waktu
tempuh yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel v0 sebagai parameter input nilai kecepatan
awal yang dikethui di soal, dengan menggunakan perintah input, v0 =
float(input('Kecepatan Awal yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai waktu tempuh yang dapat diinput oleh user dapat berupa nilai
pecahan/decimal
Berikutnya terdapat inisiasi variabel vt sebagai parameter input nilai kecepatan
akhir yang dikethui di soal, dengan menggunakan perintah input, vt =
float(input('Kecepatan Akhir yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai waktu tempuh yang dapat diinput oleh user dapat berupa nilai
pecahan/decimal
Berikutnya terdapat inisiasi variabel a sebagai parameter input nilai perpindahan
yang diketahui di soal, dengan menggunakan perintah input, s =
float(input('Perpindahan yang diketahui (m) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Lalu ada fungsi print (‘\n’) yang digunakan untuk membuat satu baris kosong agar
nanti hasil yang ditampilkan tampak lebih rapih.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran perpindahan yang
di-inisiasi dengan pemisalan variabel a = ((vt**2) – (v0**2))/(2*s)
Berikutnya terdapat fungsi print('Besarnya percepatan : %.2f m/s^2\n\n-----------
-Kasus GLBB------------'%a), yang berfungsi untuk menampilkan hasil dari nilai
besaran percepatan yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLBB
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a.
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan(), dan
grafik pun akan ditampilkan.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu2()), yang
berfungsi untuk memanggil fungsi menu2() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLBB setelah program selesai menghitung
nilai besaran.
Pengkondisian elif glbb == 8 akan bekerja apabila user memasukkan pilihan nomor
7 (Percepatan jika diketahui perpindahan saja).
Di dalam fungsi if glbb == 8, terdapat fungsi yang pertama yaitu print('\n----------
--Percepatan Jika Diketahui Perpindahan Saja------------'), sebagai tampilan
sekaligus penanda bahwa user telah berada pada pilihan menu mencari besaran
percepatan GLBB jika diketahui perpindahan saja
Berikutnya terdapat inisiasi variabel t sebagai parameter input nilai waktu tempuh
yang dikethui di soal, dengan menggunakan perintah input, t = float(input('waktu
tempuh yang diketahui (s) : ')). Dan fungsi float disini berfungsi agar nilai waktu
tempuh yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Berikutnya terdapat inisiasi variabel v0 sebagai parameter input nilai kecepatan
awal yang dikethui di soal, dengan menggunakan perintah input, v0 =
float(input('Kecepatan Awal yang diketahui (m/s) : ')). Dan fungsi float disini
berfungsi agar nilai waktu tempuh yang dapat diinput oleh user dapat berupa nilai
pecahan/decimal
Berikutnya terdapat inisiasi variabel s sebagai parameter input nilai perpindahan
yang diketahui di soal, dengan menggunakan perintah input, s =
float(input('Perpindahan yang diketahui (m) : ')). Dan fungsi float disini
berfungsi agar nilai yang dapat diinput oleh user dapat berupa nilai pecahan/decimal
Lalu ada fungsi print (‘\n’) yang digunakan untuk membuat satu baris kosong agar
nanti hasil yang ditampilkan tampak lebih rapih.
Berikutnnya terdapat proses untuk menghitung nilai dari besaran perpindahan yang
di-inisiasi dengan pemisalan variabel a = (2*s)/(vt – v0)
Berikutnya terdapat fungsi print('Besarnya percepatan : %.2f m/s^2\n\n-----------
-Kasus GLBB------------'%a), yang berfungsi untuk menampilkan hasil dari nilai
besaran percepatan yang dicari. Serta akan menampilkan baris pertama dari
tampilan menu kasus GLBB
Untuk kasus gerak lurus berubah beraturan (GLBB), user juga diberi pilihan untuk
menampilkan grafik atau melanjutkan program. Sama seperti kasus GLB user
diminta memasukan nilai i dan nilainya dibawa oleh fungsi grafik_kh2() beserta
variabel t, v0, vt, dan a.
Variabel i, t, v0, vt, dan a kemudian disubtitusikan menjadi variabel n, i, j, k, dan l.
Sehingga jika i = 0 maka program akan memanggil fungsi grafik_kecepatan() selain
dari itu program akan kembali ke menu2(). Setelah n menjadi konstanta 0 maka
variabel yang tersisa i, j, k, dan l dibawa menuju fungsi grafik_kecepatan(), dan
grafik pun akan ditampilkan.
Fungsi terakhir dari pengkondisian ini, yaitu perintah return(menu2()), yang
berfungsi untuk memanggil fungsi menu2() tersebut agar program otomatis
kembali ke dalam pilihan menu kasus GLBB setelah program selesai menghitung
nilai besaran.
• GLBB 9
Pada saat nilai glbb = 9, program akan menjalankan kasus untuk mencari waktu
tempuh saat perpindahan diketahui. User akan diminta memasukan nilai dari v0, vt,
dan s dalam bentuk integer, kemudian variabel-variabel tersebut akan diolah untuk
mencari nilai t dengan rumus (2*s)/(vt-v0). Selanjutnya setelah t diketahu dan
ditampilkan nilainya program akan meminta user untuk memasukan nilai i yang
akan dimasukan ke fungsi grafik_kh2(), kemudian variabel-variabel yang tadi
didapat akan diplotkan ke dalam grafik jika i = 0 yang mana fungsi
grafik_kecepatan() akan dipanggil dan membuat grafik dari variabel-variabel yang
telah diketahui :
elif glbb == 9:
print('\n----------Waktu Tempuh Jika diketahui Perpindahan-
----------')
v0 = int(input('kecepatan awal yang diketahui (m/s) : '))
vt = int(input('kecepatan akhir yang diketahui (m/s) : '))
s = int(input('perpindahan yang diketahui (m) : '))
print('\n')
t = (2*s)/(vt-v0)
print('Waktu tempuh yang diperlukan : %.2f s\n\n----------
--Kasus GLBB------------'%t)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T)
: (0/1)"))
return grafik_kh2(i,t,v0,vt,a)
• GLBB 10
Pada saat nilai glbb = 10, program akan menjalankan kasus untuk mencari waktu
tempuh saat percepatan diketahui. User akan diminta memasukan nilai dari v0, vt,
dan a dalam bentuk integer sehingga nilai t didapat dari t = (vt-v0)/a. Selanjutnya
setelah t diketahu dan ditampilkan nilainya program akan meminta user untuk
memasukan nilai i yang akan dimasukan ke fungsi grafik_kh2(), kemudian
variabel-variabel yang tadi didapat akan diplotkan ke dalam grafik jika i = 0 yang
mana fungsi grafik_kecepatan() akan dipanggil dan membuat grafik dari variabel-
variabel yang telah diketahui :
elif glbb == 10:
print('\n----------Waktu Tempuh Jika diketahui Percepatan-
----------')
v0 = int(input('kecepatan awal yang diketahui (m/s) : '))
vt = int(input('kecepatan akhir yang diketahui (m/s) : '))
a = int(input('perpindahan yang diketahui (m/s^2) : '))
print('\n')
t = (vt-v0)/a
print('Waktu tempuh yang diperlukan : %.2f s\n\n----------
--Kasus GLBB------------'%t)
i = int(input("Tampilkan grafik dan akhiri program? (Y/T)
: (0/1)"))
return grafik_kh2(i,t,v0,vt,a)
Pengkondisian elif glbb == 0 akan bekerja apabila user memasukkan pilihan nomor
0 (Kembali ke Main Menu).
Di dalam pengkondisian ini terdapat fungsi return(utama()) yang akan memanggil
fungsi utama() dimana fungsi tersebut merupakan tampilan menu utama dari
program, sehingga program akan berada kembali di main menu.
Pengkondisian else akan dapat bekerja apabila user menginputkan nomor menu
yang tidak tersedia pada pilihan.
Di dalam pengkondisian else, akan ditampilkan sebuah pesan bahwa input yang
dimasukkan user salah atau tidak sesuai dengan menggunakan fungsi
return('\nInput Yang Anda Masukkan Tidak Sesuai\n\n........Silahkan Ulangi
Lagi........').