Kita telah mempelajari beberapa hal dasar pada Python. Mulai dari variabel, tipe data dasar, tipe data list, tuple. Kita juga telah mempelajari berbagai macam operator, mulai dari aritmatika yang simpel, operator bitwise yang agak ribet, dan juga sampai pada operator spesial milik python yaitu operator keanggotaan dan identitas.
Pada 2 pertemuan ini, insyaallah kita akan memulai mempelajari I/O (input output) pada python.
Pembahasannya akan fokus pada 2 fungsi bawaan python, yaitu fungsi input()
dan fungsi print()
.
Kita ambil dulu pembahasan tentang input()
pada pertemuan kali ini, lalu insyaallah pembahasan lebih detil tentang print()
akan kita ambil pada pertemuan yang akan datang.
Apa Itu Input?
Input –atau inputan– (dalam konteks pemrograman) merupakan sebuah data, informasi, atau nilai apa pun yang dikirimkan oleh user kepada komputer untuk diproses lebih lanjut [1]. User melakukan proses input melalui media atau perangkat masukan seperti kibor, mouse, kamera, mikrofon dan lain sebagainya [2].
Nilai Statis vs Nilai Inputan User
Sejauh ini, semua kode program yang kita buat bersifat statis. Setiap variabel yang kita buat memiliki nilai sesuai dengan yang kita inginkan, tapi tidak seperti yang user inginkan.
Perhatikan contoh kode program di bawah ini:
panjang = 10
lebar = 5
luas = panjang * lebar
print("luas = ", luas)
Jika kode program di atas kita jalankan, kita akan mendapatkan output:
luas = 50
Lalu bagaimana kalau misal kita ingin menghitung luas persegi panjang selain 10 dan 5?
Maka yang kita lakukan adalah mengedit kode program, mengganti nilai dari variabel panjang
dan lebar
lalu kembali mengeksekusi program dari awal.
Ribet!
Tapi kalau kita ingin tanpa harus mengedit kode program, bagaimana?
Jawabannya adalah: minta user untuk meng-input-kan data!
Membuat Input Pada Python
Di dalam bahasa pemrograman python, kita bisa membuat sebuah inputan dengan cara memanggil fungsi bawaan python yang bernama fungsi input()
.
Fungsi input()
menerima satu buah parameter string, yang mana parameter tersebut akan ditampilkan di layar sebelum user memasukkan sebuah data.
Perhatikan contoh berikut:
nama = input('Masukkan nama anda: ')
print('Halo,', nama, '.. selamat datang!')
Pada kode program di atas:
- Kita membuat sebuah variabel yaitu variabel
nama
. - Kemudian kita mengisi variabel
nama
tersebut berdasarkan inputan dari user.
Bagaimana hasilnya? Silakan tonton video 27 detik berikut:
Tipe data dari nilai input adalah string
Jika kita perhatikan pada program di atas, user bisa memasukkan nilai atau data apa pun. Bisa berupa angka, tanggal lahir, bahkan emoji (seperti yang saya lakukan pada video di atas).
Lalu apa tipe data nilai kembalian dari fungsi input()
?
Tipe data kembaliannya adalah string
!
Mari kita buktikan.
nama = input('Masukkan nama anda: ')
print('Variabel nama bertipe data:', type(nama))
Jika kita masukkan “Nurul Huda” sebagai input, maka kode program di atas akan menghasilkan output:
Masukkan nama anda: Huda
Variabel nama bertipe data: <class 'str'>
Bahkan, meskipun kita memasukkan nilai 10
, variabel nama
tetaplah sebuah string.
Untuk lebih menguatkan lagi, kita bisa mencoba kode program di bawah.
print('Kalkulator luas persegi panjang\n')
panjang = input('Masukkan panjang: ')
lebar = input('Masukkan lebar: ')
print('Luas =', panjang * lebar)
Jalankan kode program di atas, lalu masukkan angka 10
sebagai panjang
, dan angka 5
sebagai lebar
.
Program akan menghasilkan error:
Kalkulator luas persegi panjang
Masukkan panjang: 10
Masukkan lebar: 5
Traceback (most recent call last):
File "02-int.py", line 5, in <module>
print('Luas =', panjang * lebar)
TypeError: can't multiply sequence by non-int of type 'str'
Kenapa error? karena kita berusaha mengalikan dua buah nilai yang bertipe data string
, dan hal itu akan menyebabkan error seperti di atas pada bahasa pemrograman python π.
Input data selain string
Lalu bagaimana solusinya jika kita ingin mengalikan dua buah bilangan hasil dari input user?
Caranya adalah dengan mengkonversi tipe data!
Kita bisa mengkonversi tipe data string
menjadi integer
menggunakan fungsi int()
.
Perhatikan contoh berikut ketika saya bermain-main dengan python mode interaktif:
>>> type(10)
<class 'int'>
>>> type('10')
<class 'str'>
>>> type(int('10'))
<class 'int'>
>>>
Pada percobaan ketika di atas, kita mencoba untuk mengubah nilai string '10'
menjadi integer dengan fungsi int('10')
.
Sehingga program kalkulator kita bisa working well kalau kode programnya kita ganti seperti berikut:
print('Kalkulator luas persegi panjang\n')
panjang = input('Masukkan panjang: ')
lebar = input('Masukkan lebar: ')
print('Luas =', int(panjang) * int(lebar))
Ketika kita jalankan, sistem tidak lagi menampilkan error π
Kalkulator luas persegi panjang
Masukkan panjang: 10
Masukkan lebar: 5
Luas = 50
Kalau misal kita ingin tipe datanya adalah float?
Caranya gampang, kita tinggal ganti saja fungsi int()
menjadi float()
, maka tipe data hasil input user yang awalnya adalah string
akan berubah menjadi float
.
Untuk hal-hal yang berkaitan dengan konversi tipe data, kalian bisa baca lebih lanjut pada pembahasan tipe data casting
Pertemuan Selanjutnya
Alhamdulillah. Tutorial pada kesempatan kali ini tidak terlalu panjang, singkat padat dan semoga jelas.
Pada pertemuan selanjutnya, insyaallah kita akan membahas tentang output pada python!
Nantikan terus tutorial-tutorial di Jago Ngoding, jangan lupa komentar, share, dan like fanspage kami, ya! π€πΌ
Terima kasih banyak ππΌπ
Referensi
[1] https://www.computerhope.com/jargon/i/input.htm – diakses tanggal 15 Mei 2021
[2] https://techmonitor.ai/what-is/what-is-input-4935519 – diakses tanggal 15 Mei 2021