{"id":31978849,"url":"https://github.com/rozhakdev/carbonml-purbalingga","last_synced_at":"2026-03-06T09:34:23.218Z","repository":{"id":308609936,"uuid":"1033431894","full_name":"RozhakDev/CarbonML-Purbalingga","owner":"RozhakDev","description":"Prediksi emisi karbon di Purbalingga berbasis data geospasial dari OpenStreetMap. Menggunakan Random Forest dan XGBoost untuk analisis spasial dalam studi tugas besar mata kuliah Strategi Algoritma.","archived":false,"fork":false,"pushed_at":"2025-08-06T20:28:31.000Z","size":2391,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-06T22:14:10.511Z","etag":null,"topics":["carbon-emission","environmental-data","geospatial","machine-learning","osm","purbalingga","python","random-forest","spatial-analysis","sustainability","tugas-akhir","xgboost"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RozhakDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-06T20:03:59.000Z","updated_at":"2025-08-06T20:28:34.000Z","dependencies_parsed_at":"2025-08-06T22:16:12.169Z","dependency_job_id":"6f9c27bb-cce4-4d17-b4dc-fd469c40c439","html_url":"https://github.com/RozhakDev/CarbonML-Purbalingga","commit_stats":null,"previous_names":["rozhakdev/carbonml-purbalingga"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/RozhakDev/CarbonML-Purbalingga","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FCarbonML-Purbalingga","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FCarbonML-Purbalingga/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FCarbonML-Purbalingga/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FCarbonML-Purbalingga/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RozhakDev","download_url":"https://codeload.github.com/RozhakDev/CarbonML-Purbalingga/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RozhakDev%2FCarbonML-Purbalingga/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279021782,"owners_count":26087056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carbon-emission","environmental-data","geospatial","machine-learning","osm","purbalingga","python","random-forest","spatial-analysis","sustainability","tugas-akhir","xgboost"],"created_at":"2025-10-14T22:38:32.599Z","updated_at":"2025-10-14T22:38:34.019Z","avatar_url":"https://github.com/RozhakDev.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Analisis Spasial dan Prediksi Emisi Karbon di Purbalingga Menggunakan Machine Learning\r\n\r\nRepositori ini berisi kode sumber dan analisis untuk tugas besar mata kuliah Strategi Algoritma, dengan studi kasus prediksi tingkat emisi karbon berbasis data geospasial di Kabupaten Purbalingga, Jawa Tengah.\r\n\r\n## 1. Latar Belakang \u0026 Tujuan Proyek\r\n\r\nUrbanisasi dan pembangunan infrastruktur yang pesat dapat berdampak signifikan terhadap lingkungan, salah satunya adalah peningkatan emisi karbon. Analisis berbasis data geospasial dapat memberikan wawasan mendalam mengenai area mana yang berisiko tinggi dan memerlukan perhatian khusus dalam perencanaan tata kota yang berkelanjutan.\r\n\r\n### Tujuan Utama Proyek:\r\n\r\n1. **Ekstraksi Fitur Perkotaan:** Mengambil dan mengolah data geospasial dari OpenStreetMap (OSM) untuk mengekstrak fitur-fitur kunci seperti kepadatan jalan, kepadatan bangunan, dan persentase ruang terbuka hijau.\r\n2. **Implementasi Model Machine Learning:** Menerapkan dan membandingkan kinerja dua algoritma klasifikasi, **Random Forest** dan **XGBoost**, untuk memprediksi tingkat potensi emisi karbon (Normal vs. Tinggi).\r\n3. **Analisis Spasial:** Memvisualisasikan hasil prediksi dalam bentuk peta tematik untuk mengidentifikasi distribusi spasial tingkat emisi di area studi.\r\n\r\n### Area Studi:\r\n\r\nProyek ini berfokus pada tiga kecamatan asri di Purbalingga: **Pengadegan**, **Kaligondang**, dan **Bojongsari**.\r\n\r\n## 2. Alur Kerja Proyek (Workflow)\r\n\r\nProyek ini dilaksanakan melalui beberapa tahapan utama yang sistematis:\r\n\r\n1. Pengumpulan data geospasial menggunakan pustaka OSMnx.\r\n2. Ekstraksi fitur (kepadatan jalan, bangunan, persentase hijau).\r\n3. Preprocessing data dan undersampling untuk kelas seimbang.\r\n4. Pelatihan model Random Forest dan XGBoost.\r\n5. Visualisasi hasil prediksi dalam peta tematik.\r\n\r\n## 3. Dataset dan Fitur\r\n\r\n- **Sumber Data:** Data geospasial publik yang diakses secara dinamis dari **OpenStreetMap (OSM)** menggunakan pustaka Python `OSMNx`.\r\n- **Fitur Utama:**  \r\n  a. `kepadatan_jalan`: Total panjang jalan per kilometer persegi (km/km²).  \r\n  b. `kepadatan_bangunan`: Jumlah bangunan per kilometer persegi (bangunan/km²).  \r\n  c. `persentase_hijau`: Persentase luas area hijau dari total luas area (%).\r\n- **Variabel Target (Label):**  \r\n  Label emisi dibuat berdasarkan kriteria yang telah ditentukan, menghasilkan dua kategori:\r\n  - **Normal:** Area dengan RTH yang cukup dan kepadatan yang terkendali.\r\n  - **Tinggi:** Area padat dengan RTH terbatas, berpotensi menghasilkan emisi lebih tinggi.\r\n\r\n## 4. Hasil dan Evaluasi\r\n\r\nKedua model, Random Forest dan XGBoost, dilatih menggunakan data yang telah melalui proses _undersampling_ untuk menyeimbangkan kelas. Hasil evaluasi pada data uji menunjukkan performa yang sangat tinggi.\r\n\r\n### Perbandingan Kinerja Model\r\n\r\n| **Metrik**        | **Random Forest** | **XGBoost** |\r\n| ----------------- | ----------------- | ----------- |\r\n| Akurasi           | 1.000             | 1.000       |\r\n| Presisi (Tinggi)  | 1.000             | 1.000       |\r\n| Recall (Tinggi)   | 1.000             | 1.000       |\r\n| F1-Score (Tinggi) | 1.000             | 1.000       |\r\n| ROC-AUC           | 1.000             | 1.000       |\r\n\r\nMeskipun kedua model mencapai performa sempurna pada set data uji ini, analisis lebih lanjut pada data yang lebih bervariasi mungkin diperlukan. Untuk proyek ini, kedua model dianggap sangat efektif.\r\n\r\n### Visualisasi Hasil Prediksi\r\n\r\nPeta di bawah ini menunjukkan hasil prediksi tingkat emisi karbon di tiga kecamatan menggunakan model XGBoost. Area berwarna **merah** menunjukkan prediksi emisi **Tinggi**, sedangkan warna **hijau** menunjukkan **Normal**.\r\n\r\n![Peta Prediksi](/assets/peta_prediksi.png)\r\n\r\n### Interpretasi per Kecamatan\r\n\r\n| **Kecamatan** | **Prediksi Area \"Normal\"** | **Rata-rata % Hijau** | **Interpretasi**                                                              |\r\n| ------------- | -------------------------- | --------------------- | ----------------------------------------------------------------------------- |\r\n| Pengadegan    | 3.91%                      | 82.05%                | Perlu perhatian. Mayoritas area padat, RTH terbatas, berpotensi emisi tinggi. |\r\n| Kaligondang   | 57.52%                     | 15598263.27%          | Kondisi campuran. Terdapat keseimbangan antara area padat dan area hijau.     |\r\n| Bojongsari    | 11.19%                     | 6104.17%              | Perlu perhatian. Mayoritas area padat, RTH terbatas, berpotensi emisi tinggi. |\r\n\r\n## 5. Cara Menjalankan Proyek\r\n\r\n### Prasyarat\r\n\r\nPastikan Anda memiliki Python 3.9 atau versi lebih baru.\r\n\r\n### Instalasi\r\n\r\n1. **Clone Repositori**  \r\n   \r\n   ```bash\r\n   git clone https://github.com/RozhakDev/CarbonML-Purbalingga.git\r\n   cd CarbonML-Purbalingga\r\n   ```\r\n\r\n2. **Buat dan aktifkan virtual environment (opsional tapi direkomendasikan):**\r\n   \r\n   ```bash\r\n   python -m venv venv\r\n   source venv/bin/activate  # Untuk Windows: venv\\Scripts\\activate\r\n   ```\r\n\r\n3. **Instal semua pustaka yang dibutuhkan:**\r\n   \r\n   ```bash\r\n   pip install -r requirements.txt\r\n   ```\r\n\r\n### **Jalankan Kode**\r\n\r\nBuka dan jalankan file `Prediksi_Emisi_Karbon_Purbalingga_OSM_ML.ipynb` menggunakan Jupyter Notebook atau Jupyter Lab.\r\n\r\n```\r\njupyter notebook Prediksi_Emisi_Karbon_Purbalingga_OSM_ML.ipynb\r\n```\r\n\r\n\u003e **Catatan:** Pastikan koneksi internet stabil karena beberapa data geospasial diunduh secara dinamis dari OpenStreetMap.\r\n\r\n## 6. Struktur Repositori\r\n\r\n```\r\n../CarbonML-Purbalingga\r\n├── 25_sample_prediksi_emisi_purbalingga.csv\r\n├── assets\r\n│   └── peta_prediksi.png\r\n├── cached_osm\r\n├── LICENSE\r\n├── Prediksi_Emisi_Karbon_Purbalingga_OSM_ML.ipynb\r\n├── README.md\r\n└── requirements.txt\r\n```\r\n\r\n## 7. Terima Kasih\r\n\r\nProyek ini tidak lepas dari bimbingan dan dukungan dosen pengampu mata kuliah **Strategi Algoritma**, `Bapak Sudianto, S.PD., M.KOM.`, yang telah memberikan arahan dan masukan berharga selama proses pengerjaan tugas besar ini. Semoga kontribusi ini dapat memberikan manfaat bagi perkembangan ilmu pengetahuan dan masyarakat.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frozhakdev%2Fcarbonml-purbalingga","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frozhakdev%2Fcarbonml-purbalingga","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frozhakdev%2Fcarbonml-purbalingga/lists"}