Anda di halaman 1dari 103

PREDIKSI PEMBELIAN EMAS MENGGUNAKAN METODE DECISION TREE

SKRIPSI

OLEH
HARDI SARTANTO
NIM 160535601721

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
PROGRAM STUDI S1 TEKNIK INFORMATIKA
DESEMBER 2020

2
PREDIKSI PEMBELIAN EMAS MENGGUNAKAN METODE DECISION
TREE

SKRIPSI
diajukan kepada
Universitas Negeri Malang
untuk memenuhi salah satu persyaratan
dalam menyelesaikan program Sarjana
Teknik Informatika

OLEH
HARDI SARTANTO
NIM 160535601721

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
PROGRAM STUDI TEKNIK INFORMATIKA
DESEMBER 2020
LEMBAR PERSETUJUAN PEMBIMBING SKRIPSI

Skripsi ini oleh Hardi Sartanto


Telah diperiksa dan disetuji untuk dilaksanakan.

Malang, Desember 2020


Pembimbing I

Harits Ar Rosyid, S.T., M.T., Ph.D.


NIP. 198108112009121003

Pembimbing II

Muhammad Iqbal Akbar,S.ST., M.MT.


NIP. 198810242015041002

ii
LEMBAR PENGESAHAN

Skripsi dengan judul Prediksi Pembelian Emas Menggunakan Metode Decision Tree
oleh Hardi Sartanto, telah diperiksa dan disetujui di depan pembimbing pada tanggal
Desember 2020.

Dewan Penguji,

Aji Prasetya Wibawa, S.T., M.M.T., Ph.D. Ketua


NIP. 197912182005011001

Harits Ar Rosyid, S.T., M.T., Ph.D. Anggota


NIP. 198108112009121003

Muhammad Iqbal Akbar, S.ST., M.MT Anggota


NIP. 198810242015041002

Mengetahui, Mengesahkan,
Ketua Jurusan Teknik Eletro Dekan Fakultas Teknik

Aji Prasetya Wibawa, S.T., M.M.T., Ph.D. Prof. Dr. Marji, M.Kes
NIP. 197912182005011001 NIP. 195902031984031001

iii
PERNYATAAN KEASLIAN PENULISAN
Saya yang bertanda tangan dibawah ini :
Nama : Hardi Sartanto
NIM : 160535601721
Jurusan/ Program studi : Teknik Elektro/ Teknik Informatika
Fakultas/ Program : Teknik/ S1
Menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis benar-benar tulisan
saya, dan bukan merupakan plagiasi/ falsisikasi/ fabrikasi baik sebagian atau
seluruhnya.
Apablia dikemudian hari terbukti atau dapat dibuktikan bahwa skpisi ini hasil
plagiasi/ falsisikasi/ fabrikasi, baik sebagian atau seluruhnya, maka saya bersedia
menerima sanksi atas perbuatan tersebut sesuai dengan ketentuan yang berlaku.

Malang, Desember 2020


Yang membuat pernyataan

Hardi Sartanto

iv
RINGKASAN
Hardi Sartanto. 2020. Prediksi Pembelian Emas Menggunakan Metode Decision
Tree. Skripsi, Jurusan Teknik Elektro, Fakultas Teknik, Universitas Negeri
Malang. Pembimbing: (I) Harits Ar Rosyid, S.T., M.T., Ph.D., Pembimbing:
(II) Muhammad Iqbal Akbar, S.ST., M.MT.

Kata Kunci: Prediksi, Emas, Decision Tree, C4.5

Sulitnya menentukan keputusan dalam pembelian emas menjadi permasalahan bagi


investor awam. Sebagian besar penelitian terdahulu yang telah dilakukan hanya
membahas tentang prediksi harga emas. Sedangkan pada penelitian ini bertujuan
untuk memberi keputusan bagi investor dalam membeli emas agar pengeluaran dalam
membeli emas lebih optimal. Dataset yang digunakan pada penelitian ini diambil dari
website investing.com. Dataset yang digunakan berjumlah 263 data, dari Desember
2018 hingga Desember 2019. Atribut yang digunakan dalam penelitian ini adalah
harga pembukaan, harga tertinggi, harga terendah, harga penutupan, volume
transaksi, dan keputusan. Dataset diseimbangkan dengan menggunakan fitur SMOTE
di RapidMiner 9.0 untuk mempermudah pengolahan data. Validasi pada penelitian ini
menggunakan 10-Fold Cross Validation dan Confusion Matrix. Metode decision tree
C4.5, memiliki performa terbaik pada fold kedua dengan akurasi 82.84%, presisi
80.56%, recall 86.57% dan error rate 17.82%.

v
vi
SUMMARY
Hardi Sartanto. 2020. Purchase Prediction Gold Using Decision Tree Method. Thesis,
Department of Electrical Engineering, Faculty of Engineering, State
University of Malang. Pembimbing: (I) Harits Ar Rosyid, S.T., M.T., Ph.D. ,
Pembimbing: (II) Muhammad Iqbal Akbar, S.ST., M.MT.

Keywords: Prediction, Gold, Decision Tree, C4.5


The difficulty of determining decisions in the purchase of gold is a problem
for lay investors. Most of the previous research that has been done only discusses the
prediction of gold price. While in this study aims to give decisions for investors in
buying gold so that spending in buying gold is more optimal.. Thedata set used in this
study was taken from the investing.com website. The dataset used amounted to 263
data,, from December 2018 to December 2019. Attributes used in this study are
opening price, highest price, lowest price, closing price, transaction volume, and
decision. Datasets are normalized using the Min-Max method to facilitate data
processing. Validation in this study using 10-Fold Cross Validation and Confusion
Matrix. Decision tree method C4.5, has the best performance with 82.84% accuracy,
80.56% precision, 86.57% recall and 17.82% error rate.

vi
KATA PENGANTAR

Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa karena atas
Rahmat dan karunia-Nya penulis dapat menyelesaikan skripsi dengan judul “Prediksi
Pembelian Emas Menggunakan Metode Decision Tree”. Penyusunan skripsi ini
bertujuan untuk memenuhi salah satu syarat kelulusan Program Studi S1 Teknik
Informatika, Jurusan Teknik Elektro, Fakultas Teknik, Universitas Negeri Malang.
Dengan terselesaikannya skripsi ini, peneliti menyampaikan rasa terima kasih
kepada seluruh pihak atas bantuan secara langsung maupun tak langsung. Ucapan
terima kasih tersebut khususnya ditujukan kepada:
1. Prof. Dr. Marji, M.Kes selaku dekan Fakultas Teknik, Universitas Negeri
Malang.
2. Aji Prasetya Wibawa, S.T., M.M.T., Ph.D. selaku Ketua Jurusan Teknik
Elektro, Fakultas Teknik, Universitas Negeri Malang.
3. Ilham Ari Elbaith Zaeni, S.T., M.T., Ph.D. selaku Ketua Prodi Teknik
Informatika.
4. Harits Ar Rosyid, S.T., M.T., Ph.D. selaku dosen pembimbing I yang telah
memberikan bimbingan, waktu, saran dan berbagai masukan untuk skripsi ini.
5. Muhammad Iqbal Akbar, S.ST., M.MT selaku dosen pembimbing II yang
telah memberikan bimbingan, waktu, saran dan berbagai masukan untuk
skripsi ini.
6. Seluruh Dosen Jurusan Elektro yang telah memberikan ilmu yang bermanfaat.
7. Orang Tua dan Keluarga yang selalu memberikan dukungan dalam bentuk
moril, materil serta doa yang tak pernah putus.
8. Teman-teman S1 Teknik Informatika 2016 Offering A yang selalu
memberikan dukungan untuk penulisan skripsi ini.
9. Teman-teman seperjuangan Kabupaten Kayong Utara yang telah memberikan
semangat dan motivasi dalam proses pembuatan skripsi ini.

vii
Peneliti menyadari bahwa masih adanya kekurangan baik dari segi isi maupun segi
penulisan karena keterbatasan pengetahuan peneliti. Oleh sebab itu, peneliti
mengharapkan kritik dan saran yang konstruktif agar peneliti dapat lebih baik dalam
penelitian selanjutnya. Peneliti tetap berharap agar penelitian ini dapat bermanfaat
bagi sesama.

Malang, Desember 2020

Hardi Sartanto

viii
DAFTAR ISI
Halaman
HALAMAN JUDUL .....................................................................................................i
LEMBAR PERSETUJUAN DOSEN PEMBIMBING ................................................ii
LEMBAR PENGESAHAN .........................................................................................iii
PERNYATAAN KEASLIAN TULISAN ...................................................................iv
RINGKASAN v
SUMMARY vi
KATA PENGANTAR ................................................................................................vii
DAFTAR ISI ix
DAFTAR TABEL xii
DAFTAR GAMBAR xiv
DAFTAR LAMPIRAN xv

1
1

ix
7
7
9
1
2

x
xi
DAFTAR TABEL

Tabel 2.1 confusion matrix...................................................................................15


Tabel 3.1 atribut dataset yang digunakan.............................................................20
Tabel 3.2 atribut data yang digunakan untuk pengolahan....................................21
Tabel 3.3 atribut data final yang digunakan untuk pemodelan............................21
Tabel 3.4 perbandingan data asli dan smote data.................................................22
Tabel 4.1 Confusion Matrix 1..............................................................................32
Tabel 4.2 Confusion Matrix 2..............................................................................32
Tabel 4.3 Confusion Matrix 3..............................................................................33
Tabel 4.4 Confusion Matrix 4..............................................................................33
Tabel 4.5 Confusion Matrix 5..............................................................................34
Tabel 4.6 Confusion Matrix 6..............................................................................34
Tabel 4.7 Confusion Matrix 7..............................................................................35
Tabel 4.8 Confusion Matrix 8..............................................................................35
Tabel 4.9 Confusion Matrix 9..............................................................................36
Tabel 4.10 Confusion Matrix 10..........................................................................36
Tabel 4.11 Script Keputusan...............................................................................43

xii
DAFTAR GAMBAR

Gambar 2.1 ilustrasi algoritma decision tree.................................................................8


Gambar 2.2 Rumus perhitungan gini impurity..............................................................9
Gambar 2.3 Rumus perhitungan nilai information gain................................................9
Gambar 2.4 Rumus perhitungan nilai entropy.............................................................10
Gambar 2.5 rumus perhitungan nilai entropy..............................................................11
Gambar 2.6 rumus menghitung nilai Gain..................................................................11
Gambar 2.7 rumus perhitungan min max....................................................................14
Gambar 2.8 perhitungan akurasi confusion matrix......................................................16
Gambar 2.9 perhitungan presisi confusion matrix.......................................................16
Gambar 2.10 perhitungan recall confusion matrix......................................................16
Gambar 2.11 ilustrasi k-fold cross validation..............................................................16
Gambar 3.1 metode yang diajukan..............................................................................17
Gambar 3.2 pemodelan yang terbentuk.......................................................................19
Gambar 3.3 flowchart aplikasi.....................................................................................23
Gambar 3.4 prototype aplikasi pembelian emas..........................................................24
Gambar 4.1. tools read excel sebagai penampung dataset..........................................25
Gambar 4.2. tools SMOTE upsampling......................................................................27
Gambar 4.3. tools Cross Validation............................................................................27
Gambar 4.4. parameter tools Cros Validation.............................................................28
Gambar 4.5. subproses pada tools cross validation.....................................................28
Gambar 4.6. tools decision tree pada subproses cross validation...............................29
Gambar 4.7. tools apply model dan performance pada subproses cross validation....29
Gambar 4.8 performa matrix dari 10 fold cross validation.........................................29
Gambar 4.9 arsitektur decision tree............................................................................29
Gambar 4.10 Ilustrasi k-fold cross validation............................................................30
Gambar 4.11 Ilustrasi Confusion Matrix.....................................................................31
Gambar 4.12 perbandingan model hasil percobaan akurasi decision tree..................37
Gambar 4.13. perbandingan model hasil percobaan presisi decision tree...................38
Gambar 4.14. perbandingan model hasil percobaan recall decision tree....................38

xiii
41
2
5
5
6

xiv
DAFTAR LAMPIRAN

Lampiran Halaman

1 Dataset Emas .........................................................................................................52


2 Source Code ...........................................................................................................59

xv
1

BAB I

PENDAHULUAN

1.1 Latar Belakang


Emas merupakan logam mulia yang mempunyai nilai yang sangat tinggi di
dunia, baik emas olahan maupun bentuk mentah sekalipun. Jumlah cadangan emas
tidak terbatas dan tidak mudah didapat, dengan jumlah permintaan terhadap emas
tidak pernah berkurang, sehingga membuat harga emas selalu mengalami kenaikan
dari tahun ke tahun (Widuhung, 2014). Emas merupakan salah satu instrument logam
mulia dalam hal untuk simpanan pokok (investasi) yang paling stabil dan efektif
(Wicaksono, 2016).

Investasi merupakan sebuah penundaan konsumsi dari masa sekarang untuk


masa konsumsi yang akan datang, yang di dalam prosesnya mengandung resiko
ketidakpastian untuk mendapatkan keuntungan, untuk itu dibutuhkan suatu
kompensasi atas penundaan tersebut yang dikenal dengan istilah keuntungan dari
investasi atau gain (Gunawan dan Wirawati, 2013). Selain itu, menurut (Fahmi 2006
dan Kurniawan 2019), investasi juga dapat diartikan sebagai bentuk pengelolaan
dana agar diberikan keuntungan dengan cara menempatkan dana pada alokasi yang
diperkirakan untuk memberikan tambahan keuntungan atau compounding. Sedangkan
Investasi emas adalah salah satu jenis investasi yang menarik dan menguntungkan.
Investasi emas dilihat oleh sebagian besar investor sebagai alat investasi aman dan
sudah dilakukan sejak zaman dahulu kala, dengan keunggulan dari emas itu tahan
inflasi, awet, dapat dijadikan agunan, nilai jarang turun, dan perlindungan nilai emas
yang universal (Munawar, 2018).

Investasi saham dan investasi emas sangatlah berbeda, yaitu nilai harga jual
dan beli saham relatif sama tidak ada perbedaan diantaranya. Sedangkan nilai harga
beli emas dan nilai jual emas bisa berbeda mencapai kisaran Rp50.M - Rp100.M.
Nilai dari harga dari saham bisa mengalami kenaikan dan mengalami penurunan
harga secara drastis, dikarenakan faktor luar yang mempengaruhi harga saham.
Berbeda halnya dengan harga emas yang seringkali perubahan angka harganya yang
jarang ditemui bahkan hampir tidak pernah mengalami kenaikan ataupun penurunan
harga secara drastis.

Setiap emas memiliki kadar kemurnian emas berdasarkan standar umum yang
berlaku di dunia :

 Emas 24 karat adalah emas murni dengan komposisi 99.99% emas.


 Emas 22 karat adalah emas dengan komposisi 91.7% emas, emas ini
biasanya dicampur dengan perak 8.3%.
 Emas 20 karat adalah emas dengan komposisi 83.3% emas.
 Emas 18 karat emas dengan komposisi 75% emas.
 Emas 16 karat emas dengan komposisi 66.6% emas.
 Emas 14 karat emas dengan komposisi 58.5% emas.
 Emas 9 karat emas dengan komposisi 37.5% emas (ODNV, 2013).

Dari takaran karat diatas, semakin besar karat yang dimiliki oleh emas maka semakin
besar atau mahal pula harga emas.

Prediksi harga emas sangatlah rumit, banyak faktor yang mempengaruhinya


terutama kenaikan inflasi, harga minyak, perubahan kurs, demand dan supply, kondisi
politik di dunia, gejolak finansial, suku bunga, dan situasi ekonomi global
(Wicaksono, 2016). Sehingga, dibutuhkan kecermatan untuk menentukan faktor yang
dibutuhkan dalam prediksi keputusan dalam pembelian emas agar mengoptimalisasi
keuangan investor.

Bagi orang awam dalam berinvestasi akan sangat sulit dalam menentukan
keputusan apakah investasi tersebut menguntungkan ketika dibeli dan dijual pada hari
yang sama, ketika dibeli di jam perdagangan di mulai dan dijual ketika di jam
perdagangan selesai atau menyimpan emas dan menjual pada harga yang tinggi.
Pembelian emas akan mengoptimalkan keuangan investor, apabila pembelian emas

2
dilakukan secara berkala dengan keadaan uang yang memadai agar menghasilkan
keuntungan yang maksimal ketika emas dijual, tentunya dengan keputusan pembelian
emas yang telah diprediksi di penelitian ini. Artinya, emas yang dibeli tidak
mempengaruhi keuangan investor dengan harga yang dibeli dibawah dari harga
sebelumnya atau harga emas yang naik, namun tidak jauh berbeda dari harga
sebelumnya. Seseorang yang melakukan investasi merupakan orang yang
menginginkan keuntungan, dimana pemilik emas melakukan investasi jangka panjang
dengan melakukan proses jual beli emas. Investasi emas tidak selalu mendapat
keuntungan melalui penjualan, tetapi dipengaruhi juga oleh strategi investor dalam
melakukan pembelian emas yang baik. Investasi emas tidak disarankan untuk menjual
emas berdekatan dengan pembelian emas, dikarenakan perbedaan harga jual dan
harga beli tidak sama. Misalnya investor membeli emas di pagi hari dan menjual
emas di sore hari, maka investor tidak akan mendapatkan keuntungan melainkan
hanya kerugian yang akan dialami oleh investor, dikarenakan transaksi ketika
membeli emas lebih mahal daripada menjual emas. Penjualan emas sebaiknya
dilakukan ketika emas yang telah dibeli disimpan dalam jangka waktu 3-6 bulan,
jangka waktu tersebut membuat keuntungan investor akan maksimal, karena harga
emas yang selalu mengalami kenaikan. Penelitian ini bertujuan untuk membantu
seseorang untuk mengambil keputusan dalam pembelian emas sebagai strategi dalam
berinvestasi dengan menggunakan klasifikasi penambangan data.

