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

1 Python 1

Diunggah oleh

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

1 Python 1

Diunggah oleh

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

Modul Data Science - 1

Python
Untuk Pemula

Disusun oleh:

Tim Digitalskillarea

Editor: Muh. Luthfi

dsarea.com
PYTHON
Pengenalan Python .................................................................................. 2

Tipe Data ......................................................................................................... 6

Variabel........................................................................................................... 15

Ekspresi............................................................................................................ 18

String................................................................................................................ 23

List ..................................................................................................................... 36

Tuple ............................................................................................................... 43

Dictionary..................................................................................................... 49

Set ..................................................................................................................... 56

Seleksi Kondisi ........................................................................................... 65

Perulangan / Loop................................................................................... 73

Fungsi / Function ......................................................................................78

Numpy 1 Dimensi ..................................................................................... 84

Numpy 2 Dimensi.................................................................................... 92

1
Pengenalan Python

Python adalah salah satu bahasa pemrograman yang banyak digunakan untuk mengerjakan proyek data
science karena menyediakan banyak library. Library tersebut digunakan untuk mendukung berbagai
tugas seperti manipulasi dataframe, visualisasi, sampai membuat model machine learning. Sebelum
mempelajari penggunaan library, kita akan belajar tentang pemrograman dasar Python.

Mencetak output di Python


Baiklah, mari kita mulai!

Hal pertama yang harus dipahami bagi pemula saat belajar pemrograman adalah menulis skrip program
bagaimana menampilkan output/keluaran.

Untuk menampilkan suatu kalimat ataupun isi dari sebuah variabel di Python, Anda bisa
menggunakan sebuah fungsi yaitu print(). Mengimplementasikannya cukup mudah yaitu meletakkan
kalimat atau variabel yang ingin dicetak di dalam tanda kurung sebagai argumen fungsi print().

1 print("Hello There!")

Hello There!

1 print('Hello There!')

Hello There!

1 print(1000)

1000

Untuk menampilkan/mencetak sebuah kalimat atau non-variabel harus menggunakan tanda kutip yang
mengapit kalimat tersebut. Anda dapat menggunakan tanda kutip dua maupun tanda kutip satu tergantung
dengan kebutuhan Anda.

Selain fungsi print(), Anda juga dapat mencetak langsung seperti contoh di bawah ini.

1 "Hello There!"

'Hello There!'

1 'Hello There!'

2
'Hello There!'

1 1000

1000

Menulis komentar di Python


Dalam menulis kode program, sering kali membutuhkan penjelasan mengenai fungsi dari potongan kode
program tersebut. Sehingga Anda dapat menambahkan sebuah komentar bila diperlukan. Komentar pada
potongan kode program dapat membantu orang lain untuk dapat memahami kode program tersebut.
Selain itu, kita dapat memanfaatkan komentar untuk mengingat fungsi dari potongan kode program
tersebut di saat kita ingin melakukan perbaikan.

Sebelum Anda menambahkan komentar, Anda dapat menggunakan simbol # sebelum menulis komentar.
Python akan mengabaikan apapun yang tertulis setelah simbol # dalam satu baris tersebut.

1 print("Hello There!") # Kode ini berfungsi untuk menampilkan "Hello There!"


2 #print("Halo")

Hello There!

Setelah menjalankan cell di atas, kalimat # Kode ini berfungsi untuk menampilkan "Hello There!" yang
berada di satu baris dengan fungsi print() juga diabaikan oleh Python karena merupakan sebuah komentar
yang diawali dengan simbol # sebagai penjelasan untuk kode program pada baris tersebut.
Yang terakhir, kode #print("Halo") juga tidak dieksekusi oleh Python karena diawali dengan simbol # dan
dianggap sebagai komentar.

Menulis komentar panjang yang lebih dari satu baris

Menulis komentar panjang lebih dari satu baris dengan mengapit komentar tersebut dengan tiga tanda
kutip dua

1 """
2 Komentar panjang yang terdiri dari beberapa baris,
3 dapat ditulis dengan diapit oleh tiga tanda kutip dua
4 seperti ini.
5 """
6 print("Hello There!")

Hello There!

3
Contoh Error di Python
Dalam mengetik kode program, mungkin sering kali kita membuat kesalahan penulisan sehingga
menyebabkan hasil yang diharapkan tidak muncul. Setelah itu, Python akan memberikan pesan error yang
akan menunjukkan letak kesalahan tersebut. Jadi, pesan error tersebut dibaca baik- baik agar kita dapat
mengetahui dan memperbaiki kesalahan tersebut.

Sebagai contoh, Anda membuat kesalahan penulisan fungsi print() yang ditulis frint().

1 # contoh kesalahan penulisan


2 frint("Selamat Siang!")

NameError Traceback (most recent call last)


<ipython-input-28-876e4db88319> in <module>()
1 # contoh kesalahan penulisan
----> 2 frint("Selamat Siang!")

NameError: name 'frint' is not defined

Pada contoh di atas, pesan kesalahan tersebut di antaranya:

• Letak kesalahan pada baris ke-2 di cell tersebut yang ditunjukkan oleh tanda panah.

•Jenis error yang terjadi (NameError), dalam hal ini tertulis name 'frint' is not defined karena frint bukan
merupakan built-in function di Python.

Contoh berikutnya, misalnya kita lupa memberikan pasangan tanda kutip untuk mencetak string.

1 # contoh kesalahan syntax


