Python adalah bahasa pemrograman serbaguna yang sangat populer, tidak hanya untuk pengembangan web atau analisis data, tetapi juga untuk tugas-tugas visualisasi sederhana seperti menggambar bentuk geometris. Salah satu bentuk dasar yang paling sering dipelajari adalah segitiga. Memahami cara membuat segitiga di Python dapat membuka pintu untuk eksplorasi grafis yang lebih kompleks menggunakan pustaka seperti Turtle, Matplotlib, atau bahkan pustaka yang lebih canggih seperti Pygame atau OpenCV.
Dalam panduan ini, kita akan fokus pada dua metode paling umum dan mendasar: menggunakan perulangan dasar (untuk pola teks) dan menggunakan pustaka grafis sederhana (seperti Turtle) untuk visualisasi yang sesungguhnya.
Metode ini paling dasar dan tidak memerlukan instalasi pustaka eksternal. Kita memanfaatkan struktur perulangan (loop) bersarang di Python untuk mencetak karakter (biasanya bintang '*') dalam pola segitiga. Ini sangat baik untuk pemahaman logika dasar pemrograman.
Segitiga siku-siku adalah yang termudah. Jumlah bintang di setiap baris sama dengan nomor baris itu sendiri.
def segitiga_siku_siku(tinggi):
for i in range(1, tinggi + 1):
print('* ' * i)
# Contoh penggunaan: Membuat segitiga dengan tinggi 5
print("--- Segitiga Siku-Siku ---")
segitiga_siku_siku(5)
Output dari kode di atas akan menghasilkan visualisasi:
* * * * * * * * * * * * * * *
Untuk membuat segitiga simetris (piramida), kita perlu menambahkan logika untuk mencetak spasi sebelum bintang agar bintang-bintang tersebut terpusat. Jumlah spasi harus berkurang seiring bertambahnya baris, sementara jumlah bintang harus bertambah.
def segitiga_sama_kaki(tinggi):
for i in range(1, tinggi + 1):
# Menghitung spasi: tinggi - i
spasi = " " * (tinggi - i)
# Menghitung bintang: (2*i - 1) bintang
bintang = "* " * i
print(spasi + bintang)
# Contoh penggunaan: Membuat piramida dengan tinggi 5
print("\n--- Segitiga Sama Kaki (Piramida) ---")
segitiga_sama_kaki(5)
Jika Anda ingin hasil visual berupa gambar yang sebenarnya (bukan hanya teks), pustaka turtle adalah titik awal yang fantastis. Pustaka ini disertakan dalam instalasi standar Python dan menyediakan cara yang intuitif untuk menggambar bentuk melalui instruksi pergerakan kura-kura virtual.
Untuk menggambar segitiga, kita hanya perlu tiga sisi. Kita menentukan panjang sisi dan sudut putar.
import turtle
def gambar_segitiga_turtle(panjang_sisi):
layar = turtle.Screen()
layar.title("Segitiga dengan Turtle")
pena = turtle.Turtle()
pena.shape("turtle")
pena.speed(2) # Kecepatan menggambar
for _ in range(3):
pena.forward(panjang_sisi)
# Untuk segitiga siku-siku, kita putar 90 derajat,
# lalu putar 120 derajat untuk sisi berikutnya agar terbentuk segitiga sama sisi
if _ == 0:
pena.left(90)
else:
pena.left(120)
# Selesaikan dan jangan tutup jendela segera
turtle.done()
# Contoh penggunaan:
# gambar_segitiga_turtle(150)
Catatan: Jika Anda menjalankan kode ini di lingkungan IDE tanpa GUI (seperti beberapa lingkungan online), jendela grafis mungkin tidak muncul. Untuk segitiga sama sisi, setiap sudut luar adalah 120 derajat (180 - 60).
Segitiga sama sisi memiliki tiga sisi sama panjang dan tiga sudut internal 60 derajat. Sudut putar eksternal yang harus diambil kura-kura adalah $180 - 60 = 120$ derajat.
import turtle
def segitiga_sama_sisi(panjang):
pena = turtle.Turtle()
pena.pensize(3)
pena.color("darkgreen")
pena.speed(3)
for _ in range(3):
pena.forward(panjang)
pena.left(120) # Sudut luar untuk segitiga sama sisi
turtle.done()
# segitiga_sama_sisi(100)
Diagram visualisasi segitiga sama sisi.
Untuk kasus yang lebih serius, terutama jika Anda bekerja dengan data atau memerlukan kontrol penuh atas plot, matplotlib adalah standar industri. Kita dapat menentukan koordinat titik sudut (vertices) dan kemudian menyambungkannya.
import matplotlib.pyplot as plt
import numpy as np
def segitiga_matplotlib():
# Definisikan koordinat titik sudut (x, y)
# Titik A=(0,0), B=(4,0), C=(2, 5)
x_coords = [0, 4, 2, 0] # Titik terakhir harus sama dengan titik pertama untuk menutup bentuk
y_coords = [0, 0, 5, 0]
plt.figure(figsize=(6, 6))
plt.plot(x_coords, y_coords, marker='o', linestyle='-', color='red', label='Segitiga')
plt.title("Segitiga menggunakan Matplotlib")
plt.xlabel("Sumbu X")
plt.ylabel("Sumbu Y")
plt.grid(True)
plt.axis('equal') # Memastikan skala x dan y sama
plt.legend()
# plt.show() # Jangan gunakan show() di lingkungan non-interaktif
# segitiga_matplotlib()
Membuat segitiga dengan Python dapat dilakukan dengan berbagai cara tergantung kebutuhan Anda. Dari perulangan sederhana untuk menghasilkan pola visual berbasis teks, hingga penggunaan pustaka grafis seperti Turtle untuk gambar dasar, atau Matplotlib untuk plotting koordinat yang presisi. Setiap metode menawarkan keunggulan spesifik dalam konteks pemrograman yang berbeda.