Data Understanding & Explorasi Data (Iris)#

Data Understanding & Explorasi Data adalah proses pengumpulan, eksplorasi, dan evaluasi data dengan tujuan memastikan bahwa data sesuai dengan kebutuhan bisnis serta siap digunakan pada tahap analisis berikutnya. Tahapan yang termasuk dalam memahami data antara lain:

  1. Pengumpulan Data
    Mengidentifikasi dan mengumpulkan data dari berbagai sumber yang relevan.

  2. Deskripsi Data
    Menganalisis struktur data, seperti jumlah baris, kolom, serta tipe variabel atau atribut yang dimiliki.

  3. Eksplorasi Data
    Mengeksplorasi pola, hubungan antar variabel, maupun anomali pada data melalui analisis statistik deskriptif serta visualisasi data.

  4. Kualitas Data
    Menilai kelengkapan, akurasi, serta konsistensi data yang digunakan.

Pembuatan Database PostgreSQL#

Pembuatan database PostgreSQL dapat dilakukan dengan menggunakan layanan cloud aiven.io dan aplikasi DBeaver sebagai alat pengelola database. Prosesnya diawali dengan membuat project baru di aiven.io dengan memilih PostgreSQL sebagai jenis database, kemudian menghubungkan project tersebut ke DBeaver menggunakan kredensial yang tersedia. Setelah itu, dibuat database di dalam service tersebut dan data dapat diimpor dalam format CSV.

Langkah-Langkah Membuat Service PostgreSQL di aiven.io#

  1. Buka situs aiven.io.

  2. Login terlebih dahulu, atau daftar jika belum memiliki akun.

  3. Buat sebuah Project sebelum menambahkan service.

  4. Klik “Create Service” dan pilih PostgreSQL sebagai database yang digunakan.

Mysql.pngPostgreSQL.png

Membuat Database MySQL dan PostgreSQL serta Insert Data di DBeaver#

1. Instalasi DBeaver#

Unduh dan pasang aplikasi DBeaver melalui situs resmi dbeaver.io/download.

2. Membuat Database Baru#

  • Buat database baru dengan memilih MySQL dan PostgreSQL sebagai sumber database pada DBeaver.

3. Koneksi dengan Cloud Database#

  • Hubungkan database yang dibuat dengan layanan cloud database aiven.io.

  • Gunakan kredensial service MySQL dan PostgreSQL yang telah disediakan oleh aiven.io untuk melakukan koneksi.

4. Membuat Tabel Database#

  • Buka menu SQL Editor → Open SQL Script pada DBeaver.

  • Buat tabel sesuai kebutuhan pada database yang sudah terkoneksi.

5. Insert Data ke dalam Database#

  • Setelah tabel berhasil dibuat, lakukan insert data dengan dataset Iris.

  • PostgreSQL : Isi tabel dengan atribut Petal Length dan Petal Width.

  • MySQL : Isi tabel dengan atribut Sepal Length dan Sepal Width.

Screenshot 2025-09-19 154532.pngScreenshot 2025-09-19 154552.png

Menarik Data MySQL dan PostgreSQL ke Power BI#

1. Mengakses Data di Power BI#

  • Buka Power BI, lalu pilih menu Get Data untuk mengambil data dari database.

2. Menggunakan Python Scripting#

  • Pada jendela sumber data, pilih Other → Python Script.

  • Klik Connect untuk memulai proses koneksi.

4. Data yang Digunakan#

  • MySQL: ambil data Iris Petal Length dan Petal Width.

  • PostgreSQL: (dapat ditambahkan pada script serupa dengan kredensial PostgreSQL).

Menarik Data dari MySQL dan PostgreSQL#

Tarik Data dari MySQL#

import pymysql
import pandas as pd   

# Koneksi ke MySQL
mysql_conn = pymysql.connect(
    host="mysql-fc1c646-asepprayogi716-30a1.d.aivencloud.com",
    user="avnadmin",
    password="AVNS_AHAxpuoiPjhYJmRGcpt",
    database="defaultdb",
    port=16395,
    ssl={"ssl": {}}
)

# Query ke tabel MySQL
query_mysql = "SELECT * FROM defaultdb.sepal"
data_mysql = pd.read_sql(query_mysql, mysql_conn)  

# Tampilkan data MySQL
data_mysql

image.png

Tarik Data dari PostgreSQL#

import psycopg2
import pandas as pd

# Koneksi ke PostgreSQL
pg_conn = psycopg2.connect(
    host="pg-2c0f83d0-asepprayogi716-30a1.d.aivencloud.com",
    user="avnadmin",
    password="AVNS_0Vt8kHasY9r-5ywzxgc",
    database="defaultdb",
    port=16395,              # default port PostgreSQL
    sslmode="require"        # aiven.io biasanya membutuhkan SSL
)

# Query ke tabel PostgreSQL
query_pg = "SELECT * FROM public.petal"

# Ambil data langsung ke pandas
data_pg = pd.read_sql(query_pg, pg_conn)

# Tampilkan data PostgreSQL
print(data_pg)

