Tipe Data dan Operator

Setiap pemrograman memiliki tipe data bawaan, begitu juga Python. Dalam notebook ini, kita akan mulai berkenalan dengan tipe data yang ada dalam Python dan juga bagaimana kita bisa menggunakan Python untuk melakukan operasi-operasi yang biasa kita lakukan menggunakan kalkulator.

Python Sebagai Kalkulator

Salah satu tujuan awal manusia membuat sebuah program komputer adalah untuk membantu melakukan komputasi, mulai dari yang sederhana sampai komputasi yang bagi manusia terlalu rumit untuk dikerjakan. Python tentu saja dengan sangat mudah bisa melakukan komputasi macam itu.

Di matematika, kita mengenal beberapa operasi aritmatika seperti penjumlahan, pengurangan, perkalian, dan lainnya. Dari situ, kita mengenal operator + untuk penjumlahan, x untuk perkalian, dan seterusnya. Di Python, kita bisa melakukan operasi yang sama dengan notasi operator yang hampir sama.

Beberapa operator di Python:

  • + penjumlahan

  • - pengurangan

  • * perkalian

  • / pembagian

  • ** operasi eksponen/pangkat (bahasa pemrograman yang lain mungkin menggunakan ^)

  • // pembagian yang hasillnya dibulatkan ke bawah.

Note

print adalah fungsi bawaan dari Python yang digunakan untuk menampilkan nilai masukan (input) apapun ke luaran sebagai teks

Sebagai contoh penggunaan operator di atas, kita bisa melakukan beberapa operasi sederhana seperti berikut.

