You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pada kode di atas, ada satu buah mutable string bernama `fact_one`. String tersebut dipinjam menggunakan `&mut` (yang berarti adalah mutable borrow) sebagai argumen pemanggilan fungsi `change_value` yang isinya kurang lebih adalah perubahan isi data string pada variabel pointer.
169
169
170
-
Kemudian, ada operasi peminjaman lagi (yang juga mutable borrow) dari variabel `fact_one` ke `fact_one`.
170
+
Kemudian, ada operasi peminjaman lagi (yang juga mutable borrow) dari variabel `fact_one` ke `fact_two`.
171
171
172
172
Ketika program di-run, hasilnya sukses. Kok bisa? padahal jelas di aturan tertulis bahwa dalam waktu yang sama tidak boleh ada lebih dari satu mutable borrow.
@@ -283,7 +277,7 @@ Sedangkan fungsi `do_something` sendiri juga menampilkan pesan string lainnya, y
283
277
284
278
### ◉ Praktik ke-2
285
279
286
-
Pada contoh di atas, closure yang dikembalikan fungsi memiliki skema sangat sederhana, tanpa parameter dan argument. Mari coba praktik dengan contoh yang lebih kompleks.
280
+
Pada contoh sebelumnya, closure yang dikembalikan fungsi memiliki skema sangat sederhana, tanpa parameter dan argument. Mari coba praktik dengan contoh yang lebih kompleks.
Copy file name to clipboardExpand all lines: docs/basic/hello-rust.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,9 +47,9 @@ Bisa dilihat pada gambar di atas pesan `Hello, world!` yang ada dalam file `main
47
47
48
48
Command `cargo run` digunakan untuk menjalankan aplikasi saat proses development. Perlu diingat bahwa Rust merupakan bahasa pemrograman yang kategorinya `compiled language` yang artinya kode program akan dikompilasi terlebih dahulu untuk menghasilkan file binary, dan kemudian file binary itulah yang dijalankan.
49
49
50
-
Command `cargo run` merupakan shorthand untuk memperpendek proses kompilasi dan eksekusi. Dalam command tersebut, kode program akan di-compile terlebih dahulu, dan hasilnya adalah file executable binary bernama`hello_rust.exe` (karena penulis menggunakan windows). File binary tersebut berada dalam project dalam path `hello_rust/target/debug/hello_rust.exe`. Setelah proses kompilasi, file binary tersebut dijalankan, dan hasilnya adalah pesan `Hello, world!` yang muncul di layar
50
+
Command `cargo run` merupakan shorthand untuk memperpendek proses kompilasi dan eksekusi. Dalam command tersebut, kode program akan di-compile terlebih dahulu, dan hasilnya adalah file executable binary (misalnya`hello_rust` di Linux/Mac, atau `hello_rust.exe` di Windows). File binary tersebut berada dalam project dalam path `hello_rust/target/debug/`. Setelah proses kompilasi, file binary tersebut dijalankan, dan hasilnya adalah pesan `Hello, world!` yang muncul di layar
51
51
52
-
> Untuk pengguna windows, file binary akan ber-ekstensi `.exe` seperti pada contoh yaitu `hello_rust.exe`. Sedangkan untuk non-windows, file tidak mempunyai ekstensi, `hello_rust`.
52
+
> Untuk pengguna Windows, file binary akan ber-ekstensi `.exe` seperti pada contoh yaitu `hello_rust.exe`. Sedangkan untuk non-Windows, file tidak mempunyai ekstensi, `hello_rust`.
53
53
54
54
Command `cargo run` akan sering kita pakai dalam proses development.
Copy file name to clipboardExpand all lines: docs/basic/konstanta.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,18 +11,18 @@ Chapter ini membahas tentang konstanta di bahasa Rust.
11
11
Berbeda dengan variabel yang dideklarasikan menggunakan keyword `let`, konstanta dibuat dengan keyword `const`. Contoh:
12
12
13
13
```rust
14
-
constLABEL:&str="nilai pi adalah:";
15
-
constPI:f32=22.0/7.0;
16
-
println!("{} {}", LABEL, PI);
14
+
constLABEL:&str="nilai hasil pembagian adalah:";
15
+
constRESULT:f32=22.0/7.0;
16
+
println!("{} {}", LABEL, RESULT);
17
17
```
18
18
19
-
Bisa dilihat di kode di atas, konstanta `LABEL` merupakan string dengan nilai `"nilai pi adalah:"`, sedang `PI` memiliki nilai bertipe float hasil dari operasi `22.0/7.0`.
19
+
Bisa dilihat di kode di atas, konstanta `LABEL` merupakan string dengan nilai `"nilai hasil pembagian adalah:"`, sedang `RESULT` memiliki nilai bertipe float hasil dari operasi `22.0 / 7.0`.
20
20
21
21
Dalam pendefinisian konstanta, tipe data harus dituliskan secara eksplisit. Deklarasi seperti `const DATA = "x"` akan menghasilkan error saat proses kompilasi. Dan aturan ini berlaku untuk semua tipe data yang dipergunakan untuk pendefinisian konstanta.
22
22
23
-
Nilai sebuah konstanta bisa dari konstanta lain atau dari ekspresi konstan, misalnya operasi aritmatika `22.0/7.0`.
23
+
Nilai sebuah konstanta bisa dari konstanta lain atau dari ekspresi konstan, misalnya operasi aritmatika `22.0 / 7.0`.
24
24
25
-
Di sini penulis tidak menggunakan `22/7` karena hasilnya akan bertipe integer. Di Rust operasi aritmatika harus dilakukan dengan tipe data yang sama, dan hasilnya akan memiliki tipe data sesuai operand. Lebih jelasnya akan kita bahas pada chapter selanjutnya.
25
+
Di sini penulis tidak menggunakan `22 / 7` karena hasilnya akan bertipe integer. Di Rust operasi aritmatika harus dilakukan dengan tipe data yang sama, dan hasilnya akan memiliki tipe data sesuai operand. Lebih jelasnya akan kita bahas pada chapter selanjutnya.
26
26
27
27
> Keyword `mut` tidak bisa diterapkan pada konstanta. Jika dipaksa akan menghasilkan error.
Rust mendukung karakter standar whitespace seperti `\t` yang kegunaannya adalah untuk horizontal tab. Contoh penerapannya seperti pada kode di atas, tulis saja `\t` dalam string literal, hasilnya bisa dilihat saat di-print.
140
+
Rust mendukung karakter standar whitespace seperti `\t` yang kegunaannya adalah untuk horizontal tab. Contoh penerapannya, gunakan `\t` dalam string literal:
Kita telah mempelajari tipe data [Array](/basic/array) dan [Vector](/basic/vector), serta sudah beberapa kali menggunakan tipe data `String`. Ketiga tipe data tersebut bisa menghasilkan slice via operasi borrowing.
8
8
9
-
> Ciri khas dari tipe data yang termasuk dalam kategori slice adalah jika diakses reference-nya menghasilkan data bertipe `&[T]` yang mana `T` adalah tipe data elemen.
9
+
> Ciri khas dari tipe yang bisa menghasilkan slice adalah jika diakses reference-nya menghasilkan data bertipe `&[T]` yang mana `T` adalah tipe data elemen. Contohnya array, vector, dan `String`.
10
10
11
11
Pada chapter ini, kita akan bahas lebih dalam lagi tentang apa itu slice terutama bagian memory management-nya.
> Angka di atas adalah representasi desimal dari `f32::MIN` dan `f32::MAX`. Nilai aslinya kira-kira `-3.40282347e+38` dan `3.40282347e+38`, namun saat di-print menggunakan `{}` hasilnya terpotong.
138
+
137
139
Catatan saja, variabel yang dideklarasikan dengan predefined value numerik yang ada titiknya (`3.10`) adalah floating point, by default tipe datanya adalah `f64`.
0 commit comments