static void Main(string[] args) { FakeGraph fg = new FakeGraph(); string pil = "n"; while ((!pil.Equals("x")) || (!pil.Equals("X"))) { Console.WriteLine("1. Insert Kota"); Console.WriteLine("2. Insert Relasi"); Console.WriteLine("3. Lihat Tetangga"); Console.WriteLine("4. Lihat Seluruh Kota"); Console.WriteLine("5. Hapus Kota"); Console.WriteLine("6. Hapus Relasi"); Console.WriteLine("7. Telusuri BFS"); Console.WriteLine("8. Telusuri DFS"); Console.WriteLine("9. Isi data"); Console.WriteLine("10. Search dengan DFS"); Console.WriteLine("11. Search dengan BFS"); Console.WriteLine("X. Exit"); Console.WriteLine("Pilihan anda :"); pil = Console.ReadLine(); if ((pil.Equals("x")) || (pil.Equals("X"))) { Console.WriteLine("Makasih gan!"); break; } switch (pil) { case "1": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); fg.insertParentNode(namakota); Console.ReadLine(); Console.Clear(); break; } case "2": { string ks, kd, tempjarak; int jarak; Console.WriteLine("Masukkan Nama Kota 1 :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota 2 :"); kd = Console.ReadLine(); Console.WriteLine("Masukkan Jarak antara Kota 1 dan Kota 2 :"); tempjarak = Console.ReadLine(); int.TryParse(tempjarak, out jarak); fg.insertRelation(ks, kd, jarak); Console.ReadLine(); Console.Clear(); break; } case "3": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); fg.viewTetangga(namakota); Console.ReadLine(); Console.Clear(); break; } case "4": { fg.tampilkanSemuaKota(); Console.ReadLine(); Console.Clear(); break; } case "5": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); fg.deleteParentNode(namakota); Console.ReadLine(); Console.Clear(); break; } case "6": { string ks, kd; Console.WriteLine("Masukkan Nama Kota 1 :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota 2 :"); kd = Console.ReadLine(); fg.deleteRelasi(ks, kd); Console.ReadLine(); Console.Clear(); break; } case "7": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); if (fg.cekada(namakota)) { BFSTraversal(fg, namakota); } else { Console.WriteLine("Nama kota {0} tidak ditemukan dalam graph", namakota); } Console.ReadLine(); Console.Clear(); break; } case "8": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); if (fg.cekada(namakota)) { DFSTraversal(fg, namakota); } else { Console.WriteLine("Nama kota {0} tidak ditemukan dalam graph", namakota); } Console.ReadLine(); Console.Clear(); break; } case "9": { isidata(fg); Console.WriteLine("Done!"); Console.ReadLine(); Console.Clear(); break; } case "10": { string ks, kd; Console.WriteLine("Masukkan Nama Kota Asal :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota Target :"); kd = Console.ReadLine(); DFS(fg, ks, kd); Console.ReadLine(); Console.Clear(); break; } case "11": { string ks, kd; Console.WriteLine("Masukkan Nama Kota Asal :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota Target :"); kd = Console.ReadLine(); BFS(fg, ks, kd); Console.ReadLine(); Console.Clear(); break; } } } }
static void Main(string[] args) { FakeGraph fg = new FakeGraph(); string pil = "n"; while ((!pil.Equals("x"))||(!pil.Equals("X"))) { Console.WriteLine("1. Insert Kota"); Console.WriteLine("2. Insert Relasi"); Console.WriteLine("3. Lihat Tetangga"); Console.WriteLine("4. Lihat Seluruh Kota"); Console.WriteLine("5. Hapus Kota"); Console.WriteLine("6. Hapus Relasi"); Console.WriteLine("7. Telusuri BFS"); Console.WriteLine("8. Telusuri DFS"); Console.WriteLine("9. Isi data"); Console.WriteLine("10. Search dengan DFS"); Console.WriteLine("11. Search dengan BFS"); Console.WriteLine("X. Exit"); Console.WriteLine("Pilihan anda :"); pil = Console.ReadLine(); if ((pil.Equals("x")) || (pil.Equals("X"))) { Console.WriteLine("Makasih gan!"); break; } switch (pil) { case "1": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); fg.insertParentNode(namakota); Console.ReadLine(); Console.Clear(); break; } case "2": { string ks, kd, tempjarak; int jarak; Console.WriteLine("Masukkan Nama Kota 1 :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota 2 :"); kd = Console.ReadLine(); Console.WriteLine("Masukkan Jarak antara Kota 1 dan Kota 2 :"); tempjarak = Console.ReadLine(); int.TryParse(tempjarak, out jarak); fg.insertRelation(ks, kd, jarak); Console.ReadLine(); Console.Clear(); break; } case "3": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); fg.viewTetangga(namakota); Console.ReadLine(); Console.Clear(); break; } case "4": { fg.tampilkanSemuaKota(); Console.ReadLine(); Console.Clear(); break; } case "5": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); fg.deleteParentNode(namakota); Console.ReadLine(); Console.Clear(); break; } case "6": { string ks,kd; Console.WriteLine("Masukkan Nama Kota 1 :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota 2 :"); kd = Console.ReadLine(); fg.deleteRelasi(ks, kd); Console.ReadLine(); Console.Clear(); break; } case "7": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); if (fg.cekada(namakota)) { BFSTraversal(fg, namakota); } else { Console.WriteLine("Nama kota {0} tidak ditemukan dalam graph",namakota); } Console.ReadLine(); Console.Clear(); break; } case "8": { string namakota; Console.WriteLine("Masukkan Nama Kota :"); namakota = Console.ReadLine(); if (fg.cekada(namakota)) { DFSTraversal(fg, namakota); } else { Console.WriteLine("Nama kota {0} tidak ditemukan dalam graph", namakota); } Console.ReadLine(); Console.Clear(); break; } case "9": { isidata(fg); Console.WriteLine("Done!"); Console.ReadLine(); Console.Clear(); break; } case "10": { string ks, kd; Console.WriteLine("Masukkan Nama Kota Asal :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota Target :"); kd = Console.ReadLine(); DFS(fg, ks, kd); Console.ReadLine(); Console.Clear(); break; } case "11": { string ks, kd; Console.WriteLine("Masukkan Nama Kota Asal :"); ks = Console.ReadLine(); Console.WriteLine("Masukkan Nama Kota Target :"); kd = Console.ReadLine(); BFS(fg, ks, kd); Console.ReadLine(); Console.Clear(); break; } } } }