• Tidak ada hasil yang ditemukan

KESIMPULAN DAN SARAN

Bab ini membahas mengenai kesimpulan dan saran berdasarkan analisis dan pengujian yang dilakukan dalam menyelesaikan permasalahan untuk meringkas teks berita online secara otomatis menggunakan algoritma TextTeaser.

Kesimpulan

Dari penelitian yang telah dilakukan dapat disimpulkan bahwa:

1. Dari 3075 data berita yang dicoba, peringkasan menggunakan algoritma TextTeaser mampu memperoleh nilai F-Score lebih besar dan atau sama dengan 0.5% (≥ 0.5%) pada total 60,11% data. Seterusnya data tersebut terdapat nilai F-Score yang dianggap baik (>0,7) pada 31,36% atau sekitar 884 berita. Hal ini berarti peringkasan menggunakan algoritma memiliki nilai evaluasi yang cukup tinggi pada lebih dari 50% total data. Dengan kata lain algoritma TextTeaser cukup berhasil dalam menentukan kalimat-kalimat penting dalam teks berita. 2. Kesalahan penulisan (kata) yang disebabkan oleh jurnalis berita (human error)

akan diproses seperti kata yang tidak salah lainnya. Sehingga kemungkinan kata yang salah akan tetap ada pada hasil peringkasan.

Saran

Masih banyak sekali yang perlu ditingkatkan dalam penelitian tentang sistem peringkas berita online ini. Namun menurut penulis, ada beberapa hal yang perlu untuk ditingkatkan lagi pada penelitian selanjutnya yaitu:

1. Pengambilan teks berita menggunakan teknik yang secara otomatis memperbaiki kesalahan penulisan oleh jurnalis (human error).

2. Pada dasarnya tingkat kepentingan informasi dalam sebuah teks berita relatif berbeda untuk setiap orang. Memodifikasi algoritma TextTeaser sehingga hasil

ringkasan berdasarkan kriteria pengguna. Sehingga diharapkan pengguna mendapatkan hasil ringkasan yang sesuai dengan kebutuhannya.

3. Penambahan fitur aplikasi berupa opsi untuk modifikasi tampilan bacaan sehingga pengguna bisa menyesuaikan sesuai keinginannya, text-to-speech untuk membacakan hasil ringkasan.

BAB 2

LANDASAN TEORI

Berita

Berita merupakan informasi yang baru saja terjadi dan berguna untuk publikasikan terhadap khalayak melalui berbagai media baik cetak maupun digital atau bahkan dari mulut ke mulut. Kata berita sendiri berasal dari Sanskerta yaitu “vṛtta” yang berarti terjadi atau ada.

Berita tertulis pertama kali dibuat pada abad ke-8 SM di Cina (Zhang, 2007). Pada abad ke-21 gaya penyampaian berita mengalami perubahan yang dramatis, yang membuat setiap kejadian yang baru saja terjadi secara instan akan diketahui oleh semua orang yang terhubung ke Internet.

Karakteristik berita

Setiap berita memiliki perbedaan satu sama lain, namun menurut Saxena (2013) minimal setiap berita harus memiliki beberapa karakteristik berikut :

1. Adil dan seimbang maksudnya berita disampaikan dari berbagai sudut pandang dan tidak mengacu hanya pada satu sudut pandang saja.

2. Akurat, informasi dalam berita ditulis dengan informasi seakurat mungkin. Sehingga berita yang ditulis semestinya sudah melalui proses cross-check atau proses peninjauan kembali.

3. Sumber, berita memiliki sumber informasi yang jelas. Walaupun pada beberapa jenis berita tertentu yang mewajibkan sumber anonim.

4. Ringkas, penulisan berita tidak boleh bertele-tele. Berita harus ditulis singkat namun tetap berisi fakta-fakta penting.

Penyampaian berita tentu harus memperhatikan nilai-nilai yang terkandung di dalamnya. Sehingga kualitas berita dapat ditingkatkan. Menurut Setiawan (2014) yang merujuk kepada (Djuroto, 2004) bahwa berita harus mengandung sepuluh nilai yaitu:

