Ketika pertama kali dibuka, aplikasi akan meminta pengguna memasukkan informasi:
- Nama
- Nomor HP
- Password
- Saldo : 0 (otomatis tersimpan tanpa harus diinput)
Setelah diinput, aplikasi akan menyimpan data-data tersebut ke dalam file user.txt
.
Catatan: Apabila aplikasi dibuka untuk kedua kali-nya dan file `user.txt` sudah ada, maka langsung ke step 2.
Setelah selesai input data awal, aplikasi akan menampilkan halaman login dengan input:
- Email/Nomor HP
- Password
Jika berhasil, user akan masuk ke aplikasi (masuk step 3).
Jika gagal, aplikasi menampilkan kembali halaman login dengan pesan:
"Kombinasi Email/Nomor HP dan Password yang Anda masukkan salah".
Setelah berhasil login, aplikasi akan menampilkan menu:
- Lihat Profil
- Pesan Ojek
- Topup Saldo (Bonus)
- Lihat Riwayat Transaksi (Bonus)
- Keluar
Jika pengguna memilih menu "Lihat Profil", aplikasi akan menampilkan:
- Profil yang tersimpan pada file "user.txt"
- Menu "Ubah Profil" (Bonus)
- Menu "Kembali ke Menu Utama"
Jika memilih menu "Ubah Profil", aplikasi akan meminta pengguna memasukkan informasi:
- Nama
- Nomor HP
- Password
Field yang diisi akan berubah informasinya pada user.txt
.
Catatan: pengguna tidak bisa mengubah saldo kecuali melakukan topup saldo
Jika pengguna memilih menu Pesan Ojek, aplikasi akan meminta pengguna memasukkan informasi (origin) lokasi saat ini.
Kemudian aplikasi akan meminta pengguna memasukkan (destination) lokasi tujuan.
Aplikasi kemudian akan menghitung biaya yang harus dibayarkan dengan rumus: jarak antar lokasi (float) * HARGA_PER_KM
hanya apabila lokasi dilayani.
// Daftar lokasi yang bisa diinput beserta koordinatnya masing-masing tersimpan pada file "locations.txt".
// Jika lokasi Asal atau Tujuan tidak ada pada daftar lokasi ketika menghitung biaya, aplikasi menampilkan pesan "Belum melayani rute tersebut".
// jarak antar lokasi dapat dihitung dengan rumus: |(x2 - x1)| / |(y2 - y1)| dimana (x,y) adalah koordinat lokasi tersebut
// HARGA_PER_KM_MOTOR = 2000
// HARGA_PER_KM_MOBIL = 5000
Jika rute ditemukan maka aplikasi akan menyimpan setiap data transaksi ke file orders.txt
. Data-data yang disimpan adalah sebagai berikut:
- Timestamp
- Layanan (Ojek Motor/Mobil)
- Asal
- Tujuan
- Biaya
Pengguna dapat memilih layanan Ojek Motor
atau Ojek Mobil
dan memilih metode pembayaran menggunakan tunai
atau saldo
.
Terdapat menu baru untuk melakukan top-up saldo . Ketika memesan kendaraan, pengguna dapat memilih melakukan pembayaran dengan uang tunai atau saldo
. Apabila dengan saldo
maka saldo akan berkurang. Lengkapi juga dengan validasi apabila saldo tidak mencukupi.
Jika pengguna memilih menu "Lihat Riwayat Transaksi", aplikasi akan menampilkan daftar riwayat transaksi yang terdapat di file orders.txt
ke layar.
-
Aplikasi dibentuk dengan prinsip pemograman yang baik, ditandai dengan struktur yang baik seperti penamaan variabel, method, dll serta dapat dijelaskan dan diargumentasikan dengan baik ketika tahap demo.
-
Coding convention JAVA diterapkan dengan baik.
-
Nilai tambah:
- Mengerjakan flow ekstra
- Aplikasi mampu menangani aksi tidak terduga user
Setiap materi Java For Beginner dapat dilihat di: