# Nakafa Framework: LLM

URL: /id/subject/high-school/11/mathematics/function-modeling/trigonometric-function-graph
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/high-school/11/mathematics/function-modeling/trigonometric-function-graph/id.mdx

Output docs content for large language models.

---

import { getColor } from "@repo/design-system/lib/color";
import { LineEquation } from "@repo/design-system/components/contents/line-equation";

export const metadata = {
  title: "Grafik Fungsi Trigonometri",
  description: "Pelajari grafik fungsi trigonometri dengan visualisasi interaktif. Pahami grafik sin, cos, tan, amplitudo, periode, transformasi & konversi sudut.",
  authors: [{ name: "Nabil Akbarazzima Fatih" }],
  date: "05/18/2025",
  subject: "Fungsi dan Pemodelannya",
};

## Memahami Grafik Fungsi Trigonometri

Pernahkah kalian melihat gelombang air laut? Gerakan naik-turunnya membentuk pola yang berulang secara teratur. Ternyata, pola ini dapat dimodelkan dengan fungsi trigonometri.

Sebelum mempelajari grafik fungsi trigonometri, kita perlu memahami ukuran sudut dalam radian. Dalam kehidupan sehari-hari, kita terbiasa menggunakan derajat. Namun dalam matematika tingkat lanjut, radian lebih sering digunakan.

## Konversi Derajat dan Radian

Satu putaran penuh lingkaran adalah 360° atau <InlineMath math="2\pi" /> radian. Hubungan ini memberikan kita rumus konversi:

<div className="flex flex-col gap-4">
  <BlockMath math="180° = \pi \text{ radian}" />
  <BlockMath math="1° = \frac{\pi}{180} \text{ radian}" />
  <BlockMath math="1 \text{ radian} = \frac{180°}{\pi} \approx 57.3°" />
</div>

### Contoh Konversi

Mengubah derajat ke radian:

<div className="flex flex-col gap-4">
  <BlockMath math="90° = 90 \times \frac{\pi}{180} = \frac{\pi}{2} \text{ radian}" />
  <BlockMath math="60° = 60 \times \frac{\pi}{180} = \frac{\pi}{3} \text{ radian}" />
  <BlockMath math="45° = 45 \times \frac{\pi}{180} = \frac{\pi}{4} \text{ radian}" />
</div>

Mengubah radian ke derajat:

<div className="flex flex-col gap-4">
  <BlockMath math="\frac{\pi}{6} \text{ radian} = \frac{\pi}{6} \times \frac{180}{\pi} = 30°" />
  <BlockMath math="\frac{3\pi}{4} \text{ radian} = \frac{3\pi}{4} \times \frac{180}{\pi} = 135°" />
</div>

## Apa itu Amplitudo dan Periode?

Sebelum mempelajari grafik fungsi trigonometri, penting untuk memahami dua konsep kunci: **amplitudo** dan **periode**.

### Amplitudo

Amplitudo adalah jarak maksimum dari garis tengah (sumbu x) ke puncak atau lembah grafik. Untuk fungsi <InlineMath math="y = A \sin x" /> atau <InlineMath math="y = A \cos x" />, amplitudo adalah <InlineMath math="|A|" />.

<LineEquation
  title="Konsep Amplitudo"
  description="Amplitudo menentukan 'tinggi' gelombang. Perhatikan jarak dari sumbu x ke puncak."
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 2 * Math.PI;
        return { x, y: 2 * Math.sin(x), z: 0 };
      }),
      color: getColor("SKY"),
      labels: [{ text: "Amplitudo = 2", at: 25, offset: [0, 0.5, 0] }],
      showPoints: false,
    },
    {
      points: [
        { x: Math.PI / 2, y: 0, z: 0 },
        { x: Math.PI / 2, y: 2, z: 0 },
      ],
      color: getColor("ROSE"),
      showPoints: false,
    },
  ]}
  cameraPosition={[0, 0, 10]}
  showZAxis={false}
/>

### Periode

Periode adalah panjang interval yang diperlukan untuk satu siklus lengkap. Untuk fungsi <InlineMath math="y = \sin(Bx)" /> atau <InlineMath math="y = \cos(Bx)" />, periode adalah <InlineMath math="\frac{2\pi}{|B|}" />.

