Belajar Python Programing Teori Dan Praktek

  • Uploaded by: amril
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Belajar Python Programing Teori Dan Praktek as PDF for free.

More details

  • Words: 21,553
  • Pages: 224
Loading documents preview...
1

2

KATA PENGANTAR

Bismillahir Rohmannir Rohiim Segala puji Penulis panjatkan kehadirat Mu Ya Allah atas segala Rahmat, karunia dan kesempatan yang telah diberikan untuk dapat mewujudkan cita cita menulis buku tentang Teori dan Praktek Belajar Python Programing. Buku ini di dilengkapi dengan contoh contoh sederhana dan cocok bagi pemula, yang akan belajar bahasa Python, didesign untuk Dosen, Mahasiswa, dan Umum, terutama bagi Pemula. Buku ini tidak akan terwujud tanpa dukungan dan bantuan dari berbagai pihak. Pada kesempatan ini, tidak lupa mengucapkan terima kasih yang sebesar besarnya bagi akademisi dan praktisi dimana buku buku nya referensi penulis dalam menyusun buku ini. Pihak penerbit, keluarga, teman teman propesi serta berbagai pihak yang tidak bisa disebutkan semuanya, yang sudah membantu mendukung terwujudnya buku ini

Bekasi, Januari 2019 Ttd

Amril Mutoi Siregar

3

DAFTAR ISI Kata Pengantar ....................................................................... i Daftar isi ................................................................................. ii Daftar Gambar........................................................................ vii BAB 1 Cara Install Python..................................................... 1 1.1 Installasi Python di Windows .......................................... 2 1.2 Installasi Python di Linux ................................................ 6 1.3 Installasi Python di Mac OS............................................. 7 1.4 Installasi Anaconda Navigator di Linux .......................... 8 1.4 Menjalankan Interpreter Python Di linux ........................ 9 BAB 2 Filosofi Pemrograman Python 2.1 ................................................................................. Fil osofi Pemrograman Python .............................................. 10 2.2 Dasar dasar Pemrograman Python ................................... 11 2.3 Memulai Pemrograman spyder Python ............................ 13 2.4 Simpan dan Jalankan ........................................................ 15 BAB 3 Python IDE Windows dan Linux ............................... 16 BAB 4 Pengertian Pemrograman Python ............................... 20 4.1 Python Pemrograman Open Source ................................. 20 4.2 Rapid Application Development (RAD).......................... 21 4.3 Python Mendukung Berbagai Sistem Operasi ................. 21 4.4 Aplikasi Penggunaan Python ........................................... 22 4.5 Graphical User Interface (GUI) ....................................... 23 BAB 5 Pengenalan Dasar Python .......................................... 24 5.1 Persiapan Belajar Pemrograman Python .......................... 26 5.2 Mengenal Mode Interaktif Python ................................... 28 5.3 Menulis Skrip Python....................................................... 31 5.4 Alur Kerja Pembuatan Program Python........................... 33 5.5 Pemrograman Python Menggunakan PyCharm ............... 34 BAB 6 Penulisan Sintaks Python ........................................... 42 6.1 Penulisan Statement Python ............................................. 42 6.2 Penulisan String pada Python .......................................... 43 6.3 Penulisan Case pada Python ............................................ 43 6.4 Penulisan Blok Program Python ...................................... 44 4

6. 5 Cara Penulisan Komentar pada Python ........................... 46 BAB 7 Percabangan dan Perulangan ..................................... 48 7.1 Struktur Percabangan If ................................................... 49 7.2 Struktur Percabangan If/Else ........................................... 51 7.3 Struktur Percabangan If/Elif/Else .................................... 53 7.4 Memahami Perulangan .................................................... 54 7.4.1 Perulangan for ......................................................... 55 7.4.2 Perulangan while ..................................................... 57 BAB 8 Fungsi dan Prosedur pada Python .............................. 59 8.1 Cara Membuat Fungsi pada Python ................................. 59 8.2 Fungsi dengan Parameter ................................................. 61 8.3 Fungsi yang Mengembalikan Nilai .................................. 62 8.4 Variabel Global dan Lokal pada Python .......................... 64 8.5 Contoh Program dengan Fungsi ....................................... 66 BAB 9 Variabel dan Tipe Data dalam Python ....................... 72 9.1 Pengertian Variabel dan Tipe Data .................................. 72 9.2 Membuat Variabel di Python ........................................... 72 9.3 Menghapus Variabel ........................................................ 73 9.3.1 Tipe data .................................................................. 74 9.3.2 Jenis-jenis Tipe Data ............................................... 75 9.3.3 Tipe data Boolean ................................................... 76 9.4 Contoh Program Variabel dan Tipe Data ......................... 77 9.5 Konversi Tipe Data .......................................................... 77 BAB 10 Mengambil Input dan Menampilkan Output ........... 79 10.1 Cara Mengambil Input dari Keyboard ........................... 79 10.2 Cara Menampilkan Output ............................................. 80 BAB 11 Jenis Operator dalam Python ................................... 83 11.1 Operator Aritmatika ....................................................... 83 11.2 Operator Penugasan ....................................................... 85 11.3 Operator Pembandingan ................................................. 89 11.4 Operator Logika ............................................................. 92 11.5 Operator Bitwise ............................................................ 93 11.6 Operator Ternary ............................................................ 96 BAB 12 Penulisan dan Penggunaan String pada Python ....... 98 12.1 Penulisan String pada Python ........................................ 98 5

12.2 Mendefinisikan Variabel String pada Python ................ 99 12.3 Operasi String pada Python .......................................... 100 12.4 Mengindex String pada Python .................................... 102 12.5 Range Slice pada Variabel String Python .................... 102 BAB 13 Membuat Variabel dengan Tipe Data Numerik ..... 104 13.1 Pengertian Variabel pada Python ................................. 104 13.2 Tipe Data Numerik pada Python .................................. 105 13.2.1 Tipe Data Integer pada Python......................... 105 13.2.2 Tipe Data Float pada Python ............................ 105 13.2.3 Tipe Data Complex pada Python ..................... 105 13.3 Contoh Mendifinisikan Variabel pada Python ............ 106 BAB 14 Pengertian Operator Logika pada Python .............. 108 14.1 Pengertian Operator Logika pada Python .................... 108 14.2 Operasi Matematika pada Logika Python .................... 108 14.3 Menggunakan Jenis Operator Logika .......................... 109 14.3.1 Operator AND ................................................... 109 14.3.2 Operator OR ...................................................... 110 14.3.3 Operator XOR ................................................... 111 14.3.4 Operator NOT ................................................... 112 BAB 15 Struktur Data List................................................... 113 15.1 Cara Membuat List di Python ...................................... 113 15.2 Cara Mengambil Nilai dari List ................................... 114 15.2.1 Menambahkan Item List ................................... 116 15.2.2 Mengganti Nilai List ......................................... 116 15.2.3 Menghapus Item di List .................................... 119 15.2.4 Memotong list ................................................... 120 15.2.5 Operasi List ....................................................... 120 15.2.6 List Multi Dimensi ............................................ 122 BAB 16 Pengertian dan Membuat List pada Python ........... 124 16.1 Cara Membuat List pada Python .................................. 124 16.2 Membuat List dalam bentuk Vektor ............................ 125 16.3 Membuat List dalam bentuk N..................................... 125 16.4 Membuat List dengan Nilai String ............................... 126 16.2.1 Array Addressing | Mengindex List pada Python ..... 127 6

16.2.2 Address |Mengambil Nilai Element List dengan Index Tertentu ................................................................................ 128 16.2.3 Address | Mengubah Nilai Element List dengan Index Tertentu ................................................................................ 129 16.2.4 Address | Menambah Element List ........................... 131 16.2.5 Address | Menghapus Element List .......................... 133 16.3 pop() | Menghapus Element dengan index tertentu atau terakhir ................................................................................. 134 16.4 del | Menghapus Element dengan index tertentu ......... 135 16.5 clear() | Mengosongkan List......................................... 137 BAB 17 Pengenalan Bahasa Python .................................... 138 17.1 Cara Membaca File di Python ...................................... 139 17.2 Membaca File Per Baris ............................................... 141 17.3 Membaca Semua Teks dalam File ............................... 143 17.4 Cara Menulis File di Python ........................................ 145 17.5 Menyisipkan Data ke File ............................................ 147 17.6 Membaca dan Menulis File dengan Mode "r+" ........... 149 17.7 Menggunakan with dan as............................................ 150 BAB 18 Tuple dalam Python ............................................... 152 18.1 Cara Membuat Tuple di Python ................................... 152 18.2 Membuat Tuple Kosong dan Singleton ....................... 153 18.3 Mengakses Nilai Tuple ................................................ 153 18.4 Memotong Tuple .......................................................... 154 18.5 Mengambil Panjang Tuple ........................................... 155 18.6 Tuple Nested ................................................................ 156 18.7 Sequence Unpacking .................................................... 156 BAB 19 Fungsi dan Prosedur pada Python .......................... 158 19.1 Cara Membuat Fungsi pada Python ............................. 158 19.2 Fungsi dengan Parameter ............................................. 160 19.3 Fungsi yang Mengembalikan Nilai .............................. 161 19.4 Variabel Global dan Lokal pada Python ...................... 162 19.5 Contoh Program dengan Fungsi ................................... 164 BAB 20 Dictionary pada Python ......................................... 171 20.1 Pengertian Dictionary pada Python.............................. 171 20.2 Membuat Dictionary .................................................... 172 7

20.3 Mengakses Nilai Item dari Dictionary ......................... 174 20.4 Mengubah Nilai Item Dictionary ................................. 176 20.5 Menghapus Item dari Dictionary ................................. 177 20.6 Menambahkan Item ke Dictionary............................... 178 20.7 Mengambil Panjang Dictionary ................................... 178 BAB 21 Penanganan Error pada Python .............................. 180 21.1 Syntax Errors................................................................ 180 21.2. Exceptions ................................................................... 181 21.2.1 ZeroDivisionError ..................................................... 181 21.2.2 NameError ................................................................. 181 21.2.3 TypeError .................................................................. 182 BAB 22 Parsing XML dengan DOM API ........................... 183 22.1 Parsing XML di Python ............................................... 183 22.2 Menambahkan Node pada XML .................................. 188 BAB 23 Parsing Data dari JSON ......................................... 192 23.1 Parsing File JSON di Python ....................................... 192 23.1.1 Membuat File JSON.......................................... 192 23.1.2 Percobaan di Iterpreter ...................................... 193 23.2 Parsing JSON dari URL Web Service di Python ......... 195 23.2.1 Percobaan di Postman ....................................... 195 23.2.2 Penguraian Informasi ........................................ 196 BAB 24 API Simsimi + Pemrograman PyGTK .................. 198 24.1 Mendapatkan Kunci API.............................................. 198 24.2 Membuat Request ........................................................ 199 24.3 Membuat Aplikasi Chat ............................................... 201 24.3 Pemrograman PyGTK .................................................. 202 24.5 Persiapan Pemrograman PyGTK ................................. 203 24.6 Contoh Program Membauat Jendela ............................ 204 24.7 Penjelasan Method ....................................................... 206 24.8 Membuat Jendela dengan Class ................................... 206 24.9 Membuat Tombol dan Label Teks ............................... 209 DAFTAR PUSTAKA .......................................................... 213 PROFILE PENULIS

8

DAFTAR GAMBAR Gambar 1.1 Tampilan Anaconda Navogator .......................... 1 Gambar 1.2 Tampilan python.org .......................................... 2 Gambar 1.3 Tampilan Python 3.4.2 ....................................... 2 Gambar 1.4 Tampilan select user Python .............................. 3 Gambar 1.5 Pilih lokasi install Python................................... 4 Gambar 1.6 Pilih customize Python ....................................... 4 Gambar 1.7 Pilih setelah customize Python........................... 5 Gambar 1.8 Tampilan Python shell........................................ 5 Gambar 1.9 Tampilan Python interpreter .............................. 6 Gambar 1.10 Tampilan Python interpreter linux ................... 9 Gambar 2.1 Tampilan Spyder Python .................................... 14 Gambar 2.2 Program Spyder Python .................................... 14 Gambar 2.3 Program simpan dan jalankan ........................... 15 Gambar 3.1 tampilan program spyder ................................... 17 Gambar 3.2 Tampilan program Jupyterlab ............................ 18 Gambar 3.3 Tampilan program PyCharm .............................. 19 Gambar 5.1 Perbandingan Coding Python dengan Lain ........ 25 Gambar 5.2 Tampilan Mode Interaktif python di Linux ....... 28 Gambar 5.3 Tampilan untuk input dan output ....................... 29 Gambar 5.4 Tampilan teks editor menulis skrip .................... 31 Gambar 5.5 Tampilan menyimpan dteks editor ..................... 32 Gambar 5.6 Tampilan direktori yang disimpan ..................... 32 Gambar 5.7 Alur Kerja Program Python ............................... 33 Gambar 5.8 Download PyCharm ........................................... 34 Gambar 5.9 Tampilan Root .................................................... 35 Gambar 5.10 Tampilan direktori Opt ..................................... 35 Gambar 5.11 Tampilan untuk run .......................................... 36 Gambar 5.12 Complete Instalations ....................................... 37 Gambar 5.13 Setting Enable file ............................................ 37 Gambar 5.14 Periksan PyCharm ............................................ 38 Gambar 5.15 Tampilan PyCharm Community Edition ......... 38 Gambar 5.16 Tampilan isi nama project ................................ 39 Gambar 5.17 Tampilan area kerja PyCharm .......................... 39 9

Gambar 5.18 Membuak project baru ..................................... 40 Gambar 5.19 Tampilan nama project baru............................. 40 Gambar 5.20 Tampilan menjalankan Projectnya ................... 41 Gambar 6.1Tampilan Blok Program ...................................... 44 Gambar 7.1Tampilan Percabangan ........................................ 48 Gambar 7.2 Tampilan Percabangan if.................................... 49 Gambar 7.3 Tampilan Hasil Percabangan if .......................... 51 Gambar 7.4 Tampilan Percabangan if/else ............................ 52 Gambar 7.5 Tampilan hasil Percabangan if/else .................... 52 Gambar 7.6 Tampilan Percabangan if/elseif/else .................. 53 Gambar 7.7 Tampilan hasil Percabangan if/elseif/else .......... 54 Gambar 10.1 Tampilan Flow Input output............................. 79 Gambar 24.1 Tampilan API configuration .......................... 199 Gambar 24.2 Tampilan PyGTK for python ......................... 203

10

BAB 1 Cara Install Python Sebelum kita memulai pemrograman bahasa Python, terlebih dahulu dilakukan installasi Python komputer atau laptop yang digunakan. Setelah itu, interpreter bahasa python dapat dijalankan, baik menggunakan command promt pada sistem operasi Windows, terminal pada sistem operasi Linux, atau IDE Python untuk mempermudah pengembangan suatu aplikasi. Berikut cara install Python di Windows, Linux atau Mac OS. Untuk melakukan installasi Python, dapat menggunakan Python original dari situs resmi atau sumber lain. Penggunaan Python dari sumber lain biasa lebih mempermudah dalam penggunaan lebih lanjut, seperti penggunaan library NumPy, ScriPy, ScyPy, dan matplotlib. Pada buku ini disarankan menggunakan installasi Python dari sumber lain misalnya Anaconda Navigator. Software ini menyediakan IDE Spyder, Jupyter, serta Visual Studio Code yang dapat mempermudah menulis kode Python.

Gambar 1.1 Tampilan Anaconda Navogator 11

1.1 Installasi Python di Windows 1. Download Python untuk Windows Kunjungi link berikut untuk mendownload disarankan versi Python terbaru. https://www.python.org/downloads/windows/ Windows.

atau

Python,

Python

v3.61

Instalasi python di Windows sangat mudah. Langkahlangkanya hampir sama seperti menginstal software Windows pada umumnya, next-next-finish. Perhatikan ada sedikit konfigurasi yang harus dipilih ditengah tengah proses instalasi, agar perintah Python dapat agar dikenali di cmd atau command prompt. di situs resmi Python yang akan diinstal dalam panduan ini adalah python versi 3. Download python.org.

Gambar 1.2 Tampilan python.org 2. Pilih File python-3.msi 12

Setelah selesai download, kita akan mendapatkan file python3.4.2.msi. File python-3.4.2.msi adalah file instalator python. File ini akan melakukan instalasi ke sistem windows. Klik dua kali untuk mengeksekusinya. Seperti file gambar di bawah ini.

Gambar 1.3 Tampilan Python 3.4.2 3. Pilih User Tahapan untuk memilih siapa saja yang boleh memakai python. Pilih Install for all users.

Gambar 1.4 Tampilan select user Python 13

4. Lokasi Instalasi Kita menentukan lokasi python akan diinstal. Contohnya kita letakkan di C:\python34\, kemudian klik next.

Gambar 1.5 Pilih lokasi install Python 5. Kostumisasi Kita menentukan fitur-fitur yang akan diinstal. Jangan lupa untuk mengaktifkan “Add python.exe to path” agar perintah python dikenali pada CMD (Command Prompt).

Gambar 1.6 Pilih customize Python 14

Setelah diaktifkan, akan menjadi seperti ini:

Gambar 1.7 Pilih setelah customize Python 6. Finish Klik finish. Uji coba Python Pertama, kita coba dulu membuka Python Shell. Silahkan buka Start Menu kemudian cari Python Shell.

Gambar 1.8 Tampilan Python shell

15

Kemudian coba dengan Python dari Cmd, ketik perintah python untuk masuk ke Python Shell dari Cmd.

Gambar 1.9 Tampilan Python interpreter Jika tampilan seperti diatas berarti anda berhasil install Python.

1.2

Installasi Python di Linux 1. Download Python untuk Linux Kunjungi link berikut untuk mendownload Python, disarankan versi Python terbaru. https://www.python.org/downloads/source/ atau Python v3.65 Linux

2. Ekstrak File Dwonload 3. Buka Direktori Folder File 4. Jalankan Melalui Terminal

16

