Bab V. KESIMPULAN DAN SARAN
V.2 Saran
Saran yang diperlukan untuk pengembangan program lebih lanjut adalah :
1. Sistem bisa membedakan pengadaan obat dengan bentuk yang bervariasi
seperti cream dan syrup tidak hanya terbatas pada tablet atau strip saja,
sehingga rekomendasi yang dihasilkan akan lebih baik lagi.
2. Sistem ditambah fasilitas yang memungkinkan user untuk mengubah
model rekomendasi pengadaan obat.
99
DAFTAR PUSTAKA
Connolly, T and Begg, C. (2010), Database Systems : A Practical Approach
to Design, Implementation, and Management 5
thedition, Addison-Wesley
Drug and Therapeutics Comittees (2003), Analysis of Aggregate Medicine
Use Data, A Practical Guide
Dwiningsih, N. (2009), Manajemen Persediaan, Modul Kuliah Bab 9
www.stekpi.ac.id diakses tanggal 30 Januari 2012
Harjono, Tri (2011), Evaluasi Pengadaan Narkotika dan Psikotropika Di
Apotek-Apotek Kabupaten Bantul Periode Januari – Juni 2010
Menggunakan Analisis Pareto ABC dan Moving Average Total, Skripsi,
Universitas Sanata Dharma, Yogyakarta
Oakland, John S (2008), Statistical Process Control, Elsevier Linacre
House, Jordan Hill, Oxford
Peraturan Pemerintah Republik Indonesia (2009), Peraturan Pemerintah
Republik Indonesia No.51 Tahun 2009 Tentang Pekerjan Kefarmasian,
www.depkes.go.id, diakses tanggal 30 Januari 2012
Quick, J.D., Hume, M.L., Rankin, J.R., O’Connor, R.M.L, O’Connor, R.W
(1997), Managing Drug Supply,ManagementSciences for Health, 7
thprinting, Boston, Massachussets, pp.633
Turban, Efraim (1995), Decision Support and Expert System : Management
Support Systems, Fourth Edition,Prentice-Hall, Inc.,United State.
Whitten, Jeffrey L (2004), System Analysis ang Design Methods 6
thedition,
100
Wild, Tony (1997), Best Practice in Inventory Management, Woodhead
Publishing, Canada
Zulfikarijah, Fien (2005), Manajemen Persediaan,Penerbit Universitas
Muhammadiyah Malang , Malang, pp.5
_________(2005), What Are the Benefits of Pareto Analysis ?
www.ehow.com diakses tanggal 7 Juli 2012
Schroeder, Roger G. (1989), Manajemen Operasi Pengambilan Keputusan
dalam Fungsi Operasi Edisi 3, Penerbit Erlangga, Jakarta.
101
LAMPIRAN
Lampiran 1 Narasi Use-case
1.1 Use-case Input Data Pemakaian Sediaan
Nama Use-case
:
Input data pemakaian
sediaan
Jenis use-case
Kebutuhan operasional
ID Usecase : PAR-01
Prioritas : Tinggi
Pelaku bisnis
utama :
Apoteker
Deskripsi : Use-case ini menggambarkan proses menginputkan data
pemakaian sediaan ke dalam sistem.
Kondisi awal : Apoteker telah masuk ke halaman utama sistem.
Pemicu : Use-case ini digunakan apabila user ingin melakukan analisis
Pareto ABC dan mencari rekomendasi.
Urutan aktifitas
normal :
Aksi aktor Tanggapan sistem
Langkah 1 :
User menekan tombol
menu “Input Data”
Langkah 3 :
User menekan tombol
menu “Input File”
Langkah 5 :
User menekan tombol
“Browse”
Langkah 7 :
User memilih file data
yang akan digunakan,
kemudian meneken
tombol “Open”
Langkah 9 :
User menekan tombol
“Simpan”
Langkah 2 :
Sistem menampilkan halaman
Input Data
Langkah 4 :
Sistem menampilkan halaman
Input File
Langkah 6 :
Sistem membuka halaman
Browse (file selector)
Langkah 8 :
Sistem menampilkan data
masukan
Langkah 10:
Sistem menyimpan data ke
dalam database.
Langkah11:
Sistem menampilkan pesan
bahwa data berhasil disimpan
dalam database.
Aktifitas
alternatif :
Aksi aktor Tanggapan sistem
Langkah Alternatif 3 :
User menekan tombol
“Halaman Utama”
Langkah Alternatif 5 :
User menekan tombol
“Cancel”
Langkah Alternatif 4 :
Sistem menampilkan Halaman
Utama.
Langkah Alternatif 6 :
Sistem kembali menampilkan
Halaman Input File
Kesimpulan : Dalam use-case ini user telah memasukan data yang
dibutuhkan sistem dalam analisis Pareto ABC.
Kondisi akhir : Sistem berhasil menyimpan masukan data dari user.
Prosedur bisnis : User harus memasukkan data dengan benar
102
Batasan
implementasi
dan spesifikasi :
Data yang diinputkan harus sesuai format yaitu .xls atau .xlsx
1.2 Use-case Input Alokasi Biaya
Nama Use-case
:
Input alokasi biaya Jenis use-case
Kebutuhan operasional
ID Usecase : PAR-02
Prioritas : Tinggi
Pelaku bisnis
utama :
Apoteker
Deskripsi : Use-case ini menggambarkan proses menginputkan jumlah
biaya yang disediakan ke dalam sistem
Kondisi awal : Apoteker telah masuk ke halaman Input Data
Pemicu : Use-case ini digunakan apabila user ingin melakukan
analisis Pareto ABC dan mencari rekomendasi.
Urutan aktifitas
normal :
Aksi aktor Tanggapan sistem
Langkah 1 :
User menekan tombol
menu “Input Biaya”
Langkah 3 :
User memasukan alokasi
biaya yang disediakan
Langkah 4 :
User menekan tombol
“Simpan”
Langkah 2 :
Sistem menampilkan halaman
Input Biaya
Langkah 6 :
Sistem menyimpan masukan
biaya ke database
Langkah 7 :
Sistem menampilkan pesan
bahwa biaya telah berhasil
disimpan
Aktifitas
alternatif :
Aksi aktor Tanggapan sistem
Langkah Alternatif 2 :
User menekan tombol
“Halaman Utama”
Langkah Alternatif 3 :
Sistem menampilkan Halaman
Utama
Kesimpulan : Dalam use-case ini user memasukkan alokasi biaya ke dalam
sistem untuk pencarian rekomendasi.
Kondisi akhir : Sistem berhasil menyimpan masukan biaya dari user.
Prosedur bisnis : User harus memasukkan data dengan benar
Batasan
implementasi
dan spesifikasi :
Data yang diinputkan harus sesuai format
1.3 Use-case Input Skor Pareto
Nama Use-case
:
input skor Pareto Jenis use-case
Kebutuhan operasional
ID Usecase : PAR-03
Prioritas : Tinggi
Pelaku bisnis
utama :
Apoteker
103
pareto untuk setiap kelas ke dalam sistem
Kondisi awal : Apoteker telah masuk ke halaman Input Data
Pemicu : Use-case ini digunakan apabila user ingin melakukan
analisis Pareto ABC dan mencari rekomendasi.
Urutan aktifitas
normal :
Aksi aktor Tanggapan sistem
Langkah 1 :
User menekan tombol
menu “Input Skor Pareto”
Langkah 3 :
User memasukan skor
Pareto ke dalam tabel
Langkah 4 :
User menekan tombol
“Simpan”
Langkah 2 :
Sistem menampilkan halaman
Input Skor Pareto
Langkah 5 :
Sistem menyimpan masukan
skor Pareto ke dalam database
Langkah 6 :
Sistem menampilkan pesan
bahwa data skor Pareto telah
berhasil disimpan
Aktifitas
alternatif :
Aksi aktor Tanggapan sistem
Langkah Alternatif 2 :
User menekan tombol
“Halaman Utama”
Langkah Alternatif 3 :
Sistem menampilkan Halaman
Utama
Kesimpulan : Dalam use-case ini user mendapatkan rekomendasi
kelompok obat yang sesuai dengan kebutuhan apotek mereka
berdasarkan data pemakaian sediaan.
Kondisi akhir : Data skor Pareto berhasil disimpan oleh sistem
Prosedur bisnis : User harus memasukkan data dengan benar
Batasan
implementasi
dan spesifikasi :
Data yang diinputkan harus sesuai format
1.4 Use-case Analisis Pareto ABC
Nama Use-case
:
Analisis Nilai Pakai Jenis use-case
Kebutuhan operasional
ID Usecase : PAR-04
Prioritas : Tinggi
Pelaku bisnis
utama :
Apoteker
Deskripsi : Use-case ini menggambarkan proses analisis nilai pakai,
nilai investasi, dan nilai indeks kritis oleh sistem
Kondisi awal : User berada pada halaman utama sistem
Pemicu : Use-case ini digunakan apabila user ingin mendapatkan hasil
analisis nilai pakai
Urutan aktifitas
normal :
Aksi aktor Tanggapan sistem
Langkah 1 :
User menekan tombol
menu “Analisis Pareto
ABC”
Langkah 3 :
User menekan tombol
“Nilai Pakai”
Langkah 2 :
Sistem menampilkan halaman
Analisis Pareto ABC
Langkah 4 :
104
Langkah 7 :
User menekan tombol
“Nilai Investasi”
Langkah 11 :
User menekan tombol
“Nilai Indeks Kritis”
analisis nilai pakai
Langkah 5:
Sistem menampilkan hasil
analisis nilai pakai ke dalam
JTable
Langkah 6 :
Sistem menampilkan pesan
bahwa hasil analisis telah
ditampilkan
Langkah 8 :
Sistem melakukan proses
analisis nilai investasi
Langkah 9:
Sistem menampilkan hasil
analisis nilai investasi ke
dalam JTable
Langkah 10 :
Sistem menampilkan pesan
bahwa hasil analisis telah
ditampilkan
Langkah 12 :
Sistem melakukan proses
analisis nilai indeks kritis
Langkah 13:
Sistem menampilkan hasil
analisis nilai indeks kritis ke
dalam JTable
Langkah 14 :
Sistem menampilkan pesan
bahwa hasil analisis telah
ditampilkan
Aktifitas
alternatif :
Aksi aktor Tanggapan sistem
Langkah Alternatif7 :
User menekan tombol
“Lihat Grafik”
Langkah Alternatif 7 :
User menekan tombol
“Cetak”
Langkah Alternatif 8 :
Sistem menampilkan grafik
hasil analisis
Langkah Alternatif 8:
Sistem menjalankan fungsi
cetak hasil analisis
Kesimpulan : Dalam use-case ini user mendapatkan hasil analisis nilai
pakai dari sistem
Kondisi akhir : Sistem dapat menampilkan hasil analisis nilai pakai
Prosedur bisnis : User harus melakukan analisis sesuai dengan langkah yang
ditentukan.
Batasan
implementasi
dan spesifikasi :
Analisis harus dilakukan secara urut
1.5 Use-case Mencari Rekomendasi Pengadaan Obat
Nama Use-case
:
Mencari rekomendasi
pengadaan obat
Jenis use-case
Kebutuhan operasional
105
ID Usecase : PAR-05
Prioritas : Tinggi
Pelaku bisnis
utama :
Apoteker
Deskripsi : Use-case ini menggambarkan proses pencarian rekomendasi
oleh sistem
Kondisi awal : User berada pada halaman utama
Pemicu : Use-case ini digunakan apabila user ingin mendapatkan hasil
rekomendasi
Urutan aktifitas
normal :
Aksi aktor Tanggapan sistem
Langkah 1 :
User menekan tombol
menu “Cari Rekomendasi”
Langkah 3 :
User menekan tombol
“Rekomendasi 1”
Langkah 7 :
User menekan tombol
“Rekomendasi 2”
Langkah 10 :
User menekan tombol
“Rekomendasi 3”
Rekomendasi 12 :
User memasukkan batas
maksimum selisih
Langkah 14 :
User menekan tombol
“Halaman Utama”
Langkah 2:
Sistem menampilkan halaman
Cari Rekomendasi
Langkah 4:
Sistem melakukan perhitungan
untuk rekomendasi 1
Langkah 5:
Sistem menampilkan hasil
perhitungan rekomendasi 1 ke
JTable
Langkah 6:
Sistem menampilkan pesan
sukses
Langkah 8 :
Sistem melakukan perhitungan
untuk rekomendasi 2
Langkah 9 :
Sistem menampilkan hasil
perhitungan rekomendasi 2 ke
JTable
Langkah 11 :
Sistem menampilkan pesan
input maksimum selisih biaya
awal dan total investasi.
Langkah 12 :
Sistem menyimpan masukan
dan melakukan perhitungan
untuk rekomendasi sistem
Langkah 13 :
Sistem menampilkan hasil
perhitungan rekomendasi
sistem
Aktifitas
alternatif :
Aksi aktor Tanggapan sistem
Langkah Alternatif 7 :
User menekan tombol
“Modifikasi Pengadaan”
Langkah Alternatif 7:
User menekan tombol
“Cetak”
Langkah Alternatif 8 :
Sistem menjalankan fungsi
modifikasi jumlah pengadaan
obat
Langkah Alternatif 8:
Sistem menjalankan fungsi
cetak hasil rekomendasi.
106
Kesimpulan : Dalam use-case ini user mendapatkan hasil rekomendasi
pengadaan obat
Kondisi akhir : Sistem dapat menampilkan rekomendasi
Prosedur bisnis : User harus melakukan analisis Pareto ABC terlebih dahulu.
Batasan
implementasi
dan spesifikasi :
User harus memasukan batas maksimum selisih sesuai
format
Lampiran 2 Diagram Aktivitas
2.1 Diagram Aktivitas Input Data Pemakaian Sediaan
User
Teka to bol I put Data Menampilkan halaman Input Data
Teka to bol I put File Menampilkan halaman Input File
Teka to bol Bro se Teka to bol Ope
Menampilkan isi file ke
JTable
Teka to bol Si pa Menyimpan data ke database
Awal
Menampilkan halaman Browse (JFileChooser)
Menampilkan pesan data berhasil disimpan
Sistem
Menampilkan pesan format tidak sesuai Membaca file
sesuai
Tidak sesuai
Akhir
Gambar 2.1 Diagram Aktivitas Input Data Pemakaian Sediaan
2.2 Diagram Aktivitas Input Alokasi Biaya
User
Teka to bol I put Biaya Menampilkan halaman Input Biaya
Masukan alokasi biaya
Teka to bol Si pa
Awal
Menyimpan masukan biaya ke database
Menampilkan pesan data berhasil disimpan
Sistem
Akhir
107
2.3 Diagram Aktivitas Input Skor Pareto
UserTeka to bol I put Skor
Pareto Menampilkan halaman Input Skor
Masukan skor Pareto
Teka to bol Si pa Awal
Menyimpan masukan biaya ke database
Menampilkan pesan data berhasil disimpan
Sistem
Akhir
Gambar 2.3 Diagram Aktivitas Input Skor Pareto
2.4 Diagram Aktivitas Analisis Pareto ABC
User
Teka to bol A alisis Pareto ABC Menampilkan halaman Analisis
Teka to bol Nilai Pakai Melakukan proses analisis nilai
pakai
Teka to bol Nilai I estasi
Teka to bol Nilai I deks Kritis Awal
Menampilkan hasil analisis nilai pakai ke JTable
Menampilkan hasil analisis nilai indeks kritis ke JTable
Sistem
Melakukan proses analisis nilai investasi
Akhir Menampilkan hasil analisis nilai
investasi Ke JTable
Melakukan proses analisis nilai indeks kritis
108
2.5 Diagram Aktivitas Mencari Rekomendasi Pengadaan Obat
UserTeka to bol Cari Reko e dasi Menampilkan halaman Rekomendasi
Teka to bol Reko e dasi 1 Melakukan proses hitung untuk rekomendasi 1
Teka to bol Reko e dasi 2
Teka to bol Reko e dasi 3 Awal
Menampilkan hasil rekomendasi1
ke JTable
Menampilkan hasil rekomendasi 3 ke JTable
Sistem
Melakukan proses hitung untuk rekomendasi 2
Akhir Menampilkan hasil rekomendasi
2 ke JTable
Melakukan proses hitung rekomendasi 3
Menampilkan perintah masukan maksimum selisih biaya awal dengan
total investasi
Teka to bol Reko e dasi 3
Gambar 2.5 Diagram Aktivitas Mencari Rekomendasi Pengadaan Obat
Lampiran 3 Data Pemakaian Sediaan Farmasi Tahun 2011
No. Nama Obat Jumlah Harga
pemakaian (butir) satuan (Rp)
1 Amoxycillin 500 19075 370 2 Kalium diklofenak 50mg 1108 2584 3 Lincomycin 500 2580 650 4 Asam Mefenamat 500mg 11670 131.95 5 Simvastatin 10mg 2768 513 6 Captopril 25mg 9315 137.75 7 Acyclovir cr 5% 403 3000 8 Methylpredinisolone 4mg 1776 509.25 9 Paracetamol 500mg strip 8428 105 10 Vit B1 100mg 7153 98.88
109
11 Ciproflaxacin 500 2604 265 12 Bisoprolol tab 5mg 297 2321.67 13 Ampicillin 500 1656 370 14 Aminophylin 200mg 9020 65 15 Ketokonazol cr 2% 83 7000 16 Glimepiride 2mg 340 1638.04 17 Glibenclamide 9255 60 18 Amoxycillin 125mg syr 160 3400 19 Co Amoxyclav 625mg 112 4840 20 Ketokonazol tab 200mg 1391 372 21 Cefadroxil 500 704 700 22 meloxicam 7.5mg 523 940.5 23 Miconazole Cr 159 3000 24 Cefixime 100mg tab 199 2394.6 25 Cetirizine 1506 313.5 26 Paracetamol syr 271 1725 27 Lanzoprazol 30mg 277 1672 28 Metformin 500mg 3100 149 29 Prednison 5 9835 40 30 Spiramycin 500mg 581 625.42 31 Hidrocortison cr 2.5% 146 2484.5 32 Captopril 12.5mg 4913 70.9 33 Allopurinol tab 100mg 2901 120 34 Nifedipin 3050 107.85 35 Meloxicam 15mg 222 1410.76 36 Gemfibrozil 300mg 1146 265.64 37 Acyclovir 400mg 460 571.33 38 Natrium Diclofenac 50 1197 217.68 39 Tanitidin 150mg 1285 200 40 Methylpredinisolone 16mg 191 1341.09 41 Codein 10mg 651 388.44 42 Glyceril Guaicolas 100mg 9671 23.24 43 Betahistin 220 924 44 Piracetam 800mg 238 836 45 Ibuprofen tab 400mg 1228 147.5146 Deksametason tab 0.5mg los 4694 38.54
47 Natrium Diclofenac 25 1048 167.68 48 Clobazam 180 950 49 Trisulfa 789 215.6 50 Acyclovir 200mg 414 388.18 51 Antalgin 500mg strip 590 260 52 Piracetam 400mg 300 501.6 53 Haloperidol tab 5mg 1227 122.29
110
54 Diltiazem tab 30mg 929 151.63 55 Amoxycillin 250 591 238 56 Phenobarbital 30mg 4494 31 57 Calcium laktate 3527 39.33 58 Gentamycin 0.1% ZK 80 1650 59 Rifampisin 450mg 290 450 60 Ethambutol tab 250mg 230 534.99 61 Rifampisin 600mg 172 703.15 62 Clindamycin 300mg 160 752.75 63 Kalium diklofenak 25mg 300 390.84 64 Omeprazol 20mg 275 408.33 65 Piracetam 1200mg 85 1320 66 Erythromycin 250 328 337.82 67 Piroxicam 20 1032 105 68 Ofloxacin 200 173 590.1 69 Salbutamol 4mg 1045 97.4970 Dextrometorphan tab 15mg los 1009 99
71 Paracetamol 500mg los 2101 45.5 72 CTM 4mg 5270 17.16 73 Amitriptylin 25 963 92.1 74 PTU 100 291 299.57 75 Cotrimaxazol suspensi 12 7230 76 Salbutamol 2mg 974 84.03 77 Ambroxol syr 31 2584 78 Trihexyphenidyl 2mg 1955 40.77 79 Ofloxacin 400 90 873 80 Thiamphenicol 500 187 409.44 81 Gliquidon tab 30mg 130 586.63 82 Captopril 50mg 330 224.38 83 Clonidin 0.15 340 205 84 Levofloxacin 500mg 60 1153.68 85 Metronidazol 500mg 499 135
86 Antasida DOEN strip 701 91.17
87 Piroxicam 10 843 75 88 Domperidon tab 10mg 156 403.62 89 Vit B12 50mcg 5004 12.36 90 Carbamazepin 200mg 250 246.45 91 Loratadin 10mg 180 333.08 92 Isosorbid dinitrat 5mg 915 65.24 93 Betametason cr 1% 32 1800 94 Glimepiride 1mg 65 868.66 95 Tetracylin 500 128 409.44 96 Digoxin tab 0.25mg 617 83.21
111
97 INH 300mg 760 66.14 98 Papaverin 40mg 753 63 99 HCT 25 1876 24.64 100 Pyrazinamid 500mg 210 220 101 Doxicycline 220 209.04 102 Amlodipin 5mg 570 80.67 103 Chlorampenichol 3% TT 44 1000 104 Methylergometrin 400 109.96 105 Ephedrin HCl 2119 20.74 106 Furosemid tab 40mg 670 65.42 107 Allopurinol tab 300mg 190 222.93 108 Rifampisin 300mg 116 350 109 Clindamycin 150mg 50 752.75 110 Griseofulvin tab 125mg 334 110.97 111 Pyrantel 125 239 149.87 112 Cotrimaxazol 480 (dewasa) 353 100113 Antasida DOEN syr 13 2643
114 Extract Belladon 1762 17.89 115 Cimetidin 421 72.26 116 Cefiximine 100mg syr 1 30250 117 Vit B1 50mg 1224 23.88 118 Haloperidol tab 1.5mg 315 82.58 119 Vit B6 10mg 2598 10 120 Spironolakton 25mg 75 346.37 121 Ketoprofen tab 100mg 20 1227.6 122 Risperidon 2mg 10 2375 123 Ambroxol 30mg 1983 11.33 124 Diazepam tab 5mg 766 29 125 Cefadroxil 125 syr 3 7230 126 Ketoprofen tab 50mg 30 704 127 Propanolol 10 330 57.9 128 Amlodipin 10mg 130 141.17 129 Diazepam tab 2mg 766 19.8 130 Dextrometorphan syr 6 2400 131 Antihemoroid 7 2000 132 Ibuprofen tab 200mg 184 73.36 133 Vit B compleks 604 22.2 134 Chlorampenichol 250 82 150.05 135 Metoclorampenichol 250 144 76.3 136 Spironolakton 100mg 10 1054.96 137 Ciproflaxacin 250 40 250 138 Ampicillin 250 40 238 139 Cefixime 50mg tab 165 55.26
112
140 Antasida DOEN los 291 30.53
141 Tetracylin 250 119 73
142 Ampicillin 125 syr 4 2000
143 Chlorampenichol 1% ZM 5 1563
144 Dextrometorphan tab 15mg strip 70 99
145 Chlorampenichol 125mg syr 2 3370
146 Erythromycin syrup 10 534.99
147 Vit B6 25mg 287 18.57
148 Dimenhidrinat tab 50mg 60 84.5
149 Deksametason tab 0.5mg strip 130 38.54
150 HCT 50 100 35 151 Famotidin 20 25 113.1 152 Loperamid 2mg 20 91.55 153 Propanolol 40 20 82.18 154 Metronidazol 250mg 15 105 155 INH 100mg 60 25 156 Ferrous Sulphate 300mg 50 21.86 157 Vit C 100mg 40 26.43 158 Cotrimoxazol (pediatrik) 12 49.86
Lampiran 4 Listing Program
homeForm.java
package view; import java.util.Vector; /** * * @author ncel */public class homeForm extends javax.swing.JFrame {
private Vector link;
// List<Obat> ob = new ArrayList<Obat>();
/** Creates new form homeForm */ public homeForm(Vector link) { initComponents();
this.link = link;
this.setLocationRelativeTo(this); }
/** This method is called from within the constructor to * initialize the form.
* WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {
jPanelKampus = new javax.swing.JPanel(); jLabelYog = new javax.swing.JLabel(); jPanelMenu = new javax.swing.JPanel();
113
jButtonCariRekomendasi = new javax.swing.JButton(); jButtonInputData = new javax.swing.JButton(); jButtonAnalisisPareto = new javax.swing.JButton(); jButtonAbout = new javax.swing.JButton();
jButtonExit = new javax.swing.JButton(); jButtonHelp = new javax.swing.JButton(); jPanelJudul = new javax.swing.JPanel(); jLabelJudul1 = new javax.swing.JLabel(); jLabelJudul2 = new javax.swing.JLabel(); jPanelCopy = new javax.swing.JPanel(); jLabelCopy = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("Home"); setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); jPanelKampus.setBorder(javax.swing.BorderFactory.createTitledBorder("")); jLabelYog.setFont(new java.awt.Font("Arial", 0, 14)); jLabelYog.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelYog.setIcon(new javax.swing.ImageIcon(getClass().getResource("/zcoll/img/homeImageMini.jp g"))); // NOI18N
javax.swing.GroupLayout jPanelKampusLayout = new javax.swing.GroupLayout(jPanelKampus); jPanelKampus.setLayout(jPanelKampusLayout); jPanelKampusLayout.setHorizontalGroup( jPanelKampusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment. LEADING) .addGroup(jPanelKampusLayout.createSequentialGroup() .addContainerGap() .addComponent(jLabelYog, javax.swing.GroupLayout.DEFAULT_SIZE, 484, Short.MAX_VALUE) .addContainerGap()) ); jPanelKampusLayout.setVerticalGroup( jPanelKampusLayout.createParallelGroup(javax.swing.GroupLayout.Alignment. LEADING) .addGroup(jPanelKampusLayout.createSequentialGroup() .addContainerGap() .addComponent(jLabelYog, javax.swing.GroupLayout.PREFERRED_SIZE, 332, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(56, Short.MAX_VALUE)) ); jPanelMenu.setBorder(javax.swing.BorderFactory.createTitledBorder("")); jButtonCariRekomendasi.setText("Cari Rekomendasi"); jButtonCariRekomendasi.setToolTipText("langkah 3 : Mencari rekomendasi pengadaan obat.");
jButtonCariRekomendasi.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCariRekomendasiActionPerformed(evt);
} });
114
jButtonInputData.setText("Input Data");
jButtonInputData.setToolTipText("Langkah 1 : Input data untuk analisis.");
jButtonInputData.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonInputDataActionPerformed(evt);
} });
jButtonAnalisisPareto.setText("Analisis Pareto ABC");
jButtonAnalisisPareto.setToolTipText("Langkah 2 : Proses Analisis Pareto ABC");
jButtonAnalisisPareto.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAnalisisParetoActionPerformed(evt);
} });
jButtonAbout.setText("About");
jButtonAbout.setToolTipText("Melihat informasi tentang sistem."); jButtonAbout.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAboutActionPerformed(evt);
} });
jButtonExit.setText("Exit");
jButtonExit.setToolTipText("Keluar dari sistem.");
jButtonExit.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonExitActionPerformed(evt);
} });
jButtonHelp.setText("Help");
jButtonHelp.setToolTipText("Petunjuk penggunaan sistem.");
jButtonHelp.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonHelpActionPerformed(evt);
} });
javax.swing.GroupLayout jPanelMenuLayout = new javax.swing.GroupLayout(jPanelMenu); jPanelMenu.setLayout(jPanelMenuLayout); jPanelMenuLayout.setHorizontalGroup( jPanelMenuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGroup(jPanelMenuLayout.createSequentialGroup() .addContainerGap() .addGroup(jPanelMenuLayout.createParallelGroup(javax.swing.GroupLayout.Al ignment.LEADING) .addGroup(jPanelMenuLayout.createParallelGroup(javax.swing.GroupLayout.Al ignment.TRAILING, false) .addComponent(jButtonAnalisisPareto, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE,
115
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButtonCariRekomendasi, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButtonInputData, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButtonHelp, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addComponent(jButtonAbout, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 125, Short.MAX_VALUE) .addComponent(jButtonExit, javax.swing.GroupLayout.DEFAULT_SIZE, 125, Short.MAX_VALUE)) .addContainerGap()) ); jPanelMenuLayout.setVerticalGroup( jPanelMenuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGroup(jPanelMenuLayout.createSequentialGroup() .addContainerGap() .addComponent(jButtonInputData, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButtonAnalisisPareto, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButtonCariRekomendasi, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButtonHelp, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButtonAbout, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButtonExit, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(71, Short.MAX_VALUE)) ); jLabelJudul1.setFont(new java.awt.Font("Aparajita", 1, 24)); jLabelJudul1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelJudul1.setText("SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PENGADAAN OBAT");jLabelJudul2.setFont(new java.awt.Font("Aparajita", 1, 24));
jLabelJudul2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelJudul2.setText("Menggunakan Metode Analisis Pareto ABC");
javax.swing.GroupLayout jPanelJudulLayout = new javax.swing.GroupLayout(jPanelJudul);
116
jPanelJudul.setLayout(jPanelJudulLayout); jPanelJudulLayout.setHorizontalGroup( jPanelJudulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.L EADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelJudulLayout.createSequentialGroup() .addContainerGap() .addGroup(jPanelJudulLayout.createParallelGroup(javax.swing.GroupLayout.A lignment.TRAILING) .addComponent(jLabelJudul2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 671, Short.MAX_VALUE) .addComponent(jLabelJudul1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); jPanelJudulLayout.setVerticalGroup( jPanelJudulLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.L EADING) .addGroup(jPanelJudulLayout.createSequentialGroup() .addContainerGap() .addComponent(jLabelJudul1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabelJudul2) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanelCopy.setBorder(javax.swing.BorderFactory.createTitledBorder(""));javax.swing.GroupLayout jPanelCopyLayout = new javax.swing.GroupLayout(jPanelCopy); jPanelCopy.setLayout(jPanelCopyLayout); jPanelCopyLayout.setHorizontalGroup( jPanelCopyLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGap(0, 679, Short.MAX_VALUE) ); jPanelCopyLayout.setVerticalGroup( jPanelCopyLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addGap(0, 11, Short.MAX_VALUE) ); jLabelCopy.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelCopy.setText("Tugas Akhir Ancel 2012");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap()
117
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING) .addComponent(jPanelJudul, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addComponent(jPanelKampus, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(18, 18, 18) .addComponent(jPanelMenu, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabelCopy, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 691, Short.MAX_VALUE) .addComponent(jPanelCopy, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanelJudul, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE ADING, false) .addComponent(jPanelMenu, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanelKampus, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(18, 18, 18) .addComponent(jLabelCopy, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jPanelCopy, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) ); pack(); }// </editor-fold> private void jButtonInputDataActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here:inputFileXlsForm data = new inputFileXlsForm(link); data.setVisible(true);
this.dispose();
118
private void
jButtonCariRekomendasiActionPerformed(java.awt.event.ActionEvent evt) { rekomendasiSemuaForm cari = new rekomendasiSemuaForm(link);
cari.setVisible(true); this.dispose();
}
private void jButtonHelpActionPerformed(java.awt.event.ActionEvent evt) {
helpForm help = new helpForm(link); help.setVisible(true);
this.dispose();
}
private void jButtonAboutActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:\ aboutForm about = new aboutForm(link); about.setVisible(true);
this.dispose();
}
private void
jButtonAnalisisParetoActionPerformed(java.awt.event.ActionEvent evt) { analisisForm analisis = new analisisForm(link);
analisis.setVisible(true);