Membuat Form Pengembalian Rental Mobil Sederhana Dengan Java

in #utopian-io7 years ago (edited)

Apa Yang Akan Saya Pelajari?

Hal-hal yang akan kita pelajari adalah.

  • Kamu akan mempelajari tentang pemrograman Java
  • Kamu akan mempelajari tentang konsep if-else.
  • Kamu akan mempelajari tentang konsep scanner.
  • Kamu akan mempelajari tentang proses pembuatan aplikasi Java sederhana.

Kebutuhan

Untuk melakukan tutorial ini, kamu membutuhkan:

  • JDK
    Kamu harus menginstall JDK terlebih dahulu jika ingin melakukan tutorial ini. Jika kamu belum mempunyainya silahkan download disini.
  • Netbeans
    Kamu juga harus memiliki aplikasi netbeans. Jika belum memilikinya silahkan download disini.

Tingkat Kesulitan

Adapun tingkat kesulitan dalam tutorial ini adalah.

  • Basic
    Dikarenakan tutorial ini ditulis menggunakan syntax dasar pemrograman bahasa Java.

Deskripsi

Kita akan membuat tutorial tentang perancangan form pengembalian rental mobil menggunakan bahasa java. Konsep dari aplikasi yang akan kita buat nantinya, adalah kita akan mendata nama peminjam, nama mobil, tanggal peminjaman, tanggal pengembalian dan jumlah denda pengembalian yang harus dibayar. Nilai denda akan didapatkan jika sang peminjam mobil telat mengembalikan mobil. Batas pengembalian mobil maximal adalah 2 hari, lebih dari itu akan dikenakan denda sebesar Rp1,000,000.

Tutorial

Langsung saja kita ke tutorial nya. Kita akan langsung menulis syntax pada netbeans, tanpa harus mendesain apapun. Seperti gambar berikut ini.
gambar.png
gambar.png

Kedua gambar diatas adalah satu program, dengan kata lain gambar ke 2 merupakan sambungan dari gambar ke 1.

Untuk syntax lengkapnya adalah.

import java.util.Scanner;
public class Rental {

public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String nama;
String nama_mobil;
String kode_mobil;
int tglpinjam;
int tglkembali;
int denda;

System.out.print("Nama : " );
nama=input.nextLine();
System.out.print("Nama Mobil : " );
nama_mobil=input.nextLine();
System.out.print("Kode Mobil : " );
kode_mobil=input.nextLine();
System.out.print("Tanggal Pinjam : ");
tglpinjam=input.nextInt();
System.out.print("Tanggal Kembali: ");
tglkembali=input.nextInt();

denda=(tglkembali-tglpinjam-2)1000000;*

if(tglkembali<=tglpinjam+2)
{
System.out.println("\nNama \t\t\t: "+nama);
System.out.println("Nama Mobil \t\t: "+nama_mobil);
System.out.println("Kode Mobil \t\t: "+kode_mobil);
System.out.println("Tanggal Pinjam \t\t: "+tglpinjam+" Februari 2018");
System.out.println("Tanggal Kembali \t: "+tglkembali+" Februari 2018");
System.out.println("Denda \t\t\t: Tidak Ada Denda");
}

else
{
System.out.println("\nNama \t\t\t: "+nama);
System.out.println("Nama Mobil \t\t: "+nama_mobil);
System.out.println("Kode Mobil \t\t: "+kode_mobil);
System.out.println("Tanggal Pinjam \t\t: "+tglpinjam+" Februari 2018");
System.out.println("Tanggal Kembali \t: "+tglkembali+" Februari 2018");
System.out.println("Denda \t\t\t: Rp. "+denda);
}
}
}

Penjelasan Syntax

import java.util.Scanner;
Adalah library pada java yang menyediakan fungsi untuk membaca input.

