Estimasi Waktu Baca: 7 menit

Bisa dibilang variabel dan tipe data merupakan satu kesatuan. Mereka berdua akan selalu berjalan berdampingan.

Lalu sebenarnya apa itu variabel? Dan apa itu tipe data? Kita akan kupas pada artikel ini.

Variabel Python

Secara teknis variabel merupakan memori yang dicadangkan untuk menyimpan suatu data atau nilai. Maksudnya, ketika kalian membuat variabel, pada kenyataannya kalian memesan ruang di memori komputer yang nantinya digunakan untuk menyimpan data. Jadi variabel bisa dibilang merupakan tempat atau wadah untuk menampung data.

Variabel di python tidak perlu dideklarasikan secara eksplisit terlebih dahulu. Ia (variabel) akan otomatis terbentuk ketika kita memasukkan nilai ke dalamnya.

Penerapan Variabel

Untuk lebih jelasnya coba kalian lihat contoh pembentukan variabel di bawah ini.

>>> angka = 5
Python

Sebelah kiri merupakan sebuah variabel dengan nama angka dan sebelah kanan setelah tanda = merupakan data atau nilai yang diinputkan ke dalam variabel angka. Variabel angka tersebut bernilai 5 yang merupakan bilangan bulat, dalam pemahaman komputer bilangan bulat diwakili oleh integer (akan dijelaskan nanti).

Variabel bersifat mutable yang artinya nilai di dalamnya dapat diubah. Lawan variabel sebenarnya adalah konstanta. Variabel yang isinya tidak dapat dirubah (immutable). Tapi sayangnya dalam python tidak dikenali apa itu konstanta. Jadi untuk mengakalinya beberapa orang menggunakan huruf kapital dalam penamaan konstanta ini.


>>> ANGKA = 1
>>> ANGKA
1

Lalu, bila ada variabel yang menurut kita sudah tidak berguna dan lebih baik dibuang saja, gunakan fungsi del.


>>> angka = 1
>>> angka
1
>>> del angka
>>> angka
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'angka' is not defined
Python

Aturan Penamaan Variabel

Syarat pertama membuat variabel adalah kita perlu nama untuk mendefinisikannya. Namun untuk menamai variabel ada aturannya sendiri tidak boleh sembarangan. Aturan-aturan tersebut antara lain:

  1. Kalian boleh menamai variabel dengan awalan huruf atau garis bawah. Misal nama atau _nama. Selain itu tidak boleh!
  2. Karakter kedua dan seterusnya boleh menggunakan huruf, angka, atau garis bawah. Misal nama2, nama_lengkap, _nama_siswa. Selain itu tidak boleh!
  3. Kalian tidak disarankan menggunakan uppercase atau huruf kapital di awal nama variabel walaupun itu valid dalam python. Misal Angka, Nama, Siswa. Alasannya, karena tata cara penulisan ini umumnya lebih digunakan untuk menamai Class.
  4. Kemudian, variabel pada python bersifat case sensitive. Maksudnya, huruf yang digunakan untuk menamai variabel dibedakan besar kecilnya. Jadi misalkan kalian ingin memunculkan isi dari variabel yang sudah dibuat, siswa. Namun kalian salah menulis menjadi Siswa, maka python akan bingung, apa itu Siswa? Saya tidak kenal! Maka, karena variabel siswa tidak sama dengan Siswa dan karena Siswa ini asing, selanjutnya python akan memunculkan pesan error karena dia tidak dikenali. Kecuali jika Siswa merupakan variabel yang sudah dideklarasikan sebelumnya.
    
    >>> siswa = "budi"
    >>> siswa
    'budi'
    >>> Siswa
    Traceback (most recent call last):
      File "", line 1, in 
    NameError: name 'Siswa' is not defined
    
  5. Terakhir, kalian tidak diizinkan menamai variabel sama dengan kata kunci atau istilah yang secara default ada dalam python, contohnya in, is, not, if, elif, else, for, while, def, dan lain-lain. Hal ini dikarenakan python akan menganggap kalian menggunakan fungsi dari masing-masing istilah tersebut daripada membuat variabel.
    
    >>> not = 1
    File "", line 1
        not = 1
           ^
    SyntaxError: invalid syntax
    >>> for = "abcde"
    File "", line 1
        for = "abcde"
           ^
    SyntaxError: invalid syntax
    

Setiap bahasa pemrograman mungkin memiliki aturan yang berbeda untuk menamai variabelnya. Jadi pastikan kalian baca dulu aturan penamaan variabel di masing-masing bahasa pemrograman.

Variabel dengan Multi Penugasan

Variabel dalam python juga memiliki fitur multi penugasan, ini memungkinkan kita untuk menetapkan satu nilai yang sama ke dalam banyak variabel secara bersamaan.

x = y = z = 100

Pada praktek di atas kita punya 3 variabel (x, y, z). Ketiganya punya nilai yang sama yaitu 3, dengan kata lain ketiga variabel tersebut menunjuk lokasi memori yang sama.

Lagi, variabel python juga memungkinkan kita untuk menetapkan beberapa nilai ke beberapa variabel sekaligus dalam satu baris.

