Python | Tipe data dalam python
Published: 2020-07-04 08:18:58


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f5is89g0el7nbbgetc9d.jpg)## **Materi 4 | Tipe data dalam python**
> Diambil dari materi youtube camp.114
> https://www.youtube.com/watch?v=7uP1OiQ0CBg



Pada pertemuan kali ini kita akan membahas tentang tipe data pada python. Jika kemarin kita membahas konsep dasar, kita ingat semua dalam python adalah object, tipe data adalah class dari object, sedangkan variable dari tipedata adalah instance(object) dari class tersebut. Untuk lebih jelasnya dibawah ini adalah tabel dari dari beberapa tipe data yang sering digunakan dalam python.

| Kelompok Tipe Data |                                    |
| ------------------ | ---------------------------------- |
| Numeric            | `int`, `float`, `complex`          |
| Text               | `str`                              |
| Sequence           | `list`, `tuple`, `range`           |
| Mapping            | `dict`                             |
| Set                | `set`, `frozenset`                 |
| Boolean            | `bool`                             |
| Binary             | `bytes`, `bytearray`, `memoryview` |

> Tidak seperti di bahasa pemrograman lain, dalam python kita tidak perlu mendeklarasikan variable dan tipedata yang  kita gunakan, karena python bisa mengenali sendiri tipedata apa yang kita pakai.
>
> contohnya, jika dalam bahasa pemrograman lain:
>
> **int a, b ;**
>
> **a = 10;**
>
> **b = 5;**
>
> **a= a+b**
>
> jika dalam python kita bisa langsung mendeklarasikan variable a langsung dengan valuenya
>
> **a = 10**
>
> **b = 5**
>
> **a = a + b**

#### Numeric/Numbers

Tipe ini digunakan untuk mengolah data yang berupa angka, yang termasuk tipe ini adalah integer, floating point (pecahan) dan complex. Nambers sendiri termasuk immutable object.

Dalam pyton, integer tidak dibatasi panjangnya, yang membatasinya hanyalah besaran memori komputer. Selanjutnya floating point, class ini mempunyai maksimal  15 digit di belakang koma. jika lebih hanya 15 digit hanya 15 digit pertama saja yang digunakan (0.123456789012345**6789** akan menjadi 0.123456789012345**68**). untuk complex type bditulis dalam bentuk x+ yj, untuk lebih jelasnya tentang komplex type teman-taman dapat mencarinya di internet.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/y5atbwypi0fiycvcaull.png)

contoh sederhanyanya seperti :

```python
a = 12
b = 3
c = 3.14 + 2.73j

a + b # penambahan
b - a # pengurangan
a // b # pembagian integer, menghasilkan sisa (misal 13 div 3 = 1)
a / b # pembagian, menghasilkan bilangan real/float
a * b # perkalian
b ** a # pangkat

c.real # real part
c.imag # imaginary part

```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/kwvavx2n0rjg3im6fmir.png)

Untuk mengetahui tipe data yang digunakan  kita bisa menggunakan funsi `type()` (catatan, fungsi ini mirip seperti fungsi isinstance()).

```python
a = 10
b = 0.1234567890123456989 
c = 3.14 + 2.73j

print(a, "adalah", type(a))
print(b, "adalah", type(b))
print (c, "adalah", type(c))
print(c, "apakah merupakan complex number ?", isinstance(1+2j,complex))
```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/4bt75st15jepyenxj5fz.png)

#### Text

Untuk mengolah text kita menggunakan String, yang termasuk dalam immutable object, defenisi dari string adalah urutan dari karakter unicode. Untuk mendeklarasikan string kita bisa menggunakan ' ' (single quote), " " (double quotes). untuk baris yang panjang kita juga dapat menggunakan triple quote ("""  """ atau '''  '''). 

```
s = "tipe string pertama"
print(s)
s = '''string beberapa baris
baris kedua
baris ketiga'''
print(s)
```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/138wpg84vtqreiculf48.png)

Meskipun string termasuk immutable object, tetapi string mempunyai sebuah fungsi yang mirip seperti tuple dan list, string dapat di potong  menggunaka operator [], contohnya :

```python
s = "tipe string pertama"

print(s)
print("s[5] = ", s[5]) # diawali dgn [0]
print("s[5:11] = ", s[5:11]) # (n:n-1)
```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/y6kz4v5slxl1z3lqw2e2.png)



#### Python Collections (Arrays)

Dalam python terdapat 4 tipe data yang digunakan untuk membangun collection/array, yaitu :

- List
- Tuple
- Set
- Dictionary

#### List

List merupakan mutable object yang berisi urutan dari object reference yang dapat diakses menggunakan urutan dari penempatan objectnya. List merupakan datatype yang sering digunakan dalam python. untuk mendelarasikan list kita menggunakan kurung kotak [], contohnya seperti dibawah

```
a = [1, 2, 'string', 4.5]
```

untuk menggunakanya kita menggunakan slicing operator (operator pemotong) [], dan seperti sting indexnya dimulai dari 0.

```python
a = [5,10,15,20,25,30,35,40]


print("a[2] = ", a[2])
print("a[0:3] = ", a[0:3])

a[5] = 35 
print("a[5:] = ", a[5:])
```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bswis91lkbxup2laqf81.png)

#### Tuple

Taple mempunyai fungsi yang sama seperti list, hanya saja tuple merupakan immutable object, artinya sekali tuple di buat tidak dapat di ubah kembali. Umumnya tuple digunakan untuk  data yang diharapkan write-protect, tuple juga lebih cepat dibandingkan list. untuk mendeklarasikan tupel kita menggunakan ()  tanda kurung.

```python
t = (1, 'dua', 3.1)

print("t[1] = ", t[1])
print("t[0:3] = ", t[0:3])

l = [1, 'dua', 3.1]

l[0] = 'satu'
print(l)
# menghasilkan error karena tuple immutable
t[0] = 10
print(t)
```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/mwjdkj9syxdusanzu9b2.png)

dari image di atas dapat dilihat tuple merupakan immutable object, maka jika kita mencoba isi dari tuple maka akan terjadi error.

#### Set

Set adalah object mutable, fungsinya hampir mirip dengan list dan tuple yaitu untuk membuat unordered colection, hanya saja set tidak memiliki order dan itemnya harus unik. set dibentuk menggunakan operator {} kurung kurawal. Sekarang contoh dari set dari sample code berikut

```python
a = {9,2,3,1,4}
b = {9,2,3,1,4,1,2,3}

print("a = ", a)
print("b = ", b)
print(2 in thisset)
print(type(a))

print(a[2]) # error karena set tidak memiliki index
```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ccw8s6lb0z461z4cq330.png)



#### Dictionary

Datatype terkhir yang termasuk collection adalah dictionary. Sama seperti set dictionary merupakan unorder collection, dalam deklarasinya dictionary juga mirip seperti set menggunakan {} kurung kurawal untuk mendeklarasikannya. Tetapi item dalam dictionary dapat dikenal dengan Key-value pair ( `key:value`). Perbedaan lainya dari set, dictionary merupakan muttable objects. Dictionary sendiri sangat efektif digunakan untuk data yang sangat besar (juka kita menggunakan python framework, kita akan sering menemukan tipedata ini).  contoh dari Dictionary dapat kita lihat dari potongan kode berikut

```python
dic = {1:'Nilai','Kunci':2}
print(type(dic))

print("d[1] = ", dic[1]);

print("dic['Kunci'] = ", dic['Kunci']);

# Generates error
print("dic[2] = ", dic[2]);
```

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/w76hwxjmuludy07ofatj.png)