Penelitian ini menentukan hasil klasifikasi keputusan pembelian emas dengan


teknik klasifikasi data mining. Namun, penelitian tentang klasifikasi sudah dilakukan
di penelitian sebelumnya yang dilakukan oleh (Susanto and Riana, 2016)
membandingkan tiga algoritma yang sering digunakan k-nearest neighbors (K-NN),
naive bayes dan decision tree tentang kelayakan pemberian kredit. Kelebihan dari
penelitian ini adalah tingkat akurasi dari ketiga algoritma yang dibandingkan cukup
baik yakni algoritma Decision Tree mencapai 92,21%, algoritma K-Nearest Neighbor
mencapai 81,82%, dan algoritma Naïve Bayes mencapai 81,83%. Hasil ini
menunjukan bahwa penelitian ini sangat bagus dalam penelitian pemberian kelayakan

3
kredit, terutama algoritma Decision Tree dengan akurasi yang tertinggi. Kelemahan
dari penelitian ini adalah tidak adanya penyampaian tentang banyaknya data atau
banyaknya jumlah orang yang layak dalam penerimaan layak kredit . Selain penelitian
tersebuat ada penelitian lain yang memprediksi harga emas untuk meminimalkan
resiko dengan menggunakan algoritma naïve bayes. (Guntur dkk 2018). Kelebihan
dari penelitian ini adalah tingkat akurasi yang cukup baik yakni dengan akurasi 75%
dan data testing yang digunakan sebanyak 16 data menghasilkan 12 data yang sesuai
dengan data ril, kelemahan dari penelitian ini adalah data training yang digunakan
hanya sebulan dari tanggal 1 desember 2017 – 1 januari 2018 dan di penelitian ini
tidak memunculkan nominal harga emas dimasa depan.

Sehingga, dalam penelitian ini menggunakan metode decision tree untuk


memprediksi pembeliaan emas untuk mendapat keuntungan. Keluaran dari penelitian
ini adalah sebuah keputusan untuk membeli emas atau tidak. Penelitian ini bertujuan
untuk membantu investor awam untuk berinvestasi dan mendapatkan keuntungan
dalam membeli emas. Penelitian ini diharapkan dapat membantu seseorang yang
berinvestasi emas bisa mengetahui keuntungan dan kerugian dalam berinvestasi.

1.2 Identifikasi Masalah


Dari latar belakang masalah diatas, identifikasi masalah yang akan dijadikan
bahan penelitian adalah :
1. Kesulitan dalam memperoleh keutungan yang optimal pada pembelian emas.
2. Belum adanya fitur rekomendasi keputusan pembelian emas pada sistem
tertentu setiap harinya.

1.3 Rumusan Masalah


Rumusan masalah dalam penelitian ini adalah:
1. Bagaimana penerapan metode decision tree untuk menentukan keputusan
pembelian emas secara optimal ?

4
2. Bagaimana hasil performa klasifikasi decision tree dalam memprediksi
keputusan pembelian emas secara optimal ?
1.4 Tujuan Penelitian
Tujuan penelitian dalam penelitian ini adalah:
1. Untuk mengetahui penerapan metode decision tree dalam menetukan
keputusan pembelian emas secara optimal.
2. Untuk mengetahui hasil performa klasifikasi decision tree dalam memprediksi
keputusan pembelian emas secara optimal.

1.5 Batasan Masalah


Pembahasan penelitian ini dibuat lebih spesifik, maka ditentukanlah batasan-
batasan masalah sebagai berikut:
1. Dataset yang digunakan adalah data harga emas dari 21 Desember 2018
sampai 20 Desember 2019. Data yang diambil adalah data hari aktif
perdagangan.
2. Klasifikasi hanya menggunakan variabel harga pembukaan, harga terendah,
harga tertinggi, harga penutupan, volume transaksi, dan keputusan.
3. Dalam penelitian diasumsikan harga emas tidak dipengaruhi faktor internal
dan eksternal selain variabel yang digunakan dalam klasifikasi seperti
kenaikan inflasi, dan faktor-faktor lain yang bisa mempengaruhi harga emas.
4. Penelitian ditujukan untuk mempelajari penerapan klasifikasi metode decision
tree dalam memprediksi keputusan pembelian emas.

1.6 Manfaat Penelitian


Berdasarkan tujuan dari penelitian ini diharapkan hasil yang dapat bermanfaat,
diantaranya:
1. Bagi peneliti
Sebagai ajang menambah pengetahuan dan menerapkan hasil belajar selama
perkuliahan terutama ilmu data mining dan membuat suatu aplikasi prediksi
keputusan pembelian emas.

5
6
2. Bagi ilmu pengetahuan
Penelitian ini dilakukan untuk mengetahui apakah metode decision tree dapat
digunakan dalam menentukan keputusan pembelian emas untuk mendapatkan
keuntungan dengan tingkat akurasi yang baik.
3. Bagi masyarakat
Penelitian ini diharapkan dapat membantu seseorang dalam mengambil
langkah yang tepat agar mendapatkan pengeluaran yang optimal dalam
pengeluaran untuk membeli emas.

1.7 Defenisi Operasional


1. Emas sering disebut sebagai penyimpan nilai dan nilai aset yang aman (Baur
dan Mc Dermott, 2010).
2. Data mining adalah proses yang menggunakan teknik statistik, matematika,
kecerdasan buatan, dan machine learning untuk mengekstraksi dan
mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait
dari berbagai database yang besar(Ardila, 2015)
3. Klasifikasi adalah metode dalam machine learning yang digunakan oleh mesin
untuk memilah atau mengklasifikasikan obyek berdasarkan ciri tertentu
sebagaimana manusia mencoba membedakan benda satu dengan yang lain
(Ahmad, 2017).
4. Machine learning adalah suatu bidang keilmuan yang berisi tentang
pembelajaran komputer atau mesin untuk menjadi cerdas (Fikriya et al.,
2017).
5. Decision tree merupakan metode klasifikasi dan prediksi yang sangat kuat dan
terkenal. Metode decision tree mengubah fakta yang sangat besar menjadi
pohon keputusan yang mempresentasikan aturan (Muzakir and Wulandari,
2016).

7
7

BAB II

KAJIAN PUSTAKA

2.1 Machine Learning

Machine learning adalah cabang dari ilmu kecerdasan buatan yang berfokus
pada pembangunan dan studi sebuah sistem agar mampu belajar dari data-data yang
diperolehnya (Fikriya et al., 2017). Machine learning biasanya mengacu pada
perubahan dalam sistem yang melakukan tugasnya terkait dengan kecerdasan buatan
(AI), tugas tersebut melibatkan pengenalan, diagnosis, perencanaan, kontrol robot,
prediksi, dll (Nilsson, 2005), dan menurut (Baştanlar, and Özuysal, 2014) Machine
learning lebih sering digunakan untuk mengotomatiskan proses mendesain mesin
pencari yang baik. Berikut jenis-jenis machine learning :

2.1.1 Supervised Learning


Supervised Learning adalah tipe learning di mana kita mempunyai
variable input dan variable output, dan menggunakan satu algoritma atau lebih
untuk mempelajari fungsi pemetaan dari input ke output (Pang-Ning Tan et al).
Supervised Learning lebih berfungsi untuk memperkirakan fungsi
pemetaannya, sehingga ketika kita mempunya input baru, kita dapat
memprediksi output untuk input tersebut.
a. Algoritma Decision Tree
Decision tree atau pohon keputusan merupakan algoritma yang digunakan
dalam proses klasifikasi dan proses prediksi data. Decision tree adalah struktur
yang dapat digunakan untuk membagi data yang besar menjadi kumpulan data
yang lebih kecil dengan menerapkan record aturan keputusan yang sederhana
(Berry dan Linoff, 2004). Decision tree juga disebut sebagai diagram alir yang
berbentuk seperti pohon, dengan setiap internal node menyatakan pengujian
terhadap suatu atribut, setiap cabang menyatakan menyatakan distribusi kelas
dan output dari pengujian tersebut (Maslahah, 2013). Proses dari algoritma
decision tree adalah dengan mengubah bentuk tabel menjadi model pohon
hirarki dan membentuk rule dengan menyederhanakannya. Gambar 2.1
menampilkan ilustrasi dari decision tree :

Gambar 2.1 ilustrasi algoritma decision tree


Dari gambar 2.1 tersebut terdapat 3 tahapan yaitu, root node, interior node, dan
leaf node. Root node adalah node pertama yang memiliki ciri-ciri mempunyai
cabang yang keluar dari dirinya namun tidak memiliki cabang yang menuju
dirinya. Interior node adalah node kedua yang berada dibawah root node, di
mana interior node berisikan kondiri dari fungsi dataset, interior node memliki
ciri-ciri nemiliki cabang dari root node dan mengeluarkan cabang menuju leaf
node. Sedangkan leaf node adalah node ujung dari decision tree, pada leaf node
berisikan hasil atau kelas dari decision tree, setiap leaf pasti memiliki sebuah
kelas tertentu, dengan ciri-ciri terdapat cabang berasal dari interior node dan
tidak memiliki cabang dari dirinya.

Saat melakukan pemilihan node, terdapat beberapa cara atau rumus yang dapat
digunakan, antara lain:

a. Gini Impurity

Gini impurity adalah metode split yang secara default digunakan pada
Classification and Regression Trees (CART). Gini impurity merupakan

8
metrik yang dapat digunakan untuk mengukur homogenitas suatu dataset, gini
impurity dapat digunakan untuk membagi atribut saat pembentukan sebuah
decision tree. Nilai dari gini impurity terendah ialah 0 dan nilai maksimum
dari gini impurity tergantung dari masalah yang diselidiki, namun biasanya
mendekati 1. Rumus yang digunakan untuk melakukan perhitungan gini
impurity ditampilkan pada Gambar rumus 2.2 berikut.

j
I G ( x )=1−∑ p i2
i=1

Gambar 2.2 Rumus perhitungan gini impurity

Dengan:

I G ( x) : Nilai gini impurity untuk kondisi split

J : Banyaknya partisi pada x

pi : Probabilitas untuk masing-masing partisi

b. Information Gain

Information gain adalah matrik yang dapat digunakan untuk menyatakan


seberapa baik sebuah atribut untuk mengklasifikasikan data pada sebuah
kumpulan data (Purwananto, 2004). Information gain merupakan reduksi dari
nilai entoropy, nilai tersebut dapat diperoleh dengan mempartisi data
berdasarkan fitur-fitur pada dataset. Entropy merupakan matrik yang dapat
digunakan untuk menilai seberapa besar ukuran keacakan informasi dari
dataset yang sedang diproses. Rumus 2.3 berikut ini adalah rumus yang dapat
digunakan untuk menghitung information gain,

IG ( x )=E ( Y )−E( Y ∨x)

Gambar 2.3 Rumus perhitungan nilai information gain

9
Dengan:

IG( x ) : Information gain pada atribut

E(Y ) : Nilai entropy untuk kelas

E(Y ∨x) : Nilai entropy pada atribut dan kelas

Dan, Rumus 2.4 berikut adalah rumus yang digunakan untuk menghitung nilai
entropy,

n
Entropy ( X )=∑ − pi log 2 (pi)
i=1

Gambar 2.4 Rumus perhitungan nilai entropy

Dengan:

x : Himpunan kasus

n : Banyaknya partisi pada x

pi : Nilai probabilitas untuk masing-masing partisi

b. Algoritma c4.5
Algoritma yang dipakai dalam penelitian ini adalah algoritma c4.5,
algoritma c4.5 adalah salah satu algoritma yang digunakan dalam membuat
pohon keputusan ID3 (Hormann, 1964). Dari pada defaultnya, setiap nilai
atribut dikaitkan dengan subpohon yang terpisah dengan nilai-nilai yang
dikelompokkan menjadi subset dan setiap pohon dibentuk melaluli tahap setiap
subset (Quinlan, 1996). Tahapan dalam membuat sebuah pohon keputusan
dalam algoritma C4.5 (Larose, 2006), yaitu:
1. Persiapkan data training yang akan digunakan.
2. Menghitung akar dari pohon. Akar akan diambil dari atribut yang akan
terpilih, dengan cara menghitung nilai gain dari masing-masing atribut,
nilai gain yang paling tinggi yang akan menjadi akar pertama. Sebelum

10
menghitung nilai gain dari atribut terlebih dahulu hitung entropy. Rumus
entropy sebagai berikut:

n
Entropy ( S ) =∑ − pilog 2 ( pi)
i=1

Gambar 2.5 rumus perhitungan nilai entropy


Keterangan:
𝑆 = Himpunan kasus
𝑛 = Jumlah partisi S
𝑝𝑖 = Proporsi Si terhadap S
3. Kemudian hitung nilai Gain menggunakan Persamaan 2.

n
|Si|
Gain ( S , A )=entropy ( S )−∑ entropy ( Si)
i=1 |S|

Gambar 2.6 rumus menghitung nilai Gain


Keterangan:
𝑆 = Himpunan kasus
𝐴 = Fitur
n = Jumlah partisi atribut A
|𝑆𝑖| = Proporsi Si terhadap S
|𝑆| = jumlah kasus dalam S
4. Ulangi langkah ke 2 dan langkah ke 3 hingga semua record terpisah
5. Proses partisi pohon keputusan akan berhenti saat:
a. Semua record dalam simpul N mendapat kelas yang sama.
b. Tidak ada atribut di dalam record yang dipisah lagi.
Tidak ada record di dalam cabang yang kosong.

11
Menurut (Xindong Wu, dkk. 2008), algortima C4.5 memiliki tindakan yang
hampir sama dengan ID3, namun C4.5 meningkatkan beberapa prilaku dari ID3
yaitu :
 C4.5 bisa menggunakan atribut dengan bobot yang berbeda
 C4.5 bisa menggunakan data yang berkelanjutan
 C4.5 bisa memangkas tree yang telah dibuat

Kelebihan dari algoritma c4.5 memiliki fleksibel dalam pemilihan fitur dari
node yang berbeda, fitur yang terpilih akan membedakan suatu kriteria
dibandingkan kriteria yang lain dalam node yang sama serta dapat mengambil
keputusan dengan data yang kompleks dan banyak, bisa diubah menjadi simple
dan spesifik (Budiono, 2017). Selain itu, algoritma c4.5 juga dapat mengolah
data numerik, diskrit, dan bisa menangani nilai atribut yang tidak ada
(Pambudi, dkk. 2018)

2.1.2 Unsupervised Learning


Unsupervised Learning adalah tipe learning yang hanya mempunyai data
inputan, namun tidak memiliki output variable yang berhubungan (Nilsson,
2005). Unsupervised Learning lebih berfungsi untuk menyimpulkan fungsi
yang menjelaskan data.

2.1.3 Semi-Supervised Learning


Semi-supervised Learning adalah tipe learning yang mempunyai data
masukan (input data) dalam jumlah besar dan dari beberapa data tersebut yang
diberi label (Flach, P., 2012).

2.1.4 Reinforcement Learning


Algoritma reinforcement learning dapat memberikan poin saat model
yang diberikan semakin baik, atau mengurangi poin saat model yang dihasilkan
semakin buruk. Dengan reinforcement learning, mesin dan software dapat
menentukan tingkah laku ideal terhadap sebuah konteks yang spesifik secara
otomatis, dengan tujuan untuk memaksimalkan performanya.

12
2.2 Sistem Prediksi
Prediksi adalah suatu proses memperkirakan secara sistematis tentang suatu
yang akan mungkin terjadi dimasa depan berdasarkan data yang dimiliki, agar
kesalahannya dapat diperkecil (Minarni and Aldyanto, 2016). Menurut (Herjanto,
2006 dan Septiawan, Tri, 2015) Sistem prediksi adalah proses peramalan harga dan
variable dengan data kuntitatif sebagai salah satu informasi yang digunakan dalam
melalukan peramalan dimasa mendatang dengan mempertimbangkan dasar intuisi
dari masa lalu.
Prediksi atau ramalan menunjukkan apa yang akan terjadi pada suatu keadaan
tertentu dan merupakan input bagi proses perencanaan dan pengambilan keputusan.
Prediksi bisa berdasarkan metode ilmiah ataupun subjektif belaka dan prediksi juga
sering dijumpai dalam beberapa hal dalam proses pemberian informasi yang belum
tentu benar terjadi seperti ramalan tentang hari kiamat pada tahun 2012. Sedangkan
menurut (IHME, 2013) Peramalan (forecasting) adalah suatu proses membuat
informasi faktual tentang situasi sosial masa depan atas dasar informasi yang ada
tentang masalah kebijakan. Ramalan terbagi menjadi 3 jenis, yaitu:
1. Proyeksi adalah ramalan yang didasarkan pada perluasan data atas
kecenderungan baik itu masa lalu maupun masa kini menuju masa yang akan
datang.
2. Prediksi adalah ramalan yang didasarkan pada asumsi teoritik yang tegas.
Asumsi ini dapat berupa hukum teoretis (misalnya hukum berkurangnya nilai
uang), proposisi teoritis (misalnya proposisi bahwa pecahnya masyarakat sipil
diakibatkan oleh kesenjangan antara harapan dan kemampuan), atau analogi
(misalnya analogi antara pertumbuhan organisasi pemerintah dengan
pertumbuhan organisme biologis).
3. Perkiraan adalah ramalan yang didasarkan pada penilaian yang informatif atau
penilaian pakar pengamat tentang situasi masyarakat di masa yang akan datang.
Prediksi tidak memberikan jawaban yang pasti tentang apa yang akan terjadi,
melainkan berusaha untuk mencari jawaban sedekat mungkin dengan yang akan

