private void button1_Click(object sender, EventArgs e) { //Ini adalah tomboll trigger untuk memanggil animasi dan algoritma dfs //Inisiasi button2.Enabled = true; button3.Enabled = true; DFS_Sort algoritmaDFS = new DFS_Sort(resultGraph.getSize()); //Mulai melakukan dfs int time = 1; for (int i = 0; i < resultGraph.getSize(); i++) { if (!algoritmaDFS.isVerticeVisited(i)) { algoritmaDFS.Search(resultGraph, i, ref time); } } algoritmaDFS.makeSolution(); //Melakukan animasi dfs dengan memanfaatkan track record for (int i = 0; i < algoritmaDFS.getOrderCount(); i++) { bool isEnd = algoritmaDFS.isVerticeOrderEnd(i); int currentNode = algoritmaDFS.getVerticeOrder(i); Node currentNodeObject = graph.FindNode(pemetaanIndex[currentNode]); if (!isEnd) { //Update time stamp selfEdge[currentNode].Attr.Label = (i + 1).ToString() + "/"; currentNodeObject.Attr.Fillcolor = Microsoft.Glee.Drawing.Color.Yellow; } else { selfEdge[currentNode].Attr.Label = selfEdge[currentNode].Attr.Label + (i + 1).ToString(); } if (i != 0) { int previousNode = algoritmaDFS.getVerticeOrder(i - 1); Node previousNodeObject = graph.FindNode(pemetaanIndex[previousNode]); previousNodeObject.Attr.Fillcolor = Microsoft.Glee.Drawing.Color.Red; } //Melakukan update gambar viewer.Graph = graph; viewer.Update(); System.Threading.Thread.Sleep(waktuDelay); } //Menyimpan solusi solution = algoritmaDFS.getAllSolution(); //form.ShowDialog(); }