Python dikenal sebagai salah satu bahasa pemrograman yang mudah digunakan. Salah satu alasannya adalah karena cara Python menangani type data. Dalam artikel ini, kita akan membahas berbagai tipe data dasar di Python dan bagaimana kita memanipulasi string.
Tipe Data di Python
Tipe data merupakan kategori nilai yang dapat kita simpan dan manipulasi dalam program. Python mendukung berbagai tipe data dasar seperti:
Integer (int)
Bilangan bulat yang dapat berupa positif atau negatif.
Contoh:x = 5 y = -3 print(type(x)) # Output: <class 'int'>
Float (float)
Bilangan desimal yang mencakup angka pecahan. Tipe data ini digunakan ketika kita memerlukan nilai yang lebih presisi dari bilangan bulat. Contoh:
pi = 3.14 negative_float = -2.7 print(type(pi)) # Output: <class 'float'>
String (str)
Urutan karakter yang diapit oleh tanda kutip tunggal (' ') atau tanda kutip ganda (" "). String digunakan untuk menyimpan teks. Contoh:
greeting = "Hello" name = 'Python' print(type(greeting)) # Output: <class 'str'> print(type(name)) # Output: <class 'str'>
Boolean (bool)
Nilai benar atau salah yang hanya memiliki dua nilai yaitu True atau False. Tipe data ini sering digunakan dalam pernyataan yang berhubungan logika ataupun control flow.
Contoh:is_python_easy = True is_java_hard = False print(type(is_python_easy)) # Output: <class 'bool'>
List
Kumpulan data berurutan yang dapat diubah (mutable) dan di dalamnya juga dapat diisi berbagai jenis data. List diapit oleh tanda kurung siku ([ ]). Contoh:
fruits = ["apple", "banana", "cherry"] numbers = [1, 2, 3, 4, 5] mixed = [1, "apple", 3.14, True] print(type(fruits)) # Output: <class 'list'>
Tuple
Kumpulan data berurutan yang tidak dapat diubah (immutable) dan sama seperti list, tuple juga dapat diisi berbagai jenis data. Tuple diapit oleh tanda kurung ( ).
# Defines a tuple coordinates = (10.0, 20.0, 30.0) print(type(coordinates)) # Output: <class 'tuple'> # Attempt to change the value in the tuple (this will produce an error) coordinates[0] = 40.0
Baris terakhir mencoba mengubah nilai elemen pertama dari tuple menjadi 40.0. Karena tuple bersifat immutable, Python akan langsung mengeluarkan
TypeError
seperti berikut:Traceback (most recent call last): File "<stdin>", line 6, in <module> TypeError: 'tuple' object does not support item assignment
Pesan error
TypeError: 'tuple' object does not support item assignment
menunjukkan bahwa tuple memang tidak dapat diubah (immutable).Dictionary (dict)
Kumpulan data yang setiap itemnya memiliki key-value yang tidak berurutan (unordered). Setiap key harus unik dan biasanya berupa string atau angka, sedangkan value bisa berupa tipe data apa saja. Dictionary diapit oleh tanda kurung kurawal ({ }). Contoh:
person = {"name": "Alice", "age": 25, "city": "New York"} print(type(person)) # Output: <class 'dict'>
Konversi Tipe Data
Sering kali dalam pemrograman, kita perlu mengonversi nilai dari satu tipe data ke tipe data lain. Berikut adalah beberapa contoh konversi tipe data di Python:
Mengonversi ke Integer
Gunakan fungsi
int()
untuk mengonversi nilai ke integer. Contoh:num_str = "10" num_int = int(num_str) print(num_int) # Output: 10 print(type(num_int)) # Output: <class 'int'>
Mengonversi ke Float
Gunakan fungsi
float()
untuk mengonversi nilai ke float. Contoh:num_str = "10.5" num_float = float(num_str) print(num_float) # Output: 10.5 print(type(num_float)) # Output: <class 'float'>
Mengonversi ke String
Gunakan fungsi
str()
untuk mengonversi nilai ke string. Contoh:num = 100 num_str = str(num) print(num_str) # Output: "100" print(type(num_str)) # Output: <class 'str'>
Mengonversi ke Boolean
Gunakan fungsi
bool()
untuk mengonversi nilai ke boolean. Contoh:num = 0 bool_val = bool(num) print(bool_val) # Output: False print(type(bool_val)) # Output: <class 'bool'>
Manipulasi String
Dalam Python, string adalah salah satu tipe data yang paling sering digunakan. Oleh karena itu, penerapan manipulasi string beserta penggunaannya bisa beragam tergantung pada keperluan. Berikut adalah beberapa cara umum untuk memanipulasi string di Python:
Menggabungkan String: Kita bisa menggabungkan dua atau lebih string menggunakan operator
+
.first_name = "John" last_name = "Doe" full_name = first_name + " " + last_name print(full_name) # Output: John Doe
Mengulang String: Kita bisa mengulang string menggunakan operator
*
.word = "Hello" repeated_word = word * 3 print(repeated_word) # Output: HelloHelloHello
Mengakses Karakter dalam String: Kita bisa mengakses karakter individu dalam string menggunakan indeks.
greeting = "Hello" first_char = greeting[0] print(first_char) # Output: H
Mengiris String: Kita bisa mengambil bagian dari string menggunakan slicing.
text = "Python Programming" sliced_text = text[0:6] print(sliced_text) # Output: Python
Mengubah Huruf dalam String: Kita bisa mengubah semua huruf menjadi huruf besar atau kecil.
message = "Hello World" upper_message = message.upper() lower_message = message.lower() print(upper_message) # Output: HELLO WORLD print(lower_message) # Output: hello world
Mengganti Substring: Kita bisa mengganti bagian dari string dengan yang lain.
text = "I love Python" new_text = text.replace("Python", "coding") print(new_text) # Output: I love coding
Menghapus Spasi: Kita bisa menghapus spasi di awal dan akhir string.
spaced_text = " Hello World " trimmed_text = spaced_text.strip() print(trimmed_text) # Output: Hello World
String Formatting
String formatting adalah cara untuk menyisipkan nilai ke dalam string. Python menyediakan beberapa cara untuk memformat string, seperti menggunakan operator %
, metode str.format()
, dan f-string.
Operator
%
Operator
%
memungkinkan kita untuk memformat string dengan menyisipkan nilai ke dalam placeholder yang ditentukan. Contoh:name = "Alice" age = 25 formatted_string = "Hello, my name is %s and I am %d years old." % (name, age) print(formatted_string) # Output: Hello, my name is Alice and I am 25 years old.
Metode
str.format()
Metode
str.format()
memungkinkan kita untuk menyisipkan nilai ke dalam placeholder yang ditentukan dengan kurung kurawal{}
. Contoh:name = "Alice" age = 25 formatted_string = "Hello, my name is {} and I am {} years old.".format(name, age) print(formatted_string) # Output: Hello, my name is Alice and I am 25 years old.
Kita juga dapat menggunakan indeks atau keyname untuk mengatur urutan atau memberikan kejelasan lebih. Contoh dengan indeks:
formatted_string = "Hello, my name is {0} and I am {1} years old.".format(name, age) print(formatted_string) # Output: Hello, my name is Alice and I am 25 years old.
Contoh dengan keyname:
formatted_string = "Hello, my name is {name} and I am {age} years old.".format(name=name, age=age) print(formatted_string) # Output: Hello, my name is Alice and I am 25 years old.
Menggunakan F-Strings
F-strings adalah cara yang lebih baru dan lebih nyaman untuk memformat string di Python. F-strings diperkenalkan di Python 3.6 dan memungkinkan kita untuk menyematkan ekspresi di dalam string dengan awalan huruf
f
atauF
dan menggunakan kurung kurawal{}
untuk menempatkan ekspresi yang akan dievaluasi.Contoh:
name = "Alice" age = 25 formatted_string = f"Hello, my name is {name} and I am {age} years old." print(formatted_string) # Output: Hello, my name is Alice and I am 25 years old.
Kita juga dapat melakukan ekspresi atau pemanggilan fungsi secara langsung di dalam kurung kurawal.
Contoh:
import math radius = 5 area = f"The area of a circle with radius {radius} is {math.pi * radius ** 2:.2f}." print(area) # Output: The area of a circle with radius 5 is 78.54.
Contoh Program: Kalkulator Bill Restoran
Dengan memahami tipe data ,konversi tipe data, manipulasi string, dan pemformatan string. Kita akan lebih siap untuk menulis dan memahami kode Python dengan lebih baik. Sebagai contoh, kita akan menerapkan pembelajaran pada artikel ini membuat program sederhana untuk menghitung bill restoran. Berikut kode lengkapnya:
print("Welcome to the restaurant bill calculator!")
# Input the total bill
bill = float(input("What was the total bill? $"))
# Input the tip percentage
tip = int(input("How much tip would you like to give? 10, 12, or 15? "))
# Input the tax percentage
tax = float(input("What is the tax percentage? "))
# Input the fixed service fee
service_fee = float(input("What is the fixed service fee? $"))
# Input the number of people to split the bill
people = int(input("How many people to split the bill? "))
# Calculate the tip amount
tip_as_percent = tip / 100
total_tip_amount = bill * tip_as_percent
# Calculate the tax amount
tax_as_percent = tax / 100
total_tax_amount = bill * tax_as_percent
# Calculate the total bill including tax, tip, and service fee
total_bill = bill + total_tip_amount + total_tax_amount + service_fee
# Calculate the bill per person
bill_per_person = total_bill / people
final_amount = round(bill_per_person, 2)
# Display the amount each person should pay
print(f"Each person should pay: ${final_amount}")
Penjelasan Kode Program:
Input dari Pengguna:
Total tagihan (
bill
)Persentase tip (
tip
)Persentase pajak (
tax
)Biaya layanan tetap (
service_fee
)Jumlah orang yang membagi tagihan (
people
)
Menghitung Jumlah Tip:
total_tip_amount
dihitung dengan mengalikan total tagihan dengan persentase tip yang telah diubah menjadi desimal.Menghitung Jumlah Pajak:
total_tax_amount
dihitung dengan mengalikan total tagihan dengan persentase pajak yang telah diubah menjadi desimal.Menghitung Total Tagihan:
total_bill
adalah jumlah dari total tagihan awal, jumlah tip, jumlah pajak, dan biaya layanan tetap.Menghitung Tagihan per Orang:
bill_per_person
dihitung dengan membagitotal_bill
dengan jumlah orang (people
), kemudian hasilnya dibulatkan ke dua angka desimal denganround()
.Menampilkan Hasil: Program menampilkan jumlah yang harus dibayar per orang menggunakan f-string.
Program sederhana ini dapat membantu kita untuk memahami bagaimana bekerja dengan input pengguna, perhitungan aritmatika, dan format output di Python. Menguasai tipe data dan manipulasi string adalah dasar yang penting untuk pembelajaran Python di tingkat yang lebih lanjut. Terima kasih dan selamat belajar!
Source Code: Github