
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.
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.
Konten kursus
8 Bab • 39 PelajaranDurasi antara 4 dan 360 jam (Anda yang menentukan)
Bab 1SembunyikanSembunyikan detailLihat detailMemulai dengan Rust
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 2SembunyikanSembunyikan detailLihat detailSintaksis Inti dan Tipe Primitif
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 3SembunyikanSembunyikan detailLihat detailKepemilikan, Peminjaman, dan Masa Hidup
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 4SembunyikanSembunyikan detailLihat detailStruct, Enum, dan Pencocokan Pola
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 5SembunyikanSembunyikan detailLihat detailTrait dan Generik
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 6SembunyikanSembunyikan detailLihat detailPenanganan Kesalahan dan Tipe Result
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 7SembunyikanSembunyikan detailLihat detailKoleksi, Iterator, dan Closure
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 8SembunyikanSembunyikan detailLihat detailKonkurensi dan Rust Async
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.
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...

Saya suka bagaimana pelajarannya langsung pada intinya dan bagaimana saya bisa berpindah bab dan melewati konten yang tidak saya butuhkan.

Saya suka kontennya dan cara presentasi serta transkripsi videonya, yang mempercepat prosesnya!

Platformnya cepat, mudah digunakan. Keragaman konten dan video pelengkapnya sangat membantu dalam pembelajaran.

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




