2 print("Selamat Siang!)

File "<ipython-input-29-670576ad5157>", line 2


print("Selamat Siang!)
^
SyntaxError: EOL while scanning string literal

Python merupakan bahasa pemrograman yang case sensitive, jadi huruf kecil akan dianggap berbeda
dengan huruf besar. Contohnya saat menulis print dengan Print

1 # contoh kesalahan Print


2 Print("Selamat Pagi!")

4
NameError Traceback (most recent call last)
<ipython-input-30-0dd314888263> in <module>()
1 # contoh kesalahan Print
----> 2 Print("Selamat Pagi!")

NameError: name 'Print' is not defined

Mengecek Versi Python

Untuk mengetahui versi Python yang digunakan, kita dapat melihat pada pojok kanan atas Jupyter
Notebook. Selain itu, kita juga dapat mengeceknya menggunakan modul sys.

sys adalah sebuah modul bawaan Python yang berisi banyak parameter dan fungsi khusus sistem,
termasuk versi Python yang digunakan. Sebelum menggunakannya, kita harus mengimpornya
terlebih dahulu

1 import sys
2 print(sys.version)

3.7.13 (default, Apr 24 2022, 01:04:09)


[GCC 7.5.0]

5
Tipe Data

Di bab ini Anda akan belajar tentang tipe data dasar Python. Jika Anda pernah belajar pemrograman
lain sebelumnya, Anda pasti sudah tidak asing dengan tipe data dasar seperti string, integer, float, dan
boolean.

String merupakan representasi untuk karakter atau teks. Integer dan float merepresentasikan sebuah
bilangan di mana integer untuk bilangan bulat (misal: 0, 1, 30, -8) dan float untuk bilangan desimal (misal:
2.5, -54.0). Sementara itu, boolean merupakan tipe data yang memiliki dua nilai yaitu True dan False.

String

String adalah sekumpulan karakter atau huruf. Di Python, tipe data string ditulis str. Objek string berada
di dalam tanda kutip satu atau kutip dua, jadi semua karakter di dalam tanda kutip, seperti huruf, angka,
ataukarakter unik merupakan bagian dari string tersebut.

1 print('contoh string yang dibuat menggunakan kutip satu')

contoh string yang dibuat menggunakan kutip satu

1 print("contoh string yang dibuat menggunakan kutip dua")


contoh string yang dibuat menggunakan kutip dua

Pada contoh di atas, kita menampilkan string menggunakan built-in function Python yaitu print(). Bisa dilihat
bahwa penggunaan tanda kutip satu ataupun kutip dua sebagai batasan string tetap akan menghasilkan
output, jadi bisa pilih salah satu.

Menampilkan string tanpa menggunakan function print()

1 'ini adalah string tanpa menggunakan print() - 1'

'ini adalah string tanpa menggunakan print() - 1'

1 "ini adalah string tanpa menggunakan print() - 2"

'ini adalah string tanpa menggunakan print() - 2'

Dari output di atas, dapat dilihat bahwa jika mencetak string tanpa print() maka output yang ditampilkan
mengandung tanda kutip satu, meskipun kode yang dipakai menggunakan tanda kutip dua. String juga
dapat berisi karakter kosong.

1 print("")

6
1 print('')

1 ""

''

1 ''

''

Jika karakter kosong ditulis menggunakan fungsi print(), maka output yang dikeluarkan benar- benar
kosong tanpa tanda kutip. Sedangkan jika karakter kosong ditulis tanpa print(), outputnya hanya akan
menghasilkan tanda kutip satu.

Menampilkan string yang mengandung tanda kutip

Mungkin kita perlu menampilkan teks yang mengandung tanda kutip yang ditulis seperti menulis
string pada biasanya. Namun, itu akan menghasilkan error.
1 print('My father's clothes')

File "<ipython-input-40-f7e201236867>", line 1


print('My father's clothes')
^
SyntaxError: invalid syntax

1 print("I said, "good bye!" ")

File "<ipython-input-41-ed617463e815>", line 1


print("I said, "good bye!" ")
^
SyntaxError: invalid syntax

Setelah dijalankan, terdapat pesan SyntaxError yang menunjukkan bahwa penulisan sintaknya salah. Python
akan bingung karena ada tiga tanda kutip satu pada contoh pertama dan ada empat tanda kutip dua pada
contoh kedua.

Bagaimana mengatasinya?

Cara mengatasinya adalah jika ingin menampilkan tanda kutip satu, maka pembatas string yang digunakan
tanda kutip dua. Kemudian, jika ingin menampilkan tanda kutip dua, maka pembatas string-nya

7
menggunakan tanda kutip satu. Coba jalankan kode di bawah ini.

1 print("My father's clothes")

My father's clothes

1 print('I said, "welcome!" ')

I said, "welcome!"

Ada cara lain jika tanda kutip yang digunakan sebagai pembatas string dan yang ingin ditampilkan
sama, yaitu dengan menyisipkan backslash () sebelum tanda kutip yang ingin dicetak

1 print('My father\'s clothes')

My father's clothes

1 print("I said, \"good morning!\" ")

I said, "good morning!"

Integer

Integer merupakan tipe data untuk objek numerik berupa bilangan bulat positif dan negatif, misalnya
0, 1, 2, 3, dan seterusnya, serta -1, -2, -3, dan seterusnya

Untuk menampilkan output berupa integer bisa menggunakan fungsi print() atau langsung menuliskan
bilangannya.

1 print(123)

123

8
1 10

10

1 print(-27)

-27

Float

Float merupakan tipe data untuk objek numerik berupa bilangan desimal, baik positif atau negatif,
misalnya 1.4, 3.5, -2.876, -74.2, dan lainnya. Sama seperti penulisan kode untuk menampilkan integer, kita
tidak perlu membatasi bilangan float dengan tanda kutip.

1 print(0.1)

0.1

1 -1.2

-1.2

1 print(.50)

0.5

1 print(.23)

0.23

1 print(.5)

0.5

1 print(3.)

3.0

1 3.

3.0

1 print(1 == 2)

False

9
Boolean

Tipe data Boolean hanya memiliki dua nilai yaitu True dan False. Tipe data ini digunakan untuk
mengecek apakah suatu kondisi benar atau salah.

1 1 == 2

False

1 print(2 == 2)

True

1 2 == 2

True

1 print("Dia" == 'dia')

False

1 "Dia" == 'dia'

False

1 print('saya' == 'saya')

True

1 'saya' == 'saya'

True

Pada contoh 1, kita menuliskan 2 sama dengan 3 dan menghasilkan output False, berarti 2 memang
tidak sama dengan 3. Selanjutnya contoh 2, 4 sama dengan 4 menghasilkan output True karena
memiliki nilai yang sama.
Untuk contoh menggunakan string, "AKU" dan "aku" menghasilkan output False dan dianggap bukan
merupakan string yang memiliki nilai yang sama, artinya huruf besar tidak sama dengan huruf kecil.
Sementara contoh terakhir ditulis dengan huruf kecil dan menghasilkan nilai True karena memiliki nilai
yang sama.
Mengecek Tipe Data
Python memiliki fungsi type() yang berfungsi untuk memeriksa jenis tipe data.

1 type(1)

10
int

1 type(-1)

int

1 type(0.1)

float

1 type('ini buku')

str

1 type(1 == 2)

bool

1 type(False)

bool

Dari hasil output yang ditampilkan bahwa output dari fungsi type() adalah jenis tipe data dari objek
yang dimaksud.

Konversi Tipe Data

Mengonversi tipe data dari integer ke float. Mari cek terlebih dahulu tipe datanya.

1 type(1)

int

Konversi Integer ke Float dan sebaliknya


Untuk mengonversi bilangan integer ke float, kita dapat menggunakan fungsi float().

1 float(1)

1.0

Nah, sekarang kita cek tipe datanya.

1 type(float(1))

float

11
Saat mengonversi integer ke float, nilai yang dihasilkan tidak berubah. Namun berbeda saat
melakukan konversi dari float ke integer. Hasil konversi float ke integer mungkin akan
menghilangkan sedikit informasi dari bilangan tersebut, karena hasilnya akan dibulatkan.

Untuk mengonversi float ke integer, gunakan fungsi int().

1 int(2.3)

1 int(-2.7)

-2

1 int(76.75)

76

Konversi String ke bilangan (Integer atau Float)


Terkadang kita perlu mengonversi string menjadi integer atau float agar dapat dilakukan operasi aritmatika.

1 int('12')

12

1 int('-1')

-1

1 float('11.2')

11.2

1 float('-11.2')

-11.2

Untuk mengonversi string ke integer atau float, kita harus memasukkan angka saja sebagai argumen
seperti pada contoh di atas. Jika string yang akan dikonversi mengandung selain angka, akan
menyebabkan error.

1 int('15 derajat')

ValueError Traceback (most recent call last)


<ipython-input-80-531cd71f34fa> in <module>()

12
----> 1 int('15 derajat')

ValueError: invalid literal for int() with base 10: '15 derajat'

1 float('1.5 dan 2.5')

ValueError Traceback (most recent call last)


<ipython-input-81-c7b4990a9a91> in <module>()
----> 1 float('1.5 dan 2.5')

ValueError: could not convert string to float: '1.5 dan 2.5'

Konversi bilangan (Integer dan Float) ke String


Untuk mengonversi bilangan menjadi string, gunakan fungsi str().

1 str(-123)

'-123

1 str(123)

'123'

1 str(12.34)

'12.34'

Konversi Boolean ke bilangan (Integer atau Float) dan Sebaliknya

Untuk mengonversi nilai True menjadi integer atau float, maka hasilnya adalah nilai 1 atau 1.0,
sedangkan False akan menghasilkan nilai 0 atau 0.0. Sebaliknya, jika mengonversi angka 1 ke tipe
boolean, hasilnya bernilai True, sedangkan angka 0 akan bernilai False. Untuk konversi ketipe boolean,
gunakan fungsi bool()

1 int(True)

1 int(False)

1 float(True)

1.0

1 float(False)

0.0

13
1 bool(1)

True

1 bool(0)

False

1 bool(1.0)

True

1 bool(0.0)

False

14
Variabel

Variabel adalah sebuah wadah untuk menampung data yang memiliki nilai yang dinamis atau dapat
berubah-ubah. Pada bahasa Python, variabel tidak perlu dideklarasikan di awal seperti pada bahasa
pemrograman lain.

Inisialisasi Variabel

Inisialisasi variabel hanya menggunakan tanda sama dengan (=)..

1 a = 5
2 print(5)

Pada bab sebelumnya, kita dapat mencetak nilai variabel tanpa menggunakan fungsi print().

1 a

Nilai dalam variabel juga bisa diganti.

1 a = 1000
2 a

1000

Sebelumnya variabel a bernilai 5, kemudian memberikan nilai baru pada variabel a dengan 1000. Setelah
menjalankan kode program kembali, output yang dihasilkan adalah 1000. Hal Itu dikarenakan variabel a
sebelumnya yang bernilai 10 ditimpa dengan nilai variabel yang memiliki nilai 1000.
Nilai sebuah variabel bisa diganti dengan tipe data yang berbeda.

1 var = 1.18
2 print(var)

1.18

1 var = "Ganti menjadi string"


2 print(var)

Ganti menjadi string

Variabel var sebelumnya bernilai 1.18 yang bertipe data float, selanjutnya isi variabel var diganti
menjadi sebuah string. Nilai variabel yang digunakan adalah nilai yang diinisialisasi paling terakhir.
Apabila ingin menggunakan kembali variabel dengan nilai sebelumnya, inisialisasi kembali dengan nilai
sebelumnya.

15
Memberi nilai beberapa variabel dengan nilai yang sama
Membuat dua atau lebih variabel dengan nilai yang sama dengan hanya satu baris kode.

1 a = b = c = 1000

Menampilkan output dari ketiga variabel dengan fungsi print(). Hasilnya akan mengeluarkan output
yang sama.

1 print(a, b, c)

1000 1000 1000

Bisa kita lihat bahwa variabel a, b, dan c memiliki nilai 100. Nah, misalnya kita ingin mengubah nilai dari
salah satu variabel tersebut.

1 c = 200

Kemudian tampilkan dan nilai variabel c menjadi 200.

1 print(a, b, c)

1000 1000 200

Aturan Penamaan variabel

Nama variabel yang telah digunakan sebelumnya adalah nama variabel yang pendek seperti x, a, b, dan
lainnya. Namun, pada kenyataannya nama variabel dapat lebih panjang yang merujuk pada
penggunaannya agar lebih mudah dimengerti. Misalnya jika ingin membuat variabel yang memiliki nilai
mahasiswa, kita dapat menamai variabel misalnya nilaiMhs atau nilai_mhs.

1 nama_mhs = 'Sinta'
2 matkul_mhs = 'Kalkulus'
3 nilai_mhs = 90
4
5 print(nama_mhs, matkul_mhs, nilai_mhs)

Sinta Kalkulus 90

Nama variabel tidak boleh diawali dengan angka.

1 100x = 10

File "<ipython-input-103-fafc3eccf82f>", line 1


100x = 10
^
SyntaxError: invalid syntax

16
Perlu diingat bahasa Python sangat sensitif, karena itu huruf besar dan huruf kecil tidak memiliki nilai yang
sama.

1 nilai = 10
2 Nilai = 20
3 NILAI = 30
4 print(nilai, Nilai, NILAI)

10 20 30

Meskipun dibaca "nilai", namun tiga variabel tersebut berbeda. ‘nilai’ tidak sama dengan ‘NILAI’ ataupun
‘Nilai’.

Kata-kata yang tidak boleh digunakan sebagai nama variabel


Ada beberapa kata yang tidak boleh digunakan sebagai variabel , misalnya True dan False yang
merupakan nilai untuk tipe data boolean. Kita dapat mengecek keyword Python yang tidak bisa
digunakan sebagai nama variabel.

1 help("keywords")

Here is a list of the Python keywords. Enter any keyword to get more help.

False class from or


None continue global pass
True def if raise
and del import return
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
break for not

Jadi, ketika melakukan inisialisasi variabel menggunakan salah satu kata di atas, maka akan terjadi
error.

1 if = 4

File "<ipython-input-106-6bf3167568fd>", line 1


if = 4
^
SyntaxError: invalid syntax

17
Ekspresi
Pada bab ini, akan membahas tentang ekspresi di Python termasuk di dalamnya akan dibahas operasi
aritmatika yang mencakup penjumlahan, pengurangan, perkalian, pembagian, modulo, dan lainnya.

Ekspresi adalah rangkaian operand dan operator seperti a + b atau a + b – 4 atau 20 * 2. Operator
adalah simbol yang digunakan untuk operasi aritmatika, sedangkan operand adalah nilai yang
dieksekusi oleh operator tersebut yang dapat berupa variabel atupun sebuah nilai yang berupa angka.

Simple Expression
Operasi Penjumlahan
Operasi penjumlahan di Python menggunakan operator +.

1 12 + 23

35

1 12 + 34 + 45

91

1 x = 10

1 y = 20

1 x + y # Ekspresi penjumlahan dengan operand berupa variabel

30

Operasi Pengurangan
Operasi pengurangan di Python menggunakan operator -.

1 x + y + 25 # Ekspresi penjumlahan dengan operand berupa variabel dan angka

55

1 10 - 5

1 100 - 25 -10

65

18
1 x = 20

1 y = 10

1 x - y # Ekspresi pengurangan dengan operand berupa variabel

10

1 x - y - 2 # Ekspresi pengurangan dengan operand berupa variabel dan angka

Operasi Perkalian
Operasi perkalian di Python menggunakan operator *.

1 2 * 2

1 2 * 2 * 5

20

1 x = 20
2 y = 10
3 x * y

200

1 x * 5 # Ekspresi perkalian dengan operand berupa variabel

100

Operasi Pembagian

Operasi pembagian di Python menggunakan operator /.

1 10 / 2

5.0

1 10 / 2 /5

1.0

19
1 x = 20
2 y = 10
3 x / y # Ekspresi pembagian dengan operand berupa variabel dan angka

2.0

1 x / 5 # Ekspresi pembagian dengan operand berupa variabel dan angka

4.0

Operasi Sisa Hasil Bagi (Modulo)

Operasi sisa hasil pembagian atau modulo dapat menggunakan operator %.

1 10 % 2

1 10 % 4

1 x = 20
2 y = 10
3 x % y # Ekspresi modulo dengan operand berupa variabel

1 x % 3 # Ekspresi modulo dengan operand berupa variabel dan angka

Operasi Pembagian dengan Pembulatan ke Bawah


Operasi pembagian dengan pembulatan ke bawah dapat menggunakan operator //.

1 10 // 4

1 20 // 5

1 x = 20
2 y = 10
3 x // y

20
2

1 9 // 4

1 9 // -4

-3

Operasi Eksponensial

Operasi eksponensial atau pangkat dapat menggunakan operator **.

1 2 ** 3 # Dua pangkat Tiga

1 x = 10
2 y = 2
3 x ** y # x pangkat y

100

1 x ** 3

1000

1 5 ** y

25

Complex Expression
Kita dapat membuat ekspresi yang kompleks, seperti perhitungan nilai rata-rata atau perhitungan
gabungan berbagai operator lainnya.

1 (10 + 15) * 8 / 4

50.0

1 x = 10
2 (x - 20) * (5 / x)

-5.0

21
1 nilai_akhir = (60 + 35 + 70 + 55) / 5
2 nilai_akhir

44.0

1 (30 ** 2) / 17 + 100

152.94117647058823

Aturan perhitungan di Python sama dengan matematika biasa

Perhitungan di Python juga mengikuti aturan yang sama dengan perhitungan matematika. Misalnya
mendahulukan perhitungan yang berada di dalam tanda kurung () dan mendahulukan proses perkalian dan
pembagian dibandingkan penjumlahan dam pengurangan.

1 20 / (4 - 2)

10.0

1 20 / 4 - 2

3.0

1 a = 10
2 b = 2
3 c = 3
4 (a + b) * c

36

1 a + b * c

16

Dari beberapa hasil blok kode di atas, hasil dari 20 / (4 - 2) akan menghasilkan output yang berbeda
dengan 20/4-2.

Pada contoh berikutnya, output dari (a+b)c juga memiliki hasil yang berbeda dengan a+b*c

22
String

String adalah salah satu tipe objek di Python yang berupa teks atau karakter. Implementasinya harus diapit
oleh dua tanda kutip, bisa menggunakan tanda kutip satu ataupun tanda kutip dua.

Contoh String

1 "Terima kasih" # Contoh string yang menggunakan tanda kutip dua

'Terima kasih'

1 'Terima kasih' # Contoh string yang menggunakan tanda kutip satu

'Terima kasih'

1 '&% ^()#_5?! +-@*' # Contoh string berupa karakter dan spasi


'&% ^()#_5?! +-@*'

1 "123" # Contoh string yang menggunakan tanda kutip dua

'123'

Bilangan yang bernilai sebagai string, tidak dapat diproses untuk perhitungan aritmatika. Kita juga dapat
menggunakan fungsi print() untuk mencetak string.

1 print('Terima kasih')

Terima kasih

String juga dapat dimasukkan ke dalam sebuah variabel.

1 kota = 'Bogor'
2 kota

'Bogor'

Operasi String

Menggabungkan string
String dapat digabung menggunakan operator +. Lihat contoh di bawah ini

1 nama = 'Alvin'
2 'Nama saya ' + nama

23
'Nama saya Alvin'

1 sambutan = 'Terima kasih'


2 nama = 'Alex'
3 sambutan + ', ' + nama

'Terima kasih, Alex'

1 pernyataan = nama + ' is the best'


2 pernyataan

'Alex is the best'

Menduplikasi string
String dapat diduplikasi menggunakan operator * seperti pada contoh di bawah ini.

1 s = "Jeruk"
2 2 * s

'JerukJeruk'

1 s * 5

'JerukJerukJerukJerukJeruk'

1 'Mangga ' * 5

'Mangga Mangga Mangga Mangga Mangga '

Bilangan yang dikali dengan string harus berupa bilangan integer positif. Angka 0 maupun bilangan
negatif sebagai pengali akan menghasilkan karakter kosong.

1 s * 0

''

1 -9 * s

''

Mengecek keberadaan string (apakah ada?)


Operator in digunakan untuk mengecek apakah suatu karakter termasuk ke dalam anggota suatu
string. Output yang akan dihasilkan berupa Boolean yaitu True atau False.

24
1 a = "mangga"
2
3 a in "semangka, nanas, jambu, mangga"

True

1 b = "jeruk"
2 buah = "semangka, nanas, jambu, mangga"
3
4 b in buah

False

1 'j' in 'cristiano ronaldo'

False

1 's' in 'cristiano ronaldo'

True

Mengecek keberadaan string (apakah tidak ada?)


Operator not in berfungsi untuk mengecek keberadaan karakter yang tidak termasuk ke dalam string
dan menghasilkan nilai True. Jika karakter tersebut berada di dalam string, akan menghasilkan nilai
False

1 a = "apel"
2
3 a not in "semangka, nanas, jambu, mangga"

True

1 a = "jeruk"
2
3 a not in "semangka, nanas, jambu, mangga"

True

1 'j' not in 'cristiano ronaldo'

True

1 's' not in 'cristiano ronaldo'

False

25
Indexing

String terdiri dari rentetan karakter. Kita dapat mengakses karakter di dalam string menggunakan indeks
yang direpresentasikan oleh bilangan integer. Indeks string dimulai dari 0. Spasi yang berada di dalam
string juga termasuk karakter dan ikut terindeks.

2 prov[0]

'D'

1 print(prov[1])

1 prov[2]

'I'

1 prov[7]

'a'

Negative Indexing
Negative indexing digunakan apabila ingin mengambil isi indeks dari bagian belakang.

1 prov[-2]

't'

26
1 prov[-10]

'K'

Slicing
Mengambil beberapa karakter pada string dengan menggunakan slicing.

Angka pertama adalah indeks untuk memulai memotong, sedangkan angka kedua adalah indeks
terakhir yang ingin dipotong ditambah 1.

Jika kita ingin mengambil kata "DKI" yang berada di indeks 0-2, penulisan kode adalah provinsi[0:3]. Jika
penulisan kode adalah provinsi[0:2], maka yang terambil hanya "DK".

1 prov[0:2]

'DK'

1 prov[0:1]

'D'

1 prov[3:9]

' Jakar'

1 prov[4:9]

'Jakar'

Stride

Stride adalah cara untuk mengambil beberapa karakter dengan langkah yang diinginkan. Misalnya,
mengambil string dengan diloncat satu karakter alias setiap dua langkah

27
Apabila ingin menerapkannya pada seluruh karakter pada string, penulisan kode dapat seperti pada blok
kode di bawah ini. Angka 2 sebagai jumlah langkah yang ingin diambil.

1 prov[::3] # Contoh lain mengambil karakter setiap tiga langkah

'D kt'

Namun, jika hanya ingin mengambil karakter pada potongan string tertentu dengan langkah tertentu,
misalnya mengambil hanya dari kata "Jakarta", kita dapat menulis kodenya seperti ini.

1 prov[2:11:3] # Mengambil karakter dari indeks 2-10 dengan 3 langkah

'Iar'

Atau jika sampai akhir string, kita bisa tidak menuliskan angka yang di tengah yang merupakan angka
untuk menyatakan batas akhirnya.

1 prov[2::3] # Mengambil karakter dari indeks 2 sampai akhir dengan 3 langkah

'Iar'

Jika ingin mengambil dari awal string, namun dengan batas akhir tertentu, angka pertama bisa tidak
ditulis.

1 prov[:5:3] # Mengambil karakter dari indeks pertama hingga indeks 4 dengan 3

'D '

Selain dua langkah, kita bisa menentukan berapa pun langkah yang diinginkan.

1 prov[::2] # Mengambil karakter setiap dua langkah

28
'DIJkra'
Built-in function yang dapat digunakan pada string
Bahasa pemrograman Python menyediakan built-in function yang dapat memudahkan dalam penulisan
kode program. Terdapat empat built-in function yang digunakan untuk memproses string.

Konversi karakter menjadi integer dengan ord()


ord() berfungsi untuk menghasilkan sebuah nilai integer berupa kode ASCII dari sebuah karakter.

Setiap karakter di komputer memiliki angka unik masing-masing. Fungsi ord() berfungsi untuk
menampilkan kode ASCII dari sebuah karakter

1 ord('b') # Kode ASCII untuk b

98

1 ord('!') # Kode ASCII untuk !

33

1 ord('*') # Kode ASCII untuk *

42

Konversi integer menjadi karakter dengan chr()

chr() berfungsi untuk menghasilkan sebuah karakter dari kode ASCII.

Fungsi chr() menghasilkan karakter yang merupakan representasi dari kode ASCII yang
dimasukkan.

1 chr(95) # Karakter dengan kode ASCII 95

'_'

1 chr(113) # Karakter dengan kode ASCII 113

'q'

1 chr(35) # Karakter dengan kode ASCII 35

'#'

29
Menghitung panjang string dengan len()

len() berfungsi untuk menghasilkan panjang dari sebuah string.

Fungsi len() menghitung jumlah karakter pada string, termasuk spasi, dan menampilkan outputnya
dalam bentuk bilangan integer.

1 len('Alex')

1 len(' ')

Konversi objek bilangan menjadi string dengan str()

Fungsi str() berfungsi untuk menghasilkan bentuk string dari sebuah objek

1 str(20.8)

'20.8'

1 str(20 + 28)

'48'

Pada contoh pertama, nilai yang didefinisikan akan diubah menjadi string. Pada contoh kedua,
penjumlahan bilangan integer akan dieksekusi terlebih dahulu sebelum hasilnya dikonversi menjadi
string.

Jika objek sudah berupa string, maka tetap bertipe data string seperti contoh di bawah ini

1 str('hello')

'hello'

Method yang dapat digunakan pada string

Konversi string menjadi huruf kecil


.lower() berfungsi untuk mengubah string menjadi huruf kecil.

30
1 a = "Belajar bahasa pemrograman Python"
2 print("sebelum : ", a)
3 b = a.lower()
4 print("sesudah : ", b)

sebelum : Belajar bahasa pemrograman Python


sesudah : belajar bahasa pemrograman python

1 "JAVASCRIPT".lower()

'javascript'

1 kota = 'Bogor'
2 kota.lower()

'bogor'

Konversi string menjadi huruf besar (kapital)

.upper() berfungsi untuk mengubah string menjadi huruf besar atau huruf kapital.

1 a = "Belajar bahasa pemrograman Python"


2 print("sebelum : ", a)
3 b = a.upper()
4 print("sesudah : ", b)

sebelum : Belajar bahasa pemrograman Python


sesudah : BELAJAR BAHASA PEMROGRAMAN PYTHON

1 "JAVASCRIPT".upper()

'JAVASCRIPT'

1 kota = 'Bogor'
2 kota.upper()

'BOGOR'

Mengganti string tertentu dengan string lainnya

.replace() berfungsi untuk mengganti nilai string. Terdapat dua argumen yang harus didefinisikan,
argumen pertama adalah string yang akan diubah dan argumen kedua adalah string pengganti.

1 a = "Belajar HTML"
2 a.replace("HTML", "Javascript")

31
'Belajar Javascript'

Anda juga dapat mengubah seluruh string.

1 a = "Belajar Python"
2 b = "Saya tertarik dengan machine learning"
3 a = a.replace(a, b) # Memasukkan hasil replace ke variabel a
4 a

'Saya tertarik dengan machine learning'

Mencari posisi sub-string tertentu

.find() berfungsi untuk mencari keberadaan sub-string tertentu. Argumen dari method .find() adalah
substring yang akan dicari.

1 kota = 'DKI Jakarta'


2 kota.find('DK')

1 kota.find('arta')

1 kota.find('I')

Jika sub-string yang dicari tidak ditemukan, maka akan menghasilkan output -1.

1 kota.find('Jakrta')

-1

32
Menghitung jumlah sub-string tertentu
.count() berfungsi untuk menghitung jumlah sub-string tertentu yang terdapat pada string.

1 text = "Monas adalah maskot DKI Jakarta."


2 text.count("Jakarta")

1 jumlah_o = text.count('o')
2 print(jumlah_o)

1 "Bogor".count('o')

Mengecek apakah string diakhiri dengan karakter tertentu


.endswith() berfungsi untuk mengecek apakah suatu string diakhiri karakter atau sub-string tertentu.
.endswith() akan menghasilkan output berupa boolean yang bernilai True atau False

1 text = "Monas adalah maskot DKI Jakarta."


2 text.endswith(".")

True

1 text.endswith("Jakarta")

False

1 text = "Selamat ulang tahun"


2 text.endswith("tahun")

True

Mengubah huruf pertama string menjadi huruf kapital


.capitalize() berfungsi untuk mengubah huruf pertama dalam sebuah string menjadi huruf kapital

1 teks = "selamat ulang tahun!"


2 teks.capitalize()

'Selamat ulang tahun!'

33
1 "saya akan datang".capitalize()

'Saya akan datang'

Escape Sequence

Escape sequence adalah karakter yang tidak dapat ditulis secara langsung karena termasuk sulit untuk
direpresentasikan. Mengimplementasikannya dengan menggunakan backslash \ yang disertai representasi
karakternya.

Newline
Untuk membuat newline atau baris baru dapat menggunakan \n

1 print('Hari ini makan nasi \n dengan ayam goreng.')

Hari ini makan nasi


dengan ayam goreng.

1 print("Dia sangat pandai \ndan disiplin.")

Dia sangat pandai


dan disiplin.

Tab

Untuk membuat tab dapat menggunakan \t.

1 print('Hari ini makan nasi \t dengan ayam goreng.')

Hari ini makan nasi dengan ayam goreng.

1 print('Dia sangat pandai \tdan disiplin')

Dia sangat pandai dan disiplin

Backslash

Menampilkan backslash tidak bisa dilakukan secara langsung tetapi menggunakan backslash di depannya
sehingga akan ada double backslash \.

1 print('Hari ini makan nasi \\ dengan ayam goreng.')

34
Hari ini makan nasi \ dengan ayam goreng.

1 print('Dia sangat pandai \\dan disiplin')

Dia sangat pandai \dan disiplin

35
List
List mirip dengan array namun lebih fleksibel. List digunakan untuk menyimpan koleksi data dalam
berbagai tipe data seperti string, integer, float, dan sebagainya. Selain itu, dapat menyimpan data berupa
list di dalam sebuah list.

Pada bahasa Python, List didefinisikan dengan menggunakan kurung siku [] dan setiap elemen di dalam
list dipisahkan oleh koma.

1 x = [1, 2, 3]
2 print(x)

[1, 2, 3]

1 vegetables = ['carrot', 'cucumber', 'potato']


2 print(vegetables)

['carrot', 'cucumber', 'potato']

List juga dapat berisi objek dengan berbagai tipe data.

1 y = ['Doe', 21, False, 2.1]


2 print(y)

['Doe', 21, False, 2.1]

Mengakses List

Indexing
Indexing pada list sama dengan indexing pada string. Indexing dimulai dari angka 0 dan

seterusnya, atau bisa juga menggunakan negative indexing seperti pada gambar berikut.

Untuk mengakses isi list dapat menuliskan nama list disertai dengan kurung siku yang berisi nomor
indeks.

1 # Contoh lain
2
3 vegetables = ['carrot', 'cucumber', 'potato']
4 vegetables[1]

'cucumber'

36
1 vegetables[-1]

'potato'

1 print(vegetables[2])

potato

Slicing
Slicing atau memotong list untuk mengambil bagian tertentu.

1 vegetables = ['carrot', 'cucumber', 'spinach','cabbage','beans']


2 vegetables[0:3]

['carrot', 'cucumber', 'spinach']

1 vegetables[0:1]

['carrot']

1 print(vegetables[2:4])

['spinach', 'cabbage']

Stride

1 vegetables = ['carrot', 'cucumber', 'spinach','cabbage','beans']

1 vegetables[::4]

['carrot', 'beans']

1 vegetables[0::3]

['carrot', 'cabbage']

1 vegetables [1:2:2]

['cucumber']

Nested List

Sebuah list dapat berisi list disebut nested list atau list bersarang

37
1 a = [[1, 2], [3,4], [5,6]]
2 a

[[1, 2], [3, 4], [5, 6]]

List m mengandung tiga sub-list. Lihat ilustrasinya di bawah ini.

List yang berisi list juga dapat digabung dengan tipe data lain.

1 b = [1, 'carrot', ['x', 'y'], 10.5, [10, 30]]


2 print(b)

[1, 'carrot', ['x', 'y'], 10.5, [10, 30]]

Mengakses nested list

Untuk mengambil elemen list yang berada di dalam list, membutuhkan dua indeks. Indeks pertama dari list
di dalam list n, indeks kedua adalah elemen yang ada di dalam list. Misalnya mengambil nilai a.

1 # Contoh lain
2
3 b = [1, 'carrot', ['a', 'b'], 10.5, [10, 30]]
4 b[4][1]

30

1 b[4][0]

38
10

1 b[2][1]

'b'

1 b[2][0]

'a'

Manipulasi List

List dapat dimanipulasi seperti mengubah elemen list pada indeks tertentu, menambah elemen list, dan
menghapus elemen list.

Mengubah elemen list

Contohnya kita akan mengubah nilai dari list vegetables.

1 vegetables = ['carrot', 'cucumber', 'spinach','cabbage','beans']


2 vegetables

['carrot', 'cucumber', 'spinach', 'cabbage', 'beans']

Misalnya, mengubah nilai cabbage menjadi brocoli.

1 vegetables[3] = 'brocoli' # Mengubah isi indeks 3 menjadi 'brocoli'


2 vegetables

['carrot', 'cucumber', 'spinach', 'brocoli', 'beans']

Menambah/menggabungkan list

Menambah elemen baru pada list dapat menggunakan operator + atau dengan fungsi bawaan Python.

Operator +

Operator + digunakan untuk menambahkan elemen baru di awal maupun akhir list.

1 # Menambahkan nilai 1 dan 2 pada akhir list vegetables


2 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']
3 vegetables = vegetables + [1, 2]
4 vegetables

['carrot', 'asparagus', 'spinach', 'brocoli', 'beans', 1, 2]

39
1 # Menambahkan 'cabbage' pada awal list vegetables
2 vegetables = ['cabbage'] + vegetables
3 print(vegetables )

['cabbage', 'carrot', 'asparagus', 'spinach', 'brocoli', 'beans', 1, 2]

Menggunakan method

Ada 3 method untuk menambahkan item baru pada list, yaitu append(), extend(), insert().

append()

append() digunakan untuk manipulasi list yang digunakan untuk menambahkan elemen baru di akhir list.

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 vegetables.append('cabbage')
3 vegetables

['carrot', 'asparagus', 'spinach', 'brocoli', 'beans', 'cabbage']

Fungsi append(), hanya memodifikasi list di list itu sendiri dan tidak bisa menghasilkan list baru.

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 a = vegetables.append('cabbage')
3 a

vegetables.append('cabbage') dimasukkan ke dalam list baru yaitu a. Saat menampilkan isi dari list a, tidak
akan keluar hasil apapun.

extend(< iterable >)


Method extend() berfungsi untuk menambahkan elemen baru pada list secara individual. Jadi, elemen
yang di letakkan di dalam tanda kurung akan dipisahkan per karakter.

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 vegetables.extend('cabbage')
3 print(vegetables)

['carrot', 'asparagus', 'spinach', 'brocoli', 'beans', 'c', 'a', 'b', 'b', 'a', 'g',

Dengan membatasi string tersebut dengan tanda kurung siku [] akan menampilkan isi list yang tidak
terpisah secara individual.

40
1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']
2 vegetables.extend(['cabbage'])
3 print(vegetables)

['carrot', 'asparagus', 'spinach', 'brocoli', 'beans', 'cabbage']

insert(< index >, < object >)

Method insert() digunakan untuk menyisipkan elemen baru di list pada indeks tertentu. Misalnya
menambahkan nilai cabbage pada indeks ke 1.

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 vegetables.insert(1, 'cabbage')
3 print(vegetables)

['carrot', 'cabbage', 'asparagus', 'spinach', 'brocoli', 'beans']

Menghapus elemen list

Command del digunakan untuk menghapus elemen atau item di list.

Menggunakan perintah (del)


Perintah del digunakan untuk menghapus list berdasarkan indeks . Misalnya, menghapus item pada
indeks ke 2.

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 del vegetables[2]
3 vegetables

['carrot', 'asparagus', 'brocoli', 'beans']

Menggunakan method

Ada 2 method yang digunakan untuk menghapus elemen list, yaitu remove() dan pop().

remove(< object >)

Method remove() untuk menghapus item di dalam sebuah list berdasarkan nama item atau elemen
tersebut.

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 vegetables.remove('brocoli')
3 vegetables

['carrot', 'asparagus', 'spinach', 'beans']

41
pop(< index >)

Method pop() untuk menghapus elemen list berdasarkan indeks

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 vegetables.pop(2)
3 vegetables

['carrot', 'asparagus', 'brocoli', 'beans']

pop()

Method pop() untuk menghapus objek atau elemen paling akhir yang ada di dalam list.

1 vegetables = ['carrot', 'asparagus', 'spinach','brocoli','beans']


2 vegetables.pop()
3 vegetables
['carrot', 'asparagus', 'spinach', 'brocoli']

42
Tuple
Tuple adalah sekumpulan objek yang terurut. Objek-objek pada tuple bisa berupa berbagai tipe data seperti
string, integer, float, ataupun tuple itu sendiri.

Tuple hampir sama dengan list, tuple bersifat immutable dan tidak dapat diubah isinya. Jadi, tidak dapat
menambahkan elemen baru pada tuple, maupun menghapus dan mengubah nilai elemen di dalam tuple.
Tuple didefinisikan menggunakan tanda kurung ().

1 nama = ('Ahmad', 'Budi', 'Cahyo', 'Dwi', 'Eka')


2 nama

('Ahmad', 'Budi', 'Cahyo', 'Dwi', 'Eka')

1 buat_tuple = ('Ahmad', 20, 60000, 3.5)


2 buat_tuple

('Ahmad', 20, 60000, 3.5)

Mengakses tuple

Indexing

1 buat_tuple = ('Ahmad', 20, 60000, 3.5)


2 buat_tuple[1]

20

1 print(buat_tuple[0])
2 print(buat_tuple[1])
3 print(buat_tuple[2])
4 print(buat_tuple[3])

Ahmad
20
60000
3.5

Akses tuple menggunakan negative indexing dalam mengakses elemen tuple yang dimulai dari -2 untuk
elemen paling belakang.

43
1 buat_tuple[-2]

60000

1 print(buat_tuple[-1])
2 print(buat_tuple[-2])
3 print(buat_tuple[-3])
4 print(buat_tuple[-4])
5

3.5
60000
20
Ahmad

Slicing

Slicing tuple untuk mendapatkan elemen dengan range indeks tertentu

1 buat_tuple = ('Ahmad', 20, 60000, 3.5)


2 buat_tuple[0:2]

('Ahmad', 20)

Mengambil dua elemen terakhir pada tuple buat_tuple

1 buat_tuple[1:4]

(20, 60000, 3.5)

atau bisa tidak memasukkan angka setelah tanda titik dua :.

1 buat_tuple[2:]

(60000, 3.5)

Mengakses elemen mulai dari indeks 0 sampai indeks tertentu dengan tidak menuliskan angka pertama
sebelum titik dua :.

1 buat_tuple[:2]

('Ahmad', 20)

Nested Tuple

Nested tuple atau tuple bersarang berisi tuple lain di dalam tuple.

44
1 nested_tuple = ('Ahmad', 'Budi', (1, 2, 3), ('Cahyo', (4, 'Dwi')), 5)
2 nested_tuple

('Ahmad', 'Budi', (1, 2, 3), ('Cahyo', (4, 'Dwi')), 5)

1 # print elemen dari masing-masing indeks


2 print('elemen 0: ', nested_tuple[0])
3 print('elemen 1: ', nested_tuple[1])
4 print('elemen 2: ', nested_tuple[2])
5 print('elemen 3: ', nested_tuple[3])
6 print('elemen 4: ', nested_tuple[4])

elemen 0: Ahmad
elemen 1: Budi
elemen 2: (1, 2, 3)
elemen 3: ('Cahyo', (4, 'Dwi'))
elemen 4: 5

Mengakses nested tuple


Cara mengakses elemen yang berada di dalam nested tuple

1 nested_tuple[2][1] # Mengakses elemen kedua pada nested tuple (1, 2, 3)

1 nested_tuple[3][1][1]

'Dwi'

1 print('elemen 3, 1, 0 adalah', nested_tuple[3][1][0])


2 print('elemen 3, 1, 1 adalah', nested_tuple[3][1][1])

elemen 3, 1, 0 adalah 4
elemen 3, 1, 1 adalah Dwi

Operasi tuple

Sorting tuple

Fungsi sorted() untuk mengurutkan elemen di tuple.

1 bilangan = (4, 1, 5, 2, 7, 8)

Selain itu, dapat dimasukkan ke dalam variabel baru.

45
1 bilangan_sorted = sorted(bilangan)
2 bilangan_sorted

[1, 2, 4, 5, 7, 8]

Selain integer, bisa juga untuk mengurutkan string secara ascending.

1 sayur = ('cabe', 'tomat', 'wortel', 'sawi', 'bayam')


2 sayur_sorted = sorted(sayur)
3 sayur_sorted

['bayam', 'cabe', 'sawi', 'tomat', 'wortel']

Menghitung panjang tuple


Fungsi len() akan menghasilkan sebuah bilangan integer yang merepresentasikan jumlah elemen
pada tuple yang digunakan untuk menghitung panjang tuple

1 bilangan = (4, 1, 5, 2, 7, 8)
2 len(bilangan)

1 sayur = ('cabe', 'tomat', 'wortel', 'sawi', 'bayam')


2 len(sayur)

Menggabungkan tuple

Gunakan operator + untuk menggabungkan tuple.

1 bilangan2 = bilangan + (11, 'Selamat')


2 bilangan2

(4, 1, 5, 2, 7, 8, 11, 'Selamat')

1 gabung_tuple = bilangan2 + sayur


2 print(gabung_tuple)

(4, 1, 5, 2, 7, 8, 11, 'Selamat', 'cabe', 'tomat', 'wortel', 'sawi', 'bayam')

46
Mengubah tuple menjadi list dan sebaliknya

Mengubah isi tuple dengan mengubah menjadi list yang bersifat mutable (dapat diubah). Sebelum diubah
menjadi list, mari coba untuk mengubah elemen tuple tanpa konversi dan akan menghasilkan error.

1 sayur = ('cabe', 'tomat', 'wortel', 'sawi', 'bayam')


2
3 # Mengganti tuple sayur untuk indeks 1
4 sayur[1] = 'seledri'
5 sayur

TypeError Traceback (most recent call last)


<ipython-input-278-1e548255339f> in <module>()
2
3 # Mengganti tuple sayur untuk indeks 1
----> 4 sayur[1] = 'seledri'
5 sayur

TypeError: 'tuple' object does not support item assignment

Saatnya untuk mengubah tuple sayur menjadi list.

1 list_sayur = list(sayur)
2 list_sayur

['cabe', 'tomat', 'wortel', 'sawi', 'bayam']

Setelah menjadi sebuah list, list_sayur sudah bisa diubah, ditambahkan, atau dihapus isinya.

1 list_sayur[1] = 'seledri'
2 list_sayur

['cabe', 'seledri', 'wortel', 'sawi', 'bayam']

Sekarang ubah kembali list tersebut menjadi tuple.

1 sayur = tuple(list_sayur)
2 sayur

('cabe', 'seledri', 'wortel', 'sawi', 'bayam')

Mengecek tipe data tuple


Fungsi type() untuk mengecek tipe data tuple

47
1 type(sayur)

tuple

Selain itu, dapat mengecek tipe data dari elemen di dalam tuple.

1 type(sayur[1])

str

1 buat_tuple = ('Ahmad', 20, 60000, 3.5)


2 print(buat_tuple[0])
3 print(buat_tuple[1])
4 print(buat_tuple[2])
5 print(buat_tuple[3])

Ahmad
20
60000
3.5

48
Dictionary

Dictionary adalah tipe data yang berfungsi untuk menyimpan koleksi data dan didefinisikan di dalam
kurung kurawal {}. Dictionary bersifat tidak terurut. Setiap item dalam dictionary terdiri dari pasangan
key-value yang dipisahkan oleh titik dua :.

Key bisa berupa teks, bilangan, atau tuple, namun value bisa berupa tipe data apapun

1 a = {1: 'a', 2: 'b', (3,4): 'c'}


2 a

{(3, 4): 'c', 1: 'a', 2: 'b'}

1, 2, 3, dan (4, 5) adalah key, sedangkan a, b, c, dan d adalah value untuk masing-masing key-nya.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20
5 }
6 data_siswa

{'kota': 'Bogor', 'nama': 'Ira', 'umur': 20}

Pada contoh di atas, nama merupakan key dan Ira merupakan value-nya, kota adalah key value-nya adalah
Bogor, dan key umur memiliki value 20.

49
Mengakses dictionary

Mengakses value

Dengan cara menggunakan key yang ditempatkan di dalam kurung siku [] setelah nama dictionary-nya.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20
5 }
6 data_siswa['nama'] # Mengakses value dengan key 'nama'

'Ira'

1 data_siswa['kota']

'Bogor'

Method get() untuk mengeluarkan hasil yang sama.

1 data_siswa.get('nama')

'Ira'

1 data_siswa.get('kota')

'Bogor'

Method values() untuk memperoleh value dari sebuah dictionary

1 data_siswa.values()

dict_values(['Ira', 'Bogor', 20])

Memperoleh daftar key

Method keys() untuk memperoleh kumpulan key pada dictionary

1 data_siswa.keys()

dict_keys(['nama', 'kota', 'umur'])

50
Atau bisa juga menggunakan operator *

1 [*data_siswa]

['nama', 'kota', 'umur']

Nested Dictionary

Nested dictionary atau dictionary yang berada di dalam dictionary.

1 students = {'student1': {'name': 'Doe', 'age': 30},


2 'student2': {'name': 'Robert', 'age': 31},
3 'student3': {'name': 'Andy', 'age': 33}
4 }
5 students

{'student1': {'age': 30, 'name': 'Doe'},


'student2': {'age': 31, 'name': 'Robert'},
'student3': {'age': 33, 'name': 'Andy'}}

Selain itu, bisa membuat dictionary untuk masing-masing employee, lalu buat dictionary induk untuk
menampung dictionary-dictionary tersebut.

1 student1 = {'name': 'Doe', 'age': 30}


2 student2 = {'name': 'Robert', 'age': 31}
3 student3 = {'name': 'Andy', 'age': 33}
4
5 students= {

{'student1': {'age': 30, 'name': 'Doe'},


'student2': {'age': 31, 'name': 'Robert'},
'student3': {'age': 33, 'name': 'Andy'}}

Operasi pada dictionary

Mengubah nilai dictionary

1 data_siswa = {
2 ‘nama’: ‘Ira’,
3 ‘kota’: ‘Bogor’,
4 ‘umur’: 20
5 }
6 data_siswa['kota'] = 'Bandung' # Mengubah data kota
7 data_siswa

{'kota': 'Bandung', 'nama': 'Ira', 'umur': 20}

51
1 data_siswa['umur'] = 21 # Mengubah data umur
2 data_siswa

{'kota': 'Bandung', 'nama': 'Ira', 'umur': 21}

Ubah nested dictionary dengan cara berikut.

1 students = {
2 'student1' : {'name': 'Doe', 'age': 30},
3 'student2' : {'name': 'Robert', 'age': 31},
4 'student3' : {'name': 'Andi', 'age': 32}
5 }
6
7 students['student3']['age'] = 34 # Mengubah nilai age
8 students

{'student1': {'age': 30, 'name': 'Doe'},


'student2': {'age': 31, 'name': 'Robert'},
'student3': {'age': 34, 'name': 'Andi'}}

Menambah item baru pada dictionary

Menuliskan nama key baru yang akan digunakan disertai dengan nilainya untuk menambah item baru
pada dictionary.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20
5 }
6 data_siswa ['jurusan'] = 'Teknik Informatika' # Menambahkan key 'jurusan' yang diberi
7 data_siswa

{'jurusan': 'Teknik Informatika', 'kota': 'Bogor', 'nama': 'Ira', 'umur': 20}

Menghapus item pada dictionary

Method pop(), popitem(), dan del digunakan untuk menghapus item pada dictionary.
Fungsi pop() untuk menghapus item berdasarkan nama key.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7 data_siswa.pop('kota') # Menghapus kota
8 print(data_siswa)

{'nama': 'Ira', 'umur': 20, 'jurusan': 'Teknik Informatika'}

52
Method popitem() akan menghapus item terakhir.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7
8 data_siswa.popitem() # Method popitem() akan menghapus nilai akhir
9 print(data_siswa)

{'nama': 'Ira', 'kota': 'Bogor', 'umur': 20}

del digunakan untuk menghapus item berdasarkan nama key.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7 del data_siswa['umur'] # Menghapus umur menggunakan del

{'nama': 'Ira', 'kota': 'Bogor', 'jurusan': 'Teknik Informatika'}

Selain itu, del dapat digunakan untuk menghapus keseluruhan dictionary.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7 del data_siswa # Menghapus dictionary data_siswa
8 print(data_siswa)

NameError Traceback (most recent call last)


<ipython-input-303-37b668eddc76> in <module>()
6 }
7 del data_siswa # Menghapus dictionary data_siswa
----> 8 print(data_siswa)

NameError: name 'data_siswa' is not defined

Jika telah menjalankan kode di atas, akan tampil pesan error yang menyatakan name 'data_mhs' is not
defined. Hal itu karena data_mhs telah terhapus sebelum mengeksekusi print().
Namun apabila yang dimaksud adalah mengosongkan dictionary tanpa menghapusnya, gunakan method
clear().

53
1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7 data_siswa.clear() # Mengosongkan isi dictionary dengan clear()
8 print(data_siswa)

{}

Setelah dijalankan, akan menghasilkan dictionary kosong.

Duplikasi dictionary

Method copy() untuk menduplikasi dictionary.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7 # Menduplikasi 'data_siswa' ke dalam dictionary baru ke dalam 'siswa'
8 siswa = data_siswa.copy()
9 print(siswa)

{'nama': 'Ira', 'kota': 'Bogor', 'umur': 20, 'jurusan': 'Teknik Informatika'}

Mengetahui panjang dictionary

Fungsi len() untuk memperoleh panjang dictionary, atau jumlah item pada dictionary.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7
8 len(data_siswa) # Menghitung panjang dictionary (jumlah item)

54
Mengecek keberadaan key pada dictionary

Gunakan in untuk mengecek keberadaan sebuah key di dalam dictionary. Outputnya adalah Boolean.

1 data_siswa = {
2 'nama': 'Ira',
3 'kota': 'Bogor',
4 'umur': 20,
5 'jurusan':'Teknik Informatika'
6 }
7
8 'nama' in data_siswa # Mengecek apakah 'nama' ada sebagai key di data_siswa

True

1 'hobi' in data_siswa

False

55
Set

Set adalah tipe data untuk menampung sekumpulan objek unik yang didefinisikan dengan tanda kurung
kurawal {}. Jika ada elemen yang sama, maka akan otomatis menghapusnya

1 cth_set = {1, 2, 2, 3, 3, 4, 2, 5}
2 cth_set

{1, 2, 3, 4, 5}

Dari output di atas, angka 3 dan 5 terhapus karena terdapat elemen yang sama.

Set dapat berisi elemen dengan berbagai tipe data, namun hanya tipe data yang bersifat immutable.
Set juga bersifat tidak terurut dengan nilai yang telah didefinisikan.

1 cth_set2 = {'Hai', 10, (1, 2), True, 10.1}


2 cth_set2

{(1, 2), 10, 10.1, 'Hai', True}

Memasukkan list ke dalam set akan menyebabkan error.

1 # Contoh set yang mengandung list


2
3 cth_set3 = {'Hai', 10, [1, 2]}
4 cth_set3

TypeError Traceback (most recent call last)


<ipython-input-311-a2486338995d> in <module>()
1 # Contoh set yang mengandung list
2
----> 3 cth_set3 = {'Hai', 10, [1, 2]}
4 cth_set3

TypeError: unhashable type: 'list'

Set tidak dapat melakukan indexing apabila dicoba akan muncul pesan error.

1 # Set tidak mendukung indexing


2 cth_set3[0]

NameError Traceback (most recent call last)


<ipython-input-312-2e63bd784277> in <module>()
1 # Set tidak mendukung indexing
----> 2 cth_set3[0]

56
Konversi list menjadi set
NameError: name 'cth_set3' is not defined

set() untuk mengubah list menjadi set dan akan otomatis membuat duplikat elemen pada listter hapus.
SEARCH STACK

1 name_list = ['Ahmad', 'Budi', 'Cahyo', 'Dava', 'Erik', 'Febri', \


2 'Galih', 'Harry', 'Intan']
3 name_set = set(name_list)
4 name_set

{'Ahmad', 'Budi', 'Cahyo', 'Dava', 'Erik', 'Febri', 'Galih', 'Harry', 'Intan'}

Operasi pada Set

Menambah elemen baru pada set

Method add() untuk menambah elemen baru pada set.

1 cth_set1 = {1, 2, 3}
2 cth_set1.add(4)
3 print(cth_set1)

{1, 2, 3, 4}

Method update() untuk menambah beberapa elemen baru pada set.

1 cth_set1 = {1, 2, 3}
2 cth_set1.update(['Ahmad', 'Mangga'])
3 print(cth_set1)

{1, 2, 3, 'Mangga', 'Ahmad'}

Menghapus elemen pada set


Method remove() atau discard() untuk menghapus elemen tertentu pada set.

1 # Contoh penggunaan remove()


2
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
4 print('Sebelum menghapus wortel:', setSayur)
5
6 setSayur.remove('wortel')
7 print('Setelah menghapus wortel:', setSayur)

Sebelum menghapus wortel: {'sawi', 'cabe', 'seledri', 'wortel', 'bayam'}


Setelah menghapus wortel: {'sawi', 'cabe', 'seledri', 'bayam'}

57
1 # Contoh penggunaan discard()
2
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
4 print('Sebelum menghapus cabe:', setSayur)
5
6 setSayur.discard('cabe')
7 print('Setelah menghapus cabe:', setSayur)

Sebelum menghapus cabe: {'sawi', 'cabe', 'seledri', 'wortel', 'bayam'}


Setelah menghapus cabe: {'sawi', 'seledri', 'wortel', 'bayam'}

Apabila elemen yang dimaksud tidak ada di dalam set, remove() akan menghasilkan error, sedangkan
discard() tidak menghasilkan error.

1 # Contoh penggunaan remove() jika elemen yang ingin dihapus tidak ada di dalam set
2
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
4 setSayur.remove('jambu')
5 print(setSayur)

KeyError Traceback (most recent call last)


<ipython-input-1-27dfba8d1986> in <module>()
2
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
----> 4 setSayur.remove('jambu')
5 print(setSayur)

KeyError: 'jambu'

1 # Contoh penggunaan discard() jika elemen yang ingin dihapus tidak ada di dalam set
2
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
4 setSayur.discard('jambu')
5 print(setSayur)

{'sawi', 'cabe', 'seledri', 'wortel', 'bayam'}

Method pop() untuk menghapus elemen terakhir pada set. Namun, set bersifat tidak terurut sehingga
elemen terakhir yang dihapus tidak diketahui.

1 # Contoh penggunaan pop() jika elemen yang ingin dihapus tidak ada di dalam set
2
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
4 print('Sebelum menghapus elemen terakhir:', setSayur)
5 setSayur.pop()

Sebelum menghapus elemen terakhir: {'sawi', 'cabe', 'seledri', 'wortel', 'bayam'}


'sawi'

58
print setSayur.pop() akan menampilkan elemen yang terhapus.

1 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}


2 print('Sebelum menghapus elemen terakhir:', setSayur)
3 print('Elemen yang terhapus: ', setSayur.pop())

Sebelum menghapus elemen terakhir: {'sawi', 'cabe', 'seledri', 'wortel', 'bayam'}


Elemen yang terhapus: sawi

Del untuk menghapus set secara keseluruhan.

1 # Menggunakan del untuk menghapus set keseluruhan


2
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
4 del setSayur
5 print(setSayur)

NameError Traceback (most recent call last)


<ipython-input-323-7a7883fad2c7> in <module>()
3 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}
4 del setSayur
----> 5 print(setSayur)

