100% menganggap dokumen ini bermanfaat (2 suara)
215 tayangan

1 - Modul-Python

Modul ini membahas pengenalan bahasa pemrograman Python untuk pemula, termasuk cara mencetak output, menulis komentar, mengecek versi dan error Python, serta penjelasan tentang tipe data dasar seperti string, integer, float, dan boolean."

Diunggah oleh

Muhammad Ali Ridwan
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (2 suara)
215 tayangan

1 - Modul-Python

Modul ini membahas pengenalan bahasa pemrograman Python untuk pemula, termasuk cara mencetak output, menulis komentar, mengecek versi dan error Python, serta penjelasan tentang tipe data dasar seperti string, integer, float, dan boolean."

Diunggah oleh

Muhammad Ali Ridwan
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 98

ilmudatapy.

com

Modul Data Science - 1

Python

Untuk Pemula

Disusun oleh:

LUTFIA AFIFAH

Berdasarkan pengalaman penyusun belajar data science dari berbagai


pelatihan dan kursus baik offline maupun online.
Penyusun: Lutfia Afifah, S.Komp

Email: [email protected]

Github: https://github.com/lutfiaafifah

Website: https://ilmudatapy.com

Hak Cipta

Paket modul data science ini, termasuk ebook dan file IPYNB, hanya bisa didapatkan melalui website
https://ilmudatapy.com.

Dilarang menyebarluaskan ebook atau file IPYNB modul ini baik secara komersial maupun non-
komersial.
Kata Pengantar

Paket modul belajar data science ini ditujukan untuk siapa saja yang sedang belajar data science dan ingin
mempelajari bagaimana penerapan kode pemrograman Python untuk data science. Modul Python Untuk
Pemula ini merupakan modul pertama dari paket ini yang membahas tentang bahasa pemrograman Python
dari dasar yang dibutuhkan oleh Anda yang belum menguasai koding.

Bagi sebagian orang yang memiliki latar belakang pendidikan non-IT, mempelajari bahasa pemrograman
Python adalah suatu tantangan tersendiri dalam belajar data science. Oleh karena itu, modul ini dibuat untuk
memudahkan Anda belajar bahasa pemrograman Python dengan langsung memberi contoh kode program
dan menampilkan outputnya.

Paket modul belajar data science ini juga menyediakan versi file IPYNB atau file Jupyter Notebook sehingga
Anda dapat langsung menjalankan kode-kode program tersebut serta mencoba-coba dengan nilai dan
parameter lainnya untuk berlatih.

Akhir kata, semoga ebook ini bermanfaat bagi Anda untuk memperoleh skill baru yang mungkin berguna
untuk karir Anda ke depannya. Jika Anda memiliki saran, kritik atau masukan positif apapun yang dapat
membantu kami memperbaiki modul ini di masa depan, silahkan kirimkan ke email penyusun
[email protected].

Salam,

Lutfia Afifah
Pengenalan Python - 2

Tipe Data - 6

Variabel - 14

Ekspresi - 17

String - 22

List - 33

Tuple - 40

Dictionary - 45

Set - 51

Seleksi Kondisi - 60

Perulangan (Loop) - 69

Fungsi (Function) - 74

Numpy 1 Dimensi - 81

Numpy 2 Dimensi - 90

ilmudatapy.com
1
Pengenalan Python

Python adalah salah satu bahasa pemrograman yang banyak digunakan mengerjakan proyek data science karena
menyediakan banyak library yang mudah digunakan untuk mendukung berbagai tugas seperti manipulasi
dataframe, visualisasi, sampai proses pemodelan machine learning. Sebelum mempelajari penggunaan libraries
tersebut, kita akan belajar tentang dasar-dasar dari pemrograman Python yang tentunya akan memudahkan
Anda ke depannya, terutama bagi Anda yang belum banyak belajar pemrograman.

Baiklah, mari kita mulai belajar Python!

Mencetak output di Python


Bagian yang paling awal yang harus dipahami bagi pemula saat belajar mengoding adalah bagaimana mencetak
output/keluaran dari suatu kode program. Jika Anda pernah belajar memprogram dengan bahasa pemrograman
yang lain, yang pertama kali diajarkan pasti bagaimana cara mencetak "Hello World!". Nah, mari kita coba
mencetak "Hello World!" dengan dengan Python.

Untuk mencetak suatu kalimat ataupun isi dari sebuah variabel di Python, Anda bisa menggunakan sebuah
fungsi bawaan Python yaitu print(). Cara menggunakannya cukup mudah yaitu hanya meletakkan kalimat
yang ingin dicetak di dalam tanda kurung sebagai argumen.

print("Hello World!")

print('Hello World!')

print(100)

Untuk mencetak string (teks dan karakter) harus menggunakan tanda kutip yang mengapit string tersebut. Anda
dapat menggunakan tanda kutip dua maupun tanda kutip satu sesuai preferensi Anda.

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

"Hello World!"

ilmudatapy.com
2
'Hello World!'

100

Menulis komentar di Python


Dalam menulis kode program, seringkali diperlukan penjelasan mengenai potongan kode program tersebut
sehingga ada baiknya jika kita membubuhi komentar pada suatu kode program. Adanya komentar dapat
membantu orang lain yang melihat kode yang kita buat memahaminya. Selain itu, komentar juga sangat
bermanfaat bagi kita untuk mengingat maksud kode tersebut jika kita ingin mengeditnya lain waktu.

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

# Coba jalankan kode program ini

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


#print("Halo")

Setelah menjalankan cell di atas, kalimat # Coba jalankan kode program ini di baris paling atas di
abaikan oleh Python karena diawali simbol #.

Selanjutnya, kalimat # Kode ini berfungsi untuk menampilkan "Hello World!" yang diletakkan
satu baris dengan fungsi print() juga diabaikan oleh Python karena merupakan sebuah komentar yang diawali
simbol # sebagai penjelasan untuk kode program pada baris tersebut.

Yang terakhir, kode #print("Halo") juga tidak dieksekusi oleh Python dan dianggap sebagai komentar karena
sebelum kode program tersebut ada simbol #. Simbol # pada sebuah baris kode program bisa jadi sengaja
diletakkan karena si programmer enggan menampilkan output dari kode tersebut.

Menulis komentar panjang yang lebih dari satu baris


Python juga menyediakan cara jika kita ingin menulis komentar panjang yang lebih dari satu baris. Hal ini dapat
dilakukan dengan mengapit komentar tersebut dengan tiga tanda kutip dua.

"""
Komentar panjang yang terdiri dari beberapa baris,
dapat ditulis dengan diapit oleh tiga tanda kutip dua
seperti ini.
"""

print("Hello World!")

ilmudatapy.com
3
Contoh Error di Python
Dalam mengetik kode program, mungkin seringkali kita membuat kesalahan sehingga menyebabkan output yang
diharapkan tidak muncul. Saat Anda membuat kesalahan dalam penulisan kode misalnya, Python akan
memberikan pesan kesalahan yang akan menunjukkan kepada Anda dimana letak kesalahan yang Anda buat.
Jadi ada baiknya, pesan kesalahan tersebut dibaca baik-baik agar kita mengetahui bagian mana yang harus
diperbaiki.

Sebagai contoh misalnya, Anda membuat kesalahan dalam penulisan print yang ditulis frint.

# contoh kesalahan penulisan

frint("Selamat Pagi!")

Pada contoh di atas, pesan kesalahan yang kita terima di antaranya:

 Letak kesalahan yang kita buat, dalam hal ini ada pada baris ke-3 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 error berikutnya misalnya kita lupa memberikan pasangan tanda kutip untuk mencetak string.

# contoh kesalahan syntax

