0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan

Final_Modul Pemrograman Dasar Python

Diunggah oleh

uzahara
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan

Final_Modul Pemrograman Dasar Python

Diunggah oleh

uzahara
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 28

Pemrograman Dasar Python | ii

Daftar Isi
Daftar Isi ............................................................................................................................................................. iii

BAB 1 PENGENALAN PYTHON .................................................................................................................. 1


Environment....................................................................................................................................................... 1
Karakteristik Python ........................................................................................................................................ 1
Perbedaan Python 2.7.x dan Python 3.x ................................................................................................. 4

BAB 2 TIPE DATA ........................................................................................................................................... 6


Primitive Data Type ......................................................................................................................................... 6
Non Primitive Data Type (Data Structure) ............................................................................................. 7

BAB 3 LOGIKA KONDISIONAL ................................................................................................................... 9


IF Tunggal ........................................................................................................................................................... 9
IF ELIF ELSE ...................................................................................................................................................... 10
Ternary IF ......................................................................................................................................................... 10
IF dengan operator AND/OR ................................................................................................................... 11
Nested IF .......................................................................................................................................................... 11

BAB 4 LOGIKA PERULANGAN ................................................................................................................. 13


Range ................................................................................................................................................................ 13
For ....................................................................................................................................................................... 14
For Bersarang ................................................................................................................................................. 14
While.................................................................................................................................................................. 15
While Bersarang ............................................................................................................................................ 15
Break .................................................................................................................................................................. 16
Pass .................................................................................................................................................................... 17
Continue ........................................................................................................................................................... 17

BAB 5 FUNCTION......................................................................................................................................... 19
Variabel global, local, dan parameter ................................................................................................... 20

BAB 6 PYTHON IDIOMS ............................................................................................................................ 21

Pemrograman Dasar Python | iii


BAB 1
PENGENALAN PYTHON

Environment
Sebelum memulai untuk menciptakan sebuah program, seorang programmer harus
mempersiapkan beberapa kelengkapan demi mendukung kelancaran dalam penulisan
dan penyusunan kode. Kelengkapan tersebut diantaranya bisa berupa editor, compiler
maupun library eksternal lain yang berhubungan langsung dengan kebutuhan program,
Biasanya kelengkapan tersebut disebut sebagai environment.

Sementara itu, di dalam bahasa pemrograman Python sudah tersedia IDE (Integrated
Development Environment) powerful demi terciptanya Environment yang sesuai, IDE
tersebut adalah Anaconda, didalam Anaconda kita bisa memanfaatkan library built-in
(library yang sudah terinstall) sehingga untuk keperluan kebutuhan standar (secara
umum) kita tidak diharuskan untuk melakukan installasi library tersebut. Kebutuhan
standar yang perlu dipersiapkan untuk bisa memulai pemrograman Python diantaranya
adalah sebagai berikut:

• Virtual environment

• Python interpreter

• Editor

Karakteristik Python
Sebelum memulai penulisan kode Bahasa Pemrograman Python, Seorang Python
Entusiast harus memahami beberapa karakter dasar bahasa pemrograman Python,
dikarenakan Python adalah bahasa pemrograman yang clear and powerful pada bahasa
pemrograman dengan orientasi objek. Diantaranya seperti bahasa pemrograman Perl,

Pemrograman Dasar Python | 1


Ruby, Scheme, ataupun Java. Detail mengenai fitur dan karakteristik bahasa
pemrograman Python dikutip dari data-flair.training ditunjukkan pada Gambar 1.1:

Gambar 1.1 Karakteristik Python

1. Easy

Python merupakan bahasa pemrograman yang mudah untuk ditulis dan dibaca.

a. Easy to Code

Bahasa pemrograman Python merupakan bahasa pemrograman yang mudah


untuk ditulis dibandingkan dengan bahasa pemrograman C++ ataupun Java.
Seorang programmer Python dapat menuliskan kode program dengan waktu
yang lebih sedikit dikarenakan penulisan kode Python yang terlalu singkat,
sehingga tidak banyak menghabiskan baris kode, seperti pada penggunaan begin
dan end (mulai dan selesainya block baris kode), di dalam bahasa pemrograman
Python cukup menggunakan indentasi 4 kali ketukan spasi atau satu kali tabulasi,
akan tetapi harus konsisten. Disamping penulisan kode yang singkat,
programmer Python harus bisa memahami cara penggunaan library, karena
dalam bahasa pemrograman Python tersedia banyak paket dan modul.

b. Easy to Read

Meskipun bahasa pemrograman Python merupakan bahasa pemrograman High


