Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: missed "Praktek" fix #16

Merged
merged 1 commit into from
Dec 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Ebook ini bisa di-download dalam bentuk file, silakan gunakan link berikut:

- [Dasar Pemrograman Rust v1.0.0-alpha1.20221221.pdf](https://github.com/novalagung/dasarpemrogramanrust/raw/ebooks/dasarpemrogramanrust.pdf?v=1.0.0-alpha1.20221221)

## Source Code Praktek
## Source Code Praktik

Source code contoh program bisa diunduh di [github.com/novalagung/dasarpemrogramanrust-example](https://github.com/novalagung/dasarpemrogramanrust-example). Dianjurkan untuk sekedar tidak copy-paste dari source code dalam proses belajar, usahakan tulis sendiri kode program agar cepat terbiasa dengan bahasa Rust.

Expand Down
8 changes: 4 additions & 4 deletions docs/basic/closures.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ Bisa dilihat dari gambar di atas, statement `print` dari dalam block closure has

## A.46.6. Closure sebagai return type

### ◉ Praktek ke-1
### ◉ Praktik ke-1

Fungsi bisa memiliki nilai balik bertipe closure. Caranya dengan menggunakan `impl Fn()` sebagai tipe data nilai balik. Contoh penerapannya:

Expand Down Expand Up @@ -281,7 +281,7 @@ Bisa dilihat, fungsi `do_something` di atas mengembalikan closure yang menampilk

Sedangkan fungsi `do_something` sendiri juga menampilkan pesan string lainnya, yaitu `hello (from do_something)`, yang pesan ini adalah muncul langsung saat pemanggilan fungsi `do_something`. Berbeda dengan pesan `hello (from closure)` yang hanya muncul ketika closure dieksekusi.

### ◉ Praktek ke-2
### ◉ Praktik ke-2

Pada contoh di atas, closure yang dikembalikan fungsi memiliki skema sangat sederhana, tanpa parameter dan argument. Mari coba praktik dengan contoh yang lebih kompleks.

Expand Down Expand Up @@ -316,7 +316,7 @@ println!("{message} (from main)");

## A.46.7. Closure sebagai parameter fungsi

### ◉ Praktek ke-1
### ◉ Praktik ke-1

Pengaplikasian closure sebagai parameter fungsi banyak di lakukan di Rust, hal ini bisa dilakukan dengan memanfaatkan generic parameter. Silakan perhatikan kode berikut untuk contoh penerapannya.

Expand Down Expand Up @@ -351,7 +351,7 @@ O iya, closure di atas juga bisa dituliskan dalam bentuk seperti ini. Bebas, pil
run_x_times(4, |i: i32| println!("hello rust {i}"));
```

### ◉ Praktek ke-2
### ◉ Praktik ke-2

Ok, sekarang mari kita coba praktikkan contoh yang lebih kompleks.

Expand Down
4 changes: 2 additions & 2 deletions docs/basic/module-basic.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Pendefinisian nama module sendiri berada pada file entrypoint *crate* yaitu `mai

> Sebenarnya ada beberapa hal lainnya lagi yang masih relevan yang perlu dibahas di-awal, yaitu perihal sub-module. Akan tetapi agar tidak makin bingung, mari kita lanjut ke praktik terlebih dahulu.

## A.20.2. Praktek #1 - `nama_module.rs`
## A.20.2. Praktik #1 - `nama_module.rs`

Mari buat program sederhana, yang isinya mencakup pembahasan tentang module. Pada program kecil ini, inputan user ditampung ke sebuah variabel, kemudian ditampilkan ke layar. Proses pembacaan inputan user akan di-split sebagai module.

Expand Down Expand Up @@ -127,7 +127,7 @@ Selain fungsi, module item bisa dalam bentuk lainnya, contohnya: konstanta, subm

> Lebih jelasnya tentang macam-macam item dibahas pada chapter [Module System → Path & Item](/basic/path-item)

## A.20.3. Praktek #2 - `nama_module/mod.rs`
## A.20.3. Praktik #2 - `nama_module/mod.rs`

Bagian ini merupakan kelanjutan dari praktik sebelumnya. Program sederhana yang sudah di-buat ditambahi beberapa hal. Data inputan user dikonversi ke bentuk angka untuk kemudian dicek apakah angka tersebut bilangan ganjil atau genap.

Expand Down
2 changes: 1 addition & 1 deletion docs/basic/module-inline.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Pada contoh di atas, `module_a` memiliki beberapa item:

Aturan definisi submodule dan item pada inline module masih sama seperti pada *normal module*, salah satunya adalah agar item bisa diakses dari luar module maka perlu menggunakan keyword `pub`.

## A.21.2. Praktek inline module
## A.21.2. Praktik inline module

Mari lanjut proses pembalajaran dengan praktik. Kita akan buat program sederhana yang didalamnya ada proses generate random string, yang kemudian di-hash.

Expand Down
2 changes: 1 addition & 1 deletion docs/basic/module-scope-item-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ crate::my_func();
super::super::my_func();
```

## A.22.7. Praktek lanjutan
## A.22.7. Praktik lanjutan

Agar pemahaman makin mantab, silakan pelajari program berikut.

Expand Down
2 changes: 1 addition & 1 deletion docs/basic/option-type.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Output program di atas saat di-run:

Dalam penerapannya, ketika ada data bertipe `Option` artinya data tersebut berpotensi untuk berisi nilai `None` atau `Some<T>`, pasti antara 2 nilai tersebut.

Umumnya penggunaan tipe `Option` selalu diikuti dengan seleksi kondisi. Keyword `if` bisa digunakan dalam seleksi kondisi, namun dalam prakteknya lebih baik menggunakan keyword `match` karena memberikan kemudahan dalam pengaksesan nilai `T` milik `Some` (dimana `T` adalah data yang kita cari dibungkus dalam enum value `Some`).
Umumnya penggunaan tipe `Option` selalu diikuti dengan seleksi kondisi. Keyword `if` bisa digunakan dalam seleksi kondisi, namun dalam Praktiknya lebih baik menggunakan keyword `match` karena memberikan kemudahan dalam pengaksesan nilai `T` milik `Some` (dimana `T` adalah data yang kita cari dibungkus dalam enum value `Some`).

Mari kita praktikkan. Ubah isi fungsi `main` dengan kode berikut:

Expand Down
2 changes: 1 addition & 1 deletion docs/basic/package-crate.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ Sukses! Sekarang dependency `rand` sudah bisa digunakan dalam package yang sudah

Jadi kurang lebih seperti itu cara menambahkan dependency di Rust. Seiring berjalannya proses pembelajaran penulis yakin pembaca akan terbiasa dengan flow dan juga command di atas.

## A.19.3. Praktek membuat program menampilkan angka random
## A.19.3. Praktik membuat program menampilkan angka random

Ok, sekarang kita lanjutkan praktik pembuatan program sederhana untuk menampilkan angka random.

Expand Down
2 changes: 1 addition & 1 deletion docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Ebook ini bisa di-download dalam bentuk file, silakan gunakan link berikut:

> [Dasar Pemrograman Rust v1.0.0-alpha1.20221221.pdf](https://github.com/novalagung/dasarpemrogramanrust/raw/ebooks/dasarpemrogramanrust.pdf?v=1.0.0-alpha1.20221221)

## Source Code Praktek
## Source Code Praktik

Source code contoh program bisa diunduh di [github.com/novalagung/dasarpemrogramanrust-example](https://github.com/novalagung/dasarpemrogramanrust-example). Dianjurkan untuk sekedar tidak copy-paste dari source code dalam proses belajar, usahakan tulis sendiri kode program agar cepat terbiasa dengan bahasa Rust.

Expand Down