print("Selamat Pagi!)

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

# contoh kesalahan Print

Print("Selamat Pagi!")

ilmudatapy.com
4
Mengecek Versi Python
Untuk mengetahui versi Python yang sedang kita gunakan, kita dapat melihat pada pojok kanan atas Jupyter
Notebook. Selain itu, kita juga dapat mengeceknya dengan 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.

import sys
print(sys.version)

ilmudatapy.com
5
Tipe Data

Pada bab ini Anda akan belajar tentang tipe data dasar yang ada di Python. Jika Anda pernah belajar
pemrograman 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
dimana 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 hanya memiliki dua nilai yaitu True dan False.

String
String adalah sekumpulan karakter atau huruf. Di Python, tipe data string ditulis str. Objek string dibatasi oleh
tanda kutip satu atau kutip dua, jadi semua karakter di dalam tanda kutip, baik itu berupa huruf, angka, atau
karakter unik, merupakan bagian dari string tersebut.

print('Ini adalah contoh string yang ditulis dengan kutip satu')

print("Ini adalah contoh string yang ditulis dengan kutip dua")

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

Python juga memungkinkan kita menampilkan string tanpa menggunakan function print().

'Cetak string tanpa print() - 1'

"Cetak string tanpa print() - 2"

Dari output yang dihasilkan di atas dapat dilihat bahwa jika mencetak string tanpa print(), maka output yang
dikeluarkan mengandung tanda kutip satu, meskipun kode yang dipakai menggunakan tanda kutip dua.

ilmudatapy.com
6
String juga dapat berisi karakter kosong.

print("")

print('')

""

''

Jika karakter kosong ditulis menggunakan 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.

Lalu bagaimana jika ingin mencetak tanda kutip ?

Menampilkan string yang mengandung tanda kutip


Mungkin suatu saat kita perlu menampilkan teks yang mengandung tanda kutip. Namun, itu akan menghasilkan
error jika ditulis seperti string biasa.

print('My mom's shoes')

print("She said, "go!" ")

Setelah di-run, kita akan melihat 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 misalnya, maka pembatas string yang
digunakan harus tanda kutip dua. Begitu pula sebaliknya, jika ingin menampilkan tanda kutip dua, maka
pembatas string-nya menggunakan tanda kutip satu. Coba jalankan kode di bawah ini.

print("My mom's shoes ")

ilmudatapy.com
7
print('She said, "go!" ')

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

print('My mom\'s shoes')

print("She said, \"go!\" ")

Silahkan pilih cara yang dirasa paling mudah.

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 mengeluarkan output berupa integer juga bisa menggunakan print() maupun langsung menuliskan
bilangannya langsung, namun tidak perlu dibatasi oleh tanda kutip.

print(12345)

20

print(-10)

ilmudatapy.com
8
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. Perhatikan contoh-contoh berikut.

print(0.2)

-3.85

print(.20)

print(.28)

.2

print(4.)

4.

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

print(2 == 3)

2 == 3

print(4 == 4)

4 == 4

ilmudatapy.com
9
print("AKU" == "aku")

"AKU" == "aku"

print('ini' == 'ini')

'ini' == 'ini'

Pada contoh 1, kita menuliskan 2 sama dengan 3 dan menghasilkan output False, yang berarti 2 memang tidak
sama dengan 3. Selanjutnya contoh 2 menghasilkan output True karena memang 4 sama dengan 4.

Untuk contoh menggunakan string, "AKU" dan "aku" menghasilkan output False dan dianggap bukan merupakan
string yang sama karena Python ini case sensitive, artinya huruf besar tidak sama dengan huruf kecil. Sementara
contoh terakhir menghasilkan nilai True karena dua string yang dibandingkan ditulis dengan huruf kecil, jadi
dianggap sama.

Mengecek Tipe Data


Python memiliki banyak built-in function yang dapat memudahkan pekerjaan kita, salah satunya yaitu type()
yang berfungsi untuk memeriksa jenis tipe data.

type(6)

type(-1)

type(0.5)

type('saya lapar')

type(2==3)

type(True)

Dapat dilihat dari output yang dihasilkan bahwa output dari type() adalah jenis tipe data dari objek yang
dimaksud (yang di dalam tanda kurung).

ilmudatapy.com
10
Konversi Tipe Data
Di Python, kita juga dapat mengonversi tipe data dari suatu objek, misalnya dari integer ke float (misalnya 2
menjadi 2.0). Mari kita cek terlebih dahulu tipe datanya.

type(2)

Konversi Integer ke Float dan sebaliknya


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

float(2)

Nah, sekarang kita akan mengecek tipe datanya.

type(float(2))

Saat kita mengonversi integer ke float, nilai yang dihasilkan tidak berubah. Namun berbeda saat kita 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 int().

int(1.4)

int(-3.8)

int(98.78)

Konversi String ke bilangan (Integer atau Float)


Terkadang kita perlu mengonversi string yang merupakan karakter angka menjadi bertipe integer atau float agar
dapat dilakukan operasi aritmatika.

int('20')

int('-3')

ilmudatapy.com
11
float('99.5')

float('-27')

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

int('25 derajat celcius')

float('2.5 dan 3.5')

Konversi bilangan (Integer dan Float) ke String


Bukan hanya dapat mengonversi string menjadi bertipe integer atau float, kita juga dapat mengonversi integer
dan float menjadi bertipe string. Untuk mengonversi objek menjadi string, gunakan str().

str(20)

str(-15)

str(87.02)

Konversi Boolean ke bilangan (Integer atau Float) dan Sebaliknya


Tipe boolean merepresentasikan sebuah angka. Jika kita mengonversi True menjadi integer atau float, maka
akan didapatkan nilai 1 atau 1.0, sedangkan False akan menghasilkan nilai 0 atau 0.0. Sebaliknya, jika kita
mengonversi angka 1 ke tipe boolean, maka akan menghasilkan True, sedangkan angka 0 akan menghasilkan
False. Untuk konversi ke tipe boolean, gunakan bool().

int(True)

ilmudatapy.com
12
int(False)

float(True)

float(False)

bool(1)

bool(0)

bool(1.0)

bool(0.0)

ilmudatapy.com
13
Variabel

Variabel adalah identifier atau bisa juga dikatakan sebuah wadah untuk menampung data yang memiliki nilai
yang dinamis atau dapat berubah-ubah. Di Python, variabel tidak perlu dideklarasikan di awal seperti pada
aturan beberapa bahasa pemrograman lain. Jadi kita bisa langsung menginisialisasi variabel yang akan dipakai.

Inisialisasi Variabel
Inisialisasi variabel sangat mudah yaitu hanya menggunakan tanda sama dengan (=). Inisialisasi variabel harus
ditulis terlebih dahulu sebelum digunakan.

x = 10
print(x)

Seperti yang pernah dibahas di bab sebelumnya, kita juga bisa mencetak nilai variabel tanpa menggunakan
print().

Nilai dalam variabel yang sudah digunakan juga bisa diganti. Misalnya kita akan mengganti nilai variabel x
menjadi 2000.

x = 2000
x

Sebelumnya kita telah memberi nilai x dengan bilangan integer 10, kemudian pada kode di atas kita
memberikan nilai baru pada variabel x dengan bilangan integer 2000. Saat kita mencetak x, maka output yang
akan keluar adalah 2000. Itu karena nilai x sekarang adalah 2000 dan nilai 10 yang sebelumnya telah terhapus.

Nilai sebuah variabel juga bisa diganti dengan tipe data yang berbeda.

var = 3.38
print(var)

ilmudatapy.com
14
var = "Ganti menjadi string"
print(var)

Variabel var sebelumnya memiliki nilai 3.38 yang berarti tipe datanya adalah float, selanjutnya isi variabel var
diganti menjadi sebuah string. Nilai variabel yang digunakan adalah nilai yang diinisialisasi paling terakhir, karena
itu jika kita akan menggunakan kembali variabel dengan nilai sebelumnya, kita harus menginisialisasi kembali
variabel tersebut dengan nilai yang dimaksud.

Memberi nilai beberapa variabel dengan nilai yang sama


Jika kita ingin membuat dua atau lebih variabel dengan nilai yang sama, kita tidak perlu menginisialisasi satu per
satu variabelnya dengan nilai tertentu, melainkan bisa dengan hanya satu baris kode untuk inisialisasinya.

a = b = c = 100

Jika kita print() ketiga variabel tersebut, ketiganya akan mengeluarkan output yang sama yaitu 100.

print(a, b, c)

Bisa kita lihat bahwa variabel a, b, dan c sama-sama memiliki nilai 100. Nah, misalnya kita ingin mengubah nilai
dari salah satu variabel tersebut, katakanlah b yang akan kita ubah.

b = 500

Maka saat kita melakukan print(), nilai b sudah berubah menjadi 500.

print(a, b, c)

Aturan Penamaan variabel


Dari contoh-contoh yang telah dipelajari di atas, nama variabel yang digunakan adalah nama-nama yang pendek
seperti x, a, b, dan lainnya. Namun, pada kenyataannya nama variabel dapat lebih panjang yang merujuk pada
penggunaanya agar lebih mudah mengingat dan memahaminya. Misalnya jika ingin membuat variabel untuk
menampung nilai mahasiswa, kita dapat menamai variabel dengan misalnya nilaiMhs atau nilai_mhs.

nama_mhs = 'Lutfia'
matkul_mhs = 'Algoritma'
nilai_mhs = 80

print(nama_mhs, matkul_mhs, nilai_mhs)

ilmudatapy.com
15
Nama variabel tidak boleh diawali dengan angka seperti di bawah ini.

# Contoh penamaan variabel yang diawali angka akan menghasilkan error

288x = 100

Perlu dicatat bahwa Python ini case sensitive, artinya bahwa huruf besar dan huruf kecil tidaklah sama.
Perhatikan contoh berikut.

nilai = 70
Nilai = 80
NILAI = 90

print(nilai, Nilai, NILAI)

Meskipun sama-sama dibaca "nilai", namun tiga variabel tersebut berbeda. nilai tidak sama dengan NILAI
ataupun Nilai. Jadi, perhatikan baik-baik penamaan variabelnya.

Kata-kata yang tidak boleh digunakan sebagai nama variabel


Ada beberapa kata yang tidak boleh digunakan sebagai variabel karena kata-kata tersebut memiliki fungsi
tersendiri di Python, misalnya True dan False yang merupakan keyword untuk tipe data boolean. Kita dapat
mengeceknya dengan kode berikut.

help("keywords")

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

if = 4

ilmudatapy.com
16
Ekspresi

Pada bab ini kita akan membahas tentang ekspresi di Python termasuk di dalamnya akan dibahas operasi
aritmatika di Python 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 perhitungan, sedangkan operand adalah nilai yang dieksekusi oleh
operator tersebut. Sebuah operand dapat berupa variabel yang berisikan objek maupun sebuah nilai langsung
yang berupa angka.

Simple Expression
Operasi Penjumlahan
Operasi penjumlahan di Python dapat menggunakan operator +. Perhatikan contoh di bawah ini.

10 + 65

87 + 3 + 54 + 12

a = 15
b = 30

a + b # Ekspresi penjumlahan dengan operand berupa variabel

a + b + 10 # Ekspresi penjumlahan dengan operand berupa variabel dan angka

Operasi Pengurangan
Operasi pengurangan di Python dapat menggunakan operator -. Perhatikan contoh di bawah ini.

70 - 30

ilmudatapy.com
17
189 - 37 - 62

a = 15
b = 30

a - b # Ekspresi pengurangan dengan operand berupa variabel

b - a - 4 # Ekspresi pengurangan dengan operand berupa variabel dan angka

Operasi Perkalian
Operasi perkalian di Python dapat menggunakan operator *. Perhatikan contoh di bawah ini.

8 * 8

2 * 5 * 3

a = 15
b = 30

a * b # Ekspresi perkalian dengan operand berupa variabel

a * 5 # Ekspresi perkalian dengan operand berupa variabel dan angka

Operasi Pembagian
Operasi pembagian di Python dapat menggunakan operator /. Perhatikan contoh di bawah ini.

20 / 4

100 / 2 / 3

a = 15
b = 30

b / a # Ekspresi pembagian dengan operand berupa variabel

ilmudatapy.com
18
b / 4 # Ekspresi pembagian dengan operand berupa variabel dan angka

Hasil dari operasi pembagian menggunakan / selalu dalam bentuk bilangan float, meskipun tidak ada sisa bagi.

Operasi Sisa Hasil Bagi (Modulo)


Operasi sisa hasil pembagian atau modulo di Python dapat menggunakan operator %. Perhatikan contoh di
bawah ini.

20 % 4

20 % 3

a = 15
b = 30

b % a # Ekspresi modulo dengan operand berupa variabel

b % 9 # Ekspresi modulo dengan operand berupa variabel dan angka

Operasi Pembagian dengan Pembulatan ke Bawah


Operasi pembagian dengan pembulatan ke bawah di Python dapat menggunakan operator //. Perhatikan
contoh di bawah ini.

10 // 3

78 // 5

a = 15
b = 30

a // b

Jika hasil pembulatan pembagian adalah negatif maka angkanya dibulatkan ke atas, karena dalam bilangan
negatif semakin besar angkanya maka semakin kecil. Jadi pada dasarnya operator // tetap membulatkan hasil
bagi ke bilangan integer yang lebih kecil (pembulatan ke bawah). Perhatikan contoh berikut.

ilmudatapy.com
19
8 // 3

8 // -3

8 // 3

8 // -3

Operasi Eksponensial
Operasi eksponensial atau pangkat di Python dapat menggunakan operator **. Perhatikan contoh di bawah ini.

3 ** 2 # Tiga pangkat dua

a = 15
b = 4

a ** b # a pangkat b

a ** 2

8 ** b

Complex Expression
Kita juga dapat membuat ekspresi yang kompleks, misalnya perhitungan nilai rata-rata atau perhitungan
gabungan berbagai operator lainnya. Perhatikan contoh berikut.

(69 + 20) * 6 / 2

x = 10

(x - 15) * (8 / x)

nilai_akhir = (80 + 75 + 92 + 68) / 4


nilai_akhir

ilmudatapy.com
20
(30 ** 2) / 17 + 100

Aturan perhitungan di Python sama dengan matematika biasa


Tidak berbeda dengan perhitungan matematika biasa, perhitungan di Python juga mengikuti aturan yang sama.
Misalnya mendahulukan memproses yang ada di dalam tanda kurung () dan mendahulukan proses perkalian
dan pembagian dibandingkan penjumlahan dan pengurangan.

30 / (8 - 2)

30 / 8 - 2

x = 100
y = 20
z = 5

(x + y) * z

x + y * z

Dapat dilihat dari output yang dihasilkan dari beberapa blok kode di atas, hasil dari 30/(8-2) yang
mengeluarkan output yang berbeda dengan 30/8-2.

Sementara itu pada contoh berikutnya, output dari (x+y)*z juga memiliki nilai yang berbeda dengan x+y*z.

ilmudatapy.com
21
String

Pada bab ini, kita akan membahas tentang operasi yang dapat dilakukan pada string menggunakan bahasa
pemrograman Python.

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

Contoh String
"Selamat datang" # Contoh string yang menggunakan tanda kutip dua

'Selamat datang' # Contoh string menggunakan tanda kutip satu

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

'12345' # Contoh string yang berupa bilangan

Bilangan yang di-assign sebagai string, tidak dapat diproses untuk perhitungan aritmatika.

Kita juga dapat menggunakan print() untuk mencetak string.

print('Selamat datang')

Sama seperti tipe objek yang berupa bilangan, string juga dapat dimasukkan ke dalam variabel.

kota = 'Jakarta'
kota

ilmudatapy.com
22
Operasi String
Menggabungkan string
Untuk menggabungkan dua string atau lebih, Anda dapat menggunakan operator +. Lihat contoh di bawah ini.

nama = 'John'

'Nama saya ' + nama

sambutan = 'Selamat datang'


nama = 'John'

sambutan + ', ' + nama

pernyataan = nama + ' is the best'


pernyataan

Menduplikasi string
Untuk menduplikasi string, Anda dapat menggunakan operator *. Perhatikan contoh di bawah ini.

s = "Apel"

3 * s

s * 5

'Apel ' * 5

Bilangan pengali string harus berupa bilangan integer positif. Penggunaan angka 0 maupun bilangan negatif
sebagai pengali akan menghasilkan karakter kosong.

s * 0

-9 * s

ilmudatapy.com
23
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, True atau False. String atau karakter yang ingin dicek keberadaannya juga
bisa berupa kata maupun hanya satu karakter saja.

a = "apel"

a in "jeruk, apel, melon, mangga"

b = "anggur"
buah = "jeruk, apel, melon, mangga"

b in buah

'j' in 'michael jackson'

'ma' in 'michael jackson'

Mengecek keberadaan string (apakah tidak ada?)


Operator not in dapat digunakan untuk mengecek keberadaan string. Namun perbedaannya dengan operator
in adalah not in akan mengecek apakah suatu karakter tidak berada di dalam string.

a = "apel"

a not in "jeruk, apel, melon, mangga"

b = "anggur"
buah = "jeruk, apel, melon, mangga"

b not in buah

'j' not in 'michael jackson'

'ma' not in 'michael jackson'

ilmudatapy.com
24
Indexing
String terdiri dari rentetan karakter. Setiap karakter dalam string dapat diakses menggunakan indeks yang
direpresentasikan oleh bilangan integer. Indeks string dimulai dari 0, 1, 2, dan seterusnya. Spasi juga termasuk
karakter, jadi spasi yang ada di dalam string ikut terindeks.

provinsi = "DKI Jakarta"


provinsi[0]

print(provinsi[0])

provinsi[6]

provinsi[9]

Negative Indexing
Jika kita ingin mengambil isi indeks dari bagian belakang string, kita dapat menggunakan negative indexing.

provinsi[-1]

provinsi[-9]

ilmudatapy.com
25
Slicing
Kita dapat mengambil beberapa karakter pada string menggunakan slicing. Misalnya kita ingin mengambil isi
indeks 0-2 dan 5-8.

Angka pertama adalah indeks dimana kita akan mulai memotong, sedangkan angka kedua adalah indeks terakhir
yang ingin dipotong ditambah 1.

Jika kita ingin mengambil kata "DKI" dimana itu merupakan indeks 0-2, kita harus menuliskan kodenya dengan
provinsi[0:3]. Jika kita hanya menulis kodenya dengan provinsi[0:2], maka yang terambil hanya "DK".

provinsi[0:3]

provinsi[0:2]

provinsi[5:9]

provinsi[5:8]

Stride
Kita juga dapat mengambil beberapa karakter dengan langkah yang kita inginkan. Misalnya kita ingin mengambil
string dengan diloncat satu karakter alias setiap dua langkah.

ilmudatapy.com
26
Jika kita akan menerapkannya pada seluruh karakter pada string, kita dapat menulis kodenya seperti pada blok
kode di bawah ini. Kita menulis angka 2 pada sebagai jumlah langkah yang ingin diambil.

provinsi[::2] # Mengambil karakter setiap dua langkah

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

provinsi[4:11:2] # Mengambil karakter dari indeks 4-10 dengan 2 langkah

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

provinsi[4::2] # Mengambil karakter dari indeks 4 sampai akhir dengan 2 langkah

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

provinsi[:7:2] # Mengambil karakter dari indeks pertama hingga indeks 6 dengan 2

Selain dua langkah, kita juga bisa menentukan berapapun langkah yang diinginkan.

provinsi[::4] # Mengambil karakter setiap empat langkah

Built-in function yang dapat digunakan pada string


Seperti kita tahu bahwa Python menyediakan built-in function yang dapat memudahkan kita melakukan proses
koding. Ada empat built-in function yang dapat digunakan untuk memproses string.

Konversi karakter menjadi integer dengan ord()

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

Komputer menyimpan segala informasi apapun sebagai angka/bilangan. Untuk merepresentasikan data,
digunakan skema terjemahan yang memetakan setiap karakter ke angka yang mewakilinya. Skema yang paling
umum digunakan adalah ASCII yang merupakan kepanjangan dari American Standard Code for Information
Interchange.

Singkatnya, setiap karakter di komputer itu memiliki angka unik masing-masing. Nah, fungsi ord() ini berfungsi
untuk menampilkan kode ASCII dari sebuah karakter.

ilmudatapy.com
27
ord('a') # Kode ASCII untuk a

ord('s') # Kode ASCII untuk s

ord('?') # Kode ASCII untuk ?

ord('$') # Kode ASCII untuk $

Konversi integer menjadi karakter dengan chr()

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

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

chr(97) # Karakter dengan kode ASCII 97

chr(115) # Karakter dengan kode ASCII 115

chr(63) # Karakter dengan kode ASCII 63

chr(36) # Karakter dengan kode ASCII 36

Menghitung panjang string dengan len()

len() berfungsi untuk menghasilkan panjang dari sebuah string.

Jika kita ingin mengetahui panjang string, kita dapat menggunakan fungsi len(). Fungsi len() menghitung
jumlah karakter pada string, termasuk spasi, dan menampilkan outputnya dalam bentuk bilangan integer.

len('John')

len(' ')

len('1 + 2 = 3')

s = 'Dia tidak datang hari ini.'


len(s)

ilmudatapy.com
28
Konversi objek bilangan menjadi string dengan str()

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

Di Python, kita dapat mengubah tipe data dari sebuah objek. Untuk pengkonversian tipe data menjadi sebuah
string dapat menggunakan fungsi str().

str(30.8)

str(30 + 20)

Pada contoh pertama, 30.8 yang merupakan bilangan float diubah menjadi string dengan ditandai dengan
adanya batasan tanda kutip pada output yang dihasilkan. Begitu pula pada contoh kedua. Operasi bilangan
integer yang berupa penjumlahan dieksekusi terlebih dahulu sebelum hasilnya dikonversi menjadi string.

Jika objek sudah berupa string, maka akan tetap string seperti contoh di bawah ini.
str('hallo')

Method yang dapat digunakan pada string


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

a = "Saya sedang belajar Python"


print("sebelum : ", a)

b = a.lower()
print("sesudah : ", b)

"PYTHON".lower()

prov = 'DKI Jakarta'


prov.lower()

Konversi string menjadi huruf besar (kapital)


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

ilmudatapy.com
29
a = "Saya sedang belajar Python"
print("sebelum : ", a)

b = a.upper()
print("sesudah : ", b)

"python".upper()

prov = 'DKI Jakarta'


prov.upper()

Mengganti string tertentu dengan string lainnya


.replace() berfungsi untuk mengganti nilai string. Ada dua argumen yang harus kita definisikan, yang pertama
adalah string yang akan diubah, dan yang kedua adalah string penggantinya.

a = "Saya sedang belajar Python"


a.replace("Python", "Java dan PHP")

Anda juga dapat mengubah seluruh string.

kota = "Bandung"
kotaBaru = kota.replace(kota, "Bogor") # Memasukkan hasil replace ke variabel baru
kotaBaru

a = "Saya sedang belajar Python"


b = "Dia tertarik dengan data science"

a = a.replace(a, b) # Memasukkan hasil replace ke variabel a


a

Mencari posisi sub-string tertentu


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

ilmudatapy.com
30
provinsi = 'DKI Jakarta'
provinsi.find('KI')

provinsi.find('akar')

provinsi.find('J')

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

provinsi.find('Jabgtwk')

Menghitung jumlah sub-string tertentu


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

teks = "Bandung adalah ibukota Jawa Barat. Saya berasal dari Bandung."
teks.count("Bandung")

jumlah_a = teks.count('a')
print(jumlah_a)

"Mississippi".count('s')

Mengecek apakah string diakhiri dengan karakter tertentu


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

teks = "Bandung adalah ibukota Jawa Barat. Saya berasal dari Bandung."
teks.endswith(".")

teks.endswith("Bandung")

s = "Selamat datang di Bandung"


s.endswith("Bandung")

ilmudatapy.com
31
Mengubah huruf pertama string menjadi huruf kapital
.capitalize() berfungsi untuk mengubah huruf pertama dalam sebuah string menjadi huruf kapital.

kalimat = "hari ini hujan deras."


kalimat.capitalize()

"besok saya akan pergi bersama ibu.".capitalize()

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

Newline
Untuk membuat newline atau baris baru, kita dapat menggunakan \n.

print(' Hari ini hujan deras \n disertai petir.')

print("Dia tidak pintar \ntetapi rajin.")

Tab
Untuk membuat tab, kita dapat menggunakan \t.
print(' Hari ini hujan deras \t disertai petir.')

print("Dia tidak pintar \ttetapi rajin.")

Backslash
Menampilkan backslash juga tidak bisa dilakukan secara langsung, melainkan dengan menggunakan backslash di
depannya sehingga akan ada double backslash \\.

print(' Hari ini hujan deras \\ disertai petir.')

print("Dia tidak pintar \\tetapi rajin.")

ilmudatapy.com
32
List

Pada bab ini kita akan belajar tentang list, termasuk manipulasi list seperti menambah, menghapus, dan
mengubah elemen list, serta indexing, slicing, stride pada list.

List adalah salah satu tipe data yang ada di Python selain tipe data dasar seperti string, integer, float, dan
boolean. List mirip dengan array di bahasa pemrograman lain namun lebih fleksibel. List digunakan untuk
menyimpan koleksi data dalam berbagai tipe data seperti string, integer, float, dan sebagainya. Kita juga dapat
menyimpan data berupa list di dalam sebuah list.

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

a = [1, 2, 3, 4, 5]
print(a)

fruits = ['apple', 'orange', 'mango', 'guava', 'melon', 'durian']


print(fruits)

List juga dapat berisi objek dengan berbagai tipe data.

b = ['John', 23, True, 3.87]


print(b)

Mengakses List
Indexing
Pada dasarnya, indexing pada list sama dengan indexing pada string yang sudah didiskusikan pada materi
sebelumnya. Indexing dimulai dari angka 0 dan seterusnya, atau bisa juga menggunakan negative indexing
seperti pada gambar berikut.

ilmudatapy.com
33
Untuk mengakses isi list pada indeks tertentu, Anda dapat menuliskan nama list disertai dengan kurung siku
yang berisi nomor indeks yang dimaksud.

fruits = ['apple', 'orange', 'mango', 'guava', 'melon', 'durian']


fruits[1]

fruits[-3]

print(fruits[4])

Slicing
Seperti string, kita juga dapat melakukan slicing atau memotong list untuk mengambil bagian tertentu. Misalnya
kita ingin mengambil elemen list apple, orange, dan mango.

fruits = ['apple', 'orange', 'mango', 'guava', 'melon', 'durian']


fruits[0:3]

Jika kita menggunakan fruits[0:2], maka mango tidak akan terbawa.

fruits[0:2]

print(fruits[2:5])

Stride

fruits = ['apple', 'orange', 'mango', 'guava', 'melon', 'durian']


fruits[::2]

fruits[1::2]

fruits[1:5:2]

ilmudatapy.com
34
Nested List
Selain berisi string, integer, float, dan boolean, list juga dapat berisi list lain. Ini dinamakan nested list atau list
bersarang.

m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]


m

Pada contoh di atas, list m mengandung tiga sub-list. Lihat ilustrasinya di bawah ini.

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

n = [2, 'apple', ['a', 'b'], 80.6, [100, 300]]


print(n)

Mengakses nested list


Untuk mengambil elemen list yang berada di dalam list, kita membutuhkan dua indeks. Pertama adalah indeks
dari list di dalam list n, kedua adalah indeks elemen yang ada di dalam list. Misalnya kita akan mengambil a.

ilmudatapy.com
35
n = [2, 'apple', ['a', 'b'], 80.6, [100, 300]]
n[2][0]

n[2][1]

n[4][0]

n[4][1]

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

Mengubah elemen list


Misalnya dari list fruits kita akan mengubah melon menjadi watermelon.

fruits = ['apple', 'orange', 'mango', 'guava', 'melon', 'durian']


fruits

fruits[4] = 'watermelon' # Mengubah isi indeks 4 menjadi 'watermelon'


fruits

Misalnya kita juga akan mengubah apple menjadi pineapple.

fruits[0] = 'pineapple'
fruits

Sekarang list fruits sudah berubah isinya.

Menambah/menggabungkan list
Menambah elemen baru pada list dapat menggunakan operator + ataupun method yang tersedia di Python.

Menggunakan operator +

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

ilmudatapy.com
36
# Menambahkan 10 dan 20 pada akhir list fruits
fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']
fruits = fruits + [10, 20]
fruits

# Menambahkan 'apple' pada awal list fruits


fruits = ['apple'] + fruits
print(fruits)

Menggunakan method

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

append()

append() adalah salah satu method yang dapat digunakan untuk manipulasi list yaitu untuk menambahkan
elemen baru di akhir list.

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


fruits.append('apple')
fruits

Harap dicatat bahwa method list, termasuk salah satunya adalah append(), hanya melakukan modifikasi list di
list itu sendiri dan tidak bisa menghasilkan list baru. Perhatikan contoh berikut.

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


x = fruits.append('apple')
x

Pada contoh di atas, kita menggunakan contoh sebelumnya, namun fruits.append('apple') dimasukkan
ke dalam list baru yaitu x. Alhasil, saat kita mencoba menampilkan isi dari list x, tidak keluar hasil apapun alias
kosong.

extend(< iterable >)

Method extend() berfungsi sama seperti append() yakni untuk menambahkan elemen baru pada list namun
elemen tersebut ditambahkan secara individual. Masih belum paham? Jadi gini, nantinya elemen yang kita
letakkan di dalam tanda kurung akan dipisahkan per karakter.

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


fruits.extend('apple')
print(fruits)

ilmudatapy.com
37
Lalu bagaimana jika ingin menggunakan method extend() namun mengharapkan output yang tidak terpisah
seperti itu? Caranya adalah dengan membatasi string tersebut dengan tanda kurung siku [].

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


fruits.extend(['apple'])
print(fruits)

insert(< index >, < object >)

Method insert() digunakan apabila kita ingin menyisipkan elemen baru di list pada indeks tertentu. Misalnya
kita ingin menambahkan apple pada indeks ke 2.

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


fruits.insert(2, 'apple')
print(fruits)

Menghapus elemen list


Menghapus elemen atau item di list bisa menggunakan command del atau menggunakan method yang
disediakan Python.

Menggunakan perintah (del)

Perintah del merupakan salah satu cara menghapus list berdasarkan indeks . Misalnya kita akan menghapus
item pada indeks ke 3 yaitu guava dari list fruits.

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


del fruits[3]
fruits

Menggunakan method

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

remove(< object >)

Method remove() akan menghapus item di dalam sebuah list berdasarkan nama item atau elemen tersebut.
Misalnya kita akan menghapus mango dari list fruits.

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


fruits.remove('mango')
fruits

ilmudatapy.com
38
pop(< index >)

Jika kita ingin menghapus elemen list berdasarkan indeks, kita bisa menggunakan method pop().

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


fruits.pop(1)
fruits

pop()

Jika tidak memasukkan nomor indeks ketika menggunakan pop(), maka yang akan terhapus adalah objek atau
elemen paling akhir yang ada di dalam list.

fruits = ['pineapple', 'orange', 'mango', 'guava', 'watermelon', 'durian']


fruits.pop()
fruits

ilmudatapy.com
39
Tuple

Tuple merupakan salah satu tipe data di Python yang terdiri dari 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, hanya saja tuple bersifat immutable yang berarti tidak dapat diubah-ubah isinya.
Jadi, kita tidak dapat menambahkan elemen baru pada tuple, maupun menghapus dan mengubah nilai-nilai dari
setiap elemen di dalam tuple.

Tuple didefinisikan menggunakan tanda kurung ().

hari = ('senin', 'selasa', 'rabu', 'kamis', 'jumat', 'sabtu', 'minggu')


hari

cth_tuple = ('Budi', 30, 6000, 3.77)


cth_tuple

Mengakses tuple
Indexing
Sama seperti list, tuple dapat diakses menggunakan indeks.

cth_tuple = ('Budi', 30, 6000, 3.77)


cth_tuple[2]

print(cth_tuple[0])
print(cth_tuple[1])
print(cth_tuple[2])
print(cth_tuple[3])

ilmudatapy.com
40
Kita juga dapat menggunakan negative indexing dalam mengakses elemen tuple yang dimulai dari -1 untuk
elemen paling belakang.

cth_tuple[-1]

print(cth_tuple[-1])
print(cth_tuple[-2])
print(cth_tuple[-3])
print(cth_tuple[-4])

Slicing
Kita juga dapat memotong tuple untuk mendapatkan elemen dengann range indeks tertentu.

cth_tuple = ('Budi', 30, 6000, 3.77)


cth_tuple[0:3]

Jika ingin mengambil dua elemen terakhir pada tuple cth_tuple, gunakan kode berikut.

cth_tuple[2:4]

atau kita juga bisa tidak memasukkan angka setelah tanda titik dua :.

cth_tuple[2:]

Jika kita ingin mengakses elemen dari mulai indeks 0 sampai indeks tertentu, kita bisa tidak menuliskan angka
pertama sebelum titik dua :.

cth_tuple[:3]

Nested Tuple
Selain berisi objek dengan tipe data string, integer, atau float, tuple juga dapat berisi tuple lain. Ini dinamakan
nested tuple atau tuple bersarang.
nested_tuple = ('a', 'b', (1, 2, 3), ('c', (4, 'd')), 5)
nested_tuple

ilmudatapy.com
41
# print elemen dari masing-masing indeks

print('elemen 0: ', nested_tuple[0])


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

Mengakses nested tuple


Untuk mengakses elemen yang berada di dalam nested tuple, perhatikan kode berikut.

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

# Mengakses nested tuple

print('elemen 2, 0 :', nested_tuple[2][0])


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

nested_tuple[3][1][0]

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


print('elemen 3, 1, 1 :', nested_tuple[3][1][1])

Operasi tuple
Sorting tuple
Kita dapat mengurutkan elemen di tuple menggunakan fungsi sorted(). Perhatikan contoh tuple berikut.

bil = (8, 3, 10, 2, 9, 1, 5, 2, 7, 4)

ilmudatapy.com
42
Kita dapat menggunakan fungsi sorted() untuk mengurutkan lalu memasukkannya pada variabel baru.

bil_sorted = sorted(bil)
bil_sorted

Selain integer, kita juga dapat mengurutkan string secara ascending.

buah = ('durian', 'anggur', 'delima', 'mangga', 'jambu')


buah_sorted = sorted(buah)
buah_sorted

Menghitung panjang tuple


Untuk menghitung panjang tuple, kita dapat menggunakan fungsi len(). Fungsi ini akan menghasilkan sebuah
bilangan integer yang merepresentasikan jumlah elemen pada tuple.

bil = (8, 3, 10, 2, 9, 1, 5, 2, 7, 4)


len(bil)

buah = ('durian', 'anggur', 'delima', 'mangga', 'jambu')


len(buah)

Menggabungkan tuple
Untuk menggabungkan tuple kita dapat menggunakan operator +.

bil2 = bil + (100, 200, 'halo')


bil2

new_tuple = bil + buah


print(new_tuple)

Mengubah tuple menjadi list dan sebaliknya

Seperti yang sudah disebutkan di atas, tuple bersifat immutable (tidak dapat diubah isinya), sehingga jika kita
ingin mengubah isi tuple, kita harus mengubahnya dahulu menjadi list yang bersifat mutable (dapat diubah).

Sebelum diubah menjadi list, mari kita coba mengubah elemen tuple tanpa konversi. Cara ini tentu saja akan
menghasilkan error.

ilmudatapy.com
43
buah = ('durian', 'anggur', 'delima', 'mangga', 'jambu')

# Mengganti tuple buah untuk indeks 0


buah[0] = 'jeruk'
buah

Sekarang mari kita ubah dahulu tuple buah tersebut menjadi list dengan kode di bawah ini.

list_buah = list(buah)
list_buah

Setelah menjadi sebuah list, sekarang Anda dapat mengubah, menambahkan, atau menghapus isinya.

list_buah[0] = 'jeruk'
list_buah

Sekarang kita akan mengubah kembali list tersebut menjadi tuple dengan kode di bawah ini.

buah = tuple(list_buah)
buah

Mengecek tipe data tuple


Untuk mengecek tipe data tuple, kita dapat menggunakan fungsi type().
type(buah)

Kita juga dapat mengecek tipe data dari elemen di dalam tuple.

type(buah[0])

cth_tuple = ('Budi', 30, 6000, 3.77)


print(type(cth_tuple[0]))
print(type(cth_tuple[1]))
print(type(cth_tuple[2]))
print(type(cth_tuple[3]))

ilmudatapy.com
44
Dictionary

Dictionary adalah sebuah tipe data di Python yang berfungsi untuk menyimpan koleksi data dan didefinisikan di
dalam kurung kurawal {}. Tidak seperti list atau tuple yang bersifat terurut berdasarkan indeks, dictionary
bersifat tidak terurut. Setiap item dalam dictionary terdiri dari pasangan key-value yang dipisahkan oleh titik
dua :.

Key pada dictionary bisa berupa teks, bilangan, atau tuple, namun value-nya bisa berupa tipe data apapun.

Berikut merupakan contoh dictionary.


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

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

data_mhs = {'nama': 'Budi',


'kota asal': 'Jakarta',
'usia': 21}
data_mhs

Pada contoh di atas, nama merupakan key dan Budi merupakan value-nya. Begitu juga dengan kota asal yang
merupakan sebuah key yang memiliki nilai yaitu Jakarta, dan key usia yang memiliki nilai 21.

ilmudatapy.com
45
Mengakses dictionary
Mengakses value
Untuk mengakses value pada dictionary, kita dapat menggunakan key yang ditempatkan di dalam kurung siku []
setelah nama dictionary-nya.

data_mhs = {'nama': 'Budi',


'kota asal': 'Jakarta',
'usia': 21}

data_mhs['nama'] # Mengakses value dengan key 'nama'

data_mhs['usia']

Selain itu, kita juga dapat menggunakan method get() yang akan mengeluarkan hasil yang sama.

data_mhs.get('nama')

data_mhs.get('nama')

Jika hanya ingin memperoleh value dari sebuah dictionary, kita dapat menggunakan method values().

data_mhs.values()

Memperoleh daftar key


Untuk memperoleh daftar key yang ada pada dictionary, kita dapat menggunakan method keys().

data_mhs.keys()

Atau bisa juga menggunakan operator *. Perhatikan contoh penggunaannya di bawah ini.

[*data_mhs]

ilmudatapy.com
46
Nested Dictionary
Kita juga dapat membuat nested dictionary atau dictionary yang berada di dalam dictionary.

employees = {
'employee1': {'name': 'John',
'year': 2016},
'employee2': {'name': 'Jessica',
'year': 2018},
'employee3': {'name': 'Alex',
'year': 2019}
}
employees

Atau bisa juga dengan membuat dictionary untuk masing-masing employee, lalu buat dictionary induk untuk
menampung dictionary-dictionary tersebut. Perhatikan kode berikut.

employee1 = {
'name': 'John',
'year': 2016
}
employee2 = {
'name': 'Jessica',
'year': 2018
}
employee3 = {
'name': 'Alex',
'year': 2019
}

employees = {
'employee1': employee1,
'employee2': employee2,
'employee3': employee3
}

employees

Operasi pada dictionary


Mengubah nilai dictionary
data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21}

