ntuk pupil). Anda tidak perlu menulis fungsi baru untuk 

menggambar persegi, karena persegi adalah persegi panjang dengan semua sisinya 

sama panjang. Masukkan perintah ini di bawah kode yang Anda tambahkan di Langkah 

10. 

 

64 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

12. Gambar mulut 

Sekarang beri robot itu mulut. Ketik perintah ini di bawah kode yang Anda tambahkan 

di Langkah 11. 

 

13. Sembunyikan kura-kura 

Terakhir, sembunyikan kura-kura agar tidak terlihat aneh duduk di wajah robot. Ketik 

baris ini setelah kode yang Anda tambahkan pada Langkah 12. Jalankan program untuk 

melihat keseluruhan robot yang sedang dibangun. 

 

Peretasan dan penyesuaian 

Sekarang proyek Anda sudah berjalan, berikut adalah beberapa ide untuk 

memodifikasi kode sehingga Anda dapat menyesuaikan robot yang Anda buat. 

Ubah warna 

Robot yang Anda buat cukup berwarna, tetapi pasti ada ruang untuk perbaikan. Anda 

dapat mengubah kode untuk membuat robot yang sesuai dengan warna ruangan atau 

baju tim sepak bola favorit Anda, atau membuat robot yang benar-benar beraneka 

warna! Di sebelah kanan ada beberapa warna yang dikenali kura -kura. 

 

 

 

65 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 3.2 Macam-macam Nama Warna dalam Python  

 

Ubah wajah 

Anda dapat mengubah ekspresi wajah robot dengan mengatur ulang fitur-fiturnya. 

Untuk memberikan mata dan mulut yang miring, gunakan kode di sebelah kanan. 

 

Gambar 3.3 Gambar Sketas Wajah dan pelokasian bagiannya 

 

Sebuah uluran tangan 

Tambahkan kode ini untuk memberikan tangan mencengkeram robot berbentuk U 

Anda. Anda dapat membentuk kembali tangan agar terlihat seperti pengait, penjepit, 

atau apa pun yang Anda suka. Biarkan imajinasi Anda menjadi liar dan buat versi Anda 

sendiri!  

 

 

 

66 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Lengan all-in-one 

Menggambar lengan di beberapa bagian membuatnya canggung untuk mengubah 

posisinya atau menambahkan lengan ekstra. Dalam peretasan ini, Anda akan menulis fungsi 

yang menarik lengan sekaligus. 

1. Buat fungsi lengan 

Pertama tambahkan fungsi baru ini, yang menggambar bentuk lengan dan 

memberinya warna. 

 

     

Gambar 3.4 pelokasian lengan karakter 

 

2. Tambahkan lengan 

Selanjutnya ganti kode yang semula Anda miliki di antara baris komentar # lengan dan 

leher baris komentar # dengan kode yang ditampilkan di sini. I ni memakai   fungsi 

lengan untuk menggambar tiga lengan. 

 

Menggerakkan lengan 

Sekarang setelah Anda dapat menggambar seluruh lengan sekaligus, Anda dapat 

mengubah posisinya sehingga robot terlihat seperti sedang menggaruk kepalanya atau 

mungkin sedang menari Highland Fling! Untuk melakukannya, gunakan fungsi 

67 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

setheading() untuk mengubah arah kura -kura menghadap saat mulai menggambar 

lengan. 

 

Percobaan dan kesalahan 

Saat Anda mendesain robot atau menambahkan fitur baru ke robot yang sudah ada, 

mungkin diperlukan sedikit percobaan dan kesalahan untuk mendapatkan hal-hal yang Anda 

inginkan. Jika Anda menambahkan baris print(t.window_ width()) dan 

print(t.window_height()) setelah baris t.speed('slowest'), Python akan menampilkan tinggi 

dan lebar jendela Turtle Anda di shell. Kemudian tandai kotak dengan ukuran tersebut pada 

kertas grafik untuk membantu Anda menentukan koordinat setiap bagian tubuh. 

 

Gambar 3.5 Karakter Robot yang dihasilkan 

 

3.2 KALEIDO-SPIRAL 

Dengan cara yang sama bahwa baris kode sederhana dapat membentuk program yang 

baik, bentuk sederhana dapat membentuk gambar yang kompleks. Dengan menggabungkan 

bentuk dan warna melalui kode, Kaleido-spiral akan membantu Anda menciptakan mahakarya 

seni digital yang layak untuk galeri seni!  

Apa yang terjadi 

Kura-kura Python menggambar lingkaran di layar, satu demi satu. Setiap kali sebuah 

lingkaran digambar, kura-kura mengubah posisi, sudut, warna, dan ukuran lingkaran 

berikutnya yang digambarnya. Sebuah pola secara bertahap muncul. 

Pergeseran spiral 

Saat lapisan lingkaran di atas satu sama lain, posisi pergeserannya membentuk spiral 

yang meliuk keluar dari pusat. 

68 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 3.6 Grafik Kura-kura Python 

 

Program yang dapat disesuaikan 

Semakin lama Anda membiarkan Kaleido-spiral berjalan, semakin rumit pola di layar. 

Dengan mengubah parameter fungsi yang menggambar lingkaran, Anda dapat 

membuat pola yang lebih membingungkan. 

 

Gambar 3.7 Kaleido-Spiral python 

69 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Bagaimana itu bekerja 

Dalam proyek ini, Anda akan memakai   modul kura-kura dan teknik perulangan 

yang cerdas untuk melapisi lingkaran di atas satu sama lain dalam pola spiral. Setiap kali 

lingkaran digambar, program sedikit meningkatkan parameter kode gambar lingkaran. Setiap 

lingkaran baru berbeda dari yang terakhir digambar, membuat polanya lebih menarik. 

Cycle 

Untuk membuat pola berwarna, proyek ini memakai   fungsi yang disebut cycle() 

dari modul itertools. Fungsi cycle() memungkinkan Anda untuk menggilir daftar warna yang 

berbeda berulang kali. Ini memudahkan penggunaan warna pena yang berbeda untuk setiap 

lingkaran. 

Dapatkan menggambar! 

Hal pertama yang akan Anda gambar di layar adalah lingkaran sederhana. Selanjutnya 

Anda akan mengulangi lingkaran ini, tetapi dengan sedikit perubahan. Terakhir, Anda akan 

mengubah kode untuk membuat pola lebih berwarna dan menarik. 

1. Buat file baru 

Buka IDLE dan buat file baru. Simpan sebagai "kaleido -spiral.py".  

2. Impor Kura-kura 

Pertama, Anda perlu mengimpor modul kura-kura. Ini akan menjadi modul utama yang 

Anda gunakan. Ketik baris ini di bagian atas program. 

 

3. Siapkan kura-kura 

Kode yang ditampilkan di sini memanggil fungsi dalam modul kura-kura untuk 

mengatur warna latar belakang, serta kecepatan dan ukuran kura-kura. 

 

4. Pilih warna pena, gambar lingkaran 

Selanjutnya atur warna jejak kura-kura dan uji kodenya dengan menggambar 

lingkaran. Tambahkan dua baris ini ke akhir kode Anda dan jalankan program. 

 

70 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

5. Gambar lebih banyak lingkaran 

Anda sekarang akan melihat satu lingkaran, tetapi kami membutuhkan lebih banyak 

lagi. Di sinilah sedikit pintar. Letakkan perintah untuk menggambar lingkaran merah di 

dalam suatu fungsi, tetapi tambahkan garis sehingga fungsi tersebut memanggil 

dirinya sendiri. Trik ini, yang dikenal sebagai rekursi, membuat fungsi berulang. Ingat, 

fungsi perlu didefinisikan sebelum digunakan, jadi Anda harus memindahkan fungsi di 

atas garis yang memanggilnya. 

 

Pengulangan 

Ketika suatu fungsi memanggil dirinya sendiri, ini dikenal sebagai rekursi. Ini adalah 

cara lain untuk membuat loop dalam program Anda. Dalam sebagian besar 

penggunaan rekursi, parameter fungsi berubah setiap kali fungsi dipanggil. Dalam 

Kaleido-spiral, misalnya, ukuran, sudut, dan posisi lingkaran berubah setiap kali fungsi 

memanggil dirinya sendiri. 

6. Uji kode Anda 

Jalankan programnya. Anda akan melihat kura-kura menggambar lingkaran yang sama 

berulang-ulang. Jangan khawatir—Anda akan memperbaikinya di langkah berikutnya. 

7. Ubah warnanya, tambah ukurannya 

Untuk membuat pola yang lebih menarik, buat perubahan ini pada kode untuk 

memperbesar ukuran lingkaran dan mengubah warnanya. Kode ini memakai   

fungsi cycle(), yang mengambil daftar nilai sebagai parameternya dan mengembalikan 

jenis daftar khusus yang dapat Anda putar tanpa henti memakai   fungsi next(). 

Jalankan kode lagi. 

 

71 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

8. Perbaiki polanya 

Sekarang setelah Anda mengubah warna dan ukuran lingkaran, Anda dapat mencoba 

beberapa hal lagi untuk memperbaiki polanya. Mari kita beri sentuhan lucu dengan 

mengubah sudut dan posisi di mana setiap lingkaran digambar. Buat perubahan yang 

disorot dalam kode di bawah ini, lalu jalankan program dan lihat apa yang terjadi. 

 

 

3.3 PERETASAN DAN PENYESUAIAN 

Setelah semuanya bekerja dengan lancar, Anda dapat bermain-main dengan kode dan 

membuat polanya menjadi lebih fantastis. 

 

Gambar 3.8 Spiral Pena Tebal 

72 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Pena tebal 

Coba tambah ukuran pena dan lihat apa pengaruhnya pada pola Anda. Anda awalnya 

mengaturnya ke 4 dengan kode di bawah ini. Seperti apa tampilan 40? 

 

Penuh Warna 

Bagaimana jika Anda mengubah warna latar belakang pada setiap loop, serta warna 

pena? Ini mungkin memberi Anda beberapa hasil yang liar! Untuk mengubah warna 

latar belakang setiap kali, pindahkan garis yang menyetelnya ke dalam fungsi 

draw_circle(). Anda juga harus memakai   siklus warna untuk memilih warna baru 

pada setiap loop. 

 

Temukan pola baru 

Tampilan pola ditentukan oleh seberapa banyak Anda menambahkan parameter 

fungsi setiap kali dipanggil. Coba tambahkan lebih banyak atau lebih sedikit pada 

ukuran, pergeseran, dan sudut daripada yang Anda lakukan saat ini, untuk mengetahui 

bagaimana perubahan ini memengaruhi pola. 

 

Gambar 3.9 Perbandingan 2 Pola dengan letak tertentu 

 

Perubahan bentuk 

Bagaimana polanya jika program dapat menggambar bentuk lain dan juga lingkaran? 

Menambahkan persegi setiap waktu dapat menciptakan pola yang menarik. Berikut 

beberapa kode untuk membantu Anda. Hati-hati—nama fungsi telah berubah!  

 

73 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

Gambar 3.10 Pola perubahan Bentuk  

 

3.4 MALAM BERBINTANG 

Isi layar Anda dengan bintang-bintang yang indah! Proyek ini memakai   modul 

kura-kura Python untuk menggambar bentuk bintang. Angka acak menyebarkan bintang di 

atas layar dan memvariasikan warna, ukuran, dan bentuknya. 

Apa yang terjadi 

Pertama, langit malam hari digambar, lalu satu bintang muncul di langit. Saat program 

berlanjut, langit mulai dipenuhi dengan lebih banyak bintang dalam berbagai gaya yang 

berbeda. Semakin lama Anda membiarkan program berjalan, semakin fantastis dan berwarna 

langit menjadi. 

 

74 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 3.11 Jenis dan Bentuk Bintang 

 

Membuat warna 

Gambar dan grafik pada layar komputer terdiri dari titik-titik kecil yang disebut piksel, 

yang dapat mengeluarkan cahaya merah, hijau, dan biru. Dengan mencampur warna-warna 

ini bersama-sama, Anda dapat membuat warna apa pun yang bisa dibayangkan. Dalam proyek 

ini, warna setiap bintang disimpan sebagai tiga angka. Angka-angka mewakili jumlah cahaya 

merah, hijau, dan biru yang digabungkan untuk memberikan warna akhir. 

 

Gambar 3.12 Pencampuran Warna RGB 

 

Layar penuh bintang 

Proyek malam berbintang akan menggambar bintang satu per satu, tetapi karena 

