MATLAB

**MATLAB** (**Mat**rix **Lab**oratory) adalah sebuah bahasa pemrograman tingkat tinggi yang secara khusus digunakan untuk komputasi numerik, pemrograman, dan visualisasi. Perusahaan yang bertanggung-jawab atas produk hasil pengembangan dari MATLAB ialah MathWorks. Fungsi utama dari MATLAB ialah untuk melakukan analisis data, mengembangkan algoritme, serta membuat model dan aplikasi. Kinerja MATLAB lebih tinggi dibandingkan dengan lembatang sebar atau bahasa pemrograman konvensional. Standar variabel elemen pada MATLAB menggunakan konsep larik yang tidak memerlukan proses deklarasi. MATLAB juga dapat mengadakan integrasi dengan bahasa pemrograman dan aplikasi lain, seperti C, Java, .NET Framework, dan Microsoft Excel.

MATLAB memungkinkan manipulasi matriks, pem-plot-an fungsi dan data, implementasi algoritme, pembuatan antarmuka pengguna, dan peng-antarmuka-an dengan program dalam bahasa lainnya. Meskipun hanya bernuansa numerik, sebuah kotak kakas (*toolbox*) yang menggunakan mesin simbolik MuPAD, memungkinkan akses terhadap kemampuan aljabar komputer. Sebuah paket tambahan, Simulink, menambahkan simulasi grafis multiranah dan Desain Berdasar-Model untuk sistem terlekat dan dinamik.

Pada tahun 2004, MathWorks mengklaim bahwa MATLAB telah dimanfaatkan oleh lebih dari satu juta pengguna di dunia pendidikan dan industri.

## Sejarah
MATLAB (yang berarti "*matrix laboratory*") diciptakan pada akhir tahun 1970-an oleh Cleve Moler, yang kemudian menjadi Ketua Departemen Ilmu Komputer di Universitas New Mexico. Ia merancangnya untuk memberikan akses bagi mahasiswa dalam memakai LINPACK dan EISPACK tanpa harus mempelajari Fortran. Karyanya itu segera menyebar ke universitas-universitas lain dan memperoleh sambutan hangat di kalangan komunitas matematika terapan. Jack Little, seorang insinyur, dipertemukan dengan karyanya tersebut selama kunjungan Moler ke Universitas Stanford pada tahun 1983. Menyadari potensi komersialnya, ia bergabung dengan Moler dan Steve Bangert. Mereka menulis ulang MATLAB dalam bahasa pemrograman C, kemudian mendirikan The MathWorks pada tahun 1984 untuk melanjutkan pengembangannya. Pustaka yang ditulis ulang tadi kini dikenal dengan nama JACKPAC. Pada tahun 2000, MATLAB ditulis ulang dengan pemakaian sekumpulan pustaka baru untuk manipulasi matriks, LAPACK.

MATLAB pertama kali diadopsi oleh insinyur rancangan kontrol (yang juga spesialisasi Little), tetapi lalu menyebar secara cepat ke berbagai bidang lain. Kini juga digunakan di bidang pendidikan, khususnya dalam pengajaran aljabar linear dan analisis numerik, serta populer di kalangan ilmuwan yang menekuni bidang pengolahan citra.

## Sintaksis
Aplikasi MATLAB dibangun oleh bahasa pemrograman MATLAB. Cara kerja aplikasi biasanya dilakukan pada jendela perintah (*command window*) untuk melakukan komputasi atau menjalankan berkas teks yang berisi kode MATLAB.

Contoh program "Hello, World!" dalam MATLAB dapat dituliskan sebagai berikut.
```matlab
disp('Hello, World!')
```
Baris kode di atas akan menghasilkan:
```matlab
Hello, World!
```
Untuk memasukkan komentar ke dalam kode atau jendela perintah, cukup tambahkan tanda persen (`%`) di depan komentar.

Eksekusi kode dari MATLAB akan dilakukan baris per baris, yang berarti tidak perlu ada tambahan sintaksis atau tanda di akhir baris kode dengan keseluruhan hasil dari kode akan dicetak di jendela perintah. Jika hasil tiap baris tidak ingin dicetak pada jendela perintah, cukup tambahkan tanda titik koma (`;`) di akhir baris kode. Blok kode di bawah menampilkan contoh penggunaan titik koma.
```matlab
>> A = 3 % Tidak menambahkan titik koma, maka hasil akan dicetak.
A = 3

>> B = 5; % Menambahkan titik koma, maka hasil tidak akan dicetak.
>>
```
Setiap variabel akan disimpan pada jendela *Workspace*.

