Top Banner
BAB II TINJAUAN REFERENSI 2.1 Teori Umum 2.1.1 Data 2.1.1.1 Pengertian Data Kumpulan informasi terutama berbentuk fakta atau angka yang dikumpulkan untuk diperiksa dan dipertimbangkan serta digunakan untuk mengambil sebuah keputusan atau sebuah informasi dalam bentuk elektronik yang dapat digunakan dan disimpan di komputer. Informasi ini bisa dalam bentuk dokumen, gambar, suara, perangkat lunak, dan tipe-tipe data lain. Data biasanya diolah oleh CPU dan disimpan dalam media penyimpanan Hard Disk di dalam komputer. 2.1.1.2 Pengertian Data Penting Merupakan kumpulan informasi sensitif yang aksesnya dibatasi oleh hukum atau sekelompok orang di dalam suatu organisasi. Untuk mengakses dan menangani informasi sensitif ini dibutuhkan izin keamanan formal dari pihak terkait. Ada berbagai macam tingkatan sensitivitas dan 7
57

library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Nov 24, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

BAB II

TINJAUAN REFERENSI

2.1 Teori Umum

2.1.1 Data

2.1.1.1 Pengertian Data

Kumpulan informasi terutama berbentuk fakta atau

angka yang dikumpulkan untuk diperiksa dan

dipertimbangkan serta digunakan untuk mengambil sebuah

keputusan atau sebuah informasi dalam bentuk elektronik yang

dapat digunakan dan disimpan di komputer.

Informasi ini bisa dalam bentuk dokumen, gambar,

suara, perangkat lunak, dan tipe-tipe data lain. Data biasanya

diolah oleh CPU dan disimpan dalam media penyimpanan

Hard Disk di dalam komputer.

2.1.1.2 Pengertian Data Penting

Merupakan kumpulan informasi sensitif yang aksesnya

dibatasi oleh hukum atau sekelompok orang di dalam suatu

organisasi. Untuk mengakses dan menangani informasi sensitif

ini dibutuhkan izin keamanan formal dari pihak terkait. Ada

berbagai macam tingkatan sensitivitas dan izin tersendiri untuk

mengakses masing-masing tingkatan informasi. Sistem hirarki

untuk informasi sensitif ini digunakan oleh hampir seluruh

pemerintahan di dunia untuk menangani informasi sensitif

yang ada. Teknik untuk menggolongkan informasi sensitif ini

disebut klasifikasi data.

7

Page 2: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Tabel 2.1 Tingkatan Akses Informasi Sensitif

Tingkatan Pengertian

Top Secret Merupakan tingkatan paling tinggi.

Dokumen yang diberikan label Top

Secret merupakan dokumen yang dapat

membuat kerusakan luar biasa jika

sampai diakses oleh pihak yang tidak

berwenang

Secret Merupakan dokumen-dokumen yang

jika sampai diakses oleh pihak tidak

berwenang maka dapat menimbulkan

kerusakan serius pada sebuah

organisasi, kebanyakan data penting

digolongkan pada tingkatan ini

Confidential Merupakan tingkatan paling rendah

pada dokumen-dokumen rahasia, akan

tetapi jika diakses oleh pihak tidak

berwenang dapat menimbulkan

kerusakan

Page 3: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Public Trust Bukan merupakan tingkatan izin

keamanan untuk mengakses suatu

dokumen. Akan tetapi dokumen yang

dilabelkan Public Trust masih

mengandung informasi sensitif dan

pihak-pihak yang dapat mengaksesnya

harus menjalani pemeriksaan latar

belakang terlebih dahulu

Unclassified Secara teknis, dokumen yang diberikan

label Unclassified bukan merupakan

klasifikasi keamanan, akan tetapi

merupakan pilihan default untuk sebuah

dokumen yang dapat dirilis ke pihak-

pihak walaupun tanpa izin keamanan

2.1.1.3 Pengertian Data Umum

Semua informasi tanpa peduli bentuk dan formatnya

yang dibuka, disebarluaskan, dan dibuat tersedia untuk diakses

oleh publik. Data yang dapat diklasifikasikan sebagai data

publik merupakan data yang jika diakses, diubah, dan dirusak

oleh pihak lain akan mengakibatkan kerugian yang sangat

tidak signifikan. (Public Information Law and Legal

Definition, 2018; Information Security Office, 2018)

9

Page 4: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.1.2 Aturan Dasar Keamanan Informasi

Dalam dunia keamanan siber terdapat 3 serangkai dasar yang

menjadi pusat untuk keamanan informasi, 3 serangkai tersebut adalah

confidentiality, integrity, dan availability.

2.1.2.1 Confidentiality

Confidentiality merupakan aspek yang membatasi

akses terhadap informasi dimana hanya pihak-pihak yang

berwenang saja yang dapat mengakses suatu informasi agar

tidak terjadi kebocoran informasi penting. (Andress, 2014, p.

240; Beckers, 2015; Boritz, 2011; Loukas & Oke, 2010)

2.1.2.2 Integrity

Integrity merupakan aspek yang merujuk kepada

tingkat kepercayaan kepada suatu informasi yang diterima.

Tingkatan kepercayaan informasi berdasarkan akurasi serta

konsistensi terhadap suatu informasi yang sudah diterima.

Aspek ini memproteksi jika suatu informasi yang diterima

telah dimodifikasi oleh pihak-pihak yang tidak berwenang.

(Andress, 2014, p. 240; Beckers, 2015; Boritz, 2011; Loukas

& Oke, 2010)

2.1.2.3 Availability

Availability merupakan aspek yang merujuk kepada

jika informasi dibutuhkan oleh pihak-pihak yang berwenang

maka informasi tersebut harus selalu tersedia secara cepat.

(Andress, 2014, p. 240; Beckers, 2015; Boritz, 2011; Loukas

& Oke, 2010)

2.2 Teknik Pengumpulan Data

Penelitian ini menggunakan 3 teknik pengumpulan data yang saling

berkaitan satu sama lain, ketiga teknik tersebut merupakan web crawling, web

scraping dan google dorking.

Page 5: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.2.1 Web Crawling

Web Crawling merupakan suatu proses dimana sebuah

program berjalan memasuki sebuah halaman website lalu mengambil

seluruh link di dalam website tersebut dan memasukkan seluruh link

tersebut ke dalam antrian untuk dilakukan proses web crawling pada

setiap halaman tersebut. Program ini disebut juga dengan nama

crawler, sedangkan antrian link disebut juga sebagai seed (Olston &

Marc, 2010). Web crawler umumnya merupakan sebuah komponen

utama dalam sebuah search engine atau mesin pencarian. Pada

penelitian ini, web crawling digunakan untuk mengumpulkan link-link

artikel yang diambil dari halaman indeks berita sebuah situs berita

online. Terdapat banyak algoritma yang dapat digunakan pada teknik

web crawling, algoritma-algoritma tersebut mengacu pada algoritma

dasar dari web crawling, yaitu (Kausar, Dhaka, & Singh, 2015, pp. 1-

7):

1. Memilih salah satu URL dari seed (kumpulan URL).

2. Mengakses halaman URL yang terpilih.

