GENERATOR DENAH MEJA UJIAN DENGAN IMPLEMENTASI ALGORITMA BACKTRACKING.

(1)

GENERATOR DENAH MEJA UJIAN DENGAN

IMPLEMENTASI ALGORITMA BACKTRACKING

SKRIPSI

Sebagian dari persyaratan untuk memperoleh gelar Sarjana Komputer

Oleh: Renaldy Fransius

0607699

PROGRAM STUDI ILMU KOMPUTER

FAKULTAS PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS PENDIDIKAN INDONESIA

BANDUNG 2013


(2)

PENGESAHAN

GENERATOR DENAH MEJA UJIAN DENGAN IMPLEMENTASI ALGORITMA BACKTRACKING

Oleh: RenaldyFransius

0607699

DISETUJUI DAN DISAHKAN: Pembimbing I,

Rasim, M.T.

NIP. 197407252006041002

Pembimbing II,

Wahyudin, M.T.

NIP. 197304242008121001

MENGETAHUI:

Ketua Program Studi Ilmu Komputer 2013,

Rasim, M.T.


(3)

PERNYATAAN

Dengan ini saya menyatakan bahwa skripsi dengan judul “Generator

Denah Meja Ujian dengan Implementasi Algoritma Backtracking” ini beserta seluruh isinya adalah benar-benar karya saya sendiri. Saya tidak melakukan penjiplakan atau pengutipan dengan cara-cara yang tidak sesuai dengan etika ilmu yang berlaku dalam masyarakat keilmuan.

Atas pernyataan ini, saya siap menanggung resiko/sanksi apabila di kemudian hari ditemukan adanya pelanggaran etika keilmuan atau ada klaim dari pihak lain terhadap keaslian karya saya ini.

Bandung, September 2013 Pembuat pernyataan,

Renaldy Fransius


(4)

i

ABSTRAK

Beberapa penelitian mengidentifikasikan bahwa teknik menyontek yang paling umum digunakan adalah bertukar jawaban dengan peserta didik yang berada pada posisi terdekat atau melihat jawaban tanpa sepengetahuan orang yang bersangkutan. (Davis, et al, 1998). Pada penelitian ini dibangun sebuah sistem generator denah meja ujian agar setiap meja ujian memiliki kode soal yang berbeda dari meja tetangganya baik secara vertikal, horizontal dan diagonal dengan mengimplementasikan algoritma backtracking. Pengujian kemudian dilakukan pada matriks dengan berbagai dimensi dimulai dari jumlah kode soal 1 hingga 9. Dari hasil pengujian disimpulkan bahwa untuk kode soal < 4, persoalan dinyatakan tidak akan memiliki solusi kecuali jumlah baris atau kolom pada matriks juga < 4. Untuk jumlah kode soal ≥ 4, persoalan pastilah memiliki solusi berapapun dimensi matriksnya.

Kata Kunci: menyontek, algoritma backtracking, generator denah


(5)

ii ABSTRACT

Some research have identified that the most commonly cheating technique used while exam are exchanging the exam answers with other classmates who sit at the closest range then copying their answer sheet without being noticed (Davis, et al, 1998). In this paper, exam class generator was built by implementing backtracking algorithm in order to arrange exam sheets, so each cell has different code with the cell around. The testing of system then performed on some matrix variety which have sum of exams code within 1 to 9. The results shows, for sum of code < 4, each case will never has any solution unless row or column of the matrix is also < 4. And for sum of code ≥ 4, every case will have solution regardless of the matrix dimension.

Keyword: cheat in exam, backtracking algorithm, exam class generator, matrix, distribution of exams sheets.


(6)

v

DAFTAR ISI

KATA PENGANTAR ... i

ABSTRAK ... iii

ABSTRACT ... iv

DAFTAR ISI... v

DAFTAR TABEL ... viii

DAFTAR GAMBAR... ix

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 4

1.3 Batasan Masalah ... 4

1.4 Tujuan Penelitian ... 5

1.5 Metodologi ... 5

1.6 Sistematika Penulisan ... 6

BAB II TINJAUAN PUSTAKA ... 8

2.1 Ujian... 8

2.1.1 Definisi Ujian ... 8

2.1.2 Fungsi Ujian ... 10

