• Tidak ada hasil yang ditemukan

IMPLEMENTASI NATURAL LANGUAGE PROCESSING PADA SISTEM CHATBOT INFORMASI SAHAM DENGAN ALGORITMA LONG SHORT-TERM MEMORY (LSTM) DAN FUZZY STRING MATCHING

N/A
N/A
Protected

Academic year: 2022

Membagikan "IMPLEMENTASI NATURAL LANGUAGE PROCESSING PADA SISTEM CHATBOT INFORMASI SAHAM DENGAN ALGORITMA LONG SHORT-TERM MEMORY (LSTM) DAN FUZZY STRING MATCHING"

Copied!
70
0
0

Teks penuh

(1)

IMPLEMENTASI NATURAL LANGUAGE PROCESSING PADA SISTEM CHATBOT INFORMASI SAHAM DENGAN ALGORITMA

LONG SHORT-TERM MEMORY (LSTM) DAN FUZZY STRING MATCHING

SKRIPSI

AZMITHA AZNI 171402104

PROGRAM STUDI S1-TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2022

(2)

IMPLEMENTASI NATURAL LANGUAGE PROCESSING PADA SISTEM CHATBOT INFORMASI SAHAM DENGAN ALGORITMA

LONG SHORT-TERM MEMORY (LSTM) DAN FUZZY STRING MATCHING

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

AZMITHA AZNI 171402104

PROGRAM STUDI S1-TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2022

(3)
(4)

PERNYATAAN

IMPLEMENTASI NATURAL LANGUAGE PROCESSING PADA SISTEM CHATBOT INFORMASI SAHAM DENGAN ALGORITMA

LONG SHORT-TERM MEMORY (LSTM) DAN FUZZY STRING MATCHING

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 11 Januari 2022

Azmitha Azni 171402104

(5)

UCAPAN TERIMAKASIH

Segala puji serta syukur penulis ucapkan atas kehadirat Allah SWT, karena atas rahmat- Nya penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Skripsi ini penulis persembahkan kepada kedua orangtua penulis, Ayah Alm.

Zulhadi Ritonga dan Ibu Nuraini Dalimunthe, S.Pd yang selalu memeberikan doa, dukungan dan kasih sayang yang tak terhingga. Begitu juga dengan kakak penulis dr.

Widi Astari, abang ipar penulis dr. Ilham Wahyudi dan adik penulis Bripda Rafly Nelwan yang selalu menjadi semangat untuk penulis dalam menyelesaikan penulisan skripsi ini. Adapun pada kesempatan ini penulis ingin mengucapkan terimakasih yang sebesar-besarnya kepada:

1. Bapak Dr. Muryanto Amin, S.Sos., M.Si selaku Rektor Universitas Sumatera Utara.

2. Ibu Dr. Maya Silvi Lydia, M.Sc selaku Dekan Fasilkom-TI USU.

3. Ibu Sarah Purnamawati, ST., M.Sc., selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

4. Bapak Dedy Arisandi, ST., M. Kom.selaku Sekretaris Program Studi S1 Teknologi Informasi Universitas Sumatera dan juga selaku Dosen Pembimbing I dan Ibu Dr.

Erna Budhiarti Nababan, M. IT., selaku Dosen Pembimbing 2 yang telah banyak meluangkan waktu, pemikiran, motivasi, kritik dan saran kepada penulis.

5. Bapak Ivan Jaya, S.Si., M.Kom. dan Bapak Indra Aulia, S.TI., M.Kom. selaku Dosen Pembanding yang telah memberikan kritik dan saran yang membangun dalam proses penyempurnaan skripsi ini.

6. Staff dan pegawai Fasilkom-TI Universitas Sumatera Utara yang membantu segala urusan administasi dalam menyelesaikan skripsi.

7. Sahabat dari kecil Rafika Elvirada yang selalu menemani penulis dan selalu memberikan dukungan dan semangat kepada penulis dan sudah penulis anggap seperti keluarga sendiri.

8. Sahabat seperjuangan semasa perkuliahan Lisa Ayuning Tias, Theodora Rini Ketaren, Firda Mega Tasya Siregar, Winari Anggani, Arinda Bella Putri Manik,

(6)

Rizki Amanda Putri, Nabila Sagita dan Indah Ramadani yang selalu memberikan semangat dan saran dalam menyelesaikan penyusunan skripsi ini.

9. Sahabat penulis yang menemani mulai dari masa MTs dan selalu memberikan dukungan dan semangat Windy Mulya Putri, Liana Febriyanti, Inda Astri br Sembiring, Sauki Rizki, Ridho Herlambang, Neza Hazaq Albar, Wahyu Dinata dan Yuda Pratama.

10. Penulis mengucapkan terima kasih kepada teman-teman angkatan 2017, khususnya KOM B yang telah menemani, memotivasi, dan telah sama-sama berjuang bersama penulis pada masa perkuliahan.

11. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis tuliskan satu persatu yang telah membantu dalam penyelesaian skripsi ini.

Semoga Allah SWT melimpahkan berkah, rahmat, dan hidayahnya kepada semua yang telah memberikan bantuan, perhatian dan dukungan pada penulis dalam menyelesaikan skripsi ini.

Medan, 11 Januari 2022

Penulis

(7)

ABSTRAK

Banyak cara yang dapat digunakan dalam berinvestasi, salah satunya adalah dengan berinvestasi saham. Secara umum, saham dapat diartikan semacam bukti kepemilikan seseorang atas sebuah perusahaan atau badan usaha. Bursa Efek Indonesia (BEI) telah melihat perkembangan dalam tiga tahun terakhir, pertumbuhan investor pasar modal Indonesia didominasi oleh anak muda, terutama generasi milenial dan GenZ. Salah satu penyebab perkembangan saham sangat cepat dikarenakan penggunaan smartphone dalam jual beli saham yang memudahkan para kaum milenial dalam berinvestasi.

Sarana informasi mengenai saham dapat dicari melalui halaman website ataupun melalui aplikasi sekuritas. Akan tetapi, hal tersebut sangat memakan waktu dikarenakan para investor harus masuk ke berbagai situs link untuk mendapatkan informasi mengenai saham. Dan juga para investor membutuhkan komunikasi dua arah untuk menanyakan informasi agar lebih efisien dan interaktif. Untuk mendukung kebutuhan informasi yang akurat dan up-to-date terkait dengan informasi saham, maka diperlukan sebuah sistem berbasis teknologi informasi yang dapat memberikan kemudahan bagi para investor dalam menampilkan ataupun merangkum dengan baik informasi mengenai saham. Penggunaan algoritma Long Short-Term Memory basis Recurrent Neural Network dalam pembuatan chatbot akan memprediksi label secara akurat dan tepat. Kemudian, dalam menampilkan response yang tepat chatbot akan dibantu oleh algoritma pencocokan string yaitu algoritma Fuzzy String Matching dalam mencari pola pertanyaan yang tepat. Pengujian ini menghasilkan sebuah model dengan accuracy 98.58% dan loss sebesar 0.059. Dengan menerapkan LSTM dan Fuzzy String Matching menghasilkan chatbot yang memiliki jawaban akurat dengan tingkat akurasi 95%.

Kata Kunci : Saham, Chatbot, Recurrent Neural Network, Long Short-Term Memory, Fuzzy String Matching

(8)

IMPLEMENTATION OF NATURAL LANGUAGE PROCESSING ON STOCK INFORMATION CHATBOT SYSTEM WITH LONG SHORT-TERM MEMORY (LSTM) AND FUZZY STRING MATCHING ALGORITHM

ABSTRACT

There are many ways that can be used to invest, one of which is by investing in stocks.

In general, stocks can be interpreted as evidence of a person's ownership of a company or business entity. The Indonesia Stock Exchange (IDX) has seen developments in the last three years, the growth of Indonesian capital market investors is dominated by young people, especially the millennial generation and GenZ. One of the reasons for the rapid development of stocks is the use of smartphones in selling stocks, which makes it easier for millennials to invest. Information on stocks can be searched through the website page or through the securities application. However, this is very time consuming because investors have to go to various sites to get information about stocks.

And also investors need two-way communication to ask for information to be more efficient and interactive. To support the need for accurate and up-to-date information related to shares, an information technology-based system is needed that can provide convenience for investors in displaying or properly summarizing information about shares. The use of Long Short-Term Memory based on Recurrent Neural Network in making chatbots will predict labels accurately and precisely. Then, in displaying the right response, the chatbot will be assisted by string matching algorithm, namely the Fuzzy String Matching algorithm in finding the right pattern. This test produces a model with an accuracy of 98.58% and a loss of 0.059. By applying LSTM and Fuzzy String Matching, it produces a chatbot that has accurate answers with an accuracy rate of 95%.

Keywords : Stock, Chatbot, Recurrent Neural Network, Long Short-Term Memory, Fuzzy String Matching

(9)

DAFTAR ISI

Hal.

PERSETUJUAN I

PERNYATAAN II

UCAPAN TERIMAKASIH III

ABSTRAK V

ABSTRACT VI

DAFTAR ISI VII

DAFTAR TABEL IX

DAFTAR GAMBAR X

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 3

1.3. Batasan Masalah 3

1.4. Tujuan Penelitian 4

1.5. Manfaat Penelitian 4

1.6. Metodologi Penelitian 4

1.7. Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 7

2.1. Natural Language Processing 7

2.2. Chatbot 8

2.3. Recurrent Neural Network (RNN) 9

2.4. Long Short Term Memory (LSTM) 10

2.5. Fuzzy String Matching 13

2.6. Application Programming Interface (API ) 14

(10)

2.7. Peneltian Terdahulu 16

BAB 3 ANALISIS DAN PERANCANGAN 20

3.1. Data yang digunakan 20

3.2. Perancangan Sistem 21

3.2.1 Arsitektur Umum 21

3.3. Metode Evaluasi 28

3.4. Diagram Aktivitas Sistem 29

3.4.1 Diagram Aktivitas Home 29

3.4.2 Diagram Aktivitas Chatbot 29

3.5. Perancangan Antarmuka Sistem 30

3.5.1 Rancangan Tampilan Profil 31

3.5.2 Rancangan Tampilan Halaman Chat 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN 34

4.1. Implementasi Sistem 34

4.2. Pelatihan Model LSTM 37

4.3. Pengujian Model LSTM 39

4.4. Hasil Pengujian Model LSTM 41

4.5. Pengujian Sistem 41

BAB 5 KESIMPULAN DAN SARAN 44

5.1. Kesimpulan 44

5.2. Saran 44

DAFTAR PUSTAKA 45

LAMPIRAN 47

(11)

DAFTAR TABEL

Hal.

Tabel 2.1 Kategori API 15

Tabel 2.2 Penelitian Terdahulu 17

Tabel 3.1 Contoh Proses Case Folding 23

Tabel 3.2 Contoh Proses Filtering 23

Tabel 3.3 Contoh Proses Stemming 23

Tabel 3.4 Contoh Proses Stopword Removal 24

Tabel 3.5 Contoh Proses Stopword Removal 24

Tabel 3.6 Pembagian Dataset 25

Tabel 3.7 Contoh Proses Tokenization 25

Tabel 3.8 Contoh Proses Indexing Word Vocabulary 25 Tabel 3.9 Contoh Proses Sequence of Integer 26 Tabel 3.10 Hasil Konversi Teks Dalam Bentuk Matriks 26

Tabel 4.1 Contoh Data Uji Pertanyaan 40

Tabel 4.2 Contoh Data Uji Menjadi Sequence of Integer dan Padding 40

Tabel 4.3 Hasil Pengujian Model LSTM 41

Tabel 4.4 Hasil Pengujian Jawaban Chatbot 42

(12)

DAFTAR GAMBAR

Hal.

Gambar 2.1 Proses Perulangan Informasi Pada RNN (Olah, 2015) 9 Gambar 2.2 RNN Terdiri Dari Banyak Salinan Jaringan Yang Sama (Olah, 2015) 9

Gambar 2.3 Layer Tanh pada RNN (Olah, 2015) 10

Gambar 2.4 Perulangan dengan Empat Layer Pada LSTM (Olah, 2015) 11

Gambar 2.5 Skema Konektivitas API Antar Software 14

Gambar 3.1 Data Excel 20

Gambar 3.2 Arsitektur Umum 22

Gambar 3.3 Diagram Aktivitas Home 29

Gambar 3.4 Diagram Aktivitas Chatbot 30

Gambar 3.5 Tampilan Profil 31

Gambar 3.6 Tampilan Halaman Chat 32

Gambar 4.1 Tampilan Halaman Profil 35

Gambar 4.2 Tampilan Awal Chatbot 35

Gambar 4.3 Tampilan Menu Utama Chatbot 36

Gambar 4.4 Tampilan Menu Belajar saham 36

Gambar 4.5 Tampilan Menu Daftar Saham 37

Gambar 4.6 Tampilan Menu Pertanyaan 37

Gambar 4.7 Label Data Pertanyaan 38

Gambar 4.8 Label Data Pertanyaan Dalam Bentuk Angka 38

Gambar 4.9 Performa Akurasi Model 39

Gambar 4.10 Performa Loss Model 39

(13)

BAB 1 PENDAHULUAN

1.1. Latar Belakang

Investasi adalah kegiatan penanaman modal yang dilakukan oleh investor, masing- masing investor baik luar negeri dan domestik di berbagai bidang usaha yang terbuka untuk penanaman modal, dengan tujuan untuk menghasilkan keuntungan (Salim dan Sutrisno). Ada banyak cara yang bisa digunakan untuk berinvestasi, salah satunya adalah melalui investasi saham. Secara umum, saham dapat diartikan sebagai bukti kepemilikan seseorang terhadap suatu badan atau badan usaha.

Bursa Efek Indonesia (BEI) telah melihat proses perkembangan dalam tiga tahun terakhir, peningkatan pembeli pasar modal Indonesia didominasi oleh kaum muda, khususnya kaum milenial dan GenZ. Pengumuman ini juga didukung melalui Direktur Pengembangan BEI, Hasan Fawzi, yang menyatakan bahwa peningkatan investor antara yang berusia di bawah 25 tahun, kemudian kenaikan tertinggi berikutnya berusia 26 hingga 30 tahun, diikuti investor berusia 31-40 tahun dan investor terakhir dengan umur 40 tahun keatas.

Dengan fakta bahwa perkembangan saham sangat pesat dan bisa dikatakan anak-anak milenial mendominasi perkembangan saham dalam tiga tahun terakhir ini.

Salah satu penyebab perkembangan saham sangat cepat dikarenakan penggunaan smartphone dalam jual beli saham yang memudahkan para kaum milenial dalam berinvestasi. Selain itu, dengan banyaknya sekali berita-berita yang muncul mengenai saham membuat para milenial juga sangat menikmati untuk terus mengikuti perkembangan dari waktu ke waktu.

Sarana informasi mengenai saham dapat dicari melalui halaman website ataupun melalui aplikasi sekuritas. Akan tetapi, hal tersebut sangat memakan waktu dikarenakan para investor harus masuk ke berbagai situs link untuk mendapatkan informasi mengenai saham. Dan juga para investor membutuhkan komunikasi dua arah untuk menanyakan informasi agar lebih efisien dan interaktif. Untuk mendukung kebutuhan informasi yang akurat dan up-to-date terkait dengan informasi saham, maka diperlukan sebuah sistem berbasis teknologi informasi yang dapat memberikan

(14)

kemudahan bagi para investor dalam menampilkan ataupun merangkum dengan baik informasi mengenai saham.

Sebelumnya, penelitian sistem chatbot telah banyak digunakan untuk membantu mempermudah mendapatkan informasi. Salah satu penelitian yang dimanfaatkan oleh Zuraiyah, et, al (2019) adalah Implementasi Chatbot pada Pendaftaran Siswa Baru Menggunakan Recurrent Neural Network. Pada penelitian ini berupaya untuk membantu bagi calon pendaftar agar lebih mudah untuk mendapatkan informasi terbaru terkait dengan pendaftaran mahasiswa baru. Penelitian ini menggunakan pendekatan Recurrent Neural Network dalam training data yang dapat membantu menemukan response yang sesuai dari pertanyaan user. File JSON digunakan untuk dataset dan penggunaan program perangkat lunak Python untuk membantu membangun dan pengembangan sistem ini. Pengujian ini memiliki akurasi 99%, presisi 95%, dan recall 92%.

Lalu penelitian selanjutnya ialah Kurniawan, B (2021) yaitu berjudul Chatbot Eksplorasi Ayat Al-Quran Menggunakan Algoritme Bidirectional Long Short-Term Memory (Bi-LSTM) dan Fuzzy String Matching. Pada penelitian ini bertujuan untuk menghasilkan chatbot yang mampu menjawab pertanyaan pengguna seputar Al-Quran secara lebih interaktif, informasi yang lebih lengkap serta dapat memberikan jawaban yang sesuai dengan menerapkan algoritme Bidirectional Long Short-Term Memory dan Fuzzy String Matching. Dengan menerapkan Bi-LSTM dan Fuzzy String Matching menghasilkan chatbot yang memiliki jawaban akurat dengan tingkat akurasi 94%.

Berdasarkan latar belakang yang telah dipaparkan, penulis bermaksud menggunakan pendekatan Natural Language Processing dengan algoritma Long Short- Term Memory (LSTM) basis Recurrent Neural Network dalam pembuatan chatbot informasi saham. RNN telah menunjukkan performa yang sangat baik di bidang Natural Language Processing (NLP) dan terutama pemrosesan bahasa alami yang dalam kasus ini adalah chatbot. Recurrent Neural Network (RNN) atau jaringan saraf berulang dirancang untuk digunakan pada data sekuensial yang mana pemrosesannya dipanggil secara berulang-ulang. Long Short-Term Memory (LSTM) merupakan tipe dari RNN yang cukup baik dalam merekam long-term dependencies (ketergantungan jaka panjang). Secara fundamental, LSTM tidak memiliki perbedaan arsitektur dari RNN,

(15)

namun pada dasarnya memiliki fungsi yang sama yaitu untuk mengkomputasi hidden state. LSTM mampu menggabungkan state sebelumnya, memori saat ini dan input.

Teknik fuzzy string matching adalah teknik pencarian string yang penggunaan sistem pendekatan melakukan pendekatan terhadap pola string yang dicari. Teknik ini tercakup di dalam kelas pencocokan yang melakukan pencarian tehadap pola string yang memiliki kesamaaan dan yang mendekati dengan string lain didalam sebuah kamus dan merupakan kategori dari inexact matching (Aradea & Dewanto, 2007).

Penggunaan algoritma Long Short-Term Memory dalam pembuatan chatbot akan memprediksi label secara akurat dan tepat. Kemudian, dalam menampilkan response yang tepat chatbot akan dibantu oleh algoritma pencocokan string yaitu algoritma fuzzy string matching dalam mencari pola pertanyaan yang tepat. Oleh karena itu, pada penelitian ini penulis mengajukan penelitian dengan judul “IMPLEMENTASI NATURAL LANGUAGE PROCESSING PADA SISTEM CHATBOT INFORMASI SAHAM DENGAN ALGORITMA LONG SHORT-TERM MEMORY (LSTM) DAN FUZZY STRING MATCHING.”

1.2. Rumusan Masalah

Untuk mendapatkan informasi mengenai saham di internet, dapat dicari melalui halaman website ataupun melalui aplikasi sekuritas. Akan tetapi, hal tersebut sangat memakan waktu dikarenakan para investor harus masuk ke berbagai situs link untuk mendapatkan informasi mengenai saham. Oleh karena itu, diperlukan suatu pendekatan untuk mempermudah pengguna dalam mendapatkan informasi mengenai saham.

1.3. Batasan Masalah

Batasan masalah pada penelitian ini adalah sebagai berikut:

1. Data yang diambil berupa E-book dan PDF seputar informasi saham yang bereferensi dari lembaga Bursa Efek Indonesia (BEI) dan Otoritas Jasa Keuangan (OJK).

2. Topik pembicaraan hanya dibatasi seputar informasi saham pemula.

3. Saham yang ditampilkan secara real-time adalah Indeks Harga Saham Gabungan (IHSG). Namun, terdapat rentang waktu 5 sampai 10 menit dari pusat data.

(16)

4. Bot hanya bisa melakukan tanya jawab interaktif seputar apa itu investasi, apa itu saham, keuntungan saham, strategi saham, cara berinvestasi saham, analisis saham pemula, indeks saham, sektor saham dan harga saham secara real-time.

5. Chatbot hanya melayani percakapan dalam bahasa Indonesia.

1.4. Tujuan Penelitian

Tujuan penelitian ini adalah untuk mengimplementasikan Long Short-Term Memory dan Fuzzy String Matching dalam pembuatan chatbot mengenai informasi saham.

1.5. Manfaat Penelitian

Manfaat dari penelitian tugas akhir ini, antara lain :

1. Memberikan kemudahan kepada pengguna dalam mencari informasi mengenai saham.

2. Dapat menghemat waktu dalam melakukan tanya jawab seputar saham tanpa harus masuk ke website atau aplikasi sekuritas.

1.6. Metodologi Penelitian

Adapun tahapan-tahapan yang akan dilakukan pada penelitian ini adalah sebagai berikut:

1. Studi Literatur

Proses yang dicapai pada tingkat ini adalah mengumpulkan dan membaca data yang diterima dari buku, skrip, jurnal, dan berbagai kumpulan data yang berbeda.

Informasi terkait dengan algoritma yang terkait meliputi Recurrent Neural Network, Long Short-Term Memory (LSTM), natural language processing, fuzzy string matching, chatbot dan pemrograman Python.

2. Analisis dan Perancangan Sistem

Pada proses ini, evaluasi struktur referensi yang telah diperoleh dalam tingkat sebelumnya dilakukan untuk mendapatkan informasi tentang pendekatan yang diterapkan, khususnya yakni algoritma Long Short Term Memory dengan bantuan algoritma pencocokan string yaitu fuzzy string matching. Yang kemudian sistem dirancang menggunakan perancangan arsitektur yang akan dipakai di dalam sistem, dataset yang akan dipakai di dalam sistem, dan desain antarmuka sistem.

(17)

3. Implementasi Sistem

Pada proses ini, implementasi dilakukan dalam bentuk kode program terutama didasarkan pada evaluasi dan perancangan sistem yang telah diimpelementasikan sebelumnya.

4. Pengujian

Pada proses ini akan dilakukan proses pengujian dengan implementasi Natural Language Processing menggunakan algoritma Long Short Term Memory dan fuzzy string matching dalam menghasilkan teks jawaban sesuai.

5. Penyusununan Laporan

Setelah proses pengujian, maka proses terakhir yaitu dilakukan penyusunan laporan.

Pada proses ini akan dilakukan penyusunan laporan dari keseluruhan penelitian yang telah dilakukan sebelumnya.

1.7. Sistematika Penulisan

Sistematika penulisan kajian ini meliputi lima bagian utama, yaitu:

Bab 1: Pendahuluan

Pada bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

Bab 2: Landasan Teori

Bab ini ini mencakup teori-teori yang digunakan untuk mengenali masalah-masalah yang disebutkan dalam penelitian ini. Teori yang terkait Recurrent Neural Network, Long Short Term Memory (LSTM), fuzzy string matching dan natural language processing dalam pembuatan chatbot.

Bab 3: Analisis dan Perancangan Sistem

Pada bab ini akan menjelaskan analisis dalam penerapan metode Recurrent Neural Network dan Long Short Term Memory untuk pembuatan chatbot. Bab ini juga membahas arsitektur umum, hingga proses identifikasi algoritma Long Short-Term Memory basis dari Recurrent Neural Network dengan bantuan pencocokan string yaitu fuzzy string matching menggunakan pemrograman Python.

(18)

Bab 4: Implementasi dan Pengujian

Bab ini berisi tentang implementasi dari perancangan sistem yang telah dijabarkan sebelumnya pada bab 3. Pada bab ini juga akan dipaparkan hasil dari pengujian sistem yang telah dibangun.

Bab 5: Kesimpulan dan Saran

Bab ini berisi ringkasan serta kesimpulan dari rancangan yang telah dibahas. Bagian akhir dari bab ini akan berisi saran yang diajukan untuk pengembangan penelitian selanjutnya.

(19)

BAB 2

LANDASAN TEORI

2.1. Natural Language Processing

Natural Language Processing (NLP) adalah pendekatan pemrograman di mana sistem komputer dapat menampilkan output dalam bentuk bahasa manusia atau dalam artian mempermudah interaksi antara manusia dan mesin (Iswandi et al., 2013). Dalam mengolahnya dibutuhkan bahasa yang sebelumnya telah dipahami oleh sistem agar pertanyaan dari user tersebut dapat dipahami dengan baik melalui sistem. Fungsi NLP adalah untuk menampilkan response yang tepat terutama didasarkan sepenuhnya pada pengetahuan mesin tentang pemahaman bahasa manusia (Alamanda et al., 2016).

Pustejovsky & Stubbs (2012) mendefinisikan bahwa ada banyak bidang studi utama di dalam bidang NLP, termasuk:

1. Sistem Penjawab Pertanyaan (Question Answering Systems). Merupakan potensi sistem untuk menjawab pertanyaan yang diberikan melalui pengguna. Dengan QAS, pengguna dapat langsung bertanya dalam bahasa herbal yang sering mereka gunakan, baik itu bahasa Inggris, Mandarin, atau Indonesia. Dengan memasukkan frasa kunci ke dalam browser pencarian.

2. Ringkasan (Summarization). Yaitu pembuatan rangkuman dari sekumpulan data dengan cepat. Dengan menggunakan perangkat lunak ini, pengguna dapat dibantu dalam mengubah file konten tekstual besar menjadi ringkas.

3. Terjemahan Mesin (Machine Translation). Apa yang dapat dihasilkan sistem ini adalah perangkat lunak yang dapat memahami atau mengenali bahasa manusia dan dapat menerjemahkannya ke dalam bahasa yang berbeda. Yang di dalamnya adalah Google Translate yang jika Anda perhatikan terus meningkat dalam menerjemahkan atau mendekode bahasa. BabelFish adalah contoh lain yang dapat menerjemahkan bahasa secara aktual.

4. Pengenalan Ucapan (Speech Recognition). Ini adalah departemen NLP yang sangat rumit. Metode penciptaan yang digunakan untuk telepon atau sistem komputer dalam bahasa lisan sudah banyak dilakukan. Pertanyaan dan instruksi adalah bahasa yang biasa digunakan.

(20)

5. Klasifikasi dokumen (Document classification). Penelitian di bidang NLP yang memiliki hasil maksimal. Fungsi utama dari perangkat lunak ini adalah untuk menentukan di mana area terbaik untuk file yang baru saja dimasukkan ke dalam sistem. Ini sangat bermanfaat dalam penyaringan surat sampah, klasifikasi artikel informasi, dan aplikasi penilaian film.

2.2. Chatbot

Chatbot adalah perangkat lunak komputer yang dirancang untuk mempresentasikan komunikasi atau percakapan interaktif dengan user (pengguna) melalui pembacaan, suara, dan gambar. Percakapan yang muncul antara sistem komputer dan manusia adalah berbagai jenis tanggapan dari data yang telah tersimpan di dalam database perangkat lunak di komputer. Kemampuan sistem komputer untuk menyimpan data dalam jumlah besar tanpa melupakan data yang disimpan dicampur dengan manfaat yang jauh lebih mudah untuk mengundang pengaturan ulang data secara langsung daripada mencari data sendiri dan terutama berdasarkan pada dasarnya sendiri memperoleh pengetahuan tentang kapasitas.

