Pada waktu kapankah posisi benda berada pada pada ketinggian yang sama saat benda naik ke atas(t1) dan saat kembali turun (t2) ?
Berikut ini solusi untuk menghitung kedua waktu untuk ketinggian yang sama saat benda naik dan turun untuk benda yang dilempar secara vertikal ke atas.
Rumus dasar: y = v0t - 1/2gt^2
dengan:
v0 = kecepatan awal benda (m/s)
t = waktu (s)
g = percepatan gaya gravitasi (9,81 m/s^2)
Solusi:
Misalkan ketinggian benda adalah yc, maka yc = v0t - 1/2gt^2.
Selanjutnya dapat ditulis 1/2gt^2 -v0t + yc = 0, menjadi bentuk persamaan kuadrat ax^2 + bx + c
Menggunakan rumus mencari akar-akar persamaan kuadrat ABC, yakni t1 = (b - akar(b^2 - 4ac))/2a dan t2 = (b + akar(b^2 - 4ac))/2a, dengan a = 1/2g, b = v0, c = yc
Sekarang didapat: t1 = (v0 - akar(v0^2 - 4(1/2)g.yc))/2(1/2)g dan t2 = (v0 + akar(v0^2 - 4(1/2)g.yc))/2(1/2)g
Disederhanakan menjadi t1 = (v0 - akar(v0^2 - 2gyc))/g dan t2 = (v0 + akar(v0^2 - 2gyc))/g
Karena akar-akar persamaan kuadrat t1 dan t2 akan memenuhi persamaan kuadrat 1/2gt^2 -v0t + yc = 0, maka kita dapat dengan mudah mengetahui kapan saat benda pada posisi tertentu yang sama saat benda naik dan turun.
ex:
v0 = 5 m/s
g = 9,81 m/s^2
yc = 0,2
Mencari waktu t1 dan t2 saat ketinggiannya (yc) = 0.2 m
t1 = (v0 - akar(v0^2 - 2gyc))/g
t1 = (5 - akar(5^2 - 2(9,81).0,2))/9,81
t1 = (5 - akar(25 - 3,924))/9,81
t1 = (5 - akar(21,076))/9,81
t1 = (5 - 4.59)/9,81
t1 = 0,41 / 9,81
t1 = 0,042
t2 = (v0 + akar(v0^2 - 2gyc))/g
t2 = (5 + akar(5^2 - 2(9,81).0,2))/9,81
t2 = (5 + akar(25 - 3,924))/9,81
t2 = (5 + akar(21,076))/9,81
t2 = (5 + 4.59)/9,81
t2 = 9,59 / 9,81
t2 = 0,978
Jadi pada waktu 0,042 dan 0,987 detik benda yang memiliki kecepatan awal 5 m/s berada pada ketinggian 0,2 meter
Buat programnya:
Melelahkan bukan jika nilainya bukan bilangan yang mudah dilakukan perhitungan, misalnya kesulitan mencari akarnya atau bilangannya pecahan desimal. Meskipun menggunakan kalkulator kesalahan bisa terjadi karena urutan atau kesalahan pemasukan data yang serba manual.
Paling enak ya dibuat programnya saja, semua bisa dimanipulasi. Pengguna cuma memasukan nilai-nilai awalnya saja, dan nggak sampai satu detik hasil program telah nampak di layar :D
Yang penting saat membuat program adalah saat menyusun algoritma (urutan terstruktur menyelesaikan masalah) termasuk merubah rumusnya menjadi rumus yang dipahami komputer. Untungnya bahasa pemrograman tingkat tinggi (mendekati bahasa manusia) memiliki banyak persamaan dengan bahasa manusia termasuk rumus matematika atau fisika.
Beberapa aturan bahasa pemrograman Python:
- Koma pada suatu bilangan harus diubah ke titik, sehingga 9,81 harus diubah jadi 9.81
- Pangkat yang semula dituliskan menggunakan karakter ^ diganti menjadi **
- Mencari akar menggunakan fungsi internal math.sqrt() atau cukup ditulis sqrt() saja, misal akar 4 ya sqrt(4)
Apakah harus menggunakan bahasa pemrograman Python? Tentu saja tidak, segudang bahasa pemrograman lainnya seperti C, C++, C#, Java, PHP, JavaScript, Pascal, VB, dan lainnya bisa kita gunakan. Namun seperti bahasa manusia juga, tiap bahasa pemrograman memiliki struktur penulisan atau grammar tersendiri.
Kita ambil rumusnya saja langsung:
t1 = (v0 - akar(v0^2 - 2gyc))/g diubah jadi: t1 = (v0 - math.sqrt(v0**2 - 2*g*yc))/g
t2 = (v0 + akar(v0^2 - 2gyc))/g diubah jadi: t2 = (v0 + math.sqrt(v0**2 - 2*g*yc))/g
berikut kode lengkapnya:
v0 = 5 # kec. awal, ubah nilai ini sesuai kebutuhan yc = 0.2 # ketinggian, ubah nilai ini sesuai kebutuhan g = 9.81 # percepatan gaya gravitasi print '\nKecepatan awal (v0) = ', v0, 'm/s' print 'Ketinggian (yc) = ', yc, 'm' print 'Percepatan gaya gravitasi (g) = ', g, 'm/s^2' print '' import math t1 = (v0 - math.sqrt(v0**2 - 2*g*yc))/g t2 = (v0 + math.sqrt(v0**2 - 2*g*yc))/g print 'Benda berada pada ketinggian %g m saat waktunya %.2f dan %.2f detik.\n' % (yc, t1, t2)
Manakah yang perlu diubah-ubah? cukup nilai dari variabel v0 dan yc nya saja, mudah bukan?
Happy programming :D
(C) 2011 Computer Science Solution (CSS)