data_mhs['usia'] = 23 # Mengubah usia


data_mhs

ilmudatapy.com
47
data_mhs['kota asal'] = 'Bandung' # Mengubah kota asal
data_mhs

Kita juga dapat mengubah nested dictionary dengan cara berikut.

employees = {
'employee1': {'name': 'John',
'year': 2016},
'employee2': {'name': 'Jessica',
'year': 2018},
'employee3': {'name': 'Alex',
'year': 2019}
}

employees['employee1']['year'] = 2017 # Mengubah nilai year


employees

Menambah item baru pada dictionary


Untuk menambah item baru pada dictionary, kita dapat dengan mudah menuliskan nama key baru yang akan
digunakan disertai dan nilainya.

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21}

data_mhs['nilai akhir'] = 79 # Menambahkan key 'nilai akhir' yang diberikan nilai '79'
data_mhs

Menghapus item pada dictionary

Ada beberapa method yang dapat digunakan untuk menghapus item pada dictionary, diantaranya pop(),
popitem(), dan juga menggunakan del.

pop() digunakan untuk menghapus item berdasarkan nama key.

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

data_mhs.pop('kota asal') # Menghapus kota asal


print(data_mhs)

ilmudatapy.com
48
Method popitem() akan menghapus item terakhir.

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

data_mhs.popitem() # Method popitem() akan menghapus nilai akhir


