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
<
>
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 <section class="content">
Selamat Datang, ADMIN!
<sup style="font-size: 20px">
Objek Uji
Lampiran : Listing K-means Clustering.php centroidCluster = $cnt; for ($i=0;$iobjek[$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 " ITERASI ".$itr." |
Objek | "; for ($i=0;$iobjek[0]->data);$i++){ echo "Data ".($i+1)." | "; } for ($j=0;$jcentroidCluster);$j++){ echo "Cluster ".($j+1)." | "; } echo "
"; $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 "<span style='float:left; left:10px;'>$no. $r[nama_objek] | "; for ($j=0;$jobjek[$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 "".$this->objek[$i]>data[$j]." | "; }else{ mysql_query("INSERT INTO centroid_data (nilai_data_centroid, status) VALUES ('".$this->objek[$i]->data[$j]."','R-".$this->objek[$i]->getCluster()."')"); echo "".$this->objek[$i]>data[$j]." | "; }
$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 "Centroid ($cx, $cy) - $hasil_akhir | "; }else{ echo "Centroid ($cx, $cy) - $hasil_akhir | "; } $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 "Centroid ($cx, $cy) - $hasil_akhir | "; }else{ echo "Centroid ($cx, $cy) $hasil_akhir | ";
$j++; } } echo "
"; $i++; $no++; } echo "
"; $cek = TRUE; for ($i=0;$icekObjCluster);$i++){ if ($this->cekObjCluster[$i]!=$this->objek[$i]->getCluster()){ $cek = FALSE; break; } if ((!($cek))&&($itr<20)){ for ($i=0;$icekObjCluster);$i++){ $this->cekObjCluster[$i] = $this->objek[$i]->getCluster(); } $this->setCentroidCluster(); $this->setClusterObjek($itr+1); }else{ } } private function setCentroidCluster(){ for ($i=0;$icentroidCluster);$i++){ $countObj = 0; $x = array(); for ($j=0;$jobjek);$j++){ if ($this->objek[$j]->getCluster()==$i){ for ($k=0;$kobjek[$j]->data);$k++){ $x[$k] += $this->objek[$j]->data[$k]; } $countObj++; } } for ($k=0;$kcentroidCluster[$i]);$k++){ if ($countObj>0) $this->centroidCluster[$i][$k] = $x[$k]/$countObj; else{ echo "Terdapat ketidak sesuai Nilai Awal Cluster
"; break; } } } }
Lampiran : Listing koneksi.php