Features: - Laundry: Add jam_buka, jam_tutup, status (buka/tutup) fields to database - Web forms: Add opening/closing times and status dropdown to create/edit views - Controller: Validate and save new fields in store() and update() - Mobile: Parse time strings to remove seconds, display status and hours - Mobile: Add cache clearing to auto-refresh image data from server - Mobile: Fix photo priority (prefer 'foto' field over galeri entries) Changes: - spk_kontrakan/app/Models/Laundry.php: Update fillable - spk_kontrakan/app/Http/Controllers/LaundryController.php: Add validation and storage - spk_kontrakan/resources/views/Laundry/create.blade.php: Add form fields - spk_kontrakan/resources/views/Laundry/edit.blade.php: Add form fields - spk_mobile/lib/models/laundry.dart: Time parsing, photo priority fix - spk_mobile/lib/models/kontrakan.dart: Photo priority fix - spk_mobile/pubspec.yaml: Add flutter_cache_manager - Mobile screens: Add cache clearing on data refresh |
||
|---|---|---|
| .. | ||
| android | ||
| ios | ||
| lib | ||
| linux | ||
| macos | ||
| test | ||
| web | ||
| windows | ||
| .gitignore | ||
| .metadata | ||
| API_INTEGRATION_GUIDE.md | ||
| API_QUICKSTART.md | ||
| API_STATUS.md | ||
| COMPLETION_SUMMARY.md | ||
| FILE_REFERENCE.md | ||
| GETTING_STARTED.md | ||
| README.md | ||
| README_API_INTEGRATION.md | ||
| SCREEN_IMPLEMENTATION_CHECKLIST.md | ||
| START_HERE.md | ||
| WHAT_WAS_CREATED.md | ||
| analysis_options.yaml | ||
| build_output.txt | ||
| pubspec.lock | ||
| pubspec.yaml | ||
README.md
SPK Mobile - Aplikasi Rekomendasi Tempat Tinggal dan Laundry
Aplikasi Android SPK (Sistem Pendukung Keputusan) untuk rekomendasi tempat tinggal dan laundry di area kampus menggunakan metode SAW.
Getting Started
Prerequisites
- Flutter SDK (versi terbaru)
- Android Studio / VS Code dengan Flutter extension
- Android device dengan Android 5.0 (API 21) atau lebih tinggi
- USB cable untuk menghubungkan device ke komputer
Menjalankan Aplikasi di Device Android via USB
1. Persiapan Device Android
Aktifkan Developer Options:
- Buka Settings → About Phone
- Ketuk Build Number sebanyak 7 kali
- Akan muncul notifikasi "You are now a developer"
Aktifkan USB Debugging:
- Buka Settings → Developer Options
- Aktifkan USB Debugging
- Aktifkan Install via USB (opsional)
2. Sambungkan Device ke Komputer
- Sambungkan Android device ke komputer menggunakan USB cable
- Pilih mode File Transfer atau MTP saat muncul notifikasi di device
- Jika muncul popup "Allow USB debugging?", pilih Allow dan centang Always allow from this computer
3. Verifikasi Device Terdeteksi
Buka terminal/command prompt di folder project dan jalankan:
flutter devices
Pastikan device Android Anda muncul dalam daftar, contoh:
2 connected devices:
sdk gphone64 arm64 (mobile) • emulator-5554 • android-arm64 • Android 13 (API 33)
SM A525F (mobile) • R58M30XXXXX • android-arm64 • Android 13 (API 33)
4. Menjalankan Aplikasi
Cara 1: Run ke semua device yang terdeteksi
flutter run
Cara 2: Run ke device tertentu
flutter run -d <device-id>
Contoh:
flutter run -d R58M30XXXXX
Cara 3: Run dengan hot reload (untuk development)
flutter run --hot
5. Troubleshooting
Device tidak terdeteksi:
- Install USB driver untuk device Anda (Samsung USB Driver, Xiaomi USB Driver, dll)
- Coba gunakan kabel USB lain
- Restart ADB:
adb kill-server adb start-server
Error "unauthorized":
- Di device, izinkan USB debugging saat muncul popup
- Centang "Always allow from this computer"
Error "insufficient permissions" (Linux/Mac):
- Tambahkan udev rules untuk device Anda
- Atau jalankan dengan sudo (tidak disarankan)
Device terdeteksi tapi tidak bisa install:
- Pastikan device memiliki ruang penyimpanan yang cukup
- Pastikan "Install via USB" sudah diaktifkan di Developer Options
- Coba restart device dan komputer
Menjalankan di Emulator
Jika tidak memiliki device fisik, Anda bisa menggunakan emulator:
- Buka Android Studio
- Tools → Device Manager
- Create Virtual Device
- Pilih device dan system image
- Start emulator
- Jalankan
flutter run
Build APK untuk Install Manual
Jika ingin membuat file APK untuk diinstall manual:
flutter build apk
File APK akan berada di: build/app/outputs/flutter-apk/app-release.apk
Struktur Project
lib/
├── main.dart # Halaman utama (HomeScreen)
├── login.dart # Halaman login
└── register.dart # Halaman register
Fitur
- ✅ Login & Register (UI only)
- ✅ Pilih Tipe: Kontrakan / Laundry
- ✅ Pilih Bobot: Harga, Luas, Jarak dari Kampus
- ✅ Sistem Rekomendasi menggunakan metode SAW
Teknologi
- Flutter 3.10.3+
- Material Design 3
- Dart 3.10.3+
Author
SPK Mobile App