Anda di halaman 1dari 129

i

BELAJAR PYTHON UNTUK PEMULA


BELAJAR MEMECAHKAN MASALAH
SEDERHANA DALAM PYTHON LANJUT

dipersiapkan oleh :
Gatot Hari Priowirjanto
Rizal Adompo
Aditya Priowirjanto
Fikr Muhammad Haq
Nagista Alifia

dibantu oleh team :


Queen (SMK Negeri 7 Semarang)
King (SMK Negeri 7 Semarang)
Code Breakers (SMAI Nurul Fikri Lembang)
Claire (SMA Negeri 3 Malang)
Chemistry Teacher (SMA Poris Indah)

ii
iii
KATGANTAR

Atas nama seluruh tim penyusun, ijinkan saya mempersembahkan buku yang berjudul “Belajar
Python Untuk Pemula” ini, yang menurut saya dapat memberikan manfaat dan menambah
pengetahuan kita tentang Bahasa pemrograman. Segala puji dan syukur dipanjatkan kepada
Tuhan Yang Maha Esa, karena atas berkat-Nya maka kami dapat menyelesaikan buku ini dengan
tepat waktu.
Python adalah bahasa pemrograman komputer multiparadigma yang kuat dan dioptimalkan
untuk produktivitas pemrogram, keterbacaan kode, dan kualitas perangkat lunak. Buku ini
memberikan pengenalan yang komprehensif tentang bahasa Python itu sendiri dan membantu
belajar memecahkan masalah sederhana dengan Python. Tujuannya adalah untuk membantu
para pembaca menguasai dasar-dasar Python sebelum melanjutkan untuk menerapkannya di
tempat kerja.
Penyusun menyadari bahwa buku ini masih jauh dari sempurna, oleh karena itu masukan dan
saran dari para pembaca yang bersifat membangun sangatlah kami harapkan demi kesempurnaan
buku ini.
Akhir kata saya sampaikan terima kasih kepada semua pihak yang telah membantu dan berperan
dalam penulisan dan penyusunan materi untuk buku ini. Selamat membaca, dan semoga buku
ini bermanfaat bagi semua pembacanya.

Hormat saya,

Atas nama penyusun buku,


Dr. Gatot Hari Priowirjanto

iv
Daftar Isi

1. Sejarah Python……………………………………………………………….….…………………………………1
2. Manfaat Python Saat Ini………………………………………………………….……………………………….2
2.1. Penggunaan Python di beberapa Bidang…………………………………………..……………….………………..2
2.2. Contoh Implementasi Python……………………….……………………………………………………………….2
2.2.1. Ilmu Data (Data Science)………………...……………………………………………………………………..2
2.2.2. Pembelajaran Mesin (Machine Learning)…………………………………...………………………………….2
2.2.3. Biologi dan Bioinformatika…………………….……………………………………………………………….3
3. Sistem Input…………………………...……………………………………………………………………………3
4. Sistem Proses………………………………….……………………………………...……….……………………4
5. Sistem Output………………………………………………………………………………………………………4
6. Artificial Intelligence and Machine Learning Concept…………………………………………………….……5
6.1. Kecerdasan Buatan…………………………………..………………………………………………………………5
6.1.1. Bidang …………………………………………………………………………………………………………..5
6.1.2. Penerapan………………………………………………………………………………………………………..6
6.1.3. Pendekatan………………………………………………………………………………………………………7
6.2.1. Machine
Learning……………...…………….…………………………………………………………………………………….7
62.2. .Surpervised………………………………………………………….…………………………………………….7
6.2.3.Unsupervised............................................................................................................................................................8
6.3.Data…………………………………………………………………………..………………………………………8
6.3.1. Jenis Data berdasarkan Struktur………………………………………………….…………………………8
6.3.2. Hirarki………………………………..……………………………………………………………………..9
6.3.3.
Dataset………………………………………………………………………………………………………………9
6.3.4. Pra-proses Data………………………………………………………..…………………………………..10
6.4. Tasks on Machine Learning…………………………………………………..……………………………………11
6.4.1.
Classification……………………………………………………………………………………………………….11
6.4.2. Forecasting (Supervised Learning)……………………………………………………………………......11
6.4.3. Clustering (Unsupervised Learning)………………………………………...…………………………….12
6.5. Algorithms Machine Learning…………………………………….……………………………………………….12
6.5.1. Decision Tree……………………………………...………………………………………………………12
6.5.2. Naïve Bayes………………………………………………….……………………………………………13
6.5.3. Artificial Neural Network………………………………………………………...……………………….14
6.6. Performanse Measure……………………………………………..………………………………………………..15
6.6.1. Confusion Matrix……………………………………………………….…………………………………15
6.6.2. MAD, MSE, MAPE……………………………………………………………………………………….16
6.6.3. Silhoutte Coeffision……………………………………………………………………………………….16
7. Contoh Program…………………………………………………………….…………………………………….16
7.1. Bilangan Kuadrat………………………………………………………………………………………………..…16
7.1.1. Menggunakan Fungsi……………………………………………………………………………………...16
7.1.2. Menggunakan Variable untuk Menginput………………………………………………………………...16

v
7.1.3. Menggunakan Lebih dari Satu Variable…………………………………………………………………..17
7.1.4. Menggunakan Variable dan Fungsi……………………………………………………………………….18
7.1.5. Menggunakan Fungsi Parameter…………………………………………………………………………..18
7.1.6. Menggunakan Pengulangan……………………………………………………………………………….19
7.2. Konversi Mata Uang……………………………………………………………………………………………….21
7.3. Sorting………………...……………………………………………………………………………………………23
7.4. Kalkulator…………………………………………………………..………………………………………………27
7.5. Grafik…………………………………………………………………...………………………………………….29
7.6. Grafik Lalu Lintas………………………………………………………………………………………………….29
7.7. Grafik Pemasaran ( Tugas 3 )………………………………………………………………………………………31
7.7.1. Team Queen ( Agneta, Faiza, Ino, dan Sinta )…………………………………………………………….31
7.7.2. Team King ( Andrea, Rizky, dan Tribuna )……………………………………………………………….35
7.7.3. Team Claire ( Armand, Chaswanah, Kevin, Michael, dan Zaki )…………………………………………49
7.7.4. Smeri Siber ( Cristin, Sifa, Bunga, dan Zesen )…………………………………………………………...51
7.7.5. Team Code Breakers ( Yogi, Yulvianah, Elsa, Febrianti, dan Yulia )…………………………………….56
7.7.6. Team Chemistry Teacher ( Sari Indah, S.ST., Ujang Rohaya, M.Pd., dan Sholikhin, S.Pd.)………….…61
7.8. Grafik Data Siswa ( Tugas 4 )……………………………………………………………………………………...62
7.8.1. Team Queen ( Agneta, Faiza, Ino, dan Sinta )…………………………………………………………….62
7.8.2. Team King ( Andrea, Rizky, dan Tribuna )……………………………………………………………….66
7.8.3. Team Code Breakers ( Yogi, Yulvianah, Elsa, Febrianti, dan Yulia )…………………………………….75
7.9. Grafik Data dengan Persamaan Matematika………………………………………………………………………79
7.9.1. Team King ( Andrea, Rizky, dan Tribuna )……………………………………………………………….79
7.9.2. Team Code Breakers ( Yogi, Yulvianah, Elsa, Febrianti, dan Yulia )……….……………………………89
7.9.3. Team Queen ( Agneta, Faiza, Ino, dan Sinta )…………………………………………………………….95
8. Lampiran………………………………………………………………………….……………………………..114
Daftar Pustaka…………………………………………………………………………………………………….123

vi
1. Sejarah Python
Bahasa pemrograman Python dibuat pada 1980-an akhir dan mulai diimplementasikan pada Desember 1989
oleh Guido van Rossum di CWI, Belanda sebagai penerus ABC yang mampu menangani pengecualian dan
berinteraksi dengan sistem operasi Amoeba. Van Rossum adalah penulis utama Python dengan peran sentral
yang berkelanjutan dalam menentukan arah Python tercermin sehingga disebut Benevolent Dictator for Life
(BDFL) oleh komunitas Python. Namun, van Rossum mengundurkan diri pada 12 Juli 2018. Nama Python
terinspirasi dari sebuah acara TV di channel BBC yaitu Monty Python's Flying Circus. Berikut ini versi-versi
Python yang sudah dan akan dirilis.

Versi
Akhir Dukungan Akhir Pembetulan
Versi Mikro Tanggal Rilis
Penuh Keamanan
Terakhir
0.9 0.9.9 20-02-1991 29-07-1993
1.0 1.0.4 26-01-1994 15-02-1994
1.1 1.1.1 11-10-1994 10-11-1994
1.2 13-04-1995 Unsupported
1.3 13-10-1995 Unsupported
1.4 25-10-1996 Unsupported
1.5 1.5.2 03-01-1998 13-04-1999
1.6 1.6.1 05-09-2000 2000-09
2.0 2.0.1 16-10-2000 22-06-2001
2.1 2.1.3 15-04-2001 09-04-2002
2.2 2.2.3 21-12-2001 30-05-2003
2.3 2.3.7 29-06-2003 11-03-2008
2.4 2.4.6 30-11-2004 19-12-2008
2.5 2.5.6 19-09-2006 26-05-2011
2.6 2.6.9 01-10-2008 24-08-2010 29-10-2013
2.7 2.7.18 03-07-2010 01-01-2020
3.0 3.0.1 03-12-2008 27-06-2009
3.1 3.1.5 27-06-2009 12-06-2011 2012-06
3.2 3.2.6 20-02-2011 13-05-2013 20-02-2016
3.3 3.3.7 29-09-2012 08-03-2014 29-09-2017
3.4 3.4.10 16-03-2014 09-08-2017 18-03-2019
3.5 3.5.10 13-09-2015 08-08-2017 30-09-2020
3.6 3.6.13 23-12-2016 24-12-2018 2021-12
3.7 3.7.10 27-06-2018 27-06-2020 2023-06
3.8 3.8.8 14-10-2019 2021-04 2024-10
3.9 3.9.2 05-10-2020 2022-05 2025-10
3.10 04-10-2021 2023-05 2026-10
Legend:

Versi lama
Versi lama, masih dipelihara
Versi Terakhir
Versi yang akan dirilis