1. Magnitude, pengaruh yang ditimbulkan dengan menyebar luaskan berita pada khalayak.

2. Significant, tingkat kepentingan berita sehingga layak untuk dipublikasikan. 3. Actuality, kejadian yang benar-benar terjadi baru-baru ini.

4. Proximity, jarak kejadian yang semakin dekat dengan khalayak semakin perlu untuk diberitakan.

5. Prominence, kejadian yang menonjol untuk diberitakan.

6. Surprise, unsur kejutan dan isi berita yang tidak mudah ditebak.

7. Clarity, peristiwa harus benar-benar terjadi dan informasi yang akan disampaikan harus jelas dan tidak terlalu banyak opini.

8. Impact, kejadian yang akan diberikan memberikan dampak yang terasa untuk khalayak.

9. Conflict, suatu masalah yang terjadi perlu untuk diberitakan sehingga masalah tersebut diketahui.

10.Human Interest, berita yang mencakup setiap ketertarikan seperti bidang olah raga, teknologi, dan sebagainya.

Berita yang akan dipublikasikan akan lebih berarti jika berita paling tidak memuat sepuluh nilai tersebut.

Peringkasan Teks Otomatis

Memahami isi tulisan yang panjang bukanlah hal yang mudah (Aristoteles, 2014), karena informasi dalam teks bacaan hanya bisa diperoleh dengan membaca seluruh isinya dan hal ini tentu memerlukan waktu yang relatif lama (Fachrurrozi, et al. 2013). Ringkasan teks akan mempercepat pengguna untuk mendapatkan informasi yang dibutuhkan tanpa harus menghabiskan waktu yang banyak dan upaya keras dalam membaca keseluruhan teks (Deshpande & Lobo, 2013). Oleh karena itu peringkasan teks otomatis sangat diperlukan untuk masalah tersebut. Hal ini sudah diketahui sebagai bidang riset yang penting oleh beberapa organisasi seperti defense advanced research projects agency (DARPA), Pacific Rim hingga sektor komersial seperti pada industri telekomunikasi dan penyaringan untuk information retrieval berbasis web.

Ringkasan teks dapat diperoleh melalui peringkasan secara manual dan peringkasan secara otomatis. Peringkasan teks yang dilakukan secara manual oleh manusia melibatkan pemahamannya tentang topik yang akan diringkas, penafsiran dan proses lainnya. Sehingga akan menghasilkan sesuatu yang baru, yang tidak terdapat dalam teks asli karena dalam proses peringkasan telah dipadukan dengan pengetahuan orang yang meringkas.

Peringkasan teks otomatis atau automatic text summarizaton (ATS) adalah program komputer berisi perintah atau algoritma yang mampu memilih kalimat-kalimat penting dalam suatu teks dan menghimpunnya dalam teks baru yang lebih ringkas sehingga bisa langsung digunakan. Peringkasan ini akan menggunakan pendekatan selection-based yang mengekstraksi dan menganalisis fitur-fitur dalam teks.

ATS terbagi menjadi dua tipe yaitu generic summary (text-driven) dan user-focused (query-driven). Tipe yang pertama, generic summary berisi kalimat ringkasan yang berasal dari teks asli. Kalimat yang termasuk dalam ringkasan ditentukan dengan menghitung bobot feature penting dalam teks. Tipe yang kedua, query driven menghasilkan ringkasan sesuai dengan kriteria informasi yang dibutuhkan oleh user seperti query atau topik.

Keuntungan ATS dibandingkan dengan peringkasan manual adalah kecepatan dalam meringkas dokumen yang banyak, distribusi hasil ringkasan yang cepat dan mudah serta biaya yang relatif rendah (Torres-Moreno, 2014).

ATS memiliki tiga tahapan pengerjaan yaitu yang pertama pembuatan tafsiran dari teks sumber untuk mendapatkan perwakilannya (interpretation), kedua mengubah teks dari tahap pertama menjadi representasi hasil ringkasan (tranformation), terakhir yang ketiga pembuatan ringkasan dari representasi teks (generation).

Secara umum peringkasan teks terbagi dua yaitu:

1. Abstraktif

Teknik peringkasan abstraktif adalah mengambil intisari dari teks sumber kemudian membuat ringkasan dengan menciptakan kalimat-kalimat baru yang merepresentasikan intisari teks sumber dalam bentuk yang berbeda.

2. Ekstraktif

Hasil ringkasan dengan menggunakan teknik ekstraktif merupakan hasil seleksi kalimat-kalimat yang penting dari teks asli tanpa ada modifikasi pada kalimat tersebut (Kalita, Saharia, & Sharma, 2012). Teknik ekstraktif menggunakan beberapa metode seperti statistik, linguistik, heuristik, graph-based (Ridok, 2014). Di mana semua metode yang digunakan memanfaatkan fitur-fitur yang ada dalam teks untuk menentukan tingkat kepentingan suatu kalimat dalam keseluruhan teks. Kebanyakan yang digunakan dalam penelitian adalah ekstraktif karena memberikan hasil yang relatif lebih baik dari teknik abstraktif berdasarkan perkembangan teknologi peringkas teks otomatis yang ada sekarang ini (Erkan & Radev, 2004).

Algoritma TextTeaser

Algoritma TextTeaser pertama kali dipublikasikan pada Tahun (2011) dalam penelitian Juan Paolo Balbin. Algoritma tidak ditujukan untuk mengganti teks asli yang ada melainkan untuk memberikan gambaran isi teks. Seperti teaser pada film yang tidak berisi keseluruhan isi cerita film tersebut. Algoritma TextTeaser juga ditujukan untuk memberikan gambaran singkat (teaser) tentang isi teks.

TextTeaser meringkas teks secara ekstraktif sehingga kalimat-kalimat ringkasan yang dihasilkan merupakan bagian dari teks asli tanpa ada modifikasi. Untuk menentukan kalimat mana yang termasuk dalam ringkasan, algoritma bekerja dengan menghitung empat elemen dalam teks yang terdiri dari judul teks, posisi kalimat, panjang kalimat, dan frekuensi keyword (Balbin, 2011).

1. Judul teks berita

Penghitungan skor kalimat ditentukan dengan menghitung setiap kalimat dalam teks berita yang memiliki kesamaan dengan judul berita. Untuk menghitung skor berdasarkan judul teks, terlebih dahulu stopword pada kalimat dalam teks dan judul teks dihilangkan. Hal ini bertujuan untuk menghindari penghitungan kata yang tidak perlu sehingga proses kalkulasi skor lebih efisien. Selanjutnya bobot dihitung menggunakan persamaan (1).

= | ∩ |

Metode penghitungan skor memperoleh kalimat dalam teks , adalah kata-kata dalam kalimat , adalah kata-kata-kata-kata dalam judul , kemudian dihitung jumlah kata dalam kalimat dan juga kata yang berada dalam judul. Jumlah kata yang didapatkan selanjutnya dibagi jumlah kata dalam judul dikali 1 (satu).

2. Posisi kalimat

Menentukan skor kalimat berdasarkan posisinya dalam teks. Dari penelitian yang dilakukan oleh Balbin (2011) mendapatkan bahwa skor posisi kalimat pada teks berita memiliki nilai yang lebih tinggi pada kalimat pembukaan atau kesimpulan daripada kalimat-kalimat lainnya .

� � � , = (2)

Dari persamaan (2) diketahui adalah posisi kalimat dalam teks, adalah jumlah semua kalimat. Kemudian nilai � � � , ditentukan berdasarkan tabel 2.1.

Tabel 2.1 Nilai berdasarkan skor posisi kalimat (Balbin, 2011)

Sentence position 0. < x ≤ 0.1 . < x ≤ 0.2 . < x ≤ 0.3 0.3 < x ≤ 0.4 0.4 < x ≤ 0.5 Distributed Probability 0.17 0.23 0.14 0.08 0.05 Sentence position 0.5 < x ≤ 0.6 0.6 < x ≤ 0.7 0.7 < x ≤ 0.8 0.8 < x ≤ 0.9 0.9 < x ≤ 1.0 Distributed Probability 0.04 0.06 0.04 0.04 0.15 3. Panjang kalimat

Skor elemen ini ditentukan dengan menghitung banyak kata dalam kalimat. Untuk menghitung nilai panjang setiap kalimat dalam teks digunakan persamaan (3).

� ℎ = − | | (3)

Dari persamaan (3), diketahui adalah kalimat dalam teks kemudian | | adalah jumlah semua kata dalam kalimat tersebut termasuk stopword, sedangkan merupakan nilai ideal perhitungan dengan nilai 20.0 (Balbin, 2011).

4. Frekuensi keyword

Frekuensi kemunculan kata pada keseluruhan teks berita. Untuk skor frekuensi keyword digunakan fitur teks (text feature) yang dihitung dengan dua metode yaitu density-based selection (DBS) dan summation-based selection (SBS).

Sebelum menghitung DBS dan SBS, keyword teks dan skornya ditentukan dengan mencari kata-kata unik (tanpa duplikat dan bukan stopword). Kemudian menghitung frekuensi setiap kata unik. Sampai tahap ini keyword dan frekuensi kemunculannya sudah diperoleh.

Langkah selanjutnya keyword beserta frekuensi yang diperoleh diurutkan dari bobot yang terbesar ke bobot yang terkecil. Untuk mendapatkan keyword paling sering muncul (top keyword), sepuluh data terurut diambil kemudian diproses untuk memperoleh skor masing-masing keyword. Skor setiap keyword dapat hitung dengan menggunakan persamaan (4).

= ∙ | | ÷ |�| ∙ . (4)

Dari persamaan (4), diketahui merupakan keyword yang akan dihitung, | |

merupakan frekuensi kemunculan keyword dalam teks, dan |�| adalah jumlah semua kata-kata unik dalam teks. Setelah skor masing-masing keyword diperoleh, barulah DBS dan SBS bisa dihitung.

Metode pertama, DBS adalah metode untuk menentukan peringkat (rank) pada teks berdasarkan beberapa parameter antara lain kumpulan keyword yang sudah diberi skor (Hu, Sun, & Lim, 2007), kata-kata pada kalimat yang akan dihitung, kata-kata pada kumpulan keyword. Kemudian kumpulan parameter tersebut dihitung dengan menggunakan persamaan (5).

= ∙ + ∙ ∑ ( ) ∙ , ++

�− =

(5)

Dari persamaan (5), adalah jumlah kata dalam yang juga ada dalam top keyword tambah 1, adalah bobot keyword , dan � ( , + ) adalah nilai dua keyword yang berdampingan ( dan + ) dan bukan keyword atau stopword

Metode kedua adalah SBS. Metode ini berfungsi untuk memberikan bobot kalimat yang lebih tinggi apabila kalimat mengandung kata-kata yang mewakili teks keseluruhan (atau disebut dengan top keyword). Untuk menghitung bobot yang dimaksud digunakan persamaan (6).

= | | ∙ ∑

∈�

(6)

Pada persamaan (6) adalah kalimat dalam teks, | | adalah jumlah kata-kata yang terkandung dalam , kemudian parameter untuk mengambil bobot kata ( ) yang merepresentasikan isi teks dengan � � > .

Langkah selanjutnya untuk memperoleh nilai frekuensi keyword adalah dengan menjumlahkan nilai dan kemudian dibagi 2.0 * 10.0 seperti persamaan (7).

= . ∙ .+ (7)

Setelah memperoleh skor judul teks, posisi kalimat, panjang kalimat, dan frekuensi keyword. Semua nilai tersebut ditotalkan menggunakan persamaan (8).

= + . + � ∙ . +. ∙ . + � ∙ . (8)

Pada persamaan (8), adalah title score atau skor judul teks, � adalah keyword frequency atau frekuensi keyword, adalah sentence length atau skor panjang kalimat, dan � adalah sentence position atau skor posisi kalimat.

Algoritma TextRank

