Lompat ke isi

Rust (bahasa pemrograman): Perbedaan antara revisi

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Maintenance script (bicara | kontrib)
Impor teks terkontrol dari Wikipedia bahasa Indonesia; revisi 28732654; atribusi sumber disertakan.
 
Maintenance script (bicara | kontrib)
Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi
 
Baris 1: Baris 1:
'''Rust''' adalah sebuah [[bahasa pemrograman sistem]] yang pengembangannya didukung oleh penelitian dari [[Mozilla]]. Bahasa ini dirancang agar menjadi pemrograman yang "aman, [[Konkurensi (ilmu komputer)|konkuren]] (bekerja bersamaan), dan praktis". Bahasa ini mendukung paradigma pemrograman [[Pemrograman fungsional|fungsional]] dan [[Pemrograman prosedural|prosedural-imperatif]]. [[Sintaksis]] bahasa ''Rust'' serupa dengan bahasa [[C++]], tetapi dirancang dengan keamanan memori yang lebih baik sembari tetap menjaga performa kerja.
[[File:Rust_programming_language_black_logo.svg|thumb|right|280px|Rust programming language black logo]]


Bahasa Rust ini tergolong pada [[Perangkat lunak|peranti lunak]] sumber terbuka. Desainnya merupakan perbaikan bedasarkan pengalaman-pengalaman yang dialami ketika mengembangkan [[Servo]], sebuah perangkat ''layout'' untuk peramban web dan [[kompilator]] ''Rust.''
'''Rust''' adalah sebuah [[bahasa pemrograman sistem]]<ref>[https://www.rust-lang.org Rust is a systems programming language]. ''Rust-lang.org''.</ref> yang pengembangannya didukung oleh penelitian dari [[Mozilla]].<ref>Noel. [http://lambda-the-ultimate.org/node/4009 The Rust Language]. Lambda the Ultimate. 2010-07-08.</ref> Bahasa ini dirancang agar menjadi pemrograman yang "aman, [[Konkurensi (ilmu komputer)|konkuren]] (bekerja bersamaan), dan praktis".<ref>[https://www.rust-lang.org/faq.html#project FAQ - The Rust Project]. ''Rust-lang.org''.</ref> Bahasa ini mendukung paradigma pemrograman [[Pemrograman fungsional|fungsional]] dan [[Pemrograman prosedural|prosedural-imperatif]]. [[Sintaksis]] bahasa ''Rust'' serupa dengan bahasa [[C++]], tetapi dirancang dengan keamanan memori yang lebih baik sembari tetap menjaga performa kerja.


Kebanyakan ''commit'' kode program yang masuk pada proyek ''Rust'' saat ini berasal dari kontribusi anggota komunitas. Bahasa Rust mendapatkan posisi pertama dengan predikat sebagai "Bahasa pemrograman paling disukai" pada survei pengembang di [[Stack Overflow|Stack Oveflow]] tahun 2016 dan 2017.
Bahasa Rust ini tergolong pada [[Perangkat lunak|peranti lunak]] sumber terbuka. Desainnya merupakan perbaikan bedasarkan pengalaman-pengalaman yang dialami ketika mengembangkan [[Servo]], sebuah perangkat ''layout'' untuk peramban web dan [[kompilator]] ''Rust.''<ref>Peter Bright. [https://arstechnica.com/information-technology/2013/04/samsung-teams-up-with-mozilla-to-build-browser-engine-for-multicore-machines/ Samsung teams up with Mozilla to build browser engine for multicore machines]. ''Arstechnica.com''. 2013-04-03.</ref>
 
Kebanyakan ''commit'' kode program yang masuk pada proyek ''Rust'' saat ini berasal dari kontribusi anggota komunitas.<ref>[https://github.com/mozilla/rust/contributors Contributors to rust-lang/rust · GitHub]. ''Github.com''.</ref> Bahasa Rust mendapatkan posisi pertama dengan predikat sebagai "Bahasa pemrograman paling disukai" pada survei pengembang di [[Stack Overflow|Stack Oveflow]] tahun 2016 dan 2017.<ref>[https://stackoverflow.com/insights/survey/2016#technology-most-loved-dreaded-and-wanted Stack Overflow Developer Survey 2016 Results]. ''Stack Overflow''.</ref><ref>[https://stackoverflow.com/insights/survey/2017#most-loved-dreaded-and-wanted Stack Overflow Developer Survey 2017]. ''Stack Overflow''.</ref>


== Sejarah ==
== Sejarah ==
=== Tahun-tahun awal (2006–2009) ===
=== Tahun-tahun awal (2006–2009) ===
Rust dimulai sebagai projek sendiri pada tahun 2006 oleh karyawan [[Mozilla]] [[Graydon Hoare]].<ref>Clive Thompson. [https://www.technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language/ How Rust went from a side project to the world's most-loved programming language]. ''MIT Technology Review''. 2023-02-14.</ref> Hoare menyatakan bahwa Rust dinamai berdasarkan [[Penyakit karat|kelompok jamur]] yang "direkayasa secara berlebihan untuk bertahan hidup".<ref>Clive Thompson. [https://www.technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language/ How Rust went from a side project to the world's most-loved programming language]. ''MIT Technology Review''. 2023-02-14.</ref> Selama periode waktu antara tahun 2006 dan 2009, Rust tidak dipublikasikan kepada yang lain dan ditulis dalam waktu luang Hoare's;<ref>Steve Klabnik. [https://dl.acm.org/doi/10.1145/2959689.2960081 Applicative 2016]. Association for Computing Machinery. 2016-06-02. hlm. 80. doi:10.1145/2959689.2960081. ISBN 978-1-4503-4464-7.</ref> Hoare mulai berbicara tentang bahasa tersebut sekitar tahun 2009 setelah sekelompok kecil di Mozilla tertarik dengan proyek tersebut.<ref>Graydon Hoare. [http://venge.net/graydon/talks/intro-talk-2.pdf Project Servo: Technology from the past come to save the future from itself]. Mozilla Annual Summit. July 2010.</ref> Hoare menekankan prioritas ide-ide bagus dari bahasa lama dibandingkan pengembangan baru, mengutip bahasa-bahasa seperti [[CLU (bahasa pemrograman)|CLU]] (1974), [[BETA (bahasa pemrograman)|BETA]] (1975), [[Mesa (bahasa pemrograman)|Mesa]] (1977), [[NIL (bahasa pemrograman)|NIL]] (1981), [[Erlang (bahasa pemrograman)|Erlang]] (1987), [[Newsqueak]] (1988), [[Napier88|Napier]] (1988), [[Hermes (bahasa pemrograman)|Hermes]] (1990), [[Sather]] (1990), [[Alef (bahasa pemrograman)|Alef]] (1992), dan [[Limbo (bahasa pemrograman)|Limbo]] (1996) sebagai pengaruh, menyatakan "banyak bahasa lama [lebih baik] daripada bahasa baru", dan menyebutkan bahasa tersebut sebagai "teknologi dari masa lalu datang untuk menyelamatkan masa depan dari dirinya sendiri."<ref>Steve Klabnik. [https://dl.acm.org/doi/10.1145/2959689.2960081 Applicative 2016]. Association for Computing Machinery. 2016-06-02. hlm. 80. doi:10.1145/2959689.2960081. ISBN 978-1-4503-4464-7.</ref><ref>Graydon Hoare. [http://venge.net/graydon/talks/intro-talk-2.pdf Project Servo: Technology from the past come to save the future from itself]. Mozilla Annual Summit. July 2010.</ref> Pengembang Rust awal Manish Goregaokar juga menggambarkan Rust sebagai sesuatu yang didasarkan pada "penelitian yang sebagian besar sudah berusia puluhan tahun."<ref>Clive Thompson. [https://www.technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language/ How Rust went from a side project to the world's most-loved programming language]. ''MIT Technology Review''. 2023-02-14.</ref>


Rust dimulai sebagai projek sendiri pada tahun 2006 oleh karyawan [[Mozilla]] [[Graydon Hoare]]. Hoare menyatakan bahwa Rust dinamai berdasarkan [[Penyakit karat|kelompok jamur]] yang "direkayasa secara berlebihan untuk bertahan hidup". Selama periode waktu antara tahun 2006 dan 2009, Rust tidak dipublikasikan kepada yang lain dan ditulis dalam waktu luang Hoare's; Hoare mulai berbicara tentang bahasa tersebut sekitar tahun 2009 setelah sekelompok kecil di Mozilla tertarik dengan proyek tersebut. Hoare menekankan prioritas ide-ide bagus dari bahasa lama dibandingkan pengembangan baru, mengutip bahasa-bahasa seperti [[CLU (bahasa pemrograman)|CLU]] (1974), [[BETA (bahasa pemrograman)|BETA]] (1975), [[Mesa (bahasa pemrograman)|Mesa]] (1977), [[NIL (bahasa pemrograman)|NIL]] (1981), [[Erlang (bahasa pemrograman)|Erlang]] (1987), [[Newsqueak]] (1988), [[Napier88|Napier]] (1988), [[Hermes (bahasa pemrograman)|Hermes]] (1990), [[Sather]] (1990), [[Alef (bahasa pemrograman)|Alef]] (1992), dan [[Limbo (bahasa pemrograman)|Limbo]] (1996) sebagai pengaruh, menyatakan "banyak bahasa lama [lebih baik] daripada bahasa baru", dan menyebutkan bahasa tersebut sebagai "teknologi dari masa lalu datang untuk menyelamatkan masa depan dari dirinya sendiri." Pengembang Rust awal Manish Goregaokar juga menggambarkan Rust sebagai sesuatu yang didasarkan pada "penelitian yang sebagian besar sudah berusia puluhan tahun."
Selama tahun-tahun awal, [[kompiler]] Rust ditulis dalam sekitar 38.000 baris [[OCaml]].<ref>[https://id.wikipedia.org/w/index.php?title=Rust+%28bahasa+pemrograman%29&oldid=28732654 sumber pada Wikipedia bahasa Indonesia]</ref><ref>Graydon Hoare. [https://github.com/graydon/rust-prehistory/tree/master Rust Prehistory (Archive of the original Rust OCaml compiler source code)]. ''GitHub''. November 2016.</ref> Rust awal berisi fitur-fitur seperti pemrograman berorientasi objek eksplisit melalui kata kunci  (kemudian dihapus)<ref>[https://id.wikipedia.org/w/index.php?title=Rust+%28bahasa+pemrograman%29&oldid=28732654 sumber pada Wikipedia bahasa Indonesia]</ref> dan sistem ''[[typestates]]'' yang akan memungkinkan variabel suatu tipe dilacak bersamaan dengan perubahan status (seperti berjalan dari belum diinisialisasi menjad terinisialisasi).<ref>[https://id.wikipedia.org/w/index.php?title=Rust+%28bahasa+pemrograman%29&oldid=28732654 sumber pada Wikipedia bahasa Indonesia]</ref>
 
Selama tahun-tahun awal, [[kompiler]] Rust ditulis dalam sekitar 38.000 baris [[OCaml]]. Rust awal berisi fitur-fitur seperti pemrograman berorientasi objek eksplisit melalui kata kunci  (kemudian dihapus) dan sistem ''[[typestates]]'' yang akan memungkinkan variabel suatu tipe dilacak bersamaan dengan perubahan status (seperti berjalan dari belum diinisialisasi menjad terinisialisasi).


Pada awal peluncurannya, Rust menghadapi beberapa kritik, yang merupakan hal yang umum dalam dunia pemrograman. Kritik tersebut terutama berfokus pada kompleksitas bahasa ini, kurva pembelajaran yang curam, verbosity (adanya banyak kode boilerplate), dan kurangnya kematangan serta ekosistem yang masih terbatas.
Pada awal peluncurannya, Rust menghadapi beberapa kritik, yang merupakan hal yang umum dalam dunia pemrograman. Kritik tersebut terutama berfokus pada kompleksitas bahasa ini, kurva pembelajaran yang curam, verbosity (adanya banyak kode boilerplate), dan kurangnya kematangan serta ekosistem yang masih terbatas.


Sejak saat itu, Rust telah mengalami banyak perbaikan signifikan. Komunitas pengguna dan pengembang Rust telah berkembang pesat dan banyak kritik awal mengenai bahasa ini telah diatasi. Rust kini dikenal sebagai bahasa pemrograman yang lebih matang dan memiliki ekosistem yang lebih luas.
Sejak saat itu, Rust telah mengalami banyak perbaikan signifikan. Komunitas pengguna dan pengembang Rust telah berkembang pesat dan banyak kritik awal mengenai bahasa ini telah diatasi. Rust kini dikenal sebagai bahasa pemrograman yang lebih matang dan memiliki ekosistem yang lebih luas.<ref>[https://datawithrust.com/ Data With Rust]. ''Data With Rust''. 2023-01-21.</ref>


=== Yayasan Rust dan pemberhentian kerja Mozilla (2020–sekarang) ===
=== Yayasan Rust dan pemberhentian kerja Mozilla (2020–sekarang) ===
Pada Agustus tahun 2020, Mozilla memberhentikan 250 dari 1.000 karyawannya di seluruh dunia, sebagai bagian dari restrukturisasi perusahaan yang disebabkan oleh [[COVID-19 pandemic|pandemi COVID-19]]. Tim di balik Servo dibubarkan. Peristiwa ini menimbulkan kekhawatiran tentang masa depan Rust karena tumpang tindih antara dua proyek tersebut. Pada minggu berikutnya, Rust Core Team mengakui dampak parah dari pemberhentian karyaawan dan mengumumkan bahwa rencana untuk yayasan Rust sedang berlangsung. Tujuan pertama yayasan ini adalah mengambil alih kepemilikan semua merek dagang dan [[nama domain]] serta mengambil hak tanggung jawab keuangan untuk pengeluaran mereka.
Pada Agustus tahun 2020, Mozilla memberhentikan 250 dari 1.000 karyawannya di seluruh dunia, sebagai bagian dari restrukturisasi perusahaan yang disebabkan oleh [[COVID-19 pandemic|pandemi COVID-19]].<ref>Catalin Cimpanu. [https://www.zdnet.com/article/mozilla-lays-off-250-employees-while-it-refocuses-on-commercial-products/ Mozilla lays off 250 employees while it refocuses on commercial products]. ''ZDNET''. 2020-08-11.</ref><ref>Daniel Cooper. [https://www.engadget.com/mozilla-firefox-250-employees-layoffs-151324924.html Mozilla lays off 250 employees due to the pandemic]. ''Engadget''. 2020-08-11.</ref> Tim di balik Servo dibubarkan. Peristiwa ini menimbulkan kekhawatiran tentang masa depan Rust karena tumpang tindih antara dua proyek tersebut.<ref>Liam Tung. [https://www.zdnet.com/article/programming-language-rust-mozilla-job-cuts-have-hit-us-badly-but-heres-how-well-survive/ Programming language Rust: Mozilla job cuts have hit us badly but here's how we'll survive]. ''ZDNET''. 2020-08-21.</ref> Pada minggu berikutnya, Rust Core Team mengakui dampak parah dari pemberhentian karyaawan dan mengumumkan bahwa rencana untuk yayasan Rust sedang berlangsung. Tujuan pertama yayasan ini adalah mengambil alih kepemilikan semua merek dagang dan [[nama domain]] serta mengambil hak tanggung jawab keuangan untuk pengeluaran mereka.<ref>[https://blog.rust-lang.org/2020/08/18/laying-the-foundation-for-rusts-future.html Laying the foundation for Rust's future]. ''Rust Blog''. 2020-08-18.</ref>


Pada 26 Februari 2024, [[Gedung Putih]] AS merilis laporan pers 19 halaman yang mendesak pengembangan perangkat lunak untuk beralih ke bahasa pemrograman yang aman terhadap memori; khususnya, menjauh dari C dan C++ dan mendorong bahasa seperti C#, Go, Java, Ruby, Swift, dan Rust. Laporan ini secara luas ditafsirkan sebagai meningkatnya minat terhadap Rust. Laporan tersebut dirilis melalui [[Kantor Direktur Siber Nasional]].
Pada 26 Februari 2024, [[Gedung Putih]] AS merilis laporan pers 19 halaman yang mendesak pengembangan perangkat lunak untuk beralih ke bahasa pemrograman yang aman terhadap memori; khususnya, menjauh dari C dan C++ dan mendorong bahasa seperti C#, Go, Java, Ruby, Swift, dan Rust.<ref>Grant Gross. [https://www.infoworld.com/article/2336216/white-house-urges-developers-to-dump-c-and-c.html White House urges developers to dump C and C++]. ''InfoWorld''. 2024-02-27.</ref><ref>Joe Warminsky. [https://therecord.media/memory-related-software-bugs-white-house-code-report-oncd After decades of memory-related software bugs, White House calls on industry to act]. ''The Record''. 2024-02-27.</ref> Laporan ini secara luas ditafsirkan sebagai meningkatnya minat terhadap Rust.<ref>Bobby Jack. [https://www.makeuseof.com/memory-safe-programming-white-house-wants/ The White House Wants Memory-Safe Programming, but What Is That?]. ''MakeUseOf''. 2024-02-29.</ref><ref>Ryan Donovan. [https://stackoverflow.blog/2024/12/30/in-rust-we-trust-white-house-office-urges-memory-safety/ In Rust we trust? White House Office urges memory safety]. ''The Stack Overflow Blog''. 2024-12-30.</ref> Laporan tersebut dirilis melalui [[Kantor Direktur Siber Nasional]].<ref>Grant Gross. [https://www.infoworld.com/article/2336216/white-house-urges-developers-to-dump-c-and-c.html White House urges developers to dump C and C++]. ''InfoWorld''. 2024-02-27.</ref><ref>[https://www.whitehouse.gov/oncd/briefing-room/2024/02/26/press-release-technical-report/ Press Release: Future Software Should Be Memory Safe]. The White House. 2024-02-26.</ref>


== Sintaks dan fitur ==
== Sintaks dan fitur ==
[[Sintaksis|Sintaks]] Rust mirip dengan [[C (programming language)|C]] dan C++ meskipun banyak fiturnya dipengaruhi oleh bahasa [[pemrograman fungsional]] seperti [[OCaml]]. Hoare telah menyebut Rust sebagai target dari pengembang C++ yang frustasi dan menekankan fitur-fitur seperti keamanan, kontrol [[Penyelarasan struktur data|tata letak memori]], dan [[Konkurensi (ilmu komputer)|konkurensi]]. Keamanan dalam Rust mencakup jaminan keamanan memori, keamanan tipe, dan tidak adanya perlombaan data.
[[Sintaksis|Sintaks]] Rust mirip dengan [[C (programming language)|C]] dan C++<ref>Liam Proven. [https://www.theregister.com/2021/11/19/rust_foundation_ceo/ Rebecca Rumbul named new CEO of The Rust Foundation]. ''The Register''. 2019-11-27.</ref><ref>[https://id.wikipedia.org/w/index.php?title=Rust+%28bahasa+pemrograman%29&oldid=28732654 sumber pada Wikipedia bahasa Indonesia]</ref> meskipun banyak fiturnya dipengaruhi oleh bahasa [[pemrograman fungsional]] seperti [[OCaml]]. Hoare telah menyebut Rust sebagai target dari pengembang C++ yang frustasi dan menekankan fitur-fitur seperti keamanan, kontrol [[Penyelarasan struktur data|tata letak memori]], dan [[Konkurensi (ilmu komputer)|konkurensi]].<ref>[https://id.wikipedia.org/w/index.php?title=Rust+%28bahasa+pemrograman%29&oldid=28732654 sumber pada Wikipedia bahasa Indonesia]</ref> Keamanan dalam Rust mencakup jaminan keamanan memori, keamanan tipe, dan tidak adanya perlombaan data.


=== Hello World ===
=== Hello World ===
Berikut ini adalah contoh baris kode sederhana untuk menampilkan [[Hello World]]
Berikut ini adalah contoh baris kode sederhana untuk menampilkan [[Hello World]]


<syntaxhighlight lang="rust" line="1">
fn main() {
    println!("Hello World");
}
</syntaxhighlight>


=== Fungsi Faktorial ===
=== Fungsi Faktorial ===
==== Rekursif ====
==== Rekursif ====
 
<syntaxhighlight lang="rust" line="1">
fn factorial(i: u64) -> u64 {
    match i {
        0 => 1,
        n => n * factorial(n-1)
    }
}
</syntaxhighlight>


==== Iteratif ====
==== Iteratif ====
 
<syntaxhighlight lang="rust" line="1">
fn factorial(i: u64) -> u64 {
    let mut acc = 1;
    for num in 2..=i {
        acc *= num;
    }
    acc
}
</syntaxhighlight>


=== Pengetikan ===
=== Pengetikan ===
Baris 45: Baris 64:
[[Integer (ilmu komputer)|Tipe integer]] dalam Rust dinamakan berdasarkan pada [[Ketertikatan (ilmu komputer)|penanda]] dan jumlah bit yang diambil oleh tipe tersebut. Sebagai contoh,  adalah sebuah integer ditandai yang mengambil 32 bit penyimpanan, sedangkan  tidak ditandai dan hanya mengambil 8 bit penyimpanan.  dan  mengambil penyimpanan tergantung arsitektur dari komputer yang menjalankan kode tersebut, misalnya, pada komputer dengan [[32-bit|arsitektur 32-bit]], kedua jenis tersebut akan memakan ruang sebesar 32 bit.
[[Integer (ilmu komputer)|Tipe integer]] dalam Rust dinamakan berdasarkan pada [[Ketertikatan (ilmu komputer)|penanda]] dan jumlah bit yang diambil oleh tipe tersebut. Sebagai contoh,  adalah sebuah integer ditandai yang mengambil 32 bit penyimpanan, sedangkan  tidak ditandai dan hanya mengambil 8 bit penyimpanan.  dan  mengambil penyimpanan tergantung arsitektur dari komputer yang menjalankan kode tersebut, misalnya, pada komputer dengan [[32-bit|arsitektur 32-bit]], kedua jenis tersebut akan memakan ruang sebesar 32 bit.


[[Tipe Boolean]] disebut sebagai  yang dapat mengambil sebuah nilai antara  or . Sebuah  mengambil hingga 32 bit ruang dan merepresentasikan sebuah nilai skalar Unicode: [[Unicode#Arsitektur dan terminologi|titik kode Unicode]] yang bukan [[Universal Character Set characters#Pengganti|pengganti]]. Angka poin ''float'' [[IEEE 754]] didukung dengan  untuk [[float presisi tunggal]] dan  untuk [[float presisi ganda]].
[[Tipe Boolean]] disebut sebagai  yang dapat mengambil sebuah nilai antara  or . Sebuah  mengambil hingga 32 bit ruang dan merepresentasikan sebuah nilai skalar Unicode: [[Unicode#Arsitektur dan terminologi|titik kode Unicode]] yang bukan [[Universal Character Set characters#Pengganti|pengganti]].<ref>[https://www.unicode.org/glossary/ Glossary of Unicode Terms]. ''Unicode Consortium''.</ref> Angka poin ''float'' [[IEEE 754]] didukung dengan  untuk [[float presisi tunggal]] dan  untuk [[float presisi ganda]].


==== Pengetikan didefinisikan pengguna ====
==== Pengetikan didefinisikan pengguna ====
Baris 59: Baris 78:


== Catatan ==
== Catatan ==
== Rujukan ==
== Pranala luar ==
== Pranala luar ==
*
*  
*
*  
*  Rust rosetta
*  Rust rosetta
* [http://christianrubiales.com/hyperpoly/?q=rust Perbandingan dengan bahasa-bahasa pemrograman lain] – Perbandingan interaktif
* [http://christianrubiales.com/hyperpoly/?q=rust Perbandingan dengan bahasa-bahasa pemrograman lain] – Perbandingan interaktif
== Referensi ==
<references />


== 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=Rust+%28bahasa+pemrograman%29&oldid=28732654 Wikipedia bahasa Indonesia], revisi 28732654 (2025-12-23T23:57:35Z), 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=Rust_%28bahasa_pemrograman%29&oldid=28732654 Wikipedia bahasa Indonesia],
 
revisi 28732654 (2025-12-23T23:57:35Z).
<!-- 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.14

Rust programming language black logo

Rust adalah sebuah bahasa pemrograman sistem[1] yang pengembangannya didukung oleh penelitian dari Mozilla.[2] Bahasa ini dirancang agar menjadi pemrograman yang "aman, konkuren (bekerja bersamaan), dan praktis".[3] Bahasa ini mendukung paradigma pemrograman fungsional dan prosedural-imperatif. Sintaksis bahasa Rust serupa dengan bahasa C++, tetapi dirancang dengan keamanan memori yang lebih baik sembari tetap menjaga performa kerja.

Bahasa Rust ini tergolong pada peranti lunak sumber terbuka. Desainnya merupakan perbaikan bedasarkan pengalaman-pengalaman yang dialami ketika mengembangkan Servo, sebuah perangkat layout untuk peramban web dan kompilator Rust.[4]

Kebanyakan commit kode program yang masuk pada proyek Rust saat ini berasal dari kontribusi anggota komunitas.[5] Bahasa Rust mendapatkan posisi pertama dengan predikat sebagai "Bahasa pemrograman paling disukai" pada survei pengembang di Stack Oveflow tahun 2016 dan 2017.[6][7]

Sejarah

Tahun-tahun awal (2006–2009)

Rust dimulai sebagai projek sendiri pada tahun 2006 oleh karyawan Mozilla Graydon Hoare.[8] Hoare menyatakan bahwa Rust dinamai berdasarkan kelompok jamur yang "direkayasa secara berlebihan untuk bertahan hidup".[9] Selama periode waktu antara tahun 2006 dan 2009, Rust tidak dipublikasikan kepada yang lain dan ditulis dalam waktu luang Hoare's;[10] Hoare mulai berbicara tentang bahasa tersebut sekitar tahun 2009 setelah sekelompok kecil di Mozilla tertarik dengan proyek tersebut.[11] Hoare menekankan prioritas ide-ide bagus dari bahasa lama dibandingkan pengembangan baru, mengutip bahasa-bahasa seperti CLU (1974), BETA (1975), Mesa (1977), NIL (1981), Erlang (1987), Newsqueak (1988), Napier (1988), Hermes (1990), Sather (1990), Alef (1992), dan Limbo (1996) sebagai pengaruh, menyatakan "banyak bahasa lama [lebih baik] daripada bahasa baru", dan menyebutkan bahasa tersebut sebagai "teknologi dari masa lalu datang untuk menyelamatkan masa depan dari dirinya sendiri."[12][13] Pengembang Rust awal Manish Goregaokar juga menggambarkan Rust sebagai sesuatu yang didasarkan pada "penelitian yang sebagian besar sudah berusia puluhan tahun."[14]

Selama tahun-tahun awal, kompiler Rust ditulis dalam sekitar 38.000 baris OCaml.[15][16] Rust awal berisi fitur-fitur seperti pemrograman berorientasi objek eksplisit melalui kata kunci (kemudian dihapus)[17] dan sistem typestates yang akan memungkinkan variabel suatu tipe dilacak bersamaan dengan perubahan status (seperti berjalan dari belum diinisialisasi menjad terinisialisasi).[18]

Pada awal peluncurannya, Rust menghadapi beberapa kritik, yang merupakan hal yang umum dalam dunia pemrograman. Kritik tersebut terutama berfokus pada kompleksitas bahasa ini, kurva pembelajaran yang curam, verbosity (adanya banyak kode boilerplate), dan kurangnya kematangan serta ekosistem yang masih terbatas.

Sejak saat itu, Rust telah mengalami banyak perbaikan signifikan. Komunitas pengguna dan pengembang Rust telah berkembang pesat dan banyak kritik awal mengenai bahasa ini telah diatasi. Rust kini dikenal sebagai bahasa pemrograman yang lebih matang dan memiliki ekosistem yang lebih luas.[19]

Yayasan Rust dan pemberhentian kerja Mozilla (2020–sekarang)

Pada Agustus tahun 2020, Mozilla memberhentikan 250 dari 1.000 karyawannya di seluruh dunia, sebagai bagian dari restrukturisasi perusahaan yang disebabkan oleh pandemi COVID-19.[20][21] Tim di balik Servo dibubarkan. Peristiwa ini menimbulkan kekhawatiran tentang masa depan Rust karena tumpang tindih antara dua proyek tersebut.[22] Pada minggu berikutnya, Rust Core Team mengakui dampak parah dari pemberhentian karyaawan dan mengumumkan bahwa rencana untuk yayasan Rust sedang berlangsung. Tujuan pertama yayasan ini adalah mengambil alih kepemilikan semua merek dagang dan nama domain serta mengambil hak tanggung jawab keuangan untuk pengeluaran mereka.[23]

Pada 26 Februari 2024, Gedung Putih AS merilis laporan pers 19 halaman yang mendesak pengembangan perangkat lunak untuk beralih ke bahasa pemrograman yang aman terhadap memori; khususnya, menjauh dari C dan C++ dan mendorong bahasa seperti C#, Go, Java, Ruby, Swift, dan Rust.[24][25] Laporan ini secara luas ditafsirkan sebagai meningkatnya minat terhadap Rust.[26][27] Laporan tersebut dirilis melalui Kantor Direktur Siber Nasional.[28][29]

Sintaks dan fitur

Sintaks Rust mirip dengan C dan C++[30][31] meskipun banyak fiturnya dipengaruhi oleh bahasa pemrograman fungsional seperti OCaml. Hoare telah menyebut Rust sebagai target dari pengembang C++ yang frustasi dan menekankan fitur-fitur seperti keamanan, kontrol tata letak memori, dan konkurensi.[32] Keamanan dalam Rust mencakup jaminan keamanan memori, keamanan tipe, dan tidak adanya perlombaan data.

Hello World

Berikut ini adalah contoh baris kode sederhana untuk menampilkan Hello World

<syntaxhighlight lang="rust" line="1"> fn main() {

   println!("Hello World");

} </syntaxhighlight>

Fungsi Faktorial

Rekursif

<syntaxhighlight lang="rust" line="1"> fn factorial(i: u64) -> u64 {

   match i {
       0 => 1,
       n => n * factorial(n-1)
   }

} </syntaxhighlight>

Iteratif

<syntaxhighlight lang="rust" line="1"> fn factorial(i: u64) -> u64 {

   let mut acc = 1;
   for num in 2..=i {
       acc *= num;
   }
   acc

} </syntaxhighlight>

Pengetikan

Rust diketik dengan kuat dan diketik secara statis, yang berati tipe dari semua variabel harus dikenal saat waktu kompilasi. Menetapkan nilai tipe tertentu ke variabel dengan tipe berbeda menyebabkan kesalahan kompilasi. Inferensi tipe digunakan untuk menentukan tipe variabel jika tidak ditentukan.

Tipe integer default i32 dan tipe titik float default adalah . Jika tipenya adalah sebuah angka literal, tidak diberikan secara eksplisit, itu disimpulkan dari konteks atau tipe default digunakan.

Tipe primitif

Tipe integer dalam Rust dinamakan berdasarkan pada penanda dan jumlah bit yang diambil oleh tipe tersebut. Sebagai contoh, adalah sebuah integer ditandai yang mengambil 32 bit penyimpanan, sedangkan tidak ditandai dan hanya mengambil 8 bit penyimpanan. dan mengambil penyimpanan tergantung arsitektur dari komputer yang menjalankan kode tersebut, misalnya, pada komputer dengan arsitektur 32-bit, kedua jenis tersebut akan memakan ruang sebesar 32 bit.

Tipe Boolean disebut sebagai yang dapat mengambil sebuah nilai antara or . Sebuah mengambil hingga 32 bit ruang dan merepresentasikan sebuah nilai skalar Unicode: titik kode Unicode yang bukan pengganti.[33] Angka poin float IEEE 754 didukung dengan untuk float presisi tunggal dan untuk float presisi ganda.

Pengetikan didefinisikan pengguna

Pengetikan didefinisikan pengguna dibuat dengan kata kunci atau . Kata kunci digunakan untuk mendenotasikan sebuah pengetikan rekord yang mengelompokkan beberapa nilai terkait. dapat mengambil pada varian-varian berbeda pada saat runtime, dengan kemampuannya yang mirip dengan tipe data aljabar yang ditemukan dalam bahasa pemrograman fungsional. Kedua varian rekord dan enum dapat berisi bidang dengan pengetikan yang berbeda. Nama alternatif atau alias untuk tipe yang sama dapat didefinisikan dengan kata kunci .

Kata kunci dapat mendefinisikan metode-metode untuk pengetikan didefinisikan pengguna. Data dan fungsi-fungsi didefinisikan terpisah. Implementasi memenuhi peran yang mirip dengan kelas-kelas dalam bahasa lain.

Lihat pula

Catatan

Pranala luar

Referensi

  1. Rust is a systems programming language. Rust-lang.org.
  2. Noel. The Rust Language. Lambda the Ultimate. 2010-07-08.
  3. FAQ - The Rust Project. Rust-lang.org.
  4. Peter Bright. Samsung teams up with Mozilla to build browser engine for multicore machines. Arstechnica.com. 2013-04-03.
  5. Contributors to rust-lang/rust · GitHub. Github.com.
  6. Stack Overflow Developer Survey 2016 Results. Stack Overflow.
  7. Stack Overflow Developer Survey 2017. Stack Overflow.
  8. Clive Thompson. How Rust went from a side project to the world's most-loved programming language. MIT Technology Review. 2023-02-14.
  9. Clive Thompson. How Rust went from a side project to the world's most-loved programming language. MIT Technology Review. 2023-02-14.
  10. Steve Klabnik. Applicative 2016. Association for Computing Machinery. 2016-06-02. hlm. 80. doi:10.1145/2959689.2960081. ISBN 978-1-4503-4464-7.
  11. Graydon Hoare. Project Servo: Technology from the past come to save the future from itself. Mozilla Annual Summit. July 2010.
  12. Steve Klabnik. Applicative 2016. Association for Computing Machinery. 2016-06-02. hlm. 80. doi:10.1145/2959689.2960081. ISBN 978-1-4503-4464-7.
  13. Graydon Hoare. Project Servo: Technology from the past come to save the future from itself. Mozilla Annual Summit. July 2010.
  14. Clive Thompson. How Rust went from a side project to the world's most-loved programming language. MIT Technology Review. 2023-02-14.
  15. sumber pada Wikipedia bahasa Indonesia
  16. Graydon Hoare. Rust Prehistory (Archive of the original Rust OCaml compiler source code). GitHub. November 2016.
  17. sumber pada Wikipedia bahasa Indonesia
  18. sumber pada Wikipedia bahasa Indonesia
  19. Data With Rust. Data With Rust. 2023-01-21.
  20. Catalin Cimpanu. Mozilla lays off 250 employees while it refocuses on commercial products. ZDNET. 2020-08-11.
  21. Daniel Cooper. Mozilla lays off 250 employees due to the pandemic. Engadget. 2020-08-11.
  22. Liam Tung. Programming language Rust: Mozilla job cuts have hit us badly but here's how we'll survive. ZDNET. 2020-08-21.
  23. Laying the foundation for Rust's future. Rust Blog. 2020-08-18.
  24. Grant Gross. White House urges developers to dump C and C++. InfoWorld. 2024-02-27.
  25. Joe Warminsky. After decades of memory-related software bugs, White House calls on industry to act. The Record. 2024-02-27.
  26. Bobby Jack. The White House Wants Memory-Safe Programming, but What Is That?. MakeUseOf. 2024-02-29.
  27. Ryan Donovan. In Rust we trust? White House Office urges memory safety. The Stack Overflow Blog. 2024-12-30.
  28. Grant Gross. White House urges developers to dump C and C++. InfoWorld. 2024-02-27.
  29. Press Release: Future Software Should Be Memory Safe. The White House. 2024-02-26.
  30. Liam Proven. Rebecca Rumbul named new CEO of The Rust Foundation. The Register. 2019-11-27.
  31. sumber pada Wikipedia bahasa Indonesia
  32. sumber pada Wikipedia bahasa Indonesia
  33. Glossary of Unicode Terms. Unicode Consortium.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28732654 (2025-12-23T23:57:35Z), 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.