· komentar ·oleh captain flyng dutchman

BAB 28: PENGOLAHAN DATA DAN PLOTTING

 

BAB 28: PENGOLAHAN DATA DAN PLOTTING

 

A.    Pengantar Pengolahan Data

1.     Mengapa Pengolahan Data Diperlukan?

a.     Data mentah (raw data) seringkali tidak langsung memberikan informasi yang berguna

b.     Pengolahan data mengubah data mentah menjadi informasi yang bermakna

c.     Memungkinkan deteksi pola, tren, dan anomaly

d.     Mempermudah interpretasi hasil eksperimen atau simulasi

e.     Aplikasi: analisis sinyal, karakterisasi komponen, optimasi desain

2.     Tahapan Pengolahan Data

a.     Akuisisi data (pengukuran atau simulasi)

b.     Pemfilteran (filtering) — membuang noise

c.     Transformasi (skala, normalisasi)

d.     Analisis (statistik, kurva fitting)

e.     Visualisasi (plot, grafik, diagram)

3.     Tools untuk Pengolahan Data

a.     Python — NumPy (numerik), Pandas (data), Matplotlib (plotting)

b.     MATLAB — standar untuk teknik dan sains

c.     Octave — open-source alternatif MATLAB

d.     GNU Octave — kompatibel dengan MATLAB

e.     Aplikasi: analisis data eksperimen, simulasi SPICE

B.    Interpolasi — Mengisi Data yang Hilang

1.     Definisi Interpolasi

a.     Interpolasi adalah metode untuk memperkirakan nilai di antara titik-titik data yang diketahui

b.     Digunakan ketika data tidak tersedia pada titik yang diinginkan

c.     Berbeda dengan ekstrapolasi (memperkirakan di luar rentang data)

d.     Aplikasi: mengisi celah data pengukuran, membuat kurva halus

e.     Contoh: data pengukuran V-I dioda (menemukan V pada I tertentu)

2.     Interpolasi Linear

a.     Menghubungkan dua titik dengan garis lurus

b.     f(x) = f(x₀) + (f(x₁) - f(x₀)) / (x₁ - x₀) × (x - x₀)

c.     Sederhana dan cepat

d.     Akurasi rendah untuk data yang tidak linear

e.     Aplikasi: perkiraan kasar, data dengan jarak titik rapat

3.     Interpolasi Spline

a.     Menggunakan polinomial orde-3 (kubik) antar titik

b.     Menghasilkan kurva halus (tidak ada sudut tajam)

c.     Memastikan kontinuitas turunan pertama dan kedua

d.     Akurasi tinggi untuk data yang halus

e.     Aplikasi: membuat kurva karakteristik komponen, analisis sinyal

4.     Interpolasi Lagrange

a.     Menggunakan polinomial orde tinggi yang melewati semua titik

b.     L(x) = Σ y_i × L_i(x)

c.     Akurasi tinggi untuk data yang smooth

d.     Dapat berosilasi (Runge phenomenon) untuk data dengan banyak titik

e.     Aplikasi: kurva fitting presisi tinggi

C.    Regresi Kurva (Curve Fitting)

1.     Definisi Regresi

a.     Regresi adalah metode untuk menemukan fungsi yang paling sesuai dengan data

b.     Berbeda dengan interpolasi (melewati semua titik), regresi tidak harus melewati semua titik

c.     Meminimalkan error antara fungsi dan data

d.     Aplikasi: menemukan model matematika dari data eksperimen

e.     Contoh: menemukan persamaan karakteristik dioda dari data pengukuran

2.     Least Squares (Kuadrat Terkecil)

a.     Meminimalkan jumlah kuadrat error: Σ (y_i - f(x_i))²

b.     Metode paling populer untuk regresi

c.     Dapat digunakan untuk regresi linear dan non-linear

d.     Memberikan solusi unik untuk regresi linear

e.     ontoh: menemukan garis terbaik (y = mx + c) dari data

3.     Regresi Linear

a.     f(x) = a + b·x — model linear

b.     a = intercept, b = slope

c.      R² (koefisien determinasi) mengukur kebaikan fit

d.      Implementasi: numpy.polyfit(x, y, 1) di Python

e.     Aplikasi: kalibrasi sensor, hubungan V-I linear

4.     Regresi Non-Linear

a.     f(x) = a·e^(b·x) — eksponensial

b.     f(x) = a·x^b — power law

c.     f(x) = a·x² + b·x + c — polynomial

d.     Implementasi: scipy.optimize.curve_fit di Python

e.     Aplikasi: karakterisasi dioda, NTC, LDR

D.    Pemfilteran Data — Menghilangkan Noise

1.     Mengapa Filter Diperlukan?

a.     Data pengukuran selalu mengandung noise (derau)

b.     Noise dapat berasal dari sensor, lingkungan, atau elektronik

c.     Noise menyembunyikan sinyal asli dan mengganggu analisis

d.     Filtering (penyaringan) mengurangi noise tanpa mengubah sinyal asli secara signifikan

e.     Aplikasi: membersihkan data sensor, sinyal audio, sinyal RF

2.     Moving Average (Rata-rata Bergerak)

a.     Mengganti setiap titik dengan rata-rata dari tetangganya

b.     Window size menentukan jumlah titik yang dirata-ratakan

c.     Semakin besar window → semakin halus, tetapi semakin banyak detail hilang

