Anda di halaman 1dari 16

LAPORAN PRAKTIKUM

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK


CLASS DIAGRAM E – COMMERS DISTRO I WEAR

13 November 2019

No Nama NIM

1 Angga Fantiya Hermawan 3411171142

2 Devi Fajar Wati 3411171112

3 Ismi Anisa Sopiyanti 3411171123

4 Sri Mulyani Azhar 3411171118

5 Azy mushofy anwary 3411171137

PROGRAM STUDI INFORMATIKA


FAKULTAS SAINS DAN INORMATIKA
UNIVERSITAS JENDERAL ACHMAD YANI
2019
A. Class Diagram

Gambar 1. 1 Class Diagram I-Wear

B. Penjelasan Class Diagram


1. Class Person

Gambar 1. 2 Class person dan childnya

Class person berfungsi sebagai super class dimana class tersebut memiliki sifat yang
akan di turunkan ke beberapa class yaitu class customer,customer service,admin,kurir
dan registrasi. Seperti yang terlihat pada gambar 1.2

2. Class Customer Service


Class customer service merupakan class turunan dari class person yang memiliki
fungsi untuk menampung informasi tentang customer service dan melayani customer

1
yang memerlukan bantuan, customer service ini memiliki method ubah profile yang
berfungsi untuk mengubah profile pribadi customer service dan method balasChat
yang berfungsi untuk membalas chat customer.

3. Class Admin
Class admin merupakan class turunan dari class person yang memiliki fungsi untuk
menampung informasi tentang admin dan melakukan pengelolaan, didalam class
admin terdapat beberapa method yaitu : update informasi yang berfungsi untuk
merubah informasi admin,lalu ada laporan transaksi berfungsi untuk menampilkan
laporan, lalu ada kelola produk berfungsi untuk mengelola produk dan ada kelola data
transaksi berfungsi untuk mengelola laporan transaksi pengelolaan disini terdiri dari
pencatatan,identifikasi dan komunikasi.

4. Class Kurir
Class kurir merupakan class turunan dari class person yang memiliki fungsi untuk
menampung informasi tentang kurir dan dapat melakukan pengelolaan pengiriman
pada class kurir terdapat method : ubah informasi yang berfungsi untuk mengubah
profil kurir dan ubahStatusTracking berfungsi untuk memperbarui status pengiriman
barang yang defaultnya belum di kirim bisa di rubah menjadi sudah dikirim,masih
dalam pengepakan dan telah sampai tujuan.

5. Class Registrasi
Class registrasi merupakan class turunan dari class person yang memiliki fungsi
untuk menangani proses pendaftaran akun baru , class ini memiliki method : simpan
yang berfungsi untuk menyimpan data user yang melakukan pedaftaran, lalu ada
method cek method ini berfungsi untuk mengecek apakah akun baru yang di buat
sebelum nya sudah pernah dibuat atau belum jika sudah maka akan keluar notif
“Tidak bisa mendaftar karena akun sudah tersedia” jika belum ada maka proses
registrasi bisa di lanjutkan, lalu ada method cancel yang berfungsi untuk
membatalkan semua proses registrasi.

6. Class Customer
Class Customer merupakan class turunan dari class person yang memiliki fungsi
untuk mengelola profile pribadi customer dan melakukan pembelian, customer juga
dapat melakukan transaksi, pada class ini juga terdapat method pilihBarang yang
berfungsi agar customer bisa memilih barang sesuai keinginannya,lalu ada method
transaksi yang berfungsi untuk menangani proses transaksi, lalu ada ubahProfile yang
berfungsi untuk mengubah profil pengguna dan yang terakhir ada lihat tracking yang
berfungsi untuk melihat pesanannya sudah di proses sejauh mana.
7. Class Login
Class login berfugsi untuk menangani autentication proses masuk user ke dalam
system pada class login ini menangani apakah user bisa masuk kedalam system atau
tidak, didalam class login terdapat method cekAkun() yang berfungsi untuk

2
mengecek apakah akun yang dimasukan di form login sudah terdaftar, jika sudah
maka user bisa masuk ke system tetapi jika belum makan user tidak akan bisa masuk
ke system dan akan keluar notif “Akun tidak terdaftar” dan jika terjadi penulisan
password atau email yang salah akan keluar notif “Password atau Email salah”