print(data_mhs)

del juga dapat digunakan untuk menghapus item berdasarkan nama key.

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

del data_mhs['usia'] # Menghapus usia menggunakan del


print(data_mhs)

Selain digunakan untuk menghapus item berdasarkan nama key, del juga dapat digunakan untuk menghapus
keseluruhan dictionary.

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

del data_mhs # Menghapus dictionary data_mhs


print(data_mhs)

Jika Anda menjalankan kode di atas di Jupyter Notebook, Anda akan melihat pesan error yang menyatakan name
'data_mhs' is not defined. Itu karena data_mhs telah terhapus sebelum mengeksekusi print().

Namun, jika Anda hanya bermaksud untuk mengosongkan dictionary tanpa menghapusnya, Anda dapat
menggunakan method clear().

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

data_mhs.clear() # Mengosongkan isi dictionary dengan clear()


print(data_mhs)

Dapat dilihat bahwa output dari kode di atas hanya menghasilkan dictionary kosong.

ilmudatapy.com
49
Duplikasi dictionary
Untuk menduplikasi dictionary, kita dapat menggunakan method copy().

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

# Menduplikasi 'data_mhs' ke dalam dictionary baru ke dalam 'mahasiswa'


mahasiswa = data_mhs.copy()
print(mahasiswa)

