Sistem penjadwalan kuliah pada program studi Sistem Informasi UNIKOM

(1)

Nama : Edison Marpaung Tempat tanggal Lahir : Balige, 16 Agustus 1988 Jenis Kelamimmn : Laki-laki

Agama : Kristen katolik

Status : Belum menikah

Alamat : Kompleks PT Inalum Paritohan, Residen D no 8b, Tobasa, Sumatra Utara Alamat bandung : Jln. Cisitu Baru no.13, Kelurahan Coblong, Bandung

No.telp : 081265318074

PENDIDIKAN FORMAL

SDN 173651 Porsea 1994 - 2000

SMPN4 Porsea 2000 - 2003

SMA RK Budi Mulia, Pematang Siantar 2003 - 2006 Politeknik Informatika Del 2006 - 2009


(2)

SKRIPSI

Diajukan Sebagai Salah Satu Syarat Kelulusan Pada Program Studi Sistem Informasi

Jenjang S1 (Sarjana)

Fakultas Teknik dan Ilmu Komputer

Edison Marpaung 1.05.10.931

PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA 2013


(3)

iii

Maha Mendengar lagi Maha Melihat dan atas segala berkah yang dilimpahkan sehingga penulis dapat menyelesaikan karya tulis yang berbentuk skripsi ini sesuai dengan waktu yang telah direncanakan.

Penyusunan skripsi dengan judul “Sistem Penjadwalan Kuliah Pada Program

Studi Sistem Informasi UNIKOM” ini adalah merupakan salah satu syarat untuk

memperoleh gelar sarjana pada program studi Sistem Informasi, fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia (UNIKOM).

Dalam penulisan skripsi ini, tentunya banyak pihak yang telah memberikan bantuan baik moril maupun materil pada penulis. Oleh karena itu penulis ingin menyampaikan ucapan terimakasih yang tiada hingganya kepada :

1. Dr. Ir. Eddy Suryanto Soegoto, M.Sc, selaku Rektor Universitas Komputer Indonesia

2. Prof. Dr. Ir Denny Kurniadie, M.Sc., selaku Dekan Fakultas Teknik dan Ilmu Komputer UNIKOM.

3. Imelda Pangaribuan ST., MT selaku pembimbing yang telah banyak memberikan bimbingan, nasehat dan arahan kepada penulis.

4. Syahrul Mauluddin, S.Kom, M.Kom sebagai Ketua Program Studi Sistem Informasi UNIKOM sekaligus sebagai dosen penguji yang telah banyak


(4)

iv

masukan, dukungan, dan pengarahan dalam seminar dan sidang kelulusan penulis.

6. Secara khusus penulis ingin mengucapkan terima kasih kepada Ayahanda yang penulis banggakan, Walter Marpaung, dan Ibunda yang tercinta, Tiolina Datubara yang telah banyak memberikan dukungan dan pengorbanan baik secara moril maupun materil hingga penulis dapat menyelesaikan studi dengan baik.

7. Richardo Marpaung S.Ked, Wati Margaretha Marpaung, Theresia Marpaung, adik-adik yang penulis sayangi yang telah memberikan dukungan selama penulis mengikuti studi dan mengerjakan skripsi ini.

8. Suriana Limbong, Benediktus Marsel S.Psi, Parlin Purba Amd., Richard Simamora Amd., David Arico S.T, Permatasari Purba Amd, Liraini Tarigan S.T, sahabat-sahabat penulis yang telah memberikan dukungan moril serta motivasi bagi penulis selama penulis mengikuti studi dan menyelesaikan skripsi ini.

9. Para dosen dan Staff Universitas Komputer Indonesia (UNIKOM) yang telah memberikan bantuan kepada penulis selama mengikuti studi.


(5)

v

Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, maka saran dan kritik yang konstruktif dari semua pihak sangat diharapkan demi penyempurnaan selanjutnya.

Akhirnya hanya kepada Tuhan Yang Maha Esa kita kembalikan semua urusan dan semoga skripsi ini dapat bermanfaat bagi semua pihak, khususnya bagi penulis dan para pembaca pada umumnya.

Bandung, 11 Januari 2013


(6)

vi

KATA PENGANTAR ………... iii

DAFTAR ISI ……….. vi

DAFTAR GAMBAR ……….. viii

DAFTAR TABEL ………... xi

BAB I PENDAHULUAN ……… 1

1.1 Latar Belakang ………. 1

1.2 Identifikasi Masalah ………. 4

1.3 Perumusan Masalah ………. 5

1.4 Maksud Penelitian ……… 5

1.5 Tujuan Penelitian ……….. 5

1.6 Kegunaan / Manfaat Penelitian ……… 6

1.6.1 Manfaat Akademis ………... 6

1.6.2 Manfaat Praktis ……… 6

1.7 Batasan Penelitian ……… 7

1.8 Lokasi dan Waktu Penelitian ……….. 7

BAB II LANDASAN TEORI ………. 9

2.1 Algoritma ……….. 9

2.1.1 Jenis-jenis Algoritma ……….. 10

2.1.2 Analisis Algoritma ………... 11

2.1.3 Mekanisme Pelaksanaan Algoritma oleh Pemroses ……….……… 12

2.2 Bahasa Pemrograman ………. 14

2.3 Beda Algoritma dan Program ………. 16

2.4 Penjadwalan Kuliah ……… 19

2.5 Perangkat Lunak Pendukung Perancangan Aplikasi ….. 20

2.5.1 Java ……….. 20

2.5.2 Microsoft Office Access ……….. 22

2.5.3 Netbeans ……….. 22

BAB III OBJEK DAN METODE PENELITIAN ……….. 24

3.1 Objek Penelitian ………... 24

3.1.1 Sejarah Singkat Perusahaan ……… 24

3.1.2 Visi dan Misi ……….... 26

3.1.3 Struktur Organisasi ………. 27

3.1.4 Deskripsi Tugas ………... 28

3.2 Metode Penelitian ………. 29

3.2.1 Desain Penelitian ………... 30


(7)

vii

4.1.1.1 Proses Bisnis ………. 41

4.1.1.2 Service Time ………. 43

4.1.1.3 Use Case Diagram ………. 43

4.1.1.4 Skenario Use Case ………. 44

4.1.1.5 Activity Diagram ……… 46

4.1.2 Evaluasi Sistem Yang Sedang Berjalan ………… 47

4.2 Perancangan Sistem ……… 49

4.2.1 Tujuan Perancangan Sistem yang Diusulkan …. 49 4.2.2 Gambaran Umum Sistem yang Diusulkan ……. 49

4.2.3 Perancangan Prosedur yang Diusulkan ……….. 50

4.2.3.1 Proses Bisnis ……… 51

4.2.3.2 Service Time ……… 52

4.2.3.3 Use Case Diagram ……… 52

4.2.3.4 Skenario Use Case ……… 53

4.2.3.5 Activity Diagram ……….. 63

4.2.3.6 Sequence Diagram ……….... 72

4.2.3.7 Class Diagram ……….. 81

4.2.3.8 Component Diagram ……….. 84

4.2.3.9 Deployment Diagram ……….. 86

4.2.4 Perancangan Antar Muka ………. 87

4.2.4.1 Perancangan Struktur Menu ………. 87

4.2.4.2 Perancangan Input ……… 88

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM ……… 104

5.1 Implementasi ………... 104

5.1.1 Batasan Implementasi ……….. 104

5.1.2 Implementasi Perangkat Lunak ……… 105

5.1.3 Implementasi Perangkat Keras ………. 105

5.1.4 Implementasi Basis Data ……….. 106

5.1.5 Implementasi Antar Muka ……… 107

5.1.5.1 Implementasi Halaman Utama ………. 107

5.1.6 Penggunaan Program ……… 108

5.2 Pengujian ……… 119

5.2.1 Rencana Pengujian ………. 120

5.2.2 Kasus Hasil Pengujian ……….. 121

5.2.3 Kesimpulan Hasil Pengujian………. 134

BAB VI KESIMPULAN DAN SARAN ……….. 135

6.1 Kesimpulan ……… 135


(8)

viii

Gambar 3. 2 Pendekatan Prototype (Sumber, Abdul Kadir

2004) ………. 33

Gambar 4. 1 Proses Bisnis sistem yang sedang berjalan ……… 42 Gambar 4. 2 Use Case Sistem Penjadwalan yang sedang

berjalan ……….. 44 Gambar 4. 3 Activity Diagram Sistem Penjadwalan yang

sedang berjalan ………. 46 Gambar 4. 4 Proses Bisnis Target Sistem ……… 51 Gambar 4. 5 Use Case Diagram untuk Target Sistem …………. 53 Gambar 4. 6 Activity Diagram Menambah Data Dosen ………. 64 Gambar 4. 7 Activity Diagram Mengubah Data Dosen ……….. 65 Gambar 4. 8 Activity Diagram Menambah Data Mata Kuliah ... 66 Gambar 4. 9 Activity Diagram Mengubah Data Mata Kuliah … 67 Gambar 4. 10 Activity Diagram Menambah Data Ruangan ….. 68 Gambar 4. 11 Activity Diagram Mengubah Data Ruangan ….. 69 Gambar 4. 12 Activity Diagram Menambah atau Mengubah Data

Penawaran ……… 70 Gambar 4. 13 Activity Diagram Generate Jadwal Kuliah …….. 71 Gambar 4. 14 Activity Diagram Maintain Data Kelas ………… 71 Gambar 4. 15 Sequence diagram menambah dosen ………. 73 Gambar 4. 16 Sequence diagram mengubah dosen ……….. 74 Gambar 4. 17 sequence diagram menambah mata kuliah ……… 75 Gambar 4. 18 sequence diagram mengubah mata kuliah ………. 76 Gambar 4. 19 sequence diagram menambah ruangan ………….. 77 Gambar 4. 20 sequence diagram mengubah ruangan ……… 78 Gambar 4. 21 sequence diagram menambah/mengubah ruangan .. 79 Gambar 4. 22 sequence diagram memaintain Kelas ……… 80 Gambar 4. 23 Class Diagram ……… 83 Gambar 4. 24 Component Diagram ………. 85 Gambar 4. 25 Deployment diagram sistem penjadwalan target.. 86 Gambar 4. 26 Perancangan struktur menu ……….. 87 Gambar 4. 27 Desain tampilan untuk menambah data dosen … 89 Gambar 4. 28 Desain tampilan untuk maintain data dosen 1 … 90 Gambar 4. 29 Desain tampilan untuk maintain data dosen 2 …. 91 Gambar 4. 30 Desain tampilan untuk entry data mata kuliah … 92 Gambar 4. 31 Desain tampilan maintain data mata kuliah ……. 94 Gambar 4. 32 Desain tampilan untuk entry data ruangan …….. 95 Gambar 4. 33 Desain tampilan maintain data ruangan ……….. 97 Gambar 4. 34 Desain tampilan untuk menambah data penawaran.. 99 Gambar 4. 35 Desain tampilan untuk memaintain data kelas … 100 Gambar 4. 36 Desain tampilan entry data kelas ………. 101


