# 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/matematika/fungsi-dan-pemodelannya/pemodelan-fungsi-tangga
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/material/lesson/mathematics/function-modeling/step-function-modeling/id.mdx

Pelajari pemodelan fungsi tangga dengan aplikasi nyata seperti diskon toko buku, kapasitas lift, dan fungsi lantai/langit-langit. Pelajari grafik sepotong.

---

## Pengertian Fungsi Tangga

Fungsi tangga (step function) adalah jenis fungsi matematika yang memiliki nilai konstan pada interval-interval tertentu dan mengalami lompatan mendadak di titik-titik tertentu. Grafik fungsi ini menyerupai tangga, dengan garis horizontal yang menghubungkan titik-titik diskontinuitas.

### Definisi Matematika

Fungsi tangga dapat didefinisikan sebagai fungsi sepotong-sepotong (piecewise function) yang berbentuk:

```math
f(x) = \begin{cases} c_1, & \text{jika } a_1 \leq x < b_1 \\ c_2, & \text{jika } a_2 \leq x < b_2 \\ c_3, & \text{jika } a_3 \leq x < b_3 \\ \vdots \\ c_n, & \text{jika } a_n \leq x < b_n \end{cases}
```

dengan $$c_1, c_2, c_3, \ldots, c_n$$ adalah konstanta-konstanta dan $$[a_i, b_i)$$ adalah interval-interval yang tidak saling tumpang tindih.

Visible text: dengan adalah konstanta-konstanta dan adalah interval-interval yang tidak saling tumpang tindih.

**Karakteristik fungsi tangga:**

- Nilai konstan pada setiap interval
- Diskontinuitas lompat di titik-titik batas interval
- Grafik berbentuk seperti tangga
- Termasuk dalam kategori fungsi sepotong-sepotong

## Jenis-jenis Fungsi Tangga

### Fungsi Lantai (Floor Function)

Fungsi lantai, dilambangkan dengan $$\lfloor x \rfloor$$, memberikan bilangan bulat terbesar yang kurang dari atau sama dengan $$x$$.

Visible text: Fungsi lantai, dilambangkan dengan , memberikan bilangan bulat terbesar yang kurang dari atau sama dengan .

```math
\lfloor x \rfloor = \max\{n \in \mathbb{Z} : n \leq x\}
```

Supaya lebih mudah dipahami, mari kita lihat contoh berikut:

Component: LineEquation
Props:
- title: Fungsi Lantai $$f(x) = \lfloor x \rfloor$$
  Visible text: Fungsi Lantai
- description: Grafik menunjukkan fungsi lantai yang memberikan nilai bilangan bulat
terbesar yang tidak melebihi x.
- data: [
{
points: Array.from({ length: 41 }, (_, i) => {
const x = (i - 20) * 0.25;
return { x, y: Math.floor(x), z: 0 };
}),
color: getColor("PURPLE"),
showPoints: false,
smooth: false,
labels: [{ text: "f(x) = ⌊x⌋", at: 30, offset: [1, -1, 0] }],
},
]
- cameraPosition: [0, 0, 12]
- showZAxis: false

**Tabel nilai fungsi lantai:**

| $$x$$ | $$-2.5$$ | $$-1.7$$ | $$-1$$ | $$-0.3$$ | $$0$$ | $$0.8$$ | $$1$$ | $$1.9$$ | $$2.4$$ |
| --------------------------------------- | ---- | ---- | --- | ---- | --- | --- | --- | --- | --- |
| $$\lfloor x \rfloor$$ | $$-3$$ | $$-2$$ | $$-1$$ | $$-1$$ | $$0$$ | $$0$$ | $$1$$ | $$1$$ | $$2$$ |

Visible text: | | | | | | | | | | |
| --------------------------------------- | ---- | ---- | --- | ---- | --- | --- | --- | --- | --- |
| | | | | | | | | | |

### Fungsi Langit-langit (Ceiling Function)

Fungsi langit-langit, dilambangkan dengan $$\lceil x \rceil$$, memberikan bilangan bulat terkecil yang lebih besar dari atau sama dengan $$x$$.

Visible text: Fungsi langit-langit, dilambangkan dengan , memberikan bilangan bulat terkecil yang lebih besar dari atau sama dengan .

```math
\lceil x \rceil = \min\{n \in \mathbb{Z} : n \geq x\}
```

Kita lihat contoh berikut:

Component: LineEquation
Props:
- title: Fungsi Langit-langit $$f(x) = \lceil x \rceil$$
  Visible text: Fungsi Langit-langit
- description: Grafik menunjukkan fungsi langit-langit yang memberikan nilai bilangan
bulat terkecil yang tidak kurang dari x.
- data: [
{
points: Array.from({ length: 41 }, (_, i) => {
const x = (i - 20) * 0.25;
return { x, y: Math.ceil(x), z: 0 };
}),
color: getColor("ORANGE"),
showPoints: false,
smooth: false,
labels: [{ text: "f(x) = ⌈x⌉", at: 30, offset: [1, -1, 0] }],
},
]
- cameraPosition: [0, 0, 12]
- showZAxis: false

### Fungsi Unit Step (Heaviside)

Fungsi unit step atau fungsi Heaviside, dilambangkan dengan $$H(x)$$ atau $$u(x)$$, didefinisikan sebagai:

Visible text: Fungsi unit step atau fungsi Heaviside, dilambangkan dengan atau , didefinisikan sebagai:

```math
H(x) = \begin{cases} 0, & \text{jika } x < 0 \\ 1, & \text{jika } x \geq 0 \end{cases}
```

Berbeda dengan fungsi lantai dan langit-langit, fungsi unit step memiliki nilai $$0$$ untuk $$x < 0$$ dan $$1$$ untuk $$x \geq 0$$.

Visible text: Berbeda dengan fungsi lantai dan langit-langit, fungsi unit step memiliki nilai untuk dan untuk .

Component: LineEquation
Props:
- title: Fungsi Unit Step $$H(x)$$
  Visible text: Fungsi Unit Step
- description: Grafik menunjukkan fungsi unit step yang melompat dari $$0$$ ke{" "}
$$1$$ di titik $$x = 0$$.
  Visible text: Grafik menunjukkan fungsi unit step yang melompat dari ke{" "}
 di titik .
- data: [
{
points: Array.from({ length: 21 }, (_, i) => {
const x = i - 10;
return { x, y: x >= 0 ? 1 : 0, z: 0 };
}),
color: getColor("TEAL"),
showPoints: false,
smooth: false,
labels: [{ text: "H(x)", at: 12, offset: [1, 0.5, 0] }],
},
]
- cameraPosition: [0, 0, 12]
- showZAxis: false

## Sifat-sifat Fungsi Tangga

**Sifat umum:**

1. Domain: $$\mathbb{R}$$ (biasanya)
2. Range: Himpunan nilai diskrit
3. Kontinuitas: diskontinuitas lompat di titik-titik tertentu

Visible text: 1. Domain: (biasanya)
2. Range: Himpunan nilai diskrit
3. Kontinuitas: diskontinuitas lompat di titik-titik tertentu

**Sifat khusus fungsi lantai dan langit-langit:**

1. $$\lfloor x \rfloor \leq x < \lfloor x \rfloor + 1$$
2. $$\lceil x \rceil - 1 < x \leq \lceil x \rceil$$
3. $$\lceil x \rceil = \lfloor x \rfloor + 1 \text{ jika} x \notin \mathbb{Z}$$
4. $$\lceil x \rceil = \lfloor x \rfloor \text{ jika} x \in \mathbb{Z}$$

Visible text: 1. 
2. 
3. 
4.

**Tabel perbandingan fungsi lantai dan langit-langit:**

| $$x$$ | $$\lfloor x \rfloor$$ | $$\lceil x \rceil$$ | Selisih |
| ---- | --------------------------------------- | ------------------------------------- | ------- |
| $$-2.3$$ | $$-3$$ | $$-2$$ | $$1$$ |
| $$-1$$ | $$-1$$ | $$-1$$ | $$0$$ |
| $$0.7$$ | $$0$$ | $$1$$ | $$1$$ |
| $$2$$ | $$2$$ | $$2$$ | $$0$$ |
| $$3.8$$ | $$3$$ | $$4$$ | $$1$$ |

Visible text: | | | | Selisih |
| ---- | --------------------------------------- | ------------------------------------- | ------- |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |

## Transformasi Fungsi Tangga

### Translasi Vertikal

Fungsi $$f(x) = \lfloor x \rfloor + k$$ menggeser grafik fungsi lantai ke atas (jika $$k > 0$$) atau ke bawah (jika $$k < 0$$).

Visible text: Fungsi menggeser grafik fungsi lantai ke atas (jika ) atau ke bawah (jika ).