NameError: name 'setSayur' is not defined

Output di atas menghasilkan error karena setSayur sudah dihapus sebelum fungsi print() dieksekusi.
Jika hanya ingin mengosongkan set, maka dapat menggunakan method clear().

1 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}


2 setSayur.clear() # Mengosongkan set dengan clear()
3 print(setSayur)

set()

Duplikasi set

Method copy() untuk menduplikasi set.

1 copySayur = setSayur.copy()
2 print('Ini adalah setSayur: ', setSayur)
3 print('Ini adalah copySayur: ', copySayur)
Ini adalah setSayur: set()
Ini adalah copySayur: set()

Menjumlahkan seluruh elemen pada set

Function sum() untuk menjumlahkan seluruh elemen pada set.

1 bil_set ={10, 26, 19, 3, 5, 30}


2 print('Jumlah bilangan di dalam set = ', sum(bil_set))

Jumlah bilangan di dalam set = 93

59
Mengambil nilai maksimum dan minimum pada set
Fungsi max() untuk mengambil nilai maksimum, sedangkan fungsi min() untuk nilai minimum.

1 bil_set ={10, 26, 19, 3, 5, 30}


2
3 print('Nilai maksimum: ', max(bil_set))
4 print('Nilai minimum: ', min(bil_set))

Nilai maksimum: 30
Nilai minimum: 3

