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

dokumen-dokumen yang mirip
BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB III ANALISIS DAN DESAIN SISTEM

BAB III PERANCANGAN SISTEM


BAB III ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN DESAIN. yang jelas untuk perbaikan ataupun pengembangan dari suatu sistem.

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN SISTEM


BAB III ANALISIS DAN PERANCANGAN

Spesifikasi Kebutuhan Perangkat Lunak. Versi Oktober Sistem Administrasi Pengarsipan (SAP)

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi

BAB III ANALISA DAN DESAIN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN DESAIN

BAB III ANALISA DAN DESAIN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk menjalankan alat bantu normalisasi ini dibutuhkan sarana perangkat keras

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM


BAB III ANALISA DAN PERANCANGAN. Aplikasi penterjemahan kata Indonesia-Inggris yang dibuat dalam tulisan

BAB IV HASIL DAN UJI COBA

BAB IV PERANCANGAN SISTEM

BAB III METODE PENELITIAN

BAB III ANALISA DAN PERANCANGAN

BAB III PERANCANGAN SISTEM. Shipping Direktorat Jenderal Imigrasi menunjukkan bahwasanya dalam akses

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN. Analisa aplikasi ini meliputi 3 (tiga) aspek penting yaitu analisa kebutuhan input/ masukan, dan output/ keluaran.

BAB III ANALISA DAN PERANCANGAN


ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISIS DAN PERANCANGAN. Pada bab ini akan dijelaskan mengenai proses analisa perangkat lunak dan perancangan atau desain perangkat lunak.

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

MEMBUAT LAPORAN (DATA REPORT)

BAB III PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

KSI B ~ M.S. WULANDARI

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

Gambar 4.1 Gambar Use Case Diagram

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN APLIKASI

Gambar 3.1. Diagram alir apikasi image to text

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA PERANCANGAN DAN PEMODELAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

Penyederhanaan fungsi Boolean

BAB III KONSEP DAN PERANCANGAN

BAB III ANALISA DAN PEMBAHASAN MASALAH

BAB III DESAIN DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

Microsoft Access 2007

Gambar 4.1 Flowchart

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN DESAIN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN DESAIN

BAB V IMPLEMENTASI SISTEM. tersebut siap diterapkan atau diimplementasikan. Tahap Implementasi Sistem

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN. sampai tahap pengujian saja tidak sampai tahap pemeliharaan.

BAB III ANALISIS DAN PERANCANGAN SISTEM. dengan menggunakan metode System Development Life Cycle (SDLC). Tahap yang

BAB III METODOLOGI PENELITIAN

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

LAMPIRAN MODUL 3 PERANCANGAN SISTEM INFORMASI

BAB III ANALISIS DAN DESAIN SISTEM

Mengenal dan Mulai Bekerja dengan Access 2007

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk membantu dalam proses pemantauan jaringan switch backbone

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA MASALAH DAN PERANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

PERTEMUAN 10 PERANCANGAN PROGRAM UNTUK MASALAH BISNIS

BAB IV DISKRIPSI PEKERJAAN. UPT. Taman Budaya Jawa Timur, secara garis besar permasalahan pada

Transkripsi:

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

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.

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? Tidak Ya Warnai semua simpul yang tidak bertetangga dengan warna yang sama Ya Apakah masih terdapat simpul yang belum diwarnai? Tidak END 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 B C G D H E F Gambar 3.2 Contoh Graf

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 B C (4) G D H E (simpul = 5) F 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

A B C (4) Berikan warna biru pada simpul yang tidak bertetangga dengan simpul E G D E (5) F H 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 B C (4) Simpul tertinggi berikutnya yang belum diwarnai dan berikan warna merah G D E (5) F H 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

A B C (4) G D H Berikan warna merah pada simpul yang tidak bertetangga dengan simpul C E (5) F 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 Simpul tertinggi berikutnya yang belum diwarnai dan berikan warna hijau A B C (4) G D H E (5) F 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

A B C (4) G D E(5) F H Berikan warna hijau pada simpul yang tidak bertetangga dengan simpul B 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 -

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 B C (4) G D H E (5) F 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

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 B C (4) G D E(5) F H 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.

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. Data Mata Kuliah (Jumlah dan nama mata kuliah yang diujikan) User Daftar Ujian Mata Kuliah (Ujian mata kuliah yang diikuti oleh mahasiswa) Data Mahasiswa (Jumlah dan nama mahasiswa) Hasil Penjadwalan 0 Proses Penjadwalan Ujian Mata Kuliah 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.

Penjadwalan Ujian Mata Kuliah Menggunakan Algoritma Welch-Powell Input Data Mata Kuliah << include >> << extend >> Input Banyak Mata Kuliah Input Kode dan Nama Mata Kuliah Input Data Mahasiswa << include >> << extend >> Input Banyak Mahasiswa << uses >> Input Daftar Ujian Mata Kuliah Input NIM dan Nama Mahasiswa USER << uses >> << uses >> Buka Daftar Ujian Penjadwalan Ujian Mata Kuliah << uses >> Simpan Daftar Ujian 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 Aktor Deskripsi Prakondisi Input Banyak Mata Kuliah User Use case ini mendeskripsikan proses input banyak mata kuliah. Tabel mata kuliah masih kosong dan tabel daftar ujian mata kuliah masih tidak memiliki kolom.

