• Tidak ada hasil yang ditemukan

Pengembangan Aplikasi Lan Penilaian Kode Program C.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengembangan Aplikasi Lan Penilaian Kode Program C."

Copied!
16
0
0

Teks penuh

(1)

ABSTRAK

Perkembangan teknologi informasi telah membawa dampak dalam kehidupan masyarakat. Sejak penemuan komputer pada tahun 1955, peradaban dunia telah memasuki era teknologi informasi. Atas berkembangnya kehidupan zaman, masyarakat semakin menggunakan komputer untuk mempermudah pekerjaan. Teknologi informasi semakin berkembang dan memungkinkan komputer untuk berkomunikasi satu dengan yang lain dengan menggunakan jaringan kabel maupun nirkabel. Dengan adanya teknologi tersebut, maka dibuatlah aplikasi untuk memeriksa kode program C secara jaringan area lokal yang menggunakan bahasa pemrograman C# sebagai pengefisiensi pekerjaan.

(2)

vi

ABSTRACT

Information Technologi’s growth has given impacts to people’s lives.

Since the invention of computers in 1955, the world civilization has entered

the era of informationtechnology. To the growing life of the times, people are

increasingly using computers to facilitate their work. Information technology keep

growing and allows computers to communicate with each other using wired

or wireless network . With this technology, an aplication is made to to examine a

C program code with a local area network that uses C# programming

language to make job done more efficiently.

(3)

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALITAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii

PRAKATA ... iv

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 1

1.3 Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Sistematika Pembahasan ... 2

BAB II ... 4

LANDASAN TEORI ... 4

2.1 Bahasa Pemrograman C# ... 4

2.1.1 C# Windows Forms Application ... 4

2.1.2 Pemrograman Berorientasi Objek dengan C# ... 4

2.2 Network Programming ... 8

2.2.1 IP Address ... 8

2.2.2 Network Stack ... 9

2.2.3 Ports dan Standar Internet ... 10

2.3 .NET Framework ... 11

2.3.1 BackgroundWorker ... 11

2.3.2 Input Output pada .NET Framework ... 13

2.3.3 System.Diagnostics ... 15

(4)

viii

2.4.1 User Datagram Protocol (UDP) ... 15

2.4.2 Transmission Control Protocol (TCP) ... 18

2.5 Flowchart... 23

2.6 Unified Modeling Language (UML) ... 24

2.6.1 Use Case Diagram ... 25

2.6.2 Activity Diagram ... 27

2.6.3 Class Diagram ... 29

BAB III ... 31

ANALISA DAN PEMODELAN ... 31

3.1 Deskripsi Umum Perangkat Lunak ... 31

3.1.1 Proses Pemeriksaan Kode Manual ... 31

3.1.2 Proses Pemeriksaan Kode dengan Perangkat Lunak ... 33

3.2 Arsitektur Aplikasi ... 36

3.2.1 Use Case Diagram ... 36

3.2.2 Activity Diagram ... 44

3.2.2.1 Mengatur file pengkompilasi ... 44

3.2.2.2 Membuka File ... 44

3.2.2.3 Membuat File ... 45

3.2.2.4 Mengkompilasi kode ... 46

3.2.2.5 Menambah berkas contoh input/output ... 46

3.2.2.6 Menghapus satu berkas contoh input/output ... 47

3.2.2.7 Menghapus semua berkas contoh input/output ... 47

3.2.2.8 Mengecek program dengan satu tes input output ... 48

3.2.2.9 Mengecek program dengan semua tes input output ... 48

3.2.2.10 Mengecek program dengan input manual ... 49

3.2.2.11 Mengirimkan file ... 49

3.2.2.12 Mengatur file kompilasi ... 50

3.2.2.13 Mengaktifkan server ... 50

3.2.2.14 Menyimpan file ... 51

3.2.2.15 Mengatur folder tujuan ... 51

3.2.2.16 Membuka folder tujuan ... 52

