Anda di halaman 1dari 10

MODUL

BIG DATA ANALYTIC

Disusun oleh :

Sri Redjeki, S.Si, M.Kom.

Maria Mediatrix S., S.Kom., M.Eng.

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AKAKOM

YOGYAKARTA

2020

i
KATA PENGANTAR

ii
DAFTAR ISI

KATA PENGANTAR...................................................................................................... ii
DAFTAR ISI ................................................................................................................... iii
MODUL 1 NAMA POKOK BAHASAN...........................................................................1

iii
MODUL 6
EXPORTING IMPORTING DATA

CAPAIAN PEMBELAJARAN

1. Mampu melakukan Extract, Transform dan Load dari dokumen CSV dan Excel ke dalam
MySQL.

KEBUTUHAN ALAT/BAHAN/SOFTWARE

1. Python
2. Jupyter Notebook
3. Module xlrd
4. Modules pandas
5. Modules sqlalchemy
6. Modules pymsql

DASAR TEORI

Didefinisikan sebagai suatu proses yang yang mengExtract data dari berbagai
sumber, baik terstruktur maupun tidak terstruktur, kemudian melakukan Transformasi data
dan menyimpannya (Load) ke lokasi lain. Lokasi akhir penyimpanan biasanya adalah Data
Warehouse. ETL atau extract, transform, loading adalah fase pemrosesan data dari sumber
data masuk ke dalam data warehouse. Tujuan ETL adalah mengumpulkan, menyaring,
mengolah dan menggabungkan datadata yang relevan dari berbagai sumber untuk
disimpan ke dalam data warehouse. ETL juga dapat digunakan untuk mengintegrasikan data
dengan sistem yang sudah ada sebelumnya.
Flow dari ETL:

1
Tahapan :
Extract
Data diambil dan masuk ke staging Area. Data dapat berupa : Spreadsheet (Excell), database
OLTP, Dokumen Word, Web, Log yang dihasilkan oleh sistem, dll
Transform
Mengubah data sesuai dengan aturan dan standar bisnis yang telah ditetapkan. Beberapa
hal yang bisa dilakukan dalam proses transform :
• Filtering : Hanya memilih kolom tertentu saja untuk dimasukkan ke dalam data
warehouse.
• Melakukan perhitungan nilai-nilai baru (misal sale_amount = qty*unit_price).
• Menggabungkan data dari berbagai sumeber bersama-sama.
• Select, Join, Agregasi
Load
Fase load merupakan tahapan yang berfungsi untuk memasukkan data ke dalam
target akhir, yaitu ke dalam suatu data warehouse.

PRAKTIK

1. Masuk ke folder c:\python


2. Install module pandas dan xlrd, dengan menjalankan :
C:\python>conda install pandas
C:\python>conda install xlrd
C:\python>conda install sqlalchemy
C:\python>conda install pymsql

3. Untuk memastikan installasi berhasil, masuk ke REPL python


(base) C:\Users\ASUS>python
Python 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit
(AMD64)] :: Anaconda, Inc. on win32

2
Type "help", "copyright", "credits" or "license" for more
information.
>>> import pandas
>>> import xlrd
>>> import sqlalchemy
>>> import pymysql
Jika tidak ada pesan Error, berarti installasi sukses.
4. Download file data-pert11.zip yang berisi pegawai_cab01.csv dan
pegawai_cab02.xlsx
5. Masuklah ke Database MySQL di komputer anda (anda dapat menggunakan
phpMyAdmin), kemudian buatlah database baru bernama bigdata6
6. Skenario untuk praktik ini: terdapat 2 buah dokumen dengan jenis berbeda yaitu
pegawai_cab01.csv berupa file CSV dan pegawai_cab02.xlsx berupa file Excell. Data
pegawai_cab01.csv terdiri dari :
nik,nama,gaji,tglmasuk,job_id,job_title, sedangkan file
pegawai_cab02.xlsx terdiri dari : nik,nama,job,status. Status berisi tulisan
“OUT” jika pegawai tersebut sudah keluar. Goalnya adalah, menggabungkan isi file
pegawai_cab01.csv dan pegawai_cab02.xlsx untuk field nik, nama, job_id ke tabel
pegawai, sedangkan job_id dan job_title akan masuk ke tabel Job.
Jalankan dan amati hasilnya! Jelaskan fungsi .text dan .strip()
7. Langkah awal buatlah file etl-1.py, untuk mengakses data CSV nya. Ketikkan script
berikut ini:

Jalankan dan amati hasilnya!


8. Untuk mengambil hanya data nik, nama, job_id, modifikasilah script etl-1.py menjadi
seperti berikut :

Jalankan dan amati perbedaan di script no.7.


9. Langkah berikutnya membaca file pegawai_cab01.xlsx. Buatlah file baru bernama
etl-2.py dan ketikkan script berikut ini:

3
Jalankan dan amati hasilnya.
10. Modifikasilah script etl-2.py, agar data yang terambil hanya yang status bukan OUT,
kemudian kolom yang dibutuhkan disamakan dengan pegawai_cab01 di atas, yaitu
nik, nama, job

Jalankan dan amati hasilnya. Seharusnya data milik Siti sudah tidak muncul
11. Selanjutnya karena kedua hasil tersebut akan digabung maka nama kolom harus
sama. Sehingga langkah berikutnya adalah memodifikasi nama kolom “job” menjadi
“job_id”. Modifikasi script etl-2.py sebagai berikut :

Jalankan dan amati hasilnya!


12. Gabungkan isi etl-1.py dan etl-2.py ke file baru bernama etl-3.py, lalu lengkapi
program dengan mengetikkan script berikut ini:

4
Jalankan dan amati hasilnya!
13. Langkah berikutnya adalah koneksi ke MySQL, buatlah file baru bernama etl-4.py, dan
ketikkan script berikut ini:

Jalankan dan amati hasilnya. Apabila muncul daftar nama database yang terdapat di
MySQL server maka koneksi tersebut sudah berhasil
14. Modifikasilah program etl-4.py dengan menambahkan import pandas di baris 2

5
Df_gabung.to_sql menunjukkan bahwa data di dataframe df_gabung, disimpan ke
tabel bernama pegawai, menggunakan koneksi sql_engine. Jika sudah ada maka akan
ditimpa, serta tidak menyertakan index dari dataframe ini.
Jalankan dan amati hasilnya! Bukalah phpMyAdmin untuk melihat apakah proses Load
sudah berhasil atau belum
15. Untuk melakukan Load data Job, buatlah file baru bernama etl-5.py, ketikkan script
berikut:

Jalankan script tersebut kemudian cek melalui phpMyAdmin apakah proses Load tabel
job sudah berhasil

6
LATIHAN

TUGAS

• Download file “100 Sales record.csv”


• Lakukan extraction, transform dan load sehingga di mysql akan terbentuk 2 tabel:
Tabel region berisi : country dan Region
Tabel Sales berisi : semua kolom yang ada selain kolom region
• Jika sudah berhasil, buatlah script untuk melakukan query dari tabel bentukan
tersebut dan menampilkan data total profit tiap Region.

REFERENSI

Anda mungkin juga menyukai