x, y, z = 1, 2, 3 

Variabel x di atas mendapatkan nilai 1, y mendapatkan nilai 2, dan z mendapatkan nilai 3.

Tipe data

Memori komputer dapat menyimpan data dengan berbagai tipe. Namun bagaimana cara kita memberitahu komputer untuk mengklasifikasikan data sesuai tipe yang kita inginkan?

Hal itu dapat diselesaikan dengan penggunaan tipe data. Tipe data akan mendefinisikan atau menjelaskan jenis data apa yang kita inputkan ke dalam variabel menggunakan pemahaman komputer.

Sama halnya dengan variabel di python, tipe data di python juga tidak perlu dideklarasikan secara eksplisit. Kita cukup memasukkan nilai yang kita inginkan maka dengan otomatis python akan tahu data apa itu.

Misal kita masukkan bilangan 5 ke dalam variabel maka dengan otomatis python langsung menentukan bahwa data yang kita inputkan barusan merupakan data bertipe bilangan bulat yang dalam pemahaman komputer adalah integer. Bila datanya 5.5 maka bilangan desimal, float. Lalu bila datanya nama kalian berarti data berupa teks, komputer membacanya sebagai String, dan sebagainya.

String, float, integer? Apa itu? Bagaimana menggunakannya? Kita akan kenali dalam materi di bawah ini.

Bermacam Tipe Data Python

Ada 6 tipe data standar di python.

  • Tipe Data Numerik
  • Tipe Data Teks
  • Boolean
  • Tipe Data Berurut
  • Tipe Data Tidak Berurut
  • Dictionary

Keenam tipe data tersebut memiliki fungsinya masing-masing.  

Tipe Data Numerik (Integer, Float, Complex)

Bisa disebut juga tipe data bilangan, karena masing-masing tipe data ini mewakili setiap tipe bilangan.

Integer

Digunakan untuk bilangan bulat. Panjang data dari tipe integer sebesar memori yang tersedia.


>>> bulat = 12345678909876543210
>>> bulat
12345678909876543210
>>> type(bulat)
<class 'int'>

Sebenarnya python memiliki satu lagi tipe data numerik yaitu long. Nama panjangnya long integer. Namun, tipe data ini hanya bisa digunakan hingga versi terakhir dari python 2 (python 2.7). Setelahnya pada python versi 3 ke atas sudah tidak bisa digunakan.

Float 

Digunakan untuk bilangan pecahan atau riil (real). Panjang dari float dibatasi 17 angka dibelakang titik. Ingat ya karena standar bahasa pemrograman menggunakan standar bahasa inggris maka untuk memisahkan bilangan desimal bukan menggunakan tanda koma, melainkan titik.

>>> desimal = 0.12345678909876543210
>>> desimal
0.12345678909876544
>>> type(desimal)
<class 'float'>
Python

Complex 

Mewakili bilangan imajiner atau bilangan kompleks, makanya disebut juga tipe data complex.

>>> kompleks = 5j
>>> kompleks
5j
>>> type(kompleks)
<class 'complex'>

Untuk mengetahui lebih dalam mengenai tipe data numerik beserta anggotanya, baik itu integer, float, atau complex, dapat dilihat di sini Tipe Data Numerik di Python.

Tipe Data Teks (String)

Jika tipe data bilangan ada maka tipe data teks juga ada. Dalam bahasa pemrograman apapun termasuk python tipe data ini sering disebut dengan String.

Syarat menggunakan tipe data String harus diawali dan diakhiri dengan tanda petik. Boleh petik satu (‘ . . . . ‘) atau dua (” . . . . “). Ingat! Setiap karakter entah itu simbol atau angka jika sudah terletak diantara kedua tanda kutip maka tipe datanya sudah menjadi String.

>>> teks = "abcdefghijklmnopqrstuvwxyz"
>>> type(teks)
<class 'str'>
>>> teks = '1234567890'
>>> type(teks)
<class 'str'>
>>> teks = "~`!@#$%^&*()-+_=.,:;<>{}[]\/?|"
>>> type(teks)
<class 'str'>

Boolean

adalah tipe data yang hanya berisi nilai Benar atau Salah. Penulisannya menggunakan bahasa inggris dengan huruf kapital di awal (True/False) tanpa tanda petik dan tanpa tawar menawar lagi. Karena jika kalian coba menuliskannya dengan huruf kecil semua misal true/false atau apalagi sebaliknya (TRUE/FALSE) maka python akan menolak nilai tersebut.

>>> benar = True
>>> salah = False
>>> benar, salah
(True, False)
>>> type(benar), type(salah)
(<class 'bool'>, <class 'bool'>)

Tipe Data Berurut (String, List, Tuple)

String Sebagai Tipe Data Urutan

Selain menjadi tipe data yang mewakili teks, String sebenarnya juga merupakan tipe data berurut. Karena setiap satu karakter atau serangkaian karakter yang terletak diantara tanda kutip memiliki indeksnya masing-masing yang tersusun secara urut, indeksnya dimulai dari 0. Istilah indeks sendiri merujuk ke angka yang mewakili setiap karakter atau anggota atau elemen dalam daftar sebuah tipe data berurut.

