Bahasa python 6

 



Pengenalan Dasar Python dan Persiapan Awal 

Apa itu Python? 

Python merupakan bahasa pemrograman tingkat tinggi yang diracik oleh Guido van Rossum. 

Python  banyak  dipakai   untuk  membuat  berbagai  macam  program,  seperti:  program 

CLI, Program GUI  (desktop), Aplikasi Mobile, Web,  IoT, Game, Program untuk Hacking, dsb. 

Python  juga  dikenal  dengan  bahasa  pemrograman  yang mudah  dipelajari,  sebab   struktur 

sintaknya  rapi  dan  mudah  dipahami.  (Python  bagus  untuk  pemula  yang  belum 

pernah coding) 

Kenapa belajar Python? 

Pernah melihat meme ini? 

 


 

Python memang sangat sederhana dibandingkan bahasa yang lainnya. Tidak perlu ini dan itu 

untuk  membuat  program Hello World!.  Bahkan  tagline  di  websitenya  menjelaskan,  kalau 

python  akan  membuatmu  bekerja  lebih  cepat  dan  efektif.  Python  is  a  programming 

language that lets you work quickly and integrate systems more effectively. 

Jadi kenapa belajar Python? 

1. Cepat dan efektif; 

2. Mudah dipelajari; 

3. Banyak dipakai  di perusahaan besar; 

4. Sekedar ingin tahu saja. 

5. …(tambahkan sendiri) 

Persiapan Alat untuk Belajar Pemrograman Python 

Apa saja alat‐alat yang harus dipersiapkan untuk belajar pemrograman python? 

1. Python: Interpreter yang menerjemahkan bahasa python ke bahasa mesin, sehingga 

program bisa dijalankan. 

2. Teks Editor/IDE: Program yang dipakai  untuk menulis kode. 

Bagaiaman cara install Python? 

Bagi pengguna Linux, Python tidak perlu diinstal. sebab  Sebagian besar distro Linux sudah 

menyediakannya secara default.  

Untuk mengeceknya, silahkan ketik perintah python ‐‐version di terminal. 

$ python --version 

Python 2.7.12 

Python Versi 2 vs Python Versi 3 

Ada dua versi Python yang beredar saat ini, yaitu versi 2 dan 3. 

Apa perbedaanya? 

Python versi 2 merupakan versi yang banyak dipakai  saat ini, baik dilingkungan produksi 

dan pengembangan. Sementara Python versi 3 yaitu  pengembangan lanjutan dari versi 2. 

Python 3 memiliki lebih banyak fitur dibandingkan Python 2. Untuk membuka Python 2 kita 


 

hanya  memakai   perintah python saja,  sedang   Python  3  memakai  

perintah python3. 

 

Manakah yang harus saya pilih? 

Untuk yang baru belajar saya sarankan memakai  versi 2. Sementara untuk yang sudah 

mahir, bisa mencoba yang versi 3. 

Siapkan Teks Editor/IDE untuk Menulis Kode 

Teks editor yang dipakai  untuk menulis program python bisa apa saja. Bahkan Notepad 

pun bisa. 

Mengenal Mode Interaktif Python 

Mode  interaktif  merupakan  fasilitas/fitur  yang  disediakan  oleh  Python  sebagai  tempat 

menulis kode secara interaktif. Fitur ini dikenal juga dengan Shell, Console, REPL (Read–Eval–

Print  Loop),  interpreter,  dsb.  Cara  membuka  mode  interaktif  yaitu   dengan  mengetik 

perintah python pada terminal. 

 

 

untuk keluar dari mode interaktif tekan Ctrl+d atau ketik perintah exit(). 

Tanda >>>, artinya python siap menerima perintah. 

Terdapat  juga  tanda ... yang  berarti secondary  prompt atau sub  prompt,  biasanya  muncul 

saat membuat blok kode dan menulis perintah tunggal dalam beberapa baris. Mari kita coba 

memberikan  perintah print,  perintah  ini  berfungsi  untuk  mencetak  teks  ke  layar.  Cobalah 

tulis print "Hello World" kemudian tekan Enter. 


 

Perintah yang kita tulis langsung dieksekusi dan ditampilkan hasilnya. 

Inilah mode  interaktif,  setiap kode atau perintah yang diketik akan direspon  langsung oleh 

python. 

Kita bisa memanfaatkan mode interaktif ini untuk: 

  Uji coba suatu fungsi; 

  Eksperimen modul tertentu; 

  Kalkulator; 

  Mencari bantuan tentang fungsi tertentu; 

  dll. 

Hal  yang  perlu  kita  coba  yaitu   mencari  bantuan  tentang  fungsi  tertentu,  sebab   akan 

membantu sekali dalam mempelajari python. 

Ada dua fungsi yang dipakai  untuk mencari bantuan: 

1. fungsi dir() untuk melihat fungsi apa saja yang tersedia pada sebuah modul; 

2. fungsi help() untuk membuka dokumentasi suatu fungsi. 

Sebagai contoh, kita akan coba mencari tahu tentang penggunaan modul math. 

Pertama kita impor dulu modulnya ke mode interaktif: 

>>> import math 

sesudah  itu kita bisa melihat-lihat, fungsi apa saja yang tersedia di modul tersebut. 

>>> dir(math) 

 

['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 

'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 

'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 

'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 

'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 

'sqrt', 'tan', 'tanh', 'trunc'] 

Lalu, kita bisa cari tahu cara penggunaan fungsi‐fungsi tersebut dengan help(). Misalkan kita 

ingin  cari  tahu  cara  penggunaan  fungsi pow(),  maka  kita  harus  memberikan 

perintah help(math.pow). 

Help on built-in function pow in module math: 

pow(...) 

    pow(x, y) 

    Return x**y (x to the power of y). 

(END) 

*untuk keluar dari dokumentasi tekan q 

sesudah  itu, baru kita bisa pakai dan coba fungsinya. 

 

Menulis Skrip Python 

 

Program yang kita tulis dalam mode interaktif tidak akan disimpan. sesudah  mode interaktif 

ditutup, program akan hilang. sebab   itu, kita harus membuat skrip. Silahkan gunakan teks 

editor untuk menulis skrip seperti di bawah ini. 

 

 

 

sesudah  itu simpan dengan nama hello_world.py 

 

 

Kemudian untuk menjalankan skripnya, gunakan perintah berikut: 

 

python nama_skrip.py 

Pastikan mengetik perintah tersebut pada direktori tempat menyimpan skripnya. 

 

 

Alur Kerja Pembuatan Program Python 

 

 

1. Membuat skrip python dengan teks editor. 

 

2. Skrip python diterjemahkan ke dalam kode biner oleh (intepreter) python, sehingga 

komputer dapat mengerti arti perintah tersebut. 

3. Komputer mengerjakan perintah tersebut. 

Paham…? 

Sampai tahap ini, kita sudah tahu cara membuat program Python. 

Selanjutnya, kita akan belajar cara membuat program Python memakai  IDE PyCharm. 

Pemrograman Python memakai  PyCharm 

PyCharm  merupakan  IDE  terbaik  untuk  pemrograman  python.  PyCharm  dibuat  oleh 

JetBrains. 

Ada dua versi PyCharm: 

1. Versi  Profesional  (Trial 30  hari)  –  Memiliki  fitur  lebih  banyak  untuk  pemrograman 

python dan web. 

2. Versi  Komunitas  (Gratis  dan opensource)  –  Fiturnya  standar  untuk  pemrograman 

python. 

Pada panduan ini, kita akan memakai  PyCharm versi Komunitas. 

Instalasi PyCharm di Linux 

Pertama, pastikan komputermu sudah terinstal JDK (Java Development Kit) atau JRE. sebab  

PyCharm terbuat dari Java dan dia membutuhkan JRE untuk berjalan. 

 

Pastikan men-download yang versi komunitas. 

 

sesudah  itu, ikuti langkah-langkah berikut untuk menginstalnya: 

1. Buka File manager sebagai root. 

 

2. Cari File PyCharm yang sudah didownload tadi, kemudian ekstrak ke direktori /opt. 

 

Pada  gambar  di  atas,  Saya  memakai  F3 untuk  memecah  tampilan  (tergantung 

dari file manager yang kamu gunakan). 

10 

 

3. Buka  kembali  File Manager  sebagai  user  biasa.  Kemudian masuk  ke /opt/pycharm‐

community‐2017.1.2/bin dan klik ganda pada file pycharm.sh, lalu pilih run. 

 

4. Tunguglah sebentar, maka akan terbuka jendela baru. Pilih Don not import settings, 

kemudian klik OK. 

 

 

5. Jendela  sambutan  akan  terbuka,  silahkan  centang “Enable  opening  file…” agar 

perintah charm dikenali di terminal. sesudah  itu klik Ok. 

11 

 

 

Masukkan Password bila diminta, sesudah  itu klik OK.  Selesai… 

Coba periksa di menu, apakah sudah ada PyCharm atau tidak? 

 

 

 

 

 

 

  

 

Membuat Proyek Python di PyCharm 

Untuk membuat proyek baru, kita bisa klik “Create new Project” pada jendela 

sambutan (welcome) PyCharm. 

 

Atau bisa juga dilakukan melalui menu File‐>New Project. 

sesudah  itu, kita akan diminta untuk mengisi nama proyeknya dan memilih versi Python yang 

akan dipakai . 

Isi saja nama proyeknya dengan hello‐world dan gunakan Python versi 2 (python2.7). 

 

 

 