Menghitung panjang set (jumlah elemen)


Fungsi len() untuk menghitung panjang set atau jumlah elemen pada set.

1 bil_set ={10, 26, 19, 3, 5, 30}


2 print(len(bil_set))

Operasi himpunan pada Set

Union
Union atau operasi gabungan adalah menggabungkan semua nilai dari set A dan set B dengan
mengeliminasi nilai yang sama dengan menggunakan method union() atau operator |.

1 A = {1, 2, 3}
2 B = {4, 5, 6}
3
4 # Contoh penggunaan union()
5 A.union(B)

{1, 2, 3, 4, 5, 6}

1 A = {1, 2, 3}
2 B = {4, 5, 6}
3
4 # Contoh penggunaan | untuk menggabungkan set
5 print(A | B)

{1, 2, 3, 4, 5, 6}

Method update() dapat digunakan untuk operasi ini.

1 A = {1, 2, 3}
2 B = {4, 5, 6}
3
4 A.update(B) # Menggunakan update() untuk menggabungkan set B ke A
5 print(A)

{1, 2, 3, 4, 5, 6}

60
Intersection

Intersection atau irisan adalah mengambil nilai yang sama dari kedua set dengan menggunakan method
intersection() atau operator &.

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 print(A.intersection(B)) # Contoh penggunaan intersection()

