Lompat ke isi

Julia (bahasa pemrograman): Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28024774; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Julia''' adalah [[bahasa pemrograman]] [[Bahasa pemrograman tingkat tinggi|tingkat tinggi]], [[Bahasa pemrograman tujuan umum|tujuan umum]], dan [[Bahasa pemrograman dinamis|dinamis]]. Bahasa pemrograman ini didesain agar cepat dan produktif, dan digunakan untuk [[ilmu data]], [[kecerdasan buatan]], [[pemelajaran mesin]], ''modeling'' dan simulasi, dan biasanya digunakan dalam [[analisis numerik]] dan [[ilmu komputasi]].
[[File:Julia_Programming_Language_Logo.svg|thumb|right|280px|Julia Programming Language Logo]]


Aspek yang membedakan Julia adalah sistem tipe dengan [[polimorfisme parametrik]] dan penggunaan [[pengiriman ganda]] sebagai [[paradigma pemrograman]] utama. Selain itu, Julia juga menggunakan kompilator ''[[Kompilasi tepat waktu|just-in-time]]'' (JIT), dukungan [[kompilasi sebelumnya]] dan [[Pengumpulan sampah (ilmu komputer)|pengumpulan sampah]] yang efisien. Julia juga tidak mendukung kelas dengan metode terwadahi dan mengandalkan ''structs'' dengan fungsi atau metode umum yang tidak terikat pada struktur tersebut.
'''Julia''' adalah [[bahasa pemrograman]] [[Bahasa pemrograman tingkat tinggi|tingkat tinggi]], [[Bahasa pemrograman tujuan umum|tujuan umum]], dan [[Bahasa pemrograman dinamis|dinamis]].<sup class="reference" id="wu-cite-1">[[#wu-ref-1|[1]]]</sup> Bahasa pemrograman ini didesain agar cepat dan produktif,<sup class="reference" id="wu-cite-2">[[#wu-ref-2|[2]]]</sup> dan digunakan untuk [[ilmu data]], [[kecerdasan buatan]], [[pemelajaran mesin]], ''modeling'' dan simulasi, dan biasanya digunakan dalam [[analisis numerik]] dan [[ilmu komputasi]].<sup class="reference" id="wu-cite-3">[[#wu-ref-3|[3]]]</sup><sup class="reference" id="wu-cite-4">[[#wu-ref-4|[4]]]</sup><sup class="reference" id="wu-cite-5">[[#wu-ref-5|[5]]]</sup>


Secara bawaan, Julia berjalan seperti bahasa ''scripting'', menggunakan waktu eksekusinya dan memperbolehkan interaksi. Namun, program atau [[kode sumber]] Julia dapat juga secara opsional dikirim ke pengguna dalam satu berkas yang siap dijalankan, tanpa perlu apa pun untuk dipasang di komputer pengguna. Program Julia juga dapat dikompilasi secara terpisah menjadi program yang dapat dieksekusi, tanpa perlu distribusi kode sumber. Kompilasi tersebut tidak dibutuhkan untuk kecepatan eksekusi, tapi dapat mengurangi biaya eksekusi awal. Hal ini karena program Julia juga dikompilasi ketika dijalankan secara interaktif.
Aspek yang membedakan Julia adalah sistem tipe dengan [[polimorfisme parametrik]] dan penggunaan [[pengiriman ganda]] sebagai [[paradigma pemrograman]] utama. Selain itu, Julia juga menggunakan kompilator ''[[Kompilasi tepat waktu|just-in-time]]'' (JIT),<sup class="reference" id="wu-cite-6">[[#wu-ref-6|[6]]]</sup><sup class="reference" id="wu-cite-7">[[#wu-ref-7|[7]]]</sup> dukungan [[kompilasi sebelumnya]]<sup class="reference" id="wu-cite-8">[[#wu-ref-8|[8]]]</sup><sup class="reference" id="wu-cite-9">[[#wu-ref-9|[9]]]</sup><sup class="reference" id="wu-cite-10">[[#wu-ref-10|[10]]]</sup> dan [[Pengumpulan sampah (ilmu komputer)|pengumpulan sampah]] yang efisien.<sup class="reference" id="wu-cite-11">[[#wu-ref-11|[11]]]</sup> Julia juga tidak mendukung kelas dengan metode terwadahi dan mengandalkan ''structs'' dengan fungsi atau metode umum yang tidak terikat pada struktur tersebut.
 
Secara bawaan, Julia berjalan seperti bahasa ''scripting'', menggunakan waktu eksekusinya dan memperbolehkan interaksi.<sup class="reference" id="wu-cite-12">[[#wu-ref-12|[12]]]</sup> Namun, program atau [[kode sumber]] Julia dapat juga secara opsional dikirim ke pengguna dalam satu berkas yang siap dijalankan, tanpa perlu apa pun untuk dipasang di komputer pengguna.<sup class="reference" id="wu-cite-13">[[#wu-ref-13|[13]]]</sup> Program Julia juga dapat dikompilasi secara terpisah menjadi program yang dapat dieksekusi, tanpa perlu distribusi kode sumber. Kompilasi tersebut tidak dibutuhkan untuk kecepatan eksekusi, tapi dapat mengurangi biaya eksekusi awal. Hal ini karena program Julia juga dikompilasi ketika dijalankan secara interaktif.


Program Julia dapat menggunakan kembali [[Pustaka (perangkat lunak)|pustaka]] dari bahasa lain, seperti [[C (bahasa pemrograman)|C]] atau [[Rust (bahasa pemrograman)|Rust]], dengan cara memanggilnya. Selain itu, pustaka Julia juga dapat dipanggil melalui bahasa lain, seperti [[Python (bahasa pemrograman)|Python]] dan [[R (bahasa pemrograman)|R]], dengan beberapa paket Julia telah dibuat dalam bentuk pustaka dalam bahasa tersebut. Pemanggilan pustaka dalam dua arah juga telah diimplementasikan dalam banyak bahasa, termasuk [[C++]].
Program Julia dapat menggunakan kembali [[Pustaka (perangkat lunak)|pustaka]] dari bahasa lain, seperti [[C (bahasa pemrograman)|C]] atau [[Rust (bahasa pemrograman)|Rust]], dengan cara memanggilnya. Selain itu, pustaka Julia juga dapat dipanggil melalui bahasa lain, seperti [[Python (bahasa pemrograman)|Python]] dan [[R (bahasa pemrograman)|R]], dengan beberapa paket Julia telah dibuat dalam bentuk pustaka dalam bahasa tersebut. Pemanggilan pustaka dalam dua arah juga telah diimplementasikan dalam banyak bahasa, termasuk [[C++]].


==Interaksi==
==Interaksi==
Distribusi resmi Julia memasukkan [[Antarmuka baris perintah|baris perintah]] interaktif dengan [[gelung baca-evaluasi-cetak]] (; REPL), dengan riwayat yang dapat dicari, [[Penyelesaian baris perintah]], dan mode bantuan dan [[Cangkang (komputer)|cangkang]], yang dapat digunakan untuk bereksperimen dan mencoba kode secara cepat. Potongan kode berikut merepresentasikan sesi contoh di mana [[untaian]] dapat dirangkai secara otomatis dengan <code>println</code>:
Distribusi resmi Julia memasukkan [[Antarmuka baris perintah|baris perintah]] interaktif dengan [[gelung baca-evaluasi-cetak]] (; REPL),<sup class="reference" id="wu-cite-14">[[#wu-ref-14|[14]]]</sup> dengan riwayat yang dapat dicari, [[Penyelesaian baris perintah]], dan mode bantuan dan [[Cangkang (komputer)|cangkang]],<sup class="reference" id="wu-cite-15">[[#wu-ref-15|[15]]]</sup> yang dapat digunakan untuk bereksperimen dan mencoba kode secara cepat.<sup class="reference" id="wu-cite-16">[[#wu-ref-16|[16]]]</sup> Potongan kode berikut merepresentasikan sesi contoh di mana [[untaian]] dapat dirangkai secara otomatis dengan <code>println</code>:


<syntaxhighlight lang="jlcon">
julia> p(x) = 2x^2 + 1; f(x, y) = 1 + 2p(x)y
julia> println("Hello world!", " I'm on cloud ", f(0, 4), " as Julia supports recognizable syntax!")
Hello world! I'm on cloud 9 as Julia supports recognizable syntax!
</syntaxhighlight>


Kemampuan REPL memberikan pengguna akses ke cangkang sistem dan ke mode bantuan masing-masing dengan menekan tombol <code>;</code> atau <code>?</code> setelah masukan (mendahului setiap perintah). REPL juga menyimpan riwayat perintah, termasuk riwayat antar sesi. Kode dapat diuji coba dalam sesi interaktif Julia atau disimpan dalam berkas dengan ekstensi <code>.jl</code> dan dijalankan dengan perintah baris per baris dengan mengetik:
Kemampuan REPL memberikan pengguna akses ke cangkang sistem dan ke mode bantuan masing-masing dengan menekan tombol <code>;</code> atau <code>?</code> setelah masukan (mendahului setiap perintah). REPL juga menyimpan riwayat perintah, termasuk riwayat antar sesi.<sup class="reference" id="wu-cite-17">[[#wu-ref-17|[17]]]</sup> Kode dapat diuji coba dalam sesi interaktif Julia atau disimpan dalam berkas dengan ekstensi <code>.jl</code> dan dijalankan dengan perintah baris per baris dengan mengetik:<sup class="reference" id="wu-cite-18">[[#wu-ref-18|[18]]]</sup>


<syntaxhighlight lang="console">
$ julia <nama_berkas>
</syntaxhighlight>


Julia menggunakan kode [[UTF-8]] dan [[LaTeX]], yang memungkinkan Julia untuk mendukung simbol matematika umum sebagai operator, seperti ∈ sebagai operator himpunan masuk, yang dapat diketik dengan memasukkan <code>\in</code> dan menekan . Selain itu, pengguna juga dapat melakukan salin-tempel simbol, seperti  untuk fungsi [[akar kuadrat]] dan [[akar pangkat tiga]]. Julia mendukung rilis mayor Unicode 15.0 terbaru. Julia&nbsp;1.11-DEV mendukung versi Unicode 15.1) untuk bahasa yang digunakan, bahkan untuk kode sumber seperti nama variabel walaupun direkomendasikan untuk menggunakan bahasa Inggris untuk kode publik, seperti nama paket.
Julia menggunakan kode [[UTF-8]] dan [[LaTeX]], yang memungkinkan Julia untuk mendukung simbol matematika umum sebagai operator, seperti ∈ sebagai operator himpunan masuk, yang dapat diketik dengan memasukkan <code>\in</code> dan menekan . Selain itu, pengguna juga dapat melakukan salin-tempel simbol, seperti  untuk fungsi [[akar kuadrat]] dan [[akar pangkat tiga]]. Julia mendukung rilis mayor Unicode 15.0 terbaru. Julia&nbsp;1.11-DEV mendukung versi Unicode 15.1<sup class="reference" id="wu-cite-19">[[#wu-ref-19|[19]]]</sup>)<sup class="reference" id="wu-cite-20">[[#wu-ref-20|[20]]]</sup> untuk bahasa yang digunakan, bahkan untuk kode sumber seperti nama variabel walaupun direkomendasikan untuk menggunakan bahasa Inggris untuk kode publik, seperti nama paket.


Julia didukung oleh ''[[Project Jupyter|Jupyter]]'', sebuah lingkungan buku catatan daring interaktif. Selain itu, terdapat juga sebuah "buku catatan reaktif" ''Pluto.jl'' yang menyimpan buku catatan dalam berkas Julia murni, sebagai salah satu opsi pengganti untuk ''Jupyter''. Sebagai tambahan, sistem publikasi Quarto milik Posit (sebelum [[RStudio]] Inc.) mendukung Julia, [[Python (bahasa pemrograman)|Python]], [[R (bahasa pemrograman)|R]], dan Observable [[JavaScript]]. Bahasa-bahasa tersebut didukung secara resmi oleh Posit, bahkan dapat digunakan bersamaan dalam buku catatan yang sama; bahasa lain didukung secara tidak resmi.
Julia didukung oleh ''[[Project Jupyter|Jupyter]]'', sebuah lingkungan buku catatan daring interaktif.<sup class="reference" id="wu-cite-21">[[#wu-ref-21|[21]]]</sup> Selain itu, terdapat juga sebuah "buku catatan reaktif" ''Pluto.jl'' yang menyimpan buku catatan dalam berkas Julia murni, sebagai salah satu opsi pengganti untuk ''Jupyter''.<sup class="reference" id="wu-cite-22">[[#wu-ref-22|[22]]]</sup> Sebagai tambahan, sistem publikasi Quarto milik Posit (sebelum [[RStudio]] Inc.) mendukung Julia, [[Python (bahasa pemrograman)|Python]], [[R (bahasa pemrograman)|R]], dan Observable [[JavaScript]]. Bahasa-bahasa tersebut didukung secara resmi oleh Posit, bahkan dapat digunakan bersamaan dalam buku catatan yang sama; bahasa lain didukung secara tidak resmi.<sup class="reference" id="wu-cite-23">[[#wu-ref-23|[23]]]</sup><sup class="reference" id="wu-cite-24">[[#wu-ref-24|[24]]]</sup>


REPL dapat dikembangkan dengan mode tambahan menggunakan paket, seperti mode [[SQL]] untuk akses [[basis data]], dan ''RCall.jl'' yang menambahkan  untuk bekerja dengan bahasa pemrograman R.
REPL dapat dikembangkan dengan mode tambahan menggunakan paket, seperti mode [[SQL]]<sup class="reference" id="wu-cite-25">[[#wu-ref-25|[25]]]</sup> untuk akses [[basis data]], dan ''RCall.jl'' yang menambahkan  untuk bekerja dengan bahasa pemrograman R.<sup class="reference" id="wu-cite-26">[[#wu-ref-26|[26]]]</sup>


===Penggunaan dengan bahasa lain===
===Penggunaan dengan bahasa lain===
Julia secara praktik [[interoperabilitas|interoperabel]] dengan bahasa lain, bahkan untuk mayoritas 20 bahasa terpopuler. Julia dapat digunakan untuk memanggil fungsi pustaka bersama secara sendiri-sendiri, seperti yang ditulis dengan C atau Fortran. Terdapat juga paket yang tersedia untuk memanggil bahasa lain (yang tidak memiliki fungsi yang diekspor dari C secara langsung), seperti Python (dengan ''PythonCall.jl''), R, MATLAB, C# (dan bahasa .NET lainnya dengan ''DotNET.jl''), JavaScript, dan Java (dan bahasa JVM lainnya, seperti [[Scala (bahasa pemrograman)|Scala]] dengan ''JavaCall.jl''). Selain itu, Julia juga memiliki paket untuk memanggil Julia dari bahasa lain, seperti Python, R, [[Rust (bahasa pemrograman)|Rust]], Ruby, atau C#. Julia juga digunakan untuk perangkat keras, dengan kode dikompilasi ke [[VHDL]] sebagai alat [[sintesis tingkat tinggi]], misalnya [[FPGA]].
Julia secara praktik [[interoperabilitas|interoperabel]] dengan bahasa lain, bahkan untuk mayoritas 20 bahasa terpopuler. Julia dapat digunakan untuk memanggil fungsi pustaka bersama secara sendiri-sendiri, seperti yang ditulis dengan C atau Fortran. Terdapat juga paket yang tersedia untuk memanggil bahasa lain (yang tidak memiliki fungsi yang diekspor dari C secara langsung), seperti Python (dengan ''PythonCall.jl''), R,<sup class="reference" id="wu-cite-27">[[#wu-ref-27|[27]]]</sup> MATLAB, C# (dan bahasa .NET lainnya dengan ''DotNET.jl''), JavaScript, dan Java (dan bahasa JVM lainnya, seperti [[Scala (bahasa pemrograman)|Scala]] dengan ''JavaCall.jl''). Selain itu, Julia juga memiliki paket untuk memanggil Julia dari bahasa lain, seperti Python, R,<sup class="reference" id="wu-cite-28">[[#wu-ref-28|[28]]]</sup> [[Rust (bahasa pemrograman)|Rust]], Ruby, atau C#. Julia juga digunakan untuk perangkat keras, dengan kode dikompilasi ke [[VHDL]] sebagai alat [[sintesis tingkat tinggi]], misalnya [[FPGA]].<sup class="reference" id="wu-cite-29">[[#wu-ref-29|[29]]]</sup>


Julia memiliki paket yang mendukung [[bahasa markah]], seperti [[HTML]] (dan juga [[HTTP]]), [[XML]], [[JSON]], dan [[BSON]]. Paket-paket lain juga tersedia, misalnya untuk mendukung basis data, seperti PostgreSQL, Mongo, Oracle, termasuk TimesTen, MySQL, SQLite, Microsoft SQL Server, Amazon Redshift, Vertica, dan ODBC. Julia juga dapat digunakan dalam penggunaan web secara umum.
Julia memiliki paket yang mendukung [[bahasa markah]], seperti [[HTML]] (dan juga [[HTTP]]), [[XML]], [[JSON]], dan [[BSON]]. Paket-paket lain juga tersedia, misalnya untuk mendukung basis data, seperti PostgreSQL,<sup class="reference" id="wu-cite-30">[[#wu-ref-30|[30]]]</sup> Mongo,<sup class="reference" id="wu-cite-31">[[#wu-ref-31|[31]]]</sup> Oracle, termasuk TimesTen,<sup class="reference" id="wu-cite-32">[[#wu-ref-32|[32]]]</sup> MySQL, SQLite, Microsoft SQL Server,<sup class="reference" id="wu-cite-33">[[#wu-ref-33|[33]]]</sup> Amazon Redshift, Vertica, dan ODBC. Julia juga dapat digunakan dalam penggunaan web secara umum.<sup class="reference" id="wu-cite-34">[[#wu-ref-34|[34]]]</sup><sup class="reference" id="wu-cite-35">[[#wu-ref-35|[35]]]</sup>


==Sistem paket==
==Sistem paket==
Julia memiliki [[manajer paket]] bawaan yang dimasukkan dalam sistem registrasi bawaan. Paket sering didistribusikan sebagai kode sumber yang dihos pada [[GitHub]], walaupun hos alternatif dapat digunakan juga. Paket juga dapat dipasang secara biner, menggunakan artefak. Paket manajer Julia digunakan untuk mengueri dan mengompilasi paket, sekaligus untuk mengelola lingkungan. Registrasi paket bebas juga didukung, memungkinkan registrasi paket di luar paket resmi yang ditambahkan secara lokal.
Julia memiliki [[manajer paket]] bawaan yang dimasukkan dalam sistem registrasi bawaan.<sup class="reference" id="wu-cite-36">[[#wu-ref-36|[36]]]</sup> Paket sering didistribusikan sebagai kode sumber yang dihos pada [[GitHub]], walaupun hos alternatif dapat digunakan juga. Paket juga dapat dipasang secara biner, menggunakan artefak.<sup class="reference" id="wu-cite-37">[[#wu-ref-37|[37]]]</sup> Paket manajer Julia digunakan untuk mengueri dan mengompilasi paket, sekaligus untuk mengelola lingkungan. Registrasi paket bebas juga didukung, memungkinkan registrasi paket di luar paket resmi yang ditambahkan secara lokal.<sup class="reference" id="wu-cite-38">[[#wu-ref-38|[38]]]</sup>
 
== Referensi ==
 


== Bacaan lebih lanjut ==
== Bacaan lebih lanjut ==
*
*
*
*
*
*
*


*
== Pranala luar ==
*
*  
*
*
*
*
*
*


== Pranala luar ==
== Referensi ==
*
<ol class="references wiki-unissula-manual-references">
*
<li id="wu-ref-1">Keno Fischer. [https://juliahub.com/blog/2019/02/growing-a-compiler/ Growing a Compiler - Getting to Machine Learning from a General Purpose Compiler]. ''Julia Hub''. <span class="mw-cite-backlink">[[#wu-cite-1|↑]]</span></li>
<li id="wu-ref-2">[https://juliahub.com/company/media/2022/02/julia-turns-ten-years-old/ 'Why We Created Julia' Turns Ten Years Old]. ''JuliaHub''. <span class="mw-cite-backlink">[[#wu-cite-2|↑]]</span></li>
<li id="wu-ref-3">Avi Bryant. [http://radar.oreilly.com/2012/10/matlab-r-julia-languages-for-data-analysis.html Matlab, R, and Julia: Languages for data analysis]. O'Reilly Strata. <span class="mw-cite-backlink">[[#wu-cite-3|↑]]</span></li>
<li id="wu-ref-4">Paul Krill. [https://www.infoworld.com/article/2616709/new-julia-language-seeks-to-be-the-c-for-scientists.html New Julia language seeks to be the C for scientists]. <span class="mw-cite-backlink">[[#wu-cite-4|↑]]</span></li>
<li id="wu-ref-5">Klint Finley. [https://www.wired.com/2014/02/julia/ Out in the Open: Man Creates One Programming Language to Rule Them All]. <span class="mw-cite-backlink">[[#wu-cite-5|↑]]</span></li>
<li id="wu-ref-6">Keno Fischer. [https://juliahub.com/blog/2019/02/growing-a-compiler/ Growing a Compiler - Getting to Machine Learning from a General Purpose Compiler]. ''Julia Hub''. <span class="mw-cite-backlink">[[#wu-cite-6|↑]]</span></li>
<li id="wu-ref-7">[https://julialang.github.io/PackageCompiler.jl/stable/sysimages.html#Creating-a-sysimage-using-PackageCompiler Sysimages · PackageCompiler]. ''julialang.github.io''. <span class="mw-cite-backlink">[[#wu-cite-7|↑]]</span></li>
<li id="wu-ref-8">[https://github.com/JuliaLang/PackageCompiler.jl GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package]. The Julia Language. <span class="mw-cite-backlink">[[#wu-cite-8|↑]]</span></li>
<li id="wu-ref-9">[https://github.com/JuliaLang/julia/blob/master/doc/src/devdocs/aot.md julia/doc/src/devdocs/aot.md at master · JuliaLang/julia]. ''GitHub''. <span class="mw-cite-backlink">[[#wu-cite-9|↑]]</span></li>
<li id="wu-ref-10">[https://docs.julialang.org/en/v1/devdocs/sysimg/ System Image Building · The Julia Language]. ''docs.julialang.org''. <span class="mw-cite-backlink">[[#wu-cite-10|↑]]</span></li>
<li id="wu-ref-11">[https://groups.google.com/forum/#!topic/julia-users/6_XvoLBzN60 Suspending Garbage Collection for Performance...good idea or bad idea?]. ''Groups.google.com''. <span class="mw-cite-backlink">[[#wu-cite-11|↑]]</span></li>
<li id="wu-ref-12">[https://github.com/JuliaLang/PackageCompiler.jl GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package]. The Julia Language. <span class="mw-cite-backlink">[[#wu-cite-12|↑]]</span></li>
<li id="wu-ref-13">[https://github.com/PeaceFounder/AppBundler.jl AppBundler.jl]. PeaceFounder. <span class="mw-cite-backlink">[[#wu-cite-13|↑]]</span></li>
<li id="wu-ref-14">[https://docs.julialang.org/en/v1/stdlib/REPL/ The Julia REPL · The Julia Language]. ''docs.julialang.org''. <span class="mw-cite-backlink">[[#wu-cite-14|↑]]</span></li>
<li id="wu-ref-15">[https://en.wikibooks.org/wiki/Introducing_Julia/The_REPL Introducing Julia/The REPL - Wikibooks, open books for an open world]. ''en.wikibooks.org''. <span class="mw-cite-backlink">[[#wu-cite-15|↑]]</span></li>
<li id="wu-ref-16">[https://docs.julialang.org/en/v1/manual/getting-started/ Getting Started · The Julia Language]. ''docs.julialang.org''. <span class="mw-cite-backlink">[[#wu-cite-16|↑]]</span></li>
<li id="wu-ref-17">[https://docs.julialang.org/ Julia Documentation]. ''JuliaLang.org''. <span class="mw-cite-backlink">[[#wu-cite-17|↑]]</span></li>
<li id="wu-ref-18">[https://learnxinyminutes.com/docs/julia/ Learn Julia in Y Minutes]. ''Learnxinyminutes.com''. <span class="mw-cite-backlink">[[#wu-cite-18|↑]]</span></li>
<li id="wu-ref-19">[https://github.com/JuliaStrings/utf8proc/pull/253 Unicode 15.1 support by stevengj · Pull Request #253 · JuliaStrings/utf8proc]. ''GitHub''. <span class="mw-cite-backlink">[[#wu-cite-19|↑]]</span></li>
<li id="wu-ref-20">[https://github.com/JuliaLang/julia/pull/47392 support Unicode 15 via utf8proc 2.8 by stevengj · Pull Request #47392 · JuliaLang/julia]. ''GitHub''. <span class="mw-cite-backlink">[[#wu-cite-20|↑]]</span></li>
<li id="wu-ref-21">[https://jupyter.org/ Project Jupyter]. <span class="mw-cite-backlink">[[#wu-cite-21|↑]]</span></li>
<li id="wu-ref-22">Emmett Boudreau. [https://towardsdatascience.com/could-pluto-be-a-real-jupyter-replacement-6574bfb40cc6 Could Pluto Be A Real Jupyter Replacement?]. ''Medium''. <span class="mw-cite-backlink">[[#wu-cite-22|↑]]</span></li>
<li id="wu-ref-23">Sharon Machlis. [https://www.infoworld.com/article/3668252/rstudio-changes-name-to-posit-expands-focus-to-include-python-and-vs-code.html RStudio changes name to Posit, expands focus to include Python and VS Code]. ''InfoWorld''. <span class="mw-cite-backlink">[[#wu-cite-23|↑]]</span></li>
<li id="wu-ref-24">[https://www.ds-econ.com/quarto/ Heads up! Quarto is here to stay. Immediately combine R & Python in your next document: An extension on a recent post]. ''ds-econ''. <span class="mw-cite-backlink">[[#wu-cite-24|↑]]</span></li>
<li id="wu-ref-25">Chris Foster. [https://github.com/c42f/SQLREPL.jl SQLREPL.jl]. ''GitHub''. <span class="mw-cite-backlink">[[#wu-cite-25|↑]]</span></li>
<li id="wu-ref-26">[https://juliainterop.github.io/RCall.jl/latest/gettingstarted.html#Several-Ways-to-use-RCall-1 Getting Started · RCall.jl]. ''juliainterop.github.io''. <span class="mw-cite-backlink">[[#wu-cite-26|↑]]</span></li>
<li id="wu-ref-27">[https://discourse.julialang.org/t/julia-crashes-on-installation-of-the-rcall-module/121560/6 Julia crashes on installation of the RCall module]. ''Julia Programming Language''. <span class="mw-cite-backlink">[[#wu-cite-27|↑]]</span></li>
<li id="wu-ref-28">[https://github.com/Non-Contradiction/JuliaCall/issues/234 juliacall fails in julia 1.11 with 'undefined symbol: jl_stdout_obj' · Issue #234 · Non-Contradiction/JuliaCall]. ''GitHub''. <span class="mw-cite-backlink">[[#wu-cite-28|↑]]</span></li>
<li id="wu-ref-29">Sumber pada Wikipedia bahasa Indonesia. <span class="mw-cite-backlink">[[#wu-cite-29|↑]]</span></li>
<li id="wu-ref-30">[https://invenia.github.io/LibPQ.jl/stable/ Home · LibPQ.jl]. ''invenia.github.io''. <span class="mw-cite-backlink">[[#wu-cite-30|↑]]</span></li>
<li id="wu-ref-31">[https://docs.juliahub.com/FunSQL/HGzDG/0.9.2/ Home · FunSQL.jl]. ''docs.juliahub.com''. <span class="mw-cite-backlink">[[#wu-cite-31|↑]]</span></li>
<li id="wu-ref-32">Doug Hood. [https://blogs.oracle.com/timesten/post/using-julia-with-oracle-database Using Julia with Oracle Databases]. <span class="mw-cite-backlink">[[#wu-cite-32|↑]]</span></li>
<li id="wu-ref-33">[https://docs.juliahub.com/FunSQL/HGzDG/0.9.2/ Home · FunSQL.jl]. ''docs.juliahub.com''. <span class="mw-cite-backlink">[[#wu-cite-33|↑]]</span></li>
<li id="wu-ref-34">[https://marketplace.visualstudio.com/items?itemName=GenieBuilder.geniebuilder Genie Builder - Visual Studio Marketplace]. ''marketplace.visualstudio.com''. <span class="mw-cite-backlink">[[#wu-cite-34|↑]]</span></li>
<li id="wu-ref-35">[https://www.freecodecamp.org/news/how-to-build-web-apps-in-julia/ How to Build Your First Web App in Julia with Genie.jl]. ''freeCodeCamp.org''. <span class="mw-cite-backlink">[[#wu-cite-35|↑]]</span></li>
<li id="wu-ref-36">[https://github.com/JuliaRegistries/General JuliaRegistries / General]. ''GitHub''. <span class="mw-cite-backlink">[[#wu-cite-36|↑]]</span></li>
<li id="wu-ref-37">[https://julialang.github.io/Pkg.jl/dev/artifacts/ Pkg.jl - Artifacts]. <span class="mw-cite-backlink">[[#wu-cite-37|↑]]</span></li>
<li id="wu-ref-38">[https://julialang.github.io/Pkg.jl/v1/registries/ Pkg.jl - Registries]. <span class="mw-cite-backlink">[[#wu-cite-38|↑]]</span></li>
</ol>


== Sumber dan atribusi ==
== Sumber dan atribusi ==


Artikel ini diadaptasi dalam mode teks dari
Konten artikel ini diadaptasi dari [https://id.wikipedia.org/w/index.php?title=Julia+%28bahasa+pemrograman%29&oldid=28024774 Wikipedia bahasa Indonesia], revisi 28024774 (2025-10-16T15:48:24Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.
[https://id.wikipedia.org/w/index.php?title=Julia_%28bahasa_pemrograman%29&oldid=28024774 Wikipedia bahasa Indonesia],
 
revisi 28024774 (2025-10-16T15:48:24Z).
<!-- WIKI_UNISSULA_PRESENTATION_V4 -->
Gambar, media, infobox, templat navigasi, dan kategori sumber
tidak diimpor ke Wiki Unissula.
Atribusi dan lisensi mengikuti ketentuan Creative Commons
Atribusi-BerbagiSerupa (CC BY-SA) pada sumber Wikipedia.

Revisi terkini sejak 23 Agustus 2026 03.16

Berkas:Julia Programming Language Logo.svg
Julia Programming Language Logo

Julia adalah bahasa pemrograman tingkat tinggi, tujuan umum, dan dinamis.[1] Bahasa pemrograman ini didesain agar cepat dan produktif,[2] dan digunakan untuk ilmu data, kecerdasan buatan, pemelajaran mesin, modeling dan simulasi, dan biasanya digunakan dalam analisis numerik dan ilmu komputasi.[3][4][5]

Aspek yang membedakan Julia adalah sistem tipe dengan polimorfisme parametrik dan penggunaan pengiriman ganda sebagai paradigma pemrograman utama. Selain itu, Julia juga menggunakan kompilator just-in-time (JIT),[6][7] dukungan kompilasi sebelumnya[8][9][10] dan pengumpulan sampah yang efisien.[11] Julia juga tidak mendukung kelas dengan metode terwadahi dan mengandalkan structs dengan fungsi atau metode umum yang tidak terikat pada struktur tersebut.

Secara bawaan, Julia berjalan seperti bahasa scripting, menggunakan waktu eksekusinya dan memperbolehkan interaksi.[12] Namun, program atau kode sumber Julia dapat juga secara opsional dikirim ke pengguna dalam satu berkas yang siap dijalankan, tanpa perlu apa pun untuk dipasang di komputer pengguna.[13] Program Julia juga dapat dikompilasi secara terpisah menjadi program yang dapat dieksekusi, tanpa perlu distribusi kode sumber. Kompilasi tersebut tidak dibutuhkan untuk kecepatan eksekusi, tapi dapat mengurangi biaya eksekusi awal. Hal ini karena program Julia juga dikompilasi ketika dijalankan secara interaktif.

Program Julia dapat menggunakan kembali pustaka dari bahasa lain, seperti C atau Rust, dengan cara memanggilnya. Selain itu, pustaka Julia juga dapat dipanggil melalui bahasa lain, seperti Python dan R, dengan beberapa paket Julia telah dibuat dalam bentuk pustaka dalam bahasa tersebut. Pemanggilan pustaka dalam dua arah juga telah diimplementasikan dalam banyak bahasa, termasuk C++.

Interaksi

Distribusi resmi Julia memasukkan baris perintah interaktif dengan gelung baca-evaluasi-cetak (; REPL),[14] dengan riwayat yang dapat dicari, Penyelesaian baris perintah, dan mode bantuan dan cangkang,[15] yang dapat digunakan untuk bereksperimen dan mencoba kode secara cepat.[16] Potongan kode berikut merepresentasikan sesi contoh di mana untaian dapat dirangkai secara otomatis dengan println:

<syntaxhighlight lang="jlcon"> julia> p(x) = 2x^2 + 1; f(x, y) = 1 + 2p(x)y julia> println("Hello world!", " I'm on cloud ", f(0, 4), " as Julia supports recognizable syntax!") Hello world! I'm on cloud 9 as Julia supports recognizable syntax! </syntaxhighlight>

Kemampuan REPL memberikan pengguna akses ke cangkang sistem dan ke mode bantuan masing-masing dengan menekan tombol ; atau ? setelah masukan (mendahului setiap perintah). REPL juga menyimpan riwayat perintah, termasuk riwayat antar sesi.[17] Kode dapat diuji coba dalam sesi interaktif Julia atau disimpan dalam berkas dengan ekstensi .jl dan dijalankan dengan perintah baris per baris dengan mengetik:[18]

<syntaxhighlight lang="console"> $ julia <nama_berkas> </syntaxhighlight>

Julia menggunakan kode UTF-8 dan LaTeX, yang memungkinkan Julia untuk mendukung simbol matematika umum sebagai operator, seperti ∈ sebagai operator himpunan masuk, yang dapat diketik dengan memasukkan \in dan menekan . Selain itu, pengguna juga dapat melakukan salin-tempel simbol, seperti untuk fungsi akar kuadrat dan akar pangkat tiga. Julia mendukung rilis mayor Unicode 15.0 terbaru. Julia 1.11-DEV mendukung versi Unicode 15.1[19])[20] untuk bahasa yang digunakan, bahkan untuk kode sumber seperti nama variabel walaupun direkomendasikan untuk menggunakan bahasa Inggris untuk kode publik, seperti nama paket.

Julia didukung oleh Jupyter, sebuah lingkungan buku catatan daring interaktif.[21] Selain itu, terdapat juga sebuah "buku catatan reaktif" Pluto.jl yang menyimpan buku catatan dalam berkas Julia murni, sebagai salah satu opsi pengganti untuk Jupyter.[22] Sebagai tambahan, sistem publikasi Quarto milik Posit (sebelum RStudio Inc.) mendukung Julia, Python, R, dan Observable JavaScript. Bahasa-bahasa tersebut didukung secara resmi oleh Posit, bahkan dapat digunakan bersamaan dalam buku catatan yang sama; bahasa lain didukung secara tidak resmi.[23][24]

REPL dapat dikembangkan dengan mode tambahan menggunakan paket, seperti mode SQL[25] untuk akses basis data, dan RCall.jl yang menambahkan untuk bekerja dengan bahasa pemrograman R.[26]

Penggunaan dengan bahasa lain

Julia secara praktik interoperabel dengan bahasa lain, bahkan untuk mayoritas 20 bahasa terpopuler. Julia dapat digunakan untuk memanggil fungsi pustaka bersama secara sendiri-sendiri, seperti yang ditulis dengan C atau Fortran. Terdapat juga paket yang tersedia untuk memanggil bahasa lain (yang tidak memiliki fungsi yang diekspor dari C secara langsung), seperti Python (dengan PythonCall.jl), R,[27] MATLAB, C# (dan bahasa .NET lainnya dengan DotNET.jl), JavaScript, dan Java (dan bahasa JVM lainnya, seperti Scala dengan JavaCall.jl). Selain itu, Julia juga memiliki paket untuk memanggil Julia dari bahasa lain, seperti Python, R,[28] Rust, Ruby, atau C#. Julia juga digunakan untuk perangkat keras, dengan kode dikompilasi ke VHDL sebagai alat sintesis tingkat tinggi, misalnya FPGA.[29]

Julia memiliki paket yang mendukung bahasa markah, seperti HTML (dan juga HTTP), XML, JSON, dan BSON. Paket-paket lain juga tersedia, misalnya untuk mendukung basis data, seperti PostgreSQL,[30] Mongo,[31] Oracle, termasuk TimesTen,[32] MySQL, SQLite, Microsoft SQL Server,[33] Amazon Redshift, Vertica, dan ODBC. Julia juga dapat digunakan dalam penggunaan web secara umum.[34][35]

Sistem paket

Julia memiliki manajer paket bawaan yang dimasukkan dalam sistem registrasi bawaan.[36] Paket sering didistribusikan sebagai kode sumber yang dihos pada GitHub, walaupun hos alternatif dapat digunakan juga. Paket juga dapat dipasang secara biner, menggunakan artefak.[37] Paket manajer Julia digunakan untuk mengueri dan mengompilasi paket, sekaligus untuk mengelola lingkungan. Registrasi paket bebas juga didukung, memungkinkan registrasi paket di luar paket resmi yang ditambahkan secara lokal.[38]

Bacaan lebih lanjut

Pranala luar

Referensi

  1. Keno Fischer. Growing a Compiler - Getting to Machine Learning from a General Purpose Compiler. Julia Hub.
  2. 'Why We Created Julia' Turns Ten Years Old. JuliaHub.
  3. Avi Bryant. Matlab, R, and Julia: Languages for data analysis. O'Reilly Strata.
  4. Paul Krill. New Julia language seeks to be the C for scientists.
  5. Klint Finley. Out in the Open: Man Creates One Programming Language to Rule Them All.
  6. Keno Fischer. Growing a Compiler - Getting to Machine Learning from a General Purpose Compiler. Julia Hub.
  7. Sysimages · PackageCompiler. julialang.github.io.
  8. GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package. The Julia Language.
  9. julia/doc/src/devdocs/aot.md at master · JuliaLang/julia. GitHub.
  10. System Image Building · The Julia Language. docs.julialang.org.
  11. Suspending Garbage Collection for Performance...good idea or bad idea?. Groups.google.com.
  12. GitHub - JuliaLang/PackageCompiler.jl: Compile your Julia Package. The Julia Language.
  13. AppBundler.jl. PeaceFounder.
  14. The Julia REPL · The Julia Language. docs.julialang.org.
  15. Introducing Julia/The REPL - Wikibooks, open books for an open world. en.wikibooks.org.
  16. Getting Started · The Julia Language. docs.julialang.org.
  17. Julia Documentation. JuliaLang.org.
  18. Learn Julia in Y Minutes. Learnxinyminutes.com.
  19. Unicode 15.1 support by stevengj · Pull Request #253 · JuliaStrings/utf8proc. GitHub.
  20. support Unicode 15 via utf8proc 2.8 by stevengj · Pull Request #47392 · JuliaLang/julia. GitHub.
  21. Project Jupyter.
  22. Emmett Boudreau. Could Pluto Be A Real Jupyter Replacement?. Medium.
  23. Sharon Machlis. RStudio changes name to Posit, expands focus to include Python and VS Code. InfoWorld.
  24. Heads up! Quarto is here to stay. Immediately combine R & Python in your next document: An extension on a recent post. ds-econ.
  25. Chris Foster. SQLREPL.jl. GitHub.
  26. Getting Started · RCall.jl. juliainterop.github.io.
  27. Julia crashes on installation of the RCall module. Julia Programming Language.
  28. juliacall fails in julia 1.11 with 'undefined symbol: jl_stdout_obj' · Issue #234 · Non-Contradiction/JuliaCall. GitHub.
  29. Sumber pada Wikipedia bahasa Indonesia.
  30. Home · LibPQ.jl. invenia.github.io.
  31. Home · FunSQL.jl. docs.juliahub.com.
  32. Doug Hood. Using Julia with Oracle Databases.
  33. Home · FunSQL.jl. docs.juliahub.com.
  34. Genie Builder - Visual Studio Marketplace. marketplace.visualstudio.com.
  35. How to Build Your First Web App in Julia with Genie.jl. freeCodeCamp.org.
  36. JuliaRegistries / General. GitHub.
  37. Pkg.jl - Artifacts.
  38. Pkg.jl - Registries.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28024774 (2025-10-16T15:48:24Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Gambar pada artikel ini bersumber dari Wikimedia Commons dan mengikuti ketentuan lisensi masing-masing berkas. Mohon gunakan konten dan media secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.