• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
17
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Penjadualan

Kadang kata schedule, sequence, dan timetable serta roster sering digunakan sebagai kata yang memiliki arti yang sama. Namun, terdapat perbedaan antara istilah diatas yang telah amati oleh beberapa orang dan dituangkan dalam beberapa literatur, antara lain Wer (1985), Anthony Wren (1996), S. Abdennadher dan M. Marte (1999), dan lain-lain.

Dalam buku Practice and Theory of Automated Timetabling (Wren, 1996, hal:

46-75) didefinisikan scheduling, timetabling, sequencing, dan rostering sebagai berikut:

a. Schedule biasanya keinginan yang mencakupi semua informasi khusus dan umum yang diperlukan untuk proses yang akan dilakukan. Keinginan ini mencakupi waktu dimana tempat aktivitas-aktivitas itu dilakukan. Tujuan dari

scheduling adalah untuk memecahkan masalah praktikal yang berhubungan

dengan alokasi, subjek dengan batasan, dari sumber-sumber sampai objek-objek yang akan ditempatkan pada space-time, dengan menggunakan atau membangun tools yang cocok. Masalah ini akan sering terkait dengan kepuasan dari objek-objek tertentu. Contoh umum dari scheduling adalah

scheduling transportasi atau rute kenderaan pengantar.

b. Timetable menunjukkan kejadian tertentu yang membutuhkan tempat, tidak perlu secara langsung mengutarakan alokasi dari sumber. Sebagai contoh,

timetable bus atau kereta api menunjukkan rute perjalanan, tetapi tidak

(2)

perjalanan itu. Alokasi dari kendaraan dan supir merupakan bagian dari proses

schedulling. Contoh dari timetabling adalah timetabling kelas dan timetabling

ujian.

c. Sequence adalah urutan sederhana dimana aktivitas dilakukan. Sebagai contoh, urutan dari proses jobs suatu mesin pabrik. Jika job melalui tiap mesin dengan urutan yang sama, maka disebut sequence. Masalah dari sequencing jobs biasanya dikenal sebagai flow shop problem. Contoh dari sequencing adalah

flow-shop scheduling dan traveling salesman problem (TSP).

d. Rostering adalah penempatan, batasan tentang penempatan sumber-sumber ke slot-slot yang tersusun. Dengan tujuan untuk meminimalkan beberapa objek atau secara sederhana, untuk mendapatkan alokasi yang cocok/layak. Sering kali sumber-sumber akan berputar dalam satu roster.

2.1.1 Penjadualan Perkuliahan

Secara umum penjadualan perkuliahan adalah pengalokasian waktu dan tempat untuk suatu kegiatan perkuliahan yang pada umumnya memiliki batasan-batasan yang harus dipenuhi. Secara spesifik, masalah penjadualan perkuliahan untuk mata kuliah dan ujian akhir dapat dilihat sebagai perbaikan urutan waktu dan ruangan pertemuan antara pengajar dengan mahasiswa, sambil secara sekaligus memenuhi jumlah dari variasi kondisi atau batasan pokok dan batasan preferensial (Wren, 1996, hal: 47).

Ada tiga klasifikasi dari penjadualan akademik (academic timetables) (Schaerf, 2005, hal: 2-28), yaitu:

a. Penjadualan Sekolah (School Timetabling)

Penjadualan sekolah mendeskripsikan dimana tiap kelas memiliki pelajaran tertentu dan di ruangan mana akan dilangsungkan. Isi sebenarnya dari jadwal secara besar diatur oleh kurikulum, jumlah dari waktu tiap pelajaran yang diajar tiap minggu sering ditetapkan secara nasional. Tiap kelas terdiri dari kumpulan pelajar, yang harus ditempati dari saat mereka tiba sampai mereka

(3)

