1. Pendahuluan
Saat pemrograman dengan Python, konversi tipe data merupakan teknik penting. Khususnya, kemampuan untuk mengubah antara string dan angka sangat esensial untuk input/output data dan perhitungan. Misalnya, Anda sering perlu mengonversi string yang dimasukkan pengguna dalam sebuah formulir menjadi angka untuk perhitungan, atau memformat hasil numerik sebagai string untuk ditampilkan.
Namun, mencampur data dengan tipe yang berbeda dapat menyebabkan error, sehingga pemula harus berhati‑hati. Artikel ini memperkenalkan cara mengonversi “string ke angka” dan “angka ke string” dalam Python, menyajikan contoh praktis serta pembahasan detail tentang penanganan error dan kasus khusus. Kami harap ini membantu Anda mengembangkan keterampilan mulai dari pemrograman Python dasar hingga lanjutan.
Bagian selanjutnya akan menjelaskan metode konversi tipe dasar Python secara rinci.
2. Konversi Tipe Dasar di Python
Di Python, ketika tipe data berbeda, operasi langsung sering terbatas, sehingga diperlukan konversi data antar tipe. Memahami cara mengonversi string ke angka, atau sebaliknya, memungkinkan Anda menulis kode yang lebih fleksibel dan bebas error. Bagian ini menjelaskan konversi tipe dasar di Python menggunakan fungsi “int()” dan “float()”.
Konversi ke Integer
Ketika sebuah angka dimasukkan sebagai string, Anda perlu mengonversi string tersebut menjadi integer atau floating‑point sebelum melakukan perhitungan numerik di Python. Misalnya, untuk mengonversi string “42” menjadi integer 42, gunakan fungsi int() seperti berikut.
str_number = "42"
int_number = int(str_number)
print(int_number) # Output: 42
Dengan demikian, penggunaan fungsi int() memungkinkan konversi string menjadi integer. Ketika konversi berhasil, nilai tersebut dapat dipakai sebagai angka. Perlu dicatat bahwa mencoba mengonversi string yang mengandung titik desimal, seperti "42.0", ke tipe integer akan menghasilkan error. Hanya bilangan bulat yang valid untuk konversi ke integer; jika string menyertakan titik desimal, Anda harus menggunakan float().
Konversi ke Floating‑Point Number
Floating‑point number adalah tipe yang dapat menyimpan bagian pecahan dari sebuah nilai. Di Python, Anda dapat mengonversi string menjadi floating‑point number menggunakan fungsi float(). Misalnya, untuk mengonversi string “3.14” menjadi floating‑point number, gunakan kode berikut.
str_float = "3.14"
float_number = float(str_float)
print(float_number) # Output: 3.14
Dengan demikian, penggunaan fungsi float() memungkinkan konversi dari string ke floating‑point number. Selain itu, string dalam notasi ilmiah dapat dikonversi dengan float(), dan notasi seperti "1.23e-4" juga didukung.
str_exp = "1.23e-4"
float_exp = float(str_exp)
print(float_exp) # Output: 0.000123
Konversi dari Angka ke String
Sebaliknya, ada banyak situasi di mana Anda perlu mengonversi angka menjadi string. Misalnya, Anda ingin menggabungkan angka dengan string lain untuk ditampilkan. Dalam kasus tersebut, gunakan fungsi str().
num = 42
str_num = str(num)
print("Result of converting a number to a string: " + str_num) # Output: Result of converting a number to a string: 42
Dengan demikian, fungsi str() melakukan konversi dari angka ke string, memungkinkan manipulasi string yang berisi angka.
Setelah Anda memahami konversi tipe dasar, Anda dapat melanjutkan ke topik lanjutan seperti konversi antar sistem bilangan lain dan penanganan string full‑width.

