Wednesday, August 05, 2009

Multi Method DSS dengan JGraph : Kasus Platform dan Plugin AHP



Artikel ini berhubungan dengan artikel sebelumnya tentang Mendesain Multi Agent System Agent dengan Prometheus.

Saya sudah download JGraph, dan segera implementasikan dengan menggunakan Platform yang sebelumnya, ke dalam Plugin AHP (Analytical Hierarchical Process).

Wah, ternyata memang mudah mengembangkan aplikasi yang sangat berfungsi dengan berbasiskan pada Java. Kunci kemudahannya terletak pada daya guna internal yang sudah dimiliki oleh komponen JGraph itu sendiri. Berikut hasil running PluginAHP :

Saya hanya menggunakan kode Hello World pada paket JGraphMX, berupa ini :


private MainAHP() {
initComponents();
mxGraph graph = new mxGraph();
Object parent = graph.getDefaultParent();

graph.getModel().beginUpdate();
try {
Object v1 = graph.insertVertex(parent, null, "Goal", 20, 150,
80, 30);
Object v2 = graph.insertVertex(parent, null, "Alternatif", 240, 150,
80, 30);
Object a1 = graph.insertVertex(parent, null, "Kriteria 1", 440, 50,
80, 30);
Object a2 = graph.insertVertex(parent, null, "Kriteria 2", 440, 150,
80, 30);
Object a3 = graph.insertVertex(parent, null, "Kriteria 3", 440, 250,
80, 30);
Object a4 = graph.insertVertex(parent, null, "Kriteria 4", 440, 350,
80, 30);

graph.insertEdge(parent, null, "AHP", v2, v1);
graph.insertEdge(parent, null, "Weighting", a1, v2);
graph.insertEdge(parent, null, "Weighting", a2, v2);
graph.insertEdge(parent, null, "Weighting", a3, v2);
graph.insertEdge(parent, null, "Weighting", a4, v2);
} finally {
graph.getModel().endUpdate();
}

mxGraphComponent graphComponent = new mxGraphComponent(graph);
graphComponent.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
graphComponent.setPageBackgroundColor(Color.WHITE);
pane.add(graphComponent);
}


Ya, pustaka JGraph ini berdasarkan pada teori Graph yang merupakan teori dasar pada Ilmu Komputer, tepatnya subjek Matematika Diskrit. Saya bercita2 menggunakan paket ini untuk berbagai keperluan modeling sistem yang bisa divisualkan dengan pustaka JGraph. Tapi, sejenak berpikir, saya rasa semua masalah modeling bisa divisualkan dengan berbasis pada struktur data Graph. Alasannya, tree sebagai kasus khusus Graph, merupakan dasar dari semua abstraksi permasalahan. Itu teori saya :) hehe (suka2 saya dunk! ) :p

Semoga bermanfaat!

NB:
  • Saya sertakan source code Platform + Plugin AHP. Itu bisa segera dibuka di Netbeans 6.5, namun ubahlah properties Run pada Project Platform, pada argument d:\plugin Saaty.xml, ubahlah d:\plugin ke tempat dimana file Saaty.xml berada. Saaty.xml merupakan definisi aplikasi berbasis Platform yang saya desain.
  • Keindahan Java terletak pada komunitas yang saling mendukung dengan sehat.
  • Nah, semoga sedikit kontribusi saya ini bisa memberikan sumbangsih yang berguna untuk temen2, untuk berbagai keperluan.

1 comment:

Anonymous said...

Thanks a lot for this info......
It is really great blog......

Get More here