Minggu, 29 Maret 2009

Prim Algorithm

public class MSTByPrim
{
public Graph computeMST(Graph inputGraph)
{
VertexSet touchedVertices = new VertexSet();
EdgeSet keptEdges = new EdgeSet(touchedVertices);
Iterator itGN = inputGraph.getVertexSet().iterator();
if (itGN.hasNext())
{
touchedVertices.add((Vertex)itGN.next());
}
while (touchedVertices.size() < inputGraph.getVertexSet().size())
{
Iterator itTN = touchedVertices.iterator();
int minLength = Integer.MAX_VALUE;
Edge bestCandidate = null;
Vertex neighborToAdd = null;
while (itTN.hasNext())
{
Vertex current = (Vertex)itTN.next();
VertexSet neighbors = (VertexSet)current.getNeighbors(inputGraph);
Iterator itN = neighbors.iterator();
while (itN.hasNext())
{
Vertex currentNeighbor = (Vertex)itN.next();
// we are only interested in outgoing edges
if (!touchedVertices.contains(currentNeighbor))
{
EdgeSet potentialMSTEdges = (EdgeSet)
current.getEdgesTo(inputGraph,currentNeighbor);
Iterator itpMSTe = potentialMSTEdges.iterator();
Edge potentialEdge = null;
// try every edge in the edgeset

while (itpMSTe.hasNext())
{
potentialEdge = (Edge)itpMSTe.next();
// if the current edge is the best up to now
if (Integer.parseInt(potentialEdge.getValue("length"))<
minLength)
{
minLength =
Integer.parseInt(potentialEdge.getValue("length"));
bestCandidate = potentialEdge;
neighborToAdd = currentNeighbor;
}
}
}
}

}
touchedVertices.add(neighborToAdd);
keptEdges.add(bestCandidate);
}

return new Graph(touchedVertices,keptEdges);
}
}

Algoritma Kruskal

kruskal
Procedure
Kruskal(E, T : Sequence of Edge, P : UnionFind)
sort E by increasing edge weight
foreach {u, v} ∈ E do
if u, v are in different components of P then
add edge {u, v} to T
join the partitions of u and v in P


Procedure
filterKruskal(E, T : Sequence of Edge, P : UnionFind)
if m ≤ kruskalThreshold(n, |E|, |T |) then
Kruskal(E, T, P)
else
pick a pivot p ∈ E
E_:= he ∈ E : e ≤ pi E>:= he ∈ E : e > pi FilterKruskal(E_, T, P)
E>:= filter(E>, P)
FilterKruskal(E>, T, P)
Function Filter(E, P : UnionFind)
return
h{u, v} ∈ E : u, v are in different components of Pi

Algoritma Djisktra

Procedure Djikstra(input M : matriks, a :
simpul_awal ) ← tabel
{mencari lintasan terpendek adri simpul awal ke
semua simpul lainnya}

Deklarasi :
D, S : tabel;
i : integer;

Algoritma :
{langkah 0 inisialisasi}
For i ← 1 to n do
S[i] ← 0
D[i] ← m[a,i]
Endfor

{langkah 1}
S[a] ← 1
D[a] ← ∞

{langkah selanjutnya..}

For i ← 2 to n-1 do
Cari j sedemikian sehingga S[j] = 0
dan D[j] = minimum
Hitung D[i] yang baru dari a ke simpul
i bukan elemen S :
D[i] ← Minimum (D[i], D[j] +
M[j,i])
Endfor

Selasa, 03 Maret 2009

Analisis SWOT untuk IT Lima Tahun yang akan Datang

Mari kita lihat dan kita telaah kehidupan dunia IT di masa yang akan datang. Pada pembahasan kali ini akan kita telaah SWOT condition seperti apa?

1. S(Strength) yaitu dalam bahasa Indonesia kekuatan. Menurut pandangan saya bahwa kekuatan power yang diberikan IT kepada kebutuhan manusia akan semakin naik. Artinya lima tahun yang akan datang manusia akan benar-benar membutuhkan IT dalam kehidupan sehari-hari. IT akan banyak membantu menyelesaikan kegiatan sehari-hari. Tetapi di sini bukan berarti IT adalah suatu kebutuhan pokok manusia.

