Anda di halaman 1dari 126

> #Gunakan cor.

test untuk mencari hubungan Pendapatan dengan Total Belanja


> cor.test(data_intro$Pendapatan,data_intro$Total)

Pearson's product-moment correlation

data: data_intro$Pendapatan and data_intro$Total


t = 3.1168, df = 18, p-value = 0.005957
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.2026033 0.8197871
sample estimates:
cor
0.5920437

> ## Carilah tabulasi silang antara kolom jenis produk (Produk) dan tingkat kepuasan (Tingkat.Kepuasan) dari variable data_intro
> table(data_intro$Produk,data_intro$Tingkat.Kepuasan)

1 2 3
A 0 1 3
B 2 0 2
C 1 2 1
D 2 2 1
E 2 0 1

> ## Analisis bagaimana hubungan jenis produk dengan tingkat kepuasan mengunakan uji korelasi
> chisq.test(table(data_intro$Produk,data_intro$Tingkat.Kepuasan))

Pearson's Chi-squared test

data: table(data_intro$Produk, data_intro$Tingkat.Kepuasan)


X-squared = 7.95, df = 8, p-value = 0.4384

Hubungan Jenis Kelamin dengan Total Belanja dengan t.test


Berdasarkan kasus diatas kita akan melihat hubungan antara data kategorik dan numerik, yaitu variabel jenis kelamin dan total belanja. Sebelum menguji hubungannya, sebaiknya
dilihat perbedaan rata-rata total belanja untuk laki-laki dan perempuan dengan visualisasi yaitu menggunakan boxplot. Boxplot grafik statistik dari data dengan komponen lima ukuran
statistik yaitu Min, Q1,Q2, Q3, dan Max. Untuk lebih jelasnya mengenai boxplot dapat dilihat gambar dibawah ini

Selanjutnya analisis inferensia yaitu untuk mengetahui apakah ada perbedaan rata-rata total belanja pada laki-laki dan perempuan maka digunakan statistik uji t-test.
Untuk melakukan visualisasi boxplot dan uji statistik t-test pada R tahapannya sebagai berikut :
boxplot(Total~Jenis.Kelamin,data = data_intro)
t.test(Total~Jenis.Kelamin,data = data_intro)
Function boxplot digunakan untuk melihat secara grafik rata-rata total belanja pada laki-laki dan perempuan, sedangkan perintah t.test digunakan untuk melihat hubungan secara
statistik. Penggunaan kedua fungsi diatas yaitu variabel pertama yang bertipe numerik, sedangkan variabel kedua variabel kategorik. Hipotesis t-test sebagai berikut :

 Hipotesis Nihil (null): tidak ada perbedaan rata-rata total belanja antara laki-laki dan perempuan
 Hipotesis Alternatif : ada perbedaan rata-rata total belanja antara laki-laki dan perempuan

Tugas Praktek
Lengkapi bagian […1...] dan […2…] pada code editor untuk membaca file seperti yang ditunjukkan pada bagian Lesson.

## carilah boxplot antara variabel jenis kelamin dengan total belanja

boxplot(Total~Jenis.Kelamin,data=data_intro)
## analisis bagaimana hubungan jenis kelamin dengan total belanja mengunakan uji statistik t-test

t.test(Total~Jenis.Kelamin,data=data_intro

6:0: unexpected end of input


4: ## analisis bagaimana hubungan jenis kelamin dengan total belanja mengunakan uji statistik t-test
5: t.test(Total~Jenis.Kelamin,data=data_intro
^

Kesimpulan
Selamat! Dengan menyelesaikan bab kedua ini maka Anda sudah menyelesaikan course "Introduction to Statictics with R" yang singkat namun padat ini!
Dari pembahasan materi diatas maka kesimpulannya sebagai berikut:

 Sebelum memulai menganalisis data harus dilihat summary per tiap variabel.
 Analisis Deskriptif digunakan untuk membangun sebuah hipotesis.
 Analisis Inferensia digunakan untuk menguji hipotesis.
Bahasa pemrograman Python bersifat dynamically typed (Python akan secara otomatis mengubah masukan dari pengguna) dan mendukung berbagai paradigma pemrograman baik
pemrograman secara prosedural, berbasis objek (Object-Oriented), ataupun fungsional.
Selain alasan di atas terdapat beberapa alasan lain untuk menggunakan bahasa pemrograman Python:

1. Python dikembangkan untuk bersifat extendible yang mengartikan bahwa Python dapat dikembangkan untuk berbagai macam tugas baik untuk pembuatan aplikasi web
ataupun desktop, proses analisis data, dll.
2. Python memiliki komunitas yang besar yang secara aktif berkontribusi untuk menyediakan berbagai macam fungsionalitas (third-party libraries). Third-party libraries yang
tersedia dalam bahasa pemrograman Python memungkinkan para pengembang untuk dapat fokus menyelesaikan permasalahan yang ada. Per Januari 2020, terdapat 214,922
modul third-party yang dapat kita gunakan secara cuma-cuma.
3. Python terintegrasi dengan baik dengan berbagai macam bahasa pemrograman dan layanan enterprise. Untuk bagian-bagian yang melibatkan sumber daya komputasi yang
besar, pengembang dapat menggunakan fungsionalitas dalam bahasa pemrograman lainnya yang bersifat low-level yang telah dikemas ke dalam fungsionalitas Python.

Program Pertamaku
Keren! Aku baru tahu kalau Python memiliki fungsi print() yang berguna untuk menampilkan pesan ke layar pengguna.

Tugas:
Sekarang aku diberikan tugas dari Senja untuk menampilkan kalimat “Halo Dunia” dan “Riset Bahasa Python” menggunakan fungsi print().

Struktur Program Python - Part 1


Setelah berhasil membuat program sederhana menggunakan Python, aku diminta Senja untuk belajar struktur dari sebuah program Python.

Dari situ aku paham sebuah program Python pada umumnya terdiri dari:
1. Statements: Instruksi yang diberikan secara baris per baris untuk dijalankan oleh mesin. Contoh:
2. Variables: Lokasi penyimpanan yang dapat digunakan untuk menampung sebuah data atau informasi. Contoh: aku mempunyai variabel yang bernama bilangan1, bilangan2, dan
kalimat1

3. Literals: Simbol-simbol yang dapat kita gunakan untuk mengisi suatu variabel. Pada kode yang telah dicontohkan di atas, angka 5 dan 10 serta 'Belajar Bahasa Python' disebut
sebagai literal.

4. Operators: Simbol-simbol yang dapat digunakan untuk mengubah nilai dari satu variabel dengan melibatkan satu atau lebih variabel dan literal. Contoh: Tanda + merupakan salah
satu contoh operator. Dengan menggunakan tanda +, aku berhasil menambahkan isi dari bilangan1 dan bilangan2!

Adapun operator yang lain selain operator + adalah sebagai berikut.


1. Operator - yang berfungsi sebagai operator pengurangan,
2. Operator * yang berfungsi sebagai operator perkalian, dan
3. Operator ** untuk pemangkatan
# Statement

print("Belajar Python menyenangkan")

print("Halo Dunia")

print("Hello World!")

# Variables & Literals

bilangan1 = 5

bilangan2 = 10
kalimat1 = "Belajar Bahasa Python"

# Operators

print(bilangan1 + bilangan2)

In [1]: # Statement
print("Belajar Python menyenangkan")
print("Halo Dunia")
print("Hello World!")
# Variables & Literals
bilangan1 = 5
bilangan2 = 10
kalimat1 = "Belajar Bahasa Python"
# Operators
print(bilangan1 + bilangan2)

Belajar Python menyenangkan


Halo Dunia
Hello World!
15

Tugas Praktek
Tantangan belum berakhir. Aku diminta Senja untuk membuat program pengurangan sederhana dengan Python.

Tugas:
Deklarasi variable bilangan1 dengan 20, dan bilangan2 dengan 10 dan tampilkan hasil pengurangan bilangan1 & bilangan 2.
bilangan1 = 20

bilangan2= 10

print(bilangan1 - bilangan2)
In [1]: bilangan1 = 20
bilangan2= 10
print(bilangan1 - bilangan2)

10
Tugas Praktek
“Saya lihat kamu cepat belajar. Gimana kalau kamu coba buat kalkulator sederhana untuk potongan harga dan pajak, Aksara?” komentar Senja padaku.

Tugas:

1. Aku diminta menghitung harga_setelah_potongan dan harga_final. harga_final diperoleh dengan mengalikan harga_setelah_potongan dengan angka 1.1 karena PPN
sebesar 10% (100% + 10% = 110% atau 1.1)
2. Aku menggunakan variabel harga_asli dengan nilai 20000 dan variabel potongan dengan nilai 2000.

harga_asli = 20000

potongan = 2000

harga_setelah_potongan = harga_asli - potongan

harga_final = harga_setelah_potongan * 1.1

print(harga_final)

In [1]: harga_asli = 20000


potongan = 2000
harga_setelah_potongan = harga_asli - potongan
harga_final = harga_setelah_potongan * 1.1
print(harga_final)

19800.0

Struktur Program Python - Part 2


Setelah mengerjakan tugas yang diberikan Senja, aku kembali lanjut belajar. Berikut adalah hal-hal baru yang aku pelajari mengenai Python:
1. Reserved Words: Kumpulan kata-kata yang memiliki makna khusus dalam bahasa pemrograman Python. Kata False, return, dan for merupakan contoh dari reserved words.
Catatan: Ternyata, aku tidak dapat mendeklarasikan variabel dengan menggunakan sebuah reserved word!
2. Whitespace: Pada bahasa Python, spasi dan tab memiliki makna khusus untuk menandai serangkaian blok dalam kode Python. Hal ini akan dijelaskan secara lebih lanjut pada
bagian struktur pemilihan dan struktur pengulangan pada bahasa Python.

3. Comments: Comments merupakan sekumpulan teks yang dituliskan di dalam sebuah program yang tidak akan mempengaruhi hasil dari sebuah program. Walaupun tidak
mempengaruhi hasil program, comments merupakan salah satu komponen yang penting dalam pengembangan program. Hal tersebut dikarenakan comments dapat diselipkan di antara
sekumpulan statements yang telah dituliskan, untuk berkomunikasi dengan rekan programmer lainnya dalam satu tim.
Terdapat dua jenis comments di dalam Python, yaitu:
a. single line comment (comments dalam satu baris) seperti pada contoh berikut:

b. multi line comment (comments dalam beberapa baris) yang dapat dituliskan seperti pada contoh berikut:

Python Variables
Setelah mengetahui konsep sederhana dari sebuah variabel, aku diminta mencoba mendeklarasikan beberapa variabel dalam bentuk teks ataupun bilangan dan melakukan operasi yang
melibatkan sekumpulan variabel.
Pada bagian ini, aku akan mengkaji variabel dan tipe data secara lebih detail. Pada pertemuan sebelumnya aku berhasil mendeklarasikan variabel dengan menggunakan ekspresi
seperti:

Aturan Penamaan Python Variables


Penamaan suatu variabel pada python dapat dikatakan valid selama memenuhi aturan-aturan berikut:

1. Nama dari sebuah variabel harus dimulai dengan huruf (a-z, A-Z) atau karakter garis bawah underscore (_) dan tidak dapat dimulai dengan angka (0-9).
2. Variabel hanya boleh mengandung karakter alfabet, bilangan dan underscore (a-z, A-Z, 0-9, _)
3. Variabel bersifat case-sensitive yang mengartikan bahwa variabel TINGGI, tinggi, dan Tinggi merujuk pada tiga variabel berbeda.

Selain dapat mendeklarasikan nilai dari suatu variabel secara baris per baris, aku juga dapat mendeklarasikan beberapa variabel dalam satu baris dengan menggunakan ekspresi
seperti:

Tipe Data Dasar: Null, Boolean, Numeric dan Text


1. Null Type: Tipe data null dalam Python digunakan untuk menyimpan nilai kosong atau tidak ada yang dinyatakan dengan None.
2. Boolean Type: Tipe data boolean atau bool digunakan untuk menyimpan nilai kebenaran (True, False) dari suatu ekspresi logika.
3. Numeric Type: Tipe data yang digunakan untuk menyimpan data berupa angka. Terdapat dua macam tipe data numeric, yaitu int untuk menyimpan bilangan bulat (e.g.: 0, 1, 2,
404, -500, -1000) dan float untuk menyimpan bilangan riil (e.g.: 0.5, 1.01, 2.05, 4.04)
4. Text Type: Pada Python, tipe data string (str) digunakan untuk menyimpan data teks. Tipe data string dimulai dengan tanda kutip (baik kutip satu/ dua) dan diakhir dengan tanda
kutip. Contoh: "Teks", "Contoh teks menggunakan Python", dan 'Teks pada Python'.

Sequence Type – Part 1


Tipe data ini digunakan untuk menampung sekumpulan data secara terorganisir.
Bentuk dari tipe data sequence ini adalah List dan Tuple.
Pada part 1 ini, aku akan mempelajari tipe data list terlebih dahulu.
Tipe data list diawali dengan tanda kurung siku buka ( [ ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan kurung siku tutup ( ] ). Sebagai
contoh:
Setiap elemen dari list memiliki indeks yang dimulai dari angka 0 dan terus bertambah satu nilainya hingga elemen terakhir dari list. Sebagai contoh:

Tipe data list bersifat mutable yang berarti setiap elemen di dalam list dapat dirubah nilainya setelah proses pendeklarasian list. Sebagai contoh:

Tugas:
Aku diberikan tugas untuk menerapkan variasi tipe data list dengan mengikuti petunjuk yang diberikan Senja. Berikut petunjuknya:
Petunjuk 1: Input data 1, 'dua', 3, 4.0, 5 ke dalam contoh_list
Petunjuk 2: Ambil Elemen pertama dari contoh_list untuk menampilkan output 1 menggunakan print statement
Petunjuk 3: Ambil Elemen ke empat dari contoh_list untuk menampilkan output 4.0 menggunakan print statement
Petunjuk 4: Input data 1, 'dua', 3, 4.0, 5 ke dalam contoh_list
Petunjuk 5: Rubah Elemen keempat dalam contoh_list menjadi 'empat'
Petunjuk 6: Tampilkan output elemen keempat yang telah dirubah tersebut menggunakan print statement

Tips:
Dalam mendeklarasikan sebuah variabel, berilah nama yang mewakili isi dari variabel tersebut. Sebagai contoh :
Sequence Type – Part 2
Setelah mempelajari tipe data list, aku mempelajari tipe data tuple. Tipe data tuple juga berfungsi untuk menampung sekumpulan data. Tipe data ini diawali dengan tanda kurung
buka ( ( ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( ) ). Sebagai contoh:

Aturan indeks dan cara mengakses elemen pada sebuah tuple serupa dengan list. Sebagai contoh:

Berbeda dengan tipe data list, tipe data tuple bersifat immutable yang berarti elemen pada tipe data tuple tidak dapat diubah setelah proses pendeklarasiannya.

Pada saat aku mengubah elemen pada tuple seperti pada kode berikut,

akan menghasilkan error di console, yaitu TypeError


Tugas:
Sekarang aku diberikan tugas untuk menerapkan variasi tipe data tuple dengan mengikuti petunjuk yang diberikan Senja:
Petunjuk 1: Input data Januari sampai dengan April ke dalam contoh_tuple
Petunjuk 2: Ambil Elemen pertama dari contoh_tuple untuk menampilkan output 1 menggunakan print statement
Petunjuk 3: Input kembali data Januari sampai dengan April ke dalam contoh_tuple
Petunjuk 4: Rubah Elemen pertama dalam contoh_tuple menjadi 'Desember'

contoh_tuple = ('Januari','Februari','Maret','April')

print(contoh_tuple[0])

contoh_tuple = ('Januari','Februari','Maret','April')

contoh_tuple[0] = 'Desember'

In [1]: contoh_tuple = ('Januari','Februari','Maret','April')


print(contoh_tuple[0])
contoh_tuple = ('Januari','Februari','Maret','April')
contoh_tuple[0] = 'Desember'

Januari
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
TypeError: 'tuple' object does not support item assignment
Set Type
Serupa dengan tipe data sequence, tipe data set digunakan untuk menampung sekumpulan data dengan tipe lainnya. Terdapat dua jenis dari tipe data set yaitu, set dan frozenset.
Tipe data set diawali dengan tanda kurung buka kurawal ( { ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( } ). Namun
berbeda dengan tipe data sequence, seperti list, tipe data objek tidak mengizinkan adanya elemen dengan nilai yang sama dan tidak memperdulikan urutan dari elemen.
Sebagai contoh:

Akan menghasilkan output:

sedangkan pada tipe data set:

Akan menghasilkan output :

Dari kedua contoh output pada program, dapat terlihat:

1. Berbeda dengan tipe data set, tipe data list memperdulikan urutan dari setiap elemen saat list dideklarasikan.
2. Berbeda dengan list yang mengizinkan adanya duplikasi elemen, tipe data set tidak mengizinkan adanya elemen dengan nilai yang sama di dalamnya.

Keunikan dari kedua tipe data ini tentunya menjadi pengetahuan yang berguna.
Dan aku akan mempelajarinya kembali pada bagian struktur kontrol pengulangan!
Bagaimana dengan tipe data frozenset? Tipe data frozenset sebenarnya hanya merupakan set yang bersifat immutable, yang artinya setiap elemen di dalam frozenset tidak dapat
diubah setelah proses deklarasinya. Untuk membuat tipe data frozenset, aku dapat merujuk potongan kode di bawah ini:

Akan menghasilkan output:

Tugas:
Sekarang aku diberikan tugas untuk menerapkan variasi set dan frozenset oleh Senja:

1. Tugas 1:Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data list dan tampilkan hasilnya
2. Tugas 2: Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data set dan tampilkan hasilnya
3. Tugas 3: Input data Dewi, Budi, Cici, Linda, Cici kedalam tipe data frozenset dan tampilkan hasilnya

contoh_list = ('Dewi','Budi','Cici','Linda','Cici')

print(contoh_list)

contoh_set = {'Dewi','Budi','Cici','Linda','Cici'}

print(contoh_set)

contoh_frozen_set = ({'Dewi','Budi','Cici','Linda','Cici'})

print(contoh_frozen_set)

In [1]: contoh_list = ('Dewi','Budi','Cici','Linda','Cici')


print(contoh_list)
contoh_set = {'Dewi','Budi','Cici','Linda','Cici'}
print(contoh_set)
contoh_frozen_set = ({'Dewi','Budi','Cici','Linda','Cici'})
print(contoh_frozen_set)

('Dewi', 'Budi', 'Cici', 'Linda', 'Cici')


{'Linda', 'Budi', 'Dewi', 'Cici'}
{'Linda', 'Budi', 'Dewi', 'Cici'}

Mapping Type
Tipe data mapping dapat digunakan untuk memetakan sebuah nilai ke nilai lainnya. Dalam Python, tipe data mapping disebut dengan istilah dictionary. Tipe data dictionary dapat
dideklarasikan dengan diawali oleh tanda kurung buka kurawal ( { ), memisahkan setiap elemen di dalamnya dengan tanda koma ( , ) dan ditutup dengan tanda kurung tutup ( } ).
Setiap elemen pada tipe data dictionary dideklarasikan dengan format:
"kunci" : "nilai"

Hal inilah yang membedakan tipe data mapping dengan tipe data set. Untuk lebih memperjelas tipe data mapping, aku mempelajari potongan kode berikut:

Potongan kode di atas adalah contoh pendeklarasian dari tipe data dictionary. Kemudian, bagaimana dengan cara mengakses informasi dari tipe data ini?

Dengan mencoba potongan code ini pada live code editor, maka aku akan mendapatkan output:
Untuk mengakses elemen dari sebuah dictionary, aku hanya perlu menspesifikasikan kata kunci yang terdapat dalam dictionary tersebut.

Tugas:
Menggunakan tipe data mapping, aku diminta Senja untuk menampilkan nama & pekerjaan John Doe, seorang Programmer.

Tugas Praktek
Ternyata seru juga! Aku jadi berniat mengembangkan program kalkulator potongan harga ini untuk beberapa barang sekaligus agar lebih fungsional. Kalau begitu, aku perlu rapikan
dulu informasi setiap barang di tabel ini.
“Lalu, aku tinggal merepresentasikan semuanya ke tipe data dictionary, dengan begitu akan lebih mudah mengolahnya,” gumamku.
Aku pun mulai mendeklarasikan variabel sepatu, baju, dan celana untuk menampung informasi barang ke dalam live code editor.

Nama Barang Harga Diskon


Sepatu Niko 150000 30000
Baju Unikloh 80000 8000
Celana Lepis 200000 60000

sepatu = {'nama': 'Sepatu Niko', 'Harga': 150000, 'diskon': 30000 }

baju = {'nama' : 'Baju Unikloh', 'Harga' : 80000, 'diskon' : 8000}

celana = {'nama' : 'Celana Lepis', 'Harga' : 200000, 'diskon' : 60000}

In [1]: sepatu = {'nama': 'Sepatu Niko', 'Harga': 150000, 'diskon': 30000 }


baju = {'nama' : 'Baju Unikloh', 'Harga' : 80000, 'diskon' : 8000}
celana = {'nama' : 'Celana Lepis', 'Harga' : 200000, 'diskon' : 60000}

Tugas Praktek
Setelah berhasil merepresentasikan setiap barang ke dalam tipe data dictionary dengan variabel nama, harga, dan diskon, langkahku selanjutnya adalah: mendeklarasikan list dengan
nama daftar_belanja yang berisi data sepatu, baju, dan celana.
sepatu = {"nama": "Sepatu Niko", "harga": 150000, "diskon": 30000}

baju = {"nama": "Baju Unikloh", "harga": 80000, "diskon": 8000}

celana = {"nama": "Celana Lepis", "harga": 200000, "diskon": 60000}

daftar_belanja = ['sepatu', 'baju', 'celana']

In [1]: sepatu = {"nama": "Sepatu Niko", "harga": 150000, "diskon": 30000}


baju = {"nama": "Baju Unikloh", "harga": 80000, "diskon": 8000}
celana = {"nama": "Celana Lepis", "harga": 200000, "diskon": 60000}
daftar_belanja = ['sepatu', 'baju', 'celana']

Tugas Praktek
Dengan data yang aku miliki, aku bisa menghitung total harga jual dengan potongan harga beserta pajak sebesar 10% dari nilai jual.

Untungnya Senja memberikan beberapa tips untuk menyelesaikan tugas ini:

1. Tips 1. # Data yang dinyatakan ke dalam dictionary


2. Tips 2. # Hitung harga masing-masing data setelah dikurangi diskon
3. Tips 3. # Hitung harga total
4. Tips 4. # Hitung harga kena pajak
5. Tips 5. # Cetak total_harga + total_pajak

# Data yang dinyatakan ke dalam dictionary


sepatu = {"nama": "Sepatu Niko", "harga": 150000, "diskon": 30000}

baju = {"nama": "Baju Unikloh", "harga": 80000, "diskon": 8000}

celana = {"nama" : "Celana Lepis", "harga": 200000, "diskon": 60000}

# Hitunglah harga masing-masing data setelah dikurangi diskon

harga_sepatu = sepatu["harga"] - sepatu["diskon"]

harga_baju = baju["harga"] - baju["diskon"]

harga_celana = celana["harga"] - celana["diskon"]

# Hitung harga total

total_harga = harga_sepatu + harga_baju + harga_celana

# Hitung harga kena pajak

total_pajak = total_harga * 0.1

# Cetak total_harga + total_pajak

print(total_harga + total_pajak)

In [1]: # Data yang dinyatakan ke dalam dictionary


sepatu = {"nama": "Sepatu Niko", "harga": 150000, "diskon": 30000}
baju = {"nama": "Baju Unikloh", "harga": 80000, "diskon": 8000}
celana = {"nama" : "Celana Lepis", "harga": 200000, "diskon": 60000}
# Hitunglah harga masing-masing data setelah dikurangi diskon
harga_sepatu = sepatu["harga"] - sepatu["diskon"]
harga_baju = baju["harga"] - baju["diskon"]
harga_celana = celana["harga"] - celana["diskon"]
# Hitung harga total
total_harga = harga_sepatu + harga_baju + harga_celana
# Hitung harga kena pajak
total_pajak = total_harga * 0.1
# Cetak total_harga + total_pajak
print(total_harga + total_pajak)

365200.0
Pendahuluan
Setelah aku berhasil mempelajari detail terkait dengan variables dan data type, sekarang aku akan mempelajari operator-operator yang tersedia di dalam Python. Di dalam Python,
operator terbagi ke dalam 6 kelompok:

1. Arithmetic operators
2. Assignment operators
3. Comparison operators
4. Logical operators
5. Identity operators
6. Membership operators

Next

Arithmetic Operators
Operator arithmetic digunakan pada tipe data numerik, untuk melakukan operasi matematika sederhana yang terdiri atas:

Simbol Operator Keterangan Contoh

+ Penambahan 3 + 2 akan menghasilkan output: 5

- Pengurangan 4 - 2 akan menghasilkan output: 2

* Perkalian 3 * 2 akan menghasilkan output: 6

/ Pembagian 3 / 2 akan menghasilkan output: 1.5


3 % 2 akan menghasilkan output: 1
dikarenakan 3 tidak habis dibagi 2 dan menyisakan 1
% Modulo/sisa bagi
8 % 2 akan menghasilkan output: 0
dikarenakan 8 habis dibagi 2

** Pangkat 3 ** 2 akan menghasilkan output: 9

3 // 2 akan menghasilkan output: 1


// Pembagian dengan pembulatan ke bawah
dikarenakan 1.5 akan menjadi 1 saat dibulatkan ke bawah.

Assignment Operators
Operator assignment digunakan untuk mendeklarasikan nilai secara langsung ke suatu variabel.

Simbol Operator Keterangan Contoh

x=3
+= Penambahan x += 2 ekivalen dengan x = x + 2
akan mengubah nilai x menjadi 5

x=3
-= Pengurangan x -= 2 ekivalen dengan x = x - 2
akan mengubah nilai x menjadi 1

x=3
*= Perkalian x *= 2 ekivalen dengan x = x * 2
akan mengubah nilai x menjadi 6

/= Pembagian x=3
x /= 2 ekivalen dengan x = x / 2
akan mengubah nilai x menjadi 1.5

x=3
%= Modulo/sisa bagi x %= 2 ekivalen dengan x = x % 2
akan mengubah nilai x menjadi 1

x=3
**= Pangkat x **= 2 ekivalen dengan x = x ** 2
akan mengubah nilai x menjadi 9

x=3
//= Pembagian dengan pembulatan ke bawah x //= 2 sama dengan x = x // 2
akan mengubah nilai x menjadi 1

Comparison Operators
Operator comparison dapat digunakan untuk membandingkan dua buah nilai, berikut merupakan contoh-contoh operator komparasi.

Simbol Operator Keterangan Contoh

33 == 33 akan menghasilkan output: True dikarenakan benar 33 sama dengan 33


== Persamaan
34 == 33 akan menghasilkan output: False dikarenakan 34 tidak sama dengan 33

34 != 33 akan menghasilkan output: True dikarenakan benar bahwa 34 tidak sama dengan 33
!= Pertidaksamaan
33 != 33 akan menghasilkan output: False dikarenakan 33 sama dengan 33

34 > 33 akan menghasilkan output: True dikarenakan 34 lebih besar dari 33


> Lebih besar dari
33 > 34 akan menghasilkan output False dikarenakan tidak benar 33 lebih besar dari 34

< Lebih kecil dari 33 < 34 akan menghasilkan output True dikarenakan benar 33 lebih kecil dari 34
34 < 33 akan menghasilkan output: False dikarenakan tidak benar 34 lebih kecil dari 33

34 >= 33 akan menghasilkan output True dikarenakan 34 lebih besar dari 33


>= Lebih besar atau sama dengan 34 >= 34 akan menghasilkan output True dikarenakan 34 sama dengan 34
33 >= 34 akan menghasilkan output False dikarenakan 33 tidak lebih besar dari 34 dan tidak sama dengan 34

33 <= 34 akan menghasilkan output True dikarenakan 33 lebih kecil dari 34


<= Lebih kecil atau sama dengan 33 <= 33 akan menghasilkan output True dikarenakan 34 sama dengan 33
34 <= 33 akan menghasilkan output False dikarenakan 34 tidak lebih kecil dari 33 dan tidak sama dengan 34
Logical Operators
Operator logical digunakan untuk menggabungkan beberapa nilai kebenaran atas suatu statemen logika.

Simbol
Keterangan Contoh
Operator

x=5
x >= 1 and x <= 10

dan - menerima dua nilai kebenaran dan mengembalikan nilai benar jika akan mengembalikan nilai True
and
keduanya benar x=5
x >= 1 and x <= 4
akan mengembalikan nilai False

x=3
x >= 1 or x <= 2
akan mengembalikan nilai True dikarenakan statemen logika pertama terpenuhi
atau - menerima dua nilai kebenaran dan mengembalikan nilai benar jika
or x=3
salah satu benar
x >= 5 or x <= 0
akan mengembalikan nilai False dikarenakan kedua statemen logika tidak terpenuhi
(bernilai False)

x=7
negasi - menerima sebuah nilai kebenaran dan mengembalikan
not not(x == 7) akan mengembalikan nilai False
komplemennya
not(x >= 10) akan mengembalikan nilai True
Identity Operators
Operator identitas dapat digunakan untuk membandingkan identitas dari dua buah variabel.

Simbol
Keterangan Contoh
Operator

x = ["Ani", "Budi"]
y = ["Ani", "Budi"]
a=x
Menerima dua buah objek dan mengembalikan nilai True ketika keduanya
is
merujuk pada objek yang sama dan False dalam kondisi lainnya print(a is x) akan menampilkan nilai True dikarenakan a dan x merujuk ke objek
yang sama
print(a is y) akan menampilkan nilai False dikarenakan a dan y tidak merujuk ke
objek yang sama meskipun isi di dalam keduanya sama.

x = ["Ani", "Budi"]
y = ["Ani", "Budi"]
a=x
Menerima dua buah objek dan mengembalikan nilai True ketika keduanya
is not
merujuk pada objek yang berbeda dan False jika sama print(a is not x) akan menampilkan nilai False dikarenakan a dan x merujuk ke
objek yang sama
print(a is not y) akan menampilkan nilai True dikarenakan a dan y tidak merujuk
ke objek yang sama

Pada umumnya, operator identitas sering digunakan bersamaan dengan fungsi type(), yang mana fungsi type() akan menerima sebuah objek dan mengembalikan tipe data dari objek
tersebut. Di bawah ini adalah contoh penggunaan operator identitas dan fungsi type().
Nah, aku coba mempraktekkan contoh tutorial yang diberikan Senja pada live code editor.

akan menampilkan pesan True.


Setelah line di bawah ini selesai dieksekusi, Python akan secara otomatis mengubah tipe data dari x menjadi float

akan menampilkan pesan False, dan

akan menampilkan pesan True

Membership Operators
Operator keanggotaan (membership) dapat digunakan untuk memeriksa anggota dari sebuah tipe data sequence/set. Operator keanggotaan meliputi:

Simbol
Keterangan Contoh
Operator

x = ["Ani", "Budi", "Cici"]


y = "Cici"
z = "Dodi"
Menerima sebuah sequence/set dan objek, mengembalikan True ketika objek merupakan anggota dari sequence/set,
in
dan False ketika bukan. print(y in x) akan menampilkan
nilai True
print(z in x) akan menampilkan
nilai False

not in Menerima sebuah sequence/set dan objek, mengembalikan True ketika objek bukan merupakan anggota dari sequence/set, x = ["Ani", "Budi", "Cici"]
dan False ketika merupakan.
y = "Cici"
z = "Dodi"
print(y not in x) akan menampilkan
nilai False
print(z not in x) akan menampilkan
nilai True

Nilai Prioritas Operator dalam Python – Part 1


Info: materi telah diperbarui pada tanggal 29 Januari 2022, pastikan kembali kode yang telah ditulis disesuaikan dengan bagian Lesson.

Setelah mempelajari berbagai operator dalam bahasa pemrograman Python, tentunya aku juga ingin bisa menuliskan operasi-operasi variabel yang bersifat ekspresif dan ringkas.
Sebagai contoh, untuk menuliskan sebuah program menghitung diskon dan pajak pembelian berdasarkan ilmu yang telah aku pelajari, aku dapat menuliskannya dengan potongan
kode berikut:

Setelah aku memberikan potongan kode yang telah kubuat, ternyata Senja memiliki ide yang lebih baik. Wajar saja, Senja adalah mentorku. Senja langsung mencontohkan cara lebih
mudah dengan menjelaskan presedensi (urutan eksekusi) dari operator.
Dengan mengikuti masukan Senja, aku dapat menuliskannya ke dalam jumlah baris yang lebih sedikit seperti pada potongan kode berikut
Tugas:
Aku diminta Senja untuk menghitung harga yang harus dibayarkan menggunakan barang senilai 150,000, dengan diskon 30% dan pajak 10%, menggunakan cara yang aku gunakan
awal dan cara lebih singkat yang diajarkan Senja.

# Kode awal

total_harga = 150000

potongan_harga = 0.3

pajak = 0.1 # pajak dalam persen ~ 10%

harga_bayar = 1-potongan_harga # baris pertama

harga_bayar *= total_harga # baris kedua

pajak_bayar = pajak * harga_bayar # baris ketiga

harga_bayar += pajak_bayar # baris ke-4

print("Kode awal - harga_bayar=", harga_bayar)

# Penyederhanaan baris kode dengan menerapkan prioritas operator

total_harga = 150000

potongan_harga = 0.3

pajak = 0.1 # pajak dalam persen ~ 10%

harga_bayar = (1-potongan_harga) * total_harga #baris pertama

harga_bayar += harga_bayar * pajak # baris kedua

print("Penyederhanaan kode - harga_bayar=", harga_bayar)

In [1]: # Kode awal


total_harga = 150000
potongan_harga = 0.3
pajak = 0.1 # pajak dalam persen ~ 10%
harga_bayar = 1-potongan_harga # baris pertama
harga_bayar *= total_harga # baris kedua
pajak_bayar = pajak * harga_bayar # baris ketiga
harga_bayar += pajak_bayar # baris ke-4
print("Kode awal - harga_bayar=", harga_bayar)
# Penyederhanaan baris kode dengan menerapkan prioritas operator
total_harga = 150000
potongan_harga = 0.3
pajak = 0.1 # pajak dalam persen ~ 10%
harga_bayar = (1-potongan_harga) * total_harga #baris pertama
harga_bayar += harga_bayar * pajak # baris kedua
print("Penyederhanaan kode - harga_bayar=", harga_bayar)

Kode awal - harga_bayar= 115500.0


Penyederhanaan kode - harga_bayar= 115500.0

Nilai Prioritas Operator dalam Python – Part 2


Dalam bahasa pemrograman Python, tabel berikut mencakup nilai prioritas dan arah pengerjaan dari setiap operator.

Operator Nilai Prioritas Arah pengerjaan Deskripsi

() 10 Kiri ke kanan Grouping

x[index] 9 Kiri ke kanan Mengakses elemen array

** 8 Kanan ke kiri pangkat

+x
7 Kiri ke kanan Tanda bilangan positif dan negatif
-x

*
/ 6 Kiri ke kanan Perkalian Pembagian Modulus
%

+
5 Kiri ke kanan Penambahan Pengurangan
-
is, is not, in, not in
<=, <, >=, > 4 Kiri ke kanan Membership operator Comparison Operator
==, !=

not 3 Kiri ke kanan Operator logika negasi (not)

and 2 Kiri ke kanan Operator logika konjungsi (and)

or 1 Kiri ke kanan Operator logika disjungsi (or)

Dari tabel di atas, dapat terlihat bahwa tanda () memiliki nilai prioritas yang paling tinggi. Hal itu menandakan jika di dalam suatu statemen yang melibatkan beberapa operator secara
sekaligus, setiap operasi yang berada di dalam tanda () akan dikerjakan terlebih dahulu.
Kemudian, jika terdapat beberapa operasi dalam tanda (), tanda kurung yang berada di sebelah paling kiri akan dikerjakan terlebih dahulu dikarenakan arah pengerjaan dari tanda ()
adalah dari kiri ke kanan.

Sebagai contoh, pada proses deklarasi variabel nilai di bawah ini.

Dari contoh di atas, meskipun operator perkalian (*) memiliki nilai prioritas yang lebih tinggi dari operator pengurangan (-), tanda () akan membuat Python mengerjakan bagian
pengurangan terlebih dahulu, sebelum akhirnya mengalikan hasil pengurangan dengan bilangan 100.
Tugas Praktek
Senja memang hebat!
Aku baru sadar, dengan struktur penulisan yang tepat maka penulisan syntax dapat dipersingkat untuk menjadi lebih simpel.
Kenapa tidak terpikirkan olehku, ya? Harusnya aku tidak perlu mendeklarasikan variabel total_pajak dan aku bisa langsung menampung hasil perhitungan akhir saat
mendeklarasikan variabel total_harga. Jadi, kodeku akan berjalan jika aku menambahkan setiap harga barang yang telah dipotong diskon sebelum menghitung pajak.
Tugas:

Dengan cara yang diajarkan Senja, aku akan membuat potongan kode diatas menjadi lebih simpel. Jangan lupa ada pajak 10%.
sepatu = { "nama" : "Sepatu Niko", "harga": 150000, "diskon": 30000 }

baju = { "nama" : "Baju Unikloh", "harga": 80000, "diskon": 8000 }

celana = { "nama" : "Celana Lepis", "harga": 200000, "diskon": 60000 }

harga_sepatu = sepatu["harga"] - sepatu["diskon"]

harga_baju = baju["harga"] - baju["diskon"]

harga_celana = celana["harga"] - celana["diskon"]

total_harga = (harga_sepatu + harga_baju + harga_celana) * 1.1

print(total_harga)

In [1]: sepatu = { "nama" : "Sepatu Niko", "harga": 150000, "diskon": 30000 }


baju = { "nama" : "Baju Unikloh", "harga": 80000, "diskon": 8000 }
celana = { "nama" : "Celana Lepis", "harga": 200000, "diskon": 60000 }
harga_sepatu = sepatu["harga"] - sepatu["diskon"]
harga_baju = baju["harga"] - baju["diskon"]
harga_celana = celana["harga"] - celana["diskon"]
total_harga = (harga_sepatu + harga_baju + harga_celana) * 1.1
print(total_harga)

365200.00000000006
Python Conditioning for Decision – Part 1
Layaknya bahasa pemrograman lainnya, bahasa pemrograman Python menyediakan statemen desisi (decision statement) untuk berinteraksi dengan variabel bertipe boolean dan
operator logika. Statemen desisi dalam Python dapat dituliskan dengan menggunakan format berikut:

if conditions:
do_action_1
...
do_action_n

Dengan <conditions> berisikan operator yang mengembalikan nilai kebenaran; ataupun beberapa operator yang mengembalikan nilai kebenaran, yang digabungkan dengan operator
logika. Melalui sebuah statemen desisi (if statement), <do_action_1> sampai dengan <do_action_n> akan dijalankan saat <conditions> bernilai True.

Dalam menuliskan serangkaian aksi (<do_action_1>, ... , <do_action_n>) dalam sebuah statemen if, aku harus mengemas setiap aksi dalam sebuah blok dengan menambahkan
indentasi (jorokan) dari pada aksi.
Aku tidak sabar untuk mempraktekkannya.

Python Conditioning for Decision – Part 2


Aku mempelajari kode yang diberikan Senja dan coba mempraktekkannya ke dalam live code editor:

Ketika aku menjalankan potongan kode ini, live code editor akan menampilkan output sebagai berikut:
Kemudian, untuk melengkapi sebuah statement if, aku bisa menambahkan satu ataupun lebih statemen desisi elif, untuk melakukan pengecekan kondisi lainnya, saat kondisi dalam
statement if atau elif di atasnya tidak terpenuhi.

Tugas:
Praktekkan kode berikut di live code editor pada baris setelah kode sebelumnya yang telah dibuat.

Ketika dijalankan, live code editor akan menampilkan output:

ps: Aku juga bisa mengubah nilai x sehingga lebih mudah memahami statemen desisi mana yang akan dieksekusi oleh potongan kode yang telah aku jalankan.
# Statement if

x=4

if x % 2 == 0: # jika sisa bagi x dengan 2 sama dengan 0

print("x habis dibagi dua") # statemen aksi lebih menjorok ke dalam

# Statement if ... elif ... else

x=7

if x % 2 == 0: # jika sisa bagi x dengan 2 sama dengan 0

print("x habis dibagi dua")

elif x % 3 == 0: # jika sisa bagi x dengan 3 sama dengan 0

print("x habis dibagi tiga")

elif x % 5 == 0: # jika sisa bagi x dengan 5 sama dengan 0

print("x habis dibagi lima")

else:

print("x tidak habis dibagi dua, tiga ataupun lima")

In [1]: # Statement if
x = 4
if x % 2 == 0: # jika sisa bagi x dengan 2 sama dengan 0
print("x habis dibagi dua") # statemen aksi lebih menjorok ke dalam
# Statement if ... elif ... else
x = 7
if x % 2 == 0: # jika sisa bagi x dengan 2 sama dengan 0
print("x habis dibagi dua")
elif x % 3 == 0: # jika sisa bagi x dengan 3 sama dengan 0
print("x habis dibagi tiga")
elif x % 5 == 0: # jika sisa bagi x dengan 5 sama dengan 0
print("x habis dibagi lima")
else:
print("x tidak habis dibagi dua, tiga ataupun lima")

x habis dibagi dua


x tidak habis dibagi dua, tiga ataupun lima
Python Conditioning for Decision – Part 3
Dari yang aku pelajari pada bagian awal dari statemen desisi, operator desisi juga dapat digunakan dengan operator logika.
Sebagai catatan tambahan, aku juga belajar bahwa aksi dalam sebuah desisi statemen dapat dituliskan desisi statemen tambahan (lainnya) yang dikenal dengan istilah nested if.

Tugas:
Praktekkan potongan kode berikut dalam live code editor.

jam = 13

if jam >= 5 and jam < 12: # selama jam di antara 5 s.d. 12

print("Selamat pagi!")

elif jam >= 12 and jam < 17: # selama jam di antara 12 s.d. 17

print("Selamat siang!")

elif jam >= 17 and jam < 19: # selama jam di antara 17 s.d. 19

print("Selamat sore!")

else: # selain kondisi di atas

print("Selamat malam!")
In [1]: jam = 13
if jam >= 5 and jam < 12: # selama jam di antara 5 s.d. 12
print("Selamat pagi!")
elif jam >= 12 and jam < 17: # selama jam di antara 12 s.d. 17
print("Selamat siang!")
elif jam >= 17 and jam < 19: # selama jam di antara 17 s.d. 19
print("Selamat sore!")
else: # selain kondisi di atas
print("Selamat malam!")

Selamat siang!

Tugas Praktek
Aku diminta tolong Senja untuk menghitung tagihan pembayaran karena saat ini prosesnya masih manual.

Tugas:
“Aksara, kantor kita akan merilis penawaran baru terkait jasa pembuatan data warehouse. Bisa tolong kembangkan kalkulatormu untuk menghitung tagihan pembayaran? Soalnya
selama ini kita masih manual,” jelas Senja sembari memberikan contoh nota tagihan kantor.
Aku belum mengiyakan karena sedikit ragu. Mengingat sebelumnya aku sempat salah. Tapi dalam hati aku berkata, pasti bisa! Kali ini aku harus mampu membuat kalkulator lebih
rumit.
Solusi yang terlintas dalam bayanganku: Kalkulator ini harus dapat menghitung subtotal setiap jasa yang diambil dari kolom harga/ hari dan total hari dari setiap jasa. Ternyata Senja
juga memikirkan hal yang sama dengan instruksinya yang sangat membantu.

Tagihan untuk Mr. Yoyo

Harga per
Nama Jasa Total hari Subtotal
hari

Data Warehousing 1000000 15 15000000

Data Cleansing 1500000 10 15000000


Data Integration 2000000 15 30000000

Data Transformation 2500000 10 25000000

Total 85000000

tagihan_ke = 'Mr. Yoyo'

warehousing = { 'harga_harian': 1000000, 'total_hari':15 }

cleansing = { 'harga_harian': 1500000, 'total_hari':10 }

integration = { 'harga_harian':2000000, 'total_hari':15 }

transform = { 'harga_harian':2500000, 'total_hari':10 }

sub_warehousing = warehousing['harga_harian']*warehousing['total_hari']

sub_cleansing = cleansing['harga_harian']*cleansing['total_hari']

sub_integration = integration['harga_harian']*integration['total_hari']

sub_transform = transform['harga_harian']*transform['total_hari']

total_harga = sub_warehousing+sub_cleansing+sub_integration+sub_transform

print("Tagihan kepada:")

print(tagihan_ke)

print("Selamat pagi, anda harus membayar tagihan sebesar:")

print(total_harga)

In [1]: tagihan_ke = 'Mr. Yoyo'


warehousing = { 'harga_harian': 1000000, 'total_hari':15 }
cleansing = { 'harga_harian': 1500000, 'total_hari':10 }
integration = { 'harga_harian':2000000, 'total_hari':15 }
transform = { 'harga_harian':2500000, 'total_hari':10 }
sub_warehousing = warehousing['harga_harian']*warehousing['total_hari']
sub_cleansing = cleansing['harga_harian']*cleansing['total_hari']
sub_integration = integration['harga_harian']*integration['total_hari']
sub_transform = transform['harga_harian']*transform['total_hari']
total_harga = sub_warehousing+sub_cleansing+sub_integration+sub_transform
print("Tagihan kepada:")
print(tagihan_ke)
print("Selamat pagi, anda harus membayar tagihan sebesar:")
print(total_harga)

Tagihan kepada:
Mr. Yoyo
Selamat pagi, anda harus membayar tagihan sebesar:
85000000
Tugas Praktek
Aku menunjukkan potongan kode dan hasil dari kalkulator yang telah aku buat ke Senja yang sudah berhasil menampilkan kalimat:
Selamat pagi, Anda harus membayar tagihan sebesar:
Kulihat kedua alis Senja bertaut, ini pertanda kodeku pasti ada yang keliru.
“Kalau kamu hanya memasukkan perintah ‘selamat pagi’ seakan kalau tagihan ini dikirim hanya saat pagi, padahal bisa kapan saja sesuai kebutuhan,” komentar Senja. Begini, jam
pengiriman email kantor kita mulai dari 6 pagi sampai 9 malam.

Tugas:
Tolong masukkan variabel keterangan waktu tersebut di kodemu. Lalu, diatur dengan detail berikut:

1. Diatas jam 07 malam adalah salam 'selamat malam'


2. Diatas jam 05 sore adalah salam 'selamat sore'
3. Diatas jam 12 siang, adalah 'selamat siang'
4. dan selain itu 'selamat pagi'

“Oh, oke. Paham,” sahutku sembari merevisi. Saran yang bagus, kedepannya aku harus berpikir kritis.

jam = 17

tagihan_ke = 'Mr. Yoyo'

warehousing = { 'harga_harian': 1000000, 'total_hari':15 }

cleansing = { 'harga_harian': 1500000, 'total_hari':10 }

integration = { 'harga_harian':2000000, 'total_hari':15 }

transform = { 'harga_harian':2500000, 'total_hari':10 }

sub_warehousing = warehousing['harga_harian']*warehousing['total_hari']

sub_cleansing = cleansing['harga_harian']*cleansing['total_hari']

sub_integration = integration['harga_harian']*integration['total_hari']

sub_transform = transform['harga_harian']*transform['total_hari']
total_harga = sub_warehousing+sub_cleansing+sub_integration+sub_transform

print("Tagihan kepada:")

print(tagihan_ke)

if jam >= 19 :

print("Selamat malam, anda harus membayar tagihan sebesar:")

elif jam >= 17 :

print("Selamat sore, anda harus membayar tagihan sebesar:")

elif jam >= 12:

print("Selamat siang, anda harus membayar tagihan sebesar:")

else :

print("Selamat pagi, anda harus membayar tagihan sebesar:")

print(total_harga)

In [1]: jam = 17
tagihan_ke = 'Mr. Yoyo'
warehousing = { 'harga_harian': 1000000, 'total_hari':15 }
cleansing = { 'harga_harian': 1500000, 'total_hari':10 }
integration = { 'harga_harian':2000000, 'total_hari':15 }
transform = { 'harga_harian':2500000, 'total_hari':10 }
sub_warehousing = warehousing['harga_harian']*warehousing['total_hari']
sub_cleansing = cleansing['harga_harian']*cleansing['total_hari']
sub_integration = integration['harga_harian']*integration['total_hari']
sub_transform = transform['harga_harian']*transform['total_hari']
total_harga = sub_warehousing+sub_cleansing+sub_integration+sub_transform
print("Tagihan kepada:")
print(tagihan_ke)
if jam >= 19 :
print("Selamat malam, anda harus membayar tagihan sebesar:")
elif jam >= 17 :
print("Selamat sore, anda harus membayar tagihan sebesar:")
elif jam >= 12:
print("Selamat siang, anda harus membayar tagihan sebesar:")
else :
print("Selamat pagi, anda harus membayar tagihan sebesar:")
print(total_harga)

Tagihan kepada:
Mr. Yoyo
Selamat sore, anda harus membayar tagihan sebesar:
85000000
Python Primitive Loop Control
Loop Control merupakan salah satu fitur yang mengizinkan penggunanya untuk melakukan serangkaian aksi, selama suatu kondisi yang telah ditetapkan bernilai benar. Dalam
Python, terdapat dua bentuk primitif dari loop kontrol (struktur pengulangan), yaitu

 while loops
 for loops

Python while loops – Part 1


Pertama-tama aku mempelajari struktur kontrol while loops menggunakan contoh berikut:

Tugas 1:
Hitung total tagihan secara manual dengan menulis potongan kode berikut ke dalam live code editor:

Setelah aku konfirmasi potongan kode yang aku buat ke Senja, aku belajar bahwa potongan kode ini tidak efektif apabila ukuran dari list tagihan bertambah. Tentunya aku akan
kewalahan untuk menuliskan ekspresi penambahan pada setiap elemennya, terutama jika elemennya berjumlah banyak. Untuk mengatasi hal ini Senja memberikan masukan untuk
menggunakan struktur kontrol while.

Tugas 2:
Ubah potongan kode yang telah dibuat dengan arahan Senja dan tuliskan di dalam live code editor:
Setelah dijalankan, kedua potongan kode akan mencetak output yang sama yaitu 750000.

Dari tugas di atas, aku belajar bahwa statemen while akan terus menjalankan aksi di dalamnya, selama kondisi yang dituliskan di samping kanan statemen while terus terpenuhi.
Melalui penambahan nilai i sebagai salah satu aksi dalam statemen while, saat nilai i = 4, kondisi dari statemen while tidak akan terpenuhi dan eksekusi program akan dilanjutkan ke
perintah print(total_tagihan).

# Tagihan

tagihan = [50000, 75000, 125000, 300000, 200000]

# Tanpa menggunakan while loop

total_tagihan = tagihan[0] + tagihan[1] + tagihan[2] + tagihan[3] + tagihan[4]

print(total_tagihan)

# Dengan menggunakan while loop

i = 0 # sebuah variabel untuk mengakses setiap elemen tagihan satu per satu

jumlah_tagihan = len(tagihan) # panjang (jumlah elemen dalam) list tagihan

total_tagihan = 0 # mula-mula, set total_tagihan ke 0

while i < jumlah_tagihan: # selama nilai i kurang dari jumlah_tagihan

total_tagihan += tagihan[i] # tambahkan tagihan[i] ke total_tagihan

i += 1 # tambahkan nilai i dengan 1 untuk memproses tagihan selanjutnya.

print(total_tagihan)
In [1]: # Tagihan
tagihan = [50000, 75000, 125000, 300000, 200000]
# Tanpa menggunakan while loop
total_tagihan = tagihan[0] + tagihan[1] + tagihan[2] + tagihan[3] + tagihan[4]
print(total_tagihan)
# Dengan menggunakan while loop
i = 0 # sebuah variabel untuk mengakses setiap elemen tagihan satu per satu
jumlah_tagihan = len(tagihan) # panjang (jumlah elemen dalam) list tagihan
total_tagihan = 0 # mula-mula, set total_tagihan ke 0
while i < jumlah_tagihan: # selama nilai i kurang dari jumlah_tagihan
total_tagihan += tagihan[i] # tambahkan tagihan[i] ke total_tagihan
i += 1 # tambahkan nilai i dengan 1 untuk memproses tagihan selanjutnya.
print(total_tagihan)

750000
750000

Python while loops – Part 2


Dalam sebuah struktur kontrol pengulangan, aku dapat menggunakan perintah break untuk keluar dari struktur pengulangan dan perintah continue untuk melanjutkan proses
pengulangan berikutnya.

Tugas:
Praktekkan potongan kode berikut pada live code editor.
dengan output

tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]

i=0

jumlah_tagihan = len(tagihan)

total_tagihan = 0

while i < jumlah_tagihan:

# jika terdapat tagihan ke-i yang bernilai minus (di bawah nol),

# pengulangan akan dihentikan

if tagihan[i]< 0:
total_tagihan = -1

print("terdapat angka minus dalam tagihan, perhitungan dihentikan!")

break

total_tagihan += tagihan[i]

i += 1

print(total_tagihan)

In [1]: tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]


i = 0
jumlah_tagihan = len(tagihan)
total_tagihan = 0
while i < jumlah_tagihan:
# jika terdapat tagihan ke-i yang bernilai minus (di bawah nol),
# pengulangan akan dihentikan
if tagihan[i]< 0:
total_tagihan = -1
print("terdapat angka minus dalam tagihan, perhitungan dihentikan!")
break
total_tagihan += tagihan[i]
i += 1
print(total_tagihan)

terdapat angka minus dalam tagihan, perhitungan dihentikan!


-1

Python while loops – Part 3


Praktekkan potongan kode berikut menggunakan live code editor.
Jika dijalankan maka akan mencetak output total tagihan sebesar 750000 (total tagihan positif).

tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]

i=0

jumlah_tagihan = len(tagihan)

total_tagihan = 0

while i < jumlah_tagihan:

# jika terdapat tagihan ke-i yang bernilai minus (di bawah nol),

# abaikan tagihan ke-i dan lanjutkan ke tagihan berikutnya


if tagihan[i] < 0:

i += 1

continue

total_tagihan += tagihan[i]

i += 1

print(total_tagihan)

In [1]: tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]


i = 0
jumlah_tagihan = len(tagihan)
total_tagihan = 0
while i < jumlah_tagihan:
# jika terdapat tagihan ke-i yang bernilai minus (di bawah nol),
# abaikan tagihan ke-i dan lanjutkan ke tagihan berikutnya
if tagihan[i] < 0:
i += 1
continue
total_tagihan += tagihan[i]
i += 1
print(total_tagihan)

750000

Python for loops – Part 1


Untuk perintah for loops, aku mencoba potongan kode ini menggunakan live code editor.
Jika dijalankan maka akan mencetak output total tagihan sebesar 550000 (total tagihan positif).

list_tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]

