MATLAB: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan |
NikolasKHF (bicara | kontrib) Perbaikan kecil di terjemahan sintaksis, dan penambahan bagian-bagian yang kurang; hasil terjemahan dari Wikipedia bahasa Inggris |
||
(21 revisi perantara oleh 13 pengguna tidak ditampilkan) | |||
Baris 1:
{{for|wilayah geografis|Matlab (Bangladesh)}}
{{distinguish|MATHLAB}}
{{Infobox software
| name = MATLAB (perangkat
| logo
| logo caption = Logo membran berbentuk L.<ref>{{cite web|title=The L-Shaped Membrane|url=http://www.mathworks.com/company/newsletters/articles/the-l-shaped-membrane.html|publisher=MathWorks|accessdate=February 7, 2014|year=2003}}</ref>
| screenshot =
| caption = MATLAB R2015b di Windows 10
| developer = [[MathWorks]]
| released = {{Start date and age|1984}}
| latest release version = R2020a
| latest release date = {{Start date and age|2020|03|19}}
| latest preview version =
| latest preview date =
| programming language = [[C (bahasa pemrograman)|C]]/[[C++]], MATLAB
| operating system = [[Microsoft Windows|Windows]], [[macOS]], dan [[Linux]]<ref>{{cite web|url=http://www.mathworks.com/products/availability/index.html#ML|title=Persyaratan Sistem dan Ketersediaan Platform|publisher=MathWorks|accessdate=August 14, 2013}}</ref>
| platform = [[IA-32]], [[x86-64]]
| genre = [[Daftar perangkat lunak analisis numerik|Komputasi numerik]]
| license = [[Perangkat lunak berpemilik|Kepemilikan]] [[perangkat lunak komersial]]
| website = {{URL|https://www.mathworks.com/products/matlab.html|mathworks.com}}
}}
{{Infobox programming language
| name = MATLAB (bahasa
| paradigm = [[Bahasa pemrograman multi-paradigma|multi-paradigma]]: [[Pemrograman fungsional|fungsional]], [[Pemrograman imperatif|imperatif]], [[Pemrograman prosedural|prosedural]], [[Pemrograman berorientasi objek|berorientasi objek]], [[Pemrograman array|array]]
| family =
| year
| designer = [[Cleve Moler]]
| developer = [[MathWorks]]
| latest release version = 9.8 (R2020a)
| latest release date = {{Start date and age|2020|03|19}}
| latest preview version =
| latest preview date =
| typing = [[pengetikan dinamis|dinamis]], [[pengetikan lemah|lemah]]
| turing-complete = Iya
| scope =
| implementations =
| dialects =
| influenced by = {{startflatlist}}
*[[APL (bahasa pemrograman)|APL]]
*[[EISPACK]]
*[[LINPACK]]
*[[PL/0]]
*[[Speakeasy (lingkungan komputasi)|Speakeasy]]<ref>{{cite web |url=http://archive.computerhistory.org/resources/access/text/2013/12/102746804-05-01-acc.pdf |title=Wawancara dengan CLEVE MOLER Dilakukan oleh Thomas Haigh Pada tanggal 8 dan 9 Maret 2004 Santa Barbara, California |publisher=Computer History Museum |quote=So APL, Speakeasy, LINPACK, EISPACK, and PL0 were the predecessors to MATLAB. |accessdate=Desember 6, 2016 |archive-url=https://web.archive.org/web/20141227140938/http://archive.computerhistory.org/resources/access/text/2013/12/102746804-05-01-acc.pdf |archive-date=December 27, 2014 |url-status=dead }}</ref>
{{endflatlist}}
| influenced = {{startflatlist}}
*[[Julia (bahasa pemrograman)|Julia]]<ref name="Julia">{{cite web |url=http://julialang.org/blog/2012/02/why-we-created-julia |first1=Jeff |last1=Bezanson |first2=Stefan |last2=Karpinski |first3=Viral |last3=Shah |first4=Alan |last4=Edelman |title=Why We Created Julia |publisher=Julia Language |date=Februari 14, 2012 |accessdate=Desember 1, 2016}}</ref>
*[[GNU Oktaf|Oktaf]]<ref name="Octave">{{cite web |url=http://jbrwww.che.wisc.edu/tech-reports/twmcc-2001-03.pdf |first=John W. |last=Eaton |title=Octave: Past, Present, and Future |work=Texas-Wisconsin Modeling and Control Consortium |date=May 21, 2001 |accessdate=December 1, 2016 |archive-url=https://web.archive.org/web/20170809034614/http://jbrwww.che.wisc.edu/tech-reports/twmcc-2001-03.pdf |archive-date=August 9, 2017 |url-status=dead }}</ref>
*[[Scilab]]<ref name="Scilab">{{cite web |url=https://www.scilab.org/scilab/history |title=History |publisher=Scilab |accessdate=Desember 1, 2016 |archive-url=https://web.archive.org/web/20161201171246/http://www.scilab.org/scilab/history |archive-date=December 1, 2016 |url-status=dead }}</ref>
* [[INTLAB]]<ref name="rump">S.M. Rump: INTLAB – INTerval LABoratory. In Tibor Csendes, editor, Developments in Reliable Computing, pages 77–104. Kluwer Academic Publishers, Dordrecht, 1999.</ref><ref name="moore">Moore, R. E., Kearfott, R. B., & Cloud, M. J. (2009). Introduction to Interval Analysis. [[Society for Industrial and Applied Mathematics]].</ref><ref name="acta">Rump, S. M. (2010). Verification methods: Rigorous results using floating-point arithmetic. [[Acta Numerica]], 19, 287–449.</ref><ref name="har">Hargreaves, G. I. (2002). Interval analysis in MATLAB. Numerical Algorithms, (2009.1).</ref>
{{endflatlist}}
| operating system =
| license =
| file ext = .m, .p,<ref>{{cite web|title=Protect Your Source Code|url=https://www.mathworks.com/help/matlab/matlab_prog/protect-your-source-code.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .mex*,<ref>{{cite web|title=MEX Platform Compatibility|url=https://www.mathworks.com/help/matlab/matlab_external/platform-compatibility.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .mat,<ref>{{cite web|title=MAT-File Versions|url=https://www.mathworks.com/help/matlab/import_export/mat-file-versions.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .fig,<ref>{{cite web|title=Save Figure to Reopen in MATLAB Later|url=https://www.mathworks.com/help/matlab/creating_plots/save-figure-to-reopen-in-matlab-later.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .mlx,<ref>{{cite web|title=Live Code File Format (.mlx)|url=https://www.mathworks.com/help/matlab/matlab_prog/live-script-file-format.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .mlapp,<ref>{{cite web|title=MATLAB App Designer|url=https://www.mathworks.com/help/matlab/ref/appdesigner.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .mltbx,<ref>{{cite web|title=Toolbox Distribution|url=https://www.mathworks.com/help/matlab/creating-help.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .mlappinstall,<ref>{{cite web|title=MATLAB App Installer File|url=https://www.mathworks.com/help/matlab/creating_guis/what-is-an-app.html|publisher=MathWorks|accessdate=November 1, 2019}}</ref> .mlpkginstall<ref>{{cite web|title=Support Package Installation|url=https://www.mathworks.com/help/matlab/matlab_external/support-package-installation.html|publisher=MathWorks|accessdate=November 1, 2019|archive-date=2014-10-06|archive-url=https://web.archive.org/web/20141006135910/https://www.mathworks.com/help/matlab/matlab_external/support-package-installation.html|dead-url=yes}}</ref>
| website = {{URL|https://www.mathworks.com/products/matlab.html|mathworks.com}}
| wikibooks = MATLAB Programming
}}
'''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 (bahasa pemrograman)|C]], [[Java]], [[.NET Framework]], dan [[Microsoft Excel]].<ref>{{Cite book|last=Yunus, A. M. S., dan Djalal, M. R.|date=2019|url=https://www.google.co.id/books/edition/Permodelan_Untuk_Rangkaian_Listrik/9gyfDwAAQBAJ?hl=id&gbpv=1&dq=pemodelan+rangkaian+listrik&printsec=frontcover|title=Pemodelan untuk Rangkaian Listrik|location=Sleman|publisher=Deepublish|isbn=978-623-209-387-4|pages=3|url-status=live}}</ref>
MATLAB memungkinkan manipulasi [[matriks (matematika)|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.<ref>Richard Goering, "[http://www.eetimes.com/news/design/showArticle.jhtml?articleID=49400392 Matlab edges closer to electronic design automation world] {{Webarchive|url=https://web.archive.org/web/20070929082942/http://www.eetimes.com/news/design/showArticle.jhtml?articleID=49400392 |date=2007-09-29 }}," ''EE Times'', 10/04/2004</ref>
== 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]].<ref name="origins">{{cite web | url = http://www.mathworks.com/company/newsletters/news_notes/clevescorner/dec04.html | title = The Origins of MATLAB | author = Cleve Moler, the creator of MATLAB | dateformat = mdy | accessdate = April 15 2007 | year = 2004 | month = December | archive-date = 2006-03-18 | archive-url = https://web.archive.org/web/20060318221639/http://www.mathworks.com/company/newsletters/news_notes/clevescorner/dec04.html | dead-url = yes }}</ref> 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]]. [[John N. Little|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.{{Fact|date=May 2009}} Pada tahun 2000, MATLAB ditulis ulang dengan pemakaian sekumpulan pustaka baru untuk manipulasi matriks, [[LAPACK]].<ref>Note from Cleve Moler in a Mathworks newsletter {{cite web | url = http://www.mathworks.com/company/newsletters/news_notes/clevescorner/winter2000.cleve.html | title = MATLAB Incorporates LAPACK | author = Cleve Moler, the creator of MATLAB | dateformat = mdy | accessdate = December 20 2008 | year = 2000 | month = | archive-date = 2009-10-15 | archive-url = https://web.archive.org/web/20091015215812/http://www.mathworks.com/company/newsletters/news_notes/clevescorner/winter2000.cleve.html | dead-url = yes }}</ref>
MATLAB pertama kali diadopsi oleh insinyur rancangan kontrol (yang juga spesialisasi Little),
==
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 [[Hello world|program "Hello, World!"]] dalam MATLAB dapat dituliskan sebagai berikut.<syntaxhighlight lang="matlab">
disp('Hello, World!')
</syntaxhighlight>Baris kode di atas akan menghasilkan:<syntaxhighlight lang="matlab">
Hello, World!
</syntaxhighlight>Untuk memasukkan komentar ke dalam kode atau jendela perintah, cukup tambahkan tanda persen (<code>%</code>) 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 (<code>;</code>) di akhir baris kode. Blok kode di bawah menampilkan contoh penggunaan titik koma.<syntaxhighlight lang="matlab">
>> A = 3 % Tidak menambahkan titik koma, maka hasil akan dicetak.
A = 3
>> B = 5; % Menambahkan titik koma, maka hasil tidak akan dicetak.
>>
</syntaxhighlight>Setiap variabel akan disimpan pada jendela ''Workspace''.
=== Variabel ===
Penulisan [[Variabel (ilmu komputer)|variabel]] pada MATLAB bertipe lemah, yang berarti nama variabel akan dikonversi secara implisit.<ref>{{Cite web|title=Comparison of MATLAB and Other OO Languages - MATLAB & Simulink|url=https://www.mathworks.com/help/matlab/matlab_oop/matlab-vs-other-oo-languages.html|website=www.mathworks.com|access-date=2024-05-26}}</ref> Artinya, pengguna tidak perlu mendeklarasikan tipe dari variabel, kecuali jika variabel tersebut bertipe simbolik.<ref>{{Cite web|title=Symbolic Variables, Expressions, Functions, and Preferences - MATLAB & Simulink|url=https://www.mathworks.com/help/symbolic/symbolic-variables-expressions-and-functions.html;jsessionid=447735cc433f69539bcd8ed651ae|website=www.mathworks.com|access-date=2024-05-26}}</ref> Penulisan variabel di matlab cukup dengan nama variabel, operator <code>=</code>, dan nilai dari variabel tersebut. Nilai dari variabel dapat berupa [[Konstanta (matematika)|konstanta]], teks, nilai dari variabel lain, maupun hasil dari suatu fungsi.<syntaxhighlight lang="matlab">
>> x = 17
x =
Baris 60 ⟶ 102:
y =
-1.6097 3.0000
</syntaxhighlight>
=== Vektor atau matriks ===
Vektor dan matriks dalam MATLAB dapat didefinisikan dengan menggunakan kurung kotak (<code>[]</code>) dalam nilai yang diberikan pada variabel. Setiap elemen dari vektor dan matriks dipisahkan dengan koma (<code>,</code>) atau spasi untuk kolom dan titik koma (<code>;</code>) untuk baris. Contoh<syntaxhighlight lang="matlab">
>> A = [1,2,3; 4,5,6; 7,8,9]
A =
1 2 3
4 5 6
7 8 9
</syntaxhighlight>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 (bahasa pemrograman)|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 <code>ans</code> dibuat otomatis oleh MATLAB sebagai variabel luaran bawaan).<syntaxhighlight lang="matlab">
>> A(2,3) % A(indeks baris, indeks kolom)
ans = 6
</syntaxhighlight>
=== Fungsi ===
Fungsi MATLAB dapat dibuat dengan membuat berkas <code>.m</code> 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.<ref>{{Cite web|title=Case and Space Sensitivity - MATLAB & Simulink|url=https://www.mathworks.com/help/matlab/matlab_prog/case-and-space-sensitivity.html|website=www.mathworks.com|access-date=2024-05-26}}</ref> Misalnya, untuk membuat fungsi yang menghitung hasil [[Pangkat dua|kuadrat]] dari suatu konstan, dapat membuat berkas bernama <code>hasil_kuadrat.m</code>, dengan isi berkas sebagai berikut.<syntaxhighlight lang="matlab" line="1">
function hasil = hasil_kuadrat(x)
% Fungsi ini menghitung hasil kuadrat dari x.
% Sintaksis:
% hasil_kuadrat(x)
hasil = x.^2;
end
</syntaxhighlight>Baris 2 hingga 4 menunjukkan dokumentasi dari fungsi tersebut. Dokumentasi ini bersifat opsional. Dokumentasi ini dapat diakses melalui jendela perintah sebagai berikut dengan perintah <code>help</code> dan nama variabel, misalnya <code>help hasil_kuadrat</code>. Perintah ini akan menghasilkan<syntaxhighlight>
Fungsi ini menghitung hasil kuadrat dari x.
Sintaksis:
hasil_kuadrat(x)
</syntaxhighlight>Untuk memanggil fungsi tersebut, fungsi tersebut harus berada pada [[direktori]] yang sama dengan bidang kerja. Setelah itu, dapat dipanggil seperti berikut.<syntaxhighlight lang="matlab">
>> y = hasil_kuadrat(2)
y = 4
</syntaxhighlight>
== Referensi ==
Baris 74 ⟶ 147:
* [http://www.mathworks.com/matlabcentral/fileexchange/ MATLAB Central File Exchange] – Library of over 18,000 user-contributed MATLAB files and toolboxes, mostly distributed under [[BSD License]].
* {{dmoz|Science/Math/Software/MATLAB/|MATLAB}}
* [http://www.mathworks.com/matlabcentral/newsreader/ MATLAB Central Newsreader] {{Webarchive|url=https://web.archive.org/web/20140422050221/http://www.mathworks.com/matlabcentral/newsreader/ |date=2014-04-22 }} – a web-based newsgroups reader hosted by MathWorks for [news://comp.soft-sys.matlab comp.soft-sys.matlab]
* [http://en.literateprograms.org/Category:Programming_language:Matlab LiteratePrograms (MATLAB)] {{Webarchive|url=https://web.archive.org/web/20100709015003/http://en.literateprograms.org/Category:Programming_language:MATLAB |date=2010-07-09 }}
* [http://blogs.mathworks.com/ MATLAB Central Blogs]
* [http://greenteapress.com/matlab/ ''Physical Modeling in MATLAB''] by Allen B. Downey, Green Tea Press, [http://greenteapress.com/matlab/downey08matlab.pdf PDF] {{Webarchive|url=https://web.archive.org/web/20120502083641/http://greenteapress.com/matlab/downey08matlab.pdf |date=2012-05-02 }}, ISBN 978-0-615-18550-7. An introduction to MATLAB.
* [http://www.getreuer.info/matopt.pdf ''Writing Fast MATLAB Code'']{{Pranala mati|date=Mei 2021 |bot=InternetArchiveBot |fix-attempted=yes }} by Pascal Getreuer
* [http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html Calling MATLAB from Java: MatlabControl JMI Wrapper, The MatlabJava Server, MatlabControl] {{Webarchive|url=https://web.archive.org/web/20120831101920/http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html |date=2012-08-31 }}
* [http://www.iowms.in International Online Workshop on MATLAB and Simulink] {{Webarchive|url=https://web.archive.org/web/20130116101244/http://www.iowms.in/ |date=2013-01-16 }} by WorldServe Education
* [http://stackoverflow.com/questions/tagged/matlab MATLAB tag] on Stack Overflow.
* [http://www.mathworks.com/matlabcentral/answers/ MATLAB Answers] – a collaborative environment for finding the best answers to your questions about MATLAB, Simulink, and related products.
Baris 86 ⟶ 159:
* [http://www.mathworks.com/matlabcentral/contest/ MATLAB Online Programming Contest]
* [http://www.mathworks.com/matlabcentral/trendy Trendy] – a MATLAB based web service for tracking and plotting trends.
[[Kategori:Perangkat lunak statistika]]
[[Kategori:Perangkat lunak pengolahan citra]]
[[Kategori:Perangkat lunak visualisasi data]]
[[Kategori:Perangkat lunak ekonometrika]]
[[Kategori:Bahasa pemrograman tingkat tinggi]]
[[Kategori:Perangkat lunak optimisasi matematis]]
[[Kategori:Perangkat lunak numerik]]
|