Analisis hanya berarti bila latihan memakai data yang sama. Sepanjang Course, setiap konsep — dari logical indexing hingga ANOVA — dilatih pada dataset mini yang sama dan berulang: penjualan toko, rekaman suhu harian, dan hasil eksperimen pertanian. Chapter ini mengumpulkan ketiganya dalam format siap salin beserta struktur kolomnya, menambahkan dataset suhu versi 30 hari untuk latihan deret waktu, lalu merangkum dataset bawaan MATLAB dan sumber data publik untuk melangkah lebih jauh.

Tiga Dataset Internal Course #

Ketiga dataset ini sengaja kecil (12–30 baris) sehingga bisa diperiksa mata, deterministik tanpa unsur acak, dan berpembatas koma agar langsung terbaca dlmread. Ringkasannya:

DatasetBarisKolomDipakai di
penjualan.csv12hari, unit, hargaPengolahan Data, Missing Data
suhu_harian.csv30hari, suhuStatistik Deskriptif, Time Series
eksperimen_padi.csv30varietas, panenAnalisis Variansi (ANOVA)

penjualan.csv — 12 baris #

Struktur kolomnya: hari (nomor urut 1–12), unit (jumlah unit terjual per hari), harga (harga jual per unit, dalam rupiah). Baris = observasi, kolom = variabel — konvensi orientasi data yang kita kunci di Chapter Membuat dan Mengelola Data:

text
hari,unit,harga
1,12,15000
2,15,15000
3,9,16000
4,22,16000
5,18,15000
6,7,17000
7,25,15000
8,11,16000
9,14,17000
10,20,16000
11,16,17000
12,19,15000

Versi “kotor” dataset ini — empat sel sengaja diganti NaN pada hari 2, 4, 8, dan 11 — dipakai di Chapter Missing Data untuk latihan deteksi, penghapusan baris, dan imputasi.

suhu_harian.csv — 30 hari #

Sepuluh hari pertama adalah deret suhu yang sama dengan Course; dua puluh hari berikutnya melanjutkan rekaman sensor yang sama sehingga cukup panjang untuk moving average dan deteksi tren:

text
hari,suhu
1,30
2,32
3,31
4,29
5,33
6,34
7,31
8,30
9,35
10,32
11,31
12,33
13,30
14,29
15,32
16,34
17,33
18,31
19,30
20,32
21,35
22,33
23,31
24,30
25,34
26,32
27,31
28,33
29,30
30,31

eksperimen_padi.csv — 3 grup #

Data hasil panen eksperimen satu faktor: kolom varietas memuat kode 1, 2, 3 (padanan label A, B, C pada Chapter Analisis Variansi), kolom panen memuat hasil dalam ton/ha — masing-masing varietas diuji pada 10 plot:

text
varietas,panen
1,4.2
1,4.8
1,4.5
1,5.1
1,4.6
1,4.9
1,4.4
1,4.7
1,5.0
1,4.3
2,5.4
2,5.9
2,5.6
2,6.0
2,5.7
2,5.8
2,5.5
2,6.1
2,5.9
2,5.6
3,6.3
3,6.8
3,6.5
3,7.0
3,6.4
3,6.7
3,6.6
3,6.9
3,6.8
3,6.2

Memuat Dataset: dari String ke dlmread #

Dataset di atas bisa ditempel langsung ke berkas .csv, tetapi untuk skrip latihan yang berdiri sendiri, pola yang paling portabel adalah menanam data sebagai string di dalam skrip: susun isi CSV dengan sprintf, tulis ke berkas, lalu baca dengan dlmread. Argumen keempat dlmread(nama, pembatas, barisMulai, kolomMulai) melewati baris header — 1, 0 berarti mulai dari baris kedua, kolom pertama:

matlab
isi = sprintf('hari,unit,harga\n1,12,15000\n2,15,15000\n3,9,16000\n');
fid = fopen('penjualan_kecil.csv', 'w');
fprintf(fid, '%s', isi);
fclose(fid);

M = dlmread('penjualan_kecil.csv', ',', 1, 0);   % lewati header
fprintf('M: %d baris x %d kolom, M(1,:) = %d %d %d\n', ...
        size(M, 1), size(M, 2), M(1, 1), M(1, 2), M(1, 3));
delete('penjualan_kecil.csv');

Output yang Dihasilkan:

text
M: 3 baris x 3 kolom, M(1,:) = 1 12 15000