(9)

ix

Gambar 5. 4 Tampilan form Entry Data Dosen ……… 110 Gambar 5. 5 Tampilan Form Maintain Data Dosen untuk

mencari data ………... 111 Gambar 5. 6 Tampilan Form Maintain Data Dosen untuk

mengubah data dosen ……… 112 Gambar 5. 7 Tampilan Form Maintain Data Dosen untuk

menambah data mata kuliah yang diajarkan …… 112 Gambar 5. 8 Tampilan Form Penawaran ……… 113 Gambar 5. 9 Tampilan Form Maintain Kelas untuk melakukan

pencarian ………... 114 Gambar 5. 10 Tampilan Form Maintain Kelas untuk

melakukan pengubahan data ……… 114 Gambar 5. 11 Tampilan Form Data Mata Kuliah ……… 115 Gambar 5. 12 Tampilan Form Maintain Data Mata Kuliah

untuk melakukan pencarian ……… 116 Gambar 5. 13 Tampilan Form Maintain Data Mata Kuliah

untuk melakukan pengubahan ………. 116 Gambar 5. 14 Tampilan Form Entry Data Ruangan ……….. 117 Gambar 5. 15 Tampilan Form Maintain Data Ruangan

untuk melakukan pencarian ...………. 118 Gambar 5. 16 Tampilan Form Maintain Data Ruangan

untuk melakukan pengubahan data ……….. 119 Gambar 5. 17 Form Entry Data Dosen untuk penambahan data

dosen ... 122 Gambar 5. 18 Form Maintain Data Dosen untuk pengubahan

data dosen yang ada ……… 123 Gambar 5. 19 Form Entry Data Dosen untuk pengubahan

data dosen …... 124 Gambar 5. 20 Form Maintain Data Dosen dan Mata Kuliah untuk

pengubahan data dosen ...……… 124 Gambar 5. 21 Form Entry Data Penawaran untuk

penambahan data penawaran ……… 125

Gambar 5. 22 Form Entry Data Penawaran untuk men-

generate jadwal kuliah ……… 126

Gambar 5. 23 Form Maintain Data Kelas untuk pengubahan

data kelas (cari kelas) ……… 127

Gambar 5. 24 Form Entry Data Kelas untuk pengubahan

data kelas ……… 127 Gambar 5. 25 Form Entry Data Mata Kuliah untuk


(10)

x

ruangan……… 130

Gambar 5. 29 Form Maintain Data Ruangan untuk pengubahan

data ruangan ……… 131

Gambar 5. 30 Form Entry Data Ruangan untuk pengubahan data ruangan ………..……….. 132 Gambar 5. 31 Form Penjadwalan Mata Kuliah (Form Utama)

untuk pencetakan BAP ……….. 133 Gambar 5. 32 Form Penjadwalan Mata Kuliah (Form Utama)

untuk pencetakan Tugas Mengajar ..………….. 133 Gambar 5. 33 Form Penjadwalan Mata Kuliah (Form Utama)


(11)

xi

Tabel 4. 3 Skenario use case mengubah data dosen ………….. 55

Tabel 4. 4 Skenario use case menambah data mata kuliah …… 56

Tabel 4. 5 Skenario use case mengubah data mata kuliah ……. 57

Tabel 4. 6 Skenario use case menambah data ruangan ……….. 58

Tabel 4. 7 Skenario use case mengubah ruangan ……… 59

Tabel 4. 8 Skenario use case menambah/mengubah data penawaran ……….. 60

Tabel 4. 9 Skenario use case Generate jadwal ……… 61

Tabel 4. 10 Skenario use case Maintain kelas ……… 62

Tabel 5. 1 Keterangan Halaman Utama (Menu) ………. 107


(12)

Horstman, Cav S., dkk. 2008. Core Java, Vol. 2: Advanced Features. New Jersey: Prentice Hall. Podeswa, Howard. 2009. UML For The IT Business Analyst. Boston: Course Technology PTR. Dr. Bambang Hariyono. 2012. Esensi-esensi bahasa pemrograman java revisi keempat.

Bandung: Informatika.

Imam Heryanto. 2011. Membuat Database dengan Microsoft Access Edisi Revisi. Bandung: Informatika.

Djoko Pramono. 2011. Manajemen Databae Relasional dengan Access 2010. Jakarta: Elex Media Computindo

http://www.isr.umd.edu/Labs/CIM/projects/scheduling/orsa-joc-1995.pdf /Solving a Class Scheduling Problem with a Genetic Algorithm / 11 September 2012

http://en.wikipedia.org/wiki/Genetic_algorithm_scheduling / Genetic Algorithm Schedulling/ 11 September 2012

http://repository.usu.ac.id/bitstream/123456789/27329 / Perancangan Penjadwalan USU dengan Algoritma Genetika / 11 September 2012

http://risdawati.staff.gunadarma.ac.id/Downloads/files/31598/Perancangan+Berorientasi+Objek. pdf / Perancangan Berorientasi Objek/ 12 September 2012

http://en.wikipedia.org/wiki/Java_(programming_language) / Java (Programming Language)/ 13 September 2012


(13)

PENDAHULUAN

1.1 Latar Belakang

Saat ini perkembangan teknologi komputer sangatlah pesat dan telah merambah ke semua aspek kehidupan manusia. Perkembangan teknologi komputer telah memberikan banyak kemudahan dalam pemecahan berbagai masalah yang dihadapi manusia dan memberikan hasil yang sangat memuaskan. Penggunaan teknologi komputer telah terbukti memberikan pencapaian kerja yang jauh lebih cepat dan lebih akurat dari penyelesaian masalah secara manual.

Salah satu aspek dalam kehidupan keseharian yang dapat ditangani oleh teknologi komputer adalah masalah penjadwalan, dalam kasus ini yaitu pembuatan jadwal kuliah di Universitas Komputer Indonesia (UNIKOM) khususnya di program studi Sistem Informasi. Saat ini jadwal kuliah di prodi Sistem Informasi UNIKOM kerap kali dimuculkan pada masa-masa akhir pemilihan kelas, sehingga sering kali harus ada perbaikan dalam pengambilan kelas terutama bagi mahasiswa yang konversi. Dalam pembuatan jadwal kuliah ini, maka pemahaman akan konsep penjadwalan sangatlah penting.

Proses pembuatan jadwal kuliah merupakan pekerjaan yang cukup sulit, khususnya di prodi Sistem Informasi UNIKOM. Hal ini dikarenakan adanya beberapa faktor-faktor yang harus diperhatikan, seperti kemungkinan adanya


(14)

dapat mengajar pada hari tertentu, ketersediaan kelas yang dapat diisi, adanya kelas umum dan kelas laboratorium (yang memerlukan keperluan laboratorium seperti komputer), adanya tipe kelas mahasiswa yang berbeda (kelas regular, karyawan, dan kelas beasiswa unggulan), serta jumlah mahasiswa harus diperhitungkan untuk menentukan jumlah kelas yang ada untuk setiap matakuliah.

Pembuatan jadwal kuliah secara manual kerap kali memakan waktu yang cukup lama, hal ini dikarenakan adanya beberapa faktor yang harus diperhatikan, yakni:

1. Adanya matakuliah yang tidak boleh dijadwalkan pada saat yang bersamaan.

2. Adanya keinginan dosen untuk mengajar pada waktu-waktu tertentu. 3. Adanya keterbatasan akan waktu dan ruang kelas.

4. Adanya pembagian jenis kelas mahasiswa dan tipe ruang kelas. 5. Adanya dosen yang mengajar lebih dari 1 matakuliah pada semester

yang sama.

Selain faktor di atas, sering pula ada permasalahan pada pembagian kelas-kelas untuk mata kuliah pilihan, di mana terkadang jumlah mahasiswa yang mengambil kelas tersebut terlalu banyak atau terlalu sedikit sehingga harus ada pemecahan atau penggabungan kelas. Selain itu perlu pula dilakukan pembagian


(15)

seangkatan).

Sistem penjadwalan yang ada pada saat ini di program studi Sistem Informasi UNIKOM masih merupakan system penjadwalan yang semi manual. Maksudnya semi manual adalah proses pemasangan jadwal kuliah untuk ruang kuliah, dosen, kelas, dan mata kuliah masih dilakukan secara manual, tetapi ada applikasi yang digunakan untuk melakukan pengecekan akan mata kuliah yang berbentrokan, tetapi untuk perbaikannya masih juga dilakukan secara manual.

Penanganan sistem penjadwalan yang ada pada proses bisnis berjalan ini kerap menimbulkan masalah, baik bagi penjadwal, dosen, maupun mahasiswa sendiri.

Penjadwal membutuhkan waktu yang lama untuk membuat jadwal kuliah yang akan dipakai karena harus menyesuaikan waktu yang tersedia untuk dosen, ruang kuliah, maupun kelas tertentu. Syarat-syarat yang ada dalam penjadwalan juga membuat penjadwal harus teliti agar tidak ada jadwal kuliah dosen atau kelas yang berbentrokan.

Proses pembuatan jadwal kuliah yang lama sering membuat dosen terlambat mendapatkan jadwal mengajar, sehingga tidak jarang dosen tidak masuk mengajar pada minggu-minggu awal kuliah. Keluarnya jadwal kuliah yang terlambat juga sering membuat mahasiswa, terkhusus mahasiswa konversi dan yang mengambil matakuliah lebih, harus melakukan perbaikan form rencana studi ke sekretariat jurusan karena kelas yang diambil jadi berbentrokan.


(16)

