GNU Octave: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
NikolasKHF (bicara | kontrib)
Tidak ada ringkasan suntingan
NikolasKHF (bicara | kontrib)
kTidak ada ringkasan suntingan
 
(3 revisi perantara oleh 3 pengguna tidak ditampilkan)
Baris 15:
}}
 
'''GNU Octave''' adalah [[perangkat lunak bebas]] [[GNU]] yang dipakai untuk [[analisis numerik]], dan setara dengan kemampuan [[perangkat lunak]] [[MATLAB]]. Octave dapat menyelesaikan permasalahan linear dan nonlinear secara numerik dengan menggunakan bahasa yang [[#MATLAB|kompatibel dengan MATLAB]]. Perangkat lunak ini juga dapat digunakan sebagai bahasa [[pemrosesan tumpak]]. Sebagai bagian dari [[GNU Project]], Octave adalah [[perangkat lunak bebas]] dengan lisensi [[Lisensi Publik Umum GNU]].
 
Karena Octave memiliki Lisensi Publik GNU, maka Octave dapat dimodifikasi, disalin, dan digunakan secara bebas.<ref name="about"/> Program ini berjalan di [[Microsoft Windows]] dan kebanyakan [[sistem operasi]] [[Unix]] dan [[mirip Unix]], termasuk [[Linux]], [[Android (sistem operasi)|Android]], dan [[macOS]].<ref>{{cite web|url=http://www.octave.org/wiki/index.php?title=FAQ#On_what_platforms_does_Octave_run.3F|title=FAQ: Getting Octave|access-date= {{date|2009-04-04}}|archive-date= {{date|2011-11-21}} | archive-url= https://web.archive.org/web/20111121043348/http://octave.org/wiki/index.php?title=FAQ#On_what_platforms_does_Octave_run.3F| url-status= dead}}</ref><ref>{{Cite web|url=https://octave.org/doc/v6.3.0/|title=Top (GNU Octave (version 6.3.0))|website=octave.org}}</ref><ref>{{Cite web|title=Octave for Android - Octave|url=https://wiki.octave.org/Octave_for_Android|access-date={{date|2021-08-23}}|website=wiki.octave.org}}</ref>
Baris 80:
 
===Bahasa===
Octave adalah [[bahasa pemrograman]] terjemahan. Bahasa ini adalah bahasa [[pemrograman terstruktur]] (mirip dengan [[C (programming language)|C]]), mendukung banyak fungsi umum di [[pustaka dasar C]], dan beberapa pemanggilan sistem dan fungsi [[POSIX|UNIX]].<ref>{{cite web|url= http://www.network-theory.co.uk/docs/octave3/octave_269.html| title= GNU Octave - Controlling subprocesses| access-date= {{date|2009-01-28}}| date= {{date|14 November 2008}}| archive-url= https://web.archive.org/web/20090107005339/http://www.network-theory.co.uk/docs/octave3/octave_269.html| archive-date= {{date|7 January 2009}}| url-status= dead}}</ref> Namun, Octave tidak mendukung mentransfer argumen dengan referensi,<ref>{{cite web| url= http://www.delorie.com/gnu/docs/octave/octave_105.html| title= GNU Octave| access-date = {{date|2009-01-28}}}}</ref> meskipun argumen fungsi bersifat [[salin saat tulis]] <!--[[copy-on-write]]-->untuk menghindari duplikasi yang tidak diinginkan.
 
Program Octave berisi daftar pemanggilan fungsi atau [[Bahasa skrip|skrip]]. Sintaks yang digunakan berdasarkan [[Pemrograman larik|matriks]]<!--([[:en:Array programming]])--> dan memberikan beberapa fungsi untuk operasi matriks. Bahasa ini mendukung berbagai [[struktur data]] dan memperbolehkan [[pemrograman berorientasi objek]].<ref>{{cite web|url= https://www.gnu.org/software/octave/NEWS-3.2.html| title= Summary of important user-visible changes for version 3.2| access-date = {{date|2012-01-05}} }}</ref> Sintaks yang digunakan Octave sangat mirip dengan [[MATLAB]]. Maka dari itu, banyak fungsi yang ditulis dengan hati-hati dapat berjalan di Octave maupun MATLAB.<ref>{{cite web| url= http://www.octave.org/wiki/index.php?title=FAQ#Porting_programs_from_Matlab_to_Octave|title= FAQ: MATLAB compatibility| access-date= {{date|2009-04-04}} | archive-date= {{date|2011-11-21}} |archive-url= https://web.archive.org/web/20111121043348/http://octave.org/wiki/index.php?title=FAQ#Porting_programs_from_Matlab_to_Octave|url-status= dead}}</ref>
 
=== {{anchor|Paket}}Paket fungsi ===
GNU Octave memiliki banyak paket yang tersedia untuk menambahkan kemampuan dari Octave. Paket tersebut dapat ditemukan pada ''[https://gnu-octave.github.io/packages/ Github Octave Packages]''. Paket dapat dibuat dan dipelihara oleh siapa pun.
 
Octave also has many packages available. Those packages are located at Octave-Forge [https://octave.sourceforge.io/packages.php Octave Forge - Packages], or [https://gnu-octave.github.io/packages/symbolic Github Octave Packages]. It is also possible for anyone to create and maintain packages.
=={{anchor|MATLAB}} Kompatibilitas dengan MATLAB==
GNU Octave dikembangkan dengan mempertimbangkan kompatibilitas dengan MATLAB dan memiliki fitur yang mirip, termasuk:
* [[Matriks (matematika)|Matriks]] adalah [[tipe data]] utama.
* Memiliki dukungan [[bilangan kompleks]] bawaan.
* Fungsi matematika bawaan dan pustaka fungsi yang luas.
* Dapat dikembangkan dalam bentuk fungsi yang dibuat oleh pengguna.
 
Octave menganggap inkompatibilitas dengan MATLAB sebagai [[Kutu (komputer)|kutu]]. Maka dari itu, Octave dianggap sebagai klon perangkat lunak, yang tidak melanggar hak cipta perangkat lunak.
 
Skrip MATLAB yang ditemukan pada repository ''FileExchange'' milik [[MathWorks]] secara prinsip kompatibel dengan Octave. Namun, ketika skrip tersebut diunggah atau diberikan oleh pengguna di bawah lisensi yang kompatibel dengan [[lisensi BSD]] atau lisensi sumber terbuka, [[EULA|kebijakan penggunaan]] FileExchange melarang penggunaan skrip tersebut di luar [[Perangkat lunak milik perorangan|perankat lunak milik]] MathWorks, MATLAB.<ref>{{Cite web |title=FAQ - Octave |url=https://wiki.octave.org/FAQ |access-date={{date|2022-12-05}} |website=wiki.octave.org}}</ref><ref>{{Cite web |title=MATLAB Central Terms of Use |url=https://www.mathworks.com/matlabcentral/content/terms-of-use.html |access-date={{date|2022-12-05}} |website=www.mathworks.com |language=en}}</ref><ref>{{Cite web |title=File Exchange Licensing FAQ |url=https://www.mathworks.com/matlabcentral/content/fx/fx-transition-faq.html |access-date={{date|2022-12-05}} |website=www.mathworks.com |language=en}}</ref>
 
===Kompatibilitas sintaks===
Sintaks dari Octave sebagian besar kompatibel dengan sintaks MATLAB. Namun, terdapat beberapa perbedaan kecil yang dibuat secara sengaja, termasuk:<ref>{{cite web|url=https://wiki.octave.org/Differences_between_Octave_and_Matlab|title=Differences between Octave and MATLAB|access-date={{date|2024-12-08}}|website=Octave Wiki}}</ref>
# Fungsi dapat dibuat melalui antarmuka baris perintah di Octave;
# Baris komentar dapat dibuat dengan karakter <code>#</code> maupun <code>%</code>;
# [[Untaian]] dapat dibuat dengan karakter kutip dua (<code>"</code>) maupun kutip satu (<code>'</code>);
# Pengguna dapat melanjutkan baris kode dengan karakter garis miring terbalik (<code>\</code>) maupun karakter elipsis (<code>...</code>);
# Blok kode dapat ditutup dengan [[kata kunci]] yang lebih spesifik, seperti <code>endif</code>, <code>endfor</code>, <code>endwhile</code>, <code>endfunction</code>, dan lain sebagainya;
# Octave mendukung operator penambahan atau pengurangan seperti [[C (bahasa pemrograman)|C]], termasuk <code>++</code>, <code>--</code>, <code>+=</code>, <code>*=</code>, <code>/=</code>, dan lain sebagainya;
# Octave dapat mengindeks selain variabel, seperti <code>[1:10](3)</code>; dan
# Octave menggunakan operator <code>!</code> sebagai negasi, mirip dengan <code>~</code>.
 
===Kompatibilitas fungsi===
Banyak fungsi MATLAB yang telah tersedia di GNU Octave. Beberapa di antaranya dapat diakses melalui paket yang dapat diunduh dan dipasang dari ''[[#Paket|Octave Forge]]''. Beberapa fungsi lain yang belum tersedia dapat dilihat pada fungsi [http://hg.savannah.gnu.org/hgweb/octave/file/tip/scripts/help/__unimplemented__.m <code>__unimplemented.m__</code>].
 
Ketika fungsi yang belum diimplementasikan dipanggil, Octave akan menampilkan pesan galat seperti berikut:
<syntaxhighlight lang="octave">
octave:1> guide
warning: the 'guide' function is not yet implemented in Octave
 
Please read <http://www.octave.org/missing.html> to learn how you can contribute missing functionality.
error: 'guide' undefined near line 1 column 1
</syntaxhighlight>
 
== Aplikasi antarmuka grafis ==
Baris 140 ⟶ 173:
endif
</syntaxhighlight>
 
==Perangkat lunak yang mirip==
Selain MATLAB, perangkat lunak lain yang mirip dengan GNU Octave adalah [[Scilab]] dan [[FreeMat]].<ref name="Trappenberg2010">{{cite book|last=Trappenberg|first=Thomas|title=Fundamentals of Computational Neuroscience|year=2010|publisher=Oxford University Press|isbn=978-0-19-956841-3|page=361}}</ref><ref name="MuhammadZalizniak2011">{{cite book|last1=Muhammad|first1=A|last2=Zalizniak|first2=V|title=Practical Scientific Computing|url=https://archive.org/details/practicalscienti00muha|url-access=limited|year=2011|publisher=[[Woodhead Publishing]]|isbn=978-0-85709-226-7|page=[https://archive.org/details/practicalscienti00muha/page/n11 3]}}</ref><ref name="MegreyMoksness2008">{{cite book|last1=Megrey|first1=Bernard A.|last2=Moksness|first2=Erlend|title=Computers in Fisheries Research|url=https://archive.org/details/computersfisheri00megr|url-access=limited|year=2008|publisher=Springer Science & Business Media|isbn=978-1-4020-8636-6|page=[https://archive.org/details/computersfisheri00megr/page/n351 345]}}</ref><ref name="Kapuno2008">{{cite book|last=Kapuno|first=Raul Raymond|title=Programming for Chemical Engineers Using C, C++, and MATLAB|year=2008|publisher=Jones & Bartlett Publishers|isbn=978-1-934015-09-4|page=365}}</ref> Kedua perangkat lunak tersebut dirilis di bawah lisensi [[perangkat lunak bebas]]. Namun, GNU Octave memiliki kompatibilitas yang lebih tinggi dengan MATLAB jika dibandingkan dengan Scilab,<ref name="Trappenberg2010"/><ref name="Herman2013">{{cite book|last=Herman|first=Russell L.|title=A Course in Mathematical Methods for Physicists|year=2013|publisher=CRC Press|isbn=978-1-4665-8467-9|page=42}}</ref><ref name="WouwerSaucez2014">{{cite book|last1=Wouwer|first1=Alain Vande|last2=Saucez|first2=Philippe|last3=Vilas|first3=Carlos|title=Simulation of ODE/PDE Models with MATLAB, Octave and Scilab: Scientific and Engineering Applications|year=2014|publisher=Springer|isbn=978-3-319-06790-2|pages=114–115}}</ref> sementara FreeMat belum pernah diperbarui sejak Juni 2013.<ref>{{cite web |title=FreeMat |url=http://freemat.sourceforge.net/ |website=freemat.sourceforge.net |access-date=22 Februari 2020}}</ref> Selain itu, [[Julia (bahasa pemrograman)|bahasa pemrograman Julia]] dan kemampuan membuat grafiknya mirip dengan GNU Octave.
 
== Referensi ==
Baris 152 ⟶ 188:
[[Kategori:Proyek GNU]]
[[Kategori:Perangkat lunak numerik]]
 
 
{{software-stub}}