Buka terminal dengan melakukan klik kanan pada direktori folder file, pilih Open in terminal. Jalankan perintah dengan otoritas super user contoh diawali dengan sudo (Ubuntu) pada perintah no 1. 1./configure script 1 make 1 make install

Python Terinstall Langkah ini menginstal Python pada /usr/local/bin dan usr/local/lib/PythonXX dengan XX adalah kode versi Python. 1.3 Installasi Python di Mac OS 1.

Download Python untuk Mac OS Kunjungi link berikut untuk mendownload Python, disarankan versi Python terbaru. https://www.python.org/downloads/mac-osx/

atau

Python v3.65 Mac OS 2. Klik 2x untuk Melakukan Installasi Python Lakukan installasi Python hingga selesai.

17

1.4 Install Python Anaconda Navigator Untuk melakukan installasi Python menggunakan Anaconda Navigator, dapat mendownload software secara gratis pada situs resminya. https://www.anaconda.com/download/ Dwonload software Anaconda sesuai dengan sistem operasi yang anda gunakan. Untuk Windows dan Mac OS, anda dapat melakukan installasi dengan membuka langsung file hasil download di situs Anaconda Navigator. Installasi Anaconda Navigator di Linux 1. Buka Direktori yang Memuat File Misalkan nama filenya Anaconda3-5.1.0-Linux-x86.sh 2. Jalankan Terminal Klik kanan pada direktori yang memuat file yang telah didownload, pilih Open in terminal. Jalankan perintah dengan otoritas super user, misalnya sudo untuk Ubuntu. 1bash ./Anaconda3-5.1.0-Linux-x86.sh 3. Lakukan Proses Installasi Untuk membuka Anaconda Navigator pada Linux, jalankan pada terminal pada direktori awal, anda dapat menuju direktori awal dengan melakukan eksekusi perintah cd pada terminal yang masih terbuka. 18

Disarankan untuk tidak menggunakan otoritas Super User untuk membukan Anaconda Navigator pada Linux. 1

anaconda-navigator

1.5 Menjalankan Interpreter Python Untuk menguji apakah Python telah berhasil diinstall anda dapat menjalankan perintah berikut melalui command prompt atau terminal. 1 python

Gambar 1.10 Tampilan Python interpreter linux Dengan terminal tersebut sudah dapat menjalankan interpreter python.

19

BAB 2 Filosofi Pemrograman Python

2.1 Filosofi Pemrograman Python Bahasa pemrograman Python ditujukan untuk menghasilkan bahasa pemrograman sederhana yang mampu memberikan fitur-fitur dari bahasa pemrograman lain termasuk C++, C, dan Java. Sehingga Python mampu memberikan cita rasa pemrograman yang cepat, pembelajaran yang mudah, serta mempermudah pengembangan software. Python menjadi bahasa pemrograman open source terbesar. Setiap orang dapat berkontribusi untuk membangun programprogram yang dapat digunakan oleh orang lain dalam programnya. Hal ini disebut dengan package atau module. Tercatat untuk tahun 2018, terdapat 117.181 module yang dibuat oleh seluruh developer dan dibagikan sebagai repository Python. “Filosofi

Python

adalah

sebagai

bahasa

pemrograman

multipurpose, portable, object-oriented, dan high level programming yang memberikan lingkungan interaktif untuk menulis kode secara minimalis“

20

2.2 Dasar dasar pemrograman Python 1.

Multipurpose Python merupakan bahasa pemrograman multiguna (multipurpose). mempermudah scientific

berbagai

banyak

game

image

modul

disiplin

computation,

cryptography, learning,

Terdapat

ilmu

statistic,

development,

processing,

yang

misalnya

networking, GUI,

plotting,

machine database,

HTML/XML parsing, natural language processing, dan testing. 2. High Level Language Python merupakan high level programming language atau

bahasa

pemrograman

pemrograman secara

tinggi.

umum,

Dalam

dikenal

hal

bahasa

pemrograman rendah dan bahasa pemrograman tinggi. Bahasa pemrograman rendah melakukan komunikasi langsung

menggunakan

bahasa

mesin

untuk

berkomunikasi dengan hardware. Sedangkan bahasa pemrograman

tinggi

menggunakan

library

untuk

melakukan komunikasi dengan hardware. Library ini berfungsi untuk melakukan terjemahan bahasa tinggi ke bahasa mesin.

21

3. Object Oriented Programming Python

menggunakan

fundamental

pemrograman

berorientasi objek atau object oriented programming. Bahasa pemrograman tradisional melakukan komputasi secara natural, dalam artian semua harus didefinisikan terlebih dahulu untuk dilakukan proses secara runut. Dalam perkembangan selanjutnya, dikenal object oriented

programming

(OOP).

Fundamental

ini

membagi kode menjadi blok-blok yang dieksekusi secara paralel sebagai tread pemrosesan yang disebut dengan object. Dalam hal ini metode OOP akan melakukan eksekusi dengan berorientasi pada object. Object dapat berupa function dan class. 4. Interactive Environtment Syntax pemrograman pada Python merupakan turunan dari syntax yang digunakan bahasa C dan UNIX. Sebagain besar syntax Python mempunyai kesamaan dengan bahasa pemrograman C. Dengan mengadopsi lingkungan UNIX, bahasa pemrograman Python dapat diajalan dalam mode console. Ditambah dengan syntaxsyntax yang dibuat untuk mempermudah pembelajaran seperti

help() membuat

Python

menjadi

bahasa

pemrograman interaktif. 22

5. Minimalistic Design Struktur kode

yang minimalis membuat

bahasa

pemrograman Python mempunyai tingkat keterbacaan yang jauh lebih mudah dari bahasa pemrograman lainnya. Seperti penggunaan tabulasi atau indentasi sebagai pembatas struktur. Filosofi terkait minimalisasi syntax terdapat pada dokumen yang diterbitkan Tim Peters yang berjudul The Zen of Python. 6. Portability Python didukung oleh komunitas open source-nya. Hal ini membuat Python dapat berjalan di berbagai platform. Termasuk Linux, Microsoft Windows, Solaris, Macintosh, dan SonyPlaystation. 7. Extensibilty Python mempunyai ratusan ribu modul yang dapat digunakan untuk mempermudah pengembangan suatu software atau riset. Misalnya modul untuk menghitung integral, pengguna dapat membuat program tanpa harus membuat syntax yang dapat menghitung integral.

2.3 Memulai Pemrograman Python Untuk memulai pemrograman python dapat dilakukan melalui IDE. Pada artikel ini digunakan IDE Spyder. Syntax dapat 23

dieksekusi melalui console (misalnya IPython) maupun dalam bentuk file melalui editor. File syntax python disimpan dalam format (.py).

Gambar 2.1 Tampilan Spyder Python 1. Buka IDE yang anda gunakan 2. Membuat Program Sederhana Program Hello World 1 print("Hello World")

Gambar 2.2 Program Spyder Python 24

2.4

Simpan dan Jalankan Misalnya

save

nama

program

dengan

nama

(hello_world.py). Selanjutnya program dapat dijalankan dan output dihasilkan pada console.

Gambar 2.3 Program simpan dan jalankan

25

BAB 3 Python IDE Windows dan Linux

Sebagai bahasa pemrograman interpretatif, banyak developer yang mengembangkan Python IDE Windows dan Linux untuk memberikan

layanannya.

Python

IDE

atau

Integrated

Development Environtment adalah software yang membantu developer

untuk

mengembangkan

aplikasi

dengan

menggunakan bahasa pemrograman Python yang dilengkapi GUI. Peggunaan Python IDE, dapat mempermudah kita untuk menulis kode dan menjalankan kode Python. Berikut artikel review Python IDE Windows Linux terbaik dan gratis. 1.

Spyder Spyder adalah kependekan dari The Scientific PYthon Development EnviRonment yang merupakan IDE yang memfokuskan untuk melakukan pemrograman di ranah scientific atau keilmuan. IDE ini tersedia untuk sistem operasi Windows, Linux, dan Mac OS. Sypder juga didistribusikan

secara

langsung

pada

software

Anaconda.

26

Gambar 3.1 Tampilan program spyder

Spyder mempunyai user interface seperti text editor dengan fitur syntax highlighter untuk mempermudah keterbacaan kode. Selain itu tersedia fitur Interactive console, Documentation viewer, Variable explorer, Find in filfes, File explorer, dan History log. Fitur-fitur ini sangat mendukung pengguna dengan latar belakang pemrograman menggunakan MATLAB dan RStudio. Download Spyder

2. JupyterLab JupyterLab adalah IDE Python yang dibangun dari web server komputer pengguna dalam bentuk aplikasi berbasis web. JupyterLab diterbitkan sejak tahun 2014 27

dan telah menjadi pilihan sebagai IDE Python khususnya

analisis

data.

Dengan

menggunakan

arsitektur berbasis web server, IDE ini menjadi sangat ringan.

Gambar 3.2 Tampilan program Jupyterlab

JupyterLab memungkinkan pengguna untuk melakukan ekspor data hasil visualisasi seperti matplotlib kebentuk html dan pdf. Hal ini akan mempermudah pengguna untuk membagikan hasil analisis data, baik untuk presentasi maupun diupload ke situs web atau blog. JupyterLab tersedia untuk sistem operasi Linux, Windows, dan Mac OS. Download JupyterLab 28

3. PyCharm PyCharm adalah IDE Python yang dikembangkan oleh JetBrains‟s. IDE ini sangat direkomendasikan bagi yang terbiasa dengan IDE bahasa pemrograman lain yang didstribusikan oleh JetBrain‟s. IDE ini tersedia gratis untuk versi komunitas. Tersedia untuk sistem operasi Linux, Windows, dan Mac OS.

Gambar 3.3 Tampilan program PyCharm Sama dengan Spyder dan JupiterLab, PyCharm juga dapat diintegrasikan dengan library-library Python seperti NumPy, ScyPy, MatplotLib, dan lain-lain. PyCharm memiliki fitur-fitur pendukung seperti code editor, syntax highlighter, debugger, integrasi GIT, SVN, dan Mercurial. Download PyCharm 29

BAB 4 Pengertian Pemrograman Python

Pengertian bahasa pemrograman python adalah bahasa pemrograman tingkat tinggi yang dapat melakukan eksekusi, sejumlah intruksi multiguna secara langsung (interpretatif) dengan metode orientasi objek (Object Oriented Programming) serta menggunakan semantik dinamis untuk memberikan tingkat keterbacaan syntax. Sebagai bahasa pemrograman tingkat tinggi, python dapat dipelajari dengan mudah karena sudah dilengkapi dengan manajemen memori otomatis (pointer).

4.1 Python Pemrograman Open Source Python

dapat

digunakan

secara

bebas,

bahkan

untuk

kepentingan komersial sekalipun. Banyak perusahaan yang mengembangkan

bahasa

pemrograman

python

secara

komersial juga memberikan layanannya. Misalnya Anaconda Navigator, adalah salah satu aplikasi untuk pemrograman python yang dilengkapi dengan tool-tool pengembangan aplikasi.

30

4.2 Rapid Application Development (RAD) Python diklaim mampu memberikan kecepatan dan kualitas untuk

membangun

aplikasi

bertingkat

tinggi

(Rapid

Application Development). Hal ini didukung oleh adanya library dengan modul-modul baik standar maupun tambahan misalnya NumPy, SciPy, dan lain-lain. Python juga mempunyai komunitas

yang

besar

sebagai

tempat

tanya

jawab

memecahkan masalah. Mesin pencari Google adalah contoh nyata dari penggunaan bahasa pemrograman python dalam kehidupan sehari-hari. Mesin pencari ini termasuk Rapid Application Development, ia tidak hanya berguna untuk mencari halaman website. Kolom pencarian Google juga dapat digunakan sebagai kalkulator, membuat grafik fungsi, memprediksi cuaca, memprediksi harga

saham,

terjemahan,

mencari

dengan

gambar,

menanyakan hari, pemesanan tiket pesawat, dan lain-lain.

4.3 Python Mendukung Berbagai Sistem Operasi Syntax python dapat dijalankan dan ditulis untuk membangun aplikasi di berbagai sistem operasi. 1. Linux/Unix 2. Microsoft Windows 3. Mac OS 31

4. Android 5. Java Virtual Machine 6. Symbian OS 7. Amiga 8. Palm 9. OS/2

4.4 Aplikasi Penggunaan Python Python digunakan di berbagai bidang pengembangan. Berikut beberapa aplikasi penggunakan python yang paling populer, 1. Website dan internet Bahasa pemrograman python dapat digunakan sebagai server side yang diintegrasikan dengan berbagai internet protokol misalnya HTML, JSON, Email Processing, FTP, dan IMAP. Selain itu, python juga mempunyai library untuk pengembangan internet.

2. Penelitian ilmiah dan Numerik Python dapat digunakan untuk melakukan riset ilmiah untuk mempermudah perhitungan numerik. Misalnya penerapan algoritma KNN, Naive Bayes, Decision Tree, dan lain-lain.

32

3. Data Science dan Big Data Python memungkinkan untuk melakukan analisis data dari database big data.

4. Media pembelajaran pemrograman Python dapat digunakan sebagai media pembelajaran di universitas. Python sangat mudah dan hemat untuk dipelajari

sebagai

Object

Oriented

Programming

dibandingkan bahasa lainnya seperti MATLAB, C++, dan C#.

4.5 Graphical User Interface (GUI) Python dapat digunakan untuk membangun interface sebuah aplikasi. Tersedia library untuk membuat GUI menggunakan python, misalnya Qt, win32extension, dan GTK+. 1. Pengembangan Software Python menyediakan dukungan struktur kode untuk mempermudah pengembangan software. 2. Aplikasi bisnis Python juga dapat digunakan untuk membuat sistem informasi baik untuk bisnis dan instansi.

33

BAB 5 Pengenalan Dasar Python

Belajar bahasa pemrograman python sangat mudah, sekarang ini sangat popular dikalangan ilmuan atau researcher, karena bahasa python baik digunakan untuk pengujian Artificial intelligence. Untuk memahami bahasa python ada beberapa hal yang harus diketahui. Python merupakan bahasa pemrograman tingkat tinggi yang dibuat oleh Guido van Rossum, dia adalah programmer komputer berkewarganegaraan Belanda yang lebih di kenal

sebagai pencipta dan "Benevolent Dictator for Life" dari bahasa pemrograman Python yang artinya dia hanya akan memberikan keputusan akhir jika dibutuhkan. Python banyak digunakan untuk membuat berbagai macam program, seperti: program CLI, Program GUI (desktop), Aplikasi Mobile, Web, IoT, Game, Program untuk Hacking, dan sebagainya. Python juga dikenal dengan bahasa pemrograman yang mudah dipelajari, karena struktur sintaknya rapi dan mudah dipahami. (Python bagus untuk pemula yang belum pernah coding) Berikut perbedaan bahasa python , C++ dan JAVA

34

Gambar 5.1 Perbandingan Coding Python dengan Lain Python memang sangat sederhana dibandingkan bahasa yang lainnya. Tidak perlu banyak aturan membuat program Hello World!. Defenisi bahasa python adalah sebagai berikut: “Python is a programming language that lets you work quickly and integrate systems more effectively”. Beikur alasan kita kenapa belajar pemrograman Python. 1. Cocok digunakan untuk mengolah data science 2. Mudah dipelajari 3. Banyak digunakan di perusahaan besar 4. Banyak digunakan para ilmuan dibidang computer terutama machine learning 5. Banyak digunakan para peneliti / researcher 35

5.1 Persiapan Belajar Pemrograman Python Peralatan yang harus dipersiapkan untuk belajar pemrograman python adalah sebagai berikut: 1. Python: Interpreter yang menerjemahkan bahasa python ke bahasa mesin, sehingga program bisa dijalankan. 2. Teks Editor/IDE: Program yang digunakan untuk menulis kode. Bagi pengguna Linux, Python tidak perlu diinstal. Karena Sebagian besar distro Linux sudah menyediakannya secara default. Untuk mengeceknya, silahkan ketik perintah python -version

di terminal.

$ python --version

Python 2.7.12 Bagi pengguna Windows, silahkan baca Cara Install Python di Windows dibab sebelumnya. Python memiliki versi saat ini ada dua macam yaitu Python Versi 2 dan Python Versi 3. Adapun perbedaannya adalah Python versi 2 merupakan versi yang banyak digunakan saat ini, baik dilingkungan produksi dan pengembangan.

36

Sementara Python versi 3 adalah pengembangan lanjutan dari versi 2. Python 3 memiliki lebih banyak fitur dibandingkan Python 2. Untuk membuka Python 2 kita hanya menggunakan perintah python

saja, sedangkan Python 3 menggunakan perintah

python3. -$ python –version

Pyhton 2.7.12 -$ python3 –version

Pyhton 2.7.12 Untuk yang baru belajar disarankan menggunakan versi 2. Sementara untuk yang sudah mahir, bisa mencoba yang versi 3. Siapkan Teks Editor/IDE untuk Menulis Kode, Teks editor yang digunakan untuk menulis program python bisa apa saja. Bahkan Notepad pun bisa. Pada Linux, banyak sekali pilihan teks editor yang bisa digunakan. Untuk teks editor berikut referesi untuk dibaca: 

6 Teks Editor Berbasis Teks (CLI) di Linux untuk Menulis Kode



[Review] Text Editor Visual Studio Code di Linux

37

Selain teks editor, kita juga bisa menggunakan IDE (Integereted Development Environtment). Namun, nanti kita akan bahas belakangan. Untuk saat ini kita pakai teks editor saja dulu, biar lebih paham konsep pemrograman.

5.2 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, dan lain lain. Cara membuka mode interaktif adalah dengan mengetik perintah python pada terminal.

Gambar 5.2 Tampilan Mode Interaktif python di Linux Untuk keluar dari mode interaktif tekan Ctrl+d atau ketik perintah exit(). 38

Tanda >>> adalah 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.

Gambar 5.3 Tampilan untuk input dan output 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 39



Mencari bantuan tentang fungsi tertentu dll

Hal yang perlu kita coba adalah mencari bantuan tentang fungsi

tertentu,

karena

akan

membantu

sekali

dalam