13
terjadi (Jaya, 2006). Prediksi juga tidak mungkin meramalkan suatu hal dengan tepat,
namun dalam proses prediksi bisa mendekati jawaban yang tepat.

2.3 Data Preprocessing


Data preprocessing adalah tahapan data yang akan dilakukan pengisian data
yang tidak ada, mengoreksi data ganda, memeriksa inkonsistensi data, pembersihan
data serta memperbaiki kesalahan pada data (Pristyanto, 2019). Data preprocessing
dilakukan pada dataset agar meningkatkan peforma yang dibuat pada model yang
dibuat nantinya.
2.3.1 Label Encoding
Label encoding adalah proses untuk mengubah label menjadi dalam bentuk
numerik agar dapat dibaca oleh model machine learning yang dibuat nantinya.
Dengan menggunakan label encoding, model machine learning dapat bekerja dan
memutuskan keputusan lebih baik lagi dari sebelumnya. Label encoding adalah salah
satu preprocessing data yang penting untuk dataset yang terstruktur pada supervised
learning.
2.3.2 Smoothing
Pada konteks machine learning, smoothing dikatakan sebagai pengontrol dari
likelihood estimator agar hasilnya lebih akurat (Zhai and Lafferty, 2001). Menurut
(Chen and Goodman, 1999) sudah banyak metode smoothing yang telah dihasilkan,
yaitu Laplace smoothing, Katz smoothing turing Estimation, Dirichlet Prior Jelinek-
Mercer Smoothing, dan Semantic Smoothing. Metode Smoothing dilakukan jika data
mengandung noise atau nilai yang tidak valid terhadap data yang diolah.
2.3.3 Normalisasi Min – Max
Normalisasi Min-Max adalah salah satu metode normalisasi dengan melakukan
transformasi linier terhadap data asli (Delfanti et al., 2018). Rumus perhitungan min
mix sebagai berikut :

14
Gambar 2.7 rumus perhitungan min max

Keterangan :

x scaled : Nilai setelah dilakukan normalisasi Min-Max


x : Nilai sebelum dilakukan normalisasi
x min : Nilai minimal pada dataset
x max : Nilai maksimal pada dataset

2.4 Confusion Matrix


Confusion matrix atau disebut juga matriks klasifikasi adalah suatu alat visual
yang biasanya digunakan dalam supervised learning. Matriks klasifikasi berisi jumlah
kasus yang diklasifikasikan dengan benar dan kasus kasus yang salah diklasifikasikan
(Herman, 2011). Confusion matrix digambarkan pada tabel yang menampilkan data
uji yang benar dan data uji yang salah.
Tabel 2.1 confusion matrix

Prediksi
a1”+” a2”-”
Actual a1”+” True Positif True Negative
a2”-“ False Positif False Negative

Pengertian dari masing-masing nilai tabel 2.1.


 True Positif adalah suatu kondisi nilai sebenarnya positif dan nilai
akurasinya positif.
 True Negative adalah suatu kondisi nilai sebenarnya positif, tetapi nilai
akurasinya negative.
 False Positif adalah suatu kondisi nilai sebenarnya negative, tetapi nilai
dari akurasinya positif.
 True Negative adalah suatu kondisi nilai sebenarnya negative dan nilai
akurasinya juga negatif.

15
Berdasarkan penjelasan dari tabel 2.1, maka perhitungan untuk mengetahui nilai
akurasi, recall, dan presisi sebagai berikut:

2.4.1 Akurasi

Akurasi adalah salah satu metrik pada perhitungan performa model machine
learning, akurasi akan mengevaluasi seberapa besar kemampuan model untuk
mendapatkan hasil yang tepat saat melakukan klasifikasi. Berikut rumus perhitungan
akurasi :

TP+TN
Akurasi= x 100 %
TP+ TN+ FP+ FN
Gambar 2.8 perhitungan akurasi confusion matrix

2.4.2 Presisi

Presisi adalah salah satu metrik pada perhitungan performa model machine
learning, presisi adalah nilai rasio data yang diprediksi benar positif dibandingkan
dengan data keseluruhan yang diprediksi positif. Berikut rumus perhitungan presisi :

TP
Presisi= x 100 %
TP+ FP

Gambar 2.9 perhitungan presisi confusion matrix

2.4.3 Recall

Recall atau bisa disebut sensitivitas adalah salah satu metrik pada perhitungan
performa model machine learning, recall adalah nilai rasio dari prediksi benar positif
dibandingkan dengan data yang benar-benar positif. Berikut rumus perhitungan
recall :

TP
Recall= x 100 %
TP+ FN

Gambar 2.10 perhitungan recall confusion matrix

16
17
2.5 K-fold Cross validation
Cross validation merupakan cara yang digunakan untuk dalam perhitungan
suatu model untuk dataset tertentu. Jumlah perulangan cross validation ditentukan
secara manual pada awal proses pembuatan sesaui dengan keingingan. Cross
validation bekerja dengan membagi dataset menjadi dataset yang akan digunakan
untuk proses training dan dataset lain yang digunakan untuk proses testing atau
evaluasi model. Pada setiap iterasinya cross validation akan menggunakan dataset
yang berbeda-beda untuk setiap dataset training ataupun testing Nilai K merupakan
banyaknya nilai pada nilai validasi dicross validation. Sehingga jumlah data pada
setiap kelompok ditentukan menggunakan perhitungan jumlah dataset dibagi dengan
nilai K. Ilustrasi dari K-Fold Cross Validation dapat diketahui pada gambar 2.11

gambar 2.11 ilustrasi k-fold cross validation

2.6 Penelititan Terkait


Penelitian sebelumnya belum ditemukan penelitian tentang prediksi pembelian
emas, namun penelitian yang mirip pada penelitian ini adalah penelitian tentang
prediksi harga emas, yaitu penelitian dari Andriyanto (2017) tentang “Peramalan
Harga Emas Antam Menggunakan Algoritma Double Exponential Smoothing”.
Penelitian ini bertujuan meramalkan harga emas dengan menggunakan tracking
signal apakah harga emas antam tersebut berada dalam batas pengendalian atau tidak.
Data diambil dari situs PT Antam (persero) tbk dengan menggunakan atribut tanggal
dan harga. Penelitian ini menunjukan akurasi 87,34% dengan kesalahan 12,66%.

18
Penelitian lain tentang prediksi harga emas dilakukan oleh Guntur dkk, (2018)
adalah Prediksi Harga Emas Menggunakan Naïve Bayes Dalam Meminimalisasi
Resiko. Penelitian ini memprediksi harga emas apakah naik atau turun dengan
menggunakan data yang didapat dari situs www.pegadaian.co.id dengan data dari
tanggal 1 desember 2017 – 1 januari 2018. Akurasi dari penelitian ini adalah 75%,
dimana hasil dari pengujian menunjukan 12 dari 16 data uji memiliki ketepan
prediksi yang cukup baik. Penelitian ini mempunyai kekurangan salah satunya adalah
tidak adanya harga emas yang muncul pada masa depan.

Penelitian lain yang menggunakan algoritma decision tree dalam memprediksi


pembelian atau harga emas belum ditemukan, namun decision tree telah digunakan
untuk penelitian proses prediksi. Salah satunya dilakukan oleh Pambudi dkk (2018)
tentang Penerapan Algoritma C4.5 Untuk Memprediksi Nilai Kelulusan Sekolah
Menengah Berdasarkan Faktor Eksternal. Data yang digunakan adalah data siswa
yang sekolah menengah dengan menggunakan atribut yang digunakan adalah nama
siswa, jenis kelamin, nilai G1 (nilai pertama), nilai G2 (nilai kedua), dan nilai akhir.
Tingkat akurasi yang dihasilkan dari penelitian ini sebesar 60%. Akurasi dengan data
latih dengan jumlah kategori berbeda memiliki akurasi sebesar 50%, akurasi dengan
kategori yang sama menunjukan hasil sebesar 60%, dan pengujian data latih dengan
kategori acak sebesar 50%. Salah satu kekurangan pada penelitian ini adalah tidak
adanya nilai kategori yang dihasilkan setelah proses pembelajaran, karena terdapat
missing value yang membuat rule dari algoritma C4.5 ini kurang maksimal.

19
19

BAB III

METODE PENELITIAN

3.1 Desain Penelitian


Metode yang digunakan pada penelitian “Prediksi Pembelian Emas
Menggunakan Algoritma Decision Tree” adalah pada gambar 3.1.

Gambar 3.1 Metode yang diajukan

3.2 Pengumpulan Data


Data penelitian ini didapat dari platform pasar keuangan penyedia informasi
mengenai grafik, data, dan berita emas di dunia yaitu investing.com. Data set yang
digunakan adalah data harian harga emas dari tanggal 21 Desember 2018 hingga 18
Desember 2019.
Dataset yang dikumpulkan sebanyak 263 instance dengan 7 atribut yang
digunakan adalah date, price, open, high, low, volume dan change %. Data dari
atribut tersebut, semua atribut menggunakan tipe data real, kecuali atribut date yang
menggunakan tipe data date. Data yang digunakan hanya hari aktif perdagangan yaitu
hari Senin hingga Jumat termasuk hari libur nasional. Dataset dari tanggal 21
Desember 2018 hingga 18 Desember 2019 dengan menggunakan semua atribut
dipaparkan pada tabel 3.1.
Table 3.1 atribut dataset yang digunakan
Nama Atribut Penjelasan Atribut Tipe Data
Date Tanggal Date

Price Harga penutupan emas Real

Open Harga pembukaan emas Real

High Harga emas tertinggi Real

Low Harga emas terendah Real


Vol. Volume transaksi jual beli emas Real
Perubahan harga pembukaan dengan harga
Change % penutupan hari sebelumnya dengan bentuk Real
persentase
Setelah data terkumpul, proses selanjutnya yaitu mengolah data yang telah ada
dan dilakukan pengolahan data sebanyak 2 kali, yaitu :

 Pengolahan yang pertama adalah mengurangi jumlah masukan pada


penelitian ini. Yaitu, dengan menggunakan beberapa atribut dari 7 yang
ada, pada data tersebut, atribut date dan volume. Atribut date tidak
digunakan karena bukan mengenai prediksi dari time series dan atribut
volume juga tidak digunakan karena atribut volume hanya jumlah transaksi
yang dilakukan dalam jual beli emas.
 Pengolahan yang kedua adalah membuat atribut keputusan yang didapat
dari dari selisih harga pembukaan emas dan harga penutupan emas, ketika
nilai positif maka nilai atribut keputusan adalah Beli, begitu pula
sebaliknya jika nilai negatif maka nilai atribut keputusannya adalah Tidak.

Dengan demikian atribut keputusan menambah jumlah atribut yang digunakan


untuk mengolah pemodelan prediksi. Atribut-atribut yang digunakan ketika
pengolahan data dipaparkan pada tabel 3.2.

20
Table 3.2 atribut data yang digunakan untuk pengolahan
Nama Atribut Penjelasan Atribut Tipe Data Nilai
Date Tanggal Date Positif

Price Harga penutupan emas Real Positif

Open Harga pembukaan emas Real Positif

High Harga tertinggi emas Real Positif

Low Harga terendah emas Real Positif


Vol. Volume transaksi emas Real Positif
Perubahan harga pembukaan dengan harga
Change % penutupan hari sebelumnya dengan bentuk Real Positif
persentase
Keputusan Keputusan pembelian emas Nominal Beli/Tidak

Kemudian atribut data akhir yang digunakan untuk tahapan pemodelan dipaparkan
pada tabel 3.3.

Table 3.3 atribut data final yang digunakan untuk pemodelan


Nama Atribut Penjelasan atribut Tipe data Nilai
High Harga tertinggi emas Real Positif
Low Harga terendah emas Real Positif
Perubahan harga pembukaan dengan
Change % harga penutupan hari sebelumnya Real Positif
dengan bentuk persentase
Keputusan pembelian emas yang Nominal
Keputusan didapat dari selisih harga pembukaan / Label Beli / Tidak
dan penutupan

3.3 Preprocessing
3.3.1 Resampling

Dataset yang telah diolah dan telah ditentukan atribut apa saja yang digunakan
dan yang tidak digunakan, maka tahap selanjutnya adalah tahap preprocessing. Tahap
ini digunakan untuk menyeimbangkan data yang diolah kedalam aplikasi rapidminer
dengan menerapkan SMOTE pada data, sehingga data bisa seimbang. Tabel SMOTE
dipaparkan di tabel 3.4
Tabel 3.4 perbandingan data asli dan smote data
Beli Tidak Total Data

21
Data Asli 129 134 263
Data SMOTE 134 134 268

Tabel tersebut menujunkan bahwa proses SMOTE membuat data bisa seimbang
yang semula data beli sebanyak 129 data menjadi 134 data. Dengan demikian hasil
dari akurasi data tersebut tidak memihak antara Beli atau Tidak.

3.4 Pemodelan

Pemodelan merupakan tahap yang melibatkan data mining dan menentukan


algoritma yang digunakan untuk proses pemodelan dalam prediksi pembelian emas.
Algoritma yang digunakan adalah algoritma decision tree, dengan menggunakan tool
dari software rapidminer 9.5.0. rapidminer membantu menentukan pohon keputusan
yang dibuat oleh decision tree melalui data yang diinputkan. 10 Hasil pohon
keputusan yang terbentuk dari inputan data dengan menggunakan 10 fold dipaparkan
pada gambar 3.2.

22
23
Gambar 3.2 10 model yang terbentuk
Dari aturan-aturan yang ada digambar 3.2, merupakan dasar prediksi yang akan
dibuat kedalam sistem. Harga emas dari gambar pemodelan tersebut merupakan
batasan dalam proses prediksi yang menjadi acuan dalam proses prediksi pembelian
emas. Dalam proses prediksi pembelian emas, harga emas tersebut bisa menjadi lebih

kecil atau lebih besar dari harga yang tertera digambar 3.2.

3.4.1 Aplikasi Sistem

Penelitian ini digunakan pada aplikasi website yang dapat memprediksi


pembelian emas menggunakan algoritma decision tree. Flowchart dari sistem
prediksi di paparkan pada gambar 3.3.

24
Gambar 3.3 flowchart aplikasi

Berdasarkan flowchart dari gambar 3.3 adalah mendapatkan data yang


diperlukan untuk sistem, kemudian memproses data menggunakan algoritma decision
tree dengan aturan yang telah ditentukan agar menghasilkan keluaran prediksi
pembelian emas. Prototype sistem prediksi pembelian emas dipaparkan pada gambar
3.4.

Gambar 3.4 prototype aplikasi pembelian emas

25
Aplikasi prediksi pembelian emas menampilkan hasil prediksi untuk harga yang
telah diinputkan. Selain menampilkan hasil aplikasi juga menampilkan data yang
diinput untuk user juga mengetahui harga yang diinputkan. Hasil prediksi dari
inputan data tersebut akan menampilkan output berupa keluaran Beli atau Tidak.

3.5 Validasi
Desain validasi penelitian ini meliputi tahap tahap penilaian dari ahli materi.
Setalah divalidasi sistem, kemudian melalui tahap revisi. Hasil revisi akan dianalisis
untuk memperoleh sistem yang dapat memberikan informasi berupa beli emas atau
tidak. Berdasarkan informasi tersebut, sistem prediksi pembelian emas menggunakan
algoritma decision tree menghasilkan sistem yang dapat menginformasikan kepada
pengguna dalam membeli emas dan dapat mengoptimalkan pengeluaran.

3.6 Evaluasi
Tahapan akhir dari penelitian ini ialah melakukan evaluasi dan analisis terhadap
penelitian yang telah dilakukan. Pada tahapan evaluasi ini akan ditarik kesimpulan
dan saran dari hasil penelitian. Selain itu, pada tahap evaluasi juga akan dilakukan
analisa kekurangan yang terdapat selama penelitian dilakukan, sehingga dapat
diperbaiki apabila ada penelitian selanjutnya

26
27

BAB IV

HASIL PENELITIAN DAN PEMBAHASAN

4.1 Pemodelan
Proses pemodelan menggunakan RapidMiner Studio 9.0 dengan menghasilkan
sebuah model yang akan dijadikan acuan dalam proses prediksi pembelian emas
dengan menggunakan algoritma decsision tree. Proses pembuatan dimulai dengan
mempersiapkan data yang akan diinputkan untuk membuat model dengan
mencantumkan Read Excel pada Rapidminer. Read excel merupakan tools yang
berguna untuk menampung data set yang digunakan untuk diolah kedalam aplikasi
RapidMiner