2.1.3 Jenis Ujian... 11

2.1.4 Properti Umum Ujian... 11

2.2 Algoritma Backtracking ... 13

2.2.1 Definisi dan Sejarah Singkat... 13

2.2.2 Properti Umum Algoritma Backtracking ... 14

2.2.3 Pengorganisasian dan Prinsip Pencarian Solusi... 15


(7)

vi

2.3 Matriks ... 19

2.3.1 Definisi Matriks ... 19

2.3.2 Jenis-Jenis Matriks ... 20

2.4 Kecerdasan Buatan... 23

BAB III METODOLOGI PENELITIAN ... 24

3.1 Alat dan Bahan Penelitian... 24

3.2 Desain Penelitian... 25

3.3 Tahapan Penelitian ... 26

3.4 Pengembangan Perangkat Lunak ... 27

BAB IV HASIL PENELITIAN DAN PEMBAHASAN ... 31

4.1 Hasil Penelitian ... 31

4.1.1 Peran Penting Ujian ... 31

4.1.2 Representasi Matriks Ruang Ujian ... 32

4.1.3 Analisis Sel Matriks ... 33

4.1.4 Analisis Sistem Generator Denah Meja Ujian (GDMU) ... 35

4.1.4.1 Set Size Kelas... 35

4.1.4.2 Generator Value ... 36

4.1.4.3 Pengecekan Sel (is Safe?) ... 38

4.1.4.4 Implementasi Backtracking ... 41

4.1.4.5 Simulasi Sistem GDMU ... 44

4.1.5 Rancang Bangun GDMU ... 49

4.1.5.1 Analisis Kebutuhan... 49

4.1.5.2 Pengujian Perangkat Lunak ... 51

4.1.5.3 Tampilan dan Fitur ... 52


(8)

vii

4.2.1 Pengujian Pencarian Solusi ... 56

4.2.1.1 Matriks 3x3, Jumlah Kode Soal 1 hingga 9... 57

4.2.1.2 Matriks dengan Kolom atau Baris = 1 ... 61

4.2.1.3 Matriks dengan Jumlah Kode Soal <, =, > dari Baris... 62

4.2.1.4 Contoh Khusus IK201, Jumlah Kode Soal 4 hingga 9 ... 64

4.2.2 Kesimpulan Hasil Pencarian Solusi ... 67

BAB V KESIMPULAN DAN SARAN ... 68

5.1 Kesimpulan ... 68

5.2 Saran... 69


(9)

viii

DAFTAR TABEL

Gambar 4.1 Tabel Korelasi Antar Sel ... 34 Gambar 4.2 Tabel Pengujian Perangkat Lunak ... 51


(10)

ix

DAFTAR GAMBAR

Gambar 2.1 Contoh Ruang Ujian... 12

Gambar 3.1 Desain Penelitian... 25

Gambar 3.2 Diagram Model Waterfall Pressman ... 27

Gambar 4.1 Representasi Ruang SD-SMA  Matriks ... 32

Gambar 4.2 Representasi Ruang Kuliah  SMA ... 33

Gambar 4.3 Representasi Ruang Bimbel  Matriks... 33

Gambar 4.4 Representasi Gedung Ilkom IK201  Matriks ... 33

Gambar 4.5 Rentang Pengecekan Sel Tetangga ... 34

Gambar 4.6 Deskripsi Umum Aplikasi GDMU ... 50

Gambar 4.7 Use Case Diagram GDMU ... 50

Gambar 4.8 Class Diagram GDMU... 51

Gambar 4.9 Tampilan Utam GDMU ... 52

Gambar 4.10 Generate Denah GDMU ... 53

Gambar 4.11 Ubah Kode Soal GDMU ... 53

Gambar 4.12 Ubah Nama Kode Soal GDMU ... 54

Gambar 4.13 Hasil Perubahan Kode Soal GDMU ... 54


(11)

1

BAB I PENDAHULUAN

1.1 Latar Belakang

Salah satu permasalahan dunia pendidikan yang akan diangkat dalam penelitian ini adalah seputar kecurangan ketika ujian berlangsung yaitu menyontek. Menyontek memiliki arti yang beraneka macam, tetapi biasanya dihubungkan dengan kehidupan akademik khususnya ketika ujian, baik itu ujian harian, UAS, dan ujian tulis lainnya.