3. Mengambil seluruh link yang berada pada halaman tersebut.

4. Memasukkan seluruh link tersebut kedalam seed.

5. Memberi tanda URL terpilih dari seed bahwa URL telah

dikunjungi.

6. Kembali ke langkah pertama.

Dari algoritma tersebut, dapat kita simpulkan bahwa tugas

utama sebuah web crawler adalah mengumpulkan link-link dari

seluruh halaman. Pada penelitian ini seluruh link tersebut akan

diproses lebih lanjut pada teknik pengumpulan data berikutnya yaitu

web scraping.

Terdapat beberapa tantangan dalam melakukan web crawling,

tantangan- tantangan tersebut merupakan (Ahuja, Bal, & Varnica,

2014, pp. 132-137):

11

Page 6: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

1. Scale, perkembangan sebuah website saat ini terus meningkat,

crawler harus mampu mengikuti perkembangan dari sebuah

website secara menyeluruh dengan performa yang baik.

2. Content Selection Tradeoff, tujuan utama sebuah crawler adalah

untuk memperoleh konten dengan nilai yang tinggi dengan waktu

yang cepat dan mengumpulkan informasi yang relevan, crawler

harus mampu mengabaikan konten-konten yang tidak relevan

dalam pengumpulan data.

3. Social Obligations, crawler harus mengkuti mekanisme keamanan

agar tidak dianggap spam atau dianggap melakukan serangan

terhadap suatu website.

4. Adversaries, terdapat beberapa konten dari sebuah website yang

menampilkan konten berupa iklan, crawler harus mampu

menghindari konten-konten tersebut.

5. Copyright, pada dasarnya crawler melakukan hal yang ilegal,

karena secara permanen mengambil sebuah data atau material dari

sebuah halaman dan menyimpannya. Crawler harus mampu

menangani masalah copyright dari sebuah halaman website.

6. Privacy, crawler harus mampu mengatasi masalah privasi,

terdapat beberapa aturan dimana masalah privasi akan terjadi

apabila beberapa data digunakan dengan cara tertentu.

7. Cost, crawler bisa saja menimbulkan masalah dari segi bandwidth

untuk sebuah website karena mengunjungi halaman website

tersebut terus menerus secara berkala. Crawler harus mampu

memberikan performa terbaik dalam melakukan crawling di

sebuah website.

Dari beberapa masalah di atas, masalah utama yang harus

diperhatikan pada penelitian ini adalah bagaimana mengumpulkan

seluruh link yang relevan untuk digunakan pada teknik scraping dan

bagaimana melakukan pengumpulan data tersebut dengan

menggunakan performa yang terbaik.

Page 7: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.2.2 Web Scraping

Web scraping merupakan suatu proses dimana sebuah program

berjalan mengambil seluruh halaman dari sebuah URL yang

diberikan, program tersebut disebut juga dengan web scraper atau

scraper (Schrenk, 2012, p. 37). Web scraper mengunjungi link hasil

dari web crawling, seluruh halaman yang diambil dari hasil web

scraping nantinya akan diproses untuk dilakukan ekstraksi informasi

yang dibutuhkan dari halaman tersebut. Proses ekstraksi informasi ini

disebut juga dengan proses parsing. Dalam proses parsing sebuah

halaman, beberapa komponen yang dianggap tidak penting akan

dibuang, lalu proses parsing akan mencari elemen-elemen dari

halaman yang menampung informasi yang dibutuhkan dan

menyimpan informasi tersebut kedalam memory.

2.2.3 Google Dorking

Google Dorking adalah sebuah teknik yang memanfaatkan

search engine Google. Dengan memberikan query khusus, pengguna

mendapatkan hasil yang lebih terarah dari response search engine

Google. Penulis menggunakan teknik ini untuk membuat seed untuk

di scrape. (Toffalini, Abbà, Carra, & Balzarotti, 2016, p. 3)

2.3 Data Loss Prevention

2.3.1 Pengertian Data Loss Prevention

Data Loss Prevention merupakan kumpulan teknologi,

produk, dan teknik yang dirancang untuk mencegah informasi sensitif

keluar dari suatu organisasi.

Data Loss Prevention juga seringkali digunakan sebagai salah

satu teknik untuk mencegah terjadinya Data Breach atau kebocoran

data.

2.3.2 Pengertian Data Breach

Data Breach adalah sebuah insiden dimana informasi dicuri

atau diambil tanpa sepengetahuan atau otorisasi dari pemilik sistem.

13

Page 8: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Data yang dicuri mungkin berisi informasi sensitif, hak milik, atau

informasi penting seperti nomor kartu kredit, data konsumen, rahasia

dagang, atau rahasia negara.

2.4 Data Mining dan Text Mining

Terdapat beberapa konsep yang perlu dipahami dalam penelitian ini,

yaitu konsep mengenai data mining dan text mining. Konsep ini merupakan

konsep dasar dalam proses klasifikasi dan pemrosesan teks yang nantinya

akan diimplementasikan.

2.4.1 Data Mining

Data mining merupakan ekstraksi informasi dari data yang

disimpan dalam database (Han, Kamber, & Pei, 2012, p. 33). Dapat

disimpulkan bahwa data mining merupakan proses menganilisis data

dalam jumlah yang banyak untuk mendapatkan informasi yang

berguna. Menurut Roiger, data mining menggunakan beberapa

algorima untuk mengidentifikasi sebuah trend dan pattern dari sebuah

kumpulan data, proses ini disebut juga proses learning (Roiger, 2016,

p. 127). Roiger juga menjelaskan bahwa terdapat 4 tingkatan dalam

proses learning yang digunakan untuk membedakan kesulitan dalam

proses learning, tingkatan tersebut adalah:

1. Facts (fakta), merupakan pernyataan sederhana tentang kebenaran

data.

2. Concepts (konsep), merupakan sekumpulan objek, simbol, atau

kejadian yang digabung menjadi satu karena memiliki

karakteristik yang sama.

3. Procedures (prosedur), merupakan langkah-langkah dari sebuah

aksi untuk mencapai sebuah tujuan.

4. Principles (prinsip), merupakan representasi dari tingkatan

tertinggi sebuah proses learning, prinsip merupakan pernyataan

kebenaran atau aturan yang memiliki dasar dari kebenaran data

lainnya.

Page 9: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Dalam implementasi data mining terdapat beberapa proses yang

dilakukan untuk mendapatkan informasi yang relevan dari kumpulan

data (Witten, Frank, Hall, & Pal, 2016, p. 3), proses tersebut

merupakan:

1. Business Understanding, menentukan kebutuhan dan objektif

yang akan diproses menggunakan data mining. Selain itu, pada

proses ini jenis dan bentuk data yang dihasilkan juga harus

ditentukan.

2. Data Understanding, merupakan proses inisialisasi kumpulan data

yang cocok dan tidak cocok untuk diproses pada proses

selanjutnya.

3. Data Preparation, Modeling and Evaluating, merupakan

pemrosesan data mentah yang akan digunakan dan dijadikan

model data. Beberapa proses juga terjadi pada proses ini, seperti

iterasi dan transformasi data.

4. Evaluation, merupakan proses evaluasi hasil dari proses