2. W(weakness) dalam bahasa indonesia adalah kelemahan. IT nantinya memang menjadi kebutuhan yang urgent bagi masyarakat tetapi dengan IT tidak menjamin seseorang bisa menjadikan IT tersebut sebagai Lapangan Pekerjaan karena persaingannya semakin ketat dan teknologi semakin hari semakin maju. SDM pun akan sebanding dengan majunya IT.

3. O(Opportunity) dalam bahasa Indonesia adalah kesempatan. Kesempatan yang ada di masa yang akan datang adalah kesempatan untuk bertukar ilmu di dunia international sehingga menjadikan negara ini tidak tertinggal dengan negara maju di dunia. Contohnya : Dengan adanya IT yang semakin maju, kita bisa belajar dengan orang-orang di luar Indonesia, seperti : negara Eropa, Jepang yang mana teknologi IT-nya sudah lebih maju. Ada juga sisi kesempatan pada dunia pertanian, pangan (atau dengan kata lain bahan pokok) akan terbuka kesempatan dengan pesaing yang sedikit karena manusia fokus dalam persaingan IT dan lupa diri bahwa kita masih butuh makan. Jadi untuk membuka lapangan usaha seperti pertanian akan sangat bagus peluangnya.

4. T(Threatment) dalam bahasa Indonesia adalah ancaman. Ancaman kita dengan adanya IT yang semakin maju yaitu:

a. Bagaimana membawa manusia Indonesia untuk memanfaatkan IT dengan baik dan benar sesuai dengan porsinya masing-masing. Contohnya : bagaimana mendidik anak dengan baik padahal pengaruh lingkungan global sudah sangat besar.
b. Moral bangsa. Bagaimana mempertahankan moral bangsa agar tetap pada norma-norma yang berlaku?

Dari empat analisis di atas dapat saya simpulkan bahwa manusia bisa mengembangkan IT sebegitu majunya tetapi tidak mungkin lepas dari kebutuhan pokok jasmani dan rohaninya. Jadi ketika nanti IT sedang berada di Puncak kejayaannya hanya ada satu peran yang bisa meredamkan dan mengimbanginya yaitu peran Agama.

Menghadapi Lima Tahun ke Depan(Tugas PTI)

Untuk menghadapi era lima tahun mendatang diperlukan sebuah planning(program diri)yang matang. Apa yang kita capai sebanding dengan usaha yang kita lakukan. Sehingga, untuk mendapatkan sesuatu yang luar biasa dimasa yang akan datang maka kita harus mempersiapkan perjalanan kita menuju ke depan sesuai dengan apa yang kita cita-citakan.

Khususnya planning saya yaitu :
1. Berbakti kepada Ibu, Bapak.
2. Optimis dalam hidup.
3. Hidup harus penuh dengan Control.
4. Mengurangi tidur(emang dari kecil dulu ga tau kenapa kata orang2 diskitarku mengatakan bahwa mataku kuat melek) dan manfaatkan waktu sebaik-baiknya.
5. Improve diri. Ex: harus bisa berbahasa inggris dengan baik dan benar, belajar ilmu2 tambahan seperti :web,jaringan, dll. yang mungkin di perkuliahan hanya diajarkan kulitnya saja segera aku perdalam.
6. Jadikan aktivitas dan diri ini adalah beda dengan orang lain. Artinya : punya keunikan diri tersendiri, punya kemampuan yang orang lain tidak punya, dan tidak lepas dengan perbedaan itu dapat memberikan manfaat yang banyak bagi orang lain.
7. Berjuang, Kerja keras, dan pantang menyerah.
8. Makan yang cukup.
9. Planning untuk dunia dan akherat harus seimbang(itu pesan dari ibuku).

Inilah sembilan planning utamaku, planning yang lain belum tercatat dalam undang-undang. Untuk planning yang lain akan menyesuaikan 9 planning diatas.