memakai   loop while tak terbatas, itu akan menggambar bintang selamanya! Anda 

dapat mengubah rentang ukuran bintang dengan menyesuaikan batas angka acak 

dalam kode. 

 

75 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 3.13 pembatasan rentang ukuran dan warna bintang yang dibuat 

 

Bagaimana itu bekerja 

Kode untuk proyek ini menggambar bentuk bintang di lokasi acak di jendela Turtle 

Graphics. Anda akan menulis kode Python untuk membuat fungsi yang dapat menggambar 

satu bintang. Kemudian Anda akan membuat lingkaran yang mengulanginya berulang-ulang, 

menggambar banyak bintang berbeda di seluruh layar. 

Bagan alir Malam Berbintang 

Flowchartnya cukup sederhana, tanpa pertanyaan atau keputusan yang harus 

dibuat. Setelah kura-kura menggambar bintang pertama, program akan mengulang 

kembali dan mengulangi langkah menggambar bintang tanpa henti sampai Anda 

berhenti. 

 

Gambar 3.14 Diagram Alur membuat Bintang 

76 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Menghitung bintang 

Pada malam yang cerah ada sekitar 4.500 bintang yang terlihat di langit. Agar program 

Anda menarik banyak bintang, Anda harus membiarkannya berjalan selama lebih dari 

3 jam. 

Menggambar bintang 

Sebelum Anda membuat fungsi Anda, Anda perlu mengetahui cara menggambar 

bintang di kura-kura. Setelah Anda menguasainya, Anda akan dapat membuat sisa kode untuk 

proyek tersebut. 

1. Buat file baru 

Buka IDLE. Masuk ke menu File, lalu pilih File Baru. Simpan file sebagai 

"starry_night.py".  

2. Impor Kura-kura 

Ketik baris ini ke dalam jendela editor yang muncul. Ini memuat modul kura-kura, siap 

untuk Anda mulai menggambar bintang Anda. 

 

3. Tulis beberapa instruksi 

Sekarang tambahkan kode ini di bawah perintah untuk mengimpor penyu. Ini 

menciptakan variabel yang mengatur ukuran dan bentuk bintang. Ini juga memberi 

tahu kura-kura cara bergerak melewati jendela untuk menggambar bintang. 

 

4. Gambarlah bintang percobaan 

Dari menu IDLE, pilih Jalankan lalu Jalankan Modul untuk menguji proyek. Jendela 

Turtle Graphics akan muncul (mungkin di belakang jendela lain) dan Anda akan melihat 

panah kura-kura mulai menggambar bintang Anda. 

 

Gambar 3.15 PopUp Python Turtle Graphics 

77 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

5. Tambahkan kalkulator sudut 

Akan lebih baik untuk dapat menggambar bintang dengan jumlah poin yang berbeda. 

Buat perubahan ini pada kode. Ini akan menghitung sudut belokan yang harus dibuat 

kura-kura untuk menggambar bintang dengan banyak titik yang Anda pilih. 

 

6. Warnai itu!  

Anda telah menggambar bintang yang bagus dan rapi, tetapi saat ini terlihat agak 

kusam. Mari tambahkan beberapa warna agar lebih menarik. Ubah kode seperti yang 

ditunjukkan di sebelah kanan untuk mengecat kuning bintang Anda. 

7. Jalankan proyek 

Kura-kura harus menggambar bintang kuning. Lihat apakah Anda dapat mengubah 

warna bintang dengan mengedit kode. 

 

8. Gambar bintang yang berbeda 

Coba ubah angka setelah tanda sama dengan di titik variabel dan Anda akan melihat 

bahwa Anda dapat menggambar bintang yang berbeda. Perhatikan bahwa kode hanya 

berfungsi untuk bintang dengan jumlah poin ganjil. Angka genap akan mengacaukan 

segalanya. 

 

Gambar 3.16 bentuk dan warna bintang yang berbeda 

78 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Bintang berlubang 

Pada beberapa komputer, bintang Anda mungkin terlihat sedikit berbeda atau bahkan 

memiliki lubang di tengahnya. Tampilan Grafik Turtle Python dapat bervariasi 

tergantung pada jenis komputer yang Anda gunakan, tetapi ini tidak berarti bahwa 

kode Anda salah. 

 

Gambar 3.17 Bintang Macam yang berlubang 

 

Langit berbintang 

Langkah selanjutnya akan membungkus bintang Anda sebagai fungsi Python. Anda 

kemudian dapat memakai   fungsi itu untuk menggambar langit yang penuh 

dengan bintang. 

9. Buat fungsi bintang 

Edit kode seperti yang ditunjukkan di sini. Ini menggantikan hampir semua kode yang 

ada dengan versi baru. Blok besar membungkus semua instruksi menggambar bintang 

dan menyimpannya dengan rapi sebagai sebuah fungsi. Anda sekarang dapat 

memakai   fungsi ini untuk menggambar bintang di kode utama Anda dengan satu 

baris Python, draw_star().  

 

10. Jalankan proyek 

Kura-kura harus menggambar satu bintang kuning dengan latar belakang biru. 

 

79 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 3.18 Jendela Bintang yang akan dibuat 

 

Komentar 

Pemrogram sering memberikan komentar dalam kode mereka untuk mengingatkan 

mereka apa yang dilakukan oleh bagian yang berbeda dari suatu program atau untuk 

menjelaskan bagian yang rumit dari suatu proyek. Komentar harus dimulai dengan #. 

Python mengabaikan apa pun yang Anda ketik di baris yang sama setelahnya # dan 

tidak memperlakukannya sebagai bagian dari kode. Menulis komentar di proyek Anda 

