Pengertian Data Manipulation
Data Manipulation adalah proses mengubah, membersihkan, dan mengorganisir data agar siap untuk dianalisis. Proses ini melibatkan operasi seperti:
- Filtering: Memilih data yang relevan.
- Sorting: Mengurutkan data berdasarkan kolom tertentu.
- Aggregasi: Menghitung statistik seperti mean, sum, count, dll.
- Transformasi: Mengubah format atau struktur data.
Library Populer untuk Data Manipulation
a. Pandas (Python)
Pandas adalah library Python yang paling populer untuk manipulasi data. Library ini menyediakan struktur data seperti DataFrame dan Series yang memudahkan pengolahan data tabular.
b. NumPy (Python)
NumPy adalah library untuk komputasi numerik. Library ini sangat efisien untuk operasi matematika pada array multidimensi.
c. dplyr (R)
dplyr adalah package R yang dirancang khusus untuk manipulasi data. Package ini menyediakan fungsi-fungsi intuitif seperti filter()
, select()
, dan mutate()
.
d. SQL
SQL (Structured Query Language) adalah bahasa query untuk mengelola data dalam database relasional. SQL digunakan untuk operasi seperti SELECT
, UPDATE
, DELETE
, dan JOIN
.
Contoh Penggunaan Pandas untuk Data Manipulation
a. Mengimpor Library
import pandas as pd
b. Membuat DataFrame
# Contoh data karyawan data = { 'Nama': ['Andi', 'Budi', 'Cici', 'Dedi'], 'Usia': [23, 27, 22, 32], 'Departemen': ['IT', 'HR', 'Finance', 'IT'], 'Gaji': [5000000, 6000000, 4500000, 7000000] } # Membuat DataFrame df = pd.DataFrame(data) # Menampilkan DataFrame print("Data Karyawan:") print(df)
Output:
Data Karyawan: Nama Usia Departemen Gaji 0 Andi 23 IT 5000000 1 Budi 27 HR 6000000 2 Cici 22 Finance 4500000 3 Dedi 32 IT 7000000
c. Filtering Data
# Memfilter karyawan yang bekerja di departemen IT df_it = df[df['Departemen'] == 'IT'] print("\nKaryawan Departemen IT:") print(df_it)
Output:
Karyawan Departemen IT: Nama Usia Departemen Gaji 0 Andi 23 IT 5000000 3 Dedi 32 IT 7000000
d. Sorting Data
# Mengurutkan data berdasarkan usia secara descending df_sorted = df.sort_values(by='Usia', ascending=False) print("\nData Karyawan diurutkan berdasarkan Usia:") print(df_sorted)
Output:
Data Karyawan diurutkan berdasarkan Usia: Nama Usia Departemen Gaji 3 Dedi 32 IT 7000000 1 Budi 27 HR 6000000 0 Andi 23 IT 5000000 2 Cici 22 Finance 4500000
e. Aggregasi Data
# Menghitung rata-rata gaji per departemen rata_gaji = df.groupby('Departemen')['Gaji'].mean() print("\nRata-rata Gaji per Departemen:") print(rata_gaji)
Output:
Rata-rata Gaji per Departemen: Departemen Finance 4500000.0 HR 6000000.0 IT 6000000.0 Name: Gaji, dtype: float64
f. Transformasi Data
# Menambahkan kolom baru 'Status' berdasarkan usia df['Status'] = df['Usia'].apply(lambda x: 'Senior' if x > 25 else 'Junior') print("\nData Karyawan dengan Kolom Baru 'Status':") print(df)
Output:
Data Karyawan dengan Kolom Baru 'Status': Nama Usia Departemen Gaji Status 0 Andi 23 IT 5000000 Junior 1 Budi 27 HR 6000000 Senior 2 Cici 22 Finance 4500000 Junior 3 Dedi 32 IT 7000000 Senior
Contoh Penggunaan NumPy untuk Data Manipulation
a. Mengimpor Library
import numpy as np
b. Operasi Matematika pada Array
# Membuat array array1 = np.array([1, 2, 3, 4, 5]) array2 = np.array([10, 20, 30, 40, 50]) # Penjumlahan array hasil_penjumlahan = array1 + array2 print("Hasil Penjumlahan Array:", hasil_penjumlahan) # Perkalian array hasil_perkalian = array1 * array2 print("Hasil Perkalian Array:", hasil_perkalian)
Output:
Hasil Penjumlahan Array: [11 22 33 44 55] Hasil Perkalian Array: [ 10 40 90 160 250]
Contoh Penggunaan SQL untuk Data Manipulation
a. Membuat Tabel dan Memasukkan Data
CREATE TABLE Karyawan ( ID INT PRIMARY KEY, Nama VARCHAR(50), Usia INT, Departemen VARCHAR(50), Gaji INT ); INSERT INTO Karyawan (ID, Nama, Usia, Departemen, Gaji) VALUES (1, 'Andi', 23, 'IT', 5000000), (2, 'Budi', 27, 'HR', 6000000), (3, 'Cici', 22, 'Finance', 4500000), (4, 'Dedi', 32, 'IT', 7000000);
b. Query Data
-- Memfilter karyawan yang bekerja di departemen IT SELECT * FROM Karyawan WHERE Departemen = 'IT'; -- Menghitung rata-rata gaji per departemen SELECT Departemen, AVG(Gaji) AS Rata_Gaji FROM Karyawan GROUP BY Departemen;
Kesimpulan
Data Manipulation Libraries seperti Pandas, NumPy, dan SQL sangat penting dalam proses pengolahan data. Dengan menguasai library-library ini, kita dapat dengan mudah membersihkan, mengubah, dan menganalisis data untuk menghasilkan wawasan yang berguna.
Latihan
- Cari dataset publik (misalnya dari Kaggle) dan lakukan manipulasi data menggunakan Pandas.
- Cobalah operasi matematika dasar menggunakan NumPy.
- Buat query SQL sederhana untuk memfilter dan mengelompokkan data.