Sebenarnya perilaku menyontek sudah lama terjadi, bila ditanya kapan perilaku menyontek mulai terjadi, tentu sulit menjawabnya, sesulit jika ditanya kapan manusia mulai berbohong. Menurut Pincus dan Schemelkin (2003), menyontek merupakan suatu tindakan curang yang sengaja dilakukan ketika seseorang mencari dan membutuhkan adanya hasil belajar dari orang lain meskipun dengan cara tidak sah. Maka menyontek dapat juga diartikan sebagai pengambilan atau permintaan bantuan yang tidak legal pada saat ujian serta merupakan bentuk perilaku moral yang menunjukkan ke tidak jujuran peserta didik.

Berdasarkan beberapa penelitian dapat diidentifikasi bahwa ada beberapa teknik menyontek yang biasa dilakukan. Hasil survey penelitian Davis dan rekannya (1998) mengindikasikan bahwa sekitar 80% tindakan yang biasa dilakukan para penyontek pada saat ujian adalah menyalin kertas jawaban dari teman terdekat, atau menanyakan rumus untuk menjawab soal dan menggunakan kertas contekan sebagai media interaksi dengan rekan terdekat.


(12)

2

Perilaku menyontek tidak hanya dilakukan oleh peserta didik berprestasi rendah, tetapi juga mereka yang berprestasi tinggi pernah melakukannya. Survey yang diadakan, “Who’s Who among American high school Student” menunjukkan

bahwa mahasiswa terpandai mengakui pernah melakukan menyontek untuk mempertahankan prestasinya (Parson et al, 2001). Kecenderungan menyontek akan mengakibatkan ujian tidak memiliki manfaat bagi peserta didik. Hasil ujian yang menjadi alat ukur kualitas pun bukanlah merupakan hasil kompetensi dari peserta ujian yang bersangkutan. Hal ini akan mempersulit kelangsungan hidup peserta didik di kemudian hari, baik di jenjang pendidikan selanjutnya maupun di dunia kerja.

Dalam beberapa dekade beragam terobosan sudah dikembangkan sebagai upaya penekanan kecurangan saat ujian berlangsung. Salah satu diantaranya adalah metode klasifikasi kode soal ujian, yaitu metode yang mengacak urutan soal ujian dan mengelompokkannya ke dalam beberapa kode soal agar setiap soal ujian memiliki kunci jawaban yang berbeda sesuai dengan kode soalnya.

Contoh kasus, dengan menggunakan aplikasi pengacak urutan soal ujian, seorang guru kimia SMA membuat paket soal ujian harian yang terdiri dari 4 buah kode soal, yakni A/B/C/D atau 1/2/3/4. Dimana setiap kode soal memiliki kunci jawaban yang berbeda-beda, sesuai dengan kodenya. Namun metode klasifikasi kode soal tersebut tidak akan efektif jika ada peserta ujian yang memperoleh kode soal ujian yang sama dengan peserta ujian lainnya dimana posisi meja ujian mereka tidak terpaut jarak satu mejapun. Tentunya kecurangan seperti menyontek dan bertukar jawaban antar peserta ujian masih dapat dilakukan secara langsung.


(13)

3

Maka dari itu urgensi permasalahan yang melandasi penelitian ini adalah perlunya diadakan suatu metode komputasi yang dapat mengatur denah meja ujian supaya tidak terjadi kesamaan pembagian kode soal ujian sehingga menyontek ataupun bertukar jawaban antar peserta ujian tidak dapat dilakukan secara langsung. Ada beragam macam algoritma pencarian solusi yang dapat diterapkan pada penelitian ini, namun yang dipilih adalah algoritma backtracking.

Algoritma backtracking pertama kali diperkenalkan oleh D.H Lehmer

pada tahun 1950.. Algoritma backtracking mencari solusi berdasarkan ruang solusi yang ada secara sistematis namun tidak semua ruang solusi akan diperiksa, hanya pencarian yang mengarah kepada solusi saja yang akan diproses (Rinaldi Munir, 2005). Algoritma backtracking mempunyai prinsip dasar yang sama seperti brute-force yaitu mencoba segala kemungkinan solusi. Perbedaan utamanya adalah pada ide dasarnya, semua solusi dibuat dalam bentuk pohon solusi (pohon ini tentunya berbentuk abstrak) dan algoritma akan menelusuri pohon tersebut secara DFS (depth field search) sampai ditemukan solusi yang layak.

