• Tidak ada hasil yang ditemukan

JULIO ADISANTOSO - ILKOM IPB

N/A
N/A
Protected

Academic year: 2018

Membagikan "JULIO ADISANTOSO - ILKOM IPB"

Copied!
8
0
0

Teks penuh

(1)

KOM 3 4 1

Te m u Ke m ba li I n for m a si

KULI AH # 2 • Pem rosesan Teks • Pengant ar bahasa PERL

Pr ose s Pe r ole h a n

I n for m a si Se de r h a n a

JULIO ADISANTOSO - ILKOM IPB

KORPU S

OFFLI NE PROCESS

Pe n g e r t ia n TEKS

 Teks≈ Korpus≈ Koleksi dokum en yang bisa dibaca oleh m esin

 Cont oh:

 Kum pulan art ikel surat kabar yang diperoleh dari I nt ernet

 Kum pulan skripsi m ahasiswa yang t elah dikum pulkan secara digit al oleh perpust akaan

JULIO ADISANTOSO - ILKOM IPB

Kor p u s

 Korpus adalah t eks alam i yang dipilih dengan cara t ert ent u.

 Masalah pada perancangan korpus  Ukuran

 Jenis

 Bahasa

 Media: t eks, audio, video ( m ult im edia)  I su pada korpus:

 Tokenisasi pada korpus

 Anot asi pada korpus

JULIO ADISANTOSO - ILKOM IPB

Con t oh Kor p u s

Fr e e t e x t

Sekurangnya 17 ribu ayam ras m ilik pet ernak di wilayah kabupat en Kot awaringin Tim ur ( Kot im ) , Kalim ant an Tengah m at i dan kuat dugaan akibat t erserang virus avian influenza ( AI ) at au yang lagi ram ai disebut penyakit flu burung. Kasubdin Produksi Pet ernakan Dinas Pert anian Kot im Drh. Mawardi di Sam pit , Selasa m engat akan sebanyak 17 ribu ekor ayam ras yang m at i diduga t erserang flu burung it u sej ak Desem ber 2003.

Dari hasil diagnosa Balai Penyelidikan dan Penguj ian Vet eriner ( BPPV) regional V Banj ar Baru Kalim ant an Selat an yang dit erim a Disnak Kot im , Senin ( 26/ 1) m enyebut kan ayam yang m at i t erserang panyakit it u hanya ada dua kem ungkinan yait u t erserang virus AI dan VVND at au t et elo. " Nam un kasus kem at ian m asal ayas ras di Kot im kem ungkinan besar akibat akibat serangan virus avian influenza yang bila m enular kepada m anusia nam anya m enj adi flu burung," ucapnya.

Con t oh Kor p u s

XM L For m a t

< DOC>

< DOCNO> DOC01< / DOCNO>

< TI TLE> Flu Burung Menyerang Kalim antan Tengah< / TI TLE> < AUTHOR> Ark, Ant< / AUTHOR>

< DATE> 7 Februari 2003 < / DATE> < TEXT>

< P> Sekurangnya 17 ribu ayam ras m ilik peternak di w ilayah kabupaten Kotaw aringin Tim ur ( Kotim ) , Kalim antan Tengah m ati dan kuat dugaan akibat terserang virus avian influenza ( AI ) atau yang lagi ram ai disebut penyakit flu burung. Kasubdin Produksi Peternakan Dinas Pertanian Kotim Drh. Maw ardi di Sam pit, Selasa m engatakan sebanyak 17 ribu ekor ayam ras yang m ati diduga terserang flu burung itu sej ak Desem ber 2003.< / p>

< P> Dari hasil diagnosa Balai Penyelidikan dan Penguj ian Veteriner ( BPPV) regional V Banj ar Baru Kalim antan Selatan yang diterim a Disnak Kotim , Senin ( 26/ 1) m enyebutkan ayam yang m ati terserang panyakit itu hanya ada dua kem ungkinan yaitu terserang virus AI dan VVND atau tetelo. " Nam un kasus kem atian m asal ayas ras di Kotim kem ungkinan besar akibat akibat serangan virus avian influenza yang bila m enular kepada m anusia nam anya m enj adi flu burung," ucapnya.< / P> < / TEXT>