{3, 4}

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 A & B # Mengambil nilai yang sama dari dua set menggunakan &

{3, 4}

Difference
Difference atau selisih A dari B (A - B) adalah kumpulan elemen yang ada di A tapi tidak ada di B. Begitu
pun sebaliknya, B - A adalah kumpulan elemen yang ada di B tapi tidak ada di A dengan method
difference() ataupun dengan operator – untuk memperoleh difference

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 A.difference(B) # Contoh penggunaan difference()

{1, 2}

Symmetric Difference

Symmetric difference adalah kumpulan elemen yang ada di A dan B namun tidak mengikutsertakan
elemen yang ada pada keduanya alias mengeliminasi intersection dengan method
symmetric_difference() atau dengan operator ^ untuk memperoleh symmetric difference.

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 A.symmetric_difference(B) # Contoh penggunaan symmetric_difference()

{1, 2, 5, 6}

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 A ^ B # Contoh penggunaan operator ^

{1, 2, 5, 6}

61
Operasi cek keanggotaan pada Set

Apakah ada elemen tertentu pada set?


Operator in atau not in untuk mengecek keberadaan elemen tertentu pada set. Operator in digunakan
untuk mengecek apakah suatu elemen ada di dalam set, sedangkan not in digunakan untuk mengecek
apakah suatu elemen tidak ada di dalam set.

1 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}


2 'sawi' in setSayur

True

1 setSayur = {'cabe', 'seledri', 'wortel', 'sawi', 'bayam'}


2 'tauge' in setSayur

False

Apakah dua set disjoint?

Method isdisjoint() untuk mengetahui apakah dua set disjoint atau tidak memiliki irisan

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 A.isdisjoint(B)

