Sepanjang Course ini kita memanggil fungsi bawaan MATLAB untuk hampir semua pekerjaan: membangun array, merangkum statistik, membaca berkas, menggambar, dan menyelesaikan persamaan. Masalahnya bukan kekurangan fungsi — MATLAB inti memuat ribuan fungsi — melainkan mengingat nama yang tepat saat dibutuhkan. Chapter ini memadatkan fungsi yang paling sering muncul di Course ke dalam tabel per kategori: satu baris per fungsi, berisi tugas singkat dan satu contoh pemanggilan. Gunakan halaman ini sebagai indeks cepat; penjelasan mendalam tiap fungsi tinggal dibuka dari dokumentasi resmi lewat pola URL yang kita bahas di Chapter Dokumentasi Resmi.

Fungsi Array #

Tabel pertama merangkum pembuatan dan manipulasi array — kelompok fungsi dengan frekuensi pemakaian tertinggi di seluruh Course:

FungsiTugasContoh pemanggilan
zeros, onesarray nol/satu untuk preallocationakum = zeros(1, 12);
eyematriks identitasI = eye(3);
linspacevektor berjarak ratax = linspace(0, 1, 5);
rand, randn, randiacak seragam, normal, bulatdadu = randi([1 6], 1, 5);
rngatur seed agar hasil deterministikrng(42);
size, numel, lengthdimensi, jumlah elemen, dimensi terpanjang[r, c] = size(M);
reshapeubah bentuk (urutan column-major tetap)B = reshape(1:6, 2, 3);
sorturutkan naik/turunv = sort([3 1 2], 'descend');
findindeks elemen yang memenuhi kondisiidx = find(x > 0);
uniquenilai unik terurutu = unique([2 1 2]);
repmattile array berulangT = repmat([1 2], 2, 3);
cat / horzcat / vertcatgabungkan arrayG = cat(3, A, B);
flip / fliplrbalik urutany = fliplr(1:5);
sub2ind / ind2subkonversi subscript ↔ linear indexk = sub2ind([2 3], 1, 2);
accumarrayagregasi per grup (bincount)n = accumarray(grup', 1);

Dua fungsi di tabel ini pantas diberi catatan: find hampir selalu bisa digantikan logical indexing x(x > 0) yang lebih cepat — find baru menang saat kita butuh posisi indeksnya, bukan nilainya. Fungsi rng wajib dipanggil sebelum contoh acak bila hasil ingin direproduksi; kebiasaan ini kita kunci di Chapter Reproducible Results.

Fungsi Statistik #

Kelompok kedua merangkum statistik deskriptif dan asosiasi dari section Statistik dan Analisis Data:

FungsiTugasContoh pemanggilan
mean, medianrata-rata, median (per kolom default)m = mean(data, 1);
std, varsimpangan baku (sample, n-1), variansis = std(nilai);
min, maxekstrem beserta indeksnya[mn, idx] = max(nilai);
sum, cumsumtotal, jumlah kumulatiftotal = sum(penjualan(:, 2));
quantilekuartil dan persentilq = quantile(x, [0.25 0.75]);
corrcoefmatriks korelasi PearsonR = corrcoef(iklan, jual);
movmeanmoving average untuk haluskan derethalus = movmean(suhu, 3);
histhistogram frekuensi per binn = hist(x, 0:10:100);
trapzintegral trapezoid dari dataluas = trapz(x, y);

Default arah agregasi MATLAB adalah per kolom (mean(A) = mean(A, 1)), sehingga dataset berorientasi baris-observasi langsung teragregasi benar; mean(A, 2) mengubah arah ke per baris. Fungsi hist bekerja di MATLAB dan Octave — versi modern MATLAB menyarankan histogram(x) yang memakai objek grafik dan lebih kaya opsi.

Fungsi String dan Konversi #

Tabel string mencakup perbandingan, penggabungan, dan konversi angka-teks yang kita pakai di section Character dan String:

FungsiTugasContoh pemanggilan
strcatgabungkan teks (hasil rata kiri)s = strcat('Halo, ', nama);
sprintfformat teks menjadi variabels = sprintf('Total: %d', 42);
fprintfcetak terformat ke layar/berkasfprintf('pi = %.2f\n', pi);
strsplitpecah teks menjadi cell arrayc = strsplit('a,b,c', ',');
strjoingabungkan cell array menjadi tekss = strjoin({'a','b'}, '-');
strcmp, strcmpibandingkan teks (peka/abaikan huruf besar)sama = strcmp(s, 'mie');
strfindcari posisi substringp = strfind('matlab', 'lab');
strrepganti substrings = strrep('kotor', 't', 'b');
strtrimbuang spasi tepis = strtrim(' budi ');
num2str, str2doublekonversi angka ↔ teksn = str2double('3.14');
upper, lowerkapitalisasis = upper('matlab');

Perbandingan teks harus memakai strcmp, bukan ==: operator == membandingkan karakter satu per satu dan gagal saat kedua teks beda panjang — salah satu jebakan klasik yang kita bedah di Chapter Panduan Debugging.

Fungsi File I/O #

Kelompok pembacaan dan penulisan berkas, dari teks mentah hingga CSV — basis seluruh proyek data Course:

FungsiTugasContoh pemanggilan
fopen, fclosebuka/tutup berkas dengan mode 'r'/'w'/'a'fid = fopen('data.csv', 'r');
fprintf (ke fid)tulis terformat ke berkasfprintf(fid, '%d,%.2f\n', x, y);
fscanf, textscanbaca teks terformatc = textscan(fid, '%f', 'Delimiter', ',');
fread, fwritebaca/tulis binerd = fread(fid, inf, 'double');
dlmreadbaca matriks berpembatas (offset baris/kolom)M = dlmread('data.csv', ',', 1, 0);
dlmwrite, csvwritetulis matriks ke berkascsvwrite('out.csv', M);
csvreadbaca CSV (padanan dlmread)M = csvread('data.csv', 1, 0);
load, savesimpan/muat variabel .matsave('hasil.mat', 'x', 'y');
existcek keberadaan berkas/variabelada = exist('data.csv', 'file');
readmatrix, writematrixbaca/tulis CSV modern (MATLAB R2019a+)M = readmatrix('data.csv');

Fungsi readmatrix/readtable/writetable yang modern hanya tersedia di MATLAB (GNU Octave belum mengimplementasikannya), sehingga seluruh contoh portabel Course memakai keluarga dlmread/csvread — perbedaan ini dijelaskan tuntas di Chapter Membaca File CSV.

Fungsi Plot #

Tabel visualisasi merangkum jenis grafik dan pengaturannya dari section Visualisasi Data:

FungsiTugasContoh pemanggilan
plotgaris dan titik 2Dplot(x, y, 'o-');
scatterdiagram sebarscatter(suhu, penjualan);
bar, barhbatang vertikal/horizontalbar(1:12, unit);
histhistogramhist(nilai, 10);
contour, contourfkontur permukaan (garis/isi)contour(X, Y, Z);
surf, meshpermukaan 3Dsurf(X, Y, Z);
plot3garis 3Dplot3(x, y, z);
errorbardata beserta galaterrorbar(x, y, e);
subplotkisi beberapa sumbusubplot(2, 1, 2);
hold, grid, legendtumpuk grafik, kisi, legendalegend('data', 'model');
saveas, printsimpan figur ke berkassaveas(gcf, 'grafik.png');
exportgraphicsekspor modern (MATLAB R2020b+)exportgraphics(gca, 'p.png');

Semua contoh dijalankan headless dengan pola figure('Visible', 'off') … saveas … delete(gcf) — pola yang kita pakai di seluruh berkas sumber Course agar kode plot tetap teruji tanpa layar.

Fungsi Numerik dan Aljabar Linear #

Kelompok solver dan hampiran numerik dari section Matematika dan Komputasi Numerik:

FungsiTugasContoh pemanggilan
A \ bselesaikan sistem linear (mldivide)x = A \ b;
eignilai dan vektor eigen[V, D] = eig(A);
det, rank, invdeterminan, rank, inversd = det(A);
pinvinvers pseudo (least squares)beta = pinv(X) * y;
polyfit, polyvalregresi polinomial dan evaluasinyap = polyfit(x, y, 1);
rootsakar polinomialr = roots([1 -3 2]);
fzeroakar fungsi skalar dengan bracketx = fzero(@(t) t - cos(t), 1);
ode45integrasi ODE Runge-Kutta adaptif[t, y] = ode45(f, [0 10], y0);
interp1interpolasi linear/splineyi = interp1(x, y, 2.5);
gradient, diffturunan numerik dan selisihdy = gradient(y, h);
trapz, quadintegral trapezoid / adaptifI = quad(@(x) sin(x), 0, pi);
fft, ifft, fftshifttransformasi FourierX = fft(x);
filterfilter FIR y = filter(b, 1, x)yf = filter(ones(1,4)/4, 1, x);

Satu catatan pemakaian: operator \ dan pinv berbeda tugas untuk masalah least squares — X \ y lebih stabil dan lebih cepat; pinv baru dibutuhkan saat X rank-defisien dan kita menginginkan solusi norma minimum. Perbandingan lengkapnya ada di Chapter Sistem Persamaan Linear.

Fungsi Utilitas #

Tabel penutup: fungsi pemeriksaan lingkungan dan metaprogramming yang muncul di seluruh section rekayasa perangkat lunak:

FungsiTugasContoh pemanggilan
existcek variabel/berkas/fungsiexist('x') → 1, exist('fzero') → 2
whichlokasi berkas fungsi di pathwhich('fzero');
who, whosdaftar variabel workspacewhos('data')
clearhapus variabelclear x y
class, isatipe data dan uji kelasclass(x) → 'double'
nargin, nargoutjumlah argumen masukan/keluaran aktualif nargin < 2 ... end
help, doc, lookforbantuan dari dalam MATLABdoc fzero
tic, tocstopwatch benchmarktic; A*B; toc
disptampilkan nilai tanpa formatdisp('selesai');
isfield, fieldnamesinspeksi structisfield(s, 'nama')
cellfun, structfunterapkan fungsi ke elemencellfun(@abs, {-3 4});
profile, checkcodeprofiler dan analisis statischeckcode('skrip.m')

Ringkasan #

Tujuh tabel di atas merangkum fungsi inti Course per kategori: array, statistik, string, file I/O, plot, numerik-aljabar linear, dan utilitas. Tiap baris sengaja hanya memuat tugas dan satu contoh pemanggilan — parameter lengkap dan perilaku tepi (NaN, array kosong, dimensi) tetap harus dibaca di halaman dokumentasi resmi fungsi tersebut. Gabungkan halaman ini dengan tabel sintaks Chapter Referensi Sintaks, dan kita punya satu set cheat sheet yang menutup hampir seluruh kebutuhan penulisan kode MATLAB sehari-hari.