(2)

M e la ca k Te k s

 Operasi dasar dalam st ring m at ching  Cont oh:

 Dapat kan sem ua baris yang dim ulai dengan kat a Flu.

 Dapat kan sem ua baris yang dim ulai dengan kat a Huruf Besar.

 Dapat kan sem ua baris yang m em iliki kat a t erdiri dari huruf besar sem ua.

 Hit ung banyaknya kat a Flu pada dokum en t ersebut .

 dsb.

JULIO ADISANTOSO - ILKOM IPB

St a t ist ik Te k s

 Jum lah Kat a

 Seberapa besar korpus yang ada ( N)

 Jenis kat a

 Berapa j um lah kat a yang unik?

 Berapa besar perbendaharaan kat a pada korpus?

 Token kat a

 Berapa j um lah kat a pada korpus?

 Berapa frekuensi dari set iap j enis kat a?

 Kat a apa yang paling sering m uncul pada korpus?

JULIO ADISANTOSO - ILKOM IPB

Pr ose d u r M e n g h it u n g

Fr e k u e n si Ka t a

 Tokenisasi : m endapat kan kat a  Ubah m enj adi huruf kecil  Urut kan m enurut abj ad

 Hit ung frekuensi kem unculan kat a  Urut kan m enurut frekuensinya

 Hit ung frekuensi dari frekuensi kem unculan kat a

JULIO ADISANTOSO - ILKOM IPB

Fe n om e n a

Fr e k u e n si Ka t a

 Sej um lah kat a m erupakan kat a yang sangat um um ( frekuensi sangat besar) , m isalnya “ t he” , “ of”

 Kebanyakan kat a sangat j arang m uncul ( frekuensi sangat kecil) .

 Set engah dari kat a- kat a pada korpus hanya m uncul sekali.

JULIO ADISANTOSO - ILKOM IPB

Con t oh

Ka t a Fre k ue nsi Ka t a ( f ) Pe ringk a t ( r) f * r

nam e 21 400 8400

com es 16 500 8000

gr oup 13 600 7800

science 11 700 7700

fam ily 10 800 8000

begin 9 900 8100

br ok e 4 2000 8000

seem s 2 3000 6000

could 2 4000 8000

H u k u m Zip f

 Menj elaskan adanya hubungan ant ara frekuensi dan urut an/ rank ( George Kingsley Zipf) .

 Urut an/ Rank:

 hit ung berapa kali kat a m uncul pada sem ua t eks di dalam korpus ( f) .

 urut kan sesuai dengan frekuensi kem unculan kat a m em bent uk rank ( r) .

(3)

Luhn ’s I de a s

k a t a - k a t a y a n g p a lin g u m u m d a n p a lin g t id a k u m u m a d a la h t id a k sig n ifik a n u n t u k in d e x in g

JULIO ADISANTOSO - ILKOM IPB

St op w or d s

 STOPWORDS:

 Terdapat kat a yang m erupakan bagian t erbesar dari t eks yang t idak perlu digunakan sebagai penciri dokum en.

 Terdapat banyak ragam kat a yang hanya m uncul sedikit sekali di dalam suat u t eks.

 Cont oh: t o, in, form , yang, dan

 Kat a- kat a dengan frekuensi cukup ( di bagian t engah) adalah yang paling baik digunakan sebagai penciri dokum en.

JULIO ADISANTOSO - ILKOM IPB

Tok e n isa si

 Pengert ian : suat u t ahap pem rosesan di m ana t eks input dibagi m enj adi unit - unit kecil yang disebut t oken, yang dapat berupa suat u kat a, suat u angka, at au suat u t anda baca.

 Konsekuensinya:

 Perlu m engenali unit secara ot om at is

 Apakah suat u kat a it u?

 Kalim at ?

 Paragraf?

JULIO ADISANTOSO - ILKOM IPB

Ka t a

 Karakt er alfanum erik yang saling t erhubung yang dipisahkan oleh whit espace.

 Whit espace: spasi, t ab, newline  Masalah:

 B2B, am azon.com , Micro$oft

 isn’t , Jum ’at

 pro- akt if, out - of- dat e

 t anda sam bung pada akhir baris

JULIO ADISANTOSO - ILKOM IPB

Se g m e n t a si k a t a

 Proses t okenisasi sederhana, t et api t idak t erlepas dari kesalahan.

 Cont oh:

 Kat a m aj em uk: Jurusan Surabaya- Jakart a

 Frase: t usuk j arum , keras kepala, sist em inform asi

 Nom or t elpon ( 0251) 8356653 + 62 251 8625584

 Menj adi t opik dari ekst raksi inform asi

Ka lim a t

 Sat u at au lebih st ring kat a yang diakhiri dengan suat u t anda berhent i sepenuhnya, t anda t anya at au t anda seru.

 Cont oh:  Akhir dari baris.

 Akhir dari suat u cerit a!

 Apakah kam u sudah punya pacar?

 I a sering m engunj ungi friendst er.com .

 Dr. I wan pergi ke Surabaya.

(4)

Ba t a s k a lim a t

 Hi pot esak an bahw a bat as k al i m at sesudah . ? !  Pi ndahk an bat as k al i m at sesudah t anda pet i k ,

buk an set el ah t i t i k .

 “ Jangan am bil buku itu. Buku itu m ilik pak Budi. ” , kata ibu kepada Ani.

 Jangan gunak an t i t i k j i k a:

 Sebelum nya adalah singkatan yg um um yg biasanya bukan akhir kalim at, tp biasanya diikuti oleh nam a dengan huruf besar: Prof.

 Didahului oleh singkatan yang um um dan tidak diikuti oleh kata dengan huruf besar: Jr.

 Jangan k enal i sebagai bat as j i k a ada ! at au ? y ang di i k ut i ol eh huruf k eci l

JULIO ADISANTOSO - ILKOM IPB

Pe m r ose sa n Te k s

Ot om a t is

 Menghit ung kat a pada t eks  Mengurut kan kat a

 Menghit ung berbagai nilai st at ist ik kat a  I nput : berkas t eks ( bisa berupa korpus)

 Out put : daft ar kat a besert a frekuensinya

 Pert anyaannya:

 Bagaim ana program kom put ernya?

 Bahasa pem rogram an apa yang digunakan?

JULIO ADISANTOSO - ILKOM IPB

PERL

h t t p:/ / w w w .a ct iv e st a t e .com / a ct ive pe r l/ dow nloa ds

 Pract ical Ext ract ion and Report Language  Dikem bangkan oleh Larry Wall pada t ahun

1987

 Mengem bangkan suat u bahasa script yang lebih baik daripada Unix shell t et api t idak serum it C.

 Berguna unt uk m em anipulasi t eks yang t idak dapat dilakukan oleh inst ruksi baris unix

JULIO ADISANTOSO - ILKOM IPB

PERL

 Tulis pada suat u file, m isalnya bernam a ‘halo.pl‘ ( Unix) , at au ‘halo.pl ‘ ( Windows) .  Unt uk m e- run pada Unix/ Linux:

> perl halo.pl

 Unt uk m e- run pada Windows: > perl halo.pl

JULIO ADISANTOSO - ILKOM IPB

#!/usr/local/bin/perl

#Program untuk menulis kata 'hello' print "Hello\n";

PERL d i w e b

Tulis pada suat u file, m isalnya bernam a ‘t est .cgi‘ dan sim pan di folder cgi- bin.

