Program Digital Talent Scholarship 2021 bertujuan untuk meningkatkan keterampilan 60.000 peserta melalui tujuh akademi pelatihan di bidang teknologi informasi dan komunikasi agar dapat meningkatkan produktivitas dan daya saing Indonesia di era Industri 4.0."
1. KATA PENGANTAR
Era Digitalisasi pada Industri 4.0 di Indonesia saat ini dihadapkan pada tantangan hadirnya
permintaan dan penawaran talenta digital dalam mendukung perkembangan ekosistem industri teknologi.
Tantangan tersebut perlu dihadapi salah satunya melalui kegiatan inovasi dan inisiasi dari berbagai pihak
dalam memajukan talenta digital Indonesia, baik dari pemerintah maupun mitra kerja pemerintah yang
dapat menyiapkan angkatan kerja muda sebagai talenta digital Indonesia. Kementerian Komunikasi dan
Informatika melalui Badan Penelitian dan Pengembangan Sumber Daya Manusia sejak tahun 2018-2019,
telah menginisiasi Program Digital Talent Scholarship yang telah berhasil dianugerahkan kepada 26.000
penerima pelatihan di bidang teknologi informasi dan komunikasi. Program Digital Talent Scholarship ini
ditujukan untuk memberikan pelatihan dan sertifikasi tema-tema bidang teknologi informasi dan
komunikasi, diharapkan menjadi bagian untuk memenuhi permintaan dan penawaran talenta digital
Indonesia.
Tahun ini, Program Digital Talent Scholarship menargetkan pelatihan peningkatan kompetensi bagi
60.000 peserta yang bertujuan untuk meningkatkan keterampilan dan daya saing SDM bidang teknologi
informasi dan komunikasi sebagai bagian dari program pembangunan prioritas nasional. Program pelatihan
DTS 2021 ditujukan untuk meningkatkan keterampilan, keahlian angkatan kerja muda Indonesia,
masyarakat umum dan aparatur sipil negara di bidang teknologi informasi dan komunikasi sehingga dapat
meningkatkan produktivitas dan daya saing bangsa di era Industri 4.0.
Program DTS 2021 secara garis besar dibagi menjadi Tujuh akademi, yaitu: Fresh Graduate Academy
(FGA), Program pelatihan berbasis kompetensi bersama GlobalTech yang ditujukan kepada peserta
pelatihan bagi lulusan S1 bidang TIK dan MIPA, dan terbuka bagi penyandang disabilitas; Vocational School
Graduate Academy (VSGA), Program pelatihan berbasis kompetensi nasional yang ditujukan kepada peserta
pelatihan bagi lulusan SMK dan Pendidikan Vokasi bidang TI, Telekomunikasi, Desain, dan Multimedia;
Coding Teacher Academy (CTA), Program pelatihan merupakan program pelatihan pengembangan
sumberdaya manusia yang ditujukan kepada peserta pelatihan bagi Guru setingkat SMA/SMK/MA/SMP/SD di
bidang pemrograman. Online Academy (OA), Program pelatihan OA merupakan program pelatihan Online di
bidang Teknologi Informasi yang ditujukan kepada peserta pelatihan bagi Masyarakat umum, ASN,
mahasiswa, dan pelaku industri; Thematic Academy (TA), Program pelatihan TA merupakan program
pelatihan multisektor bagi pengembangan sumberdaya manusia yang ditujukan kepada peserta pelatihan
dari jenjang dan multidisiplin yang berbeda; Regional Development Academy (RDA), Program pelatihan RDA
merupakan program pelatihan pengembangan sumberdaya manusia yang ditujukan untuk meningkatkan
kompetensi ASN di Kawasan Prioritas Pariwisata dan 122 Kabupaten Prioritas Pembangunan. Digital
Entrepreneurship Academy (DEA), Program pelatihan DEA merupakan program pelatihan pengembangan
sumberdaya manusia yang ditujukan kepada talenta digital di bidang Usaha Mikro, Kecil, dan Menengah
(UMKM).
Selamat mengikuti Pelatihan Digital Talent Scholarship, mari persiapkan diri kita menjadi talenta digital
Indonesia.
Jakarta, 24 Februari 2021
Kepala Badan Penelitian dan Pengembangan Sumber Daya Manusia
Kementerian Komunikasi dan Informatika Republik Indonesia
Dr. Hary Budiarto, M.Kom
Pendahuluan
2. Tujuan Pembelajaran
A. Tujuan Umum
Setelah mempelajari modul ini peserta latih diharapkan mampu melakukan data preparation dengan baik
dan benar.
B. Tujuan Khusus
Adapun tujuan mempelajari unit kompetensi melalui buku informasi Pelatihan Data Preparation adalah
A. Peserta mampu melakukan memilih dan memilah data sesuai kebutuhan dan sumberdaya yang dimiliki
B. Peserta mampu melakukan pembersihan data
C. Peserta mampu melakukan memeriksa (cek) kualitas dan kecukupan data
Latar belakang
Unit kompetensi ini dinilai berdasarkan tingkat kemampuan peserta dalam memahami visualisasi dari
teknologi AI. Adapun penilaian dilakukan dengan menggabungkan serangkaian metode untuk menilai
kemampuan dan penerapan pengetahuan pendukung penting. Penilaian dilakukan dengan mengacu
kepada Kriteria Unjuk Kerja (KUK) dan dilaksanakn di Tempat Uji Kompetensi (TUK), ruang simulasi atau
workshop dengan cara:
1.1. Lisan
1.2. Wawancara
1.3. Tes tertulis
1.4. Metode lain yang relevan
Deskripsi Pelatihan
Materi ini berisi penjelasan mengenai :
• Bagian Pertama dari Tiga, materi Data Preparation
• Berfokus pada Penentuan Objek Data dan Pembersihan Data
• Konteksnya yaitu:
o strategi pembersihan data kotor (noise, bias, missing value, outlier, dll)
o pengecekan kualitas da2n tingkat kecukupan data 77
• Dilanjutkan dengan 111122
o transformasi data (modul 9) dan
o konstruksi data (modul 10 1000030303010)
• Pengetahuan dan pemahaman akan data preparation menjadi syarat mutlak utk mengahasilkan
model prediksi yang optimal.
Kompetensi Dasar
• Mampu memilih dan memilah data sesuai kebutuhan
• Mampu melakukan pembersihan data
• mampu melakukan memeriksa (cek) kualitas dan kecukupan data
Indikator Hasil Belajar
Dapat melakukan memilih data, melakukan pembersihan data dan memeriksa kualitas serta kecukupan
data
3. INFORMASI PELATIHAN
Akademi Thematic Academy
Mitra Pelatihan Kementerian Komunikasi dan Informatika
Tema Pelatihan Data Scientist: Artificial Intelligence untuk Dosen dan
Instruktur
Sertifikasi • Certificate of Attainment;
• Sertifikat Kompetensi Associate Data Scientist
Persyaratan Sarana Peserta/spesifikasi device
Tools/media ajar yang akan digunakan
Memiliki laptop/komputer dengan spesifikasi minimal :
• RAM minimal 2 GB (disarankan 4 GB)
• Laptop dengan 32/64-bit processor
• Laptop dengan Operating System Windows 7, 8, 10,
MacOS X atau Linux
• Laptop dengan konektivitas WiFi dan memiliki
Webcam
• Akses Internet Dedicated 126 kbps per peserta per
perangkat
• Memiliki aplikasi Zoom
• Memiliki akun Google Colab
Aplikasi yang akan di gunakan selamat pelatihan • Spyder
• Jupyter notebook
Tim Penyusun • Dr. Rer. Nat. I Made Wiryana (Universitas Gunadarma)
• Dr. Miftah Andriansyah (Universitas Gunadarma)
• Dr. Astie Darmayantie (Universitas Gunadarma)
INFORMASI PEMBELAJARAN
Unit Kompetensi Materi pembelajaran Kegiatan pembelajaran Durasi
Pelatihan
Rasio
Praktek : Teori
Sumber
pembelajaran
Dapat melakukan
memilih data,
melakukan
pembersihan data dan
memeriksa kualitas
serta kecukupan data
Data Preparation Daring
/Online
Live Class
2 JP
LMS 4 JP @ 45
menit
70:30 LMS
Materi Pokok
Data Preparation
4. Sub Materi Pokok
• Menentukan Objek Data
• Membersihkan Data
• Memvalidasi Data
5. MATERI PELATIHAN
1. Terminologi dan Definisi
Istilah – istilah yang digunakan pada modul ini adalah Pre-processing, Data
Manipulation dan Data Cleansing/ Normalization. Definisi transformasi data mentah
menjadi format yang mudah dipahami menemukan data yang relevan untuk disertakan
dalam aplikasi analitik sehingga memberikan informasi yang dicari oleh analis atau
pengguna bisnis langkah pra-pemrosesan yang melibatkan pembersihan, transformasi,
dan konsolidasi data.
Gambar 1. Langkah Pra-Pemrosesan Data
Langkah pra-pemrosesan data dimulai dari raw-data lalu kemudian data
disiapkan dengan langkah data preparation yang menghasilkan prepared data yang
selanjutnya akan melewati proses data analytics yang akan menghasilkan data insights.
Proses yang melibatkan koneksi ke satu atau banyak sumber data yang berbeda,
membersihkan data kotor, memformat ulang atau merestrukturisasi data, dan akhirnya
menggabungkan data ini untuk digunakan untuk analisis.
2. Fakta Terkait Data Preparation
Berikut gambar 2 merupakan gambaran mengenai fakta terkait data preparation
yang menggambarkan porsi kegiatan data scientis.
6. Gambar 2. Porsi Kegiatan Data Scientis
60-80% porsi kegiatan data saintis (forbes, crowdflower 2016) data yang ada saat
ini dari banyak sumber data dan format yang beragam (terstruktur, semi, dan tidak
terstruktur) kualitas model prediktif bergantung pada kualitas data (GIGO).
Gambar 3. Data Preparation
3. Pentingnya Data Preparation
Pentingnya dilakukan data preparation sebelum data diolah adalah untuk
menentukan kualitas hasil yang diinginkan karena dalam data mentah masih terdapat
data seperti yang dijabarkan dibawah ini :
Gambar 4. Pentingnya Data Preparation
7. • Data perlu diformat sesuai dengan software yang digunakan
• Data perlu disesuaikan dengan metode data sain yang digunakan
• Data real-world cenderung ‘kotor’:
o Tidak komplit: kurangnya nilai attribute, kurangnya atribut tertentu/penting,
hanya berisi data agregate. misal: pekerjaan=”” (tidak ada isian)
o Noisy: memiliki error atau outlier. misal: Gaji=”-10”, Usia=”222”
o Tidak konsisten: memliki perbedaan dalam kode dan nama. misal : Usia= “32”
TglLahir=”03/07/2000”;
o Rating “1,2,3” -- > rating “A, B, C”
• Kolom dan baris yang saling bertukar
• Banyak variabel dalam satu kolom yang sama
4. Manfaat Data Preparation
Manfaat dari data preparation antara lainnya adalah sebagai berikut :
• Kompilasi Data menjadi Efisien dan Efektif (menghindari duplikasi)
• Identifikasi dan Memperbaiki Error
• Mudah Perubahan Secara Global
• Menghasilkan Informasi yang Akurat utk Pengambilan Keputusan
• Nilai Bisnis dan ROI (Return on Ivestment) akan Meningkat
Gambar 5. Perkembangan Data Preparation
8. Dilihat dari gambar 5 diatas, gambar tersebut menggambarkan perkembangan
market size data preparation dari tahun 2018 hingga diperkirakan nantinya pada tahun
2023 yang mana hasilnya akan terus meningkat tiap tahunnya.
5. Tantangan Data Preparation
Dari penjelasan mengenai manfaat dan pentingnya data preparation diatas,
ternyata data preparation masih memiliki tantangan tersendiri antara lainnya adalah :
• Memakan Waktu Lama
• Porsi Teknis yang Dominan
• Data yang Tersedia Tidak Akurat atau Jelas/Tidak Langsung Pakai
• Data tidak Balance Saat Pengambilan Sampel
• Rentan akan Error
6. Tahapan Data Preparation
Berikut dibawah ini merupakan gambaran tahapan dari data preparation.
Gambar 6. Tahapan Data Preparation
Dari gambar 6 diatas, digambarkan bahwa tahapan data preparation dimulai dari
requirement analysis yaitu mengumpulkan analisis kebutuhan seperti hardware dan
software yang dibutuhkan lalu dilnjutkan dengan data aquisition yaitu mengumpulkan
data yang dibutuhkan. Data yang didapat masih berupa data mentah yang selanjutkan
akan diolah oleh data scientist dan domain expert pada tahapan data preparation. Data
yang telah diolah pada tahapan data preparation akan menghasilakn training data yang
digunakan untuk predictive modelling dan test data yang akan digunakan untuk
evaluation. Tahapan selanjutnya adalah data siap digunakan untuk deployment suatu
sistem.
9. 7. Data Preparation dalam CRISP-DM
CRISP-DM adalah standarisasi data mining yang disusun oleh tiga penggagas data
mining market. Yaitu Daimler Chrysler (Daimler-Benz), SPSS (ISL), NCR. Kemudian
dikembangkan pada berbagai workshops (antara 1997-1999). Lebih dari 300 organisasi
yang berkontribusi dalam proses modelling ini dan akhirnya CRISP-DM 1.0
dipublikasikan pada 1999 (Budiman 2012). CRISP-DM adalah akronim dari CRoss
Industry Standard Process Data Mining yang merupakan Metodologi umum untuk data
mining, analitik, dan proyek data sains, berfungsi menstandarkan proses data mining
lintas industri dan digunakan untuk semua level dari pemula hingga pakar.
Gambar 7. Proses data mining berdasarkan CRISP-DM
Proses data mining berdasarkan CRISP-DM terdiri dari 6 fase. Yaitu:
• Business Understanding atau pemahaman domain (penelitian). Pada fase ini
dibutuhkan pemahaman tentang substansi dari kegiatan data mining yang akan
dilakukan, kebutuhan dari perspektif bisnis. Kegiatannya antara lain: menentukan
sasaran atau tujuan bisnis, memahami situasi bisnis, menentukan tujuan data mining
dan membuat perencanaan strategi serta jadwal penelitian.
• Data Understanding atau pemahaman data adalah fase mengumpulkan data awal,
mempelajari data untuk bisa mengenal data yang akan dipakai. Fase ini mencoba
mengidentifikasikan masalah yang berkaitan dengan kualitas data, mendeteksi subset
yang menarik dari data untuk membuat hipotesa awal.
• Data preparation atau persiapan data. Fase ini sering disebut sebagai fase yang padat
karya. Aktivitas yang dilakukan antara lain memilih table dan field yang akan
ditransformasikan ke dalam database baru untuk bahan data mining (set data
mentah).
10. • Modeling adalah fase menentukan tehnik data mining yang digunakan, menentukan
tools data mining, teknik data mining, algoritma data mining, menentukan parameter
dengan nilai yang optimal.
• Evaluation adalah fase interpretasi terhadap hasil data mining yang ditunjukan dalam
proses pemodelan pada fase sebelumnya. Evaluasi dilakukan secara mendalam
dengan tujuan menyesuaikan model yang didapat agar sesuai dengan sasaran yang
ingin dicapai dalam fase pertama.
• Deployment atau penyebaran adalah fase penyusunan laporan atau presentasi dari
pengetahuan yang didapat dari evaluasi pada proses data mining (Budiman 2012).
8. Tahapan Data Preparation versi simpel
Berikut merupakan gambaran serta penjelasan dari proses data preparation versi
simpel. Dilihat dari gambar 8 dibawah ini terbagi menjadi tiga tahapan yaitu
pengumpulan data lalu data di proses ulang yang selanjutnya akan menghasilkan data
transformation.
Gambar 8. Tahapan Data Preparation : Versi Simpel
Berikut merupakan rincian tahap – tahap dalam proses data preparation :
1. Pilih/ Select Data
• Pertimbangkan pemilihan data
• Tentukan dataset yang akan digunakan
• Kumpulkan data tambahan yang sesuai (internal atau eksternal)
• Pertimbangkan penggunaan teknik pengambilan sampel
• Jelaskan mengapa data tertentu dimasukkan atau dikecualikan
2. Bersihkan/ Clean Data
• Perbaiki, hapus atau abaikan noise
11. • Putuskan bagaimana menangani nilai-nilai khusus dan maknanya
• Tingkat agregasi, nilai yang hilang (missing value), dll
• Bersihkan atau manipulasi outlier
3. Validasi Data
• Periksa/Nilai Kualitas Data
• Periksa/Nilai Tingkat Kecukupan Data
4. Bangun/ Construct Data
• Atribut turunan.
• Latar belakang pengetahuan.
• Bagaimana atribut yang hilang dapat dibangun atau diperhitungkan
5. Integrasi/ Integrate Data
• Mengintegrasikan sumber dan menyimpan hasil (tabel dan catatan baru)
6. Bentuk/ Format Data
9. Sampling Data
A. Pengertin Sampling
Sebelum melakukan tahapan dalam data preparation, terlebih dahulu adalah
pemilihan/penentuan objek yang dapat dilakukan dengan menggunakan penentuan:
• Populasi. Populasi adalah wilayah generalisasi yang terdiri atas objek atau
subjek yang mempunyai kualitas dan karakteristik tertentu yang ditetapkan
oleh peneliti untuk dipelajari dan kemudian ditarik kesimpulannya. (Sugiyono
2011: 80). Populasi adalah suatu kesatuan individu atau subyek pada wilayah
dan waktu dengan kualitas tertentu yang akan diamati/diteliti. Populasi
penelitian dapat dibedakan meryadi populasi "finit" dan populasi "infinit".
Populasi finit adalah suatu populasi yang jumlah anggota populasi secara pasti
diketahui, sedang populasi infinit adalah suatu populasi yang jumlah anggota
populasi tidak dapat diketahui secara pasti. (Supardi, 1993)
• Sampel. Sugiyono (2011: 81) menyatakan bahwa sampel adalah bagian dari
jumlah dan karakteristik yang dimiliki oleh populasi tersebut. Sampel adalah
bagian dari populasi yang dijadikan subyek penelitian sebagai "wakil" dari
para anggota populasi. (Supardi, 1993)
12. Gambar 9. Sampling Data
B. Metode Sampling
Kategori Metode Sampling terdapat dua macam yaitu Probability sampling dan
non-Probability Sampling seperti yang digambarkan pada gambar 10 dibawah ini.
Gambar 10. Metode Sampling
1. Probability Sampling
Probably sampling adalah penarikan contoh dengan metode peluang yang
dilakukan secara acak (random), dan dapat dilakukan dengan cara undian atau tabel
bilangan random. (Ayu Asari, 2018) Teknik ini sering juga disebut dengan random
sampling, yaitu pengambilan sampel penelitian secara random. Teknik sampling ini
cocok dipilih untuk populasi yang bersifat finit, artinya besaran anggota populasi dapat
ditentukan lebih dahulu. Pada teknik sampling ini, penentuan sampel penelitian dengan
memberikan kemungkinan (probability) yang sama pada setiap anggota populasi untuk
menjadi sampel terpilih. Dengan demikian pada teknik sampling ini alat analisis statistik
dapat dipergunakan untuk membantu penentuan sampel terpilih. Teknik probability
sampling ini ada beberapa model yaitu: simple random sampling (acak sederhana
maupun bilangan random); sistematik random sampling; stratified random sampling dan
13. cluster random sampling. (Supardi, 1993). Ciri – ciri dari Probability Sampling adalah
diantaranya adalah sebagai berikut :
• Populasi diketahui. Populasi yang akan dijadikan sebagai sumber harus
diketahui terlebih dahulu.
• Randomisasi/keteracakan: Ya. Pada probability sampling data yang akan
diambil tersebar secara acak dan memiliki kesempatan yang sama untuk
digunakan sebagai sample.
• Conclusiver. Riset ini digunakan untuk menguji variabel-variabel penelitian
dan biasanya menggunakan metode analisis data kuantitatif.
• Hasil dari penggunaan probability sampling method adalah Unbiased atau
bias minimum (representasi populasi yang tidak bias).
• Kesimpulan yang dihasilkan pada probability sampling berupa Statistik.
Gambar 11. Kegunaan Probability Sampling
Probability sampling berarti setiap anggota populasi mempunyai kesempatan
yang sama untuk terpilih. Hal ini terutama digunakan dalam penelitian kuantitatif. Jika
ingin menghasilkan hasil yang mewakili seluruh populasi, teknik probability sampling
adalah pilihan yang paling valid (McCombes 2021). Kita dapat menggunakan probability
sampling ketika :
• Bila ingin mengurangi bias pada sampel: Metode sampling ini digunakan ketika
bias harus minimum. Pemilihan sampel sangat menentukan kualitas inferensi
14. penelitian. Bagaimana peneliti memilih sampel mereka sangat menentukan
kualitas temuan peneliti. Pengambilan sampel probabilitas mengarah pada
temuan berkualitas lebih tinggi karena memberikan representasi populasi yang
tidak bias.
• Ketika populasi biasanya beragam: Peneliti menggunakan metode ini secara
ekstensif (menjangkau secara luas) karena membantu mereka membuat sampel
yang sepenuhnya mewakili populasi. Katakanlah kita ingin mengetahui berapa
banyak orang yang lebih memilih wisata medis daripada dirawat di negara
mereka sendiri. Metode sampling ini akan membantu pengambilan sampel dari
berbagai strata sosial ekonomi, latar belakang, dll untuk mewakili populasi yang
lebih luas.
• Untuk membuat sampel yang akurat: Probability sampling membantu peneliti
membuat sampel yang akurat dari populasi mereka. Para peneliti menggunakan
metode statistik yang telah terbukti untuk menggambar ukuran sampel yang tepat
untuk memperoleh data yang terdefinisi dengan baik.
Gambar 12. Tipe Probability Sampling
Dari gambar 12 diatas, penjabaran mengenai tipe – tipe Probability sampling adalah
sebagai berikut :
• Simple Random Sampling (pengambilan sampel acak sederhana) : dalam sampel
acak sederhana, setiap anggota populasi memiliki peluang yang sama untuk
dipilih. Contoh : Anda ingin memilih sampel acak sederhana dari 100 karyawan
15. Perusahaan X. Anda menetapkan nomor untuk setiap karyawan di database
perusahaan dari 1 hingga 1000, dan menggunakan generator nomor acak untuk
memilih 100 nomor.
• Systematic Sampling (pengambilan sampel sistematis) : pengambilan sampel
sistematik mirip dengan pengambilan sampel acak sederhana, tetapi biasanya
sedikit lebih mudah dilakukan. Setiap anggota populasi terdaftar dengan nomor,
tetapi bukannya menghasilkan nomor secara acak namun individu dipilih secara
berkala. Contoh : Semua karyawan perusahaan terdaftar dalam urutan abjad. Dari
10 nomor pertama, Anda secara acak memilih titik awal: nomor 6. Dari nomor 6
dan seterusnya, setiap orang ke-10 dalam daftar dipilih (6, 16, 26, 36, dan
seterusnya) dan Anda mendapatkan sampel dari 100 orang.
• Stratified Sampling (pengambilan sampel bertingkat) : Pengambilan sampel
bertingkat melibatkan membagi populasi menjadi subpopulasi yang mungkin
berbeda dalam hal-hal penting. Ini memungkinkan Anda menarik kesimpulan
yang lebih tepat dengan memastikan bahwa setiap subkelompok terwakili dengan
benar dalam sampel. Untuk menggunakan metode pengambilan sampel ini, Anda
membagi populasi menjadi subkelompok (disebut strata) berdasarkan
karakteristik yang relevan (misalnya jenis kelamin, rentang usia, golongan
pendapatan, peran pekerjaan). Contoh : Perusahaan ini memiliki 800 karyawan
wanita dan 200 karyawan pria. Anda ingin memastikan bahwa sampel
mencerminkan keseimbangan gender perusahaan, sehingga Anda mengurutkan
populasi menjadi dua strata berdasarkan gender. Kemudian Anda menggunakan
pengambilan sampel acak pada setiap kelompok, memilih 80 wanita dan 20 pria,
dan memberi anda sampel yang representatif dari 100 orang.
• Cluster Smpling (pengambilan sampel klaster) : Pengambilan sampel klaster juga
melibatkan pembagian populasi menjadi subkelompok, tetapi setiap
subkelompok harus memiliki karakteristik yang serupa dengan keseluruhan
sampel. Alih-alih mengambil sampel individu dari setiap subkelompok, Anda
secara acak memilih seluruh subkelompok. Jika memungkinkan, Anda dapat
memasukkan setiap individu dari setiap cluster sampel. Jika cluster itu sendiri
besar, Anda juga dapat mengambil sampel individu dari dalam setiap cluster
menggunakan salah satu teknik di atas. Metode ini bagus untuk menangani
populasi yang besar dan tersebar, tetapi ada lebih banyak risiko kesalahan dalam
16. sampel, karena mungkin ada perbedaan substansial antara kelompok. Sulit untuk
menjamin bahwa cluster sampel benar-benar mewakili seluruh populasi. Contoh
: Perusahaan ini memiliki kantor di 10 kota di seluruh negeri (semua dengan
jumlah karyawan yang kira-kira sama dengan peran yang sama). Anda tidak
memiliki kapasitas untuk melakukan perjalanan ke setiap kantor untuk
mengumpulkan data Anda, jadi Anda menggunakan sampling acak untuk memilih
3 kantor dan ini adalah klaster Anda.
2. Non-Probability Sampling
Nonprobability sampling adalah teknik pengambilan sampel yang tidak memberi
peluang atau kesempatan sama bagi setiap unsur atau anggota populasi yang dipilih
menjadi sampel. Non probability sampling ini tidak bisa digunakan untuk membuat
generalisasi (Retnawati 2021). Ciri – ciri dari Probability Sampling adalah diantaranya
adalah sebagai berikut :
• Populasi yang akan dijadikan sumber data tidak diketahui sebelumnya.
• Keterbatasan penelitian. Metode ini tidak tidak bisa digunakan untuk membuat
generalisasi.
• Randomisasi/keteracakan data yang digunakan tidak acak.
• Exploratory. Riset eksploratori bersifat fleksibel dan tidak terstruktur. Umumnya
riset ini berbentuk riset kualitatif dengan metode pengumpulan data yang lazim
digunakan yaitu wawancara dan Focus Group Discussion.
• Hasil dari penggunaan metode ini adalah Biased (bias).
• Kesimpulan yang dihasilkan dengan menggunakan metode ini berupa analitik.
Gambar 13. Non-Probability Sampling
17. Dapat dilihat dari gambar 13 diatas menggambarkan mengenai metode non-
probability sampling dan tipe dari non-probability sampling. Berikut dibawah ini
merupakan penjabaran dari metode non-probability sampling berdasarkan gambar
diatas :
• Convenience : Convenience sampling adalah teknik pengambilan sampel non-
probabilitas di mana sampel dipilih dari populasi hanya karena mereka tersedia
untuk peneliti. Peneliti memilih sampel ini hanya karena mereka mudah direkrut,
dan peneliti tidak mempertimbangkan untuk memilih sampel yang mewakili
seluruh populasi. Idealnya, dalam penelitian, ada baiknya menguji sampel yang
mewakili populasi. Namun, dalam beberapa penelitian, populasi terlalu besar
untuk diteliti dan mempertimbangkan seluruh populasi. Ini adalah salah satu
alasan mengapa peneliti mengandalkan convenience sampling yang merupakan
metode pengambilan sampel non-probabilitas yang paling umum, karena
kecepatan, efektivitas biaya, dan kemudahan ketersediaan sampel.
• Judgmental : Dalam metode judgemental sampling, peneliti memilih sampel hanya
berdasarkan pengetahuan dan kredibilitas peneliti. Dengan kata lain, peneliti
hanya memilih orang-orang yang mereka anggap cocok untuk berpartisipasi
dalam penelitian. Pengambilan sampel yang menghakimi atau purposive
bukanlah metode pengambilan sampel yang ilmiah, dan kelemahan dari teknik
pengambilan sampel ini adalah bahwa praduga dari seorang peneliti dapat
mempengaruhi hasil. Dengan demikian, teknik penelitian ini melibatkan tingkat
ambiguitas yang tinggi.
• Quota : karakteristik yang relevan digunakan untuk memisahkan sampel untuk
meningkatkan keterwakilannya. Secara hipotesis mempertimbangkan bahwa
seorang peneliti ingin mempelajari tujuan karir karyawan pria dan wanita dalam
suatu organisasi. Ada 500 karyawan dalam organisasi, juga dikenal sebagai
populasi. Untuk memahami lebih baik tentang suatu populasi, peneliti hanya perlu
sampel, bukan seluruh populasi. Selanjutnya, peneliti tertarik pada strata tertentu
dalam populasi. Di sinilah pengambilan sampel kuota membantu dalam membagi
populasi menjadi strata atau kelompok. Contoh jika kita tertarik untuk
mempelajari populasi 40 persen perempuan dan 60 persen laki-laki. Kami
membutuhkan ukuran 100 untuk sampel; seleksi tidak akan berhenti kecuali
target sudah terpenuhi. Sedangkan bila diperoleh jumlah pasti laki-laki atau
18. perempuan, misalkan 40 perempuan, seleksi untuk laki-laki harus dilanjutkan
dengan proses yang sama, akhirnya ketika perempuan yang sah ditemukan, tidak
akan dipilih karena quota yang ditetapkan sudah penuh (Etikan and Bala 2017).
• Snowball : Pengambilan sampel snowball membantu peneliti menemukan sampel
ketika mereka sulit ditemukan. Peneliti menggunakan teknik ini ketika ukuran
sampel kecil dan tidak mudah didapat. Sistem pengambilan sampel ini bekerja
seperti program rujukan (referal). Setelah peneliti menemukan subjek yang
cocok, ia meminta bantuan mereka untuk mencari subjek serupa untuk
membentuk sampel ukuran yang cukup baik.
• Consecutive sampling (Pengambilan sampel berurutan) : Metode sampling non-
probabilitas ini sangat mirip dengan convenience sampling, dengan sedikit
variasi. Di sini, peneliti memilih satu orang atau sekelompok sampel, melakukan
penelitian selama satu periode, menganalisis hasilnya, dan kemudian beralih ke
subjek atau kelompok lain jika diperlukan. Teknik pengambilan sampel berurutan
memberi peneliti kesempatan untuk bekerja dengan banyak topik dan
menyempurnakan penelitiannya dengan mengumpulkan hasil yang memiliki
wawasan penting.
C. Tahapan Sampling
Seperti yang diketahui, sampling terdiri dari beberapa tahap seperti yang
digambarkan pada gambar 14 dibawah ini.
Gambar 14. Tahapan Sampling
Tahapan sampling yang pertama adalah mengidentifikasi dan mendejabarkan
target dari populasi yang akan digunakan. Langkah selanjutnya adalah memilih sample
19. frame dari populasi yang digunakan lalu memilih metode sampling mana yang akan
digunakan. Langkah selanjutnya adalah menentukan ukuran sample dan langkah yang
terakhir adalah mengumpulkan data yang dibutuhkan.
10. Imbalance Dataset
Imbalanced Dataset merupakan data yang biasanya diolah secara klasifikasi
dengan salah satu kelas/label pada datanya mempunyai nilai yang sangat jauh berbeda
jumlahnya dari kelas lainnya. Pada imbalanced dataset, biasanya kita memiliki data
dengan kelas yang sedikit (rare class) dan data dengan kelas yang banyak (abundant
class). Beberapa contoh kasus yang sering terjadi imbalance dataset yaitu credit scoring,
fraud, data penyakit, dsb. Salah satu cara untuk mengatasi imbalance dataset adalah
dengan malakukan resampling.
A. Resampling
Ini dilakukan setelah proses pemilihan, pembersihan dan rekayasa fitur dilakuan atas
pertanyaan:
• Apakah kelas target data yang kita inginkan telah secara sama terdistribusi di
seluruh dataset?
• Jawaban atas pertanyaan diatas adalah di banyak kasus tidak/belum tentu.
Biasanya terjadi imbalance (ketidakseimbangan) antara dua kelas. Misal utk
dataset tentang detekis fraud di perbankan, lelang real-time, atau deteksi intrusi
di network! Biasanya data dari dataset tersebut berukuran sangat kecil atau
kurang dari 1%, namun sangat signifikan. Kebanyakan algoritma ML tidak bekerja
baik utk dataset imbalance tsb.
Gambar 15. Target Distribution
Berikut adalah beberapa cara untuk mengatasi imbalance dataset adalah sebagai
berikut :
• Gunakan pengukuran (metrik) yang tepat, misal dengan menggunakan:
o Precision/Spesikasi: berapa banyak instance yang relevan
o Recall/Sensitifitas: berapa banyak instance yang dipilih
20. o F1 score: harmonisasi mean dari precision dan recall
o MCC: koefisien korelasi antara klasifikasi biner antara observasi vs prediksi
o AUC: relasi antara tingkat true-positive vs false-positive
• Resample data training, dengan dua metode:
o Undersampling: menyeimbangkan dataset dengan mereduksi ukuran kelas
yang melimpah. Dilakukan jika kuantitas data mencukupi. Undersampling
bekerja dengan mengurangi jumlah data pada bagian kelas mayor (majority
class) undersampling adalah mengambil sampel sedemikian rupa sehingga
proporsi kelas mayoritas tidak sebesar (menjadi lebih kecil) proporsi aslinya.
Sering dikerjakan bahwa amatan kelas minoritas dipilih semuanya, sedangkan
amatan kelas mayoritas diambil secara acak sebagian saja. Dengan cara ini
maka ketimpangan proporsi mayoritas dan minoritas menjadi berkurang.
(Riswanto, Bijaksana, and Maulana 2007).
o Oversampling: Kebalikan dari undersampling, dilakukan jika kuantitas data
tidak mencukupi. Oversampling bekerja dengan menambah jumlah data pada
bagian kelas minor (minority class). Secara umum teknik ini adalah
mengambil kelas minoritas sedemikian rupa sehingga proporsinya dalam
sample lebih besar dibandingkan proporsi asalnya. Yang dilakukan umumnya
pada kasus pemodelan klasifikasi adalah dengan cara menduplikasi amatan
minoritas.
B. Teknik Resampling
Terdapat beberapa teknik dari resampling seperti yang digambarkan oleh gambar
16 dibawah ini.
21. Gambar 16. Teknik Resampling
Berikut merupakan penjelasan dari teknik resampling SMOTE, Oversampling
Bootstrap dan Undersampling Bootstrap.
• Oversampling (SMOTE) : Synthetic Minority Oversampling Technique (SMOTE)
adalah salah satu turunan dari oversampling. SMOTE pertama kali diperkenalkan
oleh Nithes V. Chawla. Pendekatan ini bekerja dengan membuat replikasi dari data
minoritas. Replikasi tersebut dikenal dengan data sintetis (syntetic data). Metode
SMOTE bekerja dengan cara memperbanyak jumlah data pada kelas minor agar
setara dengan kelas mayor dengan cara membangkitkan data buatan yang dibuat
berdasarkan k-nearest neighbor atau KNN (yaitu ketetanggaan terdekat data
sebanyak k) untuk setiap data di kelas minoritas, setelah itu dibuat data sintetis
sebanyak prosentase duplikasi yang diinginkan antara data minor dan knearest
neighbors yang dipilih secara acak (Siringoringo 2018).
• Oversampling : Oversampling bekerja dengan menambah jumlah data pada bagian
kelas minor (minority class). Secara umum teknik ini adalah mengambil kelas
minoritas sedemikian rupa sehingga proporsinya dalam sample lebih besar
dibandingkan proporsi asalnya. Yang dilakukan umumnya pada kasus
pemodelan klasifikasi adalah dengan cara menduplikasi amatan minoritas.
• Undersampling : Undersampling bekerja dengan mengurangi jumlah data pada
bagian kelas mayor (majority class) undersampling adalah mengambil sampel
sedemikian rupa sehingga proporsi kelas mayoritas tidak sebesar (menjadi lebih
kecil) proporsi aslinya. Sering dikerjakan bahwa amatan kelas minoritas dipilih
semuanya, sedangkan amatan kelas mayoritas diambil secara acak sebagian saja.
22. Dengan cara ini maka ketimpangan proporsi mayoritas dan minoritas menjadi
berkurang. (Riswanto, Bijaksana, and Maulana 2007).
11. Pemilihan (Seleksi Fitur) Data
Setelah menentukan sampling atas data yang akan diambil nanti, selanjutnya
adalah melakukan seleksi fitur (feature selection) atas data sampling tersebut. Seleksi
fitur merupakan konsep inti dalam Machine Learning yang berdampak besar bagi kinerja
model prediksi. Fitur data yang tidak/sebagian saja relevan damapak berdampak negatif
terhadap kinerja model. Definisi Seleksi Fitur itu sendiri adalah proses otomatis atau
manual memilih fitur data yang paling berkontribusi terhadap variabel prediksi atau
output yang diinginkan. Beberapa manfaat dari seleksi fitur data anatara lainnya adalah
sebagai berikut :
• Reduksi Overfitting: semakin kecil data redundant maka keputusan berdasarkan
noise semakin berkurang
• Meningkatkan Akurasi: semakin kecil data misleading maka akurasi model lebih baik
• Reduksi Waktu Training: semakin kecil titik data (data point) maka kompleksitas
algortima berkurang dan latih algoritma lebih cepat
Terdapat beberapa jenis dari seleksi fitur data, antara lainnya adalah dijabarkan
sebagai berikut :
• Unsupervised: metode yang mengabaikan variabel target, seperti menghapus variabel
yang berlebihan menggunakan korelasi
• Supervised: metode yang menggunakan variabel target, seperti menghapus variabel
yang tidak relevan
Pada seleksi fitur data, kita harus dapat membedakan Jenis Data yaitu diantaranya
adalah Numerik dan Kategori Kategorik. Gambar 17 dibawah ini menggambarkan tentang
perbedaan data Kategoris dan Numerik.
Gambar 17. Jenis Data Kategoris vs Numerik
23. Pada data kategoris / kualitatif, termasuk didalamnya adalah nominal dan ordinal.
Nominal dapat dimisalkan dengan NIM, Kode Pos & Jenis Kelamin dan ordinal dimisalkan
dengan tingkat kelulusan (cumlaude,sangat memuaskan & memuaskan) dan suhu
(dingin, normal & panas). Pada data Numerik / kuantitatif termasuk didalamnya adalah
Interval dan Rasio. Internal dimisalkan tanggal dan suhu sedangkan rasio dimisalkan
umur, panjang dan tinggi.
12. Validasi Data
Sebelum membahas lebih jauh mengenai validasi data, sebaiknya kita mengetahui
apa perbedaan dari Verifikasi dan Validasi. Verifikasi bertujuan untuk membuktikan
bahwa sesuatu ada atau benar, atau untuk memastikan bahwa sesuatu adalah benar atau
salah sedangkan Validasi bertujuan untuk membuat sesuatu yang resmi diterima atau
disetujui, terutama setelah memeriksanya apakah Kuat atau Lemah.
Validasi atau validitas adalah mengukur sejauh mana perbedaan skor yang
mencerminkan perbedaan sebenarnya baik itu antar individu, kelompok, atau juga
situasi yang mengenai karakteristik yang akan diukur, atau juga kesalahan sebenarnya
pada individu ataupun juga kelompok yang sama dari satu situasi ke situasi yang lain.
(https://pendidikan.co.id/verifikasi-vs-validasi/) Validasi adalah suatu tindakan
pembuktian, artinya validasi merupakan suatu pekerjaan “dokumentasi”.
(https://penerbitbukudeepublish.com/validasi-data-penelitian/ ) Sebagai contoh
adalah sebagi berikut :
• Validasi didalam Mengukur Kemampuan para Siswa didalam Matematik.
Kemudian dengan diberikan soal bersifat kalimat Panjang begitu berbelit-belit.
Hal tersebut bertujuan untuk dapat memberikan kesukaran dalam menangkap
maknanya. Hasil akhirnya, siswa tersebut tidak dapat menjawab, akibat tidak
memahami per-tanyaannya.
• Contoh variabel prestasi belajar serta motivasi bisa diukur oleh tes ataupun juga
oleh kuesioner. Cara demikian juga bisa berbeda, tes tersebut dapat dilaksanakan
baik itu secara tertulis ataupun lisan.
Verifikasi yang dituliskan menurut wikipedia adalah teori filsafat positif logis
didalam memilih metode pengalaman. Dalam artian, bahwa suatu sumber yang
didasarkan pengetahuan serta pengematan dengan melalui analisis logis dengan bantuan
berupa simbol-simbol logika dengan menggunakan metode dalam pemecahan masalah
dengan melalui metode empirik. (https://pendidikan.co.id/verifikasi-vs-validasi/ )
24. Contoh: Verifikasi itu sering ditemui dalam pendaftaran. Pada saat mendaftar,
maka akan diperlukan untuk menyediakan bukti obyektif contohnya seperti fotokopi
KTP, akte kelahiran, dan sejenisnya. Setelah hal-hal tersebut dilengkapi, maka
selanjutnya berkas pendaftaran tersebut diverifikasi. Selain dari itu, verifikasi dapat juga
dilakukan pada laboratorium yang akan melakukan sebuah penelitian. Metode Verifikasi
ini, dilakukan dengan menggunakan sifat yang baku untuk dapat membuktikan hasil yang
benar valid. Verifikasi tersebut juga bisa ditujukan untuk dapat melihat apakah
laboratorium tersebut memiliki kompetensi personil. Validasi merupakan tahapan
kritikal yang sering diabaikan Data Scientist pemula, karena memeriksa, diantaranya sbb:
• Tipe Data (mis. integer, float, string)
• Range Data
• Uniqueness (mis. Kode Pos)
• Consisten expression (mis. Jalan, Jl., Jln.)
• Format Data (mis. utk tgl “YYYY-MM-DD” VS “DD-MM-YYYY.”)
• Nilai Null/Missing Values
• Misspelling/Type
• Invalid Data (gender: L/P: L; Laki-laki; P: Pria/Perempuan? )
Perbedaan Verifikasi dan Validasi dapat kita jabarkan sebagai Verifikasi dan
validasi ini memiliki tujuan untuk menunjukkan bahwa sistem itu sesuai dengan
spesifikasinya serta bahwa sistem tersebut memenuhi harapan pelanggan. Berikut
perbedaannya:
a. Verifikasi itu sebenarnya berbicara pada konfirmasi dengan proses pengujian
dengan secara ilmiah serta objektif mengenai persyaratan tersebut.
b. Berbeda dengan verifikasi, pemeriksaan validasi tersebut biasanya memiliki sifat
tidak baku atau dengan menggunakan metode tersendiiri yang dilakukan pada
laboratorium.
c. Selain dari itu validasi tersebut juga dapat mengembangkan metode tersendiri
pada laboratorium. Validasi tersebut tujuannya untuk dapat memperoleh hasil
berupa valid ataupun tidaknya.
Terdapat beberapa teknik validasi data dan model yang ada, diantaranya adalah
sebagai berikut :
o Akurasi atau Ketepatan data yang ada
o Kelengkapan data
25. o Konsistensi data
o Ketepatan Waktu validasi data
o Kepercayaan
o Nilai Tambah
o Penafsiran data
o Kemudahan Akses
13. Hands On
Dalam praktek kali ini akan digunakan 3 teknik seleksi fitur yang mudah dan
memberikan hasil yang baik diantaranya adalah :
o Seleksi Univariat (Univariate Selection)
o Pentingnya Fitur (Feature Importance)
o Matriks Korelasi (Correlation Matrix) dengan Heatmap
Tabel 1. Tabel Dataset Seleksi Fitur
Sumber Dataset Deskripsi
https://www.kaggle.com
/iabhishekofficial/mobil
e-price-
classification#train.csv
• battery_power: Total energy a battery can store
in one time measured in mAh
• blue: Has Bluetooth or not
• clock_speed: the speed at which microprocessor
executes instructions
• dual_sim: Has dual sim support or not
• fc: Front Camera megapixels
• four_g: Has 4G or not
• int_memory: Internal Memory in Gigabytes
• m_dep: Mobile Depth in cm
• mobile_wt: Weight of mobile phone
• n_cores: Number of cores of the processor
• pc: Primary Camera megapixels
• px_height
• Pixel Resolution Height
• px_width: Pixel Resolution Width
26. Sumber Dataset Deskripsi
• ram: Random Access Memory in MegaBytes
• sc_h: Screen Height of mobile in cm
• sc_w: Screen Width of mobile in cm
• talk_time: the longest time that a single battery
charge will last when you are
• three_g: Has 3G or not
• touch_screen: Has touch screen or not
• wifi: Has wifi or not
• price_range: This is the target variable with a
value of 0(low cost), 1(medium cost), 2(high
cost) and 3(very high cost).
Tabel 2. Tabel Teknik Seleksi Fitur
Jenis
Seleksi
Deskripsi Gambar
(Jupyter Notebook)
Univariate • Uji statistik dapat
digunakan utk memilih
fitur-fitur tsb yang
memiliki relasi paling
kuat dengan variabel
output
• Library scikit-learn
menyediakan class
SelectKBest yang
digunakan utk
serangkaian uji statistik
berbeda utk memilih
angka spesifik dari fitur
• Berikut ini adalah uji
statistik chi-square utk
27. Jenis
Seleksi
Deskripsi Gambar
(Jupyter Notebook)
fitur non-negatif utk
memilih 10 fitur terbaik
dari dataset Mobile Price
Range Prediction.
Feature
Importance
• memberi skor untuk
setiap fitur data, semakin
tinggi skor semakin
penting atau relevan fitur
tersebut terhadap
variabel output
• inbuilt yang dilengkapi
dengan Pengklasifikasi
Berbasis Pohon (Tree
Based Classifier), kami
akan menggunakan
Pengklasifikasi Pohon
Ekstra untuk
mengekstraksi 10 fitur
teratas untuk kumpulan
data
Matriks
Korelasi
dengan
HeatMap
• Korelasi menyatakan
bagaimana fitur terkait
satu sama lain atau
variabel target.
• Korelasi bisa positif
(kenaikan satu nilai fitur
meningkatkan nilai
variabel target) atau
negatif (kenaikan satu
28. Jenis
Seleksi
Deskripsi Gambar
(Jupyter Notebook)
nilai fitur menurunkan
nilai variabel target)
• Heatmap memudahkan
untuk mengidentifikasi
fitur mana yang paling
terkait dengan variabel
target, kami akan
memplot peta panas fitur
yang berkorelasi
menggunakan seaborn
library
• lihat pada baris terakhir
yaitu price range, korelasi
antara price range dengan
fitur lain dimana ada
relasi kuat dengan
variabel ram dan diikuti
oleh var battery power ,
px height and px width.
• sedangkan utk var
clock_speed dan n_cores
berkorelasi lemah dengan
price range
Pada modul ini juga membahas mengenai Data Cleaning (Pembersihan Data). Data
cleaning atas data berantakan (messy data), seperti:
• missing value / ada beberapa nilai yang kosong
• format tidak konsisten
• record tidak berbentuk baik (malformed record)
• outlier yang berlebihan
29. Pada praktik kali ini, lingkup / batasan yang akan dilakukan diantaranya adalah
sebagai berikut :
• Membuang kolom-kolom tidak penting dalam suatu DataFrame
• Mengubah indeks di DataFrame
• Membersihkan kolom dengan metode .str()
• Membersihkan semua dataset dengan fungsi DataFrame.applymap()
• Merubah nama kolom sehingga kolom lebih mudah dikenali
• Melewatkan baris-baris tidak penting dalam file CSV
Pada praktik pembersihan data (cleaning data) diperlukan sumber data / dataset
yang harus dimiliki oleh praktikan. Tabel 3 dibawah ini mengelompokan sumber dataset,
penamaan file serta link dowmload dari sumber data set nya.
Tabel 3. Data Cleaning Dataset
Dataset Nama File Link
Daftar Buku dari
British Library
BL-Flickr-Images-Book.csv https://github.com/realpython
/python-data-
cleaning/blob/master/Datasets
/BL-Flickr-Images-Book.csv
Kota lokasi Sekolah
Tinggi di US
university_towns.txt https://github.com/realpython
/python-data-
cleaning/blob/master/Datasets
/university_towns.txt
Partisipasi Semua
Negara di Olimpiade
Musim Dingin dan
Musim Panas
olympics.csv https://github.com/realpython
/python-data-
cleaning/blob/master/Datasets
/olympics.csv
Peserta kali ini diasumsikan peserta sudah memahami library Pandas dan NumPy
(lihat di modul sebelumnya) termasuk Pandas workshouse Series dan objek DataFrame.
Tabel 4 dibawah ini menjelaskan tentang berbagai syntax yang dapat dilakukan untuk
pembersihan / cleaning dataset
30. Tabel 4. Cleaning Dataset
Perintah Deskripsi Gambar (Jupyter Notebook)
Import Modul
Syntax ini digunakan untuk
menginport modul yang
diperlukan.
Jika ingin melihat statistik dasar
pada DataFrame di Pandas dengan
fungsi .describe():
Membuang /
Drop Kolom
• Sering ditemukan beberapa
kategori data tidak terlalu
berguna di dataset, misal
untuk menganalisis IPK
mahasiswa , data nama
orangtua, alamat adalah
data tidak penting
• Pandas menyediakan fungsi
untuk membuang (drop)
kolom-kolom yang tidak
diinginkan dengan fungsi
drop(). Buat DataFrame di
luar file CSV . Dalam contoh
berikut kita lewatkan path
relatif ke pd.read.csv, yaitu
seluruh dataset berada di
nama folder Datasets di
direktori kerja.
• Melihat pada lima entri
pertama dengan perintah
head().
• Dapat dilihat bahwa
beberapa kolom
31. Perintah Deskripsi Gambar (Jupyter Notebook)
memberikan informasi
tambahan yang akan
membantu perpustakaan
tetapi tidak terlalu
deskriptif tentang buku itu
sendiri: Edition Statement,
Corporate Author,
Corporate Contributors,
Former owner, Engraver,
Issuance type and
Shelfmarks.
Drop Kolom
Kita definisikan daftar (list) nama
dari semua kolom yang ingin kita
drop. Kemudian jalankan perintah
fungsi drop(), dengan melewatkan
parameter inplace bernilai True
dan parameter axis bernilai 1
Inspeksi ulang DataFrame, kolom
yang tidak diinginkan sudah
dibuang.
Alternatif utk membuang kolom,
dengan meneruskannya langsung
ke parameter columns daripada
memisahkan label-label yang mau
dibuang:
32. Perintah Deskripsi Gambar (Jupyter Notebook)
Mengubah
indeks di
Dataframe
Index dalam Pandas memperluas
fungsionalitas array NumPy untuk
memungkinkan pemotongan
(slicing) dan pelabelan yang lebih
fleksibel. Dalam banyak kasus,
akan sangat membantu jika
menggunakan field pengenal data
yang bernilai unik sebagai
indeksnya.
Sebagai contoh, dengan dataset di
slide sebelumnya, praktiknya saat
pustakawan mencari record,
biasanya akan memasukan
identifier unik suatu buku
Gantikan indeks yang ada pada
kolom ini menggunakan set_index
Kami dapat mengakses setiap
records dengan cara yang mudah
dengan loc[]. Cara ini digunakan
untuk label-based indexing, yaitu
memberi label suatu baris atau
kolom tanpa memperhatikan
posisi/lokasinya
Dengan kata lain, 206 adalah label
pertama dari indeks. Utk
33. Perintah Deskripsi Gambar (Jupyter Notebook)
mengakses berdasarkan posisinya,
gunakan df.iloc[]
Pada slide sebelumnya, Indeks
yang digunakan adalah
RangeIndex: integer mulai dari 0,
analog dengan range di Python.
Dengan meneruskan nama kolom
ke set_index, maka indeks telah
diubah ke nilai dalam Identifier.
Diperhatikan pada langkah
sebelumnya bahwa telah
dilakukan penetapan kembali
variabel ke objek yang
dikembalikan oleh metode dengan
df = df.set_index(...). Ini karena,
secara default, metode
mengembalikan salinan objek yang
dimodifikasi dan tidak membuat
perubahan secara langsung ke
objek. Hal ini dapat dihindari
dengan mengatur parameter
inplace
Merapihkan
Fields dalam
Data
Slide sebelumnya telah dibuang
beberap kolom tidak penting dan
diubah indeks pada DataFrame
hingga menjadi lebih masuk akal.
Selanjutnya, akan dibersihkan
kolom tertentu dan mengubah
menjadi bentuk/format yang
seragam hingga dataset lebih
34. Perintah Deskripsi Gambar (Jupyter Notebook)
mudah dipahami dan memastikan
konsistensi. Dalam slide
berikutnya akan dibersihkan Date
of Publication dan Place of
Publication. Dalam inspeksi,
semua tipe data saat ini adalah
objek dtype yang analog dengan
str di native Python. Cara ini
dilakukan sebagai rangkuman saat
setiap field tidak dapat dirapihkan
sebagai data numerik atau data
kategorik dan data yang digunakan
cukup “kotor” atau “berantakan”.
• Buku tertentu hanya memiliki
satu tanggal publikasi. Oleh
karena itu perlu dilakukan hal
berikut:
• Hilangkan tanggal lain dalam
kurung siku, 1879[1878]
• Konversi rentang tanggal ke
“start date”, 1860-63; 1839, 38-
54
• Hilangkan tanggal yang tidak
jelas dan gantikan dengan NaN
NumPy, [1879?] -> NaN
• Konversi string nan ke nilai NaN
NumPy
• Mensintesis pola-pola ini,
manfaatkan ekspresi reguler
(Regex) tunggal untuk
mengekstrak tahun publikasi.
35. Perintah Deskripsi Gambar (Jupyter Notebook)
• perintah d mewakili sebarang
digit dan {4} mengulangi aturan
(rule) sebanyak empat kali.
Kararakter ^ sesuai dengan
awal string, dan tanda dalam
kurung () menunjukkan
capturing group yang
memberikan sinyal ke Pandas
bahwa akan dilakukan ekstraksi
bagian Regex tersebut.
Coba jalankan regex di dataset
Secara teknis, kolom tsb masih
memiliki object dtype, namun
dengan mudah kita dapatkan versi
numeriknya dengan perintah
pd.to_numeric
Ini menghasilkan sekitar 1/10 nilai
yang hilang, cost yang cukup kecil
dampaknya untuk saat ini karena
dapat melakukan perhitungan
pada nilai valid yang tersisa:
Membersihkan
Kolom dengan
Kombinasi
metode str
dengan
NumPy
Slide sebelumnya dibahas
penggunaan df['Date of
Publication'].str. Atribut ini adalah
cara akses cepat operasi string di
Pandas yang menyerupai operasi
pada native Python atau
36. Perintah Deskripsi Gambar (Jupyter Notebook)
mengkompilasi regex seperti
.split(), .replace(), dan .capitalize().
Utk membersihkan field Place of
Publication, kombinasikan metode
str di Panda dengan fungsi
np.where di NumPy yang mirip
dengan bentuk vektor dari makro
IF() di Excell, dengan sintak
berikut:
condition mirip dengan objek
array atau Boolean .then adalah
nilai yang digunakan jika condition
mengevaluasi menjadi True, dan
else untuk mengevaluasi nilai
selainnya.
.where membawa tiap elemen
dalam objek digunakan untuk
condition dan memeriksa elemen
tertentu menjadi True dalam
konteks kondisi dan
mengembalikan ndarray terdiri
dari then atau else, tergantung
pada prakteknya.
Dapat juga dituliskan dalam
berkalang (nested) menjadi
pernyataan If-Then,
memungkinkan menghitung nilai
berbasiskan kondisi berganda:
37. Perintah Deskripsi Gambar (Jupyter Notebook)
Kemudian, dapat digunakan dua
fungsi tsb untuk membersihkan
field Place of Publication karena
kolom tsb memiliki objek string.
Berikut adalah isi dari kolom:
Dilihat pada hasil di atas, field
place of publication masih ada
informasi yang tidak penting. Jika
dilihat lebih teliti, kasus ini untuk
beberapa baris yang place of
publication -nya di “London” dan
“Oxford”.
Pada dua entri di samping, dua
buku diterbitkan di tempat yang
sama (newcastle upon tyne)
namun salah satunya memilik
tanda hubung (-)
Untuk membersihkan kolom ini
dalam sekali jalan, gunakan
str.contains() untuk mendapatkan
Boolean mask.
38. Perintah Deskripsi Gambar (Jupyter Notebook)
• Kombinasikan dengan
np.where. Di sini, fungsi
np.where berbentuk struktur
nested, dimana condition
berbentuk Series dari Boolean
dengan str.contains(). Metode
contains() bekerja mirip dengan
keyword in yang digunakan
untuk mencari kejadian suatu
entitas dalam kondisi
pengulangan iterasi (atau
substring dalam suatu string)
• Pergantian tanda hubung
(hypen) dengan spasi dengan
str.replace() dan re-assign ke
kolom dalam DataFrame.
• Walau pada kenyataan masih
banyak dataset ini (kolom dan
baris) yang “kotor” , namun
dalam contoh di sini hanya
dibahas pada dua kolom
Coba periksa kembali untuk lima
entri pertama, hasilnya akan lebih
rapih dan “bersih” dibandingkan
dataset awal sebelum dilakukan
cleaning data.
39. Perintah Deskripsi Gambar (Jupyter Notebook)
Membersihkan
seluruh
dataset
• Terapkan fungsi applymap()
pada file “university_towns.txt”:
• Dapat dilihat di atas, bahwa
nama negara bagian(state)
diikuti dengan kota asal
universitas: StateA TownA1
TownA2 StateB TownB1
TownB2.... dan memiliki
substring ”[edit]”
Kita dapat memanfaatkan pola ini
dengan membuat list of (state, city)
tuples dan wrapping daftar (list)
dalam DataFrame.
• Kita dapat membungkus (wrap)
daftar ini dalam DataFrame dan
mengatur kolom sebagai “State”
and “RegionName”.
• Pandas akan mengambil setiap
elemen dalam daftar dan
mengatur "State" ke nilai kiri
dan “RegionName” ke nilai
kanan.
• Hasilnya adalah DataFrame
sebagai berikut :
40. Perintah Deskripsi Gambar (Jupyter Notebook)
• Pandas, mempermudah dalam
pembersihan string dengan
hanya membutuhkan nama
state dan nama town dan dapat
membuang lainnya. Selain
dapat kembali menggunakan
metode .str() di Pandas, dapat
juga menggunakan applymap()
untuk memetakan setiap
elemen di DataFrame
• Perhatikan kasus sederhana
pada contoh DataFrame
berikut:
• Pada contoh di atas, setiap sel
(“Mock”, “Dataset”, “Python”,
“Real”, dll) adalah elemen. Oleh
karena itu perintah applymap()
akan menerapkan fungsi ke
setiap elemen secara
independen. Mari kita
definisikan fungsi tsb:
• Fungsinya didefinisikan
berikut:
applymap() di Pandas hanya butuh
satu parameter , yaitu fungsi yang
diterapkan ke setiap elemen:
41. Perintah Deskripsi Gambar (Jupyter Notebook)
Membersihkan
data dengan
applymap()
• Pada situasi tertentu, data
berantakan alias “kotor” tidak
hanya berlaku di sebagian
kolom atau baris (record) tapi
menyebar ke banyak bagian
dataset.
• Cara berikut dapat diterapkan
untuk semua cell atau elemen di
DataFrame (dataset). Metode
.applymap() dapat diterapkan,
dimana similar dengan fungsi
built-in yaitu fungsi map().
• Lalu, fungsi applymap()
dipanggil pada objek yg ada.
Sehingga kita dapatkan
DataFrame yang relatif lebih
rapih
Mengganti
Nama Kolom
• Seringkali dalam dataset yang
dimiliki ada nama kolom yang
suli utk dipahami atau
informasi yang tidak penting
dalam beberapa baris
awal/akhir, misal definisi
istilah atau footnotes.
• Oleh karena itu dapat
dilakukan penggantian nama
dan melewatkan beberapa
baris sehingga bisa dilakukan
analisis informasi dari baris
yang benar atau dapat
dipahami.
42. Perintah Deskripsi Gambar (Jupyter Notebook)
• Kita akan lakukan utk lima
baris awal dataset
“olympic.csv”:
Kemudian, baca dalam DataFrame
di Pandas:
• Hasilnya berantakan. Kolom
adalah bentuk string integer
indeks 0. Baris yang harusnya
sebegai header pada
olympics_df.iloc[0]. Hal ini
terjadi karena file CSV mulai
dengan 0, 1, 2, ...., 15.
• Dan, jika kita ke sumber dataset
ini, akan terlihat NaN yang ada
harusnya berisikan “Country”
dan “Summer” maksudnya
adala”Summer Games” dan
“01!” harusnya adalah “Gold” ,
dll.
• Oleh karena itu, hal berikut
yang perlu dilakukan:
o Melewatkan (skip) satu
baris dan atur header
sebagai baris pertama
(indeks-0)
o Mengganti Nama Kolom
• Melewatkan baris dan atur
header dapat dilakukan pada
saat membaca file CSV dengan
mempassing beberapa
parameter ke fungsi read_csv().
43. Perintah Deskripsi Gambar (Jupyter Notebook)
• Fungsi read_csv() memerlukan
banyak parameter opsional,
namun utk kasus ini hanya
diperlukan satu (header) yang
dihilangkan pada baris ke-0,
dengan hasil sbb:
Hasil fungsi read_csv() dan
menghilangkan satu baris (header)
• Sekarang, yang tampak di atas
adalah sekumpulan baris yang
benar sebagai header dan
semua baris yang tidak
dibutuhkan telah dihilangkan.
• Pandas telah merubah nama
kolom yang mengandung nama
“countries” dari NaN menjadi
Unnamed:0
• Utk mengganti nama kolom,
digunakan metode rename()
DataFrame yg memungkinkan
memberi label pada axis
berdasarkan pemetaan (dalam
kasus ini yaitu dict)
• Mulai dengan mendefinisikan
suatu kamus yang memetakan
nama kolom saat ini sebagi
44. Perintah Deskripsi Gambar (Jupyter Notebook)
kunci ke yang lebih dapat
digunakan”
Kemudian, panggil fungsi
rename() pada objek dimaksud:
Atur inplace menjadi True, dengan
hasil sbb:
14. Summary
• Data preparation memiliki sebutan lain, diantaranya data pre-processing, data
cleaning, data manipulation,
• Data preparation mengambil porsi kerja terbanyak dalam data science 60-80%
• Data preparation membutuhkan ketelitian dan kesabaran/kerajinan dari peneliti DS,
terutama pemula
• Data Validation merupakan tahapan kritikal dari DS namun sering diabaikan para
peneliti
• Seleksi Fitur harus dilakukan di awal tahapan data preparation setelah melakukan
penentuan metode/teknik sampling
• Data cleaning merupakan pekerjaan yang sangat memerlukan keahlian teknik DS
terkait penggunakan tools dan coding
• Kebersihan data merupakan sarat mutlak utk Model Prediksi yang Baik.
15. Tools
• jupyter notebook
• scikit-learn
• pandas
• numpy
45. Tugas Dan Proyek Pelatihan (Tugas Harian)
Silahkan mengerjakan Quiz Modul 8 pada LMS Kominfo.
Link Referensi Modul Pertama
• Krensky P. Data Pre Tools: Goals, Benefits, and The Advantage of Hadoop. Aberdeen Group Report.
July 2015
• SAS. Data Preparation Challenges Facing Every Enterprise. ebook. December 2017
• https://www.forbes.com/sites/gilpress/2016/03/23/data-preparation-most-time-consuming-
least-enjoyable-data-science-task-survey-says/?sh=6e9aa0e36f63
• https://improvado.io/blog/what-is-data-preparation
• https://searchenterpriseai.techtarget.com/feature/Data-preparation-for-machine-learning-still-
requires-humans?
• https://towardsdatascience.com/feature-selection-techniques-in-machine-learning-with-python-
f24e7da3f36e
• Etikan, Ilker, And Kabiru Bala. 2017. “Sampling And Sampling Methods.” Biometrics & Biostatistics
International Journal 5(6). Https://Medcraveonline.Com/Bbij/Sampling-And-Sampling-
Methods.Html.
• Mccombes, Shona. 2021. “An Introduction To Sampling Methods.” Scibbr Official Website.
Https://Www.Scribbr.Com/Methodology/Sampling-Methods/ (August 2, 2021).
• Retnawati, Heri. 2021. Teknik Pengambilan Sampel.
Http://Staffnew.Uny.Ac.Id/Upload/132255129/Pengabdian/15-Teknik Penyampelan
Alhamdulillah.Pdf.
• Riswanto, Ricky, Moch Arif Bijaksana, And Kiki Maulana. 2007. “Metode Sampling Dalam
Menyelesaikan Data Text Imbalance Untuk Klasifikasi Multi-Label.”
• Siringoringo, Rimbun. 2018. “Klasifikasi Data Tidak Seimbang Menggunakan Algoritma Smote Dan
K-Nearest Neighbor.” Jurnal Isd 3(1).
Https://Ejournal.Medan.Uph.Edu/Index.Php/Isd/Article/Viewfile/177/63#:~:Text=Metode
Synthetic Minority Over-Sampling,Sampling Ulang Sampel Kelas Minoritas.
• Supardi, 1993. “Laporan Penelitian: Populasi dan Sampel Penelitian.”
http://journal.uii.ac.id/Unisia/article/download/5325/4958
• Sugiyono. 2011. “Metode Penelitian Kuantitatid Kualitatif dan R&D.” Bandung: Alfabeta
• Ayu Asari. 2018. “Pengembangan Ekowisata Bahari Berbasis Masyarakat di Desa Bahoi,
Kecamatan Likupang Barat, Kabupaten Minahasa Utara.” Jurnal Vol. 6(1): 32.
https://ejournal.unsrat.ac.id/index.php/platax/article/view/17877/17398
• Budiman, Irwan. 2012. “Data Clustering Menggunakan Metodologi Crisp-Dm Untuk Pengenalan
Pola Proporsi Pelaksanaan Tridharma.” Universitas Diponegoro.
Http://Eprints.Undip.Ac.Id/36029/1/Irwan_Budiman.Pdf.
Link Pertanyaan Modul Petama
46. Bahan Tayang
Power Point
Link room Pelatihan dan Jadwal live sesi bersama instruktur
Zoom
Penilaian
Komposisi penilaian Tugas Visualisasi: Nilai 100
Target Penyelesaian Modul Pertama
1 hari / sampai 6 JP