Cara menggunakan CAST] pada Python

Menentukan Jenis Variabel

Mungkin ada saat-saat ketika kita ingin menentukan tipe pada variabel. Sebenarnya hal ini bisa dilakukan menggunakan casting. Python adalah bahasa berorientasi objek, dan karena itu ia menggunakan kelas untuk mendefinisikan tipe data, termasuk tipe primitifnya.

Karena itu, casting dalam python dilakukan menggunakan fungsi konstruktor:

  • int () – membuat bilangan bulat dari literal integer, literal float (dengan membulatkan ke bilangan bulat sebelumnya), atau string literal (memberikan string mewakili bilangan bulat)
  • float () – membuat angka float dari literal integer, literal float atau literal string (asalkan string mewakili float atau integer)
  • str () – membuat string dari berbagai tipe data, termasuk string, literal integer, dan literal float

Contoh:
Integer

x = int(1) y = int(2.8) z = int("3") print(x) print(y) print(z)

Float

x = float(1) y = float(2.8) z = float("3") w = float("4.2") print(x) print(y) print(z) print(w)

String

x = str("s1") y = str(2) z = str(3.0) print(x) print(y) print(z)

Nurul Huda 24 February 2021

  1. Beranda
  2. Python
  3. Python Menengah
  4. Python: Tipe Data Casting 🐍

  • Python
  • Python Menengah
  • Tipe Data

Daftar Isi

    • Pendahuluan
    • Memeriksa Jenis Tipe Data
    • Apa itu Konversi Tipe Data?
    • Kenapa Data Butuh Dikonversi?
    • Konversi Tipe Data Secara Implisit
    • Konversi Tipe Data Secara Eksplisit
    • Konversi String ke Numerik
    • Konversi Numerik ke String
    • Konversi ke Boolean
    • Konversi Dari dan Ke List, Set dan Tuple
    • Kesimpulan
    • Kode Program Lengkap
    • Pertemuan Selanjutnya
    • Referensi

Pendahuluan

Pada pembahasan awal tentang tipe data dan variabel yang telah berlalu, kita mengetahui bahwa ada beberapa tipe data pada python. Baik tipe data yang bersifat asli (primitif) mau pun tipe data yang tergolong canggih karena ia merupakan susunan dari tipe data asli lainnya.

Dari berbagai macam tipe data tersebut, kita bisa langsung membuatnya tanpa perlu repot-repot mendefinsikan terlebih dahulu tipe datanya apa.

Misal:

Variabel nama dalam kode program di atas, otomatis memiliki tipe data string ketika kita mengisinya dengan data string, dan otomatis akan menjadi tipe data integer jika kita mengisinya dengan tipe data integer, dan begitu seterusnya. Konsep pendekatan seperti ini dinamakan weak typing.

Memeriksa Jenis Tipe Data

Selain itu, kita bisa memeriksa tipe data dari suatu variabel dengan fungsi type() bawaan python.

Contoh:

nama = 'Budi' usia = 20 lajang = True print(type(nama)) print(type(usia)) print(type(lajang))

Output:

<class 'str'> <class 'int'> <class 'bool'>

Apa itu Konversi Tipe Data?

Konversi tipe data adalah teknik mengubah nilai yang awalnya dari tipe data a, menjadi tipe data b. Terdapat 2 cara dalam mengkonversi tipe data:

  • Konversi secara implisit (otomatis)
  • dan Konversi secara eksplisit (manual)

Kenapa Data Butuh Dikonversi?

Jawabannya adalah: tidak semua data itu valid dan tidak semua data itu bisa kita oleh sesuai kebutuhan.

Yang pertama, tidak semua data itu valid. Apa maksudnya?

Contoh, kita meminta user untuk menginputkan data usia. User menuliskan angka usianya. Akan tetapi, python justru menganggap data tersebut sebagai string, bukan integer.

Perhatikan contoh berikut:

usia = input('Masukkan usia anda: ') print(type(usia))

Jika kita masukkan 20, maka outputnya akan seperti ini:

Masukkan usia anda: 20 <class 'str'>

Nah? Sedangkan jika kita berusaha mengoperasikan (misal perkalian) string dan integer, atau string dan string, maka (secara umum) kita akan mendapatkan error. Misal:

panjang = input('Masukkan panjang: ') lebar = input('Masukkan lebar: ') print('Luas =', panjang * lebar)

Error yang kita dapat:

Masukkan panjang: 10 Masukkan lebar: 5 Exception has occurred: TypeError can't multiply sequence by non-int of type 'str'

Karena tidak semua data itu tipe datanya valid, yang mana mengakibatkan tidak bisa diolahnya data tersebut, oleh karena itu mengkonversi tipe data sesuai kebutuhan merupakan sesuatu yang penting.

Konversi Tipe Data Secara Implisit

