Lewati ke konten utama

Cara Mengonversi String Menjadi Integer di Python

Pelajari cara mengonversi string Python ke integer dalam tutorial singkat ini.
· 5 mnt Baca

Jelajahi bersama AI

Kesalahan tipe data adalah salah satu hambatan paling umum di Python, terutama bagi pemula. Salah satu kesalahan tipe data yang sering terjadi adalah ketika angka diformat sebagai string, yang mengakibatkan salah perhitungan, wawasan yang keliru, atau pesan kesalahan langsung.

Dalam tutorial ini, saya akan menunjukkan cara mengatasi kesalahan tersebut dan cara mengonversi string Python menjadi integer.

Jawaban Cepat: Cara Mengonversi String Python Menjadi Integer

Jika string Anda merepresentasikan bilangan bulat (mis., 12), gunakan fungsi int() untuk mengonversi string menjadi integer. Jika string Anda merepresentasikan bilangan desimal (mis., 12.5), gunakan fungsi float() untuk mengonversi string menjadi float. Anda dapat menemukan contohnya di bawah ini:

# Converting a string into an integer 
number_str = "10"
number_int = int(number_str)
print(number_int)  # Output: 10

# Converting a string into a float 
decimal_str = "10.5"
decimal_float = float(decimal_str)
print(decimal_float)  # Output: 10.5

Tipe Data di Python

Python adalah bahasa dengan pengetikan dinamis, yang memiliki beragam tipe data mulai dari string dan integer hingga bilangan floating-point dan boolean. Memahaminya sangat penting untuk pemrograman yang efektif. Berikut ini adalah daftar tipe data Python yang tidak lengkap:

  • String (str): Data tekstual yang diapit oleh tanda kutip. Mis., greeting = "Hello, World!"
  • Integer (int): Bilangan bulat tanpa komponen pecahan. Mis., age = 25
  • Float (float): Bilangan dengan titik desimal. Mis., height = 5.9
  • Boolean (bool): Merepresentasikan True atau False
  • List (list): Kumpulan item berurutan yang dapat terdiri dari campuran tipe data. List bersifat mutable, sehingga dapat dimodifikasi. Contoh, colors = ["red", "blue", "green"]
  • Dictionary (dict): Kumpulan pasangan key-value, memungkinkan Anda menyimpan dan mengambil data menggunakan key. Contoh, person = {"name": "Alice", "age": 30}

Untuk mempelajari lebih lanjut tentang tipe data, baca tutorial Struktur Data di Python di DataCamp.

Mengapa Mengonversi String Menjadi Integer?

Tipe data yang tepat sangat penting untuk perhitungan yang akurat. Pertimbangkan contoh berikut. Misalkan kita memiliki dua angka 5 dan 10 yang berupa string. Jika kita menjumlahkannya, jawabannya akan menjadi 510, karena keduanya diperlakukan sebagai string yang digabungkan dengan operator +.

Untuk mendapatkan jawaban yang akurat (dalam kasus ini 15), keduanya perlu dikonversi menjadi integer sebelum menghitung jumlahnya. Ini ilustrasi sederhana, tetapi bayangkan ini diterapkan pada dataset pendapatan perusahaan—hal ini dapat menyebabkan keputusan bisnis yang buruk.

# Summing two numbers that are actually strings
'5'+'10'# This returns 510

# Converting them to integers before summing them
int('5') + int('10') # This returns 15

Cara Mengonversi String Menjadi Integer di Python

Saat bekerja dengan data numerik yang diformat sebagai string, sering kali diperlukan untuk mengonversi string tersebut menjadi integer untuk perhitungan atau operasi numerik lainnya. Python menyediakan cara langsung untuk melakukannya menggunakan fungsi int(). Fungsi ini menerima string sebagai masukan dan mengembalikan representasi bilangan bulatnya, selama string tersebut merepresentasikan bilangan bulat yang valid.

# Convert a string to an integer
numeric_string = "42"
converted_integer = int(numeric_string)
print(converted_integer)  # Output: 42

Cara Mengonversi String Menjadi Float di Python

Dalam kasus di mana string merepresentasikan angka dengan titik desimal, mengonversinya ke integer tidak tepat dan akan menghasilkan error. Sebagai gantinya, Anda dapat mengonversi string tersebut menjadi float menggunakan fungsi float() di Python. Menggunakan tipe data float sangat penting terutama saat bekerja dengan data yang sangat presisi, seperti data keuangan atau data pengukuran sensor.

# Convert a string to a float
decimal_string = "3.14"
converted_float = float(decimal_string)
print(converted_float)  # Output: 3.14

Masalah Saat Mengonversi String ke Numerik di Python