3. Contoh Aplikasi: Konversi Berbagai Basis dan Angka Full‑Width
Setelah memahami konversi tipe dasar Python, kita akan membahas kasus yang lebih maju. Bagian ini menjelaskan cara mengonversi ke berbagai basis seperti biner dan heksadesimal, serta cara menangani angka yang mengandung karakter full‑width.
Konversi Biner, Oktal, dan Heksadesimal
Python’s int() function can convert not only decimal but also binary, octal, and hexadecimal strings. In this case, you specify the base (radix) as the second argument to the int() function. For example, to convert binary or hexadecimal strings to integers, you would write as follows.
binary_str = "1010" # binary string
octal_str = "12" # octal string
hex_str = "a" # hexadecimal string
int_binary = int(binary_str, 2)
int_octal = int(octal_str, 8)
int_hex = int(hex_str, 16)
print(int_binary) # Output: 10
print(int_octal) # Output: 10
print(int_hex) # Output: 10
Thus, binary, octal, and hexadecimal strings can also be converted to integers by using int() with the appropriate base. This feature is especially useful when working with data that involves multiple numeral systems.
Handling Full-Width Numbers and Special Characters
If a string from user input contains full-width numbers or special characters, attempting to convert it directly in Python can raise errors. Especially when Japanese numeric input includes full-width characters, Python often cannot handle them properly, so it is recommended to use the replace() method to convert full-width characters to half-width.
Below is an example that converts a full-width string to half-width before converting it to a number.
str_num_fullwidth = "12345"
str_num_halfwidth = str_num_fullwidth.translate(str.maketrans('0123456789', '0123456789'))
print(int(str_num_halfwidth)) # Output: 12345
Using this approach allows full-width numeric strings to be converted to numbers. If the full-width decimal point also needs conversion, you can perform an additional conversion as follows.
str_float_fullwidth = "123.456"
str_float_halfwidth = str_float_fullwidth.translate(str.maketrans('0123456789.', '0123456789.'))
print(float(str_float_halfwidth)) # Output: 123.456
Conversion of Kanji Numerals
In Python, you can use the Unicode module to convert some kanji numerals to numbers. By using unicodedata.numeric(), strings such as “一” or “百” can be converted to floating-point numbers.
import unicodedata
kanji_num = '五'
converted_num = unicodedata.numeric(kanji_num)
print(converted_num) # Output: 5.0
However, it does not support kanji numerals that consist of multiple characters (e.g., “十五”), so for more complex processing you should consider additional libraries or custom regular‑expression handling. Thus, Python offers a variety of conversion methods even for numeric strings. The next section will detail how to determine whether an input value can be converted and how to handle errors.
4. Error Handling and Input Validation
In data processing, there are cases where user input data or data received from external sources cannot be properly converted to numbers. Therefore, it is important to determine in advance whether the data can be converted to a numeric type, and to handle errors appropriately when conversion fails. This section explains methods for input validation and error handling.
Number Detection Using isdigit() and Regular Expressions
One way to pre‑determine whether a string can be converted to a number is to use Python’s isdigit() method or regular expressions. isdigit() returns True when the string consists entirely of digits, but returns False if it contains a decimal point or a minus sign. Therefore, it is useful when you want to check for integers only.
def is_integer(input_str):
return input_str.isdigit()
# Example usage
print(is_integer("123")) # Output: True
print(is_integer("3.14")) # Output: False
print(is_integer("-123")) # Output: False
On the other hand, for number detection that includes floating‑point numbers and negative values, regular expressions are convenient. In the example below, numbers prefixed with “+” or “-” and values containing a decimal point are set to return True.
import re
def is_numeric(input_str):
return bool(re.match(r'^[+-]?d+(.d+)?$', input_str))
# Example usage
print(is_numeric("123")) # Output: True
print(is_numeric("-123.45")) # Output: True
print(is_numeric("3.14.15")) # Output: False
print(is_numeric("abc")) # Output: False
Dengan menggunakan ekspresi reguler seperti ini, Anda dapat lebih fleksibel menentukan apakah suatu nilai bersifat numerik, yang berguna saat memproses data input yang kompleks.
Penanganan Kesalahan: Menggunakan Penangan Pengecualian
Di Python, mengonversi string menjadi angka dengan data yang tidak sesuai akan memunculkan error (ValueError). Untuk menangkap error ini dan melanjutkan pemrosesan, biasanya digunakan blok try-except untuk penanganan pengecualian.
Pada contoh di bawah, jika terjadi error saat mencoba mengonversi string menjadi integer, pesan error yang sesuai akan ditampilkan.
def convert_to_int(input_str):
try:
return int(input_str)
except ValueError:
print(f"Error: '{input_str}' cannot be converted to an integer.")
return None
# Example usage
print(convert_to_int("123")) # Output: 123
print(convert_to_int("abc")) # Output: Error: 'abc' cannot be converted to an integer.
Dengan menambahkan penanganan pengecualian, program dapat terus berjalan dengan lancar meskipun terjadi error, tanpa terhenti. Ini juga memberikan umpan balik yang jelas kepada pengguna, sehingga lebih mudah menangani kesalahan input.
Ketika validasi data input dan penanganan error dilakukan dengan tepat, keandalan kode meningkat. Pada bagian berikutnya, kita akan melihat cara mengonversi elemen list secara massal.

