Skip to content

Commit 2bf21c1

Browse files
committed
update template
1 parent 93303d9 commit 2bf21c1

5 files changed

Lines changed: 603 additions & 0 deletions

File tree

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
Di JavaScript, tipe data dibagi menjadi dua kategori utama: **tipe data primitif** dan **tipe data bentukan (non-primitif)**. Berikut penjelasan lengkapnya:
2+
3+
---
4+
5+
## **Tipe Data Primitif**
6+
Tipe data primitif adalah tipe data yang paling dasar dan tidak dapat diubah (immutable). Mereka disimpan secara langsung di memori dan memiliki nilai yang tetap. Ada 7 tipe data primitif di JavaScript:
7+
8+
### 1. **`number`**
9+
- Menyimpan angka, baik integer maupun floating-point.
10+
- Contoh:
11+
```javascript
12+
let age = 25;
13+
let price = 99.99;
14+
```
15+
16+
### 2. **`string`**
17+
- Menyimpan teks atau karakter.
18+
- Contoh:
19+
```javascript
20+
let name = "John";
21+
let greeting = 'Hello, World!';
22+
```
23+
24+
### 3. **`boolean`**
25+
- Menyimpan nilai `true` atau `false`.
26+
- Contoh:
27+
```javascript
28+
let isActive = true;
29+
let isLoggedIn = false;
30+
```
31+
32+
### 4. **`undefined`**
33+
- Menunjukkan bahwa variabel telah dideklarasikan tetapi belum diberi nilai.
34+
- Contoh:
35+
```javascript
36+
let x;
37+
console.log(x); // Output: undefined
38+
```
39+
40+
### 5. **`null`**
41+
- Menunjukkan ketiadaan nilai yang disengaja.
42+
- Contoh:
43+
```javascript
44+
let y = null;
45+
console.log(y); // Output: null
46+
```
47+
48+
### 6. **`bigint`**
49+
- Menyimpan bilangan bulat besar yang tidak dapat ditangani oleh tipe `number`.
50+
- Contoh:
51+
```javascript
52+
let bigNumber = 1234567890123456789012345678901234567890n;
53+
```
54+
55+
### 7. **`symbol`**
56+
- Menyimpan nilai unik dan tidak dapat diubah, sering digunakan sebagai identifier untuk properti objek.
57+
- Contoh:
58+
```javascript
59+
let id = Symbol("id");
60+
```
61+
62+
---
63+
64+
## **Tipe Data Bentukan (Non-Primitif)**
65+
Tipe data bentukan adalah tipe data yang dapat menyimpan koleksi nilai atau kompleks data. Mereka bersifat mutable (dapat diubah) dan disimpan sebagai referensi di memori. Ada 3 tipe data bentukan utama di JavaScript:
66+
67+
### 1. **`object`**
68+
- Menyimpan koleksi properti (key-value pairs).
69+
- Contoh:
70+
```javascript
71+
let person = {
72+
name: "John",
73+
age: 30,
74+
isStudent: false
75+
};
76+
```
77+
78+
### 2. **`array`**
79+
- Menyimpan koleksi nilai dalam bentuk list.
80+
- Contoh:
81+
```javascript
82+
let fruits = ["Apple", "Banana", "Cherry"];
83+
```
84+
85+
### 3. **`function`**
86+
- Menyimpan blok kode yang dapat dipanggil.
87+
- Contoh:
88+
```javascript
89+
function greet(name) {
90+
return `Hello, ${name}!`;
91+
}
92+
```
93+
94+
---
95+
96+
## **Perbedaan Tipe Data Primitif dan Bentukan**
97+
98+
| **Karakteristik** | **Tipe Data Primitif** | **Tipe Data Bentukan** |
99+
|--------------------------|-----------------------------------------|---------------------------------------|
100+
| **Mutabilitas** | Immutable (tidak bisa diubah) | Mutable (bisa diubah) |
101+
| **Penyimpanan** | Disimpan sebagai nilai (by value) | Disimpan sebagai referensi (by reference) |
102+
| **Contoh** | `number`, `string`, `boolean`, dll. | `object`, `array`, `function` |
103+
| **Perbandingan** | Dibandingkan berdasarkan nilai | Dibandingkan berdasarkan referensi |
104+
105+
---
106+
107+
### Contoh Perbandingan Penyimpanan
108+
109+
#### Tipe Data Primitif (By Value)
110+
```javascript
111+
let a = 10;
112+
let b = a; // Nilai a disalin ke b
113+
b = 20;
114+
console.log(a); // Output: 10 (nilai a tidak berubah)
115+
```
116+
117+
#### Tipe Data Bentukan (By Reference)
118+
```javascript
119+
let obj1 = { name: "John" };
120+
let obj2 = obj1; // obj2 merujuk ke obj1
121+
obj2.name = "Jane";
122+
console.log(obj1.name); // Output: "Jane" (nilai obj1 berubah)
123+
```
124+
125+
---
126+
127+
## **Kesimpulan**
128+
- **Tipe data primitif** adalah tipe data dasar yang tidak dapat diubah dan disimpan sebagai nilai.
129+
- **Tipe data bentukan** adalah tipe data kompleks yang dapat diubah dan disimpan sebagai referensi.
130+
- Pemahaman tentang kedua jenis tipe data ini penting untuk menghindari kesalahan dalam manipulasi data di JavaScript.
131+
132+
Jika Anda memiliki pertanyaan lebih lanjut atau butuh contoh tambahan, beri tahu saya! 😊
Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
JavaScript menyediakan berbagai metode bawaan untuk bekerja dengan tipe data **Number**. Berikut adalah beberapa metode dan properti penting yang sering digunakan beserta penjelasan dan contoh penggunaannya:
2+
3+
---
4+
5+
### 1. **`Number.isFinite(value)`**
6+
- **Fungsi**: Memeriksa apakah nilai adalah angka terbatas (finite), bukan `Infinity`, `-Infinity`, atau `NaN`.
7+
- **Contoh**:
8+
```javascript
9+
console.log(Number.isFinite(123)); // Output: true
10+
console.log(Number.isFinite(Infinity)); // Output: false
11+
```
12+
13+
---
14+
15+
### 2. **`Number.isInteger(value)`**
16+
- **Fungsi**: Memeriksa apakah nilai adalah bilangan bulat (integer).
17+
- **Contoh**:
18+
```javascript
19+
console.log(Number.isInteger(123)); // Output: true
20+
console.log(Number.isInteger(123.45)); // Output: false
21+
```
22+
23+
---
24+
25+
### 3. **`Number.isNaN(value)`**
26+
- **Fungsi**: Memeriksa apakah nilai adalah `NaN` (Not-a-Number).
27+
- **Contoh**:
28+
```javascript
29+
console.log(Number.isNaN(NaN)); // Output: true
30+
console.log(Number.isNaN(123)); // Output: false
31+
```
32+
33+
---
34+
35+
### 4. **`Number.parseFloat(string)`**
36+
- **Fungsi**: Mengubah string menjadi angka desimal (float).
37+
- **Contoh**:
38+
```javascript
39+
console.log(Number.parseFloat("123.45")); // Output: 123.45
40+
console.log(Number.parseFloat("123.45abc")); // Output: 123.45 (mengabaikan karakter non-angka)
41+
```
42+
43+
---
44+
45+
### 5. **`Number.parseInt(string, radix)`**
46+
- **Fungsi**: Mengubah string menjadi bilangan bulat (integer) dengan basis (radix) tertentu.
47+
- **Contoh**:
48+
```javascript
49+
console.log(Number.parseInt("123")); // Output: 123
50+
console.log(Number.parseInt("1010", 2)); // Output: 10 (konversi dari biner ke desimal)
51+
```
52+
53+
---
54+
55+
### 6. **`Number.prototype.toFixed(digits)`**
56+
- **Fungsi**: Mengembalikan string yang mewakili angka dengan jumlah digit desimal tertentu.
57+
- **Contoh**:
58+
```javascript
59+
const num = 123.456;
60+
console.log(num.toFixed(2)); // Output: "123.46"
61+
```
62+
63+
---
64+
65+
### 7. **`Number.prototype.toPrecision(precision)`**
66+
- **Fungsi**: Mengembalikan string yang mewakili angka dengan jumlah digit tertentu (presisi).
67+
- **Contoh**:
68+
```javascript
69+
const num = 123.456;
70+
console.log(num.toPrecision(5)); // Output: "123.46"
71+
```
72+
73+
---
74+
75+
### 8. **`Number.prototype.toString(radix)`**
76+
- **Fungsi**: Mengubah angka menjadi string dengan basis (radix) tertentu.
77+
- **Contoh**:
78+
```javascript
79+
const num = 255;
80+
console.log(num.toString(16)); // Output: "ff" (konversi ke heksadesimal)
81+
```
82+
83+
---
84+
85+
### 9. **`Number.prototype.toExponential(fractionDigits)`**
86+
- **Fungsi**: Mengembalikan string yang mewakili angka dalam notasi eksponensial.
87+
- **Contoh**:
88+
```javascript
89+
const num = 12345;
90+
console.log(num.toExponential(2)); // Output: "1.23e+4"
91+
```
92+
93+
---
94+
95+
### 10. **`Number.isSafeInteger(value)`**
96+
- **Fungsi**: Memeriksa apakah nilai adalah bilangan bulat yang aman (safe integer), yaitu antara `-(2^53 - 1)` dan `2^53 - 1`.
97+
- **Contoh**:
98+
```javascript
99+
console.log(Number.isSafeInteger(9007199254740991)); // Output: true
100+
console.log(Number.isSafeInteger(9007199254740992)); // Output: false
101+
```
102+
103+
---
104+
105+
### 11. **`Number.MAX_VALUE`**
106+
- **Fungsi**: Mengembalikan nilai angka terbesar yang dapat direpresentasikan di JavaScript.
107+
- **Contoh**:
108+
```javascript
109+
console.log(Number.MAX_VALUE); // Output: 1.7976931348623157e+308
110+
```
111+
112+
---
113+
114+
### 12. **`Number.MIN_VALUE`**
115+
- **Fungsi**: Mengembalikan nilai angka positif terkecil yang dapat direpresentasikan di JavaScript.
116+
- **Contoh**:
117+
```javascript
118+
console.log(Number.MIN_VALUE); // Output: 5e-324
119+
```
120+
121+
---
122+
123+
### 13. **`Number.MAX_SAFE_INTEGER`**
124+
- **Fungsi**: Mengembalikan bilangan bulat terbesar yang aman (`2^53 - 1`).
125+
- **Contoh**:
126+
```javascript
127+
console.log(Number.MAX_SAFE_INTEGER); // Output: 9007199254740991
128+
```
129+
130+
---
131+
132+
### 14. **`Number.MIN_SAFE_INTEGER`**
133+
- **Fungsi**: Mengembalikan bilangan bulat terkecil yang aman (`-(2^53 - 1)`).
134+
- **Contoh**:
135+
```javascript
136+
console.log(Number.MIN_SAFE_INTEGER); // Output: -9007199254740991
137+
```
138+
139+
---
140+
141+
### 15. **`Number.EPSILON`**
142+
- **Fungsi**: Mengembalikan perbedaan terkecil antara dua angka yang dapat direpresentasikan.
143+
- **Contoh**:
144+
```javascript
145+
console.log(Number.EPSILON); // Output: 2.220446049250313e-16
146+
```
147+
148+
---
149+
150+
### 16. **`Number.NaN`**
151+
- **Fungsi**: Merepresentasikan nilai `NaN` (Not-a-Number).
152+
- **Contoh**:
153+
```javascript
154+
console.log(Number.NaN); // Output: NaN
155+
```
156+
157+
---
158+
159+
### 17. **`Number.POSITIVE_INFINITY`**
160+
- **Fungsi**: Merepresentasikan nilai tak terhingga positif (`Infinity`).
161+
- **Contoh**:
162+
```javascript
163+
console.log(Number.POSITIVE_INFINITY); // Output: Infinity
164+
```
165+
166+
---
167+
168+
### 18. **`Number.NEGATIVE_INFINITY`**
169+
- **Fungsi**: Merepresentasikan nilai tak terhingga negatif (`-Infinity`).
170+
- **Contoh**:
171+
```javascript
172+
console.log(Number.NEGATIVE_INFINITY); // Output: -Infinity
173+
```
174+
175+
---
176+
177+
### 19. **`Math` Object (Metode Terkait Angka)**
178+
Meskipun bukan bagian langsung dari `Number`, objek `Math` menyediakan banyak metode untuk operasi matematika:
179+
- **`Math.round(x)`**: Membulatkan angka ke bilangan bulat terdekat.
180+
- **`Math.floor(x)`**: Membulatkan angka ke bawah.
181+
- **`Math.ceil(x)`**: Membulatkan angka ke atas.
182+
- **`Math.random()`**: Menghasilkan angka acak antara 0 dan 1.
183+
- **`Math.max(x, y, ...)`**: Mengembalikan nilai terbesar dari beberapa angka.
184+
- **`Math.min(x, y, ...)`**: Mengembalikan nilai terkecil dari beberapa angka.
185+
186+
**Contoh**:
187+
```javascript
188+
console.log(Math.round(3.7)); // Output: 4
189+
console.log(Math.floor(3.7)); // Output: 3
190+
console.log(Math.ceil(3.2)); // Output: 4
191+
console.log(Math.random()); // Output: Angka acak antara 0 dan 1
192+
```
193+
194+
---
195+
196+
### Kesimpulan
197+
Metode dan properti di atas sangat berguna untuk bekerja dengan angka di JavaScript. Jika Anda memiliki pertanyaan lebih lanjut atau butuh contoh tambahan, beri tahu saya! 😊

0 commit comments

Comments
 (0)