Struktur Data Python
Struktur Data Python
Python termasuk bahasa pemrograman yang sangat minimalis. Kita tidak butuh membuat struktur program apapun.
Ini sering dijadikan "meme" di internet untuk menunjukkan betapa mudahnya membuat kode program dalam bahasa
Python.
Sebagai contoh, berikut kode program dalam bahasa C untuk menampilkan teks "Hello World":
1 #include <stdio.h>
2 int main(void)
3 {
4 printf("Hello World");
5 return 0;
6 }
Berikut kode program dalam bahasa Pascal untuk menampilkan teks "Hello World":
1 program hello_world;
2 begin
3 writeln('Hello World');
4 readln;
5 end.
Dan berikut kode program dalam bahasa Python untuk menampilkan teks "Hello World":
1 print("Hello World")
Yup, hanya satu baris saja. Dan dari kode program ini bisa disimpulkan bahwa print adalah perintah Python untuk
menampilkan teks ke layar. Sangat sederhana.
Statement Terminator
Selain tidak butuh struktur dasar, bahasa Python juga tidak perlu tanda titik koma ( ; ) di akhir setiap perintah
sebagaimana yang sering ditemukan dalam bahasa pemrograman lain.
Secara teknis, Python menggunakan karakter new line sebagai pemisah perintah. Karakter newline ini tidak lain adalah
penanda pindah baris yang kita buat dengan cara menekan tombol Enter. Berikut contoh kode program Python
dengan 4 baris perintah:
1 print("Hello World")
2 web="Duniailkom"
3 print("Sedang belajar bahasa Python di "+web)
4 print("Semangat!!")
Selama tiap perintah berada dalam baris yang berlainan, itu sudah cukup.
Meskipun begitu, Python tidak protes seandainya kita tetap ingin menambah tanda titik dua di akhir setiap perintah:
1 print("Hello World");
2 web="Duniailkom";
3 print("Sedang belajar bahasa Python di "+web);
4 print("Semangat!!");
Tanda titik koma ini menjadi harus ditulis jika kita ingin menulis beberapa perintah dalam 1 baris kode program:
1 print("Hello World"); web="Duniailkom";
2 print("Sedang belajar bahasa Python di "+web); print("Semangat!!");
3 print('5+5');
Namun penulisan seperti ini tidak disarankan karena susah bagi kita untuk membacanya. Sebaiknya tempatkan 1
perintah dalam satu baris saja.
Maksud dari kode program ini boleh diabaikan terlebih dahulu karena akan kita bahas secara bertahap dalam tutorial-
tutorial berikutnya.
Tetapi perhatikan spasi di awal baris mulai dari baris ke 2 sampai ke 4. Inilah yang disebut dengan indentasi. Dalam
bahasa pemrograman lain, indentasi ini hanya sebatas "pemanis" untuk mempermudah pembacaan kode program,
tanpa tambahan spasi di awal pun kode program tetap berjalan sebagaimana mestinya.
Namun dalam bahasa Python, spasi di awal baris memiliki makna untuk membuat blok kode program. Jika indentasi di
hapus, kode Python bisa menghasilkan error.
Kode diatas menghasilkan error karena saya menghapus spasi di awal baris kedua.
Lebih jauh tentang indentasi dan blok kode program akan kita bahas pada saat masuk ke kondisi if dan perulangan.
Untuk saat ini yang perlu dipahami adalah, spasi di awal kode program sangat penting di dalam Python.
Comments
Dalam programming, comments atau baris komentar adalah istilah untuk menyebut keterangan tambahan. Comment
ini ibarat notes atau catatan yang biasa dipakai untuk menulis maksud dari kode tersebut. Comment tidak akan
diproses oleh interpreter Python.
Untuk project yang besar dan melibatkan banyak programmer, comment akan mempermudah programmer lain untuk
memahami maksud dari kode yang kita tulis.
Untuk membuat comment di dalam Python, awali sebuah baris dengan tanda hash atau tanda pagar ( # ), seperti
contoh berikut:
1 # ini adalah baris komentar
2 # kode program dibawah akan menampilkan angka 0 sampai 4
3 for x in range(0, 5):
4 print (x) # komentar juga bisa ditulis disini
Terlihat di baris 4 bahwa comment juga bisa berada di pertengahan baris. Mulai dari karakter hash hingga akhir baris
tidak akan diproses oleh interpreter Python.
Pengertian Tipe Data String
Tipe data string adalah tipe data untuk menampung data teks, seperti "SMA KANISIUS", "Indonesia",
atau "Saya sedang belajar bahasa Python".
Bahasa Python tidak membatasi jumlah karakter yang ada di dalam string, tapi lebih ke batasan maksimum
memory. Jika kita menggunakan interpreter Python 32-bit maksimum karakter adalah sekitar 2 atau 3 milyar
karakter (2 – 3GB). Jika menggunakan interpreter Python 64-bit, maka maksimum jumlah karakter menjadi
sekitar 63 milyar (63GB). Batasan ini sudah lebih dari cukup.
Untuk menulis karakter khusus seperti tab atau pindah baris, bisa menggunakan escape character, yakni
karakter backslash ( \ ) dan diikuti dengan satu karakter khusus. Sebagai contoh, untuk menulis karakter 'tab'
bisa dipakai \t, dan untuk membuat karakter new line (pindah baris) bisa menggunakan tanda \n:
1
foo = "Teks ini akan dipecah\nke dalam 2 baris"
2print(foo)
3foo = 'Teks ini\nakan dipecah\nke dalam 3 baris'
4print(foo)
Cara pembuatan string menggunakan 3 kali tanda kutip dipakai untuk membuat multiline string, dimana
teks yang diinput bisa tersambung ke beberapa baris
1foo = '''Teks ini
2akan dipecah
3ke dalam 3 baris'''
4print(foo)
Hasil kode program Python:
1Teks ini
2akan dipecah
3ke dalam 3 baris
1 foo = 100
2 bar = 30.23
3 baz = 4j
4
5 print(foo)
6 print(bar)
7 print(baz)
Hasil kode program python:
1 100
2 30.23
3 4j
Untuk memeriksa tipe data dari sebuah variabel, terdapat function type() bawaan Python. Berikut
contoh penggunaannya:
1foo = 100
2bar = 30.23
3baz = 4j
4
5print(type(foo))
6print(type(bar))
7print(type(baz))
Hasil kode program python:
1 <class 'int'>
2 <class 'float'>
3 <class 'complex'>
Dari hasil ini bisa terlihat bahwa variabel foo yang berisi angka 100 merupakan tipe data int.
Variabel bar yang berisi angka 30.23 merupakan tipe data float, dan variabel baz yang diisi dengan
angka 4j merupakan tipe data complex.
1 300.0
2 0.03
3 134000.0
Perhatikan isi variabel foo. Disana saya menginput angka 3e2 yang berarti 3 x 102 atau angka 300.
Meskipun 300 ini terlihat seperti integer, namun karena ditulis menggunakan notasi ilmiah, maka akan
dianggap sebagai tipe data float, yakni 300.0.
Pengertian Tipe Data Boolean Python
Tipe data boolean sebenarnya sangat simple. Tipe data ini hanya bisa diisi dengan salah satu dari 2
nilai: True atau False. Tipe data boolean banyak dipakai untuk percabangan kode program atau untuk
memutuskan apa yang mesti dijalankan ketika sebuah kondisi terjadi.
Sebagai contoh, kita bisa membuat kode program untuk menentukan apakah sebuah angka genap atau
ganjil berdasarkan input dari pengguna. Untuk keperluan ini kita harus mengecek terlebih dahulu apakah
angka tersebut bisa dibagi 2 (untuk angka genap), atau tidak bisa dibagi 2 (untuk angka ganjil). Tipe data
boolean bisa dipakai untuk menampung kondisi seperti ini, yakni benar atau salah (True atau False).
Penggunaan tipe data boolean ini akan lebih jelas saat kita masuk ke kondisi percabangan program seperti
IF (yang akan dibahas pada tutorial terpisah).
1 True
2 False
Dalam kode program diatas, saya menginput nilai boolean True ke dalam variabel foo dan nilai
boolean False ke dalam variabel bar.
Yang juga harus diperhatikan adalah penulisan huruf besar atau kecil. Dalam bahasa Python, penulisannya
harus persis seperti itu, jika diinput sebagai true atau TRUE, akan menghasilkan error:
1foo = true
2print(foo)
Hasil kode program python:
1 foo = 12 < 10
2 print(foo)
3 foo = 12 > 10
4 print(foo)
5 foo = "A" == "a"
6 print(foo)
Hasil kode program python:
1 False
2 True
3 False
Di baris pertama, saya menyimpan hasil operasi perbandingan 12 < 10 ke dalam variabel foo. Apakah 12 <
10? Salah. Sehingga nilai variabel foo akan berisi boolean False.
Di baris ketiga, operasi perbandingannya di balik, yakni apakah 12 > 10? Benar. Sehingga nilai
variabel foo akan berisi boolean True.
Terakhir di baris kelima operasi perbandingannya adalah apakah "A" sama dengan "a". Disini saya
membandingkan antara dua buah string, namun karena "A" tidak sama dengan "a", maka variabel foo akan
berisi boolean False.
Hasil boolean dari operasi perbandingan ini juga bisa didapat tanpa harus menyimpannya ke dalam
variabel, seperti contoh berikut:
1 print(12 < 10)
2 print(12 > 10)
3 print("A" == "a")
Hasil kode program python:
1 False
2 True
3 False
Operasi perbandingan yang dipakai masih sama seperti sebelumnya, hanya saja kali ini langsung saya input
ke dalam perintah print.
Lebih jauh lagi, metode perbandingan seperti ini sangat sering dipakai dalam struktur logika IF seperti
contoh berikut:
1 a = 12
2 b = 10
3 if (a < b):
4 print("Isi variabel a lebih kecil daripada variabel b")
5 elif (a > b):
6 print("Isi variabel a lebih besar daripada variabel b")
7 else:
8 print("Isi variabel a sama dengan variabel b")
Hasil kode program python:
1<class 'list'>
2<class 'list'>
3<class 'list'>
Yup, semuanya adalah List.
1Python
2200
36.99
4True
5Duniailkom
699j
Di baris 1 saya membuat variabel foo dan mengisinya dengan List yang terdiri dari 6 anggota.
Untuk mengakses anggota ke 4, perintahnya adalah print(foo[3]).
Pilihan lain, Python menyediakan cara untuk menampilkan beberapa anggota List sekaligus.
Berikut prakteknya:
1<class 'list'>
2<class 'tuple'>
Dalam kode program diatas baris 1 adalah cara pembuatan tipe data List, sedangkan baris 3
adalah cara pembuatan tipe data Tuple.
1Python
2200
36.99
4(6.99, True, 'Duniailkom')
5('Python', 200, 6.99)
6(True, 'Duniailkom', 99j)
7('Python', 200, 6.99, True, 'Duniailkom', 99j)
Cara Mengganti Nilai Tipe Data Tuple Python
Seperti yang dijelaskan sebelumnya, anggota dari tipe data Tuple tidak bisa
diubah atau diganti setelah di definisikan. Benarkah demikian? mari kita coba:
1foo = ("Python", 200, 6.99, True, 'Duniailkom', 99j)
2foo[0] = 'Belajar'
3print(foo)
Hasil kode program python:
Note: Selain Python, bahasa pemrograman lain yang juga memiliki tipe data set adalah Pascal: Pengertian
dan Cara Penggunaan Tipe Data Set Pascal.
Menggunakan function type(), kita bisa melihat perbedaan cara penulisan tipe
data list, tuple dan set dalam bahasa Python:
1foo = ["Belajar", "Python", "di", "Duniailkom"]
2print(type(foo))
3
4foo = ("Belajar", "Python", "di", "Duniailkom")
5print(type(foo))
6
7foo = {"Belajar", "Python", "di", "Duniailkom"}
8print(type(foo))
Hasil kode program python:
1<class 'list'>
2<class 'tuple'>
3<class 'set'>
Pada kode program diatas, baris 1 adalah cara pembuatan tipe data list, baris 4 pembuatan tipe
data tuple, dan baris 7 adalah cara pembuatan tipe data set.
1foo = {1, 2, 3, 4, 5}
2bar = {3, 4, 5, 6, 7}
3
4print (foo | bar) # union
5print (foo & bar) # intersection
Hasil kode program python:
1{1, 2, 3, 4, 5, 6, 7}
2{3, 4, 5}
Dalam contoh di atas, perintah foo | bar adalah operasi gabungan himpunan. Hasilnya, seluruh
anggota himpunan yang ada di variabel foo digabung dengan seluruh anggota dalam variabel bar,
anggota yang ada di kedua himpunan hanya akan ditampilkan 1 kali.
Perintah foo & bar adalah operasi irisan himpunan. Hasilnya adalah seluruh anggota yang terdapat
di variabel foo dan juga ada di variabel bar (harus ada di kedua variabel).