Mengetahui panjang dictionary


Untuk memperoleh panjang dictionary, atau jumlah item yang ada pada dictionary, kita dapat menggunakan
fungsi len().

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

len(data_mhs) # Menghitung panjang dictionary (jumlah item)

Mengecek keberadaan key pada dictionary


Untuk mengecek keberadaan sebuah key di dalam dictionary, kita dapat melakukannya menggunakan in.
Outputnya yaitu berupa boolean, True jika ada, dan False jika tidak ada.

data_mhs = {'nama': 'Budi', 'kota asal': 'Jakarta', 'usia': 21, 'nilai akhir': 79}

'nama' in data_mhs # Mengecek apakah 'nama' ada sebagai key di data_mhs

'alamat' in data_mhs

ilmudatapy.com
50
Set

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

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

Dari output di atas, terlihat bahwa Python menghapus duplikasi angka 3 dan 5, sehingga output yang
dikeluarkan berupa nilai unik 1, 2, 3, 4, 5.

Set bisa berisi elemen dengan berbagai tipe data, namun hanya tipe data yang bersifat immutable atau tidak
dapat diubah. Jadi, list yang bersifat mutable tidak dapat menjadi elemen pada set.

Set juga bersifat tidak terurut, maksudnya adalah output yang ditampilkan mungkin tidak akan sama urutannya
dengan yang didefinisikan.

setB = {'halo', 100, (1, 2), True, 9.5}


setB

Sekarang kita coba memasukkan list ke dalam set. Ini akan menyebabkan error.

# Contoh set yang mengandung list

setC = {'halo', 100, [1, 2]}


setC

ilmudatapy.com
51
Kita juga tidak dapat melakukan indexing pada set. Jika itu dilakukan, maka akan muncul pesan error.

# Set tidak mendukung indexing

setB[0]

Konversi list menjadi set


Kita dapat mengubah list menjadi set menggunakan set(). Ini akan otomatis membuat duplikat elemen pada
list terhapus.
movie_list = ['Titanic', '2012', 'Home Alone', 'Avatar', 'Titanic', 'Jurassic Park', \
'The Terminator', 'Avatar', 'Men in Black']
movie_set = set(movie_list)
movie_set

Operasi pada Set


Menambah elemen baru pada set
Untuk menambah elemen baru pada set, kita dapat menggunakan method add().

setA = {1, 2, 3, 4, 5}
setA.add(10)
print(setA)

Kita juga dapat menambah beberapa elemen baru sekaligus pada set dengan menggunakan method update().

setA = {1, 2, 3, 4, 5}
setA.update(['jeruk', 'apel', 'melon'])
print(setA)

ilmudatapy.com
52
Menghapus elemen pada set
Untuk menghapus elemen tertentu pada set, kita dapat menggunakan method remove() atau discard().

# Contoh penggunaan remove()

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}


print('Sebelum menghapus nanas:', setBuah)
setBuah.remove('nanas')
print('Setelah menghapus nanas:', setBuah)

# Contoh penggunaan discard()

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}


print('Sebelum menghapus jeruk:', setBuah)
setBuah.discard('jeruk')
print('Setelah menghapus jeruk:', setBuah)

Jika elemen yang dimaksud tidak ada di dalam set, remove() akan menghasilkan error, sedangkan discard()
tidak menghasilkan error.
# Contoh penggunaan remove() jika elemen yang ingin dihapus tidak ada di dalam set

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}


setBuah.remove('durian')
print(setBuah)

# Contoh penggunaan discard() jika elemen yang ingin dihapus tidak ada di dalam set

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}


setBuah.discard('durian')
print(setBuah)

Kita juga dapat menggunakan method pop() untuk menghapus elemen terakhir pada set. Namun, perlu diingat
bahwa set bersifat tidak terurut sehingga kita tidak tahu pasti elemen apa yang akan terhapus.

ilmudatapy.com
53
# Contoh penggunaan pop()

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}


print('Sebelum menghapus elemen terakhir:', setBuah)
setBuah.pop()
print('Setelah menghapus elemen terakhir:', setBuah)

Jika kita print setBuah.pop(), maka akan menampilkan elemen yang terhapus.
setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}
print('Sebelum menghapus elemen terakhir:', setBuah)
print('Elemen yang terhapus: ', setBuah.pop())

Jika kita ingin menghapus set secara keseluruhan, kita dapat menggunakan del.
# Menggunakan del untuk menghapus set keseluruhan

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}


del setBuah
print(setBuah)

Output di atas menghasilkan error karena setBuah sudah dihapus sebelum fungsi print() dieksekusi.

Jika kita hanya ingin mengosongkan set, maka kita dapat menggunakan method clear().
setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}
setBuah.clear() # Mengosongkan set dengan clear()
print(setBuah)

Duplikasi set
Untuk menduplikasi set, kita dapat menggunakan method copy().

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}


copyBuah = setBuah.copy()

print('Ini adalah setBuah: ', setBuah)


print('Ini adalah copyBuah: ', copyBuah)

ilmudatapy.com
54
Menjumlahkan seluruh elemen pada set
Untuk menjumlahkan seluruh elemen pada set, kita dapat menggunakan function sum().

setBil ={100, 67, 89, 50, 23, 40}


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

Mengambil nilai maksimum dan minimum pada set


Kita juga dapat mengambil nilai maksimum dan minimum dari suatu set. Nilai maksimum dapat diambil
menggunakan fungsi max(), sedangkan nilai minimum menggunakan fungsi min().

setBil ={100, 67, 89, 50, 23, 40}

print('Nilai maksimum: ', max(setBil))


print('Nilai minimum: ', min(setBil))

Menghitung panjang set (jumlah elemen)


Menghitung panjang set atau jumlah elemen pada set dapat menggunakan fungsi len().

setBil ={100, 67, 89, 50, 23, 40}


print(len(setBil))

Operasi himpunan pada Set


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

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A.union(B) # Contoh penggunaan union()

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

print(A | B) # Contoh penggunaan | untuk menggabungkan set

ilmudatapy.com
55
Method update() juga dapat digunakan untuk operasi ini.

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A.update(B) # Menggunakan update() untuk menggabungkan set B ke A


print(A)

Intersection
Intersection atau irisan adalah mengambil nilai yang sama dari kedua set. Di Python, kita dapat menggunakan
method intersection() atau operator &.

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

print(A.intersection(B)) # Contoh penggunaan intersection()

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A & B # Mengambil nilai yang sama dari dua set menggunakan &

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. Di Python, difference dapat
diperoleh dengan menggunakan method difference() ataupun dengan operator -.

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A.difference(B) # Contoh penggunaan difference()

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A – B # Menggunakan operator -

ilmudatapy.com
56
Symmetric Difference
Symmetric difference adalah kumpulan elemen yang ada di A dan B namun tidak mengikutsertakan elemen yang
ada pada keduanya alias mengeliminasi intersection. Symmetric difference dapat diperoleh dengan
menggunakan method symmetric_difference() atau dengan operator ^.

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A.symmetric_difference(B) # Contoh penggunaan symmetric_difference()

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A ^ B

Operasi cek keanggotaan pada Set


Kita juga dapat mengecek keanggotaan pada set. Operasi ini akan menghasilkan nilai boolean True dan False.

Apakah ada elemen tertentu pada set?


Untuk mengecek keberadaan elemen tertentu pada set, kita dapat menggunakan operator in atau not in.
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.

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}

'melon' in setBuah

setBuah = {'jeruk', 'apel', 'melon', 'nanas', 'semangka', 'jambu'}

'melon' not in setBuah

Apakah dua set disjoint?


Untuk mengetahui apakah dua set disjoint atau tidak memiliki irisan, kita dapat menggunakan method
isdisjoint().

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A.isdisjoint(B)

ilmudatapy.com
57
C = {'a', 'b', 'c'}
D = {'d', 'e', 'f'}

C.isdisjoint(D)

Apakah sebuah set merupakan subset dari set lain?


Kita juga dapat mencari tahu apakah sebuah set merupakan subset dari set lain dengan menggunakan method
issubset() atau operator <=.

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A.issubset(B)

C = {1, 2, 3}
D = {1, 2, 3, 4, 5}

C.issubset(D)

C = {1, 2, 3}
D = {1, 2, 3, 4, 5}

C <= D # Contoh penggunaan operator <=

Apakah sebuah set mengandung set lain?


Untuk mengecek apakah sebuah set mengandung set lain, kita dapat menggunakan method issuperset()
atau operator >=. Ini merupakan kebalikan dari operasi issubset().

A = {1, 2, 3, 4, 5, 6}
B = {5, 6, 7, 8, 9}

A.issuperset(B)

C = {1, 2, 3}
D = {1, 2, 3, 4, 5}

D >= C # Contoh penggunaan operator >=

ilmudatapy.com
58
Frozenset
Seperti yang kita tahu bahwa set bersifat mutable atau dapat dimodifikasi. Untuk membuat set yang bersifat
immutable, kita dapat menggunakan frozenset. Kita dapat membuat frozenset dengan menggunakan function
frozenset(). Misalnya kita akan coba membuat frozenset seperti di bawah ini.