Gambar 4.1. tools read excel sebagai penampung dataset


Proses berikutnya dengan menambkan tools SMOTE upsampling yang
berguna untuk menstabilkan atau menyeimbangkan data agar data tidak memihak
antara beli atau tidak.

Gambar 4.2. tools SMOTE upsampling


Proses selanjutnya dengan menambahkan tools Cross Validation yang
berguna untuk memberikan kegunaan yang bisa membagi data latih dan data uji
secara otomatis didalam apliaksi RapidMiner Studio.
Gambar 4.3. tools Cross Validation
Konsep k-fold cross validation tidak hanya membuat beberapa sampel data uji
berulang kali, tetapi membagi dataset menjadi bagian terpisah dengan ukuran yang
sama. Tools cross validation memiliki parameter yang dapat digunakan, yaitu
number of fold yang digunakan untuk memberi nilai k (jumlah iterasi) dan sampling
type digunakan untuk teknik sampling yang berguna dalam pembagian dataset.

Gambar 4.4. parameter tools Cros Validation


Kemudian masuk ke ke subproses dari cross validation yang digunakan untuk
melatih model dan subproses testing untuk pengujian sekaligus untuk mendapatkan
model dari algoritma decision tree dan mengukur hasil kinerja model yang
diinginkan.

28
Gambar 4.5. subproses pada tools cross validation
Kemudian dengan menambahkan tools decision tree yang sebagai algoritma
yang digunakan untuk pembuatan model dari dataset yang diinputkan sebelumnya.

Gambar 4.6. tools decision tree pada subproses cross validation


Langkah berikutnya dengan menambahkan tolls Apply Model dan
Perdormance pada subproses Cross Validation. Apply Model berfungsi untuk
menerapkan model yang telah dilatih sebelumnya dengan menggunakan data training
pada data testing, tujuannya adalah untuk mendapatkan prediksi pada data testing
yang belum memiliki label. Sedangkan tools Performance berfungsi sebagai
pengevaluasian kinerja model yang memberikan daftar nilai kinerja secara otomatis
dengan tugas yang diberikan. Tugas kriteria yang diberikan untuk klasifikasi adalah
nilai akurasi, nilai presisi, dan nilai recall.

Gambar 4.7. tools apply model dan performance pada subproses cross validation

Gambar 4.8. performa matrix dari 10 fold cross validation

29
Dari semua proses yang telah dibuat didapatlah nilai akurasi, nilai presisi, dan nilai
recall. Dari gambar 4.8 menunjukan bahwa nilai akurasi sebesar 82.84% dengan
standar deviasi (+/-) sebesar 5.28%.
4.2 Validasi
Dalam penelitian ini menggunakan klasifikasi Decision Tree C4.5 dengan
arsitektur yang berupa pohon hirarki yang membentuk sebuah keputusan dari
keluaran tersebut. Arsitektur tersebut dipaparkan pada gambar 4.9.

Gambar 4.9 arsitektur decision tree


Validasi dari penelitian ini menggunakan k-Fold Cross Validation. k-Fold
Cross Validation adalah metode statistic untuk memperkirakan keterampilan dalam
model machine learning, dengan k = 10 dan ilustrasi dipaparkan pada gambar 4.10.

30
Gambar 4.10 ilustrasi k-fold cross validation
Seperti dijelaskan pada gambar 4.4, Fold yang menggunakan K-Fold Cross
Validation sebagai pembuatan model yang dilakukan berdasarkan hasil kinerja dari
algoritma itu sendiri dengan kata lain K-fold Cross Validation berfungsi dalam
melatih model dengan menggunakan number of fold yang kemudian menghasilkan
data dari tabel Confusion Matrix. Confusion Matrix akan memberikan informasi
berupa kinerja algoritma dari hasil perhitungan nilai akurasi, nilai presisi, nilai recall
dan nilai error rate dengan nilai beli sebagai nilai positif dan nilai tidak sebagai nilai
negatif. Ilustrasi Confusion Matrix dipaparkan pada gambar 4.11.

Gambar 4.11 Ilustrasi Confusion Matrix


Confusion Matrix akan menampilkan 4 keluaran kondisi yang akan
dihasilkan oleh sistem, yaitu jumlah keluaran benar diprediksi benar (true positif),
jumlah keluaran benar diprediksi salah (true negative), jumlah keluaran salah
diprediksi benar (false positif), dan jumlah keluaran salah diprediksi salah (false
negative). Berdasarkan dari 4 keluaran tersebut, akan menjadi dasar perhitungan dari
akurasi, presisi, recall, dan error rate. Berikut adalah hasil dari fold yang dilakukan
terhadap dataset dari harga emas:

31
Tabel 4.1 Confusion Matrix 1

Prediksi
true Beli true Tidak
Aktual

pred. Beli 113 37


pred. Tidak 21 97
Tabel 4.1 menunjukan bahwa nilai TP = 113, FP 37, FN = 21 dan TN = 97. Sehingga
didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

113+ 97
Akurasi= x 100 %=78.36 %
113+97+ 37+21

113
Presisi= x 100 %=82.20 %
113+21

113
Recall= x 100 %=72.39 %
113+ 37
37+21
Error rate= x 100 %=21.64 %
113 +97+ 21+ 37
Tabel 4.2 Confusion Matrix 2

Prediksi
true Beli true Tidak
Aktual
pred. Beli 106 18
pred. Tidak 28 116
Tabel 4.2 menunjukan bahwa nilai TP = 106, FP = 18, FN = 28 dan TN = 116.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

106+116
Akurasi= x 100 %=82.84 %
106+116+ 18+ 28

106
Presisi= x 100 %=80.56 %
106+28

106
Recall= x 100 %=86.57 %
106+18
18+ 28
Error rate= x 100 %=17.82 %
106 +116+28+ 18

32
Tabel 4.3 Confusion Matrix 3

Prediksi
true Beli true Tidak
Aktual
pred. Beli 108 25
pred. Tidak 26 109
Tabel 4.3 menunjukan bahwa nilai TP = 108, FP = 25, FN = 26 dan TN = 109.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

108+109
Akurasi= x 100 %=80.97 %
108+109+25+26

108
Presisi= x 100 %=80.74 %
108+26

108
Recall= x 100 %=81.34 %
108+25
25+26
Error rate= x 100 %=19.02 %
108+ 109+ 25+26

Tabel 4.4 Confusion Matrix 4


Prediksi
true Beli true Tidak
Aktual
pred. Beli 109 29
pred. Tidak 25 105
Tabel 4.4 menunjukan bahwa nilai TP = 109, FP = 29, FN = 25 dan TN = 105.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

109+105
Akurasi= x 100 %=79.85 %
109+105+25+29

109
Presisi= x 100 %=80.77 %
109+25

109
Recall= x 100 %=78.76 %
109+29

33
29+25
Error rate= x 100 %=16.41%
109+ 105+ 25+29

Tabel 4.5 Confusion Matrix 5


Prediksi
true Beli true Tidak
Aktual
pred. Beli 111 38
pred. Tidak 23 98
Tabel 4.5 menunjukan bahwa nilai TP = 111, FP = 38, FN = 23 dan TN = 98.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

111+ 98
Akurasi= x 100 %=77.24 %
111+ 98+23+38

111
Presisi= x 100 %=80.67 %
111+ 23

111
Recall= x 100 %=71.64 %
111+38
38+23
Error rate= x 100 %=22.76 %
111+98+ 23+38
Tabel 4.6 Confusion Matrix 6
Prediksi
true Beli true Tidak
Aktual
pred. Beli 108 27
pred. Tidak 26 107
Tabel 4.6 menunjukan bahwa nilai TP = 116, FP = 29, FN = 18 dan TN = 105.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate
menggunakan confusion matrix decision tree dengan hasil sebagai berikut:

108+107
Akurasi= x 100 %=80.22 %
108+107+26+27

108
Presisi= x 100 %=80.85 %
108+26

108
Recall= x 100 %=79.85 %
108+27

34
27+26
Error rate= x 100 %=19.77 %
108+ 107+26+27

Tabel 4.7 Confusion Matrix 7


Prediksi
true Beli true Tidak
Aktual
pred. Beli 103 35
pred. Tidak 31 99
Tabel 4.7 menunjukan bahwa nilai TP = 103, FP = 35, FN = 31 dan TN = 99.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

103+99
Akurasi= x 100 %=75.35 %
103+99+31+35

103
Presisi= x 100 %=76.15 %
103+31

103
Recall= x 100 %=73.88 %
103+35
35+31
Error rate= x 100 %=23.88 %
103+ 99+31+35
Tabel 4.8 Confusion Matrix 8
Prediksi
true Beli true Tidak
Aktual
pred. Beli 110 31
pred. Tidak 24 103
Tabel 4.8 menunjukan bahwa nilai TP = 110, FP = 31, FN = 24 dan TN = 103.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

110+103
Akurasi= x 100 %=79.48 %
110+103+24 +31

110
Presisi= x 100 %=81.10 %
110+24

35
110
Recall= x 100 %=76.87 %
115+ 31
31+24
Error rate= x 100 %=20.52 %
110 +103+24 +31

36
Tabel 4.9 Confusion Matrix 9
Prediksi
true Beli true Tidak
Aktual
pred. Beli 111 33
pred. Tidak 23 101
Tabel 4.9 menunjukan bahwa nilai TP = 111, FP = 33, FN = 23 dan TN = 101.
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

111+101
Akurasi= x 100 %=79.10 %
111+101+23+33

111
Presisi= x 100 %=81.45 %
111+ 23

111
Recall= x 100 %=75.37 %
111+33
33+23
Error rate= x 100 %=20,89 %
111+101+23+33
Tabel 4.10 Confusion Matrix 10
Prediksi
true Beli true Tidak
Aktual
pred. Beli 109 36
pred. Tidak 25 98
Tabel 4.10 menunjukan bahwa nilai TP = 109, FP = 36, FN = 25 dan TN = 98
Sehingga didapatkan perhitungan akurasi, presisi, recall dan error rate menggunakan
confusion matrix decision tree dengan hasil sebagai berikut:

109+98
Akurasi= x 100 %=77.24 %
109+98+36+25

109
Presisi= x 100 %=79.67 %
109+25

109
Recall= x 100 %=73.13 %
109+36
36+25
Error rate= x 100 %=22.76 %
109+ 98+25+36

37
4.3 Analisis
Tahap analisis bertujuan untuk menjabarkan hasil dari tahapan validasi dan
untuk mendapatkan hasil kesimpulan akhir dari penelitian. Analisis dilakukan dengan
membandingkan 10 hasil yang didapat dari tahap validasi yang telah diketahui hasil
dari akurasi, presisi, recall, dan error rate untuk mendapatkan klasifikasi terbaik
dalam menentukan keputusan dalam pembelian emas agar mengoptimalkan
pengeluaran.

Grafik Akurasi model Decision Tree


100.00%
90.00%
80.00% 82.84% 80.97% 79.85%
70.00% 78.36% 77.24% 80.22% 75.25% 79.48% 79.10% 77.24%
60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
0.00%
Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 Fold 6 Fold 7 Fold 8 Fold 9 Fold 10

Gambar 4.12 perbandingan model hasil fold akurasi decision tree


Dari hasil fold gambar 4.12 menunjukan hasil akurasi cukup baik, semua fold
memiliki akurasi diatas 75%. Hasil fold ke-2 memiliki nilai akurasi tertinggi yaitu
sebesar 82,84%, akurasi kedua terbaik dimiliki oleh fold ke-3 dengan hasil 80,97%,
dan akurasi terbaik ketiga dimiliki oleh fold ke-9 dengan hasil 80,27%. Namun,
perhitungan akurasi saja tidak cukup untuk menentukan sebuah sistem prediksi
dengan tepat. Jika hanya mengacu pada akurasi sedangkan label kelas tidak
diperhitungkan, maka kinerja sistem menjadi tidak maksimal.

Pada penelitian ini kelas positif adalah prediksi benar, sedangkan kelas negatif
adalah prediksi salah. Sehingga penelitian ini lebih berfokus pada kelas positif
dibandingkan kelas negatif.

38
Pada gambar 4.13 menunjukan hasil fold presisi terbaik pada fold ke-1 dengan
hasil 82,20%, terbaik kedua dimiliki fold ke-9 dengan hasil 81,45%, dan hasil terbaik
ketiga dimiliki fold ke-8 dengan hasil 81,10 %.

Grafik Presisi model Decision Tree


1
0.9 1 2 3 4 5 6 7 8 9 10
0.8
82.20% 80.56% 80.74% 80.77% 80.67% 80.85% 81.10% 81.45% 79.67%
0.7 76.15%
0.6
0.5
0.4
0.3
0.2
0.1
0
Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 Fold 6 Fold 7 Fold 8 Fold 9 Fold 10

Gambar 4.13. perbandingan model hasil fold presisi decision tree


Presisi menunjukan bahwa semakin tinggi nilainya, maka prediksi memiliki tujuan
yang tepat dalam memilih label kelas positif. Sehingga akan tercapai tujuan dalam
sebuah proses prediksi dalam proses medapatkan nilai label positif, yaitu keputusan
“Beli”.
Pada gambar 4.14 bahwa fold recall menunjukan fold terbaik pada fold ke-2
dengan hasil 86,57%, terbaik kedua dimiliki fold ke-3 dengan hasil 81,34%, dan hasil
terbaik ketiga dimiliki fold ke-6 dengan hasil 79,85 %.

Grafik Recall model Decision tree


100.00%
90.00%
80.00% 86.57%
81.34% 78.76% 79.85%
70.00%
72.39% 71.64% 73.88% 76.87% 75.37% 73.13%
60.00%
50.00%
40.00%
30.00%
20.00%
10.00%
0.00%
Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 Fold 6 Fold 7 Fold 8 Fold 9 Fold 10

Gambar 4.14. perbandingan model hasil fold recall decision tree

39
Semakin tinggi nilai recall pada kelas positif, maka menunjukkan kejadian
yang diprediksi benar semakin banyak jumlahnya. Jika nilai recall tidak terlalu tinggi,
hal ini tidak menjadikan prediksi menjadi tidak layak. Hanya saja hasil prediksi yang
didapatkan akan kurang optimal.

Grafik Error Rate model Decision Tree


25.00%
22.76% 23.88% 22.76%
20.00% 21.64%
19.77% 20.52% 20.89%
15.00% 17.82% 19.02%
16.41%
10.00%
5.00%
0.00%
Fold 1 Fold 2 Fold 3 Fold 4 Fold 5 Fold 6 Fold 7 Fold 8 Fold 9 Fold 10

Gambar 4.15 perbandingan hasil error rate fold decision tree


Pada gambar 4.15 menunjukan bahwa hasil error rate terendah dimiliki oleh
fold ke-4 dengan hasil 16,41%, diikuti oleh fold ke-2 dengan hasil 17,82%, dan
diikuti fold ke-6 dengan hasil 19,77%. Error rate merupakan nilai kesalahan yang
dilakukan oleh sebuah sistem prediksi, maka semakin kecil error rate yang didapat
semakin baik pula hasil prediksi yang didapat.
Dari fold yang dilakukan dalam pencarian model prediksi Decision Tree, fold
ke-2 menjadi fold terbaik dengan nilai akurasi 82,84%, presisi 80,56%, recall
86,57%, dan error rate 17,82%. Fold ke-2 memiliki nilai akurasi dan recall yang
baik dari seluruh fold yang dilakukan. hanya saja pada presisi fold 2 memiliki nilai
rendah dibanding nilai lainnya, fold 2 memiliki nilai akurasi, recall, dan nilai error
rate yang cukup baik.

40
Gambar 4.16 performa fold ke 2

4.4 Implementasi Aplikasi Sistem Prediksi


Penelitian ini menerapkan hasil validasi dengan fold terbaik dalam bentuk
web. Aplikasi web digunakan bertujuan untuk memudahkan pengguna dalam
menggunakan aplikasi diberbagai media seperti computer, laptop, dan smartphone.
Penerapan aplikasi web menggunakan beberapa bahasa pemrograman seperti PHP,
HTML, javaScript, menggunakan beberapa plugin open source dan menggunakan
database dari MySQL. Berdasarkan hasil fold yang telah diperoleh dari pengelohan
RapidMiner, maka model yang digunakan dalam prediksi pembelian emas dengan
mencantumkan 10 fold yang didapat kedalam model prediksi. Model tersebut
dipaparkan pada gambar berikut.

41
Gambar 4.17 10 model prediksi pembelian emas menggunakan decision tree

42
4.3.1 Home
Halaman home terdapat terdapat empat bagian yaitu prediksi, data emas,
harga emas, dan dashboard. Bagian terpenting pada apliksi ini adalah bagian
prediksi, bagian dashboard merupukan bagian menginputkan data dan edit data
khusus admin. Sedangkan bagian yang lain hanya berupa informasi bagi pengguna.
Fungsi utama pada aplikasi ini adalah bagian prediksi yang memberikan inforamsi
berupa keputusan untuk membeli emas berdasarkan keuangan yang memadai bagi
pengguna. Bagian prediksi menampilkan prediksi 1 sampai dengan prediksi 10.
Prediksi 1 sampai prediksi 10, merupakan 10 model yang digunakan untuk
memprediksi emas per model atau per prediksi, kemudian diikut tanggal dan
keputusan akhir “Beli” atau “Tidak” dengan data emas yang diiputkan oleh admin
sebagai data untuk pengguna bisa mengetahui hasil prediksi pada hari sebelumnya
dengan menampilkan atribut yang digunakan tanggal, harga penutupan, harga
pembukaan, harga tertinggi, harga terendah, volume transaksi, change, dan keputusan
sesuai dengan pemodelan yang telah dibuat pada tampilan seperti pada gambar 4.18.

