MATLAB
MATLAB (Matrix Laboratory) 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.[20]
MATLAB | |
---|---|
Paradigma | multi-paradigma: fungsional, imperatif, prosedural, berorientasi objek, array |
Dirancang oleh | Cleve Moler |
Pengembang | MathWorks |
Rilis perdana | late 1970s |
Rilis stabil | 9.8 (R2020a)
/ 19 Maret 2020 |
Tipe sistem | dinamis, lemah |
Ekstensi nama berkas | .m, .p,[3] .mex*,[4] .mat,[5] .fig,[6] .mlx,[7] .mlapp,[8] .mltbx,[9] .mlappinstall,[10] .mlpkginstall[11] |
Situs web | mathworks.com |
Repositori | https://www.mathworks.com/products/matlab.html, https://de.mathworks.com/products/matlab.html |
Terpengaruh oleh | |
Mempengaruhi | |
Sunting kotak info • L • B |
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.[21]
Sejarah
suntingMATLAB (yang berarti "matrix laboratory") diciptakan pada akhir tahun 1970-an oleh Cleve Moler, yang kemudian menjadi Ketua Departemen Ilmu Komputer di Universitas New Mexico.[22] 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.[butuh rujukan] Pada tahun 2000, MATLAB ditulis ulang dengan pemakaian sekumpulan pustaka baru untuk manipulasi matriks, LAPACK.[23]
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.[22]
Sintaksis
suntingAplikasi 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.
disp('Hello, World!')
Baris kode di atas akan menghasilkan:
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.
>> 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
sunting
Penulisan variabel pada MATLAB bertipe lemah, yang berarti nama variabel akan dikonversi secara implisit.[24] Artinya, pengguna tidak perlu mendeklarasikan tipe dari variabel, kecuali jika variabel tersebut bertipe simbolik.[25] 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.
>> 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
sunting
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
>> 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).
>> A(2,3) % A(indeks baris, indeks kolom)
ans = 6
Fungsi
sunting
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.[26] Misalnya, untuk membuat fungsi yang menghitung hasil kuadrat dari suatu konstan, dapat membuat berkas bernama hasil_kuadrat.m
, dengan isi berkas sebagai berikut.
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.
>> y = hasil_kuadrat(2)
y = 4
Referensi
sunting- ^ "Persyaratan Sistem dan Ketersediaan Platform". MathWorks. Diakses tanggal August 14, 2013.
- ^ "The L-Shaped Membrane". MathWorks. 2003. Diakses tanggal February 7, 2014.
- ^ "Protect Your Source Code". MathWorks. Diakses tanggal November 1, 2019.
- ^ "MEX Platform Compatibility". MathWorks. Diakses tanggal November 1, 2019.
- ^ "MAT-File Versions". MathWorks. Diakses tanggal November 1, 2019.
- ^ "Save Figure to Reopen in MATLAB Later". MathWorks. Diakses tanggal November 1, 2019.
- ^ "Live Code File Format (.mlx)". MathWorks. Diakses tanggal November 1, 2019.
- ^ "MATLAB App Designer". MathWorks. Diakses tanggal November 1, 2019.
- ^ "Toolbox Distribution". MathWorks. Diakses tanggal November 1, 2019.
- ^ "MATLAB App Installer File". MathWorks. Diakses tanggal November 1, 2019.
- ^ "Support Package Installation". MathWorks. Diarsipkan dari versi asli tanggal 2014-10-06. Diakses tanggal November 1, 2019.
- ^ "Wawancara dengan CLEVE MOLER Dilakukan oleh Thomas Haigh Pada tanggal 8 dan 9 Maret 2004 Santa Barbara, California" (PDF). Computer History Museum. Diarsipkan dari versi asli (PDF) tanggal December 27, 2014. Diakses tanggal Desember 6, 2016.
So APL, Speakeasy, LINPACK, EISPACK, and PL0 were the predecessors to MATLAB.
- ^ Bezanson, Jeff; Karpinski, Stefan; Shah, Viral; Edelman, Alan (Februari 14, 2012). "Why We Created Julia". Julia Language. Diakses tanggal Desember 1, 2016.
- ^ Eaton, John W. (May 21, 2001). "Octave: Past, Present, and Future" (PDF). Texas-Wisconsin Modeling and Control Consortium. Diarsipkan dari versi asli (PDF) tanggal August 9, 2017. Diakses tanggal December 1, 2016.
- ^ "History". Scilab. Diarsipkan dari versi asli tanggal December 1, 2016. Diakses tanggal Desember 1, 2016.
- ^ S.M. Rump: INTLAB – INTerval LABoratory. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77–104. Kluwer Academic Publishers, Dordrecht, 1999.
- ^ Moore, R. E., Kearfott, R. B., & Cloud, M. J. (2009). Introduction to Interval Analysis. Society for Industrial and Applied Mathematics.
- ^ Rump, S. M. (2010). Verification methods: Rigorous results using floating-point arithmetic. Acta Numerica, 19, 287–449.
- ^ Hargreaves, G. I. (2002). Interval analysis in MATLAB. Numerical Algorithms, (2009.1).
- ^ Yunus, A. M. S., dan Djalal, M. R. (2019). Pemodelan untuk Rangkaian Listrik. Sleman: Deepublish. hlm. 3. ISBN 978-623-209-387-4.
- ^ Richard Goering, "Matlab edges closer to electronic design automation world Diarsipkan 2007-09-29 di Wayback Machine.," EE Times, 10/04/2004
- ^ a b Cleve Moler, the creator of MATLAB (2004). "The Origins of MATLAB". Diarsipkan dari versi asli tanggal 2006-03-18. Diakses tanggal April 15 2007.
- ^ Note from Cleve Moler in a Mathworks newsletter Cleve Moler, the creator of MATLAB (2000). "MATLAB Incorporates LAPACK". Diarsipkan dari versi asli tanggal 2009-10-15. Diakses tanggal December 20 2008.
- ^ "Comparison of MATLAB and Other OO Languages - MATLAB & Simulink". www.mathworks.com. Diakses tanggal 2024-05-26.
- ^ "Symbolic Variables, Expressions, Functions, and Preferences - MATLAB & Simulink". www.mathworks.com. Diakses tanggal 2024-05-26.
- ^ "Case and Space Sensitivity - MATLAB & Simulink". www.mathworks.com. Diakses tanggal 2024-05-26.
Pranala luar
sunting- Hazewinkel, Michiel, ed. (2001) [1994], "Linear algebra software packages", Encyclopedia of Mathematics, Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 978-1-55608-010-4
- 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 di Curlie (dari DMOZ)
- MATLAB Central Newsreader Diarsipkan 2014-04-22 di Wayback Machine. – a web-based newsgroups reader hosted by MathWorks for comp.soft-sys.matlab
- LiteratePrograms (MATLAB) Diarsipkan 2010-07-09 di Wayback Machine.
- MATLAB Central Blogs
- Physical Modeling in MATLAB by Allen B. Downey, Green Tea Press, PDF Diarsipkan 2012-05-02 di Wayback Machine., ISBN 978-0-615-18550-7. An introduction to MATLAB.
- Writing Fast MATLAB Code[pranala nonaktif permanen] by Pascal Getreuer
- Calling MATLAB from Java: MatlabControl JMI Wrapper, The MatlabJava Server, MatlabControl Diarsipkan 2012-08-31 di Wayback Machine.
- International Online Workshop on MATLAB and Simulink Diarsipkan 2013-01-16 di Wayback Machine. 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.