Difinisi Active Record Codeigniter



  1. Difinisi Active Record.

Kita mengetahui bahwa dalam framework Codeigniter memiliki library database untuk melakukan perintah dalam mengeksekusi query ke database salah satunya adalah Active Record. Disini akan membahas tentang  menggabungkan dan menggunakan Active Record ke dalam satu method atau fungsiActive Record adalah suatu pola yang memungkinkan mengambil informasi, memasukkan, dan memperbarui data dari database dengan pengkodean/scripting seminimal mungkin. Dalam beberapa kasus hanya satu atau dua baris kode yang diperlukan untuk melakukan perintah ke database.

  1. Perintah active record pada codeigniter

   Selecting Data : Adalah proses dalam pemilihan data dari database, atau sama dengan membentuk pernyataan SQL SELECT serta menjalankan querynya.
   Inserting Data : Akan menghasilkan string insert berdasarkan data yang diberikan, dan menjalankan querynya. di sini kita dapat menggunakan sebuah array atau obyek ke dalam fungsi.
   Updating Data : Akan menghasilkan string update berdasarkan data yang diberikan, dan menjalankan querynya.
   Deleting Data : membentuk sebuah string delete, dan menjalankan querynya.
   Method Chaining : Metode chaining memungkinkan kita untuk menyederhanakan sintaks dengan menghubungkan beberapa fungsi sekaligus. Contohnya $this->db->select(‘title’)->from(‘mytable’)->where(‘id’, $id)->limit(10, 20);
   Active Record Caching : Digunakan untuk melakukan “chace” pada query kita dan bisa digunakan untuk proses berikutnya.

  1. Mempersiapkan Model Active Record

Dalam tutorial ini untuk nama model adalah Default_model, sehingga nanti file PHP untuk modelnya adalah default_model.php, Nah berikut salinan baris kode untuk model tersebut:
            <?php
            class Default_model extends CI_Model {
            public function __construct()
            {
                        parent::__construct();
            }
            function getDataDB($tabel,$field = '*', $cond = array(),$join = array(),$limit = array())
            {
                        $this->db->select($field);
                        $this->db->from($tabel);
                        if(count($join) > 0) {
                                    foreach ($join as $key => $val){
                                                $this->db->join($key,$val,'left');
                                    }
                        }
                        if(count($cond) > 0) $this->db->where($cond);
                        if(count($limit) == 1) $this->db->limit($limit[0]);
                        if(count($limit) == 2) $this->db->limit($limit[0],$limit[1]);
                        return $this->db->get();
            }
            function getDataDB2($tabel,$config = array())
            {
                        $data = array(
                                                'field' => '*',
                                                'join' => array(),
                                                'like' => array(),
                                                'where' => array(),
                                                'order' => array(),
                                                'limit' => array()
                                    );
                        foreach ($config as $key => $val){
                                    $data[$key] = $val;
                        }
                        $this->db->select($data['field']);
                        $this->db->from($tabel);
                        if(count($data['join']) > 0) {
                                    foreach ($data['join'] as $key => $val){
                                                $this->db->join($key,$val,'left');
                                    }
                        }
                        if(count($data['where']) > 0) $this->db->where($data['where']);
                        if(count($data['like']) > 0){
                                    foreach ($data['like'] as $key => $val){
                                                if(is_array($val)) $this->db->like($key,$val[0],$val[1]);
                                                else $this->db->like($key,$val);
                                    }
                        }
                        if(count($data['order']) > 0) {
                                    foreach ($data['order'] as $key => $val){
                                                $this->db->order_by($key,$val);
                                    }
                        }
                        if(count($data['limit']) == 1) $this->db->limit($data['limit'][0]);
                        if(count($data['limit']) == 2) $this->db->limit($data['limit'][0],$data['limit'][1]);
                        return $this->db->get();
            }
            }
            Seperti yang Anda lihat pada file default_model.php di atas terdapat dua buah fungsi yaitu          getDataDB, dan getDataDB2. Kedua fungsi tersebut masih saya gunakan hingga sekarang dan fungsi getDataDB2 merupakan pengembangan dari fungsi getDataDB.

  1. Mempersiapkan file Controller Codeigniter