### Variabel
Penulisan variabel pada MATLAB bertipe lemah, yang berarti nama variabel akan dikonversi secara implisit. Artinya, pengguna tidak perlu mendeklarasikan tipe dari variabel, kecuali jika variabel tersebut bertipe simbolik. Penulisan variabel di matlab cukup dengan nama variabel, operator `=`, dan nilai dari variabel tersebut. Nilai dari variabel dapat berupa konstanta, teks, nilai dari variabel lain, maupun hasil dari suatu fungsi.
```matlab
>> x = 17
x =
 17
>> x = 'hat'
x =
hat
>> y = x + 0
y =
       104        97       116
>> x = [3*4, pi/2]
x =
   12.0000    1.5708
>> y = 3*sin(x)
y =
   -1.6097    3.0000
```


### Vektor atau matriks
Vektor dan matriks dalam MATLAB dapat didefinisikan dengan menggunakan kurung kotak (`[]`) dalam nilai yang diberikan pada variabel. Setiap elemen dari vektor dan matriks dipisahkan dengan koma (`,`) atau spasi untuk kolom dan titik koma (`;`) untuk baris. Contoh
```matlab
>> A = [1,2,3; 4,5,6; 7,8,9]
A =
    1 2 3
    4 5 6
    7 8 9
```
Untuk memanggil salah satu atau beberapa elemen dalam vektor atau matriks, dapat menggunakan tanda kurung dengan indeks dari elemen tersebut. Perlu dicatat, MATLAB memulai indeks dari 1, tidak seperti beberapa bahasa pemrograman lain yang memulai indeks dari 0, seperti C, C++, dan Java. Misalnya, untuk mengambil elemen pada baris kedua, kolom ke tiga, yaitu nilai 6 pada matriks A di atas, maka dapat menggunakan kode berikut (variabel `ans` dibuat otomatis oleh MATLAB sebagai variabel luaran bawaan).
```matlab
>> A(2,3) % A(indeks baris, indeks kolom)
ans = 6
```


### Fungsi
Fungsi MATLAB dapat dibuat dengan membuat berkas `.m` dengan nama yang sama dengan fungsi pertama pada berkas tersebut. Nama fungsi yang valid dimulai dengan huruf, lalu dapat berisi huruf, angka, atau garis bawah. Pemanggilan fungsi dan variabel peka terhadap kapital. Misalnya, untuk membuat fungsi yang menghitung hasil kuadrat dari suatu konstan, dapat membuat berkas bernama `hasil_kuadrat.m`, dengan isi berkas sebagai berikut.
```matlab
function hasil = hasil_kuadrat(x)
    % Fungsi ini menghitung hasil kuadrat dari x.
    % Sintaksis:
    %   hasil_kuadrat(x)

    hasil = x.^2;

end
```
Baris 2 hingga 4 menunjukkan dokumentasi dari fungsi tersebut. Dokumentasi ini bersifat opsional. Dokumentasi ini dapat diakses melalui jendela perintah sebagai berikut dengan perintah `help` dan nama variabel, misalnya `help hasil_kuadrat`. Perintah ini akan menghasilkan
```
Fungsi ini menghitung hasil kuadrat dari x.
Sintaksis:
    hasil_kuadrat(x)
```
Untuk memanggil fungsi tersebut, fungsi tersebut harus berada pada direktori yang sama dengan bidang kerja. Setelah itu, dapat dipanggil seperti berikut.
```matlab
>> y = hasil_kuadrat(2)
y = 4
```


## Referensi

## Pranala luar

* 
* MATLAB overview, at the MathWorks website
* Platform Road Map, at the MathWorks website.
* System Requirements, at the MathWorks website.
* MATLAB Central File Exchange – Library of over 18,000 user-contributed MATLAB files and toolboxes, mostly distributed under BSD License.
* 
* MATLAB Central Newsreader  – a web-based newsgroups reader hosted by MathWorks for [news://comp.soft-sys.matlab comp.soft-sys.matlab]
* LiteratePrograms (MATLAB) 
* MATLAB Central Blogs
* ''Physical Modeling in MATLAB'' by Allen B. Downey, Green Tea Press, PDF , ISBN 978-0-615-18550-7. An introduction to MATLAB.
* ''Writing Fast MATLAB Code'' by Pascal Getreuer
* Calling MATLAB from Java: MatlabControl JMI Wrapper, The MatlabJava Server, MatlabControl 
* International Online Workshop on MATLAB and Simulink  by WorldServe Education
* MATLAB tag on Stack Overflow.
* MATLAB Answers – a collaborative environment for finding the best answers to your questions about MATLAB, Simulink, and related products.
* Cody – a MATLAB Central game that challenges and expands your knowledge of MATLAB.
* MATLAB Online Programming Contest
* Trendy – a MATLAB based web service for tracking and plotting trends.