False

1 C = {'a', 'c', 'e'}


2 D = {'b', 'd', 'f'}
3
4 C.isdisjoint(D)

True

Apakah sebuah set merupakan subset dari set lain?

Method issubset() atau operator <= untuk mencari tahu apakah sebuah set merupakan subset dari set
lainatau tidak.

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 A.issubset(B)

False

62
1 A = {1, 2, 3}
2 B = {1, 2, 3, 4, 5, 6}
3
4 A <= B # Contoh penggunaan operator <=

True

Apakah sebuah set mengandung set lain?


Method issuperset() atau operator >= untuk mengecek apakah sebuah set mengandung set lain atau tidak.

1 A = {1, 2, 3, 4}
2 B = {3, 4, 5, 6}
3
4 A.issuperset(B)

False

1 A = {1, 2, 3, 4}
2 B = {1, 2, 3, 4, 5, 6}
3
4 B >= A # Contoh penggunaan operator >=

True

Frozenset

Untuk membuat set yang bersifat immutable bisa dengan menggunakan frozenset. Function frozenset()
untuk membuat frozenset.

1 cth1 = frozenset([1, 2, 3, 4])


2 cth2 = frozenset([3, 4, 5, 6])
3
4 print(cth1)
5 print(cth2)

frozenset({1, 2, 3, 4})
frozenset({3, 4, 5, 6})

Lakukan beberapa operasi himpunan.

1 cth1 = frozenset([1, 2, 3, 4])


2 cth2 = frozenset([3, 4, 5, 6])
3
4 cth1.union(cth2)

frozenset({1, 2, 3, 4, 5, 6})

1 cth1.issuperset(cth2)

False

63
1 3 in cth1 & cth2

True

64
Seleksi Kondisi

Seleksi kondisi adalah proses untuk menentukan langkah atau perintah selanjutnya berdasarkan keadaan
sebelumnya. Proses yang penting dalam pemrograman untuk memutuskan aksi apa selanjutnya sesuai
dengan kondisinya.

Operator Perbandingan
Operator perbandingan digunakan dalam seleksi kondisi untuk membandingkan dua nilai atau operand.
Output yang dihasilkan dari operasi perbandingan yaitu berupa Boolean. Ada enam operator
perbandingan yang dapat digunakan, di antaranya:
• sama dengan: ==

• tidak sama dengan: !=

• lebih besar dari: >

• lebih kecil dari: <

• lebih besar sama dengan: >=

• lebih kecil sama dengan: <=

Operator di atas digunakan untuk membandingkan nilai secara langsung maupun yang berada dalam
variabel. Misalnya, variabel a yang berisi nilai 2. Kemudian bandingkan nilai a dengan 4

1 a = 2
2 a == 4 # Contoh penggunaan operator ==

False

Hasilnya adalah False karena nilai 2 tidak sama dengan 4.

Sekarang coba menggunakan operator tidak sama dengan

1 a = 2
2 a != 4 # Contoh penggunaan operator !=

True

Hasilnya adalah True.

Sekarang menggunakan operator > dan <.

1 a = 2
2 a > 4 # Contoh penggunaan operator >

False

65
2 lebih besar dari 4 adalah False.

1 a = 2
2 a < 4 # Contoh penggunaan operator <

True

2 lebih kecil dari 4 adalah True.

Penempatan angka pada penggunaan operator > dan < sangat berpengaruh. Sekarang coba untuk
menukar posisi operand-nya.

1 a = 2
2 4 > a

True

1 a = 2
2 4 < a

False

Pada contoh di atas, 4 > a berarti 4 lebih besar dari a atau 2, maka hasilnya adalah True. Sementara itu
4 < a menghasilkan False.

Sekarang menggunakan operator >= dan <=

1 a = 2
2 a >= 4 # Contoh penggunaan operator >=

False

1 a = 2
2 a <= 4 # Contoh penggunaan operator <=

True

Mencoba membandingkan string dengan operator perbandingan

1 'HAI' == 'Hai' # Operator perbandingan untuk membandingkan string

False

Hasilnya adalah False karena string 'HAI' berbeda dengan 'Hai'. Sekarang menggunakan operator tidak
sama dengan !=.

66
1 'HAI' != 'Hai'

True

Hasilnya adalah True.

Operator perbandingan dapat digunakan untuk membandingkan huruf/simbol berdasarkan kode ASCII-nya.

1 'B' > 'C'

False

1 'C' > 'B'

True

Hasil perbandingan 'C' > 'B' menghasilkan True karena kode ASCII C lebih besar dari B.

Pernyataan Kondisi
Secara sederhana, sebuah kondisi dalam bahasa pemrograman dinyatakan dengan if lalu diikuti dengan
perintah yang akan dijalankan jika kondisi tersebut terpenuhi.

1 voucher = 'Yes'
2 # Penyataan kondisi
3 if voucher == 'Yes':
4
5 # Perintah di dalam indentasi (ditulis menjorok ke dalam) yang dieksekusi jika kond
6 print('berhasil')
7

berhasil

Pada contoh kondisi di atas, jika memiliki tiket, maka print berhasil. Sebelumnya, voucher='Yes' yang
berarti kondisi terpenuhi, maka akan menjalankan kode yang ada di dalam if.

Di akhir bagian pernyataan if harus diberi tanda titik dua (:) serta penulisan kode yang dieksekusi saat
kondisi terpenuhi harus ditulis menjorok ke dalam.

Namun, bagaimana jika kondisinya tidak terpenuhi?

1 voucher = 'No'
2 # Penyataan kondisi
3 if voucher == 'Yes':
4

67
5 # Perintah yang dieksekusi jika kondisi terpenuh

Setelah menjalankan kode program di atas, maka tidak akan ada hasil yang muncul karena kondisi
tidak terpenuhi sehingga perintah di dalam if tidak dieksekusi.

Lalu bagaimana membuat opsi lain jika kondisi tidak terpenuhi?

Conditional Branching

Branching (percabangan) adalah suatu kondisi di mana ada dua atau lebih perintah atau pernyataan untuk
input yang berbeda. Conditional branching memungkinkan program melompat ke instruksi selanjutnya
tergantung pada nilai input yang diberikan.

If

1 voucher = 'No'
2 # Penyataan kondisi
3 if voucher == 'Yes':
4
5 # Perintah yang dieksekusi jika kondisi terpenuhi
6 print('berhasil')
7
8 # Perintah yang dieksekusi baik saat kondisi terpenuhi maupun tidak
9 print('Selamat!')

Selamat!

Pada contoh di atas, kondisi if tidak terpenuhi sehingga perintah di dalam if tidak dieksekusi. Namun,
blok kode di atas tetap menghasilkan output Selamat datang! karena perintah tersebut ditulis sejajar
dengan penyataan if

Jika kondisi terpenuhi, maka kedua perintah tersebut dieksekusi.

1 voucher = 'Yes'
2 # Penyataan kondisi
3 if voucher == 'Yes':
4
5 # Perintah yang dieksekusi jika kondisi terpenuhi
6 print('berhasil')
7
8 # Perintah yang dieksekusi baik saat kondisi terpenuhi maupun tidak
9 print('Selamat !')

berhasil
Selamat !

68
if...else
Jika kondisi tidak terpenuhi, gunakan if...else. Namun jika kondisi terpenuhi, maka opsi tersebut tidak
dijalankan

1 voucher = 'Yes'
2 # Penyataan kondisi
3 if voucher == 'Yes':
4
5 # Perintah yang dieksekusi jika kondisi terpenuhi
6 print('berhasil')
7
8 else:
9
10 # perintah yang dieksekusi jika kondisi tidak terpenuhi
11 print('beli voucher dahulu')
12
13 print('Selamat!')

berhasil
Selamat!

1 voucher = 'No'
2 # Penyataan kondisi
3 if voucher == 'Yes':
4
5 # Perintah yang dieksekusi jika kondisi terpenuhi
6 print('berhasil')
7 else:
8
9 # perintah yang dieksekusi jika kondisi tidak terpenuhi
10 print('beli voucher dahulu')
11
12 print('Selamat!')
beli voucher dahulu
Selamat!

69
Contoh lain:

1 x = 2
2 if (x % 2 == 1):
3 print(x, 'adalah bilangan ganjil')
4 else:
5 print(x, 'adalah bilangan genap')

2 adalah bilangan genap

if...elif

Kondisi if...elif digunakan jika ada dua atau lebih kondisi.

1 usia = 20
2 if (usia > 20):
3 print('Silahkan masuk ke ruang A')
4 elif (usia == 20):
5 print('Silahkan masuk ke ruang B')
6 else:
7 print('Anda tidak boleh masuk')
Silahkan masuk ke ruang B

Pada kondisi pertama tidak terpenuhi karena usia sama dengan 20. Sehingga sistem mengecek ke kondisi
usia == 20. Hasilnya terpenuhi sehingga yang akan dieksekusi adalah Silahkan masuk ke ruang B.
Contoh lainnya

1 biaya = 30000
2
3 if (biaya > 10000):
4 biaya = biaya - (biaya * 0.15)
5 print('diskon 15%')
6

70
7 elif(biaya == 20000):
8 biaya = biaya - (biaya * 0.1)
9 print('diskon 10%')
10
11 else:
12 biaya = biaya
13
14 print('Total yang harus dibayar adalah Rp. {:.0f}'.format(biaya))
15 print('\nTerima kasih!')

diskon 15%
Total yang harus dibayar adalah Rp. 25500

Terima kasih!

Harga sama dengan 30000 sehingga kondisi pertama terpenuhi karena harga > 10000.
Kemudian menjalankan kode perintah yang terdapat pada kondisi pertama.

Operator Logika

Operator logika untuk mengecek kondisi dari dua penyataan. Operator logika adalah simbol atau kata
yang digunakan untuk menghubungkan dua atau lebih ekspresi untuk membuat kesimpulan yang logis dan
menghasilkan nilai True atau False.

Ada tiga operator logika yang dapat digunakan, di antaranya:

and
or
not

and

and bernilai True jika semua pernyataan bernilai True. Jika hanya salah satu bernilai True atau semuanya
False akan bernilai False.

1 # Contoh penggunaan operator logika 'and'


2 angka = 90

71
3 if (angka>= 80):
4 nilai = 'A'
5 elif (angka>= 70 and angka< 80):
6 nilai = 'B'
7 elif (angka>= 60 and angka< 70):
8 nilai = 'C'
9 elif (angka>= 50 and angka< 60):
10 nilai = 'D'
11 elif (angka< 50):
12 nilai = 'E'
13
14 print('Nilai akhir adalah ', nilai)
Nilai akhir adalah A

or
or bernilai True jika semuanya atau salah satu pernyataan bernilai True, jika semuanya bernilai False maka
akan bernilai False

1 # Contoh penggunaan operator logika 'or'


2 nilai = 'B'
3 if (nilai == 'A' or nilai == 'B' or nilai == 'C'):
4 print('Berhasil!')
5 else:
6 print('Gagal')

Berhasil!

not
not memeriksa apakah pernyataannya salah atau False

1 # Contoh penggunaan operator logika 'not'


2 nilai = 80
3 if not nilai == 85:
4 print('Gagal!')
5 else:

Gagal!

72
Perulangan / Loop

Ada dua metode perulangan yaitu for dan while yang berfungsi ingin mengulang proses atau operasi
tertentu beberapa kali.

Perulangan dengan for

for digunakan untuk melakukan proses perulangan dengan mengetahui iterasi yang akan dieksekusi,
misalnya 10 kali, 100 kali, dsb.

Iterasi dengan range()

range() adalah built-in function untuk menghasilkan angka yang berurutan. Misalnya, range(10) akan
menghasilkan angka 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

1 # Contoh penggunaan for dengan range()


2
3 for index in range(5):
4 print(index)

0
1
2
3
4

Selain itu, dapat menentukan awal dan akhir angka yang diinginkan.

1 for i in range(1, 4):


2 print(i)

1
2
3

73
Contoh lain penggunaan range().

1 a = 10
2 for i in range(5):
3 a = a + i
4 print(a)

10
11
13
16
20

Iterasi pada list


Melakukan iterasi pada list.

1 nama = ['Ahmad', 'Budi', 'Caca', 'Dwi']


2 for i in nama:
3 print(i)

Ahmad
Budi
Caca
Dwi

Mengambil index dan value dari list dengan enumerate()

Built-in function enumerate() untuk mengambil index dan value dari sebuah list.

1 nama = ['Ahmad', 'Budi', 'Caca', 'Dwi']


2
3 for index, value in enumerate(nama):
4 print(index, value)

0 Ahmad
1 Budi
2 Caca
3 Dwi

Perulangan dengan while

Perulangan while digunakan apabila tidak mengetahui jumlah iterasi yang harus dilakukan. Penggunaan
perulangan while didefinisikan pada sebuah kondisi apa looping harus berhenti.

1 num = [10, 20, 30, 40, 50]


2
3 i = 0
4 bil = 0
5

74
6 while (bil < 30):
7 bil = num[i]
8 i = i + 1
9 print(bil)

10
20
30

Pada contoh di atas looping harus berhenti jika kondisi bil < 30.

1 hari = ['senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu', 'minggu']


2
3 i = 0
4 hari_masuk = hari[i]
5
6 while (hari_masuk != 'minggu'):
7 print(hari_masuk)
8 i = i + 1
9 hari_masuk = hari[i]
10

