Default

Pengembangan Model Prediksi Harga Sewa Kos di Makassar Menggunakan Teknik Data Mining

Python Status

๐Ÿ“‹ Deskripsi Proyek

Proyek ini mengembangkan model prediksi harga sewa kos di Kota Makassar menggunakan teknik data mining dan machine learning. Model ini bertujuan untuk membantu pemilik properti dalam menetapkan harga sewa yang objektif dan kompetitif berdasarkan analisis data.

๐ŸŽฏ Tujuan Penelitian

  • Mengidentifikasi faktor-faktor yang mempengaruhi harga sewa kos di Makassar
  • Membangun model prediksi yang akurat menggunakan teknik data mining
  • Mengembangkan prototipe alat bantu keputusan untuk pemilik properti

๐Ÿ† Hasil Utama

  • Model Terbaik: XGBoost Regressor
  • Mean Absolute Error (MAE): Rp 219.420
  • R-squared (Rยฒ): 0.606 (60.6% variasi harga dapat dijelaskan)
  • Faktor Penentu Utama: AC, Kloset Duduk, Tipe Campur, Lokasi

๐Ÿ“Š Dataset

  • Sumber Data: Web scraping dari Mamikos.com
  • Jumlah Data Awal: 1,162 listing
  • Data Final: 562 listing unik (setelah pembersihan duplikasi)
  • Cakupan: Seluruh Kota Makassar

Fitur Dataset:

  • Harga sewa bulanan
  • Lokasi (kecamatan)
  • Tipe kos (putra, putri, campur)
  • Fasilitas yang tersedia
  • Jarak ke kampus-kampus utama

๐Ÿ› ๏ธ Teknologi yang Digunakan

Bahasa Pemrograman

Python

  • Python 3.8+

Library Utama

pandas numpy scikit-learn xgboost geopy selenium matplotlib seaborn

class="highlight">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Data Manipulation & Analysis
pandas
numpy

# Machine Learning
scikit-learn
xgboost

# Geospatial Analysis
geopy

# Web Scraping
selenium

# Visualization
matplotlib
seaborn

๐Ÿ“ Struktur Proyek

class="highlight">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
kos-price-prediction/
โ”‚
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ raw/                    # Data mentah hasil scraping
โ”‚   โ”œโ”€โ”€ processed/              # Data yang sudah diproses
โ”‚   โ””โ”€โ”€ final/                  # Data final untuk modeling
โ”‚
โ”œโ”€โ”€ notebooks/
โ”‚   โ”œโ”€โ”€ 01_data_collection.ipynb      # Web scraping
โ”‚   โ”œโ”€โ”€ 02_data_preprocessing.ipynb   # Preprocessing & EDA
โ”‚   โ”œโ”€โ”€ 03_feature_engineering.ipynb # Feature engineering
โ”‚   โ”œโ”€โ”€ 04_modeling.ipynb            # Model development
โ”‚   โ””โ”€โ”€ 05_evaluation.ipynb          # Model evaluation
โ”‚
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ data_collection.py      # Script web scraping
โ”‚   โ”œโ”€โ”€ preprocessing.py        # Data preprocessing
โ”‚   โ”œโ”€โ”€ feature_engineering.py  # Feature engineering
โ”‚   โ”œโ”€โ”€ models.py              # Model definitions
โ”‚   โ””โ”€โ”€ utils.py               # Utility functions
โ”‚
โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ xgboost_model.pkl      # Model XGBoost terbaik
โ”‚   โ””โ”€โ”€ random_forest_model.pkl # Model Random Forest
โ”‚
โ”œโ”€โ”€ dashboard/                  # Prototype dashboard
โ”‚   โ”œโ”€โ”€ app.py                 # Main dashboard application
โ”‚   โ””โ”€โ”€ static/                # Static files
โ”‚
โ”œโ”€โ”€ requirements.txt           # Dependencies
โ”œโ”€โ”€ README.md                 # Documentation
โ””โ”€โ”€ LICENSE                   # License file

๐Ÿ“ˆ Metodologi

1. Pengumpulan Data

  • Web scraping otomatis menggunakan Selenium
  • Ekstraksi dari platform Mamikos.com
  • Pengumpulan 1,162 listing awal

2. Preprocessing Data

  • Pembersihan duplikasi data
  • Penanganan missing values
  • Konversi tipe data

3. Feature Engineering

  • Encoding Fasilitas: MultiLabelBinarizer untuk fitur fasilitas
  • Encoding Tipe Kos: One-Hot Encoding untuk kategori tipe kos
  • Fitur Spasial: Perhitungan jarak Haversine ke kampus-kampus utama

4. Penanganan Outlier

  • Metode Interquartile Range (IQR)
  • Batas atas = Q3 + 1.5 ร— IQR
  • Peningkatan signifikan performa setelah penanganan outlier

5. Model Development

  • Random Forest Regressor
  • XGBoost Regressor (Model Terbaik)
  • Split data: 80% training, 20% testing

๐Ÿ“Š Hasil Evaluasi

ModelMAE (Rupiah)RMSE (Rupiah)R-squared
Random Forest238,753332,7660.531
XGBoost219,420302,4420.606

๐Ÿ” Feature Importance

Berdasarkan analisis XGBoost, 10 faktor teratas yang mempengaruhi harga:

  1. AC (0.607) - Faktor dominan
  2. Kloset Duduk (0.090)
  3. Tipe Kos Campur (0.053)
  4. Lokasi Ujung Pandang (0.041)
  5. WiFi
  6. Akses 24 Jam
  7. Kamar Mandi Dalam
  8. Jarak ke Kampus
  9. Kasur
  10. Lokasi Rappocini

๐ŸŽฏ Implikasi Praktis

Untuk Pemilik Properti:

  • Alat bantu penetapan harga objektif
  • Panduan investasi fasilitas berdasarkan data
  • Mengurangi risiko overpricing/underpricing

Untuk Penelitian Lanjutan:

  • Baseline model untuk pengembangan lebih lanjut
  • Framework yang dapat diadaptasi untuk kota lain

๐Ÿ”ฎ Pengembangan Masa Depan

  • Web scraping data yang lebih detail (luas kamar, foto properti)
  • Dashboard interaktif dengan analisis SHAP
  • Implementasi model Neural Network (MLP)
  • Optimasi hyperparameter lebih ekstensif
  • Integrasi data real-time dan analisis tren temporal

๐Ÿ‘ฅ Tim Peneliti

  • Muh. Tegar Adyaksa - Universitas Hasanuddin
  • Athifah Nur Rahman MD - Universitas Hasanuddin
  • M. Ervin - Universitas Hasanuddin
  • Cholyn Sharon Enos - Universitas Hasanuddin
  • Imam Ahmad Mirza - Universitas Hasanuddin

๐Ÿ™ Acknowledgments

Terima kasih kepada:

  • Dr. Eng. Supri Bin Hj. Amir, S.Si., M.Eng.
  • Octavian, S.Si., M.Kom.

Dosen pengampu mata kuliah Data Mining, Universitas Hasanuddin.

๐Ÿ“š Referensi

  1. Al Hanif, F. I., et al. (2023). โ€œThe Effect of Campus Existence on Boarding House Rental Pricesโ€
  2. Christian, Y., & Herman (2023). โ€œRental Price Prediction of Boarding Houses in Batam Cityโ€
  3. Fitri, E. (2023). โ€œAnalisis Perbandingan Metode Regresi untuk Prediksi Harga Rumahโ€
  4. Wisnuadhi, B., & Setiawan, I. (2021). โ€œRekomendasi Fitur yang Mempengaruhi Harga Sewaโ€