sebelumnya. Proses ini juga menandakan proses data mining telah

berhasil dilakukan.

Inti dari data mining terjadi pada proses data preparation,

modeling dan evaluating. Pada proses inilah ekstraksi informasi

dilakukan. Proses ekstraksi informasi memiliki beberapa sub-proses,

yaitu (Han, Kamber, & Pei, 2012, p. 33):

1. Data Cleaning, merupakan proses menghilangkan noise dan data

yang tidak relevan, serta data yang tidak konsisten.

2. Data Integration, merupakan penggabungan data dari berbagai

data ke dalam suatu kumpulan data baru.

3. Data Selection, merupakan seleksi data pada suatu kumpulan data

yang akan dianalisis, karena tidak semua data dapat dianalisis.

4. Data Transformation, merupakan proses pengubahan atau

penggabungan data kedalam format data yang sesuai atau format

data yang sama.

15

Page 10: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

5. Application of Techniques, merupakan proses utama dimana

terdapat suatu metode yang diterapkan untuk menemukan

informasi dari kumpulan data.

6. Pattern Evaluation, merupakan proses untuk mengidentifikasi

pola yang direpresentasikan ke dalam knowledge base.

7. Knowledge Presentation, merupakan visualisasi dan penyajian

informasi yang diperoleh dari kumpulan data.

2.4.2 Text Mining

Text mining merupakan proses ekstraksi informasi terhadap

dokumen teks atau kumpulan teks untuk menghasilkan pola atau

informasi yang berguna (Witten, Frank, Hall, & Pal, 2016, p. 4). Text

mining umumnya digunakan pada pemodelan dokumen, visualisasi

dokumen dan analisa tren.

2.4.3 Bag of Words

Bag of Words (BoW) merupakan sebuah model yang

digunakan pada Natural Language Processing (NLP) dimana model

ini menghitung jumlah kemunculan suatu kata pada sebuah dokumen

berdasarkan corpus atau kumpulan kata yang telah ditentukan

(Manning, Raghavan, & Schütze, 2009, p. 154)..

2.5 Artificial Intelligence

2.5.1 Pengertian Artificial Intelligence

Kecerdasan buatan yang biasa disingkat AI (Artificial

Intelligence) merupakan ilmu tentang bagaimana membangun suatu

sistem komputer yang menunjukkan kecerdasan dalam berbagai cara.

AI merupakan area penelitian yang dinamis dalam topik riset ilmu

komputer. Sampai saat ini, telah banyak penelitian mengenai

perkembangan AI diantaranya neural network, evolutionary

computing, machine learning, natural language processing, dan

object-oriented programming. (Teahan, 2010, p. 13)

Page 11: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.5.2 Pengertian Machine Learning

Machine Learning didefinisikan sebagai bidang studi yang

memberikan komputer kemampuan untuk belajar tanpa diprogram

secara eksplisit. Arthur Samuel terkenal dengan program bermain

caturnya.

Definisi yang lebih formal diberikan oleh Tom Mitchell,

program komputer dikatakan belajar dari pengalaman (E)

berhubungan dengan beberapa tugas (T) dan beberapa ukuran kinerja

(P). Jika kinerjanya pada T, yang diukur dengan P, meningkat dengan

pengalaman E, maka program tersebut disebut program Machine

Learning. (Saad, 2016, p. 14)

2.5.3 Pengertian Klasifikasi

“Klasifikasi diartikan sebagai proses untuk memperoleh model

ataupun fungsi yang melukiskan dan membedakan kelas data maupun

konsep yang mempunyai tujuan memprediksikan kelas untuk data

yang tidak dikenali kelasnya” (Han, Kamber, & Pei, 2012, p. 327).

“Ada banyak teknik yang dapat dilakukan untuk mengklasifikasikan

data, diantaranya adalah decision tree, naive bayesian classifier,

bayesian belief network dan rule-based classifier” (Han, Kamber, &

Pei, 2012, p. 327). Setiap algoritma klasifikasi tersebut memiliki

kelebihan dan kekurangan, tetapi prinsip dari masing-masing

algoritma tersebut sama, yaitu melakukan suatu pelatihan sehingga di

akhir pelatihan model dapat memprediksi setiap vector masukan ke

label kelas output dengan tepat.

2.5.4 Pengertian Training Set

Training Set adalah sekumpulan data dari dataset yang

digunakan untuk melatih model. Dengan demikian, jika training set

diberi label dengan benar maka model dapat belajar dari training set

yang telah diberikan.

17

Page 12: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.5.5 Pengertian Test Set

Test set adalah sekumpulan data dari dataset yang digunakan

untuk memverifikasi hasil dari training set. Hasil dari test set akan

menjadi penilaian apakah proses machine learning telah berjalan

dengan baik atau tidak.

2.5.6 Pengertian Artificial Neural Network

Artificial Neural Network (ANN) merupakan sebuah sistem

model matematika yang meniru persis sistem neuron biologis

makhluk hidup (Russell & Norvig, 2009, p. 727), seperti halnya

neuron biologis, neuron pada model matematika ini memiliki 3

komponen utama, yaitu:

1. Input Signal yang merepresentasikan dendrites pada neuron

biologis, pada model matematika komponen ini bertujuan sebagai

input signal dimana data seperti feature atau variables masuk

melalui komponen ini.

2. Activation Function yang merepresentasikan cell body pada

neuron biologis, komponen ini berfungsi untuk melakukan proses

komputasi berdasarkan input yang diterima.

3. Output Signal yang merepresentasikan axon pada neuron biologis,

komponen ini memberikan hasil dari proses komputasi dari

komponen cell body yang akan diterima oleh input signal pada

node atau neuron berikutnya.

Saat ini ANN dinilai dapat memecahkan beberapa tantangan

seperti pattern classification, clustering, modeling, forecasting,

optimization, association, dan control. ANN terdiri dari 2 model yaitu

single-input neuron dan multiple-input neuron (Abambres & Ferreira,

2018, p. 9):

1. Single-Input Neuron

Single-input neuron merupakan skalar masukan yang

dikalikan dengan scalar bobot w yang menghasilkan wp, kemudian

dikirim ke linear combination. Selain itu, terdapat juga masukan

bias b yang dikirim langsung ke linear combination, hasil dari

Page 13: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

linear combination n merupakan masukan dari transfer function f

atau fungsi aktifasi f, yang menghasilkan a.

Gambar 2.1 Model Single-Input Neuron.

2. Multiple-Input Neuron

Multiple-input neuron pada dasaranya sama dengan single-

input neuron, namun model ini memiliki lebih dari 1 input,

masing-masing input direpresentasikan sebagai

dan masing masing weight pada setiap input direpresentasikan

sebagai .

Gambar 2.2 Arsitektur Multi-Layer.

19

Page 14: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Dari kedua model di atas, dapat kita simpulkan neural network

memilki beberapa elemen inti, yaitu:

1. Input (p), merupakan features yang akan diproses pada

linear combination.

2. Weight (w), merupakan indikator keeratan antar neuron.

3. Bias (b), merupakan konstan input sama seperti weight.

4. Linear Combination (), merupakan proses kalkulasi p

dengan w dan b.