meninggalkan sekolah, dan guru tertentu bertanggung jawab atas kelas dalam satu periode. Guru biasanya dialokasikan di awal proses penjadualan, yang menjadi masalah adalah menyesuaikan pertemuan dari guru dengan kelas untuk slot waktu tertentu sehingga setiap guru tertentu mengajar tiap kelas yang diwajibkan kepadanya. Sangat jelas sekali bahwa, tiap kelas atau guru tidak dapat terlibat lebih satu pertemuan pada saat waktu yang sama. Seringkali, diharuskan bahwa tiap guru mempunyai setidaknya satu waktu kosong pagi atau sore tiap minggunya dan ada banyak kendala yang serupa. b. Penjadualan Mata Kuliah (Course Timetabling)

Penjadualan mata kuliah mencakup kumpulan scheduling dari perkuliahan, dimana dalam setiap matakuliah diberikan sejumlah ruangan dan periode waktu. Penjadualan mata kuliah memiliki beberapa karakteristik, antara lain: 1. Setiap pelajar dapat memiliki jumlah matakuliah yang berbeda.

2. Ketersediaan ruangan berperan sangat penting.

3. Jika dua ruangan memiliki pelajar yang sama, maka ruangan tidak dapat dijadwalkan pada waktu yang sama.

c. Penjadualan Ujian (Exam Timetabling)

Penjadualan ujian memiliki beberapa karakteristik, antara lain: 1. Hanya ada satu ujian untuk tiap objek (mata kuliah).

2. Ada banyak batasan yang berbeda, contohnya pada hari yang sama ada pelajar yang memiliki ujian yang sangat banyak dan berurutan waktunya, tetapi ada juga yang tidak.

3. Satu ujian dapat memiliki lebih dari satu ruangan.

2.1.2 Batasan-Batasan (Constraints) pada Penjadualan Mata Kuliah

Masalah penjadualan mata kuliah melibatkan beberapa batasan pada mata kuliah yang akan dijadwalkan, jadi ada batasan dimana mata kuliah-mata kuliah tersebut dapat dijadwalkan secara bersamaan (memiliki waktu periode yang sama).

(4)

Batasan-batasan yang terlibat dalam pembuatan jadwal dari mata kuliah dapat dibagi menjadi dua kategori, yaitu:

a. Essential Timetabling Conditions (Hard Constraints)

Essential timetabling condition atau batasan pokok penjadualan (yang

umumnya disebut juga sebagai hard constraint) adalah batasan atau kondisi yang harus dipenuhi agar menghasilkan jadwal yang layak atau dapat dilaksanakan. Batasan atau kondisi pokok dalam penjadualan, antara lain sebagai berikut:

1. Dua atau lebih mata kuliah yang diajarkan oleh pengajar yang sama tidak dapat dijadwalkan pada waktu yang sama (Tidak ada pengajar yang mempunyai jadwal mengajar yang sama antara satu mata kuliah dengan mata kuliah lainnya).

2. Dua atau lebih mata kuliah yang membutuhkan ruangan kelas yang sama tidak bisa dijadwalkan pada waktu yang sama (dua atau lebih jadwal mata kuliah pada waktu yang sama tidak dapat ditempatkan pada ruangan yang sama).

3. Jadwal mata kuliah paralel dapat ditempatkan pada waktu yang bersamaan, dengan syarat dosen pengajarnya berbeda.

4. Beberapa mata kuliah perlu disesuaikan dengan beberapa jadwal waktu yang tetap setiap minggunya (misalnya, 3 kali seminggu, 2 kali seminggu atau 1 kali seminggu).

5. Setiap mata kuliah harus dijadwalkan pada sebuah ruang kelas yang tersedia yang dapat menampung jumlah mahasiswa pada mata kuliah tersebut.

6. Mahasiswa yang mengambil mata kuliah yang memiliki waktu yang sama dengan jadwal praktikumnya tidak dapat dijadwalkan pada waktu yang sama.

7. Informasi spesifik mengenai kebutuhan/jenis ruang kelas untuk mata kuliah tertentu, jika membutuhkan alat-alat bantuan (seperti projector) sebaiknya dilampirkan dalam laporan.

(5)

b. Preferential Timetabling Conditions (Soft Constraints)

