• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN PERANCANGAN. Subbab ini akan berisi pembahasan mengenai cara kerja algoritma Welch-

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB III ANALISIS DAN PERANCANGAN. Subbab ini akan berisi pembahasan mengenai cara kerja algoritma Welch-"

Copied!
27
0
0

Teks penuh

(1)

BAB III

ANALISIS DAN PERANCANGAN

3.1 ANALISIS

Subbab ini akan berisi pembahasan mengenai cara kerja algoritma Welch- Powell dalam mewarnai simpul graf dan implementasinya dalam penyusunan jadwal ujian mata kuliah.

3.1.1 Analisis Kebutuhan Sistem

Analisis kebutuhan sistem merupakan proses identifikasi dan evaluasi permasalahan-permasalahan yang ada, sehingga sistem yang dibangun sesuai dengan kriteria yang diharapkan.

Algoritma Welch-Powell akan diterapkan pada studi kasus penjadwalan ujian mata kuliah. Oleh karena itu, aplikasi yang dihasilkan, harus memenuhi kebutuhan sebagai berikut:

1. Aplikasi akan menerima input berupa Nim dan nama mahasiswa, kode matakuliah dan nama mata kuliah yang diujikan dan daftar ujian mata kuliah yang diikuti / diambil oleh para mahasiswa.

2. Aplikasi harus mampu melakukan penjadwalan waktu ujian mata kuliah dengan menggunakan algoritma Welch-Powell. Output dari aplikasi adalah berupa serangkaian aturan yang harus dituruti dalam pembuatan jadwal ujian mata kuliah.

Contohnya: waktu ujian mata kuliah-1 tidak boleh bersamaan dengan ujian mata kuliah-3, dan seterusnya. Dengan aturan ini, akan dihasilkan jadwal ujian mata

(2)

kuliah yang seminimal mungkin dan tidak berbenturan antar mahasiswa yang mengikutinya.

3. Aplikasi harus mampu menampilkan langkah-langkah pewarnaan graf dengan algoritma Welch-Powell di dalam penerapannya pada penjadwalan ujian mata kuliah.

4. Aplikasi harus dapat menyimpan dan membuka kembali data yang pernah disimpan sebelumnya ke database.

3.1.2 Analisis Proses Pewarnaan Simpul Graf dengan Welch-Powell

Untuk mewarnai graf dengan menggunakan algoritma Welch-Powell, penulis melakukan hal berikut:

1. Urutkan semua simpul berdasarkan derajat simpul.

Pengurutan simpul dilakukan berdasarkan derajat simpul secara menurun (descending) atau dari derajat simpul paling tinggi ke derajat simpul paling rendah.

Derajat simpul adalah banyaknya garis yang berhubungan dengan simpul tersebut.

2. Warnai simpul dengan warna baru.

Ambil simpul berderajat tertinggi yang belum diwarnai dan berikan satu warna baru pada simpul tersebut.

3. Warnai simpul tetangga.

Berikan warna yang sama pada simpul lainnya yang tidak bertetangga (tidak terhubung) dengan simpul pada poin no-2.

4. Apabila masih ada simpul yang belum diwarnai, maka ulangi poin no-2 dan poin no- 3, hingga semua simpul terwarnai.

(3)

Proses kerja pewarnaan graf ini dapat digambarkan dalam bentuk flowchart, seperti terlihat pada gambar 3.1 berikut:

START

Urutkan semua simpul berdasarkan derajat simpul secara menurun (dari derajat tertinggi sampai terendah)

Ambil simpul berderajat tertinggi yang belum diwarnai dan berikan warna baru

pada simpul tersebut

Apakah terdapat simpul yang tidak bertetangga ?

Warnai semua simpul yang tidak bertetangga dengan warna yang sama

Ya

Apakah masih terdapat simpul yang belum diwarnai ?

Tidak

END Tidak Ya

Gambar 3.1 Flowchart Pewarnaan dengan Algoritma Welch Powell

Agar lebih jelas dalam proses pewarnaan graf dengan algoritma Welch-Powell, perhatikan contoh graf pada gambar 3.2 berikut:

A

D

B C

G

E F H

Gambar 3.2 Contoh Graf

(4)

Hasil pengurutan derajat simpul secara menurun pada gambar 3.2 adalah sebagai berikut:

1. Simpul E memiliki derajat sebesar 5 (ditandai dengan adanya lima sisi yang terhubung dengan simpul).

2. Simpul C memiliki derajat sebesar 4.

3. Simpul B, D dan F memiliki derajat sebesar 3.

4. Simpul A, H dan G memiliki derajat sebesar 2.

Proses pewarnaan graf yang dilakukan pada gambar 3.2 adalah sebagai berikut:

1. Ambil simpul berderajat tertinggi yang belum diwarnai, dalam hal ini adalah simpul E, dan berikan warna baru pada simpul tersebut. Misalkan, kita memberikan warna biru pada simpul E. Prosesnya dapat dilihat pada gambar 3.3