5. Activation Function (f), mengandung persamaan yang

menghasilkan output a.

2.5.7 Komponen Neural Network

Neural network terdiri dari kumpulan beberapa neuron unit

yang saling terhubung. Masing-masing neuron mentransformasikan

informasi yang telah diterima menuju neuron lain melalui sambungan

atau link. Pada neural network, hubungan ini disebut dengan bobot.

Gambar 2.3 menunjukkan struktur neuron pada neural network.

Informasi masukan bagi neuron, atau input, dikirim ke neuron dengan

bobot kedatangan tertentu. Input ini diproses dengan suatu fungsi

yang menjumlahkan nilai berbobot dari semua input yang datang.

Hasil penjumlahan kemudian dikenakan fungsi aktivasi untuk

menentukan apakah neuron tersebut akan diaktifkan atau tidak.

Biasanya hal ini dilakukan dengan cara membandingkan dengan

threshold atau ambang nilai tertentu. Apabila neuron tersebut

diaktifkan, maka neuron tersebut mengirimkan output melalui bobot-

bobotnya ke semua neuron selanjutnya yang berhubungan.

Page 15: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.3 Satu unit neuron pada JST

2.5.8 Fungsi Aktivasi

Fungsi aktivasi merupakan sebuah fungsi yang menentukan

aktif tidaknya neuron. Fungsi yang dipakai bisa berupa fungsi linear

dengan nilai ambang atau ReLu, atau fungsi non-linear seperti fungsi

Sigmoid dan fungsi Tanh.

2.5.8.1 Fungsi ReLu (Rectified Linear Unit)

Fungsi yang digunakan untuk aktivasi pada ReLu

adalah sebagaimana ditunjukkan pada Gambar 2.4. Secara

umum, fungsi ReLu dinyatakan dalam persamaaan (2.1). Dari

gambar dan persamaan tersebut, maka nilai output dari neuron

bisa dinyatakan sebagai 0 jika input nya adalah negatif. Jika

nilai input dari fungsi aktivasi adalah positif, maka output dari

neuron adalah nilai input aktivasi itu sendiri.

(2.1)

21

Page 16: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.4 Fungsi Aktivasi ReLu

2.5.8.2 Fungsi Sigmoid

Fungsi sigmoid adalah fungsi non-linear yang

mempunyai persamaan matematika sebagaimana ditunjukkan

pada persamaan (2.2). Masukan untuk fungsi aktivasi tersebut

adalah nilai real dan keluaran dari fungsi tersebut adalah nilai

antara 0 dan 1. Jika masukannya sangat negatif, maka keluaran

yang didapatkan adalah 0, sedangkan jika masukan sangat

positif maka nilai keluaran yang didapatkan adalah 1. Nilai

masukan dan keluaran dari fungsi sigmoid dapat dinyatakan

dalam grafik pada Gambar 2.5.

(2.2)

Page 17: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.5 Fungsi Aktivasi Sigmoid

Fungsi sigmoid mempunyai dua kekurangan utama,

yang pertama yaitu bahwa fungsi ini mempunyai gradien

mendekati nilai nol jika nilai input sangat negatif atau sangat

positif. Hal ini tidak diharapkan karena nilai gradien

digunakan dalam proses pelatihan. Kelemahan kedua adalah

bahwa fungsi ini tidak terpusat pada nilai 0 (zero centered).

2.5.8.3 Fungsi Tanh

Fungsi Tanh mengubah masukan yang bernilai real

menjadi nilai antara -1 dan 1 sebagaimana ditunjukkan pada

Gambar 2.6. Pada gambar tersebut, ditunjukkan bahwa nilai

yang sangat negatif diubah menjadi nilai -1 dan nilai yang

sangat positif diubah menjadi nilai 1. Fungsi ini merupakan

fungsi yang nilainya terpusat pada nilai 0 sehingga lebih

dipilih dibandingkan dengan fungsi sigmoid. Persamaan untuk

fungsi Tanh ditunjukkan pada Persamaan (2.3), dimana nilai

fungsi Tanh merupakan dua kali nilai sigmoid dikurangi satu.

(2.3)

23

Page 18: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.6 Fungsi Aktivasi Tanh

2.5.8.4 Fungsi Softmax

Softmax merupakan bentuk lain dari algoritma Logistic

Regression yang dapat kita gunakan untuk pengklasifikasian.

Standar klasifikasi yang biasa dilakukan oleh algoritma

Logistic Regression adalah tugas untuk klasifikasi kelas biner.

Pada Softmax bentuk persamaan yang muncul adalah sebagai

berikut.

(2.4)

Notasi S menunjukkan hasil fungsi untuk setiap

elemen ke-j pada vektor keluarankelas. Argumen Yi adalah

hipotesis yang diberikan oleh model pelatihan agar dapat

diklasifikasi oleh fungsi Softmax.

Softmax juga memberikan hasil yang lebih intuitif dan

juga memiliki interpretasi probabilistik yang lebih baik

dibanding algoritma klasifikasi lainya. Softmax memungkinkan

kita untuk menghitung probabilitas untuk semua label. Dari

label yang ada akan diambil sebuah vektornilai bernilai riil dan

merubahnya menjadi vektor dengan nilai antara nol dan satu

yang bila semua dijumlah akan bernilai satu.

Page 19: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

(Goodfellow, Bengio, & Courville, 2016, p. 96)

2.5.9 Fungsi Loss

Fungsi Loss merupakan teknik untuk mengukur suatu kejadian

sebuah variabel menjadi nilai riil yang berhubungan dengan sebuah

cost. Fungsi Loss digunakan sebagai teknik pengukuran perfoma

sebuah model yang telah dibuat serta inkonsistensi dari hasil prediksi

model tersebut. (Murugan, 2018, p. 6)

2.5.9.1 Cross-Entropy

Fungsi Loss yang paling sering digunakan adalah

fungsi Loss Cross-Entropy. Fungsi ini menghitung seberapa

jauh hasil prediksi model yang telah dibuat dengan hasil

sebenarnya. Hasil yang telah diprediksi akan dimasukkan

kedalam rumus Cross-Entropy lalu hasilnya dapat

dibandingkan dengan hasil sebenarnya. Semakin rendah hasil

perhitungan Cross-Entropy maka semakin baik model yang

telah dibuat.

(2.5)

2.5.10 Arsitektur Artificial Neural Network

Terdapat 3 arsitektur utama dalam ANN, ketiga arsitektur

tersebut merupakan (Hagan, Demuth, Beale, & Jesús, 2014, p. 63):

a. Single-Layer Feedforward

Merupakan bentuk sederhana dari neural network, dimana

terdapat input layer yang secara langsung mengarah ke output

layer dan tidak terhubung sebaliknya, seperti yang terdapat pada

Gambar 2.7.

25

Page 20: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.7 Arsitektur Single-Layer Feedforward (Hagan, Demuth, Beale, & Jesús, 2014, p. 63)

b. Multi-Layer Feedforward

Multi-layer feedforward pada dasarnya sama dengan single-

layer feedforward, namun multi-layer memiliki hidden layer

yang merupakan kumpulan neuron atau node yang terhubung di

antara input layer dan output layer seperti pada Gambar 2.8.