Preferential timetabling conditions atau batasan tambahan penjadualan

(umumnya disebut juga soft constraint) adalah batasan atau kondisi tambahan yang tidak terlalu diperlukan untuk menghasilkan jadwal yang layak, tetapi jika dipenuhi dapat menghasilkan jadwal yang lebih cocok untuk seluruh anggota fakultas. Kondisi tambahan ini dapat dipenuhi, jika memungkinkan, dan berperan sebagai tambahan pada kondisi pokok. Batasan atau kondisi tambahan dalam penjadualan, antara lain sebagai berikut:

1. Seorang pengajar mungkin memiliki pilihan waktu kapan mata kuliah akan dijadwalkan, baik umum (misalnya, pada pagi hari, siang hari, atau sore hari) maupun spesifik (misalnya, pada jam 8 pagi).

2. Seorang pengajar mungkin meminta ruangan specifik untuk suatu mata kuliah, diluar persyaratan ruang kelas yang telah ditetapkan.

3. Seorang pengajar mengajar mata kuliah satu kali perminggu mungkin mempunyai pilihan hari apa pertemuan selama satu minggu itu.

4. Mungkin lebih baik menetapkan tiap mata kuliah pada ruang kelas yang berlokasi di dalam atau dekat dengan bangunan dimana departemen mata kuliah berada atau dekat dengan ruangan kantor pengajar.

5. Sebagaian besar mata kuliah tidak dijadwalkan pada sore hari, tetapi cukup selama jam pagi, dan jam sore dipakai/selama jam sibuk normal, kecuali jika slot waktu sore digunakan untuk permintaan mata kuliah tertentu. 6. Ruang kelas seharusnya cukup besar untuk suatu mata kuliah agar dapat

mengurangi adanya ruang kosong yang tidak digunakan karena tidak cukup daya tampungnya.

2.2 Graph

Secara kasar, graph adalah suatu diagram yang memuat informasi tertentu jika diinterpretasikan secara tepat. Dalam kehidupan sehari-hari, graph digunakan untuk menggambarkan berbagai macam struktur yang ada. Tujuannya adalah sebagai visualisasi objek-objek agar lebih mudah dimengerti.

(6)

Teori graph merupakan cabang ilmu matematika diskrit yang banyak

penerapannya dalam berbagai bidang ilmu seperti engineering, fisika, biologi, kimia, arsitektur, transportasi, teknologi komputer, ekonomi, sosial dan bidang lainnya. Teori

graph juga dapat diaplikasikan untuk menyelesaikan persoalan-persoalan, seperti Travelling Salesperson Problem (TSP), Chinese Postman Problem, Shortest Path, Electrical Network Problems, Seating Problem, dan Graph Coloring.

2.2.1 Sejarah Teori Graph

Teori graph berawal dari permasalahan yang muncul di kota Konigsberg pada awal abad ke 17. Kota ini meliputi bagian dari sungai Prigel yang ditengahnya terdapat dua pulau yang dihubungkan oleh satu jembatan dan masing-masing pulau dihubungkan oleh beberapa jembatan ke tepi sungai, seperti yang diperlihatkan pada Gambar 2.1.

Gambar 2.1 Jembatan Konigsberg

Permasalahan yang muncul saat itu adalah bagaimana seseorang dapat melalui seluruh jembatan yang menghubungkan kedua pulau, dan pulau dengan tepi pulau tepat satu kali. Untuk mempermudah pemecahan masalah ini seorang Ahli Matematika Swiss, Leonhard Euler memodelkan masalah ini ke dalam graph. Daratan

(7)

(titik-titik yang dihubungkan oleh jembatan) dinyatakan sebagai titik (noktah) yang disebut vertex (vertek) dan jembatan dinyatakan sebagai garis yang disebut edge (sisi).

Graph yang dibuat oleh Euler diperlihatkan pada Gambar 2.2.

Gambar 2.2 Model Graph Jembatan Konigsberg