Maka kita akan langsung di bawah ke area kerja PyCharm. 

 

Selanjutnya,  silahkan  tambahkan  file  python  dengan  klik  kanan  pada  direktori  proyek, 

kemudian pilih New‐>Python File. 

 

 

sesudah  itu, berikan nama filenya dengan program‐pertama dan klik Ok. 

 

 

 

Selanjutnya, silahkan tulis kode program-nya. 

 print "Hello dunia" 

 print "Selamat datang di pemrograman Python" 

 print "Saya belajar Python dengan PyCharm" 

 print "Salam, Abhiyasa" 

 

Kemudian buka menu Run->Run… atau tekan tombol Alt+Shift+F10. Kalau 

muncul pilihan, pilih saja program‐pertama. 

 

 

  

Aturan Penulisan Sintaks Python yang Harus dipatuhi 

 

Mepelajari aturan‐aturan penulisan sintaks Python yang harus dipatuhi.  

“Bagaimana kalau tidak dipathui?” RESIKO ERROR 

1. Penulisan Statement Python 

Statement  yaitu   sebuah  intruksi  atau  kalimat  perintah  yang  akan  dieksekusi  oleh 

komputer. 

Contoh: 

  print("Hello World!") 

  print("Belajar Python dari Nol") 

  nama = "Abhiyasa" 

Penulisan satu statement tidak diakhiri dengan tanda titik‐koma. 

sedang ,  bila  kita  ingin  menulis  lebih  dari  satu  statement  dalam  satu  baris,  maka  kita 

harus memisahnya dengan titik‐koma. 

Contoh: 

  print("Hello"); print("World"); print("Tutorial Python untuk Pemula") 

  nama_depan = "petani"; nama_belakang = "kode" 

Tapi… 

Menurut  beberapa style  guide python,  tidak  dianjurkan menulis  lebih  dari  satu  statement 

dalam satu baris. sebab  akan sulit dibaca. 

 

2. Penulisan String pada Python 

String yaitu  teks atau kumpulan dari karakter. String dalam pemrograman biasanya ditulis 

dengan  dibungkus  memakai   tanda  petik.  Bisa  memakai   tanda  petik  tunggal 

maupun ganda. 

 

Contoh: 

  judul = "Belajar Pemrograman Python sampai Bisa" 

  penulis = 'Abhiyasa' 

Atau kita juga bisa memakai  triple tanda petik. 

Contoh: 

  judul = """Belajar Python dengan Cepat""" 

  penulis = '''Abhiyasa''' 

3. Penuilsan Case pada Python 

Sintak Python bersifat case sensitive, artinya teksini dengan TeksIni dibedakan. 

Contoh: 

  judul = "Belajar Dasa‐dasar Python" 

  Judul = "Belajar Membuat Program Python" 

Antara variabel judul dengan Judul itu dibedakan… 

Case Style 

Menurut rekomendasi style guide Google, berikut ini contoh penulisan case yang disarankan: 

  ## Snake Case dipakai  pada: 

module_name,  package_name,  method_name,  function_name,  ,  global_var_name,  instance_var_name, 

function_parameter_name, local_var_name. 

 

  ## CamelCase dipakai  Pada: 

ClassName, ExceptionName 

 

  ## ALL CAPS dipakai  Pada: 

GLOBAL_CONSTANT_NAME 

 

4. Penulisan Blok Program Python 

Blok program yaitu  kumpulan dari beberpaa statement yang digabungkan dalam satu blok. 

Penulisan blok program harus ditambahkan indentasi (tab atau spasi 2x/4x). 


 

 

 Contoh yang benar: 

  # blok percabangan if 

  username='Abhiyasa' 

  if username == 'Abhiyasa': 

      print("Selamat Datang Admin") 

      print("Silahkan ambil tempat duduk") 

 

  # blok percabangan for 

  for i in range(10): 

      print i 

 Contoh yang salah: 

  # blok percabangan if 

  username='Abhiyasa' 

  if username == 'Abhiyasa': 

  print("Selamat Datang Admin") 

  print("Silahkan ambil tempat duduk") 

 

  # blok percabangan for 

  for i in range(10): 

  print i 

18 

 

5. Cara Penulisan Komentar pada Python 

Komentar  merupakan  baris  kode  yang  tidak  akan  dieksekusi.  Komentar  dipakai   untuk 

memberikan  informasi  tambahan  dan  untuk  menonaktifkan  kode.  Ada  beberapa  cara 

menulis komentar pada pemrograman Python. 

