Tugas Sismul Project 2

Laporan

Latar Belakang

Kebanyakkan Binusian memiliki Flazz tetapi belum mengetahui cara mengisi Flazz melalui mesin EDC. Kebanyakkan Binusian juga memiliki Flazz hanya untuk absen di Binus saja padahal banyak keuntungan yang di dapat jika memiliki Flazz. Oleh karena itu, kelompok kami membuat aplikasi tentang promosi apa yang Flazz berikan sekarang ini dan juga video tutorial mengenai cara mengisi Flazz melalui mesin EDC.

Tujuan

Kami berharap dengan adanya aplikasi yang kelompok kami buat dapat memberikan informasi yang bermanfaat untuk para Binusian.

Tampilan Aplikasi
Capture-300x210

Anggota Kelompok :
04PLT
Nesya Arviana Nerissa (1601225766)
Renardi Yoel Prasetya (1601225444)
Monica Valencia (1601224302)
Marshal (1601221124)
Kevala (1601218073)

Posted in Uncategorized | Leave a comment

GSLC AI 28MEI2014

  1. Classification adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya tidak diketahui. Model itu sendiri bisa berupa aturan “jika-maka”, berupa decision tree, formula matematis atau neural network. Proses classification biasanya dibagi menjadi dua fase : learning dan test. Pada fase learning, sebagian data yang telah diketahui kelas datanya diumpankan untuk membentuk model perkiraan. Kemudian pada fase test model yang sudah terbentuk diuji dengan sebagian data lainnya untuk mengetahui akurasi dari model tsb. Bila akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui.
  2. Information Retrieval digunakan untuk menemukan kembali informasi-informasi yang relevan terhadap kebutuhan pengguna dari suatu kumpulan informasi secara otomatis. Salah satu aplikasi umum dari sistem temu kembali informasi adalah search-engine atau mesin pencarian yang terdapat pada jaringan internet. Pengguna dapat mencari halaman-halaman Web yang dibutuhkannya melalui mesin tersebut.

    Ukuran efektifitas pencarian ditentukan oleh precision dan recall. Precision adalah rasio jumlah dokumen relevan yang ditemukan dengan total jumlah dokumen yang ditemukan oleh search-engine. Precision mengindikasikan kualitas himpunan jawaban, tetapi tidak memandang total jumlah dokumen yang relevan dalam kumpulan dokumen.

    \mbox{Precision}=\frac{|\{\mbox{relevant documents}\}\cap\{\mbox{documents retrieved}\}|}{|\{\mbox{documents retrieved}\}|}

    Recall adalah rasio jumlah dokumen relevan yang ditemukan kembali dengan total jumlah dokumen dalam kumpulan dokumen yang dianggap relevan.

    \mbox{Recall}=\frac{|\{\mbox{relevant documents}\}\cap\{\mbox{documents retrieved}\}|}{|\{\mbox{relevant documents}\}|}

    Dalam dalam hal ini, mendapatkan dokumen yang relevan tidaklah cukup. Tujuan yang harus dipenuhi adalah bagaimana mendapatkan doukmen relevan dan tidak mendapatkan dokumen yang tidak relevan. Tujuan lainnya adalah bagaimana menyusun dokumen yang telah didapatkan tersebut ditampilkan terurut dari dokumen yang memiliki tingkat relevansi lebih tingi ke tingkat relevansi rendah. Penyusunan dokumen terurut tersebut disebut sebagai perangkingan dokumen. Model Ruang Vektor dan Model Probabilistik adalah 2 model pendekatan untuk melakukan hal tersebut.


  3.  algoritma HITS (Hypertext – Induced Topic Search). HITS menggunakan root set sebagai data awal, root set tersebut akan diperluas menjadi base set dan dari base set akan digunakan dalam perhitungan nilai authority dan hub.

    Dari pengujian yang dilakukan berdasarkan backlink metric, penggunaan HITS pada information retrieval memberikan pengaruh yang baik terhadap nilai IAP namun tidak demikian halnya pada nilai precision. Penambahan batasan dokumen crawling dan jumlah root set tidak selalu memberikan peningkatan nilai precision, karena dapat dipengaruhi oleh jumlah inlink dan jumlah outlink dokumen tersebut.
  4. PROLOG adalah kependekan dari PROgramming in LOGic,  yang berarti pemrograman logika. Pemrograman Prolog menggunakan bahasa deklaratif, dimana pemrogram memberi fakta dan aturan untuk selanjutnya diselesaikan oleh Prolog secara deduktif sehingga menghasilkan suatu kesimpulan.
    Hal ini berbeda dengan bahasa prosedural seperti Pascal, Fortran, C, atau yang sejenis, dimana pemrogram memberi perintah atau penugasan untuk memecahkan persoalan langkah demi langkah,sehingga sering disebut sebagai programming with assignment. Disamping itu, berbeda dengan pemrograman fungsional, pemrograman logika ini menggunakan relasi, bukan fungsi sehingga sangat sesuai untuk implementasi sistem pakar.


 