Level, Bahasa Pemrograman Python tersebut mencoba untuk beradaptasi seperti
penulisan bahasa alami manusia, yaitu dengan mengakomodasi indentasi pada
penulisan teks secara abjad sehingga membentuk suatu kalimat/paragraf.
Sehingga dalam pembacaan kode lebih dimudahkan dengan melakukan
identifikasi pada indentansi tersebut.

Pemrograman Dasar Python | 2


2. Expressive

Expressiveness adalah kemudahan programmer untuk berekspresi ke dalam block


kode, seperti halnya programmer dimudahkan dalam menggunakan dictionary dan
list secara bersamaan di dalam Python dengan hanya menggunakan beberapa line
code. Sedangkan apabila menggunakan bahasa pemrograman C++, programmer
tersebut akan sedikit kesulitan dengan diperlukannya banyak line code yang melebihi
line code implementasi dari bahasa Python sebelumnya.

3. Free and Open Source

Sudah jelas, bahwa bahasa pemrograman Python merupakan bahasa pemrograman


yang bersifat open source dan banyak komunitas yang mendukung terkait
pengembangan.

4. High Level

Bahasa Pemrograman Python merupakan bahasa tingkat tinggi, yang dimana lebih
dekat dengan bahasa alami manusia. Sehingga untuk dapat menuliskan program
secara umum programmer tidak dituntut untuk menyediakan memory, menyediakan
arsitektur sistem yang langsung berkaitan dengan perangkat keras.

5. Portable

Bahasa pemrograman Python dapat dijalankan secara cross platform (sistem operasi
yang bervariasi). Apabila menuliskan kode di sistem operasi Mac atau Windows, kode
tersebut tentu masih bisa dijalankan pada sistem operasi Linux.

6. Object Oriented

Sudah jelas, pada bahasa pemrograman Python mengakomodasi paradigma


pemrograman berorientasi objek, dengan keuntungan penambahan paradigma
pemrograman secara functional programming yaitu dengan disediakannya lambda
function.

7. Extensible

Bahasa pemrograman Python dapat dikembangkan ke dalam bahasa pemrograman


yang lain, seperti halnya kedalam bahasa pemrograman C++. Programmer dapat
melakukan import module didalamnya berisi kode dengan bahasa pemrograman
Python ke dalam kode dengan penulisan bahasa pemrograman C++.

8. Embeddable

Seperti poin 7, akan tetapi secara kebalikannya. Bahasa pemrograman Python dapat
melakukan importing module yang ditulis dari bahasa pemrograman lain, contohnya
adalah bahasa pemrograman C++.

Pemrograman Dasar Python | 3


9. Interpreted

Berbeda dengan bahasa pemrograman C++ dan Jawa, bahasa pemrograman Python
merupakan bahasa pemrograman dengan ekseskusi tanpa melakukan compiling
terlebih dahulu yang biasa dilakukan oleh C++ dengan gcc dan Java dengan javac.
Pada bahasa pemrograman Python, kode Python akan dieksekusi dari baris ke baris,
sehingga memudahkan programmer untuk melakukan error tracing pada kode yang
telah ditulis.

10. Large Standard Library

Python memiliki support banyak library, untuk data science seperti image processing,
web programming, IoT, regular expressions, threading, CGI, big data dan masih banyak
lagi.

11. GUI (General User Interface)

Telah disediakan beberapa library standar untuk dapat menggunakan GUI tersebut,
mulai dari skala primitive hingga enterprise. Contohnya adalah Tk, Qt dan masih
banyak lagi.

12. Dynamically Typed

Merupakan salah satu karakteristik bahasa pemrograman Python yang paling disukai.
Dengan mengakomodasi dynamically typed, programmer menjadi lebih efisien dalam
menuliskan kode. Karena programmer tidak perlu mendeklarasikan tipe data untuk
bisa menggunakan variabel tersebut. Kembali ke poin 9, Python merupakan bahasa
pemrograman interpreted, sehingga pengecekan tipe nilai dilakukan saat running
time sehingga (tidak diperlukan compiling).

Perbedaan Python 2.7.x dan Python 3.x


Beberapa perubahan dan penambahan yang diterapkan pada Python 3.x menyebabkan
kode program yang ditulis menggunakan Python 2.x tidak bisa dijalankan pada Python
3.x secara langsung. Karena Python merupakan bahasa pemrograman open source dan
memiliki anggota komunitas yang besar, sebenarnya perubahan dan penambahan
mengenai hal yang berkaitan dengan bahasa pemrograman Python dapat dilihat secara
langsung pada https://www.Python.org/dev/peps/. Di dalam web tersebut dijelaskan
beberapa perubahan dan penambahan pada pembahasan PEPs (Python Enhancement
Proposals). Secara garis besar perubahan yang ada Python 3.x dijelaskan pada Tabel 1.1:

Pemrograman Dasar Python | 4


Tabel 1.1 Perubahan yang ada di Python 3.x
feature optional in mandatory in effect
nested_scopes 2.1.0b1 02.02 PEP 227: Statically Nested Scopes
generators 2.2.0a1 02.03 PEP 255: Simple Generators
division 2.2.0a2 03.00 PEP 238: Changing the Division Operator
absolute_import 2.5.0a1 03.00 PEP 328: Imports: Multi-Line and
Absolute/Relative
with_statement 2.5.0a1 02.06 PEP 343: The “with” Statement
print_function 2.6.0a2 03.00 PEP 3105: Make print a function
unicode_literals 2.6.0a2 03.00 PEP 3112: Bytes literals in Python 3000

Dilihat dari tabel PEPs diatas yang diambil dari blog terlihat 4 mandatory (wajib) penerapan
pada Python 3.x diantaranya adalah:

a. Perubahan pada operator pembagian


b. Penyesuaian pada import module
c. Penyesuaian pada penggunaan print
d. Penyesuaian bytes literal pada Python

Pemrograman Dasar Python | 5


BAB 2
TIPE DATA

Dalam setiap bahasa pemrograman, sudah sangatlah umum tersedia tipe data. Tipe data
tersebut biasanya memiliki keterkaitan dengan definisi variabel. Python merupakan
bahasa pemrograman dengan karakteristik Dynamic Typed seperti yang dibahas pada Bab
1. Didalam bahasa pemrograman Python programmer diberi kebebasan untuk
mendefinisikan variabel tanpa harus menuliskan tipe data secara spesifik. Seperti contoh
penulisan variabel dengan tipe data string berikut:

Bahasa Pemrograman Java


String data = “Hello Parselmouth”

Bahasa Pemrograman Python


data = “Hello Parselmouth”

Sementara itu di dalam bahasa pemrograman Python terbagi ke dalam 2 jenis Data Type
yaitu primitive data-type dengan non primitive data-type beberapa tipe data yang ada
pada bahasa pemrograman Python adalah sebagai berikut:

Primitive Data Type


1. Int
Int (integer) merupakan tipe data bilangan bulat. Seperti contoh data 15, maka dapat
dilakukan pengecekan sebagai berikut:

>>> type(15)
>>> <class ‘int’>

long int merupakan bilangan yang mempunyai tipe data sama seperti integer
(bilangan bulat), hanya saja memiliki cakupan yang lebih panjang, (dalam Python 3
long int tetap didefinisikan sebagai int).

Pemrograman Dasar Python | 6


2. Float
Float merupakan tipe data bilangan real. Seperti contoh data 22.5, maka dapat
dilakukan pengecekan sebagai berikut :

>>> type(22.5)
>>> <class ‘float’>

3. Complex
Tipe data complex merupakan tipe data untuk bilangan complex, biasanya
didefinisikan a+bj (a dan b merupakan bilangan real dan j merupakan bilangan
imaginer).
>>> type(7+3j)
>>> <class ‘complex’>

4. Boolean
Tipe data boolean adalah tipe data yang hanya bernilai True atau False, atau dapat
didefinisikan kedalam bilangan biner 0 (nol) atau 1 (satu), seperti contoh berikut.
>>> type(True)
>>> <class ‘bool’>
>>> type(False)
>>> <class ‘bool’>

5. String
String merupakan data yang berasal dari kumpulan karakter yang berbentuk teks,
untuk sebab itu data string pasti berada diantara tanda petik “”. Dengan contoh
kalimat “Universitas Jenderal Achmad Yani Yogyakarta”

>>> type(“Universitas Jenderal Achmad Yani Yogyakarta”)


>>> <class ‘str’>

6. None
None digunakan untuk mendefinisikan no value/tidak ada nilai.

>>> type(“None”)
>>> class ‘NoneType’>

Non Primitive Data Type (Data Structure)


1. List
List merupakan kumpulan data dari beberapa tipe data (sejenis ataupun bervariasi),
definisi list selalu berada diantara tanda kurung siku [isi list]. Contoh sebagai
berikut.

Pemrograman Dasar Python | 7