Gambar 2.8 Arsitektur Multi-Layer Feedforward. (Hagan, Demuth, Beale, & Jesús, 2014, p. 65)

Page 21: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

c. Recurrent Networks

Recurrent networks memiliki sifat yang sama dengan

kelas feedforward network, syarat utama pada recurrent

network ini adalah setidaknya ada 1 feedback loop seperti

yang digambarkan pada Gambar 2.9.

Penggunaan arsitektur bergantung pada masalah yang

akan diselesaikan. Terdapat beberapa spesifikasi yang dapat

membantu dalam menetapkan arsitektur (Hagan, Demuth,

Beale, & Jesús, 2014, p. 67), yang pertama adalah jumlah dari

input sama dengan jumlah dari problem input, kedua adalah

jumlah neuron pada output layer sama dengan jumlah output,

dan yang ketiga adalah aktifasi fungsi yang dipilih setidaknya

ditentukan dari problem output.

2.5.11 Neural Network Layer

Neural Network Layer merupakan jaringan saraf tiruan yang

memiliki satu lapisan input, satu atau lebih lapisan tersembunyi

(hidden) dan satu lapisan output. Setiap lapisan memiliki satu atau

lebih neuron tiruan yang memiliki fungsi aktifasi yang berbeda sesuai

dengan tujuan lapisan dalam jaringan tersebut. (Patterson & Gibson,

2017, p. 68)

Sedangkan menurut (Haykin, 2009, p. 132). Neural Network

Layer merupakan generalisasi dari struktur SLP dengan adanya

27

Gambar 2.9 Arsitektur Recurrent Neural Network. (Hagan, Demuth, Beale, & Jesús, 2014, p. 67)

Page 22: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

lapisan tersembunyi yang berarti secara tidak langsung tidak terlihat

baik dalam lapisan input maupun lapisan output. Fungsi dari lapisan

tersembunyi ini adalah untuk ikut campur dalam input-an luar dan

hasil dari jaringan saraf tiruan tersebut dalam berbagai cara yang

bermanfaat. Pada gambar 2.10 terdapat 15 buah node input, 4 buah

node tersembunyi dan 2 buah node output, jaringan saraf tiruan

tersebut adalah contoh dari Neural Network Layer.

Gambar 2.10 Contoh Neural Network Layer. (Haykin, 2009, p. 132)

\

a. Input Layer

Page 23: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Pada input layer, input document yang sudah di extract

text-nya akan di ambil beberapa informasi yang akan

menghasilkan sebuah nilai.

b. Hidden Layer

Nilai yang di hasilkan oleh input layer akan masuk

kedalam hidden layer dan akan di proses oleh hidden layer

dengan melipat gandakan nilai-nilai yang terkirim ke

hidden layer. Setelah itu hidden layer akan mengubah

nilai-nilai tersebut menjadi satu nilai.

c. Output Layer

Output layer akan menerima nilai yang sudah di proses

oleh hidden layer dan akan di lanjutkan ke proses

selanjutnya.

Neural network dapat mempunyai jumlah layer yang tidak

terbatas dan jumlah node pada setiap layer.

2.5.12 Algoritma Neural Network

Terdapat banyak algoritma yang dapat digunakan dalam

penerapan ANN, berikut adalah beberapa algoritma yang sering

digunakan:

a. Rosenblatt’s Perceptron Algorithm

Algoritma ini merupakan algoritma pertama yang ada pada

neural network, ditemukan oleh Rosenblatt pada tahun 1958.

Algoritma ini digunakan untuk memecahkan masalah linearly

separable, algoritma ini merupakan algoritma yang digunakan

untuk arsitektur single-layer feedforward.

b. Least Mean Square Algorithm

Algoritma ini dikembangkan oleh Widrow dan Hoff pada

tahun 1960. Algoritma ini merupakan algoritma pertama yang

menggunakan adaptive-filtering untuk pemecahan masalah,

algoritma ini dikembangkan untuk arsitektur single-layer

feedforward.

29

Page 24: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

c. Backpropagation Neural Network Algorithm

Algoritma ini merupakan teknik spesifik untuk menerapkan

gradient descent pada bobot untuk arsitektur multi-layer

feedforward, tujuan utama dari algoritma ini adalah untuk

memproses secara efisien partial derivative dari sebuah

fungsi.

Dari beberapa algoritma di atas dalam penerapan ANN dapat

menggunakan algoritma berdasarkan arsitektur yang digunakan dan

problem dari pemecahan masalah.

2.5.13 Backpropagation Learning

Neural network menggunakan cara kerja otak manusia dalam

prosesnya, oleh karena itu diperlukan sebuah pembelajaran atau

learning. Pembelajaran dilakukan untuk menentukan nilai bobot yang

tepat untuk masing-masing input. Bobot akan bertambah jika

informasi yang diberikan oleh neuron yang bersangkutan dapat

tersampaikan. Dan sebaliknya, bobot akan berubah secara dinamis

sehingga dicapai suatu nilai yang seimbang jika informasi tidak

disampaikan. Proses pembelajaran dapat dihentikan apabila nilai-nilai

ini mampu mengidentifikasikan hubungan antara input dan output.

Terdapat dua metode utama dalam melakukan pembelajaran, yaitu:

1. Pembelajaran tak terawasi (Unsupervised learning)

Pada metode ini target output tidak diperlukan dan

hasil yang diinginkan tidak dapat ditentukan dari awal. Tujuan

dari pembelajaran metode ini adalah mengelompokan unit-unit

yang hampir sama dalam suatu kelompok tertentu.

2. Pembelajaran terawasi (Supervised learning)

Metode pembelajaran pada neural network disebut

terawasi jika output yang diharapkan telah diketahui

sebelumnya. Pada proses pembelajaran, satu pola input

diberikan ke neuron pada lapisan input. Pola ini dirambatkan

sepanjang lapisan neural network tersebut hingga sampai pada

Page 25: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

neuron pada lapisan output. Lapisan output membangkitkan

pola output yang nantinya dicocokkan dengan pola output

targetnya. Contoh metode ini adalah backpropagation.

Backpropagation learning merupakan sebuah metode atau

algoritma yang digunakan dalam artificial neural networks untuk

menghitung gradien yang akan digunakan sebagai weight dalam

neural network. backpropagation merupakan singkatan dari the

backward propagation of errors dikarenakan algoritma ini

menggunakan error output untuk mengubah nilai bobot-bobotnya

dalam arah mundur (backward). Untuk mendapatkan error ini, tahap

perambatan maju (forward propagation) harus dikerjakan terlebih

dahulu. Pada saat perambatan maju, neuron-neuron diaktifkan dengan

menggunakan fungsi aktivasi yang dapat diturunkan, seperti fungsi

sigmoid.

Arsitektur jaringan backpropagation seperti ditunjukkan pada

Gambar 2.11. Gambar tersebut menunjukkan neural network yang

terdiri dari tiga unit neuron pada lapisan input (x1, x2, dan x3), dua

neuron pada lapisan tersembunyi (Z1dan Z2), dan satu unit neuron

pada lapisan output (Y). Bobot yang menghubungkan x1, x2, dan x3

