Anda di halaman 1dari 8

TANGGAL PERCOBAAN : 25 November 2020

TANGGAL PENGUMPULAN :

PRAKTIKUM PEMPROGRAMAN KOMPUTER SEMESTER 113

MODUL 8: FREE FALL & BOUNCING BALL ANIMATION

NAMA : Wildan Nurrahman

NRM : 1306619044

DOSEN PENGAMPU : Drs. Andreas Handjoko Permana, M.Si

ASISTEN LABORATORIUM :

DRAJAT AGUNG NUGROHO - 1302618003

NANDA PUTRI APRILIANI - 1302618017

Laporan Awal Laporan Akhir Total

Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Negeri Jakarta

2020
MP-8: FREE FALL & BOUNCING BALL ANIMATION

1. Problem Statement

Membuat program animasi bola jatuh bebas. Jika di-klik, maka bola mulai bergerak jatuh
bebas dan kemudian memantul sampai akhirnya diam di lantai.

2. Mathematical Equation

2.1. Gerak Jatuh Bebas:

z=z+v

y=y+z

2.2. Gerak Vertikal ke Atas:

z=z-v

y=y–z

2.3. Gerak bola:

Mulai GJB jika z <= 0

Mulai GVA jika y >= 580

3. Algoritma

#Fungsi Gambarlayar():

3.1. Mewarnai layar dengan warna green

3.2. Menulis text1 dengan posisi (350,10)

#Fungsi GambarBola(x,y,warna):

3.1. Menggambar lingakaran dengan r=20 pada layar, dengan posisi (x,y) dan warna ‘warna’

#Fungsi Gerak_jatuh(xx,yy,z):

3.1. Melooping dengan while True:

3.1.1. Memproses z = z + v

3.1.2. Memproses yy = yy + z

3.1.3. Menggambar layar dengan fungsi Gambarlayar()


3.1.4. Menggambar bola dengan fungsi GambarBola(xx,yy,white)

3.1.5. Memuat tampilan layar dengan pygame.display.flip()

3.1.6. Memperbarui waktu dengan (ct) fps

3.1.7. Jika yy >= 580:

3.1.7.1. break

3.2. Mengembalikan xx,yy,z

#Fungsi Gerak_atas(xx,yy,z):

3.1. Melooping dengan while True:

3.1.1. Memproses z = z - v

3.1.2. Memproses yy = yy - z

3.1.3. Menggambar layar dengan fungsi Gambarlayar()

3.1.4. Menggambar bola dengan fungsi GambarBola(xx,yy,white)

3.1.5. Memuat tampilan layar dengan pygame.display.flip()

3.1.6. Memperbarui waktu dengan (ct) fps

3.1.7. Jika z <= 0:

3.1.7.1. break

3.2. Mengembalikan xx,yy,z

#Fungsi GerakBola(x,y,z):

3.1. Melooping dengan while True:

3.1.1. Jika z <= 0:

3.1.1.1. Memproses x,y,z= Gerak_jatuh(x,y,z)

3.1.2. Jika y >= 580:

3.1.2.1. Memproses x,y,z = Gerak_atas(x,y,z)

3.1.2.2. Jika y >= 580:

3.1.2.2.1. break

3.2. Mengembalikan x,y,z


#Program Utama

3.1. Mulai

3.2. Memasukan library pygame dan sys

3.3. Memasukkan* dari pygame.locals

3.4. Memanggil fungsi pygame.init()

3.5. Mendefinisikan fungsi Gambarlayar():

3.6. Mendefinisikan fungsi GambarBola(x,y,warna):

3.7. Mendefinisikan Gerak_jatuh(xx,yy,v):

3.8. Mendefinisikan Gerak_atas(xx,yy,v):

3.9. Mendefinisikan GerakBola(x,y,v):

3.10. Mendefinisikan warna green dengan RGB (0,176,80)

3.11. Mendefinisikan warna white dengan RGB (250,250,250)

3.12. Membuat permukaan tampilan ‘layar’ dengan ukuran (1000,600) dan depth 32 bit.

3.13. Menulis ‘Modul-8’ pada jendela layar

3.14. Mewarnai layar dengan warna green

3.15. Menentukan font1

3.16. Menentukan text1

3.17. Menulis text1 dengan posisi (350,10)

3.18. Mendeklarasikan x=500; y=50

3.19. Mendeklarasikan z=0; v=1

3.20. Mendeklarasikan ct=50

3.21. Membuat jam ‘clock’ dengan pygame.time.Clock()

3.22. Mengulang program menggunakan while True:

3.22.1. Membuat program pengulangan menggunakan for event in pygame.event.get():

3.22.1.1. Membuat pengondisian event.type == pygame.QUIT:

3.22.1.1.1. jika YA keluar dari pygame

3.22.1.1.2. jika tidak Masuk kedalam pengondisian event type


3.22.1.2. Membuat pengondisian type == pygame.MOUSEBUTTONDOWN:

3.22.1.2.1. jika Ya Memproses x,y,z = GerakBola(x,y,z)

3.22.1.2.2 jika tidak masuk ke loop for

3.22.2. Menggambar bola menggunakan GambarBola(x,y,white)

3.22.3. Memuat tampilan layar dengan pygame.display.flip()

3.22.4. Memperbarui waktu dengan (ct) fps

3.23. Selesai

4. Flowchart

#Fungsi gambar layar

#Fungsi gambar bola


# Fungsi gerak jatuh

#Fungsi gerak atas


#Fungsi gerak bola
#Fungsi utama

Anda mungkin juga menyukai