OTOMASI PENENTUAN NILAI RADIOAKTIVITAS
RADIOISOTOP 241Am, 60Co, 137Cs, DAN 22Na MENGGUNAKAN
MULTI-OUTPUT MACHINE LEARNING
SKRIPSI
AHMAD HARIS
11160970000008
PROGRAM STUDI FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2021 M/ 1442 H
Selesai.
OTOMASI PENENTUAN NILAI RADIOAKTIVITAS
RADIOISOTOP 241Am, 60Co, 137Cs, DAN 22Na MENGGUNAKAN
MULTI-OUTPUT MACHINE LEARNING
SKRIPSI
Diajukan sebagai syarat untuk memperoleh gelar Sarjana Sains (S.Si)
Oleh
AHMAD HARIS
11160970000008
PROGRAM STUDI FISIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2021 M/ 1442 H
Selesai.
iii
LEMBAR PERSETUJUAN PEMBIMBING
OTOMASI PENENTUAN NILAI RADIOAKTIVITAS
RADIOISOTOP 241Am, 60Co, 137Cs, DAN 22Na MENGGUNAKAN
MULTI-OUTPUT MACHINE LEARNING
SKRIPSI
Diajukan sebagai syarat untuk memperoleh gelar Sarjana Sains (S.Si)
AHMAD HARIS
11160970000008
Menyetujui,
Pembimbing I
Edi Sanjaya, M.Si.
NIP. 19730715 200212 1 001
Pembimbing II
Nizar Septian, M.Si.
NUP. 9920113248
Mengetahui,
Ketua Program Studi Fisika,
UIN Syarif Hidayatullah Jakarta
Tati Zera, M.Si.
NIP. 19690608 200501 2 002
Selesai.
iv
LEMBAR PENGESAHAN
Skripsi yang berjudul OTOMASI PENENTUAN NILAI RADIOAKTIVITAS
RADIOISOTOP 241Am, 60Co, 137Cs, DAN 22Na MENGGUNAKAN MULTI-
OUTPUT MACHINE LEARNING yang telah disusun oleh Ahmad Haris dengan
NIM. 11160970000008 telah diuji dan dinyatakan lulus pada sidang Munaqosyah
Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
pada tanggal 28 Juni 2021. Skripsi ini telah diterima sebagai salah satu syarat untuk
memperoleh gelar Sarjana Strata Satu (S1) Program Studi Fisika.
Jakarta, 28 Juni 2021
Menyetujui,
Penguji I
Elvan Yuniarti, M.Si.
NIP. 19791227 200801 2 015
Penguji II
Dewi Lestari, M.Si.
NIDN. 0324048802
Pembimbing I
Edi Sanjaya, M.Si.
NIP. 19730715 200212 1 001
Pembimbing II
Nizar Septian, M.Si.
NUP. 9920113248
Mengetahui,
Dekan Fakultas Sains dan Teknologi
UIN Syarif Hidayatullah Jakarta
Ir. Nashrul Hakiem, Ph.D.
NIP. 19710608 200501 1 005
Ketua Program Studi Fisika
Fakultas Sains dan Teknologi
Tati Zera, M.Si.
NIP. 19690608 200501 2 002
Selesai.
v
LEMBAR PERNYATAAN
Yang bertanda tangan di bawah ini :
Nama : Ahmad Haris
NIM : 11160970000008
Dengan ini menyatakan bahwa skripsi yang berjudul OTOMASI PENENTUAN
NILAI RADIOAKTIVITAS RADIOISOTOP 241Am, 60Co, 137Cs, DAN 22Na
MENGGUNAKAN MULTI-OUTPUT MACHINE LEARNING adalah benar
merupakan karya saya sendiri dan tidak melakukan plagiasi dalam penyusunannya.
Adapun kutipan yang ada dalam penyusunan karya ini telah saya cantumkan
sumbernya dalam skripsi.
Demikian pernyataan ini dibuat untuk dipergunakan seperlunya.
Jakarta, 28 Juni 2021
Ahmad Haris
NIM. 11160970000008
Selesai.
vi
ABSTRAK
Radioaktivitas merupakan peristiwa meluruhnya inti atom dari suatu radioisotop
yang tidak stabil secara spontan dengan mengemisikan jenis-jenis sinar, salah
satunya sinar gamma yang memiliki karakteristik tersendiri. Yang dapat diukur
dengan suatu metode yaitu spektrometri gamma. Oleh karena itu radioaktivitas dari
suatu radioisotop dapat diketahui karakteristiknya dengan cara menganalisis
spektrum gamma yang diemisikannya. Pada penelitian ini, dilakukan penentuan
nilai radioaktivitas berupa puncak energi dan aktivitas radioaktif berdasarkan data
spektroskopi gamma dari masing-masing radioisotop dengan menggunakan
beberapa algoritma machine learning yaitu Decision Tree Regressor, Random
Forest Regressor, dan k-Nearest Neighbors Regressor. Algoritma akan diberikan
dua variasi kondisi yaitu dengan hyper-parameter default dan dilakukan proses
tuning hyper-parameter. Setelah dilakukan penelitian, menunjukkan adanya
perbedaan performa maupun hasil prediksi yang diperoleh pada setiap algoritma
machine learning di setiap variasi kondisi yang diberikan. Dimana algoritma k-
Nearest Neighbors Regressor dengan hyper-parameter default memberikan
perfoma dan hasil yang optimum. Dengan perolehan secara keseluruhan rata-rata
nilai NRMSE hasil prediksi proses uji sebesar 2,47% untuk puncak energi dan
43,57% untuk net peak area (NPA) serta nilai MAPE hasil akhir sebesar 5,98%
untuk puncak energi dan 27,50% untuk aktivitas radioaktif.
Kata Kunci: Aktivitas radioaktif, Decision Tree Regressor, k-NN Regressor,
Machine learning, MAPE, NPA, NRMSE, Puncak energi, Radioaktivitas,
Radioisotop, Random Forest Regressor, Tuning hyper-parameter.
Selesai.
vii
ABSTRACT
Radioactivity is the event of the decay of the atomic nucleus of a radioisotope that
is unstable by transmitting the types of rays spontaneously, one of them is gamma
rays that has its own characteristic and it can be measured by gamma spectrometry
method. Therefore, the radioactivity’s characteristic of a radioisotope can be
known by analyzing the its emitted gamma spectrum. In this study the determination
of each radioisotope’s radioactivity values that is peak energy and radioactive
activity based on gamma spectroscopy data using several machine learning
algorithms namely Decision Tree Regressor, Random Forest Regressor, and k-
Nearest Neighbors Regressor. The algorithm will be given two variations of
conditions with the default hyper-parameter and tuning hyper-parameter process.
The research showed the difference in performance and prediction results obtained
in each machine learning algorithm in each variation of the given conditions. K-
Nearest Neighbors Regressor algorithm with default hyper-parameters provides
optimum performance and results, with an overall score of the predicted test
process average NRMSE values are 2.47% for peak energy and 43.57% for net
peak area (NPA) and the final result MAPE values are 5.98% for peak energy and
27.50% for radioactive activity.
Keywords: Radioactive Activity, Decision Tree Regressor, k-NN Regressor,
Machine learning, MAPE, NPA, NRMSE, Peak energy, Radioactivity,
Radioisotope, Random Forest Regressor, Hyper-parameter tuning.
Selesai.
viii
KATA PENGANTAR
Puji dan syukur penulis panjatkan ke hadirat Allah SWT yang telah
memberikan rahmat dan karunia-Nya sehingga penulis dapat melaksanakan
penelitian serta menyelesaikan penulisan laporan skripsi yang berujudul
“OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP
241Am, 60Co, 137Cs, DAN 22Na MENGGUNAKAN MULTI-OUTPUT
MACHINE LEARNING” dengan sebaik-baiknya. Tak lupa shalawat serta salam
semoga selalu tercurahkan kepada Nabi Muhammad SAW beserta keluarganya,
sahabatnya, dan seluruh umat-nya. Amiin Yaa Rabbal’Alamiin.
Dalam melaksanakan penelitian dan menyelesaikan penulisan laporan
skripsi ini, penulis mendapatkan banyak bantuan, motivasti, bimbingan, serta
dukungan dari berbagai pihak. Oleh karena itu, pada kesempatan ini penulis ingin
mengucapkan terima kasih kepada:
1. Kedua orang tua dan seluruh keluarga penulis yang selalu memberikan
do’a dan dukungannya baik secara moril maupun materil.
2. Bapak Edi Sanjaya, M.Si., selaku dosen pembimbing pertama dan
Bapak Nizar Septian, M.Si., selaku dosen pembimbing kedua yang
yang senantiasa selalu membimbing, memberikan pengetahun, saran
yang membangun, dan motivasi kepada penulis sejak memulai
penelitian hingga menyelesaikan penulisan laporan skripsi ini dengan
baik.
3. Ibu Tati Zera, M.Si., selaku Ketua dan Ibu Elvan Yuniarti, M.Si., selaku
Sekretaris Program Studi Fisika UIN Syarif Hidayatullah Jakarta yang
telah memberikan banyak informasi dan bantuan kepada penulis dari
awal sampai akhir proses penelitian serta penulisan laporan skripsi
sehingga dapat terselesaikan dengan lancar.
4. Seluruh dosen dan staff pengajar Program Studi Fisika UIN Syarif
Hidayatullah Jakarta yang telah memberikan begitu banyak ilmu
pengetahuan dan bimbingannya selama menempuh perkuliahan.
ix
5. Bapak Ir. Nashrul Hakiem, Ph.D., selaku Dekan Fakultas Sains dan
Teknologi UIN Syarif Hidayatullah Jakarta.
6. Atikah Amnah, selaku rekan seperjuangan penulis selama mengerjakan
tugas akhir yang selalu menjadi teman berdikusi dan juga memberikan
motivasi satu sama lain.
7. Sahabat-sahabat penulis: Eko, Shila, Sarah, Kirana, Laduni, Dwi, Mely,
Asokha, Zarkashie, Nanda, Yusuf, Rizki, Mustadi, Haikal, dan Luthfi
yang selalu memberikan semangat, saran, dan bantuan kepada penulis
selama berkuliah sampai menyelesaikan tugas akhir ini.
8. Kak Sholih dan Kak Iman yang tidak pernah bosan membantu dan
membagikan ilmunya kepada penulis.
9. Bapak Priyambodo, S.Si., selaku dosen laboratorium fisika yang telah
membantu penulis baik mengarahkan dan memberikan sarannya selama
melaksanakan penelitian di PLT UIN Syarif Hidayatullah Jakarta.
10. Teman-teman Fisika UIN Jakarta 2016 khususnya peminatan
Instrumentasi dan Seluruh pihak yang tidak bisa penulis sebutkan satu
persatu yang telah membantu dalam penyelesaian tugas akhir ini baik
secara langsung maupun tidak langsung.
Semoga semua pihak yang telah membantu mendapatkan balasan yang
setimpal atas kebaikannya dari Allah SWT. Penulis menyadari bahwa laporan
skripsi ini masih memiliki banyak sekali kekurangan di dalamnya sehingga dalam
kesempatan ini, penulis mengharapkan saran dan masukan yang membangun dari
berbagai pihak demi penulisan laporan skripsi yang lebih baik lagi. Penulis juga
berharap agar laporan skripsi ini dapat memberikan manfaat khususnya bagi penulis
dan umumnya bagi para pembaca.
Jakarta, 28 Juni 2021
Penulis,
Ahmad Haris
NIM. 1116097000008
x
DAFTAR ISI
LEMBAR PERSETUJUAN PEMBIMBING .................................................... iii
LEMBAR PENGESAHAN ................................................................................. iv
LEMBAR PERNYATAAN .................................................................................. v
ABSTRAK ............................................................................................................ vi
ABSTRACT ......................................................................................................... vii
KATA PENGANTAR ........................................................................................ viii
DAFTAR ISI .......................................................................................................... x
DAFTAR GAMBAR .......................................................................................... xiii
DAFTAR TABEL ............................................................................................... xv
BAB I PENDAHULUAN............................................................................. 1
1.1. Latar Belakang ................................................................................... 1
1.2. Perumusan Masalah ........................................................................... 3
1.3. Batasan Masalah ................................................................................ 3
1.4. Tujuan Penelitian ............................................................................... 4
1.5. Manfaat Penelitian ............................................................................. 5
1.6. Sistematika Penulisan ........................................................................ 5
BAB II TINJAUAN PUSTAKA ................................................................... 7
2.1. Radioaktivitas..................................................................................... 7
2.2. Peluruhan Gamma .............................................................................. 8
2.3. Spektrometri Gamma ....................................................................... 13
2.3.1. Sintilator NaI(Tl).............................................................................. 14
2.4. Aktivitas Radioaktif ......................................................................... 16
2.5. Efisiensi Mutlak Detektor ................................................................ 22
xi
2.6. Machine Learning ............................................................................ 24
2.7. Regresi ............................................................................................. 25
2.7.1. Decision Tree Regressor .................................................................. 26
2.7.2. Random Forest Regressor ................................................................ 30
2.7.3. k-Nearest Neighbors Regressor ....................................................... 32
2.8. Multi-output Machine Learning ....................................................... 35
2.9. Tuning Hyper-parameter ................................................................. 36
2.10. Python .............................................................................................. 40
2.10.1. Scikit-Learn ...................................................................................... 42
2.10.2. Integrated Development Environment (IDE) ................................... 43
2.11. Evaluasi Performa Algoritma Machine Learning ............................ 44
2.11.1. Root Mean Square Error (RMSE) ................................................... 45
2.11.2. Normalized Root Mean Square Error (NRMSE) ............................ 46
2.11.3. Mean Absolute Percentage Error (MAPE) ..................................... 48
BAB III METODE PENELITIAN .............................................................. 50
3.1. Lokasi dan Waktu Penelitian ........................................................... 50
3.2. Alat dan Bahan ................................................................................. 50
3.3. Tahapan Penelitian ........................................................................... 51
3.4. Proses Penelitian .............................................................................. 52
3.4.1. Perancangan Program ...................................................................... 53
3.4.2. Pembuatan Program ......................................................................... 58
3.4.3. Pengambilan Dataset ........................................................................ 58
3.4.4. Training dan validating Algoritma Machine Learning.................... 60
3.4.5. Menguji Program dengan Data Test................................................. 62
3.4.6. Evaluasi Program ............................................................................. 63
xii
BAB IV HASIL DAN PEMBAHASAN ...................................................... 64
4.1. Program penentuan nilai radioaktivitas radioisotop ......................... 64
4.1.1. Pre-processing dataset ..................................................................... 65
4.1.2. Training dan validating algoritma machine learning ...................... 68
4.1.3. Uji coba program ............................................................................. 70
4.1.4. Evaluasi Performa Program ............................................................. 71
4.2. Performa prediksi secara keseluruhan algoritma machine learning 73
4.2.1. Decision Tree Regressor .................................................................. 73
4.2.2. Random Forest Regressor ................................................................ 77
4.2.3. k-Nearest Neighbors Regressor ....................................................... 81
4.2.4. Analisis performa algoritma machine learning serta pengaruh proses
tuning hyper-parameter ................................................................... 84
4.3. Nilai aktivitas kalkulasi dan efisiensi mutlak detektor .................... 88
4.4. Hasil prediksi dan akhir masing-masing algoritma machine learning
......................................................................................................... 90
4.4.1. Decision Tree Regressor .................................................................. 91
4.4.2. Random Forest Regresssor ............................................................... 96
4.4.3. k-Nearest Neighbors Regressor ..................................................... 100
4.4.4. Analisis hasil prediksi dan akhir algoritma machine learning serta
pengaruh proses tuning hyper-parameter ...................................... 104
4.5. Penentuan algoritma machine learning optimum .......................... 108
BAB V PENUTUP ..................................................................................... 111
5.1. Kesimpulan .................................................................................... 111
5.2. Saran............................................................................................... 112
DAFTAR PUSTAKA ........................................................................................ 113
LAMPIRAN ....................................................................................................... 121
xiii
DAFTAR GAMBAR
Gambar 2. 1 Emisi sinar gamma yang mengikuti peluruhan partikel beta [3] ....... 9
Gambar 2. 2 (a) Skema peluruhan 241Am [21], (b) Spektrum gamma 241Am [22] 10
Gambar 2. 3 (a) Skema peluruhan 137Cs [20], (b) Spektrum gamma 137Cs [22] ... 11
Gambar 2. 4 (a) Skema peluruhan 60Co [20], (b) Spektrum gamma 60Co [22] ..... 12
Gambar 2. 5 (a) Skema peluruhan 22Na [20], (b) Spektrum gamma 22Na [22] ..... 13
Gambar 2. 6 Skema Sintilator NaI(Tl) [27] .......................................................... 15
Gambar 2. 7 Perhitungan NPA menggunakan metode Covell [31] ...................... 20
Gambar 2. 8 Perhitungan NPA dengan menggunakan rata-rata batas bawah dan atas
[31] ........................................................................................................................ 22
Gambar 2. 9 Prediksi dengan regresi [4] ............................................................... 25
Gambar 2. 10 Visualisasi prediksi algoritma DTR [37] ....................................... 27
Gambar 2. 11 Visualisasi prediksi algoritma RFR [43] ........................................ 30
Gambar 2. 12 Visualisasi prediksi algoritma k-NN [35] ...................................... 33
Gambar 3. 1 Tahapan Penelitian ........................................................................... 52
Gambar 3. 2 Flow-chart kerja program ................................................................ 54
Gambar 3. 3 Flow-chart pre-processing dataset: (a) data training, (b) data test .. 56
Gambar 3. 4 Susunan alat untuk pengambilan data spektroskopi gamma [77] .... 58
Gambar 4. 1 Kode program untuk proses pre-processing dataset masing-masing
preprat radioisotop pada data training .................................................................. 66
Gambar 4. 2 Kode proses latih algoritma DTR pada program dengan variasi kondisi
di-setting hyper-parameter default ....................................................................... 68
Gambar 4. 3 Kode proses latih algoritma DTR pada program dengan variasi kondisi
dilakukan proses tuning hyper-parameter ............................................................ 69
Gambar 4. 4 Kode untuk melakukan proses prediksi data uji setiap algoritma
machine learning ................................................................................................... 70
Gambar 4. 5 Grafik rata-rata nilai NRMSE puncak energi hasil prediksi algoritma
DTR pada setiap program yang dibuat.................................................................. 92
xiv
Gambar 4. 6 Grafik rata-rata nilai NRMSE NPA hasil prediksi algoritma DTR pada
setiap program yang dibuat ................................................................................... 92
Gambar 4. 7 Grafik Nilai MAPE puncak energi algoritma DTR pada setiap program
yang dibuat ............................................................................................................ 95
Gambar 4. 8 Grafik Nilai MAPE aktivitas radioaktif algoritma DTR pada setiap
program yang dibuat ............................................................................................. 95
Gambar 4. 9 Grafik rata-rata nilai NRMSE puncak energi hasil prediksi algoritma
RFR pada setiap program yang dibuat .................................................................. 97
Gambar 4. 10 Grafik rata-rata nilai NRMSE NPA hasil prediksi algoritma RFR
pada setiap program yang dibuat........................................................................... 97
Gambar 4. 11 Grafik Nilai MAPE puncak energi algoritma RFR pada setiap
program yang dibuat ............................................................................................. 99
Gambar 4. 12 Grafik Nilai MAPE aktivitas radioaktif algoritma RFR pada setiap
program yang dibuat ........................................................................................... 100
Gambar 4. 13 Grafik rata-rata nilai NRMSE puncak energi hasil prediksi algoritma
k-NN pada setiap program yang dibuat .............................................................. 102
Gambar 4. 14 Grafik rata-rata nilai NRMSE NPA hasil prediksi algoritma k-NN
pada setiap program yang dibuat......................................................................... 102
Gambar 4. 15 Grafik Nilai MAPE puncak energi algoritma k-NN pada setiap
program yang dibuat ........................................................................................... 104
Gambar 4. 16 Grafik Nilai MAPE aktivitas radioaktif algoritma k-NN pada setiap
program yang dibuat ........................................................................................... 104
Selesai.
xv
DAFTAR TABEL
Tabel 2. 1 Karakteristik Radioisotop yang digunakan [19] .................................. 13
Tabel 2. 2 Algoritma machine learning beserta hyper-parameter nya [50] ......... 37
Tabel 2. 3 Interpretasi nilai metrik kesalahan NRSME terhadap performa algoritma
machine learning [65] ........................................................................................... 48
Tabel 2. 4 Interpretasi nilai metrik kesalahan MAPE terhadap hasil prediksi
algoritma machine learning [73] [74] [75] [76] .................................................... 49
Tabel 3. 1 Variasi jumlah dataset preparat terhadap waktu .................................. 59
Tabel 3. 2 Hyper-parameter yang akan di tuning dan default setiap algoritma
machine learning [41] [47] [78] ............................................................................ 62
Tabel 4. 1 Data spektroskopi gamma 241Am dengan variasi waktu pengambilan 300
detik untuk data training dan validation ............................................................... 65
Tabel 4. 2 Dataset features data training dan validation ...................................... 67
Tabel 4. 3 Dataset targets data training dan validation ........................................ 67
Tabel 4. 4 Waktu proses latih yang dibutuhkan algoritma DTR di setiap variasi
kondisi program .................................................................................................... 74
Tabel 4. 5 Kombinasi tuned hyper-parameter algoritma DTR ............................. 75
Tabel 4. 6 Nilai RMSE algoritma DTR pada proses validasi dan uji di setiap variasi
kondisi program .................................................................................................... 76
Tabel 4. 7 Waktu proses latih yang dibutuhkan algoritma RFR di setiap variasi
kondisi program .................................................................................................... 77
Tabel 4. 8 Kombinasi tuned hyper-parameter algoritma RFR ............................. 78
Tabel 4. 9 Nilai RMSE algoritma RFR pada proses validasi dan uji di setiap variasi
kondisi program .................................................................................................... 79
Tabel 4. 10 Waktu proses latih yang dibutuhkan algoritma k-NN di setiap variasi
kondisi program .................................................................................................... 81
Tabel 4. 11 Kombinasi tuned hyper-parameter algoritma k-NN .......................... 82
Tabel 4. 12 Nilai RMSE algoritma k-NN pada proses validasi dan uji di setiap
variasi kondisi program ......................................................................................... 83
xvi
Tabel 4. 13 Nilai RMSE setiap algoritma pada setiap proses di setiap variasi kondisi
program ................................................................................................................. 85
Tabel 4. 14 Puncak energi gamma literatur dari masing-masing preparat radioisotop
[19] ........................................................................................................................ 88
Tabel 4. 15 Variabel yang digunakan dalam pehitungan nilai aktivitas kalkulasi [81]
............................................................................................................................... 89
Tabel 4. 16 Nilai aktivitas kalkulasi masing-masing preparat radioisotop ........... 89
Tabel 4. 17 Nilai efisiensi mutlak detektor untuk masing-masing preparat radisotop
............................................................................................................................... 90
Tabel 4. 18 Rata-rata ± standar deviasi target data puncak energi dan NPA hasil
prediksi algoritma DTR pada setiap variasi kondisi program ............................... 91
Tabel 4. 19 Rata-rata ± standar deviasi aktivitas radioaktif hasil perhitungan oleh
algoritma DTR pada setiap varisasi kondisi program ........................................... 94
Tabel 4. 20 Rata-rata ± standar deviasi target data puncak energi dan NPA hasil
prediksi algoritma RFR pada setiap variasi kondisi program ............................... 96
Tabel 4. 21 Rata-rata ± Standar deviasi aktivitas radioaktif hasil perhitungan oleh
algoritma RFR pada setiap variasi kondisi program ............................................. 99
Tabel 4. 22 Rata-rata ± standar deviasi target data puncak energi dan NPA hasil
prediksi algoritma k-NN pada setiap variasi kondisi program............................ 101
Tabel 4. 23 Rata-rata ± standar deviasi aktivitas radioaktif hasil perhitungan oleh
algoritma k-NN pada setiap variasi kondisi program ......................................... 103
Tabel 4. 24 Nilai MAPE data test hasil perhitungan ........................................... 107
Tabel 4. 25 Perolehan keseluruhan rata-rata nilai NRMSE hasil prediksi setiap
algoritma di setiap variasi kondisi program ........................................................ 109
Tabel 4. 26 Perolehan keseluruhan nilai MAPE hasil akhir setiap algoritma di setiap
variasi kondisi program ....................................................................................... 109
Selesai.
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Pesatnya perkembangan pada ilmu pengetahuan dan teknologi terjadi pada
beberapa tahun belakangan ini. Hal ini merupakan hasil dari pada seruan Tuhan
kepada manusia, sebagaimana firman Allah SWT dalam pada QS. Ar-Rahmat (55)
ayat 33 [1]:
ن ـ وٲت وٱلرض فٱنفذوا ل تنفذون إل بسلط ـ نس إن ٱستطعتم أن تنفذوا من أقطار ٱلسم معشر ٱلجن وٱل ـ ي
Artinya: “Hai jamaah Jin dan Manusia, jika kamu sanggup menembus
(melintasi) penjuru langit dan bumi, maka lintasilah, kamu tidak dapat
menembusnya, melainkan dengan kekuatan”
Ayat di atas memberikan isyarat khususnya kepada manusia, agar memperoleh dan
mengembangkan kekuatan sehingga dapat melakukan segala sesuatu yang
sebelumnya belum pernah dilakukan. Kekuatan yang dimaksud pada ayat di atas
sebagaimana ditafsirkan merupakan ilmu pengetahuan dan teknologi [2].
Teknologi komputasi adalah salah satu bidang yang mengalami
perkembangan yang pesat. Dimana ditambah dengan meningkatnya algoritma
matematika, teknologi komputasi sering digunakan terlebih oleh para ilmuwan
untuk memecahkan masalah kompleks yang sulit untuk diselesaikan secara manual
dengan tangan [3]. Salah satu bentuk perkembangan dari bidang teknologi
komputasi adalah machine learning [4]. Dimana sebuah mesin (komputer) akan
2
diberikan kemampuan belajar tanpa diprogram secara khusus. Sehingga komputer
dapat menyelesaikan suatu tugas dengan menggunakan pengalamannya (hasil
pembelajaran) mengenai informasi-informasi masa lampau mengenai tugas
tersebut yang diberikan sebelumnya [5]. Dengan menggunakan machine learning,
sebuah komputer dapat mempermudah pekerjaan yang dilakukan seperti
mendiagnosis penyakit pada manusia [6], menerjemahkan pembicaraan dari
berbagai bahasa [7] bahkan dapat mengenali wajah seseorang dari citra gambar atau
video [8]. Dari penjelasan di atas, satu istilah yang dapat diberikan kepada machine
leaning yaitu memfasilitasi pemecahan masalah [9]. Dengan begitu machine
learning dapat dimanfaatkan di berbagai bidang lainnya seperti bidang penelitian
fisika, salah satunya analisis radioaktivitas.
Radioaktivitas atau peluruhan radioaktif merupakan peristiwa meluruhnya
inti atom zat radioaktif yang tidak stabil secara spontan dengan mengemisikan
jenis-jenis sinar salah satunya sinar gamma [10]. Proses peluruhan dari zat
radioaktif dapat ukur dengan menggunakan suatu metode yaitu spektrometri
gamma [11]. Dengan begitu radioaktivitas dari zat radioaktif dapat dianalisis lebih
lanjut, seperti menentukan nilai puncak energi dan nilai aktivitas radioaktifnya.
Penelitian mengenai radioaktivitas sebelumnya sudah banyak dilakukan baik
dengan atau tanpa menggunakan machine learning. Seperti yang dilakukan oleh
Ismet Isnaeni, dkk tahun 2019, dimana mereka berhasil membuat program dengan
Raspberry Pi 3 untuk mensimulasikan pendeteksian puncak energi radionuklida
pada PMR (Radiation Portal Monitor) [12]. Selanjutnya penelitian yang dilakukan
oleh M. Sholih Fajri, dkk pada tahun 2020, yang berhasil melakukan identifikasi
3
pada lima preparat radioisotop menggunakan salah satu algoritma machine leraning
berdasarkan data spektrum gammanya [13]. Dan Penelitian lainnya dilakukan oleh
Huseyin Sahiner pada tahun 2017, kali ini menggunakan salah satu kelas dari
machine learning. Dimana ia berhasil membuat sistem spektroskopi gamma dengan
menggunakan ANN (Artificial Neural Network) yang digabungkan dengan MCNP
(Monte Carlo N-Particle transport code) [14].
Berdasarkan paparan di atas, maka pada penelitian ini dilakukan penentuan
nilai radioaktivitas berupa puncak energi dan aktivitas radioaktif pada preparat
radioisotop 241Am, 60Co, 137Cs, dan 22Na menggunakan multi-output machine
learning. Sebagai salah satu bentuk implementasi machine learning dalam bidang
penelitian fisika.
1.2. Perumusan Masalah
Berdasarkan pada latar belakang di atas, maka didapatkan rumusan masalah
pada penelitian ini sebagai berikut:
1. Bagaimana membuat program untuk menentukan nilai radioaktivitas
radioisotop dengan mengimplementasikan beberapa algoritma machine
learning?
2. Bagaimana pengaruh proses tuning hyper-parameter terhadap performa
dan hasil setiap algoritma machine learning pada proses prediksi ?
3. Algoritma machine learning apa yang memberikan hasil optimum?
1.3. Batasan Masalah
Adapun batasan masalah pada penelitian ini adalah sebagai berikut:
4
1. Nilai radioaktivitas yang dihitung adalah nilai puncak energi dan nilai
aktivitas peluruhan gamma radioisotop.
2. Sumber radioisotop yang digunakan pada penelitian ini adalah 241Am,
60Co, campuran (90Sr, 241Am, dan 137Cs), dan 22Na dengan memilih salah
satu puncak energi gamma dari masing-masing radioisotop.
3. Pada preparat radioisotop campuran, penentuan nilai radioaktivitas
berdasarkan karakteristik spektrum gamma radioisotop 137Cs.
4. Dataset yang dipakai merupakan data spektroskopi gamma 256 channel
dari masing-masing preparat radioisotop dengan rentang energi dari 0-
1572 keV dan resolusi sebesar 6,2 keV.
5. Pada penelitian menggunakan multi-ouput machine learning, dimana
algoritma yang dipakai adalah Decision Tree Regressor, Random Forest
Regressor, dan k-Nearest Neighbors Regressor.
6. Dilakukan variasi kondisi algoritma machine learning yaitu algoritma
dengan hyper-parameter default dan dengan dilakukan proses tuning
hyper-parameter.
7. Penelitian ini berfokus pada pembuatan program untuk menentukan
radioaktivitas radioisotop berdasarkan data spektroskopi gamma dengan
menggunakan beberapa algoritma machine learning.
1.4. Tujuan Penelitian
Berdasarkan rumusan masalah yang ada, maka tujuan penelitian ini adalah
sebagai berikut:
5
1. Membuat program untuk menentukan nilai radioaktivitas radioisotop
dengan mengimpelementasikan machine learning.
2. Menganalisis pengaruh proses tuning hyper-parameter terhadap
performa dan hasil setiap algoritma machine learning pada proses
prediksi.
3. Menentukan algoritma machine learning optimum berdasarkan
perolehan hasil secara keseluruhan.
1.5. Manfaat Penelitian
Adapun penelitian ini diharapkan memiliki manfaat sebagai berikut:
1. Sebagai salah satu cara penyelesaian dalam penentuan nilai radioaktivitas
radioisotop secara otomatis dengan menggunakan machine learning.
2. Menjadi bahan referensi untuk penelitian-penelitian selajutnya mengenai
otomasi penentuan nilai radioaktivitas radioisotop.
3. Menambah pengetahun bagi mahasiswa dan pembaca mengenai machine
learning dan penggunaanya di bidang fisika.
1.6. Sistematika Penulisan
Skripsi ini berisi lima bab dengan uraian sebagai berikut.
BAB I PENDAHULUAN
Bab ini berisi latar belakang penelitian, perumusan masalah, batasan
masalah, tujuan penelitian, manfaat penelitian dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
6
Bab ini berisi teori tentang penelitian yang terkait dan informasi
tentang alat yang digunakan dalam penelitian.
BAB III METODE PENELITAN
Bab ini berisi langkah penelitian, waktu dan tempat penelitian, alat
yang digunakan hingga prosedur penelitian dari awal sampai akhir
penelitian.
BAB IV HASIL DAN PEMBAHASAN
Bab ini berisi mengenai hasil yang didapat dan pembahasan
mengenai hasil tersebut.
BAB V PENUTUP
Bab ini berisi kesimpulan penelitian ini dan saran untuk penelitian-
penelitian selanjutnya
Selesai.
7
BAB II
TINJAUAN PUSTAKA
2.1. Radioaktivitas
Radioaktivitas atau bisa disebut dengan peluruhan radioaktif merupakan
peristiwa terurai atau meluruhya beberapa inti atom yang tidak stabil secara spontan
dengan pancaran partikel alfa (inti helium), partikel beta (elektron) atau sinar
gamma (gelombang elektromagnetik). Radioaktivitas alami pertama kali ditemukan
oleh Becquerel pada tahun 1986. Bacquerel secara kebetulan dalam penelitiannya,
menemukan bahwa uranium menunjukkan keaktifan radiasi tertentu dengan daya
tembus yang kuat seperti sinar-X, walaupun senyawa uranium yang digunakan
tidak disinari terlebih dahulu. Hal ini menunjukkan bahwa tanpa terkena sinar
matahari pun bahan uranium akan tetep menghasilkan sinar dengan daya tembus
yang tingi seperti sinar-X. Pemancaran sinar tembus (sinar radioaktif) secara
spontan oleh inti-inti atom yang tidak stabil (seperti uranium) yang dinamakan
radioaktivitas dan senyawa seperti uranium dinamakan sebagai zat radioaktif [10].
Dalam pembahasan dunia peluruhan radioaktif atau nuklir, kita mengenal
radionuklida dan radioisotop. Inti atom dari sebuah isotop tertentu disebut nuklida
yang biasa di representasikan dengan simbol (X) dan dicirikan dengan jumlah
proton (Z), neutron (N) dan keadaan energi inti. Dimana dalam aturan massa atom
dan nomor atom, nuklida bisa dinotasikan sebagai berikut [15]:
𝑋𝑁𝑍𝐴 (2.1)
8
Dimana Z merupakan nomor atom, A adalah nomor massa dan N adalah jumlah
neutron dengan 𝑁=𝐴−𝑍 [16]. Adanya kemungkinan untuk 2 nuklida memiliki
nomor atom yang sama dengan nomor massa yang berbeda (jumlah proton yang
sama, tetapi jumlah neutronnya berbeda) disebut sebagai isotop (radioisotop
merupakan isotop dari zat radioaktif). Yang memiliki penulisan sebagai berikut
[15]:
𝑋𝑁+1𝑍𝐴+1 (2.2)
Berdasarkan jenis sinar yang dipancarkan, peluruhan radioaktif dibagi
menjadi tiga yaitu peluruhan alfa, peluruhan beta dan peluruhan gamma. Apabila
ketidakstabilan inti atom disebabkan karena komposisi jumlah proton dan
neutronnya tidak seimbang, maka inti tersebut akan akan berubah dengan
memancarkan radiasi alfa atau radiasi beta, sedangkan apabila ketidakstabilan inti
atom tersebut dikarenakan tingkat energinya yang tidak berada pada keadaan dasar
maka inti atom tersebut akan berubah dengan memancarkan sinar gamma [10].
2.2. Peluruhan Gamma
Peluruhan gamma berbeda dengan dua jenis peluruhan lainnya (alfa dan
beta), karena dalam peluruhan ini tidak menyebabkan adanya perubahan nomor
atom maupun nomor massa dikarenakan radiasi yang dipancarkan dalam peluruhan
ini berupa gelombang elektromagnetik (foton/ sinar gamma) [10]. Sinar gamma
merupakan radiasi elektromagnetik berfrekuensi tinggi yang dihasilkan oleh inti
atom yang meluruh ketika inti anak (nuklida turunan) masih memiliki energi
eksitasi. Besarnya energi eksitasi merupakan karakteristik dari setiap nuklida. [17].
9
Gambar 2. 1 Emisi sinar gamma yang mengikuti peluruhan partikel beta [3]
𝑋𝑁∗
𝑍𝐴 = 𝑋𝑁𝑍
𝐴 + 𝛾 (2.3)
Dimana simbol * merupakan tanda keadaan eksitasi. Sinar gamma akan
dipancarkan ketika sebuah nuklida dari sebuah atom mencapai keadaan dasarnya
setelah mengemisi satu atau lebih foton. Energi yang dimiliki yang dimiliki setiap
foton merupakan perbedaan energi antara keadaan awal dan akhir inti atom [16].
Berikut merupakan radioisotop yang digunakan dalam penelitian dan skema
peluruhan gammanya:
a. 241Am (Americium-241)
241Am dibuat pada reaktor nuklir dengan cara meradiasi 239Pu
(Plutonium-239) dengan neutron. Atom dari 239Pu cenderung
mengalami proses fisi ketika diradiasi dengan neutron, tetapi beberapa
fraksi dari atom akan menyerap neutron sebaga gantinya sehingga
membentuk 240Pu lalu menyerap kembali neutron dan membentuk
241Pu. 241Pu kemudian dikeluarkan dari reaktor dan mengalami
10
peluruhan beta sehingga membentuk 241Am. Berikut merupakan proses
nuklir terbentuknya 241Am [18]:
𝑃𝑢 + 2𝑛 → 𝑃𝑢 + 𝑛 240 → 𝑃𝑢 → 241 𝐴𝑚 +241 𝛽−239 (2.4)
241Am melakukan peluruhan alfa sehingga membentuk 237Np
(Neptunium-237) dengan produk sampingan sinar gamma sebesar
59,54 keV dan memiliki waktu paruh selama 432.23 tahun [19].
Peluruhan alfa yang dilakukan 241Am ditunjukan sebagai berikut [20]:
𝐴𝑚 → 𝑁𝑝 +237 𝛼2+ + 𝛾241 (2.5)
Berikut merupakan skema peluruhan dan spektrum gamma dari 241Am:
(a) (b)
Gambar 2. 2 (a) Skema peluruhan 241Am [21], (b) Spektrum gamma 241Am [22]
b. 137Cs (Caesium-137)
137Cs merupakan radioisotop yang terbentuk secara spontan ketika
radioaktif seperti 235U (Uranium-235) dan 239Pu (Plutonium-239)
menyerap neutron dan mengalami proses fisi [23]. 137Cs mengalami
peluruhan beta sehingga menghasilkan 137Ba (Barium-137) dengan
produk sampingan sinar gamma sebesar 661,66 keV agar mencapai
11
keadaan dasar dan memiliki waktu paruh selama 30,07 tahun [19].
Proses peluruhan beta yang dilakukan oleh 137Cs sebagai berikut [20]:
𝐶𝑠 → 𝐵𝑎 +137 𝛽− + 𝛾137 (2.6)
Berikut merupakan skema peluruhan dari 137Cs beserta spektrum
gammanya:
(a) (b)
Gambar 2. 3 (a) Skema peluruhan 137Cs [20], (b) Spektrum gamma 137Cs [22]
c. 60Co (Cobalt-60)
60Co merupakan radioisotop sintetis dari Co dengan waktu paruh
selama 5,27 tahun. 60Co diproduksi dengan cara membombardir 59Co
dengan neutron, sesuai dengan persamaan reaksi berikut [24]:
𝐶𝑜 + 𝑛 → 𝐶𝑜 6059 (2.7)
60Co melakukan peluruhan beta yang membentuk radioisotop stabil
60Ni (Nickel-60). Dimana untuk mencapai keadaan dasarnya, 60Ni
mengimisikan 2 energi sinar gamma yaitu sebesar 1.173,24 keV dan
1.332,50 keV [19]. Berikut merupakan reaksi peluruhan beta yang
dilakukan oleh 60Co [20]:
12
𝐶𝑜 → 𝑁𝑖 +60 𝛽− + 𝛾60 (2.8)
Lalu, skema peluruhan dari 60Co beserta spektrum gammanya
diperlihatkan oleh gambar berikut:
(a) (b)
Gambar 2. 4 (a) Skema peluruhan 60Co [20], (b) Spektrum gamma 60Co [22]
d. 22Na (Sodium-22)
22Na merupakan isotop buatan dengan paruh waktu selama 2,60 tahun,
yang mengalami peluruhan partikel positron membentuk 22Ne (Neon-
22). Sebagian kecil (0,06%) dari 22Na akan langsung mencapai keadaan
dasar dari 22Ne sedangkan sisanya akan mencapai keadaaan eksitasi
[22]. Untuk mencapai keadaan dasarnya, 22Ne mengimisikan sinar
gamma dengan energi sebesar 1.274,53 keV [19]. Peluruhan 22Na
menjadi 22Ne ditunjukan pada persamaan reaksi berikut [20]:
𝑁𝑎 → 𝑁𝑒 +22 𝛽+ + 𝛾22 (2.9)
Berikut merupakan skema dari peluruhan 22Na beserta spektrum
gammanya:
13
(a) (b)
Gambar 2. 5 (a) Skema peluruhan 22Na [20], (b) Spektrum gamma 22Na [22]
Selain penjelasan peluruhan beberapa radisotop yang digunakan di atas,
berikut merupakan tabel karakteristiknya:
Tabel 2. 1 Karakteristik Radioisotop yang digunakan [19]
Preparat
radioisotop
Gamma
energy (keV)
Waktu paruh
(tahun)
Percent yield per
decay (%) 241Am 59,54 432,23 35,90 137Cs 661,66 30,07 85,10 60Co 1.173,24 5,27 99,97 22Na 1.274,53 2,60 99,94
2.3. Spektrometri Gamma
Spektrometri gamma didefinisikan sebagai suatu metode pengukuran dan
pengidentifikasian zat-zat radioaktif di dalam suatu sampel dengan cara mengamati
spektrum karakteristik yang ditimbulkan oleh suatu interaksi sinar gamma yang
diemisikan oleh zat-zat radioaktif tersebut dengan sebuah detektor. Metode ini
dapat digunakan untuk menghitung jumlah radiasi pada tiap-tiap tingkat atau
rentang energi tertentu yang dapat dilakukan dengan menggunakan sistem
spektroskopi gamma. Yaitu sebuah sistem pencacah radiasi yang paling banyak di
14
gunakan dalam pegukuran di berbagai bidang kehidupan, seperti bidang industri
maupun penelitian. Hal ini dikarenakan sistem ini dapat melakukan pencacahan
baik secara integral maupun differensial, sekaligus menghasilkan distribusi energi
radiasinya [11].
Spektrometer gamma merupakan alat yang digunakan dalam sistem
spektroskopi gamma. Spektrometer gamma terdiri dari detektor radiasi gamma,
sebuah interface yang disebut sebagai Multi Channel Analyzer (MCA) serta
rangkaian elekronik sebagai penunjang [11]. Detektor yang digunakan harus bisa
memiliki kemampuan untuk membedakan tiap-tiap energi radiasi karena setiap
radioisotop memiliki tingkat energi radiasi tertentu dan bersifat spesifik. Hal inilah
yang dijadikan sebagai dasar dalam melakukan analisis kuantitatif maupun
kualitatif. Analisis kualitatif dilakukan berdasarkan pada tenaga atau puncak energi
yang dipancarkan yang berbeda-beda dan bersifat spesifik oleh setiap radiosotop,
sedangkan analisis kuantitatif dilakukan berdasarkan nilai cacahan dari spektrum
energi yang dipancarkan tersebut [25]. Pada penelitian ini, detektor yang digunakan
yaitu Sintilator NaI(Tl).
2.3.1. Sintilator NaI(Tl)
Sintilator NaI(Tl) merupakan sebuah detektor gamma yang paling banyak
digunakan. Sintilator ini berdimensi 0,25 m x 0,06 m dengan rentang energi gamma
yang dapat diukur dari 15keV – 3MeV. Dalam bentuk kristal tunggal berdiameter
381 mm dengan ketebalan 50,8 mm. Sintilator ini mampu mendeteksi radiasi 𝛽, 𝛾,
dan x-ray [26]. Karena sintilator ini memiliki rapat massa yang besar yaitu 3,67x103
15
kg/m3, nomor atom yang tinggi dan ukuran yang relatif besar maka membuat
sintilator ini sangat efisien untuk mendeteksi radiasi gamma [27].
Gambar 2. 6 Skema Sintilator NaI(Tl) [27]
Sintilator NaI(Tl) terdiri dari dua bagian yaitu bagian pertama merupakan
medium sintilasi berupa sintilator NaI(Tl) dimana partikel yang terdeteksi akan
menimbulkan pulsa cahaya. Sinar gamma yang masuk kedalam detektor
berinteraksi dengan atom-atom bahan sintilator menurut efek fotolistrik, hamburan
Compton dan pasangan produksi, yang akan menghasilkan pulsa cahaya dimana
pulsa cahaya yang dihasilkan oleh kristal sintilator besarnya sebanading dengan
energ sinar gamma. Pulsa-pulsa cahaya ini akan di transimikan ke bagian kedua
sintilator [28]. Bagian kedua adalah merupakan pengubah pancaran cahaya menjadi
pulsa-pulsa listrik setelah proses penguatan yaitu Photo Multiplier Tube (PMT)
[27]. Selanjutnya pulsa-pulsa listrik ini akan lebih lanjut diolah oleh alat
Multichannel Analyzer (MCA) untuk dihitung dan dianalisis.
MCA digunakan untuk mengukur spektrum energi yang dipancarkan oleh
zat radioaktif, sehingga selanjutnya data yang dihasilkan dapat bermanfaat untuk
16
mengetahui distribusi energi yang dimiliki oleh suatu zat radioaktif ataupun
mengidentifikasi zat radioaktif berdasarkan distribusi energi yang terukur. Pada
MCA terdapat istrumen yang digunakan untuk mengkonversi sinyal analog
(amplitudo pulsa) menjadi sinyal digital yang sesuai, yang dikonversikan lagi
kedalam nomor channel (kanal) yaitu Analog to Digital Converter (ADC). Di
dalam MCA, tersimpan informasi-informasi dari pendeteksian berupa nomor
channel, tinggi pulsa, dan energi radiasi. Dimana nantinya nomor channel akan
direpresentasikan ke dalam tingkatan energi tertentu (kalibrasi energi). Kemudian
dari informasi yang ada akan digambarkan kurva yang menghubungkan antara
intensitas pulsa dan nomor channel. Walaupun radiasi gamma yang diemisikan oleh
suatu radioisotop bersifat diskrit, namun karena interaksi radiasi gamma dengan
materi detektor lebih dari satu jenis interaksi, sehingga hasil yang terdapat pada
MCA tidak hanya muncul satu nomor channel/ tingkat energi saja [11].
2.4. Aktivitas Radioaktif
Aktivitas radioaktif disimbolkan dengan huruf 𝐴, biasa disebut sebaga laju
peluruhan. Yaitu banyaknya peluruhan yang terjadi tiap satuan waktu (detik).
Semakin besar aktivitasnya akan semakin banyak pula nuklida dari suatu isotop
yang meluruh perdetiknya. Aktivitas tersebut tidak berhubungan dengan jenis
radiasi yang diemisikan oleh isotop, ataupun dengan energi yang diemisikan.
Satuan pengukuran untuk aktivitas atau laju peluruhan adalah curie (𝐶𝑖), pada
awalnya satu curie didefinisikan sebagai aktivitas dari satu gram radium, kemudian
defisini curie tersebut digantikan dengan formula matematis [16]:
1 𝑐𝑢𝑟𝑖𝑒 (𝐶𝑖) = 3,7 × 1010 𝑝𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛/𝑑𝑒𝑡𝑖𝑘
17
Satu curie menyatakan nilai aktivitas yang cukup besar. Selain curie, nilai
aktivitas dapat diukur dengan menggunakan satuan dari sistem satuan internasional
yaitu becquerel (𝐵𝑞), yang diambil dari nama Henri Becquerel, ilmuwan Perancis
yang menemukan adanya radioaktivitas pertama kali pada tahun 1986. Satu 𝐵𝑞
nilainya sama dengan 1 peluruhan/ detik, sehingga 1 curie = 3.7 x 1010 𝐵𝑞 [16].
Besarnya nilai aktivitas bergantung pada jumlah inti isotop yang meluruh
disimbolkan dengan huruf 𝑁 dan juga pada probabilitas isotop untuk meluruh
disimbolkan dengan 𝜆 [16]:
𝐴 = 𝜆 N (2.10)
Dengan 𝐴 dan 𝑁 merupakan fungsi waktu (𝑡). Ketika radioisotop meluruh, maka
nilai 𝑁 akan berkurang. Ketika nilai 𝑁 berkurang dan 𝜆 merupakan kontanta maka
nilai 𝐴 juga akan berkurang sepanjang berjalannya waktu. Diketahui bahwa 𝐴
merupakan banyaknya isotop yang meluruh persatuan waktu [16]:
𝐴 = − 𝑑𝑁
𝑑𝑡 (2.11)
Tanda minus ditambahkan karena nilai 𝑁 berkurang sepanjang waktu. Jika kita
menggabungkan persaman 2.4 dan 2.5, akan didapatkan [16]:
𝑑𝑁
𝑁= − 𝜆 𝑑𝑡 (2.12)
Persamaan di atas dapat diintegrasikan secara langsung menjadi [16]:
𝑁 = 𝑁0𝑒−𝜆𝑡 (2.13)
Dimana 𝑁0 merupakan jumlah isotop yang meluruh pada 𝑡 = 0. Persamaan 2.13
adalah exponensial law of radioactive decay, yang memperlihatkan bahwa jumlah
isotop yang meluruh berkurang sepanjang waktu secara eksponensial. Karena untuk
18
mengukur nilai 𝑁 tidaklah mudah, maka kita dapat mengubahnya menjadi bentuk
yang lebih baik dengan mengalikan pada kedua ruas dengan λ. Sehingga menjadi
[16]:
𝐴 = 𝐴0𝑒−𝜆𝑡 (2.14)
Dimana:
𝐴 (𝐴𝑡) = Aktivitas pada saat tertentu (Bq)
𝐴0 = Aktivitas awal (Bq)
𝜆 = Tetepan peluruhan
𝑡 = Beda waktu
Besaran lain yang berkenaan dengan nilai aktivitas adalah waktu paruh,
yaitu interval waktu yang dibutuhkan oleh isotop induk agar jumlah inti pada waktu
awal 𝑡 = 0 tereduksi oleh faktor setengah atau jumlah isotop induk akan bersisa
menjadi separuh dari jumlah mula-mula. Jika kita masukkan 𝑡 = 𝑡1/2 kedalam
persamaan 2.14 [16]:
1
2𝑁0 = 𝑁0𝑒−𝜆𝑡1/2
1
2= 𝑒−𝜆𝑡1/2
𝑙𝑛1 − 𝑙𝑛2 = −𝜆𝑡1/2
−𝑙𝑛2 = −𝜆𝑡1/2
𝑡1/2 =𝑙𝑛2
𝜆
19
𝑡1/2 =0.693
𝜆 (2.15)
Melalui waktu paruh tersebut, dapat ditentukan besarnya konstanta peluruhan
sebesar:
𝜆 =0,693
𝑡1/2 (2.16)
Besarnya konstanta peluruhan radioaktif sangat bergantung pada waktu paruh yang
dimiliki oleh masing-masing radioisotop [16].
Secara umum pengukuran aktivitas radioaktif terdiri dari dua metode yaitu
metode absolut dan metode relatif. Pengukuran yang dilakukan pada penelitian kali
ini merupakan pengukuran secara relatif, yaitu dengan menggunakan sumber
standar radioisotop [29]. Metode lain untuk mengukur besar aktivitas radioaktif
adalah pengukuran dengan spektroskopi gamma, dengan menggunakan persamaan
berikut [30]:
𝐴𝑡 =𝑛𝑒𝑡 𝑝𝑒𝑎𝑘 𝑎𝑟𝑒𝑎(𝑐𝑜𝑢𝑛𝑡)
𝜀(𝐸). 𝑌(𝐸). 𝑆 (2.17)
Dimana:
𝐴𝑡 = aktivitas radioaktif pada saat tertentu (𝐵𝑞)
𝑛𝑒𝑡 𝑝𝑒𝑎𝑘 𝑎𝑟𝑒𝑎 = jumlah cacahan area puncak (net count)
𝜀(𝐸) = efisiensi mutlak detektor pada Energi 𝐸
𝑌(𝐸) = intensitas mutlak sinar 𝛾 (𝑃𝑒𝑟𝑠𝑒𝑛 𝑌𝑖𝑒𝑙𝑑)
𝑆 = lama waktu cacahan (𝑠)
20
Dalam metode ini, diharuskan untuk menghitung nilai net peak area. Di
dalam spektrum, sinar gamma direpresentasikan berupa fungsi distribusi yang
diperkirakan sebagai distribusi gamma. Titik tengah (centroid) pada distribusi
tersebut dapat kita asumsikan sebagai nilai energi (puncak energi) sinar gamma.
Pada prinsipnya, untuk menghitung nilai net peak area harus membutuhkan tidak
hanya penjumlahan cacahan disetiap channel secara sederhana, tetapi
menganggapnya sebagai bagian dari peak area yang dikurangi dengan background
spektrum di bawahnya [31]. Dalam pembahasan berikutnya, net peak area akan
dibahas dengan kata ganti NPA.
Gambar 2. 7 Perhitungan NPA menggunakan metode Covell [31]
Sekarang ini, metode Covell digunakan pada spektrometri gamma digital
untuk menghitung nilai NPA pada spektrum sintilasi NaI. Prosesnya adalah dengan
menentukan channel yang memiliki nilai pecacahan (count) tertinggi dan membuat
batasan (kiri dan kanan) dengan jumlah channel yang sama dari titik tengah
(centroid) peak area. Pada metode Covell, Background spektrum dihitung dengan
menggunakan batas bawah dan atas dari peak area. Mengacu pada gambar 2.3, jika
kita mengambil channel pertama masing-masing batas bawah dan atas pada peak
21
area. Maka penjumlahan seluruh cacahan di setiap channel atau Integral area
adalah [31]:
𝐼𝑛𝑡𝑒𝑔𝑟𝑎𝑙 = ∑ 𝐶𝑖
𝑈
𝑖=𝐿
(2.18)
Dimana Ci adalah nilai cacahan dari setiap channel ke 𝑖. Dan untuk nilai
Background di bawah area puncak dapat dihitung dengan menggunakan rumus
berikut [31]:
𝐵𝑎𝑐𝑘𝑔𝑟𝑜𝑢𝑛𝑑 =𝑛(𝐶𝐿−1 + 𝐶𝑈+1)
2 (2.19)
Dimana n adalah jumlah channel yang ada pada peak area dan 𝐶𝐿−1 dan
𝐶𝑈+1 adalah nilai cacahan channel sebelum batas bawah dan sesudah batas atas
peak area. Dengan dua persamaan diatas, dapat dihitungan nilai net peak area
dengan persamaan berikut [31]:
𝑁𝑃𝐴 = 𝐼𝑛𝑡𝑒𝑔𝑟𝑎𝑙 − 𝐵𝑎𝑐𝑘𝑔𝑟𝑜𝑢𝑛𝑑
= ∑ 𝐶𝑖
𝑈
𝑖=𝐿
−𝑛(𝐶𝐿−1 + 𝐶𝑈+1)
2
(2.20)
Dibanding dengan menggunakan hanya satu batas channel untuk
menghitung nilai Background. Untuk meningkatkan ketepatan perhitungan kita
dapat menggunkan lebih banyak channel untuk dijadikan batas-batas dalam
perhitungan nilai Backgroud [31].
22
Gambar 2. 8 Perhitungan NPA dengan menggunakan rata-rata batas bawah dan atas [31]
Sehingga untuk NPA persamaan sebelumnya menjadi [31]:
𝑁𝑃𝐴 = ∑ 𝐶𝑖
𝑈
𝑖=𝐿
−𝑛(∑ 𝐶𝑖
𝐿−1𝑖=𝐿−𝑚 + ∑ 𝐶𝑖
𝑈+𝑚𝑖=𝑈+1 )
2𝑚 (2.21)
Selain itu dengan melihat gambar di atas kita juga bisa menghitung puncak energi
dengan menggunakan rumus berikut [30]:
𝑝𝑢𝑛𝑐𝑎𝑘 𝑒𝑛𝑒𝑟𝑔𝑖 = ∑ (𝐶𝑖 × 𝑖)𝑈
𝐿
∑ 𝐶𝑖𝑈𝐿
(2.22)
Dimana 𝑖 adalah nilai tingkat energi.
2.5. Efisiensi Mutlak Detektor
Karena zat radiaoaktif akan memancarkan sinar gammanya ke segala arah
sehingga nilai pencacahan yang terdeteksi tidak selalu mencerminkan aktivitas
yang sebenarnya dari suatu zat radioaktif [32]. Dalam hal analisis zat radioaktif
seperti pada spektrometri gamma, salah satu tujuannya adalah untuk melihat
23
bagaimana hubungan antara peak area pada spektrum dengan banyaknya peluruhan
yang diemisikan oleh zat radioaktif tersebut. Untuk hal ini, maka yang akan kita
hitung adalah nilai efisiensi mutlak detektor (absolute-full-energy-peak efficiency)
yang menghubungkan nilai NPA pada puncak energi tertentu, sampai banyaknya
sinar gamma yang diemisikan oleh zat radioaktif (aktivitas radioaktif) [31].
Efisiensi mutlak detektor didefiniskan dengan rumus berikut [33]:
𝜀(𝐸) =𝑁𝑃𝐴(𝑐𝑜𝑢𝑛𝑡)
𝐴𝑡 × S × 𝑌(𝐸) (2.23)
Dimana:
𝜀(𝐸) = efisiensi mutlak detektor pada energi 𝐸
𝑁𝑃𝐴 = jumlah cacahan area puncak (net count)
𝐴𝑡 = aktivitas radioaktif pada saat tertentu (𝐵𝑞)
𝑌(𝐸) = intensitas mutlak sinar 𝛾 (persen yield)
𝑆 = lama waktu cacahan (𝑠)
Efisensi akan meningkat apabila jumlah probabilitas interaksi antara radiasi
peluruhan dengan material detektor meningkat, sedangkan probabilitas akan
meningkat sebanding dengan ukuran detektor dan juga bergantung pada jarak
antara detektor dengan sumber radiasi. Semakin dekat jaraknya akan semakin besar
efisiensinya [33].
24
2.6. Machine Learning
Menurut Arthur Samuel pada tahun 1959, machine learning merupakan
sebuah bidang ilmu yang memberikan kemampuan belajar pada sebuah komputer
(program) tanpa diprogram secara khusus [4]. Secara luas, machine learning dapat
didefinisikan sebagai sebuah metode komputasi yang menggunakan pengalaman
untuk meningkatkan performa atau melakukan tugas/ perintah (membuat prediksi
secara akurat). Pengalaman di atas, mengacu pada informasi masa lampau (data)
yang diberikan kepada program yang berhasil dipelajari dengan kemampuan belajar
yang telah diberikan [5].
Secara garis besar machine learning dibagi menjadi beberapa subbidang,
diantaranya yaitu supervised learning dan unsupervised learning. Pada supervised
learning, algoritma akan menerima data berlabel sebagai pelatihan untuk
mendapatkan pengalamannya yang nantinya akan digunakan untuk menjalankan
tugasnya pada data yang belum terlihat [5]. Data berlabel merupakan data memiliki
pasangan atribut/ dataset features (𝑋) dan target/ dataset targets (𝑦). Alogritma akan
berfokus untuk mencari dan membuat hubungan antara masukan dengan atribut dan
target data. Menggunakan hubungan tersebut secara spekulatif untuk menghasilkan
target untuk data yang baru. Algoritma ini cocok untuk dipakai pada tugas
klasifikasi dan regresi. Sedangan pada Unsupervised Learning, algoritma akan
menerima data yang tidak berlabel yang artinya tidak memiliki target data. Pada
algoritma ini berfokus untuk menguraikan atribut dari dataset features daripada
mencari hubungan antara masukkan dan keluaran data. Algoritma ini cocok dipakai
untuk tugas clustering dan pengurangan dimensi [9]. Dalam pembahasan mengenai
25
machine learning akan dikenal 2 jenis data yang diberikan. Pertama, data training
merupakan data yang dijadikan sebagai objek pembelajaran. Kedua, data test yaitu
data yang dijadikan sebagai objek prediksi.
2.7. Regresi
Regresi merupakan salah satu tugas yang dapat dilakukan oleh algoritma
supervised machine learning. Regresi merupakan teknik pemodelan statistik untuk
mengetahui hubungan dua atau lebih variabel (atribut/ features data) atau untuk
memprediksi nilai dari satu variabel respon atau dependent (target data) dengan
menggunakan nilai dari variabel-variabel predictor/ independent. Dalam analisis
regresi ada satu atau lebih variabel independent/ predictor yang biasa diwakili
dengan notasi X dan satu variabel respon yang biasa diwakili dengan notasi y [34].
Dalam regresi, tujuannya adalah untuk memprediksi keluaran berupa bilangan
kontinu atau bilangan floating-point dalam istilah pemograman [35]. Misal pada
penelitian ini, akan diprediksi nilai puncak energi dan NPA dari beberapa
radioisotop.
Gambar 2. 9 Prediksi dengan regresi [4]
26
Ada beberapa algoritma machine learning yang dapat digunakan untuk regresi,
pada penelitian ini menggunkaan diantaranya: Decision Tree Regressor, Random
Forest Regressor, dan juga k-Nearest Neighbors Regressor.
2.7.1. Decision Tree Regressor
Decision Tree merupakan salah satu algoritma supervised machine learning
yang digunakan untuk klasifikasi atau regresi. Algoritma ini akan menghasilkan
suatu model yang dapat memprediksi target data (𝑦) dengan cara mempelajari
aturan penentuan target data (𝑦) berdasarkan atribut-atribut/ features (𝑋) yang
dimiliki oleh data. Berdasarkan tipe target/ targets (𝑦) datanya, decision tree dapat
dibedakan menjadi dua jenis yaitu classification tree dan regression tree.
Classification tree memiliki target data (𝑦) berupa data diskrit berhingga (kategori),
algoritma yang digunakan merupakan algoritma Decision Tree Classifier,
sedangkan regression tree memiliki target data (𝑦) data kontinu dan algoritma yang
digunakan merupakan algoritma Decision Tree Regressor [36]. Dalam pembahasan
lebih lanjut, Decision Tree Regressor akan dibahas dengan kata ganti DTR.
27
Gambar 2. 10 Visualisasi prediksi algoritma DTR [37]
Algoritma DTR membentuk model untuk regresi dalam bentuk struktur
pohon keputusan (decision tree), seperti gambar di atas yang berjalan dari atas ke
bawah. Dimana algoritma DTR akan memecah data training menjadi sub-set yang
semakin mengecil sementara itu pada saat yang bersamaan pohon keputusan terkait
data training yang diberikan akan dibentuk secara bertahap [38]. Dalam algoritma
DTR dikenal beberapa istilah node (cabang) diantaranya: root node (node akar)
merupakan node yang berada pada bagian paling atas. Selanjutnya decision node
merupakan node yang berada pada bagian tengah yang melakukan internal split.
Kemudiaan leaf node (node akhir) dimana merupakan hasil prediksi [39].
Algoritma DTR, dimulai pada root node yang akan ditentukan atribut data
(splitting variable) dan nilai threshold (split point) yang akan dijadikan sebagai root
node. Penentuan root node dilakukan di semua nilai pada seluruh variabel data
training, kemudian akan diukur kualitas percabangan dari setiap splitting variable
dan split point [40]. Kualitas percabangan dinilai berdasarkan besar kesalahan (nilai
28
eror) yang dihasilkan. Pada algoritma DTR yang digunakan pada peneliatan ini
secara default, akan menggunakan MSE atau Mean Square Error sebagai pengukur
kualitas percabangannya yang disebut criterion [41]. Persamaan untuk menghitung
MSE sebagai berikut [40]:
𝑀𝑆𝐸 =1
𝑛∑(𝑦𝑖 − ��)2
𝑛
𝑖=1
(2.24)
Dengan,
y =1
𝑛∑ 𝑦𝑖
𝑛
𝑖=1
(2.25)
Dimana:
𝑦𝑖 = nilai dataset targets
y = rata-rata nilai dataset targets
𝑛 = jumlah data
Splitting variable dan split point yang memiliki nilai MSE terendah akan
dijadikan sebagai root node. Kemudian data training akan dibagi menjadi dua
bagian oleh root node. Setiap bagian data akan menentukan splitting variable dan
split point setiap decision node, dengan cara yang sama seperti penentuan root
node, tetapi data yang digunakan berbeda-beda sesuai dengan bagiannya masing-
masing. Proses ini akan dilakukan berulang kali sampai node tidak bisa dilakukan
percabangan lagi atau mencapai leaf node [38]. Pada algoritma DTR yang
digunakan, secara default memiliki aturan dalam penentuan apakah node bisa
melakukan percabangan (syarat) untuk menjadikan data sampel sebagai leaf node.
29
Yaitu dibutuhkan minimal dua sampel data training agar node dapat melakukan
percabangan, sedangkan untuk menjadi leaf node dibutuhkan hanya satu sampel
data training. Sehingga proses penentuan splitting variable dan split point akan
terhenti apabila setiap node yang dihasilkan dari percabangan hanya terdapat satu
sampel data training [41].
Beberapa keuntungan yang didapat jika kita menggunakan algoritma DTR,
diantaranya [40]:
a. Mudah dimengerti dan diinterpretasikan, serta dapat divisualisasikan.
b. Membutuhkan sedikit persiapan data jika dibandingkan dengan
algortima yang lain.
c. Mengonsumsi daya lebih sedikit dalam performanya.
d. Dapat menangani masalah multi-output.
e. Dapat menangani bentuk data kategori maupun numerik.
Selain memiliki beberapa keuntungan, algoritma DTR juga memiliki
beberapa kekurangan yang patut diperhatikan, diantaranya [40]:
a. Overfitting, merupakan masalah yang akan dihadapi dalam
menggunakan algoritma ini. Hal ini terjadi jika struktur algoritma
terlalu kompleks yang mengakibatkan gagalnya untuk megeneralisasi
data dengan baik.
b. Ketidakstabilan algoritma. Seperti variasi data yang kecil dapat
mengakibatkan struktur pohon yang terbentuk berbeda.
30
c. Sulit untuk menangani konsep logika yang sulit seperti XOR dan
multiplexer.
d. Terkadang algoritma ini membentuk pohon bias yang diakibatkan
karena adanya dominasi dari beberapa target data, dimana untuk
menanganginya kita harus menyeimbangkan dataset.
2.7.2. Random Forest Regressor
Sama seperti algoritma machine learning sebelumnya, algoritma Random
Forest Regressor termasuk kedalam supervised machine learning, yang artinya
algoritma ini membutuhkaan data berlabel. Sederhananya algoritma ini merupakan
kumpulan dari beberapa algoritma machine learning (ensemble learning) yaitu
algoritma DTR yang dibentuk menggunakan sub-set acak dari data [42]. Ensemble
learning merupakan metode yang mengkombinasikan beberapa algoritma machine
learning untuk menciptakan algoritma yang lebih baik [35]. Dalam pembahasan
lebih lanjut, Random Forest Regressor akan dibahas dengan kata ganti RFR.
Gambar 2. 11 Visualisasi prediksi algoritma RFR [43]
31
Diketahui sebelumnya, salah satu kelemahan dari algoritma DTR yaitu
overfitting pada data training. Menggunakan algoritma RFR merupakan salah satu
cara untuk menangani masalah tersebut. Gagasan dibalik dari algoritma RFR adalah
adanya sedikit perbedaan dari tiap-tiap decision tree yang terbentuk, dimana dari
setiap pohon kemungkinan memprediksi relatif baik, tetapi mungkin juga overfit
pada sebagian data. Jika kita membuat banyak decision tree, yang semuanya
bekerja dengan baik dan overfit dengan cara yang berbeda-beda maka kita dapat
mengurangi keseluruhan overfit dengan rata-rata hasil prediksinya [35]. Untuk
dapat melakukan hal ini, maka algoritma RFR mengadopsi pendekatan bagging
atau bootstrap aggregating. Istilah bootstrap mengacu pada pemilihan beberapa
baris data secara acak dari dataset asli (data sampel), sedangkan aggregating
memiliki arti menggambil rata-rata dari prediksi dari semua decision tree yang
dibuat dari data sampel tersebut [44].
Berikut merupakan alur kerja dari algoritma RFR [35]:
1. Membuat data baru secara acak dari data training, bisa disebut dengan
bootstrap sample. Dari 𝑛 data training, akan dilakukan pengambilan
data sampel secara acak dengan pergantian artinya adanya
kemungkinan data sampel yang sama dapat dipilih secara berulang.
Proses ini akan membuat bootstrap sample yang besarnya seperti data
training, tetapi akan ada kemungkinan data sampel tidak terpilih sama
sekali. Bootstrap sample dibuat sebanyak 𝑛 decision tree yang akan
dibuat.
32
2. Membuat decision tree dari setiap bootstrap sample, disini penentuan
splitting variable dan split point akan berbeda dari algoritma DTR
sebelumnya. Sebagai pengganti pemilihan splitting variable dan split
point yang memiliki kualitas terbaik dari seluruh atribut data training,
pada algoritma RFR akan dipilih beberapa atribut secara acak pada
setiap bootstrap sample untuk dijadikan kandidat. Hal ini akan
membuat setiap decision tree yang dibuat berbeda satu sama lain.
3. Hasil akhir prediksi pada data test merupakan rata-rata (aggregation)
dari nilai prediksi seluruh 𝑛 decision tree.
2.7.3. k-Nearest Neighbors Regressor
Algoritma ini termasuk diantara algoritma supervised machine learning
paling sederhana. Karena masih dalam katergori supervised machine learning,
algotima ini bisa digunakan dalam kasus klasifikasi maupun regresi. Secara
sederhana algoritma k-Nearest Neighbors Regressor hanya menyimpan data
training selama proses latih, hal ini juga yang menjadi alasan algoritma ini disebut
sebagai lazy learning algorithm yaitu dimana dalam proses latih tidak ada langkah-
langkah eksplisit yang dilakukan dan menunda semua proses komputasi sampai
proses prediksi berlangsung [45]. Untuk melakukan prediksi titik data yang baru,
algortima hanya perlu menentukan titik terdekat pada data training yang disebut
nearest neighbors atau tetangga terdekat [35]. Dalam pembahasan berikutnya, k-
Nearest Neighbors akan dibahas dengan kata ganti k-NN.
33
Dalam pendekatan algoritma k-NN, data training akan disimpan ke dalam
feature space di proses latih. Feature space merupakan vektor dimensi dari data
numerik dataset features (atribut data) pada data training yang mewakili setiap
dataset targets. Setiap nilai (target data) pada dataset targets memiliki titik
koordinatnya masing-masing pada features space berdasarkan dari atribut-atribut
datanya. Posisi setiap target data akan tersebar di sekitar feature space, tetapi untuk
setiap target data yang memiliki kesamaan nilai biasanya akan dikelompokkan
(tersebar berdekatan satu sama lain) dikarenakan memiliki kesamaan dalam atribut-
atribut datanya [46].
Gambar 2. 12 Visualisasi prediksi algoritma k-NN [35]
Gambar 2.6 memperlihatkan secara sederhana proses prediksi dengan tiga
tetangga terdekat pada feature space dengan satu dimensi atribut. Ketika diberikan
{𝑥𝑖, 𝑦𝑖} data training, dimana 𝑥𝑖 mewakili atribut data dan 𝑦𝑖 mewakili target data,
34
dan ada titik data baru yaitu 𝑋 yang harus diprediksi target datanya. Berikut
merupakan langkah-langkah kerja dari algoritma k-NN [9]:
1. Pada proses latih akan menyimpan data training yang dipetakan pada
feature space.
2. Pada proses prediksi, titik data X akan di petakan kedalam feature space
data training kemudian dihitung jarak (distance) antara titik data 𝑋 dan
𝑥𝑖 untuk setiap nilai 𝑥𝑖 yang diberikan. Secara umum persamaan metrik
jarak dinotasikan dalam metrik jarak Minkowski sebagai berikut [9]:
𝐷(𝑋, 𝑥𝑖) = √∑|𝑋𝑑 − 𝑥𝑖𝑑|𝑝𝑝
(2.26)
Dimana:
𝐷 = jarak antara 𝑋 dan 𝑥𝑖
𝑋𝑑 = verktor dimensi titik 𝑋
𝑥𝑖𝑑 = vektor dimensi titik 𝑥𝑖
𝑝 = angka opsional (0, 1 dan 2)
Dimana jika p=0 maka akan menjadi metrik jarak Humming; jika p=1
maka akan menjadi metrik jarak Manhattan; jika p=2 maka akan
menjadi metrik jarak Euclidean. Secara default algoritma k-NN
menggunakan metrik jarak Euclidean dimana p=2, sehingga persamaan
metrik jarak menjadi seperti berikut [47]:
𝐷(𝑋, 𝑥𝑖) = √∑|𝑋𝑑 − 𝑥𝑖𝑑|22
(2.27)
35
3. Memilih 𝑘 tetangga terdekat 𝑥𝑖1, 𝑥𝑖2... 𝑥𝑖𝑘 dan target data masing-
massing 𝑦𝑖1, 𝑦𝑖2... 𝑦𝑖𝑘. Dengan nilai 𝑘 adalah jumlah tetangga yang
dilihat.
4. Menghitung nilai rata-rata target yang ada massing 𝑦𝑖1, 𝑦𝑖2... 𝑦𝑖𝑘.
sebagai hasil prediksi [38]:
�� =1
𝑘× (∑ 𝑦𝑖𝑘
𝑘
𝑖=𝑘
) (2.28)
Dimana:
�� = hasil prediksi
Nilai 𝑘 mempunyai pengaruh yang besar terhadap performa dari algoritma
itu sendiri. Jika nilai 𝑘 terlalu besar, algoritma k-NN menggunakan nilai
sebelumnya dan akan mengakibatkan ketidakakuratan, sedangkan Nilai 𝑘 terlalu
kecil, algoritma k-NN akan menjadi terlalu sensitif. Oleh karena itu, keakuratan
nilai 𝑘 biasanya berada di tengah-tengah antara nilai terkecil dan terbesar.
Pendekatan yang bisa dilakuan adalah dengan memilih nilai 𝑘 pada rentang tertentu
dan mengukur nilai kesalah pada proses latih lalu memilih nilai 𝑘 yang memberikan
performa terbaik [9].
2.8. Multi-output Machine Learning
Multi-output regression merupakan alogortima machine learning regressor
yang dapat memprediksi beberapa nilai target. Misal ketika target yang diberikan
adalah array dua dimensi, dimana terdapat dua nilai target. Ketika tidak ada
hubungan di antara dua target yang diberikan, cara yang paling mudah adalah
36
dengan menggunakan algoritma machine learning yang independent satu dengan
yang lain sebanyak jumlah target. Hal ini berarti satu algoritma hanya akan
memprediksi satu nilai target [40].
Tetapi karena nilai target yang diberikan berkaitan dengan input dan input
yang digunakan adalah sama maka kemungkinan besar adanya hubungan diantara
target-target data tersebut. Cara yang sering digunakan untuk kasus seperti ini
adalah dengan membuat algoritma tunggal yang mampu memprediksi semua nilai
target secara simultan. Ada dua keuntungan yang akan didapat jika menggunakan
cara seperti ini [40]:
1. Akan membutuhkan waktu latih yang lebih sedikit karena hanya satu
algoritma saja.
2. Tingkat keakuratan pada hasil prediksi akan lebih sering meningkat.
2.9. Tuning Hyper-parameter
Algoritma machine learning telah digunakan secara luas dalam berbagai
bidang dan aplikasi. Hal ini dikarenakan machine learning begitu umum dan
menujukkan tingkat performa yang tinggi dalam masalah analisis data, tetapi tiap-
tiap algoritma yang berbeda akan berbeda pula tipe masalah ataupun dataset yang
bisa ditangani. Dalam algoritma machine learning, ada beberapa hal yang perlu
diketahui, salah satunya adalah parameter. Ada dua tipe parameter yaitu: parameter
yang dapat diinisialisasi dan diperbaharui setelah melewati proses latih yang
disebut sebagai name-model-parameter; yang lainnya disebut hyper-parameter
dimana tidak bisa langsung diestimasi/ didapatkan setelah proses latih, melainkan
37
harus ditentukan sebelumnya karena hal itu akan mendefinisikan bagaimana
struktur dari algoritma machine learning tersebut [48].
Dalam beberapa kasus, performa dari sebuah algoritma machine learning
dalam menjalankan tugas yang diberikan bergantung kepada hyper-parameter yang
ditentukan. Oleh sebab itu agar medapatkan performa yan terbaik dari suatu
algoritma machine learning, para praktisi machine learning menyesuaikan hyper-
parameter dari algoritma yang digunakan. Hal itu disebut dengan tuning
hyperparameter [49].
Berikut merupakan konfigurasi dari beberapa algoritma machine learning
yang digunakan dalam penelitian kali beserta hyper-parameter-nya.
Tabel 2. 2 Algoritma machine learning beserta hyper-parameter nya [50]
Algoritma
machine learning
Hyper-parameter
utama
Hyper-parameter
opsional
Decision Tree
Regressor
- criterion
- max_depth
- min_samples_spilt
- min_samples_leaf
- max_features
- splitter
- min_weight_raction_leaf
- max_leaf_nodes
Random Forest
Regressor
- n_estimators
- criterion
- max_depth
- min_samples_spilt
- min_samples_leaf
- max_features
- splitter
- min_weight_raction_leaf
- max_leaf_nodes
k-Nearest Neighbors
Regressor - n_neighbors
- weights
- p
- algorithn
38
Proses tuning hyperparameter akan berbeda sejalan dengan berbedanya
algoritma yang digunakan hal ini karena akan berbeda-beda pula hyper-parameter-
nya. Ada beberapa pendekatan yang bisa digunakan dalam melakukan tuning
hyper-parameter. Untuk penelitian ini digunakan pendekatan dengan metode Grid
Seach sekaligus divalidasi dengan menggunakan Cross-Validation.
Grid Search merupakan salah satu metode yang sering digunakan untuk
mengeksplorasi konfigurasi atau tuning hyper-parameter dari algoritma machine
learning. Grid Search dapat dipertimbangkan sebagai pencarian lengkap yang
mengevaluasi semua kombinasi hyper-parameter yang diberikan kepada
konfigurasi grid. Grid Search bekerja dengan mengevaluasi dari produk kombinasi
hyper-parameter yang sudah dispesifikasikan rentang/ batas nilainya oleh praktisi
[48].
Grid Search tidak dapat mengeksplorasi lebih jauh di daerah/ rentang
performa yang baik dengan sendirinya. Oleh karena itu, untuk mengidentifikasi
lebih lanjut maka diperlukan proses berikut secara manual [48]:
1. Mulailah dengan ruang/ rentang pencarian dan besar peningkatan yang
besar.
2. Persempit ruang/ rentang pencarian dan besar peningkatan berdasarkan
hasil konfigurasi hyper-parameter dengan performa baik sebelumnya.
3. Ulangi langkah kedua, beberapa kali sama hasil optimum didapatkan.
Grid Search dapat dengan mudah diimplementasikan. Namun, Grid Search
mempunyai kekurangan yaitu inefisiensi untuk ruang konfigurasi hyper-parameter
39
berdimensi tinggi, karena jumlah dari pengevalusian meningkat secara
eksponensial sejalan dengan bertambahnya jumlah hyper-parameter yang
diberikan.
Untuk dataset yang sedikit, satu partisi validiasi (data validation) mungkin
akan menyisakan data yang tidak mencukupi untuk melakukan proses validasi
selain proses latih. Untuk menjaga agar data training dan validation tetap
representative bisa menjadi sebuah tantangan. Untuk alasan ini, metode Cross-
Validation biasanya direkomendasikan untuk memvalidasi algoritma machine
learning. Dengan metode Cross-Validation, dataset akan dipartisi menjadi
beberapa 𝑘 sub-set yang diperkirakan sebanding yang disebut sebagai folds. Proses
latih ataupun validasi akan dilakukan sebanyak 𝑘-kali, dimana proses latih
menggunakan semua folds kecuali folds digunakan sebagai sebagai data validasi.
Nilai eror pada metode Cross-Validation merupakan rata-rata dari nilai eror yang
diperoleh dari iterasi proses validasi. Metode ini akan menghasilkan representasi
nilai eror yang lebih baik pada seluruh dataset, karena semua data dipakai untuk
proses latih dan validasi [50].
Kita dapat menggunakan metode Grid Searh dan Cross-Validation
bersamaan dengan memanfaatkan sebuah modul dari library sklearn bernama
GridSearchCV. Dengan menggunakan modul ini kita dapat mencari konfigurasi
hyper-parameter ideal dari setiap algoritma machine learning. Setiap nilai variasi
dari rentang konfigurasi hyper-parameter yang sudah ditentukan akan dievaluasi
oleh modul ini, sekaligus performanya juga akan dievaluasi menggunakan cross-
validation. Ketika semua rentang konfigurasi sudah dievaluasi, kombinasi hyper-
40
parameter yang ideal bisa digunakan dan juga dapat dilihat nilai performanya [48].
Dalam pembahasan selanjutnya kombinasi hyper-parameter ideal hasil proses
tuning akan dibahas dengan kata ganti tuned hyper-parameter.
2.10. Python
Python merupakan bahasa pemograman tingkat tinggi, berbasis obyek dan
open-source yang dirancang untuk mengoptimalkan kecepatan pengembangan
program. Selain itu Python juga merupakan bahasa pemograman yang memiliki
tujuan yang relatif sangat umum. Python diciptakan oleh Guido Van Rossum sekitar
tahun 1990 di Amsterdam. Meskipun namanya terdengar seperti salah satu nama
reptil, tetapi Python dinamai berdasarkan salah satu serial komedi dari stasiun tv
BBC yaitu “Monty Python’s Flying Circus” [51]. Berikut merupakan kriteria
kenapa Python disebut sebagai bahasa pemograman tingkat tinggi dengan tujuan
yang relatif sangat umum [52]:
a. Karena kode yang ditulis secara otomatis dikompilasi ke dalam byte
kode dan dieksekusi.
b. Karena Python dapat diekstensi ke dalam bahasa pemograman lain
yiatu C dan C++, dimana Python dapat memberikan kecepatan yang
diperlukan bahkan untuk menjalankan tugas-tugas program yang
intensif.
c. Karena Python memiliki konstruksi struktur yang kuat (blok kode
bersarang, functions, classes, modules, dan packages) dan tingkat
konsistensi dalam penggunaan obyek dan pemograman berbasis obyek,
41
serta memungkinkan dalam menulis kode dengan jelas aplikasi yang
logis untuk tugas yang kecil maupun besar.
Di era dimana waktu pengembangan yang semakin singkat, kerja mesin
yang semakin cepat dan bidang aplikasi yang semakin beragam, kriteria di atas telah
terbukti menjadi alasan yang kuat untuk penggunaan Python dalam proyek program
besar maupun kecil. Selain kriteria di atas, masih banyak lagi aspek dari Python
yang menarik para pengembang program. Seperti kurva pembelajarannya yang
sederhana untuk pengembang dan penggunaan lain, berlimpahnya pustaka yang
telah dikodekan untuk meminimalkan pengembangan di bagian awal dan lain
sebagainya, tetapi fokus produktivitas Python mungkin yang menjadi daya tarik
sekaligus menjelaskan kualitasnya. Salah satu masalah utama yang dihadapi dalam
pengembangan perangkat lunak dunia bukan hanya penulisan program yang
diharuskan sangat cepat, tetapi menemukan pengembang program yang memiliki
waktu untuk menulis program secara menyeluruh tidak dalam bagian-bagian
tertentu. Sebagai bahasa pemograman yang mengoptimalkan produktivitas
pengembangnya, Python sepertinya menjadi jawaban yang tepat dari pertanyaan
yang diajukan dalam pengembangan program di dunia. Tidak hanya karena Python
dapat diimpelementasikan dalam sistem secara cepat, tetapi hasil dari sistem yang
dibuat akan mudah diperlihara, portabel, dan mudah diintegrasikan dengan
komponen aplikasi lainnya [51].
42
2.10.1. Scikit-Learn
Scikit-Learn atau yang bisa dikenal dengan sklearn merupakan library
Python yang mengintergrasikan berbagai algoritma machine learning baik
supervised maupun unsupervised machine learning yang dapat digunakan untuk
melakukan data mining dan analisis data [53]. Modul ini memberikan efisiensi pada
pengimplementasian berbagai algoritma dengan memanfaatkan interaktivitas dan
modularitas dari bahasa pemograman Python. Sehingga sangat mudah untuk
diakses dan digunakan bagi praktisi yang awam terhadap machine learning. Semua
algoritma pada library Scikit-Learn memiliki seperangat kode method (barisan
kode yang dibuat untuk melakukan suatu fungsi tertentu) yang sama bergantung
pada fungsinya tersendiri, yaitu [54]:
a. Estimator, merupakan inti dari library atau sebutan untuk algoritma
machine learning. Estimator mengimplementasikan fit method, agar
dapat mempelajari data training yang diberikan.
b. Predictor, merupakan estimator yang mengimplentasikan predict
method sehingga algoritma bisa memprediksi data test yang diberikan
dari hasil proses pembelajaran.
c. Tranformer, beberapa estimator disebut sebagai transformer yang bisa
mengimplementasikan kumpulan transform method yang digunakan
untuk melakukan modifikasi terhadap data yang diberikan.
43
Selain itu, setiap estimator juga dapat menggunakan score method yang digunakan
untuk melakukan evaluasi terhadap kualitas hasil pembelajaran yang dilakukan oleh
estimator.
2.10.2. Integrated Development Environment (IDE)
Python merupakan bahasa pemogram yang bebas untuk digunakan. Ada
beberapa cara untuk mengunduh dan memasukkan Python ke dalam sistem
komputer yang digunakan berdasarkan pada operasi sistem yang dipakai dan
pilihan dari pengembang program itu sendiri. Selain mengunduh dari situs resmi
Python, cara lain adalah dengan mengunduh dengan bantuan dari aplikasi perangkat
lunak lain seperti Anaconda [55]. Anaconda merupakan distribusi open-source dari
bahasa pemograman Python dan R untuk pemrosesan data skala besar, analisis
prediktif dan komputasi ilmiah [56]. Di penelitian ini digunakan versi lain dari
Anaconda yaitu miniConda. miniConda merupakan versi minimum dari Anaconda
dimana menyediakan sebagian besar paket library untuk kalkulasi numerik serta
dapat ditambahkan dengan paket-paket library sesuai dengan kebutuhkan secara
bertahap [57].
Dalam proses pengembangan program dikenal yang namanya intergrated
development environment (IDE) atau development interactive environment yang
merupakan sebuah aplikasi perangkat lunak yang menyediakan segala fasilitas yang
dibutuhkan dalam pengembangan program [58]. Sebuah IDE akan mempermudah
dalam proses pengembangan sebuah program. Salah satu IDE yang banyak
digunakan dalam pengembangan program dan sekaligus yang dipakai dalam
44
penelitian ini yaitu Jupyter Notebook. Jupyter Notebook dikembangkan pada
sekitar tahun 2014. Sejak peluncurannya telah terbukti menjadi salah satu IDE yang
sangat bagus untuk digunakan dalam pengembangan program, terlebih ketika
menggunakan bahasa pemograman tingkat tinggi seperti Python. Jupyter Notebook
memiliki antara muka yang halus dan mudah digunakan, yang bagus untuk para
pemula pengembang program. Berikut ini adalah hal-hal yang membuat Jupyter
Notebook menonjol sebagai aplikasi pengembangan program [55]:
a. Dapat membuat pengalaman dalam mengembangan program menjadi
lebih baik.
b. Merupakan aplikasi yang interaktif.
c. Memungkinkan para pengguna untuk menambahkan catatan, komen,
dan judul diantara baris kode di notebook dalam format markdown.
d. Lebih mudah untuk mengedit setiap baris kode.
e. Sangat untuk berbagi dan menyebarkan kode dengan pengguna lain.
f. Setiap notebook dapat dikonversi ke dalam format file lainnya seperti
HTML, PDF dan lain sebagainya.
Untuk penggunaanya, Jupyter Notebook dapat diakses melalui miniConda dan
sekaligus dapat membuat environment (lingkungan kerja) sesuai dengan program
yang sedang dikembangkan.
2.11. Evaluasi Performa Algoritma Machine Learning
Algoritma machine learning regressor telah terbukti efektif untuk
melakukan prediksi di berbagai sektor kehidupan. Salah satu bagian terpenting
45
dalam eksperimen menggunakan machine learning adalah mengevaluasi performa
algoritma itu sendiri. Tujuan dari evaluasi adalah untuk membandingkan hasil
prediksi dari algoritma yang sudah dilakukan proses latih dengan data aktual (data
target) dari pengujian dengan menggunakan data test [59]. Hasil dari perbandingan
tersebut dapat secara langsung mempengaruhi proses pengambilan keputusan
pemilihan jenis algoritma machine learning untuk diimplementasikan [60].
Dalam pengevaluasian dikenal istilah metrik kesalahan (metrics error) atau
pengukur kesalahan (error measures) yang dapat didefinisikan dengan konstruksi
logikal dan matematis yang dirancang untuk mengukur seberapa dekat hasil
prediksi dari data yang diekpetasikan (data aktual). Ada banyak jenis metrik
kesalahan yang dapat dipakai dan dibagi kedalam beberapa kategori untuk
mengevaluasi performa algoritma machine learning [60], tetapi pada penelitian ini
digunakan tiga jenis metrik kesalahan yaitu Root Mean Square Error (RMSE) dan
Normalized Root Mean Square Error (NRMSE), Mean Absolute Percentage Error
(MAPE).
2.11.1. Root Mean Square Error (RMSE)
RMSE merupakan salah satu metrik kesalahan yang sering digunakan
terlebih untuk mengevaluasi performa dari beberapa algoritma machine learning
pada data yang sama [61]. Metrik ini termasuk dalam kategori scale-dependent,
dimana skalanya akan bergantung pada skala data yang dihitung [62]. Untuk nilai
RMSE dapat dihitung menggunakan persamaan berikut [60]:
46
𝑅𝑀𝑆𝐸 = √∑ (𝑦𝑖 − ��𝑖)2𝑛
𝑖=1
𝑛
2
(2.29)
Dimana:
𝑦𝑖 = nilai target/ aktual
��𝑖 = nilai prediksi
𝑛 = jumlah data
Ditunjukkan dalam persamaan, nilai residu antara nilai target dan prediksi
dikuadratkan hal ini bertujuan untuk menghilangkan tanda pada nilai residual
sehingga tidak terjadinya peniadaan pada nilai residual yang sama, tetapi berbeda
tanda (positif atau negatif). Perhitungan nilai RMSE, melalui tiga langkah
sederhana. Pertama menghitung seluruh nilai residu yang dikuadratkan, disini
setiap kesalahan memberikan pengaruh dalam proporsi kudarat dari pada nilai
residu aslinya. Lalu total nilai residu yang dikuadratkan dibagi dengan jumlah data
yang dihitung. Dan terakhir, akan diakarkudaratkan sehingga mendapatkan nilai
akhir dari RMSE [63]. Pada langkah pertama, akan membuat metrik kesalahan ini
memiliki sensitivitas terhadap nilai residu yang dihasilkan oleh setiap data.
Semakin kecil nilai metrik RMSE menunjukkan performa algoritma yang semakin
bagus [64].
2.11.2. Normalized Root Mean Square Error (NRMSE)
NRMSE merupakan nilai RMSE yang dinormalisasikan. Ada beberapa cara
dalam melakukan normalisasi dari nilai RMSE [60], tetapi dalam penelitian ini
47
hanya menggunakan metrik kesalahan NRMSE dengan menggunakan nilai rata-
rata dari data target dalam proses normalisasinya. Untuk menghitung nilai dari
NRMSE dapat menggunakan persamaan berikut [64] [65]:
𝑁𝑅𝑀𝑆𝐸_𝑚𝑒𝑎𝑛 =100%
��× 𝑅𝑀𝑆𝐸 (2.30)
Dengan nilai �� merupakan rata-rata dari data target, yang dapat dihitung dengan
menggunakan persamaan berikut [64]:
y =∑ 𝑦𝑖
𝑛𝑖=1
𝑛 (2.31)
Dimana:
𝑦𝑖 = nilai target/ aktual
𝑛 = jumlah data
Penormalisasian dilakukan agar metrik kesalahan tidak bergantung pada
skala data yang digunakan (scale-independent) [66]. Sehingga dapat digunakan
untuk membandingkan performa algoritma machine learning antar dataset [67]
[68]. NRMSE memberikan nilai dalam bentuk persentase dari perbedaan relatif
antara nilai target dan nilai prediksi [64]. Jika nilai metrik NRMSE mendekati nol
(semakin kecil), hal itu mengindikasikan bahwa akurasi antara nilai prediksi dan
target sangat bagus yang menunjukkan performa algoritma machine learning yang
semakin baik [65]. Berikut merupakan interpretasi dari rata-rata nilai NRMSE
terhapat performa algoritma machine learning:
48
Tabel 2. 3 Interpretasi nilai metrik kesalahan NRSME terhadap performa
algoritma machine learning [65]
Rata-rata nilai NRMSE Kategori
< 10% Sangat baik
10% - 20% Baik
20% - 30% Cukup baik
> 30% Kurang baik
2.11.3. Mean Absolute Percentage Error (MAPE)
MAPE merupakan salah satu metrik kesalahan yang populer digunakan
untuk mengevaluasi suatu model peramalan seperti algoritma machine learning
[60]. MAPE akan menghitung perbedaan nilai antara nilai prediksi dan nilai aktual
yang relatif terhadap nilai aktualnya [69]. Nilai MAPE dapat dihitung dengan
menggunakan persamaan berikut [70]:
𝑀𝐴𝑃𝐸 =1
𝑛× |𝑃𝐸𝑛| (2.32)
Dengan 𝑃𝐸𝑛 merupakan percentage error atau galat persentase, yang nilainya dapat
dihitung dengan menggunakan persamaan berikut [70]:
𝑃𝐸𝑛 = (𝑦𝑖 − ��𝑖
𝑦𝑖) × 100% (2.33)
Dimana:
𝑦𝑖 = nilai target/ aktual
��𝑖 = nilai prediksi
𝑛 = jumlah data
49
Pada persamaan 2.32, nilai 𝑃𝐸𝑛 dimutlakkan hal ini agar tidak terjadi
peniadaan antara nilai yang bertanda positif dan negatif seperti halnya yang
dilakukan oleh metrik kesalahan RMSE hanya saja berbeda caranya. Selain itu nilai
yang dihasilkan tidak bergantung pada skala nilai yang dihitung, sehingga bisa
digunakan untuk mengevaluasi algoritma machine learning pada dataset yang
berbeda seperti penggunaan nilai metrik kesalahan RMSE. Dalam penelitian ini
digunakan pendekatan nilai MAPE untuk mengevaluasi hasil akhir yaitu nilai
radioaktivitas dari masing-masing preparat radioisotop yang dihasilkan oleh
program yang dibuat. Dengan nilai 𝑦 merupakan nilai radioaktivitas literatur dari
masing-masing preparat radioisotop [33] [71] [72]. Nilai MAPE dalam penelitian
ini memiliki beberapa interpretasi kategori, dimana semakin rendah nilai MAPE
yang dihasilkan maka dapat dikatakan bahwa nilai radioaktif yang dihasilkan oleh
program mendekati nilai literaturnya. Untuk interpretasi dari nilai MAPE itu
sendiri, ditunjukkan pada tabel berikut:
Tabel 2. 4 Interpretasi nilai metrik kesalahan MAPE terhadap hasil prediksi
algoritma machine learning [73] [74] [75] [76]
Nilai MAPE Kategori
< 10% Memuaskan
10% - 20% Cukup memuaskan
> 20% Kurang memuaskan
Selesai.
50
BAB III
METODE PENELITIAN
3.1. Lokasi dan Waktu Penelitian
Penelitian tentang otomasi penentuan nilai radioaktivitas radioisotop
menggunakan multi-output machine learning dilaksanakan dari bulan Juli 2020
sampai dengan April 2021. Penelitian ini dilakukan di Laboratorium Fisika Lanjut,
Pusat Laboratorium Terpadu (PLT) Universitas Islam Negeri (UIN) Syarif
Hidayatullah Jakarta.
3.2. Alat dan Bahan
Pada proses penelitian ini, digunakan alat dan bahan sebagai berikut:
1. 1 Set Laptop, dengan spesifikasi:
- Lenovo G-40 dengan operasi sistem Windows 10
- Processor AMD A8-6410 APU 2.0GHz
- AMD Radeon R5 Graphics
- RAM 4GB dan HDD 500GB
- Pyhton versi 3.6.7
- Software miniConda 4.9.0 dan IDE Jupyter Notebook
- Library Scikit-Learn
2. 1 Sintilator NaI(Tl) Leybold Didactic
3. 1 Catu daya tegangan tinggi 1,5kV
4. 1 Set preparat radioisotop, sebagai berikut:
- 241Am
51
- Campuran (90Sr, 241Am, dan 137Cs)
- 60Co
- 22Na
5. 1 MCA Box
6. 1 Set komputer
7. 1 Program Cassy Lab
8. 1 Cassy Sensor
9. 1 Detector Output Stage
10. 1 Set pelindung
11. 1 Set tiang dan penjepit
3.3. Tahapan Penelitian
Pada penelitian ini, memiliki tahapan proses yang digambarkan pada
diagram berikut:
52
Gambar 3. 1 Tahapan Penelitian
3.4. Proses Penelitian
Penelitian ini secara umum terdiri dari beberapa tahap, yaitu identifikasi dan
perumusan masalah, studi literatur, perancangan program, pembuatan program,
53
pengambilan dataset, uji coba program, dan menganalisis hasil dari program yang
sudah dibuat.
3.4.1. Perancangan Program
Perancangan program berdasarkan pada literatur serta penelitian yang sudah
ada. Program yang dirancang adalah program untuk mempelajari pola data atau
atribut-atribut penting dari data dengan metode meregresi. Sehingga hasil dari
pembelajaran tersebut akan digunakan oleh program untuk menghasilkan keluaran.
Diharapkan nantinya program ini dapat menentukan nilai puncak energi dan NPA
dari masing-masing preparat. Dimana nilai NPA nantinya akan digunakan untuk
menghitung nilai aktivitas radioaktif tiap-tiap preparat radioisotop yang dijadikan
sebagai data keluaran akhir program bersamaan dengan nilai puncak energi.
Program akan dibentuk dengan mengimplementasikan beberapa multi-
output machine learning untuk masing-masing algortima machine learning
regressor yaitu Decision Tree Regressor, Random Forest Regressor, dan k-Nearest
Neighbors Regressor. Untuk ditentukan alogritma mana yang memberikan hasil
optimum dalam memprediksi nilai keluarannya.
Berikut adalah rancangan program yang dibuat pada peneletian ini:
54
Gambar 3. 2 Flow-chart kerja program
55
Secara umum, alur kerja dari program yang dibuat pada penelitian ini seperti
pada Gambar 3.2 di atas, tetapi untuk pengujian dilakukan dengan dua variasi
kondisi yang berbeda yaitu:
1. Program dengan algoritma machine learning yang di-setting default
pada hyper-parameter-nya.
2. Program dengan algotitma machine learning yang dilakukan proses
tuning hyper-parameter.
Lalu untuk membedakan data training dan test, dilakukan pada proses pre-
processing dataset. Dimana pada proses ini, akan dihasilkan dataset-dataset yang
akan dipelajari maupun diprediksi oleh algoritma machine learning, yaitu dataset
features (atribut) dan dataset targets baik pada data training dan test. Alur kerja
dari pre-processing dataset ditunjukkan pada diagram-diagram berikut:
56
(a)
(b)
Gambar 3. 3 Flow-chart pre-processing dataset: (a) data training, (b) data test
Secara garis besar flow-chart pre-processing dataset baik untuk data
training dan test pada Gambar 3.3 (a) da (b), memiliki alur yang sama. Dimana inti
dalam alur pre-processing dataset adalah menentukkan data penting dari sprektrum
gamma pada masing-masing data spektroskopi preparat radioisotop. Data penting
dalam penelitian ini merupakan data cacahan salah satu puncak energi pada
spektrum gamma keseluruhan sesuai karakteristik dari masing-masing preparat
radioisotop. Banyaknya data penting pada spektrum gamma setiap preparat akan
berbeda-beda dengan mengikuti persamaan 2.21. Hal tersebut agar data penting
yang dihasilkan bisa digunakan untuk menghitung nilai baik puncak energi dan
57
NPA setiap preparat radioisotop yang akan dijadikan sebagai dataset targets.
Varibel 𝑋0 pada Gambar 3.3 merupakan indeks/ titik energi gamma yang memiliki
cacahan tertinggi pada data penting. Selanjutnya variabel ∆𝐸 merupakan batas atas
dan bawah data penting, dimana nilainya berbeda-beda untuk setiap preparat
radioisotop tergantung dari lebar setiap puncak energi pada spektrum gamma.
Penentuan nilai variabel ∆𝐸 dilakukan secara manual dengan melihat rata-rata lebar
puncak energi gamma dari setiap preparat radioisotop dan ditambah dengan jumlah
indeks energi yang digunakan sebagai batas bawah dan atas puncak energi gamma
sesuai dengan persamaan 2.21. Yang membedakan dari kedua alur pre-processing
dataset pada Gambar 3.3 adalah dataset features yang dihasilkan. Untuk data
training, data features yang dihasilkan akan menyisakan hanya data penting pada
setiap data spektrum gamma, sedangkan untuk data test, dataset features yang
dihasilkan, merupakan keseluruhan data spektrum gamma yang menandakan tidak
adanya perubahan data cacahan gamma di setiap data spektrum gamma yang
diberikan.
Lalu untuk dataset targets hasil pre-processing dataset baik data training
dan test memiliki kesamaan, yaitu merupakan data puncak energi dan NPA hasil
perhitungan dari setiap data dengan menggunakan persamaan 2.22 untuk puncak
energi dan persamaan 2.21 untuk NPA. Dalam penelitian ini masing-masing nilai
pada dataset targets yaitu puncak energi dan NPA disebut sebagai target data.
58
3.4.2. Pembuatan Program
Program yang sudah dirancang sebelumnya, kemudian dibuat menggunakan
bahasa pemograman Python dengan memanfaatkan Software IDE miniConda.
Dengan diagram alir program ditunjukkan pada Gambar 3.2 dan 3.3. Program yang
dibuat berjumlah dua dengan fungsi dan variasi masing-masing, sebagai berikut:
1. Algoritma machine learning dengan hyper-parameter default, untuk
memprediksi nilai puncak energi dan NPA.
2. Algoritma machine learning dengan proses tuning hyper-parameter,
untuk memprediksi nilai puncak energi dan NPA.
3.4.3. Pengambilan Dataset
Gambar 3. 4 Susunan alat untuk pengambilan data spektroskopi gamma [77]
Dilakukan pengambilan data spektroskopi gamma tiap-tiap preparat
berikut; 241Am, Campuran (90Sr, 241Am, dan 137Cs), 60Co, dan 22Na. Data diambil
menggunakan perangkat detektor sintilasi gamma NaI(Tl) di Laboratorium Fisika
Lanjut Pusat Laboratorium Terpadu Universitas Islam Negeri Syarif Hidayatullah
59
Jakarta. Data spektroskopi gamma diambil dengan mengikuti prosedur eksperimen
yang ada, dengan variasi jumlah terhadap variasi waktu pengambilan data, sebagai
berikut:
Tabel 3. 1 Variasi jumlah dataset preparat terhadap waktu
Preparat Jenis Data Jumlah
(masing-masing preparat)
Waktu
(detik)
241Am,
Campuran
(90Sr, 241Am,
dan 137Cs), 60Co, dan 22Na
Data
training dan
validation
70 150
65 225
65 300
Data test
5 150
5 200
5 250
5 300
Data efisiensi
2 150
2 225
2 300
Pengambilan data dilakukan dengan setelan perangkat yang sama pada
semua preparat. Untuk itu pada saat mulai pengambilan data, setelan perangkat
harus diatur terlebih dahulu. Pada penelitian kali ini, diatur setelan perangkat pada
program aplikasi Cassy Lab sebagai berikut:
• Display measuring parameter : Multichannel Measurement
• Number of channels : 256 channels
• Gain box : -2
• Multichannel : on
• Negative pulse: on
• Measuring time : ditunjukkan pada tabel 3.1
60
Selain mengatur perangkat pada program aplikasi Cassy Lab, diharuskan mengatur
nilai tegangan pada catu daya tegangan tinggi, dengan cara mengukur terlebih
dahulu preparat 60Co dengan setelan perangkat di atas. Pada saat pegukuran
berlangsung, diatur tegangan pada catu daya tegangan tinggi secara perlahan agar
terlihat semua puncak energi pada spektrum energi 60Co (untuk preparat 60Co yang
digunakan akan terlihat 4 puncak pada spektrum energinya). Pada penelitian kali
ini, didapat nilai tegangan catu daya tegangan tinggi sebesar 0,71 kV. Dimana nilai
pada semua pengambilan data nilai tegangan pada catu daya tegangan tinggi harus
sama.
Selanjutnya kalibrasi energi dilakukan pada penelitian kali ini, bertujuan
untuk mengubah indeks channel pada data spektroskopi yang didapat menjadi
indeks energi. Hal ini juga bertujuan agar data spektroskopi yang telah diambil
dapat dianalisa lebih lanjut, seperti pengindetifikasian atau menghitung nilai
puncak energi dan nilai aktivitas dari setiap radioisotop yang diukur. Pada
penelitian kali ini kalibrasi dilakukan pada aplikasi program bawaan, dengan
menggunakan acuan data spektrum dari Am-241 dengan energi 59,54 keV dan Na-
22 dengan energi 1274,5 keV. Hal ini agar semua indeks energi dapat tercakupi
nilainya pada rentang energi yang ditentukan.
3.4.4. Training dan validating Algoritma Machine Learning
Program yang berhasil dibuat selanjunya akan dilakukan proses latih
(training) dengan keseluruhan data training hasil proses pre-processing dataset.
Pada algoritma machine learning dengan hyper-parameter default, proses latih
61
dengan keseluruhan data training akan berjalan langsung dengan iterasi satu kali
setelah itu algoritma siap untuk dilakukan proses prediksi, sedangkan untuk
algoritma machine learning yang dilakukan proses tuning hyper-parameter, proses
latih merupakan gabungan antara proses tuning hyper-parameter dan proses latih.
Dimana algoritma akan melakukan proses tuning terlebih dahulu dengan modul
GridSearchCv untuk mencari kombinasi tuned hyper-parameter, setelah
mendapatkan kombinasi tersebut algoritma akan dilakukan proses latih dengan
keseluruhan data training menggunakan kombinasi yang sudah diperoleh. Dalam
setiap proses latih yang dilakukan, tiap-tiap algoritma machine learning akan
mempelajari atribut-atribut pada dataset features dan targets yang diberikan.
Dimana hasil dari proses latih tersebut (hasil pembelajaran) akan digunakan oleh
masing-masing machine learning pada saat memprediksi nilai target yang
ditentukan, yaitu nilai puncak energi dan NPA. Setelah dilakukan proses latih,
algoritma akan dilakukan proses validasi terlebih dahulu. Hal ini bertujuan untuk
melihat bagaimana performa algoritma machine learning ketika diberikan data
validasi, yakni data yang memiliki kemiripan dengan data training.
Berikut merupakan tabel hyper-parameter dari masing-masing algoritma
machine learning yang akan dilakukan proses tuning pada penelitian ini beserta
rentang nilainya dan nilai default-nya.
62
Tabel 3. 2 Hyper-parameter yang akan di tuning dan default setiap algoritma
machine learning [41] [47] [78]
Algoritma
machine
learning
Hyperparameter
yang di tuning Rentang nilai
Nilai
default
Decision
Tree
Regressor
- criterion
- max_depth
- random_state
- [mse, mae,
friendman_mse,
poisson]
- [1, ..., 20]
- [3]
- [mse]
- [None]
- [3]
Random
Forest
Regressor
- n_estimators
- criterion
- max_depth
- random_state
- [80, ..., 120]
- [mse, mae,
friendman_mse,
poisson]
- [6, .... 15]
- [3]
- [100]
- [mse]
- [None]
- [3]
k-NN
Regressor
- n_neighbors
- p
- weights
- [1, ..., 20]
- [1, 2]
- [uniform, distance]
- [5]
- [2]
- [uniform]
Untuk hyper-parameter random_state, tidak dilakukan proses tuning. Penentuan
nilai random_state pada penelitian ini dilakukan agar hasil prediksi yang dilakukan
oleh algoritma machine learning terlebih yang menggunakan metode membuat
model pohon keputusan dalam melakukan prediksinya (algoritma DTR dan RFR)
tetap sama setiap dilakukan proses prediksi dengan hyper-parameter yang sama.
3.4.5. Menguji Program dengan Data Test
Setelah melewati proses latih dan validasi selanjutnya program dilakukan
proses uji dengan data spektroskopi gamma yang belum pernah dipelajari oleh
program sebelumnya (data test). Pada proses ini, akan dihasilkan nilai prediksi
berupa puncak energi dan NPA dari masing-masing radioisotop.
63
3.4.6. Evaluasi Program
Pada tahap ini akan dilihat dan dianalisis hasil uji coba program yang
diperoleh. Sebelumnya diharuskan menentukan nilai radioaktivitas literatur sebagai
acuan dan nilai efisiensi mutlak detektor untuk menghitung nilai aktivitas dari nilai
NPA yang dihasilkan. Selanjutnya akan dihitung nilai kesalahan dari masing-
masing faktor yang dianalisis dengan menggunakan metrik RMSE dan NRMSE
serta nilai MAPE. Proses ini akan membantu untuk menentukan algoritma machine
learning mana yang memberikhan hasil optimum dalam menentukan nilai
radioaktivitas radioisotop. Selesai.
64
BAB IV
HASIL DAN PEMBAHASAN
4.1. Program penentuan nilai radioaktivitas radioisotop
Telah berhasil dibuat program untuk menentukan nilai radioaktivitas
radioisotop dengan menggunakan beberapa algoritma multi-output machine
learning yaitu algoritma DTR, RFR, dan k-NN. Program dibuat dengan
menggunakan bahasa pemograman Python dan software miniConda serta IDE
Jupyter Notebook. Dengan tujuan untuk menentukan nilai puncak energi dan
aktivitas radioaktif untuk setiap radioisotop yang digunakan.
Pada program yang dibuat, setiap proses dijalankan dengan function (user-
defined function) yang yang sudah dibuat oleh penyusun. Function dalam bahasa
pemograman Pyhton merupakan urutan pernyataan (kode) yang saling berhungan
yang dapat melakukan tujuan tertentu [79]. Function ini akan mempermudah dalam
pembuatan program karena dapat menyederhanakan script kode yang dibuat untuk
melakukan suatu proses tertentu pada data input yang banyak. Sehingga script kode
program yang dibuat relatif tidak terlalu panjang dan juga akan membantu dalam
pemeliharaan dan peninjauan ulang script kode program.
Untuk alur kerja program dapat dilihat pada Gambar 3.2 yang secara garis
besar prinsip dari program ini terdiri dari pre-processing dataset, training dan
validating algoritma machine learning, uji coba program serta evaluasi program.
65
4.1.1. Pre-processing dataset
Dalam penggunaannya, program diberikan dataset berupa data spektroskopi
gamma setiap preparat radioisotop. Salah satu contoh dataset yang diberikan
ditunjukkan pada tabel berikut:
Tabel 4. 1 Data spektroskopi gamma 241Am dengan variasi waktu pengambilan
300 detik untuk data training dan validation
E
(keV) AM_1 AM_2 AM_3 ... AM_63 AM_64 AM_65
-17,9 208 100 72 ... 139 97 141
-11,7 5246 4396 3166 ... 4.054 4.111 4.067
-5,4 12.084 11.053 9.693 ... 9.324 9.596 9.365
... ... ... ... ... ... ... ...
1559,6 5 5 2 ... 2 7 0
1565,8 1 7 5 ... 4 2 5
1572 267 238 249 ... 1 2 3
Sebelum diberikan ke masing-masing algoritma machine learning, dataset
tersebut diolah terlebih dahulu oleh program sesuai dengan jenis data yang akan
dihasilkan yaitu data training, validation dan test. Proses pre-processing dataset
pada program dilakukan dengan function “precosess_data(arguments)” seperti
pada gambar berikut:
66
Gambar 4. 1 Kode program untuk proses pre-processing dataset masing-masing preprat
radioisotop pada data training
Pada Gambar 4.1, function pre-process_data memerlukan beberapa arguments yang
dijadikan sebagai parameter agar function dapat digunakan [79], yaitu:
a. file_name merupakan nama dari berkas dataset yang akan diolah. Jika
terdiri dari beberapa berkas maka diharuskan untuk menambahkan
nomor secara urut pada bagian nama berkas tersebut agar, seluruh
dataset dapat diolah.
b. channel merupakan jumlah features pada dataset
c. e_delta merupakan lebar puncak karakteristik yang digunakan pada
setiap preparat radioisotop.
d. m_delta merupakan jumlah features yang digunakan pada batas atas
dan bawah puncah sesuai pada persamaan 2.21.
e. mph merupakan nilai batas minimum tinggi puncak karakteristik setiap
preparat radioisotop.
f. mpd merupakan nilai batas minimum lebar puncak karakteristik setiap
preparat radioisotop.
67
g. dpsi merupakan nilai batas minimum indeks lokasi puncak karakteristik
setiap preparat radioisotop.
Nilai dari beberapa arguments di atas diperoleh berdasarkan karakteristik spektrum
gamma dari masing-masing preparat radioisotop. Berikut merupakan data training
dan validation hasil pre-processing dataset yang dibagi menjadi 2 yaitu dataset
features dan targets:
Tabel 4. 2 Dataset features data training dan validation
indeks ... 56.9 63.2 ... 1272.8 1279.0 ...
AM_1 ... 85.917 64.964 ... 0 0 ...
AM_2 ... 86.307 68.064 ... 0 0 ...
AM_3 ... 83.630 67.256 ... 0 0 ...
... ... ... ... ... ... ... ...
NA_63 ... 0 0 ... 133 124 ...
NA_64 ... 0 0 ... 122 117 ...
NA_65 ... 0 0 ... 138 129 ...
Tabel 4. 3 Dataset targets data training dan validation
indeks puncak_energi net_peak_area
AM_1 56,88 233.316,75
AM_2 57,16 234.824,00
AM_3 57,28 227.984,00
... ... ...
NA_63 1.270,90 1.331,25
NA_64 1.280,81 1.418,00
NA_65 1.265,32 1.102,00
Berdasarkan Tabel 4.2 dan 4.3 di atas. Pada data training dan validation,
dataset features merupakan data penting dari spektrum gamma pada data
spektroskopi gamma setiap preparat radioisotop, sedangkan untuk data selain itu
akan diubah menjadi nol. Hal ini akan membuat algoritma mempelajari hanya data-
68
data penting saja. Dan untuk dataset targets merupakan nilai puncak energi dan
NPA hasil perhitungan dari data penting pada data features tiap-tiap data
spektroskopi gamma. Pada data test, dataset features merupakan gabungan
keseluruhan data spektrosokopi gamma hasil pencacahan yang telah dilakukan
proses transform pada data awal dimana merubah indeks baris menjadi kolom
begitu juga sebaliknya, sedangkan untuk dataset targets-nya sama seperti data
training maupun validation berupa nilai puncak energi dan NPA hasil perhitungan
dari data penting pada dataset features data test tersebut.
4.1.2. Training dan validating algoritma machine learning
Setelah dilakukan proses pengolahan data, selanjutnya data training dan
validation akan diberikan kepada masing-masing algoritma machine learning untuk
dilakukan proses latih dan validasi. Nantinya dengan dataset features dan targets
pada data training, setiap algoritma machine learning akan melakukan proses
pembelajaran. Pada program dengan variasi kondisi algoritma yang di-setting
hyper-paramater default proses latih dilakukan dengan kode seperti gambar
berikut:
Gambar 4. 2 Kode proses latih algoritma DTR pada program dengan variasi kondisi di-setting
hyper-parameter default
69
Pada gambar 4.2, setelah ditentukan algoritma dengan hyper-parameter default
dilanjutkan dengan proses latih dan dihitung waktu yang dibutuhkannya.
Sedangkan pada program dengan variasi kondisi algoritma dilakukan proses tuning
hyper-parameter, proses latih dilakukan dengan kode seperti gambar berikut:
Gambar 4. 3 Kode proses latih algoritma DTR pada program dengan variasi kondisi dilakukan
proses tuning hyper-parameter
Berdasarkan Gambar 4.3 di atas, terlihat perbedaan jika dibandingkan dengan kode
proses latih pada program dengan algoritma yang di-setting hyper-parameter
default. Pada program dengan algoritma yang dilakukan proses tuning hyper-
parameter, setelah menentukan algoritma yang digunakan selanjutnya diharuskan
untuk mengatur hyper-parameter yang akan di-tuning dan rentang nilainya. Proses
tuning dilakukan dengan memanfaatkan function GridSearchCv(arguments) yang
membutuhkan beberapa arguments untuk dapat bekerja, yaitu [80]:
70
a. estimator merupakan algoritma machine learning yang digunakan.
b. param_grid merupakan hyper-parameter dari algoritma yang akan di-
tuning serta rentang nilainya.
c. cv merupakan nilai untuk membagi data training yang diberikan untuk
melakukan metode Cross-Validation
d. scoring yaitu metrik kesalahan yang digunakan untuk evaluasi metode
Cross-Validation selama proses tuning.
e. refit merupakan parameter yang akan menentukan hyper-parameter
tuned dan menggunakannya dalam proses latih dengan keseluruhan
data training yang diberikan.
f. n_jobs yaitu parameter yang menentukan jumlah proses yang dilakukan
secara paralel. Jika nilainya -1 maka seluruh prosessor pada proses yang
dilakukan.
Proses tuning akan berjalan seiring dengan proses latih. Setelah proses latih
dilakukan oleh setiap algoritma, selanjutnya dilakukan proses validasi untuk
melihat bagaimana hasil prediksi awal setiap algoritma sebelum dilakukan proses
uji.
4.1.3. Uji coba program
Proses uji coba program dilakukan dengan kode seperti gambar berikut:
Gambar 4. 4 Kode untuk melakukan proses prediksi data uji setiap algoritma machine learning
71
Dimana X_test merupakan dataset features dari data test. Setiap algoritma akan
melakukan proses prediksi untuk menentukan nilai target data baik puncak energi
maupun NPA untuk setiap data pada dataset features yang diberikan dengan
menggunakan hasil proses pembelajaran yang sebelumnya dilakukan. Selanjutnya,
setelah hasil prediksi diperoleh dari setiap algoritma machine learning, khusus
untuk target data NPA akan dilakukan proses pehitungan untuk mendapatkan nilai
aktivitas radioaktif dari setiap preparat radioisotop. Tetapi, sebelumnya akan
dilakukan proses perhitungan nilai radioaktivitas literatur dan serta nilai efisiensi
mutlak detektor yang akan digunakan pada perhitungan nilai aktivitas radioaktif
seperti pada persamaan 2.17. Setelah semua nilai didapat yakni dataset targets hasil
prediksi, nilai aktivitas radioaktif, dan nilai radiaktivitas literatur, program akan
melakukan proses evaluasi untuk menganalisis performa dan hasil yang telah
diperoleh dari setiap algoritma machine learning.
4.1.4. Evaluasi Performa Program
Secara garis besar terdapat dua proses analisis dalam program yang dibuat.
Pertama, proses analisis performa prediksi algoritma machine learning secara
keseluruhan yang dilakukan berdasarkan nilai metrik RMSE yang dihasilkan.
Kedua, proses analisis performa algoritma machine learning untuk tiap-tiap dataset
preparat radioisotop menggunakan rata-rata nilai dari metrik NRMSE untuk hasil
prediksi nilai puncak energi dan NPA serta nilai metrik MAPE untuk output akhir
yaitu nilai radioaktivitas radioisotop yang dihasilkan oleh program. Proses analisis
ini bertujuan untuk menentukan algoritma machine learning yang memberikan
hasil optimum dalam menentukan nilai radioaktivitas radioisotop.
72
Kode program yang berhasil dibuat pada penelitian ini dapat dilihat pada
bagian Lampiran. Dimana nanti ketika program dijalankan, akan memperlihatkan
hasil dari proses-proses sudah dilakukan, antara lain sebagai berikut:
1. Hasil prediksi target data (puncak energi dan NPA) masing-masing
preparat radioisotop
2. Hasil akhir nilai radioaktivitas (puncak energi dan aktivitas radioaktif)
masing-masing preparat radioisotop
3. Kombinasi tuned hyper-parameter dan waktu yang dibutuhkan dalam
proses tuning hyper-parameter oleh setiap algoritma machine learning.
4. Nilai aktivitas radioisotop (kalkulasi) yang dihitung dengan
berdasarkan nilai aktivitas pada sertifikat preprarat radiosiotop
menggunakan persamaan 2.14. Nantinya akan digunakan sebagai nilai
literatur aktivitas radioisotop bersamaan dengan nilai puncak energi
literatur.
5. Nilai efisiensi mutlak detektor untuk setiap preparat radiosiotop yang
dihitung menggunakan persamaan 2.23. Nilai efisiensi mutlak detektor
ini akan digunakan pada persamaan 2.17 untuk menghitung nilai
aktivitas radioisotop hasil prediksi maupun dataset targets data test.
6. Nilai evaluasi program yaitu nilai metrik kesalahan RMSE, NRMSE,
dan MAPE.
Pada subbab berikutnya akan dibahas lebih lanjut mengenai performa dan
hasil prediksi maupun akhir oleh masing-masing algoritma machine learning.
73
4.2. Performa prediksi secara keseluruhan algoritma machine learning
Bagian ini akan dijelaskan bagaimana performa dari setiap algoritma
machine learning pada setiap program yang dibuat dalam memprediksi data test
yang diberikan secara keseluruhan. Setiap algoritma machine learning diberikan
data training dan validation dengan rasio data 80:20 dari total 800 data training
keseluruhan yang dipecah ketika dilakukan proses latih pada semua program yang
dibuat dengan menggunakan function train_test_split(arguments) dan menentukan
nilai arguments random_state tersebut dengan angka 10. Penentuan parameter
tersebut agar hasil pemecahan data training dan validation mendapatkan hasilkan
yang sama dalam setiap pengulangan penggunaan program tersebut. Kemudian
masing-masing algoritma diberikan data test pada proses uji sebanyak 80 data yang
berisi 20 data perpreparat radioisotop. Performa algoritma akan ditentukan
berdasarkan dari nilai metrik kesalahan RMSE keseluruhan target data puncak
energi dan NPA yang diperoleh dalam proses validasi dan uji.
4.2.1. Decision Tree Regressor
Pada algoritma DTR, proses latih baik pada program dimana algoritma
dengan hyper-parameter default maupun yang dilakukan proses tuning hyper-
parameter dilakukan dengan waktu yang relatif cepat. Berikut merupakan waktu
yang diperlukan untuk melakukan proses latih oleh algortitma DTR:
74
Tabel 4. 4 Waktu proses latih yang dibutuhkan algoritma DTR di setiap variasi
kondisi program
Algoritma
Waktu proses latih
Hyper-parameter default
(detik)
Tuned hyper-parameter
(detik)
DTR 0,0620 29,10
Terlihat pada Tabel 4.4 di atas, proses latih algoritma DTR pada program dengan
hyper-parameter default membutuhkan waktu proses yang relatif lebih cepat
dibandingkan dengan yang dilakukan proses tuning hyper-parameter. Hal ini
dikarenakan proses latih pada algoritma dengan proses tuning hyper-parameter
dilakukan sebanyak 400 kali untuk mencari kombinasi parameter yang memberikan
hasil optimum. Jumlah iterasi proses latih dihitung berdasarkan kombinasi hyper-
parameter yang diberikan pada algoritma yaitu 80 kombinasi kemudian dikali
dengan jumlah proses latih dan validasi dengan menggunakan metode Cross-
Validation yaitu lima kali. Setelahnya program akan dilakukan proses latih akhir
dengan kombinasi hyper-parameter yang diperoleh dalam proses tuning hyper-
parameter pada keseluruhan data training sehingga jumlah total proses latih yang
dilakukan sebanyakn 401 kali, sedangkan pada algoritma dengan hyper-parameter
default proses latih hanya dilakukan sebanyak satu kali.
Dalam proses tuning hyper-parameter, akan ditentukan kombinasi tuned
hyper-parameter. Berikut ini merupakan kombinasi hyper-paramater yang
memiliki performa optimum dalam proses tuning hyper-parameter algoritma DTR:
75
Tabel 4. 5 Kombinasi tuned hyper-parameter algoritma DTR
Hyper-parameter Nilai ideal
Best criterion mae
Best max_depth 18
Best RMSE_score 3.120,67
Berdasarkan Tabel 4.5 di atas. Hyper-parameter yang di-tuning pada proses ini,
menentukan struktur decision tree yang dibuat dari setiap algoritma, dimana
kombinasi tuned hyper-parameter ditentukan dengan cara memilih kombinasi yang
menghasilkan nilai rata-rata RMSE terendah selama proses tuning. Berdasarkan
tabel 4.5 di atas, didapatkan hyper-parameter criterion berupa mae dimana nantinya
pada penentuan splitting variable dan split point-nya akan menggunakan metrik
kesalahan MAE (Mean Absolute Error) dengan struktur decision tree yang
dibentuk memiliki 13 level kedalaman. Sedangkan pada algoritma dengan hyper-
parameter default, dalam penentuan splitting variable dan split point-nya akan
menggunakan metrik kesalahan MSE (Mean Square Error) dan struktur decision
tree yang dibuat memiliki level kedalam yang bervariasi sampai setiap leaf node
hanya berisi satu sample point data training.
Kemudian setelah proses latih dilakukan, setiap algoritma DTR dilakukan
proses validasi dan uji untuk dilihat bagaimana performa dalam memperdiksi data
validation dan test yang diberikan. Berikut merupakan hasil performa dari proses
validasi dan uji yang dilakukan pada algoritma DTR:
76
Tabel 4. 6 Nilai RMSE algoritma DTR pada proses validasi dan uji di setiap
variasi kondisi program
Proses Nilai RMSE
Hyper-parameter default Tuned hyper-parameter
validasi 13.236,95 13.119,35
uji 133.682,92 133.669,49
Berdasarkan Tabel 4.6, pada masing-masing algoritma DTR terlihat adanya
peningkatan nilai RMSE yang terjadi di setiap proses validasi ke proses uji pada
semua variasi kondisi program. Dimana nilai RMSE yang diperoleh pada proses
validasi memiliki nilai yang relatif lebih rendah dibandingkan dengan nilai pada
proses uji yang menandakan bahwa struktur decision tree yang dibentuk masih
belum dapat melakukan prediksi nilai target data dengan baik pada data test
dibandingkan dengan data validation. Hal tersebut dapat disebabkan karena adanya
perbedaan variasi waktu pengambilan data yang berbeda pada data test dengan data
training. Dimana pada struktur decision tree yang dibangun penentuan splitting
variable, split point serta sample point leaf node-nya berdasarkan data training
sehingga ketika dilakukan proses uji dengan data test, masih belum dapat
melakukan prediksi dengan baik yang ditandai dengan nilai RMSE yang tinggi. Jika
dibandingkan pada proses validasi, decision tree yang dibentuk dapat melakukan
proses prediksi dengan lebih baik ditandai dengan nilai RMSE yang diperoleh
relatif lebih rendah. Hal ini dikarenakan data validation merupakan pecahan dari
data training, sehingga membuat rentang nilai pada data validation tidak berbeda
jauh dengan data training.
77
Selanjutnya jika dilihat dari perbandingan antara program dengan hyper-
parameter default dan tuned hyper-parameter akan terlihat adanya penurunan nilai
RMSE yang terjadi pada proses validasi maupun uji yang mendakan bahwa proses
tuning hyper-parameter yang dilakukan berhasil mendapatkan kombinasi tuned
hyper-parameter ideal, sehingga membuat algoritma DTR membentuk struktur
decision tree yang memiliki performa dalam proses prediksi relatif lebih baik
dibandingkan dengan hyper-parameter default walaupun penurunan nilai RMSE
yang dihasilkan tidak terlalu signifikan.
4.2.2. Random Forest Regressor
Proses latih yang dilakukan oleh algoritma RFR membutuhkan waktu yang
relatif lebih lama dibandingkan dengan dua algoritma lainnya pada setiap program
yang dibuat, hal ini dikarenakan algoritma RFR merupakan kumpulan dari beberapa
algoritma machine learning yang sama yakni algoritma DTR. berikut merupakan
waktu proses latih yang diperlukan oleh algoritma RFR:
Tabel 4. 7 Waktu proses latih yang dibutuhkan algoritma RFR di setiap variasi
kondisi program
Algoritma
Waktu proses latih
Hyper-parameter default
(detik)
Tuned hyper-parameter
(detik)
DTR 4,20 2.711,88
Berdasarkan Tabel 4.7 di atas, untuk proses latih pada algoritma dengan hyper-
parameter default membutuhkan waktu 4,20 detik, relatif lebih lama dibandingkan
algoritma DTR dengan kondisi yang sama. Ini dikarenakan pada proses latih,
algoritma RFR akan membuat 100 decision tree, sedangkan algoritma DTR hanya
78
membuat satu decision tree saja. Untuk algoritma dengan proses tuning hyper-
parameter, terjadi peningkatan yang relatif besar pada waktu proses latih yang
dibutuhkan oleh algoritma. Hal ini terjadi disebabkan oleh jumlah kombinasi hyper-
parameter yang diberikan terbilang relatif banyak yaitu 200 kombinasi dengan
menggunakan metode Cross-Validation, maka algoritma RFR akan melakukan
proses training sebanyak 1000 kali dan ditambah satu kali proses latih akhir dengan
menggunakan kombinasi hyper-paramater ideal yang diperoleh pada seluruh data
training. Selain itu adanya faktor tingkat kompleksitas cara kerja dari algoritma
RFR juga memberikan pengaruh pada lamanya waktu di setiap proses latih dengan
satu kombinasi hyper-paremeter.
Dari proses tuning hyper-parameter yang telah dilakukan, diperoleh
kombinasi tuned hyper-parameter untuk algoritma RFR sebagai berikut:
Tabel 4. 8 Kombinasi tuned hyper-parameter algoritma RFR
Hyper-parameter Nilai ideal
Best n_estimators 110
Best criterion friedman-mse
Best max_depth 12
Best RMSE_score 2.361,43
Berdasarkan Tabel 4.8 di atas, algoritma pada program yang dilakukan proses
tuning hyper-parameter akan membuat sebanyakan 120 decision tree dan dalam
penentuan splitting variable dan split point-nya akan menggunakan nilai metrik
kesalahan friedman-mse dengan level kedalaman di setiap decision tree yang
dibangun yaitu 12 level kedalaman. Sedangkan secara default, algoritma RFR akan
membuat sebanyak 100 decision tree dengan menggunakan nilai metrik kesalahan
79
MSE dalam menentukan splitting variable dan split point-nya serta level kedalaman
yang sama pada semua decision tree bergantung kepada data training yang
diberikan. Pemilihan kombinasi tuned hyper-parameter ini dilakukan berdasarkan
nilai RMSE yang dihasilkan pada saat proses latih dan validasi menggunakan
metode Cross-Validation. Yaitu dengan memilih kombinasi hyper-parameter yang
menghasilkan nilai rata-rata RMSE yang rendah pada saat proses tuning.
Setelah algoritma dilakukan proses latih pada masing-masing program yang
dibuat, selanjutnya setiap algoritma dilakukan proses validasi dan uji dengan
menggunakan data validation dan test. Berikut merupakan hasil performa yang
diperoleh oleh algoritma RFR pada setiap program yang dibuat:
Tabel 4. 9 Nilai RMSE algoritma RFR pada proses validasi dan uji di setiap
variasi kondisi program
Proses Nilai RMSE
Hyper-parameter default Tuned hyper-parameter
validasi 10.808,32 10.930,92
uji 133.221,65 133.238,90
Berdasarkan Tabel 4.9, dilihat dari perbandingan antara proses validasi dan proses
uji disemua program yang dibuat terjadi peningkatan nilai RMSE. Sama seperti
pada algoritma DTR sebelumnya, nilai RMSE pada proses uji yang diperoleh relatif
tinggi jika dibandingkan dengan pada proses validasi yang menandakan bahwa
struktur decision tree pada hutan yang dibangun oleh algoritma RFR masih belum
dapat melakukan prediksi dengan baik pada data test dibandingkan pada data
validation. Telah diketahui pada subbab sebelumnya mengenai performa algoritma
DTR, struktur decision tree yang berhasil dibangun setelah proses latih akan
80
cenderung melakukan prediksi lebih baik pada data yang memiliki rentang nilai
yang relatif sama seperti data training dalam hal ini yaitu data validation
dibandingkan data test. Hal tersebut dikarenakan adanya perbedaan variasi waktu
pengambilan yang menyebabkan sebagian dari data test memiliki rentang nilai yang
berbeda baik pada dataset features maupun targets-nya dari data training, juga
ditambah dengan adanya perbedaan pengolahan data antara data training dan
validation. Selain itu, dengan penggunaan pendekatan bagging dalam membuat
hutan decision tree oleh algoritma RFR, memberikan penambahan pengaruh
terhadap performa dari struktur setiap decision tree dalam melakukan prediksi.
Karena pada pendekatan bagging, algoritma akan membentuk dataset baru dengan
memilih secara acak baik sampel data dan atribut-atribut dari data training yang
akan dijadikan kandidat sebagai splitting variable, split point dan sample point pada
leaf node dalam struktur decision tree yang dibangun. Hal itu menyebabkan adanya
kemungkinan bahwa decision tree akan dibangun dengan menggunakan data
maupun atribut yang memiliki tingkat relevansi terhadap nilai aktual yang rendah.
Sehingga menyebabkan proses prediksi yang dilakukan pada data test masih belum
berjalan dengan baik.
Selanjutnya dilihat dari perbandingan antara program dengan hyper-
parameter default dan tuned hyper-parameter, terjadi juga kenaikan nilai RMSE
walaupun kenaikan yang relatif tidak signifikan dibandingkan dengan kenaikan
pada perbandingan sebelumnya baik pada proses validasi maupun uji. Hal ini
menandakan bahwa kombinasi tuned hyper-parameter yang diperoleh
81
menghasilkan performa yang relatif kurang baik jika dibandingkan dengan
performa algoritma ketika diberikan kombinasi hyper-parameter default.
4.2.3. k-Nearest Neighbors Regressor
Algoritma k-NN melakukan proses latih dalam waktu yang relatif lebih
singkat jika dibandingkan dengan dua algoritma sebelumnya baik pada semua
program yang dibuat. Berikut merupakan waktu yang dibutuhkan oleh algoritma k-
NN untuk melakukan proses latih:
Tabel 4. 10 Waktu proses latih yang dibutuhkan algoritma k-NN di setiap variasi
kondisi program
Algoritma
Waktu proses latih
Hyper-parameter default
(detik)
Tuned hyper-parameter
(detik)
k-NN 0,0155 12,72
Dari Tabel 4.10 di atas, waktu yang dibutuhkan oleh algoritma k-NN hanya 155
milidetik untuk algoritma dengan hyper-parameter default dan 12,72 detik untuk
algoritma dengan proses tuning hyper-parameter, dimana kedua nilai tersebut
relatif lebih rendah dibandingkan dengan kedua algoritma machine learning
sebelumnya pada setiap kondisinya. Ini dikarenakan algoritma k-NN memiliki
tingkat kompleksitas cara kerja yang rendah dimana dalam proses latih, algoritma
hanya melakukan penyimpanan memori data training dalam feature space dan tidak
melakukan pembelajaran secara eksplisit seperti yang dilakukan oleh dua algoritma
machine learning sebelumnya. Semua proses komputasi dilakukan pada saat proses
prediksi berlangsung. Hal ini juga yang membuat proses tuning hyper-parameter
dilakukan dalam waktu yang relatif lebih singkat dibandingkan algoritma DTR
82
dengan jumlah kombinasi hyper-parameter yang diberikan sama yaitu sebanyak 80
Kombinasi.
Khusus untuk algoritma dengan dilakukan proses tuning hyper-parameter,
akan memperoleh kombinasi tuned hyper-parameter yang akan digunakan dalam
proses latih pada keseluruhan data training. Berikut merupakan kombinasi hyper-
parameter yang diperoleh:
Tabel 4. 11 Kombinasi tuned hyper-parameter algoritma k-NN
Hyper-parameter Nilai ideal
Best n_neighbors 2
Best weights distance
Best p 2
Best RMSE_score 1.351,08
Berdasarkan Tabel 4.11 di atas, kombinasi tuned hyper-parameter yang
diperoleh akan menentukan cara kerja algoritma k-NN dalam melakukan prediksi
target data. Dimana algoritma k-NN akan memilih dua tetangga terdekat dalam
penentuan nilai target data pada proses prediksi berdasarkan nilai n_neighbors ideal
yang diperoleh, sedangkan untuk nilai n_neighbors secara default sebanyak lima
tetangga terdekat. Perhitungan jarak antara titik data prediksi dan titik tetangga
terdekat akan dilakukan dengan menggunakan metrik jarak euclidean. Lalu hyper-
parameter weights ideal berupa distance memiliki arti bahwa dalam menghitung
nilai prediksi target data, akan diberikan bobot (weights) dengan
mempertimbangkan seberapa dekat jaraknya. Dimana tetangga yang memiliki
jarak paling dekat akan memiliki pengaruh yang lebih besar, begitupun sebaliknya.
Bobot yang diberikan dihitung dengan menggunakan persamaan berikut:
83
𝑤𝑖 =𝑖
𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 (4.1)
Dimana 𝑤𝑖 merupakan bobot dari masing-masing tetangga terdekat, sehingga
persamaan untuk menghitung nilai prediksi target data, menjadi:
�� =∑ 𝑤𝑖 × 𝑦𝑖𝑘
𝑘𝑖=1
∑ 𝑤𝑖𝑘𝑖=1
(4.2)
Setelah dilakukan proses latih, selanjutnya setiap algoritma k-NN dilakukan
proses validasi dan uji dengan menggunakan data valdiation dan test. Berikut
merupakan hasil performa yang diperoleh setiap algoritma k-NN di masing-masing
program:
Tabel 4. 12 Nilai RMSE algoritma k-NN pada proses validasi dan uji di setiap
variasi kondisi program
Proses Nilai RMSE
Hyper-parameter default Tuned Hyper-parameter
validasi 1.764,97 1.445,10
uji 14.892,03 15.506,00
Berdasarkan Tabel 4.12 di atas, jika dilihat dari perbandingan performa antara
proses validasi dan uji setiap variasi kondisi program yang dibuat, terjadi
peningkatan nilai RMSE sama seperti algoritma RFR maupun DTR. Peningkatan
nilai RMSE ini dapat terjadi dikarenakan oleh beberapa hal seperti yang sudah
dijelaskan pada subbab sebelumnya yaitu adanya perbedaan variasi waktu
pengambilan dan proses pengolahan data pada data training dan test. Dengan cara
kerja algoritma k-NN, hal ini akan memberikan pengaruh pada proses prediksinya.
Dimana feature space yang digunakan dalam proses prediksi dibentuk oleh data
training, sehingga rentang nilai target data yang diperoleh dalam proses prediksi
84
akan berdasarkan nilai target data dari data training itu sendiri, sedangkan pada data
test memiliki rentang nilai target data yang berbeda. Hal inilah yang nantinya akan
memberikan pengaruh pada hasil yang diperoleh pada saat proses uji, yaitu akan
menghasilkan nilai target data prediksi yang berbeda dari nilai target data aktualnya
sehingga menghasilkan nilai RMSE yang relatif lebih tinggi jika dibandingkan
dengan nilai RMSE yang diperoleh pada proses validasi. Dimana data validation
itu sendiri merupakan pecahan dari data training sehingga rentang nilai pada dataset
features maupun targets-nya akan memiliki kemiripan dengan data training.
Selain itu jika dilihat perbandingan antara hasil performa algoritma dengan
hyper-parameter default dan tuned hyper-parameter, mendapatkan hasil performa
yang berbeda-beda berdasakan nilai RMSE yang diperoleh baik pada proses
validasi maupun uji. Dimana pada proses validasi terjadi penurunan nilai RMSE,
sedangkan pada proses uji terjadi peningkatan nilai RMSE. Hal ini menandakan
bahwa kombinasi tuned hyper-parameter hanya memberikan hasil lebih baik ketika
diberikan data yang memiliki kesamaan rentang nilai dengan data training yakni
data validation dibandingkan data yang memiliki tingkat kesamaan yang rendah
dengan data training seperti data test.
4.2.4. Analisis performa algoritma machine learning serta pengaruh proses
tuning hyper-parameter
Berdasarkan penjelasan performa pada 3 subbab sebelumnya, terlihat
bahwa secara keseluruhan proses latih dan prediksi algoritma k-NN membutuhkan
waktu yang relatif paling sedikit dan algoritma RFR relatif paling banyak baik pada
85
program dengan hyper-parameter default maupun program dengan proses tuning
hyper-parameter, hal ini dipengaruhi langsung oleh tingkat kompleksitas cara kerja
dari masing-masing algoritma machine learning itu sendiri serta banyaknya
kombinasi hyper-parameter yang diberikan untuk proses tuning hyper-parameter.
Dimana algoritma k-NN hanya akan membuat feature space dari data training pada
proses latih dan akan menyimpan memori feature space tersebut yang nantinya
akan digunakan pada proses prediksi, yang membuat algoritma k-NN tidak
melakukan proses latih secara eksplisit. Hal ini akan terlihat jika dibandingkan
dengan algoritma DTR, dengan jumlah kombinasi hyper-parameter yang diberikan
pada proses tuning sama nilainya, tetapi karena algoritma memiliki tingkat
kompleksitas cara kerja algoritma yang lebih tinggi dibandingkan algoritma k-NN
yang mengakibatkan waktu yang dibutuhkan algoritma DTR untuk proses latih baik
pada semua pada program yang dibuat akan lebih lama dibandingkan algoritma k-
NN. Faktor tersebut juga yang mengakibatkan algoritma RFR membutuhkan waktu
proses latih yang paling banyak dibandingkan dua algoritma lainnya.
Tabel 4. 13 Nilai RMSE setiap algoritma pada setiap proses di setiap variasi
kondisi program
Proses DTR RFR k-NN
Default Tuned Default Tuned Default Tuned
Val 13.236,95 13.119,35 10.808,32 10.930,92 1.764,97 1.445,10
Uji 133.682,92 133.669,49 133.221,65 133.238,80 14.892,03 15.506,00
Berdasarkan Tabel 4.13 diatas, jika dilihat dari skala nilai RMSE yang
didapatkan pada proses validasi maupun proses prediksi yang didapatkan oleh
setiap algoritma. Akan terlihat dua algoritma yaitu DTR dan RFR memiliki skala
86
nilai yang relatif lebih besar dibandingkan dengan skala nilai yang diperoleh dari
algoritma k-NN. Hal tersebut menunjukkan bahwa adanya kesalahan prediksi yang
cukup besar pada skala nilai target data yang besar dari data test. Hal ini
dikarenakan metrik yang digunakan yaitu metrik kesalahan RMSE merupakan
metrik kategori scale-dependent, dimana nilai kesalahan yang didapat akan
semakin besar mengikuti skala nilai yang diperhitungkannya.
Selanjutnya analisis pengaruh proses tuning hyper-parameter akan
ditentukan berdasarkan nilai RMSE pada proses prediksi yaitu proses validasi dan
uji setiap algoritma machine learning. Berdasarkan hasil yang diperoleh pada 3
subbab sebelumnya, proses tuning hyper-parameter memberikan hasil yang
berbeda-beda pada performa setiap algoritma. Pada algoritma DTR, proses tuning
memberikan hasil yang relatif lebih baik pada kedua proses prediksi tersebut
ditandai dengan terjadi penurunan nilai RMSE. Lalu pada algoritma RFR proses
tuning memberikan hasil yang relatif kurang baik pada kedua proses prediksi yang
diperlihatkan dengan terjadinya kenaikan pada nilai RMSE yang diperoleh
sedangkan algoritma k-NN, proses tuning hyper-parameter memberikan hasil yang
berbeda dimasing-masing proses prediksi dimana pada proses validasi berhasil
memberikan hasil yang relatif lebih baik, tetapi pada proses uji memberikan hasil
yang relatif kurang baik jika dibandingkan dengan performa ketika algotima
diberikan hyper-parameter default.
Terjadinya perbedaan hasil performa setelah proses tuning hyper-parameter
yang diperoleh pada masing-masing algoritma dapat disebabkan oleh beberapa hal
seperti tingkat kompleksitas cara kerja dari algoritma itu sendiri pada proses latih
87
serta data yang diberikan kepada algoritma baik data untuk proses latih maupun
prediksi. Pada penelitian ini hasil pembelajaran setiap algoritma pada proses latih
dipengaruhi dengan kombinasi hyper-parameter dan kualitas serta jumlah data
training yang diberikan. Selain itu hasil performa yang dilakukan akan dipengaruhi
dengan kuliatas dan bentuk dari data test pada saat proses uji. Dan hal yang perlu
diketahui adalah bahwa kombinasi hyper-parameter ideal yang diperoleh pada
proses tuning, memberikan hasil performa yang optimum hanya pada saat proses
tuning tersebut berlangsung. Dimana data training yang diberikan kepada algoritma
dipecah kembali dengan menggunakan metode Cross-Validation ke dalam
beberapa bagian (k sub-set) data training dan validating. Dengan alasan-alasan
tersebut, akan menyebabkan adanya kemungkinan perbedaan hasil pembelajaran
yang diperoleh setiap algoritma dengan kombinasi hyper-parameter yang sama
ketika diberikan data training yang berbeda dalam hal ini kualitas dan jumlah
datanya. Hal inilah yang menyebabkan adanya perbedaan performa yang dihasilkan
oleh setiap algoritma machine learning ketika diberikan kombinasi hyper-
parameter ideal yang diperoleh pada proses tuning.
Selain itu jika dilihat pada besarnya perbedaaan nilai RMSE yang dihasilkan
setelah dilakukan proses tuning hyper-parameter, relatif tidak terlalu signifikan
pada semua algoritma di kedua proses prediksi tersebut jika dibandingkan terhadap
nilai RMSE yang diperoleh pada algoritma dengan hyper-parameter default. Hal
ini dikatakan baik algoritma dengan hyper-parameter default maupun tuned hyper-
parameter melakukan performa pada proses prediksi yang relatif sama kualitasnya.
88
4.3. Nilai aktivitas kalkulasi dan efisiensi mutlak detektor
Sebelum memasuki subbab pembahasan hasil prediksi dan perhitungan dari
masing-masing algoritma machine learning yang digunakan pada setiap program.
Maka diperlukan data pembanding (nilai literatur) untuk melihat kualitas dari data
yang dihasilkan oleh program, khususnya untuk data nilai puncak energi dan
aktivitas radioisotop. Nilai literatur puncak energi dari masing-masing preparat
radioisotop adalah sebagai berikut:
Tabel 4. 14 Puncak energi gamma literatur dari masing-masing preparat
radioisotop [19]
Preparat
radioisotop
Puncak energi
gamma
(keV) 241Am 59,54 137Cs 661,66 60Co 1.173,24 22Na 1.274,53
Sedangkan nilai literatur untuk aktivitas radioaktif setiap radioisotop akan
menggunakan nilai aktivitas radioaktif kalkulasi yang dihitung menggunakan
persamaan 2.20. Untuk nilai aktivitas awal dari masing-masing preparat radioisotop
digunakan nilai yang tertera pada sertifikat produksinya. Selain itu dilihat pada
persamaan yang digunakan, perhitungan aktivitas radioaktif kalkulasi didasarkan
oleh perbedaan waktu peluruhan, dimana perbedaan waktu peluruhan dalam
penelitian ini dihitung dari tanggal referensi pada sertifikat produksi sebagai waktu
awal sampai dengan tanggal dimana pengambilan data test dilakukan sebagai waktu
89
akhir. Berikut merupakan variabel-variabel yang diperlukan dan hasil perhitungan
nilai aktivitas kalkulasi dari masing-masing preparat radioisotop:
Tabel 4. 15 Variabel yang digunakan dalam pehitungan nilai aktivitas kalkulasi
[81]
Preparat
radioisotop
Aktivitas
awal/ 𝑨𝟎 (𝑩𝒒)
Waktu paruh
(Tahun)
Tanggal
referensi
Tanggal
Pengambilan 241Am 74.000 432,23 23 Juli 2003 29 Januari 2021 137Cs 333.000 30,07 23 Juli 2003 29 Januari 2021 60Co 74.000 5,27 23 Juli 2003 29 Januari 2021 22Na 74.000 2,60 23 Juli 2003 29 Januari 2021
Tabel 4. 16 Nilai aktivitas kalkulasi masing-masing preparat radioisotop
Preparat
radioisotop
Aktivitas pada
saat waktu t/ 𝑨𝒕 (𝑩𝒒) 241Am 71.951,38 137Cs 222.426,58 60Co 7.400,02 22Na 695,52
Nilai puncak energi pada Tabel 4.14 daan nilai 𝐴𝑡 pada Tabel 4.16 akan
dijadikan nilai pembanding untuk melihat kualitas nilai puncak energi dan aktivitas
radioaktif hasil prediksi maupun perhitungan yang dilakukan oleh setiap program.
Selain kedua nilai literatur tersebut, dalam penelitian ini juga diperlukan suatu nilai
yaitu nilai efisiensi mutlak detektor untuk setiap preparat radioisotop yang nantinya
akan digunakan dalam menghitung nilai aktivitas radioaktif radioisotop hasil
prediksi program seperti pada persamaan 2.17. Pada penelitian ini nilai efisiensi
mutlak detektor dihitung dengan persamaan 2.23, dimana untuk nilai 𝐴𝑡 akan
menggunakan nilai aktivitas kalkulasi yang sudah dihitung sebelumnya dan nilai
90
NPA untuk masing-masing preparat radioisotop dihitung berdasarkan data efisiensi
pada Tabel 3.4. Berikut merupakan hasil perhitungan nilai efisiensi mutlak detektor
untuk masing-masing preparat radiosotop yang digunakan:
Tabel 4. 17 Nilai efisiensi mutlak detektor untuk masing-masing preparat radisotop
Preparat
radioisotop
Efisiensi mutlak
detektor 241Am 0,0589 137Cs 0,0087 60Co 0,0013 22Na 0,0052
4.4. Hasil prediksi dan akhir masing-masing algoritma machine learning
Bagian ini akan diperlihatkan hasil prediksi proses uji dan akhir masing-
masing algoritma machine learning pada setiap program yang dibuat. Setelah itu
dilakukan analisis lebih lanjut. Pertama, untuk melihat bagaimana kualitas prediksi
yang dilakukan oleh algoritma untuk setiap preparat radioisotop pada masing-
masing program yang dibuat dengan menggunakan rata-rata nilai NRMSE. Kedua,
melihat bagaimana kualitas hasil akhir yaitu nilai radioaktivitas radioisotop dari
algoritma terhadap nilai literatur yang ada untuk setiap preparat radioisotop pada
masing-masing program yang dibuat dengan menggunakan nilai MAPE. Rata-rata
hasil prediksi dan akhir akan ditampilkan dalam bentuk tabel, sedangkan untuk nilai
kesalahan baik rata-rata nilai NRMSE dan nilai MAPE akan ditampilkan dalam
bentuk grafik.
91
4.4.1. Decision Tree Regressor
Berikut akan diperlihatkan nilai target data puncak energi dan NPA dari
masing-masing radioisotop hasil prediksi yang dilakukan oleh algoritma DTR pada
setiap program.
Tabel 4. 18 Rata-rata ± standar deviasi target data puncak energi dan NPA hasil
prediksi algoritma DTR pada setiap variasi kondisi program
Preparat –
variasi
waktu
pengambilan
Puncak energi
(𝒌𝒆𝑽)
Net peak area (NPA)
(count)
Default Tuned Default Tuned
241Am – 150 58,35±0 58,45±0 226.898,15±2.734 227.690,70±4.808 241Am – 200 57,37±0 57,37±0 348.251,10±4.899 342.884,25±0 241Am – 250 58,55±1 60,15±0 375.781,45±24.850 356.228,25±0 241Am – 300 58,91±0 60,30±0 445.300,30±1.1054 437.434,45±16.047 137Cs – 150 1.230,02±33 58,44±0 327,90±68 355,45±55 137Cs – 200 1.244,81±0 60,20±0 381,50±58 315,25±0 137Cs – 250 1.244,38±1 60,20±0 401,10±12 315,25±0 137Cs – 300 1.243,08±1 60,20±0 435,50±71 366,50±115 60Co – 150 1.242,82±0 1.149,72±0 1.307,15±179 1.272,55±256 60Co – 200 1.242,82±0 1.149,07±0 923,50±0 1.429,50±0 60Co – 250 1.242,82±0 1.148,61±0 2.707,50±0 2.707,50±0 60Co – 300 1.242,82±0 1.149,49±1 2.987,95±443 2.889,40±240 22Na – 150 1.247,63±3 1.268,87±1 503,7±91 504,30±28 22Na – 200 1.244,76±0 1.269,24±0 579,5±99 709,15±105 22Na – 250 1.244,00±1 1.268,93±0 713,05±100 971,8±261 22Na – 300 1.243,71±1 1.271,53±1 1.055,75±220 1.021,25±339
92
Gambar 4. 5 Grafik rata-rata nilai NRMSE puncak energi hasil prediksi algoritma DTR pada
setiap program yang dibuat
Gambar 4. 6 Grafik rata-rata nilai NRMSE NPA hasil prediksi algoritma DTR pada setiap
program yang dibuat
Diperlihatkan pada Tabel 4.18 di atas, nilai target data puncak energi yang
dihasilkan oleh algoritma DTR relatif lebih seragam di semua variasi waktu
pengambilan datanya dibandingkan dengan nilai target data NPA. Dimana terjadi
penambahan dalam nilai seiring dengan meningkatnya waktu pengambilan datanya.
Hal ini sejalan dengan teori yang ada, dimana nilai NPA dihitung berdasarkan
93
jumlah cacahan peluhuran gamma yang terdekteksi dari suatu preparat. Kemudian
berdasarkan Gambar 4.5, terlihat algoritma DTR melakukan prediksi target data
puncak energi dengan sangat baik pada tiga preparat di semua program yang dibuat
yaitu 241Am, 60Co, dan 22Na dimana rata-rata nilai NRMSE yang dihasilkan dalam
rentang <10%, sedangkan untuk preparat 137Cs dilakukan dengan kurang baik. Hal
tersebut terlihat dari rentang rata-rata nilai NRMSE yang diperoleh yaitu dalam
rentang >30% dan juga dari hasil yang diperoleh pada Tabel 4.18, dimana algoritma
DTR menghasilkan nilai target data yang salah pada preparat 137Cs yaitu
memprediksinya dengan rentang nilai target data puncak energi preparat 60Co pada
program dengan hyper-parameter default. Sedangkan pada program dengan proses
tuning hyper-parameter memprediksinya dengan rentang nilai target data puncak
energi preparat 241Am. Lalu jika dilihat secara lebih mendalam, algoritma DTR
masih belum mampu melakukan prediksi target data puncak energi preparat 60Co
dengan baik pada program dengan hyper-parameter default walaupun rata-rata nilai
NRMSE yang dihasilkan relatif rendah, dikarenakan rentang nilai target data
puncak energi yang dihasilkan merupakan rentang nilai untuk preparat 22Na.
Selanjutnya berdasarkan Gambar 4.6, algoritma DTR masih kurang baik
dalam melakukan prediksi pada preparat 137Cs. Dalam hal ini untuk nilai target data
NPA memiliki rata-rata nilai NRMSE yang masih relatif tinggi dibandingkan
dengan tiga preparat lainnya yaitu dalam rentang >30% dan juga terlihat pada hasil
yang diperoleh dimana rentang nilai NPA yang diperoleh merupakan rentang nilai
preprat 22Na. Selain itu pada proses prediksi nilai target data NPA, algoritma
94
melakukan proses dengan sangat baik hanya pada preparat 241Am, sedangkan untuk
preparat 60Co dan 22Na secara keseluruhan dilakukan dengan cukup baik.
Sebelum dilihat kualitas antara hasil akhir algoritma DTR terhadap nilai
literatur, untuk nilai target data NPA akan dilakukan perhitungan terlebih dahulu
sehingga didapatkan nilai aktivitas radioaktif untuk setiap preparat radioisotop.
Setelah itu akan dihitung nilai MAPE untuk hasil akhir algoritma DTR. Berikut
merupakan hasil perhitungan nilai aktivitas radioaktif dan nilai MAPE hasil akhir
algoritma DTR pada semua program yang dibuat:
Tabel 4. 19 Rata-rata ± standar deviasi aktivitas radioaktif hasil perhitungan oleh
algoritma DTR pada setiap varisasi kondisi program
Preparat –
variasi
waktu
pengambilan
Rerata±std aktivitas radioaktif
(𝑩𝒒)
Hyper-parameter
default
Tuned
hyper-parameter 241Am – 150 71.579,79±862 71.829,81±1.517 241Am – 200 82.397,34±1.159 81.127,53±0 241Am – 250 71.128,89±4.704 67.427,81±0 241Am – 300 70.239,67±1.744 68.998,94±2.531 137Cs – 150 296,88±62 321,83±50 137Cs – 200 259,06±40 214,07±0 137Cs – 250 217,89±6 171,26±0 137Cs – 300 197,15±32 165,92±52 60Co – 150 6.891,87±942 6.709,45±1.348 60Co – 200 3.651,83±0 5652,72±0 60Co – 250 8.565,08±0 8565,08±0 60Co – 300 7.876,90±1.168 7.617,1±632 22Na – 150 645,51±117 646,28±35 22Na – 200 556,99±95 681,60±101 22Na – 250 548,28±77 747,24±201 22Na – 300 676,49±141 654,39±217
95
Gambar 4. 7 Grafik Nilai MAPE puncak energi algoritma DTR pada setiap program yang dibuat
Gambar 4. 8 Grafik Nilai MAPE aktivitas radioaktif algoritma DTR pada setiap program yang
dibuat
Pada Gambar 4.7 di atas, grafik menunjukkan hasil puncak energi yang
didapat untuk preparat 241Am, 60Co, dan 22Na masuk ke dalam kategori memuaskan.
Dimana nilai MAPE yang diperoleh berada dalam rentang <10%, sedangkan untuk
preparat 137Cs, 60Co, dan 22Na masuk kedalam kategori kurang memuaskan.
Kemudian berdasarkan Gambar 4.8, menunjukkan hasil aktivitas radioaktif untuk
preparat 241Am masuk ke dalam kategori memuaskan, dengan nilai MAPE berada
96
dalam rentang < 10%. Lalu untuk preparat 137Cs memiliki hasil yang kurang
memuaskan dengan nilai MAPE dalam rentang >20%, sedangkan dua preparat
lainnya yaitu 60Co dan 22Na secara keseluruhan masuk ke dalam kategori yang
cukup memuaskan.
4.4.2. Random Forest Regresssor
Berikut merupakan hasil prediksi target data puncak energi dan NPA setiap
preparat radioisotop yang dihasilkan oleh algoritma RFR pada semua program yang
dibuat:
Tabel 4. 20 Rata-rata ± standar deviasi target data puncak energi dan NPA hasil
prediksi algoritma RFR pada setiap variasi kondisi program
Preparat –
variasi
waktu
pengambilan
Puncak energi
(𝒌𝒆𝑽)
Net peak area (NPA)
(count)
Default Tuned Default Tuned
241Am – 150 58,22±0 58,20±0 226.253,60±2.129 226.436,68±2.080 241Am – 200 57,44±0 57,44±0 339.888,07±1.551 337.936,49±2.529 241Am – 250 59,33±0 59,73±0 357.474,26±4.050 357.239,39±3.482 241Am – 300 59,67±0 59,99±0 444.088,24±17.021 444.114,27±17.892 137Cs – 150 1.084,52±26 1.090,96±24 6.954,09±9.556 6.348,63±8.658 137Cs – 200 1.090,97±2 1.098,80±1 441,61±24 449,11±27 137Cs – 250 1.092,54±0 1.100,12±0 459,88±9 464,50±14 137Cs – 300 1.092,69±0 1.100,42±0 479,23±27 479,90±25 60Co – 150 1.183,52±0 1.195,53±0 1.303,14±49 1.286,32±56 60Co – 200 1.183,21±0 1.195,10±0 1.523,73±71 1.498,57±59 60Co – 250 1.161,61±0 1.173,74±0 2.423,97±71 2.397,79±59 60Co – 300 1.161,98±0 1.173,99±0 3.006,13±100 3.012,67±103 22Na – 150 1.238,04±1 1.244,02±1 522,10±16 528,47±18 22Na – 200 1.237,54±0 1.243,46±0 709,30±40 717,67±39 22Na – 250 1.237,76±0 1.243,67±0 882,40±48 888,16±50 22Na – 300 1.238,10±0 1.244,05±0 1.088,91±52 1.093,33±56
97
Gambar 4. 9 Grafik rata-rata nilai NRMSE puncak energi hasil prediksi algoritma RFR pada
setiap program yang dibuat
Gambar 4. 10 Grafik rata-rata nilai NRMSE NPA hasil prediksi algoritma RFR pada setiap
program yang dibuat
Bedasarkan Tabel 4.19 di atas, terlihat bahwa algoritma RFR belum mampu
untuk melakukan prediksi pada preparat 137Cs dengan baik pada kedua target data.
Hal tersebut dibuktikan dengan rata-rata nilai NRMSE yang dihasilkan pada
Gambar 4.9 dan 4.10, dimana keduanya berada dalam rentang >30%. Disini
algoritma RFR melakukan prediksi target data preparat 137Cs dengan menghasilkan
rentang nilai target data untuk preparat 22Na seperti algoritma DTR. Selanjutnya
98
melihat hasil tiga preparat lainnya yaitu 241Am, 60Co dan 22Na, algoritma RFR
berhasil melakukan prediksi dengan sangat baik untuk nilai target data puncak
energi dimana rata-rata nilai NRMSE yang dihasilkan dalam rentang <10%.
Sedangkan untuk nilai target data NPA, algoritma RFR melakukan prediksi dengan
kategori yang berbeda-beda, dimana prediksi dilakukan dengan sangat baik untuk
preparat 241Am dan melakukan prediksi dengan baik pada 60Co dan 22Na.
Sama seperti algoritma DTR, sebelum dilihat kualitas antara hasil akhir
terhadap nilai literatur yang ada. Untuk nilai target data NPA akan dilakukan
perhitungan lebih lanjut sehingga mendapatkan nilai aktivitas radioaktif dari
masing-masing preparat radioisotop. setelah didapatkan nilai aktivitas radioaktif
selanjutnya akan dihitung nilai MAPE untuk hasil akhir algoritma RFR.
Berdasarkan Gambar 4.11 dan 4.12 di bawah, memperlihatkan bahwa hasil akhir
baik itu nilai puncak energi dan aktivitas radioaktif pada semua program yang
dibuat memiliki kesamaan kualitas pada masing-masing preparat radioisotop.
Untuk tiga preparat yaitu 241Am, 60Co, dan 22Na, hasil akhir yang diperoleh
algoritma RFR masuk kedalam kategori memuaskan dimana nilai MAPE yang
dihasilkan berada dalam rentang <10%, sedangkan satu preparat lainnya yaitu 137Cs
masuk ke dalam ketegori yang kurang memuaskan karena adanya kesalahan nilai
yang dihasilkan dalam proses prediksi dengan nilai MAPE di dalam rentang >20%.
Berikut merupakan hasil pehitungan nilai aktivitas radioaktif dan MAPE
algoritma RFR:
99
Tabel 4. 21 Rata-rata ± Standar deviasi aktivitas radioaktif hasil perhitungan oleh
algoritma RFR pada setiap variasi kondisi program
Preparat –
variasi
waktu
pengambilan
Rerata±std aktivitas radioaktif
(𝑩𝒒)
Hyper-parameter
default
Tuned
hyper-parameter 241Am – 150 71.376,45±672 71.434,21±656 241Am – 200 80.418,62±367 79.956,87±598 241Am – 250 67.663,66±767 67.619,2±659 241Am – 300 70.048,48±2.685 70.052,59±2.822 137Cs – 150 6.296,27±8.652 57.48,08±7839 137Cs – 200 299,87±16 304,97±18 137Cs – 250 249,83±5 252,34±7 137Cs – 300 216,95±12 217,25±11 60Co – 150 6.870,73±259 6.782,04±296 60Co – 200 6.025,32±281 5.925,82±234 60Co – 250 7.668,16±226 7.585,31±188 60Co – 300 7.924,83±263 7.942,06±272 22Na – 150 669,09±21 677,25±23 22Na – 200 681,75±38 689,79±38 22Na – 250 678,50±37 682,93±38 22Na – 300 697,74±33 700,58±36
Gambar 4. 11 Grafik Nilai MAPE puncak energi algoritma RFR pada setiap program yang dibuat
100
Gambar 4. 12 Grafik Nilai MAPE aktivitas radioaktif algoritma RFR pada setiap program yang
dibuat
4.4.3. k-Nearest Neighbors Regressor
Berdasarkan Tabel 4.21 di bawah, algoritma k-NN berhasil melakukan
prediksi terhadap masing-masing target data setiap preparat radioisotop dengan
menghasilkan rentang nilai yang sesuai. Hal ini juga dibuktikan dengan rata-rata
nilai NRMSE yang diperoleh algoritma k-NN pada Gambar 4.13 dan 4.14. Untuk
target data puncak energi, algoritma k-NN berhasil melakukan prediksi dengan
sangat baik pada setiap preparat di semua program dimana rentang rata-rata nilai
NRMSE yang diperoleh berada dalam rentang <10% dan juga rata-rata nilai
NRMSE yang diperoleh relatif lebih rendah dibandingkan dengan dua algoritma
lainnya. Selanjutnya untuk target data NPA, algoritma k-NN melakukan prediksi
dengan dua kualitas yang berbeda. Dimana untuk preparat 241Am dan 137Cs
dilakukan dengan sangat baik hal ini terlihat pada rata-rata nilai NRMSE yang
dihasilkan berada dalam rentang <10%. Sedangkan untuk dua preparat lainnya yaitu
60Co dan 22Na, algoritma k-NN melakukannya dengan kualitas prediksi yang baik.
101
Berikut akan ditampilkan hasil prediksi target data puncak energi dan NPA
untuk setiap preparat radioisotop yang diperoleh algoritma k-NN serta rata-rata
nilai NRMSE yang dihasilkannya pada semua program yang dibuat:
Tabel 4. 22 Rata-rata ± standar deviasi target data puncak energi dan NPA hasil
prediksi algoritma k-NN pada setiap variasi kondisi program
Preparat –
variasi
waktu
pengambilan
Puncak energi
(𝒌𝒆𝑽)
Net peak area (NPA)
(count)
Default Tuned Default Tuned
241Am – 150 58,22±0 58,17±0 227.037,99±308 226.579,57±2 241Am – 200 57,69±0 57,89±0 338.577,12±1.648 338.556,67±3.331 241Am – 250 58,11±0 58,22±0 346.329,33±5.534 338.383,94±3.364 241Am – 300 58,94±0 58,92±0 443.586,29±9.247 442.429,16±11.303 137Cs – 150 672,36±0 672,34±0 246.749,95±10 246.816,18±110 137Cs – 200 674,40±0 674,49±0 365.513,90±610 367.012,76±334 137Cs – 250 674,76±0 675,23±0 365.750,81±1.137 366.860,75±0 137Cs – 300 680,01±1 680,13±1 491.258,00±2.925 489.988,77±2476 60Co – 150 1.162,28±7 1.163,20±8 1.426,44±141 1.391,60±189 60Co – 200 1.154,09±5 1.157,84±4 2.021,47±134 1.748,94±105 60Co – 250 1.160,77±3 1.162,51±5 2.089,61±104 2.156,10±209 60Co – 300 1.158,07±7 1.158,31±7 3.126,11±210 3.099,32±224 22Na – 150 1.270,93±3 1.270,72±5 527,32±28 517,52±56 22Na – 200 1.267,09±3 1.268,50±5 806,82±33 785,87±51 22Na – 250 1.265,90±3 1.266,04±3 880,84±24 835,30±61 22Na – 300 1.268,86±5 1.269,89±6 1.141,38±35 1.123,37±38
102
Gambar 4. 13 Grafik rata-rata nilai NRMSE puncak energi hasil prediksi algoritma k-NN pada
setiap program yang dibuat
Gambar 4. 14 Grafik rata-rata nilai NRMSE NPA hasil prediksi algoritma k-NN pada setiap
program yang dibuat
Kemudian untuk nilai target data NPA yang diperoleh algoritma k-NN akan
dilakukan perhitungan lebih lanjut untuk mendapatkan nilai aktivitas radioaktif
setiap preparat radioisotop. Setelah akan dihitung nilai MAPE antara hasil akhir
yakni puncak energi dan aktivitas radioaktif setiap preparat terhadap nilai
literaturnya. Berdasarkan pada Gambar 4.15 dan 4.16 di bawah, menunjukkan
bahwa hasil akhir yang diperoleh algoritma k-NN baik nilai puncak energi maupun
103
aktivitas radioaktif di setiap variasi kondisi program yang dibuat baik dengan
algoritma yang di-setting hyper-parameter default maupun dengan algoritma yang
dilakukan proses tuning hyper-parameter masuk ke dalam kategori yang
memuaskan. Dimana mendapatkan nilai MAPE yang berada pada rentang <10% di
setiap preparat radioisotop baik preparat 241Am, 137Cs, 60Co, dan 22Na.
Berikut merupakan hasil pehitungan nilai aktivitas radioaktif dan MAPE
algoritma k-NN:
Tabel 4. 23 Rata-rata ± standar deviasi aktivitas radioaktif hasil perhitungan oleh
algoritma k-NN pada setiap variasi kondisi program
Preparat –
variasi
waktu
pengambilan
Rerata±std aktivitas radioaktif (𝑩𝒒)
Hyper-parameter
default
Tuned
hyper-parameter
241Am – 150 71.623,90±97 71.479,28±1 241Am – 200 80.108,45±390 80.103,61±788 241Am – 250 65.554,12±1.048 64.050,19±637 241Am – 300 69.969,31±1.459 69.786,79±1.783 137Cs – 150 223.408,71±9 223.468,67±100 137Cs – 200 248.203,66±414 249.221,47±227 137Cs – 250 198.691,63±617 199.294,60±0 137Cs – 300 222.393,80±1.324 221.819,21±1.121 60Co – 150 7.520,82±743 7.337,13±995 60Co – 200 7.993,56±530 6.915,90±414 60Co – 250 6.610,41±329 6.820,76±660 60Co – 300 8.241,12±553 8.170,50±590 22Na – 150 675,78±36 663,23±71 22Na – 200 775,48±32 755,35±49 22Na – 250 677,30±18 642,28±47 22Na – 300 731,36±22 719,83±24
104
Gambar 4. 15 Grafik Nilai MAPE puncak energi algoritma k-NN pada setiap program yang
dibuat
Gambar 4. 16 Grafik Nilai MAPE aktivitas radioaktif algoritma k-NN pada setiap program yang
dibuat
4.4.4. Analisis hasil prediksi dan akhir algoritma machine learning serta
pengaruh proses tuning hyper-parameter
Berdasarkan hasil yang sudah dijelaskan pada 3 subbab sebelumnya.
Terlihat bahwa dua algoritma yaitu DTR dan RFR melakukan kesalahan prediksi
pada preparat 137Cs, baik pada terget data puncak energi maupun NPA. Diketahui
105
bahwa target data NPA untuk preparat 137Cs memiliki skala nilai yang relatif paling
tinggi jika dibandingkan dengan preparat lainnya. Hal ini akan sejalan dengan
penjelasan pada subbab performa dimana nilai RMSE yang didapat memiliki skala
nilai yang relatif lebih tinggi pada kedua algorita tersebut. Adanya kesalahan
prediksi ini selain pengaruh dari cara kerja algoritma machine learning, juga dapat
dipengaruhi oleh bentuk data test yang diberikan. Dimana data test tidak diproses
seperti data training, hanya dilakukan penggabungan saja sehingga di setiap
datanya terdapat nilai pada seluruh atribut data. Hal tersebut memberikan pengaruh
terhadap hasil prediksi yang dilakukan oleh setiap algoritma. Terutama pada
algoritma yang menggunakan metode membuat pohon keputusan dalam cara
kerjanya seperti algoritma DTR dan RFR. Karena dalam penelitian ini setiap
splitting variable dan split point yang menentukan prediksi data dalam decision tree
merupakan satu variable (atribut) dan satu point (rata-rata nilai pada kolom atribut)
yang ditentukan dari masing-masing data penting preparat radioisotop pada data
training. Sehingga terdapat kemungkinan adanya kesalahan prediksi ketika data test
yang diberikan memiliki rentang nilai yang relatif sama pada beberapa data penting
preparat lain seperti pada preparat 137Cs. Diketahui bahwa preparat 137Cs
merupakan preparat campuran yakni 90Sr, 241Am, dan 137Cs, yang mengakibatkan
pada data test preparat 137Cs yang diberikan memiliki rentang nilai yang relatif sama
di beberapa bagian data penting preparat lainnya seperti pada preparat 241Am yang
diakibatkan oleh campuran radioisotop 241Am dan 22Na yang diakibatkan campuran
radioisotop 90Sr. Hal tersebut yang mengakibatkan algoritma DTR dan RFR
106
melakukan kesalahan prediksi 137Cs dengan mengasilkan rentang nilai target data
untuk preparat 241Am ataupun 22Na.
Lalu jika dibandingkan pada skala nilai kesalahan baik pada hasil prediksi
maupun hasil akhir setiap algoritma machine learning. Skala nilai kesalahan pada
data yang berdasar pada target data NPA, yakni target data NPA itu sendiri dan nilai
aktivitas radioaktif relatif lebih tinggi di setiap preparat radioisotop dibandingkan
dengan nilai kesalahan pada target puncak energi. Hal tersebut dapat disebabkan
karena adanya pengaruh perbedaan variasi waktu pada data training dan data test
yang diberikan kepada setiap algoritma machine larning. Diketahui bahwa
algoritma yang digunakan pada penelitian ini baik algoritma DTR, RFR dan k-NN
akan memberikan rentang nilai target data pada saat proses prediksi sesuai dengan
rentang nilai target data pada data training yang diberikan, sehingga dengan alasan
tersebut setiap algoritma akan cenderung memberikan tingkat perbedaan hasil
prediksi target data yang lebih besar pada data test yang memiliki perbedaan rentang
nilai dengan data training. Hal inilah yang menyebabkan nilai kesalahan serta nilai
standar deviasi pada target data yang bedasar pada nilai target NPA relatif lebih
tinggi target data puncak energi. Karena nilai target data NPA memiliki rentang
nilai yang berbeda-beda pada setiap variasi waktu pengambilan datanya, sedangkan
nilai target data puncak energi memiliki rentang nilai yang relatif seragam. Hal ini
semakin terlihat terlebih pada data test dengan waktu pengambilan data 200 dan
250 detik karena rentang nilai yang ada pada data training hanya ada data dengan
waktu pengambilan selama 225 detik.
107
Khusus untuk nilai kesalahan pada hasil akhir yaitu nilai radioaktivitas yang
didapat selain dipengaruhi pada proses prediksi yang dilakukan oleh setiap
algoritma, hal tersebut juga dipengaruhi oleh kualitas data itu sendiri. Dimana
ketika dilakukan perhitungan nilai akhir yaitu puncak energi dan nilai aktivitas
radioaktif tanpa algorima machine learning terdapat nilai kesalahan yang diperoleh
di setiap radioisotop, berikut merupakan nilai MAPE yang dihasilkan data test
dengan proses perhitungan:
Tabel 4. 24 Nilai MAPE data test hasil perhitungan
Preparat
radioisotop
Puncak Energi
(%)
Aktivitas Radioaktif
(%) 241Am 1,87 1,71 137Cs 2,23 1,92 60Co 0,96 9,04 22Na 0,72 10,51
Diperolehnya nilai MAPE pada data test dapat disebabkan oleh beberapa
faktor seperti sudah melemahnya radioaktivitas preparat radiosotop dan zona
pembacaan detektor pada sintilator seiring dengan lamanya waktu penggunaan,
adanya noise yang diterima ketika proses pengambilan data serta kalibrasi energi
dan sintilator yang masih kurang tepat [12]. Selain itu faktor tersebut juga yang
menjadi landasan perbedaan rata-rata nilai NRMSE yang dihasilkan berbeda-beda
di setiap preparatnya. Dikarenakan faktor tersebut menyebabkan setiap data pada
data training maupun data test yang digunakan pada penelitian ini memiliki nilai
target data baik puncak energi dan NPA yang berbeda-beda walaupun pada jenis
preparat dan waktu pengambilan data yang sama sehingga nilai prediksi yang
108
dihasilkan akan selalu berbeda di setiap datanya dengan tingkat perbedaan yang
tidak merata.
Selanjutnya analisis pengaruh proses tuning hyper-parameter akan
ditentukan berdasarkan rata-rata nilai NRMSE hasil target data proses prediksi dari
setiap algoritma machine learning. Berdasarkan hasil yang sudah diperoleh dan
dijelaskan pada tiga subbab sebelumnya, menunjukkan bahwa proses tuning hyper-
parameter memberikan pengaruh yang berbeda-beda terhadap setiap preparat
radioisotop di setiap algoritma machine learning yang digunakan. Pengaruh yang
diberikan berupa penurunan ataupun peningkatan rata-rata nilai NRMSE yang
dihasilkan. Adanya perbedaan pengaruh dari proses tuning akan berhubungan
langsung dengan performa cara kerja dari masing-masing algoritma machine
learning yang digunakan. Karena proses tuning hyper-parameter mempengaruhi
secara langsung performa dari algoritma itu sendiri, tetapi jika dilihat besarnya
penurunan dan peningkatan secara keseluruhan terjadi dengan nilai yang relatif
tidak terlalu signifikan sehingga tidak merubah kualitas hasil prediksi target data
setiap preparat radioisotop yang diperoleh algoritma machine learning, hal ini akan
sejalan dengan hasil yang diperoleh pada subbab performa algorima machine
learning sebelumnya.
4.5. Penentuan algoritma machine learning optimum
Dalam penelitian ini algoritma machine learning optimum ditentukan
dengan melihat perolehan rata-rata nilai NRMSE hasil prediksi proses uji dan nilai
MAPE hasil akhir secara keseluruhan (akumulasi) dari masing-masing algoritma
109
machine learning baik pada program dengan hyper-parameter default ataupun
program dengan proses tuning hyper-parameter. Berikut merupakan hasil
perolehan dari setiap algoritma machine learning:
Tabel 4. 25 Perolehan keseluruhan rata-rata nilai NRMSE hasil prediksi setiap
algoritma di setiap variasi kondisi program
Target
data
DTR (%) RFR (%) k-NN (%)
Default Tuned Default Tuned Default Tuned
Peak* 93,09 95,20 66,13 67,91 2,47 2,34
NPA 158,24 149,34 130,49 130,99 43,57 43,32
Tabel 4. 26 Perolehan keseluruhan nilai MAPE hasil akhir setiap algoritma di
setiap variasi kondisi program
Hasil
akhir
DTR (%) RFR (%) k-NN (%)
Default Tuned Default Tuned Default Tuned
Peak* 97,83 95,35 70,15 70,98 5,98 5,74
Act* 144,33 137,40 117,90 118,13 27,50 28,85
*Keterangan: Peak = puncak energi; Act = aktivitas radioaktif;
Berdasarkan Tabel 4.25 dan 4.26 di atas, maka akan menghasilkan
algoritma k-NN dengan hyper-parameter default sebagai algoritma machine
learning optimum. Karena algoritma tersebut berhasil memprediksi setiap preparat
radioisotop yang sesuai dengan rentang nilainya masing-masing sehingga
menghasilkan perolehan rata-rata nilai NRMSE dan nilai MAPE secara keseluruhan
(akumulasi) relatif lebih rendah. Sedangkan dua algoritma lain yaitu DTR dan RFR
melakukan kesalahan pada proses prediksi pada salah satu preparat radioisotop
yang digunakan yang mengakibatkan nilai kesalahan baik rata-rata nilai NRMSE
dan MAPE menjadi lebih tinggi. Walaupun pada algoritma RFR memperoleh nilai
NRMSE dan MAPE yang lebih rendah pada beberapa preparat radioisotop baik
110
pada hasil prediksi proses uji ataupun hasil akhir, tetapi nilai kesalahan yang
diperoleh tetap relatif lebih tinggi jika dibandingkan dengan algoritma k-NN. Yang
perlu digaris bawahi adalah pemilihan algoritma machine learning optimum yang
dilakukan hanya untuk penelitian ini saja. Selesai.
111
BAB V
PENUTUP
5.1. Kesimpulan
Berdasarkan hasil dan pembahasan yang telah dijelaskan pada penelitian ini,
maka dapat disimpulkan:
1. Telah berhasil dibuat program untuk menentukan nilai radioaktivitas
radioisotop secara otomatis dengan menggunakan beberapa algoritma
machine learning.
2. Proses tuning hyper-parameter yang dilakukan pada penelitian ini
memberikan pengaruh yang berbeda-beda baik pada performa dan hasil
prediksi dari setiap algoritma machine learning. Yang dipengaruhi oleh
tingkat kompleksitas cara kerja dari setiap algoritma serta kualitas dan
bentuk data yang diberikan baik data training, validation dan test.
Pengaruh yang diberikan berupa kenaikan dan penurunan pada nilai-
nilai metrik kesalahan yang diperoleh yaitu nilai RMSE pada perfoma
dan rata-rata nilai NRMSE hasil prediksi masing-masing preparat
radioisotop pada setiap algoritma machine learning.
3. Algoritma machine learning optimum pada penelitian ini yaitu
algoritma k-NN dengan hyper-parameter default. Dengan perolehan
secara keseluruhan rata-rata nilai NRMSE hasil prediksi proses uji
sebesar 2,47% untuk target data puncak energi dan 43,57% untuk target
112
data NPA serta nilai MAPE hasil akhir sebesar 5,98% untuk puncak
energi dan 27,50% untuk aktivitas radioaktif.
5.2. Saran
Berikut merupakan saran untuk penelitian-penelitian selanjutnya terkait
dengan penentuan nilai radioaktivitas radioisotop menggunakan machine learning:
1. Menggunakan sistem spektroskopi gamma yang lebih mumpuni sehingga
data yang didapat mewakili data seharusnya.
2. Menggunakan lebih banyak preparat radioisotop yang digunakan.
3. Menggunakan algoritma machine learning yang lain atau algoritma yang
lebih unggul seperti ANN.
Selesai.
113
DAFTAR PUSTAKA
[1] M. S. Syaifullah, “Konsep IPTEK dan Keterpaduannya dalam Alquran,”
Jurnal Hunafa, vol. 3, no. 3, pp. 287-298, 2006.
[2] S. Qutub, “Sumber-sumber Ilmu Pengetahuan dalam Al Qur'an dan Hadits,”
HUMANIORA, vol. 2, no. 2, pp. 1339-1350, 2011.
[3] S. Marsland, Machine Learning An Algoritgmic Perspective Second Edition,
New York: Taylor & Francis Group LLC, 2015.
[4] A. Geron, Hands-On Machine Learning with Scikit-learn and TensorFlow,
California: O'Reilly Media Inc, 2017.
[5] M. Mohri, A. Rostamizadeh dan A. Talwalkar, Fundation of Machine
learning, MIT Press, 2012.
[6] F. S. Alotaibi, “Implementation of Machine Learning Model to Predict Heart
Failure Disease,” (IJACSA) International Journal of Advanced Computer
Science and Applications, vol. 10, no. 6, pp. 261-268, 2019.
[7] C. C. Chiu, T. N. Sainath, Y. Wu, R. Prabhavalkar, P. Nguyen, Z. Cheng, A.
Kannan, R. J. Weiss, K. Rao, E. Gonina, N. Jaitly, B. Li, J. Chorowski dan M.
Bacchiani, “State-of-the-art speech recognition with sequence-to-sequence
models,,” ICASSP, pp. 4774-4778, 2018.
[8] A. Krizhevsky, I. Sutskever dan G. E. Hinton, “ImageNet Classification with
Deep Convolutional Neural Networks,” Advances in neural information
processing systems, vol. 25, pp. 1097-1105, 2012.
[9] S. Gollapudi, Practical Machine Learning, Birmingham: Packt Publishing Ltd,
2016.
[10] S. Fayanto, Yanti, S. Pati, E. Suwandi, A. Afiudin, H. H. Uleo dan S. A.
NIngsi, “Peluruhan Zat Radioaktif,” Jurnal Praktikum Fisika Modern, 2016.
114
[11] N. Luhur dan Subiharto, “Evaluasi Unjuk Kerja Memori Sistem Spektrometer
Gamma,” dalam Prosiding Seminar Nasional Teknologi dan Aplikasi Reaktor
Nuklir, Tangerang Selatan, 2016.
[12] I. Isnaeni, P. S. Denta, R. S. Hakiki dan M. Amin, “Pembuatan Program untuk
Menentukan Puncak Spektrum pada Radiation Portal Monitor Spektroskopi,”
PRIMA, vol. 16, no. 2, pp. 33-41, 2019.
[13] M. S. Fajri, N. Septian dan E. Sanjaya, “Evaluasi Implementasi Algoritma
Machine Learning K-Nearest Neighbors (kNN) pada data Spektroskopi
Gamma Resolusi Rendah,” Al-Fiziya, vol. 3, no. 1, pp. 9-14, 2020.
[14] H. Sahiner, “Gamma spectroscopy by artificial neural network coupled with
MCNP,” Doctoral Dissertations, 2017.
[15] M. I. Ojovan dan W. E. Lee, An Introduction to Nuclear Waste
Immobilisation, Oxford: Elsevier Ltd, 2005.
[16] K. Krane, Modern Physics Third Edition, New York: John Wiley & Sons, Inc,
2012.
[17] S. T. Thornton dan A. Rex, Modern Physics for Scientists and Engineers
Fourth Edition, Boston: Cengage Learning, 2013.
[18] E. Eason, “Americium Smoke Detectors,” 16 2 2011. [Online]. Available:
http://171.67.100.116/courses/2011/ph241/eason1/. [Diakses 6 7 2021].
[19] S. Chu, L. P. Ekstrom dan R. B. Firestone, “The Lund/LBNL Nuclear Data
Search: WWW Table of Radioactive Isotopes, Database Version 1999-02-
28,” LBNL, Berkeley, USA, 29 4 1998. [Online]. Available:
http://nucleardata.nuclear.lu.se/toi/abouttoi.htm. [Diakses 5 4 2021].
[20] J. E. Turner, Atoms, Radiation, and Radiation Protection, Weinheim: Wiley-
VCH, 2007.
[21] C. Balpardo, M. E. Capoulat, D. Rodrigues dan P. Arenillas, “Standardization
of 241Am by Digital Coincidence Counting, Liquid Scintillation Counting
and Defined Solid Angle counting,” Applied Radiation adn Isotope, vol. 68,
no. 7-8, pp. 1358-1361, 2010.
115
[22] D. M. Hund, D. K.-H. Wietzke, D. T. Hanschke, D. W. Bietsch, D. A. Krause,
F. Kempas, C. Gruner, M. Metzbaur, B. Neumayr dan B. Seithe, “CASSY Lab
2 524 221en,” LD DIDACTIC Gmbh, 2021.
[23] Anonymous, “EPA Facts About Cesium-137,” 7 2002. [Online]. Available:
https://semspub.epa.gov/work/HQ/176308.pdf. [Diakses 6 7 2021].
[24] H. F. Allen, “Cobalt-60 Production at Savannah River,” Reactor Technology
Section, South Carolina, 1995.
[25] H. L. Sari dan W. S. Budi, “Penentuan Karakteristik Cacahan pada Counter
dengan menggunakan Standar Eu-152, Co-60 dan Cs-137,” Youngster Physics
Journal, vol. 6, no. 2, pp. 151-156, 2017.
[26] L. Didactic, “Scintillation Counter (559 901),” Leyblod Didactic GMBH,
Germany.
[27] S. Bahri, “Perbaandingan Kinerja Detektor NaI(Tl) dengan Detektor CsI(Tl)
pada Spektroskopi Radiasi Rendah,” Jurnal Gradien, vol. 3, no. 1, pp. 204-
209, 2007.
[28] M. S. Ardisasmita, “Pengembangan Spektrometer Sinar-Gamma dengan
Sistem Identifikasi Isotop Radioaktif Menggunakan Jaringan Syaraf Tiruan,”
Risalah Lokakarya Komputasi dalam Sains dan Teknologi Nuklir(XIII), 2002.
[29] S. Kurniawati, D. D. Lestiani dan I. Kusmartini, “Penentuan Aktivitas I-131
dan Co-60 di Laboratorium PTNBR,” dalam Prosiding Seminar Nasional
Sains dan Teknologi Nuklir, Bandung, 2011.
[30] P. Mortreau dan R. Berndt, Handbook of Gamma Spectrometry Methods for
Non-destructive Assay of Nuclear Materials, Joint Research Centre: ISPRA,
2010.
[31] G. Gilmore, Practical Gamma-ray Spectrometry Second Edition, Warrington:
John Wiley & Sons Ltd, 2008.
[32] N. Luhur, Kadarusmanto dan S. , “Uji Banding Sistem Spektrometer Gamma
dengan Metoda Analisis Sumber Eu-152,” Buletin Pengelolaan Reaktor
Nuklir, vol. 10, no. 1, pp. 22-30, 2003.
116
[33] M. Aziz, E. Hidayanto dan D. D. Lestari, “Penentuan Aktivitas Co-60 dan Cs-
137 pada Sampel Unknown dengan Menggunakan Detektor HPGe,”
Youngster Physics Journal, vol. 4, no. 2, pp. 189-196, 2015.
[34] H. Mustafidah, “Model regresi Data Mining Motivasi Belajar Pengaruhnya
terhadap Tingkat Kedisiplinan Mahasiswa,” JUITA, vol. 1, no. 1, 2010.
[35] A. C. Muller dan S. Guido, Introduction to Machine Learning, California:
O'Reilly Media Inc, 2017.
[36] R. Latifah, E. S. Wulandari dan P. E. Kreshna, “Model Decision Tree untuk
Prediksi Jadwal Kerja menggunakan Scikit-Learn,” dalam Seminar Nasional
Sains dan Teknologi, Jakarta, 2019.
[37] D. K, “HEARTBEAT: Implementing Regression Using a Decision Tree and
Scikit-Learn,” Medium, 17 2 2020. [Online]. Available:
https://heartbeat.fritz.ai/implementing-regression-using-a-decision-tree-and-
scikit-learn-ac98552b43d7. [Diakses 5 4 2021].
[38] T. Hastie, R. Tibshirani dan J. Friedman, The Elements of Statistical Learning:
Data Mining, Inference and Prediction Second Edition, Standford: Springer,
2008.
[39] M. Bowles, Machine Learning in Python: Essenstial Techniques for Predictive
Analysis, Indianapolis: John Wiley & Sons, Inc, 2015.
[40] E. G. Dawood, “Geo-locating UEs Using Multi-output Decision Tree
Regressor,” Florida Institute of Technology, Florida, 2019.
[41] “scikit learn: sklearn.tree.DecisionTreeRegressor,” scikit-learn
developers(BSD License), [Online]. Available: https://scikit-
learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html.
[Diakses 5 Maret 2021].
[42] S. Hartshorn, Machine Learning with Random Forests and Decision Trees: A
Visual Guide for Beginners, Kindle Edition, 2016.
[43] V. Greenholt, “Random Forest Regression,” Morioh, 5 8 2020. [Online].
Available: https://morioh.com/p/2d4243726fdb. [Diakses 5 4 2021].
117
[44] V. K. Ayyadevara, Pro Machine Learning Algorithms, Delaware: Apress
Media LLC, 2018.
[45] S. Raschka, “STAT 479: Machine Learning Lecture Notes,” Department of
Statistics University of Wisconsin, Madison, 2018.
[46] V. Ong dan D. Suhartono, “Using k-Nearest Neighbor in Optical Character
Recognition,” Binus Journal Pubishing: ComTech, vol. 7, no. 1, pp. 53-65,
2016.
[47] “scikit-learn: sklearn.neighbors.KNeighborsRegressor,” scikit-learn
developers (BSD License), [Online]. Available: https://scikit-
learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsRegressor.
html. [Diakses 8 Maret 2021].
[48] L. Yang dan A. Shami, “On Hyperparameter Optimization of machine
Learning Algorithms: Theory and Practice,” Neurocomputing, vol. 388, 2020.
[49] H. J. Weerts, A. C. Muller dan J. Vanschoren, “Importance of Tuning
Hyperparameter of Machine Learning Algorithms,” Columbia University,
2018.
[50] P. Koch, B. Wujek, O. Golovidov dan S. Gardner, “Automated
Hyperparameter Tuning for Effective Machine Learning,” dalam Proceedings
of the SAS Global Forum 2017 Conference, NC, 2017.
[51] M. Lutz, Programming Python, 2nd Edition, Massachusetts: O'Reilly, 2001.
[52] D. Kuhlman, “A Python Book: Beginning Python, Advanced Python, and
Python Exercises,” Open Source MIT License, Massachusetts, 2013.
[53] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michael dan B. Thirion, “Scikit-
Learn: Machine Learning in Python,” Journal of Machine Learning Research,
vol. 12, pp. 2825-2830, 2011.
[54] A. Abraham, F. Pedregosa, M. Eickenberg, P. Gervaise, A. Mueller, J.
Kossaifi, A. Gramfort, B. Thirion dan G. Varoquaux, “Machine Learning for
Neuroimaging with Scikit-Learn,” Frontiers in Neuroinformatics, vol. 8, no.
14, pp. 1-10, 2014.
118
[55] N. Silaparasetty, Machine Learning Concept with Python and the Jupyter
Notebook Environment: Using Tensorflow 2.0, New York: Appres, 2020.
[56] J. Cook, Docker for Data Science, New York: Appress, 2017.
[57] T. Wang, “pymrt Documentation,” 14 Mei 2018. [Online]. Available:
https://buildmedia.readthedocs.org/media/pdf/pymrt/latest/pymrt.pdf.
[Diakses 21 2 2021].
[58] B. Komal A. dan B. A. Jadhawar, “Research Paper on Java Interactional
Development Environment Programming Tool,” IARJSET, vol. 4, no. 4, pp.
121-124, 2017.
[59] A. Botchkarev, “Evaluating Performance of Regression Machine Learning
Models Using Multiple Error Metrics in Azure Machine Learning Studio,”
Available at SSRN: http://ssrn.com/abstract=3177507, 2018.
[60] A. Botchkarev, “A New Typology Design of Performance Metrics to Measure
Errors in Machine Learning Regression Algorithms,” Interdiciplinary Journal
of Information, Knowledge and Management, vol. 14, pp. 45-79, 2019.
[61] I. N. Soyiri dan D. D. Reidpath, “Evolving Forecasting Classifications and
Applications in Health Forecasting,” Internasional Jurnal of General
Medicine, vol. 5, pp. 381-389, 2012.
[62] R. J. Hyndman dan A. B. Koehler, “Another Look at Measures of Forecast
Accuracy,” International Journal of Forecasting, vol. 22, pp. 679-688, 2006.
[63] C. J. Willmott dan K. Matsuura, “Advantages of The Mean Absolute Error
(MAE) over The Root Mean Square Error (RMSE) in Assessing Average
Model Performance,” Climate Research, vol. 30, pp. 79-82, 2005.
[64] H. D. Kambezidis, “The Solar Resource,” Comprehensive Renewable Energy,
vol. 3, pp. 27-80, 2012.
[65] H. H. Ku, C. Jeong dan P. Colyer, “Modeling Long-Term Effects of Hairy
Vetch Cultivation on Cotton Production in Northwest Louisiana,” Science of
the Total Environment, vol. 624, pp. 744-752, 2018.
119
[66] M. V. Shcherbakov, A. Brebels, N. L. Shcherbakova, A. P. Tyukov,, A. T.
Janovsky dan A. V. Kamaev, “A Survey of Forecast Error Measures,” World
Applied Sciences Journal 24 (Information Technologies in Modern Industry,
Education & Society):, pp. 171-176, 2013.
[67] M. Spuler, A. Sarasola-Sanz, N. Birbaumer, W. Rosenstiel dan A. Ramos-
Murguialday, “Comparing Metrics to Evaluate Performance of Regression
Methods for Decoding of Neural Signals,” 37th Annual International
Conference of the IEEE Engineering in Medicine and Biology Society
(EMBC), pp. 1083-1086, 2015.
[68] M. Z. Naser dan A. H. Alavi, “Insights into Performance Fitness and Error
Metrics for Machine Learning,” arXiv:2006.00887, 2020.
[69] S. Wardah dan Iskandar, “Analisis Peramalan Penjualan Produk Keripik
Pisang Kemasan Bungkus (Studi Kasus: Home Industry Arwana Food
Tembilahan),” Jurnal Teknik Industri, vol. 11, no. 3, pp. 135-142, 2016.
[70] I. Sungkawa dan R. T. Megasari, “Penerapan Ukuran Ketepatan Nilai
Ramalan Data Deret Waktu dalam Seleksi Model Peramalan Volume PT
Satriamandiri Citramulia,” ComTech, vol. 2, no. 2, pp. 636-645, 2011.
[71] Sukirno dan S. Murniasih, “Validasi Metode Analisis Aktivitasi Neutron
untuk Pengujian Uranium dan Thorium dalam Pasir Zikron,” dalam Prosiding
Seminar Nasional AAN, Tangerang, 2010.
[72] Terowati, Ngatijo dan Rahmini, “Validasi Metode untuk Analisis Kandungan
Uranium Menggunakan Potensiometer T-90,” dalam Prosiding Seminar
Penelitian Pengelolaan Perangkat Nuklir, Surakarta, 2016.
[73] I. Kusmartini, D. P. D. Atmodjo, S. Kurniawati dan D. D. Lestiani, “Penentuan
Aktivitas Sumber Radioaktif Pemancar Gamma Eu-152 di Laboratorium
PTNBR,” dalam Prosiding Seminar Nasional Sains dan Teknologi Nuklir,
Bandung, 2013.
120
[74] D. D. Lestiani, Muhayatun dan N. Adventini, “Application of Neutron
Activation Analysis in Characterization of Environmental SRM Samples,”
Indo. J. Chem., vol. 9, no. 2, pp. 2231-235, 2009.
[75] M. Wiyono, D. Iskandar, E. Pudjadi dan Wahyudi, “Uji Profiensi antar
Laboratorium dalam Penentuan Unsur pada Cuplikan Sedimen dan Soil
dengan Metode Analisis Aktiviasi Neutron,” dalam Prosiding Seminar
Nasional TAN, Yogyakarta, 2013.
[76] S. Yusuf, “Pengelolaan Uji Banding antar Laboratorium Menggunakan SRM
dan Calon SRM,” dalam Prosiding Seminar Nasional TAN, Yogyakarta, 2013.
[77] LD Didactic, “Detecting γ Radiation with A Scintillation Counter,” Leybold
Didactic, 2012.
[78] “scikit-learn: sklearn.ensemble.RandomForestRegressor,” scikit-learn
developers (BSD License), [Online]. Available: https://scikit-
learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegress
or.html. [Diakses 6 Maret 2021].
[79] A. Downey, Think Python: How to Think Like a Computer Scientist,
Massachusetts: Green Tea Press, 2012.
[80] “scikit-learn: sklearn.model_selection.GridSearchCV,” scikit-learn
developers (BSD License)., [Online]. Available: https://scikit-
learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.
html. [Diakses 21 7 2021].
[81] “Certificate: No. 69045 - LC 612, ...,” AEA TECHNOLOGY, Jerman, 2003.
Selesai.
121
LAMPIRAN
Kode Program Penentuan Nilai Radioakativitas
Lampiran
# # Library
# Memuat library-library yang dibutuhkan
# library umum
import glob
import time
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
get_ipython().run_line_magic('matplotlib', 'inline')
from math import sqrt, exp
from datetime import datetime, timedelta, date
from detecta_2 import detect_peaks
# library sklearn preprocessing
from sklearn import preprocessing, metrics
from sklearn.metrics import r2_score, mean_squared_error
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split,GridSearchCV
from sklearn.multioutput import MultiOutputRegressor
# library algoritma machine learning
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn import neighbors
# Fungsi untuk memproses data awal menjadi dataset yang dapat diolah (training,
validation dan test)
def preprocess_data(file_name, channel, e_delta=[], m_delta=0, mph=0, mpd=1,
threshold=0, edge='rising', kpsh=False, valley=False, dpsi=0):
"""
untuk mengolah data, menjadi data feature dan target
Process_data Parameters:
----------
file : sebagian nama data yang akan diolah, yang memiliki kesamaan
dengan nama file lainnya.
dengan catatan, file tersebut merupakan data dengan preparat yang
sama. dengan extention xlsx
misal : ('Am_') = Am_(merupakan sebagian nama yang sama)
122
channel : merupakan jumlah dari channel/ feature/ atribut yang akan diolah
prop : proporsi data berdasarkan waktu
e_delta : merupakan jarak channel bagian kiri dan kanan dari titik puncak
yang terdeteksi
m_delta : merupakan banyaknya channel batas kiri dan kanan puncak yang
dimasukkan ke dalam perhitungan
mph : {None, number}, optional (default = None)
detect peaks that are greater than minimum peak height (if parameter
`valley` is False) or peaks that are smaller than maximum peak height
(if parameter `valley` is True).
mpd : positive integer, optional (default = 1)
detect peaks that are at least separated by minimum peak distance (in
number of data).
threshold : positive number, optional (default = 0)
detect peaks (valleys) that are greater (smaller) than `threshold`
in relation to their immediate neighbors.
edge : {None, 'rising', 'falling', 'both'}, optional (default = 'rising')
for a flat peak, keep only the rising edge ('rising'), only the
falling edge ('falling'), both edges ('both'), or don't detect a
flat peak (None).
kpsh : bool, optional (default = False)
keep peaks with same height even if they are closer than `mpd`.
valley : bool, optional (default = False)
if True (1), detect valleys (local minima) instead of peaks.
dpsi : detecting peak starting index (default=0)
detect peaks that are greater that dpsi
Returns
data_imp : dataframe feature/ atribut penting hasil gabungan sesuai preparat
data_puncak : dataframe target/ puncak hasil gabungan sesuai preparat
data_npa : dataframe target/ net peak area
"""
# menyiapkan list data
data_imp_ = []
data_puncak_ = []
data_npa_ = []
# proses looping perhitungan
for filename in glob.glob(file_name+'*.xlsx'):
# mentransformasi data
data_T = transform(filename, channel)
# mengambil indeks puncak energi data
indx_puncak = func_det_peak(data_T, mph, mpd, threshold, edge, kpsh,
valley, dpsi)
# mengubah data dengan mengambil feature penting
data_fimp = func_imp_attr(data_T, indx_puncak, e_delta, m_delta)
# menghitung nilai puncak energi preparat
data_peak = func_fitt_peak(data_T, indx_puncak, e_delta, m_delta)
123
# menghitung nilai cacahan per sekon
data_npa = func_fitt_npa(data_T, indx_puncak, e_delta, m_delta)
# data_npas = func_cal_cps(data_npa, prop, waktu_cacah)
# menambah hasil perhitungan ke masing-masing list
data_imp_.append(data_fimp)
data_puncak_.append(data_peak)
data_npa_.append(data_npa)
# menggabungkan data pada masing-masing list
data_imp = pd.concat(data_imp_)
data_puncak = pd.concat(data_puncak_)
data_npa = pd.concat(data_npa_)
return data_imp, data_puncak, data_npa
# Menghitung aktivitas radioaktif dan nilai efisiensi detektor multi-preparat
def efficiency_detector(data, prop_cal, prop_eff, aktivitas_awal, persen_yield,
waktu_paruh, waktu_cacah, waktu_a, waktu_t):
"""
untuk menghitung efisiensi detektor pada tiap puncak energi tertentu
data : nilai neat peak area per sekon
prop_cal : proporsi data berdasarkan waktu yang digunakan untuk
menghitung nilai aktivitas kalkulasi/ literatur
prop_eff : proporsi data berdasarkan waktu yang digunakan untuk
menghitung nilai efisiensi detektor
persen_yield : % yield(Y) perpreparat
aktivitas_awal : nilai aktivitas awal masing-masing preparat
waktu_paruh : nilai masing-masing waktu paruh preparat
waktu_a : tanggal referensi aktivitas awal
waktu_t : tanggal pengambilan data tes
*** waktu : harus dalam bentuk datetime.date(year, month, date)
waktu dan proporsi harus urut
"""
# Menghitung nilai aktivitas_t terlebih dahulu
act_cal = func_activity_cal(aktivitas_awal, prop_cal, waktu_paruh, waktu_a,
waktu_t)
# Menghitung nilai efisiensi detektor
eff_detc = func_eff_detc(data, prop_eff, persen_yield, waktu_cacah, act_cal)
return act_cal, eff_detc
# Menghitung nilai aktivitas experimen
def func_activity_exp(data, prop, persen_yield, waktu_cacah, effi_detc):
"""
untuk menghitung nilai aktivitas radioaktif eksperimen (Bq)
data : nilai net peak area per sekoan dalam bentuk array
prop : proporsi data berdasarkan waktu
persen_yield : % yield(Y) perpreparat
124
efis_detk : efisinesi mutlak detektor pada tenaga (E)
*** waktu dan proporsi harus urut
"""
# Mengubah bentuk dataframe efisensi_detc ke array
effic_detc = effi_detc.to_numpy()
# Menyiapkan list
prop_ = sum(prop, [])
waktu_cacah_ = sum(waktu_cacah, [])
act_exp_a = []
# proses menghitung Aktivitas radioaktif pada t tertentu
j = 0
for i in range(len(prop)):
x = []
while j < sum(sum(prop[:i+1:], [])):
act_exp_1 = data[j]/((persen_yield[i]/100)*effic_detc[i])
x.append(act_exp_1)
j+=1
act_exp_a.append(x)
i+=1
act_exp_b = sum(act_exp_a, [])
act_exp_c = []
l = 0
k = 0
for k in range(len(prop_)):
y = []
while l < sum(prop_[0:k+1]):
act_exp_ = act_exp_b[l]/(waktu_cacah_[k]) # menghitung Aktivitas
pada t tertentu
y.append(act_exp_)
l+=1
act_exp_c.append(y)
k+=1
# mengubah list 2D menjadi list 1D
act_exp_d = sum(act_exp_c, [])
# mengubah list menjadi dataframe
act_exp = pd.DataFrame(act_exp_d)
act_exp.columns = ['aktivitas_eksperimen']
return act_exp
# # Pengolahan data
# ## Data training dan validation
# ### Pre-processing
# Koefisisen yang dipakai di semua preparat
m_delta = 2
channel = feature
# Am_241
am_delta = [2, 2]
125
am_mph = 70000
am_mpd = 5
am_dpsi = 0
# Cs_137
cs_delta = [15, 15]
cs_mph = 10000
cs_mpd = 15
cs_dpsi = 100
# Co_60
co_delta = [10, 10]
co_mph = 480
co_mpd = 5
co_dpsi = 186
# Na_22
na_delta = [15, 15]
na_mph = 40
na_mpd = 10
na_dpsi = 200
# Mengambil dataframe feature, peak dan peak area masing-masing preparat
# Am_241
am, am_peak, am_npa = preprocess_data(file_name='Amtrain', channel=channel,
e_delta = am_delta, m_delta=m_delta, mph=am_mph, mpd=am_mpd,
dpsi=am_dpsi)
# Cs_137
cs, cs_peak, cs_npa = preprocess_data(file_name='Cstrain_', channel=channel,
e_delta=cs_delta,
m_delta=m_delta, mph=cs_mph, mpd=cs_mpd,
dpsi=cs_dpsi)
# Co_66
co, co_peak, co_npa = preprocess_data(file_name='Cotrain_', channel=channel,
e_delta=co_delta,
m_delta=m_delta, mph=co_mph, mpd=co_mpd,
dpsi=co_dpsi)
# Na_22
na, na_peak, na_npa = preprocess_data(file_name='Natrain_', channel=channel,
e_delta=na_delta,
m_delta=m_delta, mph=na_mph, mpd=na_mpd,
dpsi=na_dpsi)
# ### Features (X)
# Menggabungkan dataframe feature masing-masing preparat menjadi 1
df_X = gabung_data4(am, cs, co, na)
# Mengubah datafrmae menjadi array
X = df_to_array(df_X)
# # Menormalisasi/ scaling data
126
# X = normalize_data(X)
# ### Target (y)
# Menggabungkan dataframe targer masing-masing preparat menjadi 1
df_y_peak = gabung_data4(am_peak, cs_peak, co_peak, na_peak)
df_y_npa = gabung_data4(am_npa, cs_npa, co_npa, na_npa)
# Menggabungkan 2 dataFrame Target Menjadi 1
y = pd.concat([df_y_peak, df_y_npa], axis=1)
# Mengubah datafrmae menjadi array
y = df_to_array(y)
# ### Memecah dataset menjadi data training dan validation
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2,
random_state=10)
# ## Data Testing
# ### Pre-Processing
# #### Data atribut test
am_tes = transform_dataset(file_name='Amtest_')
cs_tes = transform_dataset(file_name='Cstest_')
co_tes = transform_dataset(file_name='Cotest_')
na_tes = transform_dataset(file_name='Natest_')
# #### Data target data referensi
# Mengambil dataframe feature, peak dan peak area masing-masing preparat
# Am_241
_, am_peak_tes, am_npa_tes = preprocess_data(file_name='Amtest_',
channel=channel, e_delta=am_delta, m_delta=m_delta, mph=am_mph,
mpd=am_mpd, dpsi=am_dpsi)
# Cs_137
_, cs_peak_tes, cs_npa_tes = preprocess_data(file_name='Cstest_',
channel=channel, e_delta=cs_delta, m_delta=m_delta, mph=cs_mph,
mpd=cs_mpd, dpsi=cs_dpsi)
# Co_60
_, co_peak_tes, co_npa_tes = preprocess_data(file_name='Cotest_',
channel=channel, e_delta=co_delta, m_delta=m_delta, mph=co_mph,
mpd=co_mpd, dpsi=co_dpsi)
# Na_22
_, na_peak_tes, na_npa_tes = preprocess_data(file_name='Natest_',
channel=channel, e_delta=na_delta, m_delta=m_delta, mph=na_mph,
mpd=na_mpd, dpsi=na_dpsi)
# ### Features (X)
# Menggabungkan dataframe feature masing-masing preparat menjadi 1
df_X_test = gabung_data4(am_tes, cs_tes, co_tes, na_tes)
# Mengubah datafrmae menjadi array
127
X_test = df_to_array(df_X_test)
# # Menormalisasi/ scaling data
# X_test = normalize_data(X_test)
# ### Target (y)
# Menggabungkan dataframe targer masing-masing preparat menjadi
df_y_test_peak = gabung_data4(am_peak_tes, cs_peak_tes, co_peak_tes,
na_peak_tes)
df_y_test_npa = gabung_data4(am_npa_tes, cs_npa_tes, co_npa_tes, na_npa_tes)
# Menggabungkan 2 dataFrame Target Menjadi 1
y_test = pd.concat([df_y_test_peak, df_y_test_npa], axis=1)
# Mengubah datafrmae menjadi array
y_test = df_to_array(y_test)
# # Machine Learning
# # Variasi algoritma di-setting hyper-parameter default
# ## Training
# ### Decision Tree Regressor
# Menentukan Algoritma
decTree = MultiOutputRegressor(DecisionTreeRegressor(random_state=3))
# Training Algoritma
start_decTree = time.time()
decTree.fit(X_train, y_train)
stop_decTree = time.time()
# ### Random Forest Regressor
# Menentukan Algoritma
randFor = MultiOutputRegressor(RandomForestRegressor(random_state=3))
# Training Algoritma
start_randFor = time.time()
randFor.fit(X_train, y_train)
stop_randFor = time.time()
# ### k-Nearest Neighbors Regression
# Menentukan Algoritma
knn = MultiOutputRegressor(neighbors.KNeighborsRegressor())
# Training Algoritma
start_knn = time.time()
knn.fit(X_train,y_train)
stop_knn = time.time()
# # Variasi algoritma dilakukan porses tuning hyper-parameter
# Variabel yang digunakan
cv = 5
n_jobs = -1
refit = 'rmse'
scoring = {'rmse': 'neg_root_mean_squared_error'}
128
## Training
# ### Decision Tree Regressor
# Menentukan Algoritma
decTree_ = MultiOutputRegressor(DecisionTreeRegressor(random_state=3))
# Mengatur Hyperparameter
criterion = ['mse', 'friedman_mse', 'mae', 'poisson']
max_depth = list(range(1,21))
decTree_params = dict(estimator__criterion=criterion,
estimator__max_depth=max_depth)
# Tuning Algoritma
start_decTree = time.time()
decTree = GridSearchCV(estimator= decTree_,
param_grid=decTree_params,
cv=cv,
scoring=scoring,
refit=refit,
n_jobs=n_jobs)
# Training Algoritma
decTree.fit(X_train, y_train)
stop_decTree = time.time()
# ### Random Forest Regressor
# Menentukan Algoritma
randFor_= MultiOutputRegressor(RandomForestRegressor(random_state=3))
# Mengatur Hyperparameter
n_estimator = list(range(80, 130, 10))
criterion = ['mse', 'friedman_mse', 'mae', 'poisson']
max_depth = list(range(6,16))
randFor_params = dict(estimator__n_estimators=n_estimator,
estimator__criterion=criterion,
estimator__max_depth=max_depth)
# Tuning Algoritma
start_randFor = time.time()
randFor = GridSearchCV(estimator= randFor_,
param_grid=randFor_params,
cv=cv,
scoring=scoring,
refit=refit,
n_jobs=n_jobs)
# Training Algortma
randFor.fit(X_train, y_train)
stop_randFor = time.time()
# ### k-Nearest Neighbors Regression
# Menentukan Algoritma
knn_ = MultiOutputRegressor(neighbors.KNeighborsRegressor())
# Mengatur Hyperparams
n_neighbors = list(range(1,21))
129
weight = ['uniform', 'distance']
p = [1,2]
knn_params = dict(estimator__n_neighbors=n_neighbors,
estimator__weights=weight,
estimator__p=p)
# Tuning Algoritma
start_knn = time.time()
knn = GridSearchCV(estimator= knn_,
param_grid=knn_params,
cv=cv,
scoring=scoring,
refit=refit,
n_jobs=n_jobs)
# Training Algoritma
knn.fit(X_train, y_train)
stop_knn = time.time()
# ## Predict dan Scoring
# Decision Tree Regreesor
# Predicting Model
decTree_pred = decTree.predict(X_test)
# RMSE
decTree_rmse_train = np.sqrt(metrics.mean_squared_error(y_train,
decTree.predict(X_train)))
decTree_rmse_val = np.sqrt(metrics.mean_squared_error(y_val,
decTree.predict(X_val)))
decTree_rmse_test = np.sqrt(metrics.mean_squared_error(y_test, decTree_pred))
# Random Forest Regressor
# Predicting Model
randFor_pred = randFor.predict(X_test)
# RMSE
randFor_rmse_train = np.sqrt(metrics.mean_squared_error(y_train,
randFor.predict(X_train)))
randFor_rmse_val = np.sqrt(metrics.mean_squared_error(y_val,
randFor.predict(X_val)))
randFor_rmse_test = np.sqrt(metrics.mean_squared_error(y_test, randFor_pred))
# k-NN Regressor
# Predicting Model
knn_pred = knn.predict(X_test)
# RMSE
knn_rmse_train = np.sqrt(metrics.mean_squared_error(y_train,
knn.predict(X_train)))
knn_rmse_val = np.sqrt(metrics.mean_squared_error(y_val,
knn.predict(X_val)))
knn_rmse_test = np.sqrt(metrics.mean_squared_error(y_test, knn_pred))
130
# ## Memisahkan hasil prediksi per-preparat
# Variabel yaang digunakan
pred_index = [['Am_241_150', 'Am_241_200', 'Am_241_250', 'Am_241_300'],
['Cs_137_150', 'Cs_137_200', 'Cs_137_250', 'Cs_137_300'],
['Co_60_150', 'Co_60_200', 'Co_60_250', 'Co_60_300'],
['Na_22_150', 'Na_22_200', 'Na_22_250', 'Na_22_300']]
pred_index_1 = sum(pred_index, [])
prop_pred = [[5, 5, 5, 5],
[5, 5, 5, 5],
[5, 5, 5, 5],
[5, 5, 5, 5]]
prop_pred_1 = sum(prop_pred, [])
# Bentuk Array
# Puncak Energi
peak_decTree = decTree_pred[:, 0].reshape(-1)
peak_randFor = randFor_pred[:, 0].reshape(-1)
peak_knn = knn_pred[:, 0].reshape(-1)
peak_test = y_test[:, 0].reshape(-1)
# NPA
npa_decTree = decTree_pred[:, 1].reshape(-1)
npa_randFor = randFor_pred[:, 1].reshape(-1)
npa_knn = knn_pred[:, 1].reshape(-1)
npa_test = y_test[:, 1].reshape(-1)
# Bentuk Dataframe
# Puncak Energi
peak_decTree_df = buat_df(list_value=peak_decTree, columns_name=['decTree'],
index_name=pred_index_1, prop=prop_pred_1)
peak_randFor_df = buat_df(list_value=peak_randFor, columns_name=['randFor'],
index_name=pred_index_1, prop=prop_pred_1)
peak_knn_df = buat_df(list_value=peak_knn, columns_name=['k-NN'],
index_name=pred_index_1, prop=prop_pred_1)
peak_test_df = buat_df(list_value=peak_test, columns_name=['real_values'],
index_name=pred_index_1, prop=prop_pred_1)
# NPA
npa_decTree_df = buat_df(list_value=npa_decTree, columns_name=['decTree'],
index_name=pred_index_1, prop=prop_pred_1)
npa_randFor_df = buat_df(list_value=npa_randFor, columns_name=['randFor'],
index_name=pred_index_1, prop=prop_pred_1)
npa_knn_df = buat_df(list_value=npa_knn, columns_name=['k-NN'],
index_name=pred_index_1,prop=prop_pred_1)
npa_test_df = buat_df(list_value=npa_test, columns_name=['real_values'],
index_name=pred_index_1, prop=prop_pred_1)
# # Perhitungan nilai aktifivitas radioaktif
131
# ## Pre-processing data
# Mengambil cacahan per sekon masing-masing preparat
# Am_241
_, _, am_npa_eff = preprocess_data(file_name='Amcal_', channel=channel,
e_delta = am_delta,
m_delta=m_delta, mph=am_mph, mpd=am_mpd,
dpsi=am_dpsi)
# Cs_137
_, _, cs_npa_eff = preprocess_data(file_name='Cscal_', channel=channel,
e_delta=cs_delta,
m_delta=m_delta, mph=cs_mph, mpd=cs_mpd,
dpsi=cs_dpsi)
# Co_60
_, _, co_npa_eff = preprocess_data(file_name='Cocal_', channel=channel,
e_delta=co_delta,
m_delta=m_delta, mph=co_mph, mpd=co_mpd, dpsi=185)
# Na_22
_, _, na_npa_eff = preprocess_data(file_name='Nacal_', channel=channel,
e_delta=na_delta,
m_delta=m_delta, mph=na_mph, mpd=na_mpd,
dpsi=na_dpsi)
# Menggabung 4 file
data_npa_eff = gabung_data4(am_npa_eff, cs_npa_eff, co_npa_eff, na_npa_eff)
# ## Aktivitas radioaktif kalkulasi dan efisiensi detektor
# Nilai Efisiensi detektor
# Proporsi nilai aktivitas masing-masing preparat
prop_cal = [1, 1, 1, 1]
#proporsi dataset efisiensi masing-masing preparat
prop_eff = [[2, 2, 2],
[2, 2, 2],
[2, 2, 2],
[2, 2, 2]]
# waktu cacah eff
waktu_cacah_eff = [[150, 225, 300],
[150, 225, 300],
[150, 225, 300],
[150, 225, 300]]
# Nilai puncak energi awal Am, Cs, Co, Na berturut
peak_energy = [59.54, 661.66, 1173.23, 1274.53]
# Nilai aktivitas awal Am, Cs, Co, Na berturut
aktivitas_awal = [74000, 333000, 74000, 74000]
# Nilai persen yield Am, Cs, Co, Na berturut
persen_yield = [35.90, 85.10, 99.97, 99.94]
# Nilai waktu paruh Am, Cs, Co, Na berturut
waktu_paruh = [432.23, 30.07, 5.27, 2.60]
132
# waktu referensi data dan pengambilan data
waktu_awal = date(2003, 7, 23)
waktu_pengambilan = date(2021, 1, 29)
# Menghitung nilai aktivitas radioaktif kalkulasi dan efisiensi detektor pada
masing-masing puncak energi
act_cal, eff_detektor = efficiency_detector(data = data_npa_eff,
prop_cal = prop_cal,
prop_eff = prop_eff,
aktivitas_awal = aktivitas_awal,
persen_yield = persen_yield,
waktu_paruh = waktu_paruh,
waktu_cacah = waktu_cacah_eff,
waktu_a = waktu_awal,
waktu_t = waktu_pengambilan
)
# ## Aktivitas Radioaktif Eksperimen
# Varibael yang digunakan
waktu_cacah_tes = [[150, 200, 250, 300],
[150, 200, 250, 300],
[150, 200, 250, 300],
[150, 200, 250, 300]]
# perhitungan nilai aktivitas radioaktif
#Perhitungan nilai aktivitas radioaktif target
act_test = func_activity_exp(data=npa_test, prop=prop_pred,
persen_yield=persen_yield, waktu_cacah=waktu_cacah_tes,
effi_detc=eff_detektor)
# Decision Tree
act_decTree = func_activity_exp(data=npa_decTree, prop=prop_pred,
persen_yield=persen_yield, waktu_cacah=waktu_cacah_tes,
effi_detc=eff_detektor)
# Decision Tree
act_randFor = func_activity_exp(data=npa_randFor, prop=prop_pred,
persen_yield=persen_yield, waktu_cacah=waktu_cacah_tes,
effi_detc=eff_detektor)
# knn
act_knn = func_activity_exp(data=npa_knn, prop=prop_pred,
persen_yield=persen_yield, waktu_cacah=waktu_cacah_tes,
effi_detc=eff_detektor)
# ## Kesalahan literatur rata-rata
# Variabel yang digunakan
pred_index_2 = ['Am_241', 'Cs_137', 'Co_60', 'Na_22']
prop_error = [4, 4, 4, 4]
# Menyiapkan list masukkan yang dibutuhkan
133
peak_energy_1 = sum([[peak]*4 for peak in peak_energy], []) # dikali angka
4 sesuai dengan jumlah preparat
lit_act_cal = list(act_cal.to_numpy().flatten()) # menyiapkan list
terlebih dahulu
lit_act_cal_1 = sum([[act]*4 for act in lit_act_cal], []) # dikali angka 4
sesuai dengan jumlah preparat
# Nilai literatur
lit_peak = buat_df_lit(list_value=peak_energy_1, columns_name=['lit_peak'],
index_name=pred_index_1, prop=prop_pred_1)
lit_act = buat_df_lit(list_value=lit_act_cal_1, columns_name=['Lit_act'],
index_name=pred_index_1, prop=prop_pred_1)
lit_kl_peak = buat_df_lit(list_value=peak_energy,
columns_name=['peak_energy'], index_name=pred_index_2, prop=prop_error)
lit_kl_act = buat_df_lit(list_value=lit_act_cal, columns_name=['Lit_act'],
index_name=pred_index_2, prop=prop_error)
# Data Target
# Menghitung kesalahan literatur puncak energi target
kl_peak_test = kesalahan_lit(exp=peak_test_df, lit=lit_kl_peak,
prop=prop_pred_1)
# Menghitung kesalahan literatur aktivitas radioaktif target
kl_act_test = kesalahan_lit(exp=act_test, lit=lit_kl_act, prop=prop_pred_1)
# Menghitung kesalahan literatur puncak energi
# Decision Tree Regressor
kl_peak_decTree = kesalahan_lit(exp=peak_decTree_df, lit=lit_kl_peak,
prop=prop_pred_1)
# Decision Tree Regressor
kl_peak_randFor = kesalahan_lit(exp=peak_randFor_df, lit=lit_kl_peak,
prop=prop_pred_1)
# Decision Tree Regressor
kl_peak_knn = kesalahan_lit(exp=peak_knn_df, lit=lit_kl_peak,
prop=prop_pred_1)
# Menghitung kesalahan literatur aktivitas radioaktif
# Decision Tree Regressor
kl_act_decTree = kesalahan_lit(exp=act_decTree, lit=lit_kl_act,
prop=prop_pred_1)
# Decision Tree Regressor
kl_act_randFor = kesalahan_lit(exp=act_randFor, lit=lit_kl_act,
prop=prop_pred_1)
# Decision Tree Regressor
kl_act_knn = kesalahan_lit(exp=act_knn, lit=lit_kl_act, prop=prop_pred_1)
# ## Memvisualisasikan hasil program
134
# ### Waktu training
time_decTree = stop_decTree - start_decTree
time_randFor = stop_randFor - start_randFor
time_knn = stop_knn - start_knn
list_time = [time_decTree, time_randFor, time_knn]
time_columns = ['decTree_train_time', 'randFor_train_time', 'knn_train_time']
time_index = ['sekon']
prop_time = [1]
time_train = gabung_array_columns(list_array=list_time,
columns_name=time_columns, index_name=time_index, prop=prop_time)
# ### Best Hyper-parameters
# Variabel yang digunakan
prop_best_params_1 = [1, 1, 1]
prop_best_params_2 = [1, 1, 1, 1]
# Decision Tree Resgressor Best Hyper-parameters
list_decTree_best =
[decTree.best_estimator_.get_params()['estimator__criterion'],
decTree.best_estimator_.get_params()['estimator__max_depth'],
abs(decTree.best_score_)]
decTree_best_columns = ['DecTree_Best_Params']
decTree_best_index = ['Best_criterion', 'Best_max_depth', 'Best_RMSE_score']
decTree_best = buat_df(list_value=list_decTree_best,
columns_name=decTree_best_columns,
index_name=decTree_best_index, prop=prop_best_params_1)
# Random Forest Resgressor Best Hyper-parameters
list_randFor_best =
[randFor.best_estimator_.get_params()['estimator__n_estimators'],
randFor.best_estimator_.get_params()['estimator__criterion'],
randFor.best_estimator_.get_params()['estimator__max_depth'],
abs(randFor.best_score_)]
randFor_best_columns = ['RandFor_Best_Params']
randFor_best_index = ['Best_n_estimators', 'Best_criterion', 'Best_max_depth',
'Best_RMSE_score']
randFor_best = buat_df(list_value=list_randFor_best,
columns_name=randFor_best_columns ,
index_name=randFor_best_index, prop=prop_best_params_2)
# k-Nearest Neighbors Resgressor Best Hyper-parameters
list_knn_best = [knn.best_estimator_.get_params()['estimator__n_neighbors'],
knn.best_estimator_.get_params()['estimator__weights'],
knn.best_estimator_.get_params()['estimator__p'],
abs(knn.best_score_)]
knn_best_columns = ['k-NN_Best_Params']
knn_best_index = ['Best_n_neighbors', ' Best_weights', 'Best_p',
'Best_RMSE_score']
knn_best = buat_df(list_value=list_knn_best, columns_name=knn_best_columns,
135
index_name=knn_best_index, prop=prop_best_params_2)
# ### Puncak Energi dan NPA Machine Learning
# Hasil Prediksi Puncak Energi Machine Learning
list_peak_result = [lit_peak, peak_test_df, peak_decTree_df, peak_randFor_df,
peak_knn_df]
peak_columns = ['Lit_Peak','Real_Values', 'DecTree_peak', 'RandFor_peak', 'k-
NN_peak']
pred_peak_result = gabung_df_columns(list_df=list_peak_result,
columns_name=peak_columns, index_name=pred_index_1, prop=prop_pred_1)
# Hasil Prediksi Net Peak Area Machine Learning
list_npa_result = [npa_test_df, npa_decTree_df, npa_randFor_df, npa_knn_df]
npa_columns = ['Real_Values', 'DecTree_npa', 'RandFor_npa', 'k-NN_npa']
pred_npa_result = gabung_df_columns(list_df=list_npa_result,
columns_name=npa_columns, index_name=pred_index_1, prop=prop_pred_1)
# ### Aktivitas Kalkulasi, Efisiensi Detektor dan Aktivitas Eksperimen
# Nilai Aktivitas Radioaktif Kalkulasi dan Efisiensi Detektor
list_act_eff = [act_cal, eff_detektor]
act_eff_columns = ['akitivitas_kalkulasi', 'rata-rata_efis_detk']
act_eff = gabung_df_columns(list_df=list_act_eff,
columns_name=act_eff_columns, index_name=pred_index_2, prop=prop_cal)
# Nilai Aktivitas Radioaktif Eksperimen
list_act_exp = [act_test, act_decTree, act_randFor, act_knn]
act_exp_columns = ['Real_Values', 'DecTree_act_exp', 'RandFor_act_exp', 'k-
NN_act_exp']
act_exp_columns_2 = ['Lit_Values','Real_Values', 'DecTree_act_exp',
'RandFor_act_exp', 'k-NN_act_exp']
act_pred = gabung_df_columns(list_df=list_act_exp,
columns_name=act_exp_columns, index_name=pred_index_1,
prop=prop_pred_1)
act_result = pd.concat([lit_act, act_pred], axis=1)
act_result.columns = act_exp_columns_2
# ### RMSE, NRMSE_MEAN dan Standar Deviasi
# Variabel yang digunakan
# Kesulurahn Pogram
prop_score = [1, 1, 1]
prop_df = prop_cal*4
rmse_columns = ['DecTree_RMSE', 'RandFor_RMSE', 'k-NN_RMSE']
score_index = ['Train', 'Val', 'Test']
# Per-preparat
std_columns = ['Real_value_STD', 'DecTree_STD', 'RandFor_STD', 'k-
NN_STD']
nrmse_mean_columns = ['DecTree_NRMSE_MEAN',
'RandFor_NRMSE_MEAN', 'k-NN_NRMSE_MEAN']
136
std_act_columns = ['Real_act_STD', 'DecTree_act_STD', 'RandFor_act_STD',
'k-NN_act_STD']
# ### Keseluruhan program
# Mean Squared Error
list_rmse_decTree = [decTree_rmse_train, decTree_rmse_val, decTree_rmse_test]
list_rmse_randFor = [randFor_rmse_train, randFor_rmse_val, randFor_rmse_test]
list_rmse_knn = [knn_rmse_train, knn_rmse_val, knn_rmse_test]
list_rmse = [list_rmse_decTree, list_rmse_randFor, list_rmse_knn]
rmse_score = gabung_array_columns(list_array=list_rmse,
columns_name=rmse_columns, index_name=score_index, prop=prop_score)
# ### Per-preparat
# #### Puncak energi
# Standar deviasi
test_std_peak = func_std(data=peak_test_df, prop=prop_pred_1)
decTree_std_peak = func_std(data=peak_decTree_df, prop=prop_pred_1)
randFor_std_peak = func_std(data=peak_randFor_df, prop=prop_pred_1)
knn_std_peak = func_std(data=peak_knn_df, prop=prop_pred_1)
list_std_peak = [test_std_peak, decTree_std_peak, randFor_std_peak,
knn_std_peak]
peak_std = gabung_df_columns(list_df=list_std_peak,
columns_name=std_columns, index_name=pred_index_1, prop=prop_df)
# Root mean square error_mean
decTree_nrmse_mean_peak = func_nrmse_mean(data_target=peak_test_df,
data_pred=peak_decTree_df, prop=prop_pred_1)
randFor_nrmse_mean_peak = func_nrmse_mean(data_target=peak_test_df,
data_pred=peak_randFor_df, prop=prop_pred_1)
knn_nrmse_mean_peak = func_nrmse_mean(data_target=peak_test_df,
data_pred=peak_knn_df, prop=prop_pred_1)
list_nrmse_mean_peak = [decTree_nrmse_mean_peak,
randFor_nrmse_mean_peak, knn_nrmse_mean_peak]
peak_nrmse_mean = gabung_df_columns(list_df=list_nrmse_mean_peak,
columns_name=nrmse_mean_columns, index_name=pred_index_1,
prop=prop_df)
# #### Net peak area
# Standar deviasi
test_std_npa = func_std(data=npa_test_df, prop=prop_pred_1)
decTree_std_npa = func_std(data=npa_decTree_df, prop=prop_pred_1)
randFor_std_npa = func_std(data=npa_randFor_df, prop=prop_pred_1)
knn_std_npa = func_std(data=npa_knn_df, prop=prop_pred_1)
list_std_npa = [test_std_npa, decTree_std_npa, randFor_std_npa, knn_std_npa]
npa_std = gabung_df_columns(list_df=list_std_npa, columns_name=std_columns,
index_name=pred_index_1, prop=prop_df)
# Root mean square error_mean
137
decTree_nrmse_mean_npa = func_nrmse_mean(data_target=npa_test_df,
data_pred=npa_decTree_df, prop=prop_pred_1)
randFor_nrmse_mean_npa = func_nrmse_mean(data_target=npa_test_df,
data_pred=npa_randFor_df, prop=prop_pred_1)
knn_nrmse_mean_npa = func_nrmse_mean(data_target=npa_test_df,
data_pred=npa_knn_df, prop=prop_pred_1)
list_nrmse_mean_npa = [decTree_nrmse_mean_npa, randFor_nrmse_mean_npa,
knn_nrmse_mean_npa]
npa_nrmse_mean = gabung_df_columns(list_df=list_nrmse_mean_npa,
columns_name=nrmse_mean_columns, index_name=pred_index_1,
prop=prop_df)
# ### Nilai Aktivitas Radioaktif
# Standar Deviasi
test_std_act = func_std(data=act_test, prop=prop_pred_1)
decTree_std_act = func_std(data=act_decTree, prop=prop_pred_1)
randFor_std_act = func_std(data=act_randFor, prop=prop_pred_1)
knn_std_act = func_std(data=act_knn, prop=prop_pred_1)
list_std_act = [test_std_act, decTree_std_act, randFor_std_act, knn_std_act]
act_std = gabung_df_columns(list_df=list_std_act,
columns_name=std_act_columns, index_name=pred_index_1, prop=prop_df)
# ### Kesalahan Literatur
# Kesalahan Literatur Puncak Energi
list_kl_peak = [kl_peak_test, kl_peak_decTree, kl_peak_randFor, kl_peak_knn]
kl_peak_columns = ['Real_Values', 'DecTree_kl_peak', 'RandFor_kl_peak', 'k-
NN_kl_peak']
kl_peak = gabung_df_columns(list_df=list_kl_peak,
columns_name=kl_peak_columns, index_name=pred_index_1, prop=prop_df)
# Kesalahan Literatur Aktivitas Radiodf
list_kl_act = [kl_act_test, kl_act_decTree, kl_act_randFor, kl_act_knn]
kl_act_columns = ['Real_Values', 'DecTree_kl_act', 'RandFor_kl_act', 'k-
NN_kl_act']
kl_act = gabung_df_columns(list_df=list_kl_act,
columns_name=kl_act_columns, index_name=pred_index_1, prop=prop_df)
# # Hasil Program
# ## Waktu training
time_train
time_train
# ## Best Hyper-parameters
decTree_best
randFor_best
knn_best
# ## Puncak energi
138
pred_peak_result.head(60)
pred_peak_result.tail(20)
# ## Net peak area
pred_npa_result.head(60)
pred_npa_result.tail(20)
# ## Aktivitas radioaktif kalkulasi dan efisiensi detektor
act_eff
# ## Aktivitas radioaktif eksperimen
act_result.head(60)
act_result.tail(20)
# ## Rata-rata hasil
# Puncak Energi
ppr = pred_peak_result.groupby([pred_peak_result.index]).mean()
ppr
# Net Peak Area
pnr = pred_npa_result.groupby([pred_npa_result.index]).mean()
pnr
# Aktivitas Radioaktif
ar = act_result.groupby([act_result.index]).mean()
ar
# ## Evaluasi program
# ### Keseluruhan program
# #### Root mean square error
rmse_score
# ### Evaluasi per-preparat
# #### Standar deviasi
# Puncak Energi
peak_std
# Net Peak Area
npa_std
# Aktivitas Radioaktif
act_std
# #### Normalized root mean square_mean
# Puncak Energi
peak_nrmse_mean
# Net Peak Area
npa_nrmse_mean
# ## Kesalahan literatur rata-rata
# Puncak Energi Preparat
kl_peak
# Aktivitas Radioaktif
kl_act
Top Related