menggunakan pendekatan algoritma yang diharapkan dapat mengatasi konflik-konflik yang mungkin terjadi. Dengan adanya perangkat lunak ini, diharapkan pembuatan jadwal kuliah di prodi Sistem Informasi UNIKOM akan lebih cepat dan dapat melayani kebutuhan dosen dan mahasiswa.

1.2 Identifikasi Masalah

Dari latar belakang yang dipaparkan sebelumnya, dapat ditarik identifikasi masalah sebagai berikut:

1. Pembuatan jadwal yang dilakukan masih secara manual tetapi ada applikasi yang berfungsi untuk melakukan pengecekan jadwal agar tidak berbentrokan. 2. Penjadwal sering kesulitan dalam membuat jadwal dari dosen karena adanya

dosen yang hanya bisa mengajar pada waktu-waktu tertentu atau mengajar lebih dari satu mata kuliah.

3. Penjadwal sering kesuliatan dalam penentuan ruang kelas karena adanya ruangan-ruangan tertentu yang hanya tersedia pada waktu tertentu.

4. Penjadwal sering kesulitan dalam pemasangan dosen, ruang kuliah, dan mata kuliah terkhusus pada kelas beasiswa unggulan dan international program. 5. Pembuatan jadwal kuliah yang ada kerap memakan waktu yang cukup lama

karena system yang ada hanya melakukan pengecekan bentrokan, bukan memperbaiki atau menyusun jadwal kuliah.

6. Akibat dari jadwal kuliah yang lama dikeluarkan, maka sering kali mahasiswa harus melakukan perbaikan form rencana studi, dan dosen juga sering


(17)

dosen yang tidak masuk.

1.3 Perumusan Masalah

Berdasarkan uraian di atas, maka didapat rumusan masalah, yakni :

1. Bagaimana membuat dan merancang sebuah perangkat lunak yang mampu mengautomasi proses penjadwalan kuliah yang ada di program studi sistem informasi UNIKOM

2. Bagaimana menangani dan meminimalkan jadwal yang berbentrokan.

3. Bagaimana mengatasi kebutuhan waktu yang lama yang diperlukan untuk membuat jadwal kuliah.

1.4 Maksud Penelitian

Maksud dari penelitian ini adalah untuk membuat sebuah algoritma yang kemudian akan diterapkan pada perangkat lunak agar dapat mengatasi permasalahan yang ada pada proses penjadwalan kuliah yang ada di program studi sistem informasi UNIKOM.

1.5 Tujuan Penelitian

Tujuan dari penelitian ini adalah pembuatan dan penerapan algoritma penjadwalan pada perangkat lunak guna membuat jadwal kuliah yang dapat mengatasi konflik yang mungkin terjadi pada pembuatan penjadwalan di prodi Sistem Informasi UNIKOM. Jadwal yang akan dihasilkan akan meminimalisasi bentrok yang mungkin terjadi sehingga pengguna akan mendapat solusi terbaik


(18)

membuat jadwal kuliah akan dapat dioptimalisasi.

1.6 Kegunaan / Manfaat Penelitian

1.6.1 Manfaat Akademis

1. Bagi Pengembangan Ilmu

Hasil penelitian ini diharapkan menjadi pembandingan antara ilmu menejemen (teori) dengan keadaan yang terjadi langsung di lapangan (praktek). Sehingga dengan adanya perbandingan tersebut akan lebih memajukan ilmu Manajemen Informatika yang sudah ada untuk ditahapkan pada dunia nyata dan dapat mengutungkan berbagai pihak. 2. Bagi Peneliti Lain

Hasil penelitian ini diharapkan dapat memberikan sumbangan pemikiran kepada peneliti lain atau para akademis yang akan mengambil skripsi atau tugas akhir dalam kajian yang sama sekaligus sebagai referensi di dalam penulisan.

3. Bagi Penulis

Dengan penelitian ini, penulis berharap untuk dapat lebih mengasah ilmu pemrograman yang dimiliki dan dapat lebih mengerti cara mengatasi proses optimasi dalam penjadwalan kuliah.

1.6.2 Manfaat Praktis

Dengan penelitian ini, penulis berharap untuk meminimumkan konflik-konlik dalam penjadwalan kuliah yang dapat menghambat proses belajar


(19)

pembuatan jadwal kuliah pada program studi Sistem Informasi UNIKOM akan dapat dlakukan lebih cepat dan sesuai dengan kebutuhan yang ada tanpa adanya bentrok.

1.7 Batasan Penelitian

Agar penelitan ini lebih terarah maka penulis menentukan batasan-batasan permasalahan, adapun batasan-batasan masalah yang ditentukan dalam penelitian yaitu:

1. Setiap dosen bersedia mengajar di ruang manapun yang tersedia dan pada waktu yang telah ditentukan (pada pengisian data dosen di awal ditentukan kapan dosen yang bersangkutan tidak dapat mengajar). 2. Setiap mahasiswa (regular, karyawan dan beasiswa unggulan)

bersedia menempati ruang dan waktu yang tersedia (jadwal kuliah tidak ada yang bentrok).

3. Adanya batas jam kuliah dalam satu hari dan batas hari dalam seminggu.

4. Penentuan jenis matakuliah (Auditorium, laboratorium hardware, laboratorium software, atau kuliah umum) ditentukan di awal.


(20)

Dalam penelitian ini, penulis mengambil lokasi di Universitas Komputer Indonesia (UNIKOM) pada program studi (prodi) Sistem Informasi (SI). Waktu penelitian dilakukan pada September 2012 s/d Desember 2012.

Tabel 1. 1 Tabel kegiatan dan waktu penelitian

KEGIATAN

Tahun 2012

SEPTEMBER OKTOBER NOVEMBER DESEMBER

MINGGU 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

1 Pengumpulan Data Observasi

Wawancara

2 Analisis sistem Analisis Analisis solusi

3 Perancangan Sistem Pembuatan UML Pembuatan Kasus

4 Pengembangan Sistem Identifikasi

Membuat Menguji Memperbaiki Mengembangkan


(21)

BAB II

LANDASAN TEORI

2.1 Algoritma

Dalam matematika dan ilmu komputer, algoritma merupakan langkah-langkah dalam penyelesaian suatu perhitungan. Algoritma umumnya digunakan dalam proses perhitungan, pemrosesan data, dan pengautomasian. Lebih jelasnya, algoritma merupakan metode yang efektif yang ditujukkan pada daftar yang terbatas dari kumpulan perintah yang telah didefinisikan untuk menghitung suatu fungsi. Dimulai dari nilai awal, kemudian kumpulan perintah yang pada saat dieksekusi akan memproses kondisi-kondisi yang telah ditetapkan hingga menghasilkan output dan kemudian menentukan kondisi akhir.

Dalam penyelesaian masalah, ada kriteria-kriteria tertentu pada kondisi awal yang harus dipenuhi sebelum mengeksekusi algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria.

Pada sistem komputer, algoritma merupakan gambaran langsung dari logika yang dituliskan oleh pembangun perangkat lunak agar lebih efektif dalam pencapaian target perangkat lunak tersebut, agar dapat memperoleh hasil keluaran dari masukan yang diberikan (terkadang null).

Tingkat kerumitan dari suatu algoritma merupakan ukuran banyaknya proses yang dibutuhkan oleh algoritma tersebut dalam menyelesaikan suatu masalah. Dengan kata lain, algoritma yang mampu memecahkan atau menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat


(22)

kerumitan yang rendah, sebaliknya algoritma yang membutuhkan waktu yang lama dalam penyelesaian masalah memiliki tingkat kompleksitas yang tinggi.

2.1.1 Jenis-jenis Algoritma

Terdapat beberapa klasifikasi algoritma yang dibagi berdasarkan alasan tersendiri. Salah satu cara dalam melakukan pengklasifikasian tersebut adalah berdasarkan paradigma dan metode yang digunakan dalam perancangan algoritma tersebut. Beberapa paradigma yang digunakan untuk menyusun suatu algoritma antara lain:

1. Divide and Conquer, merupakan paradigma untuk membagi suatu permasalahan yang besar menjadi permasalahan-permasalahan yang kecil. Pembagian masalah ini dilakukan secara terus-menerus sampai ditemukan bagian masalah yang kecil dan mudah untuk dipecahkan.

2. Dynamicprogramming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini seklias terlihat mirip dengan paradigma divide and conquer, sama-sama mencoba untuk mebagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsic ada perbedaan dari karakter permasalahan yang dihadapi.

3. Metode serakah, merupakan paradigma yang mirip dengan pemrograman dinamik, namun jawaban dari setiap submasalah tidak perlu diketahui dari setiap tahap, dan menggunakan pilihan apa yang terbaik pada saat itu.


(23)

4. Search and enumeration, merupakan paradigma pemodelan yang memberikan aturan tertentu dalam pemecahan masalah dan optimalisasi.

2.1.2 Analisis Algoritma

Dalam penganalisisan suatu algoritma kita harus memperhatikan beberapa hal, seperti:

1. Kebenaran (Correctness)

Dalam pembuktian kebenaran suatu algoritma, hasil akhir dari algoritma tersebut haruslah diperiksa apakah sudah sesuai dengan kondisi-kondisi yang telah diberikan pada awal masukan. Untuk melakukan pemeriksaan suatu algoritma yang kompleks, kita dapat membagi algoritma tersebut menjadi beberapa modul kecil, sehingga jika modul-kecil tersebut benar maka seluruh program akan benar.

2. Jumlah Operasi yang Dilakukan (Amount of Work Done)

Penghitungan jumlah operasi yang dilakukan ini digunakan untuk membandingkan tingkat efisiensi suatu algoritma dengan algoritma lain dalam memecahkan suatu masalah yang sama. Hal ini dilakukan untuk mendapatkan algoritma yang dapat menghasilkan waktu eksekusi yang lebih cepat. Cara paling mudah dalam membandingkan dua buah algoritma adalah dengan menghitung jumlah operasi dasar yang dilakukan oleh algoritma tersebut, karena apabila dilakukan pembandingan langsung pada komputer, kerap kali kondisi setiap komputer dan cara pembacaan setiap bahasa pemrograman mempengaruhi waktu pemecahan masalah.


(24)

3. Analisis Kemungkinan Terburuk (Worst Case)

Analisis worst case merupakan analisis yang digunakan untuk melihat tingkat efektifitas suatu algoritma dalam menyelesaikan masalah-masalah yang masukannya merupakan masukan yang terkadang tidak perlu dihitung atau cara mengatasi pada saat kemungkinan masukan salah. 4. Optimal (Optimality)

