Menampilkan Output Program
Built-in print() menulis representasi teks suatu nilai ke output stream. Secara default, output dikirim ke sys.stdout, yang biasanya ditampilkan oleh terminal. Output juga dapat dialihkan ke file atau tujuan lain.
print() adalah built-in function, sama seperti len(), abs(), dan round(). Kamu dapat menggunakannya tanpa mengimpor modul tambahan.
Sintaks Dasar Fungsi Print
Sintaks lengkap fungsi print memiliki beberapa parameter pengatur output untuk mengontrol cara output ditampilkan.
# Sintaks lengkap fungsi print
# print(*objects, sep=' ', end='\n', file=None, flush=False)
# Contoh penggunaan dasar
print("Hello, World!")
# Print dengan beberapa objek
print("Nama:", "Ahmad", "Umur:", 25)
# Menampilkan hasil perhitungan
x = 10
y = 5
print("Hasil penjumlahan", x, "+", y, "=", x + y)Notasi *objects berarti print() menerima nol atau lebih objek posisional. Separator yang ditentukan oleh sep ditulis di antara dua objek yang berdekatan.
Parameter Sep untuk Pemisah
Parameter sep menentukan karakter atau string yang memisahkan beberapa objek dalam satu pemanggilan print(). Parameter ini memakai satu spasi secara default.
# Contoh penggunaan parameter sep
x = 8
# Default separator (spasi)
print("Solve", 2, "x =", x, "for x")
# Custom separator dengan string kosong
print("Solve", 2, "x =", x, "for x", sep="")
# Custom separator dengan tanda hubung
print("Solve", 2, "x =", x, "for x", sep="-")
# Custom separator dengan koma dan spasi
print("Ahmad", "Budi", "Citra", sep=", ")
# Beberapa karakter pemisah
print("Python", "Java", "JavaScript", sep=" | ")
# Separator dengan karakter khusus
print("Data", "Science", "Machine", "Learning", sep="\t") # tab
print("Baris", "Pertama", "Baris", "Kedua", sep="\n") # newlineNilai sep menentukan karakter yang ditulis di antara dua objek, misalnya spasi, koma, tab, atau baris baru.
Parameter End
Parameter end menentukan karakter atau string yang ditulis setelah objek. Parameter ini memakai newline (\n) secara default, sehingga pemanggilan print berikutnya dimulai pada baris baru.
# Contoh penggunaan parameter end
# Default end (newline)
print("Baris pertama")
print("Baris kedua")
print() # Print baris kosong untuk pemisah
# Custom end dengan string kosong
print("Kata pertama", end="")
print("Kata kedua")
print() # Print baris kosong untuk pemisah
# Custom end dengan spasi
print("Angka:", end=" ")
print(42)
print() # Print baris kosong untuk pemisah
# Custom end dengan karakter khusus
print("Loading", end="")
for i in range(5):
print(".", end="")
print(" Selesai!")
print() # Print baris kosong untuk pemisah
# Kombinasi sep dan end
print("A", "B", "C", sep="-", end=" | ")
print("D", "E", "F", sep="-", end="\n")Mengubah end memungkinkan beberapa pemanggilan melanjutkan output pada baris yang sama. Jika output harus langsung terlihat tanpa menunggu buffer, gunakan juga flush=True.
Menampilkan Berbagai Tipe Data
print() menerima objek dari berbagai tipe dan mengambil representasi string yang mudah dibaca sebelum menulisnya. Class buatan sendiri dapat mengatur representasi tersebut melalui __str__().
# Print berbagai tipe data
angka_bulat = 42
angka_desimal = 3.14159
string_text = "Python Programming"
boolean_value = True
list_data = [1, 2, 3, 4, 5]
dict_data = {"nama": "Ahmad", "umur": 25}
print("Integer:", angka_bulat)
print("Float:", angka_desimal)
print("String:", string_text)
print("Boolean:", boolean_value)
print("List:", list_data)
print("Dictionary:", dict_data)
# Print setiap bidang pada baris terpisah
print("\nFormat per bidang:")
print(f"Nama: {dict_data['nama']}")
print(f"Umur: {dict_data['umur']} tahun")
print(f"Pi: {angka_desimal:.2f}")
# Print beberapa tipe dalam satu baris
print("Hasil:", angka_bulat, "+", angka_desimal, "=", angka_bulat + angka_desimal)Satu pemanggilan print() dapat menerima nilai dari beberapa tipe, mengubah setiap nilai menjadi teks, lalu menuliskannya secara berurutan. Bentuk ini cukup untuk memeriksa beberapa nilai saat program berjalan.
Teknik Formatting Output
Pemanggilan print() sederhana cukup untuk melihat hasil sekilas, sedangkan keluaran yang rapi memerlukan satu alat lagi. F-string menyusun satu nilai teks dari ekspresi yang ditulis berdampingan dengan kata-kata di sekitarnya, dan argumen end mengatur apa yang ditulis print() setelah nilai itu. Keduanya menjaga keluaran tetap mudah dibaca tanpa langkah penggabungan terpisah.
Print dengan F String
F-string mengevaluasi ekspresi di dalam kurung kurawal dan dapat menerapkan format specification. Nilai dan teks yang mengelilinginya tetap berada dalam satu ekspresi yang mudah dibaca.
# Contoh formatting dengan f-string
nama = "Sari"
umur = 23
nilai = 87.5
# Basic f-string formatting
print(f"Nama: {nama}")
print(f"Umur: {umur} tahun")
print(f"Nilai: {nilai}")
# F-string dengan operasi matematika
x = 10
y = 3
print(f"{x} + {y} = {x + y}")
print(f"{x} / {y} = {x / y:.2f}")
# F-string dengan method calls
text = "python programming"
print(f"Original: {text}")
print(f"Title case: {text.title()}")
print(f"Length: {len(text)} characters")
# F-string dengan conditional
score = 85
status = "Lulus" if score >= 70 else "Tidak Lulus"
print(f"Nilai: {score}, Status: {status}")
# F-string dengan formatting angka
pi = 3.14159265359
print(f"Pi dengan 2 desimal: {pi:.2f}")
print(f"Pi dengan 4 desimal: {pi:.4f}")
completion = 0.875
print(f"Penyelesaian: {completion:.1%}") # 87.5%F-string menggabungkan teks dengan variabel atau hasil perhitungan dalam format yang ringkas dan mudah dibaca.
Print Tanpa Newline
Ketika kamu ingin menampilkan output dalam satu baris secara bertahap, parameter end dapat diubah untuk menghindari newline otomatis.
# Contoh print tanpa newline
import time
# Simulasi loading dengan dots
print("Memproses", end="")
for i in range(5):
time.sleep(0.5) # Delay setengah detik
print(".", end="", flush=True)
print(" Selesai!")
# Membuat progress bar sederhana
print("\nProgress: [", end="")
for i in range(10):
time.sleep(0.2)
print("#", end="", flush=True)
print("] 100%")
# Print counter dalam satu baris
print("\nCountdown: ", end="")
for i in range(5, 0, -1):
print(i, end=" ", flush=True)
time.sleep(1)
print("Start!")
# Menampilkan data dalam format tabel
print("\nTabel Data:")
print("Nama", "Umur", "Kota", sep="\t")
print("-" * 30)
print("Ahmad", 25, "Jakarta", sep="\t")
print("Budi", 30, "Bandung", sep="\t")
print("Citra", 28, "Surabaya", sep="\t")Argumen end menahan setiap pembaruan pada baris yang sama, sedangkan flush=True meminta Python segera menulis output yang masih berada di buffer. Untuk progress display sungguhan, perhatikan juga kemampuan terminal dan jangan menganggap tab atau lebar karakter selalu dirender sama.