# Input Data Menggunakan Python

Dalam membuat sebuah program, pengambilan data sangat penting untuk dilakukan. Misalkan kamu ingin membuat aplikasi kalkulator. Tentu aplikasi kalkulator-mu perlu meminta input data berupa angka ke pengguna aplikasi. Kemudian, data yang diinput ini diolah untuk ditampilkan hasilnya. Jadi, input data merupakan hal yang sangat penting dalam pemrograman, bahasa apapun itu. 


## Fungsi `input()`
Pada python, input data dapat dilakukan dengan mudah. Kita cukup menulis `input()` untuk meminta input kepada user. Untuk menyimpan data yang telah diinput ini, kita bisa me-assign hasil input tersebut ke sebuah variabel. Variabel ini nantinya akan mengandung data yang diinputkan oleh user, dan kita bisa mengolahnya. Tipe data yang akan dihasilkan oleh input ini akan selalu bertipe **string**

Contoh : 
```python
angka = input()
```
Di dalam tanda kurung `input()`, kita bisa membiarkannya kosong begitu saja atau kita juga bisa menambahkan string yang akan tampil ketika input data akan dilakukan.

Contohnya :
```python
nama = input("ketik nama anda : ")
print("Hai, " + nama)
``` 
Mari kita coba di replit.com. salin kode di atas ke replit.
![kode program](https://media.discordapp.net/attachments/778272428219826180/887114151191801886/Screenshot_2021_0914_060741.png)
Lalu, setelah tombol play (run) diklik, hasilnya akan seperti ini :
![hasil 1](https://media.discordapp.net/attachments/778272428219826180/887114151405707284/Screenshot_2021_0914_060810.png) 
Disana kamu diminta untuk memasukkan (input) data, yaitu nama-mu. Setelah kamu menulis nama dan menekan enter, program tersebut secara otomatis akan menampilkan `Hai, +[nama]`. Ini terjadi karena pada baris kedua kode, kita melakukan concatenating string `"Hai, "` dan string `nama`. Dalam contoh ini, karena saya memasukkan nama "fikri" sebagai input, maka hasilnya adalah `Hai, Fikri`
![hasil akhir](https://media.discordapp.net/attachments/778272428219826180/887114151627984946/Screenshot_2021_0914_060837.png)

## Fungsi `int()` dan `str()`
Seperti yang sudah saya sebutkan di atas, hasil input dari fungsi `input()` selalu memiliki tipe data string. Dan seperti yang kita tau, tipe data string tidak dapat dilakukan operasi aritmatik (+, -, ×, ÷) dengan tipe data number. 
Oleh karena itu, jika kamu menulis kode berikut :
```python
a = input("nilai a = ")
b = a + 5
print(b)
```
Maka akan muncul error pada baris kedua. Ini terjadi karena pada baris kedua (`b=a+5`) terjadi penjumlahan tipe data numbers dan tipe data string, sedangkan tipe data numbers tidak dapat dijumlahkan dengan tipe data string, sehingga hasilnya adalah error.

Untuk menyelesaikan masalah ini, kita dapat merubah tipe data string tersebut menjadi tipe data numbers, yaitu integers, dengan menggunakan fungsi `int()`.
```python
a = input("nilai a = ")
b = int(a) + 5
``` 
Selain fungsi `int()`, ada fungsi lain yang menjalankan kerja serupa, yaitu fungsi `str()`. Jika fungsi `int()` merubah suatu tipe data menjadi numbers (integer), maka fungsi `str()` merubah suatu tipe data menjadi string.

