Tipe Data dan Variabel

Dalam praktik sehari-hari, tentunya kita pasti akan sering besentuhan dengan data. Ketika data yang kita miliki ada banyak dan kita ingin melakukan operasi terhadap data-data tersebut, maka kita akan butuh wadah yang dalam pemrograman kerap disebut dengan variabel.

Pada bahasa pemrograman tertentu, ketika kita ingin membuat variabel untuk menampung sebuah data maka kita wajib mendefinisikan pula tipe data yang sesuai dengan data tersebut. Untungnya, di python kita tidak perlu repot-repot mendefinisikan tipe data dari sebuah variabel. Namun tetap saja pada saat kita ingin melakukan operasi terhadap data, kita harus memperhatikan tipe datanya agar hasil yang operasinya sesuai dengan yang kita harapkan atau bahkan tidak berujung menjadi error.

Berikut adalah contoh penulisan sebuah variabel pada python.

var = "Hello World" 

var merupakan sebuah variabel, sedangkan "Hello World" adalah sebuah data bertipe String yang dikandung oleh variabel var.

Pada saat mendefinisikan sebuah variabel, kita bebas memberikan nama apapun asalkan belum ada variabel dengan nama yang sama sebelumnya. Sebenarnya bisa saja kita mendefinisikan beberapa variabel dengan nama yang sama, namun kita harus memperhatikan scope dari variabel tersebut yang akan kita bahas pada materi berikutnya.

Tipe Data pada Python

String

Tipe data yang pertama adalah String, yaitu tipe data yang kita gunakan pada saat ingin menyimpan sebuah data teks. Kita sudah mengenal tipe data ini pada contoh sebelumnya diatas.

Dalam python, kita bisa mendefinisikan sebuah tipe data String dengan menggunakan tanda ' ataupun " dengan catatan kita tidak boleh mengkombinasikan keduanya. Berikut adalah contoh definisi variabel String yang benar dan salah

# salah
var = "Hello World'
var = 'Hello World"

# benar
var = "Hello World"
var = 'hello world'