A

D

B C

G

E F H

(simpul = 5) (4)

(2) (3)

(3)

(3)

(2) (2)

Simpul tertinggi dan berikan warna biru Gambar 3.3 Warnai Simpul E

2. Berikan warna biru juga pada simpul yang tidak bertetangga (simpul yang tidak terhubung langsung) dengan simpul E, yaitu simpul A dan simpul G. Prosesnya dapat dilihat pada gambar 3.4

(5)

A

D

B C

G

E F H

(5)

(4)

(2) (3)

(3)

(3)

(2) (2)

Berikan warna biru pada simpul yang tidak bertetangga

dengan simpul E

Gambar 3.4 Warnai Simpul A dan simpul G

3. Selanjutnya, ambil simpul berderajat tertinggi berikutnya yang belum diwarnai.

Dalam hal ini adalah simpul C dengan derajat sebesar 4. Berikan warna merah pada simpul tersebut. Prosesnya dapat dilihat pada gambar 3.5

A

D

B C

G

E F H

(5)

(4)

(2) (3)

(3)

(3)

(2) (2)

Simpul tertinggi berikutnya yang belum diwarnai dan berikan warna merah

Gambar 3.5 Warnai Simpul C

4. Berikan warna merah juga pada simpul yang tidak bertetangga (simpul yang tidak terhubung langsung) dengan simpul C, yaitu simpul D. Simpul H tidak diwarnai karena bertetangga dengan simpul D. Prosesnya dapat dilihat pada gambar 3.6

(6)

A

D

B C

G

E F H

(5)

(4)

(2) (3)

(3)

(3)

(2) (2)

Berikan warna merah pada simpul yang tidak bertetangga

dengan simpul C

Gambar 3.6 Warnai Simpul D

5. Selanjutnya, ambil simpul berderajat tertinggi berikutnya yang belum diwarnai.

Dalam hal ini adalah simpul B dengan derajat sebesar 3. Berikan warna hijau pada simpul tersebut. Prosesnya dapat dilihat pada gambar 3.7

A

D

B C

G

E F H

(5)

(4)

(2) (3)

(3)

(3)

(2) (2)

Simpul tertinggi berikutnya yang belum diwarnai dan berikan warna hijau

Gambar 3.7 Warnai Simpul B

6. Berikan warna hijau juga pada simpul yang tidak bertetangga (simpul yang tidak terhubung langsung) dengan simpul B, yaitu simpul F dan simpul H. Prosesnya dapat dilihat pada gambar 3.8

(7)

A

D

B C

G

E(5) F

(4)

(3)

(3)

(3)

(2) (2)

Berikan warna hijau pada simpul yang tidak bertetangga dengan simpul B

H(2)

Gambar 3.8 Warnai Simpul F dan H

3.1.3 Analisis Proses Penjadwalan Ujian Mata Kuliah

Salah satu implementasi dari pewarnaan graf dengan algoritma Welch-Powell adalah dalam menentukan jadwal ujian. Misalkan terdapat 12 orang mahasiswa (1, 2,

…, 12) dan 8 mata kuliah yang dapat dipilihnya (A, B, C, …, H). Tabel 3.1 berikut memperlihatkan matriks delapan mata kuliah dan sepuluh orang mahasiswa. Karakter

“X” pada elemen (i, j) menyatakan bahwa mahasiswa ke-i memilih mata kuliah ke-j, sedangkan Karakter “-“ menyatakan mahasiswa ke-i tidak memilih mata kuliah ke-j.

Tabel 3.1 Daftar Ujian Mata Kuliah yang Diambil oleh Mahasiswa

A B C D E F G H

1 X X - - - -

2 X - - X - - - -

3 - X - - X - - -

4 - X X - - - - -

5 - - X - X - - -

6 - - X - - X - -

7 - - X - - - X -

8 - - - X X - - -

9 - - - X - - - X

10 - - - - X X - -

11 - - - - X - - X

12 - - - X X -

(8)

Berdasarkan tabel 3.1, pihak universitas ingin menentukan jadwal ujian sedemikian rupa sehingga semua mahasiswa dapat mengikuti ujian mata kuliah yang diambilnya tanpa bertabrakan waktunya dengan jadwal ujian mata kuliah lain yang juga diambilnya.

Secara singkat, jika ada mahasiswa yang mengambil dua mata kuliah atau lebih, jadwal ujian mata kuliah tersebut harus pada waktu yang tidak bersamaan. Ujian dua buah mata kuliah dapat dijadwalkan pada waktu yang sama jika tidak ada mahasiswa yang sama yang mengikuti ujian dua mata kuliah itu. Selain ingin mencegah jadwal ujian bertabrakan, pihak universitas juga ingin mengatur agar jumlah hari yang dibutuhkan untuk menyelenggarakan ujian adalah yang paling minimal, sehingga dapat menghemat waktu penyelenggaraan ujian tersebut.