dengan neuron pertama pada lapisan tersembunyi adalah V11, V21,

dan V31. b11 dan b12 adalah bobot bias yang menuju neuron pertama

dan kedua pada lapisan tersembunyi. Bobot yang menghubungkan Z1

dan Z2 dengan neuron pada lapisan output adalah w1 dan w2. Bobot

bias b2 menghubungkan lapisan tersembunyi dengan lapisan output.

31

Page 26: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.11 Jaringan Backpropagation. (Haykin, 2009, p. 135)

Algoritma backpropagation untuk jaringan dengan satu

lapisan tersembunyi sebagaimana pada Gambar 2.11. bekerja sebagai

berikut:

a. Inisialisasi bobot (menetapkan nilai bobot awal untuk semua

parameter).

b. Tetapkan kondisi berhenti yang berupa maksimum epoch,

iterasi, atau target error. Satu epoch adalah satu putaran

training untuk semua data latih yang ada.

c. Tetapkan learning rate(α).

d. Inisialisasi epoch=0.

e. Kerjakan selama kondisi berhenti belum terpenuhi (epoch <

maksimum epoch dan error < target error):

1. epoch=epoch+1.

2. Untuk tiap-tiap pasangan elemen yang dilakukan

pembelajaran, lakukan feedforward.

3. Hitung kesalahan (error) antara hasil klasifikasi

dan label kelas, dan gunakan informasi ini untuk

mencari gradien kesalahan terhadap parameter-

parameter yang ada.

4. Lakukan update bobot dengan informasi gradien

yang didapatkan sebelumnya dengan Persamaan

(2.6).

Page 27: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

(2.6)

Pada persamaan tersebut, w(t+1) adalah bobot yang

baru, w(t) adalah bobot lama, η adalah learning rate dan

E(w(t)) adalah gradien dari ∇ error.

2.5.14 Algoritma Optimisasi

1. Limited-Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) Metode

Limited-Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)

merupakan metode optimisasi yang digunakan dalam

pemrograman non-linier untuk menemukan nilai global minimal.

Metode ini adalah salah satu varian dari metode Quasi-Newton

yang dibuat berdasarkan metode Newton yang sulit dan memiliki

waktu komputasi yang lama. Karena kelemahan tersebut,

dikembangkanlah L-BFGS yang memiliki keunggulan di waktu

komputasi yang lebih sedikit dibandingkan metode BFGS (limited

memory pada L-BFGS berarti memerlukan memori yang sedikit).

2. Adam merupakan algoritma optimisasi stokastik berdasarkan

perkiraan adaptif dari momen order rendah. Algoritma Adam

pertama kali diperkenalkan oleh Kingma & Ba. Metode ini dapat

diimplementasikan dengan mudah, memiliki komputasi yang

efisien, memiliki kebutuhan memori yang kecil, invarian terhadap

skala gradien dan cocok diterapkan pada data atau parameter

dengan jumlah yang besar. Algoritma Adam cocok diterapkan

pada permasalahan data yang sangat berderau atau gradien yang

menyebar. (Chong & Żak, 2014, pp. 1-15; Kingma & Ba, 2014)

2.6 Unified Modeling Language (UML)

Unified Modeling Language (UML) merupakan bahasa standar untuk

menuliskan blueprints dari perangkat lunak. UML dapat digunakan dalam

membuat model, membuat visual, menyusun, dan mendokumentasi sebuah

arsitektur dari suatu sistem perangkat lunak (Seidl, Scholz, Huemer, &

33

Page 28: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Kappel, 2015, p. 11). Dari pengertian sebelumnya dapat disimpulkan bahwa

Unified Modeling Language (UML) merupakan suatu standarisasi pemodelan

atau bahasa standar dalam membuat rencana, membuat visual,

mendokumentasi dan merancang dari sebuah sistem software. Berikut

Merupakan komponen - komponen dari UML:

2.6.1 Activity Diagram

Activity diagram digunakan untuk menggambarkan rangkaian

aliran aktivitas baik proses bisnis atau use-case dan memodelkan

tindakan yang akan dilakukan saat sebuah operasi dieksekusi (Seidl,

Scholz, Huemer, & Kappel, 2015, p. 141). Activity diagram lebih

menekankan pada alur dari control didalam pelaksanaan dari suatu

action pada sistem yang berjalan. Contoh activity diagram seperti

pada Gambar 2.12. berikut:

Gambar 2.12 Komponen activity diagram. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 141)

Page 29: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.6.2 Use-case Diagram

Diagram use-case digunakan untuk menggambarkan interaksi

antara sistem, sistem eksternal, dan pengguna. Dengan kata lain,

secara grafis menjelaskan apa yang dilakukan sistem serta secara

grafis mendeskripsikan siapa yang akan menggunakan sistem dan

dalam cara apa pengguna mengharapkan interaksi dengan sistem ini

(Seidl, Scholz, Huemer, & Kappel, 2015, p. 23). Berikut ini adalah

konsep pemodelan use-case yang digunakan:

1. Use-case:

Use-case merupakan urutan langkah – langkah yang

secara tindakan saling terkait (skenario), baik

terotomatisasi maupun secara manual, untuk tujuan

melengkapi satu tugas bisnis tunggal.

2. Actor:

Pelaku adalah segala sesuatu yang perlu berinteraksi

dengan sistem untuk pertukaran inforamasi. Pelaku

menginisiasi kegiatan sistem, yakni sebuah use-case. Ada

4 macam tipe pelaku yaitu:

a. Primary business actor (Pelaku bisnis utama),

merupakan stakeholder yang terutama mendapat

keuntungan dari pelaksanaan use-case dengan

menerima nilai yang terukur. Jenis pelaku ini

kemungkinan tidak menginisiasi kejadian bisnis.

Sebagai contoh, dalam kejadian bisnis dari seorang

karyawan menerima gaji (nilai terukur) dari sistem

penggajian setiap awal bulan, karyawan tidak

menginisiasi kejadian tersebut, tetapi merupakan

penerima utama dari suatu yang bernilai.

b. Primary system actor (Pelaku sistem utama),

merupakan stakeholder yang secara langsung

berhadapan dengan sistem untuk menginisiasi atau

memicu kejadian kegiatan atau sistem. Contohnya,

35

Page 30: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

dalam kejadian bisnis penggajian karyawan maka staf

keuangan lah yang langsung berhadapan dengan sistem

dan memicu kejadian.

c. External server actor (Pelaku server eksternal),

merupakan stakeholder yang melayani kebutuhan

pengguna use-case, misalnya biro kredit yang memiliki

kuasa atas perubahan kartu kredit.

d. External receiving actor (Pelaku penerima eksternal),

merupakan stakeholder yang bukan pelaku utama,

tetapi menerima nilai yang terukur atau output dari

use-case, misalnya bagian gudang menerima paket

permintaan untuk menyiapkan pengiriman sesudah

seorang pelanggan memesannya.

3. Relationship (Hubungan):

Pada diagram use-case, hubungan digambarkan

sebagai sebuah garis antara dua simbol. Berikut ini adalah

penjelasannya:

a. Association (Gabungan), merupakan hubungan

antara seorang pelaku dan satu use-case, terbentuk

