Software Matlab
1. Pengertian MATLAB
MATLAB adalah singkatan dari Matrix Laboratory atau laboratorium matriks. Nama ini mencerminkan ciri utamanya: semua data pada dasarnya diperlakukan sebagai matriks (larik berdimensi banyak). Bilangan tunggal dianggap matriks berukuran 1×1, sedangkan deretan angka dianggap vektor.
MATLAB adalah lingkungan komputasi numerik sekaligus bahasa pemrograman tingkat tinggi. Perangkat lunak ini dikembangkan dan dipasarkan oleh perusahaan MathWorks di Amerika Serikat. MATLAB dipakai untuk:
- perhitungan matematika dan analisis numerik;
- pengolahan dan visualisasi data;
- pemrograman dan pengembangan algoritma;
- pemodelan dan simulasi sistem;
- pengolahan sinyal dan citra;
- kecerdasan buatan dan pembelajaran mesin;
- rekayasa kendali, keuangan kuantitatif, dan berbagai bidang lainnya.
MATLAB bersifat komersial berlisensi, tetapi tersedia berbagai skema lisensi, termasuk lisensi kampus dan versi daring dengan batasan tertentu.
2. Sejarah Singkat
MATLAB pertama kali dibuat pada akhir 1970-an oleh Cleve Moler, ketua jurusan ilmu komputer di Universitas New Mexico, Amerika Serikat. Ia ingin mahasiswanya dapat memakai pustaka perhitungan matriks LINPACK dan EISPACK tanpa harus menulis program dalam bahasa Fortran. Maka lahirlah antarmuka sederhana bernama MATLAB.
Pada pertengahan 1980-an, insinyur Jack Little melihat potensi komersial perangkat lunak ini. Bersama Cleve Moler dan Steve Bangert, ia mendirikan MathWorks pada tahun 1984 dan menulis ulang MATLAB dalam bahasa C. Sejak saat itu, MATLAB berkembang pesat dengan penambahan grafik, Simulink, dan ratusan toolbox.
MathWorks merilis versi baru secara berkala, umumnya dua kali setahun, dengan penamaan tahun diikuti huruf a (rilis pertama) dan b (rilis kedua), misalnya R2025a dan R2025b. Periksa situs resmi untuk rilis terbaru.
3. Alasan Memilih MATLAB
Kuat untuk matriks dan komputasi numerik. Operasi matriks yang rumit dapat ditulis dalam satu baris.
Sintaks ringkas. Program yang di bahasa lain memerlukan puluhan baris sering cukup ditulis dalam beberapa baris di MATLAB.
Visualisasi yang kuat. Grafik dua dimensi dan tiga dimensi dapat dibuat dan disunting dengan mudah.
Dokumentasi lengkap. Setiap fungsi dilengkapi penjelasan dan contoh yang dapat langsung dijalankan.
Ekosistem toolbox yang luas. Tersedia toolbox untuk statistika, optimasi, pengolahan sinyal, pengolahan citra, kendali, keuangan, pembelajaran mendalam, dan banyak lagi.
Terintegrasi dengan Simulink. Pemodelan dan simulasi sistem dinamis dapat dilakukan secara grafis.
Andal dan teruji. Fungsi-fungsi intinya telah lama dipakai dan divalidasi oleh banyak kalangan.
Banyak dipakai di industri dan akademik. Kemampuan MATLAB kerap dicantumkan sebagai nilai tambah pada bidang teknik, sains data, dan keuangan kuantitatif.
Dapat bekerja bersama bahasa lain. MATLAB dapat memanggil kode Python, C, C++, dan Java, dan sebaliknya.
4. Produk dalam Keluarga MATLAB
- MATLAB: produk inti berupa lingkungan komputasi dan bahasa pemrograman.
- Simulink: lingkungan pemodelan dan simulasi berbasis diagram blok.
- Toolbox: paket fungsi tambahan untuk bidang tertentu, dibeli atau dilisensikan terpisah.
- MATLAB Online: versi berbasis peramban yang dapat dipakai tanpa memasang aplikasi penuh.
- MATLAB Mobile: aplikasi untuk gawai bergerak.
- MATLAB Drive: ruang penyimpanan daring untuk berkas MATLAB.
- Live Editor: dokumen interaktif yang memadukan kode, hasil, grafik, dan teks penjelasan dalam satu berkas.
- App Designer: alat untuk membuat aplikasi berantarmuka grafis sendiri.
Cakupan dan skema produk dapat berubah dari waktu ke waktu. Periksa situs resmi MathWorks untuk informasi terbaru.
5. Kebutuhan Sistem, Lisensi, dan Cara Memasang
5.1 Kebutuhan sistem
MATLAB berjalan pada Windows, macOS, dan Linux. Kebutuhan memori dan ruang penyimpanan tergolong besar, terutama bila memasang banyak toolbox. Periksa persyaratan sistem pada halaman resmi sebelum memasang.
5.2 Lisensi
MATLAB berlisensi berbayar. Beberapa skema yang lazim tersedia adalah lisensi perorangan, lisensi pelajar, lisensi kampus, dan lisensi perusahaan. Banyak perguruan tinggi memiliki lisensi institusi sehingga mahasiswa dapat memakainya tanpa biaya. Tanyakan kepada bagian teknologi informasi kampus. MathWorks juga menyediakan MATLAB Online dengan batas jam pemakaian tertentu untuk pengguna tanpa lisensi penuh. Periksa situs resmi untuk ketentuan dan harga terbaru.
5.3 Langkah pemasangan
- Buka situs resmi MathWorks di mathworks.com.
- Buat akun MathWorks, atau masuk bila sudah punya. Bila memakai lisensi kampus, daftarkan akun dengan surel kampus.
- Pilih menu unduhan, lalu unduh pemasang sesuai sistem operasi.
- Jalankan pemasang dan masuk dengan akun MathWorks.
- Pilih lisensi yang akan dipakai.
- Pilih produk dan toolbox yang ingin dipasang. Pilih seperlunya saja agar ruang penyimpanan tidak terbuang.
- Tunggu proses pemasangan selesai, lalu buka MATLAB.
Unduhlah hanya dari situs resmi. Perangkat lunak bajakan berisiko mengandung virus, tidak mendapat pembaruan, dan melanggar hukum hak cipta.
5.4 Alternatif gratis
Bagi yang belum memiliki lisensi, GNU Octave merupakan perangkat lunak gratis dan bersumber terbuka dengan sintaks yang sangat mirip MATLAB. Sebagian besar program sederhana dapat dijalankan di keduanya, meskipun tidak semua fungsi dan toolbox tersedia di Octave.
6. Mengenal Antarmuka MATLAB
Saat dibuka, MATLAB menampilkan beberapa bagian utama:
- Command Window (jendela perintah): tempat mengetik perintah dan melihat hasilnya secara langsung. Tanda
>>menandakan MATLAB siap menerima perintah. - Workspace (ruang kerja): daftar seluruh variabel yang sedang tersimpan di memori beserta ukuran dan tipenya.
- Current Folder (folder saat ini): menampilkan folder kerja dan berkas di dalamnya.
- Editor: tempat menulis skrip dan fungsi yang disimpan sebagai berkas.
- Command History (riwayat perintah): daftar perintah yang pernah dijalankan.
- Toolstrip (bilah alat): berisi tab seperti Home, Plots, Apps, dan Editor yang memuat tombol untuk berbagai fungsi.
Untuk memulai, ketik perintah sederhana pada Command Window, misalnya:
MATLAB akan menampilkan hasilnya, yaitu ans = 5.
7. Dasar-Dasar Bahasa MATLAB
7.1 Variabel dan penugasan
Variabel dibuat dengan menugaskan nilai memakai tanda sama dengan. Tidak perlu mendeklarasikan tipe terlebih dahulu.
a = 10;b = 3.5;hasil = a * b
Tanda titik koma (;) di akhir baris menyembunyikan tampilan hasil. Tanpa titik koma, hasil ditampilkan pada jendela perintah.
Aturan penamaan variabel:
- harus diawali huruf;
- boleh berisi huruf, angka, dan garis bawah;
- huruf besar dan kecil dibedakan (
nilaiberbeda denganNilai); - hindari memakai nama fungsi bawaan, seperti
sum,mean, ataumax, sebagai nama variabel.
7.2 Operator dasar
- Penjumlahan
+, pengurangan-, perkalian*, pembagian/, dan pemangkatan^. - Operator perbandingan:
==(sama dengan),~=(tidak sama dengan),<,>,<=,>=. - Operator logika:
&(dan),|(atau),~(bukan), serta&&dan||untuk evaluasi hubung singkat.
7.3 Konstanta dan fungsi bawaan
pi: bilangan pi.Inf: tak hingga.NaN: bukan bilangan (not a number).iatauj: satuan imajiner.- Fungsi umum:
sqrt,abs,exp,log,log10,sin,cos,tan,round,floor,ceil,mod.
7.4 Format tampilan
format short % empat angka di belakang koma (bawaan)format long % lebih banyak angka desimal
7.5 Komentar dan perintah bantu
Komentar diawali tanda persen (%). Perintah yang sering dipakai:
clc % membersihkan jendela perintahclear % menghapus semua variabel dari ruang kerjaclose all % menutup semua jendela grafikhelp sum % bantuan singkat untuk fungsi sumdoc sum % dokumentasi lengkap fungsi sumwho % daftar nama variabelwhos % daftar variabel beserta ukuran dan tipenya
Kebiasaan yang baik adalah membuka skrip dengan clear; clc; close all; agar hasil tidak dipengaruhi sisa pekerjaan sebelumnya.
8. Vektor dan Matriks
8.1 Membuat vektor dan matriks
v = [1 2 3 4 5] % vektor barisw = [1; 2; 3] % vektor kolomA = [1 2 3; 4 5 6; 7 8 9] % matriks 3x3
Spasi atau koma memisahkan elemen dalam satu baris. Titik koma memisahkan baris.
8.2 Membuat deret angka
x = 1:5 % 1 2 3 4 5y = 0:0.5:2 % 0 0.5 1 1.5 2z = linspace(0,1,5) % lima titik berjarak sama dari 0 sampai 1
8.3 Matriks khusus
zeros(3,2) % matriks nol berukuran 3x2ones(2,4) % matriks satu berukuran 2x4eye(3) % matriks identitas 3x3rand(3) % bilangan acak seragam antara 0 dan 1randn(3) % bilangan acak berdistribusi normal baku
8.4 Pengindeksan
Berbeda dengan sebagian bahasa pemrograman lain, indeks MATLAB dimulai dari 1, bukan 0.
A(2,3) % elemen baris 2 kolom 3A(1,:) % seluruh baris pertamaA(:,2) % seluruh kolom keduaA(end,end) % elemen terakhirA(A>5) % semua elemen yang lebih besar dari 5
8.5 Operasi matriks dan operasi elemen demi elemen
Operator biasa (*, /, ^) menjalankan operasi matriks. Untuk operasi elemen demi elemen, tambahkan titik di depan operator.
A * B % perkalian matriksA .* B % perkalian elemen demi elemenA .^ 2 % kuadrat setiap elemenA' % transpos
Kekeliruan antara * dan .* adalah kesalahan yang paling sering dialami pemula.
8.6 Aljabar linear
det(A) % determinaninv(A) % inversrank(A) % peringkat[V, D] = eig(A) % nilai eigen dan vektor eigenx = A \ b % menyelesaikan sistem persamaan linear Ax = b
Untuk menyelesaikan sistem persamaan linear, pakai operator \ alih-alih inv(A)*b karena lebih cepat dan lebih stabil secara numerik.
8.7 Ukuran dan pengubahan bentuk
size(A) % ukuran matrikslength(v) % panjang vektornumel(A) % jumlah seluruh elemenreshape(1:6,2,3) % mengubah bentuk menjadi 2x3[A, B] % menggabungkan matriks secara horizontal[A; B] % menggabungkan matriks secara vertikal
8.8 Fungsi ringkasan
sum(v) mean(v) median(v)max(v) min(v) sort(v)cumsum(v) prod(v) find(v>2)
Pada matriks, fungsi-fungsi ini bekerja per kolom secara bawaan. Untuk bekerja per baris, tambahkan argumen dimensi, misalnya sum(A,2).
9. Tipe Data dan Struktur Data
9.1 Tipe numerik dan logika
Tipe bawaan adalah double (bilangan riil berpresisi ganda). Tipe lain antara lain single, int8, int16, int32, uint8, dan logical (benar atau salah).
9.2 Karakter dan untai
kata = 'Halo'; % larik karakterteks = "Belajar MATLAB"; % untai (string)strlength(teks) % panjang untaiupper(teks) % huruf besarteks + " itu mudah" % penggabungan untai
9.3 Larik sel (cell array)
Dipakai untuk menyimpan data berbeda tipe atau ukuran dalam satu wadah.
C = {1, 'abc', [1 2 3]};C{3} % mengambil isi sel ketiga
9.4 Struktur (struct)
Dipakai untuk mengelompokkan data berlabel.
mhs.nama = "Sari";mhs.nilai = 88;mhs.nilai
9.5 Tabel (table)
Sangat berguna untuk data ala lembar kerja dengan kolom bernama.
T = table(["A";"B";"C"], [80;75;90], 'VariableNames', {'Nama','Nilai'})T.Nilai
9.6 Data kategorik
k = categorical(["rendah";"tinggi";"rendah"])10. Kendali Alur
10.1 Percabangan if
nilai = 82;if nilai >= 85disp('A');elseif nilai >= 70disp('B');elsedisp('C');end
10.2 Perulangan for
for k = 1:5fprintf('Iterasi ke-%d\n', k);end
10.3 Perulangan while
n = 1;while n < 100n = n * 2;end
10.4 Pilihan switch
hari = 'Senin';switch haricase 'Senin'disp('Awal pekan');case 'Jumat'disp('Akhir pekan kerja');otherwisedisp('Hari biasa');end
10.5 Perintah pengendali lain
break: menghentikan perulangan.continue: melompat ke iterasi berikutnya.return: keluar dari fungsi.
10.6 Penanganan galat
tryx = log(-1);catch pesandisp(pesan.message);end
10.7 Vektorisasi
Salah satu keunggulan MATLAB adalah kemampuan mengoperasikan seluruh vektor sekaligus. Sering kali perulangan dapat dihindari.
% Dengan perulangany = zeros(1,100);for k = 1:100y(k) = k^2;end% Dengan vektorisasi (lebih ringkas dan umumnya lebih cepat)k = 1:100;y = k.^2;
11. Skrip dan Fungsi
11.1 Skrip
Skrip adalah berkas berekstensi .m yang berisi serangkaian perintah. Skrip dijalankan dengan mengeklik tombol Run atau mengetik nama berkasnya. Skrip memakai ruang kerja yang sama dengan jendela perintah.
11.2 Fungsi
Fungsi memiliki ruang kerja sendiri dan menerima masukan serta mengembalikan keluaran. Simpan dengan nama berkas yang sama dengan nama fungsinya.
function hasil = luasLingkaran(r)hasil = pi * r^2;end
Berkas disimpan sebagai luasLingkaran.m, lalu dipanggil dengan:
luasLingkaran(5)Fungsi dapat memiliki banyak masukan dan keluaran:
function [rerata, simpBaku] = ringkas(x)rerata = mean(x);simpBaku = std(x);end
11.3 Fungsi anonim
Fungsi singkat satu baris tanpa berkas terpisah.
f = @(x) x.^2 + 3*x;f(2)
11.4 Menjaga kerapian
- Beri nama fungsi dan variabel yang bermakna.
- Tulis komentar pada bagian yang tidak jelas.
- Pecah program besar menjadi fungsi-fungsi kecil.
- Simpan berkas terkait dalam satu folder proyek.
12. Grafik dan Visualisasi
12.1 Grafik garis
x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y, 'LineWidth', 1.5);xlabel('x');ylabel('sin(x)');title('Grafik fungsi sinus');grid on;
12.2 Beberapa kurva dalam satu grafik
plot(x, sin(x), 'b-', x, cos(x), 'r--');legend('sin', 'cos');
Atau gunakan hold on untuk menambahkan kurva pada grafik yang sama.
12.3 Beberapa grafik dalam satu jendela
subplot(2,1,1); plot(x, sin(x)); title('Sinus');subplot(2,1,2); plot(x, cos(x)); title('Kosinus');
12.4 Jenis grafik lain
scatter(x, y): diagram sebar.bar(y): diagram batang.histogram(data): histogram.boxplot(data): diagram kotak-garis (memerlukan Statistics and Machine Learning Toolbox).pie(y): diagram lingkaran.area(y): diagram area.surf(X,Y,Z)danmesh(X,Y,Z): permukaan tiga dimensi.contour(X,Y,Z): garis kontur.plot3(x,y,z): kurva tiga dimensi.heatmap(...): peta panas.
12.5 Menyimpan grafik
exportgraphics(gcf, 'grafik.png', 'Resolution', 300);Grafik juga dapat disimpan lewat menu pada jendela grafik atau dengan saveas.
13. Mengimpor dan Mengekspor Data
13.1 Membaca data
T = readtable('data.csv'); % menjadi tabelM = readmatrix('angka.csv'); % menjadi matriks numerik
readtable juga dapat membaca berkas Excel (.xlsx) secara langsung. Sekilas isi tabel dapat dilihat dengan:
head(T)summary(T)
13.2 Menulis data
writetable(T, 'hasil.csv');writematrix(M, 'hasil_angka.csv');
13.3 Menyimpan dan memuat ruang kerja
save('data.mat'); % menyimpan semua variabelsave('data.mat', 'A'); % menyimpan variabel tertentuload('data.mat'); % memuat kembali
Berkas .mat adalah format asli MATLAB dan menyimpan variabel apa adanya.
13.4 Alternatif melalui antarmuka
Tombol Import Data pada tab Home memungkinkan data diimpor lewat kotak dialog interaktif, yang berguna bagi pemula.
13.5 Membersihkan data
T = rmmissing(T); % menghapus baris dengan data hilangT = fillmissing(T, 'constant', 0); % mengisi data hilang (contoh)
Data hilang dalam MATLAB umumnya ditandai NaN (numerik) atau <missing> (untai dan kategorik).
14. Statistika dan Analisis Data
14.1 Statistik deskriptif
x = [78 85 90 66 72 88 95 81];mean(x) % reratamedian(x) % medianmode(x) % modusstd(x) % simpangan bakuvar(x) % ragamrange(x) % rentangprctile(x, [25 50 75]) % persentil
Sebagian fungsi, seperti range, dan prctile, dapat memerlukan Statistics and Machine Learning Toolbox pada rilis tertentu. Periksa dokumentasi.
14.2 Korelasi
jam = [1 2 3 4 5 6 7 8];nilai = [55 60 63 70 72 80 85 90];corrcoef(jam, nilai)
Nilai di luar diagonal pada matriks hasil adalah koefisien korelasi Pearson.
14.3 Regresi linear sederhana
Tanpa toolbox tambahan:
p = polyfit(jam, nilai, 1); % p(1) kemiringan, p(2) intersepprediksi = polyval(p, jam);plot(jam, nilai, 'o', jam, prediksi, '-');xlabel('Jam belajar'); ylabel('Nilai');
Dengan Statistics and Machine Learning Toolbox:
T = table(jam', nilai', 'VariableNames', {'Jam','Nilai'});mdl = fitlm(T, 'Nilai ~ Jam')
Hasilnya memuat koefisien, galat baku, nilai p, R², dan R² yang disesuaikan.
14.4 Uji hipotesis (dengan Statistics and Machine Learning Toolbox)
[h, p] = ttest(x, 75); % uji-t satu sampel dengan nilai acuan 75[h, p] = ttest2(kelA, kelB); % uji-t dua sampel independen[p, tbl] = anova1(data); % ANOVA satu arah[h, p] = kstest(zscore(x)); % uji normalitas Kolmogorov-Smirnov
Keluaran h bernilai 1 bila hipotesis nol ditolak pada taraf 5 persen dan 0 bila tidak ditolak. Keluaran p adalah nilai p.
14.5 Normalisasi dan standarisasi
z = zscore(x); % skor bakun = normalize(x, 'range'); % skala 0 sampai 1
14.6 Analisis kelompok data
G = groupsummary(T, 'Kategori', 'mean', 'Nilai');14.7 Bilangan acak dan simulasi
rng(1); % mengatur benih agar hasil dapat diulangx = randn(1000,1); % 1000 bilangan acak normal bakuhistogram(x);
15. Komputasi Numerik
15.1 Integral
integral(@(x) x.^2, 0, 3) % hasilnya 915.2 Persamaan nonlinear
akar = fzero(@(x) x^2 - 2, [0 2]) % sekitar 1,414215.3 Optimasi
[xmin, fmin] = fminsearch(@(x) (x-3)^2 + 2, 0)Untuk optimasi terkendala dan skala besar, tersedia Optimization Toolbox.
15.4 Persamaan diferensial biasa
[t, y] = ode45(@(t,y) -0.5*y, [0 10], 5);plot(t, y);
15.5 Interpolasi dan pencocokan kurva
yi = interp1(x, y, xq, 'linear');p = polyfit(x, y, 2); % polinom derajat 2
15.6 Matematika simbolik (dengan Symbolic Math Toolbox)
syms xdiff(x^3, x) % turunan: 3*x^2int(x^2, x) % integral: x^3/3solve(x^2 - 4 == 0, x) % akar: -2 dan 2
16. Pengantar Simulink
Simulink adalah lingkungan pemodelan dan simulasi berbasis diagram blok yang terintegrasi dengan MATLAB. Pengguna menyusun model dengan menyeret dan menghubungkan blok, lalu menjalankan simulasi dan melihat hasilnya pada osiloskop virtual.
Simulink banyak dipakai untuk:
- sistem kendali dan otomasi;
- sistem tenaga dan elektronika daya;
- sistem mekanik dan otomotif;
- pemrosesan sinyal dan komunikasi;
- sistem tertanam.
Untuk membukanya, ketik simulink pada jendela perintah atau klik ikon Simulink pada tab Home. Bagi pemula, mulailah dengan menguasai MATLAB terlebih dahulu sebelum mendalami Simulink.
17. Toolbox Penting
Toolbox dilisensikan terpisah dari MATLAB inti. Beberapa yang paling sering dipakai:
- Statistics and Machine Learning Toolbox: uji statistik, regresi, klasifikasi, pengelompokan, dan pembelajaran mesin klasik.
- Optimization Toolbox: optimasi linear, nonlinear, dan bilangan bulat.
- Signal Processing Toolbox: analisis dan penyaringan sinyal.
- Image Processing Toolbox: pengolahan dan analisis citra.
- Control System Toolbox: perancangan dan analisis sistem kendali.
- Deep Learning Toolbox: jaringan saraf dan pembelajaran mendalam.
- Curve Fitting Toolbox: pencocokan kurva dan permukaan.
- Symbolic Math Toolbox: perhitungan simbolik.
- Financial Toolbox dan Econometrics Toolbox: pemodelan keuangan, manajemen portofolio, dan analisis deret waktu ekonomi.
- Parallel Computing Toolbox: pemrosesan paralel untuk mempercepat perhitungan.
- Database Toolbox: koneksi ke basis data.
Untuk mengetahui toolbox yang terpasang, ketik ver pada jendela perintah.
18. Live Editor dan Aplikasi Bawaan
18.1 Live Editor
Live Editor memungkinkan pengguna menulis kode, melihat hasil dan grafik tepat di bawahnya, serta menyisipkan teks, persamaan, dan gambar. Berkasnya berekstensi .mlx. Cocok untuk laporan, bahan ajar, dan dokumentasi analisis. Hasilnya dapat diekspor ke PDF, Word, atau HTML.
18.2 Aplikasi bawaan (Apps)
Tab Apps menyediakan alat interaktif tanpa perlu menulis kode, misalnya:
- Curve Fitter: mencocokkan kurva pada data.
- Regression Learner dan Classification Learner: membangun model prediksi lewat antarmuka grafis.
- Signal Analyzer dan Image Viewer.
- Data Cleaner: membersihkan data secara interaktif.
Fitur ini membantu pemula yang belum terbiasa menulis kode.
19. Studi Kasus
19.1 Studi kasus 1: Hubungan jam belajar dan nilai
Situasi. Seorang dosen ingin mengetahui apakah jam belajar berkaitan dengan nilai ujian pada 30 mahasiswa. Data disimpan dalam berkas belajar.csv dengan kolom Jam dan Nilai.
Langkah analisis:
clear; clc; close all;% 1. Membaca dataT = readtable('belajar.csv');head(T)% 2. Statistik deskriptifsummary(T)% 3. Grafik sebarscatter(T.Jam, T.Nilai, 'filled');xlabel('Jam belajar'); ylabel('Nilai ujian');% 4. KorelasiR = corrcoef(T.Jam, T.Nilai);disp(R(1,2));% 5. Regresi linearmdl = fitlm(T, 'Nilai ~ Jam')% 6. Grafik garis regresihold on;plot(T.Jam, mdl.Fitted, 'r-', 'LineWidth', 1.5);hold off;
Tafsiran. Periksa koefisien korelasi, nilai p untuk koefisien Jam, dan R². Bila koefisien positif dan nilai p kurang dari 0,05, jam belajar berkaitan secara signifikan dengan kenaikan nilai. Ingat bahwa keterkaitan tidak otomatis berarti sebab-akibat.
19.2 Studi kasus 2: Simulasi Monte Carlo untuk memperkirakan pi
Ide. Bangkitkan titik acak di dalam persegi satuan. Perbandingan titik yang jatuh di dalam seperempat lingkaran terhadap seluruh titik mendekati pi per empat.
rng(1);N = 100000;x = rand(N,1);y = rand(N,1);dalam = (x.^2 + y.^2) <= 1;piPerkiraan = 4 * sum(dalam) / N
Semakin besar N, semakin dekat perkiraan dengan nilai pi sebenarnya. Contoh ini menggambarkan cara berpikir simulasi yang dapat diterapkan pada risiko keuangan, antrean layanan, hingga rekayasa keandalan.
19.3 Studi kasus 3: Nilai masa depan investasi
Situasi. Menghitung nilai masa depan tabungan bulanan dengan bunga majemuk.
setoran = 1000000; % setoran per bulansukuBunga = 0.005; % 0,5 persen per bulanbulan = 1:60; % lima tahunNM = setoran * ((1 + sukuBunga).^bulan - 1) / sukuBunga;plot(bulan, NM, 'LineWidth', 1.5);xlabel('Bulan'); ylabel('Nilai masa depan');grid on;NM(end)
Contoh ini memperlihatkan bagaimana rumus keuangan dapat diterapkan pada seluruh vektor waktu sekaligus lewat vektorisasi.
20. Debugging dan Penanganan Galat
20.1 Memahami pesan galat
Pesan galat MATLAB berwarna merah dan biasanya menyebutkan jenis galat serta baris penyebabnya. Baca pesan dari atas ke bawah, lalu klik tautan nomor baris untuk melompat ke lokasi kode.
20.2 Galat yang sering muncul
- Undefined function or variable: nama salah ketik, variabel belum dibuat, atau berkas fungsi tidak berada pada folder kerja.
- Dimensions of arrays being concatenated are not consistent: ukuran matriks tidak cocok saat digabung.
- Matrix dimensions must agree atau Inner matrix dimensions must agree: ukuran matriks tidak sesuai untuk operasi yang dilakukan, atau tertukar
*dengan.*. - Index exceeds the number of array elements: indeks melebihi ukuran larik.
- Subscript indices must either be real positive integers or logicals: indeks berupa nol, negatif, atau pecahan. Ingat bahwa indeks dimulai dari 1.
- Unrecognized function or variable: fungsi berasal dari toolbox yang belum dipasang atau belum berlisensi.
20.3 Alat debugging
- Breakpoint: klik area di samping nomor baris pada Editor untuk menghentikan program di baris itu, lalu periksa isi variabel.
- Step: menjalankan program baris demi baris.
- Perintah
dispdanfprintf: menampilkan nilai untuk pemeriksaan cepat. whos: memeriksa ukuran dan tipe variabel.- Analyzer kode: garis bawah oranye pada Editor menandakan saran perbaikan.
20.4 Profil kinerja
Bila program lambat, pakai Run and Time atau perintah profile on untuk mengetahui bagian yang paling banyak memakan waktu. Kebiasaan yang membantu kecepatan: gunakan vektorisasi dan alokasikan larik terlebih dahulu (misalnya zeros) sebelum mengisinya dalam perulangan.
21. Praktik Baik dalam Menulis Program
- Beri nama yang bermakna pada variabel dan fungsi.
- Tulis komentar yang menjelaskan tujuan, bukan sekadar mengulang kode.
- Buka skrip dengan
clear,clc, danclose allagar hasil dapat diulang. - Gunakan titik koma untuk menekan keluaran yang tidak perlu.
- Alokasikan larik lebih dulu sebelum mengisinya dalam perulangan.
- Gunakan vektorisasi bila memungkinkan.
- Pecah program menjadi fungsi kecil agar mudah diuji dan dipakai ulang.
- Atur benih acak dengan
rngagar hasil simulasi dapat direplikasi. - Simpan versi kerja secara berkala dan gunakan pengendali versi bila bekerja pada proyek besar.
- Uji dengan contoh kecil yang jawabannya sudah diketahui sebelum dipakai pada data sebenarnya.
22. Perbandingan MATLAB dengan Perangkat Lunak Lain
22.1 MATLAB dan Python
Python gratis, bersumber terbuka, dan memiliki ekosistem sangat luas untuk sains data serta pembelajaran mesin (NumPy, pandas, scikit-learn, dan sebagainya). MATLAB unggul pada lingkungan terpadu, dokumentasi yang seragam, Simulink, dan toolbox yang dirancang untuk bekerja sama. Python unggul pada biaya, fleksibilitas, dan luasnya komunitas.
22.2 MATLAB dan R
R sangat kuat untuk statistika dan gratis. MATLAB lebih menonjol pada komputasi numerik, rekayasa, simulasi, dan pemrosesan sinyal.
22.3 MATLAB dan GNU Octave
Octave gratis dengan sintaks yang sangat mirip. Namun, Octave tidak memiliki Simulink, cakupan toolbox lebih terbatas, dan kinerjanya dapat berbeda.
22.4 MATLAB dan SPSS, Minitab, atau JASP
Ketiganya berorientasi pada menu dan cocok untuk analisis statistik baku tanpa pemrograman. MATLAB lebih fleksibel untuk analisis khusus, simulasi, dan otomatisasi, tetapi menuntut kemampuan menulis kode.
22.5 MATLAB dan Microsoft Excel
Excel mudah dan luas dipakai untuk pengolahan data sederhana. MATLAB jauh lebih kuat untuk data besar, perhitungan matriks, grafik lanjutan, dan otomatisasi yang dapat diulang.
23. Kelebihan dan Kekurangan MATLAB
Kelebihan:
- Sangat kuat untuk operasi matriks dan komputasi numerik.
- Sintaks ringkas dan mudah dibaca.
- Grafik berkualitas tinggi dan mudah disunting.
- Dokumentasi, contoh, dan bantuan yang lengkap.
- Toolbox yang luas dan terintegrasi.
- Simulink untuk pemodelan dan simulasi sistem.
- Banyak dipakai di dunia akademik dan industri.
- Dapat bekerja bersama Python, C, C++, dan Java.
Kekurangan:
- Berlisensi berbayar, dan toolbox dilisensikan terpisah sehingga biayanya dapat besar.
- Membutuhkan sumber daya komputer yang cukup besar.
- Kurang cocok untuk membangun aplikasi web atau perangkat lunak skala besar dibandingkan bahasa serba guna.
- Kode yang bergantung pada toolbox tertentu tidak dapat dijalankan oleh pihak yang tidak memiliki lisensi.
- Bagi pemula tanpa latar belakang pemrograman, kurva belajarnya lebih curam dibandingkan perangkat lunak berbasis menu.
24. Kesalahan yang Sering Terjadi
- Tertukar
*dan.*, sehingga muncul galat dimensi atau hasil yang keliru. - Mengira indeks dimulai dari 0.
- Memakai nama fungsi bawaan sebagai nama variabel, misalnya
sum,max, ataumean, sehingga fungsi aslinya tidak dapat dipakai. - Lupa titik koma, sehingga jendela perintah dibanjiri keluaran.
- Tidak membersihkan ruang kerja, sehingga variabel lama memengaruhi hasil.
- Menaruh berkas di luar folder kerja atau lintasan pencarian, sehingga fungsi tidak ditemukan.
- Nama berkas fungsi tidak sama dengan nama fungsinya.
- Memakai
inv(A)*balih-alihA\buntuk menyelesaikan sistem persamaan linear. - Tidak mengalokasikan larik lebih dulu sehingga program lambat.
- Tidak memeriksa asumsi sebelum menafsirkan hasil uji statistik.
- Tidak menyimpan pekerjaan atau tidak menuliskan benih acak sehingga hasil tidak dapat diulang.
- Menyalin kode tanpa memahaminya, lalu kebingungan saat terjadi galat.
25. Pemecahan Masalah Umum
- Fungsi tidak dikenali. Periksa ejaan, pastikan berkas berada pada folder kerja atau lintasan pencarian (
addpath), dan pastikan toolbox terkait telah terpasang denganver. - Berkas data tidak terbaca. Periksa nama dan lokasi berkas, pemisah kolom, serta pengodean karakter. Coba impor lewat tombol Import Data.
- Angka terbaca sebagai teks. Periksa apakah ada karakter tak terduga, tanda pemisah ribuan, atau spasi pada kolom tersebut.
- Program sangat lambat. Gunakan vektorisasi, alokasikan larik lebih dulu, dan periksa dengan profil kinerja.
- Grafik tidak sesuai harapan. Periksa apakah
hold onmasih aktif, atau gunakanfigureuntuk membuka jendela grafik baru. - Memori habis. Kurangi ukuran data, hapus variabel yang tidak dipakai dengan
clear, atau proses data dalam potongan kecil. - Hasil tidak sama dengan perangkat lunak lain. Periksa pengaturan seperti pembagi simpangan baku (populasi atau sampel), jenis uji, dan pembulatan.
26. Peluang Karier dan Manfaat Menguasai MATLAB
Kemampuan MATLAB bermanfaat pada berbagai bidang:
- Teknik dan rekayasa: kendali, tenaga listrik, mekanika, dan elektronika.
- Sains data dan analitik: pengolahan data, pemodelan, dan pembelajaran mesin.
- Keuangan kuantitatif: manajemen risiko, penentuan harga aset, simulasi portofolio, dan peramalan.
- Kesehatan dan biomedis: pengolahan sinyal dan citra medis.
- Riset akademik: analisis data penelitian dan simulasi.
- Otomotif dan kedirgantaraan: pemodelan dan simulasi sistem.
Bagi lulusan yang mengincar posisi analis, kemampuan pemrograman dasar bersama pemahaman statistika dan pemodelan adalah kombinasi yang bernilai. Sertakan contoh proyek nyata pada portofolio agar kemampuan Anda mudah dibuktikan.
Komentar
Posting Komentar