Penyelesaian permasalahan menentukan jadwal ujian semua mata kuliah sama dengan menggambarkan graf yang menyatakan penjadwalan ujian. Simpul-simpul pada graf menyatakan mata kuliah, sedangkan sisi yang menghubungkan dua buah simpul menyatakan ada mahasiswa yang memilih kedua mata kuliah tersebut. Graf yang merepresentasikan persoalan pada tabel 3.1 ditunjukkan pada gambar 3.9

A

D

B C

G

E F H

(5)

(4)

(2) (3)

(3)

(3)

(2) (2)

Gambar 3.9 Graf Penjadwalan Ujian 8 Mata Kuliah untuk 12 orang mahasiswa Berdasarkan graf pada gambar 3.9, dapat disimpulkan bahwa apabila terdapat dua buah simpul yang dihubungkan oleh sisi, maka ujian kedua mata kuliah tersebut tidak dapat dibuat pada waktu yang sama. Warna-warna yang berbeda dapat diberikan pada

(9)

simpul graf yang akan menunjukkan bahwa waktu ujiannya berbeda. Dibutuhkan jadwal ujian yang sesedikit mungkin untuk menghemat waktu pelaksanaan ujian.

Dengan mengikuti langkah-langkah pewarnaan graf dengan algrotima Welch-Powell pada subbab 3.1.2, akan didapatkan pewarnaan simpul graf seperti terlihat pada gambar 3.10 berikut:

A

D

B C

G

E(5) F

(4)

(3)

(3)

(3)

(2) (2)

H(2)

Gambar 3.10 Hasil Pewarnaan pada Simpul Graf

Kesimpulan penjadwalan ujian yang dapat dilihat pada gambar 3.10 adalah sebagai berikut:

1. Ujian mata kuliah A, E dan G (warna simpul biru) dapat dilaksanakan secara bersamaan. Sebagai contoh: Senin, 2 November 2009, pukul: 10:00.

2. Ujian mata kuliah C dan D (warna simpul merah) dapat dilaksanakan secara bersamaan. Sebagai contoh: Senin, 2 November 2009, pukul: 13:00.

3. Ujian mata kuliah B, F dan H (warna simpul hijau) dapat dilaksanakan secara bersamaan. Sebagai contoh: Senin, 2 November 2009, pukul: 18:00.

Dengan demikian, berarti terdapat 3 waktu pelaksanaan ujian mata kuliah yang harus diselenggarakan oleh pihak universitas. Untuk graf dengan jumlah simpul sedikit, mungkin kita dapat menentukan graf dan mewarnai simpulnya dengan mudah. Namun, untuk graf dengan simpul yang besar, dibutuhkan pembuatan aplikasi untuk menentukan graf dan mewarnai semua simpulnya.

(10)

3.1.4 Analisis Perancangan Sistem

Perancangan Sistem adalah penggambaran, perancangan dan pembuatan sketsa. Diagram konteks dari proses penjadwalan ujian mata kuliah ini dapat dilihat pada gambar 3.11 Pada gambar tersebut, yang menjadi entitas adalah user (pengguna aplikasi). Di sini, user bisa berupa staff administrasi kampus atau staff lainnya yang bertugas untuk meng-input daftar ujian mata kuliah.

0

Proses Penjadwalan Ujian Mata Kuliah User

Data Mata Kuliah

(Jumlah dan nama mata kuliah yang diujikan)

Daftar Ujian Mata Kuliah (Ujian mata kuliah yang diikuti oleh mahasiswa)

Data Mahasiswa (Jumlah dan nama mahasiswa)

Hasil Penjadwalan

Gambar 3.11 Diagram Konteks Proses Penjadwalan Ujian Mata Kuliah

3.2 DIAGRAM USE CASE

Berdasarkan spesifikasi kebutuhan, maka dapat didefinisikan fungsionalitas sistem sebagai berikut. Gambar 3.16 menunjukkan use case dari sistem.

(11)

USER

Input Data Mata Kuliah

Input Banyak Mata Kuliah

<< include >>

<<

extend

>>

Penjadwalan Ujian Mata Kuliah Menggunakan Algoritma Welch-Powell

Input Kode dan Nama Mata Kuliah

Input Data Mahasiswa

Input Banyak Mahasiswa

Input NIM dan Nama Mahasiswa

<< include >>

<<

extend

>>

Input Daftar Ujian Mata Kuliah

Simpan Daftar Ujian

<< uses >>

<< uses >>

<<

uses

>>

Buka Daftar Ujian

Penjadwalan Ujian

Mata Kuliah << uses >>

Gambar 3.12 Diagram Use Case dari Aplikasi

Gambar 3.16 menunjukkan bahwa use case dari sistem yang terdiri dari seorang aktor yaitu user. User bisa berupa pengguna aplikasi, staff administrasi kampus atau staff lainnya yang bertugas untuk meng-input daftar ujian mata kuliah. Adapun narasi dari use case dapat dilihat pada tabel 3.2

Tabel 3.2 Narasi Use Case

Nama use case Input Banyak Mata Kuliah

Aktor User

Deskripsi Use case ini mendeskripsikan proses input banyak mata kuliah.

Prakondisi Tabel mata kuliah masih kosong dan tabel daftar ujian mata kuliah masih tidak memiliki kolom.

(12)

Sasaran Use case ini diawali saat user ingin menentukan banyaknya mata kuliah yang diujikan.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User mengklik combobox ”Jumlah Mata Kuliah”.

3. User mengklik salah satu pilihan pada combobox.

2. Sistem menampilkan pilihan dari 2 sampai 100 buah mata kuliah pada combobox.

4. Sistem menyesuaikan jumlah baris pada tabel mata kuliah dan jumlah kolom pada tabel daftar ujian mata kuliah dengan pilihan pada combobox.

Bidang alternatif

Alt langkah 3: User tidak mengklik pilihan pada combobox.

Alt langkah 4: Sistem tidak menyesuaikan jumlah baris pada tabel nama mata kuliah dan jumlah kolom pada tabel daftar ujian mata kuliah.

Kesimpulan Use case ini mengatur jumlah baris pada tabel mata kuliah dan jumlah kolom pada tabel daftar ujian mata kuliah.

Postkondisi Jumlah baris pada tabel mata kuliah dan jumlah kolom pada tabel daftar ujian mata kuliah disesuaikan dengan banyaknya mata kuliah yang diujikan.

Nama use case Input Kode dan Nama Mata Kuliah

Aktor User

Deskripsi Use case ini mendeskripsikan input kode dan nama mata kuliah.

Prakondisi sutasKode dan nama mata kuliah masih kosong. Header kolom dari tabel daftar ujian juga kosong.

Sasaran Use case ini diawali saat user ingin memasukkan nama- nama dari mata kuliah yang diujikan.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User memasukkan kode dan nama mata kuliah pada tabel.

3. User mengetikkan kode mata kuliah lebih dari 10 karakter dan nama mata kuliah lebih dari 50 karakter.

2. Sistem menampilkan kode dan nama mata kuliah pada tabel mata kuliah. Kode mata kuliah juga ditampilkan pada kolom tabel daftar ujian.

4. Sistem tidak menampilkan karakter selanjutnya, karena kode mata kuliah dibatasi maksimal 10 karakter dan nama mata kuliah dibatasi maksimal 50 karakter.

Kesimpulan Use case ini menampilkan dan menyimpan kode dan nama untuk setiap mata kuliah yang diujikan. Kode mata kuliah dibatasi maksimal 10 karakter dan nama mata kuliah dibatasi 50 karakter.

(13)

Postkondisi Kode dan nama mata kuliah yang dimasukkan, ditampilkan pada tabel mata kuliah. Kode mata kuliah juga ditampilkan pada setiap header kolom dari tabel Daftar Ujian / Partisipasi.

Nama use case Input Banyak Mahasiswa

Aktor User

Deskripsi Use case ini mendeskripsikan input banyak mahasiswa.

Prakondisi Tabel mahasiswa masih kosong dan tabel daftar ujian mata kuliah masih tidak memiliki baris.

Sasaran Use case ini diawali saat user ingin menentukan banyaknya mahasiswa yang mengikuti ujian.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User mengklik combobox ”Jumlah Mahasiswa”.

3. User mengklik salah satu pilihan pada combobox.

2. Sistem menampilkan pilihan dari 2 sampai 1000 orang mahasiswa pada combobox.

4. Sistem menyesuaikan jumlah baris pada tabel mahasiswa dan jumlah baris pada tabel daftar ujian mata kuliah dengan pilihan pada combobox.

Bidang alternatif

Alt langkah 3: User tidak mengklik pilihan pada combobox.

Alt langkah 4: Sistem tidak menyesuaikan jumlah baris pada tabel mahasiswa dan jumlah baris pada tabel daftar ujian mata kuliah.

Kesimpulan Use case ini mengatur jumlah baris pada tabel mahasiswa dan jumlah baris pada tabel daftar ujian mata kuliah.

Postkondisi Jumlah baris pada tabel mahasiswa dan jumlah baris pada tabel daftar ujian mata kuliah disesuaikan dengan banyaknya mata kuliah yang diujikan.

Nama use case Input NIM dan Nama Mahasiswa

Aktor User

Deskripsi Use case ini mendeskripsikan proses input NIM dan nama mahasiswa.

Prakondisi NIM dan nama mahasiswa masih kosong. Header baris dari tabel daftar ujian juga kosong.

Sasaran Use case ini diawali saat user ingin memasukkan NIM dan nama-nama mahasiswa yang mengikuti ujian.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User memasukkan NIM dan nama mahasiswa pada tabel.