kapan pun use-case menggambarkan interaksi

antara keduanya.

b. Extends, merupakan use-case yang terdiri dari

langkah – langkah diekstrak dari use-case yang

lebik kompleks untuk menyederhanakan masalah

orisinal dan karena itu memperluas fungsinya.

c. Include, merupakan penggabungan use-case,

dimana salah satu use-case akan selalu

membutuhkan use-case lainnya.

d. Abstract, merupakan use-case yang mengurangi

redudansi antara dua atau lebih use-case lain

dengan menggabungkan langkah – langkah yang

biasa ditemukan pada use case tersebut.

Page 31: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

e. Depends On, merupakan use-case yang memiliki

ketergantungan dengan use-case lain sehingga

untuk menetapkan rangkaian use-case perlu

dikembangkan.

f. Inheritance, merupakan hubungan dua atau lebih

pelaku berbagi kelakuan umum. Hal ini dilakukan

untuk mengurangi komunikasi pengulangan dengan

sistem.

g. Generalization, merupakan hubungan dimana salah

satu use-case akan mewarisi dan semua properti

dari use-case lainnya.

Gambar 2.13 Use Case Diagram. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 23)

2.6.3 Use Case Description

Use Case description merupakan sebuah penjelasan masing -

masing case yang digunakan dalam use case diagram. Use case

description untuk memperjelas kondisi dan situasi setiap use case

yang ada.

37

Page 32: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.14 Contoh Use Case Description. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 36)

2.6.4 Domain Model Class Diagram

Domain Model Class Diagram adalah diagram yang

menunjukkan hal - hal yang penting dalam pekerjaan, seperti: masalah

domain classes, hubungan antar class, dan atribut dari class. (Seidl,

Scholz, Huemer, & Kappel, 2015, p. 49)

Gambar 2.15 Domain Model Class Diagram. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 49)

Dalam class diagram, juga dikenal berdasarkan karakteristik

kelas yang sama dan hal tersebut berguna untuk menyusun kelas

mulai dari karakteristik yang umum hingga karakteristik yang khusus.

Kelas yang memiliki karakteristik umum disebut superclass.

Sedangkan kelas yang memiliki karakteristik khusus disebut subclass.

Sebuah subclass dapat memiliki karakteristiknya superclass-nya

Page 33: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

dengan penurunan karakteristik atau inheritance. Dalam hirarki class

diagram terdapat whole-part hierarchies yang merupakan hirarki

yang menyusun kelas-kelas sesuai dengan komponen-komponen yang

terkait. Whole-part hierarchies sendiri dapat dibedakan menjadi dua

jenis, yaitu:

1. Aggregation: hubungan seluruh-sebagian antara objek dengan

bagian-bagiannya di mana setiap bagian dapat terpisah-pisah.

2. Composition: hubungan seluruh-sebagian di mana bagian-

bagian yang ada tidak dapat dipisahkan dengan objeknya.

Simbol-simbol yang digunakan dalam hierarki class diagram

adalah:

a. Generalization (inheritance)

b. Composition

c. Aggregation

2.6.5 First-Cut Class Diagram

First-cut class diagram merupakan perluasan dari Domain

Class Diagram yang dikembangkan melalui dua langkah, yaitu

dengan menguraikan atribut dengan tipe dan nilai awal serta

menambahkan navigation visibility arrows (Seidl, Scholz, Huemer, &

Kappel, 2015, p. 49).

39

Page 34: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.16 First-cut DCD for the Create customer account use case. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 49)

2.6.6 Updated Design Class Diagram

Updated design class diagram dapat dikembangkan untuk

setiap layer. Pada view dan data access layer, harus ditambahkan

beberapa class baru. Demikian pula dengan domain layer juga

membutuhkan penambahan class baru sebagai use case controller.

Pada Updated Design Class Diagram, method dapat ditambahkan

untuk setiap class.

Update Design Class Diagram merupakan Class Diagram

yang menggambarkan lanjutan First-Cut Class Diagram di mana

terdapat handler yang berfungsi sebagai eksekutor sistem dalam

menjalankan fungsi-fungsi operasional pada kelas tersebut. Updated

Design Class Diagram dapat dikembangkan untuk setiap layer. Pada

view dan data access layer, harus ditambahkan beberapa kelas baru.

Demikian pula dengan domain layer juga membutuhkan penambahan

kelas baru sebagai use case controller. Pada Updated Design Class

Diagram, method dapat ditambahkan untuk setiap kelas. Tiga method

umum yang banyak dijumpai pada kelas-kelas Updated Design Class

Diagram adalah constructor methods, data get, set methods, dan use

Page 35: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

case specific method objects (Seidl, Scholz, Huemer, & Kappel, 2015,

p. 49).

Gambar 2.17 Updated partial DCD for the domain layer. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 49)

2.6.7 Sequence Diagram

Sequence Diagram, sebuah diagram yang menunjukkan urutan

pesan antara aktor eksternal dan sistem selama use case atau skenario.

System Sequence Diagram digunakan untuk menentukan input,

output, dan urutan sekuensial dari input dan output. System sequence

diagram digunakan dalam konjungsi dengan penggambaran detail

atau dengan activity diagram untuk menunjukkan langkah – langkah

dalam proses dan interaksi antara aktor dan sistem. (Seidl, Scholz,

Huemer, & Kappel, 2015, p. 107)

41

Page 36: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

Gambar 2.18 Sequence Diagram. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 107)

1. First Cut Sequence Diagram dikonstruksikan dengan cara

mengembangkan elemen SSD (Simple Sequence Diagram) dengan

menggantikan objek: System dengan use-case controller,

kemudian menambahkan objek lain yang termasuk dalam use-

case. (Seidl, Scholz, Huemer, & Kappel, 2015, p. 107)

2. Completed three-layer design sequence diagram merupakan

gambaran lengkap dari sequence diagram dan juga pengembangan

dari first-cut sequence diagram. Completed three-layer design

sequence diagram menambahkan data layer (Seidl, Scholz,

Huemer, & Kappel, 2015, p. 107).

2.6.8 User Interfaces

User Interfaces adalah bagian dari sistem informasi yang

memerlukan interaksi dari user atau pengguna untuk membuat input

dan output. User Interfaces juga memungkinkan user untuk

berinteraksi dengan komputer untuk mencatat berbagai macam

transaksi. (Soegaard & Dam, 2013, p. 17) Ada tiga aspek yang harus

diperhatikan dalam sebuah User Interfaces yaitu:

Page 37: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

1. Aspek Fisik

Aspek fisik meliputi perangkat yang disentuh oleh

user, seperti keyboard, mouse, layar sentuh atau keypad

serta aspek fisik yang lainnya seperti referensi manual,

dokumen yang dicetak, form entri data dan hal lainnya

yang digunakan user selama mengerjakan tugas di

komputer.

2. Aspek Perseptual

Aspek perseptual meliputi semua hal yang user lihat,

dengar atau sentuh (diluar aspek fisik), seperti bentuk,

garis, angka dan kata atau komputer yang menghasilkan

suara sehingga tampak bahwa sistem dapat berbicara

langsung dengan user. Sedangkan apa yang user “sentuh”