Sasaran Use case ini diawali saat user ingin menentukan banyaknya mata kuliah yang diujikan. Bidang khas suatu event Aksi Aktor 1. User mengklik combobox Jumlah Mata Kuliah. 3. User mengklik salah satu pilihan pada combobox. Respons Sistem 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 Kesimpulan Postkondisi Nama use case Aktor Deskripsi Prakondisi Sasaran Bidang khas suatu event Kesimpulan 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. Use case ini mengatur jumlah baris pada tabel mata kuliah dan jumlah kolom pada tabel daftar ujian mata kuliah. Jumlah baris pada tabel mata kuliah dan jumlah kolom pada tabel daftar ujian mata kuliah disesuaikan dengan banyaknya mata kuliah yang diujikan. Input Kode dan Nama Mata Kuliah User Use case ini mendeskripsikan input kode dan nama mata kuliah. sutaskode dan nama mata kuliah masih kosong. Header kolom dari tabel daftar ujian juga kosong. Use case ini diawali saat user ingin memasukkan namanama dari mata kuliah yang diujikan. Aksi Aktor 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. Respons Sistem 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. 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.

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 Aktor Deskripsi Prakondisi Sasaran Bidang khas suatu event Bidang alternatif Kesimpulan Postkondisi Nama use case Aktor Deskripsi Prakondisi Sasaran Bidang khas suatu event Input Banyak Mahasiswa User Use case ini mendeskripsikan input banyak mahasiswa. Tabel mahasiswa masih kosong dan tabel daftar ujian mata kuliah masih tidak memiliki baris. Use case ini diawali saat user ingin menentukan banyaknya mahasiswa yang mengikuti ujian. Aksi Aktor Respons Sistem 1. User mengklik 2. Sistem menampilkan pilihan combobox Jumlah dari 2 sampai 1000 orang Mahasiswa. mahasiswa pada combobox. 4. Sistem menyesuaikan jumlah 3. User mengklik baris pada tabel mahasiswa dan salah satu pilihan jumlah baris pada tabel daftar ujian pada combobox. mata kuliah dengan pilihan pada combobox. 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. Use case ini mengatur jumlah baris pada tabel mahasiswa dan jumlah baris pada tabel daftar ujian mata kuliah. Jumlah baris pada tabel mahasiswa dan jumlah baris pada tabel daftar ujian mata kuliah disesuaikan dengan banyaknya mata kuliah yang diujikan. Input NIM dan Nama Mahasiswa User Use case ini mendeskripsikan proses input NIM dan nama mahasiswa. NIM dan nama mahasiswa masih kosong. Header baris dari tabel daftar ujian juga kosong. Use case ini diawali saat user ingin memasukkan NIM dan nama-nama mahasiswa yang mengikuti ujian. Aksi Aktor 1. User memasukkan NIM dan nama mahasiswa pada tabel. Respons Sistem 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

Kesimpulan Postkondisi Nama use case Aktor Deskripsi Prakondisi Sasaran Bidang khas suatu event Kesimpulan Postkondisi Nama use case Aktor Deskripsi Prakondisi 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. 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. Kode dan nama mahasiswa yang mengikuti ujian, ditampilkan pada tabel mahasiswa. Nama mahasiswa juga ditampilkan pada setiap header baris dari tabel Daftar Ujian / Partisipasi. Input Daftar Ujian Mata Kuliah User Use case ini mendeskripsikan proses input daftar ujian mata kuliah. Tabel daftar ujian mata kuliah masih kosong dan semua cell di dalam tabel masih berisi karakter -. Use case ini diawali saat user ingin memasukkan daftar ujian mata kuliah yang diikuti oleh setiap mahasiswa. Aksi Aktor Respons Sistem 1. User menekan 2. Sistem akan menampilkan sembarang tombol karakter X pada cell tersebut. Ini pada salah satu cell berarti mahasiswa dengan baris ke-i yang memiliki pada tabel mengikuti ujian mata karakter - dalam kuliah dengan kolom ke-j pada tabel daftar ujian. tabel daftar ujian. 4. Sistem akan menampilkan karakter - pada cell tersebut. 3. User menekan sembarang tombol pada salah satu cell yang memiliki karakter X dalam tabel daftar ujian. Use case ini mengatur input daftar ujian mata kuliah yang diikuti oleh mahasiswa. Tabel daftar ujian mata kuliah telah terisi. Simpan Daftar Ujian User Use case ini mendeskripsikan proses penyimpanan daftar ujian beserta dengan data mata kuliah dan data mahasiswa. Daftar ujian, data mata kuliah dan data mahasiswa belum tersimpan.