Gambar 4.18 home bagian prediksi


Langkah yang didapat dalam mendapatkan keputusan pembelian emas
pertama kali adalah dengan fitur SMOTE yang ada pada aplikasi software
RapidMiner 9.0 yang dilakukan sebelum menentukan keputusan pada sistem prediksi.
Setelah mendapatkan hasil SMOTE yaitu dengan menyeimbangkan data dan telah
mendapat model dari prediksi dari aplikasi RapidMiner 9.0, dibuatlah script penentu
keputusan. Kemudian untuk mendapatkan dan menampilkan data yang telah diinput

43
berupa data emas dibuatlah script keputusan pada tabel 4.11. Script keputusan
berguna untuk memberikan informasi kepada pengguna atau investor apakah pada
hari yang diinputkan memiliki keputusan Beli atau Tidak.

Tabel 4.11 script keputusan

// echo $keputusan;
$hasil_keputusan =
array($keputusan1,$keputusan2,$keputusan3,$keputusan4,$keputusan5,$
keputusan6,$keputusan7,$keputusan8,$keputusan9,$keputusan10);?>

<?php $data = array_count_values($hasil_keputusan);?>


<?php if(!isset($data['Beli'])):?>
<?php $data['Beli'] = 0;?>
<?php endif;?>

<?php if(!isset($data['Tidak'])):?>
<?php $data['Tidak'] = 0;?>
<?php endif;?>

<!-- <?php echo 'jumlah keputusan beli sebanyak ='.


$data['Beli'].'<br>';?>
<?php echo 'jumlah tidak sebanyak ='. $data['Tidak'];?>
-->

<?php if ($data['Tidak'] > $data['Beli'] ):?>


<?php $hasil_keputusan = 'Tidak'; ?>
<?php elseif ($data['Tidak'] == $data['Beli'] ):?>
<?php $hasil_keputusan = $keputusan2; ?>
<?php else :?>
<?php $hasil_keputusan = 'Beli'; ?>
<?php endif;?>

<?php

44
$sql = "INSERT INTO data_emas VALUES (NULL,'" .
$_POST["date"] . "','" . $_POST["price"] . "','" . $_POST["open"] .
"','" . $_POST["high"] . "','" . $_POST["low"] . "','" .
$_POST["volume"] . "','" . $_POST["change"] . "','" .
$hasil_keputusan . "',NULL)";

$sqlFold = "INSERT INTO fold VALUES


(NULL,'$keputusan1','$keputusan2','$keputusan3','$keputusan4','$kep
utusan5','$keputusan6','$keputusan7','$keputusan8','$keputusan9','$
keputusan10')";

if (mysqli_query($conn, $sql)) {
mysqli_query($conn, $sqlFold);
echo "<script>swal('Sukses', 'Data berhasil
ditambahkan', 'success');</script>";
} else {
echo "<script>swal('Gagal', 'Data tidak berhasil
ditambahkan', 'error');</script>";
}
}
?>

4.3.2 Dashboard
Dalam pengoperasian sistem hanya admin yang diperbolehkan untuk
mengiputkan data pada aplikasi. Admin memiliki akun yang telah terdaftar pada
sistem untuk dapat login menggunakan username dan password. Sehingga hanya
admin yang telah terdaftar dengan username dan password yang valid yang dapat
masuk pada halaman dashboard. Berikut merupakan tampilan halaman login pada
dashboard dipaparkan gambar 4.19.

45
Gambar 4.19 halaman login

Setelah berhasil melakukan login, tampilan utama dashboard menyajikan submit


form seperti gambar 4.20 untuk memberi masukan data baru dengan memberi nilai
pada atribut date, price, open, high, low, volume dan change %.

Gambar 4.20 halaman input data

46
Input data digunakan sebagai pemberi informasi kepada pengguna untuk mengetahui
harga dan hasil prediksi yang ada. Selain halaman input data, dashboard juga
memiliki halaman edit data, bertujuan untuk menyunting dan menghapus data ketika
terjadi kesalahan masukan, dipaparkan pada gambar 4.21.

Gambar 4.21. halaman edit data

47
47

BAB V

KESIMPULAN

5.1 Kesimpulan
Berdasarkan hasil dan pembahasan penelitian yang telah dilakukan, dapat
disimpulkan bahwa Decision Tree dapat melakukan prediksi dengan tingkat yang
cukup baik. Tidak ada parameter atau tree yang pasti atau pun rekomendasi tentang
model prediksi dari Decision Tree secara umum dikarenakan model yang didapat dari
algortima melainkan dari dataset itu sendiri yang digunakan untuk mendapatkan hasil
terbaik.

Sistem dibangun untuk memberikan informasi kepada investor dengan


menggunakan aplikasi web tentang prediksi harga emas yang tidak melibatkan faktor
luar seperti kondisi ekonomi, kondisi politik dan lain sebagainya. Percobaan dibuat
dengan tingkat keberhasilan rata-rata dalam proses percobaan memiliki nilai akurasi,
recall, dan presisi diatas 78%. Hasil performa yang didapat dari penelitian “Prediksi
Pembelian Emas Menggunakan Algoritma Decision Tree” dengan nilai akurasi
sebesar 82,84%, presisi 80,56%, recall 86,57%, dan error rate 17,82%. Sistem ini
diharapkan dapat mengoptimalkan pengeluaran uang investor dalam membeli emas,
sehingga mendapatkan keuntungan yang besar dalam proses penjualan emas.

5.2 Saran
Setiap penelitian yang dilakukan akan memiliki kekurangan dan kelemahan
sehingga perlu dilakukan pengembangan kembali agar penelitian yang dilakukan
akan semakin membaik. Adapun kekurangan dan kelemahan dari penelitian ini
sebagai berikut :
1. Tidak adanya fiutr informasi terkait pengeluaran dalam pemeblian emas yang
dilakukan oleh investor.
2. Tidak adanya fitur informasi berapa persen harga emas naik atau turun.
3. Tidak menggunakan model yang bisa mengetahui kondisi negara saat ini.
4. Tidak adanya fitur informasi yang dapat diketahui oleh investor.
5. Tidak adanya fitur prediksi penjualan emas agar investor dapat mengetahui
kapan harus menjual emas dan kapan tidak harus menjual emas.
6. Tidak menggunakan model dengan kondisi ekonomi, kondisi politik, dan lain
sebagainya.

Adapun saran yang dilakukan untuk pengembangan sistem penelitian


selanjutnya adalah:

1. Mengembangkan penelitian ini dengan menggunakan fitur yang lebih beragam


seperti menambah informasi berupa uang yang harus dikeluarkan dalam
berinvestasi emas dan bisa bertransaksi
2. Mengembangkan penelitian ini dengan fitur yang mengetahui berapa persen
harga emas naik dan turun.
3. Membangun model yang lebih baik dengan melibatkan kondisi yang ada saat
ini
4. Memberikan informasi keuntungan yang diberikan ketika berinvestasi emas.
5. Mengembangkan penelitian ini dengan menambahkan prediksi harga jual emas
agar investor bisa mengetahui kapan harus menjual emas dan kapan tidak harus
menjual emas.
6. Mengembangkan sistem dengan menambahkan kondisi ekonomi, kondisi
politik, dan lain sebagainya.

48
DAFTAR PUSTAKA
Ahmad, A. (2017) ‘Mengenal Artificial Intelligence, Machine Learning, Neural
Network, Dan Deep Learning’, Jurnal Teknologi Indonesia, (October), P. 3.
Andriyanto, T. (2017) ‘Sistem Peramalan Harga Emas Antam Menggunakan Double
Exponential Smoothing’, Intensif, 1(1), P. 1. Doi: 10.29407/Intensif.V1i1.531.
Ari Budiono (2017) ‘Pohon Keputusan Dengan Algoritma C4.5 1.’, Pp. 3–4.
Available At: Https://Docplayer.Info/46185146-Pohon-Keputusan-Dengan-
Algoritma-C4-5.Html.
Awam, B. O. (2013) ‘Investasi Emas Bagi Orang Awam’.
Baştanlar, Y. And Özuysal, M. (2014) ‘Introduction To Machine Learning’, Methods
In Molecular Biology, 1107, Pp. 105–128. Doi: 10.1007/978-1-62703-748-
8_7.
Bruno, L. (2019), Journal Of Chemical Information And Modeling, 53(9), Pp. 1689–
1699. Doi: 10.1017/CBO9781107415324.004.
Buttle, F. (2008) Customer Relationship Management: Second Edition, Customer
Relationship Management: Second Edition. Doi: 10.4324/9780080949611.
Chen, S. F. And Goodman, J. (1999) ‘Empirical Study Of Smoothing Techniques For
Language Modeling’, Computer Speech And Language, 13(4), Pp. 359–394.
Doi: 10.1006/Csla.1999.0128.
Delfanti, R. L. Et Al. (2018) ‘Modul Mata Kuliah’, New England Journal Of
Medicine, 372(2), Pp. 2499–2508. Doi: 10.1056/Nejmoa1407279.
Fikriya, Z. A. Et Al. (2017) ‘928X Print) A 18’, Jurnal Sains Dan Seni ITS, 6(1).
Flach, P. (2012). Machine Learning: The Art And Science Of Algorithms That Make
Sense Of Data. Cambridge: Cambridge University Press.
Doi:10.1017/CBO9780511973M
Gunawan, A. I. And Wirawati, N. G. P. (2013) ‘Perbandingan Berinvestasi Antara
Logam Mulia Emas Dengan Saham Perusahaan Pertambangan Emas’, E-
Jurnal Akuntansi Universitas Udayana, 4(2), Pp. 406–420. Available At:
Https://Ojs.Unud.Ac.Id/Index.Php/Akuntansi/Article/View/6303/4818.
Guntur, M., Santony, J. And Yuhandri, Y. (2018) ‘Prediksi Harga Emas Dengan
Menggunakan Metode Naïve Bayes Dalam Investasi Untuk Meminimalisasi
Resiko’, Jurnal RESTI (Rekayasa Sistem Dan Teknologi Informasi), 2(1), Pp.
354–360. Doi: 10.29207/Resti.V2i1.276.
Herman, Y. (2011) ‘Tinjauan Pustaka Tinjauan Pustaka’, Convention Center Di Kota

49
Tegal, 4(80), P. 4.
Hormann, A. M. (1964) ‘Programs For Machine Learning. Part II’, Information And
Control, 7(1), Pp. 55–77. Doi: 10.1016/S0019-9958(64)90259-1.
IHME. (2013) Sistem Klasifikasi perhitungan tingkat ketepatan penyelasaian studi
mahasiswa baru dengan metode Fuzzy tsukamoto, Pp. 1–11.
Integration, I., Iiis, S. And Paper, D. (2009) ‘Is Gold A Safe Haven ? International
Evidence Dirk G . Baur , Dublin City University – Business School Thomas
K. Mcdermott, Trinity College Dublin – Institute For International Integration
Studies’, (310).
Jaya, D. I. (2006) ‘Perancangan Dan Pembuatan Perangkat Lunak Berbasis Jaringan
Saraf Tiruan Untuk Memprediksi Harga Saham Dengan Menggunakan
Backpropagation’, P. 160.
Kurnianwan, I. (2019) Analisis Keuntungan Investasi Emas Dengan IHSG.
Larose, D. T. (2006) Data Mining Methods And Models, Data Mining Methods And
Models. Doi: 10.1002/0471756482.
Mashlahah, S. (2013) Prediksi Kelulusan Mahasiswa Menggunakan Metode Decision
Tree Dengan Penerapan Algoritma C4.5.
Minarni And Aldyanto, F. (2016) ‘Prediksi Jumlah Produksi Roti Menggunakan
Metode Logika Fuzzy (Studi Kasus : Roti Malabar Bakery)’, Jurnal
TEKNOIF, 4(2), Pp. 59–65.
Munawar, A., Tinggi, S. And Ekonomi, I. (2018) ‘Prosedur Investasi Emas
Berjangka’, (June). Doi: 10.13140/RG.2.2.19045.50408.
Muzakir, A. And Wulandari, R. A. (2016) ‘Model Data Mining Sebagai Prediksi
Penyakit Hipertensi Kehamilan Dengan Teknik Decision Tree’, Scientific
Journal Of Informatics, 3(1), Pp. 19–26. Doi: 10.15294/Sji.V3i1.4610.
Nilsson, N. J. (2005) ‘Introduction To Machine Learning An Early Draft Of A
Proposed Textbook Department Of Computer Science’, Machine Learning,
56(2), Pp. 387–99. Doi: 10.1016/J.Neuroimage.2010.11.004.
Pambudi, R. H., Setiawan, B. D. And Indriati (2018) ‘Penerapan Algoritma C4 . 5
Untuk Memprediksi Nilai Kelulusan Siswa Sekolah Menengah Berdasarkan
Faktor Eksternal’, Jurnal Pengembangan Teknologi Informasi Dan Ilmu
Komputer, 2(7), Pp. 2637–2643. Available At: Http://J-Ptiik.Ub.Ac.Id5.
Pristyanto, Y. (2019) ‘Penerapan Metode Ensemble Untuk Meningkatkan Kinerja
Algoritme Klasifikasi Pada Imbalanced Dataset’, Jurnal Teknoinfo, 13(1), P.

50
11. Doi: 10.33365/Jti.V13i1.184.
Quinlan, J. R. (1996) ‘Improved Use Of Continuous Attributes In C4.5’, Journal Of
Artificial Intelligence Research, 4(1996), Pp. 77–90. Doi: 10.1613/Jair.279.
Septiawan, I. G. N. E. And Tri, M. P. (2015) ‘“ Sistem Informasi Prediksi Jumlah
Kebutuhan Bahan Produksi Pada Pt . Agaricus Sido Makmur Sentosa’.
Susanto, W. E. And Riana, D. (2016) ‘Komparasi Algoritma’, Jurnal Speed, 8(3), Pp.
18–27.
Taufiq Rohman, S.Pd.I, M. P. (2019), Psikologi Perkembangan, (October 2013), Pp.
1–224. Doi: 10.1017/CBO9781107415324.004.
Widuhung, S. D. (2014) ‘Perbandingan Return Dan Risiko Investasi Pada Saham
Syariah Dan Emas’, Jurnal Al-Azhar Indonesia Seri Pranata Sosial, 2(3), Pp.
144–150.
Xindong Wu, Vipin Kumar, J. Ross Quinlan, Joydeep Ghosh, Qiang Yang, Hiroshi
Motoda, Geoffrey J. Mclachlan, Angus Ng, Bing Liu, Philip S. Yu, Zhi-Hua
Zhou, Michael Steinbach, David J. Hand, Dan Steinberg. Top 10 Algorithms
In Data Mining, Knowl Inf Syst (2008)
Zhai, C. And Lafferty, J. (2001) ‘A Study Of Smoothing Methods For Language
Models Applied To Ad Hoc Information Retrieval’, SIGIR Forum (ACM
Special Interest Group On Information Retrieval), Pp. 334–342. Doi:
10.1145/383952.384019.

Lampiran 1. Dataset Emas

Date Price Open High Low Vol. Change Keputusan


Dec 21 2018 1288,60 1295,50 1295,50 1287,90 43M -0.77 Beli
Dec 24 2018 1302,40 1292,50 1303,80 1292,50 16M 1.07 Tidak
Dec 25 2018 1270,75 1272,50 1274,55 1270,65 0 -2.43 Beli
Dec 26 2018 1303,70 1299,00 1312,80 1298,70 26M 2.59 Tidak
Dec 27 2018 1311,90 1304,00 1312,30 1300,30 21M 0.63 Tidak
Dec 28 2018 1313,70 1311,00 1313,90 1309,20 62M 0.14 Tidak
Dec 31 2018 1312,50 1313,00 1317,10 1311,00 53M -0.09 Beli
Jan 01 2019 1283,35 1284,70 1284,75 1282,85 0 -2.22 Beli
Jan 02 2019 1315,30 1319,90 1320,60 1315,00 80M 2.49 Beli
Jan 03 2019 1326,10 1318,70 1327,00 1318,70 170M 0.82 Tidak
Jan 04 2019 1317,40 1328,00 1330,80 1309,60 92M -0.66 Beli
Jan 07 2019 1321,50 1317,60 1326,80 1317,60 90M 0.31 Tidak
Jan 08 2019 1317,40 1321,60 1321,60 1312,90 101M -0.31 Beli