Untuk menganalisis suatu algoritma, biasanya selalu menggunakan kelas algoritma dan ukuran kompleksitas, misalnya, jumlah operasi dasar yang dilakukan. Sebuah algoritma disebut optimal (untuk worst case) jika tidak ada algoritma yang dapat melakukan operasi dasar yang lebih sedikit (untuk worst case).

5. Ikatan Terendah (Lower Bound)

Untuk membuktikan bahwa suatu algoritma adalah optimal, tidak diperlukan menganalisis setiap algoritma. Dengan membuktikan teorema-teorema yang menentukan lower bound pada jumlah operasi yang diperlukan untuk menyelesaikan masalah, maka algoritma yang dapat melakukan jumlah operasi tersebut disebut optimal.

2.1.3 Mekanisme Pelaksanaan Algoritma oleh Pemroses

Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.


(25)

Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini: “program

pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti

ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika

Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman.

Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.

Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit – CPU)adalah “otak” komputer, yang

berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat.

Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah


(26)

oleh operasi-operasi). Piranti masukan dan keluaran (I/Odevices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.

Gambar 2. 1 Komponen Utama Komputer

(Sumber: http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch01s04.html)

Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi


(27)

yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).

2.2 Bahasa Pemrograman

Bahasa program merupakan suatu wahana untuk menuangkan pikiran manusia yang dapat dimengerti oleh mesin komputer sehingga bernilai guna. Suatu bahasa program akan terikat aturan dari paradigma bahasa. Ada berbagai macam paradigma bahasa : Prosedural, Fungsional, Deklaratif, Object Oriented, Konkuren. Adapun konsep-konsep dasar dalam pemograman adalah sebagai berikut :

1. Simulasi , sensibilitas terhadap masalah dan kemungkinan solusi. Kegiatan dilakukan di kelas, melalui permainan. Contoh : Mengurutkan nama setiap mahasiswa yang ada di kelas dimulai dari huruf A sampai Z. Hal ini dapat dilakukan secara komputerisasi maupun manual.

2. Analisis masalah secara lebih formal dan membuat spesifikasi dan algoritma dalam notasi yang ditetapkan. Mahasiswa harus menuliskan solusi algoritmiknya dalam notasi standar di kelas. Penulisan notasi algoritmik bertujuan untuk menyeragamkan pemahaman tentang algoritma program yang terbebas dari sintak (aturan) penulisan bahasa program

3. Menulis program, yaitu menterjemahkan notasi algoritmik ke dalam sintak bahasa program.


(28)

4. Debugging dan menguji coba program. Hal ini bertujuan untuk mendapatkan program yang benar. Program dikatakan benar jika terbebas dari salah lojik dan sintak bahasa. Secara ideal mahasiswa hanya diberi kesempatan untuk me-run program sebanyak 2 kali : pertama untuk membersihkan program dari kesalahan sintak dan kedua untuk mendapatkan program benar. Pada tahap ini diharapkan tidak terjadi kesalahan lojik jika analisa benar

5. Mengamati peristiwa eksekusi, perlu dilakukan untuk meningkatkan kepercayaan bahwa jika analisa benar maka sisa pekerjaan menjadi mudah. Pada pemrograman prosedural, aspek ini penting untuk memahami fenomena eksekusi dan perubahaan nilai suatu struktur data.

6. Membaca program : orang akan dapat menulis dengan baik kalau sering membaca. Hal ini juga berlaku dalam memprogram. Kegiatan yang dapat dilakukan di kelas adalah dengan saling tukar menukar teks algoritma, dan saling mengkritik algoritma teman. Mahasiswa harus berlatih sendiri pada kegiatan belajar bersama.

7. Membuktikan kebenaran program secara formal , satu-satunya hal yang menjamin kebenaran, tetapi kontradiktif dan sulit diterapkan dalam kehidupan sehari-hari. Program yang hanya lima baris pembuktiannya bisa sehalaman, sehingga seringkali tidak pernah diterapkan dalam aplikasi nyata. Aktifitas ini dicakup dalam matakuliah Analisis Algoritma.


(29)

2.3 Beda Algoritma dan Program

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :

Program = Algoritma + Bahasa (Struktur Data)

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya :

1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.

2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.


(30)

1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.

2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.

4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.

5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman. 6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat


(31)

notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :

a. Pendeklarasian variabel

Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.

b. Pemilihan tipe data

Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.

c. Pemakaian instruksi-instruksi

Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.

d. Aturan sintaksis

Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.


(32)

e. Tampilan hasil

Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.

f. Cara pengoperasian compiler atau interpreter.

Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.

2.4 Penjadwalan Kuliah

Penjadwalan kuliah merupakan proses pembuatan jadwal kegiatan kuliah yang selalu mengawali pergantian semester pada setiap perguruan tinggi. Proses pembuatan jadwal kuliah ini haruslah memperhatikan berbagai aspek yang mempengaruhi jadwal kuliah, seperti banyaknya matakuliah, ketersediaan ruangan serta rentang waktu yang dibutuhkan untuk setiap matakuliah. Proses inti pada penjadwalan kuliah adalah proses untuk memasangkan komponen-komponen tertentu seperti matakuliah, dosen, ruangan, dan waktu dengan dipengaruhi sejumlah batasan serta persyaratan tertentu. Permasalahan yang sering muncul dalam proses penjadwalan kuliah oleh para penjadwal adalah terdapatnya jauh lebih banyak jumlah matakuliah dan kelas yang harus dijadwalkan dengan jumlah ruangan, persyaratan akan matakuliah tertentu untuk mendapat kelas tertentu (matakuliah tertentu terkadang membutuhkan fasilitas seperti laboratorium), serta sering kali ada keinginan para pengajar untuk mengajar pada suatu hari atau jam tertentu.


(33)

Dalam pengaturan jadwal kuliah ini, para staff Tata Usaha (Sekretariat Jurusan) harus melalui beberapa tahapan, seperti melakukan pendataan jumlah matakuliah dan sksnya, pendataan kurikulum, pendataan pengajar, kelas-kelas yang disediakan, serta syarat dan prioritas-prioritas yang dipakai. Setelah itu staff Tata Usaha harus mengatur dan melakukan pemasangan untuk setiap matakuliah, dosen, ruangan, kelas, dan waktu ke dalam jadwal kuliah. Kemudian tahap terakhir adalah memeriksa kembali dan mengevaluasi prioritas-prioritas dan syarat-syarat yang ada, apakah semua sudah dipenuhi atau belum.

Karena itu kerap kali proses penjadwalan kuliah untuk suatu perguruan tinggi memakan waktu yang sangat lama sehingga mahasiswa kesulitan dalam menentukan pengambilan kelas untuk mata kuliah tertentu (untuk hal di mana mahasiswa dapat memilih kelas, misalkan mahasiswa konversi dan mahasiswa yang ingin mengambil matakuliah atas dengan sks lebih).

Untuk mengatasi permasalahan yang ada, terutama masalah waktu yang dibutuhkan, sejumlah algoritma telah dikembangkan untuk menyelesaikan dan menyusun data penjadwalan kuliah ini, salah satunya adalah algoritma yang digunakan penulis dalam karya tulis ini, yaitu Algoritma Genetika.

2.5 Perangkat Lunak Pendukung Perancangan Aplikasi

Dalam pembuatan program aplikasi, untuk laporan tugas akhir ini penulis menggunakan beberapa perangkat lunak yang menunjang pembuatan program aplikasi berbasis desktop, yaitu windows sebagai sistem operasi yang akan dipakai, java sebagai bahasa pemrograman, mysql sebagai database, sqlYog


(34)

sebagai editor database, serta netbeans sebagai platform framework dan IDE pembangunan aplikasi.

2.5.1 Java

Java merupakan bahasa pemrograman yang awalnya dikembangkan oleh James Gosling di Sun Microsystem. James Gosling, Mike Sheridan, dan Patrick Naughton memulai proyek untuk bahasa pemrograman Java awalnya adalah untuk industry televise interaktif, namun bahasa Oak (nama awal dari Java) terlalu maju untuk teknologi televisi. Bahasa pemrograman ini menggunakan bahasa gabungan yang mirip dengan bahasa C dan C++.

Sun Microsystem merilis implementasi public pertama untuk Java 1.0

pada tahun 1991. Prinsip perilisan ini adalah “Write Once, Run Anywhere”.

Bahasa pemrograman ini menyediakan tingkat keamanan yang tinggi dan menyediakan fiture untuk mengkonfigurasi keamaanannya. Segera setelah perilisannya, banyak web browser yang memasukkan kemampuan untuk menjalankan applet dari Java yang membuat bahasa pemrograman ini segera populer. Dengan munculnya Java 2 (dirilis pada awalnya sebagai J2SE pada Desember 1998-1999), versi ini dibangun dengan memiliki konfigurasi diberbagai platform. J2EE ditargetkan untuk menangani aplikasi-aplikasi enterprise, J2ME ditargetkan untuk menangani aplikasi mobile, dan J2SE ditargetkan untuk aplikasi-aplikasi standard. Pada tahun 2006 untuk alas an pemasaran, Sun mengganti nama J2 untuk masing-masing edisi menjadi Java EE, Java ME, dan Java SE.


(35)

Ada lima target utama dari bahasa Java dalam pembangunan untuk setiap aplikasi, yakni:

1. Simpel, berbasis objek dan umum 2. Kuat dan aman

3. Memiliki arsitektur yang netral dan portable 4. Dieksekusi dengan performa kinerja yang tinggi 5. Harus bias ditafsirkan, terulir, dan dinamis

2.5.2 Microsoft Office Access

Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.

Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik


(36)

pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat bantu pemrograman berorientasi objek.

2.5.3 Netbeans

NetBeans awalnya dibangun pada tahun 1996 sebagai Xelfi (untuk pemrograman Delphi) oleh seorang mahasiswa dari Charles University di Paraguai. Pada tahun 1997, Roman Stanek membangun sebuah perusahaan dan merilis versi komersial dari NetBeans hingga akhirnya dibeli oleh Sun MicroSystem pada 1999. Hingga saat ini platform NetBeans telah banyak berkembang di bawah SunMicrosystem.

Netbeans merupakan platform framework dan IDE (integrated development environtment) yang digunakan untuk pengembangan aplikasi desktop yang menggunakan bahasa Java, dan beberapa bahasa lain, seperti Groovy, C, C++ dan banyak lagi.

