Langsung ke konten

Input dan Output di Python: print() dan input()

Program Python bisa menerima masukan dari pengguna dan menampilkan hasil. Artikel ini membahas cara memakai print() dan input() agar program jadi interaktif.

Belajar Python Level Basic
Belajar Python Level Basic
Advertisement

Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita membahas konversi tipe data. Sekarang saatnya membuat program yang bisa berbicara dan mendengar.

Program yang berguna butuh berkomunikasi dengan pengguna. Output menampilkan informasi lewat print(), sedangkan input menerima masukan lewat input(). Dengan keduanya, program jadi interaktif.

Output dengan print()

Kamu sudah memakai print() sejak artikel pertama, tapi baru sebatas menampilkan teks. Sebenarnya print() punya beberapa kemampuan yang jarang disadari pemula.

Mencetak Beberapa Nilai

print() bisa menerima lebih dari satu nilai, dipisah koma:

print("Halo", "Budi", 25)

Outputnya:

Halo Budi 25

Perhatikan bahwa antar nilai otomatis diberi spasi.

Parameter sep

Spasi pemisah itu berasal dari parameter sep. Kamu bisa menggantinya:

print("2026", "09", "19", sep="-")
# 2026-09-19

print("Budi", "Santoso", sep="")
# BudiSantoso

sep berguna untuk mencetak tanggal, alamat, atau nilai yang ingin disatukan tanpa spasi.

Parameter end

Secara default, print() mengakhiri outputnya dengan baris baru (\n). Makanya setiap print() muncul di baris terpisah. Parameter end mengganti karakter akhir ini:

print("Halo", end=" ")
print("Budi")

Outputnya:

Halo Budi

Dua print() di atas jadi satu baris karena end pertama diganti spasi, bukan baris baru.

Contoh lain, mencetak dalam satu baris:

for i in range(1, 6):
    print(i, end=" ")

# Output: 1 2 3 4 5

Menggabung Teks dan Variabel

Ada beberapa cara mencampur teks dengan nilai variabel:

nama = "Budi"
umur = 25

# Cara lama dengan koma
print("Halo,", nama, "umur", umur)

# Cara modern dengan f-string
print(f"Halo, {nama} umur {umur}")

F-string lebih rapi dan jadi cara yang dianjurkan. Kamu tinggal menaruh variabel di dalam {} dan memberi awalan f sebelum tanda kutip.

Karakter Khusus

Beberapa escape character berguna di dalam string:

KodeArti
\nBaris baru
\tTab
\\Karakter backslash
\'Tanda kutip tunggal
\"Tanda kutip ganda
print("Baris pertama\nBaris kedua")
print("Nama\t: Budi")

Outputnya:

Baris pertama
Baris kedua
Nama    : Budi

Input dengan input()

input() menghentikan program sebentar, menunggu pengguna mengetik sesuatu, lalu menekan Enter. Nilai yang diketik dikembalikan oleh function ini.

nama = input("Siapa namamu? ")
print(f"Halo, {nama}!")

Saat dijalankan:

Siapa namamu? Budi
Halo, Budi!

Teks di dalam tanda kurung adalah prompt yang muncul sebelum pengguna mengetik. Prompt membantu pengguna tahu apa yang harus diisi.

input() boleh juga dipanggil tanpa prompt:

nama = input()

Tapi pengguna akan bingung harus mengetik apa, jadi selalu beri prompt yang jelas.

Hasil input() Selalu String

Ini bagian paling penting dan paling sering bikin pemula tersandung. input() selalu mengembalikan str, apa pun yang diketik pengguna.

Kalau pengguna mengetik 25, yang tersimpan bukan angka 25, melainkan teks "25". Akibatnya operasi matematika memberi hasil aneh:

angka = input("Masukkan angka: ")   # pengguna ketik 10
print(angka + 5)

Program di atas error:

TypeError: can only concatenate str (not "int") to str

Karena angka bertipe string, + dianggap operasi menyambung teks, bukan penjumlahan.

Solusi: Konversi Hasil input()

Bungkus input() dengan int() atau float() sesuai kebutuhan:

angka = int(input("Masukkan angka: "))
print(angka + 5)

Sekarang kalau pengguna mengetik 10, outputnya 15.

Untuk angka desimal, gunakan float():

berat = float(input("Berat badan (kg): "))
print(f"Berat kamu {berat} kg")

Contoh Program Interaktif

Mari gabungkan semuanya menjadi program kecil yang menerima dua angka lalu menjumlahkannya:

# program_jumlah.py

print("=== Program Penjumlahan ===")

angka1 = int(input("Angka pertama: "))
angka2 = int(input("Angka kedua: "))

hasil = angka1 + angka2

print("----------------------------")
print(f"Hasil: {angka1} + {angka2} = {hasil}")

Contoh percakapan saat program dijalankan:

=== Program Penjumlahan ===
Angka pertama: 7
Angka kedua: 8
----------------------------
Hasil: 7 + 8 = 15

Program ini sudah interaktif: ia menampilkan instruksi, menerima masukan, mengolahnya, lalu menampilkan hasil.

Kesalahan Umum Pemula

  • Lupa konversi input() — hasil input() selalu string, konversi dengan int() atau float() sebelum dihitung.
  • Salah tipe konversi — memasukkan huruf saat diminta angka lewat int() akan menghasilkan ValueError.
  • Lupa tanda kurung printprint "Halo" salah, harus print("Halo").
  • Prompt tidak jelas — selalu beri keterangan agar pengguna tahu harus mengisi apa.
  • Tertukar sep dan endsep pemisah antar nilai, end karakter di akhir output.

Ringkasan

  • print() menampilkan output, bisa menerima beberapa nilai sekaligus
  • sep mengatur pemisah antar nilai, end mengatur karakter di akhir output
  • F-string cara paling rapi menggabung teks dan variabel
  • input() menerima masukan pengguna dan selalu mengembalikan string
  • Konversi hasil input() dengan int() atau float() sebelum dihitung
  • Selalu beri prompt yang jelas saat memakai input()

Langkah Selanjutnya

Kamu sudah bisa membuat program yang menerima masukan dan menampilkan hasil. Bekal ini cukup untuk mulai mengolah data dengan operasi yang lebih beragam.

Artikel selanjutnya membahas Operator Aritmatika di Python, dari penjumlahan sampai perpangkatan dan urutan operasinya.