adalah objek seperti menu, kotak dialog dan button pada

layar yang dapat “disentuh” dengan mouse dan juga objek

yang dapat disentuh seperti dokumen, atau catatan

transaksi.

3. Aspek Konseptual

Aspek konseptual meliputi segala sesuatu yang user

ketahui tentang bagaimana cara menggunakan sistem,

termasuk semua masalah utama dalam sistem yang

meliputi manipulasi, operasi yang dapat dilakukan dan

prosedur yang harus diikuti untuk melaksanakan operasi.

2.7 Python

2.7.1 Pengertian Bahasa Pemrograman Python

Python adalah bahasa pemrograman tingkat tinggi yang dibuat

oleh Guido van Rossum dan pertama kali dirilis pada tahun 1991.

Python memiliki filosofi desain yang menekankan keterbacaan kode,

terutama menggunakan whitespace yang signifikan. Ini

memungkinkan untuk membuat clear programming pada skala kecil

maupun besar. (Kuhlman, 2013, p. 12)

43

Page 38: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.7.2 Pengertian Tensorflow

TensorFlow merupakan sistem machine learning buatan

Google, yang juga merupakan penerus dari DistBelief. (Abadi, et al.,

2016, pp. 265-283)

2.7.3 Pengertian Keras

Dikutip dari Website Keras, Keras adalah high-level neural

network API, yang ditulis dalam bahasa pemrograman Python dan

bisa dijalankan di atas Tensorflow, CNTK, atau Theano. Keras

dikembangkan dengan fokus untuk memungkinkan eksperimen yang

cepat. (Keras Documentation, 2019)

2.7.4 Pengertian Tika

Apache Tika adalah Framework untuk mendeteksi konten dan

analisa yang ditulis dalam bahasa pemrograman Java, yang dibuat

oleh Apache. Program ini mendeteksi dan mengekstrak metadata dan

teks dari berbagai macam tipe file yang berbeda seperti PPT, XLS,

PDF, maupun DOCX. (Tika Apache Official Site, 2018)

2.7.5 Pengertian QT

QT adalah kerangka pengembangan aplikasi lintas perangkat

untuk komputer, ponsel, dan embedded. QT bukan sebuah bahasa

pemrograman melainkan sebuah kerangka yang ditulis dalam bahasa

C++ menjadikan QT dan semua aplikasi yang menggunakannya dapat

di-compile menggunakan compiler C++ standar seperti, Clang, GCC,

ICC, MinGW dan MSVC. (QT About Site, 2018)

2.7.6 Pengertian PyQT5

PyQT5 merupakan penghubung antara QT dengan bahasa

pemrograman baik Python v2 maupun v3. PyQT5 dapat berjalan di

semua perangkat yang didukung oleh QT seperti, Windows, OS X,

Linux, iOS dan Android. penghubung tersebut dibentuk menjadi

modul-modul Python yang di dalamnya terdapat lebih dari 1000 class.

(PyQT Intro Page, 2018)

Page 39: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.7.7 Pengertian Watchdog

Watchdog adalah API dari Library Python yang berguna untuk

memonitor kejadian-kejadian dari sistem file.

2.7.8 Pengertian Configparser

Merupakan sebuah modul Python yang mengimplementasikan

bahasa konfigurasi dasar yang sama dengan file .INI dari Microsoft.

Modul ini digunakan untuk mempermudah end user untuk

mengkustomisasi file konfigurasi. (Configparser Documentation,

2018)

2.7.9 Pengertian Pywin32

Modul ekstensi Python untuk Microsoft Windows yang

menyediakan akses langsung ke Win32API, membuat dan

menggunakan COM Objects, serta Pythonwin Environment.

2.7.9.1 Pengertian Win32API

Win32API merupakan antarmuka pemrograman yang

terdapat di dalam sistem operasi Windows 32-bit modern.

Seperti halnya Win16 API, Win32 API juga sama

mengimplementasikan fungsi-fungsi di dalam DLL sistem

operasi. DLL inti yang dimiliki oleh Win32 API antara lain

kernel32.dll, user32.dll, dan gdi32.dll. Win32 pertama kali

muncul pada tahun 1993, saat Windows NT diluncurkan.

Windows 95 juga menggunakan Win32 API, dan pada awalnya

dikenal dengan sebutan Win32c, di mana huruf "c" di sana

merujuk kepada "compatibility", tetapi istilah ini akhirnya

ditinggalkan oleh Microsoft demi konsistensi nama "Win32".

Dalam Windows NT 4.0 dan para penerusnya

(termasuk di antaranya versi-versi terbaru Windows),

panggilan-panggilan Win32 dieksekusi oleh dua modul, yakni

csrss.exe (Client/Server Runtime SubSystem) di dalam modus

pengguna dan Win32K.sys di dalam modus kernel.

45

Page 40: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

2.8 Metode Testing

Software testing ialah sebuah metode di mana sebuah investigasi

dilakukan untuk mengetahui kualitas dari software yang dibuat. Selain itu

software testing juga kerap dilakukan agar pemilik program mengetahui bug-

bug apa saja yang masih terdapat di dalam program mereka. Ada berbagai

cara yang bisa digunakan untuk melakukan testing ini yaitu:

1. Whitebox Testing

Whitebox testing ialah sebuah metode untuk melakukan

software testing di mana para pentester diberikan akses penuh

kepada program yang akan mereka test. Selain itu dokumentasi

dan source code juga akan diberikan apabila pentester

membutuhkannya.

2. Blackbox Testing

Blackbox testing ialah sebuah metode untuk melakukan

software testing di mana pentester tidak diberikan akses atau

diberikan hak akses terendah kepada program yang akan mereka

test.

2.9 Teori Evaluasi

Ketika melakukan evaluasi terhadap suatu model, akurasi bukan satu-

satunya acuan terhadap tingkat keberhasilan model tersebut. Ada beberapa

faktor lain yang berperan penting terhadap tingkat keberhasilan suatu model

yaitu Precision dan Recall.

2.9.1 Precision

Salah satu nilai yang berperan dalam tingkatan keberhasilan

suatu model adalah precision. Precision merupakan rumusan dari

seberapa banyak hasil yang benar-benar relevan (true positive) dari

semua hasil prediksi suatu model.

Page 41: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2Doc/RS1_2018_1... · Web viewContohnya, dalam kejadian bisnis penggajian karyawan maka staf keuangan lah yang langsung

(2.7)

2.9.2 Recall

Recall merupakan nilai yang didapat dari rumusan seberapa

banyak nilai yang benar-benar positif yang dilabelkan sebagai relevan

(true positive) oleh model yang ada.

(2.8)

2.9.3 F1 Score

F1 Score merupakan nilai yang didapatkan jika ingin

mendapatkan nilai yang seimbang antara Precision dan Recall. Yang

membedakan F1 Score dengan akurasi adalah F1 Score tidak

memperhitungkan hasil true negative dari prediksi suatu model. Di

mana true negative sangat mempengaruhi nilai akhir dari akurasi yang

terkadang pada pengimplementasian suatu model true negative bukan

menjadi nilai yang diperhitungkan.

(2.9)

(Powers, 2015, p. 3)

47