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:

  1. Dynamically typed. Variabel tidak perlu dideklarasikan tipenya. Ketika interpreter MATLAB membaca x = 5, interpreter langsung membuat variabel x berisi matriks 1×1. Tipe variabel mengikuti nilai terakhir yang diberikan.
  2. Everything is a matrix. Setiap nilai adalah matriks: skalar 7 adalah matriks 1×1, vektor [1 2 3] adalah matriks 1×3. Operator * melakukan perkalian matriks sungguhan, bukan sekadar perkalian elemen-per-elemen.
  3. 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:

text
>> A = [1 2; 3 4]

A =

     1     2
     3     4

>> A * A

ans =

     7    10
    15    22

>> sqrt([1 4 9])

ans =

     1     2     3

Mari kita bedah baris-baris kode di atas:

  1. 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 blok A = ... tampil di layar.
  2. Baris 2 (A * A): interpreter mengalikan A dengan A mengikuti aturan aljabar linear (baris dikali kolom), bukan elemen-per-elemen. Hasil [7 10; 15 22] tidak ditugaskan, sehingga MATLAB menyimpannya ke variabel bawaan ans.
  3. Baris 3 (sqrt([1 4 9])): fungsi sqrt bekerja 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:

KarakteristikAkibat saat menulis kode
Dynamically typedx = 5 lalu x = 'halo' sah; tipe mengikuti isi terakhir
Everything is a matrixA*B adalah perkalian matriks; A.*B untuk elemen-per-elemen
Interpretedkode dapat diuji baris per baris di Command Window, tanpa kompilasi

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.

ToolboxKebutuhan utama
Signal Processing Toolboxdesain filter, FFT, analisis spektrum
Image Processing Toolboxfilter citra, segmentasi, morfologi
Control System Toolboxpemodelan sistem, desain kendali
Statistics and Machine Learning Toolboxstatistik, regresi, klasifikasi
Deep Learning Toolboxjaringan 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:

AspekMATLABPythonRJulia
Fokuskomputasi numerik teknik dan sainsserbagunastatistika dan analisis datakomputasi teknis performa tinggi
Biayalisensi berbayar (lisensi kampus lazim tersedia)gratis, open sourcegratis, open sourcegratis, open source
Matrikstipe bawaan bahasalewat pustaka NumPylewat struktur data dan matrikstipe bawaan bahasa
Kekuatan ekosistemtoolbox teruji, dokumentasi seragampustaka terbanyak dan terluaspaket statistik mendalam di CRANkomunitas muda, tumbuh cepat
Ciri khassatu vendor menjaga seluruh ekosistemintegrasi web, otomasi, AI umumpelaporan statistikkecepatan 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.