Algoritma TextRank merupakan algoritma yang bekerja dengan memberikan peringkat pada graf (Mihalcea & Tarau, 2004) representasi objek dalam teks. Graf biasanya diperoleh dari dokumen teks. Algoritma yang berdasarkan graf pada umumnya menentukan tingkat kepentingan suatu kalimat berdasarkan nilai simpul (vertex/node) representasi kalimat tersebut. Semakin besar nilai simpul maka semakin dianggap penting kalimat tersebut. Menurut (Mihalcea & Tarau, 2004), algoritma pencarian peringkat dari graf dapat dianalogikan dengan pengambilan voting atau rekomendasi.

Ketika sebuah simpul menuju pada simpul yang lain, berarti simpul tersebut sudah memilih simpul yang lain tersebut. Semakin tinggi nilai vote yang diperoleh, semakin tinggi tingkat kepentingan suatu simpul. Selain itu, tingkat kepentingan simpul yang menuju simpul lain juga berperan penting untuk menentukan tingkat kepentingan simpul yang dituju. Alhasil bobot sebuah sebuah simpul ditentukan berdasarkan banyak simpul yang menujunya.

Pada peringkasan teks otomatis secara ekstraktif, TextRank memiliki beberapa keunggulan antara lain:

Unsupervised, atau dengan kata lain TextRank dapat bekerja tanpa data training untuk memproses data sesungguhnya.

Language independent, yang berarti TextRank tidak bergantung pada bahasa tertentu atau pemahaman tentang suatu bahasa seperti grammar. Hal ini karena TextRank bekerja hanya menggunakan kata-kata dalam teks. Keterbatasan TextRank hanya pada saat pemisahan kalimat, kata yang berbeda pada bahasa tertentu.

Simpul-simpul graf dalam algoritma TextRank selain berisi kalimat juga mencakup unit teks seperti kata-kata, collocations (lokasi kalimat), dan sebagainya. Kemudian sisi (edge) pada graf merepresentasikan hubungan antara kalimat yang berelasi (similarity). Tanpa mengacu pada tipe elemen yang dimasukkan dalam graf, menurut Mihalcea & Tarau (2004), implementasi algoritma berbasis graf pada pemrosesan teks bahasa alami (contoh, bahasa Indonesia, bahasa Inggris, dan lain-lain) mencakup empat tahap antara lain:

1. Identifikasi unit teks yang paling cocok untuk dijadikan simpul dalam graf. 2. Pemberian sisi antar simpul unit teks baik dengan bobot atau tidak, berarah atau

tidak berarah.

3. Proses menggunakan algoritma hingga objek graf bertemu satu sama lain (convergence).

4. Urutkan simpul berdasarkan skornya. Nilai skor dimasukkan dalam simpul pada saat proses algoritma.

Pada dasarnya algoritma TextRank dapat diimplementasikan pada dua jenis aplikasi yaitu ekstraksi keyword dan peringkasan otomatis. Untuk implementasi pada

peringkasan teks otomatis, algoritma ini bekerja dengan memberikan peringkat unit teks berdasarkan teks yang diberikan. Menurut Mihalcea & Tarau (2004), algoritma ini memiliki proses yaitu pertama membuat graf dari teks, untuk simpul berisi kalimat-kalimat dalam teks. Kemudian untuk menentukan hubungan antar simpul digunakan similarity content overlap yang dapat diperoleh dengan menghitung token yang ada pada kalimat-kalimat tersebut. Misalkan pada dua kalimat dan yang akan dihitung, kemudian kumpulan kata-kata � perwakilan dari kedua kalimat misalnya:

= , , … , dan begitu juga untuk kalimat . Selain itu panjang masing-masing kalimat log | | atau log | | selanjutnya dihitung menggunakan persamaan (9).

� � � ( , ) =|{ | ∈ & ∈ }|

log | | + log | | (9)