A = frozenset([1, 2, 3, 4, 5, 6])
B = frozenset([5, 6, 7, 8, 9])

print(A)
print(B)

Sekarang kita coba melakukan beberapa operasi himpunan.


A = frozenset([1, 2, 3, 4, 5, 6])
B = frozenset([5, 6, 7, 8, 9])

A.union(B)

A.issuperset(B)

6 in A & B

Seperti yang dapat kita lihat dari output di atas, kita masih dapat melakukan operasi himpunan selayaknya yang
dapat dilakukan set biasa selain memodifikasi isi frozenset tersebut.

Sekarang kita akan coba melakukan modifikasi pada frozenset. Ini akan menghasilkan pesan error.

# Menambahkan elemen baru pada frozenset

A = frozenset([1, 2, 3, 4, 5, 6])

A.add(100)

ilmudatapy.com
59
Seleksi Kondisi

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

Pada bab ini, kita akan belajar tentang seleksi kondisi if, termasuk juga operator perbandingan dan operator
logika, serta branching di Python.

Operator Perbandingan
Operator perbandingan digunakan dalam seleksi kondisi untuk membandingan dua nilai atau operand. Output
yang dihasilkan dari operasi perbandingan yaitu berupa Boolean. Ada enam operator perbandingan yang dapat
digunakan, diantaranya:

 sama dengan: ==
 tidak sama dengan: !=
 lebih besar dari: >
 lebih kecil dari: <
 lebih besar sama dengan: >=
 lebih kecil sama dengan: <=

Operator-operator tersebut dapat digunakan untuk membandingan nilai secara langsung maupun yang berada
dalam variabel. Misalnya kita memiliki variabel x yang berisi nilai 3. Kemudian kita bandingan nilai x tersebut
dengan 8.

x = 3
x == 8 # Contoh penggunaan operator ==

Hasil dari x == 8 adalah False karena memang 3 tidak sama dengan 8.

Untuk angka yang sama, sekarang kita coba menggunakan operator tidak sama dengan.

x = 3
x != 8 # Contoh penggunaan operator !=

Dapat dilihat bahwa outputnya adalah True.

ilmudatapy.com
60
Masih menggunakan angka yang sama, sekarang kita coba menggunakan operator > dan <.

x = 3
x > 8 # Contoh penggunaan operator >

3 lebih besar dari 8 adalah False.

x = 3
x < 8 # Contoh penggunaan operator <

3 lebih kecil dari 8 adalah True.

Penempatan angka pada penggunaan operator > dan < sangat berpengaruh. Misalnya kita coba tukar posisi
operand-nya seperti di bawah ini.

x = 3
8 > x

x = 3
8 < x

Dalam contoh di atas, 8 > x berarti menyatakan bahwa 8 lebih besar dari x atau 3, maka output yang
dihasilkan adalah True. Sementara itu 8 < x menghasilkan False.

Sekarang kita coba gunakan operator >= dan <=.

x = 3
y >= 4 # Contoh penggunaan operator >=

x = 3
y <= 4 # Contoh penggunaan operator <=

Kita juga dapat menggunakan operator perbandingan untuk membandingkan string. Perhatikan contoh berikut.

'ABCD' == 'Halo' # Operator perbandingan untuk membandingkan string

Pada contoh di atas, sudah jelas terlihat bahwa string 'ABCD' berbeda dengan 'Halo', maka menghasilkan
output False. Kita juga dapat menggunakan operator tidak sama dengan != pada string.

'ABCD' != 'Halo'

Jika menggunakan operator != seperti contoh di atas, maka menghasilkan output True.

ilmudatapy.com
61
Operator perbandingan juga dapat digunakan untuk membandingkan huruf/simbol berdasarkan kode ASCII-nya.
Misalnya seperti yang kita tahu kode ASCII A adalah 65 dan B adalah 66, jika kita bandingkan A dan B maka
otomatis B lebih besar dari A.

'A' > 'B'

'B' > 'A'

Seperti yang kita lihat dari output di atas, 'B' > 'A' menghasilkan output True karena memang kode ASCII B
lebih besar dari A.

Untuk melihat cara mendapatkan kode ASCII di Python, Anda dapat merujuk pada bahasan sebelumnya tentang
String.

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

tiket = 'Yes'

# Penyataan kondisi
if tiket == 'Yes':

# Perintah di dalam indentasi (ditulis menjorok ke dalam) yang dieksekusi jika kondisi
terpenuhi
print('Anda boleh masuk')

Pada contoh di atas, kita menyatakan kondisi bahwa jika memiliki tiket, maka print Anda boleh masuk.
Sebelumnya kita telah mendefinisikan tiket='Yes' yang berarti bahwa kondisi tersebut terpenuhi, maka
Python akan menjalankan kode yang ada di dalam if, yakni mencetak Anda boleh masuk.

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

Namun, bagaimana jika kondisinya tidak terpenuhi?

tiket = 'No'

# Penyataan kondisi
if tiket == 'Yes':

# Perintah yang dieksekusi jika kondisi terpenuhi


print('Anda boleh masuk')

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

ilmudatapy.com
62
Lalu bagaimana jika kita ingin membuat opsi lain jika kondisi tidak terpenuhi? Perhatikan bahasan selanjutnya
berikut ini.

Conditional Branching
Branching atau percabangan adalah suatu kondisi dimana 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. Jadi, setiap instruksi tidak semuanya dieksekusi, melainkan hanya
menjalankan instruksi yang sesuai dengan data atau input yang diberikan.

if
tiket = 'No'

# Penyataan kondisi
if tiket == 'Yes':

# Perintah yang dieksekusi jika kondisi terpenuhi


print('Anda boleh masuk')

# Perintah yang dieksekusi baik saat kondisi terpenuhi maupun tidak


print('Selamat datang!')

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, bukan di dalam if.

Jika kondisi terpenuhi, maka kedua perintah tersebut dieksekusi. Perhatikan kode berikut.

tiket = 'Yes'

# Penyataan kondisi
if tiket == 'Yes':

# Perintah yang dieksekusi jika kondisi terpenuhi


print('Anda boleh masuk')

# Perintah yang dieksekusi baik saat kondisi terpenuhi maupun tidak


print('Selamat datang!')

if...else
Kita juga dapat memberikan opsi lain jika kondisi tidak terpenuhi menggunakan if...else. Namun jika kondisi
terpenuhi, maka opsi tersebut tidak dijalankan.

ilmudatapy.com
63
tiket = 'Yes'

# Penyataan kondisi
if tiket == 'Yes':

# Perintah yang dieksekusi jika kondisi terpenuhi


print('Anda boleh masuk')

else:

# perintah yang dieksekusi jika kondisi tidak terpenuhi


print('Anda harus membeli tiket')

print('Jagalah kebersihan!')

tiket = 'No'

# Penyataan kondisi
if tiket == 'Yes':

# Perintah yang dieksekusi jika kondisi terpenuhi


print('Anda boleh masuk')

else:

# perintah yang dieksekusi jika kondisi tidak terpenuhi


print('Anda harus membeli tiket')

print('Jagalah kebersihan!')

ilmudatapy.com
64
Mari kita lihat contoh lainnya.

a = 20

if (a % 2 == 1):
print(a, 'adalah bilangan ganjil')
else:
print(a, 'adalah bilangan genap')

if...elif
Jika ada dua atau lebih kondisi, kita dapat menggunakan if...elif.

usia = 20

if (usia > 20):


print('Silahkan masuk ke ruang A')
elif (usia == 20):
print('Silahkan masuk ke ruang B')
else:
print('Anda tidak boleh masuk')

Pertama, sistem akan mengecek apakah kondisi pada if terpenuhi yakni usia > 20 (usianya harus lebih dari
20 tahun). Pada contoh di atas, karena usianya genap 20 tahun, maka jelas kondisi pertama tidak terpenuhi
sehingga sistem mengecek lagi ke kondisi berikutnya yakni usia == 20 (apakah usianya 20 tahun). Kondisi ini
ternyata terpenuhi, maka perintah yang akan dieksekusi adalah Silahkan masuk ke ruang B.

Mari kita lihat contoh lainnya.

ilmudatapy.com
65
harga = 35000

if (harga > 20000):

harga = harga - (harga * 0.1)


print('Anda mendapat diskon 10%')

elif(harga == 20000):

harga = harga - (harga * 0.05)


print('Anda mendapat diskon 5%')

else:

harga = harga

print('Total yang harus dibayar adalah Rp. {:.0f}'.format(harga))


print('\nTerima kasih telah berbelanja!')

Pada contoh di atas, harga belanjaan sebesar 35000 sehingga sudah jelas memenuhi kondisi pertama yakni
harga > 20000 sehingga dilakukan eksekusi terhadap kode perintah yang ada di dalam indentasi kondisi
pertama.

Operator Logika
Adakalanya kita ingin mengecek kondisi dari dua penyataan. Untuk kasus seperti, kita dapat menggunakan
operator logika. Operator logika adalah simbol atau kata yang digunakan untuk menghubungkan dua atau lebih
ekspresi untuk membuat kesimpulan yang logis, True atau False.

Ada tiga operator logika yang dapat digunakan, diantaranya:

 and
 or
 not

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

ilmudatapy.com
66
# Contoh penggunaan operator logika 'and'

nilai = 75

if (nilai >= 80):


hm = 'A'
elif (nilai >= 70 and nilai < 80):
hm = 'B'
elif (nilai >= 60 and nilai < 70):
hm = 'C'
elif (nilai >= 50 and nilai < 60):
hm = 'D'
elif (nilai < 50):
hm = 'E'

print('Nilai akhir Anda adalah ', hm)

or
or bernilai True jika semuanya atau salah satu pernyataan bernilai True, sementara itu akan bernilai False jika
semuanya bernilai False.

# Contoh penggunaan operator logika 'or'

hm = 'D'

if (hm == 'A' or hm == 'B' or hm == 'C'):


print('Anda Lulus!')
else:
print('Anda Tidak Lulus')

ilmudatapy.com
67
not
not memeriksa apakah pernyataannya salah atau False.

# Contoh penggunaan operator logika 'not'

nilai = 90

if not nilai == 100:


print('Tidak Lulus!')
else:
print('Lulus!')

ilmudatapy.com
68
Perulangan / Loop

Saat membuat kode program, adakalanya kita ingin mengulang proses atau operasi tertentu beberapa kali. Nah,
mengulang proses yang sama seperti ini dapat dilakukan dengan perulangan. Ada dua metode perulangan yang
dapat digunakan di Python yaitu menggunakan for dan while.

Perulangan dengan for


Untuk melakukan proses perulangan, kita dapat menggunakan for. Jika kita mengetahui iterasi yang akan
dieksekusi, misalnya 10 kali, 100 kali, dsb.

Iterasi dengan range()


range() adalah built-in function pada Python untuk menghasilkan angka yang berurutan.

Misalnya, range(10) akan menghasilkan angka 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

# Contoh penggunaan for dengan range()

for i in range(10):
print(i)

ilmudatapy.com
69
Kita juga dapat menentukan awal dan akhir angka yang diinginkan. Misalnya range(3, 7) akan menghasilkan
angka 3, 4, 5, 6.
for i in range(3, 7):
print(i)

Perhatikan contoh lain untuk penggunaan for dengan range().


x = 100

for i in range(5):
x = x + i
print(x)

Iterasi pada list


Kita juga dapat melakukan iterasi pada list. Perhatikan contoh berikut.

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

for i in hari:
print(i)

ilmudatapy.com
70
Mengambil index dan value dari list dengan enumerate()
Untuk mengambil index dan value dari sebuah list, kita dapat menggunakan built-in function enumerate().
Perhatikan contoh berikut.
balon = ['merah', 'kuning', 'hijau', 'biru']

for index, value in enumerate(balon):


