Membuat Program Interaktif: Menggunakan Fungsi input() di Python
Sebuah program menjadi jauh lebih berguna ketika ia bisa berinteraksi dengan pengguna. Bayangkan sebuah kalkulator yang bilangannya sudah ditentukan dari awal, tentu tidak banyak gunanya. Kita ingin program yang bisa merespons data yang kita berikan saat program itu berjalan.
Di Python, jembatan antara program dan pengguna adalah fungsi bawaan yang sangat penting, yaitu input(). Fungsi ini memungkinkan kita untuk menjeda program, meminta pengguna mengetikkan sesuatu, dan menggunakan informasi tersebut dalam kode kita.
Cara Kerja Fungsi input() ⌨️
Fungsi input() melakukan dua hal sederhana:
- Menampilkan sebuah pesan (disebut prompt) kepada pengguna.
- Menunggu pengguna untuk mengetikkan respons dan menekan tombol Enter.
Teks yang diketik oleh pengguna kemudian dikembalikan oleh fungsi ini dan biasanya kita simpan ke dalam sebuah variabel.
# Meminta nama pengguna dan menyimpannya di variabel 'nama'
nama = input("Halo! Siapa nama Anda? ")
# Menggunakan input tersebut dalam program
print(f"Senang bertemu dengan Anda, {nama}!")Aturan Emas: input() Selalu Menghasilkan String ⚠️
Ini adalah fakta paling penting yang harus diingat oleh setiap programmer Python. Tidak peduli apa yang pengguna ketik—meskipun itu adalah bilangan seperti `25`—fungsi input() akan selalu mengembalikannya sebagai string (teks).
Mengabaikan fakta ini akan sering menyebabkan error saat kita mencoba melakukan operasi matematika.
Solusi: Mengonversi Tipe Data Input
Untuk menggunakan input dalam kalkulasi, kita harus mengubah (mengonversi) tipe datanya dari string menjadi tipe data numerik yang sesuai.
- Gunakan
int()untuk mengubah input menjadi bilangan bulat. - Gunakan
float()untuk mengubah input menjadi bilangan desimal.
# Meminta input dan langsung mengonversinya ke integer
umur = int(input("Masukkan umur Anda: "))
# Sekarang operasi matematika bisa dilakukan
tahun_depan = umur + 1
print(f"Tahun depan, umur Anda akan menjadi {tahun_depan}.")Kasus Khusus: Mengonversi Input Menjadi Pecahan ➗
Bagaimana jika pengguna ingin memasukkan bilangan pecahan yang presisi, seperti "3/4"? Fungsi int() dan float() tidak bisa menanganinya. Di sinilah modul fractions sangat berguna. Karena input() menghasilkan string, kita bisa langsung memasukkan string tersebut ke dalam konstruktor Fraction.
from fractions import Fraction
print("--- Penjumlahan Pecahan ---")
try:
# Meminta input dalam format "pembilang/penyebut"
input_pecahan = input("Masukkan sebuah pecahan (contoh: 3/4): ")
# Mengonversi string input menjadi objek Fraction
pecahan_user = Fraction(input_pecahan)
hasil = pecahan_user + Fraction(1, 2) # Menambahkannya dengan 1/2
print(f"Hasil {pecahan_user} + 1/2 = {hasil}")
except (ValueError, ZeroDivisionError):
print("\nError: Format pecahan tidak valid. Harap masukkan dalam bentuk a/b.")
Kesimpulan
Fungsi input() adalah gerbang untuk membuat program Python yang dinamis dan interaktif. Aturan emas yang harus selalu diingat adalah bahwa outputnya selalu berupa string. Dengan membiasakan diri untuk selalu mengonversi input ke tipe data yang sesuai (seperti int, float, atau bahkan Fraction) sebelum melakukan kalkulasi, Anda dapat menghindari banyak error umum dan membangun program yang andal.