mempelajari python. Ada dua fungsi yang digunakan untuk mencari bantuan: 1. fungsi dir() untuk melihat fungsi apa saja yang tersedia pada sebuah modul. 2. fungsi help() untuk membuka dokumentasi suatu fungsi. Sebgai contoh, kita akan coba mencari tahu tentang penggunaan modul Math. Pertama kita impor dulu modulnya ke mode interaktif. >>> import math

Setelah itu kita bisa melihat 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']

40

Lalu, kita bisa cari tahu cara penggunaan fungsi-fungsi tersebut dengan help(). Misalkan ingin cari tahu cara penggunaan fungsi pow(), maka kita harus memberikan perintah help(math.pow).

Bantuan pada fungsi pow dalam modul

matematika :pow(...) pow(x, y) Return x**y (x to the power of y). (END)

*untuk keluar dari dokumentasi tekan q 5.3 Menulis Skrip Python Program yang kita tulis dalam mode interaktif tidak akan disimpan. Setelah mode interaktif ditutup, program akan hilang. Oleh karena itu, kita harus membuat skrip. Silahkan gunakan teks editor untuk menulis skrip seperti di bawah ini.

Gambar 5.4 Tampilan teks editor menulis skrip 41

Setelah itu simpan dengan nama hello_world.py

Gambar 5.5 Tampilan menyimpan dteks editor Kemudian untuk menjalankan skripnya, gunakan perintah berikut: python nama_skrip.py

Pastikan mengetik perintah tersebut pada direktori tempat menyimpan skripnya.

Gambar 5.6 Tampilan direktori yang disimpan

42

5.4 Alur Kerja Pembuatan Program Python

Gambar 5.7 Alur Kerja 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. Sampai tahap ini, kita sudah tahu cara membuat program Python. Selanjutnya, kita akan membuat program Python menggunakan IDE PyCharm.

43

5.5 Pemrograman Python Menggunakan 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 buku ini, kita akan menggunakan PyCharm versi Komunitas. Instalasi PyCharm di Linux, Pertama, pastikan komputermu sudah terinstal JDK (Java Development Kit) atau JRE. Karena PyCharm terbuat dari Java dan dia membutuhkan JRE untuk berjalan. Silahkan baca Cara Instal JDK dan JRE di Linux. Silahkan download PyCharm di website JetBrains.

Gambar 5.8 Download PyCharm 44

Pastikan men-download yang versi komunitas. Setelah itu, ikuti langkah-langkah berikut untuk menginstalnya: 1. Buka File manager sebagai root.

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

Gambar 5.10 Tampilan direktori Opt

45

Pada gambar di atas, Saya menggunakan F3 untuk memecah tampilan (tergantung dari file manager yang kamu gunakan). 3. Buka kembali File Manager sebagai user biasa. Kemudian

masuk

2017.1.2/bin pycharm.sh,

dan

ke

/opt/pycharm-community-

klik

ganda

pada

file

lalu pilih run.

Gambar 5.11 Tampilan untuk run 4. Tungulah sebentar, maka akan terbuka jendela baru. Pilih Don not import settings, kemudian klik OK.

46

Gambar 5.12 Complete Instalations 5. Jendela sambutan akan terbuka, silahkan centang “Enable opening file…” agar perintah charm dikenali di terminal. Setelah itu klik Ok.

Gambar 5.13 Setting Enable file Masukkan Password bila diminta, setelah itu klik OK.

47

Coba periksa di menu, apakah sudah ada PyCharm atau tidak

Gambar 5.14 Periksan PyCharm Membuat Proyek Python di PyCharm, Untuk membuat proyek baru, kita bisa klik “Create new Project” pada jendela sambutan (welcome) PyCharm.

Gambar 5.15 Tampilan PyCharm Community Edition 48

Atau bisa juga dilakukan melalui menu File-> New Project. Setelah itu, kita akan diminta untuk mengisi nama proyeknya dan memilih versi Python yang akan digunakan. Isi saja nama proyeknya dengan hello-world dan gunakan Python versi 2 (python2.7).

Gambar 5.16 Tampilan isi nama project Maka kita akan langsung di bawah ke area kerja PyCharm.

Gambar 5.17 Tampilan area kerja PyCharm

49

Selanjutnya, silahkan tambahkan file python dengan klik kanan pada direktori proyek, kemudian pilih New->Python File.

Gambar 5.18 Membuak project baru Setelah itu, berikan nama filenya dengan program-pertama dan klik Ok.

Gambar 5.19 Tampilan nama project baru Selanjutnya, tulis kode program-nya. print "Hello dunia" print "Selamat datang di pemrograman Python" print "Saya belajar Python dengan PyCharm" print "Salam, Petani Kode"

50

Kemudian buka menu Run-> Run… atau tekan tombol Alt+Shift+F10. Kalau muncul pilihan, pilih saja programpertama.

Gambar 5.20 Tampilan menjalankan Projectnya Program pertama kita di PyCharm sudah berhasil dieksekusi. Begitulah cara membuat program python menggunakan IDE PyCharm,

kita

tidak

perlu

membuka

terminal

untuk

mengekseskusi programnya.

51

BAB 6 Penulisan Sintaks Python

Setelah mempersiapkan segala perlengkapan untuk coding python dan mengetahui cara membuat program python, harus mempelajari aturan-aturan penulisan sintaks Python yang harus dipatuhi. Buku ini, akan membahas beberapa aturan dasar penulisan sintaks Python yang harus diketahui. Agar nanti mudah dalam menulis program.

6.1 Penulisan Statement Python Statement adalah sebuah intruksi atau kalimat perintah yang akan dieksekusi oleh komputer. Contoh: print("Hello World!") print("Belajar Python dari Nol") nama = "Belajar Python"

Penulisan satu statement tidak diakhiri dengan tanda titikkoma. Sedangkan, bila ingin menulis lebih dari satu statement dalam satu baris, maka harus memisahnya dengan titik-koma. Contoh: print("Hello");print("World");print("Tutorial Python untuk Pemula") nama_depan = "belajar"; nama_belakang = "python"

52

Tapi menurut beberapa style guide python, tidak dianjurkan menulis lebih dari satu statement dalam satu baris. Karena akan sulit dibaca.

6.2 Penulisan String pada Python String adalah teks atau kumpulan dari karakter. String dalam pemrograman biasanya ditulis dengan dibungkus menggunakan tanda petik. Bisa menggunakan tanda petik tunggal maupun ganda. Contoh: judul = "Belajar Pemrograman Python sampai Bisa" penulis = 'Belajar Python'

Atau bisa menggunakan triple tanda petik. Contoh: judul = """Belajar Python dengan Cepat""" penulis = '''Belajar Python'''

6.3 Penulisan 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…

53

Case Style Menurut rekomendasi style guide Google, berikut ini contoh penulisan case yang disarankan: ## Snake Case digunakan pada: module_name, package_name, method_name, function_name, , global_var_name, instance_var_name, function_parameter_name, local_var_name.

## CamelCase digunakan Pada: ClassName, ExceptionName

## ALL CAPS digunakan Pada: GLOBAL_CONSTANT_NAME

Silakan dibaca ada 4 Macam Gaya Penulisan Case dalam Pemrograman.

6.4 Penulisan Blok Program Python Blok program adalah kumpulan dari beberpaa statement yang digabungkan dalam satu blok. Penulisan blok program harus ditambahkan indentasi (tab atau spasi 2x/4x).

Gambar 6.1Tampilan Blok Program 54

Contoh yang benar: # blok percabangan if if username == 'belajarpython': 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 if username == 'petanikode': print("Selamat Datang Admin") print("Silahkan ambil tempat duduk")

# blok percabangan for for i in range(10): print i

Ada beberapa macam blok program yang digunakan pada bahasa python: 1.

Blok Percabangan

2.

Blok Perulangan

3.

Blok Fungsi

4.

Blok Class

5.

Blok Exception

6.

Blok With

55

6. 5 Cara Penulisan Komentar pada Python Komentar merupakan baris kode yang tidak akan dieksekusi. Komentar digunakan untuk memberikan informasi tambahan dan untuk menonaktifkan kode. Ada beberapa cara menulis komentar pada pemrograman Python. Menggunakan Tanda Pagar (#) Contohnya: # ini adalah komentar # Ini juga komentar

Menggunakan Tanda Petik Selain untuk mengapit teks (string), tanda petik juga dapat digunakan untuk membuat komentar. Contoh: "Ini adalah komentar dengan tanda petik ganda" 'Ini juga komentar, tapi dengan tanda petik tunggal'

Penulisan komentar dengan tanda petik jarang digunakan, kebanyakan orang lebih memilih untuk menggunakan tanda pagar. Jadi tidak direkomendasikan, menggunakan Triple Tanda Petik, Sedangkan triple tanda petik, sering digunakan untuk menuliskan dokumentasi. Contohnya: class Pagar: """kelas pagar untuk membuat objek pagar. Dibuat oleh Petani Kode sebagai contoh saja.""" def __init__(self, warna, tinggi, bahan): self.warna = warna

56

self.tinggi = tinggi self.bahan = bahan

# Mengakses dokumentasi kelas print Pagar.__doc__ raw_input('\ntekan [enter] untuk bantuan (dokumentasi) kelas: ')

melihat

help(Pagar) # untuk melihat dokumentasi kelas_ Hasilnya: $ python kelas_pagar.py

kelas pagar untuk membuat objek pagar. dibuat oleh Belajar Python sebagai contoh saja. tekan [enter] untuk melihat bantuan (dokumentasi) kelas: Setelah Enter ditekan Help on class Pagar in module main: class Pagar | kelas pagar untuk membuat objek pagar. | dibuat oleh Belajar Python | sebagai contoh saja. | | Methods defined here: | | __init__(self, warna, tinggi, bahan) (END)

57

BAB 7 Percabangan dan Perulangan

Apa itu percabangan dan kenapa dinamakan percabangan karena dalam algoritma dan flowchart, Istilah ini sebenarnya untuk menggambarkan alur program yang bercabang. Pada flow chart, logika “jika…maka” digambarkan dalam bentuk cabang.

Gambar 7.1 Tampilan Percabangan Ini disebut percabangan. Selain percabangan, struktur ini juga disebut control flow, decision, struktur kondisi, Struktur if, dan lain lain. Percabangan akan mampu membuat program berpikir dan menentukan tindakan sesuai dengan logika/kondisi yang kita berikan.

58

Pada buku ini, kita akan belajar struktur percabangan pada python. Mulai dari yang paling dasar hingga yang kompleks. Pastikan sebelumnya sudah paham tentang operator relasi dan logika.

7.1 Struktur Percabangan If Percabangan If digunakan saat terdapat satu pilihan keputusan. Misalkan, kalau kita tidak lulus dalam ujian, maka kita ikut remedial. Sedangkan kalau lulus tidak perlu ikut remedial.

Gambar 7.2 Tampilan Percabangan if 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 menggunakan operator relasi sama dengan (==) untuk membandingkan isi variabel lulus. Sedangkan tanda titik-dua (:) adalah tanda untuk memulai blok kode If. 59

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.

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 adalah berapa total belanjaannya

60

# 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:

Gambar 7.3 Tampilan Hasil Percabangan if

7.2 Struktur Percabangan If/Else Percabangan If/Else digunakan saat terdapat dua pilihan keputusan. Misalkan, jika umur diatas atau sama dengan 18 tahun boleh membuat SIM. Sedangkan dibawah itu belum boleh. 61

Gambar 7.4 Tampilan Percabangan if/else 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 apabila kondisi umur >= 18 salah (False).

Hasil eksekusi dari kode di atas adalah sebagai berikut:

Gambar 7.5 Tampilan hasil Percabangan if/else 62

7.3 Struktur Percabangan If/Elif/Else Percabangan If/Elif/Else digunakan apabila terdapat lebih dari dua pilihan keputusan. if begini: maka ini elif begitu: maka itu else: Kata kunci elif artinya Else if, fungsinya untuk membuat kondisi/logika tambahan apabila kondisi pertama salah. Contoh Program: Misalkan kita akan membuat program untuk menentukan grade nilai dengan flow chart sebagai berikut:

Gambar 7.6 Tampilan Percabangan if/elseif/else 63

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)

Maka hasilnya:

Gambar 7.7 Tampilan hasil Percabangan if/elseif/else

7.4 Memahami Perulangan Perulangan dalam bahasa pemrograman berfungsi menyuruh komputer melakukan sesuatu secara berulang-ulang. Terdapat 64

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 adalah perulangan for biasanya digunakan untuk mengulangi kode yang sudah diketahui banyak perulangannya. Sementara while untuk perulangan yang memiliki syarat dan tidak tentu berapa banyak perulangannya.

7.4.1 Perulangan for Bentuk umum: for indek in range(banyak_perulangan): # jalankan kode ini # jalankan juga kode ini #kode ini tidak akan diulang karena 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

65

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: Selamatkode@imajinasi:~$ 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 menggunakan senarai (list): # berkas: perulanganFor.py item = ['kopi','nasi','teh','jeruk'] for isi in item: print isi

Hasil: selamatkode@imajinasi:~$ python perulanganFor.py kopi 66

nasi teh jeruk

7.4.2 Perulangan while Bentuk umum: while(True): # jalankan kode ini # kode ini berada di luar perulangan while

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 menggunakan kata kunci 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. 67

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? ")

Setelah selesai mengulang, cetak berapa kali perulangan tersebut terjadi print "Total perulagan: " + str(hitung) Hasil: selamatkode@imajinasi:~$ 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

68

BAB 8 Fungsi dan Prosedur pada Python

Dalam pembuatan program yang kompleks dan memiliki banyak fitur, kita diharuskan menggunakan fungsi dan prosedur. Kenapa memangnya kalau tidak menggunakan fungsi? Bisa jadi kita akan mengalami kesulitan menulis kode programnya, karena 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 tersedia dibawah ini. Sebelum lihat program alangkah baiknya kita memahami teori dasar dan hal apa saja yang harus kita ketahui tentang fungsi di Python.

8.1 Cara Membuat Fungsi pada Python Fungsi pada Python, dibuat dengan kata kunci def kemudian diikuti dengan nama fungsinya. Contoh: 69

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.

Setelah kita buat fungsinya, kita bisa memanggilnya seperti ini: 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 2x: # Membuat Fungsi def salam(): print "Hello, Selamat Pagi" ## Pemanggilan Fungsi salam() salam()

70

Hasilnya: Hello, Selamat Pagi Hello, Selamat Pagi Bagaimana 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.

8.2 Fungsi dengan Parameter Buku ini membahas bagaimana kalau kita ingin memberikan input nilai ke dalam fungsi. Dengan memanfaatkan parameter. Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi.

71

Contoh: def salam(ucapan): print(ucapan)

Pada contoh diatas, kita akan membuat fungsi dengan parameter ucapan. Cara pemanggilan fungsi yang memiliki parameter adalah seperti ini: salam("Selamat siang") "Selamat siang"  adalah nilai parameter yang akan diberikan. Lalu bagaimana kalau parameternya lebih dari satu. Kita bisa menggunakan 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: Luas segitiga: 12.000000

8.3 Fungsi yang Mengembalikan Nilai Fungsi yang tidak mengembalikan nilai biasanya disebut dengan prosedur. Namun, kadang kita butuh hasil proses dari fungsi untuk digunakan pada proses berikutnya. Maka

fungsi

pemrosesannya.

harus Cara

mengembalikan mengembalikan

nilai

dari

nilai

hasil adalah 72

menggunakan kata kunci return lalu diikuti dengan nilai atau variabel

yang

akan

dikembalikan.

Berikut

struktur

parameternya.

Contoh: def luas_persegi(sisi): luas = sisi * sisi return luas # pemanggilan fungsi print "Luas persegi: %d" % luas_persegi(6)

Hasilnya: Luas persegi: 36 Perbedaan dengan fungsi luas_segitiga() yang tadi. Pada fungsi luas_segitiga() kita melakukan print dari hasil pemrosesan secara langsung di dalam fungsinya. Sedangkan 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. 73

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.

8.4 Variabel Global dan Lokal pada Python Saat kita menggunakan fungsi, maka kita juga harus mengetahui yang namanya variabel Global dan Lokal. Yang maksud variabel Global adalah variabel yang bisa diakses dari semua fungsi, sedangkan variabel lokal hanya bisa diakses di dalam fungsi tempat dia 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 digunakan. Tapi kalau tidak ada, pencarian terus ke Global, dan Build-in. Variabel Build-in adalah variabel yang sudah ada di dalam Python. Contoh program: # membuat variabel global nama = "Petanikode"

74

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: Petanikode 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() adalah variabel lokal. Jadi, saat kita memanggil fungsi help() maka nilai yang akan tampil adalah nilai yang ada di dalam fungsi help(). Kenapa tidak tampil yang global karena 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.

75

8.5 Contoh Program dengan Fungsi Sekarang kita memulai program, pertama tama silahkan buat file baru bernama program_fungsi.py. 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.

Sekarang kita bahasa pertama 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" % buku[indeks])

(indeks,

Fungsi diatas akan mengecek isi dari list buku. Jika isinya kosong (len(buku) <= 0) maka tampilkan "BELUM ADA 76

DATA". Namun, apabila 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() adalah fungsi untuk menambahkan item di akhir list. 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 fungsi show_data() di dalamnya. Setelah 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)), 77

maka tampilkan pesan "ID salah". Namun, apabila 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(). Berikut ada dua fungsi lagi yang kita butuhkan: 1. Fungsi untuk menampilkan menu 2. Fungsi untuk keluar (sudah ada di python: exit()) Sekarang kita buat programnya # 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"

78

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 diatas 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. if __name__ == "__main__": adalah blok main di Python. Sebenarnya tanpa ini, programnya sudah bisa dijalankan. 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:

79

print "BELUM ADA DATA" else: for indeks in range(len(buku)): print "[%d] %s" % buku[indeks])

(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" 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> ")

80

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.

81

BAB 9 Variabel dan Tipe Data dalam Python

Pada kesempatan ini kita akan membahas tentang variabel dan tipe data pada Python. Pastikan sebelumnya sudah mengetahui cara membuat skrip atau program python.