# Tutup koneksi
pg_conn.close()

image.png

Menggabungkan Data di Power BI#

Langkah-Langkah#

  1. Pada menu Home, pilih opsi Transform Data.

  2. Gunakan fitur Merge Queries, lalu pilih Merge Queries as New agar hasil penggabungan data tersimpan pada tabel baru.

  3. Tentukan tabel yang akan digabungkan dengan memilihnya melalui dropdown yang tersedia.

  4. Pilih kolom penghubung untuk proses penggabungan.

    • Pada dataset Iris, setiap data memiliki id yang sama karena jumlah baris yang konsisten.

    • Oleh karena itu, cukup gunakan inner join.

  5. Konsep inner join adalah hanya menggabungkan baris yang memiliki id yang sama di kedua tabel.

  6. Setelah menentukan kolom penghubung, klik OK untuk menyelesaikan proses penggabungan.
    image.png

7. Melihat Hasil Penggabungan#

  • Setelah proses merge selesai, akan muncul tabel baru sebagai hasil penggabungan.

  • Pada kolom hasil penggabungan, klik ikon panah untuk memilih atribut mana saja yang ingin ditampilkan pada tabel akhir.

  • Pilih kolom sesuai kebutuhan agar data lebih terstruktur dan relevan.
    image.png

Hasil Akhir#

Berikut merupakan hasil penggabungan kolom dari kedua tabel (MySQL dan PostgreSQL) pada dataset Iris.
image.png

Eksplorasi Data#

Eksplorasi data dilakukan untuk memahami karakteristik dari dataset Iris sebelum digunakan pada tahap analisis lebih lanjut. Proses ini meliputi pencarian nilai minimum, maksimum, rata-rata, distribusi kelas, serta pemeriksaan kualitas data melalui deteksi outlier dan missing value.

Nilai Min–Max dari Setiap Kolom#

Analisis awal dilakukan dengan mencari nilai minimum dan maksimum dari setiap fitur.

Nilai Minimum

image.png

Nilai Maximum

image.png Rentang nilai min-max ini membantu menggambarkan sebaran data untuk setiap atribut.

Nilai Rata-Rata dari Setiap Kolom#

Selanjutnya dihitung nilai rata-rata dari masing-masing kolom.
Didapatkan hasil sebagai berikut:
image.png

Dari hasil tersebut dapat terlihat bahwa rata-rata ukuran sepal lebih besar dibandingkan petal.

Distribusi Jumlah Data Tiap Kelas#

Visualisasi jumlah data menunjukkan bahwa dataset Iris memiliki distribusi yang seimbang.
Masing-masing kelas (Setosa, Versicolor, dan Virginica) berjumlah 50 data.
Keseimbangan ini membuat dataset cocok digunakan untuk pemodelan klasifikasi.
image.png

Deteksi Outlier#

Proses selanjutnya adalah mendeteksi outlier menggunakan dua pendekatan.

  1. Metode ABOD (Angle-Based Outlier Detection):
    Hasil deteksi memperlihatkan beberapa data yang keluar dari pola umum sehingga ditandai sebagai outlier.

# 'dataset' holds the input data for this script
# 'dataset' holds the input data for this script
import pandas as pd
from pycaret.anomaly import *

data = dataset.copy()

abod_data = setup(data, session_id=123)

abod = create_model('abod')
abod_predictions = assign_model(abod)
anomali_only = abod_predictions[abod_predictions['Anomaly'] == 1]
anomali_only

image.png

  1. Metode IForest (Isolation Forest):
    Pada hasil pemrosesan, kolom tambahan Anomaly muncul dengan nilai 0 untuk data normal dan 1 untuk data outlier.

import pandas as pd
from pycaret.anomaly import setup, create_model, assign_model

#mengambil data berbasis dataframe
data = dataset.copy()

process = setup(data, session_id=123)

#memilih model outlier
model = create_model('iforest')

#hasil
result = assign_model(model)
result

image.png

Kehadiran outlier ini dapat memengaruhi hasil analisis sehingga perlu dipertimbangkan dalam tahap selanjutnya.
Berdasarkan gambar di atas terlihat bahwa outlier ditemukan pada data dengan id 14.

Pencarian Missing Value#

Pemeriksaan dilakukan untuk memastikan apakah terdapat data yang kosong.
Hasil analisis menunjukkan bahwa tidak ada fitur yang memiliki missing value pada dataset Iris.
Dengan demikian, dataset sudah bersih dan siap untuk tahap analisis lebih lanjut.

import pandas as pd

# load data
data = dataset.copy()

# cari missing value
loss = data.isnull().sum()

# hasil
result = pd.DataFrame({
    'Column': loss.index,
    'MissingCount': loss.values
})
result

image.png

Kesimpulan Eksplorasi#

  • Dataset memiliki distribusi kelas yang seimbang.

  • Rentang nilai tiap fitur dapat digambarkan dengan baik melalui nilai min–max.

  • Tidak ditemukan missing value pada dataset.

  • Terdapat data outlier yang berhasil diidentifikasi dengan metode ABOD dan IForest.