Bayangkan kita harus menyelesaikan sistem 500 persamaan linear, menyaring derau dari rekaman sensor, lalu memplot hasilnya ke grafik — semua sebelum rapat sore. Kalkulator dan spreadsheet cepat kewalahan untuk pekerjaan semacam ini. MATLAB hadir persis untuk kebutuhan tersebut: bahasa pemrograman sekaligus lingkungan komputasi numerik yang memperlakukan matriks sebagai warga kelas satu. Chapter ini memetakan definisi, sejarah, karakteristik, dan posisi MATLAB di antara bahasa pemrograman lain.
Cakupan materi Chapter ini:
- definisi dan sejarah singkat MATLAB;
- karakteristik bahasa serta ekosistem toolbox dan Simulink;
- posisi MATLAB dibanding Python, R, dan Julia.
Definisi dan Sejarah Singkat #
MATLAB adalah singkatan dari MATrix LABoratory — laboratorium matriks. MATLAB adalah bahasa pemrograman sekaligus lingkungan komputasi interaktif untuk komputasi numerik, analisis data, dan visualisasi. Alih-alih menulis loop untuk setiap elemen data, pengguna MATLAB menyatakan perhitungan langsung dalam bentuk matriks dan vektor, sehingga kode MATLAB terbaca mirip notasi matematika di buku kuliah.
MATLAB lahir dari dunia akademia. Pada akhir 1970-an, Cleve Moler — saat itu mengajar ilmu komputer di Universitas New Mexico — membangun MATLAB agar mahasiswa dapat memakai dua pustaka numerik Fortran, LINPACK dan EISPACK, tanpa harus belajar Fortran. Versi awal MATLAB tersebar gratis di kalangan kampus. Pada tahun 1984, Moler mendirikan The MathWorks bersama Jack Little dan Steve Bangert, lalu merilis versi komersial MATLAB yang ditulis ulang dalam bahasa C.
Sejak rilis komersial tersebut, MATLAB diperbarui dua kali setahun dengan penamaan tahun-huruf; R2026b adalah acuan Course ini. Sintaks inti MATLAB tergolong stabil: skrip yang ditulis untuk R2016b umumnya masih berjalan tanpa perubahan di R2026b.
Karakteristik Bahasa MATLAB #
Tiga sifat berikut membentuk cara kita menulis dan menjalankan kode MATLAB:
- Dynamically typed. Variabel tidak perlu dideklarasikan tipenya. Ketika interpreter MATLAB membaca
x = 5, interpreter langsung membuat variabelxberisi matriks 1×1. Tipe variabel mengikuti nilai terakhir yang diberikan. - Everything is a matrix. Setiap nilai adalah matriks: skalar
7adalah matriks 1×1, vektor[1 2 3]adalah matriks 1×3. Operator*melakukan perkalian matriks sungguhan, bukan sekadar perkalian elemen-per-elemen. - Interpreted. Kode dieksekusi baris demi baris tanpa tahap kompilasi terpisah — mode kerja yang cocok untuk eksperimen interaktif.
Mari kita lihat ketiganya bekerja dalam satu sesi Command Window — ketik langsung saat MATLAB terbuka:
>> A = [1 2; 3 4]
A =
1 2
3 4
>> A * A
ans =
7 10
15 22
>> sqrt([1 4 9])
ans =
1 2 3Mari kita bedah baris-baris kode di atas:
- Baris 1 (
A = [1 2; 3 4]): tanda kurung siku membangun matriks; spasi memisahkan kolom, sedangkan titik koma di dalam kurung memisahkan baris. Karena baris tersebut tidak diakhiri titik koma, hasil penugasan di-echo, sehingga blokA = ...tampil di layar. - Baris 2 (
A * A): interpreter mengalikanAdenganAmengikuti aturan aljabar linear (baris dikali kolom), bukan elemen-per-elemen. Hasil[7 10; 15 22]tidak ditugaskan, sehingga MATLAB menyimpannya ke variabel bawaanans. - Baris 3 (
sqrt([1 4 9])): fungsisqrtbekerja pada seluruh elemen vektor sekaligus (perilaku vectorized). Perilaku inilah yang membuat kode MATLAB ringkas: tidak ada loop yang perlu ditulis.
Ringkasan akibat ketiga karakteristik tersebut saat menulis kode:
| Karakteristik | Akibat saat menulis kode |
|---|---|
| Dynamically typed | x = 5 lalu x = 'halo' sah; tipe mengikuti isi terakhir |
| Everything is a matrix | A*B adalah perkalian matriks; A.*B untuk elemen-per-elemen |
| Interpreted | kode dapat diuji baris per baris di Command Window, tanpa kompilasi |
Ekosistem: Toolbox dan Simulink #
Instalasi dasar MATLAB sudah memuat ratusan fungsi inti: aljabar linear, statistik dasar, fungsi plot, hingga baca-tulis file. Kekuatan sesungguhnya ada pada ekosistemnya. Toolbox adalah paket tambahan berisi fungsi, aplikasi, dan algoritma untuk satu domain spesifik. MathWorks merancang, menguji, dan mendokumentasikan setiap toolbox, sehingga kualitasnya seragam antar rilis.
| Toolbox | Kebutuhan utama |
|---|---|
| Signal Processing Toolbox | desain filter, FFT, analisis spektrum |
| Image Processing Toolbox | filter citra, segmentasi, morfologi |
| Control System Toolbox | pemodelan sistem, desain kendali |
| Statistics and Machine Learning Toolbox | statistik, regresi, klasifikasi |
| Deep Learning Toolbox | jaringan saraf, pelatihan dan deployment model |
Selain toolbox, ada Simulink: lingkungan pemodelan berbasis diagram blok yang terintegrasi dengan MATLAB. Simulink dipakai untuk mensimulasikan sistem dinamik — plant kendali, powertrain kendaraan, sinyal komunikasi — dan hasil simulasi dapat dianalisis lebih lanjut dari MATLAB. Komunitas pengguna juga berkumpul di MATLAB File Exchange (repositori berkas gratis buatan pengguna) dan MATLAB Answers (forum tanya jawab resmi).
Posisi MATLAB di Antara Python, R, dan Julia #
MATLAB bukan satu-satunya pemain komputasi numerik. Tabel berikut membandingkan MATLAB dengan tiga bahasa yang paling sering disandingkan dengan MATLAB:
| Aspek | MATLAB | Python | R | Julia |
|---|---|---|---|---|
| Fokus | komputasi numerik teknik dan sains | serbaguna | statistika dan analisis data | komputasi teknis performa tinggi |
| Biaya | lisensi berbayar (lisensi kampus lazim tersedia) | gratis, open source | gratis, open source | gratis, open source |
| Matriks | tipe bawaan bahasa | lewat pustaka NumPy | lewat struktur data dan matriks | tipe bawaan bahasa |
| Kekuatan ekosistem | toolbox teruji, dokumentasi seragam | pustaka terbanyak dan terluas | paket statistik mendalam di CRAN | komunitas muda, tumbuh cepat |
| Ciri khas | satu vendor menjaga seluruh ekosistem | integrasi web, otomasi, AI umum | pelaporan statistik | kecepatan mendekati bahasa C |
Pilihan bahasa akhirnya mengikuti kebutuhan kerja. MATLAB unggul ketika tim teknik membutuhkan komputasi numerik, visualisasi, dan simulasi dalam satu lingkungan terpadu yang teruji, atau ketika institusi sudah menyediakan lisensinya. Python lebih cocok ketika kebutuhan merambah aplikasi umum, web, atau pipeline machine learning produksi; R untuk analisis statistik inferensial; Julia untuk komputasi intensif. Keterampilan matriks yang kita bangun di MATLAB tetap berguna: NumPy di Python, misalnya, sengaja meniru banyak idiom MATLAB.
Ringkasan #
MATLAB adalah lingkungan komputasi numerik berbahasa matriks yang lahir dari kebutuhan akademik Cleve Moler pada akhir 1970-an dan dikomersialkan lewat The MathWorks sejak 1984. Karakter dynamically typed, everything is a matrix, dan interpreted membuat kode MATLAB ringkas dan cocok untuk eksperimen. Ekosistem toolbox, Simulink, dan File Exchange memperluas jangkauan MATLAB ke sinyal, citra, kendali, hingga deep learning. Chapter berikutnya menelusuri bidang-bidang pemakaian tersebut satu per satu.