Fundamental Python Bab 5: Berbicara dengan Mesin (Input & Output)
Daftar Isi ▼
Di akhir Bab 4 sebelumnya, Anda telah berhasil menaklukkan mesin dengan mengeksekusi instruksi Python pertama Anda di dalam Playground.
Namun, jika aplikasi yang Anda buat hanya mencetak satu kalimat lalu berhenti, bukankah itu sangat membosankan?
Bayangkan Anda sedang mendekati seseorang. Anda mendatanginya, mengucapkan satu kalimat deklarasi, lalu diam mematung tanpa menanyakan apa pun kepadanya. Bagi sebagian orang yang introvert, memulai komunikasi dua arah memang menguras energi dan membingungkan. Tetapi dalam dunia pemrograman, Anda memegang kendali penuh sebagai sutradara obrolan.
Sebuah aplikasi yang hebat adalah aplikasi yang hidup dan interaktif—ia tidak hanya pandai berbicara, tetapi juga mau mendengarkan penggunanya. Di Python, urat nadi dari interaksi ini bertumpu pada konsep Input dan Output.
Iron Man, Her, dan Realitas “Asisten SPMB Sekolah”

Berbicara tentang interaksi mesin yang sempurna, kita mungkin langsung teringat pada JARVIS di film Iron Man. JARVIS adalah asisten yang sangat patuh; ia diam menunggu instruksi (input) dari Tony Stark, memprosesnya, lalu memberikan balasan atau tindakan presisi (output). Di sisi lain, jika Anda pernah menonton film Her (2013), Anda akan melihat spektrum yang lebih emosional: sebuah sistem operasi AI bernama Samantha yang merespons obrolan dengan sangat hangat, humoris, dan berempati, hingga membuat manusia nyata jatuh cinta padanya.
Menciptakan mesin yang bisa berkomunikasi seperti itu adalah seni tersendiri. Beberapa waktu lalu, saya membangun sebuah bot WhatsApp bernama Asisten SPMB Sekolah untuk membantu orang tua dan calon siswa baru berkonsultasi secara otomatis selama 24 jam. Kami sebagai panitia tentu tidak mungkin tidak tidur untuk membalas chat.
Dalam pengembangannya, saya mengintegrasikan kecerdasan buatan (Gemini AI) untuk menangani pertanyaan yang melenceng. Hasilnya sangat mengejutkan! Empati bot tersebut sangat luar biasa. Saat ada calon siswa yang melontarkan kelucuan, bot itu membalas dengan kelucuan yang setara.
Namun, di balik keajaiban itu, ada realitas teknis yang keras. Karena menggunakan API gratisan yang memiliki batas (rate limit), terkadang sistem saya kehabisan napas dan terpaksa mengeluarkan output darurat: “Silakan hubungi panitia melalui kontak berikut…” (yang ujung-ujungnya masuk ke WhatsApp saya sendiri).
Tantangan terberat saat membangun bot tersebut bukanlah mengetik kodenya, melainkan merancang algoritma untuk menebak pertanyaan (Input) apa saja yang mungkin diketik oleh pendaftar, dan menentukan jawaban (Output) apa yang paling tepat. Itulah inti dari komunikasi dalam pemrograman.
1. Komunikasi Satu Arah (Output dengan print)
Dalam keseharian, komunikasi dasar terdiri dari aksi berbicara (menyampaikan informasi) dan mendengarkan (menerima informasi). Saat komputer “berbicara”, kita menyebutnya sebagai Output.
Secara teori formal akademis, Output adalah proses pengiriman data dari dalam program menuju perangkat luar (biasanya layar atau monitor). Di bahasa Python, fungsi print() bertugas mencetak tipe data ke standar keluaran (standard output atau stdout).
Ini adalah komunikasi sepihak. Komputer menyampaikan informasi, dan ia tidak peduli apakah Anda ingin membalasnya atau tidak. Mari praktikkan. Buka Python Playground, lalu ketikkan:
print("Halo, saya adalah sistem bot otomatis.")
print("Saya siap melayani pertanyaan Anda.")
Saat Anda menekan Jalankan, teks tersebut langsung tercetak. Sistem selesai bekerja dan kembali diam.
2. Komunikasi Dua Arah (Input dengan input)

Sekarang kita ingin komputer berhenti bersikap egois dan mulai mendengarkan. Kita menggunakan fungsi input().
Secara teori formal, Input adalah proses penerimaan data dari luar program (seperti ketikan keyboard pengguna). Fungsi input() di Python memiliki sifat blocking, yang artinya ia akan menghentikan sementara eksekusi program, membaca baris teks dari standar masukan (standard input atau stdin), dan secara baku selalu mengembalikan data tersebut dalam bentuk tipe teks (String).
Namun, ada masalah logika. Jika komputer bertanya dan Anda menjawab, komputer butuh ingatan untuk menyimpan jawaban Anda. Di sinilah kita menggunakan Variabel (kotak penyimpanan data yang akan kita bedah tuntas di Bab 6).
Ketikkan kode berikut di Playground:
# Komputer bertanya (Output) dan MENUNGGU ketikan Anda (Input).
# Jawaban Anda akan disimpan ke dalam variabel bernama 'nama_pengunjung'
nama_pengunjung = input("Halo, dengan siapa saya berbicara? ")
# Komputer memanggil ingatan 'nama_pengunjung' dan merangkainya (+) menjadi kalimat baru
print("Senang bertemu denganmu, " + nama_pengunjung + "!")
Analisis Alur Interaksi:
- Program mencetak teks pertanyaan dan berhenti (jeda).
- Di layar kanan Playground, ketikkan nama Anda (misal: Herdi) lalu tekan Enter.
- Kata “Herdi” ditangkap oleh
input()dan dimasukkan ke dalam kotak variabelnama_pengunjung. - Baris
printterakhir dieksekusi, memanggil nama yang baru saja Anda berikan.
Selamat! Aplikasi Anda kini memiliki telinga, ingatan singkat, dan mulut untuk merespons secara dinamis.
Tantangan Bab 5: Merakit Puzzle Interaktif
Sebagai penutup bab ini, saatnya Anda menjadi sutradara obrolan.
Tugas Anda: Buatlah sebuah program interaktif di Playground yang menanyakan nama, kemudian menanyakan hobi, lalu memberikan output pujian menggunakan nama dan hobi yang baru saja di-input-kan.
Agar Anda terbiasa dengan logika urutan (algoritma), saya telah menyediakan kodenya, tetapi dalam posisi acak (puzzle). Susunlah baris-baris kode di bawah ini menjadi urutan yang benar dari atas ke bawah agar obrolannya masuk akal!
Potongan Puzzle (Susun urutannya di Playground):
print("Wah, ternyata hobi kamu " + hobi_kamu + ", keren banget!")
nama_kamu = input("Siapa nama panggilanmu? ")
hobi_kamu = input("Apa hobimu di waktu luang? ")
print("Halo " + nama_kamu + ", salam kenal ya!")
Jika berhasil menyusunnya dan program berjalan lancar tanpa error, salin hasil kodenya dan paste di kolom komentar di bawah!
Di materi selanjutnya, kita akan membedah anatomi dari kotak memori (Variabel) secara mendalam, serta memahami mengapa tipe data tidak boleh sembarangan dicampur aduk jika tidak ingin aplikasi Anda meledak.
(Artikel ini adalah Bagian ke-5 dari Seri Fundamental Python).