3.2.2.17 Menambah pemeriksaan soal ... 52

(5)

3.2.2.19 Mengupdate berkas kode ... 53

3.2.2.20 Menambah berkas contoh input/output ... 53

3.2.2.21 Menghapus satu berkas contoh input/output ... 54

3.2.2.22 Menghapus semua berkas contoh input/output ... 54

3.2.2.23 Membuat test case soal ... 55

3.2.2.24 Mengatur standar evaluasi ... 55

3.2.2.25 Memeriksa kode ... 56

3.2.3 Class Diagram ... 56

3.2.4 Disain Penyimpanan Data ... 57

3.3 Layout Aplikasi ... 57

BAB IV ... 64

PENGEMBANGAN PERANGKAT LUNAK ... 64

4.1 Penjelasan Fungsi Utama ... 64

4.2 ScreenShot ... 71

4.2.1 Aplikasi Client ... 71

4.2.1.1 Form Utama ... 71

4.2.1.2 Form Pengaturan Input Output ... 72

4.2.2 Aplikasi Server... 73

4.2.2.1 Form Utama ... 73

4.2.2.2 Form Pengaturan Input Output ... 74

4.2.2.3 Form Pembuatan Contoh Input Output ... 74

BAB V ... 75

PENGUJIAN ... 75

5.1 BlackBox Testing ... 75

5.1.1 Mengatur file pengkompilasi ... 75

5.1.2 Membuka File ... 75

5.1.3 Membuat File ... 76

5.1.4 Mengkompilasi Kode ... 76

5.1.5 Menambah berkas contoh input output ... 76

5.1.6 Menghapus satu berkas contoh input output ... 77

5.1.7 Menghapus semua berkas contoh input output ... 77

5.1.8 Mengecek program dengan satu tes input output ... 78

(6)

x

5.1.10 Mengecek program dengan input manual ... 79

5.1.11 Mengirimkan file ... 79

5.1.12 Mengaktifkan server ... 79

5.1.13 Menyimpan File ... 80

5.1.14 Mengatur Folder Tujuan ... 80

5.1.15 Membuka folder tujuan ... 81

5.1.16 Menambah pemeriksaan soal ... 81

5.1.17 Mengatur folder soal ... 81

5.1.18 Mengupdate berkas kode ... 82

5.1.19 Membuat test case soal ... 82

5.1.20 Mengatur standar evaluasi ... 83

5.1.21 Memeriksa kode ... 83

5.2 Kuisoner ... 83

BAB VI ... 85

KESIMPULAN DAN SARAN ... 85

6.1. Kesimpulan ... 85

6.2. Saran ... 85

DAFTAR PUSTAKA ... xiv

LAMPIRAN ... xv

(7)

DAFTAR GAMBAR

Gambar 2.1 Contoh Aplikasi BackgroundWorker ... 12

Gambar 2.2 : Tampilan Pengguna Aplikasi UDP Client... 16

Gambar 2.2: Tampilan Pengguna Aplikasi TCP Client ... 19

Gambar 2.3 : Tampilan Aplikasi TCP Server ... 21

Gambar 2.4 Contoh penggunaan dependensi include ... 26

Gambar 2.5 Contoh penggunaan dependensi extend ... 26

Gambar 2.6 Contoh penggunaan generalisasi pada use case ... 27

Gambar 2.7 Komponen – komponen dalam Activity Diagram ... 29

Gambar 2.8 Contoh Class pada Class Diagram ... 29

Gambar 2.9 Contoh penggunaan dependensi ... 30

Gambar 2.10 Contoh penggunaan asosiasi ... 30

Gambar 2.11 Contoh penggunaan komposisi ... 30

Gambar 2.12 Contoh penggunaan generalisasi ... 30

Gambar 3.1 Diagram alir proses pemeriksaan kode siswa ... 32

Gambar 3.2 Diagram alir proses pemasukan nilai siswa ... 33