Chatbot mencakup 3 kombinasi, dimana 3 kombinasi tersebut membentuk chatbot (Ines Guzman, 2016), antara lain:

a) Antarmuka Pengguna (User Interface)

Antarmuka pengguna adalah antarmuka di dalam chatbot yang menjadi jembatan antara chatbot dan user yang berinteraksi. Antarmuka pengguna harus mampu menawarkan kesenangan yang lebih tinggi bagi pelanggan saat berinteraksi dengan chatbot. Melalui aplikasi perpesanan yang sepenuhnya berbasis teks.

b) Kecerdasan Buatan (Artificial Intelligence)

AI atau kecerdasan buatan akan membantu membuat program dapat dipahami dalam setiap interaksi yang terjadi dengan pelanggan, karena chatbot adalah salah satu fitur program mesin yang paling baik di antara manusia dan sistem komputer.

c) Integrasi

Integrasi dengan struktur yang berbeda dapat meningkatkan kemampuan chatbot.

Mengintegrasikan chatbot dengan struktur yang berbeda membuatnya mendapatkan catatan tambahan. Dengan cara ini, chatbot dapat membuat catatan tambahan untuk diberikan kepada pengguns, seperti pada penelitian ini, chatbot dapat diterapkan di salah satu media sosial yaitu Telegram.

(21)

2.3. Recurrent Neural Network (RNN)

Recurrent Neural Network (RNN) adalah komunitas saraf berulang atau jaringan saraf tiruan yang mana pemrosesannya disebut berulang kali ke sistem input lama yang sama, khususnya data sekuensial (Exel, et al, 2020). RNN juga sering disebut sebagai komunitas dalam komunitas saraf di mana ada loop sebagai koneksi komentar di dalam komunitas. Singkatnya, RNN adalah bagian dari lingkaran kerabat Neural Network sendiri dalam memproses data sekuensial. Cara RNN dapat menyimpan informasi dari masa lalu adalah dengan menggunakan perulangan (looping ) di arsitekturnya, dengan maksud untuk menjaga informasi tetap disimpan secara robotik. Berikut adalah contoh visualisasi cara kerja RNN.

Gambar 2.1 Proses Perulangan Informasi Pada RNN (Olah, 2015)

Visualisasi contoh potongan dari sebuah RNN. Pada proses RNN tersebut menerima input xt dan menampikan output ht . Proses alur loop tersebut memungkinkan informasi untuk dapat diteruskan dari satu langkah ke langkah berikutnya.

Gambar 2.2 RNN Terdiri Dari Banyak Salinan Jaringan Yang Sama (Olah, 2015) RNN memiliki kecenderungan dalam pengingkatan peningkatan nilai gradien yang dalam pemrosesannya menghasilkan tabrakan antara nilai gradien dan

(22)

menyebabkan masalah, khususnya nilai gradien menjadi semakin tidak pasti atau bahkan dapat menghilangkan nilai gradien nilai yang terkumpul. Untuk mengatasi hal ini, banyak penelitian telah mengembangkan RNN yang siap dengan Long Short-Term Memory (LSTM) dan lainnya.

2.4. Long Short Term Memory (LSTM)

LSTM adalah salah satu jenis Recurrent Neural Network (RNN) di mana perubahan dilakukan pada RNN melalui penambahan memory cell yang dapat menyimpan masukan untuk waktu yang lama (Manaswi, 2018). Long Short Term Memory (LSTM) adalah jenis yang memiliki keunikan dari Recurrent Neural Network (RNN) yang dapat mengamati dependensi periode waktu yang panjang. LSTM cocok digunakan pada masalah yang memiliki ketergantungan jangka waktu yang panjang. Mengingat fakta periode waktu yang lama adalah perilaku bawaan LSTM. LSTM juga memiliki bentuk rangkaian seperti bentuk RNN, perbedaannya terletak pada bentuk struktur pengulangan. Layer tanh digunakan pada RNN sebagai perulangan jaringan satu layer sederhana, proses layer tanh dapat dilihat seperti pada gambar 2.3.

Gambar 2.3 Layer Tanh pada RNN (Olah, 2015) Adapun persamaan tanh diuraikan pada persamaan 2.1.

𝑡𝑎𝑛ℎ(𝑥) = 2𝜎(2𝑥) − 1 (2.1) Dimana :

𝜎 = fungsi aktivasi sigmoid 𝑥 = data input

Sedangkan, pada proses LSTM pada perulangannya memiliki empat layer pada modelnya, dapat dilihat seperti pada gambar 2.4.

(23)

Gambar 2.4 Perulangan dengan Empat Layer Pada LSTM (Olah, 2015) Persamaan metode LSTM menurut Hochreiter & Schmidhuber (1997) diuraikan pada persamaan 2.2

𝑓𝑡 = 𝜎(𝑊𝑓. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑓 (2.2) Dimana :

𝑖𝑡 = 𝜎(𝑊𝑖. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑖) 𝐶𝑡 ̅ = 𝑡𝑎𝑛ℎ(𝑊𝐶. [ℎ𝑡−1, 𝑥𝑡] + 𝑏c) 𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶𝑡̅ )

𝑜𝑡 = 𝜎(𝑊𝑜. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑜) ℎ𝑡 = 𝑜𝑡 ∗ tanh (C𝑡)

Kunci utama dalam LSTM adalah cell state. Cell state adalah garis horizontal yang menghubungkan semua lapisan keluaran (output layer) di LSTM. LSTM memiliki potensi untuk menghapus dan menambahkan informasi dari cell state. Proses ini disebut sebagai gerbang (gates). Gates sebagai pengatur apakah informasi bisa diteruskan atau diberhentikan. Gates termasuk lapisan sigmoid (sigmoid layer) dan operasi perkalian pointwise (pointwise multiplication operation). Keluaran dari lapisan sigmoid adalah angka 1 atau 0 yang menunjukkan apakah informasi dapat diteruskan atau tidak. Angka nol menunjukkan bahwa tidak ada informasi yang dapat diteruskan, namun angka satu menunjukkan bahwa setiap informasi dapat diteruskan. Adapun proses penjabaran dari jalannya LSTM, yaitu sebagai berikut:

a) Forget Gates

Forget gates adalah yang yang menentukan informasi mana yang akan dihapus dari cell. Adapun yang akan diproses oleh forget gate layer yaitu ht-1 dan xt sebagai input,

(24)

dan menghasilkan output berupa angka 0 atau 1 pada cell state Ct-1. Berikut persamaan dari forget gate dapat dilihat pada persamaan 2.3.

𝑓𝑡 = 𝜎(𝑊𝑓. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑓 (2.3) b) Input Gates Layer dan Tanh Layer

Proses yang digunakan untuk memutuskan informasi apa yang akan disimpan di cell state. Teknik ini dibagi menjadi dua bagian. Yang pertama adalah lapisan sigmoid (sigmoid layer)y ang dikenal sebagai lapisan gerbang masuk (input gate layer) untuk nilai mana yang akan diganti. Di bagian kedua, lapisan tanh (tanh layer) akan membuat satu kandidat dengan nilai C~ t , yang dapat ditambahkan ke cell state. Proses berikutnya adalah output dari lapisan gerbang masuk (input gate layer) dan lapisan tanh (tanh layer) akan disatukan untuk memperbaruhi cell state. Adapun persamaan dari input gate dapat dilihat pada persamaan 2.4.

𝑖𝑡 = 𝜎(𝑊𝑖. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑖) (2.4) Berikutnya diuraikan persamaan kandidat baru pada persamaan 2.5.

𝐶𝑡 ̅ = 𝑡𝑎𝑛ℎ(𝑊𝐶. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝐶) (2.5) c) Cell State

Proses ini akan menggantikan cell state yang lama, Ct-1, menjadi cell state baru, Ct.

Dengan mengalikan state lama dengan menggunakan ft, untuk menghapus informasi yang sebelumnya telah ditentukan pada langkah forget gate layer. Selanjutnya, menambahkan dengan it * C~t , nilai yang berguna dalam memperbaruhi state.

Persamaan cell state dapat dilihat pada persamaan 2.6.

𝐶𝑡 = 𝑓𝑡 ∗ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶𝑡 ̅ ) (2.6) d) Output Gates

Pada proses terakhir ini, teknik LSTM akan menentukan hasil keluaran (output).

Dimana outputnya harus sesuai dengan cell state yang telah diproses sebelumnya.

Pertama, lapisan sigmoid (sigmoid layer) mengambil keputusan yang merupakan bagian dari cell state yang menjadi output. Selanjutnya, output dari cell state dimasukkan kedalam tanh layer (untuk mengubah nilai menjadi antara -1 dan 1) dan dikalikan dengan sigmoid gate, agar output yang ditampilkan sesuai dengan yang kita tentukan sebelumnya. . Persamaan output gates dapat dilihat pada persamaan 2.7.

(25)

𝑜𝑡 = 𝜎(𝑊𝑜. [ℎ𝑡−1, 𝑥𝑡] + 𝑏𝑜) (2.7) 2.5. Fuzzy String Matching

Teknik fuzzy string matching adalah teknik pencarian string yang penggunaan sistem pendekatan melakukan pendekatan terhadap pola string yang dicari. Teknik ini tercakup di dalam kelas pencocokan yang melakukan pencarian tehadap pola string yang memiliki kesamaaan dan yang mendekati dengan string lain didalam sebuah kamus dan merupakan kategori dari inexact matching (Aradea & Dewanto, 2007).

Inexact string matching biasa juga disebut fuzzy string matching, merupakan pencocokan string secara samar, dalam artian dalam pencocokan string dimana string yang dicocokan memiliki pola kemiripan yang sama namun dalam penyusunan karakter berbeda (jumlah atau urutannya) namun string-string tersebut pada dasarnya memiliki kemiripan penulisan (approximate string matching) atau kemiripan ucapan (phonetic string matching). Inexact string matching dibagi menjadi dua, yaitu :

a. Approximate string matching (pencocokan string terutama didasarkan pada kesamaan penulisan adalah pencocokan string yang berdasarkan kemiripan dari aspek (jumlah karakter, susunan karakter di dalam korpus data). Tingkat Kesamaan ditentukan melalui jauh tidaknya perbedaan antara dua buah string berbeda yang dibandingkan dan kesamaan ini diputuskan melalui cara pemrogram (programmer).

b. Phonetic string matching (pencocokan string terutama didasarkan pada kesamaan ucapan adalah pencocokan string berdasarkan kemiripan pada aspek pengucapnnya meskipun ada perbedaan penulisan antara dua string yang dibandingkan.

Ada beberapa proses yang terdapat pada pendekatan teknik fuzzy string matching dalam melakukan pencocokan string, yaitu:

a. Ratio (R1) = Menghitung perbandingan nilai jarak kemiripan dengan menggunakan leven similarity.

b. Partial Ratio (R2) = Faktor pertama yang harus dilakukan adalah menemukan sub- string. Fungsi ini bekerja dengan mengambil string terpendek dan mencocokkannya dengan semua substring yang memiliki panjang yang sama.

c. Token Sort Ratio (R3) = Fungsi token sort ratio yaitu mengurutkan string sesuai abjad dan kemudian menggabungkannya. Fungsi ini bisa berguna ketika string yang akan dibandingkan memiliki ejaan yang sama tetapi tidak dalam urutan yang sama.

(26)

d. Token Set Ratio (R4) = Fungsi token ini paling cocok diterapkan pada sekumpulan string dengan perbedaan panjang yang signifikan.

2.6. Application Programming Interface (API )

API atau Application Programming Interface adalah sebuah software interface yang mana terdapat beberapa kumpulan intruksi yang tersimpan dalam bentuk library yang bertujuan agar bagaimana suatu aplikasi bisa berinteraksi menggunakan aplikasi lain.

Interface pada software adalah suatu entry points yang dipakai dalam mengakses semua resources yang terdapat pada software tersebut. Dengan adanya API, maka terdapat aturan bagaimana software dapat berinteraksi dengan software lain untuk mengakses resources melalui interface yang telah tersedia.

Gambar 2.5 Skema Konektivitas API Antar Software (What is an API?, 3Scale Networks, 2011)

Secara struktural, API adalah spesifikasi yang terutama didasarkan sepenuhnya pada struktur statistik, objek, fungsi, dengan parameter harus masuk ke sumber perangkat lunak. Dengan spesifikasi tersebut, akan tercipta sebuah interface yang dimiliki dengan menggunakan software untuk berkomunikasi antar aplikasi yang berbeda, dan API tersebut dapat digunakan dengan menggunakan berbagai bahasa pemrograman, atau hanya dengan menggunakan sebuah URL (Uniform Resource Locator ) yang telah disediakan dengan bantuan penggunaan situs web. API dapat dikategorikan ke dalam banyak kategori, yang terlihat dari abstraksi yang didefinisikan di dalam sistem. Kategori-kategori ini dapat dilihat pada tabel 2.1.

(27)

Tabel 2.1 Kategori API

Kategori API Deskripsi Contoh

Operating System Fungsi dasar API ini berguna untuk komputer melakukan proses seperti proses I/O, dan eksekusi program.

API for MS Windows

Programming Languages

Fungsi dasar API ini berguna untuk memperluas kapabilitas untuk melakukan eksekusi terhadap suatu bahasa pemrograman.

Java API

Application Services Fungsi dasar API ini bertujuan untuk mengakses data dan layanan yang disediakan oleh suatu aplikasi.

API for mySAP (BAPI/Business Application Programming Interface)

Infrastructure Services

Fungsi dasar API ini digunakan dalam mengakses infrastruktur dari suatu komputer.

Infrastruktur disini berupa komputer beserta peripheral seperti storage, aplikasi, dan lain-lain.

Amazon EC2 (Elastic Compute Cloud) untuk akses untuk virtual computing dan Amazon S3 (Simple Storage Service) untuk menyimpan data dengan jumlah besar.

Web Services Fungsi dasar API ini untuk mengakses content dan layanan yang disediakan oleh suatu web application.

Facebook Graph API yang berfungsi untuk mengakses informasi yang dapat dibagikan.

(28)

2.7.Peneltian Terdahulu

Su, et al (2017) yaitu yang berjudul A Chatbot Using LSTM-based Multi-Layer Embedding for Elderly Care. Pada penelitian ini, peneliti mengusulkan chatbot untuk perawatan lansia, yang mana chatbot dapat menemani dan mengobrol dengan orang tua untuk mengurangi kesepian mereka. Embedding multi-layer berbasis LSTM model digunakan untuk mengekstrak informasi semantik antara kata dan kalimat dalam satu giliran dengan banyak kalimat saat mengobrol dengan orang tua. Penelitian tersebut menghasilkan akurasi sebesar 79,96%.

Peneltian selanjutnya oleh Muangkammuen, (2018) yang berjudul AutomatedThai-FAQ Chatbot using RNN-LSTM. Pada penilitian ini, peneliti telah mengembangkan chatbot FAQ dengan LSTM dalam model jaringan saraf tiruan.

Chatbot ini menerima pertanyaan teks Thailand dan memberikan jawaban jika probabilitas keluaran lebih dari nilai ambang batas untuk memberikan jawaban yang benar. Hasil percobaan menunjukkan bahwa chatbot dapat mengenali 86,36%

pertanyaan dan jawaban dengan akurasi 93,2%.

Penelitian selanjutnya oleh Nugraha, Adhindya Trigha (2020) yaitu Aplikasi Pemesanan Travel Menggunakan Chatbot dengan Machine learning. Penelitian ini bertujuan untuk mempermudah pengguna untuk mendapatkan informasi seputar pemesanan tiket. Pada penelitian ini dikembangkan sebuah sistem chatbot berbasis web.

Algoritma yang digunakan dalam penelitian ini adalah algoritma Neural Network dan pendekatan Natural Language Processing. Chatbot mampu menjawab pertanyaan mengenai jadwal, harga, fasilitas, dan lain-lain dengan rata-rata akurasi yang didapatkan sebesar 83%.

Peneltian selanjutnya oleh Zuraiyah, et al (2019) yaitu Chatbot Pada Pendaftaran Mahasiswa Baru Menggunakan Recurrent Neural Network. Penelitian ini bertujuan untuk mempermudah para calon pendaftar untuk mendapatkan informasi secara up-to-date terkait dengan pendaftaran mahasiswa baru. Pada penelitian ini menggunakan metode Recurrent Neural Network untuk pelatihan data yang dapat membantu menemukan jawaban yang sesuai dari pertanyaan pengguna. JSON digunakan untuk menyimpan data serta menampilkan data-data yang tersimpan menggunakan perangkat lunak Python untuk membantu dalam pembuatan dan pengembangan aplikasi ini. Penelitian tersebut memiliki akurasi sebesar 99%, presisi sebesar 95%, dan recall sebesar 92%.

(29)

Penelitian selanjutnya oleh Kurniawan, B (2021) yaitu berjudul Chatbot Eksplorasi Ayat Al-Quran Menggunakan Algoritme Bidirectional Long Short-Term Memory (Bi-LSTM) dan Fuzzy String Matching. Pada penelitian ini bertujuan untuk menghasilkan chatbot yang mampu menjawab pertanyaan pengguna seputar Al-Quran secara lebih interaktif, informasi yang lebih lengkap serta dapat memberikan jawaban yang sesuai dengan menerapkan algoritme Bidirectional Long Short-Term Memory dan Fuzzy String Matching. Dengan menerapkan Bi-LSTM dan Fuzzy String Matching menghasilkan chatbot yang memiliki jawaban akurat dengan tingkat akurasi 94%.

Rangkuman penelitian terdahulu dapat dilihat pada tabel 2.2.

Tabel 2.2 Penelitian Terdahulu

No. Peneliti Judul Metode Keterangan

1. Su, et al (2017) A Chatbot Using LSTM-

based Multi- Layer Embedding for

Elderly Care

LSTM- based Multi-

Layer Embedding

Membuat chatbot untuk perawatan lansia, yang dapat menemani dan mengobrol dengan orang tua untuk mengurangi kesepian mereka.

Embedding multi-layer berbasis LSTM model digunakan untuk mengekstrak informasi semantik antara kata dan kalimat. Penelitian tersebut menghasilkan akurasi sebesar 79,96% . 2. Muangkammuen,

(2018)

Automated Thai-FAQ Chatbot using

RNN-LSTM

RNN-LSTM Chatbot FAQ dengan LSTM dalam model jaringan saraf tiruan.

Chatbot ini menerima pertanyaan teks Thailand

dan memberikan

jawaban. Chatbot dapat

(30)

mengenali 86,36%

pertanyaan dan jawaban dengan akurasi 93,2%

3. Nugraha,

Adhindya Trigha (2020)

Aplikasi Pemesanan

Travel Menggunakan

Chatbot dengan Machine Learning

Natural Language Processing dan Neural Network

Chatbot informasi seputar pemesanan tiket.

Chatbot mampu

menjawab pertanyaan mengenai jadwal, , harga, fasilitas, dan lain-lain dengan rata-rata akurasi yang didapatkan sebesar 83%.

4. Zuraiyah, et al (2019)

Chatbot Pada Pendaftaran

Mahasiswa Baru Menggunakan

Recurrent Neural Network

Recurrent Neural Network

Chatbot untuk

mendapatkan informasi secara up-to-date terkait dengan pendaftaran mahasiswa baru.

Penelitian tersebut memiliki akurasi sebesar 99%, presisi sebesar 95%, dan recall sebesar 92%.

5. Kurniawan, Boby (2021)

Chatbot Eksplorasi Ayat Al-Quran

Menggunakan Algoritme Bidirectional

Long Short- Term Memory

(Bi-LSTM) dan Fuzzy

String Matching

Bidirectional Long Short-

Term Memory (Bi-

LSTM) dan Fuzzy String Matching

Chatbot yang mampu menjawab pertanyaan pengguna seputar Al-

Quran dengan

menerapkan algoritme Bidirectional Long Short- Term Memory dan Fuzzy String Matching. Chatbot memiliki jawaban akurat dengan tingkat akurasi 94%.

(31)

Perbedaan penelitian yang dilakukan penulis dengan penelitian terdahulu adalah pada penelitian ini, penulis akan mengimplementasikan chatbot dengan menggunakan algoritma Long Short-Term Memory yang berguna dalam pelatihan model dan memprediksi label. Kemudia algoritima Fuzzy String Matching akan mencari pola string pertanyaan yang sama dan akan memberikan jawaban yang paling sesuai. Selain dapat menampilkan data yang telah dilatih, chatbot informasi saham ini juga dapat menampilkan data real-time berupa harga saham. Sebelumnya, belum ada penelitian mengenai chatbot informasi saham dengan mengimplementasikan algoritma Long Short-Term Memory dan Fuzzy String Matching untuk melakukan tanya jawab seputar saham.

(32)

BAB 3

ANALISIS DAN PERANCANGAN

3.1. Data yang digunakan

Data yang digunakan pada penelitian ini adalah data yang diambil dari E-book PDF yang bereferensi dari lembaga Bursa Efek Indonesia (BEI) dan Otoritas Jasa Keuangan (OJK). Data dibagi menjadi data latih dan data uji. Yang mana data latih berbentuk spreadsheet yang berekstensi .xls. agar sistem dapat membaca setiap pola pertanyaan yang muncul beserta target jawabannya dan data uji berbentuk text chat yang langsung dikirim ke chatbot. Jumlah label yang terdapat pada dataset tersebut sebanyak 12 label.

Dalam menentukan label tersebut peneliti dibantu oleh seorang ahli dalam bidang saham bernama Niswa Riska sekaligus mentor dalam kelas saham yang penulis (human rater) sendiri ikuti dan sudah memiliki sertifikat sebagai ahli pasar modal. Metode mentransformasikan informasi ke dalam file .xls ialah dengan melaksanakan pemisahan pada tiap teks yang terdapat di dalam data menjadi 3 jenis, yaitu:

1. Tags (label) merupakan suatu kategori ataupun label yang jadi tolak ukur sistem dalam menentukan respon.

2. Pattern (pola) ialah suatu rangkaian huruf yang diharapkan cocok atau sesuai dengan satu atau bahkan lebih dari masukan pengguna.

3. Response (output) ialah berbentuk hasil jawaban yang akan dikeluarkan berdasarkan index tags dan pattern yang didetetapkan oleh sistem.

Gambar 3.1 Data Excel

(33)

Jumlah keseluruhan data sebanyak 436 pertanyaan dan jawaban mengenai saham.

Keseluruhan data digabung dalam file berkestensi .xls.

3.2. Perancangan Sistem

Pada tahap ini akan menjelaskan alur dari perancangan sistem yang akan diterapkan dalam pembuatan chatbot informasi saham. Adapun proses dari alur perancangan tersebut dapat dilihat dibawah ini.

3.2.1 Arsitektur Umum

Metode yang diajukan untuk penelitian ini terdiri dari beberapa langkah. Input pertanyaan mengenai saham masuk ke tahap pre-processing yaitu melewati tahap seperti Case Folding (perubahan kata menjadi huruf kecil), Filtering (penghapusan tanda baca), Stemming (tahap mengubah kata menjadi bentuk kata dasar), Stopword Removal (menghapus kata-kata yang sering muncul). Setelah melewati tahap preprocessing maka data dibagi menjadi dua yaitu data training dan data testing. Yang mana data training berekstensi .xls menampung label pertanyaan, pola pertanyaan dan jawaban dimuat dalam bentuk pandas dataframe dan data testing berbentuk text chat yang langsung dikirim ke chatbot. Setelah melewati tahapan tersebut maka data menjadi terstruktur dan sudah masuk ke dalam proses NLP. Selanjutnya, data training akan melewati tahapan Tokenization, Indexing Word Vocabulary, Sequence of Integer, dan Padding. Kemudian, pelatihan model menggunakan algoritma LSTM dengan basis RNN dan diakhiri dengan pengujian model. Setelah data di training jadilah Learned Model yang mana data yang telah di training dapat dilakukan prediksi. Setelah itu data testing akan masuk ke Learned Model yang akan memprediksi tag (label). Kemudian fuzzy string matching akan mencocokan pola pertanyaan dan akan memilih response dan menampilkan jawaban. Untuk API Stock Market bertujuan untuk menampilkan harga saham secara real-time. Yang mana sistem akan melakukan request berupa URL (Uniform Resource Locator ) kepada API Stock Market berkaitan dengan data harga saham pada saat itu. Setelah API Stock Market menerima request dari sistem, maka akan memberikan response berupa data harga saham kepada sistem berdasarkan data API Stock Market. Adapun arsitektur umum yang menggambarkan setiap tahapan pada penelitian ini dapat dilihat pada Gambar 3.2.

(34)

Gambar 3.2 Arsitektur Umum

(35)

A. Case Folding

Case Folding merupakan proses mengubah semua karakter menjadi huruf kecil, untuk mempercepat perbandingan selama proses pengindeks-an. Proses ini dilakukan untuk mempermudah proses penghapusan karakter atau kata-kata tertentu yang tidak digunakan dalam penelitian ini. Contoh dapat dilihat pada tabel 3.1.

Tabel 3.1 Contoh Proses Case Folding

Sebelum Case Folding Setelah Case Folding Bagaimana tips dan trik dalam memulai

investasi saham?

bagaimana tips dan trik dalam memulai investasi saham?

B. Filtering

Pada tahapan ini tanda baca (seperti ? ! , / = + - \ > < ; “ ( ) {} [ ] . : | dan lainnya) akan dihapus menjadi spasi. Selama proses training tanda baca tidak dihiraukan sehingga dengan penghapusan tanda baca proses training akan menjadi lebih sederhana. Contoh penerepan filtering dapat dilihat pada tabel 3.2.

Tabel 3.2 Contoh Proses Filtering

Sebelum Filtering Setelah Filtering

Bagaimana tips dan trik dalam memulai investasi saham?

bagaimana tips dan trik dalam memulai investasi saham

C. Stemming

Proses stemming merupakan proses untuk memperkecil jumlah indeks yang berbeda dari suatu dokumen dan juga untuk melakukan pengelompokan kata-kata lain yang memiliki kata dasar dan arti yang serupa namun memiliki bentuk atau form yang berbeda karena mendapatkan imbuhan yang berbeda. Contoh pemrosesan stemming dapat dilihat pada tabel 3.3.

Tabel 3.3 Contoh Proses Stemming

(36)

Sebelum Stemming Setelah Stemming bagaimana tips dan trik dalam memulai

investasi saham

bagaimana tips dan trik mulai investasi saham

D. Stopword Removal

Pada proses ini memiliki tujuan yaitu menghapus stopword yaitu merupakan kata-kata yang sering muncul dan biasanya diabaikan dalam pemrosesan namun tidak mengubah arti dari kalimat tersebut. Penghapusan stopword bertujuan untuk mengurangi jumlah kata dalam sebuah dokumen yang nantinya akan berpengaruh dalam kecepatan dan performa dalam penerapan NLP. Contoh penerapan stopword removal dapat dilihat pada Tabel 3.4.

Tabel 3.4 Contoh Proses Stopword Removal Daftar Stopword yang dihapus

'yang', 'untuk', 'pada', 'ke', 'para', 'namun', 'menurut', 'antara', 'dia', 'dua', 'ia', 'seperti', 'jika', 'jika', 'sehingga', 'kembali', 'dan', 'tidak', 'ini', 'karena', 'kepada', 'oleh', 'saat', 'harus', 'sementara', 'setelah', 'belum', 'kami', 'sekitar', 'bagi', 'serta', 'di', 'dari', 'telah', 'sebagai', 'masih', 'hal', 'ketika', 'adalah', 'itu', 'dalam', 'bisa', 'bahwa', 'atau', 'hanya', 'kita', 'dengan', 'akan', 'juga', 'ada', 'mereka', 'sudah', 'saya', 'terhadap', 'secara', 'agar', 'lain', 'anda', 'begitu', 'mengapa', 'kenapa', 'yaitu', 'yakni', 'daripada', 'itulah', 'lagi', 'maka', 'tentang', 'demi', 'dimana', 'kemana', 'pula', 'sambil', 'sebelum', 'sesudah', 'supaya', 'guna', 'kah', 'pun', 'sampai', 'sedangkan', 'selagi', 'sementara', 'tetapi', 'apakah', 'kecuali', 'sebab', 'selain', 'seolah', 'seraya', 'seterusnya', 'tanpa', 'agak', 'boleh', 'dapat', 'dsb', 'dst', 'dll', 'dahulu', 'dulunya', 'anu', 'demikian', 'tapi', 'ingin', 'juga', 'nggak', 'mari', 'nanti', 'melainkan', 'oh', 'ok', 'seharusnya', 'sebetulnya', 'setiap', 'setidaknya', 'sesuatu', 'pasti', 'saja', 'toh', 'ya', 'walau', 'tolong', 'tentu', 'amat', 'apalagi', 'bagaimanapun'

Tabel 3.5 Contoh Proses Stopword Removal

Sebelum Stopword Removal Setelah Stopword Removal bagaimana tips dan trik dalam mulai

investasi saham

bagaimana tips trik mulai investasi saham

(37)

E. Split Dataset

Setelah melewati beberapa tahapan dan data sudah dianggap bersih, maka untuk tahap selanjutnya ialah memisahkan dataset menjadi dua yaitu data latih sebanyak 90% dari total data dan data uji sebanyak 10% dari jumlah data yang dipilih secara acak. Berikut detail pemisahan data latih dan data uji dapat dilihat pada tabel 3.6.

Tabel 3.6 Pembagian Dataset

Data Latih Data Validasi

392 44

F. Tokenization

Tokenization merupakan proses memecah string agar memisahkan menjadi beberapa bagian seperti, kata kunci, frasa, simbol, dan elemen lain yang disebut token. Dalam penelitian ini proses tokenization diperlukan untuk memisahkan setiap kata, dan rangkaian angka yang memiliki makna tertentu. Contoh data sebelum dan sesudah tokenizing dapat dilihat pada tabel 3.7.

Tabel 3.7 Contoh Proses Tokenization

Sebelum Tokenization Setelah Tokenization

bagaimana tips trik mulai investasi saham ‘bagaimana’, ‘tips’, ‘trik’, ‘mulai’,

‘investasi’, ‘saham’

G. Indexing Word Vocabulary

Indexing word vocabulary bertujuan untuk memberikan penomoran secara random dalam pola pertanyaan yang di berikan. Kata <OOV> di deskripsikan sebagai kata-kata yang tidak ada di word index. Contoh proses penerapan indexing dapat dilihat pada tabel 3.8.

Tabel 3.8 Contoh Proses Indexing Word Vocabulary

Kata Nomor Index

<OOV> 1

Bagaimana 2

Tips 3

Trik 4

(38)

Mulai 5

Investasi 6

Saham 7

H. Sequence Integer

Sequence of integer adalah proses dimana mengkonversi urutan kata yang paling sering muncul kedalam bentuk integer berdasarkan index integer yang sudah ditentukan di dalam korpus pada tahap sebelumnya. Contoh konversi teks menjadi sequence of integer dapat dilihat pada tabel 3.9.

Tabel 3.9 Contoh Proses Sequence of Integer

Teks Sequence of Integer

bagaimana tips trik mulai investasi saham [2, 3, 4, 5, 6, 7]

I. Padding

Proses padding memiliki tujuan yang sangat penting di embedding layer. Karena pada pemrosesannya semua sequences harus memiliki panjang yang sama dalam proses input di embedding layer. Panjang maksimal dari sequence text adalah 20 kata. Jadi, dalam setiap pola pertanyaan akan diubah dalam bentuk matriks yaitu sepanjang 20 kata.

Contoh konversi teks menjadi matriks dapat dilihat pada tabel 3.10.

Tabel 3.10 Hasil Konversi Teks Dalam Bentuk Matriks

array([[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7]])

J. Implementasi Long Short Term Memory

Adapun proses urutan dalam pembuatan model LSTM yang akan di implementasikan pada penelitian ini, diantaranya :

1. Embedding Layer sebagai layer pertama akan menggunakan vector dengan panjang 20 untuk merepresentasikan setiap kata.

2. Layer berikutnya adalah LSTM layer dengan 18 unit neuron.

3. Layer berikutnya yaitu Dropout Layer dengan 0.3.

4. Kemudian Dense Layer dengan 32 unit neuron menggunakan aktivasi relu.

(39)

5. Layer terakhir adalah Dense Layer dengan target sebanyak jumlah class atau labels menggunakan aktivasi softmax.

Menggunakan loss function categorical_crossentropy (keras) dan dengan fungsi optimasi ‘Adam’. Batch size yang digunakan adalah 64 dengan epochs berjumlah 72 dan parameter evaluasi model adalah ‘accuracy’.

K. Klasifikasi Teks Menggunakan Model yang Sudah Dilatih

Data uji yang sebelumnya sudah dilakukan tahap preprosesing, selanjutnya digunakan sebagai pengujian terhadap model yang sudah dilatih. Penelitian ini menggunakan Keras API pada proses training dan validasi menggunakan metrik ‘accuracy’ untuk menghitung tingkat akurasi model pada masing-masing data latih, data validasi, dan data uji. Untuk menghitung akurasi digunakan persamaan sebagai berikut:

Accuracy = (Number of correct prediction / Total number of prediction made) x 100

L. Implementasi Fuzzy String Matching

Setelah data yang dilatih telah melewati proses model LSTM yang mana berfungsi dalam memprediksi label maka selanjutnya dataset akan disaring dan hanya akan menampilkan data yang pelabelannya telah di prediksi sebelumnya oleh model LSTM.

Selanjutnya, fuzzy string matching akan mencocokan pertanyaan user yang di input dengan pertanyaan yang sudah ada di dalam dataset. Algoritma fuzzy string matching yang digunakan pada penelitian ini yaitu FuzzyWuzzy yang tersedia sebagai library dalam python. FuzzyWuzzy adalah library python yang digunakan untuk menerapkan fuzzy string matching dalam proses menemukan string yang cocok dengan pola pertanyaan pengguna. Pada dasarnya library ini menggunakan levenshtein distance untuk menghitung perbedaan antara urutan. Adapun proses dari pencocokan string yaitu sebagai berikut:

1. Pada tahapan pertama string akan dicocokan dengan kamus data yang ada di korpus data dan apabila memiliki kecocokan maka response akan ditampilkan.

2. Jika tahapan pertama belum mendapatkan string yang cocok, maka selanjutnya dilakukan string yang memiliki kesamaan huruf awal, huruf akhir dan string yang memiliki panjang yang sama dan jika ditemukan maka akan menampilkan response.

(40)

3. Selanjutnya jika belum ditemukannya kecocokan string maka dalam pencocokannya akan memeriksa huruf awal dan akhir tanpa menghiraukan panjang len, apabila memiliki kecocokan maka response akan ditampilkan. Penerapan pada contoh diatas berupa “bagaimana tips trik mulai investasi saham” kemudian string matching akan mencari kata pertama yang memiliki kesamaan yaitu “bagaimana”.

Selanjutnya, string akan mencari huruf akhir yang memiliki kesamaan yaitu

“saham”. Setelah string melakukan pencocokan ternyata ada kata yang memiliki kesamaan di dalam korpus data yaitu “bagaimana cara memulai investasi saham”.

Walau terlihat perbedaan pada panjang len yang terdapat pada input pola pertanyaan dan kesamaan pada korpus data, fuzzy tetap dapat menampilkan response yang sesuai dikarenakan panjang len yang berbeda di hiraukan dalam pencocokan string.

M. API Stock Market

Pada tahapan ini bertujuan untuk menampilkan harga saham secara real-time. Sistem akan mengirim url berupa https://indonesia-stock-exchange.vercel.app/api kepada PasarDana sebagai penyedia data stock market. Setelah server PasarDana menerima request url tersebut maka PasarDana akan mengirim data dalam bentuk JSON. Apabila user ingin mengetahui data mengenai harga saham maka program akan menampilkan harga saham berdasarkan data API stock market. Untuk menampilkan data harga saham menggunakan parameter sort_by berupa parameter yang berfungsi untuk menampilkan informasi saham berupa Name, Code, Last Price, Closing Price, Open Price, High Price, Low Price, Stock Up or Down/day, dan Update Date.

N. Output

Pada tahapan output, bot akan menampilkan jawaban yang sesuai mengenai saham.

3.3. Metode Evaluasi

Tahapan evaluasi atau penilaian dibutuhkan guna melihat seberapa baik sistem dalam mengenali label berdasarkan pada pertanyaan pengguna yang diujikan dalam sistem.

Tahapan ini mengenakan metrik Accuracy guna mengukur tingkat akurasi model yang telah dilatih.

(41)

3.4. Diagram Aktivitas Sistem

Pada tahapan ini akan menjelaskan alur dan aktivitas dari sistem chatbot yang akan dibuat. Berikut penjelasan dari aktivitas chatbot dibawah ini.

3.4.1 Diagram Aktivitas Home

Diagram aktivitas menggambarkan aktivitas yang bisa dikerjakan pada menu utama chatbot. Ketika user masuk ke menu di smartphone berupa akun Telegram, sistem akan menampilkan isi dari menu tersebut. Diagram aktivitas home dapat dilihat dalam gambar 3.4.

Gambar 3.3 Diagram Aktivitas Home

3.4.2 Diagram Aktivitas Chatbot

Diagram aktivitas chatbot menggambarkan aktivitas yang bisa dikerjakan pada menu chatbot. Ketika user masuk ke menu chatbot, sistem akan menampilkan halaman tampilan chatbot. User akan menginput pertanyaan seputar Saham yang akan di preprocessing yaitu Case Folding, Filtering, Stemming, Stopword Removal, Sequence Integer, Padding dan LSTM layer setelahnya akan di lakukan identifikasi oleh model yang sudah dilatih untuk menentukan label dari text chat pengguna. Setelah model menghasilkan label dari text chat pengguna, kemudian fuzzy string matching akan mencari pola pertanyaan yang sama dan memilih response dan menampilkan jawaban

(42)

kepada pengguna dan dapat menampilkan harga saham secara real time. Diagram aktivitas chatbot bisa dilihat dalam gambar 3.5.

Gambar 3.4 Diagram Aktivitas Chatbot

3.5. Perancangan Antarmuka Sistem

Pada penelitian ini penulis akan menggunakan Telegram sebagai platform chatting yang dipilih untuk menampilkan chatbot.

(43)

3.5.1 Rancangan Tampilan Profil

Tampilan profil adalah tampilan halaman utama yang akan ditampilkan kepada user.

Gambar 3.5 Tampilan Profil Keterangan:

1. Avatar chatbot

Avatar dari chatbot informasi saham.

2. Username bot

Nama aplikasi dari chatbot ini adalah Chatbot Informasi Saham dengan nama pengguna @informasiSaham_Bot yang ditambahkan pada akun Telegram.

Pengguna bisa dengan mudah mengaksesnya baik melalui smartphone ataupun komputer ketika ingin bertanya bertanya seputar informasi saham pada chatbot ini.

Penggunaan telegram sebagai platform chatbot dapat memudahkan pengguna hanya dengan menambahkan username atau menambahkan melalui kirman dari teman yang sudah menambahkan Chatbot Informasi Saham sebelumnya.

3. Deskripsi bot

Berisi deskripsi mengenai bot.

(44)

4. Kirim pesan

Tombol untuk user dapat mengirim pesan.

3.5.2 Rancangan Tampilan Halaman Chat

Tampilan halaman chat adalah tampilan dimana user telah menambahkan bot.

Gambar 3.6 Tampilan Halaman Chat Keterangan:

1. Avatar chatbot

Avatar dari chatbot informasi saham.

2. Username bot

Nama aplikasi dari chatbot ini adalah Chatbot Informasi Saham dengan nama pengguna @informasiSaham_Bot yang ditambahkan pada akun Telegram.

Pengguna bisa dengan mudah mengaksesnya baik melalui smartphone ataupun komputer ketika ingin bertanya bertanya seputar informasi saham pada chatbot ini.

Penggunaan telegram sebagai platform chatbot dapat memudahkan pengguna hanya dengan menambahkan username atau menambahkan melalui kirman dari teman yang sudah menambahkan Chatbot Informasi Saham sebelumnya.

(45)

3. Deskripsi bot

Berisi deskripsi mengenai bot.

4. Menampilkan menu

Berisi tampilan menu yang disediakan oleh bot.

5. Kirim pesan

Tombol untuk user dapat mengirim pesan secara langsung kepada bot mengenai saham dan disini bot akan memproses pertanyaan dan memberikan jawaban yang paling sesuai mengenai saham.

(46)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Pada bab ini akan dijelaskan tentang proses pengimplementasian dari chatbot dengan algoritma Long Short Term Memory dan Fuzzy String Matching pada sistem sesuai dengan perancangan sistem yang telah dilakukan di Bab 3 serta melakukan pengujian sistem yang telah di bangun.

4.1. Implementasi Sistem

Dalam membuat sistem chatbot informasi saham menggunakan algortima Long Short Term Memory dan Fuzzy String Matching digunakan perangkat keras serta perangkat lunak sebagai pendukung, antara lain :

4.1.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

Berikut spesifikasi hardware dan software yang digunakan untuk membangun sistem, yaitu:

1. Processor Intel® Core™ i3-7020U CPU @ 2.30GHz.

2. Memory (RAM): 4.00 GB DDR4.

3. Kapasitas hardisk 1 TB SSD.

4. Operating System Windows 10 Home Single Language 64-bit 5. Google Colaboratory Jupyter Notebook

6. Visual Studi Code

4.1.2. Implementasi Perancangan Antarmuka

Adapun implementasi dari rancangan tampilan antarmuka yang telah dijelaskan pada bab 3 sebelumnya adalah sebagai berikut.

a. Tampilan Halaman Profil

Pada tampilan halaman profil akan memberikan informasi profil dari akun chatbot telegram yang siap untuk menjawab pertanyaan pengguna seputar saham. Pada tampilan profil ini user dapat melihat avatar chatbot, informasi singkat tentang chatbot, dan username chatbot yang bisa ditambahkan oleh user lainnya. Tampilan halaman profil dapat dilihat pada gambar 4.1.

(47)

Gambar 4.1 Tampilan Halaman Profil b. Tampilan Halaman Chat

Tampilan halaman chat yaitu tampilan awal ketika user akan menjalankan chatbot.

Dimana chatbot akan mengirim pesan sambutan dan juga deskripsi singkat mengenai chatbot informasi saham ini. User dapat mengklik perintah /start agar chatbot dapat berjalan dan menampilkan fitur yang sudah disediakan oleh chatbot. Tampilan halaman chat dapat dilihat pada gambar 4.2.

Gambar 4.2 Tampilan Awal Chatbot

(48)

c. Tampilan Halaman Menu Utama

Pada tampilan halaman menu utama berisi beberapa menu yang dapat menjadi pilihan bagi user dalam mengakses chatbot. User dapat memilih dengan cara mengklik menu yang sudah tersedia. Selain itu user juga dapat mengetikkan secara langsung berupa pertanyaan mengenai saham yang akan langsung dikirim ke chatbot. Tampilan halaman menu utama chatbot dapat dilihat pada gambar 4.3.

Gambar 4.3 Tampilan Menu Utama Chatbot

Adapun keterangan dari rancangan menu utama tersebut adalah sebagai berikut:

1. Belajar tentang saham adalah menu yang akan menampilkan materi-materi mengenai saham secara terstruktur. Pada menu ini user dapat memahami materi saham hanya dengan cara mengklik panduan menu yang sudah disediakan oleh chatbot. Menu belajar saham dapat dilihat pada gambar 4.4.

Gambar 4.4 Tampilan Menu Belajar saham

Referensi

Dokumen terkait

Dalam laporan ini penulis menjelaskan mengenai klasifikasi sinyal EKG menggunakan Long Short Term Memory untuk mengklasifikasi sinyal gagal jantung kongestif dan

Penelitian ini bertujuan untuk mengukur ketelitian dalam memprediksi data time series menggunakan metode mesin belajar LSTM (Long Short-Term Memory), serta

Karena itu pada penelitian ini akan menggunakan metode Fuzzy String Matching dalam melakukan pencocokan string pada teks dokumen dengan menggunakan Jaro-Winkler

Di tahun yang sama, yaitu tahun 2018 terdapat penelitian yang dilakukan untuk memprediksi penyebaran penyakit DBD menggunakan algoritma Adaptive Neuro Fuzzy Inference

CONCLUSION Implementing the Long Short-Term Memory LSTM algorithm in the application of academic service chatbots, especially in the Merdeka Belajar Kampus Merdeka MBKM program,

KESIMPULAN Setelah melakukan analisis, perancangan dan implementasi serta hasil pengujian dari implementasi deep learning menggunakan arsitektur Long Short Term Memory LSTM untuk

5.2 Saran Saran yang dapat diterapkan untuk pengembangan sistem lebih lanjut di masa mendatang yaitu: Pada sistem chatbot layanan informasi tugas akhir menggunakan metode long

Oleh karena itu, penelitian ini dilakukan untuk memprediksi harga emas menggunakan model Long Short Term Memory LSTM agar investor menjadi yakin dalam berinvestasi emas untuk