otomasi penentuan nilai radioaktivitas radioisotop …

154
OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP 241 Am, 60 Co, 137 Cs, DAN 22 Na 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.

Upload: others

Post on 24-Oct-2021

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 2: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 3: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 4: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 5: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 6: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 7: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 8: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 9: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 10: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 11: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 12: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 13: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 14: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 15: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 16: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 17: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 18: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 19: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 20: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 21: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 22: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 23: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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)

Page 24: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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].

Page 25: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 26: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 27: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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]:

Page 28: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 29: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 30: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 31: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 32: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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 𝑝𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛/𝑑𝑒𝑡𝑖𝑘

Page 33: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 34: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

𝜆

Page 35: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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 (𝑠)

Page 36: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 37: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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].

Page 38: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 39: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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].

Page 40: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 41: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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]

Page 42: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 43: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 44: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 45: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 46: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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]

Page 47: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 48: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 49: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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,

Page 50: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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)

Page 51: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 52: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 53: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 54: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 55: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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-

Page 56: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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,

Page 57: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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].

Page 58: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 59: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 60: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 61: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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]:

Page 62: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 63: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 64: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 65: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 66: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 67: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 68: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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,

Page 69: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 70: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

54

Gambar 3. 2 Flow-chart kerja program

Page 71: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 72: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 73: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 74: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 75: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 76: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 77: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 78: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 79: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS 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.

Page 80: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 81: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 82: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 83: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS 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-

Page 84: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 85: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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]:

Page 86: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 87: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 88: OTOMASI PENENTUAN 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.

Page 89: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 90: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 91: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 92: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 93: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 94: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 95: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 96: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 97: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 98: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 99: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 100: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 101: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 102: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 103: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 104: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 105: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 106: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 107: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 108: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 109: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 110: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 111: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 112: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 113: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 114: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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:

Page 115: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 116: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 117: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 118: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 119: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 120: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 121: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 122: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 123: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 124: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 125: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 126: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 127: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 128: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 129: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 130: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 131: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 132: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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].

Page 133: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 134: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 135: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 136: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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.

Page 137: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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)

Page 138: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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)

Page 139: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 140: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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]

Page 141: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 142: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 143: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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'}

Page 144: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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))

Page 145: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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))

Page 146: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 147: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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]

Page 148: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 149: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 150: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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,

Page 151: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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']

Page 152: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 153: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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

Page 154: OTOMASI PENENTUAN NILAI RADIOAKTIVITAS RADIOISOTOP …

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