Saat mengonversi string ke angka, ada beberapa jebakan yang dapat menyebabkan error atau hasil yang tidak terduga.

Mengonversi string non-numerik

Mencoba mengonversi string non-numerik, seperti 'hello world', menjadi angka akan memunculkan error. Jika Anda ingin menangkap secara terprogram string yang tidak dapat dikonversi menjadi integer, cobalah menggunakan blok try/except untuk menangani kasus tersebut dengan baik.

try:
    invalid_number = int("hello world")
except ValueError:
    print("This is not a number.")

Mengonversi string float menjadi integer

Mengonversi string yang merepresentasikan float secara langsung menjadi integer akan menghasilkan ValueError. Sementara Anda dapat mengonversi string yang merepresentasikan integer menjadi float, Anda tidak dapat melakukan sebaliknya. Berikut contoh error yang bisa Anda dapatkan:

string_decimal = '13.5'
# Convert string_decimal into an integer
int(string_decimal) 
# Returns ValueError: invalid literal for int() with base 10: '13.5'

String dengan basis berbeda

Saat kita membicarakan "basis" dalam angka, kita merujuk pada sistem penomoran tempat angka tersebut dinyatakan. Basis yang paling umum adalah 10, juga dikenal sebagai sistem desimal, yang kita gunakan dalam kehidupan sehari-hari. Sistem ini terdiri dari 10 digit, dari 0 hingga 9.

Namun, ada basis lain yang digunakan di berbagai bidang, khususnya komputasi. Misalnya:

  • Biner (Basis 2): Hanya menggunakan 0 dan 1. Ini adalah bahasa fundamental komputer.
  • Oktal (Basis 8): Menggunakan digit dari 0 hingga 7. Kini kurang umum, tetapi digunakan pada sistem komputasi lama.
  • Heksadesimal (Basis 16): Menggunakan digit dari 0 hingga 9 dan huruf dari A hingga F (di mana A=10 dan F=15). Banyak digunakan dalam komputasi, terutama untuk kode warna dalam desain web dan alamat memori.

Ketika Anda memiliki string yang merepresentasikan angka dalam basis selain 10, Anda perlu menentukan basisnya agar Python dapat menafsirkannya dengan benar. Berikut contoh menggunakan angka heksadesimal:

# Convert a hexadecimal string to an integer
hex_string = "1A"  # In base 16, 1A represents the decimal number 26
converted_int = int(hex_string, 16)  # The '16' tells Python it's in base 16
print(converted_int)  # Output: 26

Kesimpulan

Menavigasi tipe data dan konversi dalam Python adalah keterampilan dasar untuk pemrograman. Dengan memahami cara mengonversi string ke integer dan float secara akurat, Anda dapat menghindari jebakan umum dan memastikan manipulasi data Anda benar. Jika Anda ingin mempelajari lebih lanjut tentang Python, lihat Python Cheat Sheet untuk Pemula, panduan kami tentang Cara Belajar Python, dan Kursus Python kami.

Adel Nehme

Penulis

Adel Nehme

Adel adalah pendidik Data Science, pembicara, dan VP Media di DataCamp. Adel telah merilis berbagai kursus dan pelatihan langsung tentang analisis data, machine learning, dan rekayasa data. Ia bersemangat menyebarkan keterampilan dan literasi data di seluruh organisasi serta mengeksplorasi persinggungan teknologi dan masyarakat. Ia meraih gelar MSc di bidang Data Science dan Business Analytics. Di waktu luang, Anda bisa menemukannya bersantai bersama kucingnya, Louis.

FAQs

Bagaimana cara memeriksa apakah sebuah string adalah integer di Python?

Untuk memeriksa apakah sebuah string merepresentasikan integer, Anda dapat menggunakan metode str.isdigit() jika string hanya berisi digit dan tidak memiliki tanda (+/-) atau desimal:

string = "42"
if string.isdigit():
    print("The string is an integer.")
else:
    print("The string is not an integer.")

Untuk string yang mungkin menyertakan tanda (+/-), Anda dapat menggunakan metode yang lebih andal:

string = "-42"
try:
    int(string)
    print("The string is an integer.")
except ValueError:
    print("The string is not an integer.")
Bagaimana cara mengonversi integer menjadi string di Python?

Gunakan fungsi str() untuk mengonversi integer menjadi string. Contoh:

number = 42
string_number = str(number)
print(string_number)  # Output: "42"
Apa yang harus saya lakukan jika string berisi angka desimal dan saya ingin mengonversinya menjadi integer?

Pertama, konversi string menjadi float menggunakan fungsi float(), lalu ubah menjadi integer menggunakan int(). Contoh:

decimal_string = "13.5"
converted_integer = int(float(decimal_string))
print(converted_integer)  # Output: 13

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai