{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Trial Class CSSE: Pola Geometri dengan Python\n",
    "\n",
    "Notebook pendamping slide **Dari Ide ke Kode**. Jalankan sel dari atas ke bawah di Google Colab.\n",
    "\n",
    "## Target kita\n",
    "- Menggambar persegi dengan instruksi Python.\n",
    "- Memakai `for` untuk mengulang instruksi.\n",
    "- Mengubah kode dan mengamati perubahan gambar.\n",
    "- Mencoba debugging sederhana.\n",
    "\n",
    "> Colab tidak menampilkan jendela grafis dari `turtle` bawaan Python. Notebook ini memakai library **ColabTurtle**, yang menampilkan gambar di output Colab. Sel instalasi memerlukan koneksi internet."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "%pip -q install ColabTurtle\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Pemanasan: gambar persegi\n",
    "\n",
    "Jalankan sel ini. Coba tebak dulu apa fungsi `range(4)`, `forward(120)`, dan `right(90)`. Setelah berhasil, ganti `120` menjadi `160` dan jalankan lagi."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from ColabTurtle.Turtle import *\n",
    "\n",
    "initializeTurtle(initial_speed=8, initial_window_size=(800, 500))\n",
    "bgcolor(\"#0B1220\")\n",
    "color(\"#F0A01F\")\n",
    "pensize(5)\n",
    "\n",
    "for sisi in range(4):\n",
    "    forward(120)\n",
    "    right(90)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Tantangan: buat pola geometri\n",
    "\n",
    "Jalankan sel ini. Ubah warna, panjang gerakan, jumlah pengulangan, atau sudut belok. Ubah **satu hal setiap kali** supaya kamu bisa melihat efeknya."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "initializeTurtle(initial_speed=10, initial_window_size=(800, 500))\n",
    "bgcolor(\"#0B1220\")\n",
    "color(\"#5FE1D1\")\n",
    "pensize(3)\n",
    "\n",
    "for ulangan in range(36):\n",
    "    forward(105)\n",
    "    right(170)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Bonus: gambar segitiga\n",
    "\n",
    "Segitiga punya tiga sisi. Coba tebak sudut belok yang diperlukan, lalu jalankan contoh berikut. Setelah itu, coba ubah warna atau panjang sisinya."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "initializeTurtle(initial_speed=8, initial_window_size=(800, 500))\n",
    "bgcolor(\"#0B1220\")\n",
    "color(\"#F0A01F\")\n",
    "pensize(5)\n",
    "\n",
    "for sisi in range(3):\n",
    "    forward(140)\n",
    "    right(120)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. Debugging bareng\n",
    "\n",
    "Kode ini sengaja punya dua kesalahan. Sebelum menjalankannya, salin ke sel baru. Baca pesan error, lalu perbaiki tanda titik dua dan indentasi.\n",
    "\n",
    "```python\n",
    "for _ in range(4)\n",
    "  forward(100)\n",
    "    right(90)\n",
    "```\n",
    "\n",
    "Contoh setelah diperbaiki:\n",
    "\n",
    "```python\n",
    "for _ in range(4):\n",
    "    forward(100)\n",
    "    right(90)\n",
    "```\n",
    "\n",
    "### Catatan pengajar\n",
    "Kalau waktu terbatas, jalankan sel instalasi sebelum kelas dimulai. Sel persegi dan pola dapat dijalankan ulang dari atas; setiap `initializeTurtle()` menyiapkan area gambar baru."
   ]
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
