# Nakafa Framework: LLM
URL: /id/subject/high-school/12/mathematics/analytic-geometry/hyperbola
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/subject/high-school/12/mathematics/analytic-geometry/hyperbola/id.mdx
Output docs content for large language models.
---
export const metadata = {
  title: "Hiperbola",
  description: "Kuasai konsep hiperbola: fokus, asimtot, dan persamaan x²/a² - y²/b² = 1. Pelajari eksentrisitas, puncak, dan selesaikan soal dengan contoh langkah demi langkah.",
  authors: [{ name: "Nabil Akbarazzima Fatih" }],
  date: "05/26/2025",
  subject: "Geometri Analitik",
};
import { getColor } from "@repo/design-system/lib/color";
import { LineEquation } from "@repo/design-system/components/contents/line-equation";
## Apa itu Hiperbola?
Kamu pernah lihat bentuk menara pendingin di pembangkit listrik? Atau mungkin pernah memperhatikan bayangan cahaya senter di dinding yang membentuk kurva terbuka? Nah, bentuk-bentuk seperti itu adalah contoh **hiperbola** dalam kehidupan nyata!
Hiperbola adalah kurva yang terbentuk ketika sebuah bidang memotong kerucut ganda dengan sudut tertentu. Berbeda dengan elips yang membentuk kurva tertutup, hiperbola justru terbentuk dari **dua kurva terpisah** yang saling berhadapan.
Secara matematis, hiperbola didefinisikan sebagai tempat kedudukan titik-titik yang **selisih absolut jaraknya terhadap dua titik tetap selalu konstan**. Kedua titik tetap ini disebut **fokus** hiperbola. Untuk setiap titik  pada hiperbola, selisih  (konstan), sedangkan di [elips](/subject/high-school/12/mathematics/analytic-geometry/ellipse) jumlah jaraknya yang konstan: .
 {
        const points = [];
        const a = 3;
        const b = 2;
        const c = Math.sqrt(a * a + b * b);
        
        // Right branch of hyperbola
        for (let t = -2; t <= 2; t += 0.1) {
          const x = a * Math.cosh(t);
          const y = b * Math.sinh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("PURPLE"),
      showPoints: false,
    },
    {
      points: (() => {
        const points = [];
        const a = 3;
        const b = 2;
        
        // Left branch of hyperbola
        for (let t = -2; t <= 2; t += 0.1) {
          const x = -a * Math.cosh(t);
          const y = b * Math.sinh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("PURPLE"),
      showPoints: false,
    },
    {
      points: (() => {
        const a = 3;
        const b = 2;
        const c = Math.sqrt(a * a + b * b);
        return [
          { x: -c, y: 0, z: 0 },
          { x: c, y: 0, z: 0 }
        ];
      })(),
      color: getColor("CYAN"),
      showPoints: true,
      labels: [
        { text: "F₁", at: 0, offset: [-0.5, -0.5, 0] },
        { text: "F₂", at: 1, offset: [0.5, -0.5, 0] }
      ],
    },
    {
      points: [
        { x: 0, y: 0, z: 0 }
      ],
      color: getColor("ORANGE"),
      showPoints: true,
      labels: [{ text: "O", at: 0, offset: [-0.3, -0.3, 0] }],
    },
    {
      points: [
        { x: -6, y: 0, z: 0 },
        { x: 6, y: 0, z: 0 }
      ],
      color: getColor("ROSE"),
      showPoints: false,
      smooth: false,
    },
    {
      points: [
        { x: 0, y: -4, z: 0 },
        { x: 0, y: 4, z: 0 }
      ],
      color: getColor("ROSE"),
      showPoints: false,
      smooth: false,
    },
  ]}
  cameraPosition={[0, 0, 12]}
  showZAxis={false}
/>
Lihat visualisasi di atas! Hiperbola punya dua cabang yang terpisah. Untuk setiap titik  yang ada di hiperbola, selisih jarak dari  ke kedua fokus  dan  selalu konstan.
## Komponen Hiperbola
Sebelum masuk ke rumus-rumus, yuk kenalan dulu sama bagian-bagian penting dari hiperbola. Setiap komponen ini punya peran tersendiri dalam menentukan bentuk dan sifat hiperbola.
 {
        const points = [];
        const a = 3;
        const b = 2.5;
        
        // Right branch
        for (let t = -1.5; t <= 1.5; t += 0.1) {
          const x = a * Math.cosh(t);
          const y = b * Math.sinh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("INDIGO"),
      showPoints: false,
    },
    {
      points: (() => {
        const points = [];
        const a = 3;
        const b = 2.5;
        
        // Left branch
        for (let t = -1.5; t <= 1.5; t += 0.1) {
          const x = -a * Math.cosh(t);
          const y = b * Math.sinh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("INDIGO"),
      showPoints: false,
    },
    {
      points: [
        { x: 0, y: 0, z: 0 }
      ],
      color: getColor("ORANGE"),
      showPoints: true,
      labels: [{ text: "Pusat", at: 0, offset: [-0.5, -0.5, 0] }],
    },
    {
      points: (() => {
        const a = 3;
        const b = 2.5;
        const c = Math.sqrt(a * a + b * b);
        return [
          { x: -c, y: 0, z: 0 },
          { x: c, y: 0, z: 0 }
        ];
      })(),
      color: getColor("CYAN"),
      showPoints: true,
      labels: [
        { text: "F₁", at: 0, offset: [-0.5, 0.5, 0] },
        { text: "F₂", at: 1, offset: [0.5, 0.5, 0] }
      ],
    },
    {
      points: [
        { x: -3, y: 0, z: 0 },
        { x: 3, y: 0, z: 0 }
      ],
      color: getColor("TEAL"),
      showPoints: true,
      labels: [
        { text: "A₁", at: 0, offset: [-0.5, 0.5, 0] },
        { text: "A₂", at: 1, offset: [0.5, 0.5, 0] }
      ],
    },
    {
      points: [
        { x: -6, y: -5, z: 0 },
        { x: 6, y: 5, z: 0 }
      ],
      color: getColor("AMBER"),
      showPoints: false,
      smooth: false,
      labels: [{ text: "Asimtot", at: 1, offset: [0.5, 0.5, 0] }],
    },
    {
      points: [
        { x: -6, y: 5, z: 0 },
        { x: 6, y: -5, z: 0 }
      ],
      color: getColor("AMBER"),
      showPoints: false,
      smooth: false,
      labels: [{ text: "Asimtot", at: 0, offset: [-0.5, 0.5, 0] }],
    },
  ]}
  cameraPosition={[0, 0, 15]}
  showZAxis={false}
/>
Komponen-komponen hiperbola yang perlu kamu ketahui:
1. **Pusat hiperbola** adalah titik tengah antara kedua fokus, biasanya dilambangkan dengan .
2. **Fokus** ( dan ) adalah dua titik tetap yang menjadi acuan definisi hiperbola. Jarak antara kedua fokus disebut jarak fokal.
3. **Puncak** ( dan ) adalah titik-titik terdekat antara kedua cabang hiperbola. Garis yang menghubungkan kedua puncak disebut sumbu utama.
4. **Sumbu utama** adalah garis yang melewati pusat dan kedua fokus hiperbola.
5. **Asimtot** adalah garis-garis yang didekati oleh cabang hiperbola saat menuju tak hingga. Hiperbola tidak pernah menyentuh asimtotnya, tapi semakin jauh dari pusat, kurva semakin mendekati garis asimtot.
> Perbedaan utama hiperbola dengan elips: hiperbola punya asimtot dan terdiri dari dua cabang terpisah, sedangkan elips adalah kurva tertutup tanpa asimtot.
## Persamaan Hiperbola
Ada beberapa bentuk tergantung orientasi dan posisi pusatnya. Kita akan bahas dua kasus:
### Pusat di Titik Asal
Kalau pusat hiperbola ada di , ada dua kemungkinan orientasi:
Hiperbola  dengan sumbu utama horizontal.>}
  data={[
    {
      points: (() => {
        const points = [];
        const a = 3;
        const b = 2;
        
        // Right branch
        for (let t = -1.8; t <= 1.8; t += 0.1) {
          const x = a * Math.cosh(t);
          const y = b * Math.sinh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("VIOLET"),
      showPoints: false,
    },
    {
      points: (() => {
        const points = [];
        const a = 3;
        const b = 2;
        
        // Left branch
        for (let t = -1.8; t <= 1.8; t += 0.1) {
          const x = -a * Math.cosh(t);
          const y = b * Math.sinh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("VIOLET"),
      showPoints: false,
    },
    {
      points: [
        { x: 0, y: 0, z: 0 }
      ],
      color: getColor("ORANGE"),
      showPoints: true,
      labels: [{ text: "O(0,0)", at: 0, offset: [-0.8, -0.5, 0] }],
    },
    {
      points: (() => {
        const a = 3;
        const b = 2;
        const c = Math.sqrt(a * a + b * b);
        return [
          { x: -c, y: 0, z: 0 },
          { x: c, y: 0, z: 0 }
        ];
      })(),
      color: getColor("CYAN"),
      showPoints: true,
      labels: [
        { text: "F₁", at: 0, offset: [-0.5, 0.5, 0] },
        { text: "F₂", at: 1, offset: [0.5, 0.5, 0] }
      ],
    },
    {
      points: [
        { x: -3, y: 0, z: 0 },
        { x: 3, y: 0, z: 0 }
      ],
      color: getColor("TEAL"),
      showPoints: true,
      labels: [
        { text: "A₁", at: 0, offset: [-0.5, 0.5, 0] },
        { text: "A₂", at: 1, offset: [0.5, 0.5, 0] }
      ],
    },
    {
      points: [
        { x: -6, y: -4, z: 0 },
        { x: 6, y: 4, z: 0 }
      ],
      color: getColor("AMBER"),
      showPoints: false,
      smooth: false,
    },
    {
      points: [
        { x: -6, y: 4, z: 0 },
        { x: 6, y: -4, z: 0 }
      ],
      color: getColor("AMBER"),
      showPoints: false,
      smooth: false,
    },
  ]}
  cameraPosition={[0, 0, 12]}
  showZAxis={false}
/>
Ketika sumbu utama sejajar dengan sumbu  (horizontal), persamaan hiperbola adalah:
Kalau kita visualisasikan, akan terlihat seperti ini:
Hiperbola  dengan sumbu utama vertikal.>}
  data={[
    {
      points: (() => {
        const points = [];
        const a = 3;
        const b = 2;
        
        // Top branch
        for (let t = -1.8; t <= 1.8; t += 0.1) {
          const x = b * Math.sinh(t);
          const y = a * Math.cosh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("TEAL"),
      showPoints: false,
    },
    {
      points: (() => {
        const points = [];
        const a = 3;
        const b = 2;
        
        // Bottom branch
        for (let t = -1.8; t <= 1.8; t += 0.1) {
          const x = b * Math.sinh(t);
          const y = -a * Math.cosh(t);
          points.push({ x, y, z: 0 });
        }
        return points;
      })(),
      color: getColor("TEAL"),
      showPoints: false,
    },
    {
      points: [
        { x: 0, y: 0, z: 0 }
      ],
      color: getColor("ORANGE"),
      showPoints: true,
      labels: [{ text: "O(0,0)", at: 0, offset: [-0.8, -0.5, 0] }],
    },
    {
      points: (() => {
        const a = 3;
        const b = 2;
        const c = Math.sqrt(a * a + b * b);
        return [
          { x: 0, y: -c, z: 0 },
          { x: 0, y: c, z: 0 }
        ];
      })(),
      color: getColor("CYAN"),
      showPoints: true,
      labels: [
        { text: "F₁", at: 0, offset: [0.5, -0.5, 0] },
        { text: "F₂", at: 1, offset: [0.5, 0.5, 0] }
      ],
    },
    {
      points: [
        { x: 0, y: -3, z: 0 },
        { x: 0, y: 3, z: 0 }
      ],
      color: getColor("VIOLET"),
      showPoints: true,
      labels: [
        { text: "A₁", at: 0, offset: [0.5, -0.5, 0] },
        { text: "A₂", at: 1, offset: [0.5, 0.5, 0] }
      ],
    },
    {
      points: [
        { x: -4, y: -6, z: 0 },
        { x: 4, y: 6, z: 0 }
      ],
      color: getColor("AMBER"),
      showPoints: false,
      smooth: false,
    },
    {
      points: [
        { x: -4, y: 6, z: 0 },
        { x: 4, y: -6, z: 0 }
      ],
      color: getColor("AMBER"),
      showPoints: false,
      smooth: false,
    },
  ]}
  cameraPosition={[0, 0, 12]}
  showZAxis={false}
/>
Ketika sumbu utama sejajar dengan sumbu  (vertikal), persamaan hiperbola adalah:
### Pusat Berpindah
Kalau pusat hiperbola bukan di titik asal, tapi di titik , persamaannya menjadi:
  
  
## Sifat Penting Hiperbola
Ada beberapa hubungan matematika yang selalu berlaku untuk setiap hiperbola:
di mana:
-  adalah jarak dari pusat ke puncak (semi-sumbu utama)
-  adalah konstanta yang menentukan bentuk hiperbola (semi-sumbu konjugat)
-  adalah jarak dari pusat ke fokus
Hubungan ini berbeda dengan elips yang menggunakan .
**Eksentrisitas** hiperbola didefinisikan sebagai:
Nilai eksentrisitas hiperbola selalu . Ini karena  (dari hubungan , maka ). Semakin besar nilai , hiperbola semakin "terbuka" atau lebar. Sebagai perbandingan: lingkaran memiliki , elips memiliki , parabola memiliki , dan hiperbola memiliki .
**Persamaan asimtot** untuk hiperbola dengan pusat di :
  
  
> Asimtot adalah "panduan" bagi cabang hiperbola. Semakin jauh dari pusat, kurva hiperbola semakin mendekati garis asimtot, tapi tidak pernah menyentuhnya.
## Latihan
1. Tentukan persamaan hiperbola dengan pusat di , puncak di , dan fokus di .
2. Diketahui hiperbola . Tentukan koordinat fokus, eksentrisitas, dan persamaan asimtot.
3. Sebuah hiperbola memiliki pusat di , sumbu utama horizontal, , dan . Tentukan persamaan hiperbola tersebut.
4. Tentukan persamaan asimtot dari hiperbola .
### Kunci Jawaban
1. **Penyelesaian**:
   Diketahui:
   - Pusat di 
   - Puncak di , jadi 
   - Fokus di , jadi 
   - Sumbu utama horizontal (karena puncak dan fokus di sumbu )
   
   Gunakan hubungan :
   
   
     
     
     
   
   
   Persamaan hiperbola dengan sumbu utama horizontal:
   
   
2. **Penyelesaian**:
   Dari persamaan :
   - , jadi 
   - , jadi 
   
   Karena bentuk , sumbu utama horizontal.
   
   Hitung :
   
   
     
     
   
   
   Koordinat fokus: 
   
   Eksentrisitas:
   
   
   
   Persamaan asimtot (sumbu utama horizontal):
   
   
3. **Penyelesaian**:
   Diketahui:
   - Pusat: 
   - Sumbu utama horizontal
   - , jadi 
   - , jadi 
   
   Persamaan hiperbola dengan pusat  dan sumbu utama horizontal:
   
   
   
   Substitusi nilai:
   
   
4. **Penyelesaian**:
   Dari persamaan :
   - Pusat: 
   - , jadi 
   - , jadi 
   - Sumbu utama vertikal (karena bentuk )
   
   Untuk hiperbola dengan pusat  dan sumbu utama vertikal, persamaan asimtot:
   
   
   
   Substitusi nilai:
   
   
     
     
     
   
   
    Jadi persamaan asimtotnya: