Sidang Skripsi · 2026

SmartTouristMap APLIKASI MOBILE REKOMENDASI RUTE WISATA BERBASIS NLP (Natural Language Processing) & LLM (Large Language Model) DENGAN PETA INTERAKTIF PADA ARSITEKTUR MICROSERVICES

Mengubah input chat bahasa alami menjadi itinerary terstruktur, lalu menampilkan rute melalui peta interaktif dengan arsitektur microservices.
Fokus: personalisasi rute, modular backend, dan visualisasi marker + polyline.

Flutter Mobile
Python Service
API Gateway
Maps + Routing
Mahasiswa
Kelvin Frantino Lim
NIM
2257201066
Program Studi
Sistem Informasi
Institusi
IBTPI Pekanbaru
SCROLL

Masalah yang
Perlu Diselesaikan

Banyak wisatawan masih menyusun rute secara manual, sehingga tidak efisien. SmartTouristMap menyederhanakan: chat → parameter → itinerary → peta.

01

Perkembangan Mobile & ICT

Wisatawan bergantung pada smartphone untuk merencanakan perjalanan. Informasi destinasi harus cepat, relevan, dan mudah diakses.

02

Kesulitan Menyusun Rute

Pengguna kesulitan memilih destinasi sesuai preferensi dan durasi. Metode manual membuat rute tidak optimal dan memakan waktu.

03

Keterbatasan Metode Klasik

Metode profile matching, content-based filtering, dan Dijkstra belum memaksimalkan pemahaman bahasa alami untuk personalisasi rute.

04

✦ Solusi: SmartTouristMap

Integrasi NLP + ChatGPT API + peta interaktif + arsitektur microservices. Output: itinerary terstruktur (JSON) dan rute pada peta.

Chat → Parameter Itinerary JSON Marker + Polyline Modular Services

Fondasi
Teori Penelitian

Konsep inti: pemrosesan bahasa alami, model bahasa besar, dan visualisasi rute pada peta interaktif.

01
NLPNatural Language ProcessingPython · FastAPI
NLP mengekstraksi parameter penting: intent, lokasi awal, durasi, jumlah destinasi, dan kategori wisata dari input bahasa alami.
"NLP adalah bidang kecerdasan buatan yang berfokus pada komunikasi antara manusia dan komputer melalui bahasa alami..."
— Chandra, Nathaniel & Satura (2021)
02
LLM & ChatGPTLarge Language ModelChatGPT API · OpenAI
LLM menghasilkan teks secara kontekstual. ChatGPT bertindak sebagai perencana perjalanan generatif berdasarkan parameter dari NLP.
"ChatGPT ... mampu merespons pertanyaan manusia ... koheren dan terstruktur serta mampu mempertahankan konteks percakapan."
— Institut Teknologi Indonesia (2023)
03
Prompt EngineeringLLM-based RecommendationStructured Output · JSON
Prompt engineering mengarahkan model menghasilkan itinerary dengan batasan jelas. Model diposisikan sebagai travel itinerary planner dengan output JSON.
"Prompt engineering merupakan bidang studi ... perancangan instruksi (prompt) untuk mengarahkan keluaran dari Large Language Model."
— Haromain, Munir & Rahmah (2026)
04
MicroservicesArsitektur BackendREST · JSON · Modular
Backend dipisah menjadi layanan independen (auth, NLP, rekomendasi, peta). Komunikasi menggunakan REST + JSON.
"Arsitektur microservice ... membagikan layanan dalam skala lebih kecil dan lebih mudah disesuaikan ... fungsi independent."
— Arief & Chaniago (2026)
05
FlutterCross-Platform MobileDart · Google
Flutter membangun seluruh antarmuka (login, chat, peta) dalam satu basis kode untuk Android dan iOS.
"Flutter ... membangun aplikasi yang dikompilasi secara native ... dari satu kode sumber."
— Harahap et al. (2023)
06
Firebase AuthCloud AuthenticationToken · Secure
Firebase Authentication mengelola register/login. ID Token disimpan pada secure storage dan dikirim pada setiap request ke backend.
"Firebase Authentication ... mempermudah pengembang ... proses otentikasi ... pendaftaran, login, logout, reset kata sandi."
— Siti Maria Ulfa et al. (2024)
07
Peta InteraktifGoogle Maps APIGeocoding · Polyline · ETA
Peta menampilkan marker destinasi, polyline rute, jarak, dan ETA. Pengguna dapat bernavigasi ke destinasi dari aplikasi.
"Peta interaktif ... menyediakan fitur navigasi dan eksplorasi informasi geospasial secara langsung."
— Sabihi et al. (2026)

