{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Komentar & Format Penulisan Kode Python\n",
        "\n",
        "Dalam pemrograman Python, **komentar** adalah baris teks yang tidak akan dieksekusi oleh interpreter Python. Komentar berfungsi penting untuk:\n",
        "1. Memberikan penjelasan dokumentasi logika kode kepada rekan pengembang.\n",
        "2. Memudahkan pemeliharaan (*maintenance*) kode di masa mendatang.\n",
        "3. Menonaktifkan sementara baris kode tertentu saat proses *debugging*."
      ],
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## 1. Komentar Satu Baris (Single-Line Comment)\n",
        "Komentar satu baris diawali dengan tanda pagar (`#`). Semua teks setelah tanda `#` hingga akhir baris akan diabaikan oleh Python."
      ],
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {},
      "source": [
        "# Ini adalah contoh komentar satu baris\n",
        "print(\"Halo, selamat datang di kursus Python & Sains Data!\")  # Komentar di samping kode"
      ],
      "outputs": [],
      "execution_count": null
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## 2. Komentar Multi Baris (Multi-Line Comment)\n",
        "Untuk menuliskan penjelasan yang panjang atau berupa paragraf, kita dapat menggunakan beberapa tanda `#` berturut-turut atau menggunakan *triple quotes* (`'''` atau `\"\"\"`)."
      ],
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {},
      "source": [
        "# Ini adalah komentar multi-baris\n",
        "# yang menggunakan beberapa baris tanda pagar\n",
        "# untuk menjelaskan alur algoritma yang kompleks.\n",
        "\n",
        "\"\"\"\n",
        "Ini adalah string multi-baris yang sering digunakan sebagai\n",
        "docstring untuk mendokumentasikan fungsi, modul, atau kelas.\n",
        "\"\"\"\n",
        "print(\"Dokumentasi kode yang baik membuat program mudah dipahami.\")"
      ],
      "outputs": [],
      "execution_count": null
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## 3. Best Practice Penulisan Komentar\n",
        "- Tulis komentar yang menjelaskan **MENGAPA** kode tersebut ditulis, bukan hanya sekadar mengulang apa yang sudah jelas dari kode.\n",
        "- Gunakan bahasa yang ringkas, jelas, dan mudah dipahami.\n",
        "- Perbarui komentar jika ada perubahan logika pada kode."
      ],
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {},
      "source": [
        "# Menghitung diskon 15% untuk anggota premium\n",
        "total_belanja = 500000\n",
        "persen_diskon = 0.15\n",
        "total_akhir = total_belanja * (1 - persen_diskon)\n",
        "\n",
        "print(f\"Total bayar setelah diskon: Rp {total_akhir:,.0f}\")"
      ],
      "outputs": [],
      "execution_count": null
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "name": "python",
      "version": "3.11.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 2
}