Post Detail

September 13, 2026 in Python Dasar

Menggambar Bangun Geometri & Warna: Melatih Logika Loop dengan Python Turtle

Belajar Geometri dan Warna dengan Python Turtle (Ilustrasi AI)
Ilustrasi AI: Suasana laptop menampilkan kreasi geometri warna-warni Python Turtle.

Pada artikel bagian pertama, kita telah mempelajari dasar gerakan kura-kura dan bagaimana menggambar bujur sangkar dengan menuliskan perintah maju dan belok sebanyak empat kali berturut-turut.

Namun, menuliskan baris kode yang sama berulang-ulang bukanlah cara yang efisien dalam pemrograman. Di artikel kedua ini, kamu akan memanfaatkan kekuatan perulangan (for loop), rumus matematika sudut poligon, serta eksplorasi warna untuk menciptakan aneka bentuk geometri yang memukau.

1. Dari Manual ke Otomatis: Bujur Sangkar dengan Loop

Alih-alih menuliskan 8 baris instruksi untuk menggambar empat sisi bujur sangkar, kita cukup menggunakan perulangan for i in range(4):. Blok kode ini menginstruksikan Python untuk mengulang pasangan perintah maju dan belok sebanyak empat kali:

import turtle

t = turtle.Turtle()
t.shape("turtle")
t.color("#0284c7")
t.pensize(3)

# Menggambar bujur sangkar cukup dengan 3 baris loop:
for i in range(4):
    t.forward(100)
    t.right(90)

turtle.done()
Kanvas Turtle: Bujur sangkar dibuat dengan for loop
Bujur sangkar sempurna yang dihasilkan secara otomatis menggunakan perulangan for loop.

Perhatikan struktur kodenya: baris t.forward(100) dan t.right(90) ditulis menjorok (indentasi 4 spasi). Artinya, kedua perintah tersebut berada di dalam kendali loop dan akan dijalankan berulang kali sampai putaran ke-4 selesai.

2. Rahasia Sudut Luar: Menggambar Poligon Apa Saja

Bagaimana jika kita ingin menggambar segitiga sama sisi, segi lima (pentagon), atau segi enam (heksagon)? Apakah kita harus menghafal setiap sudut belokannya?

Jawabannya ada pada prinsip matematika sudut putar luar: saat kura-kura selesai menggambar bangun datar tertutup dan kembali ke arah semula, kura-kura telah melakukan satu putaran penuh sebesar 360 derajat.

Maka, rumus besaran sudut putar untuk setiap poligon beraturan adalah:

Sudut Putar = 360 / Jumlah Sisi

  • Segitiga sama sisi (3 sisi): 360 / 3 = 120 derajat
  • Bujur sangkar (4 sisi): 360 / 4 = 90 derajat
  • Segi lima (5 sisi): 360 / 5 = 72 derajat
  • Segi enam (6 sisi): 360 / 6 = 60 derajat

Dengan menerapkan rumus ini ke dalam variabel Python, kita bisa membuat program fleksibel yang dapat menggambar poligon apa pun hanya dengan mengganti nilai jumlah_sisi:

import turtle

t = turtle.Turtle()
t.shape("turtle")
t.color("#0284c7")
t.pensize(3)

# Menentukan jumlah sisi dan panjang langkah
jumlah_sisi = 6
panjang = 80
sudut_putar = 360 / jumlah_sisi  # 60 derajat untuk segi enam

for i in range(jumlah_sisi):
    t.forward(panjang)
    t.right(sudut_putar)

turtle.done()
Kanvas Turtle: Segi enam beraturan dibuat dengan variabel sudut putar dinamis
Segi enam beraturan (heksagon) yang terbentuk secara otomatis dengan sudut putar dinamis 360 / 6 = 60 derajat.

3. Mewarnai Garis dan Bidang Tertutup

Gambar akan terlihat jauh lebih menarik dengan sentuhan warna. Python Turtle membedakan dua macam warna:

  • pencolor("warna"): Menentukan warna garis tepi yang digambar oleh mata pena.
  • fillcolor("warna"): Menentukan warna isian untuk bidang tertutup.

Untuk mengisi warna bidang, apit perintah penggambaran bentuk tersebut dengan t.begin_fill() sebelum mulai menggambar, dan t.end_fill() setelah bentuk selesai digambar:

import turtle

t = turtle.Turtle()
t.shape("turtle")
t.pensize(3)

# Tentukan warna garis dan warna isian
t.pencolor("#0284c7")  # Garis tepi biru
t.fillcolor("#fef08a")  # Isian kuning lembut

# Mulai proses pengisian warna
t.begin_fill()
for i in range(4):
    t.forward(100)
    t.right(90)
t.end_fill()

turtle.done()
Kanvas Turtle: Bujur sangkar dengan isian warna kuning cerah dan garis biru
Bujur sangkar yang diwarnai rapi dengan garis tepi biru dan warna isian kuning.

4. Menggambar Bintang dan Lingkaran

Selain poligon bersudut tumpul atau siku, kita juga dapat menggambar bentuk lengkung dan sudut lancip seperti bintang:

  • Lingkaran: Cukup gunakan fungsi bawaan t.circle(radius), misalnya t.circle(50) untuk membuat lingkaran dengan jari-jari 50 piksel.
  • Bintang 5 Sudut: Pada bintang lima sudut, setiap garis menyilang dengan sudut belok sebesar 144 derajat. Kita ulangi langkah ini sebanyak 5 kali.
import turtle

t = turtle.Turtle()
t.shape("turtle")
t.pensize(3)

# 1. Gambar bintang 5 sudut berwarna oranye
t.pencolor("#f97316")
t.fillcolor("#fed7aa")
t.begin_fill()
for i in range(5):
    t.forward(120)
    t.right(144)
t.end_fill()

# 2. Pindah posisi dan gambar lingkaran biru
t.penup()
t.forward(180)
t.pendown()
t.pencolor("#0284c7")
t.fillcolor("#bae6fd")
t.begin_fill()
t.circle(50)
t.end_fill()

turtle.done()
Kanvas Turtle: Menggambar bintang lima sudut dan lingkaran berwarna
Kombinasi bintang lima sudut berwarna oranye dan lingkaran biru pada kanvas yang sama.

Latihan Tantangan: Membuat Pola Bunga Geometri

Kini saatnya menggabungkan seluruh konsep yang telah kamu pelajari. Tantangannya adalah membuat Bunga Geometri (Rosette):

  1. Gambar sebuah bujur sangkar dengan sisi 90 piksel.
  2. Setelah bujur sangkar selesai, putar kura-kura sedikit ke kanan sebesar 30 derajat.
  3. Ulangi langkah di atas sebanyak 12 kali (karena 12 x 30 = 360 derajat) dengan warna garis yang berganti-ganti secara berurutan.
Lihat pembahasan

Pola ini memanfaatkan konsep perulangan bersarang (nested loop): loop luar memutar orientasi bujur sangkar 12 kali, dan loop dalam menggambar 4 sisi bujur sangkar:

import turtle

t = turtle.Turtle()
t.shape("turtle")
t.pensize(2)
t.speed(0)  # Kecepatan maksimal

# Daftar warna untuk setiap kelopak
warna = ["#0284c7", "#f59e0b", "#10b981", "#ef4444"]

for i in range(12):
    t.pencolor(warna[i % len(warna)])
    for _ in range(4):
        t.forward(90)
        t.right(90)
    t.right(30)  # Putar sudut untuk bujur sangkar berikutnya

turtle.done()
Kanvas Turtle: Pola bunga geometri melingkar warna-warni hasil perulangan bertingkat
Pola roset geometris warna-warni yang terbentuk dari rotasi 12 bujur sangkar berselang 30 derajat.

Operator modulo i % len(warna) berguna untuk merotasi pilihan warna dari daftar tanpa pernah mengalami error kehabisan indeks.

Ringkasan

  • Perulangan for i in range(n) menghemat penulisan kode berulang dan memungkinkan otomasi pola geometri.
  • Rumus sudut luar poligon beraturan adalah 360 / jumlah_sisi.
  • Warna garis diatur dengan pencolor(), sedangkan bidang diwarnai dengan kombinasi fillcolor(), begin_fill(), dan end_fill().
  • Pola seni yang rumit dan indah dapat dihasilkan dari kombinasi bentuk dasar yang diputar secara sistematis dengan sudut kecil.

Lanjut membaca seri berikutnya:
👉 Bagian 3: Kreasi Pola Spiral, Fraktal, dan Kontrol Interaktif Keyboard →




Leave a Reply

Your email address will not be published. Required fields are marked *