• Tidak ada hasil yang ditemukan

A. Narasumber

Nama : Wahidah, Spd., H.pd NIP : 196810081993032012

Jabatan : Kepala Sekolah SMPN-6 Kota Palangka Raya B. Pewawancara

Nama : Hendy Sukma

NIM : C1855201050

Pewawancara : Assalamualaikum ibu, saya Hendy Sukma mahasiswa dari kampus STMIK Palangka Raya, meminta ijin waktunya sebentar untuk dapat melakukan wawancara berssama ibu, perihal apa yang saya ingin tanyakan, yaitu untuk SMPN-6 Kota Palangka Raya apakah ada menerima atau menyelenggarakan bantuan bu?

Narasumber : Waalaikumsalam, iya saya jawab ya, perihal menerima bantuan itu memang ada, bantuan yang kami terima yaitu bantuan PIP. Perihal yang menyelenggarakan bantuan itu diselenggarakan oleh pusat, bukan dari SMPN-6.

Pewawancara : Untuk bantuan PIP itu sendiri ditujukan kepada siapa ya bu?

dan bentuk bantuan nya berupa apa?

Narasumber : Bantuan PIP tersebut sama saja dengan Bantuan Siswa Miskin (BSM) hanya saja dikarenakan tahun kurikulum berubah maka namanya diganti menjadi PIP. PIP ditujukan untuk siswa – siswa yang memiliki keaadan ekonomi yang kurang mampu, yang memiliki surat keterangan tidak mampu dari RT/RW setempat, PIP bantuan berupa uang sejumlah Rp. 700.000.

Pewawancara : Selain bantuan PIP itu sendiri apakah ada lagi bu bantuan – bantuan yang lainnya? Mungkin seperti bantuan untuk siswa yang berprestasi dan tidak mampu?

Narasumber : Bantuan yang diterima SMPN-6 sejauh ini hanya bantuan PIP itu saja.

Pewawancara : Jumlah seluruh siswa SMPN-6 ini sendiri sekitar berapa siswa yang bu?

Narasumber : SMPN-6 memiliki 800 lebih siswa.

Foto Dokumentasi penyerahan surat ijin keterangan melakukan penelitian serta wawancara bersama ibu Wahidah, Spd., H.pd selaku kepala sekolah SMPN-6 Palangka Raya.

32

32

Lampiran 9. Listing Program a. Source code import library

import pandas as pd import numpy as np import seaborn as sns

import matplotlib.pyplot as plt from sklearn.cluster import KMeans

from sklearn.preprocessing import MinMaxScaler

b. Source Code import dataset df = pd.read_csv("dataset.csv") c. Source Code mengambil variabel

tertentu