print(index, value)

Perulangan dengan while


Jika kita tidak mengetahui jumlah iterasi yang harus dilakukan, pilihan terbaik adalah dengan menggunakan
while. Alih-alih mendefinisikan berapa banyak iterasi yang harus dieksekusi, while mengharuskan kita
mendefinisikan pada kondisi apa looping harus berhenti. Perhatikan contoh berikut.

n = [10, 20, 30, 40, 50]

i = 0
bil = 0

while (bil < 40):


bil = n[i]
i = i + 1
print(bil)

Pada contoh di atas, kita definisikan looping harus berhenti jika bil < 40 .

ilmudatapy.com
71
Perhatikan contoh yang lainnya di bawah ini.

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

i = 0
hari_kerja = hari[i]

while (hari_kerja != 'sabtu'):


print(hari_kerja)
i = i + 1
hari_kerja = hari[i]

Menghentikan proses looping dengan break


Kita juga dapat menghentikan proses iterasi secara paksa dengan break. Cara ini dapat digunakan baik pada
for maupun while.

# Contoh penggunaan break pada for

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

for i in hari:
print(i)
if (i == 'rabu'):
break;

Contoh break pada while.

# Contoh penggunaan break pada while

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

i = 0
hari_kerja = hari[i]

while (hari_kerja != 'sabtu'):


print(hari_kerja)
i = i + 1
hari_kerja = hari[i]
if (hari_kerja == 'rabu'):
break;

ilmudatapy.com
72
Nested Loop
Nested loop adalah looping di dalam looping atau perulangan bersarang. Perhatikan contoh berikut.

# Contoh nested loop

a = ['buku', 'pensil', 'pulpen']


b = ['kuning', 'biru', 'merah']

for i in a:
for j in b:
print(i, j)

Contoh nested loop untuk mencetak bintang segitiga.


# Contoh nested loop

for i in range(1, 10):


for j in range(i):
print('*', end=' ')
print('')

Berikut ini adalah contoh nested loop bintang segitiga dengan break di dalamnya.
# Contoh nested loop dengan break

for i in range(1, 10):


for j in range(i):
if (i > 5):
break;
print('*', end=' ')
print('')

ilmudatapy.com
73
Fungsi / Function

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

Ada dua tipe fungsi, yaitu Pre-defined function atau yang kita kenal dengan built-in function dan juga User
defined function atau fungsi yang dibuat oleh kita sebagai pengguna. Nah, disini kita akan membahas tentang
User defined function.

Bagaimana cara membuat sebuah fungsi?

Untuk membuat sebuah fungsi, kita dapat menggunakan aturan berikut.

 Sebuah fungsi diawali dengan def yang diikuti oleh nama fungsi dan tanda kurung ().
 Ada argumen yang harus diletakkan di dalam tanda kurung. Selain itu, Anda juga dapat meletakkan
parameter pada tanda kurung ini.
 Bagian tubuh (body) dari fungsi ditandai dengan tanda titik dua (:) yang biasanya diletakkan setelah
tanda kurung.
 Anda juga dapat menuliskan dokumentasi atau komentar pada fungsi.
 Anda dapat menggunakan pernyataan return untuk mengembalikan nilai untuk digunakan di kode
program utama. Biasanya return digunakan untuk menutup fungsi.

Perhatikan contoh berikut.

# Contoh fungsi untuk menambah nilai dengan angka 1

def tambah_satu(x):
y = x + 1
return y

Contoh di atas merupakan sebuah fungsi dengan nama tambah_satu dan x sebagai parameter yang akan
menampung nilai yang diberikan untuk kemudian diproses di dalam fungsi. Akhir dari fungsi tersebut adalah
mengembalikan nilai y.

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

# Memanggil fungsi tambah_satu

tambah_satu(10)

ilmudatapy.com
74
Berikut ini adalah contoh lain fungsi dengan dua parameter.

# Contoh fungsi perkalian dua bilangan

def perkalian(a, b):


c = a * b
return print(a, 'dikali', b, 'sama dengan ', c)

# Memanggil fungsi perkalian

perkalian(3,4)

Menyederhanakan kode program dengan fungsi


Misalnya kita memiliki dua blok kode yang mirip dan hanya dibedakan nama variabel dan juga nilai untuk
masing-masing variabelnya seperti di bawah ini.

Blok 1
x1 = 6
y1 = 8

z1 = x1 * 2 + y1 * 3

if (z1 > 20):


z1 = z1
else:
z1 = 0

Blok 2
x2 = 3
y2 = 4

z2 = x2 * 2 + y2 * 3

if (z2 > 20):


z2 = z2
else:
z2 = 0

ilmudatapy.com
75
Jika kita tulis seperti di atas, tentunya akan sangat boros karena mengulang proses yang sama dan hanya
mengubah variabel. Dengan adanya fungsi, kita dapat menyederhanakan proses di atas sehingga nantinya kita
hanya tinggal memanggil fungsi tersebut dengan memberikan nilai yang berbeda-beda. Lihat kode di bawah ini.

# Fungsi untuk menghitung x dan y

def hitungxy(x, y):

z = x * 2 + y * 3
if (z > 20):
z = z
else:
z = 0

return z

Memanggil fungsi dengan nilai berbeda

x1 = 6
y1 = 8
z1 = hitungxy(x1, y1)
z1

x2 = 3
y2 = 4
z2 = hitungxy(x2, y2)
z2

Variabel global dan variabel lokal


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

Pada contoh di bawah ini, prov merupakan variabel global karena berada di luar fungsi, sedangkan prov_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.

# Contoh penggunaan variabel global dan local

prov = 'Jawa Barat'

def provinsi(prov):
prov_indo = prov
print(prov_indo, 'adalah provinsi di Indonesia')

provinsi(prov)

ilmudatapy.com
76
Jika variabel lokal digunakan di luar fungsi, maka akan terjadi error name 'prov_indo' is not defined.
Nah, lalu bagaimana caranya agar variabel lokal dapat digunakan di luar fungsi?

Untuk mengatasinya, kita dapat mendeklarasikan variabel lokal sebagai global seperti di bawah ini.

prov = 'Jawa Barat'

def provinsi(prov):
global prov_indo
prov_indo = 'Kalimantan Selatan'
print(prov, 'adalah provinsi di Indonesia')

provinsi(prov)
provinsi(prov_indo)

Menggunakan if...else dan loop di dalam fungsi


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

# Contoh fungsi dengan if...else

def nilai_akhir(nama, matkul, nilai):


print(nama, matkul, nilai)
if (nilai > 60):
return 'Lulus'
else:
return 'Tidak Lulus'

# Memanggil fungsi dan mendefinisikannya pada variabel a


a = nilai_akhir('John', 'Bahasa Indonesia', 65)
print(a)

ilmudatapy.com
77
Sekarang mari kita lihat contoh perulangan for yang ada pada sebuah fungsi.

# Contoh fungsi dengan perulangan for

def tampilkan_list(x):
for item in x:
print(item)

# Memanggil fungsi
tampilkan_list(['home alone', 2012, 'terminator'])

Memberikan argumen default pada fungsi


Kita dapat memberikan argumen default pada sebuah fungsi. Misalnya seperti pada contoh di bawah ini, kita
memberikan argumen default yaitu nilai = 60 pada fungsi cetak_nilai. Dengan memberikan argumen
default, tidak akan terjadi error jika kita tidak memberikan argumen pada saat memanggil fungsi tersebut.

# Contoh fungsi dengan argumen default

def cetak_nilai(nilai = 60):


if (nilai < 65):
print('Nilai = ', nilai)
print('Tidak Lulus')
else:
print('Nilai = ', nilai)
print('Lulus')

# Memanggil fungsi dengan argument

cetak_nilai(80)

Pada contoh di atas, ketika kita memberikan argumen 80 saat memanggil fungsi, tentunya program akan
berjalan dengan baik. Sekarang mari kita coba memanggil fungsi tanpa argumen seperti di bawah ini.

# Memanggil fungsi tanpa argument

cetak_nilai()

Fungsi akan langsung memproses nilai 60 sebagai argumen yang diberikan dan mencetak ‘Tidak Lulus’ karena
nilai kurang dari 65 sesuai kondisi yang sudah ditentukan.

ilmudatapy.com
78
Built-in Function di Python
Built-in function adalah fungsi-fungsi bawaan di Python yang dapat langsung digunakan tanpa mendefinisikannya
lagi seperti di atas. Ada banyak built-in function di Python, di antaranya sebagai berikut.

print() merupakan built-in function yang paling sering digunakan karena berfungsi untuk menampilkan output.

# contoh penggunaan print

nilai = [95, 40, 87, 66, 70, 85, 59]


print(nilai)

len() digunakan untuk menghitung panjang suatu objek.

# contoh penggunaan len

nilai = [95, 40, 87, 66, 70, 85, 59]


len(nilai)

sum() dapat digunakan untuk menjumlahkan elemen pada list.

# contoh penggunaan sum

nilai = [95, 40, 87, 66, 70, 85, 59]


sum(nilai)

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

# contoh penggunaan min

nilai = [95, 40, 87, 66, 70, 85, 59]


min(nilai)

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

# contoh penggunaan max

nilai = [95, 40, 87, 66, 70, 85, 59]


max(nilai)

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

# contoh penggunaan sorted

nilai = [95, 40, 87, 66, 70, 85, 59]


sorted(nilai)

type() digunakan mengetahui tipe data dari sebuah objek.

# contoh penggunaan type

nilai = [95, 40, 87, 66, 70, 85, 59]


type(nilai)

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.
# contoh penggunaan round

round(4.67777)

# contoh penggunaan round

round(4.3)

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

# contoh penggunaan abs

abs(-10/2)

Masih banyak lagi built-in function di Python yang dapat digunakan.

ilmudatapy.com
80
Numpy 1 Dimensi

Numpy adalah sebuah library di 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.

Tidak seperti list, Numpy memiliki ukuran yang tetap. Jika kita mengubah dimensi array, maka akan terbentuk
array baru dan otomatis menghapus array sebelumnya. Tipe data pada array juga harus sama, tidak boleh
bervariasi.

Membuat array Numpy


Sebelum menggunakan Numpy, kita harus mengimpor terlebih dahulu library-nya, seperti di bawah ini.

# import library numpy

import numpy as np

Kita menyingkat numpy menjadi np untuk mempermudah saat penggunaannya. Misalnya, akan lebih singkat jika
kita menulis np.array dibandingkan numpy.array. Penyingkatan ini umum dilakukan oleh hampir semua
orang yang menggunakan Numpy.

Setelah itu, kita dapat membuat array seperti di bawah ini.

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


a

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

print('Indeks-0 : ', a[0])


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

ilmudatapy.com
81
Mengubah nilai array
Nilai sebuah elemen array juga dapat diubah. Misalnya kita memiliki array seperti di bawah ini.

c = np.array([10, 20, 30, 40, 50, 60])


c

Lalu kita akan mengubah elemen pada indeks ke-0 menjadi 100.
c[0] = 100
c

Saat menampilkan array c, nilai elemen sudah berubah dari 10 menjadi 100 seperti output di atas. Misalnya kita
ubah juga indeks ke-3 seperti di bawah ini.

c[3] = 400
c

Mengakses dan mengubah nilai array dengan list


Jika kita ingin mengakses atau mengubah sejumlah elemen array tertentu, kita dapat menggunakan list dengan
cara indeks elemen yang ingin diakses atau diubah dimasukkan ke dalam list.

indeks_terpilih = [0, 2, 5] # Membuat list indeks elemen yang akan diakses

Lalu kita dapat menggunakan list tersebut sebagai argumen di dalam tanda kurung siku seperti di bawah ini.

d = c[indeks_terpilih]
d

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

Kita juga dapat mengubah nilai array dengan list. Perhatikan contoh berikut.

