perpustakaan.uns.ac.id digilib.uns.ac.id BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM 3.1 3.1.1 Alat Dan Bahan Alat 1. Perangkat keras yang digunakan untuk pembuatan aplikasi ini adalah: (a) Komputer dengan spesifikasi : R i. Prosesor Inteli5 4670 ii. Memori RAM 8GB iii. Harddisk 1TB iv. Sistem operasi Arch Linux (b) Laptop dengan spesifikasi : i. Prosesor Intel ii. Memori RAM 2GB iii. Harddisk 500GB R iv. Sistem operasi Windows8.1 2. Perangkat lunak yang digunakan pada pembuatan aplikasi ini adalah: (a) TypeSafe Activator. (b) IntellijIDEA 14.x (c) Emacs. (d) Peramban Mozilla Firefox, Google Chrome, w3m, links, Midori. (e) Postgresql 9.4.x 3.1.2 Bahan 1. Data Barang yang terdiri dari (a) ID barang (b) Nama barang commit to user 16 perpustakaan.uns.ac.id digilib.uns.ac.id 17 (c) Harga barang 2. Data Transaksi yang terdiri dari (a) No transaksi (b) ID transaksi (c) ID Barang commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 18 3.2 Metodologi Penelitian Metodologi penelitian yang digunakan untuk membuat tugas akhir ini dapat dilihat pada Gambar 3.1. Gambar 3.1: Metodologi Penelitian Sedangkan untuk penjelasannya sebagai berikut. 1. Persiapan Pada tahap ini, penulis melakukan studi pustaka mengenai algoritma yang akan diterapkan. Selain itu, penulis juga melakukan wawancara kepada rekan penulis yang sudah menerapkan algoritma ini, walau cakupan yang berbeda. 2. Analisis dan Desain Tahap ini, penulis menentukan mengenai Software requirements specification commit to user sistem. Setelah SRS ditentukan, penulis mulai menyusun mengenai diagram perpustakaan.uns.ac.id digilib.uns.ac.id 19 diagram yang dibutuhkan. Diagram yang telah dibuat antara lain adalah: usecase, activity, sequence, class, dan entity-relationship. Setelah membuat diagram diagram yang dibutuhkan, penulis menentukan penyusunan layout pada sistem. 3. Implementasi Tahap ini, penulis membuat penerapan mengenai penataan layout, basis data, dan sistem secara keseluruhan. 4. Penulisan Laporan Tahap ini, penulis menyusun dokumentasi penelitian Tugas Akhir ini. 3.3 Perancangan Sistem Sistem yang dibuat adalah aplikasi yang bertujuan untuk menentukan association rule atau nilai keterkaitan antar beberapa barang yang terjual menggunakan algoritma apriori. Association rule tadi digunakan sebagai bahan pertimbangan dalam menentukan paket barang yang akan dijual. 3.3.1 Analisis Kebutuhan Fungsional Analisis kebutuhan fungsional digunakan untuk menentukan proses-proses pada sistem yang dilakukan oleh aktor yang memilik akses terhadap proses sistem. Kebutuhan fungsioanl sistem dapat dihat pada Tabel 3.1 Tabel 3.1: Kebutuhan Fungsional Sistem No Kode Judul Aktor 1 APR001 Input data minimum konfidensi & support Pengguna 2 APR002 Unggah data barang Pengguna 3 APR003 Unggah data transaksi Pengguna 4 APR004 Ubah data minimum konfidensi & support Pengguna 5 APR005 Menampilkan association rule yang dihasilkan Pengguna 3.3.2 Analisis Kebutuhan Non-Fungsional commit to user Analisis kebutuhan non-fungsional untuk sistem ini adalah sebagai berikut. perpustakaan.uns.ac.id digilib.uns.ac.id 20 1. Pengguna dapat masuk ke dalam sistem. 2. Sistem hanya bisa diakses pada jaringan lokal. 3.3.3 Perancangan Sistem dan Basis Data Perancangan sistem untuk pembuatan aplikasi ini antara lain sebagai berikut: 3.3.3.1 Use Case Berdasarkan kebutuhan fungsional dari aplikasi ini, maka dibuat use-case diagram seperti Gambar 3.2 Gambar 3.2: Diagram use case Aplikasi web penentu bundel produk penjualan . Pada gambar diatas, use case yang ada merupakan 3.3.3.2 Activity Diagram activity berikut menggambarkan alur dari Aplikasi web penentu bundel produk penjualan yang memuat urutan proses dari kondisi awal hingga kondisi akhir dari sebuah proses. 1. Mengatur min. confidence, min. support dan jumlah barang pada bundle Gambar 3.3 merupakan diagram aktivitas untuk pengaturan min. confidence, min. support. Sedangkan untuk Tabel 3.2 merupakan penjelasan untuk diacommit to user gram aktivitas berikut. perpustakaan.uns.ac.id digilib.uns.ac.id 21 Gambar 3.3: Diagram activity untuk usecase pengaturan. Tabel 3.2: Deskripsi Use Case Pengaturan Nama use case Tingkat Pentingnya Pengaturan min. confidence, min. support dan jumlah bundle pada paket Tinggi Pemegang kepentingan 1. Pengguna Deskripsi singkat Pengguna memasukkan pengaturan jumlah bundle pada paket dan nilai minimum confidence dan support agar sistem mampu melakukan penghitungan. Pengguna ingin mengatur tingkat konfidensi dan support sesuai dengan jumlah yang diinginkan. Asosiasi Pengguna Include commit to user Extend - Pemicu Hubungan perpustakaan.uns.ac.id digilib.uns.ac.id 22 Generalisasi Alir kejadian Normal Anak alir - (1.) Pengguna memilih tombol home pada laman di peramban. (2.) Pengguna memasukkan 3 nilai pada borang yang telah disediakan yang masing masing bernilai integer. (3.) Pengguna menekan tombol Save pada borang. (4.) Pengaturan tersimpan. - Alir alternatif / Pengecualian 2 Nilai masukan tidak memenuhi syarat. 2. Mengunggah data barang. Gambar 3.4 merupakan diagram aktivitas untuk pengunggahan data barang. Sedangkan untuk Tabel 3.3 merupakan penjelasan untuk diagram aktivitas berikut. Gambar 3.4: Diagram activity untuk pengunggahan data barang. Tabel 3.3: Deskripsi usecase pengunggahan data barang. Nama use case Pengunggahan data barang Tingkat Pentingnya Penting commit to user 1. Pengguna Pemegang kepentingan perpustakaan.uns.ac.id digilib.uns.ac.id 23 Deskripsi singkat Pemicu Hubungan Alir kejadian Normal Anak alir Pengguna mengunggah berkas dengan jenis xls atau xlsx yang berisi data barang. Baik jenis maupun harga. Pengguna ingin mengunggah data dari komputer ke server, sehingga data bisa diolah Asosiasi Pengguna Include Extend Generalisasi (1.) Pengguna memilih tombol Barang pada laman di peramban. (2.) Pengguna menekan tombol Unggah pada laman yang ditampilkan. (3.) Pengguna memilih berkas yang akan diunggah. (4.) Pengguna memilih menekan tombol Unggah pada borang. (5.) Apabila berkas yang diunggah tidak valid, maka kembali pada laman pemilihan berkas (6.) Berkas terunggah dan data tersimpan pada basis data. - Alir alternatif / Pengecualian 4 Berkas yang diunggah bukan berupa berkas dengan jenis xlsx atau xls 4 Berkas yang diunggah tidak mempunyai format pengaturan sesuai yang ditentukan. 3. Mengunggah data transaksi. Gambar 3.5 merupakan diagram aktivitas untuk pengunggahan data transaksi. Sedangkan untuk Tabel 3.4 merupakan penjelasan untuk diagram aktivitas berikut. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 24 Gambar 3.5: Diagram activity untuk pengunggahan data transaksi. Tabel 3.4: Deskripsi usecase pengunggahan data transaksi. Nama use case Pengunggahan data transaksi Tingkat Pentingnya Penting Pemegang kepentingan 1. Pengguna Deskripsi singkat Pengguna mengunggah berkas dengan jenis xls atau xlsx yang berisi data transaksi yang berisi urutan nomor transaksi dan barang yang dibeli. Pengguna ingin mengunggah data dari komputer ke server, sehingga data bisa diolah Asosiasi Pengguna Include Extend Generalisasi - Pemicu Hubungan commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 25 Alir kejadian Normal Anak alir (1.) Pengguna memilih tombol Transaksi pada laman di peramban. (2.) Pengguna menekan tombol Unggah pada laman yang ditampilkan. (3.) Pengguna memilih berkas yang akan diunggah. (4.) Pengguna memilih menekan tombol Unggah pada borang. (5.) Apabila berkas yang diunggah tidak valid, maka kembali pada laman pemilihan berkas (6.) Berkas terunggah dan data tersimpan pada basis data. - Alir alternatif / Pengecualian 4 Berkas yang diunggah bukan berupa berkas dengan jenis xlsx atau xls 4 Berkas yang diunggah tidak mempunyai format pengaturan sesuai yang ditentukan. 4. Mengubah data min. confidence, min. support dan jumlah barang. pada bundle. Gambar 3.6 merupakan diagram aktivitas untuk pengubahan data min. confidence, min. support dan jumlah barang. pada bundle. Sedangkan untuk Tabel 3.5 merupakan penjelasan untuk diagram aktivitas berikut. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 26 Gambar 3.6: Diagram activity untuk pengubahan min. confidence, min. support dan jumlah barang pada bundle. Tabel 3.5: Deskripsi usecase pengubahan nilai. Nama use case Tingkat Pentingnya Pengubahan nilai min. confidence, min. support dan jumlah barang pada bundle Penting Pemegang kepentingan 1. Pengguna Deskripsi singkat Pengguna mengubah pengaturan nilai min. confidence, min. support dan jumlah barang pada bundle yang sudah diatur sebelumnya. Pengguna ingin melakukan pengubahan nilai min. confidence, min. support dan jumlah barang pada bundle yang sudah diatur sebelumnya Asosiasi Pengguna commit to user Include - Pemicu Hubungan perpustakaan.uns.ac.id digilib.uns.ac.id 27 Extend Generalisasi Alir kejadian Normal Anak alir Tabel 3.2 - (1.) Pengguna memilih tombol Home pada laman di peramban. (2.) Pengguna menekan tombol Hapus pada tabel di laman yang ditampilkan. (3.) Pengguna memasukkan nilai min. confidence, min. support dan jumlah barang pada bundle yang diinginkan pada borang. (4.) Pengguna menekan tombol Simpan pada borang. - Alir alternatif / Pengecualian 3 Nilai yang dimasukkan pengguna tidak memenuhi persyaratan. 5. Menampilkan hasil penghitungan. Gambar 3.7 merupakan diagram aktivitas untuk menampilkan hasil penghitungan. Sedangkan untuk Tabel 3.6 merupakan penjelasan untuk diagram aktivitas berikut. Gambar 3.7: Diagram activity untuk penampilan hasil penghitungan. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 28 Tabel 3.6: Deskripsi usecase penampilan hasil penghitungan. Nama use case Menampilkan hasil penghitungan Tingkat Pentingnya Penting Pemegang kepentingan 1. Pengguna Deskripsi singkat Sistem menampilkan hasil penghitungan berdasarkan nilai yang sudah ditentukan oleh pengguna pada tahapan di Tabel 3.2 menggunakan data dari tahapan Tabel 3.3 dan Tabel 3.4 Pengguna ingin mendapatkan hasil penghitungan Pemicu Hubungan Asosiasi Include Extend Generalisasi Alir kejadian Normal (1.) Pengguna menekan tombol Apriori pada panel navigasi di peramban. (2.) Pengguna menekan tombol Hitung pada tabel yang ditampilkan. (3.) Sistem akan menampilkan hasil penghitungan yang memenuhi kriteria. - Anak alir Pengguna - Alir alternatif / Pengecualian 3 Persyaratan tidak lengkap. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 29 3.3.3.3 ERD Diagram relasi pada Aplikasi web penentu bundel produk penjualan dapat dilihat pada Gambar 3.8 Sebagaimana pada gambar, terdapat 12 tabel dan satu relasi. Gambar 3.8: Diagram relasi Aplikasi web penentu bundel produk penjualan commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 30 3.3.3.4 Rancangan Basis Data 1. asosrule Tabel asosrule (Tabel 3.7) digunakan untuk menyimpan data hasil penghitungan sistem. Tabel ini mempunyai satu kolom indeks, yaitu kolom daftar. Tabel 3.7: Tabel Asosrule Nama Kolom Tipe Nama Deskriptif Nilai valid daftar integer[] rule hstore konfid double precision daftar barang rule pembelian Konfidensi 0.00 1.00 Kolom indeks Boleh null Deskripsi Unik Indeks Tidak Berisi daftar barang yang dibeli Berisi Tidak - Tidak Berisi nilai konfidensi hasil penghitungan algoritma 2. barang Tabel barang (Tabel 3.8) digunakan untuk menyimpan data barang yang digunakan pada sistem. Tabel ini mempunyai satu kolom indeks yaitu kolom idbarang. Tabel 3.8: Tabel Barang Nama Kolom Tipe Nama Deskriptif idbarang integer id barang nama barang harga barang nabarang varchar (254) habarang integer Nilai valid Kolom indeks Boleh null Deskripsi Unik Indeks Tidak Merupakan no id dari barang Berisi nama barang Tidak Tidak commit to user Berisi harga barang dari perpustakaan.uns.ac.id digilib.uns.ac.id 31 3. itemset Tabel barang (Tabel 3.9) digunakan untuk menyimpan data koleksi yang merupakan hasil sementara penghitungan yang dilakukan oleh sistem. Tabel ini tidak mempunyai kolom indeks. Tabel 3.9: Tabel Itemset Nama Kolom Tipe Nama Deskriptif daftar integer[] koleksi support Nilai valid Kolom indeks Boleh null Deskripsi daftar id barang Tidak integer koleksi barang Tidak integer support barang Tidak Merupakan set atau kumpulan dari barang Merupakan jumlah anggota pada kolom daftar Berisi kejadian pembelian pada kelompok barang pada kolom daftar 4. logininfo Tabel barang (Tabel 3.10) digunakan untuk menyimpan data informasi login. Tabel ini tidak mempunyai kolom indeks. Tabel 3.10: Tabel Login Info Nama Kolom Tipe Nama Deskriptif id bigint providerID varchar (254) Nilai valid Kolom indeks Boleh null Deskripsi no identitas Tidak Identitas Provider Tidak Merupakan id pengguna yang masuk kedalam sistem Merupakan nomor identitas penyedia layanan masuk / otentikasi commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 32 providerKeyvarchar (254) Kunci Provider Tidak Merupakan kunci unik dari penyedia layanan masuk / otentikasi 5. oauth1info Tabel barang (Tabel 3.11) digunakan untuk menyimpan data informasi penyedia layanan OAuth versi 1. Tabel ini tidak mempunyai kolom indeks. Tabel 3.11: Tabel Info OAuth1 Nama Kolom Tipe Nama Deskriptif id bigint token varchar (254) varchar (254) secret loginInfoIDbigint Nilai valid Kolom indeks Boleh null Deskripsi no identitas Tidak Token rahasia Kata sandi Tidak ID Informasi Login Tidak Merupakan id pengguna yang masuk kedalam sistem Token rahasia dari id OpenAuth versi 1. Kata sandi yang ada pada pengaturan sistem. No. Identitas yang digunakan untuk masuk. Tidak 6. oauth2info Tabel barang (Tabel 3.12) digunakan untuk menyimpan data informasi penyedia layanan OAuth versi 2. Tabel ini tidak mempunyai kolom indeks. Tabel 3.12: Tabel Info OAuth2 Nama Kolom Tipe Nama Deskriptif Nilai valid Kolom indeks commit to user Boleh null Deskripsi perpustakaan.uns.ac.id digilib.uns.ac.id 33 id bigint no identitas Tidak accesstokenvarchar (254) Token rahasia Tidak tokentype varchar (254) expiresin integer Tipe token Kadaluarsa dalam Ya refreshtokenvarchar (254) logininfoid bigint Penyegaran token ID Informasi Login Ya Ya Tidak Merupakan id pengguna yang masuk kedalam sistem Token akses rahasia dari id OpenAuth versi 2. Tipe token yang digunakan masuk. Waktu yang dibutuhkan agar akun kadaluarsa masa login. Tipe token yang digunakan masuk. No. Identitas yang digunakan untuk masuk. 7. passwordinfo Tabel barang (Tabel 3.14) digunakan untuk menyimpan data informasi kata sandi yang digunakan untuk masuk ke sistem. Tabel ini tidak mempunyai kolom indeks. Tabel 3.13: Tabel Info Password Nama Kolom Tipe Nama Deskriptif hasher varchar (254) password varchar (254) Nilai valid Kolom indeks Boleh null Deskripsi Algoritma hash Tidak Kata sandi Tidak Merupakan algoritma hash yang digunakan untuk menyembunyikan sandi. merupakan hasil penyandian dari kata sandi. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 34 salt varchar (254) loginInfoIDbigint Tambahan kata sandi Ya ID Informasi Login Tidak Merupakan string tambahan yang digunakan saat hashing No. Identitas yang digunakan untuk masuk. 8. play evolutions Tabel barang (Tabel 3.14) digunakan untuk menyimpan data dan catatan eksekusi evolutions ke basis data. Tabel ini tidak mempunyai kolom indeks. Tabel 3.14: Tabel Play Evolutions Nama Kolom Tipe Nama Deskriptif id integer Nilai valid Kolom indeks Boleh null Deskripsi no identitas Tidak Merupakan nomor identitas eksekusi evolution dari framework. varchar Token (254) rahasia applied at timestamp Waktu eksekusi Tidak apply scripttext Skrip yang diterapkan Skrip ulang Ya Status Ya hash revert scripttext state varchar (254) Tidak Ya commit to user Waktu pengeksekusian evolution dari framework. Skrip yang diterapkan oleh evolution. Skrip yang diterapkan oleh evolution saat terjadi perubahan ddl. Apakah skrip sudah diterapkan atau belum. perpustakaan.uns.ac.id digilib.uns.ac.id 35 last problemtext Masalah terakhir Ya Masalah yang terjadi saat diterapkannya skrip pada kolom applys cript. 9. supkon Tabel barang (Tabel 3.15) digunakan untuk menyimpan data support dan confidence. Tabel ini tidak mempunyai kolom indeks. Tabel 3.15: Tabel Support & Konfidensi Nama Kolom Tipe Nama Deskriptif id integer bundle integer support integer konfidensi double precision Nilai valid Kolom indeks Boleh null Deskripsi no identitas Tidak Jumlah bundle support Tidak Konfidensi Tidak Merupakan id support dan konfidensi yang masuk kedalam sistem Jumlah barang pada bundle. Jumlah kejadian minimum pembelian barang. Nilai konfidensi minimum agar barang dimasukkan ke penghitungan. Tidak 10. transaksi Tabel barang (Tabel 3.16) digunakan untuk menyimpan data transaksi yang akan digunakan pada penghitungan oleh sistem. Tabel ini memiliki satu kolom indeks, yaitu no. Tabel 3.16: Tabel Transaksi Nama Kolom Tipe Nama commit Nilai to user Kolom Deskrip- valid indeks tif Boleh null Deskripsi perpustakaan.uns.ac.id digilib.uns.ac.id 36 no integer idtrans integer idbarang integer No Transaksi Id Transaksi ID Barang Unik Indeks Tidak No transaksi Tidak Berisi nomor identitas dari transaksi Merupakan foreign key dari ID barang. Tidak 11. userlogininfo Tabel barang (Tabel 3.17) digunakan untuk menyimpan data login pengguna pada sistem. Tabel ini tidak memiliki kolom indeks. Tabel 3.17: Tabel User Login Info Nama Kolom Tipe userID varchar (254) loginInfoIDbigint Nama Deskriptif Nilai valid Kolom indeks Boleh null Deskripsi ID User Tidak No Identitas Login Info Tidak Identitas Pengguna Pada sistem. Berisi nomor identitas dari login pengguna. 12. useruser Tabel barang (Tabel 3.18) digunakan untuk menyimpan data pengguna pada sistem. Tabel ini memiliki satu kolom indeks yaitu userID. Tabel 3.18: Tabel Useruser Nama Kolom userID Tipe varchar (254) username varchar (254) Nama Deskriptif Nilai valid Kolom indeks Boleh null Deskripsi ID User Tidak Nama Pengguna Tidak Identitas Pengguna Pada sistem. Berisi nama atau identitas dari login pengguna. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 37 3.3.3.5 Sequence 1. Pengaturan min. confidence, min. support dan jumlah barang pada bundle. Diagram sequence pengaturan min. confidence, min. support dan jumlah barang pada bundle dapat dilihat pada Gambar 3.9 Gambar 3.9: Diagram sequence pengaturan min. confidence, min. support dan jumlah barang pada bundle. Pada gambar diatas, alur yang terjadi adalah sistem akan menampilkan borang pengaturan data min. support dan konfidensi yang pada nantinya akan disimpan pada basis data. 2. Pengunggahan data barang. Diagram sequence pengunggahan data barang dapat dilihat pada Gambar 3.10 Gambar 3.10: Diagram sequence pengunggahan data barang Pada gambar diatas, alur yang terjadi adalah ketika pengguna memilih uncommit to user tuk mengunggah data barang, sistem akan menampilkan sebuah borang yang perpustakaan.uns.ac.id digilib.uns.ac.id 38 pada nantinya akan mempunyai nilai kembalian berupa berkas. Selanjutnya, sistem akan mengubah nilai kembalian tadi menjadi tipe data yang akan disimpan ke basis data. 3. Pengunggahan data transaksi. Diagram sequence pengunggahan data transaksi dapat dilihat pada Gambar 3.11 Gambar 3.11: Diagram sequence pengunggahan data transaksi Pada gambar diatas, alur yang terjadi adalah ketika pengguna memilih untuk mengunggah data transaksi, sistem akan menampilkan sebuah borang yang pada nantinya akan mempunyai nilai kembalian berupa berkas. Selanjutnya, sistem akan mengubah nilai kembalian tadi menjadi tipe data yang akan disimpan ke basis data. 4. Pengubahan data min. confidence, min. support dan jumlah barang. Diagram sequence pengubahan data min. confidence, min. support dan jumlah barang dapat dilihat pada Gambar 3.12 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 39 Gambar 3.12: Diagram sequence pengubahan pengaturan Pada gambar diatas, alur yang terjadi adalah ketika pengguna ingin mengubah nilai min. support dan konfidensi, sistem akan melakukan penghapusan data min. support dan konfidensi. Selanjutnya, sistem akan melanjutkan dengan alur pengaturan nilai min. support dan konfidensi. 5. Penampilan hasil penghitungan. Diagram sequence penampilan hasil penghitungan dapat dilihat pada Gambar 3.13 Gambar 3.13: Diagram sequence penampilan hasil penghitungan Pada gambar diatas, alur yang terjadi adalah ketika pengguna ingin mendapatkan hasil penghitungan association rule dari data yang sudah diunggah adalah sistem akan melakukan penghitungan dan menampilkan hasilnya commit to user kepada pengguna. perpustakaan.uns.ac.id 3.3.3.6 digilib.uns.ac.id Class Diagram class untuk Aplikasi web penentu bundel produk penjualan akan disajikan dalam beberapa package. Antara lain: 1. Package apriori Pada package ini, ada dua kelas yang dibuat. Antara lain, kelas Excel dan Apriori. Untuk kelas Excel, kelas ini menangani pengubahan berkas .xls dan .xlsx menjadi data yang akan dimasukkan ke basis data. Sedangkan untuk kelas Apriori, kelas ini menangani penghitungan data dari basis data menjadi kelompok barang yang disarankan kepada pengguna. Sedangkan gambar bisa dilihat pada Gambar 3.14 Gambar 3.14: Diagram class untuk package apriori 40 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 2. Package controllers Pada package ini, ada enam kelas yang dibuat. Antara lain, kelas ApplicationController, AprioriController, BarangController, CredentialController, SignUpController, dan TransaksiController. Tiap kelas mempunyai kewajiban untuk menangani fungsionalitas pada nama kelas tersebut. Untuk kelas BarangController, kelas ini bertugas untuk menerjemahkan kejadian pada sistem menjadi permintaan layanan kepada model atau views yang berhubungan dengan data barang. Sedangkan gambar bisa dilihat pada Gambar 3.15 Gambar 3.15: Diagram class untuk package controllers 41 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 3. Package models Untuk package ini, beberapa sub-package, kelas, trait, dan singleton object yang dibuat. Untuk sub-package, penulis membagi menjadi tiga. Antara lain daos, daoapriori, dan services. Sedangkan untuk trait dan singleton object, ada beberapa kelas yang ada pada sistem. Untuk lebih jelasnya bisa dilihat pada Gambar 3.15 Gambar 3.16: Diagram class untuk package models 42 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 4. Package models.daoapriori Package ini secara umum merupakan paket yang menaungi kelas-kelas yang bertugas untuk penyimpanan data, khususnya untuk penyimpanan data untuk penghitungan yang dilakukan oleh sistem menggunakan algoritma Apriori. Terdapat beberapa singleton object, trait, sub-package, dan case class yang digunakan untuk menentukan jenis data, tabel pada basis data, dan perilaku dari representasi basis data pada sistem. Gambar 3.17 merupakan diagram kelas untuk paket ini. commit to user 43 Gambar 3.17: Diagram class untuk package daoapriori perpustakaan.uns.ac.id digilib.uns.ac.id 5. Package models.daoapriori.apriori Package ini secara umum merupakan paket yang menaungi kelas-kelas yang bertugas untuk penyimpanan data, khususnya untuk penyimpanan data untuk penghitungan yang dilakukan oleh sistem menggunakan algoritma Apriori. Terdapat beberapa case class yang digunakan untuk menentukan jenis data, tabel pada basis data, dan perilaku dari representasi basis data pada sistem. Gambar 3.18 merupakan diagram kelas untuk paket ini. Gambar 3.18: Diagram class untuk package models.daoapriori.apriori 44 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 6. Package models.daoapriori.barang Package ini secara umum merupakan paket yang menaungi kelas-kelas yang bertugas untuk penyimpanan data, khususnya untuk penyimpanan data untuk penghitungan yang dilakukan oleh sistem menggunakan algoritma Apriori. Terdapat beberapa case class yang digunakan untuk menentukan jenis data, tabel pada basis data, dan perilaku dari representasi basis data pada sistem. Gambar 3.19 merupakan diagram kelas untuk paket ini. Gambar 3.19: Diagram class untuk package models.daoapriori.barang 45 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 7. Package models.daoapriori.transaksi Package ini secara umum merupakan paket yang menaungi kelas-kelas yang bertugas untuk penyimpanan data, khususnya untuk penyimpanan data untuk penghitungan yang dilakukan oleh sistem menggunakan algoritma Apriori. Terdapat beberapa case class yang digunakan untuk menentukan jenis data, tabel pada basis data, dan perilaku dari representasi basis data pada sistem. Gambar 3.20 merupakan diagram kelas untuk paket ini. Gambar 3.20: Diagram class untuk package models.daoapriori.transaksi 46 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 47 8 Package models.daos Package ini secara umum merupakan paket yang menaungi kelas-kelas yang bertugas untuk penyimpanan data, khususnya untuk penyimpanan data untuk otentikasi sistem. Gambar 3.21 merupakan diagram kelas untuk paket ini. commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 48 Gambar 3.21: Diagram class untuk package models.daos commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 9 Package models.services Package ini kurang lebih merupakan penerapan untuk paket models.daos. Gambar 3.22 merupakan diagram kelas untuk paket ini. Gambar 3.22: Diagram class untuk package models.services 49 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 10 Package utils.di Package ini digunakan untuk pengaturan otentikasi sistem. Gambar 3.23 merupakan diagram kelas untuk paket ini. Gambar 3.23: Diagram class untuk package utils.di 50 commit to user perpustakaan.uns.ac.id 3.3.4 digilib.uns.ac.id Perancangan Antar Muka 1. Laman Muka Pada laman muka, terdapat navigation bar yang berisi tautan untuk masuk, daftar dan laman utama. Selain itu, terdapat borang yang berisi kolom username dan password pengguna sehingga dapat masuk. commit to user 51 Gambar 3.24: Desain laman muka saat login perpustakaan.uns.ac.id digilib.uns.ac.id 2. Laman Beranda Pada laman beranda, terdapat navigation bar yang berisi tautan untuk laman muka, barang, transaksi, apriori, dan tautan untuk keluar dari sistem. Selain itu, terdapat borang yang berisi kolom untuk nilai support, jumlah barang pada bundle, dan nilai confidence. Gambar 3.25: Desain laman muka setelah login 52 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id Bila pengguna menyimpan nilai pengaturan, maka laman yang ditampilkan berisi nilai pengaturan seperti pada Gambar 3.26 Gambar 3.26: Desain laman muka setelah pengaturan terisi 53 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 3. Laman Barang Pada laman barang, terdapat navigation bar yang berisi tautan untuk laman muka, barang, transaksi, apriori, dan tautan untuk keluar dari sistem. Untuk bagian utama, terdapat tabel yang berisi daftar barang yang telah diunggah oleh pengguna. Selain itu, terdapat tombol yang berisi tautan untuk pengunggahan data barang. Gambar 3.27: Desain laman barang 54 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 4. Laman Transaksi Pada laman transaksi, terdapat navigation bar yang berisi tautan untuk laman muka, barang, transaksi, apriori, dan tautan untuk keluar dari sistem. Untuk bagian utama, terdapat tabel yang berisi daftar transaksi yang telah diunggah oleh pengguna. Selain itu, terdapat tombol yang berisi tautan untuk pengunggahan data transaksi. Gambar 3.28: Desain laman transaksi 55 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 5. Laman Apriori Pada laman apriori, terdapat navigation bar yang berisi tautan untuk laman muka, barang, transaksi, apriori, dan tautan untuk keluar dari sistem. Untuk bagian utama, terdapat tabel yang berisi daftar rule yang telah dihasilkan oleh sistem. Gambar 3.29: Desain laman hasil akhir 56 commit to user perpustakaan.uns.ac.id digilib.uns.ac.id 57 3.4 Cara Analisis Dalam melakukan analisis, yang penulis lakukan adalah mengembangkan aplikasi Play!Framework yang dimulai dengan melakukan pengembangan secara incremental. Langkah-langkahnya adalah sebagai berikut: 1. Instalasi Play!Framework 2. Pembuatan layout aplikasi. 3. Penerjemahan diagram relasional ke package Model. 4. Input data minimum konfidensi & support. 5. Pengubahan data minimum konfidensi & support. 6. Fungsi unggah data barang dan transaksi. 7. Fungsi penghitungan menggunakan algoritma apriori. commit to user