Anda di halaman 1dari 21

LAPORAN TUGAS BESAR

PROGRAM RENTAL KENDARAAN DENGAN BAHASA JAVA

MENGGUNAKAN INTELLIJ IDEA

Mata Kuliah Algoritma Dan Pemrograman

Dosen Pengampu :

Gita Fadila Fitriana, S.Kom.,M.Kom

Disusun Oleh :

Rosalina Alda (20104066)

Fathul Aziz (20104078)

Rendi Putra Pradana (20104079)

Destu Cikal Ramdani (20104086)

Muhammad Rafi Rizqi Hanjaya (20104098)

REKAYASA PERANGKAT LUNAK

FAKULTAS TEKNOLOGI INDUSTRI DAN INFORMATIKA

INSTITUT TEKNOLOGI TELKOM PURWOKERTO

2021
PENDAHULUAN

Pada tugas besar kali ini, kami akan mengembangkan sebuah program dengan bahasa Java
menggunakan intellij IDEA yang kami sepakati diberi nama “Program Aplikasi Rental
Kendaraan”. Program ini mengacu pada ketentuan yang diberikan dalam pengerjaan tugas besar
yaitu memuat input/output menggunakan library scanner,percabangan,perulangan,array,method
dan sorting. Pada program ini kami mengambil kegunaan sorting sebagai pengembangannya
karena menurut kami sorting memudahkan untuk mengurutkan rekap transaksi berdasarkan nama
kendaraan (A-Z). Untuk mengetahui lebih detail tentang programnya,akan kami jelaskan di
bawah. Sekian dan Terimakasih.
ALGORITMA

1. Start program.
2. Output tampilan awal program.
3. Pilih jenis kendaraan.
4. Pilih menu brand kendaraan.
5. Output harga sewa per hari.
6. Pilih berapa lama waktu sewa kendaraan per hari.
7. Output total biaya sewa per hari.
8. Output pilihan kembali ke awal program Y/N.
9. Jika pilih Y maka program kembali ke awal.
10. Jika pilih N maka akan mengakhiri program.
11. Output tampilan rekap transaksi.
12. Program selesai.
PSEUDOCODE

Program rental_kendaraan

Deklarasi

arrKendaraan = new Collection ()

arrDurasi = new Collection ()

arrBiaya = new Collection ()

menu, kendaraan : String

jenisKendaraan, durasi : integer

loopMenu : char

biaya, harga : real

function tampilMenu

read ( jenisKendaraan )

case ( jenisKendaraan ):

1 : write ('1. Honda Beat')

write ('2. Honda Vario')

write ('3. Honda Scoopy')

write ('Masukan pilihan menu: ')

menu ← 'a' + read ()

2 : write ('1. Daihatsu Ayla')

write ('2. Toyota Avanza')

write ('3. Toyota Innova')


write ('Masukan pilihan menu: ')

menu ← 'b' + read ( )

