• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN SISTEM

3.2. Arsitektur Umum

Terdapat beberapa tahapan pemrosesan yang diterapkan dalam penelitian ini. Tahapan-tahapan tersebut yakni mengumpulkan data yang diterapkan pada proses training dan testing. Langkah berikutnya yaitu Pre-processing yakni proses Cleaning, Case Folding, Punctual Removal, Normalization, Stopword Removal, dan Stemming. Kemudian data tersebut akan melalui proses pembobotan kata dengan menggunakan tf-idf. Kemudian, data akan dilatih dan menghasilkan suatu model yang akan digunakan pada proses uji. Arsitektur umum yang menggambarkan metode penelitian terlihat pada Gambar 3.1

Gambar 3.1. Arsitektur Umum

18

3.2.1 Input

Input pada penelitian ini berupa data review produk kecantikan dan terdiri dari enam kategori produk kecantikan seperti sun protection, serum, toner, scrub, perfume dan lip product. Data berupa kumpulan review sudah dipisah berdasarkan kategori secara manual ke 3 bagian yakni positif, negatif, dan netral. Setiap review yang dinyatakan positif (1) adalah ketika menyatakan sentimen berdasarkan pernyataan bahagia dan persetujuan. Review yang dinyatakan negative (-1) ketika menyatakan pernyataan kecewa, amarah dan penolakan. Dan untuk review yang dinyatakan netral (0) adalah ketika aspek yang bersangkutan tidak terdapat didalam kalimat review. Data tersebut akan menjadi acuan untuk sistem dapat dilatih. Contoh kalimat review diuraikan pada tabl 3.2 berikut.

Tabel 3.2. Contoh Kalimat Review

Kalimat Kelompok Aspek

Harga Kemasan Kualitas Aroma 1. aku tidak suka karena di wajah aku ini iritasi

dan kering banget. untuk harga ini cukup terjangkau

1 0 -1 0

2. produk terbaik yang aku punya karena cocok dan ampuh banget di wajah aku yang kering.

tapi ini bau dan aneh. dia terbuat dari kaca sehingga gampang pecah

0 -1 1 -1

3. Aku suka banget sama kemasannya karena dia praktis dan kokoh. Untuk isi segini mahal ini menurut aku dia juga tenang di wajah, dan untuk aroma ini harum

-1 1 0 1

3.2.2 Text Processing

Pada tahap ini data sudah ada akan di proses pada tahapan preprocessing, yaitu;

3.2.2.1 Cleaning

Cleaning merupakan tahap awal yang dilakukan. Cleaning befungsi membersihkan data dari term yang tidak diperlukan yang dapat mempengaruhi makna kata. Pada penelitian ini, proses cleaning dilakukan untuk menghilangkan emoji dan beberapa entitas karakter seperti spasi,

petik ganda, dan karaker yang tidak dibutuhkan sehingga dapat mengurangi derau dari data yang akan digunakan. Contoh tahap cleaning ditunjukkan tabel 3.3.

Tabel 3.3. Tahapan Cleaning

Review sebelum diproses Review setelah Proses Cleaning SUMPAH YA PRODUK INI BIKIN

SEDIH BANGET!!!! BURUK BANGET!!!

😭&nbsp pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu

harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

SUMPAH YA PRODUK INI BIKIN SEDIH BANGET!!!! BURUK BANGET!!!

pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

3.2.2.2 Case Folding

Proses ini merupakan tahap yang berfungsi untuk melakukan penyeragaman seluruh huruf kapital pada kalimat review menjadi huruf kecil (lowercase). Penyeragaman karakter pada tahap ini mempermudah untuk menghapus karakter yang tidak dibutuhkan untuk proses berikutnya. Penerapan proses case folding ditunjukkan tabel 3.4.

Tabel 3.4. Tahapan Case Folding

Review sebelum Proses Case Folding Review setelah Proses Case Folding SUMPAH YA PRODUK INI BIKIN SEDIH

BANGET!!!! BURUK BANGET!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

sumpah ya produk ini bikin sedih banget!!!!

buruk banget!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

3.2.2.3 Punctual Removal

Punctual Removal dilakukan untuk menghilangkan semua tanda baca dan angka yang terdapat pada review kalimat sehingga menjadi karakter yang lebih sederhana untuk diproses pada tahap berikutnya. Contoh tahap punctual removal ditunjukkan pada tabel 3.5.

20

Tabel 3.5. Tahapan Punctual Removal

Review sebelum Proses Punctual Removal Review setelah Proses Punctual Removal sumpah ya produk ini bikin sedih banget!!!!

buruk banget!!! pas pake bikin muka jd ungu, padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu, bikin muka ungu! udah gitu harganya mahal kan jadi kecewa banget. ga akan repurchase lg.

sumpah ya produk ini bikin sedih banget buruk banget pas pake bikin muka jd ungu padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu bikin muka ungu udah gitu harganya mahal kan jadi kecewa banget ga akan repurchase lg

3.2.2.4 Normalization

Normalization merupakan proses yang dilakukan untuk menormalisasi kata dalam data. Tahap ini dilakukan untuk memperbaiki penulisan kata seperti singkatan dan typo sehingga kata yang dihasilkan menjadi terstruktur. Struktur kalimat dan kosakata, merupakan hal yang mendasar pada proses normalization. Hasil yang lebih baik akan diperoleh ketika variasi kata dalam kalimat lebih spesifik dan dalam jumlah yang sedikit. Pada penelitian ini, penulis menggunakan sebuah dictionary yang telah disediakan sebelumnya dan penulis juga menyusun dictionary yang baru sehingga pemrosesan pada tahap normalisasi akan lebih baik. Proses yang dilakukan pada tahap ini dengan melakukan penormalan kata singkatan seperti “bikin” menjadi “buat”,

“pake” menjadi “pakai”, “jd” menjadi “jadi”, “bener” menjadi “benar”, “matte” menjadi

“kering”, “gt” menjadi “begitu”, “ku” menjadi “aku”, “yg” menjadi “yang”, “udah” menjadi

“sudah”, “ga” menjadi “tidak”, “repurchase” menjadi “beli lagi”, “lg” menjadi “lagi”, serta kata-kata typo lain yang tidak sesuai dengan bahasa Indonesia. Contoh tahap normalization ditunjukkan pada tabel 3.6.

Tabel 3.6. Tahapan Normalization

Review sebelum Proses Normalization Review setelah Proses Normalization sumpah ya produk ini bikin sedih banget

buruk banget pas pake bikin muka jd ungu padahal ini bener bener bikin matte gt di muka ku yg super berminyak ini tapi sayang nya itu bikin muka ungu udah gitu harganya mahal kan jadi kecewa banget ga akan repurchase lg

sumpah ya produk ini buat sedih banget buruk banget pas pakai buat muka jadi ungu padahal ini benar benar buat kering begitu di muka aku yang super berminyak ini tapi sayang nya itu buat muka ungu sudah begitu harganya mahal kan jadi kecewa banget tidak akan beli lagi lagi

3.2.2.5 Stopword Removal

Stopword Removal ialah proses yang dilakukan untuk menghilangkan kata-kata yang sering muncul dan tidak berguna serta kata hubung lainnya tidak bermakna. Tahap ini dilakukan untuk menghilangkan kalimat menjadi kalimat yang lebih sederhana. Pada penelitian ini penulis menggunakan library NLTK (Natural Language Tool Kit) dalam proses stopword removal.

Adapun contoh kata yang akan dihapus seperti “ya”, “ini”, “buat”, “padahal”, “benar”, “di”,

“aku”, “yang”, “tapi”, “nya”, “itu”, “sudah”, “begitu”, “kan”, “jadi”, “akan”, “beli”. Contoh tahap stopword removal ditunjukkan pada tabel 3.7.

Tabel 3.7. Tahapan Stopword Removal

Review sebelum diproses Review setelah dilakuaStopword Removal sumpah ya produk ini buat sedih banget

buruk banget pas pakai buat muka jadi ungu padahal ini benar benar buat kering begitu di muka aku yang super berminyak ini tapi sayang nya itu buat muka ungu sudah begitu harganya mahal kan jadi kecewa banget tidak akan beli lagi lagi

sumpah produk sedih banget buruk banget pas pakai muka ungu kering muka super berminyak sayang muka ungu harganya mahal kecewa banget tidak beli

3.2.2.6 Stemming

Stemming dilakukan untuk menghilangkan imbuhan kata yang ada dalam kalimat review menjadi kata dasar. Penghilangan imbuhan kata ditujukan dalam pemudahan menemukan kata yang muncul agar sesuai makna. Pada penelitian ini, stemming dilakukan menggunakan library Sastrawi, namun pada pemrosesannya penggunaan library Sastrawi membutuh waktu yang cukup tinggi dalam prosesnya. Contoh tahap stemming ditampilkan pada tabel 3.8 berikut

Tabel 3.8. Tahapan Stemming

Review sebelum Stemming Review setelah Proses Stemming sumpah produk sedih banget buruk banget

pas pakai muka ungu kering muka super berminyak sayang muka ungu harganya mahal kecewa banget tidak beli

sumpah produk sedih banget buruk banget pas pakai muka ungu kering muka super minyak sayang muka ungu harga mahal kecewa banget tidak beli

22

3.2.3. TF-IDF (term frequency-inverse document frequency)

TF-IDF ialah salah satu teknik pembobotan kata yang digunakan untuk mencerminkan a relevan kata muncul dalam sebuah dokumen. Nilai bobot yang terdapat didalam sebuah kata dapat ditentukan dengan menggunakan kata unik dalam dokumen agar dapat diproses menjadi model yang akan digunakan pada klasifikasi Extreme Gradient Boosting. Nilai TF akan semakin besar ketika nilai kata yang muncul pada dokumen banyak. Pada nilai IDF, nilai akan semakin besar ketika kata yang muncul pada dokumen sedikit.

Nilai parameter pada jumlah dokumen dapat dijadikan sebagai nilai minimal pembobotan kata yang muncul. Nilai tersebut berupa min_df = 1 dan ngram_range = (1,1).

Nilai akurasi akan lebih baik jika dalam penentuan nilai bobot dilakukan penentuan parameter (G.A. Dalaorao, et al 2019). Pada penelitian ini penerapan TF-IDF dilakukan dengan memanfaatkan n = 1 (unigram). N-gram merupakan teknik ekstraksi fitur TF-IDF yang menghasilkan n kata menjadi satu bagian dengan cara memisahkan kata dalam kalimat. Contoh penerapan teknik unigram TF-DF adalah mengubah kata “aroma produk harum” menjadi [‘aroma’, ‘produk’, ‘harum’]. Contoh penerapaan untuk menghitung skor TF, DF, dan IDF berdasarkan 2 dokumen review berikut ditampilkan pada tabel 3.9, tabel 3.10, dan tabel 3.11.

Dokumen 1 : harga murah banget. namun menurut aku aroma ini bau dan menyengat banget Dokumen 2 : produk ini harga murah. ini cair banget. dan aroma harum

Tabel 3.9. Kemunculan Term pada Dokumen term D1 D2 Skor TF

Tabel 3.9. Lanjutan Kemunculan Term pada Dokumen

dan 1 1 2/13 = 0.15

menyengat 1 0 1/13 = 0.07 banget 1 1 2/13 = 0.15 produk 1 0 1/13 = 0.07 cair 0 1 1/13 = 0.07 harum 0 1 1/13 = 0.07

Pada nilai df, didapat dari jumlah dokumen letak term muncul, ditunjukkan tabel 3.10.

Tabel 3.10. Skor DF term D1 D2 Skor DF

harga 1 1 2

murah 1 1 2

banget 1 0 1

namun 1 0 1

menurut 1 0 1

aku 1 0 1

aroma 1 1 2

ini 1 2 3

bau 1 0 1

dan 1 1 2

menyengat 1 0 1

banget 1 1 2

produk 1 0 1

cair 0 1 1

harum 0 1 1

24 Dengan menerapkan persamaan 2.2, dapat dilakukan untuk menghitung nilai idf, ditunjukkan tabel 3.11.

Dengan menerapkan persamaan 2.3 untuk menghitung nilai tf-idf, ditunjukkan tabel 3.12.

Tabel 3.12. Nilai TF-IDF

Tabel 3.12. Lanjutan Nilai TF-IDF

term Skor TF Skor IDF Skor TF-IDF

dan 0.15 0.18 0.027

menyengat 0.07 0 0

banget 0.15 0.18 0.027

produk 0.07 0 0

cair 0.07 0 0

harum 0.07 0 0

3.2.4. Extreme Gradient Boosting (XGBoost)

Extreme Gradient Boosting ialah metode yang dipalikasikan pada penelitian ini. Metode ini berupa metode ensamble berdasarkan gradient boosting. Nilai error dapat diperkecil pada saat model baru dibuat. Model yang belajar akan membentuk garis vertikal dan horizontal untuk proses klasifikasi, sehingga akan menghasilkan hasil yang baik. Pada metode ini, ukuran depth dan jumlah pohon merupakan hal yang penting untuk mengurangi loss function yang digunakan sebagai nilai kualitas struktur pohon. Apabila nilai semakin kecil, maka model yang dihasilkan juga semakin baik. Sehingga perlu dilakukan pemangkasan atau pruning untuk setiap pohon yang memiliki performa kurang baik.

Adapun penerapan yang dilakukan dalam membangun pohon pada metode Extreme Gradient Boosting:

Data yang sudah melewati proses preprocessing akan memasuki tahap pengklasifikasian menggunakan XGBoost dan data tersebut diinisialisasi menjadi data [X,Y] seperti yang diuraikan pada tabel 3.13 merupakan contoh data yang berikan:

Tabel 3.13. Data Membangun Pohon XGBoost

X Y

3 0

9 1

15 1

18 0

26 1. Lakukan prediksi awal. Pada penelitian ini nilai parameter base_score atau prediksi

awal f0(x) adalah 0.5.

2. Lakukan proses perhitungan untuk mencari nilai error atau residuals. Hasil proses perhitungan ditunjukkan tabel 3.14

Tabel 3.14. Perhitungan Error ke-1 X Y f0(x) Ŷ = y-f0(x)

3 0 0.5 -0.5

9 1 0.5 0.5

15 1 0.5 0.5

18 0 0.5 -0.5

3. Pada model latih, untuk mencegah split, pohon yang dibangun dibagi menjadi beberapa bagian, ditampilkan diGambar 3.2. Cara perhitungan ditampilkan digambar 3.2 didapat pada perhitungan tabel 3.14.

Gambar 3.2. Contoh Membangun Pohon XGBoost ke-1

Proses pada bagian kedua ditampilkan diGambar 3.3, dan proses perhitungan ditunjukkan tabel 3.15.

Tabel 3.15. Perhitungan Error ke-2

X Y Fo(x) Ŷ

3 0 0.5 -0.5

9 1 0.5 0.5

15 1 0.5 0.5

18 0 0.5 -0.5

Gambar 3.3. Contoh Membangun Pohon XGBoost ke-2

Proses pada bagian ketiga seperti pada Gambar 3.4, dan proses perhitungan diuraikan dalam tabel 3.16

Tabel 3.16. Perhitungan Error ke-3

X Y Fo(x) Ŷ

3 0 0.5 -0.5

9 1 0.5 0.5

15 1 0.5 0.5

18 0 0.5 -0.5

Gambar 3.4. Contoh Membangun Pohon XGBoost ke-3

4. Langkah berikutnya adalah menentukan batasan nilai root dengan menghitung nilai rata-rata antara 2 titik split dengan menerapkan persamaan 2.7 dan persamaan 2.8.

Proses perhitungan ditunjukkan di Gambar 3.5

28

Gambar 3.5. Perhitungan nilai similiarity dan gain

5. Lakukan pemisahan untuk pohon yang memiliki nilai gain maksimal dan akan dilakukan split yang ditunjukkan di Gambar 3.6

Gambar 3.6. Contoh Perhitungan nilai similiarity dan gain pada saat split

6. Dilanjutkan dengan melakukan pemangkasan untuk memperkecil ukuran pohon.

Berdasarkan gambar 3.6 dapat disimpulkan internal root x<4 menjadi konstruksi pohon karena memiliki nilai gain yang maksimal. Proses pemangkasan ditunjukkan pada gambar 3.7

Gambar 3.7. Contoh Proes Pemangkasan

7. Lakukan perhitungan untuk mencari nilai output untuk mendapatkan model pohon dengan menggunakan persamaan 2.9. Proses perhitungan output ditampilkan diGambar 3.8.

Gambar 3.8. Perhitungan Output

8. Lakukan kembali perulangan pada langkah ketiga untuk mendapatkan hasil terbaik pada pohon XGBoost.

Dokumen terkait