Alasan utama penulis memilih algoritma backtracking pada penelitian ini adalah algoritma ini melakukan pencarian langsung menuju solusi akhir saja tanpa harus memeriksa semua kemungkinan solusi yang ada sehingga dapat dikatakan algoritma ini lebih efisien dari segi kecepatan proses pencarian solusi dan penggunaan memori.

Berdasarkan latar belakang tersebut maka skripsi ini diberi judul


(14)

4

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan, maka permasalahan yang akan dikaji dalam penelitian ini dapat dijabarkan ke dalam beberapa pertanyaan penelitian sebagai berikut:

1. Bagaimana pola denah meja ujian yang tepat agar setiap peserta ujian tidak dapat melakukan kecurangan secara langsung pada saat ujian?

2. Bagaimana mekanisme kerja dan implementasi algoritma backtracking pada sistem agar dapat menghasilkan denah yang tepat?

3. Bagaimana pengaruh dimensi kelas dan jumlah kode soal terhadap denah yang akan dibuat?

1.3 Batasan Masalah

Agar penelitian ini lebih terarah, maka peneliti akan memberikan batasan-batasan pada permasalahan terkaji. Batasan masalah yang ditetapkan yaitu:

1. Dimensi kelas harus dapat direpresentasikan dalam bentuk matriks, dimana luas dimensi kelas merupakan hasil kali dari jumlah meja pada barisan dengan jumlah meja pada kolom.

2. Jumlah kode soal pastinya harus lebih besar (>) dari 1. 3. Jumlah kode soal hendaknya tidak melebihi luas kelas.

1.4 Tujuan Penelitian

Tujuan yang ingin dicapai dengan melakukan penelitian ini adalah membangun suatu perangkat lunak yang dapat membangkitkan denah meja ujian untuk mencegah terjadinya kecurangan pada saat ujian. Dengan demikian, supaya


(15)

5

perangkat lunak yang akan dibangun lebih terarah maka detil yang ingin peneliti capai antara lain:

1. Menemukan pola denah meja ujian yang tepat agar para peserta ujian tidak dapat melakukan kecurangan secara langsung pada saat ujian.

2. Membangun aplikasi generator denah meja ujian dengan mengimplementasikan algoritma backtracking.

3. Mengetahui pengaruh jumlah kode soal dan dimensi kelas terhadap denah meja ujian yang dibuat.

1.5 Metodologi

Metode yang akan digunakan pada peneletian ini yaitu: 1. Metode pengumpulan data

Dengan mempelajari literatur (buku, artikel, situs) yang berkaitan dengan teori dan pengaplikasian bahasa pemrograman yang dibutuhkan. 2. Metode pengembangan sistem

a. Analisis Kasus

Kasus yang dirumuskan pada penelitian kemudian dianalisis berdasarkan tinjauan pustaka untuk membangun sistem yang dibutuhkan.

b. Perancangan

Dari hasil analisis dibuatlah rancangan sistem, dimana dengan beberapa input-an parameter, sistem dapat menghasilkan denah meja ujian yang tepat dengan mengimplemetasikan algoritma backtracking. c. Coding


(16)

6

Setelah perancangan sistem rampung dan sesuai dengan kebutuhan maka selanjutnya masuk pada tahap coding.

d. Testing

Setelah tahap coding aplikasi rampung dan siap untuk digunakan, maka sebelumnya dilakukan uji coba dahulu terhadap sistem untuk mengetahui kelemahan yang terdapat pada sistem.

3. Penulisan skripsi

Dimulai dari pembuatan proposal hingga pembuatan kesimpulan baik dari teori, implementasi, dan aplikasi yang akan dibuat nantinya.

1.6 Sistematika Penulisan

Penulisan Skripsi tersusun dalam 5 (lima) bab dengan sistematika penulisan sebagai berikut:

1. BAB I Pendahuluan

Bab pendahuluan berisi latar belakang masalah, rumusan masalah, tujuan penelitian, metodologi, dan sistematika penyusunan skripsi.