total_tagihan = 0

for tagihan in list_tagihan: # untuk setiap tagihan dalam list_tagihan

total_tagihan += tagihan # tambahkan tagihan ke total_tagihan

print(total_tagihan)

In [1]: list_tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]


total_tagihan = 0
for tagihan in list_tagihan: # untuk setiap tagihan dalam list_tagihan
total_tagihan += tagihan # tambahkan tagihan ke total_tagihan
print(total_tagihan)

550000

Python for loops – Part 2


Info: materi telah diperbarui pada tanggal 26 Desember 2021, pastikan kembali kode yang telah ditulis disesuaikan dengan default live code serta urutan materi pada bagian lesson.
Serupa dengan struktur pengulangan while, aku juga dapat memanfaatkan statement break dan continue di dalamnya. Aku mencoba potongan kode di bawah menggunakan live
code editor untuk penggunaan statement break.
Jika dijalankan akan mencetak:

Untuk statement continue

Setelah dijalankan akan menghasilkan

list_tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]


# For loops with break

print("For loops with break")

total_tagihan_break = 0

for tagihan in list_tagihan:

if tagihan < 0:

print("Terdapat angka minus dalam tagihan, perhitungan dihentikan!")

break

total_tagihan_break += tagihan

print("Total tagihan %d." % total_tagihan_break)