51
Jan 09 2019 1323,50 1314,30 1326,00 1312,40 58M 0.46 Tidak
Jan 10 2019 1319,20 1325,00 1328,00 1319,10 55M -0.32 Beli
Jan 11 2019 1321,30 1319,30 1325,80 1319,00 53M 0.16 Tidak
Jan 14 2019 1323,30 1323,10 1327,10 1321,00 132M 0.15 Tidak
Jan 15 2019 1319,70 1324,70 1326,00 1318,10 94M -0.27 Beli
Jan 16 2019 1325,10 1321,30 1326,00 1321,30 112M 0.41 Tidak
Jan 17 2019 1323,60 1323,50 1323,50 1319,90 48M -0.11 Tidak
Jan 18 2019 1313,80 1322,00 1322,10 1312,00 29M -0.74 Beli
Jan 20 2019 1282,05 1281,30 1282,70 1280,50 0 -2.42 Tidak
Jan 21 2019 1279,05 1281,95 1282,95 1276,15 0 -0.23 Beli
Jan 22 2019 1314,20 1311,10 1315,80 1308,00 137M 2.75 Tidak
Jan 23 2019 1315,20 1315,00 1316,30 1309,90 92M 0.08 Tidak
Jan 24 2019 1310,80 1314,00 1314,00 1308,50 40M -0.33 Beli
Jan 25 2019 1329,10 1313,10 1333,20 1312,30 36M 1.40 Tidak
Jan 28 2019 1334,50 1331,90 1334,70 1329,30 92M 0.41 Tidak
Jan 29 2019 1340,20 1334,20 1341,70 1333,10 930M 0.43 Tidak
Jan 30 2019 1340,50 1341,30 1353,20 1340,20 191M 0.02 Beli
Jan 31 2019 1350,00 1350,60 1354,60 1347,00 265M 0.71 Beli
Feb 01 2019 1347,10 1349,80 1352,20 1345,90 75M -0.21 Beli
Feb 04 2019 1344,30 1346,40 1346,40 1338,00 53M -0.21 Beli
Feb 05 2019 1344,60 1343,40 1345,70 1340,80 125M 0.02 Tidak
Feb 06 2019 1339,70 1344,90 1344,90 1335,00 77M -0.36 Beli
Feb 07 2019 1339,40 1335,60 1340,70 1332,00 166M -0.02 Tidak
Feb 08 2019 1343,70 1337,90 1344,20 1337,90 33M 0.32 Tidak
Feb 11 2019 1337,00 1342,50 1342,70 1333,00 126M -0.50 Beli
Feb 12 2019 1338,90 1337,00 1342,10 1336,80 107M 0.14 Tidak
Feb 13 2019 1340,10 1338,60 1345,20 1333,20 188M 0.09 Tidak
Feb 14 2019 1338,70 1337,00 1342,00 1329,90 81M -0.10 Tidak
Feb 15 2019 1346,80 1340,40 1350,00 1340,40 85M 0.61 Tidak
Feb 17 2019 1324,25 1324,65 1324,95 1323,85 0 -1.67 Beli
Feb 18 2019 1329,55 1324,35 1330,75 1324,05 0 0.40 Tidak
Feb 19 2019 1369,60 1349,50 1369,60 1349,00 260M 3.01 Tidak
Feb 20 2019 1372,50 1371,30 1374,30 1366,30 167M 0.21 Tidak
Feb 21 2019 1352,40 1367,90 1368,40 1351,20 86M -1.46 Beli
Feb 22 2019 1357,60 1351,30 1359,80 1349,10 99M 0.38 Tidak
Feb 25 2019 1354,20 1357,80 1359,00 1352,40 55M -0.25 Beli
Feb 26 2019 1353,40 1356,10 1357,00 1350,70 17M -0.06 Beli
Feb 27 2019 1346,00 1356,00 1356,00 1344,30 88M -0.55 Beli
Feb 28 2019 1341,00 1347,60 1353,40 1338,90 61M -0.37 Beli
Mar 01 2019 1323,80 1339,10 1340,60 1316,30 218M -1.28 Beli
Mar 04 2019 1311,90 1320,60 1322,30 1308,40 176M -0.90 Beli

52
Mar 05 2019 1309,10 1311,80 1314,10 1306,90 124M -0.21 Beli
Mar 06 2019 1312,20 1314,00 1316,10 1309,60 110M 0.24 Beli
Mar 07 2019 1310,70 1312,40 1312,90 1306,70 236M -0.11 Beli
Mar 08 2019 1324,30 1312,30 1325,70 1312,30 240M 1.04 Tidak
Mar 11 2019 1315,70 1323,50 1323,50 1315,40 136M -0.65 Beli
Mar 12 2019 1322,40 1319,10 1326,30 1319,00 133M 0.51 Tidak
Mar 13 2019 1333,80 1327,20 1336,00 1327,20 200M 0.86 Tidak
Mar 14 2019 1319,40 1332,10 1332,10 1317,20 146M -1.08 Beli
Mar 15 2019 1327,10 1320,30 1330,10 1320,00 88M 0.58 Tidak
Mar 18 2019 1325,80 1323,10 1330,40 1323,00 118M -0.10 Tidak
Mar 19 2019 1330,90 1328,00 1334,70 1328,00 131M 0.38 Tidak
Mar 20 2019 1325,80 1330,90 1341,10 1323,00 296M -0.38 Beli
Mar 21 2019 1331,60 1338,00 1344,20 1327,80 130M 0.44 Beli
Mar 22 2019 1336,50 1333,00 1338,80 1331,70 394M 0.37 Tidak
Mar 25 2019 1346,70 1335,30 1348,40 1335,30 250M 0.76 Tidak
Mar 26 2019 1339,20 1345,20 1345,60 1336,60 183M -0.56 Beli
Mar 27 2019 1334,70 1341,10 1342,80 1331,80 171M -0.34 Beli
Mar 28 2019 1313,30 1332,50 1334,70 1311,40 256M -1.60 Beli
Mar 29 2019 1316,50 1314,00 1322,30 1310,00 83M 0.24 Tidak
Apr 01 2019 1312,40 1314,40 1319,30 1309,50 77M -0.31 Beli
Apr 02 2019 1313,40 1310,70 1314,70 1308,00 141M 0.08 Tidak
Apr 03 2019 1313,30 1314,00 1316,60 1310,60 144M -0.01 Beli
Apr 04 2019 1312,20 1313,10 1316,40 1302,80 229M -0.08 Beli
Apr 05 2019 1313,70 1315,00 1315,00 1306,60 164M 0.11 Beli
Apr 08 2019 1319,90 1313,70 1325,40 1313,70 126M 0.47 Tidak
Apr 09 2019 1326,30 1320,00 1328,30 1320,00 272M 0.48 Tidak
Apr 10 2019 1331,90 1326,50 1332,20 1322,80 208M 0.42 Tidak
Apr 11 2019 1311,30 1329,20 1329,20 1311,00 172M -1.55 Beli
Apr 12 2019 1313,40 1314,20 1316,90 1312,10 237M 0.16 Beli
Apr 15 2019 1309,40 1312,30 1312,30 1303,60 282M -0.30 Beli
Apr 16 2019 1295,20 1309,50 1309,50 1293,90 313M -1.08 Beli
Apr 17 2019 1294,70 1297,40 1299,60 1293,50 223M -0.04 Beli
Apr 18 2019 1294,10 1293,70 1296,90 1291,00 115M -0.05 Tidak
Apr 19 2019 1277,90 1277,90 1277,90 1277,90 0 -1.25 Tidak
Apr 22 2019 1295,80 1295,80 1299,50 1294,10 23M 1.40 Tidak
Apr 23 2019 1291,20 1295,20 1296,20 1286,00 209M -0.36 Beli
Apr 24 2019 1297,40 1290,30 1298,40 1289,10 130M 0.48 Tidak
Apr 25 2019 1297,70 1294,20 1302,50 1293,50 142M 0.02 Tidak
Apr 26 2019 1306,80 1298,00 1308,70 1296,90 205M 0.70 Tidak
Apr 29 2019 1299,40 1306,40 1306,40 1298,00 129M -0.57 Beli
Apr 30 2019 1303,60 1299,80 1305,90 1299,60 206M 0.32 Tidak

53
May 1 2019 1302,20 1302,30 1307,00 1292,90 249M -0.11 Beli
May 2 2019 1289,90 1297,00 1297,20 1285,10 305M -0.94 Beli
May 3 2019 1299,20 1289,60 1301,70 1288,50 193M 0.72 Tidak
May 6 2019 1301,80 1302,00 1305,00 1296,30 234M 0.20 Beli
May 7 2019 1303,60 1300,70 1305,30 1297,20 377M 0.14 Tidak
May 8 2019 1299,50 1303,50 1310,20 1298,40 288M -0.31 Beli
May 9 2019 1303,20 1300,50 1307,00 1298,60 594M 0.28 Tidak
May 10 2019 1305,30 1303,20 1308,00 1302,00 312M 0.16 Tidak
May 13 2019 1319,50 1306,00 1319,80 1300,30 673M 1.09 Tidak
May 14 2019 1313,60 1318,70 1321,70 1312,00 546M -0.45 Beli
May 15 2019 1315,10 1315,00 1318,70 1310,80 438M 0.11 Tidak
May 16 2019 1303,50 1314,50 1316,20 1301,90 525M -0.88 Beli
May 17 2019 1293,00 1304,10 1305,90 1292,00 435M -0.81 Beli
May 20 2019 1294,60 1294,70 1295,80 1291,10 562M 0.12 Beli
May 21 2019 1290,40 1293,70 1293,80 1286,30 454M -0.32 Beli
May 22 2019 1291,40 1291,20 1293,70 1289,20 1147M 0.08 Tidak
May 23 2019 1302,70 1290,20 1304,20 1289,90 698M 0.88 Tidak
May 24 2019 1301,00 1300,40 1302,00 1297,40 332M -0.13 Tidak
May 26 2019 1284,15 1284,20 1285,15 1283,65 0 -1.30 Beli
May 27 2019 1284,95 1284,25 1286,85 1283,25 0 0.06 Tidak
May 28 2019 1294,30 1301,80 1304,00 1292,90 902M 0.73 Beli
May 29 2019 1297,90 1295,90 1302,00 1295,90 741M 0.28 Tidak
May 30 2019 1304,10 1296,20 1305,20 1290,80 212M 0.48 Tidak
May 31 2019 1322,60 1304,40 1323,00 1304,20 720M 1.42 Tidak
Jun 03 2019 1339,30 1323,10 1344,10 1322,70 551M 1.26 Tidak
Jun 04 2019 1340,10 1340,90 1345,20 1336,10 387M 0.06 Beli
Jun 05 2019 1344,90 1341,00 1360,10 1341,00 683M 0.36 Tidak
Jun 06 2019 1354,00 1348,00 1355,30 1343,50 292M 0.68 Tidak
Jun 07 2019 1357,40 1351,40 1363,80 1345,80 687M 0.25 Tidak
Jun 10 2019 1340,70 1351,40 1353,00 1340,30 798M -1.23 Beli
Jun 11 2019 1342,70 1343,50 1344,70 1335,10 658M 0.15 Beli
Jun 12 2019 1348,20 1342,30 1353,60 1341,50 148M 0.41 Tidak
Jun 13 2019 1355,10 1349,00 1358,00 1347,60 618M 0.51 Tidak
Jun 14 2019 1355,90 1357,60 1373,60 1352,80 850M 0.06 Beli
Jun 17 2019 1354,20 1357,10 1358,20 1348,20 480M -0.13 Beli
Jun 18 2019 1362,10 1354,70 1369,60 1353,70 591M 0.58 Tidak
Jun 19 2019 1360,10 1361,40 1377,60 1356,50 619M -0.15 Beli
Jun 20 2019 1408,30 1375,20 1408,90 1373,30 1531M 3.54 Tidak
Jun 21 2019 1411,20 1403,50 1425,50 1398,00 198M 0.21 Tidak
Jun 24 2019 1429,50 1414,70 1435,90 1414,70 880M 1.30 Tidak
Jun 25 2019 1430,10 1433,20 1453,70 1427,00 1367M 0.04 Beli

54
Jun 26 2019 1426,80 1438,00 1438,00 1416,40 775M -0.23 Beli
Jun 27 2019 1423,40 1423,60 1426,00 1412,70 737M -0.24 Beli
Jun 28 2019 1425,10 1424,40 1439,10 1420,10 876M 0.12 Tidak
Jul 01 2019 1400,80 1418,00 1418,00 1396,40 1499M -1.71 Beli
Jul 02 2019 1419,80 1399,50 1435,00 1398,80 3395M 1.36 Tidak
Jul 03 2019 1432,90 1435,50 1452,60 1426,60 1776M 0.92 Beli
Jul 04 2019 1423,55 1421,25 1426,65 1412,85 0 -0.65 Tidak
Jul 05 2019 1412,10 1434,10 1437,50 1400,70 2607M -0.80 Beli
Jul 08 2019 1412,20 1412,40 1421,50 1406,00 4889M 0.01 Beli
Jul 09 2019 1412,80 1409,80 1414,10 1399,80 3122M 0.04 Tidak
Jul 10 2019 1424,90 1412,20 1433,30 1404,40 4799M 0.86 Tidak
Jul 11 2019 1419,30 1433,40 1441,30 1415,50 4727M -0.39 Beli
Jul 12 2019 1424,80 1418,40 1431,40 1417,20 3110M 0.39 Tidak
Jul 15 2019 1426,10 1429,00 1433,90 1421,90 1316M 0.09 Beli
Jul 16 2019 1423,60 1428,80 1432,40 1415,00 2267M -0.18 Beli
Jul 17 2019 1435,90 1420,60 1440,80 1413,70 2614M 0.86 Tidak
Jul 18 2019 1440,80 1441,00 1462,30 1428,10 4123M 0.34 Beli
Jul 19 2019 1439,40 1460,40 1467,00 1434,00 4494M -0.10 Beli
Jul 22 2019 1439,70 1441,70 1443,50 1435,70 3181M 0.02 Beli
Jul 23 2019 1434,50 1438,40 1444,00 1427,50 6345M -0.36 Beli
Jul 24 2019 1436,50 1431,00 1442,90 1429,40 6712M 0.14 Tidak
Jul 25 2019 1427,50 1439,30 1447,00 1423,90 11582M -0.63 Beli
Jul 26 2019 1432,20 1427,40 1437,60 1425,60 11810M 0.33 Tidak
Jul 29 2019 1433,30 1431,90 1440,80 1427,50 17417M 0.08 Tidak
Jul 30 2019 1441,80 1439,50 1445,70 1434,80 25962M 0.59 Tidak
Jul 31 2019 1437,80 1443,70 1447,80 1422,30 41958M -0.28 Beli
Aug 01 2019 1432,40 1425,60 1458,20 1412,10 58756M -0.38 Tidak
Aug 02 2019 1457,50 1457,50 1461,90 1442,50 49305M 1.75 Tidak
Aug 05 2019 1476,50 1451,20 1481,80 1448,80 53419M 1.30 Tidak
Aug 06 2019 1484,20 1481,10 1486,80 1468,20 38192M 0.52 Tidak
Aug 07 2019 1519,60 1486,70 1522,70 1484,30 65155M 2.39 Tidak
Aug 08 2019 1509,50 1512,10 1521,30 1501,60 40296M -0.66 Beli
Aug 09 2019 1508,50 1515,90 1521,10 1506,20 33261M -0.07 Beli
Aug 12 2019 1517,20 1509,20 1531,50 1498,60 35510M 0.58 Tidak
Aug 13 2019 1514,10 1522,30 1546,10 1488,90 61674M -0.20 Beli
Aug 14 2019 1527,80 1513,00 1534,90 1504,50 48419M 0.90 Tidak
Aug 15 2019 1531,20 1526,60 1537,70 1518,30 43612M 0.22 Tidak
Aug 16 2019 1523,60 1533,90 1538,60 1513,90 32246M -0.50 Beli
Aug 19 2019 1511,60 1523,00 1523,60 1503,30 29583M -0.79 Beli
Aug 20 2019 1515,70 1506,30 1518,80 1503,00 24754M 0.27 Tidak
Aug 21 2019 1515,70 1518,40 1518,40 1506,50 24590M 0.00 Beli