2. BAB II Tinjauan Pustaka

Tinjauan pustaka berisi beberapa teori yang mendasari penelitian. Adapun yang dibahas dalam bab ini adalah teori yang berkaitan dengan latar belakang dan rumusan masalah.

3. BAB III Metodologi Penelitian

Di dalam bab ini dibahas mengenai kebutuhan perangkat keras dan perangkat lunak, desain penelitian, metode pengembangan perangkat lunak. Untuk jadwal pelaksanaan tercantum pada proposal skripsi.


(17)

7

4. BAB IV Hasil Penelitian dan Pembahasan

Bab ini berisi hasil penelitian berupa analisis sistem dengan implementasi algoritma yang diterapkan dan pembahasan mengenai pengujian dan hasil uji dari sistem yang dibangun.

5. BAB V Penutup


(18)

24

BAB III

METODOLOGI PENELITIAN

3.1 Alat dan Bahan Penelitian

1. Alat Penelitian

Alat penelitian berupa perangkat keras dan perangkat lunak sebagai

tools yang akan digunakan untuk merancang aplikasi generator denah

meja ujian, antara lain: a. Perangkat keras

1) Pentium 4 3Ghz LGA 2) RAM 2 GB

3) Mouse dan Keyboard

b. Perangkat lunak 1) Windows XP SP3

2) Microsoft Office 2007

3) Netbeans 7

4) Java Development Kit

2. Bahan Penelitian

Sistem generator denah meja ujiian yang dirancang membutuhkan beberapa bahan penelitian berupa data, antara lain:

a. Dimensi kelas, meliputi baris dan kolom kelas b. Jumlah kode soal.


(19)

25

3.2 Desain Penelitian

Berikut ini merupakan desain penelitian dari implementasi algoritma

backtracking pada generator denah meja ujian.

Gambar 3.1 Desain Penelitian Perumusan Masalah Analisis Masalah Hasil Penelitian Studi Literatur Dokumentasi Aplikasi Skripsi Dokumen Teknis Jurnal Pembangunan

Sistem dan Aplikasi Generator

Denah Meja Ujian

Metode Pengembangan Perangkat Lunak  analisis  desain  coding testing Implementasi:  matriks  cek sel  isi sel  algoritma


(20)

26

3.3 Tahapan Penelitian

Berdasarkan desain penelitian pada gambar 3.1, tahapan penelitian dijelaskan sebagai berikut:

1. Perumusan Masalah

Merupakan dasar pemikiran dalam penelitian ini. Dimana latar belakang diuraikan ke dalam beberapa poin.

2. Studi Literatur

Mencari dasar-dasar teori yang diperlukan untuk pelaksanaan penelitian.

3. Analisis Masalah

Menganalisa rumusan masalah berdasarkan tinjauan pustaka yang digunakan pada studi literatur hingga melahirkan hasil analisis.

4. Pembangunan Sistem Generator Denah Meja Ujian

Menerapkan implementasi hasil analisis masalah pada pembangunan sistem dan kemudian pengembangan perangkat lunak akan dilakukan dalam beberapa tahapan sesuai dengan metode yang dipilih.

5. Hasil Penelitian

Hasil penelitian diperoleh dari pengujian beberapa kombinasi dimensi kelas dan jumlah kode soal dengan aplikasi yang telah dibangun sebagai media penguji.

6. Dokumentasi

Merupakan pembuatan laporan skripsi, dokumen teknis perangkat lunak dan jurnal penelitian yang telah dilakukan.


(21)

27

Pemodelan Perangkat Lunak

3.4 Pengembangan Perangkat Lunak

Siklus pengembangan sistem atau perangkat lunak penelitian merupakan suatu cara yang digunakan untuk menggambarkan langkah-langkah tahapan utama dalam proses pengembangan sistem. Untuk proses pengembangan sistem ini, diantaranya melalui beberapa tahapan dari mulai perencanaan, analisis sampai sistem terebut diimplementasikan dan dipelihara. Berikut adalah gambar siklus hidup pengembangan sistem yang digunakan dalam penelitian ini, yakni menggunakan model pengembangan sistem waterfall.

Gambar 3.2 Diagram Model Waterfall Pressman