9.1 Pengertian Variabel dan Tipe Data Variabel merupakan tempat menyimpan data, sedangkan tipe data adalah jenis data yang terseimpan dalam variabel.

Variabel bersifat mutable, artinya nilainya bisa berubah-ubah.

9.2 Membuat Variabel di Python Variabel di python dapat dibuat dengan format seperti ini: nama_variabel = Contoh: variabel_ku = "ini isi variabel" variabel2 = 20

82

Kemudian untuk melihat isi variabel, kita dapat menggunakan fungsi print. print variabel_ku dan print variabel2 Aturan Penulisan Variabel 1. Nama variabel boleh diawali menggunakan 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 (casesensitif). Artinya huruf besar dan kecil dibedakan. Misalnya, variabel_Ku dan variabel_ku, keduanya adalah variabel yang berbeda. 4. Nama variabel tidak boleh menggunakan kata kunci yang sudah ada dalam python seperti if, while, for, dsb.

9.3 Menghapus Variabel Ketika sebuah variabel tidak dibutuhkan lagi, maka kita bisa menghapusnya dengan fungsi del(). Contoh: >>> nama = "petanikode" >>> print nama petanikode >>> del(nama) >>> print nama Traceback (most recent call last):

83

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.

9.3.1 Tipe data Cara mengisi nilai variabel ditentukan dengan jenis datanya, misalkan untuk tipe data teks (string) maka harus diapit dengan tanda petik ("..."). Sedangkan untuk angka (integer) dan boolean tidak perlu diapit dengan tanda petik. Contoh: nama_ku = "selamatKode" 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 menggunakan fungsi type().

Contoh: >>> usia = 20 >>> type(usia) >>> usia = "20" >>> type(usia)

84

>>> usia = '20' >>> type(usia) >>> usia = 20.5 >>> type(usia) >>> usia = true Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'true' is not defined >>> usia = True >>> type(usia)

9.3.2 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 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

85

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 menggunakan petik tunggal ('...'), ganda ("..."), dan tiga ('''...''' atau """..."""). Contoh: nama = "Ivan" jenis_kelamin = 'L' alamat = """ Jl. Melati I Rt 06 Rw 10 Kode Pos 17837, Kelurahan Waluya , Kab Bekasi """ agama = 'islam'

9.3.3 Tipe data boolean Tipe data boolean adalah tipe data yang hanya memiliki dua nilai yaitu True dan False atau 0 dan 1. Penulisan True dan False, huruf pertamnya harus kapital dan tanpa tanda petik. Contoh: bergerak = True nyala = 1 #sebenarnya tipenya int, tapi bisa juga menjadi bool

86

9.4 Contoh Program 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"

9.5 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?

87

Karena 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 setelah 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.

88

BAB 10 Mengambil Input dan Menampilkan Output

Input adalah masukan yang kita berikan ke program. Program akan memprosesnya dan menampilkan hasil outputnya. Input, proses, dan output adalah inti dari semua program komputer.

Gambar 10.1 Tampilan Flow Input output Pada buku ini, kita akan belajar cara mengambil input dan menampilkan output untuk program berbasis teks.

10.1 Cara Mengambil Input dari Keyboard Python sudah menyediakan fungsi input() dan raw_input() untuk mengambil inputan dari keyboard. nama_varabel = input("Sebuah Teks") Artinya, teks yang kita inputkan dari keyboard akan disimpan ke dalam nama_variabel. # Mengambil input nama = raw_input("Siapa nama kamu: ") umur = input("Berapa umur kamu: ")

89

# Menampilkan output print "Hello",nama,"umur kamu adalah",umur,"tahun"

Hasilnya:

Apa perbedaan fungsi input() dengan raw_input()? Fungsi input() digunakan untuk mengambil data angka. Sedangkan raw_input() untuk mengambil teks. Pada Python3 cukup menggunakan fungsi input() saja, karena fungsi raw_input() sudah digabungkan di sana.

10.2 Cara Menampilkan Output Seperti

yang

sebelumnya.

kita

sudah

Untuk

ketahui

menampilkan

pada output

contoh-contoh teks,

kita

menggunakan fungsi print(). Contoh sebagai berikut print "Hello World!" print nama_variabel print "Gabung dengan", variabel

Menampilkan Variabel dan Teks Pada contoh di atas kita menggunakan tanda koma (,) untuk menggabungkan teks dan variabel yang akan ditampilkan. nama = "Selamatkode" print "Hello",nama

Hasil: 90

Hello Selamatkode Antara kata Hello dan Petanikode terdapat spasi sebagai pemisah, karena kita menggunakan tanda koma. Jangan ditambahkan kurung seperti ini: nama = "Selamatkode" print("Hello",nama)

Karena akan dibaca sebagai Tuple yang akan mengahsilkan output seperti ini: ('Hello', 'Selamatkode') Sebaiknya jangan dikurung kalau menggunakan tanda koma. Jika

ingin

menggunakan

kurung,

maka

kita

harus

menggabungkan teks dan variabelnya dengan tanda plus (+). Contoh: nama = "Selamatkode" print("Hello " + nama)

Hasilnya: Hello Selamatkode

Menggunakan 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. 91

Contoh lagi: String Formatting Cara Lama Penggabungan nama_mu = raw_input("Nama kamu: ") nama_dia = raw_input("Nama dia: ") print "{} dengan {} sepertinya pasangan yang serasi :)".format(nama_mu, nama_dia)

Menggunakan teks dan variabel cara lama menggunakan 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 tinggi badanmu %f cm" % (nama, umur, tinggi)

dan

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

untuk bilangan pecahan.

92

BAB 11 Jenis Operator dalam Python

Setelah kita mengenal variabel dan tipe data pada Python, selanjutnya kita akan berkenalan dengan Operator. Operator merupakan simbol-simbol yang digunakan untuk melakukan operasi tertentu. Ada enam jenis operator dalam pemrograman bahasa Python yang harus diketahui: 1. Operator Aritmatika 2. Operator Pembanding/Relasi 3. Operator Penugasan 4. Opeartor Logika 5. Operator Bitwise 6. Operator Ternary

11.1 Operator Aritmatika Operator aritmatika pada python adalah operator yang digunakan untuk

melakukan perhitungan data. Berikut

pengertian dan contoh penggunaan operator aritmatika pada python. Catatan: “>>>” merupakan perunjuk interpreter python.

93

Operator

Contoh Interpreter Menjumlahkan masing- >>> 1+2 masing bilangan (operan) 3 Mengurangi nilai operan >>> 4-7 kiri dengan operan kanan -3 Mengalikan masing-masing >>> 7*4 bilangan (operan) 28 Membagi nilai operan >>> 9/5 kiri dengan operan kanan 1.8 Menghilangkan nilai >>> 9//5 desimal suatu pembagian 1 Menghasilkan sisa >>> 14%5 pembagian 4 Perpangkatan dengan >>> 4**3 operan kiri sebagai 64 pokok

Simbol Penjelasan

Penjumlahan + Pengurangan – Perkalian

*

Pembagian

/

Pembagian bulat

//

Modulo

%

Eksponen

**

Berikut contoh penggunaan operator aritmatika pada python shell Mari kita coba dalam program pythonnya # # a b

file: operator_aritmatika.py Ambil input untuk mengisi nilai = input("Inputkan nilai a: ") = input("Inputkan nilai b: ")

# Menggunakan 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)

94

# 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 diatas, kita menggunakan string formatting untuk mencetak hasil dari masing-masing opearasi. Operator % selain digunakan untuk string formatting, operator ini juga digunakan untuk menghitung operasi sisa bagi. Misal: 5 % 2, maka hasilnya 1. Karena sisa dari hasil bagi antara 5 dengan 2 adalah 1.

11.2 Operator Penugasan Seperti namanya, operator ini digunakan untuk memberikan tugas pada variabel. Misalnya: 95

umur = 18 Maka variabel umur telah kita berikan tugas untuk menyimpan angka 18. Selain menyimpan atau pengisian nilai, ada juga menjumlahkan,

mengurangi,

perkalian,

pembagian,

Dan

sebagainya. Operator penugasan adalah operator yang digunakan untuk memasukkan nilai atau memodifikasi nilai suatu variabel. Operator

Contoh Interpreter

Simbol Penjelasan

Sama dengan =

Mendefinisikan suatu varibel.

Tambah sama += dengan

Menambahkan suatu variabel

Kurang sama -= dengan

Kali sama *= dengan

Bagi sama /= dengan Pembagian bulat sama //= dengan Modulo sama %= dengan

nilai

>>> x=3

>>> nilai >>> >>> 9 >>> Mengurangkan nilai >>> suatu variabel >>> 2 >>> Mengalikan nilai >>> suatu variabel >>> 18 >>> Membagi nilai suatu >>> variabel >>> 2.0 >>> Pembagian bulat nilai >>> suatu variabel >>> 2 >>> Sisa pembagian nilai >>> variabel dengan suatu >>> bilangan 1

y=2 y+=7 y z=4 z-=2 z a=6 a*=3 a b=8 b/=4 b c=5 c//=2 c d=7 d%=3 d

96

Pangkat **= sama dengan

>>> nilai >>> >>> 8

Perpangkatan suatu variabel

e=2 e**=3 e

Berikut contoh penggunaan operator penugasan pada python shell

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 penugasan a += 5 # ^ # |

jumlahkan

nilai

a

dengan

opertor

# contoh operator penugasan untuk menjumlahkan # Setelah nilai a ditambah 5, coba kita lihat isinya print "Nilai setelah ditambah 5:" print "a = %d" % a

97

Hasilnya:

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. Sekarang kita coba dengan operator lain # 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

98

# Berapakah nilai a sekarang? print "Nilai a adalah %d" % a

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

11.3 Operator Pembandingan Operator

perbandingan

pada

python

digunakan

untuk

melakukan suatu perbandingan antar operan. Output yang ditampilkan adalah nilai boolean True atau False. Operator perbandingan sering digunakan dalam perulangan. Berikut pengertian dan contoh penggunaan operator perbandingan pada python. Operator

Persamaan

Tidak sama

Simbol Penjelasan

==

!=

Lebih besar > dari

Contoh Interpre ter

Bernilai True: operan mempunyai nilai yang sama >>> 1==1.0 Bernilai False: operan True>>> tidak mempunyai nilai yang 1==4 sama False Bernilai True: operan mempunyai nilai yang tidak >>> 7!=8 sama True>>> 2!=2.0 Bernilai False: operan False mempunyai nilai yang sama Bernilai True: operan kiri >>> 9>7 lebih besar dari operan True>>>

99

kanan Bernilai False: kiri tidak lebih dari operan kanan

Lebih kecil < dari

9>9 False operan besar

Bernilai True: operan kiri lebih kecil dari operan kanan >>> 7<8 True>>> Bernilai False: operan 8<7 kiri tidak lebih kecil False dari operan kanan Bernilai True: operan kiri lebih besar atau sama dengan operan kanan

Lebih besar atau sama >= dengan

Bernilai False: kiri tidak lebih atau sama dengan kanan

>>> 9>=7 True>>> operan 7>=9 besar False operan

Bernilai True: operan kiri lebih kecil atau sama dengan operan kanan Lebih kacil atau sama <= dengan

Bernilai False: kiri tidak kecil atau sama dengan kanan

>>> 8<=8 True>>> operan 7<=6 besar False operan

Berikut contoh penggunaan operator perbandingan pada python shell

100

Contoh lain: a=9 b=5 c=a b? c = a > b print "Apakah %d > %d: %r" % (a,b,c)

101

# 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)

11. 4 Operator Logika Operator logika digunakan untuk membuat operasi logika, seperti logika AND, OR, dan NOT.

Operator logika terdiri dari: Nama Logika AND Logika OR Negasi/kebalikan

Simbol di Python and or not

Contoh programnya sebagai berikut: a = True b = False # Logika AND c = a and b print "%r and %r = %r" % (a,b,c) # Logika OR

102

c = a or b print "%r or %r = %r" % (a,b,c) # Logika Not c = not a print "not %r

= %r" % (a,c)

Hasilnya:

11.5 Operator Bitwise Operator Bitwise adalah operator untuk melakukan operasi berdasarkan bit/biner. Operator ini terdiri dari: Nama AND OR XOR Negasi/kebalikan Left Shift Right Shift

Simbol & | ^ ~ << >>

103

Hasil operasi dari operator ini agak sulit dipahami, kalau kita belum paham operasi bilangan biner. Sekarang coba pahami dengan contoh sederhana: 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 a ^ b = 00110001 Opearsi NOT (Negasi/kebalikan) a = 00111100 ~a = 11000011 104

Konsepnya memang hampir sama dengan opeartor Logika. Namun, Bitwise digunakan 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

Hasilnya:

105

11.6 Operator Ternary Operator ternary juga dikenal dengan operator kondisi, karena digunakan untuk membuat sebuah ekspresi kondisi seperti percabangan IF/ELSE.

Operator ternary sebenarnya tidak ada dalam Python, tapi python punya cara lain untuk menggantikan operator ini. Pada bahasa pemrograman lain operator ternary menggunakan tanda tanya (?) dan titik dua (:). kondisi ? : . Berikut Contohnya. aku = (umur < 10) ? "bocah" : "dewasa"

Dalam Python bentuknya berbeda, yaitu menggunakann IF/ELSE dalam satu baris. if Kondisi else

Contoh: umur = input("berapa umur kamu? ") aku = "bocah" if umur < 10 else "dewasa" print aku

106

Hasilnya:

Silakan dicoba untuk mengisi nilai variabel umur dengan nilai di bawah 10 dan perhatikan output-nya. Cara lain untuk membuat operasi ternary juga bisa menggunakan Tuple dan List. jomblo = True status = ("Menikah", "Single")[jomblo] print status

107

BAB 12 Penulisan dan Penggunaan String pada Python String pada Python adalah tipe data yang memuat satu karakter atau lebih karakter (sequences of character) yang diapit oleh tanda petik tunggal („) atau tanda petik (“). Dalam bahasa pemrograman Python, deklarasi suatu string tidak dibedakan penggunaan tanda petik atau tanda petik tunggal. Hal ini berbeda dengan bahasa pemrograman yang mendekati bahasa mesin seperti C++ dan C, dimana penggunaan („) untuk mendefinisikan satu karakter dan (“) untuk mendefiniskan banyak karakter. 1 "Hello World" 1 'Hello World'

12.1 Penulisan String pada Python Untuk menulis string serta menampilkannya langsung, dapat menggunakan syntax print(“Hello World”) Sistematika menampilkan string dengan syntax prnit() 1. Syntax print() digunakan untuk menampilkan string berupa output pada console. 2. Didalam syntax dituliskan string atau variabel. Beberapa karakter khusus pada python Karakter Fungsi \n Untuk membuat New Line atau paragraf baru

108

\s \e \b \t

Untuk Untuk Untuk Untuk

membuat membuat membuat membuat

karakter spasi karakter escape backspace tabulasi

Misalkan ditampilkan suatu string Hello World, dapat diilustrasikan sebagai berikut

12.2 Mendefinisikan Variabel String pada Python Untuk mendefinisikan variabel string pada Python, praktiknya hampir sama dengan mendefinisikan variabel numerik. Misalkan dibuat suatu variabel x yang berisi nilai string “Hello World” 1 x = "Hello World" 1 print(x)

109

Berikut ilustrasi eksekusi syntax di atas melalui console

Catatan: Syntax ;\ digunakan untuk membuat line baru pada console.

12.3 Operasi String pada Python String pada Python juga dapat dilakukan eksekusi secara komputasi. Misalnya perulangan dan penjumlahan string. Contoh: Penjumlahan String (+) 1 a = "Belajar " 2 b = "Python" 3 c = a+b 4 print (c)

110

Berikut ilustrasi operasi penjumlahan string

Contoh: Perkalian String (*) 1 x = "Python " 2 print (x*7)

111

12.4 Mengindex String pada Python Variabel yang menyimpan suatu nilai berupa barisan karakter, sehingga dapat dilakukan index string untuk menampilkan karakter dengan index tertentu. Index String menggunakan bilangan bulat dari 0. nama_variabel[index_karakter] Misalnya akan ditampilkan karakter dengan index 1 pada suatu variabel string x berikut. 1 x = "Hello World" 2 print (x[2])

terlihat variabel x memuat string “Hello World”, dimana x[0] = “H”, x[1] = “e”, x[2] = “l”, dan seterusnya.

12.5 Range Slice pada Variabel String Python Range Slice menampilkan range karakter dari a mendekati b (limit b), yang diformulasikan dengan, 112

nama_variabel[a:b] a = index karakter yang mulai dicetak b = batas akhir karakter yang dicetak, b tidak dicetak atau kosongkan untuk mencetak sampai karakter terakhir. Misalnya pada variabel x akan dicetak “Hello” sehingga range slicenya adalah x[0:5] Misalnya pada variabel x akan dicetak “World” sehingga range slicenya adalah x[0:]

113

BAB 13 Membuat Variabel dengan Tipe Data Numerik Variabel pada Python digunakan menyimpan data di dalam memory sehingga dapat digunakan untuk melakukan suatu proses komputasi. Pada tutorial ini dijelaskan cara membuat variabel dalam Python menggunakan tipe data numerik.

13.1 Pengertian Variabel pada Python Variabel pada Python adalah set memory yang digunakan untuk menyimpan data yang bersifat dinamis. Dinamis berarti nilai data yang disimpan dalam suatu variabel dapat berubah, baik dilakukan oleh pengguna maupun secara komputasi. Variabel pada Python dapat menyimpan berbagai jenis tipe data. Variabel pada bahasa pemrograman Python harus diberi nama untuk diproses. Aturan Penulisan Variabel 1. Harus dimulai dengan huruf atau undescore, misalnya: a, _a, nilai, _n 2. Tidak boleh dimulai oleh angka 3. Panjang nama maksimum adalah 256 karakter 4. Dapat memuat angka, huruf, underscore, dollar, dan lain-lain 5. Tidak boleh berisi spasi 114