sendiri (seperti baris # Kode utama yang ditunjukkan di atas) dapat sangat membantu 

ketika Anda kembali untuk melihat program setelah meninggalkannya sebentar. 

11. Tambahkan nomor acak 

Sekarang campur semuanya dengan menambahkan beberapa angka acak ke kode 

Anda. Ketik baris ini di bawah baris yang mengimpor kura-kura. Ini membawa fungsi 

randint() dan random() dari modul acak Python.  

 

12. Buat lingkaran 

Lakukan perubahan ini pada bagian #Kode utama. Itu menambahkan loop sementara 

yang terus-menerus mengacak parameter yang digunakan untuk mengatur ukuran, 

bentuk, warna, dan posisi bintang. 

 

13. Jalankan proyek lagi 

Jendela harus perlahan terisi saat kura-kura menggambar bintang demi bintang dalam 

berbagai warna, bentuk, dan ukuran. 

80 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 3.19 menggambar bintang secara acak 

 

3.5 KURA-KURA TAK TERLIHAT 

Jika Anda lebih suka tidak melihat kura-kura, ingatlah ada perintah yang dapat Anda 

gunakan untuk membuatnya tidak terlihat. Tambahkan baris ini ke program Anda dan bintang 

Anda akan muncul secara ajaib, digambar oleh kura-kura yang tidak terlihat!  

 

Peretasan dan penyesuaian 

Anda sekarang dapat membuat bintang sesuai permintaan. Mengapa tidak mencoba 

memakai   kode draw_star() di proyek Anda sendiri. Berikut adalah beberapa ide.  

Ubah bintang Anda 

Untuk mengubah seberapa bervariasi tampilan bintang Anda, ubah angka dalam 

kurung variabel ranPts dan ranSize dalam loop while.  

Rancang rasi bintang 

Rasi bintang adalah pola bintang di langit malam. Coba buat daftar posisi (x, y) untuk 

bintang di konstelasi desain Anda sendiri. Kemudian gunakan for loop untuk 

menggambar bintang di lokasi tersebut. 

Gambar beberapa planet 

Selidiki fungsi turtle.circle() dan lihat apakah Anda dapat memakai  nya untuk 

membuat beberapa kode gambar planet. Berikut beberapa kode untuk membantu 

Anda memulai. 

 

Klik untuk bintang 

Daripada membiarkan kura-kura menggambar bintang secara acak, coba gunakan 

fungsi turtle.onScreenClick() untuk menggambar bintang di mana pun Anda mengklik 

dengan mouse. 

81 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Percepat kura-kura 

Anda dapat mengubah seberapa cepat kura-kura menggambar bintang dengan 

membuat fungsi speed(). Cukup tambahkan t.speed(0) di awal kode utama untuk 

memberikan lebih banyak zip pada turtle. Anda dapat melihat semua fungsi modul 

kura-kura di bagian "Bantuan" Python.  

 

3.6 PELANGI ACAK 

Anda dapat memprogram kura-kura Python untuk menggambar segala macam pola 

dan desain. Tapi hati-hati! Sepertinya kura -kura dalam proyek ini menjadi sedikit liar— Anda 

tidak akan melihat pelangi seperti ini di langit!  

Apa yang terjadi 

Program akan meminta Anda untuk memilih panjang dan ketebalan garis yang dilukis 

oleh kura-kura. Kura-kura kemudian berlarian di sekitar layar sampai Anda menghentikan 

program, melukis garis-garis berwarna saat berjalan. Jenis pola yang dibuat akan berubah, 

tergantung pada panjang dan ketebalan garis. 

Warna apa selanjutnya? 

Di Mutant Rainbow, Anda akan memakai   fungsi choice() dari modul acak Python 

untuk memilih warna saat Anda memberi tahu kura-kura untuk menggambar garis. Ini berarti 

Anda tidak dapat benar-benar memprediksi warna mana yang akan digunakan kura-kura 

setiap saat. 

 

 

Gambar 3.20 Macam-macam pena berwarna 

 

 

 

82 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Tampilan warna  

Karena program ini memakai   perulangan while tak terbatas, kura-kura terus 

menggambar sampai Anda menutup jendelanya. Anda tidak hanya dapat mengubah 

warna, lebar, dan panjang garis, tetapi juga bentuk, warna, dan kecepatan kura-kura 

itu sendiri. 

Bagaimana itu bekerja 

Setiap pola dalam proyek ini berbeda karena program memberitahu kura-kura untuk 

menghadap ke arah baru secara acak sebelum melukis setiap garis. Warna untuk setiap baris 

juga dipilih secara acak dari daftar kemungkinan warna yang telah Anda kodekan. Jadi Anda 

tidak akan pernah bisa memprediksi dengan tepat apa yang akan dilakukan kura-kura!  

 

Gambar 3.21 Macam-macam ketebalan Pena 

 

Diagram alir Pelangi Mutan 

Program memakai   loop tak terbatas yang terus melukis garis berwarna selama 

program berjalan. Hanya ketika Anda menutup jendela, kura-kura akan menghentikan 

pengembaraannya yang gila. 

83 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 3.22 Diagram alur Pelangi Mutan 

 

Kura-kura pelarian! 

Diberi kebebasan penuh untuk berkeliaran, kura-kura cenderung berkeliaran di luar 

jendela. Saat Anda menyusun program, Anda akan menulis beberapa kode untuk 

memeriksa posisi kura-kura dan menghentikannya agar tidak menyimpang terlalu 

jauh. Jika tidak, ini akan berubah menjadi proyek penyu yang menghilang!  

Memulai 

Mulailah dengan menyiapkan dan menyimpan file baru, mengimpor modul yang 

dibutuhkan program, dan membuat beberapa fungsi yang berguna untuk mendapatkan 

masukan pengguna. 

1. Buat file baru 

Buka IDLE dan buat file baru. Simpan sebagai "pelangi.py".  

2. Tambahkan modul 

Ketik dua baris ini di bagian atas file Anda untuk mengimpor modul Turtle dan modul 

acak. Ingatlah untuk memakai   import turtle sebagai t, sehingga Anda tidak perlu 

mengetikkan kata “turtle” setiap kali ingin memakai   fungsi dari modul Turtle. 

Anda bisa menyebutnya t. 

 

3. Tetapkan panjang garis 

Selanjutnya buat fungsi yang akan membiarkan pengguna memutuskan apakah kura-

kura melukis garis panjang, sedang, atau pendek. Anda tidak akan memakai  nya 

sampai Langkah 4, tetapi ini akan membuat program siap saat Anda membutuhkannya. 

Ketik sedikit kode ini di bawah kode pada Langkah 1. 

84 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

4. Tentukan ketebalan 

Pada langkah ini, Anda akan membuat fungsi yang memungkinkan pengguna memilih 

apakah kura-kura melukis garis super tebal, tebal, atau tipis. Seperti fungsi 

get_line_length(), Anda tidak akan memakai  nya hingga Langkah 5. Ketik kode 

yang ditampilkan di sini, di bawah kode yang Anda tambahkan di Langkah 3. 

 

5. Gunakan fungsi 

Sekarang setelah Anda membangun dua fungsi, Anda dapat memakai  nya untuk 

mendapatkan pilihan pengguna untuk panjang dan lebar garis. Ketik baris ini di akhir 

kode Anda, lalu simpan pekerjaan Anda. 

 

6. Uji programnya 

Jalankan kode untuk melihat fungsi baru beraksi di shell. Mereka akan meminta Anda 

untuk memilih panjang dan lebar garis. 

 

Panggil kura-kura! 

Saatnya menulis kode yang akan membuat jendela grafik dan membawa kura-kura 

untuk menggambar. 

85 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

7. Buka jendela 

Ketik garis yang ditampilkan di sini di bawah kode yang Anda tambahkan pada Langkah 

5. Kode ini mendefinisikan warna latar belakang jendela, bentuk, warna, dan 

kecepatan kura-kura, dan lebar pena yang akan digunakan kura-kura untuk 

menggambar garis. 

 

8. Jalankan proyek 

Jika Anda menjalankan kode sekali lagi, sebuah jendela akan muncul setelah Anda 

memasukkan ukuran garis di jendela shell. Anda sekarang akan melihat kura-kura. 

Perhatikan baik-baik, karena itu tidak akan duduk diam terlalu lama!  

9. Tetap dalam batas!  

Untuk menghentikan kura-kura agar tidak tersesat, mari kita tetapkan batas 100 

langkah dari tepi jendela. Buat fungsi ini untuk memeriksa apakah kura-kura berada di 

dalam batas atau tidak. Ketik kode yang ditunjukkan di sini di bawah kode di Langkah 

4 dan di atas kode di Langkah 5. 

 

 

Gambar 3.23 Hasil dari list program 

86 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Cara kerjanya 

Kode memeriksa apakah koordinat x kura -kura berada di antara batas kanan dan kiri, 

dan apakah koordinat y berada di antara batas atas dan bawah. 

 

Gambar 3.24 memeriksa letak bintang yang muncul 

 

Pindahkan kura-kura itu! 

Sekarang Anda siap untuk menulis fungsi yang membuat kura-kura Anda bergerak. 

Bagian terakhir dari kode akan menjadi loop sementara yang membuat kura-kura 

menggambar pelangi mutan!  

10. Garis mutan 

Tambahkan kode ini di bawah kode yang Anda ketik di Langkah 9, dan di atas kode 

yang Anda ketik di Langkah 5. Fungsi ini membuat kura-kura berputar dan bergerak 

maju ke arah yang baru, menggambar satu baris warna acak saat berjalan. Program 

utama Anda akan memakai  nya berulang kali untuk menggambar pelangi mutan. 

Jika kura-kura tersesat di luar batas yang Anda tetapkan di Langkah 9, fungsi ini akan 

mengembalikannya. 

Cara kerjanya 

Kode memanggil fungsi inside_window() untuk melihat apakah kura -kura berada 

dalam batas jendela. Jika ya, kura-kura berbelok ke kanan dengan jumlah acak antara 

0 derajat (tidak berbelok sama sekali) dan 180 derajat (menghadap ke arah yang 

berlawanan), lalu bergerak lagi. Jika sudah terlalu jauh dari batas, ia bergerak mundur.  

11. Pergi, Kura-Kura, Pergi!  

Terakhir, tambahkan kode yang sebenarnya akan memulai menggambar kura-kura 

Anda. Ketik dua baris ini tepat di bagian bawah kode Anda, di bawah perintah yang 

Anda tambahkan di Langkah 7. Kemudian simpan dan jalankan kode untuk melihat 

pelangi mutan pertama Anda!  

 

87 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

Peretasan dan penyesuaian 

Apakah mutan pelangi Anda cukup? Tidak? Berikut adalah beberapa ide yang bisa Anda coba 

untuk membuatnya lebih aneh!  

 Kejutan warna! 

Dalam Python, warna juga dapat dideskripsikan dengan memakai   nilai RGB— ini 

singkatan dari merah, hijau, biru. Memilih nilai secara acak untuk jumlah merah, hijau, 

dan biru dalam suatu warna berarti warna itu sendiri akan sepenuhnya acak. Coba 

ganti kode di fungsi move_turtle() dengan beberapa kode baru yang memakai   

nilai RGB alih-alih nama warna. Sekarang jalankan kode untuk melihat warna apa yang 

muncul!  

 

 

Campurkan garis 

Jangan hanya berpegang pada satu lebar untuk garis—gambar pelangi yang lebih acak 

dengan retasan ini! Garis akan berubah secara acak dari sangat tipis menjadi sangat 

88 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

tebal dan semua lebar di antaranya. Tambahkan kode ini ke fungsi move_ turtle() 

setelah Anda menyetel t.pencolor. 

 

 

3.7 WARNA RGB 

Dalam kura-kura, warna "biru" adalah (0, 0, 255) dalam nilai RGB, karena terdiri dari 

jumlah maksimum biru, tanpa merah atau hijau. Jika Anda ingin memakai   nilai RGB untuk 

warna pena kura-kura, Anda perlu memberi tahu Python dengan memakai   perintah 

t.colormode(255), atau ia akan mengharapkan string dan memberi Anda kesalahan.  

 

Cap kura-kura! 

“Keling” garis pelangi Anda bersama-sama dengan memakai   fungsi stamp() modul 

turtle untuk menambahkan gambar turtle ke awal setiap baris. (Anda juga dapat 

menulis sebuah fungsi untuk menggambar garis yang seluruhnya terdiri dari kura-kura 

yang dicap dan memakai  nya sebagai ganti t.forward dan t.backward.) Tambahkan 

baris kode baru ini ke fungsi move_turtle(), setelah perintah pena, ke mulai memukau.  

 

 

Gambar 3.25 Bintang berekor dengan variasi warna  

89 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Belokan besar atau kecil? 

Anda dapat menambahkan prompt yang memungkinkan pengguna untuk 

memutuskan sudut belokan yang dibuat kura-kura. Mereka bisa lebar, persegi, atau sempit. 

Ikuti langkah-langkah ini untuk melihat bagaimana ini mengubah pola. 

1. Buatlah fungsi 

Buat fungsi yang memungkinkan pengguna memilih ukuran belokan. Tambahkan ini di 

atas fungsi get_line_length() yang Anda tambahkan di Langkah 3 proyek utama.  

 

2. Gerakan yang berbeda 

Ganti fungsi move_turtle() dengan versi baru yang ditampilkan di sini. Itu 

menambahkan turn_size ke nilai yang Anda berikan ke fungsi saat Anda 

memakai  nya. Itu juga menggantikan sudut garis = acak. randint(0, 180) dengan 

kode yang memilih derajat berbeda untuk berbelok tergantung pada nilai turn_size.  

 

3. Masukan pengguna 

Selanjutnya tambahkan baris ke bagian utama program untuk memakai   fungsi 

get_turn_size() untuk m endapatkan pilihan ukuran giliran pemain. 

 

4. Program utama 

Terakhir, ubah baris tempat Anda memakai   fungsi move_turtle() untuk 

menyertakan turn_size.  

90 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

Gambar 3.26 Warna dan Ketebalan Pena yang berbeda 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

91 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

BAB 4 

APLIKASI BERMAIN 

 

 

4.1 KALENDER HITUNG MUNDUR 

Saat Anda menantikan acara yang menarik, ada baiknya Anda mengetahui berapa lama 

lagi Anda harus menunggu. Dalam proyek ini, Anda akan memakai   modul Tkinter Python 

untuk membangun program praktis yang menghitung mundur hingga hari besar. 

Apa yang terjadi 

Saat Anda menjalankan program, program ini menampilkan daftar acara mendatang 

dan memberi tahu Anda berapa hari yang tersisa hingga setiap acara. Jalankan lagi keesokan 

harinya dan Anda akan melihat bahwa itu telah mengurangi satu hari dari masing-masing 

angka "hari sampai". Isi dengan tanggal petualangan Anda yang akan datang dan Anda tidak 

akan pernah melewatkan hari penting—atau tenggat waktu pekerjaan rumah—lagi!  

 

Gambar 4.1 Kalender Perhitungan Mundur 

 

Bagaimana itu bekerja 

Program mempelajari tentang peristiwa penting dengan membaca informasi dari file 

teks—ini disebut "input file". File teks berisi nama dan tanggal setiap acara. Kode menghitung 

jumlah hari dari hari ini hingga setiap acara memakai   modul datetime Python. Ini 

menampilkan hasil di jendela yang dibuat oleh modul Tkinter Python. 

memakai   Tkinter 

Modul Tkinter adalah seperangkat alat yang digunakan programmer Python untuk 

menampilkan grafik dan mendapatkan input dari pengguna. Alih-alih menampilkan 

output di shell, Tkinter dapat menampilkan hasil di jendela terpisah yang dapat Anda 

rancang dan gaya sendiri. 

 

 

92 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

4.2 ANTARMUKA PENGGUNA GRAFIS 

Tkinter berguna untuk membuat apa yang oleh pembuat kode disebut GUI (diucapkan 

"lengket"). GUI (antarmuka penggun a grafis) adalah bagian yang terlihat dari program yang 

berinteraksi dengan seseorang, seperti sistem ikon dan menu yang Anda gunakan pada ponsel 

cerdas. Tkinter membuat jendela sembulan yang dapat Anda tambahkan tombol, penggeser, 

dan menu. 

 

Gambar 4.2 Indikator Baterai dan kuat sinyal WiFi 

 

Diagram Alir Kalender Hitung Mundur 

Dalam proyek ini, daftar peristiwa penting dibuat secara terpisah dari kode sebagai file 

teks. Program dimulai dengan membaca semua kejadian dari file ini. Setelah semua 

hari dihitung dan ditampilkan, program berakhir. 

 

Gambar 4.3 Diagram Alir Kalender hitung mundur 

93 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Membuat dan membaca file teks 

Semua informasi untuk Kalender Hitung Mundur Anda harus disimpan dalam file teks. 

Anda dapat membuatnya memakai   IDLE. 

1. Buat file baru 

Buka file IDLE baru, lalu ketik beberapa acara mendatang yang penting bagi Anda. 

Letakkan setiap acara pada baris terpisah dan ketik koma di antara acara dan 

tanggalnya. Pastikan tidak ada spasi antara koma dan tanggal acara. 

 

2. Simpan sebagai file teks 

Selanjutnya simpan file tersebut sebagai file teks. Klik menu File, pilih Save As, dan 

panggil file “events.txt”. Sekarang Anda siap untuk mulai mengkode program Python. 

 

3. Buka file Python baru 

Anda sekarang perlu membuat file baru untuk kode tersebut. Simpan sebagai 

"countdown_calendar.py" dan pastikan itu berada di folder yang sama dengan file 

"events.txt" Anda.  

 

 

Gambar 4.4 Ilustrasi Membuka file 

4. Siapkan modul 

Proyek ini membutuhkan dua modul: Tkinter dan datetime. Tkinter akan digunakan 

untuk membangun GUI sederhana, sedangkan datetime akan memudahkan 

perhitungan memakai   tanggal. Impor mereka dengan mengetikkan dua baris ini 

di bagian atas program baru Anda. 

 

94 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

5. Buat kanvas 

Sekarang atur jendela yang akan menampilkan acara penting Anda dan jumlah hari 

hingga setiap acara. Letakkan kode ini di bawah garis yang Anda tambahkan pada 

Langkah 4. Ini menciptakan jendela yang berisi "kanvas" —persegi panjang kosong yang 

dapat Anda tambahkan teks dan gambar. 

 

Kanvas 

Di Tkinter, kanvas adalah area, biasanya persegi panjang, tempat Anda dapat 

menempatkan berbagai bentuk, grafik, teks, atau gambar yang dapat dilihat atau 

berinteraksi dengan pengguna. Anggap saja seperti kanvas seniman—kecuali Anda 

memakai   kode untuk membuat sesuatu, bukan kuas!  

6. Jalankan kodenya 

Sekarang coba jalankan kodenya. Anda akan melihat jendela muncul dengan judul 

program. Jika tidak berhasil, ingatlah untuk membaca pesan kesalahan apa pun dan 

periksa kode Anda dengan cermat untuk menemukan kemungkinan kesalahan. 

 

Gambar 4.5 jendel hasil saat run program  

95 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

7. Baca file teks 

Selanjutnya buat fungsi yang akan membaca dan menyimpan semua kejadian dari file 

teks. Di bagian atas kode Anda, setelah mengimpor modul, buat fungsi baru bernama 

get_events. Di dalam fungsi tersebut terdapat daftar kosong yan g akan menyimpan 

kejadian ketika file telah dibaca. 

 

8. Buka file teks 

Potongan kode berikutnya akan membuka file bernama events.txt sehingga program 

dapat membacanya. Ketik baris ini di bawah kode Anda dari Langkah 7. 

 

9. Mulai lingkaran 

Sekarang tambahkan for loop untuk membawa informasi dari file teks ke dalam 

program Anda. Loop akan dijalankan untuk setiap baris dalam file events.txt.  

 

10. Hapus karakter yang tidak terlihat 

Saat Anda mengetik informasi ke dalam file teks di Langkah 1, Anda menekan tombol 

enter/return di akhir setiap baris. Ini menambahkan karakter "baris baru" yang tidak 

terlihat di akhir setiap baris. Meskipun Anda tidak dapat melihat karakter ini, Python 

bisa. Tambahkan baris kode ini, yang memberi tahu Python untuk mengabaikan 

karakter tak terlihat ini saat membaca file teks. 

11. Simpan detail acara 

Pada titik ini, variabel yang disebut garis menyimpan informasi tentang setiap 

peristiwa sebagai string, seperti Halloween,31/10/2017. Gunakan perintah split() 

untuk memotong string ini menjadi dua bagian. Bagian sebelum dan sesudah koma 

akan menjadi item terpisah yang dapat Anda simpan dalam daftar yang disebut 

current_event. Tambahkan baris ini setelah kode Anda di Langkah 10.  

 

96 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Modul waktu-tanggal 

Modul datetime Python sangat berguna jika Anda ingin melakukan perhitungan yang 

melibatkan tanggal dan waktu. Misalnya, apakah Anda tahu hari apa dalam seminggu 

Anda lahir? Coba ketik ini ke dalam shell Python untuk mencari tahu. 

 

Daftar posisi 

Ketika Python memberi nomor item dalam daftar, itu dimulai dari 0. Jadi item pertama 

dalam daftar current_event Anda, “Halloween”, ada di posisi 0, sedangkan item kedua, 

“31/10/2017”, ada di posisi 1. Itu sebabnya kode mengubah current_event[1] menjadi 

tanggal. 

12. memakai   waktu tanggal 

Acara Halloween disimpan di current_event sebagai daftar yang berisi dua item: 

"Halloween" dan "31/10/2017". Gunakan modul datetime untuk mengonversi item 

kedua dalam daftar (di posisi 1) dari string menjadi bentuk yang dapat dipahami 

Python sebagai tanggal. Tambahkan baris kode ini di bagian bawah fungsi. 

 

13. Tambahkan acara ke daftar 

Sekarang daftar current_event menampung dua hal: nama acara (sebagai string) dan 

tanggal acara. Tambahkan current_event ke daftar acara. Berikut seluruh kode untuk 

fungsi get_events().  

 

97 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Mengatur hitungan mundur 

Pada tahap pembuatan Kalender Hitung Mundur berikutnya, Anda akan membuat 

fungsi untuk menghitung jumlah hari antara hari ini dan acara penting Anda. Anda juga 

akan menulis kode untuk menampilkan acara di kanvas Tkinter. 

14. Hitung hari 

Buat fungsi untuk menghitung jumlah hari antara dua tanggal. Modul datetime 

membuatnya mudah, karena dapat menambahkan tanggal bersama-sama atau 

mengurangi satu dari yang lain. Ketik kode yang ditampilkan di sini di bawah fungsi 

get_events() Anda. Ini akan menyimpan juml ah hari sebagai string dalam variabel 

time_between.  

 

15. Pisahkan talinya 

Jika Halloween tinggal 27 hari lagi, string yang disimpan di time_between akan terlihat 

seperti ini: '27 hari, 0:00:00' (nol mengacu pada jam, menit, dan detik). Hanya angka 

di awal string yang penting, jadi Anda bisa memakai   perintah split() lagi untuk 

mendapatkan bagian yang Anda butuhkan. Ketik kode yang disorot di bawah ini 

setelah kode pada Langkah 14. Ini mengubah string menjadi daftar tiga item: '27', 

'hari', '0:00:00'. Daftar  disimpan dalam number_of_days.  

 

16. Kembalikan jumlah hari 

Untuk menyelesaikan fungsi ini, Anda hanya perlu mengembalikan nilai yang disimpan 

di posisi 0 dari daftar. Dalam kasus Halloween, itu adalah 27. Tambahkan baris kode 

ini ke akhir fungsi. 

98 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

17. Dapatkan acaranya 

Sekarang setelah Anda menulis semua fungsi, Anda dapat memakai  nya untuk 

menulis bagian utama program. Letakkan dua baris ini di bagian bawah file Anda. Baris 

pertama memanggil (menjalankan) fungsi get_events() dan menyimpan daftar acara 

kalender dalam variabel yang disebut acara. Baris kedua memakai   modul 

datetime untuk mendapatkan tanggal hari ini dan menyimpannya dalam variabel yang 

disebut hari ini. 

 

18. Tampilkan hasilnya 

Selanjutnya hitung jumlah hari hingga setiap peristiwa dan tampilkan hasilnya di layar. 

Anda perlu melakukan ini untuk setiap acara dalam daftar, jadi gunakan for loop. Untuk 

setiap peristiwa dalam daftar, panggil fungsi days_between_dates() dan simpan 

hasilnya dalam variabel yang disebut days_until. Kemudian gunakan fungs i Tkinter 

create_text() untuk menampilkan hasilnya di layar. Tambahkan kode ini tepat setelah 

kode dari Langkah 17. 

19. Uji programnya 

Sekarang coba jalankan kodenya. Sepertinya semua baris teks ditulis di atas satu sama 

lain. Bisakah Anda mencari tahu apa yang salah? Bagaimana Anda bisa 

menyelesaikannya? 

 

 

99 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

20. Sebarkan 

Masalahnya adalah semua teks ditampilkan di lokasi yang sama (100, 100). Jika kita 

membuat variabel bernama vertical_space dan meningkatkan nilainya setiap kali 

program melewati perulangan for, itu akan meningkatkan nilai koordinat y dan spasi 

teks lebih jauh ke bawah layar. Itu akan menyelesaikannya!  

 

Gambar 4.7 PopUp Kalender yang muncul 

 

21. Mulai hitungan mundur!  

Itu saja—Anda telah menulis semua kode yang Anda butuhkan untuk Kalender Hitung 

Mundur. Sekarang jalankan program Anda dan cobalah. 

 

Peretasan dan penyesuaian 

Cobalah peretasan dan penyesuaian ini untuk membuat Kalender Hitung Mundur lebih 

berguna. Beberapa di antaranya lebih sulit daripada yang lain, jadi ada beberapa tips berguna 

untuk membantu Anda. 

Cat ulang kanvas 

Anda dapat mengedit warna latar belakang kanvas Anda dan benar-benar meramaikan 

tampilan tampilan program. Ubah baris kode c = Canvas.  

 

Urutkan! 

Anda dapat mengubah kode Anda sehingga acara diurutkan ke dalam urutan yang akan 

terjadi. Tambahkan baris kode ini sebelum perulangan for. Ini memakai   fungsi 

sort() untuk mengatur acara dalam urutan menaik, dari jumlah hari terkecil hingga 

yang terbesar. 

100 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Ubah gaya teks 

Berikan antarmuka pengguna Anda tampilan baru yang segar dengan mengubah 

ukuran, warna, dan gaya teks judul. 

 

Setel pengingat 

Mungkin berguna untuk menyoroti peristiwa yang akan segera terjadi. Retas kode 

Anda sehingga acara apa pun yang terjadi di minggu depan ditampilkan dengan warna 

merah. 

 

 

4.3 TANYAKAN PADA AHLINYA 

Bisakah Anda menyebutkan semua ibu kota di dunia? Atau para pemain di tim olahraga 

favorit Anda? Setiap orang ahli dalam sesuatu. Dalam proyek ini, Anda akan membuat kode 

program yang tidak hanya dapat menjawab pertanyaan Anda, tetapi juga mempelajari hal-hal 

baru dan menjadi seorang ahli. 

Apa yang terjadi 

Kotak input meminta Anda memasukkan nama negara. Saat Anda mengetikkan 

jawaban Anda, program akan memberi tahu Anda apa ibu kotanya. Jika program tidak tahu, 

ia meminta Anda untuk mengajarinya jawaban yang benar. Semakin banyak orang 

memakai   program ini, semakin pintar!  

 

101 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 4.8 Pop-Up Pertanyaan ketika salah menjawab 

 

Bagaimana itu bekerja 

Program mendapatkan informasi tentang ibu kota dari file teks. Anda akan 

memakai   modul Tkinter untuk membuat kotak popup yang memungkinkan program dan 

pengguna berkomunikasi. Ketika ibu kota baru dimasukkan oleh pengguna, informasi 

ditambahkan ke dalam file teks. 

Komunikasi 

Program ini memakai   dua widget Tkinter baru. Yang pertama, simpledialog( ), 

membuat kotak popup yang meminta pengguna untuk memasukkan nama negara. 

Yang kedua, messagebox(), menampilkan ibu kota.  

Kamus 

Anda akan menyimpan nama negara dan ibu kotanya dalam kamus. Kamus bekerja 

sedikit seperti daftar, tetapi setiap item dalam kamus memiliki dua bagian, yang 

disebut kunci dan nilai. Biasanya lebih cepat untuk mencari sesuatu di kamus daripada 

menemukan sesuatu dalam daftar panjang. 

Tanyakan diagram alur Pakar 

Ketika program dimulai, ia membaca data dari file teks. Kemudian memakai   loop 

tak terbatas untuk terus mengajukan pertanyaan, dan hanya berhenti ketika pengguna 

keluar dari program. 

102 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 4.9 Diagram alur membuat pertanyaan 

 

4.4 SISTEM PAKAR 

Sistem pakar adalah program komputer yang ahli pada topik tertentu. Sama seperti 

seorang ahli manusia, ia tahu jawaban atas banyak pertanyaan, dan juga dapat membuat 

keputusan dan memberi nasihat. Hal ini dapat dilakukan karena seorang programmer telah 

mengkodekannya dengan semua data yang dibutuhkannya dan aturan tentang cara 

memakai   data tersebut. 

Langkah pertama 

Ikuti langkah-langkah ini untuk membangun sistem pakar Anda sendiri memakai   Python. 

Anda harus menulis file teks ibukota negara, membuka jendela Tkinter, dan membuat kamus 

untuk menyimpan semua pengetahuan. 

1. Siapkan file teks 

Pertama buat file teks untuk menampung daftar ibu kota dunia. Buat file baru di IDLE 

dan ketik fakta berikut. 

 

Gambar 4.10 membuat file 

103 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

2. Simpan file teks 

Simpan file sebagai "capital_data.txt". Program akan mendapatkan pengetahuan 

khusus dari file ini. 

3. Buat file Python 

Untuk menulis program, buat file baru dan simpan sebagai "ask_expert.py". Pastikan 

Anda menyimpannya di folder yang sama dengan file teks Anda. 

 

Gambar 4.11 Menyimpan File 

 

4. Impor alat Tkinter 

Untuk membuat program ini, Anda memerlukan beberapa widget dari modul Tkinter. 

Ketik baris ini di bagian atas program Anda. 

 

5. Mulai Tkinter 

Selanjutnya tambahkan kode berikut untuk menampilkan judul proyek di shell. Tkinter 

secara otomatis membuat jendela kosong. Anda tidak memerlukannya untuk proyek 

ini, jadi sembunyikan dengan baris kode yang cerdas. 

 

6. Uji kodenya 

Coba jalankan kode Anda. Anda akan melihat nama proyek yang ditampilkan di shell. 

7. Siapkan kamus 

Sekarang ketik baris kode ini setelah kode yang Anda tulis untuk Langkah 5. Kode baru 

mengatur kamus yang akan menyimpan nama negara dan ibu kotanya. 

 

memakai   kamus 

Kamus adalah cara lain Anda dapat menyimpan informasi dengan 

Python. Ini mirip dengan daftar, tetapi setiap item memiliki dua bagian: kunci 

dan nilai. Anda dapat mengujinya dengan mengetik ini di jendela shell. 

 

104 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

1. Untuk menampilkan isi kamus, Anda harus mencetaknya. Coba cetak 

favorite_foods.  

 

2. Sekarang tambahkan item baru ke kamus: Julie dan makanan favoritnya. Dia 

suka kue. 

 

3. Jill berubah pikiran—makanan favoritnya sekarang adalah taco. Anda dapat 

memperbarui informasi ini di kamus. 

 

4. Terakhir, kamu bisa mencari makanan favorit Roger di kamus hanya dengan 

memakai   namanya sebagai kunci. 

 

Saatnya fungsi! 

Tahap proyek selanjutnya melibatkan pembuatan fungsi yang perlu Anda gunakan 

dalam program Anda. 

 

8. Masukan file 

Anda memerlukan fungsi untuk membaca semua informasi yang tersimpan dalam file 

teks Anda. Ini akan mirip dengan yang Anda gunakan di Kalender Hitung Mundur untuk 

membaca data dari file acara Anda. Tambahkan kode ini setelah baris impor Tkinter. 

 

 

 

105 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

9. Baris demi baris 

Sekarang gunakan for loop untuk menelusuri file baris demi baris. Sama seperti di 

Kalender Hitung Mundur, Anda harus menghapus karakter baris baru yang tidak 

terlihat. Maka Anda perlu menyimpan nilai negara dan kota dalam dua variabel. 

memakai   perintah split, kode akan mengembalikan dua nilai. Anda dapat 

menyimpan nilai-nilai ini dalam dua variabel memakai   satu baris kode. 

 

10. Tambahkan data ke kamus 

Pada tahap ini, variabel negara dan kota menyimpan informasi yang perlu Anda 

tambahkan ke dalam kamus. Untuk baris pertama dalam file teks Anda, negara akan 

memegang "India" dan kota akan memegang "New Delhi". Baris kode berikutnya 

menambahkannya ke dalam kamus. 

 

11. Keluaran berkas 

Saat pengguna mengetik di ibu kota yang tidak diketahui program, Anda ingin program 

memasukkan informasi baru ini ke dalam file teks. Ini disebut keluaran file. Ini bekerja 

dengan cara yang mirip dengan input file, tetapi alih-alih membaca file, Anda menulis 

ke dalamnya. Ketik fungsi baru ini setelah kode yang Anda ketik di Langkah 10. 

 

12. Tulis ke file 

Sekarang tambahkan satu baris kode untuk menulis informasi baru ke dalam file. 

Pertama kode akan menambahkan karakter baris baru, yang memberitahu program 

untuk memulai baris baru dalam file teks. Kemudian ditulis nama negara diikuti dengan 

garis miring (/) dan nama ibu kota, seperti Mesir/Kairo. Python secara otomatis 

menutup file teks setelah informasi ditulis ke dalamnya. 

 

106 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Kode program utama 

Anda telah menulis semua fungsi yang Anda butuhkan, jadi inilah saatnya untuk mulai 

mengkode program utama. 

 

13. Baca file teks 

Hal pertama yang Anda ingin program lakukan adalah membaca informasi dari file 

teks. Tambahkan baris ini setelah kode yang Anda tulis di Langkah 7. 

 

14. Mulai loop tak terbatas 

Selanjutnya tambahkan kode di bawah ini untuk membuat infinite loop. Di dalam loop 

adalah fungsi dari modul Tkinter: simpledialog.askstring(). Fungsi ini membuat kotak 

di layar yang menampilkan informasi dan memberi ruang bagi pengguna untuk 

mengetik jawaban. Uji kode lagi. Sebuah kotak akan muncul menanyakan Anda untuk 

nama negara. Mungkin tersembunyi di balik jendela lain. 

 

 

 

Gambar 4.12 Jendela pertanyaan 

 

15. Tahu jawabannya? 

Sekarang tambahkan pernyataan if untuk melihat apakah program mengetahui 

jawabannya. Ini akan memeriksa apakah negara dan ibu kotanya disimpan dalam 

kamus. 

 

107 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

16. Tampilkan jawaban yang benar 

Jika negara berada di the_world, Anda ingin program mencari jawaban yang benar dan 

menampilkannya di layar. Untuk melakukan ini, gunakan kotak pesan. showinfo() dari 

modul Tkinter. Ini menampilkan pesan dalam kotak dengan tombol OK. Ketik ini di 

dalam pernyataan if. 

 

17. Ujilah 

Jika kode Anda memiliki bug, sekarang adalah saat yang tepat untuk menangkapnya. 

Saat diminta untuk menyebutkan nama negara, ketik "Prancis". Apakah itu memberi 

Anda jawaban yang benar? Jika tidak, lihat kembali kode Anda dengan hati-hati dan 

lihat apakah Anda dapat menemukan di mana kesalahannya. Apa yang akan terjadi jika 

Anda mengetik di negara yang tidak ada dalam file teks? Cobalah untuk melihat 

bagaimana program merespons. 

18. Ajarkan itu 

Terakhir, tambahkan beberapa baris lagi setelah pernyataan if. Jika negara tidak ada 

dalam kamus, program akan meminta pengguna untuk memasukkan nama ibu 

kotanya. Ibu kota ini ditambahkan ke kamus, sehingga program mengingatnya untuk 

waktu berikutnya. Kemudian fungsi write_to_file() menambahkan kota ke file teks.  

 

19. Menjalankannya 

Itu dia. Anda telah menciptakan pakar digital! Sekarang jalankan kodenya dan mulai 

kuis!  

108 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Peretasan dan penyesuaian 

Bawa program Anda ke tingkat berikutnya dan buat lebih pintar dengan mencoba 

saran-saran ini. 

Di seluruh dunia 

Ubah program Anda menjadi jenius geografis dengan membuat file teks yang berisi 

setiap negara di dunia dan ibu kotanya. Ingatlah untuk meletakkan setiap entri pada 

baris baru dalam format ini: nama negara/ibu kota.  

Kapitalisasi 

Jika pengguna lupa memakai   huruf kapital untuk menyebut negara, program tidak 

akan menemukan ibu kota. Bagaimana Anda bisa memecahkan masalah ini 

memakai   kode? Inilah salah satu cara untuk melakukannya. 

 

Data yang berbeda 

Saat ini, program hanya mengetahui tentang ibu kota dunia. Anda dapat mengubahnya 

dengan mengedit file teks sehingga menyimpan fakta tentang subjek yang menjadi 

keahlian Anda. Misalnya, Anda bisa mengajarinya nama tim olahraga terkenal dan 

pelatihnya. 

 

Gambar 4.13 Jendela Penulisan data 

Cek fakta 

Program Anda saat ini menambahkan jawaban baru langsung ke file teks, tetapi tidak 

dapat memeriksa apakah jawabannya benar. Tweak kode sehingga jawaban baru 

disimpan dalam file teks terpisah. Kemudian Anda dapat memeriksanya nanti sebelum 

menambahkannya ke file teks utama. Inilah cara Anda dapat mengubah kode. 

 

 

 

109 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

4.5 PESAN RAHASIA 

Tukar pesan dengan teman Anda memakai   seni kriptografi—mengubah teks 

pesan sehingga orang yang tidak mengetahui metode rahasia Anda tidak dapat 

memahaminya!  

Apa yang terjadi 

Program akan menanyakan apakah Anda ingin membuat pesan rahasia atau 

mengungkapkan isi pesan rahasia. Ini kemudian akan meminta Anda untuk mengetikkan 

pesan. Jika Anda memilih untuk membuat pesan rahasia, pesan Anda akan berubah menjadi 

omong kosong belaka. Tetapi jika Anda memilih untuk mengungkapkan pesan, omong kosong 

akan berubah menjadi teks yang dapat Anda baca!  

Kriptografi 

Kata kriptografi berasal dari kata Yunani kuno untuk “tersembunyi” dan “menulis.” 

Orang -orang telah memakai   teknik ini untuk mengirim pesan rahasia selama hampir 

4.000 tahun. Berikut adalah beberapa istilah khusus yang digunakan dalam kriptografi— 

• Cipher: satu set instruksi untuk mengubah pesan untuk menyembunyikan maknanya. 

• Encrypt: untuk menyembunyikan pesan rahasia.  

• Decrypt: untuk mengungkapkan pesan rahasia.  

• Ciphertext: pesan setelah dienkripsi. 

• Plaintext: pesan sebelum dienkripsi. 

Bagikan kodenya 

Jika Anda membagikan kode Python Anda dengan seorang teman, Anda akan dapat saling 

mengirimkan pesan rahasia. 

Bagaimana itu bekerja 

Program mengatur ulang urutan huruf dalam pesan sehingga tidak dapat dipahami. Ini 

dilakukan dengan mencari tahu huruf mana yang berada di posisi genap atau ganjil. Kemudian 

ia menukar posisi setiap pasangan huruf dalam pesan, dimulai dengan dua yang pertama, lalu 

dua berikutnya, dan seterusnya. Program ini juga membuat pesan terenkripsi dapat dibaca 

kembali dengan mengalihkan huruf kembali ke tempat awal. 

 

Gambar 4.14 Pesan Rahasia dalam sebuah Text  

 

Enkripsi 

Saat Anda menjalankan kode pada pesan Anda, program menukar setiap pasangan 

huruf, mengacak artinya. 

Dekripsi 

Saat Anda atau teman mendekripsi pesan, program akan mengembalikan huruf ke 

posisi semula. 

 

110 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Bagan alir Pesan Rahasia 

Program ini memakai   infinite loop yang menanyakan pengguna apakah mereka 

ingin mengenkripsi atau mendekripsi. Pilihan pengguna menentukan jalur mana yang 

kemudian diambil program. Kotak dialog mendapatkan teks dari pengguna, 

sedangkan kotak info menampilkan pesan terenkripsi dan dekripsi kepada mereka. 

Program berakhir jika pengguna mengetik apa pun kecuali "enkripsi" atau "dekripsi".  

 

Gambar 4.16 Diagram alir pesan rahasia 

 

Misteri x 

Program membutuhkan pesan untuk memiliki jumlah karakter yang genap. Ini 

memeriksa pesan dan menghitung karakter. Jika ada jumlah karakter yang ganjil, ia 

menambahkan x di akhir untuk membuatnya genap. Anda dan rekan agen rahasia 

Anda akan tahu untuk mengabaikan x, jadi Anda tida k akan tertipu!  

 

Gambar 4.17 Hasil Pesan rahasia yang muncul 

 

4.6 MEMBUAT GUI 

Anda akan menulis kode Anda dalam dua bagian. Pertama, Anda akan mengatur 

beberapa fungsi untuk mendapatkan masukan dari pengguna; maka Anda akan menulis kode 

yang melakukan enkripsi dan dekripsi. Sekarang mari kita mulai—Anda tidak pernah tahu 

kapan Anda mungkin perlu mengirim pesan rahasia kepada seseorang!  

 

111 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

1. Buat file baru 

Buka IDLE dan buat file baru. Simpan sebagai "secret_messages.py".  

 

2. Tambahkan modul 

Anda perlu mengimpor beberapa widget dari modul Tkinter Python. Ini akan 

memungkinkan Anda memakai   beberapa fitur GUI-nya, seperti kotak pesan untuk 

menampilkan informasi kepada pengguna, dan dialog sederhana untuk mengajukan 

pertanyaan kepada mereka. Ketik baris ini di bagian atas file Anda. 

 

3. Enkripsi atau dekripsi? 

Sekarang buat fungsi, get_task(), untuk membuka kotak dialog yang menanyakan 

pengguna apakah mereka ingin mengenkripsi atau mendekripsi pesan. Tambahkan 

fungsi di bawah kode yang Anda tambahkan di Langkah 2. 

 

4. Dapatkan pesannya 

Buat fungsi baru, get_message(), untuk membuka kotak dialog yang meminta 

pengguna mengetikkan pesan yang ingin mereka enkripsi atau dekripsi. Tambahkan 

fungsi ini di bawah kode yang Anda tambahkan di Langkah 3. 

 

5. Mulai Tkinter 

Perintah ini memulai Tkinter dan membuat jendela Tkinter. Ketik di bawah fungsi yang 

Anda buat di Langkah 4. 

 

6. Mulai putaran 

Sekarang setelah Anda membuat fungsi antarmuka, tambahkan loop while tak 

terbatas ini untuk memanggil (menjalankan) fungsi tersebut dalam uru tan yang benar. 

Masukkan kode ini di bawah perintah yang Anda ketik di Langkah 5. 

112 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

7. Uji kodenya 

Coba jalankan kodenya. Ini pertama-tama akan menampilkan kotak input yang 

menanyakan apakah Anda ingin mengenkripsi atau mendekripsi. Kemudian akan 

muncul kotak input lain sehingga Anda dapat mengetikkan pesan rahasia tersebut. 

Terakhir, itu akan menampilkan pesan terenkripsi atau didekripsi di kotak info. Jika ada 

masalah, periksa kode Anda dengan cermat. 

 

 

Gambar 4.18 Hasil pengujian 

Catat pesannya! 

Sekarang setelah antarmuka Anda berfungsi, saatnya untuk menulis kode yang akan 

mengenkripsi dan kemudian mendekripsi pesan rahasia Anda. 

8. Apakah itu genap? 

Anda perlu membuat fungsi untuk memberi tahu program apakah jumlah karakter 

dalam pesan Anda genap atau tidak. Fungsi akan memakai   operator modulo (%) 

untuk memeriksa apakah dapat membagi bilangan dengan 2 tanpa meninggalkan sisa. 

Jika bisa (Benar), maka angkanya genap. Tambahkan fungsi ini di bawah kode yang 

Anda ketik di Langkah 2. 

 

9. Dapatkan huruf genap 

Pada langkah ini, Anda akan membuat fungsi yang mengambil pesan dan menghasilkan 

daftar yang berisi semua huruf genap. Fungsi ini memakai   perulangan for dengan 

113 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

rentang dari 0 hingga len(pesan), sehingga ia memeriksa semua huruf dalam string. 

Tambahkan fungsi ini di bawah kode di Langkah 8. 

 

 

Gambar 4.19 Pengambilan posisi genap 

 

10. Dapatkan huruf ganjil 

Selanjutnya Anda perlu membuat fungsi serupa untuk menghasilkan daftar semua 

huruf bernomor ganjil dalam pesan Anda. Letakkan fungsi ini di bawah kode pada 

Langkah 9. 

 

 

Gambar 4.20 Pengambilan Posisi Ganjil 

11. Tukar huruf bulat 

Sekarang Anda memiliki huruf genap dalam satu daftar dan ganjil di tempat lain, Anda 

dapat memakai  nya untuk mengenkripsi pesan Anda. Fungsi selanjutnya akan 

mengambil huruf secara bergantian dari daftar ini dan memasukkannya ke dalam 

daftar baru. Tetapi alih-alih menyusunnya dalam urutan aslinya, dimulai dengan huruf 

genap, pesan akan dimulai dengan huruf ganjil. Ketik fungsi ini di bawah kode di 

Langkah 10. 

 

114 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Cara kerjanya 

Fungsi swap_letters() menempatkan semua angka ganjil dan genap ke dalam daftar 

baru, menambahkannya secara bergantian. Itu memulai daftar dengan huruf kedua 

dalam kata, yang dihitung Python sebagai angka ganjil. 

 

Gambar 4.21 Pengambilan posisi menyilang 

 

Posisi bilangan bulat 

Anda memakai   nilai len(message)/2 dalam rentang loop Anda karena daftar huruf 

genap dan ganjil keduanya setengah dari panjang pesan asli. Anda memastikan 

panjang pesan Anda akan selalu genap dengan meminta program untuk 

menambahkan x bi la perlu, sehingga dapat dibagi dengan 2. Namun, hasilnya akan 

menjadi nilai float (dengan titik desimal, seperti 3.0 atau 4.0) daripada bilangan bulat 

(bilangan bulat, seperti 3 atau 4). Python memberikan kesalahan jika Anda mencoba 

memakai   float untuk posisi item dalam daftar, jadi gunakan fungsi int() untuk 

mengubahnya menjadi integer. 

 

12. Perbarui loop 

Fungsi swap_letters() memiliki fitur yang sangat berguna: jika Anda menjalankannya 

pada pesan terenkripsi, itu akan mendekripsinya. Jadi Anda dapat memakai   fungsi 

ini untuk mengenkripsi atau mendekripsi pesan tergantung pada apa yang ingin 

dilakukan pengguna. Buat perubahan berikut pada loop sementara yang Anda buat di 

Langkah 6. 

115 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

13. Jalankan enkripsi 

Uji program Anda. Pilih "enkripsi" di jendela tuga s. Saat jendela pesan muncul, 

masukkan jenis pesan yang mungkin ingin dirahasiakan oleh mata-mata. Coba: “Temui 

aku di ayunan di taman pada siang hari”! 

14. Jalankan dekripsi 

Jika Anda memilih teks terenkripsi dan menyalinnya, Anda dapat memilih opsi 

"dekripsi " pada putaran berikutnya. Di jendela pesan, rekatkan pesan terenkripsi dan 

klik OK. Anda kemudian akan melihat pesan asli lagi.  

 

Gambar 4.22 Dialog Keterangan yang muncul 

 

15. Dekripsi ini!  

Program cipher Anda sekarang seharusnya berfungsi. Untuk memastikan, coba 

dekripsi teks yang ditampilkan di sini. Anda sekarang dapat membagikan kode Python 

Anda dengan teman dan mulai mengirim pesan rahasia!  

 

Peretasan dan penyesuaian 

Berikut adalah beberapa ide untuk membuat pesan rahasia Anda semakin sulit dibaca 

jika dicegat oleh agen musuh— seperti saudara atau saudari yang usil!  

 

116 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Hapus spasi 

Salah satu cara untuk membuat sandi Anda lebih aman adalah dengan menghilangkan 

spasi dan karakter tanda baca, seperti titik dan koma. Untuk melakukannya, ketik 

pesan Anda tanpa spasi dan tanda baca. Pastikan teman yang bertukar pesan dengan 

Anda tahu bahwa ini adalah rencananya. 

 

4.7 MEMBALIKKAN SETELAH BERTUKAR 

Untuk mempersulit orang untuk memecahkan enkripsi Anda, balikkan pesan setelah 

mengenkripsinya dengan swap_letters(). U ntuk melakukan ini, Anda harus membuat dua 

fungsi berbeda—satu untuk mengenkripsi dan satu lagi untuk mendekripsi. 

1. Fungsi enkripsi 

Fungsi encrypt() menukar huruf dan kemudian membalikkan string. Ketik baris ini di 

bawah fungsi swap_letters().  

 

2. Fungsi dekripsi 

Tambahkan fungsi decrypt() ini di bawah fungsi encrypt(). Ini dimulai dengan 

membalikkan pesan terenkripsi, dan kemudian memakai   swap_letters() untuk 

mengembalikan huruf ke urutan yang benar. 

 

3. Gunakan fungsi baru 

Sekarang Anda perlu memperbarui bagian infinite loop dari program Anda untuk 

memakai   fungsi-fungsi ini alih-alih fungsi swap_letters().  

 

117 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Tambahkan huruf "palsu" 

Cara lain untuk mengenkripsi pesan adalah dengan menyisipkan huruf acak di antara 

setiap pasangan huruf. Jadi kata "rahasia " bisa menjadi "stegciraelta" atau "shevcarieste". 

Sama seperti dalam peretasan “Mundur setelah bertukar”, Anda memerlukan dua fungsi 

berbeda—satu untuk mengenkripsi dan satu lagi untuk mendekripsi. 

 

 

Gambar 4.23 Penambahan huruf palsu  

 

1. Tambahkan modul lain 

Impor fungsi choice() dari modul acak. Ini akan memungkinkan Anda memilih surat 

palsu dari daftar surat. Ketik baris ini di dekat bagian atas file Anda, di bawah perintah 

untuk mengimpor fungsi Tkinter. 

 

2. Enkripsi 

Untuk mengenkripsi pesan, Anda perlu mengatur daftar surat palsu untuk disisipkan 

di antara yang asli. Kode yang ditunjukkan di bawah ini akan mengulang pesan, 

menambahkan satu huruf asli dan satu huruf palsu ke daftar_enkripsi setiap kali 

putaran. 

 

3. Dekripsi 

Mendekripsi pesan sangat mudah. Dalam versi pesan terenkripsi, semua huruf dalam 

posisi genap adalah huruf dari pesan asli. Jadi Anda bisa memakai   fungsi 

get_even_letters() untuk mendapatkannya.  

 

 

 

118 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

4. Gunakan fungsi baru 

Sekarang Anda perlu memperbarui bagian infinite loop dari program Anda untuk 

memakai   fungsi encrypt() dan decrypt() yang baru, alih -alih swap_letters(). Untuk 

melakukannya, buat perubahan ini pada kode Anda. 

 

Multienkripsi 

Untuk membuat segalanya lebih rumit, Anda dapat memodifikasi kode Anda sehingga 

menggabungkan semua peretasan dan penyesuaian yang berbeda dari bagian ini. 

Misalnya, itu bisa menambahkan huruf palsu, menukar huruf, dan kemudian 

membalikkannya!  

 

4.8 LAYAR HEWAN PELIHARAAN 

Pernahkah Anda berharap memiliki hewan peliharaan untuk menemani Anda saat 

mengerjakan pekerjaan rumah di komputer Anda? Dalam proyek ini, Anda akan membuat 

hewan peliharaan yang "hidup" di sudut layar komputer Anda. Ini akan membuat Anda sibuk, 

karena Anda harus merawat hewan peliharaan Anda agar tetap bahagia. 

Apa yang terjadi 

Saat Anda memulai program, Screen Pet akan duduk di sana, dengan sedikit senyum 

di wajahnya, berkedip pada Anda. Teman Anda yang imut dan biru langit akan mengubah 

ekspresinya dari normal (bawah) menjadi bahagia, nakal, atau sedih, tergantung bagaimana 

Anda berinteraksi dengannya di layar. Tapi jangan khawatir, ini ramah—tidak akan menggigit 

jika bosan!  

Wajah bahagia 

Jika Anda "mengelusnya" dengan penunjuk tetikus, Layar Pet bersinar dan 

memerah. 

 

Wajah nakal 

Jika Anda mengklik dua kali untuk "menggelitik", h ewan peliharaan yang 

nakal itu menjulurkan lidahnya. 

 

Wajah sedih 

Jika Anda mengabaikannya, Screen Pet akan menjadi sedih. Mengelusnya akan 

menghiburnya lagi. 

119 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

 

Gambar 4.24 Ekpresi Tersenyum 

 

Bagaimana itu bekerja 

Menjalankan fungsi root.mainloop() Tkin ter akan menyiapkan loop sementara yang 

terus memeriksa input dari pengguna. Loop terus berjalan sampai Anda menutup jendela 

Tkinter utama. Ini juga bagaimana Anda dapat membuat GUI (antarmuka pengguna grafis) 

yang bereaksi terhadap pengguna yang mengklik tombol atau memasukkan teks di Ask the 

Expert.  

Animasi putaran utama 

Anda juga dapat menganimasikan gambar di jendela Tkinter memakai   fungsi 

root.mainloop(). Dengan menyuruhnya menjalankan fungsi yang mengubah gambar 

pada waktu yang ditentukan, Anda dapat membuat Screen Pet tampak bergerak 

dengan sendirinya. 

Program berbasis acara 

Screen Pet adalah program yang digerakkan oleh peristiwa, yang berarti bahwa hal-hal 

yang dilakukannya dan urutannya bergantung pada masukan dari pengguna. Program mencari 

input, seperti penekanan tombol dan klik mouse, kemudian memanggil fungsi yang berbeda 

untuk menangani masing-masing. Program pengolah kata, video game, dan program 

menggambar adalah contoh program yang digerakkan oleh peristiwa. 

Diagram alur hewan peliharaan layar 

Diagram alir menunjukkan urutan tindakan dan keputusan, dan bagaimana masukan 

pengguna memengaruhinya. Program berjalan dalam lingkaran tanpa akhir. Ia 

memakai   variabel kebahagiaan yang selalu berubah untuk melacak suasana hati 

hewan peliharaan. 

 

120 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 4.25 Diagram Alur Membuat Hewan Piaraan 

 

Gambar Hewan Peliharaan Layar Anda 

Mari kita mulai. Pertama, Anda perlu membuat jendela tempat Screen Pet Anda akan 

hidup. Kemudian Anda akan menulis beberapa kode untuk menggambar hewan peliharaan di 

layar. 

1. Buat file baru 

Buka IDLE. Buka menu File dan pilih File Baru, lalu simpan file sebagai “screen_pet.py”. 

2. Tambahkan modul Tkinter 

Anda perlu mengimpor bagian dari modul Tkinter Python di awal program Anda. Ketik 

kode ini untuk memasukkan Tkinter dan buka jendela tempat Screen Pet Anda akan 

hidup. 

3. Buat kanvas baru 

Di jendela, buat kanvas biru tua yang disebut "c", di mana Anda akan menggambar 

hewan peliharaan Anda. Tambahkan kode ini setelah baris yang membuka jendela 

Tkinter. Empat baris kode baru ini adalah awal dari bagian utama program Anda. 

 

121 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

4. Menjalankannya 

Sekarang coba jalankan programnya. Apa yang Anda perhatikan? Kode seharusnya 

hanya menampilkan jendela biru tua yang polos. Kelihatannya agak membosankan dan 

kosong saat ini—yang Anda butuhkan adalah hewan peliharaan!  

 

Gambar 4.26 Program dijalankan 

5. Dapatkan menggambar 

Untuk menggambar hewan peliharaan Anda, tambahkan instruksi ini di atas dua baris 

kode terakhir. Ada perintah terpisah untuk setiap bagian tubuh. Angka-angka, yang 

disebut koordinat, memberi tahu Tkinter apa yang harus digambar dan di mana 

menggambarnya. 

 

122 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Koordinat Tkinter 

Petunjuk menggambar memakai   koordinat x dan y. Di Tkinter, koordinat x dimulai 

dari 0 di sebelah kiri dan meningkat saat Anda bergerak melintasi jendela, hingga 

mencapai 400 di paling kanan. Koordinat y juga dimulai dari 0 di sebelah kiri. Mereka 

menjadi lebih besar saat Anda bergerak ke bawah, hingga mencapai 400 di bagian 

bawah. 

 

Gambar 4.27 Koordinat tkinter 

 

6. Jalankan lagi 

Jalankan program lagi dan Anda akan melihat Screen Pet duduk di tengah jendela 

Tkinter. 

 

Gambar 4.28 gambar yang sudah ditentukan koordinat 

 

Hewan peliharaan berkedip 

Screen Pet Anda terlihat lucu, tetapi tidak melakukan apa-apa! Mari kita menulis 

beberapa kode untuk membuatnya berkedip. Anda harus membuat dua fungsi: satu 

untuk membuka dan menutup mata, yang lain untuk memberi tahu mereka berapa 

lama untuk tetap terbuka dan tertutup. 

 

7. Buka dan tutup mata 

Buat fungsi ini, toggle_eyes(), di bagian atas file Anda, di bawah baris kode pertama . 

Itu membuat mata terlihat tertutup dengan menyembunyikan pupil dan mengisi mata 

dengan warna yang sama dengan tubuh. Itu juga mengubah mata antara terbuka dan 

tertutup. 

 

123 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Gambar 4.29 Karakter yang berkedip 

 

 

 

Beralih 

Beralih di antara dua status dikenal sebagai "beralih." Jadi Anda "menghidupkan" 

lampu di rumah Anda saat Anda menyalakan dan mematikannya. Kode berkedip 

beralih, atau matikan, antara mata Layar Pet yang terbuka dan tertutup. Jika mata 

tertutup saat Anda menjalankannya, mereka akan berubah menjadi terbuka. Jika 

mereka terbuka, mereka akan berubah menjadi tertutup. 

 

8. Berkedip realistis 

Mata hanya perlu menutup sebentar dan tetap terbuka beberapa saat di antara 

kedipan. Tambahkan fungsi ini, blink(), di bawah kode yang Anda ketik di Langkah 7. 

Ini mengedipkan mata selama seperempat detik (250 milidetik), lalu diakhiri dengan 

perintah yang memberi tahu mainloop() untuk mema nggilnya lagi setelah 3 detik 

( 3.000 milidetik).  

 

124 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

9. Menghidupkan!  

Letakkan baris ini di bagian utama program Anda, tepat di atas baris terakhir. Sekarang 

jalankan programnya. Hewan peliharaan Anda akan hidup kembali setelah 1 detik 

(1.000 milidetik) dan duduk di sana berkedip sampai Anda menutup jendela.  

 

Mengubah suasana hati 

Screen Pet terlihat cukup bahagia sekarang, dengan senyum kecilnya, tapi mari kita 

lebih menghiburnya. Kami akan memberikan senyum yang lebih besar, berseri-seri dan 

pipi yang cerah dan kemerahan. 

 

10. Buat wajah bahagia 

Tambahkan kode ini ke bagian program yang menggambar Screen Pet, setelah garis 

yang membuat mulut "normal". Selain mulut bahagia dan pipi merah muda, itu juga 

menarik mulut sedih. Mereka semua akan tetap tersembunyi untuk saat ini. 

 

 

Gambar 4.30 Membuat wajah bahagia 

125 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

11. Tunjukkan wajah bahagia 

Selanjutnya, buat fungsi bernama show_happy() untuk menampilkan ekspresi bahagia 

saat Anda menggerakkan penunjuk mouse di atas Layar Hewan Peliharaan seolah-olah 

Anda sedang mengelusnya. Ketik kode ini di bawah fungsi blink() yang Anda 

tambahkan di Langkah 8. 

Pengendali acara 

Fungsi show_happy() adalah even t handler. Ini berarti hanya dipanggil ketika peristiwa 

tertentu terjadi, sehingga dapat menanganinya. Dalam kode Anda, membelai hewan 

peliharaan Anda memanggil show_happy(). Dalam kehidupan nyata, Anda dapat 

memanggil fungsi "pel lantai" untuk menangani a cara "minuman tumpah"!  

 

Fokus 

Tkinter tidak akan dapat melihat Anda menggerakkan penunjuk tetikus di atas jendela 

untuk mengelus Screen Pet kecuali jika jendela "dalam fokus". Anda bisa membuatnya 

fokus dengan mengklik sekali di mana saja di jendela. 

 

12. Selamat bergerak 

Saat program dimulai, Hewan Peliharaan Layar berkedip tanpa Anda melakukan apa 

pun. Tetapi untuk membuatnya terlihat bahagia saat dibelai, Anda perlu memberi tahu 

acara apa yang harus diwaspadai. Tkinter menyebut penunjuk mouse yang bergerak di 

atas jendelanya sebagai peristiwa <Motion>. Anda perlu menautkan ini ke fungsi 

handler dengan memakai   perintah bind() Tkinter. Tambahkan baris ini ke bagian 

utama program Anda. Kemudian jalankan kode dan usap hewan peliharaan untuk 

mencobanya. 

 

13. Sembunyikan wajah bahagia 

Anda hanya ingin Screen Pet terlihat sangat bahagia saat Anda benar-benar 

mengelusnya. Tambahkan fungsi baru, hide_happy(), di bawah kode untuk 

show_happy(). Kode baru ini akan mengatur ekspresi Screen Pet kembali normal.  

126 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

14. Panggil fungsinya 

Ketik baris ini untuk memanggil hide_happy() saat penunjuk mouse meninggalkan 

jendela. Ini menautkan acara <Leave> Tkinter ke hide_happy(). Sekarang uji kode 

Anda. 

 

Expresi Hewan Piaraan 

Sejauh ini, hewan peliharaan Anda berperilaku sangat baik. Mari kita berikan 

kepribadian yang nakal! Anda dapat menambahkan beberapa kode yang akan 

membuat Screen Pet menjulurkan lidahnya dan menyilangkan matanya saat Anda 

menggelitiknya dengan mengklik dua kali pada kode tersebut. 

 

Gambar 4.31 Membuat Expresi Ka rakter 

15. Menggambar lidah 

Tambahkan baris ini ke kode yang menggambar Screen Pet, di bawah garis yang 

membuat mulut sedih. Program akan menggambar lidah menjadi dua bagian, persegi 

panjang dan oval. 

 

16. Siapkan bendera 

Tambahkan dua variabel bendera ke kode untuk melacak apakah mata Screen Pet 

disilangkan atau lidahnya keluar. Ketik tepat di atas baris yang memberi tahu Screen 

Pet untuk mulai berkedip, yang Anda tambahkan ke bagian utama kode di Langkah 9. 

 

127 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

17. Alihkan lidah 

Fungsi ini mengubah lidah Hewan Peliharaan Layar antara keluar dan masuk. Letakkan 

kode yang ditunjukkan di bawah ini di atas fungsi show_happy() yang Anda buat pada 

Langkah 11. 

 

memakai   variabel bendera 

Variabel flag membantu Anda melacak sesuatu dalam program Anda yang dapat 

berada di salah satu dari dua status. Saat Anda mengubah status, Anda memperbarui 

bendera. Tanda "Terlibat / Kosong" di pintu toilet adalah bendera —Anda menyetelnya 

ke "Terlibat" saat Anda mengunci pintu dan kembali ke "Kosong" saat Anda 

membukanya. 

 

18. Beralih murid 

Untuk tampilan juling, murid harus menunjuk ke dalam. Fungsi toggle_pupils() ini akan 

mengalihkan pupil Screen Pet antara menunjuk ke dalam dan terlihat normal. Ketik di 

bawah fungsi blink() yang Anda tambahkan di Langkah 8.  

 

128 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

19. Mengkoordinasikan kecerobohan 

Sekarang buat fungsi untuk membuat Screen Pet menjulurkan lidah dan menyilangkan 

matanya secara bersamaan. Ketik kode ini di bawah fungsi toggle_tongue() yang Anda 

tambahkan di Langkah 17. Gunakan fungsi root.after() untuk membuat Screen Pet 

kembali normal setelah 1 detik (1.000 milidetik), seperti yang Anda lakukan di blink().  

 

20. Tautkan klik dua kali ke kecerobohan 

Untuk memicu ekspresi nakal Screen Pet, tautkan acara klik dua kali ke fungsi nakal(). 

Letakkan baris baru ini tepat di bawah garis yang Anda tambahkan pada Langkah 14 

untuk menyembunyikan wajah bahagia Screen Pet. Jalankan kodenya dan klik dua kali 

untuk melihat keanehannya!  

 

Hewan peliharaan yang sedih 

Terakhir, beri tahu Screen Pet jika Anda tidak memperhatikannya. Setelah hampir satu 

menit tanpa dibelai, hewan peliharaan Anda yang malang dan terabaikan akan 

menunjukkan wajah sedihnya!  

 

21. Siapkan tingkat kebahagiaan 

Letakkan baris kode ini tepat di atas variabel flag yang Anda tambahkan ke bagian 

utama program di Langkah 16. Ini menciptakan tingkat kebahagiaan untuk Screen Pet 

dan menetapkan level 10 saat Anda menjalankan program dan menggambar hewan 

peliharaan. 

 

 

Gambar 4.32 Skala level kebahagiaan 

129 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

22. Buat perintah baru 

Ketik baris ini di bawah perintah yang Anda tambahkan pada Langkah 9 yang memulai 

Screen Pet berkedip. Ini memberitahu mainloop() untuk memanggil fungsi sad(), yang 

akan Anda tambahkan di Langkah 23, setelah 5 detik (5.000 milidetik).  

 

23. Tulis fungsi sedih 

Tambahkan fungsi ini, sad(), di bawah hide_happy(). Ia memeriksa untuk melihat  

apakah c.happy_level masih 0. Jika ya, itu akan mengubah ekspresi Screen Pet menjadi 

sedih. Jika tidak, itu mengurangi 1 dari c.happy_level. Seperti blink(), ini mengingatkan 

mainloop() untuk memanggilnya lagi setelah 5 detik.  

 

24. Bergembiralah, Layar Pet!  

Apakah ada cara untuk menghentikan Screen Pet agar tidak sedih? Atau menghiburnya 

ketika itu menyedihkan? Untungnya ada—Anda cukup mengeklik jendelanya dan 

mengelusnya. Tambahkan baris kode ini ke fungsi show_happy() yang Anda tulis di 

Langkah 11. Sekarang fungsi tersebut akan mereset nilai variabel c.happy_level 

kembali ke 10 dan membuat Screen Pet menunjukkan wajah bahagianya lagi. Jalankan 

kode untuk melihat hewan peliharaan Anda sedih, lalu menghiburnya dengan 

membelainya. 

 

Peretasan dan penyesuaian 

Apakah Screen Pet hewan peliharaan ideal Anda sekarang? Jika tidak, Anda dapat 

mengubah perilakunya atau menambahkan beberapa fitur tambahan! Berikut adalah 

beberapa ide untuk mempersonalisasi Hewan Peliharaan Layar Anda. 

 

Bersikap ramah, tidak nakal 

Mungkin Anda lebih suka tidak memiliki hewan peliharaan yang nakal? Dapatkan 

Screen Pet untuk memberi Anda kedipan ramah alih-alih membuat wajah kasar saat 

Anda mengekliknya dua kali. 

 

130 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Kebahagiaan ekstra 

Mungkin akan mengganggu jika Anda harus terus membelai dan menggelitik Hewan 

Peliharaan Layar saat mengerjakan pekerjaan rumah. Untuk membuatnya lebih jarang sedih, 

setel nilai c.happy_level ke angka yang lebih tinggi di awal.  

 

1. Tambahkan fungsi ini di bawah fungsi blink(). Ini mirip dengan kode blink(), tetapi 

hanya akan mengaktifkan satu mata 

 

2. Fungsi berikutnya menutup dan membuka mata kiri sekali untuk membuat Screen Pet 

mengedipkan mata. Ketik di bawah toggle_left_eye().  

 

3. Ingatlah untuk mengubah perintah yang mengikat acara klik dua kali (<Double -1>) 

menjadi wink() alih -alih nakal() di bagian utama program.  

 

 

 

4.9 HEWAN PELIHARAAN PELANGI 

Sangat mudah untuk membuat Screen Pet warna yang berbeda dengan mengubah nilai 

c.body_color. Jika Anda tidak dapat memutuskan warna apa yang akan dipilih, Anda dapat 

menambahkan fungsi yang terus mengubah warna Screen Pet tanpa henti!  

1. Pertama tambahkan baris untuk mengimpor modul acak Python. Letakkan di bawah 

garis yang memuat fitur Tkinter proyek. 

 

2. Sekarang ketikkan fungsi baru, change_color(), tepat di atas bagian utama k ode. Ini 

mengambil nilai baru untuk c.body_color dari daftar pet_colors. Kemudian 

menggambar ulang tubuh Screen Pet memakai   warna baru. Karena memakai   

random.choice, kamu tidak akan pernah bisa memastikan warna pet selanjutnya!  

131 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

 

3. Terakhir, tambahkan ini tepat di atas baris terakhir di bagian utama program untuk 

membuat mainloop() memanggil change_color() 5 detik (5.000 milidetik) setelah 

program dimulai. 

 

4. Anda mungkin ingin mengubah nilai dalam kode sehingga Screen Pet berubah warna 

lebih cepat. Anda juga dapat mengubah warna dalam daftar menjadi warna yang lebih 

Anda sukai, atau menambahkan warna tambahan. 

 

Gambar 4.33 Macam Warna hewan piaraan  

 

Beri aku makan! 

Hewan peliharaan membutuhkan makanan, serta membelai dan menggelitik. Bisakah Anda 

menemukan cara untuk memberi makan hewan peliharaan Anda dan menjaganya tetap 

sehat? 

1. Mungkin coba tambahkan "Beri saya makan!" tombol ke jendela Screen Pet dan fungsi 

feed() yang dipanggil saat Anda mengklik tombol.  

 

Gambar 4.34 Gambar Pet ketika di klik 

 

2. Anda bahkan bisa membuat Screen Pet tumbuh jika Anda mengklik "Feed me!" 

beberapa kali. Baris kode ini membuat tubuhnya lebih besar. 

 

 

 

132 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

3. Kemudian coba tulis beberapa kode agar tubuh hewan peliharaan Anda menyusut 

kembali ke ukuran aslinya lagi jika tidak mendapatkan cukup makanan. 

Bersihkan itu! 

Masalah dengan memberi makan Screen Pet adalah ia juga perlu buang air besar! Tulis 

beberapa kode yang membuatnya kotoran beberapa saat setelah Anda memberinya 

makan. Kemudian tambahkan tombol "Bersihkan". Mengklik " Bersihkan" akan 

memanggil fungsi penangan yang menghapus kotoran. 

Jendela yang lebih besar 

Jika Anda menambahkan tombol atau fitur tambahan lainnya ke jendela Screen Pet, 

mungkin akan sedikit sesak dan tidak nyaman bagi hewan peliharaan Anda. Jika 

demikian, Anda dapat memperbesar jendela Tkinter. Untuk melakukannya, ubah nilai 

lebar dan tinggi dalam perintah yang membuat kanvas di awal program utama. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

133 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

BAB 5 

GAME DENGAN PYTHON 

 

 

5.1 ULAT 

Jika semua pengkodean ini telah membangkitkan selera Anda, Anda tidak sendirian—

bintang dari proyek ini adalah ulat yang lapar. Dengan memakai   modul kura-kura Python, 

Anda akan mengetahui cara menganimasikan karakter game dan mengontrolnya di layar 

dengan keyboard. 

Apa yang terjadi 

Anda memakai   empat tombol panah untuk mengarahkan ulat di sekitar layar dan 

membuatnya "memakan" daun. Setiap daun memberi Anda poin, tetapi juga membuat ulat 

lebih besar dan lebih cepat, membuat permainan lebih sulit. Jauhkan ulat di dalam jendela 

permainan, atau permainan berakhir!  

Meningkatkan kesulitan 

Semakin banyak daun yang dimakan ulat, semakin sulit permainannya. Saat ulat 

semakin panjang dan cepat, reaksi Anda juga harus semakin cepat; jika tidak, ulat Anda 

akan memperkecil layar. 

 

  Gambar 5.1 Permainan Ular 

 

 Skor Anda ditampilkan di sudut kanan atas jendela permainan. 

 Daun menghilang saat dimakan, dan daun baru kemudian muncul di tempat lain. 

 Untuk memulai permainan, pemain harus mengklik layar terlebih dahulu dan 

kemudian menekan bilah spasi. 

Bagaimana itu bekerja 

Proyek ini memakai   dua kura-kura utama: satu untuk menggambar ulat dan satu lagi 

untuk menggambar daun. Kode menempatkan setiap daun baru di lokasi acak. Ketika program 

mendeteksi bahwa daun telah dimakan, variabel yang menyimpan skor, kecepatan ulat, dan 

panjangnya meningkat. Sebuah fungsi mengetahui apakah ulat telah pindah ke luar jendela, 

yang akan menandakan akhir dari permainan. 

 

134 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

Bagan alir Ulat 

Untuk membuat ulat bergerak melintasi layar, Anda akan memakai   loop tak 

terbatas. Setiap kali putaran berputar, ulat bergerak sedikit ke depan. Saat loop 

berulang dengan cepat, gerakan kecil ini menciptakan ilusi bahwa ulat Anda sedang 

merangkak. 

 

 

 

Gambar 5.2 Diagram Alur Permainan Ulat 

 

 

5.2 LANGKAH PERTAMA 

Untuk permainan yang menyenangkan, kodenya sangat mudah. Anda akan mulai 

dengan menyiapkan kura-kura, sebelum beralih ke loop permainan utama dan akhirnya 

kontrol keyboard. 

1. Mulai 

Buka IDLE dan buat file baru. Simpan sebagai "caterpillar.py".  

2. Impor modul 

Tambahkan dua pernyataan impor ini untuk memberi tahu Python bahwa Anda 

memerlukan modul kura-kura dan acak. Baris ketiga mengatur warna latar belakang 

untuk jendela permainan. 

 

135 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

3. Buat ulat kura-kura  

Sekarang buat kura-kura yang akan menjadi ulat Anda. Tambahkan kode yang 

ditampilkan di sini. Ini menciptakan kura-kura dan mengatur warna, bentuk, dan 

kecepatannya. Fungsi caterpillar.penup() menonaktifkan pena kura -kura, 

memungkinkan Anda untuk memindahkan kura-kura di sekitar layar tanpa 

menggambar garis di sepanjang jalan. 

 

4. Buat kura-kura daun 

Di bawah kode untuk Langkah 3, ketik baris ini untuk mengatur kura-kura kedua, yang 

akan menggambar daunnya. Kode memakai   daftar enam pasangan koordinat 

untuk menggambar bentuk daun. Setelah Anda memberi tahu kura-kura tentang 

bentuk ini, ia dapat memakai   kembali detailnya untuk menggambar lebih banyak 

daun. Panggilan ke hideturtle di sini membuat kura-kura ini tidak terlihat di layar. 

 

5. Tambahkan beberapa teks 

Sekarang siapkan dua kura-kura lagi untuk menambahkan teks ke permainan. 

Seseorang akan menampilkan pesan sebelum aksi dimulai, memberi tahu pemain 

untuk menekan bilah spasi untuk memulai. Yang lain akan menulis skor di sudut 

jendela. Tambahkan baris ini setelah kode penyu daun. 

 

136 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Lingkaran utama 

Kura-kura Anda sekarang sudah siap dan siap untuk pergi. Mari tulis kode yang 

membuat game menjadi hidup. 

6. Fungsi placeholder 

Anda dapat menunda pendefinisian suatu fungsi sampai nanti dengan memakai   

kata kunci pass. Di bawah kode untuk kura-kura, tambahkan placeholder berikut untuk 

fungsi yang akan Anda isi dengan kode di langkah selanjutnya. 

 

Lulus 

Dengan Python, jika Anda belum yakin kode apa yang Anda inginkan di dalam suatu 

fungsi, Anda cukup mengetikkan kata kunci pass dan kembali lagi nanti. Ini seperti 

menyampaikan pertanyaan dalam kuis. 

7. Pemula permainan 

Setelah empat fungsi placeholder, muncul fungsi start_game(), yang menyiapkan 

beberapa variabel dan menyiapkan layar sebelum loop animasi utama dimulai. Anda 

akan menambahkan kode untuk loop utama, yang membentuk sisa fungsi ini, di 

langkah berikutnya. 

 

137 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

8. Bergerak 

Putaran utama menggerakkan ulat sedikit ke depan, sebelum melakukan dua 

pemeriksaan. Ini pertama memeriksa apakah ulat telah mencapai daun. Jika daun telah 

dimakan, skornya meningkat, daun baru akan ditarik, dan ulat menjadi lebih panjang 

dan lebih cepat. Loop kemudian memeriksa apakah ulat telah meninggalkan jendela—

jika demikian, permainan berakhir. Tambahkan loop utama di bawah kode yang Anda 

ketik di Langkah 7. 

 

9. Ikat dan dengarkan 

Sekarang letakkan garis-garis ini di bawah fungsi yang baru saja Anda buat. Fungsi 

onkey() mengikat bilah spasi ke start_game(), sehingga Anda dapat menunda mulai 

hingga pemain menekan spasi. Fungsi listen() memungkinkan program menerima 

sinyal dari keyboard. 

 

10. Uji kode Anda 

Jalankan programnya. Jika kode Anda benar, Anda akan melihat ulat bergerak setelah 

Anda menekan spasi. Akhirnya, itu harus merangkak dari layar. Jika program tidak 

bekerja, periksa kode Anda dengan hati-hati untuk bug. 

Mengisi kekosongan 

Saatnya mengganti pass di fungsi placeholder dengan kode yang sebenarnya. Setelah 

menambahkan kode untuk setiap fungsi, jalankan game untuk melihat perbedaannya. 

11. Tetap didalam 

Isi fungsi outside_window() dengan kode ini. Pertama menghitung posisi masing -

masing dinding. Kemudian ia meminta ulat untuk posisinya saat ini. Dengan 

membandingkan koordinat ulat dengan koordinat dinding, dapat diketahui apakah ulat 

telah meninggalkan jendela. Jalankan program untuk memeriksa fungsinya—ulat 

harus berhenti ketika mencapai tepi. 

 

138 

 

Proyek Coding dengan Python (Dr. Joseph Teguh Santoso) 

 

Bagaimana itu bekerja 

Bagian tengah jendela memiliki koordinat (0, 0). Karena lebar jendela 400, lebar 

dinding kanan setengah dari tengah, yaitu 200. Kode mendapatkan posisi dinding kiri 

dengan mengurangkan setengah lebar dari 0. Dengan kata lain, 0–200, yaitu –200. Ia 

menemukan posisi dinding atas dan bawah dengan metode yang sama. 

 

Gambar 5.3 Koordinat pada Game 

12. TAMAT!  

Ketika ulat telah meninggalkan layar, tampilkan pesan untuk memberi tahu pemain 

bahwa permainan telah berakhir. Isi fungsi game_over() dengan kode ini. Saat 

dipanggil, fungsi tersebut akan menyembunyikan ulat dan daun, dan menulis “GAME 

OVER!” di layar. 

 

13. Tunjukkan skornya 

Fungsi display_score() menginstruksikan kura -kura skor untuk menulis ulang skor, 

menempatkan total terbaru di layar. Fungsi ini dipanggil