Variable dan Tipe Data
Variable adalah sebuah simbol/referensi/nama yang kita berikan untuk sebuah nilai atau data yang ingin kita pakai. Cara mendefinisikan sebuah variable pada skrip Python dapat dilihat pada contoh ini:
total_purchase = 1000
Contoh di atas menunjukkan bahwa total_purchase
adalah nama variable, dan 1000
merupakan value dari variable total_purchase
. Dengan mendefinisikan variable, kita dapat menggunakan kembali nilai tersebut dengan melakukan referensi ke nama variablenya.
total_purchase = 1000
print(total_purchase) # output: 1000
Apabila kita ingin mengubah nilai dari suatu variable, kita dapat mengeset ulang nilai variable tersebut seperti pada contoh berikut:
total_purchase = 1000
print(total_purchase) # output: 1000
total_purchase = 999
print(total_purchase) # output: 999
Tipe Data
Setiap value (atau data) yang kita set ke sebuah variable memiliki tipe data. Ada beberapa macam tipe data utama yang selalu ada pada bahasa pemrograman, yaitu:
number
boolean
string
Mari kita bahas satu persatu tipe data ini.
Number
Tipe data number
ini sudah kita temui pada contoh pembuatan variable total_purchase
. Karena nilainya berupa angka, kita bisa melakukan operasi aritmatika pada variable tersebut. Perhatikan contoh berikut yang memperlihatkan penggunaan operasi aritmatika:
base_price = 50000
payment_fee = 2000
delivery_fee = 5000
fixed_discount = 1000
extra_discount_rate = 0.25
fee_rate = 0.05
total_purchase = base_price + payment_fee + delivery_fee
print(total_purchase) # output: 57000
total_after_discount = total_purchase - fixed_discount
print(total_after_discount) # output: 56000
total_after_extra_discount = total_after_discount - total_after_discount * extra_discount_rate
print(total_after_extra_discount) # output: 42000
billed_price = total_after_extra_discount + total_after_extra_discount * fee_rate
print(billed_price) # output: 44100
Lengkapnya, operasi aritmatika yang bisa dilakukan adalah:
- penambahan (
+
), - pengurangan (
-
), - perkalian (
*
), - pembagian (
/
), dan - modulus/sisa hasil bagi (
%
).
my_favorite_number = 100
print(my_favorite_number + 10) # output: 110
print(my_favorite_number - 1) # output: 99
print(my_favorite_number * 10) # output: 1000
print(my_favorite_number / 4) # output: 25
print(my_favorite_number % 8) # output: 4
Selain operasi aritmatika dasar, kita juga bisa menggunakan library tambahan dari Python untuk melakukan perhitungan yang lebih kompleks. Berikut ini adalah contoh penggunaan library math
:
import math # baris ini diperlukan untuk memakai fungsi-fungsi math
print(math.ceil(0.25)) # output: 1
print(math.floor(2.5)) # output: 2
print(math.log(2)) # output: 0.6931471805599453
Boolean
Tipe data boolean
hanya memiliki nilai True
atau False
. Biasanya, tipe data boolean
adalah hasil dari operasi perbandingan. Operasi perbandingan ini memiliki beberapa operator, yaitu:
- sama dengan (
==
), - tidak sama dengan (
!=
), - lebih besar (
>
), - lebih besar atau sama dengan (
>=
), - lebih kecil (
<
), dan - lebih kecil atau sama dengan (
<=
).
Berikut ini adalah contoh penggunaan tipe data boolean
.
total_purchase = 1000
print(total_purchase == 1000) # output: True
print(total_purchase == 999) # output: False
print(total_purchase != 999) # output: True
print(total_purchase < 1001) # output: True
print(total_purchase < 999) # output: False
print(total_purchase > 999) # output: True
print(total_purchase <= 1001) # output: True
print(total_purchase <= 1000) # output: True
print(total_purchase >= 999) # output: False
print(total_purchase >= 1000) # output: True
Selain itu, tipe data boolean
juga memiliki operator seperti and
and or
. Penggunaan operator tersebut bisa dilihat pada contoh berikut ini:
print(True and True) # output: True
print(True and False) # output: False
print(False and True) # output: False
print(False and False) # output: False
print(True or True) # output: True
print(True or False) # output: True
print(False or True) # output: True
print(False or False) # output: False
print((True and True) or False) # output: True
print((True and True) and False) # output: False
Logika boolean di atas juga telah dirangkum ke dalam tabel berikut:
Input | Output | ||
---|---|---|---|
A | B | and | or |
True | True | True | True |
True | False | False | True |
False | True | False | True |
False | False | False | False |
Tentu saja, nilai True
dan False
bisa diset menjadi value dari suatu variable seperti pada contoh di bawah ini:
are_you_hungry = True
can_buy_food = False
will_eat = are_you_hungry and can_buy_food
print(will_eat) # output: False
will_eat = are_you_hungry or can_buy_food
print(will_eat) # output: True
Konsep boolean
ini akan kita temui lagi pada chapter 3 ‘Conditionals’.
String
Tipe data string
menyimpan data kumpulan karakter (alfanumerik dan simbol). Berbeda dengan tipe data number
dan boolean
, penulisan data string
perlu diapit menggunakan tanda petik (single quote '
dan double quote "
).
my_name = 'John Doe'
my_name = "John Doe"
print(my_name) # output: 'John Doe'
Operator boolean seperti ==
dan !=
juga bisa dilakukan dengan tipe data string
seperti pada contoh di bawah ini.
my_name = 'John Doe'
print(my_name == 'John Doe') # output: True
print(my_name == 'John Lennon') # output: False
print(my_name != 'John Lennon') # output: True
Dua atau lebih variable string
dapat digabungkan dengan menggunakan operator +
.
first_name = 'John'
last_name = 'Doe'
full_name = first_name + ' ' + last_name
print(full_name) # output: 'John Doe'
Berbeda dengan tipe data number
and boolean
, tipe data string
dapat menggunakan fungsi len
untuk mendapatkan informasi panjang karakter.
first_name = 'John'
last_name = 'Doe'
print(len(first_name)) # output: 4
print(len(last_name)) # output: 3
print(len(first_name + ' ' + last_name)) # output: 8
Selain itu, kita juga bisa mengkonstruksi nilai string
dengan lebih dinamis menggunakan fungsi format
dan f-strings
seperti contoh berikut ini.
my_name = 'John Doe'
my_age = 21
# Contoh penggunaan fungsi format
print(
'Hi, my name is {} and I am {} years old'.format(my_name, my_age)
) # output: 'Hi, my name is John Doe and I am 21 years old'
print(
'Hi, my name is {name} and I am {age} years old'.format(name=my_name, age=my_age)
) # output: 'Hi, my name is John Doe and I am 21 years old'
# Contoh penggunaan fungsi f-strings (interpolation)
print(
f'Hi, my name is {my_name} and I am {my_age} years old'
) # output: 'Hi, my name is John Doe and I am 21 years old'
Semua contoh variable string
yang diberikan sampai tahap ini belum ada yang mengandung single quote ('
) atau double quote ("
) dalam value-nya. Hal ini disebabkan ada beberapa trik yang perlu digunakan untuk menghindari sintaks error.
# Contoh di bawah ini akan memunculkan error 'SyntaxError: invalid syntax'
caption_text = 'Indonesian's rain forest in Kalimantan are rapidly decreasing due to illegal clearing'
Untuk menghindari error tersebut, salah satu cara yang dapat dilakukan adalah dengan mengapit string
yang mengandung single quote dengan double quote.
caption_text = "Indonesian's rain forest in Kalimantan are rapidly decreasing due to illegal clearing"
Bagi nilai string
yang mengandung double quote, value-nya perlu diapit dengan single quote.
headline_title = 'Taylor Swift will release her new album "Midnight" next year'
Selain mengkombinasikan antara single quote dan double quote, solusi lain yang dapat diterapkan adalah dengan meng-escaped karakter tersebut di dalam string dengan menggunakan tanda backslash (\
).
caption_text = 'Indonesian\'s rain forest in Kalimantan are rapidly decreasing due to illegal clearing'
headline_title = "Taylor Swift will release her new album \"Midnight\" next year"