Netbeans IDE dibangun menggunakan bahasa Java dan dapat dijalankan pada Windows, OS X, Linux, Solaris dan sistem operasi lain yang mendukung JVM. IDE NetBeans merupakan alat pengembangan aplikasi yang terintegrasi. NetBeans IDE mendukung pengembangan program yang menggunakan bahasa Java dari semua versi (Java SE, Java ME, Java EE).

Platform NetBeans memperbolehkan pembangunan aplikasi dengan menggunakan modul-modul. Aplikasi yang dibangun menggunakan netBeans dapat dikembangkan oleh pihak ketiga. Platform NetBeans merupakan platform


(37)

yang dapat digunakan ulang (reusable) untuk mempermudah pembangunan program menggunakan bahasa Java.

Platform menyediakan layanan yang reusable pada aplikasi desktop, yang mempermudah pembangun untuk fokus pada spesifikasi logik dari aplikasi. Fungsi yang disediakan dari platform neh antara lain:

1. User Interface Management (menu dan toolbars) 2. User Setting Management (menangani pengaturan)

3. Storage Management (menyimpan dan membuka berbagai jenis data) 4. Window Management

5. Wizard Framework (mendukung tahapan berdasarkan langkah-langkah) 6. NetBeans Visual Library


(38)

OBJEK DAN METODE PENELITIAN

3.1 Objek Penelitian

Objek penelitian ini berisikan tentang gambaran tempat penulis melakukan penelitian, diantaranya tentang sejarah, struktur organisasi dan deskripsi pekerjaan pada Program Studi Sistem Informasi UNIKOM.

3.1.1 Sejarah Singkat Perusahaan

Universitas Komputer Indonesia (UNIKOM) secara resmi berdiri pada hari Selasa, tanggal 8 Agustus 2000 berdasarkan Surat Keputusan Menteri Pendidikan Nasional nomor 126/D/0/2000.

Awalnya dimulai pada bulan Juli tahun 1994 ketika didirikan Lembaga Pendidikan Komputer Indonesia Jerman, disingkat LPKIG, bertempat di jalan Dipati Ukur 102 Bandung . Dengan 1 ruang kelas berkapasitas 50 orang dan 1 laboratorium komputer dengan 25 unit komputer, Lembaga ini membuka program pendidikan 1 tahun dengan 5 program studi yaitu Ahli Komputer Aplikasi Bisnis, Ahli Komputer Keuangan & Perbankan, Ahli Komputer Akuntansi & Perpajakan, Ahli Komputer Manajemen & Pemasaran dan Sekretaris Eksekutif. Jumlah peserta pendidikan pada tahun pertama ini sebanyak 233 siswa.

Pada tahun kedua, 1995, dibuka jenjang pendidikan 3 tahun untuk memenuhi animo siswa tahun pertama yang ingin memperdalam ilmunya, disamping pemikiran jangka panjang pengembangan institusi. Pada tahun ini juga


(39)

Komputer Manajemen Informatika dan Sekretaris Eksekutif. Ruang kelas ditambah menjadi 2 buah dan laboratorium komputer menjadi 2 buah dengan jumlah siswa sebanyak 457 orang.

Pada tahun ketiga, 1996, dilakukan penambahan gedung kuliah baru bertempat di jalan Dipati Ukur 116 (gedung FISIP sekarang), sekaligus pemindahan pusat administrasi dan perkantoran. Digedung baru ini dilakukan penambahan 1(satu) Lab. Komputer, 5(lima) Ruang Kuliah, Ruang Dosen dan Ruang Kemahasiswaan. Jumlah siswa dari tahun 1996 hingga tahun 1998 bertambah dari 632 orang menjadi 1184 orang.

Pada tahun kelima, 1998, dimulai pembangunan Kampus baru (Gedung Rektorat /Kampus-1 sekarang) berlantai 6(enam) di jalan Dipati Ukur 114. Pembangunan Kampus baru ini dapat diselesaikan pada bulan Agustus 1999, sehingga pada awal perkuliahan bulan September 1999 telah dapat digunakan.

Mencermati dinamika peserta didik dan pengembangan Institusi kedepan, pada tanggal 24 Desember 1998 dibentuklah Yayasan Science dan Teknologi dan dilanjutkan dengan pengajuan pendirian STIMIK IGI dan STIE IGI ke DIKTI.

Pada bulan Juli 1999 STIE IGI diresmikan dengan keluarnya SK Mendiknas no. 119/D/O/1999 dengan 5 program studi : Akuntansi S1, Manajemen S1, Manajemen Pemasaran D3, Keuangan Perbankan D3 serta Akuntansi D3.


(40)

Mendiknas no. 143/D/O/1999 dengan 5 program studi : Teknik Informatika S1, Manajemen Informatika D3, Teknik Komputer D3, Komputerisasi Akuntansi D3 serta Teknik Informatika D3.

Agar Sistem Pendidikan lebih Efisien, Efektif, Produktif dengan Struktur Organisasi yang lebih baik, enam bulan kemudian dilakukan usulan ke DIKTI untuk melakukan Merger kedua Sekolah Tinggi diatas menjadi Universitas.

Pada hari Selasa, tgl. 8 Agustus 2000 keluarlah SK MENDIKNAS no. 126/D/O/2000 atas Universitas Komputer Indonesia yang disingkat dengan nama UNIKOM.Pada SK tersebut sekaligus diijinkan dibukanya 11 program studi baru : Teknik Komputer S1, Manajemen Informatika S1, Teknik Industri S1, Teknik Arsitektur S1, Perencanaan Wilayah dan Kota S1, Ilmu Hukum S1, Ilmu Komunikasi S1, Ilmu Pemerintahan S1, Desain Interior D3, Desain Komunikasi Visual S1 dan Desain Komunikasi Visual D3.

Sejak berdirinya pada tahun 2000, setiap tahunnya UNIKOM menerima ± 2.000 mahasiswa baru. Terakhir pada tahun 2009 yang lalu diterima sebanyak 3.108 mahasiswa baru. Hingga tahun akademik 2009/2010 terdapat 6 Fakultas dan 23 Program Studi di UNIKOM dengan jumlah mahasiswa sebanyak 15.000 orang yang berasal dari berbagai pelosok tanah air dan dari luar negeri yang sedang menempuh pendidikan di UNIKOM.


(41)

1. Visi Perusahaan

Visi dari Program Studi Sistem Informasi UNIKOM adalah menjadikan Program Studi yang berkompeten, unggul, terdepan dalam bidang Teknologi dan sistem informasi serta menghasilkan lulusan yang berprestasi, berjiwa entrepreneur dan mampu berkompetisi di era global. 2. Misi Perusahaan

Misi dari Program Studi Sistem Informasi UNIKOM adalah:

a. Menyelenggarakan pendidikan akademik dan pengajaran profesional dengan memberikan pengetahuan teoritis maupun praktis yang efektif dan efisien dengan pemanfaatan teknologi informasi agar menghasilkan lulusan yang kompeten di bidang Sistem Informasi dan mampu mengaplikasikannya sesuai dengan kebutuhan pengguna (users), serta mampu menciptakan lapangan kerja sendiri secara tangguh dan mandiri.

b. Meningkatkan kualitas keterampilan mahasiswa untuk jaminan standar kualitas lulusan yang memiliki dedikasi, bermoral, berintegrasi, berwawasan dan mampu beradaptasi dengan perubahan lingkungan baik nasional maupun global.

c. Melaksanakan program pengabdian kepada masyarakat di bidang sistem Informasi sebagai tanggung jawab sosial dengan melibatkan partisipasi aktif sivitas akademika.


(42)

pendidikan, penelitian dan pengabdian masyarakat di tingkat nasional dan internasional secara efektif, efisien dan berkesinambungan untuk pengembangan dan keberlangsungan pendidikan.

e. Menjadikan tempat Uji Kompetensi dalam bidang Sistem Informasi dan teknologi Informasi.

3.1.3 Struktur Organisasi

Struktur organisasi mempunyai arti penting karena struktur organisasi merupakan bentuk atau pola formal kegiatan dan hubungan antara berbagai bagian-bagian didalam suatu peusahaan. Dengan mengetahui struktur organisasi dapat diperoleh gambaran tentang bagian-bagian yang ada di dalamnya, apa peranan masing-masing bagian tersebut dan wewenang serta tanggung jawabnya dalam melaksanakan tugasnya.

Gambar 3. 1 Struktur Organisasi Program Studi Sistem Informasi Unikom


(43)

Deskripsi tugas atau job description adalah suatu rincian yang menunjukan posisi, tanggung jawab, wewenang, fungsi dan tugas tugas yang harus dilakukan. Deskripsi tugas perlu dibuat agar masing – masing bagian mengerti akan kedudukan didalam organisasi. Adapun uraian jabatan pada Program Studi Sistem Informasi UNIKOM, yaitu :

a. Ketua Program Studi

Bertanggung jawab pada program yang berjalan untuk program studi yang dikepalai dan mengambil keputusan-keputusan pada program studi yang dikepalai.

b. Sekretaris Program Studi

Membantu ketua program studi dalam menjalankan tugasnya c. Sekretariat Program Studi

Mengurus segala keperluan administrasi perkuliahan pada program studinya d. Dosen Wali

Bertanggung jawab untuk setiap mahasiswa walinya dan membantu mahasiswa walinya yang dalam mengurus administrasi perkuliahan

e. Dosen Pembina Kemahasiswaan

Bertanggung jawab untuk membina organisasi-organisasi kemahasiswaan yang ada pada program studi

f. Dosen Koordinator Situs


(44)

Bertanggung jawab untuk mengkoordinasi kegiatan Tugas Akhir pada program studi

h. Staff Dosen

Bertanggung jawab untuk mengajarkan mata kuliah sesuai dengan jadwal yang ditentukan

3.2 Metode Penelitian

Metode penelitian yang digunakan adalah metode deskriptif dengan jenis penelitian studi kasus. Metode deskriptif adalah suatu metode dalam meneliti status kelompok manusia, suatu objek, suatu set kondisi, suatu sistem pemikiran ataupun suatu peristiwa pada masa sekarang.

3.2.1 Desain Penelitian

Desain penelitian merupakan perpaduan antara keputusan dan revisi dimana suatu keputusan yang diambil selalu diiringi dengan pengaruh adanya keseimbangan dalam proses.