Tingkat keberhasilan yang diperoleh dalam penelitian Mihalcea & Tarau (2004) adalah mendapatkan peringkat lima besar dari 15 sistem peringkas lainnya. Hal ini diperoleh dengan cara meringkas 567 data berita, kemudian hasil ringkasan diuji dengan metode recall-oriented understudy for gisting evaluation (ROUGE). Metode ROUGE bekerja dengan membandingkan teks asli berita dengan ringkasan manual yang dibuat oleh manusia. Hasil peringkasan menggunakan TextRank seperti pada tabel 2.2, berada pada posisi ke tiga. Posisi tersebut sudah cukup bagus dan berhasil untuk menentukan kalimat-kalimat penting dalam sebuah teks mengingat TextRank tidak memerlukan supervisi dari manusia atau pemahaman tentang bahasa teks yang akan diringkas.

Tabel 2.2 TextRank dibandingkan dengan sistem lain (Mihalcea & Tarau, 2004)

Sistem ROUGE score Ngram(1,1)

basic (a) stemmed (b) stemmed no-stopwords (c)

S27 0,4814 0,5011 0,4405 S31 0,4715 0,4914 0,4160 TextRank 0,4708 0,4904 0,4229 S28 0,4703 0,4890 0,4346 S21 0,4683 0,4869 0,4222 S29 0,4502 0,4681 0,4019

Untuk mendukung sistem dalam penelitian ini, algoritma TextRank akan diimplementasikan menggunakan library Python Sumy yang merupakan kumpulan

beberapa metode untuk meringkas teks baik yang bersumber dari dokumen HMTL atau teks biasa (Belica, 2015).

Periodic Tasks

Pada sistem operasi unix-like seperti Linux memiliki sebuah fitur yang disebut cron yang berguna untuk menjalankan tugas tertentu secara berkala pada waktu tertentu. Cron merupakan sistem yang menjalankan instruksi tertentu pada satuan waktu yang ditentukan. Pada umumnya cron mengerjakan daftar perintah pada crontab (cron table). File ini berisi daftar perintah yang akan dijalankan oleh cron daemon pada jangka waktu yang ditentukan. Setiap perintah dalam crontab dipisahkan dengan pembatas carriage return atau garis baru.

Seperti cron, Python celery juga memiliki kemampuan untuk menjalankan sebuah instruksi secara berkala. Pada penelitian ini, sistem cron yang digunakan berbasis Python celery.

Python celery pertama kali diperkenalkan pada April 2009 dengan nama “crunchy”. Celery berfungsi untuk menjalankan fungsi Python (atau dalam hal ini disebut task) pada sistem secara asynchronous atau dengan kata lain beberapa task bisa berjalan secara bersamaan. Kemudian celery akan menjalankan proses di luar proses proses utama sistem atau proses yang berjalan di background atau di luar proses utama. Artinya user tetap bisa menjalankan sistem tanpa harus menunggu setiap setiap proses yang tidak memerlukan umpan balik seperti mengirim email atau mengolah gambar untuk disimpan di server.

Dalam menjalankan proses, celery menggunakan message transport (broker) untuk mengirim dan menerima pesan yang biasanya berasal dari service yang terpisah (message broker). Message broker berfungsi untuk menyimpan task pada antrian sebelum dijalankan. Celery pada intinya dibangun dengan pertimbangan menggunakan message broker, RabbitMQ. Secara umum integrasi sistem dengan celery dapat digambarkan pada gambar 2.1.

Producers 4 3 2 1 Celery Consumer Worker Pool *Result Pending Started Success/Failure Message broker

Gambar 2.1 Alur proses Celery (Smith, 2014)

Pada gambar terdapat lima objek yang akan diproses Producers, Celery Queue, Consumer, Worker Pool, Result.

1. Producers menghasilkan task yang akan dijalankan misalnya web request atau fungsi yang dijalankan secara berkala (periodic task).

2. Celery queue yang termasuk dalam message broker akan menghimpun semua task yang masuk kemudian meneruskan terlebih dahulu task yang baru masuk, first in first out (FIFO).

3. Consumer pada celery bertindak untuk memproses task dari celery queue dan bersiap-siap untuk ke tahap selanjutnya. Secara default konsumer akan memproses empat task pada satuan waktu tertentu. Pada tahap ini seluruh task akan berubah status pending, siap untuk dijalankan.

