Modul Python UBSI-09!07!2021
Modul Python UBSI-09!07!2021
Dasar Pemprograman :
Unit ini menentukan kompetensi, pengetahuan dan sikap kerja yang diperlukan untuk
menganalisis tools yang diperlukan untuk mengembangkan perangkat lunak aplikasi sesuai
dengan kebutuhan.
Kompetensi ini berhubungan dengan sikap, pengetahuan, dan keterampilan yang Diperlukan
untuk membuat dokumentasi dari kode program yang telah ditulis secara hardcopy termasuk
identifikasi penjelasan dari dokumen tersebut.
Unit kompetensi ini berhubungan dengan sikap, pengetahuan, dan keterampilan yang
dibutuhkan dalam memeriksa kode program dari kesalahan (bug).
Mahasiswa menulis kode dengan prinsip sesuai Guidelines dan Best Practice
Menentukan kompetensi, pengetahuan dan Sikap kerja yang diperlukan dalam menerapkan
Prinsip penulisan kode yang baik agar kode tersebut dapat dirawat (maintainability).
Kompetensi ini berhubungan dengan sikap, pengetahuan, dan keterampilan yang dibutuhkan
dalam memecah permasalahan menjadi permasalahan –permasalahan yang lebih kecil dan
menyelesaikan permasalahan lebih kecil tersebut berupa fungsi, prosedur, library, atau
representasi yang lain sesuai paradigma bahasa pemrograman yang digunakan.
Uji Kompetensi
1. Individu
2. Final Project (Berkelompok)
1. Untuk Matakuliah Dasar Pemprograman Tidak Ada UTS Dan UAS, digantikan Uji
kompetensi (Individu dan Final Project)
2. Uji Kompetensi Individu dilaksanakan pada pertemuan 12. Masing-masing
mahasiswadiminta mengerjakan soal yang sudah ditentukan. Wajib membawa laptop.
1. Siapkan Laptopnya, Bisa menggunakan windows 7, 8 atau windows 10, untuk proses
instalasi nya tidak berbeda.
2. Master Pyhton / Aplikasi mentahan bisa di download melalui halaman :
https://www.python.org/downloads/
3. Master Pyhton / Aplikasi mentahan bisa di download melalui halaman :
https://code.visualstudio.com/download
4. Jika sudah klik linknya, berikut gambar untuk cara mengunduh aplikasi tersebut.
12. Setelah folder “Latihan_Python” terbuka dalam aplikasi VS Code selanjutnya kita buat
file Python nya dengan mengklik icon buat file baru dengan format .py. contohnya
“latihan.py” seperti digambar berikut :
13. Setelah file dibuat, maka file python akan otomatis ada dalam folder Latihan_Python,
seperti gambar berikut :
14. Buatlah sebuah baris kode pemrograman python dibawah ini agar VS Code dapat
digunakan sepenuhnya, karena Interpreter python belum dikenali oleh VS Code.
Biasakan setiap selesai mengetikan sebuah baris kode, simpan file terlebih dahulu, dengan
mengakses menu File → Save, atau bisa juga dengan menekan tombol Ctrl + s.
Untuk mengeksekusi sebuah kode program kita bisa dengan mengklik tombol run seperti pada
gambar berikut :
1.3.2. Indentasi
Bahasa pemograman Python adalah bahasa pemograman yang mudah dibaca dan
terstruktur, hal ini karena digunakannya sistem indentasi. Yaitu memisahkan blok -
blok program dengan susunan indentasi. Jadi untuk memasukan sub - sub program
dalam suatu blok, sub - sub program tersebut diletakkan satu atau lebih spasi dari kolom
suatu blok program.
Python memiliki sedikit perbedaan pada cara penulisan program dengan bahasa
pemrograman yang lain seperti C/Java. Kalau pada C/Java menggunakan tanda kurung
sebagai pemisah blok program, di Python kita hanya menggunakan spasi sebagai
pemisah blok program yang biasa disebut sebagai Indentasi. Karena Python
menjalankan perintah secara berurutan, maka kita harus pintar menyusun perintah agar
mendapatkan hasil seperti yang diinginkan.
1.3.3. Variabel
Sebuah variabel adalah sebuah nama yang mempunyai sebuah nilai.
Pendeklarasian kalimat membuat sebuah variabel - variabel baru dan memberinya nilai.
Variabel 123satu adalah penamaan variabel tidak benar karena diawali dengan
sebuah angka.
lebih$ juga tidak benar karena terdapat karakter yang tidak semestinya ada dalam
penamaan variabel.
Setelah selesai mengetikan naskah program yang baru pada jendela Tex Editor, maka
selanjutnya disimpan dengan cara :
Pada PyCharm VS Code terdapat 2 cara menyimpan file editor, diantaranya yaitu :
Save digunakan untuk menyimpan semua file Python pada file projek yang sedang aktif.
Save As digunakan untuk menyimpan file Pyhton yang sedang aktif dengan nama file Python
yang berbeda
1.5. Menjalankan Program
Proses Run merupakan suatu proses menerjemahkan program, melakukan proses linking,
dan sekaligus menjalankan program, yaitu dengan cara :
Setelah proses menterjemahkan program, proses linking, selanjutnya tampil hasil seperti
gambar 1.14 dibawah ini:
Input Output
Penjelasan Program
Python adalah bahasa pemrograman yang menggunakan interpreter. Pada interpreter
program akan dieksekusi baris perbaris. Bila ada error maka program akan terhenti, kecuali
dengan menggunakan metode penanganan eksepsi. Pada program di atas, pada baris
pertama kita menciptakan sebuah objek bilangan yaitu 45. Kita membuat variabel bil1
menunjuk ke objek 45. Dengan kata lain, objek 45 ditugaskan ke variabel bil1.
Penjelasan untuk baris 2 sama dengan penjelasan untuk baris ke 1.
Selanjutnya pada baris ke 3, objek yang ditunjuk oleh bil1 yaitu 15 dan yang ditunjuk
oleh bil2 yaitu 55 dijumlahkan. Hasilnya ditugaskan ke variabel jumlah.
Di baris terakhir, kita menggunakan fungsi bawaan (builtin) python, yaitu print() untuk
menampilkan variabel jumlah ke monitor. Demikian program sederhana menggunakan
python.
Pertemuan 2
Sintaks Dasar Python
Python merupakan bahasa pemrograman yang memiliki sintaks yang sederhana dan mudah
dimengerti. Python memiliki filosofi bahwa kode program harus mudah dibaca.
Statement (Pernyataan) di Python, Semua perintah yang bisa dieksekusi oleh Python disebut
statement. Misalnya, a = 1 adalah sebuah statement penugasan. Selain statement penugasan
ada statement lain seperti statement if, statement for, dan lain sebagainya.
Statement Multibaris, Pada Python, akhir dari sebuah statement adalah karakter baris baru
(newline). Kita dapat membuat sebuah statement terdiri dari beberapa baris dengan
menggunakan tanda backslash ( \ ). Misalnya:
a = panjang1 + panjang2 + \
panjang3 + \
panjang4
Statement yang ada di dalam tanda kurung [ ], { }, dan ( ) tidak memerlukan tanda \.
Contohnya:
nama_bulan = ['Januari', 'Februari', 'Maret', 'April', 'Mei',
'Juni']
2.1. Baris dan Indentasi, Python tidak menggunakan tanda { } untuk menandai blok / grup
kode. Blok kode di python menggunakan tanda indentasi (spasi). Jumlah spasi untuk
setiap baris yang ada dalam satu blok kode harus sama. Contoh yang benar adalah
sebagai berikut:
Bila indentasi dalam satu grup kode tidak sama, python akan menampilkan sintaks
error.
2.2. Tanda Kutip di Python
Python menggunakan tanda kutip tunggal (‘), ganda (“), maupun triple (”’ atau “””)
untuk menandai string, sepanjang stringnya diawali oleh tanda kutip yang sama di awal
dan akhir string. Tanda kutip tiga digunakan untuk string multibaris. Ketiga contoh
berikut, semuanya adalah benar.
kata = 'kata'
kalimat = "Ini adalah kalimat"
paragraf = """Ini adalah Paragraf terdiri dari beberapa
baris"""
Untuk hal seperti ini kita bisa menggunakan tanda kutip tiga atau menggunakan karakter
escape. Karakter escape dimulai dengan tanda backslash \. Interpreter akan menerjemahkannya
dengan cara berbeda dengan string biasa. Solusi untuk error di atas adalah sebagai berikut:
\\ Backslash
\’ Kutip tunggal
\” Kutip ganda
\a ASCII bel
\b ASCII backscape
\f ASCII formfeed
\n ASCII linefeed
Metode format()
Memformat string dengan fungsi format() dibuat dengan menggunakan tanda {} sebagai
placeholder atau posisi substring yang akan digantikan. Kita biasa menggunakan argumen
posisi atau kata kunci untuk menunjukkan urutan dari substring.
Metode format() dapat memiliki spesifikasi format opsional. Misalnya, kita bisa menggunakan
tanda < untuk rata kiri, > untuk rata kanan, ^ untuk rata tengah, dan sebagainya.
Format cara lama dengan %
Kita bisa menggunakan operator %.
Operasi dasar seperti penjumlahan atau pembagian pecahan juga bisa dilakukan dengan modul
fractions ini
3.13. Matematika dengan Python
Python menyediakan modul math melakukan hal yang berbau matematis seperti
trigonometri, logaritma, probabilitas, statistik, dan lain – lain.
Operator adalah simbol tertentu yang digunakan untuk melakukan operasi aritmatika maupun
logika. Nilai yang padanya dilakukan operasi disebut operand. Misalnya adalah 2 + 3. Di sini
tanda + adalah operator penjumlahan. 2 dan 3 adalah operand.
Python memiliki sejumlah operator, yaitu:
● Operator Aritmatika
● Operator Perbandingan
● Operator Penugasan
● Operator Logika
● Operator Bitwise
● Operator Identitas
● Operator Keanggotaan
> Lebih besar dari – Hasilnya True jika nilai sebelah kiri lebih a>b
besar dari nilai sebelah kanan
< Lebih kecil dari – Hasilnya True jika nilai sebelah kiri lebih a<b
kecil dari nilai sebelah kanan
<= Lebih kecil atau sama dengan – Hasilnya True jika nilai a <= b
sebelah kiri lebih kecil atau sama dengan nilai sebelah
kanan
Membagi operand yang di kanan dengan operand yang ada c /= a sama dengan c
/=
di kiri dan hasilnya di tugaskan ke operand yang di kiri =c*a
and Hasilnya adalah True jika kedua operandnya bernilai benar a and b
Hasilnya adalah True jika salah satu atau kedua operandnya bernilai
or a or b
benar
not Hasilnya adalah True jika operandnya bernilai salah (kebalikan nilai) not a
3.18. Operator Bitwise
Operator bitwise adalah operator yang melakukan operasi bit terhadap operand.
Operator ini beroperasi bit per bit sesuai dengan namanya. Sebagai misal, angka 2
dalam bit ditulis 10 dalam notasi biner dan angka 7 ditulis 111. Pada tabel di bawah
ini, misalkan a = 10 ( 0000 1010) dalam biner dan b = 4 (0000 0100) dalam biner.
Tabel 3.5 Operator Bitwise
Operator Nama Contoh
3.21. Latihan 1
● Buatlah 1 Contoh Operator Penugasan
● Buatlah 1 Contoh Operator Logika
● Buatlah 1 Contoh Operator Bitwise
● Buatlah 1 Contoh Operator Identitas
● Buatlah 1 Contoh Operator Keanggotaan
3.22. Latihan 2
● Buatlah program seperti gambar dibawah ini
Pertemuan 4
Percabangan
Percabangan adalah cara yang digunakan untuk mengambil keputusan apabila di dalam
program dihadapkan pada kondisi tertentu. Jumlah kondisinya bisa satu, dua atau lebih.
Percabangan mengevaluasi kondisi atau ekspresi yang hasilnya benar atau salah. Kondisi atau
ekspresi tersebut disebut ekspresi boolean.
Hasil dari pengecekan kondisi adalah True atau False. Bila benar (True), maka
pernyataan yang ada di dalam blok kondisi tersebut akan dieksekusi. Bila salah (False), maka
blok pernyataan lain yang dieksekusi.
Di Python ada 3 jenis pernyataan yang digunakan untuk percabangan, yaitu sebagai berikut:
Pernyataan if terdiri dari ekspresi boolean diikuti oleh satu baris atau
1 if
lebih pernyataan.
5.1.Pernyataan if
Pernyataan if menguji satu buah kondisi. Bila hasilnya benar maka pernyataan di dalam
blok if tersebut dieksekusi. Bila salah, maka pernyataan tidak dieksekusi. Sintaksnya adalah
seperti berikut:
if tes kondisi:
blok pernyataan if
Pada contoh di atas, awalnya angka berisi 5. Pada saat if yang pertama dieksekusi maka
kondisinya adalah apakah 5 > 0? Karena hasilnya benar/True, maka statement di grup if ini
dieksekusi dan menampilkan pesan 5 adalah bilangan positif.
Selanjutnya angka sudah diubah jadi -1. Untuk if yang kedua, hasil pengujian kondisinya
menjadi apakah -1 > 0? Hasilnya salah/False. Oleh karena itu, pernyataan di dalam grupnya
tidak dijalankan.
Pernyataan if...else
Pernyataan if…else menguji 2 kondisi. Kondisi pertama kalau benar, dan kondisi kedua kalau
salah. Sintaksnya adalah seperti berikut:
if tes kondisi:
blok pernyataan if
else:
Pernyataan if...elif...else...
Pernyataan if…elif…else digunakan untuk menguji lebih dari 2 kondisi. Bila kondisi pada
if benar, maka pernyataan di dalamnya yang dieksekusi. Bila salah, maka masuk ke pengujian
kondisi elif. Terakhir bila tidak ada if atau elif yang benar, maka yang dijalankan adalah yang
di blok else. Sintaksnya adalah seperti berikut:
if tes kondisi:
blok pernyataan if
else:
Pada contoh di atas, bilangan kita beri nilai 5.5. Pada pengujian if, kondisinya adalah apakah
bilangan > 0? Hasilnya benar, maka yang ditampilkan adalah pesan Bilangan positif.
Bila nilai bilangan kita ganti menjadi 0, maka yang akan bernilai benar adalah pernyataan elif.
Bila kita mengganti bilangan jadi minus, maka kondisi if dan elif salah, dan yang dijalankan
adalah blok else.
Catatan: Python mengasumsikan bahwa nilai selain nol dan selain tipe None sebagai nilai True,
dan yang nilai nol dan None sebagai False.
Buatlah program input dan hasil output sesuai perintah diatas menggunakan Bahasa
pemrograman Python.
Tugas 1
PT. DINGIN DAMAI, memberi gaji pokok kepada karyawan kontraknya sebesar Rp. 300,000
perbulan, dengan memperoleh tunjangan-tunjangan sebagai berikut :
▪ Tunjangan Jabatan
Golongan Persentase
1 5%
2 10%
3 15%
Logikanya : Jika seorang karyawan tersebut dengan golongan 3, maka mendapatkan
tunjangan sebesar 15% * Rp. 300,000
● Tunjangan Pendidikan
Tingkat Persentase
Pendidikan
SMA 2.5%
D1 5%
D3 20%
S1 30%
Jika seorang karyawan tersebut dengan Tingkat Pendidikan S1, maka mendapatkan
tunjangan pendidikan sebesar 30% * Rp. 300,000
Honor Lembur
Jumlah jam kerja normal sebanyak 8 jam, Honor lembur diberikan jika jumlah jam kerja
lebih dari 8 jam, maka kelebihan jam kerja tersebut dikalikan dengan Rp. 3500 untuk
setiap kelebihan jam kerja karyawan tersebut.Tampilan yang diinginkan sebagai berikut
:
Layar Masukkan
Layar Keluaran
Perulangan
Secara umum, Python mengeksekusi program baris perbaris. Mulai dari baris satu, dua, dan
seterusnya. Ada kalanya, kita perlu mengeksekusi satu baris atau satu blok kode program
beberapa kali. Hal ini disebut dengan perulangan atau biasa disebut looping atau iterasi. Untuk
lebih jelasnya perhatikan gambar berikut:
Pada gambar bisa dilihat bahwa perulangan juga memerlukan tes kondisi. Bila hasil tes kondisi
True, maka blok kode kembali dieksekusi. Tapi jika False, maka keluar dari perulangan. Pada
python, perulangan bisa dilakukan dengan dua cara atau metode, yaitu:
1. Menggunakan for
2. Menggunakan while
body of for
var adalah variabel yang digunakan untuk penampung sementara nilai dari sequence pada saat
terjadi perulangan. Sequence adalah tipe data berurut seperti string, list, dan tuple.
Perulangan terjadi sampai looping mencapai elemen atau anggota terakhir dari sequence. Bila
loop sudah sampai ke elemen terakhir dari sequence, maka program akan keluar dari looping.
2. Fungsi range
Fungsi range() dapat digunakan untuk menghasilkan deret bilangan. range(10) akan
menghasilkan bilangan dari 0 sampai dengan 9 (10 bilangan). Kita juga bisa menentukan batas
bawah, batas atas, dan interval dengan format range(batas bawah, batas atas, interval). Bila
interval dikosongkan, maka nilai default 1 yang akan digunakan.
Fungsi range tidak menyimpan semua nilai dalam memori secara langsung. Ia hanya akan
mengingat batas bawah, batas atas, dan interval dan membangkitkan hasilnya satu persatu
hanya bila dipanggil. Untuk membuat fungsi ini langsung menampilkan semua item, kita bisa
menggunakan fungsi list(). Untuk jelasnya perhatikan contoh berikut:
# Output: range(0,10)
print(range(10))
# Output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(10))
# Output: [2, 3, 4, 5, 6, 7]
print(list(range(2,8))
Kita bisa menggunakan fungsi range() dalam perulangan menggunakan for untuk iterasi
bilangan berurut. Hal ini dengan cara mengkombinasikan fungsi range() dengan fungsi len().
Fungsi len() berfungsi untuk mendapatkan panjang atau jumlah elemen suatu data sekuensial
atau berurut.
3. Perulangan Menggunakan While
Perulangan menggunakan while akan menjalankan blok pernyataan terus menerus selama
kondisi bernilai benar. Adapun sintaks dari perulangan menggunakan while adalah:
while expression:
statement (s)
Di sini, statement (s) bisa terdiri dari satu baris atau satu blok pernyataan. Expression
merupakan ekspresi atau kondisi apa saja, dan untuk nilai selain nol dianggap True. Iterasi akan
terus berlanjut selama kondisi benar. Bila kondisi salah, maka program akan keluar dari while
dan lanjut ke baris pernyataan di luar while. Adapun diagram alir while adalah seperti gambar
berikut:
Gambar 5.2. Diagram Alir Perulangan While
Perhatikan bahwa bila kondisi yang diuji bernilai salah, maka loop tidak akan pernah
dieksekusi.
Di sini, blok pernyataan print('The count is:', count), dijalankan terus selama count masih lebih
kecil dari 5. Count ditambah 1 setiap kali iterasi. Pada saat nilai count mencapai 5, maka
kondisi menjadi False dan program keluar dari looping while dan melanjutkan baris selanjutnya
yaitu print("Good bye").
1. Infinite Loop
Sebuah kondisi dimana loop selalu benar dan tidak pernah salah disebut loop tidak terbatas
(infinite loop). Terkadang hal ini menjadi masalah. Tapi sering juga infinite loop berguna,
misalnya untuk program client/server dimana server perlu menjaga komunikasi tetap hidup dan
tidak terputus. Pada contoh program while di atas, bila kita lupa menuliskan kode count = count
+ 1, maka akan jadi infinite loop. Hasilnya akan jadi seperti berikut:
4. Kendali Looping
Looping umumnya akan berhenti bila kondisi sudah bernilai salah. Akan tetapi, seringkali
kita perlu keluar dari looping di tengah jalan tergantung keperluan. Hal ini bisa kita lakukan
dengan menggunakan kata kunci break dan continue.
Statement break memaksa program keluar dari blok looping di tengah jalan. Sedangkan
statement continue menyebabkan program langsung melanjut ke step / interval berikutnya dan
mengabaikan (skip) baris kode di bawahnya (yang satu blok). Jelasnya perhatikan contoh
berikut:
Bila pada program di atas kita ganti kode break menjadi continue, maka hasilnya akan jadi
seperti berikut:
Perhatikan bahwa huruf g tidak pernah ditampilkan karena diabaikan karena kode continue.
1. While else
Python mendukung penggunaan else sebagai pasangan dari while. Blok pernyataan else
hanya akan dieksekusi bila kondisi while bernilai salah.
Latihan
Lakukan pengulangan input data sebanyak 2 kali dengan data dibawah ini :
Kode Program
ulang=2
for i in range(ulang):
print ("data Ke - " + str(i+1))
nama=input("Masukkan Nim anda : ")
uts=int(input("Masukkan Nilai UTS anda :"))
uas=int(input("Masukkan Nilai UAS : "))
print("NIm anda adalah %s nilai UTS anda %i nilai UTS anda
%i" % (nama,uts,uas))
print("-------------------------------------\n")
Output
Tugas 2
Sebuah perusahaan ayam goreng dengan nama “GEROBAK FRIED CHICKEN” yang
telah lumayan banyak pelanggannya, ingin dibantu dibuatkan program untuk membantu
kelancaran usahaannya.
“GEROBAK FRIED CHICKEN” mempunyai daftar harga ayam sebagai berikut :
Layar Keluaran
GEROBAK FIRED CHICHEN
-------------------------------------------------------------
No. Jenis Harga Bayak Jumlah
Potong Satuan Beli Harga
-------------------------------------------------------------
... ....... .... .... Rp ....
... ....... .... .... Rp ....
------------------------------------------------------------
Jumlah Bayar Rp ....
Pajak 10% Rp ....
Total Bayar Rp ....
Pertemuan 6
1. List
Python menyediakan sejumlah tipe data yang dikenal dengan tipe data berurut (sequence).
List adalah tipe data yang berisi satu atau beberapa nilai di dalamnya. Nilai – nilai ini sering
juga disebut item, elemen, atau anggota list. List dibuat dengan menempatkan semua item di
dalam tanda kurung [ ], dipisahkan oleh tanda koma. Anggota list bisa berisi satu tipe data,
atau campuran.
# list kosong
my_list = []
# list berisi integer my_list = [1,2,3,4,5]
# list berisi tipe campuran my_list = [1, 3.5, "Hello"]
List juga bisa berisi list lain. Ini disebut list bersarang
# list bersarang
my_list = ["hello", [2,4,6], ['a','b']]
f. Metode List
List memiliki banyak metode untuk operasi seperti menambahkan anggota,
menghapus, menyisipkan, menyortir, dan lain sebagainya. Mereka bisa diakses
menggunakan format list.metode().
g. Menambahkan Anggota List
Fungsi append() berguna untuk menambahkan anggota ke dalam list. Selain itu, ada
metode extend() untuk menambahkan anggota list ke dalam list.
Kita juga bisa menggunakan operator + untuk menggabungkan dua list, dan operator
* untuk melipatgandakan list.
2. Tuple
Tuple mirip dengan list. Bedanya, tuple bersifat immutable, sehingga anggotanya
tidak bisa diubah. Kalau mirip, mengapa harus menggunakan tuple?
Kita menggunakan tuple tergantung kebutuhan. Untuk beberapa hal, tuple memiliki
kelebihan sebagai berikut:
● Karena tuple adalah immutable, maka iterasi pada tuple lebih cepat
dibandingkan list.
● Tuple bisa berisi anggota yang immutable yang dapat digunakan sebagai key
untuk dictionary. List tidak bisa dipakai untuk itu.
● Kalau kita memerlukan data yang memang tidak untuk diubah, maka
menggunakan tuple bisa menjamin bahwa data tersebut akan write-protected.
3. Membuat Tuple
Tuple dibuat dengan meletakkan semua anggota di dalam tanda kurung ( ), masing-
masing dipisahkan oleh tanda koma. Menggunakan tanda kurung sebenarnya hanya
opsional, tapi kita sebaiknya tetap menggunakannya untuk kemudahan pembacaan
kode. Tuple dapat berisi tipe data yang sama maupun campuran.
4. Mengakses anggota Tuple
Seperti halnya list, kita bisa mengakses anggota tuple lewat indeksnya
menggunakan format namatuple[indeks]. Indeks dimulai dari 0 untuk anggota
pertama. Selain itu, indeks negatif juga bisa dipakai mulai dari -1 untuk anggota
terakhir tuple.
5. Mengubah Anggota Tuple
Setelah tuple dibuat, maka anggota tuple tidak bisa lagi diubah atau dihapus. Akan
tetapi, bila anggota tuple-nya adalah tuple bersarang dengan anggota seperti list, maka
item pada list tersebut dapat diubah. Jelasnya ada pada contoh berikut:
6. Menguji Keanggotaan Tuple
Seperti halnya string dan list, kita bisa menguji apakah sebuah objek adalah anggota
dari tuple atau tidak, yaitu dengan menggunakan operator in atau not in untuk
kebalikannya.
Walaupun hanya memiliki dua metode, banyak fungsi bawaan python yang berfungsi untuk
melakukan operasi pada tuple. Berikut adalah daftarnya:
Mengembalikan True jika semua anggota tuple adalah benar ( tidak ada yang
all()
kosong )
Mengembalikan True jika salah satu atau semua bernilai benar. Jika tuple
any()
kosong, maka akan mengambalikan False.
sorted() Mengambil anggota tuple dan mengembalikan list baru yang sudah diurutkan
4 5 6
7 8 9
Tampilkan lah :
- Baris Pertama, Kolom Pertama
- Baris Pertama, Kolom Kedua
- Baris Pertama, Kolom Ketiga
- Baris Ketiga, Kolom Ketiga
- Baris Ke Empat, Kolom Pertama
Hasil :
Latihan
Buatlah input, proses dan output secara berulang dengan memanfaatkan fungsi matriks/list
seperti pada koding dibawah ini :
ulang=2
for i in range(ulang):
print ("data Ke - " + str(i+1))
list_nim.append(input("Masukkan Nim anda : "))
list_uts.append(int(input("Masukkan Nilai UTS anda :")))
list_uas.append(int(input("Masukkan Nilai UAS : ")))
#proses
for i in range(ulang):
list_total.append((list_uas[i] + list_uts[i]) / 2)
#Cetak
print("=======================================================
=")
print("Nim Nilai Uts Nilai UAS Total")
print("=======================================================
=")
for i in range(ulang):
print ("%s \t %i \t\t %i \t\t\t %i" %
(list_nim[i],list_uts[i],list_uas[i],list_total[i]))
print("=======================================================
=")
s
Pertemuan 7
Matrix dan Library Pandas
Matriks dalam dunia metematika merupakan suatu bilangan, simbol, ataupun ekspresi yang
disusun dalam baris dan kolom yang membentuk suatu bidang persegi/persegi panjang.
Kumpulan data dalam matriks biasa disebut dengan elemen matriks. Elemen matriks dapat
berisi bilangan, simbol, dan ekspresi matematika. Untuk membentuk matriks semua elemen ini
diletakkan diantara kurung biasa ( . . . . ) atau kurung siku [ . . . . ]. Susunan elemen secara
horizontal dalam matriks disebut baris (row) yang diwakilkan dengan huruf m. Sedangkan
susunan elemen secara vertikal pada matriks disebut kolom (column) yang diwakilkan dengan
huruf n. Untuk contoh matriks perhatikan gambar di bawah ini.
Gambar di atas merupakan matriks berordo 3×3. Ordo merupakan ukuran dimensi pada matriks
yang dinotasikan dengan m x n yang dimana m melambangkan baris dan n melambangkan
kolom [row x column]. Jadi matriks di atas memiliki 3 baris dan 3 kolom.
Dalam mengolah matriks, ada berbagai operasi yang dapat dilakukan. Mulai dari
translasi, rotasi, mencari determinan, operasi baris elementer, dan lainnya. Namun kita hanya
akan membahas beberapa operasi dasar seperti penjumlahan, pengurangan dan perkalian dua
matriks.
Pandas kependekan dari Python Data Analysis Library. Nama Pandas tersebut adalah
turunan dari kata Panel Data. Pandas adalah sebuah paket library pada python yang digunakan
untuk mempermudah dalam mengolah dan menganalisa data-data terstruktur. Pandas
merupakan paket penting yang wajib diketahui untuk seorang data engineer, data analyst dan
data scientist jika ingin mengolah dan manganalisa data menggunakan python. Jika kamu telah
terbiasa menggunakan SQL, maka tidak akan sulit untuk membiasakan diri menggunakan
fungsi-fungsi pada Pandas. Panda memiliki format data yang sering digunakan, disebut
DataFrame. Pandas DataFrame adalah struktur data 2 Dimensi. Data distrukturisasi seperti
tabel yang berisi baris dan kolom, sehingga mudah untuk melakukan queri atau mengakses data
tersebut. Baris merepresentasikan record dan kolom merepresentasikan field.
Untuk instalasi library pandas pada VS Code yaitu dengan menggunakan perintah pip install
pandas pada terminal dalam VS Code seperti pada gambar berikut :
Untuk kelancaran proses instalasi library pandas, kita tetapkan terlebih dahulu PATH untuk
instalasinya ikuti langkah pada gambar berikut :
1. Buka “Edit the system environment variables” pada menu pencarian windows.
2. Kemudian akan muncul pop up windows seperti gambar berikut, kemudian pilih
“Environment Variables”
3. Setelah kita klik Environment variables maka akan muncul pop up windows kembali
seperti pada gambar berikut :
4. Langkah berikutnya adalah kita buka lokasi instalasi python untuk mencopykan PATH
pada Environment Variables.
5. Klik kanan pada aplikasi python lalu pilih open file location, maka kita akan diarahkan
pada folder tempat instalasi aplikasi python.
6. Langkah berikutnya adalah kita buka folder Scripts dan klik pada bagian navbar folder
Scripts untuk mendapatkan detail PATH nya.
Contoh detail Path untuk folder scripts adalah
“C:\Users\SAMSUNG\AppData\Local\Programs\Python\Python38-32\Scripts”
7. Kita akan mengcopykan PATH folder scripts kedalam Environment Variables agar kita
dapat menggunakan perintah pip untuk instalasi library pandas.
8. Setelah kita mendapatkan path nya lalu kita buka kembali menu environment variables
lalu kita pilih tombol edit pada menu path seperti pada gambar berikut.
9. Lalu kita copykan PATH folder Scripts tadi pada Variable Value seperti pada gambar
berikut, lalu klik OK.
10. Copykan kembali PATH folder Scripts tadi pada System variable seperti pada gambar
berikut, lalu klik OK.
11. Kita kembali lagi pada terminal VSCode untuk instalasi library nya, tapi sebelum itu
kita rubah dulu direktori nya dengan perintah “cd C:\Users\NAMAUSER\”, cd adalah
perintah untuk merubah direktori, C:\Users\NAMAUSER\ adalah tujuan direktori nya,
seperti gambar betikut. Lalu tekan tombol ENTER.
12. Berikutnya adalah kita akan instalasi library pandas, tapi sebelum itu pastikan laptop
sudah terkoneksi dengan internet karena kita akan mendownload library python.
Ketikan perintah pip install pandas pada terminal dan tunggu proses download +
instalasi library selesai.
Setelah semua tahapan selesai maka kita dapat menggunakan library pandas.
UTS
Pertemuan 9
Fungsi
Fungsi adalah grup/blok program untuk melakukan tugas tertentu yang berulang. Fungsi
membuat kode program menjadi reusable, artinya hanya di definisikan sekali saja, dan
kemudian bisa digunakan berulang kali dari tempat lain di dalam program.
Fungsi memecah keseluruhan program menjadi bagian – bagian yang lebih kecil . Dengan
semakin besarnya program, maka fungsi akan membuatnya menjadi lebih mudah diorganisir
dan dimanage.
Sejauh ini, kita sudah menggunakan beberapa fungsi, misalnya fungsi print(), type(), dan
sebagainya. Fungsi tersebut adalah fungsi bawaan dari Python. Kita bisa membuat fungsi kita
sendiri sesuai kebutuhan.
1. Mendefinisikan Fungsi
Berikut adalah sintaks yang digunakan untuk membuat fungsi:
def function_name(parameters):
"""function_docstring"""
statement(s)
return [expression]
>>> sapa('Ratna')
Hi, Ratna. Apa kabar?
b. Docstring
Docstring adalah singkatan dari documentation string. Ini berfungsi sebagai dokumentasi
atau keterangan singkat tentang fungsi yang kita buat. Meskipun bersifat opsional,
menuliskan docstring adalah kebiasaan yang baik. Untuk contoh di atas kita menuliskan
docstring. Cara mengaksesnya adalah dengan menggunakan format namafungsi.__doc__
>>> print(sapa.__doc__)
"""Fungsi ini untuk menyapa seseorang sesuai nama yang
dimasukkan sebagai parameter"""
3. Pernyataan Return
Pernyataan return digunakan untuk keluar dari fungsi dan kembali ke baris selanjutnya
dimana fungsi dipanggil.
Adapun sintaks dari return adalah:
return [expression_list]
return bisa berisi satu atau beberapa ekspresi atau nilai yang dievaluasi dan nilai tersebut
akan dikembalikan. Bila tidak ada pernyataan return yang dibuat atau ekspresi
dikosongkan, maka fungsi akan mengembalikan objek None. Perhatikan bila hasil keluaran
dari fungsi sapa kita simpan dalam variabel.
>>> keluaran = sapa('Gani')
>>> print(keluaran) None
4. Argumen Fungsi
Kita bisa memanggil fungsi dengan menggunakan salah satu dari empat jenis argumen
berikut:
● Argumen wajib (required argument)
Argumen wajib adalah argumen yang dilewatkan ke dalam fungsi dengan
urutan posisi yang benar. Di sini, jumlah argumen pada saat pemanggilan fungsi
harus sama persis dengan jumlah argumen pada pendefinisian fungsi. Pada
contoh fungsi sapa() di atas, kita perlu melewatkan satu argumen ke dalam
fungsi sapa(). Bila tidak, maka akan muncul error.
>>> sapa('Umar')
Hi Umar. Apa kabar?
● Argumen default
Fungsi dengan argumen default menggunakan nilai default untuk argumen yang
tidak diberikan nilainya pada saat pemanggilan fungsi. Pada contoh berikut,
fungsi akan menampilkan usia default bila argumen usia tidak diberikan:
Pada contoh di atas, pemanggilan fungsi kedua tidak menyediakan nilai untuk
parameter usia, sehingga yang digunakan adalah nilai default yaitu 17.
● Argumen dengan panjang sembarang
Terkadang kita butuh untuk memproses fungsi yang memiliki banyak argumen.
Nama – nama argumennya tidak disebutkan saat pendefinisian fungsi, beda
halnya dengan fungsi dengan argumen wajib dan argumen default. Sintaksnya
fungsi dengan argumen panjang sembarang adalah seperti berikut:
def function_name([formal_args,] *var_args_tuple):
"""function_docstring"""
statement(s)
return [expression]
Tanda asterisk (*) ditempatkan sebelum nama variabel yang menyimpan nilai
dari semua argumen yang tidak didefinisikan. Tuple ini akan kosong bila tidak
ada argumen tambahan pada saat pemanggilan fungsi. Berikut adalah
contohnya:
5. Ruang Lingkup (Scope) Variabel
Di Python, tidak semua variabel bisa diakses dari semua tempat. Ini tergantung dari
tempat dimana kita mendefinisikan variabel. Ruang lingkup variabel ada dua, yaitu:
● Global
● Local
Variabel yang didefinisikan di dalam fungsi memiliki scope lokal, sedangkan
variabel yang didefinisikan di luar fungsi memiliki scope global. Ini berarti, variabel
lokal hanya bisa diakses dari dalam fungsi di mana ia di definisikan, sedangkan variabel
global bisa diakses dari seluruh tempat dimanapun di dalam program. Berikut adalah
contohnya:
Perhatikan bagaimana variabel total di dalam dan di luar fungsi adalah dua variabel yang
berbeda.
Pertemuan 10
Python memiliki banyak modul bawaan, misalnya modul math, os, sys dan lain
sebagainya. Modul – modul tersebut berada di dalam direktori Lib ditempat Python terinstall.
Python juga memiliki ribuan modul siap pakai yang tersedia luas di internet, salah satunya di
pypi.python.org. Modul digunakan untuk memecah sebuah program besar menjadi file – file
yang lebih kecil agar lebih mudah dikelola. Modul membuat kode bersifat reusable, artinya
satu modul bisa dipakai berulang dimana saja jika diperlukan. Berikut ini adalah contoh
penggunaan modul.
Kita bisa mengimpor modul python ke dalam program yang kita buat. Dengan mengimpor
modul, maka definisi, variabel, fungsi dan yang lainnya yang ada di dalam modul itu bisa kita
pergunakan kapan saja jika diperlukan. Kita mengimpor modul dengan menggunakan kata
kunci import. Misalnya, kita akan mengimpor modul contoh_penggunaan_modul yang
sudah kita buat di atas, maka kita bisa mengetikkan perintah berikut :
import contoh_penggunaan_modul
Setelah kita import, maka kita bisa mengakses isi dari modul contoh_penggunaan_modul.
Kita bisa mengakses fungsi maupun variabel global di dalam modul tersebut dengan
menggunakan operasi titik (.). Misalnya sebagai berikut:
Menggunakan Perintah Alias pada Modul
Untuk memanggil suatu modul pada python, kita juga bisa memanggil modul tersebut dengan
merubah namanya dengan perintah as, misalkan pada contoh dibawah ini :
Pada python kita juga bisa menggunakan sebagian fungsi dai suatu modul dengan perintah
from... import... seperti pada contoh dibawah ini :
Mengimpor semua fungsi modul pada Python
Jika pada contoh sebelumnya menggunakan sebagian fungsi dari suatu modul pada python,
maka contoh kali ini kita dapat menggunakan semua fungsi pada suatu modul, seperti pada
contoh dibawah ini :
Berikut ini merupakan modul-modul yang tersedia dalam python dan funginya :
Tabel Modul
array
Alat untuk mengonversi antara representasi
biner berenkode ASCII dan biner.
binascii
bisect Algoritma pembagian dua untuk pencarian
biner.
calendar Fungsi untuk kalender, termasuk beberapa
emulasi program Unix cal.
Fungsi matematika untuk bilangan kompleks.
cmath
csv Menulis dan membaca data tabel dan dari file
yang dibatasi.
datetime Fungsi tanggal dan waktu.
decimal Penerapan Spesifikasi Aritmatika Desimal.
email Paket yang mendukung parsing, manipulasi,
dan pembuatan pesan email.
enum Implementasi kelas pencacahan.
getpass Pembacaan password portabel dan
pengambilan userid.
html Fungsi untuk memanipulasi HTML.
http Kode dan pesan status HTTP
json Encode dan decode format JSON.
math Fungsi matematika (sin () dll.).
numbers Kelas dasar abstrak numerik (Kompleks,
Real, Integral, dll.).
random Hasilkan bilangan pseudo-random dengan
berbagai distribusi umum.
statistics Fungsi statistik matematika
sys Akses parameter dan fungsi khusus sistem.
time Akses dan konversi waktu.
warnings Keluarkan pesan peringatan dan kendalikan
disposisi mereka.
zipfile Membaca dan menulis file arsip berformat
ZIP.
zipimport Dukungan untuk mengimpor modul Python
dari arsip ZIP.
Eksepsi
Pada saat menulis dan menjalankan program, kita sering dihadapkan pada munculnya
kesalahan atau error. Seringkali error menyebabkan program berhenti sendiri.
Error dapat terjadi akibat kesalahan struktur (sintaks) program. Hal ini disebut syntax error.
Contohnya adalah seperti berikut:
>>> if x < 5
if x < 5
Kita bisa melihat bahwa penyebabnya adalah lupa titik dua pada pernyataan if.
Error juga dapat terjadi pada saat runtime (saat program berjalan). Error seperti ini disebut
eksepsi. Misalnya, bila kita membuka file yang tidak ada, maka akan muncul pesan kesalahan
FileNotFoundError. Bila kita membagi bilangan dengan nol akan muncul ZeroDivisionError,
dan lain sebagainya.
Pada saat terjadi eksepsi, Python akan menampilkan traceback dan detail dimana kesalahan
terjadi.
>>> 1/0
AttributeError Muncul pada saat penugasan terhadap attribute atau referensi gagal
RuntimeError Muncul saat error yang terjadi di luar semua kategori eksepsi lain
Muncul oleh fungsi next() untuk menunjukkan bahwa tidak ada lagi
StopIteration
item yang tersisa pada iterator
Muncul saat indentasi memiliki jumlah spasi atau tab yang tidak
TabError
konsisten
SystemError Muncul saat interpreter mendeteksi kesalahan internal
TypeError Muncul saat melakukan operasi pada tipe data yang tidak sesuai
Muncul saat referensi dibuat untuk variabel lokal dari fungsi, tapi
UnboundLocalError
tidak ada nilainya.
ValueError Muncul saat fungsi menerima argumen yang tipe datanya salah
except ValueError:
# tangani eksepsi ValueError
pass
except (TypeError, ZeroDivisionError):
# menangani multi eksepsi
# TypeError dan ZeroDivisionError
pass
except:
# menangani eksepsi lainnya
pass
Pernyataan pass adalah pernyataan yang tidak melakukan apa-apa. Istilahnya adalah
statemen kosong. pass sering digunakan untuk mengisi blok fungsi atau kelas yang masih
kosong.
>>> try:
a = int(input("Masukkan sebuah bilangan positif: "))
if a <= 0:
raise ValueError("Itu bukan bilangan positif!")
except ValueError as ve:
print(ve)
3.2. Class
Pada konsep pemrograman berbasis object, anda tidak akan asing lagi mendengar istilah class,
object, attribute, behaviour, inheritance, dll. Semua itu pasti akan anda temui disemua bahasa
pemrograman yang support OOP. Jika dianalogikan, class merupakan suatu tubuh dari OOP.
Class merupakan abstraksi atau blueprint yang mendefinisikan suatu object tertentu. Class akan
menampung semua attribute dan perilaku dari object itu. Berikut contoh implementasi class
pada Python:
class Car:
color = 'black'
transmission = 'manual'
def drive(self):
print('Drive')
def reverse(self):
print('Reverse. Please check your behind.')
Jika diperhatikan, dalam class Car terdapat 2 attribute yaitu color = 'black', transmission
= 'manual' dan method yaitu drive(), reverse(). Method dalam konsep OOP mewakili
suatu 'behaviour' dari class atau object itu sendiri. Kita akan bahas lebih detail mengenai
method.
3.3. Function/Method
Fungsi method dalam konsep OOP adalah untuk merepresentasikan suatu behaviour.
Dalam contoh di atas suatu object 'mobil' memiliki behaviour antara lain adalah bergerak dan
mundur. Suatu method bisa juga memiliki satu atau beberapa parameter, sebagai contoh:
gear_position = 'N'
Pada method change_gear() terdapat 1 parameter yaitu gear. Ketika method tersebut
dipanggil dan anda tidak memberikan value pada parameter tersebut, maka program akan
melempar error. Bagaimanapun juga parameter yang sudah didefinisikan pada suatu method
harus memiliki value meskipun value tersebut None. Cara lainnya adalah dengan
mendefinisikan default value pada parameter tersebut sejak awal method tersebut dibuat:
gear_position = 'N'
Jika diperhatikan, terdapat keyword self pada salah satu parameter method di atas.
Keyword self mengacu pada Class Instance untuk mengakses attribute atau method dari class
itu sendiri. Dalam bahasa pemrograman Java, terdapat keyword this yang memiliki fungsi
yang mirip dengan keyword self pada Python. Pemberian keyword self pada parameter awal
suatu method menjadi wajib jika anda mendefinisikan method tersebut di dalam block suatu
class.
Suatu method juga bisa mengembalikan suatu value ketika method tersebut dipanggil.
Berikut contoh implementasinya:
def get_gear_position(self):
return self.gear_position
gear_position = self.get_gear_position()
3.4. Constructor
Pada contoh awal tentang penjelasan class, terdapat sebuah method bernama
__init__(). Method itulah yang disebut dengan constructor. Suatu constructor berbeda
dengan method lainnya, karena constructor akan otomatis dieksekusi ketika membuat object
dari class itu sendiri.
class Car:
color = 'black'
transmission = 'manual'
...
honda = Car('automatic')
>>> 'Engine is ready!'
Ketika object honda dibuat dari class Car, constructor langsung dieksekusi. Hal ini berguna
jika anda membutuhkan proses inisialisasi ketika suatu object dibuat. Suatu constructor juga
bisa memiliki satu atau beberapa parameter, sama seperti method pada umumnya namun
constructor tidak bisa mengembalikan value.
3.5. Object
Object merupakan produk hasil dari suatu class. Jika class merupakan blueprint dari
suatu rancangan bangunan, maka object adalah bangunan itu sendiri. Begitulah contoh analogi
yang bisa saya gambarkan mengenai relasi antara class dan object. Berikut contoh
implementasi dalam bentuk code program:
class Car:
color = 'black'
transmission = 'manual'
gear_position = 'N'
def drive(self):
self.gear_position = 'D'
print('Drive')
def reverse(self):
self.gear_position = 'N'
print('Reverse. Please check your behind.')
def get_gear_position(self):
return self.gear_position
car1 = Car('manual')
car1.change_gear('D-1')
car2 = Car('automatic')
gear_position = car2.get_gear_position()
print(gear_position)
>>> 'N'
Dari contoh di atas, terdapat 2 buah object car1 dan car2 yang dibuat dari class yang sama.
Masing-masing dari object tersebut berdiri sendiri, artinya jika terjadi perubahan attribute dari
object car1 tidak akan mempengaruhi object car2 meskipun dari class yang sama.
3.6. Inheritance
Salah satu keuntungan dari konsep OOP ialah reusable codes yang bisa mengoptimalkan
penggunaan code program agar lebih efisien dan meminimalisir redudansi.
● Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain
yang sudah ada.
● Penurunan sifat ini bisa dilakukan secara bertingkat tingkat, sehingga semakin ke
bawah kelas tersebut menjadi semakin spesifik.
● Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku
khusus dari kelas supernya.
● Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang
telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa
harus menulis ulang semua kodekode itu.
Semua itu berkat adanya fitur inheritance yang memungkinkan suatu class (parent)
menurunkan semua attribute dan behaviour nya ke class (child) lain. Berikut contoh
penerapannya:
class Tesla(Car):
pass # use 'pass' keyword to define class only
tesla = Tesla()
tesla.drive()
>>> 'Drive'
Pada potongan code di atas, class Tesla merupakan turunan dari class Car. Jika diperhatikan
pada class Tesla tidak didefinisikan method drive() namun class tersebut bisa memanggil
method drive(). Method tersebut berasal dari class parentnya yaitu class Car, sehingga tidak
perlu lagi didefinisikan ulang pada class childnya. Dengan cara seperti ini anda bisa melakukan
reusable codes sehingga source code menjadi lebih clean.
3.7. Overriding
Ada suatu kondisi dimana suatu method yang berasal dari parent ingin anda modifikasi
atau ditambahkan beberapa fitur sesuai kebutuhan pada class child, disinilah peran dari
'overriding method'. Dengan menggunakan fungsi super(), anda bisa memanggil instance dari
class parent di dalam suatu method untuk memanggil fungsi dari parent tersebut. Perhatikan
contoh di bawah ini:
class Tesla(Car):
def drive(self):
super().drive()
print('LOL Gas')
__factory_number = '0123456789'
def __get_factory_number(self):
return self.__factory_number
3.9. Polymorphism
polimorfisme yang memungkinkan anda untuk membuat banyak bentuk dari satu object.
Berikut contoh implementasinya:
class Car:
def fuel(self):
return 'gas'
class Honda(Car):
pass
class Tesla(Car):
def fuel(self):
return 'electricity'
def get_fuel(car):
print(car.fuel())
get_fuel(Tesla())
get_fuel(Honda())
>>> 'electricity'
>>> 'gas
● Polimorfisme merupakan kemampuan objek objek yang berbeda kelas namun terkait
dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
● Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan
method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada
jenjang pewarisan.