Memahami Tipe Data, Manipulasi, dan Pemformatan String di Python

Photo by Clay Banks on Unsplash

Memahami Tipe Data, Manipulasi, dan Pemformatan String di Python

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 atau F 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:

  1. Input dari Pengguna:

    • Total tagihan (bill)

    • Persentase tip (tip)

    • Persentase pajak (tax)

    • Biaya layanan tetap (service_fee)

    • Jumlah orang yang membagi tagihan (people)

  2. Menghitung Jumlah Tip:total_tip_amount dihitung dengan mengalikan total tagihan dengan persentase tip yang telah diubah menjadi desimal.

  3. Menghitung Jumlah Pajak:total_tax_amount dihitung dengan mengalikan total tagihan dengan persentase pajak yang telah diubah menjadi desimal.

  4. Menghitung Total Tagihan:total_bill adalah jumlah dari total tagihan awal, jumlah tip, jumlah pajak, dan biaya layanan tetap.

  5. Menghitung Tagihan per Orang:bill_per_person dihitung dengan membagi total_bill dengan jumlah orang (people), kemudian hasilnya dibulatkan ke dua angka desimal dengan round().

  6. 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