8. Class Transaksi
Class transaksi merupakan class yang memiliki fungsi untuk mencatat segala jenis
transaksi yang ada , di dalam class ini terdapat method proses transaksi yang
berfungsi untuk memporses transaksi ke dalam system dan terdapat juga method
kirimKodeTransaksi yang memiliki fungsi untuk mengirim kode transaksi ke
customer dan admin.

9. Class Pembelian

Gambar 1. 3 Asosias class customer & pembelian

Class pembelian memiliki relasi asosiasi antara class customer dan class pembelian
relasinya yaitu one to many dimana 1 customer bisa melakukan banyak
pembelian,pada class pembelian terdapat method lihatBarang yang memiliki fungsi
untuk menampilkan semua barang yang tersimpan di dalam database lalu ada method
lihatStokBarang yang memiliki fungsi untuk menampilkan berapa jumlah barang, dan
ada method masuk keranjang untuk menyimpan barang apa saja yang akan di beli.

3
10. Class DetailPembelian

Gambar 1. 4 Hubungan antara class pembelian,pembayaran,detailPembelian,bank dan Barang

Pada class detail pembelian terdapat hubungan dengan agregasi dengan class
pembelian gambar dapat di lihat di atas, class detail ini memiliki method
KalkulasiSub_total yang berfungsi untuk menghitung sub total dari pembelian suatu
produk.

11. Class Barang


Pada class barang terdapat hubungan asosiasi dengan class detail pembelian class ini
memiliki method kalkulasiHarga_jumlah yaitu menotalkan semua barang yg sudah di
pesan.

12. Class Pembayaran


Class pembayaran memiliki hubungan asosiasi dengan class pembelian, class
pembayaran ini memiliki fungsi untuk memporses pembayaran, pada class ini
terdapat method lihat tagihan yang berfungsi untuk menampilkan tagihan yang harus
di bayar oleh customer dan ada method print tagihan untuk memprint nota tagihan
jika di perlukan.

13. Class Bank


Class bank memiliki hubungan asosiasi dengan class pembayaran class bank ini
berfungsi untuk memproses pembayaran lewat suatu bank misalnya bank ABC maka
di dalam system ini akan di hubungkan dengan bank ABC agar bisa terintegrasi.

4
14. Class Kategori Produk

Gambar 1. 5 Hubungan class kategori produk & produk

Class kategori produk berfungsi sebagai super class dimana class tersebut memiliki
sifat yang akan di turunkan ke class produk seperti terlihat pada gambar 1.5 Pada
class ini terdapat method tambah yang berfungsi untuk menambahkan kategori ketika
ada kategori baru dari produk,lalu ada method edit yang berfungsi untuk merubah
dari isi kategori tersebut seperti halnya merubah nama kategori atau merubah
deskripsi kategori,lalu admin bisa menggunakan method hapus yang fungsinya untuk
menghapus kategori ketika kategori tersebut sudah tidak di butuhkan lagi.

15. Class Produk


Class produk merupakan class turunan dari class kategori produk yang memiliki
fungsi untuk menampung informasi tentang produk seperti kode produk,nama
produk,warna produk,harga produk, jumlah produk, dan status produk. Pada class ini
juga terdapat method lihat yang berfungsi untuk melihat informasi dari produk,lalu
ada method tambah yang fungsinya untuk admin menambahkan inforrmasi produk
ketika ada produk baru yang ingin ditambahkan, ada method hapus yang fungsinya
untuk menghapus informasi dari produk ada juga method ubah yaitu untuk mengubah
isi dari informasi produk ketika ada update dari produk ada method searching untuk
memudahkan pencarian produk dan ada method cancel untuk memudahkan admin
seperi ketika ada produk yang di tambahkan tidak jadi di tambah.

16. Class Retur


Class retur memiliki fungsi untuk menampung informasi tentang pengembalian
produk rusak atau tidak sesuai pesanan, dalam class retur ini informasi yang di
tampung yaitu ada id transaksi dan id kurir. Pada class ini juga terdapat method retur
barang yang berfungsi untuk memudahkan customer dalam pengembalian produk
yang rusak atau tidak sesuai dengan apa yang di pesan.

