<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving DTD v1.0 20120330//EN" "JATS-journalarchiving.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ali="http://www.niso.org/schemas/ali/1.0">
  <front>
    <article-meta>
      <title-group>
        <article-title>Public Sentiment Analysis of the Israel-Palestine Conflict on Social Media Using BERT</article-title>
        <subtitle>Analisis Sentimen Publik Konflik Israel-Palestina di Media Sosial Menggunakan BERT</subtitle>
      </title-group>
      <contrib-group content-type="author">
        <contrib id="person-1e60a86f0342057ebf3ac6418c5ba8ca" contrib-type="person" equal-contrib="no" corresp="no" deceased="no">
          <name>
            <surname>Renhoran</surname>
            <given-names>Syaiful Mulki Almubarok</given-names>
          </name>
          <email>syaifulmulki@gmail.com</email>
          <xref ref-type="aff" rid="aff-1" />
        </contrib>
        <contrib id="person-99714ce60a386101de848d29fc50499f" contrib-type="person" equal-contrib="no" corresp="no" deceased="no">
          <name>
            <surname>Setiawan</surname>
            <given-names>Hamzah</given-names>
          </name>
          <email>hamzah@umsida.ac.id</email>
          <xref ref-type="aff" rid="aff-2" />
        </contrib>
      </contrib-group>
      <aff id="aff-1">
        <country>Indonesia</country>
      </aff>
      <aff id="aff-2" />
      <history>
        <date date-type="received" iso-8601-date="2024-10-07">
          <day>07</day>
          <month>10</month>
          <year>2024</year>
        </date>
      </history>
      <abstract />
    </article-meta>
  </front>
  <body id="body">
    <sec id="heading-fa4b645301c17ff32d6b75b4e24d5d14">
      <title>
        <bold id="bold-80b73c5a80f35bdac4c11e854b09d760">Pendahuluan</bold>
      </title>
      <p id="_paragraph-14">Konflik antara Palestina dan Israel yang dipicu oleh serangan Hamas terhadap Israel di Jalur Gaza pada 7 Oktober telah menimbulkan dampak signifikan, baik secara geopolitik maupun ekonomi global <ext-link id="_external-link-1" ext-link-type="uri" xlink:href="">[1]</ext-link>. Dengan lebih dari 4.900 korban jiwa dan lebih dari 25.000 orang terluka <ext-link id="_external-link-2" ext-link-type="uri" xlink:href="">[2]</ext-link>, konflik ini menarik perhatian internasional dan memicu respons dari berbagai negara [<ext-link id="_external-link-3" ext-link-type="uri" xlink:href="">3]</ext-link>, termasuk evakuasi warga negara asing dari wilayah konflik <ext-link id="_external-link-4" ext-link-type="uri" xlink:href="">[</ext-link><ext-link id="_external-link-5" ext-link-type="uri" xlink:href="">4</ext-link><ext-link id="_external-link-6" ext-link-type="uri" xlink:href="">]</ext-link><ext-link id="_external-link-7" ext-link-type="uri" xlink:href="">.</ext-link></p>
      <p id="_paragraph-15">Penelitian ini bertujuan untuk menganalisis tendensi masyarakat Indonesia terhadap konflik Palestina-Israel melalui media sosial X <ext-link id="_external-link-8" ext-link-type="uri" xlink:href="">[5]</ext-link>. Metode yang digunakan adalah Deep Learning dengan arsitektur model BERT (Bidirectional Encoder Representations from Transformers) yang dikembangkan oleh Google[5]. BERT memungkinkan pemahaman konteks dan hubungan antar kata dalam teks, yang berguna untuk analisis sentimen positif, negatif, dan netral <ext-link id="_external-link-9" ext-link-type="uri" xlink:href="">[</ext-link><ext-link id="_external-link-10" ext-link-type="uri" xlink:href="">6</ext-link><ext-link id="_external-link-11" ext-link-type="uri" xlink:href="">]</ext-link>.</p>
      <p id="_paragraph-16">Tujuan utama penelitian ini adalah mengimplementasikan algoritma NLP (Natural Language Processing) untuk mengidentifikasi sentimen publik dan mengevaluasi akurasinya <ext-link id="_external-link-12" ext-link-type="uri" xlink:href="">[7]</ext-link>. Batasan penelitian meliputi fokus pada pengguna media sosial X di Indonesia dan analisis tweet berbahasa Indonesia terkait konflik ini. Data dikumpulkan dari 1 Mei 2024 hingga saat ini <ext-link id="_external-link-13" ext-link-type="uri" xlink:href="">[8]</ext-link>.</p>
      <p id="_paragraph-17">Manfaat penelitian ini termasuk memberikan wawasan mendalam tentang dinamika opini publik, mendukung upaya diplomatik, dan membantu dalam pengelolaan reputasi di media sosial. Hasil analisis diharapkan dapat membantu dalam pencegahan eskalasi konflik melalui deteksi potensi ketegangan dan memberikan panduan untuk kampanye informasi yang terarah.</p>
    </sec>
    <sec id="heading-b43da21b50d66fb676b9c66b19688cc7">
      <title>
        <bold id="bold-a5101a194cc205a44e03a893b87a8317">Metode</bold>
      </title>
      <fig id="figure-panel-e1d374937bbdeec363056c581ae0423c">
        <label>Figure 1</label>
        <caption>
          <title>merupakan alur diagram sistem yang diterapkan pada penelitian ini.</title>
          <p id="paragraph-a1614130e44493b0cbf57c1e2234c301" />
        </caption>
        <graphic id="graphic-313a69086014f8bfc1e4f61e553e35c6" mimetype="image" mime-subtype="png" xlink:href="1143 1 (1).png" />
      </fig>
      <p id="paragraph-9156d8c159445d38830f165f610cbc0f">
        <bold id="bold-1">A. </bold>
        <bold id="bold-2">Pengumpulan data</bold>
      </p>
      <p id="_paragraph-19">Data yang digunakan dalam penelitian ini berasal dari tweet “KONFLIK ISRAEL-PALESTINA” berbahasa indonesia yang diambil dari platfrom X. Data diambil dari tanggal 01 Mei – sekarang</p>
      <p id="_paragraph-20">Untuk mendapatkan data dilakukan Crawl Data dengan menggunakan Google Colab. Pertama, diinstal library pandas untuk memudahkan manipulasi data setelah diambil [9]. Selanjutnya, kita perlu menginstal Node.js karena tweet-harvest dibangun menggunakan Node.js <ext-link id="_external-link-14" ext-link-type="uri" xlink:href="">[10]</ext-link>. Langkah instalasi ini melibatkan beberapa perintah shell untuk update paket, instalasi dependensi, dan mengatur konfigurasi agar dapat mengambil kunci dari sumber resmi Node.js <ext-link id="_external-link-15" ext-link-type="uri" xlink:href="">[11]</ext-link>. Setelah Node.js berhasil diinstal, kita dapat menggunakan perintah tweet-harvest untuk melakukan crawling data dari Twitter sesuai dengan kata kunci pencarian yang ditentukan. Hasil crawling akan disimpan dalam format CSV dengan nama file yang sudah ditentukan sebelumnya <ext-link id="_external-link-16" ext-link-type="uri" xlink:href="">[12]</ext-link>. Selanjutnya, dengan menggunakan pandas, kita membaca file CSV tersebut ke dalam sebuah DataFrame untuk analisis lebih lanjut. Dengan langkah-langkah ini, proses scraping data dari Twitter dapat dilakukan secara efisien di Google Colab <ext-link id="_external-link-17" ext-link-type="uri" xlink:href="">[13]</ext-link>.</p>
      <fig id="figure-panel-a494d6d201626d33bf378b05a47b3302">
        <label>Figure 2</label>
        <caption>
          <title>Scrapping Data</title>
          <p id="paragraph-de458bd080152eedd438b23ed5bfb813" />
        </caption>
        <graphic id="graphic-0259fc2bb781409dfe1da4408e35e922" mimetype="image" mime-subtype="png" xlink:href="1143 2 (1) (1) (1) (1) (1).png" />
      </fig>
      <p id="paragraph-23a4eff7d4b53413b0eebe7d30a6a8a0">
        <bold id="bold-d42a5fc377eeea958c50adb61402efa3">B</bold>
        <bold id="bold-e886e82ba5760229967dd70f2a982de2">. </bold>
        <bold id="bold-bcb218db7537820a3f7b059a9e252bfa">Cleaning Data</bold>
      </p>
      <p id="_paragraph-21">Tahap cleaning data akan membuang karakter yang tidak memiliki makna dan membuat data menjadi lebih konsisten. Pada penelitian ini cleaning data dilakukan dengan menghapus tag HTML, case folding, menghapus angka, tanda baca, dan karakter <ext-link id="_external-link-18" ext-link-type="uri" xlink:href="">[14]</ext-link></p>
      <fig id="figure-panel-74ee2093bb776bc21dda75d4d8df66f0">
        <label>Figure 3</label>
        <caption>
          <title>Cleaning Data</title>
          <p id="paragraph-e6678d284402c9e32ba1f551890308bf" />
        </caption>
        <graphic id="graphic-b5efee93aab619b2c3ed6a7d3c38c089" mimetype="image" mime-subtype="png" xlink:href="1143 3 (1) (1) (1) (1) (1).png" />
      </fig>
      <p id="paragraph-2fd601eeb2f0fab6df1f79b9fafd6baf">
        <bold id="bold-4bb47ca94334c643bf90d34b5a498d85">C. Pelabelan Data</bold>
      </p>
      <p id="_paragraph-23">Pelabelan dilakukan oleh peneliti secara manual. Pada setiap ulasan akan diberikan label yaitu label sentimen. Untuk label sentimen terbagi menjadi tiga yaitu positif, negatif, dan netral. Pemilihan aspek dilakukan dengan melihat tweet yang sering dibahas oleh para pengguna [15]</p>
      <fig id="figure-panel-3f765f1dfc4cf67f7ecaa5813b3d44fb">
        <label>Figure 4</label>
        <caption>
          <title>Pelabelan Data</title>
          <p id="paragraph-2e6cb1baac4c4a585dcf164f8d8d6b5f" />
        </caption>
        <graphic id="graphic-c7519bee1119ce660341491f71342ed0" mimetype="image" mime-subtype="png" xlink:href="1143 4 (1) (1) (1) (1) (1) (1).png" />
      </fig>
      <p id="paragraph-fd893a1585ac2c0be1ea6deca0334005">
        <bold id="bold-e3146855daabfe757b9ceed44699abb5">D. </bold>
        <bold id="_bold-20">Implementasi BERT</bold>
      </p>
      <p id="_paragraph-24">Sebelum proses pelatihan dimulai, data yang telah terkumpul perlu diubah menjadi format input yang dapat diterima oleh BERT. Untuk mencapai hal ini, digunakan proses tokenisasi yang bertujuan untuk mengonversi setiap kata ke dalam token-token yang dapat dipahami oleh model</p>
      <p id="paragraph-ac77ae95664967b1b204062b8173a0a6">
        <bold id="bold-e097eeefd691e353c324175aec0445ee">1. </bold>
        <bold id="bold-0cf955fdf36275406f1de5ca75aba0c9">Pengumpulan Data</bold>
      </p>
      <p id="_paragraph-25">Pengguna (misalnya, peneliti atau praktisi data) memulai dengan mengumpulkan data ulasan dari platform X. Platform X dapat berupa situs web atau aplikasi yang menyediakan ulasan dari berbagai pengguna. Langkah ini melibatkan ekstraksi teks ulasan dari platform tersebut yang kemudian akan digunakan untuk analisis lebih lanjut</p>
      <p id="paragraph-1e65512d34b5b1880c1dc90884a59625">
        <bold id="bold-1a6a7d41176d76eaaffc5acf0c7a85d9">2</bold>
        <bold id="bold-07f730fd34599b9d4d9b131363fb8b1a">. </bold>
        <bold id="bold-28c0f4cfb6423c6a07aa3a865e555a8c">Pembersihan Data</bold>
      </p>
      <p id="_paragraph-26">Setelah data ulasan terkumpul, data tersebut dikirim ke tahap pembersihan data. Di sini, data dibersihkan dari karakter yang tidak relevan, angka, tanda baca, dan karakter khusus yang tidak diperlukan untuk analisis. Langkah ini penting untuk memastikan bahwa teks ulasan dalam kondisi yang siap untuk diproses lebih lanjut tanpa gangguan dari elemen-elemen yang tidak relevan.</p>
      <p id="paragraph-2a0caaa321d7174f5efd2d993e47a227">
        <bold id="bold-11c32b027ee28da115cdcf4f586e01e7">3.</bold>
        <bold id="bold-2dc64e4b12ef6c71638f39ac28b7b13c">Preprocessing Data</bold>
      </p>
      <p id="_paragraph-27">Data yang telah dibersihkan kemudian dikirim ke tahap preprocessing. Preprocessing mencakup beberapa teknik pemrosesan teks seperti normalisasi teks, case folding (mengubah semua teks menjadi huruf kecil), dan penghapusan stop words (kata-kata umum yang biasanya diabaikan dalam analisis teks). Proses ini membantu dalam menstandarkan teks ulasan sehingga lebih mudah untuk dianalisis.</p>
      <p id="paragraph-c4aedb3acc2f526d99d9da68523866f9">
        <bold id="bold-53fe65d41b1d4fe25f3f553056b92b0d">4.</bold>
        <bold id="bold-bfb2269f7f1a5d96cc0f13dc9280bb7f">Tokenisasi</bold>
      </p>
      <p id="_paragraph-28">Data yang telah diproses kemudian dikirim ke BERT Tokenizer untuk tokenisasi. Pada kasus ini, digunakan BERTBASE-MULTILINGUAL-UNCASED Tokenizer. Tokenisasi adalah proses memecah teks ulasan menjadi token (yaitu, kata-kata atau sub-kata) yang dapat dimengerti oleh model BERT. Tokenisasi BERT mencakup penambahan token khusus seperti [CLS] di awal setiap kalimat dan [SEP] di akhir setiap kalimat, serta melakukan padding jika diperlukan. Hal ini membuat teks ulasan siap untuk dimasukkan ke dalam model BERT.</p>
      <p id="paragraph-09e9442cf77485f3a4d53ee560e5fb29">
        <bold id="bold-6ccd65432a7ee13988d00ec46a53fddb">5. </bold>
        <bold id="bold-bfc12076f819245ef80e39fe5528660d">Penggunaan Model BERT</bold>
      </p>
      <p id="_paragraph-29">Data yang telah ditokenisasi kemudian dikirim ke model BERT. Pada kasus ini, digunakan model BERTBASE-MULTILINGUAL-UNCASED. Model ini telah dilatih sebelumnya untuk memahami berbagai bahasa tanpa membedakan huruf besar dan kecil, sehingga sangat cocok untuk platform X yang mungkin memiliki ulasan dalam berbagai bahasa. Model BERT mengubah data yang telah ditokenisasi menjadi representasi input yang dapat dipahami oleh model. Model BERT akan menganalisis aspek-aspek tertentu dalam ulasan (misalnya, akting, plot) dan menentukan sentimen (positif, negatif, netral) dari setiap aspek tersebut.</p>
      <p id="paragraph-c28ca4d6c0055b28a9ea4f218de43452">
        <bold id="bold-4082854d41beb32aa7265bcebc9fd004">6. </bold>
        <bold id="_bold-26">Evaluasi Model</bold>
      </p>
      <p id="_paragraph-30">Setelah analisis sentimen dilakukan oleh model BERT, hasilnya dievaluasi menggunakan metrik evaluasi seperti akurasi, presisi, recall, dan f1-score. Evaluasi ini dilakukan untuk mengukur kinerja model dalam mengidentifikasi aspek dan sentimen dari ulasan platform X. Hasil evaluasi memberikan informasi penting tentang seberapa baik model BERT dalam melakukan tugas analisis sentimen multi-aspek ini.</p>
      <fig id="figure-panel-62a6d8853279466993d741ca98e40bc8">
        <label>Figure 5</label>
        <caption>
          <title>Implementasi BERT</title>
          <p id="paragraph-12a93605c09c6cb314cab671fbba9171" />
        </caption>
        <graphic id="graphic-5e397ee055d57e04d5ea57d536a66c08" mimetype="image" mime-subtype="png" xlink:href="1143 5 (1).png" />
      </fig>
    </sec>
    <sec id="heading-5aeddfb211f4c9c6cc1032344d987297">
      <title>
        <bold id="bold-19939b9bda5b9d7a4baa885e906016f0">Hasil dan Pembahasan</bold>
      </title>
      <sec id="heading-97337c99f67d4e39e317fe00fc233eb1">
        <title>
          <bold id="bold-6cd51a9628b134f3321ede53a502ad5d">A. Pengumpulan Data</bold>
        </title>
        <p id="_paragraph-31">Data dikumpulkan dengan menggunakan teknik Crawl Data pada platfrom situs X. Crawl Data akan bekerja menggunakanNode.Js. Oleh karena itu, peneliti perlu mengekstrak data tersebut ke dalam bentuk CSV, kemudian data dikumpulkan menjadi satu dokumen. Data yang akan di kumpulkan pada platfrom X berupa tweet dari beberapa user X oleh peneliti, setelah data di kumpulkan minimal sebanyak 3447 data tweet. Data akan di simpan dalam bentuk CSV dan siap untuk proses berikutnya.</p>
        <fig id="figure-panel-bf488896e069873ad3d5cf17b808da41">
          <label>Figure 6</label>
          <caption>
            <title>Program Crawl Data</title>
            <p id="paragraph-bda28f37e8bc797574da2da6ac30155e" />
          </caption>
          <graphic id="graphic-23cfb1041a2266c872eadf9805566c57" mimetype="image" mime-subtype="png" xlink:href="1143 6 (1) (1).png" />
        </fig>
        <p id="_paragraph-32">bagian-bagian dari perintah tersebut:</p>
        <list list-type="bullet" id="list-b41ba462f477bf5bb128b60881234ad7">
          <list-item>
            <p>npx tweet-harvest@2.6.0: Ini adalah perintah yang dijalankan. npx adalah utilitas untuk menjalankan paket npm tanpa menginstalnya secara global. tweet-harvest@2.6.0 adalah nama paket yang akan dijalankan, dengan versi spesifiknya.</p>
          </list-item>
          <list-item>
            <p>-o "israel-palestine5.csv": Ini adalah opsi perintah untuk menentukan nama file output dari hasil crawling data X. Dalam hal ini, file output akan disimpan dengan nama 'israel-palestine5.csv'.</p>
          </list-item>
          <list-item>
            <p>-s "israel lang:id": Ini adalah opsi perintah untuk menentukan kata kunci pencarian. Data yang akan di-crawl adalah data yang terkait dengan kata kunci "israel" dalam bahasa Indonesia ('lang:id').</p>
          </list-item>
          <list-item>
            <p>--tab "LATEST": Ini adalah opsi perintah untuk menentukan tab atau bagian dari hasil pencarian X yang akan diambil. Dalam hal ini, kita hanya akan mengambil data dari tab "LATEST" atau yang terbaru.</p>
          </list-item>
          <list-item>
            <p>-l 1000: Ini adalah opsi perintah untuk menentukan batas jumlah tweet yang akan diambil. Dalam contoh ini, kita akan mengambil maksimal 1000 tweet.</p>
          </list-item>
          <list-item>
            <p>--token {X_auth_token}: Ini adalah opsi perintah untuk menentukan token otentikasi X yang diperlukan untuk mengakses API X. {X_auth_token} adalah placeholder untuk token otentikasi yang seharusnya diganti dengan token yang valid.</p>
          </list-item>
        </list>
      </sec>
      <sec id="heading-ece7b8761cb4c13ca209e65bfc50323b">
        <title>
          <bold id="bold-e8ca7f316bc108c423a0d467299ca6a6">B. Cleansing Data</bold>
        </title>
        <p id="_paragraph-33">Berikut adalah kode Python sederhana untuk melakukan cleansing data teks setelah crawling. Kode ini menggunakan library `re` untuk ekspresi reguler dan `nltk` untuk pemrosesan bahasa alami:</p>
        <fig id="figure-panel-c4df0117ec6e8b0a5d3224373a026820">
          <label>Figure 7</label>
          <caption>
            <title>Program Cleaning Data</title>
            <p id="paragraph-51debb6e9b4a5f97771ffcdec227eb6c" />
          </caption>
          <graphic id="graphic-35b2a9580d46b279ef1929ef857bbfde" mimetype="image" mime-subtype="png" xlink:href="1143 7 (1) (1).png" />
        </fig>
        <p id="_paragraph-34">Penjelasan langkah demi langkah:</p>
        <list list-type="bullet" id="list-5b4228bf4d5d8046b2d8d6dfc3cb7a37">
          <list-item>
            <p>Hapus URL, mention, dan hashtag: Menggunakan `re.sub` untuk menghapus pola URL (`http\S+`, `www\S+`, `https\S+`), mention (`@\w+`), dan hashtag (`#\w+`).</p>
          </list-item>
          <list-item>
            <p>Hapus tanda baca dan karakter khusus: Menggunakan `re.sub` untuk menghapus karakter selain huruf dan spasi (`[^\w\s]`).</p>
          </list-item>
          <list-item>
            <p>Ubah teks menjadi huruf kecil: Menggunakan `text.lower()` untuk mengonversi teks menjadi huruf kecil.</p>
          </list-item>
          <list-item>
            <p>Hapus angka: Menggunakan `re.sub` untuk menghapus angka (`\d+`).</p>
          </list-item>
          <list-item>
            <p>Hapus stopwords: Menggunakan `stopwords` dari `nltk` untuk menghapus kata-kata umum yang tidak signifikan.</p>
          </list-item>
          <list-item>
            <p>Lemmatization: Menggunakan `WordNetLemmatizer` untuk mengubah kata ke bentuk dasarnya.</p>
          </list-item>
        </list>
        <p id="_paragraph-35">Setelah proses cleansing selesai proses akan dibagi menjadi 2 yaitu:</p>
        <list list-type="bullet" id="list-77e61bd998131bff3c486469285c1b52">
          <list-item>
            <p>Pelabelan data yang dilakukan secara manual oleh peneliti</p>
          </list-item>
          <list-item>
            <p>Tokenisasi yang akan di proses menggunakan BERT</p>
          </list-item>
        </list>
      </sec>
      <sec id="heading-4219c835dd140f05e7e7c53b301a6979">
        <title>
          <bold id="bold-36014821291bbce2da837ef3a0efec84">C. Pelabelan Data</bold>
        </title>
        <p id="_paragraph-36">Labeling data dilakukan secara manual menggunakan exel. Tahap pelabelan data dilakukan secara mandiri oleh peneliti. Pelabelan dilakukan berdasarkan sentiment yang terkandung dalam tweet. Pemilihan sentimen dilakukan dengan melihat tweet yang di dapatkan dari proses Crawl Data. Untuk label sentimen di bagi menjadi 3 yaitu positive, netral, negative</p>
        <fig id="figure-panel-8cb426fc12c7ed0a06dfe6672a260241">
          <label>Figure 8</label>
          <caption>
            <title>Hasil Pelabelan Manual</title>
            <p id="paragraph-3345aa014e7a179a90d1cd81829a8b87" />
          </caption>
          <graphic id="graphic-20e3f9a46a3bd4baaa5468dd4e61e132" mimetype="image" mime-subtype="png" xlink:href="1143 8 (1) (1).png" />
        </fig>
      </sec>
      <sec id="heading-3a83c248cf253307da42c48de022ad3b">
        <title>
          <bold id="_bold-29">D. Implementasi BERT</bold>
        </title>
        <p id="_paragraph-37">Implementasi BERT akan dilakukan beberapa tahapan, yakni tokenisasi, pemodelan, dan prediksi sentimen. Setelah dataset selesai melalui tahap cleansing data, kemudian model akan melakukan tokenisasi pada dataset. Proses tokenisasi menggunakan Tokenizer.</p>
        <p id="_paragraph-38">Penjelasan Langkah-Langkah</p>
        <p id="paragraph-7264ce9ce8471606a5986d4892e6a6aa"><bold id="bold-81c362fa3f6a3026dd93a1192bfbc359">1. </bold><bold id="bold-a4be63931bd60622cab13fc0601eeb79">Inisialisasi Model dan Tokenizer</bold>:<bold id="bold-7dd318e6456d2b22c314f2b41424004a"> </bold></p>
        <p id="_paragraph-39">Tokenisasi adalah proses mengubah teks mentah menjadi token yang dapat diproses oleh model pembelajaran mesin. Dalam konteks kode Anda, tokenisasi dilakukan oleh tokenizer dari model Transformer</p>
        <fig id="figure-panel-4804caa03762a677b712e8d4e72d5b70">
          <label>Figure 9</label>
          <caption>
            <title>Program Tokenizer oleh BERT</title>
            <p id="paragraph-278c19d5192a27701dad7afc8c31e468" />
          </caption>
          <graphic id="graphic-6118c1185558543032e2b79c14b5f1dd" mimetype="image" mime-subtype="png" xlink:href="1143 9 (1) (1).png" />
        </fig>
        <list list-type="bullet" id="list-ad2c11188983af58361ce7546c45409e">
          <list-item>
            <p>model_name adalah nama model yang digunakan.</p>
          </list-item>
          <list-item>
            <p>AutoModelForSequenceClassification dan AutoTokenizer menginisialisasi model dan tokenizer.</p>
          </list-item>
        </list>
        <p id="paragraph-80e2bc9db6da4b8b5136cc1f98feea1a">
          <bold id="bold-a0e159092961dccebd3799936e2bd994">2. </bold>
          <bold id="_bold-31">Fungsi sentiment_score:</bold>
        </p>
        <fig id="figure-panel-c30eb0360b8ce01ccec23e341d2a41ef">
          <label>Figure 10</label>
          <caption>
            <title>Program Tokenizer oleh BERT</title>
            <p id="paragraph-ff921d3766a38033c1e4bef4f775bc99" />
          </caption>
          <graphic id="graphic-638f882c44546bd30839d9677f741ddf" mimetype="image" mime-subtype="png" xlink:href="1143 10 (1) (1) (1).png" />
        </fig>
        <list list-type="bullet" id="list-b18f86021f76b6039c1c9805acdeba74">
          <list-item>
            <p>Mengambil teks input (data).</p>
          </list-item>
          <list-item>
            <p>Menggunakan tokenizer.encode(data, return_tensors='pt') untuk melakukan tokenisasi dan mengubah teks menjadi tensor PyTorch.</p>
          </list-item>
          <list-item>
            <p>Menjalankan tensor token melalui model (result = model(tokens)).</p>
          </list-item>
          <list-item>
            <p>Memprediksi kelas sentimen dengan melihat argmax dari logits yang dihasilkan (predicted_class).</p>
          </list-item>
          <list-item>
            <p>Mengembalikan label sentimen berdasarkan prediksi kelas.</p>
          </list-item>
        </list>
        <p id="paragraph-1be83bf5829d862ede728466f9d54c8d"><bold id="bold-37353b15daa8249b53a49bc8df520f0e">3. </bold><bold id="_bold-32">Membaca Data dan Menerapkan Klasifikasi Sentimen</bold>:</p>
        <fig id="figure-panel-d988ce551221289290a5b6ecf1897ed3">
          <label>Figure 11</label>
          <caption>
            <title>Program Menerapkan Klasifikasi Sentimen Pada Data</title>
            <p id="paragraph-3a83aaee8fbc219880a59c23eb08df8b" />
          </caption>
          <graphic id="graphic-8d5c4252e6d9c0884f5d08e080dba976" mimetype="image" mime-subtype="png" xlink:href="1143 11 (1) (1).png" />
        </fig>
        <list list-type="bullet" id="list-e81c892eae7ef8b0e30f20af6cc0b3f8">
          <list-item>
            <p>Membaca data dari file CSV.</p>
          </list-item>
          <list-item>
            <p>Menampilkan kolom yang tersedia dalam CSV.</p>
          </list-item>
          <list-item>
            <p>Menerapkan fungsi sentiment_score pada kolom full_text untuk mendapatkan sentimen dari setiap teks.</p>
          </list-item>
          <list-item>
            <p>Menyimpan hasil klasifikasi ke file CSV baru.</p>
          </list-item>
        </list>
        <p id="paragraph-364b91a5347f483027b47489e54b30a6">
          <bold id="bold-8daa00c4dee086c2549c8fa85209de82">4. </bold>
          <bold id="_bold-33">Menampilkan dan Menghitung Hasil Klasifikasi:</bold>
        </p>
        <fig id="figure-panel-45e5e8b9e3a01c9abb242f2c515fdfb9">
          <label>Figure 12</label>
          <caption>
            <title>Proses editorial di Jurnal UMSIDA</title>
            <p id="paragraph-27deb1cd8f704e3635a5aa60ace0f7f9" />
          </caption>
          <graphic id="graphic-337cd1f1aee01352644ac6b4f14de55e" mimetype="image" mime-subtype="png" xlink:href="1143 12 (1) (1).png" />
        </fig>
        <list list-type="bullet" id="list-eec08216225a7020b54c2a9a626216ee">
          <list-item>
            <p>Menampilkan hasil klasifikasi dari beberapa baris pertama.</p>
          </list-item>
          <list-item>
            <p>Menghitung jumlah dan persentase dari setiap kelas sentimen.</p>
          </list-item>
          <list-item>
            <p>Menampilkan jumlah dan persentase dari setiap sentimen.</p>
          </list-item>
        </list>
        <p id="paragraph-53d99a6ecaafd483d87fe1a7e319e705">
          <bold id="bold-c7a504c1c98ee72107cad6c3ec3b466d">5. </bold>
          <bold id="_bold-34">Contoh</bold>
          <bold id="_bold-35">Output </bold>
          <bold id="_bold-36">Tokenisasi</bold>
        </p>
        <fig id="figure-panel-6f1b1baff0c85565845498ce2f3fff05">
          <label>Figure 13</label>
          <caption>
            <title>Proses editorial di Jurnal UMSIDA</title>
            <p id="paragraph-c4171582f55b36b24efb2aecfc48dffd" />
          </caption>
          <graphic id="graphic-ea91e55beff81c8a010bcb0194a279d4" mimetype="image" mime-subtype="png" xlink:href="1143 13.png" />
        </fig>
        <list list-type="bullet" id="list-4eb1394e2dd3ddf9386691161b082a90">
          <list-item>
            <p>101, 2023, 2003, 1037, 7099, 17942, 22942, 102 adalah token numerik yang dihasilkan dari teks input oleh tokenizer.</p>
          </list-item>
        </list>
      </sec>
      <sec id="heading-3388d79e17195ffbdb45e611a067dec0">
        <title>
          <bold id="bold-9913cfb472c5d577bd029dcb6cf4c3e9">E. Evaluasi</bold>
        </title>
        <p id="_paragraph-40">Dalam melakukan melakukan analisis sentimen menggunakan BERT, Model akan menentukan nilai akurasi setelah melalui pengujian kemudian akan mencoba untuk memprediksi hasil akurasi tertinggi secara keseluruhan menggunakan BERT. Hasil evaluasi yang disajikan mencakup beberapa informasi penting tentang kinerja model klasifikasi, seperti akurasi, precision, recall, dan F1-Score, serta confusion matrix yang memberikan gambaran lebih detail tentang performa model dalam mengklasifikasikan data.</p>
        <p id="_paragraph-41">Dari hasil evaluasi yang diberikan, kita dapat melihat beberapa informasi penting:</p>
        <p id="paragraph-2a1f89e1f4242cdf646d9bdaba0d48c4">
          <bold id="bold-2998cdb29d5515470dfdacb81e277df8">1. </bold>
          <bold id="bold-738b3c89935943ba64afe15ebcfba006">Kolom di df_reference dan df_predicted: Menunjukkan kolom yang ada di </bold>
        </p>
        <p id="_paragraph-42">kedua DataFrame yang akan digabungkan.</p>
        <fig id="figure-panel-f1685377b9118be0ec840902a070d722">
          <label>Figure 14</label>
          <caption>
            <title>Program Menampilkan Kolom</title>
            <p id="paragraph-4ddfb2568e5d4637db4325b29cccb9dc" />
          </caption>
          <graphic id="graphic-9adca6d1bae24949f1c91f5220eda6f0" mimetype="image" mime-subtype="png" xlink:href="1143 14.png" />
        </fig>
        <p id="paragraph-ee321eed2c12901e1b5d664e79ad1bdb">
          <bold id="bold-f87c4ea8202194c71f7304a43ab1467b">2. </bold>
          <bold id="bold-6e0971a2daca607b579a574a9965c7f8">Data gabungan: Merupakan contoh lima baris data setelah kedua </bold>
        </p>
        <p id="_paragraph-43">DataFrame digabungkan. Dalam data gabungan ini, kita memiliki kolom Cleaned_Tweet yang berisi teks tweet, serta kolom sentiment_reference dan sentiment_predicted yang berisi label sentimen yang sesuai dengan teks tweet tersebut.</p>
        <fig id="figure-panel-5698e52ed6eb2274f49846ab26296cc0">
          <label>Figure 15</label>
          <caption>
            <title>Hasil Sentimen</title>
            <p id="paragraph-eecba092f648d93e11df2961ebfefc7d" />
          </caption>
          <graphic id="graphic-6a44af11a708b6eb101d3543b6318854" mimetype="image" mime-subtype="png" xlink:href="1143 15 (1) (1) (1).png" />
        </fig>
        <p id="paragraph-9a0734758705446b202e32ca45997d81">
          <bold id="bold-d066caf66bc7c60d4eb3ca5a7e1a0b7c">3.</bold>
          <bold id="bold-9f4368c6d670bc7adcc6dc9cdd648e41"> Hasil Evaluasi Model: Menunjukkan hasil evaluasi performa model</bold>
        </p>
        <p id="_paragraph-44">klasifikasi sentimen. Di sini, kita memiliki nilai akurasi sebesar 0.93, presisi (rata-rata tertimbang) sebesar 0.95, recall (rata-rata tertimbang) sebesar 0.93, dan F1-Score (rata-rata tertimbang) sebesar 0.94. Semakin tinggi nilai akurasi, presisi, recall, dan F1-Score, semakin baik performa model klasifikasi sentimen tersebut.</p>
        <fig id="figure-panel-76965ef000b502cb677edaa173ecb133">
          <label>Figure 16</label>
          <caption>
            <title>Hasil Evaluasi</title>
            <p id="paragraph-2500c74a1841a4c92be0fdc495d3eee5" />
          </caption>
          <graphic id="graphic-e80eb0a4b441ad2427b0cf306159d642" mimetype="image" mime-subtype="png" xlink:href="1143 16.png" />
        </fig>
        <p id="paragraph-f8d8d63212addf77e97f9235e0c76285">
          <bold id="bold-c0152ee283358cf3ea08c07d2e4d140e">4. Confusion Matrix: Merupakan matriks yang menunjukkan jumlah prediksi</bold>
        </p>
        <p id="_paragraph-45">yang benar dan salah untuk setiap kelas sentimen. Baris pada confusion matrix menunjukkan true labels (label sebenarnya), sedangkan kolomnya menunjukkan predicted labels (label yang diprediksi oleh model). Dari confusion matrix, kita dapat melihat bahwa:</p>
        <fig id="figure-panel-6cef4e5832c982aebf86f16eb469328c">
          <label>Figure 17</label>
          <caption>
            <p id="paragraph-d9fd33d0b857301bb5309e820133716c" />
          </caption>
          <graphic id="graphic-29869277f849d93921a1df239ae195cd" mimetype="image" mime-subtype="png" xlink:href="1143 17 (1) (1).png" />
        </fig>
        <list list-type="bullet" id="list-3b693f9bee7b9fe55eb007cfe7224d8d">
          <list-item>
            <p>Untuk kelas pertama (sentimen negatif), terdapat 2570 prediksi yang benar, 103 prediksi yang salah sebagai sentimen netral, dan 86 prediksi yang salah sebagai sentimen positif.</p>
          </list-item>
          <list-item>
            <p>Untuk kelas kedua (sentimen netral), terdapat 139 prediksi yang benar, 4 prediksi yang salah sebagai sentimen negatif, dan 5 prediksi yang salah sebagai sentimen positif.</p>
          </list-item>
          <list-item>
            <p>Untuk kelas ketiga (sentimen positif), terdapat 286 prediksi yang benar, 10 prediksi yang salah sebagai sentimen negatif, dan 13 prediksi yang salah sebagai sentimen netral.</p>
          </list-item>
        </list>
        <p id="_paragraph-46">Dengan demikian, hasil evaluasi ini memberikan gambaran tentang seberapa baik model klasifikasi sentimen dalam memprediksi label sentimen pada data tweet yang diberikan.</p>
        <fig id="figure-panel-1a1afae0a65ff1ee9be65b47a6e2d382">
          <label>Figure 18</label>
          <caption>
            <title>Tabel Distribution</title>
            <p id="paragraph-d9726e2fadf2f5fab1d43584115c8bfc" />
          </caption>
          <graphic id="graphic-f631f3751a1581db17a612d04303187d" mimetype="image" mime-subtype="png" xlink:href="1143 18.png" />
        </fig>
        <fig id="figure-panel-b25db878ce417d57f88616fd11e6d49e">
          <label>Figure 19</label>
          <caption>
            <title>Tabel Histogram</title>
            <p id="paragraph-562ff4938110f7fa4dc7af97a1aff074" />
          </caption>
          <graphic id="graphic-1c764019627f38c24befdb99160c221d" mimetype="image" mime-subtype="png" xlink:href="1143 19.png" />
        </fig>
      </sec>
    </sec>
    <sec id="heading-d95da0ee9cb864b3775ec195597664b6">
      <title>
        <bold id="bold-4222c9bfd00a052757e56746d5e551e2">Simpulan</bold>
      </title>
      <p id="_paragraph-47">Penerapan sentimen analisis berfokus nlptown/bert-base-multilingual-uncased-sentiment untuk melihat seberapa akurat BERT model terbaru dalam menentukan penilaian terhadap ulasan berupa Tweet. Penelitian ini melakukan beberapa percobaan dengan menggunakan metode NLP (Natural Language Processing). Hasil evaluasi menggunakan metode NLP menunjukkan bahwa model klasifikasi sentimen telah memberikan kinerja yang memuaskan dalam memprediksi sentimen dari teks. Dari akurasi sebesar 0.93, kita dapat menyimpulkan bahwa sekitar 93% dari total prediksi yang dilakukan oleh model adalah benar. Namun, penting untuk memahami performa model secara lebih rinci dengan melihat presisi, recall, dan F1-Score. Presisi model, yang mengukur seberapa banyak dari prediksi positif yang sebenarnya benar, mencapai nilai 0.95. Ini berarti sebagian besar dari teks yang diprediksi sebagai positif oleh model memang memiliki sentimen positif. Namun demikian, nilai recall sebesar 0.93 menunjukkan bahwa model mampu mengidentifikasi sebagian besar teks dengan sentimen positif yang sebenarnya. F1-Score, yang merupakan nilai rata-rata harmonik antara presisi dan recall, mencapai 0.94, menunjukkan keseimbangan yang baik antara presisi dan recall model. Namun, meskipun model telah memberikan hasil yang baik secara keseluruhan, kita juga perlu memeriksa confusion matrix untuk melihat detail performa model untuk setiap kelas sentimen. Dari confusion matrix, kita dapat melihat bahwa sebagian besar prediksi adalah benar, terutama untuk kelas sentimen negatif dan positif. Namun, masih terdapat beberapa prediksi yang salah, terutama pada kelas sentimen netral. Oleh karena itu, walaupun model telah memberikan hasil yang memuaskan, masih ada ruang untuk peningkatan melalui pengembangan teknik NLP yang lebih canggih dan penanganan data yang lebih baik. Dengan demikian, model ini dapat digunakan dengan percaya diri untuk menganalisis sentimen pengguna dalam berbagai konteks, seperti analisis media sosial, pemantauan merek, dan pengelolaan reputasi perusahaan, namun perbaikan lebih lanjut tetap diperlukan untuk memaksimalkan keakuratan dan kinerja model di masa mendatang.</p>
    </sec>
  </body>
  <back />
</article>