back link

Posted in Uncategorized | Leave a comment

Tugas GSLC 8 Mei 2014

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

 

Supervised Learning

Dalam teknik supervised learning, maka sebuah program harus dapat membuat klasifikasi – klasifikasi dari contoh- contoh yang telah diberikan.

Misalnya sebuah program diberikan benda berupa bangku dan meja, maka setelah beberapa contoh, program tersebut harus dapat memilah- milah objek ke dalam klasifikasi yang cocok.
Kesulitan dari supervised learning adalah kita tidak dapat membuat klasifikasi yang benar. Dapat dimungkinkan program akan salah dalam mengklasifikasi sebuah objek setelah dilatih. Oleh karena itu, selain menggunakan training set kita juga memberikan test set. Dari situ kita akan mengukur persentase keberhasilannya. Semakin tinggi berarti semakin baik program tersebut.
Persentase tersebut dapat ditingkatkan dengan diketahuinya temporal dependence dari sebuah data. Misalnya diketahui bahwa 70% mahasiswa dari jurusan Teknik Informatika adalah laki- laki dan 80% mahasiswa dari jurusan Sastra adalah wanita. Maka program tersebut akan dapat mengklasifikasi dengan lebih baik.

Unsupervised Learning

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.

unser

Reinforcement Learning