Component: LineEquation
Props:
- title: Translasi Vertikal Fungsi Lantai
- description: Perbandingan $$f(x) = \lfloor x \rfloor$$ dengan{" "}
$$g(x) = \lfloor x \rfloor + 2$$ dan{" "}
$$h(x) = \lfloor x \rfloor - 1$$.
  Visible text: Perbandingan dengan{" "}
 dan{" "}
.
- data: [
{
points: Array.from({ length: 41 }, (_, i) => {
const x = (i - 20) * 0.25;
return { x, y: Math.floor(x), z: 0 };
}),
color: getColor("PURPLE"),
showPoints: false,
smooth: false,
labels: [{ text: "f(x) = ⌊x⌋", at: 30, offset: [0, 0.5, 0] }],
},
{
points: Array.from({ length: 41 }, (_, i) => {
const x = (i - 20) * 0.25;
return { x, y: Math.floor(x) + 2, z: 0 };
}),
color: getColor("CYAN"),
showPoints: false,
smooth: false,
labels: [{ text: "g(x) = ⌊x⌋ + 2", at: 30, offset: [0, 0.5, 0] }],
},
{
points: Array.from({ length: 41 }, (_, i) => {
const x = (i - 20) * 0.25;
return { x, y: Math.floor(x) - 1, z: 0 };
}),
color: getColor("ROSE"),
showPoints: false,
smooth: false,
labels: [{ text: "h(x) = ⌊x⌋ - 1", at: 30, offset: [2, 0.5, 0] }],
},
]
- cameraPosition: [0, 0, 12]
- showZAxis: false

### Translasi Horizontal

Fungsi $$f(x) = \lfloor x - h \rfloor$$ menggeser grafik ke kanan (jika $$h > 0$$) atau ke kiri (jika $$h < 0$$).

Visible text: Fungsi menggeser grafik ke kanan (jika ) atau ke kiri (jika ).

## Latihan

1. Tentukan nilai dari $$\lfloor 3.7 \rfloor + \lceil -2.3 \rceil$$

2. Sebuah toko buku memberikan diskon berdasarkan jumlah pembelian:

Visible text: 1. Tentukan nilai dari 

2. Sebuah toko buku memberikan diskon berdasarkan jumlah pembelian:

- $$1\text{-}5$$ buku: tidak ada diskon
- $$6\text{-}10$$ buku: diskon $$10\%$$
- $$11\text{-}20$$ buku: diskon $$15\%$$
- $$> 20$$ buku: diskon $$20\%$$

   Jika harga per buku $$\text{Rp}50.000$$, buatlah fungsi yang menyatakan total harga setelah diskon!

Visible text: - buku: tidak ada diskon
- buku: diskon 
- buku: diskon 
- buku: diskon 

 Jika harga per buku , buatlah fungsi yang menyatakan total harga setelah diskon!

3. Grafik fungsi $$f(x) = 2\lfloor x \rfloor - 1$$ untuk $$-3 \leq x \leq 3$$

4. Selesaikan persamaan $$\lfloor 2x + 1 \rfloor = 5$$

5. Sebuah lift dapat menampung maksimal $$8 \text{ orang}$$. Jika ada $$n \text{ orang}$$ yang ingin naik lift, berapa kali lift harus beroperasi?

Visible text: 3. Grafik fungsi untuk 

4. Selesaikan persamaan 

5. Sebuah lift dapat menampung maksimal . Jika ada yang ingin naik lift, berapa kali lift harus beroperasi?

### Kunci Jawaban

1. **Menghitung nilai fungsi lantai dan langit-langit:**

   <MathContainer>
     
   
   ```math
   \lfloor 3.7 \rfloor = 3 \text{ (bilangan bulat terbesar} \leq 3.7\text{)}
   ```

     
   
   ```math
   \lceil -2.3 \rceil = -2 \text{ (bilangan bulat terkecil} \geq -2.3\text{)}
   ```

     
   
   ```math
   \lfloor 3.7 \rfloor + \lceil -2.3 \rceil = 3 + (-2) = 1
   ```

   </MathContainer>

2. **Model fungsi diskon toko buku:**

   Misalkan $$n$$ adalah jumlah buku yang dibeli, maka total harga setelah diskon adalah:

   <MathContainer>
     
   
   ```math
   H(n) = \begin{cases} 50000n, & \text{jika } 1 \leq n \leq 5 \\ 50000n \times 0.9, & \text{jika } 6 \leq n \leq 10 \\ 50000n \times 0.85, & \text{jika } 11 \leq n \leq 20 \\ 50000n \times 0.8, & \text{jika } n > 20 \end{cases}
   ```

   </MathContainer>

