bab 2 landasan teori · 2020. 4. 6. · berikut ini adalah flowchart dari shm yang terdiri dari 4...
TRANSCRIPT
5
BAB 2
LANDASAN TEORI
2.1 Tentang Jembatan
2.1.1 Jembatan
Jembatan adalah struktur buatan manusia yang dibangun untuk
menghindari rintangan fisik tanpa menutup jalan di bawahnya seperti badan air,
lembah, atau jalan. Jembatan dibangun untuk tujuan menyediakan bagian atas
hambatan. Jembatan pertama yang dibuat oleh manusia mungkin bentang kayu
gelondongan atau papan dan akhirnya batu, menggunakan dukungan sederhana
dan pengaturan balok silang. Desain jembatan bervariasi tergantung pada fungsi
jembatan, sifat medan tempat jembatan dibangun dan berlabuh, bahan yang
digunakan untuk membuatnya, dan dana yang tersedia untuk membangunnya
(Balasubramanian, 2017).
2.1.2 Sinyal
Sinyal didefinisikan sebagai seperangkat informasi atau data seperti sinyal
telepon atau televisi. Umumnya sinyal adalah fungsi dari variabel independen
yaitu waktu. Sinyal dikatakan kontinu jika didefinisikan atas semua nilai .
Di sisi lain, Sinyal waktu diskrit seringkali berasal dari sinyal waktu kontinu
dengan mengambil sampel pada laju yang seragam (Hashima, S.,2018).
2.1.3 Getaran
Getaran atau vibrasi adalah gerakan bolak-balik dalam suatu interval
waktu tertentu. Getaran berhubungan dengan gerak osilasi benda dan gaya yang
berhubungan dengan gerak tersebut. Semua benda yang mempunyai massa dan
elastisitas mampu bergetar, jadi kebanyakan mesin dan struktur rekayasa
(engineering) mengalami getaran sampai derajat tertentu dan rancangannya
biasanya memerlukan pertimbangan sifat osilasinya. Getaran adalah gerak bolak
balik atau gerak osilasi suatu benda yang mempunyai massa dan mempunyai
elastisitas seperti sistem pegas massa. Vibrasi atau getaran mempunyai tiga
6
parameter penting yang dapat dijadikan sebagai tolak ukur yaitu (Hidayat dan
Wilih, 2017):
1) Amplitudo
Amplitudo adalah ukuran atau besarnya sinyal vibrasi yang dihasilkan.
Amplitudo dari sinyal vibrasi mengidentifikasikan besarnya gangguan yang
terjadi. Makin tinggi amplitudo yang ditunjukkan, menandakan makin besar
gangguan yang terjadi.
2) Frekuensi
Frekuensi adalah banyaknya periode getaran yang terjadi dalam satu
putaran waktu. Besarnya frekuensi yang timbul pada saat terjadinya vibrasi
dapat mengidentifikasikan jenis gangguan yang terjadi. Gangguan yang
terjadi sering menghasilkan frekuensi yang jelas atau menghasilkan contoh
frekuensi yang dapat dijadikan sebagai bahan pengamatan. Dengan
diketahuinya frekuensi pada saat mengalami vibrasi, maka penelitian atau
pengamatan secara akurat dapat dilakukan untuk mengetahui penyebab atau
sumber dari permasalahan. Frekuensi biasanya ditunjukkan dalam bentuk
Cycle per menit (CPM), yang biasanya disebut istilah Hertz (dimana Hz =
CPM). Biasanya singkatan yang digunakan untuk Hertz adalah Hz.
3) Phase
Phase adalah penggambaran akhir dari pada karakteristik suatu getaran
atau vibrasi yang terjadi. Phase adalah perpindahan atau perubahan posisi
dari pada bagian –bagian yang bergetar secara relatif untuk menentukan titik
referensi atau titik awal pada bagian yang lain yang bergetar.
2.1.4 Structural Health Monitoring System
Structural Health Monitoring (SHM) didefinisikan sebagai proses
penerapan strategi identifikasi kerusakan untuk infrastruktur luar angkasa, sipil,
dan teknik mesin. Pemeriksaan dan identifikasi kerusakan didasarkan pada
berbagai perangkat evaluasi tak rusak lokal yang sangat efektif. SHM adalah
sebuah implementasi dari teknik pemantauan canggih oleh berbagai sensor.
7
Tetapi tujuan akhir dari penerapan SHM adalah untuk mewujudkan
pemeliharaan berbasis kondisi lengkap, dimana proses pemantauan adalah
otonom dan berkelanjutan. Dengan demikian SHM dapat membebaskan
pekerjaan inspeksi yang rumit.
Berikut ini adalah flowchart dari SHM yang terdiri dari 4 tahapan.
Tahapan tersebut adalah detection, location, severity dan prognosis (González,
2011).
Gambar 2.1 Flowchart SHM sistem.
(Sumber: González, 2011)
Berdasarkan flowchart di atas, dapat dilihat bahwa pada awalnya sistem
akan memantau struktur bangunan. Dari hasil pemantauan tersebut, akan
terdeteksi apakah struktur tersebut memiliki kerusakan atau tidak. Jika tidak,
sistem akan melakukan pemantauan terus-menerus. Jika terjadi kerusakan, maka
akan dilanjutkan ke tahap selanjutnya dengan mengukur apakah kerusakan
tersebut berada dalam tahap yang dapat ditoleransi atau tidak. Apabila ternyata
tidak dalam batas toleransi kerusakan bangunan (structure fault tolerant), maka
bangunan tersebut sudah tidak dapat digunakan dan membutuhkan penanganan
yang serius. Namun, jika masih dalam batas toleransi, maka akan dilakukan
diagnosa. Diagnosa dilakukan dengan tujuan untuk mengetahui:
a. Lokasi kerusakan
b. Jenis kerusakan
c. Besarnya kerusakan yang terjadi
8
Setelah melakukan diagnosa, tahap berikutnya adalah prognosis, yaitu
menghitung atau meramalkan umur bangunan. Tujuannya agar bisa mengetahui
sampai kapan bangunan tersebut layak dipakai.
2.1.5 Vibration-based SHM
Data vibration-based yang menunjukkan tanda-tanda dari tingkah laku
struktur sangat luas dikenal akan kepekaannya terhadap kerusakan. SHM
berbasis getaran sangat cocok dengan perkembangan teknologi saat ini dan telah
dikembangkan secara ekstensif. Hal ini didukung oleh tiga aspek. Pertama
karena teknologi akuisisi data untuk mengumpulkan dan menyimpan data
getaran struktural tersedia secara luas dengan harga murah. Kedua karena fungsi
pemetaan pada struktur fisik terhadap getaran telah dibangun secara baik.
Terakhir yaitu data getaran bersifat global sehingga cukup melakukan
pengukuran pada titik dengan batas tertentu (Gunawan, 2017).
2.2 Klasifikasi
Klasifikasi adalah pendekatan data mining (machine learning) yang digunakan
untuk memperkirakan keanggotaan grup untuk data. Meskipun ada berbagai teknik
yang tersedia untuk machine learning tetapi klasifikasi adalah teknik yang paling
banyak digunakan. Klasifikasi adalah tugas yang dikagumi dalam machine learning
terutama dalam rencana masa depan dan penemuan pengetahuan. Klasifikasi
dikategorikan sebagai salah satu masalah tertinggi yang dipelajari oleh para peneliti
machine learning dan bidang data mining. (Soofi dan Awan, 2017)
2.3 Artificial Inteligence
Artificial Inteligence (Kecerdasan Buatan) merupakan salah satu bagian dari
ilmu komputer yang mempelajari bagaimana membuat mesin (komputer) dapat
melakukan tugas seperti dan sebaik yang dilakukan oleh manusia bahkan bisa lebih
baik daripada yang dilakukan oleh manusia.
2.4 Machine Learning
Machine Learning (Pembelajaran mesin) adalah jenis kecerdasan buatan
(Artificial Inteligence) yang memungkinkan komputer belajar dari data tanpa
9
diprogram secara eksplisit. Dengan kata lain, tujuan pembelajaran mesin adalah
merancang metode yang secara otomatis melakukan pembelajaran menggunakan
pengamatan dunia nyata (disebut "training data"), tanpa definisi eksplisit tentang
aturan atau logika oleh manusia ("pelatih" / "pengawas ") (Khan et al., 2018).
2.4.1 Supervised Learning
Supervised Learning adalah pembelajaran melalui input yang telah diberi
label, yang bertindak sebagai target. Untuk setiap contoh pelatihan akan ada satu
set nilai input (vektor) dan satu atau lebih nilai output yang ditunjuk terkait.
Tujuan dari bentuk pelatihan ini adalah untuk mengurangi model klasifikasi
yang eror, melalui perhitungan yang benar dari nilai output dari contoh pelatihan
(O’Shea, Nash, R. 2015).
2.4.2 Unsupervised Learning
Unsupervised Learning berbeda dengan supervised learning karena set
pelatihan tidak termasuk label. Keberhasilan biasanya ditentukan oleh apakah
jaringan dapat mengurangi atau meningkatkan fungsi biaya terkait. Namun,
penting untuk dicatat bahwa sebagian besar tugas pengenalan pola yang
berfokus pada gambar biasanya tergantung pada klasifikasi yang menggunakan
supervised learning (O’Shea, K., Nash, R. 2015).
2.5 Deep Learning
Pembelajaran mendalam (Deep learning) adalah seperangkat metode yang
memungkinkan komputer untuk belajar dari data tanpa pengawasan dan intervensi
manusia, metode ini dapat beradaptasi dengan lingkungan yang berubah dan
memberikan peningkatan berkesinambungan untuk kemampuan yang dipelajari.
Deep learning adalah kumpulan algoritma pembelajaran yang telah diterapkan tiga
bidang, yaitu supervised learning, unsupervised learning, dan reinforcement learning.
10
2.6 Jaringan Saraf Tiruan
Jaringan saraf tiruan adalah, sebagaimana namanya, jaringan komputasi yang
mencoba mensimulasikan, secara kasar, proses pengambilan keputusan dalam
jaringan sel saraf (neuron) sistem saraf pusat biologis (manusia atau hewan).
Simulasi ini adalah simulasi sel-demi-sel (neuron-oleh-neuron, elemen-demi-elemen).
Ini meminjam dari pengetahuan neurofisiologis neuron biologis dan jaringan neuron
biologis tersebut (Daniel, G., 2019).
2.6.1 Arsitektur Jaringan Saraf Tiruan
Menurut Haykin, (2009, p. 21), secara umum arsitektur jaringan saraf
tiruan dapat dibagi menjadi tiga yaitu:
2.6.1.1 Single-Layer Perceptron
Haykin, (2009, p. 21), Single-Layer Perceptrons (SLP)
merupakan jaringan saraf tiruan yang paling sederhana dimana semua
input dari node sumber langsung menuju ke node output. Pada gambar
2.2 terdapat 4 buah node input dan 4 buah node output, jaringan saraf
tiruan tersebut adalah contoh dari SLP.
Gambar 2.2 Single Layer Perceptron
(Sumber: Haykin, 2009)
2.6.1.2 Multilayer Perceptron
Pada multilayer perceptron yang membedakan dirinya dengan
arsitektur yang lain adalah dengan adanya satu atau lebih layer
tersembunyi, yang juga disebut neuron tersembunyi atau unit
tersembunyi, istilah "tersembunyi" mengacu pada fakta bahwa bagian
11
dari jaringan saraf ini tidak terlihat langsung dari input atau output
jaringan. Pada gambar 2.3 terdapat 10 buah node input, 4 buah node
tersembunyi dan 4 buah node\output, jaringan saraf tiruan tersebut adalah
contoh dari MLP. Haykin, (2009, p. 21)
Gambar 2.3 Multilayer Perceptron
(Sumber: Haykin, 2009)
2.6.1.3 Recurrent Network
Jaringan saraf tiruan recurrent adalah jaringan saraf tiruan
feedforward yang melakukan setidaknya satu kali pengulangan feedback.
Yang berarti jaringan saraf tiruan tersebut memiliki nilai output yang
dikembalikan sebagai nilai input. Pada gambar 2.4 adalah jaringan saraf
tiruan recurrent yang memiliki neuron – neuron yang tersembunyi.
(Haykin, 2009, p. 23)
Gambar 2.4 Recurrent Network
(Sumber: Haykin, 2009)
12
2.7 Normalization
Normalisasi vektor fitur dari dataset banyak digunakan dalam sejumlah bidang
data mining, khususnya dalam analisis cluster, dimana digunakan untuk mencegah
fitur dengan nilai-nilai numerik dari dominasi dalam fungsi tujuan berbasis jarak.
Terdapat beberapa teknik normalisasi yang ada, diantaranya adalah Min-Max
normalization dan Z-score normalization.
1. Min-Max Normalization
Min-Max Normalization melakukan transformasi linear pada data asli.
Misalkan mina dan maxa adalah nilai minimum dan maksimum untuk atribut
. Normalisasi min-max memetakan nilai dari ke dalam rentang
[ , ] dengan menghitung:
(2.1)
2. Z-score Normalization
Dalam Z-score Normalization atau disebut Standard Scaler, nilai untuk dan
atribut dinormalisasi berdasarkan rata-rata dan standar deviasi . Nilai
dari dinormalisasi ke dengan menghitung:
(2.2)
di mana dan adalah mean dan standar deviasi masing-masing dari atribut
. Metode normalisasi ini berguna ketika minimum aktual dan maksimum
dari atribut A tidak diketahui. (Suarez-Alvarez, Pham, Prostov, 2012)
2.8 Activation Function
Terdapat beberapa activation function atau fungsi aktivasi:
1. Fungsi aktivasi ReLU
ReLU (Rectification Linear Unit) merupakan operasi untuk mengenalkan
nonlinearitas dan meningkatkan representasi dari model. Fungsi aktivasi
ReLU adalah
(2.3)
13
Dimana adalah nilai input (Heaton, 2015). Nilai output dari neuron bisa
dinyatakan sebagai 0 jika nilai input-nya bernilai negatif. Jika nilai input
bernilai positif, maka nilai output dari neuron adalah nilai dari input aktivasi
itu sendiri (Kim et al., 2016).
2. Fungsi aktivasi Softmax
Fungsi aktivasi softmax digunakan untuk mendapatkan hasil klasifikasi.
Fungsi aktivasi menghasilkan nilai yang diinterpretasikan sebagai
probabilitas yang belum dinormalisasi untuk tiap kelas. Nilai kelas dihitung
dengan menggunakan fungsi softmax (Vedaldi & Lenc, 2015) sebagai
berikut,
(2.4)
Dimana:
: vektor yang berisi nilai antara 0 dan 1
: vektor yang berisi nilai yang didapatkan dari fully-connected layer
2.9 Convolutional Neural Network
Convolutional Neural Network (CNN) adalah pengembangan dari
Multilayer Perceptron (MLP). Convolutional Neural Network (CNN) merupakan
operasi konvolusi yang menggabungkan beberapa layer pemrosesan,
menggunakan beberapa elemen yang beroperasi secara paralel dan terinspirasi
oleh sistem saraf biologis (Hu et al., 2015).
Struktur CNN terdiri dari input, proses ekstraksi fitur, proses klasifikasi dan
output. Proses ekstraksi dalam CNN terdiri dari beberapa layer tersembunyi atau
Hidden Layer, yaitu layer konvolusi (convolutional layer), fungsi aktivasi dan
pooling. CNN bekerja secara hierarki, sehingga output pada layer konvolusi
pertama dijadikan sebagai input pada layer konvolusi selanjutnya. Proses
klasifikasi terdiri dari fully-connected layer dan fungsi aktivasi yang output-nya
berupa hasil klasifikasi (Katole et al., 2015)
14
Gambar 2.5 Arsitektur Convolutional Neural Network
(Sumber: Weimer, Scholz-Reiter, & Shpitalni, 2016)
2.10 One-D Convolutional Neural Network
One-D Convolutional Neural Network (1D-CNN) telah menjadi populer
dengan kinerja canggih dalam berbagai aplikasi pemrosesan sinyal seperti deteksi
aritmia dini dalam detak elektrokardiogram, pemantauan kesehatan struktural dan
deteksi kerusakan struktural, daya tinggi pemantauan kesalahan engine dan
pemantauan real-time dari sirkuit daya tinggi. Selain itu, dua penelitian terbaru
telah menggunakan 1D-CNN untuk deteksi kerusakan pada bantalan. Namun,
dalam studi terakhir yang dilakukan oleh Zhang et al., baik tunggal maupun
sekumpulan deep 1D-CNN dibuat untuk mendeteksi, melokalisasi, dan mengukur
kesalahan bantalan. (Kiranyaz et al.,2019)
1D-CNN merupakan arsitektur yang hanya berfokus pada repositori sinyal
dan data 1D. Fokus khusus akan diambil pada model 1D-CNN yang padat dan
adaptif, yang dapat menjanjikan keunggulan dan keunggulan tertentu
dibandingkan 2D. Alasan 1D-CNN lebih menguntungkan dan lebih disukai
daripada 2D-CNN dalam berurusan dengan sinyal 1D adalah sebagai berikut:
a) Forward propagation dan back propagation dalam 1D-CNN membutuhkan
operasi array sederhana. Ini berarti bahwa kompleksitas komputasi dari 1D-
CNN jauh lebih rendah daripada 2D-CNN yang menggunakan operasi matriks.
b) Studi terbaru menunjukkan bahwa 1D-CNN dengan arsitektur yang relatif
dangkal (yaitu sejumlah kecil layer dan neuron tersembunyi) dapat mempelajari
tugas-tugas menantang yang melibatkan sinyal 1D. Di sisi lain, 2D-CNN
biasanya membutuhkan arsitektur yang lebih dalam untuk menangani tugas-
15
tugas tersebut. Jaringan dengan arsitektur dangkal jauh lebih mudah untuk
dilatih dan diimplementasikan.
c) Biasanya, pelatihan 2D-CNN dalam memerlukan pengaturan perangkat keras
khusus seperti Cloud computing atau GPU farms. Di sisi lain, setiap
implementasi CPU pada komputer standar layak dan relatif cepat untuk melatih
1D-CNN dengan beberapa layer tersembunyi dan neuron. (Kiranyaz et al.,2019)
2.10.1 Convolution Layer
Convolutional Layer atau lapisan konvolusi menggunakan filter untuk
mengekstraksi objek dari data input. Filter berisi bobot yang digunakan untuk
mendeteksi karakter dari objek. Konvolusi akan menghasilkan transformasi
linear dari data input yang sesuai dengan informasi spasial pada data.
Terdapat parameter yang dapat diubah dalam lapisan konvolusi, yaitu
ukuran filter, stride dan padding. Stride mengontrol bagaimana filter diterapkan
pada data input dengan bergerak sepanjang ukuran piksel yang telah ditentukan.
Padding adalah penambahan ukuran piksel dengan nilai tertentu disekitar input
data agar hasil dari bidang receptive tidak terlalu kecil sehingga tidak banyak
informasi yang hilang (Arrofiqoh, E., Harintaka, 2018).
Formula dari convolution layer adalahh sebagai berikut:
(2.5)
Dimana m adalah ukuran kernel, x adalah input, h hasil konvolusi, dan w
adalah kernel konvolusi.
Output dari convolution layer dapat dilihat berdasarkan formula dibawah
ini:
(2.6)
dimana adalah hasil dari konvolusi, merupakan nilai bias, dan
adalah fungsi aktivasi (Haykin, 2009, p. 11).
16
2.10.2 Pooling Layer
Pooling atau subsampling adalah pengurangan ukuran matriks. Terdapat
dua macam pooling yang sering digunakan yakni average pooling dan max
pooling (Bejiga et al., 2017). Nilai yang diambil oleh average pooling adalah
nilai rata-rata, sedangkan untuk max pooling nilai yang diambil adalah nilai yang
maksimal (Zhi et al., 2016).
Secara matematis, max pooling layer dapat dirumuskan sebagai berikut:
(2.7)
dimana x adalah input dari layer sebelumnya, kemudian p adalah hasil dari
max pooling.
Gambar 2.6 Max Pooling Layer
(Sumber: Albawi, Abed, & Alzawi, 2017)
2.10.3 Dropout Layer
Dropout layer memberikan aturan untuk menghilangkan atau menjaga
neuron dengan beberapa nilai probabilitas p yang bernilai 0 dan 1 (Srivastava et
al., 2014). Droupout layer berguna untuk memudahkan penggolongan kelasnya.
2.10.4 Fully Connected Layer
Fully connected layer adalah kumpulan dari proses konvolusi (Hijazi et
al., 2015). Layer ini mendapatkan input dari proses sebelumnya untuk
menentukan fitur mana yang paling berkorelasi dengan kelas tertentu. Fungsi
17
dari layer ini adalah untuk menyatukan semua node menjadi satu dimensi
(Albewi & Mahmood, 2017).
2.11 Fungsi Kerugian
Fungsi kerugian digunakan untuk mengukur ketepatan hasil jaringan. Fungsi
kerugian menunjukkan besar perbedaan antara nilai yang diharapkan dengan nilai
yang diprediksi. Fungsi kerugian yang sering digunakan untuk masalah klasifikasi
adalah fungsi kerugian cross entropy. Fungsi kerugian cross entropy ini terdiri dari 2
jenis yaitu binary cross entropy, dimana biasanya digunakan untuk masalah
klasifikasi antara 2 kelas, sedangkan categorical cross entropy disebut juga Softmax
Loss adalah fungsi aktivasi softmax ditambah dengan kerugian cross entropy
biasanya digunakan dalam masalah klasifikasi Multiclass. Secara umum, formula
fungsi kerugian cross entropy adalah sebagai berikut:
(2.8)
dimana m adalah jumlah node yang terdapat pada output layer, adalah vektor dari
nilai aktual, adalah probabilitas untuk setiap node yang diprediksi. (Haykin, O.,
2009)
2.12 ADAM Optimizer
Adaptive Moment Estimation (ADAM) merupakan sebuah metode untuk
optimasi stokastik yang efisien yang hanya memerlukan gradien orde pertama
dengan sedikit kebutuhan memori. Metode menghitung tingkat pembelajaran adaptif
individu untuk parameter yang berbeda dari perkiraan momen pertama dan kedua
dari gradien. Selain menyimpan rata-rata peluruhan eksponensial dari gradien
kuadrat ( ), ADAM juga menyimpan rata-rata peluruhan eksponensial dari gradien
( ). Mirip seperti momentum yang dimana dapat dilihat seperti bola yang
menggelinding di turunan, ADAM bersifat seperti bola yang berat dengan gaya
hambatan. Dalam algoritma ADAM, nilai parameter yang baru akan dihitung
menggunakan persamaan berikut:
(2.9)
(2.10)
18
Dimana merupakan tingkat peluruhan eksponensial, memiliki nilai antara 0
sampai 1. merupakan nilai gradien. Selanjutnya, lalukan perhitungan untuk
pengkoreksian bias dengan menghitung:
(2.11)
(2.12)
Nilai parameter yang baru akan dihitung menggunakan persamaan di bawah
ini:
(2.13)
Dimana merupakan learning rate pada ADAM, merupakan parameter
pada iterasi ke merupakan suatu nilai kecil untuk menghindari pembagi menjadi
0, nilai adalah (Kingma, P., Ba, J. 2017).
2.13 Backpropagation
Metode Backpropagation mencari minimum fungsi eror pada bobot
menggunakan metode gradient descent. Kombinasi dari bobot yang meminimalkan
fungsi eror dianggap sebagai solusi dari masalah pembelajaran (Rojas, 2013).
Proses pembelajaran Backpropagation terbagi dua bagian, yaitu Forward
propagation dan Back propagation. Pada forward propagation, sinyal input
disebarkan dari input layer, kemudian melalui Hidden Layer, lalu ke output layer.
Jika output yang diharapkan tidak tercapai pada output layer, maka dilakukan
back propagation dari sinyal eror. Setiap hidden unit dapat mempengaruhi output
yang dihasilkan. Setelah mendapatkan turunan pertama eror untuk satu hidden unit,
nilai tersebut dapat digunakan untuk menghitung turunan pada layer sebelumnya
(Buduma & Lacascio, 2017, p.22).
Perbedaan antara output sebenarnya dan output yang diharapkan pada suatu
jaringan didefinisikan sebagai sinyal eror. Sinyal eror disebarkan mundur dari output
ke input layer dengan melalui layer-layer yang ada. Selama back propagation, nilai
bobot diatur oleh eror feedback (Li, Cheng, Shi, & Huang, 2012).
19
Untuk mengetahui bagaimana output dari masing-masing neuron pada layer ke
mempengaruhi bobot pada layer ke didapat dengan cara menggunakan turunan
pertama eror:
(2.14)
Pertama-tama kita akan menyelesaikan yang merupakan turunan
terhadap didapatkan dari hasil chain Rule dari , dimana dimana
adalah fungsi aktivasi pada layer ke dan merupakan input dari layer sebelumnya,
dengan mengasumsikan fungsi aktivasi softmax. Kasus ini terbagi menjadi 2 yaitu
untuk kondisi ini terjadi ketika node memiliki probabilitas tertinggi sampai
mendekati 1 dan merupakan label output dan kondisi ini terjadi ketika nilai
probabilitas node yang lain bukan yang tertinggi.
• Kasus pertama
(2.15)
• Kasus kedua
(2.16)
Maka berdasarkan kedua kasus di atas,
(2.17)
20
Selanjutnya, selesaikan turunan untuk dengan mengubah persamaan
menjadi
(2.18)
Dimana adalah nilai aktual, dan adalah probabilitas untuk setiap node
yang diprediksi. Setelah semua proses selesai, kita dapat menghitung nilai perubahan
pada bobot dengan persamaan:
(2.19)
2.14 Confusion Matrix
Confusion Matrix mengilustrasikan akurasi dari solusi permasalahan klasifikasi.
Confusion Matrix berisi informasi tentang aktual dan prediksi klasifikasi yang
dilakukan oleh klasifikasi sistem. Performa sistem seperti itu umumnya dievaluasi
menggunakan data dalam matriks.
Ada empat istilah tambahan yang perlu kita ketahui yaitu “building blocks”
yang digunakan dalam menghitung banyak langkah evaluasi.
21
Gambar 2.7 Tabel Confusion Matrix
1. True Positive (TP) merujuk pada tuple positif yang diberi label dengan benar oleh
classifier.
2. True Negative (TN) adalah tuple negatif yang diberi label dengan benar oleh
classifier.
3. False Positive (FP) adalah tuple negatif yang salah diberi label sebagai positif.
4. False negative (FN) adalah tuple positif yang salah diberi label sebagai negatif.
Apabila jumlah kelas melebihi ( ), tabel Confusion Matrix harus
memiliki ukuran matriks . Dengan mengetahui label TP, TN, FP, FN kita
dapat menghitung precision, Recall beserta akurasi.
Precision dapat dianggap sebagai ukuran ketepatan. Precision merupakan rasio
prediksi benar positif dibandingkan dengan keseluruhan hasil yang diprediksi positif.
(2.20)
Sedangkan Recall adalah ukuran kelengkapan (berapa persen tuple positif
diberi label seperti itu). Merupakan rasio prediksi benar positif dibandingkan dengan
keseluruhan data yang benar positif.
(2.21)
Accuracy merupakan rasio prediksi benar (positif dan negatif) dengan keseluruhan
data (Han, J., Kamber, M., Pei, J., 2012).
(2.22)
2.15 Exploratory Data Analysis
Exploratory Data Analysis (EDA) adalah langkah penting dalam setiap analisis
penelitian. Tujuan utama dengan EDA adalah untuk memeriksa data untuk distribusi,
22
pencilan, dan anomali untuk mengarahkan pengujian spesifik terhadap hipotesis.
EDA juga menyediakan alat untuk pembuatan hipotesis dengan memvisualisasikan
dan memahami data biasanya melalui representasi grafis. EDA bertujuan untuk
membantu pengenalan pola alami dari analis. Tujuan EDA dapat diringkas sebagai
berikut:
1. Maksimalkan wawasan ke dalam basis data / memahami struktur basis data.
2. Visualisasikan hubungan potensial (arah dan besarnya) antara variabel paparan
dan hasil.
3. Mendeteksi pencilan dan anomali (nilai yang secara signifikan berbeda dari
pengamatan lainnya).
4. Mengembangkan model (model prediksi atau penjelasan yang melakukan
dengan variabel paparan sesedikit mungkin) atau pemilihan awal model yang
sesuai.
5. Ekstrak dan membuat variabel yang relevan secara klinis.
Teknik EDA tergantung pada jenis data dan tujuan analisis. Berikut ini adalah
table mengenai Teknik EDA (MIT Critical Data, 2016):
Tabel 2.1 Teknik EDA Berdasarkan Tipe Data
Tipe data Teknik EDA yang disarankan
Categorical Descriptive statistic
Univariate continuous Line plot, Histograms
Bivariate continuous 2D scatter plots
2D arryas Heatmap
Multivariate: trivariate 3D scatter plot or 2D scatter
plot with a 3rd variable
represented in different color,
shape or size
Multiple groups Side-by-side boxplot
23
2.16 Unified Modelling Language
Unified Modelling Language atau UML adalah kumpulan model konstruksi
dan notasi yang didefinisikan oleh Object Management Group (OMG), organisasi
standar untuk pengembangan sistem. Dengan menggunakan UML, analis dan
pengguna akhir dapat menggambarkan dan memahami berbagai diagram khusus
yang digunakan dalam proyek pengembangan sistem. Sebelum UML, tidak ada
standar yang digunakan, sehingga diagram bisa membingungkan dan bervariasi
antara perusahaan yang satu dengan perusahaan lainnya (Satzinger, Jackson, & Burd,
2012). Tujuan UML adalah untuk menyediakan istilah umum yang berbasis objek
dan teknik membuat diagram yang cukup untuk memodelkan proyek pengembangan
system, mulai dari tahap analisis hingga tahap desain (Dennis, Wixom, & Roth, 2012,
p. 513). UML memungkinkan seorang pengembang piranti lunak untuk
mengekspresikan model analisis menggunakan notasi pemodelan yang diatur oleh
seperangkat aturan sintaksis, semantik, dan pragmatis. Ada beberapa jenis diagram
UML, yaitu:
2.16.1 Use Case Diagram
Diagram use case menggambarkan fungsi utama sistem dan berbagai
jenis pengguna yang akan berinteraksi melalui cara yang sangat sederhana
(Dennis, Wixom, & Roth, 2012). Seorang analis dapat menggunakan diagram
use case untuk lebih memahami fungsi sistem. Biasanya, diagram use case
dibuat pada bagian awal SDLC (System Development Life Cycle), ketika
analis mengumpulkan dan mendefinisikan persyaratan untuk sistem, untuk
menyediakan cara yang sederhana dan lugas dalam berkomunikasi kepada
para pengguna apa yang sistem akan lakukan.
24
Tabel 2.2 Komponen Use Case Diagram
Ada beberapa relasi yang terjadi antar use case, diantaranya:
• Include adalah relasi antar use case di mana suatu use case tidak dapat
berdiri sendiri tanpa use case lainnya.
• Extend digunakan apabila suatu use case memiliki beberapa pilihan
opsional.
• Generalization, disebut juga pewarisan, artinya sebuah elemen dapat
merupakan spesialisasi atau memiliki penurunan sifat dan definisi dari
use case lain, di mana use case tersebut dapat menimpa atau
menambahkan sifat dari sifat use case induknya.
2.16.2 Activity Diagram
Menurut Satzinger (2012, p. 57), activity diagram menggambarkan
berbagai aktivitas pengguna (atau sistem), orang yang melakukan aktivitas
masing-masing, dan urutan aktivitas yang terjadi. Activity diagram
mempunyai peran seperti flowchart, akan tetapi perbedaannya dengan
flowchart adalah activity diagram bisa mendukung perilaku paralel
sedangkan flowchart tidak bisa.
25
Tabel 2.3 Komponen Activity Diagram
2.16.3 Class Diagram
Class Diagram adalah model statis yang mendukung pandangan statis
dari sistem yang sedang berkembang yang menggambarkan kelas dan
hubungan di antara kelas-kelas yang tetap konstan dalam sistem dari waktu
ke waktu. Kelas adalah kategori atau klasifikasi yang digunakan untuk
menggambarkan kumpulan objek. Class diagram menggambarkan kelas, yang
mencakup atribut, perilaku, dan status (Dennis, Wixom, & Roth, 2012)
26
Tabel 2.4 Komponen Class Diagram
2.16.4 Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan aliran informasi
ke dalam dan ke luar sistem (Satzinger, Jackson, & Burd, 2012, p. 126).
Fokus yang ditekankan pada sequence diagram adalah bagaimana aktor
berinteraksi dengan sistem dengan memasukkan data input dan menerima
data output. Karena sequence diagram menekankan urutan waktu dari
aktivitas yang terjadi di antara sekumpulan class/objek, diagram ini sangat
27
membantu untuk memahami spesifikasi waktu nyata dan kasus penggunaan
yang kompleks (Dennis, Wixom, & Roth, 2012, p. 530).
Tabel 2.5 Komponen Sequence Diagram
2.17 Prototyping
Prototyping adalah sebuah proses model yang cocok digunakan ketika
kebutuhan tidak dijelaskan dengan lengkap dari segi fungsi dan fiturnya.
Prototyping membantu dalam memberikan pemahaman tentang apa yang ingin
dibuat ketika kebutuhan masih bersifat tidak jelas. Berikut adalah tahapan-tahapan
yang ada pada model prototyping (Pressman & Maxim, 2014):
28
1. Communication
Tahap ini mendefinisikan seluruh tujuan untuk sistem dan mengindentifikasi
kebutuhan yang diketahui.
2. Quick plan
Pada tahap ini dilakukan perencanaan secara cepat bedasarkan kebutuhan
yang sudah ditentukan.
3. Modelling quick design
Pada tahap ini mendesain model yang berfokus pada representasi aspek-aspek
sistem yang terlihat oleh pengguna.
4. Constructing
Pada tahap ini mendesain model dengan cepat menuntun kepada
pembentukan sebuah prototype.
5. Delivery dan feedback
Pada tahap ini prototype disebarkan dan dievaluasi oleh stakeholders, yang
menyediakan feedback yang akan digunakan untuk mengembangkan
kebutuhan. Iterasi pada prototype disesuaikan untuk memenuhi kebutuhan
dari beberapa stakeholders.
2.18 Lima Faktor Manusia Terukur
Lima faktor manusia terukur menurut (Shneiderman & Plaisant, 2010) yaitu:
1. Waktu belajar
Waktu yang diperlukan pengguna untuk mempelajari cara penggunaan
perangkat lunak untuk melakukan suatu pekerjaan dengan lancar.
2. Kecepatan kinerja
Waktu yang diperlukan perangkat lunak agar suatu tugas dapat dilakukan.
3. Tingkat kesalahan
Jumlah kesalahan dan jenis kesalahan-kesalahan yang dibuat oleh pengguna
pada saat menggunakan perangkat lunak.
4. Daya ingat
Kemampuan pengguna untuk mempertahankan pengetahuannya mengenai
perangkat lunak setelah jangka waktu tertentu.
5. Kepuasan subjektif
Kesukaan dan kepuasan pengguna terhadap perangkat lunak dari berbagai
aspek.
29
2.19 Python
Python adalah bahasa pemrograman interpretatif, berorientasi objek dan
semantik yang dinamis. Python memiliki high-level struktur data, dynamic typing
dan dynamic binding. Python juga memiliki sintaks sederhana dan mudah dipelajari
untuk penekanan pada kemudahan membaca dan mengurangi biaya perbaikan
program. Beberapa keunggulan python, antara lain:
1. Syntax yang simpel.
2. Memiliki library yang sangat banyak.
3. Mendukung Object-Oriented Programming.
4. Syntax dicek per baris, sehingga memudahkan pembacaan kembali dan
penulisan ulang.
5. Memiliki banyak fasilitas pendukung sehingga mudah mengoperasikan.
6. Open source.
2.20 Keras
Keras adalah API (Application Programming Interface) jaringan saraf tingkat
tinggi, ditulis dengan Python dan mampu berjalan di atas TensorFlow, CNTK, atau
Theano. Keras dikembangkan dengan fokus pada memungkinkan eksperimen cepat.
Mampu beralih dari ide ke hasil dengan penundaan sekecil mungkin adalah kunci
untuk melakukan penelitian yang baik.
2.21 Black Box Testing
Black Box Testing adalah pengujian berdasarkan spesifikasi persyaratan dan
tidak perlu memeriksa kode dalam black box testing. Black box testing memainkan
peran penting dalam pengujian perangkat lunak, ini membantu validasi
fungsionalitas keseluruhan sistem. Black box testing dilakukan berdasarkan
persyaratan pelanggan - sehingga persyaratan yang tidak lengkap atau tidak dapat
diprediksi dapat dengan mudah diidentifikasi dan dapat diatasi nanti. Pengujian black
box dilakukan berdasarkan perspektif pengguna akhir. Pentingnya pengujian kotak
hitam ini menangani input yang valid dan tidak valid dari perspektif pengguna.
Keuntungan utama black box testing adalah penguji tidak perlu memiliki
pengetahuan tentang bahasa pemrograman tertentu, tidak hanya bahasa pemrograman
tetapi juga pengetahuan tentang implementasi. Dalam black box testing, kedua
programmer dan penguji tidak tergantung satu sama lain. Keuntungan lain adalah
30
pengujian dilakukan dari sudut pandang pengguna. Keuntungan yang signifikan dari
black box testing adalah membantu mengekspos ambiguitas atau ketidakkonsistenan
dalam spesifikasi persyaratan (Nidhra, S., Dondeti, J., 2012).
2.22 Tinjauan Pustaka
Dasar dari pembuatan skripsi ini ditinjau dari beberapa jurnal penelitian,
antara lain:
1. Artikel berjudul “Structural Damage Detection with Automatic
Feature�Extraction through Deep Learning” yang ditulis oleh Yi�zhou Lin,
Zhen�hua Nie dan Hong�wei Ma pada tahun 2017. Artikel ini membahas
deep convolutional neural network dirancang untuk mempelajari fitur dan
mengidentifikasi lokasi kerusakan, yang mengarah ke hasil akurasi lokalisasi
yang sangat baik. Dengan menggunakan 6 convolution layer dan 3 max pooling
layer, kerusakan dideteksi dengan akurasi yang sangat tinggi (94.57%).
2. Artikel berjudul “1-D CNNs for structural damage detection: Verification on a
structural health monitoring benchmark data” yang ditulis oleh Osama
Abdeljaber, Onur Avci, Mustafa Serkan Kiranyaz, Boualem Boashash, Henry
Sodano, Daniel J.Inman pada tahun 2018. Jurnal ini membahas tentang
eksperimen Structural Damage Detection berbasis 1-D convolutional neural
network lainnya dilakukan pada benchmark frame structure, di mana kerusakan
struktural dibuat dengan melepas beberapa braces. Metode ini hanya meminta
dua data pengukuran di bawah kondisi kesehatan dan kerusakan parah,
melaporkan estimasi yang baik dari keseluruhan kondisi kesehatan struktural.
3. Artikel berjudul “Deep Learning Algorithms for Structural Condition
Identification with Limited Monitoring Data” yang ditulis oleh T. Zhang and Y.
Wang pada tahun 2019. Artikel ini membahas tentang structural condition
identification menggunakan data time domain dengan menerapkan algoritma
1D-CNN. Berdasarkan hasil eksperimen ini, didapatkan akurasi 92%.