d.     Sederhana dan cepat

e.     Aplikasi: smoothing data sensor, data simulasi

3.     Low-Pass Filter Digital

a.     Filter digital orde-1: y[n] = α·x[n] + (1-α)·y[n-1]

b.      α (alpha) menentukan cut-off frequency (0-1)

c.     α kecil → cut-off rendah (smoothing kuat), α besar → cut-off tinggi

d.     Implementasi: scipy.signal.lfilter di Python

e.     Aplikasi: filtering sinyal analog yang disampling

4.     Median Filter

a.     Mengganti setiap titik dengan median dari tetangganya

b.     Sangat baik untuk menghilangkan noise impulsif (outlier)

c.     Mempertahankan tepi (edge preservation) lebih baik dari moving average

d.     Aplikasi: pengolahan gambar, data sensor dengan lonjakan

e.     Contoh: menghilangkan spike pada data pengukuran

E.    Visualisasi Data — Plotting

1.     Mengapa Visualisasi Penting?

a.     Visualisasi menyampaikan informasi lebih cepat dan efektif daripada tabel

b.     Memungkinkan deteksi pola dan anomali yang tidak terlihat di data mentah

c.     Membantu komunikasi hasil ke audiens (laporan, presentasi)

d.     Standar dalam publikasi ilmiah dan Teknik

e.     Aplikasi: laporan penelitian, presentasi desain, dokumentasi

2.     Jenis-Jenis Plot

a.     Line plot — untuk data kontinu (sinyal, respons frekuensi)

b.     Scatter plot — untuk data diskrit (titik pengukuran)

c.     Bar chart — untuk data kategorikal (perbandingan)

d.     Histogram — untuk distribusi data

e.     3D surface plot — untuk data 2D (parameter vs frekuensi)

3.     Elemen Plot yang Baik

a.     Judul — menjelaskan isi plot

b.     Label sumbu — dengan satuan

c.     Legend — untuk membedakan beberapa kurva

d.     Grid — memudahkan pembacaan nilai

e.     Skala yang sesuai — linear vs log

F.     Studi Kasus: Plot Karakteristik Dioda

1.     Data Pengukuran Dioda

a.      Data V_D (tegangan dioda) dan I_D (arus dioda)

b.     Diukur dengan multimeter atau source meter

c.     Data mentah mengandung noise dan outlier

d.     Tujuan: menemukan model dioda (I = I_s·e^(V/(η·V_T)))

e.     Aplikasi: desain rangkaian dengan dioda

2.     Filtering dan Smoothing

a.     Terapkan moving average atau median filter

b.     Buang outlier (data yang menyimpang jauh)

c.     Bandingkan data asli dan data yang sudah difilter

d.     Aplikasi: membersihkan data pengukuran diode

e.     Contoh: menghilangkan spike akibat noise pengukuran

3.     Regresi Kurva Dioda

a.     Gunakan scipy.optimize.curve_fit

b.     Fungsi model: I = I_s·(e^(V/(η·V_T)) - 1)

c.     Parameter: I_s (arus saturasi), η (faktor idealitas)

d.     Plot data dan kurva fit

e.     Evaluasi kebaikan fit (R², residual)

4.     Plot Akhir

a.     Plot data mentah + data filtered + kurva fit

b.     Skala log untuk arus (semua daerah kerja terlihat)

c.     Label: "V_D (V)", "I_D (A)"

d.     Legend: "Data Mentah", "Filtered", "Fit"

e.     Judul: "Karakteristik Dioda 1N4148"

G.    Implementasi Praktis

1.     Import Data dari File

a.     Python: import numpy as np; data = np.loadtxt('filename.csv', delimiter=',')

b.     Python: import pandas as pd; data = pd.read_csv('filename.csv')

c.     MATLAB: data = load('filename.txt')

d.     Octave: data = load('filename.txt')

e.     Aplikasi: mengimpor data pengukuran atau hasil simulasi SPICE

2.     Filtering dengan Python

a.     Moving average: def moving_average(data, window): ...

b.     LPF: from scipy import signal; b, a = signal.butter(1, 0.1); filtered = signal.lfilter(b, a, data)

c.     Median filter: from scipy.signal import medfilt; filtered = medfilt(data, kernel_size=5)

d.     Aplikasi: menghilangkan noise pada data

e.     Bandingkan data asli dan filtered

3.     Regresi Kurva dengan Python

a.     Linear: from numpy import polyfit; a, b = polyfit(x, y, 1)

b.     Non-linear: from scipy.optimize import curve_fit; popt, pcov = curve_fit(func, x, y, p0)

c.     Plot: plt.plot(x, y, 'o', x, func(x, *popt), '-')

d.     Aplikasi: karakterisasi dioda, NTC, LDR

e.     Evaluasi: print R², residual

4.     Plotting dengan Python (Matplotlib)

a.     import matplotlib.pyplot as plt

b.     plt.figure(figsize=(8,6))

c.     plt.plot(x, y, 'b-', label='Data')

d.     plt.xlabel('V_D (V)')

e.     plt.ylabel('I_D (A)')

f.      plt.yscale('log') — skala log

g.     plt.grid(True)

h.     plt.legend()

i.      plt.title('Karakteristik Dioda')

j.      plt.savefig('diode_char.png') — simpan sebagai gambar

Komentar