Gambar 3.3 Diagram alir proses penggunaan aplikasi client ... 35

Gambar 3.4 Diagram alir proses penggunaan aplikasi server ... 35

Gambar 3.5 Use Case Diagram Aplikasi Client ... 36

Gambar 3.6 Use Case Diagram Aplikasi Server ... 40

Gambar 3.7 Activity Diagram Mengatur File Pengkompilasi ... 44

Gambar 3.8 Activity Diagram Membuka File ... 45

Gambar 3.9 Activity Diagram Membuat File ... 45

Gambar 3.10 Activity Diagram Mengkompilasi Kode ... 46

Gambar 3.11 Activity Diagram Menambah berkas contoh input output ... 46

Gambar 3.12 Activity Diagram Menghapus satu berkas contoh input output ... 47

Gambar 3.13 Activity Diagram Menghapus semua berkas contoh input output .. 47

Gambar 3.14 Activity Diagram Mengecek program dengan satu tes input output ... 48

Gambar 3.15 Activity Diagram Mengecek program dengan semua tes input output ... 48

Gambar 3.16 Activity Diagram Mengecek program dengan input manual ... 49

Gambar 3.17 Activity Diagram Mengirimkan File ... 49

(8)

xii

Gambar 3.19 Activity Diagram Mengaktifkan server ... 50

Gambar 3.20 Activity Diagram Menyimpan File ... 51

Gambar 3.21 Activity Diagram Mengatur Folder Tujuan ... 51

Gambar 3.22 Activity Diagram Membuka Folder Tujuan ... 52

Gambar 3.23 Activity Diagram Menambah Pemeriksaan soal... 52

Gambar 3.24 Activity Diagram Mengatur folder soal ... 52

Gambar 3.25 Activity Diagram Mengupdate berkas kode ... 53

Gambar 3.26 Activity Diagram Menambah berkas contoh input output ... 53

Gambar 3.27 Activity Diagram Menghapus satu berkas contoh input output ... 54

Gambar 3.28 Activity Diagram Menghapus semua berkas contoh input output .. 54

Gambar 3.29 Activity Diagram Membuat test case soal ... 55

Gambar 3.30 Activity Diagram Mengatur Standar Evaluasi ... 55

Gambar 3.31 Activity Diagram memeriksa kode ... 56

Gambar 3.32 Class Answer ... 56

Gambar 3.33 Form Utama Aplikasi Client ... 57

Gambar 3.34 Form Pengaturan Input Output ... 59

Gambar 3.35 Form Utama Aplikasi Server... 60

Gambar 3.36 Form Pengaturan Input Output ... 62

Gambar 3.37 Form Pembuatan Contoh input output ... 62

Gambar 4.1 Form Utama Aplikasi Client ... 71

Gambar 4.2 Form Pengaturan Input Output ... 72

Gambar 4.3 Form Utama Aplikasi Server ... 73

Gambar 4.4 Form Pengaturan Input Output ... 74

(9)

DAFTAR TABEL

Tabel 2.1 : List Jangkauan IP Address dan kelasnya ... 9

Tabel 2.2 : OSI Layer ... 9

Tabel 2.3 : TCP/IP Layer ... 10

Tabel 2.4 : List Port yang umum digunakan ... 10

Tabel 2.5 : Kelas BackgroundWorker ... 11

Tabel 2.6 : Operasi-operasi kelas File ... 13

Tabel 2.7 Anggota-anggota kelas UdpClient ... 17

Tabel 2.8 Anggota-anggota kelas TcpClient ... 20

Tabel 2.9 Simbol-simbol pada flowchart ... 23

Tabel 2.10 Simbol Use Case Diagram ... 25

Tabel 2.11 Simbol Activity Diagram ... 28

Tabel 3.1 Deskripsi Use Case Diagram – Mengatur File Pengkompilasi ... 37

Tabel 3.2 Deskripsi Use Case Diagram – Membuka File ... 37