#!"C:\apache\xampp\perl\bin\perl.exe"

print "Content-type: text/html\n\n"; print '<html>';

print '<head>';

print '<meta name="author" content="Kay Vogelgesang">'; print '<link href="/xampp/xampp.css" rel="stylesheet" type="text/css">';

print '</head>';

print "<body>&nbsp;<p><h1>GCI with MiniPerl</h1>"; print "CGI with MiniPerl is ready ...</body></html>";

PERL

Je n is d a t a

 Tiga j enis dat a dalam PERL:  Skalar

 Array

 Associat ive array at au hash

 Nam a variabel

 Nam a variabel skalar dim ulai dengan $ ( m is. $dok)

 Nam a variabel array dim ulai dengan @ ( m is. @kat a)

 Nam a variabel hash dim ulai dengan % ( m is. % t abel)

(5)

PERL

Sk a la r

 Angka

 digit s, desim al, eksponensial dll.

 $nilai = 350;

 $nilai = 3.50

 St rings

 Diapit oleh t anda pet ik single / double;

 Escape charact er dengan backslash  \ n ( new line) ; \ t ( t ab) ;

 \ U ( Upper case) ; \ L ( Low er case)

 print " \ Uhalo\ n" ; HALO

 print " ha\ Ulo\ n" ; haLO

JULIO ADISANTOSO - ILKOM IPB

PERL

Op e r a t or

 Bilangan

 Arit m at ika : + , - , / , * , %

 Assignm ent : = , + = , = , + + ,

- St ring :

 Concat enat ion : .

 Repet it ion : x

JULIO ADISANTOSO - ILKOM IPB

PERL

Ar r a y

 Suat u array adalah suat u variabel yang berisi list

 Suat u array berisi nol at au lebih elem en. Tidak perlu dit ent ukan panj angnya sepert i

pem rogram an lainnya.  Cont oh:

(1, 2, 3)

("yang", "dan", "untuk") ()

JULIO ADISANTOSO - ILKOM IPB

PERL

Ar r a y

@kata = ("yang", "dan", "untuk"); @x = (1, 2, 3);

@y = @x; # assign nilai x ke y @y = (@x 4 5); # @y=(1 2 3 4 5) $z = @y; # $z bernilai 5 (panjang @y) ($z) = @y; # $z = 1 (elemen pertama @y) @prefix = $kata[0,1]; # ("yang", "dan")

JULIO ADISANTOSO - ILKOM IPB

PERL

Ar r a y

@array = ("aa", "bb", "cc", "dd"); $length = @array; #4

print $#array; #3