print()

# For loops with continue

print("For loops with continue")

total_tagihan_continue = 0

for tagihan in list_tagihan:

if tagihan < 0:

print("Terdapat angka minus dalam tagihan, tagihan %d dilewati!" % tagihan)

continue

total_tagihan_continue += tagihan

print("Total tagihan %d." % total_tagihan_continue)


In [1]: list_tagihan = [50000, 75000, -150000, 125000, 300000, -50000, 200000]

# For loops with break


print("For loops with break")
total_tagihan_break = 0
for tagihan in list_tagihan:
if tagihan < 0:
print("Terdapat angka minus dalam tagihan, perhitungan dihentikan!")
break
total_tagihan_break += tagihan
print("Total tagihan %d." % total_tagihan_break)
print()

# For loops with continue


print("For loops with continue")
total_tagihan_continue = 0
for tagihan in list_tagihan:
if tagihan < 0:
print("Terdapat angka minus dalam tagihan, tagihan %d dilewati!" % tagihan)
continue
total_tagihan_continue += tagihan
print("Total tagihan %d." % total_tagihan_continue)

For loops with break


Terdapat angka minus dalam tagihan, perhitungan dihentikan!
Total tagihan 125000.

For loops with continue


Terdapat angka minus dalam tagihan, tagihan -150000 dilewati!
Terdapat angka minus dalam tagihan, tagihan -50000 dilewati!
Total tagihan 750000.

Ekspedisi Pamanku
Aku menyambar ponsel di meja dan membuka pesan singkat dari paman tempo hari yang menjelaskan jika paman harus mengeluarkan uang sebesar 1,5 juta per mobil dalam sehari.
Tapi, beliau selalu kebingungan dengan total pengeluaran per bulan karena adanya aturan ganjil-genap yang membuat pengoperasian mobil yang berbeda.
“Kalau begitu, aku akan masukkan variabel jumlah_hari berisi jumlah hari dalam sebulan dan variabel list_plat_nomor berisi seluruh nomor plat mobil milik paman,” gumamku
sendiri. Kalau seperti ini paman hanya perlu mengganti variabel jumlah_hari atau modifikasi variabel list_plat_nomor untuk melacak total pengeluaran paman selama sebulan. Ide
Cemerlang!
# Data

uang_jalan = 1500000

jumlah_hari = 31

list_plat_nomor = [8993, 2198, 2501, 2735, 3772, 4837, 9152]

# Pengecekan kendaraan dengan nomor pelat ganjil atau genap

kendaraan_genap = 0

kendaraan_ganjil = 0

for plat_nomor in list_plat_nomor:

if plat_nomor % 2 == 0:

kendaraan_genap += 1

else:

kendaraan_ganjil += 1

# Total pengeluaran untuk kendaraan dengan nomor pelat ganjil

# dan genap dalam 1 bulan

i=1

total_pengeluaran = 0

while i<= jumlah_hari:

if i % 2 == 0:

total_pengeluaran += (kendaraan_genap * uang_jalan)

else:

total_pengeluaran += (kendaraan_ganjil * uang_jalan)

i += 1

# Cetak total pengeluaran


print(total_pengeluaran)

In [1]: # Data
uang_jalan = 1500000
jumlah_hari = 31
list_plat_nomor = [8993, 2198, 2501, 2735, 3772, 4837, 9152]
# Pengecekan kendaraan dengan nomor pelat ganjil atau genap
kendaraan_genap = 0
kendaraan_ganjil = 0
for plat_nomor in list_plat_nomor:
if plat_nomor % 2 == 0:
kendaraan_genap += 1
else:
kendaraan_ganjil += 1
# Total pengeluaran untuk kendaraan dengan nomor pelat ganjil
# dan genap dalam 1 bulan
i = 1
total_pengeluaran = 0
while i<= jumlah_hari:
if i % 2 == 0:
total_pengeluaran += (kendaraan_genap * uang_jalan)
else:
total_pengeluaran += (kendaraan_ganjil * uang_jalan)
i += 1
# Cetak total pengeluaran
print(total_pengeluaran)

163500000

Hasil Belajarku
Wah senangnya! Aku telah berhasil menyelesaikan pelajaran Python pertamaku, Python for Data Professional Beginner - Part 1.
Selain membabat habis materi dari Senja, aku berhasil menyelesaikan latihan, dan membantu Pamanku.

Dari materi yang telah aku pelajari dan praktekkan, aku telah mempelajari:
 Alasan Python secara luas digunakan dalam komputasi saintifik, web, ranah data (data domain).
 Konstruksi dari struktur bahasa pemrograman Python.
 Teknik mempraktekkan penggunaan tipe data pada Python.
 Teknik mempraktekkan penggunaan jenis-jenis operator pada Python.
 Teknik mempraktekkan penggunaan pengkondisian untuk pengambilan keputusan dan perulangan pada Python.
 Program Python untuk penyelesaian kasus bisnis sederhana.

Mengakses List dan Tuple – Part 2


Cara collections manipulation pertama yang akan aku pelajari adalah memotong (slicing) list/tuple dengan menggunakan rentangan nilai indeks (range of index).

Tugas 1:
Aku mencoba mempraktekkan potongan kode di bawah dengan live code editor:

Untuk menampilkan output bulan_pembelian Mei, Juni, Juli, Agustus, aku dapat menggunakan syntax di bawah untuk mengambil index 4 - 7.

Tugas 2:

Untuk menampilkan output bulan_pembelian Januari, Februari, Maret, April, Mei aku dapat menggunakan syntax di bawah untuk mengambil index 0 - 4.
Tugas 3:

Untuk menampilkan output September, Oktober, November, Desember. Aku dapat menggunakan syntax di bawah untuk mengambil index 8 - elemen terakhir.

Tugas 4:

Aku juga dapat memotong suatu list/tuple dengan menggunakan indeks negatif. Sebagai contoh untuk mendapatkan output September, Oktober, November aku bisa
menggunakan syntax di bawah:

Penggabungan Dua atau Lebih List atau Tuple


Selain dapat melakukan pemotongan terhadap tipe data list/tuple, aku juga dapat menggabungkan isi dari suatu list (ataupun tuple) dengan list lainnya (atau dengan tuple lainnya)
dengan menggunakan operator penambahan (+).

Tugas:
Aku menggunakan potongan kode yang dicontohkan dengan live code editor:

Akan menghasilkan output:


List Manipulation – Part 1
Untuk memanipulasi tipe data list, aku dapat menggunakan sekumpulan fitur yang telah tersedia dalam bahasa pemrograman Python. Merujuk pada tabel di bawah, aku dapat
memahami fitur-fitur untuk melakukan manipulasi data yang terdiri atas append(), clear(), copy(), count() dan extend()

Fitur Keterangan Contoh Penggunaan

Menambahkan data sebagai elemen terakhir di


.append() list

akan menghasilkan output:

.clear() Menghapus seluruh elemen dalam sebuah list

akan menghasilkan output berupa empty list


melalui penggunaan fitur copy() penambahan pada list_makanan2 tidak akan mempengaruhi
list_makanan1

melalui operator assignment =, penambahan pada list_makanan3 akan mempengaruhi list_makanan1

Mengembalikan copy dari setiap elemen dalam


.copy() list Kita akan cetak isi list_makanan1

akan menghasilkan output:

['Gado-gado', 'Ayam Goreng', 'Rendang', 'Ketoprak']

Sementara itu, list_makanan2 akan dicetak dengan

akan menghasilkan output:

['Gado-gado', 'Ayam Goreng', 'Rendang', 'Opor']


Mengembalikan jumlah kemunculan suatu
.count() elemen pada list
akan menampilkan output:

Menggabungkan dua buah list seperti


.extend() penggunaan operator + untuk list
akan menghasilkan output:

List Manipulation – Part 2


Selanjutnya aku akan mempelajari fitur index(), insert(), pop(), remove(), reverse(), dan sort() untuk melakukan manipulasi.

Tugas:
Ketikkanlah kode yang diberikan pada contoh penggunaan di live code editor.

Fitur Keteran Contoh Penggunaan


gan
Mengem
balikan
indeks
dari
elemen
.inde pertama
x() yang
ditemuk akan menampilkan output:
an dari
awal
sebuah
list

Menyisi
pkan
elemen
.inse pada
rt() indeks
yang akan menampilkan output
dispesifi
kasikan

Menghil
angkan
.pop( elemen
) pada
posisi akan menghasilkan output:
tertentu
Menghil
angkan
.remo elemen
ve() dengan
nilai akan menghasilkan output:
tertentu

Membali
k urutan
.reve elemen
rse() dari
sebuah akan menghasilkan output:
list

.sort Mengur
() utkan
elemen
pada
sebuah
list,
secara
akan menghasilkan output:
default
dengan
urutan
dari
kecil ke melakukan proses pengurutan dari besar ke
besar kecil (descending)
(ascendi
ng). akan menghasilkan output:

Tuple Manipulation
Aku juga mempelajari fitur yang dapat digunakan untuk melakukan manipulasi data dengan tipe data tuple.

Tugas:
Ketikkan potongan kode berikut pada live code editor:

Fitu Keteran
Contoh Penggunaan
r gan

Mengem
balikan
jumlah
.cou kemuncu
nt() lan suatu
elemen
akan menampilkan output 4
pada tup
le
akan menampilkan output 3
.ind Mengem
ex() balikan
indeks
dari
elemen
pertama
yang indeks dimulai dari 0
ditemuk
an dari
awal
sebuah t Akan menampilkan output 2
uple

Set Manipulation – Part 1


Sedikit berbeda dengan tipe data list dan tuple, pada tipe data set terdapat cukup banyak fitur yang disediakan oleh bahasa Python.

Tugas:
Ketikkan potongan kode pada kolom Contoh Penggunaan di live code editor.

Fitur Keterangan Contoh Penggunaan

Menambahkan data ke dalam set. Penting untuk kita


.add() ingat bahwa pada tipe data set tidak mengizinkan
mungkin dapat menghasilkan output:
adanya duplikasi elemen di dalamnya.

Perlu diingat bahwa: tipe data set merupakan unordered collection setiap kali perintah print
dijalankan, aku mungkin akan melihat output yang berbeda.
.clear() Menghapus seluruh elemen dalam sebuah set
akan menghasilkan output:

atau empty set {}.


.copy() Mengembalikan copy dari setiap elemen dalam set

serupa dengan tipe data list, melalui operator assignment =, penambahan pada set_buah2 akan
mempengaruhi set_buah1

melalui penggunaan fitur copy() penambahan pada set_buah2 tidak akan


mempengaruhi set_buah1

menghasilkan output:

dan
menghasilkan output:

menambahkan parcel1 dengan elemen-elemen dari parcel2


.update()
Menambahkan elemen dari suatu set dengan set
lainnya.

menghasilkan output:

menghasilkan output:

.pop() Menghilangkan elemen dari sebuah set secara acak. >>> Fitur .pop()
'Anggur' atau 'Apel' ataupun 'Jeruk'

dan

menghasilkan output:

{'Apel','Jeruk'} atau {'Anggur','Jeruk'} ataupun {'Apel','Anggur'}


.remove() Menghilangkan elemen dengan nilai tertentu

menghasilkan output:

Set Manipulation – Part 2


Sedikit berbeda dengan tipe data list dan tuple, pada tipe data set terdapat cukup banyak fitur manipulasi yang bisa aku gunakan.

Tugas:
Ketikkan potongan kode yang diberikan pada Contoh Penggunaan pada live code editor:

Fitur Keterangan Contoh Penggunaan

.union() Mengembalikan hasil penggabungan


(union) dari dua buah set.

perhatikan bahwa fungsi union mengembalikan hasil penggabungan setiap elemen milik
set parcel1 dan parcel2 nilai dari set parcel1 tidak akan berubah melalui fitur union() tidak
seperti fitur update()

menghasilkan output:
dan

menampilkan output:

Mengembalikan nilai kebenaran apakah


.isdisjoint()
suatu set disjoint (saling lepas/tidak
mengandung elemen yang sama) dengan
set lainnya. akan menghasilkan output True dikarenakan parcel1 dan parcel2 tidak mengandung elemen
yang sama

akan menghasilkan output False dikarenakan parcel1 dan parcel3 sama-sama memiliki Apel
.issubset() Mengembalikan nilai kebenaran apakah
sebuah set merupakan subset dari set
lainnya. Sebuah set A merupakan subset
dari set B jika seluruh elemen dari set A
merupakan bagian dari set B.

akan menghasilkan output True dikarenakan Anggur dan Apel terdapat dalam set parcel_C
akan menghasilkan output False dikarenakan Durian dan Semangka tidak terdapat dalam
set parcel_C

parcel_A, parcel_B, dan parcel_C seperti yang diberikan pada baris fitur .issubset()

Mengembalikan nilai kebenaran apakah


sebuah set merupakan superset dari set
.issuperset() lainnya. Sebuah set A merupakan
superset dari set B jika seluruh elemen
dari set B terkandung dalam set A. akan menghasilkan output True dikarenakan C mengandung seluruh elemen dari set A

akan menghasilkan output False dikarenakan C tidak mengandung seluruh elemen dari set B

Mengembalikan sebuah set yang


.intersection() merupakan intersection dari dua set
lainnya.
dapat menghasilkan output:

dikarenakan Apel dan Jeruk terdapat baik pada set parcel_A dan parcel_B.
.difference() Mengembalikan sebuah set yang parcel_A dan parcel_B merupakan set yang sama dengan baris fitur .intersection()
berisikan difference dari dua set
lainnya. Difference dari sebuah set A
berdasarkan set B adalah setiap elemen
yang terdapat di set A tetapi tidak
terdapat di set B.
dapat menghasilkan output:

Mengembalikan sebuah set yang


berisikan symmetric difference dari dua
set lainnya. Symmetric difference dari
.symmetric_difference()
sebuah set A dan B adalah setiap elemen
dari set A yang tidak terdapat di set B
digabungkan dengan (union) setiap
elemen dari set B yang tidak terdapat di dapat menghasilkan output:
set A.
Dictionary Manipulation
Aku baru saja selesai mengerjakan beberapa kuis latihan ketika Senja mengejutkanku dengan tepukannya di belakang pundakku.
“Lagi apa kamu, Aksara?”
“Ngagetin aja, Nja.”
“Soalnya serius banget. Padahal saya belum kasih intruksi apa-apa buat lanjut hari ini.”
“Hehehe, iya biar cepet selesai dan bisa praktik lagi,” kataku sembari mengacungkan jari telunjuk dan tengah membentuk ‘peace’.
“Kita bakal banyak praktik kok. Sekarang sudah belajar sampai mana?”
Aku menunjukkan subjudul yang sedang kupelajari saat ini: “Dictionary Manipulation” pada Senja.
“Oke, pas banget. Bab ini ada praktiknya, nanti kupandu ya. Bagian string manipulation juga.”
Sembari menunggu Senja membuka laptopnya, aku kembali melanjutkan membaca:
Terakhir, untuk memanipulasi tipe data dictionary.

Tugas:
Ketikkan potongan kode berikut pada live code editor:

Fitur Keterangan Contoh Penggunaan


.clear( Menghapus seluruh
) elemen dalam
sebuah dictionary

akan menghasilkan output:


{}

Mengembalikan cop
y dari setiap elemen
dalam set. Serupa
dengan fitur copy()
pada tipe
.copy() data collections lainn
ya, fitur copy() tidak akan menghasilkan output:
akan mengubah nilai
dari elemen asal {'nik': '1211011', 'pekerjaan': 'Data Analyst', 'nama': 'Aksara'}
seperti
fungsi assignment. dan

akan menghasilkan output:

{'nik': '1211056', 'pekerjaan': 'Data Analyst', 'nama': 'Senja'}

.keys() Mengembalikan list


dari seluruh kunci
akses ("key") dari
setiap elemen dalam
sebuah dictionary.
dapat menghasilkan output:

['nama', 'nik', 'pekerjaan']

Outputnya bersifat iterable sehingga dapat digunakan dalam perulangan.


Variabel info_karyawan sama dengan yang diberikan pada baris
fitur .keys()

Mengembalikan list
.values
dari seluruh nilai
() ("value") dari setiap
elemen dalam
sebuah dictionary
dapat menghasilkan output:

['Aksara','1211011','Data Analyst']

Variabel info_karyawan sama dengan yang diberikan pada baris


fitur .keys()

Menambahkan kunci
.update
akses ("key") dan
() nilai baru ("value")
ke dalam
sebuah dictionary.
dapat menghasilkan output:

{'nama': 'Aksara', 'nik': '1211011',


'pekerjaan': 'Data Analyst', 'skillset': ['Python','R']}
Useful Tips and Tricks
Untuk menentukan berapa jumlah data yang tersimpan di setiap elemen pada tuple/list, aku dapat menggunakan fungsi buit-in len().

Tugas 1:
Ketikkan potongan kode berikut pada live code editor:

akan menghasilkan output sebanyak 4. Kemudian,

akan menghasilkan output sebanyak 4.

Tugas 2:
Ternyata ada trik khusus yang dapat aku gunakan untuk mengkonversi berbagai tipe data collection. Contohnya:
Selanjutnya aku dapat melemparkan list ke dalam set() untuk mengkonversi sebuah list ke sebuah set

yang menghasilkan output:

dan melemparkan set ke dalam list() untuk mengkonversi sebuah set ke sebuah list

akan menampilkan output:

trik ini akan sangat berguna ketika aku ingin mendapatkan seluruh list element unik pada bahasa pemrograman Python.

Tugas Praktek
“Aksara, untuk praktik kali ini, saya membebaskan kamu memilih case yang akan digunakan,” ujar Senja padaku.
Aku pun mulai berpikir. Selama ini aku bikin program hitung-menghitung untuk kantor dan keluarga, kok enggak bikin buat diri sendiri juga yah? Apalagi belakangan aku suka nge-
boba, kayaknya memang harus dilacak deh pengeluaran dan pemasukanku minimal 9 bulan terakhir. Kalau begitu, aku pakai case pengalamanku sendiri ini saja untuk dianalisis!
Buat menganalisisnya, berarti aku harus merapikan struktur data yang kumiliki terlebih dulu dengan dictionary dan kuberi nama keuangan untuk merepresentasikan pengeluaran dan
pemasukan. “Pakai format juta, lalu masukkan variabel keuangan,” ujarku sembari mengetik

Tugas:
Dari variabel keuangan, aku akan menghitung rata-rata pengeluaran dan pemasukanku selama 9 bulan terakhir. Semoga keuanganku sehat-sehat saja.
# Data keuangan

