Ojs Ebook Python Dasar Dan Pemrograman
Ojs Ebook Python Dasar Dan Pemrograman
BERORIENTASI OBJEK
Sayuti Rahman
Arnes Sembiring
Dodi Siregar
Husnul Khair
I Gusti Prahmana
Ratih Puspadini
Muhammad Zen
Penulis:
Sayuti Rahman
Arnes Sembiring
Dodi Siregar
Husnul Khair
I Gusti Prahmana
Ratih Puspadini
Muhammad Zen
Desain Cover:
Tahta Media
Editor:
Tahta Media
Proofreader:
Tahta Media
Ukuran:
x,217, Uk: 15,5 x 23 cm
ISBN: 978-623-147-100-0
Cetakan Pertama:
Juli 2023
v
KATA PENGANTAR
vi
juga kami sampaikan kepada rekan-rekan yang telah memberikan saran
sepanjang penulisan buku ini.
Wassalamualaikum Wr. Wb.
Hormat Kami,
Penulis
vii
DAFTAR ISI
KATA PENGANTAR ................................................................................... vi
DAFTAR ISI ............................................................................................... viii
BAB 1 PENGANTAR DAN INSTALASI PYTHON ................................... 1
1.1 Sejarah Python ................................................................................ 1
1.2 Mengapa Belajar Python ................................................................ 1
1.3 Install Anaconda ............................................................................. 2
1.4 Jupyter Notebook............................................................................ 5
1.5 Aturan Penulisan Pada Python ....................................................... 8
1.6 Soal dan Kunci Jawaban ............................................................... 17
BAB 2 TIPE DATA DASAR PYTHON ...................................................... 20
2.1 Tipe Number ................................................................................. 20
2.2 Konversi Data Number ................................................................. 22
2.3 Tipe Data String ........................................................................... 24
2.4 Tipe Data Boolean ........................................................................ 35
2.5 Soal dan Kunci Jawaban ............................................................... 36
BAB 3 OPERATOR PADA PYTHON ........................................................ 39
3.1 Operator Aritmatika...................................................................... 39
3.2 Operator Perbandingan ................................................................. 41
3.3 Operator Logika............................................................................ 43
3.4 Operator Identitas ......................................................................... 45
3.5 Operator Keanggotaan .................................................................. 47
3.6 Operator Bitwise ........................................................................... 48
3.7 Operator Penugasan ...................................................................... 51
3.8 Soal dan Kunci Jawaban ............................................................... 53
BAB 4 DATA COLLECTION DAN PENCABANGAN ........................... 56
4.1 Data List ....................................................................................... 56
4.2 Data Tuple .................................................................................... 57
4.3 Data Set ........................................................................................ 59
4.4 Data Dictionaries .......................................................................... 62
4.5 Pernyataan Bersyarat IF................................................................ 64
4.6 Soal dan Kunci Jawaban ............................................................... 67
BAB 5 PERULANGAN ............................................................................... 72
5.1 Perulangan While ......................................................................... 72
viii
5.2 Perulangan For.............................................................................. 77
5.3 Perulangan pada Data Collection ................................................. 80
5.4 Perulangan Bersarang ................................................................... 81
5.5 Soal dan Kunci Jawaban ............................................................... 86
BAB 6 FUNGSI PADA PYTHON .............................................................. 89
6.1 Membuat dan Memanggil Fungsi ................................................. 89
6.2 Argumen dan Parameter Fungsi ................................................... 91
6.3 Argumen Arbitrary ....................................................................... 92
6.4 Argumen dengan Kata Kunci ....................................................... 93
6.5 Argumen Arbitrary dengan Kata Kunci ....................................... 94
6.6 Nilai Parameter Default ................................................................ 95
6.7 List Sebagai Argumen .................................................................. 98
6.8 Mengembalikan Nilai Fungsi ....................................................... 99
6.9 Rekursi ........................................................................................ 100
6.10 Lambda ....................................................................................... 102
6.11 Soal dan Kunci Jawaban ............................................................. 104
BAB 7 KELAS DAN OBJEK PADA PYTHON ....................................... 108
7.1 Pemrograman Berorientasi Objek .............................................. 108
7.2 Pengertian Objek dan Kelas ....................................................... 109
7.3 Metode Init ................................................................................. 110
7.4 Metode Str .................................................................................. 111
7.5 Intansiasi Objek .......................................................................... 113
7.6 Metode Pada Objek .................................................................... 114
7.7 Parameter Self ............................................................................ 115
7.8 Implementasi Objek dengan Berbagai Metode........................... 116
7.9 Soal dan Kunci Jawaban ............................................................. 118
BAB 8 KONSTRUKTOR DAN DESTRUKTOR PADA PYTHON ........ 121
8.1 Konstruktor ................................................................................. 121
8.2 Destruktor ................................................................................... 128
8.3 Soal dan Kunci Jawaban ............................................................. 134
BAB 9 INHERITANCE (PEWARISAN) .................................................. 138
9.1 Inheritance pada Python ............................................................. 138
9.2 Kesalahan Tidak Memanggil Konstruktor Induk ....................... 140
9.3 Fungsi Super ............................................................................... 141
9.4 Single Inheritance ....................................................................... 143
ix
9.5 Multiple Inheritances .................................................................. 144
9.6 Multilevel Inheritance................................................................. 145
9.7 Hierarchical Inheritance ............................................................. 147
9.8 Hybrid inheritance ...................................................................... 149
9.9 Member Private Super Class ...................................................... 150
9.10 Overriding Metode pada Inheritance .......................................... 152
9.11 Konsep "is-a" dan "has-a" .......................................................... 153
9.12 Soal dan Kunci Jawaban ............................................................. 154
BAB 10 ENKAPSULASI........................................................................... 157
10.1 Pengertian dan Keuntungan Enkapsulasi.................................... 157
10.2 Member Protected ...................................................................... 159
10.3 Member Private .......................................................................... 160
10.4 Member Publik ........................................................................... 162
10.5 Metode Setter dan Getter ............................................................ 163
10.6 Properti ....................................................................................... 165
10.7 Praktik Terbaik dalam Enkapsulasi ............................................ 168
10.8 Studi Kasus ................................................................................. 169
10.9 Soal dan Kunci Jawaban ............................................................. 173
BAB 11 POLIMORFISME PADA PYTHON .......................................... 176
11.1 Pengenalan Polimorfisme ........................................................... 176
11.2 Poimorfisme Metode .................................................................. 177
11.3 Polimorfisme Pada Inheritance (Pewarisan) ............................... 178
11.4 Polimorfisme Abstrak ................................................................. 180
11.5 Polimorfisme dengan Magic Methode ........................................ 182
11.6 Konsep Duck Typing pada Python ............................................. 192
11.7 Soal dan Kunci Jawaban ............................................................. 193
BAB 12 VARIABEL STATIS PADA PYTHON ...................................... 197
12.1 Pengertian Variabel Statis .......................................................... 197
12.2 Metode Statis .............................................................................. 202
12.3 Akses Metode dan Variabel Statis .............................................. 205
12.4 Batasa dan Pertimbangan............................................................ 209
12.5 Soal dan Kunci Jawaban ............................................................. 210
DAFTAR PUSTAKA ................................................................................. 213
BIOGRAFI PENULIS ................................................................................ 215
x
BAB 1
PENGANTAR DAN INSTALASI PYTHON
Setelah Anda memilih "Python 3" seperti yang ditunjukkan pada Gambar
5, akan muncul jendela editor Jupyter Notebook. Tampilan editor Jupyter
Notebook ini dapat dilihat pada Gambar 6 berikut.
#Program 1.1
print("Hallo world")
print("Saya sedang belajar python")
Output:
Hallo world
Saya sedang belajar python
#Program 1.2
print("Hallo world");print("Saya sedang belajar python")
Output:
Hallo world
Saya sedang belajar python
1.5.2 Komentar
Komentar memiliki peran penting dalam bahasa pemrograman sebagai
sarana untuk mendokumentasikan program. Komentar digunakan untuk
memisahkan bagian-bagian program dan memberikan penjelasan yang
dianggap penting. Dalam Python, tanda "#" digunakan untuk menandai
komentar. Baris program yang dijadikan komentar tidak akan dieksekusi oleh
interpreter. Fitur ini dapat digunakan untuk menonaktifkan baris program
yang mungkin penting dan ingin disimpan untuk digunakan di masa yang akan
datang. Berikut adalah contoh penggunaan komentar seperti yang terlihat pada
Program 1.3 berikut ini.
#isi variable
a=1
b=2
print(b)
Output:
Hallo world
2
Seperti terlihat pada Program 1.3, Komentar "#cetak" menjelaskan
bahwa baris berikutnya mencetak string "Hallo world" ke konsol. Komentar
tersebut tidak berdampak pada eksekusi program dan hanya berfungsi sebagai
penjelasan bagi pembaca atau pengembang
Komentar "# isi variable" memberikan penjelasan bahwa baris-baris
berikutnya digunakan untuk menginisialisasi variabel 'a' dan 'b'. Variabel 'a'
diatur dengan nilai 1, variabel 'b' diatur dengan nilai 2, dan kemudian nilai
variabel 'b' dicetak ke konsol. Komentar ini membantu pembaca atau
pengembang untuk memahami tujuan dari baris kode yang terkait dengan
inisialisasi variabel.
Komentar sangat berguna dalam pemrograman, terutama saat bekerja
dalam tim atau saat kembali ke kode yang telah lama ditulis. Mereka
membantu orang lain atau bahkan diri sendiri untuk lebih memahami maksud
dan alur kode, serta memudahkan proses debugging dan pemeliharaan kode.
#Program 1.4
if (5 > 2):
# ini bagian if
print("5 lebih besar dari 2")
Di dalam blok if, pernyataan print("5 lebih besar dari 2") akan
dieksekusi karena kondisi 5 > 2 bernilai True. Indentasi (empat spasi dalam
contoh ini) menunjukkan bahwa pernyataan print tersebut adalah bagian dari
blok if. Di luar blok if, pernyataan print("Ini bukan bagian if") juga akan
dieksekusi. Indentasi pada pernyataan ini menunjukkan bahwa pernyataan
tersebut berada di luar blok if dan akan selalu dieksekusi, tidak tergantung
pada kondisi if.
Penting untuk menggunakan indentasi yang konsisten dan benar dalam
Python, karena interpretasi kode Python bergantung pada indentasi. Jika
indentasi tidak konsisten atau tidak sesuai, maka program tidak akan berjalan
dengan benar atau dapat menyebabkan kesalahan sintaks.
1.5.4 Variable
Variabel adalah sebuah tempat untuk menyimpan nilai. Dalam Python,
Anda tidak perlu mendeklarasikan variabel secara eksplisit. Variabel akan
dibuat secara otomatis ketika Anda pertama kali memberikan nilai kepadanya
(Pane and Saputra, 2020). Cara mendeklarasikan variabel dalam Python dapat
dilihat pada contoh Program 1.5 berikut ini.
def myfunc():
y = "fantastic" # variabel y hanya digunakan pada fungsi
print("Python is " + x + " and " + y)
def myfunc_2():
y = "oke" # variabel y hanya digunakan pada fungsi
print("Python is " + x + " and " + y)
myfunc()
myfunc_2()
Output:
Python is awesome and fantastic
Python is awesome and oke
def myfunc():
global x
x = "awesome_" # nilai x berubah
y = "fantastic"
print("Python is " + x + " and " + y)
def myfunc_2():
y = "oke"
print("Python is " + x + " and " + y)
myfunc()
myfunc_2()
Output:
Python is awesome_ and fantastic
Python is awesome_ and oke
Kunci Jawaban :
1. Python adalah bahasa pemrograman tingkat tinggi yang diciptakan oleh
Guido van Rossum. Python pertama kali diperkenalkan pada tahun 1991.
2. Keunggulan Python dibandingkan dengan bahasa pemrograman lain
antara lain:
a. Mudah dipahami dan mudah dibaca karena sintaksnya yang bersifat
eksplisit.
b. Memiliki banyak library dan modul yang dapat digunakan untuk
berbagai keperluan.
c. Mendukung pemrograman berorientasi objek.
d. Memiliki pengelolaan memori otomatis (garbage collection).
e. Bersifat portable dan dapat dijalankan di berbagai sistem operasi.
3. Anaconda adalah platform distribusi Python yang menyediakan berbagai
paket dan library yang populer dalam pengembangan proyek data
science. Anaconda menyediakan lingkungan virtual yang dapat
memudahkan manajemen dan isolasi proyek-proyek Python yang
berbeda.
4. Untuk menginstal Anaconda, Anda dapat mengikuti langkah-langkah
berikut:
a. Unduh paket instalasi Anaconda dari situs web resminya.
b. Ikuti panduan instalasi yang disediakan.
c. Pilih opsi instalasi yang sesuai dengan sistem operasi Anda.
Awangga, R.M., Prastya, R., Simamora, T.A.D., Majesty, D., Fadilah, I.,
2019. Dasar-dasar Python. Kreatif.
Baihaqi, W.M., Kom, S., 2021. Pemrograman Berbasis Event dengan PyQt5.
Zahira Media Publisher.
Enterprise, J., 2021. Belajar Sendiri Mengolah Data dengan Python dan
Pandas. Elex Media Komputindo.
Hillar, G.C., 2015. Learning Object-oriented programming. Packt Publishing
Ltd.
Hughes, J.M., 2010. Real World Instrumentation with Python: Automated
Data Acquisition and Control Systems. “ O’Reilly Media, Inc.”
Kuhlman, D., 2009. A python book: Beginning python, advanced python, and
python exercises. Dave Kuhlman Lutz.
Lutz, M., 2013. Learning python: Powerful object-oriented programming. “
O’Reilly Media, Inc.”
Marvin, R., Omondi, A., 2018. Python Fundamentals: A practical guide for
learning Python, complete with real-world projects for you to explore.
Packt Publishing Ltd.
Navlani, A., Fandango, A., Idris, I., 2021. Python Data Analysis: Perform data
collection, data processing, wrangling, visualization, and model building
using Python. Packt Publishing Ltd.
Pane, S.F., Saputra, Y.A., 2020. Big Data: Classification Behavior
Menggunakan Python. Kreatif.
Phillips, D., 2018. Python 3 object-oriented programming: Build robust and
maintainable software with object-oriented design patterns in Python 3.8.
Packt Publishing Ltd.
Phillips, D., 2015. Python 3 object-oriented programming. Packt Publishing
Ltd.
Rahman, S., Ramli, M., Arnia, F., Muharar, R., Zen, M., Ikhwan, M., 2021.
Convolutional Neural Networks Untuk Visi Komputer Jaringan Saraf
Konvolusional untuk Visi Komputer (Arsitektur Baru, Transfer
Learning, Fine Tuning, dan Pruning). Deepublish.
Romzi, M., Kurniawan, B., 2020. Pembelajaran Pemrograman Python Dengan
Pendekatan Logika Algoritma. JTIM: Jurnal Teknik Informatika