<LineEquation
  title="Konsep Periode"
  description="Periode adalah jarak horizontal untuk satu gelombang penuh."
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI;
        return { x, y: Math.sin(x), z: 0 };
      }),
      color: getColor("EMERALD"),
      labels: [{ text: "Periode = 2π", at: 25, offset: [0, 1.5, 0] }],
      showPoints: false,
    },
    {
      points: [
        { x: 0, y: -1.2, z: 0 },
        { x: 2 * Math.PI, y: -1.2, z: 0 },
      ],
      color: getColor("PURPLE"),
      lineWidth: 2,
      showPoints: false,
      cone: { position: "both" },
      labels: [
        {
          text: "←  2π  →",
          at: 1,
          offset: [-3, -0.5, 0],
          color: getColor("PURPLE"),
        },
      ],
    },
  ]}
  cameraPosition={[0, 0, 18]}
  showZAxis={false}
/>

### Rumus Umum

Untuk fungsi trigonometri dalam bentuk:

- <InlineMath math="y = A \sin(Bx)" /> dan <InlineMath math="y = A \cos(Bx)" />:

  <div className="flex flex-col gap-4">
    <BlockMath math="y = A \sin(Bx)" />
    <BlockMath math="y = A \cos(Bx)" />
  </div>

- <InlineMath math="y = A \tan(Bx)" />:

  <div className="flex flex-col gap-4">
    <BlockMath math="y = A \tan(Bx)" />
    <BlockMath math="\text{Amplitudo} = \text{tidak terdefinisi (tak terbatas)}" />
    <BlockMath math="\text{Periode} = \frac{\pi}{|B|}" />
  </div>

## Grafik Fungsi Sinus

Fungsi <InlineMath math="y = \sin x" /> adalah fungsi periodik dengan periode <InlineMath math="2\pi" />. Artinya, pola grafiknya berulang setiap interval <InlineMath math="2\pi" />.

<LineEquation
  title={
    <>
      Grafik <InlineMath math="y = \sin x" />
    </>
  }
  description="Perhatikan bagaimana grafik membentuk gelombang yang berulang secara teratur."
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.sin(x), z: 0 };
      }),
      color: getColor("SKY"),
      labels: [{ text: "y = sin x", at: 25, offset: [1.5, 0.5, 0] }],
      showPoints: false,
    },
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>

**Karakteristik grafik** <InlineMath math="y = \sin x" />:

- **Periode**: <InlineMath math="2\pi" /> (grafik berulang setiap <InlineMath math="2\pi" /> satuan)
- **Amplitudo**: 1 (nilai maksimum - minimum dibagi 2)
- **Domain**: Semua bilangan real
- **Range**: <InlineMath math="[-1, 1]" />
- **Titik potong sumbu x**: <InlineMath math="x = n\pi" /> untuk <InlineMath math="n" /> bilangan bulat
- **Nilai maksimum**: 1 pada <InlineMath math="x = \frac{\pi}{2} + 2n\pi" />
- **Nilai minimum**: -1 pada <InlineMath math="x = \frac{3\pi}{2} + 2n\pi" />

## Grafik Fungsi Kosinus

Fungsi <InlineMath math="y = \cos x" /> memiliki bentuk yang mirip dengan sinus, tetapi bergeser <InlineMath math="\frac{\pi}{2}" /> ke kiri.

<LineEquation
  title={
    <>
      Grafik <InlineMath math="y = \cos x" />
    </>
  }
  description="Bandingkan dengan grafik sinus. Perhatikan pergeserannya."
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.cos(x), z: 0 };
      }),
      color: getColor("ROSE"),
      labels: [{ text: "y = cos x", at: 25, offset: [0.3, 1.5, 0] }],
      showPoints: false,
    },
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>

**Karakteristik grafik** <InlineMath math="y = \cos x" />:

- **Periode**: <InlineMath math="2\pi" />
- **Amplitudo**: 1
- **Domain**: Semua bilangan real
- **Range**: <InlineMath math="[-1, 1]" />
- **Titik potong sumbu x**: <InlineMath math="x = \frac{\pi}{2} + n\pi" />
- **Nilai maksimum**: 1 pada <InlineMath math="x = 2n\pi" />
- **Nilai minimum**: -1 pada <InlineMath math="x = \pi + 2n\pi" />

### Perbandingan Sin dan Cos