Metode yang
Digunakan

Penelitian rekayasa perangkat lunak dengan pendekatan prototyping model (iteratif), dan pengujian fungsional black box testing.

Jenis & Pendekatan Penelitian

Pendekatan prototyping model untuk memperoleh umpan balik pengguna secara iteratif, mengingat kompleksitas integrasi NLP, LLM, dan layanan peta.

1
Identifikasi kebutuhan sistem dan batasan (lokasi, durasi, jumlah destinasi, kategori).
2
Perancangan prototype awal (alur chat → hasil itinerary → peta).
3
Pengembangan aplikasi + layanan (NLP Service, ChatGPT Service, Map Service, Auth).
4
Evaluasi prototype berdasarkan hasil uji & masukan pengguna.
5
Penyempurnaan sistem hingga memenuhi kebutuhan fungsional.

Metode Pengumpulan Data

  • Memanfaatkan Google Maps API untuk data destinasi dan data spasial.
  • ChatGPT dimanfaatkan sebagai sumber pengetahuan kontekstual untuk penyusunan deskripsi dan itinerary.

Metode Pengujian Sistem

  • Black box testing untuk menguji fungsional tanpa melihat struktur kode.
  • Menguji skenario input (lokasi, durasi, jumlah destinasi, kategori).
  • Pengujian pada tiap layanan microservices dan alur integrasi end-to-end.

Catatan Arsitektur

  • API Gateway sebagai orchestrator antar layanan.
  • Komunikasi: REST + JSON antar layanan.

Pipeline NLP
& Prompt Engineering

Input chat diproses NLP untuk menghasilkan parameter terstruktur, lalu dipakai menyusun prompt ke ChatGPT API.

1
Input Teks
Bahasa alami pengguna
2
Case Folding
Lowercase semua teks
3
Stopword Removal
Hapus kata tidak penting
4
Intent Detection
Identifikasi niat wisata
5
Entity Extraction
Lokasi, durasi, jumlah
6
→ ChatGPT
Parameter → LLM
nlp_service.py → chatgpt_service.py
// Input: "Saya di Pekanbaru ingin wisata alam, 5 jam, 3 tempat"

// Output NLP Service (Python FastAPI):
{
  "intent": "rekomendasi_wisata",
  "lokasi_awal": "Pekanbaru",
  "durasi": "5 jam",
  "jumlah_destinasi": 3,
  "kategori": "alam"
}

// Prompt ke ChatGPT API:
"You are a travel itinerary planner for a short trip.
 Starting from Pekanbaru, create a 5-hour nature itinerary
 with max 3 destinations. Return JSON array with
 fields: name, order, estimated_duration."

Arsitektur
Microservices

Backend dipisah menjadi layanan independen dan dihubungkan oleh API Gateway. Klik layanan di bawah untuk toggle on/off — simulasikan service down!

📱
Flutter Mobile App
Client · Dart · Android/iOS
🔀
API Gateway
Orchestrator · REST · JSON
● ON
🔑
Firebase Auth
Auth Service · Token
● ON
🧠
NLP Service
Python · FastAPI
● ON
💬
ChatGPT Service
OpenAI API · LLM
● ON
🗺️
Map & Routing
Google Maps API
🔑 Firebase Auth — RUNNING
🧠 NLP Service — RUNNING
💬 ChatGPT Service — RUNNING
🗺️ Map & Routing — RUNNING
💡 Klik kartu layanan untuk toggle ON / OFF — demonstrasi independensi microservices