df= df[['Pekerjaan Orang

tua','Penghasilan Orang Tua','Usia Orang Tua','Nilai Rata-Rata']]

d. Source code data info

#Data Info df.info()

e. Source code describing data

#Data Describing df.describe()

f. Source code histogram

#Univariate Analysis pada Variabel Pekerjaan Orang Tua plt.figure(figsize=(12,8))

plt.hist(df['Pekerjaan Orang tua']) plt.title('Frekuensi Pekerjaan Orang Tua')

plt.ylabel('Frequency')

plt.xlabel('Pekerjaan Orang Tua') plt.show()

g. Source code histogram

#Univariate Analysis pada Variabel Penghasilan Orang Tua plt.figure(figsize=(12,8))

plt.hist(df['Penghasilan Orang tua'])

plt.title('Frekuensi Penghasilan Orang Tua')

plt.ylabel('Frequency')

plt.xlabel('Penghasilan Orang Tua')

plt.show()

h. Source code histogram

#Univariate Analysis pada Variabel UsiaOrang Tua

plt.figure(figsize=(12,8)) plt.hist(df['Usia Orang tua']) plt.title('Frekuensi Usia Orang Tua')

plt.ylabel('Frequency') plt.xlabel('Usia Orang Tua') plt.show()

i. Source code histogram

Univariate Analysis pada Variabel Nilai Rata-Rata

plt.figure(figsize=(12,8)) plt.hist(df['Nilai Rata-Rata']) plt.title('Frekuensi Nilai Rata-Rata)

plt.ylabel('Frequency') plt.xlabel(Nilai Rata-Rata) plt.show()

j. Source code Multivariate Analysis

#Multivariate Analysis sns.set_style("white")

sns.pairplot(df, vars=['Pekerjaan Orang tua', 'Penghasilan Orang Tua','Usia Orang Tua','Nilai Rata-Rata'], diag_kind='hist')

k. Source code cek dan remove data kosong

df.isna().sum()

#df.dropna(inplace=True) l. Source code finding outlier

#Mencari data Outlier def finding_outlier(df):

Q1 = df.quantile(0.25) Q3 = df.quantile(0.75) IQR = Q3 - Q1

df_final = df[(df<(Q1-(1.5*IQR)))|(df>(Q3+(1.5*IQR)))

#Mencetak Data Outlier

print(finding_outlier(df['Pekerjaan

n. Source code remove outlier

#Remove Data Outlier def remove_outlier(df):

Q1 = df.quantile(0.25) Q3 = df.quantile(0.75) IQR = Q3 - Q1

df_final = df[~((df<(Q1-(1.5*IQR)))|(df>(Q3+(1.5*IQR))) )]

return df_final

df2 =

remove_outlier(df[['PENGHASIL AN', 'NILAI RAPOT']])

df2.dropna(axis=0, inplace=True)

df2

o. Source code data array

#Mengubah Data menjadi bentuk Array

df = np.array(df) print(df)

p. Source code scalling data

#Scalling Data

scaler = MinMaxScaler()

x_scaled = scaler.fit_transform(df) x_scaled

q. Source code K-Means

#Menentukan Jumlah Cluster dan Random State

kmeans = KMeans(n_clusters = 2, random_state=7)

kmeans.fit(x_scaled)

r. Source code menampilkan centroid akhir

#Mencetak atau menampilkan nilai pusat dari masing – masing cluster

print(kmeans.cluster_centers_) s. Source code menampilkan cluster

#Mencetak atau menampilkan cluster atau labels dari masing – masing data

print(kmeans.labels_)

t. Source code menambahkan kolom cluster pada data frame baru

#Menambahkan Kolom Cluster new_df = pd.DataFrame(data=df2, columns=['Pekerjaan Orang tua', 'Penghasilan Orang Tua','Usia Orang Tua','Nilai Rata-Rata']) new_df['kluster'] = kmeans.labels_

new_df

u. Source code mengolah kebentuk grafik scatterplot

#Membuat Grafik Scatterplot output = plt.scatter(x_scaled[:,0], x_scaled[:,1], s = 100, c = new_df.kluster, marker = "o", alpha = 1, )

centers = kmeans.cluster_centers_

plt.scatter(centers[:,0],

centers[:,1], c='red', s=200, alpha=1 , marker="s");

plt.title("Hasil Klustering K-Means")

plt.colorbar (output) plt.show()

32 Lampiran 10. Pembahasan Source Code

Adapun beberapa Source Code yang penulis gunakan ialah : a. Source Code Import Library

Source Code ini adalah tahap pertama sebelum tahap pengklasteran.

Source Code ini digunakan untuk mengimport atau menambahkan Library atau sekumpulan module agar mempermudah dalam membuat aplikasi atau program tanpa harus mengetik banyak kode.

import pandas as pd import numpy as np import seaborn as sns

import matplotlib.pyplot as plt from sklearn.cluster import KMeans

from sklearn.preprocessing import MinMaxScaler b. Source Code Import Dataset

Source Code ini berfungsi untuk menambahkan Dataset kedalam Jupyter Notebook dalam bentuk Data Frame yang sebelumnya sudah diolah pada Microsoft Excel.

#Menambahkan Dataset

df = pd.read_csv("dataset.csv")

#Menampilkan Dataset yang telah ditambahkan df.head()

c. Source Code Analisis Dataset

Dibawah ini adalah kumpulan dari beberapa Source Code yang digunakan untuk menganalisis dataset atau dilakukannya seleksi dataset sebelum masuk ke tahap pengklasteran. Penulis hanya memasukkan beberapa Source Code untuk menganalisis dataset sesuai kebutuhan penulis.

#Describing Data

#Mengambil Variabel Tertentu

df= df[['Pekerjaan Orang tua','Penghasilan Orang Tua','Usia Orang Tua','Nilai Rata-Rata']]

#Univariate Analysis pada Variabel Pekerjaan Orang Tua plt.figure(figsize=(12,8))

plt.hist(df['Pekerjaan Orang tua'])

plt.title('Frekuensi Pekerjaan Orang Tua') plt.ylabel('Frequency')

plt.xlabel('Pekerjaan Orang Tua') plt.show()

#Univariate Analysis pada Variabel Penghasilan Orang Tua plt.figure(figsize=(12,8))

plt.hist(df['Penghasilan Orang tua'])

plt.title('Frekuensi Penghasilan Orang Tua') plt.ylabel('Frequency')

plt.xlabel('Penghasilan Orang Tua') plt.show()

#Univariate Analysis pada Variabel UsiaOrang Tua plt.figure(figsize=(12,8))

plt.hist(df['Usia Orang tua'])

plt.title('Frekuensi Usia Orang Tua') plt.ylabel('Frequency')

plt.xlabel('Usia Orang Tua') plt.show()

#Univariate Analysis pada Variabel Nilai Rata-Rata plt.figure(figsize=(12,8))

plt.hist(df['Nilai Rata-Rata']) plt.title('Frekuensi Nilai Rata-Rata) plt.ylabel('Frequency')

plt.xlabel(Nilai Rata-Rata) plt.show()

#Multivariate Analysis sns.set_style("white")

sns.pairplot(df, vars=['Pekerjaan Orang tua', 'Penghasilan Orang Tua','Usia Orang Tua','Nilai Rata-Rata'], diag_kind='hist')

#Melihat dan menghapus data kosong df.isna().sum()

#df.dropna(inplace=True)

#Mencari data Outlier

def finding_outlier(df):

Q1 = df.quantile(0.25) Q3 = df.quantile(0.75) IQR = Q3 - Q1

df_final = df[(df<(Q1-(1.5*IQR)))|(df>(Q3+(1.5*IQR)))]

return df_final df

#Mencetak Data Outlier

print(finding_outlier(df['Pekerjaan Orang tua'])) print(finding_outlier(df['Penghasilan Orang Tua'])) print(finding_outlier(df['Usia Orang Tua']))

print(finding_outlier(df['Nilai Rata-Rata']))

#Remove Data Outlier def remove_outlier(df):

Q1 = df.quantile(0.25) Q3 = df.quantile(0.75) IQR = Q3 - Q1

df_final = df[~((df<(Q1-(1.5*IQR)))|(df>(Q3+(1.5*IQR))))]

return df_final

df2 = remove_outlier(df[['PENGHASILAN', 'NILAI RAPOT']]) df2.dropna(axis=0, inplace=True)

df2

#Mengubah Data menjadi bentuk Array df = np.array(df)

print(df)

#Scalling Data

scaler = MinMaxScaler()

x_scaled = scaler.fit_transform(df) x_scaled

d. Source Code Clustering K-Means

Source Code dibawah ini berfungsi untuk menentukan jumlah Cluster dan Random State. Dari Source Code dibawah ini juga digunakan untuk menentukan nilai pusat dari masing – masing cluster dan mencetak cluster atau labels dari masing -masing data.

#Menentukan Jumlah Cluster dan Random State kmeans = KMeans(n_clusters = 2, random_state=7) kmeans.fit(x_scaled)

#Mencetak atau menampilkan nilai pusat dari masing – masing cluster print(kmeans.cluster_centers_)

#Mencetak atau menampilkan cluster atau labels dari masing – masing data

print(kmeans.labels_)

e. Source Code Hasil Clustering K-Means

Setelah didapat hasil Cluster atau Labels dari masing – masing data, maka Source Code dibawah ini digunakan untuk menambahkan kolom Cluster ke dalam bentuk Data Frame dengan mengambil data dari variabel labels.

#Menambahkan Kolom Cluster

new_df = pd.DataFrame(data=df2, columns=['Pekerjaan Orang tua', 'Penghasilan Orang Tua','Usia Orang Tua','Nilai Rata-Rata'])

new_df['kluster'] = kmeans.labels_

new_df

f. Source Code Hasil Clustering K-Means Menggunakan Grafik Scatterplot Source Code dibawah ini digunakan untuk memudahkan pengguna melihat hasil akhir Clustering K-Means secara visualisasi, jelas dan nampak menggunakan grafik Scatterplot.

#Membuat Grafik Scatterplot

output = plt.scatter(x_scaled[:,0], x_scaled[:,1], s = 100, c = new_df.kluster, marker = "o", alpha = 1, )

centers = kmeans.cluster_centers_

plt.scatter(centers[:,0], centers[:,1], c='red', s=200, alpha=1 , marker="s");

plt.title("Hasil Klustering K-Means") plt.colorbar (output)

plt.show()

g. Source Code Kesimpulan dari Clustering K-Means

Source Code dibawah ini untuk menampilkan tabel 5 data nilai rapot tertinggi dan 5 data nilai rapot terendah agar terlihat data atau siswa berprestasi mana yang menjadi fokus dalam menerima Bantuan Siswa Miskin (BSM)

#Menampilkan data tertinggi untuk nilai rapot df.nlargest(5, 'Nilai Rata-Rata')

#Menampilkan data terendah untuk penghasilan df.nsmallest(5, 'Penghasilan Orang Tua')

Dokumen terkait