Langkah-langkah pengembangan sistem waterfall pada rancang bangun aplikasi ini terdiri dari:

1. Scope

Kegiatan awal pada perencanaan adalah penentuan scope. Pernyataan

scope mencakup data, fungsi dan perilaku yang harus diimplementasikan, performance dan constrain serta informasi- informasi pendukung lainnya.

2. Analisa

Tujuan analisa adalah sebagai berikut: a. Menggambarkan kebutuhan aplikasi.

b. Membangun dasar-dasar untuk proses desain perangkat lunak.

DESAIN CODING TESTING


(22)

28

3. Perancangan

Perancangan perangkat lunak adalah proses dimana analisa diterjemahkan menjadi “cetak-biru” untuk membangun perangkat lunak. Awalnya, cetak biru menggambarkan pandangan menyeluruh perangkat lunak. Yaitu, desain diwakili pada tingkat abstraksi tinggi-tingkat yang dapat langsung ditelusuri pada sistem tertentu objektif dan data yang lebih rinci, fungsional, dan perilaku persyaratan. Seperti terjadi pada pengulangan desain, perbaikan berikutnya mengarah pada representasi desain yang jauh lebih rendah tingkat abstraksi. Berikut adalah metode perancangan yang dipakai:

a. Perancangan Data

Yaitu transformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi. Hasil perancangan data adalah:

1) Struktur data siap diprogram

2) Struktur basis data siap dibuat oleh pemrogram

3) Prosedur/operasi untuk mengakses data, siap deprogram b. Perancangan Arsitekstural

Yaitu definisi keterkaitan antar elemen-elemen utama yang akan membentuk program. Hasil perancangannya adalah:

Structure Chart yang merepresentasikan gambaran menyeluruh


(23)

29

kendali/passing parameter, yang siap dituliskan dalam bentuk modul program.

c. Perancangan Antarmuka

Yaitu penjabaran komunikasi: internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya.

1) Definisi antarmuka modul yang siap untuk diprogram.

2) Definisi/format rancangan layar yang siap diimplementasikan. d. Perancangan Prosedur

Yaitu transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur. Hasil perancangan prosedur adalah:

1) Flow-chart

2) Algorithm/ pseudocode/ program design language

4. Implementasi

Implementasi perangkat lunak adalah melaksanakan, eksekusi, atau praktek dari rencana, metode, atau desain dalam pengembangan perangkat lunak.

Pada tahap ini dilakukan kerja untuk membangun perangkat lunak berdasarkan analisa dan pemodelan yang telah dilakukan. Sehingga hasil dari tahap ini adalah basis data(bila tersedia) dan source code perangkat lunak


(24)

30

5. Testing

Setelah source code dihasilkan, perangkat lunak harus diuji untuk menemukan(dan membenarkan) sebanyak mungkin kesalahan yang dibuat.

Pengujian perangkat lunak adalah penyelidikan empiris para pemangku kepentingan untuk menyediakan informasi mengenai kualitas perangkat lunak yang diuji. Pegujian perangkat lunak juga menyediakan pandangan independen dari perangkat lunak yang objektif untuk meungkinkan bisnis untuk mengharagai dan memahami resiko pada pelaksanaan perangkat lunak.

Teknik uji meliputi, tetapi tidak terbatas pada, proses eksekusi sebuah program atau aplikasi dengan tujuan menemukan bug perangkat lunak. Metode pengujian yang akan digunakan adalah black box testing.

Black box testing memperlakukan pengujian perangkat lunak sebagai


(25)

68

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan dari penelitian ini adalah sebagai berikut:

1. Pola denah meja ujian dikatakan tepat jika setiap meja ujian memiliki kode soal yang berbeda dari seluruh meja tetangganya. Jika baris dinyatakan sebagai b, dan kolom sebagai k, maka:

(b, k) ≠ {(b-1, k-1), (b-1, k), (b-1, k+1), (b, k-1), (b, k+1),(b+1, k-1), (b+1,k), (b+1, k+1)}