3.2.2 Jenis Dan Metode Pengumpulan Data

Pengumpulan data terdapat dua sumber data yaitu sumber data primer dan sumber data sekunder.

3.2.2.1Sumber Data Primer (Wawancara, Observasi, Kuisioner)

Adapun langkah-langkah yang dilakukan oleh penulis dalam pengumpulan data diantaranya adalah :


(45)

Observasi yaitu pengamatan dengan cara pemusatan terhadap proses pembuatan jadwal kuliah, baik dalam penentuan prioritas-prioritas dalam pembuatan jadwal kuliah serta syarat-syarat tertentu yang harus dipenuhi pada jadwal kuliah yang ada pada UNIKOM, terkhusus Prodi Sistem Informasi.

2. Wawancara

Wawancara dengan ketua Prodi dan juga sekretariat jurusan untuk pengambilan data perihal dalam pembuatan jadwal kuliah pada Prodi Sistem Informasi di UNIKOM.

3.2.2.2Sumber Data Sekunder (dokumentasi)

Dalam pengambilan data sekunder ini penulis mengambil data-data yang berhubungan dengan proses penjadwalan kuliah di Prodi Sistem Informasi di UNIKOM serta literature atau bahan lain untuk dijadikan bahan dalam penyusunan skripsi.

Dokumentasi yang dibutuhkan antara lain:

1. Jadwal kuliah pada semester-semester sebelumnya

2. Data mengenai syarat dan prioritas yang harus ada pada penyusunan jadwal kuliah di Prodi Sistem Informasi UNIKOM.


(46)

aplikasi penjadwalan kuliah pada Program Studi Sistem Informasi UNIKOM.

3.2.3 Metode Pendekatan dan Pengembangan Sistem

Metode pendekatan dan pengembangan sitem merupakan sistematis dari proses penelitian yang dilakukan guna menyelesaikan permasalahan yang ada pada awal perencanaan penelitian hingga tercapainya penelitian tersebut dan pengembangan sistem yang diinginkan.

3.2.3.1Metode Pendekatan Sistem

Aplikasi yang akan dibangun merupakan aplikasi intern, digunakan untuk membuat jadwal kuliah pada Prodi Sistem Informasi di UNIKOM, di mana pengguna yang akan memakai applikasi tersebut adalah satu jenis pengguna (ditujukan untuk staff Tata Usaha atau Sekretariat Jurusan).

Desain penelitian ini dimodelkan dengan menggunakan pemodelan

prototype, yakni metode dalam pengembangan perangkat lunak dengan cepat dan bertahap agar dapat segera dievaluasi oleh pengguna. Penulis menggunakan metode pengembangan perangkat lunak prototype dengan harapan agar penulis akan dapat lebih mudah dalam merancang dan memenuhi kebutuhan dari pengguna dan dapat diterima dan digunakan pada prakteknya. Penulis menginginkan perancangan perangkat lunak yang telah dihasilkan dapat dipresentasikan kepada pengguna dan pengguna diberikan kesempatan untuk memberikan masukan-masukan, sehingga perangkat lunak yang dihasilkan


(47)

prakteknya.

Metode prototype merupakan metode pengembangan perangkat lunak yang dirancang agar dapat menerima perubahan-perubahan dalam rangka menyempurnakan prototype yang sudah ada hingga akhirnya perangkat lunak tersebut dapat memenuhi kebutuhan pengguna dan siap untuk digunakan. Berikut merupakan gambaran metode pendekatan yang digunakan oleh penulis:


(48)

serta kekurangan masing-masing. Kelebihan dan kekurangan metode prototype

antara lain: 1. Kelebihan

a. Pendefinisian kebutuhan dari pengguna akan lebih jelas karena pengguna terlibat secara langsung dalam proses pengembangan.

b. Meminimalisasi kesalahan yang mungkin terjadi, karena pada setiap versi prototype yang diberikan, pengguna dapat langsung mendeteksi kesalahan yang ada.

c. Pengguna dapat meminta perubahan-perubahan untuk penyempurnaan aplikasi.

d. Mempersingkat waktu yang dibutuhkan dalam pembangunan aplikasi secara keseluruhan.

e. Penghematan biaya jika dibandingkan dengan metodologi pengembangan secara tradisional.

2. Kekurangan

a. Perangkat lunak yang dibangun baru akan memberikan hasil yang optimal apabila pengguna sungguh-sungguh meluangkan waktu dalam pengembangan perangkat lunak.

b. Pengembang yang terlalu terkonsentrasi pada pengembangan versi prototype sering mengakibatkan terbengkalainya pendokumentasian. c. Kekurangan waktu pengembangan dapat menyebabkan sistem yang


(49)

respon kurang baik dari pengguna serta mengakibatkan pengembangan memakan waktu yang lama.

e. Apabila pengguna selalu memiliki perubahan permintaan atau penyempurnaan, ada kemungkinan prototype tidak akan pernah mendapat finalisasi.

Berikut merupakan tahapan-tahapan yang dilakukan penulis dalam rangka mengembangkan perangkat lunak yang menggunakan mekanisme pengembangan aplikasi dengan metode prototype:

a. Penulis mengidentifikasi kebutuhan dari pengguna, agar penulis dapat melakukan perancangan mengenai perangkat lunak yang akan dibangun agar sesuai dengan yang harapan dari pengguna. Sebelum memulai perancangan, penulis menganalisis kebutuhan dari pengguna dengan cara melakukan pengumpulan data dengan observasi dan wawancara, serta membaca beberapa literatur mengenai algoritma yang akan digunakan. b. Pada tahap kedua, penulis membuat prototype pertama untuk diperlihatkan

pada pengguna model agar dapat dilakukan pengembangan selanjutnya. c. Pada tahap ketiga, penulis melakukan uji coba perangkat lunak untuk

dapat memastikan bahwa perangkat lunak dapat dengan baik dan benar serta sesuai dengan kebutuhan dari pengguna.

d. Pada tahap keempat, penulis dan pengguna akan menentukan apakah

prototype perangkat lunak sudah dapat diterima dan sesuai kebutuhan, atau dilakukan perbaikan dan pengembangan berikut. Apabila harus dilakukan


(50)

tahap ke dua, yakni membuat prototype berikutnya untuk kemudian diuji lagi.

e. Pada tahap kelima (apabila perangkat lunak sudah sesuai dengan kebutuhan pengguna), penulis akan memberikan versi akhir pada pengguna agar dapat digunakan.

3.2.3.2Alat Bantu Analisis dan Perancangan

Sesuai dengan pendekatan pengembangan yang diambil penulis, pendekatan berbasis objek, maka penulis akan menggambarkan karakteristik dari perangkat lunak yang akan dibangun dengan menggunakan pemodelan Unified Modelling Language (UML). UML merupakan pemodelan perangkat lunak yang digunakan untuk perangkat lunak yang dibangun menggunakan pendekatan berbasis objek. Keunggulan dari UML antara lain:

1. Uniformity. Dengan metodologi UML (atau berorientasi objek pada

umumnya), para pengembang cukup menggunakan 1 metodologi dari tahap analisis hingga perancangan. Hal ini tidak bisa dilakukan dalam metodologi pengembangan terstruktur.Dengan perkembangan masa kini ke arah aplikasi GUI (Graphical User Interface), UML juga memungkinkan kita merancang komponen antar muka pengguna (User Interface) secara terintegrasi bersama dengan perancangan perangkat lunak sekaligus dengan perancangan basis data.


(51)

diorganisasi kedalam kelas-kelas yang menghubungkan masalah sesungguhnya sehingga lebih mudah dipahami siapa pun juga.

3. Stability. Kode program yang dihasilkan relatif stabil sepanjang waktu

sebab sangat mendekati permasalahan sesungguhnya dilapangan.

4. Reusability. Dengan metodologi berorientasi objek, dimungkinkan

penggunaan ulang kode, sehingga pada gilirannyaakan sangat mempercepat waktu pengembangan perangkat lunak.

Sebagaimana yang telah dijelaskan diatas tentang UML, bahwa untuk mendapatkan banyak pandangan terhadap sistem informasi yang akan dibangun, UML menyediakan beberapa alat bantu diagram visual yang menunjukan berbagai aspek dalam sistem. Ada beberapa alat bantu diagram yang disediakan dalam UML antara lain :

1. UseCaseDiagram

Use case mendepkripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan member sebuah narasi tentang bagaimana sistem tersebut digunakan. Use Case Diagram menampilkan

actor mana yang menggunakan Use Case mana, Use Case mana yang memasukan Use Case lain dan hubungan antara actor dan Use Case.

2. Activity Diagram

Diagram ini menjelaskan alur kerja suatu sistem. Activity diagram mirip dengan state diagram karena sejumlah aktifitas menggambarkan keadaan suatu proses dengan memperlihatkan urutan aktifitas yang dijalankan baik


(52)

menganalisis sebuah use case dengan menggambarkan aksi-aksi yang diperlukan dan kapan aksi-aksi tersebut dijalankan. Selain itu, activity diagram dapat menjelaskan urutan algoritma yang kompleks dan memodelkan sejumlah aplikasi dengan proses paralel.

3. Collaboration Diagram

Secara fungsional digram ini hampir mirip dengan sequence diagram.

Collaboration diagram memfokuskan pada interaksi dan hubungan diantara sekumpulan objek yang berkolaborasi. Hubungan-hubungan tersebut memperlihatkan objek aktual dan relasi yang terjadi diantara mereka yang digambarkan dengan sebuah garis. Di atas garis terdapat alur pesan yang dikirim objek yang berhubungan tersebut.

4. Class Diagram

Class diagram mendepkripsikan jenis-jenis objek dalam sistem dan berbagai macam hubungan statis yang terdapat diantara mereka. Class diagram juga menunjukan property dan operasi sebuah class dan batasan-batasan yang terdapat dalam hubungan-hubungan objek tersebut.

5. Sequence Diagram

Sequence diagram secara khusus menjabarkan behavior sebuah sekenario tunggal. Sequence diagram menunjukan sebuah objek contoh dan pasan-pesan yang melewati objek-objek dalam use case.


(53)

Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi

source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa

interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.

7. Deployment Diagram

Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan

requirement dapat juga didefinisikan dalam diagram ini.

3.2.4 Pengujian Software