<LineEquation
  title="Perbandingan Grafik Sin dan Cos"
  description={
    <>
      Perhatikan bahwa <InlineMath math="\cos x = \sin(x + \frac{\pi}{2})" />.
    </>
  }
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.sin(x), z: 0 };
      }),
      color: getColor("SKY"),
      labels: [{ text: "y = sin x", at: 25, offset: [1.5, -1.5, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.cos(x), z: 0 };
      }),
      color: getColor("ROSE"),
      labels: [{ text: "y = cos x", at: 75, offset: [1.5, 2.5, 0] }],
      showPoints: false,
    },
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>

## Grafik Fungsi Tangen

Fungsi <InlineMath math="y = \tan x" /> berbeda dengan sin dan cos karena memiliki asimtot vertikal.

<LineEquation
  title={
    <>
      Grafik <InlineMath math="y = \tan x" />
    </>
  }
  description="Perhatikan garis putus-putus yang menunjukkan asimtot vertikal."
  data={[
    // Fungsi tangen
    ...Array.from({ length: 3 }, (_, periodIndex) => {
      const offset = (periodIndex - 1) * Math.PI;
      return {
        points: Array.from({ length: 50 }, (_, i) => {
          const x = offset + (i / 49) * Math.PI * 0.9 - Math.PI * 0.45;
          return { x, y: Math.tan(x), z: 0 };
        }),
        color: getColor("EMERALD"),
        labels:
          periodIndex === 1
            ? [{ text: "y = tan x", at: 25, offset: [2, 0.5, 0] }]
            : [],
        showPoints: false,
      };
    }),
    // Asimtot vertikal
    ...Array.from({ length: 3 }, (_, i) => {
      const x = (i - 1) * Math.PI + Math.PI / 2;
      return {
        points: [
          { x, y: -5, z: 0 },
          { x, y: 5, z: 0 },
        ],
        color: getColor("ROSE"),
        showPoints: false,
        labels:
          i === 1 ? [{ text: `x = π/2`, at: 1, offset: [1, 0.5, 0] }] : [],
      };
    }),
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>

**Karakteristik grafik** <InlineMath math="y = \tan x" />:

- **Periode**: <InlineMath math="\pi" /> (lebih pendek dari sin dan cos)
- **Amplitudo**: Tidak terdefinisi
- **Domain**: <InlineMath math="x \neq \frac{\pi}{2} + n\pi" />
- **Range**: Semua bilangan real
- **Asimtot vertikal**: <InlineMath math="x = \frac{\pi}{2} + n\pi" />
- **Titik potong sumbu x**: <InlineMath math="x = n\pi" />

## Transformasi Fungsi Trigonometri

### Perubahan Amplitudo

Fungsi <InlineMath math="y = A \sin x" /> mengubah amplitudo menjadi <InlineMath math="|A|" />.

<LineEquation
  title="Pengaruh Amplitudo"
  description="Perhatikan bagaimana nilai A mempengaruhi tinggi gelombang."
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.sin(x), z: 0 };
      }),
      color: getColor("SKY"),
      labels: [{ text: "y = sin x", at: 25, offset: [1.5, -2.5, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: 2 * Math.sin(x), z: 0 };
      }),
      color: getColor("ROSE"),
      labels: [{ text: "y = 2 sin x", at: 25, offset: [1.25, 1.5, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: 0.5 * Math.sin(x), z: 0 };
      }),
      color: getColor("EMERALD"),
      labels: [{ text: "y = 0.5 sin x", at: 25, offset: [1, 2.5, 0] }],
      showPoints: false,
    },
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>

### Perubahan Periode

Fungsi <InlineMath math="y = \sin(Bx)" /> mengubah periode menjadi <InlineMath math="\frac{2\pi}{|B|}" />.

<LineEquation
  title="Pengaruh Periode"
  description="Nilai B mempengaruhi seberapa cepat fungsi berulang."
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.sin(x), z: 0 };
      }),
      color: getColor("SKY"),
      labels: [{ text: "y = sin x", at: 25, offset: [1.5, -2.5, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.sin(2 * x), z: 0 };
      }),
      color: getColor("ROSE"),
      labels: [{ text: "y = sin 2x", at: 60, offset: [1.25, 1.5, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.sin(0.5 * x), z: 0 };
      }),
      color: getColor("EMERALD"),
      labels: [{ text: "y = sin 0.5x", at: 25, offset: [1, 2.5, 0] }],
      showPoints: false,
    },
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>