2. Sistem menampilkan NIM dan nama mahasiswa pada tabel mahasiswa. NIM mahasiswa juga tertera pada header setiap baris dari tabel daftar ujian.

4. Sistem tidak menampilkan

(14)

3. User mengetikkan NIM lebih dari 10 karakter dan nama mahasiswa yang lebih dari 50 karakter.

karakter selanjutnya, karena NIM dibatasi maksimal 10 karakter dan nama mahasiswa dibatasi maksimal 50 karakter.

Kesimpulan Use case ini menampilkan dan menyimpan NIM dan nama untuk setiap mahasiswa yang mengikuti ujian. NIM dibatasi maksimal 10 karakter dan nama mahasiswa dibatasi maksimal 50 karakter.

Postkondisi Kode dan nama mahasiswa yang mengikuti ujian, ditampilkan pada tabel mahasiswa. Nama mahasiswa juga ditampilkan pada setiap header baris dari tabel Daftar Ujian / Partisipasi.

Nama use case Input Daftar Ujian Mata Kuliah

Aktor User

Deskripsi Use case ini mendeskripsikan proses input daftar ujian mata kuliah.

Prakondisi Tabel daftar ujian mata kuliah masih kosong dan semua cell di dalam tabel masih berisi karakter ”-”.

Sasaran Use case ini diawali saat user ingin memasukkan daftar ujian mata kuliah yang diikuti oleh setiap mahasiswa.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User menekan sembarang tombol pada salah satu cell

yang memiliki karakter ”-” dalam tabel daftar ujian.

3. User menekan sembarang tombol pada salah satu cell

yang memiliki karakter ”X” dalam tabel daftar ujian.

2. Sistem akan menampilkan karakter ”X” pada cell tersebut. Ini berarti mahasiswa dengan baris ke-i pada tabel mengikuti ujian mata kuliah dengan kolom ke-j pada tabel daftar ujian.

4. Sistem akan menampilkan karakter ”-” pada cell tersebut.

Kesimpulan Use case ini mengatur input daftar ujian mata kuliah yang diikuti oleh mahasiswa.

Postkondisi Tabel daftar ujian mata kuliah telah terisi.

Nama use case Simpan Daftar Ujian

Aktor User

Deskripsi Use case ini mendeskripsikan proses penyimpanan daftar ujian beserta dengan data mata kuliah dan data mahasiswa.

Prakondisi Daftar ujian, data mata kuliah dan data mahasiswa belum tersimpan.

(15)

Sasaran Use case ini diawali saat user ingin menyimpan daftar ujian, data mata kuliah dan data mahasiswa ke database.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User menekan

tombol ”Simpan Daftar”.

3. User memasukkan nama daftar dan menekan tombol

”Simpan”.

2. Sistem membuka tampilan simpan data.

4. Sistem menyimpan daftar ujian, data mata kuliah dan data mahasiswa ke dalam database.

Bidang Alternatif

Alt langkah 3: User menekan tombol ”Batal”.

Alt langkah 4: Sistem membatalkan penyimpanan data.

Kesimpulan Use case ini melakukan penyimpanan daftar ujian, data mata kuliah dan data mahasiswa ke database.

Postkondisi Daftar ujian, data mata kuliah dan data mahasiswa yang telah di-input disimpan ke dalam database.

Nama use case Buka Daftar Ujian

Aktor User

Deskripsi Use case ini mendeskripsikan proses pembukaan daftar ujian, data mata kuliah dan data mahasiswa dari database.

Prakondisi Tabel nama mata kuliah, nama mahasiswa dan daftar ujian masih kosong.

Sasaran Use case ini diawali saat user ingin membuka daftar ujian, data mata kuliah dan data mahasiswa yang sudah pernah disimpan sebelumnya.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User menekan

tombol ”Buka Daftar”.

3. User mengklik salah satu nama daftar ujian pada tabel dan menekan tombol

”Buka”.

2. Sistem membuka tampilan buka data dengan tabel berisi list nama daftar ujian.

4. Sistem memanggil record daftar ujian, data mata kuliah dan data mahasiswa dari dalam database, sesuai dengan nama daftar ujian yang terpilih. Kemudian, sistem mengisi tabel mata kuliah, tabel mahasiswa dan tabel daftar ujian sesuai dengan record yang dibuka.

Bidang alternatif

Alt langkah 3 : User menekan tombol ”Batal”.

Alt langkah 4 : Sistem membatalkan pembukaan data.

Kesimpulan Use case ini membuka kembali daftar ujian, data mata kuliah dan data mahasiswa yang telah tersimpan ke database.

Postkondisi Tabel nama mata kuliah, nama mahasiswa dan daftar ujian sudah terisi.

Nama use case Penjadwalan Ujian Mata Kuliah

Aktor User

Deskripsi Use case ini mendeskripsikan proses penjadwalan ujian.

(16)

Prakondisi Belum terdapat penjadwalan ujian mata kuliah.