keuangan = {

'pengeluaran': [2, 2.5, 2.25, 2.5, 3.2, 2.5, 3.5, 4, 3],

'pemasukan': [7.8, 7.5, 9, 7.6, 7.2, 7.5, 7, 10, 7.5]

# Perhitungan rata-rata pemasukan dan rata-rata pengeluaran

total_pengeluaran = 0

total_pemasukan = 0

for biaya in keuangan['pengeluaran']:

total_pengeluaran += biaya

for biaya in keuangan['pemasukan']:

total_pemasukan += biaya

rata_rata_pengeluaran = total_pengeluaran/len(keuangan['pengeluaran'])

rata_rata_pemasukan = total_pemasukan/len(keuangan['pemasukan'])

print(rata_rata_pengeluaran)

print(rata_rata_pemasukan)

In [1]: # Data keuangan


keuangan = {
'pengeluaran': [2, 2.5, 2.25, 2.5, 3.2, 2.5, 3.5, 4, 3],
'pemasukan': [7.8, 7.5, 9, 7.6, 7.2, 7.5, 7, 10, 7.5]
}
# Perhitungan rata-rata pemasukan dan rata-rata pengeluaran
total_pengeluaran = 0
total_pemasukan = 0
for biaya in keuangan['pengeluaran']:
total_pengeluaran += biaya
for biaya in keuangan['pemasukan']:
total_pemasukan += biaya
rata_rata_pengeluaran = total_pengeluaran/len(keuangan['pengeluaran'])
rata_rata_pemasukan = total_pemasukan/len(keuangan['pemasukan'])
print(rata_rata_pengeluaran)
print(rata_rata_pemasukan)

2.8277777777777775
7.8999999999999995

Tinjauan Ulang String pada Python


Seperti yang telah aku pelajari pada bab sebelumnya, layaknya general-purpose programming language lainnya, Python mengizinkan aku untuk mengolah berbagai berbagai tipe
data, tak terkecuali tipe data text. Dalam Python, tipe data text dapat aku deklarasikan sebagai sebuah string dengan mengapitnya menggunakan tanda kutip satu ataupun tanda kutip
dua. Sebagai contoh:

Cara di atas adalah dua cara yang valid untuk mendeklarasikan variabel dengan bertipe string. Kemudian, untuk mendeklarasikan tipe data string ke dalam beberapa baris, aku dapat
melakukannya dengan mengapitnya dengan tanda kutip satu ataupun tanda kutip dua sebanyak 6 kali (3 di bagian awal dan 3 di bagian akhir dari string). Sebagai contoh:
akan menghasilkan:

dan

akan menghasilkan:
Apa itu String Manipulation?
Aku belajar bahwa String Manipulation adalah teknik yang digunakan dalam memanipulasi data yang disimpan dalam tipe data str. Pada bahasa Python, untuk mempermudah proses
pengolahan data, tipe data string dapat diperlakukan layaknya seperti tipe data list.

Tugas:
Aku mengikuti contoh yang diberikan dengan mengetik syntax pada live code editor untuk memahami bagaimana String Manipulation bekerja pada Python.

akan menghasilkan output: SePatu NiKo

akan menghasilkan output: SePatu

akan menghasilkan output: NiKo

akan menghasilkan output: 11


Catatan: fungsi built-in len() juga dapat digunakan untuk menentukan jumlah karakter pada variabel bertipe string yang dimiliki.

Operator “+” untuk Tipe Data String


Setelah aku mempelajari String Manipulation, sekarang aku beralih ke Operator +. Operator + pada dua string akan secara otomatis menggabungkan kedua string tersebut.
Operator + juga dapat digunakan untuk menambahkan beberapa string secara bersamaan.
Aku mengikuti contoh yang diberikan dengan mengetik syntax pada live code editor untuk memahami bagaimana Operation + bekerja pada Python.
Tugas 1:

akan menghasilkan output: John Doee

Tugas 2:
Selanjutnya aku mencoba mengetik kode berikut di live code editor pada baris berikutnya

akan menghasilkan output: Hi, saya John Doee umur 27 tahun, tinggal di Jl. Anggrek No. 100.

Menghilangkan Spasi di Awal dan/atau di Akhir


Sekarang aku akan mempelajari bagaimana menghilangkan kelebihan spasi yang dimiliki di awal dan/atau di akhir variabel string. Pertama, aku melihat fitur yang diberikan pada
tabel contoh.
Tugas:
Agar lebih memahami bagaimana penerapan fitur ini pada Python, aku akan mengikuti contoh yang tercantum pada tabel dengan cara mengetikkannya pada live code editor.

Keteran
Fitur Contoh Penggunaan
gan

Menghil
angkan
kelebiha
.stri n spasi
p() pada
awal dan
akhir stri
ng. akan menghasilkan output:
'halo, selamat siang!'

Menghil
angkan
kelebiha
.lstr
ip() n spasi
pada
awal stri
ng. akan menghasilkan output:
'halo, selamat siang! '

Menghil
angkan
kelebiha
.rstr
ip() n spasi
pada
akhir stri
ng. akan menghasilkan output:
' halo, selamat siang!'
Merubah Caps pada String
Pada bagian ini, aku akan mempelajari cara merubah caps (penggunaan huruf besar dan kecil). Jika diawal kalimat pada suatu string yang dimiliki belum berupa huruf kapital, maka
dengan menggunakan fitur .capitalize() kita dengan mudah mengubah string tersebut menjadi kalimat yang benar secara bahasa.

Tugas:
Aku mengikuti contoh yang diberikan dengan mengetik syntax pada live code editor untuk memahami bagaimana fitur .capitalize(), .lower(), dan .upper() bekerja pada
Python.

Keteranga
Fitur Contoh Penggunaan
n

Mengubah
elemen
pertama
.capital
ize() dari string
menjadi
huruf
kapital. akan menghasilkan output:
Belajar bahasa python

Mengubah
seluruh
huruf
.lower() dalam teks
(string)
menjadi akan menghasilkan output:
huruf kecil belajar bahasa python.
Mengubah
seluruh
huruf
.upper() dalam teks
(string)
menjadi akan menghasilkan output:
huruf besar
BELAJAR BAHASA PYTHON.

Pemecahan, Penggabungan, dan Penggantian String


Info: materi telah diperbarui pada tanggal 8 Desember 2021, pastikan kembali kode yang telah ditulis disesuaikan dengan bagian Lesson.

Pada bagian ini, aku akan mempelajari bagaimana cara memecah suatu string dengan kondisi tertentu sehingga menghasilkan list of string. Kemudian, akan dipelajari bagaimana cara
menggabungkan beberapa list of string menjadi string saja. Akhirnya, aku akan mengganti sub-string tertentu dengan sub-string lainnya sehingga mengubah string awalnya.

Tugas:
Agar lebih memahami bagaimana penerapannya pada Python, aku akan mengikuti contoh penggunaan yang diberikan dari tabel berikut dengan mengetik syntax pada live code editor.

Fitu
Keterangan Contoh Penggunaan
r
.spl Memecah memecah string berdasarkan kata dan
it()
sebuah string ber
dasarkan string la
innya ke dalam
sebuah list.

akan menghasilkan output:


['ani', 'budi', 'wati', 'johan']
memecah string berdasarkan spasi " "

akan menghasilkan output:


['ani', 'dan', 'budi', 'dan', 'wati',
'dan', 'johan']

Menggabungkan
sebuah list yang akan menghasilkan output:
berisikan string b
.joi 'Ricky dan Peter dan Jordan'
n() erdasarkan
sebuah string yan dan
g telah
didefinisikan.

akan menghasilkan output:


'Ricky Peter Jordan'

.rep Menggantikan
lace
kemunculan
()
suatu string terte
ntu
dengan string lai
nnya dalam
sebuah string. akan menghasilkan output:
'jeruk malang jeruk yang paling segar,
jeruk sehat, jeruk nikmat'

Menentukan Posisi dan Jumlah Sub-string pada String


Pada bagian ini, aku akan mempelajari bagaimana cara menentukan posisi awal suatu sub-string dan jumlah kemunculan sub-string tersebut pada suatu string agar lebih memahami
bagaimana penerapannya pada Python.

Tugas:
Aku akan mengikuti contoh penggunaan yang diberikan dari tabel berikut dengan mengetiknya pada live code editor.

Fitu
Keterangan Contoh Penggunaan
r

Mengembalik
an posisi dari
.fin sebuah teks
d() (sub-string) akan menghasilkan output: 0
lainnya dalam
sebuah string. dikarenakan kalimat diawali dengan kata Apel

akan menghasilkan output: 5


kata malang muncul dimulai dari indeks ke-5
ketika setiap karakter
dalam string direpresentasikan sebagai array.
Menghitung
jumlah
kemunculan
sebuah teks
(string)
.cou
nt() lainnya dalam
suatu string (s akan menghasilkan output: 3
tring yang Hal ini dikarenakan kata Apel di awal kalimat
dicari tidak sama dengan apel (Apel diawali huruf
bersifat case kapital dan kata yang dicari diawali huruf
sensitive). kecil)
Menentukan String Apakah Diawali/Diakhiri oleh Sub-string
Pada bagian ini, aku akan mempelajari bagaimana menentukan apakah suatu string diawali atau diakhiri dengan suatu substring (teks) tertentu.

Tugas:
Agar lebih memahami bagaimana penerapannya pada Python, aku akan mengikuti contoh penggunaan yang diberikan menggunakan fitur dalam tabel berikut dengan mengetiknya
pada live code editor.

Fitur Keterangan Contoh Penggunaan

Mengembalik
an nilai
kebenaran Tru
.startsw
e ketika
ith() sebuah teks
(string)
diawali akan menghasilkan output: True
dengan sebuah dan
teks lainnya.

akan menghasilkan output: False


.endswit Mengembalik Variabel teks sama dengan yang
h()
an nilai digunakan dalam baris fitur .startswith()
kebenaran Tru
e ketika
sebuah teks
(string)
diakhiri akan menghasilkan output: True
dengan sebuah
teks lainnya. dan
akan menghasilkan output: False

Tugas Praktek
Aku mengecek ponsel. Sejak kukirimkan progress latihanku terakhir pada Senja, belum ada kabar lagi sampai saat ini. Senja memang tiba-tiba pergi dari mejanya tadi. Sedikit bosan,
aku coba membuka-buka dokumen di laptop. Aku menemukan folder “LATIHAN” dan teringat kalau ada satu latihan kecil yang belum kukerjakan. “Mumpung lagi lowong, aku coba
deh.”
Aku mengeklik dokumen PENGOLAHAN DATA TEKS. Di dalamnya aku diminta untuk meneliti popularitas antara buah salak dan buah jeruk berdasarkan judul artikel yang
muncul di majalah Buah Sehat. Aku mulai menyiapkan susunan kodeku:

judul_artikel = [
"Buah Salak Baik untuk Mata", "Buah Salak Kaya Potasium",
"Buah Jeruk Kaya Vitamin C", "Buah Salak Kaya Manfaat",
"Salak Baik untuk Jantung", "Jeruk dapat Memperkuat Tulang",
"Jeruk Mencegah Penyakit Asma", "Jeruk Memperkuat Gigi",
"Jeruk Mencegah Kolesterol Jahat", "Salak Mencegah Diabetes",
"Salak Memperkuat Dinding Usus", "Salak Baik untuk Darah",
"Jeruk Kaya Manfaat untuk Jantung", "Salak si Kecil yang Baik",
"Jeruk dan Salak Buah Kaya Manfaat", "Buah Jeruk Enak",
"Tips Panen Jeruk Ribuan Kilo", "Tips Bertanam Salak",
"Salak Manis untuk Berbuka", "Jeruk Baik untuk Wajah"
]

Tugas:
“Kalau mengikuti yang sudah kupelajari, langkah pertama adalah menghitung jumlah kemunculan kata jeruk dan salak di tiap judul artikel,” batinku.
Aku kembali berkutat di depan layar laptop.

judul_artikel = [

"Buah Salak Baik untuk Mata", "Buah Salak Kaya Potasium",


"Buah Jeruk Kaya Vitamin C", "Buah Salak Kaya Manfaat",

"Salak Baik untuk Jantung", "Jeruk dapat Memperkuat Tulang",

"Jeruk Mencegah Penyakit Asma", "Jeruk Memperkuat Gigi",

"Jeruk Mencegah Kolesterol Jahat", "Salak Mencegah Diabetes",

"Salak Memperkuat Dinding Usus", "Salak Baik untuk Darah",

"Jeruk Kaya Manfaat untuk Jantung", "Salak si Kecil yang Baik",

"Jeruk dan Salak Buah Kaya Manfaat", "Buah Jeruk Enak",

"Tips Panen Jeruk Ribuan Kilo", "Tips Bertanam Salak",

"Salak Manis untuk Berbuka", "Jeruk Baik untuk Wajah"

jumlah_artikel_jeruk = 0

jumlah_artikel_salak = 0

for judul in judul_artikel:

if judul.count("Jeruk") > 0:

jumlah_artikel_jeruk += 1

if judul.count("Salak") > 0:

jumlah_artikel_salak += 1

print(jumlah_artikel_jeruk)

print(jumlah_artikel_salak)

In [1]: judul_artikel = [
"Buah Salak Baik untuk Mata", "Buah Salak Kaya Potasium",
"Buah Jeruk Kaya Vitamin C", "Buah Salak Kaya Manfaat",
"Salak Baik untuk Jantung", "Jeruk dapat Memperkuat Tulang",
"Jeruk Mencegah Penyakit Asma", "Jeruk Memperkuat Gigi",
"Jeruk Mencegah Kolesterol Jahat", "Salak Mencegah Diabetes",
"Salak Memperkuat Dinding Usus", "Salak Baik untuk Darah",
"Jeruk Kaya Manfaat untuk Jantung", "Salak si Kecil yang Baik",
"Jeruk dan Salak Buah Kaya Manfaat", "Buah Jeruk Enak",
"Tips Panen Jeruk Ribuan Kilo", "Tips Bertanam Salak",
"Salak Manis untuk Berbuka", "Jeruk Baik untuk Wajah"
]
jumlah_artikel_jeruk = 0
jumlah_artikel_salak = 0
for judul in judul_artikel:
if judul.count("Jeruk") > 0:
jumlah_artikel_jeruk += 1
if judul.count("Salak") > 0:
jumlah_artikel_salak += 1
print(jumlah_artikel_jeruk)
print(jumlah_artikel_salak)

10
11
Tugas Praktek
Setelah selesai menghitung jumlah kemunculan kata, aku mencoba berpikir dari sudut pandang si pemilik majalah. Kalau aku jadi mereka, tentunya aku juga ingin tahu apakah kata
yang muncul itu bermuatan positif atau tidak. Nah ini!

Tugas:
Dengan cepat, aku mendeklarasikan daftar bernama kata_positif yang berisi nuansa kata positif untuk menghitung jumlah kemunculan kata_positif bagi tiap
artikel jeruk dan salak, seperti ini:

judul_artikel = [

"Buah Salak Baik untuk Mata", "Buah Salak Kaya Potasium",

"Buah Jeruk Kaya Vitamin C", "Buah Salak Kaya Manfaat",

"Salak Baik untuk Jantung", "Jeruk dapat Memperkuat Tulang",

"Jeruk Mencegah Penyakit Asma", "Jeruk Memperkuat Gigi",

"Jeruk Mencegah Kolesterol Jahat", "Salak Mencegah Diabetes",

"Salak Memperkuat Dinding Usus", "Salak Baik untuk Darah",

"Jeruk Kaya Manfaat untuk Jantung", "Salak si Kecil yang Baik",

"Jeruk dan Salak Buah Kaya Manfaat", "Buah Jeruk Enak",

"Tips Panen Jeruk Ribuan Kilo", "Tips Bertanam Salak",

"Salak Manis untuk Berbuka", "Jeruk Baik untuk Wajah"

kata_positif = ["Kaya", "Baik", "Mencegah", "Memperkuat"]

kata_positif_jeruk = 0

kata_positif_salak = 0
for judul in judul_artikel:

for kata in kata_positif:

if judul.count("Jeruk") > 0 and judul.count(kata) > 0:

kata_positif_jeruk += 1

if judul.count("Salak") > 0 and judul.count(kata) > 0:

kata_positif_salak += 1

print(kata_positif_jeruk)

print(kata_positif_salak)

In [1]: judul_artikel = [
"Buah Salak Baik untuk Mata", "Buah Salak Kaya Potasium",
"Buah Jeruk Kaya Vitamin C", "Buah Salak Kaya Manfaat",
"Salak Baik untuk Jantung", "Jeruk dapat Memperkuat Tulang",
"Jeruk Mencegah Penyakit Asma", "Jeruk Memperkuat Gigi",
"Jeruk Mencegah Kolesterol Jahat", "Salak Mencegah Diabetes",
"Salak Memperkuat Dinding Usus", "Salak Baik untuk Darah",
"Jeruk Kaya Manfaat untuk Jantung", "Salak si Kecil yang Baik",
"Jeruk dan Salak Buah Kaya Manfaat", "Buah Jeruk Enak",
"Tips Panen Jeruk Ribuan Kilo", "Tips Bertanam Salak",
"Salak Manis untuk Berbuka", "Jeruk Baik untuk Wajah"
]
kata_positif = ["Kaya", "Baik", "Mencegah", "Memperkuat"]
kata_positif_jeruk = 0
kata_positif_salak = 0
for judul in judul_artikel:
for kata in kata_positif:
if judul.count("Jeruk") > 0 and judul.count(kata) > 0:
kata_positif_jeruk += 1
if judul.count("Salak") > 0 and judul.count(kata) > 0:
kata_positif_salak += 1
print(kata_positif_jeruk)
print(kata_positif_salak)

8
9
Apa itu Functions?
Function adalah sebuah blok statemen yang hanya akan dijalankan saat ia dipanggil. Secara tidak sadar, selama proses belajar ini, aku telah mencoba menggunakan fungsi-fungsi
dalam bahasa pemrograman Python.
Fungsi len() untuk mengukur jumlah elemen dalam sebuah list dan fungsi print() untuk menampilkan pesan pada layar konsol merupakan contoh dari bentuk fungsi yang telah
disediakan oleh bahasa pemrograman Python, atau dengan kata lain built-in functions.
Selain fungsi yang telah disediakan oleh Python, Python mengizinkan aku untuk mendeklarasikan fungsi dalam kode yang aku tuliskan yang dikenal dengan user defined function.

def nama_fungsi(argument):
statement_1

statement_n
return returned_value

Aku menuliskan dalam catatanku:

 nama_fungsi adalah nama untuk fungsi yang kita definisikan, memiliki aturan seperti penamaan variabel
 argument adalah variabel masukan ke fungsi, bisa tanpa variabel, satu variabel atau lebih
 statement_1 … statement_n adalah algoritma yang telah kita transfer dalam bahasa Python. Ini merupakan inti dari fungsi yang kita definisikan. Seluruh statement adalah
menjorok (indent) ke dalam seperti yang pernah dipelajari pada conditioning dan looping
 return_value adalah variabel output dari fungsi kita. Bisa tanpa variabel, satu variabel, atau lebih.

Fungsi Pertama
contoh_fungsi merupakan nama dari fungsi yang aku deklarasikan dan statemen-statemen di dalamnya disebut sebagai isi (body) dari fungsi.

Tugas:
Untuk menjalankan fungsi yang telah aku deklarasikan, aku dapat menuliskan potongan kode berikut dengan mengetiknya pada live code editor pada baris berikutnya.
pemanggilan fungsi contoh_fungsi() akan menghasil output:

Fungsi Kedua
Sebuah fungsi dapat menerima serangkaian argumen pada bagian dalam kurung setelah nama fungsi telah aku definisikan.
fungsi_dengan_argumen membutuhkan dua argumen (nama_depan, nama_belakang).
Python akan menjalankan sebuah fungsi hanya ketika aku telah mensuplai jumlah argumen yang sesuai saat fungsi didefinisikan.

Tugas:

Ketik potongan kode berikut pada live code editor.


pemanggilan fungsi fungsi_dengan_argumen("John", "Doe") akan menghasilkan output:

Fungsi Ketiga
Saat aku melakukan pemanggilan fungsi dengan jumlah argumen yang tidak sesuai, Python akan mengembalikan pesan error yang menyatakan bahwa terdapat argumen yang belum
disuplai agar fungsi dapat dijalankan dengan baik.
Berikut ini adalah contoh pesan error yang akan dikembalikan oleh Python saat aku hanya menyuplai satu argumen saja untuk fungsi_dengan_argumen:

Type Error: function fungsi_dengan_argumen() missing 1 required positional argument: nama_belakang

Bahasa Python mengizinkan aku untuk memberikan suatu nilai default terkait dengan sebuah argumen dalam sebuah fungsi. Melalui fitur ini, suatu argumen dalam sebuah fungsi akan
bersifat opsional.

Tugas 1:
Aku mencoba mengetik potongan kode berikut dengan live code editor:
Argumen nama_belakang menjadi bersifat opsional saat fungsi dipanggil. Jika argumen kedua tidak disuplai Python, akan secara otomatis menset argumen nama_belakang menjadi
string kosong - empty string ("").

Tugas 2:
Aku mencoba mengetik potongan kode berikut dengan live code editor:

Potongan kode berhasil dijalankan dan mengasilkan output: John

Tugas 3:
Aku mencoba mengetik potongan kode berikut dengan live code editor:

Potongan kode berhasil dijalankan dan mengasilkan output: John Doe

Tugas Praktek
Tepat ketika aku baru menyelesaikan latihan tadi, aku mendapat pesan masuk di email. Dari Senja.
Tugas:
Aksara, pekerjaan terakhirmu baru bisa saya review sore nanti. Saat ini, kita sedang butuh bantuanmu untuk menentukan nilai rata-rata untuk data yang sudah saya buatkan dalam
bentuk list of numeric bertipe int/float berikut ini. Tolong kirimkan hasilnya sebelum jam 3 siang. Terima kasih.

data1 = [70, 70, 70, 100, 100, 100, 120, 120, 150, 150]

dan

data2 = [50, 60, 60, 50, 70, 70, 100, 80, 100, 90]

Aku pun melirik jam dinding kantor. Masih ada satu setengah jam sebelum deadline. Harus segera dikebut!
Aku langsung menulis kode dari data-data yang dikirimkan Senja tadi:

# Dua buah data yang tersimpan dalam tipe list

data1 = [70, 70, 70, 100, 100, 100, 120, 120, 150, 150]

data2 = [50, 60, 60, 50, 70, 70, 100, 80, 100, 90]

# Definisikan fungsi hitng_rata_rata

def hitung_rata_rata(data):

jumlah = 0

for item in data:

jumlah += item

rata_rata = jumlah/len(data)

return rata_rata

# Hitung nilai rata-rata dari kedua data yang dimiliki


print('Rata-rata data1:')

print(hitung_rata_rata(data1))

print('Rata-rata data2:')
print(hitung_rata_rata(data2))

In [1]: # Dua buah data yang tersimpan dalam tipe list


data1 = [70, 70, 70, 100, 100, 100, 120, 120, 150, 150]
data2 = [50, 60, 60, 50, 70, 70, 100, 80, 100, 90]
# Definisikan fungsi hitng_rata_rata
def hitung_rata_rata(data):
jumlah = 0
for item in data:
jumlah += item
rata_rata = jumlah/len(data)
return rata_rata
# Hitung nilai rata-rata dari kedua data yang dimiliki
print('Rata-rata data1:')
print(hitung_rata_rata(data1))
print('Rata-rata data2:')
print(hitung_rata_rata(data2))

Rata-rata data1:
105.0
Rata-rata data2:
73.0

Tugas Praktek
Sudah setengah jam sejak kukirimkan hasil susunan kodeku pada Senja, ia segera membalas pesanku. Untungnya bukan revisi! Aku lebih suka dapat tambahan pekerjaan dibanding
merevisi pekerjaan lama.
Tugas:
Aksara, yang kamu buat sudah cukup. Tolong buat satu fungsi untuk menghitung standar deviasi data dari data yang sudah saya berikan tadi (data dalam list of
numeric bertipe int atau float).

data1 = [70, 70, 70, 100, 100, 100, 120, 120, 150, 150]

dan

data2 = [50, 60, 60, 50, 70, 70, 100, 80, 100, 90]

Baiklah, mari kuselesaikan tantangan ini. Kubuka kembali layar susunan kodeku tadi, dan mulai mengutak-atiknya. Kuingat kembali definisi matematis dari perhitungan standar
deviasi, yaitu

# Dua buah data yang tersimpan dalam tipe list

data1 = [70, 70, 70, 100, 100, 100, 120, 120, 150, 150]

data2 = [50, 60, 60, 50, 70, 70, 100, 80, 100, 90]

# Fungsi rata-rata data

def hitung_rata_rata(data):

jumlah = 0

for item in data:


jumlah += item

rata_rata = jumlah/len(data)

return rata_rata

# Definisikan fungsi hitung_standar_deviasi

def hitung_standar_deviasi(data):

rata_rata_data = (hitung_rata_rata(data))

varians = 0

for item in data:

varians += (item - rata_rata_data) ** (2)

varians /= len(data)

standar_deviasi = varians ** (1/2)

return standar_deviasi

# Hitung nilai standar deviasi dari kedua data yang dimiliki

print('Standar deviasi data1:')

print(hitung_standar_deviasi(data1))

print('Standar deviasi data2:')

print(hitung_standar_deviasi(data2))

In [1]: # Dua buah data yang tersimpan dalam tipe list


data1 = [70, 70, 70, 100, 100, 100, 120, 120, 150, 150]
data2 = [50, 60, 60, 50, 70, 70, 100, 80, 100, 90]
# Fungsi rata-rata data
def hitung_rata_rata(data):
jumlah = 0
for item in data:
jumlah += item
rata_rata = jumlah/len(data)
return rata_rata
# Definisikan fungsi hitung_standar_deviasi
def hitung_standar_deviasi(data):
rata_rata_data = (hitung_rata_rata(data))
varians = 0
for item in data:
varians += (item - rata_rata_data) ** (2)
varians /= len(data)
standar_deviasi = varians ** (1/2)
return standar_deviasi
# Hitung nilai standar deviasi dari kedua data yang dimiliki
print('Standar deviasi data1:')
print(hitung_standar_deviasi(data1))
print('Standar deviasi data2:')
print(hitung_standar_deviasi(data2))

Standar deviasi data1:


28.722813232690143
Standar deviasi data2:
17.916472867168917

Tugas Praktek
“Aksara, hasil kerjamu dapat pujian di rapat tadi. Terima kasih ya sudah membantu!” ujar Senja yang menghampiri mejaku setelah keluar dari ruang rapat.

Aku mengangguk. Mungkin program tadi sederhana saja, tapi bisa bermanfaat bagi yang membutuhkannya sangat membahagiakan buatku.

“Oh ya, Aksara sebelum kamu pulang bisa tolong buatkan fungsi baru lagi? Kali ini untuk menentukan nilai-rata dan standar deviasi dari data di tabel. Nanti aku kasih data di tabelnya
ya.” Senja langsung menarik bangku ke sebelahku dan membuka laptop.

Ia menunjukkan data di tabelnya seperti ini:

Luas Jarak ke Pusat


Luas Tanah Harga (dalam
Bangunan Kota (dalam
(dalam m2) ratus juta)
(dalam m2) km)
70 50 15 500
70 60 30 400
70 60 55 300
100 50 30 700
100 70 25 1000
100 70 50 650
120 100 20 2000
120 80 50 1200
150 100 50 1800
150 90 15 3000

Tugas:
Dari data ini, berarti aku harus menjalankan fungsi baru dengan nama variabel deksripsi_properti. Aku pun mengangkat jempol pada Senja seakan bilang, "Serahkan padaku!"
Setelah kupelajari kembali, data ini sebenarnya telah direpresentasikan ke dalam dict dengan nama tabel_properti. Kalau begitu, aku bisa mulai kodeku seperti berikut ini.

# Data properti

tabel_properti = {

'luas_tanah': [70, 70, 70, 100, 100, 100, 120, 120, 150, 150],

'luas_bangunan': [50, 60, 60, 50, 70, 70, 100, 80, 100, 90],

'jarak': [15, 30, 55, 30, 25, 50, 20, 50, 50, 15],

'harga': [500, 400, 300, 700, 1000, 650, 2000, 1200, 1800, 3000]

# Fungsi rata-rata data

def hitung_rata_rata(data):
jumlah = 0

for item in data:

jumlah += item

rata_rata = jumlah/len(data)

return rata_rata

# Fungsi hitung_standar_deviasi

def hitung_standar_deviasi(data):

rata_rata_data = hitung_rata_rata(data)

varians = 0

for item in data:

varians += (item - rata_rata_data) ** 2

varians /= len(data)

standar_deviasi = varians ** (1/2)

return standar_deviasi

# Definisikan fungsi untuk menghitung rata-rata dan standar deviasi

# setiap kolom pada tabel_properti yang diberikan oleh key dict.

def deskripsi_properti(tabel):

for key in tabel.keys():

print('Rata-rata ' + key + ':')

print(hitung_rata_rata (tabel[key]))

print('Standar deviasi ' + key + ':')

print(hitung_standar_deviasi(tabel[key]))

print('')
# Panggil fungsi deskripsi_properti untuk menghitung rata-rata

# dan standar deviasi setiap kolom pada tabel_properti

deskripsi_properti(tabel_properti)

In [1]: # Data properti


tabel_properti = {
'luas_tanah': [70, 70, 70, 100, 100, 100, 120, 120, 150, 150],
'luas_bangunan': [50, 60, 60, 50, 70, 70, 100, 80, 100, 90],
'jarak': [15, 30, 55, 30, 25, 50, 20, 50, 50, 15],
'harga': [500, 400, 300, 700, 1000, 650, 2000, 1200, 1800, 3000]
}
# Fungsi rata-rata data
def hitung_rata_rata(data):
jumlah = 0
for item in data:
jumlah += item
rata_rata = jumlah/len(data)
return rata_rata
# Fungsi hitung_standar_deviasi
def hitung_standar_deviasi(data):
rata_rata_data = hitung_rata_rata(data)
varians = 0
for item in data:
varians += (item - rata_rata_data) ** 2
varians /= len(data)
standar_deviasi = varians ** (1/2)
return standar_deviasi
# Definisikan fungsi untuk menghitung rata-rata dan standar deviasi
# setiap kolom pada tabel_properti yang diberikan oleh key dict.
def deskripsi_properti(tabel):
for key in tabel.keys():
print('Rata-rata ' + key + ':')
print(hitung_rata_rata (tabel[key]))
print('Standar deviasi ' + key + ':')
print(hitung_standar_deviasi(tabel[key]))
print('')
# Panggil fungsi deskripsi_properti untuk menghitung rata-rata
# dan standar deviasi setiap kolom pada tabel_properti
deskripsi_properti(tabel_properti)
Rata-rata luas_bangunan:
73.0
Standar deviasi luas_bangunan:
6.025948374480153

Rata-rata jarak:
34.0
Standar deviasi jarak:
6.24005184770928

Rata-rata luas_tanah:
105.0
Standar deviasi luas_tanah:
14.93311056335886

Rata-rata harga:
1155.0
Standar deviasi harga:
587.0594351517378

Manipulasi Berkas Teks


Info: materi telah diperbarui pada tanggal 15 Oktober 2021.

1. Membaca file di local computer


Pengolahan berkas teks pada Python tidak membutuhkan proses import dependencies lainnya seperti pada bahasa-bahasa pemrograman lainnya. Untuk memanipulasi berkas teks pada
bahasa pemrograman Python, mula-mula aku harus membuka/membuat berkas teks yang aku inginkan dengan menggunakan fungsi open(). Fungsi open() menerima 2 parameter, di
mana parameter pertama merupakan nama dari file yang ingin dibuka/dibuat dan mode yang berkaitan dengan aksi yang ingin dilakukan terhadap file yang telah terbuka. Sebagai
contoh:

file = open("hello.txt", "r")

Argumen/parameter "r" mengartikan bahwa file yang akan dibuka berada dalam mode “read” sehingga nantinya aku tidak dapat menambahkan/ menuliskan ulang isi tulisan dari
file "hello.txt".
Perintah ini dapat digunakan untuk menutup file yang telah aku buka.

file.close()

Aku juga belajar bahwa selain mode "r" yang hanya digunakan untuk membaca file, terdapat juga mode lainnya seperti:

1. w: write, mode ini dapat aku gunakan untuk menulis ke dalam sebuah berkas teks. Jika berkas tidak tersedia, maka Python akan secara otomatis membuat sebuah berkas baru
dengan nama yang telah di spesifikasikan. Saat menulis dengan menggunakan mode ini, jika file semula tidak kosong, maka isi yang sebelumnya terdapat di dalam berkas
akan terhapus.

2. a: append, mode ini dapat aku gunakan untuk menambahkan isi dari sebuah berkas teks. Mode ini juga akan membuat sebuah berkas teks baru dengan nama yang telah kita
spesifikasikan jika berkas teks tidak tersedia.

3. w+: write+, mode ini dapat aku gunakan untuk membaca ataupun menuliskan isi dari sebuah berkas teks.

4. a+: append+, mode ini dapat aku gunakan untuk membaca ataupun menambahkan isi dari sebuah berkas teks.

2. Membaca file dari url


Berkas teks yang berada di suatu alamat di internet dapat dibaca berdasarkan url-nya. Untuk membacanya aku perlu menggunakan library requests. File hello.txt yang aku temui
di local komputer ku juga ada di url berikut https://storage.googleapis.com/dqlab-dataset/hello.txt.
Akhirnya, aku dapat menggunakan kode berikut

import requests
url = "https://storage.googleapis.com/dqlab-dataset/hello.txt"
response = requests.get(url)

Cukup ringkas juga ya, gumamku.


Membaca Berkas Teks – Part 1
Info: materi telah diperbarui pada tanggal 15 Oktober 2021. Pastikan kembali kode yang telah ditulis disesuaikan dengan tugas terbaru.

Setelah mempelajari bagaimana membuka/membuat sebuah berkas teks dalam Python, aku akan mempelajari sintaks untuk dapat membaca isi dari sebuah berkas. Untuk membaca isi
dari sebuah teks aku dapat menggunakan potongan kode berikut.
Aku akan mengasumsikan baris-baris di bawah comment merupakan isi dari “hello.txt”.

Kita sedang belajar Python


Tepatnya belajar memanipulasi berkas teks
Memanipulasi berkas dengan Python sangatlah mudah!

Note: Karena ada perubahan hosting file hello.txt yang tidak ditempatkan di direktori lokal sistem DQLab kamu dapat mempraktikkan bagian A1 dan A2 pada komputer kamu. Untuk
itu file hello.txt dapat kamu unduh melalui https://storage.googleapis.com/dqlab-dataset/hello.txt.

A1. Membaca file hello.txt dengan fungsi read() dan menutup file

Perintah ini aku gunakan untuk menutup berkas setelah selesai digunakan

Akan menghasilkan output:

Kita sedang belajar Python


Tepatnya belajar memanipulasi berkas teks
Memanipulasi berkas dengan Python sangatlah mudah!

Selain dapat membaca dan menampung isi dari sebuah berkas secara sekaligus menggunakan fungsi read(), aku juga dapat menggunakan
fungsi readline() ataupun readlines() untuk membaca isi dari suatu berkas teks. Dengan menggunakan fungsi readline(), Python akan membaca konten dari sebuah berkas
secara baris per baris, dimulai dari baris paling awal.
A2. Membaca file hello.txt dengan fungsi readline()

dengan menggunakan fungsi readline() dapat aku gunakan untuk membaca isi dari file secara tersedia dalam berkas “hello.txt” baris per baris

perintah ini aku gunakan untuk menutup berkas setelah selesai digunakan

akan menghasilkan output:

Kita sedang belajar Python


Tepatnya belajar memanipulasi berkas teks

Tugas Praktik:
Well, aku sudah mempraktikkan membaca berkas teks secara lokal di komputer ku. Sekarang aku akan mencoba membaca berkas teks yang sama yang berada di
url https://storage.googleapis.com/dqlab-dataset/hello.txt. Di code editor akupun mengetikkan perintah berikut

Aku akan mengecek apakah permintaan yang dilakukan melalui url dapat dipenuhi. Selanjutnya aku mengetikkan kode berikut
yang kemudian aku dapati hasil berikut di console

Ini apa ya? Akupun mencarinya melalui mesin pencari google dan melalui tautan https://en.wikipedia.org/wiki/List_of_HTTP_status_codes saya dapatkan informasi bahwa kode
status HTTP 200 adalah response OK dari url di mana file hello.txt disimpan.
Untuk mencetak isi berkas hello.txt yang telah dibaca dapat aku lakukan melalui potongan kode yang ditunjukkan berikut ini

Ketika aku jalankan maka aku memperoleh hasil di console seperti berikut ini

Sayangnya setelah aku amati terlihat bahwa hasilnya tidak sama dengan isi berkas hello.txt.

Membaca Berkas Teks – Part 2


Info: materi telah diperbarui pada tanggal 15 Oktober 2021. Pastikan kembali kode yang telah ditulis disesuaikan dengan tugas terbaru.

Fungsi readlines() akan mengembalikan sebuah list yang setiap elemennya merupakan setiap baris dalam sebuah berkas teks.
Note: Karena ada perubahan hosting file hello.txt yang tidak ditempatkan di direktori lokal sistem DQLab kamu dapat mempraktikkan bagian A1 dan A2 pada komputer kamu. Untuk
itu file hello.txt dapat kamu unduh melalui https://storage.googleapis.com/dqlab-dataset/hello.txt.

A1. Membaca file hello.txt dengan fungsi readlines()


Aku membuka kembali file “hello.txt”
Dan membaca dengan fungsi readlines(),

Syntax ini akan menghasilkan output:

[“Kita sedang belajar Python”, “Tepatnya belajar memanipulasi berkas teks”,


“Memanipulasi berkas dengan Python sangatlah mudah!”]

A2. Membaca file hello.txt dengan menerapkan looping


Selain menggunakan fungsi-fungsi standar yang telah disediakan oleh Python, aku juga dapat membaca isi dari sebuah file secara baris per baris dengan menggunakan for loops.
Simaklah contoh berikut ini dengan tetap membaca file dari “hello.txt”

untuk setiap baris sebagai variabel line dalam berkas dengan nama variabel file

Akan menghasilkan output:

Kita sedang belajar Python


Tepatnya belajar memanipulasi berkas teks
Memanipulasi berkas dengan Python sangatlah mudah!
Tugas Praktik:
Aku menjadi penasaran dengan hasil yang telah aku dapatkan sebelumnya. Apakah ada method/attribut lain gak ya untuk mencetak isi dari berkas hello.txt
di https://storage.googleapis.com/dqlab-dataset/hello.txt.
Akupun mencoba mengunakan atribut .text dari variabel response, seperti yang ditampilkan pada baris kedelapan.

Hasil dari perintah ini di console adalah

Waaw.... Penggunaan atribut .text menghasilkan isi berkas hello.txt sesuai dengan isi yang seharusnya.
Tips: Trik ini efektif digunakan ketika mengambil data melalui web scrapping.
Menulis Berkas Teks – Part 1
Untuk menuliskan isi dari suatu berkas, aku dapat menggunakan fungsi write() atau writelines() yang telah disediakan oleh Python. Sebelum masuk ke dalam contoh penggunaan
fungsi write() atau writelines(), penting bagiku untuk mengingat bahwa mode yang aku spesifikasikan pada fungsi open() akan mempengaruhi bagaimana Python menuliskan isi
ke dalam berkas teks. Jika aku menggunakan mode w, maka Python akan menghapus seluruh isi dalam berkas sebelum menuliskan konten yang aku spesifikasikan.
Asumsikan baris-baris di bawah comment ini merupakan isi dari “hello.txt”

Kita sedang belajar Python


Tepatnya belajar memanipulasi berkas teks
Memanipulasi berkas dengan Python sangatlah mudah!

Tugas:
Perintah ini aku gunakan untuk membuka/membuat sebuah berkas teks

Untuk setiap baris sebagai variabel line dalam berkas dengan nama variabel file

Seusai program selesai dijalankan, baris-baris di bawah comment ini merupakan isi dari "hello.txt"

Sekarang kita belajar menulis dengan menggunakan Python


Menulis konten file dengan mode w (write).
Menulis Berkas Teks – Part 2
Ketika aku menulis pada berkas teks menggunakan mode a, Python tidak akan menghapus isi dalam berkas dan hanya akan menambahkan konten. Aku mempelajari contoh berikut
untuk memahami penggunaan fungsi write() dan writelines()

Tugas:
Pertama, aku mengasumsikan baris-baris di bawah comment ini merupakan isi dari “hello.txt”

Kita sedang belajar Python


Tepatnya belajar memanipulasi berkas teks
Memanipulasi berkas dengan Python sangatlah mudah!

Perintah ini aku gunakan untuk membuka/membuat sebuah berkas teks dengan menggunakan mode “a”, untuk menambahkan beberapa baris pada berkas teks setelah isi dari berkas
awalnya

Aku menggunakan fungsi readlines

# Menulis ke file dengan mode append

file = open("hello.txt", "a")

file.writelines([
"Sekarang kita belajar menulis dengan menggunakan Python",

"Menulis konten file dengan mode a (append)"

])
file.close()

In [1]: # Menulis ke file dengan mode append


file = open("hello.txt", "a")
file.writelines([
"Sekarang kita belajar menulis dengan menggunakan Python",
"Menulis konten file dengan mode a (append)"
])
file.close()
Library Matematika pada Python
Salah satu keunikan Python adalah library yang dimilikinya karena dapat di-extend dengan library yang didefinisikan oleh pengguna Python, selain dari library bawaan (built-in)
yang dimilikinya. Untuk membuat library yang didefinisikan oleh pengguna umumnya dilakukan dengan menggunakan teknik pemrograman berorientasi obyek (object oriented
programming).
Tentunya secara dasar, Python tidak dapat digunakan untuk pengolahan data, komputasi saintifik, machine learning dan bahkan sistem cerdas. Melalui pengembang library tentunya
aku memiliki akses ke keperluan atau bidang tersebut. Library ini dapat diinstal melalui command pip yang bersumber dari web python package index.
Bagi yang pernah menggunakan Matlab pasti tahu ada toolbox tertentu misal untuk optimasi, pengolahan sinyal, dll. Jadi, toolbox di Matlab itu ekuivalen dengan library pada Python.
Bahasa pemrograman lain seperti R, PHP, GO, Java, dsb tentu juga memiliki hal yang serupa.
Untuk memanggil library pada python, aku dapat menggunakan syntax:

import

adalah nama library yang akan diimport untuk dapat digunakan dalam kode program yang disusun, baik library bawaan (built-in), library yang tersedia ada di web python package
index atau dikembangkan sendiri.
Python adalah salah satu bahasa yang paling diminati untuk pengolahan data secara matematis. Untuk menggunakan fungsi-fungsi matematis yang telah disediakan oleh bahasa
Python, aku dapat melakukan proses import library math seperti pada potongan kode berikut:

import math

Fungsi dalam Library Matematika – Part 1


Di dalam library math aku mempelajari berbagai fungsi, beberapa diantaranya dapat dilihat pada tabel di bawah ini.

Tugas:
Aku mengetikkan potongan kode berikut dalam live code editor:

Fitur Keterangan Contoh Penggunaan


Menerima in
put berupa
bilangan dan
math.ceil
mengembalik
() an
pembulatan
ke atas untuk
bilangan inp
ut.
akan menghasilkan output: 11

akan menghasilkan output: 14

Menerima in
put berupa
bilangan dan
mengembalik
math.floo an hasil
r() pembulatan
ke bawah akan menghasilkan output: 10
untuk
bilangan inp
ut.
akan menghasilkan output: 13
Menerima in
put berupa
bilangan dan
math.fabs mengembalik
() an hasil
absolut dari
bilangan inp
ut. akan menghasilkan output: 10.32

akan menghasilkan output: 13.87

Menerima in faktorial dari 5 adalah 5 * 4 * 3 * 2 * 1


put berupa
bilangan dan
math.fact mengembalik
orial() an hasil
faktorial dari
bilangan inp
ut akan menghasilkan output: 120
Menerima in
put berupa
tipe
data collectio
n (tuple, list,
math.fsum
() etc.) dan
mengembalik
an hasil
penjumlahan
setiap akan menghasilkan output: 6
elemennya.
Fungsi dalam Library Matematika – Part 2
Aku masih melanjutkan bagian terakhir dari (bulit-in) library matematika pada Python yang dapat digunakan untuk perhitungan matematis.

Tugas:
Aku mempraktekkan potongan kode berikut dalam live code editor:

Fitur Keterangan Contoh Penggunaan

Menerima inp
ut berupa dua
buah bilangan
(asumsikan x
dan y) dan
mengembalika
n sebuah
bilangan (z) di
math.log(
mana z
) merupakan
hasil log basis
y dari x (atau
dengan kata
lain x akan menghasilkan output 3
merupakan
hasil
pemangkatan
dari z terhadapakan menghasilkan output 4
y)

akan menghasilkan output 4


Menerima inp
ut berupa
sebuah
bilangan dan
math.sqrt mengembalika
() n hasil akar akan menghasilkan output: 10
pangkat dua
(akar kuadrat)
dari bilangan
tersebut

akan menghasilkan output: 1.4142135.

Menerima inp
ut berupa dua
buah bilangan
dan
math.copy
mengembalika
sign() n bilangan
pertama sesuai
dengan tanda
yang dimiliki akan menghasilkan output: -10.32
oleh bilangan
kedua
akan menghasilkan output: -13.87

akan menghasilkan output: 15


Harga Rumah di Tangerang
Info: alamat dataset telah diubah ke strorage DQLab di Google APIs, pada tanggal 23 Nopember 2021, pastikan kembali kode yang telah ditulis telah sesuai dengan perubahan pada
default live code untuk 19 baris pertama.

“Terima kasih, Aksara! Akhirnya kelar juga pekerjaan kemarin. Masih semangat, kan? Belum kapok kalau ada proyek baru datang lagi? Hahaha,” goda Senja.
“Asalkan ada bonus, maju terus,” candaku.
“Oke, kali ini serius. Kita diminta untuk mengembangkan model prediksi harga rumah di di Tangerang berdasarkan luas tanah, luas bangunan serta kedekatan lokasi dengan pusat
kota. Untuk mengembangkan model prediksi ini, saya telah mengumpulkan beberapa data yang diperlukan. Coba kamu lihat,” jelas Senja.

“Berarti aku akan memprediksi harga rumah ini berdasarkan kemiripan atribut dari data yang telah ada ini?” tanyaku memastikan. Senja mengangguk.

Aku pun segera menempatkan data tersebut ke dalam file harga_rumah.txt seperti berikut ini:
Tugas 1
Aku pun melanjutkan prosesnya dengan membaca file harga_rumah.txt dan merepresentasikan setiap data ke dalam tipe data dictionary dan menampung keseluruhan data dalam
sebuah list bernama harga_rumah:

Setelah selesai memasukkan data dan menemukan jika nilai dari setiap atribut (tanah, bangunan, jarak_ke_pusat) tidak setara, aku mulai agak bingung. Tapi, harus tenang dan
jangan panik!
Aku kembali mengecekanya dan memutuskan utnuk melakukan proses transformasi data. Transformasi data dilakukan dengan mengurangi setiap nilai atribut dalam data dengan nilai
atribut minimum dan membaginya dengan nilai atribut maksimum yang dikurangi dengan nilai atribut minimum, seperti ini:

 Untuk atribut tanah, nilai maksimum adalah 150 dan nilai minimum adalah 70.
 Saat nilai atribut tanah 100, proses transformasi akan mengubah nilai atribut ini menjadi 0,375

nilai_transformasi = 100 - 70 / (150 - 70)

Aku mulai mendapat solusi untuk mempermudah proses transformasi data.

Tugas 2
Mula-mula, aku akan membuat sebuah fungsi bernama get_all_specified_attribute yang menerima parameter list_of_dictionary (tipe data list yang berisikan sekumpulan tipe data
dictionary) dan specified_key (tipe data string). Fungsi akan mengembalikan sebuah list yang berisikan seluruh atribut dengan kunci (key) specified_key.
Tugas 3
Kemudian, setelah berhasil membuat fungsi tersebut, aku juga membuat fungsi min_value yang menerima parameter list_attributes (berupa tipe data list) dan mengembalikan nilai
terkecil dalam list_attributes dan max_value yang menerima parameter list_attributes dan mengembalikan nilai terbesar dalam list_attributes.

Tugas 4
Selanjutnya aku membuat fungsi transform_attribute yang menerima parameter attr (sebuah bilangan), max_attr (sebuah bilangan) dan min_attr (sebuah bilangan) yang
mengembalikan nilai transformasi dari sebuah attribute.

Tugas 5
“Sudah cukup, Nja?” tanyaku saat Senja terdiam lama menelusuri hasil kerjaku.
“Menurutku kita masih butuh fungsi baru yaitu fungsi data_transformation yang menerima parameter list_of_dictionary (sebuah list yang berisikan tipe data dictionary)
dan list_attribute_names (sebuah list yang berisikan tipe data string) mengembalikan hasil transformasi data dari list_of_dictionary berdasarkan list_attribute_names telah
dispesifikasikan.

Tugas 6
Dari data baru dan attr_info ini, Senja menyuruhku membuat fungsi transform_data yang menerima parameter data dan attr_info dan mengembalikan nilai atribut dari data baru
yang telah ditransformasikan.

Tugas 7
Setelah itu, Senja memintaku untuk membuat sistem prediksi harga berdasarkan nilai kemiripan atribut.

Tugas 8
Dan aku menggunakan semua fungsi yang telah aku definisikan dari Step 1 s/d Step 7.
 Hitung harga rumah yang telah ditransformasikan ke dalam variabel harga_rumah berikut dengan atributnya attr_info
 Gunakan variabel data untuk memprediksi harga rumah

data = {'tanah': 110, 'bangunan': 80, 'jarak_ke_pusat': 35}

 transformasikan data tersebut dengan dengan menggunakan attr_info yang telah diperoleh yang kembali disimpan ke variabel data.
 Hitunglah prediksi harga dari variabel data tersebut.

Anda mungkin juga menyukai