print $array[$#array]; #"dd" print scalar(@array) ; #4 ($a, $b) = ("satu", "dua"); ($satu, @b) = (1,2,3,4,5,6);

# $satu = 1, @b=(2 3 4 5 6) ($a, $b) = ($b, $a); #tukar nilainya

PERL

M e n g u b a h isi a r r a y

Push

m enam bahkan list pada bagian akhir dari array

@a1 = ("aa", "bb", "cc", "dd"); @a2 = ("ee", "ff");

push @a1, @a2;

#@a1=("aa","bb","cc","dd","ee","ff") push @a2, "gg";

(6)

PERL

M e n g u b a h isi a r r a y

Pop

Mem buang elem en t erakhir dari list

@array = ("aa","bb","cc","dd"); $elemen = pop @array;

# $elemen= "dd"

# @array = ( "aa","bb","cc")

JULIO ADISANTOSO - ILKOM IPB

PERL

Associa t iv e Ar r a y s

 Array yang m em iliki indeks bukan berupa bilangan 0 sam pai dengan n- 1, m elainkan st ring.  Cont oh:

%nilai=();

$nilai{"dan"}=200; $nilai{"yang"}=150;

@kata=keys(%nilai); #@kata=("dan", "yang")

@freq=values(%nilai); #@freq=(200, 150)

JULIO ADISANTOSO - ILKOM IPB

PERL

Con t r ol St r u ct u r e s

 I F

if ($nilai > 60) { print "Lulus\n"; } else

{ print "Tidak lulus\n"; }

 UNLESS

unless ($nilai > 60) { print "Tidak lulus\n"; }

 ELSI F

if ($nilai >= 80) { print "A\n"; } elsif ($nilai >= 60)

{ print "B\n"; } else

{ print "Tidak lulus\n"; }

JULIO ADISANTOSO - ILKOM IPB

PERL

Con t r ol St r u ct u r e s

 WHI LE

$i = 10; while ($i > 5) {

$x = $i*$i;

print "Kuadrat dari $i adalah $x\n"; $i--;

}

 UNTI L

$i = 10; until ($i <= 5) {

$x = $i*$i;

print "Kuadrat dari $i adalah $x\n"; $i--;

}

JULIO ADISANTOSO - ILKOM IPB

PERL

Con t r ol St r u ct u r e s

 FOR

for ($i = 1; $i<=10; $i++) { print "$i\n"; }

@kata=("dan", "yang", "untuk"); for ($i=0 ; $i<=$#kata; $i++) {

$prefix = $kata[$i]; print "$prefix\n"; }

FOREACH

foreach $prefix(@kata) { print "$prefix\n"; }

PERL

Associa t iv e Ar r a y s

%nilai=();

$nilai{"dan"}=200; $nilai{"yang"}=150; foreach $i (keys %nilai)

{ print "$nilai{$i}\n"; }

while (($kata, $freq) = each (%nilai)) { print "$kata : $freq\n"; } foreach $i (sort keys %nilai)

(7)

PERL

Sor t in g

@kata = ("dan", "itu", "yang", "pada"); reverse(@nama);

@stopwords = sort(@kata);

Sesuai alfabet : sort {$a cmp $b} @list; Sesuai num erik: sort {$a <=> $b} @list; Descending: sort {$b <=> $a} @list; Associat ive array

sort {$tabel{$b} <=> $tabel{$a} } (keys %tabel);

JULIO ADISANTOSO - ILKOM IPB

PERL

I n p u t / Ou t p u t

 Mem buka dan m enut up file

open(IN, "koleksi.txt"); open(OUT, ">hasil.txt"); open(OUT ">>hasil txt");  append close(OUT);

Mem buka dan m enut up file open(IN, "koleksi.txt"); open(OUT, ">hasil.txt"); while ($line = <IN>) {

chop($line); # buang carriage return print OUT "$line\n";

} close(IN); close(OUT);

JULIO ADISANTOSO - ILKOM IPB

PERL

Re g u la r Ex p r e ssion

 Ekspresi yang digunakan unt uk m enggam barkan pola dari suat u obyek.  Sering digunakan dalam pem rosesan t eks.  Bahasa yang banyak m enggunakan RE adalah

PERL.

 Pem rogram an m enj adi lebih singkat dan m udah.

JULIO ADISANTOSO - ILKOM IPB

PERL

Re g u la r Ex p r e ssion

\ b bat as kat a \ d digit = [ 0- 9]

\ n newline

\ r carriage ret urn \ s karakt er whit e space \ t t ab

\ w karakt er alfanum erik = [ A- Za- z0- 9] ^ awal dari st ring

$ akhir dari st ring

JULIO ADISANTOSO - ILKOM IPB

PERL

Re g u la r Ex p r e ssion

. karakt er apapun

[ bdkp] karakt er b, d, k dan p [ a- f] karakt er a sam pai f

[ ^ a- f] sem ua karakt er kecuali a sam pai f abc| def st ring abc at au st ring def

* nol at au beberapa kali

+ sekali at au beberapa kali

? nol at au sat u kali

qw( ) ( "quot e word") funct ion

qw( aa bb cc) ( " aa" , " bb" , " cc" )

PERL

Re g u la r Ex p r e ssion

/(ab)*(de)+/ abde abbde bde abadde ababde

(8)

PERL

Re g u la r Ex p r e ssion

/c[ad]r/ car, cdr cadr, caddddr

/c[ad]*r/

car, cdr, caaaadr, caaadaaar

/[a-g][t-z][0-9]*/ au125

JULIO ADISANTOSO - ILKOM IPB

PERL

Pe n g ola h a n St r in g

 Pola st ring // $kata=~/tan/; $kata=~/^tan/; $kata=~/tan$/;

 Mengubah bagian st ring s/// $kalimat=~s/minyak/BBM/; $kalimat=~s/minyak/BBM/g; $kalimat=~s/minyak/BBM/gi;  Mengubah karakt ertr///

$kata=~tr/[A-Z]/[a-z]/;

JULIO ADISANTOSO - ILKOM IPB

PERL

Fu n g si SPLI T

 Unt uk t okenisasi, m endapat kan kat a dari suat u kalim at dengan pem isah ( delim it er) t ert ent u.  split ( / / / ) ;

 Cont oh

$kalimat= "Petani alami gagal panen"; @kata=split(/\s+/, $kalimat);

m aka array

@kata=("Petani", "alami", "gagal", "panen")

JULIO ADISANTOSO - ILKOM IPB

PERL

Con t oh Pr og r a m

$kalimat="Harga minyak sekarang turun. Sebelumnya harga minyak naik. Sekarang harga minyak turun lagi";

$kalimat =~ tr/[A-Z]/[a-z]/; @kata = split(/\s+/, $kalimat); foreach $token(@kata) {

print "$token\n"; }

JULIO ADISANTOSO - ILKOM IPB

PERL

Con t oh Pr og r a m

open (IN, "dokumen.txt") || die; while($line = <IN>)

{

chomp($line); #buang carriage return $line =~ s/^\s*//; #buang whitespace $line =~ s/\s*$//;

reset @arraykata;

@arraykata = split /\s+/, $line; #untuk setiap kata

foreach $kata(@arraykata) { $kata =~ tr/[A-Z]/[a-z]/; $kata =~ s/[!.,()*]|\"//g; $freq{$kata}++;

} }

# Mencetak daftar kata, sort by frekuensi foreach $key (sort{$freq{$b}<=>$freq{$a}}keys %freq){

print "$key - $freq{$key}\n"; }