Metode pengujian perangkat lunak merupakan cara atau teknik yang dilakukan untuk memeriksa suatu perangkat lunak, apakah perangkat tersebut sudah sesuai dengan analisis, perancangan, serta kebutuhan dari pengguna.


(54)

tahapan akhir pada suatu pengembangan perangkat lunak guna menentukan apakah perangkat lunak tersebut sudah dapat dirilis atau belum, dan umumnya memiliki kemungkinan yang sangat tinggi dalam menemukan kesalahan pada perangkat lunak (terutama pada pengujian awal). Jenis pengujian perangkat lunak umumnya dibagi menjadi dua, yakni metode white box testing yang merupakan metode di mana perangkat lunak diuji berdasarkan alur algoritma yang ada pada penulisan program (membuka source code dari perangkat lunak) dan metode

black box testing yakni metode diuji dengan mengikuti alur proses yang dijalankan oleh perangkat lunak secara fundamental tanpa memperhatikan logika dan penulisan algoritma pada internal perangkat lunak.

Pada karya ilmiah ini, penulis memilih untuk melakukan metode black box testing. Black box testing merupakan metode pengujian yang didasarkan pada proses dan spesifikasi dari perangkat lunak yang memiliki tujuan utama untuk menemukan :

1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface

3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa


(55)

BAB IV

ANALISIS DAN PERANCANGAN SISTEM

4.1 Analisis Sistem Yang Sedang Berjalan

Kegiatan analisis sistem yang berjalan dilakukan dengan analisis yang berorientasi pada objek-objek yang diperlukan oleh sistem yang dirancang, dimaksudkan untuk menitik beratkan kepada fungsi sistem yang berjalan dengan tidak terlalu menitik beratkan kepada alur proses dari sistem. Selanjutnya hasil analisis ini digambarkan dan didokumentasikan dengan metodologi berorientasi objek melalui diagram use case, skenario use case dan aktifitas diagram. Pertimbangan penggunaan diagram ini karena dianggap diagram-diagram tersebut mewakili secara keseluruhan sistem yang berjalan dan dapat dimengerti oleh user.

4.1.1 Analisis Kebutuhan

Sebelum membuat suatu sistem, hendaknya melakukan analisis terlebih dahulu terhadap kebutuhan-kebutuhan apa saja yang diperlukan dengan menggunakan metode-metode yang telah ada.

4.1.1.1Proses Bisnis


(56)

Petugas

2 3

Lingkungan Penjadwalan Lingkungan Luar Penjadwalan

Dosen

4

1

Gambar 4. 1 Proses Bisnis sistem yang sedang berjalan

Keterangan:

1. Dosen Mengisi data penawaran matakuliah dan menyerahkannya pada petugas penjadwalan kuliah.

2. Petugas memasukkan data jadwal kuliah sesuai dengan data penawaran matakuliah dari dosen.

3. Sistem melakukan pemeriksaan apakah data jadwal yang dimasukkan oleh penjadwal tidak ada yang mengalami bentrok. Jika jadwal ada yang bentrok maka sistem akan meminta petugas untuk memasukkan data jadwal kuliah kembali (proses no 2). Jika jadwal tidak ada yang bentrok maka sistem akan mencetak jadwal kuliah (proses no 4).

4. Sistem akan mencetak data penjadwalan kuliah berupa Jadwal Kuliah, BAP (Berita Acara Perkuliahan), dan Tugas Mengajar.


(57)

4.1.1.2Service Time

Sistem penjadwalan yang ada pada saat ini di program studi sistem informasi UNIKOM masih merupakan sistem penjadwalan yang semi manual. Maksudnya semi manual adalah proses pemasangan jadwal kuliah untuk ruang kuliah, dosen, kelas, dan mata kuliah masih dilakukan secara manual, tetapi ada applikasi yang digunakan untuk melakukan pengecekan akan mata kuliah yang berbentrokan, tetapi untuk perbaikannya masih juga dilakukan secara manual.

Proses yang dijalankan masihlah belum efisien dari segi waktu. Petugas harus memeriksa dan mencoba untuk membuat jadwal untuk setiap dosen, ruang, dan matakuliah agar tidak terjadi bentrok.

4.1.1.3Use Case Diagram

Use case diagram (diagram use case) adalah diagram yang menyajikan interaksi antara use case dan actor. Dimana actor dapat berupa orang, peralatan atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case

menggambarkan fungsionalitas sistem atau persyaratan – persyaratan yang harus dipenuhi sistem dari pandangan pemakai.

Berilkut ini adalah gambar model Use Case Diagram pembuatan jadwal kuliah yang ada di Sistem Informasi Unikom yang sedang berjalan :


(58)

Petugas Penjadwal

Proses Penjadwalan

Gambar 4. 2 Use Case Sistem Penjadwalan yang sedang berjalan

4.1.1.4Skenario Use Case

Skenario Use Case digunakan untuk memudahkan dalam menganalisa skenario yang akan kita gunakan pada fase-fase selanjutnya dengan melakukan penilaian terhadap skenario tersebut. Adapun tahapan dari skenario use case pada sistem penjadwalan yang sedang berjalan adalah sebagai berikut:

Nama use case: Proses Penjadwalan

Tabel 4. 1 Skenario use case sistem yang sedang berjalan

Judul Proses Penjadwalan

No. Use case UC-JADWAL-01

Deskripsi Use Case Aktor Mengisi data penjadwalan

Aktor Penjadwal

Trigger Aktor memasukkan data jadwal kuliah.

Kondisi Awal Aplikasi menampilkan form untuk mengisi data penjadwalan dosen dan kelas.


(59)

Skenario Normal

Aksi- Aktor Reaksi Sistem

1. Aktor mengisi field kosong pada form yang meminta data dosen dan kelas. 2. Aktor men-submit data dengan

menekan sebuah button untuk autentikasi.

3. Memeriksa kebenaran data yang digunakan aktor.

4. Sistem :

a. Menerima data penjadwalan. b. Menolak data penjadwalan.

Kondisi Akhir Skenario Normal:

1. Aplikasi:

a. Mengenerate hasil data penjadwalan.

b. Menampilkan form untuk pengisian data penjadwalan kembali.

Skenario Abnormal-1

Aksi- Aktor Reaksi Sistem

1. Aktor men-submit data dengan

menekan sebuah button tanpa mengisi data.

2. Memeriksa kebenaran data yang digunakan aktor.

3. Menampilkan pesan informasi bahwa data masih kosong.

Kondisi Akhir Skenario Abnormal-1:

Aplikasi menampilkan form untuk pengisian data penjadwalan kembali.

Catatan

Untuk pengisian data penjadwalan, applikasi hanya akan memeriksa apakah data yang dimasukkan akan bentrok atau tidak, yang memperbaiki dan men-generate data penjadwalan adalah aktor, sehingga proses ini memakan waktu yang cukup lama.


(60)

4.1.1.5Activity Diagram

Pada bagian ini akan digambarkan dokumentasi alur kerja pada sistem yang sedang berjalan yang bertujuan untuk melihat alur proses sistem yang sedang berjalan Mengisi Penawaran Mata Kuliah Menyerahkan Penawaran Mata Kuliah Menerima Penawaran Mata Kuliah Mengisi Data Penjadwalan Mencetak Jadwal Menyerahkan Jadwal Menerima Jadwal END Start

Dosen Petugas Penjadwal Sistem

Input data sesuai

Menampilkan pesan data

salah

Input data tidak sesuai

Ga


(61)

4.1.2 Evaluasi Sistem Yang Sedang Berjalan

Setelah dilakukan penelitian pada proses penjadwalan di Program Studi Sistem Informasi Unikom, terdapat beberapa kelemahan yang ditemukan pada sistem yang sedang berjalan. Kelemahan-kelemahan tersebut adalah sebagai berikut:

1. Sistem yang dilakukan masih memasangkan jadwal secara manual di mana ada applikasi yang berfungsi untuk melakukan pengecekan jadwal agar tidak berbentrokan.

2. Penjadwal sering kesulitan dalam memasangkan jadwal dari dosen karena adanya dosen yang hanya bisa mengajar pada waktu-waktu tertentu atau mengajar lebih dari satu mata kuliah.

3. Penjadwal sering kesuliatan dalam penentuan ruang kelas karena adanya ruangan-ruangan tertentu yang hanya tersedia pada waktu tertentu.

4. Penjadwal sering kesulitan dalam pemasangan dosen, ruang kuliah, dan mata kuliah terkhusus pada kelas beasiswa unggulan dan international program. 5. Pembuatan jadwal kuliah yang ada kerap memakan waktu yang cukup lama

karena sistem yang ada hanya melakukan pengecekan bentrokan, bukan memperbaiki atau menyusun jadwal kuliah.

6. Akibat dari jadwal kuliah yang lama dikeluarkan, maka sering kali mahasiswa harus melakukan perbaikan form rencana studi, dan dosen juga sering terlambat mendapatkan jadwal sehingga pada minggu-minggu awal sering ada dosen yang tidak masuk.


(62)

Melihat kasus yang terjadi diatas untuk itu penulis mencoba memberikan solusi untuk mengatasi permasalahan tersebut, yakni dengan membangun sebuah sistem yang dapat menangani:

1. Adanya matakuliah yang tidak boleh dijadwalkan pada saat yang bersamaan.

2. Adanya keinginan dosen untuk mengajar pada waktu-waktu tertentu. 3. Adanya keterbatasan akan waktu dan ruang kelas.

4. Adanya pembagian jenis kelas mahasiswa dan tipe ruang kelas. 5. Adanya dosen yang mengajar lebih dari 1 matakuliah pada semester

yang sama.

6. Adanya pemilihan untuk dosen mengajar di kelas-kelas tertentu 7. Dosen tidak boleh mengajar lebih dari 6 sks secara berturut-turut


(63)

4.2 Perancangan Sistem

Pada tahap perancangan sistem ini akan dijelaskan mengenai perancangan sistem pada objek yang digunakan, perancangan arsitektur program yang akan dibuat, perancangan tampilan dan perancangan menu.

4.2.1 Tujuan Perancangan Sistem yang Diusulkan