Sasaran Use case ini diawali saat user ingin menghasilkan penjadwalan yang seminimal mungkin dan tidak bentrok satu sama lain dari daftar ujian yang telah di-input.

Aksi Aktor Respons Sistem Bidang khas

suatu event

1. User mengklik tombol ’Tampilkan Hasil Penjadwalan Ujian’.

3. User memasukkan tanggal dan waktu untuk mewakili warna yang dihasilkan.

2. Sistem menjalankan proses penjadwalan dan menampilkan hasil pewarnaan untuk setiap mata kuliah pada tampilan hasil penjadwalan.

4. Jadwal ujian untuk mata kuliah akan ter-update dengan tanggal dan waktu, sesuai dengan warna yang dimiliki.

Kesimpulan Use case ini melakukan penjadwalan ujian terhadap data yang telah di-input.

Postkondisi Proses penjadwalan ujian mata kuliah dijalankan dan menghasilkan tanggal dan waktu penjadwalan.

3.3 PERANCANGAN

Perancangan aplikasi penjadwalan ujian mata kuliah dengan algoritma Welch- Powell menggunakan bahasa pemrograman Microsoft Visual Basic 6.0 dan Microsoft Access 2003 sebagai database engine untuk menyimpan data penjadwalan.

3.3.1 Perancangan Database

Dalam database yang digunakan, terdapat 5 (lima) buah tabel, yaitu:

1. Tabel ”ListDaftarUjian”.

Tabel ini berfungsi untuk menyimpan semua nama daftar ujian yang pernah di-input dan disimpan oleh user. Struktur tabelnya adalah sebagai berikut.

Tabel 3.3 Struktur Tabel ”ListDaftarUjian”

No. Field Name Data Type Field Size

1. IndeksDaftar Number Integer

2. NamaDaftar Text 30

(17)

Field ”NamaDaftar” adalah nama daftar ujian yang diberikan oleh user, sedangkan Field ”IndeksDaftar” adalah nomor urut yang dihasilkan program secara otomatis sebagai representasi dari setiap nama daftar ujian.

2. Tabel ”Mahasiswa”.

Tabel ini berfungsi untuk menyimpan nama-nama mahasiswa dalam sebuah daftar ujian. Struktur tabelnya adalah sebagai berikut:

Tabel 3.4 Struktur Tabel ”Mahasiswa”

No. Field Name Data Type Field Size

1. IndeksDaftar Number Integer

2. NIM Text 10

3. NamaMahasiswa Text 50

Field ”IndeksDaftar” adalah indeks daftar ujian dimana mahasiswa di-input. Field

”NIM” adalah nomor indeks mahasiswa, dan Field ”NamaMahasiswa” adalah nama dari mahasiswa.

3. Tabel ”MataKuliah”.

Tabel ini berfungsi untuk menyimpan nama-nama mata kuliah dalam sebuah daftar ujian. Struktur tabelnya adalah sebagai berikut.

Tabel 3.5 Struktur Tabel ”MataKuliah”

No. Field Name Data Type Field Size

1. IndeksDaftar Number Integer

2. KodeMataKuliah Text 10

3. NamaMataKuliah Text 50

Field ”IndeksDaftar” adalah indeks daftar ujian dimana mata kuliah di-input. Field

”KodeMataKuliah” adalah kode mata kuliah, dan Field ”NamaMataKuliah” adalah nama dari mata kuliah yang diujikan.

4. Tabel ”DaftarUjian”

(18)

Tabel ini berfungsi untuk menyimpan daftar partisipasi mahasiswa dalam ujian mata kuliah. Struktur tabelnya adalah sebagai berikut :

Tabel 3.6 Struktur Tabel ”DaftarUjian”

No. Field Name Data Type Field Size

1. IndeksDaftar Number Integer

2. NIM Text 10

3. KodeMataKuliah Text 10

4. Partisipasi Boolean -

Field ”IndeksDaftar” adalah indeks daftar ujian dimana daftar partisipasi mahasiswa dalam setiap ujian mata kuliah di-input, field ”NIM” adalah indeks mahasiswa yang mengikuti ujian, field ”KodeMataKuliah” adalah kode mata kuliah dan field

”Partisipasi” berisi ”X / Yes” untuk kode mata kuliah yang diambil mahasiswa dan

”- / No” untuk kode mata kuliah yang tidak diambil mahasiswa.

5. Tabel ”TabelWaktu”

Tabel ini berfungsi untuk menyimpan input waktu untuk setiap hasil pewarnaan.

Struktur tabelnya adalah sebagai berikut.

Tabel 3.7 Struktur Tabel ”TabelWaktu”

No. Field Name Data Type Field Size

1. IndeksDaftar Number Integer

2. IndeksWarna Text Integer

3. Waktu Text 50

Field ”IndeksDaftar” adalah indeks daftar ujian dimana hasil pewarnaan dihasilkan dan disimpan, field ”IndeksWarna” adalah nomor pewarnaan (misalnya: 1 untuk warna ”T1”, 2 untuk warna ”T2”, dan selanjutnya) dan field ”Waktu” adalah representasi waktu untuk setiap warna.

(19)

Gambaran relasi antar tabel dapat dilihat pada gambar berikut. Nama field yang dicetak tabel adalah primary key.

Gambar 3.13 Relasi Antar Tabel

3.3.2 Perancangan Proses

Proses penjadwalan ini juga dapat dirancang dalam bentuk activity diagram, seperti terlihat pada gambar berikut

(20)

Gambar 3.14 Diagram activity

(21)

Algoritma pewarnaan Welch-Powell yang diterapkan di dalam aplikasi adalah sebagai berikut:

IndeksWarna = 0

WHILE (semua simpul belum terwarnai) IndeksMaks = 0

[Cari simpul berderajat tertinggi yang belum diwarnai]

UNTUK I = 1 SAMPAI banyak_simpul

JIKA (jumlah derajat simpul(I)) > (jumlah derajat simpul(IndeksMaks)) AND Simpul(i).Warna=0 MAKA

IndeksMaks = I End JIKA

NEXT I

[Warnai Simpul Tersebut]

IndeksWarna = IndeksWarna + 1

Simpul(IndeksMaks).Warna = IndeksWarna

[Warnai Simpul Tidak Bertetangga dengan Warna yang Sama]

UNTUK I = 1 SAMPAI (banyak koneksi simpul(indeksmaks)) SimpulTetangga(I) = Simpul(IndeksMaks).Koneksi(I) NEXT I

UNTUK I = 1 SAMPAI (jumlah simpul) JIKA I <> IndeksMaks MAKA

Tetangga = False

UNTUK J = 1 SAMPAI (banyak SimpulTetangga) JIKA I = SimpulTetangga(J) maka

Tetangga = True

Keluar dari perulangan UNTUK END JIKA

NEXT J

JIKA Tetangga = False AND Simpul(I).Warna=0 MAKA Simpul(I).Warna = Simpul(IndeksMaks).Warna

END JIKA

UNTUK J=1 SAMPAI (banyak koneksi simpul(I)) K = (jumlah SimpulTetangga) + 1

SimpulTetangga(K)=Simpul(I).Koneksi(J) NEXT J

END JIKA NEXT I

WEND

(22)

3.3.3 Perancangan Tampilan

Aplikasi penyusunan jadwal ujian mata kuliah dengan menggunakan algoritma Welch-Powell memiliki 5 (lima) buah tampilan, yaitu:

1. Tampilan Splash Screen.

2. Tampilan Input.

3. Tampilan Hasil Penjadwalan.

4. Tampilan Buka Data (Load).

5. Tampilan Simpan Data (Save).

3.3.3.1 Rancangan Tampilan Splash Screen

Tampilan splash screen akan menjadi layar yang muncul pertama sekali saat aplikasi dijalankan. Tampilan ini berfungsi sebagai identitas aplikasi yang berisi logo / icon dan nama aplikasi serta identitas penulis dan nama kampus. Rancangan tampilan splash screen dapat dilihat pada gambar berikut.

1 2

3

4

Gambar 3.15 Rancangan Tampilan Splash Screen

(23)

1 : icon atau logo perangkat lunak.

Keterangan gambar:

2 : nama perangkat lunak.

3 : identitas penulis.

4 : jurusan, program studi dan tahun pembuatan aplikasi.

3.3.3.2 Rancangan Tampilan Input

Tampilan input akan menjadi tempat untuk memasukkan jumlah dan nama mata kuliah yang diujikan, jumlah dan nama mahasiswa serta tabel daftar ujian mata kuliah yang diikuti oleh mahasiswa. Pada tampilan ini, pengguna juga menyimpan atau membuka data penjadwalan yang sudah tersimpan ke database sebelumnya. Rancangan tampilan input dapat dilihat pada gambar berikut.

x

Implementasi Algoritma Welch-Powell dalam Penyusunan Jadwal Ujian Mata Kulia

IMPLEMENTASI ALGORITMA WELCH-POWELL DALAM PENYUSUNAN JADWAL UJIAN

Tampilkan Hasil Penjadwalan Ujian Keluar

6 7

5

1. Jumlah Mata Kuliah :

Kode MK Nama Mata Kuliah

2. Jumlah Mahasiswa :

NIM Nama Mahasiswa

Tabel Partisipasi Mahasiswa dalam Ujian Mata Kuliah:

1

2

3

4

Simpan Buka

8 9

Gambar 3.16 Rancangan Tampilan Input

(24)

1 : combobox, untuk memasukkan jumlah mata kuliah.

Keterangan gambar:

2 : tabel, untuk memasukkan kode dan nama mata kuliah.

3 : combobox, untuk memasukkan jumlah mahasiswa.

4 : tabel, untuk memasukkan NIM dan nama mahasiswa.

5 : tabel, untuk memasukkan daftar ujian mata kuliah yang diikuti oleh mahasiswa.

