Senin, 29 September 2014

Refleksi NLP Pertemuan 3

1. Latar belakang pemrosesan teks
  • Jumlah kata/dokumen teks yang sangat besar sehingga membutuhkan kemudahan dalam mendapatkan informasi teks tersebut

2. Definisi
  • Teks merupakan ungkapan bahasa yang menurut isi dan paragmatik merupakan satu kesatuan
  • Korups adalah badan dari teks yang muncul secara alami, biasanya dipilih dengan cara tertentu.
  • Pemrosesan teks adalah proses menghitung dan mengurutkan kata pada teks
  • Tokenisasi adalah proses pemotongan kumpulan karakter menjadi sebuah kata tunggal/toke

3. Contoh dokumen teks
  • Teks media social, teks halaman web, status pada media social, teks pada jurnal.
  • Korpus pada sebuah teks yang terdapat pada sebuah file. Misalnya yang berformat XML.

4. Karakterristik Dokumen

  • A corpus of documents: Setiap sistem harus memutuskan dokumen yang ada akan diperlakukan sebagai apa. Bisa sebagai sebuah paragraf, halaman, atau teks multipage.
  • Queries posed in a query language. Sebuah query menjelaskan tentang apa yang user ingin peroleh. Query language dapat berupa list dari kata-kata, atau bisa juga menspesifikasikan sebuah frase dari kata-kata yang harus berdekatan
  • A result set. Ini adalah bagian dari dokumen yang dinilai oleh sistem IR sebagai yang relevan dengan query.
  • A presentation of the result set. Maksud dari bagian ini adalah tampilan list judul dokumen yang sudah di ranking.

5. Contoh Proses dari Pemrosesan Teks


6. Pengolahan teks mencakup:
  • Information Extraction : mengekstrak informasi yang dianggap penting dari suatu dokumen lowongan, walaupum memiliki format beragam dapat di ekstrak secara otomatis job title, tingkat pendidikan, penguasaan bahasa dsb.
  • Text Summarization : menghasilkan ringkasan suatu dokumen secara otomatis.
  • Data Mining : proses identifikasi valid, yang berpotensu berguna, dan pada akhirnya dapat dipahami pola data yang tersimpan dlam database yang terstruktur, dimana data diorganisir dalam catatan terstruktur dengan kategoru, ordinal, atau variable yang terus menerus.
  • Text Mining (biasa dikenal juga dengan text data mining atau penemuan pengetahuan) dalam database tekstual adalah semi-otomatis proses ekstrksi pola (informasi yang berguna dan pengetahuan) dari sumber data yang tidak terstruktur dalam jumlah yang besar.
  • Informatuon Retrival : pencarian dokumen (contoh google : search Engine)
  • Document Clustering : mirip dengan klasifikasi document, hanya saja kelas dokumen tidak ditentukann sebelumnya. Misalnya berita tentang lalulintas dapat menjadi satu kelas dengan kelas berita criminal karena didalamnya banyak memuat tentang orang yang tewas, cedera,rumah sakit dsb.

Refleksi NLP Pertemuan 2

Definisi Natural Language Processing (NLP)

  • Bahasa Alami adalah bahasa yang digunakan sehari-hari 
  • Bahasa adalah alat atau cara untuk berkomunikasi, menyampaikan informasi berupa lisan maupun tulisan
  • Pemrosesan adalah kegiatan untuk mengolah
  • Pemrosesan bahasa alami atau Natural Language Processing adalah cabang ilmu komputer dan linguistik yang mengkaji interaksi antara komputer dengan bahasa (alami) manusia.
  • NLP merupakan cabang ilmu Artficial Intelegence (kecerdasan buatan) yang digunakan untuk pembuatan program yang memiliki kemampuan untuk memahami bahasa manusia


Komponen NLP

Input memasukkan text atau string, selanjutnya pada proses Parser yaitu memecahkan kalimat menjadi potongan-potongan kata. Kemudian pada Dictionary menterjemahkan kata yang telah diproses oleh parser. Berlanjut pada Knowlegde Representation System yang menggabungkan kata atau kalimat dengan benar sesuai pengetahuan yang telah dibuat. Selanjutnya Output Translator menampilkan hasil dari proses, terakhir Natural Language code text menampilkan hasil berupa text kembali yang sudah melalui proses.


Knowledge Base adalah salah satu dari bagian utama dalam aplikasi kecerdasan buatan yang berisi fakta-fakta, pemikiran dan hubungan.

Basis pengetahuan (knowledge base) adalah suatu jenis basis data yang dipergunakan untuk manajemen pengetahuan. Basis data ini menyediakan fasilitas untuk koleksi, organisasi, dan pengambilan pengetahuan terkomputerisasi. Hal terpenting dari suatu basis pengetahuan adalah kualitas informasi yang dikandungnya. Basis pengetahuan yang terbaik memiliki artikel-artikel yang ditulis dengan baik dan dijaga untuk selalu mutakhir, memiliki sistem pengambilan (mesin pencari) yang baik, serta format isi dan struktur klasifikasi yang dirancang dengan seksama.


Analisis NLP
  1. Leksikal = Kamus yang mendaftar kata - kata bahasa berdasaarkan abjad.
  2. Sintak = Metode penempatan kata di dalam urutan tertentu sehingga suatu kalimat merupakan sesuatu bentuk bahasa yang benar (berkaitan dengan grammar).
  3. Semantik = Makna dari suatu kata, pengkajian hubungan antara kata dan cara penggabungan sehingga menjadi wujud pikiran.
  4. Pragmatik = Pengkajian makna dari suatu paragraf tulisan.
  5. Grammar = Tata Bahasa digunakan untuk membangkitkan kalimat dari suatu bahasa, memeriksa apakah suatu kalima termasuk di dalam bahasa tersebut.


Senin, 07 April 2014

Program c++ "Test Bilangan Prima"

#include <cstdlib>
#include <iostream>
#include<math.h>

using namespace std;
bool prima (int x){
     int k,y;
     bool test;
   
     if(x<2){
             return false;
             }else if (x==2){
                   return true;
                   }else {
                   y = ceil(sqrt(x));
                         test= true;
                   }
                   while (test && (y>=2)){
                         if (x % y ==0){
                               test=false;
                               }else {
                         

       y=y-1;
                               }
                               }
return test;
}
                 

int main(int argc, char *argv[])
{
    int x;
    cout<<"masukkan nilai:"<<endl;
    cin>>x;
    cout<<"prima:"<<prima(x)<<endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Program c++ "Menentukan Faktor Prima"

#include <cstdlib>
#include <iostream>

using namespace std;
void faktor_prima(int n){
int i;
for(i=2; i<=n; i++){

if(n%i==0) {
  if(i>2){
 cout << " * ";
  }
 
          cout << i;
          n/=i;
          i--;
       }
    }
    cout<<endl;
}
int main(int argc, char *argv[])
{
int x;
 
    cout<<"Masukkan nilai : ";
    cin>>x;
    cout<<"Hasil faktor prima : ";
faktor_prima(x); //pemanggilan fungsi
    cout<<endl;
    cout<<endl;

system("pause");
return 0;
}

Selasa, 04 Desember 2012

Tugas 2 Dasar-Dasar Pemrograman

Faktorial menggunakan for

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int n;
    int hasil = 1;
    cout<<"masukan nilai faktorial= ";
    cin>>n;
    for(int i=1; i<=n; i++){
            hasil *=i;
            if(i>1) cout<<"x";
            cout<<i;
            }
            cout<<"= "<<hasil;
            cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}




Senin, 24 September 2012

Tugas1 Dasar-Dasar Pemrograman


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    char nama [25];
    int nim;
    char kelas [25];
   
    cout<<"Program Biodata Mahasiswa"<<endl;
    cout<<"Masukkan Nama    : ";
    cin>>nama;
    cout<<"Masukkan NIM     : ";
    cin>>nim;
    cout<<"Masukkan Kelas   : ";
    cin>>kelas;
   
    cout<<"dan inilah Biodata Mahasiswa:"<<endl;
    cout<<"Nama       : "<<nama<<endl;
    cout<<"NIM        : "<<nim<<endl;
    cout<<"Kelas      : "<<kelas<<endl;
   
   
   
    system("PAUSE");
    return EXIT_SUCCESS;
   
}

Rabu, 19 September 2012

reflection of the second meeting STRUKTUR DATA



second meeting lecture really made me confused. because not mepersiapkannya. I've actually read sekenarionya. but I suppose the friends of the TP I've prepared. apparently not. at the lecture today made me realize it is important to prepare before classes begins. though do not understand what it means but at least know their duties.

I actually do not understand the purpose of the STRUCT and CLASS. Our discussion group was also not understand the application of struct and class together in a single program. that is why in our presentation, we were confused what want in persentasikan.

I worry if I still do not understand struct and class that would make me difficult to understand subsequent material ..
I hope if intentions and diligently i can past this second meeting. hopefully more mentoring can help me ... amen ..

\ * o * /

reflection of the first meeting STRUKTUR DATA



bismilahhirohmannirrohim

today the first meeting of a data structure. I knew from day one bonus value already started. but I deliberately late, it is not for getting a bonus value just that I feel that I've been trying to find the value of bonuses and instead only made ​​that mistake once and lost opportunity, it really makes me more upset. and I do not want to feel disappointed.

I'm afraid if i feel disappointed because i are not received my bonus value not spirit to learn the structure of the data. i think lectures are not only looking for bonus points but to understand what is learned. value can not necessarily make us better, but understanding can make us better in applying.

I hope,, hopefully I can be more accepting and understanding the data structures. starting from the first meeting to discuss BASIC PROGRAMMING C + +. because this is a battle I have  to fight..

fighting fighting ... :)

Rabu, 30 Mei 2012

Tugas Pemrograman Web

Live Preview : http://habibnurrahman.com/pweb/
Download source-code : http://www.mediafire.com/?hpb5nzg3b66653z
Kelompok:
11018078 – Riantini
11018089 – Istiqomah Dwi Susanti
11018099 – Habib Nurrahman
11018100 – Eka Yogie Basenda
11018108 – Heni Sulistyorini