55
Aug 22 2019 1508,50 1512,40 1514,60 1502,10 27941M -0.48 Beli
Aug 23 2019 1537,60 1508,80 1540,30 1503,00 47300M 1.93 Tidak
Aug 26 2019 1537,20 1545,40 1565,00 1534,80 41167M -0.03 Beli
Aug 27 2019 1551,80 1537,30 1554,50 1535,30 34705M 0.95 Tidak
Aug 28 2019 1549,10 1551,80 1556,60 1541,40 35391M -0.17 Beli
Aug 29 2019 1536,90 1549,40 1559,80 1528,60 45560M -0.79 Beli
Aug 30 2019 1529,40 1536,90 1541,90 1525,60 3385M -0.49 Beli
Sep 01 2019 1538,05 1535,25 1542,90 1535,25 0 0.57 Tidak
Sep 02 2019 1535,15 1537,95 1540,05 1528,15 0 -0.19 Beli
Sep 03 2019 1555,90 1535,20 1558,90 1528,00 55483M 1.35 Tidak
Sep 04 2019 1560,40 1556,00 1566,20 1542,60 41235M 0.29 Tidak
Sep 05 2019 1525,50 1561,40 1561,90 1514,30 60640M -2.24 Beli
Sep 06 2019 1515,50 1525,60 1536,20 1510,70 54487M -0.66 Beli
Sep 09 2019 1511,10 1516,40 1523,80 1505,50 31752M -0.29 Beli
Sep 10 2019 1499,20 1507,00 1509,10 1492,10 39792M -0.79 Beli
Sep 11 2019 1503,20 1493,90 1506,20 1492,90 30879M 0.27 Tidak
Sep 12 2019 1507,40 1504,90 1532,20 1496,80 49147M 0.28 Tidak
Sep 13 2019 1499,50 1506,50 1516,60 1493,10 36442M -0.52 Beli
Sep 16 2019 1511,50 1513,10 1519,70 1503,40 34961M 0.80 Beli
Sep 17 2019 1513,40 1506,50 1515,00 1500,90 33663M 0.13 Tidak
Sep 18 2019 1515,80 1509,70 1519,50 1490,70 36496M 0.16 Tidak
Sep 19 2019 1506,20 1502,00 1512,10 1496,30 29130M -0.63 Tidak
Sep 20 2019 1515,10 1506,80 1524,50 1505,30 28439M 0.59 Tidak
Sep 23 2019 1531,50 1521,50 1534,40 1505,30 35988M 1.08 Tidak
Sep 24 2019 1540,20 1529,80 1543,30 1517,90 42486M 0.57 Tidak
Sep 25 2019 1512,30 1539,80 1543,30 1507,40 48146M -1.81 Beli
Sep 26 2019 1515,20 1510,90 1542,80 1507,10 37829M 0.19 Tidak
Sep 27 2019 1506,40 1511,80 1519,50 1493,30 45193M -0.58 Beli
Sep 30 2019 1472,90 1501,70 1507,20 1470,50 43971M -2.22 Beli
Oct 01 2019 1489,00 1478,00 1493,50 1465,00 4517M 1.09 Tidak
Oct 02 2019 1507,90 1485,40 1511,40 1480,50 39310M 1.27 Tidak
Oct 03 2019 1513,80 1505,60 1525,80 1501,70 40874M 0.39 Tidak
Oct 04 2019 1512,90 1511,60 1522,20 1501,40 34479M -0.06 Tidak
Oct 07 2019 1504,40 1518,60 1518,80 1493,30 25778M -0.56 Beli
Oct 08 2019 1503,90 1498,70 1515,30 1492,10 37144M -0.03 Tidak
Oct 09 2019 1512,80 1510,90 1518,00 1505,10 28528M 0.59 Tidak
Oct 10 2019 1500,90 1510,80 1522,30 1495,70 41788M -0.79 Beli
Oct 11 2019 1488,70 1498,30 1508,00 1478,00 48596M -0.81 Beli
Oct 14 2019 1497,60 1492,00 1501,50 1487,10 22832M 0.60 Tidak
Oct 15 2019 1483,50 1497,70 1503,00 1480,80 31799M -0.94 Beli
Oct 16 2019 1494,00 1484,80 1495,50 1480,60 36790M 0.71 Tidak

56
Oct 17 2019 1498,30 1494,20 1501,10 1487,00 30567M 0.29 Tidak
Oct 18 2019 1494,10 1495,60 1497,90 1488,30 23255M -0.28 Beli
Oct 21 2019 1488,10 1495,60 1498,70 1484,80 28429M -0.40 Beli
Oct 22 2019 1487,50 1487,50 1492,10 1484,00 20897M -0.04 Tidak
Oct 23 2019 1495,70 1491,10 1499,40 1490,70 24462M 0.55 Tidak
Oct 24 2019 1504,70 1495,10 1506,90 1490,40 30501M 0.60 Tidak
Oct 25 2019 1505,30 1506,40 1520,90 1503,10 36874M 0.04 Beli
Oct 28 2019 1495,80 1507,40 1510,80 1492,30 31813M -0.63 Beli
Oct 29 2019 1490,70 1494,30 1497,10 1485,60 29198M -0.34 Beli
Oct 30 2019 1496,70 1490,50 1499,30 1483,10 35364M 0.40 Tidak
Oct 31 2019 1514,80 1498,80 1516,70 1496,00 3901M 1.21 Tidak
Nov 01 2019 1511,40 1515,10 1519,00 1505,40 3899M -0.22 Beli
Nov 04 2019 1511,10 1516,40 1517,10 1506,50 2620M -0.02 Beli
Nov 05 2019 1483,70 1511,60 1511,90 1480,70 59362M -1.81 Beli
Nov 06 2019 1493,10 1484,30 1495,90 1483,80 31372M 0.63 Tidak
Nov 07 2019 1466,40 1492,10 1493,60 1461,40 67498M -1.79 Beli
Nov 08 2019 1462,90 1469,00 1473,90 1457,00 44707M -0.24 Beli
Nov 11 2019 1457,10 1460,00 1467,40 1448,90 3116M -0.40 Beli
Nov 12 2019 1460,60 1463,00 1468,10 1453,10 9434M 0.24 Beli
Nov 13 2019 1470,20 1463,80 1474,80 1463,80 4367M 0.66 Tidak
Nov 14 2019 1480,20 1471,70 1482,20 1468,70 4348M 0.68 Tidak
Nov 15 2019 1475,40 1478,70 1478,90 1469,80 3113M -0.32 Beli
Nov 18 2019 1478,80 1475,10 1481,10 1463,30 3319M 0.23 Tidak
Nov 19 2019 1481,20 1477,90 1482,60 1471,80 3581M 0.16 Tidak
Nov 20 2019 1481,00 1481,40 1486,00 1473,00 5828M -0.01 Beli
Nov 21 2019 1470,50 1481,30 1482,70 1469,40 7550M -0.71 Beli
Nov 22 2019 1470,50 1470,90 1480,30 1468,10 8155M 0.00 Beli
Nov 25 2019 1463,80 1467,50 1468,90 1460,70 12674M -0.46 Beli
Nov 26 2019 1467,40 1461,30 1470,00 1456,60 28563M 0.25 Tidak
Nov 27 2019 1460,80 1468,30 1469,10 1459,10 23212M -0.45 Beli
Nov 28 2019 1462,25 1463,25 1464,55 1460,75 0 0.10 Beli
Nov 29 2019 1472,70 1461,20 1472,90 1459,10 27234M 0.71 Tidak
Dec 02 2019 1469,20 1470,30 1471,70 1459,80 31658M -0.24 Beli
Dec 03 2019 1484,40 1468,00 1487,70 1465,40 4090M 1.03 Tidak
Dec 04 2019 1480,20 1483,20 1489,90 1476,70 31973M -0.28 Beli
Dec 05 2019 1483,10 1480,00 1485,70 1478,00 2401M 0.20 Tidak
Dec 06 2019 1465,10 1481,00 1485,30 1463,30 31732M -1.21 Beli
Dec 09 2019 1464,90 1464,10 1469,80 1463,00 17722M -0.01 Tidak
Dec 10 2019 1468,10 1466,30 1473,70 1464,20 22883M 0.22 Tidak
Dec 11 2019 1475,00 1468,50 1483,50 1466,90 25173M 0.47 Tidak
Dec 12 2019 1472,30 1479,20 1491,60 1468,20 40986M -0.18 Beli

57
Dec 13 2019 1481,20 1470,80 1482,50 1465,50 35668M 0.60 Tidak
Dec 16 2019 1480,50 1480,00 1484,50 1477,40 16585M -0.05 Tidak
Dec 17 2019 1480,60 1480,60 1484,90 1478,40 17325M 0.01 Tidak
Dec 18 2019 1478,70 1480,40 1483,60 1474,30 19797M -0.13 Beli

58
Lampiran 2. Source Code
Index.php
<?php
include('dashboard/includes/connect.php');

$sql = "SELECT * FROM data_emas ORDER BY id DESC LIMIT 30";


$result = $conn->query($sql);

$sql_last = "SELECT * FROM data_emas ORDER BY id DESC LIMIT 1";


$sql_last_fold = "SELECT * FROM fold ORDER BY id DESC LIMIT 1";
$result_last = $conn->query($sql_last);
$result_last_fold = $conn->query($sql_last_fold);

?>
<!DOCTYPE html>
<html lang="en">

<head>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-
scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">

<title>Prediksi Pembelian Emas</title>

<!-- Bootstrap core CSS -->


<link href="vendor/bootstrap/css/bootstrap.min.css"
rel="stylesheet">
<!-- Custom fonts for this template -->
<link href="vendor/font-awesome/css/font-awesome.min.css"
rel="stylesheet" type="text/css">
<link
href='https://fonts.googleapis.com/css?
family=Open+Sans:300italic,400italic,600italic,700italic,800italic,
400,300,600,700,800'
rel='stylesheet' type='text/css'>
<link
href='https://fonts.googleapis.com/css?
family=Merriweather:400,300,300italic,400italic,700,700italic,900,9
00italic'
rel='stylesheet' type='text/css'>

<!-- Plugin CSS -->


<link href="vendor/magnific-popup/magnific-popup.css"
rel="stylesheet">

<!-- Custom styles for this template -->


<link href="css/creative1.min.css" rel="stylesheet">
<!--.wrapper {

59
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
.wrapper iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}-->
</head>

<body id="page-top">

<!-- Navigation -->


<nav class="navbar navbar-expand-lg navbar-light fixed-top"
id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-
top">Future of Gold</a>
<button class="navbar-toggler navbar-toggler-right"
type="button" data-toggle="collapse"
data-target="#navbarResponsive" aria-
controls="navbarResponsive" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse"
id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link js-scroll-trigger"
href="#beranda">Beranda</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger"
href="#dataemas">Data Emas</a>
</li>
<li class="nav-item">
<a class="nav-link js-scroll-trigger"
href="#hargaemas">Harga Emas</a>
</li>

<?php
if (!isset($_SESSION['username'])) {
echo "<li class='nav-item'>
<a class='nav-link js-scroll-
trigger' href='dashboard'>Login</a>
</li>";
} else {
echo "<li class='nav-item'>
<a class='nav-link js-scroll-

60
trigger' href='dashboard'>Dashboard</a>
</li>";
}
?>

</ul>
</div>
</div>
</nav>
<header id="beranda" class="masthead text-center text-white d-
flex">
<div class="container my-auto">
<div class="row">
<div class="col-lg-10 mx-auto">
<h1 class="text-uppercase">
<strong>Selamat Datang</strong>
</h1>
<hr>
</div>
<div class="col-lg-8 mx-auto">
<p class="text-faded mb-5"
align="center">Future of Gold adalah aplikasi untuk prediksi
keputusan
pembelian Emas. Aplikasi ini dibangun untuk
memenuhi mata kuliah skripsi Prodi S1 Teknik
Informatika, Jurusan Elektro, Fakultas
Teknik, Universitas Negeri Malang.</p>
<a class="btn btn-primary btn-xl js-scroll-
trigger" href="#prediksi">Lihat Prediksi Keputusan
Pembelian Emas</a>
</div>
</div>
</div>
</header>

<div style="padding-top:50px" id="prediksi">


<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h2 class="section-heading">Prediksi Keputusan
Pembelian Emas</h2>
<div class="row justify-content-md-center">
<div class="col-lg-8">

<!-- <button type="button" class="btn


btn-danger">Tidak</button> -->
</div>
</div>
<hr class="my-4">
<p class="text-muted mb-0" align="justify"></p>

<?php
while ($row = $result_last_fold->fetch_assoc())

61
{
echo "
<table class='table'
width='100%'>
<tr>
<td>
<strong>Prediksi 1 </td>
<td>
<strong>Prediksi 2</td>
<td>
<strong>Prediksi 3</td>
<td> <strong>Prediksi 4</td>
<td>
<strong>Prediksi 5</td>
<td>
<strong>Prediksi 6</td>
<td>
<strong>Prediksi 7</td>
<td>
<strong>Prediksi 8</td>
<td>
<strong>Prediksi 9</td>
<td>
<strong>Prediksi 10</td>
</tr>
<tr>
<td>" .
$row["fold1"] . "</td>
<td>" .
$row["fold2"] . "</td>
<td>" .
$row["fold3"] . "</td>
<td>" .
$row["fold4"] . "</td>
<td>" .
$row["fold5"] . "</td>
<td>" .
$row["fold6"] . "</td>
<td>" .
$row["fold7"] . "</td>
<td>" .
$row["fold8"] . "</td>
<td>" .
$row["fold9"] . "</td>
<td>" .
$row["fold10"] . "</td>
</tr>
</table>";

}
?>
<br><br>

62
<?php
while ($row = $result_last->fetch_assoc()) {
echo "
<table class='table'
width='100%'>
<tr>
<td> <strong>
Tanggal ". $row["date"].
" Keputusannya adalah <strong>".
$row ["keputusan"]. "</td>
</tr>
</table>";
}
?>
<br>

</div>
</div>
</div>

<div id="dataemas">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto text-center">
<hr class="my-4">
<h2 class="section-heading">Data Emas</h2>
</div>
</div>
<div class="row">
<div class="col-lg-12 ml-auto text-center">
<table class="table" width="100%">
<tr>
<td>Date</td>
<td>Price</td>
<td>Open</td>
<td>High</td>
<td>Low</td>
<td>Volume</td>
<td>Change %</td>
<td>Keputusan</td>
</tr>
<?php
if ($result->num_rows > 0) {
while ($row = $result-
>fetch_assoc()) {
echo "
<tr>
<td>" .
$row["date"] . "</td>
<td>" .
$row["price"] . "</td>
<td>" .
$row["open"] . "</td>

63
<td>" .
$row["high"] . "</td>
<td>" . $row["low"]
. "</td>
<td>" . $row["vol"]
. "</td>
<td>" .
$row["perubahan"] . "%</td>
<td>" .
$row["keputusan"] . "</td>
</tr>";
}
}
?>
<table>
<br />
</div>
</div>
</div>
</div>

<div id="hargaemas">
<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto text-center">
<hr class="my-4">
<h2 class="section-heading">Harga Emas
Indonesia</h2>
</div>
</div>
<p>Harga Emas dalam 30 Hari Terakhir</p>
<div id="div_chart_antam" align="center"></div>

<script src="http://harga-
emas.org/widget/widget.js"></script>
<script>
v_widget_type = "chart_gold_antam";
v_period = 30; //hari
v_width = 700;
v_height = 400;
he_org_show_chart(v_widget_type, v_period, v_width,
v_height, 'div_chart_antam');
</script>
<br>
<?php
date_default_timezone_set("Asia/Jakarta");
$tgl = date('d-m-Y');
echo "Tanggal " . $tgl;
?>
<br>
<?php
echo "Waktu sekarang " . date("h:i:sa");
?>
</div>

64
</div>
</div>
</table>
</div>

<div class="container">
<div class="row">
<div class="col-lg-8 mx-auto text-center">
<hr class="my-4">
<p class="text-muted mb-0" align="justify"></p>
<footer>
<div class="container">
<div class="row">
<div class="col-md-4">
<span class="copyright">Copyright
&copy; Future of Gold, Inc. 2020</span>
</div>
<div class="col-md-4">
<ul class="list-inline social-
buttons">
<li class="list-inline-item">
<a href="#">
<i class="fa fa-
twitter"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#">
<i class="fa fa-
facebook"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#">
<i class="fa fa-
instagram"></i>
</a>
</li>
<li class="list-inline-item">
<a href="#">
<i class="fa fa-
whatsapp"></i>
</a>
</ul>
</div>
<div class="col-md-4">
<ul class="list-inline quicklinks">
<li class="list-inline-item">
<a href="#">Privacy
Policy</a>
</li>
<li class="list-inline-item">
<a href="#">Terms of
Use</a>

65
</li>
</ul>
</div>
</div>
</div>
</footer>
</div>
</div>
</div>

<!-- Bootstrap core JavaScript -->


<script src="vendor/jquery/jquery.min.js"></script>
<script
src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

<!-- Plugin JavaScript -->


<script src="vendor/jquery-
easing/jquery.easing.min.js"></script>

<!-- Contact form JavaScript -->


<script src="js/jqBootstrapValidation.js"></script>
<script src="js/contact_me.js"></script>

</body>

</html>

/dashboard/index.php
<?php
include('includes/connect.php');

if (!isset($_SESSION['username'])) {
header('Location: login.php');
}

?>
<!DOCTYPE html>
<html lang="en">

<head>
<title>Dashboard | Prediksi Pembelian Emas</title>
<?php include('includes/header.php'); ?>

<div style="padding-top:50px" id="prediksi">


<div class="container">
<div class="row">
<div class="col-lg-6">
<form method="post">
<div class="form-group">
<label for="price">Date</label>
<input type="date" min="2019-10-01"
class="form-control" name="date" id="date">

66
</div>
<div class="form-group">
<label for="price">Price</label>
<input type="number" class="form-
control" id="price" name="price" placeholder="10000">
</div>
<div class="form-group">
<label for="open">Open</label>
<input type="number" class="form-
control" id="open" name="open" placeholder="10000">
</div>
<div class="form-group">
<label for="high">High</label>
<input type="number" class="form-
control" id="high" name="high" placeholder="10000">
</div>
<div class="form-group">
<label for="low">Low</label>
<input type="number" class="form-
control" id="low" name="low" placeholder="10000">
</div>
<div class="form-group">
<label for="volume">Volume</label>
<input type="number" class="form-
control" id="volume" name="volume" placeholder="10000">
</div>
<label for="change">Perubahan (%)</label>
<input type="number" step="0.01"
class="form-control" id="change" name="change"
placeholder="0.00">
<button style="margin:20px" name="save"
type="submit" class="btn-lg btn-primary">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>