senin
selasa
rabu
kamis
jumat
sabtu

Menghentikan proses looping dengan break

Penggunaan break untuk menghentikan proses iterasi secara paksa. Break digunakan pada for ataupun
while.

75
1 # Contoh penggunaan break pada for
2 hari = ['senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu', 'minggu']
3
4 for i in hari:
5 print(i)
6 if (i == 'kamis'):
7 break;

senin
selasa
rabu
kamis

Contoh break pada while.

1 # Contoh penggunaan break pada while


2
3 hari = ['senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu', 'minggu']
4 i = 0
5 hari_kerja = hari[i]
6
7 while (hari_kerja != 'jumat'):
8 print(hari_kerja)
9 i = i + 1
10 hari_kerja = hari[i]

11 if (hari_kerja == 'kamis'):
senin
selasa
rabu

Nested Loop

Nested loop adalah looping di dalam looping atau perulangan bersarang.

1 # Contoh nested loop


2
3 a = ['baju', 'celana', 'kemeja']
4 b = ['putih', 'biru', 'hitam']
5
6 for i in a:
7 for j in b:
8 print(i, j)

baju putih
baju biru
baju hitam
celana putih
celana biru
celana hitam
kemeja putih
kemeja biru
kemeja hitam

76
Contoh nested loop untuk mencetak bintang segitiga.

1 # Contoh nested loop


2
3 for i in range(1, 6):
4 for j in range(i):
5 print('*', end=' ')
6 print('')

*
* *
* * *
* * * *
* * * * *

Contoh nested loop bintang segitiga dengan break.

1 # Contoh nested loop dengan break


2 for i in range(1, 6):
3 for j in range(i):
4 if (i > 3):
5 break;
6 print('*', end=' ')
7 print('')

*
* *
* * *

77
Fungsi / Function

Function atau fungsi adalah sebuah blok kode program yang digunakan berulang kali dengan cara
memanggilnya.

Pre-defined function atau built-in function dan juga User defined function atau fungsi yang dibuat manual.
Nah, kali ini akan membahas tentang User defined function.
Untuk membuat sebuah fungsi, terdapat aturan seperti berikut.

• Sebuah fungsi diawali dengan def yang diikuti nama fungsi dan tanda kurung (). • Di dalam tanda
kurung bisa terdapat argument atau parameter.

• Sebuah fungsi ditandai dengan tanda titik dua (:) yang diletakkan setelah tanda kurung.

• Anda juga dapat menuliskan dokumentasi atau komentar pada fungsi.

• Penggunaan pernyataan return untuk mengembalikan nilai yang digunakan di kode program.
Biasanya return digunakan untuk menutup fungsi.

Perhatikan contoh berikut.

1 # Contoh fungsi untuk menambah nilai dengan angka 2


2 def tambah_dua(a):
3 b = a + 2
4 return b

Contoh di atas terdapat fungsi dengan nama tambah_dua dan a sebagai parameter yang nantinya
menampung nilai yang diberikan untuk kemudian diproses di dalam fungsi. Akhir dari fungsi akan
mengembalikan nilai b.

Untuk memanggilnya dapat menulis langsung nama fungsi tersebut dan diikuti nilai yang akan diberikan
untuk diproses pada fungsi di dalam tanda kurung seperti di bawah ini

1 # Memanggil fungsi tambah_dua


2 tambah_dua(1)
3

Berikut contoh fungsi dengan dua parameter.

78
1 # Contoh fungsi perkalian dua bilangan
2 def perkalian(x, y):
3 z = x * y
4 return print(x, 'dikali', y, 'sama dengan ', z)
5 # Memanggil fungsi perkalian
6 perkalian(2,3)

2 dikali 3 sama dengan 6

Menyederhanakan kode program dengan fungsi


Misalnya terdapat dua blok kode yang mirip dan dibedakan nama variabel dan juga nilainya seperti di
bawah ini.

Blok 1

1 a1 = 2
2 b1 = 3
3 c1 = a1 * 3 + b1 * 4
4
5 if (c1 > 25):
6 c1 = c1
7 else:
8 c1 = 0

Blok 2

1 a2 = 5
2 b2 = 6
3 c2 = a2 * 3 + b2 * 4
4
5 if (c2 > 25):
6 c2 = c2
7 else:
8 c2 = 0

Contoh di atas akan sangat boros karena mengulang proses yang sama dan hanya mengubah variabel.
Dengan adanya fungsi dapat menyederhanakan proses di atas sehingga nantinya tinggal memanggil
fungsi tersebut dengan memberikan nilai yang berbeda-beda. Lihat kode di bawah ini

1 # Fungsi untuk menghitung a dan b


2 def hitung_ab(a, b):
3 c = a * 3 + b * 4
4
5 if (c > 25):
6 c = c
7
8 else:
9 c = 0
10
11 return c

79
Memanggil fungsi dengan nilai berbeda

1 a1 = 2
2 b1 = 3
3 c1 = hitung_ab(a1, b1)
4 c1

1 a2 = 5
2 b2 = 4
3 c2 = hitung_ab(a2, b2)
4 c2

31

Variabel global dan variabel lokal


Variabel global adalah variabel yang ada di luar fungsi dan biasanya berada di kode program utama.
Sementara itu, variabel lokal adalah variabel yang terdapat di dalam fungsi.

Pada contoh di bawah ini, kota_asal merupakan variabel global karena berada di luar fungsi, sedangkan
kota_indo merupakan variabel lokal karena berada di dalam fungsi.

Variabel global dapat digunakan baik di luar fungsi maupun di dalam fungsi, sedangkan variabel lokal
hanya dapat digunakan di dalam fungsi

1 # Contoh penggunaan variabel global dan local


2 kota_asal = 'Bogor'
3
4 def kota(kota_asal):
5 kota_indo = kota_asal
6 print(kota_indo, 'adalah salah satu kota di Indonesia')
7 kota(kota asal)

Bogor adalah salah satu kota di Indonesia

Jika variabel lokal digunakan di luar fungsi, maka akan terjadi error name 'kota_indo' is not defined.
Untuk mengatasinya, deklarasikan variabel lokal sebagai global seperti di bawah ini.

1 kota_asal = 'Bogor'
2 def kota(kota_asal):
3 global kota_indo
4 kota_indo = 'Jakarta Timur'
5 print(kota_asal, 'adalah salah satu kota di Indonesia')
6
7 kota(kota_asal)
8 kota(kota_indo)

Bogor adalah salah satu kota di Indonesia


Jakarta Timur adalah salah satu kota di Indonesia

80
Menggunakan if...else dan loop di dalam fungsi

Di dalam fungsi juga dapat menggunakan seleksi kondisi if...else dan juga looping seperti for dan while.
Kemudian menggunakan return untuk mengembalikan nilai sesuai dengan kondisi.

1 # Contoh fungsi dengan if...else


2 def bio(nama, pelajaran, nilai):
3 print(nama, pelajaran, nilai)
4
5 if (nilai > 75):
6 return 'Selamat Anda Lulus!'
7 else:
8 return 'Mohon Maaf, Anda Tidak Lulus!'
9
10 # Panggil fungsi dan definisikan ke variabel x
11 x = bio('Agus', 'Kalkulus', 85)
12 print(x)

Agus Kalkulus 85
Selamat Anda Lulus!

Berikutnya contoh perulangan for berada pada sebuah fungsi. Berikutnya contoh perulangan for berada
pada sebuah fungsi.

1 # Contoh fungsi dengan perulangan for


2 def list_film(film):
3 for item in film:
4 print(item)
5
6 # Panggil fungsi
7 list film(['The Avengers', 'Amazing Spiderman', 'Dr. Strange'])

The Avengers
Amazing Spiderman
Dr. Strange

Memberikan argumen default pada fungsi


Berikan argumen default pada sebuah fungsi nilai = 50 pada fungsi nilai_akhir. Dengan memberikan
argumen default, tidak akan terjadi error pada saat memanggil fungsi tersebut.

1 # Contoh fungsi dengan argumen default


2 def nilai_akhir(nilai = 50):
3 if (nilai < 60):
4 print('Nilai = ', nilai)
5 print('Remedial!')
6 else:
7 print('Nilai = ', nilai)
8 print('Anda Lulus!')
9
10 # Memanggil fungsi dengan argument
11 nilai_akhir(80)

Nilai = 80
Anda Lulus!
81
Pada contoh di atas, ketika memberikan argumen 80 saat pemanggilan fungsi, program akan berjalan
dengan baik. Sekarang coba memanggil fungsi tanpa argumen seperti di bawah ini.

1 # Memanggil fungsi tanpa argument


2 nilai_akhir()

Nilai = 50
Remedial!

Fungsi langsung memproses nilai 50 sebagai argumen yang diberikan dan mencetak ‘Remedial’ karena
nilai kurang dari 60.

Built-in Function di Python

Built-in function adalah fungsi-fungsi bawaan Python yang digunakan tanpa mendefinisikannya lagi seperti
di atas.

print() merupakan built-in function yang digunakan untuk menampilkan output.

1 # contoh penggunaan print


2 list = [10, 21, 34, 29, 56]
3 print(list)

[10, 21, 34, 29, 56]

len() digunakan untuk menghitung panjang suatu objek.

1 # contoh penggunaan len


2 list = [10, 21, 34, 29, 56]
3 len(list )

sum() digunakan untuk menjumlahkan elemen pada list.

1 # contoh penggunaan sum


2 list = [10, 21, 34, 29, 56]
3 sum(list)

150

min() digunakan untuk mendapatkan nilai minimum/terkecil dari sebuah list.

1 # contoh penggunaan min


2 list = [10, 21, 34, 29, 56]
3 min(list)

10

82
max() digunakan untuk mendapatkan nilai maksimum/terbesar dari sebuah list.

1 # contoh penggunaan max


2 list = [10, 21, 34, 29, 56]
3 max(list)

56

sorted() digunakan untuk mengurutkan list dari nilai terkecil ke terbesar.

1 # contoh penggunaan sorted


2 list = [10, 21, 34, 29, 56]
3 sorted(list)

[10, 21, 29, 34, 56]

type() digunakan mengetahui tipe data dari sebuah objek.

1 # contoh penggunaan type


2 list = [10, 21, 34, 29, 56]
3 type(list)

List

round() digunakan untuk membulatkan bilangan desimal. Jika angka desimal 0.5 ke bawah, maka akan
dibulatkan ke bawah. Jika di atas 0.5, maka akan dibulatkan ke atas.

1 # contoh penggunaan round


2 round(8.5666)

1 # contoh penggunaan round


2 round(7.4)

abs() digunakan untuk mendapatkan nilai absolut dari suatu bilangan.

1 # contoh penggunaan abs


2 abs(-20/5)

4.0

83
Numpy 1 Dimensi

Numpy adalah library Python yang digunakan untuk komputasi ilmiah. Numpy menyediakan objek array
multidimensi seperti vektor dan matrik serta berbagai operasi matematika yang dapat dilakukan,
misalnya trigonometri, logaritma, eksponensial, dan sebagainya.
Numpy memiliki ukuran yang tetap. Jika mengubah dimensi array, maka akan terbentuk array baru dan
menghapus array sebelumnya. Tipe data pada array harus sama, tidak dapat bervariasi.

Membuat array Numpy

Import library numpy sebelum menggunakannya.

1 # import library numpy


2
3 import numpy as np

Inisialisasi numpy menjadi np untuk mempermudah penggunaannya. Penyingkatan ini sering dilakukan oleh
para pengguna Numpy.
Setelah itu, dapat membuat array seperti di bawah ini.

1 cth_array = np.array([1, 2, 3]) # Membuat array numpy berupa integer


2 cth_array

array([1, 2, 3])

Indeks elemen pada array dimulai dari 0. Cara mengaksesnya dengan menuliskan variabel yang diikuti
nomor indeks di dalam kurung siku [].

1 print('Indeks-0 : ', cth_array[0])


2 print('Indeks-1 : ', cth_array[1])
3 print('Indeks-2 : ', cth_array[2])

Indeks-0 : 1
Indeks-1 : 2
Indeks-2 : 3

Mengubah nilai array


Nilai sebuah elemen array juga dapat diubah. Misalnya seperti di bawah ini.

1 cth_array2 = np.array([1, 2, 3, 4])


2 cth_array2

array([1, 2, 3, 4])

84
Lalu ubah elemen pada indeks ke-0 menjadi 10.

1 cth_array2[0] = 10
2 cth_array2

array([10, 2, 3, 4])

Nilai elemen berubah dari 1 menjadi 10.

Mengakses dan mengubah nilai array dengan list

Mengakses atau mengubah sejumlah elemen array tertentu bisa dengan menggunakan indeks
elemen yang ingin diakses atau diubah lalu dimasukkan ke dalam list.
1 list_indeks = [0, 1] # Membuat list indeks elemen yang akan diakses

Selain itu, bisa juga menggunakan list tersebut sebagai argumen di dalam tanda kurung siku seperti di
bawah ini.

1 array_baru = cth_array2[list_indeks]
2 array_baru

array([10, 2])

Output dari kode di atas adalah elemen-elemen pada array c dengan indeks 1 dan 2.

Selain itu, bisa juga mengubah nilai array dengan list. Perhatikan contoh berikut.

1 cth_array2[list_indeks] = 120
2 cth_array2

array([120, 120, 3, 4])

Seperti yang dapat kita lihat pada output di atas, elemen pada indeks ke 1 dan 2 berubah menjadi
120.