6. Tidak boleh memuat simbol matematika, misalnya: +, – , /, (, ) 7. Tidak boleh sama dengan fungsi Python standar Nama variabel Python yang tidak dapat digunakan dan sebagai pernyataan break class lanjutkan def del elif else kecuali exec jika impor lambda tidak atau lulus print rise return coba sambil menghasilkan Benar Salah Salah

13.2 Tipe Data Numerik pada Python Terdapat 3 tipe data numerik pada Python yaitu integer, float, dan complex. 13.2.1 Tipe Data Integer pada Python Integer adalah tipe data numerik berupa bilangan bulat …-,3,2,-1,0,1,2,3,…

13.2.2 Tipe Data Float pada Python Float adalah tipe data numerik berupa bilangan desimal. Pemisah

desimal

pada

bahasa

pemrograman

Python

menggunakan tanda titik (.)

13.2.3 Tipe Data Complex pada Python Complex adalah tipe data numerik berupa bilangan kompleks yaitu bilangan imaginer. Bilangan imaginer dalam ilmu 115

matematika adalah bilangan yang diformulasikan dengan j² = 1, dengan j adalah bilangan imaginer. Untuk mendefinisikan varibel berupa nilai imaginer dapat menggunakan karakter j.

13.3 Contoh Mendifinisikan Variabel pada Python Mendifinisikan suatu variabel x dengan nilai integer 2 1x = 2

Mendifinisikan suatu variabel y dengan nilai floating 1.87 1 y = 1.87

Mendefinisikan suatu variabel z dengan nilai kompleks 1+3j 116

1 z = 1+3j

117

BAB 14 Pengertian Operator Logika pada Python Operator logika pada Python merupakan operator yang digunakan untuk melakukan komputasi boolean, salah satu tipe data pada bahasa pemrograman Python. Sama halnya seperti bahasa

pemrograman

lainnya,

operator

logika

Python

merupakan aplikasi dari disiplin ilmu matematika modern.

14.1 Pengertian Operator Logika pada Python Operator logika pada python adalah operasi logika matematika untuk melakukan operasi komputasi dari data boolean, yang terdiri dari True dan False. True bernilai benar dan False bernilai salah.

14.2 Operasi Matematika pada Operasi Logika Python Berikut beberapa operasi matematika yang erat kaitannya dengan operasi logika Operasi Matematika < <= > >= == !=

Fungsi Lebih kecil dari Lebih kecil atau sama dengan Lebih besar dari Lebih besar atau sama dengan Sama dengan Tidak sama dengan 118

14.3 Menggunakan Jenis Operator Logika pada Python Terdapat 4 operator logika yang dapat digunakan pada bahasa pemrograman Python. Operator

Python Function Symbolic Function

AND

and()

&

OR

or()

|

XOR

xor()

^

NOT

not()

14.3.1 Operator AND Operator AND pada python dapat dilakukan menggunakan function and() atau &. Nilai kebenaran operator AND adalah benar ketika kedua operand bernilai benar. Operand adalah nilai yang digunakan pada operator logika. Berikut tabel kebenaran operator AND. 119

AND Operand 1 Operand 2 True

True

True

False True

False

False False

True

False False

False

14.3.2 Operator OR Operator OR pada python dapat dilakukan menggunakan fungsi OR() atau |. Operator OR mempunyai nilai kebenaran salah saat kedua operand bernilai salah. Berikut tabel kebenaran operator logika OR.

120

OR

Operand 1 Operand 2

True True True False

True True False False

True False True False

14.3.3 Operator XOR Operator XOR pada Python adalah operasi logika dari OR Eklusif. Dalam aljabar boolean, Operasi XOR mempunyai definisi setiap tapi tidak semua. Operator XOR memberikan nilai kebenaran benar (1) saat jumlahan operand adalah ganjil. XOR

Operand 1 Operand 2

True (2)

True (1)

True (1)

True (1)

True (1)

False (0)

True (1)

False (0)

True (1) 121

False (0)

False (0)

False (0)

14.3.4 Operator NOT Operator NOT pada Python berati negasi dari dari operand yang dimuatnya.

122

BAB 15 Struktur Data List Bagaimana caranya menyimpan banyak data dalam satu veriabel dengan menggunakan List. List adalah struktur data pada python yang mampu menyimpan lebih dari satu data, seperti array. Pada kesempatan ini, kita akan membahas cara menggunakan list di Python dari yang paling sederhana sampai yang sedikit kompleks. Poin-poin yang akan dipelajari list. 1.

Cara Membuat List dan Mengisinya

2.

Cara Mangambil nilai dari List

3.

Cara Menambahkan dan Menghapus isi List

4.

Operasi pada List

5.

List multi dimensi

15.1 Cara Membuat List di Python List dapat kita buat seperti membuat variabel biasa, namun nilai variabelnya diisi dengan tanda kurung siku ([]). Contoh: # Membuat List kosong warna = [] # Membuat list dengan isi 1 item hobi = ["membaca"]

123

Apabila list-nya memiliki lebih dari satu isi, maka kita bisa memisahnya dengan tanda koma. Contoh: buah = ["jeruk", "apel", "mangga", "duren"] Jenis jenis yang diperbolehkan dalam List. list dapat diisi dengan tipe data apa saja, string, integer, float, double, boolean, object, dan sebagainya. Kita juga bisa kombinasi isinya. Contoh: laci = ["buku", 21, True, 34.12]

Ada empat jenis tipe data pada list laci: 1. "buku" adalah tipe data string; 2. 21 adalah tipe data integer; 3. True adalah tipe data boolean; 4. dan 34.12 adalah tipe data float.

15.2 Cara Mengambil Nilai dari List Setelah kita tahu cara membuat dan menyimpan data di dalam List, mari kita coba mengambil datanya. List sama seperti array, list juga memiliki nomer indeks untuk mengakses data atau isinya. Nomer indeks list selalu dimulai dari nol (0). Nomer indeks ini yang kita butuhkan untuk mengambil isi (item) dari list. 124

Contoh: # Kita punya list nama-nama buah buah = ["apel", "anggur", "mangga", "jeruk"] # Misanya kita ingin mengambil mangga # Maka indeknya adalah 2 print buah[2]

Akan menghasilkan output sebagai berikut: "mangga" Latihan 1: Membuat Program dengan List Untuk memantapkan pemahaman, silahkan coba latihan berikut. 1. Buat sebuah list untuk menyimpan kenalanmu 2. Isi list sebanyak 5 3. Tampilkan isi list indeks nomer 3 4. Tampilkan semua teman dengan perulangan 5. Tampilkan panjang list # Buat list untuk menampung nama-nama teman my_friends = ["Anggun", "Dian", "Agung", "Adam"]

"Adi",

# Tampilkan isi list my_friends dengan nomer indeks 3 print "Isi my_friends indeks ke-3 adalah: {}".format(my_friends[3]) # Tampilkan semua daftar teman print "Semua teman: orang".format(len(my_friends)) for friend in my_friends: print friend

ada

{}

125

Pada kode di atas, kita menggunakan fungsi len() untuk mengambil panjang list. Hasil outputnya: Isi my_friends indeks ke-3 adalah Adi Semua teman ada 5 orang Anggun Dian Agung Adi Adam

15.2.1 Mengganti Nilai List List bersifat mutable, artinya isinya bisa kita ubah-ubah. Contoh: # list mula-mula buah = ["jeruk", "apel", "mangga", "duren"] # mengubah nilai index ke-2 buah[2] = "kelapa"

Maka "mangga" akan diganti dengan "kelapa". ["jeruk", "apel", "kelapa", "duren"]

15.2.2 Menambahkan Item List Tedapat Tiga metode (method) atau fungsi yang bisa digunakan untuk menambahkan isi atau item ke List: 1. prepend(item) menambahkan item dari depan; 126

2. append(item) menambahkan item dari belakang. 3. insert(index, item) menambahkan item dari indeks tertentu Contoh: #list mula-mula buah = ["jeruk", "apel", "mangga", "duren"] # Tambahkan manggis buah.append("manggis")

Hasilnya "manggis" akan ditambahkan setelah item terakhir. ["jeruk", "apel", "mangga", "duren", "manggis"] Metode yang kedua menggunakan prepend(). Metode prepend()

akan menambahkan item dari depan atau awal list.

Contoh: #list mula-mula buah = ["jeruk", "apel", "mangga", "duren"] buah.prepend("anggur")

Maka "anggur" akan ditambahkan pada awal list. ["anggur","jeruk", "apel", "mangga", "duren"] Selain prepend() dan append() kita juga bisa mengginakan method insert() untuk menambahkan item pada indeks tertentu. Contoh: #list mula-mula buah = ["jeruk", "apel", "mangga", "duren"] buah.insert(2, "duren")

127

Latihan 2: Membuat Program dengan List Sekarang

mari

kita

coba

membuat

program

dengan

memanfaatkan method prepend() dan append(). Silahkan langsung di ketik dan dicoba. # Membuat list kosong untuk menampung hobi hobi = [] stop = False i = 0 # Mengisi hobi while(not stop): hobi_baru = raw_input("Inputkan hobi yang ke{}: ".format(i)) hobi.append(hobi_baru) # Increment i i += 1 tanya = raw_input("Mau isi lagi? (y/t): ") if(tanya == "t"): stop = True # Cetak Semua Hobi print "=" * 10 print "Kamu memiliki {} hobi".format(len(hobi)) for hb in hobi: print "- {}".format(hb) Coba eksekusi dan inputkan sebuah nilai. petanikode@imajinasi ~ $ python hobi.py Inputkan hobi yang ke-0: Membaca Mau isi lagi? (y/t): y Inputkan hobi yang ke-1: Menulis Mau isi lagi? (y/t): y Inputkan hobi yang ke-2: Main Game Mau isi lagi? (y/t): y Inputkan hobi yang ke-3: Ngoding Mau isi lagi? (y/t): t

128

Kamu memiliki 4 hobi - Membaca - Menulis - Main Game - Ngoding

15.2.3 Menghapus Item di List Untuk menghapus salah satu isi dari List, kita bisa menggunakan perintah del. Perintah del akan menghapus sebuah variabel dari memori. Contoh: # Membuat List todo_list = [ "Balajar Python", "Belajar Django", "Belajar MongoDB", "Belajar Sulap", "Belajar Flask" ] # Misalkan kita ingin menghapus "Belajar Sulap" # yang berada di indeks ke-3 del todo_list[3] print todo_list

Hasilnya, "Belajar Sulap" akan dihapus: ['Balajar Python', 'Belajar Django', 'Belajar MongoDB', 'Belajar Flask']

129

Selain menggunakan perintah del, kita juga bisa menggunakan method remove() dengan paramter item yang akan dihapus. Contoh: # mula-mula kita punya list a = ["a", "b", "c", "d"] # kemudian kita hapus b a.remove("b") print a

Hasilnya: ["a", "c", "d"]

15.2.4 Memotong list Seperti string, list juga dapat dipotong-potong. Contoh: # Kita punya list warna warna = ["merah", "hijau", "kuning", "biru", "pink", "ungu"] # Kita potong dari indeks ke-1 sampai ke-5 print warna[1:5]

Hasilnya: ['hijau', 'kuning', 'biru', 'pink']

15.2.5 Operasi List Ada beberapa operasi yang bisa dilakukan terhadap List, diantaranya: 

Penggabungan (+)



Perkalian (*) 130

Contoh: # Beberapa list lagu list_lagu = [ "No Women, No Cry", "Dear God" ] # playlist lagu favorit playlist_favorit = [ "Break Out", "Now Loading!!!" ] # Mari kita gabungkan keduanya semua_lagu = list_lagu + playlist_favorit print semua_lagu

Hasilnya: ['No Women, No Cry', 'Dear God', 'Break Out', 'Now Loading!!!'] Sedangkan untuk operasi perkalian hanya dapat dilakukan dengan bilangan. Contoh: # playlist lagu favorit playlist_favorit = [ "Break Out", "Now Loading!!!" ] # ulangi sebanyak 5x ulangi = 5 now_playing = playlist_favorit * ulangi print now_playing

131

Hasilnya: ['Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!', 'Break Out', 'Now Loading!!!']

15.2.6 List Multi Dimensi Pada contoh-contoh di atas, kita hanya membuat list satu dimensi saja. List dapat juga memiliki lebih dari satu dimensi atau disebut dengan multi dimensi. List multi dimensi biasanya digunakan untuk menyimpan struktur data yang kompleks seperti tabel, matriks, graph, tree, dan sebagainya. Contoh: # List minuman dengan 2 dimensi list_minuman = [ ["Kopi", "Susu", "Teh"], ["Jus Apel", "Jus Melon", "Jus Jeruk"], ["Es Kopi", "Es Campur", "Es Teler"] ] # Cara mengakses list multidimensi # misalkan kita ingin mengambil "es kopi" print list_minuman[2][0]

Angka 2 pada kode di atas, menunjukan indeks list yang akan kita akses. Kemudian setelah dapat list-nya baru kita ambil isinya. Hasil outputnya: "Es Kopi" 132

Bagaimana kalau kita ingin menampilkan semua isi dalam list multi dimensi, tinggal gunakan perulangan bersarang. # List minuman dengan 2 dimensi list_minuman = [ ["Kopi", "Susu", "Teh"], ["Jus Apel", "Jus Melon", "Jus Jeruk"], ["Es Kopi", "Es Campur", "Es Teler"] ] for menu in list_minuman: for minuman in menu: print minuman

Hasilnya: Kopi Susu Teh Jus Apel Jus Melon Jus Jeruk Es Kopi Es Campur Es Teler

133

BAB 16 Pengertian dan Membuat List pada Python List adalah salah satu jenis array pada python dengan menggunakan

square

brackets

[kurung

siku],

yang

mengizinkan terjadinya perubahan nilai element dan duplikasi nilai index. Dengan mengizinkan perubahan nilai element, list dapat digunakan untuk melakukan perhitungan yang dinamis. Duplikasi nilai index memungkinkan list menyimpan element yang sama pada index yang berbeda. Berikut cara membuat list pada Python.

16.1 Cara Membuat List pada Python Cara membuat list pada python sama halnya dengan mendefinisikan variable numerik biasa. Berikut sistematika penulisan list, 1 listname = [[x11, x12, x13],[x21, x22, x23, x24]]  listname adalah nama variable yang menyimpan list.  Nilai yang dimasukkan dapat berupa nilai numerik, atau string.  Nilai string diapit oleh tanda petik.  Size setiap element menentukan banyaknya nilai yang disimpan pada elemen list.  Index List dimulai dari angka 0, 1, …, dst. 134

 [x11, x12, x13] adalah nilai list pada index 1 dengan size 3  [x21, x22, x23, x24] adalah nilai list pada index 2 dengan size 4

16.2 Membuat List dalam bentuk Vektor Akan dibuat list A dengan anggota 2, 3, 4, 5

Sehingga digunakan syntax berikut 1 A = [2, 3, 4, 5]

16.3 Membuat List dalam bentuk N Akan dibuat list B dengan anggota baris pertama 1, 3, 6 dan kedua 1, 7, 9, 1, 9

135

Sehingga digunakan syntax berikut 1 B = [[1, 3, 6],[1, 7, 9, 1, 9]]

16.4 Membuat List dengan Nilai String Akan dibuat list C dari nama hewan anjing, kucing, monyet

Sehingga dapat digunakan syntax berikut 1 C = ['anjing', 'kucing', 'monyet'] 136

16.2.1 Array Addressing | Mengindex List pada Python Berikut cara melakukan index list pada Python Metode append() clear() len() del insert() pop() remove()

Deskripsi Menambah element pada index terakhir mengosongkan list menghitung panjang list menghapus list atau element Menambah element pada index tertentu menghapus element pada index tertentu menghapus 1 element dengan nilai tertentu

Len() | Menghitung Panjang List Untuk menghitung jumlah index pada list dapat digunakan syntax len(). Misalnya diktehui list E

1 E = [[1, 2], 3, 1, [1, 6]] 2 3 len(E) 137

Sehingga diperoleh panjang list E adalah 4

16.2.2 Address |Mengambil Nilai Element List dengan Index Tertentu Untuk mengambil element tertentu pada suatu list dapat menggunakan

referensi

nama

list

menggunakan square

brackets. Berikut sistematika addressing list, Mengambil 1 Element namalist[i] i adalah angka index element yang diambil Contoh: Pada list x = [[2, 3], 1, 2, 4] dapat diketahui x[0] adalah [2, 3] x[1] adalah [1] x[2] adalah [2] x[3] adalah [4] 138

Mengambil beberapa Element 1 namalist[a:b] a adalah index awal yang diambil b adalah index yang membatasi element yang diambil (nilai index b tidak diambil) jika a atau b kosong nilai index akan berada pada tingkat minimum (a) dan maksimum (b) list Contoh: Pada list x = [[2, 3], 1, 2, 4] dapat diketahui x [0:2] adalah [[2, 3], 1] x [2: ] adalah [2, 4] x [:3] adalah [[2, 3], 1, 2]

16.2.3 Address | Mengubah Nilai Element List dengan Index Tertentu Untuk mengubah nilai element list dapat digunakan sistematika berikut Mengubah Satu Element 1 namalist[i] = x1 i adalah index element yang akan dirubah. x1 adalah nilai yang meggantikan nilai sebelumnya pada element i.

139

Contoh: Mengganti element dengan index 0 pada list x

Mengubah Beberapa Element 1 namalist[a:d] = [xa, xb, xc] a adalah index awal yang diambil d adalah index yang membatasi element yang diambil (nilai index d tidak diambil) jika a atau b kosong nilai index akan berada pada tingkat minimum (a) dan maksimum (d) list xa, xb, xc adalah nilai terurut yang menggantikan nilai element sebelumnya Contoh:

140

16.2.4 Address | Menambah Element List Untuk menambah element pada list dapat menggunakan syntax append() dan insert() append() | Menambah element pada index selanjutnya Syntax append() digunakan untuk menambah element baru di index selanjutnya pada list. Berikut sistematika penggunaan syntax append() namalist.append(nilai_element) Misalnya diketahui list A = [1, 4, 7] akan ditambahkan element 8 pada index selanjutnya. Sehingga dapat digunakan kode berikut 1 A = [1,4,7] 2 3 A.append(8) 4 5 print(A)