2. Sistem bekerja dengan cara merepresentasikan dimensi kelas ke dalam bentuk matriks lalu menentukan himpunan kode soal. Kemudian himpunan kode soal akan diiterasi sesuai aturan di atas. Jika suatu meja tidak memiliki kemungkinan untuk diisi oleh suatu kode soal, maka algoritma backtracking akan merunut balik proses iterasi ke meja sebelumnya dan mengganti kode soal pada meja tersebut dengan kode soal lain yang belum dicoba, supaya meja selanjutnya dapat diisi oleh kode soal.

3. Berbeda dengan dimensi kelas yang tidak berpengaruh sama sekali pada denah, jumlah kode soal memiliki peranan yang penting. Berdasarkan hasil penelitian, jika jumlah kode soal < 4,maka denah meja ujian tidak akan memiliki solusi. Dengan demikian, jumlah kode soal sekurang-kurangnya adalah 4 buah. Semakin banyak jumlah kode soal semakin baik denah yang dihasilkan.


(26)

69

5.2 Saran

Berikut beberapa saran untuk pengembangan penelitian ini ke depannya: 1. Membuat penanganan pada aplikasi bilamana persoalan tidak memiliki

solusi.

2. Aplikasi dapat menampilkan proses pengisian setiap sel pada matriks. 3. Mencoba menerapkan metode lain pada ruang lingkup penelitian yang


(27)

70

DAFTAR PUSTAKA

Munir Rinaldi, 2009, Diktat Kuliah IF 3051 Strategi Algoritma, Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Bandung.

S. Arikunto, 2010, Dasar-Dasar Evaluasi Pendidikan (Edisi Revisi), Jakarta: Bumi Aksara.

D. Muljono, 2008, Pengukuran Dalam Bidang Pendidikan, Jakarta: PT Grasindo.

M. Shalahuddin, A. S. Rosa, 2009, Belajar Pemrograman dengan Bahasa C++

dan Java, Bandung: Informatika.

Syaeful Sulun Hafni, Munir Rinaldi, 2010 Pembangkit Teka-Teki Silang dengan

Algoritma Backtracking, Program Studi Teknik Informatika, Sekolah

Teknik Elektro dan Informatika, Institut Teknologi Bandung, Bandung.

Teneng, Joko Purwadi, Erick Kurniawan, 2010 Penerapan Algoritma Backtracking pada Permainan Math Maze, Program Studi Teknik

Informatika, Fakultas Teknik, Unversitas Kristen Duta Wacana, Yogyakarta.

Alvin Andhika Zulen, 2009 Penerapan Algoritma Backtracking pada Permainan

Word Search Puzzle, Program Studi Teknik Informatika, Sekolah Teknik


(28)

71

Dr. Ruminta, 2009, Matriks Persamaan Linier dan Pemrograman Linier, Jakarta: Rekayasa Sains.

T. Sutojo, Edy Mulyanto, Vincent Suhartono, 2011, Kecerdasan Buatan, Bandung: Andi.


(1)

Renaldy Fransius, 2013

Generator D enah Meja Ujian D engan Implementasi Algoritma Backtracking

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu

kendali/passing parameter, yang siap dituliskan dalam bentuk modul program.

c. Perancangan Antarmuka

Yaitu penjabaran komunikasi: internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya.

1) Definisi antarmuka modul yang siap untuk diprogram.

2) Definisi/format rancangan layar yang siap diimplementasikan. d. Perancangan Prosedur

Yaitu transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur. Hasil perancangan prosedur adalah: 1) Flow-chart

2) Algorithm/ pseudocode/ program design language 4. Implementasi

Implementasi perangkat lunak adalah melaksanakan, eksekusi, atau praktek dari rencana, metode, atau desain dalam pengembangan perangkat lunak.

Pada tahap ini dilakukan kerja untuk membangun perangkat lunak berdasarkan analisa dan pemodelan yang telah dilakukan. Sehingga hasil dari tahap ini adalah basis data(bila tersedia) dan source code perangkat lunak


(2)

Renaldy Fransius, 2013

5. Testing

Setelah source code dihasilkan, perangkat lunak harus diuji untuk menemukan(dan membenarkan) sebanyak mungkin kesalahan yang dibuat.

Pengujian perangkat lunak adalah penyelidikan empiris para pemangku kepentingan untuk menyediakan informasi mengenai kualitas perangkat lunak yang diuji. Pegujian perangkat lunak juga menyediakan pandangan independen dari perangkat lunak yang objektif untuk meungkinkan bisnis untuk mengharagai dan memahami resiko pada pelaksanaan perangkat lunak.

