Python : Variabel, Tipe Data dan Operator

Python Tutorial Variabel Tipe Data Operator

[tutorial ini dibuat menggunakan python versi 3.11]

Variabel

Variabel adalah objek dengan nama tertentu yang berfungsi untuk menyimpan suatu nilai. Nilai pada objek tersebut dapat diakses kembali dengan cara menulis atau memanggil nama variabel tersebut.

Dalam pembuatan nama variabel, terdapat beberapa aturan penamaan yang menjadi standar pada bahasa python, yaitu:

  • Variabel dapat terdiri dari kombinasi huruf (a-z, A-Z), angka (0-9), dan karakter garis bawah (_). Namun, nama variabel tidak boleh dimulai dengan angka.
  • Tidak boleh menggunakan kata kunci Python (reserved keywords). Python memiliki kata kunci yang sudah ditentukan dengan makna khusus, seperti "if", “for", "while", dan lain-lain.
  • Tidak boleh mengandung spasi. Jika membutuhkan nama variabel dengan dua kata atau lebih, dapat menggunakan garis bawah untuk menggantikan spasi, misalnya "nama_pengguna" atau "umur_siswa".
  • Huruf bersifat case-sensitive, artinya huruf kapital dan huruf kecil dianggap berbeda. Misalnya, "nama", "NAMA" dan "Nama" semua akan dianggap sebagai variabel yang berbeda.
  • Sebaiknya pilih nama yang memudahkan pemahaman kode. Gunakan kata-kata yang jelas dan bermakna terkait dengan nilai atau data yang disimpan dalam variabel.
  • Aturan penamaan variabel yang baik dapat mengacu pada PEP 8 (Python Enhancement Proposal 8) sebagai panduan resmi untuk penulisan kode dalam bahasa Python.

Contoh-contoh penulisan nama variabel yang benar serta contoh penulisan yang salah dalam bahasa python dapat dilihat pada kode berikut:

Kode

# contoh penamaan yang VALID

umur = 25
nama_pengguna = "Ash Ketchum"
total_nilai = 90.5
_info = "Pokemon"


# contoh penamaan yang TIDAK VALID

4umur = 25                      # dimulai dengan angka
nama pengguna = "Ash Ketchum"   # Mengandung spasi
while = "Pikachu"               # Menggunakan kata kunci Python

Tipe Data Dasar

Setiap variabel pada python memiliki tipe datanya masing-masing. Variabel pada python menerapkan tipe dinamis (dinamic typing), artinya tidak perlu mendeklarasikan tipe data variabel secara eksplisit. Python secara otomatis menentukan tipe data variabel berdasarkan nilai yang diberikan.

Berikut 6 tipe data dasar yang tersedia pada python :

  • str : tipe data berupa teks. Teks didefinisikan menggunakan tanda petik ganda ("...") maupun petik tunggal ('...')
  • int : tipe data untuk menyimpan bilangan bulat tanpa nilai desimal
  • float : tipe data untuk menyimpan bilangan floating point (dengan angka desimal)
  • complex : tipe data untuk menyimpan bilangan komplek (format a + bj), dimana a merupakan bagian real dan b bagian imaginer
  • bool : tipe data biner (True atau False)
  • NoneType : (None) umumnya digunakan sebagai inisiasi nilai variabel yang belum memiliki nilai lainnya.

Kode

# Variabel dan Tipe Data

name = "Ash Ketchum"         # tipe data str (double quote)
sex = 'Male'                 # tipe data str dengan (single quote)

age = 10                     # tipe data int
weight = 40.5                # tipe data float
comp_number = 1 + 2j         # tipe data complex

student = False              # tipe data bool
certificate = None           # tipe data NoneType

Menampilkan Output pada Layar

Variabel yang sudah dibuat pada bagian sebelumnya dapat ditampilkan pada layar menggunakan fungsi print. Kita juga dapat mengambil tipe data dari setiap variabel menggunakan fungsi type dan ditampilkan kembali menggunakan fungsi print. Fungsi print juga dapat menampilkan beberapa teks dan variabel sekaligus dengan cara memasukkan setiap text atau variabel yang ingin ditampilkan yang dipisahkan menggunakan tanda koma.

Kode

# mencetak nilai variabel
print(name)
print(sex)
print(age)
print(weight)
print(comp_number)
print(student)
print(certificate)

print("----------------")

# mencetak tipe variabel
print(type(name))
print(type(sex))
print(type(age))
print(type(weight))
print(type(comp_number))
print(type(student))
print(type(certificate))

print("----------------")

# mencetak banyak teks dan variabel
# dipisahkan dengan tanda koma
print("Nama", name, "umur", age, "berat", weight)

# separator antar teks dapat diatur
print("Nama", name, "umur", age, "berat", weight, sep="~")
# OUTPUT

