diff --git a/2-js-basics/1-data-types/translations/README.id.md b/2-js-basics/1-data-types/translations/README.id.md index 283bc44b..a3381d95 100644 --- a/2-js-basics/1-data-types/translations/README.id.md +++ b/2-js-basics/1-data-types/translations/README.id.md @@ -1,9 +1,11 @@ # JavaScript Basics: Data Types ![Dasar-dasar JavaScript - Tipe data](../images/webdev101-js-datatypes.png) + > Catatan sketsa oleh [Tomomi Imura](https://twitter.com/girlie_mac) ## Kuis Pra-Kuliah + [Kuis pra-Kuliah](.github/pre-lecture-quiz.id.md) Pelajaran ini mencakup dasar-dasar JavaScript, bahasa yang menyediakan interaktivitas di web. @@ -18,38 +20,39 @@ Variabel menyimpan nilai yang dapat digunakan dan diubah di seluruh kode Anda. Membuat dan **mendeklarasikan** variabel memiliki sintaks berikut **[kata kunci] [nama]**. Itu terdiri dari dua bagian: -- **Kata kunci (Keywords)**. Kata kunci bisa `let` atau `var`. +- **Kata kunci (Keywords)**. Kata kunci bisa `let` atau `var`. + + > Catatan, Mereka kata kunci `let` diperkenalkan di ES6 dan memberi variabel Anda apa yang disebut _block scope_. Anda disarankan untuk menggunakan `let` di atas `var`. Kita akan membahas cakupan blok lebih mendalam di bagian mendatang. - > Catatan, Mereka kata kunci `let` diperkenalkan di ES6 dan memberi variabel Anda apa yang disebut _block scope_. Anda disarankan untuk menggunakan `let` di atas `var`. Kami akan membahas cakupan blok lebih mendalam di bagian mendatang. - **Nama variabel**, ini adalah nama yang Anda pilih sendiri. ### Tugas - bekerja dengan variabel 1. **Deklarasikan variabel**. Mari kita deklarasikan variabel menggunakan kata kunci `let`: - ```javascript - let variabelSaya; - ``` + ```javascript + let variabelSaya; + ``` `variabelSaya` sekarang telah dideklarasikan menggunakan kata kunci `let`. Saat ini tidak memiliki nilai. 1. **Tetapkan nilai**. Simpan nilai dalam variabel dengan operator `=`, diikuti dengan nilai yang diharapkan. - ```javascript - variabelSaya = 123; - ``` + ```javascript + variabelSaya = 123; + ``` - > Catatan: penggunaan `=` dalam pelajaran ini berarti kita menggunakan "operator penugasan (assignment operator)", yang digunakan untuk menetapkan nilai ke variabel. Itu *tidak menunjukkan kesetaraan*. + > Catatan: penggunaan `=` dalam pelajaran ini berarti kita menggunakan "operator penugasan (assignment operator)", yang digunakan untuk menetapkan nilai ke variabel. Itu _tidak menunjukkan kesetaraan_. - `variabelSaya` sekarang telah *diinisialisasi (initialized)* dengan nilai 123. + `variabelSaya` sekarang telah _diinisialisasi (initialized)_ dengan nilai 123. 1. **Refaktor**. Ganti kode Anda dengan pernyataan berikut. - ```javascript - let variabelSaya = 123; - ``` + ```javascript + let variabelSaya = 123; + ``` - Di atas disebut inisialisasi _explisit_ saat variabel dideklarasikan dan diberi nilai pada saat yang sama. + Di atas disebut inisialisasi _explisit_ saat variabel dideklarasikan dan diberi nilai pada saat yang sama. 1. **Ubah nilai variabel**. Ubah nilai variabel dengan cara berikut: @@ -73,30 +76,31 @@ Konstanta mirip dengan variabel, dengan dua pengecualian: - **Harus punya nilai**. Konstanta harus diinisialisasi, atau kesalahan akan terjadi saat menjalankan kode. - **Referensi tidak dapat diubah**. Referensi konstanta tidak dapat diubah setelah diinisialisasi, atau kesalahan akan terjadi saat menjalankan kode. Mari kita lihat dua contoh: - - **Nilai sederhana**. Berikut ini TIDAK diperbolehkan: - - ```javascript - const PI = 3; - PI = 4; // tidak diperbolehkan - ``` - - - **Referensi objek dilindungi**. Berikut ini TIDAK diperbolehkan. - - ```javascript - const obj = { a: 3 }; - obj = { b: 5 } // tidak diperbolehkan - ``` - - - **Nilai objek tidak dilindungi**. Berikut diperbolehkan: - - ```javascript - const obj = { a: 3 }; - obj.a = 5; // diperbolehkan - ``` - - Di atas Anda mengubah nilai objek tetapi bukan referensi itu sendiri, yang membuatnya diizinkan. - - > Catatan, `const` berarti referensi dilindungi dari penugasan ulang. Nilainya tidak _immutable_ dan bisa berubah, terutama jika itu adalah konstruksi kompleks seperti sebuah objek. + + - **Nilai sederhana**. Berikut ini TIDAK diperbolehkan: + + ```javascript + const PI = 3; + PI = 4; // tidak diperbolehkan + ``` + + - **Referensi objek dilindungi**. Berikut ini TIDAK diperbolehkan. + + ```javascript + const obj = { a: 3 }; + obj = { b: 5 }; // tidak diperbolehkan + ``` + + - **Nilai objek tidak dilindungi**. Berikut diperbolehkan: + + ```javascript + const obj = { a: 3 }; + obj.a = 5; // diperbolehkan + ``` + + Di atas Anda mengubah nilai objek tetapi bukan referensi itu sendiri, yang membuatnya diizinkan. + + > Catatan, `const` berarti referensi dilindungi dari penugasan ulang. Nilainya tidak _immutable_ dan bisa berubah, terutama jika itu adalah konstruksi kompleks seperti sebuah objek. ## Tipe Data @@ -117,7 +121,7 @@ Variabel dapat menyimpan semua jenis angka, termasuk desimal atau angka negatif. Ada beberapa jenis operator untuk digunakan saat menjalankan fungsi aritmatika, dan beberapa di antaranya tercantum di sini: | Simbol | Deskripsi | Contoh | -|--------|-----------------------------------------------------|--------------------------------------------| +| ------ | --------------------------------------------------- | ------------------------------------------ | | `+` | **Penjumlahan**: Menghitung jumlah dari dua angka | `1 + 2 //hasil yang diharapkan adalah 3` | | `-` | **Pengurangan**: Menghitung selisih dua angka | `1 - 2 //hasil yang diharapkan adalah -1` | | `*` | **Perkalian**: Menghitung hasil kali dua angka | `1 * 2 //hasil yang diharapkan adalah 2` | @@ -149,10 +153,9 @@ let myString2 = "World"; myString1 + myString2 + "!"; //HelloWorld! myString1 + " " + myString2 + "!"; //Hello World! myString1 + ", " + myString2 + "!"; //Hello, World! - ``` -✅ Mengapa `1 + 1 = 2` di JavaScript, tetapi` '1' + '1' = 11? `Pikirkanlah. Bagaimana dengan `'1' + 1`? +✅ Mengapa `1 + 1 = 2` di JavaScript, tetapi`'1' + '1' = 11?`Pikirkanlah. Bagaimana dengan `'1' + 1`? **Template literals** adalah cara lain untuk memformat string, kecuali sebagai pengganti tanda kutip, digunakan backtick. Apa pun yang bukan teks biasa harus ditempatkan di dalam placeholder `${ }`. Ini termasuk variabel apa pun yang mungkin berupa string. @@ -161,7 +164,7 @@ let myString1 = "Hello"; let myString2 = "World"; `${myString1} ${myString2}!` //Hello World! -`${myString1}, ${myString2}!` //Hello World! +`${myString1}, ${myString2}!`; //Hello World! ``` Anda dapat mencapai tujuan pemformatan Anda dengan salah satu metode, tetapi template literal akan menghormati spasi dan jeda baris apa pun. @@ -184,6 +187,7 @@ Boolean hanya dapat berupa dua nilai: `true` atau `false`. Boolean dapat membant JavaScript terkenal karena cara yang mengejutkan dalam menangani tipe data pada kesempatan tertentu. Lakukan sedikit riset tentang 'kejutaan' ini. Misalnya: sensitivitas kasus bisa menggigit! Coba ini di konsol Anda: `let usia = 1; let Usia = 2; usia == Usia` (meghasilkan `false` - kenapa?). Kejutan lain apa yang bisa kamu temukan? ## Kuis Pasca-Kuliah + [Kuis pasca-kuliah](.github/post-lecture-quiz.id.md) ## Review & Belajar Mandiri