# Nakafa Learning Content

> For AI agents: use [llms.txt](https://nakafa.com/llms.txt) for the site index. Markdown versions are available by appending `.md` to content URLs or sending `Accept: text/markdown`.

URL: https://nakafa.com/id/materi/ai-ds/pemrograman-ai/numbers
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/material/lesson/ai-ds/ai-programming/numbers/id.mdx

Tipe angka Python seperti integer, float, dan kompleks, termasuk type checking, constructor, dan notasi ilmiah.

---

## Pengenalan Tipe Data Angka

Dalam pemrograman Python, angka adalah salah satu tipe data paling fundamental yang akan kamu gunakan setiap hari. Bayangkan angka sebagai bahan baku dasar dalam memasak. Tanpa bahan dasar yang baik, hidangan yang kamu buat tidak akan sempurna. Begitu juga dengan programming, tanpa memahami angka dengan baik, program yang kamu buat akan sulit dikembangkan.

Python sangat fleksibel dalam menangani angka. Ketika kamu mengetik angka di Python shell, Python langsung mengenali dan menampilkannya kembali. Mari kita lihat bagaimana Python bekerja dengan angka.

File: basic_numbers.py
```python
>>> 4
4

>>> 4.
4.0

>>> 0.30
0.3

>>> 0.0000999
9.99e-05

>>> 2. + 1j
(2+1j)
```

Dari contoh di atas, kamu bisa melihat Python secara otomatis mengenali berbagai format angka. Ketika kamu mengetik $$4$$, Python tahu itu adalah bilangan bulat. Ketika kamu mengetik $$4.$$ dengan titik di belakang, Python mengubahnya menjadi bilangan desimal $$4.0$$.

Visible text: Dari contoh di atas, kamu bisa melihat Python secara otomatis mengenali berbagai format angka. Ketika kamu mengetik , Python tahu itu adalah bilangan bulat. Ketika kamu mengetik dengan titik di belakang, Python mengubahnya menjadi bilangan desimal .

## Jenis Tipe Data Angka

Python memiliki tiga kategori utama untuk angka, masing-masing dengan karakteristik khusus yang perlu kamu pahami.

### Integer

Integer adalah bilangan bulat tanpa koma desimal. Ini termasuk bilangan positif, negatif, dan nol. Dalam kehidupan sehari-hari, kamu menggunakan integer untuk menghitung barang yang tidak bisa dipecah, seperti jumlah mahasiswa dalam satu ruangan atau nomor halaman buku.

**Contoh integer yang valid**

Component: MathContainer
Children:

```math
-2, -1, 0, 1, 2
```

```math
+1, +2, +3
```

**Fitur khusus integer di Python**

Python memungkinkan kamu menggunakan underscore untuk membuat angka besar lebih mudah dibaca. Misalnya, $$123\_456\_789$$ sebenarnya sama dengan $$123456789$$. Ini seperti menggunakan koma dalam penulisan angka dalam bahasa Indonesia.

Visible text: Python memungkinkan kamu menggunakan underscore untuk membuat angka besar lebih mudah dibaca. Misalnya, sebenarnya sama dengan . Ini seperti menggunakan koma dalam penulisan angka dalam bahasa Indonesia.

### Float

Float adalah bilangan yang memiliki koma desimal. Kamu akan sering menggunakan float untuk perhitungan yang membutuhkan presisi, seperti mengukur jarak, berat, atau persentase.

**Contoh float yang umum**

Component: MathContainer
Children:

```math
-1.2, 3.85, +7.01
```

```math
-.21, .01, 2., +5.
```

**Notasi ilmiah untuk angka sangat kecil atau besar**

Python menggunakan notasi ilmiah untuk angka yang sangat kecil atau sangat besar. Misalnya:

Component: MathContainer
Children:

```math
-3.2e5 = -3.2 \times 10^5
```

```math
2e-2 = 2 \times 10^{-2}
```

```math
+2.e4 = +2.0 \times 10^4
```

Notasi $$e$$ atau $$E$$ dalam Python sama seperti notasi ilmiah yang kamu pelajari di matematika. Angka $$1E1$$ sama dengan $$1 \times 10^1 = 10.0$$, dan $$3.1E-7$$ sama dengan $$3.1 \times 10^{-7}$$.

Visible text: Notasi atau dalam Python sama seperti notasi ilmiah yang kamu pelajari di matematika. Angka sama dengan , dan sama dengan .

### Complex

Bilangan kompleks terdiri dari bagian real dan imajiner. Dalam Python, huruf $$j$$ digunakan untuk menunjukkan bagian imajiner. Ini sering digunakan dalam matematika lanjut, sinyal processing, dan machine learning.

Visible text: Bilangan kompleks terdiri dari bagian real dan imajiner. Dalam Python, huruf digunakan untuk menunjukkan bagian imajiner. Ini sering digunakan dalam matematika lanjut, sinyal processing, dan machine learning.

**Contoh bilangan kompleks**

Component: MathContainer
Children:

```math
2 + 3j
```

```math
4.5 - 2.1j
```

Bayangkan bilangan kompleks seperti koordinat pada peta. Bagian real adalah posisi horizontal, dan bagian imajiner adalah posisi vertikal.

## Fungsi type untuk Memeriksa Tipe Data

Ketika kamu bekerja dengan data yang kompleks, kadang kamu perlu memastikan tipe data yang sedang kamu tangani. Python menyediakan fungsi `type()` untuk keperluan ini.

File: check_types.py
```python
>>> type(5)
<class 'int'>

>>> type(.1)
<class 'float'>

>>> type(2j)
<class 'complex'>
```

Fungsi `type()` berguna ketika kamu debugging program atau ingin memastikan data yang diterima sesuai ekspektasi. Ini seperti memeriksa label pada kemasan makanan untuk memastikan kamu mendapat produk yang tepat.

## Constructor untuk Membuat Objek Angka

Python menyediakan constructor untuk mengubah atau membuat objek angka dari tipe lain. Ini sangat berguna ketika kamu perlu mengonversi data dari satu format ke format lain.

### Constructor float

Constructor `float()` mengubah angka lain menjadi bilangan desimal.

File: float_constructor.py
```python
>>> float(2)
2.0

>>> float()
0.0
```

Ketika kamu memanggil `float(2)`, Python mengubah integer $$2$$ menjadi float $$2.0$$. Jika kamu memanggil `float()` tanpa argumen, Python memberikan nilai default $$0.0$$.

Visible text: Ketika kamu memanggil `float(2)`, Python mengubah integer menjadi float . Jika kamu memanggil `float()` tanpa argumen, Python memberikan nilai default .

### Constructor int

Constructor `int()` mengubah bilangan lain menjadi integer dengan cara membuang bagian desimalnya.

File: int_constructor.py
```python
>>> int(2.1)
2

>>> int(2.9)
2
```

Perhatikan bahwa `int()` tidak membulatkan angka, tetapi memotong bagian desimalnya. Baik `int(2.1)` maupun `int(2.9)` menghasilkan $$2$$. Ini seperti memotong ekor bilangan desimal, bukan membulatkannya.

Visible text: Perhatikan bahwa `int()` tidak membulatkan angka, tetapi memotong bagian desimalnya. Baik `int(2.1)` maupun `int(2.9)` menghasilkan . Ini seperti memotong ekor bilangan desimal, bukan membulatkannya.

### Constructor complex

Constructor `complex()` membuat bilangan kompleks dari bilangan real.

File: complex_constructor.py
```python
>>> complex(2.)
(2+0j)

>>> complex(0., 2.)
2j
```

`complex(2.)` membuat bilangan kompleks dengan bagian real $$2$$ dan bagian imajiner $$0$$. Sedangkan `complex(0., 2.)` membuat bilangan imajiner murni $$2j$$.

Visible text: `complex(2.)` membuat bilangan kompleks dengan bagian real dan bagian imajiner . Sedangkan `complex(0., 2.)` membuat bilangan imajiner murni .

## Tabel Ringkasan Tipe Data Angka

| Kategori | Tipe | Contoh | Keterangan |
|----------|------|--------|------------|
| **Integer** | `int` | $$-2, -1, 0, 1, 2$$ dan $$+1, +2, +3$$ | Bilangan bulat, bisa gunakan underscore untuk kejelasan |
| **Floating-Point** | `float` | $$-1.2, 3.85, +7.01$$ dan $$-.21, .01, 2.$$ | Bilangan desimal, mendukung notasi ilmiah dengan $$e$$ atau $$E$$ |
| **Complex** | `complex` | $$2 + 3j$$ dan $$4.5 - 2.1j$$ | Bilangan kompleks dengan $$j$$ sebagai unit imajiner |

Visible text: | Kategori | Tipe | Contoh | Keterangan |
|----------|------|--------|------------|
| **Integer** | `int` | dan | Bilangan bulat, bisa gunakan underscore untuk kejelasan |
| **Floating-Point** | `float` | dan | Bilangan desimal, mendukung notasi ilmiah dengan atau |
| **Complex** | `complex` | dan | Bilangan kompleks dengan sebagai unit imajiner |