Sekarang siapkan file Controllernya, di sini saya beri nama Idhamcontroller, sehingga file PHP-nya menjadi idhamcontroller.php. Berikut source codenya :

            <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
            class Idhamcontroller extends CI_Controller {
                                    function __construct()
                                    {
                                    parent::__construct();
                                    $this->load->model('default_model');
                                    }
            public function index()
             {
        $data['title'] = 'Menggabungkan dan Menggunakan Active Record Codeigniter ke dalam satu method atau fungsi';
            $data['user'] = $this->default_model->getDataDB('tabel1','*',array('id_tabel1 > '=>1,'id_tabel1 < '=>5));
                        $config1['where'] = array('id_tabel1'=>2);
                        $data['user2'] = $this->default_model->getDataDB2('tabel1',$config1);
                        $this->load->view('contoh',$data);
              }
            }

  1. Mempersiapkan file view dan databasenya

File view-nya saya beri nama contoh.php nah berikut source code-nya :
<!DOCTYPE html>
<html lang="en">
<head>
                <meta charset="utf-8">
                <title><?= $title; ?></title>
                <style type="text/css">
                ::selection{ background-color: #939191; color: white; }
                ::moz-selection{ background-color: #E13300; color: white; }
                ::webkit-selection{ background-color: #E13300; color: white; }
                body {background-color: #fff;           margin: 40px;font: 13px/20px normal Helvetica, Arial, sans-serif;color: #4F5155;}
                a {            color: #003399;   background-color: transparent;font-weight: normal;}
                h1 {color: #444;background-color: transparent;border-bottom: 1px solid #D0D0D0;font-size: 19px;font-weight: normal;margin: 0 0 14px 0;                padding: 14px 15px 10px 15px;}
                code {     font-family: Consolas, Monaco, Courier New, Courier, monospace;           font-size: 12px;     background-color: #f9f9f9;  border: 1px solid #D0D0D0;              color: #002166;   display: block;       margin: 14px 0 14px 0;       padding: 12px 10px 12px 10px;}
                #body{   margin: 0 15px 0 15px;}
                p.footer{                text-align: right;    font-size: 11px;     border-top: 1px solid #D0D0D0;       line-height: 32px; padding: 0 10px 0 10px;         margin: 20px 0 0 0;}
                #container{           margin: 10px;       border: 1px solid #D0D0D0;              -webkit-box-shadow: 0 0 8px #D0D0D0;}
                </style>
</head>
<body>
<div id="container">
                <h1><?= $title; ?>!</h1>

                <div id="body">
                                <p>
                                                Hasil 1, dengan perintah Select dan where menggunakan fungsi getDataDB :<br/>
                                                <?php
                                                if($user->num_rows > 0){
                                                                $hasil1 = '';
                                                                foreach($user->result() as $row){
                                                                                $hasil1 .= 'id_tabel1 : '.$row->id_tabel1.' | nama : '.$row->nama.'<br/>';
                                                                }
                                                                echo rtrim($hasil1,'<br/>');
                                                } else echo 'data kosong';
                                                ?>
                                </p>
                                <p>
                                                Hasil 2, dengan perintah Select dan where menggunakan fungsi getDataDB2 :<br/>
                                                <?php
                                                if($user2->num_rows > 0){
                                                                $hasil2 = '';
                                                                foreach($user2->result() as $row){
                                                                                $hasil2 .= 'id_tabel1 : '.$row->id_tabel1.' | nama : '.$row->nama.'<br/>';
                                                                }
                                                                echo rtrim($hasil2,'<br/>');
                                                } else echo 'data kosong';
                                                ?>
                                </p>
                </div>
                <p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
</body>
</html>
Di bawah ini adalah database yang akan kita gunakan :

CREATE DATABASE `aktivrecord` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `aktivrecord`;
CREATE TABLE IF NOT EXISTS `tabel1` (
  `id_tabel1` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(20) NOT NULL,
  PRIMARY KEY (`id_tabel1`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
INSERT INTO `tabel1` (`id_tabel1`, `nama`) VALUES
(1, 'Baidu'),
(2, 'Google'),
(3, 'Alexa'),
(4, 'Idham'),
(5, 'Pembaca sekalian');

CREATE TABLE IF NOT EXISTS `tabel2` (
  `id_tabel2` int(11) NOT NULL AUTO_INCREMENT,
  `id_tabel1` int(11) NOT NULL,
  `tempat_lahir` varchar(20) NOT NULL,
  PRIMARY KEY (`id_tabel2`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
INSERT INTO `tabel2` (`id_tabel2`, `id_tabel1`, `tempat_lahir`) VALUES
(1, 1, 'China'),
(2, 2, 'AS'),
(3, 3, 'AS Mungkin'),
(4, 4, 'Sekadau'),
(5, 5, 'Dimana mana');
Sebelum menjalankan programnya silahkan setting file autoload.php di folder “./application/config/autoload.php”, tujuannya adalah kita ingin meload library database secara otomatis seperti gambar di bawah ini:



Jangan lupa juga mensetting file database.php Anda dan sesuaikan dengan pengaturan user di databaseAnda, sebagai contoh saya sertakan pula gambarnya di bawah ini:

  1. Pebjelasan penggunaan kode program active record

Penjelasan penggunaan di sini adalah cara menggunakan model Active Record Codeigniter yang telah kita buat tadi (file default_model.php) yang terletak pada file idhamcontroller.php yang juga sudah saya berikan source codenya di atas.
Yang pertama saya mau menjelaskan cara penggunaan default_model dengan nama fungsi getDataDB dahulu.

            $data['user'] = $this->default_model->getDataDB('tabel1','*',array('id_tabel1 >      '=>1,'id_tabel1 < '=>5));
Kode di atas merupakan contoh perintah Select dan where menggunakan fungsi getDataDB sehingga pernyataan SQL-nya menjadi “SELECT * FROM tabel1 WHERE id_tabel1 > 1 AND id_tabel1 < 5". Tanda bintang(*) menunjukan pengambilan semua field, jika hanya field tertentu silahkan tulis nama fieldnya dipisah oleh tanda koma misalnya “id_tabel1,nama” dan seterusnya. Selain itu Anda juga bisa menggunakan perintah join pada fungsi getDataDB ini misalnya sebagai berikut :
$data['user'] = $this->default_model->getDataDB('tabel1','tabel1.nama, tabel2.tempat_lahir',array(),array('tabel2'=>'tabel2.id_tabel1 = tabel1.id_tabel1'));
Perintah di atas akan menghasilkan SQL “SELECT tabel1.nama, tabel2.tempat_lahir FROM (tabel1) LEFT JOIN tabel2 ON tabel2.id_tabel1 = tabel1.id_tabel1″ tanpa mengikuti pernyataan where sehingga tempat untuk statement where-nya cukup kita buat menjadi array().
Selanjutnya adalah pembahasan Active Record Codeigniter di default_model dengan nama fungsi getDataDB2.
$config1['where'] = array('id_tabel1'=>2);
$data['user2'] = $this->default_model->getDataDB2('tabel1',$config1);
Saya lebih suka menggunakan getDataDB2 pada fungsi di default_model yang sudah kita buat tadi, karena memang fungsi ini merupakan pengembangan dari fungsi getDataDB. Dan penggunaannya jauh lebih mudah tinggal Anda buat config-nya saja. Pada perintah di atas akan menghasilkan SQL “SELECT * FROM tabel1 WHERE id_tabel1 = 2″. Nah berikut saya buatkan beberapa contoh lain untuk Anda supaya lebih jelas cara penggunaan Active Record yang sudah dijadikan satu dalam fungsi getDataDB2.
Penggunaan Where :
$config1['where'] = array('id_tabel1 >'=>1,'id_tabel1 <'=>5);  # WHERE id_tabel1 > 1 AND id_tabel1 < 5
$data['user2'] = $this->default_model->getDataDB2('tabel1',$config1);
Penggunaan Field :
$config1['where'] = array('id_tabel1'=>2); # WHERE id_tabel1 = 2
$config1['field'] = array('nama'); # field yang akan diambil `nama`. Pisahkan dengan koma jika ada yang lain misal `id_tabel1,nama`.
$data['user2'] = $this->default_model->getDataDB2('tabel1',$config1);
Tanpa config, artinya mengambil semua data di tabel1 :
$data['user2'] = $this->default_model->getDataDB2('tabel1');
Penggunaan Join :
$config1['where'] = array('id_tabel1'=>2); # WHERE id_tabel1 = 2
$config1['field'] = array('nama'); # field yang akan diambil `nama`. Pisahkan dengan koma jika ada yang lain misal `id_tabel1,nama`.
$config1['join'] = array('tabel2'=>'tabel2.id_tabel1 = tabel1.id_tabel1'); # Penggunaan join
$data['user2'] = $this->default_model->getDataDB2('tabel1',$config1);
Penggunaan Like :
$config1['like'] = array('nama'=>'i');
# $config1['like'] = array('nama'=>array('i','before')); # Contoh lain bearti WHERE nama LIKE '%i'
# $config1['like'] = array('nama'=>array('i','after')); # Contoh lain bearti WHERE nama LIKE 'i%'
# $config1['like'] = array('nama'=>array('i','before')); # Contoh lain bearti WHERE nama LIKE '%i%'
$data['user2'] = $this->default_model->getDataDB2('tabel1',$config1);
 
Sumber: http://catatanbelajar.com/2012/03/menggabungkan-dan-menggunakan-active-record-codeigniter-ke-dalam-satu-method-atau-fungsi/
 
 
 
 
SEKIAN DAN TERIMA KASIH

Review Kecerdasan Buatan

  • SISTEM PAKAR

  1. Sebutkan definisi Sistem pakar !

Sistem pakar adalah suatu sistem komputer yang menyamai kemampuan pengambilan keputusan dari sorang pakar. Kata menyamai memiliki pengertian bahwa system pakar diharapkan dapat bekerja dalam semua hal seperti halnya seorang pakar.
  1. Gambarkan dan jelaskan Arsitektur Sistem pakar !

Arsitektur sistem pakar dapat dilihat pada gambar 1 di bawah ini dimana sebuah sistem pakar terdiri dari tiga modul utama, yaitu: knowledge base, working memory dan inference engine yang merupakan bagian utama dari sebuah sistem pakar. Sedangkan bagian-bagian selain ketiga komponen utama itu adalah : user interface, developer interface, explanation facility, dan external programs.
Keterangan :


a. Knowledge base adalah representasi pengetahuan dari seorang atau beberapa pakar yang diperlukan untuk memahami, memformulasikan dan memecahkan masalah. Dalam hal ini digunakan untuk memecahkan masalah-masalah yang terjadi pada komputer. Knowledge base ini terdiri dari dua elemen dasar, yaitu fakta dan rules.

b. Inference engine merupakan otak dari sistem pakar yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. Mekanisme ini yang menganalisis suatu masalah tertentu dan kemudian mencari solusi atau kesimpulan yang terbaik.

c. Working Memory merupakan tempat penyimpanan fakta-fakta yang diketahui dari hasil menjawab pertanyaan.

d. User/developer interface. Semua software pengembangan sistem pakar memberikan interface yang berbeda bagi user dan developer. User akan berhadapan dengan tampilan yang sederhana dan mudah sedangkan developer akan berhadapan dengan editor dan source code waktu mengembangkan program.

e. Explanation facility memberikan penjelasan saat mana user mengetahui apakah alasan yang diberikan sebuah solusi.

f. External programs. Berbagai program seperti database, spreadsheets, algorithms, dan lainnya yang berfungsi untuk mendukung sistem.

  1. Sebutkan dan jelaskan bentuk/tipe sistem pakar !

  • Mandiri : sistem pakar yang murni berdiri sendiri, tidak digabung dengan software lain, bisa dijalankan pada komputer pribadi, mainframe.
  • Terkait/Tergabung : dalam bentuk ini sistem pakar hanya merupakan bagian dari program yang lebih besar. Program tersebut biasanya menggunakan teknik algoritma konvensional tapi bisa mengakses sistem pakar yang ditempatkan sebagai subrutin, yang bisa dimanfaatkan setiap kali dibutuhkan.
  • Terhubung : merupakan sistem pakar yang berhubungan dengan software lain, misal : spreadsheet, DBMS, program grafik. Pada saat proses inferensi, sistem pakar bisa mengakses data dalam spreadsheet atau DBMS atau program grafik bisa dipanggil untuk menayangkan output visual.
  • Sistem Mengabdi : Merupakan bagian dari komputer khusus yang diabdikan kepada fungsi tunggal. Sistem tersebut bisa membantu analisa data radar dalam pesawat tempur atau membuat keputusan intelejen tentang bagaimana memodifikasi pembangunan kimiawi.


  1. Bagaimana mengatasi ketidak percayaan user terhadap aplikasi sistem pakar!

Melakukan penelitian, dan setelah itu kita tunjukkan hasil penelian kita kepada user seperti contoh:
  • Analisis dan Kebutuhan Sistem
Data yang telah terkumpul akan diidentifikasi sesuai dengan kebutuhan, dan akan dikomputerisasikan sesuai dengan gejala awal untuk mendiagnosa penyakit gangguan kejiwaan dengan metode forward chaining. Analisis kebutuhan dengan spesifikasi perangkat lunak yang dibutuhkan meliputi :
1) Perangkat lunak bantu yang dapat menampilkan data penyakit data gejala, data pengobatan, aturan gejala, aturan pengobatan.
2) Bagian konsultasi dapat dengan mudah melakukan proses konsultasi dengan cara memasukkan gejala-gejala yang ada pada pasien.
3) Memberikan fasilitas berupa menu pakar yang memungkinkan pakar mengolah data (mengubah, menambah, dan menghapus) penyakit, data gejala, data pengobatan, aturan gejala, aturan pengobatan.
  • Representasi Pengetahuan
1) Pembuatan basis pengetahuan dan basis aturan, yang berupa pengolahan data gejala, data pengobatan, aturan gejala, aturan pengobatan yang datanya didapat dari pakar dan dari sumber yang bersangkutan. Basis aturan berfungsi untuk membuat aturan antara data penyakit dengan data gejala dan data solusi.
2) Penggunaan mesin inferensi yang penelusurannya dilakukan dengan memasukkan gejala-gejala yang terjadi pada pasien gangguan kejiwaan, selama konsultasi antar sistem dan pemakai, mesin inferensi dengan metode fordward chaining menguji aturan satu demi satu sampai kondisi aturan itu benar dan memberikan hipotesa yang benar.
  • Perancangan Sistem
Tahapan ini meliputi pemodelan proses, terdiri dari diagram konteks dan diagram alir data. Sedangkan pemodelan datanya terdiri Entity Relationship Diagram (ERD), mapping table serta rancangan tabel. Perancangan masukan, keluaran dan rancangan menu yang digunakan berfungsi untuk menampilkan menu-menu yang ada dalam aplikasi.
Desain interface diperlukan untuk memberikan tampilan yang menarik dan memberikan kemudahan pengguna dalam menjalankan aplikasi. Pada perancangan menu Sistem Pakar dalam menentukan jenis gangguan kejiwaan ini terdapat menu login untuk membuka form menu utama. Menu login tersebut dibedakan menjadi dua bagian, yaitu Pakar yang berfungsi sebagai admin dan User yang berfungsi sebagai pengguna.





  • ROBOTIKA

  1. Sebutkan definisi Robotika !
Robotika adalah satu cabang teknologi yang berhubungan dengan desain, konstruksi, operasi, disposisi struktural, pembuatan, dan aplikasi dari robot. Robotika terkait dengan ilmu pengetahuan bidang elektronika, mesin, mekanika, dan perangkat lunak komputer.

  1. Jelaskan secara singkat awal mula ditemukanya robot!

Awal munculnya robot dapat diketahui dari bangsa Yunani kuno yang membuat patung yang dapat dipindah – pindahkan. Sekitar 270 BC, Ctesibus, seorang insinyur Yunani membuat organ dan jam air dengan komponen yang dapat dipindahkan. Zaman Nabi Muhammad SAW pun, telah membuat mesin perang yang menggunakan roda dan dapat melontarkan bom.
Pada tahun 1770, Pierre Jacquet Droz, seorang pembuat jam berkebangsaan swiss membuat 3 boneka mekanis. Uniknya, boneka tersebut dapat melakukan fungsi spesifik, yaitu dapat menulis, yang lainnya dapat memainkan musik dan orgen, dan yang ketiga dapat menggambar.
Pada tahun 1898, Nikola Tesla membuat sebuah boat yang dikontrol melalui radio remote control, dan didemokan di Madison Square Garden. Namun usaha untuk membuat autonomus boat tersebut gagal karena masalah dana.
Pada tahun 1967, Jepang yang pada saat itu merupakan negara yang baru bangkit, mengimpor robot dari Versatran dari AMF. Awal kejayaan robot pada tahun 1970, ketika Profesor Victor Scheinman dari Universitas Stanford mendesain lengan standar. Saat ini, konfigurasi kinematikanya dikenal sebagai standar lengan robot. Terakhir, pada tahun 2000 Honda memamerkan robot yang dibangun bertahun – tahun lamanya bernama Asimo, serta disusul oleh Sony yaitu robot anjing Aibo.


  1. Sebutkan dan jelaskan beberapa elemen penting yang terdapat dalam sebuah robot!
    1. Adanya sensor, yaitu komponen yang dapat merespon kondosi lingkungan yang diberikan. Sensor ini bdapat berupa sensor cahaya, suara, suhu, tekanan dll.
    2. Adanya Aktuator atau penggerak, yaitu komponen yang menhasilkan gerak mekanik, actuator ini dapat berupa motor, relay, pnematik atau hidrolik actuator.
    3. Adanya Mikrokontroler. Sebagai pusat pemikir untuk memproses data dari sensor dan memerintahkan actuator untuk bertindak.

  1. Jelaskan jenis-jenis/tipe robot
Tipe-tipe robot:
  • AIBO merupakan singkatan dari AI roBOt, yang artinya robot dengan intelejensia buatan. Di jepang sendiri, "aibo" berarti sahabat.
    Versi terbaru dari robot anjing AIBO hadir memberikan hiburan dengan desain yang futuristik, AIBO ERS-220.
    Robot ini mempunyai 16 motor yang memungkinkannya dapat berjalan, bermain bola, duduk, dan berbaring. Lalu dengan sensor penglihatan dan pendengaran, 21 lampu mengelilingi bagian kepala, dan dibagian atas kepala terdapat lampu yang mengekspresikan berbagai emosi dan insting untuk menghibur pemiliknya.
  • ASIMO adalah singkatan dari Advanced Step in Innovative Mobility dan telah datang ke Jakarta pada tanggal 19-27 Juli yang lalu di pameran Gaikindo.
    Dengan tinggi 120 cm, robot ini memiliki sistem komputerisasi dan sensor-sensor yang dapat mengatur setiap gerakannya dan memungkinkan bertingkah laku seperti gerakan manusia. ASIMO dapat melangkah naik dan turun tangga, melambaikan tangan, melakukan langkah dansa, serta berbicara dalam berbagai bahasa.
    Pengembangan teknologi robotika mendapat perhatian dari para peneliti Jepang, bahkan mereka juga meminta pemerintahnya untuk melakukan investasi, dengan tujuan di beberapa tahun mendatang dapat diciptakan mesin yang memiliki intelejensia buatan layaknya anak kecil.
  • Micro Flying Robot: Robot terbang kecil bernama Micro Flying Robot ini diharapkan bisa dipakai dalam berbagai bidang, misalnya untuk melakukan pengamatan dan pencarian di wilayah-wilayah sempit maupun daerah berbahaya, kata Epson.
Robot terbang yang berbentuk seperti helikopter mini ini dilengkapi microcontroller 32-bit dan dua motor ultrasonik berukuran kecil guna memutar baling-baling dalam dua arah berbeda sehingga robot bisa terbang.
Model baru yang lebarnya 136 milimeter, tinggi 85 mm dan berat 12,3 gram dengan baterai (8,6 gram tanpa baterai) ini akan dipamerkan di Tokyo International Forum tanggal 27-30 Agustus mendatang. Saat ini sang robot baru bisa terbang selama tiga menit. Namun perusahaan pembuatnya berencana mengembangkan kemampuannya sehingga ia bisa digunakan untuk tugas-tugas nyata.

  • COMPUTER VISION

  1. Jelaskan definisi aplikasi computer vision!

Computer Vision didefinisikan sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Cabang ilmu ini bersama Artificial Intelligence akan mampu menghasilkanVisual Intelligence System. Perbedaannya adalah Computer Vision lebih mempelajari bagaimana komputer dapat mengenali obyek yang diamati. Namun komputer grafik lebih ke arah pemanipulasian gambar (visual) secara digital.









  1. Gambarkan dan jelaskan skema/arsitektur computer vision!


dari gambar di atas mungkin kita dapat melihat bagaimana sebuah skema kegiatan computer vision berawal dari scene/image/citra yang di ambil dengan bantuan alat input seperti kamera, scanner atau alat input lainnya, kemudian citra ini mengalami prapemrosesan dari citra tersebut di pindahkan ke komputer untuk menjadi sebuah pola dan mengalami intermediate processing. Image dimanipulasi kemudian di intepretasikan dalam pattern recognition sehingga mendapatkan hasil akhir sebuah deskripsi gambar, bisa berupa pengetahuan tentang bentuk matrik gambar tersebut yang nantinya bisa dimanipulasi lagi untuk keperluan pengontrolan atau pemantauan.


  1. Jelaskan hubungan computer vision dengan robotika!

Seperti contoh aplikasi game dibawah ini : OpenCV ialah program open source berbasiskan C++ yang saat ini banyak digunakan sebagai program computer vision, salah satu penerapannya ialah pada robotika.  Dengan OpenCV, Anda dapat membuat interaksi antara manusia dan robot (Human Robot Interaction.  Misalnya, wajah dari manusia dideteksioleh camera/webcam, lalu diproses oleh komputer, untuk kemudian diproses oleh robot untuk melakukan aksi tertentu, misalnya mengikuti/mengenal  wajah orang tersebut.  Kesemuanya itu membutuhkan OpenCV sebagai program utama antara webcam dan pengolahnya yaitu komputer.


  1. Sebutkan dan jelaskan fungsi salah satu aplikasi computer vision!
Aplikasi dibidang kedokteran dan biomedikal. Aplikasi dibidang kedokteran dan biomedikal memiliki ciri yaitu informasi yang dihasilkan dari proses ekstraksi data citra bertujuan untuk membuat diagnosis bagi para pasien. Secara umum, data citra berupa bentuk gambar mikroskop, gambar X-ray, gambar angiografi, gambar ultrasonik, dan gambar tomografi. Contoh informasi yang dihasilkan dari proses ekstraksi data citra adalah deteksi tumor.





  • GAME PLAYING

  1. Apakah yang disebut dengan Game Playing!

Game playing (permainan game) merupakan bidang AI yang sangat populer berupa permainan antara manusia melawan mesin yang memiliki intelektual untuk berpikir. Bermain dengan computer memang menarik bahkan sampai melupakan tugas utama yang lebih pentin

  1. Jelaskan dan berikan contoh Aplikasi Game berbasis AI dan Game yang Tidak berbasis AI!

  • Aplikasi Game berbasis AI : Saat ini perkembangan AI yang populer dalam video game juga terdapat dalam permainan sepak bola virtual, seperti contohnya sebagai player kita dituntut harus melawan klub lain dengan strategi dan taktik yang berbeda. Penggunaan AI yang cerdas ini bertujuan agar player tidak mudah bosan dengan permainan, dengan kata lain ketika player menyelesaikan suatu permainan lalu ia mengulangnya dari awal, maka ia mendapat tantangan baru.
  • Aplikasi Game tidak berbasis AI : Game-game yang dimainkan tanpa menggunakan Computer, seperti Gobak sodor, Lompat tali, dll

  1. Jelaskan, mengapa tingkat kesulitan pada setiap level Game(AI) berbeda-beda!

Kesulitan game pada tiap level sengaja dibuat berbeda-beda dan makin sulit dari tiap levelnya karena untuk memberikan tantangan dan sensasi kepada player atau user yang sedang menjalankan game tersebut. Apabila tingkat kesulitan pada setiap level tidak berbeda, dikhawatirkan akan timbul kejenuhan kepada user atau player.

  • NATURAL LANGUAGE PROCESSING

  1. Sebutkan definisi Natural Language Processing (NLP) !

Natural Language Processing (NLP) adalah salah satu bidang ilmu komputer, kecerdasan buatan, dan bahasa (linguistik) yang berkaitan dengan interaksi antara komputer dan bahasa alami manusia, seperti bahasa Indonesia atau bahasa Inggris. Tujuan utama dari studi NLP adalah membuat mesin yang mampu mengerti dan memahami makna bahasa manusia lalu memberikan respon yang sesuai.. 
  1. Jelaskan fungsi/manfaat aplikasi NLP!

Seseorang dapat berbicara dengan komputer dan memahami maksudnya, karena komunikasi dapat dilakukan melalui tata bahasa yang sederhana ketimbang menggunakan aturan-aturan atau tata bahasa pemrograman komputer rumit dan njlimet (complicated)

  1. Sebutkan dan jelaskan beberapa implementasi NLP!

Programs for classifying and retrieving documents by content.
Program yang mampu mengklasifikasi dan mengambil isi dari suatu dokumen berdasarkan kontennya. Seperti spam filtering (pemfilteran pesan sampah), language identification (identifikasi bahasa), dan lain-lain.

(Sumber gambar : washingtonpost.com)



  • JARINGAN SYARAF TIRUAN

  1. Sebutkan definisi Jaringan Syaraf Tiruan (JST)!

sistem komputasi yang arsitektur dan operasinya diilhami dari pengetahuan tentang sel syaraf biologis di dalam otak. Jaringan syaraf tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut. Jaringan syaraf tiruan dapat digambarkan sebagai model matematis dan komputasi untuk fungsi aproksimasi non-linear, klasifikasi data cluster dan regresi non-parametrik atau sebuah simulasi dari koleksi model jaringan syaraf biologi.

  1. Sejauh mana aplikasi JST mampu meniru Jaringan Syaraf Manusia,
Jelaskan!

Aplikasi JST dapat meniru Jaringan Syarat Manusia sejauh tingkat manusia dapat meramal, diartikel yang saya baca salah satu aplikasi JST Peramalan disini dijelaskan : Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang sudah terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa lampau. Ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan untuk mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya.



  1. Sebutkan salah satu aplikasi JST, Jelaskan manfaat dan kegunaanya!

Aplikasi Model ADALINE : Model ADALINE (Adaptive Linear Neuron) ditemukan oleh Widrow dan Hoff (1960). Beberapa masukan dan sebuah bias (unit masukan tambahan) dihubungkan langsung dengan sebuah neuron keluaran. Bobot dimodifikasi dengan aturan delta (sering juga disebut least mean square). Selama pelatihan, fungsi aktivasi yang dipakai adalah fungsi identitas.
Manfaatnya : Jaringan syaraf tiruan (model ADALINE) dapat dipakai unuk menekan noise dalam saluran telepon.
Pengenalan Pola (pattern Recognition) : Jaringan syaraf tiruan dapat dipakai untuk mengenali pola (misal huruf, angka, suara atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip dengan otak manusia yang masih mampu mengenali orang yang sudah beberapa waktu tidak di jumpainya (mungkin wajah/bentuk tubuhnya sudah sedikit berubah).
  1. Menurut anda, sejauh mana JST dapat dikembangakan!

Jaringan syaraf tiruan dapat dipakai untuk meramalkan apa yang sudah terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa lampau. Ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan untuk mengingat dan membuat generalisasi dari apa yang sudah ada sebelumnya.