Pitacily's lovely desk

(not) just another Binusian blog site

Laporan Sistem Multimedia – UAS

No Comments »

June 18th, 2014 Posted 2:54 am

PROJECT SISTEM MULTIMEDIA

A.SMILE WEB APPLICATION

A.    Latar Belakang

Ide ini berasal dari tugas CB dimana tugas ini kami harus terjun langsung ke masyarakat. Pada saat yang sama café yang kami kunjungi sedang mengalami penurunan jumlah pelanggan. Maka itu kami berinisiatif untuk membuatkan website sebagai salah satu media untuk berpromosi dimana café ini sebelumnya belum memiliki sebuah website.

B.    Tujuan dan Manfaat

Tujuan dari pembuatan web ini adalah mempromosikan cafe ini di dunia maya serta menyediakan info lengkap tentang café ini baik dari menu, alamat, dan info-info terbaru dari café ini.

Manfaat dari pembuatan web ini adalah kemudahan pelanggan dalam mengakses informasi yang dibutuhkan tentang café ini serta peningkatan pelanggan yang akan berkunjung ke café tersebut.

C.    Deskripsi Aplikasi

Pada aplikasi ini kami membuat aplikasi berbasis web yang memuat segala informasi tentang café tersebut mulai dari menu, alamat, foto, dan kabar terbaru dari café tersebut

Di web ini kami memiliki 4 halaman yaitu “Home”, “Menu”, “Gallery” dan “About Us”. Pembuatan ke 4 halaman ini hanya menggunakan fitur bawaan dari CMS WordPress. Alasan pemilihan wordpress dikarenakan wordpress merupakan salah satu CMS yang user friendly, SEO Friendly, easy to modify, serta memiliki banyak plugin.

Page Home berisi informasi-informasi terbaru dari café serta review dari para pelanggan . Page Home dapat diakses dengan meng-klik header dari website ini.

Page Menu berisi informasi dari menu yang dimiliki A.Smile. Menu tersebut berbentuk tabel Nama Menu dan Harga. Kemudian tabel tersebut dibagi sesuai dengan kategori menu, seperti minuman, Chinese food, steak, dll

Page Gallery berisi foto-foto dari A.Smile. Seperti kita ketahui untuk menyampaikan pesan kadang gambar lebih efektif daripada teks. Sehingga foto-foto ini menunjukkan keadaan dari A.Smile Café, para karyawan dan lain-lain.

Page About Us berisi hal-hal yang berkaitan dengan informasi umum dari A.Smile. Seperti spesialisasi makanan, alamat, dan kontak.

Aplikasi yang digunakan:

  1. APPSERV(PHP Engine,My SQL, serta phpmyadmin untuk windows)
  2. WordPress
  3. Adobe Photoshop 5.1

D.      Penutup

Demikian laporan dari kami, semoga dapat membantu bagi orang yang memiliki masalah yang sama dengan kami. Terimakasih untuk anggota kelompok yang sudah berpartisipasi.

Posted in Uncategorized

Learning (GSLC 8 MAY 2014)

No Comments »

June 6th, 2014 Posted 5:16 am

1. Apa yang dimaksud supervised learning, unsupervised learning dan reinforcement learning?berikan contoh masing-masing?

–Supervised learning: jawaban benar untuk setiap contoh(example)

Sebuah teknik pembelajaran mesin dengan membuat suatu fungsi dari data latihan. Data latihan terdiri dari pasangan nilai input dan output yang diharapkan dari input yang bersangkutan. Tugas dari Supervised learning adalah untuk memprediksi nilai fungsi untuk nilai semua input yang ada.

Contoh algoritma jaringan saraf tiruan yang mernggunakan metode supervised learning adalah hebbian (hebb rule), perceptron, adaline, boltzman, hapfield, dan backpropagation.

Contoh :