<?php
if (isset($_POST['save'])) {
$change = $_POST['change'];
$price = $_POST['price'];
$open = $_POST['open'];
$high = $_POST['high'];
$vol = $_POST['volume'];
$low = $_POST['low'];

// Start - Penentu Keputusan


if ($change > 0.070) {
if ($high > 1297.100) {
if ($change > 0.115) {

67
if ($high > 1521.200) {
$keputusan = "Tidak";
} else {
if ($low > 1503.200) {
$keputusan = "Tidak";
} else {
if ($high > 1469.050) {
$keputusan = "Beli";
} else {
if ($high > 1449.150) {
$keputusan = "tidak";
} else {
if ($high > 1354.950) {
$keputusan =
"Beli";
} else {
if ($change >
0.260) {
$keputusan =
"Beli";
} else {
if ($change >
0.145) {
if
($change > 0.180) {

$keputusan = "Tidak";
} else
{

if ($change > 0.155) {

$keputusan = "Beli";
}
else {

$keputusan = "Tidak";
}
}
} else {

$keputusan = "Beli";
}
}
}
}
}
}
}
} else {
if ($change > 0.085) {
if ($high > 1389.550) {
$keputusan = "Tidak";

68
} else {
$keputusan = "Beli";
}
} else {
$keputusan = "Beli";
}
}
} else {
$keputusan = "Tidak";
}
} else {
if ($high > 1282.825) {
if ($change > -0.140) {
if ($high > 1298.250) {
if ($low > 1502.250) {
$keputusan = "Tidak";
} else {
if ($low > 1490.937) {
$keputusan = "Beli";
} else {
if ($change > 0.050) {
$keputusan = "Tidak";
} else {
if ($change > 0.005) {
if ($high >
1349.450) {
$keputusan =
"Tidak";
} else {
$keputusan =
"Beli";
}
} else {
$keputusan =
"Tidak";
}
}
}
}
} else {
$keputusan = "Beli";
}

} else {
if ($high > 1426.325) {
if ($low > 1413.925) {
$keputusan = "Tidak";
} else {
$keputusan = "Beli";
}
} else {
$keputusan = "Tidak";
}
}

69
} else {
$keputusan = "Tidak";
}
}

// 10 fold model dipisah


// model 1
if ($change > -0.170) {
if ($change > -0.005) {
$keputusan1 = "Tidak";
} else {
$keputusan1 = "Beli";
}
} else {
$keputusan1 = "Beli";
}

// model 2
if ($change > -0.028) {
if ($high > 1351.600) {
if ($high > 1357.200) {
$keputusan2 = "Tidak";
} else {
$keputusan2 = "Beli";
}
} else {
$keputusan2 = "Tidak";
}
} else {
$keputusan2 = "Beli";
}

// model 3
if ($change > -0.105) {
if ($low > 1307.300) {
if ($high > 1317.926) {
$keputusan3 = "Tidak";
} else {
$keputusan3 = "Beli";
}
} else {
$keputusan3 = "Beli";
}
} else {
$keputusan3 = "Beli";
}

// model 4
if ($change > 0.240) {
$keputusan4 = "Tidak";
} else {
if ($change > -0.080) {
$keputusan4 = "Tidak";
} else {

70
$keputusan4 = "Beli";
}
}

// model 5
if ($change > -0.225) {
if ($low > 1347.900) {
$keputusan5 = "Beli";
} else {
if ($high > 1349.400) {
$keputusan5 = "Tidak";
} else {
if ($high > 1344.400) {
$keputusan5 = "Beli";
} else {
if ($low > 1290.950) {
if ($low > 1294.400) {
if ($high >
1323.921) {
$keputusan5 =
"Beli";
} else {
$keputusan5 =
"Tidak";
}
} else {
$keputusan5 =
"Beli";
}
} else {
$keputusan5 = "Tidak";
}
}
}
}
} else {
$keputusan5 = "Beli";
}

// model 6
if ($high > 1441.050) {
$keputusan6 = "Beli";
} else {
if ($change > 0.105) {
$keputusan6 = "Tidak";
} else {
if ($high > 1416.448) {
$keputusan6 = "Beli";
} else {
$keputusan6 = "Tidak";
}
}
}

71
// model 7
if ($change > 0.040) {
$keputusan7 = "Tidak";
} else {
$keputusan7 = "Beli";
}

// model 8
if ($change > -0.030) {
$keputusan8 = "Tidak";
} else {
$keputusan8 = "Beli";
}

// model 9
if ($change > -0.140) {
if ($high > 1516.900) {
if ($change > 0.215) {
$keputusan9 = "Tidak";
} else {
$keputusan9 = "Beli";
}
} else {
$keputusan9 = "Tidak";
}
} else {
$keputusan9 = "Beli";
}

// model 10
if ($change > -0.090) {
if ($high > 1468.950) {
$keputusan10 = "Tidak";
} else {
$keputusan10 = "Beli";
}
} else {
$keputusan10 = "Beli";
}

// echo $keputusan;
$hasil_keputusan =
array($keputusan1,$keputusan2,$keputusan3,$keputusan4,$keputusan5,$
keputusan6,$keputusan7,$keputusan8,$keputusan9,$keputusan10);?>

<?php $data = array_count_values($hasil_keputusan);?>


<?php if(!isset($data['Beli'])):?>
<?php $data['Beli'] = 0;?>
<?php endif;?>

<?php if(!isset($data['Tidak'])):?>
<?php $data['Tidak'] = 0;?>
<?php endif;?>

72
<!-- <?php echo 'jumlah keputusan beli sebanyak ='.
$data['Beli'].'<br>';?>
<?php echo 'jumlah tidak sebanyak ='. $data['Tidak'];?>
-->

<?php if ($data['Tidak'] > $data['Beli'] ):?>


<?php $hasil_keputusan = 'Tidak'; ?>
<?php elseif ($data['Tidak'] == $data['Beli'] ):?>
<?php $hasil_keputusan = ‘Tidak’; ?>
<?php else :?>
<?php $hasil_keputusan = 'Beli'; ?>
<?php endif;?>

<?php

$sql = "INSERT INTO data_emas VALUES (NULL,'" .


$_POST["date"] . "','" . $_POST["price"] . "','" . $_POST["open"] .
"','" . $_POST["high"] . "','" . $_POST["low"] . "','" .
$_POST["volume"] . "','" . $_POST["change"] . "','" .
$hasil_keputusan . "',NULL)";

$sqlFold = "INSERT INTO fold VALUES


(NULL,'$keputusan1','$keputusan2','$keputusan3','$keputusan4','$kep
utusan5','$keputusan6','$keputusan7','$keputusan8','$keputusan9','$
keputusan10')";

if (mysqli_query($conn, $sql)) {
mysqli_query($conn, $sqlFold);
echo "<script>swal('Sukses', 'Data berhasil
ditambahkan', 'success');</script>";
} else {
echo "<script>swal('Gagal', 'Data tidak berhasil
ditambahkan', 'error');</script>";
}
}
?>

</body>

</html>
/dashboard/data.php
<?php
include('includes/connect.php');

if(!isset($_SESSION['username'])){
header('Location: login.php');
}
?>
<!DOCTYPE html>
<html lang="en">

73
<head>
<title>Data | Prediksi Pembelian Emas </title>
<?php include('includes/header.php'); ?>

<div style="padding-top:50px" id="prediksi">


<div class="container">
<div class="row">
<div class="col-lg-12">

<div class="table-responsive">
<table class="table table-striped table-bordered" id="data">
<thead>
<tr>
<th>No</th>
<th>Tanggal</th>
<th>Price</th>
<th>Open</th>
<th>High</th>
<th>Low</th>
<th>Volume</th>
<th>Perubahan</th>
<th>Keputusan</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>

<?php
$no = 0;
$query = mysqli_query($conn, "SELECT * FROM data_emas ORDER
by id DESC LIMIT 30");
while($row = mysqli_fetch_array($query)){
$no++;
?>

<tr>
<td><?= $no ?></td>
<td><?= $row['date'] ?></td>
<td align="left">Rp. <?= number_format($row['price']) ?
></td>
<td align="left">Rp. <?= number_format($row['open']) ?
></td>
<td align="left">Rp. <?= number_format($row['high']) ?
></td>
<td align="left">Rp. <?= number_format($row['low']) ?
></td>
<td align="left"><?= number_format($row['vol']) ?></td>
<td align="left"><?= $row['perubahan'] ?>%</td>
<td align="left"><?= $row['keputusan'] ?></td>
<td>
<a href="../dashboard/delete.php?id_delete=<?=
$row['id'] ?>" class="btn btn-xs btn-danger" onclick="return
confirm('Yakin ingin menghapus data?')" title="Hapus data"><i

74
class="fa fa-trash"></i></a>
<a href="../dashboard/edit.php?id_edit=<?= $row['id']
?>" class="btn btn-xs btn-warning" title="Edit data"><i class="fa
fa-pencil"></i></a>
</td>
</tr>

<?php } ?>

</tbody>
</table>
</div>

</div></div></div></div>

</body>
</html>

/dashboard/delete.php

<?php
include('includes/connect.php');

if(!isset($_SESSION['username'])){
header('Location: login.php');
}

if(isset($_GET['id_delete'])){
$del = mysqli_query($conn, "DELETE FROM data WHERE id =
'$_GET[id_delete]'");
if($del) {
echo "<script>swal('Sukses', 'Data berhasil dihapus',
'success');</script>";
}
}

header('Location: data.php');

?>

/dashboard/edit.php

<?php
include('includes/connect.php');

if(!isset($_SESSION['username'])){
header('Location: login.php');
}

75
$q_edit = mysqli_query($conn, "SELECT * FROM data_emas WHERE
id='$_GET[id_edit]'");
$edit = mysqli_fetch_array($q_edit);

if(isset($_POST['save'])){
$price = $_POST['price'];
$open = $_POST['open'];
$high = $_POST['high'];
$low = $_POST['low'];
$volume = $_POST['volume'];
$change = $_POST['change'];

$save = mysqli_query($conn, "UPDATE data_emas SET price =


'$price', open = '$open', high = '$high', low = '$low', vol =
'$volume', perubahan = '$change', update_on=NULL WHERE id =
'$_GET[id_edit]'");
if($save){
header('Location: data.php');
}
}
?>
<!DOCTYPE html>
<html lang="en">

<head>
<title>Edit | Prediksi Pembelian Emas</title>
<?php include('includes/header.php'); ?>

<div style="padding-top:50px" id="prediksi">


<div class="container">
<div class="row">
<div class="col-lg-12">
<form method="post">
<div class="form-group">
<label for="price">Date</label>
<input type="date" min="2019-10-01" class="form-
control" name="date" id="date" value="<?= $edit['date'] ?>"
disabled>
</div>
<div class="form-group">
<label for="price">Price</label>
<input type="number" class="form-control"
id="price" name="price" placeholder="10000" value="<?=
$edit['price'] ?>">
</div>
<div class="form-group">
<label for="open">Open</label>
<input type="number" class="form-control"
id="open" name="open" placeholder="10000" value="<?=
$edit['open'] ?>">
</div>
<div class="form-group">

76
<label for="high">High</label>
<input type="number" class="form-control"
id="high" name="high" placeholder="10000" value="<?= $edit['high']
?>">
</div>
<div class="form-group">
<label for="low">Low</label>
<input type="number" class="form-control"
id="low" name="low" placeholder="10000" value="<?= $edit['low'] ?
>">
</div>
<div class="form-group">
<label for="volume">Volume</label>
<input type="number" class="form-control"
id="volume" name="volume" placeholder="10000" value="<?=
$edit['vol'] ?>">
</div>
<label for="change">Change %</label>
<input type="number" step="0.01" class="form-
control" id="change" name="change" placeholder="0.00" value="<?=
$edit['perubahan'] ?>">
</div>
<button style="margin-top:30px" name="save"
type="submit" class="btn-lg btn-primary">Submit</button>
</form>
</div></div></div></div>

</body>
</html>

/dashboard/login.php

<?php
// Username : hardi
// Password : malangkota

include('includes/connect.php');

if(isset($_SESSION['username'])){
header('Location: index.php');
}

?>
<!DOCTYPE html>
<html lang="en">

<head>

<title>Login | Prediksi Harga Emas</title>


<?php include('includes/header.php'); ?>

<div style="padding-top:50px" id="prediksi">

77
<div class="container">
<div class="row">
<div class="col-lg-12">
<?php
if(isset($_POST['login'])){
$username = $_POST['username'];
$password = md5($_POST['password']);

$query = mysqli_query($conn, "SELECT * FROM user


WHERE username = '$username' AND password = '$password'");
$row = mysqli_fetch_array($query);

if($row['username'] == $username && $row['password']


== $password){
$_SESSION['username'] = $username;
$_SESSION['level'] = $row['level'];
header('Location: index.php');
} else {
echo "<script>swal('Gagal', 'Username dan password
yang Anda masukkan salah', 'error');</script>";
}
}
?>

<form method="POST">
<div class="form-group">
<input class="form-control" placeholder="Username"
name="username" autocomplete="off" type="text" autofocus=""
required="">
</div>

<div class="form-group">
<input class="form-control" placeholder="Password"
name="password" type="password" required="">
</div>

<div class="form-group">
<input class="btn btn-success btn-block"
name="login" type="submit" value="Login">
</div>
</form>

</div></div></div></div>

</body>
</html>

78
/dashboard/logout.php

<?php

session_start();

unset($_SESSION['username']);
unset($_SESSION['level']);

header('Location: ..');

?>

/dashboard/include/header.php

<!-- Sweat Alert CSS and JS -->


<link rel='stylesheet'
href='https://cdn.jsdelivr.net/npm/sweetalert2@7.12.15/dist/sweetal
ert2.min.css'>
<script
src="https://cdn.jsdelivr.net/npm/sweetalert2@7.12.15/dist/sweetale
rt2.all.min.js"></script>

<!-- Bootstrap core CSS -->


<link href="../vendor/bootstrap/css/bootstrap.min.css"
rel="stylesheet">
<!-- Custom fonts for this template -->
<link href="../vendor/font-awesome/css/font-awesome.min.css"
rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?
family=Open+Sans:300italic,400italic,600italic,700italic,800italic,
400,300,600,700,800' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?
family=Merriweather:400,300,300italic,400italic,700,700italic,900,9
00italic' rel='stylesheet' type='text/css'>

<!-- Plugin CSS -->


<link href="../vendor/magnific-popup/magnific-popup.css"
rel="stylesheet">

<!-- Custom styles for this template -->


<link href="../css/creative.min.css" rel="stylesheet">

<!-- Bootstrap core JavaScript -->


<script src="../vendor/jquery/jquery.min.js"></script>
<script
src="../vendor/bootstrap/js/bootstrap.bundle.min.js"></script>

<!-- Plugin JavaScript -->


<script src="../vendor/jquery-
easing/jquery.easing.min.js"></script>

79
<script
src="../vendor/scrollreveal/scrollreveal.min.js"></script>
<script src="../vendor/magnific-popup/jquery.magnific-
popup.min.js"></script>

<!-- Custom scripts for this template -->

<script src="../js/creative.min.js"></script>
</head>
<body id="page-top">

<nav class="navbar navbar-expand-lg navbar-dark bg-primary">


<a class="navbar-brand" href="#">Dashboard</a>
<button class="navbar-toggler" type="button" data-
toggle="collapse" data-target="#navbarNav" aria-
controls="navbarNav" aria-expanded="false" aria-label="Toggle
navigation">
<span class="navbar-toggler-icon"></span>
</button>
<?php
$currenturl = $_SERVER['REQUEST_URI'];
$currenturl = explode('/', $currenturl);
$currenturl = array_pop($currenturl);

if ($currenturl != "login.php") {
echo "<div class='collapse navbar-collapse' id='navbarNav'>
<ul class='navbar-nav navbar-left'>
<li class='nav-item active'>
<a class='nav-link' href='../dashboard/'><i>Input
Data</i></a>
</li>
<li class='nav-item active'>
<a class='nav-link' href='../dashboard/data.php'><i>Edit
Data</i></a>
</li>
<li class='nav-item active'>
<a class='nav-link' href='..'>Halaman Depan</a>
</li>
<li class='nav-item active'>
<a class='nav-link'
href='../dashboard/logout.php'>Logout</a>
</li>
</ul>
</div>";
}
?>
</nav>

80
/dashboard/include/connect.php

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "fogbaru";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
session_start();
ob_start();
?>

81
RIWAYAT HIDUP

Peneliti bernama Hardi Sartanto, lahir di Sungai Semut 13 Oktober 1998.


Peneliti merupakan anak ketiga atau bungsu dari pasangan Bapak Sulaiman dan Ibu
Hasinah. Peneliti pertama kali menempuh pendidikan formal di SDN 24 Sungai
Semut selama 6 tahun. Selanjutnya peneliti melanjutkan pendidikan di SMP PGRI 01
Pulau Kumbang selama 3 tahun. Peneliti melanjutkan tingkat SMA di SMA Negeri
02 Simpang Hilir dengan mengambil jurusan IPA dan lulus 2016. Peneliti kemudian
melanjutkan pendidikan sarjana di perguruan tinggi Universitas Negeri Malang
dengan program studi S1 Teknik Informatika pada tahun 2016.

82

Anda mungkin juga menyukai