141

insert() | Menambah element pada index tertentu Syntax insert() digunakan untuk menambah element pada index tertentu. Berikut sistematika penulisan syntax insert() namalist.insert(i, nilai element) i adalah index tempat elemen baru ditambahkan, element lainnya akan menyesuaikan. Contoh: Misalnya ditambahkan nilai „anjing‟ di index 1 pada list y = [„kucing‟, „monyet‟,]. Sehingga dapat digunakan kode berikut 1 y = ['kucing', 'monyet',] 2 3 y.insert(1, 'anjing') 4 5 print(y)

142

16.2.5 Address | Menghapus Element List Untuk menghapus element pada list dapat menggunakan syntax remove(), pop(), del, dan clear(). Masing-masing syntax mempunyai kegunaan yang berbeda-beda. 

Syntax remove() digunakan untuk menghapus 1 element dengan nilai tertentu.



Syntax pop() digunakan untuk menghapus element dengan index tertentu atau index terakhir.



Syntax del digunakan untuk menghapus element dengan index tertentu.



Syntax clear() digunakan untuk mengosongkan list.

remove() | Menghapus Elemen dengan Nilai Tertentu Berikut sistematika penulisan syntax remove() namalist.remove(x) 143

x adalah nilai yang akan dihapus dalam list. Contoh: Dihapus nilai 0 pada list y = [1, 0, 2, 0, 3] 1 y = [1, 0, 2, 0, 3] 2 3 y.remove(0) 4 5 print(y)

16.3 pop() | Menghapus Element dengan index tertentu atau terakhir Berikut sistematika penulisan syntax pop() namalist.pop(x) x adalah nilai yang akan dihapus dalam list. Contoh: Dihapus index terakhir pada list z = [„buku‟, „pensil‟, „pulpen‟] 144

1 z = ['buku', 'pensil', 'pulpen'] 2 3 z.pop() 4 5 print(z)

16.4 del | Menghapus Element dengan index tertentu Berikut sistematika penulisan syntax del del namalist(i) i adalah index yang akan dihapus dalam list. Contoh: Dihapus index 1 dari list q = [1, 2, 3] 1 2 3

1q = [1, 2, 3] del q[1] print(q)

145

syntax del juga dapat digunakan untuk menghapus list secara keseluruhan, dengan mengosongkan parameter index. 1 2 3

p = [1, 2, 3] del p print(p)

146

16.5 clear() | Mengosongkan List Berikut sistematika penulisan syntax clear() namalist.clear() Contoh: 1 f = [1, 2, 3, 7] 2 3 f.clear() 4 5 print(f)

147

BAB 17 Membaca dan Menulis File di Python

Membaca dan menulis file adalah teknik dasar yang harus dipahami

dalam

pemrograman

Python,

karena

banyak

digunakan untuk pengolahan dan pemerosesan file. Paham cara membaca dan menulis file dengan Python akan membuatmu mampu membuat aplikasi yang bisa mengambil dan menyimpan data ke file. Selain itu juga, kamu akan lebih mudah memahami beberapa materi Python selanjutnya, seperti membaca dan parshing file JSON, XML, CSV, XLS, dan sebagainya. Ada banyak sekali tipe file pada computer seperti, dokumen, video, gambar, audio, arsip, dll. Pada Python, file hanya dikelompokkan menjadi dua tipe: 1. File Teks: File yang berisi teks. Setiap baris teks memiliki EOL (End of Line). Contoh: TXT, MD, CSV, JSON, dsb. 2. File Binary: File yang bukan teks, hanya bisa diproses oleh program tertentu yang memahami strukturnya. Contoh: EXE, JPG, MKV, M4A, 3GP, dsb. Pada tutorial ini, kita akan hanya belajar cara membaca dan menulis file teks saja. 148

Untuk file binary, mungkin nanti di kesempatan yang lain.

17.1 Cara Membaca File di Python Python sudah menyediakan fungsi open(), untuk membaca dan menulis file. Fungsi ini memiliki dua parameter, yaitu nama file dan mode.

Objek file adalah variabel objek yang menampung isi file. Kita bisa melakukan pemrosesan file berkatnya. Nama file bisa kita isi langsung apabila file-nya terletak dalam satu direktori dengan skrip python. Namun, apabila terletak di direktori yang berbeda, maka kita harus memberikan alamat path file-nya. Misalnya seperti ini: obj_file = open("/path/ke/file.txt", "r")

Kemudian untuk parameter mode, fungsinya untuk menentukan hak akses terhadap file.

149

Ada beberapa mode yang tersedia: Mode Ketereangan “r” hanya baca saja akses untuk menulis file, jika file sudah ada, maka file “w” akan di replace dan diganti dengan yang baru ditulis digunakan untuke append atau menambah data ke file, “a” artinya jika sudah ada data dalam file, maka akan ditambahkan dan tidak di-replace digunakan untuk membaca sekaligus menulis data ke “r+” file Pada Windows, kadang ditambahkan "b" dibelakangnya, seperti: "rb", "wb", "ab", "r+b". Artinya untuk membuka file dalam mode binary. Seperti yang kita ketahui antara EOL Unix dan Windows berbeda, kadang file binary seperti JPG dan EXE bisa rusak pada Windows kalau tidak ditambahkan akhiran "b". Tapi di Unix/Linux tidak masalah, tanpa harus menggunakan akhiran "b". Sekarang kita latihan praktek dan latihan agar lebih paham. Sekarang silahkan buat direktori bernama file-io, lalu di dalamnya buat file puisi.txt dan baca_file.py. file-io/ ├── baca_file.py └── puisi.txt

Setelah itu, silahkan buka file puisi.txt dengan notepad atau teks editor, kemudian isi dengan teks berikut: Engkau bahkan bukan lagi variabel bagiku

150

Engkau adalah konstanta abadi yang tak tergantikan...

Jangan lupa di simpan.

17.2 Membaca File Per Baris Selanjutnya kita akan mulai menulis kode programnya. Silahkan buka file baca_file.py kemudian ketik kode berikut. (usahakan diketik sendiri dan jangan dicopas) # buka file file_puisi = open("puisi.txt", "r") # baca isi file print file_puisi.readlines() # tutup file file_puisi.close()

kita membuka file dengan fungsi open(), selanjutnya mencoba

membaca

readlines(),

isinya

per

baris

dengan

method

dan terakhir menutup file dengan close() agar

dihapus dalam memori. 151

Saat dieksekusi, kode di atas akan menghasilkan output berupa list, karena kita menggunakan method readlines().

Perhatikan \n adalah EOL (End of Line), simbol ini akan membuat baris baru. Selanjutnya mari kita coba ubah kodenya menjadi seperti ini: # buka file file_puisi = open("puisi.txt", "r") # baca isi file puisi = file_puisi.readlines() # cetak baris pertama print puisi[0] # cetak baris kedua print puisi[1] # tutup file file_puisi.close()

Hasil outputnya: Engkau bahkan bukan lagi variabel bagiku Engkau adalah konstanta abadi yang tak tergantikan...

Bagus, kita sudah berhasil membaca dan mencetak isi file. “Tunggu dulu…bagaimana kalau filenya memiliki banyak baris?” 152

kita tinggal menggunakan pengulangan untuk mencetaknya. Silahkan ubah lagi kodenya menjadi seperti ini: # buka file file_puisi = open("puisi.txt", "r") # baca isi file puisi = file_puisi.readlines() # cetak isi file dengan perulangan for teks in puisi: print teks # tutup file file_puisi.close()

Coba tambahkan isi file puisi.txt dan coba lihat hasil outputnya sekarang.

17.3 Membaca Semua Teks dalam File Kalau tadi kita membaca isi file per baris, sekarang kita coba baca semua teks menggunakan method read(). Silahkan ikuti kode berikut: # buka file file_puisi = open("puisi.txt", "r") # baca isi file puisi = file_puisi.read()

153

# cetak isi file print puisi # tutup file file_puisi.close()

Hasilnya:

“Apa bedanya method read() dengan readlines()?” Bedanya: read()

Method

mengembalikan

membaca nilai

string.

seluruh

teks

Sedangkan

dan

akan

readlines()

membaca isi file per baris dan akan mengembalikan nilai berupa

list.

readlines()

Perlu

diketahui,

method

read()

dan

hanya sekali pakai. Artinya, hanya diekekusi

sekali saja. Eksekusi pertama, dia akan mengembalikan nilai berdasarkan isi filenya. Eksekusi kedua, dia akan mengembalikan nilai kosong. Karena itu, kita harus menyimpan hasilnya ke dalam variabel seperti puisi.

154

Contoh: >>> f = open("puisi.txt","r") >>> print f.read() Engkau bahkan bukan lagi variabel bagiku Engkau adalah konstanta abadi yang tak tergantikan... Tak ada yang bisa memisahkan kita >>> f.read() '' >>> f.readlines() []

Lihat: Pada eksekusi kedua, method read() dan readlines() mengembalikan nilai kosong. Selanjutnya kita akan mencoba menulis data ke file.

17.4 Cara Menulis File di Python Seperti yang sudah kita ketahui, ada tiga mode yang digunakan bila ingin menulis file, yaitu: "w", "a", dan "r+". Apa saja perbedaan dari ketiga mode itu. Menulis File dengan Mode "W" Silahkan buat program baru bernama tulis_bio.py, kemudian ikuti kodenya seperti ini. print "Selamat datang di Program Biodata" print "=================================" # Ambil input dari user nama = raw_input("Nama: ") umur = input("Umur: ") alamat = raw_input("Alamat: ")

155

# format teks teks = "Nama: {}\nUmur: {}\nAlamat: {}".format(nama, umur, alamat) # buka file untuk ditulis file_bio = open("biodata.txt", "w") # tulis teks ke file file_bio.write(teks) # tutup file file_bio.close()

Setelah itu, coba eksekusi programnya.

Maka sekarang kita punya file baru bernama biodata.txt.

156

Apa bila file itu sudah ada, maka akan di-replace atau ditulis ulang dengan yang baru. Ada dua method yang bisa kita gunakan untuk menulis file 1. write(): parameternya teks (string) 2. writelines(): parameternya teks dalam bentuk list. Contoh: teks = "ini sebuah teks" teks_list ["apel", "mangga", "anggur"] f = open("file.txt", "w") f.write(teks) f.writelines(teks_list)

perbedaan Method write() akan menulis semua teks, sedangkan writelines() akan menulis per baris.

17.5 Menyisipkan Data ke File Apabila kita tidak ingin menulis ulang atau menindih file yang sudah ada, kita bisa menggunakan mode "a" (append) untuk menulisnya. Silahkan modifikasi program sebelumnya. print "Selamat datang di Program Biodata" print "=================================" # Ambil input dari user nama = raw_input("Nama: ") umur = input("Umur: ") alamat = raw_input("Alamat: ") # format teks teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n--".format(nama, umur, alamat)

157

# buka file untuk ditulis file_bio = open("biodata.txt", "a") # tulis teks ke file file_bio.write(teks) # tutup file file_bio.close()

Setelah itu, coba eksekusi dan masukan beberapa data.

Maka sekarang di file bioadta.txt ada data baru.

158

17.6 Membaca dan Menulis File dengan Mode "r+" Saat kita ingin membaca dan menulis file bersamaan, kita bisa saja membuat dua objek file seperti ini: file_baca = open("nama_file.txt", "r") file_tulis = open("nama_file.txt", "w")

Namun, sepertinya akan memakan banyak memori, karen kita membuat banyak objek. Maka cara terbaik yang digunakan adalah menggunakan mode "r+" membaca sekaligus menulis. Silahkan modifikasi kembali program yang tadi. print "Selamat datang di Program Biodata" print "=================================" # buka file untuk dibaca dan ditulis file_bio = open("biodata.txt", "r+") teks = file_bio.read() # cetak isi file print teks # Ambil input dari user nama = raw_input("Nama: ") umur = input("Umur: ") alamat = raw_input("Alamat: ") # format teks teks = "\nNama: {}\nUmur: {}\nAlamat: {}\n--".format(nama, umur, alamat) # tulis teks ke file file_bio.write(teks) # tutup file file_bio.close()

Setelah itu, coba eksekusi programnya. 159

Maka sekarang akan ada data baru yang ditambahkan. Sifat dari mode "r+" sama seperti "a", dia tidak menindih data yang sudah ada.

17.7 Menggunakan with dan as Pada contoh-contoh di atas, kita selalu menutup file dengan method close(). Sebenarnya file bisa ditutup otomatis dengan mengguakan with.

Contoh: with open("dokumen.txt", "r") as dok: print dok.read()

Setelah blok with dieksekusi, file akan ditutup dan otomatis dihapus dari memori. Menggunakan Exception Ada kalanya saat kita baca file, tapi filenya belum ada. 160

Maka biasanya akan terjadi IOerror. IOError: [Errno 2] No such file or directory: 'file.txt'

Hal ini, bisa kita atasi dengan menggunakan exception. Contoh: try: f = open("file.txt","r") except IOError as err: print "Terjadi kesalahan: {}".format(err)

Maka, bila error…akan menghasilkan output: Terjadi kesalahan: [Errno 2] No such file or directory: 'file.txt'

BAB 18 161

Tuple dalam Python

Tuple dalam Python adalah stuktur data yang digunakan untuk menyimpan sekumpulan data. Tupe bersifat immutable, artinya isi tuple tidak bisa kita ubah dan hapus. Namun, dapat kita isi dengan berbagai macam nilai dan objek. Pada artikel ini, kita akan membahas: 1. Cara Membuat Tuple 2. Cara Mengakses Nilai Tuple 3. Slicing Nilai Tuple 4. Cara Mengambil panjang tuple 5. Nested Tuple 6. Unpacking Sequence

18.1 Cara Membuat Tuple di Python Tuple biasanya dibuat dengan tanda kurung seperti ini: t = (1234, 4321, 'Hello') atau bisa juga tanpa tanda kurung: t = 1234, 432, 'World!' Kedua-duanya valid.

18.2 Membuat Tuple Kosong dan Singleton 162

Apabila

membuat

sebuah

tuple

tanpa

isi,

kita

bisa

menuliskannya seperti ini: # Membuat tuple kosong kosong = ()

Lalu untuk membuat Tuple yang hanya berisi satu (singleton), maka kita harus manambahkan tanda koma di belakangnnya. Contoh: # membuat tuple satu = ('Isinya',) siji = "isinya siji",

dalam coding mengunakan koma, karena kalau tidak ditambahkan koma, akan dianggap sebagai string. satu = ('isinya') # <-- ini string siji = "isinya satu" # <-- ini juga string

18.3 Mengakses Nilai Tuple Sama seperti list, Tuple juga memiliki indeks untuk Mengakses item di dalamnya. Indeks Tuple dan list dimulai dari nol 0. Contoh: # membuat tuple nama = ('petani', 'kode', 'linux') # mengakses nilai tuple print(nama[1])

Maka hasilnya: 163

Apabila kita coba mengubah nilainya, maka akan terjadi error.

Ini karena Tuple bersifat immutable.

18.4 Memotong Tuple Sama seperti list, di Tuple juga kita bisa melakukan slicing. Contoh: # mula-mula kita punya tuple seperti ini web = (123, 'Petani Kode', 'coding.com') # lalu kita ingin potong agar ditampilkan # dari indeks nomer 1 sampai 2

164

print(web[1:2])

Maka hasilnya: ('Petani Kode',) Logikanya sama seperti di list.

18.5 Mengambil Panjang Tuple Untuk mengambil panjang atau jumlah item di dalam Tuple, kita bisa menggunakan fungsi len(). Contoh: # Membuat Tuple hari = ('Senin', 'Selasa', 'Jum\'at', 'Sabtu', 'Minggu')

'Rabu',

'Kamis',

# Mengambil panjang tuple hari print("Jumlah hari: %d" % len(hari))

Maka hasilnya:

18.6 Tuple Nested 165

Tuple juga bisa nested, artinya Tuple bisa diisi dengan Tuple. Contoh: tuple1 = "aku", "cinta", "kamu" tuple2 = "selama", 3, "tahun" tuple3 = (tuple1, tuple2) # <- nested tuple tuple3 akan berisi nilai dari tuple1 dan tuple2.

Tuple juga bisa diisi dengan objek apapun seperti list, dictionary, object, dan lain-lain. Contoh: t = ([1,2,3], {'nama': 'Petanikode', 'rank', 123}, True) Tuple t berisi list, dictionary, dan nilai boolean.

18.7 Sequence Unpacking Proses pembuatan Tuble bisa kita sebut sebagai packing, sementara untuk mengambil (ekstrak) seluruh isinya disebut unpacking. Contoh: # mula-mula kita buat tuple seperti ini web = 123, "Petani Kode", "Selamat Koding" # lalu di-unpacking id_web, nama, url = web # maka sekarang tiga variabel bernilai # sesuai yang ada di dalam tuple # # mari kita cetak

tersebut

akan

166

print(id_web) print(nama) print(url)

Hasilnya:

Dengan melakukan upacking, isi tuple akan di-copy ke variabel. Lalu dengan variabel kita bisa melakukan apapun, seperti mengubah isinya. Karena variabel bersifat mutable.

BAB 19 167

Fungsi dan Prosedur pada Python

Pada pembuatan program yang kompleks dan memiliki banyak fitur, kita diharuskan menggunakan fungsi. Bisa jadi kita akan kerepotan menulis kode programnya, karena 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 ini. Terlebih dahulu kita memahami teori dasar dan hal apa saja yang harus kita ketahui tentang fungsi di Python.

19.1 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. 168

Setelah dibuat fungsinya, lalu kita dapat memanggilnya kembali seperti dibawah ini. 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

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

169

FYI: fungsi juga dapat dipanggil pada fungsi lain, bahkan bisa memanggil dirinya sendiri. Fungsi yang memanggil dirinya sendiri, disebut fungsi rekursif.

19.2 Fungsi dengan Parameter Bagaimana kalau kita ingin memberikan input nilai ke dalam fungsi, kita bisa manfaatkan parameter. Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi. Contoh: def salam(ucapan): print(ucapan)