c[indeks_terpilih] = 90000 # Mengubah elemen dengan list


c

Seperti yang dapat kita lihat pada output di atas, elemen pada indeks ke 0, 2, dan 5 berubah menjadi 90000.

ilmudatapy.com
82
Slicing
Sama seperti list, elemen pada array Numpy juga dapat diakses dengan cara slicing yaitu dipotong berdasarkan
indeks tertentu. Misalnya jika kita akan mengakses elemen dari indeks 1-4, kita dapat melakukannya seperti di
bawah ini.

c = np.array([10, 20, 30, 40, 50, 60])


c[1:5]

Indeks yang menjadi batas akhir slicing tidak akan terbawa, maka dari itu kita harus menambahkan satu angka
jika elemen pada indeks ke-4 ingin ditampilkan. Jika ingin memotong dari elemen tertentu sampai elemen
terakhir atau dari elemen awal sampai elemen tertentu, kita dapat melakukannya seperti di bawah ini.

c[3:] # slicing dari indeks ke-3 sampai terakhir

c[:4] # slicing dari elemen awal sampai indeks ke-3

Atribut pada array Numpy


Ada beberapa atribut Numpy yang dapat digunakan dan bermanfaat untuk analisis data.

Misalnya kita memiliki array a seperti di bawah ini.


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

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

a.size

ndim digunakan untuk mendapatkan informasi terkait dimensi array.

a.ndim

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

a.shape

ilmudatapy.com
83
mean digunakan untuk mendapatkan nilai rata-rata dari array.

a.mean()

std digunakan untuk mendapatkan nilai standar deviasi dari array.

a.std()

min digunakan untuk mendapatkan nilai minimum atau terkecil pada array.

a.min()

max digunakan untuk mendapatkan nilai maksimum atau terbesar pada array.

a.max()

Operasi pada array Numpy


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

Penjumlahan array dengan konstanta


Misalnya kita memiliki array a seperti di bawah ini.

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

Lalu, kita akan menjumlahkan masing-masing elemen pada array tersebut dengan angka 10. Kita dapat
melakukannya dengan mudah seperti di bawah ini.

x + 3 # Menjumlahkan array dengan konstanta 3

Penjumlahan 2 array
Misalnya kita memiliki array u dan v seperti di bawah ini.

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


u

ilmudatapy.com
84
v = np.array([3, 4]) # Membuat array v
v

Untuk menjumlahkan dua array tersebut, kita dapat melakukannya seperti di bawah ini.

u + v # Menjumlahkan array u dan v

Terlihat dari output di atas, elemen dengan indeks yang sama akan secara otomatis dijumlahkan dan tidak
mengubah dimensi array tersebut. Penjumlahan dua array harus melibatkan dua array dengan dimensi yang
sama, jika tidak, maka akan terjadi error.

Perkalian array dengan konstanta


Misalnya kita gunakan array x seperti sebelumnya, lalu mengalikannya dengan konstanta 2.

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

Kemudian, kalikan dengan 2.

x * 2 # Mengalikan x dengan konstanta 2

Maka seperti pada penjumlahan, perkalian dengan konstanta juga akan menghasilkan array dengan masing-
masing elemen yang telah dikalikan 2.

Perkalian 2 array
Disini kita juga akan menggunakan array u dan v seperti sebelumnya.

u = np.array([2, 3])
v = np.array([3, 4])

u * v # Mengalikan array u dan v

Seperti penjumlahan dua array, perkalian dua array juga otomatis mengalikan elemen dengan indeks yang sama.

ilmudatapy.com
85
Dot product
Dot product adalah bentuk perkalian vektor yang menghasilkan skalar. Di Numpy Python, kita dapat
mendapatkan hasil dot product dengan mudah menggunakan atribut dot. Perhatikan contoh berikut.

u = np.array([2, 3])
v = np.array([3, 4])

np.dot(u, v)

Fungsi matematika pada Numpy


Numpy memang ditujukan untuk memudahkan komputasi perhitungan bilangan. Banyak fungsi-fungsi pada
Numpy yang dapat kita gunakan untuk proses matematis, diantaranya trigonometri, eksponen, logaritma, dan
juga untuk pembulatan bilangan. Untuk lebih lengkapnya, silahkan merujuk pada website numpy.org untuk
melihat fungsi matematika lainnya.

Sebelum lanjut pada fungsi matematika, kita juga bisa mendapatkan nilai pi menggunakan atribut pi seperti di
bawah ini.

np.pi # Mendapatkan nilai pi

Trigonometri
Operasi trigonometri, seperti yang kita tahu, yaitu sin, cos, tan. Nah, untuk mendapatkan hasil dari nilai sin,
cos, dan tan, kita dapat melakukannya seperti di bawah ini.

sin
x = np.array([0., 30., 45., 60., 90.])

np.sin(x * np.pi / 180.)

np.sin(np.pi/2.0)

cos
x = np.array([0., 30., 45., 60., 90.])

np.cos(x)

np.cos(np.pi)

ilmudatapy.com
86
tan
x = np.array([0., 30., 45., 60., 90.])

np.tan(x)

np.tan(np.pi/2.0)

Eksponen dan Logaritma


Kita juga dapat menghitung eksponen dan logaritma menggunakan exp dan log.

exp

exp dapat digunakan untuk menghitung exponen. Perhatikan contoh berikut.

np.exp(10) # Contoh penggunaan fungsi exp

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


np.exp(y)

log

log digunakan untuk menghitung logaritma suatu bilangan. Perhatikan contoh berikut.

np.log(1.2) # Contoh penggunaan fungsi log

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


np.log(y)

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

np.log10(0.5) # Contoh penggunaan log10

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

np.log2(4) # Contoh penggunaan log2

ilmudatapy.com
87
Pembulatan bilangan
Terkadang dalam perhitungan matematika, kita menginginkan pembulatan bilangan desimal, baik itu
pembulatan ke atas, maupun ke bawah. Di Numpy, kita dapat menggunakan fungsi round, ceil, dan floor.

round

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

# Membulatkan angka desimal menjadi 3 angka di belakang koma/titik decimal

np.round(2.87653297619012, 3)

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

np.round(3.16524398, 2)

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

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


np.round(x, 2)

ceil

ceil digunakan untuk membulatkan bilangan ke atas. Misalnya, 5.7 menjadi 6.0.

np.ceil(5.7)

# Membulatkan bilangan desimal pada array x ke atas

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


np.ceil(x)

floor

floor digunakan untuk membulatkan bilangan desimal ke bawah. Perhatikan contoh berikut.

np.floor(7.9)

# Membulatkan bilangan desimal pada array x ke bawah

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


np.floor(x)

ilmudatapy.com
88
Linspace
linspace adalah fungsi yang digunakan untuk mendapatkan array dari interval bilangan tertentu. Fungsi ini
cukup bermanfaat untuk memplot fungsi matematika. Perhatikan contoh berikut.

# Membuat array dalam interval [-3, 3] sebanyak 5 elemen

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

Jika kita ganti parameter num menjadi 10 misalnya, kita akan mendapatkan hasil array yang berbeda.

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

np.linspace(-3, 3, num=10)

Contoh penerapan linspace pada fungsi matematika.

import matplotlib.pyplot as plt


%matplotlib inline

x = np.linspace(0, np.pi*3, num=100)


y = np.cos(x)

plt.plot(x,y)

ilmudatapy.com
89
Numpy 2 Dimensi

Pada bab sebelumnya telah dibahas mengenai Numpy 1 dimensi. Sekarang kita akan coba membuat array
Numpy 2 dimensi. Anda pasti pernah belajar tentang matriks, nah disini kita akan coba membuat matriks
menggunakan Numpy.

Mari kita import Numpy terlebih dahulu.


# Import numpy

Import numpy as np

Membuat array Numpy 2 dimensi


Array 2 dimensi dapat dibuat dari nested list atau list yang berada di dalam list. Misalnya, kita memiliki list
list_x seperti di bawah ini.

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

Sekarang kita buat array numpy dari list tersebut.

X = np.array(list_x)
X

Kita dapat menggunakan atribut-atribut Numpy yang telah dibahas pada notebook sebelumnya, seperti ndim,
size, shape, dtype, dan sebagainya.

X.ndim # Mengetahui dimensi array dari array X

X.size # Mengecek jumlah elemen

ilmudatapy.com
90
X.shape # Mengecek ukuran array di tiap dimensi

X.dtype # Mengecek tipe data array

Mengakses elemen pada array


Seperti list, kita dapat menggakses elemen pada array menggunakan indeksnya. Pada dasarnya di array 2
dimensi, kita dapat mengasumsikannya sebagai baris dan kolom.

Misalnya pada array X, kita ingin mengambil elemen yang berada pada baris ke tiga (indeks 2) dan kolom
pertama (indeks 0), maka kita dapat menuliskan kodenya seperti di bawah ini.

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

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

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

Mari kita lihat contoh lainnya.


X[0][0] # Mengambil elemen pada baris 1 kolom 1

ilmudatapy.com
91
Slicing
Kita juga dapat melakukan slicing untuk mengambil elemen pada array Numpy 2 dimensi. Misalnya kita ingin
mengambil elemen 10 dan 20 pada array X, kita dapat menuliskan kodenya seperti di bawah ini.

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

Atau juga seperti ini,


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

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

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

Contoh lain, misalnya kita ingin mengambil dua elemen terakhir pada kolom 3, yaitu 31 dan 32, kita dapat
menuliskan kodenya seperti ini.
X[1:, 2] # Mengambil elemen pada baris 2&3 kolom 3

ilmudatapy.com
92
Operasi pada array Numpy 2 dimensi
Sama 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


Misalnya kita akan menjumlahkan array X dengan angka 10.

X # Menampilkan array X

Lalu, jumlahkan dengan angka 10.

X + 10 # Menjumlahkan array X dengan konstanta 10

Seperti yang dapat kita lihat dari output yang dihasilkan, seluruh elemen pada array X dijumlahkan dengan
angka 10.

Penjumlahan 2 array
Misalnya kita memiliki 2 array Numpy 2D, yaitu A dan B seperti di bawah ini.
A = np.array([[1, 2], [0, 1]]) # Membuat array A
A

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


B

Untuk menjumlahkan 2 array tersebut, kita dapat melakukannya seperti di bawah ini.
A + B # Menjumlahkan array A dan B

Hasil dari operasi di atas adalah penjumlahan dari elemen-elemen pada indeks yang sama di array A dan B.

ilmudatapy.com
93
Perkalian array dengan konstanta
Misalnya kita akan menggunakan array X dan akan mengalikannya dengan 2.
X # Menampilkan array X

Lalu, kalikan dengan angka 2.

X * 2 # Mengalikan array X dengan 2

Seperti penjumlahan, operasi perkalian dengan konstanta juga akan menghasilkan output berupa array yang tiap
elemennya telah dikalikan dengan konstanta tertentu, dalam hal ini yaitu 2.

Perkalian 2 array
Misalnya, kita akan menggunakan array A dan B yang telah dibuat di atas.

A # Menampilkan array A

B # Menampilkan array B

Untuk mengalikan array A dan B, kita dapat melakukannya seperti di bawah ini.

A * B # Mengalikan array A dan B

Hasil dari output di atas adalah sebuah array yang berisi hasil perkalian elemen pada array A dan B yang memiliki
indeks yang sama.

ilmudatapy.com
94
Dot product
Dot product atau perkalian titik pada array 2 dimensi ini dapat dikatakan seperti perkalian matriks. Kita masih
akan menggunakan array A dan B untuk contoh dot product.

A # Menampilkan array A

B # Menampilkan array B

Untuk operasi dot product kita dapat melakukannya seperti di bawah ini.

np.dot(A, B) # Dot product dari array A dan B

Berikut ini merupakan contoh perhitungan dot product.

ilmudatapy.com
95

Anda mungkin juga menyukai