>>> type([5,4,3,2,1])
>>> class ‘list’>
>>> type([1,2,3.90,”Hello World”,5])
>>> class ‘list’>

2. Tuple
Tuple merupakan kumpulan data dari beberapa tipe data (sejenis ataupun bervariasi),
definisi tuple selalu berada diantara tanda kurung bulat (isi tuple). Contoh
sebagai berikut.
>>> type((5,4,3,2,1))
>>> class ‘tuple’>
>>> type((1,2,3.90,”Hello World”,5))
>>> class ‘tuple’>

3. Set
Set merupakan kumpulan data dari beberapa tipe data (sejenis ataupun bervariasi,
akan tetapi secara unique), definisi set selalu berada diantara tanda kurung kurawal
{isi set}. Contoh sebagai berikut.
>>> type({“monitor”,”cpu”,”monitor”,”keyboard”})
>>> class ‘set’>
>>> print({“monitor”,”cpu”,”mouse”,”keyboard”})
>>> {“monitor”,”cpu”,”keyboard”} //unique

4. Dictionary
Dictionary hampir sama seperti set akan tetapi isi dari dictionary terdiri dari key value
pairs, sehingga setiap value akan memiliki key bisa bertipe (integer/string/float),
seperti contoh sebagai berikut.
>>> type({1:”monitor”,2:”cpu”,3:”monitor”,4:”keyboard”})
>>> class ‘dict’>
>>> type({“a”:”monitor”,”b”:”cpu”,”c”:"monitor",”d”:"keyboard"})
>>> class ‘dict’>

Pemrograman Dasar Python | 8


BAB 3
LOGIKA KONDISIONAL

Penggunakan logika kondisional sudah sangat umum diterapkan pada penulisan kode
program untuk membangun sebuah aplikasi atau sistem. Akan tetapi setiap bahasa
pemrograman mengakomodasi cara penulisan yang berbeda. Di dalam bahasa
pemrograman Python implementasi logika kondisional dapat dituliskan kedalam variasi
penulisan. IF secara konvensional dan IF secara ternary, IF secara konvensional dituliskan
dengan penulisan kode standar penulisan IF pada umumnya. Sedangkan IF secara ternary
menggunakan penulisan kode yang berbeda (lebih merujuk kepada efisiensi line code).
Berikut dijelaskan beberapa penggunaan Logika Kondisional pada bahasa Pemrograman
Python.

IF Tunggal
IF tunggal digunakan pada pendefinisian if secara tunggal dan hanya dalam satu konteks,
apabila ada IF tunggal yang lain dan berdiri sendiri, maka dapat disebut dengan IF tunggal
yang lain dalam konteks yang berbeda.

1. Contoh Pencocokan Kategori Usia


>>> usia = 25
>>> if usia>=18:
>>> print(“Anda sudah dewasa”)

2. Contoh IF yang memiliki konteks yang berbeda untuk mencari kategori usia dan
pencocokan angka 18
>>> usia = 18
>>> if usia>=18:
>>> print(“Anda sudah dewasa”)
>>> if usia==18:
>>> print(“Usia Anda 18 tahun”)

Pemrograman Dasar Python | 9


IF ELIF ELSE
IF ELIF ELSE digunakan pada logika percabangan yang terdiri lebih dari satu kondisi dan
semua statement yang didefinisikan masih dalam satu konteks yang sama.
Contoh:
>>> usia = int(input(“Masukkan usia Anda: ”))
>>> if usia < 13:
>>> print(“Anda masih anak-anak”)
>>> elif usia >= 13 and usia < 18:
>>> print(“Anda remaja”)
>>> else:
>>> print(“Anda sudah dewasa”)

Ternary IF
Ternary IF biasanya dipakai untuk menyingkat penulisan logika percabangan.
Contoh ternary IF ELSE dari:
>>> usia = int(input(“Masukkan usia Anda: ”))
>>> if usia < 18:
>>> print(“Anda belum dewasa”)
>>> else:
>>> print(“Anda sudah dewasa”)

adalah sebagai berikut:


>>> usia = int(input(“Masukkan usia Anda: ”))
>>> status = “Anda belum dewasa” if usia < 18 else “Anda sudah
dewasa”
>>> print(status)

atau menggunakan tuple:


>>> usia = int(input(“Masukkan usia Anda: ”))
>>> status = (“Anda sudah dewasa”, “Anda belum dewasa”)[(usia<18)]
>>> print(status)

atau menggunakan dictionary:


>>> usia = int(input(“Masukkan usia Anda: ”))
>>> status = {True: “Anda belum dewasa”, False: “Anda sudah
dewasa”}[usia < 18]
>>> print(status)

