Aplikasi Manajemen Proyek dan Sewa untuk Kegiatan Usaha Contractor Alat Berat dengan Bahasa Pemrograman Java - FINAL
PENJELASAN SINGKAT MENGENAI APLIKASI KAMI
Pada contoh aplikasi yang
kami buat (Aplikasi Manajemen Proyek dan Sewa untuk Kegiatan Usaha Contractor Alat
Berat), kami menamakannya dengan “App
Sewa”. Aplikasi ini diperuntukkan bagi untuk memudahkan semua orang dalam
menjalankan kegiatan sewa alat berat dengan menampilkan operator yang sedang
menjalankannya, lalu alat berat apa saja yang sedang digunakan, dan tak lupa dengan
client sebagai pihak penyewa alat berat.
Pada source code berikut, menurut kami
ini merupakan hasil FINAL dari kelompok kami. Kami sudah menambakan beberapa
hal yang dibutuhkan oleh aplikasi kami dengan mengikut modul yang diberikan. Akan
tetapi, kami tidak menambahkan penerapan relasi pewarisan karena menurut
kelompok kami hal tersebut tidak cocok diterapkan oleh program kami.
Dalam aplikasi ini
dibutuhkan beberapa bagian menu yaitu informasi dari operator yang terlibat,
forklift yang sedang digunakan, dan client. Semua menu tersebut akan dijadikan
class dalam aplikasi final project kami, menjadi cOperator, cForklift, dan cClient.
Melalui banyak pertimbangan kami telah menghapus class yang tidak diperlukan
sebelumnya dan menetapkan class tersebut agar dapat memudahkan kami dalam
membuat aplikasi ini.
Berikut adalah source code
program aplikasi ini, yang terdiri dari : cOperator, cForklift, dan cClient.
CLASS OPERATOR
package
TugasOOP;
public
class cOperator {
private
String nama_operator;
private
String id_operator;
private
int usia_operator;
private
String alamat_operator;
cOperator(){}
cOperator(String nm, String id, int us,
String al){
nama_operator=nm; id_operator=id;
usia_operator=us; alamat_operator=al;
}
//Method setter
public void setnama_operator(String nm){
nama_operator=nm;
}
public void setid_operator(String i){
id_operator=i;
}
public void setusia_operator(int u){
usia_operator=u;
}
public void setalamat_operator(String a){
alamat_operator=a;
}
//Method getter
String getnama_operator(){
return nama_operator;
}
String getid_operator(){
return id_operator;
}
int getusia_operator(){
return usia_operator;
}
String getalamat_operator(){
return alamat_operator;
}
//Query
String ToString(){
//Tambahan untuk relasi
return "Nama Operator\t=
"+nama_operator+"\nID Operator\t= "+id_operator+
"\nUsia Operator\t=
"+usia_operator+"\nAlamat Operator\t= "+
alamat_operator+"\n";
}
}
CLASS FORKLIFT
package
TugasOOP;
public
class cForklift {
private String id_forklift;
private String status_fl;
private String type_fl;
//Tambahan untuk relasi
private String id_operator;
private String nama_operator;
cForklift(){}
//Tambahan untuk relasi
cForklift(String id, String stat, String
type, String id_op, String nm_op){
id_forklift=id; status_fl=stat;
type_fl=type; id_operator=id_op;
nama_operator=nm_op;
}
//Method setter
public void setid_forklift(String a){
id_forklift=a;
}
public void setstatus_fl(String b){
status_fl=b;
}
public void settype_fl(String c){
type_fl=c;
}
//Tambahan untuk relasi
public void setid_operator(String id_op){
id_operator=id_op;
}
public void setnama_operator(String nm_op){
nama_operator=nm_op;
}
//Method getter
String getid_forklift(){
return id_forklift;
}
String getstatus_fl(){
return status_fl;
}
String gettype_fl(){
return type_fl;
}
//Tambahan untuk relasi
String getid_operator(){
return id_operator;
}
String getnama_operator(){
return nama_operator;
}
//Query
String ToString (){
//Tambahan untuk relasi
return "ID Forklift =
"+id_forklift+"\nTipe = "+type_fl+"\nStatus =
"+status_fl+
"\nDigunakan operator =
"+nama_operator+" ID "+id_operator;
}
}
CLASS CLIENT
package
TugasOOP;
public
class cClient {
private String nama;
private String id_client;
private int no_telp;
private String id_prk;
private String nama_prk;
private String tgl_prk;
private int tagihan;
private int biaya_operasional;
private int profit;
cClient(){}
cClient(String id, String nama_client, int
nomor, String idp, String nprk,
int bayar, String tgl,int sell, int
uang){
nama=nama_client; id_client=id;
no_telp=nomor;
id_prk= idp; nama_prk=nprk; tagihan
= bayar; tgl_prk=tgl;
biaya_operasional = sell; profit =
uang;}
public void setnama(String nm){
nama = nm;
}
public void setid_client(String i){
id_client = i;
}
public void setno_telp(int n){
no_telp = n;
}
public void setid_prk(String id){
id_prk = id;
}
public void setnama_prk(String na){
nama_prk = na;
}
public void settgl_prk(String tg){
tgl_prk=tg;
}
public void settagihan(int buy){
tagihan = buy;
}
public void setbiaya(int jual){
biaya_operasional=jual;
}
public void setprofit(int money){
money = tagihan-biaya_operasional;
profit= money;
}
public String getnama(){
return nama;
}
public String getid_client(){
return id_client;
}
public int getno_telp(){
return no_telp;
}
public String getid_proyek(){
return id_prk;
}
public String getnama_prk(){
return nama_prk;
}
public String gettgl_prk(){
return tgl_prk;
}
public int gettagihan(){
return tagihan;
}
public int getbiaya(){
return biaya_operasional;
}
public String ToString(){
return "Nama client : "+nama +
"\nID client : "+id_client+
"\nNo Telepon Client : "+no_telp+
"\nTagihan : Rp."+tagihan+
"\nBiaya Operasional : Rp."+biaya_operasional+
"\nNama Proyek : "+nama_prk+
"\nID Proyek : "+id_prk+
"\nTanggal Mulai : "+tgl_prk+
"\nTotal Profit : Rp."+profit;
}
}
MAIN
package
TugasOOP;
import
java.util.*;
public
class appSewa {
public static void main(String[] args) {
Scanner s = new Scanner (System.in);
cOperator op[] = new cOperator[10];
cForklift fl[] = new cForklift[10];
cClient clt[] = new cClient[10];
int jclt=0;
int jop=0, jfl=0;
int maksclt=10;
int maksop=5, maksfl=5;
int pilih;
do{
System.out.println("SISTEM
DATA KONTRAKTOR");
System.out.println("1.Operator");
System.out.println("2.Forklift");
System.out.println("3.Client");
System.out.println("4.Keluar");
System.out.print("Pilih =
");
pilih = s.nextInt();
System.out.println("");
int pilih2;
switch(pilih){
case 1:
System.out.println("Menu Operator");
System.out.println("1.
Tambah Operator");
System.out.println("2.
Hapus Operator");
System.out.println("3. Update Data
Operator");
System.out.println("4.
Cetak Data Operator");
System.out.println("5.
Query ");
System.out.print("Pilih = ");
pilih2 = s.nextInt();
switch(pilih2){
case 1:
System.out.println("== Tambah Data Operator ==");
if(jop<maksop){
System.out.print("Masukkan Nama Operator = ");
String nm =
s.next();
System.out.print("Masukkan Usia Operator = ");
int us =
s.nextInt();
System.out.print("Masukkan Alamat Operator = ");
String
al=s.next();
String
id="";
boolean
sudahada;
do{
System.out.print("Masukkan ID Operator = ");
id =
s.next();
sudahada=false;
for(int i=0;i<jop;i++){
if(op[i].getid_operator().equalsIgnoreCase(id)){
sudahada=true;
break;
}
}
if(sudahada){
System.out.println("ID Operator sudah ada");
}
}while(sudahada==true);
op[jop]=new
cOperator(nm,id,us,al);
jop++;
System.out.println("Penambahan sukses");
}
else{
System.out.println("Kapasitas sudah penuh");
}
break;
case 2:
System.out.println("==
Hapus Data Operator ==");
if(jop>0){
System.out.print("Masukkan ID Operator = ");
String id =
s.next();
boolean
ketemu=false;
for(int
i=0;i<jop;i++){
if(op[i].getid_operator().equalsIgnoreCase(id)){
ketemu=true;
System.out.println("Data
ditemukan");
System.out.println("Dihapus ? 1.Ya 2.Tidak");
System.out.print("Pilih = ");
pilih2=s.nextInt();
if(pilih2==1){
op[i]=null;
for(int j=i;j<jop;j++){
if(j==jop-1)
op[j]=null;
else
op[j]=op[j+1];
}
jop--;
System.out.println("Operator berhasil dihapus");
}
else
System.out.println("Penghapusan
dibatalkan");
break;
}
if(!ketemu){
System.out.println("ID Operator tidak ditemukan");
}
}
}
else
System.out.println("Operator masih kosong");
break;
case 3:
System.out.println("== Edit Data ==");
if(jop>0){
System.out.print("Masukkan ID Operator =
");
String id =
s.next();
boolean ketemu
= false;
for(int i =0;
i<jop; i++){
if(op[i].getid_operator().equalsIgnoreCase(id)){
ketemu=true;
System.out.println("Operator ditemukan");
System.out.print("Masukkan Nama Operator baru = ");
String
nmbr=s.next();
System.out.print("Masukkan ID Operator baru = ");
String
idbr=s.next();
System.out.print("Masukkan
Usia Operator baru = ");
int
usbr=s.nextInt();
System.out.print("Masukkan Alamat Operator baru = ");
String albr=s.next();
System.out.println("Simpan ? 1.Ya 2.Tidak");
System.out.print("Pilih = ");
pilih2=s.nextInt();
if(pilih2==1){
op[i].setnama_operator(nmbr);
op[i].setid_operator(idbr);
op[i].setusia_operator(usbr);
op[i].setalamat_operator(albr);
System.out.println("Edit Operator berhasil");
}
else
System.out.println("Edit dibatalkan");
break;
}
}
if(!ketemu){
System.out.println("ID tidak ditemukan");
}
}
else
System.out.println("Operator
masih kosong");
break;
case 4:
System.out.println("== Lihat Data ==");
if(jop>0){
System.out.println("No.\tID\tNama\t"
+
"Usia\tAlamat");
for(int
i=0;i<jop;i++){
System.out.println((i+1)+".\t"+op[i].getid_operator()+
"\t"+op[i].getnama_operator()+"\t"+
op[i].getusia_operator()+"\t"+
op[i].getalamat_operator());
}
}
else
System.out.println("Operator masih kosong");
break;
case 5:
System.out.println("== Query Data ==");
if(jop>0){
for(int
i=0;i<jop;i++){
System.out.println(op[i].ToString());
}
}
else
System.out.println("Operator masih kosong");
break;
}
break;
case 2:
System.out.println("Menu Data Forklift");
System.out.println("1.
Tambah Forklift");
System.out.println("2.
Hapus Forklift");
System.out.println("3.
Update Status Forklift");
System.out.println("4.
Cetak Data Forklift");
System.out.println("5.
Query");
System.out.print("Pilih
= ");
pilih2 = s.nextInt();
switch(pilih2){
case 1:
System.out.println("== Tambah Data Forklift ==");
if(jfl<maksfl){
System.out.print("Masukkan ID Forklift = ");
String id_fl =
s.next();
System.out.print("Masukkan Status Forklift(Dipakai/Standby) =
");
String st =
s.next();
System.out.print("Masukkan Tipe Forklift(5ton,10ton,20ton) = ");
String tp
=s.next();
String id="";
String
nm="";
boolean
sudahada;
do{
System.out.print("Masukkan ID Operator = ");
id=s.next();
System.out.print("Masukkan Nama Operator = ");
nm=s.next();
sudahada=false;
for(int
i=0;i<jfl;i++){
if(fl[i].getid_operator().equalsIgnoreCase(id)){
sudahada=true;
if(fl[i].getnama_operator().equalsIgnoreCase(nm)){
sudahada=true;
break;
}
}
}
if(sudahada){
System.out.println("ID Operator sudah ada");
}
}while(sudahada==true);
fl[jfl]=new
cForklift(id_fl,st,tp,id,nm);
jfl++;
System.out.println("Penambahan sukses");
}
else{
System.out.println("Kapasitas sudah penuh");
}
break;
case 2:
System.out.println("==
Hapus Data Operator ==");
if(jfl>0){
System.out.print("Masukkan ID Forklift = ");
String id =
s.next();
boolean ketemu=false;
for(int
i=0;i<jfl;i++){
if(fl[i].getid_forklift().equalsIgnoreCase(id)){
ketemu=true;
System.out.println("Data
ditemukan");
System.out.println("Dihapus ? 1.Ya 2.Tidak");
System.out.print("Pilih = ");
pilih2=s.nextInt();
if(pilih2==1){
fl[i]=null;
for(int j=i;j<jfl;j++){
if(j==jfl-1)
fl[j]=null;
else
fl[j]=fl[j+1];
}
jfl--;
System.out.println("Forklift berhasil dihapus");
}
else
System.out.println("Penghapusan
dibatalkan");
break;
}
if(!ketemu){
System.out.println("ID Forklift tidak ditemukan");
}
}
}
else
System.out.println("Forklift masih kosong");
break;
case 3:
System.out.println("== Edit Data Forklift ==");
if(jfl>0){
System.out.print("Masukkan ID Forklift = ");
String
id=s.next();
boolean ketemu=false;
for(int
i=0;i<jfl;i++){
if(fl[i].getid_forklift().equalsIgnoreCase(id)){
ketemu=true;
System.out.println("Data
Forklift ditemukan");
System.out.print("Masukkan ID baru Forklift = ");
String
idn = s.next ();
System.out.print("Masukkan Tipe
baru Forklift = ");
String
tpn = s.next();
System.out.print("Masukkan Status baru Forklift = ");
String
stn= s.next();
System.out.print("Masukkan ID Operator baru = ");
String
idop=s.next();
System.out.print("Masukkan Nama Operator
baru = ");
String
nmop=s.next();
System.out.println("Simpan? 1.Ya, 2.Tidak");
System.out.print("Pilih = ");
pilih2=s.nextInt();
if(pilih2==1){
fl[i].setid_forklift(idn);
fl[i].settype_fl(tpn);
fl[i].setstatus_fl(stn);
fl[i].setid_operator(idop);
fl[i].setnama_operator(nmop);
System.out.println("Edit
data berhasil diperbarui");
}
else
System.out.println("Edit data dibatalkan");
break;
}
}
if(!ketemu){
System.out.println("ID tidak ditemukan");
}
}
else
System.out.println("Forklift masih kosong");
break;
case 4:
System.out.println("== Lihat Data Forklift ==");
if(jfl>0){
System.out.println("No.\tID\tTipe\tStatus");
for(int
i=0;i<jfl;i++){
System.out.println((i+1)+".\t"+fl[i].getid_forklift()+
"\t"+fl[i].gettype_fl()+"\t"+fl[i].getstatus_fl());
}
}
else
System.out.println("Forklift masih kosong");
break;
case 5:
System.out.println("== Query Data ==");
if(jfl>0){
for(int
i=0;i<jfl;i++){
System.out.println(fl[i].ToString());
}
}
else
System.out.println("Forklift masih kosong");
break;
}
break;
case 3:
System.out.println("Menu Data Client");
System.out.println("1.
Tambah Data Client");
System.out.println("2.
Hapus Data Client");
System.out.println("3.
Update Data Client");
System.out.println("4.
Cetak Data Client");
System.out.println("5.
Query ");
System.out.print("Pilih = ");
pilih2 = s.nextInt();
switch(pilih2){
case 1:
System.out.println("== Tambah Client ==");
//jumlah mhs masih
di bawah kapasitas maksimal
if(jclt<maksclt){
System.out.print("Masukkan Nama Client = ");
String name =
s.next();
System.out.print("Masukkan Nomor Telpon Client = ");
int tlp= s.nextInt();
System.out.print("Masukkan Nama Proyek = ");
String nama =
s.next();
System.out.print("Masukkan Nominal Tagihan = ");
int tag =
s.nextInt();
System.out.print("Masukkan Biayan Operasional = ");
int opr =
s.nextInt();
System.out.print("Masukkan
Tanggal Proyek (DD/MM/YYYY) = ");
String tgl=
s.next();
int pro =
tag-opr;
s = new
Scanner(System.in);
String idp="";
String
idc="";
boolean
sudahada;
do{
System.out.print("Masukkan ID Client = ");
idc =
s.next();
System.out.print("Masukkan ID Proyek = ");
idp =
s.next();
sudahada=false;
for (int i = 0; i < jclt;
i++) {
if(clt[i].getid_client().equalsIgnoreCase(idc)){
sudahada=true;
if(clt[i].getid_proyek().equalsIgnoreCase(idp)){
sudahada=true;
break;
}
}
}
if(sudahada){
System.out.println("ID Client sudah ada");
}
}while(sudahada==true);
//simpan di array
object mhs di MAIN
clt[jclt] = new
cClient (idc, name, tlp, idp, nama, tag, tgl,opr,pro);
jclt++;
System.out.println("Penambahan Sukses...");
}
else{
System.out.println("Kapasitas Penuh");
}
break;
case 2:
System.out.println("== Hapus Data Client ==");
if(jclt>0){
System.out.print("Masukkan ID Client = ");
String idc =
s.next();
//cari di array
object mk di MAIN
boolean
ketemu=false;
for (int i = 0;
i < jclt; i++) {
if(clt[i].getid_client().equalsIgnoreCase(idc)){
ketemu=true;
System.out.println("Data Ditemukan");
System.out.println("Dihapus? 1.Ya, 2.Tidak");
System.out.print("Pilih
= ");
pilih2
= s.nextInt();
if(pilih2==1){
//hapus elemen array object di MAIN
clt[i] = null;
//geser maju utk mengisi elemen yg dihapus
for
(int j = i; j < jclt; j++) {
if(j==jclt-1)
clt[j]=null;
else
clt[j]=clt[j+1];
}
jclt--;
System.out.println("Client berhasil dibatalkan");
}
else
System.out.println("Penghapusan dibatalkan");
break;
}
}
if(!ketemu){
System.out.println("ID Client Tidak Ada!");
}
}
else
System.out.println("Data Mata Kuliah Kosong!");
break;
case 3:
System.out.println("== Edit Data Client ==");
if(jclt>0){
System.out.print("Masukkan ID Client = ");
String idc = s.next();
boolean
ketemu=false;
for (int i = 0;
i < jclt; i++) {
if(clt[i].getid_client().equalsIgnoreCase(idc)){
ketemu=true;
System.out.println("Client ditemukan");
System.out.print("Masukkan ID baru = ");
String
idcn = s.next();
System.out.print("Masukkan
Nama Client baru = ");
String
namen = s.next();
System.out.print("Masukkan nomor telepon baru = ");
int telpn =
s.nextInt();
System.out.print("Masukkan tagihan baru = ");
int
tagn = s.nextInt();
System.out.print("Masukkan ID Proyek baru = ");
String
idpn = s.next();
System.out.print("Masukkan Nama Proyek baru = ");
String
naman = s.next();
System.out.print("Masukkan tanggal baru = ");
String
tgln = s.next();
System.out.println("Simpan? 1.Ya, 2.Tidak");
pilih2 = s.nextInt();
if(pilih2==1){
clt[i].setid_client(idcn);
clt[i].setnama(namen);
clt[i].setno_telp(telpn);
clt[i].settagihan(tagn);
clt[i].setid_prk(idpn);
clt[i].setnama_prk(naman);
clt[i].settgl_prk(tgln);
System.out.println("Edit client berhasil");
}
else
System.out.println("Edit
dibatalkan");
break;
}
}
if(!ketemu){
System.out.println("ID
tidak ditemukan");
}
}
else
System.out.println("Client masih kosong");
break;
case 4:
System.out.println("== Cetak Data Client ==");
if(jclt>0){
for (int i = 0; i
< jclt; i++) {
System.out.print("Client-"+(i+1)+"\n");
System.out.print("Nama
: "+clt[i].getnama()+"\n");
System.out.print("No.telp :
"+clt[i].getno_telp()+"\n");
System.out.print("Tagihan
: "+clt[i].gettagihan()+"\n");
System.out.print("ID Proyek
: "+clt[i].getid_proyek()+"\n");
System.out.print("Nama Proyek
: "+clt[i].getnama_prk()+"\n");
System.out.print("Tanggal Mulai :
"+clt[i].gettgl_prk()+"\n");
}
}
else
System.out.println("Data Mhs kosong!");
break;
case 5:
if(jclt>0){
System.out.println("== Query Data Client ==");
boolean
ketemu=false;
for (int i = 0;
i < jclt; i++) {
System.out.print("Masukkan
ID Client = ");
String idc
= s.next();
if(clt[i].getid_client().equalsIgnoreCase(idc)){
ketemu=true;
System.out.println(clt[i].ToString());
break;
}
}
if(!ketemu){
System.out.println("ID Tidak ada");
}
}else
System.out.println("Data Client masih kosong");
break;
}
break;
case 4:
System.out.println("Terima Kasih");
System.exit(0);
break;
}
System.out.println("");
}while(pilih!=5);
}
}
SCREENSHOT
RUNNING PROGRAM
Terimakasih telah menyisihkan waktu anda
untuk membaca tulisan ini dari blog kami, selamat mencoba!!
Disusun oleh :
1. Nadilla Anidew (20082010127)
2. Roro Ayu Pangestuti (20082010128)
3. Daud Arya Rafa (20082010137)












Komentar
Posting Komentar