Ash Ketchum
Male
10
40.5
(1+2j)
False
None
----------------
<class 'str'>
<class 'str'>
<class 'int'>
<class 'float'>
<class 'complex'>
<class 'bool'>
<class 'NoneType'>
----------------
Nama Ash Ketchum umur 10 berat 40.5
Nama~Ash Ketchum~umur~10~berat~40.5

Konversi Tipe Data

Python menyediakan fungsi untuk konversi dari satu tipe data ke tipe yang lain. Konversi ini sering kali diperlukan untuk melakukan operasi dari dua atau lebih variabel dengan tipe data berbeda.

Berikut ini beberapa aturan pada konversi tipe data :

  • konversi str ke int harus berupa string angka integer misal "100". Bentuk lainnya seperti "bukan_angka" atau bahkan teks dalam format float : "100.5" akan menghasilkan error.
  • konversi float ke int, akan selalu menghilangkan angka desimal (pembulatan ke bawah)
  • str kosong : "", int: 0, float : 0.0, dan None dikonversi menjadi tipe bool bernilai False, selainnya akan bernilai True.
  • Tipe bool : True akan dikonversi menjadi str : "True", int : 1, atau float : 1.0, sebaliknya tipe bool : False akan menjadi str : "False", int : 1, atau float : 1.0

Kode

# konversi tipe data

int_str = str(100)           # int ke str    : 100    -> "100"
float_str = str(100.5)       # float ke str  : 100.5  -> "100.5"
bool_str = str(True)         # bool ke str   : True   -> "True"

str_int = int("100")         # str ke int    : "100"  -> 100 
float_int = int(100.5)       # float to int  : 100.5  -> 100
bool_int = int(False)        # bool ke int   : False  -> 0

str_float = float("10.5")    # str ke float  : "10.5" -> 10.5 
int_float = float(100)       # int to float  : 100    -> 100.0
bool_float = float(True)     # bool ke float : True   -> 1.0

str_bool = bool("pokemon")   # str ke bool   : "boke"  -> True
int_bol = bool(0)            # int ke bool   : 0      -> False
float_bol = bool(0.5)        # float ke bool : 0.5    -> True

Format Data String

String atau str adalah tipe data yang menyimpan nilai dalam bentuk teks. Dalam praktiknya, sering kali harus mengombinasikannya dengan variabel dari tipe data lainnya. Terdapat setidaknya 3 cara yang dapat digunakan untuk memformat string hasil kombinasi berbagai tipe data, yaitu dengan %, format(...) dan f-string.

Di antara 3 cara tersebut, saat ini penggunaan f-string lebih disarankan, karena sintaksnya yang lebih ringkas serta lebih mudah dipahami dibandingkan sintaks % maupun format.

Beberapa proses yang dapat dilakukan dalam proses memformat data meliputi penggabungan teks dan variabel, memformat bilangan desimal serta melakukan padding pada teks dan variabel.

Menggabungkan teks dan variabel

Kode

# MENGGGABUNG STRING DAN TIPE DATA LAINNYA #

first_name = "Ash"
last_name = "Ketchum"
age = 10

# format menggunakan % -> %s : string, %d : decimal
text_info_1 = "Nama: %s %s, Umur: %d tahun" % (first_name, last_name, age)
print(text_info_1)

# format menggunakan .format()
text_info_2 = "Nama: {} {}, Umur: {} tahun".format(first_name, last_name, age)
print(text_info_2)

# format menggunakan F-String
text_info_3 = f"Nama: {first_name} {last_name}, Umur: {age} tahun"
print(text_info_3)
# OUTPUT

Nama: Ash Ketchum, Umur: 10 tahun
Nama: Ash Ketchum, Umur: 10 tahun
Nama: Ash Ketchum, Umur: 10 tahun

Memformat Bilangan Desimal

Saat ditampilkan dalam bentuk teks, kita dapat memformat nilai desimal untuk memiliki presisi tertentu atau dalam notasi tertentu

Kode

# FORMAT DECIMAL #

pi = 3.141592653

formatted_pi = f"Pi in 4 digits is {pi:.4f}"
print(formatted_pi)


# FORMAT SCIENTIFIC #

speed_of_light = 299792458

# Format dengan notasi ilmiah biasa (huruf 'e')
formatted_1 = f"Kecepatan cahaya = {speed_of_light:.2e} km/s"
print(formatted_1) 

# Format dengan notasi ilmiah besar (huruf 'E')
formatted_2 = f"Kecepatan cahaya = {speed_of_light:.4E}"
print(formatted_2)
# OUTPUT

Pi in 4 digits is 3.1416
Kecepatan cahaya = 3.00e+08
Kecepatan cahaya = 2.9979E+08

Padding