Selasa, 17 April 2012

Algoritma Lingkaran

Deklarasi :
Konstanta
              phi = 3,14
              r : integer         {input}
              keliling,luas : real  {output}

Deskripsi :
              read(r)
              keliling = 2*phi*r
              luas = phi*r*r
              write(keliling,luas)


Flowchart

Algoritma Menghitung Konversi Suhu

{Masukan integer derajat Celcius (C),
menghitung ekivalensinya dalam derajat Reamur (R), Fahrenheit (F), dan Kelvin(K).kemudian menampilkan hasilnya di layar}

Deklarasi:
C  : real   : {derajat Celcius, input}
R  : real  : {derajat Reamur, output}
F  : real  : {derajat Fahrenheit, output}
K  : real  : {derajat Kelvin, output}

Deskripsi:
read (C)
R = 4/5*C
F = 9/5*C+32
K = C+273
write (R,F,K)


Flowchart
 

Algoritma Mencari n Faktorial

Deklarasi :
i,n : integer
faktorial : longint

Deskripsi :
read(n)
faktorial =1
for i=1 to n do
faktorial=faktorial*i
endfor
write(faktorial)



Flowchart



programnya

#include <iostream.h>
#include <conio.h>
class Operator{
friend ostream& operator<<(ostream&, Operator&);
friend istream& operator>>(istream&, Operator&);
public :
long faktorial();
private:
int n;
long hasil;
};
long Operator::faktorial(){
long fak=1;
for(int=1; i<=n; i++)
fak=fak*i;
return fak;
}
ostream& operator<<(ostream& out, Operator){
a.hasil=a.faktorial();
out<<"Hasil cara iterasi :"<<a.n<<"! adalah "<<a.hasil;
return out;
}
istream& operator>>(istream& in, Operator){
cou<<"Masukkan integer n :";
in>>a.n;
return in;
}
void main(){
Operator run;
cin>>run;
cout<<run;
getch();
}
system ("PAUSE");
return EXIT_SUCCESS;
}

Algoritma Mencari Jumlah Deret

Deklarasi :
n,jumlah,x : integer
rata : real

Deskripsi :
jumlah=0
i=1
repeat
julmah=jumlah+(1/i)
i=1+1
selisih=(1/i)-(1/(i-1))
until about(selisih)<0,001
write(jumlah,i)


Flowchart



Programnya


#include <iostream.h>
#include <conio.h>
#include <math.h>

class Deret{
 friend ostream& operator<<(ostream&, Deret&);
 public :
         float hitung_Deret();
 private:
         int n;
         float hasil;
 };

float Deret:: hitung_Deret(){
 float selisih,jumlah=0.0;
 int i=1;
 do{
 jumlah+=1.0/(i-1)-1.0/i;
 }while(selisih>=0.001);
 cout<<"Perulangan dilakukan sebanyak :"<<i<<endl;
 return jumlah;
 }

ostream& operator<<(ostream& out, Deret&){
 out<<"Jumlah deret ="<<A.hitung_Deret();
 return out;
 }

void main(){
 Deret X;
 cout<<X;
 }
system ("PAUSE");
return EXIT_SUCCESS;
}

akar imajiner

read (a,b,c)
disk = b*b-4*a*c
if (a=0) then write (‘bukan persamaan kuadrat’)
else if disk > 0 then
x1 (-b +sqrt(disk)/2*a
x2 (-b -sqrt(disk)/2*a
else if disk=0 then
x1 (-b/2*a)
x2 (x1)
else write (‘akar imajiner’)
end if
write (x1,x2)

Flowchart

menentukan nilai maksimum dan minimum dari n bilangan [array]

procedure maks_min(input data :larik; n:integer; output m1,m2:integer)
Deklarasi
i:integer

Deskripsi
m1 <-data[1]
m2 <-data[1]
for i <- 2 to n do
if (data[i]>m1) then m1 <- data[i];
if (data[i]<m2) then m2 <- data[i];
endfor

Flowchart

menentukan nilai maksimum dari n bilangan dgn [array]

function maksimum(input data :array [1..10] of integer, n:integer): integer
Deklarasi
i,temp: integer

Deskrips
temp <- data[1]
for i<- 2 to n do
temp <- maksimum2(temp, data[i])
maksimum <- temp

Flowchart


nilai deviasi standar dari n buah data

Deklarasi
i,jumlah:integer

Deskripsi
jumlah <- 0
for i <- 1 to n do
jumlah <- jumlah + sqrt(x[i]-rata)
endfor
std<- sqrt(jumlah/(n-1))

Flowchart


rata-rata dari n bilangan bulat dengan menggunakan array

Deklarasi

 i, jumlah: integer
Deskripsi
jumlah <-0
for i <- 1 to n do
jumlah<-jumlah +x[i]
endfor
rata<-jumlah/n

Flowchart

fungsi penjumlahan

flowchart

fungsi faktorial secara rekursif untuk mencari n

flowchart