Ada dua model konversi tipe data. Yang pertama adalah model implisit dan yang kedua adalah eksplisit.

Model implisit adalah proses pengkonversian tipe data yang terjadi secara otomatis dibalik layar, tanpa perlu kita instruksi secara langsung.

Misal, hasil dari operasi pembagian antar dua bilangan akan otomatis dikonversi menjadi tipe data float. Perhatikan contoh berikut:

a = 10 / 2 print(type(a)) b = 1 / 2 print(type(b))

Output:

<class 'float'> <class 'float'>

Hal ini juga berlaku untuk penjumlahan atau perkalian atau pengurangan jika salah satu operan-nya adalah bilangan pecahan, seperti contoh berikut:

c = 10 + 5 # hasilnya integer print(type(c)) d = 10 + 5.0 # hasilnya float print(type(d)) e = 10.5 - 3 # hasilnya float print(type(e))

<class 'int'> <class 'float'> <class 'float'>

Perkalian String

Demikian pula dengan perkalian antara string dan integer, ia akan menghasilkan sebuah string:

kata = 'Jeruk ' * 5 print(kata) print(type(kata))

Output:

Jeruk Jeruk Jeruk Jeruk Jeruk <class 'str'>

Konversi Tipe Data Secara Eksplisit

Kita tahu bahwa tidak semua operasi dari tipe data yang berbeda bisa dikonversi dengan benar oleh python. Beberapa di antaranya justru menghasilkan error jika tidak kita konversi manual. Proses konversi manual ini lah yang dinamakan sebagai tipe data casting secara eksplisit.

Dalam python, kita bisa mengkonversi tipe data secara eksplisit dengan memanggil fungsi konstruktor dari masing-masing tipe data.

Untuk tipe data primitif, kita bisa memanggil fungsi berikut:

  • int() - untuk konversi data ke integer
  • float() - untuk konversi data ke float
  • bool() - untuk konversi data ke bool
  • str() - untuk konversi data string (sebagian orang menyebutkan bahwa string adalah tipe data primitif pada python [1])

Dan untuk tipe data lain yang tergolong tipe data canggih (atau buatan), kita juga bisa memanggil masing-masing konstruktornya untuk melakukan tipe data casting, semisal:

  • list() - untuk list
  • set() - untuk set
  • tuple() - untuk tuple

Konversi String ke Numerik

Mari kita mencoba mengkonversi string ke numerik dengan memperbaiki kode program di bawah ini:

panjang = input('Masukkan panjang: ') lebar = input('Masukkan lebar: ') print('Luas =', panjang * lebar)

Di awal, kita telah mencoba mengeksekusi program di atas akan tetapi interpreter mengembalikan sebuah error. Itu terjadi karena kita tidak bisa mengalikan string dengan string secara langsung.

Yang harus kita lakukan adalah mengkonversinya terlebih dahulu, entah ke integer menggunakan fungsi int(), atau ke float menggunakan fungsi float().

Hasil akhirnya:

panjang = int(input('Masukkan panjang: ')) lebar = float(input('Masukkan lebar: ')) print('Luas =', panjang * lebar)

Contoh output:

Masukkan panjang: 10 Masukkan lebar: 5 Luas = 50.0

Kita juga bisa mengkonversi sebuah float ke integer atau sebaliknya:

print(int(5.6)) print(float(5))

Output:

Konversi Numerik ke String

Sebaliknya, pada saat-saat tertentu kita justru butuh untuk mengkonversi data numerik ke dalam string. Kita bisa dengan mudah menggunakan fungsi konstruktor str().

Perhatikan contoh berikut:

nama = 'Wudi' tahun_lahir = 2000 print(nama + ' lahir di tahun ' + str(tahun_lahir))

Output:

Kenapa harus menggunakan str()?

Karena proses penggabungan string hanya bisa dilakukan oleh 2 buah string, jika salah satunya numeric (integer / float) maka harus dikonversi terlebih dahulu.

NB: cara yang disarankan untuk menyisipkan variabel ke dalam string adalah menggunakan f-string:

print(f'{nama} lahir di tahun {tahun_lahir}')

Konversi ke Boolean

Kita bisa melakukan konversi ke boolean dengan menggunakan fungsi bool().

Data yang bernilai “putih” atau kosong akan dianggap dan dikonversi sebagai False, sebaliknya data yang bernilai “hitam” atau tidak kosong akan dianggap dan dikonversi menjadi True.

Di antara data yang dianggap False:

  • None - kosong
  • 0 - integer kosong
  • 0.0 - float kosong
  • "" - string kosong
  • [] - list kosong
  • () - tuple kosong
  • {} - dictionary kosong

Selain dari itu, data-data yang tidak “putih” akan dianggap sebagai True.

Untuk lebih memperjelas lagi, silakan tulis dan jalankan kode program di bawah:

print(type(None), '->', bool(None)) print(type(0), '->', bool(0)) print(type(0.0), '->', bool(0.0)) print(type(""), '->', bool("")) print(type([]), '->', bool([])) print(type(()), '->', bool(())) print(type({}), '->', bool({})) print("-" * 20) print(type(5), '->', bool(5)) print(type(-14.5), '->', bool(-14.5)) print(type("Aku"), '->', bool("Aku")) print(type([1, 2, 3]), '->', bool([1, 2, 3])) print(type(("a", "b", False)), '->', bool(("a", "b", False))) print(type({ 'nama': 'Lendis Fabri' }), '->', bool({ 'nama': 'Lendis Fabri' }))

Output dari kode program di atas adalah:

<class 'NoneType'> -> False <class 'int'> -> False <class 'float'> -> False <class 'str'> -> False <class 'list'> -> False <class 'tuple'> -> False <class 'dict'> -> False -------------------- <class 'int'> -> True <class 'float'> -> True <class 'str'> -> True <class 'list'> -> True <class 'tuple'> -> True <class 'dict'> -> True

Konversi Dari dan Ke List, Set dan Tuple

Untuk tipe data berjenis koleksi, kita juga bisa melakukan konversi satu sama lain dengan fungsi konstruktor dari masing-masing tipe data:

  • fungsi list() untuk list
  • fungsi set() untuk set
  • fungsi tuple() untuk tuple

Perhatikan contoh-contoh berikut:

# list ke tuple dan ke set listHuruf = ['a', 'b', 'c', 'c'] print(listHuruf) print(tuple(listHuruf)) print(set(listHuruf))

Output:

['a', 'b', 'c', 'c'] ('a', 'b', 'c', 'c') {'b', 'c', 'a'}

# tuple ke list dan ke set tplBuah = ('Mangga', 'Jambu') print(tplBuah) print(list(tplBuah)) print(set(tplBuah))

Output:

('Mangga', 'Jambu') ['Mangga', 'Jambu'] {'Mangga', 'Jambu'}

# set ke list dan ke tuple setAngka = {1, 3, 5, 5} print(setAngka) print(list(setAngka)) print(tuple(setAngka))

Output:

{1, 3, 5} [1, 3, 5] (1, 3, 5)

Kesimpulan

Setelah melakukan berbagai macam percobaan, kita bisa simpulkan pertemuan kali ini menjadi beberapa poin penting. Di antaranya:

  • Python melakukan deteksi otomatis terhadap tipe data suatu variabel.
  • Selain itu, python juga melakukan konversi tipe data secara otomatis ketika melakukan operasi tertentu dari dua tipe data yang berbeda. Konversi ini disebut sebagai konversi implisit.
  • Beberapa operasi tidak bisa dilakukan untuk beberapa tipe data yang berbeda, oleh karena perlu adanya konversi tipe data secara manual. Dan cara ini disebut sebagai konversi eksplisit.
  • Kita bisa mengkonversi berbagai macam tipe data secara eksplisit, mulai dari tipe data yang asli mau pun tipe data kolektif.

Kode Program Lengkap

Untuk kalian yang ingin mendapatkan kode program lengkap, silakan langsung mengunjungi repository python-menengah di github.

Pertemuan Selanjutnya

Pada pertemuan selanjutnya, insyaallah kita akan membahas tentang pemrograman berorientasi objek pada python.

Stay tune dan tetap semangat!

Terima kasih banyak 😎

Referensi

1 - //blog.usejournal.com/variables-and-primitive-built-in-types-in-python-fd31eaf939f?gi=6c385a1c84b7#:~:text=They%20are%20the%20building%20block,numeric%20data%2C%20whole%20number%20specifically. – diakses tanggal 24 Februari 2021

Mengangkangi Python: Level 1

Ikuti Kursus Cara Paling Cepat Menguasai Bahasa Python.

Apa itu casting tipe data?

Type casting atau pengubahan suatu tipe data ke tipe lainnya biasa dilakukan dalam suatu bahasa pemrograman manakala, data yang diinginkan terbentuk dari tipe data lain. Misal ketika kamu menginginkan suatu bilangan float dari formdata yang dikirimkan client malah diterima dalam bentuk string.

Bagaimana cara mengambil input dari keyboard pada pemrograman Python?

Cara Mengambil Input dari Keyboard Python sudah menyediakan fungsi input() dan raw_input() untuk mengambil inputan dari keyboard.

Apakah string bisa dikonversikan menjadi angka?

String dapat dikonversi menjadi angka dengan metode int() dan float() . Jika string Anda tidak memiliki tempat desimal, kemungkinan besar Anda ingin mengonversinya menjadi integer dengan metode int() . Karena dua nilai numerik disimpan dalam string, kita menerima pesan kesalahan.

Apa itu input di 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.

Postingan terbaru

LIHAT SEMUA