• Tidak ada hasil yang ditemukan

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

th

edition, 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

th

printing, 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

th

edition,

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

User

Teka 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

User

Teka 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.51

46 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.49

70 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 100

113 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);

Dokumen terkait