Jawaban yang dikemukan oleh Euler adalah: orang tidak mungkin melalui ketujuh jembatan itu masing-masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap vertex seluruhnya genap. Yang dimaksud dengan derajat genap adalah banyaknya edge yg bersisian dengan vertex. Sebagai contoh,

vertex V1 dan V3 memiliki derajat tiga karena tiga buah edge bersisian dengannya, vertex V4 berderajat tiga, sedangkan vertex V2 berderajat 5. Karena tidak semua vertex

berderajat genap, maka tidak mungkin dilakukan perjalanan berupa sirkuit pada graph tersebut. (Munir, 2005, hal: 354-355).

2.2.2 Definisi Graph

Chartrand, G dan Lesniak, L (1996) menyatakan suatu graph G adalah suatu himpunan berhingga tak kosong dari objek-objek yang disebut vertex (minimal tunggal) bersama-sama dengan suatu himpunan yang anggotanya adalah pasangan yang tak berurut dari vertex yang berbeda pada G yang disebut edge (mungkin kosong), dan dinotasikan dengan G{V(G), E(G)}. Himpunan vertex dari G dinotasikan dengan V(G) dan himpunan edge dinotasikan dengan E(G). Banyaknya anggota dari himpunan vertex pada G disebut order G dan dinotasikan dengan p(G), atau dengan singkat ditulis p. Edge e = {x, y} atau juga dapat ditulis e = xy adalah sebuah edge

v4 v1 v2 v3 e1 e4 e3 e2 e7 e5 e6

(8)

dalam G, yaitu x dan y adalah titik-titik ujung dari e, maka x dan y dikatakan adjacent (berelasi) dimana x dan e adalah incedent (terhubung), begitu juga dengan y dan e. Banyaknya edge yang incedent dengan vertex x disebut degree/valensi/derajat dari x, dengan kata lain degree x adalah banyaknya edge yang memuat x sebagai titik ujung.

Degree x dinotasikan dengan deg(x).

Munir (2005, hal: 356) menyatakan Graph G didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V, E), yang dalam hal ini V adalah himpunan tidak kosong dari vertex-vertex (vertex atau node) dan E adalah himpunan

edge (edges atau arcs) yang menghubungkan sepasang vertex. Dari definisi tersebut,

dapat dikatakan bahwa sebuah graph dimungkinkan tidak mempunyai sebuah edge, tetapi vertexnya harus ada minimal satu. Graph yang hanya mempunyai satu buah

vertex tanpa sebuah edge dinamakan graph trivial.

Iryanto (2003, hal: 2) menyatakan Graph didefinisikan sebagai pasangan himpunan (V, E) yang dinotasikan dengan G = (V, E), dimana:

a. V adalah himpunan titik, vertex, vertex atau node dari G yaitu: i. V = {v1, v2, v3, ..., vn}

b. E adalah himpunan rusuk, edges, atau edge dari G, yaitu: i. E = {e1, e2, e3, ..., em}

Suatu edges yang menghubungkan vertex Vi dan Vj dinyatakan oleh suatu pasangan (Vi, Vj) atau e1, e2, e3, ..., em atau dapat ditulis e = (Vi, Vj). (Iryanto, 2003, hal: 2).

Graph dapat pula disajikan secara geometri dan untuk ini vertex dinyatakan

sebagai titik dan edge sebagai sebuah potongan garis yang menghubungkan

vertex-vertex. Banyaknya vertex pada suatu graph disebut order dan banyaknya edge disebut size. Pada suatu graph G jika terdapat dua vertex yang dihubungkan lebih dari satu edge, maka edge seperti itu disebut multiple edges, paralel edges atau edge ganda.

Jika suatu edge berasal dari suatu vertex dan ujungnya kembali ke vertex yang sama, maka edge tersebut dinamakan loop atau gelang.

(9)

2.2.3 Teori Pewarnaan Graph (Graph Coloring)

Graph G dikatakan berwarna n jika terdapat sebuah pewarnaan dari G yang

menggunakan n warna. Jumlah warna maksimal dari suatu graph sama dengan jumlah

