Modul 8: Modul Open Source
Capaian Pembelajaran Mata Kuliah
Mampu membuat dan memodifkasi program sederhana dengan bantuan modul open source.
Materi
Membuat program yang kompleks, game misalnya, membutuhkan sumber daya yang banyak. Ukuran program yang kompleks bisa sangat besar mencapai ratusan ribu baris. Jika program seperti ini dibuat dari nol, sangat banyak memakan waktu. Untuk itu, programmer mengandalkan modul-modul yang sudah dibuat orang lain. Dengan modul-modul ini, programmer istilahnya tidak reinvent the wheel. Fungsi-fungsi, kelas-kelas, yang sudah dibuat orang lain, kita gunakan sehingga kita bisa fokus ke algoritma spesifik game kita.
Catatan
Ada banyak sekali modul-modul Python di internet yang bisa dipakai gratis. Modul-modul ini bisa kita lihat kodenya. Oleh karena itulah, modul-modul ini kita sebut open source.
Di Modul 8 ini, kita akan mencoba menggunakan satu modul open source untuk membuat animasi, yaitu Manim.
Instalasi
Ikuti cara instalasi di website resmi Manim.
Alur Pembuatan Animasi Menggunakan Manim
Untuk membuat animasi menggunakan Manim, biasanya digunakan alur sebagai berikut.
- Buat Scene (
class <nama scene>(Scene):) - Buat konstruktor (
def construct(self):) - Buat objek dalam fungsi
costruct - Tambahkan atribut terhadap objek jika perlu
- Animasikan (
self.play())
Perhatikan contoh berikut yang membuat kotak warna merah, lalu menggerakkannya ke atas.
| hello_manim.py | |
|---|---|
Jalankan kode tersebut di terminal dengan memanggil perintah:
kotak = Square(2)berarti membuat objekSquaredengan panjang sisi 2 unitkotak.set_fill(RED, opacity=1.0), mewarnai kotak dengan warna merahself.play(kotak.animate.shift(UP), run_time = 2)berarti menganimasikan kotak tersebut ke atasUPsebanyak 1 satuan dalam waktu (run_time) 2 detik.-pqlartinya (p)lay setelah selesai render menggunakan (q)uality (l)ow. Untuk render dengan kualitas tinggi gunakanmanim -pqh.
Membuat Objek Geometri
Ada beberapa objek geometri dalam Manim, seperti:
- Lingkaran (
Circle) - Persegi panjang (
Rectangle) - Segitiga (
Triangle)
Untuk lengkapnya, lihat di dokumentasi Manim tentang Polygram.
Kita bisa menganimasikan pembuatan objek geometri tersebut
menggunakan Fungsi Create.
| hello_manim.py | |
|---|---|
Sebagai alternatif, kita juga bisa menggunakan fungsi FadeIn.
| hello_manim.py | |
|---|---|
Coba
Coba buat objek-objek geometri menggunakan Manim.
Ubah-ubah ukuran dan warnanya.
Gerakkan ke berbagai arah (UP, DOWN, LEFT, RIGHT).
Catatan
- Untuk berpindah lebih jauh, gunakan pengali (
2 * UP). - Untuk gerakan pindah berurutan (misalnya ke kanan lalu ke atas),
panggil
self.playsecara berurutan pula.
- Untuk berpindah diagonal (misalnya ke kanan atas) gunakan operator penjumlahan.
Transformasi
Sebuah objek dapat bertransformasi menjadi objek lainnya
dengan fungsi Transform.
Pahami kode berikut, tuliskan, lalu jalankan.
Coba
-
Buat animasi kotak yang bergerak dari ujung kiri layar ke ujung kanan layar. Sebelum bergerak, kotak berputar dulu di tempatnya. Untuk memindahkan ke pinggir layar, bisa gunakan fungsi
to_edge(). Misal ke pinggir kiri layar gunakanto_edge(LEFT), ke pinggir kiri atasto_edge(LEFT + UP). -
Buat tiga objek (segitiga, kotak, dan lingkaran). Munculkan segitiga di tengah lalu pindahkan ke pinggir kiri. Munculkan kotak di tengah, lalu pindahkan ke pinggir kanan. Munculkan lingkaran di tengah, lalu pindahkan ke ujung atas layar (
to_edge(UP)). Selanjutnya, buat ketiganya berputar secara serentak.
Teks
Selain objek, kita juga bisa membuat teks dalam manim. Perhatikan kode berikut.
Kita bisa mengotaki teks yang kita buat seperti berikut.
Coba
Cobalah untuk membuat dua teks dan lakukan transformasi dari satu teks ke teks lainnya. Bisakah?
Tugas Praktikum
Lakukan eksplorasi dokumentasi Manim. Cobalah contoh-contoh kode yang ada di Example Gallery. Baca juga Reference Manual