GNU Octave: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
NikolasKHF (bicara | kontrib) kTidak ada ringkasan suntingan |
NikolasKHF (bicara | kontrib) Tidak ada ringkasan suntingan |
||
Baris 16:
'''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 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>
GNU Octave biasanya digunakan untuk komputasi ilmiah pribadi, akademis, dan industri. Misalnya, GNU Octave digunakan pada [[Komputasi paralel|paralel]] komputer besar di [[Pittsburgh Supercomputing Center]] untuk mencari kerentanan yang berhubungan dengan teknik penebakan [[nomor Jaminan Sosial]]<!--Social Security number, USA-->.<ref>{{cite web
|url=http://www.hpcwire.com/industry/government/Social-Security-Number-Vulnerability-Findings-Relied-on-Supercomputing-50292227.html
|title=Social Security Number Vulnerability Findings Relied on Supercomputing
|date={{date|8 July 2009}}
|archive-url=https://web.archive.org/web/20120229220547/http://www.hpcwire.com/hpcwire/2009-07-08/social_security_number_vulnerability_findings_relied_on_supercomputing.html
|archive-date={{date|29 February 2012}}
}}</ref> Akselerasi dengan [[OpenCL]] atau [[CUDA]] juga dapat dilakukan dengan penggunaan GPU.<ref>{{Cite web|url=https://developer.nvidia.com/blog/drop-in-acceleration-gnu-octave/|title=Drop-in Acceleration of GNU Octave|date={{date|June 5, 2014}}|website=NVIDIA Developer Blog}}</ref>
==Sejarah==
Baris 58 ⟶ 68:
|style="text-align: right; white-space: nowrap;"| 7 Juni 2024 || Publikasi Octave 9.2.0, perbaikan [[Kutu (komputer)|kutu]] dan GUI.<ref>{{Cite web |title=Octave 9.2.0 released |url=https://octave.org/news/release/2024/06/07/octave-9.2.0-released.html |access-date=2024-11-05 |website=octave.org |date=7 Juni 2024 |language=en}}</ref>
|}
==Detail teknis==
GNU Octave ditulis dari [[C++]] dengan [[pustaka dasar C++]]. GNU Octave menggunakan [[Penerjemah (komputasi)]] untuk menjalankan bahasa skrip Octave. Perangkat lunak ini juga dapat dikembangkan dengan memuat [[#Paket|modul atau paket]] secara dinamis. GNU Octave dapat digunakan untuk membuat grafika atau plot yang berdasarkan pada [[OpenGL]] atau [[gnuplot]]. Perangkat lunak ini juga memiliki [[Antarmuka pengguna grafis|GUI]] selain [[Antarmuka baris perintah|CLI]] yang lebih tradisional; lihat bagian [[#GUI|Antarmuka pengguna grafis]] di bawah.
==={{Anchor|GUI}}Antarmuka pengguna grafis===
GNU Octave memiliki antarmuka pengguna grafis (GUI) dan sebuah [[Lingkungan pengembangan terpadu]] ({{lang-en|integrated development environment}}; IDE) yang ditulis dengan [[Qt]]. GUI ini telah tersedia sejak GNU Octave 3.8,<ref name="auto1">{{Cite web|url=https://www.gnu.org/software/octave/NEWS-3.8.html|title=GNU Octave Version 3.8|website=www.gnu.org}}</ref> dan menjadi antarmuka bawaan (di atas [[antarmuka baris perintah]]) di rilis GNU Octave versi 4.0.<ref name="auto"/>
GUI ini mendapatkan respons positif oleh kontributor EDN yang menulis "(GNU Octave) sekarang memiliki GUI yang dapat digunakan" saat meninjau GUI yang saat itu baru pada tahun 2014.<ref>{{cite web |last=Hageman |first=Steve |date={{date|7 February 2014}} |title=GNU Octave hits a high note |url=http://www.edn.com/electronics-blogs/the-practicing-instrumentation-engineer/4428091/GNU-Octave-hits-a-high-note |website=[[EDN (majalah)|EDN]]}}</ref>
Beberapa grafis bagian depan juga telah dikembangkan, seperti [[Toolbox (perangkat lunak)|ToolboX]] untuk pendidikan koding.
===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>
=== Paket ===
GNU Octave memiliki banyak paket yang tersedia untuk menambahkan kemampuan dari Octave. Paket tersebut dapat
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.
== Aplikasi antarmuka grafis ==
[[Berkas:GUI element in GNU Octave 9.2.0 in Windows 10.png|thumb|Elemen antarmuka pengguna grafis pada GNU Octave 9.2.0 yang dijalankan pada sistem operasi Windows 10]]▼
Pengguna dapat membuat aplikasi dengan antarmuka grafis dengan kode Octave. Hal ini dapat dilakukan dengan menggunakan beberapa fungsi bawaan GNU Octave.<ref>{{cite web|url=https://docs.octave.org/v9.2.0/GUI-Development.html|title=GUI Development (version 9.2.0)|website=GNU Octave Documentation|access-date={{date|2024-12-02}} }}</ref> Di bawah ini beberapa contohnya:
Elemen antarmuka dasar, seperti tombol, ''slider'', label, ''check-box'', ''radio button'', dan lain sebagainya.
▲[[Berkas:GUI element in GNU Octave 9.2.0 in Windows 10.png|thumb|Elemen [[antarmuka pengguna grafis]] pada GNU Octave 9.2.0 yang dijalankan pada sistem operasi [[Windows 10]]]]
<syntaxhighlight lang="octave">
#
f = figure;
# create a button (default style)
button1 = uicontrol (f, "string", "A Button", "position",[10 10 150 40]);
#
e1 = uicontrol (f, "style", "edit", "string", "editable text", "position",[10 60 300 40]);
# membuat kotak cek
c1 = uicontrol (f, "style", "checkbox", "string", "a checkbox", "position",[10 120 150 40]);
# slider
s1 = uicontrol (f, "style", "slider", "position", [10 230, 300, 20]);
# teks
t1 = uicontrol (f, "style", "text", "string", "label / text", "position", [10 260, 300, 20]);
# tombol sakelar
tb1 = uicontrol (f, "style", "togglebutton", "string", "a togglebutton", "position", [10 290, 300, 20]);
# membuat grup tombol
gp = uibuttongroup (f, "Position", [ 0 0.75 1 1]);
# membuat tombol dalam grup
b1 = uicontrol (gp, "style", "radiobutton", "string", "Choice 1", "Position", [ 10 50 100 50 ]);
b2 = uicontrol (gp, "style", "radiobutton", "string", "Choice 2", "Position", [ 10 10 100 50 ]);
# membuat tombol di luar grup
b3 = uicontrol (f, "style", "radiobutton","string", "Not in the group","Position", [ 10 170 200 50 ]);
</syntaxhighlight>
Baris 119 ⟶ 148:
<!--{{Wikibooks|Octave Programming Tutorial}}-->
* {{Situs web resmi}}
* {{URL|https://gnu-octave.github.io/packages/|Paket untuk GNU Octave}}
[[Kategori:Proyek GNU]]
|