print(25 + 30)
print(10 - 5 * 20)
print(4 / 2)
print(4 % 2)
print(12 ** 2)
print(111 // 5)
55
-90
2.0
0
144
22

Variabel dan Operator Penugasan

Pendefinisian variabel dalam Python sangat sederhana. Kita bisa mendefinisikan variabel dengan menggunakan operator =, sebagai contoh, current_year = 2021. Di sini, current_year adalah nama variabel, = adalah operator penugasan (assignment operator), yang diberi nilai 2021.

Jika kita ingin mendefinisikan lebih dari satu variabel, kita bisa menuliskan seperti di bawah ini.

x = 10
y = 7
z = 12

atau, cara pendefinisian yang lebih pythonic,

x, y, z = 10, 7, 12

Dalam pendefinisian variabel, ada beberapa aturan yang perlu diperhatikan:

  1. Hanya gunakan huruf, angka, dan garis bawah (_).

  2. Jangan menggunakan spasi.

  3. Diawali dengan huruf atau garis bawah

  4. Tidak bisa menggunakan kata kunci yang sudah dipakai yang merupakan bawaan dari Python. Contoh kata kunci bawaan yang tidak bisa kita pakai seperti pada gambar di bawah ini dan selengkapnya bisa dilihat di sini.

  5. Cara yang lebih pythonic untuk menamai variabel adalah dengan menggunakan semua hurus kecil dan setiap suku kata dipisahkan oleh garis bawah (_).

Note

Cara kita menamai sebuah variabel disebut dengan snake case karena kita cenderung menghubungkan atau memisahkan setiap suku kata dengan garis bawah, layaknya tubuh ular.

# akan muncul error karena ada spasi
my population = 12091849
  File "/var/folders/gn/lh5142px2tb1x8mbqzsf3ckh0000gn/T/ipykernel_46155/40327442.py", line 2
    my population = 12091849
       ^
SyntaxError: invalid syntax
# akan muncul error karena diawali dengan angka
1_var = 100
  File "/var/folders/gn/lh5142px2tb1x8mbqzsf3ckh0000gn/T/ipykernel_46155/1046914688.py", line 2
    1_var = 100
     ^
SyntaxError: invalid decimal literal
current_year = 2021
last_year = 2020

print(current_year, last_year)
2021 2020
# ini adalah baris komentar dalam Python (baris yang dimulai dengan `#`)
x, y, z = 10, 11, 12

print(x)
print(y)
print(z)
10
11
12

Operator Penugasan Lain

Selain =, ada beberapa operator penugasan lain yang mungkin berguna dan menyingkat penulisan seperti +=, -=, atau juga *=.

Sebagai contoh, jika kita ingin melakukan perubahan variabel current_year, kita bisa menulis

current_year = current_year + 1

Karena kita hanya akan memperbarui nilai current_year dan akan masih menggunakan nama variabel yang sama, kita bisa menggunakan operator +=. Sehinga, akan jadi seperti

current_year += 1

Mari kita praktikkan ⬇

my_population = 12091840
my_population = my_population + 1000000
print(my_population)

my_population *= 0.5
print(my_population)
13091840
6545920.0

Selain operator penugasan di atas, ada juga operator perbandingan yang digunakan untuk membandingkan suatu nilai dengan nilai lainnya. Berikut adalah tabel operator perbandingan.

Symbol Use Case

Bool

Operation

5 < 3

False

Less Than

5 > 3

True

Greater Than

3 <= 3

True

Less Than or Equal To

3 >= 5

False

Greater Than or Equal To

3 == 5

False

Equal To

3 != 5

True

Not Equal To

Hasil dari operasi perbandingan tersebut adalah sebuah Boolean, yaitu salah satu tipe data yang menyatakan suatu objek bernilai benar (True) atau salah (False).

Tipe Data dalam Python

Numerik

Tipe data pertama yang akan kita bahas adalah tipe data numerik. Dalam tipe data numerik, terdapat dua jenis tipe data:

  • int, untuk nilai-nilai bilangan bulat

  • float, untuk nilai-nilai bilangan desimal atau real

  • complex, untuk nilai-nilai bilanga kompleks

Note

Untuk mengetahui tipe data suatu objek dalam Python, kita bisa menggunakan fungsi bawaan Python yaitu type, misal type(10).

Integers

Dengan kita menulis 1, -10, 1000000, -999, dan sejenisnya, kita sudah menginisiasi data integer. Sebagai contoh, kita bisa mencari tahu secara langsung tipe data dari nilai tersebut atau juga dengan mendefinisikannya ke dalam sebuah variabel.

print(type(1), type(-10))

atau dengan memasukkannya ke dalam variabel seperti berikut.

value = -100
print(type(value))
print(type(10))
print(type(1), type(-10))
<class 'int'>
<class 'int'> <class 'int'>

Float

Tipe data float adalah semua nilai desimal seperti 0.14, -10.2092, dan bahkan 100.0. Contoh terakhir bertipe data float karena meskipun dalam matematika sama dengan 100, tapi karena kita membubuhi notasi desimal (.), maka Python akan menganggap objek tersebut bertipe data float.

print(3.15, type(3.14))
print(.5101, type(.05101))
print(10.0, type(10.0))
3.15 <class 'float'>
0.5101 <class 'float'>
10.0 <class 'float'>

Python juga menyediakan fungsi bawaan float dan int yang salah satu kegunaanny adalah untuk mengubah tipe data yang awalnya integer menjadi float dan sebaliknya.

Tip

fungsi float dan int juga bisa digunakan untuk mendefinisikan nilai kosong (0) jika kita memanggilnya tanpa ada argumen

simple_int = int()
simple_float = float()
# konversi tipe data dari float ke int, dan sebaliknya
x_int = 10
y_float = 3.14

x_float = float(x_int)
y_int = int(y_float)

print(x_int, y_int)
print(x_float, y_float)
print(float(y_float))
10 3
10.0 3.14
3.14
simple_int = int()
simple_float = float()

print(simple_int, simple_float)
0 0.0

Teks

Suatu teks, dalam Python, diwakili dengan tipe data str (baca: string). Teks adalah salah satu tipe data barisan dalam Python. Ada beberapa cara untuk mendefiniskan teks, yaitu membungkus teks dengan:

  • double quotes ("")

  • single quotes ('')

  • triple double quotes (""" """)

  • atau, triple single quotes (''' ''')

Kita bisa menggunakan double qoutes atau single qoute untuk menulis teks dalam satu baris yang sama dan menggunakan triple double quotes atau triple single quotes untuk lebih dari satu baris.

Eksplorasi

Buat 3 variabel yang memuat masing-masing teks di bawah ini sesuai dengan nama variabel yang sudah ditentukan:

  • nama variabel → bootcamp

Selamat datang di Bitlabs!
  • nama variabel → novel

"Arif, cepat ke sini!", ujar ibunya.
  • nama variabel → text

Mungkin al'ad sudah tidak sanggup.

Tapi, apa mungkin?
bootcamp = ...
novel = ...
text = ...

print(bootcamp, novel, text)
Ellipsis Ellipsis Ellipsis

Boolean

Jika kita lihat kembali tabel operator perbandingan di atas, semua nilai yang dikembalikan bertipe boolean atau bool. Nilai boolean terdiri dari 2 jenis, True dan False. Dalam bahasa pemrograman lain, penulisannya mungkin akan sedikit berbeda, seperti javascript menggunakan huruf kecil true.

Nilai True dan False juga sering dikonversi ke dalam bentuk numerik yang memiliki nilai 1 dan 0 secara berturut-turut. Mari kita coba di cell bawah ini.

print(5 < 3)
print(3 <= 5)
print(5 != 5.)
print("bit" == "Bit")
print("abjad" > "Abjad")
print("abjad" > "abjaf")
print("1" >= "10")
False
True
False
False
True
False
False
is_more = x > z
print(is_more, type(is_more))
False <class 'bool'>

Kita juga bisa menggabungkan beberapa perbandingan menggunakan logika penggabungan and, or, atau not. Selengkapnya dapat dilihat pada tabel di bawah ini.

Logical Use Case

Bool

Operation

15 < 13 and 5 == 5

False

and - Dievaluasi True jika semua pernyataan benar

15 > 13 or 5 != 5.

True

or - Dievaluasi True jika salah satu pernyataan benar

not 15 < 13

True

not - Kebalikan dari nilai boolean

Eksplorasi

Lengkapilah tabel kebenaran di bawah ini jika kita definisikan p = q = 1.

p

q

p and q

p or q

p

q

True

True

p

not q

not p

q

not p

not q

False

False

p = q = 1

p_and_notq = ...
notp_and_q = ...
notp_and_notq = ...

p_or_notq = ...
notp_or_q = ...
notp_or_notq = ...

Jika kita memasukkan nilai boolean ke dalam fungsi bawaan int atau float, maka nilai True akan berubah menjadi 1 dan 1.0 untuk integer dan float secara berturut-turut, dan sebaliknya untuk False.

Python juga menyediakan fungsi bawaan bool yang bisa mengonversi tipe data lain ke dalam bentuk boolean.

print(bool(0))
print(bool(1))
print(bool("False"))
print(bool(""))
print(bool(0.))
print(bool)