### Pergeseran Vertikal dan Horizontal

Bentuk umum:

<BlockMath math="y = A \sin(B(x - C)) + D" />

- <InlineMath math="A" />: Amplitudo
- <InlineMath math="B" />: Mempengaruhi periode (
  <InlineMath math="\text{periode} = \frac{2\pi}{|B|}" />)
- <InlineMath math="C" />: Pergeseran horizontal (fase)
- <InlineMath math="D" />: Pergeseran vertikal

Perhatikan pergeseran horizontal dan vertikal dari grafik:

<LineEquation
  title="Transformasi Lengkap"
  description={
    <>
      Grafik <InlineMath math="y = 2\sin(x - \frac{\pi}{4}) + 1" /> menunjukkan
      semua transformasi.
    </>
  }
  data={[
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: Math.sin(x), z: 0 };
      }),
      color: getColor("SKY"),
      labels: [{ text: "y = sin x (dasar)", at: 25, offset: [0.5, -2, 0] }],
      showPoints: false,
    },
    {
      points: Array.from({ length: 100 }, (_, i) => {
        const x = (i / 99) * 4 * Math.PI - 2 * Math.PI;
        return { x, y: 2 * Math.sin(x - Math.PI / 4) + 1, z: 0 };
      }),
      color: getColor("ROSE"),
      labels: [
        { text: "y = 2sin(x - π/4) + 1", at: 25, offset: [0.5, 1.5, 0] },
      ],
      showPoints: false,
    },
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>

## Latihan

1. Konversikan sudut berikut:

   - 120° ke radian
   - <InlineMath math="\frac{5\pi}{6}" /> radian ke derajat

2. Tentukan periode dan amplitudo dari:

   - <InlineMath math="y = 3 \sin(2x)" />
   - <InlineMath math="y = -2 \cos(\frac{x}{3})" />

3. Sketsakan grafik <InlineMath math="y = 2 \sin(x + \frac{\pi}{3}) - 1" />. Tentukan:

   - Amplitudo
   - Periode
   - Pergeseran fase
   - Pergeseran vertikal

4. Jika tinggi air pasang surut dimodelkan dengan <InlineMath math="h(t) = 2 \sin(\frac{\pi t}{6}) + 5" /> meter, dimana t dalam jam:

   - Berapa tinggi air maksimum dan minimum?
   - Berapa periode pasang surut?

5. Tentukan persamaan fungsi trigonometri yang memiliki:

   - Amplitudo 3
   - Periode <InlineMath math="\pi" />
   - Bergeser <InlineMath math="\frac{\pi}{4}" /> ke kanan
   - Bergeser 2 satuan ke atas

### Kunci Jawaban

1. Konversi sudut:

   - <InlineMath math="120° = 120 \times \frac{\pi}{180} = \frac{2\pi}{3}" /> radian
   - <InlineMath math="\frac{5\pi}{6} = \frac{5\pi}{6} \times \frac{180}{\pi} = 150°" />

2. Periode dan amplitudo:

   - <InlineMath math="y = 3 \sin(2x)" />: Amplitudo = 3, Periode = <InlineMath math="\frac{2\pi}{2} = \pi" />
   - <InlineMath math="y = -2 \cos(\frac{x}{3})" />: Amplitudo = 2, Periode = <InlineMath math="\frac{2\pi}{1/3} = 6\pi" />

3. Untuk <InlineMath math="y = 2 \sin(x + \frac{\pi}{3}) - 1" />:

   - Amplitudo: 2
   - Periode: <InlineMath math="2\pi" />
   - Pergeseran fase: <InlineMath math="\frac{\pi}{3}" /> ke kiri
   - Pergeseran vertikal: 1 satuan ke bawah

4. Untuk <InlineMath math="h(t) = 2 \sin(\frac{\pi t}{6}) + 5" />:

   - Tinggi maksimum: 5 + 2 = 7 meter
   - Tinggi minimum: 5 - 2 = 3 meter
   - Periode: <InlineMath math="\frac{2\pi}{\pi/6} = 12" /> jam

5. Persamaan yang memenuhi syarat:

   <BlockMath math="y = 3 \sin(2(x - \frac{\pi}{4})) + 2" />

   atau

   <BlockMath math="y = 3 \sin(2x - \frac{\pi}{2}) + 2" />