5. Cara Mengonversi Elemen List Secara Massal
Saat memproses data, Anda mungkin perlu mengonversi elemen list yang berbentuk string menjadi angka secara massal. Misalnya, file CSV dan data yang diambil dari sumber eksternal sering disimpan sebagai string. Bagian ini memperkenalkan metode konversi massal menggunakan list comprehension Python.
Konversi Massal Menggunakan List Comprehension
Di Python, selain memproses setiap elemen list dengan loop, Anda dapat menggunakan list comprehension untuk melakukan konversi data secara ringkas dan efisien. List comprehension menerapkan operasi tertentu pada setiap elemen list dan menghasilkan list baru.
Sebagai contoh, untuk mengonversi list yang berisi string numerik menjadi list integer, gunakan kode berikut.
str_list = ["10", "20", "30", "40", "50"]
int_list = [int(i) for i in str_list]
print(int_list) # Output: [10, 20, 30, 40, 50]
Dalam contoh ini, [int(i) for i in str_list] pada list comprehension menyebabkan setiap elemen dalam str_list dikonversi menjadi integer menggunakan fungsi int(), sehingga menghasilkan list baru int_list. Pendekatan ini memungkinkan pemrosesan data skala besar dengan kode yang ringkas, meningkatkan keterbacaan dan kinerja kode.
Konversi List Massal dengan Penanganan Kesalahan
Jika list berisi data yang tidak dapat dikonversi (misalnya, string atau karakter khusus), akan terjadi error. Dalam kasus ini, Anda dapat menyertakan kondisi atau penanganan pengecualian ke dalam list comprehension untuk menghindari error konversi. Berikut contoh yang hanya mengonversi elemen yang dapat diubah menjadi integer.
str_list = ["10", "20", "abc", "30", "40"]
int_list = []
for i in str_list:
try:
int_list.append(int(i))
except ValueError:
print(f"Warning: '{i}' could not be converted to an integer.")
print(int_list) # Output: [10, 20, 30, 40]
Dalam kode ini, blok try-except digunakan untuk mengonversi string menjadi integer, dan jika konversi gagal, pesan error akan ditampilkan. Dengan menambahkan hanya elemen yang dapat dikonversi ke int_list menggunakan metode append(), proses tetap berlanjut meskipun terjadi error, dan Anda memperoleh hasil konversi.
Konversi list massal adalah teknik yang sangat berguna untuk memproses data dalam jumlah besar. Pada bagian berikutnya, kami akan merangkum seluruh artikel dan menyusun apa yang telah dipelajari.
6. Ringkasan
In artikel ini, kami menjelaskan cara mengonversi antara string dan angka di Python, mencakup dasar hingga topik lanjutan. Memahami pentingnya konversi tipe dalam pemrosesan data dan cara melakukannya secara efisien memperluas jangkauan operasi yang dapat Anda lakukan dalam pemrograman Python. Berikut adalah ringkasan singkat setiap bagian.
Ringkasan Artikel
- Pendahuluan
- Kami menjelaskan situasi di mana konversi antara string dan angka diperlukan, dan menunjukkan mengapa konversi tipe penting untuk perhitungan numerik dan tampilan data.
- Konversi tipe dasar di Python
- Kami mempelajari metode konversi dasar, menggunakan
int(),float(), dan fungsistr()untuk mengubah tipe data antara string dan angka.
1 oh lanjutan: konversi berbagai basis dan angka lebar penuh
- Kami memperkenalkan caraonversi angka biner, oktal, dan heksadesimal menjadi integer, serta cara mengonversi karakter lebar penuh menjadi lebar setengah untuk penanganan numerik. Kami juga menjelaskan cara mengonversi angka kanji menjadi angka menggunakan
unicodedata.numeric().
- Penanganan kesalahan dan validasi input
- Mengingat bahwa kesalahan dapat terjadi selama konversi numerik, kami menunjukkan cara memvalidasi terlebih dahulu apakah suatu nilai numerik menggunakan
isdigit()dan ekspresi reguler, serta cara menangani kesalahan dengan penanganan pengecualian menggunakantry-except.
- Cara mengonversi elemen daftar secara massal
- Kami mempelajari cara melakukan konversi massal menggunakan list comprehension, cara menangani kesalahan yang mungkin muncul, dan memperoleh keterampilan untuk memproses sejumlah besar data secara efisien.
Aplikasi di masa depan
Konversi tipe di Python terlibat dalam hampir setiap operasi pemrosesan data dan pemrograman dasar. Dengan secara konsisten menerapkan konversi tipe yang tepat dan penanganan kesalahan dalam pengembangan dunia nyata, Anda dapat mengurangi bug dan menulis kode yang lebih berkualitas. Selain itu, membangun di atas metode konversi dasar yang dipelajari di sini dan menguasai teknik konversi data yang lebih lanjutan akan memungkinkan Anda menangani pemrosesan data yang kompleks secara efisien.
Kami berharap artikel ini telah memberikan Anda pemahaman komprehensif tentang pengetahuan dan teknik yang diperlukan untuk konversi di Python. Terapkan apa yang telah Anda pelajari pada proyek pemrograman Anda di masa depan.



