diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 42262504..b6419617 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -22,6 +22,32 @@ sidebar_label: Version Changelogs & Updates - Perbaiki self-referencing link - [Ownership](/basic/ownership) - Perbaiki nama variabel +- [Advanced Traits](/basic/advanced-traits) + - Perbaiki duplikasi kata "tidak" +- [Type Alias & Casting](/basic/type-alias-casting) + - Perbaiki nama method `as_second` menjadi `as_secs` +- [Tipe Data ➜ Option](/basic/option-type) + - Perbaiki nomor section `A.38.4` menjadi `A.39.4` +- [Perulangan While](/basic/perulangan-while) + - Perbaiki typo "Pach" menjadi "Path" pada link +- [Tipe Data ➜ Result](/basic/result-type) + - Perbaiki alt text gambar +- [Function](/basic/function) + - Perbaiki contoh naming convention `get_report_Status` menjadi `get_report_status` +- [Array](/basic/array) + - Perbaiki typo "bentu" menjadi "bentuk" +- [Vector](/basic/vector) + - Perbaiki typo "bebebrapa" menjadi "beberapa" +- [Traits ➜ Function](/basic/trait-function) + - Perbaiki typo "blcok" menjadi "block" dan "chpater" menjadi "chapter" +- [Attributes](/basic/attributes) + - Perbaiki typo "Jialankan" menjadi "Jalankan" +- [Module System ➜ Basic](/basic/module-basic) + - Perbaiki isi summary #3 dan #4 yang tertukar +- [Variabel](/basic/variabel) + - Penambahan contoh `24_i8` +- [String Literal vs String](/basic/string-slice-vs-string-string) + - Perbaiki source code example yang tidak sesuai dengan doc ## 📝 Release v1.0.20240830 (2024-08-30) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 3460fd7f..68c68659 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -59,4 +59,4 @@ Tools yang digunakan: Desain arsitektur: -![Dasar pemrograman python](https://raw.githubusercontent.com/novalagung/dasarpemrogramanrust/master/etc/base%20architecture.jpg) +![Dasar Pemrograman Rust](https://raw.githubusercontent.com/novalagung/dasarpemrogramanrust/master/etc/base%20architecture.jpg) diff --git a/docs/basic/advanced-traits.md b/docs/basic/advanced-traits.md index 23a12fcc..78d20b3a 100644 --- a/docs/basic/advanced-traits.md +++ b/docs/basic/advanced-traits.md @@ -324,7 +324,7 @@ Tipe data aslinya tetap bisa diakses, tapi butuh tambahan effort. Lebih jelasnya ## A.37.7. *Associated types* pada trait -Associated types adalah tipe data yang didefinisikan di dalam suatu trait. Associated types tidak tidak memiliki tipe data konkret saat didefinisikan, namun ketika trait diimplementasikan maka tipe tersebut harus ditentukan tipe data konkretnya. +Associated types adalah tipe data yang didefinisikan di dalam suatu trait. Associated types tidak memiliki tipe data konkret saat didefinisikan, namun ketika trait diimplementasikan maka tipe tersebut harus ditentukan tipe data konkretnya. Lebih jelas silakan perhatikan kode berikut: diff --git a/docs/basic/array.md b/docs/basic/array.md index 14d5489b..ebeda1e8 100644 --- a/docs/basic/array.md +++ b/docs/basic/array.md @@ -285,7 +285,7 @@ Setelah mendapatkan objek bertipe `Enumerate`, keyword `for in` digunakan untuk ## A.13.8. Append elemen ke array -Operasi menambahkan sebuah elemen ke array yang hasilnya melebihi kapasitas ... adalah tidak bisa. Karena array memiliki size fixed, tidak dinamis. Solusinya adalah menggunakan tipe data Vector. Nantinya array perlu dikonversi ke bentu Vector terlebih dahulu kemudian di-append, lebih jelasnya kita bahas pada chapter [Vector](/basic/vector). +Operasi menambahkan sebuah elemen ke array yang hasilnya melebihi kapasitas ... adalah tidak bisa. Karena array memiliki size fixed, tidak dinamis. Solusinya adalah menggunakan tipe data Vector. Nantinya array perlu dikonversi ke bentuk Vector terlebih dahulu kemudian di-append, lebih jelasnya kita bahas pada chapter [Vector](/basic/vector). ## A.13.9. Nested array diff --git a/docs/basic/attributes.md b/docs/basic/attributes.md index 4d1dc905..b738215d 100644 --- a/docs/basic/attributes.md +++ b/docs/basic/attributes.md @@ -526,7 +526,7 @@ fn main() { Pada kode di atas bisa dilihat, module `util1` dan `util2` patuh mengikuti aturan deklarasi module system. Berbeda dengan `util3` yang sebenarnya dideklarasikan dengan nama `util3_mymodule` (karena filename-nya adalah `util3_mymodule.rs`). Nama module satu ini diubah menjadi `util3` lalu dengan memanfaatkan attribute `path` kita arahkan isi module `util3` adalah berada di `util3_mymodule.rs`. -Jialankan program, harusnya tidak ada error. +Jalankan program, harusnya tidak ada error. ![Attribute](img/attribute-9.png) diff --git a/docs/basic/function.md b/docs/basic/function.md index 6ac42537..d6ce5996 100644 --- a/docs/basic/function.md +++ b/docs/basic/function.md @@ -67,7 +67,7 @@ fn greet() { ## A.17.2. *Naming convention* fungsi -Sesuai anjuran di [halaman dokumentasi Rust](https://rust-lang.github.io/api-guidelines/naming.html), aturan penulisan nama fungsi di Rust adalah menggunakan **snake case**. Nama fungsi dituliskan dalam huruf kecil dengan separator tanda garis bawah atau underscore (`_`). Contohnya seperti: `main`, `greet_message`, `get_report_Status`, dll. +Sesuai anjuran di [halaman dokumentasi Rust](https://rust-lang.github.io/api-guidelines/naming.html), aturan penulisan nama fungsi di Rust adalah menggunakan **snake case**. Nama fungsi dituliskan dalam huruf kecil dengan separator tanda garis bawah atau underscore (`_`). Contohnya seperti: `main`, `greet_message`, `get_report_status`, dll. ## A.17.3. Parameter fungsi dan argumen fungsi diff --git a/docs/basic/module-basic.md b/docs/basic/module-basic.md index 08867588..c65ca526 100644 --- a/docs/basic/module-basic.md +++ b/docs/basic/module-basic.md @@ -316,7 +316,7 @@ Hingga pembahasan pada praktik submodule, kita telah belajar penerapan module de - Penggunaan normal module dalam binary crate - Pembuatan module dengan nama `my_io`, dengan isi/item ditulis pada file `my_io.rs` - Pembuatan module dengan nama `my_number`, dengan isi/item ditulis pada file `my_number/mod.rs` -- Pembuatan submodule dengan nama `my_number/conversion_utility`, dengan isi/item ditulis pada file `my_number/conversion.rs` yang di-import menggunakan `path` attribute. +- Pembuatan submodule dengan nama `my_number/conversion_utility`, dengan isi/item ditulis pada file `my_number/conversion_utility.rs`. - Penggunaan keyword `pub` pada fungsi agar bisa diakses dari luar module - Penggunaan keyword `pub` pada submodule agar bisa diakses dari luar parent module - Pengaksesan item milik module, yaitu: `my_io::read_entry`, `my_number::conversion_utility::string_to_number`, dan `my_number::is_odd_number` @@ -398,7 +398,7 @@ Hingga pembahasan pada praktik module `path` attribute, kita telah belajar pener - Penggunaan normal module dalam binary crate - Pembuatan module dengan nama `my_io`, dengan isi/item ditulis pada file `my_io.rs` - Pembuatan module dengan nama `my_number`, dengan isi/item ditulis pada file `my_number/mod.rs` -- Pembuatan submodule dengan nama `my_number/conversion_utility`, dengan isi/item ditulis pada file `my_number/conversion_utility/mod.rs` +- Pembuatan submodule dengan nama `my_number/conversion_utility`, dengan isi/item ditulis pada file `my_number/conversion.rs` yang di-import menggunakan `path` attribute. - Penggunaan keyword `pub` pada fungsi agar bisa diakses dari luar module - Penggunaan keyword `pub` pada submodule agar bisa diakses dari luar parent module - Pengaksesan item milik module, yaitu: `my_io::read_entry`, `my_number::conversion_utility::string_to_number`, dan `my_number::is_odd_number` diff --git a/docs/basic/option-type.md b/docs/basic/option-type.md index 5b85aeb7..5c85418b 100644 --- a/docs/basic/option-type.md +++ b/docs/basic/option-type.md @@ -224,7 +224,7 @@ Closure harus dalam notasi `FnOnce() -> T` yang mana `T` pada konteks ini adalah > > Lebih jelasnya mengenai closure dibahas pada chapter [Closures](/basic/closures). -## A.38.4. Operator `?` pada tipe `Option` +## A.39.4. Operator `?` pada tipe `Option` Tipe data `Option` bisa digunakan pada operator `?`. Penjelasannya ada di chapter terpisah di [Operator ?](/basic/operator-tanda-tanya). diff --git a/docs/basic/perulangan-while.md b/docs/basic/perulangan-while.md index 68eb2e14..9ffa5ded 100644 --- a/docs/basic/perulangan-while.md +++ b/docs/basic/perulangan-while.md @@ -120,7 +120,7 @@ Pada contoh di atas, fungsi `sleep` dipanggil dalam blok kode perulangan agar ad Jika ingin jeda durasi yang lebih lama, ubah saja angka `1` pada `Duration::from_secs(1)`. Contoh: `Duration::from_secs(5)` berarti jeda 5 detik. -> - Lebih jelasnya perihal path dibahas pada chapter [Module System ➜ Pach & Item](/basic/path-item) +> - Lebih jelasnya perihal path dibahas pada chapter [Module System ➜ Path & Item](/basic/path-item) > - Lebih jelasnya perihal keyword `use` dibahas pada chapter [Module System ➜ Use](/basic/use) > - Lebih jelasnya perihal fungsi dibahas pada chapter [Function](/basic/function) > - Lebih jelasnya perihal struct dibahas pada chapter [Struct](/basic/struct) diff --git a/docs/basic/result-type.md b/docs/basic/result-type.md index 158276c2..ce050403 100644 --- a/docs/basic/result-type.md +++ b/docs/basic/result-type.md @@ -80,7 +80,7 @@ match result { } ``` -![Option type](img/result-type-2.png) +![Result type](img/result-type-2.png) Bisa dilihat pada kode di atas mudahnya pengambilan nilai `m` dari `Err(m)` dan juga `r` dari `Ok(r)`. Penerapan `match` untuk seleksi kondisi biasa disebut dengan **pattern matching** dan teknik ini sangat fleksibel dan advance. diff --git a/docs/basic/trait-function.md b/docs/basic/trait-function.md index b48a6914..674d4739 100644 --- a/docs/basic/trait-function.md +++ b/docs/basic/trait-function.md @@ -43,7 +43,7 @@ where Trait `FnMut` ([std::ops::FnMut](https://doc.rust-lang.org/std/ops/trait.FnMut.html)) merupakan trait yang menjadikan suatu closure bisa diakses berkali-kali dan bisa me-mutate atau mengubah data suatu variabel yang berada di luar scope block closure. Trait ini juga otomatis ter-implement pada closure yang di dalamnya ada kode pengaksesan variabel yang berada di luar scope block closure. -Contoh penerapannya silakan lihat closure `square_x` berikut. Closure tersebut di-dalamnya mengubah nilai `x` yang dideklarasikan di luar blcok closure, oleh karenanya trait `FnMut` otomatis ter-implement. +Contoh penerapannya silakan lihat closure `square_x` berikut. Closure tersebut di-dalamnya mengubah nilai `x` yang dideklarasikan di luar block closure, oleh karenanya trait `FnMut` otomatis ter-implement. ```rust let mut x = 5; @@ -81,7 +81,7 @@ Jika dipaksa deklarasi menggunakan `Fn`, hasilnya pasti error. `FnMut` merupakan supertrait dari `Fn`, artinya closure dengan trait `Fn` juga bisa digunakan sebagai argument pemanggilan fungsi di mana parameter fungsi tersebut bertipe `FnMut`. -> Lebih jelasnya mengenai supertrait dibahas pada chpater [Supertrait](#/wip/supertrait) +> Lebih jelasnya mengenai supertrait dibahas pada chapter [Supertrait](#/wip/supertrait) ## A.49.3. Trait `FnOnce` @@ -108,7 +108,7 @@ Jika closure dengan tipe `FnOnce` dipaksa diakses dua kali, pasti muncul error. ![Closure](img/trait-function-2.png) -> Lebih jelasnya mengenai supertrait dibahas pada chpater [Supertrait](#/wip/supertrait) +> Lebih jelasnya mengenai supertrait dibahas pada chapter [Supertrait](#/wip/supertrait) ## A.49.4. Relasi antara trait function dengan function diff --git a/docs/basic/type-alias-casting.md b/docs/basic/type-alias-casting.md index f814b438..3565cc5e 100644 --- a/docs/basic/type-alias-casting.md +++ b/docs/basic/type-alias-casting.md @@ -131,7 +131,7 @@ Hasilnya adalah nilai tetap tidak akan kembali seperti semula. Jadi silakan berh Pengaksesan `SystemTime::now()` mengembalikan data waktu sekarang, dan jika di chain dengan method `duration_since(UNIX_EPOCH)` hasilnya adalah data duration bertipe `Result`. -Dari data tersebut bisa kita chain lagi dengan method `unwrap` dan `as_second` untuk mengambil datanya dalam bentuk `u64`. +Dari data tersebut bisa kita chain lagi dengan method `unwrap` dan `as_secs` untuk mengambil datanya dalam bentuk `u64`. > - Lebih jelasnya mengenai module `std::time` dibahas pada chapter [DateTime](/basic/datetime) > - Lebih jelasnya mengenai tipe data `Result` dibahas pada chapter [Tipe Data ➜ Result](/basic/result-type) diff --git a/docs/basic/vector.md b/docs/basic/vector.md index 5c313870..08adcd45 100644 --- a/docs/basic/vector.md +++ b/docs/basic/vector.md @@ -313,7 +313,7 @@ Semua operasi slice bisa diterapkan di vector. Tipe data `VecDeque` adalah sama seperti `Vec` plus mendukung operasi menambah dan mengurangi elemen dari dua sisi secara efisien. -Pada tipe data `Vec`, ada method `pop` yang fungsinya menghapus data elemen terakhir dan method `push` untuk menambah elemen baru dari kanan. Tipe data `VecDeque` memiliki bebebrapa method tambahan, yaitu: +Pada tipe data `Vec`, ada method `pop` yang fungsinya menghapus data elemen terakhir dan method `push` untuk menambah elemen baru dari kanan. Tipe data `VecDeque` memiliki beberapa method tambahan, yaitu: - method `pop_front` untuk hapus data elemen pertama atau paling kiri (indeks ke-0) - method `push_front` untuk menambah data dari kiri (indeks ke-0) diff --git a/docs/download-pdf.md b/docs/download-pdf.md index 1aceeef7..fd47faac 100644 --- a/docs/download-pdf.md +++ b/docs/download-pdf.md @@ -6,4 +6,4 @@ sidebar_label: Download versi PDF Ebook Dasar Pemrograman Rust bisa di-download dalam bentuk file PDF, silakan gunakan link berikut: -> [Dasar Pemrograman Rust.pdf](https://github.com/novalagung/dasarpemrogramanrust/raw/ebooks/dasarpemrogramanrust.pdf?v=v1.0.20240830) +> [Dasar Pemrograman Rust.pdf](https://github.com/novalagung/dasarpemrogramanrust/raw/ebooks/dasarpemrogramanrust.pdf?v=v1.1.20260608) diff --git a/docs/installation/instalasi-rust.md b/docs/installation/instalasi-rust.md index 0ca36b37..b21f9fd7 100644 --- a/docs/installation/instalasi-rust.md +++ b/docs/installation/instalasi-rust.md @@ -30,7 +30,7 @@ cargo --version ### ◉ Windows -Silakan download file `rustup-init.exe` di [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install). Jalankan installar, lalu run command berikut untuk mengecek hasil instalasi. +Silakan download file `rustup-init.exe` di [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install). Jalankan installer, lalu run command berikut untuk mengecek hasil instalasi. ```bash rustup --version