Di python, kita juga bisa dengan mudah mendefinisikan sebuah string yang memiliki panjang lebih dari satu baris seperti sebuah paragraf dengan menggunakan tanda ''' atau """ seperti contoh berikut.

txt = '''Lorem ipsum dolor sit amet
baris kedua
baris ketiga'''

Integer

Tipe data Integer merupakan sebuah tipe data yang bisa kita gunakan ketika kita hendak menyimpan data angka berupa bilangan bulat baik positif maupun negatif.

Tipe data ini nantinya akan sering kita temui pada proyek-proyek Data Science, karena seluruh data yang akan diolah harus ditransformasikan terlebih dahulu kedalam angka sehingga akan bisa diproses oleh komputer.

positive = 12345
negative = -43567

Float

Float adalah tipe data yang tepat ketika kita hendak menyimpan sebuah data angka berupa bilangan desimal positif maupun negatif.

Sama halnya seperti Integer, tipe data ini juga akan sering kita temui pada proyek-proyek Data Science, terutama pada saat kita melakukan scaling pada data yang pastinya akan kita bahas pada materi berikutnya.

pos_decimal = 0.995
neg_decimal = -2004.5

Boolean / Bool

Tipe data Boolean ini bisa dibilang sebuah tipe data Logical. Karena sering digunakan untuk mengontrol alur jalannya program yang kita buat. Kita akan membahas secara langsung beberapa penggunaan tipe data ini pada materi berikutnya.

Tipe data ini hanya memiliki 2 nilai, yaitu True dan False.

t_check = True
f_check = False

Pada saat mendefinisikan sebuah variabel, hindari penggunaan huruf abjad sebagai nama variabel karena akan membuat kode semakin sulit dipahami dan dikhawatirkan akan menyesatkan.

# tidak direkomendasikan
a = 123
b = "ini adalah teks"
c = True

# direkomendasikan
number = 123
text = "ini adalah teks"
true_or_false = True

ProTip: Selalu gunakan penamaan variabel yang jelas dan sesuai penggunaan agar kode kita lebih mudah dibaca dan dipahami oleh orang lain maupun diri sendiri.

Dalam prosesnya, mungkin kita akan menemui sebuah titik dimana kita tidak yakin dengan tipe data sebuah variabel. Tentunya hal ini akan sangat mempengaruhi operasi yang akan kita lakukan. Beruntungnya, python sudah menyediakan fungsi bawaan untuk mengatasi hal tersebut yaitu type().

Dengan fungsi ini kita bisa melakukan inspeksi tipe data dari sebuah variabel. Berikut adalah contohnya.

num = 123
print('{} merupakan {}'.format(num, type(num)))

text = "Hello World"
print('{} merupakan {}'.format(text, type(text)))

check = False
print('{} merupakan {}'.format(check, type(check)))

decimal = 0.995
print('{} merupakan {}'.format(decimal, type(decimal)))

Cobalah mengeksekusi kode diatas, hasilnya kurang lebih seperti berikut.

Collection pada Python

Collection berguna pada saat kita butuh menyimpan beberapa data kedalam sebuah variabel. Hal ini tentu saja sangat memudahkan kita, karena kita tidak perlu mendefinisikan satu per-satu variabel untuk seluruh data yang kita miliki. Cukup simpan sebuah collection pada variabel saja, dan kita akan lebih mudah melakukan operasi data.

Ingat bahwa index pada python dimulai dari 0.

Terdapat 3 jenis collection yang cukup sering digunakan pada python, yaitu Tuple, List, Set, dan Dictionary.

List

List merupakan salah satu collection pada python yang akan cukup sering kita gunakan. Cara mendefinisikannya sangat mudah, cukup letakkan data yang dipisahkan oleh koma kedalam tanda [ ] seperti berikut.

sequence = [1, 0.25, True, 'test']

Sekilas memang tampak seperti Array pada bahasa pemrograman lain, perbedaannya adalah pada bahasa pemrograman lain biasanya setiap item harus memiliki tipe data yang sama, sedangkan pada python tidak.

Menariknya adalah di python kita bisa melakukan slicing pada list untuk mendapatkan potongan data. Misalnya, ketika kita ingin mengambil 5 data dari depan atau belakang, atau bahkan mungkin data yang kita inginkan posisinya berada di tengah.

Mirip halnya seperti kita ingin mengambil sebuah data pada posisi tertentu (indexing), jika kita hendak melakukan slicing cukup menambahkan tanda : pada sebuah list. Berikut adalah penjelasannya.

list_of_data[start_index:stop_index]

# atau

list_of_data[start_index:stop_index:step]
  • list_of_data[2:4] → mengambil potongan data mulai dari index ke-2 hingga ke-3 (data pada stop_index tidak termasuk, dalam hal ini stop_index adalah 4 berarti data pada index ke-4 tidak akan ikut terambil)

  • list_of_data[:5] → mengambil potongan data mulai dari awal (index ke-0) hingga index ke-4

  • list_of_data[5:] → mengambil potongan data mulai dari index ke-5 hingga index paling akhir pada list

  • list_of_data[:5:2] → mengambil potongan data mulai dari awal (index ke-0) hingga index ke-4, dengan step sebesar 2.

Untuk mendapat gambaran yang lebih jelas, berikut adalah contoh indexing dan slicing pada sebuah list.

numbers = [5,12,32,25,94,102,56,9,73]

# mendapatkan data paling awal
print(numbers[0])
>>>> [5]

# mendapatkan data paling akhir
print(numbers[-1])
>>>> [73]

# mendapatkan data dari index ke-0 hingga tepat sebelum index ke-5
print(numbers[:5])
>>>> [5, 12, 32, 25, 94]

# mendapatkan data dari index ke-5 hingga terakhir
print(numbers[5:])
>>>> [102, 56, 9, 73]

# mendapatkan data dari index ke-0 hingga ke-4, dengan step sebesar 2
print(numbers[:5:2])
>>>> [5, 32, 94]

Tuple

Tuple merupakan sebuah collection yang mirip dengan list, hanya saja bersifat immutable alias kita tidak bisa mengubah isi dari collection tersebut. Untuk mendefinisikan sebuah Tuple, kita menggunakan tanda ( ) seperti berikut.

ex_tuple = (5, 5.45, False, 'string')

Sama halnya seperti List, tuple juga dapat digunakan untuk menyimpan beberapa data dengan tipe data yang berbeda. Begitu juga dengan indexing dan slicing, penerapannya sama sekali tidak berbeda dengan List.

Salah satu yang menarik dari tuple adalah, kita bisa melakukan unpack alias mendefinisikan beberapa variabel sekaligus untuk masing-masing item pada Tuple. Berikut adalah contohnya.

number, decimal, boolean, text = ex_tuple

print(number)
>>>> 5

print(decimal)
>>>> 5.45

print(boolean)
>>>> False

print(text)
>>>> 'string'

Set

Set adalah collection yang juga cukup mirip dengan List, namun pada Set kita hanya bisa menyimpan nilai-nilai yang bersifat unique. Ketika kita mendefinisikan sebuah Set dan terdapat nilai duplikat didalamnya, maka secara otomatis Set akan mengambil salah satu dari keduanya untuk memastikan seluruh itemnya bersifat unique.

Untuk mendefinisikan sebuah Set, kita menggunakan tanda { } seperti berikut.

numbers = {1,1,2,5,7,7,7,4,8}

print(numbers)
>>>> {1, 5, 7, 4, 8}

Tidak seperti Tuple, item pada Set bersifat mutable alias kita dapat mengubah item didalamnya. Sayangnya, Set juga merupakan collection yang tidak terurut maka kita tidak bisa melakukan indexing dan slicing terhadapnya. Tenang saja, kita masih bisa melakukan looping untuk mengambil item didalamnya yang akan kita bahas pada materi berikutnya.

Dictionary

Dictionary merupakan sebuah collection yang menggunakan konsep {key:value} untuk menyimpan data. Collection ini cukup berbeda dengan ketiga collection sebelumnya. Untuk mendefinisikan sebuah Dictionary, kita dapat menuliskannya sebagai berikut.

# dictionary dengan key integer
ex_dict = {
    1: 'mangga',
    2: 'pisang',
    3: 'semangka'
}

# dictionary dengan key string
ex_dict = {
    'nama': 'Budi',
    'usia': 17,
    'pendidikan': ['tk', 'sd', 'smp', 'sma', 'strata-1']
}

# dictionary dengan key integer dan string
ex_dict = {
    1: 'mangga',
    'nama': 'Budi',
    2: 'pisang',
    'usia': 17
}

Sebuah key pada Dictionary haruslah bersifat immutable, sehingga kita bisa gunakan String, Integer, dan Tuple. sebagai key. Sedangkan untuk value, kita bisa meletakkan data bertipe apapun baik mutable maupun immutable.

Sama halnya seperti Set, Dictionary merupakan collection yang tidak terurut sehingga kita tidak bisa melakukan slicing dan indexing kepadanya. Sehingga untuk mengakses item-item didalamnya, kita harus menggunakan key yang berasosiasi dengan item tersebut seperti berikut.

# dictionary dengan key string
ex_dict = {
    'nama': 'Budi',
    'usia': 17,
    'pendidikan': ['tk', 'sd', 'smp', 'sma', 'strata-1']
}

print(ex_dict['nama'])
>>>> Budi

print(ex_dict['usia'])
>>>> 17

print(ex_dict['pendidikan'])
>>>> ['tk', 'sd', 'smp', 'sma', 'strata-1']

Last updated