Pada contoh diatas, untuk membuat fungsi dengan parameter ucapan. Dan bagaimana cara memanggilnya. Cara pemanggilan fungsi yang memiliki parameter adalah seperti dibawah ini: salam("Selamat siang") "Selamat siang" adalah nilai parameter yang kita berikan. Lalu bagaimana kalau parameternya lebih dari satu, Kita bisa menggunakan tanda koma (,) untuk memisahnya.

Contoh: # Membuat fungsi dengan parameter def luas_segitiga(alas, tinggi):

170

luas = (alas * tinggi) / 2 print "Luas segitiga: %f" % luas; # Pemanggilan fungsi luas_segitiga(4, 6)

Hasilnya: Luas segitiga: 12.000000

19.3 Fungsi yang Mengembalikan Nilai Fungsi yang tidak mengembalikan nilai biasanya disebut dengan prosedur. Namun, kadang kita membutuhkan hasil proses dari fungsi untuk digunakan pada proses berikutnya. Maka

fungsi

harus

mengembalikan

nilai

dari

hasil

pemrosesannya. Cara mengembalikan nilai adalah dengan menggunakan 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, fungsi luas_segitiga() kita melakukan print dari hasil pemrosesan 171

secara langsung di dalam fungsinya. Sedangkan 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 pemrosesan 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.

19.4 Variabel Global dan Lokal pada Python Saat kita menggunakan fungsi, maka kita mengetahui yang namanya variabel Global dan Lokal. Variabel Global adalah variabel yang bisa diakses dari semua fungsi, sedangkan 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).

172

Jadi program python mulai mencari vairabel lokal terlebih dahulu, kalau ada maka itu yang digunakan. Tapi kalau tidak ada, pencarian terus ke Global, dan Build-in. Variabel Build-in adalah variabel yang sudah ada di dalam Python. Contoh program: # membuat variabel global nama = "Selamatkode" 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: Selamatkode Versi: 1.0.0 Nama: Programku Versi: 1.0.2

173

