• Tidak ada hasil yang ditemukan

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

Dokumen terkait