Tabel 3.3 Deskripsi Use Case Diagram – Membuat File ... 37

Tabel 3.4 Deskripsi Use Case Diagram – Mengompilasi Kode ... 37

Tabel 3.5 Deskripsi Use Case Diagram – Mengatur File Tes Input Output ... 38

Tabel 3.6 Deskripsi Use Case Diagram – Mengecek program dengan satu tes input output ... 38

Tabel 3.7 Deskripsi Use Case Diagram – Mengecek program dengan semua tes input output ... 38

Tabel 3.8 Deskripsi Use Case Diagram – Mengecek program dengan input manual ... 39

Tabel 3.9 Deskripsi Use Case Diagram – Mengirimkan File ... 39

Tabel 3.10 Deskripsi Use Case Diagram – Mengatur File Pengkompilasi ... 40

Tabel 3.11 Deskripsi Use Case Diagram – Mengaktifkan Server ... 40

Tabel 3.12 Deskripsi Use Case Diagram – Mengatur Folder Tujuan ... 41

Tabel 3.13 Deskripsi Use Case Diagram – Membuka Folder Tujuan ... 41

Tabel 3.14 Deskripsi Use Case Diagram – Menambah Pemeriksaan Soal ... 41

Tabel 3.15 Deskripsi Use Case Diagram – Mengatur Folder Soal ... 42

Tabel 3.16 Deskripsi Use Case Diagram – Mengatur File Soal ... 42

Tabel 3.17 Deskripsi Use Case Diagram – Mengatur Tes Input Output ... 42

Tabel 3.18 Deskripsi Use Case Diagram – Membuat Test Case Soal ... 42

(10)

xiv

Tabel 3.20 Deskripsi Use Case Diagram – Memeriksa Kode ... 43

Tabel 3.21 Deskripsi Use Case Diagram – Menyimpan File ... 43

Tabel 5.1 Hasil Pengujian fitur mengatur file pengkompilasi ... 75

Tabel 5.2 Hasil Pengujian fitur membuka file ... 75

Tabel 5.3 Hasil Pengujian fitur membuka file ... 76

Tabel 5.4 Hasil Pengujian fitur mengkompilasi kode ... 76

Tabel 5.5 Hasil Pengujian fitur menambah berkas contoh input output ... 77

Tabel 5.6 Hasil Pengujian fitur menghapus satu berkas contoh input output ... 77

Tabel 5.7 Hasil Pengujian fitur menghapus semua berkas contoh input output .. 77

Tabel 5.8 Hasil Pengujian fitur mengecek program dengan satu tes input output ... 78

Tabel 5.9 Hasil Pengujian fitur mengecek program dengan semua tes input output ... 78

Tabel 5.10 Hasil Pengujian fitur mengecek program dengan input manual ... 79

Tabel 5.11 Hasil Pengujian fitur mengirimkan file... 79

Tabel 5.12 Hasil Pengujian fitur mengaktifkan server ... 80

Tabel 5.13 Hasil Pengujian fitur menyimpan file ... 80

Tabel 5.14 Hasil Pengujian fitur mengatur folder tujuan ... 81

Tabel 5.15 Hasil Pengujian fitur membuka folder tujuan ... 81

Tabel 5.16 Hasil Pengujian fitur menambah pemeriksaan soal ... 81

Tabel 5.17 Hasil Pengujian fitur mengatur folder soal ... 81

Tabel 5.18 Hasil Pengujian fitur mengupdate berkas kode ... 82

Tabel 5.19 Hasil Pengujian fitur membuat test case soal ... 82

Tabel 5.20 Hasil Pengujian fitur mengatur standar evaluasi ... 83

Tabel 5.21 Hasil Pengujian fitur memeriksa kode ... 83

Tabel 5.22 Hasil Kuisioner untuk Disain dan Layout ... 84

(11)

DAFTAR ALGORITMA