Perhatikanlah variabel nama yang berada di dalam fungsi help() dan diluar fungsi `help(). Variabel nama yang berada di dalam fungsi help() adalah variabel lokal. Jadi, saat kita memanggil fungsi help() maka nilai yang akan tampil adalah nilai yang ada di dalam fungsi help(). 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.

19.5 Contoh Program dengan Fungsi Sekarang tiba saatnya kita membuat program dengan membuat file baru bernama program_fungsi.py. 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. 174

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" % buku[indeks])

(indeks,

Fungsi di atas akan mengecek isi dari list buku. Jika isinya kosong (len(buku) <= 0) maka tampilkan "BELUM ADA DATA". Namun, apabila 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() adalah fungsi untuk menambahkan item di akhir list. 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. 175

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 fungsi show_data() di dalamnya. Setelah kita meminta user untuk menginputkan ID atau nomer indeks buku yang akan diedit. Lalu melakukan pengecekan, jika ID yang diinputkan melebihi dari isi list buku (indeks > len(buku)), maka tampilkan pesan "ID salah". Namun, apabila 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. 176

Kita dapat menghapus item pada list dengan fungsi remove(). Apakah sudah selesai ternyata belum, masih ada dua fungsi lagi yang kita butuhkan: 1. Fungsi untuk menampilkan menu 2. Fungsi untuk keluar (sudah ada di python: exit()) Sekarang kita buat codingnya # 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. 177

if __name__ == "__main__": while(True): show_menu()

Program akan mengulang terus-menerus sampai fungsi exit() dieksekusi. if __name__ == "__main__": adalah blok main di Python. Sebenarnya tanpa ini, programnya sudah bisa dijalankan. Biar bagus, kita dapat menambahkan. 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" % buku[indeks])

(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

178

# 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" 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()

179

Cobalah untuk mengeksekusinya dan perhatikan hasilnya.

180

BAB 20 Dictionary pada Python

Pada pembahasan sebelumnya, kita sudah mengenal stuktur data list yang mampu menyimpan berbagaimacam hal. List biasanya digunakan untuk menyimpan koleksi data. Namun, list ternyata memiliki kekurangan. Kekurangannya: tidak bisa menggunakan kata kunci untuk mengakses itemnya. Hanya bisa menggunakan nomer indeks saja. Kekurangn ini sudah ditutipi oleh Dictionary.

20.1 Apa itu Dictionary pada Python Dictionary adalah stuktur data yang bentuknya seperti kamus. Ada kata kunci kemudian ada nilainya. Kata kunci harus unik, sedangkan nilai boleh diisi denga apa saja. Contoh: aku = { "nama": "Petani Kode", "url:" "https://www.petanikode.com" }

Pada contoh diatas kita membuat sebuah Dictionary bernama aku

dengan isi data nama dan URL. nama dan url adalah kunci

(key) yang akan kita gunakan untuk mengakses nilai di dalamnya.

181

Inilah perbedaanya dibandingkan list dan tuple. Dictionary memiliki kunci berupa teks bisa juga angka sedangkan list dan tuple menggunakan indeks berupa angka saja untuk mengakses nilainya. Dalam bahasa pemrograman lain (seperti PHP), Dictionary juga dikenal dengan sebutan asosiatif array.

20.2 Membuat Dictionary Hal yang wajib di dalam pembuatan Dictionary adalah sebagai berikut: 1.

nama dictionary

2.

key

3.

value

4.

buka dan tutupnya menggunakan kurung kurawal.

Antara key dan value dipisah dengan titik dua (:) dan apabila terdapat lebih dari satu item, maka dipisah dengan tanda koma (,). Contoh satu item: nama_dict = { "key": "value" }

Contoh tiga item: nama_dict = "key1": "key2": "key3":

{ "value", "value", "value"

182

}

Isi dari Dictionary dapat berupa: 1.

String

2.

Integer

3.

Objek

4.

List

5.

Tuple

6.

Dictionary

Contoh: pak_tani = { "nama": "Petani Kode", "umur": 22, "hobi": ["coding", "membaca", "cocok tanam"], "menikah": False, "sosmed": { "facebook": "petanikode", "twitter": "@petanikode" } }

Mari kita lihat isi dari Dictionary di atas: 

nama berisi string "Petani Kode"



umur berisi integer 22



hobi berisi list dari string



menikah berisi boolean False



dan sosmed berisi Dictionary

183

Menggunakan Konstruktor, Selain menggunakan cara diatas, 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'}

20.3 Mengakses Nilai Item dari Dictionary Setelah mengetahui cara membuat Dictionary, sekarang bagaimana cara mengaksesnya. Cara mengaksesnya sama seperti list. Namun kunci yang digunakan bukan angka, melainkan keyword yang sudah kita tentukan di dalam Dictionary-nya. Contoh: # Membuat Dictionary pak_tani = { "nama": "Petani Kode", "umur": 22, "hobi": ["coding", "membaca", "cocok tanam"], "menikah": False, "sosmed": { "facebook": "petanikode", "twitter": "@petanikode" } } # Mengakses isi dictionary

184

print("Nama saya adalah %s" % pak_tani["nama"]) print("Twitter: %s" % pak_tani["sosmed"]["twitter"])

Maka akan menghasilkan: Nama saya adalah Petani Kode Twitter: @petanikode Selain dengan cara di atas, kita juga bisa mengambil nilai Dictionary dengan method get(). Contoh: print(pak_tani.get("nama"))

Hasilnya: Petani Kode Menggunakan Perulangan Untuk mencetak semua isi Dictionary, kita bisa menggunakan perulangan seperti ini: # Membuat dictionary web = { "name": "petanikode", "url": "https://www.petanikode.com", "rank": "5" } # Mencetak isi dictionary dengan perulangan for key in web: print(web[key])

Hasilnya: petanikode 5 https://www.petanikode.com 185

Kita juga bisa melakukannya seperti ini: web = { "name": "petanikode", "url": "https://www.petanikode.com", "rank": "5" } for key, val in web.items(): print("%s : %s" % (key, val))

Hasilnya: name : petanikode rank : 5 url : https://www.petanikode.com

20.4 Mengubah Nilai Item Dictionary Dictionary bersifat mutable, artinya nilainya dapat kita ubahubah. 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"

186

# Mencetak isi skill utama print(skill["utama"])

Maka akan menghasilkan: Python Rust

20.5 Menghapus Item dari Dictionary Untuk menghapus nilai Dictionary, kita bisa menggunakan perintah del dan method pop(). Method pop() adalah method yang berfungsi untuk mengeluarkan item dari dictionary sedangak fungsi del adalah 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']}

Apabila kita ingin menghapus semuanya sekaligus, kita bisa menggunakan method clear(). Contoh: skill.clear()

187

20.6 Menambahkan Item ke Dictionary Kita

bisa

menambahkan

menggunakan isi

ke

update()

untuk

Parameternya

berupa

method

Dictionary.

Dictionary. Selain berfungsi untuk menambahkan, method ini juga berfungsi untuk mengubah nilai dictionary apabila kunci yang dimasukkan sudah ada di dalamnya. Contoh: # membuat dictionary user user = { "name": "petanikode" } # menambahkan password user.update({"password": "akucintakamu123"}) print(user) # update name user.update({"name": "peternaklinux"}) print(user)

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

20.7 Mengambil Panjang Dictionary Untuk mengambil jumlah data atau panjang Dictionary, kita bisa menggunakan fungsi len(). 188

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

189

BAB 21 Penanganan Error pada Python Saat kita menulis kode Python, pasti pernah mengalami kesalahan baik dari segi penulisan syntax maupun saat penulisan sudah benar. Untuk itu perlu dilakukan penanganan error pada Python. Terdapat 2 jenis error pada Bahasa pemrograman Python yaitu Errors dan Exceptions.

21.1 Syntax Errors Syntax Errors adalah suatu keadaan saat kode python mengalami kesalahan penulisan. Python interpreter dapat mendeteksi kesalahan ini saat kode dieksekusi. 1 >>> print"Hello World" 2 SyntaxError: invalid syntax Output dari program yang dieksekusi akan menampilkan pesan “invalid syntax“. Penanganan Syntax Errors dilakukan dengan memperbaiki penulisan kode yang salah tersebut. Berikut ilustrasi penanganan Syntax Erros:

190

21.2. Exceptions Exceptions adalah suatu keadaan saat penulisan syntax sudah benar, namun kesalahan terjadi karena syntax tidak bisa dieksekusi.

Banyak

hal

yang

menyebabkan

terjadinya

Exceptions, mulai dari kesalahan matematika, kesalahan nama function, kesalahan library, dan lain-lain.

21.2.1 ZeroDivisionError ZeroDivisonError adalah exceptions yang terjadi saat eksekusi program menghasilkan perhitungan matematika pembagian dengan angka nol (0).

21.2.2 NameError NameError adalah exception yang terjadi saat kode melakukan eksekusi terhadap local name atau global name yang tidak terdefinisi. Misalnya saat menjumlahkan variable yang tidak

191

didefinisikan, memanggil function yang tidak ada, dan lainlain.

21.2.3 TypeError TypeError adalah exception yang terjadi saat dilakukan eksekusi terhadap suatu operasi atau fungsi dengan type object yang tidak sesuai.

192

BAB 22 Parsing XML dengan DOM API

Python memungkinkan kita melakukan parsing (penguraian) dan manipulasi terhadap file XML dengan DOM API. DOM (Document Object Model) adalah sebuah API yang menyediakan fungsi-fungsi untuk memanipulasi dokumen. Salah satu modul DOM yang dapat kita gunakan untuk parsing XML adalah MiniDOM. Pada kesempatan ini kita akan belajar cara parsing file XML dan HTML menggunakan MiniDom. Apa saja yang akan kita pelajari? 

Cara Parsing XML di Python



Cara Membuat Node/Elemen

22.1 Parsing XML di Python Pertama, silahkan persiapkan sebuah file XML untuk di-parse. Letakan filenya satu direktori dengan file program python-nya:

193

Isi File XML-nya seperti berikut: <mahasiswa> Rena Surabaya <jurusan>Teknik Informatika

Pada file tersebut, terdapat node akar (root) yaitu <mahasiswa>,

di dalamnya terdapat node lagi yang berisi data

mahasiswa yang akan kita parse. Selanjutnya silahkan kita buat program python-nya: import xml.dom.minidom as minidom def main(): # gunakan fungsi parse() untuk me-load xml ke memori # dan melakukan parsing doc = minidom.parse("mahasiswa.xml") # Cetak isi doc dan tag pertamanya print doc.nodeName print doc.firstChild.tagName if __name__ == "__main__": main()

194

Sekarang coba jalankan dan perhatikan hasilnya:

Penjelasannya: Pertama kita membutuhkan modul atau library minidom, maka kita harus mengimpornya: import xml.dom.minidom as minidom

Setelah itu, kita load file XML-nya ke memori dan langsung di-parse oleh fungsi parse() dari minidom. doc = minidom.parse("mahasiswa.xml")

Selanjutnya, kita bisa lakukan manipulasi dengan variabel objek doc.

195

Sebagai contoh, kita mencetak nama node-nya dan tag pertama (root) yaitu <mahasiswa>. print doc.nodeName print doc.firstChild.tagName

selanjutnya silahkan ubah dan lengkapi programmnya menjadi seperti ini: import xml.dom.minidom as minidom def main(): # gunakan fungsi parse() untuk me-load xml ke memori # dan melakukan parsing doc = minidom.parse("mahasiswa.xml") # Cetak isi doc dan tag pertamanya print doc.nodeName print doc.firstChild.tagName nama = doc.getElementsByTagName("nama")[0].firstChild.data alamat = doc.getElementsByTagName("alamat")[0].firstChild.data

jurusan = doc.getElementsByTagName("jurusan")[0].firstChild.data

list_hobi = doc.getElementsByTagName("hobi") print "Nama: {}\nAlamat: {}\nJurusan: {}\n".format(nama, alamat, jurusan) print "Memiliki {} hobi:".format(len(list_hobi)) for hobi in list_hobi: print "-", hobi.getAttribute("name") if __name__ == "__main__": main()

196

Sekarang coba eksekusi, maka hasil outputnya akan seperti ini: #document mahasiswa Nama: Rena Alamat: Surabaya Jurusan: Teknik Informatika Memiliki 3 hobi: - Blogging - Membaca Buku - Nonton Anime

Penjelasan adalah untuk mengambil nilai dari node XML, kita dapat menggunakna fungsi getElementsByTagName(). Artinya kita memilih semua elemen dengan nama tag tertentu. Fungsi tersebut akan menghasilkan list, bertasakan banyak elemen di dalam XML. Misalkan untuk tag , akan menghasilkan: []

Sedangkan untuk tag : [ , , ]

List tersebut berisi objek DOM yang bisa kita ambil nilainya. Misalkan kita ingin mengambil nilai nama: nama = doc.getElementsByTagName("nama")[0].firstChild.data

197

Kita memilih objek DOM pada indeks ke-0, dan mengambil isinya. Sedangkan untuk tag , kita bisa menggunakan perulangan dan method getAttribute() untuk mengambil nilai dari atribut. for hobi in list_hobi: print "-", hobi.getAttribute("name")

22.2 Menambahkan Node pada XML Node atau elemen dapat kita tambahkan dengan beberapa metode. Contoh: # Membuat elemen XML baru hobi_baru = doc.createElement("hobi") # Menambahkan atribut name pada dengan nilai "programming" hobi_baru.setAttribute("name", "Programming") # Menambahkan elemen tersebut ke dalam <mahasiswa> doc.firstChild.appendChild(hobi_baru)

Sekarang modifikasi kembali kode tadi menjadi seperti ini: import xml.dom.minidom as minidom def main(): # gunakan fungsi parse() untuk me-load xml ke memori # dan melakukan parsing doc = minidom.parse("mahasiswa.xml") # Cetak isi doc dan tag pertamanya print doc.nodeName print doc.firstChild.tagName nama = doc.getElementsByTagName("nama")[0].firstChild.data

198

alamat = doc.getElementsByTagName("alamat")[0].firstChild.data jurusan = doc.getElementsByTagName("jurusan")[0].firstChild.data print "Nama: {}\nAlamat: {}\nJurusan: {}\n".format(nama, alamat, jurusan) # Mendambahkan Elemen hobi_baru = doc.createElement("hobi") hobi_baru.setAttribute("name", "Programming") doc.firstChild.appendChild(hobi_baru) # Ambil kembali daftar hobi list_hobi = doc.getElementsByTagName("hobi") print "Memiliki {} hobi:".format(len(list_hobi)) for hobi in list_hobi: print "-", hobi.getAttribute("name") if __name__ == "__main__": main()

Sekarang coba eksekusi dan perhatikanlah hasilnya: #document mahasiswa Nama: Rena Alamat: Surabaya Jurusan: Teknik Informatika Memiliki 4 hobi: - Blogging - Membaca Buku - Nonton Anime - Programming

199

File

XML-nya tidak bertamabah, Penambahan yang kita

lakukan di atas bersifat temporer, artinya kalau programnya ditutup semua akan hilang. Karena elemen tersebut hanya terseimpan dalam memori saja. Bagaimana kalau kita igin menyimpannya ke dalam file XML Contoh: # buka file XML dengan mode write (w) file_xml = open("mahasiswa.xml","w") # tulis XML yang ada di memori ke file XML doc.writexml(file_xml) # tutup file XML file_xml.close()

Silahkan tambahakan kode tersebut pada program sebelumnya: import xml.dom.minidom as minidom def main(): # gunakan fungsi parse() untuk me-load xml ke memori # dan melakukan parsing doc = minidom.parse("mahasiswa.xml") # Cetak isi doc dan tag pertamanya print doc.nodeName print doc.firstChild.tagName nama = doc.getElementsByTagName("nama")[0].firstChild.data alamat = doc.getElementsByTagName("alamat")[0].firstChild.data jurusan = doc.getElementsByTagName("jurusan")[0].firstChild.data print "Nama: {}\nAlamat: {}\nJurusan: {}\n".format(nama, alamat, jurusan) hobi_baru = doc.createElement("hobi") hobi_baru.setAttribute("name", "Programming") doc.firstChild.appendChild(hobi_baru) list_hobi = doc.getElementsByTagName("hobi")

200

print "Memiliki {} hobi:".format(len(list_hobi)) for hobi in list_hobi: print "-", hobi.getAttribute("name") file_xml = open("mahasiswa.xml","w") doc.writexml(file_xml) file_xml.close() if __name__ == "__main__": main()

Setelah itu, eksekusi dan coba buka file mahasiswa.xml.

Tag sudah ditambahkan. Itulah beberapa teknik memanipulasi, parsing, dan menulis file XML.

201

BAB 23 Parsing Data dari JSON

JSON adalah salah satu format standar pertukaran data antar aplikasi. Biasanya JSON banyak kita temukan ketika bermain dengan web service atau RESTful API. JSON hampir bisa dibaca di

sebagian besar bahasa

pemrograman, seperti C, PHP, Javascript, C++, C#, Java, Ruby, Python, dll.

23.1 Parsing File JSON di Python Penguraian

JSON

pada

bahasa

pemrograman

Python,

membutuhkan modul json dan urllib untuk mendownload JSON dari web service. Kedua modul ini sudah disediakan oleh Python.

23.1.1 Membuat File JSON Pertama, kita buat dulu file JSON-nya dengan isi seperti pada gambar di atas. Nama file: petanikode.json { "nama" : "Petani Kode", "url" : "http://petanikode.com", "media": { "facebook" : "petanikode", "twitter" : "@petanikode", "instagram": "@petanikode" }

202

}

23.1.2 Percobaan di Iterpreter Sebelum membuat kode, kita coba dulu mengurai JSON-nya melalui interpreter. Ketik python pada terminal untuk masuk ke interpreter.

Pada percobaan di atas, kita menggunakan fungsi open() untuk membuka file JSON. Kemudian, kita menggunakan fungsi loads() dari modul json untuk me-load data JSON. Data JSON disimpan pada variabel data dalam bentuk dictionary. Dengan demikian, kita bisa leluasa mengurai data JSON-nya.

203

Buat file skrip python dan letakkan di direktori yang sama dengan file JSON-nya. Berikut ini isi skripnya. import json # buka file JSON-nya dulu file_json = open('petanikode.json') # load file JSON dari file yang sudah dibuka data = json.loads(file_json.read()) # cetak isi data print data

Hasil output dari kode di atas: {u'url': u'http://petanikode.com', u'nama': u'Petani Kode', u'media': {u'twitter': u'@petanikode', u'facebook': u'petanikode', u'instagram': u'@petanikode'}}

Selanjutnya, kita tinggal percantik saja hasil output-nya. Silahkan modifikasi lagi kodenya. import json # buka file JSON-nya dulu file_json = open('petanikode.json') # load file JSON dari file yang sudah dibuka data = json.loads(file_json.read()) # cetak isi data print "nama \t: %s" % data['nama'] print "url \t: %s" % data['url'] print "Media Sosial " for sosial in data['media']: print "\t%s \t: %s" % (sosial, data['media'][sosial])

204

Hasil outputnya:

Selanjutnya kita akan mencoba parsing JSON dari web service.

23.2 Parsing JSON dari URL Web Service dengan Python Kita membutuhkan modul

atau pustaka

urlib

untuk

mengambil JSON dari URL Web Service. Setelah itu, kita dapat melakukan penguraian (parsing) informasi yang ada di dalamnya. Web service yang akan saya gunakan pada tulisan ini adalah web service dari Google. Web service tersebut menyediakan RSS Feed untuk Blogger dalam bentuk JSON.

23.2.1 Percobaan di Postman Sebelum kita mulai parsing, ada baiknya kita coba dulu URL web service-nya. Supaya kita mudah mengetahui, atribut atau kunci yang digunakan pada JSON. URL: http://ajax.googleapis.com/ajax/services/feed/load?v=1.0#=10 0&q=http://feeds.feedburner.com/petanikode 205

Hasil Percobaan di Postman:

Hasil respon:

23.2.2 Penguraian Informasi Setelah mengetahui, struktur JSON yang diterima. Selanjutnya kita bisa mengurai informasi yang ada di dalamnya dengan mudah. Kita coba tampilkan semua judul yang ada di RSS Feed saja dulu. import urllib, json url = "http://ajax.googleapis.com/ajax/services/feed/load ?v=1.0#=100&q=http://feeds.feedburner.com/petanikod e" respon = urllib.urlopen(url) data = json.loads(respon.read())

206

post = data['responseData']['feed']['entries'] for artikel in post: print artikel['title']

Perhatikan pada kode di atas, kita menggunakan modul urlib untuk

mengambil

JSON

dari

URL.

Kemudian

kita

menggunakan modul json untuk mengurai informasinya. Berikut ini hasil yang akan kita dapatkan dari kode di atas.

Pengetahuan tentang cara parsing JSON sangatlah penting, karena JSON banyak digunakan dalam aplikasi modern.

207

BAB 24 API Simsimi + Pemrograman PyGTK Sekarang kita mengajak untuk mencoba bereksperimen dengan API Simsimi. Simsimi buat untuk aplikasi smartphone, silahkan instal aplikasi Simsimi di smarphonenya.

API Simsimi konsepnya sangat sederhana. Kita hanya melakukan request dari URL dengan query string, lalu mendapatkan jawaban atau respon berdasarkan data yang dimiliki Simsimi. Respon tersebut, bisa kita olah untuk membuat Simsimi versi kita sendiri.

24.1 Mendapatkan Kunci API Kunci API atau API Key, merupakan kunci yang digunakan untuk mengakses API Simsimi.

208

Ada dua jenis kunci API (API Key) yang disediakan oleh Simsimi: 1. API Key percobaan (diberikan gratis selama 7 hari). 2. API Key Berbayar. Untuk mendapatkan kunci API, silakan mendaftar di http://developer.simsimi.com/api. Isi data diri dan nama aplikasi yang akan dibuat. Setelah berhasil, nanti akan mendapatkan kunci API seperti ini.

Gambar 24.1 Tampilan API configuration 24.2 Membuat Request Pembuatan Request dilakukan melalui URL dengan Query String. Kita disediakan dua jenis URL. Pertama, untuk yang menggunakan kunci API percobaan (gratis) dan untuk yang menggunakan kunci API berbayar. 1. Kunci Percobaan: http://sandbox.api.simsimi.com/request.p 2. Kunci Berbayar: http://api.simsimi.com/request.p 209

Berikut ini parameter untuk membuat request melalui URL di atas. Nilai Parameter Tipe Data Wajib Keterangan Default key String Ya Kunci API text String Ya Query message lc String Ya Kode bahasa Double(0.0 1.0 : „Bad Word ft Tidak 0.0 ~ 1.0) Discriminator‟ Untuk membuat request-nya, silahkan susun URL-nya menjadi seperti ini: http://sandbox.api.simsimi.com/request.p?key=KUNCI_ API&lc=id&ft=1.0&text=tau petanikode?

Berikut ini contoh hasil requestnya melalui browser dengan query message “.

Seperti pada gambar di atas, responnya dalam bentuk JSON. Percobaan kedua saya lakukan dengan Postman. 210

24.3 Membuat Aplikasi Chat Oke, tiba saatnya di bagian yang paling menyenangkan. Jadi, setelah kita tahu respon dari API Simsimi berupa JSON. Kita tinggal melakukan penguraian (parshing) saja sehingga menjadi sebuah aplikasi. Untuk melakukan ini, saya menggunakan bahasa pemrograman Python. Karena kodenya lebih sederhana dan singkat. import urllib, json print "Silahkan kirim pesan!" while(True): pesan = raw_input("Anda: ") url = "http://sandbox.api.simsimi.com/request.p?key=KUNCI _API&lc=id&ft=1.0&text=%s" % pesan link_json = urllib.urlopen(url) data = json.loads(link_json.read()) print "Petanikode-simi: %s" % data['response']

211

Hasilnya, ketika dijalankan:

24.4 Pemrograman PyGTK Aplikasi dengan antarmuka grafis (GUI) lebih disukai pengguna, karena mudah dioperasikan. Pada kesempatan ini, kita akan mempelajari membuat aplikasi berbasis GUI dengan bahasa pemrograman python dan pustaka PyGTK. Apa itu GTK+ dan PyGTK adalah GTK+ (GIMP Toolkit) merupakan pustaka yang digunakan untuk membangun antarmuka grafis. GTK+ adalah bagian dari proyek GNU. GTK+ sendiri merupakan pustaka yang digunakan untuk bahasa C, sedangkan untuk python kita menggunakan PyGTK. PyGTK adalah pustaka GTK+ yang sudah diracik khusus untuk Python. 212

Gambar 24.2 Tampilan PyGTK for python 24.5 Persiapan Pemrograman PyGTK Apa saja alat-alat yang diperlukan untuk pemrograman PyGTK berikut yang perlu dipersiapkan. 1. Teks Editor Teks editor digunakan untuk menulis kode. Gunakan teks editor yang anda sukai. Beberapa teks editor rekomendasi: Atom, Ms. Visual Studio Code, Komodo Edit, Geany, dan lain lain.

213

2. Python Sebagian besar distro Linux sudah membawa python pada distribusinya, jadi tidak perlu diinstal. Silahkan cek versi yang terinstal di terminal dengan perintah: $ python --version Python 2.7.6

3. PIP PIP merupakan sebuah sistem manajemen paket yang digunakan untuk menginstal dan mengelola pustaka python. Kita membutuhkan PIP untuk menginstal pustaka PyGTK. Cara instal PIP: sudo apt-get isntall python-pip

4. Instal Pustaka PyGTK Sekarang baru kita bisa install pustaka PyGTK-nya. Gunakan perintah berikut untuk meingstal: sudo pip install PyGTK

24.6 Contoh Program Membauat Jendela Setelah semua perealatan siap, mari kita coba membuat sebuah jendela. Jendela merupakan bagian utama dari aplikasi GUI.

214

Silahkan ikuti kode berikut: #impor pustaka GTK import gtk # membuat objek jendela jendela = gtk.Window() # konfigurasi jendela jendela.set_size_request(600,200) jendela.set_position(gtk.WIN_POS_CENTER) jendela.set_title("Pemrograman PyGTK - Petani Kode") jendela.connect("destroy", gtk.main_quit) # tampilkan jendela jendela.show() gtk.main()

Setelah itu, simpan dengan nama jendela.py dan eksekusi skript tersebut.

Jika berhasil muncul seperti gambar di atas, berarti program PyGTK pertama kita berhasil. 215

24.7 Penjelasan Method Class gtk.Window() memiliki beberapa method untuk mengatur konfigurasi jendela, berikut ini penjelasannnya: 

.set_size_request(600,200)

untuk menentukan

ukuran jendela. 

.set_position(gtk.WIN_POS_CENTER)

untuk

menentukan posisi muncul jendela. gtk.WIN_POS_CENTER artinya posisi munculnya di tengah-tengah layar. 

.set_title()



.connect("destroy", gtk.main_quit)

untuk memberikan judul jendela. untuk

menghubungkan sinyal "destroy" dengan fungsi main_quit. Artinya, ketika tombol close diklik… aplikasi akan langsung keluar. 

.show()

untuk menampilkan jendela.

Selain method dari class Window() ada satu hal lagi yang perlu diperhatikan yaitu fungsi gtk.main(). gtk.main() adalah main loop (perulangan utama) yang menjaga jendela tetap terbuka.

24.8 Membuat Jendela dengan Class Pada contoh di atas kita membuat jendela dengan membuat langsung objek dari class gtk.Window(). 216

Sekarang kita coba membuat jendela dengan membuat class turunan dari gtk.Window(). import gtk class Aplikasi(gtk.Window): def __init__(self): super(Aplikasi, self).__init__() self.connect("destroy", gtk.main_quit) self.set_size_request(250, 150) self.set_position(gtk.WIN_POS_CENTER) self.show() # Tampilkan Jendela Aplikasi() gtk.main()

Pertama kita membuat class bernama Aplikasi() yang merupakan turunan dari class gtk.Window(). Kemudian kita lakukan konfigurasi jendela pada konstruktor class Aplikasi(). Lalu… pada akhirnya kita bisa langsung menampilkan jendela dengan memanggil class-nya atau bisa juga dengan cara membuat objek dari class Aplikasi(). app = Aplikasi() gtk.main()

217

Hasilnya:

Silakan anda pilih lebih suka yang menggunakan class apa tidak, karena lebih sederhana dan mudah dikelola kalau pakai class. Menambahkan Ikon Untuk menambahkan ikon, kita menggunakan method: .set_icon_from_file("path/ikon.png")

Jangan lupa juga untuk menambahkan file ikonnya petanikode.png.

Letakkan file tersebut satu direktori dengan

skrip python-nya. import gtk class Aplikasi(gtk.Window): def __init__(self): super(Aplikasi, self).__init__()

218

self.connect("destroy", gtk.main_quit) self.set_size_request(250, 150) self.set_position(gtk.WIN_POS_CENTER) self.set_title("Jendela dengan Ikon") self.set_icon_from_file("petanikode.png") self.show() Aplikasi() gtk.main()

Hasilnya:

24.9 Membuat Tombol dan Label Teks Pada antarmuka grafis (GUI), tombol merupakan komponen penting

penyusun

antarmuka.Tombol

dipakai

untuk

menjalankan fungsi atau aksi tertentu. Pada kesempatan ini, kita membahas langkah-langkah atau proses dalam pembuatan tombol di PyGTK. 219

1. Membuat Tombol Tombol dibuat dengan membuat objek dari kelas Button(). Contoh: tombol = gtk.Button(“Sebuah Tombol”)

2. Membuat Kontainer Kontainer kita perlukan untuk membungkus atau menampung tombol dan komponen-komponen lainnya. Apabila tidak menggunakan kontainer, bisa jadi akan berantakan. Pembuatan kontainer dapat dilakukan dengan membuat objek dari kelaskelas kontainer, seperti Fixed() untuk kontainer fixed. Contoh: kontainer = gtk.Fixed()

3. Menambahkan tombol ke kontainer Setelah membuat kontainer, selanjutnya kita tambahkan komponen ke dalamnya. Penambahan komponen ke kontainer dapat dilakukan dengan fungsi put(). Contoh: kontainer.put(tombol, 20, 30)

Tombol akan diletakkan pada posisi koordinat x=20 dan y=30.

4. Menambahkan kontainer ke jendela Semua komponen sudah dimasukkan ke dalam kontainer. Selanjutnya, kita masukkan kontainer ke dalam jendela agar 220

dapat ditampilkan. Hal ini dapat dilakukan dengan fungsi add(). Contoh: jendela.add(kontainer)

5. Tampilkan semua komponen Terakhir, setelah semua komponen dimasukan ke jendela, kita tampilkan semuanya dengan fungsi show_all(). Contoh: jendela.show_all()

6. Contoh Lengkap import gtk class Aplikasi(gtk.Window): def init(self): super(Aplikasi, self).init() self.set_title(“Tombol”) self.set_size_request(250,150) self.set_position(gtk.WIN_POS_CENTER) tbl1 = gtk.Button(“Tombol 1”) tbl1.set_sensitive(False) # non-aktifkan tombol tbl2 = gtk.Button(“Tombol 2”) tbl3 = gtk.Button(stock=gtk.STOCK_CLOSE) tbl4 = gtk.Button(“Tombol 4”) tbl4.set_size_request(80,40) # set ukuran tombol kontainer = gtk.Fixed() # membuat kontainer kontainer.put(tbl1, kontainer.put(tbl2, kontainer.put(tbl3, kontainer.put(tbl4,

20, 30) 100, 30) 20, 80) 100, 80)

221

self.connect(“destroy”, gtk.main_quit) self.add(kontainer) self.show_all() Aplikasi() gtk.main()

Hasilnya:

Terdapat empat tombol yang telah dibuat. Salah satunya tidak aktif dan ada juga yang memiliki gambar ikon. Tombol nomor 4 memiliki ukuran yang lebih besar, karena ukuran awalnya sudah dirubah.

222

DAFTAR PUSTAKA Bini, Ola (2007). Practical JRuby on Rails Web 2.0 Projects: bringing Ruby on Rails to the Java platform. Berkeley: APress. hlm. 3. ISBN 978-1-59059-881-8. Kuchling, Andrew M. (22 December 2006). "Interview with Guido van Rossum (July 1998)". Kuchling, A. M. "Functional Programming HOWTO". Python v2.7.2 documentation. Python Software Foundation. tanggal 9 February 2012. Rossum van, Guido (1993). "An Introduction to Python for NIX/C Programmers". Proceedings of the NLUUG najaarsconferentie (Dutch UNIX users group). even though the design of C is far from ideal, its influence on Python is considerable. Rossum van, Guido, 2012. Python Software Foundation. Diakses tanggal 20 February 2012. It is a mixture of the class mechanisms found in C++ and Modula-3 Simionato, Michele. "The Python 2.3 Method Resolution Order". Python Software Foundation. The C3 method itself has nothing to do with Python, since it was invented by people working on Dylan and it is described in a paper intended for lispers Schemenauer, Neil; Peters, Tim; Hetland, Magnus Lie (18 May 2001). "PEP 255 – Simple Generators". Python Enhancement Proposals. Python Software Foundation.

223

Smith, Kevin D.; Jewett, Jim J.; Montanaro, Skip; Baxter, Anthony (2 September 2004). "PEP 318 – Decorators for Functions and Methods". Python Enhancement Proposals. Python Software Foundation.

https://docs.python-guide.org/starting/install3/linux/ https://www.ics.uci.edu/~pattis/common/handouts/pythoneclips ejava/python.html https://docs.python-guide.org/starting/install/win/ https://id.wikipedia.org/wiki/Python_(bahasa_pemrograman) https://www.petanikode.com/tutorial/python/ https://belajarpython.com/ https://www.advernesia.com/blog/python/variabel-padapython-dengan-tipe-data-numerik/ https://www.python.org https://docs.python.org https://pypi.org https://code.activestate.com/recipes/langs/python/ http://www.pyvideo.org https://scipy.org

224

Related Documents


More Documents from "Ji Darmaji"