(bentuk tabel sama seperti tabel 3.1)

6 : tombol ‘Penjadwalan’, untuk memulai proses penjadwalan ujian mata kuliah dan menampilkan hasilnya pada tampilan Hasil Penjadwalan.

7 : tombol ‘Simpan’, untuk membuka tampilan ‘Simpan’.

8 : tombol ‘Buka’, untuk membuka tampilan ‘Buka’

9 : tombol ‘Keluar’, untuk menutup tampilan dan keluar dari aplikasi.

3.3.3.3 Rancangan Tampilan Hasil Penjadwalan

Tampilan hasil penjadwalan, berfungsi untuk menampilkan hasil penjadwalan beserta langkah-langkah pewarnaan graf yang dilakukan oleh aplikasi.

Rancangan tampilan dapat dilahat pada gambar berikut

(25)

Gambar 3.17 Rancangan Tampilan Hasil Penjadwalan

1 : textbox, untuk menampilkan langkah-langkah pewarnaan simpul graf.

Keterangan gambar:

2 : daerah tampilan hasil penjadwalan ujian mata kuliah.

3 : tombol ‘Keluar’, untuk menutup tampilan hasil penjadwalan dan kembali ke tampilan input.

3.3.3.4 Rancangan Tampilan Buka Data

Tampilan buka data, berfungsi untuk membuka daftar ujian mata kuliah yang sudah disimpan sebelumnya ke database. Rancangan tampilan dapat dilihat pada gambar berikut.

(26)

Buka Daftar Ujian Mata Kuliah

Buka Daftar Ujian Mata Kuliah

No. Nama Daftar Ujian

Buka Batal

Pilih daftar ujian mata kuliah yang ingin dibuka :

1

2 3

Mata Kuliah Mahasiswa

Gambar 3.18 Rancangan Tampilan Buka Data

1 : tabel, untuk memilih data yang ingin dibuka.

Keterangan gambar:

2 : tombol ‘Buka’, untuk membuka data yang telah dipilih pada tabel.

3 : tombol ‘Batal’, untuk membatalkan pembukaan data, menutup tampilan dan kembali ke tampilan input.

3.3.3.5 Rancangan Tampilan Simpan Data

Tampilan simpan data, berfungsi untuk menyimpan input daftar ujian mata kuliah ke database. Rancangan tampilan dapat dilihat pada gambar berikut.

(27)

Simpan Daftar Ujian Mata Kuliah

Simpan Daftar Ujian Mata Kuliah

Simpan Batal

1

2 3

Nama Daftar :

Gambar 3.19 Rancangan Tampilan Simpan Data

1 : textbox, untuk memasukkan nama daftar ujian mata kuliah.

Keterangan gambar:

2 : tombol ‘Simpan’, untuk menyimpan daftar ujian mata kuliah.

3 : tombol ‘Batal’, untuk membatalkan penyimpanan data, menutup tampilan dan kembali ke tampilan input.

Gambar

Gambar 3.1 Flowchart Pewarnaan dengan Algoritma Welch Powell
Gambar 3.4 Warnai Simpul A dan simpul G
Gambar 3.6 Warnai Simpul D
Tabel 3.1 Daftar Ujian Mata Kuliah yang Diambil oleh Mahasiswa
+7

Referensi

Dokumen terkait

Musyawarah Gugus Depan (Mugus) merupakan pertemuan antara Ketua Majelis Pembimbing Musyawarah Gugus Depan (Mugus) merupakan pertemuan antara Ketua Majelis Pembimbing Gugus Depan

Berdasarkan hasil penelitian yang telah dilaksanakan maka dapat ditarik simpulan bahwa terdapat pengaruh yang signifikan hasil belajar perkalian dan pembagian

2 Tim Penggerak Pemberdayaan dan Kesejahteraan Keluarga (TP PKK) Menurut Kamus Besar Bahasa Indonesia yang diterbitkan oleh Balai Pustaka tahun 1996, yang dimaksud

Keputusan Dewan Perwakilan Rakyat Daerah Kabupaten Banggai Kepulauan Nomor: 05/KPTS/DPRD/2008 tanggal 8 Agustus 2008 tentang Persetujuan Pelepasan Kecamatan Yang Menjadi Cakupan

Jurnal ini merupakan jurnal publikasi ilmiah resmi Balai Penelitian dan Pengembangan Pengendalian Penyakit Bersumber Binatang (Balai Litbang P2B2) Donggala, Badan Penelitian

Dalam kegiatan layanan dan pemanfaatan arsip ada pengguna yaitu orang atau lembaga yang akan mengunakan arsip dan ada petugas layanan yaitu orang yang diberi tugas untuk

■ Pilihan penyelesaian sengketa kepemilikan atau Pemanfaatan Pengetahuan Tradisional dan Ekspresi Budaya Tradisional di luar pengadilan dilakukan secara suka rela oleh para pihak yang