vertex. Jumlah warna minimum yang diperlukan untuk mewarnai G disebut bilangan

kromatik (chromatic) dari G, yang disimbolkan dengan χ(G). Suatu graph G yang mempuyai bilangan kromatik k dilambangkan dengan χ(G) = k (Munir, 2005, hal: 426). Gambar 2.3 memperlihatkan graph yang memiliki bilangan kromatik 4.

Gambar 2.3 Graph yang memiliki χ(G) = 4

Beberapa graph tertentu dapat langsung ditentukan bilangan kromatiknya, antara lain:

a. Graph kosong Nn memiliki χ(G) = 1, karena semua vertex tidak terhubung,

jadi untuk mewarnai semua vertex cukup dibutuhkan satu warna saja. b. Graph lengkap Kn memiliki χ(G) = n sebab semua vertex saling terhubung

sehingga diperlukan n buah warna (warna maksimum).

c. Graph bipartit Km,n mempunyai χ(G) = 2, satu untuk vertex-vertex dihimpunan V1 dan satu lagi untuk vertex-vertex di V2.

d. Graph lingkaran dengan n ganjil memiliki χ(G) = 3, sedangkan jika n genap maka χ(G) = 2. Sembarang pohon T memiliki χ(T) = 2.

e. Untuk graph-graph yang lain tidak dapat dinyatakan secara umum bilangan kromatiknya.

(10)

2.2.3.1 Masalah pada Pewarnaan Graph

Masalah pada pewarnaan graph G adalah bagaimana memberikan sejumlah warna yang tepat pada G seminimum mungkin. Hal ini dikenal sebagai masalah pewarnaan minimum (minimum coloring problem). Pewarnaan graph terbagi 3 jenis, yaitu:

a. Coloring Vertex (Pewarnaan Vertek)

Pewarnaan vertex adalah cara pemberian warna untuk setiap vertex (vertek) suatu graph sedemikian rupa sehingga setiap vertex yang adjacent (dihubungkan oleh garis/edge yang sama) diwarnai dengan warna yang berbeda.

b. Coloring Edge (Pewarnaan Garis)

Pewarnaan garis adalah cara pemberian warna pada edge sedemikian rupa sehingga setiap edge yang bertumpuan pada vertex yang sama diberi warna yang berbeda. Cara pemberian warna tidak memiliki aturan tertentu, hanya harus seminimal mungkin.

c. Coloring Region (Pewarnaan Wilayah)

Pewarnaan wilayah adalah cara pemberian warna pada setiap region pada

graph sehingga tidak ada region yang bersebelahan yang memiliki warna yang

sama.

Komponen utama dalam pewarnaan graph ada 3, yaitu: a. Vertex (vertek)

Vertex merupakan objek yang diperhatikan.

b. Edge (garis)

Edge merupakan penghubung dari pasangan objek (vertex) yang konflik.

c. Color (warna)

Objek (vertex) konflik diberikan warna yang berbeda.

Masalah-masalah yang dapat dimodelkan dengan menggunakan metode pewarnaan graph, antara lain masalah penjadualan, termasuk masalah penjadualan mata kuliah dan penjadualan ujian, masalah pengalokasian register, masalah penempatan frekuensi, dan lain-lain.

(11)

2.3.3.2 Metode Pewarnaan Graph pada Penjadualan Mata Kuliah

Salah satu aplikasi penting dari graph coloring adalah penjadualan. Banyak permasalahan dalam penjadualan yang melibatkan berbagai macam batasan pada objek dalam hal ini matakuliah yang akan dijadwalkan bersamaan (pada waktu periode yang sama). Sudah sangat jelas kalau dua matakuliah tidak dapat diajar oleh pengajar yang sama pada saat yang bersamaan dan juga dua matakuliah yang menempati ruang kelas yang sama harus dijadwalkan pada waktu yang berbeda. Oleh karena itu, masalah yang melibatkan jumlah waktu minimum dalam penjadualan dengan berbagai macam batasan dapat dikategorikan dalam masalah graph coloring.