5
17. Class Bantuan
Class bantuan memiliki fungsi untuk melayani customer yang memerlukan bantuan
seperti bagaimana cara melakukan pembelian dll. Di dalam class ini terdapat method
balasPesan yang berfungsi untuk membalas chat dari customer dan ada class
simpanPesan yang berfungsi untuk menyimpan riwayat chat dengan customer secara
otomatis.

18. Class Tracking Produk


Class ini berfungsin untuk menampilkan tracking produk apakah status nya sudah
sampai atau belum, dalam class ini terdapat method lihatTracking yang berfungsi
untuk menampilkan sudah sejauh mana pengiriman produk yang di beli sudah di
proses.

19. Class Laporan


Class laporan memiliki fungsi untuk menampung informasi mengenai laporan
transaksi.informasi yang ditampung dalam class ini yaitu idLaporan,tanggalLaporan,
kodeProduk,namaProduk,jumlahTerjual,totalPendapatanProduk. Pada class ini juga
terdapat method lihat yang berfungsi untuk admin melihat informasi dari laporan.

6
C. Implementasi Class Diagram
1. Source Code Class Person
import java.util.*;

public class Person {

protected String nama;

protected String alamat;

protected String tempatTanggalLahir;

protected Date tanggalLahir;

protected char jenisKelamin;

protected String agama;

protected int jabatan;

protected int noHP;

2. Source Code Class Admin


import java.util.*;

public class Admin extends Person {


public String emailAdmin;
public String passwordAdmin;

public int idAdmin;

public void updateInformasi() {


// TODO: implement
}

public void laporanTransaksi() {


// TODO: implement
}

public void kelolaDataProduk() {


// TODO: implement
}

public void kelolaDataTransaksi() {


// TODO: implement
}

public void ubahInformasi() {


// TODO: implement
}

7
3. Source Code Class Customer
import java.util.*;

public class Customer extends Person {


public int idCus;
public String emailCus;
public String passwordCus;

public java.util.Collection<Pembelian> pembelian;

public void pilihBarang() {


// TODO: implement
}

public void transaksi() {


// TODO: implement
}

public void ubahProfile() {


// TODO: implement
}

public void lihatTracking() {


// TODO: implement
}

public java.util.Collection<Pembelian> getPembelian() {


if (pembelian == null)
pembelian = new java.util.HashSet<Pembelian>();
return pembelian;
}

public java.util.Iterator getIteratorPembelian() {


if (pembelian == null)
pembelian = new java.util.HashSet<Pembelian>();
return pembelian.iterator();
}

public void setPembelian(java.util.Collection<Pembelian> newPembelian) {


removeAllPembelian();
for (java.util.Iterator iter = newPembelian.iterator(); iter.hasNext();)
addPembelian((Pembelian)iter.next());
}

public void addPembelian(Pembelian newPembelian) {


if (newPembelian == null)
return;
if (this.pembelian == null)
this.pembelian = new java.util.HashSet<Pembelian>();
if (!this.pembelian.contains(newPembelian))
this.pembelian.add(newPembelian);
}

public void removePembelian(Pembelian oldPembelian) {


if (oldPembelian == null)
return;
if (this.pembelian != null)
if (this.pembelian.contains(oldPembelian))
this.pembelian.remove(oldPembelian);
}

public void removeAllPembelian() {


if (pembelian != null)
pembelian.clear();
}

8
4. Source Code Class Kurir
import java.util.*;

public class Kurir extends Person {


public int idKurir;
public String emailKurir;
public String passwordKurir;

public int ubahInformasi() {


// TODO: implement
return 0;
}

public int ubahStatusTracking() {


// TODO: implement
return 0;
}

}
5. Source Code Class Customer Service
import java.util.*;

public class CustomerServices extends Person {

public int idCs;


public String emailCs;
public String passwordCs;

public void ubahProfile() {


// TODO: implement
}

public int balasChat() {


// TODO: implement
return 0;
}

}
6. Source Code Class Transaksi

import java.util.*;

public class Transaksi {

private int idTransaksi;

private int tglTransaksi;

private int kodeTransaksi;

private int kodeProduk;

private int jumlah;

private int harga;

private int totalHarga;

public void prosesTransaksi() {

// TODO: implement

9
public void kirimKodeTransaksi() {

// TODO: implement

7. Source Code Class Pembelian


import java.util.*;
public class Pembelian {
public java.util.Collection<DetailPembelian> detailPembelian;
public java.util.Collection<Pembayaran> pembayaran;

public void lihatBarang() {


// TODO: implement
}
public void lihatStokBarang() {
// TODO: implement
}
public void masukKeranjang() {
// TODO: implement
}

public java.util.Collection<DetailPembelian> getDetailPembelian() {


if (detailPembelian == null)
detailPembelian = new java.util.HashSet<DetailPembelian>();
return detailPembelian;
}

public java.util.Iterator getIteratorDetailPembelian() {


if (detailPembelian == null)
detailPembelian = new java.util.HashSet<DetailPembelian>();
return detailPembelian.iterator();
}

public void setDetailPembelian(java.util.Collection<DetailPembelian>


newDetailPembelian) {
removeAllDetailPembelian();
for (java.util.Iterator iter = newDetailPembelian.iterator(); iter.hasNext();)
addDetailPembelian((DetailPembelian)iter.next());
}

public void addDetailPembelian(DetailPembelian newDetailPembelian) {


if (newDetailPembelian == null)
return;
if (this.detailPembelian == null)
this.detailPembelian = new java.util.HashSet<DetailPembelian>();
if (!this.detailPembelian.contains(newDetailPembelian))
this.detailPembelian.add(newDetailPembelian);
}
public void removeDetailPembelian(DetailPembelian oldDetailPembelian) {
if (oldDetailPembelian == null)
return;
if (this.detailPembelian != null)
if (this.detailPembelian.contains(oldDetailPembelian))
this.detailPembelian.remove(oldDetailPembelian);
}
public void removeAllDetailPembelian() {
if (detailPembelian != null)
detailPembelian.clear();
}

public java.util.Collection<Pembayaran> getPembayaran() {


if (pembayaran == null)
pembayaran = new java.util.HashSet<Pembayaran>();
return pembayaran;

10
}
public java.util.Iterator getIteratorPembayaran() {
if (pembayaran == null)
pembayaran = new java.util.HashSet<Pembayaran>();
return pembayaran.iterator();
}
public void setPembayaran(java.util.Collection<Pembayaran> newPembayaran) {
removeAllPembayaran();
for (java.util.Iterator iter = newPembayaran.iterator(); iter.hasNext();)
addPembayaran((Pembayaran)iter.next());
}
public void addPembayaran(Pembayaran newPembayaran) {
if (newPembayaran == null)
return;
if (this.pembayaran == null)
this.pembayaran = new java.util.HashSet<Pembayaran>();
if (!this.pembayaran.contains(newPembayaran))
this.pembayaran.add(newPembayaran);
}
public void removePembayaran(Pembayaran oldPembayaran) {
if (oldPembayaran == null)
return;
if (this.pembayaran != null)
if (this.pembayaran.contains(oldPembayaran))
this.pembayaran.remove(oldPembayaran);
}
public void removeAllPembayaran() {
if (pembayaran != null)
pembayaran.clear();
}

}
8. Source Code Class Pembayaran
import java.util.*;

public class Pembayaran {


private int idTransaksi;
private int jumlahPembayaran;

public java.util.Collection<Bank> bank;

public void lihatTagihan() {


// TODO: implement
}

public void printTagihan() {


// TODO: implement
}
public java.util.Collection<Bank> getBank() {
if (bank == null)
bank = new java.util.HashSet<Bank>();
return bank;
}

public java.util.Iterator getIteratorBank() {


if (bank == null)
bank = new java.util.HashSet<Bank>();
return bank.iterator();
}
public void setBank(java.util.Collection<Bank> newBank) {
removeAllBank();
for (java.util.Iterator iter = newBank.iterator(); iter.hasNext();)
addBank((Bank)iter.next());
}
public void addBank(Bank newBank) {
if (newBank == null)
return;
if (this.bank == null)
this.bank = new java.util.HashSet<Bank>();

11
if (!this.bank.contains(newBank))
this.bank.add(newBank);
}
public void removeBank(Bank oldBank) {
if (oldBank == null)
return;
if (this.bank != null)
if (this.bank.contains(oldBank))
this.bank.remove(oldBank);
}
public void removeAllBank() {
if (bank != null)
bank.clear();
}

}
9. Source Code Class Bank
import java.util.*;
public class Bank {
private int nomorRekening;
private String kodeBank;
private String namaBank;
private String namaPemilik;

public void prosesPembayaran() {


// TODO: implement
}

}
10. Source Code Class Retur
import java.util.*;

public class Retur {


private int idTransaksi;
private int idKurir;
public void returBarang() {
// TODO: implement
}

}
11. Source Code Class Bantuan
import java.util.*;

public class Bantuan {


public int idBantuan;
public int idCs;
public Date tanggalPesan;
public String isiPesan;
public void balasPesan() {
// TODO: implement
}
public void simpanPesan() {
// TODO: implement
}

}
12. Source Code Class Barang
import java.util.*;
public class Barang {
private string nama;
private string type;
private string warna;
private int harga;

12
public void kalkulasiHargaJumlah() {
// TODO: implement
}

}
13. Souce Code Class Kategori Produk
import java.util.*;
public class KategoriProduk {
protected int idKategori;
protected String namaKategori;
protected String deskripsiKategori;

public void tambah() {


// TODO: implement
}

public void edit() {


// TODO: implement
}

public void hapus() {


// TODO: implement
}

}
14. Source Code Class Produk
import java.util.*;
public class Produk extends KategoriProduk {
public int kodeProduk;
public String namaProduk;
public String warnaProduk;
public Double hargaProduk;
public int jumlahProduk;
public String statusProduk;

public void lihat() {


// TODO: implement
}
public void tambah() {
// TODO: implement
}

public void hapus() {


// TODO: implement
}

public void ubah() {


// TODO: implement
}
public void searching() {
// TODO: implement
}
public void cancel() {
// TODO: implement
}

}
15. Source Code Class Detail Pembelian
import java.util.*;
public class DetailPembelian {
private int idTransaksi;
private date tanggaPembelianl;
private int jumlah;
private string status;

13
public java.util.Collection<Barang> barang;

public void kalkulasiSub_Total() {


// TODO: implement
}

public java.util.Collection<Barang> getBarang() {


if (barang == null)
barang = new java.util.HashSet<Barang>();
return barang;
}

public java.util.Iterator getIteratorBarang() {


if (barang == null)
barang = new java.util.HashSet<Barang>();
return barang.iterator();
}
public void setBarang(java.util.Collection<Barang> newBarang) {
removeAllBarang();
for (java.util.Iterator iter = newBarang.iterator(); iter.hasNext();)
addBarang((Barang)iter.next());
}
public void addBarang(Barang newBarang) {
if (newBarang == null)
return;
if (this.barang == null)
this.barang = new java.util.HashSet<Barang>();
if (!this.barang.contains(newBarang))
this.barang.add(newBarang);
}
public void removeBarang(Barang oldBarang) {
if (oldBarang == null)
return;
if (this.barang != null)
if (this.barang.contains(oldBarang))
this.barang.remove(oldBarang);
}
public void removeAllBarang() {
if (barang != null)
barang.clear();
}

}
16. Source Code Class Tracking Produk
import java.util.*;
public class TrackingProduk {
private int idTracking;
private int idKurir;
private int idTransaksi;
public String pengirim;
public String penerima;
public String kotaTujuan;
public String status;

public void lihatTracking() {


// TODO: implement
}

}
17. Source Code Class Laporan
import java.util.*;

public class Laporan {


public int idLaporan;
public Date tanggalLaporan;
public int kodeProduk;
public String namaProduk;

14
public int jumlahTerjual;
public double totalPendapatanProduk;
public void lihat() {
// TODO: implement
}

}
18. Source Code Class Login
import java.util.*;
public class Login {
private String username;
private String password;

public void cekAkun() {


// TODO: implement
}

}
19. Source Code Class Registrasi
import java.util.*;

public class Registrasi extends Person {


private int idCus;
private String emailCus;
private String passwordCus;

public void simpan() {


// TODO: implement
}
public void cek() {
// TODO: implement
}
public void cancel() {
// TODO: implement
}

15

Anda mungkin juga menyukai