-1-
2. Manfaat Python Saat Ini
2.1. Penggunaan Python di beberapa Bidang
• Ilmu Data (Data Science).
• Pembelajaran mesin (Machine Learning).
• Pengembangan web.
• Pendidikan Ilmu Komputer (Computer Science).
• Visual Komputer dan Pemrosesan Gambar.
• Pengembangan Game.
• Kedokteran dan Farmakologi.
• Biologi dan Bioinformatika.
• Ilmu Saraf dan Psikologi.
• Astronomi.
• Bidang lain seperti robotika, kendaraan otonom, bisnis, meteorologi, dan pengembangan antarmuka
pengguna grafis (GUI).

2.2. Contoh Implementasi Python


2.2.1. Ilmu Data (Data Science)
Dengan pustaka visualisasi data Python, dapat dibuat berbagai macam forecasting dan
representasi visual untuk keperluan ilmu data, seperti:

• Diagram garis, batang, dan marker.


• Gambar, kontur, dan bidang.
• Subplot, sumbu, dan figur.
• Statistik (Plot Kotak, Diagram Batang, dan Histogram).
• Bagan pie dan polar.
• Plot 3D.
• Kalkulator Deviasi Rata-Rata-Varians-Standar.
• Analisis Data Demografis.
• Visualisasi Data Medis.
• Visualisasi Rangkaian Waktu Tampilan Halaman.
• Prediksi Permukaan Laut.
Semua itu dapat digunakan bergantung pada paket atau pustaka Python yang dipilih.

2.2.2. Pembelajaran Mesin (Machine Learning)


Python adalah salah satu alat paling populer dan kuat yang digunakan untuk memprogram
sistem pembelajaran mesin. Salah satu pustaka terpopuler yang digunakan developer di seluruh dunia
untuk bekerja dengan Python yang diterapkan ke Machine Learning adalah TensorFlow. Beberapa
pembelajaran mesin yang dapat diimplementasikan dengan Python, antara lain:

• Batu gunting kertas.


• Klasifikasi Gambar Hewan.
• Mesin rekomendasi pemesanan menggunakan K-Nearest Neighbours.
• Kalkulator biaya kesehatan dengan Regresi Linier.
• Klasifikasi SMS dengan Jaringan Neural.
-2-
• Memprediksi penurunan fungsi paru.
• Membangun alat untuk memantau populasi burung.
• Memberi label pada landmark terkenal.
• Perkiraan penyebaran COVID-19.
• Memperkirakan penjualan unit barang ritel swalayan.
• Mengidentifikasi video dengan manipulasi wajah atau suara.
• Memprediksi waktu tunggu di persimpangan kota besar.
• Mendeteksi penipuan dari transaksi pelanggan.
• Memprediksi pendapatan film box office di seluruh dunia.
• Memprediksi adopsi hewan peliharaan.
• Mengidentifikasi risiko ketika pilot terganggu, mengantuk, atau dalam kondisi kognitif berbahaya
lainnya.

2.2.3. Biologi dan Bioinformatika


Python memiliki aplikasi luar biasa dalam dunia Biologi dan Bioinformatika, seperti pemrosesan
urutan DNA, simulasi dinamika dan genetika populasi, dan pemodelan struktur biokimia. Salah satu
kerangka kerja Python yang dapat digunakan untuk bidang ini adalah Biopython. Biopython adalah
kerangka kerja Python dengan alat yang tersedia secara gratis untuk komputasi biologis. Tujuannya
adalah untuk memenuhi kebutuhan pekerjaan saat ini dan masa depan dalam bioinformatika. Kerangka
kerja ini memiliki fungsionalitas sebagai berikut:
• Bekerja dengan urutan dan melakukan operasi umum seperti transkripsi, terjemahan, dan
penghitungan bobot.
• Terhubung dengan database biologis.
• Lakukan klasifikasi data menggunakan K-Nearest Neighbours, Naive Bayes, dan Support Vector
Machines.
• Bekerja dengan pohon filogenetik dan genetika populasi.

3. Sistem Input
Input pada Python diwakilkan dengan syntax dasar input(), yang biasanya diarahkan
langsung kepada suatu variable dengan cara menjadi value dari variable tersebut.
text = input()

Diatas adalah implementasi input pada Python.


Input juga dapat dilengkapi dengan sebuah tulisan atau string pengawal, seperti misalnya
text = input('Enter your name :')

Dua contoh diatas adalah sistem input yang secara langsung menginputkan value dari hasil
input kepada sebuah variable, yang dalam hal ini adalah text.

-3-
4. Sistem Proses
Sistem pemrosesan dari sebuah nilai dari input akan terjadi pada sebuah function yang tergantung
pada fungsinya.
Misalnya pada kasus dimana kita ingin melakukan perhitungan dari dua angka, maka akan
dibuat/disediakan pula sebuah function untuk mengolah dua angka tersebut.

def Tambah(angka1,angka2):
kalkulasi = angka1 + angka2
return kalkulasi

print(Tambah(2,3))

Diatas adalah contoh dari penggunaan fungsi Tambah sebagai fungsi pemroses dari value. Pada
implementasinya dengan Sistem Input, hanya perlu dipastikan bahwa angka1 dan angka2 adalah hasil
input

5. Sistem Output
Output pada Python pada prinsipnya adalah menampilkan hasil input secara langsung
ataupun hasil input setelah melewati suatu proses
Output terdasar pada Python ialah dengan menggunakan fungsi print()

Diatas adalah contoh bagaimana memunculkan output berupa hasl dari proses dalam
fungsi Kali()
Yang akan memunculkan Output seperti dibawah ini :

-4-
6. Artificial Intelligence and Machine Learning Concept
6.1. Kecerdasan Buatan
Kecerdasan Buatan (Artificial Intelligence) : bidang ilmu yang mempelajari bagaimana mesin dapat
berfikir seperti manusia, berfikir rasional, bertindak seperti manusia, dan bertindak rasional.

6.1.1. Bidang

-5-
6.1.2. Penerapan

-6-
6.1.3. Pendekatan
• Searching
• Reasoning
• Planning
• Learning

6.2. Machine Learning


6.2.1. Jenis Machine Learning
• Supervised Learning
• Unsupervised Learning
• Semi-supervised Learning
• Reinforcement Learning

6.2.2. Surpervised
• Pembelajaran terbimbing
• Data memiliki output/label/target class
• Memiliki fase training untuk mempelajari pemetaan antara input dan output (membentuk model)
• Kategori pekerjaan : klasifikasi, regresi dan lainnya

-7-
6.2.3. Unsupervised
• Pembelajaran tidak terbimbing
• Data tidak memiliki output/label/target class
• Tidak memiliki fase training, algoritma bekerja untuk menemukan pola/hubungan pada data input
• Kategori pekerjaan : klusterisasi, asosiasi dan lainnya

6.3. Data
6.3.1. Jenis Data berdasarkan Struktur
• Data terstruktur (structured)
o Memiliki organisasi/keteraturan data
o Mudah dicari dan dianalisis
o Seperti data pada Database Management System atau format file tertentu
• Data tidak terstruktur (unstructured)
o Tidak memiliki organisasi/keteraturan data baku
o Tidak mudah dicari dan dianalisis
o Contoh data citra, audio, video, teks, dll

-8-
6.3.2. Hirarki

6.3.3. Dataset

-9-
6.3.4. Pra-proses Data
• Data Cleaning
Penanganan missing value, penanganan noisy data, identifikasi atau hapus outlier, penanganan data
yang inkonsisten
• Data Integration
Integrasi beberapa sumber data
• Data Transformation
Normalisasi data, diskritisasi, penyeragaman nilai data, agregasi atau bahkan split atribut
• Data Reduction
Reduksi dimensi/seleksi atribut

- 10 -
6.4. Tasks on Machine Learning
6.4.1. Classification
Task untuk menemukan model dari data pembelajaran (training set) yang terdiri dari atribut dan kelas
target (nilai kategorikal)

6.4.2. Forecasting (Supervised Learning)


Task untuk menemukan model dari data pembelajaran (training set) yang terdiri dari atribut dan kelas
target (nilai numerik, kontinyu)

- 11 -
6.4.3. Clustering (Unsupervised Learning)
• Task untuk mengelompokkan sejumlah data berdasarkan kemiripan nilai atribut yang dimiliki
dataset.
• Task untuk mendeteksi kluster potensial yang berguna dari data input.

6.5. Algorithms Machine Learning


6.5.1. Decision Tree
• Decision tree adalah algoritma supervised learning yang merepresentasikan input sebagai vector
dari atribut dan mengembalikan “keputusan” atau “decision” sebagai output.
• Tujuannya adalah untuk membentuk model yang dapat memprediksi nilai dari variabel
target/kelas target dengan mempelajari data training sehingga terbentuk model berupa “aturan
keputusan” atau “pohon keputusan”.
• Ide dari DT adalah pilih atribut terbaik (mampu memisahkan target class) sebagai root node akar,
lalu berdasarkan atribut terpilih, pilih kembali atribut terbaik selanjutnya pada cabang yang
dibentuk.
• Algoritma Decision Tree: ID3 (Iterative Dichotomizer3), C4.5, C5.0, CART (Classification dan
Regression Trees), dll.

- 12 -
6.5.2. Naïve Bayes
• Naïve Bayes adalah algoritma supervised learning yang menggunakan pendekatan probabilitas
(teorema Bayes) dengan asumsi “naïve” untuk probablitas kondisional yang tidak bergantung
antara tiap nilai fitur.
• Formula dari Naïve Bayes yaitu

• Pada fase training, data digunakan untuk mendapatkan prior probability (P(c)) dan conditional
probability (Px|c).
• Probabilitas tersebut digunakan untuk menghitung posterior probability tiap kelas target
kemudian didapatkan nilai tertingginya “MAP (Maximum A Posterior)” atau disebut argument
maksimum dari target class.

- 13 -
6.5.3. Artificial Neural Network
• Artificial Neural Network (ANN) atau biasa disebut Jaringan Syaraf Tiruan (JST) adalah algoritma
dengan model komputasi yang meniru dari cara kerja jaringan syaraf biologi pada manusia.
• ANN adalah jaringan dari sekelompok unit pemroses kecil (perceptron) yang saling terhubung
antara input dan output, menemukan pola-pola pada data dan menyimpan bobot pada jaringan
sebagai model

