Latest Publications

artificial intelligence part 2 (logic ai)

Logic merupakan jantung dari program, para pemrogram mempunyai keyakinan jika sebuah komputer dapat dibuat mengerti  logika, maka  komputer  dapat dibuat untuk berpikir, karena logika  kelihatannya menjadi inti dari kecerdasan.

Sejarah Singkat Logika

Syllogistic atau classical logic. Aristotle( 384-322 BC)
Syllogistic logic pada dasarnya bertransaksi dengan  penurunan kebenaran (atau yang bersifat salah) dari argumen seorang filosofi.
Contoh:
John is a man
All men used to the boys
Therefore, John used to be a boy
Contoh diatas dikonversikan ke Syllogistic logic:
J —> M
all M —> B
hence:     J —> B

Symbolic logic dimulai dengan G.W. Leibniz(1646-1717) and George Boole(1815-1864) yang logikanya dikenal denganBoolean Logic.
Symbolic logic berinteraksi  dengan konsep abstraksi ke dalam simbol-simbol dan interkoneksi  simbol-simbol oleh operator tertentu.
Contoh:
if P is true, Q is false
Then P or Q is true, P and Q is false

JENIS Symbolic Logic ada 2 Yaitu:
Propotional Logic : bertransaksi dengan kebenaran atau kesalahan dari sebuah proposition.
Predicate Logic : memasukkan hubungan antara obyek-obyek dan kelas-kelas dari obyek.

“if  it  is  raining  then  the road  are wet”

The Truth Table

The Truth Table

(more…)

Bookmarks:
  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • Twitter

artificial intelligence part 1

Pengertian AI

Menurut Elaine Rich & Kevin Knight(1992), AI mempelajari bagaimana membuat komputer melakukan sesuatu  pada suatu  kejadian/peristiwa  yang mana  orang  melakukannya  dengan baik.

Definisi AI :  merupakan  proses di mana  peralatan  mekanik dapat  melaksanakan kejadian-kejadian  dengan menggunakan pemikiran atau kecerdasan seperti manusia.

Menurut Rusell & Norvig AI adalah :

What is AI?

What is AI?

Konsep AI :

  1. Logic AI
  2. Computer Vision
  3. Natural Language Processing (NLP)
  4. Expert System
  5. Robotic
  6. Machine Learning
  7. Neural Network
  8. Planning with AI
  9. AI Agent

Bookmarks:
  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • Twitter

linked list

Contoh Linked List

Contoh Linked List

hitung jumlah simpul :

Q = FIRST;
Jum = 1;
while (Q != LAST)
  { Q = Q->LINK;
    Jum = Jum + 1;
  }
printf("%i", JUM);

atau

Q = FIRST;
Jum = 1;
while (Q->LINK != NULL)
  { Q = Q->LINK;
    Jum = Jum + 1;
  }
printf("%i", JUM);

atau

Q = FIRST;
Jum = 0;
while (Q != NULL)
  {  Jum = Jum + 1;
     Q = Q->LINK;
  }
printf("%i", JUM);

membuat sebuah simpul yang ditunjuk pointer p :

scanf ("%i", &x);
p = (simpul*)malloc(sizeof(simpul));
p->info = x;

(more…)

Bookmarks:
  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • Twitter

double ended queue

Contoh Double Ended Queue

Contoh Double Ended Queue

ciri2 double ended queue :

  1. kosong : L = R + 1
  2. penuh kanan : R = n – 1
  3. penuh kiri : L = 0
  4. penuh kanan dan kiri : R = n – 1 && L = 0
  5. bisa diisi dari kanan : R < n
  6. bisa diisi dari kiri : L > 0
  7. ada isinya : L < R + 1

kondisi awal :

L = 0;
R = -1;

algoritma dasar double ended queue :

  1. INSERT KANAN
    R = R + 1;
    Q[R] = X;
  2. INSERT KIRI
    L = L - 1;
    Q[L] = X;
  3. DELETE KANAN
    X = Q[R];
    R = R - 1;
  4. DELETE KIRI
    X = Q[L];
    L = L + 1;

(more…)

Bookmarks:
  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • Twitter

circular queue

Contoh Circular Queue

Contoh Circular Queue

ciri2 circular queue :

  1. kosong : counter = 0
  2. penuh : counter = n
  3. bisa diisi : counter < n
  4. ada isinya : counter > 0

kondisi awal :

f = 0;
r = -1;
counter = 0;

algoritma dasar circular queue :

  1. INSERT
       R = (R+1) % n;
       Q[R] = X;
       Counter++;
  2. DELETE
       X = Q[F];
       F =(F+1) % n;
       Counter--;

(more…)

Bookmarks:
  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • Twitter

double stack

Contoh Double Stack

Contoh Double Stack

ciri2 double stack :

  1. stack 1 kosong : top1 = -1
  2. stack 2 kosong : top2 = n
  3. stack penuh (stack 1 dan stack 2 tidak bisa diisi) : top2 – top1 = 1
  4. stack bisa diisi (stack 1 dan stack 2 tidak bisa diisi) : top2 – top1 > 1
  5. stack 1 ada isinya : top1 > -1
  6. stack 2 ada isinya : top2 < n

kondisi awal :

top1 = -1;
top2 = n;

algoritma dasar double stack :

  1. PUSH stack 1
    top1 = top1 + 1;
    s[top1] = x;
  2. POP stack 1
    x = s[top1];
    top1 = top1 - 1;
  3. PUSH stack 2
    top2 = top2 - 1;
    s[top2] = x;
  4. POP stack 2
    x = s[top2];
    top2 = top2 + 1;

(more…)

Bookmarks:
  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • Twitter