Mari kita bedah baris-baris kode di atas:

  1. Baris 1 (isi = sprintf(...)): seluruh isi CSV — header dan tiga baris data — dirangkai menjadi satu variabel teks; \n di dalam format memisahkan baris berkas.
  2. Baris 2-4 (fopen … fclose): berkas dibuka mode tulis, string ditulis apa adanya lewat fprintf(fid, '%s', isi), lalu berkas ditutup — dlmread hanya bisa membaca berkas yang sudah ditutup.
  3. Baris 6 (dlmread(..., 1, 0)): pembatas koma, mulai baris indeks 1 (baris kedua berkas) sehingga header teks tidak ikut terbaca sebagai angka.
  4. Baris 9 (delete): berkas latihan dibuang agar folder kerja tetap bersih — kebiasaan yang sama dipakai seluruh contoh.m Course.

Dataset Bawaan MATLAB #

Tanpa mengunduh apa pun, MATLAB sudah membawa data latihan. Fungsi peaks menghasilkan permukaan 2D sintetis klasik — Z = peaks(30) mengembalikan matriks 30×30 yang siap digambar surf(Z), dan bentuk tiga keluarannya [X, Y, Z] = peaks(30) sekaligus menyediakan grid koordinatnya; fungsi ini juga tersedia di Octave sehingga aman untuk latihan plot. MATLAB (bukan Octave) juga menyertakan berkas .mat data contoh seperti carsmall dan carbig — data kendaraan (mpg, berat, silinder, tahun) yang memuat beberapa NaN alami — dimuat dengan load carsmall; kedua berkas itu MATLAB-ONLY dan cocok dilatih bersama readtable modern.

Untuk data lebih besar, repositori publik menyediakan pilihan tanpa batas — dua yang paling relevan:

SumberIsiLisensi
UCI Machine Learning Repository (archive.ics.uci.edu)ratusan dataset tabular klasik (Iris, Wine, datasets sakit jantung)per dataset — banyak CC BY 4.0, cek halamannya
Kaggle Datasets (kaggle.com/datasets)jutaan dataset + notebook analisis penggunanyaper dataset — kolom License wajib dibaca sebelum dipakai

Latihan per Dataset #

Setiap dataset memiliki tiga soal; seluruh jawaban berupa angka pasti karena data deterministik:

  1. penjualan.csv — hitung total pendapatan 12 hari (sum(unit .* harga)); cari hari dengan unit terbesar; hitung rata-rata harga selama 12 hari.
  2. suhu_harian.csv — hitung mean dan std 30 hari; hitung banyaknya hari bersuhu 33 derajat atau lebih (sum(S(:,2) >= 33)); temukan hari pertama dengan suhu tertinggi 35 derajat.
  3. eksperimen_padi.csv — hitung mean per varietas dengan logical indexing; hitung statistik F ANOVA manual lalu bandingkan dengan nilai kritis 3.35; hitung eta squared sebagai ukuran efek.

Berkas contoh.m di bagian bawah halaman membangun ketiga dataset dari data tetap, menulis ketiga CSV, membaca ulang semuanya dengan dlmread, memverifikasi integritas roundtrip (isequal data tulis = data baca), menjawab soal-soal kunci di atas, menghitung ulang F ANOVA, lalu menghapus berkas demo:

text
penjualan.csv      : 12 baris, total pendapatan Rp2956000
suhu_harian.csv    : 30 baris, mean 31.73, std 1.68
eksperimen_padi.csv: 30 baris, mean varietas 1-3: 4.65 5.75 6.62
roundtrip identik  : 1 1 1
latihan: unit terbesar 25 pada hari 7
latihan: hari bersuhu >= 33: 10 hari
ANOVA manual: F = 136.6308, eta2 = 0.91
berkas dihapus: 0 0 0

Angka F = 136.6308 dan eta squared 0.91 identik dengan hasil Chapter Analisis Variansi — bukti bahwa dataset, rumus, dan fungsi Course saling konsisten dari ujung ke ujung.

Ringkasan #

Tiga dataset internal Course (penjualan.csv 12 baris, suhu_harian.csv 30 hari, eksperimen_padi.csv 30 baris berkode grup) tersedia siap salin lengkap dengan struktur kolomnya. Pola pemuatan portabel: susun data sebagai string sprintf, tulis ke berkas, baca dengan dlmread melewati header. Dataset bawaan peaks (dan carsmall/carbig di MATLAB) menutupi kebutuhan latihan cepat, sementara UCI dan Kaggle membuka jalan ke data nyata — dengan lisensi yang selalu dicek lebih dulu. Seluruh siklus bangun–simpan–baca–verifikasi–bersih terbukti berjalan di contoh.m tanpa residu.