Slicing
Elemen pada array Numpy dapat diakses dengan cara slicing yaitu dengan memotong
berdasarkan indeks tertentu. Contohnya seperti di bawah ini

1 cth_array2 = np.array([1, 2, 3, 4, 5])


2 cth_array2[1:3]

array([2, 3])

Indeks yang menjadi batas akhir slicing tidak akan terbawa, maka dari itu perlu menambahkan satu
angka. Jika ingin memotong dari elemen tertentu sampai elemen terakhir atau dari elemen awal sampai
elemen tertentu, lakukan seperti di bawah ini.

85
1 cth_array2[2:] # slicing dari indeks ke-2 sampai terakhir

array([3, 4, 5])

Atribut pada array Numpy


Ada beberapa atribut Numpy yang dapat digunakan untuk analisis data. Contohnya seperti di bawah ini.

1 a = np.array([1, 2, 3, 4, 5])
2 a

array([1, 2, 3, 4, 5])

size digunakan untuk mendapatkan ukuran array atau ada berapa jumlah elemen pada array.

1 a.size

ndim digunakan untuk mendapatkan informasi terkait dimensi array.

1 a.ndim

shape digunakan untuk mendapatkan informasi berupa tuple yang mengindikasikan ukuran dimensi array.

1 a.shape

(5,)

mean digunakan untuk mendapatkan nilai rata-rata dari array.

1 a.mean()

3.0

std digunakan untuk mendapatkan nilai standar deviasi dari array.

1 a.std()

1.4142135623730951

min digunakan untuk mendapatkan nilai minimum atau terkecil pada array.

1 a.min()

max digunakan untuk mendapatkan nilai maksimum atau terbesar pada array.

1 a.max()

86
Operasi pada array Numpy
Kita juga dapat melakukan operasi penjumlahan, perkalian serta dot product pada array.

Penjumlahan array dengan konstanta


contohnya seperti di bawah ini.

1 x = np.array([2, 3, 4])
2 x

array([2, 3, 4])

Setelah itu menjumlahkan masing-masing elemen pada array tersebut dengan angka 10.

1 x + 10 # Menjumlahkan array dengan konstanta 10

array([12, 13, 14])

Penjumlahan 2 array

1 x = np.array([3, 4]) # Membuat array x


2 x

array([3, 4])

1 y = np.array([1, 2]) # Membuat array y


2 y

array([1, 2])

Untuk menjumlahkan dua array tersebut, lakukan seperti di bawah ini.

1 # Menjumlahkan array x dan y


2
3 x + y

array([4, 6])

Pada output di atas, Penjumlahan dua array harus melibatkan dua array dengan dimensi yang sama dan
tidak mengubah dimensi array tersebut, jika tidak, maka akan terjadi error.

Perkalian array dengan konstanta

Masih menggunakan array a.

1 a = np.array([1, 2, 3])
2 a

array([1, 2, 3])

87
Lalu kalikan dengan 3

1 a * 3 # Mengalikan x dengan konstanta 3

array([3, 6, 9])
Perkalian dengan konstanta akan menghasilkan array dengan masing-masing elemen yang telah dikalikan 3.

Perkalian 2 array

1 x = np.array([3, 4]) # Membuat array x


2 y = np.array([1, 2]) # Membuat array y
3
4 x * y
array([3, 8])
Perkalian dua array otomatis mengalikan elemen dengan indeks yang sama.

Dot product

Dot product adalah bentuk perkalian vektor yang menghasilkan skalar. Di Numpy, atribut dot digunakan untuk
mendapatkan hasil dot product. Perhatikan contoh berikut.

1 x = np.array([3, 4]) # Membuat array x


2 y = np.array([1, 2]) # Membuat array y
3
4 np.dot(x, y)

11

Fungsi matematika pada Numpy


Numpy digunakan untuk memudahkan komputasi perhitungan bilangan. Banyak fungsi-fungsi yang dapat
digunakan untuk proses matematis.
Sebelum lanjut pada fungsi matematika, dengan numpy juga bisa mendapatkan nilai pi dengan
menggunakan atribut pi seperti di bawah ini.

1 np.pi # Mendapatkan nilai pi

3.141592653589793

Trigonometri
Jalankan kode seperti di bawah ini untuk melakukan operasi trigonometri untuk menghasilkan nilai sin,
cos, dan tan.

sin

1 a = np.array([0., 30., 45., 60., 90.])


2 np.sin(a * np.pi / 180.)

array([0. , 0.5 , 0.70710678, 0.8660254 , 1. ])

88
1 np.sin(np.pi/2.0)

1.0

cos

1 a = np.array([0., 30., 45., 60., 90.])


2
3 np.cos(a)

array([ 1. , 0.15425145, 0.52532199, -0.95241298, -0.44807362])

1 np.cos(np.pi)

-1.0

tan

1 a = np.array([0., 30., 45., 60., 90.])


2
3 np.tan(a)

array([ 0. , -6.4053312 , 1.61977519, 0.32004039, -1.99520041])

1 np.tan(np.pi/2.0)

1.633123935319537e+16

Eksponen dan Logaritma


Kita juga dapat menghitung eksponen dan logaritma menggunakan exp dan log.
exp
exp digunakan untuk menghitung exponen.

1 np.exp(10) # Contoh penggunaan fungsi exp

22026.465794806718

1 y = np.array([np.pi, np.pi*2, np.pi*3])


2 np.exp(y)

array([ 23.14069263, 535.49165552, 12391.64780792])

log

log digunakan untuk menghitung logaritma suatu bilangan.

1 np.log(1.2) # Contoh penggunaan fungsi log

0.1823215567939546

1 y = np.array([np.pi, np.pi*2, np.pi*3])


2 np.log(y)

array([1.14472989, 1.83787707, 2.24334217])

89
Untuk menghitung logaritma dengan basis 10, kita dapat menggunakan log10.

1 np.log10(0.3) # Contoh penggunaan log10

-0.5228787452803376

Untuk menghitung logaritma dengan basis 2, data dapat menggunakan log2.

1 np.log2(3) # Contoh penggunaan log2

1.584962500721156

Pembulatan bilangan
Di Numpy terdapat fungsi round, ceil, dan floor untuk menghasilkan pembulatan bilangan desimal, baik
itu pembulatan ke atas, maupun ke bawah.

round
round digunakan untuk menentukan ada berapa angka desimal yang kita inginkan.

1 # Membulatkan angka desimal menjadi 2 angka di belakang koma/titik decimal


2 np.round(2.87653297619012, 2)

2.88

1 # Membulatkan angka desimal menjadi 2 angka di belakang koma/titik decimal


2 np.round(3.16524398, 2)

3.17

ceil
ceil digunakan untuk membulatkan bilangan ke atas.

1 np.ceil(4.6)

5.0

1 # Membulatkan bilangan desimal pada array a ke atas


2
3 a = np.array([np.pi, np.pi*2, np.pi*3, np.pi*4, np.pi*5])
4 np.ceil(a)

array([ 4., 7., 10., 13., 16.])

floor
floor digunakan untuk membulatkan bilangan desimal ke bawah.

1 np.floor(5.9)

5.0

90
1 # Membulatkan bilangan desimal pada array x ke bawah
2
3 x = np.array([np.pi, np.pi*2, np.pi*3, np.pi*4, np.pi*5])
4 np.floor(a)

array([ 3., 6., 9., 12., 15.])

Linspace

linspace digunakan untuk mendapatkan array dari interval bilangan tertentu. Fungsi ini juga digunakan
untuk memplot fungsi matematika.

1 # Membuat array dalam interval [-4, 4]


2
3 np.linspace(-4, 4, num=5)

array([-4., -2., 0., 2., 4.])

Coba ganti parameter num menjadi 10 maka akan mendapatkan hasil array yang berbeda.

1 # Membuat array dalam interval [-4, 4] sebanyak 10 elemen


2 np.linspace(-4, 4, num=10)

array([-4. , -3.11111111, -2.22222222, -1.33333333, -0.44444444,


0.44444444, 1.33333333, 2.22222222, 3.11111111, 4. ])

Contoh penerapan linspace pada fungsi matematika.

1 import matplotlib.pyplot as plt


2 %matplotlib inline
3
4 a = np.linspace(0, np.pi*3, num=100)
5 y = np.cos(a)
6 plt.plot(a,y)

[<matplotlib.lines.Line2D at 0x7f37ca874b90>]

91
Numpy 2 Dimensi

Saatnya mencoba membuat array Numpy 2 dimensi dengan membuat matriks menggunakan Numpy.
Import Numpy terlebih dahulu

1 # Import numpy
2 import numpy as np

Membuat array Numpy 2 dimensi


Array 2 dimensi dibuat dari nested list atau list yang berada di dalam list. Perhatikan contoh di bawah ini.

1 list_a = [[10, 20, 30], [11, 21, 31], [12, 22, 32]]
2 list_a

[[10, 20, 30], [11, 21, 31], [12, 22, 32]]

Sekarang kita buat array numpy dari list tersebut.

1 A = np.array(list_a)
2 A

array([[10, 20, 30],


[11, 21, 31],
[12, 22, 32]])

Gunakan atribut-atribut Numpy yang telah dibahas sebelumnya, seperti ndim, size, shape, dtype, dan
sebagainya

1 A.ndim # Mengetahui dimensi array dari array A

1 A.size # Mengecek jumlah elemen

1 A.shape # Mengecek ukuran array di tiap dimensi

(3, 3)

1 A.dtype # Mengecek tipe data array

dtype('int64')

92
Mengakses elemen pada array
Pada dasarnya, elemen array 2 dimensi dapat diasumsikan sebagai baris dan kolom.

Mengambil elemen pada array A yang berada pada baris ketiga (indeks 2) dan kolom pertama(indeks 0)

1 A[2, 0] # Mengambil elemen pada baris 3 kolom 1

12

Dapat menggunakan cara lain untuk mengambil elemen pada array 2 dimensi, yaitu dengan
memisahkan indeks baris dan kolom seperti di bawah ini.

1 A[0, 0] # Mengambil elemen pada baris 1 kolom 1

10

Contoh lainnya

1 A[0, 2] # Mengambil elemen pada baris 1 kolom 3

30

Slicing

Untuk mengambil elemen pada array Numpy 2 dimensi dengan melakukan slicing. Misalnya ingin
mengambil elemen 10 dan 20 pada array A

1 A[0][0:2] # Mengambil elemen pada baris 1 kolom 1&2

array([10, 20])

93
Contoh lain

1 A[0][:2] # Mengambil elemen pada baris 1 kolom 1&2

array([10, 20])

1 A[0, 0:2] # Mengambil elemen pada baris 1 kolom 1&2

array([10, 20])

1 A[0, :2] # Mengambil elemen pada baris 1 kolom 1&2

array([10, 20])

Selanjutnya mengambil dua elemen terakhir pada kolom 3

1 A[1:, 2] # Mengambil elemen pada baris 2&3 kolom 3

array([31, 32])

Operasi pada array Numpy 2 dimensi


Seperti pada Numpy 1 dimensi yang telah dibahas pada bab sebelumnya, kita juga dapat melakukan
beberapa operasi pada array Numpy 2 dimensi.

Penjumlahan array dengan konstanta


Contohnya menjumlahkan array A dengan angka 5

1 A # Menampilkan array A

array([[10, 20, 30],


[11, 21, 31],
[12, 22, 32]])

94
Setelah menampilkan isi dari array A, jumlahkan dengan angka 5

1 A + 5 # Menjumlahkan array X dengan konstanta 5

array([[15, 25, 35],


[16, 26, 36],
[17, 27, 37]])

Hasilnya seluruh elemen pada array A dijumlahkan dengan angka 5.

Penjumlahan 2 array
Misalnya kita memiliki 2 array Numpy 2D, yaitu A dan B seperti di bawah ini.

1 X = np.array([[1, 2], [3, 4]]) # Membuat array X


2 X

array([[1, 2],
[3, 4]])

1 Y = np.array([[1, 3], [1, 2]]) # Membuat array Y


2 Y

array([[1, 3],
[1, 2]])

Contoh penjumlahkan 2 array seperti di bawah ini.

1 X + Y # Menjumlahkan array X dan Y

array([[2, 5],
[4, 6]])
Hasil kode program di atas adalah hasil dari penjumlahan elemen-elemen pada indeks yang sama di array X
dan Y.

Perkalian array dengan konstanta

Contohnya menggunakan array X lalu kalikan dengan 3.

1 X # Menampilkan array X
2 X * 3 # Mengalikan array X dengan 3

array([[ 3, 6],
[ 9, 12]])

Hasilnya akan menampilkan output berupa array yang tiap elemennya dikalikan dengan konstanta yang
bernilai 3.

Perkalian 2 array

Gunakan array X dan Y yang telah dibuat sebelumnya.

95
1 X # Menampilkan array X
2 Y # Menampilkan array Y
3 X * Y # Mengalikan array X dan Y

array([[1, 6],
[3, 8]])

Dot product

Dot product atau perkalian titik pada array 2 dimensi ini bisa disebut perkalian matriks.

1 X # Menampilkan array X
2 Y # Menampilkan array Y
3 np.dot(X, Y) # Dot product dari array X dan Y

array([[ 3, 7],
[ 7, 17]])

Berikut adalah contoh perhitungan dot product.

96

Anda mungkin juga menyukai