Modul Dasar Pemrograman
Modul Dasar Pemrograman
DASAR PEMROGRAMAN
DISUSUN OLEH:
HYLENARTI HERTYANA
JAKARTA
2022
DAFTAR ISI
Puji dan syukur kepada Tuhan, karena atas rahmat dan karunianya sehingga dapat
diselesaikan modul Dasar Pemrograman ini dengan baik.
Modul Dasar Pemrograman ini disusun untuk memberikan gambaran bagi mahasiswa
yang mempelajari matakuliah Dasar Pemrograman. Selaku penyusun, tak lupa ingin
mengucapkan banyak terima kasih kepada semua pihak yang telah terlibat dan membantu
dalam penyusunan modul ini, terima kasih juga kepada rekan–rekan dosen dan semuanya
yang tidak bisa disebutkan satu persatu, yang selalu mendukung sehingga modul ini sehingga
dapat selesai sesuai yang kita inginkan semua. Menyadari masih banyak kekurangan dalam
penyusunan modul ini. Untuk itu saran dan kritik yang membangun sangat diharapkan guna
untuk perbaikan dan pengembangan modul ini kedepan.
Akhir kata selaku penyusun berharap semoga modul Dasar Pemrograman ini dapat
bermanfaat dan dipergunakan sebaik-baiknya, serta dapat dijadikan referensi untuk
mahasiswa umum yang ingin mempelajari Dasar Pemrograman.
Jakarta,
2 September 2022
Penyusun Modul
Pertemuan 1
Pengenalan Program
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 :
http://www.phyton.org/download/
3. Master Pyhton / Aplikasi mentahan bisa di download melalui halaman :
http://www.jetbrains.com/pycharm/download/
4. Jika sudah klik linknya, berikut gambar untuk cara mengunduh aplikasi tersebut.
5. Selanjutnya klik tombol download seperti pada gambar berikut :
6. Setelah selesai mengunduh kedua aplikasi tersebut, kita double click aplikasi Phyton
yang sudah kita unduh terlebih dahulu untuk proses instalasi, seperti pada gambar
berikut :
7. Setelah selesai proses instalasi Python, berikutnya kita install PyCharm untuk aplikasi
text editor python nya, seperti pada gambar berikut:
8. Setelah instalasi berhasil, jika ingin mengoperasikan PyCharm, kita pergi ke folder
dima PyCharm terinstall, kemudian pilih “pycharm64.exe”
9. Sebelum aplikasi terbuka kita juga bisa menyesuaikan tema PyCharm sesuai yang kita
inginkan, seperti gambar berikut :
10. Kemudian pilih “Create new project” untuk memulai menggunakan aplikasi
PyCharm, seperti gambar berikut :
11. Setelah kita klik “Create new project”, kita harus atur terlebih dahulu di folder mana
project yang akan kita kerjakan disimpan, seperti pada gambar berikut :
12. Setelah ditentukan tempat penyimpanan projek nya, selanjutnya klik tombol “create”,
dan seperti inilah tampilah PyCharm
13. Untuk membuat file baru, kita bisa menggunakan beberapa cara, bisa dengan klik
menu “New” kemudian pilih “Pyhton File”, bisa juga dengan klik kanan pada project
kita, dan pilih “Pyhton File”.
Fungsi :
a. New Project untuk membuat sebuah projek baru yang belum pernah dibuat
sebelumnya.
b. New untuk membuat sebuah file baru yang belum pernah dibuat sebelumnya
c. New Scratch File untuk membuat file scratch, file scratch berfungsi penuh,
runnbale, dan debuggable yang mendukung penyorotan sintaksis, penyelsaian
kode, dan semua fitur lainnya untuk tipe yang sesuai.
d. Open membuka file atau projek yang sudah pernah dibuat sebelumnya.
e. Save as untuk menyimpan aplikasi dengan nama baru
f. Open Recent untuk membuka kembali file atau projek yang sudah pernah
dibuka
g. Close Project untuk keluar dari projek yang sedang dikerjakan
h. Rename Project untuk mengganti nama projek yang sedang dikerjakan
i. Setting untuk mengubah setelan pada pycharm sesuai keinginan
j. Other Setting berisikan menu Setting for new projects dan Run configuration
template for new projects.
k. Import Setting untuk menyimpan pengaturan pada pycharm agar bisa di
export ketika menggunakan aplikasi pycharm di komputer / laptop yang
berbeda.
l. Export Setting untuk merubah pengaturan secara instan dengan pengaturan
yang sudah di import dari komputer/laptop yang berbeda.
m. Setting Repository untuk membagikan pengaturan IDE di antara berbagai
contoh produk PyCharm (atau basis platform IntelliJ lainnya) yang di install
pada komputer yang berbeda
n. Save all untuk menyimpan keseluruhan program aplikasi yang kita buat.
o. Reload all from disk untuk memuat ulang projek atau file dalam disk pada
komputer
p. Invalidate Caches / Restart PyCharm memiliki sejumlah besar caches
sistem, oleh karena itu caches mungkin suatu hari menjadi beban yang
berlebihan, invalidate caches berfungsi untuk membersihkan caches sistem
pada PyCharm.
q. Export to HTML untuk menyimpan file aplikasi dengan merubah ekstensi
nya menjadi ekstensi HTML
r. Print untuk mencetak coding aplikasi.
s. Add to Favorite untuk menambahkan sejumlah file atau folder ke menu
favorit / yang sering digunakan, untuk memudahkan pencarian file yang sering
digunakan oleh seorang pemrogram.
t. File Encoding Encoding memiliki pengaruh pada PyCharm membaca atau
menulis File. Jika file telah dimodifikasi tetapi belum disimpan, setiap
perubahan dalam pengkodean memengaruhi penulisan file.
u. Remove BOM penggunaan BOM adalah opsional. Kehadirannya
mengganggu penggunaan UTF-8 oleh perangkat lunak yang tidak
mengharapkan byte non-ASCII pada awal file tetapi yang sebaliknya dapat
mengenali aliran teks.
v. Associate with file type untuk menghindari salah penamaan ekstensi bisa
menggunakan associate with file type.
w. Line Separators untuk mengatur pemisah garis (akhiran garis) untuk file
yang baru dibuat, dan mengubah gaya pemisah garis untuk file yang ada
x. Make File Read Only untuk membuat file yang sudah kita buat menjadi tidak
bisa di rubah / edit.
y. Power Save Mode untuk mengaktifkan mode hemat daya.
z. Exit untuk Keluar dari aplikasi.‟
2. Menu Edit
3. Menu View
6. Menu Refactor
7. Menu Run
9. Menu VCS
Setelah selesai mengetikan naskah program yang baru pada jendela Tex Editor, maka
selanjutnya disimpan dengan cara :
Pada PyCharm 2019.3 terdapat 2 cara menyimpan file editor, diantaranya yaitu :
Save All digunakan untuk menyimpan semua file Python pada file projek yang sedang aktif.
Save As digunakan untuk menyimpan file Pyhton pada file projek yang sedang aktif dengan
nama file Python yang berbeda
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.16 dibawah ini:
Penjelasan membuka atau memanggil file editor yang sudah dibuat, dengan cara, Klik Menu
→ File Open
Penjelasan mencetak file program pada jendela yang sedang aktif dengan klik menu File
→ Print
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, baris 1
adalah komentar program. Interpreter tidak memproses komentar. Komentar hanya untuk
penjelasan kode agar dipahami oleh manusia yang membacanya.
Pada baris 2 kita menciptakan sebuah objek bilangan yaitu 15. Kita membuat variabel
bil1 menunjuk ke objek 15. Dengan kata lain, objek 15 ditugaskan ke variabel bil1.
Penjelasan untuk baris 3 sama dengan penjelasan untuk baris ke 2.
Selanjutnya pada baris ke 4, objek yang ditunjuk oleh bil1 yaitu 15 dan yang ditunjuk
oleh bil2 yaitu 25 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
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']
5.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:
if nilai <= 5 :
print("Nilai Jelek") print("Tidak Lulus")
else:
print("Nilai Bagus") print("Lulus")
Bila indentasi dalam satu grup kode tidak sama, python akan menampilkan sintaks
error.
5.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"""
Python juga memiliki fitur komentar multibaris dengan perintah triple tanda kutip ('''
'''). Kita harus mengomentari satu persatu baris seperti berikut:
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
Jika karakter yang akan kita input merupakan sebuah integer maka kita juga harus
menambahkan fungsi int() seperti pada contoh berikut :
5.2. Operator Perbandingan
Operator perbandingan adalah operator yang digunakan untuk membandingkan 2
buah nilai. Hasil perbandingannya adalah True atau False tergantung kondisi.
> Lebih besar dari – Hasilnya True jika nilai sebelah a>b
kiri lebih besar dari nilai sebelah kanan
< Lebih kecil dari – Hasilnya True jika nilai sebelah a<b
kiri lebih kecil dari nilai sebelah kanan
c=a+b
Menugaskan nilai yang ada di kanan ke operand yang ada
= menugaskan a + b
di sebelah kiri
ke c
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
5.8. 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
5.9. Latihan 2
Buatlah program seperti gambar dibawah ini
Pertemuan 4
Percabangan
Pernyataan if terdiri dari ekspresi boolean diikuti oleh satu baris atau
1 if
lebih pernyataan.
3.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.
if tes kondisi:
blok pernyataan if
else:
blok pernyataan if
else:
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.
BL Bali 350,000
Buatlah program input dan hasil output sesuai perintah diatas menggunakan Bahasa
pemrograman Python.
Masukan Keluaran
Latihan Studi Kasus : Pendaftaran Mahasiswa Baru
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
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.
5.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))
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").
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.
5.6. 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
List & Tuple
3.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']]
>>> ganjil.append(9)
>>> print(ganjil) [1,3,5,7,9]
>>> ganjil.extend([11,13,15])
>>> print(['p','y'] *
2) ['p','y','p','y]
>>> ganjil.insert(2,9)
>>> print(ganjil) [5,7,9,11,13,15]
3.9. Menghapus Anggota List
Kita bisa menggunakan metode remove(), pop(), atau kata kunci del untuk
menghapus anggota list. Selain itu kita bisa menggunakan clear() untuk
mengosongkan list. Fungsi pop() selain menghapus anggota list, juga mengembalikan
nilai indeks anggota tersebut. Hal ini berguna bila kita ingin memanfaatkan indeks
dari anggota yang terhapus untuk digunakan kemudian.
3.10. Mengurutkan anggota List
Pada saat kita perlu mengurutkan atau menyortir anggota list, kita bisa
menggunakan metode sort(). Untuk membalik dengan urutan sebaliknya bisa dengan
menggunakan argumen reverse=True.
>>> alfabet = ['a','b','d','f','e','c','h','g','j','i']
>>> alfabet.sort()
>>> print(alfabet)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
>>> alfabet.sort(reverse=True)
>>> print(alfabet)
['j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']
>>> alfabet.reverse()
>>> print(alfabet) ['b','e','d','c','b','a']
3.12.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.13. 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.
3.14. 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.
Sama seperti list, kita bisa mengakses satu range anggota tuple dengan menggunakan
operator titik dua ( : ).
3.15. 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:
Fungsi Deskripsi
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
0
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("========================================================")
String adalah tipe data yang paling sering digunakan di Python. Kita bisa membuat string
dengan meletakkan karakter di dalam tanda kutip. Tanda kutipnya bisa kutip tunggal maupun
kutip ganda. Contohnya adalah sebagai berikut:
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:
Berikut adalah daftar karakter escape yang didukung oleh Python.
\\ Backslash
\‟ Kutip tunggal
\” Kutip ganda
\a ASCII bel
\b ASCII backscape
\f ASCII formfeed
\n ASCII linefeed
>>> print("C:\\Python34\\Lib")
C:\Python34\Lib
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 integer
>>> "{0} bila diubah jadi biner menjadi {0:b}".format(12)
'12 bila diubah jadi biner menjadi 1100'
>>> # pembulatan
>>> "Sepertiga sama dengan: {0:.3f}".format(1/3)
'Sepertiga sama dengan: 0.333'
>>> x = 12.3456789
>>> "Universitas".lower()
'universitas'
>>> " Universitas ".upper()
'UNIVERSITAS'
>>> "I love programming in Python".split()
['I', 'love', 'programming', 'in', 'Python']
>>> "I love Python".startswith("I")
True
>>> "Saya belajar Python".endswith("on")
True
>>> ' - '.join(['I', 'love', 'you'])
>>> int(3.8)
3
>>> float(5)
5.0
Pada saat kita mengubah float ke integer, bilangan dibulatkan ke bawah.
Sebaliknya saat kita mengubah integer ke float, maka bilangan bulat akan menjadi
bilangan berkoma.
Modul ini juga membuat kita bisa melakukan perhitungan seperti di sekolah.
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.
Pertemuan 8
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.
return [expression]
>>> sapa('Ratna')
Hi, Ratna. Apa kabar?
3.3. 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"""
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:
3.6. 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
Penganan 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
Muncul saat fungsi input() mendapatkan kondisi akhir file (end-
EOFError
of-file)
Muncul saat indentasi memiliki jumlah spasi atau tab yang tidak
TabError
konsisten
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
Pada program di atas kita mencari kebalikan dari bilangan, misalnya 4, maka
kebalikannya adalah 1/4 = 0.25.
Pembagian dengan huruf „a‟, dan juga dengan 0 tidak bisa dilakukan, sehingga muncul
error. Bila tidak dilakukan penanganan eksepsi, maka program akan langsung terhenti
pada saat terjadi error.
except ValueError:
# tangani eksepsi
ValueError 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)
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'
self.change_gear()
>>> 'Gear position on: N'
self.change_gear('R')
>>> 'Gear position on: R
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.
DAFTAR PUSTAKA