Padding yaitu merubah format teks atau angka sehingga memenuhi jumlah panjang karakter tertentu. Jika teks atau angka yang diberikan memiliki panjang kurang dari yang ditentukan maka akan ditambahkan karakter lain sebagai placeholder sehingga panjang menjadi sama. Secara default padding akan menambahkan spasi kosong, namun kita dapat menggunakan karakter apapun seperti #, *, _ dan sebagainya. Penambahan placeholder juga bersiat fleksibel karena dapat dilakukan pada bagian awal, bagian akhir atau keduanya sekaligus.

Kode

# PADDING #

a = 5000
b = 225000
c = 15000000


# rata kiri  6 karakter
print(f"{a:<8}  rata kiri")
print(f"{b:<8}  rata kiri")
print(f"{c:<8}  rata kiri")

print("----------------------")

# rata-kanan sebanyak 6 karakter
print(f"{a:>8}  rata kanan")
print(f"{b:>8}  rata kanan")
print(f"{c:>8}  rata kanan")

print("----------------------")

# rata tengah 6 karakter
print(f"{a:^8}  rata tengah")
print(f"{b:^8}  rata tengah")
print(f"{c:^8}  rata tengah")

print("----------------------")


val = "ABCD"

print(f"{val:*>10} : padding kiri dengan *")
print(f"{val:*<10} : padding kanan dengan *")
print(f"{val:*^10} : padding kiri-kanan dengan *")

print(f"{val:_^10} : padding kiri-kanan dengan _")
# OUTPUT

5000      rata kiri
225000    rata kiri
15000000  rata kiri
----------------------
    5000  rata kanan
  225000  rata kanan
15000000  rata kanan
----------------------
  5000    rata tengah
 225000   rata tengah
15000000  rata tengah
----------------------
******ABCD : padding kiri dengan *
ABCD****** : padding kanan dengan *
***ABCD*** : padding kiri-kanan dengan *
___ABCD___ : padding kiri-kanan dengan _

Membaca Input Pengguna

Fungsi input digunakan untuk membaca nilai input dari pengguna. Saat fungsi input dipanggil, pengguna harus memasukkan nilai tertentu diikuti menekan enter agar dapat melanjutkan jalannya program.

Hasil dari fungsi input disimpan dalam tipe str, meskipun nilai yang dimasukkan berupa angka. Untuk merubahnya menjadi tipe data lain maka perlu dilakukan konversi terlebih dahulu.

Kode

# Input Pengguna

first_name = input("Nama depan :")
last_name = input("Nama belakang :")

full_name = first_name + " " + last_name

print(full_name)

uang = input("Jumlah uang saat ini :")
belanja = input("Nominal belanja :")

# Harus melakukan konversi ke int atau float
uang_int = int(uang)
belanja_int = int(belanja)

# menghitung sisa uang
sisa = uang_int - belanja_int

# penggabungan str dan int dengan f-string
info = f"{full_name} memiliki sisa uang {sisa}"

print(info)
# OUTPUT

# Nama depan : Ash
# Nama belakang : Ketchum
# Jumlah uang saat ini : 1000
# Nominal belanja : 300

Ash Ketchum
Ash Ketchum memiliki sisa uang 700

Operator Aritmetika

Python menyediakan berbagai operator aritmetika yang digunakan yaitu operator penambahan (+), pengurangan (-), perkalian (*), pembagian (/) hingga perpangkatan (**). Terdapat juga operator floor division (//) untuk menghitung nilai bilangan bulat hasil pembagian dan operator modulo (%) untuk menghitung bilangan sisa hasil pembagian. Operasi juga dapat menggunakan tanda kurung biasa (), untuk menentukan urutan pengerjaan operasi sesuai standar dalam matematika.

Kode

# operator aritmetika

# operator asignment (=)
# memberikan nilai ke variabel
a = 10
b = 6
c = 0.5
d = 3


# operator + - / * % // (...)
print("a + b =", a + b)     # penjumlahan
print("a - b =", a - b)     # pengurangan
print("a x b =", a * b)     # perkalian
print("a / b =", a / b)     # pembagian
print("a // b =", a // b)   # bilangan bulat pembagian (10/6 = 1 sisa 4)
print("a % b =", a % b)     # sisa pembagian (10/6 = 1 sisa 4)
print("a**b =", a**b)       # pemangkatan


# contoh operasi yang lebih rumit
ekspresi = (a + b) * 100 / (d**c + (a - b) * (c - d))

print("hasil =", ekspresi)

# shorthand operator
a+=2       # bentuk ringkas dari a = a + 2
a*=5       # bentuk ringkas dari a = a * 5  
a**=3      # bentuk ringkas dari a = a**3  
           # dst
# OUTPUT

a + b = 16
a - b = 4
a x b = 60
a / b = 1.6666666666666667
a // b = 1
a % b = 4
a**b = 1000000
hasil = -193.51836383618766

Operator Perbandingan

Operator perbandingan digunakan untuk membandingkan satu nilai dengan nilai lainnya. Perbandingan ini meliputi kesamaan dua nilai atau ketidaksamaan, termasuk membandingkan mana yang lebih besar atau lebih kecil. Operasi perbandingan akan menghasilkan nilai bool (True atau False). Adapun operator yang digunakan untuk perbandingan adalah:

  • == : sama dengan
  • != : tidak sama dengan
  • > : lebih besar dari
  • >= : lebih besar atau sama dengan
  • < : lebih kecil dari
  • <= : lebih kecil atau sama dengan

Catatan :

  • Nilai int : 10 sama dengan float : 10.0, namun nilai ini tidak sama dengan str : "10".
  • Perbandingan antar str pun bersifat case sensitive sehingga "Abc" tidak sama dengan "abc".

Kode

# Operator perbandingan

a = 10
b = 5
c = "10"
d = 10.0

# op "==" mengecek kesamaan 2 nilai
print("a == b :", a == b)                    # 10 == 5        : False 
print("a == c :", a == c)                    # 10 == "10"     : False
print("a == d :", a == d)                    # 10 == 10       : True
print("b % 2 = 0 :", b % 2 == 0)             # 5 mod 2 == 0   : False
print("'Abc' == 'abc' :", "Abc" == "abc")    # 'Abc' != 'abc' : False

print("-----------------------")

# op "!=" mengecek ketidaksamaan 2 nilai
print("a != b :", a != b)                    # 10 != 5        : True
print("a != c :", a != c)                    # 10 != "10"     : True
print("a != d :", a != d)                    # 10 != 10       : False
print("'Abc' != 'abc' :", "Abc" != "abc")    # 'Abc' != 'abc' : True

print("-----------------------")

# op ">", ">=", "<", "<=" 
# mengecek berbandingan 2 nilai
print("a > 5 :", a > 5)                      # 10 > 5         : True
print("b <= 5 :", b <= 5)                    # 5 <= 5         : true
print("d <= b :", d <= b)                    # 10 < 5         : False
print("a * b > 10 :", a * b > 10)            # 10*5 > 10      : True
# OUTPUT

a == b : False
a == c : False
a == d : True
b % 2 = 0 : False
'Abc' == 'abc' : False
-----------------------
a != b : True
a != c : True
a != d : False
'Abc' != 'abc' : True
-----------------------
a > 5 : True
b <= 5 : True
d <= b : False
a * b > 10 : True

Operator Logika

Tedapat 3 operator logika/boolean untuk mengevaluasi gabungan beberapa kondisi ataupun negasi dari suatu kondisi. Ketiga operator tersebut adalah:

  • and : mengembalikan nilai True jika dan hanya jika seluruh kondisi yang diberikan bernilai True, selain itu bernilai False
  • or : mengembalikan nilai True jika setidaknya ada satu kondisi yang bernilai True dari seluruh kondisi, jika semuanya bernlai False maka akan mengembalikan nilai False
  • not : mengembalikan negasi dari suatu kondisi (jika kondisi cond = True maka not cond akan mengembalikan nilai False dan sebaliknya.

Kode

# operator logika/boolean 
# ( 'and', 'or', dan 'not')

a = 5
b = 10

# operator "and" True jika semua kondisi True
print((a > 0) and (b > 0))       # True and True = True
print((a >= 10) and (b >= 10))   # False and True = False

print("-------------------")

# operator "or" True jika setidaknya salah satu bernilai True
print((a > 0) or (b > 0))        # True or True = True
print((a >= 10) or (b >= 10))    # False or True = True
print((a > 10) or (b < 10))      # False or False = False


print("-------------------")

# operator "not" : 
# not True = False, not False = True
print(not (a > b))               # a > b = False, not False = True

print("-------------------")

print(1 <= a <= 10)              # setara dengan (a >= 1) and (a <= 10)
# OUTPUT

True
False
-------------------
True
True
False
-------------------
True
-------------------
True

Ringkasan

Pada bagian pertama dari seri tutorial ini, kita telah membahas dasar-dasar Python, dimulai dari variabel, tipe data, format string, konversi tipe data hingga membahas berbagai jenis operator. Variabel memungkinkan kita untuk menyimpan data dalam memori komputer dan mengaksesnya kembali, sementara tipe data menentukan struktur dan sifat pada variabel. Antara satu tipe data dengan tipe lainnya dapat dilakukan konversi sesuai kebutuhan. Selajutnya operator memungkinkan kita untuk melakukan operasi matematika, perbandingan, dan logika pada data sehingga menghasilkan keluaran baru sesuai yang diharapkan.

Selanjutnya : Percabangan (Conditional Statement) dan Perulangan (Loop)

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

Daftar Isi