Masalah penjadualan mata kuliah pada graph coloring adalah membagi mata kuliah yang direpresentasikan sebagai vertex ke dalam jumlah minimum suatu tempat sehingga tidak ada vertex yang bertetanggaan (vertex bertetanggaan ditandai dengan adanya edge antara dua vertex) dijadwalkan pada waktu yang sama. Kemudian warna yang berbeda diberikan kepada vertex yang bertetanggaan tersebut.

Diberikan contoh masalah pewarnaan graph sederhana, seperti yang diperlihatkan pada Tabel 2.1. Misalkan ada lima mata kuliah, yaitu a, b, c, d, dan e, yang akan dijadwalkan bersamaan dengan konfliknya. Angka 0 menunjukkan tidak adanya konflik antara dua pasang mata kuliah, sedangkan angka 1 menunjukkan adanya konflik antara 2 pasang mata kuliah jika mata kuliah dijadwalkan pada waktu yang sama.

Tabel 2.1 Penjadualan Mata Kuliah

a b c d e a 0 1 1 1 0 b 1 0 1 1 1 c 1 1 0 1 0 d 1 1 1 0 1 e 0 1 0 1 0

(12)

Berdasarkan Tabel 2.1, dapat dibuat jadwal mata kuliah bebas konflik dengan mengubah Tabel 2.1 ke dalam graph G dan menemukan pewarnaan minimum. Vertex pada graph G merepresentasikan mata kuliah, edge merepresentasikan pasangan dari mata kuliah yang akan dijadwalkan, dan warna merepresentasikan waktu atau periode dimana mata kuliah akan dijadwalkan. Dari Tabel 2.1 dapat dihasilkan graph seperti pada Gambar 2.4.

Gambar 2.4 Graph Sederhana Jadwal Mata Kuliah Graph Bebas Konflik

Gambar 2.4 memperlihatkan bahwa dapat dibuat graph bebas konflik jadwal mata kuliah dengan χ(G) = 4. Berdasarkan pewarnaan, kita dapat menjadwalkan mata kuliah a untuk waktu atau periode pertama, mata kuliah b untuk waktu kedua, mata kuliah c dan e untuk waktu ketiga, serta mata kuliah d untuk waktu keempat. Jadi, untuk jadwal mata kuliah berdasarkan Tabel 2.1, hanya diperlukan empat periode waktu dalam satu hari.

2.3 Algoritma Greedy

Algoritma greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi. Persoalan optimasi (optimization problems) yaitu suatu persoalan yang mencari solusi optimasi. Hanya ada dua macam dalam persoalan optimasi, yaitu maksimasi (maximization) dan minimasi (minimization). Solusi optimum (terbaik) adalah solusi yang bernilai minimum atau maksimum dari sekumpulan alternatif solusi yang mungkin.

(13)

Algoritma greedy memiliki dua elemen, yaitu aturan/batasan (constraints) dan fungsi objektif (fungsi optimasi). Solusi yang memenuhi semua kendala disebut solusi layak (feasible solution). Solusi layak yang mengoptimumkan fungsi optimasi disebut solusi optimum.

Sesuai dengan namanya, greedy yang artinya tamak, rakus, prinsip algoritma

greedy adalah “take what you can get now!”. Algoritma greedy membentuk solusi

langkah per langkah (step by step). Pada setiap langkahnya, algoritma ini mengambil pilihan terbaik yang dapat diperoleh pada saat itu tanapa memperhatikan konsekuensi ke depan. Pilihan yang telah diambil pada suatu langkah tidak dapat diubah lagi pada langkah selanjutnya.

Pendekatan yang digunakan di dalam algoritma greedy adalah membuat pilihan yang “tampaknya” memberikan perolehan terbaik, yaitu dengan membuat pilihan optimum lokal (local optimum) pada setiap langkah dengan harapan bahwa sisanya mengarah ke solusi optimum global (global optimum). Oleh karena itu, algoritma greedy sering berguna untuk menghasilkan solusi hampiran (approximation) (Munir, 2006, hal: 1-3). Algoritma greedy disusun oleh elemen-elemen berikut:

a. Himpunan kandidat.

Berisi elemen-elemen pembentuk solusi. b. Himpunan solusi

Berisi kandidat-kandidat yang terpilih sebagai solusi persoalan. c. Fungsi seleksi (selection function)

Memilih kandidat yang paling memungkinkan mencapai solusi optimal. Kandidat yang sudah dipilih pada suatu langkah tidak pernah dipertimbangkan lagi pada langkah selanjutnya.

d. Fungsi kelayakan (feasible)

Memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala (constraints) yang ada. Kandidat yang layak dimasukkan ke dalam himpunan solusi, sedangkan kandidat yang tidak layak dibuang dan tidak pernah dipertimbangkan lagi.

(14)

e. Fungsi obyektif

Fungsi yang memaksimumkan atau meminimumkan nilai solusi (misalnya panjang lintasan, keuntungan, dan lain-lain).

2.4 Heuristic

Algoritma heuristic atau heuristic adalah sebuah algoritma yang mampu menghasilkan solusi yang dapat diterima untuk suatu masalah yang memiliki banyak skenario praktis, tetapi tidak ada bukti formal akan ketepatannya. Secara alternatif, cara ini mungkin benar, tetapi tidak dapat dibuktikan menghasilkan solusi yang optimal. Heuristic biasanya digunakan ketika tidak ada metode yang dikenal untuk menemukan solusi yang optimal dalam batasan-batasan yang diberikan.

2.5 Graph Coloring Heuristic

Ada beberapa teknik heuristik untuk mewarnai graph. Salah satunya ada graph

coloring heuristic. Graph coloring heuristic mengambil tiap vertex dengan beberapa

urutan tertentu dan mencoba mewarnai vertex dengan salah satu kelas warna yang ada. Jika tidak mungkin untuk mewarnai dengan kelas warna yang ada, maka kelas warna yang baru dibuat dan vertex diwarnai dengan kelas warna baru. Sekali vertex diwarnai, maka warna tidak pernah berubah.

Skema umum dari graph coloring heuristic, sebagai berikut: a. Ambil satu vertex dan berikan warna.

b. Pertimbangkan vertex yang lain, dan berikan warna yang sama jika memungkinkan, dengan kata lain hanya vertex yang tidak bertetanggaan yang diberikan warna sama. Jika tidak berikan warna yang lain.

(15)

2.6 Microsoft Visual C#.NET

Microsoft Visual C#.NET adalah salah satu bahasa pemrograman yang ada di dalam paket Microsoft Visual Studio 2008. Visual C#.NET adalah bahasa pemrograman terbaru yang memadukan kelebihan Java, C, dan C++. Kelebihan Visual C#.NET dibandingkan Visual Basic.NET adalah dalam hal kemampuan mewarisi sifat-sifat yang unggul dari Java, C++, dan kecepatan eksekusi yang lebih tinggi.

Keuntungan menggunakan Microsoft Visual C#.NET antara lain sebagai berikut (Jaenudin, 2005, hal: 17):

1. Mengatasai semua masalah yang sulit disekitar pengembangan aplikasi berbasis windows dan menghilangkan penggunaan DLL serta versi komponen, apalagi mewarisi sifat C++ dan Java.

2. Mempunyai fasilitas penangan bug yang hebat dan real time background

compiler, membuat developer visual c# dapat mengetahui kesalahan kode

yang terjadi secara up to date.

3. Windows form designer memungkinkan developer memperoleh aplikasi desktop dalam waktu yang singkat.

4. Menyediakan bagi developer modem pemrograman data akses, ActiveX

Data Object (ADO) yang sudah dikenali dan diminati, ditambah dengan

XML baru yang berbasiskan Microsoft ADO.NET. dengan ADO.NET,

developer akan memperoleh akses ke komponen yang lebih powerful,

seperti control DataSet.