Reinforcement learning adalah sebuah teknik learning yang mempelajari aturan kontrol dengan cara berinteraksi dengan lingkungan yang masih asing. Ada 2 cara dalam teknik ini, teknik model-based dan teknik model-free.
Dalam teknik model-based, kita akan membuat sebuah subset berisi 4 tuple yang menggambarkan aksi, kondisi, hasil dan kondisi selanjutnya. Setelah mendapatkan subset yang cukup banyak maka kita dapat menghasilkan probability transition function dan reward function. Setelah mendapatkan kedua fungsi tersebut, kita dapat menggunakan dynamic programming untuk menghasilkan aturan yang paling optimal.
Dalam teknik model-free, kita tidak menyimpan subset yang berisi 4 tuple. Kita langsung menerapkan sebuah algoritma yang dapat langsung mengubah aturan kontrol menjadi lebih efisien.

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 ID3 atau C4.5, yang diperkenalkan dan dikembangkan pertama kali oleh Quinlan yang merupakan singkatan dari Iterative Dichotomiser 3 atau Induction of Decision “3″ (baca: Tree).
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 (akar/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 tertentu, seperti hipertensi, kanker, stroke dan lain-lain
• Pemilihan produk seperti rumah, kendaraan, komputerdanlain-lain
• Pemilihan pegawai teladan sesuai dengan kriteria tertentu
• Deteksi gangguan pada computer atau jaringan computer seperti Deteksi Entrusi, deteksi virus (Trojan dan varians),dan lain-lain

 

 www.binus.ac.id 

Posted in Uncategorized | Leave a comment

Sistem Multimedia

File :
Bagaimana cara melakukan isi ulang (Top Up) Flazz ?

Latar Belakang

Kebanyakkan Binusian memiliki Flazz dan mengisi ulang (Top Up) Flazz melalui mesin ATM
akan tetapi mereka belum mengetahui cara mengisi Flazz melalui mesin EDC. Oleh karena itu kelompok kami
membuat video tutorial bagaimana cara mengisi ulang (Top Up) Flazz.

Tujuan

Kami berharap Binusian dapat mengerti bagaimana cara mengisi Flazz melalui mesin EDC.
Link Video : http://youtu.be/RjtyqSMOSJg
Anggota Kelompok :

Nesya Arviana Nerissa (1601225766)

Renardi Yoel Prasetya (1601225444)

Monica Valencia (1601224302)

Marshal (1601221124)

Kevala (1601218073)

Story board

 

tugas video tugas video1

Posted in Uncategorized | Leave a comment

Intelegensia Semu- GSLC 1

  1. Adversarial search bekerja dengan cara mencari berbagai kemungkinan solusi atas sebuah masalah. menyelidiki dua penggunaan pencarian di mana kita dapat menerapkan strategi lain untuk mencari ruang state. jadi operator tertentu diluar control anda, anda tidak bisa mengontrol gerak lawan.

Adversarial Search pada Problem Game
• Initial State: posisi board dan pemain
• Successor Function: mengembalikan daftar
kemungkinan langka pemain
• Terminal Test: penentuan syarat game
berakhir
• Utility function: nilai dari setiap state
• Game Tree: kemungkinan langkah pemain
(state) berdasarkan langkah sebelumnya

contoh : game catur , tic tac toe

CSP atau Constraint Satisfaction Problem adalah permasalahan yang tujuannya adalah mendapatkan suatu kombinasi variabel-variabel tertentu yang memenuhi aturan-aturan (constraints) tertentu.

contoh : Pemetaan 3 warna pada peta

2.  Logika Proposisi (Propositional Logic) menawarkan logika dalam bentuk sederhana sehingga mudah dipahami. Meskipun begitu, Logika Proposisi sudah mampu membantu menarik kesimpulan. Namun, banyak kasus yang muncul akan menjadi terlihat panjang dan rumit saat diwujudkan dalam bentuk Logika Proposisi. Dan itu bisa lebih panjang dan rumit dibandingkan problem itu sendiri.

Beberapa contoh operator logika adalah:

~      (negasi)
^      (konjungsi)
V      (disjungsi)
=>    (implikasi)
<=>  (ekuivalensi)

Tabel kebenaran

tabel kebenaran

contoh :

p : motor itu bannya kurang angin

q : motor itu kehabisan bahan bakar

Motor itu bannya kurang angin dan kehabisan bahan bakar dapat disimbolkan dengan

p ^ q

 3.   contoh codingan A* java

package aStar;
 
import java.util.ArrayList;
import java.util.Collections;
 
import aStar.heuristics.AStarHeuristic;
import aStar.utils.Logger;
 
publicclassAStar{
        privateAreaMap map;
        privateAStarHeuristic heuristic;
        //private int startX;
        //private int startY;
        //private int goalX;
        //private int goalY;
        /**
        
        privateArrayList<Node> closedList;
        privateSortedNodeList openList;
        privatePath shortestPath;
        Logger log =newLogger();
 
        AStar(AreaMap map,AStarHeuristic heuristic){
                this.map = map;
                this.heuristic = heuristic;
 
                closedList =newArrayList<Node>();
                openList =newSortedNodeList();
        }
 
        publicPath calcShortestPath(int startX,int startY,int goalX,int goalY){
                //this.startX = startX;
                //this.startY = startY;
                //this.goalX = goalX;
                //this.goalY = goalY;
 
              
                map.setStartLocation(startX, startY);
                map.setGoalLocation(goalX, goalY);
 
     
                if(map.getNode(goalX, goalY).isObstacle){
                        returnnull;
                }
 
                map.getStartNode().setDistanceFromStart(0);
                closedList.clear();
                openList.clear();
                openList.add(map.getStartNode());
 
              
                while(openList.size()!=0){
 
                      
                        Node current = openList.getFirst();
 
                       
                        if(current.getX()== map.getGoalLocationX()&& current.

getY()== map.getGoalLocationY()){

                                return reconstructPath(current);
                        }
                        openList.remove(current);
                        closedList.add(current);
 
                       
                        for(Node neighbor : current.getNeighborList()){
                                boolean neighborIsBetter;
 
                               
                                if(closedList.contains(neighbor))
                                        continue;
 
                               
                                if(!neighbor.isObstacle){
 
                                       
                                        float neighborDistanceFromStart =(current.getDistanceFromStart()+ map.getDistanceBetween(current, neighbor));
 
                                       
                                        if(!openList.contains(neighbor)){
                                                openList.add(neighbor);
                                                neighborIsBetter =true;
                                               
                                        }elseif(neighborDistanceFromStart < current.getDistanceFromStart()){
                                                neighborIsBetter =true;
                                        }else{
                                                neighborIsBetter =false;
                                        }
                                       
                                     if(neighborIsBetter){
                                     neighbor.setPreviousNode(current);
                                     eighbor.setDistanceFromStart(neighborDistanceFromStart);
                                     neighbor.setHeuristicDistanceFromGoal(heuristic.getEstimated

DistanceToGoal(neighbor.getX(),neighbor.getY(), map.getGoalLocationX(), map.getGoalLocationY()));

                                        }
                                }
 
                        }
 
                }
                returnnull;
        }
 


        publicvoid printPath(){
                Node node;
                for(int x=0; x<map.getMapWith(); x++){
 
                        if(x==0){
                                for(int i=0; i<=map.getMapWith(); i++)
                                        System.out.print(“-“);
                                System.out.println();
                        }
                        System.out.print(“|”);
 
                        for(int y=0; y<map.getMapHeight(); y++){
                                node = map.getNode(x, y);
                                if(node.isObstacle){
                                        System.out.print(“X”);
                                }elseif(node.isStart){
                                        System.out.print(“s”);
                                }elseif(node.isGoal){
                                        System.out.print(“g”);
                                }elseif(shortestPath.contains(node.getX(), node.getY())){
                                        System.out.print(“¤”);
                                }else{
                                        System.out.print(” “);
                                }
                                if(y==map.getMapHeight())
                                        System.out.print(“_”);
                        }
 
                        System.out.print(“|”);
                        System.out.println();
                }
                for(int i=0; i<=map.getMapWith(); i++)
                        System.out.print(“-“);
        }
 
        privatePath reconstructPath(Node node){
                Path path =newPath();
                while(!(node.getPreviousNode()==null)){
                        path.prependWayPoint(node);
                        node = node.getPreviousNode();
                }
                this.shortestPath = path;
                return path;
        }
 
        privateclassSortedNodeList{
 
                privateArrayList<Node> list =newArrayList<Node>();
 
                publicNode getFirst(){
                        return list.get(0);
                }
 
                publicvoid clear(){
                        list.clear();
                }
 
                publicvoid add(Node node){
                        list.add(node);
                        Collections.sort(list);
                }
 
                publicvoid remove(Node n){
                        list.remove(n);
                }
 
                publicint size(){
                        return list.size();
                }
 
                publicboolean contains(Node n){
                        return list.contains(n);
                }
        }
 
}

www.binus.ac.id 

Posted in Uncategorized | Leave a comment

Hello world!

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 | 1 Comment