3. **Grafik fungsi $$f(x) = 2\lfloor x \rfloor - 1$$:**

   Untuk setiap interval:

   - $$-3 \leq x < -2: f(x) = 2(-3) - 1 = -7$$
   - $$-2 \leq x < -1: f(x) = 2(-2) - 1 = -5$$
   - $$-1 \leq x < 0: f(x) = 2(-1) - 1 = -3$$
   - $$0 \leq x < 1: f(x) = 2(0) - 1 = -1$$
   - $$1 \leq x < 2: f(x) = 2(1) - 1 = 1$$
   - $$2 \leq x \leq 3: f(x) = 2(2) - 1 = 3$$

   Jika kita buat grafiknya, kira-kira akan terlihat seperti berikut:

   <LineEquation
     title={
       <>
         Grafik $$f(x) = 2\lfloor x \rfloor - 1$$
       </>
     }
     description={
       <>
         Grafik menunjukkan transformasi fungsi lantai dengan faktor skala $$2$$ dan
         translasi vertikal $$-1$$.
       </>
     }
     data={[
       {
         points: Array.from({ length: 25 }, (_, i) => {
           const x = (i - 12) * 0.25;
           return { x, y: 2 * Math.floor(x) - 1, z: 0 };
         }),
         color: getColor("VIOLET"),
         showPoints: false,
         smooth: false,
         labels: [{ text: "f(x) = 2⌊x⌋ - 1", at: 18, offset: [1, 1, 0] }],
       },
     ]}
     cameraPosition={[0, 0, 10]}
     showZAxis={false}
   />

4. **Menyelesaikan persamaan $$\lfloor 2x + 1 \rfloor = 5$$:**

   <MathContainer>
     
   
   ```math
   5 \leq 2x + 1 < 6
   ```

     
   
   ```math
   4 \leq 2x < 5
   ```

     
   
   ```math
   2 \leq x < 2.5
   ```

   </MathContainer>

   Jadi himpunan penyelesaiannya adalah $$x \in [2, 2.5)$$.

5. **Menghitung jumlah operasi lift:**

   Jika ada $$n \text{ orang}$$ dan lift dapat menampung maksimal $$8 \text{ orang}$$, maka jumlah operasi lift yang diperlukan adalah:

   
   
   ```math
   f(n) = \lceil \frac{n}{8} \rceil
   ```

   Fungsi langit-langit digunakan karena jika ada sisa orang (kurang dari $$8$$), tetap diperlukan satu operasi lift tambahan.

Visible text: 1. **Menghitung nilai fungsi lantai dan langit-langit:**

 <MathContainer>
 
 

 
 

 
 

 </MathContainer>

2. **Model fungsi diskon toko buku:**

 Misalkan adalah jumlah buku yang dibeli, maka total harga setelah diskon adalah:

 <MathContainer>
 
 

 </MathContainer>

3. **Grafik fungsi :**

 Untuk setiap interval:

 - 
 - 
 - 
 - 
 - 
 - 

 Jika kita buat grafiknya, kira-kira akan terlihat seperti berikut:

 <LineEquation
 title={
 <>
 Grafik 
 </>
 }
 description={
 <>
 Grafik menunjukkan transformasi fungsi lantai dengan faktor skala dan
 translasi vertikal .
 </>
 }
 data={[
 {
 points: Array.from({ length: 25 }, (_, i) => {
 const x = (i - 12) * 0.25;
 return { x, y: 2 * Math.floor(x) - 1, z: 0 };
 }),
 color: getColor("VIOLET"),
 showPoints: false,
 smooth: false,
 labels: [{ text: "f(x) = 2⌊x⌋ - 1", at: 18, offset: [1, 1, 0] }],
 },
 ]}
 cameraPosition={[0, 0, 10]}
 showZAxis={false}
 />

4. **Menyelesaikan persamaan :**

 <MathContainer>
 
 

 
 

 
 

 </MathContainer>

 Jadi himpunan penyelesaiannya adalah .

5. **Menghitung jumlah operasi lift:**

 Jika ada dan lift dapat menampung maksimal , maka jumlah operasi lift yang diperlukan adalah:

 
 

 Fungsi langit-langit digunakan karena jika ada sisa orang (kurang dari ), tetap diperlukan satu operasi lift tambahan.