Referensi

Dokumen terkait

Sekali lagi ditegaskan bahwa kaidah-kaidah tafsir adalah patokan umum bagi para pengkaji al- Qur’an untuk memahami pesan-pesan kitab suci Alquran dan dapat

Auditor Eksternal yaitu auditor independen yang ditunjukan oleh LRQA (Lioyd’s Register Quality Assurance London).. Pelaksaan proses produksi pada PT. WKB Wilayah Penjualan

Laporan keuangan yang merupakan hasil dari kegiatan operasi normal perusahaan akan memberikan informasi keuangan yang berguna bagi entitas-entitas di dalam

Memilih kriteria yang akan dipakai untuk menilai objek evaluasi merupakan tugas yang paling sulit dalam evaluasi pendidikan. Apabila yang diacu hanya pencapaian tujuan, maka ini memang

Hubungan antara NDVI dan data hasil pengukuran lapangan mampu memberikan informasi tentang biomassa vegetasi dan merupakan salah satu metode pendekatan untuk menduga

Bahwa hukum kebiasaan mempunyai kelemahan yatu bersifat tidak tertulis oleh karenanya tidak dapat dirumuskan secara dan pada umumnya sukar menggantinya. Tidak menjamin

Rumus-rumus allometrik untuk menduga biomassa beberapa jenis tanaman yang umum ditanam pada lahan

Sesuai dengan fungsinya tersebut, sanksi dapat dibedakan menjadi: sanksi positif sebagai reaksi terhadap perbuatan-perbuatan yang baik dan diwujudkan dalam bentuk pemberian