Jadi untuk mendapatkan setiap karakternya gunakan indeks dari masing-masing karakter tersebut. Dalam pemahaman python, caranya, panggil nama variabel yang bersangkutan dan letakkan indeksnya di dalam kurung siku [ . . . ] setelah nama variabel: nama_variabel[indeks]. Untuk lebih jelasnya simak praktek di bawah ini.

>>> siswa = 'budi'
>>> web[0]
'b'
>>> web[1]
'u'
>>> web[2]
'd'
>>> web[3]
'i'

Pada kode di atas, variabel siswa berisi nilai String “budi”. Kemudian dari String “budi” tersebut kita ambil satu persatu indeksnya dimulai dari nol, untuk karakter di posisi pertama, dan seterusnya.

Gunakan bilangan negatif untuk mendapatkan karakter dari urutan belakang

>>> budi[0]
b
>>> budi[-1]
i
>>> budi[-2]
d
>>> budi[-3]
u

Selain itu kita juga dapat mengakses karakter string dengan cara slicing. Cara ini bertujuan untuk mengakses sejumlah karakter string dimulai dari indeks tertentu sampai indeks tertentu. Rumusnya nama_variabel[indeks_awal:indeks_akhir]. Contoh mendapatkan karakter kopi dari kata kopidingin.

>>> web = 'kopidingin'
>>> web[:4]
'kopi'

Kata ‘kopi’ dari ‘kopidingin’ berada diantara indeks [0-4]. Maka, tinggal tulis saja sesuai rumus web[0:4] atau bisa seperti cara di atas tanpa angka 0 web[:4]. Namun perlu dicatat cara seperti ini [:4] hanya berlaku jika indeks awal yang diminta dari 0.

List

List dikatakan tipe data berurut karena setiap anggotanya memiliki indeks yang tersusun secara urut dimulai dari 0. List bersifat mutable yang artinya data di dalamnya bisa diubah. Anggota list bisa terdiri dari tipe data lain seperti tipe data numerik, string, boolean bahkan campuran ketiganya. Cara untuk membentuk list gunakan tanda kurung siku di awal dan di akhir, dengan setiap anggota di dalamnya dipisahkan menggunakan tanda koma.

>>> anggota = [5, 5.5, 5j, "budi", True]
>>> anggota[2]
5j
>>> type(anggota)
<class 'list'>

Teknik slicing juga dapat diterapkan di list.

>>> anggota[:3]
[5, 5.5, 5j]

Tuple

Sama seperti list, bedanya adalah jika list dimulai dan diakhiri dengan kurung siku, maka tuple menggunakan kurung biasa. Perbedaan selanjutnya terdapat pada sifatnya, tuple bersifat immutable artinya data yang dikandungnya tidak bisa diubah.Cara mengakses anggota tuple sama seperti kedua temannya tadi.

>>> anggota = (5, 5.5, 5j, "budi", True)
>>> anggota[3]
'budi'
>>> type(anggota)
<class 'tuple'>

Teknik slicing di tuple.

>>> anggota[:4]
'budi'

Tipe Data Tidak Berurut (Set)

Set termasuk ke dalam tipe data yang tidak berurut karena ia tidak mengenal indeks dan anggota di dalamnya hanya berisi data atau nilai yang unik. Apa maksudnya unik? Jika ada nilai yang sama atau duplikasi maka set akan menghapus salah satu nilai duplikat tersebut, jadi hanya ada satu jenis nilai. Cara membentuk set dengan kurung kurawal.

>>> anggota = {5, 5.5, 5j, "budi", True, 5, "budi"}
>>> anggota
{True, 5.5, 5, 5j, 'budi'}
>>> type(anggota)
<class 'set'>

Perhatikan output dari tipe data set di atas, terlihat posisi anggota di dalamnya ketika ditampilkan tidak dapat kita pastikan urutannya, karena itu tadi, set tidak memiliki indeks. Selanjutnya, ketika dimasukkan anggota tambahan yang bernilai sama (5 dan “budi”) maka kedua anggota tersebut dengan otomatis dihapus.

Dictionary

Tipe data terakhir yaitu Dictionary, merupakan tipe data yang konsepnya sama dengan array asosiatif di bahasa pemrograman PHP, anggotanya diwakili dengan pasangan kunci dan nilai (key:value). Key bisa bertindak sebagai indeks, bedanya dengan indeks pada umumnya, nilai key bisa berupa tipe data numerik, teks, ataupun boolean. Sedangkan untuk value bisa berupa tipe data apa saja. Jadi untuk mengakses value-nya kita perlu dapatkan key-nya. Untuk membentuk dictionary gunakan kurung kurawal.

>>> anggota = {1: 100, "nama":"budi", True:"benar"}
>>> anggota
{1: 100, "nama":"budi", True:"benar"}
>>> type(anggota)
<class 'dict'>

Untuk mengakses value-nya.

>>> anggota[1]
100
>>> anggota["nama"]
'budi'
>>> anggota[True]
'benar'