{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "swdnyZ2Jg50T",
        "outputId": "382c7e72-2062-46b6-8b77-dcf459f9b9e8"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "                                 judul  \\\n",
            "0  presiden jokowi kunjungi jawa barat   \n",
            "1           harga minyak turun drastis   \n",
            "\n",
            "                                                 isi  similarity  \n",
            "0  hari ini presiden jokowi melakukan kunjungan k...    0.894427  \n",
            "1  krisis global menyebabkan harga minyak dunia n...    0.707107  \n"
          ]
        }
      ],
      "source": [
        "from sklearn.feature_extraction.text import TfidfVectorizer\n",
        "from sklearn.metrics.pairwise import cosine_similarity\n",
        "import pandas as pd\n",
        "\n",
        "# Contoh data\n",
        "data = [\n",
        "    {\"judul\": \"presiden jokowi kunjungi jawa barat\", \"isi\": \"hari ini presiden jokowi melakukan kunjungan kerja ke jawa barat...\"},\n",
        "    {\"judul\": \"harga minyak turun drastis\", \"isi\": \"krisis global menyebabkan harga minyak dunia naik signifikan...\"}  # Contoh tidak relevan\n",
        "]\n",
        "\n",
        "df = pd.DataFrame(data)\n",
        "\n",
        "# TF-IDF\n",
        "tfidf = TfidfVectorizer()\n",
        "tfidf_judul = tfidf.fit_transform(df[\"judul\"])\n",
        "tfidf_isi = tfidf.transform(df[\"isi\"])\n",
        "\n",
        "# Cosine Similarity\n",
        "df[\"similarity\"] = [cosine_similarity(tfidf_judul[i], tfidf_isi[i])[0][0] for i in range(len(df))]\n",
        "\n",
        "print(df)"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "!pip install Sastrawi\n",
        "from sklearn.feature_extraction.text import TfidfVectorizer\n",
        "from sklearn.metrics.pairwise import cosine_similarity\n",
        "import pandas as pd\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "import re\n",
        "from nltk.tokenize import word_tokenize\n",
        "from nltk.corpus import stopwords\n",
        "from Sastrawi.Stemmer.StemmerFactory import StemmerFactory\n",
        "import nltk\n",
        "\n",
        "# Download the required NLTK resources\n",
        "nltk.download('punkt')\n",
        "nltk.download('stopwords')\n",
        "nltk.download('punkt_tab') # Download the punkt_tab data"
      ],
      "metadata": {
        "id": "ZM5dz5RTvmE8",
        "outputId": "6cd30568-5b7f-4ae0-bfdb-00b5e6571163",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Collecting Sastrawi\n",
            "  Downloading Sastrawi-1.0.1-py2.py3-none-any.whl.metadata (909 bytes)\n",
            "Downloading Sastrawi-1.0.1-py2.py3-none-any.whl (209 kB)\n",
            "\u001b[?25l   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/209.7 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K   \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m \u001b[32m204.8/209.7 kB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m209.7/209.7 kB\u001b[0m \u001b[31m5.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hInstalling collected packages: Sastrawi\n",
            "Successfully installed Sastrawi-1.0.1\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "[nltk_data] Downloading package punkt to /root/nltk_data...\n",
            "[nltk_data]   Unzipping tokenizers/punkt.zip.\n",
            "[nltk_data] Downloading package stopwords to /root/nltk_data...\n",
            "[nltk_data]   Unzipping corpora/stopwords.zip.\n",
            "[nltk_data] Downloading package punkt_tab to /root/nltk_data...\n",
            "[nltk_data]   Unzipping tokenizers/punkt_tab.zip.\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "True"
            ]
          },
          "metadata": {},
          "execution_count": 1
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "PREPROCESSING TEKS"
      ],
      "metadata": {
        "id": "_O2yI6iTJPZv"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "def preprocess_text(text):\n",
        "    \"\"\"\n",
        "    Membersihkan dan memproses teks untuk analisis:\n",
        "    1. Case folding\n",
        "    2. Menghapus tanda baca dan angka\n",
        "    3. Tokenisasi\n",
        "    4. Stopword removal\n",
        "    5. Stemming\n",
        "    \"\"\"\n",
        "    # Case folding\n",
        "    text = text.lower()\n",
        "\n",
        "    # Menghapus tanda baca dan angka\n",
        "    text = re.sub(r'[^a-zA-Z\\s]', '', text, re.I|re.A)\n",
        "\n",
        "    # Tokenisasi\n",
        "    tokens = word_tokenize(text)\n",
        "\n",
        "    # Stopword removal\n",
        "    stop_words = set(stopwords.words('indonesian'))\n",
        "    tokens = [token for token in tokens if token not in stop_words]\n",
        "\n",
        "    # Stemming\n",
        "    factory = StemmerFactory()\n",
        "    stemmer = factory.create_stemmer()\n",
        "    tokens = [stemmer.stem(token) for token in tokens]\n",
        "\n",
        "    # Gabungkan kembali tokens menjadi string\n",
        "    return ' '.join(tokens)\n"
      ],
      "metadata": {
        "id": "njOVuj1-vxij"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "LOAD DATASET"
      ],
      "metadata": {
        "id": "OcK2buKDJWL4"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "data = [\n",
        "  {\n",
        "    \"judul\": \"Sekolah Lelah Banyak Temuan Ulat di Menu Makan Siang Gratis, Kini Minta Berhenti, Wakepsek: Butuh AC\",\n",
        "    \"isi\": \"Permasalahan program makan siang gratis atau Makan Bergizi Gratis (MBG) di Kota Yogyakarta membuat pihak sekolah lelah. Contohnya, SMKN 4 Yogyakarta yang melaporkan bahwa menu MBG yang diterima dilaporkan dalam keadaan basi dan terkontaminasi ulat. Wakil Kepala Sekolah Bidang Kesiswaan SMKN 4 Yogyakarta, Widiatmoko Herbimo, mengungkapkan, sejumlah kendala telah ditemukan sejak pelaksanaannya. Baru aja ada kok itu (makanan basi), ulat itu 2 hari yang lalu, katanya pada Senin (5/5/2025), melansir dari Kompas.com. Meskipun jumlah makanan yang tidak layak konsumsi tidak banyak, terdapat juga masalah terkait ketidaklengkapan menu. Terus ada yang tidak lengkap misalnya ada tempe, tapi ada porsi lainnya tempenya ga ada, ujarnya. Hanya satu dua (makanan basi) tapi beda-beda ada nasinya, yang satu buahnya (busuk), ujarnya menambahkan. Ulat yang ditemukan tidak hanya ada di sayuran, tetapi juga di nasi, dan kasus serupa telah terjadi lebih dari sekali. Sebagai respons terhadap temuan tersebut, pihak sekolah mengambil langkah untuk mengganti makanan yang bermasalah dan melaporkan kejadian ini kepada penyedia makanan. Namun, penyedia makanan berkilah bahwa keberadaan ulat menunjukkan bahwa bahan makanan yang digunakan adalah organik dan bebas pestisida. Katanya bagus enggak pakai pestisida. Tapi masak sayur ada ulatnya kita makan. Kalau ada ulatnya katanya enggak pakai pestisida, tandasnya. Widiatmoko juga mengungkapkan dampak psikologis dari temuan ulat di menu MBG terhadap siswa. Kalau siswanya, ada yang senang ada juga enggak senang, kelihatannya ada yang enggak dimakan sama sekali enggak mau. Karena trauma, dia makan ada ulatnya terus enggak mau makan MBG sampai sekarang, ucapnya. Sementara itu, karyawan SMKN 4 Yogyakarta juga mengungkapkan bahwa beban kerja mereka semakin bertambah akibat pelaksanaan program MBG. Widiatmoko Herbimo, mengatakan bahwa pihak sekolah telah mengajukan permohonan kepada penyelenggara MBG untuk menghentikan program tersebut pada tahun ajaran baru mendatang. Program ini membuat karyawan harus bekerja lebih keras. Mereka harus menunggu kedatangan makanan untuk MBG, dan baru bisa menyusun laporan keuangan setelah itu, yang mengganggu kegiatan lainnya, ungkap Widiatmoko saat dihubungi pada Senin (5/5/2025). Ia menambahkan bahwa karyawan juga bertanggung jawab untuk mengkoordinasikan siswa-siswa saat makanan tiba di sekolah. Setelah distribusi makanan selesai, mereka harus memastikan semua tempat makanan MBG telah dikumpulkan. Widiatmoko juga menyatakan bahwa SMKN 4 Yogyakarta saat ini sudah berstatus Badan Layanan Umum Daerah (BLUD), yang menyebabkan penurunan omzet. Kami sudah berstatus BLUD, dan banyak keluhan mengenai penurunan omzet, kata dia. Widiatmoko menyarankan agar program MBG dialihkan ke sekolah-sekolah yang memiliki fokus pada jurusan teknik, bukan yang berfokus pada tata boga seperti di SMKN 4 Yogyakarta. Jika memungkinkan, program ini sebaiknya diberikan kepada sekolah-sekolah teknik, karena fokus kami adalah pada makanan, sementara jurusan teknik memiliki kebutuhan yang berbeda, jelasnya. Ia juga mengusulkan agar dana dari program MBG digunakan untuk meningkatkan sarana dan prasarana sekolah. Dengan jumlah murid yang mencapai ribuan, kami memerlukan ruang kelas yang nyaman, termasuk AC. Dengan anggaran yang ada, misalnya Rp 12 juta untuk satu kali makan, seharusnya bisa dialokasikan untuk pembelian AC agar proses belajar mengajar lebih nyaman, tambah Widiatmoko. Sementara itu, Kepala Dinas Pendidikan Pemuda dan Olahraga (Disdikpora) DIY, Suhirman, menyatakan bahwa pihaknya belum menerima laporan resmi dari SMKN 4 Yogyakarta terkait permohonan penghentian program MBG. Menurutnya, keputusan mengenai kelanjutan program tersebut tidak sepenuhnya ada di tangan mereka. Kami akan melakukan klarifikasi ke sekolah. Kami menyediakan sekolah, dan keputusan akhir ada pada SPPG, ujarnya. Suhirman juga menjelaskan bahwa penggantian sekolah untuk program MBG tidak bisa dilakukan secara langsung, melainkan harus berdasarkan kesepakatan dengan SPPG. Itu tergantung dari SPPG, apakah pengganti berada lebih dari 3 km atau tidak. Jika kurang dari 3 km, itu memungkinkan, tetapi kami akan koordinasikan terlebih dahulu, tutupnya.\",\n",
        "    \"sumber\": \"TribunJatim\",\n",
        "    \"tanggal\": \"2025-05-26\"\n",
        "  },\n",
        "  {\n",
        "    \"judul\": \"Puluhan Siswa SDN 28 Simpang Raja Diduga Keracunan Usai Santap Makan Siang Gratis\",\n",
        "    \"isi\": \"Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Simpang Raja, yang terletak di Kelurahan Handayani Mulia, Kecamatan Talang Ubi, Kabupaten Penukal Abab Lematang Ilir (PALI), dilarikan ke Rumah Sakit Umum Daerah (RSUD) Talang Ubi H. Anwar Mahakil pada Senin siang (5/5/2025). Mereka diduga mengalami keracunan makanan setelah mengikuti program makan siang bergizi gratis yang diselenggarakan di sekolah. Menurut informasi yang dihimpun, tak lama setelah menyantap makan siang, para siswa mengeluhkan gejala seperti pusing, sakit perut, mual, dan muntah. Kondisi ini memicu kepanikan, baik di sekolah maupun di rumah sakit. Suasana di RSUD menjadi riuh oleh jerit tangis para orang tua yang menyaksikan anak-anak mereka terbaring lemah dalam kondisi mengkhawatirkan. Menu makan siang yang disajikan pada hari itu terdiri dari nasi dan olahan ikan tongkol. Sejumlah pihak menduga ikan tongkol tersebut menjadi penyebab utama keracunan. Seorang wali murid menyampaikan kekhawatirannya, “Anak saya bilang ikannya terasa aneh, dan tidak lama setelah makan langsung muntah-muntah. Kami khawatir makanan itu tidak layak konsumsi,” ungkapnya. Program makan siang bergizi gratis ini merupakan inisiatif pemerintah untuk meningkatkan asupan gizi siswa, khususnya di wilayah terpencil dan kurang mampu. Namun, insiden ini menimbulkan pertanyaan serius terkait pengawasan mutu dan keamanan makanan yang disajikan dalam program tersebut. Hingga berita ini diturunkan, pihak berwenang belum memberikan pernyataan resmi terkait penyebab keracunan massal tersebut. Pemeriksaan lebih lanjut dari pihak kesehatan diharapkan dapat segera mengungkap penyebab pasti dan mencegah kejadian serupa terulang di kemudian hari.\",\n",
        "    \"sumber\": \"KabarPali\",\n",
        "    \"tanggal\": \"2025-05-05\"\n",
        "  },\n",
        "  {\n",
        "    \"judul\": \"Bapanas Ungkap Program Makan Siang Gratis Diganti Sarapan Gratis\",\n",
        "    \"isi\": \"Badan Pangan Nasional (Bapanas) memberikan informasi terbaru terkait rencana program makan bergizi gratis yang dicanangkan presiden dan wakil presiden terpilih Prabowo Subianto Dan Gibran Rakabuming Raka. Sekretaris Utama Bapanas, Sarwo Edhy menyebut program unggulan dalam kampanye Prabowo Gibran bukan untuk makan siang melainkan hanya untuk sarapan pagi. Sarwo menegaskan Bapanas sangat mendukung program besutan pemerintah baru mendatang. Bahkan pihaknyapun siap menyediakan bahan baku untuk melaksanakan program makan siang gratis. Di sisi lain, hampir serupa dengan program makan siang gratis Bapanas sudah lebih dulu menjalankan program edukasi pangan beragam bergizi seimbang dan aman (B2SA). Bapanas juga sidah menjalankan program gerakan edukasi dan pemberian pangan bergizi untuk siswa, genius. Program ini merupakan edukasi pemenuhan pangan bergizi bagi generasi muda dalam membangun sumber daya manusia yang sehat, aktif dan produktif dengan pola B2SA.\",\n",
        "    \"sumber\": \"CNN Indonesia\",\n",
        "    \"tanggal\": \"2024-07-29\"\n",
        "  },\n",
        "  {\n",
        "    \"judul\": \"Bukan Makan Siang Bergizi Gratis, Papua Lebih Butuh Akses Pendidikan\",\n",
        "    \"isi\": \"Pada 17 Februari 2025, sejumlah pelajar di Provinsi Papua Pegunungan turun ke jalan melakukan aksi protes terhadap program makan bergizi gratis (MBG). Mereka menolak adanya program tersebut, dan justru menuntut pemerintah untuk memberikan pendidikan gratis. Aksi penolakan MBG sebenarnya terjadi lebih dahulu di Kabupaten Yahukimo, yang kemudian menjadi salah satu pemantik bagi aksi-aksi serupa di beberapa wilayah lain, seperti Intan Jaya, Jayawijaya, Jayapura, hingga Nabire. Ini merupakan buntut dari ambisi pemerintah yang bersikeras menerapkan program MBG di seluruh Indonesia. Tuntutan pelajar di Papua tersebut mencerminkan kegagalan negara dalam membaca kebutuhan nyata para siswa yang sesuai dengan konteks lokal di tanah Papua. Para pelajar di berbagai wilayah ini merasakan bagaimana kesenjangan kebijakan antara kebutuhan riil dan intervensi yang dilakukan oleh pemerintah, dalam hal ini antara kebutuhan atas akses pendidikan yang berkualitas dengan intervensi program MBG. Di Papua, pendidikanlah yang menjadi jalan menuju kesejahteraan — bukan bantuan semu berupa makan siang gratis. Kebijakan parsial seperti program MBG yang menghabiskan Rp400 triliun per tahun ini justru mengabaikan akar masalah sistemis sektor pendidikan di Tanah Papua selama ini; absennya guru di sekolah, kekurangan sarana dan prasarana pendidikan, serta kesenjangan akses. Dari aspek pangan lokal, masyarakat di Papua, khususnya di Papua Pegunungan, menjadikan keladi dan ipere (umbi-umbian) sebagai sumber karbohidrat utama. Ini adalah menu yang tidak pernah kita lihat ada dalam program MBG. Pada dasarnya, Papua kaya akan sumber daya alam yang dapat mencukupi kebutuhan pangan masyarakatnya secara mandiri. Budaya bercocok tanam dan berburu masih kuat di beberapa daerah, memungkinkan mereka untuk memenuhi kebutuhan nutrisi tanpa terlalu bergantung pada bantuan pemerintah. Oleh karena itu, intervensi dalam bentuk program MBG tidak secara signifikan menjawab kebutuhan utama mereka. MBG sebenarnya bukanlah hal baru. Dalam laporannya, Center of Economic and Law Studies (CELIOS) menghimpun penerapan program serupa di beberapa negara seperti India, Brasil, dan Meksiko. Namun, pendekatan universal dalam penerapan MBG di Indonesia dinilai mengancam efektivitas dari program tersebut. Dalam laporan yang sama, CELIOS memberikan rekomendasi penerapan pendekatan geografis bagi wilayah pedesaan dan pendekatan individu bagi wilayah perkotaan untuk meningkatkan efektivitas program MBG. Meski demikian, kami menilai implementasi program MBG di wilayah Papua bukan merupakan hal yang seluruhnya tepat. Hal ini dilandasi oleh karateristik masyarakat Papua di beberapa wilayah yang subsisten, yang artinya mereka dapat memenuhi kebutuhan dasar mereka sendiri secara kolektif tanpa bergantung pada sistem ekonomi modern. Akses ke pendidikan lebih sulit Papua Pegunungan merupakan salah satu wilayah dengan kondisi geografis yang menantang dan akses yang sulit. Daerah tersebut kerap menghadapi berbagai tantangan dalam proses pembangunan, termasuk di sektor pendidikan. Berbagai indikator menunjukkan bahwa Papua Pegunungan masih tertinggal dibandingkan daerah lain di Indonesia. Data BPS pada tahun 2024, misalnya, menunjukkan bahwa rata-rata lama sekolah masyarakat Papua Pegunungan tercatat sebesar 5,10 tahun dengan harapan lama sekolah hanya berkisar 9,97 tahun–terendah di Indonesia. Data ini mencerminkan bahwa permasalahan utama dalam pendidikan di Papua Pegunungan bukan sekadar kualitas, tetapi juga partisipasi siswa dalam pendidikan formal. Inilah yang seharusnya menjadi perhatian utama pemerintah. Namun, data makro tersebut belum sepenuhnya menggambarkan realitas pendidikan di Papua Pegunungan. Hasil observasi dan wawancara yang dilakukan oleh tim Gugus Tugas Papua (GTP) UGM pada Agustus 2024 menunjukkan bahwa kondisi di lapangan jauh dari ideal. Banyak masyarakat di Kabupaten Nduga dan Yahukimo terpaksa mengungsi ke pinggiran Kota Wamena akibat konflik dan alasan keamanan. Kondisi ini memaksa mereka untuk hidup dalam segala keterbatasan, tidak terkecuali para anak-anak yang harus berangkat sekolah tanpa seragam dan fasilitas pendukung belajar yang layak. Mereka bercerita, hanya ada sedikit sekolah di kampung halamannya (Nduga) dan mayoritas sulit diakses karena jaraknya yang jauh, sehingga kondisi di Wamena jauh lebih baik. “Kaka, di sa pu kampung tu, sekolah jauh-jauh ooo”(kakak, di kampung saya sekolah itu jaraknya jauh)“ ujar salah satu murid kepada tim peneliti GTP UGM. Kondisi ini terkonfirmasi oleh data Kemendikdasmen yang menyatakan hanya ada 43 SD-sederajat, 9 SMP, dan 2 SMA di Kabupaten Nduga. Perlunya realokasi anggaran Sebagai alternatif, alokasi anggaran yang lebih efektif untuk Papua dapat diarahkan pada pemerataan akses pendidikan. Pemerintah perlu membangun lebih banyak sekolah di distrik-distrik terpencil agar anak-anak di Papua Pegunungan memiliki akses yang lebih mudah terhadap pendidikan formal. Perekrutan guru lokal harus menjadi prioritas untuk memastikan tenaga pengajar memahami budaya dan kebutuhan siswa di daerah tersebut. Kurikulum juga perlu disesuaikan dengan konteks sosial-budaya setempat agar lebih relevan dan efektif. Papua juga membutuhkan subsidi penuh untuk pendidikan dasar dan menengah. Banyak siswa di Papua Pegunungan menghadapi kesulitan ekonomi yang menghambat mereka untuk tetap bersekolah. Subsidi harus mencakup pembiayaan kebutuhan nonakademis seperti alat tulis, seragam, dan akses internet bagi siswa di daerah terpencil. Dengan begitu, mereka dapat belajar tanpa terbebani biaya tambahan yang sering kali menjadi kendala utama dalam melanjutkan pendidikan. Pemerintah juga sebaiknya melakukan perluasan program beasiswa afirmasi, contohnya Beasiswa ADik, agar lebih banyak pelajar Papua yang memiliki kesempatan untuk melanjutkan pendidikan tinggi. Pendampingan dan bimbingan bagi penerima beasiswa juga perlu diperkuat agar mereka dapat menyelesaikan pendidikan dengan sukses dan kembali berkontribusi bagi daerah asal mereka. Selain itu, sistem pengajaran yang inklusif perlu diterapkan. Pendidikan di Papua Pegunungan harus memperhitungkan kearifan lokal dan bahasa daerah dalam proses pembelajaran agar lebih efektif. Perlu juga adanya peningkatan kapasitas guru lokal melalui pelatihan yang berkelanjutan dan optimal. Dengan demikian, mereka dapat memberikan pengajaran yang lebih sesuai dengan kebutuhan siswa serta meningkatkan kualitas pendidikan secara keseluruhan. Di titik ini, program MBG tetap dapat dijalankan dengan menyesuaikan target penerima manfaatnya agar benar-benar menyasar mereka yang mengalami masalah gizi. Namun, alokasi anggaran secara keseluruhan harus mencerminkan prioritas utama yang lebih mendasar, yaitu membangun sistem pendidikan yang berkualitas dan inklusif bagi seluruh anak Papua. Dalam konteks pembangunan Papua Pegunungan, pendidikan harus ditempatkan sebagai prioritas utama. Jika negara benar-benar berkomitmen terhadap masa depan Papua, maka investasi dalam sektor pendidikan harus menjadi fokus utama hari ini, bukan hanya bantuan konsumtif seperti MBG. Dengan demikian, anak-anak Papua dapat memperoleh akses pendidikan yang lebih baik, yang pada akhirnya akan membantu mereka melakukan mobilitas sosial vertikal.\",\n",
        "    \"sumber\": \"Kompas\",\n",
        "    \"tanggal\": \"2025-02-26\"\n",
        "  },\n",
        "  {\n",
        "    \"judul\": \"Zulhas Tanggapi Sambat Bu Kantin soal Omzet Turun gegara Makan Bergizi Gratis\",\n",
        "    \"isi\": \"Menteri Koordinator (Menko) Bidang Pangan, Zulkifli Hasan, merespons keluhan ibu kantin dengan hadirnya makan bergizi gratis (MBG). Zulhas, sapaannya, mengatakan bahwa program MBG baru digulirkan beberapa hari. Untuk itu, dirinya ingin melihat terlebih dahulu ke depan akan seperti apa. Kan baru berapa bulan, beberapa hari. Nanti kita lihat baru beberapa hari, yak, kata Zulhas ditemui di Diamond Convention Hall, Solo, Rabu (15/1/2025). Sejauh ini, kata Zulhas, anggaran dari pemerintah untuk MBG baru dianggarkan Rp 71 triliun. Dirinya memastikan dengan anggaran tersebut bisa digunakan hingga akhir 2025. Ya kan baru (berjalan MBG, red) memang anggaran baru Rp 71 triliun itu akan memberikan manfaat kira-kira sampai 17 juta sampai akhir tahun jadi kemarin banyak motong sampai Juni, nggak, sampai akhir tahun 17 juta (sasaran), jelasnya. Ketua Umum Partai Amanat Nasional (PAN) itu mengatakan, bila memungkinkan dan APBN masih ada, Presiden Prabowo Subianto akan menambah anggaran. Nah kemungkinan nanti kalau pemerintah longgar, Bapak Presiden, kalau longgar APBN-nya akan dilihat dulu, kalau longgar. Kalau bisa ditambah Rp 140 triliun maka pengguna manfaat bisa 80 juta lebih, pungkasnya. Keluhan Ibu Kantin Diberitakan sebelumnya, program Makan Bergizi Gratis (MBG) yang sudah bergulir lima hari ini berimbas pada pedagang di kantin sekolah. Beberapa pedagang kantin sambat mengalami penurunan penghasilan. Pantauan detikJateng di SMPN 12 Semarang, Kelurahan Srondol Wetan, Kecamatan Banyumanik, Kota Semarang, ada sekitar tujuh pedagang di kantin sekolah. Suasana kantin itu tampak sepi. Para siswa terlihat makan siang dengan menu makanan dari program MBG. Salah satu pedagang, Rofiana (42), mengaku telah mengalami penurunan omzet selama program MBG berjalan lima hari ini. Ada penurunan omzet, nasi-nasi itu sisa. Biasanya ada 35 stok nasi itu habis, sekarang sisa. Kalau minum biasa, tetap habis, kata Rofiana saat ditemui detikJateng di SMPN 12 Semarang, Jumat (10/1). Selain di Semarang, keluhan juga disuarakan Nari (54), ibu kantin di Kecamatan Purwokerto Timur, Cilacap. Nari yang mengelola kantin di SD Negeri 1 Kranji mengaku rekanannya UMKM makanan basah meliburkan diri usai makan bergizi gratis digulirkan. Yang basah-basah itu titipan semua. Saya tidak ngeliburin, dia yang ngeliburin sendiri, sudah takut dahulu ada program makan gratis. Takutnya tidak laku, apa-apa mahal jadi istirahat dahulu. Setiap hari mereka nitip ke sini terus, kata dia kepada wartawan, Senin (6/1).\",\n",
        "    \"sumber\": \"Detik\",\n",
        "    \"tanggal\": \"2025-01-15\"\n",
        "  }\n",
        "]\n",
        "\n",
        "df = pd.DataFrame(data)\n",
        "df"
      ],
      "metadata": {
        "id": "D2Cb1DBZv43y",
        "outputId": "dc60d53f-8ab1-4f69-f780-454fefbf9f09",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 206
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                                               judul  \\\n",
              "0  Sekolah Lelah Banyak Temuan Ulat di Menu Makan...   \n",
              "1  Puluhan Siswa SDN 28 Simpang Raja Diduga Kerac...   \n",
              "2  Bapanas Ungkap Program Makan Siang Gratis Diga...   \n",
              "3  Bukan Makan Siang Bergizi Gratis, Papua Lebih ...   \n",
              "4  Zulhas Tanggapi Sambat Bu Kantin soal Omzet Tu...   \n",
              "\n",
              "                                                 isi         sumber  \\\n",
              "0  Permasalahan program makan siang gratis atau M...    TribunJatim   \n",
              "1  Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Si...      KabarPali   \n",
              "2  Badan Pangan Nasional (Bapanas) memberikan inf...  CNN Indonesia   \n",
              "3  Pada 17 Februari 2025, sejumlah pelajar di Pro...         Kompas   \n",
              "4  Menteri Koordinator (Menko) Bidang Pangan, Zul...          Detik   \n",
              "\n",
              "      tanggal  \n",
              "0  2025-05-26  \n",
              "1  2025-05-05  \n",
              "2  2024-07-29  \n",
              "3  2025-02-26  \n",
              "4  2025-01-15  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-501c2c3c-621c-47bc-a942-4b90cb9afc33\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>judul</th>\n",
              "      <th>isi</th>\n",
              "      <th>sumber</th>\n",
              "      <th>tanggal</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>Sekolah Lelah Banyak Temuan Ulat di Menu Makan...</td>\n",
              "      <td>Permasalahan program makan siang gratis atau M...</td>\n",
              "      <td>TribunJatim</td>\n",
              "      <td>2025-05-26</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>Puluhan Siswa SDN 28 Simpang Raja Diduga Kerac...</td>\n",
              "      <td>Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Si...</td>\n",
              "      <td>KabarPali</td>\n",
              "      <td>2025-05-05</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>Bapanas Ungkap Program Makan Siang Gratis Diga...</td>\n",
              "      <td>Badan Pangan Nasional (Bapanas) memberikan inf...</td>\n",
              "      <td>CNN Indonesia</td>\n",
              "      <td>2024-07-29</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>Bukan Makan Siang Bergizi Gratis, Papua Lebih ...</td>\n",
              "      <td>Pada 17 Februari 2025, sejumlah pelajar di Pro...</td>\n",
              "      <td>Kompas</td>\n",
              "      <td>2025-02-26</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>Zulhas Tanggapi Sambat Bu Kantin soal Omzet Tu...</td>\n",
              "      <td>Menteri Koordinator (Menko) Bidang Pangan, Zul...</td>\n",
              "      <td>Detik</td>\n",
              "      <td>2025-01-15</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-501c2c3c-621c-47bc-a942-4b90cb9afc33')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-501c2c3c-621c-47bc-a942-4b90cb9afc33 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-501c2c3c-621c-47bc-a942-4b90cb9afc33');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-2585ec05-de78-4dc4-9600-eeb6541c80a1\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-2585ec05-de78-4dc4-9600-eeb6541c80a1')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-2585ec05-de78-4dc4-9600-eeb6541c80a1 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_33e12c66-8876-4ebc-a239-9cf11e3cd935\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_33e12c66-8876-4ebc-a239-9cf11e3cd935 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df",
              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"judul\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"Puluhan Siswa SDN 28 Simpang Raja Diduga Keracunan Usai Santap Makan Siang Gratis\",\n          \"Zulhas Tanggapi Sambat Bu Kantin soal Omzet Turun gegara Makan Bergizi Gratis\",\n          \"Bapanas Ungkap Program Makan Siang Gratis Diganti Sarapan Gratis\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"isi\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Simpang Raja, yang terletak di Kelurahan Handayani Mulia, Kecamatan Talang Ubi, Kabupaten Penukal Abab Lematang Ilir (PALI), dilarikan ke Rumah Sakit Umum Daerah (RSUD) Talang Ubi H. Anwar Mahakil pada Senin siang (5/5/2025). Mereka diduga mengalami keracunan makanan setelah mengikuti program makan siang bergizi gratis yang diselenggarakan di sekolah. Menurut informasi yang dihimpun, tak lama setelah menyantap makan siang, para siswa mengeluhkan gejala seperti pusing, sakit perut, mual, dan muntah. Kondisi ini memicu kepanikan, baik di sekolah maupun di rumah sakit. Suasana di RSUD menjadi riuh oleh jerit tangis para orang tua yang menyaksikan anak-anak mereka terbaring lemah dalam kondisi mengkhawatirkan. Menu makan siang yang disajikan pada hari itu terdiri dari nasi dan olahan ikan tongkol. Sejumlah pihak menduga ikan tongkol tersebut menjadi penyebab utama keracunan. Seorang wali murid menyampaikan kekhawatirannya, \\u201cAnak saya bilang ikannya terasa aneh, dan tidak lama setelah makan langsung muntah-muntah. Kami khawatir makanan itu tidak layak konsumsi,\\u201d ungkapnya. Program makan siang bergizi gratis ini merupakan inisiatif pemerintah untuk meningkatkan asupan gizi siswa, khususnya di wilayah terpencil dan kurang mampu. Namun, insiden ini menimbulkan pertanyaan serius terkait pengawasan mutu dan keamanan makanan yang disajikan dalam program tersebut. Hingga berita ini diturunkan, pihak berwenang belum memberikan pernyataan resmi terkait penyebab keracunan massal tersebut. Pemeriksaan lebih lanjut dari pihak kesehatan diharapkan dapat segera mengungkap penyebab pasti dan mencegah kejadian serupa terulang di kemudian hari.\",\n          \"Menteri Koordinator (Menko) Bidang Pangan, Zulkifli Hasan, merespons keluhan ibu kantin dengan hadirnya makan bergizi gratis (MBG). Zulhas, sapaannya, mengatakan bahwa program MBG baru digulirkan beberapa hari. Untuk itu, dirinya ingin melihat terlebih dahulu ke depan akan seperti apa. Kan baru berapa bulan, beberapa hari. Nanti kita lihat baru beberapa hari, yak, kata Zulhas ditemui di Diamond Convention Hall, Solo, Rabu (15/1/2025). Sejauh ini, kata Zulhas, anggaran dari pemerintah untuk MBG baru dianggarkan Rp 71 triliun. Dirinya memastikan dengan anggaran tersebut bisa digunakan hingga akhir 2025. Ya kan baru (berjalan MBG, red) memang anggaran baru Rp 71 triliun itu akan memberikan manfaat kira-kira sampai 17 juta sampai akhir tahun jadi kemarin banyak motong sampai Juni, nggak, sampai akhir tahun 17 juta (sasaran), jelasnya. Ketua Umum Partai Amanat Nasional (PAN) itu mengatakan, bila memungkinkan dan APBN masih ada, Presiden Prabowo Subianto akan menambah anggaran. Nah kemungkinan nanti kalau pemerintah longgar, Bapak Presiden, kalau longgar APBN-nya akan dilihat dulu, kalau longgar. Kalau bisa ditambah Rp 140 triliun maka pengguna manfaat bisa 80 juta lebih, pungkasnya. Keluhan Ibu Kantin Diberitakan sebelumnya, program Makan Bergizi Gratis (MBG) yang sudah bergulir lima hari ini berimbas pada pedagang di kantin sekolah. Beberapa pedagang kantin sambat mengalami penurunan penghasilan. Pantauan detikJateng di SMPN 12 Semarang, Kelurahan Srondol Wetan, Kecamatan Banyumanik, Kota Semarang, ada sekitar tujuh pedagang di kantin sekolah. Suasana kantin itu tampak sepi. Para siswa terlihat makan siang dengan menu makanan dari program MBG. Salah satu pedagang, Rofiana (42), mengaku telah mengalami penurunan omzet selama program MBG berjalan lima hari ini. Ada penurunan omzet, nasi-nasi itu sisa. Biasanya ada 35 stok nasi itu habis, sekarang sisa. Kalau minum biasa, tetap habis, kata Rofiana saat ditemui detikJateng di SMPN 12 Semarang, Jumat (10/1). Selain di Semarang, keluhan juga disuarakan Nari (54), ibu kantin di Kecamatan Purwokerto Timur, Cilacap. Nari yang mengelola kantin di SD Negeri 1 Kranji mengaku rekanannya UMKM makanan basah meliburkan diri usai makan bergizi gratis digulirkan. Yang basah-basah itu titipan semua. Saya tidak ngeliburin, dia yang ngeliburin sendiri, sudah takut dahulu ada program makan gratis. Takutnya tidak laku, apa-apa mahal jadi istirahat dahulu. Setiap hari mereka nitip ke sini terus, kata dia kepada wartawan, Senin (6/1).\",\n          \"Badan Pangan Nasional (Bapanas) memberikan informasi terbaru terkait rencana program makan bergizi gratis yang dicanangkan presiden dan wakil presiden terpilih Prabowo Subianto Dan Gibran Rakabuming Raka. Sekretaris Utama Bapanas, Sarwo Edhy menyebut program unggulan dalam kampanye Prabowo Gibran bukan untuk makan siang melainkan hanya untuk sarapan pagi. Sarwo menegaskan Bapanas sangat mendukung program besutan pemerintah baru mendatang. Bahkan pihaknyapun siap menyediakan bahan baku untuk melaksanakan program makan siang gratis. Di sisi lain, hampir serupa dengan program makan siang gratis Bapanas sudah lebih dulu menjalankan program edukasi pangan beragam bergizi seimbang dan aman (B2SA). Bapanas juga sidah menjalankan program gerakan edukasi dan pemberian pangan bergizi untuk siswa, genius. Program ini merupakan edukasi pemenuhan pangan bergizi bagi generasi muda dalam membangun sumber daya manusia yang sehat, aktif dan produktif dengan pola B2SA.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sumber\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"KabarPali\",\n          \"Detik\",\n          \"CNN Indonesia\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"tanggal\",\n      \"properties\": {\n        \"dtype\": \"object\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"2025-05-05\",\n          \"2025-01-15\",\n          \"2024-07-29\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "PREPROCESSING DATA"
      ],
      "metadata": {
        "id": "BJ0LjXFuJZd6"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print(\"Memproses data teks...\")\n",
        "df['judul_processed'] = df['judul'].apply(preprocess_text)\n",
        "df['isi_processed'] = df['isi'].apply(preprocess_text)\n",
        "\n",
        "df"
      ],
      "metadata": {
        "id": "831e_qNlwGjT",
        "outputId": "364e6ec9-f570-45cf-83f8-04d483570588",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 311
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Memproses data teks...\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                                               judul  \\\n",
              "0  Sekolah Lelah Banyak Temuan Ulat di Menu Makan...   \n",
              "1  Puluhan Siswa SDN 28 Simpang Raja Diduga Kerac...   \n",
              "2  Bapanas Ungkap Program Makan Siang Gratis Diga...   \n",
              "3  Bukan Makan Siang Bergizi Gratis, Papua Lebih ...   \n",
              "4  Zulhas Tanggapi Sambat Bu Kantin soal Omzet Tu...   \n",
              "\n",
              "                                                 isi         sumber  \\\n",
              "0  Permasalahan program makan siang gratis atau M...    TribunJatim   \n",
              "1  Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Si...      KabarPali   \n",
              "2  Badan Pangan Nasional (Bapanas) memberikan inf...  CNN Indonesia   \n",
              "3  Pada 17 Februari 2025, sejumlah pelajar di Pro...         Kompas   \n",
              "4  Menteri Koordinator (Menko) Bidang Pangan, Zul...          Detik   \n",
              "\n",
              "      tanggal                                    judul_processed  \\\n",
              "0  2025-05-26  sekolah lelah temu ulat menu makan siang grati...   \n",
              "1  2025-05-05  puluh siswa sdn simpang raja duga racun santap...   \n",
              "2  2024-07-29  bapanas program makan siang gratis ganti sarap...   \n",
              "3  2025-02-26    makan siang gizi gratis papua butuh akses didik   \n",
              "4  2025-01-15  zulhas tanggap sambat bu kantin omzet turun ge...   \n",
              "\n",
              "                                       isi_processed  \n",
              "0  masalah program makan siang gratis makan gizi ...  \n",
              "1  puluh siswa sekolah dasar negeri sdn simpang r...  \n",
              "2  badan pangan nasional bapanas informasi baru k...  \n",
              "3  februari ajar provinsi papua gunung turun jala...  \n",
              "4  menteri koordinator menko bidang pangan zulkif...  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-bace20ac-aa8d-4aa2-ab4f-5b4a4151c70c\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>judul</th>\n",
              "      <th>isi</th>\n",
              "      <th>sumber</th>\n",
              "      <th>tanggal</th>\n",
              "      <th>judul_processed</th>\n",
              "      <th>isi_processed</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>Sekolah Lelah Banyak Temuan Ulat di Menu Makan...</td>\n",
              "      <td>Permasalahan program makan siang gratis atau M...</td>\n",
              "      <td>TribunJatim</td>\n",
              "      <td>2025-05-26</td>\n",
              "      <td>sekolah lelah temu ulat menu makan siang grati...</td>\n",
              "      <td>masalah program makan siang gratis makan gizi ...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>Puluhan Siswa SDN 28 Simpang Raja Diduga Kerac...</td>\n",
              "      <td>Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Si...</td>\n",
              "      <td>KabarPali</td>\n",
              "      <td>2025-05-05</td>\n",
              "      <td>puluh siswa sdn simpang raja duga racun santap...</td>\n",
              "      <td>puluh siswa sekolah dasar negeri sdn simpang r...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>Bapanas Ungkap Program Makan Siang Gratis Diga...</td>\n",
              "      <td>Badan Pangan Nasional (Bapanas) memberikan inf...</td>\n",
              "      <td>CNN Indonesia</td>\n",
              "      <td>2024-07-29</td>\n",
              "      <td>bapanas program makan siang gratis ganti sarap...</td>\n",
              "      <td>badan pangan nasional bapanas informasi baru k...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>Bukan Makan Siang Bergizi Gratis, Papua Lebih ...</td>\n",
              "      <td>Pada 17 Februari 2025, sejumlah pelajar di Pro...</td>\n",
              "      <td>Kompas</td>\n",
              "      <td>2025-02-26</td>\n",
              "      <td>makan siang gizi gratis papua butuh akses didik</td>\n",
              "      <td>februari ajar provinsi papua gunung turun jala...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>Zulhas Tanggapi Sambat Bu Kantin soal Omzet Tu...</td>\n",
              "      <td>Menteri Koordinator (Menko) Bidang Pangan, Zul...</td>\n",
              "      <td>Detik</td>\n",
              "      <td>2025-01-15</td>\n",
              "      <td>zulhas tanggap sambat bu kantin omzet turun ge...</td>\n",
              "      <td>menteri koordinator menko bidang pangan zulkif...</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-bace20ac-aa8d-4aa2-ab4f-5b4a4151c70c')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-bace20ac-aa8d-4aa2-ab4f-5b4a4151c70c button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-bace20ac-aa8d-4aa2-ab4f-5b4a4151c70c');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-2d7cf8c4-18c8-4892-97aa-9454d2f9615d\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-2d7cf8c4-18c8-4892-97aa-9454d2f9615d')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-2d7cf8c4-18c8-4892-97aa-9454d2f9615d button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_f46032ee-3a6e-49a2-9091-f516cad10f59\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_f46032ee-3a6e-49a2-9091-f516cad10f59 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df",
              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"judul\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"Puluhan Siswa SDN 28 Simpang Raja Diduga Keracunan Usai Santap Makan Siang Gratis\",\n          \"Zulhas Tanggapi Sambat Bu Kantin soal Omzet Turun gegara Makan Bergizi Gratis\",\n          \"Bapanas Ungkap Program Makan Siang Gratis Diganti Sarapan Gratis\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"isi\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Simpang Raja, yang terletak di Kelurahan Handayani Mulia, Kecamatan Talang Ubi, Kabupaten Penukal Abab Lematang Ilir (PALI), dilarikan ke Rumah Sakit Umum Daerah (RSUD) Talang Ubi H. Anwar Mahakil pada Senin siang (5/5/2025). Mereka diduga mengalami keracunan makanan setelah mengikuti program makan siang bergizi gratis yang diselenggarakan di sekolah. Menurut informasi yang dihimpun, tak lama setelah menyantap makan siang, para siswa mengeluhkan gejala seperti pusing, sakit perut, mual, dan muntah. Kondisi ini memicu kepanikan, baik di sekolah maupun di rumah sakit. Suasana di RSUD menjadi riuh oleh jerit tangis para orang tua yang menyaksikan anak-anak mereka terbaring lemah dalam kondisi mengkhawatirkan. Menu makan siang yang disajikan pada hari itu terdiri dari nasi dan olahan ikan tongkol. Sejumlah pihak menduga ikan tongkol tersebut menjadi penyebab utama keracunan. Seorang wali murid menyampaikan kekhawatirannya, \\u201cAnak saya bilang ikannya terasa aneh, dan tidak lama setelah makan langsung muntah-muntah. Kami khawatir makanan itu tidak layak konsumsi,\\u201d ungkapnya. Program makan siang bergizi gratis ini merupakan inisiatif pemerintah untuk meningkatkan asupan gizi siswa, khususnya di wilayah terpencil dan kurang mampu. Namun, insiden ini menimbulkan pertanyaan serius terkait pengawasan mutu dan keamanan makanan yang disajikan dalam program tersebut. Hingga berita ini diturunkan, pihak berwenang belum memberikan pernyataan resmi terkait penyebab keracunan massal tersebut. Pemeriksaan lebih lanjut dari pihak kesehatan diharapkan dapat segera mengungkap penyebab pasti dan mencegah kejadian serupa terulang di kemudian hari.\",\n          \"Menteri Koordinator (Menko) Bidang Pangan, Zulkifli Hasan, merespons keluhan ibu kantin dengan hadirnya makan bergizi gratis (MBG). Zulhas, sapaannya, mengatakan bahwa program MBG baru digulirkan beberapa hari. Untuk itu, dirinya ingin melihat terlebih dahulu ke depan akan seperti apa. Kan baru berapa bulan, beberapa hari. Nanti kita lihat baru beberapa hari, yak, kata Zulhas ditemui di Diamond Convention Hall, Solo, Rabu (15/1/2025). Sejauh ini, kata Zulhas, anggaran dari pemerintah untuk MBG baru dianggarkan Rp 71 triliun. Dirinya memastikan dengan anggaran tersebut bisa digunakan hingga akhir 2025. Ya kan baru (berjalan MBG, red) memang anggaran baru Rp 71 triliun itu akan memberikan manfaat kira-kira sampai 17 juta sampai akhir tahun jadi kemarin banyak motong sampai Juni, nggak, sampai akhir tahun 17 juta (sasaran), jelasnya. Ketua Umum Partai Amanat Nasional (PAN) itu mengatakan, bila memungkinkan dan APBN masih ada, Presiden Prabowo Subianto akan menambah anggaran. Nah kemungkinan nanti kalau pemerintah longgar, Bapak Presiden, kalau longgar APBN-nya akan dilihat dulu, kalau longgar. Kalau bisa ditambah Rp 140 triliun maka pengguna manfaat bisa 80 juta lebih, pungkasnya. Keluhan Ibu Kantin Diberitakan sebelumnya, program Makan Bergizi Gratis (MBG) yang sudah bergulir lima hari ini berimbas pada pedagang di kantin sekolah. Beberapa pedagang kantin sambat mengalami penurunan penghasilan. Pantauan detikJateng di SMPN 12 Semarang, Kelurahan Srondol Wetan, Kecamatan Banyumanik, Kota Semarang, ada sekitar tujuh pedagang di kantin sekolah. Suasana kantin itu tampak sepi. Para siswa terlihat makan siang dengan menu makanan dari program MBG. Salah satu pedagang, Rofiana (42), mengaku telah mengalami penurunan omzet selama program MBG berjalan lima hari ini. Ada penurunan omzet, nasi-nasi itu sisa. Biasanya ada 35 stok nasi itu habis, sekarang sisa. Kalau minum biasa, tetap habis, kata Rofiana saat ditemui detikJateng di SMPN 12 Semarang, Jumat (10/1). Selain di Semarang, keluhan juga disuarakan Nari (54), ibu kantin di Kecamatan Purwokerto Timur, Cilacap. Nari yang mengelola kantin di SD Negeri 1 Kranji mengaku rekanannya UMKM makanan basah meliburkan diri usai makan bergizi gratis digulirkan. Yang basah-basah itu titipan semua. Saya tidak ngeliburin, dia yang ngeliburin sendiri, sudah takut dahulu ada program makan gratis. Takutnya tidak laku, apa-apa mahal jadi istirahat dahulu. Setiap hari mereka nitip ke sini terus, kata dia kepada wartawan, Senin (6/1).\",\n          \"Badan Pangan Nasional (Bapanas) memberikan informasi terbaru terkait rencana program makan bergizi gratis yang dicanangkan presiden dan wakil presiden terpilih Prabowo Subianto Dan Gibran Rakabuming Raka. Sekretaris Utama Bapanas, Sarwo Edhy menyebut program unggulan dalam kampanye Prabowo Gibran bukan untuk makan siang melainkan hanya untuk sarapan pagi. Sarwo menegaskan Bapanas sangat mendukung program besutan pemerintah baru mendatang. Bahkan pihaknyapun siap menyediakan bahan baku untuk melaksanakan program makan siang gratis. Di sisi lain, hampir serupa dengan program makan siang gratis Bapanas sudah lebih dulu menjalankan program edukasi pangan beragam bergizi seimbang dan aman (B2SA). Bapanas juga sidah menjalankan program gerakan edukasi dan pemberian pangan bergizi untuk siswa, genius. Program ini merupakan edukasi pemenuhan pangan bergizi bagi generasi muda dalam membangun sumber daya manusia yang sehat, aktif dan produktif dengan pola B2SA.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sumber\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"KabarPali\",\n          \"Detik\",\n          \"CNN Indonesia\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"tanggal\",\n      \"properties\": {\n        \"dtype\": \"object\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"2025-05-05\",\n          \"2025-01-15\",\n          \"2024-07-29\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"judul_processed\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"puluh siswa sdn simpang raja duga racun santap makan siang gratis\",\n          \"zulhas tanggap sambat bu kantin omzet turun gegara makan gizi gratis\",\n          \"bapanas program makan siang gratis ganti sarap gratis\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"isi_processed\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"puluh siswa sekolah dasar negeri sdn simpang raja letak lurah handayani mulia camat talang ubi kabupaten tukal abab lematang ilir pali lari rumah sakit daerah rsud talang ubi h anwar mahakil senin siang duga alami racun makan ikut program makan siang gizi gratis selenggara sekolah informasi himpun santap makan siang siswa keluh gejala pusing sakit perut mual muntah kondisi picu panik sekolah rumah sakit suasana rsud riuh jerit tangis orang tua saksi anakanak baring lemah kondisi khawatir menu makan siang saji nasi olah ikan tongkol duga ikan tongkol sebab utama racun wali murid khawatir anak bilang ikan aneh makan langsung muntahmuntah khawatir makan layak konsumsi program makan siang gizi gratis inisiatif perintah tingkat asupan gizi siswa wilayah pencil insiden timbul serius kait awas mutu aman makan saji program berita turun wenang nyata resmi kait sebab racun massal periksa sehat harap ungkap sebab cegah jadi ulang\",\n          \"menteri koordinator menko bidang pangan zulkifli hasan respons keluh kantin hadir makan gizi gratis mbg zulhas sapa program mbg gulir lihat yak zulhas temu diamond convention hall solo rabu zulhas anggar perintah mbg anggar rp triliun anggar ya jalan mbg red anggar rp triliun manfaat kirakira juta kemarin motong juni nggak juta sasar ketua partai amanat nasional pan apbn presiden prabowo subianto tambah anggar perintah longgar presiden longgar apbnnya longgar tambah rp triliun guna manfaat juta pungkas keluh kantin berita program makan gizi gratis mbg gulir imbas dagang kantin sekolah dagang kantin sambat alami turun hasil pantau detikjateng smpn semarang lurah srondol wetan camat banyumanik kota semarang tujuh dagang kantin sekolah suasana kantin sepi siswa makan siang menu makan program mbg salah dagang rofiana aku alami turun omzet program mbg jalan turun omzet nasinasi sisa stok nasi habis sisa minum habis rofiana temu detikjateng smpn semarang jumat semarang keluh suara nari kantin camat purwokerto timur cilacap nari kelola kantin sd negeri kranji aku rekan umkm makan basah libur makan gizi gratis gulir basahbasah titip ngeliburin ngeliburin takut program makan gratis takut laku apaapa mahal istirahat nitip wartawan senin\",\n          \"badan pangan nasional bapanas informasi baru kait rencana program makan gizi gratis canang presiden wakil presiden pilih prabowo subianto gibran rakabuming raka sekretaris utama bapanas sarwo edhy sebut program unggul kampanye prabowo gibran makan siang sarap pagi sarwo bapanas dukung program besut perintah pihak sedia bahan baku laksana program makan siang gratis sisi program makan siang gratis bapanas jalan program edukasi pangan agam gizi imbang aman bsa bapanas sidah jalan program gera edukasi beri pangan gizi siswa genius program edukasi penuh pangan gizi generasi muda bangun sumber daya manusia sehat aktif produktif pola bsa\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "EKSTRAKSI FITUR TF-IDF"
      ],
      "metadata": {
        "id": "SY7_mvllJcEB"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "\n",
        "# Gabungkan semua teks untuk membangun vocabulary\n",
        "all_text = pd.concat([df['judul_processed'], df['isi_processed']])\n",
        "\n",
        "# Inisialisasi TF-IDF Vectorizer\n",
        "tfidf = TfidfVectorizer(analyzer='word', ngram_range=(1, 2), min_df=2)\n",
        "\n",
        "# Fit ke seluruh teks untuk membangun vocabulary\n",
        "tfidf.fit(all_text)\n",
        "\n",
        "# Transform judul dan isi berita\n",
        "tfidf_judul = tfidf.transform(df['judul_processed'])\n",
        "tfidf_isi = tfidf.transform(df['isi_processed'])\n"
      ],
      "metadata": {
        "id": "5euZ13yIyCFC"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# Create a DataFrame from the TF-IDF matrix for 'judul'\n",
        "tfidf_judul_df = pd.DataFrame(tfidf_judul.toarray(), columns=tfidf.get_feature_names_out())\n",
        "\n",
        "# Display the DataFrame\n",
        "print(\"TF-IDF Matrix for Judul:\")\n",
        "print(tfidf_judul_df)\n",
        "\n",
        "# Create a DataFrame from the TF-IDF matrix for 'isi'\n",
        "tfidf_isi_df = pd.DataFrame(tfidf_isi.toarray(), columns=tfidf.get_feature_names_out())\n",
        "\n",
        "# Display the DataFrame\n",
        "print(\"\\nTF-IDF Matrix for Isi:\")\n",
        "tfidf_isi_df\n"
      ],
      "metadata": {
        "id": "8UaattpzyDSR",
        "outputId": "044a0cae-5612-4425-f3e4-cafdf9de064d",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 709
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "TF-IDF Matrix for Judul:\n",
            "         ac  ajar  akibat     akses  akses didik  alami  alokasi  aman  anak  \\\n",
            "0  0.296921   0.0     0.0  0.000000     0.000000    0.0      0.0   0.0   0.0   \n",
            "1  0.000000   0.0     0.0  0.000000     0.000000    0.0      0.0   0.0   0.0   \n",
            "2  0.000000   0.0     0.0  0.000000     0.000000    0.0      0.0   0.0   0.0   \n",
            "3  0.000000   0.0     0.0  0.335952     0.335952    0.0      0.0   0.0   0.0   \n",
            "4  0.000000   0.0     0.0  0.000000     0.000000    0.0      0.0   0.0   0.0   \n",
            "\n",
            "   anakanak  ...  tingkat  triliun     turun  turun omzet      ulat  \\\n",
            "0       0.0  ...      0.0      0.0  0.000000          0.0  0.296921   \n",
            "1       0.0  ...      0.0      0.0  0.000000          0.0  0.000000   \n",
            "2       0.0  ...      0.0      0.0  0.000000          0.0  0.000000   \n",
            "3       0.0  ...      0.0      0.0  0.000000          0.0  0.000000   \n",
            "4       0.0  ...      0.0      0.0  0.290622          0.0  0.000000   \n",
            "\n",
            "   ulat menu  utama  wakil  wilayah    zulhas  \n",
            "0   0.296921    0.0    0.0      0.0  0.000000  \n",
            "1   0.000000    0.0    0.0      0.0  0.000000  \n",
            "2   0.000000    0.0    0.0      0.0  0.000000  \n",
            "3   0.000000    0.0    0.0      0.0  0.000000  \n",
            "4   0.000000    0.0    0.0      0.0  0.416044  \n",
            "\n",
            "[5 rows x 148 columns]\n",
            "\n",
            "TF-IDF Matrix for Isi:\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "         ac      ajar    akibat     akses  akses didik     alami   alokasi  \\\n",
              "0  0.088373  0.132559  0.044186  0.000000     0.000000  0.000000  0.044186   \n",
              "1  0.000000  0.000000  0.000000  0.000000     0.000000  0.081513  0.000000   \n",
              "2  0.000000  0.000000  0.000000  0.000000     0.000000  0.000000  0.000000   \n",
              "3  0.000000  0.224654  0.022465  0.202188     0.089861  0.019655  0.044931   \n",
              "4  0.000000  0.000000  0.000000  0.000000     0.000000  0.103870  0.000000   \n",
              "\n",
              "       aman      anak  anakanak  ...   tingkat   triliun     turun  \\\n",
              "0  0.000000  0.000000  0.000000  ...  0.038658  0.000000  0.061732   \n",
              "1  0.081513  0.093170  0.093170  ...  0.081513  0.000000  0.065083   \n",
              "2  0.081159  0.000000  0.000000  ...  0.000000  0.000000  0.000000   \n",
              "3  0.019655  0.022465  0.067396  ...  0.058964  0.022465  0.015693   \n",
              "4  0.000000  0.000000  0.000000  ...  0.000000  0.178087  0.124400   \n",
              "\n",
              "   turun omzet      ulat  ulat menu     utama     wakil   wilayah    zulhas  \n",
              "0     0.088373  0.353492   0.044186  0.000000  0.044186  0.000000  0.000000  \n",
              "1     0.000000  0.000000   0.000000  0.081513  0.000000  0.093170  0.000000  \n",
              "2     0.000000  0.000000   0.000000  0.081159  0.092765  0.000000  0.000000  \n",
              "3     0.000000  0.000000   0.000000  0.157236  0.000000  0.157258  0.000000  \n",
              "4     0.118724  0.000000   0.000000  0.000000  0.000000  0.000000  0.178087  \n",
              "\n",
              "[5 rows x 148 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-346a0d24-654e-4c9d-92bd-1143af24da25\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>ac</th>\n",
              "      <th>ajar</th>\n",
              "      <th>akibat</th>\n",
              "      <th>akses</th>\n",
              "      <th>akses didik</th>\n",
              "      <th>alami</th>\n",
              "      <th>alokasi</th>\n",
              "      <th>aman</th>\n",
              "      <th>anak</th>\n",
              "      <th>anakanak</th>\n",
              "      <th>...</th>\n",
              "      <th>tingkat</th>\n",
              "      <th>triliun</th>\n",
              "      <th>turun</th>\n",
              "      <th>turun omzet</th>\n",
              "      <th>ulat</th>\n",
              "      <th>ulat menu</th>\n",
              "      <th>utama</th>\n",
              "      <th>wakil</th>\n",
              "      <th>wilayah</th>\n",
              "      <th>zulhas</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>0.088373</td>\n",
              "      <td>0.132559</td>\n",
              "      <td>0.044186</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.044186</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>...</td>\n",
              "      <td>0.038658</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.061732</td>\n",
              "      <td>0.088373</td>\n",
              "      <td>0.353492</td>\n",
              "      <td>0.044186</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.044186</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.081513</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.081513</td>\n",
              "      <td>0.093170</td>\n",
              "      <td>0.093170</td>\n",
              "      <td>...</td>\n",
              "      <td>0.081513</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.065083</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.081513</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.093170</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.081159</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>...</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.081159</td>\n",
              "      <td>0.092765</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.224654</td>\n",
              "      <td>0.022465</td>\n",
              "      <td>0.202188</td>\n",
              "      <td>0.089861</td>\n",
              "      <td>0.019655</td>\n",
              "      <td>0.044931</td>\n",
              "      <td>0.019655</td>\n",
              "      <td>0.022465</td>\n",
              "      <td>0.067396</td>\n",
              "      <td>...</td>\n",
              "      <td>0.058964</td>\n",
              "      <td>0.022465</td>\n",
              "      <td>0.015693</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.157236</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.157258</td>\n",
              "      <td>0.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.103870</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>...</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.178087</td>\n",
              "      <td>0.124400</td>\n",
              "      <td>0.118724</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.178087</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>5 rows × 148 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-346a0d24-654e-4c9d-92bd-1143af24da25')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-346a0d24-654e-4c9d-92bd-1143af24da25 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-346a0d24-654e-4c9d-92bd-1143af24da25');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-59d11d93-9681-45d9-bd22-6482a04e4c26\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-59d11d93-9681-45d9-bd22-6482a04e4c26')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-59d11d93-9681-45d9-bd22-6482a04e4c26 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_249a006d-40d7-419f-8a6b-ece663ff0186\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('tfidf_isi_df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_249a006d-40d7-419f-8a6b-ece663ff0186 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('tfidf_isi_df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "tfidf_isi_df"
            }
          },
          "metadata": {},
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "MENGHITUNG COSINE SIMILARITY"
      ],
      "metadata": {
        "id": "LwvArz49JiWJ"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Hitung cosine similarity antara judul dan isi untuk setiap berita\n",
        "cosine_sim = [cosine_similarity(tfidf_judul[i], tfidf_isi[i])[0][0] for i in range(len(df))]\n",
        "\n",
        "df['cosine_similarity'] = cosine_sim\n",
        "\n",
        "# Klasifikasikan berdasarkan threshold\n",
        "threshold = 0.5\n",
        "df['relevan'] = df['cosine_similarity'].apply(lambda x: 'Ya' if x >= threshold else 'Tidak')"
      ],
      "metadata": {
        "id": "Mn-_qvw3yNix"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "# prompt: tampilkan hasil menghitung cosine similarity!\n",
        "\n",
        "# ... (previous code)\n",
        "\n",
        "# ==============================================\n",
        "# 5. MENGHITUNG COSINE SIMILARITY\n",
        "# ==============================================\n",
        "\n",
        "# Hitung cosine similarity antara judul dan isi untuk setiap berita\n",
        "cosine_sim = [cosine_similarity(tfidf_judul[i], tfidf_isi[i])[0][0] for i in range(len(df))]\n",
        "\n",
        "df['cosine_similarity'] = cosine_sim\n",
        "\n",
        "# Tampilkan hasil cosine similarity\n",
        "print(\"\\nHasil Cosine Similarity:\")\n",
        "print(df[['judul', 'isi', 'cosine_similarity']])\n",
        "\n",
        "# Klasifikasikan berdasarkan threshold\n",
        "threshold = 0.5\n",
        "df['relevan'] = df['cosine_similarity'].apply(lambda x: 'Ya' if x >= threshold else 'Tidak')\n"
      ],
      "metadata": {
        "id": "bCimKlTQySLR",
        "outputId": "3c92438f-617e-44f7-d60b-ff0714b41536",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "Hasil Cosine Similarity:\n",
            "                                               judul  \\\n",
            "0  Sekolah Lelah Banyak Temuan Ulat di Menu Makan...   \n",
            "1  Puluhan Siswa SDN 28 Simpang Raja Diduga Kerac...   \n",
            "2  Bapanas Ungkap Program Makan Siang Gratis Diga...   \n",
            "3  Bukan Makan Siang Bergizi Gratis, Papua Lebih ...   \n",
            "4  Zulhas Tanggapi Sambat Bu Kantin soal Omzet Tu...   \n",
            "\n",
            "                                                 isi  cosine_similarity  \n",
            "0  Permasalahan program makan siang gratis atau M...           0.398150  \n",
            "1  Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Si...           0.501533  \n",
            "2  Badan Pangan Nasional (Bapanas) memberikan inf...           0.566153  \n",
            "3  Pada 17 Februari 2025, sejumlah pelajar di Pro...           0.504767  \n",
            "4  Menteri Koordinator (Menko) Bidang Pangan, Zul...           0.506594  \n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "ANALISIS DAN VISUALISASI"
      ],
      "metadata": {
        "id": "qdvIwDeRJm15"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Statistik deskriptif\n",
        "print(\"\\nStatistik Deskriptif:\")\n",
        "print(df['cosine_similarity'].describe())\n",
        "\n",
        "# Distribusi similarity\n",
        "plt.figure(figsize=(10, 6))\n",
        "sns.histplot(df['cosine_similarity'], bins=10, kde=True)\n",
        "plt.title('Distribusi Cosine Similarity Judul dan Isi Berita')\n",
        "plt.xlabel('Cosine Similarity')\n",
        "plt.ylabel('Frekuensi')\n",
        "plt.show()\n",
        "\n",
        "# Boxplot per sumber berita (jika ada cukup data)\n",
        "if len(df['sumber'].unique()) > 1:\n",
        "    plt.figure(figsize=(10, 6))\n",
        "    sns.boxplot(x='sumber', y='cosine_similarity', data=df)\n",
        "    plt.title('Distribusi Cosine Similarity per Sumber Berita')\n",
        "    plt.xticks(rotation=45)\n",
        "    plt.show()\n"
      ],
      "metadata": {
        "id": "eibXHAq1ykva",
        "outputId": "a4dbaee3-3df5-41dd-d2c6-56199baea96b",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "Statistik Deskriptif:\n",
            "count    5.000000\n",
            "mean     0.495439\n",
            "std      0.060651\n",
            "min      0.398150\n",
            "25%      0.501533\n",
            "50%      0.504767\n",
            "75%      0.506594\n",
            "max      0.566153\n",
            "Name: cosine_similarity, dtype: float64\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA04AAAIjCAYAAAA0vUuxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXp5JREFUeJzt3Xd8FHXi//H3pu2mJ0AKkBB6ly4IKEVAQET4+VXRU4qHnp54iljROwXxDj1OECs2wIYFT9Gz0EFUsIBGEaVXIYUQ0vvu/P5IsrBkk0nChg3wej4e89jMZz4z+9mdTHbf+cx8xmIYhiEAAAAAQKV8vN0AAAAAAKjvCE4AAAAAYILgBAAAAAAmCE4AAAAAYILgBAAAAAAmCE4AAAAAYILgBAAAAAAmCE4AAAAAYILgBAAAAAAmCE4AamzGjBmyWCxn5LkGDRqkQYMGOefXr18vi8WiDz744Iw8f7nFixfLYrFo//79Z/R5q2v//v2yWCxavHixt5tSJYvFohkzZnhse+5ed139fjZv3lyTJk3y+HbPhNP5/S0/5tavX1+r5z6Tfy88oT4f654+fgDUDMEJOM+Vf0kon2w2m5o0aaLhw4frmWeeUXZ2tkee58iRI5oxY4YSExM9sr36LjExUTfeeKPi4+NltVrVoEEDDR06VIsWLZLdbvd28zzu66+/1siRI9W0aVPZbDY1a9ZMo0eP1pIlS7zdtDrz22+/acaMGR7/gj1p0iSFhIR4dJvnK4vFojvuuKNOtl0eCMsnHx8fNW7cWFdccYW+/fbbOnnOU23cuFEzZsxQRkbGGXk+4Hzn5+0GAKgfHnvsMbVo0ULFxcVKTk7W+vXrNXXqVM2dO1effPKJunTp4qz797//XQ8++GCNtn/kyBHNnDlTzZs3V7du3aq93sqVK2v0PHVl/Pjxuu6662S1Wk3rvvrqq7rtttsUExOj8ePHq02bNsrOztaaNWs0efJkJSUl6aGHHvJo+xISEpSfny9/f3+Pbrc6li5dqnHjxqlbt2666667FBkZqX379mnDhg165ZVX9Kc//clZNz8/X35+nvvoOZOve8eOHfLxOfH/xt9++00zZ87UoEGD1Lx58zp/fpwZNTnWJenFF19USEiIHA6HDh06pFdeeUUDBgzQ999/X6O/ddVx6vGzceNGzZw5U5MmTVJERIRHnwtARQQnAJKkkSNHqlevXs756dOna+3atbriiit05ZVX6vfff1dgYKAkyc/Pz6Nfft3Jy8tTUFCQAgIC6vR5qsvX11e+vr6m9b799lvddttt6tu3rz7//HOFhoY6l02dOlWbN2/Wr7/+6vH2lfcWesOMGTPUsWNHffvttxX2V2pqqsu8p9tY16/bMAwVFBQoMDCw2l+kcXar7rFe7uqrr1ajRo2c82PHjlXnzp21dOlSjwQnh8OhoqIi2Ww2rx3jAEpxqh6ASl166aX6xz/+oQMHDuitt95ylru7ZmHVqlW6+OKLFRERoZCQELVr187Zq7J+/XpdeOGFkqSbbrrJeWpL+XUpgwYNUufOnbVlyxYNGDBAQUFBznVPvcapnN1u10MPPaTY2FgFBwfryiuv1KFDh1zqVHZNirttPvvss+rUqZOCgoIUGRmpXr16uZxmVt3rHmbOnCmLxaK3337bJTSV69Wrl0ubcnNzdc899zhP6WvXrp3+85//yDAMl/Wqen8l99f6lJ/ydfjwYY0dO1YhISGKiorSvffeW+F0QYfDoaefflqdOnWSzWZTTEyMbr31Vh0/frzK1ytJe/bs0YUXXug25EZHR7vMn3qNRvnv0s6dO3XjjTcqPDxcUVFR+sc//iHDMHTo0CGNGTNGYWFhio2N1VNPPeWyvepe27Vo0SJdeumlio6OltVqVceOHfXiiy9WqNe8eXNdccUVWrFihXr16qXAwEC99NJLzmXl+27x4sW65pprJEmDBw92/k6vX79eEydOVKNGjVRcXFxh+5dddpnatWtXZVvdqezaFne/49u2bdOll16qwMBAxcXF6fHHH5fD4TitbVbX119/rQsvvFA2m02tWrVyvnenqun++Prrr9W7d2/ZbDa1bNlSb7zxRq3aJ3nuWK9MbGysJFX451JhYaEeffRRtW7dWlarVfHx8br//vtVWFjoUq/89MK3335bnTp1ktVq1fLly53LyvfZjBkzdN9990mSWrRo4fwdLG93dd9jANVHjxOAKo0fP14PPfSQVq5cqVtuucVtnW3btumKK65Qly5d9Nhjj8lqtWr37t365ptvJEkdOnTQY489pkceeUR/+ctfdMkll0iS+vXr59zGsWPHNHLkSF133XW68cYbFRMTU2W7/vnPf8piseiBBx5Qamqqnn76aQ0dOlSJiYnOnrHqeuWVV3TnnXfq6quv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rnECUKU//vhDmZmZat26daV1AgMDtWHDBq1bt06fffaZli9frvfee0+XXnqpVq5cWa0RquriGozKbrppt9td2tShQwft2LFDn376qZYvX67//ve/euGFF/TII49o5syZ1X6+1q1by8/PT1u3bj3ttp/sdN7f6rz3DodD0dHRevvtt90uPzV4VSUoKEiXXHKJLrnkEjVq1EgzZ87UF198oYkTJ1a5nrt2VtZ245SBM8zs2bNHQ4YMUfv27TV37lzFx8crICBAn3/+uebNm1chgHrid7Fjx47q2bOn3nrrLU2YMEFvvfWWAgICXK578YS6uCdYXd9nrKb7w1O/B5LnjvWqhISEqE+fPvr444+Vm5ur4OBgORwOXXDBBZo7d67bdeLj413mT/d3sKbvMYDqITgBqNKbb74pSaanLvn4+GjIkCEaMmSI5s6dq3/96196+OGHtW7dOg0dOrTSEFNbu3btcpk3DEO7d+92ud9UZGSk2xtDHjhwQC1btnQpCw4O1rhx4zRu3DgVFRXpqquu0j//+U9Nnz692kMABwUF6dJLL9XatWt16NChCl+GTpWQkKDVq1crOzvbpddp+/btzuXlzN7f09GqVSutXr1a/fv392iALR/ePikpyWPbrI3//e9/Kiws1CeffOLSe2F2CqIZs9/pCRMmaNq0aUpKStKSJUs0atQoRUZG1uq53P0uFxUVVXhvExISKhwbUmmPV223WR1RUVEKDAys1nPX1f6oLk8c62ZKSkoklfbWBwcHq1WrVvr55581ZMgQj/4trGxb3n6PgXMVp+oBqNTatWs1a9YstWjRosprJMpHlTpZ+f1LyofaDQ4OliSP3eH+jTfecDkl7oMPPlBSUpJGjhzpLGvVqpW+/fZbFRUVOcs+/fTTCsOWHzt2zGU+ICBAHTt2lGEYboeUrsqjjz4qwzA0fvx45eTkVFi+ZcsWvf7665Kkyy+/XHa7Xc8995xLnXnz5slisThfS3Xe39Nx7bXXym63a9asWRWWlZSUmO6zNWvWuC0vv96srk8TM1PeY3FyD0VmZqYWLVp0Wts1+52+/vrrZbFYdNddd2nv3r268cYba/1crVq10oYNG1zKXn755Qq9Q5dffrm+/fZbff/9986yo0ePuu1NrO42q8PX11fDhw/XsmXLdPDgQWf577//rhUrVlSoK3l+f1SHJ4/1yqSnp2vjxo2KjY11Dsd/7bXX6vDhw3rllVcq1M/Pz1dubm6tnquy30FvvsfAuYweJwCSpC+++ELbt29XSUmJUlJStHbtWq1atUoJCQn65JNPqvxP7GOPPaYNGzZo1KhRSkhIUGpqql544QXFxcXp4osvllT6JS0iIkILFixQaGiogoOD1adPn1qfy9+gQQNdfPHFuummm5SSkqKnn35arVu3dhky/eabb9YHH3ygESNG6Nprr9WePXv01ltvqVWrVi7buuyyyxQbG6v+/fsrJiZGv//+u5577jmNGjWq2gM9lOvXr5+ef/553X777Wrfvr3Gjx+vNm3aKDs7W+vXr9cnn3yixx9/XJI0evRoDR48WA8//LD279+vrl27auXKlfr44481depUZzur8/6ejoEDB+rWW2/V7NmzlZiYqMsuu0z+/v7atWuXli5dqvnz5+vqq6+udP0xY8aoRYsWGj16tFq1aqXc3FytXr1a//vf/3ThhRdq9OjRp93G03HZZZcpICBAo0eP1q233qqcnBy98sorio6OPq3esG7dusnX11dPPvmkMjMzZbVanffNkUp7YUaMGKGlS5cqIiJCo0aNqvVz3Xzzzbrtttv0f//3fxo2bJh+/vlnrVixosI1YPfff7/efPNNjRgxQnfddZdzOPKEhAT98ssvtdpmdc2cOVPLly/XJZdcottvv10lJSXOeyad/Nx1tT+qw5PHerkPPvhAISEhMgxDR44c0Wuvvabjx49rwYIFzh6h8ePH6/3339dtt92mdevWqX///rLb7dq+fbvef/99533Daqpnz56SpIcffljXXXed/P39NXr0aK++x8A5zTuD+QGoL8qH3i2fAgICjNjYWGPYsGHG/PnzXYb8LnfqcM9r1qwxxowZYzRp0sQICAgwmjRpYlx//fXGzp07Xdb7+OOPjY4dOxp+fn4uQ0gPHDiw0iGCKxuO/J133jGmT59uREdHG4GBgcaoUaNchkEu99RTTxlNmzY1rFar0b9/f2Pz5s0VtvnSSy8ZAwYMMBo2bGhYrVajVatWxn333WdkZmZWeJ/Mhigut2XLFuNPf/qT0aRJE8Pf39+IjIw0hgwZYrz++usuw3RnZ2cbd999t7NemzZtjDlz5hgOh6NG729lw5GfOqy1YbgfrtswDOPll182evbsaQQGBhqhoaHGBRdcYNx///3GkSNHqnyt77zzjnHdddcZrVq1MgIDAw2bzWZ07NjRePjhhyv8/qiS4chPHWq9sraf+rtS3eHIP/nkE6NLly6GzWYzmjdvbjz55JPGwoULK+zThIQEY9SoUW5fp7vh7V955RWjZcuWziG3Tx2yu3yY/JOHWzczYcIEIywszKXMbrcbDzzwgNGoUSMjKCjIGD58uLF79263bfrll1+MgQMHGjabzWjatKkxa9Ys55DxJ7/W6m6zusORG4ZhfPnll0bPnj2NgIAAo2XLlsaCBQvqZH+cegxXRqcMR+7JY93dcOTBwcFG3759jffff79C/aKiIuPJJ580OnXqZFitViMyMtLo2bOnMXPmTJfnP7XNp76eU4eQnzVrltG0aVPDx8fHpd3VfY8BVJ/FMGpxdSUAADD18ccfa+zYsdqwYYPLkNpVueqqq/TDDz9UOKUUAOBdXOMEAEAdeeWVV9SyZctqn1LpcDj0448/nvY9fAAAnsc1TgAAeNi7776rX375RZ999pnmz59vOpJabm6u3nnnHS1btkwHDhzQv/71rzPUUgBAdXGqHgAAHmaxWBQSEqJx48ZpwYIF8vOr+v+U+/fvV6tWrRQfH6877rhD99577xlqKQCgughOAAAAAGCCa5wAAAAAwATBCQAAAABMnHeDQzgcDh05ckShoaGmF+sCAAAAOHcZhqHs7Gw1adJEPj5V9ymdd8HpyJEjio+P93YzAAAAANQThw4dUlxcXJV1zrvgFBoaKqn0zQkLC/NyawAAAAB4S1ZWluLj450ZoSrnXXAqPz0vLCyM4AQAAACgWpfwMDgEAAAAAJggOAEAAACACYITAAAAAJggOAEAAACACYITAAAAAJggOAEAAACACYITAAAAAJggOAEAAACACYITAAAAAJggOAEAAACACYITAAAAAJggOAEAAACACYITAAAAAJggOAEAAACACYITAAAAAJjwanB68cUX1aVLF4WFhSksLEx9+/bVF198UeU6S5cuVfv27WWz2XTBBRfo888/P0OtBQAAAHC+8mpwiouL0xNPPKEtW7Zo8+bNuvTSSzVmzBht27bNbf2NGzfq+uuv1+TJk/XTTz9p7NixGjt2rH799dcz3HIAAAAA5xOLYRiGtxtxsgYNGmjOnDmaPHlyhWXjxo1Tbm6uPv30U2fZRRddpG7dumnBggXV2n5WVpbCw8OVmZmp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j4mJ0fbt292u8/XXX+u1115TYmKi2+XJycnObZy6zfJlycnJio6Odlnu5+enBg0aOOugVF3so1MVFBTogQce0PXXX6+wsDBn+Z133qkePXqoQYMG2rhxo6ZPn66kpCTNnTu31q/nXFRX+2jEiBG66qqr1KJFC+3Zs0cPPfSQRo4cqU2bNsnX15fjqAbOxHH0+uuvKzQ0VFdddZVLOcdR9dRmH7Vr104LFy5Uly5dlJmZqf/85z/q16+ftm3bpri4OD6PPKwu9tGp+DyqvbraP3wWnZ0ITvVAdna2xo8fr1deeUWNGjXydnPgRk33UXFxsa699loZhqEXX3zRZdm0adOcP3fp0kUBAQG69dZbNXv2bFmtVo+3/XxR3X103XXXOX++4IIL1KVLF7Vq1Urr16/XkCFDzkRTz1u1+Vu3cOFC3XDDDRUurOY4qjt9+/ZV3759nfP9+vVThw4d9NJLL2nWrFlebBnK1WQf8Xl05lVn//BZdHYiONWBRo0aydfXVykpKS7lKSkpio2NrVB/z5492r9/v0aPHu0sczgckkr/u7Bjxw7neikpKWrcuLHLNrt16yZJio2NVWpqqsu2S0pKlJ6e7vZ5z2d1sY9atWol6cSH1IEDB7R27VqX/+6506dPH5WUlGj//v1q167d6b60c0Zd7qOTtWzZUo0aNdLu3bs1ZMgQjqMaqOt99NVXX2nHjh167733TNvCceReTfeRO/7+/urevbt2794tSXweeVhd7KNyfB6dvrrcPyfjs+jswDVOdSAgIEA9e/bUmjVrnGUOh0Nr1qxx+Q9Eufbt22vr1q1KTEx0TldeeaUGDx6sxMRExcfHq0WLFoqNjXXZZlZWlr777jvnNvv27auMjAxt2bLFWWft2rVyOBzq06dPHb7is09d7CPpxIfUrl27tHr1ajVs2NC0LYmJifLx8anQJX++q6t9dKo//vhDx44dc34B5DiqvrreR6+99pp69uyprl27mraF48i9mu4jd+x2u7Zu3eo8Rvg88qy62EcSn0eeUlf751R8Fp0lvD06xbnq3XffNaxWq7F48WLjt99+M/7yl78YERERzuEox48fbzz44IOVru9utJUnnnjCiIiIMD7++GPjl19+McaMGeN2+Nfu3bsb3333nfH1118bbdq0YejKSnh6HxUVFRlXXnmlERcXZyQmJroMMVpYWGgYhmFs3LjRmDdvnpGYmGjs2bPHeOutt4yoqChjwoQJdfpaz1ae3kfZ2dnGvffea2zatMnYt2+fsXr1aqNHjx5GmzZtjIKCAmc9jqPqq4u/dYZhGJmZmUZQUJDx4osvVljGcVQzNd1HM2fONFasWGHs2bPH2LJli3HdddcZNpvN2LZtm7MOn0ee5el9xOeRZ3l6//BZdPYiONWhZ5991mjWrJkREBBg9O7d2/j222+dywYOHGhMnDix0nXdfZlwOBzGP/7xDyMmJsawWq3GkCFDjB07drjUOXbsmHH99dcbISEhRlhYmHHTTTcZ2dnZnnxZ5xRP7qN9+/YZktxO69atMwzDMLZs2WL06dPHCA8PN2w2m9GhQwfjX//6l8sfSrjy5D7Ky8szLrvsMiMqKsrw9/c3EhISjFtuuaXC/TU4jmrG03/rDMMwXnrpJSMwMNDIyMiosIzjqOZqso+mTp3qrBsTE2Ncfvnlxo8//uiyPT6PPM+T+4jPI8/z5P7hs+jsZTEMw/BOXxcAAAAAnB24xgkAAAAATBCcAAAAAMAEwQkAAAAATBCcAAAAAMAEwQkAAAAATBCcAAAAAMAEwQkAAAAATBCcAAAAAMAEwQkA4BWLFy9WRESEt5uh/fv3y2KxKDEx8bS2M2jQIE2dOtU537x5cz399NOntU1JmjRpksaOHXva2wEAnB6CEwDAreTkZP3tb39Ty5YtZbVaFR8fr9GjR2vNmjUe2f64ceO0c+dOj2yrKvv27dOf/vQnNWnSRDabTXFxcRozZoy2b98uSYqPj1dSUpI6d+58Ws/z4YcfatasWZ5osov58+dr8eLFzvlTAxoA4Mzw83YDAAD1z/79+9W/f39FRERozpw5uuCCC1RcXKwVK1ZoypQpztBxOgIDAxUYGOiB1lauuLhYw4YNU7t27fThhx+qcePG+uOPP/TFF18oIyNDkuTr66vY2NjTfq4GDRqc9jZOZrfbZbFYFB4e7tHtAgBqhx4nAEAFt99+uywWi77//nv93//9n9q2batOnTpp2rRp+vbbb531Dh48qDFjxigkJERhYWG69tprlZKS4lz+888/a/DgwQoNDVVYWJh69uypzZs3S6p4qt6MGTPUrVs3vfnmm2revLnCw8N13XXXKTs721nH4XBo9uzZatGihQIDA9W1a1d98MEHlb6Obdu2ac+ePXrhhRd00UUXKSEhQf3799fjjz+uiy66SFLFU/XWr18vi8WiFStWqHv37goMDNSll16q1NRUffHFF+rQoYPCwsL0pz/9SXl5ec7nMusJmjt3ri644AIFBwcrPj5et99+u3JycpzLy9+PTz75RB07dpTVatXBgwddTtWbNGmSvvzyS82fP18Wi0UWi0X79u1T69at9Z///Mfl+RITE2WxWLR79+5K2wQAqD6CEwDARXp6upYvX64pU6YoODi4wvLysONwODRmzBilp6fryy+/1KpVq7R3716NGzfOWfeGG25QXFycfvjhB23ZskUPPvig/P39K33uPXv2aNmyZfr000/16aef6ssvv9QTTzzhXD579my98cYbWrBggbZt26a7775bN954o7788ku324uKipKPj48++OAD2e32Gr0PM2bM0HPPPaeNGzfq0KFDuvbaa/X0009ryZIl+uyzz7Ry5Uo9++yz1d6ej4+PnnnmGW3btk2vv/661q5dq/vvv9+lTl5enp588km9+uqr2rZtm6Kjo12Wz58/X3379tUtt9yipKQkJSUlqVmzZvrzn/+sRYsWudRdtGiRBgwYoNatW9fodQMA3ONUPQCAi927d8swDLVv377KemvWrNHWrVu1b98+xcfHS5LeeOMNderUST/88IMuvPBCHTx4UPfdd59zW23atKlymw6HQ4sXL1ZoaKgkafz48VqzZo3++c9/qrCwUP/617+0evVq9e3bV5LUsmVLff3113rppZc0cODACttr2rSpnnnmGd1///2aOXOmevXqpcGDB+uGG25Qy5Ytq2zL448/rv79+0uSJk+erOnTp2vPnj3O9a6++mqtW7dODzzwQJXbKXfqwBGPP/64brvtNr3wwgvO8uLiYr3wwgvq2rWr222Eh4crICBAQUFBLqcXTpo0SY888oi+//579e7dW8XFxVqyZEmFXigAQO3R4wQAcGEYRrXq/f7774qPj3eGJknq2LGjIiIi9Pvvv0uSpk2bpptvvllDhw7VE088oT179lS5zebNmztDkyQ1btxYqampkkoDXV5enoYNG6aQkBDn9MYbb1S53SlTpig5OVlvv/22+vbtq6VLl6pTp05atWpVlW3p0qWL8+eYmBgFBQW5hK2YmBhn26pj9erVGjJkiJo2barQ0FCNHz9ex44dczndLyAgwOV5q6tJkyYaNWqUFi5cKEn63//+p8LCQl1zzTU13hYAwD2CEwDARZs2bWSxWDwyAMSMGTO0bds2jRo1SmvXrlXHjh310UcfVVr/1NP4LBaLHA6HJDmvB/rss8+UmJjonH777bcqr3OSpNDQUI0ePVr//Oc/9fPPP+uSSy7R448/XuU6J7fFYrFU2TYz+/fv1xVXXKEuXbrov//9r7Zs2aLnn39eklRUVOSsFxgYKIvFUq1tnurmm2/Wu+++q/z8fC1atEjjxo1TUFBQrbYFAKiI4AQAcNGgQQMNHz5czz//vHJzcyssLx+NrkOHDjp06JAOHTrkXPbbb78pIyNDHTt2dJa1bdtWd999t1auXKmrrrqqwrU41XXygAmtW7d2mU7u9TJjsVjUvn17t6+trmzZskUOh0NPPfWULrroIrVt21ZHjhyp1bYCAgLcXq91+eWXKzg4WC+++KKWL1+uP//5z6fbbADASQhOAIAKnn/+edntdvXu3Vv//e9/tWvXLv3+++965plnnNcXDR06VBdccIFuuOEG/fjjj/r+++81YcIEDRw4UL169VJ+fr7uuOMOrV+/XgcOHNA333yjH374QR06dKhVm0JDQ3Xvvffq7rvv1uuvv649e/boxx9/1LPPPqvXX3/d7TqJiYkaM2aMPvjgA/3222/avXu3XnvtNS1cuFBjxoyp9ftTU61bt1ZxcbGeffZZ7d27V2+++aYWLFhQq201b95c3333nfbv36+0tDRnr5evr68mTZqk6dOnq02bNs79BADwDIITAKCCli1b6scff9TgwYN1zz33qHPnzho2bJjWrFmjF198UVJpz83HH3+syMhIDRgwQEOHDlXLli313nvvSSr9In/s2DFNmDBBbdu21bXXXquRI0dq5syZtW7XrFmz9I9//EOzZ89Whw4dNGLECH322Wdq0aKF2/pxcXFq3ry5Zs6cqT59+qhHjx6aP3++Zs6cqYcffrjW7aiprl27au7cuXryySfVuXNnvf3225o9e3attnXvvffK19dXHTt2VFRUlA4ePOhcNnnyZBUVFemmm27yVNMBAGUsRnWvAgYAAPXaV199pSFDhujQoUOKiYnxdnMA4JxCcAIA4CxXWFioo0ePauLEiYqNjdXbb7/t7SYBwDmHU/UAADjLvfPOO0pISFBGRob+/e9/e7s5AHBOoscJAAAAAEzQ4wQAAAAAJghOAAAAAGCC4AQAAAAAJghOAAAAAGCC4AQAAAAAJghOAAAAAGCC4AQAAAAAJghOAAAAAGDi/wOrqPmaz4a9vAAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "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AAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsIMnInzNnDlTefPmlZubmwICArRjx477zjtv3jyZTCabh5ubm808nTp1SjJPvXr1bOa5fPmy2rZtqyxZssjDw0NdunTR9evXH8v+AQAAAICzowtYsmSJgoKCFBwcrICAAE2bNk1169bV4cOH5e3tnewyWbJk0eHDh63PTSZTknnq1aunuXPnWp+7urraTG/btq0iIiK0evVqxcXFqXPnzurWrZu+/vrrNNozAAAAAPgfh4evKVOmqGvXrurcubMkKTg4WD///LPmzJmjwYMHJ7uMyWRSjhw5HrheV1fX+85z6NAhhYaGaufOnSpXrpwk6dNPP1WDBg00adIk+fr6/oc9AgAAAICkHHraYWxsrHbt2qXAwEBrm9lsVmBgoLZu3Xrf5a5fv648efLIz89PTZs21YEDB5LMs379enl7e6tw4cJ6++23denSJeu0rVu3ysPDwxq8JCkwMFBms1nbt29Pdpt37txRTEyMzQMAAAAAUsqh4evixYtKSEiQj4+PTbuPj48iIyOTXaZw4cKaM2eOfvjhB3311VeyWCyqXLmyzpw5Y52nXr16WrBggdauXauJEyfq999/V/369ZWQkCBJioyMTHJKo7Ozs7JmzXrf7Y4fP17u7u7Wh5+f33/ZdQAAAADPGYefdvioKlWqpEqVKlmfV65cWUWLFtWsWbM0ZswYSVKrVq2s00uUKKGSJUvK399f69evV61atVK13SFDhigoKMj6PCYmhgAGAAAAIMUc2vPl5eUlJycnRUVF2bRHRUU99JquROnSpVOZMmV09OjR+86TP39+eXl5WefJkSOHzp8/bzNPfHy8Ll++fN/turq6KkuWLDYPAAAAAEgph4YvFxcXlS1bVmvXrrW2WSwWrV271qZ360ESEhK0b98+5cyZ877znDlzRpcuXbLOU6lSJV29elW7du2yzrNu3TpZLBYFBASkcm8AAAAA4P4cfp+voKAghYSEaP78+Tp06JDefvtt3bhxwzr6YYcOHTRkyBDr/KNHj9Zvv/2m48ePa/fu3WrXrp1Onjypt956S9LdwTgGDhyobdu2KTw8XGvXrlXTpk1VoEAB1a1bV5JUtGhR1atXT127dtWOHTu0efNm9erVS61atWKkQwAAAACPhcOv+WrZsqUuXLig4cOHKzIyUqVLl1ZoaKh1EI5Tp07JbP5fRrxy5Yq6du2qyMhIeXp6qmzZstqyZYuKFSsmSXJyctJff/2l+fPn6+rVq/L19VWdOnU0ZswYm3t9LVq0SL169VKtWrVkNpv1+uuv65NPPrHvzgMAAAB4bpgMwzAcXcTTKCYmRu7u7oqOjub6LwAAAOA5ltJs4PDTDgEAAADgeUD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADp6I8DVz5kzlzZtXbm5uCggI0I4dO+4777x582QymWwebm5u1ulxcXF67733VKJECWXMmFG+vr7q0KGDzp07Z7OevHnzJlnPhAkTHts+AgAAAHi+OTx8LVmyREFBQRoxYoR2796tUqVKqW7dujp//vx9l8mSJYsiIiKsj5MnT1qn3bx5U7t379YHH3yg3bt3a/ny5Tp8+LCaNGmSZD2jR4+2WU/v3r0fyz4CAAAAgLOjC5gyZYq6du2qzp07S5KCg4P1888/a86cORo8eHCyy5hMJuXIkSPZae7u7lq9erVN24wZM1ShQgWdOnVKL7zwgrU9c+bM910PAAAAAKQlh/Z8xcbGateuXQoMDLS2mc1mBQYGauvWrfdd7vr168qTJ4/8/PzUtGlTHThw4IHbiY6OlslkkoeHh037hAkTlC1bNpUpU0Yff/yx4uPj77uOO3fuKCYmxuYBAAAAACnl0PB18eJFJSQkyMfHx6bdx8dHkZGRyS5TuHBhzZkzRz/88IO++uorWSwWVa5cWWfOnEl2/tu3b+u9995T69atlSVLFmt7nz59tHjxYoWFhal79+4aN26cBg0adN9ax48fL3d3d+vDz88vFXsMAAAA4HllMgzDcNTGz507p1y5cmnLli2qVKmStX3QoEH6/ffftX379oeuIy4uTkWLFlXr1q01ZsyYJNNef/11nTlzRuvXr7cJX/82Z84cde/eXdevX5erq2uS6Xfu3NGdO3esz2NiYuTn56fo6OgHrhcAAADAsy0mJkbu7u4PzQYOvebLy8tLTk5OioqKsmmPiopK8bVY6dKlU5kyZXT06FGb9ri4OLVo0UInT57UunXrHhqQAgICFB8fr/DwcBUuXDjJdFdX12RDGQAAAACkhENPO3RxcVHZsmW1du1aa5vFYtHatWttesIeJCEhQfv27VPOnDmtbYnB68iRI1qzZo2yZcv20PXs2bNHZrNZ3t7ej74jAAAAAPAQDh/tMCgoSB07dlS5cuVUoUIFTZs2TTdu3LCOftihQwflypVL48ePl3R3ePiKFSuqQIECunr1qj7++GOdPHlSb731lqS7wat58+bavXu3Vq5cqYSEBOv1Y1mzZpWLi4u2bt2q7du3q0aNGsqcObO2bt2qd999V+3atZOnp6djXggAAAAAzzSHh6+WLVvqwoULGj58uCIjI1W6dGmFhoZaB+E4deqUzOb/ddBduXJFXbt2VWRkpDw9PVW2bFlt2bJFxYoVkySdPXtWP/74oySpdOnSNtsKCwtT9erV5erqqsWLF2vkyJG6c+eO8uXLp3fffVdBQUH22WkAAAAAzx2HDrjxNEvpRXUAAAAAnm0pzQYOveYLAAAAAJ4XhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7cHZ0AQAAAMCT6OjRozpx4oTdt3vz5k0dO3bM7tt9Uvj7+ytDhgx2326+fPlUoECBx7oNwhcAAACQjE8//VR79+51dBmwk1KlSmn69OmPdRuELwAAACAZvXv3pufLARzZ8/W4Eb4AAACAZBQoUOCxn4aG5wvhCwAAPFW4DscxnuXrcAB7IXwBAICnCtfhPF/scR0OYC+pCl83btxQxowZ07oWAACAh+I6HMd4lq/DAewlVeHLx8dHLVq00JtvvqkqVaqkdU0AAAD3xXU4AJ5WqbrJ8ldffaXLly+rZs2aKlSokCZMmKBz586ldW0AAAAA8MxIVfhq1qyZVqxYobNnz6pHjx76+uuvlSdPHjVq1EjLly9XfHx8WtcJAAAAAE81k2EYRlqs6NNPP9XAgQMVGxsrLy8v9ejRQ4MHD3bIucH2EBMTI3d3d0VHRytLliyOLgcAAACAg6Q0G/yn0Q6joqI0f/58zZs3TydPnlTz5s3VpUsXnTlzRhMnTtS2bdv022+//ZdNAAAAAMAzIVXha/ny5Zo7d65+/fVXFStWTD179lS7du3k4eFhnady5coqWrRoWtUJIJW4H45jcD8cAADwb6kKX507d1arVq20efNmlS9fPtl5fH19NXTo0BStb+bMmfr4448VGRmpUqVK6dNPP1WFChWSnXfevHnq3LmzTZurq6tu375tfW4YhkaMGKGQkBBdvXpVL7/8sj7//HMVLFjQOs/ly5fVu3dv/fTTTzKbzXr99dc1ffp0ZcqUKUU1A08L7ofzfOF+OAAAPLlSFb4iIiIe+o1u+vTpNWLEiIeua8mSJQoKClJwcLACAgI0bdo01a1bV4cPH5a3t3eyy2TJkkWHDx+2PjeZTDbTP/roI33yySeaP3++8uXLpw8++EB169bVwYMH5ebmJklq27atIiIitHr1asXFxalz587q1q2bvv7664fWDDxNuB+OY3A/HAAA8G+pGnDDyclJERERScLRpUuX5O3trYSEhBSvKyAgQOXLl9eMGTMkSRaLRX5+furdu7cGDx6cZP558+apX79+unr1arLrMwxDvr6+6t+/vwYMGCBJio6Olo+Pj+bNm6dWrVrp0KFDKlasmHbu3Kly5cpJkkJDQ9WgQQOdOXNGvr6+D62bATcAAAAASCnPBqkaav5+ee3OnTtycXFJ8XpiY2O1a9cuBQYG/q8gs1mBgYHaunXrfZe7fv268uTJIz8/PzVt2lQHDhywTjtx4oQiIyNt1unu7q6AgADrOrdu3SoPDw9r8JKkwMBAmc1mbd++/b77FhMTY/MAAAAAgJR6pNMOP/nkE0l3T/P78ssvba6PSkhI0IYNG1SkSJEUr+/ixYtKSEiQj4+PTbuPj4/+/vvvZJcpXLiw5syZo5IlSyo6OlqTJk1S5cqVdeDAAeXOnVuRkZHWdfx7nYnTIiMjk/TaOTs7K2vWrNZ5/m38+PEaNWpUivcNAAAAAO71SOFr6tSpku72fAUHB8vJyck6zcXFRXnz5lVwcHDaVvgvlSpVUqVKlazPE0dVnDVrlsaMGfPYtjtkyBAFBQVZn8fExMjPz++xbQ8AAADAs+WRwlfiRfs1atTQ8uXL5enp+Z827uXlJScnJ0VFRdm0R0VFKUeOHClaR7p06VSmTBkdPXpUkqzLRUVFKWfOnDbrLF26tHWe8+fP26wnPj5ely9fvu92XV1d5erqmqKaAAAAAODfUnXNV1hY2H8OXtLd3rKyZctq7dq11jaLxaK1a9fa9G49SEJCgvbt22cNWvny5VOOHDls1hkTE6Pt27db11mpUiVdvXpVu3btss6zbt06WSwWBQQE/Of9AgAAAIB/S3HPV1BQkMaMGaOMGTPanH6XnClTpqS4gKCgIHXs2FHlypVThQoVNG3aNN24ccN6L68OHTooV65cGj9+vCRp9OjRqlixogoUKKCrV6/q448/1smTJ/XWW29Juns9Wr9+/TR27FgVLFjQOtS8r6+vmjVrJkkqWrSo6tWrp65duyo4OFhxcXHq1auXWrVqlaKRDgEAAADgUaU4fP3555+Ki4uTJO3evTvJvbUS3a/9flq2bKkLFy5o+PDhioyMVOnSpRUaGmodMOPUqVMym//XQXflyhV17dpVkZGR8vT0VNmyZbVlyxYVK1bMOs+gQYN048YNdevWTVevXlWVKlUUGhpqvceXJC1atEi9evVSrVq1rDdZThxQBAAAAADSWqru8wXu8wUAAADgrsd2n6+4uDg5Oztr//79/6lAAAAAAHiePHL4SpcunV544QUlJCQ8jnoAAAAA4JmUqtEOhw4dqvfff1+XL19O63oAAAAA4Jn0SPf5SjRjxgwdPXpUvr6+ypMnjzJmzGgzfffu3WlSHAAAAAA8K1IVvhKHbAcAAAAApAyjHaYSox0CAAAAkB7jaIcAAAAAgEeXqtMOExISNHXqVC1dulSnTp1SbGyszXQG4gAAAAAAW6nq+Ro1apSmTJmili1bKjo6WkFBQXrttddkNps1cuTINC4RAAAAAJ5+qQpfixYtUkhIiPr37y9nZ2e1bt1aX375pYYPH65t27aldY0AAAAA8NRLVfiKjIxUiRIlJEmZMmVSdHS0JKlRo0b6+eef0646AAAAAHhGpCp85c6dWxEREZIkf39//fbbb5KknTt3ytXVNe2qAwAAAIBnRKrC16uvvqq1a9dKknr37q0PPvhABQsWVIcOHfTmm2+maYEAAAAA8CxIk/t8bd26VVu3blXBggXVuHHjtKjricd9vgAAAABIKc8GqRpq/t8qVaqkSpUqpcWqAAAAAOCZlOLw9eOPP6Z4pU2aNElVMQAAAADwrEpx+GrWrFmK5jOZTEpISEhtPQAAAADwTEpx+LJYLI+zDgAAAAB4pqVqtEMAAAAAwKNJcc/XJ598om7dusnNzU2ffPLJA+ft06fPfy4MAAAAAJ4lKR5qPl++fPrjjz+ULVs25cuX7/4rNJl0/PjxNCvwScVQ8wAAAACkxzDU/IkTJ5L9GQAAAADwcFzzBQAAAAB2kKqbLBuGoWXLliksLEznz59PMhLi8uXL06Q4AAAAAHhWpCp89evXT7NmzVKNGjXk4+Mjk8mU1nUBAAAAwDMlVeFr4cKFWr58uRo0aJDW9QAAAADAMylV13y5u7srf/78aV0LAAAAADyzUhW+Ro4cqVGjRunWrVtpXQ8AAAAAPJNSddphixYt9M0338jb21t58+ZVunTpbKbv3r07TYoDAAAAgGdFqsJXx44dtWvXLrVr144BNwAAAAAgBVIVvn7++Wf9+uuvqlKlSlrXAwAAAADPpFRd8+Xn56csWbKkdS0AAAAA8MxKVfiaPHmyBg0apPDw8DQuBwAAAACeTak67bBdu3a6efOm/P39lSFDhiQDbly+fDlNigMAAACAZ0Wqwte0adPSuAwAAAAAeLalerRDAAAAAEDKpTh8xcTEWAfZiImJeeC8DMYBAAAAALZSHL48PT0VEREhb29veXh4JHtvL8MwZDKZlJCQkKZFAgAAAMDTLsXha926dcqaNaskKSws7LEVBAAAAADPIpNhGIaji3gaxcTEyN3dXdHR0ZxmCQAAADzHUpoNUnWfr9DQUG3atMn6fObMmSpdurTatGmjK1eupGaVAAAAAPBMS1X4GjhwoHXQjX379ikoKEgNGjTQiRMnFBQUlKYFAgAAAMCzIFVDzZ84cULFihWTJH333Xdq3Lixxo0bp927d6tBgwZpWiAAAAAAPAtS1fPl4uKimzdvSpLWrFmjOnXqSJKyZs360GHoAQAAAOB5lKqerypVqigoKEgvv/yyduzYoSVLlkiS/vnnH+XOnTtNCwQAAACAZ0Gqer5mzJghZ2dnLVu2TJ9//rly5colSVq1apXq1auXpgUCAAAAwLPgsQ41P2HCBPXo0UMeHh6PaxMOw1DzAAAAAKTHPNR8So0bN06XL19+nJsAAAAAgKfCYw1f3L8ZAAAAAO56rOELAAAAAHAX4QsAAAAA7IDwBQAAAAB28ESEr5kzZypv3rxyc3NTQECAduzYkaLlFi9eLJPJpGbNmtm0m0ymZB8ff/yxdZ68efMmmT5hwoS03C0AAAAAsHqs4atq1apKnz79A+dZsmSJgoKCNGLECO3evVulSpVS3bp1df78+QcuFx4ergEDBqhq1apJpkVERNg85syZI5PJpNdff91mvtGjR9vM17t370ffSQAAAABIgVSHr2PHjmnYsGFq3bq1NSitWrVKBw4csM7zyy+/KGfOnA9cz5QpU9S1a1d17txZxYoVU3BwsDJkyKA5c+bcd5mEhAS1bdtWo0aNUv78+ZNMz5Ejh83jhx9+UI0aNZLMmzlzZpv5MmbM+CgvAQAAAACkWKrC1++//64SJUpo+/btWr58ua5fvy5J2rt3r0aMGJHi9cTGxmrXrl0KDAz8X0FmswIDA7V169b7Ljd69Gh5e3urS5cuD91GVFSUfv7552TnnTBhgrJly6YyZcro448/Vnx8/H3Xc+fOHcXExNg8AAAAACClUhW+Bg8erLFjx2r16tVycXGxttesWVPbtm1L8XouXryohIQE+fj42LT7+PgoMjIy2WU2bdqk2bNnKyQkJEXbmD9/vjJnzqzXXnvNpr1Pnz5avHixwsLC1L17d40bN06DBg2673rGjx8vd3d368PPzy9F2wcAAAAASXJOzUL79u3T119/naTd29tbFy9e/M9F3c+1a9fUvn17hYSEyMvLK0XLzJkzR23btpWbm5tNe1BQkPXnkiVLysXFRd27d9f48ePl6uqaZD1DhgyxWSYmJoYABgAAACDFUhW+PDw8FBERoXz58tm0//nnn8qVK1eK1+Pl5SUnJydFRUXZtEdFRSlHjhxJ5j927JjCw8PVuHFja5vFYpEkOTs76/Dhw/L397dO27hxow4fPqwlS5Y8tJaAgADFx8crPDxchQsXTjLd1dU12VAGAAAAACmRqtMOW7Vqpffee0+RkZEymUyyWCzavHmzBgwYoA4dOqR4PS4uLipbtqzWrl1rbbNYLFq7dq0qVaqUZP4iRYpo37592rNnj/XRpEkT1ahRQ3v27EnSEzV79myVLVtWpUqVemgte/bskdlslre3d4rrBwAAAICUSlXP17hx4/TOO+/Iz89PCQkJKlasmBISEtSmTRsNGzbskdYVFBSkjh07qly5cqpQoYKmTZumGzduqHPnzpKkDh06KFeuXBo/frzc3Nz04osv2izv4eEhSUnaY2Ji9O2332ry5MlJtrl161Zt375dNWrUUObMmbV161a9++67ateunTw9PR+pfgAAAABIiVSFLxcXF4WEhOiDDz7Q/v37df36dZUpU0YFCxZ85HW1bNlSFy5c0PDhwxUZGanSpUsrNDTUOgjHqVOnZDY/egfd4sWLZRiGWrdunWSaq6urFi9erJEjR+rOnTvKly+f3n33XZtrugAAAAAgLZkMwzAcXcTTKCYmRu7u7oqOjlaWLFkcXQ4AAAAAB0lpNkhVz1dCQoLmzZuntWvX6vz589ZBLxKtW7cuNasFAAAAgGdWqsJX3759NW/ePDVs2FAvvviiTCZTWtcFAAAAAM+UVIWvxYsXa+nSpWrQoEFa1wMAAAAAz6RUDTXv4uKiAgUKpHUtAAAAAPDMSlX46t+/v6ZPny7G6gAAAACAlEnVaYebNm1SWFiYVq1apeLFiytdunQ205cvX54mxQEAAADAsyJV4cvDw0OvvvpqWtcCAAAAAM+sVIWvuXPnpnUdAAAAAPBMS9U1XwAAAACAR5Pinq+XXnpJa9eulaenp8qUKfPAe3vt3r07TYoDAAAAgGdFisNX06ZN5erqKklq1qzZ46oHAAAAAJ5JJoPx4lMlJiZG7u7uio6OVpYsWRxdDgAAAAAHSWk2SNU1X6dPn9aZM2esz3fs2KF+/frpiy++SM3qAAAAAOCZl6rw1aZNG4WFhUmSIiMjFRgYqB07dmjo0KEaPXp0mhYIAAAAAM+CVIWv/fv3q0KFCpKkpUuXqkSJEtqyZYsWLVqkefPmpWV9AAAAAPBMSFX4iouLsw6+sWbNGjVp0kSSVKRIEUVERKRddQAAAADwjEhV+CpevLiCg4O1ceNGrV69WvXq1ZMknTt3TtmyZUvTAgEAAADgWZCq8DVx4kTNmjVL1atXV+vWrVWqVClJ0o8//mg9HREAAAAA8D+pHmo+ISFBMTEx8vT0tLaFh4crQ4YM8vb2TrMCn1QMNQ8AAABASnk2SPFNlv/NyclJ8fHx2rRpkySpcOHCyps3b2pXBwAAAADPtFSddnjjxg29+eabypkzp6pVq6Zq1arJ19dXXbp00c2bN9O6RgAAAAB46qUqfAUFBen333/XTz/9pKtXr+rq1av64Ycf9Pvvv6t///5pXSMAAAAAPPVSdc2Xl5eXli1bpurVq9u0h4WFqUWLFrpw4UJa1ffE4povAAAAAFLKs0Gqer5u3rwpHx+fJO3e3t6cdggAAAAAyUhV+KpUqZJGjBih27dvW9tu3bqlUaNGqVKlSmlWHAAAAAA8K1I12uG0adNUr1495c6d23qPr71798rV1VW//fZbmhYIAAAAAM+CVN/n6+bNm1q0aJH+/vtvSVLRokXVtm1bpU+fPk0LfFJxzRcAAAAA6THf52v8+PHy8fFR165dbdrnzJmjCxcu6L333kvNagEAAADgmZWqa75mzZqlIkWKJGkvXry4goOD/3NRAAAAAPCsSVX4ioyMVM6cOZO0Z8+eXREREf+5KAAAAAB41qQqfPn5+Wnz5s1J2jdv3ixfX9//XBQAAAAAPGtSdc1X165d1a9fP8XFxalmzZqSpLVr12rQoEHq379/mhYIAAAAAM+CVIWvgQMH6tKlS+rZs6diY2MlSW5ubnrvvfc0ZMiQNC0QAAAAAJ4FqR5qXpKuX7+uQ4cOKX369CpYsKBcXV3TsrYnGkPNAwAAAJAe81DziTJlyqTy5cv/l1UAAAAAwHMhVQNuAAAAAAAeDeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsIMnInzNnDlTefPmlZubmwICArRjx44ULbd48WKZTCY1a9bMpr1Tp04ymUw2j3r16tnMc/nyZbVt21ZZsmSRh4eHunTpouvXr6fVLgEAAACADYeHryVLligoKEgjRozQ7t27VapUKdWtW1fnz59/4HLh4eEaMGCAqlatmuz0evXqKSIiwvr45ptvbKa3bdtWBw4c0OrVq7Vy5Upt2LBB3bp1S7P9AgAAAIB7OTx8TZkyRV27dlXnzp1VrFgxBQcHK0OGDJozZ859l0lISFDbtm01atQo5c+fP9l5XF1dlSNHDuvD09PTOu3QoUMKDQ3Vl19+qYCAAFWpUkWffvqpFi9erHPnzqX5PgIAAACAQ8NXbGysdu3apcDAQGub2WxWYGCgtm7det/lRo8eLW9vb3Xp0uW+86xfv17e3t4qXLiw3n77bV26dMk6bevWrfLw8FC5cuWsbYGBgTKbzdq+fXuy67tz545iYmJsHgAAAACQUg4NXxcvXlRCQoJ8fHxs2n18fBQZGZnsMps2bdLs2bMVEhJy3/XWq1dPCxYs0Nq1azVx4kT9/vvvql+/vhISEiRJkZGR8vb2tlnG2dlZWbNmve92x48fL3d3d+vDz8/vUXYVAAAAwHPO2dEFPIpr166pffv2CgkJkZeX133na9WqlfXnEiVKqGTJkvL399f69etVq1atVG17yJAhCgoKsj6PiYkhgAEAAABIMYeGLy8vLzk5OSkqKsqmPSoqSjly5Egy/7FjxxQeHq7GjRtb2ywWi6S7PVeHDx+Wv79/kuXy588vLy8vHT16VLVq1VKOHDmSDOgRHx+vy5cvJ7td6e41ZK6uro+8jwAAAAAgOfi0QxcXF5UtW1Zr1661tlksFq1du1aVKlVKMn+RIkW0b98+7dmzx/po0qSJatSooT179ty3J+rMmTO6dOmScubMKUmqVKmSrl69ql27dlnnWbdunSwWiwICAtJ4LwEAAADgCTjtMCgoSB07dlS5cuVUoUIFTZs2TTdu3FDnzp0lSR06dFCuXLk0fvx4ubm56cUXX7RZ3sPDQ5Ks7devX9eoUaP0+uuvK0eOHDp27JgGDRqkAgUKqG7dupKkokWLql69euratauCg4MVFxenXr16qVWrVvL19bXfzgMAAAB4bjg8fLVs2VIXLlzQ8OHDFRkZqdKlSys0NNQ6CMepU6dkNqe8g87JyUl//fWX5s+fr6tXr8rX11d16tTRmDFjbE4bXLRokXr16qVatWrJbDbr9ddf1yeffJLm+wcAAAAAkmQyDMNwdBFPo5iYGLm7uys6OlpZsmRxdDkAAAAAHCSl2cDhN1kGAAAAgOcB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADt4IsLXzJkzlTdvXrm5uSkgIEA7duxI0XKLFy+WyWRSs2bNrG1xcXF67733VKJECWXMmFG+vr7q0KGDzp07Z7Ns3rx5ZTKZbB4TJkxIy90CAAAAACuHh68lS5YoKChII0aM0O7du1WqVCnVrVtX58+ff+By4eHhGjBggKpWrWrTfvPmTe3evVsffPCBdu/ereXLl+vw4cNq0qRJknWMHj1aERER1kfv3r3TdN8AAAAAIJHJMAzDkQUEBASofPnymjFjhiTJYrHIz89PvXv31uDBg5NdJiEhQdWqVdObb76pjRs36urVq1qxYsV9t7Fz505VqFBBJ0+e1AsvvCDpbs9Xv3791K9fv1TVHRMTI3d3d0VHRytLliypWgcAAACAp19Ks4FDe75iY2O1a9cuBQYGWtvMZrMCAwO1devW+y43evRoeXt7q0uXLinaTnR0tEwmkzw8PGzaJ0yYoGzZsqlMmTL6+OOPFR8ff9913LlzRzExMTYPAAAAAEgpZ0du/OLFi0pISJCPj49Nu4+Pj/7+++9kl9m0aZNmz56tPXv2pGgbt2/f1nvvvafWrVvbpNA+ffropZdeUtasWbVlyxYNGTJEERERmjJlSrLrGT9+vEaNGpWyHQMAAACAf3Fo+HpU165dU/v27RUSEiIvL6+Hzh8XF6cWLVrIMAx9/vnnNtOCgoKsP5csWVIuLi7q3r27xo8fL1dX1yTrGjJkiM0yMTEx8vPz+w97AwAAAOB54tDw5eXlJScnJ0VFRdm0R0VFKUeOHEnmP3bsmMLDw9W4cWNrm8VikSQ5Ozvr8OHD8vf3l/S/4HXy5EmtW7fuoddlBQQEKD4+XuHh4SpcuHCS6a6ursmGMgAAAABICYde8+Xi4qKyZctq7dq11jaLxaK1a9eqUqVKSeYvUqSI9u3bpz179lgfTZo0UY0aNbRnzx5rT1Ri8Dpy5IjWrFmjbNmyPbSWPXv2yGw2y9vbO+12EAAAAAD+n8NPOwwKClLHjh1Vrlw5VahQQdOmTdONGzfUuXNnSVKHDh2UK1cujR8/Xm5ubnrxxRdtlk8cRCOxPS4uTs2bN9fu3bu1cuVKJSQkKDIyUpKUNWtWubi4aOvWrdq+fbtq1KihzJkza+vWrXr33XfVrl07eXp62m/nAQAAADw3HB6+WrZsqQsXLmj48OGKjIxU6dKlFRoaah2E49SpUzKbU95Bd/bsWf3444+SpNKlS9tMCwsLU/Xq1eXq6qrFixdr5MiRunPnjvLly6d3333X5pouAAAAAEhLDr/P19OK+3wBAAAAkJ6S+3wBAAAAwPOC8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7IHwBAAAAgB0QvgAAAADADghfAAAAAGAHhC8AAAAAsAPCFwAAAADYAeELAAAAAOyA8AUAAAAAdkD4AgAAAAA7eCLC18yZM5U3b165ubkpICBAO3bsSNFyixcvlslkUrNmzWzaDcPQ8OHDlTNnTqVPn16BgYE6cuSIzTyXL19W27ZtlSVLFnl4eKhLly66fv16Wu0SAAAAANhwePhasmSJgoKCNGLECO3evVulSpVS3bp1df78+QcuFx4ergEDBqhq1apJpn300Uf65JNPFBwcrO3btytjxoyqW7eubt++bZ2nbdu2OnDggFavXq2VK1dqw4YN6tatW5rvHwAAAABIkskwDMORBQQEBKh8+fKaMWOGJMliscjPz0+9e/fW4MGDk10mISFB1apV05tvvqmNGzfq6tWrWrFihaS7vV6+vr7q37+/BgwYIEmKjo6Wj4+P5s2bp1atWunQoUMqVqyYdu7cqXLlykmSQkND1aBBA505c0a+vr4PrTsmJkbu7u6Kjo5WlixZ0uCVAAAAAPA0Smk2cGjPV2xsrHbt2qXAwEBrm9lsVmBgoLZu3Xrf5UaPHi1vb2916dIlybQTJ04oMjLSZp3u7u4KCAiwrnPr1q3y8PCwBi9JCgwMlNls1vbt25Pd5p07dxQTE2PzAAAAAICUcmj4unjxohISEuTj42PT7uPjo8jIyGSX2bRpk2bPnq2QkJBkpycu96B1RkZGytvb22a6s7OzsmbNet/tjh8/Xu7u7taHn5/fw3cQAAAAAP6fw6/5ehTXrl1T+/btFRISIi8vL7tue8iQIYqOjrY+Tp8+bdftAwAAAHi6OTty415eXnJyclJUVJRNe1RUlHLkyJFk/mPHjik8PFyNGze2tlksFkl3e64OHz5sXS4qKko5c+a0WWfp0qUlSTly5EgyoEd8fLwuX76c7HYlydXVVa6uro++kwAAAAAgB/d8ubi4qGzZslq7dq21zWKxaO3atapUqVKS+YsUKaJ9+/Zpz5491keTJk1Uo0YN7dmzR35+fsqXL59y5Mhhs86YmBht377dus5KlSrp6tWr2rVrl3WedevWyWKxKCAg4DHuMQAAAIDnlUN7viQpKChIHTt2VLly5VShQgVNmzZNN27cUOfOnSVJHTp0UK5cuTR+/Hi5ubnpxRdftFnew8NDkmza+/Xrp7Fjx6pgwYLKly+fPvjgA/n6+lrvB1a0aFHVq1dPXbt2VXBwsOLi4tSrVy+1atUqRSMdpoWjR4/qxIkTdtnWvW7evKljx47ZfbtPCn9/f2XIkMHu282XL58KFChg9+0CAADgyeHw8NWyZUtduHBBw4cPV2RkpEqXLq3Q0FDrgBmnTp2S2fxoHXSDBg3SjRs31K1bN129elVVqlRRaGio3NzcrPMsWrRIvXr1Uq1atWQ2m/X666/rk08+SdN9e5BPP/1Ue/futdv24FilSpXS9OnTHV0GAAAAHMjh9/l6Wv3X+3zR8+UY9HwBAAAgraU0Gzi85+t5VaBAAT6MAwAAAM+Rp2qoeQAAAAB4WhG+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELwAAAACwA8IXAAAAANgB4QsAAAAA7IDwBQAAAAB2QPgCAAAAADsgfAEAAACAHTg7uoCnlWEYkqSYmBgHVwIAAADAkRIzQWJGuB/CVypdu3ZNkuTn5+fgSgAAAAA8Ca5duyZ3d/f7TjcZD4tnSJbFYtG5c+eUOXNmmUwmR5fzVIiJiZGfn59Onz6tLFmyOLocPMM41mAvHGuwF4412AvHWuoYhqFr167J19dXZvP9r+yi5yuVzGazcufO7egynkpZsmThjxl2wbEGe+FYg71wrMFeONYe3YN6vBIx4AYAAAAA2AHhCwAAAADsgPAFu3F1ddWIESPk6urq6FLwjONYg71wrMFeONZgLxxrjxcDbgAAAACAHdDzBQAAAAB2QPgCAAAAADsgfAEAAACAHRC+AAAAAMAOCF8AAAAAYAeELzz1GLATj8vt27cdXQIAAHiGEL7wVLNYLDKZTI4uA8+gMWPGaOHChbJYLI4uBXgovoQCgKcD4QtPNbP57iH8ySefqFWrVho+fLg2btzo4KrwNEv8EHvp0iW9/PLLMpvNio+Pd3BVwP8kHqMnT57U3r17dfbsWb4kQLLuPS7u3LkjiaCOtLNnzx7duHHD0WU8dQhfeOpNmDBBY8aMkZOTk3755RcFBQVpyZIlji4LT6mTJ09KkqZNm6ZixYpp/fr1Cg4O1pUrVxxcGXD3g7PJZNKKFStUs2ZNNW/eXGXLltXo0aP1zz//OLo8PEEsFov1C8oZM2Zo5MiRio6O5mwRpEpieE/0999/q1GjRjp//ryDKnp6Eb7w1Pn3N7wXL17UsmXLtGjRIoWEhKhMmTIaOXKkFi9e7KAK8bRasGCBunbtqnXr1lnbvvnmG40ePVpLlizR1atXHVccnmsJCQmSJJPJpF9//VWdOnVSnz59dOjQIfXq1UszZ87UpEmTdOjQIQdXiidFYvAaOHCgxo0bp/z58+vy5cvW6fSAIaWmTZumunXr2nwJGRcXp/Tp08vb29v6/oSUIXzhqXLvN3nr16/Xjh07tHfvXrm5uUmSypQpo969e6tq1arWD8xASnl7eys6OlrBwcEKCwuTJM2aNUstWrTQxx9/rEWLFhHAYFfffvutJMnJyUmSdOXKFX3xxRd699131bdvX50/f17z5s1T4cKFtWbNGn300Uc6fPiwI0vGE2T+/Pn66quv9MMPP6hr167Kly+fDMOgBwyP5OWXX9Zff/2lLl26WAN8dHS0XFxclDFjRuv7E1KG8IWnyr3f5DVq1Eivv/66Nm3apD179ljnKVGihPr06aNXXnlFPXv21Jo1axxULZ429erV00cffaSzZ89qxowZWr16taS7p+zUrVtXU6ZMIYDBbnbs2KHBgwfrzJkz1l4KNzc3derUSW3atNGlS5dUp04d1ahRQ5s3b1aHDh30/fffa8SIETpw4ICDq8eTYP/+/apevbrKly+vgwcP6rPPPtNLL72k0qVL65tvvpFEDxju788//9Tt27dVvnx5hYWFafPmzercubOuX7+u27dvy2QycfykgrOjCwBSIvE6B0k6evSoQkNDtX79el29elXff/+9+vXrp4wZM6pdu3aSpBdffFHdunVTvnz5VKNGDUeWjqdM9erVNXbsWA0bNkzBwcGSpNq1a+uzzz5Tz549NWXKFJnNZrVs2VJZs2Z1cLV4lhUrVkw7d+5U1qxZtX//fr344otKnz69qlSpIk9PT82cOVPe3t6aMGGCJMnX11c+Pj6Kjo7m2HzOJf7PzJs3rxYsWKA+ffpow4YNKliwoF599VVduXJFb731lmrVqiVvb29Hl4snjGEYWrJkifr166e///5bbm5uKlWqlEJDQ1WvXj11795db7zxhtKnT68lS5bI3d1d3t7eunHjhiIiIlS+fHnlz5/f0bvxxCJ84Yl2+fJlZc2a1Rq8xo0bpxMnTqhWrVoqV66cJKlw4cJKnz69evbsKUnWAFamTBmVKVNG0t3rJegWR0rVqFFDo0eP1vDhw5MEsN69e+v9999XunTp9Oabb1p7Y4G0lilTJknS2bNnVb16ddWvX18LFy6Up6enJOnq1au6fv26bt68qWzZsun48ePq27evWrdubZ0Hz4d7T8mXZP2fWadOHV25ckUrVqzQW2+9pdq1a6tw4cLasmWLdu3aRa8FkmUymdSqVStVrlxZHh4eioiIkKenp8qUKaPQ0FDVrVtXS5culb+/v0aOHKm4uDhlyJBB165dkyStXbvWwXvwZCN84YnVvHlzubu7a/bs2ZKk+Ph4Xbt2TbNnz7bpzfLz81Pfvn1lMpnUu3dv3bx5U926dbNZF8EL95P4DfHFixd18+ZN+fj4yMXFRbVq1ZLFYtHIkSNtAtinn34qV1dXVa9eneCFx+be3n5PT099+OGHGjNmjHr06GE9Hn19fRUdHa1evXpJktasWaM//viD4PWcuTd4zZ07V8eOHVNUVJQGDBigQoUKadiwYQoKClKGDBkk3R0oYezYscqcOTO9XkhWXFyc0qVLJz8/Px04cEAvvfSSZs+erebNm6tMmTJas2aNXn31VWXPnl1fffWVvLy8rLdlMZlM1i+OcB8G8IQ6deqUcefOHcMwDOP69euGYRhGTEyMMXHiRMNkMhmzZs2ymf/06dNG165djdq1a9u9VjydLBaLYRiGsWLFCiMgIMDw8fEx6tevb0ydOtWIjY01DMMwfvvtN6Ny5crGG2+8YaxcudKR5eI5kXhcbtu2zVizZo0RGxtr3Lx505gzZ47h4+NjdO3a1Trv5MmTjc6dOxstWrQw9u3b56iS8QR47733DG9vb6Ndu3ZG5cqVDX9/f2POnDnG1atXDcMwjGvXrhnLli0zatSoYZQuXdr6HpeQkODIsvGESO44iIqKMgzDMNq2bWt4eHgYixcvNm7dumUYhmH8+eefhpeXl/HGG28Yly5dsmutTzvCF55I8fHx1p9nzJhhvPjii0ZERIRhGIZx48YNY+TIkYbJZDJmz55ts1xUVJT1gwvwIInHycqVK41MmTIZEyZMMPbu3Wt07NjRyJ8/vzFkyBDrh5PVq1cbxYoVM9q3b2/cuHGDYwyPTeKx9d133xnZsmUzRo4caZw8edIwjLtfPs2ZM8fInj270aVLF5tl4uLiHFIvngyzZs0yXnjhBePPP/80DMMwNm7caJhMJqNAgQLGF198YVy/ft04ffq0MWbMGKNHjx7W44XjBvc6ceKE0bdvX8Mw7r4HVahQwbh48aJhGIbRpUsXI2PGjEkCmJOTk9GmTRtC/CMgfOGJdvPmTePw4cOGn5+fUaNGDSMyMtIwjP8FMLPZbMyZMyfJcnw4xr8l94/h7NmzRsWKFY2pU6cahmEY0dHRRq5cuYwyZcoYL774ojF06FBrAAsLCzNOnDhhx4rxvFq9erWRKVMmY/bs2caNGzdspsXFxRlz5swxfH19jVatWjmoQjxJbt26ZUyZMsWYOXOmYRh3PzS7u7sbs2fPNtq0aWNky5bNCAkJMW7dumXcvHnT+v/x3i85gYSEBGPWrFlGwYIFjbp16xomk8lYuHChzTxvvfWWkSFDBuObb76xBrC//vrLOHz4sCNKfmoRvvBEWbt2rfHNN98YhmEYvXr1MoYMGWIYhmEcPXrUyJcvn1GtWjVrALt586YxevRow2QycToYHigxeJ0+fdr4/vvvjZCQEOP06dNGTEyMERISYhw5csSIiIgwChYsaLz99tvGrVu3jDp16hg5cuQwevXqZQ1ggD3069fPaN++vWEYd79o2rFjh9GzZ09j2LBhxpYtWwzDMIzPPvvMKFSokPWMADw/7v1yMfHnvXv3GhEREcbRo0eN4sWLW79Q+vvvv4306dMb2bNnN3744Ydk1wHcq3v37obJZDKqV69ubUsMWoZxN4B5eHgY8+bNs2lHyjHgBp4Yly9f1syZMxUZGanFixfrt99+0/bt2yVJ/v7+Wr16tWrXrq0WLVpo6dKl8vHxUVBQkHLlyqW6des6uHo8qRIvRv/rr7/UrFkzOTs76+jRoypQoIDGjRunN954Q+7u7ho+fLhKlCihcePGyc3NTZUqVdLx48d1+vRpXb58WT4+Po7eFTwHEhISdOXKFUVERCgsLExz585VVFSUoqKilC1bNu3cuVPfffed2rZtqzZt2sjd3d3RJcOO/j2qYaKSJUtKklatWiUnJyfVr19fknThwgV16tRJOXLkUMOGDa3zc4Nl/FtCQoKkuwP5dOjQQfv27dNbb72lL7/8Um5ubrp165bSp0+vkJAQ3bx5U0OGDNGrr74qNzc3B1f+9GGoLjwxsmbNqgkTJujy5cv68ccfNXLkSJUoUULS3TcFf39/rVmzRmfPnlWrVq107tw5ZcyYUW+++aacnZ0VHx/v4D3Akybxg8q+fftUsWJFdejQQatWrdLx48eVIUMGjR071vpB5tSpU7px44Y8PDwkSdHR0erZs6e+/PJLghceG+Oeob4tFoucnJz0zjvv6MiRI2rVqpXi4uLUs2dP7dmzR23bttWVK1dkMpmUJUsWgtdzKPH9asqUKXrttdfUsmVLTZ8+3XocRUdH6/z58zp27JiOHj2qjz76SE5OTho+fLicnJysH7CBRInHjpOTk/VYCQkJ0Ztvvqnt27erS5cukqT06dNLkk6fPq1FixZp9+7dypIli8PqfpqZDIObPMDxjP8fVvnYsWPq37+/bt26pdjYWHXt2lVt2rSRdHeoeWdnZx0/flylSpVSu3bt9Pnnnzu4cjzpwsPDlT9/fnXp0kUhISHW9lWrVum1115TWFiYKlasqLFjxyo0NNQa+L/++mv9+eef3CgSj03i+966deu0Zs0a7du3T61atVKzZs1kGIbOnDmjIkWKWOd77733tGvXLi1fvpwPPc+Ze3u8Ro8ercmTJ6tVq1a6ffu2vvnmGzVt2lSff/65vLy8VKtWLe3du1fp06eXt7e3tm3bpnTp0jl4D/AkSnxvWbNmjVauXKmDBw/q9ddfV+3atZUnTx4FBwfryy+/VJkyZRQcHKwPP/xQa9asUWhoqDJnzuzo8p9anHYIh0r8h5J4CoS/v79WrFih/fv3a+zYsfr8889lMpnUunVrOTvfPVx9fX11+PBheiOQIh4eHnJ3d9fx48e1f/9+FSpUSC4uLoqLi1P69Omt9yPp2rWroqKitH//flksFm3YsIHghcfKZDLp+++/V6dOnfTGG2/I399fAwcO1HfffaeZM2eqSJEikqQtW7Zo5cqVCg4O1oYNGwhez6HE4LVr1y5dvXpVP/zwg6pXry5JevfddxUYGKg+ffro66+/1tq1axUaGionJyfVrFlTTk5O1i8vgXslvgd17NhRbdu2VcWKFTVmzBitWLFC8+fPV4cOHeTs7KxJkyapYMGCio2N1Q8//EDw+q8cdbEZcO/oc7t27TJWr15tHDp0yDr07Y4dO4yWLVsa1atXNxYsWGAYhmHUqVPH+PDDD63LMVoTHiRxoIxLly4Z+fPnNypWrGhERkYaJ06cMHx8fIxBgwYZhvG/i8/v3LljWCwW49q1aw6rGc+PEydOGMWKFbPes9BisRgZMmSwDjRkGIZx7tw5o2nTpsZLL71k7N2711Gl4gmwcuVKI0eOHEaOHDmM3bt3G4bxv6HiN2zYYLi5uRkrVqxIshz/J3E/p06dMkqWLGl8/vnnhmHcfQ/KnDmzMWjQIOv/xdjYWOPvv/82vv76a0b8TSOcdgiHMP6/q1uS3n//fa1YsUJRUVEqWbKkihcvrilTpsjFxUU7d+7UjBkzFBYWZj3feP/+/ZxCgYdKPMZWrlypTJkyqVSpUipRooS8vb114cIFNWrUyHra6v0uYgcep+PHj+uNN97Q1q1bFR4erpo1a6pBgwb64osvJN3t5ShbtqzCw8Pl6uqqnDlzOrhiONLWrVsVHBysr7/+Wl9++aU6duxovV7n4sWLqlq1qgYPHqxOnTo5tlA8ce79zHWv06dPq2nTptq4caPOnTunGjVq2LwHbdu2TSVKlFDGjBntXfIzjU8bcIjEN4Hx48drzpw5+uyzz3T27FkVLlxY8+bNU+fOnXXnzh2VL19eQ4cOVXBwsPr06aMDBw4oXbp0DK6BhzKZTNqyZYvatm2rU6dOydPTU3v27NGtW7d05coV9ezZ02ZewJ4Mw9ClS5d0+fJl7du3Tw0aNFCDBg0UHBws6W7wmjp1qvbv36+8efMSvJ4zFoslSVulSpXUt29fNW/eXMOGDdN3330nk8kkk8mkTJkyKT4+XrGxsQ6oFk8yi8Uik8mkmzdv6uLFiwoLC9PZs2cVHR0ts9ms8+fPa8eOHapfv77Ne9Bff/2l6dOn659//nHwHjx7OAEYDnPo0CH99NNPmjt3rqpXr67Vq1frq6++UrNmzbRz505169ZNISEhKlSokAoVKmRdLiEhgXPX8VCnTp3SunXr9O6776pDhw6KjY2Vl5eXNm3apNKlS6tnz54KDg5W8eLFCV94rBJ7J0wmk811ruXLl1epUqVUvnx5tWnTxvptsyR99913OnbsmLJnz+6osuEghmFYe+Lnz5+v6Ohoubq6qnv37nrppZfUv39/pUuXTl26dNGuXbvk7u6uLVu2yMnJSW+++aaDq8eTJPH95p9//tGHH36oHTt2WHvSGzZsqCFDhqht27aqVauWXn/9dZv3oMWLF+vYsWPKkSOHA/fg2cRph7Cbb7/9VpGRkerdu7e1bcGCBapbt66OHDmiFi1aaNSoUeratatatmyp7777TrVr19aPP/7IaYZIMcMwdPr0aVWqVEm3b9/W22+/rbFjx0qSYmNj5eLiogsXLiggIEAZMmTQsmXLrAMbAI9D4ik/69ev108//aRs2bKpbt26Klu2rLZv366BAwfq2rVrmjVrli5cuKCwsDB98cUX2rRpk/X+TXj+DB06VDNnzlTBggUVHh6ucuXKadWqVZKk3bt36+OPP9bKlStVvnx5de/eXa+99prSpUunhIQEOTk5Obh6ONq997isV6+emjZtqooVKyogIEDz5s3TsmXLrCF+37592rJliz7//HNFR0dr8+bN+vLLL7Vx40aVKlXK0bvyzOG0Q9jN4cOH1bdvX82aNct6SkWHDh3k4+OjZcuWqXHjxurYsaMkqUiRIqpevboKFy7MPxE8EpPJpBdeeEEjRoyQxWLR9u3bdeTIEUmyjnKYPXt2bd26VZK4QSQeO5PJpNDQUAUGBuro0aOaPHmyBgwYoHnz5ikgIEBjx45Vzpw5FRgYaB1OfuPGjQSv58y9pxreunVL//zzj8LCwrRmzRp99913OnjwoGrUqCFJ1h6wli1b6vLly3Jzc7Oeks/1q7g3eFWqVEmdOnXSp59+qo4dO6pIkSKaMGGCxo4dqyxZsmjZsmWqWrWqqlatqubNm2vUqFHat2+fNm3aRPB6TDh3C3YzbNgwubq6qmfPnrJYLHr77bet086cOaMrV67IxcVFhmHo4MGDat68uXr06CGJARHw6Lp16yaTyWS9YWTPnj2VN29epUuXTrGxsfLx8dFff/3FcYXH7uzZs1q1apVmzpyp7t2769SpUxo8eLBCQkJkGIY6d+6satWqaf/+/cqVK5fMZjM3UH7O3Ps/7vjx47py5YokKXv27HJ3d1fVqlW1ZMkStWrVSjVr1tS6detUrlw5devWTfHx8frggw90584dtWjRwpG7gSeE2WzW6dOnVatWLTVs2FDjxo2TdLcXPvHSjVatWik6OlpDhw6VYRiaM2eO3n//feXMmVMWi4Xh5B8jTjuE3U2YMEFDhw7VjBkz1KNHD5lMJn3xxRcKDg5WhgwZZLFYFB0drb/++ktOTk73HaUHkP53SteePXt04sQJ3b59WzVr1rTeB27mzJkaP3682rVrp7ffflt58uRJsizwuPzxxx8aM2aMzp07p5kzZ6pChQqSpJMnT2ro0KEKDw9X+/bt1b17dwdXiifBe++9p6+++kqenp6KiIjQ6tWr9dJLL0m6+361c+dOtWnTRm5ubtq/f78kac+ePRo7dqzOnj2r1atXK2PGjLyvQeHh4WrRooVy5sypgQMHqkqVKtZp9/7vq1q1qrJnz67ly5dzyqqd8JUvHpt7T6G4N+MPHjxYY8eOVa9evaxDfbdo0UJvv/22ihYtqnLlymnv3r1ycnJSQkIC/0RwX4n/QJYvX67atWtr8uTJ6tmzp7p166Zvv/1WkvTOO+9oyJAhWrx4sT7++GOdOnXKujzHFh43FxcXXbx4UQcOHNDOnTut7Xny5NH48ePl7++vGTNmaO7cuQ6sEo5y7//J5cuX6/vvv9fHH3+sAQMGyMvLS7169dK5c+ckyTpIy9y5c1WkSBHFxcVJkkqXLq3hw4dr+fLlypQpE+9rkCTlzZtXixYtUmxsrMaOHatNmzYlO5+zs7MyZMggSQQvO6HnC4/Fvd+qfPnllzp69KgyZcqkd955R56enpLuDjM/bNgwTZ8+Xb169Uqyjvj4eEY1xEOFhYWpZcuW+vDDD9W1a1dt3bpV1apVU+XKldW1a1e1a9dOkjRp0iTNnTtXYWFh8vb2dnDVeJ4cPHhQffv2VWxsrPr166dXX33VOi08PFzjx4/XkCFDlDdvXscVCYdKHFkuY8aM6tevnyTpxIkTqlOnjnx8fLR06VL5+vomWS4uLo4BqfBAR44cUZ8+fWQYhj744AO9/PLLku4G/3Pnzqlbt25q2bKl9b5xhPfHj/CFNHfvH++IESM0adIk1a5dW6tWrVKFChU0ceJEVapUSSaTyRrAZsyYYb0GjD9+pFRsbKzGjBmjmzdvavLkyTp+/Ljq1Kmjl156SefOnbOez96qVStJ0pUrV6zhH0hrie9dBw8e1KlTp+Ti4qKSJUvKy8tL+/btU1BQkMxms95++201a9bMuhxfND3f4uLilCtXLl28eFFvv/22Zs6caZ0WHh6uOnXqKGfOnPrqq6/k5+fnwErxtLo3gA0bNsx6CuLgwYMVGhqqlStXKnfu3A6u8jliAI/JiRMnjKZNmxo7duwwDMMwrly5YhQvXtyoXLmysXHjRsNisRiGYRgffvihYTabje+//94wDMPaDqTE3r17jYMHDxoxMTFGQECA8eabbxqGYRi7d+82MmfObLz00kvGokWLDMPg2MLj9+233xq+vr5Gvnz5jDx58hg+Pj7G77//bhjG3WO1Vq1aRoMGDYzFixc7uFI4SnLvQzdu3DDKli1r+Pv7Gzt27DASEhKs006cOGFkzpzZ6NGjhz3LxDPmn3/+MerVq2fUrVvX2L17tzFx4kQjU6ZMxp49exxd2nOHa77wWEyePFmNGjXStWvXrN/UeXh4aP369YqJidHgwYO1ZcsWWSwWvf/++woKClLPnj0VGRlJrxdsGIZhvWbQSKajvkiRIipatKi2bt2q27dv6/3335ckXb9+XaVLl1aBAgVUtWpVSVzjhcfrjz/+UJcuXTRq1Cht3LhRP/30k+rUqaOGDRtq8+bNKlmypCZPnqzz58/r22+/1fXr1x1dMuzMYrFY34euXbumW7duKTY2VhkyZND69etlMpnUo0cP7dmzx/p+lzdvXv3zzz+aMWOGI0vHU65gwYL65JNPlC5dOtWrV0/Dhg3T+vXrGU7eAQhfSBP3XjQsSY0bN9bFixe1ZcsWnThxQtLdD85eXl5av369rl+/rs6dO1tHa6pdu7Zy5sxpvYAYSHT79m2ZTCbFxsbKZDJp48aN+uijjzRixAjt3r3b+kHm1q1bunbtmsLDwyVJa9as0UsvvaTZs2dzqg7S3O+//674+Hibtn/++UclSpRQ+/btlStXLpUoUUKzZ89WkyZN1KZNG12+fFmlSpXSggULNGXKFGXKlMlB1cNREoeTHzdunFq2bKlSpUqpf//+WrVqlTJlyqQ///xTMTEx6tatm/bu3WsNYDly5LAOQgWkVsGCBTVp0iRVrFhRf/75p8qWLevokp5LhC+kicR/KFu2bNGZM2dUqFAhbd++XZkyZdLw4cN15MgR64fkbNmyafXq1QoICFCxYsUkSdu2bdO5c+esI+4AkrRw4ULlz59fUVFRcnFx0dKlS1WnTh0tX75cK1asUMWKFTVx4kRduHBBL730kjw9PdW3b1+VLl1a06dPV6dOnfiAizR34MAB1ahRQ8OGDbP5MHz16lXt2bPH+l6XkJCgdOnSWQcUOn78uCSpaNGieuGFF+xfOBzm9OnT1p+HDRumSZMmqVGjRmrWrJlOnTqlHj16aOnSpdYAduPGDTVu3Nh6g/hEjEaH/6pw4cJatmyZihcv7uhSnluEL6SZsLAwvf7665o3b54iIiKUJ08ebd26Vbt371bv3r2t/0QMw1D27Nm1cOFCOTs7KzY2VoULF1ZoaKiyZcvm4L3AkyRPnjzKly+fateurVOnTmnz5s2aMWOGNm/erL1792ry5MmaOnWqZs2aJT8/P82dO1dvvfWWWrRooe3bt6t06dKO3gU8g4oXL64FCxZo2rRp+uCDDxQbGytJqlOnjvz9/TVq1CjFxMRYPyhnz55dTk5O1vnwfFm8eLHatWunW7duKTw8XD///LPmzZunnj176qOPPtKECRPUtGlTDR8+3Pql5c6dO1WlShX5+/s7unw8gxgh07EYXglppkaNGmrbtq2WLl0qs9msTp06qUCBAtq+fbsqVqyofv36adKkSSpatKjNci4uLmrZsqWDqsaTrFq1apoyZYoGDRqkGjVqKFu2bGrRooX1Q23v3r1lsVg0cOBANWnSRCVLllSJEiUcXDWeZYnXILZr107p0qVT27ZtlTlzZg0cOFB58+ZVgwYNtGHDBsXHx2vo0KGKj4/XvHnzZDablT9/fkeXDwf4559/lDt3bqVPn1537tzRkSNHbE7VL1q0qN58801t2rRJR44cUUBAgDJlyqRvvvlGkrjxLfCMoecLqXLvwAf3Xqc1adIk1a9fX4sWLbL2gCUGsFWrVunLL790RLl4CiUeYxUrVtT48eNVrFgx/fHHH9b2W7duSZL69u2rvHnzat26dQ6rFc8PwzBkNpsVGhqqyMhI5cyZU0OHDtWoUaPk7OyskSNHqlq1avrtt9/k5eWlOnXq6Msvv9TSpUuVI0cOR5cPBzh79qz19FQvLy+VLVtWf/31l82AK6VLl5arq6v++OOPJMsTvIBnCz1fSJXEaxpmzZoli8Wi9u3bW6+tmThxogzD0IwZM2Q2m9WxY0f5+/vr9OnTfPhAit07MmHlypU1aNAgXbp0SW3bttWuXbvk5eUl6W4Ic3FxUfr06R1VKp4jZrNZv/zyi15//XV9+OGHGjx4sE6cOKFx48YpLi5OEyZM0OjRo9WrVy+tW7dO2bJlU7FixbjG6zlz6dIl62n0N2/elKurq6S71zxXqVJFwcHBKliwoJo0aaKMGTPq+vXrMgyDG20DzwHCF/6Tn3/+WQcPHlSGDBnUvHlzZcyYUZL00Ucfaf/+/friiy8UHR2toKAg5cqVSxI3FMWDGf9/o9qoqCilS5dOt27dUq5cufTyyy9r0qRJevfdd/XSSy/piy++kNls1saNG3X27FnVqlXL0aXjOWCxWLRw4UK1aNFCQUFB1vbixYvrrbfekouLi4YNG6acOXOqbdu2DqwUjrJx40YNHz5cw4YNU61atWQ2m5UzZ07r9A8//FDnzp1Tv3799N133ylXrlzWQTYSB2cB8OzitEOk2L+Hk5ekH3/80Xpa2NKlS21OoyhYsKBcXFwUFRVl7aWQRPDCfSUkJMhkMumnn35Ss2bN9PLLL6tp06ZatGiRzGazKlWqpKlTp8rPz0+NGjXShAkTFBsbq3Xr1qlAgQKOLh/PAYvFosjISLm4uEi6+2VBQkKCOnXqpO7du2vs2LEaNWoUt814jnl7e0u6e7/Lbdu2yTAMubu728wzd+5cjR8/XoUKFdL+/ftVsWJF7d69W87OzgwnDzzjTEZydy0F/sVisViHk//zzz/l5uYmwzCsQ8Unngo2cOBANW7cWN7e3mrXrp3eeustvfLKKzKZTNYeDSBR4nF17do1Zc6cWZK0cuVKtWrVSqNHj1aZMmW0cuVK64iGXbt2lWEY2rx5swYPHqzbt29r8+bN1lN6AHuYNGmSpk+frp9++kmlS5e2vrdNnDhRs2fP1pUrV3TgwAHrh3A8f44eParevXvLzc1N27Ztk4eHh3LkyGG9ZtXFxUUWi0WXL19Ww4YNNWbMGEmcGQI8DwhfeKBRo0apQoUKql+/viSpf//+Wrp0qW7fvq2MGTOqRYsW+uijjyRJnTt31h9//CGLxaL06dPrxo0b2r9/v5ycnGzCG3Cvv//+W71799ZXX32l2NhYde7cWU2aNFGfPn107tw5vfzyy/Lw8NDevXs1Y8YM9ezZUxaLRdu3b5evr6/y5Mnj6F3AMyoxVJ0+fVoxMTEqXLiwnJ2ddejQIfXv319OTk4aM2aM9ZYGAwYMUOHChdW6dWvuLwcdPnxY/fr107Zt25Q7d261bdtWp0+fVlxcnDJmzCgnJyfduXNHU6dOlbOzM19QAs8Jvl7Bff35558KDQ3V5s2brR8kli1bpoULF8pisejYsWN69913deHCBc2dO1dz587VwoULFR4erri4OA0fPlxOTk4Mk4sH2rZtm27evCkfHx9FRkbq5ZdfVsuWLRUREaHAwEDVqVNHEyZM0Ntvv61evXopLi5Offv2VaVKlRxdOp5xJpNJ3333nQYOHKjr16+rQIECGjx4sJo0aaJ+/fpp2rRpqlu3rl555RVdu3ZNmzdv1tatWwlekHT3Zraffvqp3n33XcXGxqphw4b3vRUG/yeB5wc9X3igNWvWaPr06TKZTPLx8VG2bNk0YcIE6/TVq1erUaNG+vDDDzVgwIAky/MPBQ8zfvx4LV++XNu3b5fZbNaVK1fk6emp4cOHa9euXVq0aJE8PDz0/vvva+HChbp586aOHDkiT09PviXGY3Xw4EG9+uqr6tatm8qWLatx48bp4sWL6tu3rzp27KgTJ07ol19+UVhYmLJnz6533nlHL774oqPLxhPmn3/+UZ8+fWQymTR06FBVqVLFOo3eLuD5w3lgSKJdu3bWgBUYGKh33nlHJpNJK1as0JUrV6zzJSQkqHbt2urRo4fCwsJ069atJINyELxwr8Tj4/bt29a2+Ph4eXh4yGw2yzAMeXp6yjAM7du3T9myZZOHh4eku0PKjxkzRidOnFDWrFn5wII0k9x3kHv37tWvv/6qhg0bqn///qpevbp++eUXFSpUSNOnT9fcuXOVM2dOvfPOO1q8eLE+//xzgheSVahQIX366adycnLSu+++q7/++ss6jfcx4PlD+IKNa9euqXbt2urfv7+1rV69eurVq5dKlCihH374QaGhoZL+F6yyZs2qy5cvy9nZmeu68EBms1lnz55Vhw4dtHr1akl3Q3zi/XAMw7B+E1ypUiUtXrxYH3zwgTp16qSFCxeqcuXKypIliyN3Ac+YxOPt/PnzOnnypCQpNjZW3bt3V//+/bV//37rvM7OzlqwYIEKFSqkWbNmKSQkRHfu3GGABDxUwYIF9fHHH6tatWqEdOA5xydl2MicObM6duyodOnS6YsvvlCnTp0kSbVr19bQoUP10ksvafz48frll18kSZcvX9b69euVO3duPoAgRe7cuaMzZ85o6tSp2r17t2JjY63DdpvNZus3wW+//bY+//xzLV26VBcvXtSaNWtUqFAhR5aOZ5DJZNLVq1fVsmVLjRo1SsePH5eLi4t++eUX1atXT0eOHNHy5csVHx8v6e4odQsWLFDWrFn1/fff2/TiAg9StGhRTZ48WWazOdlbtwB4PnDNF6zuvT7rzJkzmj17thYvXqy6detq2rRpkqTQ0FBNnjxZGzZsUIkSJVSoUCGdOHFCGzZsULp06Th/HSly9OhR9erVSxkzZtTJkydlGIZefPFFa/hKvN+XyWSSxWLRp59+So8XHqvx48fr+++/V6VKlfTOO++oUKFCunz5spo2bSqLxaIhQ4aoQYMG1t792NhYXbhwwXrzeAAAUoKuCkiSbty4oYwZM0qSevXqpfTp0+vtt99WpkyZNHfuXPXu3Vuffvqp6tWrJ1dXVzk5OenQoUPq27ev2rZtK7PZzP1JkGIFChTQ9OnT9e677+rw4cNydXVVhQoVdPz4cZlMJmXMmFEJCQmKjY3VRx99RPDCY5N4G4whQ4Yoffr0WrBggSRZA9iKFSvUtGlTjR8/XmazWfXq1ZPZbJaLiwvBCwDwyOj5gubPn6/Tp09r2LBhOnLkiBo3bqyQkBBVrVpVV65c0Zdffqn58+erRo0a+vTTTyVJK1as0Pbt2/Xhhx9aT6Hgei88qqNHj6pfv36KjY3V5MmT7zsMM/A43fv+NW3aNC1YsEBVq1a1BrBLly7p9ddf14ULFzR16lTVqVPHwRUDAJ5WhK/n3BdffKEePXpow4YN2rlzpw4dOiQnJyfNnDnT+mHk8uXLmj17thYuXKgaNWpo+vTpNusgeOG/SByGWZKGDh2qqlWrWqdxGivS0oPeqx4WwC5evKj27dvr888/V968ee1YNQDgWcIn5ufYwoUL1atXL61cuVJVqlTRuXPn9OWXX2rfvn3WD7wWi0VZs2ZVly5d1LFjR33zzTeaOnWqzXoIXvgvEodhTpcunQYNGqTt27dbpxG8kJbMZrMiIiKSHezg3kEQ+vXrpw4dOmjjxo0KDg7WoUOH5OXlpZ9//pngBQD4T/jU/JyaN2+eOnbsqOrVq6tBgwaSpPfee0/jxo3Tli1bFBISIknWAQ+yZs2qjh07atq0adZeCiCtJA7DnDt3buXMmdPR5eAZdevWLVWtWlVNmjRJUQDr3Lmzvv/+e82fP19xcXF8GQAA+M847fA5FBISoh49eujNN9/UL7/8otdee816LdfVq1c1ZcoUjR07VvPnz1f79u2t9166t4fr3pERgbRy77DzwOPw22+/qX379qpVq5a++uqrZHvu7z0FMTg4WHXr1lW+fPnsXSoA4BlE+HrOTJs2TUFBQfr5559Vv359zZo1S8OGDVPr1q31ySefSJKio6M1adIkjR8/XvPmzVO7du0cXDUAPLp/X+OVeA3h+vXr9dprr6levXopCmAAAKQVxgV/zpQpU0Zff/216tevL0lq1aqVTCaThg4dKkn65JNP5O7urgEDBshsNqtDhw7y8vJSvXr1HFk2ADySxPAUFRWlqKgolSxZ0nraYPXq1fXdd9/p1VdfVdu2bbVo0aIkQYvgBQB4HOj5ek7dO4pcTEyMFi9erKFDh9r0gF25ckXfffedOnXqxP27ADx1Tp06pXLlyunixYt688035ePjoy5duihr1qzy8PBQWFiY2rRpo2rVqmnRokW8zwEAHjv+0zyn7r1wPEuWLGrVqpUkadiwYTKbzZo2bZo8PT311ltvSRI3UAbw1Ej8cumvv/6Sr6+vYmNjdfr0aUVERKhChQrKlSuXmjZtqvLly2vhwoVq1qyZgoKC9PHHH8vV1dXR5QMAnmF8moak/wUwk8mk7t27K2/evOrXr591OsELwJMu8VTDmzdvKmPGjGrUqJFu3bqlr7/+WtHR0VqwYIEiIiIUFhamr7/+WgsXLlT69Onl4+OjGTNmKFOmTBo3bpyjdwMA8AzjtEPYuHr1qn7//Xc1atSI0QwBPHUiIiLUqVMnde3aVc2bN5ckLV26VDNmzJCbm5vmzZsnX19fXblyRZI0e/ZsnTx5UsuXL9eqVatUsmRJR5YPAHjGEb5wX5xqCOBps3PnTo0YMUIxMTEaNGiQmjRpIklatmyZZsyYIbPZrPnz58vPz89muZs3bypDhgyOKBkA8BwhfAEAninbtm3TtGnTdOLECQ0dOtQmgM2cOVMmk0kLFy5Urly5rF8y3TsIEQAAjwtj6QIAnkoJCQmS7vbS36tixYrq2bOn8uXLpw8//FA//vijJKl58+Z655135OTkpCZNmujcuXPW3n2CFwDAHjinDADwVHJyctKBAwfUrVs3lSlTRtWrV1e5cuWUN29eVatWTVmyZNHYsWM1btw4WSwWNWvWTM2bN9edO3e0ZMkSxcXFOXoXAADPGU47BAA8lQzDUMuWLbVs2TLly5dPERERevHFF+Xm5qaOHTuqTp06OnHihBYuXKhDhw5p6NCh1hvMX7t2TZkzZ3bwHgAAnjeELwDAU+Pf12ZdunTJep/CRo0aqVChQvr66691+PBhHThwQA0aNNDZs2d17do1RUdHa+HChXrllVccVT4A4DnHNV8AgKeCxWKRyWTShQsX9Mcff2jbtm3Kli2bFi9erOvXr+uHH36Qm5ubFi5cqO3bt2vZsmUqV66c4uPjdeLECV28eDHJKIcAANgTPV8AgCde4g2UDx48qG7duilz5szKkCGDFi1aJDc3N126dElNmjSRxWLRBx98oLp169rcq3D//v3Kli2bcubM6cC9AAA87whfAIAnWuKphgcOHFCVKlXUs2dPde/eXblz55bZbLYOF3/p0iU1bdpUkjRkyBDVr19fZjMneAAAnhyELwDAE+/y5ctq2rSpXnrpJU2fPt3anhjMEhIS5OTkZA1gzs7O/9fe3YU03f5xHP/MtphtiSQ9QNCGD+AOZmRpmghFkfRA1kooqZVWdGJkHWQUWTM9iOiBCoZIYR5LWRT0QBA90SSylShCB0nISg8aUjtxrfvgxv1vsfv+1533b1PeLxj8dl3zur78TuSz63ddU21trcrLyzlGHgCQNPhKEACQ9D5+/KhQKKTNmzcrFovF20eD1egKV0ZGhjo6OjQ4OKjm5mZFIpGE1AsAwI/wO18AgKT3+vVr9ff3q7S0VCaTKb4HbJTJZFIkEtGbN29UVFSkp0+fanh4WDabLYFVAwAwFitfAICk53Q6ZTabdf36dUn64V6uq1evqr6+XpFIRLNmzZLT6TS4SgAA/hnhCwCQ9BwOh9LS0tTW1qb+/v54+1+3Lb9//16LFy9WampqIkoEAOD/InwBAJLe/Pnz5ff7de/ePR0/flw9PT2S/ve44dGjR9Xe3q6qqioO2AAAJC1OOwQATAqxWEwtLS2qqalRdna2iouLZbVaNTAwoBcvXuju3btatGhRossEAOBvEb4AAJNKZ2enzpw5o3fv3mnmzJlatmyZdu/erZycnESXBgDAPyJ8AQAmndHf9QIAYDJhzxcAYNL562mHfIcIAJgsWPkCAAAAAAOw8gUAAAAABiB8AQAAAIABCF8AAAAAYADCFwAAAAAYgPAFAAAAAAYgfAEAAACAAQhfAAAAAGAAwhcAABOotbVV6enpiS4DAJCECF8AAAAAYADCFwAAk8DIyEiiSwAA/CbCFwBgSmtvb5fb7VZqaqoyMjK0atUqff36VcuXL1dtbe2Yz27cuFG7du2Kv3c6nWpsbJTX65XdbpfD4dCtW7c0NDSk8vJy2e125eXl6eXLl+Pm7ejoUE5OjqxWq8rKyvThw4cx/Tdv3lR+fr6sVqsyMzPl8/kUjUbj/SaTSX6/Xxs2bJDNZlNTU9OE3hcAgPEIXwCAKSsUCmnbtm2qrq5Wb2+vHj16JI/Ho+/fv//0GOfPn1dJSYm6urq0bt067dixQ16vV9u3b9erV6+UlZUlr9c7ZsxIJKKmpia1tbXp2bNnCofD2rp1a7z/yZMn8nq9OnDggHp6etTc3KzW1tZxAevkyZPatGmT3r59q+rq6t+/IQCAhDInugAAAP4roVBI0WhUHo9HDodDkuR2u39pjLVr12rfvn2SpPr6evn9fhUUFKiiokKSVFdXp+LiYn369Enz5s2T9OcjgpcvX9bSpUslSdeuXZPL5VJnZ6cKCwvl8/l05MgR7dy5U5KUmZmpU6dO6fDhwzpx4kR87srKSlVVVf3eTQAAJA1WvgAAU9bChQu1cuVKud1uVVRUqKWlRZ8/f/6lMfLy8uLXc+fOlTQ2wI22DQ4OxtvMZrMKCgri73Nzc5Wenq7e3l5JUjAYVENDg+x2e/y1d+9ehUIhRSKR+N8tWbLkl2oFACQ3Vr4AAFPWtGnT9ODBAz1//lz379/XpUuXdOzYMQUCAaWkpIx7/PBHh1pYLJb4tclk+tu2WCz203V9+fJFPp9PHo9nXJ/Vao1f22y2nx4TAJD8WPkCAExpJpNJJSUl8vl86urq0vTp03Xjxg3Nnj1boVAo/rlv376pu7t7QuaMRqNjDuHo6+tTOByWy+WSJOXn56uvr0/Z2dnjXikp/GsGgKmKlS8AwJQVCAT08OFDrV69WnPmzFEgENDQ0JBcLpdsNpsOHTqkO3fuKCsrS+fOnVM4HJ6QeS0Wi/bv36+LFy/KbDarpqZGRUVFKiwslPTn3rH169drwYIF2rJli1JSUhQMBtXd3a3GxsYJqQEAkHwIXwCAKSstLU2PHz/WhQsXNDw8LIfDobNnz2rNmjUaGRlRMBiU1+uV2WzWwYMHtWLFigmZd8aMGaqrq1NlZaUGBgZUWlqqK1euxPvLysp0+/ZtNTQ06PTp07JYLMrNzdWePXsmZH4AQHIyff+V83YBAAAAAP8KD5YDAAAAgAEIXwAAAABgAMIXAAAAABiA8AUAAAAABiB8AQAAAIABCF8AAAAAYADCFwAAAAAYgPAFAAAAAAYgfAEAAACAAQhfAAAAAGAAwhcAAAAAGOAPBtz+5KdjX5sAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "# ==============================================\n",
        "# 7. OUTPUT HASIL\n",
        "# ==============================================\n",
        "import pandas as pd # Import the pandas library\n",
        "\n",
        "# Tampilkan hasil\n",
        "pd.set_option('display.max_colwidth', 100)\n",
        "print(\"\\nHasil Analisis:\")\n",
        "print(df[['judul', 'isi', 'cosine_similarity', 'relevan']])\n",
        "\n",
        "# Simpan hasil ke CSV\n",
        "df.to_csv('hasil_analisis_relevansi_berita.csv', index=False)"
      ],
      "metadata": {
        "id": "35_fGxbiypzI",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "769f9165-59f1-4fe2-86b0-2a401737243e"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "Hasil Analisis:\n",
            "                                                                                                 judul  \\\n",
            "0  Sekolah Lelah Banyak Temuan Ulat di Menu Makan Siang Gratis, Kini Minta Berhenti, Wakepsek: Butu...   \n",
            "1                    Puluhan Siswa SDN 28 Simpang Raja Diduga Keracunan Usai Santap Makan Siang Gratis   \n",
            "2                                     Bapanas Ungkap Program Makan Siang Gratis Diganti Sarapan Gratis   \n",
            "3                                 Bukan Makan Siang Bergizi Gratis, Papua Lebih Butuh Akses Pendidikan   \n",
            "4                        Zulhas Tanggapi Sambat Bu Kantin soal Omzet Turun gegara Makan Bergizi Gratis   \n",
            "\n",
            "                                                                                                   isi  \\\n",
            "0  Permasalahan program makan siang gratis atau Makan Bergizi Gratis (MBG) di Kota Yogyakarta membu...   \n",
            "1  Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Simpang Raja, yang terletak di Kelurahan Handayani M...   \n",
            "2  Badan Pangan Nasional (Bapanas) memberikan informasi terbaru terkait rencana program makan bergi...   \n",
            "3  Pada 17 Februari 2025, sejumlah pelajar di Provinsi Papua Pegunungan turun ke jalan melakukan ak...   \n",
            "4  Menteri Koordinator (Menko) Bidang Pangan, Zulkifli Hasan, merespons keluhan ibu kantin dengan h...   \n",
            "\n",
            "   cosine_similarity relevan  \n",
            "0           0.398150   Tidak  \n",
            "1           0.501533      Ya  \n",
            "2           0.566153      Ya  \n",
            "3           0.504767      Ya  \n",
            "4           0.506594      Ya  \n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "df"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 293
        },
        "id": "foP4Ff6z26ST",
        "outputId": "08476989-ae70-4342-a1cf-4f4ff719006f"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "                                                                                                 judul  \\\n",
              "0  Sekolah Lelah Banyak Temuan Ulat di Menu Makan Siang Gratis, Kini Minta Berhenti, Wakepsek: Butu...   \n",
              "1                    Puluhan Siswa SDN 28 Simpang Raja Diduga Keracunan Usai Santap Makan Siang Gratis   \n",
              "2                                     Bapanas Ungkap Program Makan Siang Gratis Diganti Sarapan Gratis   \n",
              "3                                 Bukan Makan Siang Bergizi Gratis, Papua Lebih Butuh Akses Pendidikan   \n",
              "4                        Zulhas Tanggapi Sambat Bu Kantin soal Omzet Turun gegara Makan Bergizi Gratis   \n",
              "\n",
              "                                                                                                   isi  \\\n",
              "0  Permasalahan program makan siang gratis atau Makan Bergizi Gratis (MBG) di Kota Yogyakarta membu...   \n",
              "1  Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Simpang Raja, yang terletak di Kelurahan Handayani M...   \n",
              "2  Badan Pangan Nasional (Bapanas) memberikan informasi terbaru terkait rencana program makan bergi...   \n",
              "3  Pada 17 Februari 2025, sejumlah pelajar di Provinsi Papua Pegunungan turun ke jalan melakukan ak...   \n",
              "4  Menteri Koordinator (Menko) Bidang Pangan, Zulkifli Hasan, merespons keluhan ibu kantin dengan h...   \n",
              "\n",
              "          sumber     tanggal  \\\n",
              "0    TribunJatim  2025-05-26   \n",
              "1      KabarPali  2025-05-05   \n",
              "2  CNN Indonesia  2024-07-29   \n",
              "3         Kompas  2025-02-26   \n",
              "4          Detik  2025-01-15   \n",
              "\n",
              "                                                           judul_processed  \\\n",
              "0  sekolah lelah temu ulat menu makan siang gratis henti wakepsek butuh ac   \n",
              "1        puluh siswa sdn simpang raja duga racun santap makan siang gratis   \n",
              "2                    bapanas program makan siang gratis ganti sarap gratis   \n",
              "3                          makan siang gizi gratis papua butuh akses didik   \n",
              "4     zulhas tanggap sambat bu kantin omzet turun gegara makan gizi gratis   \n",
              "\n",
              "                                                                                         isi_processed  \\\n",
              "0  masalah program makan siang gratis makan gizi gratis mbg kota yogyakarta sekolah lelah contoh sm...   \n",
              "1  puluh siswa sekolah dasar negeri sdn simpang raja letak lurah handayani mulia camat talang ubi k...   \n",
              "2  badan pangan nasional bapanas informasi baru kait rencana program makan gizi gratis canang presi...   \n",
              "3  februari ajar provinsi papua gunung turun jalan aksi protes program makan gizi gratis mbg tolak ...   \n",
              "4  menteri koordinator menko bidang pangan zulkifli hasan respons keluh kantin hadir makan gizi gra...   \n",
              "\n",
              "   cosine_similarity relevan  \n",
              "0           0.398150   Tidak  \n",
              "1           0.501533      Ya  \n",
              "2           0.566153      Ya  \n",
              "3           0.504767      Ya  \n",
              "4           0.506594      Ya  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-57d8204e-6700-41b9-88ce-8f7586947e2f\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>judul</th>\n",
              "      <th>isi</th>\n",
              "      <th>sumber</th>\n",
              "      <th>tanggal</th>\n",
              "      <th>judul_processed</th>\n",
              "      <th>isi_processed</th>\n",
              "      <th>cosine_similarity</th>\n",
              "      <th>relevan</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>Sekolah Lelah Banyak Temuan Ulat di Menu Makan Siang Gratis, Kini Minta Berhenti, Wakepsek: Butu...</td>\n",
              "      <td>Permasalahan program makan siang gratis atau Makan Bergizi Gratis (MBG) di Kota Yogyakarta membu...</td>\n",
              "      <td>TribunJatim</td>\n",
              "      <td>2025-05-26</td>\n",
              "      <td>sekolah lelah temu ulat menu makan siang gratis henti wakepsek butuh ac</td>\n",
              "      <td>masalah program makan siang gratis makan gizi gratis mbg kota yogyakarta sekolah lelah contoh sm...</td>\n",
              "      <td>0.398150</td>\n",
              "      <td>Tidak</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>Puluhan Siswa SDN 28 Simpang Raja Diduga Keracunan Usai Santap Makan Siang Gratis</td>\n",
              "      <td>Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Simpang Raja, yang terletak di Kelurahan Handayani M...</td>\n",
              "      <td>KabarPali</td>\n",
              "      <td>2025-05-05</td>\n",
              "      <td>puluh siswa sdn simpang raja duga racun santap makan siang gratis</td>\n",
              "      <td>puluh siswa sekolah dasar negeri sdn simpang raja letak lurah handayani mulia camat talang ubi k...</td>\n",
              "      <td>0.501533</td>\n",
              "      <td>Ya</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>Bapanas Ungkap Program Makan Siang Gratis Diganti Sarapan Gratis</td>\n",
              "      <td>Badan Pangan Nasional (Bapanas) memberikan informasi terbaru terkait rencana program makan bergi...</td>\n",
              "      <td>CNN Indonesia</td>\n",
              "      <td>2024-07-29</td>\n",
              "      <td>bapanas program makan siang gratis ganti sarap gratis</td>\n",
              "      <td>badan pangan nasional bapanas informasi baru kait rencana program makan gizi gratis canang presi...</td>\n",
              "      <td>0.566153</td>\n",
              "      <td>Ya</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>Bukan Makan Siang Bergizi Gratis, Papua Lebih Butuh Akses Pendidikan</td>\n",
              "      <td>Pada 17 Februari 2025, sejumlah pelajar di Provinsi Papua Pegunungan turun ke jalan melakukan ak...</td>\n",
              "      <td>Kompas</td>\n",
              "      <td>2025-02-26</td>\n",
              "      <td>makan siang gizi gratis papua butuh akses didik</td>\n",
              "      <td>februari ajar provinsi papua gunung turun jalan aksi protes program makan gizi gratis mbg tolak ...</td>\n",
              "      <td>0.504767</td>\n",
              "      <td>Ya</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>Zulhas Tanggapi Sambat Bu Kantin soal Omzet Turun gegara Makan Bergizi Gratis</td>\n",
              "      <td>Menteri Koordinator (Menko) Bidang Pangan, Zulkifli Hasan, merespons keluhan ibu kantin dengan h...</td>\n",
              "      <td>Detik</td>\n",
              "      <td>2025-01-15</td>\n",
              "      <td>zulhas tanggap sambat bu kantin omzet turun gegara makan gizi gratis</td>\n",
              "      <td>menteri koordinator menko bidang pangan zulkifli hasan respons keluh kantin hadir makan gizi gra...</td>\n",
              "      <td>0.506594</td>\n",
              "      <td>Ya</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-57d8204e-6700-41b9-88ce-8f7586947e2f')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-57d8204e-6700-41b9-88ce-8f7586947e2f button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-57d8204e-6700-41b9-88ce-8f7586947e2f');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "    <div id=\"df-8f7f09f3-b57d-4057-ab27-8e4a0651a590\">\n",
              "      <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-8f7f09f3-b57d-4057-ab27-8e4a0651a590')\"\n",
              "                title=\"Suggest charts\"\n",
              "                style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "      </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "      <script>\n",
              "        async function quickchart(key) {\n",
              "          const quickchartButtonEl =\n",
              "            document.querySelector('#' + key + ' button');\n",
              "          quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "          quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "          try {\n",
              "            const charts = await google.colab.kernel.invokeFunction(\n",
              "                'suggestCharts', [key], {});\n",
              "          } catch (error) {\n",
              "            console.error('Error during call to suggestCharts:', error);\n",
              "          }\n",
              "          quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "          quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "        }\n",
              "        (() => {\n",
              "          let quickchartButtonEl =\n",
              "            document.querySelector('#df-8f7f09f3-b57d-4057-ab27-8e4a0651a590 button');\n",
              "          quickchartButtonEl.style.display =\n",
              "            google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "        })();\n",
              "      </script>\n",
              "    </div>\n",
              "\n",
              "  <div id=\"id_0543f58a-fbaf-42d1-bed1-edec3c1725d2\">\n",
              "    <style>\n",
              "      .colab-df-generate {\n",
              "        background-color: #E8F0FE;\n",
              "        border: none;\n",
              "        border-radius: 50%;\n",
              "        cursor: pointer;\n",
              "        display: none;\n",
              "        fill: #1967D2;\n",
              "        height: 32px;\n",
              "        padding: 0 0 0 0;\n",
              "        width: 32px;\n",
              "      }\n",
              "\n",
              "      .colab-df-generate:hover {\n",
              "        background-color: #E2EBFA;\n",
              "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "        fill: #174EA6;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate {\n",
              "        background-color: #3B4455;\n",
              "        fill: #D2E3FC;\n",
              "      }\n",
              "\n",
              "      [theme=dark] .colab-df-generate:hover {\n",
              "        background-color: #434B5C;\n",
              "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "        fill: #FFFFFF;\n",
              "      }\n",
              "    </style>\n",
              "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n",
              "            title=\"Generate code using this dataframe.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "       width=\"24px\">\n",
              "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "    <script>\n",
              "      (() => {\n",
              "      const buttonEl =\n",
              "        document.querySelector('#id_0543f58a-fbaf-42d1-bed1-edec3c1725d2 button.colab-df-generate');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      buttonEl.onclick = () => {\n",
              "        google.colab.notebook.generateWithVariable('df');\n",
              "      }\n",
              "      })();\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df",
              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"judul\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"Puluhan Siswa SDN 28 Simpang Raja Diduga Keracunan Usai Santap Makan Siang Gratis\",\n          \"Zulhas Tanggapi Sambat Bu Kantin soal Omzet Turun gegara Makan Bergizi Gratis\",\n          \"Bapanas Ungkap Program Makan Siang Gratis Diganti Sarapan Gratis\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"isi\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"Puluhan siswa Sekolah Dasar Negeri (SDN) 28 Simpang Raja, yang terletak di Kelurahan Handayani Mulia, Kecamatan Talang Ubi, Kabupaten Penukal Abab Lematang Ilir (PALI), dilarikan ke Rumah Sakit Umum Daerah (RSUD) Talang Ubi H. Anwar Mahakil pada Senin siang (5/5/2025). Mereka diduga mengalami keracunan makanan setelah mengikuti program makan siang bergizi gratis yang diselenggarakan di sekolah. Menurut informasi yang dihimpun, tak lama setelah menyantap makan siang, para siswa mengeluhkan gejala seperti pusing, sakit perut, mual, dan muntah. Kondisi ini memicu kepanikan, baik di sekolah maupun di rumah sakit. Suasana di RSUD menjadi riuh oleh jerit tangis para orang tua yang menyaksikan anak-anak mereka terbaring lemah dalam kondisi mengkhawatirkan. Menu makan siang yang disajikan pada hari itu terdiri dari nasi dan olahan ikan tongkol. Sejumlah pihak menduga ikan tongkol tersebut menjadi penyebab utama keracunan. Seorang wali murid menyampaikan kekhawatirannya, \\u201cAnak saya bilang ikannya terasa aneh, dan tidak lama setelah makan langsung muntah-muntah. Kami khawatir makanan itu tidak layak konsumsi,\\u201d ungkapnya. Program makan siang bergizi gratis ini merupakan inisiatif pemerintah untuk meningkatkan asupan gizi siswa, khususnya di wilayah terpencil dan kurang mampu. Namun, insiden ini menimbulkan pertanyaan serius terkait pengawasan mutu dan keamanan makanan yang disajikan dalam program tersebut. Hingga berita ini diturunkan, pihak berwenang belum memberikan pernyataan resmi terkait penyebab keracunan massal tersebut. Pemeriksaan lebih lanjut dari pihak kesehatan diharapkan dapat segera mengungkap penyebab pasti dan mencegah kejadian serupa terulang di kemudian hari.\",\n          \"Menteri Koordinator (Menko) Bidang Pangan, Zulkifli Hasan, merespons keluhan ibu kantin dengan hadirnya makan bergizi gratis (MBG). Zulhas, sapaannya, mengatakan bahwa program MBG baru digulirkan beberapa hari. Untuk itu, dirinya ingin melihat terlebih dahulu ke depan akan seperti apa. Kan baru berapa bulan, beberapa hari. Nanti kita lihat baru beberapa hari, yak, kata Zulhas ditemui di Diamond Convention Hall, Solo, Rabu (15/1/2025). Sejauh ini, kata Zulhas, anggaran dari pemerintah untuk MBG baru dianggarkan Rp 71 triliun. Dirinya memastikan dengan anggaran tersebut bisa digunakan hingga akhir 2025. Ya kan baru (berjalan MBG, red) memang anggaran baru Rp 71 triliun itu akan memberikan manfaat kira-kira sampai 17 juta sampai akhir tahun jadi kemarin banyak motong sampai Juni, nggak, sampai akhir tahun 17 juta (sasaran), jelasnya. Ketua Umum Partai Amanat Nasional (PAN) itu mengatakan, bila memungkinkan dan APBN masih ada, Presiden Prabowo Subianto akan menambah anggaran. Nah kemungkinan nanti kalau pemerintah longgar, Bapak Presiden, kalau longgar APBN-nya akan dilihat dulu, kalau longgar. Kalau bisa ditambah Rp 140 triliun maka pengguna manfaat bisa 80 juta lebih, pungkasnya. Keluhan Ibu Kantin Diberitakan sebelumnya, program Makan Bergizi Gratis (MBG) yang sudah bergulir lima hari ini berimbas pada pedagang di kantin sekolah. Beberapa pedagang kantin sambat mengalami penurunan penghasilan. Pantauan detikJateng di SMPN 12 Semarang, Kelurahan Srondol Wetan, Kecamatan Banyumanik, Kota Semarang, ada sekitar tujuh pedagang di kantin sekolah. Suasana kantin itu tampak sepi. Para siswa terlihat makan siang dengan menu makanan dari program MBG. Salah satu pedagang, Rofiana (42), mengaku telah mengalami penurunan omzet selama program MBG berjalan lima hari ini. Ada penurunan omzet, nasi-nasi itu sisa. Biasanya ada 35 stok nasi itu habis, sekarang sisa. Kalau minum biasa, tetap habis, kata Rofiana saat ditemui detikJateng di SMPN 12 Semarang, Jumat (10/1). Selain di Semarang, keluhan juga disuarakan Nari (54), ibu kantin di Kecamatan Purwokerto Timur, Cilacap. Nari yang mengelola kantin di SD Negeri 1 Kranji mengaku rekanannya UMKM makanan basah meliburkan diri usai makan bergizi gratis digulirkan. Yang basah-basah itu titipan semua. Saya tidak ngeliburin, dia yang ngeliburin sendiri, sudah takut dahulu ada program makan gratis. Takutnya tidak laku, apa-apa mahal jadi istirahat dahulu. Setiap hari mereka nitip ke sini terus, kata dia kepada wartawan, Senin (6/1).\",\n          \"Badan Pangan Nasional (Bapanas) memberikan informasi terbaru terkait rencana program makan bergizi gratis yang dicanangkan presiden dan wakil presiden terpilih Prabowo Subianto Dan Gibran Rakabuming Raka. Sekretaris Utama Bapanas, Sarwo Edhy menyebut program unggulan dalam kampanye Prabowo Gibran bukan untuk makan siang melainkan hanya untuk sarapan pagi. Sarwo menegaskan Bapanas sangat mendukung program besutan pemerintah baru mendatang. Bahkan pihaknyapun siap menyediakan bahan baku untuk melaksanakan program makan siang gratis. Di sisi lain, hampir serupa dengan program makan siang gratis Bapanas sudah lebih dulu menjalankan program edukasi pangan beragam bergizi seimbang dan aman (B2SA). Bapanas juga sidah menjalankan program gerakan edukasi dan pemberian pangan bergizi untuk siswa, genius. Program ini merupakan edukasi pemenuhan pangan bergizi bagi generasi muda dalam membangun sumber daya manusia yang sehat, aktif dan produktif dengan pola B2SA.\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"sumber\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"KabarPali\",\n          \"Detik\",\n          \"CNN Indonesia\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"tanggal\",\n      \"properties\": {\n        \"dtype\": \"object\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"2025-05-05\",\n          \"2025-01-15\",\n          \"2024-07-29\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"judul_processed\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"puluh siswa sdn simpang raja duga racun santap makan siang gratis\",\n          \"zulhas tanggap sambat bu kantin omzet turun gegara makan gizi gratis\",\n          \"bapanas program makan siang gratis ganti sarap gratis\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"isi_processed\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"puluh siswa sekolah dasar negeri sdn simpang raja letak lurah handayani mulia camat talang ubi kabupaten tukal abab lematang ilir pali lari rumah sakit daerah rsud talang ubi h anwar mahakil senin siang duga alami racun makan ikut program makan siang gizi gratis selenggara sekolah informasi himpun santap makan siang siswa keluh gejala pusing sakit perut mual muntah kondisi picu panik sekolah rumah sakit suasana rsud riuh jerit tangis orang tua saksi anakanak baring lemah kondisi khawatir menu makan siang saji nasi olah ikan tongkol duga ikan tongkol sebab utama racun wali murid khawatir anak bilang ikan aneh makan langsung muntahmuntah khawatir makan layak konsumsi program makan siang gizi gratis inisiatif perintah tingkat asupan gizi siswa wilayah pencil insiden timbul serius kait awas mutu aman makan saji program berita turun wenang nyata resmi kait sebab racun massal periksa sehat harap ungkap sebab cegah jadi ulang\",\n          \"menteri koordinator menko bidang pangan zulkifli hasan respons keluh kantin hadir makan gizi gratis mbg zulhas sapa program mbg gulir lihat yak zulhas temu diamond convention hall solo rabu zulhas anggar perintah mbg anggar rp triliun anggar ya jalan mbg red anggar rp triliun manfaat kirakira juta kemarin motong juni nggak juta sasar ketua partai amanat nasional pan apbn presiden prabowo subianto tambah anggar perintah longgar presiden longgar apbnnya longgar tambah rp triliun guna manfaat juta pungkas keluh kantin berita program makan gizi gratis mbg gulir imbas dagang kantin sekolah dagang kantin sambat alami turun hasil pantau detikjateng smpn semarang lurah srondol wetan camat banyumanik kota semarang tujuh dagang kantin sekolah suasana kantin sepi siswa makan siang menu makan program mbg salah dagang rofiana aku alami turun omzet program mbg jalan turun omzet nasinasi sisa stok nasi habis sisa minum habis rofiana temu detikjateng smpn semarang jumat semarang keluh suara nari kantin camat purwokerto timur cilacap nari kelola kantin sd negeri kranji aku rekan umkm makan basah libur makan gizi gratis gulir basahbasah titip ngeliburin ngeliburin takut program makan gratis takut laku apaapa mahal istirahat nitip wartawan senin\",\n          \"badan pangan nasional bapanas informasi baru kait rencana program makan gizi gratis canang presiden wakil presiden pilih prabowo subianto gibran rakabuming raka sekretaris utama bapanas sarwo edhy sebut program unggul kampanye prabowo gibran makan siang sarap pagi sarwo bapanas dukung program besut perintah pihak sedia bahan baku laksana program makan siang gratis sisi program makan siang gratis bapanas jalan program edukasi pangan agam gizi imbang aman bsa bapanas sidah jalan program gera edukasi beri pangan gizi siswa genius program edukasi penuh pangan gizi generasi muda bangun sumber daya manusia sehat aktif produktif pola bsa\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"cosine_similarity\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.06065090286000516,\n        \"min\": 0.39815032228451513,\n        \"max\": 0.5661530033968832,\n        \"num_unique_values\": 5,\n        \"samples\": [\n          0.5015326964043261,\n          0.506593972176099,\n          0.5661530033968832\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"relevan\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 2,\n        \"samples\": [\n          \"Ya\",\n          \"Tidak\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 14
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, confusion_matrix\n",
        "import seaborn as sns\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "df['true_label'] = ['Ya', 'Ya', 'Ya', 'Ya', 'Ya']\n",
        "\n",
        "# Konversi label string ke nilai biner\n",
        "y_true = df['true_label'].map({'Ya': 1, 'Tidak': 0})\n",
        "y_pred = df['relevan'].map({'Ya': 1, 'Tidak': 0})\n",
        "\n",
        "# Hitung metrik\n",
        "acc = accuracy_score(y_true, y_pred)\n",
        "prec = precision_score(y_true, y_pred)\n",
        "rec = recall_score(y_true, y_pred)\n",
        "f1 = f1_score(y_true, y_pred)\n",
        "\n",
        "print(\"=== METRIK EVALUASI ===\")\n",
        "print(f\"Accuracy  : {acc:.2f}\")\n",
        "print(f\"Precision : {prec:.2f}\")\n",
        "print(f\"Recall    : {rec:.2f}\")\n",
        "print(f\"F1 Score  : {f1:.2f}\")\n",
        "\n",
        "# Confusion Matrix\n",
        "cm = confusion_matrix(y_true, y_pred)\n",
        "labels = ['Tidak Relevan', 'Relevan']\n",
        "\n",
        "plt.figure(figsize=(6, 5))\n",
        "sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=labels, yticklabels=labels)\n",
        "plt.xlabel('Prediksi')\n",
        "plt.ylabel('Label Sebenarnya')\n",
        "plt.title('Confusion Matrix')\n",
        "plt.show()\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 578
        },
        "id": "xPVon7zd2yGj",
        "outputId": "84aa87f0-371f-452f-f2b5-8215dd2e34b1"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "=== METRIK EVALUASI ===\n",
            "Accuracy  : 0.80\n",
            "Precision : 1.00\n",
            "Recall    : 0.80\n",
            "F1 Score  : 0.89\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x500 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf0AAAHWCAYAAAB9p1B9AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATtlJREFUeJzt3XlcVNX/P/DXgDAgm6ABaoIofkgUUMEUUMFECckkzb1ERFu+5oaZYuaCKX3c/djHLVPUJLdcUjMlDc1AEwH3XZI0UFwQWQRk7u8Pf86nEdC5OsOFua9nj/v4Nueee877znc+vTnnnnuvQhAEAURERGTwjKQOgIiIiKoGkz4REZFMMOkTERHJBJM+ERGRTDDpExERyQSTPhERkUww6RMREckEkz4REZFMMOkTERHJBJM+kZYuXbqEbt26wcbGBgqFAtu3b9dp+3/++ScUCgXi4uJ02m5NFhgYiMDAQKnDIDIYTPpUo1y5cgUffvghmjRpAjMzM1hbW8Pf3x+LFi1CUVGRXvsODw/HqVOnMHPmTKxbtw4+Pj567a8qDRkyBAqFAtbW1hV+j5cuXYJCoYBCocDcuXNFt//3339j2rRpSE9P10G0RPSiakkdAJG2du/ejT59+kCpVGLw4MFo2bIlSkpKcPjwYYwfPx5nzpzBihUr9NJ3UVERkpOT8fnnn+OTTz7RSx/Ozs4oKiqCiYmJXtp/nlq1aqGwsBA7d+5E3759NfatX78eZmZmePjw4Qu1/ffff2P69Olo3LgxWrVqpfVx+/bte6H+iKhiTPpUI2RkZKB///5wdnbGgQMHUL9+ffW+ESNG4PLly9i9e7fe+s/JyQEA1KlTR299KBQKmJmZ6a3951EqlfD398f3339fLunHx8cjNDQUP/zwQ5XEUlhYiNq1a8PU1LRK+iOSC07vU40we/Zs5Ofn49tvv9VI+E+4urpi9OjR6s+PHj3CjBkz0LRpUyiVSjRu3BiTJk1CcXGxxnGNGzfGW2+9hcOHD+P111+HmZkZmjRpgrVr16rrTJs2Dc7OzgCA8ePHQ6FQoHHjxgAeT4s/+fd/mjZtGhQKhUZZQkICOnTogDp16sDS0hJubm6YNGmSen9l1/QPHDiAjh07wsLCAnXq1EHPnj1x7ty5Cvu7fPkyhgwZgjp16sDGxgYREREoLCys/It9ysCBA7Fnzx7k5uaqy44dO4ZLly5h4MCB5erfvXsXn376KTw8PGBpaQlra2uEhITgxIkT6jqJiYlo27YtACAiIkJ9meDJeQYGBqJly5Y4fvw4OnXqhNq1a6u/l6ev6YeHh8PMzKzc+QcHB8PW1hZ///231udKJEdM+lQj7Ny5E02aNIGfn59W9YcNG4YpU6agTZs2WLBgAQICAhAbG4v+/fuXq3v58mW8++676Nq1K+bNmwdbW1sMGTIEZ86cAQD06tULCxYsAAAMGDAA69atw8KFC0XFf+bMGbz11lsoLi5GTEwM5s2bh7fffhu///77M4/75ZdfEBwcjFu3bmHatGmIiopCUlIS/P398eeff5ar37dvXzx48ACxsbHo27cv4uLiMH36dK3j7NWrFxQKBbZu3aoui4+Px2uvvYY2bdqUq3/16lVs374db731FubPn4/x48fj1KlTCAgIUCfg5s2bIyYmBgDwwQcfYN26dVi3bh06deqkbufOnTsICQlBq1atsHDhQnTu3LnC+BYtWoRXXnkF4eHhKCsrAwAsX74c+/btw+LFi9GgQQOtz5VIlgSiau7+/fsCAKFnz55a1U9PTxcACMOGDdMo//TTTwUAwoEDB9Rlzs7OAgDh0KFD6rJbt24JSqVSGDdunLosIyNDACDMmTNHo83w8HDB2dm5XAxTp04V/vk/rwULFggAhJycnErjftLH6tWr1WWtWrUS7O3thTt37qjLTpw4IRgZGQmDBw8u19/QoUM12nznnXeEunXrVtrnP8/DwsJCEARBePfdd4UuXboIgiAIZWVlgqOjozB9+vQKv4OHDx8KZWVl5c5DqVQKMTEx6rJjx46VO7cnAgICBADCsmXLKtwXEBCgUbZ3714BgPDll18KV69eFSwtLYWwsLDnniMRCQJH+lTt5eXlAQCsrKy0qv/TTz8BAKKiojTKx40bBwDlrv27u7ujY8eO6s+vvPIK3NzccPXq1ReO+WlP1gLs2LEDKpVKq2OysrKQnp6OIUOGwM7OTl3u6emJrl27qs/znz766CONzx07dsSdO3fU36E2Bg4ciMTERGRnZ+PAgQPIzs6ucGofeLwOwMjo8X9GysrKcOfOHfWli9TUVK37VCqViIiI0Kput27d8OGHHyImJga9evWCmZkZli9frnVfRHLGpE/VnrW1NQDgwYMHWtW/du0ajIyM4OrqqlHu6OiI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IjIM+n72vtfU/c+vpKUT07vorC19kWSk/+uvv0rRLRERkaxJkvQDAgKk6JaIiEiDzGb3q89jeAsLC5GZmYmSkhKNck9PT4kiIiIiQye3a/qSJ/2cnBxERERgz549Fe5/kWv6REREVJ7kt+yNGTMGubm5OHr0KMzNzfHzzz9jzZo1aNasGX788UepwyMiIgMmt/v0JR/pHzhwADt27ICPjw+MjIzg7OyMrl27wtraGrGxsQgNDZU6RCIiMlBym96XfKRfUFAAe3t7AICtrS1ycnIAAB4eHkhNTZUyNCIiIoMiedJ3c3PDhQsXAABeXl5Yvnw5bty4gWXLlqF+/foSR0dERIaM0/tVbPTo0cjKygIATJ06FW+++SbWr18PU1NTxMXFSRscEREZNLlN70ue9N977z31v3t7e+PatWs4f/48nJycUK9ePQkjIyIiMiySJ/2n1a5dG23atJE6DCIikgGZDfSlSfpRUVFa1+Xb9oiISF84vV8F0tLSND6npqbi0aNHcHNzAwBcvHgRxsbG8Pb2liI8IiIigyT5C3fmz58PKysrrFmzBra2tgCAe/fuISIiAh07dpQiPCIikgmZDfSlebXuPzVs2BD79u1DixYtNMpPnz6Nbt264e+//xbdJl+tS0RkGPT9al3ffx/SWVvJEzrprC19kfw+/by8PPUDef4pJycHDx48kCAiIiIiwyR50n/nnXcQERGBrVu34vr167h+/Tp++OEHREZGolevXlKHR0REBowP59HCli1bsGnTpgpfhSv20bnLli3Dp59+ioEDB6K0tPRxULVqITIyEnPmzHmR8IiIiLQit9X7okf6//nPfxAREQEHBwekpaXh9ddfR926dXH16lWEhISIDqB27dpYsmQJ7ty5g7S0NKSlpeHu3btYsmQJLCwsRLdHREREFRM90l+yZAlWrFiBAQMGIC4uDp999hmaNGmCKVOm4O7duy8ciIWFBTw9PV/4eCIiIrFkNtAXn/QzMzPh5+cHADA3N1cvtnv//ffRvn17fP31189to1evXoiLi4O1tfVzr9tv3bpVbIhERERakdv0vuik7+joiLt378LZ2RlOTk44cuQIvLy8kJGRAW3v/rOxsVF/0TY2NmJDICIiohcgOum/8cYb+PHHH9G6dWtERERg7Nix2LJlC1JSUrRebb969WrExMTg008/xerVq0UH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\n"
          },
          "metadata": {}
        }
      ]
    }
  ]
}