Aplikasi Database Pegawai Sederhana Dengan PHP Dan MySQL _ @Ndrew Hutauruk
Kecerdasan Buatan : Menyimpan Graph Dalam Database MySQL
-
Upload
a-non-kuncoro-widigdo -
Category
Documents
-
view
39 -
download
0
description
Transcript of Kecerdasan Buatan : Menyimpan Graph Dalam Database MySQL
1
Kecerdasan Buatan :
Menyimpan graph dalam sebuah database MySQL
Oleh: Anon Kuncoro Widigdo, ST, MM * [email protected]
Dalam Kecerdasan Buatan (Artificial Intelligence) untuk menyatakan ruang
keadaan dapat digambarkan dalam suatu graph. Di dalam suatu graph terdapat
beberapa node (simpul) yang saling berhubungan. Setiap node dihubungkan oleh arc
(anak panah) atau edge (sisi) yang digunakan untuk menunjukkan arah tertentu. Suatu
arc atau edge dalam graph dapat ditambahkan suatu bobot tertentu. Suatu graph yang
mempunyai bobot dapat melambangkan sebuah konsep yang berbeda. Misalnya sebuah
graph berbobot yang menggambarkan hubungan antar kota. Maka untuk setiap arc atau
edge dapat diberikan bobot yang berupa jarak.
Gambar 1 Sebuah graph berbobot
Pada gambar 1 menunjukkan sebuah graph berbobot yang menggambarkan
hubungan node. Misalnya sebuah graph pada gambar 1 tersebut menggambarkan ruang
keadaan hubungan antar kota. Setiap node tersebut mewakili sebuah kota, sedangkan
2
dalam arc atau edge terdapat bobot yang menyatakan jarak antar kota tersebut. Dari
graph tersebut dapat diketahui bahwa:
Kota S dan kota A terhubung dan mempunyai jarak 10 kilometer
Kota S dan kota B terhubung dan mempunyai jarak 11 kilometer
Kota S dan kota C terhubung dan mempunyai jarak 9 kilometer
Kota A dan kota D terhubung dan mempunyai jarak 5 kilometer
Kota A dan kota E terhubung dan mempunyai jarak 7 kilometer
dst
Untuk memudahkan memahami graph tersebut dapat digambarkan secara detail dalam
gambar 2.
Gambar 2 Penggambaran graph secara detail
Dalam sebuah aplikasi kecerdasan buatan (artificial intelligence) buatan sebuah
setiap node dalam graph dapat disimpan dalam sebuah database MySQL. Gambar 2 akan
memudahkan kita untuk memudahkan menyimpan graph tersebut dalam sebuah table
dalam database. Setiap node akan menempati level tertentu dan setiap node tersebut
mempunyai nomor urut, node induk dan jarak tertentu.
3
Gambar 3 Penggambaran graph dalam sebuah table
Penggambaran graph dalam sebuah table dapat dilihat pada gambar 3, sehingga
didapat kolom berupa ID, NODE, PARENT, DISTANCE dan LEVEL. Setiap baris dalam table
tersebut menyatakan sebuah row (baris) atau record dalam table. Sehingga struktur
dalam table MYROUTES adalah sebagai berikut:
TABLE MYROUTES
COLUMN TYPE
ID INTEGER AUTO INCREMENT, NOT NULL, PRIMARY KEY
NODE CHARACTER / VARCHAR VARCHAR(20), NOT NULL
PARENT INTEGER INTEGER, NOT NULL
DISTANCE INTEGER INTEGER, NULL
LEVEL INTEGER INTEGER, NOT NULL
4
Membuat table myroutes :
CREATE TABLE myroutes ( id int(3) NOT NULL AUTO_INCREMENT, node varchar(50) NOT NULL, parent int(3) NOT NULL, distance int(3) DEFAULT NULL, level int(3) NOT NULL, PRIMARY KEY (id) );
Gambar 4 Hasil saat menjalankan query pembuatan table myroutes
Memasukkan setiap node kedalam sebuah record dalam table myroutes:
INSERT INTO myroutes(node,level) VALUES('S',0); INSERT INTO myroutes(node,parent,distance,level) VALUES('A',1,10,1); INSERT INTO myroutes(node,parent,distance,level) VALUES('B',1,11,1); INSERT INTO myroutes(node,parent,distance,level) VALUES('C',1,9,1); INSERT INTO myroutes(node,parent,distance,level) VALUES('D',2,5,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('E',2,7,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('F',2,3,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('G',3,2,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('H',3,2,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('I',3,4,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('J',4,5,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('K',4,2,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('L',4,4,2); INSERT INTO myroutes(node,parent,distance,level) VALUES('M',6,5,3); INSERT INTO myroutes(node,parent,distance,level) VALUES('N',7,3,3); INSERT INTO myroutes(node,parent,distance,level) VALUES('O',8,7,3); INSERT INTO myroutes(node,parent,distance,level) VALUES('P',9,4,3); INSERT INTO myroutes(node,parent,distance,level) VALUES('Q',10,4,3); INSERT INTO myroutes(node,parent,distance,level) VALUES('Z',13,5,3);
5
Gambar 5 Hasil saat menjalankan query untuk menambahkan record
Setelah semua node dalam graph disimpam dalam sebuah table, maka kita dapat
menampilkannya dengan query sebagai berikut:
SELECT * FROM myroutes;
Gambar 6 Menampilkan isi table myroutes
6
Dengan demikian nantinya dapat memudahkan kita untuk melakukan operasi
dalam suatu graph. Sebagai contoh dapat diperhatikan pada query dibawah ini.
Menampilkan semua node pada level 1 :
SELECT node FROM myroutes WHERE level=1;
Menampilkan anak dari node B dan jaraknya :
SELECT node, distance from myroutes WHERE parent=3;
Menampilkan jarak dari node L ke node Z :
SELECT distance FROM myroutes WHERE node=’Z’;
Ini adalah salah satu cara sederhana untuk menyimpan graph dalam suatu
database MySQL. Dengan menyimpan setiap node dalam suatu database diharapkan
dapat mempermudah melakukan operasi-operasi lain dalam suatu graph. Semoga
membantu.
* Penulis adalah staf Teknologi Sistem Informasi di PT.Bank Pembangunan Daerah Sulawesi Tenggara
(Bank Sultra) dan dosen di STMIK Catur Sakti Kendari.