BAB III ANALISIS DAN PERANCANGAN SISTEM
G. Desain dan Pemodelan Berorientasi Objek
1. Sequence Diagram
Sequence diagram digunakan untuk menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use case. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu dalam use case.
Berikut ini adalah sequence diagram pada sistem yang mengacu pada use case diagram:
a. Sequence Diagram Login
:loginInterface :password :admin btnLogin() return(userFalse) return(userNotFound) dan Display(userNotFound) dijalankan jika userName atau password salah validasi data login
checkPassword(user,pass) return(passTrue)
DisplayPassFalse
:UpdateInterface
Menampilkan Tampilan untuk update
:Contr lPasswordo
username dan password
return(userFalse)
b. Sequence Diagram Memasukan Data Bahan Pakan
:admin :bahanPakanInterface :BahanPakan
input data bahan pakan
returnKonfirmasi() addBahanPakan() validasi data bahan pakan
DisplayKonfirmasi()
:ControlBahanPakan
data bahan pakan
returnKonfirmasi()
:updateInterfc
pilih tambah data bahan pakan
Gambar 3.15 Sequence Diagram Memasukan Data Bahan Pakan c. Sequence Diagram Memasukan Data Ternak
:admin :ControlTernak :Ternak
pilih tambah data ternak
returnKonfirmasi() addTernak() validasi data ternak
DisplayKonfirmasi()
:TernakInterface
data ternak
returnKonfirmasi()
:UpdateIntrc
input data ternak
d. Sequence Diagram Mengubah Data Bahan Pakan
:adm in :updateInterface :bhnP knU pdateInterface :B ahanP akan
btnS im pan()
returnK onfirm asi() btnU bahBahan()
tam pil bhnP knU pdateInterface M eletakkanD ataK eIntfc(data)
editB ahanP akan() getS electedR ow ()
V alidasi data bahan pakan
D isplayKonfirm asi
:C ontrolB ahanPakan
data bahan pakan
returnK onfirm asi()
:adm in :updateInterface :TernakUpdateInterface :Ternak
btnSim pan() returnKonfirm asi() btnUbahTernak() tam pilTernakUpdateInterface() M eletakkanDataKeIntfc2(data) editTernak() getSelectedRow()
Validasi data ternak
D isplayKonfirm asi
:ControlTernak
Gambar 3.17 Sequence Diagram Mengubah Data Bahan Pakan e. Sequence Diagram Mengubah Data Ternak
data ternak
returnKonfirm asi()
f. Sequence Diagram Hapus Data Bahan Pakan
:admin :ControlBahanPakan :BahanPakan
returnKonfirmasi() btnHapus()
deleteBahanPakan_fromNama()
DisplayKonfirmasi
:updateInterface
data bahan pakan
returnKonfirmasi()
Gambar 3.19 Sequence Diagram Hapus Data Bahan Pakan
g. Sequence Diagram Hapus Data Ternak
:admin :ControlTernak :Ternak
returnKonfirmasi() btnHapus() deleteTernak_fromNama() DisplayKonfirmasi :UpdateInterface data ternak returnKonfir asi()m
h. Sequence Diagram Mengubah Password
:admin :ControlPassword :Password
btnSimpanPassword()
editPassword(pass) returnKonfirmasi()
validasi data password checkPassword(user,pass)
return(passTrue)
DisplayKonfirmasi()
:updateInterface
data password baru
returnKonfirmasi()
i. Sequence Diagram Membuat Ransum i. Sequence Diagram Membuat Ransum
:admin/pem akai :Form ulaIntrfc :ProsesRansum
btnR ansum ()
validasi data ransum batas_m inim um (nam a,k,total_kg2)
return(nilaiM inim um)
batas_m aksim um (nam a,k,total_kg2) return(nilaiM aksim um)
Buat_m atriks_kendala()
batas_m ax_pem ggunaan_bhn(k,kolom ,total_kg2,BahanPakan) return(M axBahan) koef_fungsi_sasaran(k,kolom 2,BahanPakan) return(H arga) data_Jlist_Protein(k,kolom ,BahanPakan) return(dataProtein) data_Jlist_Protein(k,kolom ,BahanPakan) return(D ataProtein) data_Jlist_kadarAir(k,kolom ,BahanPakan) return(DataKadarAir) data_Jlist_Lem ak(k,kolom ,BahanPakan)
return(dataLem ak) data_Jlist_Lem ak(k,kolom ,BahanPakan)
return(dataLem ak) data_Jlist_Serat(k,kolom,BahanPakan) return(dataSeratKasar) data_Jlist_Abu(k,kolom,BahanPakan) return(DataAbu) data_Jlist_Abu(k,kolom,BahanPakan) return(DataAbu) data_Jlist_Kalsium(k,kolom ,BahanPakan) return(dataKalsium ) data_Jlist_Kalsium(k,kolom ,BahanPakan) return(dataKalsium )
:adm in/pem akai :Form ulaIntrfc :ProsesR ansum
penam bahan slack dan artificial variabel
return m atrik_kendala return m atriksK oreksi;
R H S (rhs,total_kg2,m in_kandungan,m ax_kandungan,m ax_bhnP ilihan, row , k) return rhs
K olom K oreksi(row ,kolom K oreksi,m atriks2,m atriksK oreksi)
R hsK oreksi(row ,rhs,rhsK oreksi); return rhsK oreksi koef_basis(koef_vb, row ) return koef_vb koef_tahap1(tujuan2, kolom , k) return koef variabel_basic(variabel_basic,kolom ,k,row ); return variabel_basic data_Jlist_P hosphor(k,kolom ,B ahanP akan)
return(D ataP hosphor) data_Jlist_P hosphor(k,kolom ,B ahanP akan)
return(D ataP hosphor) data_Jlist_Lisin(k,kolom ,BahanP akan)
return(D ataLisin)
data_Jlist_M ethionine(k,kolom ,B ahanP akan) return(D ataM ethionine)
m atrik_bahan_ygD igunakan(k,kolom ) returnM atrikB ahan
Z(Z,koef_vb,m atriks2, kolom , row ) return Z
C _Z(C _Z2,Z2,tujuan, kolom 2) return C _Z terbesar_C Z(C _Z,kolom )
return indeksM ax
jum lah_angka_m inus(indeksm ax,m atriks2,row ) return jum lah_angka
:admin/pemakai :FormulaIntrfc :ProsesRansum
mtrik_angka_minus(matriks2,indeksMax,jumlah-angka,row,angka) return angka rasio(rasio,rhs,matriks2,indeksmax,row) return rasio terkecil_rasio(jumlah_angka,angka,rasio,row) return indeksMin testForoptimality(C_Z,kolom) return isOptimal(BlmOptimal) rubah_matrik(matriks3,matriks2,indeksMin,indeksMax,row,kolom) return matriks3 rubah_rhs(rhs2,rhs,matriks2,indeksMin,indeksMax,row,kolom) return rhs2 ResetAngka(angka,jumlah_angka) return angka ResetRhs(rhs,row) retun rhs ResetRasio return rasio ResetZ(Z,kolom) return Z ResetCZ(C_Z,kolom) return C_Z ResetMatriks2(matriks2,row,kolom) return matriks2 rubahIsiMatriks2(matriks2,matriks3,row,kolom) return matriks2 rubahIsiRhs(rhs,rhs2,row) return rhs
:hasilFormulasiItfc :Ransum :komposisi
dijalankan bila kondisi blm optimal, sistem akan mereset semua variabel dan mengulangi perhitungan mulai dr nilai Z
dijalankan bila kondisi belum optimal
:admin/pemakai :FormulaIntrfc :ProsesRansum ResetMatriks3(matriks3,row,kolom) return matriks3 ResetRhs(rhs2,row) return rhs dijalankan bila kondisi belum optimal
JumlahArtificial(jumlahArtificialSisa2,koef_vb) return jumlahArtificialSisa2 indeksartificial2(indeksartificial2,koef_vb,jumlahArtificialSisa2) return indeksartificial2 MatrikTahap2(data) return matriks11_f2 return isOptimal(Optimal) dijalankan bila kondisi sudah optimal. sistem akan merubah matrik kendala dan melanjutkan ke fase 2
koefBasisTahap2(data) return koef2_vb
rhsTahap2(data) return rhs_Thp2
Z(Z2,koef2_vb,matriks11_f2, kolom2, row2) return Z C_Z(C_Z2,Z2,tujuan, kolom2) return C_Z terbesar_CZ(C_Z2,kolom2) return indeksMax jumlah_angka_minus(indeksMax2,matriks11_f2,row2) return jumlah_angka matrik_angka_minus(matris11_f2,indeks Max2,jumlah_angka2,row2,angka2) retrun angka rasio(rasio_f2,rhs_Thp2,matriks11-f2,indeksMax2,row2) return rasio terkecil_rasio(jumlah_angka2,angka2,rasio_f2,row2) retrun indeksMin
:admin/pemakai :FormulaIntrfc :ProsesRansum
testForOptimality(C_Z,kolom2) return return isOptimal(BelumOptimal)
rubah_matrik(data) return matriks3 rubah_rhs(data) return rhs2 ResetAngka(angka2,jumlah_angka2) return angka ResetRhs(rhs_Thp2,row2) return rhs ResetRasio(rasio_f2,row2) return rasio ResetZ(Z2,kolom2) return Z ResetCZ(C_Z2,kolom2) retrun C_Z ResetMatriks2(matriks11_f2,row2,kolom2) return matriks2 rubahIsiMatriks2(matriks11_f2,matriks2_f2,row2,kolom2) return matriks2 rubahIsiRhs(rhs_Thp2,rhs2_f2,row2) return rhs ResetMatriks3(matriks2_f2,row2,kolom2) return matriks3 ResetRhs(rhs2_f2,row2) return rhs dijalankan bila kondisi blm optimal, pada fase 2
Gambar 3.22 Sequence Diagram Ransum
:adm in/pem akai :Form ulaIntrfc :P rosesR ansum
return isO ptim al(S udahO ptim al) kom posisi(kom posisi,rhs_Thp2,vb2,s,row 2)
return kom posisi Total_K om posisi(kom posisi,s)
return total_kom posisi harga_bahan(harga_bahan,tujuan,s)
return harga_bahan
nilai_P ersam aanA w al(kom posisi,m atriksK oreksi,hasilP erkalian,row ,s) return hasilP erkalian
Insert_tabelTem porary(hasilP erkalian,rhsK oreksi,row dijalankan bila
kondisi sudah optim al, pada fase 2
deleteTem porary() pem bulatan_data_rhs_akhir()
return rhs_akhir pem bulatan_data_rhs_aw al()
return rhs_aw al
koreksi_N ilaiH asilP erhitungan(data) return hasilK oreksi
cek hasilK oreksi
kandungan_nutrisi(data) return kandungan _nutrisi dijalankan bila
kondisi hasilK oreksi benar atau true
:hasilForm ulasiIntrfc :R ansum :kom posisi
TotalK om posisi return TotalK om posisi
H argaB ahan return H argaB ahan m eletakkan hasil form ulasi m enam pilkan hasil form ulasi
m enyim pan hasil form ulasi
data form ulasi
addK om posisi
addR ansum return konfirm asi
return konfirm asi return konfirm asi
j. Sequence Diagram Lihat Data Bahan Pakan
:Pemakai :MainMenuInterface :LihatInterface btnLihatData()
IsiTabelBahan_FormLihat()
IsiTabelTernak_FormLihat()
IsiTabelRansum_FormLihat()
menampilkan tampilan lihat()
:BahanPakan :Ternak :Ransum
meletakkan data ke tabel bahan
meletakkan data ke tabel ternak
meletakkan data ke tabel ransum
Gambar 3.23 Sequence Diagram Lihat Data Bahan Pakan
k. Sequence Diagram Lihat Data Ternak :Pemakai :MainMenuInterface :LihatInterface
btnLihatData()
IsiTabelBahan_FormLihat()
IsiTabelTe ak_FormLihat()rn
IsiTab Ransum_FormLihat()el
menampilkan tampilan lihat()
:BahanPakan :Ternak :Ransum
meletakka data ke tabel bahann
mel takkan data ke tabel ternake
meletakkan data ke tabel ransum
l. Sequence Diagram Lihat Data Ransum
:Pemakai :MainMenuInterface :LihatInterface btnLihatData()
IsiTabelBahan_FormLihat()
IsiTabelTernak_FormLihat()
IsiTabelRansum_FormLihat()
menampilkan tampilan lihat()
:BahanPakan :Ternak :Ransum
meletakkan data ke tabel bahan
meletakkan data ke tabel ternak
meletakkan data ke tabel ransum
Gambar 3.25 Sequence Diagram Lihat Data Ransum