P. 1
27711964-Matematika-Diskrit

27711964-Matematika-Diskrit

|Views: 93|Likes:
Published by Vini Tiastuti

More info:

Published by: Vini Tiastuti on Apr 15, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/16/2013

pdf

text

original

Posted January 12th, 2010 by MUHAMMADTAQWA

o
A. Latar Belakang

Matematika Diskrit

Matematika merupakan salah satu alat yang dapat membantu mempermudah pemecahan permasalahan kehidupan sehari-hari. Salah satu cabang Matematika yang bermanfaat membantu memecahkan permasalahan adalah Teori Graf. Teori graf merupakan salah satu bidang Matematika, yang diperkenalkan pertama kali oleh ahli Matematika asal Swiss, Leonardo Euler pada tahun 1736. Ide besarnya muncul sebagai upaya menyelesaikan masalah jembatan Königsberg. Dari permasalahan itu, akhirnya Euler mengembangkan beberapa konsep mengenai teori graf. Kemudian seiring dengan perkembangan bidang komputasi serta dalam hal ini berkembangnya perangkat lunak maupun perangkat keras komputer, teori graf banyak dijadikan model dalam memecahkan masalah yang ada dalam kehidupan kita sehari-hari. Salah satu topik menarik dalam teori graf adalah lintasan dan sirkuit Hamilton. Dalam makalah ini akan dibahas bagaimana graf dapat membantu mengatasi permasalahan transportasi dengan menggunakan aplikasi lintasan Hamilton. Penyedia jasa pengantar dapat menggunakan metode lintasan terpendek dan persoalan pedagang keliling dalam penghematan bahan bakar dan waktu dalam pengantaran. Kedua metode akan sangat membantu dalam merencanakan lintasan yang akan diambil oleh pengantar . Pertama kita akan mengambil metode persoalan pedagang keliling untuk mengambil beberapa macam lintasan yang dilewati untuk menyederhanakan persoalan. Hal ini agar kemungkinan lintasan yang akan didapat berkurang, sehingga memudahkan mengambil keputusan dalam pemilihan lintasan. Kedua dengan mengambil metode lintasan terpendek, kita mencoba mengurangi waktu tempuh dan bahan bakar yang digunakan. Hal ini mempertimbangkan aspek banyaknya simpul dan jumlah lintasan yang diambil. Dengan demikian kita bisa menentukan lintasan mana yang akan menghasilkan jarak tempuh terpendek. Dalam hal ini kita akan banyak menggunakan lintasan Hamilton dalam pembahasan kedua metode yang digunakan. Hal ini karena lintasan Hamilton dianggap lebih cocok untuk mengatasi permasalahan ini. Sebab pada sirkuit Hamilton simpul harus dilalui tepat satu kali. Sesuai dengan apa yang diinginkan oleh layanan jasa pengantar. Dengan menggunakan kedua metode tersebut, kita mendapatkan lintasan yang hanya dilewati sekali dan jarak yang terpendek. Sedangkan daerah lintasan penelitian berada dalam batas jalan lingkar, dan pencarian rute perjalanan tidak memperhitungkan, lebar jalan, rambu-rambu dan lampu-lampu lalu lintas, serta kondisi jalan, dan tidak memungkinkan adanya penentuan satu arah atau

dua arah, serta penutupan jalan. Jadi, metode di atas sangat berguna untuk mengurangi pengeluaran bahan bakar, jarak dan waktu tempuh di bidang transportasi khususnya untuk para jasa pengantar.

B. TEORI GRAF Teori Graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan dalam kehidupan sehari-hari sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Banyak persoalan pada dunia nyata yang sebenarnya merupakan representasi visual dari graf. Contoh salah satu representasi visual dari graf adalah peta. Banyak hal yang dapat digali dari representasi tersebut, diantaranya adalah menentukan jalur terpendek dari satu tempat ke tempat lain, menggambarkan 2 kota yang bertetangga dengan warna yang berbeda pada peta, menentukan tata letak jalur transportasi, pengaturan jaringan komunikasi atau jaringan internet dan masih banyak lagi. Selain peta, masih banyak hal lain dalam dunia nyata yang merupakan representasi visual dari graf.

Gambar 1 Graf yang menggambarkan peta beberapa negara bagian di Amerika Serikat A. Definisi Graf Secara matematis, graf didefinisikan sebagai berikut: Graf G didefinisikan sebagai pasangan himpunan (V,E) yang dalam hal ini : V = himpunan tidak kosong dari simpul - simpul (vertices atau node): {v1,v2,…,vn} E = himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul: {e1,e2,…,en} atau dapat ditulis singkat notasi G = (V, E) B. Jenis-Jenis Graf Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, maka secara umum graf digolongkan menjadi dua jenis: 1. Graf sederhana (simple graph) adalah graf yang tidak mengandung gelang maupun sisi-ganda dinamakan graf sederhana. 2. Graf tak-sederhana (unsimple-graph) adalah graf yang mengandung sisi ganda atau gelang dinamakan graf tak-sederhana (unsimple graph). Berdasarkan jumlah simpul pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis: 1. Graf berhingga (limited graph) adalah graf berhingga adalah graf yang jumlah simpulnya, n, berhingga. 2. Graf tak-berhingga (unlimited graph) adalah graf yang jumlah simpulnya, n, tidak berhingga

sisi (2. Graf Kosong (null graph atau empty graph) Graf yang himpunan sisinya merupakan himpunan kosong (Nn). Simpul Terpencil (Isolated Vertex) Simpul terpencil ialah simpul yang tidak mempunyai sisi yang bersisian dengannya. Berikut ini didefinisikan beberapa terminologi yang sering digunakan: G1 G2 G3 Gambar 2 Graf yang digunakan untuk menjelaskan terminologi pada graf 1. Bersisian (Incidency) Untuk sembarang sisi e = (vj. 2) tidak bersisian dengan simpul 4. tetapi sisi (1.banyaknya disebut graf tak-berhingga. maka secara umum graf dibedakan atas 2 jenis: 1. atau e bersisian dengan simpul vk Tinjau graf G1: sisi (2. 4) bersisian dengan simpul 2 dan simpul 4. C. Notasi: d(v) . 3) bersisian dengan simpul 2 dan simpul 3. Tinjau graf G1: simpul 5 adalah simpul terpencil. vk) dikatakan e bersisian dengan simpul vj . Graf N5 : 5. Ketetanggaan (Adjacent) Dua buah simpul dikatakan bertetangga bila keduanya terhubung langsung. 2. 3. Terminologi Dasar Terdapat beberapa istilah penting yang berkaitan dengan graf. 4. simpul 1 tidak bertetangga dengan simpul 4. 2. Graf berarah (directed graph atau digraph) adalah graf yang setiap sisinya diberikan orientasi arah disebut sebagai graf berarah. Graf tak-berarah (undirected graph) adalah graf yang sisinya tidak mempunyai orientasi arah disebut graf tak-berarah. Tinjau graf G1 : simpul 1 bertetangga dengan simpul 2 dan 3. Derajat (Degree) Derajat suatu simpul adalah jumlah sisi yang bersisian dengan simpul tersebut. Berdasarkan orientasi arah pada sisi.