4. Worker pool akan menjalankan semua task yang diberikan serta memberikan status started, task sedang berjalan. Status ini akan memberikan sinyal ke message broker untuk mengirim task selanjutnya.

5. Result adalah hasil dari task yang selesai dijalankan.

Fungsi celery untuk menjalankan task secara berkala yang disebut dengan “celery beat”. Tidak seperti crontab yang menyimpan daftar perintah pada sebuah file dengan format teks biasa. Celery beat mempunyai dua opsi untuk mendaftarkan task

berkala (periodic task) yaitu dalam setting objek Python dan dalam database SQL (Solem, 2015).

Contoh penggunaan perintah crontab untuk periodic tasks pada celery dapat dilihat pada tabel 2.3.

Tabel 2.3 Contoh penggunaan crontab (Solem, 2015)

Contoh Kegunaan

crontab() Menjalankan perintah setiap menit.

crontab(minute=0, hour=0) Menjalankan perintah setiap hari pada pukul 00.00 (tengah malam).

crontab(minute=0, hour='*/3') Perintah dijalankan setiap tiga jam. crontab(minute='*/15') Setiap 15 menit perintah akan dijalankan.

crontab(day_of_week='sunday') Setiap menit pada hari Minggu perintah akan dijalankan.

Contoh perintah dalam objek Python seperti pada gambar 2.2, perintah “add-every-monday-morning” akan dijalankan setiap hari senin pagi pukul 7.30. Dalam perintah tersebut fungsi yang akan dikerjakan adalah “task.add”, untuk menjumlahkan data pada “args” yaitu 16 dan 16.

Gambar 2.2 Contoh penggunaan Celery periodic tasks (Solem, 2015)

Celery beat juga secara terus-menerus akan memeriksa daftar perintah yang terdapat di database sehingga jika ditemukan daftar perintah baru, celery beat akan menjalankannya sesuai waktu yang ditetapkan.

Web Data Extraction

Web data extraction atau web harvesting merupakan teknik yang digunakan untuk mengambil data tertentu dari website kemudian menyimpan dalam dalam komputer atau dalam database. Teknik ini bisa diatur untuk mengambil data tertentu sesuai kebutuhan, sehingga akan mempercepat proses pengumpulan data. Dalam kasus ini data yang dimaksud adalah teks isi berita dan juga URL berita

Web data extraction bertindak sebagai layaknya web browser yang membuka halaman web, namun tidak menampilkan halaman web seperti biasa melainkan langsung mengambil data. Kriteria pengambilan data bisa saja mengambil langsung dari tag yang ditentukan dalam dokumen HTML. Namun hal tersebut tentu tidak akan bekerja pada website yang berbeda. Karena struktur dokumen HTML setiap website relatif berbeda.

Python content extraction

Secara manual teks berita dapat ditemukan dengan menelusuri tag HTML awal teks berita dimulai. Namun cara tersebut akan menguras waktu apabila banyak situs berita yang akan di ekstrak isinya. Walaupun setiap halaman berita memiliki bentuk layout yang berbeda-beda namun memiliki ciri lokasi teks berita yang sama yaitu banyaknya teks dalam tag HTML tertentu.

Pada penelitian ini penulis menggunakan Python Goose dan Python Newspaper sebagai ekstraktor teks berita.

1. Python Goose

Goose merupakan proyek open source yang dibuat oleh Jim Plush dan Robbie Coleman yang bekerja di gravity.com. Nama proyek diambil dari tokoh karakter film Top Gun pada Tahun 1986. Saat URL berita pertama kali di unduh, goose akan membersihkan dokumen supaya lebih mudah untuk diolah. Selanjutnya adalah menghilangkan bagian sosial media, bagian kolom komentar, mengubah tag HTML dari dalam teks, serta bagian-bagian lainnya yang bukan merupakan isi berita (Pfeiffer, 2014). Goose menghasilkan beberapa data dari halaman web seperti judul

Dokumen terkait