memakai  Tanda Pagar (#) 

Cara pertama memakai  tanda pagar (#). 

Cara ini paling sering dipakai . 

Contohnya: 

  # ini yaitu  komentar 

  # Ini juga komentar 

memakai  Tanda Petik 

Selain  untuk  mengapit  teks  (string),  tanda  petik  juga  dapat  dipakai   untuk  membuat 

komentar. 

Contoh: 

  "Ini yaitu  komentar dengan tanda petik ganda" 

  'Ini juga komentar, tapi dengan tanda petik tunggal' 

Penulisan komentar dengan tanda petik jarang dipakai , kebanyakan orang lebih memilih 

untuk memakai  tanda pagar. Jadi…tidak direkomendasikan. 

memakai  Triple Tanda Petik 

sedang  triple tanda petik, sering dipakai  untuk menuliskan dokumentasi. 

Contohnya: 

  class Pagar: 

  """kelas pagar untuk membuat objek pagar. Dibuat oleh Abhiyasa sebagai contoh saja.""" 

      def __init__(self, warna, tinggi, bahan): 

          self.warna = warna 

          self.tinggi = tinggi 

           self.bahan = bahan 

 


 

  # Mengakses dokumentasi kelas 

  print Pagar.__doc__ 

  input('\ntekan [enter] untuk melihat bantuan (dokumentasi) kelas: ') 

  help(Pagar) # untuk melihat dokumentasi kelas_ 

Hasilnya: 

  $ python kelas_pagar.py 

  kelas pagar untuk membuat objek pagar. 

  dibuat oleh Abhiyasa 

  sebagai contoh saja. 

 

  tekan [enter] untuk melihat bantuan (dokumentasi) kelas: 

sesudah  Enter ditekan 

  Help on class Pagar in module main: 

  class Pagar 

  | kelas pagar untuk membuat objek pagar. 

  | dibuat oleh Abhiyasa 

  | sebagai contoh saja. 

  | 

  | Methods defined here: 

  | 

  | __init__(self, warna, tinggi, bahan) 

  (END) 

 

 

 

Mengenal Variabel dan Tipe Data dalam Python 

 

Pada  kesempatan  ini  kita  akan  mempelajari  tentang  variabel  dan  tipe  data  pada  Python. 

Pastikan sebelumnya sudah mengetahui cara membuat skrip atau program python. 

 

Pengertian Variabel dan Tipe Data 

Variabel merupakan  tempat menyimpan data,  sedang   tipe data  yaitu   jenis  data  yang 

terseimpan dalam variabel. 

 

Variabel bersifat mutable, artinya nilainya bisa berubah‐ubah. 

 

Membuat Variabel di Python 

Variabel di python dapat dibuat dengan format seperti ini: 

  nama_variabel = <nilai> 

Contoh: 

  variabel_ku = "ini isi variabel" 

  variabel2 = 20 

Kemudian untuk melihat isi variabel, kita dapat memakai  fungsi print. 

21 

 

  print (variabel_ku) 

  print (variabel2) 

ATURAN PENULISAN VARIABLE 

1. Nama  variabel  boleh  diawali  memakai   huruf  atau  garis  bawah  (_), 

contoh: nama, _nama, namaKu, nama_variabel. 

2. Karakter  selanjutnya  dapat  berupa  huruf,  garis  bawah  (_)  atau  angka, 

contoh: __nama, n2, nilai1. 

3. Karakter  pada  nama  variabel  bersifat  sensitif  (case‐sensitif).  Artinya  huruf  besar  dan  kecil 

dibedakan. Misalnya, variabel_Ku dan variabel_ku, keduanya yaitu  variabel yang berbeda. 

4. Nama  variabel  tidak  boleh  memakai   kata  kunci  yang  sudah  ada  dalam  python 

seperti if, while, for, dsb. 

Menghapus Variabel 

Ketika sebuah variabel tidak dibutuhkan lagi, maka kita bisa menghapusnya dengan 

fungsi del(). 

Contoh: 

  >>> nama = "Abhiyasa" 

  >>> print (nama) 

  Abhiyasa 

  >>> del(nama) 

  >>> print (nama) 

  Traceback (most recent call last): 

    File "<stdin>", line 1, in <module> 

  NameError: name 'nama' is not defined 

  >>> 

Pada perintah terakhir, kita akan mandapatkan NameError. Artinya variabel tidak ada di dalam 

memori alias sudah dihapus. 

Tipe data 

Cara  mengisi  nilai  variabel  ditentukan  dengan  jenis  datanya,  misalkan  untuk  tipe  data 

teks (string) maka  harus  diapit  dengan  tanda  petik  ("...").  sedang   untuk 

angka (integer) dan boolean tidak perlu diapit dengan tanda petik. 

22 

 

Contoh: 

  nama_ku = "Abhiyasa" 

  umur = 20 

  tinggi = 183.22 

Python akan seara otomatis mengenali jenis data atau tipe data yang tersimpan dalam 

sebuah variabel. 

Untuk memeriksa tipe data pada suatu variabel, kita bisa memakai  fungsi type(). 

Contoh: 

  >>> usia = 20 

  >>> type(usia) 

  <type 'int'> 

  >>> usia = "20" 

  >>> type(usia) 

  <type 'str'> 

  >>> usia = '20' 

  >>> type(usia) 

  <type 'str'> 

  >>> usia = 20.5 

  >>> type(usia) 

  <type 'float'> 

  >>> usia = true 

  Traceback (most recent call last): 

  File "<stdin>", line 1, in <module> 

  NameError: name 'true' is not defined 

  >>> usia = True 

  >>> type(usia) 

  <type 'bool'> 

Jenis‐jenis Tipe Data 

Secara umum, tipe data primitif dalam python dibagi menjadi tiga jenis: 

1. Tipe data angka 

2. Tipe data teks 

3. Tipe data boolan 

23 

 

Mari kita bahas satu per satu… 

 

1. Tipe Data Angka 

Tipe data angka dibagi menjadi beberapa jenis lagi: 

1. int (Integer): bilangan bulat, contoh 32, 22, 12, 10, dsb. 

2. float: bilangan pecahan, contoh 1.3, 4.2, 22.3, dsb. 

Contoh: 

  harga = 12000 #tipe int 

  berat = 23.12 #float 

  jarak = 3e3 #float 3000.0, huruf e artinya eksponen 10 

2. Tipe Data Teks 

Tipe data teks dibagi menjadi dua jenis lagi: 

1. Char: Karakter, contoh 'R'. 

2. String: Kumpulan karakter, contoh "aku lagi makan". 

Penulisan tipe data teks harus diapit dengan tanda petik. Bisa memakai  petik tunggal 

('...'), ganda ("..."), dan tiga ('''...''' atau """..."""). 

Contoh: 

  nama = "Ivan" 

  jenis_kelamin = 'L' 

  alamat = """ 

      Jl. Suka Karya, No 32. RT Kode, 

      Kelurahan Mawar, Jakarta 

  """ 

  agama = 'islam' 

3. Tipe data boolean 

Tipe data boolean yaitu  tipe data yang hanya memiliki dua nilai 

yaitu Truedan False atau 0 dan 1. 

Penulisan True dan False, huruf pertamnya harus kapital dan tanpa tanda petik. 

 

24 

 

Contoh: 

  bergerak = True 

  nyala = 1 #sebenarnya tipenya int, tapi bisa juga menjadi bool 

Contoh Program dengan memakai  Variabel dan Tipe Data 

Berikut ini contoh sederhana penerapan variabel dalam program. 

  # Program bio data penduduk desa X 

  # membuat variabel beserta isinya (nilainya) 

  nama = "Hartono" 

  alamat = 'Mataram' 

  umur = 19 

  tinggi = 170.5 

  menikah = False 

  # mencetak isi variabel 

  print ("Nama : ", nama) 

  print ("Alamat : ", alamat) 

  print ("Umur : ", umur) 

  print ("Tinggi : ", tinggi) 

  if(menikah): 

      print "Status: menikah" 

  else: 

       print "Status: belum menikah" 

Konversi Tipe Data 

Meskipun Python telah otomatis mendeteksi tipe data yang tersimpan dalam variabel, tapi 

ada kalanya kita perlu melakukan konversi tipe data. 

Misalkan, pada contoh berikut ini: 

  a = 10 

  b = 3 

  c = a / b 

  print (c) #output: 3 

Pembagian nilai a dan b menghasilkan 3 (integer). Mengapa demikian? 

25 

 

sebab  nilai a dan b bertipe integer, maka hasilnya pun berupa integer. 

Bagaimana agar hasilnya ada komanya? 

Tentu kita harus merubah tipe variabel a dan b menjadi bilangan pecahan (float) dulu, baru 

sesudah  itu dibagi. 

  a = 10 

  b = 3 

  c = float(a) / float(b) #output: 3.3333333333333335 

  print (c) 

Fungsi float() akan mengubah nilai a menjadi 10.0 dan b menjadi 3.0. 

Fungsi‐fungsi untuk mengubah tipe data: 

1. int() untuk mengubah menjadi integer; 

2. long() untuk mengubah menjadi integer panjang; 

3. float() untuk mengubah menjadi float; 

4. bool() untuk mengubah menjadi boolean; 

5. chr() untuk mengubah menjadi karakter; 

6. str() untuk mengubah menjadi string. 

7. bin() untuk mengubah menjadi bilangan Biner. 

8. hex() untuk mengubah menjadi bilangan Heksadesimal. 

9. oct() untuk mengubah menjadi bilangan okta. 



 

Mengambil Input dan Menampilkan Output 

 

Input  yaitu   masukan  yang  kita  berikan  ke  program.  Program  akan  memprosesnya  dan 

menampilkan  hasil  outputnya.  Input,  proses,  dan  output  yaitu   inti  dari  semua  program 

komputer. 

 

Cara Mengambil Input dari Keyboard 

Python  sudah  menyediakan  fungsi input() dan raw_input() untuk  mengambil  inputan  dari 

keyboard. 

Cara pakainya: 

  nama_varabel = input("Sebuah Teks") 

Artinya, teks yang kita inputkan dari keyboard akan disimpan ke dalam nama_variabel. 

Mari kita coba sebuah contoh… 

  # Mengambil input 

  nama = raw_input("Siapa nama kamu: ") 

  umur = input("Berapa umur kamu: ") 

 

  # Menampilkan output 

  print "Hello",nama,"umur kamu yaitu ",umur,"tahun" 

27 

 

Hasilnya: 

 

Apa perbedaan fungsi input() dengan raw_input()? 

Fungsi input() dipakai   untuk  mengambil  data  angka.  sedang  raw_input() untuk 

mengambil teks. 

Pada  Python3  cukup  memakai   fungsi input() saja,  sebab   fungsi raw_input() sudah 

digabungkan di sana. 

 

Cara Menampilkan Output 

Seperti  yang  kita  sudah  ketahui  pada  contoh‐contoh  sebelumnya.  Untuk  menampilkan 

output teks, kita memakai  fungsi print(). 

Contoh: 

  print "Hello World!" 

  print nama_variabel 

  print "Gabung dengan", variabel 

Menampilkan Variabel dan Teks 

Pada  contoh  di  atas  kita  memakai   tanda  koma  (,)  untuk  menggabungkan  teks  dan 

variabel yang akan ditampilkan. 

  nama = "Abhiyasa" 

  print "Hello",nama 

Hasil: 

  Hello Abhiyasa 

28 

 

Antara  kata Hello dan Abhiyasa terdapat  spasi  sebagai  pemisah,  sebab   kita  memakai  

tanda koma. Hati‐hati… Jangan ditambahkan kurung seperti ini: 

  nama = "Abhiyasa" 

  print("Hello",nama) 

sebab  akan dibaca sebagai Tuple yang akan mengahsilkan output seperti ini: 

  ('Hello', 'Abhiyasa') 

Sebaiknya jangan dikurung kalau memakai  tanda koma. 

Jika  ingin  memakai   kurung,  maka  kita  harus  menggabungkan  teks  dan  variabelnya 

dengan tanda plus (+). 

Contoh: 

  nama = "Abhiyasa" 

  print("Hello " + nama) 

Hasilnya: 

  Hello Abhiyasa 

memakai  Fungsi format() 

Fungsi format() akan menggabungkan isi variabel dengan teks. 

Contoh: 

  nama = raw_input("Nama: ") 

  print "Hello {} apa kabar?".format(nama) 

Tanda {} akan otomatis diganti sesuai dengan nilai yang kita inputkan ke variabel nama. 

Contoh lagi: 

  nama_mu = raw_input("Nama kamu: ") 

  nama_dia = raw_input("Nama dia: ") 

 

  print "{} dengan {} sepertinya pasangan yang serasi :)".format(nama_mu, nama_dia) 

29 

 

 

memakai  String Formatting Cara Lama 

Penggabungan teks dan variabel cara lama memakai  simbol persen (%). 

Contoh: 

  nama = raw_input("Inputkan nama: ") 

  print "Selamat datang %s" % nama 

Tanda %s akan otomatis diganti dengan nilai yang kita inputkan ke variabel nama. 

Contoh lagi: 

  nama = raw_input("Inputkan nama: ") 

  umur = input("Inputkan umur: ") 

  tinggi = input("Inputkan tinggi badan: ") 

 

  print "Hello %s, saat ini usiamu %d tahun dan tinggi badanmu %f cm" % (nama, umur, tinggi) 

Tanda %s untuk tipe data teks, %d untuk angka (desimal), dan %f untuk bilangan pecahan. 

 

Mengenal 6 Jenis Operator dalam Python 


 

sesudah  kita mengenal variabel dan tipe data pada Python, selanjutnya kita akan berkenalan 

dengan Operator. 

Apa itu operator? 

Operator merupakan simbol‐simbol yang dipakai  untuk melakukan operasi tertentu. 

Ada enam jenis operator dalam pemrograman yang wajib diketahui: 

1. Operator Aritmatika 

2. Operator Pembanding/Relasi 

3. Operator Penugasan 

4. Opeartor Logika 

5. Operator Bitwise 

6. Operator Ternary 

1. Operator Aritmatika 

Opeartor  aritmatika  termasuk  dalam  operator  yang  paling  sering  dipakai   dalam 

pemrograman. 

Opeartor aritmatika terdiri dari: 

Operator  Simbol

Penjumlahan  + 

Pengurangan  ‐ 

Perkalian  *

Pembagian  /

Sisa Bagi  % 

Pemangkatan  ** 

 

 

 

Contoh dalam program: 

  # file: operator_aritmatika.py 

  # Ambil input untuk mengisi nilai 

  a = input("Inputkan nilai a: ") 

31 

 

  b = input("Inputkan nilai b: ") 

 

  # memakai  operator penjumlahan 

  c = a + b 

  print ("Hasil %d + %d = %d" % (a,b,c)) 

 

  # Operator Pengurangan 

  c = a ‐ b 

  print ("Hasil %d ‐ %d = %d" % (a,b,c)) 

 

  # Operator Perkalian 

  c = a * b 

  print ("Hasil %d * %d = %d" % (a,b,c)) 

 

  # Operator Pembagian 

  c = a / b 

  print ("Hasil %d / %d = %d" % (a,b,c)) 

 

  # Operator Sisa Bagi 

  c = a % b 

  print ("Hasil %d %% %d = %d" % (a,b,c)) 

 

  # Operator Pangkat 

  c = a ** b 

  print ("Hasil %d ** %d = %d" % (a,b,c)) 

Hasilnya: 

 

Pada kode program di atas,  kita memakai  string  formatting untuk mencetak hasil dari 

masing‐masing  opearasi. Operator % selain  dipakai   untuk string  formatting,  operator  ini 

juga dipakai  untuk menghitung operasi sisa bagi. 

Misal: 5 % 2, maka hasilnya 1. sebab  sisa dari hasil bagi antara 5 dengan 2yaitu  1. 

 

2. Operator Penugasan 

Seperti namanya, operator ini dipakai  untuk memberikan tugas pada variabel. 

Misalnya: 

32 

 

  umur = 18 

Maka variabel umur telah kita berikan tugas untuk menyimpan angka 18. 

Selain  menyimpan  atau  pengisian  nilai,  ada  juga  menjumlahkan,  mengurangi,  perkalian, 

pembagian, dsb. Selengkapnya bisa dilihat di tabel berikut. 

Operator  Simbol 

Pengisian  = 

Penjumlahan  +=

Pengurangan  ‐=

Perkalian  *= 

Pembagian  /= 

Sisa Bagi  %= 

Pemangkatan  **=

Untuk lebih jelasnya, mari kita coba contohnya dalam program. 

  # file: operator_penugasan.py 

 

  # Ambil input untuk mengisi nilai 

  a = input("Inputkan nilai a: ") 

  # ^  

  # | contoh operator penugasan untuk mengisi nilai 

 

  print ("Nilai a = %d" % a) 

 

  # Coba kita jumlahkan nilai a dengan opertor penugasan 

  a += 5 

  # ^ 

  # | 

  # contoh operator penugasan untuk menjumlahkan 

 

  # sesudah  nilai a ditambah 5, coba kita lihat isinya 

  print ("Nilai sesudah  ditambah 5:") 

  print ("a = %d" % a) 

Hasilnya: 

33 

 

 

Pada awalnya kita mengisi nilai variabel a dengan 4. Kemudian dilakukan penjumlahan atau 

ditambah 5. 

  a += 5 

Penjumlahan tersebut sama maksudnya seperti ini: 

  a = a + 5 

Artinya, kita mengisi nilai variabel a dengan nilai a sebelumnya, lalu ditambah 5. 

Paham…? 

Baiklah, kalau sudah paham silahkan coba lagi untuk operator yang lainnya. 

  # Ambil input untuk mengisi nilai 

  a = input("Inputkan nilai a: ") 

 

  # tambahkan dengan 2 

  a += 2 

 

  # kurangi 3 

  a ‐= 3 

 

  # kali 10 

  a *= 10 

 

  # bagi dengan 4 

  a /= 4 

 

  # pangkat 10 

  a **= 10 

 

  # Berapakah nilai a sekarang? 

  print "Nilai a yaitu  %d" % a 

Silahkan coba inputkan nilai variabel a dengan 8 dan berapakah hasil akhirnya? 

 

 


 

3. Operator Pembanding 

Operator  ini  dipakai   untuk  membandingkan  dua  buah  nilai.  Operator  ini  juga  dikenal 

dengan operator relasi dan sering dipakai  untuk membuat sebuah logika atau kondisi. 

Opertor ini terdiri dari: 

 

Operator  Simbol 

Lebih Besar  > 

Lebih Kecil  < 

Sama Dengan  == 

Tidak Sama dengan  != 

Lebih Besar Sama dengan  >= 

Lebih Kecil Sama dengan  <= 

Contoh: 

  a = 9 

  b = 5 

  c = a < b 

Apakah isi dari variabel c? 

Isinya yaitu  False, sebab  nilai 9 lebih kecil dari 5 (9 < 5) yaitu  salah (False). 

Untuk lebih jelasnya, mari kita coba contonya dalam program. 

  # file: operator_pembanding.py 

  a = input("Inputkan nilai a: ") 

  b = input("Inputkan nilai b: ") 

 

  # apakah a sama dengan b? 

  c = a == b 

  print "Apakah %d == %d: %r" % (a,b,c) 

 

  # apakah a < b? 

  c = a < b 

  print "Apakah %d < %d: %r" % (a,b,c) 

 

  # apakah a > b? 

  c = a > b 

  print "Apakah %d > %d: %r" % (a,b,c) 

 

35 

 

  # apakah a <= b? 

  c = a <= b 

  print "Apakah %d <= %d: %r" % (a,b,c) 

 

  # apakah a >= b? 

  c = a >= b 

  print "Apakah %d >= %d: %r" % (a,b,c) 

  # apakah a != b? 

  c = a != b      

  print "Apakah %d != %d: %r" % (a,b,c) 

4. Operator Logika 

Operator logika dipakai  untuk membuat operasi logika, seperti logika AND, OR, dan NOT. 

Operator logika terdiri dari: 

Nama  Simbol di Python

Logika AND  and 

Logika OR  or 

Negasi/kebalikan  not

Contoh: 

  a = True 

  b = False 

 

  # Logika AND 

  c = a and b 

  print "%r and %r = %r" % (a,b,c) 

 

  # Logika OR 

  c = a or b 

  print "%r or %r = %r" % (a,b,c) 

 

  # Logika Not 

  c = not a 

  print "not %r  = %r" % (a,c) 

 

Hasilnya: 

 

36 

 

5. Operator Bitwise 

Operator Bitwise yaitu  operator untuk melakukan operasi berdasarkan bit/biner. 

Operator ini terdiri dari: 

Nama  Simbol 

AND  & 

OR  | 

XOR  ^

Negasi/kebalikan  ~ 

Left Shift  << 

Right Shift  >> 

Hasil operasi dari operator ini agak sulit dipahami, kalau kita belum paham operasi bilangan 

biner. 

Misalnya, kita punya variabel a = 60 dan b = 13. 

Bila dibuat dalam bentuk biner, akan menjadi seperti ini: 

  a = 00111100 

  b = 00001101 

Kemudian, dilakukan operasi bitwise 

Operasi AND 

  a = 00111100 

  b = 00001101 

  a & b = 00001100 

Operasi OR 

  a = 00111100 

  b = 00001101 

  a | b = 00111101 

Operasi XOR 

  a = 00111100 

  b = 00001101 

37 

 

  a ^ b = 00110001 

Opearsi NOT (Negasi/kebalikan) 

  a = 00111100 

  ~a  = 11000011 

Konsepnya memang hampir sama dengan opeartor Logika. Namun, Bitwise dipakai  untuk 

biner. 

Mari kita coba dalam program… 

  a = input("Masukan nilai a: ") 

  b = input("Masukan nilai b: ") 

 

  # Operasi AND 

  c = a & b 

  print "a & b = %s" % c 

 

  # Operasi OR 

  c = a | b 

  print "a | b = %s" % c 

 

  # Operasi XOR 

  c = a ^ b 

  print "a ^ b = %s" % c 

 

  # Operasi Not 

  c = ~a 

  print "~a = %s" % c 

 

  # Operasi shift left (tukar posisi biner) 

  c = a << b 

  print "a << b = %s" % c 

 

  # Operasi shift right (tukar posisi biner) 

  c = a >> b  

  print "a >> b = %s" % c 

 

 

 

 

 

 

 

38 

 

Hasilnya: 

 

6. Operator Ternary 

Operator  ternary  juga dikenal dengan operator kondisi,  sebab  dipakai  untuk membuat 

sebuah ekspresi kondisi seperti percabgan IF/ELSE. 

 

Operator  ternary  sebenarnya  tidak  ada  dalam  Python,  tapi  python  punya  cara  lain  untuk 

menggantikan operator ini. Pada bahasa pemrograman lain operator ternary memakai  

tanda tanya (?) dan titik dua (:). 

  kondisi ? <nilai true> : <nilai false> 

Contoh: 

  aku = (umur < 10) ? "bocah" : "dewasa" 

Dalam Python bentuknya berbeda, yaitu memakai n IF/ELSE dalam satu baris. 

  <Nilai True> if Kondisi else <Nilai False> 

 

 

39 

 

 

Contoh: 

  umur = input("berapa umur kamu? ") 

  aku = "bocah" if umur < 10 else "dewasa" 

  print aku 

Lebih mudah dibaca bukan? 

Hasilnya: 

 

Coba juga untuk mengisi nilai variabel umur dengan nilai di bawah 10 dan perhatikan output‐

nya. 

Cara lain untuk membuat operasi ternary juga bisa memakai  Tuple dan List. 

  jomblo = True 

  status = ("Menikah", "Single")[jomblo] 

  print status 

 

 

Percabangan untuk Membuat Logika Program 

Pada flow chart, logika “jika…maka” digambarkan dalam bentuk cabang. 

 

Percabangan akan mampu membuat program berpikir dan menentukan tindakan 

sesuai dengan logika/kondisi yang kita berikan. 

Struktur Percabangan If 

Percabangan If dipakai  saat terdapat satu pilihan keputusan. 

Misalkan, kalau kita tidak lulus dalam ujian, maka kita ikut remidi. sedang  kalau 

lulus tidak perlu ikut remidi. 

 

 

 

 

41 

 

Maka kita bisa membuat kode‐nya seperti ini: 

  if lulus == "tidak": 

      print("kamu harus ikut remidi") 

“Jika lulus == "tidak" maka cetak teks "kamu harus ikut remidi"“ 

Kita memakai  operator relasi sama dengan (==) untuk membandingkan isi 

variabel lulus. sedang  tanda titik‐dua (:) yaitu  tanda untuk memulai blok kode If. 

Penulisan blok If, harus diberikan indentasi tab atau spasi 2x. 

 Contoh penulisan yang salah: 

  if lulus == "tidak": 

  print("Kamu harus ikut remidi") 

 Contoh penulisan yang benar: 

  if lulus == "tidak": 

   print("kamu harus ikut remidi") 

Contoh Program: 

Buatlah program berikut: 

  # lulus.py 

  lulus = raw_input("Apakah kamu lulus? [ya/tidak]: ") 

 

  if lulus == "tidak": 

  print("Kamu harus ikut ujian") 

Silahkan dieksekusi, lalu masukan jawaban “ya” atau “tidak”. Perhatikanlah hasil 

outputnya. 

 

42 

 

Contoh lagi: 

Biar pemahamannya semakin mantap, silahkan coba contoh kasus berikut ini. 

  # program untuk mengecek bonus dan diskon 

  # file: bonus.py 

 

  total_belanja = input("Total belanja: Rp ") 

 

  # jumlah yang harus dibayar yaitu  berapa total belanjaannya 

  # tapi kalau dapat diskon akan berkurang 

  bayar = total_belanja 

 

  # jika dia belanja di atas 100rb maka berikan bonus dan diskon 

  if total_belanja > 100000: 

  print("Kamu mendapatkan bonus minuman dingin") 

      print("dan diskon 5%") 

 

      # hitung diskonnya 

      diskon = total_belanja * 5/100 #5% 

      bayar = total_belanja ‐ diskon 

 

  # cetak struk 

  print("Total yang harus dibayar: Rp %s" % bayar) 

  print("Terima kasih sudah berbelanja") 

  print("Datang lagi yaa...") 

Hasilnya: 

 

Struktur Percabangan If/Else 

Percabangan If/Else dipakai  saat terdapat dua pilihan keputusan. 

Misalkan, jika umur diatas atau sama dengan 18 tahun boleh membuat SIM. 

sedang  dibawah itu belum boleh. 

 

 

43 

 

Maka kita bisa membuatnya dalam program: 

  # cek_umur.py 

  umur = input("Berapa umur kamu: ") 

 

  if umur >= 18: 

      print("Kamu boleh membuat SIM") 

  else: 

      print("Kamu belum boleh membuat SIM") 

Selain blok If, terdapat juga blok Else yang akan dieksekusi jika  kondisi umur >= 

18 salah (False). Hasil eksekusi dari kode di atas yaitu  sebagai berikut: 

 

Struktur Percabangan If/Elif/Else 

Percabangan If/Elif/Else dipakai  jika  terdapat lebih dari dua pilihan keputusan. 

  if begini: 

      maka ini 

  elif begitu: 

      maka itu 

  else: 

      pokoknya gitu dah! 

Kata kunci elif artinya Else if, fungsinya untuk membuat kondisi/logika tambahan 

jika  kondisi pertama salah. 

Contoh Program: Misalkan kita akan membuat program untuk menentukan grade nilai 

dengan flow chart sebagai berikut: 

44 

 

 

Maka kode programnya bisa kita buat seperti ini: 

#file grade_nilai.py 

nilai = input("Inputkan nilaimu: ") 

 

if nilai >= 90: 

   grade = "A" 

elif nilai >= 80: 

   grade = "B+" 

elif nilai >= 70: 

   grade = "B" 

elif nilai >= 60: 

   grade = "C+" 

elif nilai >= 50: 

   grade = "C" 

elif nilai >= 40: 

   grade = "D" 

else: 

   grade = "E" 

 

print("Grade: %s" % grade) 

 





Perulangan 

Perualangan  dalam  bahasa  pemrograman  berfungsi  menyuruh  komputer melakukan 

sesuatu  secara  berulang‐ulang.  Terdapat  dua  jenis  perualangan  dalam  bahasa 

pemrograman python, yaitu perulangan dengan for dan while. 

Perulangan for disebut counted  loop (perulangan  yang  terhitung),  sementara 

perulangan while disebut uncounted  loop (perulangan  yang  tak  terhitung). 

Perbedaannya yaitu  perulangan for biasanya dipakai  untuk mengulangi kode yang 

sudah  diketahui  banyak  perulangannya.  Sementara while untuk  perulangan  yang 

memiliki syarat dan tidak tentu berapa banyak perulangannya. 

1. Perulangan for 

Bentuk umum: 

for indek in range(banyak_perulangan): 

    # jalankan kode ini 

    # jalankan juga kode ini 

#kode ini tidak akan diulang sebab  berada di luar for 

Contoh program: 

# file: perulanganFor.py 

 

ulang = 10 

 

for i in range(ulang): 

    print "Perulangan ke‐"+str(i) 

Pertama kita menentukan banyak perulangannya sebanyak 10x 

ulang = 10 

46 

 

Variabel i berfungsi untuk menampung indeks, dan fungsi range() berfungsi untuk 

membuat list dengan range dari 0‐10. Fungsi str() berfungsi merubah tipe data ineger 

ke string. 

for i in range(ulang): 

    print "Perulangan ke‐"+str(i) 

Hasil: 

abhiyasa@stta:~$ python perulanganFor.py 

Perulangan ke‐0 

Perulangan ke‐1 

Perulangan ke‐2 

Perulangan ke‐3 

Perulangan ke‐4 

Perulangan ke‐5 

Perulangan ke‐6 

Perulangan ke‐7 

Perulangan ke‐8 

Perulangan ke‐9 

Contoh lain memakai  senarai (list): 

# berkas: perulanganFor.py 

 

item = ['kopi','nasi','teh','jeruk'] 

 

for isi in item: 

    print isi 

Hasil: 

abhiyasa@stta:~$ python perulanganFor.py 

kopi 

nasi 

teh 

jeruk 

2. Perulangan while 

Bentuk umum: 

while(True):    # jalankan kode ini # kode ini berada di luar perulangan while 

 

47 

 

Contoh: 

# berkas: perulanganWhile.py 

 

jawab = 'ya' 

hitung = 0 

 

while(jawab == 'ya'): 

    hitung += 1 

    jawab = raw_input("Ulang lagi tidak? ") 

 

print "Total perulagan: " + str(hitung) 

Atau bisa juga dengan bentuk yang seperti ini, dengan memakai  kata kuci break 

# berkas: perulanganWhile.py 

 

jawab = 'ya' 

hitung = 0 

 

while(True): 

    hitung += 1 

    jawab = raw_input("Ulang lagi tidak? ") 

    if jawab == 'tidak': 

        break 

 

print "Total perulagan: " + str(hitung) 

Pertama menentukan variabel untuk menghitung, dan menentukan kapan perulangan 

berhenti. kalau pengguna menjawab tidak maka perulangan akan terhenti. 

jawab = 'ya' 

hitung = 0 

Melakukan perulangan dengan while, kemudian menambah satu variabel hitung setiap 

kali mengulang. lalu menanyakan kepada pengguna, apakah mau berhenti mengulang 

atau tidak? 

while(jawab == 'ya'): 

  hitung += 1 

  jawab = raw_input("Ulang lagi tidak? ") 

 

print "Total perulagan: " + str(hitung) 

 

 

 

48 

 

Hasil: 

abhiyasa@stta:~$ python perulanganWhile.py 

Ulang lagi tidak? ya 

Ulang lagi tidak? ya 

Ulang lagi tidak? ya 

Ulang lagi tidak? ya 

Ulang lagi tidak? ya 

Ulang lagi tidak? ya 

Ulang lagi tidak? tidak 

Total perulagan: 7 

 

 

 

 

 

 

 

Dictionary pada Python 

Pada  pembahasan  seblumnya,  kita  sudah mengenal  stuktur  data  list yang  mampu 

menyimpan berbagai macam hal. List biasanya dipakai  untuk menyimpan koleksi data. 

Namun, list ternyata memiliki kekurangan. 

Kekurangannya:  ia  tidak  bisa  memakai   kata  kunci  untuk  mengakses  itemnya.  Hanya 

bisa memakai  nomer indeks saja. 

Tapi tenang saja… 

Kekurangan ini sudah ditutipi oleh Dictionary. 

Nah,  pada  kesempatan  ini,  kita  akan  belajar  7  hal  dasar  yang  harus  diketahui 

tentang Dictionary. 

 

1. Apa itu Dictionary pada Python? 

Dictionary yaitu  stuktur data yang bentuknya seperti kamus. Ada kata kunci kemudian 

ada nilaninya. Kata kunci harus unik, sedang  nilai boleh diisi denga apa saja. 

Contoh: 

aku = { 

    "nama": "Abhiyasa", 

    "url:" "https://www.Abhiyasa.com" 

Pada contoh di atas kita membuat sebuah Dictionary bernama aku dengan isi data nama dan 

URL. nama dan url yaitu   kunci (key) yang  akan  kita  gunakan  untuk  mengakses  nilai  di 

dalamnya. 

Inilah perbedaanya dibandingkan list dan tuple. Dictionary memiliki  kunci berupa  teks—bisa 

juga  angka—sedang  list dan tuple memakai   indeks  berupa  angka  saja  untuk 

mengakses nilainya. 

Dalam  bahasa  pemrograman  lain  (seperti  PHP), Dictionary juga  dikenal  dengan 

sebutan asosiatif array. 

 

50 

 

2. Membuat Dictionary 

Hal yang wajib ada di dalam pembuatan Dictionary yaitu : 

  nama dictionary, 

  key, 

  value, 

  buka dan tutupnya memakai  kurung kurawal. 

Antara key dan value dipisah dengan titik dua (:) dan jika  terdapat lebih dari satu item, 

maka dipisah dengan tanda koma (,). 

Contoh satu item: 

nama_dict = { 

    "key": "value" 

Contoh tiga item: 

nama_dict = { 

    "key1": "value", 

    "key2": "value", 

    "key3": "value" 

Isi dari Dictionary dapat berupa: 

  String 

  Integer 

  Objek 

  List 

  Tuple 

  Dictionary 

Contoh: 

pak_tani = { 

    "nama": "Abhiyasa", 

    "umur": 22, 

    "hobi": ["coding", "membaca", "cocok tanam"], 

    "menikah": False, 

    "sosmed": { 

        "facebook": "Abhiyasa", 

        "twitter": "@Abhiyasa" 

    } } 

Mari kita lihat isi dari Dictionary di atas: 

51 

 

  nama berisi string "Abhiyasa" 

  umur berisi integer 22 

  hobi berisi list dari string 

  menikah berisi boolean False 

  dan sosmed berisi Dictionary 

memakai  Konstruktor 

Selain memakai  cara di atas, kita juga bisa membaut Dictionary dari 

constructor dict() dengan parameter key dan value. 

Contoh: 

warna_buah = dict(jeruk="orange", apel="merah", pisang="kuning") 

Maka akan menghasilkan dictionary seperti ini: 

{'jeruk': 'orange', 'pisang': 'kuning', 'apel': 'merah'} 

3. Mengakses Nilai Item dari Dictionary 

Kita sudah tahu cara membuat Dictionary, sekarang bagaimana cara mengaksesnya? 

Cara mengaksesnya sama seperti list. Namaun kunci yang dipakai  bukan angka, 

melainkan keyword yang sudah kita tentukan di dalam Dictionary‐nya. 

Contoh: 

# Membuat Dictionary 

pak_tani = { 

    "nama": "Abhiyasa", 

    "umur": 22, 

    "hobi": ["coding", "membaca", "cocok tanam"], 

    "menikah": False, 

    "sosmed": { 

        "facebook": "Abhiyasa", 

        "twitter": "@Abhiyasa" 

    }  

 

# Mengakses isi dictionary 

print("Nama saya yaitu  %s" % pak_tani["nama"]) 

print("Twitter: %s" % pak_tani["sosmed"]["twitter"]) 

Maka akan menghasilkan: 

52 

 

Nama saya yaitu  Abhiyasa 

Twitter: @Abhiyasa 

Selain dengan cara di atas, kita juga bisa mengambil nilai Dictionary dengan method get(). 

Contoh: 

print(pak_tani.get("nama")) 

Hasilnya: 

Abhiyasa 

memakai  Perulangan 

Untuk mencetak semua isi Dictionary, kita bisa memakai  perulangan seperti ini: 

# Membuat dictionary 

web = { 

    "name": "Abhiyasa", 

    "url": "https://www.Abhiyasa.com", 

    "rank": "5" 

# Mencetak isi dictionary dengan perulangan 

for key in web: 

    print(web[key]) 

Hasilnya: 

Abhiyasa 

https://www.Abhiyasa.com 

 

 

 

 

 

Kita juga bisa melakukannya seperti ini: 

53 

 

web = { 

    "name": "Abhiyasa", 

    "url": "https://www.Abhiyasa.com", 

    "rank": "5" 

 

for key, val in web.items(): 

    print("%s : %s" % (key, val)) 

Hasilnya: 

name : Abhiyasa 

rank : 5 

url : https://www.Abhiyasa.com 

4. Mengubah Nilai Item Dictionary 

Dictionary bersifat mutable, artinya nilainya dapat kita ubah‐ubah. Untuk mengubah 

nilai Dictionary, kita bisa lakukan seperti ini: 

nama_dic["kunci"] = "Nilai Baru" 

Contoh: 

# membuat dictioanary 

skill = { 

    "utama": "Python", 

    "lainnya": ["PHP","Java", "HTML"] 

# Mencetak isi skill utama 

print(skill["utama"]) 

 

# mengubah isi skill utama 

skill["utama"] = "Rust" 

 

# Mencetak isi skill utama 

print(skill["utama"]) 

Maka akan menghasilkan: Python Rust 

5. Menghapus Item dari Dictionary 

Untuk menghapus nilai Dictionary, kita bisa memakai  perintah del dan method pop(). 

54 

 

Method pop() yaitu  method yang berfungsi untuk mengeluarkan item 

daridictionary sedangak fungsi del yaitu  fungsi untuk menghapus suatu variabel dari 

memori. 

Contoh menghapus dengan del: 

>>> del skill["utama"] 

>>> skill 

{'lainnya': ['PHP', 'Java', 'HTML']} 

 

Contoh menghapus dengan method pop(): 

>>> skill.pop("utama") 

'Rust' 

>>> skill 

{'lainnya': ['PHP', 'Java', 'HTML']} 

 

…atau bila kita ingin menghapus semuanya sekaligus, kita bisa memakai method clear(). 

Contoh: 

skill.clear() 

6. Menambahkan Item ke Dictionary 

Kita bisa memakai  method update() untuk menambahkan isi ke Dictionary. 

Parameternya berupa Dictionary. 

Selain berfungsi untuk menambahkan, method ini juga berfungsi untuk mengubah nilai 

dictionary jika  kunci yang dimasukkan sudah ada di dalamnya. 

Contoh: 

# membuat dictionary user 

user = { 

    "name": "Abhiyasa" 

# menambahkan password 

user.update({"password": "akucintakamu123"}) 

 

print(user) 

 

55 

 

# update name 

user.update({"name": "peternaklinux"}) 

 

print(user) 

Hasilnya: 

{'name': 'Abhiyasa', 'password': 'akucintakamu123'} 

{'name': 'peternaklinux', 'password': 'akucintakamu123'} 

7. Mengambil Panjang Dictionary 

Untuk mengambil jumlah data atau panjang Dictionary, kita bisa memakai  fungsi len(). 

Contoh: 

# membuat dictonary 

books = { 

    "python": "Menguasai Python dalam 2028 jam", 

    "java": "Tutorial Belajar untuk Pemula", 

    "php": "Membuat aplikasi web dengan PHP" 

 

# mencetak jumlah data yang ada di dalam dictionary 

print("total buku: %d" % len(books)) 

Hasilnya: 

total buku: 3 

 

 

 

 


Fungsi dan Prosedur pada Python 


 

 

Pada  pembuatan  program  yang  kompleks  dan  memiliki  banyak  fitur,  kita  diharuskan 

memakai  fungsi. 

Kenapa memangnya kalau tidak memakai  fungsi? 

Bisa  jadi  kita  akan  kerepotan menulis  kode  programnya,  sebab   banyak  yang  harus  ditulis 

dan  kode  akan menjadi  sulit  dibaca  dan  dirawat (maintenance).  Dengan  fungsi,  kita  dapat 

memecah program besar menjadi  sub program yang  lebih  sederhana. Masing‐masing  fitur 

pada program dapat kita buat dalam satu fungsi. Pada saat kita membutuhkan fitur tersebut, 

kita tinggal panggil  fungsinya saja. Hal  ini akan kita coba pada contoh program yang sudah 

saya sediakan di bawah. Namun, terlebih dahulu… 

Kita harus memahami teori dasar dan hal apa saja yang harus kita ketahui tentang fungsi di 

Python. 

Cara Membuat Fungsi pada Python 

Fungsi pada Python, dibuat dengan kata kunci def kemudian diikuti dengan nama fungsinya. 

Contoh: 

def nama_fungsi(): 

    print "Hello ini Fungsi" 

Sama seperti blok kode yang lain, kita juga harus memberikan identasi (tab atau spasi 2x) 

untuk menuliskan isi fungsi. 

 

sesudah  kita buat fungsinya, lalu apa? 

sesudah  kita buat, kita bisa memanggilnya seperti ini: 

57 

 

nama_fungsi() 

Sebagai contoh, coba tulis kode program berikut: 

# Membuat Fungsi 

def salam(): 

    print "Hello, Selamat Pagi" 

 

## Pemanggilan Fungsi 

salam() 

Hasilnya: 

Hello, Selamat Pagi 

Coba panggil sebanyak 3x: 

# Membuat Fungsi 

def salam(): 

    print "Hello, Selamat Pagi" 

 

## Pemanggilan Fungsi 

salam() 

salam() 

salam() 

Hasilnya: 

Hello, Selamat Pagi 

Hello, Selamat Pagi 

Hello, Selamat Pagi 

Mudah bukan? 

Intinya apapun yang ada di dalam fungsi, ketika dipanggil itulah yang akan dilakukan. 

FYI: fungsi juga dapat dipanggil pada fungsi lain, bahkan bisa memanggil dirinya sendiri. 

Fungsi yang memanggil dirinya sendiri, disebut fungsi rekursif. 

Fungsi dengan Parameter 

Sekarang, bagaimana kalau kita ingin memberikan input nilai ke dalam fungsi? 

Gampang… 

Kita bisa manfaatkan parameter. 

58 

 

Apa itu parameter? 

Parameter yaitu  variabel yang menampung nilai untuk diproses di dalam fungsi. 

 

Contoh: 

def salam(ucapan): 

    print(ucapan) 

Pada contoh diatas, kita membuat fungsi dengan parameter ucapan. 

Lalu bagaimana cara memanggilnya? 

Cara pemanggilan fungsi yang memiliki parameter yaitu  seperti ini: 

salam("Selamat siang") 

"Selamat siang" yaitu  nilai parameter yang kita berikan. 

Lalu bagaimana kalau parameternya lebih dari satu? 

Kita bisa memakai  tanda koma (,) untuk memisahnya. 

Contoh: 

# Membuat fungsi dengan parameter 

def luas_segitiga(alas, tinggi): 

    luas = (alas * tinggi) / 2 

    print "Luas segitiga: %f" % luas; 

 

# Pemanggilan fungsi 

luas_segitiga(4, 6) 

 

Hasilnya: 

59 

 

Luas segitiga: 12.000000 

Fungsi yang Mengembalikan Nilai 

Fungsi yang  tidak mengembalikan nilai biasanya disebut dengan prosedur. Namun, kadang 

kita  butuh  hasil  proses  dari  fungsi  untuk  dipakai   pada  proses  berikutnya. Maka  fungsi 

harus  mengembalikan  nilai  dari  hasil  pemrosesannya.  Cara  mengembalikan  nilai  yaitu  

menggunkan kata kunci return lalu diikuti dengan nilai atau variabel yang akan dikembalikan. 

 

Contoh: 

def luas_persegi(sisi): 

    luas = sisi * sisi 

    return luas 

 

# pemanggilan fungsi 

print "Luas persegi: %d" % luas_persegi(6) 

Hasilnya: 

Luas persegi: 36 

Apa bedanya dengan fungsi luas_segitiga() yang tadi? 

Pada fungsi luas_segitiga() kita melakukan print dari hasil pemrosesan secara langsung di 

dalam fungsinya. 

60 

 

sedang  fungsi luas_persegi(), kita melakukan print pada saat pemanggilannya. 

Jadi, fungsi luas_persegi() akan bernilai sesuai dengan hasil yang dikembalikan. 

Sehingga kita dapat memanfaatkannya untuk pemerosesan berikutnya. 

Misalnya seperti ini: 

# rumus: sisi x sisi 

def luas_persegi(sisi): 

    luas = sisi * sisi 

    return luas 

 

 

# rumus: sisi x sisi x sisi 

def volume_persegi(sisi): 

    volume = luas_persegi(sisi) * sisi 

Pada  contoh  di  atas,  kita  melakukan  pemanggilan  fungsi luas_persegi()untuk  menghitung 

volume persegi. 

Variabel Global dan Lokal pada Python 

Saat  kita  memakai   fungsi,  maka  kita  juga  harus  mengetahui  yang  namanya  variabel 

Global dan Lokal. 

Apa itu? 

Variabel Global yaitu  variabel yang bisa diakses dari semua fungsi, sedang  variabel lokal 

hanya bisa diakses di dalam fungsi tempat ia berada saja. 

Pada  Python,  urutan  pengaksesan  variabel (scope) dikenal  dengan  sebutan  LGB  (Local, 

Global, dan Build‐in). 

Jadi program python mulai mencari vairabel lokal terlebih dahulu, kalau ada maka itu yang 

dipakai . 

Tapi kalau tidak ada, pencarian terus ke Global, dan Build‐in. 

Variabel Build‐in yaitu  variabel yang sudah ada di dalam Python. 

 

 

 

Contoh program: 

# membuat variabel global 

61 

 

nama = "Abhiyasa" 

versi = "1.0.0" 

 

def help(): 

    # ini variabel lokal 

    nama = "Programku" 

    versi = "1.0.2" 

    # mengakses variabel lokal 

    print "Nama: %s" % nama 

    print "Versi: %s" % versi 

 

 

# mengakses variabel global 

print "Nama: %s" % nama 

print "Versi: %s" % versi 

 

# memanggil fungsi help() 

help() 

Hasilnya: 

Nama: Abhiyasa 

Versi: 1.0.0 

Nama: Programku 

Versi: 1.0.2 

Perhatikanlah variabel nama yang berada di dalam fungsi help() dan diluar fungsi `help(). 

Variabel nama yang berada di dalam fungsi help() yaitu  variabel lokal. 

Jadi, saat kita memanggil fungsi help() maka nilai yang akan tampil yaitu  nilai yang ada di 

dalam fungsi help(). 

Kenapa tidak tampil yang global? 

sebab  itu tadi… 

Python mulai mencari dari lokal, ke global, dan build‐in. 

Kalau di tiga tempat itu tidak ditemukan, maka biasanya akan terjadi NameError atau 

variabel tidak ditemukan. 

 

 

Contoh Program dengan Fungsi 

Biaklah, sekarang tiba saatnya kita membuat program… 

62 

 

Silahkan buat file baru bernama program_fungsi.py. 

Lalu kita mulai tulis kodenya. 

Pertama kita buat sebuah variabel global berupa list untuk menampung judul‐judul buku. 

# Variabel global untuk menyimpan data Buku 

buku = [] 

Nanti program ini akan mampu melakukan operasi CRUD (Create, Read, Update, dan Delete). 

Maka kita membutuhkan fungsi‐fungsi berikut: 

  show_data() untuk menampilkan data dari list buku; 

  insert_data() untuk menambahkan data ke list buku; 

  edit_data() untuk mengedit data di list buku; 

  delete_data() untuk untuk menghapus data dari list buku. 

Mari kita buat semuanya. 

Dimulai dari fungsi show_data(): 

# fungsi untuk menampilkan semua data 

def show_data(): 

    if len(buku) <= 0: 

        print "BELUM ADA DATA" 

    else: 

        for indeks in range(len(buku)): 

            print "[%d] %s" % (indeks, buku[indeks]) 

Fungsi di atas akan mengecek isi dari list buku. Jika isinya kosong (len(buku) <= 0) maka 

tampilkan "BELUM ADA DATA". 

Namun, jika  ada isinya, maka tampilkan semua isinya dengan perulangan. 

Selanjutnya membuat fungsi insert_data(): 

# fungsi untuk menambah data 

def insert_data(): 

    buku_baru = raw_input("Judul Buku: ") 

    buku.append(buku_baru) 

Fungsi di atas akan mengambil input dari user kemudian diisi ke dalam list buku dengan 

fungsi append(). 

Fungsi append() yaitu  fungsi untuk menambahkan item di akhir list. 

63 

 

Selain append() ada juga prepend(). Namun, untuk kasus ini, kita pakai append() saja. 

Penjelasan lengkap tentang append() dan prepend() bisa dibaca pada: Mengenal Struktur 

Data List pada Python. 

Selanjutnya membuat fungsi edit_data(): 

# fungsi untuk edit data 

def edit_data(): 

    show_data() 

    indeks = input("Inputkan ID buku: ") 

    if(indeks > len(buku)): 

        print "ID salah" 

    else: 

        judul_baru = raw_input("Judul baru: ") 

        buku[indeks] = judul_baru 

Fungsi di atas akan menampilkan isi dari list buku dengan memanggil fungsishow_data() di 

dalamnya. 

sesudah  itu, kita meminta user untuk menginputkan ID atau nomer indeks buku yang akan 

diedit. 

Lalu kita lakukan pengecekan, jika ID yang diinputkan melebihi dari isi list buku (indeks > 

len(buku)), maka tampilkan pesan "ID salah". 

Namun, jika  tidak melebihi dari isi buku, maka ambil input untuk judul baru dan simpan 

sesuai ID‐nya. 

Selanjutnya membuat fungsi delete_data(): 

# fungsi untuk menhapus data 

def delete_data(): 

    show_data() 

    indeks = input("Inputkan ID buku: ") 

    if(indeks > len(buku)): 

        print "ID salah" 

    else: 

        buku.remove(buku[indeks]) 

Hampir sama dengan fungsi edit_data(). Fungsi delete_data() juga harus menampilkan isi 

list buku dan mengambil ID yang akan dihapus. 

Kita dapat menghapus item pada list dengan fungsi remove(). 

Apakah sudah selesai? 

64 

 

Belum, masih ada dua fungsi lagi yang kita butuhkan: 

1. Fungsi untuk menampilkan menu 

2. Fungsi untuk keluar (sudah ada di python: exit()) 

Ok, mari kita buat: 

# fungsi untuk menampilkan menu 

def show_menu(): 

    print "\n" 

    print "‐‐‐‐‐‐‐‐‐‐‐ MENU ‐‐‐‐‐‐‐‐‐‐" 

    print "[1] Show Data" 

    print "[2] Insert Data" 

    print "[3] Edit Data" 

    print "[4] Delete Data" 

    print "[5] Exit" 

     

    menu = input("PILIH MENU> ") 

    print "\n" 

 

    if menu == 1: 

        show_data() 

    elif menu == 2: 

        insert_data() 

    elif menu == 3: 

        edit_data() 

    elif menu == 4: 

        delete_data() 

    elif menu == 5: 

        exit() 

    else: 

        print "Salah pilih!" 

Fungsi di atas akan menampilkan menu dari 1–5, lalu memanggil fungsi‐fungsi yang sudah 

dibuat berdasarkan menu yang dipilih. 

Terakhir, kita harus membuat main loop programnya. 

if __name__ == "__main__": 

    while(True): 

    show_menu() 

 

Program akan mengulang terus‐menerus sampai fungsi exit() dieksekusi. 

65 

 

if __name__ == "__main__": yaitu  blok main di Python. Sebenarnya tanpa ini, programnya 

sudah bisa dijalankan. 

Tapi biar cakep, kita tambahkan saja. 

Sehingga kode lengkapnya akan seperti ini: 

# Variabel global untuk menyimpan data Buku 

buku = [] 

 

 

# fungsi untuk menampilkan semua data 

def show_data(): 

    if len(buku) <= 0: 

        print "BELUM ADA DATA" 

    else: 

        for indeks in range(len(buku)): 

            print "[%d] %s" % (indeks, buku[indeks]) 

 

 

# fungsi untuk menambah data 

def insert_data(): 

    buku_baru = raw_input("Judul Buku: ") 

    buku.append(buku_baru) 

 

# fungsi untuk edit data 

def edit_data(): 

    show_data() 

    indeks = input("Inputkan ID buku: ") 

    if(indeks > len(buku)): 

        print "ID salah" 

    else: 

        judul_baru = raw_input("Judul baru: ") 

        buku[indeks] = judul_baru 

# fungsi untuk menhapus data 

def delete_data(): 

    show_data() 

    indeks = input("Inputkan ID buku: ") 

    if(indeks > len(buku)): 

        print "ID salah" 

    else: 

        buku.remove(buku[indeks]) 

 

# fungsi untuk menampilkan menu 

def show_menu(): 

    print "\n" 

66 

 

    print "‐‐‐‐‐‐‐‐‐‐‐ MENU ‐‐‐‐‐‐‐‐‐‐" 

    print "[1] Show Data" 

    print "[2] Insert Data" 

    print "[3] Edit Data" 

    print "[4] Delete Data" 

    print "[5] Exit" 

     

    menu = input("PILIH MENU> ") 

    print "\n" 

 

    if menu == 1: 

        show_data() 

    elif menu == 2: 

        insert_data() 

    elif menu == 3: 

        edit_data() 

    elif menu == 4: 

        delete_data() 

    elif menu == 5: 

        exit() 

    else: 

        print "Salah pilih!" 

 

 

if __name__ == "__main__": 

 

    while(True): 

        show_menu() 

 

 

 

 

Cobalah untuk mengeksekusinya dan perhatikan hasilnya. 

67 

 

 

Mantap… programnya keren.   

 


*args dan **kwargs pada Python? 

 

*args dan **kwargs sebenarnya yaitu  sebuah variabel. Kadang  juga disebut dengan magic 

variable, sebab  kemampuannya yang aneh.   

Variabel ini memiliki kemampuan khusus sebab  ada tanda bintang (*) di depannya. 

Kalau tidak ada itu… 

…maka akan menjadi variabel yang biasa‐biasa saja. 

Lalu bagaimana cara memakai  dalam program? 

Kapan waktu yang tepat memakai nya? 

Apa bedanya *args dan **kwargs? 

Mari kita bahas. 

Kapan *args dan **kwargs dipakai ? 

Jika kita mencoba membuat variabel dengan nama *args dan **kwargs, maka akan terjadi 

error. 

 

Kenapa bisa begitu? 

69 

 

sebab  ada simbol bintang (*) di depannya. sedang  pada aturan penulisan variabel di 

Python, kita tidak dibolehkan memakai  simbol di depan, kecuali underscore (_). 

Lalu di mana penggunaanya? 

Variabel *args dan **kwargs dipakai  sebagai parameter pada fungsi. 

Contoh: 

# Pembuatan fungsi 

def panggil(*nama): 

    print "daftar orang yang dipanggil:" 

    for orang in nama: 

        print orang 

 

# pemanggilan fungsi 

panggil("dian", "deni", "agus") 

Catatan: nama *args dan **kwargs bukanlah sesuatu yang baku. Kita juga bisa membuatnya 

sesuka hati seperti *nama, **nama, *buku, dsb. 

Hasil outputnya: 

daftar orang yang dipanggil: 

dian 

deni 

agus 

Pada contoh di atas, kita memberikan tiga paramter ke dalam fungsi panggil(). 

panggil("dian", "deni", "agus") 

sedang  pada pembuatanya kita hanya memakai  satu parameter, yaitu: *nama. 

Kok bisa? 

Inilah ajaibnya. 

Saat kita menambahkan tanda bintang (*) di depan parameter, kita bisa memberikan 

parameter berapapun yang kita inginkan saat pemanggilan. 

70 

 

panggil("dian", "deni", "agus") 

panggil("toni", "amir", "dian", "deni", "agus") 

panggil("dion", "beni", "heri", "hadi") 

Jadi, kapan waktu yang tepat memakai  *args dan **kwargs? 

Waktu yang tepat memakai  *args dan **kwargs yaitu  saat kita membuat fungsi dan 

jumlah parameternya tidak jelas alias tidak pasti (not fixed). 

Biasanya kan kita membuat seperti ini: 

def colek(nama1, nama2, nama2): 

    pass 

Fungsi tersebut hanya mampu menerima tiga parameter saja. 

colek("eko", "rian", "dwi") 

 

# coba berikan 1 parameter pasti akan error 

colek("anto") 

Lalu bagaimana kalau ingin lebih dari tiga, kadang juga kita ingin satu saja? 

di sanalah kita harus memakai  *args dan **kwargs. 

Apa Perbedaan dari *args dan **kwargs? 

Perbedaan yang paling terlihat yaitu  dari jumlah tanda bintangnya. 

*args memakai  satu tanda bintang, sedang  **kwargs memakai  dua tanda 

bintang. 

Antara tanda bintang satu dan dua, itu memiliki perbedaan: 

  * artinya akan membuat parameter menjadi tuple. 

  ** artinya akan membuat parameter menjadi dictionary. 

Belum tahu tentang apa itu tuple dan dictionary? 

Silahkan baca: 

  Mengenal Struktur data Tuple di Python (coming soon) 

  Mengenal Struktur data Dictionary di Python (coming soon) 

71 

 

Antara *args dan **kwargs, cocoknya dipakai di mana? 

Sebenarnya tergantung dari kasusnya. 

Saat kita memakai  **kwargs kita diharuskan membuat keyword atau kata kunci ke 

dalam parameternya. 

Seperti ini: 

panggil(nama="Abhiyasa") 

Untuk lebih jelasnya, silahkan perhatikan contoh program berikut: 

# membuat fungsi dengan parameter *args 

def kirim_sms(*nomer): 

    print nomer 

 

# membuat fungsi dengan parameter **kwargs 

def tulis_sms(**isi): 

    print isi 

 

# Pemanggilan fungsi *args 

kirim_sms(123, 888, 4444) 

 

# pemanggilan fungsi **kwargs 

tulis_sms(tujuan=123, pesan="apa kabar") 

Hasil outputnya: 

(123, 888, 4444) 

{'tujuan': 123, 'pesan': 'apa kabar'} 

Kita juga bisa memanggil fungsinya seperti ini: 

# siapkan parameternya 

list_nomer = [123, 888, 4444] 

isi_sms = {'tujuan': 4444, 'pesan': 'mau daftar pak'} 

72 

 

 

# pemanggilan fungsi 

kirim_sms(*list_nomer) 

tulis_sms(**isi_sms) 

Hasil ouutputnya juga akan sama. 

Contoh Kasus di Dunia Nyata 

Bagaimana contoh penggunaan *args dan **kwargs di dunia nyata? 

Seperti yang telah kita ketahui, dengan *args dan **kwargs kita bisa membuat parameter 

fungsi menjadi dinamis. 

Salah satu contoh kasus penerapannya di dunia nyata: Fungsi untuk menghitung nilai rata‐

rata. 

sebab  data yang akan kita hitung nilai rata‐ratanya bersifat dinamis, maka kita harus 

memakai  *args atau **kwargs. 

Contoh programnya: 

# membuat fungsi rata‐rata 

def rata_rata(*data): 

    banyak_data = len(data) 

    jumlah_data = sum(data) 

    nilai_rata_rata = float(jumlah_data) / float(banyak_data) 

    return nilai_rata_rata 

print rata_rata(2,4,1,2,4,1,2,3,4,5,1,8,2) 

Fungsi len() yaitu  fungsi untuk menghitung banyak data yang terdapat 

dalam tuple atau list. sedang  fungsi sum() yaitu  fungsi untuk menjumlahkan semua 

data‐nya. 

Selanjutnya kita terapkan rumus nilai rata‐rata: 

rata_rata = jumlah_data / banyak_data 

Hasil outputnya: 

73 

 

3.0 

 

 

 

 

 


Lebih baru Lebih lama