Teknik uji meliputi, tetapi tidak terbatas pada, proses eksekusi sebuah program atau aplikasi dengan tujuan menemukan bug perangkat lunak. Metode pengujian yang akan digunakan adalah black box testing.

Black box testing memperlakukan pengujian perangkat lunak sebagai “kotak hitam” tanpa pengetahuan tentang pelaksanaan internal.


(3)

Renaldy Fransius, 2013

Generator D enah Meja Ujian D engan Implementasi Algoritma Backtracking

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan dari penelitian ini adalah sebagai berikut:

1. Pola denah meja ujian dikatakan tepat jika setiap meja ujian memiliki kode soal yang berbeda dari seluruh meja tetangganya. Jika baris dinyatakan sebagai b, dan kolom sebagai k, maka:

(b, k) ≠ {(b-1, k-1), (b-1, k), (b-1, k+1), (b, k-1), (b, k+1),(b+1, k-1), (b+1,k), (b+1, k+1)}

2. Sistem bekerja dengan cara merepresentasikan dimensi kelas ke dalam bentuk matriks lalu menentukan himpunan kode soal. Kemudian himpunan kode soal akan diiterasi sesuai aturan di atas. Jika suatu meja tidak memiliki kemungkinan untuk diisi oleh suatu kode soal, maka algoritma backtracking akan merunut balik proses iterasi ke meja sebelumnya dan mengganti kode soal pada meja tersebut dengan kode soal lain yang belum dicoba, supaya meja selanjutnya dapat diisi oleh kode soal.

3. Berbeda dengan dimensi kelas yang tidak berpengaruh sama sekali pada denah, jumlah kode soal memiliki peranan yang penting. Berdasarkan hasil penelitian, jika jumlah kode soal < 4,maka denah meja ujian tidak akan memiliki solusi. Dengan demikian, jumlah kode soal sekurang-kurangnya adalah 4 buah. Semakin banyak jumlah kode soal semakin baik denah yang dihasilkan.


(4)

Renaldy Fransius, 2013

5.2 Saran

Berikut beberapa saran untuk pengembangan penelitian ini ke depannya: 1. Membuat penanganan pada aplikasi bilamana persoalan tidak memiliki

solusi.

2. Aplikasi dapat menampilkan proses pengisian setiap sel pada matriks. 3. Mencoba menerapkan metode lain pada ruang lingkup penelitian yang


(5)

Renaldy Fransius, 2013

Generator D enah Meja Ujian D engan Implementasi Algoritma Backtracking

Universitas Pendidikan Indonesia | repository.upi.edu| perpustakaan.upi.edu DAFTAR PUSTAKA

Munir Rinaldi, 2009, Diktat Kuliah IF 3051 Strategi Algoritma, Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Bandung.

S. Arikunto, 2010, Dasar-Dasar Evaluasi Pendidikan (Edisi Revisi), Jakarta: Bumi Aksara.

D. Muljono, 2008, Pengukuran Dalam Bidang Pendidikan, Jakarta: PT Grasindo.

M. Shalahuddin, A. S. Rosa, 2009, Belajar Pemrograman dengan Bahasa C++ dan Java, Bandung: Informatika.

Syaeful Sulun Hafni, Munir Rinaldi, 2010 Pembangkit Teka-Teki Silang dengan Algoritma Backtracking, Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Bandung.

Teneng, Joko Purwadi, Erick Kurniawan, 2010 Penerapan Algoritma Backtracking pada Permainan Math Maze, Program Studi Teknik Informatika, Fakultas Teknik, Unversitas Kristen Duta Wacana, Yogyakarta.

Alvin Andhika Zulen, 2009 Penerapan Algoritma Backtracking pada Permainan Word Search Puzzle, Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung, Bandung.


(6)

Renaldy Fransius, 2013

Dr. Ruminta, 2009, Matriks Persamaan Linier dan Pemrograman Linier, Jakarta: Rekayasa Sains.

T. Sutojo, Edy Mulyanto, Vincent Suhartono, 2011, Kecerdasan Buatan, Bandung: Andi.