Sasaran Bidang khas suatu event Bidang Alternatif Kesimpulan Postkondisi Nama use case Aktor Deskripsi Prakondisi Sasaran Bidang khas suatu event Bidang alternatif Kesimpulan Postkondisi Nama use case Aktor Deskripsi Use case ini diawali saat user ingin menyimpan daftar ujian, data mata kuliah dan data mahasiswa ke database. Aksi Aktor Respons Sistem 1. User menekan 2. Sistem membuka tampilan tombol Simpan simpan data. Daftar. 4. Sistem menyimpan daftar ujian, 3. User memasukkan data mata kuliah dan data nama daftar dan mahasiswa ke dalam database. menekan tombol Simpan. Alt langkah 3: User menekan tombol Batal. Alt langkah 4: Sistem membatalkan penyimpanan data. Use case ini melakukan penyimpanan daftar ujian, data mata kuliah dan data mahasiswa ke database. Daftar ujian, data mata kuliah dan data mahasiswa yang telah di-input disimpan ke dalam database. Buka Daftar Ujian User Use case ini mendeskripsikan proses pembukaan daftar ujian, data mata kuliah dan data mahasiswa dari database. Tabel nama mata kuliah, nama mahasiswa dan daftar ujian masih kosong. 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 1. User menekan 2. Sistem membuka tampilan buka tombol Buka data dengan tabel berisi list nama Daftar. daftar ujian. 4. Sistem memanggil record daftar 3. User mengklik ujian, data mata kuliah dan data salah satu nama daftar mahasiswa dari dalam database, ujian pada tabel dan sesuai dengan nama daftar ujian menekan tombol yang terpilih. Kemudian, sistem Buka. mengisi tabel mata kuliah, tabel mahasiswa dan tabel daftar ujian sesuai dengan record yang dibuka. Alt langkah 3 : User menekan tombol Batal. Alt langkah 4 : Sistem membatalkan pembukaan data. Use case ini membuka kembali daftar ujian, data mata kuliah dan data mahasiswa yang telah tersimpan ke database. Tabel nama mata kuliah, nama mahasiswa dan daftar ujian sudah terisi. Penjadwalan Ujian Mata Kuliah User Use case ini mendeskripsikan proses penjadwalan ujian.

Prakondisi Sasaran Bidang khas suatu event Kesimpulan Postkondisi Belum terdapat penjadwalan ujian mata kuliah. 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 1. User mengklik 2. Sistem menjalankan proses tombol Tampilkan penjadwalan dan menampilkan Hasil Penjadwalan hasil pewarnaan untuk setiap mata Ujian. kuliah pada tampilan hasil penjadwalan. 4. Jadwal ujian untuk mata kuliah 3. User memasukkan akan ter-update dengan tanggal tanggal dan waktu dan waktu, sesuai dengan warna untuk mewakili warna yang dimiliki. yang dihasilkan. Use case ini melakukan penjadwalan ujian terhadap data yang telah di-input. 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

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

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.

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

Gambar 3.14 Diagram activity

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

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

Keterangan gambar: 1 : icon atau logo perangkat lunak. 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. Implementasi Algoritma Welch-Powell dalam Penyusunan Jadwal Ujian Mata Kulia x 1 IMPLEMENTASI ALGORITMA WELCH-POWELL DALAM PENYUSUNAN JADWAL UJIAN 1. Jumlah Mata Kuliah : Tabel Partisipasi Mahasiswa dalam Ujian Mata Kuliah: Kode MK Nama Mata Kuliah 2 5 3 2. Jumlah Mahasiswa : NIM Nama Mahasiswa 4 Tampilkan Hasil Penjadwalan Ujian Simpan Buka Keluar 6 7 8 9 Gambar 3.16 Rancangan Tampilan Input

Keterangan gambar: 1 : combobox, untuk memasukkan jumlah mata kuliah. 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

Gambar 3.17 Rancangan Tampilan Hasil Penjadwalan Keterangan gambar: 1 : textbox, untuk menampilkan langkah-langkah pewarnaan simpul graf. 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.

Buka Daftar Ujian Mata Kuliah Buka Daftar Ujian Mata Kuliah Pilih daftar ujian mata kuliah yang ingin dibuka : No. Nama Daftar Ujian Mata Kuliah Mahasiswa 1 Buka Batal 2 3 Gambar 3.18 Rancangan Tampilan Buka Data Keterangan gambar: 1 : tabel, untuk memilih data yang ingin dibuka. 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.

Simpan Daftar Ujian Mata Kuliah Simpan Daftar Ujian Mata Kuliah Nama Daftar : 1 Simpan Batal 2 3 Gambar 3.19 Rancangan Tampilan Simpan Data Keterangan gambar: 1 : textbox, untuk memasukkan nama daftar ujian mata kuliah. 2 : tombol Simpan, untuk menyimpan daftar ujian mata kuliah. 3 : tombol Batal, untuk membatalkan penyimpanan data, menutup tampilan dan kembali ke tampilan input.