Algoritma 2.1 : Aplikasi UDP Client ... 16

Algoritma 2.2 : Aplikasi UDP Server... 18

Algoritma 2.3: Mengaktifkan fungsi threading pada Aplikasi UDP server ... 18

Algoritma 2.4: Kode untuk membuka file dialog ... 19

Algoritma 2.5: Kode untuk membaca sebuah file dan mengirimkannya kedalam jaringan koneksi ... 19

Algoritma 2.6 : Kode program untuk menampilkan IP Address dan memulai thread yang akan menunggu koneksi yang masuk. ... 21

Algoritma 2.7 : Kode Program Fungsi ListenerThread ... 22

Algoritma 2.8 : Kode Program Fungsi HandlerThread ... 23

Algoritma 4.1 : Kode Program Fungsi Compile ... 65

Algoritma 4.2 : Kode Program Fungsi Run ... 67

Algoritma 4.3 : Kode Program Fungsi Check ... 69

Algoritma 4.4 : Kode Program Fungsi Send File ... 69

(12)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Proses penilain kode program mahasiswa saat ini masih bersifat manual, yaitu dosen atau asisten melakukan kompilasi terhadap kode program, dan menilai apakah program tersebut benar atau tidak. Proses ini tidaklah efisien, baik dari segi waktu maupun tenaga. Persoalan lebih rumit ketika ujian praktek, dosen atau asisten harus menilai semua kode program yang ada yang jumlahnya dapat mencapai 100 kode program.

Penelitian kerja praktek ini dilakukan untuk mengatasi permasalahan tersebut, yakni dengan mengembangkan sebuah aplikasi yang terhubung pada jaringan Local Area Network (LAN) yang bersifat client-server. Melalui aplikasi ini, mahasiswa (client) cukup mengirimkan kode programnya kepada dosen atau asisten (server), lalu dosen / asisten akan melakukan kompilasi kode program tersebut (melalui aplikasi tersebut) dan membandingkannya dengan contoh kasus (test case) yang sudah dimasukkan sebelumnya. Dengan begitu, hasil kode program mahasiswa dapat diketahui kebenarannya dalam waktu yang lebih singkat.

Dengan proses ini, waktu penilaian maupun pemeriksaan akan berjalan jauh lebih cepat, sehingga tidak ada lagi keraguan untuk membuat banyak soal yang dikarenakan akan memakan waktu banyak pada proses penilaiannya.

1.2 Rumusan Masalah

Dari latar belakang yang sudah dijelaskan, dapat diuraikan beberapa rumusan masalah :

1. Bagaimana membuat aplikasi yang dapat melakukan pengiriman data secara LAN?

2. Bagaimana membuat aplikasi yang dapat melakukan kompilasi kode program dan membaca hasil kode program tersebut?

(13)

1.3 Tujuan

Tujuan pengembangan aplikasi ini adalah sebagai berikut :

1. Membuat aplikasi yang dapat melakukan pengiriman data secara LAN. 2. Membuat aplikasi yang dapat melakukan kompilasi kode program dan

membaca hasil kode program tersebut.

3. Membuat aplikasi yang dapat membandingkan hasil keluaran program dengan contoh kasus yang ada.

1.4 Batasan Masalah

Batasan-batasan dalam penelitian ini adalah :

1. Aplikasi yang akan dibuat adalah aplikasi desktop menggunakan jaringan LAN.

2. Aplikasi ini hanya dapat digunakan dalam sistem operasi Windows. 3. Kode program dibatasi hanya berbahasa pemrograman C.

4. Komputer memiliki file compiler yang dibutuhkan, seperti DJGPP atau MinGW.

1.5 Sistematika Pembahasan

Sistematika pembahasan Pengembangan Aplikasi LAN Penilaian Kode Program C ini adalah sebagai berikut:

1. Bab I – Pendahuluan

Bab ini berisi uraian mengenai latar belakang, rumusan masalah, tujuan penelitian, batasan yang diacu, serta sistematika pembahasan dalam penulisan laporan Pengembangan Aplikasi LAN Penilaian Kode Program C.

2. Bab II – Landasan Teori

(14)

3 3. Bab III – Analisis dan Disain

Bab ini berisi uraian mengenai analisis terhadap perangkat lunak, serta gambaran keseluruhan perangkat lunak mulai dari antarmuka sampai kepada fitur-fitur yang akan dibuat.

4. Bab IV – Pengembangan Perangkat Lunak

Bab ini berisi uraian mengenai hasil implementasi perangkat lunak dari seluruh hasil rancangan yang diuraikan di Bab 3, mulai dari implementasi sampai dengan antar muka dan implementasi fitur-fitur perangkat lunak.

5. Bab V – Testing dan Evaluasi Sistem

Bab ini berisi uraian mengenai proses pengujian terhadap hasil implementasi.

6. Bab VI - Kesimpulan dan Saran

(15)

85

BAB VI

KESIMPULAN DAN SARAN

6.1. Kesimpulan

Kesimpulan yang didapatkan berdasarkan hasil pembuatan dan pengujian aplikasi LAN Penilaian Kode Program C ini adalah:

1. Aplikasi yang diimplementasikan membuat pelaksanaan pemeriksaan kode program C menjadi lebih efisien karena dilakukan secara terkomputerisasi 2. Aplikasi memiliki tampilan yang cukup rumit bagi pengguna awam, sehingga

diperlukan tutorial dalam penggunaannya.

6.2. Saran

Aplikasi ini masih dapat dikembangkan dengan beberapa hal seperti: 1. Memperbaiki disain dan layout aplikasi

2. Menyimpan soal dan test casenya dengan basis data.

3. Membuat aplikasi menjadi server yang memeriksa secara otomatis

(16)

xiv

DAFTAR PUSTAKA

Chonoles,Michael Jesse, A. Schardt James. 2003. UML 2 for Dummies. Hungry Minds.

Dorman, Scott, 1973. Sams Teach Yourself Visual C# 2010 in 24 Hours. United States of America: Pearson Education

Reid, Fiach. 2004. Network Programming in .NET. Burlington : Elsevier Digital Press.

Referensi

Dokumen terkait

Dinding kapiler yang kurang kuat akan menyebabkan darah keluar dan merembes ke dalam jaringan sekitarnya sehingga tampak titik merah kecil pada permukaan kulit,

Dalam rangka pelaksanaan Pasal 44 ayat (3) Undang-undang Nomor 22 Tahun 1999 tentang Pemerintahan Daerah dan dalam upaya pemantapan pemerintahan yang bersih dan berkemampuan

Walaupun ada kemajuan di bidang genetik molekuler dapat mengurangi insidens penyakit yang diwariskan, luasnya kisaran keadaan yang mengarah pada kebutuhan kesehatan khusus

Dengan melakukan wawancara kepada narasumber terpercaya di STMIK Bina Sarana Global (Ketua STMIK Global dan HRD) untuk mendapatkan data yang akurat, informasi yang

Holcim Indonesia Tbk merupakan satu-satunya perusahaan yang diprediksi mengalami masalah keuangan dihitung dengan metode Altman Z-Score dengan hasil tahun 2014 berada pada

Pertemuan terakhir: dilakukan dalam kelas besar dengan bentuk diskusi panel untuk melaporkan hasil diskusi masing-masing kelompok dan menanyakan hal-hal yang belum

• SIMRS adalah suatu sistem teknologi informasi komunikasi yang memproses dan mengintegrasikan seluruh alur proses pelayanan Rumah Sakit dalam bentuk jaringan koordinasi, pelaporan

bahwa perusahaan tersebut mempunyai nilai laba rugi selisih kurs paling rendah dibanding perusahaan lain sedangkan nilai maksimum LN_ML (Manajemen Laba pada Pos Laba