PENGEMBANGAN KEMAMPUAN AUTOMATIC GRADE
MARMOSET TERHADAP PROJECT DAN HASIL
PENILAIAN PEMROGRAMAN
DEVELOPMENT OF AUTOMATIC GRADE MARMOSET
ABILITY FOR PROJECT AND PROGRAMMING GRADE
Laporan ini disusun untuk memenuhi salah satu syarat menyelesaikan Pendidikan Diploma III Program Studi Teknik Informatika
Jurusan Teknik Komputer dan Informatika
Disusun oleh
Duta Windu Darma 091511041
Ilejji Yanti Purba 091511053
M Rolland Akbar 091511054
POLITEKNIK NEGERI BANDUNG
2012
PENGEMBANGAN KEMAMPUAN AUTOMATIC GRADE
MARMOSET TERHADAP PROJECT DAN HASIL
PENILAIAN PEMROGRAMAN
DEVELOPMENT OF AUTOMATIC GRADE MARMOSET
ABILITY FOR PROJECT AND PROGRAMMING GRADE
Laporan ini disusun untuk memenuhi salah satu syarat menyelesaikan Pendidikan Diploma III Program Studi Teknik Informatika
Jurusan Teknik Komputer dan Informatika
Disusun oleh
Duta Windu Darma 091511041
Ilejji Yanti Purba 091511053
M Rolland Akbar 091511054
POLITEKNIK NEGERI BANDUNG
2012
NIM : 091511041
Nama : Duta Windu Darma
Tempat, Tanggal Lahir : Bandung, 12 April 1991 SD Lulus Tahun : 2003 dari SD Priangan
SLTP Lulus Tahun : 2006 dari SMP Negeri 5 Bandung SLTA Lulus Tahun : 2009 dari SMA Negeri 22 Bandung Prestasi yang pernah dicapai : -
NIM : 091511053 Nama : Ilejji Yanti Purba
Tempat, Tanggal Lahir : Medan, 28 September 1991
SD Lulus Tahun : 2003 dari SD ST YOSEF Sidikalang SLTP Lulus Tahun : 2006 dari SMP Negeri 1 Sidikalang
SLTA Lulus Tahun : 2009 dari SMA Negeri 1 Plus Matauli Pandan Prestasi yang pernah dicapai : -
NIM : 091511054 Nama : M Rolland Akbar
Tempat, Tanggal Lahir : Bandung,30 April 1991 SD Lulus Tahun : 2003 dari SD Panyileukan 02 SLTP Lulus Tahun : 2006 dari SMP Negeri 14 Bandung SLTA Lulus Tahun : 2009 dari SMA Negeri 21 Bandung Prestasi yang pernah dicapai : -
ABSTRAK
Tugas Akhir adalah tentang pengembangan sebuah sistem automatic grade berbentuk aplikasi web yang dapat melakukan penilaian terhadap suatu program atau source code. Sistem
automatic grade yang dikembangkan adalah untuk automatic grading Marmoset sehingga
mempunyai kemampuan dalam hal pengolahan project dan pengolahan nilai tugas atau latihan pemrograman. Kemampuan aplikasi dalam pengolahan project adalah mampu menampilkan
project kepada mahasiswa secara otomatis sesuai dengan waktu yang diinginkan oleh instructor dan memperlihatkan jumlah project dari setiap course. Kemampuan sistem dalam
pengolahan nilai meliputi menghitung dan menampilkan nilai rata-rata semua mahasiswa dalam satu project, memberikan list nilai semua mahasiswa pada semua project dari satu
course, dan mengurutkan semua mahasiswa dalam satu project berdasarkan nilai mulai dari
nilai terendah sampai nilai tertinggi. Metodologi yang digunakan dalam pengembangan sistem ini adalah waterfall, yang meliputi pendefinisian requirement, pembuatan design, implementasi dan testing sistem.
Kata Kunci : Automatic Grade, Marmoset, source code, course, project, mahasiswa.
ABSTRACT
This final project is about development of automatic grade web application that can perform an assessment of a piece of program or source code. Automatic grade that was developed is for automatic grade Marmoset so that it has the ability to manage a project and to process student’s task grade/value or programming exercise. The application is able to automatically display a project to student according to the time that instructor set and display the number of project in every course. The ability of the application to process student’s task grade/value are to provide the average grade of all student in one project, to provide a list of all student grade in every project on one course, and to sort student based on lower to highest grade. The methodology used to develop this application was waterfall, consisted of defining the requirements, doing the design, implementing and testing the application.
Keywords: Automatic Grade, Marmoset, source code, course, project, student.
i
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan kami kekuatan, kemudahan, kelancaran, berkat serta rahmat yang melimpah sehingga kami dapat mengerjakan Laporan Tugas Akhir ini. Shalawat serta salam semoga selalu tercurah kepada Nabi kita Muhammad SAW beserta keluarga dan sahabat-sahabatnya yang selalu dalam lindungan dan naungan Allah SWT.
Laporan Tugas Akhir ini merupakan salah satu syarat untuk menyelesaikan program Diploma III di Jurusan Teknik Komputer dan Informatika Politeknik Negeri Bandung. Adapun judul Tugas Akhir ini adalah ‘Pengembangan Kemampuan Automatic grade Marmoset terhadap
Project dan Hasil Penilaian Pemrograman’.
Dalam pelaksanaannya, kami menyadari bahwa kami telah mendapatkan banyak hal dari berbagai pihak baik berupa bantuan, arahan, bimbingan, serta dukungan baik secara moril maupun materil. Oleh karena itu kami ingin mengucapkan terima kasih yang sebesar-besarnya kepada :
1. Orang tua dan keluarga kami yang selalu memberikan doa restu dan dukungan moril maupun materiil yang tiada henti.
2. Ibu Ani rahmani, S.Si., M.T. dan Bapak Joe Lian Min, M.Eng. selaku pembimbing I dan pembimbing II yang telah membimbing dan mengarahkan kami dengan ikhlas dan sabar sejak awal pengerjaan Tugas Akhir hingga laporan ini terselesaikan.
3. Bapak Urip Teguh S, BSCS., M.Kom dan Bapak Bambang Wisnuadhi, S.Si., M.T. selaku penguji yang telah banyak memberikan saran dan masukannya yang sangat membangun. 4. Seluruh Koordinator Pelaksanaan Tugas Akhir 2012 yang telah memberikan pengarahan
dan masukkan kepada kami dalam persyaratan yang harus dilakukan pada Tugas Akhir. 5. Seluruh Dosen dan Staf Jurusan Teknik Komputer dan Informatika Politeknik Negeri
Bandung, yang telah ikhlas mengajar dan memberikan ilmunya kepada kami selama tiga tahun.
ii
6. Staf Tata Usaha Jurusan Teknik Komputer dan Informatika Politeknik Negeri Bandung, yang telah memberikan kemudahan kepada kami dalam hal administrasi.
7. Seluruh rekan seperjuangan jurusan Teknik Komputer dan Informatika Politeknik Negeri Bandung angkatan 2009, khususnya teman-teman kelas B yang telah memberikan semangat, bersama-sama menuntut ilmu selama tiga tahun ini dan menjadi teman dikala susah ataupun senang.
8. Seluruh pihak yang tidak dapat kami sebutkan satu per satu yang telah memberikan dukungan, doa, bantuan, semangat, motivasi, hiburan, serta keyakinan kepada kami untuk dapat menyelesaikan tugas akhir.
Atas sumbangsih dan pengorbanan mereka, kami sampaikan terima kasih. Semoga Allah SWT, melimpahkan rahmat, taufik dan hidayah-Nya serta membalas amal yang telah diberikan kepada kami. Amin ya rabbal ‘alamin.
Dalam menyelesaikan Laporan Tugas Akhir ini kami menyadari bahwa masih banyak kekurangan, Laporan Tugas Akhir ini masih jauh dari sempurna. Oleh karena itu, kritik dan saran yang membangun sangat kami harapkan dari para pembaca. Besar harapan kami bahwa Laporan Tugas Akhir ini dapat bermanfaat bagi pembaca.
Bandung, Juli 2012
Kelompok Tugas Akhir 206
iii
DAFTAR ISI
KATA PENGANTAR ... i
DAFTAR ISI ... iii
DAFTAR GAMBAR ... v
DAFTAR SIMBOL ... vii
DAFTAR TABEL ... ix DAFTAR ISTILAH ... x BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 3 1.3 Tujuan ... 3 1.4 Ruang Lingkup ... 4 1.5 Batasan Masalah ... 4
1.6 Metodologi Pengembangan Sistem ... 5
1.7 Sistematika Penulisan Laporan ... 9
BAB II KAJIAN PUSTAKA ... 10
2.1 Teori Pemrograman Komputer ... 10
2.2 Teori Penilaian Program atau Source code ... 11
2.2.1 Ketepatan Sintaks dan Semantik ... 12
2.3 Teori Automatic grade ... 12
2.4 Marmoset ... 13 2.5 Tools Pendukung ... 14 2.5.1 Linux ... 14 2.5.2 Eclipse ... 15 2.5.3 Apache Tomcat ... 15 2.5.4 Apache ANT ... 16
2.5.5 GNU Compiler Collection (GCC) ... 17
BAB III ANALISIS ... 18
3.1 Analisis Penilaian Source Code Secara Manual ... 18
3.2 Analisis Marmoset ... 19
3.2.1 Perilaku Sistem Marmoset ... 20
3.2.2 Database ... 37 3.2.3 User Interface ... 47 3.2.3.1 Instructor ... 48 3.2.3.2 Student ... 57 3.3 Evaluasi Marmoset ... 64 3.4 Requirement ... 65 BAB IV PERANCANGAN... 67 4.1 Tujuan Perancangan ... 67
4.2 Model Perilaku Sistem ... 68
4.2.1 Use case Diagram ... 68
4.2.2 Use case Spesification ... 70
4.3 Perancangan Data ... 74
4.4 Class Diagram ... 76
4.4.1 Perancangan Tambahan Method pada Class Model ... 78
4.5 Sequence Diagram ... 82
iv
4.6 Perancangan User interface ... 86
BAB V IMPLEMENTASI ... 91
5.1 Batasan Implementasi ... 91
5.2 Implementasi Method ... 91
5.3 Implementasi User interface ... 92
BAB VI PENGUJIAN ... 97
6.1 Pengujian ... 97
6.1.1 Rencana Pengujian ... 97
6.1.2 Hasil Pengujian ... 101
BAB VII PENUTUP ... 104
7.1 Kesimpulan ... 104 7.2 Saran... 104 DAFTAR PUSTAKA ... 106
v
DAFTAR GAMBAR
Gambar 1 Metode Waterfall ... 5
Gambar 2 Arsitektur Sistem dari Marmoset ... 14
Gambar 3 Use case Diagram Marmoset ... 21
Gambar 4 Class Diagram Model Marmoset... 30
Gambar 5 Model Class Course ... 31
Gambar 6 Model Class Student Registration ... 32
Gambar 7 Model Class Student ... 33
Gambar 8 Model Class Submission ... 34
Gambar 9 Sequence Diagram untuk Display home Instructor Page ... 35
Gambar 10 Sequence Diagram untuk instructor’s View Course Page ... 36
Gambar 11 Sequence Diagram untuk instructor’s View Project Page ... 37
Gambar 12 Entity Relationship Diagram Marmoset ... 38
Gambar 13 Conceptual Data Model Courses... 38
Gambar 14 Conceptual Data Model students... 39
Gambar 15 Conceptual Data Model student_Registration ... 39
Gambar 16 Conceptual Data Model projects ... 40
Gambar 17 Conceptual Data Model submissions ... 40
Gambar 18 Home Page Instructor ... 48
Gambar 19 Course Page untuk Instructor (Bagian 1) ... 49
Gambar 20 Course Page untuk Instructor (Bagian 2) ... 50
Gambar 21 Create New Project Page (Bagian 1) ... 50
Gambar 22 Create New Project Page (Bagian 2) ... 51
Gambar 23 Course Page ... 52
Gambar 24 Code Review Page ... 53
Gambar 25 Tampilan salah satu Project... 54
Gambar 26 Tampilan detail dari salah satu Project ... 55
Gambar 27 Detail project yang pernah dikerjakan oleh student tertentu ... 56
Gambar 28 tampilan detail project salah satu student ... 56
Gambar 29 Home Page... 57
Gambar 30 Courses Page ... 58
Gambar 31 Contoh Soal ... 59
Gambar 32 Submissions Page ... 61
Gambar 33 View Submission Page ... 62
Gambar 34 Edit Submission Page ... 63
Gambar 35 Use case Diagram yang mengalami perubahan ... 69
Gambar 36 Entity yang mengalami penambahan atribut... 75
Gambar 37 Conceptual Data Diagram projects ... 76
Gambar 38 Class Diagram Marmoset setelah mengalami perubahan ... 77
Gambar 39 Sequence Diagram untuk Display home Instructor Page ... 83
Gambar 40 Sequence Diagram untuk instructor’s View Course Page ... 84
Gambar 41 Sequence Diagram untuk instructor’s View Project Page ... 85
Gambar 42 Home Page Instructor ... 86
Gambar 43 Instructor Course Page ... 87
Gambar 44 Form Create New Project ... 88
vi
Gambar 45 Instructor Project Page ... 89
Gambar 46 Student Project Page ... 90
Gambar 47 Instructor Home Page ... 93
Gambar 48 Instructor Course Page ... 94
Gambar 49 Create New Project Page ... 95
Gambar 50 Update Project Page ... 95
Gambar 51 Project Page ... 96
vii
DAFTAR SIMBOL
NO SIMBOL SIMBOL NAMA DESKRIPSI PENGGUNAAN
1
Actor Melambangkan pengguna sistem
Use case Diagram, Sequence Diagram 2 Use case Menggambarkan tentang interaksi yang terjadi antara aktor dengan sistem Use case Diagram 3 Associate Mengasosiasikan dua elemen model yang memiliki keterhubungan Use case Diagram, Class Diagram 4 Class Merupakan representasi dari obyek yang mencerminkan
struktur dan perilaku mereka di dalam sistem. Class Diagram 5 Package Menggambarkan sebuah project dengan beberapa elemen didalamnya yang dapat berhubungan dengan yang lainnya
Class Diagram
6
Composition Menghubungkan dua class yang memiliki
relasi composition Class Diagram 7
Dependency Menghubungkan dua class yang memiliki
relasi dependency Class Diagram 8
Inheritance Menghubungkan dua class yang memiliki
relasi inheritance Class Diagram class Business Process Model
Class1 Class2
class Business Process Model
Class1 Class2
class Business Process Model
Class1 Class2
viii
NO SIMBOL SIMBOL NAMA DESKRIPSI PENGGUNAAN
9
Lifeline Merepresentasikan hubungan suatu elemen Sequence Diagram 10 Boundary Merupakan
stereotyped class yang
memodelkan beberapa sistem boundary- khususnya sebuah layar interface Sequence Diagram 11 Message
Merupakan tipe dari elemen message yang meng-extend level suatu aktivasi dari pesan sebelumnya Sequence Diagram 12 Self-Message Mencerminkan proses atau metode dalam melibatkan pemanggilan lifeline awal Sequence Diagram 13 Return Message Mencerminkan proses pengembalian dari suatu method yang dipanggil
Sequence Diagram
sd Business Process Model
lineli Object2
ix
DAFTAR TABEL
Tabel 1 Definisi Aktor ... 22
Tabel 2 Use case Spesification Display Home Instructor Page ... 22
Tabel 3 Use case Spesification View Course Page ... 23
Tabel 4 Use case Spesification Create New Project ... 24
Tabel 5 Use case Spesification Register Student ... 25
Tabel 6 Use case Spesification View Project Page ... 26
Tabel 7 Use case View Course Page ... 27
Tabel 8 Use case View All Submission Project ... 28
Tabel 9 Entity test_setups ... 41
Tabel 10 Entity courses ... 42
Tabel 11 Entity projects ... 42
Tabel 12 Entity students ... 44
Tabel 13 Entity student_Registration ... 45
Tabel 14 Entity submissions ... 46
Tabel 15 Kebutuhan User yang sudah dan belum dipenuhi pada Marmoset ... 65
Tabel 16 Requirement Sistem ... 66
Tabel 17 Use case Spesification Display home Instructor Page ... 70
Tabel 18 Use case Spesification View Course Page ... 71
Tabel 19 Use case Spesification Create New Project ... 72
Tabel 20 Use case Spesification View Project Page ... 73
Tabel 21 Tambahan Method ... 78
Tabel 22 Method getProjectCount ... 78
Tabel 23 Method countAverage ... 79
Tabel 24 Method listNilai ... 80
Tabel 25 Method setVisibleToStudents ... 80
Tabel 26 Method scoreComparator ... 81
Tabel 27 Implementasi Modul ... 91
Tabel 28 Rencana Pengujian ... 98
Tabel 29 Hasil Pengujian ... 101
x
DAFTAR ISTILAH
Berikut merupakan daftar istilah yang digunakan dalam penulisan Laporan Tugas Akhir ini:
No Istilah Deskripsi
1 Public Test Merupakan test cases yang dirancang untuk menguji
program/source code mahasiswa dengan tes sederhana untuk kasus-kasus kecil.
2 Release Test Merupakan test cases yang diberikan oleh instructor
kepada program/source code mahasiswa dengan hasil yang selektif yang diberikan sebelum batas waktu pengumpulan. Dirancang untuk menguji progra0 dengan kasus-kasus yang berpotensi merusak source
code dari mahasiswa.
3 Student Test Merupakan test cases yang dibuat oleh mahasiswa
untuk menguji project yang dibuatnya sendiri.
4 Secret Test Merupakan test cases yang diberikan oleh instructor
kepada mahasiswa dengan hasil yang diberikan setelah batas waktu pengumpulan.
5 Project Merupakan tugas pemrograman dalam setiap course
yang diberikan oleh instructor kepada student.
6 Student - Mahasiswa
- Merupakan aktor yang mengikuti project pada
course yang ada pada Marmoset
7 Instructor - Dosen
- Merupakan aktor pada Marmoset dan memiliki hak khusus untuk menambahkan project.
8 course Merupakan materi kuliah pada sistem Marmoset
9 test setup Sekumpulan source code/program, yang akan
digunakan sebagai acuan untuk penilaian program/source code student
10 test case Unit testing yang digunakan untuk melakukan
pengujian terhadap sekumpulan source code.
106
DAFTAR PUSTAKA
Aaby, A. A., 2004. Theory Introduction To Programming Languages. [Online] Available at: http://www.cs.wwc.edu/~aabyan/Logic/index.html
[Accessed 23 03 2012].
Abdullah Mohd Zin, D. E. F., 2001. Automatic Program Assessment System. [Online] Available at: http://www.cs.nott.ac.uk/CourseMarker/more_info/html/ASQA.HTM [Accessed 24 03 2012].
ANT, T. A., 2012. The Apache ANT Project. [Online] Available at: http://ant.apache.org/
[Accessed 20 05 2012].
AskSlashdot, 2006. Resources For Programming Course TA?. [Online] Available at:
http://ask.slashdot.org/comments.pl?threshold=0&mode=nested&commentsort=0&op= C
[Accessed 20 10 2011].
Budiseno, I. S., 1994. Diktat Kuliah Algoritma dan Pemrograman. Bandung : Jurusan Teknik Komputer: s.n.
Cornett, S., 1996-2011. Code Coverage Analisis. [Online] Available at: www.bullseye.com/coverage.html [Accessed 13 3 2012].
David R. Cheriton School of Computer Science, Universty of Waterloo, 2012. CS 145:
Marmoset. [Online]
Available at: http://www.student.cs.uwaterloo.ca/~cs145/marmoset.shtml [Accessed 22 5 2012].
Forsythe, G. E., 1965. [Online]
Available at: http://historical.ncstrl.org/litesite-data/stan/CS-TR-65-17.pdf [Accessed 10 02 2012].
DAFTAR PUSTAKA 107
Pengembangan Kemampuan Automatic Grade Marmoset terhadap Project dan Hasil Penilaian Pemrograman
Hovemeyer, D., 2004. Finding Bugs is Easy. [Online]
Available at: http://findbugs.sourceforge.net/docs/oopsla2004.pdf [Accessed 24 03 2012].
Kenneth, S., 1995. In: Formal Syntax and Semantics of Programming. s.l.:s.n.
Munir, R., 1998. Algoritma dan Pemrograman, Buku 1 dan 2. Bandung : Teknik Informatika ITB: s.n.
Novrina, n.d. [Online] Available at:
http://novrina.staff.gunadarma.ac.id/Downloads/files/21427/BAB+II+SINTAKS.pdf [Accessed 24 03 2012].
Patil, A., 2010. Automatic Grading of Programming Assignments. Master's Projects.. Paper 51 ed. s.l.:San Jose State University.
Pressman, R. S., 2001. In: Software Engineering (A Practitioner’s Approach) ‘5th Edition. New York: McGraw-Hill: s.n.
Pugh, B., 2005. Manuals for installing and using the Marmoset SubmitServer and
BuildServer.. [Online]
Available at: http://theory.cpe.ku.ac.th/~jittat/marmoset-docs/index.html [Accessed 20 06 2012].
Ronny, 2008. Source Code Autograder. 1 ed. Bandung: Institut Teknologi Bandung. Royce, W. W., 1995. Wikipedia. [Online]
Available at: http://en.wikipedia.org/wiki/Waterfall_model [Accessed 5 June 2012].
Spacco, J., 2005. The Marmoset Project. [Online] Available at: http://marmoset.cs.umd.edu/ [Accessed 11 05 2012].
DAFTAR PUSTAKA 108
Pengembangan Kemampuan Automatic Grade Marmoset terhadap Project dan Hasil Penilaian Pemrograman
Tomcat, T. A., 2012. The Apache Tomcat Software Foundation. [Online] Available at: http://tomcat.apache.org/
[Accessed 20 03 2012].
Wikipedia, 2011. Programming. [Online]
Available at: http://en.wikipedia.org/wiki/Programming [Accessed 10 11 2011].
Wikipedia, 2012. Computer Programming - Wikipedia, The Free Encyclopedia. [Online] Available at: http://en.wikipedia.org/wiki/Computer_programming
[Accessed 20 June 2012].
Wikipedia, 2012. GNU Compiler Collection (GCC). [Online]
Available at: http://en.wikipedia.org/wiki/GNU_Compiler_Collection#Development [Accessed 4 4 2012].
Wikipedia, 2012. Wikipedia Eclipse (Software). [Online]
Available at: http://en.wikipedia.org/wiki/Eclipse_(software) [Accessed 25 03 2012].
Zulharfan, R., 2011. Universitas Gunadarma staffsite. [Online] Available at: http://riko_z.staff.gunadarma.ac.id/Downloads/files/15427/Bab+I_PENGENALAN.doc. [Accessed 14 03 2012].