- 14 -
6.6. Performanse Measure
6.6.1. Confusion Matrix
Confusion matrix adalah matiks yang digunakan untuk mengukur performa model klasifikasi jika
diberikan sejumlah data uji. Jumlah matrik bergantung pada kelas target yang diklasifikasi.

Accuracy = (TP+TN) / (TP+FP+FN+TN)


Error Rate = (FP+FN) / (TP+FP+FN+TN)
Precision = TP / (TP+FP)
Recall = TP / (TP+FN)
F- Measure = (2* Recall*Precision) / (Recall+ Precision)

- 15 -
6.6.2. MAD, MSE, MAPE
• Mean Absolute Deviation (MAD) : rata-rata dari nilai absolute simpangan
• Mean Squared Error (MSE) : rata-rata kuadratik error
• Mean Absolute Percentage Error (MAPE) : persentase rata-rata kesalahan absolut

6.6.3. Silhoutte Coeffision


Silhouette Coefficient adalah matiks yang digunakan untuk mengukur performa dari teknik kluster.
Rentang nilai -1 sampai 1.
1: cluster terpisah dengan baik satu sama lain dan dibedakan dengan jelas.
0: cluster indefferent, atau bisa dikatakan jarak antar cluster tidak signifikan.
-1: cluster terkelompok dengan cara yang salah.

7. Contoh Program
7.1. Bilangan Kuadrat
7.1.1. Menggunakan Fungsi
def kuadrat (a):
print (a ** 2)

Pada source code diatas menggunakan fungsi yang nantinya akan dipanggil saat menjalankan code.

7.1.2. Menggunakan Variable untuk Menginput


bil = input('Masukan bilangan: ')

jumlah = int(bil) ** 2

print('Jumlah akar kuadrat dari {0} adalah {1}'.format(bil, jumlah))

Source code diatas terdapat variable untuk menginputkan sebuah bilangan yang akan dikuadratkan.

- 16 -
7.1.3. Menggunakan Lebih dari Satu Variable
bil1 = input('Masukan bilangan: ')
bil2 = input('Masukan bilangan: ')
bil3 = input('Masukan bilangan: ')
bil4 = input('Masukan bilangan: ')
bil5 = input('Masukan bilangan: ')
bil6 = input('Masukan bilangan: ')

jumlah1 = int(bil1) ** 1
jumlah2 = int(bil2) ** 2
jumlah3 = int(bil3) ** 3
jumlah4 = int(bil4) ** 4
jumlah5 = int(bil5) ** 5
jumlah6 = int(bil6) ** 6

print('Jumlah akar kuadrat 1 dari {0} adalah {1}'.format(bil1, jumlah1))


print('Jumlah akar kuadrat 2 dari {0} adalah {1}'.format(bil2, jumlah2))
print('Jumlah akar kuadrat 3 dari {0} adalah {1}'.format(bil3, jumlah3))
print('Jumlah akar kuadrat 4 dari {0} adalah {1}'.format(bil4, jumlah4))
print('Jumlah akar kuadrat 5 dari {0} adalah {1}'.format(bil5, jumlah5))
print('Jumlah akar kuadrat 6 dari {0} adalah {1}'.format(bil6, jumlah6))

Pada source code diatas menggunakan lebih dari satu variable untuk mengkuadratkan lebih dari satu
bilangan sesuai dengan yang diinputkan.

- 17 -
7.1.4. Menggunakan Variable dan Fungsi
def main():
a, b, c, d, e, f = input("Masukkan 6 bilangan: ").split()
a = int(a)
b = int(b)
c = int(c)
d = int(d)
e = int(e)
f = int(f)
aa, bb, cc, dd, ee, ff = input("Masukkan pangkat untuk 6 bilangan di atas: ").split()
aa = int(aa)
bb = int(bb)
cc = int(cc)
dd = int(dd)
ee = int(ee)
ff = int(ff)
print("Hasil pemangkatan: ", a**aa, b**bb, c**cc, d**dd, e**ee, f**ff)

Source code diatas menggunakan variable dan fungsi, untuk menjalankannya memerlukan input 6
bilangan dan mengkuadratkannya sesuai inputan.

7.1.5. Menggunakan Fungsi Parameter


def kuadrat (a,b,c,d,e,f,g,h,i,j):
print (a ** 2)
print (b ** 2)
print (c ** 2)
print (d ** 2)
print (e ** 2)
print (f ** 2)
print (g ** 2)
print (h ** 2)
print (i ** 2)
print (j ** 2)

- 18 -
Source code diatas menjabarkan parameternya satu persatu lalu dipangkatkan dengan 2.

Menggunakan Pengulangan
def main():
n = input("Masukkan jumlah bilangan: ")
n = int(n)
print("\n")
i=0
for i in range(n):
i=i+1
print("==== PEMANGKATAN BILANGAN", i,"====")
a = input("Masukkan bilangan: ")
a = int(a)
b = input ("Masukkan pangkat bilangan: ")
b = int(b)
print("Hasil pemangkatan bilangan", i, ": ", a**b,"\n")

- 19 -
Source code di atas menerima masukan jumlah bilangan yang akan dipangkatkan kemudian dengan
looping for sebanyak jumlah bilangan dilakukan penerimaan masukan bilangan yang akan
dipangkatkan dan pangkatnya serta menampilkan hasil pemangkatannya.

def main():
n = input("Masukkan N: ")
n = int(n)
print("\n")
i=0
for i in range(n):
i=i+1
print("Hasil pemangkatan bilangan ke-", i, ": ", i**i,"\n")

- 20 -
Source code di atas menerima masukan jumlah bilangan kemudian dengan looping for sebanyak jumlah
bilangan mulai dari dilakukan pemangkatan bilangan dengan pangkat bilangan itu sendiri.
7.2. Konversi Mata Uang

def kurs():
kursJualUSD = 14392.61
kursBeliUSD = 14249.40
kursJualEUR = 17013.50
kursBeliEUR = 16838.52
kursJualJPY = 138.9114
kursBeliJPY = 137.5159
kursJualKRW = 12.87
kursBeliKRW = 12.65
bungaIDR = 0.0475
bungaUSD = 0.01135
bungaEUR = 0.0127
bungaJPY = 0.0241
bungaKRW = 0.0068
uang = input("Masukkan nilai uang (IDR): ")
uang = float(uang)
periode = input("Masukkan periode tahun deposito: ")
periode = int(periode)
kursIDR = uang + ((uang * bungaIDR) * (12 * periode))
kursUSD = ((uang / kursBeliUSD) + (((uang / kursBeliUSD) * bungaUSD) * (12 * periode))) * kursJualUSD
kursEUR = ((uang / kursBeliEUR) + (((uang / kursBeliEUR) * bungaEUR) * (12 * periode))) * kursJualEUR
kursJPY = ((uang / kursBeliJPY) + (((uang / kursBeliJPY) * bungaJPY) * (12 * periode))) * kursJualJPY
kursKRW = ((uang / kursBeliKRW) + (((uang / kursBeliKRW) * bungaKRW) * (12 * periode))) * kursJualKR
W
print("Uang yang didapat setelah mendepositokan Rp", '{:0,.2f}'.format(uang), "selama", periode, "tahun de
ngan kurs:")

- 21 -
print("1. IDR: Rp", '{:20,.2f}'.format(kursIDR))
print("2. USD: Rp", '{:20,.2f}'.format(kursUSD))
print("3. EUR: Rp", '{:20,.2f}'.format(kursEUR))
print("4. JPY: Rp", '{:20,.2f}'.format(kursJPY))
print("5. KRW: Rp", '{:20,.2f}'.format(kursKRW))

def kurs2():

kursJualUSD = 14392.61
kursBeliUSD = 14249.40
kursJualEUR = 17013.50
kursBeliEUR = 16838.52
kursJualJPY = 138.9114
kursBeliJPY = 137.5159
kursJualKRW = 12.87
kursBeliKRW = 12.65
bungaIDR = 0.0475
bungaUSD = 0.01135
bungaEUR = 0.0127
bungaJPY = 0.0241
bungaKRW = 0.0068
uang = input("Masukkan nilai uang (IDR): ")
uang = float(uang)
periode = input("Masukkan periode tahun deposito: ")
periode = int(periode)
kursIDR = uang * ((1 + (bungaIDR * 12)) ** periode)
kursUSD = ((uang / kursBeliUSD) * ((1 + (bungaUSD * 12)) ** periode)) * kursJualUSD
kursEUR = ((uang / kursBeliEUR) * ((1 + (bungaEUR * 12)) ** periode)) * kursJualEUR
kursJPY = ((uang / kursBeliJPY) * ((1 + (bungaJPY * 12)) ** periode)) * kursJualJPY
kursKRW = ((uang / kursBeliKRW) * ((1 + (bungaKRW * 12)) ** periode)) * kursJualKRW
print("Uang yang didapat dari deposito Rp", '{:0,.2f}'.format(uang)," selama", periode, "tahun dengan kurs:"
)
print("1. IDR: Rp", '{:20,.2f}'.format(kursIDR))
print("2. USD: Rp", '{:20,.2f}'.format(kursUSD))
print("3. EUR: Rp", '{:20,.2f}'.format(kursEUR))
print("4. JPY: Rp", '{:20,.2f}'.format(kursJPY))
print("5. KRW: Rp", '{:20,.2f}'.format(kursKRW))

- 22 -
Source code di atas menerima masukan nilai uang yang akan didepositokan serta lama periodenya
dalam satuan tahun kemudian ditampilkan hasil uang yang didapatkan setelah mendepositokan nilai
uang yang dimasukkan selama periode yang dimasukkan dalam beberapa kurs mata uang.

7.3. Sorting

- 23 -
angka = [14, 76, 1, 3, 25, 100]
angka.sort(reverse=True)
print(angka)

def Sortir(data):
for Index in range(1,len(data)):
current = data[index]
i = Index
while current < data[i - 1] and i > 0:
data[i] = data[i-1]
i= i - 1
data[i] = current
masuk = int(input("masukan data yang di inginkan : "))
datamasuk= [int(input())for i in range (masuk)]
print("berikut hasil data sebelum di sortir : ",end=' ')
print(datamasuk)
datamasuk.sort(reverse=True)
print("berikut hasil data sesudah di sortir : ", end=' ')
print(datamasuk)

- 24 -
import numpy as np
import matplotlib.pyplot as plt

def Sortir(data):
for Index in range(1,len(data)):
current = data[index]
i = Index
while current < data[i - 1] and i > 0:
data[i] = data[i-1]
i= i - 1
data[i] = current
masuk = int(input("masukan data yang di inginkan : "))
datamasuk= [int(input())for i in range (masuk)]
print("berikut hasil data sebelum di sortir : ",end=' ')
print(datamasuk)
datamasuk.sort(reverse=True)
print("berikut hasil data sesudah di sortir : ", end=' ')
print(datamasuk)
plt.plot(datamasuk)
plt.show()

- 25 -
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
def Sortir(data):
for Index in range(1,len(data)):
current = data[index]
i = Index
while current < data[i - 1] and i > 0:
data[i] = data[i-1]
i= i - 1
data[i] = current
masuk = int(input("masukan data yang di inginkan : "))
datamasuk= [int(input())for i in range (masuk)]
print("berikut hasil data sebelum di sortir : ",end=' ')
print(datamasuk)
datamasuk.sort(reverse=True)
print("berikut hasil data sesudah di sortir : ", end=' ')
print(datamasuk)
ax = plt.axes(projection= "3d" )
z = (datamasuk)
x = (datamasuk)
y = (20,30,40,500,60)
ax.plot3D (x,y,z)
plt.show()

- 26 -
7.4. Kalkulator
import tkinter as tk
import operator
number = "0"
op_first = "none"
num1 = "0"
num2 = "0"
ops = { "+": operator.add, "-": operator.sub }
root = tk.Tk()
root. title("Calculator")
root.geometry("370x370")
root.resizable(False,False)
frame = tk.Frame(root)
frame.pack(fill=None, expand=False)
label = tk.Label(text=number)
section = tk.Label(text=number,width=50,height=10,bg="white")
def write_slogan():
number = "New Number"
label.config(text=number)
print("Processed")
print(number)
def give_number(nums):
global number
if number == "0":
number = nums
else:
number = number + nums
section.config(text=number)
print("Numbers Added!")
def plus():
global number
global op_first
global num1
num1 = number
# number = number + "+"
number = "0"
op_first = "+"
section.config(text=number)
print("Numbers Added!")
def equal():
global number
global ops
global num1
number = ops[op_first](int(num1),int(number))
section.config(text=number)

- 27 -
print(num1)
section.pack()
button1 = tk.Button(text=1,command=lambda: give_number("1"),width=12,height=4)
button2 = tk.Button(text=2,command=lambda: give_number("2"),width=12,height=4)
button3 = tk.Button(text=3,command=lambda: give_number("3"),width=12,height=4)
button4 = tk.Button(text=4,command=lambda: give_number("4"),width=12,height=4)
button5 = tk.Button(text=5,command=lambda: give_number("5"),width=12,height=4)
button6 = tk.Button(text=6,command=lambda: give_number("6"),width=12,height=4)
button7 = tk.Button(text=7,command=lambda: give_number("7"),width=12,height=4)
button8 = tk.Button(text=8,command=lambda: give_number("8"),width=12,height=4)
button9 = tk.Button(text=9,command=lambda: give_number("9"),width=12,height=4)
plus_button = tk.Button(text="+", command=plus,width=12,height=4)
minus_button = tk.Button(text="-", command=plus,width=12,height=4)
equal_button = tk.Button(text="=", command=equal,width=12,height=4)
button1.place(x=0, y=160)
button2.place(x=93, y=160)
button3.place(x=187, y=160)
equal_button.place(x=280, y=160)
button4.place(x=0, y=227)
button5.place(x=93, y=227)
button6.place(x=187, y=227)
plus_button.place(x=280, y=227)
button7.place(x=0, y=295)
button8.place(x=93, y=295)
button9.place(x=187, y=295)
minus_button.place(x=280, y=295)
root.mainloop()

Diatas adalah merupakan project simple berupa kalkulator yang hanya memanfaatkan operasi –
operasi matematika yang sudah tersedia dalam Bahasa Python. Namun demi kelengkapan dan
efesiensi, digunakan juga sebuah library ringan yaitu “operator” yang diimport sebagai operator pada
Syntax.
Pada project simple diatas pun hanya di berikan opsi pertambahan dan pengurangan saja agar lebih
mudah dipahami, dan dua slot angka.

- 28 -
7.5. Grafik
# library & dataset
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
sns.set()
# use the function regplot to make a scatterplot
#sns.plt.show()
df=pd.DataFrame({'x': ['A','B','C','D','E'], 'y':[30,21,36,23,40] })
# Without regression fit:
sns.regplot('x', 'y', data=df, fit_reg=False)
plt.show()

7.6. Grafik Lalu Lintas


Dihitung dan dikalkulasikan total kendaraan yang melewati kantor Dinas Pendidikan Provinsi yang
dihimpun berdasarkan per jamnya, lalu perjamnya berdasarkan perharinya selama 24 jam.

Grafik diatas adalah gambaran dari jumlah kendaraan yang lewat selama 24 jam menggunakan grafik
titik sebar. Yang berguna untuk menggambarkan kapan biasanya kemacetan terjadi dalam satu hari.

- 29 -
Dengan x sebagai jumlah kendaraan dan y sebagai jam

Grafik daitas adalah merupakan gambaran dasar dengan data yang sama dengan grafik sebelumnya,
ditandai dengan x sebagai jam dan y sebagai jumlah kendaraan lewat.

Grafik diatas adalah gambaran dari angka kemacetan per hari selama hari kerja atau 5 hari dalam 1
minggu.
Ditandai dengan x sebagai hari secara berurutan dan y sebagai total angka kemacetan.
Syntax
Output

- 30 -
Memunculkan grafik yang menampilkan data gambaran harga ikan Guppy di Jakarta di tiap bulannya.

7.7. Grafik Pemasaran ( Tugas 3 )


Berikut ini video mengenai tugas 3
https://www.youtube.com/watch?v=pZqXNUb-b6c

7.7.1. Team Queen ( Agneta, Faiza, Ino, dan Sinta )

- 31 -
- 32 -
- 33 -
- 34 -
7.7.2. Team King ( Andrea, Rizky, dan Tribuna )
Grafik Warung 3 Bulan

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
while True:
bul1 = input("Data penjualan di bulan apa : ")
if "jan" in bul1.lower() :
bul1 = "Januari"
tgl1 = list(range(1,32))
break
elif "feb" in bul1.lower() :
bul1 = "Februari"
tgl1 = list(range(1,29))
break
elif "mar" in bul1.lower() :
bul1 = "Maret"
tgl1 = list(range(1,32))
break
elif "apr" in bul1.lower() :
bul1 = "April"
tgl1 = list(range(1,31))
break
elif "mei" in bul1.lower() :
bul1 = "Mei"
tgl = list(range(1,32))
break
elif "jun" in bul1.lower() :
bul1 = "Juni"
tgl1 = list(range(1,31))
break
elif "jul" in bul1.lower() :
bul1 = "Juli"
tgl1 = list(range(1,32))
break
elif "agu" in bul1.lower() :
bul1 = "Agustus"
tgl1 = list(range(1,32))
break
elif "sep" in bul1.lower() :
bul1 = "September"
tgl1 = list(range(1,31))
break
elif "okt" in bul1.lower() :
bul1 = "Oktober"
tgl1 = list(range(1,32))
- 35 -
break
elif "nov" in bul1.lower() :
bul1 = "November"
tgl1 = list(range(1,31))
break
elif "des" in bul1.lower() :
bul1 = "Desember"
tgl1 = list(range(1,32))
break
else :
print("Maaf, bulan "+bul1+" tidak ada!")
pass

print ("Masukkan data penjualan di bulan "+bul1+" dari tanggal 1 sampai",len(tgl1))


print("")
data1 = [0]
i = 0
while i < len(tgl1):
try :
ii = i + 1
print("Tgl",ii,": ")
a = input()
if a.lower() == "ulang" :
data1.clear()
data1.append(0)
i = 0
y = input("Anda yakin ? (y untuk lanjut) : ")
if "y" in y.lower():
if "k" in a.lower() :
a = a.replace("k", "000")
if "-" in a :
a = "0"
a = int(a)
data1.append(a)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(a,"bukanlah nominal yang diinginkan!")
print("")
while True:
bul2 = input("Data penjualan di bulan apa : ")
if "jan" in bul2.lower() :
bul2 = "Januari"
tgl2 = list(range(1,32))
break

- 36 -
elif "feb" in bul2.lower() :
bul2 = "Februari"
tgl2 = list(range(1,29))
break
elif "mar" in bul2.lower() :
bul2 = "Maret"
tgl2 = list(range(1,32))
break
elif "apr" in bul2.lower() :
bul2 = "April"
tgl2 = list(range(1,31))
break
elif "mei" in bul2.lower() :
bul2 = "Mei"
tgl = list(range(1,32))
break
elif "jun" in bul2.lower() :
bul2 = "Juni"
tgl2 = list(range(1,31))
break
elif "jul" in bul2.lower() :
bul2 = "Juli"
tgl2 = list(range(1,32))
break
elif "agu" in bul2.lower() :
bul2 = "Agustus"
tgl2 = list(range(1,32))
break
elif "sep" in bul2.lower() :
bul2 = "September"
tgl2 = list(range(1,31))
break
elif "okt" in bul2.lower() :
bul2 = "Oktober"
tgl2 = list(range(1,32))
break
elif "nov" in bul2.lower() :
bul2 = "November"
tgl2 = list(range(1,31))
break
elif "des" in bul2.lower() :
bul2 = "Desember"
tgl2 = list(range(1,32))
break
else :
print("Maaf, bulan "+bul2+" tidak ada!")
pass

- 37 -
print("Masukkan data penjualan di bulan",bul2,"dari tanggal 1 sampai tanggal",len(tg
l2))
print("")
data2 = [0]
i = 0
while i < len(tgl2):
try :
ii = i + 1
print("Tgl",ii,": ")
a = input()
if a.lower() == "ulang" :
data1.clear()
data1.append(0)
i = 0
y = input("Anda yakin ? (y untuk lanjut) : ")
if "y" in y.lower():
if "k" in a.lower() :
a = a.replace("k", "000")
if "-" in a :
a = "0"
a = int(a)
data2.append(a)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(a,"bukanlah nominal yang diinginkan!")
print("")
while True:
bul3 = input("Data penjualan di bulan apa : ")
if "jan" in bul3.lower() :
bul3 = "Januari"
tgl3 = list(range(1,32))
break
elif "feb" in bul3.lower() :
bul3 = "Februari"
tgl3 = list(range(1,29))
break
elif "mar" in bul3.lower() :
bul3 = "Maret"
tgl3 = list(range(1,32))
break
elif "apr" in bul3.lower() :
bul3 = "April"
tgl3 = list(range(1,31))

- 38 -
break
elif "mei" in bul3.lower() :
bul3 = "Mei"
tgl = list(range(1,32))
break
elif "jun" in bul3.lower() :
bul3 = "Juni"
tgl3 = list(range(1,31))
break
elif "jul" in bul3.lower() :
bul3 = "Juli"
tgl3 = list(range(1,32))
break
elif "agu" in bul3.lower() :
bul3 = "Agustus"
tgl3 = list(range(1,32))
break
elif "sep" in bul3.lower() :
bul3 = "September"
tgl3 = list(range(1,31))
break
elif "okt" in bul3.lower() :
bul3 = "Oktober"
tgl3 = list(range(1,32))
break
elif "nov" in bul3.lower() :
bul3 = "November"
tgl3 = list(range(1,31))
break
elif "des" in bul3.lower() :
bul3 = "Desember"
tgl3 = list(range(1,32))
break
else :
print("Maaf, bulan "+bul3+" tidak ada!")
pass

print("Masukkan data penjualan di bulan",bul3,"dari tanggal 1 sampai tanggal",len(tg


l3))
print("")
data3 = [0]
i = 0
while i < len(tgl3):
try :
ii = i + 1
print("Tgl",ii,": ")
a = input()

- 39 -
if a.lower() == "ulang" :
data1.clear()
data1.append(0)
i = 0
continue
y = input("Anda yakin ? (y untuk lanjut) : ")
if "y" in y.lower():
if "k" in a.lower() :
a = a.replace("k", "000")
if "-" in a :
a = "0"
a = int(a)
data3.append(a)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(a,"bukanlah nominal yang diinginkan!")
print("")
print("Sedang memuat data...")
data = {bul1 : data1, bul2 : data2, bul3 : data3}
df = pd.DataFrame({key:pd.Series(value) for key, value in data.items()}, index = lis
t(range(1,32)))
sns.lineplot(data=df)
plt.show()

Grafik 90 Hari di 5 Warung

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
print("Data Warung 1 : ")
war1 = [0]
i = 0
print("Data warung 1",": ")
while i < 90 :
try :
ii = i + 1
print("Hari ke -",ii)
b = input("")
if "ulang" in b.lower():
war1.clear()
war1.append[0]
i = 0
y = input("Apakah anda yakin ? (y untuk lanjut) ")

- 40 -
if "y" in y.lower() :
if "k" in b :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
war1.append(b)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
war2 = [0]
i = 0
print("Data warung 2",": ")
while i < 90 :
try :
ii = i + 1
print("Hari ke -",ii)
b = input("")
if "ulang" in b.lower():
war2.clear()
war2.append[0]
i = 0
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
war2.append(b)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
war3 = [0]
i = 0
print("Data warung 3",": ")
while i < 90 :
try :
ii = i + 1
print("Hari ke -",ii)
b = input("")

- 41 -
if "ulang" in b.lower():
war3.clear()
war3.append[0]
i = 0
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
war3.append(b)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
war4 = [0]
i = 0
print("Data warung 4")
while i < 90 :
try :
ii = i + 1
print("Hari ke -",ii,": ")
b = input("")
if "ulang" in b.lower():
war4.clear()
war4.append[0]
i = 0
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
war4.append(b)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
war5 = [0]
i = 0
print("Data warung 5")

- 42 -
while i < 90 :
try :
ii = i + 1
print("Hari ke -",ii,": ")
b = input("")
if "ulang" in b.lower():
war5.clear()
war5.append[0]
i = 0
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
war5.append(b)
i = i + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")

print("Sedang memuat data...")


data = {"Warung 1" : war1, "Warung 2" : war2, "Warung 3" : war3, "Warung 4" : war4,
"Warung 5" : war5}
df = pd.DataFrame({k:pd.Series(v) for k, v in data.items()}, index = list(range(1,91
)))
sns.lineplot(data=df)
plt.show()

- 43 -
- 44 -
- 45 -
- 46 -
- 47 -
- 48 -
7.7.3. Team Claire ( Armand, Chaswanah, Kevin, Michael, dan Zaki )
# Import necessary libs
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.style.use('seaborn')

# line graph
fig = plt.figure()
ax = fig.add_axes([0, 0, 5, 2])
ax.plot('Hari', 'Blimbing', data=df, color='Blue', linewidth='2.5')
ax.plot('Hari', 'Klojen', data=df, color='Green', linewidth='2.5')
ax.plot('Hari', 'Kedungkandang', data=df, color='Red', linewidth='2.5')
ax.plot('Hari', 'Lowokwaru', data=df, color='Orange', linewidth='2.5')
ax.plot('Hari', 'Sukun', data=df, color='Purple', linewidth='2.5')
ax.set_title('Grafik Penjualan Kue Kering Februari-April 2021', fontsize = '25')
ax.set_xlabel('Hari', fontsize='25')
ax.set_ylabel('Banyak penjualan', fontsize = '25')
ax.legend(fontsize='xx-large')

fig, axs = plt.subplots(5, 1, figsize=(25, 25))


axs[0].plot('Hari', 'Blimbing', data=df, color='Blue')
axs[1].plot('Hari', 'Klojen', data=df, color='Green')
axs[2].plot('Hari', 'Kedungkandang', data=df, color='Red')
axs[3].plot('Hari', 'Lowokwaru', data=df, color='Orange')
axs[4].plot('Hari', 'Sukun', data=df, color='Purple')
axs[0].legend(fontsize='xx-large')
axs[1].legend(fontsize='xx-large')
axs[2].legend(fontsize='xx-large')
axs[3].legend(fontsize='xx-large')
axs[4].legend(fontsize='xx-large')

- 49 -
20 hari pertama:
Kecamatan Blimbing menduduki peringkat pertama dalam penjualan kue kering, Kecamatan
Lowokwaru dan Sukun mengalami penurunan, sedangkan kecamatan yang lain bersifat konstan.
20 hari kedua:
Penjualan kue kering meningkat seiring memasuki Bulan Maret dikarenakan pada Bulan Maret terdapat
berbagai macam event keagamaan diantaranya adalah Maulid Nabi serta Isra Mi'raj.

20 hari ketiga:
Pada jangka waktu ini, penjualan kue kering hampir menyamai penjualan pada 20 hari kedua. Namun
pada saat ini, permintaan serta produksi yang ada tidak sesuai, sehingga terdapat beberapa penurunan
penjualan di berbagai kecamatan. Peningkatan penjualan pada hari ini meningkat dikarenakan adanya
juga event keagamaan salah satunya Paskah. Penjualan juga mengalami kenaikan dan penurunan yang
cukup konstan.

20 hari keempat:
Penjualan mengalami kenaikan drastis di awal jangka waktu dikarenakan sedang mendekati Bulan
Ramadhan.
10 hari terakhir:

- 50 -
Penjualan kue kering mengikuti tren penjualan pada jangka waktu sebelumnya. Pada jangka waktu ini
Kecamatan Kedungkandang, Lowokwaru, serta Sukun mengalami kenaikan. Sedangkan Kecamatan
Klojen dan Kecamatan Blimbing mengalami kenaikan dan penurunan yang cukup drastis.

7.7.4. Smeri Siber ( Cristin, Sifa, Bunga, dan Zesen )


import numpy as np

import matplotlib.pyplot as plt


import seaborn as sns
import pandas as pd
pas1 = [0]
i = 0
aa = 1
print("Pasar TERMINAL",": ")
while i < 3 :
try :
ii = i + 1
print("bulan ke -",ii)
b = input("")
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "ulang" in b.lower():
pas1.clear()
b = 0
i = 0
if "k" in b :
b = b.replace("k","000")
if "-" in b :
b = 0
b = int(b)
pas1.append(b)
if b == 0 :
pas1.pop(aa)
aa = aa - 1
i = i + 1
aa = aa + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
pas2 = [0]
i = 0
aa = 1
print("Pasar Panjang",": ")
while i < 3 :
try :
- 51 -
ii = i + 1
print("bulan ke -",ii)
b = input("")
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "ulang" in b.lower():
pas2.clear()
b = 0
i = 0
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
pas2.append(b)
if b == 0 :
pas2.pop(aa)
aa = aa - 1
i = i + 1
aa = aa + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
pas3 = [0]
i = 0
aa = 1
print("Pasar Pujasera Subang",": ")
while i < 3 :
try :
ii = i + 1
print("bulan ke -",ii)
b = input("")
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "ulang" in b.lower():
pas3.clear()
b = 0
i = 0
if "y" in y.lower() :
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
pas3.append(b)
if b == 0 :

- 52 -
pas3.pop(ii)
aa = aa - 1
i = i + 1
aa = aa + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
pas4 = [0]
i = 0
print("Pasar Inpres Pagaden")
while i < 3 :
try :
ii = i + 1
print("bulan ke -",ii,": ")
b = input("")
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "ulang" in b.lower():
pas4.clear()
b = 0
i = 0
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
pas4.append(b)
if b == 0 :
pas4.pop(aa)
aa = aa - 1
i = i + 1
aa = aa + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")
pas5 = [0]
i = 0
print("Pasar Kalijati")
while i < 3 :
try :
ii = i + 1
print("bulan ke -",ii,": ")
b = input("")

- 53 -
y = input("Apakah anda yakin ? (y untuk lanjut) ")
if "y" in y.lower() :
if "ulang" in b.lower():
pas5.clear()
b = 0
i = 0
if "k" in b.lower() :
b = b.replace("k","000")
if "-" in b :
b = "0"
b = int(b)
pas5.append(b)
if b == 0 :
pas5.pop(aa)
aa = aa - 1
i = i + 1
aa = aa + 1
else :
print("Mengulang...")
pass
except ValueError :
print(b,"bukanlah angka yang diinginkan")

print("Sedang memuat data...")


data = {"Pasar Pujasera" : pas1, "Pasar Panjang" : pas2, "Pasar Pujasera Subang" : p
as3, "Pasar Inpres Pagaden" : pas4, "Pasar Kalijari" : pas5}
df = pd.DataFrame({k:pd.Series(v) for k, v in data.items()}, index = list(range(1,90
)))
sns.lineplot(data=df)
plt.show()

- 54 -
- 55 -
7.7.5. Team Code Breakers ( Yogi, Yulvianah, Elsa, Febrianti, dan Yulia )

- 56 -
- 57 -
- 58 -
- 59 -
- 60 -
Trend dari grafik komoditi Hand Sanitizer pada 5 Lokasi selama 90 hari menunjukkan Bandung
memiliki regresi liniear market tertinggi dibanding 4 kota lainnya. Hari yang paling feasible pada bulan
Maret lokasi Bandung yaitu tanggal 11, 17, 18, 19, 23, 28,31 (Selasa 11 & 18 dan Rabu 17 & 31). Pola
distribusi market pada setiap lokasi adalah zig-zag

7.7.6. Team Chemistry Teacher ( Sari Indah, S.ST., Ujang Rohaya, M.Pd., dan Sholikhin, S.Pd.)

- 61 -
7.8. Grafik Data Siswa ( Tugas 4 )
Berikut ini video untuk tugas 4
https://www.youtube.com/watch?v=pZqXNUb-b6c

7.8.1. Team Queen ( Agneta, Faiza, Ino, dan Sinta )

- 62 -
- 63 -
- 64 -
- 65 -
7.8.2. Team King ( Andrea, Rizky, dan Tribuna )

Source Code Bar

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
data = pd.read_excel(r"Nilai dan Kehadiran.xlsx")
df = pd.DataFrame({k:pd.Series(v) for k, v in data.items()})
while True :
z = input("Input nilai atau kehadiran ? : ")
if z.lower() == "nilai" :
z = "Nilai"
break
elif z.lower() == "kehadiran" :
z = "Kehadiran"
break
else :
print(z,"bukan nama kolom di excel!")
pass

siswa = df['Nomor']
x = df[z]
a = int(input("Data dari siswa ke berapa : "))
b = int(input("Data sampai siswa ke berapa : "))
c = list(range((a-1),(b)))
siswa = siswa[c]
x = x[c]
y_pos = np.arange(len(siswa))
plt.bar(y_pos, x)
plt.show()

Source Code Pie

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
while True :
global b
a = input("Input Data apa yang akan diambil : ")
if a.lower() == "jurusan" :
a = "A:B"
b = "Jurusan"
break

- 66 -
elif a.lower() == "device" :
a = "C:D"
b = "Device"
break
elif a.lower() == "merk hp" :
a = "E:F"
b = "Merk HP"
break
elif a.lower() == "jaringan" :
a = "G:H"
b = "Jaringan"
break
elif a.lower() == "kartu" :
a = "I:J"
b = "Kartu"
break
elif a.lower() == "merk laptop" :
a = "K:L"
b = "Merk Laptop"
break
elif a.lower() == "kepuasan" :
a = "M:N"
b = "Kepuasan"
break
else :
print(a,"bukan salah satu dari nama data nya")
data = pd.read_excel(r"Data.xlsx", header = 1, sheet_name=b)
df = pd.DataFrame({k:pd.Series(v) for k, v in data.items()})
index = df[b]
siswa = df["Jml Siswa"]
fig1, ax1 = plt.subplots()
ax1.pie(siswa, labels=index, autopct=lambda p : '{:0.2f}%'.format(p,p * sum(siswa)/1
00))
ax1.legend()
ax1.axis("equal")
plt.show()

Source Code Plot

import seaborn as sns


import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data = pd.read_excel(r'DATA FRESH.xlsx')
data = pd.DataFrame({k:pd.Series(v) for k, v in data.items()})
while True :
x = input("Variabel yang akan diinput sebagai sumbu X : ")

- 67 -
if x.lower() == "kelas" :
x = "Kelas"
break
elif x.lower() == "jurusan" :
x = "Jurusan"
break
elif x.lower() == "device" :
x = "Device"
break
elif x.lower() == "merk hp" :
x = "Merk HP"
break
elif x.lower() == "merk laptop" :
x = "Merk Laptop"
break
elif x.lower() == "jaringan" :
x = "Jaringan"
break
elif x.lower() == "provider" :
x = "Provider"
break
elif x.lower() == "kelancaran" :
x = "Kelancaran"
break
elif x.lower() == "nilai" :
x = "Nilai"
break
elif x.lower() == "kehadiran" :
x = "Kehadiran"
break
else :
print(x,"bukan nama variabel dalam excel")

while True :
y = input("Variabel yang akan diinput sebagai sumbu Y : ")
if y.lower() == "kelas" :
y = "Kelas"
break
elif y.lower() == "jurusan" :
y = "Jurusan"
break
elif y.lower() == "device" :
y = "Device"
break
elif y.lower() == "merk hp" :
y = "Merk HP"
break

- 68 -
elif y.lower() == "merk laptop" :
y = "Merk Laptop"
break
elif y.lower() == "jaringan" :
y = "Jaringan"
break
elif y.lower() == "provider" :
y = "Provider"
break
elif y.lower() == "kelancaran" :
y = "Kelancaran"
break
elif y.lower() == "nilai" :
y = "Nilai"
break
elif y.lower() == "kehadiran" :
y = "Kehadiran"
break
else :
print(y,"bukan nama variabel dalam excel")

while True :
z = input("Variabel yang akan diinput sebagai keterangan : ")
if z.lower() == "kelas" :
z = "Kelas"
break
elif z.lower() == "jurusan" :
z = "Jurusan"
break
elif z.lower() == "device" :
z = "Device"
break
elif z.lower() == "merk hp" :
z = "Merk HP"
break
elif z.lower() == "merk laptop" :
z = "Merk Laptop"
break
elif z.lower() == "jaringan" :
z = "Jaringan"
break
elif z.lower() == "provider" :
z = "Provider"
break
elif z.lower() == "kelancaran" :
z = "Kelancaran"
break

- 69 -
elif z.lower() == "nilai" :
z = "Nilai"
break
elif z.lower() == "kehadiran" :
z = "Kehadiran"
break
else :
print(z,"bukan nama variabel dalam excel")
sns.swarmplot(x = x, y = y, hue = z, data = data)
plt.show()

- 70 -
- 71 -
- 72 -
- 73 -
- 74 -
7.8.3. Team Code Breakers ( Yogi, Yulvianah, Elsa, Febrianti, dan Yulia )
import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns
import numpy as np

# Standard ML Models for comparison


from sklearn.linear_model import LinearRegression
from sklearn.linear_model import ElasticNet
from sklearn.ensemble import RandomForestRegressor
from sklearn.ensemble import ExtraTreesRegressor
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.svm import SVR

# Splitting data into training/testing


from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler

# Metrics
from sklearn.metrics import mean_squared_error, mean_absolute_error, median_absolute
_error

# Distributions
import scipy

from google.colab import drive


drive.mount('/content/drive')

import pandas as pd
df = pd.read_csv("/content/drive/My Drive/Python SEAMEO/Nilai-Kimia-Fisika-Bio.csv")

- 75 -
plt.subplots(figsize=(8,12))
grade_counts = df['Fis'].value_counts().sort_values().plot.barh(width=.9,color=sns.c
olor_palette('inferno',40))
grade_counts.axes.set_title('Number of students who scored a particular grade Of Phy
sic',fontsize=30)
grade_counts.set_xlabel('Number of students', fontsize=30)
grade_counts.set_ylabel('Final Grade', fontsize=30)
plt.show()

plt.subplots(figsize=(8,12))
grade_counts = df['Bio'].value_counts().sort_values().plot.barh(width=.9,color=sns.c
olor_palette('inferno',40))
grade_counts.axes.set_title('Number of students who scored a particular grade Of Bio
logy',fontsize=30)
grade_counts.set_xlabel('Number of students', fontsize=30)
grade_counts.set_ylabel('Final Grade', fontsize=30)
plt.show()

- 76 -
plt.subplots(figsize=(8,12))
grade_counts = df['Kim'].value_counts().sort_values().plot.barh(width=.9,color=sns.c
olor_palette('inferno',40))
grade_counts.axes.set_title('Number of students who scored a particular grade Of Che
mistry',fontsize=30)
grade_counts.set_xlabel('Number of students', fontsize=30)
grade_counts.set_ylabel('Final Grade', fontsize=30)
plt.show()

- 77 -
b = sns.countplot(df['Fis'])
b.axes.set_title('Distribution of Final grade Physic of students', fontsize = 30)
b.set_xlabel('Final Grade', fontsize = 20)
b.set_ylabel('Count', fontsize = 20)
plt.show()

b = sns.countplot(df['Kim'])
b.axes.set_title('Distribution of Final grade Chemistry of students', fontsize = 30)
b.set_xlabel('Final Grade', fontsize = 20)
b.set_ylabel('Count', fontsize = 20)
plt.show()

b = sns.countplot(df['Bio'])
b.axes.set_title('Distribution of Final grade Biology of students', fontsize = 30)
b.set_xlabel('Final Grade', fontsize = 20)
b.set_ylabel('Count', fontsize = 20)
plt.show()

- 78 -
7.9. Grafik Data dengan Persamaan Matematika
7.9.1. Team King ( Andrea, Rizky, dan Tribuna )
Penggunaan sistem online dalam administrasi SMK Negeri 7 Semarang

- 79 -
Ketersediaan komputer

Penggunaan komputer dan laptop

- 80 -
Aplikasi yang digunakan selama KBM berlangsung

Digital konten di SMK Negeri 7 Semarang

- 81 -
Nilai ujian tulis di tahun 2020 dan 2021

Nilai ujian praktek di tahun 2020 dan 2021

- 82 -
Ketersapaan siswa di SMK Negeri 7 Semarang

- 83 -
Source Code

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
w = 0.2
jurusan = ["SIJA", "KGSP", "KJIJ", "TTL", "TME", "TMPO", "TEDK", "TFLM"]
lulusan = {"var" : ["2018", "2019", "2020"], "bekerja" : [496, 516, 483], "pendidika
n" : [44, 54, 93], "lain" : [50, 29, 27]}
nilai_tulis = {"index1" : [91,88,87,86,89,84,87,86], "index2" : [90,85,86,85,86,83,8
6,82], "index1_2" : [88,84,86,85,84,87,87,82], "index2_2" : [89,85,87,85,84,88,89,84
], "rata2" : [89.5,85.5,86.5,85.25,85.75,85.5,87.25,83.5]}
nilai_praktek = {"index1" : [87,85,85,85,89,83,83,84], "index2" : [87,87,86,86,87,84
,84,80], "index1_2" : [85,86,87,84,86,83,84,84], "index2_2" : [87,84,85,82,85,84,84,
83], "rata2" : [86.5,85.5,85.75,84.25,86.19,84.61,83.5,83.58]}
while True :
print("\n(1) Data Komputer & Laptop yang ada di Jurusan.\n(2) Penggunaan Kompute
r dalam Penilaian & KBM.\n(3) Platform, Digital Komputer, dan Penggunaan Sistem Onli
ne.\n(4) Nilai Ujian Tulis\n(5) Nilai Ujian Praktek\n(6) Keterserapan Industri\nKeti
k 'exit' untuk menyelesaikan program\n")
a = input("Pilih salah satu pilihan dari atas : ")
if a == "1" :
data=pd.read_excel("Data2.xlsx", sheet_name = "Sheet1")
label = data["Jurusan"]
device = data[["Komputer", "Laptop"]]
code = {"<10" : 1, "11 - 20" : 2, "21 - 40" : 3}
for i in device.columns :
device[i] = device[i].replace(code)
bar1 = (np.arange(len(label)))
bar2 = [i+w for i in bar1]
plt.xlabel("Jurusan")
plt.ylabel("Ketersediaan Laptop / Komputer")
plt.xticks(bar1, label)
plt.yticks(np.arange(4), ["", "<10","11 - 20", "21 - 40"])
plt.bar(bar1, device["Komputer"], w, label="Komputer")
plt.bar(bar2, device["Laptop"], w, label = "Laptop")
plt.legend()
plt.title("Ketersediaan Komputer / Laptop dalam Jurusan")
plt.show()
elif a == "2" :
data = pd.read_excel("Data2.xlsx", sheet_name = "Sheet2", header=1)
index = data["Jurusan"]
kbm = data[["Sebelum Pandemi (KBM)", "Setelah Pandemi (KBM)"]]
nilai = data[["Sebelum Pandemi (Penilaian)", "Setelah Pandemi (Penilaian)"]]
myCoding = {"Kadang - kadang" : 1, "Sering" : 2, "Selalu" : 3}

- 84 -
for i in kbm.columns :
kbm[i]=kbm[i].replace(myCoding)
for i in nilai.columns :
nilai[i] = nilai[i].replace(myCoding)
bar1 = np.arange(len(index))
bar2 = [i+w for i in bar1]
plt.xlabel("Jurusan")
plt.ylabel("Penggunaan Komputer")
plt.xticks(bar1+w/2, index)
plt.yticks(np.arange(4), ["", "Kadang - Kadang", "Sering", "Selalu"])
while True :
print("\n(1) Penggunaan Komputer dalam KBM\n(2) Penggunaan Komputer dala
m Penilaian\nKetik 'exit' untuk kembali\n")
aa = input("Pilih salah satu pilihan di atas : ")
if aa == "1" :
plt.bar(bar1, kbm["Sebelum Pandemi (KBM)"], w, label="Sebelum Pandem
i")
plt.bar(bar2, kbm["Setelah Pandemi (KBM)"], w, label = "Setelah Pand
emi")
plt.title("Penggunaan Komputer dalam KBM")
plt.legend()
plt.show()
elif aa == "2" :
plt.bar(bar1, nilai["Sebelum Pandemi (Penilaian)"], w, label = "Sebe
lum Pandemi")
plt.bar(bar2, nilai["Setelah Pandemi (Penilaian)"], w, label = "Sete
lah Pandemi")
plt.title("Penggunaan Komputer dalam Penilaian")
plt.legend()
plt.show()
elif aa == "exit" :
break
else :
print(aa,"bukan salah satu dari pilihan di atas")
break
elif a == "3" :
data = pd.read_excel("Data2.xlsx", sheet_name="Sheet3", header=0)
print(data)
index = data["Jurusan"]
platform = data["Platform Pembelajaran"]
digital = data[["Digital Konten", "Mengunggah Digital Konten"]]
admin = data["Penggunaan sistem online dalam hal administrasi"]
myCoding = {"Tidak" : 1, "Ya" : 2}
for i in digital.columns :
digital[i] = digital[i].replace(myCoding)
while True :

- 85 -
print("\n(1) Platform yang digunakan\n(2) Digital Konten dan Pengunggaha
nnya\n(3) Penggunaan sistem online dalam hal administrasi\n")
aa = input("Pilih salah satu dari pilihan di atas : ")
if aa == "1" :
v = []
vv = np.where(platform == "Teams")
v.append(len(vv))
fig1, ax1 = plt.subplots()
ax1.pie(v, labels=["Teams"], autopct=lambda p : "{:0.2f}%".format(p,
p * sum(v)/100))
ax1.legend()
ax1.axis('equal')
plt.title("Platform aplikasi yang digunakan di SMKN 7 Semarang")
plt.show()
elif aa == "2" :
bar1 = np.arange(len(index))
bar2 = [i+w for i in bar1]
plt.xlabel("Jurusan")
plt.ylabel("Ketersediaan")
plt.xticks(bar1, index)
plt.yticks(np.arange(3), ["", "Tidak", "Ya"])
plt.bar(bar1, digital["Digital Konten"], w, label = "Pernah membuat
Digital Konten")
plt.bar(bar2, digital["Mengunggah Digital Konten"], w, label = "Memp
ublikasikan Digital Konten")
plt.legend()
plt.title("Digital Konten di SMKN 7 Semarang")
plt.show()
elif aa == "3" :
materi_count = np.count_nonzero(admin == "Materi")
rpp_count = np.count_nonzero(admin == "RPP")
raport_count = np.count_nonzero(admin == "Raport")
label = ["Materi", "RPP", "Raport"]
count = [materi_count, rpp_count, raport_count]
fig1, ax1 = plt.subplots()
ax1.pie(count, labels=label, autopct = lambda p : "{:0.2f}% ({:.0f})
".format(p, p*sum(count)/100))
ax1.legend()
ax1.axis('equal')
plt.show()
elif aa == "exit" :
break
else :
print(aa,"bukanlah pilihan di atas")
break
elif a == "4" :
bar1 = np.arange(len(jurusan))

- 86 -
bar2 = [i+w for i in bar1]
plt.xlabel("Jurusan")
plt.ylabel("Nilai")
plt.xticks(bar1+w/2, jurusan)
while True :
print('Ketik "exit" untuk kembali ke tab awal')
qq = input("Tahun 2020 atau 2021 : ")
if qq == "2020" :
plt.bar(bar1, nilai_tulis["index1"], w, label="Index 1")
plt.bar(bar2, nilai_tulis["index2"], w, label="Index 2")
plt.title("Nilai Ujian Akhir Tulis 2020")
plt.legend()
plt.show()
elif qq == "2021" :
plt.bar(bar1, nilai_tulis["index1_2"], w, label="Index 1")
plt.bar(bar2, nilai_tulis["index2_2"], w, label="Index 2")
plt.title("Nilai Ujian Akhir Tulis 2021")
plt.legend()
plt.show()
elif qq.lower() == "exit" :
break
else :
print(qq,"bukan tahun dari datanya")
pass
break
elif a == "5" :
bar1 = np.arange(len(jurusan))
bar2 = [i+w for i in bar1]
plt.xlabel("Jurusan")
plt.ylabel("Nilai")
plt.xticks(bar1+w/2, jurusan)
while True :
print('Ketik "exit" untuk kembali ke tab awal')
qq = input("Tahun 2020 atau 2021 : ")
if qq == "2020" :
plt.bar(bar1, nilai_praktek["index1"], w, label="Index 1")
plt.bar(bar2, nilai_praktek["index2"], w, label="Index 2")
plt.title("Nilai Ujian Praktek 2020")
plt.legend()
plt.show()
elif qq == "2021" :
plt.bar(bar1, nilai_praktek["index1_2"], w, label="Index 1")
plt.bar(bar2, nilai_praktek["index2_2"], w, label="Index 2")
plt.title("Nilai Ujian Praktek 2021")
plt.legend()
plt.show()
elif qq.lower() == "exit" :

- 87 -
break
else :
print(qq,"bukan tahun dari datanya")
pass
break
elif a == "6" :
w = 0.1
plt.xlabel("Tahun")
plt.ylabel("Jumlah Siswa")
tahun = lulusan["var"]
bar1 = np.arange(len(tahun))
bar2 = [i+w for i in bar1]
bar3 = [i+w for i in bar2]
plt.xticks(bar2, tahun)
plt.title("Keterserapan Siswa")
plt.bar(bar1, lulusan["bekerja"], w, label="Bekerja")
plt.bar(bar2, lulusan["pendidikan"], w, label="Lanjut Pendidikan")
plt.bar(bar3, lulusan["lain"], w, label="Lain - Lain")
plt.legend()
plt.show()
elif a == "exit" :
exit()
else :
print(a,"bukan merupakan pilihan di atas")

- 88 -
7.9.2. Team Code Breakers ( Yogi, Yulvianah, Elsa, Febrianti, dan Yulia )
Kualitas udara di Jakarta

Polusi udara di Jakarta

- 89 -
Banyaknya polusi dalam waktu 90 hari

Angka polusi maksimum

- 90 -
Perbandingan polusi udara di setiap lokasi

Korelasi dan penarapan kode panas

Perbandingan antara masing-masing polusi udara

- 91 -
Hasil analisis

- 92 -
- 93 -
Metode algoritma

- 94 -
7.9.3. Team Queen ( Agneta, Faiza, Ino, dan Sinta )
Analisis puskesmas di beberapa tempat
Puskesmas Pertama

Triwulan pertama

- 95 -
Triwulan kedua

- 96 -
Triwulan ketiga

- 97 -
Triwulan keempat

Grafik dalam satu tahun

- 98 -
Puskesmas kedua

Triwulan pertama

- 99 -
Triwulan kedua

- 100 -
Triwulan ketiga

- 101 -
Triwulan keempat

- 102 -
Grafik selama 1 tahun

Puskesmas ketiga

- 103 -
Triwulan pertama

- 104 -
Triwulan kedua

- 105 -
Triwulan ketiga

- 106 -
Triwulan keempat

Grafik selama 1 tahun

- 107 -
Source Code

- 108 -
- 109 -
- 110 -
- 111 -
- 112 -
- 113 -
8. Lampiran
Matplotlib.pyplot

acorr Plot the autocorrelation of x.

angle_spectrum Plot the angle spectrum.

annotate Annotate the point xy with text text.

arrow Add an arrow to the Axes.

autoscale Autoscale the axis view to the data (toggle).

axes Add an axes to the current figure and make it the current axes.

axhline Add a horizontal line across the axis.

axhspan Add a horizontal span (rectangle) across the Axes.

axis Convenience method to get or set some axis properties.

axline Add an infinitely long straight line.

axvline Add a vertical line across the Axes.

axvspan Add a vertical span (rectangle) across the Axes.

bar Make a bar plot.

bar_label Label a bar plot.

barbs Plot a 2D field of barbs.

barh Make a horizontal bar plot.

box Turn the axes box on or off on the current axes.

boxplot Make a box and whisker plot.

broken_barh Plot a horizontal sequence of rectangles.

cla Clear the current axes.

clabel Label a contour plot.

clf Clear the current figure.

clim Set the color limits of the current image.

close Close a figure window.

- 114 -
cohere Plot the coherence between x and y.

colorbar Add a colorbar to a plot.

contour Plot contour lines.

contourf Plot filled contours.

csd Plot the cross-spectral density.

delaxes Remove an Axes (defaulting to the current axes) from its figure.

draw Redraw the current figure.

draw_if_interactive Redraw the current figure if in interactive mode.

errorbar Plot y versus x as lines and/or markers with attached errorbars.

eventplot Plot identical parallel lines at the given positions.

figimage Add a non-resampled image to the figure.

figlegend Place a legend on the figure.

fignum_exists Return whether the figure with the given id exists.

figtext Add text to figure.

figure Create a new figure, or activate an existing figure.

fill Plot filled polygons.

fill_between Fill the area between two horizontal curves.

fill_betweenx Fill the area between two vertical curves.

findobj Find artist objects.

gca Get the current Axes, creating one if necessary.

gcf Get the current figure.

gci Get the current colorable artist.

get Return the value of an Artist's property, or print all of them.

get_figlabels Return a list of existing figure labels.

get_fignums Return a list of existing figure numbers.

getp Return the value of an Artist's property, or print all of them.

- 115 -
grid Configure the grid lines.

hexbin Make a 2D hexagonal binning plot of points x, y.

hist Plot a histogram.

hist2d Make a 2D histogram plot.

hlines Plot horizontal lines at each y from xmin to xmax.

imread Read an image from a file into an array.

imsave Save an array as an image file.

imshow Display data as an image, i.e., on a 2D regular raster.

Install a repl display hook so that any stale figure are automatically
install_repl_displayhook
redrawn when control is returned to the repl.

ioff Disable interactive mode.

ion Enable interactive mode.

isinteractive Return whether plots are updated after every plotting command.

legend Place a legend on the Axes.

locator_params Control behavior of major tick locators.

loglog Make a plot with log scaling on both the x and y axis.

magnitude_spectrum Plot the magnitude spectrum.

margins Set or retrieve autoscaling margins.

matshow Display an array as a matrix in a new figure window.

minorticks_off Remove minor ticks from the axes.

minorticks_on Display minor ticks on the axes.

new_figure_manager Create a new figure manager instance.

pause Run the GUI event loop for interval seconds.

pcolor Create a pseudocolor plot with a non-regular rectangular grid.

pcolormesh Create a pseudocolor plot with a non-regular rectangular grid.

phase_spectrum Plot the phase spectrum.

- 116 -
pie Plot a pie chart.

plot Plot y versus x as lines and/or markers.

plot_date Plot co-ercing the axis to treat floats as dates.

polar Make a polar plot.

psd Plot the power spectral density.

quiver Plot a 2D field of arrows.

quiverkey Add a key to a quiver plot.

rc Set the current rcParams.

rc_context Return a context manager for temporarily changing rcParams.

rcdefaults Restore the rcParams from Matplotlib's internal default style.

rgrids Get or set the radial gridlines on the current polar plot.

savefig Save the current figure.

sca Set the current Axes to ax and the current Figure to the parent of ax.

scatter A scatter plot of y vs.

sci Set the current image.

semilogx Make a plot with log scaling on the x axis.

semilogy Make a plot with log scaling on the y axis.

set_cmap Set the default colormap, and applies it to the current image if any.

setp Set one or more properties on an Artist, or list allowed values.

show Display all open figures.

specgram Plot a spectrogram.

spy Plot the sparsity pattern of a 2D array.

stackplot Draw a stacked area plot.

A stepwise constant function as a line with bounding edges or a


stairs
filled plot.

stem Create a stem plot.

- 117 -
step Make a step plot.

streamplot Draw streamlines of a vector flow.

subplot Add an Axes to the current figure or retrieve an existing Axes.

subplot2grid Create a subplot at a specific location inside a regular grid.

subplot_mosaic Build a layout of Axes based on ASCII art or nested lists.

subplot_tool Launch a subplot tool window for a figure.

subplots Create a figure and a set of subplots.

subplots_adjust Adjust the subplot layout parameters.

suptitle Add a centered suptitle to the figure.

switch_backend Close all open figures and set the Matplotlib backend.

table Add a table to an Axes.

text Add text to the Axes.

thetagrids Get or set the theta gridlines on the current polar plot.

tick_params Change the appearance of ticks, tick labels, and gridlines.

ticklabel_format Configure the ScalarFormatter used by default for linear axes.

tight_layout Adjust the padding between and around subplots.

title Set a title for the Axes.

tricontour Draw contour lines on an unstructured triangular grid.

tricontourf Draw contour regions on an unstructured triangular grid.

tripcolor Create a pseudocolor plot of an unstructured triangular grid.

triplot Draw a unstructured triangular grid as lines and/or markers.

twinx Make and return a second axes that shares the x-axis.

twiny Make and return a second axes that shares the y-axis.

uninstall_repl_displayhook Uninstall the matplotlib display hook.

violinplot Make a violin plot.

vlines Plot vertical lines at each x from ymin to ymax.

- 118 -
xcorr Plot the cross correlation between x and y.

xkcd Turn on xkcd sketch-style drawing mode.

xlabel Set the label for the x-axis.

xlim Get or set the x limits of the current axes.

xscale Set the x-axis scale.

xticks Get or set the current tick locations and labels of the x-axis.

ylabel Set the label for the y-axis.

ylim Get or set the y-limits of the current axes.

yscale Set the y-axis scale.

yticks Get or set the current tick locations and labels of the y-axis.

Numpy

tan() Compute tangent element-wise.

arcsin() Inverse sine, element-wise.

arccos() Trigonometric inverse cosine, element-wise.

arctan() Trigonometric inverse tangent, element-wise.

arctan2() Element-wise arc tangent of x1/x2 choosing the quadrant correctly.

degrees() Convert angles from radians to degrees.

rad2deg() Convert angles from radians to degrees.

deg2rad Convert angles from degrees to radians.

radians() Convert angles from degrees to radians.

- 119 -
hypot() Given the “legs” of a right triangle, return its hypotenuse.

unwrap() Unwrap by changing deltas between values to 2*pi complement.

tanh() Compute hyperbolic tangent element-wise.

arcsinh() Inverse hyperbolic sine element-wise.

arccosh() Inverse hyperbolic cosine, element-wise.

arctanh() Inverse hyperbolic tangent element-wise.

rint() Round to nearest integer towards zero.

fix() Round to nearest integer towards zero.

floor() Return the floor of the input, element-wise.

ceil() Return the ceiling of the input, element-wise.

trunc() Return the truncated value of the input, element-wise.

expm1() Calculate exp(x) – 1 for all elements in the array.

exp2() Calculate 2**p for all p in the input array.

log10() Return the base 10 logarithm of the input array, element-wise.

log2() Base-2 logarithm of x.

log1p() Return the natural logarithm of one plus the input array, element-wise.

logaddexp() Logarithm of the sum of exponentiations of the inputs.

logaddexp2() Logarithm of the sum of exponentiations of the inputs in base-2.

- 120 -
add() Add arguments element-wise.

positive() Numerical positive, element-wise.

negative() Numerical negative, element-wise.

multiply() Multiply arguments element-wise.

power() First array elements raised to powers from second array, element-wise.

subtract() Subtract arguments, element-wise.

true_divide() Returns a true division of the inputs, element-wise.

floor_divide() Return the largest integer smaller or equal to the division of the inputs.

float_power() First array elements raised to powers from second array, element-wise.

mod() Return the element-wise remainder of division.

remainder() Return element-wise remainder of division.

divmod() Return element-wise quotient and remainder simultaneously.

Returns the discrete, linear convolution of two one-dimensional

convolve() sequences.

sqrt() Return the non-negative square-root of an array, element-wise.

square() Return the element-wise square of the input.

absolute() Calculate the absolute value element-wise.

fabs() Compute the absolute values element-wise.

- 121 -
sign() Returns an element-wise indication of the sign of a number.

interp() One-dimensional linear interpolation.

maximum() Element-wise maximum of array elements.

minimum() Element-wise minimum of array elements.

real_if_close() If complex input returns a real array if complex parts are close to zero.

nan_to_num() Replace NaN with zero and infinity with large finite numbers.

heaviside() Compute the Heaviside step function.

- 122 -
Daftar Pustaka

https://id.wikipedia.org/wiki/Python_(bahasa_pemrograman)
https://glints.com/id/lowongan/pentingnya-python/

- 123 -

Anda mungkin juga menyukai