otherwise write ('Invalid Input!)

end case

return menu

end function

procedure transaksi

do

menu ← tampilMenu

case (menu)

'a1' : kendaraan ← 'Honda Beat'

harga ← 125000

write ('Harga sewa perhari: ' + harga)

write ('Masukan durasi')

read (durasi)

biaya ← harga*durasi

write ('Total biaya' + biaya)

arrKendaraan.addItem(kendaraan)

arrDurasi.addItem(durasi)

arrBiaya.addItem(biaya)

break

'a2' : kendaraan ← 'Honda Vario'

harga ← 135000
write ('Harga sewa perhari: ' + harga)

write ('Masukan durasi')

read (durasi)

biaya ← harga*durasi

write ('Total biaya' + biaya)

arrKendaraan.addItem(kendaraan)

arrDurasi.addItem(durasi)

arrBiaya.addItem(biaya)

break

'a3' : kendaraan ← 'Honda Scoopy'

harga ← 145000

write ('Harga sewa perhari: ' + harga)

write ('Masukan durasi')

read (durasi)

biaya ← harga*durasi

write ('Total biaya' + biaya)

arrKendaraan.addItem(kendaraan)

arrDurasi.addItem(durasi)

arrBiaya.addItem(biaya)

break

'b1' : kendaraan ← 'Daihatsu Ayla'

harga ← 500000

write ('Harga sewa perhari: ' + harga)


write ('Masukan durasi')

read (durasi)

biaya ← harga*durasi

write ('Total biaya' + biaya)

arrKendaraan.addItem(kendaraan)

arrDurasi.addItem(durasi)

arrBiaya.addItem(biaya)

break

'b2' : kendaraan ← 'Toyota Avanza'

harga ← 650000

write ('Harga sewa perhari: ' + harga)

write ('Masukan durasi')

read (durasi)

biaya ← harga*durasi

write ('Total biaya' + biaya)

arrKendaraan.addItem(kendaraan)

arrDurasi.addItem(durasi)

arrBiaya.addItem(biaya)

break

'b3' : kendaraan ← 'Toyota Innova'

harga ← 750000

write ('Harga sewa perhari: ' + harga)

write ('Masukan durasi')


read (durasi)

biaya ← harga*durasi

write ('Total biaya' + biaya)

arrKendaraan.addItem(kendaraan)

arrDurasi.addItem(durasi)

arrBiaya.addItem(biaya)

break

otherwise break

end case

write(loopMenu)

while loopMenu is equals to 'Y'

rekapTransaksi( arrKendaraan, arrDurasi, arrBiaya )

end procedure

procedure bubbleSort( Input arrKendaraan, arrDurasi, arrBiaya : collection )

tempKendaraan : String

tempDurasi : Integer

tempBiaya : Real

for i ← 0 to size of arrKendaraan

for j ← 0 to size of arrKendaraan - 1

if arrKendaraan( j ) is equals to arrKendaraan( j + 1 )

tempKendaraan ← arrKendaraan.get(j)

arrKendaraan ( j ) ← arrKendaraan(j + 1)

arrKendaraan ( j + 1 ) ← tempKendaraan
tempDurasi ← arrDurasi.get( j )

arrDurasi ( j ) ← arrDurasi( j + 1 )

arrDurasi ( j + 1 ) ← tempDurasi

tempDurasi ← arrDurasi.get( j )

arrDurasi( j ) ← arrDurasi( j + 1 )

arrDurasi( j + 1) ← tempDurasi

end if

end for

end for

end procedure

procedure rekapTransaksi ( Input/Output arrKendaraan, arrDurasi, arrBiaya :


Collection)

total ← 0

bubbleSort( arrKendaraan, arrDurasi, arrBiaya )

for i ← 0 to size of arrKendaraan

harga ← arrBiaya( i ) / arrDurasi( i )

total ← total + arrBiaya( i )

write( arrKendaraan( i ) + arrDurasi( i ) + arrBiaya( i ))

write( total )

end for

end procedure
Algoritma :
transaksi()
SOURCE CODE
PENJELASAN CODE PROGRAM

Baiklah saya akan coba jelaskan dari coding di atas . import java.util.ArrayList ; merupakan
coding untuk memasukan paket modul daftar array. import java.util.Scanner ; merupakan
coding untuk memasukan paket Scanner. Kenapa menggunakan coding seperti itu ?
jawabannya adalah untuk mempersingkat pengetikan , kemudian juga mempermudah.

Public digunakan untuk menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh
kelas lain dimanapun. Public digunakan apabila kita menginginkan semua variable
dalam Class tersebut dapat di akses dari Class manapun.
Public static void main adalah sebuah metod dengan nama main, yang mana metod ini adalah
metod utama untuk menjalankan sebuah program. Tanpa adanya metod main, program tidak
akan mengeluarkan hasil apa-apa. ... · void, berarti metode ini tidak mengembalikan nilai
,

Fungsi TampilMenu() diatas digunakan untuk menampilkan tampilan di halaman depan dengan
berbagai pilihan yang sudah disediakan.
Kode diatas mempersiapkan variabel untuk menampung data.

 Data array ada pada 3 variabel : arrayKendaraan, arrayDurasi, dan arrayBiaya.

 Char untuk Loopmenu

 Double untuk Biaya dan harga

 Integer untuk Durasi

 String untuk kendaraan atau Nama Kendaraannya.

Fungsi ini akan menampilkan menu di layar komputer.


Switch case digunakan untuk memilih menu untuk menghitung Biaya Sewa Kendaraan.
Dengan rumus biaya = harga x durasi.

Menyimpan data array kendaraan, durasi, dan biaya pada arrayKendaraan, arrayDurasi, dan
arrayBiaya. Ini berlaku juga untuk tipe motor dan tipe kendaraan yang lain.

Membuat variabel untuk rekap transaksi antara lain harga dan total. Metode pengurutan data
array dengan metode bubblesort ( pengurutan dari besar ke kecil ).
Menampilkan Data di layar komputer. Data yang ditampilkan meliputi harga dan total biaya.

Fungsi atas adalah metode pengurutan data menggunakan metode bubblesort.


Dari kode diatas dapat disimpulkan :

1. 1. Input/Output: menggunakan library Scanner


2. 2. Percabangan: tertdapat di baris 26, 67, 204
3. 3. Perulangan: terdapat di baris 63, 182, 201, 202
4. 4. Array: terdapat di baris 54, 55, 56
5. 5. Method: terdapat di baris 53, 170, 200
6. 6. Sorting: terdapat di baris 200
HASIL PROGRAM

1. Hasil program pada rental kendaraan motor.

Menu utama program

Tampilan diatas adalah dimana program akan dijalankan pertama kali, program memilikki 2
menu yaitu menu jenis kendaraan motor dan mobil. Setiap menu yang pastinya berbeda-beda
karna pemakaian dan harganya.

Menu pilihan brand motor.

Ini adalah tampilan dari menu pilihan brand motor,user hanya tinggal masukkan pilihan menu
brand motor 1,2 atau 3 sesuai keinginan user. Dan nanti hasilnya akan menampilkan sebuah info
biaya sewa per hari.

Menu program rental kendaraan motor


Tampilan tersebut adalah tampilan dari menu rental kendaraan motor. Dimana program akan
diminta untuk memasukkan berapa waktu sewa kendaraan per hari yang akan diproses ke tahap
selanjutnya. Serta memberikan daftar biaya sewa per hari dari kendaraan yang dipilih.

Menu pembayaran rental motor.

Ketika transaksi sudah selesai, program meminta melakukan konfirmasi apakah ingin melakukan
transaksi lagi atau tidak. Jika ingin melakukan transaksi lagi user tinggal memilih Y tetapi jika
user tidak ingin melakukan transaksi lagi tinggal memilih N. Ini adalah tampilan rekap transaksi
pembayaran rental motor,dan menampilkan data yang sudah diinputkan ketika ingin menyewa
motor.

2. Hasil program pada rental kendaraan mobil.

Menu pilihan brand mobil

Ini adalah tampilan dari menu pilihan brand mobil,user hanya tinggal masukkan pilihan menu
brand mobil 1,2 atau 3 sesuai keinginan user. Dan nanti hasilnya akan menampilkan sebuah info
biaya sewa per hari.
Menu program rental kendaraan mobil.

Tampilan tersebut adalah tampilan dari menu rental kendaraan mobil. Dimana program akan
diminta untuk memasukkan berapa waktu sewa kendaraan per hari yang akan diproses ke tahap
selanjutnya. Serta memberikan daftar biaya sewa per hari dari kendaraan yang dipilih.

Menu pembayaran rental mobil

Ketika transaksi sudah selesai, program meminta melakukan konfirmasi apakah ingin melakukan
transaksi lagi atau tidak. Jika ingin melakukan transaksi lagi user tinggal memilih Y tetapi jika
user tidak ingin melakukan transaksi lagi tinggal memilih N. Ini adalah tampilan rekap transaksi
pembayaran rental mobil,dan menampilkan data yang sudah diinputkan ketika ingin menyewa
mobil.
DAFTAR PUSTAKA

https://www.w3schools.com/java/java_user_input.asp (diakses tanggal 1 Januari 2021)

https://www.w3schools.com/java/java_switch.asp (diakses tanggal 1 Januari 2021)

https://www.w3schools.com/java/java_conditions.asp (diakses tanggal 1 Januari 2021)

https://www.w3schools.com/java/java_while_loop.asp (diakses tanggal 1 Januari 2021)

https://www.w3schools.com/java/java_for_loop.asp (diakses tanggal 1 Januari 2021)

https://www.w3schools.com/java/java_arraylist.asp (diakses tanggal 1 Januari 2021)

https://www.w3schools.com/java/java_methods.asp (diakses tanggal 1 Januari 2021)

https://www.w3schools.com/java/java_methods_param.asp (diakses tanggal 1 Januari 2021)

https://www.javatpoint.com/bubble-sort-in-java (diakses tanggal 8 Januari 2021)

KONTRIBUSI SETIAP ANGGOTA

1. Rosalina Alda (20104066) :


 Menyusun laporan,dan menjelaskan hasil program.
2. Fathul Aziz (20104078)
 Membuat source code beserta penjelasannya.
3. Rendi Putra Pradana (20104079)
 Menentukan ide tugas besar dan membuat kode program.
4. Destu Cikal Ramdani (20104086)
 Membuat pseudocode.
5. Muhammad Rafi Rizqi Hanjaya (20104098)
 Membuat algoritma.

Anda mungkin juga menyukai