Kita ingin membuat suatu program komputer yang ketika diberi gambar seseorang, dapat menentukan apakah orang dalam gambar tersebut pria atau wanita. Program yang kita buat tersebut adalah yang
disebut sebagai classifier, karena program tersebut berusaha menetapkan kelas (yaitu pria atau wanita) ke sebuah objek (gambar). Tugas supervised learning adalah untuk membangun sebuah classifier dengan memberikan sekumpulan contoh training yang sudah diklasifikasi (pada kasus ini, contohnya adalah gambar yang telah dimasukkan ke kelas yang tepat).

 

–Unsupervised learning: jawaban benar tidakdiberikan

Teknik ini menggunakan prosedur yang berusaha untuk mencari partisi dari sebuah pola. Unsupervised learning mempelajari bagaimana sebuah sistem dapat belajar untuk merepresentasikan pola input dalam cara yang menggambarkan struktur statistikal dari keseluruhan pola input. Berbeda dari supervised learning, unsupervised learning tidak memiliki target output yang eksplisit atau tidak ada pengklasifikasian input.

Dalam machine learning, teknik unsupervised sangat penting. Hal ini dikarenakan cara bekerjanya mirip dengan cara bekerja otak manusia. Dalam melakukan pembelajaran, tidak ada informasi dari contoh yang tersedia. Oleh karena itu, unsupervised learning menjadi esensial.

Contoh algoritma jaringan saraf tiruan yang menggunakan metode unsupervised ini adalah competitive, hebbian, kohonen, LVQ(Learning Vector Quantization), neocognitron.

Contoh : competitive learning, dimana neuron-neuron salingbersainguntukmenjadipemenang.

–Reinforcement learning: kadang-kadangmenguntungkan

Sub area machine learning yang menitikberatkan kepada cara sebuah agent mengambil aksi di lingkungannya. Di sini agent melakukan maksimalisasi pemikiran tentang reward untuk jangka panjang. RL diinspirasi dari fenomena biologi dan mengelola pengetahuan melalui eksplorasi aktif terhadap lingkungannya. Pada setiap langkah, RL memilih beberapa aksi yang mungkin dilakukan dan menerima reward dari lingkungan atas aksi spesifik yang dilakukannya. Aksi terbaik yang harus dilakukan di beberapa state tidak pernah diketahui sehingga agent harus mencoba beberapa aksi-aksi dan urutan-urutan aksi yang berbeda serta belajar dari pengalamannnya.

Contoh : Pada masalah-masalah terdistribusi.

Ciri-ciri reinforcement learning :

– membutuhkan memori dan komputasi yang medium pada setiap node-nya.

– melakukan mekanisme pemeliharaan beberapa kemungkinan aksi-aksi yang berbeda beserta nilainya.

– memerlukan waktu untuk mencapai konvergen.

– RL mudah diimplementasikan, fleksibel terhadap perubahan topologi, dan mencapai aksi optimum.

– Contoh implementasi algoritma RL adalah Q-Learning, Dual RL, TPOT Reinforcement Learning, dan Collaborative RL.


2. Apa yang dimaksud dengan Learning Decision Tree dan berikan contohnya? 

Decision Tree adalah sebuah struktur pohon, dimana setiap node pohon merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian hasil uji, dan node daun (leaf) merepresentasikan kelompok kelas tertentu. Level node teratas dari sebuah Decision Tree adalah node akar (root) yang biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu kelas tertentu. Pada umumnya Decision Tree melakukan strategi pencarian secara top-down untuk solusinya. Pada proses mengklasifikasi data yang tidak diketahui, nilai atribut akan diuji dengan cara melacak jalur dari node akar (root) sampai node akhir (daun) dan kemudian akan diprediksi kelas yang dimiliki oleh suatu data baru tertentu.

Decision Tree menggunakan algoritma Iterative Dichotomiser 3 atau Induction of Decision “3″ (baca: Tree) yang diperkenalkan dan dikembangkan pertama kali oleh Quinlan.
Algoritma ID3 membentuk pohon keputusan dengan metode divide-and-conquer data secara rekursif dari atas ke bawah.

Strategi pembentukan Decision Tree dengan algoritma ID3 adalah:

• Pohon dimulai sebagai node tunggal (root) yang merepresentasikan semua data.

• Sesudah node root dibentuk, maka data pada node akar akan diukur dengan information gain untuk dipilih atribut mana yang akan dijadikan atribut pembaginya.

• Sebuah cabang dibentuk dari atribut yang dipilih menjadi pembagi dan data akan didistribusikan ke dalam cabang masing-masing.

• Algoritma ini akan terus menggunakan proses yang sama atau bersifat rekursif untuk dapat membentuk sebuah Decision Tree. Ketika sebuah atribut telah dipilih menjadi node pembagi atau cabang, maka atribut tersebut tidak diikutkan lagi dalam penghitungan nilai information gain.

• Proses pembagian rekursif akan berhenti jika salah satu dari kondisi dibawah ini terpenuhi:

1. Semua data dari anak cabang telah termasuk dalam kelas yang sama.

2. Semua atribut telah dipakai, tetapi masih tersisa data dalam kelas yang berbeda. Dalam kasus ini, diambil data yang mewakili kelas yang terbanyak untuk menjadi label kelas pada node daun.

3. Tidak terdapat data pada anak cabang yang baru. Dalam kasus ini, node daun akan dipilih pada cabang sebelumnya dan diambil data yang mewakili kelas terbanyak untuk dijadikan label kelas.

Beberapa contoh pemakaian Decision Tree,yaitu :
• Diagnosa penyakit hipertensi, kanker, stroke.
• Pemilihan produk seperti rumah, kendaraan, komputer.
• Pemilihan pegawai teladan sesuai dengan kriteria tertentu.
• Deteksi gangguan pada computer atau jaringan computer seperti deteksi virus (Trojan dan varians).

Posted in Uncategorized

Natural Language Processing

No Comments »

June 4th, 2014 Posted 4:33 pm

What is Text Classification?

Text classification, also known as categorization: given a text of some kind, decide which of a predefined set of classes it belongs to. Language identification and genre classification are examples of text classification, as is sentiment analysis (classifying a movie or product review as positive or negative) and spam detection (classifying an email message as spam or not-spam).

 

Another way to think about classification is as a problem in data compression. A lossless compression algorithm takes a sequence of symbols, detects repeated patterns in it, and writes a description of the sequence that is more compact than the original.

For example, the text “0.142857142857142857” might be compressed to Compression algorithms work by building dictionaries of subsequences of the text, and then referring to entries in the dictionary. The example here had only one dictionary entry, “142857.“

In effect, compression algorithms are creating a language model. The LZW algorithm in particular directly models a maximum-entropy probability distribution. To do classification by compression, we first lump together all the spam training messages and compress them as

 


 

 

What is Information Retrieval?

Information retrieval is the task of finding documents that are relevant to a user’s need for information. The best-known examples of information retrieval systems are search engines on the World Wide Web. A Web user can type a query such as [AI into a search engine and see a list of relevant pages. In this section, we will see how such systems are built. An information retrieval (henceforth IR) system can be characterized by :

  • A corpus of documents. Each system must decide what it wants to treat as a document: a paragraph, a page, or a multipage text.
  • Queries posed in a query language. A query specifies what the user wants to know. The query language can be just a list of words, such as [AI book]; or it can specify a phrase of words that must be adjacent.
  • A result set. This the subset of documents that the IR system judges to be relevant to the query. By relevant, we mean likely to be of use to the person who posed the query, for the particular information need expressed in the query.
  • A presentation of the result set. This can be as simple as a ranked list of document titles or as complex as a rotating color map of the result set projected onto a three-dimensional space, rendered as a two-dimensional display.

 

Characteristic of IR:

  • A collection of writings (document). The system must determine which one want to be considered as a document (paper). Example: a paragraph, a page, etc.
  • User Query. The query is a formula used to find the information needed by the user. In its simplest form, a query is a keyword and documents that contain the keywords are the searched documents. Example: [AI book]; [“Al book”]; [AI AND book]; [AI NEAR book] [AI book site:www.aaai.org].
  • Set of Results. The results from the queries. A part of the documents in which is relevant to the query.
  • Display of result sets. Can be a list of results in a ranking of the title documents

 


 

 

HITS (Hyperlink-Induced Topic Search)

It is almost the same as PageRank algorithm, but HITS does not count the number of links in a page, but look around the found links, if it is in accordance with the destination of a link, the more appropriate words between the origin link to the destination link, the higher the authority value of the page.

 


 

 

Prolog is a language based on first order predicate logic. (Will revise/introduce this later). We can assert some facts and some rules, then ask questions to find out what is true.

  • Facts:

Untitled1

Note: lower case letters, full stop at end.

 

  • Rules:

Untitled2

  1. John likes someone if that someone is tall.
  2. A person examines a course if they teach that course.
  3. NOTE: “:-” used to mean IF. Meant to look a bit like a backwards arrow
  4. NOTE: Use of capitals (or words starting with capitals) for variables.

Posted in Uncategorized

Proyek Video Sistem Multimedia

No Comments »

April 24th, 2014 Posted 12:46 am

Latar Belakang & Tujuan

Tutorial ini  untuk mengenalkan cracking WEP Encryption. Hal ini dimaksudkan untuk membangun keterampilan dasar dan menjadikan kita akrab dengan konsep-konsep wireless cracking. Dan menjelaskan bahwa tidak ada jaringan yang aman.

Cara Pembuatan Video

Pembuatan video menggunakan Camtasia Studio dengan menggunakan fasilitas Screen Record dari Camtasia. Serta menggunakan fungsi screen record dari samsung galaxy tab 2(menggunakan mokee rom 4.4.2)

screenshot_00015-1024x553

Software Lain yang Digunakan

  • ›Vmware Workstation(Virtualization Tool)
  • ›Kali Linux(Operating system based on Ubuntu)
  • Vvcap (Screenshoot Tool)
  • ›Photoshop

StoryBoard

Story board hanya dirancang dengan tulisan serta langkah-langkah yang dilakukan dalam bentuk video.

screenshot_00013

screenshot_00014

Hasil Karya

http://www.youtube.com/embed/8l9RVAshSRQ?autoplay=1&cc_load_policy=1″

Posted in Uncategorized

GSLC 1

No Comments »

March 18th, 2014 Posted 3:33 am

1. Adversarial Search & Constraint Satisfaction Problems definition and the example.

Adversarial search is especially known for its usefulness in calculating the best move in two player games where all the information is available, such as chess or tic tac toe.

Constraint satisfaction problems are mathematical problems defined as a set of objects whose state must satisfy a number of constraints or limitations. The examples are Map coloring, Sudoku and logic puzzles.

2. Propositional logic is the simplest logic –  illustrates basic ideas. Defines a language for symbolic reasoning. Propositional logic deals with the determination of the truth of a sentence. An allowable sentence is called the syntax of proposition. A syntax or sentence holds various.

Table Connective Operators

English Name Connective Name Symbol
Conjunction AND
Disjunction OR
Negation Not
Material Implication If-Then
Material equivalence Equals

Table Truth table

p q ∼p p∧q p∨q p→q p↔q
T T F T T T T
T F F F T F F
F T T F T T F
F F T F F T T

3. Algoritma A*

#include <iostream>

#include <iomanip>

#include <queue>

#include <string>

#include <math.h>

#include <ctime>

using namespace std;

const int n=60; // horizontal size of the map

const int m=60; // vertical size size of the map

static int map[n][m];

static int closed_nodes_map[n][m]; // map of closed (tried-out) nodes

static int open_nodes_map[n][m]; // map of open (not-yet-tried) nodes

static int dir_map[n][m]; // map of directions

const int dir=8; // number of possible directions to go at any position

// if dir==4

//static int dx[dir]={1, 0, -1, 0};

//static int dy[dir]={0, 1, 0, -1};

// if dir==8

static int dx[dir]={1, 1, 0, -1, -1, -1, 0, 1};

static int dy[dir]={0, 1, 1, 1, 0, -1, -1, -1};

class node

{

// current position

int xPos;

int yPos;

// total distance already travelled to reach the node

int level;

// priority=level+remaining distance estimate

int priority;  // smaller: higher priority

public:

node(int xp, int yp, int d, int p)

{xPos=xp; yPos=yp; level=d; priority=p;}

int getxPos() const {return xPos;}

int getyPos() const {return yPos;}

int getLevel() const {return level;}

int getPriority() const {return priority;}

void updatePriority(const int & xDest, const int & yDest)

{

priority=level+estimate(xDest, yDest)*10; //A*

}

// give better priority to going strait instead of diagonally

void nextLevel(const int & i) // i: direction

{

level+=(dir==8?(i%2==0?10:14):10);

}

// Estimation function for the remaining distance to the goal.

const int & estimate(const int & xDest, const int & yDest) const

{

static int xd, yd, d;

xd=xDest-xPos;

yd=yDest-yPos;

// Euclidian Distance

d=static_cast<int>(sqrt(xd*xd+yd*yd));

// Manhattan distance

//d=abs(xd)+abs(yd);

// Chebyshev distance

//d=max(abs(xd), abs(yd));

return(d);

}

};

// Determine priority (in the priority queue)

bool operator<(const node & a, const node & b)

{

return a.getPriority() > b.getPriority();

}

// A-star algorithm.

// The route returned is a string of direction digits.

string pathFind( const int & xStart, const int & yStart,

const int & xFinish, const int & yFinish )

{

static priority_queue<node> pq[2]; // list of open (not-yet-tried) nodes

static int pqi; // pq index

static node* n0;

static node* m0;

static int i, j, x, y, xdx, ydy;

static char c;

pqi=0;

// reset the node maps

for(y=0;y<m;y++)

{

for(x=0;x<n;x++)

{

closed_nodes_map[x][y]=0;

open_nodes_map[x][y]=0;

}

}

// create the start node and push into list of open nodes

n0=new node(xStart, yStart, 0, 0);

n0->updatePriority(xFinish, yFinish);

pq[pqi].push(*n0);

open_nodes_map[x][y]=n0->getPriority(); // mark it on the open nodes map

// A* search

while(!pq[pqi].empty())

{

// get the current node w/ the highest priority

// from the list of open nodes

n0=new node( pq[pqi].top().getxPos(), pq[pqi].top().getyPos(),

pq[pqi].top().getLevel(), pq[pqi].top().getPriority());

x=n0->getxPos(); y=n0->getyPos();

pq[pqi].pop(); // remove the node from the open list

open_nodes_map[x][y]=0;

// mark it on the closed nodes map

closed_nodes_map[x][y]=1;

// quit searching when the goal state is reached

//if((*n0).estimate(xFinish, yFinish) == 0)

if(x==xFinish && y==yFinish)

{

// generate the path from finish to start

// by following the directions

string path=””;

while(!(x==xStart && y==yStart))

{

j=dir_map[x][y];

c=’0′+(j+dir/2)%dir;

path=c+path;

x+=dx[j];

y+=dy[j];

}

// garbage collection

delete n0;

// empty the leftover nodes

while(!pq[pqi].empty()) pq[pqi].pop();

return path;

}

// generate moves (child nodes) in all possible directions

for(i=0;i<dir;i++)

{

xdx=x+dx[i]; ydy=y+dy[i];

if(!(xdx<0 || xdx>n-1 || ydy<0 || ydy>m-1 || map[xdx][ydy]==1

|| closed_nodes_map[xdx][ydy]==1))

{

// generate a child node

m0=new node( xdx, ydy, n0->getLevel(),

n0->getPriority());

m0->nextLevel(i);

m0->updatePriority(xFinish, yFinish);

// if it is not in the open list then add into that

if(open_nodes_map[xdx][ydy]==0)

{

open_nodes_map[xdx][ydy]=m0->getPriority();

pq[pqi].push(*m0);

// mark its parent node direction

dir_map[xdx][ydy]=(i+dir/2)%dir;

}

else if(open_nodes_map[xdx][ydy]>m0->getPriority())

{

// update the priority info

open_nodes_map[xdx][ydy]=m0->getPriority();

// update the parent direction info

dir_map[xdx][ydy]=(i+dir/2)%dir;

// replace the node

// by emptying one pq to the other one

// except the node to be replaced will be ignored

// and the new node will be pushed in instead

while(!(pq[pqi].top().getxPos()==xdx &&

pq[pqi].top().getyPos()==ydy))

{

pq[1-pqi].push(pq[pqi].top());

pq[pqi].pop();

}

pq[pqi].pop(); // remove the wanted node

// empty the larger size pq to the smaller one

if(pq[pqi].size()>pq[1-pqi].size()) pqi=1-pqi;

while(!pq[pqi].empty())

{

pq[1-pqi].push(pq[pqi].top());

pq[pqi].pop();

}

pqi=1-pqi;

pq[pqi].push(*m0); // add the better node instead

}

else delete m0; // garbage collection

}

}

delete n0; // garbage collection

}

return “”; // no route found

}

int main()

{

srand(time(NULL));

// create empty map

for(int y=0;y<m;y++)

{

for(int x=0;x<n;x++) map[x][y]=0;

}

// fillout the map matrix with a ‘+’ pattern

for(int x=n/8;x<n*7/8;x++)

{

map[x][m/2]=1;

}

for(int y=m/8;y<m*7/8;y++)

{

map[n/2][y]=1;

}

// randomly select start and finish locations

int xA, yA, xB, yB;

switch(rand()%8)

{

case 0: xA=0;yA=0;xB=n-1;yB=m-1; break;

case 1: xA=0;yA=m-1;xB=n-1;yB=0; break;

case 2: xA=n/2-1;yA=m/2-1;xB=n/2+1;yB=m/2+1; break;

case 3: xA=n/2-1;yA=m/2+1;xB=n/2+1;yB=m/2-1; break;

case 4: xA=n/2-1;yA=0;xB=n/2+1;yB=m-1; break;

case 5: xA=n/2+1;yA=m-1;xB=n/2-1;yB=0; break;

case 6: xA=0;yA=m/2-1;xB=n-1;yB=m/2+1; break;

case 7: xA=n-1;yA=m/2+1;xB=0;yB=m/2-1; break;

}

cout<<”Map Size (X,Y): “<<n<<”,”<<m<<endl;

cout<<”Start: “<<xA<<”,”<<yA<<endl;

cout<<”Finish: “<<xB<<”,”<<yB<<endl;

// get the route

clock_t start = clock();

string route=pathFind(xA, yA, xB, yB);

if(route==””) cout<<”An empty route generated!”<<endl;

clock_t end = clock();

double time_elapsed = double(end – start);

cout<<”Time to calculate the route (ms): “<<time_elapsed<<endl;

cout<<”Route:”<<endl;

cout<<route<<endl<<endl;

// follow the route on the map and display it

if(route.length()>0)

{

int j; char c;

int x=xA;

int y=yA;

map[x][y]=2;

for(int i=0;i<route.length();i++)

{

c =route.at(i);

j=atoi(&c);

x=x+dx[j];

y=y+dy[j];

map[x][y]=3;

}

map[x][y]=4;

// display the map with the route

for(int y=0;y<m;y++)

{

for(int x=0;x<n;x++)

if(map[x][y]==0)

cout<<”.”;

else if(map[x][y]==1)

cout<<”O”; //obstacle

else if(map[x][y]==2)

cout<<”S”; //start

else if(map[x][y]==3)

cout<<”R”; //route

else if(map[x][y]==4)

cout<<”F”; //finish

cout<<endl;

}

}

getchar(); // wait for a (Enter) keypress

return(0);

}

Posted in Uncategorized

Hello world!

1 Comment »

March 16th, 2014 Posted 6:43 am

Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂

Posted in Uncategorized