Pilih bahasa Anda
Kursus Dasar Pemrograman Rust
Lebih dari 2 juta pelajar di seluruh dunia

Kursus Dasar Pemrograman Rust

Rust Fundamentals memberi Anda alat untuk menulis perangkat lunak sistem yang cepat, aman, dan andal sejak hari pertama. Anda akan menguasai kepemilikan, peminjaman, dan masa hidup — ide inti yang membuat Rust unik — lalu menerapkannya pada konkurensi, penanganan kesalahan, dan tugas sistem di dunia nyata. Kursus ini membawa Anda dari program pertama yang dikompilasi hingga kode Rust tingkat profesional.

Dedika untuk bisnis

Apa yang akan Anda pelajari:

  • Konfigurasikan toolchain Rust yang lengkap dan kelola proyek dengan Cargo dari awal.

  • Terapkan aturan kepemilikan, peminjaman, dan masa hidup untuk menulis kode yang aman memori tanpa pengumpulan sampah memori.

  • Bangun model data ekspresif menggunakan struct, enum, trait, dan generics untuk desain yang aman tipe.

  • Tangani kesalahan secara eksplisit dan idiomatis dengan Result, Option, tipe kesalahan kustom, dan operator ?.

  • Proses data secara efisien menggunakan koleksi standar, iterator malas, dan closure dalam pipeline yang dapat dikomposisikan.

  • Implementasikan program konkuren dan asinkron yang aman menggunakan thread, channel, Mutex, Arc, dan async/await.

Bagaimana Anda belajar secara praktis Kursus Dasar Pemrograman Rust

Bagaimana Anda berlatih Kursus Dasar Pemrograman Rust

Untuk Anda yang memiliki perusahaan dan ingin melatih tim

Di Dedika untuk perusahaan, kursus dilengkapi dengan latihan dan contoh yang disesuaikan dengan bisnis Anda dan kebutuhan perusahaan Anda.

Klik di sini

Konten kursus

8 Bab • 39 PelajaranDurasi antara 4 dan 360 jam (Anda yang menentukan)

Bab 1Lihat detail

Memulai dengan Rust

  • Pelajaran 1 • Menginstal dan Mengonfigurasi Toolchain

    Memandu proses instalasi rustup, memilih versi toolchain, dan mengonfigurasi editor. Memastikan setiap siswa memiliki lingkungan kerja yang dapat direproduksi.

  • Pelajaran 2 • Sistem Build Cargo

    Memperkenalkan Cargo sebagai alat build resmi dan manajer paket Rust. Siswa membuat, membangun, dan menjalankan proyek pertama mereka menggunakan perintah Cargo.

  • Pelajaran 3 • Menulis dan Menjalankan Program Pertama Anda

    Memandu siswa melalui program Rust minimal, menjelaskan fungsi main, makro, dan keluaran kompilasi. Menghubungkan sintaksis dengan model bahasa yang lebih luas.

  • Pelajaran 4 • Filosofi Desain dan Kasus Penggunaan Rust

    Mencakup tujuan Rust yaitu keamanan memori, performa, dan konkurensi tanpa pengumpul sampah memori. Membingkai mengapa tujuan ini penting sebelum menulis kode apa pun.

Bab 2Lihat detail

Sintaksis Inti dan Tipe Primitif

  • Pelajaran 1 • Fungsi dan Penanganan Kesalahan Dasar

    Mendefinisikan fungsi dengan parameter bertipe dan nilai kembali, serta memperkenalkan panic vs. kesalahan yang dapat dipulihkan. Mempersiapkan siswa untuk tipe Result yang dibahas di bab selanjutnya.

  • Pelajaran 2 • Konstruk Alur Kontrol

    Mengajarkan konstruk if, loop, while, dan for, termasuk bentuk ekspresinya. Siswa menulis logika percabangan dan iterasi yang dikompilasi tanpa peringatan.

  • Pelajaran 3 • Variabel, Mutabilitas, dan Shadowing

    Menjelaskan binding let, aturan immutable secara default, dan semantik shadowing. Menetapkan pendekatan ketat Rust terhadap status variabel sejak awal kursus.

  • Pelajaran 4 • Tipe Skalar dan Majemuk

    Mencakup integer, float, boolean, char, tuple, dan array. Siswa mempelajari inferensi tipe, anotasi eksplisit, dan batasan setiap tipe.

  • Pelajaran 5 • Ekspresi, Pernyataan, dan Blok

    Membedakan ekspresi dari pernyataan dan menunjukkan bagaimana blok mengembalikan nilai. Model berorientasi ekspresi ini mendasari kode Rust idiomatis di seluruh kursus.

Bab 3Lihat detail

Kepemilikan, Peminjaman, dan Masa Hidup

  • Pelajaran 1 • Aturan Kepemilikan dan Semantik Perpindahan

    Mendefinisikan tiga aturan kepemilikan dan mendemonstrasikan bagaimana nilai berpindah antar lingkup. Siswa melacak transfer kepemilikan untuk memprediksi kapan nilai dihapus.

  • Pelajaran 2 • Tipe Slice

    Mencakup slice string dan slice array sebagai tipe referensi ke data yang berdekatan. Memperkuat konsep peminjaman dengan tampilan data praktis yang umum digunakan.

  • Pelajaran 3 • Anotasi Masa Hidup

    Menjelaskan parameter masa hidup sebagai cara untuk mengekspresikan hubungan validitas referensi. Siswa memberi anotasi pada fungsi dan struct untuk memuaskan pemeriksa pinjaman dalam skenario yang kompleks.

  • Pelajaran 4 • Pola Kepemilikan Umum

    Meninjau pola idiomatis seperti cloning, mengembalikan nilai yang dimiliki, dan menggunakan Rc untuk kepemilikan bersama. Menjembatani teori dengan keputusan desain praktis.

  • Pelajaran 5 • Referensi dan Peminjaman

    Memperkenalkan referensi bersama dan dapat diubah serta aturan alias pemeriksa pinjaman. Siswa belajar meneruskan data tanpa mentransfer kepemilikan.

Bab 4Lihat detail

Struct, Enum, dan Pencocokan Pola

  • Pelajaran 1 • Metode dan Fungsi Terkait

    Melampirkan perilaku ke struct melalui blok impl, membedakan metode dari fungsi terkait. Membangun fondasi untuk implementasi trait di bab berikutnya.

  • Pelajaran 2 • Mendefinisikan dan Menggunakan Struct

    Mencakup struct bidang bernama, tuple, dan unit, plus sintaksis pembaruan struct. Siswa memodelkan data nyata dan memahami bagaimana kepemilikan berlaku pada bidang struct.

  • Pelajaran 3 • Destrukturisasi dan Pola Tingkat Lanjut

    Memperluas pencocokan pola ke let, parameter fungsi, dan rantai if-let. Siswa menulis kode ringkas yang menangani berbagai bentuk data tanpa kondisi bersarang.

  • Pelajaran 4 • Pencocokan Pola dengan match

    Mengajarkan ekspresi match yang ekshaustif, penjaga, dan pola binding. Siswa mendekonstruksi tipe data kompleks dengan aman dan mudah dibaca.

  • Pelajaran 5 • Enum dan Tipe Option

    Mendefinisikan enum dengan varian pembawa data dan mengeksplorasi Option sebagai alternatif bebas-null Rust. Siswa mengganti logika nullable dengan penanganan enum yang ekshaustif.

Bab 5Lihat detail

Trait dan Generik

  • Pelajaran 1 • Dispatch Dinamis dengan Objek Trait

    Membandingkan dispatch statis dengan dyn Trait untuk polimorfisme waktu proses. Siswa memilih antara generik dan objek trait berdasarkan kebutuhan performa dan fleksibilitas.

  • Pelajaran 2 • Fungsi dan Struct Generik

    Memperkenalkan parameter tipe pada fungsi dan struct, memungkinkan penggunaan kembali kode di seluruh tipe. Siswa menulis struktur data generik dan memahami monomorfisasi.

  • Pelajaran 3 • Trait Pustaka Standar Umum

    Mencakup Display, Debug, Clone, Copy, PartialEq, dan Iterator sebagai blok bangunan penting. Siswa menurunkan atau mengimplementasikan trait ini secara manual untuk berintegrasi dengan ekosistem Rust.

  • Pelajaran 4 • Mendefinisikan dan Mengimplementasikan Trait

    Memperkenalkan trait sebagai kontrak perilaku bersama dan menunjukkan cara mengimplementasikannya untuk tipe kustom. Terhubung ke trait paling umum dari pustaka standar.

  • Pelajaran 5 • Batasan Trait dan Klausa Where

    Membatasi parameter generik dengan batasan trait untuk memungkinkan panggilan metode pada tipe generik. Siswa menulis batasan yang mudah dibaca menggunakan sintaksis inline dan klausa where.

Bab 6Lihat detail

Penanganan Kesalahan dan Tipe Result

  • Pelajaran 1 • Menggunakan Library Penanganan Kesalahan

    Memperkenalkan crate populer yang mengurangi kode boilerplate penanganan kesalahan dan meningkatkan ergonomi. Siswa mengevaluasi kapan sebuah library menambah nilai dibandingkan implementasi manual.

  • Pelajaran 2 • Result<T, E> Secara Mendalam

    Memeriksa varian Result, kombinator, dan metode unwrap. Siswa memahami kapan setiap metode tepat dan apa yang dikomunikasikannya kepada pemanggil.

  • Pelajaran 3 • Tipe Kesalahan Kustom

    Memandu siswa melalui pendefinisian enum kesalahan khusus domain dan pengimplementasian trait kesalahan standar. Menghasilkan API dengan informasi kesalahan terstruktur yang informatif.

  • Pelajaran 4 • Operator ? dan Propagasi Kesalahan

    Menunjukkan bagaimana ? menyebarkan kesalahan ke atas tumpukan panggilan, mengurangi kode boilerplate. Siswa memfaktorkan ulang blok match yang bertele-tele menjadi fungsi propagasi kesalahan yang ringkas dan mudah dibaca.

  • Pelajaran 5 • Panic, Unwinding, dan Abort

    Menjelaskan kapan panic dapat diterima, bagaimana unwinding bekerja, dan cara menangkap panic. Siswa menetapkan kebijakan yang jelas untuk penggunaan panic di library vs. aplikasi.

Bab 7Lihat detail

Koleksi, Iterator, dan Closure

  • Pelajaran 1 • Ikhtisar Koleksi Standar

    Meninjau Vec, HashMap, HashSet, BTreeMap, dan VecDeque beserta karakteristik performanya. Siswa memilih koleksi yang tepat untuk setiap kebutuhan akses dan pengurutan.

  • Pelajaran 2 • Closure dan Lingkungan yang Ditangkap

    Mendefinisikan closure sebagai fungsi anonim yang menangkap lingkungannya melalui referensi atau nilai. Siswa menggunakan trait Fn, FnMut, dan FnOnce untuk mengekspresikan kemampuan closure.

  • Pelajaran 3 • Adaptor dan Konsumen Iterator

    Mencakup map, filter, flat_map, take, zip, dan collect sebagai perangkat adaptor inti. Siswa menyusun pipeline malas yang dieksekusi hanya ketika dikonsumsi.

  • Pelajaran 4 • Kesadaran Performa dan Alokasi

    Menganalisis klaim abstraksi tanpa biaya iterator dan jebakan alokasi umum. Siswa membuat profil pipeline sederhana dan memilih antara iterator dan loop manual jika dibenarkan.

  • Pelajaran 5 • Trait Iterator

    Menjelaskan metode next dari trait Iterator dan bagaimana ia mendukung semua iterasi di Rust. Siswa mengimplementasikan iterator kustom untuk memperkuat protokol.

Bab 8Lihat detail

Konkurensi dan Rust Async

  • Pelajaran 1 • Dasar-Dasar Async/Await

    Memperkenalkan trait Future, fungsi async, dan kata kunci await untuk I/O non-blokir. Siswa memahami perbedaan async dari thread dan kapan harus memilih masing-masing.

  • Pelajaran 2 • Status Bersama dengan Mutex dan Arc

    Menggabungkan Arc untuk kepemilikan bersama dan Mutex untuk mutabilitas interior di seluruh thread. Siswa membangun penghitung yang aman untuk thread dan memahami lock poisoning.

  • Pelajaran 3 • Runtime Async dan Pola Praktis

    Meninjau runtime async, spawning tugas, dan pola async umum seperti timeout dan select. Siswa menjalankan program async lengkap dan menangani tugas konkuren dengan aman.

  • Pelajaran 4 • Thread dan Trait Send dan Sync

    Memunculkan thread OS dengan std::thread dan menjelaskan bagaimana Send dan Sync menerapkan keamanan thread. Mahasiswa memahami mengapa Rust mencegah perlombaan data pada tingkat tipe.

  • Pelajaran 5 • Pengiriman Pesan dengan Channel

    Menggunakan channel std::sync::mpsc untuk berkomunikasi antar thread tanpa state bersama. Mahasiswa mengimplementasikan pola produsen-konsumen dan memahami backpressure channel.

Sertifikasi

Sertifikat valid Anda setelah menyelesaikan

Kursus ini cocok untuk Anda:

  • Pengembang back-end: ingin mengganti layanan yang lambat atau tidak aman dengan alternatif Rust.

  • Pemrogram C atau C++: mencari jaminan keamanan waktu kompilasi tanpa mengorbankan performa mentah.

  • Insinyur DevOps: perlu membangun perkakas CLI yang andal dan mandiri untuk otomatisasi infrastruktur.

  • Mahasiswa ilmu komputer: siap memperdalam pemahaman tentang manajemen memori dan sistem tipe.

  • Pemrogram hobi: penasaran dengan pemrograman sistem dan termotivasi untuk menguasai bahasa yang menantang.

  • Pengalih karier: menargetkan peran tertanam atau sistem yang membutuhkan keahlian pemrograman tingkat rendah.

Apa kata para siswa kami

Kelasnya sangat sempurna. Saya membeli paket satu tahun dan akhirnya memiliki kesempatan untuk mengikuti berbagai topik yang saya minati tanpa perlu berganti platform... terima kasih atas semua yang kalian lakukan, saya sudah merekomendasikan kalian kepada orang lain...
Giulio Carlo
Giulio CarloSiswa Marketing Digital
Saya suka bagaimana pelajarannya langsung pada intinya dan bagaimana saya bisa berpindah bab dan melewati konten yang tidak saya butuhkan.
Mariana Ferres
Mariana FerresSiswa Fotografi
Saya suka kontennya dan cara presentasi serta transkripsi videonya, yang mempercepat prosesnya!
Luciana Alvarenga
Luciana AlvarengaSiswa Desain Kuku
Platformnya cepat, mudah digunakan. Keragaman konten dan video pelengkapnya sangat membantu dalam pembelajaran.
André Felipe
André FelipeSiswa Prompt Engineering

Pelatihan utama

FAQ

Siapa itu Dedika?

Apakah sertifikat ini berlaku di Indonesia?

Apakah kursusnya gratis?

Berapa beban belajar kursusnya?

Bagaimana bentuk kursusnya?

Bagaimana cara kerja kursusnya?

Berapa lama durasi kursusnya?

Berapa biaya atau harga kursusnya?

Apa itu kursus EAD atau online dan bagaimana cara kerjanya?

Kursus PDF