public class Rental {
Adalah pendefinisian nama kelas pada program ini.

public static void main(String[] args) {
Adalah fungsi main utama. Artinya metode-metode dapat dipanggil baik didalam maupun diluar class.

Scanner input=new Scanner(System.in);
Adalah perintah untuk dapat membaca inputan. Hal ini merupakan komponen dari library import java.util.Scanner;.

String nama;
String nama_mobil;
String kode_mobil;
int tglpinjam;
int tglkembali;
int denda;

Adalah pendeklarasian variabel, variabel merupakan tempat penampungan dari input yang kita masukkan. String merupakan tipe data untuk kata atau kalimat, sedangkan int untuk tipe data angka bilangan bulat.

System.out.print("Nama : " );
nama=input.nextLine();
System.out.print("Nama Mobil : " );
nama_mobil=input.nextLine();
System.out.print("Kode Mobil : " );
kode_mobil=input.nextLine();
System.out.print("Tanggal Pinjam : ");
tglpinjam=input.nextInt();
System.out.print("Tanggal Kembali: ");
tglkembali=input.nextInt();

Perintah System.out.print("Nama") merupakan perintah untuk menampilkan text, karakter, atau pun kalimat dan contoh kata-kata yang akan ditampilkan adalah "Nama" (yang berada didalam kurung). Hal ini juga berlaku untuk seterusnya.
Sedangkan nama=input.nextLine(); merupakan perintah untuk menginputkan data berupa string (kalimat), lalu akan disimpan ke variabel nama.
Ada juga perintah tglpinjam=input.nextInt(); yang berfungsi untuk menginputkan data berupa integer (angka bilangan bulat), lalu inputan tersebut akan disimpan ke variabel tglpinjam.

gambar.png

Setelah memasukkan input, tampilan akan menjadi seperti berikut:
gambar.png

Setelah selesai dengan yang pertama, maka akan keluar tampilan selanjutnya, dimana kita akan dimintai input tentang nama mobil dan sebagainya.
gambar.png

denda=(tglkembali-tglpinjam-2)1000000;*
Merupakan rumus perhitungan untuk nilai denda yang akan didapatkan. Prosesnya adalah tanggal pengembalian dikurangi dengan tanggal pinjam. Lalu selisihnya akan dikurangi dengan 2, hal ini dikarenakan batas pengembalian mobil adalah maksimal 2 hari. Dan hasilnya akan dikalikan 1,000,000 karena lebih dari 2 hari akan dikenakan denda sebesar 1,000,000.

if(tglkembali<=tglpinjam+2)
{
System.out.println("\nNama \t\t\t: "+nama);
System.out.println("Nama Mobil \t\t: "+nama_mobil);
System.out.println("Kode Mobil \t\t: "+kode_mobil);
System.out.println("Tanggal Pinjam \t\t: "+tglpinjam+" Februari 2018");
System.out.println("Tanggal Kembali \t: "+tglkembali+" Februari 2018");
System.out.println("Denda \t\t\t: Tidak Ada Denda");
}

Pernyataan if(tglkembali<=tglpinjam+2) merupakan proses penyeleksian atau pernyataan kontrol. Artinya jika tanggal pengembalian mobilnya tidak sampai 2 hari, maka tidak akan dikenakan biaya denda. Tak hanya biaya denda, namun output seperti nama, nama mobil, kode mobil dan seterusnya juga akan muncul.
Contoh outputnya adalah:

gambar.png

Karena pengembalian mobil itu tidak sampai melebihi 2 hari, maka kita tidak akan dikenakan denda sama sekali.

else
{
System.out.println("\nNama \t\t\t: "+nama);
System.out.println("Nama Mobil \t\t: "+nama_mobil);
System.out.println("Kode Mobil \t\t: "+kode_mobil);
System.out.println("Tanggal Pinjam \t\t: "+tglpinjam+" Februari 2018");
System.out.println("Tanggal Kembali \t: "+tglkembali+" Februari 2018");
System.out.println("Denda \t\t\t: Rp. "+denda);
}

Pada penyeleksian kali ini bermaksud menyeleksi jika mobil dikembalikan lebih dari 2 hari maka denda akan mulai dihitung dan ditampilkan. Tak hanya jumlah denda, output yang akan muncul adalah berupa nama, nama mobil dan seterusnya.

gambar.png

Karena kita meminjam pada tanggal 12, maka kita harus mengembalikan mobil paling lama adalah tanggal 14 (batas maksimal 2 hari). Karena kita mengembalikan mobil tersebut pada tanggal 15 maka akan dikenakan denda sebanyak 1,000,000 rupiah per hari begitupun seterusnya.
gambar.png

Contoh lainnya adalah diatas, waktunya melebihi 2 hari dari batas maksimal peminjaman(2 hari). Karena kita meminjam tanggal 12 , jadi kita harus mengembalikan mobilnya paling lama adalah tanggal 14. Tetapi kita telah mengembalikan mobil pada tanggal 16, sudah lebih dari 2 hari yang diwajibkan, maka akan dikenakan biaya 1,000,000 rupiah untuk 2 hari selanjutnya, sehingga totalnya menjadi 2,000,000 rupiah.

Begitulah tutorial saya kali ini, semoga bermanfaat bagi kita semua.
Untuk syntax dan program fullnya, dapat di download pada: Google Drive



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Your contribution cannot be approved because it does not follow the Utopian Rules.

  • A tutorial should teach. This tutorial only explains the code. This is not what a tutorial is meant for.

  • A tutorial should lucidly and clearly explain the relevant concepts.

  • As per rule:
    Tutorials must be technical instructions that teach non-trivial aspects of an Open Source project.

^ The tutorial lacks in this respect also.

You can contact us on Discord.
[utopian-moderator]

Congratulations @mauliza21! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @mauliza21! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.26
TRX 0.20
JST 0.038
BTC 95832.71
ETH 3561.59
USDT 1.00
SBD 3.85