skripsi penentuan strategi penjualan alat-alat tattoo di

advertisement
SKRIPSI
PENENTUAN STRATEGI PENJUALAN ALAT-ALAT TATTOO DI STUDIO
SONYX TATTOO MENGGUNAKAN METODE K-MEANS CLUSTERING
APRIADI BAHAR
E1E1 10 118
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS HALU OLEO
KENDARI
2016
ii
iii
iv
INTISARI
Apriadi Bahar,E1E110118
“PENENTUAN STRATEGI PENJUALAN ALAT-ALAT TATTOO DI
STUDIO SONYX TATTOO MENGGUNAKAN METODE K-MEANS
CLUSTERING”
Skripsi, Fakultas Teknik, 2016
Kata Kunci : Penentuan strategi,K-Means Clustering,Euclidean distance
Penentuan strategi adalah suatu pengambilan keputusan mengenai biaya, produk
dan lokasi pemasaran dalam hubungannya dengan keadaan lingkungan yang
diharapkan serta kondisi persaingan yang selalu berubah-ubah dengan harapan dapat
mencapai tujuan suatu perusahaan.
Semakin lama sebuah perusahaan berdiri, semakin besar data yang dimiliki
perusahaan tersebut. Data-data tersebut bisa berupa data konsumen, data
pembelian, data penjualan, dan masih banyak lagi. Pengelompokan ini digunakan
oleh pihak manajemen perusahaan untuk membuat laporan mengenai
karakteristik umum dari grup-grup konsumen yang berbeda. Proses Clustering yang
akan dilakukan menggunakan Algoritma K-Means dengan perhitungan Euclidean
distance. Clustering adalah suatu metode pengelompokan berdasarkan ukuran
kedekatan (kemiripan). K-Means merupakan salah satu metode Clustering non hirarki
yang berusaha mempartisi data yang ada ke dalam bentuk satu atau lebih Cluster atau
dapat dikatakan memiliki tujuan untuk membagi data menjadi beberapa kelompok.
Hasil penelitian ini adalah dapat dibuat suatu aplikasi penentuan strategi
penjualan dengan menggunakan perhitungan Euclidean distance,berdasarkan metode
K-Means clustering.diharapkan aplikasi ini dapat menjadi patokan untuk penelitian
selanjutnya.
v
ABSTRACK
Apriadi Bahar, E1E110118
"DETERMINATION OF SALES STRATEGY ON TOOLS TATTOO TATTOO
STUDIO SONYX USING K-MEANS CLUSTERING"
Thesis, Faculty of Engineering, 2016
Keywords: Strategy Decision of Determination, K-Means Clustering, Euclidean distance
Strategy decision of determining is a costs, product and marketing location in
relation to the expected environmental conditions and the conditions of competition are
always changing with the prospects to achieve the objectives of a company.
As long as the firm to stand. then, the data of the company owned will be greatest.
Such data can include customer data, purchasing data, sales data, and much more. These
groupings used by the management company to make a report on the general characteristics
of consumer groups are different. Clustering process which will be performed using the KMeans algorithm with Euclidean distance calculation. Clustering is a grouping method based
on the size of the proximity (similarity). K-Means Clustering is a non-hierarchical method
that seeks to partition the data into the form of one or more clusters or can be said to have a
goal to split the data into multiple groups.
The result of this is research can be made an application determining sales strategy
by using the Euclidean distance calculation, based on the K-Means method clustering.
Expected reviews these applications can be a benchmark for future research.
vi
Halaman Persembahan
Assalamualaikum Wr. Wb
Alhamdulillah..Alhamdulillah..Alhamdulillahirobbil’alamin..
Sujud syukurku kusembahkan kepadamu Allah SWT, Tuhan yang Maha
Agung nan Maha Adil nan Maha Penyayang, atas takdirmu telah kau jadikan aku
manusia yang senantiasa berpikir, berilmu, beriman dan bersabar dalam menjalani
kehidupan ini. Shalawat serta salam selalu tercurahkan atas Nabi Besar
Muhammad SAW, yang menjadi panutan dan contoh suri tauladan bagi seluruh
umat. Semoga keberhasilan ini menjadi satu langkah awal bagiku untuk meraih
cita-cita besarku.
Kupersembahkan sebuah karya kecil ini untuk Ayahanda dan Ibundaku
tercinta, yang tiada pernah hentinya selama ini memberiku semangat, doa,
dorongan, nasehat dan kasih sayang serta pengorbanan yang tak tergantikan
hingga aku selalu kuat menjalani setiap rintangan yang ada didepanku, terimalah
bukti kecil ini sebagai kado keseriusanku untuk membalas semua pengorbananmu,
dalam hidupmu demi hidupku kalian ikhlas mengorbankan segala perasaan tanpa
kenal lelah, dalam lapar berjuang separuh nyawa hingga segalanya. Maafkan
segala kesalahan anakmu ini dan mohon doakan supaya kelak nanti anakmu ini
bisa menjadi anak yang berguna, yang akan selalu membahagiakan kalian dan bisa
sukses dikemudian hari.
ya Allah berikanlah balasan setimpal syurga untuk mereka dan jauhkanlah
mereka nanti dari panasnya sengat hawa api nerakamu.. Amin,,amin,,amin yaa
rabbal alamin..
Untukmu Bapakku(Bahar),,, Ibuku(Talha,.HR)...
Terimakasih.... Saya Mencintai Kalian...
Teruntuk dua saudariku, Ismayani, dan Oktaviana terima kasih sudah
menjadi saudara yang baik, walaupun selalu ribut, selalu bertengkar tapi kalian
tetap selalu menurut. Maafkan pula adikmu ini yang sangat nakal dulunya dank
eras kepala ini,namun semua itu karena bukti kecintaanku dan kasih sayangku
terhadap kalian. Ambillah hikmah kebaikan dari semua perlakuanku terhadap
kalian. Terima kasih juga kepada dua iparku Rusnam dan Malik yang selalu
mensupport saya,beserta ketiga keponakan ku saat ini Najma royana,Qhalik
Meysal dan Abdan Shaqiri yang selalu menghiburku,terima kasih banyak nak.
vii
Dengan segala kerendahan hati penulis menyampaikan terima kasih dan
penghargaan setinggi-tingginya kepada Bapak Bambang Pramono,S.Si.,MT,
selaku pembimbing I dan Bapak La Ode Hasnuddin S Sagala, S.Si.,M.Cs., selaku
pembimbing II yang dengan tekun dan penuh kesabaran memberikan petunjuk dan
membantu penulis dalam menyelesaikan skripsi ini, semoga Allah SWT
melimpahkan Rahmat-Nya kepada Ibu dan Bapak beserta keluarga tercinta. Amin.
Buat sahabat-sahabat terbaik, konyol, buntu, otak sapi tetapi memotivasi.
Kalian semua yang sering ngopi bersama saya di kopi daeng main ps sama-sama
di tempat ini lah saya banyak mengenal teman-teman baru sampai akrab hingga
saat ini dan mendapatkan pengalaman mengenai kehidupan saya. Buat teman
teman ku di kopda. Firman Azis,Syahrul Mubarrak,Resnu Febrianto,Ridwan Boki,
Muh.Febrianto, Shabri Prayogi, I Gusti Made Cahya, Sudarta Pratama, Sapril,
Mustafa, Cesar, Irwan Saputra, Muh,Rukmana Modo ST Semua Mi Ini,Teman
Nongkrong Di Sini Wisnu,Kak Acank,Pak Dwi,Om Nudi,Om Jabir,Om Unding,Dan
Pak Subardin,ST.,MT kekinian yang selalu menemani hari-hari ku disini,terima
kasih banyak untuk kalian,masih banyak lagi yang belum sempat saya tulis
namany..terbait meman kalian.
Teruntuk Hersony tattooartis,beliau ialah tukang tattoo saya di studio
sonyx tattoo extreme palapaart yang telah membuatkan tattoo saya mulai dari
polos hingga full saat ini walaupun nanti saya mau tambah.,saling tukar
pendapat,terima kasih banyak kak son,semoga kedepannya usaha nya makin
lancar,sukses selalu buat kak sony,selalu sayang keluarganya,semoga salah satu
anaknya bias menjadi penerus untuk menjadi tukang tattoo.
Buat anak anak lorong ku juga yang menjadi teman kecil
ku,udin,iki,amal,takdir, uping, hardam,Alm.Andika,dan semua anak lorong haeba
dalam yang tidak bisa saya sebutkan namanya satu persatu terima kasih banyak
telah menjadi teman terbaik ku saat ini dan selamanya,kalian jaga mi lorong nanti
da hilang.
Buat kawan – kawan Teknik Informatika 2010 (INTEGER) Adhy, Adnan,
Aan, Baya, Febri, Going, Darta, Bejes,, Ridwan Boki, Bentoz, Fathir, Tota, Abdi,
Ancul, Taha, Ariefandi, Mustafa, Dato, Anas, Romi, Fajar, , Dede, Nina, Nisa,
Fhona, Uun, Risnah, Astrid, Yuni, Tucep, Fany, MJ, Hanny, Iting, Nuna, Mute,
Rini, Masnah, Abon, dan (sisanya di absen) terutama kak nisa dan bu elty yang
selalu bantu bantu saya dalam hal kampus. Teruntuk Muthmainnah Liyata.,ST
teman seperjuangan ku inneh, sering bertingkah konyol,dan mengajarkan kembali
saya tentang sholat dan doa-doa Agama Islam. terbait meman kau. Ngehits dan
kekinian meman kalian.Semoga kita semua jadi orang-orang yang sukses. Amin,,
Amin,, Amin Yaa’Rabbal Alamin.
viii
Buat para mantan mantan ku juga yang saya tidak bisa sebutkan satu
persatu karena banyak sekali,maaf kan Apri Napoleon yang dulu ya,terima kasih
dulu pernah mengisi hari hari ku memotivasi saya ketika saya lagi bingung
sendiri.tapi biarlah itu menjadi kenangan,sekarang saya sudah terbiasa
sendiri,big big thanks untuk kalian barisan para mantan.
“jangan pernah melihat orang dengan cara dia berpenampilan,only god can judge
me,dan jika memang saya hidup untuk tattoo sampai mati tetap untuk tattoo,open
your mind before open you mouth,walaupun hidup seribu tahun kalau tak
sembahyang apa gunanya.#beraniberhijrah.
Best Regard,
Apri Napoleon
ix
KATA PENGANTAR
Assalamualaikum Wr. Wb.
Segala puji dan syukur penulis panjatkan kehadirat Allah SWT, karena atas
berkat rahmat dan ridho-Nya tugas akhir dengan judul “PENENTUAN
STRATEGI PENJUALAN ALAT-ALAT TATTOO DI STUDIO SONYX
TATTOO MENGGUNAKAN METODE K-MEANS CLUSTERING” ini dapat
disusun dan diselesaikan. Selama menempuh pendidikan dan penulisan serta
penyelesaian tugas akhir ini penulis banyak memperoleh dukungan baik secara
moril maupun materil dari berbagai pihak.
Penulis mengharapkan bahwa karya tulis ini dapat memberikan informasi
yang bermanfaat dan menambah pengetahuan bagi pembaca serta dijadikan bahan
pertimbangan untuk penelitian selanjutnya, sehingga memberikan ide-ide suatu
karya ilmiah yang lebih baik.
Pada kesempatan ini dengan segala kerendahan hati penulis haturkan sebuah
ucapan terima kasih yang sebesar-besarnya dan penghargaan yang setinggitingginya kepada yang terhormat :
1.
Kedua orang tuaku yang terhormat, tercinta dan tersayang yang selalu
memberikan perhatian, kasih sayang, motivasi, serta dukungan moral dan
semangat, sehingga penulis dapat menyelesaikan tugas akhir ini. Terima
kasih yang tak terhingga buat kalian, tanpa kalian saya bukan siapa-siapa.
2.
Bapak Prof. Dr. Ir. Usman Rianse., M.Si selaku Rektor Universitas Halu
Oleo.
3.
Bapak Mustarum Musaruddin, S.T., MIT., Ph.D selaku Dekan Fakultas
Teknik Universitas Halu Oleo.
4.
Ibu Ika Purwanti Ningrum. S.Kom.,M.Cs selaku Ketua Jurusan Teknik
Informatika Fakultas Teknik Universitas Halu Oleo.
x
5.
Bapak Bambang Pramono,S.Si.,MT, selaku dosen pembimbing I yang bisa
menjadi selaku orang tua juga teman yang sangat banyak memberikan
motivasi, masukan dan saran, yang mampu memahami seluruh karakter
mahasiswa serta ketersediaan untuk meluangkan waktunya dengan penulis
untuk memberikan arahan – arahan yang sangat berguna pada saat seminar
proposal hingga seminar skripsi tugas akhir, yang juga bisa memposisikan
diri sebagai dosen yang paling tepat buat penulis.
6.
Bapak La Ode Hasnuddin S Sagala, S.Si.,M. Cs selaku dosen pembimbing
II, yang di dalam berbagai kesibukan dapat menyempatkan dirinya dengan
sabar membimbing dan mengarahkan serta memberi petunjuk dan saran
yang sangat berharga dalam menyelesaikan tugas akhir ini ini.
7.
Bapak Subardin,ST.,MT selaku dosen penguji I, yang telah membimbing
dan memberikan masukan serta motivasi kepada penulis dalam
menyelesaikan tugas akhir ini.
8.
Bapak L.M Fid Aksara, S.Kom., M.Kom selaku dosen penguji II, yang telah
membimbing dan memberikan masukan serta motivasi kepada penulis
dalam menyelesaikan tugas akhir ini.
9.
Ibu Nur Fajriah Muchlis, S.Kom., MMSI selaku dosen penguji III, yang
telah membimbing dan memberikan masukan serta motivasi kepada penulis
dalam menyelesaikan tugas akhir ini.
10. Seluruh Dosen Pengajar Jurusan Teknik Informatika Universitas Halu Oleo
yang telah memberikan bimbingan arahan dan saran selama penulian tugas
akhir ini berlangsung.
11. Ibu Elti DJ Rasyid dan Kak Nisa selaku Staff Jurusan Teknik Informatika
paling the best yang selalu membantu segala macam pengurusan di Jurusan
Teknik Informatika dan juga selalu mendorong dan memotivasi untuk cepat
menyelesaikan tugas akhir ini.
12. Buat teman-teman di Jurusan Teknik Informatika angkatan 2010 yang
memberikan saran dan semangatnya selama pengerjaan tugas akhir ini.
Semangat dan teruslah berjuang, semoga kita semua menjadi orang-orang
yang sukses, AMIN.
xi
13. Muthmainnah Liyata.,ST yang selalu memberikan bantuan, dukungan dan
semangat dalam menyelesaikan tugas akhir ini, yang selalu ada disaat susah
dan senang. Kamu yang terbaik.
Dengan keterbatasan pengalaman, pengetahuan maupun pustaka yang
ditinjau, penulis menyadari bahwa tugas akhir ini masih banyak kekurangan dan
perlu pengembangan lebih lanjut agar benar-benar bermanfaat. Oleh sebab itu,
penulis sangat mengharapkan kritik dan saran agar tugas akhir ini lebih sempurna
serta sebagai masukan bagi penulis untuk penelitian dan penulisan karya ilmiah di
masa yang akan datang.
Akhir kata, penulis berharap tugas akhir ini memberikan manfaat bagi kita
semua terutama untuk pengembangan ilmu pengetahuan yang ramah lingkungan
dan bersifat positif.
Wassalamu’alaikum Wr, Wb.
Kendari,
Juli 2016
Penulis
Apriadi Bahar
NIM : E1E1 10 118
xii
DAFTAR ISI
HALAMAN JUDUL............................................................................................. i
HALAMAN PENGESAHAN ............................................................................... ii
HALAMAN PERNYATAAN ............................................................................. iv
INTISARI.............................................................................................................. v
ABSTRACT .......................................................................................................... vi
HALAMAN PERSEMBAHAN ........................................................................... vii
KATA PENGANTAR ......................................................................................... x
DAFTAR ISI ......................................................................................................... xiii
DAFTAR GAMBAR ............................................................................................ xvi
DAFTAR TABEL ................................................................................................. xvii
BAB I.PENDAHULUAN ..................................................................................... 1
1.1 Latar Belakang...................................................................................... 1
1.2 Rumusan Masalah................................................................................. 3
1.3 Batasan Masalah ................................................................................... 3
1.4 Tujuan Penelitian .................................................................................. 3
1.5 Manfaat Penelitian ................................................................................ 4
1.6 Sistematika Penulisan Skripsi............................................................... 4
1.7 Tinjauan Pustaka................................................................................... 5
BAB II.LANDASAN TEORI ............................................................................... 7
2.1 Strategi Pemasaran ............................................................................... 7
2.2 Toko Online .......................................................................................... 9
2.3 Data Mining.......................................................................................... 10
2.3.1 Clustering .................................................................................... 12
2.3.2 K-Means Clustering .................................................................... 13
2.4 MySQL ................................................................................................. 17
2.5 Flowchart.............................................................................................. 18
2.6 PHP CodeIgniter .................................................................................. 21
xiii
2.7 Diagram Alir Sistem ............................................................................. 22
2.8 Entity Relationship Diagram ................................................................ 22
2.9 Transformasi ERD ke Skema Relasi Antar Tabel ................................ 24
2.10 Unified Modelling Languange (UML) ................................................ 25
2.10.1 Use Case Diagram..................................................................... 26
2.10.2 Activity Diagram........................................................................ 27
2.10.3 Sequence Diagram..................................................................... 28
2.10.4 Class Diagram ........................................................................... 29
BAB III.METODOLOGI PENELITIAN.............................................................. 31
3.1 Metode Pengumpulan Data .................................................................. 31
3.2 Metode Pengembangan Aplikasi .......................................................... 31
3.3 Waktu Penelitian................................................................................... 33
BAB IV.ANALISIS DAN PERANCANGAN ..................................................... 34
4.1 Analisis Sistem ..................................................................................... 34
4.1.1 Analisis Masalah ......................................................................... 34
4.1.2 Analisis Kebutuhan Fungsional .................................................. 34
4.1.2.1 Analisis Kebutuhan Input ................................................ 34
4.1.2.2 Analisis Kebutuhan Proses .............................................. 35
4.1.2.3 Analisis Kebutuhan Output ............................................. 35
4.1.3 Analisis Kebutuhan Nonfungsional ............................................ 35
4.1.3.1 Analisis Kebutuhan Perangkat Keras .............................. 35
4.1.3.2 Analisis Kebutuhan Perangkat Lunak ............................. 36
4.2 Perancangan Aplikasi ........................................................................... 36
4.2.1 Gambaran Umum Sistem ............................................................ 36
4.2.2 Flowchart Sistem ......................................................................... 37
4.2.3 Analisis Clustering dengan Algoritma K-Means ........................ 37
4.3 Perancangan dan Proses Clustering...................................................... 39
4.4 Unified Modelling Languange (UML) ................................................. 47
4.4.1 Perancangan Use Case Diagram ................................................. 47
xiv
4.4.1.1 Use Case Diagram Admin .............................................. 47
4.4.2 Perancangan Activity Diagram.................................................... 48
4.4.2.1 Activity Diagram Admin ................................................. 48
a. Activity Diagram Login ............................................... 48
b. Activity Diagram Menu Data Uji ................................ 49
c. Activity Diagram Menu Hasil Uji Clustering .............. 50
d. Activity Diagram Menu Diagram Uji Clustering ........ 51
e. Activity Diagram Logout ............................................. 52
4.4.3 Perancangan Class Diagram ....................................................... 53
4.4.4 Perancangan Tabel Database ...................................................... 53
a. Tabel admin ................................................................ 53
b. Tabel centroid ............................................................. 54
c. Tabel centroid2 ........................................................... 54
d. Tabel centroid_data .................................................... 54
e. Tabel diagram ............................................................. 55
f. Tabel diagram_centroid ............................................. 55
g. Tabel objek ................................................................. 55
h. Tabel satukan .............................................................. 56
BAB V.IMPLEMENTASI DAN PEMBAHASAN .............................................. 57
5.1 Implementasi ........................................................................................ 57
5.2 Uji Coba Sistem .................................................................................... 65
5.2.1 Uji Coba Menentukan Kategori Penjualan Objek Uji ................. 65
BAB VI.PENUTUP .............................................................................................. 68
6.1 Kesimpulan ........................................................................................... 68
6.2 Saran ..................................................................................................... 68
DAFTAR PUSTAKA
LAMPIRAN
xv
DAFTAR GAMBAR
Gambar 2.1 Contoh flowchart ..................................................................... 21
Gambar 4.1 Perancangan aplikasi................................................................ 36
Gambar 4.2 Flowchart sistem ..................................................................... 37
Gambar 4.3 Flowchart proses k-means ....................................................... 40
Gambar 4.4 Hasil pengelompokkan data ..................................................... 47
Gambar 4.5 Use case diagram admin.......................................................... 48
Gambar 4.6 Activity diagram login (admin) ................................................ 49
Gambar 4.7 Activity diagram menu data uji ................................................ 50
Gambar 4.8 Activity diagram menu hasil uji clustering .............................. 51
Gambar 4.9 Activity diagram menu diagram uji clustering ........................ 52
Gambar 4.10 Activity diagram logout ......................................................... 52
Gambar 4.11 Class diagram aplikasi .......................................................... 53
Gambar 5.1 Halaman home ......................................................................... 57
Gambar 5.2 Halaman login .......................................................................... 58
Gambar 5.3 Halaman beranda ..................................................................... 59
Gambar 5.4 Halaman data uji ...................................................................... 60
Gambar 5.5 Halaman hasil perhitungan clustering ..................................... 61
Gambar 5.6 Halaman diagram uji clustering............................................... 62
Gambar 5.7 Listing algoritma k-means clustering (bagian 1) ..................... 62
Gambar 5.8 Listing algoritma k-means clustering (bagian 2) ..................... 63
Gambar 5.9 Listing algoritma k-means clustering (bagian 3) ..................... 63
Gambar 5.10 Listing algoritma k-means clustering (bagian 4) ................... 64
Gambar 5.11 Listing algoritma k-means clustering (bagian 5) ................... 64
Gambar 5.12 Hasil clustering terhadap objek uji ........................................ 66
Gambar 5.13 Diagram pengelompokkan objek uji ...................................... 67
xvi
DAFTAR TABEL
Tabel 2.1 Simbol flowchart secara umum ................................................... 19
Tabel 2.2 Simbol dan keterangan diagram alir sistem ................................ 22
Tabel 2.3 Simbol dan keterangan use case diagram .................................. 27
Tabel 2.4 Simbol dan keterangan activity diagram .................................... 28
Tabel 2.5 Simbol dan keterangan sequence diagram ................................. 28
Tabel 2.6 Simbol dan keterangan class diagram ........................................ 29
Tabel 3.1 Waktu penelitian .......................................................................... 33
Tabel 4.1 Spesifikasi perangkat keras ......................................................... 35
Tabel 4.2 Spesifikasi perangkat lunak ........................................................... 36
Tabel 4.3 Data objek uji yang akan dihitung ............................................... 40
Tabel 4.4 Hasil iterasi 1 ............................................................................... 43
Tabel 4.5 Hasil iterasi 2 ............................................................................... 46
Tabel 4.6 Definisi use case diagram admin ................................................ 48
Tabel 4.7 Tabel admin ................................................................................. 53
Tabel 4.8 Tabel centroid .............................................................................. 54
Tabel 4.9 Tabel centroid2 ............................................................................ 54
Tabel 4.10 Tabel centroid_data................................................................... 54
Tabel 4.11 Tabel diagram ............................................................................ 55
Tabel 4.12 Tabel diagram_centroid ............................................................ 55
Tabel 4.13 Tabel objek ................................................................................ 56
Tabel 4.14 Tabel satukan ............................................................................. 56
Tabel 5.1 Daftar objek uji ............................................................................ 65
Tabel 5.2 Data cluster uji............................................................................. 65
xvii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Strategi pemasaran online adalah suatu pengambilan keputusan mengenai
biaya, produk dan lokasi pemasaran dalam hubungannya dengan keadaan
lingkungan yang diharapkan serta kondisi persaingan yang selalu berubah-ubah
dengan harapan dapat mencapai tujuan suatu perusahaan. Pemasaran online atau
biasa juga disebut sebagai internet marketing, pada umumnya orang-orang
mengenalnya dengan istilah iklan online. Dalam hal ini media yang digunakan
adalah internet. Hal yang paling sederhana yang harus diingat adalah, bagaimana
berinovasi terus menerus agar produk berupa barang dan jasa yang ditawarkan atau
dipromosikan dapat lebih mudah ditemukan di internet. Pemasaran online yang baik
tentunya akan membuat produk dapat diakses oleh konsumen yang tepat. Menurut
penelitian, sebelum konsumen mengambil keputusan membeli, konsumen selalu
menyempatkan browsing informasi di Internet, baik hanya untuk membandingkan
harga maupun untuk mengetahui spesifikasi dari produk yang di tawarkan.
Semakin lama sebuah perusahaan berdiri, semakin besar data yang dimiliki
perusahaan tersebut. Data-data tersebut bisa berupa data konsumen, data
pembelian, data penjualan, dan masih banyak lagi. Semua data tersebut biasanya
akan tersimpan dalam Data base Center. Namun banyak perusahaan, bahkan divisi
IT yang tidak menyadari betapa berharganya tumpukan data-data yang
dihasilkan perusahaan dalam bertransaksi. Kebanyakan
informasi
hanya
dipandang sebagai arsip yang sudah menjadi berkas-berkas tidak terpakai dan
bisa dihancurkan kapan saja. Hal tersebut tentu saja merupakan pandangan yang
salah, sebab dengan penanganan yang tepat dan cerdik data-data tersebut dapat
diberdayakan dengan Data Mining, sehingga nantinya dapat digunakan untuk
meramalkan strategi pemasaran dan masa depan perusahaan.
1
2
Menambang data atau data mining adalah sebuah metode yang digunakan
untuk mengekstraksi informasi prediktif tersembunyi pada database yang mampu
memprediksi tren, perilaku, sehingga memampukan perusahaan untuk semakin
proaktif dan memperkaya pengetahuan atau informasi dalam membuat keputusan.
Pemanfaatan data mining dapat dilihat dari 2 (dua) sudut pandang, yaitu sudut
pandang komersial dan sudut pandang keilmuan. Dari sudut pandang komersial,
pemanfaatan data mining dapat digunakan dalam menangani meledaknya volume
data. Bagaimana menyimpannya, mengestraknya serta memanfaaatkannya.
Berbagai teknik komputasi dapat digunakan menghasilkan informasi yang
dibutuhkan. Informasi yang dihasilkan menjadi aset untuk meningkatkan daya
saing suatu perusahaan. Sedangkan dari sudut pandang keilmuan, data mining
dapat digunakan untuk mengcapture, menganalisis serta menyimpan data yang
bersifat real -time dan sangat besar.
Perusahaan-perusahaan saat ini memang
sudah
berkewajiban
memanfaatkan data mining jika memang ingin sukses dalam
untuk
promosi
produknya. Jika tidak, manajerial yang dilakukan tidak ada bedanya dengan
perusahaan tradisional yang kemudian beralih menggunakan komputer yang
hanya menggantikan cara-cara manual. Perusahaan besar sekalipun akan
mengalami kemunduran dalam bisnisnya, jika tidak adanya perencanaan yang
baik untuk prospek bisnisnya kedepan, dengan menggunakan data mining
tentu saja hal ini bisa diatasi.
Salah satu metode yang terdapat dalam data mining yang digunakan dalam
penelitian ini adalah pengelompokan (Clustering ) dimana metode tersebut
mengidentifikasi objek yang memiliki kesamaan karakteristik tertentu, dan
kemudian menggunakan karakteristik tersebut sebagai pembanding atau strategi
pemasarannya. Pengelompokan
ini
digunakan
oleh
pihak
manajemen
perusahaan untuk membuat laporan mengenai karakteristik umum dari grup-grup
konsumen yang berbeda. Proses Clustering yang akan dilakukan menggunakan
Algoritma K-Means.
3
Berdasarkan hal tersebut maka diharapkan bisa mempermudah pihak
perusahaan dalam menemukan informasi dari tumpukan-tumpukan data yang
berguna bagi perusahaan. Tidak hanya itu penulis juga mengharapkan bisa
memberikan rangsangan kepada pengelolah data supaya lebih aktif dalam
menggali
informasi
yang
dibutuhkan
oleh
perusahaan,
sehingga
bisa
menjawabkebutuhan konsumen yang berasa di pasaran. Penulis berharap dapat
membantu memberikan informasi mengenai hasil Clustering data penjualan.
Berdasarkan
masalah
tersebut
penulis
mengambil
sebuah
judul
“PENENTUAN STRATEGI PENJUALAN ALAT-ALAT TATTOO DI
STUDIO SONYX TATTOO MENGGUNAKAN METODE K-MEANS
CLUSTERING”. Nantinya konsep dari perancangan sistem tersebut mampu
dikembangkan dan diterapkan seperti contoh kasus yang telah diuraikan di atas.
1.2 Rumusan Masalah
Berdasarkan uraian di atas, maka rumusan masalah yang akan dibahas dalam
penelitian ini adalah penerapan metode data mining (algoritma K-Means) dalam
menentukan strategi penjualan pada toko online yang berfokus pada produk yang
di tawarkan.
1.3 Batasan Masalah
Agar pembuatan aplikasi ini lebih fokus pada topik yang akan diambil, maka
masalah dibatasi pada hal sebagai berikut :
1. Aplikasi yang dibuat ini merupakan aplikasi penentuan strategi penjualan alatalat tattoo pada Studio Sonyx Tattoo
2. Data ketersedian dan jumlah pemesanan alat-alat tattoo dimana sistem
mengumpulkan data-data tersebut diolah menggunakan metode K-Means
Clustering.
4
1. 4 Tujuan Penelitian
Tujuan dari penelitian ini adalah :
1. Membuat aplikasi penentuan strategi pemasaran penjualan online dalam
pemesanan alat-alat tattoo di Studio SonyxTattoo
2. Menggunakan metode data mining K-Means Clustering pada aplikasi penentuan
strategi pemasaran penjualan, untuk memberikan informasi tentang ketersediaan
dan jumlah pemesanan alat-alat tato di Studio Sonyx Tattoo.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah :
1. Dapat Membuat aplikasi penentuan strategi dalam penjualan untuk pemesanan
alat-alat tattoo di Studio Sonyx Tattoo
2. Memberikan informasitype alat-alat tattoo di Studio Sonyx Tattoo yang tingkat
penjualannya tinggi di pasaran.
1.6
Sistematika Penulisan Skripsi
Sistematika yang digunakan
sebagai acuan dalam penyusunan skripsi
adalah sebagai berikut.
BAB I
PENDAHULUAN
Pada bab ini berisikan Latar Belakang Masalah, Perumusan Masalah,
Pembatasan
Masalah,
Tujuan
Penelitian,
Manfaat
Penelitian,
Metodologi Penelitian, Sistematika Penulisan
BAB II
LANDASAN TEORI
Pada bab ini berisikan teori-teori yang memperkuat tugas akhir ini di
dalam pemecahan masalah.
BAB III
METODOLOGI PENELITIAN
5
Pada bab ini berisikan metode penilitian yang digunakan. Metode
pengembangan perangkat yang digunakan adalah Prototipe, sedangkan
penyusunan laporan menggunakan studi literatur.
BAB IV
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini berisikan gambaran umum dari sistem, perancangan
proses, pemodelan sistem menggunakan Prototipe.
BAB V
IMPLEMENTASI DAN PEMBAHASAN
Pada bab ini berisikan hasil dari sistem yang telah dibuat dan akan
dilakukan pengujian alat, pengujian program dengan melakukan
capture sistem pada komputer.
BAB VI
PENUTUP
Pada bab ini berisikan kesimpulan dan saran-saran.
DAFTAR PUSTAKA
LAMPIRAN
1.7
Tinjauan Pustaka
Penelitian ini didasarkan pada penelitian sebelumnya mengenai aplikasi
pemesanan barang berbasis web. Beberapa penelitian sebelumnya yang mendasari
penelitian ini adalah penelitian yang berjudul ”Sistem informasi Penjualan Lukisan
di Pucuk Art Gallery Berbasis Web”yang dilakukan oleh I Nyoman Budiarta (2004)
Pada penelitian tersebut membahas tentang bagaimana membuat aplikasi untuk
membantu mengatasi dalam sistem informasi penjulan lukisan di Pucuk Art
Gallery, sehingga diharapkan dengan bantuan komputer dapat mempermudah
seorang pecinta seni lukisan maupun kolektor dapat melihat atau memesan lukisan
yang di sukai melalui jasa internet, selain itu juga akan membantu pihak Pucuk Art
Gallery didalam mempromosikan produk lukisan yang diproduksi selama ini.
6
Kemudian penelitian yang berjudul “Sistem Informasi Penjualan Dan
Pembelian Handphone Di Giant Selluler Yogyakarta Berbasis Multiuser” yang
dilakukan oleh Minda Fitriyani (2005).Maksud dan tujuan ini pembuatan sistem
informasi penjualan dan pembelian Handphone di Giant seluler berbasis multiuser
ini di harapkan dapat meningkatkan pelayanan yang lebih efisien, membantu dalam
mengolah data sehingga tersusun rapi, terstruktur dan tersimpan baik, sehingga
kebutuhan akan informasi dapat dilakukan dengan cepat, tepat dan akurat sesuai
dengan kebutuhan..
Penelitian yang berjudul “Sistem Pemesanan Alat-Alat Musik Secara OnLine Berbasis Web Di Toko Musik Sanjaya Palembang”yang dilakukan oleh Dedy
Apriyanto (2005). Dimana pada penelitian ini, “Sistem Pemesanan Alat-Alat Musik
Di Toko Sanjaya” adalah untuk memberikan sistem pelayanan yang ditawarkan
melalui internet.Dengan menggunakan internet sebagai sarana pendukung,
diharapkan lebih mempermudah transaksi untuk pemesanan suatu produk di Toko
Musik Sanjaya.
Perbedaan penelitian ini dengan penelitian-penelitian sebelumnya yaitu
penelitian sebelumnya belum menggunakan metode algoritma k-means clustering
untuk menentukan strategi pemasaran barang kepada konsumen.
BAB II
LANDASAN TEORI
2.1 Strategi Pemasaran
Suatu langkah yang diambil dengan cara dan pola yang tidak biasa dilakukan
orang lain, untuk melakukan pemasaran produk dalam bentuk barang dan jasa
dengan jumlah yang lebih banyak, dengan harga yang bersaing dan kompetitif,
mampu menjangkau berbagai tingkatan konsumen, namun secara keseluruhan tidak
mengalami kerugian untuk produsen atau penjual yang mengelola dan
mempromosikan produk barang dan jasa secara massal merupakan pengertian
strategi pemasaran secara umum.
Strategi pemasaran sendiri memiliki beberapa unsur didalamnya, diantaranya:
1. Penentuan Pasar
Penjelasan tentang pasar sangat luas sehingga pengusaha dalam hal ini bagian
manajemen pemasaran harus memutuskan, memilih secara tepat dibagian tertentu,
pasar mana yang nantinya akan dilayani, ini harus dilakukan agar pemasaran
produknya terfokus. Dalam sebuah strategi pemasaran hal ini adalah awal dari
semua upaya, dan perlu mendapatkan perhatian serius. segmentasi pemasaran
adalah upaya pengklasifikasian atau pengelompokan pasar untuk memudahkan
bagaimana nantinya pasar akan diperlakukan, karena modal akan terbatas, sebisa
mungkin dana yang ada digunakan efisien, akan menjadi sia-sia jika melakukan
pendekatan ke semua masyarakat secara menyeluruh dan bersamaan, akan
membutuhkan sumber daya tenaga dan biaya yang sangat besar tentunya, juga
kehilangan waktu yang bisa lumayan lama
Pasar yang terpilih dengan tepat didalam permulaan usaha akan membuat dana
pada awal usaha menjadi efektif, ini tentu sangat bermanfaat bagi pengusaha atau
manajemen pemasaran yang mempunyai modal yang minim, dengan tujuan pasar
yang tak meleset, tertarget sesuai dengan yang dituju, akan sangat menguntungkan
para pelaku usaha utamanya untuk perputaran modal dari angka penjualan yang
tinggi, misalnya respon yang cepat dari pasar, dari promosi yang singkat akan
7
8
berdampak penjualan produk yang tinggi,bisa berpikir, jika manajemen pemasaran
mobil BMW menjadi sponsor kegiatan lomba paduan suara antar SD, tentu
mendapatkan sedikit pembeli, bahkan dapat dikatakan tak ada hasilnya, strategi
pemasaran tim marketing akan lebih efektif apabila target pasarnya disesuaikan,
misalnya tim marketing BMW menjadi sponsor dalam event touring car, atau
lomba golf ini akan menjadi jauh lebih baik.
2. Perencanaan Produk
Sebelum membuat sebuah produk yang siap dikeluarkan dipasaran, manajemen
pemasaran perlu membuat perencanaan produk yang telah disesuaikan dengan
target pasarnya, misalkan penentuan besaran volume produk, iklan, juga tokoh yang
ada dalam iklan.
Melalui perencanaan produk, hal ini dilakukan agar produk yang dihasilkan
dapat bersaing dengan produk yang sudah terdapat dipasaran sebelumnya, jadi
detail produk tersebut perlu direncanakan. Contohnya produsen mie Sedap yang
akan bersaing dengan mie tenar sebelumnya yaitu Indomie dan Sarimi melakukan
riset pasar sekitar 2 tahun lamanya sebelum produk tersebut dilepas kepasaran dan
menghabiskan biaya yang tak sedikit. dan bisa lihat, dalam rentang waktu yang tak
terlalu lama, Mie Sedaap berhasil mengganggu dominasi mie sebelumnya. Terlihat
jelas bahwa strategi pemasaran tak selalu tentang produk yang sudah siap dilepas
kepasaran, tetapi bisa juga dalam proses perencanaan.
3. Manajemen harga
Manajemen harga merupakan suatu upaya strategis, paling strategis didalam
memulai persaingan, bisa diawali dengan perhitungan yang sangat matang secara
internal perusahaan lalu dibandingkan denga para pesaing. manajemen harga ini
dimulai dengan cara yang sederhana, harga saat promosi, harga eceran, harga
reseller atau agen dan lain lain. Saat ini, pengembangan strategi pemasaran dalam
manajemen harga bisa begitu luas, karena "pasar" saat ini juga turut adil dalam
penentuan harga, menjadi masukan dipasar, utamanya saat pasar merespon secara
rendah produk tertentu dengan tingkat kreatifitas harga yang keliru, respon pasar
atas rumusan harga dari para pesaing.
9
4. Distribusi
Distribusi adalah bagian strategi pemasaran yang penting karena faktor efisien
dan efektivitas bisa membuat energi terkuras. ada tiga pihak yang akan terpuaskan
jika unsur ini berjalan dengan baik, diantaranya produsen, agen atau reseller dan
konsumen. Distribusi merupakan layanan yang dampaknya dapat dirasakan oleh
semua pihak yang akan menjadi satu kesatuan seperti rantai.
5. Komunikasi dan promosi
Bagian komunikasi seharusnya disusun dengan benar karena bagian ini akan
jadi awal dari pertemuan atau awal dari hubungan berupa informasi-informasi.
Komunikasi meliputi penerepan pendekatan pemasaran, sistem publlikasi promosi
penjualan, hubungan dengan relasi, penjualan langsung, pembentukan media yang
mendukung. Komunikasi yang tepat sasaran akan menyebabkan pendapat yang
baik untuk konsumen yang berada dipasaran.
Strategi pemasaran saat ini sangat di pengaruhi oleh perkembangan jaman dan
teknologi saat ini, Saat ini strategi pemasaran yang dilakukan secara manual atau
offline akan mendapatkan jangkauan pasar konsumen lebih sedikit dibandingkan
dengan strategi pemasaran yang di lakukan secara online melalui internet maupun
search engine.
2.2 Toko Online
Toko online merupakan media yang digunakan untuk melakukan kegiatan
transkasi jual-beli layaknya toko yang nyata. Di mana segala kegiatan jual-beli
dilakukan dengan melalui media internet, baik berupa barang maupun jasa. Melalui
internet seorang pembeli bisa melakukan pengamatan terhadap barang yang akan
dibeli atau jasa yang akan digunakan melalui website yang di promosikan oleh
pihak pedagang.
Kelebihan dari toko online yaitu dengan memiliki toko online ini seorang
pedagang tidak memerlukan tempat untuk membuka toko, karena pada toko online
seorang pedagang bisa menjual barangnya secara online melalui website.
Dengan memiliki toko online otomatis setiap barang dagangannya akan di amati
10
sepanjang waktu 7x24 jam, jadi pedagang tersebut tidak perlu untuk begadang atau
melek hingga 24 jam, namun pengunjung yang mendatangi anda. Anda juga tidak
perlu melakukan aktivitas seperti membuka toko, menutup toko, dan sebagainya
cukup lakukan kegiatan aktivitas ini di rumah. Selain itu untuk pembeli yang
melakukan registrasi di toko anda pastilah meninggalkan sebuah alamat email
untuk di hubungi oleh anda, dengan ditinggalkannya alamat email ini maka besar
kemungkinan anda untuk mempromosikan produk anda dengan mengirimkan
katalog online ke email pembeli tersebut., dan masih banyak lagi kelebihan yang
bisa di dapatkan dengan membuka sebuah toko online ini.
internet saat ini telah banyak yang membuka sebuah toko online dengan
produk unggulan masing-masing, mulai dari perabotan rumah tangga sampai
dengan barang-barang elektronik. Dapat dikatakan semua kebutuhan pokok seharihari atau sandang, pangan dan papan terrsedia di toko online ini. Dengan
semaraknya dunia internet untuk saat ini maka sangatlah menjanjikan
untuk membuka sebuah toko online.
2.3. Data Mining
Data mining merupakan serangkaian proses untuk menggali nilai tambah dari
suatu kumpulan data berupa pengetahuan yang selama ini tidak diketahui secara
manual. Patut diingat bahwa kata mining sendiri berarti usaha untuk mendapatkan
sedikit barang berharga dari sejumlah besar material dasar. Karena itu Data Mining
sebenarnya memiliki akar yang panjang dari bidang ilmu seperti kecerdasan buatan
(artificial intelligent), machine learning, statistik dan database. Data mining adalah
proses menerapkan metode ini untuk data dengan maksud untuk mengungkap polapola tersembunyi. Dengan arti lain data mining adalah proses untuk penggalian
pola-pola dari data. Data mining menjadi alat yang semakin penting untuk
mengubah data tersebut menjadi informasi. Hal ini sering digunakan dalam
berbagai praktek profil, seperti pemasaran, pengawasan, penipuan deteksi dan
penemuan ilmiah. Telah digunakan selama bertahun-tahun pada dunia bisnis,
ilmuwan dan pemerintah untuk menyaring volume data seperti catatan perjalanan
penumpang penerbangan, data sensus dan supermarket scanner data untuk
11
menghasilkan laporan riset pasar. Alasan utama untuk menggunakan data mining
adalah untuk membantu dalam analisis koleksi pengamatan perilaku. Data tersebut
rentan terhadap collinearity karena diketahui keterkaitannya. Fakta yang tak
terelakkan data mining adalah bahwa data yang dianalisis mungkin tidak mewakili
seluruh domain, dan karenanya tidak boleh berisi contoh-contoh hubungan kritis
tertentu dan perilaku yang ada di bagian lain dari domain . Untuk mengatasi
masalah semacam ini, analisis dapat ditambah menggunakan berbasis percobaan
dan pendekatan lain, seperti choice modelling untuk data yang dihasilkan manusia.
Dalam situasi ini, yang melekat dapat berupa korelasi dikontrol untuk, atau dihapus
sama sekali, selama konstruksi desain eksperimental.
Data mining sangat perlu dilakukan terutama dalam mengelola data yang
sangat besar untuk memudahkan aktivitas recording atau perekaman suatu transaksi
dan untuk proses data warehousing agar dapat memberikan informasi yang akurat
bagi pengguna data mining. Beberapa tahun ini data mining sangat menarik
perhatian industri informasi karena tersedianya data dalam jumlah yang besar dan
semakin besarnya kebutuhan untuk mengubah data tersebut menjadi informasi dan
pengetahuan yang berguna karena sesuai fokus bidang ilmu ini yaitu melakukan
kegiatan mengekstraksi atau menambang pengetahuan dari data yang berukuran
atau berjumlah besar, informasi inilah yang nantinya sangat berguna untuk
pengembangan. berikut langkah-langkahnya dalam mengelola data-data tersebut:
1. Data cleaning yaitu proses untuk menghilangkan noise data yang tidak
konsisten. Data integration di mana sumber data yang terpecah dapat disatukan.
2. Data selection yaitu data yang relevan dengan tugas analisis dikembalikan ke
dalam database.
3. Data transformation yaitu proses data berubah atau bersatu menjadi bentuk yang
tepat untuk menambang dengan ringkasan performa atau operasi agresi.
4. Knowledge discovery adalah proses esensial di mana metode yang intelegen
digunakan untuk mengekstrak pola data.
5. Pattern evolution yaitu proses untuk mengidentifikasi pola yang benar-benar
menarik yang mewakili pengetahuan berdasarkan atas beberapa tindakan yang
menarik.
12
6. Knowledge presentation yaitu gambaran teknik visualisasi dan pengetahuan
digunakan untuk memberikan pengetahuan yang telah ditambang kepada user.
Beberapa teknik yang sering disebut-sebut dalam literatur data mining dalam
penerapannya antara lain: clustering, classification, association rule mining, neural
network, genetic algorithm dan lain-lain. Dari beberapa teknik tersebut yang
membedakan persepsi terhadap data mining adalah perkembangan teknik-teknik
untuk aplikasi pada database skala besar.
2.3.1. Clustering
Clustering adalah suatu metode pengelompokan berdasarkan ukuran kedekatan
(kemiripan). Clustering beda dengan grup, jika grup berarti kelompok yang sama,
Jika kondisinya tidak sama, berarti bukan kelompoknya. Tetapi jika Cluster tidak
harus sama akan tetapi pengelompokannya berdasarkan pada kedekatan dari suatu
karakteristik sample yang ada, salah satunya dengan menggunakan rumus jarak
euclidean. Aplikasi Cluster ini sangat banyak, karena hampir dalam
mengidentifikasi permasalahan atau pengambilan keputusan selalu tidak sama
persis akan tetapi cenderung memiliki kemiripan saja.
Clustering merupakan suatu teknik data mining yang membagi-bagikan data
ke dalam beberapa kelompok (grup atau cluster atau segmen) yang tiap cluster
dapat ditempati beberapa anggota bersama-sama. Setiap obyek dilewatan ke grup
yang paling mirip dengannya. Ini menyerupai menyusunan hewan dan tumbuhan
ke dalam keluarga-keluarga yang para anggotanya mempunyai kemiripan.
Clustering tidak mensyaratkan pengetahuan sebelumnya dari grup yang dibentuk,
juga dari para anggota yang harus mengikutinya.
Algoritma K-Means salah satu yang terdapat pada Clustering diperkenalkan
oleh J.B. MacQueen pada tahun 1976, salah satu algoritma Clustering sangat umum
yang mengelompokkan data sesuai dengan karakteristik atau ciri-ciri bersama yang
serupa. Grup data ini dinamakan sebagai Cluster. Data di dalam suatu Cluster
mempunyai ciri-ciri (atau fitur, karakteristik, atribut, properti) serupa dan tidak
serupa dengan data pada Cluster lain.
13
2.3.2. K-Means Clustering
K-Means merupakan algoritma clustering yang berulang-ulang. Algoritma KMeans dimulai dengan pemilihan secara acak K, K disini merupakan banyaknya
cluster yang ingin dibentuk.Kemudian tetapkan nilai-nilai K secara random,untuk
sementara nilai tersebut menjadi pusat daricluster atau biasa disebut dengan
centroid, mean atau “means”.Hitung jarak setiap data yang ada terhadap masingmasing centroid menggunakan rumus Euclidian distance hingga ditemukan jarak
yang paling dekat dari setiap data dengan centroid.
K-Means merupakan salah satu metode Clustering non hirarki yang berusaha
mempartisi data yang ada ke dalam bentuk satu atau lebih Cluster atau dapat
dikatakan memiliki tujuan untuk membagi data menjadi beberapa kelompok.
Algoritma K-Means ditemukan oleh beberapa orang yaitu Lloyd (1957, 1982),
Forgey (1965), Friedman and Rubin (1967), and McQueen (1967). Ide
dari Clustering pertama kali ditemukan oleh Lloyd pada tahun 1957, namun hal
tersebut baru dipublikasi pada tahun 1982. Pada tahun 1965, Forgey juga
mempublikasi teknik yang sama sehingga terkadang dikenal sebagai Lloyd-Forgey
pada beberapa sumber.
Algoritma ini menerima masukan berupa data tanpa label kelas. Hal ini berbeda
dengan supervised learning yang menerima masukan berupa vektor (x1, y1), (x2,
y2),…,
(xi,
yi),
dimana xi merupakan
data
dari
suatu
data
pelatihan
dan yi merupakan label kelas untuk xi.
Pada algoritma ini, komputer mengelompokkan sendiri data-data yang menjadi
masukannya tanpa mengetahui terlebih dulu target kelasnya. Masukan yang
diterima adalah data atau objek dan k buah kelompok (Cluster) yang
diinginkan. Algoritma ini akan mengelompokkan data atau objek ke dalam k buah
kelompok tersebut. Pada setiap Cluster terdapat titik pusat (centroid) yang
merepresentasikan Cluster tersebut.
Metode ini mempartisi data ke dalam Cluster sehingga data yang memiliki
karakteristik yang sama dikelompokkan ke dalam satu Cluster yang sama dan data
yang mempunyai karateristik yang berbeda di kelompokan ke dalam Cluster yang
lain.
14
Berikut ini algoritma K-Means mempartisi suatu dataset ke dalam ClusterCluster beserta contoh kasusnya :
1. Algoritma menerima jumlah Cluster untuk mengelompokkan data ke dalamnya,
dan dataset yang akan di Cluster sebagai nilai input.
2. Algoritma kemudian membuat sebanyak K Cluster awal (K = jumlah Cluster
yang diperlukan) dari dataset, sekaligus memilih K record data secara acak
(random) dari dataset. Sebagai contoh, jika terdapat 10.000 baris data di dalam
dataset dan 3 Cluster perlu dibentuk, maka K=3 Cluster awal pertama akan
dibuat dengan mengambil 3 record secara random dari dataset, sebagai Cluster
permulaan. Setiap Cluster awal yang dibentuk tersebut mempunyai hanya satu
record data.
3. Algoritma K-Means menghitung rata-rata aritmatika dari setiap Cluster yang
dibentuk dalam dataset. Rata-rata dari suatu Cluster adalah rata-rata dari semua
record yang terdapat di dalam Cluster tersebut. Karena di dalam semua K Cluster
pertama hanya ada satu record maka rata-ratanya adalah rata-rata record
tersebut. Rata-rata dari suatu record adalah kumpulan nilai-nilai yang
membangun record tersebut. Sebagai contoh jika di dalam dataset S terdapat
record P yang menerima nilai-nilai untuk field Tinggi, Berat dan Usia, maka
dapat ditulis P = {Usia, Tinggi, Berat). Jika John mempunyai Usia John = 20
tahun, Tinggi = 1,70 meter dan Berat = 80 Pon maka ditulis John = {20, 170,
80}. Karena terdapat hanya satu record di dalam setiap Cluster awal maka ratarata dari Cluster dimana John berada adalah = {20, 170, 80}.
4. Selanjutnya, K-Means mengirim K record di dalam dataset ke hanya salah satu
dari Cluster awal. Record ke-4 sampai ke-6 dilewatkan ke Cluster terdekat
(nearest Cluster, yaitu Cluster yang sangat mirip dengan record tersebut)
menggunakan suatu ukuran jarak atau kemiripan seperti ukuran jarak Euclidean
atau Manhattan/City-Block.
5. K-Means mengkalkulasi ulang rata-rata aritmatika dari semua Cluster. Rata-rata
dari suatu Cluster adalah rata-rata dari semua record di dalam Cluster tersebut.
Sebagai contoh, jika suatu Cluster mengandung dua record John = {20, 170, 80}
dan Henry = {30, 160, 120}, maka rata-rata P(rata-rata) dinyatakan sebagai
15
P(rata-rata) = {Usia(rata-rata), Tinggi(rata-rata), Berat(rata-rata)). Usia(ratarata) = (20 + 30)/2, Tinggi(rata-rata) = (170 + 160)/2 dan Berat(rata-rata) = (80
+ 120)/2. Rata-rata aritmatika dari Cluster ini adalah {25, 165, 100}. Rata-rata
tersebut menjadi pusat dari Cluster baru ini. Mengikuti prosedur yang sama,
pusat-pusat Cluster baru dibentuk untuk semua Cluster yang telah ada.
6. K-Means mengirimkan lagi setiap record di dalam dataset ke hanya salah satu
dari Cluster-Cluster baru yang terbentuk. Suatu record atau titik-titik data
dilewatkan ke Cluster terdekat, seperti sebelumnya.
7. Langkah-langkah sebelumnya diulang sampai terbentuk Cluster-Cluster stabil
dan prosedur K-Means selesai. Cluster stabil terbentuk ketika iterasi atau
perulangan dari K-Means tidak membuat Cluster baru sebagai pusat Cluster atau
nilai rata-rata aritmatikaa dari semua Cluster baru sama dengan Cluster lama.
Terdapat beberapa teknik untuk menentukan kapan suatu Cluster stabil terbentuk
atau kapan algoritma K-Means berakhir.
Proses pengelompokkan data ke dalam suatu Cluster dapat dilakukan dengan
cara menghitung jarak terdekat dari suatu data ke sebuah titik pusat atau centroid.
Perhitungan jarak Minkowski dapat digunakan untuk menghitung jarak antar 2 buah
data. Rumus untuk menghitung jarak tersebut adalah:
𝑑(π‘₯𝑖 , π‘₯𝑗 ) = (|π‘₯𝑖1 − π‘₯𝑗1 | 𝑔 + |π‘₯𝑖2 − π‘₯𝑗2 | 𝑔 + β‹― + |π‘₯𝑖𝑝 − π‘₯𝑗𝑝 | 𝑔 )1/𝑔 (2.1)
Dimana:
g = 1, untuk menghitung jarak Manhattan
g = 2, untuk menghitung jarak Euclidean
g = ∞, untuk menghitung jarak Chebychev
π‘₯𝑖 , π‘₯𝑗 = dua buah data yang akan dihitung jaraknya
p = dimensi dari sebuah data
16
Pembaharuan suatu titik centroid dapat dilakukan dengan rumus berikut:
π‘π‘˜
1
∑ π‘₯π‘ž
πœ‡π‘˜ =
π‘π‘˜
(2.2)
π‘ž=1
Dimana:
πœ‡π‘˜ = titik centroid dari Cluster ke-K
π‘π‘˜ = banyaknya data pada Cluster ke-K
π‘₯π‘ž = data ke-q pada Cluster ke-K
Ada juga distance space yang fungsinya hampir sama dengan persamaan di
atas, yaitu untuk menghitung jarak antara data dan centroid . Adapun persamaan
yang dapat digunakan salah satunya yaitu Euclidean Distance Space. Euclidean
distance space sering digunakan dalam perhitungan jarak, hal ini dikarenakan hasil
yang diperoleh merupakan jarak terpendek antara dua titik yang diperhitungkan.
Adapun persamaannya adalah sebagai berikut :
𝑝
𝑑𝑖𝑗 = √∑{π‘₯π‘–π‘˜ − π‘₯π‘—π‘˜ }2
π‘˜=1
Dimana :
𝑑𝑖𝑗 = Jarak objek antara objek i dan j
p = Dimensi data
π‘₯π‘–π‘˜ = Koordinat dari obyek i pada dimensi k
π‘₯π‘—π‘˜ = Koordinat dari obyek j pada dimensi k
(2.3)
17
2.4. MySQL
MySQL merupakan perangkat lunak untuk pengolahan database yang sangat
populair terutama dikalangan sistem operasi berbais Unix. MySQL sendiri dibuat
oleh MySQL AB dimana dalam pekembangannya perangkat lunak ini bersifat open
source. Sesuai dengan namanya bahasa standar yang digunakan oleh MySQL
adalah SQL. SQL merupakan singkatan dari Structured Query Language yang
merupakan bahasa standar dalam pengolahan database. Dalam pembuatan database
dengan MySQL hal yang perlu diketahui adalah seperti yang di jelaskan berikut ini.
1. Membuat Database MySQL
Perintah yang digunakan dalam membuat sebuah database adalah sebagai
berikut:
Create database [if not exists] nama_database
Nama_database merupakan nama dari database yang akan dibuat. Sedangkan
pernyataan if not exists adalah untuk menanggulangi terjadinya nama database
yang sama.
2. Menghapus Database MySQL
Perintah yang digunakan dalam menghapus sebuah database adalah sebagai
berikut:
drop database[if exists] nama_database
Nama_database merupakan nama dari database yang akan dihapus. Sedangkan
pernyataan if exists adalah untuk menyatakan keberadaan nama database.
3. Membuat Tabel MySQL
Secara sederhana perintah untuk membuat suatu tabel dalam database MySQL
adalah sebagai berikut:
Create database[if esists]nama_tabel
18
Contoh : mysql> create tabel Pucuk.jenis(kd_jenis char
(4)
unsigned
default
'0',
jenis
char
(25)
unsigned
default '0')
4. Menghapus Tabel MySQL
Untuk menghapus tabel dari database digunakan perintah sebagai berikut:
Drop tabel[if exists]nama_tabel
Contoh : mysql> drop tabel jenis
5. Memodifikasi Tabel MySQL
Untuk mengubah tabel dari database digunakan perintah sebagai berikut:
Alter
[ignore]
Tabel
nama_tabel
spesifikasi
[,spesifikasi…]
Contoh : alter tabel jenis change nm_jenis nama_jenis
tinyint(3)
unsigned default "0"
2.5. Flowchart
Flowchart adalah alat pemetaan sederhana yang menunjukkan urutan tindakan
dalam proses dalam bentuk yang mudah dibaca dan dikomunikasikan. Menurut
Tague (2005), tujuan digunakannya flowchart antara lain:
1. Untuk mengembangkan pemahaman tentang bagaimana proses dilakukan.
2. Untuk mempelajari perbaikan proses.
3. Untuk berkomunikasi dengan orang lain bagaimana proses dilakukan.
4. Untuk keperluan komunikasi yang lebih baik di antara orang-orang yang terlibat
dalam proses yang sama.
5. Untuk mendokumentasikan proses.
6. Untuk merencanakan sebuah proyek.
Frank Bunker Gilbreth adalah orang yang pertama kali memperkenalkan
sebuah metode terstruktur untuk mendokumentasikan aliran proses yang sering
19
disebut flow process chart di hadapan para anggota ASME (American Society of
Mechanical Engineers) pada tahun 1921 dengan presentasi berjudul “Process
Charts—First Steps in Finding the One Best Way“. Dalam presentasi Gilbreth
tersebut terdapat puluhan simbol yang kemudian pada tahun-tahun berikutnya
disederhanakan menjadi empat macam simbol.
Kemudian pada tahun 1947, simbol-simbol dalam flow process chart milik
Gilbreth digunakan oleh ASME ketika mereka menerbitkan standar pertama untuk
simbol-simbol pemetaan proses, yang kemudian berkembang menjadi ANSI
Y15.3M, yaitu sebuah standar yang dibuat oleh American National Standard
Institute (ANSI) untuk pemetaan operasi dan aliran proses (operation and flow
process charts standard).
Dalam standar ANSI Y15.3M ini terdapat lima macam simbol yang merupakan
modifikasi simbol Gilbreth, yang mana lingkaran kecil diganti dengan anak panah
untuk kegiatan transportasi dan menambah simbol baru untuk kejadian menunggu
(delay).
Simbol-simbol flowchart yang digunakan Gilbreth kurang dikenal secara
umum. Ini mungkin karena meluasnya penggunaan Microsoft Office, yang mana
Microsoft Office merujuk simbol-simbol dasar flowchart kepada simbol-simbol
flowchart untuk pengolahan data (data processing). Sejauh yang saya tahu simbolsimbol ini sama persis dengan template yang digunakan IBM pada 1960-an untuk
simbol flowchart pengolahan data. Berikut adalah bentuk dan simbol-simbol
flowchart secara umum:
Tabel 2.1 Simbol Flowchart secara umum
Terminator, simbol untuk menunjukkan awal atau
akhir dari aliran proses. Umumnya, diberi kata-kata
‘Start’, ‘End’, ‘Mulai’, atau ‘Selesai’.
Process, simbol untuk menunjukkan sebuah
langkah proses atau operasi. Umumnya,
menggunakan kata kerja dalam deskripsi yang singkat
dan jelas.
Connector, tanda panah yang menunjukkan arah
aliran dari satu proses ke proses yang lain.
20
Decision, simbol untuk menunjukkan sebuah langkah
pengambilan keputusan. Umumnya, menggunakan
bentuk pertanyaan, dan biasanya jawabannya terdiri
dari ‘yes’ dan ‘no’ atau ‘ya’ dan ‘tidak’ yang
menentukan bagaimana alur dalam flowchart berjalan
selanjutnya berdasarkan kriteria atau pertanyaan
tersebut.
Sub-process, simbol untuk menunjukkan bahwa
dalam langkah yang dimaksud terdapat flowchart lain
yang menggambarkan langkah tersebut lebih rinci.
Document, simbol untuk menunjukkan proses atau
keberadaan dokumen.
Input/Output, simbol untuk menunjukkan data yang
menjadi input atau output proses.
Connector (On-page), simbol untuk menunjukkan
hubungan simbol dalam flowchart sebagai pengganti
garis untuk menyederhanakan bentuk saat simbol
yang akan dihubungkan jaraknya berjauhan dan rumit
jika dihubungkan dengan garis.
Off-page Connector, fungsinya sama dengan
Connector, akan tetapi digunakan untuk
menghubungkan simbol-simbol yang berada pada
halaman yang berbeda. Label untuk Connector dapat
menggunakan huruf dan Off-page Connector
menggunakan angka.
Simbol-simbol yang diperlihatkan di atas adalah sebagian standar simbolsimbol yang disepakati dan banyak digunakan dibeberapa belahan dunia. Flowchart
dimasukkan sebagai
salah satu dari tujuh alat kualitas dasar karena dengan
flowchart kita dapat dengan mudah melakukan perbaikan (improvement).
Hal-hal yang perlu dianalisis dalam flowchart untuk program perbaikan antara
lain:
1. Berapa lama waktu (cycle time) yang diperlukan untuk setiap langkah proses?
Apakah lamanya siklus proses dapat dikurangi?
2. Apakah terjadi pengulangan proses/rework?
3. Apakah terdapat langkah-langkah yang tidak perlu/tidak bernilai tambah?
21
Flowchart merupakan alat yang berlaku untuk umum, yang dapat disesuaikan
untuk berbagai tujuan. Istilah ‘flowchart’ bisa saja menggambarkan lebih banyak
jenis diagram, beberapa di antaranya menunjukkan hubungan dan aliran
input/output ketimbang langkah-langkah proses yang berurutan. Flow diagrams,
cross functional flowchart,process flowcharts, interrelationship diagram, dan
sebagainya dapat juga dikategorikan sebagai flowchart. Salah satu contoh flowchart
adalah sebagai berikut:
Gambar 2.1 Contoh flowchart
Dari contoh flowchart di atas terlihat bahwa program flowchart memberikan
gambaran secara rinci tentang urutan instruksi yang disusun oleh pemrograman
untuk diterapkan ke komputer. Setelah flowchart selesai disusun selanjutnya
diterjemahkan ke bentuk program dengan bahasa pemrograman, seperti java,
pascal dan lain-lain.
2.6. PHP CodeIgniter
CodeIgniter adalah salah satu dari sekian banyak framework PHP yang tersedia
secara gratis. Tujuan dari pembuatan Framework CodeIgniter adalah untuk
menghasilkan framework yang dapat digunakan untuk pengembangan proyek
pembuatan website secara cepat dibandingkan dengan pembuatan website dengan
22
cara koding secara manual, dengan menyediakan banyak sekali pustaka (library)
yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan
struktur logika untuk mengakses pustaka yang dibutuhkan. Kelebihan CodeIgniter
(Hudayatullah dan Kawistara, 2014), antara lain:
a. Gratis
b. Ringan dan cepat
c. Metode Model-View-Controller
d. Menyediakan banyak library
2.7. Diagram Alir Sistem
Dalam pemodelan proses-proses yang terjadi di dalam sistem, penulis
menggunakan diagram alir sistem, yang merupakan diagram yang menunjukkan
arus pekerjaan secara keseluruhan dari sistem. Beberapa simbol yang digunakan
dalam bagan alir sistem adalah sebagai berikut:
Tabel 2.2 Simbol dan keterangan diagram alir sistem
SIMBOL
KETERANGAN
SIMBOL
KETERANGAN
Menunjukkan multi
dokumen
Menunjukkan dokumen
input dan output
Menunjukkan
pekerjaan manual
Arah arus data
Menunjukkan Proses
Pengarsipan Data
Simbol yang digunakan
untuk menunjukkan awal
atau akhir dari suatu
proses
Simbol input/
output digunakan
untuk mewakili
data input/output
2.8. Entity Relationship Diagram
ERD (Entity Relationship Diagram) adalah suatu model data yang menjelaskan
layout penyimpanan data pada suatu abstraksi tingkat tinggi. ERD merupakan
diagram hasil transformasi dunia nyata ke dunia logika, berorientasi objek, dan di
dalam membuat ERD mempergunakan dasar ilmu teori himpunan, teori graph, dan
teori pemetaan (mapping). Karena ERD memodelkan struktur data dan hubungan
23
antar data, maka pengujian model dengan ERD dikerjakan dengan tanpa
mengabaikan proses yang dilakukan. ERD digunakan untuk mengidentifikasikan
dan mengoganisasikan informasi, jadi tidak hanya digunakan untuk menyimpan
informasi saja. ERD bisa juga digunakan untuk menemukan aturan-aturan dan
kejadian-kejadian.Terdapat empat komponen penting dalam membuat ERD yang
diwakili dengan suatu bentuk notasi, antara lain:
a. Objek (Entity)
Objek
atau
entity
diwakilkan
oleh
sebuah
persegi
panjang
yang
menggambarkan sekumpulan objek di dunia nyata yang masing-masing anggotanya
memiliki karakteristik sebagai berikut:
1. Mempunyai identity yang unik sehinga dapat membedakan suatu anggota
dengan anggota lainnya.
2. Mempunyai peranan dalam sistem yag dibuat sehingga sistem tidak dapat
bekerja tanpa mengakses anggotanya.
3. Masing-masing dapat dilukiskan oleh satu atau lebih elemen.
b. Relationship
Relationship diwakilkan dalam bentuk belah ketupat yang menggambarkan
hubungan antara objek-objek dalam ERD. Relationship bisa berarti pula:
1. Korespondensi antar dua entity.
2. Merupakan suatu entity baru.
3. Satu ke satu (one to one).
4. Satu ke banyak (one to many).
5. Banyak ke banyak (many to many).
c. Supertipe
Supertipe terdiri atas tipe objek dan satu atau lebih sub katagori yang tehubung
oleh suatu relationship. Supertipe digambarkan oleh elemen-elemen data yang
digunakan pada semua subtipe. Namun setiap subtipe digambarkan oleh elemenelemen data yang berbeda.
24
2.9. Transformasi ERD ke Skema Relasi Antar Tabel
Meskipun ERD menggambarkan model data yang digunakan namun ERD
belum menggambarkan hubungan antar file seperti yang diperlihatkan dalam suatu
bidang aplikasi. Untuk dapat melihat keterkaitan data dapat digunakan suatu tool
yang disebut dengan skema relasi. Skema relasi adalah sarana untuk
merepresentasikan atribut-atribut dari setiap entity yang terdapat dalam sistem dan
hubungan antar entity pada model ERD.
Skema Relasi merupakan turunan dari ERD yang diperoleh dengan cara
sebagai berikut :
Contoh : entity A dan entity B
a. Relasi satu ke satu
Untuk relasi satu ke satu terdapat tiga alternatif, yaitu :
1. Jika kardinalitas minimum entity A dan B adalah satu, maka hanya diperlukan
satu skema relasi dengan atribut kunci skema relasi adalah salah satu atribut
kunci dari entity A dan B. Skema relasinya adalah sebagai berikut :
A (AtributKunciA, AtributKunciB, AtributRelasi, AtributLainA)
atau
B (AtributKunciB, AtributKunciA, AtributRelasi, AtributLainB)
2. Jika kardinalitas minimum salah satu dari entity A atau B adalah nol, maka
diperlukan dua skema relasi. Skema relasi yang dihasilkan :
A (AtributKunciA, AtributKunciB, AtributRelasi, AtributLainA) dan
B (AtributKunciB, AtributLainB)
atau
B (AtributKunciB, AtributKunciA, AtributRelasi, AtributLainB) dan
A (AtributKunciA, AtributLainA)
3. Jika kardinalitas minimum entity A dan adalah nol, maka diperlukan tiga skema
relasi. Skema relasi yang dihasilkan:
A (AtributKunciA, AtributLainA) dan
B (AtributKunciA, AtributLainB) dan
R (AtributKunciA, AtributKunciB, AtributRelasi)
25
b. Relasi satu ke banyak
Untuk relasi satu ke banyak terdapat dua alternatif yaitu :
1. Jika kardinalitas minimum entity A (yang mempunyai kardinalitas maksimum
satu) adalah satu, maka diperlukan dua skema relasi. Skema relasinya adalah
sebagai berikut :
A (AtributKunciA, AtributLainA)
atau
B (AtributKunciB, AtributKunciA, AtributRelasi, AtributLainB)
2. Jika kardinalitas minimum entity A atau B adalah nol maka diperlukan tiga
skema relasi. Skema relasi yang dihasilkan :
A (AtributKunciA, AtributLainA) dan
B (AtributKunciB, AtributLainB) dan
R (AtributKunciA, AtributKunciB, AtributRelasi)
c. Relasi banyak ke banyak
Untuk relasi banyak ke banyak entity A dan B, maka hanya diperlukan tiga
skema relasi. Skema relasi yang dihasilkan :
A (AtributKunciA, AtributLainA) dan
B (AtributKunciB, AtributLainB) dan
R (AtributKunciA, AtributKunciB, AtributRelasi)
d. Relasi yang memiliki atribut
Jika relasi antara entity A dan entity B memiliki atribut, maka relasi tersebut
harus digambarkan di skema relasi. Misal Weak Entity A adalah entity yang tidak
mempunyai primary key dan strong entity B adalah entity yang mempunyai primary
key. Jika entity A dan entity B mempunyai relasi, maka primary key dari entity B
harus ada di skema relasi entity A.
2.10. Unified Modelling Language (UML)
Unified Modelling Language (UML) adalah sekumpulan aturan pemodelan
yang digunakan untuk menentukan dan menggambarkan suatu sistem software
yang berkaitan dengan objek (Whitten dan Bentley, (2007). UML telah menjadi
26
standar dalam bahasa pemodelan di bidang perancangan software. Standarisasi
UML diatur dan dibuat oleh Object Management Group (OMG).
Untuk menjalankan fungsinya dalam menentukan dan menggambarkan
rancangan software, UML versi 2.0 menggunakan diagram-diagram sebagai
berikut:
1. Use Case Diagram
2. Activity Diagram
3. Class Diagram
4. Object Diagram
5. State Machine Diagram
6. Sequence Diagram
7. Communication Diagram
8. Interaction Overview Diagram
9. Timing Diagram
10. Component Diagram
11. Deployment Diagram
12. Package Diagram
13. Composite Structure Diagram
Meskipun UML memiliki begitu banyak diagram, tidak semuanya diperlukan
dan harus digunakan dalam perancangan. Apabila sistem telah digambarkan dan
dapat dipahami dengan baik menggunakan diagram yang ditentukan, maka tujuan
dari UML telah tercapai.
2.10.1 Use Case Diagram
Use case merupakan pemodelan untuk kelakuan (behavor) sistem yang akan
dibuat. Use case mendeskripsikan sebuah interaksi antar satu atau lebih aktor
dengan sistem yang akan dibuat. Fungsi diagram use case adalah menjelaskan
fasilitas yang ada (requirement), komunikasi dengan klien dan membuat test dari
kasus-kasus secara umum (Rosa dan Shalahuddin, 2011).
27
Tabel 2.3 Simbol dan keterangan use case diagram
SIMBOL
NAMA
Actor
Use case
Association
KETERANGAN
Orang, proses atau sistem lain yang
beriteraksi dengan sistem yang akan dibuat.
Funsionalitas yang disediakan sistem sebagai
unit-unit yang saling bertukar pesan antar
unit atau actor. Biasanya dinyatakan dengan
mengguanakan kata kerja di awal frase nama
user case.
Komunikasi antara actor dan use case yang
berpartisipasi pada use case atau use case
memiliki interaksi dengan actor.
Include
Relasi use case atau tambahan kesebuah use
case diman use case yang ditambahkan
memerlukan use case ini untuk menjalankan
fungsinya atau sebagai syarat dijalankan use
case ini.
Generalization
Hubungan generalisasi antara dua buah use
case dimana fungsi yang satu adalah fungsi
yang lebih umum dari lainnya
<<include>>
2.10.2. Activity Diagram
Activity diagram merupakan suatu diagram yang menggambarkan workflow
(aliran kerja) atau aktifitas dari sebuah sistem (Rosa dan Shalahuddin, 2011).
Activity diagram juga digunakan untuk mendefinisikan hal-hal berikut :
1. Merancang proses bisnis dimana setiap urutan aktifitas yang digambarkan
merupakan proses bisnis sistem yang didefinisikan.
2. Urutan atau pengelompokan tampilan dari sistem/user inferface di mana setiap
aktifitas dianggap memiliki sebuah rancangan antarmuka tampilan.
3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah
pengujian yang perlu didefinisikan kasus ujinya.
28
Tabel 2.4 Simbol dan keterangan activity diagram
SIMBOL
NAMA
KETERANGAN
Action
Aktivitas yang dilakukan sistem.
Initial Node
Status awal aktivitas, sebuah diagram
aktivitas memiliki sebuah status awal.
Status akhir aktivitas, sebuah diagram
aktivitas memiliki sebuah status akhir.
Asosiasi penggabungan dimana lebih
dari satu aktifitas digabungkan
menjadi satu.
Asosiasi percabangan, dimana jika
ada pilihan aktifitas lebih dari satu.
Actifity Final Node
Join
Decision
2.10.3. Sequence Diagram
Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan
urutan waktu.
Sequence diagram adalah gambaran tahap demi tahap yang
seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram.
Banyaknya sequence diagram yang harus digambar adalah sebanyak
pendefinisian use case yang memiliki proses sendiri atau yang penting semua use
case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada sequence
diagram sehingga semakin banyak use case yang didefinisikan maka sequence
diagram yang harus dibuat juga semakin banyak (Rosa dan Shalahuddin, 2011).
Tabel 2.5 Simbol dan keterangan sequence diagram
SIMBOL
Nama_aktor
NAMA
KETERANGAN
Aktor
Orang, proses atau sistem lain yang
beriteraksi dengan system yang
akan dibuat.
Menyatakan kehidupan suatu objek
LifeLine
Nama_objek : nama_kelas
Objek
Menyatakan objek yang
berinteraksi pesan
29
Message
Spesifikasi dari komunikasi antar
objek yang memuat informasiinformasi tentang aktifitas yang
terjadi.
2.10.4 Class Diagram
Class Diagram adalah diagram yang menunjukan class-class yang ada dari
sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan
struktur statis dari sebuah sistem, oleh karena itu class diagram merupakan tulang
punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek
termasuk UML . Class diagram dibuat agar programmer membuat class-class
sesuai rancangan di dalam class diagram agar antara dokumentasi perancangan dan
perangkat lunak singkron (Rosa dan Shalahuddin, 2011).
Tabel 2.6 Simbol dan keterangan class diagram
SIMBOL
NAMA
KETERANGAN
Dependency
Hubungan dimana
perubahan yang terjadi
pada suatu elemen
mandiri (independent)
akan mempegaruhi
elemen yang bergantung
padanya elemen yang
tidak mandiri.
Apa yang
menghubungkan antara
objek satu dengan objek
lainnya.
Operasi yang benarbenar dilakukan oleh
suatu objek.
Hubungan dimana objek
anak (descendent)
berbagi perilaku dan
struktur data dari objek
yang ada di atasnya
objek induk (ancestor).
Association
Realization
Generalization
30
Collaboration
Class
Nary Association
Deskripsi dari urutan
aksi-aksi yang ditapilkan
system yang
menghasilkan suatu hasil
yang terukur bagi suatu
actor.
Himpunan dari objekobjek yang berbagi
atribut serta operasi yang
sama.
Upaya untuk
menghindari asosiasi
dengan lebih dari 2
objek.
BAB III
METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data
Metode pengumpulan data merupakan salah satu aspek yang berperan dalam
kelancaran dan keberhasilan dalam suatu penelitian.Dalam penelitian ini metode
pengumpulan data yang digunakan adalah pengumpulan data dimana peneliti
mentelidiki benda-benda tertulis seperti buku-buku, dokumen artikel dan jurnal
yang terkait dengan Data Mining.
3.2 Metode Pengembangan Aplikasi
Dalam merancang atau membuat perangkat lunak dibutuhkan suatu
pemodelan dari keseluruhan proses-proses yang akan dilakukan selama
pembuatan perangkat lunak tersebut. Model yang digunakan dalam perangkat
lunak ini adalah proses Rational Unified Proses (RUP). Adapun proses dari
metode/model RUP ini meliputi :
1. Inception/Permulaan
Pada tahap ini, penulis memodelkan ruang lingkup proyek yang akan dibuat.
Adapun ruang lingkup dari proyek ini adalah sebagai berikut:
a. Metode yang digunakan dalam pengelompokkan data pada penelitian ini
adalah algoritma K-Means Clustering
b. Bahasa pemrograman yang digunakan adalah PHP dan pengelolaan basis
datanya menggunakan MySQL.
2. Elaboration/Elaborasi
Pada tahap ini, setelah penulis menentukan ruang lingkup proyek, selanjutnya
penulis melakukan langkah-langkah berikut :
a. Melakukan analisis masalah menggambarkan alur sistem yang akan
dibuat/diusulkan.
b. Membuat perancangan aplikasi menggunakan UML (Unified Modelling
Language.
31
32
c. Membuat
perancangan
tampilan
(interface)
untuk
setiap
tampilan
form/halaman yang ada dalam sistem yang akan dibuat.
3. Construction/Konstruksi
Pada tahap ini, penulis melakukan tahap implementasi yaitu sebagai berikut:
a. Melakukan pengkodean (coding)
b. Melakukan testing aplikasi menggunakan metode Black Box.
4. Transition/Transisi
Menyerahkan perangkat lunak kepada pemakai, mengujinya di tempat
pemakai, dan memperbaiki masalah-masalah yang muncul saat dan setelah
pengujian.
33
3.3.Waktu Penelitian
Tabel 3.1 Waktu penelitian
2015
No
1
2
3
4
Tahapan
September
1 2 3 4
Oktober
1
2 3
4
November
1
2 3
4
Desember
1
2
3 4
1
2016
Januari
2
3
4
Inception
Elaboration
Construction
Transition
a. Pada bulan September, penulis melakukan tahapan inception, yaitu: menentukan ruang lingkup aplikasi dari hasil observasi yang
penulis lakukan.
b. Pada bulan Oktober, penulis melakukan tahapan elaboration, yaitu: melakukan analisis masalah, kebutuhan, keputusan dan
melakukan perancangan pada aplikasi yang akan dibuat.
c. Pada bulan November-Desember, penulis melakukan tahapan construction, yaitu: melakukan pengkodean aplikasi (coding) dan
pengujian (testing) pada aplikasi.
d. Pada bulan Januari, penulis melakukan tahapan transition, yaitu: membuat apa yang sudah dimodelkan pada tahapan-tahapan
sebelumnya menjadi suatu barang yang layak jadi
BAB IV
ANALISIS DAN PERANCANGAN
4.1 Analisis Sistem
Analisis sistem merupakan suatu tahapan yang bertujuan untuk mengetahui
dan mengamati apa saja yang terlibat dalam suatu sistem. Pembahasan yang ada
pada analisis sistem ini yaitu analisis masalah, analisis kebutuhan fungsional dan
analisis kebutuhan nonfungsional.
4.1.1. Analisis Masalah
Dalam tugas akhir ini, berdasarkan studi literatur dan hasil observasi yang
dilakukan, dari hasil pengamatan diperoleh permasalahan yaitu ditinjau dari sisi
penentuan strategi pemasaran sebuah item. Kebanyakan data yang tersimpan pada
sebuah website jual beli online pada database center hanya dipandang sebagai
arsip yang bisa dihapus kapan saja.
Hal tersebut tetntu saja merupakan pandangan yang salah, karena dengan
metode Data Mining data-data tersebut dapat digunakan kembali dalam
menentukan strategi pemasaran.
Salah satu cara untuk mengefiensikan data-data tersebut, maka dibuatlah
penelitian mengenai Penentuan Strategi Penjualan Alat-Alat Tattoo Di Studio
Sonyxtattoo Menggunakan algoritma K-Means Clustering.
4.1.2. Analisis Kebutuhan Fungsional
Analisis kebutuhan fungsional adalah segala bentuk data yang dibutuhkan
oleh sistem agar sistem dapat berjalan sesuai dengan prosedur yang dibangun.
Setelah melalui tahapan analisis, maka telah ditetapkan kebutuhan-kebutuhan
untuk membangun sistem meliputi input, proses dan output.
4.1.2.1. Analisis Kebutuhan Input
Input dari aplikasi yang di bangun terdiri dari:
1. Informasi data cluster
34
35
2. Informasi data objek uji
3. Informasi data stok dan penjualan
4.1.2.2. Analisis Kebutuhan Proses
Kebutuhan proses dalam aplikasi ini antara lain:
1. Proses pembuatan aplikasi menggunakan bahasa pemograman PHP dan
menggunakan algoritma K-Means Clustering sebagai metode Data Mining
pada aplikasi.
2. Proses pengolahan data meliputi informasi data cluster dan informasi data
objek uji.
4.1.2.3. Analisis kebutuhan Output
Output yang diperoleh dalam sistem ini merupakan sebuah aplikasi berbasis
web yang akan menentukan objek uji mana yang memiliki tingkat penjualan yang
tinggi atau laris dengan mengunakan algoritma K-Means Clustering.
4.1.3. Analisis Kebutuhan Nonfungsional
Analisis kebutuhan nonfungsional adalah sebuah langkah dimana seorang
pembangun aplikasi menganalisis sumber daya yang dibutuhkan untuk
membangun aplikasi yang akan dibangun. Analisis kebutuhan nonfungsional yang
dilakukan dibagi dalam dua tahap, yaitu analisis kebutuhan perangkat keras dan
analisis kebutuhan perangkat lunak.
4.1.3.1. Analisis Kebutuhan Perangkat Keras
Perangkat keras yang digunakan pada pembangunan sistem ini, sebagai
berikut
Tabel 4.1 Spesifikasi perangkat keras
No
Nama Perangkat
Spesifikasi
1.
Processor
Intel Core i7
2.
Monitor
Monitor 15,6 inch
36
3.
Memori
RAM 4 GB DDR3
4.
Harddisk
1TB HDD
4.1.3.2. Analisis Kebutuhan Perangkat Lunak
Perangkat lunak yang digunakan pada pembangunan ini, sebagai berikut:
Tabel 4.2 Spesifikasi perangkat lunak
No
Nama Perangkat
Spesifikasi
1.
Operating System
Windows 7 Ultimate
2.
Notepad ++
6.6.9
3.
Xampp
3.2.1
4.
Google Chrome
47.0.2526.106
4.2. Perancangan Aplikasi
4.2.1. Gambaran Umum Sistem
Adapun gambaran umum dari sistem ini terdapat pada Gambar 4.1:
Aplikasi
Web System
Menu Utama
Pilih Menu Data Uji,
Hasil Clustering atau
Diagram hasil uji
Selesai
Gambar 4.1 Perancangan aplikasi
Web System berfungsi sebagai interface aplikasi. Setelah masuk di aplikasi
maka akan menampilkan menu utama dari aplikasi. Setelah itu bisa memilih
menu yang diinginkan.
37
4.2.2. Flowchart Sistem
Pada gambar 4.2 menunjukan flowchart aplikasiPenentuan Strategi
Penjualan Alat-Alat Tattoo Di Studio Sonyxtattoo Menggunakan algoritmaKMeans Clustering. Proses dimulai dengan melakukan login, apabila login tidak
berhasil maka sistem akan kembali pada halaman awal login. Apabila login
berhasil maka sistem akan menampilkan menu.
Gambar 4.2 Flowchart sistem
4.2.3. Analisis Clustering dengan Algoritma K-Means
K-Means termasuk dalam metode data mining partitioning clustering yaitu
setiap data harus masuk dalam cluster tertentu dan memungkinkan bagi setiap
data yang masuk dalam cluster tertentu pada suatu tahapan proses, pada tahapan
38
berikutnya berpindah ke cluster yang lain. K-means memisahkan data ke K daerah
bagian terpisah, dimana K adalah bilangan integer positif. Algoritma K-means
sangat terkenal karena kemudahan dan kemampuannya untuk mengkasifikasi data
besar dan outlier dengan sangat cepat. Berikut ini adalah langkah-langkah
algoritma K-means :
1. Penentuan Cluster Awal
Dalam menentukan n buah pusat cluster awal dilakukan pembangkitan
bilangan random yang merepresentasikan urutan data input. Pusat awal cluster
didapatkan dari data sendiri bukan dengan menentukan titik baru, yaitu dengan
random pusat awal dari data.
2. Perhitungan Jarak dengan Pusat Cluster
Untuk mengukur jarak antar data dengan pusat cluster digunakan Euclidian
distance, algoritma perhitungan jarak data dengan pusat cluster:
a. Ambil nilai data dan nilai pusat cluster
b. Hitung Euclidian distance data dengan tiap pusat cluster
3. Pengelompokan Data
Jarak hasil perhitungan akan dilakukan perbandingan dan dipilih jarak
terdekat antara data dengan pusat cluster, jarak ini menunjukkan bahwa data
tersebut berada dalam satu kelompok dengan pusat cluster terdekat.
Algoritma pengelompokkan data :
a. Ambil nilai jarak tiap pusat cluster dengan data
b. Cari nilai jarak terkecil
c. Kelompokkan
data
dengan
pusat
cluster
yang
memiliki
jarak
terkecil.
4. Penentuan Pusat Cluster Baru
Untuk mendapatkan pusat cluster baru bisa dihitung dari rata-rata nilai
anggota cluster dan pusat cluster. Pusat cluster yang baru digunakan untuk
melakukan iterasi selanjutnya, jika hasil yang didapatkan belum konvergen.
Proses iterasi akan berhenti jika telah memenuhi maksimum iterasi yang
dimasukkan oleh user atau hasil yang dicapai sudah konvergen (pusat cluster baru
sama dengan pusat cluster lama).
39
Algoritma penentuan pusat cluster :
a. Cari jumlah anggota tiap cluster
b. Hitung pusat baru dengan rumus
π‘ƒπ‘’π‘ π‘Žπ‘‘ πΆπ‘™π‘’π‘ π‘‘π‘’π‘Ÿ π΅π‘Žπ‘Ÿπ‘’ =
π‘₯1+π‘₯2+π‘₯3…+π‘₯𝑛+π‘₯𝑝
π‘—π‘’π‘šπ‘™π‘Žβ„Ž+1
(4.1)
Dimana :
π‘₯1, π‘₯2, π‘₯3, . . . . π‘₯𝑛
= anggota cluster
xp
= pusat lama
4.3. Perancangan dan Proses Clustering
Pada tahap ini akan dilakukan proses utama yaitu segmentasi atau
pengelompokkan data Penjualan barang yang diakses dari database, yaitu sebuah
metode clustering algoritma K-Means. Berikut ini merupakan diagram flowchart
dari algoritma K-Means dengan asumsi bahwa parameter input adalah jumlah data
set sebanyak n data dan jumlah inisialisasi centroid K=2 sesuai dengan penelitian.
Dari banyak data penjualan yang diperoleh, diambil 12 jenis barang untuk
dijadikan sampel untuk penerapan algoritma K-means. Percobaan dilakukan
dengan menggunakan parameter-parameter berikut :
Jumlah cluster
:2
Jumlah data
:14
Jumlah atribut
:2
(
40
Gambar 4.3 Flowchart proses k-means
Pada tabel di bawah ini merupakan sampel data yang digunakan untuk
melakukan percobaan perhitungan manual :
Tabel 4.3 Data objek uji yang akan dihitung
No
Stok
Terjual
Jarum C50
150
9
Tinta Merah
50
49
Tinta Hitam
89
88
Tinta Putih
45
5
Tinta Biru
45
2
41
Jarum 0.1 mm
190
185
Mesin Kelas 2
7
3
Mesin Kelas 1
3
3
Tinta Hijau
120
111
Grip 3
234
222
Grip 2
55
0
Grip 1
34
0
Iterasi 1
1. Penentuan Pusat Awal Cluster
Pusat awal cluster atau centroid didapatkan secara random, untuk penentuan
awal cluster di asumsikan :
Pusat Cluster 1: (250, 130)
Pusat Cluster 2: (125, 90)
2. Perhitungan Jarak Pusat Cluster
Untuk mengukur jarak antara data dengan pusat cluster digunakan
Euclidian
Distance,
kemudian
akan
didapatkan
matriks
jarak
dengan
menggunakan rumus Euclidean Distance sebagai berikut :
𝑑 = |π‘₯ − 𝑦| = √∑𝑛𝑖=1(π‘₯𝑖 − 𝑦𝑖)2
Dimana :
d
= Jarak antara data dan pusat cluster
x
= Pusat Cluster
y
= Data
xi
= Titik centroid tiap kategori data
yi
= Jumlah kategori data
(4.2)
42
Dari data yang dijadikan sampel telah dipilih pusat awal cluster yaitu C1
(250, 130) dan C2 (125, 90). Lalu dilakukan penghitungan jarak dari sisa sampel
data dengan pusat cluster yang dimisalkan dengan M(a,b), dimana a merupakan
stok dan b barang yang terjual.
M1
= (150, 9)
M2
= (50, 49)
M3
= (89, 88)
M4
= (45, 5)
M5
= (89, 2)
M6
= (190, 185)
M7
=(7, 3)
M8
= (3, 3)
M9
= (120, 111)
M10
= (234, 222)
M11
= (55, 0)
M12
= (34, 0)
Hitung Euclidean Distance dari semua data ke tiap titik pusat pertama:
𝐷11 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(150 − 250)2 + (9 − 130)2 = 156,97
𝐷12 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(50 − 250)2 + (49 − 130)2 = 215,78
𝐷13 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 250)2 + (88 − 130)2 = 166,39
𝐷14 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(45 − 250)2 + (5 − 130)2 = 240,10
𝐷15 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 250)2 + (2 − 130)2 = 205,68
𝐷16 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(190 − 250)2 + (185 − 130)2 = 81,39
𝐷17 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(7 − 250)2 + (3 − 130)2 = 274,19
𝐷18 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(3 − 250)2 + (3 − 130)2 = 277,74
𝐷19 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(120 − 250)2 + (111 − 130)2 = 131,38
𝐷110 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(234 − 250)2 + (222 − 130)2 = 93,38
𝐷111 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(55 − 250)2 + (0 − 130)2 = 234,36
𝐷112 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(34 − 250)2 + (0 − 130)2 = 252,10
43
Dengan cara yang sama hitung jarak tiap titik ketitik pusat ke-2 dan akan
mendapatkan :
𝐷21 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(150 − 125)2 + (9 − 90)2 = 84,77
𝐷22 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(50 − 125)2 + (49 − 90)2 = 85,47
𝐷23 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 125)2 + (88 − 90)2 = 36,05
𝐷24 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(45 − 125)2 + (5 − 90)2 = 116,73
𝐷25 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 125)2 + (2 − 90)2 = 95,08
𝐷26 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(190 − 125)2 + (185 − 90)2 = 115,11
𝐷27 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(7 − 125)2 + (3 − 90)2 = 146,60
𝐷28 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(3 − 125)2 + (3 − 90)2 = 149,84
𝐷29 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(120 − 125)2 + (111 − 90)2 = 21,59
𝐷210 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √234 − 125)2 + (222 − 90)2 = 171,19
𝐷211 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(55 − 125)2 + (0 − 90)2 = 114,01
𝐷212 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(34 − 125)2 + (0 − 90)2 = 127,99
Dari hasil perhitungan Euclidean Distance, kita dapat membandingkan :
Objek
Tabel 4.4 Hasil iterasi 1
C1
C2
M1
156,97
84,77
M2
215,78
85,47
M3
166,39
36,05
M4
240,10
116,73
M5
205,68
95,08
M6
81,39
115,11
M7
274,19
146,60
M8
277,74
149,84
M9
131,38
21,59
M10
93,38
171,19
44
M11
234,36
114,01
M12
252,10
127,99
{M6, M10}
: Anggota C1
{M1, M2, M3, M4, M5, M7, M8, M9, M11, M12} : Anggota C2
Iterasi 2
1. Hitung Titik Pusat Baru
Tentukan posisi centroid baru (Ck) dengan cara menghitung nilai rata-rata
dari data-data yang ada pada centroid yang sama.
𝐢
1
π‘˜=(𝑛 ) ∑ 𝑑1
(4.3)
π‘˜
Dimana
πΆπ‘˜
= Centroid baru
π‘›π‘˜
= Jumlah dokumen dalam cluster k
d1
= Dokumen dalam cluster k
Sehingga didapatkan titik pusat atau centroid yang baru yaitu:
C1 = (106 ; 101,75)
C2 = (80,25 ; 33,75)
2. Perhitungan Jarak Pusat Cluster
Hitung Euclidean distance dari semua data ke titik pusat yang baru (C1, C2)
seperti yang telah dilakukan pada tahap 1 Setelah hasil perhitungan dapatkan,
kemudian bandingkan hasil tersebut. Jika hasil posisi cluster pada iterasi ke 2
sama dengan posisi iterasi pertama, maka proses dihentikan, namun jika tidak
proses dilanjutkan ke iterasi ke 3.
𝐷11 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(150 − 106)2 + (9 − 101,75)2 = 102,66
𝐷12 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(50 − 106)2 + (49 − 101,75)2 = 76,93
45
𝐷13 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 106)2 + (88 − 101,75)2 = 21,86
𝐷14 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(45 − 106)2 + (5 − 101,75)2 = 114,37
𝐷15 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 106)2 + (2 − 101,75)2 = 101,19
𝐷16 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(190 − 106)2 + (185 − 101,75)2 = 118,26
𝐷17 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(7 − 106)2 + (3 − 101,75)2 = 139,83
𝐷18 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(3 − 106)2 + (3 − 101,75)2 = 142,69
𝐷19 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(120 − 106)2 + (111 − 101,75)2 = 16,78
𝐷110 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(234 − 106)2 + (222 − 101,75)2 = 175,62
𝐷111 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(55 − 106)2 + (0 − 101,75)2 = 113,82
𝐷112 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(34 − 106)2 + (0 − 101,75)2 = 124,65
Dengan cara yang sama hitung jarak tiap titik ketitik pusat baru ke-2 dan akan
mendapatkan :
𝐷21 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(150 − 80,25)2 + (9 − 33,75)2 = 74,01
𝐷22 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(50 − 80,25)2 + (49 − 33,75)2 = 33,88
𝐷23 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 80,25)2 + (88 − 33,75)2 = 54,96
𝐷24 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(45 − 80,25)2 + (5 − 33,75)2 = 45,49
𝐷25 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(89 − 80,25)2 + (2 − 33,75)2 = 32,93
𝐷26 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(190 − 80,25)2 + (185 − 33,75)2 = 186,87
𝐷27 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(7 − 80,25)2 + (3 − 33,75)2 = 79,44
𝐷28 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(3 − 80,25)2 + (3 − 33,75)2 = 83,14
𝐷29 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(120 − 80,25)2 + (111 − 33,75)2 = 86,88
𝐷210 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(234 − 80,25)2 + (222 − 33,75)2 = 243,06
𝐷211 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(55 − 80,25)2 + (0 − 33,75)2 = 42,15
𝐷212 = √(𝑀1π‘₯ − 𝐢1π‘₯)2 + (𝑀1𝑦 − 𝐢1𝑦)2 = √(34 − 80,25)2 + (0 − 33,75)2 = 57,25
Karena pada Iterasi ke-2 posisi cluster tidak berubah/sama dengan posisi
cluster pada iterasi pertama maka proses iterasi dihentikan.
46
Objek
Tabel 4.5 Hasil iterasi 2
C1
C2
M1
102,68
74.01
Objek
C1
C2
M2
76,93
33,88
M3
21,86
54,95
M4
114,37
45,49
M5
101,19
32,93
M6
118,26
186,87
M7
139,83
79,44
M8
142,69
83,14
M9
16,78
86,88
M10
175,62
243,06
M11
113,81
42,15
M12
124,65
57,25
{M6, M10}
: Anggota C1
{M1, M2, M3, M4, M5, M7, M8, M9, M11, M12} : Anggota C2
Dari hasil iterasi-iterasi di atas, maka dapat digambarkan diagram
pengelompokkan data sebagai berikut:
47
Gambar 4.4 Hasil pengelompokkan data
Dari hasil perhitungan di atas maka dapat ditarik kesimpulan Objek Uji
dengan jenis Jarum C50, Tinta Merah, Tinta Hitam, Tinta Putih, Tinta Biru,
Mesin Kelas 1, Mesin Kelas 2, Tinta Hijau, Grip 1 dan Grip 2 merupakan anggota
C2 dan termasuk barang yang kurang laris.
Sedangkan Objek Uji dengan jenis Jarum 0.1 mm dan Grip 3 merupakan
anggota C1 dan termasuk barang yang laris.
4.4. Unified Modeling Language (UML)
Aplikasi dibangun dengan menggunakan Unified Modeling Language
(UML). UML merupakan bahasa visual untuk pemodelan dan komunikasi
mengenai sebuah sistem dengan menggunkan diagram yang terdiri dari Use Case
Diagram, Activty Diagram dan Class Diagram.
4.4.1 Perancangan Use Case Diagram
4.4.1.1 Use Case Diagram Admin
48
Gambar 4.5 Use case diagram admin
Tabel 4.6 Definisi use case diagram admin
No.
Use Case
1.
Login
2.
Mengelola Data
Uji
3.
Mengelola Data
Hasil Uji
Clustering
Mengelola
Diagram Uji
Clustering
4.
Deskripsi
Use case ini digunakan untuk validasi akun admin
sebelum memasuki sistem.
Use case ini digunakan untuk menampilkan objek
data uji dan jumlah cluster dalam aplikasi.
Use case ini digunakan untuk melakukan proses
clustering data terhadap data objek uji.
Use case ini digunakan untuk membuat diagram
hasil clustering terhadap objek uji.
4.4.2. Perancangan Activity Diagram
4.4.2.1. Activity Diagram Admin
a. Activity Diagram Login
49
Pada Gambar 4.6 menunjukkan Activity Diagram Login. Proses login dimulai
dengan mengisi username dan password kemudian sistem melakukan pengecekan
username dan password, apabila sesuai maka staf dapat menjalankan sistem,
namun apabila data yang dimasukkan tidak valid maka sistem akan menampilkan
halaman login .
Gambar 4.6 Activity diagram login (admin)
b. Activity Diagram Menu Data Uji
Pada Gambar 4.7 menunjukkan Activity DiagramMenu Data Uji. Pada halaman
ini dapat melihat tampilan jumlah cluster dan objek uji pada aplikasi. Dimana
pada halaman ini terdapat beberapa menu admin setelah login berhasil.
50
Gambar 4.7 Activity diagram menu data dji
c. Activity Diagram Menu Hasil Uji Clustering
Pada Gambar 4.8 menunjukkan Activity Diagram mengelola menu hasil uji
Clustering dimana pada menu ini user hanya cukup mengklik tombol hitung hasil
uji Clustering kemudian sistem akan melakukan proses perhitungan dan akan
menampilkan hasilnya sebanyak 2 iterasi.
51
Gambar 4.8 Activity diagram menu hasil uji clustering
d. Activity Diagram Menu Diagram Uji Clustering
Pada Gambar 4.9 menunjukkan Activity Diagram mengelola diagram hasil uji
Clustering dimana pada menu ini user hanya cukup mengklik tombol proses
diagram hasil uji Clustering kemudian sistem akan melakukan proses dan akan
menampilkan diagram hasil uji Clustering dari data objek uji yang sudah
dimasukkan dan dikelompokkan menurut cluster masing-masing.
52
Gambar 4.9 Activity diagram menu diagram uji clustering
e. Activity Diagram Logout
Pada Gambar 4.10 menunjukkan Activity Diagram Logout. Proses Logout
dimulai dengan memilih menu Logout kemudian sistem menampilkan halaman
Login.
staf
memilih menu logout
Sistem
menampilkan halaman login
Gambar 4.10 Activity diagram logout
53
4.4.3. Perancangan Class Diagram
Pada Gambar 4.11 menunjukkan dimana semua class yang terpakai adalah,.
Dimana terlihat relasi antar tiap class ,diantaranya class denda terhadap anggota,
anggota terhadap peminjam, jenis buku terhadap buku, buku terhadap peminjam.
Gambar 4.11 Class diagram aplikasi
4.4.4 Perancangan Tabel Database
a. Tabel Admin
Tabel admin digunakan untuk menyimpan data-data pengguna aplikasi.
Struktur dari tabel data admin dapat dilihat pada tabel dibawah ini
Tabel 4.7 Tabel admin
No
1.
Field
username
Tipe
Varchar (50)
Keterangan
Username,Primary key
54
2.
Password
Varchar(50)
Kata sandi
3.
nama_lengkap
Varchar (100)
Nama lengkap pengguna
4.
Email
Varchar(100)
Email pengguna
5.
no_telp
Varchar(20)
Nomor telepon pengguna
6.
Level
Varchar (20)
Level user
b. Tabel Centroid
Tabel centroid digunakan untuk menyimpan centroid. Struktur dari tabel
centroid dapat dilihat pada tabel dibawah ini :
Tabel 4.8 Tabel centroid
No
Field
Tipe
Keterangan
1.
id_centroid
int(5)
ID Centroid, Primary key
2.
data_centroid
Varchar(255)
Data dari Centroid
c. Tabel Centroid2
Tabel centroid2 digunakan untuk menyimpan data centroid ke-2. Struktur dari
tabel centroid2dapat dilihat pada tabel dibawah ini :
Tabel 4.9 Tabel centroid2
No
Field
Tipe
Keterangan
1.
id_centroid
int(5)
ID Centroid, Primary key
2.
data_centroid
Varchar (255)
Data Centroid
d. Tabel Centroid_Data
Tabel centroid_data digunakan untuk menyimpan data centroid beserta
statusnya. Struktur dari tabel centroid_data dapat dilihat pada tabel dibawah ini :
55
Tabel 4.10 Tabel centroid_data
No
Field
Tipe
Keterangan
1.
id_new_centroid
int(11)
2.
nilai_data_centroid
Varchar(50)
ID data centroid,
Primary key
Nilai data centroid
3.
status
Varchar (20)
Status centroid
e. Tabel Diagram
Tabel diagram digunakan untuk menyimpan diagram dari objek yang
dimasukkan. Struktur dari tabel diagram dapat dilihat pada tabel dibawah ini:
Tabel 4.11 Tabel diagram
No
Field
Tipe
Keterangan
1.
id_diagram
Int(5)
ID diagram, Primary key
2.
X
Text
Koordinat x
3.
Y
Text
Koordinat y
f. Tabel Diagram_Centroid
Tabel diagram_centroid digunakan untuk menyimpan diagram dari centroid
yang dimasukkan. Struktur dari tabel diagram_centroid dapat dilihat pada tabel
dibawah ini:
Tabel 4.12 Tabel diagram_centroid
No
Field
Tipe
Keterangan
1.
id_diagram_centroid Int(5)
2.
X
Varchar (255)
ID Diagram Centroid,
Primary key
Koordinat x
3.
Y
Varchar (255)
Koordinat y
g. Tabel Objek
Tabel objek digunakan untuk menyimpan data objek atau penjualan yang
dimasukkan. Struktur dari tabel objek dapat dilihat pada tabel dibawah ini:
56
Tabel 4.13 Tabel objek
No
Field
Tipe
Keterangan
1.
id_objek
Int(5)
ID objek, Primary key
2.
nama_objek
Varchar (255)
Nama objek
3.
data
Varchar (255)
Nilai data objek
h. Tabel Satukan
Tabel satukan digunakan untuk mengelompokkan data objek. Struktur dari
tabel data satukan dapat dilihat pada tabel dibawah ini :
Tabel 4.14 Tabel satukan
No
Field
Tipe
Keterangan
1.
id
Int(5)
ID, Primary key
2.
data
Text
Data objek yang dikelompokkan
BAB V
IMPLEMENTASI DAN PEMBAHASAN
Dalam bab ini dibahas mengenai pembuatan program dan hasil uji coba
program
yang
telah
dirancang
dan
diimplementasikan
dengan
bahasa
pemrograman PHP, serta kontribusi program. Uji coba dilakukan untuk
mengetahui apakah program dapat berjalan sebagaimana mestinya dengan
lingkungan uji coba yang telah ditentukan serta dilakukan sesuai dengan skenario
uji coba.
5.1. Implementasi
Implementasi rancangan antarmuka terbagi menjadi 6 bagian utama, yaitu:
1. Halaman Home
Pada halaman ini merupakan halaman utama saat membuka sistem. Halaman
ini berisi daftar produk yang dapat dibeli. Tampilan Halaman Home dapat dilihat
pada Gambar 5.1.
Gambar 5.1 Halaman home
57
58
2. Halaman Login
Pada halaman ini merupakan halaman login dari sistem. Untuk masuk ke
halaman utama aplikasi, user harus memasukkan username dan password terlebih
dahulu. Tampilan Halaman Login dapat dilihat pada Gambar 5.2.
Gambar 5.2 Halaman login
3. Halaman Beranda
Halaman ini merupakan halaman awal saat user melakukan login ke aplikasi.
Pada halaman ini terdapat 3 menu yang akan dibuka sesuai kebutuhannya, yaitu
Menu Data Uji, Menu Hasil Uji Clustering dan Menu Diagram Uji Clustering.
Pada Halaman Beranda juga terdapat informasi jumlah Objek Uji dan Cluster
yang ada pada aplikasi. Tampilan Halaman Beranda dapat dilihat pada Gambar
5.3.
59
Gambar 5.3 Halaman beranda
4. Halaman Data Uji
Pada halaman ini ditampilkan data uji seperti Cluster dan objek uji. Data
Cluster dapat ditambahkan atau dihapus oleh pengguna. Untuk data objek, untuk
memasukkan datanya menggunakan tombol Browse yang nantinya akan mencari
file data objek dalam format Microsoft Excel. Tampilan Halaman Data Uji dapat
dilihat pada Gambar 5.4.
60
Gambar 5.4 Halaman data uji
5. Halaman Hasil Uji Clustering
Pada halaman ini ditampilkan data hasil Clustering menggunakan algortima KMeans Clustering. Hasil perhitungan menggunakan 2 iterasi yang nantinya akan
mengelompokkan objek mana saja yang termasuk kategori laris atau tidak.
Tampilan Halaman Hasil Uji Clustering dapat dilihat pada Gambar 5.5.
61
Gambar 5.5 Halaman hasil perhitungan clustering
6. Halaman Diagram Uji Clustering
Pada halaman ini ditampilkan diagram hasil perhitungan untuk menentukan
apakah objek termasuk kategori laris atau tidak. Tampilan halaman Diagram Uji
Clustering dapat dilihat pada Gambar 5.6.
62
Gambar 5.6 Halaman diagram uji clustering
Implementasi Algoritma K-Means Clustering dapat dilihat pada Gambar
5.7, 5.8, 5.9, 5.10 dan 5.11 berikut:
Gambar 5.7 Listing algoritma k-means clustering (bagian 1)
63
Gambar 5.8 Listing algoritma k-means clustering (bagian 2)
Gambar 5.9 Listing algoritma k-means clustering (bagian 3)
64
Gambar 5.10 Listing algoritma k-means clustering (bagian 4)
Gambar 5.11 Listing algoritma k-means clustering (bagian 5)
Pada listing di atas menunjukkan perhitungan data objek uji menggunakan
algoritma K-Means Clustering. Perhitungan pada aplikasi dimulai dari melakukan
65
pembacaan data uji yang meliputi objek uji dan cluster yang sudah dimasukkan
pada menu data uji. Kemudian sistem melakukan perhitungan dengan algoritma
K-Means Clustering pada iterasi 1. Setelah itu sistem akan membuat centroid
baru untuk melakukan perhitungan pada iterasi 2. Jika objek uji tidak berpindah
grup, maka perhitungan selesai.
5.2. Uji Coba Sistem
Uji coba sistem yang akan dilakukan berikut ini merupakan proses
pembuktian bahwa aplikasi ini telah sesuai dengan rancangan awal dari sistem
yang telah dirancang pada bab sebelumnya dengan menggunakan algoritma KMeans Clustering.
5.2.1. Uji Coba Menentukan Kategori Penjualan Objek Uji
Dalam proses metode penelitian ini terdapat beberapa objek uji termasuk
stok dan penjualan. Daftar objek uji dapat dilihat pada Tabel 5.1:
Tabel 5.1 Daftar objek uji
No
Objek
Stok
Penjualan
1
Jarum c50
150
9
2
TintaMerah
50
49
3
TintaHitam
89
88
4
TintaPutih
45
5
5
TintaBiru
89
2
6
Jarum 0.1 mm
190
185
7
MesinKelas 2
7
3
8
MesinKelas 1
3
3
9
TintaHijau
120
111
10
Grip 3
234
222
11
Grip 1
55
0
12
Grip 2
34
0
Setelah objek telah ditentukan, selanjutnya akan dikelompokkan menurut
clusternya yang akan ditunjukkan Tabel 5.2 berikut:
66
Tabel 5.2 Data cluster uji
No
Cluster
Rentang
1
Cluster 1
250, 130
2
Cluster 2
125, 90
Dari data diatas dilakukan perhitungan menggunakan algoritma K-Means
dengan 2 iterasi yang hasilnya dapat dilihat pada Gambar 5.12:
Gambar 5.12 Hasil clustering terhadap objek uji
Kemudian dari hasil perhitungan di atas, aplikasi juga akan menampilkan
grafik atau diagram menentukan hasil Clustering tadi. Diagram dapat dilihat pada
Gambar 5.13 berikut:
67
Gambar 5.13 Diagram pengelompokkan objek uji
BAB VI
PENUTUP
6.1 Kesimpulan
Dari hasil penelitian dan implementasi sistem penentuan strategi penjualan
alat-alat tattoo yang telah diuraikan pada bab-bab sebelumnya, maka dapat ditarik
kesimpulan yaitu sistem penentuan strategi ini dapat menerapkan metode data
mining algoritma K-Means Clustering yaitu dengan mempartisi data yang ada ke
dalam bentuk satu atau lebih Cluster atau dapat dikatakan memiliki tujuan untuk
membagi data menjadi beberapa kelompok.dalam menentukan strategi penjualan
pada toko online yang berfokus pada produk yang paling diminati.
Dari data yang di uji,di peroleh 2 cluster(kelompok) berdasarkan penjualan
objek yang sering terjual dan jarang terjual,yaitu
1.Cluster 1 dengan pusat cluster(250,130) objek yang sering terjual :grip 3,jarum
0,1 mm
2.Cluster 2 dengan pusat cluster (125,90) objek yang jarang terjual : Jarum c50,
TintaMerah, Tinta hitam, Tinta putih, Tinta biru, Mesin Kelas 2, Mesin Kelas 1,
Tinta Hijau,grip 1 dan grip 2
6.2 Saran
Berdasarkan hasil penelitian ini, maka peneliti dapat memberikan beberapa
saran untuk penelitian selanjutnya. Adapun beberapa saran itu adalah sebagai
berikut:
1.Sistem
penentuan
strategi
penjualan
inibisa
dikembangkan
dengan
menambahkan fitur pemesanan alat-alat tattoo secara online.
2.Sistem
penentuan
strategi
penjualan
ini
bisa
dikembangkan
dengan
menambahkan metode lain seperti G-Means sebagai perbandingan penentuan
strategi atau menggunakan metode-metode data mining lainnya.
68
DAFTAR PUSTAKA
Agusta, Y. 2007, “K-means Penerapan, Permasalahan dan Metode Terkait”, Jurnal
Sistem dan Informatika,Vol. 3, hal. 47-60.Jakarta.Informatika.
Apriyanto Dedy .2005.Sistem Pemesanan Alat-Alat Musik Secara On-Line Berbasis
Web Di Toko Musik Sanjaya Palembang.Semarang: Universitas Diponegoro,
Jurusan Teknik Elektro.
B.Heriyanto.2011.Esensi–esensi Bahasa Pemrograman Java. Bandung: Informatika.
Budiarta I Nyoman.2004.Sistem informasi Penjualan Lukisan di Pucuk Art Gallery
Berbasis Web. Jakarta: STMIK GI MDP, Jurusan Teknik Informatika.
Fitriyani Minda.2005.Sistem Informasi Penjualan Dan Pembelian Handphone Di
Giant Selluler Yogyakarta Berbasis Multiuser. Bandung: Informatika.
Gunawan Arief Samuel 1.2014. Sistem pendukung keputusan pemasaran produk
Menggunakan data mining dengan k-means clustering.Seminar Nasional
Sistem Informasi Indonesia.
Rismawan,Tedy dkk.2008. Aplikasi K-Means Untuk Pengelompokan Mahasiswa
Berdasarkan Nilai Body Mass Index(Body) BMI & Ukuran
Kerangka.Yogyakarta:Jurusan Teknik Informatika.
Wijaya, A.Arifin M.,& Soebijono, T. 2013 Sistem Informasi Perencanaan Persediaan
Barang.Jurnal Sistem Informasi,STIKOM Surabaya,JSIKA 2.Surabaya.
LAMPIRAN
Lampiran : Listing home.php
<?php
include "../config/koneksi.php";
$objek=mysql_query("select * from objek");
$k=mysql_num_rows($objek);
$centroid=mysql_query("select * from centroid");
$a=mysql_num_rows($centroid);
echo "";
?>
<!-- Main content -->
<section class="content">
<!-- Small boxes (Stat box) -->
<div class="row">
<div class="col-lg-12 col-xs-12">
<!-- small box -->
<h3> Selamat Datang, ADMIN!</h3>
</div><!-- ./col -->
<!--Kriteria-->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-green">
<div class="inner">
<h3><?php echo $k; ?><sup style="font-size: 20px"></sup></h3>
<p>Objek Uji</p>
</div>
<div class="icon">
<i class="fa fa-tasks"></i>
</div>
</div>
</div><!-- ./col -->
<div class="col-lg-3 col-xs-6">
<!-- small box -->
<div class="small-box bg-yellow">
<div class="inner">
<h3><?php echo $a; ?></h3>
<p>Cluster</p>
</div>
<div class="icon">
<i class="fa fa-tasks"></i>
</div>
</div>
</div><!-- ./col -->
</div><!-- /.row -->
</section>
Lampiran : Listing K-means Clustering.php
<?php
class ClusteringKMean {
private $objek = array();
private $centroidCluster = null;
private $cekObjCluster = null;
public function __construct($obj,$cnt) {
$this->centroidCluster = $cnt;
for ($i=0;$i<count($obj);$i++){
$this->objek[$i] = new objek($obj[$i]);
$this->cekObjCluster[$i] = 0;
}
}
public function setClusterObjek($itr){
mysql_query("TRUNCATE centroid2");
$ce = mysql_query("SELECT * FROM centroid ORDER BY
id_centroid LIMIT 1");
$cd = mysql_fetch_array($ce);
$ex = explode(',',$cd[data_centroid]);
$dataaaa = $ex[0];
if ($dataaaa >= 200){
$c1a
=
mysql_fetch_array(mysql_query("SELECT
sum(nilai_data_centroid)/4 as jumlah FROM `centroid_data` where status='R-1'"));
$c1b
=
mysql_fetch_array(mysql_query("SELECT
sum(nilai_data_centroid)/4 as jumlah FROM `centroid_data` where status='B-1'"));
$c2a = mysql_fetch_array(mysql_query("SELECT sum(nilai_data_centroid)/8 as
jumlah FROM `centroid_data` where status='R-0'"));
$c2b
=
mysql_fetch_array(mysql_query("SELECT
sum(nilai_data_centroid)/8 as jumlah FROM `centroid_data` where status='B-0'"));
}else{
$c1a
=
mysql_fetch_array(mysql_query("SELECT
sum(nilai_data_centroid)/8 as jumlah FROM `centroid_data` where status='R-1'"));
$c1b
=
mysql_fetch_array(mysql_query("SELECT
sum(nilai_data_centroid)/8 as jumlah FROM `centroid_data` where status='B-1'"));
$c2a = mysql_fetch_array(mysql_query("SELECT sum(nilai_data_centroid)/4 as
jumlah FROM `centroid_data` where status='R-0'"));
$c2b
=
mysql_fetch_array(mysql_query("SELECT
sum(nilai_data_centroid)/4 as jumlah FROM `centroid_data` where status='B-0'"));
}
mysql_query("INSERT INTO centroid2 (data_centroid) VALUES
('$c1a[jumlah],$c1b[jumlah]')");
mysql_query("INSERT INTO centroid2 (data_centroid) VALUES
('$c2b[jumlah],$c2a[jumlah]')");
mysql_query("INSERT
INTO
('$c2b[jumlah],$c2a[jumlah]')");
centroid2
(data_centroid)
VALUES
echo "<table width='100%;' cellpadding=0 cellspacing=0>
<tr><th colspan='100'>ITERASI ".$itr."</th></tr>
<tr><th width=200px>Objek</th>";
for ($i=0;$i<count($this->objek[0]->data);$i++){
echo "<th width=70px>Data ".($i+1)."</th>";
}
for ($j=0;$j<count($this->centroidCluster);$j++){
echo "<th>Cluster ".($j+1)."</th>";
}
echo "</tr>";
$hitung = mysql_query("SELECT * FROM objek ORDER BY
id_objek DESC");
$jml = mysql_num_rows($hitung);
$i=0;
$no = 1;
while ($r = mysql_fetch_array($hitung)){
$this->objek[$i]->setCluster($this->centroidCluster);
echo
"<tr><td><span
style='float:left;
left:10px;'>$no. $r[nama_objek]</span></td>";
for ($j=0;$j<count($this->objek[$i]->data);$j++)
margin-
if ($j == $this->objek[$i]->getCluster()){
mysql_query("INSERT
INTO
centroid_data (nilai_data_centroid, status)
VALUES ('".$this->objek[$i]->data[$j]."','B-".$this->objek[$i]->getCluster()."')");
echo
"<td>".$this->objek[$i]>data[$j]."</td>";
}else{
mysql_query("INSERT
INTO
centroid_data (nilai_data_centroid, status)
VALUES ('".$this->objek[$i]->data[$j]."','R-".$this->objek[$i]->getCluster()."')");
echo
"<td>".$this->objek[$i]>data[$j]."</td>";
}
$data = explode(',',$r[data]);
$mx = $data[0];
$my = $data[1];
if ($itr == 2){
$hitungcluster = mysql_query("SELECT * FROM centroid2");
$jmlcluster = mysql_num_rows($hitungcluster);
$j=0;
while ($c = mysql_fetch_array($hitungcluster)){
$datac = explode(',',$c[data_centroid]);
$cx = $datac[0];
$cy = $datac[1];
$hasil1 = ($mx - $cx) * ($mx - $cx);
$hasil2 = ($my - $cy) * ($my - $cy);
$hasil3 = $hasil1 + $hasil2;
$hasil_akhir = sqrt($hasil3);
if ($j == $this->objek[$i]->getCluster()){
echo "<td>Centroid ($cx, $cy) - $hasil_akhir </td>";
}else{
echo "<td
style='background:lightgreen'>Centroid ($cx, $cy) - $hasil_akhir</td>";
}
$j++;
}
}else{
$hitungcluster = mysql_query("SELECT * FROM
centroid");
$jmlcluster = mysql_num_rows($hitungcluster);
$j=0;
while ($c = mysql_fetch_array($hitungcluster)){
$datac = explode(',',$c[data_centroid]);
$cx = $datac[0];
$cy = $datac[1];
$hasil1 = ($mx - $cx) * ($mx - $cx);
$hasil2 = ($my - $cy) * ($my - $cy);
$hasil3 = $hasil1 + $hasil2;
$hasil_akhir = (sqrt($hasil3));
if ($j != $this->objek[$i]->getCluster()){
echo "<td style='background:yellow'>Centroid ($cx, $cy) - $hasil_akhir
</td>";
}else{
echo "<td>Centroid ($cx, $cy) $hasil_akhir</td>";
$j++;
}
}
echo "</tr>";
$i++;
$no++;
}
echo "</table><br><br>";
$cek = TRUE;
for ($i=0;$i<count($this->cekObjCluster);$i++){
if ($this->cekObjCluster[$i]!=$this->objek[$i]->getCluster()){
$cek = FALSE;
break;
}
if ((!($cek))&&($itr<20)){
for ($i=0;$i<count($this->cekObjCluster);$i++){
$this->cekObjCluster[$i] = $this->objek[$i]->getCluster();
}
$this->setCentroidCluster();
$this->setClusterObjek($itr+1);
}else{
}
}
private function setCentroidCluster(){
for ($i=0;$i<count($this->centroidCluster);$i++){
$countObj = 0;
$x = array();
for ($j=0;$j<count($this->objek);$j++){
if ($this->objek[$j]->getCluster()==$i){
for ($k=0;$k<count($this->objek[$j]->data);$k++){
$x[$k] += $this->objek[$j]->data[$k];
}
$countObj++;
}
}
for ($k=0;$k<count($this->centroidCluster[$i]);$k++){
if ($countObj>0)
$this->centroidCluster[$i][$k] =
$x[$k]/$countObj;
else{
echo "<font
color='red'>Terdapat ketidak sesuai Nilai Awal Cluster</font><br>";
break;
}
}
}
}
Lampiran : Listing koneksi.php
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "dbkmean";
mysql_connect($server,$username,$password) or die ("Gagal");
mysql_select_db($database) or die ("Database tidak ditemukan");
?>
Download