Tipe Data dan Operator pada Python
A. Type Data
Data yang disimpan di memori memiliki tipe yang berbeda – beda. Misalnya untuk panjang, akan
disimpan dengan tipe bilangan. Nama orang akan disimpan dalam tipe string/karakter. Suhu akan
disimpan dalam bentuk bilangan berkoma. Dan lain sebagainya. Masing – masing tipe data akan
memiliki operasi yang berbeda – beda.
Python memiliki enam tipe data standar atau paling sering digunakan, yaitu:
Bilangan (Number)
String
List
Tuple
Set
Dictionary
1. Bilangan (Number)
Tipe data bilangan yang umum ada 2 yaitu, integer dan float. Integer adalah bilangan bulat,
sedangkan float adalah bilangan pecahan. Selain itu ada tipe bilangan lain, yaitu
bilangan kompleks yaitu bilangan yang memiliki bagian real dan imajiner. Integer, float, dan
kompleks masing-masing di Python diwakili oleh kelas int, float, dan complex.
Kita bisa menggunakan fungsi type() untuk mengetahui tipe data suatu objek di python.
x = 5
print(x, "tipenya adalah ", type(x))
x = 2.0
print(x, "tipenya adalah ", type(x))
x = 1+2j
print(x, "tipenya adalah ",type(x))
Tipe data integer di Python panjangnya bisa berapa saja. Panjangnya hanya dibatasi oleh besar
memori yang tersedia. Tipe data float akurat sampai 17 angka di belakang koma. Berikut contoh
panjang bilangan menggunakan mode interaktif di IDLE. Perhatikan bagaimana bilangan float
terpotong panjangnya.
>>> a = 1234567899999999999999999999
>>> a
1234567899999999999999999999
>>> b = 0.123456789123456789
>>> b
0.12345678912345678
>>> c = 1+4j
>>> c
(1+4j)
2. String
String adalah satu atau serangkaian karakter yang diletakkan diantara tanda kutip, baik tanda kutip
tunggal ( ‘ ) maupun ganda ( ” ). Huruf, angka, maupun karakter lainnya yang digabung menjadi
teks adalah contoh string.
String adalah tipe data yang anggotanya berurut dan memiliki indeks. Indeks dimulai dari angka 0
bila dimulai dari depan dan -1 bila diindeks dari belakang. Tiap karakter bisa diakses menggunakan
indeksnya dengan format namastring[indeks] . Pada string juga bisa dilakukan slicing atau
mengakses sekelompok substring dengan format namastring[awal:akhir]. Untuk jelasnya bisa
diperhatikan contoh berikut.
kalimat = "Nama saya Umar"
print(kalimat) # print string lengkap
print(kalimat[0]) # print karakter pertama
print(kalimat[-1]) # print karakter terakhir
print(kalimat[4:7]) # print dari indeks 4 - 6
print(kalimat[:4]) # print dari indeks 0 - 3
Hasilnya akan muncul seperti berikut:
Nama saya Umar
N
r
aya
Nama
3. List
List adalah tipe data yang berisi item yang berurut. Seperti halnya tipe data string, tiap item
(anggota) list memiliki indeks sesuai dengan urutannya. Indeks dimulai dari 0 dan bukan dari 1.
List bisa berisi anggota dengan tipe yang sama maupun berbeda. Untuk mendeklarasikan list,
digunakan tanda kurung [ ] dan masing-masing anggotanya dipisahkan oleh tanda koma.
>>> lst = [1, 'dua', 3.0]
Untuk mengakses item dari list caranya adalah dengan memanggil nama list diikuti indeks dari
item yang bersangkutan, yaitu dengan format namalist[index]
Selain itu bisa juga dilakukan pengaksesan terhadap sejumlah item dari indeks ke indeks. Hal ini
disebut slicing. Contohnya sebagai berikut:
a = [5,10,15,20,25,30,35,40]
# a[2] = 15
print("a[2] = ", a[2])
# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])
# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])
4. Tuple
Tuple adalah jenis data lain yang mirip dengan list. Perbedaannya dengan list adalah anggotanya
tidak bisa diubah (immutable). List bersifat mutable, sedangkan tuple bersifat immutable. Sekali
tuple dibuat, maka isinya tidak bisa dimodifikasi lagi.
Tuple dideklarasikan dengan menggunakan tanda kurung ( ). dan anggotanya dipisahkan oleh
tanda koma. Tuple berguna untuk data yang dimaksudkan tidak diubah isinya. Misalnya tuple
komposisi warna untuk putih adalah (255,255,255).
Seperti halnya list, kita bisa mengakses anggota tuple dengan menggunakan indeksnya.
white = (255,255, 255)
red = (255,0,0)
print(white)
print(red[0])
print(red[1])
# akan menghasilkan error
# tuple bersifat immutable
red[0] = 128
5. Set
Set adalah salah satu tipe data di Python yang tidak berurut (unordered). Set memiliki anggota
yang unik (tidak ada duplikasi). Jadi misalnya kalau kita meletakkan dua anggota yang sama di
dalam set, maka otomatis set akan menghilangkan yang salah satunya.
Set bisa digunakan untuk melakukan operasi himpunan matematika seperti gabungan, irisan,
selisih, dan komplemen.
Set dibuat dengan meletakkan anggota – anggotanya di dalam tanda kurung kurawal { },
dipisahkan menggunakan tanda koma. Kita juga bisa membuat set dari list dengan memasukkan
list ke dalam fungsi set()
Set bisa berisi data campuran, baik integer, float, string, dan lain sebagainya. Akan tetapi set tidak
bisa berisi list, set, dan dictionary.
# set integer
my_set = {1,2,3}
print(my_set)
# set dengan menggunakan fungsi set()
my_set = set([1,2,3])
print(my_set)
# set data campuran
my_set = {1, 2.0, "Python", (3,4,5)}
print(my_set)
# bila kita mengisi duplikasi, set akan menghilangkan salah satu
# output: {1,2,3}
my_set = {1,2,2,3,3,3}
6. Dictionary
Dictionary adalah tipe data yang tiap anggotanya terdiri dari pasangan kunci-nilai (key-value).
Mirip dengan kamus dimana ada kata ada arti. Dictionary umumnya dipakai untuk data yang besar
dan untuk mengakses anggota data secara acak. Anggota dictionary tidak memiliki indeks.
Dictionary dideklarasikan dengan menggunakan tanda kurung kurawal { }, dimana anggotanya
memiliki bentuk kunci:nilai atau key:value dan tiap anggota dipisah tanda koma. Kunci dan
nilainya bisa memiliki tipe sembarang.
Untuk mengakses nilai dari anggota dictionary, kita menggunakan key-nya.
d = {1:'satu', 2:'dua', 'tiga':3}
print(tipe(d))
print("d[1] = ", d[1])
print("d['tiga'] = ", d['tiga'])
# Error
print("d[3] = ", d[3])
Catatan
Tipe data sering disebut objek. Pada dasarnya semua hal di python adalah objek.
Ada tipe data lain yang umumnya dimiliki oleh bahasa Python, yaitu tipe None. Tipe None adalah
sebuah tipe data spesial yang menunjukkan bahwa nilai/data suatu variabel itu belum/tidak ada
(bukan nol, tapi tidak ada). Pada bahasa pemrograman lain seperti C, atau PHP, tipe data ini disebut
null.
Tipe data string, tuple, dan list masuk ke dalam tipe data yang disebut tipe data berurut /
ordered atau sekuensial / sequence. Tipe data dictionary disebut data tidak berurut / unordered.
B. Operator Python
Operator adalah simbol tertentu yang digunakan untuk melakukan operasi aritmatika maupun
logika. Nilai yang padanya dilakukan operasi disebut operand. Misalnya adalah 2 + 3. Di sini
tanda + adalah operator penjumlahan. 2 dan 3 adalah operand.
Python memiliki sejumlah operator, yaitu:
Operator Aritmatika
Operator Perbandingan
Operator Penugasan
Operator Logika
Operator Bitwise
Operator Keanggotaan
Mari kita tinjau satu persatu.
1. Operator Aritmatika
Operator aritmatika adalah operator yang digunakan untuk melakukan operasi matematika, seperti
penjumlahan, pengurangan, perkalian, pembagian, dan sebagainya. Tabel berikut menunjukkan
jenis operator aritmatika.
Operator Contoh Penjelasan
1+3=
Penjumlahan + Menjumlahkan nilai dari masing-masing operan atau bilangan
4
4-1= Mengurangi nilai operan di sebelah kiri menggunakan operan di
Pengurangan -
3 sebelah kanan
2*4=
Perkalian * Mengalikan operan/bilangan
8
Operator Contoh Penjelasan
10 / 5 = Untuk membagi operan di sebelah kiri menggunakan operan di
Pembagian /
2 sebelah kanan
11 % 2 Mendapatkan sisa pembagian dari operan di sebelah kiri operator
Sisa Bagi %
=1 ketika dibagi oleh operan di sebelah kanan
8 ** 2 Memangkatkan operan disebelah kiri operator dengan operan di
Pangkat **
= 64 sebelah kanan operator
Pembagian 10 // 3 Sama seperti pembagian. Hanya saja angka dibelakang koma
Bulat // =3 dihilangkan
Contoh:
#Penjumlahan
print(19 + 2)
mangga = 9
jeruk = 10
buah = mangga + jeruk #
print(buah)
#Pengurangan
beli = 10000
bayar =20000
sisa = bayar-beli
print("Sisa kembalian pembelian Anda adalah ", sisa)
#Perkalian
panjang = 17.5
lebar = 8
luas = panjang * lebar
print(luas)
#Pembagian
kue = 36
anak = 9
kuePerAnak = kue / anak
print("Setiap anak akan mendapatkan bagian kue sebanyak ", kuePerAnak)
#Sisa Bagi / Modulus
bilangan1 = 14
bilangan2 = 5
hasil = bilangan1 % bilangan2
print("Sisa bagi dari bilangan ", bilangan1, " dan ", bilangan2, " adalah ", hasil)
#Pangkat
bilangan3 = 8
bilangan4 = 2
hasilPangkat = bilangan3 ** bilangan4
print(hasilPangkat)
#Pembagian Bulat
print(10//3)
#10 dibagi 3 adalah 3.3333. Karena dibulatkan maka akan menghasilkan nilai 3
2. Operator Perbandingan
Operator perbandingan adalah operator yang digunakan untuk membandingkan 2 buah nilai. Hasil
perbandingannya adalah True atau False tergantung kondisi.
Operator Contoh Penjelasan
bernilai True Jika masing-masing operan memiliki nilai
Sama dengan == 1 == 1
yang sama, maka kondisi bernilai benar atau True.
Tidak sama bernilai False Akan menghasilkan nilai kebalikan dari
2 != 2
dengan != kondisi sebenarnya.
Tidak sama bernilai False Akan menghasilkan nilai kebalikan dari
2 <> 2
dengan <> kondisi sebenarnya.
bernilai True Jika nilai operan kiri lebih besar dari nilai
Lebih besar dari > 5>3
operan kanan, maka kondisi menjadi benar.
bernilai True Jika nilai operan kiri lebih kecil dari nilai
Lebih kecil dari < 5<3
operan kanan, maka kondisi menjadi benar.
Lebih besar atau sama bernilai True Jika nilai operan kiri lebih besar dari nilai
5 >= 3
dengan >= operan kanan, atau sama, maka kondisi menjadi benar.
Lebih kecil atau sama bernilai True Jika nilai operan kiri lebih kecil dari nilai
5 <= 3
dengan <= operan kanan, atau sama, maka kondisi menjadi benar.
3. Operator Penugasan
Operator penugasan adalah operator yang digunakan untuk memberi nilai ke variabel.
a = 7 adalah contoh operator penugasan yang memberi nilai 7 di kanan ke variabel a yang ada di
kiri.
Operator Contoh Penjelasan
Memberikan nilai di kanan ke dalam variabel yang berada di
Sama dengan = a=1
sebelah kiri.
Tambah sama Memberikan nilai variabel dengan nilai variabel itu sendiri
a += 2
dengan += ditambah dengan nilai di sebelah kanan.
Kurang sama Memberikan nilai variabel dengan nilai variabel itu sendiri
a -= 2
dengan -= dikurangi dengan nilai di sebelah kanan.
Kali sama Memberikan nilai variabel dengan nilai variabel itu sendiri
a *= 2
dengan *= dikali dengan nilai di sebelah kanan.
Bagi sama Memberikan nilai variabel dengan nilai variabel itu sendiri
a /= 4
dengan /= dibagi dengan nilai di sebelah kanan.
Sisa bagi sama Memberikan nilai variabel dengan nilai variabel itu sendiri
a %= 3 dibagi dengan nilai di sebelah kanan. Yang diambil nantinya
dengan %=
adalah sisa baginya.
Pangkat sama a **= Memberikan nilai variabel dengan nilai variabel itu sendiri
dengan **= 3 dipangkatkan dengan nilai di sebelah kanan.
Pembagian bulat Membagi bulat operan sebelah kiri operator dengan operan
a //= 3 sebelah kanan operator kemudian hasilnya diisikan ke operan
sama dengan //=
sebelah kiri.
4. Operator Logika
Operator logika adalah operator yang digunakan untuk melakukan operasi logika.
Operator Penjelasan Contoh
and Hasilnya adalah True jika kedua operandnya bernilai benar x and y
Hasilnya adalah True jika salah satu atau kedua operandnya bernilai
or x or y
benar
not Hasilnya adalah True jika operandnya bernilai salah (kebalikan nilai) not x
5. Operator Bitwise
Operator bitwise adalah operator yang melakukan operasi bit terhadap operand. Operator ini
beroperasi bit per bit sesuai dengan namanya. Sebagai misal, angka 2 dalam bit ditulis 10 dalam
notasi biner dan angka 7 ditulis 111
Pada tabel di bawah ini, misalkan x = 10 ( 0000 1010) dalam biner dan y = 4 (0000 0100) dalam
biner.
Operator Nama Contoh
& Bitwise AND x& y = 0 (0000 0000)
| Bitwise OR x | y = 14 (0000 1110)
~ Bitwise NOT ~x = -11 (1111 0101)
^ Bitwise XOR x ^ y = 14 (0000 1110)
>> Bitwise right shift x>> 2 = 2 (0000 0010)
<< Bitwise left shift x<< 2 = 40 (0010 1000)
6. Operator Identitas
Operator identitas adalah operator yang memeriksa apakah dua buah nilai ( atau variabel ) berada
pada lokasi memori yang sama.
Operator Penjelasan Contoh
True jika kedua operand identik
is x is True
(menunjuk ke objek yang sama)
True jika kedua operand tidak identik
is not x is not True
(tidak merujuk ke objek yang sama)
7. Operator Keanggotaan
Operator keanggotaan adalah operator yang digunakan untuk memeriksa apakah suatu nilai atau
variabel merupakan anggota atau ditemukan di dalam suatu data (string, list, tuple, set, dan
dictionary).
Operator Penjelasan Contoh
True jika nilai/variabel ditemukan di
in 5 in x
dalam data
True jika nilai/variabel tidak ada di
not in 5 not in x
dalam data
C. Prioritas Eksekusi Operator di Python
Dari semua operator diatas, masing-masing mempunyai urutan prioritas yang nantinya prioritas
pertama akan dilakukan paling pertama, begitu seterusnya sampai dengan prioritas terakhir.
Operator Keterangan
** Aritmatika
~, +, - Bitwise
*, /, %, // Aritmatika
+, - Aritmatika
>>, << Bitwise
& Bitwise
^, | Bitwise
<=, <, >, >= Perbandingan
<> , ==, != Perbandingan
=, %=, /=, //=, -=, +=, *=, **= Penugasan
is, is not Identitas
Operator Keterangan
in, not in Membership (Keanggotaan)
not, or, and Logika
D. Contoh program sederhana
Program Penjumlahan Dua Bilangan
Program Penjumlahan Dua Bilangan
# Meminta masukan dari user
bil1 = input('Masukkan bilangan pertama: ')
bil2 = input('Masukkan bilangan kedua: ')
# Menjumlahkan bilangan
jumlah = float(bil1) + float(bil2)
# Menampilkan jumlah
print('Jumlah {0} + {1} adalah {2}'.format(bil1, bil2, jumlah))
Latihan:
susun algoritma dan program untuk mencari akar persamaan kuadrat