5. Mendukung pembangunan aplikasi client-server, terdistribusi, serta aplikasi yang berbasiskan windows serta web.

2.7 XML (eXtensible Markup Language)

XML kependekan dari eXtensible Markup Language, dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada bulan Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan

(16)

pada dokumentasi teknis proyek-proyek berskala besar. Ketika HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML. (Junaedi, 2003, hal: 1)

XML (eXtensible Markup Language) adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen melalui penggunaan tag. XML merupakan sebuah bahasa markup yang digunakan untuk mengolah metadata (informasi tentang data) yang menggambarkan struktur dan maksud/tujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML juga dapat digunakan untuk mendefinisikan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain-lain yang menggunakan bahasa markup terstruktur. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan yang lain.

XML merupakan sebuah format yang dapat digunakan untuk pertukaran data (interchange) antar aplikasi dan platform yang berbeda. Metode deskripsi data XML (self-describing) membuatnya menjadi pilihan efektif untuk solusi antar

jaringan,e-business, dan aplikasi terdistribusi. XML juga bersifat dapat diperluas (extensible),

dapat digunakan pada semua bahasa pemrograman, dan datanya dapat ditransfer dengan mudah melalui protokol standar internet seperti HTTP tanpa dibatasi oleh

firewall.

Sebuah dokumen XML terdiri dari bagian-bagian yang disebut dengan node.

Node-node itu adalah:

a. Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node.

b. Element node yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen

(17)

kosong seperti <anggota nama=”budi”/>. Root node biasa juga disebut root

element.

c. Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.

d. Text node, adalah teks yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup.

e. Comment node adalah baris yang tidak dieksekusi oleh parser.

f. Processing Instruction node, adalah perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml version=”1.0” encoding=”iso-8859-1”?> bukanlah processing instruction node. Header

standard bukanlah bagian dari hirarki pohon dokumen XML.

Gambar

Gambar 2.1 Jembatan Konigsberg
Gambar 2.2 Model Graph Jembatan Konigsberg
Gambar 2.3 Graph yang memiliki χ(G) = 4
Tabel 2.1 Penjadualan Mata Kuliah   a b c d e  a  0 1  1 1  0  b  1 0  1 1  1  c  1 1  0 1  0  d  1 1  1 0  1  e  0 1  0 1  0
+2

Referensi

Dokumen terkait

Ribarstvo je jedna od najvažnijih i perspektivnijih grana gospodarstva, a na području Istarske županije ima dugu tradiciju. Postojeći resursi i prostorno planinski uvjeti omogućuju

Yaitu situs pembelajaran yang berbasis internet, artikel, rancangan pengajaran dan lain – lainnya.. Berdasarkan pembahasan diatas, nampaklah bagi kita bahwa kehadiran internet

Ada beberapa permasalahan yang timbul dalam Jobs, seperti bagaimana meningkatkan jobs yang ada pada saat ini untuk peningkatan produktivitas, bagaimana kelompok

Bagi guru, diharapkan pembelajaran matematika interaktif berbasis komputer ini dapat membantu guru dalam menyampaikan materi matematika pada siswa dan dapat menciptakan

PSDKP yang didelegasikan ke Dinas Kelautan dan Perikanan Provinsi, berupa 1.119 POKMASWAS yang aktif membantu kegiatan pengawasan SDKP, dengan rincian

Untuk kelompok mahasiswa yang memiliki akreditasi PS S1 B atau C dipisahkan lagi secara bertahap oleh status perguruan tinggi asal, jenis kelamin, sumber biaya pendidikan dan

 Lonceng Pertama, 1 jam sebelum Ibadah, 13 kali 3, Lonceng di luar  Lonceng Kedua, 30 menit sebelum Ibadah, 9 kali 3, Lonceng di luar  Lonceng Ketiga, Saat Ibadah di mulai,

Hasil penelitian ini menunjukkan bahwa pengetahuan yang dimiliki oleh nasabah mengenai aqad bagi hasil (mudharabah) deposito syari’ah memang mempunyai pengaruh