Pemrograman Dasar Python | 10


atau menggunakan lambda function:
>>> usia = int(input(“Masukkan usia Anda: ”))
>>> status = (lambda:"Anda sudah dewasa", lambda:"Anda belum
dewasa")[usia < 18]
>>> print(status)

IF dengan operator AND/OR


1. IF AND

Logika IF AND seringkali dipakai untuk menghubungkan dua buah kondisi atau lebih,
dengan syarat dua buah kondisi atau lebih tersebut harus bernilai benar untuk
menghasilkan konklusi yang dimaksud.
Contoh:
>>> tahun_lahir = int(input(“Masukkan tahun lahir Anda: ”))
>>> usia = 2023 - tahun_lahir
>>> if (usia>=18) and (2012>=tahun lahir>=1997):
>>> print(“Anda sudah dewasa, Anda termasuk Generasi Z”)

2. IF OR

Logika IF OR seringkali dipakai untuk menghubungkan dua buah kondisi atau lebih,
dengan syarat salah satu kondisi yang terjadi harus bernilai benar untuk
menghasilkan konklusi yang dimaksud.
Contoh:
>>> tahun_lahir = int(input(“Masukkan tahun lahir Anda: ”))
>>> usia = 2023 - tahun_lahir
>>> if (usia >= 18) or (tahun_lahir <= 2002):
>>> print(“Anda sudah dewasa”)

Nested IF
Logika Nested IF seringkali mensyaratkan ketergantungan pada logika sebelumnya.
Dapat dikatakan, untuk mencapai persyaratan selanjutnya maka dibutuhkan hasil dari
persyaratan sebelumnya. Seperti pada contoh berikut ini logika dengan warna biru
memerlukan hasil kondisi logika warna merah.

Pemrograman Dasar Python | 11


Contoh:
>>> usia = 18
>>> if usia < 13:
>>> else:
>>> if usia >= 13 and usia < 18:
>>> print(“Anda remaja”)
>>> else:
>>> print(“Anda sudah dewasa”)

Pemrograman Dasar Python | 12


BAB 4
LOGIKA PERULANGAN

Perulangan merupakan logika kode yang seringkali diterapkan selain logika kode
percabangan. Disetiap bahasa pemrograman, kode perulangan itu sendiri biasanya
memiliki beberapa variasi cara perulangan ataupun penulisan kode. Secara umum
perulangan konvensional terbagi menggunakan for atau while. Pada bahasa
pemrograman Python dapat ditunjukan sebagai berikut.

Range
Range merupakan suatu fungsi yang ada didalam bahasa pemrograman Python yang
sering digunakan untuk menyediakan nilai jarak antara start number sampai stop number,
dipengaruhi dengan step number, kemudian akan menyimpan data hasil range kedalam
list.

Sintaks penulisan range:


range(start, stop, step)
# nilai start dan nilai step adalah opsional

Contoh 1 (hanya menggunakan nilai stop)


>>> print(list(range(5)))
[0,1,2,3,4]

Contoh 2 (menggunakan nilai start dan nilai stop)


>>> print(list(range(1,5)))
[1,2,3,4]

Contoh 3 (hanya nilai start, nilai stop, dan nilai step)


>>> print(list(range(1,5,+2))
[1,3]

Pemrograman Dasar Python | 13


>>> print(list(range(5,1,-2)))
[5,3]

For
Didalam pemrograman, perulangan seringkali digunakan untuk menyelesaikan kondisi
yang berulang dan kondisi tersebut bisa memiliki pola yang sama ataupun berbeda.
Perulangan didalam bahasa pemrograman Python secara sederhana biasanya
mengakomodasi range.

Contoh 1 (hanya menggunakan nilai stop)


>>> for i in range(5):
>>> print(i)
0
1
2
3
4

Contoh 2 (menggunakan nilai start dan nilai stop)


>>> for i in range(1,5):
>>> print(i)
1
2
3
4

Contoh 3 (hanya menggunakan nilai stop)


>>> for i in range(1,5,+2):
>>> print(i)
1
3

For Bersarang
Didalam pemrograman, perulangan bersarang sering dijumpai pada pembentukan matrix
(array multidimensi) atau pembentukan pola tertentu. Perulangan secara bertingkat
didefinisikan dengan didalam for akan terdapat for atau perulangan lain, seperti contoh
berikut ini:

Pemrograman Dasar Python | 14


>>> x = 4
>>> for i in range(1,x+1):
>>> for j in range(1, i+1):
>>> print(j, end=” “)
>>> print()
1
1 2
1 2 3
1 2 3 4

While
Perulangan while hampir sama dengan for, yaitu untuk mengatasi permasalahan
berulang, akan tetapi dengan memanfaatkan suatu kondisi sampai kondisi yang
dimaksud terpenuhi. Didalam bahasa pemrograman, perulangan while dapat dituliskan
sebagai berikut.

Sintaks penulisan while:


while kondisi:
blok_eksekusi

Contoh:
>>> hitung = 1
>>> while hitung <= 5:
>>> print(hitung)
>>> hitung+=40
1
2
3
4
5

didalam while biasanya ada counter, counter tersebut digunakan untuk menjalankan
blok_eksekusi hingga mencapai kondisi yang dimaksud, seperti contoh perulangan
diatas menggunakan counter hitung+=40 untuk melakukan increment agar kondisi
terpenuhi.

While Bersarang
Konsep dari perulangan while secara bersarang hampir sama dengan perulangan for
secara bersarang, keduanya mengakomodasi perulangan didalam while kemungkinan

Pemrograman Dasar Python | 15


ada perulangan while lebih dari sama dengan satu atau ada perulangan lain. Seperti
contoh berikut, didalam while ada perulangan while.

Contoh:
>>> x = 4
>>> y = 1
>>> while y <= x:
>>> j = 1
>>> while j <= y:
>>> print(j, end=” “)
>>> j += 1
>>> print()
>>> y += 1
1
1 2
1 2 3
1 2 3 4

Break
Fungsi break digunakan untuk menghentikan perulangan dengan mengakomodasi
kondisional statement. Contoh penggunaan break pada bahasa pemrograman Python
dapat dilihat sebagai berikut. (menghentikan perulangan apabila angka 5 didapat).
Contoh break pada for:
>>> for i in range(1,11):
>>> if i == 5:
>>> print("Angka 5 didapat")
>>> break
>>> print(i)
1
2
3
4
Angka 5 didapat

Angka 5 didapat

Pemrograman Dasar Python | 16


Contoh break pada while:
>>> i = 2
>>> while i < 10:
>>> if i == 4:
>>> print("angka 4 terambil")
>>> break
>>> print(i)
>>> i+=1
2
3
angka 4 terambil

Pass
Fungsi pass digunakan untuk membiarkan, atau tidak ada sesuatu yang akan dijalankan,
biasanya digunakan untuk inisialisasi kode program untuk terus berjalan, dengan tanpa
menghiraukan definisi kode yang ada. Seperti contoh berikut, pass digunakan untuk
inisialisasi agar program berjalan pada kode if.
>>> for i in range(6):
>>> if (i%2)==1 or (i==0):
>>> pass
>>> else:
>>> print("{} adalah bilangan genap".format(i))

Kemudian apabila kode pass dihilangkan, apa yang terjadi?


>>> for i in range(6):
>>> if (i%2)==1 or (i==0):
>>> else:
>>> print("{} adalah bilangan genap".format(i))

Continue
Fungsi continue berbeda dengan pass, continue digunakan untuk melompati proses yang
berjalan saat kondisi yang didefinisikan terpenuhi. proses saat itu akan dilompati dan
langsung kembali ke perulangan yang berada setelah proses perulangan tersebut, tanpa
menghiraukan operasi yang ada. Dalam bahasa pemrograman Python continue dapat
dilihat sebagai berikut.

Pemrograman Dasar Python | 17


>>> for i in range(10,15):
>>> if i == 13:
>>> continue
>>> print("ini continue")
>>> print("angka sekarang : ",i)
angka sekarang : 10
angka sekarang : 11
angka sekarang : 12
angka sekarang : 14

Pemrograman Dasar Python | 18


BAB 5
FUNCTION

Pada bahasa pemrograman Python, pendefinisian function selalu menggunakan def


diikuti oleh nama function, dilanjutkan dengan pendefinisian parameter yang diapit tanda
kurung. Kemudian baris dibawahnya berisi kode function yang digunakan untuk
menyelesaikan beberapa tujuan fungsionalitas. Setiap function umumnya memiliki nilai
kembalian hasil dari proses yang dihasilkan oleh function. Cara mengembalikan nilai
function biasanya menggunakan perintah return.

Kode penulisan function pada bahasa pemrograman Python secara umum dapat
dituliskan sebagai berikut:
def nama_function(parameter):
isi kode function ...
return object_variabel

Pendefinisian function diatas memiliki satu buah parameter, parameter function dapat
lebih dari satu (penuliskan dipisahkan dengan koma) seperti contoh dibawah.
def nama_function(parameter1, parameter2, parameter3):
isi kode function ...
return object_variabel

Selain itu function juga bisa tidak memiliki parameter satupun, seperti contoh penulisan
function tanpa parameter dibawah.
def nama_function():
isi kode function ...
return object_variabel

Pemrograman Dasar Python | 19


Berikut contoh function penjumlahan dari 2 angka, dengan nilai kembalian hasil yang ditulis
pada bahasa pemrograman python :
def tambah(angka1, angka2):
hasil = angka1 + angka2
return hasil

Variabel global, local, dan parameter


Variabel global adalah variabel yang dikenali oleh setiap function/method yang
didefinisikan. Variabel global biasanya didefinisikan di luar function/method. Berbeda
dengan variabel local, variabel local adalah kebalikan dari variabel global, variabel local
hanya dikenali pada function/method yang mendefinisikan variabel tersebut. Parameter
adalah variabel yang berada pada deklarasi function, umumnya parameter merupakan
variabel yang bersifat local, sehingga pada function tersebut parameter hanya dapat
dikenali sebagai variabel.
Dapat dilihat pada contoh berikut:
jumlah_persegi = 3

def luas_persegi(s):
luas = (s * s) * jumlah_persegi
return luas

def keliling_persegi(s):
keliling = (s * 4) * jumlah_persegi
return keliling

Dari definisi kode diatas, variabel jumlah_persegi adalah variabel global karena
didefinisikan di luar fungsi, jumlah_persegi tersebut dapat dikenali pada function
luas_persegi dan function keliling_persegi. Sedangkan variabel luas dan keliling adalah
variabel local, dikarenakan luas hanya dikenali pada function luas_persegi dan keliling
hanya dikenali pada function keliling_persegi. Setiap function tersebut memiliki satu buah
parameter yaitu s, nilai dari s hanya dikenali pada masing-masing function (karena s
adalah variabel local), jadi s pada function luas_persegi bisa saja mempunyai nilai yang
berbeda dengan s pada keliling_persegi.

Pemrograman Dasar Python | 20


BAB 6
PYTHON IDIOMS

Seorang Python Enthusiast harus “Smart”, definisi smart kali ini bukan hanya tertuju pada
kasus/masalah sudah bisa terselesaikan, akan tetapi lebih ke cara bagaimana kita bisa
menyelesaikan kasus tersebut, kita bergerak dengan cara yang rapi atau hanya asal asal-
asalan. Seperti halnya orang membangun rumah, apakah rumah yang dibangun cukup
hanya digunakan untuk berteduh dan tidur? Tidakkah dilihat dari segi estetika, bentuk,
warna, kesopanan sehingga menyatu menjadi wujud yang indah?

Python idioms merupakan salah satu kebanggaan yang dimiliki oleh Python Enthusiast,
didalam Python idiom tersebut programmer dilatih untuk bisa menerapkan style kode
yang rapi dan indah, sehingga kode program yang ditulis menjadi lebih enak dibaca dan
tanpa memerlukan banyak resource. Berikut ini dijelaskan beberapa Style dari Python
Idiom yang dapat kita terapkan.

1. Make a script both importable and executable using if __name__ == “__main__”:


(Membuat kode importable dan executable)
Bad
def main():
print(“Mengerjakan sesuatu dalam modul”, __name__)

print('Mengeksekusi dari command line')


main()

Good
def main():
print(“Mengerjakan sesuatu dalam modul”, __name__)

if __name__ == “__main__”:
print(“Mengerjakan sesuatu dalam modul”, __name__)
main()

Note: Doing stuff in module mymodule

Pemrograman Dasar Python | 21


2. Chained Comparison Operators (Operator perbandingan secara berantai)
Bad
if angka1 <= angka2 and angka2 <= angka3:
#do something

Good
if angka1 <= angka2 <= angka3:
#do something

3. Indentation and Semicolon (Penggunaan indentasi dan titik koma)


Bad
name = “Budi Budiman”; address = “Sleman”
if name: print(name)
print(address)

Good
name = "Budi Budiman"
address = "Sleman"
if name:
print(name)
print(address)

4. Use the Falsy and Truthy Concepts (Penggunakan konsep True False)
# Contoh Falsy : 0, “”, {}, []
# Contoh Truthy : 1, “Andi”, {“key”: “value”}, [“item1”, “item2”]

Bad
name = "Tono"
pets = ["Kucing", "Burung", "Anjing"]
owners = {"Tono": "Kucing", "Boni": "Burung"}
if name != “” and len(pets) > 0 and owners != {}:
print(“Kita Punya Hewan Peliharaan”)

Good
name = "Tono"
pets = ["Kucing", "Burung", "Anjing"]
owners = {"Tono": "Kucing", "Boni": "Burung"}
if name and pets and owners:
print("Kita Punya Hewan Peliharaan")

Note:
• Checking for truth doesn't tie the conditional expression to the type of object being checked.
• Checking for truth clearly shows the code's intention rather than drawing attention to a specific
outcome.

Pemrograman Dasar Python | 22


5. Using in possible contain or iteration

a. Melakukan pengecekan apakah ada karakter huruf atau data ada pada list
Bad
name = "Ronaldo"
if name.find("a") != -1:
print("Huruf a ada")

Good
name = "Ronaldo"
if “a” in name:
print("Huruf a ada")

Note:
• Using in to check if an item is in a sequence is clear and concise.
• Can be used on lists, dicts (keys), sets, strings, and your own classes by implementing the
__contains__ special method.

b. Melakukan iterasi data pada list


Bad
pets = ["Kucing", "Burung", "Anjing"]
i=0
while i < len(pets):
print('Seekor', pets[i], 'Mengejutkan')
i += 1

Good
pets = ["Kucing", "Burung", "Anjing"]
for pet in pets:
print('Seekor', pet, 'Mengejutkan')

Note:
• Using in to for iteration over a sequence is clear and concise.
• Can be used on lists, dicts (keys), sets, strings, and your own classes by implementing the
__iter__ special method.

6. Swap values without temp variable (pertukaran nilai tanpa variabel temporary)
Bad
x, y = 3, 5
print(x, y)
# 3, 5

temp = x
x=y
y = temp
print(x, y)
# 5, 3

Pemrograman Dasar Python | 23


Good
x, y = 3, 5
print(x, y)
# 3, 5

x, y = y, x
print(x, y)
# 5, 3

Note: Avoids polluting namespace with temp variable used only once.

7. Build strings using sequence


Bad
chars = ["B", "u", "d", "i"]
name = ""
for char in chars:
name += char
print(name)
# Budi

Good
chars = ["B", "u", "d", "i"]
name = “”.join(chars)
print(name)
# Budi

Note:
• The join method called on a string and passed a list of strings takes linear time based on length of
list.
• Repeatedly appending to a string using '+' takes quadratic time!

8. EAFP is preferable to LBYL

“It's Easier to Ask for Forgiveness than Permission.”


“Look Before You Leap”
Kebiasaan manusia:
Tidak mau berhati – hati terlebih dahulu.
Kalau sudah melakukan kesalahan baru meminta maaf.

Bad
you = {"jump": "whoaaa"}
if "jump" in you and \
isinstance(you["jump"], str) and \
you["jump"].isdigit():
value = int(you["jump"])
else:
value = None

Pemrograman Dasar Python | 24


Good
you = {"jump": "baaaa"}
try:
value = int(you['jump'])
except (KeyError, TypeError, ValueError):
value = None

Note:
• Throwing exceptions is not “expensive” in Python unlike e.g. Java.
• Rely on duck typing rather than checking for a specific type.

9. Using enumerate
Bad
names = ["Rani", "Riki", "Dana", "Aris"]
count = 0
for name in names:
print(count, name)
count += 1

Good
names = ["Rani", "Riki", "Dana", "Aris"]
for i, name in enumerate(names):
print(i, name)

10. Build lists using list comprehensions (Menciptakan list dengan list comprehensions)
Bad
data = [2, 4, 6, 8, 10]
result = []
for i in data:
if i > 5:
result.append(i * 3)
print(result)
# [18, 24, 30]

Good
data = [2, 4, 6, 8, 10]
result = [i * 3 for i in data if i > 5]
print(result)
# [18, 24, 30]

Note :
• Very concise syntax.
• Be careful it doesn't get out of hand (in which case the first form can be clearer).

Pemrograman Dasar Python | 25


11. Dan sisanya adalah:
a. while True:
break # This will spark discussion!!!
b. Generators and generator expressions.
c. Avoid from module import *
Prefer: import numpy as np; import pandas as pd
d. Use _ for “throwaway” variables e.g.:
for k, _ in [('a', 1), ('b', 2), ('c', 3)] dict.get() and
e. dict.setdefault()
f. collections.defaultdict
g. Sort lists using l.sort(key=key_func)

Pemrograman Dasar Python | 26

Anda mungkin juga menyukai