SISTEM PENDUKUNG KEPUTUSA DENGAN METOD S Skripsi ini

advertisement
1
SISTEM PENDUKUNG KEPUTUSAN ANALISIS POLA PEMBELIAN PRODUK
DENGAN METODE ALGORITMA APRIORI
SKRIPSI
Skripsi ini sebagai salah satu syaraat untuk memperoleh gelar sarjana Teknik Informatika
Universitas Pembangunan Nasional “Veteran” Yogyakarta
Disusun oleh:
Denny Henrry Bonai
123070008
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”YOGYAKARTA
2011
2
KATA PENGANTAR
Puji syukur Penulis
panjatkan kepada Tuhan Yesus Kristus, karena dengan
pertolonganNya penulis dapat menyelesaikan skripsi ini sesuai dengan waktu yang
diharapkan.Pembuatan skripsi ini adalah suatu syarat untuk menyelesaikan tugas akhir di
Universitas Pembangunan Nasional Veteran Yogyakarta.Dalam penyusunan skripsi ini telah
banyak pihak yang turut membantu sehingga skripsi ini dapat terselesaikan dengan baik.
Untuk itu penulis ingin menyampaikan terimakasih kepada:
1. Ibu Willis Kaswidjanti,S.si.,M.Kom selaku dosen pembimbing I dan Bapak Frans Richard
Kodong,ST.,M.Kom
selaku
dosen
pembimbing
II
yang
telah
memberikan
bimbingan,nasehat dan arahan kepada penulis.
2. Ibu Juwairiah,S.Si.,MT selaku koordinator Skripsi.
3. Bapak Herry Sofyan,ST.,M.Kom selaku Ketua Jurusan Teknik Informatika UPN
‘V’Yogyakarta beserta para dosen dan seluruh karyawan Tata usaha atas bantuan yang
diberikan selama penulis mengikuti studi.
4. Secara khusus penulis ingin mengucapkan terima kasih kepada kedua orang tua dan kedua
saudara yaitu aqnes dan oky yang selalu mendukung dalam bentuk moril maupun materil
sehingga penulis dapat menyelesaikan studi dengan baik.
5. Buat Serdadu 07 terima kasih atas semua dukungan yang di berikan,salam kompak selalu.
Akhirnya semua penulis kembalikan kepada Tuhan Yang Maha Esa, karena atas
rahmatNya penulis dapat membuat skripsi ini. Semoga skripsi ini dapat bermanfaat dan
menjadi sesuatu karya yang memberi dampak positif.
Yogyakarta,20 September
Penulis
3
DAFTAR ISI
BAB I PENDAHULUAN......................................................................................................1
1.1 Latar Belakang Masalah................................................................................................. 1
1.2 Rumusan Masalah........................................................................................................... 2
1.3 Batasan Masalah.............................................................................................................. 2
1.4 Tujuan Penelitian................................................................................................. ........... 2
1.5 Manfaat penelitian........................................................................................................... 3
1.6 Metedologi Penelitian...................................................................................................... 3
1.7 Sistematika Penulisan...................................................................................................... 3
BAB II DASAR TEORI........................................................................................................ 5
2.1 Konsep Sistem Pendukung Keputusan............................................................................ 5
2.2 Komponen Sistem Pendukung Keputusan...................................................................... 9
2.3 Algoritma Apriori............................................................................................................ 10
2.3.1 Konsep Aturan Asosiasi Dengan Algoritma Apriori........................................ ........... 10
2.3.2 Analisis Asosiasi Dengan Algoritma Apriori............................................................... 12
2.4 Data Flow Diagram (DFD ............................................................................................. 18
2.5 Basis Data........................................................................................................................ 19
2.5.1 Konsep Data Base dan Terminologi..... ....................................................................... 21
2.5.1.1 Entitas Dan Relationship........................................................................................... 21
2.6 Waterfall.......................................................................................................................... 22
2.7 Microsoft visual Basic..................................................................................................... 23
2.7.1 Microsoft SQL Server................................................................................................... 25
2.7.1.1 SQL query.................................................................................................................. 25
2.7.1.2 DDL (data definition languange).............................................................................. 26
2.7.1.3 DML (data manipulation languange)........................................................................ 26
2.8 Studi Pustaka................................................................................................................... 27
BAB III ANALISIS DAN PERANCANGAN...................................................................... 28
3.1 Perancangan Sistem......................................................................................................... 28
3.1.1 Arsitektur Sistem Pendukung Keputusan.................................................................... 28
3.1.2 Rancangan Proses........................................................................................................ 29
3.2 Flowchart ....................................................................................................................... 33
3.3 Rancangan Basis Data..................................................................................................... 34
3.3.1 ERD (entity relationship diagram)................................................................... ........... 34
3.3.2 Struktur Tabel............................................................................................................... 36
3.3.3 Relasi Antar Tabel........................................................................................................ 38
3.4 Rancangan Struktur Menu............................................................................................... 39
3.5 Rancangan Antar Muka(uses interface).......................................................................... 39
3.5.1 Rancangan Halaman Login.......................................................................................... 39
3.5.2 Rancangan Halaman Home karyawan.............................................................. ........... 40
3.5.3 Rancangan Halaman Home Pemilik Swalayan............................................................ 41
3.5.4 Rancangan Halaman Data Barang.................................................................... ........... 41
3.5.5 Rancangan Halaman Data Penjualan................................................................ ........... 43
3.5.6 Rancangan Halaman Data Kategori............................................................................. 44
4
3.5.7 Rancangan Halaman Perhitungan (DSS).......................................................... ........... 45
3.5.8 Rancangan Halaman Lihat Sketsa............................................................................... 46
3.5.9 Rancangan Halaman Alternatif.................................................................................... 47
BAB IV IMPLEMENTASI....................................................................................... ........... 48
4.1 Spesifikasi Perangkat Keras............................................................................................ 48
4.2 Spesifikasi Perangkat Lunak .......................................................................................... 48
4.3.1 Implementasi Aplikasi Program................................................................................... 48
4.3.2 Halaman Utama Menu.................................................................................................. 50
4.3.3 Halaman Data kategori................................................................................................. 54
4.3.4 Halaman Halaman Data Barang................................................................................... 57
4.3.5 Halaman Data Penjualan.............................................................................................. 66
4.3.6 Halaman Data user....................................................................................................... 48
4.3.7 Halaman Data Perhitungan........................................................................................... 69
4.3.8 Halaman Data Alternatif............................................................................................... 74
4.3.9 Halaman Data Pendukung Keputusan.......................................................................... 76
BAB V PENUTUP................................................................................................................ 77
5
DAFTAR GAMBAR
Gambar 3.1 Arsitektur SPK................................................................................................... 29
Gambar 3.2 DFD level O........................................................................................... ........... 31
Gambar 3.3 DFD level 1....................................................................................................... 30
Gambar 3.4 DFD level 2 Proses 3......................................................................................... 32
Gambar 3.5 Flowchart........................................................................................................... 33
Gambar 3.6 Rancangan ERD................................................................................................ 35
Gambar 3.7 Relasi Antar Tabel............................................................................................ 38
Gambar 3.8 Rancangan Struktur Menu................................................................................. 39
Gambar 3.9 Rancangan Halaman Login................................................................................40
Gambar 3.10 Rancangan Halaman Menu Utama Karyawan.................................................40
Gambar 3.11 Rancangan Halaman Menu Utama Pemilik swalayan............. ....................... 41
Gambar 3.12 Rancangan Halaman Data Barang................................................................... 42
Gambar 3.13 Rancangan Halaman Data penjualan............................................................... 43
Gambar 3.14 Rancangan Halaman Data Kategori................................................................ 44
Gambar 3.15 Rancangan Halaman Perhitungan (DSS.......................................................... 45
Gambar 3.16 Rancangan Halaman Data User....................................................................... 46
Gambar 4.1 Halaman Login.................................................................................................. 49
Gambar 4.2 Halaman Menu Utama Pemilik swalayan.......................................................... 51
Gambar 4.3 Halaman Menu utama Karyawan...................................................................... 51
Gambar 4.4 Halaman Data Kategori..................................................................................... 54
Gambar 4.5 Halaman Data barang........................................................................................ 58
Gambar 4.6 Halaman Data Penjualan....................................................................................62
Gambar 4.7 Halaman Data user.............................................................................................66
Gambar 4.8 Halaman Data Perhitungan................................................................................ 70
Gambar 4.9 Halaman Data Alternatif.................................................................................... 74
Gambar 4.10 Halaman Data Pendukung keputusan.............................................................. 76
6
DAFTAR TABEL
Tabel 2.1 Tabel Transaksi......................................................................................... 14
Tabel 2.2 Tabel Representasi data transaksi dalam data base Transaksional............ 14
Tabel 2.3 Tabel Format Tabular dan data Transaksi................................................. 14
Tabel 2.4 Lanjutan Tabel Format Tabular dan data Transaksi.................................. 15
Tabel 2.5 Tabel calon 2 item set................................................................................ 16
Tabel 2.6 Tabel Calon 3 item set............................................................................... 17
Tabel 2.7 Tabel Calon Aturan Asosiasi dari f3......................................................... 17
Tabel 2.8 Tabel Calon Aturan Asosiasi dari F2........................................................ 18
Tabel 2.9 Tabel Aturan asosiasi final........................................................................ 18
Tabel 2.11 Tabel Notasi Dasar DFD......................................................................... 19
Tabel 3.1 Tabel Kategori........................................................................................... 36
Tabel 3.2 Tabel Tabel Barang................................................................................... 36
Tabel 3.3 Tabel Penjualan......................................................................................... 36
Tabel 3.4 Tabel Detil Penjualan................................................................................ 37
Tabel 3.5 Tabel Perhitungan...................................................................................... 37
Tabel 3.6 Tabel Alternatif......................................................................................... 37
Tabel 3.7 Tabel User................................................................................................. 38
7
DAFTAR Modul
Modul 4.1 Halaman Login........................................................................................ 49
Modul 4.2 Lanjutan Login......................................................................................... 50
Modul 4.3 Menu Utama............................................................................................ 52
Modul 4.4 Lanjutan Menu Utama............................................................................. 53
Modul 4.5 Halaman Kategoriori ................................................................... ........... 54
Modul 4.6 Lanjutan Kategori.................................................................................... 55
Modul 4.7 Lanjutan Kategori.................................................................................... 56
Modul 4.8 Lanjutan Kategori.................................................................................... 57
Modul 4.9 Halaman Data Barang.................................................................. ........... 58
Modul 4.10 lanjutan Data Barang............................................................................. 59
Modul 4.11 Lanjutan Data Barang............................................................................ 60
Modul 4.12 Lanjutan Data Barang.............................................................................61
Modul 4.13 Lanjutan Data Barang............................................................................ 62
Modul 4.14 Halaman Penjualan................................................................................ 63
Modul 4.15 Lanjutan Penjualan................................................................................ 64
Modul 4.16 Lanjutan Penjualan.................................................................................65
Modul 4.17 Halaman Data user..................................................................... ........... 66
Modul 4.18 Lanjutan Data User................................................................................ 67
Modul 4.19 Lanjutan Data User.................................................................................68
Modul 4.20 Lanjutan Data User.................................................................................69
Modul 4.21 Halaman Data Perhitungan.....................................................................70
Modul 4.22 Lanjutan Data Perhitung.........................................................................68
Modul 4.23 Lanjutan Data Perhitungan.....................................................................68
Modul 4.24 Lanjutan Data Perhitung........................................................................ 68
Modul 4.25 Halaman Data Alternatif........................................................................ 68
Modul 4.26 Lanjutan Data Alternatif.........................................................................68
8
ABSTRAK
Analisis asosiasi adalah teknik data mining untuk menemukan aturan asosiatif antara
suatu kombinasi item.Aturan asosiatif dari analisis pembelian di suatu pasar swalayan adalah
mengetahui besarnya kemungkinan seorang pelanggan untuk membeli suatu barang
bersamaan dengan barang yang lain.Dengan pengetahuan tersebut pemilik pasar swalayan
dapat mengatur penempatan barangnya atau merancang kampanye pemasaran menggunakan
kupon diskon untuk kombinasi barang tertentu .Adapun teknik yang digunakan dalam
penelitian ini adalah algoritma apriori menggunakan 2 nilai analisis 2 nilai penting yaitu
minimum support dan confidence.Dua nilai tersebut digunakan dengan proses iterasi untuk
menemukan setiap kombinasi item barang yang disebut proses join dan proses untuk
mengeliminasi pengelompokan barang yang tidak memenuhi minimum support yang disebut
proses prune.Dari teknik-teknik yang disebutkan diatas didapatkan frekuensi dan item barang
yang paling sering muncul bersamaan yang membantu management untuk menata dan
mengelompokan barang dan mengoptimalkan persediaan produk.
Untuk membangun sistem pendukung keputusan berbasis desktop ini dibutuhkan
perangkat lunak Microsoft Visual Basic dan SQL Server sebagai datebase server.
Hasil akhir kesimpulan menggunakan nilai confidence yang menggambarkan secara
umum hubungan atau keterkaitan antara barang dan implementasi algoritma apriori dapat
digunakan untuk menganalisis data transaksi secara keseluruhan atau pada periode tertentu
saja.Dari hasil perhitungan algoritma juga dapat dianalisis bahwa proses yang membutuhkan
sumber daya yang sangat besar dan waktu analisis yang lama adalah proses join antar item
barang.Dengan proses kombinasi item barang yang semakin banyak menyebabkan kombinasi
antar item juga semakin banyak.
9
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Pasar swalayan merupakan sarana atau tempat penyedia barang kebutuhan sehari-hari
mulai dari sembilan bahan pokok sampai kebutuhan rumah tangga lainnya. Setiap harinya di
pasar swalayan tersebut terjadi beberapa transaksi penjualan. Data transaksi penjualan akan
terus bertambah setiap harinya. Semakin banyak data transaksi yang tersimpan menyebabkan
penyimpanan data yang sangat besar. Biasanya data-data transaksi penjualan tersebut hanya
digunakan sebagai arsip dan tidak diketahui apa manfaat dari data tersebut untuk selanjutnya.
Di dalam kumpulan data yang sangat besar tersebut, memiliki informasi – informasi
yang tersembunyi.Kumpulan data tersebut bisa diolah untuk menghasilkan informasiinformasi yang bermanfaat yang bisa digunakan untuk pengambilan suatu keputusan dan
untuk memperoleh pengetahuan. Pengolahan data tersebut bisa dilakukan dengan
menggunakan teknik-teknik tertentu. Salah satu teknik yang digunakan dalam pengolahan data
tersebut adalah dengan menggunakan metode algoritma apriori.
Algoritma apriori adalah algoritma market basket analysis yang digunakan untuk
menghasilkan association rule, dengan pola “if then ”.Market basket analysis merupakan salah
satu teknik dari data mining yang mempelajari tentang perilaku kebiasaan konsumen dalam
membeli barang secara bersamaan dalam satu waktu. Teknik tersebut bisa diterapkan dalam
data yang sangat besar seperti data transaksi penjualan(marsela dan veronica, 2004).
Dalam
teknik
data
mining
terdapat
beberapa
algoritma
untuk
menyelesaikannya.Beberapa algoritma tersebut antara lain algoritma hash-based, algoritma
10
apriori,dan algoritma FP-Growth. Sedangkan dalam penelitian ini akan menggunakan
algoritma apriori. Dalam penelitian ini akan dibuat suatu sistem pendukung keputusan analisa
pola pembelian produk dengan metode algoritma apriori dengan menggunakan Visual Basic
dan SQL server yang dapat membantu pemilik swalayan atau manager dalam pengambilan
keputusan.
1.2 Rumusan Masalah
Rumusan masalah yang terdapat dalam penelitian ini yaitu bagaimana membuat suatu
sistem pendukung keputusan analisa pola pembelian produk dengan metode algoritma apriori.
1.3 Batasan Masalah
Agar penelitian ini mencapai sasaran dan tujuan yang diharapkan maka, penelitian ini
diberikan batasan masalah sebagai berikut:
1. Pengguna dalam sistem ini yaitu pemilik swalayan dan karyawan
2. Konsumen tidak dapat mengakses sistem ini
3. Hasil dari Sistem pendukung keputusan ini yaitu gambaran hubungan atau keterkaitan
antar barang untuk menganalisis data dan pengambilan keputusan
4. Hasil dari sistem pendukung keputusan ini berupa 2 –itemse dan 3item set
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk menghasilkan suatu sistem pendukung
keputusan untuk suatu pasar swalayan dimana sistem ini dapat membantu manager dalam
pemesanan barang dan juga masalah peletakan barang.
11
1.5 Manfaat Penelitian
Manfaat penelitian adalah sebagai berikut:
1. Sebagai bahan pertimbangan dalam perbaikan sistem yang sekarang diterapkan
2 .Sebagai alat bantu yang dapat meminimalisasi kesalahan, memungkinkan perusahaan
mempunyai sistem pendukung keputusan,karena diharapkan sistem ini akan
diimplementasikan secara langsung.
1.6 Metodologi Penelitian
Metode penelitian yang akan digunakan dalam pembuatan sistem pendukung keputusan ini
adalah metode prancangan perangkat lunak Waterfall.Pengembangan metode Waterfall sendiri
melalui beberapa tahapan yaitu:
1. Analisa kebutuhan
2. Desain
3. Implementasi
4. Pengujian
5. Pemeliharaan
Pada skripsi ini hanya akan dibahas sampai dengan tahapan pengujian.
1.7 Sistematika Penulisan
Sistematika penulisan yang akan digunakan adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini akan menjelaskan latar belakang,perumusan masalah,batasan masalah,tujuan
penelitian,manfaat penelitian,metodolgi penelitian dan sistematika penulisan
12
BAB II DASAR TEORI
Bab ini akan menjelaskan dasar-dasar teori tentang sistem dan aplikasi yang akan
dipergunakan sebagai landasan utama penelitian dan pembuatan aplikasi
BAB III ANALISA DAN PERANCANGAN
Bab ini membahas teknik analisis dan desain yang digunakan dalam pembangunan
sistem
BAB IV IMPLEMENTASI
Bab ini berisi tentang implementasi dari sistem yang akan dibangun
BAB V PENUTUP
Bab ini berisi tentang kesimpulan-kesimpulan dan saran yang diberikan untuk
perbaikan sistem sehingga menjadi lebih baik dan bermanfaat.
13
BAB II
DASAR TEORI
2.1
Konsep Sistem Pendukung Keputusan
Sistem pendukung keputusan atau DSS (Decision Support System) merupakan sistem
informasi interaktif yang menyediakan informasi, pemodelan, dan pemanipulasian data.
Sistem itu digunakan untuk membantu pengambilan keputusan dalam situasi yang
semiterstruktur dan situasi yang tidak terstruktur, di mana tak seorang pun tahu secara pasti
bagaimana keputusan seharusnya dibuat(Kusrini ,2007)
DSS biasanya dibangun untuk mendukung solusi atau suatu masalah atau untuk
mengevaluasi suatu peluang. DSS yang seperti itu disebut aplikasi DSS. Aplikasi DSS
digunakan dalam pengambilan keputusan. Aplikasi DSS menggunakan CBIS (Computer Based
Information Systems) yang fleksibel, interaktif, dan dapat diadaptasi, yang dikembangkan
untuk mendukung solusi atau masalah manajemen spesifik yang tidak terstruktur.
Aplikasi DSS menggunakan data, memberikan antarmuka pengguna yang mudah, dan
dapat menggabungkan pemikiran pengambil keputusan.
DSS lebih ditujukan untuk mendukung manajemen dalam melakukan pekerjaan yang
bersifat analitis dalam situasi yang kurang terstruktur dan dengan kriteria yang kurang jelas.
DSS tidak dimaksudkan untuk mengotomatisasikan pengambilan keputusan, tetapi
memberikan perangkat interaktif yang memungkinkan pengambil keputusan untuk melakukan
berbagai analisis menggunakan model-model yang tersedia.
Tujuan dari DSS adalah :(Turban,2005)
14
1. Membantu manajer dalam pengambilan keputusan atas masalah semiterstruktur.
2. Memberikan dukungan atas pertimbangan manajer dan bukannya dimaksudkan untuk
menggantikan fungsi manajer.
3. Meningkatkan efektivitas keputusan yang diambil manajer lebih daripada perbaikan
efisiensinya.
4. Kecepatan komputasi.
5. Peningkatan produktivitas.
6. Dukungan kualitas.
7. Berdaya saing.
8. Mengatasi keterbatasan kognitif dalam pemrosesan dan penyimpanan.
Ditinjau dari tingkat teknologinya, DSS dibagi menjadi 3, yaitu :
1. SPK spesifik
Bertujuan membantu memecahkan suatu masalah dengan karakteristik tertentu. Misal,
SPK penentuan harga satuan barang.
2. Pembangkit SPK
Suatu software yang khusus digunakan untuk membangun dan mengembangkan SPK.
3. Perlengkapan SPK
Berupa software dan hardware yang digunakan atau mendukung pembangunan SPK
spesifik maupun pembangkit SPK.
Berdasarkan tingkat dukungannya, DSS dibagi menjadi 6, yaitu :
1. Retrieve Information Elements
15
Inilah dukungan terendah yang bisa diberikan oleh DSS, yakni berupa akses selektif
terhadap informasi.
2. Analyze Entire File
Dalam tahapan ini, para manajer diberi akses untuk melihat dan menganalisis file
secara lengkap.
3. Prepare Reports from Multiple Files
Dukungan seperti ini cenderung dibutuhkan, mengingat para manajer berhubungan
dengan banyak aktivitas dalam satu momen tertentu.
4. Estimate Decision Consequences
Dalam tahapan ini, manajer dimungkinkan untuk melihat dampak dari setiap keputusan
yang mungkin diambil.
5. Propose Decision
Dukungan di tahapan ini sedikit lebih maju lagi. Suatu alternatif keputusan bisa
disodorkan ke hadapan manajer untuk dipertimbangkan.
6. Make Decision
Ini adalah jenis dukungan yang sangat diharapkan dari DSS. Tahapan ini akan
memberikan sebuah keputusan yang tinggal menunggu legitimasi dari manajer untuk
dijalankan.
Keputusan
yang diambil
untuk
menyelesaikan
keterstrukturannya yang bisa dibagi menjadi :
1. Keputusan Terstruktur (Structured Decision)
suatu
masalah
dilihat
dari
16
Merupakan keputusan yang dilakukan secara berulang-ulang dan bersifat rutin.
Biasanya dilakukan pada manajemen tingkat bawah.
2. Keputusan Semiterstruktur (Semistructured Decision)
Merupakan keputusan yang memiliki dua sifat. Keputusan ini diambil oleh manajer
level menengah dalam suatu organisasi.
3. Keputusan Tak Terstruktur (Unstructured Decision)
Merupakan keputusan yang penanganannya rumit karena tidak terjadi berulang-ulang
atau tidak selalu terjadi. Keputusan tersebut umumnya tejadi pada manajemen tingkat
atas.
Oleh karena tidak ada konsensus mengenai apa sebenarnya DSS, jelas tidak ada
kesepakatan mengenai karakteristik standar DSS. Berikut karakteristik yang diharapkan ada di
DSS (Turban, 2005).
1. Dukungan kepada pengambil keputusan, terutama pada situasi semiterstruktur dan tak
terstruktur, dengan menyertakan penilaian manusia dan informasi terkomputerisasi.
2. Dukungan untuk semua level manajerial, dari eksekutif puncak sampai manajer lini.
3. Dukungan untuk individu dan kelompok,
4. Dukungan untuk keputusan independen dan atau sekuensial.
5. Dukungan di semua fase proses pengambilan keputusan : inteligensi, desain, pilihan,
dan implementasi.
6. Dukungan di berbagai proses dan gaya pengambilan keputusan.
7. Adaptivitas sepanjang waktu.
17
8. Pengguna merasa seperti di rumah. Ramah-pengguna, kapabilitas grafis yang sangat
kuat, dan antarmuka manusia-mesin yang interaktif dengan satu bahasa alami bisa
sangat meningkatkan efektivitas DSS.
9. Peningkatan efektivitas pengambilan keputusan (akurasi, timelines, kualitas)
ketimbang pada efisiensinya (biaya pengambilan keputusan).
10. Kontrol penuh oleh pengambil keputusan terhadap semua langkah proses pengambilan
keputusan dalam memecahkan suatu masalah.
11. Pengguna akhir bisa mengembangkan dan memodifikasi sendiri sistem sederhana.
12. Biasanya, model-model digunakan untuk menganalisis situasi pengambilan keputusan.
13. Akses disediakan untuk berbagai sumber data, format, dan tipe, mulai dari sistem
informasi geografis (GIS) sampai sistem berorientasi objek.
14. Dapat digunakan sebagai alat standalone oleh seorang pengambil keputusan pada satu
lokasi atau didistribusikan di suatu organisasi secara keseluruhan dan di beberapa
organisasi sepanjang rantai persediaan.
Karakteristik dari DSS tersebut memungkinkan para pengambil keputusan
untuk
membuat keputusan yang lebih baik dan lebih konsisten dalam satu cara yang dibatasi oleh
waktu.
2.2 Komponen Sistem Pendukung Keputusan
Turban (1998) mengemukakan bahwa sebuah sistem pendukung keputusan dibangun
dari beberapa komponen subsistem,antara
lain:
a.Subsistem manajemen data, meliputi basis data yang mengandung data yang relevan
dengan keadaan yang ada dan dikelola oleh sebuah sistem yang dikenal sebagai database
18
management system (DBMS). Subsistem manajeman data dibangun dari elemen-elemen
antara lain basis data SPK, DBMS (Database Management System), direktori data dan fasilitas
query.
b.Subsistem manajemen model, yaitu sebuah paket perangkat lunak yang berisi modelmodel finansial , statistik, management science, atau model kuantitatif yang lain yang
menyediakan kemampuan analisis sistem dan management software yang terkait. Salah satu
keunggulan dari SPK adalah kemempuan untuk mengintegrasikan akses data dan modelmodel keputusan
c.Subsistem manajemen pengetahuan (knowledge) yaitu subsistem yang mampu
mendukung subsistem yang lain atau berlaku sebagai sebuah komponen yang berdiri sendiri
(independen) . Permasalahan yang dihadapi oleh SPK akan bertambah kompleks dan rumit
sehingga diperlukan expertise untuk memberikan solusi yang baik di luar kemampuan SPK
biasa
d.Subsistem antarmuka pengguna (user Interface), yang merupakan media tempat
komunikasi antara pengguna dan sistem pendukung keputusan serta tempat pengguna
memberikan perintah kepada sistem pendukung keputusan. Komponen antarmuka suatu SPK
(Management of the User Interface Subsytem) adalah perangkat keras dan perangkat lunak
yang memberi antarmuka antara pemakai dan SPK Komponen antarmuka menyajikan
keluaran (output) SPK pada pemakai dan mengumpulkan masukan (input) ke dalam SPK.
2.3 Algoritma Apriori
Algoritma ini diajukan oleh R. Agrawal dan R. Srikant tahun 1994. Apriori melakukan
pendekatan iterative yang dikenal dengan pencarian level-wise, dimana k-itemset digunakan
19
untuk mengeksplorasi (k+1)-itemset. Pertama, kumpulan 1-itemset ditemukan dengan
memeriksa basis data untuk mengakumulasi penghitungan tiap barang, dan catat barang
tersebut. Hasilnya dilambangkan dengan L1. Selanjutnya, L1 digunakan untuk mencari L2,
kumpulan 2-itemset yang digunakan untuk mencari L3, dan seterusnya sampai tidak ada kitemset yang dapat ditemukan
2.3.1 Konsep Aturan Asosiasi Dengan Algoritma Apriori
Asosiasi merupakan pengidentifikasian hubungan antara berbagai peristiwa yang
terjadi pada satu waktu. Pendekatan asosiasi tersebut menekankan sebuah kelas masalah yang
dicirikan dengan analisis keranjang pasar. Dalam bidang eceran, ada suatu usaha untuk
mengidentifikasi produk-produk apa yang terjual dan pada tingkat seperti apa.
Data yang dimiliki oleh suatu organisasi merupakan salah satu aset dari organisasi
tersebut. Adanya kegiatan operasional sehari-hari akan semakin memperbanyak jumlah data.
Jumlah data yang begitu besar justru bisa menjadi masalah bila organisasi tersebut tidak bisa
memanfaatkannya. Semakin banyak data, akan semakin diperlukan usaha untuk memilah data
mana yang bisa diolah menjadi informasi. Jika data dibiarkan saja, maka data tersebut hanya
akan menjadi sampah yang tidak berarti lagi bagi organisasi tersebut. Oleh karena itu,
diperlukan sebuah aplikasi yang mampu memilah dan memilih data yang besar, sehingga bisa
diperoleh informasi yang berguna bagi penggunanya.
Peneliti akan menjelaskan cara membangun aplikasi untuk mengelompokkan data
barang berdasarkan kecenderungannya yang muncul bersamaan dalam suatu transaksi
menggunakan algoritma apriori. Algoritma apriori termasuk jenis aturan asosiasi pada data
20
mining. Selain apriori, yang termasuk dalam golongan adalah metode Generalized Rule
Induction dan Algoritma Hash Based.
Aturan yang menyatakan asosiasi antara beberapa atribut sering disebut affinity
analysis atau market basket analysis.
Penerapan algoritma apriori dalam penelitian ini diharapkan akan menemukan pola
berupa produk yang sering dibeli bersamaan. Pola tersebut bisa digunakan untuk
menempatkan produk yang sering dibeli bersamaan dalam sebuah area yang saling berdekatan,
merancang tampilan produk di katalog, merancang kupon diskon (untuk diberikan kepada
pelanggan yang membeli produk tertentu), merancang penjualan paket, dan lain-lain(Kusrini,
2007).
2.3.2 Analisis Asosiasi Dengan Algoritma Apriori
Analisis asosiasi atau association rule mining adalah teknik data mining untuk
menemukan aturan asosiatif antara suatu kombinasi item. Contoh dari aturan asosiatif dari
analisis pembelian di suatu pasar swalayan adalah mengetahui besarnya kemungkinan seorang
pelanggan untuk membeli roti bersamaan dengan susu. Dengan pengetahuan tersebut, pemilik
pasar swalayan bisa mengatur penempatan barangnya atau merancang kampanye pemasaran
menggunakan kupon diskon untuk kombinasi barang tertentu (Kusrini, 2007).
Analisis asosiasi menjadi terkenal karena aplikasinya untuk menganalisis isi keranjang
belanjaan di pasar swalayan. Analisis asosiasi juga sering disebut dengan istilah market basket
analysis.
Analisis asosiasi dikenal juga sebagai salah satu teknik data mining yang menjadi dasar
dari berbagai teknik data mining lainnya. Khususnya, salah satu tahap dari analisis asosiasi
21
yang disebut analisis pola frekuensi tinggi (frequent pattern mining) yang menarik perhatian
banyak peneliti untuk menghasilkan algoritma yang efisien.
Penting tidaknya suatu aturan asosiatif bisa diketahui menggunakan dua parameter,
support (nilai penunjang) yaitu prosentase kombinasi item tersebut dalam database dan
confidence (nilai kepastian) yaitu kuatnya hubungan antar item dalam aturan asosiasi.
Aturan asosiasi biasanya dinyatakan dalam bentuk :
(roti, mentega)  (susu) (support = 40%, confidence = 50%)
Artinya, 50% dari transaksi di database yang memuat item roti dan mentega juga memuat item
susu. Sementara 40% dari seluruh transaksi yang ada di database memuat ketiga item tersebut.
Bisa juga diartikan seorang konsumen yang membeli roti dan mentega memiliki kemungkinan
sebesar 50% untuk juga membeli susu. Aturan tersebut cukup signifikan, karena mewakili
40% dari catatan transaksi selama ini.
Analisis asosiasi didefinisikan sebagai suatu proses untuk menemukan semua aturan
asosiasi yang memenuhi syarat minimum untuk support (minimum support) dan syarat
minimum untuk confidence (minimum confidence).
Metodologi dasar analisis asosiasi terbagi menjadi dua tahap.
a.Analisis Pola Frekuensi Tinggi
Tahapan ini mencari kombinasi item yang memenuhi syarat minimum dari nilai support
dalam database. Nilai support sebuah item diperoleh dengan rumus berikut.
Jumlah transaksi mengandung A
Support (A) =
. . . . . . . . . . . . . . . . . . . . .. (2.1)
Total transaksi
Sedangkan nilai support dari 2 item diperoleh dari rumus 2 berikut.
Support (A, B) = P (A ∩ B)
Support (A, B) = ∑ Transaksi mengandung A dan B ............. . . . . . . . . . . . . .... .(2.2)
∑ Transaksi
22
Sebagai contoh database dari transaksi belanja pasar swalayan seperti di tunjukan tabel 2.1
berikut:
Tabel 2.1 Tabel transaksi
Transaction
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Item Purchased
Broccoli,green peppers,corn
Asparagus,squash,corn
Corn,tomatoes,beans,squash
green peppers,corn, tomatoes,beans
Beans,asparagus,broccoli
Squash,asparagus,beans,tomatoes
Tomatoes,corn
Broccoli,tomatoes,green peppers
Squash,asparagus,beans
Beans,corn
Green peppers,broccoli,beans,squash
Asparagus,beans,squash
Asparagus,beans,squash,corn
Broccoli,green peppers,corn,tomatoes,beans
Data dalam database transaksional tersebut di atas biasa direpresentasikan dalam
bentuk seperti yang terlihat pada tabel 2.2 berikut ini.
Tabel 2.2 Representasi data transaksi dalam data transaksional
Transaction
1
1
1
2
2
2
3
3
3
4
4
4
4
:
:
:
Item Purchased
Broccoli
Green peppers
Corn
Asparagus
Squash
Corn
Corn
Tomatoes
corn
Green peppers
Corn
Tomatoes
beans
:
:
:
Jika dibuat dalam bentuk tabular, data transaksi akan terlihat seperti pada tabel 2.3 berikut.
Tabel 2.3 Tabel format tabular data transaksi
Transaction
1
Asparagus
0
Beans
0
Broccoli
1
Corn
1
Green Pappers
1
Squash
0
Tomatoes
0
23
2
3
4
transaction
6
7
8
9
10
11
12
13
14
Tabel 2.4 Lanjutan Tabel format tabular data
transaksi
1
0
0
Asparagus
1
0
0
1
0
0
1
1
0
0
1
1
Beans
1
0
0
1
1
1
1
1
1
0
0
0
Broccoli
0
0
1
0
0
1
0
0
1
1
1
1
corn
0
1
0
0
1
0
0
1
1
0
0
1
Green Papers
0
0
1
0
0
1
0
0
1
1
1
0
Squash
1
0
0
1
0
1
1
1
0
0
1
1
Tomatoes
1
1
1
0
0
0
0
0
1
Misalnya, D adalah himpunan transaksi yang direpresentasikan dalam tabel 2.1, di
mana masing-masing transaksi T dalam D merepresentasikan himpunan item yang berada
dalam I. Misalnya, kita memiliki himpunan item A (misalnya beans dan squash) dan
himpunan item lain B (misalnya asparagus). Kemudian, aturan asosiasi akan berbentuk :
Jika A, maka B (A  B)
Di mana antecedent A dan consequent B merupakan subset dari I, sedangkan A dan B
merupakan mutually exclusive. Definisi tersebut tidak berlaku untuk aturan trivial
seperti :
Jika beans dan squash maka beans
Seorang analis mungkin hanya akan mengambil aturan yang memiliki support dan atau
confidence yang tinggi. Aturan yang kuat adalah aturan-aturan yang melebihi kriteria support
dan atau confidence minimum. Misalnya, seorang analis menginginkan aturan yang memiliki
support lebih dari 20% dan confidence lebih dari 35%.
Sebuah itemset adalah himpunan item yang ada dalam I, dan k itemset adalah itemset
yang berisi k item. Misalnya, (squash, beans) adalah sebuah 2 itemset dan (broccoli, green
peppers, corn) merupakan 3 itemset. Frequent itemset menunjukkan itemset yang memiliki
24
frekuensi kemunculan lebih dari nilai minimum yang telah ditentukan (Φ). Misalkan Φ = 4,
maka semua itemset yang frekuensi kemunculannya lebih dari 4 kali disebut frequent.
Himpunan dari frequent k itemset dilambangkan dengan Fk.
Tabel 2.4 berikut menunjukkan calon 2 itemset dari data transaksi pada tabel 2.1.
2.4 Calon
Itemset
Tabel 2.5Tabel
Lanjutan
Tabel 2Calon
2 Itemset
Combination
Asparagus, beans
Asparagus, broccoli
Asparagus, corn
count
5
1
2
Asparagus, green peppers
Asparagus, squash
Asparagus, tomatoes
Beans, broccoli
Beans, corn
Beans, greren peppers
Beans, squash
Beans, tomatoes
Broccoli, corn
Broccoli, green peppers
Broccoli, squash
Broccoli, tomatoes
Corn, green peppers
Corn, squash
Corn, tomatoes
Green peppers, squash
Green peppers, tomatoes
Squash, tomatoes
0
5
1
3
5
3
6
4
2
4
1
2
3
3
4
1
3
2
Dari data tersebut di atas, diterapkan nilai Φ = 4 sehingga :
F2 = {{asparagus, beans}, {asparagus, squash}, {beans, corn}, {beans, squash},
{beans, tomatoes}, {broccoli, green peppers}, {corn, tomatoes}}
Kombinasi dari itemset dalam F2 bisa digabungkan menjadi calon 3 itemset. Itemsetitemset dari F2 yang bisa digabungkan adalah itemset-itemset yang memiliki kesamaan dalam
k-1 item pertama. Calon 3 itemset yang bisa dibentuk dari F2 adalah seperti yang terlihat pada
tabel 2.6 berikut.
25
Tabel 2.6 Calon 3 itemset
Combination
Count
Asparagus, beans, squash
Beans, corn, squash
Beans, corn, tomatoes
Beans, squash, tomatoes
4
2
3
2
Dengan demikian, F3 = {{asparagus, beans, squash}} karena hanya kombinasi itulah
yang memiliki frekuensi kemunculan > = Φ.
a. Pembentukan Aturan Asosiasi
Setelah semua pola frekuensi tinggi ditemukan, barulah dicari aturan asosiasi
yang memenuhi syarat minimum untuk confidence dengan menghitung confidence
aturan asosiatif A  B.
Nilai confidence dari aturan A  B diperoleh dari rumus berikut.
∑ Transaksi mengandung A dan B
Confidence = P (B | A) =
∑ Transaksi mengandung A
..... .. . . . . . . . . . (2.3)
.......
Dari F3 yang telah ditemukan, bisa dilihat besarnya nilai support dan confidence dari
calon aturan asosiasi seperti tampak pada tabel 2.7 berikut.
Rule
Confidence
Tabel 2.7 Calon Aturan Asosiasi dari F3
If buy asparagus, beans, then squash
4/5
80%
If buy asparagus, squash, then beans
If buy beans, squash, then asparagus
4/5
4/6
80%
66.7%
26
Misalnya, ditetapkan nilai confidence minimal adalah 80% sehingga aturan yang bisa
terbentuk adalah aturan dengan 2 antecedent berikut.
If buy asparagus and beans, then buy squash
If buy asparagus and squash, then buy beans
Sementara itu, calon aturan asosiasi dari F2 bisa dilihat dalam tabel 2.8 berikut.
Tabel 2.8 calon Aturan Asosiasi dari F2
Rule
If buy asparagus, then buy beans
If buy beans, then buy asparagus
If buy asparagus, then buy squash
If buy squash, then buy asparagus
If buy beans, then buy corn
If buy corn, then buy beans
If buy beans, then buy squash
5/6
5/10
5/6
5/7
5/10
5/8
6/10
Confidence
83.3%
50%
83.3%
71.4%
50%
62.5%
60%
If buy squash, then buy beans
If buy beans, then buy tomatoes
If buy tomatoes, then buy beans
If buy broccoli, then buy green peppers
If buy green peppers, then buy broccoli
If buy corn, then buy tomatoes
If buy tomatoes, then buy corn
6/7
4/10
4/6
4/5
4/5
4/8
4/6
85.7%
40%
66.7%
80%
80%
50%
66.7%
Sementara itu, aturan asosiasi final berurut berdasarkan support x. Confidence terbesar dapat
dilihat dalam tabel 2.10 berikut.
Tabel 2.10 Tabel Aturan Asosiasi
Rule
If buy squash, then buy beans
If buy asparagus, then buy squash
If buy asparagus, then buy beans
If buy broccoli, then buy green peppers
If buy green peppers, then buy broccoli
If buy asparagus, beans, then squash
6/7
5/6
5/6
4/5
4/5
4/5
Confidence
85.7%
83.3%
83.3%
80%
80%
80%
If buy asparagus, squash, then beans
4/5
80%
2.4 Data Flow Diagram
Data Flow Diagram (DFD) adalah sebuah teknik grafis yang menggambarkan aliran
informasi dan transformasi yang diaplikasi pada saat data bergerak dari input menjadi output
27
(Pressman,2002). DFD dapat digunakan untuk menyajikan sebuah sistem atau perangkat lunak
pada setiap tingkat abstraksi. Notasi dasar yang digunakan dalam pembuatan DFD dapat
dilihat pada table 2.11:
Tabel 2.11 Tabel Notasi Dasar DFD
Simbol
Keterangan
Digunakan untuk mempresentasikan sebuah entitas eksternal
Digunakan untuk mempresentasikan suatu proses atau tranformasi
yang diaplikasikan ke data (kontrol) dan mengubahnya dengan
berbagai macam cara
Digunakan untuk mempresentasikan suatu objek data,anak panah
menunjukan arah aliran data
Digunakan sebagai tempat penyimpanan data (storage) yang akan
digunakan oleh satu atau lebih proses yang ada dalam sistem.
DFD dapat dipartisi ke dalam tingkat-tingkat yang mempresentasikan aliran informasi
yang bertambah dan fungsi ideal. DFD tingkat 0, yang disebut juga dengan model sistem
fudamentasi atau model konteks,merepresentasikan seluruh elemen sistem sebagai sebuah
bubble tunggal dengan data input dan output yang ditunjukkan oleh anak panah yang masuk
dan keluar secara berurutan. Proses tambahan (bubble) dan jalur aliran informasi
direpresentasikan pada saat DFD tingkat 0 dipartisi lebih detail. Setiap proses yang
direpresentasikan pada DFD tingkat 1 merupakan subfungsi dari seluruh sistem yang
digambarkan di dalam model konteks.
2.5 Basis data
Basis data adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga
memudahkan aktivitas untuk memperoleh informasi (Kadir,2002). Basis data dapat
diasumsikan sebagai lemari arsip yang memiliki prinsip kerja dan tujuan yang sama. Prinsip
28
utamanya mengatur data atau arsip ,sedangkan tujuan utamanya adalah kemudahan,kecepatan
dalam pengambilan kembali data atau arsip.
Model data adalah kumpulan perangkat konseptual untuk menggambarkan data,hubungan
data,semantik (makna) data dan batasan data (Fathansyah,2007). Dalam pembuatan sistem ini
model data yang digunakan adalah Model Entity-Relationship ( Model E-R).
Komponen utama pembentukan Model Entity-Relationship, yaitu entitas (entity) dan
relasi (relation). Kardinalitas relasi menunjukan jumlah maksimum relasi yang terjadi antara
himpunan entitas yang satu dengan hubungan entitas yang lain. Kardinalitas relasi yang terjadi
antara himpunan entitas (misalnya A dan B ) dapat berupa ( Fathansyah,2007) :
1:1 (One to One)
Satu entitas pada himpunan entitas A berhubungan dengan satu entitas pada himpunan entitas
B,dan sebaliknya.
1:M ( One to Many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada
himpunan entitas B,tetapi tidak sebaliknya.
M:1 ( Many to One)
Setiap entitas pada himpinan A berhubungan dengan paling banyak dengan satu entitas pada
himpunan entitas B,tetapi tidak sebaliknya.
M:M (Many to Many)
Setiap entitas pada himpunan entitas A berhubungan dengan banyak entitas pada himpunan
entitas B,dan sebaliknya.
29
Model Entity-Relationship yang berisi komponen-komponen himpunan entitas dan
himpunan relasi yang masing-masing dilengkapi dengan atribut yang mempresentasikan fakta
dari ‘dunia nyata’ dapat digambatkan lebih sistematis dengan menggunakan Diagram EntityRelationship.
2.5.1 Konsep Data Base Dan Terminologi
Untuk dapat memahami prinsip-prinsip perancangan database,yang perlu dipahami
terlebih dahulu adalah konsep dasar dan terminologinya
2.5.1.1 Entitas dan Relationship
Hal yang sangat mendasar dan harus dipahami adalah pemodelan entitas dan
relationship. Entitas adalah barbagai hal dalam dunia nyata yang informasinya disimpan
dalam database.
Sebagai contoh,kita dapat menyimpan data pegawai dan pekerja untuk departemen
tertentu. Dalam kasus ini, pegawai merupakan suatu entitas dan departemen juga merupakan
suatu entitas.
Relationship adalah hubungan antara entitas. Sebagai contoh, seorang pegawai berkerja
untuk suatu departemen. Bekerja untuk adalah relationship antara entitas pegawai dan entitas
departemen. Relationship terdiri dari 3 derajat berbeda, yaitu one-to-one,one-to-many (manyto-one),many-to-many.
One-to-one menghubungkan secara tepat dua entitas dengan satu kunci (key). Misalnya,
dalam satu perusahaan satu orang pegawai memiliki satu komputer kerja.
One-to-many hubungan antara entitas dimana kunci pada satu table muncul berkali-kali
dalam table lainnya. Misalnya,banyak pegawai bekerja untuk satu departemen.
30
Many-to-many merupakan yang sering menyebabkan permasalahan dalam prakteknya.
Dalam hubungan many-to-many, kunci utama( primary key) dari table kedua dapat muncul
beberapa kali pada table pertama. Misalnya, dalam suatu perusahaan banyak pegawai bekarja
untuk banyak departemen. Untuk mengatasi permasalahan tersebut,dibutuhkan table antara.
2.6 Waterfall
Metode ini dikenal pula dengan nama “ Classic life code” (Pressman,2002).
Tahapan-tahapan dalam siklus air terjun(waterfall) adalah sebagai berikut :
a. Rekayasa,tahap awal dalam pengumpulan kebutuhan sistem,menyangkut definisi
masalah, perumusan masalah dan tujuan pembanguna sistem.
b. Analisa,tahap ini difokuskan pada sistem atau
perangkat lunak yang akan dibuat
dengan tujuan untuk memahami spesifikasi sistem yang akan dibangun,unjuk kerja
yang harus dipenuhi sistem,dan interface yang diperlukan.
c. Desain adalah tahap perancangan sistem sesuai dengan kebutuhan menjadi suatu
bentuk perpresentasi yang dapat dievaluasi kualitasnya sebelum implementasi
dilakukan.
d. Implementasi yaitu tahap penerjemah rancangan ke dalam bentuk kode pemprograman
computer.
e. Pengujian, tahap ini berfokus pada logika internal perangkat lunak, yang bertujuan
menemukan dan menghilangkan kesalahan-kesalahan sehingga perangkat lunak dapat
memberikan hasil sesuai dengan yang diharapkan.
f. Pemeliharaan,tahap ini meliputi bagian-bagian koreksi kesalahan dan penyesuaian
perangkat lunak terhadap perubahan lingkungan.
31
2.7 Microsoft Visual Basic
Microsoft Visual Basic adalah software program untuk membuat program berbasis
Windows.Visual basic memakai bahasa pemrograman BASIC (Beginners All-Purpose
Symbolic Instruction Code) yang merupakan salah satu bahasa pemrograman tingkat tinggi
yang sederhana dan mudah untuk dipelajari (Ronald,2010).Visual Basic merupakan salah satu
bahasa pemrograman berorientasi objek yang mudah dipelajari.Selain menawarkan
kemudahan ,visual basic juga cukup andal untuk digunakan dalam pembuatan berbagai
aplikasi,terutama aplikasi database.
Visual basic merupakan bahasa pemrograman event drive,dimana program akan
menunggu sampai ada respon dari user/pemakai program aplikasi yang dapat berupa kejadian
atau event,misalnya ketika user mengklik tombol atau menekan enter.Jika kita membuat
aplikasi dengan visual basic ,maka kita akan mendapatkan file yang menyusun aplikasi
tersebut, yaitu :
1.
File Project (*.vbp)
File ini merupakan kumpulan dari aplikasi yang kita buat.File project bisa
berupa file*.frm,*.dsr atau file lainnya.
2.
File Form (*.frm)
File ini merupakan file yang berfungsi untuk menyimpan informasi tentang
bentuk form maupun interface yang kita buat.
Bagian-bagian dari Microsoft Visual basic sebagai berikut:
32
1.
Form
Merupakan media atau tempat untuk membuat antar muka aplikasi .Dalam
sebuah form terdapat control box,max button,min button,close button caption.
2.
Tool Box.
Berisi objek-objek yang bisa di tambahkan ke form aplikasi yang kita buat.
3.
Property
Digunakan untuk mengatur property dari suatu objek yang kita tambahkan ke
dalam form aplikasi yang kita buat.Bahkan form sendiri mempunyai
property,seperti property name,caption dan sebagainya.
4.
Navigator
Berfungsi untuk mempermudah kita dalam melihat form atau melihat kode
program dalam setiap form yang telah kita buat.
5.
Kode Editor
Merupakan tempat untuk mengetik kode program.Dalam Visual Basic terdapat
fasilitas autolist yang berfungsi untuk mempermudah dalam mengetik kode
6.
Form Layout
Digunakan untuk mengatur posisi start up dari program yang kita buat.Kita
bisa mengatur posisinya dengan melakukan drag ke posisi yang diinginkan
7.
Tool Bar dan Menu Bar
Menu Bar berisi menu-menu standar untuk melakukan editing.Sedangkan tool
bar berisi ikon-ikon untuk mempercepat pemanggilan menu.
33
2.7.1 Microsoft SQL Server 2000
Microsoft SQL Server 2000 merupakan
program aplikasi database untuk
client/server.Program ini dapat beroperasi pada berbagai sistem operasi,mulai dari Windows
9x,windows 2000 dengan bermacam-macam versinya dan juga windows NT.Masing-masing
sistem operasi itu untuk menjalankan aplikasi SQL server 2000 menyediakan dukungan yang
bermacam-macam
,yang
dapat
disesuaikan
dengan
kebutuhan
sistem
yang
akan
dibangun.Selama beroperasi ,di mana SQL server ini mengolah database,SQL server didalam
berhubungan
dengan
user
akan
dikelola
oleh
seseorang
yang
disebut
DatabaseAdministrator.(Bambang,2005).
SQL (Stuctured Query Languange) merupakan bahasa komputer standar yang
ditetapkan oleh ANSI (American National Standart Institute) untuk mengakses dan
memanipulasi sistem datebase.Sebuah database dapat berisi satu atau lebih tabel ,dimana
setiap tabel memiliki nama tersendiri.Tabel-tabel tersebut memiliki minimal satu kolom/field
atau lebih dan memiliki baris/record.
2.7.1.1 SQL Query
Penggunaan Query pada pengolahan database merupakan tindakan yang biasa
dilakukan sebagai rutinitas.Query itu sendiri merupakan perintah untuk mengakses database.
Jenis Query yang umum dipakai adalah DDL dan MDL.Pada kedua jenis query ini
terdapat 4 unsur utama,yaitu:
1.Menciptakan
2.Mengubah
3.Menghapus
34
4.Menampilkan
2.7.1.2 DDL (Data Definition Languange)
DDL merupakan perintah SQL yang digunakan untuk mendefinisikan atau
mendeklarasikan objek database,menciptakan objek database atau menghapus objek
database.DDL juga dapat digunakan untuk membuat koneksi antar tabel database beserta
batasannya dengan menentukan indeks sebagai kuncinya(Ema Utami,2005).
DDL yang dipakai adalah:
1.
CREATE
Digunakan untuk menciptakan objek database yang baru atau menciptakan database itu
sendiri.
2.
DROP
Digunakan untuk menghapus objek database.
3.
ALTER
Digunakan untuk mengubah atribut atau entitas dari objek suatu database
2.7.1.3 DML (Data Manipulation Languange)
DML merupakan query yang digunakan untuk memanipulasi data,seperti untuk
menampilkan data ,mengubah data,menghapus data,atau mengisi data.
DML yang dipakai adalah:
1.
SELECT
Merupakan Query yang digunakan untuk mengambil data atau menampilkan data.
2.
INSERT
Digunakan untuk memasukan data kedalam tabel.
35
3.
DELETE
Digunakan untuk menghapus data.
4.
UPDATE
Digunakan untuk melakukan perubahan pada data.
2.8 Studi Pustaka
Penelitian serupa pernah dilakukan oleh Dengsi Suharni Tamba, Program Studi Ilmu
Komputer pada Universitas Gajah Mada (UGM) pada tahun 2009 melakukan penelitian
dengan judul “Sistem Pendukung Keputusan Penentuan Trend
Pembelian Produk
menggunakan Algoritma Apriori dan Ukuran Interestingness”.Bahasa pemrograman yang
dipakai pada pembuatan sistem ini yaitu PHP dan Mysql
Pada Penelitian ini judulnya yaitu”Sistem Pendukung Keputusan Analisis Pola
Pembelian Produk Dengan Metode Algoritma Apriori”.Bahasa Pemrograman yang dipakai
berbeda dengan penelitian sebelumnya yaitu pada penelitian ini menggunakan Visual Basic
dan SQL sebagai data base server.
Persamaan pada kedua penelitian ini adalah pada penggunaan metode yang di pakai
yaitu Algoritma Apriori.Sedangkan kelebihan dari penelitian ini dari penelitian sebelumnya
adalah pada penelitian sebelumnya data yang di input dibatasi cukup 50 transaksi sedangkan
penelitian ini data yang diinput tidak dibatasi.
36
BAB III
ANALISIS DAN PERANCANGAN
3.1 Perancangan Sistem
Tahapan perancangan sistem adalah tahapan mengidentifikasi kebutuhan fungsional
dalam mempersiapkan rancang bangun implementasi yang bertujuan untuk merancang dan
mendesain sistem dalam memenuhi kebutuhan pemakai sistem.Perancangan sistem terdiri dari
pembuatan data flow diagram (DFD),perancangan data base,interface.Berikut ini telah
ditentukan tahapan-tahapan atau langkah-langkah yang akan dilakukan dalam perancangan
sistem: a. Data flow diagram (DFD)
b. Rancangan basis data
c. Rancangan user interface
3.1.1 Arsitektur Sistem Pendukung Keputusan
Manajemen data bertujuan untuk mengelola data pada sistem pendukung keputusan.
Data sistem pendukung keputusan ini dalam bentuk database yang berisi data yang relevan
dengan situasi dan dikelola oleh software DBMS yang mempunyai fasilitas add, edit, delete
dan search.
Manajemen model merupakan paket software yang memuat model finansial, statistikal,
ilmu manajemen atau model kuantitatif lainnya yang menyediakan kemampuan analisis sistem
dan manajemen software yang tepat. Manajemen model yang digunakan dalam sistem adalah
model algoritma apriori. Komunikasi (sistem interface) berfungsi untuk menghubungkan
pengguna (user) dengan SPK dan memberi perintah SPK melalui sub sistem ini. Subsistem ini
menyediakan user sistem inteface sebagai berikut :
37
Data Barang
Dari swalayan
Manajemen
Data
Model
Algoritma apriori
Rumus
Algoritma apriori
Sistem
Interface
Pemilik
swalayan
3.1.2 Rancangan Proses
karyawan
Gambar 3.1 Arsitektur SPK
Pada perancangan proses ini kita akan menentukan proses yang terjadi pada sistem
yang akan ditangani. Adapun perancangan proses SPK pola pembelian produk yang dibahas
ini dapat dilihat pada DFD level 0 Gambar 3.2 berikut :
Data login
Datalogin
Validasi data login
Validasi data login
Data user
Data user
Data barang
Data barang
Data barang
sistem pendukung keputusan
Pada minimarket
karyawan
Data kategori
Data penjualan
Pemilik swalayan
Data kategori
Data kategori
Data penjualan
Data penjualan
Data perhitungan
Alternatif
Gambar 3.2 DFD Level 0
Pada gambar DFD level 0 diatas, memperlihatkan bahwa sistem ini hanya digunakan
oleh karyawan dan pemilik swalayan, sehingga karyawan dan pemilik swalayan terlebih
38
dahulu harus memasukkan data login masing-masing ke sistem. Dalam hal ini entitas
karyawan bertugas untuk memasukkan data-data berupa data barang,data kategori dan data
penjualan. Sedangkan pemilik swalayan memasukan data user dan data perhitungan serta
mendapat output dari sistem yaitu data barang,data kategori,data penjualan dan juga alternatif
dalam mengambil keputusan.
Dari keseluruhan proses yang terjadi pada sistem ini, entitas karyawan dan pemilik
swalayan akan memperoleh respon dari proses yang telah dilakukan. Proses yang terjadi pada
sistem level 0 tersebut akan lebih jelas terlihat pada penjabaran DFD level 1 berikut :
1
Data Login
Data Login
Login
Validasi data login
Validasi data login
Data barang
Data barang
2
Data barang
Data barang
Layanan
Karyawan
karyawan
Data barang
Pemilik
swalayan
Data Barang
Data kategori
Data kategori
Data kategori
Data kategori
Data kategori
Data Kategori
Data penjualan
Data penjualan
Data penjualan
Data penjualan
Data penjualan
Detil penjualan
Detil penjualan
Detil penjualan
Data Penjualan
Data user
Data user
3
Data user
Data user
Data user
Perhitungan
perhitungan
Perhitungan
Layanan
Pemilik swalayan
Data Perhitungan
Alternatif
Gambar 3.3 DFD Level 1
39
Pada DFD level 1 diatas, keseluruhan proses yang terjadi pada sistem ini meliputi proses
layanan login , layanan karyawan dan layanan pemilik swalayan
Adapun keterangan data tersebut sebagai berikut :
1. Login, entitas karyawan dan pemilik swalayan memasukkan dan mendapatkan respon
berupa validasi login masing-masing.
2. Layanan karyawan, entitas karyawan dapat menginput data barang,data kategori dan
data penjualan maka
akan memperoleh respon dari sistem sesuai
barang,data kategori,data penjualan
yang telah dimasukkan, semua
dengan data
hasil proses
disimpan dalam data store masing-masing kemudian akan memberikan reaksi pada
proses sesuai dengan data barang,data penjualan dan data kategori
yang telah
dimasukkan tersebut,dari proses ini juga pemilik swalayan mendapat output data
berupa data kategori data barang dan data penjualan.
3. Layanan pemilik swalayan, entitas pemilik swalayan dapat menginput data user dan
perhitungan ke dalam sistem, data user dan perhitungan di proses dalam data store
kemudian akan memberikan reaksi pada proses sesuai dengan data yang telah
dimasukkan tersebut,dari proses ini pemilik swalayan mendapat alternatif tentang pola
pembelian produk
Proses yang terjadi pada dfd level 1 tersebut akan lebih jelas terlihat pada penjabaran DFD
level 2 proses 3 yaitu layanan pemilik swalayan berikut :
40
3.1
P em ilik
sw alayan
D ata user
O lah
D ata user
D ata user
D ata user
D ata barang
D ata user
3.2
D ata perhitungan
D ata perhitungan
O lah
D ata perhitungan
D ata perhitungan
D ata perhitungan
3.3
D ata Alternatif
O lah
D ata A lternatif
D ata A lternatif
D ata A lternatif
D ata A lternatif
Gambar 3.4 DFD Level 2 Proses 3
Pada DFD level 2 proses 3 diatas ,keseluruhan proses yang terjadi pada sistem ini hanya
proses layanan pemilik swalayan.adapun keterangan data tersebut sebagai berikut:
1. Olah data user,entitas pemilik swalayan menginput data user seperti nama dan lain-lain
2. Olah data perhitungan ,entitas pemilik swalayan memasukan minimal
transaksi,minimal confidence kedalam sistem setelah itu di proses menjadi keputusan
yang di keluarkan ke olah data alternanif.
Olah data alternatif,pada proses ini,hasil dari perhitungan di sampaikan ke olah data alternanif
setelah itu diteruskan bersama laporan ke pemilik swalayan
41
3.2 Flowchart
Flowchart proses Sistem Pendukung Keputusan analisis pola pembelian produk dengan
metode algoritma apriori , dari data yang telah dimasukan hingga menjadi hasil berupa
keseluruhan perhitungan dapat di lihat pada flowchart sebagai berikut:
Mulai
Minimum transaksi
Minimum confidence
Hitung jumlah transaksi dari setiap barang dari tabel
detil penjualan.(simpan dalam T1)
Buat pasangan 2 item set dari T1 dan hitung berapa
jumlah transaksi dari setiap pasangan item(simpan
dalam T2)
Ket :
T1= Tabel temporary 1
T2= Tabel temporary 2
T3= Tabel temporary 3
T4= Tabel temporary 4
T5= Tabel temporary 5
Ambil pasangan 2 item set yang jumlah transaksi
melebihi min transaksi yang di input dan urut secara
descending (simpan dalam T3)
Hitung aturan asosiasi dan confidence pasangan 2
item set dari T3(simpan dalam T4)
Hitung aturan asosiasi yang nilainya melebihi nilai
minimum confidence T4(simpan dalam T5)
Tampilkan hasil pasangan dari
aturan asosiasi T5
Tidak
Tidak
Cetak
alternatif
Tidak
Selesai
Ya
Cetak Alternatif
Gambar 3.5 flowchart
42
Pada proses di atas dibuat 5 tabel temporary yaitu Temporary 1 (T1) yaitu fungsinya
untuk hitung jumlah transaksi dari setiap barang dari tabel detil penjualan setelah itu dibuat
tabel temporary 2(T2) yaitu fungsinya untuk buat pasangan 2 item-set dari T1 setelah itu ambil
pasangan 2 item set yang jumlah transaksi melebihi minimum transaksi yang di input lalu
simpan di temporary 3(T3) setelah itu buat tabel temporary 4(T4) untuk hitung aturan asosiasi
dan confidence
pasangan 2 item set dari T3 dan tabel temporary 5 (T5) dibuat untuk
menghitung aturan asosiasi yang nilainya melebihi nilai minimum confidence.Setelah itu di
tampilkan hasil pasangan dari aturan asosiasi.
3.3 Rancangan Basis Data
Perancangan basis data merupakan suatu hal yang sangat penting dalam menentukan
kualitas dari suatu informasi
3.5.1
ERD (Entity Relationship Diagram)
ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data
berdasarkan objek-objek dasar data yang mempunyai hubungan relasi antar tabel. Berikut ini
merupakan ERD dari basis data dalam program :
43
Id_kategori
kategori
KATEGORI
1
Id_barang
mempunyai
N
Id_kategori
Nama_brg
BARANG
1
harga
Jumlah_stok
Id_penjualan
N
sub_total
Id_barang
DETIL
PENJUALAN
N
Jumlah_beli
password
user_name
status
USER
Id_alternatif
Id_prhitungan
Min_transaksi
Id_penjualan
Id_prhitungan
1
ALTERNATIF
1
mempunyai
1
PERHITUNGAN
PENJUALAN
Pasangan_1
Jum_transaksi
Min_confidence
Confidence_akhir Pasangan_2
Gambar 3.5 Rancangan ERD
tgl_penjualan
total_pen
jualan
44
3.3.2 Struktur tabel
Perancangan struktur tabel desain basis data dijabarkan sebagai berikut:
1. Tabel Kategori
Tabel kategori
digunakan untuk menyimpan data kategori yang akan
digunakan untuk proses perhitungan . Field-field dari tabel kategori dapat dilihat pada
tabel 3.1 berikut ini :
Tabel 3.1 Tabel kategori
Field
Id_kategori
kategori
Type
Char
Varchar
Size
10
25
Constrain
Primary key
Not null
keterangan
Identitas kategori barang
Kategori barang
2. Tabel Barang
Tabel barang digunakan untuk menyimpan data barang yang akan digunakan
untuk proses perhitungan . Field-field dari tabel barang dapat dilihat pada tabel 3.2
berikut ini :
Field
Id_barang
Id_kategori
Nama_brg
harga
Jumlah_stok
Tabel 3.2 Tabel barang
Type
Char
Char
Varchar
int
int
Size
10
10
25
Constrain
Primary key
Foreign key
Not null
Not null
Not null
keterangan
Identitas barang
Identitas kategori barang
Nama barang
Harga barang
Jumlah stok
3. Tabel Penjualan
Tabel penjualan digunakan untuk menyimpan data penjualan dan akan digunakan
untuk proses perhitungan . Field-field dari tabel penjualan dapat dilihat pada tabel 3.3 berikut
ini :
Tabel 3.3 Tabel penjualan
Field
Id_penjualan
int
Type
tgl_penjualan
Total_penjualan
Date time
int
Size
10
Constrain
Primary
key,identity(1,1)
Not null
Not null
keterangan
Nomor transaksi penjualan
Tanggal penjualan
Total penjualan
45
4. Tabel detil penjualan
Tabel detil_penjualan digunakan untuk menyimpan data penjualan lebih detil yang
akan digunakan untuk proses perhitungan . Field-field dari tabel detil_penjualan dapat dilihat
pada tabel 3.4 berikut ini :
Tabel 3.4 Tabel detil_penjualan
Field
Id_penjualan
Id_barang
Sub_total
Jumlah _beli
Type
Size
10
10
int
char
int
int
Constrain
Foreign key
Foreign key
Not null
Not null
keterangan
Nomor transaksi
Identitas barang
Sub total
Jumlah beli
5. Tabel Perhitungan
Tabel perhitungan digunakan untuk menyimpan data perhitungan yang akan
digunakan untuk proses perhitungan . Field-field dari tabel perhitungan dapat dilihat
pada tabel 3.5 berikut ini :
Tabel 3.5 Tabel Perhitungan
Field
Id_prhitungan
int
Type
Size
10
Min_transaksi
Min_confidence
Jum_transaksi
int
Double
int
15
15
15
Constrain
Primary
key,identity (100,1)
Not null
Not null
Not null
keterangan
Identitas perhitungan
Minimal transaksi
Minimal confidence
Jumlah transaksi
6. Tabel Alternatif
Tabel alternatif digunakan untuk menyimpan data hasil perhitungan . Field-field dari
tabel keputusan dapat dilihat pada tabel 3.6 berikut ini :
Tabel 3.6 Tabel Alternatif
Field
Id_alternatif
Type
int
Id_perhitungan
Pasangan_1
Pasangan_2
Confidence_akhir
int
char
char
double
Size
10
15
15
Constrain
Primary key,identity
(1000,1)
Foreign key
Not null
Not null
Not null
keterangan
Identitas alternatif
Identitas perhitungan
Pasangan 1
Pasangan2
Confidnce akhir
46
7.Tabel User
Tabel user digunakan untuk menyimpan data user yang akan login baik itu sebagai
pemilik swalayan maupun karyawan. Field-field dari tabel user dapat dilihat pada tabel 3.7
Tabel 3.7 Tabel user
Field
User_name
password
status
Type
Char
Varchar
Var
Size
10
10
20
Constrain
Primary key
Not null
Notnull,
check(‘karyawan’,manager)
keterangan
Nama user
passoword
Status login
3.3.3 Relasi Antar Tabel
Berikut ini merupakan penjelasan tentang relasi antar tabel SPK Analisis Pola
Pembelian Produk Dengan Metode Algoritma Apriori :
Relasi antar tabel
kategori
_barang
Detil penjualan
Id_kategori*
kategori
id_barang *
id_kategori**
nama_brg
harga
jumlah
id_penjualan**
id_barang **
sub_total
jumlah
user
user_name*
password
status
Alternatif
id_keputusan*
id_prhitungan**
pasangan_1
pasangan_2
confidence_akhir
Keterangan : * Primary Key
** Foreign Key
perhitungan
id_prhitungan*
min_transaksi
min_confidence
jum_transaksi
Gambar 3. 6 Relasi Antar Tabel
penjualan
id_penjualan*
tgl_penjualan
total_penjualan
47
3.4 Rancangan Struktur Menu
Rancangan struktur pada sistem pendukung keputusan ini sebagai berikut :
LOGIN
Pemilik swalayan
Perhitungan/
DSS
Alternatif
Karyawan
Data
cetak
logout
Data
Logout
kategori
kategori
penjualan
penjualan
barang
barang
Data User
Data User
Gambar 3. 7 Relasi Antar Tabel
3.5 Rancangan Antar muka
Rancangan
antarmuka
adalah
perantara
komunikasi
antara
sistem
dengan
pengguna.Untuk mempermudah pengguna melihat fasilitas yang disediakan.Adapun
rancangan antarmuka pada sistem ini antara lain meliputi :
3.5.1 Rancangan Halaman Login
Tampilan utama ini digunakan untuk pemilik swalayan ataupun karyawan yang ingin
login dengan mengisi user name dan password dengan benar terlebih dahulu.
Tampilan dapat dilihat pada gambar 3.8 berikut :
48
SISTEM PENDUKUNG KEPUTUSAN ANALISIS POLA PEMBELIAN PRODUK
DENGAN METODE ALGORITMA APRIORI
LOGIN
Username
Password
Login
Cancel
Gambar 3.8 Rancangan Halaman Login
3.5.2. Rancangan Halaman Home Karyawan
Tampilan ini dibuat untuk memberikan layanan kepada karyawan saat membuka
komunikasi dengan sistem yang dibuat untuk memilih menu yang disajikan.pada halaman ini
karyawan tidak bisa mengakses yang di arsir yaitu dss dan cetak .Tampilan ini dapat dilihat
pada gambar 3.9 berikut :
Gambar 3.9 Rancangan Halaman Home Karyawan
49
3.5.3 Rancangan Halaman home pemilik swalayan
Pada tampilan ini sistem memberikan layanan kepada pemilik swalayan saat membuka
komunikasi dengan sistem yang dibuat untuk memilih menu yang disajikan.
Adapun
tampilannya dapat dilihat pada gambar 3.10 sebagai berikut :
Gambar 3.10 Rancangan Halaman Menu Utama pemilik swalayan
3.5.4 Rancangan Halaman Data Barang
Pada tampilan ini sistem memberikan layanan kepada pengguna yaitu pemilik
karyawan untuk menginput,menghapus,mengubah dan menyimpan data barang selain itu
pemilik swalayan juga dapat melihat halaman data barang. Adapun tampilannya dapat dilihat
pada gambar 3.11 sebagai berikut:
50
Gambar 3.11 Rancangan Halaman Data barang
Keterangan :
Id_barang
: Inputkan kode barang
Id_kategori
: Inputkan kode kategori
Nama barang
: Inputkan nama barang
Jumlah
: Inputkan jumlah barang
Simpan
: menyimpan hasil inputan
51
Hapus
: menghapus data
Tambah
: tambah barang
3.5.5 Rancangan Halaman Data Penjualan
Pada tampilan ini sistem memberikan layanan kepada pengguna, dalam hal ini pemilik
swalayan dan karyawan untuk mengolah data penjualan. Adapun tampilannya dapat dilihat
pada gambar 3.12 sebagai berikut
Gambar 3.12 Rancangan Halaman Data penjualan
Keterangan :
Id penjualan
: kode penjualan
total penjualan
:total penjualan
tgl penjualan
: tanggal penjualan
uang yang di bayar :konsumen bayar
Nama barang
: nama barang yang di jual
kembali
:uang kembali
52
Harga
: harga barang
simpan : simpan data
Jumlah
: jumlah barang yang di beli
batal
Sub total
: harga di kali jumlah barang
: batalkan data
3.5.6 Rancangan Halaman Data Kategori
Pada tampilan ini sistem memberikan layanan kepada pengguna yaitu pemilik
karyawan untuk mengolah data kategori selain itu pemilik swalayan juga dapat melihat data
kategori. Adapun tampilannya dapat dilihat pada gambar 3.13 sebagai berikut:
Gambar 3.13 Rancangan Halaman Data kategori
Keterangan :
Id kategori
: kode kategori
ubah : mengubah data kategori
53
Kategori
: nama kategori barang
Simpan
: untuk menyimpan data yang diolah
Hapus
: menghapus data kategori
Tambah
: menambah data kategori
batal : batalkan yang diolah
3.5.7 Rancangan Halaman Perhitungan (DSS)
Pada tampilan ini sistem memberikan layanan kepada pengguna, dalam hal ini pemilik
swalayan yang berhak melakukan perhitungan untuk memperoleh suatu keputusan. Adapun
tampilannya dapat dilihat pada gambar 3.14 sebagai berikut :
Gambar 3.14 Rancangan Halaman perhitungan (DSS)
Keterangan :
Minimum transaksi
: minimum jumlah muncul barang pada jumlah transaksi
Minimum confidence : minimum nilai confidence yang di masukan pemilik swalayan
54
Jumlah transaksi
: total jumlah transaksi yang akan di proses
Proses
: perhitungan
Cetak keputusan
: mencetak hasil dari proses
Lihat sketsa
: melihat sketsa dari hasil proses
Tutup
: menutup proses perhitungan
3.5.8 Rancangan Halaman Data user
Pada tampilan ini sistem memberikan layanan kepada pengguna, dalam hal ini
pemilik swalayan dapat memasukan atau menghapus data user.Adapun tampilannya dapat
dilihat pada gambar 3.15 sebagai berikut :
Gambar 3.9 Rancangan Halaman Data User
55
3.5.9 Rancangan Halaman Alternatif
Pada tampilan ini sistem memberikan layanan kepada pengguna, dalam hal ini pemilik
swalayan dapat melihat hasil keputusan.Adapun tampilannya dapat dilihat pada gambar 3.16
sebagai berikut :
DATA ALTERNATIF
Alternatif
Tutup
- XXXXXXXXXXXXXXXXXXXXXXXXXXXX
- XXXXXXXXXXXXXXXXXXXXXXXXXXXX
- XXXXXXXXXXXXXXXXXXXXXXXXXXXX
Selesai
- XXXXXXXXXXXXXXXXXXXXXXXXXXXX
- XXXXXXXXXXXXXXXXXXXXXXXXXXXX
Gambar 3.16 Rancangan Halaman data alternatif
56
BAB IV
IMPLEMENTASI
4.1
Spesifikasi perangkat keras ( hardware )
Perangkat keras yang dibutuhkan dalam pembuatan aplikasi ini adalah :
1. Intel(R) core i3(TM) Processor M 350 @2.27 GHZ
2. Memory 2 GB
3. Hardisk 250 GB
4. Mouse.
4.2
Spesifikasi perangkat lunak ( Software )
Perangkat lunak yang dibutuhkan dalam pembuatan aplikasi ini adalah :
1. Microsoft Visual Basic 6.0
2. Pengolahan basis data menggunakan SQL server 2000
4.3
Implementasi Aplikasi Program
Pada implementasi program ini terbagi menjadi dua bagian yaitu halaman untuk
pemilik swalayan dan halaman untuk karyawan. Implementasi program merupakan tindak
lanjut dari desain yang telah direncanakan sebelumnya. Pada implementasi ini akan dibahas
listing program sampai dengan interface nya yang telah dibuat.
4.3.1 Halaman Login
Halaman ini digunakan untuk keamanan data. User yang akan menggunakan sistem
harus login terlebih dahulu dengan mengisi username dan password sesuai ketentuan dari
sistem. Penginputan data dari form login harus sesuai. Apabila tidak sesuai maka sistem tidak
57
akan merespon dan tidak dapat dilanjutkan kemenu berikut. Form login dapat dilihat pada
gambar 4.1 berikut ini :
Gambar 4.1 Login Admin
Berikut ini adalah potongan program form_login:
Option Explicit
Dim rs, rs2, rs3 As New ADODB.Recordset
Private Sub Form_Load()
konek
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command4_Click()
If Text1.Text = "" Then
MsgBox "username kosong", vbInformation, "Informasi"
Text1.SetFocus
Exit Sub
ElseIf Text2.Text = "" Then
MsgBox "Password Kosong", vbInformation, "Informasi"
Text2.SetFocus
Exit Sub
Else
Set rs = conn.Execute("select count(*) from [user] where
username=" _
& "'" & Text1.Text & "'")
If rs(0) = 0 Then
MsgBox "Maaf username anda salah atau tidak terdaftar",
vbInformation, "Information"
Text1.Text = ""
Text1.SetFocus
Exit Sub
End If
Set rs2 = conn.Execute("select count(*) from [user] where
password=" _
& "'" & Text2.Text & "'")
If rs2(0) = 0 Then
MsgBox "Password yang anda masukan salah", vbInformation,
"Information"
Text2.Text = ""
Text2.SetFocus
Exit Sub
Modul 4.1 halaman Login
End If
Set rs3 = conn.Execute("select count(*) from [user] where username=" _
& "'" & Text1.Text & "' and password='" & Text2.Text & "'")
58
End If
Set rs3 = conn.Execute("select count(*) from [user] where
username=" _
& "'" & Text1.Text & "' and password='" & Text2.Text & "'")
If rs3(0) = 0 Then
MsgBox "Username dan password tidak ada", vbInformation,
"Information"
Exit Sub
Else '
Set rs4 = conn.Execute("select status from [user] where
username='" & Text1.Text & "'")
If Not rs.EOF Then status = rs4!status
user = Text1.Text
'
MsgBox status
If status = "Karyawan" Then
frmMenu.mnCetak.Enabled = False
frmMenu.mnDss.Enabled = False
frmMenu.mnPengguna.Enabled = False
End If
frmMenu.Show
Unload Me
End If
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ModulCommand4_Click
4.2 Lanjutan halaman Login
End Sub
4.3.2 Halaman Utama (Menu)
Halaman ini merupakan cakupan dari seluruh form yang ada pada sistem,antara lain
menu DSS, menu cetak,menu data (data kategori,data barang,data penjualan,data pengguna)
untuk user yang login sebagai pemilik swalayan.Adapun tampilannya dapat dilihat pada
gambar berikut ini :
59
Gambar 4.2 Halaman Menu Utama Pemilik Swalayan
Sedangkan untuk user yang login sebagai karyawan tidak bisa mengakses menu DSS dan
cetak.Adapun tampilan sebagai berikut :
Gambar 4.3 Halaman Menu Utama Karyawan
60
Berikut ini adalah potongan program form menu:
Private Sub Command1_Click()
Command5.Visible
True
Gambar =4.3
Halaman Menu Utama Karyawan
'Command12.Visible = True
Command14.Visible = True
Command6.Visible = False
Command13.Visible = False
Command7.Visible = False
Command8.Visible = False
Command9.Visible = False
Command10.Visible = False
Command11.Visible = False
End Sub
Private Sub Command10_Click()
DRPerhitungan.Show
End Sub
Private Sub Command11_Click()
DRKeputusan.Show
End Sub
Private Sub Command14_Click()
End
End Sub
Private Sub Command2_Click()
Command6.Visible = True
Command13.Visible = True
Command5.Visible = False
'Command12.Visible = False
Command14.Visible = False
Command8.Visible = False
Command9.Visible = False
Command10.Visible = False
Command11.Visible = False
Command7.Visible = False
End Sub
Private Sub Command3_Click()
Command5.Visible = False
'Command12.Visible = False
Command6.Visible = False
Command13.Visible = False
Command7.Visible = True
Command8.Visible = False
Modul 4.3 halaman Menu utama
61
Command9.Visible = False
Command10.Visible = False
Command11.Visible = False
Command14.Visible = False
End Sub
Private Sub Command4_Click()
Command5.Visible = False
'Command12.Visible = False
Command6.Visible = False
Command13.Visible = False
Command7.Visible = False
Command8.Visible = True
Command9.Visible = True
Command10.Visible = True
Command11.Visible = True
Command14.Visible = False
End Sub
Private Sub Command5_Click()
frmUser.Show
End Sub
Private Sub Command8_Click()
DRBarang.Show
End Sub
Private Sub Command9_Click()
DRPenjualan.Show
End Sub
Private Sub mnCetak_Click()
frmKeputusan.Show
Me.Hide
End Sub
Private Sub mnDBarang_Click()
frmBarang.Show
Me.Hide
End Sub
Private Sub mnDKategori_Click()
frmKategori.Show
Me.Hide
End Sub
Private Sub mnDPenjualan_Click()
frmPenjualan.Show
Me.Hide
End Sub
Private Sub mnDss_Click()
frmPerhitungan.Show
Me.Hide
End Sub
Private Sub mnLogout_Click()
frmLogin.Show
Unload Me
End Sub
Private Sub mnPengguna_Click()
frmUser.Show
Modul 4.4 Lanjutan halaman Menu Utama
End Sub
62
4.3.3 Halaman Data Kategori
Halaman ini digunakan untuk menambahkan data Kategori. Adapun tampilannya dapat
dilihat pada gambar 4.4 berikut ini
Gambar 4.4 Halaman Data Kategori
Berikut ini adalah potongan program form Kategori:
Option Explicit
Dim rsKategori As New ADODB.Recordset
Dim op As String
Sub kosongkan()
Text1.Text = ""
Text2.Text = ""
End Sub
Sub tampilkan()
On Error Resume Next
Call kosongkan
If rsKategori.RecordCount <= 0 Then Exit Sub
With rsKategori
Text1.Text = Trim(.Fields("ID Kategori"))
Modul 4.5 Halaman kategori
63
Text2.Text = Trim(.Fields("Kategori"))
End With
End Sub
Private Sub Command3_Click()
Dim konfirm As VbMsgBoxResult
konfirm = MsgBox("Anda yakin mau menghapus Produk dengan
id_kategori='" & _
Text1.Text & "'", vbExclamation + vbOKCancel, "Konfirmasi")
On Error GoTo out
If konfirm = vbOK Then
conn.Execute "delete from kategori where id_kategori='" &
Trim(Text1.Text) & "'"
rsKategori.Requery
MsgBox "Data berhasil dihapus", vbInformation, "Information"
DataGrid1.Refresh
End If
Exit Sub
out:
MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical, "Error"
End Sub
Private Sub Command5_Click()
Unload Me
frmMenu.Show
End Sub
Private Sub Command4_Click()
Dim query As String
If Text1.Text = "" Then
MsgBox "ID Kategori tidak boleh kosong", vbInformation, "Warning"
Exit Sub
ElseIf Text2.Text = "" Then
MsgBox " Kategori tidak boleh kosong", vbInformation, "Warning"
Exit Sub
End If
If op = "BARU" Then
query = "insert into kategori values('" & Text1.Text & "'," _
& "'" & Text2.Text & "') "
ElseIf op = "UBAH" Then
query = "update kategori set kategori='" & Text2.Text & "' where
id_kategori='" & Text1.Text & "' "
MsgBox "Data berhasil dirubah", vbInformation, "Information"
End If
On Error GoTo out
conn.Execute query
rsKategori.Requery
DataGrid1.Refresh
Call Batal
op = ""
'
otoKode
Exit Sub
out:
MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical, "ERROR"
End Sub
Modul 4.6 Lanjutan Halaman kategori
Private Sub Command2_Click()
64
If Command2.Caption = "Batal" Then
Batal
Command2.Caption = "Ubah"
Else
Call ubahTombolAktif(True)
Call ubahAktifTextBox(True)
Text1.Locked = True
Text2.SetFocus
op = "UBAH"
Command2.Caption = "Batal"
Command2.Enabled = True
End If
End Sub
Private Sub Form_Load()
konek
'
On Error GoTo out
op = ""
Set rsKategori = conn.Execute("SELECT id_kategori as [ID
Kategori],kategori " _
& " as [Kategori] FROM kategori")
Set DataGrid1.DataSource = rsKategori
Call tampilkan
Exit Sub
out:
MsgBox "Terjadi kesalahan" + vbCr + Err.Description, vbCritical,
"Error"
End Sub
Sub ubahTombolAktif(status As Boolean)
Command2.Caption = "Ubah"
Command1.Caption = "Tambah"
Command1.Enabled = Not (status)
Command2.Enabled = Not (status)
Command4.Enabled = (status)
Command3.Enabled = Not (status)
End Sub
Sub ubahAktifTextBox(status As Boolean)
Text1.Locked = Not (status)
Text2.Locked = Not (status)
End Sub
Private Sub Command1_Click()
If Command1.Caption = "Batal" Then
Batal
Command1.Caption = "Tambah"
Else
Call ubahTombolAktif(True)
Call kosongkan
Call ubahAktifTextBox(True)
Text2.SetFocus
op = "BARU"
Command1.Caption = "Batal"
Command1.Enabled = True
otoKode
End If
End Sub
Modul 4.7 Lanjutan Halaman kategori
65
Sub otoKode()
Dim kode As String
sql = "select max(right(id_kategori,4)) as maxkode
Set rs2 = conn.Execute(sql)
If IsNull(rs2("maxkode")) Then
kode = "K0001"
Else
kode = rs2("maxkode")
kode = "K" & Right("0000" & (kode + 1), 4)
End If
Text1.Text = kode
Text1.Enabled = False
End Sub
from kategori"
Sub Batal()
op = ""
Call tampilkan
Call ubahTombolAktif(False)
Call ubahAktifTextBox(False)
End Sub
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As
Integer)
If rsKategori.BOF Or rsKategori.EOF Then
MsgBox "Sudah di Akhir atau Awal data"
Else
tampilkan
End If
End Sub
Modul 4.8 Lanjutan Halaman Kategori
4.3.4 Halaman Data Barang
Halaman ini berisi data-data barang.Halaman ini juga dapat digunakan untuk
menambah,mengedit, dan menghapus data barang. Adapun tampilannya dapat dilihat pada
gambar 4.5 berikut ini :
Batal
66
Gambar 4.5 Halaman Data Barang
Berikut ini adalah potongan program form Barang:
Option Explicit
Dim rsBarang As New ADODB.Recordset
Dim op, id_kategori As String
Sub kosongkan()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Combo1.Text = "Kategori"
End Sub
Sub tampilkan()
Modul 4.9 Halaman Data Barang
67
On Error Resume Next
Call kosongkan
If rsBarang.RecordCount <= 0 Then Exit Sub
With rsBarang
Text1.Text = Trim(.Fields("ID barang"))
Text2.Text = Trim(.Fields("nama barang"))
Text3.Text = Trim(.Fields("harga"))
Text4.Text = Trim(.Fields("jumlah"))
Combo1.Text = Trim(.Fields("kategori"))
End With
End Sub
Private Sub Combo1_Click()
Set rs4 = conn.Execute("select id_kategori from kategori where
kategori='" & Trim(Combo1.Text) & "'")
id_kategori = rs4!id_kategori
End Sub
Private Sub Command3_Click()
Dim konfirm As VbMsgBoxResult
konfirm = MsgBox("Anda yakin mau menghapus Barang dengan
id_barang='" & _
Text1.Text & "'", vbExclamation + vbOKCancel, "Konfirmasi")
On Error GoTo out
If konfirm = vbOK Then
conn.Execute "delete from barang where id_barang=" &
Trim(Text1.Text) & ""
rsBarang.Requery
MsgBox "Data berhasil dihapus", vbInformation, "Information"
DataBarang.Refresh
End If
Exit Sub
out:
MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical,
"Error"
End Sub
Private Sub Command5_Click()
frmMenu.Show
Unload Me
End Sub
Private Sub Command4_Click()
Dim query As String
If Text1.Text = "" Then
MsgBox "ID Barang tidak boleh kosong", vbInformation, "Warning"
Exit Sub
ElseIf Text2.Text = "" Then
MsgBox "Nama Barang tidak boleh kosong", vbInformation,
"Warning"
Exit Sub
ElseIf Text3.Text = "" Then
MsgBox "Harga tidak boleh kosong", vbInformation, "Warning"
Modul 4.10 Lanjutan Halaman Data Barang
Exit Sub
ElseIf Text4.Text = "" Then
MsgBox "Jumlah tidak boleh kosong", vbInformation, "Warning"
Exit Sub
68
End If
If op = "BARU" Then
query = "insert into barang values(" & Text1.Text & "," _
& "'" & Text2.Text & "'," & Text3.Text & " " _
& "," & Text4.Text & ",'" & id_kategori & "') "
ElseIf op = "UBAH" Then
query = "update barang set nama_brg='" & Text2.Text & "'," _
& " harga=" & Text3.Text & ",jumlah=" & Text4.Text &
",id_kategori='" & id_kategori & "'" _
& " where id_barang=" & Text1.Text & " "
MsgBox "Data berhasil dirubah", vbInformation, "Information"
End If
On Error GoTo out
conn.Execute query
rsBarang.Requery
DataBarang.Refresh
Call Batal
op = ""
Exit Sub
out:
MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical,
"ERROR"
End Sub
Private Sub Command2_Click()
If Command2.Caption = "Batal" Then
Batal
Command2.Caption = "Ubah"
Else
Call ubahTombolAktif(True)
Call ubahAktifTextBox(True)
Text1.Locked = True
Text2.SetFocus
op = "UBAH"
Command2.Caption = "Batal"
Command2.Enabled = True
End If
End Sub
Private Sub Form_Load()
konek
'
On Error GoTo out
op = ""
Set rsBarang = conn.Execute("SELECT id_barang as [ID
Barang],nama_brg " _
& " as [Nama Barang],Harga ,Jumlah,Kategori FROM barang b,kategori
k where k.id_kategori=b.id_kategori")
Set DataBarang.DataSource = rsBarang
Call tampilkan
Set rs3 = conn.Execute("select kategori from kategori")
'
Combo1.Clear
'
Combo1.Text = "Kategori"
Do While Not rs3.EOF
Modul 4.11 Lanjutan Halaman Data Barang
69
Combo1.AddItem rs3!kategori
rs3.MoveNext
Loop
Exit Sub
out:
MsgBox "Terjadi kesalahan" + vbCr + Err.Description, vbCritical,
"Error"
End Sub
Sub ubahTombolAktif(status As Boolean)
Command2.Caption = "Ubah"
Command1.Caption = "Tambah"
Command1.Enabled = Not (status)
Command2.Enabled = Not (status)
Command4.Enabled = (status)
Command3.Enabled = Not (status)
End Sub
Sub ubahAktifTextBox(status As Boolean)
Text1.Locked = Not (status)
Text2.Locked = Not (status)
Text3.Locked = Not (status)
Text4.Locked = Not (status)
End Sub
Private Sub Command1_Click()
If Command1.Caption = "Batal" Then
Batal
Command1.Caption = "Tambah"
Else
Call ubahTombolAktif(True)
Call kosongkan
Call ubahAktifTextBox(True)
Text1.SetFocus
op = "BARU"
Command1.Caption = "Batal"
Command1.Enabled = True
otoKode
End If
End Sub
Sub otoKode()
Dim kode As String
sql = "select max(id_barang) as maxkode from barang"
Set rs2 = conn.Execute(sql)
If IsNull(rs2("maxkode")) Then
Else
kode = rs2("maxkode")
kode = kode + 1
End If
Text1.Text = kode
Text1.Enabled = False
End Sub
Sub Batal()
op = ""
Call tampilkan
Modul 4.12 Lanjutan Halaman Data Barang
70
Call ubahTombolAktif(False)
Call ubahAktifTextBox(False)
End Sub
Private Sub DataBarang_RowColChange(LastRow As Variant, ByVal LastCol
As Integer)
If rsBarang.BOF Or rsBarang.EOF Then
MsgBox "Sudah di Akhir atau Awal data"
Else
tampilkan
End Sub
Modul 4.13 Lanjutan Halaman Data Barang
4.3.4 Halaman Data Penjualan
Halaman ini berisi data penjualan yang akan digunakan untuk proses perhitungan pada
Sistem Pendukung Keputusan ini, Adapun tampilannya dapat dilihat pada gambar 4.6 berikut
Gambar 4.6 Halaman Data Penjualan
71
Berikut ini adalah potongan program form Data Penjualan:
Option Explicit
Dim rs As New ADODB.Recordset
Dim op As String
Private Sub Combo1_Click()
Set rs = conn.Execute("select * from barang where id_barang='" &
Combo1.Text & "'")
If rs.RecordCount <= 0 Then Exit Sub
Label3.Caption = rs(1)
Text7.Text = rs("harga")
End Sub
Private Sub Command1_Click()
jawab = MsgBox("Yakin Mau Menghapus Data dengan kode '" & Text6.Text &
"'? " & vbCrLf & "", vbYesNo + vbQuestion, "Confirmation")
If jawab = 6 Then
ListView1.ListItems.Remove (ListView1.SelectedItem.Index)
totalBayar
Command1.Enabled = False
End If
End Sub
Private Sub Command4_Click()
If op = "" Then
otoKode
Combo1.Locked = False
Text4.Locked = False
Text7.Locked = False
op = "Simpan"
Command4.Caption = "Simpan"
ElseIf op = "Simpan" Then
On Error GoTo out
If Text1.Text = "" Then
MsgBox "Jumlah bayar belum diisi", vbInformation,
"Informasi"
Text1.SetFocus
Exit Sub
End If
sql = "INSERT INTO transaksi VALUES(" & Text3.Text & ",'" &
Format(Text2.Text, "mm/dd/yyyy") & "'," _
& " " & Val(Text5.Text) & ") "
conn.Execute (sql)
For i = 1 To ListView1.ListItems.Count
With ListView1.ListItems.Item(i)
On Error GoTo out
sql = "INSERT INTO detail_transaksi VALUES(" & .Text &
"" _
& ", " & Text3.Text & "," & .SubItems(4) & "," &
.SubItems(3) & ")"
conn.Execute (sql)
End With
Next
MsgBox "Transaksi telah tersimpan", vbInformation, "Informasi"
ListView1.ListItems.Clear
Command4.Caption = "Transaksi Baru"
op = ""
Modul 4.14 Halaman Penjualan
End If
Exit Sub
72
out:
MsgBox "Error" + vbCr + Err.Description, vbCritical, "ERROR"
'End If
End Sub
Sub otoKode()
Dim kode As Integer
sql = "select max(kd_transaksi)
Set rs = conn.Execute(sql)
If IsNull(rs("maxkode")) Then
kode = "1"
Else
kode = rs("maxkode") + 1
End If
Text3.Text = kode
End Sub
as maxkode
from transaksi"
Private Sub Command5_Click()
Unload Me
frmMenu.Show
End Sub
Private Sub Form_Load()
konek
op = ""
'Text1.Text = user
Text2.Text = Format(Now, "dd/mm/yyyy")
Set rs = conn.Execute("select * from barang")
If rs.RecordCount <= 0 Then Exit Sub
Combo1.Clear
Combo1.Text = "Pilih barang"
Do While Not rs.EOF
Combo1.AddItem rs(0)
rs.MoveNext
Loop
End Sub
Private Sub ListView1_Click()
Command1.Enabled = True
End Sub
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim SelectedRow As Long
If rs.EOF And rs.BOF Then
MsgBox "Data kosong!", vbInformation, "Informasi"
Else
SelectedRow = Item.Index
Text6.Text = ListView1.ListItems(SelectedRow).Text
End If
End Sub
Modul 4.15 Lanjutan Halaman Penjualan
73
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text6.Text = Val(Text1.Text) - Val(Text5.Text)
Command4.SetFocus
End If
End Sub
Private Sub Text4_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
'On Error GoTo out
sql = "Select * from barang where id_barang=" & Combo1.Text & ""
Set rs = conn.Execute(sql)
'
ListView1.ListItems.Clear
Do While Not rs.EOF
With ListView1.ListItems.Add
.Text = rs(0)
For i = 1 To rs.Fields.Count - 1
'.SubItems(i) = rs(i)
.SubItems(1) = rs(1)
.SubItems(2) = rs(2)
.SubItems(3) = Text4.Text
'
.SubItems(4) = Val(Text7.Text) / 100
.SubItems(4) = Val(Text4.Text) * rs(2) ' (Val(Text4.Text) * rs(2) * Val(Text7.Text) / 100)
Next
End With
rs.MoveNext
Loop
totalBayar
Combo1.Text = "Pilih Barang"
Text4.Text = ""
Text6.Enabled = True
Text6.Locked = False
Combo1.SetFocus
Exit Sub
out:
MsgBox "Error" + vbCr + Err.Description, vbCritical, "ERROR"
En d If
End Sub
Sub totalBayar()
On Error GoTo out
Dim total As Long
total = 0
For i = 1 To ListView1.ListItems.Count
total = total + Val(ListView1.ListItems(i).SubItems(4))
Next i
Text5.Text = total 'Format(CCur("0" & total), "#,##0")
Exit Sub
out:
MsgBox "Error" + vbCr + Err.Description, vbCritical, "ERROR"
End Sub
Modul 4.16 Lanjutan Halaman Penjualan
74
4.3.5 Halaman Data User
Halaman ini hanya bisa diakses oleh pemilik swalayan.Untuk memasukan data-data
user yang digunakan pada saat login.Adapun tampilannya dapat dilihat pada gambar 4.7
berikut:
Gambar 4.7 Halaman Data User
Berikut ini adalah potongan program form Data Penjualan:
Option Explicit
Dim rs As New ADODB.Recordset
Dim op As String
Sub kosongkan()
Text1.Text = ""
Text2.Text = ""
Combo1.Text = "Status User"
End Sub
Sub tampilkan()
Call kosongkan
If rs.RecordCount <= 0 Then Exit Sub
Modul 4.17 Halaman Data User
75
With rs
Text1.Text = Trim(.Fields("username"))
Text2.Text = Trim(.Fields("password"))
Combo1.Text = Trim(.Fields("status"))
End With
End Sub
Private Sub Command3_Click()
Dim konfirm As VbMsgBoxResult
konfirm = MsgBox("Anda yakin mau menghapus Produk dengan
username='" & _
Text1.Text & "'", vbExclamation + vbOKCancel, "Konfirmasi")
On Error GoTo out
If konfirm = vbOK Then
conn.Execute "delete from [USER] where username='" &
Trim(Text1.Text) & "'"
rs.Requery
MsgBox "Data berhasil dihapus", vbInformation, "Information"
DataGrid1.Refresh
End If
Exit Sub
out:
MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical,
"Error"
End Sub
Private Sub Command5_Click()
Unload Me
frmMenu.Show
End Sub
Private Sub Command4_Click()
Dim query As String
If Text1.Text = "" Then
MsgBox "Username tidak boleh kosong", vbInformation, "Warning"
Exit Sub
ElseIf Text2.Text = "" Then
MsgBox "Password tidak boleh kosong", vbInformation, "Warning"
Exit Sub
ElseIf Combo1.Text = "Status User" Then
MsgBox "Anda belum memilih status", vbInformation, "Warning"
Exit Sub
End If
If op = "BARU" Then
query = "insert into [user] values('" & Text1.Text & "'," _
& "'" & Text2.Text & "','" & Combo1.Text & "') "
MsgBox "Data berhasil disimpan", vbInformation, "Information"
ElseIf op = "UBAH" Then
query = "update [user] set password='" & Text2.Text &
"',status='" & Combo1.Text & "'" _
& " where username='" & Text1.Text & "' "
MsgBox "Data berhasil dirubah", vbInformation, "Information"
End If
On Error GoTo out
conn.Execute query
rs.Requery
DataGrid1.RefreshModul 4.18 Lanjutan Halaman Data User
Call Batal
76
Exit Sub
out:
MsgBox "Terjadi Error" + vbCr + Err.Description, vbCritical,
"ERROR"
End Sub
Private Sub Command2_Click()
If Command2.Caption = "Batal" Then
Batal
Command2.Caption = "Ubah"
Else
Call ubahTombolAktif(True)
Call ubahAktifTextBox(True)
Text1.Locked = True
Text2.SetFocus
op = "UBAH"
Command2.Caption = "Batal"
Command2.Enabled = True
End If
End Sub
Private Sub Form_Load()
konek
'
On Error GoTo out
op = ""
Set rs = conn.Execute("SELECT Username,Password,Status FROM
[user]")
Set DataGrid1.DataSource = rs
Call tampilkan
Combo1.AddItem "Manager"
Combo1.AddItem "Karyawan"
Exit Sub
out:
MsgBox "Terjadi kesalahan" + vbCr + Err.Description, vbCritical,
"Error"
End Sub
Sub ubahTombolAktif(status As Boolean)
Command2.Caption = "Ubah"
Command1.Caption = "Tambah"
Command1.Enabled = Not (status)
Command2.Enabled = Not (status)
Command4.Enabled = (status)
Command3.Enabled = Not (status)
End Sub
Sub ubahAktifTextBox(status As Boolean)
Text1.Locked = Not (status)
Text2.Locked = Not (status)
End Sub
Private Sub Command1_Click()
If Command1.Caption = "Batal" Then
Batal
Command1.Caption = "Tambah"
Modul 4.19 Lanjutan Halaman Data User
77
Else
Call ubahTombolAktif(True)
Call kosongkan
Call ubahAktifTextBox(True)
Text1.SetFocus
op = "BARU"
Command1.Caption = "Batal"
Command1.Enabled = True
End If
End Sub
Sub Batal()
op = ""
Call tampilkan
Call ubahTombolAktif(False)
Call ubahAktifTextBox(False)
End Sub
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As
Integer)
If rs.BOF Or rs.EOF Then
MsgBox "Sudah di Akhir atau Awal data"
Else
tampilkan
End If
End Sub
Modul 4.20 Lanjutan Halaman Data User
4.3.6 Halaman Decision Support System (DSS)
Halaman ini hanya bisa diakses oleh pemilik swalayan.Pemilik swalayan melakukan
perhitungan dengan memasukan nilai minimum transaksi dan nilai minimum confidence untuk
proses perhitungan dan setelah itu hasil dari proses masih berupa kode produk.Adapun
tampilannya dapat dilihat pada gambar 4.8 berikut:
78
Berikut ini adalah potongan program form DSS:
Option Explicit
Gambar
Halaman DSS
Dim rs, rs2, rs3, rs4
As New4.8ADODB.Recordset
Private Sub Command1_Click()
Me.Hide
frmKeputusan.Show
End Sub
Private Sub Command4_Click()
Dim c, i, j, k, l, m, a, temp, total_trans, min_transaksi As Integer
Dim mc As Variant
Dim min_confidence1, min_confidence2 As Double
Dim hasil As Double
Dim jml, item1, item2, item3 As String
Dim keluar As Boolean
Dim antecedent, konklusi As String
If Text1.Text = "" And Text2.Text = "" Then
MsgBox "Minimum transaksi dan minimum Confidence tidak boleh
kosong", vbInformation, "Informasi"
Exit Sub
Modul 4.21
Halaman Data Perhitungan
79
End If
Set rs = conn.Execute("select count(kd_transaksi) from transaksi")
Text3.Text = rs(0)
total_trans = rs(0)
min_transaksi = Text1.Text
min_confidence1 = Val(Text2.Text)
'min_confidence1 = 0
keluar = False
List1.Clear
'****************************************'
'mengambil item yang memenuhi syarat (C1)'
'****************************************'
c = 1
On Error Resume Next
conn.Execute ("drop table c1")
conn.Execute ("truncate table keputusan")
conn.Execute ("create table c1(item1 integer,jml integer)")
conn.Execute ("insert into c1 select kd_barang,count(kd_transaksi) from
" _
& "detail_transaksi group by kd_barang having count(kd_transaksi)>=" _
& "" & min_transaksi & " order by kd_barang")
conn.Execute ("delete from tmp")
conn.Execute ("insert into tmp values (" & min_transaksi & "," &
Text2.Text & ")")
'conn.Execute ("insert into perhitungan values('','',''," &
min_transaksi & "," & min_confidence1 & ")")
'********************************************'
'mengambil item yang memenuhi syarat (C2) dst'
'********************************************'
Do While keluar = False
c = c + 1
'MsgBox "C: " & c & " keluar: " & keluar & ""
On Error Resume Next
conn.Execute ("drop table c" & c & "")
'buat table
sql = "create table c" & c & " ("
For i = 1 To c
sql = sql & "item" & i & " integer, "
'
MsgBox i
Next
sql = sql & "jml integer)"
conn.Execute (sql)
'
MsgBox sql
'isi table
sql = "insert into c" & c & " select distinct"
For i = 1 To c - 1
sql = sql & " p.item" & i & ","
Next
sql = sql & " q.item" & (c - 1) & ",(select count(t.kd_transaksi)
from" _
& " transaksi t where (select count(*) from detail_transaksi d " _
& " where d.kd_barang in("
For i = 1 To c - 1
sql = sql & "p.item" & i & ", "
Modul 4.22 Lanjutan Halaman Data Perhitungan
Next
sql = sql & "q.item" & (c - 1) & ") and
t.kd_transaksi=d.kd_transaksi) " _
80
& " >= " & (c) & ") from c" & (c - 1) & " p,c" & (c - 1) & " q where
" _
& " q.item" & (c - 1) & ">p.item" & (c - 1) & ""
For i = 2 To c - 1
sql = sql & " and p.item" & i & ">p.item" & (i - 1) & ""
Next
sql = sql & " order by"
For i = 1 To c - 1
sql = sql & " p.item" & i & ","
Next
sql = sql & " q.item" & (c - 1) & ""
conn.Execute (sql)
'hapus table yg tidak memenuhi syarat
conn.Execute ("delete from c" & c & " where jml<=" & min_transaksi
& "")
'cek isi table
Set rs = conn.Execute("select * from c" & c & "")
If rs.RecordCount = 0 Then keluar = True
Loop
'*****************
'Hitung confidence
'*****************
For i = 2 To c - 1
m = 1
j = i
Set rs = conn.Execute("select * from c" & i & " order by jml
desc")
Do While Not rs.EOF
'
For a = 1 To rs.RecordCount
temp = 0
'
MsgBox "temp " & temp & ""
'For j = i To m = 1
Do While j >= m
sql = "select jml from c" & (i - 1) & " where "
For k = 1 To (i - 1)
sql = sql & " item" & k & "="
If temp = k Then
sql = sql & " " & rs(temp) & ""
temp = temp + 2
Else
sql = sql & " " & rs(temp) & ""
temp = temp + 1
End If
Next
Set rs2 = conn.Execute(sql)
'
MsgBox sql
'jika nilai confidence minimum terpenuhi
'
MsgBox rs!jml
'
MsgBox rs2!jml
IfModul
(rs!jml
100 / rs2!jml)
>= min_confidence1
Then
4.23 *Lanjutan
Halaman Data
Perhitungan
antecedent = "If buy"
For l = 1 To i
If l = j Then
81
konklusi = " then buy " & rs(l - 1) & ""
item3 = " " & rs(l - 1) & ""
'
konklusi = " then buy " & rs(l - 1) & "
dengan" _
'
'& " SUPPORT " & Round(rs!jml / total_trans *
100, 3) & " % dan " _
'
'& "CONFIDENCE " & Round(rs!jml * 100 /
rs2!jml, 3) & " %"
hasil = Round(rs!jml * 100 / rs2!jml, 3)
jml = "" & rs!jml & "/" & rs2!jml & " "
ElseIf ((j = 1) And (l > 2)) Or ((j > 1) And (l >
1)) Then
antecedent = antecedent & ", " & rs(l - 1) &
""
item2 = " " & rs(l - 1) & ""
Else
antecedent = antecedent & " " & rs(l - 1) & ""
item1 = " " & rs(l - 1) & ""
End If
conn.Execute ("insert into keputusan
(aturan_1,aturan_2,hasil,jml,item1,item2,item3) " _
& " values('" & antecedent & "','" & konklusi &
"','" & hasil & "','" & jml & "','" & item1 & "','" & item2 & "','" &
item3 & "')")
item1 = ""
item2 = ""
item3 = ""
Next
End If
'
Next
j = j - 1
Loop
'Next
rs.MoveNext
Loop
'
Next
Next
conn.Execute ("delete from keputusan where aturan_1='if buy' or
hasil='0'")
Set rs = conn.Execute("select aturan_1,aturan_2,jml,hasil from
keputusan")
ListView1.ListItems.Clear
Do While Not rs.EOF
With ListView1.ListItems.Add
.Text = rs(0) & rs(1)
For i = 1 To rs.Fields.Count - 1
.SubItems(1) = rs(2)
.SubItems(2) = rs(3) & "%"
Next
End With
rs.MoveNext
Loop
End Sub
Private Sub Command5_Click()
Modul 4.24 Lanjutan Halaman Data Perhitungan
Unload Me
frmMenu.Show
End Sub
Private Sub Form_Load()
konek
End Sub
82
4.3.7 Halaman Data Alternatif
Halaman ini hanya bisa diakses oleh pemilik swalayan.Setelah proses perhitungan data
masih berupa kode produk.Kemudian data diubah dari kode prodek menjadi nama barang
yaitu yang terdapat di form data alternatif.Adapun tampilannya dapat dilihat pada gambar 4.9
berikut:
Gambar 4.8 Halaman Alternatif
Berikut ini adalah potongan program form cetak Alternatif:
Private Sub Command1_Click()
Unload Me
frmMenu.Show
End Sub
Private Sub Command2_Click()
Me.Hide
frmSketsaPenempatanProduk.Show
End Sub
Private Sub Command3_Click()
Me.Hide
frmPerhitungan.Show
End Sub
Modul 4.25 Halaman Data Alternatif
83
Private Sub Form_Load()
Dim antecedent, konklusi, dominan, ikut As String
Set rs = conn.Execute("select item1,item2,item3 from keputusan")
Dim item1, item2, item3 As Integer
List1.Clear
ListView1.ListItems.Clear
Do While Not rs.EOF
If rs(1) = "" Then
Set rs2 = conn.Execute("select nama_brg from barang where
id_barang='" & rs(0) & "'")
Do While Not rs2.EOF
antecedent = "Jika membeli " & rs2!nama_brg & " "
dominan = rs2!nama_brg
rs2.MoveNext
Loop
Set rs3 = conn.Execute("select nama_brg from barang where
id_barang='" & rs(2) & "'")
Do While Not rs3.EOF
konklusi = ", Maka akan membeli " & rs3!nama_brg & " "
ikut = rs3!nama_brg
rs3.MoveNext
Loop
Else
Set rs2 = conn.Execute("select nama_brg from barang where
id_barang='" & rs(0) & "'")
Do While Not rs2.EOF
antecedent = "Jika membeli " & rs2!nama_brg & " "
dominan = rs2!nama_brg
rs2.MoveNext
Loop
Set rs3 = conn.Execute("select nama_brg from barang where id_barang='"
& rs(1) & "'")
Do While Not rs3.EOF
antecedent = antecedent & " " & rs3!nama_brg & " "
dominan = dominan & ", " & rs3!nama_brg
rs3.MoveNext
Loop
Set rs4 = conn.Execute("select nama_brg from barang where
id_barang='" & rs(2) & "'")
Do While Not rs4.EOF
konklusi = ", Maka akan membeli " & rs4!nama_brg & " "
ikut = rs4!nama_brg
rs4.MoveNext
Loop
End If
If antecedent <> "" Then
List1.AddItem antecedent & " " & konklusi
'
End With
End If
rs.MoveNext
Modul 4.26 lanjutan Halaman Data
Loop
Alternatif
End Sub
84
4.3.8 Halaman Data Pendukung Keputusan
Halaman ini hanya bisa diakses oleh pemilik swalayan.Setelah proses perhitungan data
dari hasil perhitungan di tampilkan dalam bentuk tabel yaitu yang lolos seleksi maupun data
yang tidak lolos..Adapun tampilannya dapat dilihat pada gambar 4.9 berikut:
BAB V
PENUTUP
5.1
Kesimpulan
Berdasarkan pembahasan dan implementasi program yang mengacu pada rumusan
masalah yang ada yaitu bagaimana suatu swalayan dapat mengolah data dengan cepat dan
akurat serta membuat suatu sistem pendukung keputusan menggunakan algoritma apriori,
maka dapat diambil beberapa kesimpulan bahwa Program ini dapat digunakan untuk
mengolah data penjualan yang begitu banyak menjadi suatu alternatif keputusan dimana dapat
membantu pemilik swalayan
melihat produk mana yang sering di beli dan membantu
karyawan dalam dalam tata letak barang,sehingga barang-barang yang sering di beli
bersamaan dapat di letakan berdekatan dan barang yang jarang di beli bisa dibuat diskon agar
menarik minat pembeli.
5.2
Saran
Kesempurnaan dari suatu sistem selalu bersifat relatif berdasarkan cara pandang dan
konsep dari setiap pemikiran yang berbeda serta memiliki alur yang bervariasi.Karena sistem
ini dibangun berdasarkan alur pemikiran penulis, maka untuk hasil yang lebih baik dan
maksimal di perlukan saran dari pihak manapun untuk melengkapi kekurangan yang ada.
Saran dari penulis yaitu: Bagi peneliti selanjutnya diharapkan untuk dapat menghasilkan
output yang lebih interaktif
pada sistem ini misalkan dibuat tata letak produk ditampilkan
foto produk yang sudah tertata.
Download