Perancangan sistem merupakan suatu kegiatan pengembangan prosedur dan proses yang sedang berjalan untuk menghasilkan sesuatu yang baru atau memperbaharui sistem yang ada untuk meningkatkan kinerja sistem itu sendiri, agar dapat memenuhi hasil yang diinginkan. Rancangan sistem yang baru, akan diterapkan suatu kegiatan untuk menemukan dan mengembangkan metoda, prosedur dan proses suatu data agar tujuan dari suatu organisasi dapat tercapai.

Adapun tujuan dari perancangan sistem ini adalah untuk menghasilkan suatu rancangan sistem yang memperbaharui sistem yang sudah ada untuk memaksimalkan proses penjadwalan yang sedang berjalan.

4.2.2 Gambaran Umum Sistem yang Diusulkan

Gambaran umum tentang sistem yang diusulkan pada proses perancangan ini adalah suatu sistem yang digunakan untuk membuat jadwal kuliah atau sistem penjadwalan dengan harapan mampu menangani permasalahan yang ada pada sistem yang sedang berjalan pada Program Studi Sistem Informasi Unikom, terkhusus pada penanganan optimalisasi waktu yang dibutuhkan untuk pembuatan jadwal. Sistem ini diharapkan akan membantu efektifitas dan optimalisasi waktu pada saat pembuatan jadwal kuliah. Sistem informasi ini diharapkan dapat


(64)

membantu mengatasi masalah yang ada, dan dapat menghasilkan informasi yang cepat, tepat dan akurat.

4.2.3 Perancangan Prosedur yang Diusulkan

Perancangan Prosedur merupakan awal dari pembuatan sistem yang akan dibuat, dimana dapat dilihat proses-proses apa saja yang nantinya diperlukan dalam pembuatan suatu sistem. Sedangkan perancangan prosedur yang diusulkan merupakan tahap untuk memperbaiki atau meningkatkan efisiensi kerja. Tahap perancangan sistem yang digambarkan merupakan tahap perancangan untuk membangun suatu sistem dan mengkonfigurasikan komponen-komponen perangkat lunak dan perangkat keras sehingga menghasilkan sistem yang baik. Sistem yang dirancang tersebut menjadi satu komponen. Tahapan perancangan prosedur ini akan dijelaskan dengan menggunakan pemodelan sistem informasi berorientasi objek dengan UML.


(65)

4.2.3.1Proses Bisnis

Proses bisnis dari target sistem adalah sebagai berikut:

Petugas

2 3

Lingkungan Penjadwalan Lingkungan Luar Penjadwalan

Dosen

4

1

Gambar 4. 4 Proses Bisnis Target Sistem

Keterangan:

1. Dosen Mengisi data penawaran matakuliah dan menyerahkannya pada petugas penjadwalan kuliah.

2. Petugas memasukkan data jadwal kuliah sesuai dengan data penawaran matakuliah dari dosen.

3. Sistem akan men-generate jadwal kuliah sesuai dengan data penjadwalan yang ada.

4. Sistem akan mencetak data penjadwalan kuliah berupa Jadwal Kuliah, BAP (Berita Acara Perkuliahan), dan Tugas Mengajar.


(66)

4.2.3.2Service Time

Dengan sistem penjadwalan yang ditargetkan, proses penjadwalan akan mampu mengoptimalisasi waktu yang dibutuhkan dalam penjadwalan. Hal ini dikarenakan penjadwal tidak perlu lagi menentukan jadwal kuliah untuk setiap dosen, karena target sistem akan langsung men-generate penjadwalan kuliah.

4.2.3.3Use Case Diagram

Use case diagram (diagram use case) adalah diagram yang menyajikan interaksi antara use case dan actor. Dimana actor dapat berupa orang, peralatan atau sistem lain yang berinteraksi dengan sistem yang sedang dibangun. Use case menggambarkan fungsionalitas sistem atau persyaratan-persyaratan yang harus dipenuhi sistem dari pandangan pemakai.


(67)

Petugas Penjadwal Petugas Penjadwal

Menambah Data Dosen

Menambah Data Mata Kuliah

Menambah Data Ruangan

Generate Jadwal Menambah/Mengubah Data

Penawaran Mengubah Data Dosen

Mengubah Data Mata Kuliah

Mengubah Data Ruangan

Maintain Kelas

Gambar 4. 5 Use Case Diagram untuk Target Sistem

4.2.3.4Skenario Use Case

Skenario Use Case digunakan untuk memudahkan dalam menganalisa skenario yang akan kita gunakan pada fase-fase selanjutnya dengan melakukan penilaian terhadap skenario tersebut.


(68)

4.2.3.4.1 Skenario Menambah Data Dosen

Tabel 4. 2 Tabel skenario use case menambah data dosen

Judul Menambah data dosen

No. Use case UC-JADWAL-01

Deskripsi Use Case Aktor menambahkan data dosen.

Aktor Penjadwal

Trigger Aktor memilih menu untuk menambahkan data dosen.

Kondisi Awal Aplikasi menampilkan sebuah form untuk menambahkan data dosen.

Skenario Normal

Aksi- Aktor Reaksi Sistem

1. Aktor mengisi field kosong pada form yang data dari dosen yang akan ditambahkan.

2. Aktor men-submit data dosen yang ingin ditambahkan.

3. Sistem memeriksa apakah field-field

pada form pengisian dosen telah diisi dan sesuai.

4. Data dosen ditambahkan pada

database.

Kondisi Akhir Skenario Normal:

Data dosen yang baru dimasukkan tampil pada list data dosen

Skenario Abnormal-1


(69)

1. Aktor men-submit data dengan

menekan sebuah button tanpa mengisi

field-field pada form.

2. Form pengisian data dosen

ditampilkan dan ada pesan kesalahan yang menyatakan field harus diisi. 3. Data dosen tidak ditambahkan pada

database. Kondisi Akhir Skenario Abnormal-1:

Aplikasi menampilkan formpengisian data dosen.

Catatan

4.2.3.4.2 Skenario mengubah data dosen

Tabel 4. 3 Skenario use case mengubah data dosen

Judul Mengubah data dosen

No. Use case UC-JADWAL-02

Deskripsi Use case Aktor mengubah data dosen.

Aktor Penjadwal

Trigger Aktor menekan salah satu dari data dosen yang akan dirubah.

Kondisi Awal Aplikasi menampilkan sebuah form untuk mengubah data dosen.

Skenario Normal

Aksi- Aktor Reaksi Sistem

1. Aktor mengubah data pada field yang diinginkan.


(70)

2. Aktor men-submit data dosen yang ingin ditambahkan.

3. Sistem memeriksa apakah field-field

pada form pengisian dosen telah diisi dan sesuai.

4. Data dosen dirubah pada database.

Kondisi Akhir Skenario Normal:

Data dosen yang baru dimasukkan tampil pada list data dosen

Skenario Abnormal-1

Aksi- Aktor Reaksi Sistem

1. Aktor men-submit data dengan menekan sebuah button di mana ada

field-field pada form yang seharusnya diisi tetapi dikosongkan.

2. Form pengisian data dosen

ditampilkan dan ada pesan kesalahan yang menyatakan field harus diisi.

3. Data dosen tidak ditambahkan pada

database. Kondisi Akhir Skenario Abnormal-1:

Aplikasi menampilkan formuntuk mengubah data dosen.

Catatan

4.2.3.4.3 Menambah data mata kuliah

Tabel 4. 4 Skenario use case menambah data mata kuliah

Judul Menambah mata kuliah

No. Use case UC-JADWAL-03

Deskripsi Use Case Aktor menambahkan data mata kuliah.


(1)

Gambar 5. 29 Form Entry Data Ruangan untuk pengubahan data ruangan

Hasil:

[ ] Diterima [ ] Ditolak


(2)

10.Pencetakan BAP

Pengguna dapat mencetak BAP dari jadwal yang sudah di-generate dengan menekan tombol Berita Acara Perkuliahan Report pada halaman utama.

Gambar 5. 30 Form Penjadwalan Mata Kuliah (Form Utama) untuk pencetakan BAP

Hasil:

[ ] Diterima [ ] Ditolak

11.Pencetakan Tugas Mengajar

Pengguna dapat mencetak Tugas Mengajar dari jadwal yang sudah di-generate dengan menekan tombol Tugas Mengajar Report pada halaman utama.


(3)

Gambar 5. 31 Form Penjadwalan Mata Kuliah (Form Utama) untuk pencetakan Tugas Mengajar

Hasil:

[ ] Diterima [ ] Ditolak

12.Pencetakan Jadwal Kuliah

Pengguna dapat mencetak Jadwal Kuliah dari jadwal yang sudah di-generate dengan menekan tombol Jadwal Kuliah Report pada halaman utama.


(4)

Gambar 5. 32 Form Penjadwalan Mata Kuliah (Form Utama) untuk pencetakan Jadwal Kuliah

Hasil:

[ ] Diterima [ ] Ditolak

5.2.3 Kesimpulan Hasil Pengujian

Berdasarkan hasil pengujian uji sample di atas dapat disimpulan bahwa perangkat lunak Sistem Informasi penjadwalan dapat berjalan dengan baik dan mengeluarkan hasil sesuai dengan yang diharapkan.


(5)

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Perancangan Sistem Penjadwalan Kuliah pada Program Studi Sistem Informasi UNIKOM ini merupakan perancangan dari sistem sebelumnya yang masih menggunakan sistem semi manual, maka hasil dari pembahasan sebelumnya dapat disimpulkan bahwa:

1. Dengan adanya sistem Penjadwalan Kuliah ini maka proses penjadwalan kuliah dapat dilakukan dengan lebih cepat dan efektif.

2. Applikasi yang dibangun ini akan memberikan kemudahan bagi penjadwal dalam segi waktu dan penjadwal tidak perlu lagi melakukan pemasangan atau perbaikan jadwal yang berbentrokan.

3. Dalam proses penjadwalan, data jadwal yang tersimpan sudah tidak lagi ada yang berbentrokan.

6.2 Saran

Berdasarkan proses perancangan yang telah dibangun dan dilihat dari segi waktu yang masih dibutuhkan untuk applikasi dalam melakukan penjadwalan, maka beberapa saran yang dapat diusulkan adalah:

1. Untuk pengembangan lebih lanjut, diharapkan agar algoritma penjadwalan yang ditanamkan pada applikasi dapat lebih dioptimalisasi dari segi waktu


(6)

karena pada saat data dosen, ruangan, kelas, dan mata kuliah cukup banyak, waktu yang diperlukan untuk penjadwalan masih tergolong cukup lama. .