* The preview only shows a few pages of manuals at random. You can get the complete content by filling out the form below.
Description
MODUL XI PENGENALAN PYTHON, STRUKTUR DATA DAN STATISTIKA DESKRIPTIF Python merupakan bahasa Pemrograman yang dapat digunakan untuk Data Analysis, oleh para Software Engineers, dan Data Scientists dalam mengoperasikan pembangunan di salah satu aplikasi serta menggali secara lebih mendalam pada machine learning. Pemograman dalam python cenderung sederhana sehingga cukup populer digunakan. Fungsi built-in di Python Function abs() compile() format() isinstance() all() complex() frozenset() issubclass() any() delattr() getattr() iter() ascii() dict() globals() len() bin() dir() hasattr() list() bool() divmod() hash() locals() bytearray() enumerate() help() map() bytes() eval() hex() max() callable() exec() id() memoryview() chr() filter() input() min() classmethod() float() int() next()
object() oct() open() ord() pow() print() property() range() repr() reversed() round()
set() setattr() slice() sorted() str() sum() super() tuple() type() vars() zip()
Tipe data dalam Python 1. Numeric a. Integer : bilangan bulat dengan panjang tak terbatas b. Float : bilangan pecahan c. Complex : bilangan kompleks 2. String a. Char : karakter b. String : kumpulan karakter 3. Boolean Tipe data yang hanya memiliki 2 nilai yaitu True dan False atau 1 dan 0 Untuk mengetahui tipe data dalam python dapat digunakan syntax : type()
Operator dalam Python Suatu ekspresi dapat dituliskan sebagai berikut : A+B Dimana: A,B : Operands + : Operator Dalam python terdapat beberapa kategori operator : 1. Arithmetic (Aritmatika) Operator + – * / ** // %
Nama dan Fungsi Penjumlahan, menjumlahkan 2 buah operand Pengurangan, mengurangkan 2 buah operand Perkalian, mengalikan 2 buah operand Pembagian, membagi 2 buah operand Pemangkatan, memangkatkan bilangan Pembagian bulat, menghasilkan hasil bagi tanpa koma Modulus, menghasilkan sisa pembagian 2 bilangan
Contoh x+y x–y x*y x/y x **y x // y x%y
2. Comparison (Perbandingan) Operator > < == != >= <=
Nama dan Fungsi Lebih besar dari – Hasilnya True jika nilai sebelah kiri lebih besar dari nilai sebelah kanan Lebih kecil dari – Hasilnya True jika nilai sebelah kiri lebih kecil dari nilai sebelah kanan Sama dengan – Hasilnya True jika nilai sebelah kiri sama dengan nilai sebelah kanan Tidak sama dengan – Hasilnya True jika nilai sebelah kiri tidak sama dengan nilai sebelah kanan Lebih besar atau sama dengan – Hasilnya True jika nilai sebelah kiri lebih besar atau sama dengan nilai sebelah kanan Lebih kecil atau sama dengan – Hasilnya True jika nilai sebelah kiri lebih kecil atau sama dengan nilai sebelah kanan
Contoh x>y x= y x <= y
3. Assignment (Penugasan) Operator = += -= *= /= **= //= %=
Penjelasan Menugaskan nilai yang ada di kanan ke operand yang ada di sebelah kiri Menambahkan operand yang di kanan dengan operand yang ada di kiri dan hasilnya di tugaskan ke operand yang di kiri Mengurangi operand yang di kanan dengan operand yang ada di kiri dan hasilnya di tugaskan ke operand yang di kiri Mengalikan operand yang di kanan dengan operand yang ada di kiri dan hasilnya di tugaskan ke operand yang di kiri Membagi operand yang di kanan dengan operand yang ada di kiri dan hasilnya di tugaskan ke operand yang di kiri Memangkatkan operand yang di kanan dengan operand yang ada di kiri dan hasilnya ditugaskan ke operand yang di kiri Melakukan pembagian bulat operand di kanan terhadap operand di kiri dan hasilnya disimpan di operand yang di kiri Melakukan operasi sisa bagi operand di kanan dengan operand di kiri dan hasilnya di simpan di operand yang di kiri
Contoh c=a+b menugaskan a + b ke c c += a sama dengan c = c +a c -= a sama dengan c = c +a c *= a sama dengan c = c *a c /= a sama dengan c=c*a c **= a sama dengan c = c ** a c //= a sama dengan c = c // a c %= a sama dengan c=c%a
4. Logical (logika) Operator and or not
Penjelasan Hasilnya adalah True jika kedua operandnya bernilai benar Hasilnya adalah True jika salah satu atau kedua operandnya bernilai benar Hasilnya adalah True jika operandnya bernilai salah (kebalikan nilai)
Contoh x and y x or y not x
5. Bitwise Operator & | ~ ^ >> <<
Nama Bitwise AND Bitwise OR Bitwise NOT Bitwise XOR Bitwise right shift Bitwise left shift
Contoh x& y x|y ~x x^y x>> 2 x<< 2
6. Identity (identitas) Operator is is not
Penjelasan True jika kedua operand identik (menunjuk ke objek yang sama) True jika kedua operand tidak identik (tidak merujuk ke objek yang sama)
Contoh x is True x is not True
7. Membership (keanggotaan) Operator Penjelasan in True jika nilai/variabel ditemukan di dalam data not in True jika nilai/variabel tidak ada di dalam data Struktur data di python LIST Bentuk Umum Nama_list = [elemen_1, elemen_2,…,elemen_n] Memanggil elemen list : nama_list[indeks] Mengupdate elemen list : nama_list [indeks] = elemen_baru Menghapus list : del nama_list Menghapus elemen list : del nama_list [indeks] Menambahkan elemen
Dari depan : nama_list.prepend [elemen]
Dari belakang : nama_list.append [elemen]
Dari indeks : nama_list.insert [indeks,elemen]
Contoh 5 in x 5 not in x
List multi dimensi : Nama_list = [elemen_1, elemen_2,…,elemen_n], [elemen_1, elemen_2,…,elemen_m] TUPLE Bentuk Umum Nama_tuple = (elemen_1, elemen_2,…,elemen_n) Memanggil elemen tuple : Nama_tuple = [indeks] Menghapus elemen tuple : del nama_tuple Note :
Elemen dalam tuple tidak dapat diubah dan dihapus
Dalam tuple indeks depan dimulai dari 0 dan indeks belakang dari -1
DICTIONARY Dictionary terdiri dari key(unique) dan value Bentuk Umum : Nama_dictionary={key_1:value_1, ,…,key_n:value_n} Memanggil elemen dictionary : Nama_dictionary [key] Mengupdate elemen dictionary : Nama_dictionary [key] = value_baru Menghapus sebuah elemen dictionary : del Nama_dictionary [key] Menghapus dictionary : del Nama_dictionary
SET Set bersifat unique (tidak ada elemen yang sama), unordered (tidak terurut), unindexed (tidak berindeks), dan immutable (tidak dapat diubah) Bentuk Umum : Nama_set=set ([elemen_1,elemen_2,…, elemen_n]) Nama_set ={elemen_1,elemen_2,…, elemen_n} Menambah elemen set : Nama_set.add(elemen_baru) Menghapus data pada set : 1. remove () – menghapus suatu data pada set. Terjadi error jika data yang ingin dihapus tidak terdapat di set 2. discard () - menghapus suatu data pada set. Tidak akan terjadi error jika data yang ingin dihapus tidak terdapat di set 3. Pop () - data pertama dari set akan dihapus Statistika deskriptif pada python Untuk menentukan statistika deskriptif pada python kita dapat menggunakan modul statistics. Method yang terdapat dalam modul statistics diantaranya Method statistics.harmonic_mean() statistics.median_low() statistics.mean() statistics.mode() statistics.median() statistics.pstdev() statistics.pvariance() statistics.stdev() statistics.median_high() statistics.variance() Kita dapat mengaktifkan dan menamai modul dengan : import modul as nama_modul Contoh : import statistics as st
Membuat plot di Python Unutk membuat plot di Python kita dapat menggunakan modul matplotlib.pyplot dan untuk mengatur array kita dapat menggunakan modul NumPy
1. RATA-RATA import statistics as st data = [1, 2, 3, 4, 5, 6, 7, 8, 10] print('Data : ', data) rata = st.mean(data) print('Rata-ratanya adalah ', rata) Output : Data : [1, 2, 3, 4, 5, 6, 7, 8, 10] Rata-ratanya adalah 5.111111111111111 2. RATA-RATA HARMONIK DAN RATA-RATA GEOMETRIK # menghitung rata-rata harmonik from scipy import stats # hari = [1, 9, 5, 6, 6, 7] print(stats.hmean([1, 9, 5, 6, 6, 7])) print(stats.gmean([1, 9, 5, 6, 6, 7])) Output : 3.3570159857904085 #rata-rata harmonik 4.739896323935315 #rata-rata geometrik 3. DESCRIBE # Pembuatan DataFrame import pandas as pd # Membuat Dictionary d = {'Name': pd.Series(['Alisa', 'Bobby', 'Cathrine', 'Madonna', 'Rocky', 'Sebastian', 'Jaqluine', 'Rahul', 'David', 'Andrew', 'Ajay', 'Teresa']), 'Age': pd.Series([26, 27, 25, 24, 31, 27, 25, 33, 42, 32, 51, 47]), 'Score': pd.Series([89, 87, 67, 55, 47, 72, 76, 79, 44, 92, 99, 69])} # Buat DataFrame df = pd.DataFrame(d) print(df) # summary statistics print(df.describe()) # summary statistics of character column print(df.describe(include=['object'])) # summary statistics of character column print(df.describe(include='all')) print(df.mean())
Output:
Name Age Score 0 Alisa 26 89 1 Bobby 27 87 2 Cathrine 25 67 3 Madonna 24 55 4 Rocky 31 47 5 Sebastian 27 72 6 Jaqluine 25 76 7 Rahul 33 79 8 David 42 44 9 Andrew 32 92 10 Ajay 51 99 11 Teresa 47 69 Age Score count 12.000000 12.000000 mean 32.500000 73.000000 std 9.209679 17.653225 min 24.000000 44.000000 25% 25.750000 64.000000 50% 29.000000 74.000000 75% 35.250000 87.500000 max 51.000000 99.000000 Name count 12 unique 12 top Bobby freq 1 Name Age Score count 12 12.000000 12.000000 unique 12 NaN NaN top Bobby NaN NaN freq 1 NaN NaN mean NaN 32.500000 73.000000 std NaN 9.209679 17.653225 min NaN 24.000000 44.000000 25% NaN 25.750000 64.000000 50% NaN 29.000000 74.000000 75% NaN 35.250000 87.500000 max NaN 51.000000 99.000000 Age 32.5 Score 73.0 dtype: float64
4. STEM AND LEAF DISPLAY # jika modul stemgraphic belum terinstall, install dengan: import sys !{sys.executable} -m pip install stemgraphic # jika import import import
modul stemgraphic sudah terinstall matplotlib.pyplot as plt stemgraphic numpy
x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 7, 9, 10, 10, 15, 15, 19, 23, 23, 24, 28, 28, 30, 30, 31, 35, 35, 40, 42, 43, 45, 46, 49, 65, 67, 69, 74, 85, 97, 99] stemgraphic.stem_graphic(x, scale=10) plt.show() Output :
5. HISTOGRAM import matplotlib.pyplot as plt x = [2, 3, 4, 3, 4, 5, 5, 5, 5, 6, 6, 6, 7, 9, 10, 9] num_bins = 10 n, bins, pathches = plt.hist(x, num_bins, facecolor="red") plt.xlabel('Nilai') plt.ylabel('Frekuensi') plt.show() Output :
6. BOXPLOT import matplotlib.pyplot as plt x = [0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 7, 9, 10, 10, 15, 15, 19, 23, 23,24, 28, 28, 30, 30, 31, 35, 35, 40, 42, 43, 45, 46, 49, 65, 67, 69, 74, 85, 97, 99] plt.boxplot(x) plt.title('Nilai UTS') plt.ylabel('Nilai') plt.show() Output :
7. SCATTER PLOT import matplotlib.pyplot as plt hadir = [7, 4, 9, 4, 7, 8, 6, 8, 11, 10, 6, 7, 6, 9, 10, 7, 6, 10, 10, 11, 9, 10, 9, 9, 8, 11, 11, 9, 10, 8, 8, 11, 11, 10, 10, 10, 8, 10, 9, 11, 8] uts = [9, 10, 0, 10, 30, 0, 0, 0, 0, 0, 46, 45, 15, 85, 74, 35, 4, 28, 15, 65, 23, 0, 40, 42, 31, 30, 35, 0, 28, 23, 7, 97, 43, 0, 99, 67, 24, 49, 4, 69, 19] plt.scatter(hadir, uts) plt.title('Plot Nilai UTS vs Kehadiran') plt.xlabel('Jumlah hadir (hari)') plt.ylabel('Nilai') plt.show() Output :
Latihan : 1. Diketahui 2 buah bilangan bulat sebarang lakukanlah opersi di bawah ini : a. Operasi aritmatika b. Operasi perbandingan c. Operasi penugasan
2. Dikethui suatu variabel a memiliki nilai benar dan variabel b memiliki nilai salah. Tentukanlah nilai a. a dan b b. a atau b c. negasi a d. negasi b e. Tunjukkan a bernilai benar f. Tunjukkan b bernilai salah 3. Tentukan notasi biner dari angka 7 dan 9 kemudian lalukan operasi bitwise untuk kedua angka tersebut 4. Buatlah program untuk mencari sisi miring segitiga dengan rumus pythagoras dimana sisi tegak dan alas segitiga di input melalui keyboard 5. Buatlah program yang dapat membandingkan 2 buah nilai apakah lebih besar, lebih kecil atau sama 6. Buatlah sebuah list yang berisi nama-nama siswa (min 5) kemudian: a. Cetak nama siswa pertama b. Cetak nama siswa ke-2 sampai 4 c. Ganti salah satu nama siswa d. Hapus salah satu nama siswa e. Tambahkan nama ‘Dita’ sebagai elemen ke-3 dalam list f. Buatlah list 2 dimensi yang berisi list nama dan nilai siswa 7. Buatlah 2 tuple yang berisi karakter dari tulisan “stat” dan “kom”, kemudian gabungkan sehingga menghasilkan tuple yang berisi karakter dari tulisan “statkom” yang disimpan dengan nama ‘gabung’. kemudian a. Tentukan apakah huruf t dan c merupakan elemen tuple ‘gabung’ b. Cetak 4 elemen s, t, a, dan t dari tuple
8. Buatlah nama dan nilai siswa pada soal 7.f. ke dalam bentuk dictionary kemudian a. Ganti salah satu data b. Hapus salah satu data c. Tambahkan nama ‘Dita’ dengan nilai 90 ke dalam dictionary 9. Buatlah suatu set yang berisi bilangan prima dari 2 sampai 11 kemudian : a. Tambahkan bilangan 2 dan 13 ke dalam set (interpretasikan) b. Gunakan syntax remove atau discard untuk menghapus angka 2,4, dan 5 dari set (interpretsikan) 10. Diketahui data 2, -3, -7, 5, -9, 7, 1, 4, -5 , 1, -10, -4, -8, 8, -1, 5, -7, 5 , 0, -7, -3, 9, 6, 7, -3, 1, 3, -10, -2, -5, 1, 6, 1, -9, -6, -8, 5. -7, -3, 0, -8, 8, 7, -10, -3, -6, -5, -7, 0, 9 a. Tentukan jumlah, rata-rata, nilai maksimum, nilai minimum, median, ragam dan simpangan baku dari data tersebut b. Buatlah program fkp normal dengan ( ) Tentukan nilai f(x), nilai
(
)
√
adalah data yang telah diberikan, dengan nilai
(diinput dari keyboard). Kemudian plotkan.