TIM PENYUSUN
Gerald Plakasa
Ferza Reyaldi
Asraf Shafiyyurrahman
Artamananda
Dini Andriani
Yulya Anita
UNIVERSITAS SRIWIJAYA
2021
ii
KATA PENGANTAR
Alhamdulillah saya panjatkan puja dan puji syukur kehadirat Allah swt yang
senantiasa melimpahkan segala rahmat, taufik dan hidayah-Nya sehingga
penyusun dapat menyelesaikan modul ini.
Pembahasan modul ini dimulai dengan menjelaskan tujuan yang akan dicapai.
Kelebihan modul ini, Anda bisa melihat keterpaduan bahasa pemprograman
Python.
Penulis
iii
DAFTAR ISI
COVER ................................................................................................................... i
PEMBAHASAN .................................................................................................... 1
1. Overview ...................................................................................................... 1
1.1 Mengapa Belajar Python?......................................................................... 1
1.2 Karakteristik Python ................................................................................. 2
1.3 Aplikasi .................................................................................................... 2
1.4 Prasyarat ................................................................................................... 3
1.5 Contoh ...................................................................................................... 3
2. Pengenalan Python ..................................................................................... 4
2.1 Definisi ..................................................................................................... 4
2.2 Sejarah ...................................................................................................... 4
2.1 Fitur .......................................................................................................... 5
3. Environment Setup...................................................................................... 6
3.1 Instalasi Python ........................................................................................ 6
3.1.1 Linux ................................................................................................. 7
3.1.2 Windows ........................................................................................... 7
3.1.3 Mac OS ............................................................................................. 7
3.2 Menjalankan Python ................................................................................. 8
3.2.1 Linux ................................................................................................. 8
3.2.2 Windows ........................................................................................... 8
3.2.3 Mac OS ........................................................................................... 11
3.2.4 Online ............................................................................................. 11
4. Sintaksis Dasar ......................................................................................... 12
4.1 Pengidentifikasian .................................................................................. 12
4.2 Kata yang Dicandangkan ........................................................................ 13
4.3 Baris dan Indentasi ................................................................................. 13
4.4 Satu Pernyataan dalam Beberapa Baris .................................................. 14
4.5 Kutipan dalam Python ............................................................................ 14
4.6 Komentar dalam Python ......................................................................... 15
4.7 Menunggu Baris Kosong ........................................................................ 15
4.8 Menunggu User ...................................................................................... 16
4.9 Beberapa Pernyataan dalam Satu Baris .................................................. 16
4.10 Beberapa pernyataan kelompok Suite ................................................... 16
5. Tipe Variabel ............................................................................................. 17
5.1 Menerapkan Nilai ................................................................................... 17
5.2 Multiple Assignment .............................................................................. 17
5.3 Tipe Data Standar ................................................................................... 18
5.4 Python Numbers ..................................................................................... 18
iv
5.5 Python Strings ........................................................................................ 19
5.6 Python List ............................................................................................. 19
5.7 Python Tuples ......................................................................................... 20
5.8 Python Dictionary................................................................................... 21
5.9 Konversi Tipe Data ................................................................................. 22
6. Operator Dasar ......................................................................................... 23
6.1 Tipe-Tipe Operator ................................................................................. 23
6.2 Operator Aritmatika ............................................................................... 23
6.3 Operator Perbandingan ........................................................................... 24
6.4 Operator Assignment .............................................................................. 25
6.5 Operator Bitwise..................................................................................... 25
6.6 Operator Logika ..................................................................................... 27
6.7 Operator Membership ............................................................................. 27
6.8 Operator Identitas ................................................................................... 27
6.9 Prioritas Operator ................................................................................... 28
7. Pengkondisian .......................................................................................... 29
7.1 Kondisi if ................................................................................................ 29
7.2 Kondisi if else ......................................................................................... 29
7.3 Kondisi elif ............................................................................................. 30
7.4 and Dan or .............................................................................................. 31
7.5 Kondisi bersarang ................................................................................... 31
8. Perulangan ............................................................................................... 32
8.1 While Loop ............................................................................................. 32
8.2 For Loop ................................................................................................. 33
8.3 Nested Loop ........................................................................................... 34
8.4 Break Statement ..................................................................................... 34
8.5 Continue Statement ................................................................................ 35
9. Numbers .................................................................................................... 35
9.1 Integer ..................................................................................................... 36
9.2 Float ........................................................................................................ 37
9.3 Complex ................................................................................................. 37
9.4 Konversi Tipe Data Number .................................................................. 38
10. Strings ....................................................................................................... 39
10.1 Penulisan Nilai ...................................................................................... 39
10.2 Mendefinisikan Variabel ....................................................................... 40
10.3 String Multiline ..................................................................................... 40
10.4 Mengindex String .................................................................................. 40
10.5 Panjang String ....................................................................................... 41
10.6 Menguji Keanggotaan Karakter ............................................................ 41
10.7 Menggabung String ............................................................................... 42
11. Struktur Data List ..................................................................................... 42
11.1 Pengertian List ...................................................................................... 42
11.2 Membuat dan Mengakses List .............................................................. 42
11.3 Memanipulasi List ................................................................................. 43
11.3.1 Menambah Data ............................................................................ 43
11.3.2 Menghapus Data ........................................................................... 44
v
11.3.3 Memotong Data ............................................................................ 44
11.3.4 Operasi .......................................................................................... 45
11.4 Multi Dimensi List ................................................................................ 45
11.5 List Methods ......................................................................................... 46
12. Struktur Data Tuple ................................................................................. 46
12.1 Pengertian Tuple ................................................................................... 46
12.2 Membuat dan Mengakses Tuple ........................................................... 47
12.3 Manipulasi Tuple .................................................................................. 47
12.4 Tuple Bersarang .................................................................................... 47
12.5 Tuple Methods ...................................................................................... 48
13. Dictionary .................................................................................................. 48
13.1 Akses Nilai ............................................................................................ 48
13.2 Update Nilai .......................................................................................... 49
13.3 Hapus Elemen ....................................................................................... 49
13.4 Fungsi Build-in ..................................................................................... 49
13.5 Method Build-in .................................................................................... 50
14. Date & Time .............................................................................................. 50
14.1 Tick ...................................................................................................... 51
14.2 Time Tuple ........................................................................................... 51
14.3 Waktu Saat ini ...................................................................................... 52
14.4 Waktu yang berformat .......................................................................... 52
14.5 Kalender dalam Sebulan ...................................................................... 53
14.6 Modul Time .......................................................................................... 53
14.7 Modul Kalender ................................................................................... 55
15. Fungsi ........................................................................................................ 56
15.1 Pengertian .............................................................................................. 56
15.2 Mendefinisikan ...................................................................................... 57
15.3 Memanggil ............................................................................................ 57
15.4 Fungsi dengan Parameter ...................................................................... 58
15.4.1 Mendefinisikan ............................................................................. 58
15.4.2 Memanggil .................................................................................... 58
15.5 Fungsi mengembalikan nilai ................................................................. 59
15.5.1 Mendefinisikan ............................................................................. 59
15.5.2 Memanggil .................................................................................... 60
15.6 Variabel Lokal dan Global .................................................................... 61
16. Modul ......................................................................................................... 61
16.1 Pengertian .............................................................................................. 62
16.2 Import Statment ..................................................................................... 62
16.3 From Import Statment ........................................................................... 63
16.4 From Import * Statment ........................................................................ 64
17. Files I/O ..................................................................................................... 64
17.1 Fungsi I/O Dasar ................................................................................... 64
17.2 Fungsi I/O Lanjutan .............................................................................. 65
17.2.1 Buka File ...................................................................................... 65
17.2.2 Tutup File ..................................................................................... 66
17.2.3 Menulis File .................................................................................. 66
vi
17.2.4 Membaca File ............................................................................... 67
18. Exceptions ................................................................................................. 68
18.1 Exceptions Handling ............................................................................. 68
18.2 Assertions .............................................................................................. 71
vii
PEMBAHASAN
1. Overview
Python adalah jika ditafsirkan itu , interaktif, berorientasi objek, dan bahasa
pemrograman tingkat tinggi. Ini diciptakan oleh Guido van Rossum selama tahun
1985-1990. Seperti Perl, kode sumber Python juga tersedia di bawah GNU
General Public License (GPL). Tutorial ini memberikan pemahaman yang cukup
tentang bahasa pemrograman Python.
1
1.2 Karakteristik Python
Seperti disebutkan sebelumnya, Python adalah salah satu bahasa yang paling
banyak digunakan di web. Saya akan daftar beberapa dari mereka di sini:
Mudah dipelajari Python memiliki sedikit kata kunci, struktur sederhana,
dan sintaks yang jelas. Hal ini memungkinkan siswa untuk mengambil
bahasa dengan cepat.
Mudah dibaca Kode Python lebih jelas dan terlihat oleh mata.
Mudah dirawat Kode sumber Python cukup mudah dirawat.
Pustaka standar yang luas Pustaka Python sangat portabel dan kompatibel
lintas platform di UNIX, Windows, dan Macintosh.
Mode Interaktif Python memiliki dukungan untuk mode interaktif yang
memungkinkan pengujian interaktif dan debugging potongan kode.
Portabel Python dapat berjalan di berbagai platform perangkat keras dan
memiliki antarmuka yang sama di semua platform.
Dapat diperpanjang Anda dapat menambahkan modul tingkat rendah ke
interpreter Python. Modul-modul ini memungkinkan pemrogram untuk
menambah atau menyesuaikan alat mereka agar lebih efisien.
Database Python menyediakan antarmuka ke semua database komersial
utama.
2
Pemrograman GUI Python mendukung aplikasi GUI yang dapat dibuat
dan porting ke banyak panggilan sistem, perpustakaan, dan sistem
windows, seperti Windows MFC, Macintosh, dan sistem X Window dari
Unix.
Scalable Python menyediakan struktur dan dukungan yang lebih baik
untuk program besar daripada skrip shell.
Tutorial Python ini dirancang untuk programmer perangkat lunak yang perlu
mempelajari bahasa pemrograman Python dari awal.
Hanya dengan menuliskan kode print seperti yang diatas, anda sudah bisa
mencetak apapun yang anda inginkan di dalam tanda kurung (). Dibagian akhir
kode pun, anda tidak harus mengakhirinya dengan tanda semicolon ;
3
2. Pengenalan Python
2.1 Definisi
Python bersifat Interaktif Anda sebenarnya dapat duduk di prompt Python dan
berinteraksi dengan juru bahasa secara langsung untuk menulis program Anda.
Python adalah Bahasa Pemula Python adalah bahasa yang bagus untuk
programmer tingkat pemula dan mendukung pengembangan berbagai aplikasi
mulai dari pemrosesan teks sederhana hingga browser WWW hingga game.
Python dikembangkan oleh Guido van Rossum pada akhir tahun delapan
puluhan dan awal tahun sembilan puluhan di National Research Institute for
Mathematics and Computer Science di Belanda. Python berasal dari banyak
bahasa lain, termasuk ABC, Modula-3, C, C++, Algol-68, SmallTalk, dan Unix
shell dan bahasa scripting lainnya. Python memiliki hak cipta. Seperti Perl, kode
sumber Python sekarang tersedia di bawah GNU General Public License (GPL).
Python sekarang dikelola oleh tim pengembangan inti di institut, meskipun Guido
van Rossum masih memegang peran penting dalam mengarahkan kemajuannya.
4
2.3 Fitur Python
Mudah dibaca Kode Python lebih jelas dan terlihat oleh mata.
Pustaka standar yang luas Pustaka Python sangat portabel dan kompatibel
lintas platform di UNIX, Windows, dan Macintosh.
Terlepas dari fitur yang disebutkan di atas, Python memiliki daftar besar fitur
bagus, beberapa di antaranya tercantum di bawah ini Ini mendukung metode
pemrograman fungsional dan terstruktur serta OOP.
5
Ini menyediakan tipe data dinamis tingkat tinggi dan mendukung
pemeriksaan tipe dinamis.
Python adalah bahasa pemrograman yang mudah dipelajari dan kuat. Ini
memiliki struktur data tingkat tinggi yang efisien dan pendekatan yang sederhana
namun efektif untuk pemrograman berorientasi objek. Sintaks Python yang elegan
dan pengetikan dinamis, bersama dengan sifatnya yang ditafsirkan,
menjadikannya bahasa yang ideal untuk pembuatan skrip dan pengembangan
aplikasi yang cepat di banyak area di sebagian besar platform.
Penerjemah Python dan perpustakaan standar yang luas tersedia secara bebas
dalam bentuk sumber atau biner untuk semua platform utama dari situs Web
Python, https://www.python.org/, dan dapat didistribusikan secara bebas. Situs
yang sama juga berisi distribusi dan petunjuk ke banyak modul, program dan alat
Python pihak ketiga gratis, dan dokumentasi tambahan.
Interpreter Python mudah diperluas dengan fungsi dan tipe data baru yang
diimplementasikan dalam C atau C++ (atau bahasa lain yang dapat dipanggil dari
C). Python juga cocok sebagai bahasa ekstensi untuk aplikasi yang dapat
disesuaikan.
3. Environment Setup
6
3.1.1 Linux
a. Buka browser,
kunjungi http://www.python.org/downloads/source/
3.1.2 Windows
a. Buka browser,
kunjungi http://www.python.org/downloads/windows/
b. ATAU, klik direct
link https://www.python.org/ftp/python/3.8.1/python-3.8.1.exe
c. Buka (klik 2x) file installer python yang baru saja di download
d. Ikuti langkah instalasi sampai selesai
3.1.3 Mac OS
7
3.2 Menjalankan Python
Untuk menjalankan Python ada banyak cara yang bisa dilakukan. Anda bisa
menggunakan shell, terminal atau menggunakan IDE (Integrated Development
Environment). Di bawah ini adalah langkah-langkah menjalankan Python dengan
cara yang paling mudah.
3.2.1 Linux
a. Buka terminal CTRL + ALT + T
b. Ketik python maka Anda akan masuk ke Python shell.
c. Tuliskan script Python Anda, contoh: print("Selamat datang di
Python"). jika sudah tekan tombol ENTER, dan script Python
akan dijalankan/eksekusi.
d. Untuk keluar dari Python shell ketik exit()
Atau
3.2.2 Windows
a. Buka IDLE (python shell di windows), Anda bisa mencarinya di
tombol START.
b. Script Python Anda, contoh: print("Selamat datang di Python").
jika sudah tekan tombol ENTER, dan script Python akan
dijalankan/eksekusi.
8
c. Untuk keluar dari Python shell ketik exit()
atau
9
Atau
10
3.2.3 Mac OS
a. Buka terminal.
b. Ketik python maka Anda akan masuk ke Python shell.
c. Tuliskan script Python Anda, contoh: print("Selamat datang di
Python"). jika sudah tekan tombol ENTER, dan script Python
akan dijalankan/eksekusi.
d. Untuk keluar dari Python shell ketik exit()
Atau
a. Gunakan teks editor.
b. Buat file baru, dan ketikan script python Anda,
contoh: print("Selamat datang di Python").
c. Save As dengan ekstensi .py (contoh: cetak.py).
d. Jalankan file dengan menggunakan Terminal.
e. Buka terminal CTRL+ALT+T
f. Masuk ke direktori dimana file Python Anda disimpan (contoh: cd
/Users/admin/Desktop/).
g. Jalankan script Python dengan menggunakan python diikuti
dengan nama file (contoh: python cetak.py).
h. Script Python Anda akan dieksekusi/dijalankan.
11
3.2.4 Online
4. Sintaksis Dasar
a. Nama kelas dimulai dengan huruf besar. Semua pengenal lainnya dimulai
dengan huruf kecil.
12
b. Memulai pengidentifikasi dengan satu garis bawah utama menunjukkan
bahwa pengidentifikasi bersifat pribadi.
c. Memulai pengidentifikasi dengan dua garis bawah di depan menunjukkan
pengidentifikasi yang sangat pribadi.
Daftar berikut menunjukkan kata kunci Python. Ini adalah kata-kata yang
dicadangkan dan Anda tidak dapat menggunakannya sebagai konstanta atau
variabel atau nama pengenal lainnya. Semua kata kunci Python hanya berisi huruf
kecil.
Jumlah spasi dalam indentasi adalah variabel, tetapi semua pernyataan di dalam
blok harus diindentasi dengan jumlah yang sama. Sebagai contoh :
13
Berikut contoh kode blok yang menghasilkan error.
Jadi, dalam Python semua garis kontinu yang diindentasi dengan jumlah spasi
yang sama akan membentuk blok.
Pernyataan dalam Python biasanya diakhiri dengan baris baru. Namun, Python
mengizinkan penggunaan karakter kelanjutan baris ( \ ) untuk menunjukkan
bahwa baris harus dilanjutkan. Sebagai contoh :
Pernyataan yang terdapat dalam tanda kurung [], {}, atau () tidak perlu
menggunakan karakter kelanjutan baris. Sebagai contoh.
Python menerima tanda kutip tunggal ('), ganda (") dan rangkap tiga (''' atau
""") untuk menunjukkan literal string, selama jenis kutipan yang sama memulai
dan mengakhiri string. Tanda kutip tiga digunakan untuk merentangkan string ke
beberapa baris. Misalnya, semua yang berikut ini legal:
14
4.6 Komentar dalam Python
Tanda tagar (#) yang tidak ada di dalam literal string merupakan awal dari
komentar. Semua karakter setelah # dan hingga akhir baris fisik adalah bagian dari
komentar dan Python Interpreter mengabaikannya.
String yang dikutip tiga kali juga diabaikan oleh Python Interpreter dan dapat
digunakan sebagai komentar multi-baris.
Baris yang hanya berisi spasi, mungkin dengan komentar, dikenal sebagai
baris kosong dan Python benar-benar mengabaikannya. Dalam sesi interpreter
interaktif, Anda harus memasukkan baris fisik kosong untuk mengakhiri
pernyataan multi-baris.
15
4.8 Menunggu User
Sekelompok pernyataan individu, yang membuat satu blok kode disebut suite
di Python. Pernyataan majemuk atau kompleks, seperti if, while, def, dan class
memerlukan baris header dan suite. Baris header memulai pernyataan (dengan
kata kunci) dan diakhiri dengan titik dua ( : ) dan diikuti oleh satu atau lebih baris
yang membentuk rangkaian. Sebagai contoh
16
5. Tipe Variabel
Operan di sebelah kiri operator = adalah nama variabel dan operan di sebelah
kanan operator = adalah nilai yang disimpan dalam variabel. Sebagai contoh
Di sini, 100, 1000.0 dan "John" masing-masing adalah nilai yang ditetapkan
untuk variabel penghitung, mil, dan nama. Ini menghasilkan hasil berikut:
Di sini, objek integer dibuat dengan nilai 1, dan ketiga variabel ditugaskan ke
lokasi memori yang sama. Anda juga dapat menetapkan beberapa objek ke
beberapa variabel. Sebagai contoh
17
Di sini, dua objek integer dengan nilai 1 dan 2 ditugaskan ke variabel a dan b
masing-masing, dan satu objek string dengan nilai "john" ditugaskan ke variabel
c.
Data yang disimpan dalam memori dapat terdiri dari banyak jenis. Misalnya,
usia seseorang disimpan sebagai nilai numerik dan alamatnya disimpan sebagai
karakter alfanumerik. Python memiliki berbagai tipe data standar yang digunakan
untuk menentukan operasi yang mungkin dilakukan pada mereka dan metode
penyimpanan untuk masing-masingnya.
Numbers
String
List
Tuple
Dictionary
Tipe data Number menyimpan nilai numerik. Objek angka dibuat saat Anda
menetapkan nilai padanya. Sebagai contoh
Anda dapat menghapus satu objek atau beberapa objek dengan menggunakan
pernyataan del. Sebagai contoh
18
Python mendukung empat tipe numerik yang berbeda
List adalah tipe data majemuk Python yang paling serbaguna. List berisi item
yang dipisahkan dengan koma dan diapit dalam tanda kurung siku ([]). Sampai
batas tertentu, daftar mirip dengan array di C. Satu perbedaan di antara mereka
19
adalah bahwa semua item yang termasuk dalam daftar dapat memiliki tipe data
yang berbeda.
Nilai yang disimpan dalam list dapat diakses menggunakan operator irisan ([ ]
dan [:]) dengan indeks mulai dari 0 di awal daftar dan bekerja hingga akhir -1.
Tanda plus (+) adalah operator rangkaian daftar, dan tanda bintang (*) adalah
operator pengulangan. Sebagai contoh
Tuple adalah tipe data urutan lain yang mirip dengan daftar. Tuple terdiri dari
sejumlah nilai yang dipisahkan dengan koma. Tidak seperti daftar, bagaimanapun,
tupel diapit dalam tanda kurung.
Perbedaan utama antara daftar dan tupel adalah: Daftar diapit dalam tanda
kurung ( [ ] ) dan elemen serta ukurannya dapat diubah, sedangkan tupel diapit
dalam tanda kurung ( ( ) ) dan tidak dapat diperbarui. Tuple dapat dianggap
sebagai read-only list. Sebagai contoh
20
Ini akan menghasilkan hasil output sebagai berikut.
Kode berikut tidak valid dengan tuple, karena kami mencoba memperbarui
tuple, yang tidak diperbolehkan. Kasus serupa dimungkinkan dengan list.
Dictionary adalah jenis tipe tabel hash. Mereka bekerja seperti array asosiatif
atau hash yang ditemukan di Perl dan terdiri dari pasangan nilai kunci. Kunci
kamus dapat berupa hampir semua jenis Python, tetapi biasanya berupa angka
atau string. Nilai, di sisi lain, dapat berupa objek Python arbitrer apa pun.
Dictionary diapit oleh kurung kurawal ({}) dan nilai dapat ditetapkan dan diakses
menggunakan kurung siku ([]). Sebagai contoh
21
Ini akan menghasilkan hasil output sebagai berikut.
Dictionary tidak memiliki konsep keteraturan antar elemen. Tidak benar untuk
mengatakan bahwa unsur-unsur itu "rusak"; mereka hanya tidak teratur.
Fungsi Penggunaan
Mengonversi x menjadi bilangan bulat. base
int(x [,base])
menentukan basis jika x adalah string.
Mengonversi x menjadi bilangan bulat panjang.
long(x [,base] )
base menentukan basis jika x adalah string.
float(x) Mengonversi x ke bilangan floating-point.
complex(real [,imag]) Membuat bilangan kompleks.
str(x) Mengonversi objek x ke representasi string.
repr(x) Mengonversi objek x menjadi string ekspresi.
eval(str) Mengevaluasi string dan mengembalikan objek.
tuple(s) Mengonversi s menjadi tupel.
list(s) Mengonversi s ke list.
set(s) Mengonversi s menjadi satu set.
Membuat kamus. d harus berupa urutan tupel
dict(d)
(kunci, nilai).
frozenset(s) Mengonversi s ke set beku.
chr(x) Mengonversi bilangan bulat menjadi karakter.
22
Mengonversi bilangan bulat menjadi karakter
unichr(x)
Unicode.
ord(x) Mengonversi satu karakter ke nilai integernya.
Mengonversi bilangan bulat menjadi string
hex(x)
heksadesimal.
oct(x) Mengonversi bilangan bulat menjadi string oktal.
6. Operator Dasar
Operator Aritmatika
Operator Perbandingan
Operator Assignment
Operator Bitwise
Operator Logika
Operator Membership
Operator Identitas
6.2 Operator Aritmatika
Asumsikan variabel a berisi 10 dan variabel b berisi 20, maka
23
Melakukan perhitungan eksponensial a**b =10 to the
Eksponen (**)
(daya) pada operator. power 20
Pembagian operan di mana hasilnya
adalah hasil bagi di mana digit setelah 9//2 = 4 dan
titik desimal dihilangkan. Tetapi jika 9.0//2.0 = 4.0, -
Floor Division (//)
salah satu operan negatif, hasilnya 11//3 = -4, -
berlantai, yaitu, dibulatkan menjauh 11.0//3 = -4.0
dari nol (menuju tak terhingga negatif).
24
6.4 Operator Assignment
Operator bitwise bekerja pada bit dan melakukan operasi bit demi bit.
Asumsikan jika a = 60; dan b = 13; Sekarang dalam format biner nilainya masing-
masing adalah 0011 1100 dan 0000 1101. Tabel berikut mencantumkan operator
25
bitwise yang didukung oleh bahasa Python dengan masing-masing contoh di
dalamnya, kami menggunakan dua variabel di atas (a dan b) sebagai operan.
a = 0011 1100
b = 0000 1101
-----------------
~a = 1100 0011
26
operan kanan.
Operator identitas membandingkan lokasi memori dari dua objek. Ada dua
operator Identitas yang dijelaskan di bawah ini.
27
Operator Deskripsi Contoh
x is y, di sini
Mengevaluasi ke true jika variabel di adalah hasil 1 jika
is kedua sisi operator menunjuk ke objek id(x) sama dengan
yang sama dan false jika sebaliknya. id(y).
x is not y, di sini
adalah hasil 1 jika
Mengevaluasi menjadi false jika variabel
is not id(x) tidak sama
di kedua sisi operator menunjuk ke objek
dengan id(y).
yang sama dan true jika sebaliknya.
No. Operator
1 **
2 ~ + -
3 * / % //
4 + -
5 >> <<
6 &
7 ^ |
8 <= < > >=
9 <> == !=
10 = %= /= //= -= += *= **=
11 is is not
12 in not in
13 not or and
28
7. Pengkondisian
7.1 Kondisi if
Pada python ada beberapa statement/kondisi diantaranya adalah if, else dan
elif Kondisi if digunakan untuk mengeksekusi kode jika kondisi bernilai benar.
Kondisi if else adalah kondisi dimana jika pernyataan benar True maka kode
29
dalam if akan dieksekusi, tetapi jika bernilai salah False maka akan mengeksekusi
kode di dalam else.
30
Pada contoh diatas, jika program dijalankan maka akan mencetak string "Saya
akan libur".
Kata kunci and dan or adalah Operator Logika. Dimana berguna untuk
menambahkan syarat dari sebuah kondisi.
Pada contoh penggunaan and diatas, jika program dijalankan maka akan
mencetak string "D" , karena nilai 45 masuk ke kondisi lebih dari sama dengan
40 dan kurang dari 50. Dan untuk contoh penggunaan or diatas, jika program
dijalankan maka akan menceta string “Berlebih”, karena nilai 105 itu masuk ke
salah satu kondisi antara kurang dari 0 atau lebih dari 100.
Sebuah kondisi bisa bersarang yang mana di dalam sebuah kondisi terdapat
kondisi lain.
31
Pada contoh kondisi bersarang diatas, jika program dijalankan maka akan
mencetak string “Saya Bukan Balita lagi” Lalu akan mencetak string “Saya
sudah deawasa!”. Karena umur 21 tahun pada kondisi tersebut akan mencetak
2x.
8. Perulangan
Secara umum, pernyataan pada bahasa pemrograman akan dieksekusi secara
berurutan. Pernyataan pertama dalam sebuah fungsi dijalankan pertama, diikuti
oleh yang kedua, dan seterusnya. Tetapi akan ada situasi dimana harus menulis
banyak kode, dimana kode tersebut sangat banyak. Jika dilakukan secara manual
maka hanya akan membuang-buang tenaga dengan menulis beratus-ratus bahkan
beribu-ribu kode. Untuk itu perlu menggunakan pengulangan di dalam bahasa
pemrograman Python.
While Loop
For Loop
Nested Loop
32
Pada contoh di atas jika di eksekusi akan menghasilkan
Jadi contoh di contoh di atas pertama akan meriksa kondisi apakah variabel
count kurang dari 9, jika hasilnya True maka akan masuk ke dalam perulangan
yang mana mencetak kata “The count is: “, langkah di atas di ulang sampai
kondisi tidak memenuhi lagi.
Pada contoh di atas jika di eksekusi akan mencetak angka 1 samapi 5. Pada
contoh for sederhana akan mengulang berdasarkan isi item dari sebuah list ( list
akan di jelaskan lebih lanjut di materi berikutnya ). Untuk yang for range akan
mengulang berdasarkan range dari 1 sampai 5.
33
8.3 Nested Loop
Pada contoh di atas jika di jalankan akan mencetak angka dari 1 sampai 3,
karena ketika i sama dengan 3 maka akan break atau perulangan berhenti.
34
8.5 Continue Statement
Dengan pernyataan continue kita dapat menghentikan iterasi saat ini, dan
melanjutkan dengan yang berikutnya.
Jadi ketika i sama dengan 3 maka akan di skip bagian bawahnya, langsung
lanjut ke i selanjutnya.
9. Numbers
Number adalah tipe data Python yang menyimpan nilai numerik. Number
adalah tipe data yang tidak berubah. Ini berarti, mengubah nilai dari sejumlah tipe
data akan menghasilkan objek yang baru dialokasikan. Tipe data number adalah
tipe data berupa bilangan, dan pada umumnya digunakan dalam operasi
matematika. Contohnya yaitu penjumlahan, pengurangan, perkalian, pembagian,
dan sebagainya. Dalam bahasa Python ini ada tiga jenis tipe data yang sering
digunakan, yaitu : integer, float, dan complex number. Sama seperti tipe data lain
dalam Python, kita bisa langsung menginput angka- angka ini ke dalam sebuah
variabel.
35
Hasilnya
Hasilnya
Dalam hasil bisa kita lihat bahwa variabel “data1” yang berisi angka 100
merupakan tipe data int. Variabel “data2” berisi angka 100.5 merupakan tipe data
float, dan variabel “data3” yang diisi dengan angka 10j merupakan tipe data
complex.
9.1 Integer
Integer merupakan tipe data yang menampung atau menyimpan bilangan bulat
baik itu positif maupun negative. Contohnya 1, 20, 100, -1, -10, -100 dan lain
sebagainya. Yang unik di dalam python, nilai maksimum integer (angka bulat)
hanya dibatasi dengan jumlah memory. Berikut percobaannya:
36
Sebagai tambahan, di python versi 2, terdappat tipe data long untuk
menampung angka integer yang besar, tapi di dalam python versi 3, tipe data long
sudah tidak ada lagi dana digabung dengan tipe data int biasa.
9.2 Float
Untuk tipe data float, kita bisa menulisnya menggunakan notasi ilmiah atau
dalam bahasa inggris disebut dengan scientific notation. Dalam matematika,
notasi ilmiah harus dinyatakan dalam 1 angka di depan koma. Angka 125 jika
ditulis dalam bentuk notasi ilmiah menjadi 1,25 x 102.
Perhatikan isi variabel data1. Disana saya menginput angka 3e2 yang berarti 3
x 102 atau angka 300. Meskipun 300 ini terlihat seperti integer, namun karena
ditulis menggunakan notasi ilmiah, maka akan dianggap sebagai tipe data float,
yakni 300.0.
9.3 Complex
Dalam teori matematika, complex number atau bilangan kompleks bisa juga
disebut bilangan imajiner adalah sebutan untuk angka yang mengandung nilai
akar kuadrat dari -1. Angka akar kuadrat dari -1 ini ditulis dalam Python dengan
huruf j. Bilangan 5j sama artinya dengan 5√-1.
37
Dari ketiga tipe data ini, tipe data Complex Number adalah tipe data yang bisa
dikatakan unik dan jarang tersedia di bahasa pemograman lain. Dalam bahasa
python nilai maksimum dari tipe data integer hanya dibatasi dengan memori.
Sedangkan tipe data float maksimum adalah 1.7976931348623157e+308, ini sama
seperti tipe data float pada bahasa C++.
Kita dapat mengonversi dari satu jenis ke jenis lainnya dengan metode int(),
float(), dan complex().
38
Dibawah ini adalah beberapa fungsi untuk mengkonversi tipe data number
Python.
10. String
String adalah jenis yang paling populer di bahasa pemrograman. Kita bisa
membuatnya hanya dengan melampirkan karakter dalam tanda kutip. Python
memperlakukan tanda kutip tunggal sama dengan tanda kutip ganda. Membuat
string semudah memberi nilai pada sebuah variabel.
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
mendefinisikan banyak karakter.
39
10.2 Mendefinisikan Variabel String
Hasilnya, jeda baris yang dimasukkan akan sama seperti pada kode awal.
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]
40
Terlihat variabel x memuat string "Hello World", dimana x[0] = "H", x[1] =
"e", x[2] = "l", dan seterusnya.
Untuk mengetahui panjang dari string, kita bisa menggunakan fungsi len().
Bukan hanya huruf saja yang dihitung, namun tanda-tanda dan spasi akan
terhitung dalam panjang.
Kita bisa menguji apakah sebuah substring ada terdapat di dalam suatu string
atau tidak. Caranya adalah dengan menggunakan kata kunci in apabila ada di
kalimat tersebut outpunya akan “true” jika tidak “false”. Sebaliknya, kata kunci
not in output ketika terdapat dalam kalimat adalah “false” apabila tidak ada di
kalimat “true”. Berikut contohnya:
41
10.7 Menggabung String
Kita bisa menggabungkan dua atau lebih string menjadi satu dengan
menggunakan operator +. Selain itu kita juga bisa melipatgandakan string
menggunakan operator *.
List adalah tipe data yang berfungsi untuk menyimpan berbagai banyak dan
jenis data pada satu list. List dapat diisi dengan string, integer, float, maupun
object lain. Selain itu, list bersifat mutable dan ordered, alias bisa diedit-edit dan
bisa diakses via indeks.
Sifat List
List dapat kita buat seperti membuat variabel biasa, namun nilai variabelnya
diisi dengan tanda kurung siku ([ ]) yang setiap nilainya dipisahkan oleh sebuah
koma (,) . Bisa dilihat seperti berikut :
42
1. "pena" adalah tipe data string
2. 3 adalah tipe data integer
3. True adalah tipe data boolean
4. dan 2.5 adalah tipe data float
Setelah kita membuat dan menyimpan data pada sebuah list, kita dapat
mengakses data tersebut melalui index. Setiap list memiliki index dimulai dengan
angka 0,1,2, dan seterusnya.
Maka outpunya :
43
11.3.2 Menghapus Data
Kita bisa menghapus data pada list menggunakan perintah del dan
remove(). Untuk contoh bisa dilihat dibawah :
44
11.3.4 Operasi pada List
Penggabungan (+)
Perkalian (*)
List Multi Dimensi dikenal juga dengan List Bersarang, maksudnya yaitu
sebuah List dimana di dalam List tersebut mempunyai List lagi. List multi
45
dimensi biasanya digunakan untuk menyimpan struktur data yang kompleks
seperti tabel, matriks, graph, tree, dan sebagainya.
Tuple adalah tipe data yang sama seperti List yaitu berfungsi untuk
menyimpan sekumpulan data. Tuple juga dapat diisi dengan string, integer, float,
maupun object lain. Akan tetapi, Tuple bersifat immutable dan ordered, dalam
artian tuple sama dengan list tapi tidak bisa diedit-edit.
46
Sifat Tuple
Cara membuat Tuple mirip dengan cara membuat List, namun perbedaannya
nilai variabelnya Tuple diisi dengan tanda kurung ( ( ) ) yang setiap nilainya
dipisahkan oleh sebuah koma (,) . Bisa dilihat seperti berikut :
Tuple Nested atau Tuple bersarang artinya Tuple bisa diisi dengan Tuple.
Selain itu, Tuple juga bisa diisi dengan object lain, seperti List, Dictionary, object,
dan lain-lain.
Output :
47
12.5 Methods yang sering digunakan pada Tuple
13. Dictionary
Dictionary Python berbeda dengan List ataupun Tuple. Karena setiap urutanya
berisi key dan value. Setiap key dipisahkan dari value-nya oleh titik dua (:), item
dipisahkan oleh koma, dan semuanya tertutup dalam kurung kurawal. Dictionary
kosong tanpa barang ditulis hanya dengan dua kurung kurawal, seperti ini: {}.
Nilai kamus bisa berupa tipe apa pun, namun key harus berupa tipe data yang
tidak berubah seperti string, angka, atau tupel.
48
13.2 Update Nilai Dalam Dictionary Python
49
Memberikan panjang total Dictionary. Ini sama dengan
len(dict)
jumlah item dalam Dictionary.
Menghasilkan representasi string yang dapat dicetak dari
str(dict)
Dictionary
dict.setdefault(key, Mirip dengan get (), tapi akan mengatur dict [key] =
default=None) default jika kunci belum ada di dict
50
14. Date and Time
Program Python dapat menangani tanggal dan waktu dengan beberapa cara.
Konversi antara format tanggal adalah tugas umum untuk komputer. Modul waktu
dan kalender Python melacak tanggal dan waktu.
14.1 Tick
Banyak fungsi waktu Python menangani waktu sebagai tuple dari 9 nomor,
seperti yang terdapat pada tabel di bawah ini.
Tuple di atas setara dengan struktur struct_time. Struktur ini memiliki atribut
berikut
51
Index Atribut Value
0 tm_year 2008
1 tm_mon 1 sampai 12
2 tm_mday 1 sampai 31
3 tm_hour 0 sampai 23
4 tm_min 0 sampai 59
5 tm_sec 0 sampai 61
Untuk menerjemahkan waktu instan dari satu detik sejak nilai floating-point
ke waktu menjadi tupel waktu, lewati nilai floating-point ke fungsi (mis.,
Localtime) yang mengembalikan waktu tupel dengan semua sembilan item valid.
Anda dapat memformat kapan saja sesuai kebutuhan Anda, namun metode
sederhana untuk mendapatkan waktu dalam format yang mudah dibaca adalah
asctime ().
52
14.5 Kalender dalam Sebulan
Ada modul waktu populer yang tersedia dengan Python yang menyediakan
fungsi untuk bekerja dengan waktu dan untuk mengkonversi antara representasi.
Dibawah ini adalah tabel dari modul time pada python yang ada.
53
Menerima instan yang dinyatakan dalam
hitungan detik sejak zaman dan mengembalikan
waktu tuple t dengan waktu setempat
time.localtime([secs])
(t.tm_isdst adalah 0 atau 1, tergantung pada
apakah DST berlaku seketika oleh peraturan
lokal).
Menerima instan dinyatakan sebagai time-tuple
di waktu setempat dan mengembalikan nilai
time.mktime(tupletime)
floating-point dengan instan yang dinyatakan
dalam hitungan detik sejak zaman.
54
14.7 Modul Kalender
55
Mengembalikan daftar daftar int.
Setiap sublist menunjukkan
seminggu. Hari di luar bulan bulan
calendar.monthcalendar(year,month)
tahun diatur ke 0; Hari dalam bulan
ditetapkan ke hari ke bulan, 1 dan ke
atas.
Mengembalikan dua bilangan bulat.
Yang pertama adalah kode hari kerja
untuk hari pertama bulan bulan di
calendar.monthrange(year,month) tahun; Yang kedua adalah jumlah hari
dalam sebulan. Kode hari kerja adalah
0 (Senin) sampai 6 (Minggu); Angka
bulan adalah 1 sampai 12.
Seperti kalender cetak.calendar
calendar.prcal(year,w=2,l=1,c=6)
(tahun, w, l, c).
Seperti kalender cetak. Bulan (tahun,
calendar.prmonth(year,month,w=2,l=1)
bulan, w, l).
Mengatur hari pertama setiap minggu
sampai hari kerja kode hari kerja.
calendar.setfirstweekday(weekday)
Kode hari kerja adalah 0 (Senin)
sampai 6 (Minggu).
Kebalikan dari time.gmtime:
menerima waktu instan dalam bentuk
tupel waktu dan mengembalikan detik
calendar.timegm(tupletime)
yang sama seperti jumlah floating-
point dalam hitungan detik sejak
zaman.
Mengembalikan kode hari kerja untuk
tanggal yang ditentukan. Kode hari
calendar.weekday(year,month,day) kerja adalah 0 (Senin) sampai 6
(Minggu); Bulan adalah 1 (Januari)
sampai 12 (Desember).
15.1 Pegertian
Fungsi adalah blok kode terorganisir yang dapat digunakan kembali untuk
melakukan sebuah tindakan/action. Fungsi memberikan modularitas yang lebih
baik untuk aplikasi Anda dan tingkat penggunaan kode yang tinggi.
56
15.2 Mendefinisikan fungsi
Mari kita pahami blok kode diatas. def merupakan kata kunci untuk
mendefinisikan suatu fungsi. hello_fungsi yang merupakan nama dari fungsi
tersebut dan diikuti oleh tanda kurung (tanda kurung ini akan dibahas pada
pembahasan selanjutnya). Blok kode dalam setiap dimulai dengan titik dua (:).
Ketika fungsi tersebut dipanggil maka semua baris kode yang ada di dalam
blok kode fungsi tersebut akan dijalankan. Untuk contoh diatas, ketika fungsi
dipanggil maka akan menampilkan kalimat “Ini adalah fungsi”.
Berikut adalah contoh fungsi dengan blok kode yang lebih panjang:
Seperti yang sudah dijelaskan sebelumnya fungsi adalah blok kode yang dapat
digunakan kembali, artinya fungsi yang sudah kita buat dapat kita gunakan
berkali-kali sesuai dengan kebutuhan kita. Lantas bagaimana cara
menggunakan/memanggil suatu fungsi? Cara nya kita tinggal menuliskan nama
fungsi dan diikuti oleh tanda kurung (()). Contoh:
57
Hasilnya:
Hasilnya:
58
Argumen adalah nilai yang akan mengisi parameter dalam suatu
fungsi. Pada kode diatas kita memanggil fungsi bicara() dengan argumen
“Halo semuanya!”. Hasilnya:
Hasilnya
Fungsi yang sudah kita buat sejauh ini adalah fungsi yang tidak
mengembalikan nilai atau biasa disebut juga dengan istilah prosedur. Ketika
prosedur dipanggil maka blok kode yang didalamnya akan dijalankan, berbeda
dengan fungsi yang mengembalikan nilai, ketika fungsi tersebut dipanggil bukan
hanya blok kode nya saja yang dijalankan tetapi fungsi tersebut akan
menghasilkan suatu nilai.
59
Fungsi di atas akan mengalikan dua buah parameter lalu disimpan
dalam variabel hasil, setelah itu nilai dari variabel hasil akan
dikembalikan.
Hasilnya:
60
15.6 Variabel Lokal dan Variabel Global
Variabel Global adalah variabel yang bisa diakses dari semua fungsi,
sedangkan variabel lokal hanya bisa diakses di dalam fungsi tempat ia berada saja.
Terdapat dua variabel nama. 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(). Hasilnya:
Ketika kita mengerjakan suatu project, maka tidak mungkin kita mengetikkan
seluruh kode dalam satu file, karena kode akan sangat sulit untuk dibaca dan
61
diubah. Oleh karena itu kita dapat memisahkan setiap kode kedalam file yang
berbeda-beda. Untuk itu kita dapat menggunakan konsep modul.
16.1 Pengertian
Modul adalah file yang terdiri dari kode Python. Modul dapat mendefinisikan
fungsi, kelas dan variabel. Modul juga bisa menyertakan kode yang bisa
dijalankan (runnable).
Misal kita memiliki dua file yang bernama rumus.py dan kalkulator.py. File
rumus.py berisi fungsi-fungsi untuk melakukan perhitungan. File kalkulator.py
berisi program kalkulator sederhana.
File rumus.py:
File kalkulator.py:
62
Seperti yang dapat dilihat, terdapat error pada file kalkulator.py hal ini terjadi
dikarenakan fungsi dan variabel yang ingin ditampilkan berada pada file
rumus.py. Agar file kalkulator.py dapat membaca fungsi-fungsi tersebut maka kita
dapat menggunakan import statement. Ubah file kalkulator.py menjadi seperti
berikut
Untuk menggunakan fungsi dan variabel dari rumus.py gunakan cara seperti
diatas yakni dengan mengetikkan nama_modul.nama_fungsi_atau_variabel.
Hasilnya:
Kita mengambil variabel PHI dari modul rumus.py. Dengan begitu kita tidak
perlu mengetikkan nama modul setiap ingin menggunakan variabel dari file PHI.
Kita juga dapat mengambil lebih dari satu fungsi dan/atau variabel:
63
16.4 From … import * statement
Tanda bintang (*) dapat kita artikan sebagai all (semua). Jadi dengan
menggunakan from...import * statement kita dapat mengambil semua fungsi
dan/atau variabel dari suatu modul. Contohnya:
Contoh:
Output
64
17.2 Fungsi I/O Lanjutan
Sampai sekarang, kita hanya mengambil input dari konsol dan menulisnya
kembali ke konsol untuk berinteraksi dengan pengguna. Terkadang, tidak cukup
hanya menampilkan data di konsol. Data yang akan ditampilkan mungkin sangat
besar, dan hanya sejumlah data saja yang dapat ditampilkan di konsol karena
memori tidak stabil dan tidak mungkin untuk memulihkan data yang dihasilkan
secara terprogram berulang kali.
Penanganan file (File handling) memainkan peran penting ketika data perlu
disimpan secara permanen ke dalam file. File adalah lokasi bernama pada disk
untuk menyimpan informasi terkait.
Dalam Python, file diperlakukan sebagai teks atau biner. File mungkin dalam
format teks atau biner, dan setiap baris file diakhiri dengan karakter khusus. Oleh
karena itu, operasi file dapat dilakukan dalam urutan berikut.
Buka file
Baca atau tulis - Melakukan operasi
Tutup file
Keterangan:
65
lengkap nilai yang mungkin diberikan di bawah ini dalam tabel. Ini
adalah parameter opsional dan mode akses file default dibaca (r).
buffering: Jika nilai buffering diatur ke 0, tidak ada buffering yang
terjadi. Jika nilai buffering adalah 1, buffering baris dilakukan saat
mengakses file. Jika Anda menentukan nilai buffering sebagai
bilangan bulat yang lebih besar dari 1, maka tindakan buffering
dilakukan dengan ukuran buffer yang ditunjukkan. Jika negatif,
ukuran buffer adalah default sistem (perilaku default).
Metode close() dari objek file menghapus informasi yang tidak tertulis
dan menutup objek file, setelah itu tidak ada lagi penulisan yang dapat
dilakukan.
Metode write() menulis string apa pun ke file yang terbuka. Penting
untuk dicatat bahwa string Python dapat memiliki data biner dan bukan
hanya teks. Metode write() tidak menambahkan karakter baris baru ('\n')
ke akhir string
66
Contoh:
Output:
Metode di atas akan membuat file hello.txt dan akan menulis konten
yang diberikan dalam file itu dan akhirnya akan menutup file itu. Jika
Anda akan membuka file ini, itu akan memiliki konten berikut.
Metode read() membaca string dari file yang terbuka. Penting untuk
dicatat bahwa string Python dapat memiliki data biner selain data teks.
Contoh:
67
Output:
18. Exceptions
Exceptions dapat didefinisikan sebagai kondisi yang tidak biasa dalam suatu
program yang mengakibatkan gangguan pada aliran program.
Python menyediakan dua fitur yang sangat penting untuk menangani kondisi
tersebut dalam program Python Anda dan menambahkan kemampuan debugging
di dalamnya.
Exceptions handling
Assertions
Contoh:
Output:
Program di atas secara sintaksis benar, tetapi tetap mengalami error karena
input yang tidak biasa. Pemrograman semacam itu mungkin tidak cocok atau
68
direkomendasikan untuk proyek karena proyek memerlukan eksekusi tanpa
gangguan. Itu sebabnya exceptions handling memainkan peran penting dalam
menangani pengecualian tak terduga ini. Kita dapat menangani pengecualian
tersebut dengan cara berikut.
Contoh:
Output:
69
Contoh:
Ouput:
70
Contoh:
Output:
18.2 Assertions
Sintaks:
Contoh:
71
Output:
72