dout(2) = 3 din(3) = 1. . e2 = (v1. 4. 2. (2.. . Lintasan (Path) Lintasan yang panjangnya n dari simpul awal v0 ke simpul tujuan vn di dalam graf G ialah barisan berselang-seling simpul-simpul dan sisi-sisi yang berbentuk v0. e1.4). . . dout(3) = 1 din(4) = 2. (4. din(v) = derajat-masuk (in-degree) = jumlah busur yang masuk ke simpul v dout(v) = derajat-keluar (out-degree) = jumlah busur yang keluar dari simpul v d(v) = din(v) + dout(v) G4 G5 Tinjau graf G4: din(1) = 1. 3 pada G1 memiliki panjang 3. 4.. dout(3) = 0 6. v2. v1). dout(1) = 1 din(2) = 1.2). 3 adalah lintasan dengan barisan sisi (1. vn) adalah sisi-sisi dari graf G.3).. en.. vn –1. Lintasan 1. Panjang lintasan adalah jumlah sisi dalam lintasan tersebut. en = (vn-1.Tinjau graf G1: d(1) = d(4) = 2 d(2) = d(3) = 3 Tinjau graf G3: d(5) = 0 ? simpul terpencil d(4) = 1 ? simpul anting-anting (pendant vertex) Tinjau graf G2: d(1) = 3 ? bersisian dengan sisi ganda d(2) = 4 ? bersisian dengan sisi gelang (loop) Pada graf berarah. v1. e2. 2. v2).. Tinjau graf G1: lintasan 1. vn sedemikian sehingga e1 = (v0.

Siklus (Cycle) atau Sirkuit (Circuit) Lintasan yang berawal dan berakhir pada simpul yang sama disebut sirkuit atau siklus.7. pada graf berarah G disebut terhubung kuat (strongly connected) jika terdapat lintasan berarah dari u ke v dan juga lintasan berarah dari v ke u. 1 pada G1 memiliki panjang 3. maka u dan v dikatakan terhubung lemah (weakly coonected). Dua simpul. Jika tidak. Tinjau graf G1: 1. Contoh graf tak-terhubung: Graf berarah G dikatakan terhubung jika graf tidak berarahnya terhubung (graf tidak berarah dari G diperoleh dengan menghilangkan arahnya). Upagraf (Subgraph) dan Komplemen Upagraf Misalkan G = (V. (a) Graf G1 (b) Sebuah upagraf (c) komplemen dari upagraf (b) Komponen graf (connected component) adalah jumlah maksimum upagraf terhubung dalam graf G. 3. graf berarah terhubung lemah graf berarah terhubung kuat 9. terhubung kuat. G disebut graf terhubung lemah. 8. 2. Panjang sirkuit adalah jumlah sisi dalam sirkuit tersebut. 3. Jika u dan v tidak terhubung kuat tetapi terhubung pada graf tidak berarahnya. Pada graf berarah. 1 adalah sebuah sirkuit. G1 = (V1. Sirkuit 1. Graf G di bawah ini mempunyai 4 buah komponen. u dan v. maka G disebut graf tak-terhubung (disconnected graph). Graf berarah G disebut graf terhubung kuat (strongly connected graph) apabila untuk setiap pasang simpul sembarang u dan v di G. E) adalah sebuah graf. Komplemen dari upagraf G1 terhadap graf G adalah graf G2 = (V2. G disebut graf terhubung (connected graph) jika untuk setiap pasang simpul vi dan vj dalam himpunan V terdapat lintasan dari vi ke vj. E1) adalah upagraf (subgraph) dari G jika V1 ? V dan E1 ? E. E2) sedemikian sehingga E2 = E . Kalau tidak.E1 dan V2 adalah himpunan simpul yang anggota-anggota E2 bersisian dengannya. komponen terhubung kuat (strongly connected component) adalah jumlah maksimum upagraf yang terhubung kuat. Terhubung (Connected) Dua buah simpul v1 dan simpul v2 disebut terhubung jika terdapat lintasan dari v1 ke v2. Graf di bawah ini mempunyai 2 buah komponen terhubung kuat: . 2.

4. (c) bukan upagraf rentang dari G ? 11. E. Upagraf Rentang (Spanning Subgraph) Upagraf G1 = (V1. Lintasan minimum yang dimaksud dapat dicari dengan menggunakan graf. sedemikian sehingga setiap sisi pada G menghubungkan sebuah simpul di V1 ke sebuah simpul di V2 disebut graf bipartit dan dinyatakan sebagai G(V1. Graf lengkap dengan n buah simpul dilambangkan dengan Kn. Graf Lingkaran Graf lingkaran adalah graf sederhana yang setiap simpulnya berderajat dua. Graf lingkaran dengan n simpul dilambangkan dengan Cn. cut-set selalu menghasilkan dua buah komponen. K1 K2 K3 K4 K5 K6 2. Graf yang digunakan .10. Beberapa Graf Khusus 1. Graf Bipartite (Bipartite Graph) Graf G yang himpunan simpulnya dapat dipisah menjadi dua himpunan bagian V1 dan V2. D. Jadi. 12. Graf Berbobot (Weighted Graph) Graf berbobot adalah graf yang setiap sisinya diberi sebuah harga (bobot). E) dikatakan upagraf rentang jika V1 =V (yaitu G1 mengandung semua simpul dari G). (a) graf G. V2). Apabila derajat setiap simpul adalah r. maka graf tersebut disebut sebagai graf teratur derajat r. Jumlah sisi pada graf teratur adalah nr/2. E1) dari G = (V. (b) upagraf rentang dari G. Lintasan Terpendek (Shortest Path) Lintasan terperndek adalah lintasan minimum yang diperlukan untuk mencapai suatu tempat dari tempat tertentu. Graf Teratur (Regular Graphs) Graf yang setiap simpulnya mempunyai derajat yang sama disebut graf teratur. Cut-Set Cut-set dari graf terhubung G adalah himpunan sisi yang bila dibuang dari G menyebabkan G tidak terhubung. Jumlah sisi pada graf lengkap yang terdiri dari n buah simpul adalah n(n – 1)/2. 3. Graf Lengkap (Complete Graph) Graf lengkap ialah graf sederhana yang setiap simpulnya mempunyai sisi ke semua simpul lainnya.

Lintasan terpendek dari simpul tertentu ke semua simpul yang lain.adalah graf yang berbobot. L(x) + W(x.t) ? E). Untuk setiap verteks t di B’ tentukan labelnya terhadap S’ dengan rumus L’(t) = min [L(t). Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu.t) = ? bila (a. Pertama-tama misalkan S = {a} dan B = V . Lintasan dan Sirkuit Hamilton Dalam teori graf. yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot.t).{a}. Algoritma Lintasan Terpendek Algoritma Dijkstra ditemukan oleh Edger Wybe Dijkstra. Menentukan jalur penerbangan dunia yang paling efektif untuk dilakukan. d. bobot yang dimaksud berupa jarak dan waktu kemacetan terjadi. Algoritma Dijkstra untuk mencari panjang lintasan terpendek dari vertek a ke vertek z di sebuah graf berbobot G = (V. 2. yaitu z. Menentukan rute atau jalur terbaik yang harus ditempuh dari suatu kota untuk menuju ke kota lain. siklus yang menggunakan semua titik dan kembali ke titik semula dikenal dengan siklus . Menentukan jalur komunikasi dua buah terminal komputer. E. Ulangi langkah 2) dan 3) dengan memakai S’ sebagai S dan B’ sebagai B. maka stop. Menentukan jarak terpendek/waktu tempuh tersingkat/ongkos termurah antara dua buah kota e. Untuk setiap verteks t di B tentukan. bentuk S’ = S ? {x} dan B’ = B . F. tetapi selalu benar untuk graf tak-berarah. Lintasan terpendek antara dua buah simpul tertentu. Algoritma Dijkstra diterapkan pada graf berarah. Ada beberapa macam persoalan terpendek. c. L(t) = W(a.t)] 4. c. Dalam kasus ini. b. Aplikasi persoalan penentuan lintasan terpendek ini banyak sekali kita jumpai dalam kehidupan seharihari : a. b. Lintasan terpendek antara semua pasangan simpul. antara lain : a. 3.{x}. W). Jika x adalah verteks yang ingin dicapai. Jika tidak. Pilih verteks x di B yeng memiliki label terkecil terhadap S. d. (W(a. Algoritma ini merupakan algoritma yang paling terkenal untuk mencari lintasan terpendek. Menentukan waktu tersingkat pengiriman pesan (message) antara dua buah terminal pada jaringan komputer. 1.

Jika kita menganggap verteks-verteks dalam graf berbobot sebagai kota dan bobot rusuk sebagai jarak. 4) (b) graf yang memiliki lintasan Hamilton (1. d(v) ? n/2 untuk setiap simpul v di G). d. Graf yang memiliki lintasan atau siklus Hamilton disebut Graf Hamilton sebagaimana disampaikan oleh Sir William Rowan Hamilton pada tahun 1856. Jika n genap dan n ? 4. g. 3. terdapat (n . 4. carilah sebuah siklus Hamilton. 2. (a) (b) (c) Gambar : (a) graf yang memiliki lintasan Hamilton (misal: 3. 2.2)/2 buah sirkuit Hamilton yang saling lepas.1)/2 buah sirkuit Hamilton yang saling lepas (tidak ada sisi yang beririsan). c. a). Sedangkan jika semua titik dilewati tepat satu kali tetapi tidak kembali ke titik semula disebut Lintasan Hamilton (Hamilton Path). 1. e.E) dalam Gambar 10. Masalah Perjalanan Wiraniaga Soal perjalanan wiraniaga berkaitan dengan masalah pencarian siklus Hamilton dengan panjang minimum dalam sebuah graf berbobot G. masalah perjalanan wiraniaga adalah mencari sebuah rute terpendek sehingga wiraniaga tersebut dapat mengunjungi setiap kota satu kali.Hamilton (Hamilton Cycle). 1) (c) graf yang tidak memiliki lintasan maupun sirkuit Hamilton Teorema Dasar Teorema 1 Syarat cukup (jadi bukan syarat perlu) supaya graf sederhana G dengan n (? 3) buah simpul adalah graf Hamilton ialah bila derajat tiap simpul paling sedikit n/2 (yaitu. maka di dalam G terdapat (n . b. berawal dan berakhir pada kota . Teorema 3 Di dalam graf lengkap G dengan n buah simpul (n ? 3).1)!/2 buah sirkuit Hamilton. Teorema 4 Di dalam graf lengkap G dengan n buah simpul (n ? 3 dan n ganjil).1. Teorema 2 Setiap graf lengkap adalah graf Hamilton. f. Contoh : Untuk graf G = (V. terdapat (n . Sedangkan graf yang hanya memiliki lintasan Hamilton disebut graf semi-Hamilton. Penyelesaian : Sebuah siklus Hamilton untuk graf G adalah siklus (a.

c. d. Graf di atas memiliki (4 – 1)!/2 = 3 sirkuit Hamilton. Kota akan kita anggap sebagai tempat tujuan pengantaran. d. b. c.yang sama. sirkuit Hamilton terpendek adalah I3 = (a. Persoalan Perjalanan Pedagang (Travelling Salesperson Problem . c. Tentukan sirkuit terpendek yang harus dilalui oleh seorang pedagang bila pedagang itu berangkat dari sebuah kota asal dan menyinggahi setiap kota tepat satu kali dan kembali lagi ke kota asal keberangkatan (menentukan sirkuit Hamilton yang memiliki bobot minimum). Persoalannya tidak lain adalah menentukan lintasan Hamilton yang memiliki bobot minimum pada graf yang kita dapatkan. c. yaitu: I1 = (a. d. c.1)!/2. jika setiap simpul memiliki sisi ke simpul lainnya maka graf ini disebut graf lengkap dengan N buah simpul.TSP) Diberikan sejumlah kota dan jarak antar kota. b. b. d. c. selanjutnya akan kita sebut sebagai simpul. Aplikasi TSP: 1. Lengan robot mengencangkan n buah mur pada beberapa buah peralatan mesin dalam sebuah jalur perakitan. C. persoalan semacam ini . c. a) atau (a. maka Sirkuit Hamilton yang kita dapatkan mempunyai rumus: . APLIKASI TEORI GRAF a. Menurut teori graf. c. a) ==> panjang = 10 + 12 + 8 + 15 = 45 I2 = (a. d. Sisi memiliki jarak tempuh yang kita sebut sebagai bobot. Metode Pedagang Keliling Metode ini diambil dari persoalan pedagang keliling yang harus mendatangi setiap kota tepat satu kali. Jika jumlah simpul n = 20 akan terdapat (19!)/2 sirkuit Hamilton atau sekitar 6 ? 1016 penyelesaian. b. Jumlah sirkuit Hamilton di dalam graf lengkap dengan n simpul: (n . a) ==> panjang = 12 + 5 + 9 + 15 = 41 I3 = (a. b. a) dengan panjang sirkuit = 10 + 5 + 9 + 8 = 32. a) atau (a. 2. d. d. b. d. a) atau (a. 3. b. Sedangkan jalan yang bisa dilewati akan kita sebut sebagai sisi. Produksi n komoditi berbeda dalam sebuah siklus. a) ==> panjang = 10 + 5 + 9 + 8 = 32 Jadi. Pak Pos mengambil surat di kotak pos yang tersebar pada n buah lokasi di berbagai sudut kota. a) atau (a. b.

Lintasan Hamilton ada = 3 sirkuit. Dengan pendekatan greedy kita dapat mendapatkan lintasan terpendek dengan membandingkan seluruh lintasan yang kita miliki. jarak B ke D 11. dan seterusnya untuk simpul berikutnya. D adalah tempat tujuan.Rumus ini dihasilkan karena (n-1) untuk simpul pertama. AB DC Misal pada gambar di atas. Metode Jarak Terpendek Pada metode ini yang akan kita gunakan adalah bobot yang ada pada graf tersebut. Yang perlu diketahui kita menggunakan istilah lintasan untuk mewakili sirkuit Hamilton yang didapat melalui metode sebelumnya. jarak A ke B 10. Lintasan pertama (A-B-C-D-A) atau (A-D-C-D-A) AB DC Lintasan kedua (A-C-B-D-A) atau (A-D-B-C-A) AB DC Lintasan ketiga (A-C-D-B-A) atau (A-B-D-C-A) AB DC Dari ketiga lintasan yang ada akan menjadi referensi bagi metode selanjutnya. Jarak B ke C 5. Kita akan menggunakan algoritma Dijkstra. Artinya kita mendapatkan 3 lintasan. C. jarak A ke C 12. Dengan melihat gambar lintasan pertama (A-B-C-D-A) atau (A-D-C-D-A) A 10 B 65 . b. jarak C ke D 9. Dan perlu dibagi dua karena lintasan Hamilton yang terjadi terhitung 2 kali. jarak A ke D 6. Algoritma ini juga sudah terkenal diantara teori lintasan terpendek. A adalah kantor jasa pengantar. (n-2) untuk simpul kedua. B.

Dengan representasi gambar didapat graf berbobot sebagai berikut: A EB . Kasus a. Tempat pertama adalah sebuah rumah di kawasan Pondok Indah yang berjarak 12 dari tempat pengantaran. Perusahaan tersebut mengantar 4 buah paket ke berbagai tempat. Jarak antara tempat satu dengan tempat lainnya direpresentasikan dengan kilometer. Tempat keempat adalah rumah yang berjarak 17. Graf Lengkap Misalkan ada sebuah perusahaan pengantar bernama PT Antar.D9C Lintasan pertama yaitu (A-B-C-D-A) memiliki jarak tempuh sebesar 10+5+9+6=30 Lintasan kedua (A-C-B-D-A) atau (A-D-B-C-A) AB 12 11 65 DC Lintasan kedua yaitu (A-C-B-D-A) memiliki jarak tempuh sebesar 12+5+11+6=34 Lintasan ketiga (A-C-D-B-A) atau (A-B-D-C-A) 10 AB 12 11 DC 9 Lintasan ketiga yaitu (A-C-D-B-A) memiliki jarak tempuh sebesar 12+9+11+10=42 Dari ketiga lintasan pilih lintasan (A-B-C-D-A) karena memiliki jarak terpendek dari ketiga lintasasan. Dan setiap tempat memiliki jalan ke tempat lainnya. B. Tempat ketiga adalah sebuah rumah yang berjarak 24. Tempat kedua adalah sebuah toko di jalan Menteng yang berjarak 15.

Masing masing simpul diberi tanda Alfabet. C. Lalu hitung bobotnya. Jarak C ke D adalah 8. jarak B ke E adalah 13. Jarak D ke E adalah 9. jarak C ke E adalah 11. Jadi ada 12 lintasan. Dari gambar diketahui jarak dari A ke B adalah 12.DC Anggap kantor PT. E. Dengan menggabungkan dengan metode kedua kita bisa mencari jaraknya sekalian. Hilangkan sisi yang tidak dilewati. Jarak masing-masing tempat: jarak B ke C adalah 6. dari A ke C adalah 15 dari A ke D adalah 24. Dengan menggunakan metode yang sudah ada diatas kita akan mengambil tempat tujuan sebagai sebuah simpul. Lalu ambil yang berupa lintasannya saja. Dengan metode pertama kita mencari kemungkinan lintasan yang bisa diambil. Antar sebagai A dan Tempat tujuan sebagai B. D. Jarak direpresentasikan sebagai sisi. Dengan rumus (n-1)!/2 = (5-1)!/2 = 12. dari A ke E adalah 17. Lintasan pertama adalah (A-B-C-D-E-A) A EB DC Lintasan ini mempunyai panjang 12 + 6 + 8 + 9 + 17 = 52 Lintasan kedua (A-B-C-E-D-A) A EB DC Lintasan ini mempunyai panjang 12 + 6 + 11 + 9 + 24 = 62 Lintasan ketiga (A-B-E-D-C-A) A EB . jarak B ke D adalah 14.

DC Lintasan ini mempunyai panjang 12 + 13 + 9 + 8 + 15 = 57 Lintasan keempat (A-B-E-C-D-A) A EB DC Lintasan ini mempunyai panjang 12 + 13 + 11 + 8 + 24 = 58 Lintasan kelima (A-B-D-C-E-A) A EB DC Lintasan ini mempunyai panjang 12 + 14 + 8 + 11 + 17 = 62 Lintasan Keenam (A-B-D-E-C-A) A EB DC Lintasan ini mempunyai panjang 12 + 14 + 9 + 11 + 15 = 61 Lintasan ketujuh (A-C-B-D-E-A) A EB DC Lintasan ini mempunyai panjang 15+6+14+9+17=61 .

Lintasan kedelapan (A-C-B-E-D-A) A EB DC Lintasan ini mempunyai panjang 15 + 6 + 13 + 9 + 24 = 67 Lintasan kesembilan (A-C-D-B-E-A) A EB DC Lintasan ini mempunyai panjang 15 + 8 + 14 + 13 + 17 = 67 Lintasan kesepuluh (A-C-E-B-D-A) A EB DC Lintasan ini mempunyai panjang 15 + 11 + 13 + 14 + 24 = 77 Lintasan kesebelas (A-D-B-C-E-A) A EB DC Lintasan ini mempunyai panjang 24 + 14 + 6 + 11 + 17 = 72 .

maka persoalan tidak bisa diselesaikan dengan rumus (n-1)!/2. jarak E ke F adalah 6. Antar harus mengirim paket ke 5 tempat dimana 2 tempat tidak bisa diakses langsung.Lintasan keduabelas (A-E-B-C-D-A) A EB DC Lintasan ini mempunyai panjang 24 + 8 + 6 + 13 + 17 = 68 Dengan mengambil lintasan A-B-C-D-E-A dengan panjang 52 kilometer. jarak D ke E adalah 9. Cari sirkuit Hamilton yang ada. 2 tempat tersebut hanya bisa diakses melewati 3 tempat lainnya dan antara kedua tempat tadi tidak mempunyai sisi. jarak A ke D adalah 20. Gambar graf dari graf tak lengkap di atas BC AD FE Jarak A ke B adalah 10. Contoh graf tak lengkap misalnya. kita mendapatkan lintasan yang terpendek b. Antar. Setelah itu langkahnya tetap sama yaitu dengan membandingkan sirkuit Hamiltonnya. PT. jarak C ke D adalah 8. Sekarang kita anggap A sebagai tempat PT. jarak A ke F adalah 12. Sirkuit hamiltonnya: ? (A-B-C-D-E-F-A) ? (A-B-C-F-E-D-A) ? (A-B-E-F-C-D-A) ? (A-B-E-D-C-F-A) ? (A-F-E-B-C-D-A) . Harus dicari sirkuit Hamiltonnya dengan cara manual atau cara biasa. jarak B ke C adalah 7. sedangkan B-F adalah tempat tujuan. jarak C ke F adalah 14. jarak B ke E adalah 15. Graf Tak Lengkap Jika graf tak lengkap.

? (A-F-C-B-E-D-A) Lalu setelah ada sirkuit Hamiltonnya maka dengan cara yang sama kita buat grafnya menurut sirkuit Hamilton. Lintasan pertama (A-B-C-D-E-F-A) BC AD FE Mempunyai panjang lintasan sebesar 10 + 7 + 8 + 9 + 6 + 12 = 52 Lintasan kedua (A-B-C-F-E-D-A) BC AD FE Mempunyai panjang lintasan sebesar 10 + 7 + 14 + 6 + 9 + 20 = 66 Lintasan ketiga (A-B-E-F-C-D-A) BC AD FE Mempunyai panjang lintasan sebesar 10 + 15 + 6 + 14 + 8 + 20 = 73 Lintasan keempat (A-B-E-D-C-F-A) BC AD FE Mempunyai panjang lintasan sebesar 10 + 15 + 9 + 8 + 14 + 12 = 68 .

Aplikasi pada jumlah simpul yang banyak (lebih dari 5) akan membuat manusia sulit dalam menghitungnya. Jadi sebaiknya serahkan penghitungan kepada program komputer. serta kondisi jalan. serta penutupan jalan Seperti yang kita ketahui metode pedagang keliling akan mudah dilakukan jika grafnya adalah graf lengkap. seperti lebar jalan. Jadi pencarian harus lewat manual. Dengan begitu bisa menekan pengeluaran. . rambu-rambu dan lampu-lampu lalu lintas.Lintasan kelima (A-F-E-B-C-D-A) BC AD FE Mempunyai panjang lintasan sebesar 12 + 6 + 15 + 7 + 8 + 20 = 68 Lintasan keenam (A-F-C-B-E-D-A) BC AD FE Mempunyai panjang lintasan sebesar 12 + 14 + 7 + 15 + 9 + 20 = 77 Dengan mengambil lintasan A-B-C-D-E-F-A dengan panjang 52 kilometer. maka tidak bisa menggunakan rumus (n-1)!/2 untuk menentukan jumlah lintasan. Akan tetapi mencari sirkuit Hamilton masih bisa. kita mendapatkan lintasan yang terpendek. maka kita juga bisa mendapat keuntungan dari penghematan bahan bakar. Akan tetapi hal ini masih di luar pertimbangan faktor-faktor yang menghambat perjalanan. Persoalan ini juga mengungkap permasalahan transportasi kita. Jika tidak lengkap. dan tidak memungkinkan adanya penentuan satu arah atau dua arah. Jika persoalan yang ditemui tidak terdapat sirkuit hamilton maka metode pertama tidak bisa digunakan. dari segi bahan bakar. Dengan memilih lintasan terpendek maka perusahaan jasa tersebut bisa mengurangi biaya pengeluaran untuk transportasi. Jika kita mengaplikasikan metode diatas untuk cara kita bepergian.

http://id. Untuk berhasilnya suatu proses komunikasi diperlukan suatu bahasa untuk menyandikan informasi terlebih dahulu sebelum informasi tersebut dikirm. masalah dan solusi dapat digambarkan sebagai berikut : . Algoritma Dijkstra. Theorygraph http://www. Teknik Informatika. Informatika Santoso. Judhi S. ITB.1 Pengertian Algoritma Algoritma berasal dari kata algoris dan ritmis. Dengan demikian. yang pertama kali diungkapkan oleh Abu Ja’far Mohammed Ibnu Musa al Khowarizmi (825 M) dalam buku AL-Jabr Wa-al Muqabala. 2006.DAFTAR PUSTAKA Anonim. 00 Anonim. dalam menulis suatu program. berkomunikasi dengan aspek-aspek yang berhubungan dengan komputer. Tujuan proses komunikasi adalah menyampaikan atau mengirimkan informasi dari suatu sumber ke satu atau lebih tujuan. Diakses 5 Desember 2008 pukul 19. Matematika Diskrit Edisi Keempat. BAB I PENDAHULUAN Konsep informasi memegang peranan penting dalam memahami.en. Catatan Kuliah Teori Graph dan Aplikasinya. (1993). Konsep informasi ini menjadi lebih penting lagi jika dikaitkan dengan komunikasi. Hubungan antara algoritma. BAB II TEORI SINGKAT ALGORITMA 2. 00 Munir.org/. 2008.wikipedia. Bandung. Sedangkan dalam bidang pemrograman.wikipedia. Rinaldi. Diakses 5 Desember 2008 pukul 19.org/wiki/. Penyandian informasi ini mutlak diperlukan agar para programmer yang akan menerima informasi mengetahui dengan pasti arti dan maksud dari informasi yang dikirm. 2008. yang harus diperhatikan pertama kali adalah bagaimana memahami persoalan yang dihadapi sehingga tidak salah menginterpretasikan suatu informasi ke dalam bentuk yang mempunyai nilai logical validate untuk menyelesaikan suatu masalah. algortima didefinisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.

Strucuture English merupakan alat yang cukup efisien untuk menggambarkan suatu algoritma. sedangkan penyajian algoritma dengan teknik gambar biasanya menggunakan metode strucuture chart. Semua proses harus selalu berakhir setelah sejumlah langkah dilakukan. Pseudocode berasal dari kata pseudo yang berarti imitasi atau mirip atau menyerupai. . Semua operasi yang dibutuhkan terdefinisikan dengan jelas. tetapi juga dapat digunakan dalam bahasa Indonesia. Basis dari structure English adalah bahasa Inggris. Sedangkan pseudocode berarti kode yang mirip dengan kode pemrograman yang sebenarnya. Oleh karena bahasa manusia yang digunakan sebagai dasar penggambaran algoritma.process-output. Menghasilkan output yang tepat dan benar dalam waktu yang singkat. sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan pada programmer.MASALAH ALGORITMA SOLUSI Proses dari masalah hingga terbentuk suatu algoritma disebut tahap pemecahan masalah. Ditulis dengan format yang mudah dipahami dan diimplementasikan ke dalam bahasa pemrograman. misalnya dalam menyatakan tipe data yang digunakan.2 Penyajian Algoritma Algoritma merupakan pola pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah. yaitu teknik tulisan dan gambar. atau C. Pseudocode lebih rinci dari structure English. tahaptahap itu dapat disajikan dengan mengunakan dua teknik. Pseudocode ditulis berbasis pada bahasa pemrograman seperti BASIC. Ditulis dengan bahasa yang standar secara sistematis dan rapi sehingga tidak menimbulkan arti ganda. dan code berarti program. flowchart dan Nassi Schneiderman chart. Solusi yang dimaksud adalah suatu program yang merupakan implementasi dari algoritma yang disusun. 2. Algoritma pemrograman yang baik memiliki ciri-ciri sebagai berikut : Memiliki logika perhitungan / metode yang tepat dalam memecahkan masalah. PASCAL. maka strucuture English lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai sistem. hierarchy plus input. sedangkan tahap dari algoritma hingga terbentuk suatu solusi disebut dengan tahap implementasi. Penyajian algoritma dalam bentuk tulisan biasanya menggunakan metode structure english dan pseudocode.

Luas:= Panjang * Lebar.2. Read(Panjang). Contoh structure English (Indonesia) adalah sebagai berikut : Inisiasi dan pemberian nilai awal variabel Baca data panjang dan lebar empat persegi panjang Hitung luas empat persegi panjang sama dengan panjang dikalikan dengan lebar Tampilkan hasil perhitungan Sedangkan bentuk Struktur Urut pada Pseudocode adalah sebagai berikut : Program Hitung_Luas_Persegi_Panjang. Luas). . Lebar : Integer. Pada struktur ini dapat digunakan instruksi-instruksi seperti IF-THEN atau struktur CASE. Read(Lebar).Dalam penulisan structure English dan Pseudocode juga mengenal struktur penulisan program seperti sequence structure selection structure dan looping structure.2 Struktur Keputusan pada Structure English dan Pseudocode Selection structure merupakan struktur logika guna mengambil suatu keputusan. Writeln("Luasnya".2. Luas : Integer.1 Struktur Urut pada Structure English dan Pseudocode Struktur ini terdiri dari sebuah instruksi atau blok instruksi yang tidak mempunyai perulangan atau keputusan di dalamnya. 2. Berikut ini contoh penulisan selection strucuture pada structure English (Indonesia). Var Panjang : Integer. 2. Inisiasi variabel. Writeln("Lebar Persegi Panjang :"). Begin Writeln("Panjang Persegi Panjang :"). End.

jika tidak maka status sama dengan gagal. . Inisiasi variabel yang digunakan. DO-WHILE. Narative Style (berbentuk uraian). Jika nilai siswa lebih besar dari 60 maka status sama dengan lulus. Cetak status siswa. Pada structure English terdapat beberapa gaya penulisan yang telah banyak digunakan. Outline Common Style (dengan menggunakan nomor urut). Tentukan nilai awal hitungan. Gaya lain (tiap kata kunci ditulis dengan huruf besar semua).Baca data nilai siswa.3 Struktur Perulangan pada Structure English dan Pseudocode Suatu perulangan diterapkan pada situasi dimana suatu instruksi atau grup dari instruksi diproses berulang kali sampai kondisi yang diinginkan terpenuhi. Pada struktur perulangan ini dapat digunakan instruksi FOR. maka ulangi blok instruksi berikut ini: Cetak kata ‘ MERDEKA’ Þ Hitungan ditambah satu Selesai. Berikut ini contoh penulisan looping structure English (Indonesia). 2. Bila sepuluh hitungan belum mencapai lebih besar dari sepuluh.2. Capitalized Common Style (menggunakan huruf besar semua). REPEAT-UNTIL. Gaya penulisan tersebut antara lain : Common Style (menggunakan huruf besar di awal dan selanjutnya huruf kecil semua).

Berikanlah tabulasi yang berbeda untuk penulisan pseudocode instruksi-instruksi yang berada dalam kalang (loop) atau struktur kondisional. sehingga terlalu panjang. BAB III ALGORITMA MATRIKS ZERO ONE Matriks zero one adalah matriks yang hanya memiliki elemen-elemen bernilai 0 (false) atau 1 (true). Suatu matriks zero one dapat memiliki sifat sebagai berikut : reflektif simetri anti simetri Kasus : Membuat matriks zero one berordo n X n berdasarkan Input yang diberikan oleh user dan dicari sifat relasi dari matriks tersebut. Lakukan pembatasan jumlah baris pseudocode instruksi setiap modulnya.Aturan Penulisan Pseudocode Pada pseudocode terdapat beberapa aturan penulisan agar pseudocode mudah dipahami dan dimengerti oleh para pemrogram. Aturan penulisan tersebut antara lain : Tulis satu pseudocode suatu instruksi pada satu baris. Solusi : . Bedakan bentuk huruf dalam penuluisan pseudocode dimana pseudocode instruksi ditulis dengan huruf kapital. Pisahkan modul-modul atau kelompok pseudocode instruksi dengan memberikan spasi beberapa baris untuk mempermudah pembacaan. sedangkan komentar atau variabel dalam huruf kecil. misalnya 50-75 baris instruksi per modul.

kolom] sama dengan nilai pada [kolom. {input jumlah titik relasi matriks zero one yang akan dibentuk } .Beta 0.kolom yang berindeks sama adalah true (1) Matriks zero one tersebut akan memiliki sifat simetri jika nilai pada semua [baris. 1998 on VisiTech Lab.Menerima masukan berupa jumlah titik relasi (n) dan mengalokasikan menjadi ordo dari matriks zero one yang akan dibuat (n X n) Menerima masukan berupa identitas relasi untuk setiap titik yaitu 0 jika false/salah dan 1 jika true/benar Membuat matriks zero one n X n dengan nilai masing-masing titik sesuai dengan input yang diberikan untuk setiap baris dan kolom Memberikan keterangan tentang sifat dari matriks zero one tersebut Matriks zero one tersebut akan memiliki sifat reflektif jika nilai pada semua baris .25 (Roda Jaya Group) Thank`s for evaluate this beta version. selain itu bersifat anti simetri Representasi relasi dengan menggunakan matriks zero one ini dalam bahasa pemrograman Pascal adalah sebagai berikut : Program Representasi_Relasi_Matriks_Zero_One. This computer program is protected by copyright law. baris]. } Uses Crt. Var i : byte. and will be prosecuted to the maximum extent possible under the law. {indeks perulangan kolom } Jml_Ttk_Relasi : byte. {indeks perulangan baris } j : byte. Unathorized reproduction or distribution may result in severe civil and criminal penalties.{ iYAN --. you can get full version of this program.10 Oct 10. Visit "VisiTech" for updates this program. Get it now ! WorkShop : Kaliurang Street km 14.

ID := Readkey. j] := True. Until (Jml_Ttk_Relasi > 0) and (Jml_Ttk_Relasi < 151). {array penyimpan nilai tiap titik dari matriks zero one yang dimasukkan. Writeln.150] : ').Identitas : array[1. 1.' [Y/T] : '). If Upcase(ID) = 'Y' then begin Writeln(' 1 (True/Benar)').j..' :').'..100] of boolean. end else begin . Identitas[i. Writeln ('Masukkan identitas tiap titik pada matriks '. Jml_Ttk_Relasi. Begin { not available on this beta version. Var ID : char.100.. ukuran matriks yang dimasukkan dibatasi hingga 100 X 100 } Procedure Pendahuluan. Kolom '.i. For i := 1 to Jml_Ttk_Relasi do For j := 1 to Jml_Ttk_Relasi do begin Write(' Baris '. {kondisi identitas masukan} Begin Repeat Write ('Jumlah titik relasi [1.Jml_Ttk_Relasi. Readln(Jml_Ttk_Relasi).' X '. Procedure Masukan. okay ! } End.

R := 0. end. End. Var Angka : byte. end. End. Writeln. Identitas[i. End. Simetri := True. i := 0. Var Reflektif. AntiSimetri : boolean. Begin Writeln.Writeln(' 0 (False/Salah)'). Simetri. {indeks untuk cek reflektif } Begin Reflektif := False. j := 0. Angka). . R : byte. j] then Angka := 1 else Angka := 0. j] := False. Write(' '. Procedure Proses. Procedure Tampilan_Matriks. AntiSimetri := False. For i := 1 to Jml_Ttk_Relasi do begin For j := 1 to Jml_Ttk_Relasi do begin If Identitas[i. end.

i := 0. i]) and not(AntiSimetri) then begin AntiSimetri := True. . j] <> Identitas[j. j := 0. End. If R = Jml_Ttk_Relasi then Reflektif := True. Readln. Inc(j). Tampilan_Matriks. Simetri := False.{Cek apakah reflektif ?} Repeat Inc(i). If Simetri then Writeln('Matriks bersifat Simetri') else Writeln('Matriks bersifat AntiSimetri'). Proses. Writeln. Masukan. j] = True then inc(R). end. If Identitas[i. end. If Reflektif then Writeln('Matriks bersifat Reflektif'). {Cek apakah simetri/antisimetri ?} For i := 1 to Jml_Ttk_Relasi do For j := 1 to Jml_Ttk_Relasi do begin If (Identitas[i. Until (i = Jml_Ttk_Relasi). Pendahuluan. {Program Utama} Begin Clrscr.

1993. Andi Offset. { Referensi : none! } BAB IV REFERENSI Budi Sutedjo. DASAR-DASAR PEMROGRAMAN PASCAL TEORI dan PROGRAM TERAPAN.Sc.Kom dan Michael AN... S. Ir. 1997 P. Insap Santosa.End. Andi Offset. M. . ALGORITMA dan TEKNIK PEMROGRAMAN.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->