Type Conversion
Type Conversion atau Type Casting adalah proses mengubah sebuah nilai dari satu tipe data ke tipe data lainnya.
Dalam Python, kita sering bekerja dengan berbagai tipe data seperti:
int
float
str
bool
Terkadang sebuah nilai perlu diubah ke tipe data lain agar dapat digunakan sesuai kebutuhan program.
Contohnya, angka:
100
dapat diubah menjadi string:
"100"
Walaupun keduanya memiliki nilai yang terlihat sama, tipe datanya berbeda.
1. Mengapa Type Conversion Dibutuhkan?
Type conversion diperlukan ketika suatu data memiliki tipe yang berbeda dengan kebutuhan operasi yang akan dilakukan.
Misalnya kita memiliki:
age = "25"
Nilai tersebut terlihat seperti angka, tetapi sebenarnya merupakan string.
"25" → str
Jika kita membutuhkan nilai tersebut sebagai angka, kita dapat mengubahnya menjadi integer:
age = int(age)
Sekarang:
25 → int
Konversi seperti ini sangat umum dilakukan ketika program menerima data dari pengguna atau sumber data lainnya.
2. Fungsi Konversi Built-in
Python menyediakan beberapa built-in functions untuk melakukan type conversion.
| Fungsi | Hasil | Contoh |
|---|---|---|
str() | str | str(100) → "100" |
int() | int | int("100") → 100 |
float() | float | float(100) → 100.0 |
Fungsi tersebut dapat digunakan secara langsung tanpa perlu melakukan import module.
3. Menggunakan str()
Fungsi str() digunakan untuk mengubah sebuah nilai menjadi string.
Contohnya:
angka = 100
teks = str(angka)
print(teks)
print(type(teks))
Hasil:
100
<class 'str'>
Sebelum konversi:
100 → int
Setelah konversi:
"100" → str
4. Mengubah Float Menjadi String
str() juga dapat digunakan untuk mengubah float menjadi string.
Contohnya:
nilai = 3.14
teks = str(nilai)
print(teks)
print(type(teks))
Hasil:
3.14
<class 'str'>
5. Menggunakan int()
Fungsi int() dapat digunakan untuk mengubah nilai tertentu menjadi integer.
Contoh paling umum adalah mengubah string yang berisi angka menjadi integer.
angka = "100"
hasil = int(angka)
print(hasil)
print(type(hasil))
Hasil:
100
<class 'int'>
Sebelum konversi:
"100" → str
Setelah konversi:
100 → int
6. Menggunakan float()
Fungsi float() digunakan untuk mengubah nilai menjadi floating-point number.
Contohnya:
angka = "10.5"
hasil = float(angka)
print(hasil)
print(type(hasil))
Hasil:
10.5
<class 'float'>
Contoh lainnya:
angka = 100
hasil = float(angka)
print(hasil)
Hasil:
100.0
7. Konversi Antar Tipe Data
Type conversion dapat dilakukan dari satu tipe data ke tipe data lainnya selama nilai tersebut dapat dikonversi.
Contoh:
int
↓
str
str(100)
Hasil:
"100"
Contoh:
str
↓
int
int("100")
Hasil:
100
Contoh:
int
↓
float
float(100)
Hasil:
100.0
8. Type Conversion pada String
Tidak semua string dapat dikonversi menjadi angka.
Contohnya:
angka = "100"
hasil = int(angka)
Kode tersebut valid karena "100" berisi representasi angka.
Namun:
angka = "Hello"
hasil = int(angka)
akan menghasilkan error karena "Hello" bukan representasi integer yang valid.
Python akan menghasilkan error seperti:
ValueError
Hal ini menunjukkan bahwa type conversion tidak selalu berhasil.
Nilai yang akan dikonversi harus sesuai dengan tipe data tujuan.
9. Nested Function
Python memungkinkan kita menggunakan sebuah fungsi sebagai argument untuk fungsi lainnya.
Contohnya:
print(type(int(str(100))))
Kode tersebut terlihat cukup panjang, tetapi dapat dipahami dengan mengevaluasinya dari bagian paling dalam ke bagian paling luar.
Prosesnya:
100
↓
str(100)
↓
"100"
↓
int("100")
↓
100
↓
type(100)
↓
<class 'int'>
Hasil:
<class 'int'>
10. Memecah Nested Function
Kode berikut:
print(type(int(str(100))))
dapat ditulis dalam beberapa langkah agar lebih mudah dipahami.
Langkah 1
a = str(100)
Hasil:
a → "100"
Langkah 2
b = int(a)
Hasil:
b → 100
Langkah 3
c = type(b)
Hasil:
c → <class 'int'>
Langkah 4
print(c)
Hasil:
<class 'int'>
Kedua cara tersebut memiliki tujuan yang sama.
11. Konversi dari int ke float
Kita dapat mengubah integer menjadi float menggunakan float().
Contohnya:
angka = 10
hasil = float(angka)
print(hasil)
print(type(hasil))
Hasil:
10.0
<class 'float'>
12. Konversi dari float ke int
Kita juga dapat mengubah float menjadi integer menggunakan int().
Contohnya:
angka = 10.9
hasil = int(angka)
print(hasil)
Hasil:
10
Perlu diperhatikan bahwa int() tidak melakukan pembulatan ke angka terdekat.
Bagian desimal akan dihilangkan.
Contohnya:
print(int(10.9))
print(int(10.1))
Hasil:
10
10
Karena itu, jangan menganggap int() sebagai fungsi pembulatan.
13. Contoh dalam Program
Type conversion sering digunakan ketika program menerima data dalam bentuk string.
Contohnya:
age = "25"
age = int(age)
print(age)
print(type(age))
Setelah dikonversi:
25
<class 'int'>
Data yang awalnya berupa teks sekarang dapat diperlakukan sebagai integer.
Konsep seperti ini akan menjadi sangat penting ketika mempelajari input dari pengguna.
14. Type Conversion Tidak Mengubah Nilai Aslinya Secara Otomatis
Fungsi konversi menghasilkan nilai baru dari hasil konversi.
Contohnya:
angka = "100"
int(angka)
print(type(angka))
Hasil:
<class 'str'>
Variable angka masih merupakan string.
Jika ingin menyimpan hasil konversinya ke variable yang sama:
angka = "100"
angka = int(angka)
print(type(angka))
Hasil:
<class 'int'>
Jadi, hasil konversi perlu disimpan jika kita ingin menggunakan tipe data yang baru.
15. Gambaran Proses Type Conversion
Secara sederhana:
Nilai
↓
Fungsi Konversi
↓
Tipe Data Baru
Contohnya:
"100"
↓
int()
↓
100
atau:
100
↓
str()
↓
"100"
atau:
100
↓
float()
↓
100.0
16. Ringkasan Fungsi Konversi
| Fungsi | Dari | Menjadi | Contoh |
|---|---|---|---|
str() | Nilai tertentu | str | str(100) → "100" |
int() | Nilai numerik/string numerik | int | int("100") → 100 |
float() | Nilai numerik/string numerik | float | float("100") → 100.0 |
Kesimpulan
Type Conversion adalah proses mengubah sebuah nilai dari satu tipe data ke tipe data lainnya.
Beberapa fungsi konversi yang paling dasar dalam Python adalah:
str()
int()
float()
Contohnya:
str(100)
menghasilkan:
"100"
Sedangkan:
int("100")
menghasilkan:
100
Dan:
float("100")
menghasilkan:
100.0
Type conversion sangat penting ketika program perlu menyesuaikan tipe data dengan kebutuhan tertentu.
Hal penting yang perlu diingat:
Type conversion memungkinkan kita mengubah representasi sebuah nilai agar sesuai dengan kebutuhan program.
Selain itu, ketika menggunakan nested function, Python mengevaluasi fungsi dari bagian paling dalam kemudian bergerak ke bagian luar.
Contohnya:
type(int(str(100)))
dievaluasi dengan urutan:
str(100)
↓
int(...)
↓
type(...)
Memahami type conversion akan menjadi dasar penting sebelum mempelajari input, operasi data, dan pengolahan data dalam program Python.