Antarmuka
Aplikasi SmartTouristMap

Implementasi mencakup alur autentikasi, chat input, tampilan hasil NLP, dan visualisasi rute pada peta interaktif.

Splash Screen
🚀
screenshot_splash.png

Splash Screen

Tampilan awal sebagai identitas aplikasi dan proses inisialisasi sistem.

Flutter AnimatedOpacity · 4.5.1
Onboard
📋
screenshot_onboard.png

Onboard Screen

Pengenalan fitur utama aplikasi sebelum pengguna login.

PageView Widget · 4.5.2
Login
🔑
screenshot_login.png

Login & Register

Firebase Authentication: email + password, token tersimpan di secure storage.

Firebase Auth SDK · 4.5.3–4.5.4
Chat
💬
screenshot_chat.png

Chat Interface

Pengguna mengirim permintaan wisata bahasa alami ke backend melalui API Gateway.

TextField · HTTP POST · 4.5.5
NLP
🧠
screenshot_nlp.png

Hasil NLP

Menampilkan intent, lokasi, durasi, dan jumlah destinasi hasil ekstraksi NLP.

JSON Parse · Flutter Widget · 4.5.6
Peta
🗺️
screenshot_map.png

Peta Interaktif

Marker destinasi, polyline rute, jarak, dan ETA — siap untuk navigasi.

Google Maps API · Polyline · 4.5.7

💡 Letakkan file screenshot (splash.png, onboard.png, login.png, chat.png, nlp.png, map.png) di folder yang sama dengan file HTML ini

Black Box
Testing

Pengujian dari sisi pengguna untuk memastikan setiap modul berjalan sesuai kebutuhan fungsional (Tabel 4.1).

No Modul/Fitur Skenario Input Harapan Hasil Status
1Registrasi PenggunaRegistrasi akun baruEmail & password validAkun berhasil dibuatBerhasilValid
2Login PenggunaLogin dengan akun terdaftarEmail & password validMasuk ke halaman utamaBerhasilValid
3Login GagalPassword salahPassword salahPesan error tampilBerhasilValid
4Input Chat WisataInput permintaan wisataTeks bahasa alamiInput diterimaBerhasilValid
5NLP ProcessingDeteksi intent & entitasKalimat naturalParameter terdeteksiBerhasilValid
6ChatGPT RecommendationPenyusunan itineraryParameter NLPRute dihasilkanBerhasilValid
7Visualisasi PetaTampilkan rute di petaKoordinat destinasiMarker & polyline tampilBerhasilValid
8Logout PenggunaLogout aplikasiTombol logoutKembali ke loginBerhasilValid

★ Seluruh fungsi utama sistem berjalan sesuai kebutuhan fungsional ★

Apa yang
Dicapai

SmartTouristMap mampu menerima input bahasa alami, menyusun itinerary, dan menampilkan rute secara interaktif pada peta.

01

Aplikasi Mobile SmartTouristMap

Berhasil dibangun menggunakan Flutter — menerima permintaan wisata bahasa alami dan menampilkan rute secara interaktif melalui peta digital.

02

Integrasi NLP + ChatGPT

Berhasil mengekstraksi parameter dari bahasa alami dan menyusun itinerary wisata yang kontekstual dan personal menggunakan LLM.

03

Arsitektur Microservices

Pemisahan layanan menjadi modul independen (auth, NLP, ChatGPT, peta) membuat sistem lebih mudah dikembangkan dan dipelihara.

04

Visualisasi Peta Interaktif

Google Maps API menampilkan marker destinasi, polyline rute, jarak, dan ETA sehingga rute mudah dipahami dan navigatif.

05

Pengujian Black Box

Seluruh fungsi utama sistem berjalan sesuai kebutuhan fungsional dan valid pada setiap skenario uji di Tabel 4.1.

🙏

Terima
Kasih

Pertanyaan & saran sangat dipersilakan

Kelvin Frantino Lim · 2257201066 · Sistem Informasi · IBTPI · 2026