Senin, 21 Januari 2013

Contoh Program Prolog

POHON KELUARGA
  definisi Fakta :
lelaki(X)             : X adalah lelaki
perempuan(X) : X adalah perempuan
ayah(Y,X)          : Y adalah ayah dari X
ibu(Y,X)             : Y adalah ibu dari  X
  definisi Aturan :
anaklelaki(X,Y,Z) :  X adalah anaklelaki dari Y dan Z jika Y adalah ayah dari X dan Z
adalah ibu dari X dan X adalah lelaki
anakperempuan(X,Y,Z) : X adalah anakperempuan dari Y dan Z jika Y adalah ayah dari
X dan Z adalah ibu dari X dan X adalah perempuan
Berdasarkan definisi Fakta dan Aturan yang diberikan di atas maka ketikan program berikut:
domains 
child     = symbol
father    =  symbol
mother  = symbol
predicates 
anaklelaki(child,father,mother).
anakperempuan(child,father,mother).
lelaki(child).
perempuan(child).
ayah(father,child).
ibu(mother,child).
clauses
perempuan(mira).
perempuan(nani).
lelaki(edi).
ayah(budi,edi).
ibu(ani,edi).
ayah(budi,mira).
ibu(ani,mira).
ayah(badu,nani).
ibu(ana,nani).
anaklelaki(X,Y,Z):ayah(Y,X),ibu(Z,X),lelaki(X).
anakperempuan(X,Y,Z):ayah(Y,X),ibu(Z,X),perempuan(X).

Normalisasi dalam Sistem Basis Data

Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak diperlukan pada penggunaan personal. Namun seiring dengan berkembangnya informasi yang dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam menghemat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses permintaan data.
Proses normalisasi model data dapat diringkas sebagai berikut:
  1. Menemukan entitas-entitas utama dalam model data.
  2. Menemukan hubungan antara setiap entitas.
  3. Menentukan atribut yang dimiliki masing-masing entitas.
Normalisasi model data dilakukan dengan mengikuti langkah-langkah sederhana, mengubahnya agar memenuhi apa yang disebut sebagai bentuk normal pertama, kedua, lalu ketiga secara berturutan.
Langkah-Langkah Normalisasi
1. Bentuk Normal Pertama ( 1NF )
Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.
2. Bentuk Normal Kedua ( 2NF )
Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.
3. Bentuk Normal Ketiga (3NF)
Sebuah model data dikatakan memenuhi bentuk normal ketiga apabila ia memenuhi bentuk normal kedua dan tidak ada satupun atribut non-identifying (bukan pengidentifikasi unik) yang bergantung pada atribut non-identifying lain. Apabila ada, pisahkan salah satu atribut tersebut menjadi entitas baru, dan atribut yang bergantung padanya menjadi atribut entitas baru tersebut.

Minggu, 20 Januari 2013

Binary Conversion

Binary to Hexadecimal

● Divide the binary number into sets of 4 digits. Add leading zeros as needed. For example, write the binary number
11101100101001 as 0011 1011 0010 1001.
● Use the following table to convert each 4-digit binary string to a single hex digit: 0001 (1), 0010 (2), 0011 (3), 0100 (4), 0101 (5), 0110 (6), 0111 (7), 1000 (8), 1001 (9), 1010 (A), 1011 (B), 1100 (C), 1101 (D), 1110 (E), and 1111 (F). The digits in () are the hex equivalents to the preceding binary number.
● Remove the space and you will get your hexadecimal number

Hexadecimal to Decimal
● Write out the hexadecimal in its expanded form.
● For example, 1A2B3C16 becomes
1*165+10*164+2*163+11*162+3*161+12*160
● Evaluate the sum in decimal = 1715004
● You can then convert the decimal to Binary

Decimal to Hexadecimal
● Divide the decimal number by 16. Treat the division as an integer division.
● Write down the remainder (in hexadecimal, ie. if the remainder is 12, write down "C") from right to left. If the remainder is 0, then write the result and stop.
● Divide the result again by 16. Treat the division as an integer division.
● Repeat step 2 and 3 until result is less than 1.
● You get your hexadecimal equivalent