Pendaftaran kerja praktek menggunakan JSP dengan Framework Apache Struts : studi kasus Teknik Informatika Universitas Sanata Dharma - USD Repository

  PENDAFTARAN KERJA PRAKTEK MENGGUNAKAN JSP DENGAN FRAMEWORK APACHE STRUTS Studi Kasus pada Teknik Informatika Universitas Sanata Dharma SKRIPSI Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika Oleh : Yustinus Nugroho 035314020 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2009

  

APPRENTICE REGISTRATION USE JSP

WITH APACHE STRUTS FRAMEWORK

Case in Informatics Engineering Sanata Dharma University

A Thesis

  

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Informatics Engineering

  

By :

Yustinus Nugroho

035314020

  

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

HALAMAN PERSEMBAHAN

  

Karya ini ku persembahkan untuk :

  Tuhan Yesus, atas segala rahmat yang diberikan kepada saya Kedua orang tua-ku yang telah merawat dan membimbingku selama ini

  Kedua adikku, Yohan dan Agnes, untuk semua perhatian kalian Teman-teman Teknik informatika 2003, Terima kasih atas kegembiraan dan segala yang kalian berikan

  Teman teman SMU 7 X2D, Terima kasih karena telah menjadi teman yang hebat

  

HALAMAN MOTTO

Nothing can be done without hope and confidence.

  Don’t give up.....

  Don’t give up.....

  Don’t give up…..

  ABSTRAKSI

  Tugas akhir ini bertujuan untuk membangun system informasi menggunakan bahasa server side JSP dengan framework Apache Struts.

  Sistem ini digunakan untuk mengolah data mahasiswa yang mengambil mata kuliah Kerja Praktek (KP) pada Teknik Informatika Universitas Sanata Dharma dari mulai saat pendaftaran hingga melakukan seminar Kerja Praktek.

  Dengan menggunakan framework Apache Struts, aplikasi yang dibangun menjadi lebih aman dan mudah untuk dikembangkan dari sisi tampilan maupun logika program karena keduanya dipisahkan secara jelas menggunakan konsep MVC (Model-View-Controller).

  

ABSTRACT

  The purpose of the final assignment is to build information system use JSP and Apache Struts frameworks.

  This system is use for processing data of university student whose take apprentice class in Sanata Dharma University Informatics Engineering from registration session until presentation session.

  With Apache Struts frameworks, system goes more secure and easy to develops in presentation layer and business logic because both clearly separated with MVC (Model-View-Controller) concept.

KATA PENGANTAR

  Puji syukur saya haturkan kepada Tuhan Yesus yang telah mengaruniakan berkat dan rahmat-Nya sehingga saya dapat menyelesaikan Laporan Tugas Akhir ini.

  Banyak pihak yang telah membatu saya dalam penulisan tugas akhir ini. Oleh karena itu pada kesempatan ini saya ingin mengucapkan terima kasih atas bantuan, cinta, kasih sayang, semangat, perhatian, kritik dan saran yang telah dicurahkan kepada saya. Ucapan terima kasih ini saya sampaikan antara lain kepada :

  1. Bapak Yosef Agung Cahyanta, S.T., M.T., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

  2. Bapak Puspaningtyas Sanjaya Adi, S.T., M.T., selaku Ketua Jurusan Teknik Informatika Universitas Sanata Dharma.

  3. Ibu Ridowati Gunawan, S.Kom., M.T., selaku Dosen Pembimbing Akademik Teknik Informatika angkatan 2003 dan dosen pembimbing TA.

  Terima kasih atas bimbingan yang diberikan selama saya mengerjakan Laporan Skripsi ini.

  4. Kedua orangtua, terima kasih atas dukungan, kasih sayang dan semangat yang tiada henti sehingga saya dapat menyelesaikan Tugas Akhir ini.

  5. Seluruh pihak yang membantu saya baik secara langsung maupun tidak langsung, yang tidak dapat saya sebutkan satu persatu.

  Dengan rendah hati saya menyadari tulisan ini jauh dari sempurna dan masih terdapat banyak kekurangan. Saran dan kritik selalu saya harapkan dari pembaca untuk perbaikan–perbaikan di masa yang akan datang.

  Akhir kata, semoga tulisan ini dapat bermanfaat bagi semua pihak.

  Yogyakarta, April 2009 Penulis

DAFTAR ISI

  HALAMAN JUDUL HALAMAN PERSETUJUAN HALAMAN PENGESAHAN PERNYATAAN KEASLIAN KARYA PERNYATAAN PUBLIKASI KARYA HALAMAN PERSEMBAHAN HALAMAN MOTTO ABSTRAKSI ABSTRACT KATA PENGANTAR DAFTAR ISI DAFTAR GAMBAR DAFTAR TABEL i ii iii iv v vi vii viii ix x xii xv xix

BAB I. PENDAHULUAN

  1.3 Batasan Masalah

  2.5 MVC Model

  1.2 Rumusan Masalah

  18

  12

  11

  9

  8

  5

  5

  2.7 Apache Struts

  2.6 JSP / Servlet

  2.4 MySql

  1.4 Tujuan dan Manfaat Penelitian

  2.3 JDBC

  1.1 Latar Belakang Masalah

  2.1 Konsep Dasar Sistem Informasi

  4 BAB II. LANDASAN TEORI

  2

  2

  2

  2

  1

  1.6 Sistematika Penulisan

  1.5 Metodologi Penelitian

  2.2 Pemrograman Berorientasi Objek

BAB III. ANALISIS DAN PERANCANGAN SISTEM

  3.1 Analisis Kebutuhan

  19

  3.1.1 Mata Kuliah Khusus Kerja Praktek Teknik Informatika Sanata Dharma

  19

  3.1.2 Deskripsi Umum Sistem

  23

  3.1.3 Fungsi Utama Perangkat Lunak

  25

  3.1.4 Use Case Model

  26

  3.1.4.1 Use Case Diagram

  26

  3.1.4.1.1 Use Case diagram Petugas Sekretariat

  26

  3.1.4.1.2 Use Case diagram User

  27

  3.1.4.1.3 Use Case diagram Mahasiswa

  27

  3.1.4.1.4 Use Case diagram Dosen

  28

  3.1.4.2 Definisi Aktor

  28

  3.1.4.3 Definisi Use Case

  29

  3.1.4.4 Skenario Use Case

  30

  3.2 Analisis Sistem

  31

  3.2.1 Realisasi Use Case

  31

  3.2.2 Diagram Kelas Keseluruhan

  31

  3.3 Desain Sistem

  32

  3.3.1 Kelas Perancangan

  32

  3.3.2 Prototype antarmuka

  39

  3.3.3 Atribut dan Method

  40

  3.3.4 Perancangan Tabel

  40 BAB IV. IMPLEMENTASI SISTEM

  4.1 Karakteristik Umum

  44

  4.2 Perangkat Lunak yang Digunakan

  44

  4.3 Implementasi Antarmuka / View

  45

  4.4 Implementasi Kontrol

  49

  4.5 Implementasi Model

  50

BAB V. ANALISIS HASIL IMPLEMENTASI

  5.1 .Hasil Pengujian Sistem 5.2 .Kelebihan Sistem 5.3 .Kekurangan Sistem

  52

  52

  53 BAB VI PENUTUP

  6.1 Kesimpulan

  6.2 Saran

  54

  54 LAMPIRAN 1

  LAMPIRAN 2 LAMPIRAN 3 LAMPIRAN 4 LAMPIRAN 5

  55

  77 113 140 148

DAFTAR PUSTAKA

  166

  DAFTAR GAMBAR

  80 Gambar 16 Sequence diagram use case input surat balasan instansi

  90 Gambar 28 Sequence diagram tambah dosen

  90 Gambar 27 Realisasi use case update informasi dosen

  89 Gambar 26 Sequence diagram hapus mahasiswa

  88 Gambar 25 Sequence diagram edit mahasiswa

  88 Gambar 24 Sequence diagram tambah mahasiswa

  87 Gambar 23 Realisasi use case update informasi mahasiswa

  86 Gambar 22 Sequence diagram use case cetak berita acara

  85 Gambar 21 Realisasi use case cetak berita acara

  84 Gambar 20 Sequence diagram use case cetak surat permohonan seminar KP

  83 Gambar 19 Realisasi use case cetak surat permohonan KP

  82 Gambar 18 Sequence diagram use case cetak surat tugas KP

  81 Gambar 17 Realisasi use case cetak surat Tugas KP

  79 Gambar 15 Realisasi use case input surat balasan instansi

  Gambar 1 Pemrosesan servlet oleh web server

  78 Gambar 14 Sequence diagram use case cetak surat permohonan KP

  78 Gambar 13 Realisasi use case cetak surat permohonan KP

  77 Gambar 12 Sequence diagram login mahasiswa / dosen

  77 Gambar 11 Sequence diagram login administrator

  41 Gambar 10 Realisasi Use Case login

  29 Gambar 9 Relasi tabel

  28 Gambar 8 Definisi aktor

  27 Gambar 7 Use Case diagram dosen

  27 Gambar 6 Use Case diagram mahasiswa

  26 Gambar 5 Use Case diagram user

  24 Gambar 4 Use Case diagram petugas sekretariat

  22 Gambar 3 Flowchart sistem yang baru

  14 Gambar 2 Flowchart prosedur KP

  91 Gambar 29 Sequence diagram edit dosen

  91 Gambar 30 Sequence diagram hapus dosen

  97 Gambar 39 Realisasi use case daftar KP

  112 Gambar 57 Design Halaman Login

  Sequence diagram use case lihat informasi instansi 105 Gambar 51 Realisasi use case lihat pengumuman 106 Gambar 52 Realisasi use case input nilai seminar 108 Gambar 53 Sequence diagram use case input nilai seminar KP 109 Gambar 54 Realisasi use case posting pengumuman 110 Gambar 55 Sequence diagram use case posting pengumuman 111 Gambar 56 Class diagram

  Sequence diagram use case lihat informasi dosen 104 Gambar 49 Realisasi use case lihat informasi instansi 105 Gambar 50

  99 Gambar 42 Sequence diagram use case input data instansi 100 Gambar 43 Realisasi use case daftar seminar KP 101 Gambar 44 Sequence diagram use case daftar seminar KP 102 Gambar 45 Realisasi use case lihat informasi mahasiswa 103 Gambar 46 Sequence diagram use case lihat informasi mahasiswa 103 Gambar 47 Realisasi use case lihat informasi dosen 104 Gambar 48

  98 Gambar 41 Realisasi use case cinput data instansi

  97 Gambar 40 Sequence diagram use case daftar KP

  96 Gambar 38 Sequence diagram hapus pengumuman

  92 Gambar 31 Realisasi use case update informasi instansi

  95 Gambar 37 Sequence diagram edit pengumuman

  94 Gambar 36 Sequence diagram tambah pengumuman

  94 Gambar 35 Realisasi use case update pengumuman

  93 Gambar 34 Sequence diagram hapus instansi

  93 Gambar 33 Sequence diagram edit instansi

  92 Gambar 32 Sequence diagram tambah instansi

  113 Gambar 60 Design Halaman Personal 114

  Gambar 61 Design Halaman Daftar KP 114 Gambar 62 Design Halaman Tampilan Surat 115 Gambar 63 Design Halaman Surat Permohonan KP 116 Gambar 64 Design Halaman Surat Balasan 116 Gambar 65 Design Form Surat Balasan 117 Gambar 66 Design Halaman Cetak Surat Tugas 117 Gambar 67 Design Form Cetak Surat Tugas 118 Gambar 68

  Design Halaman Surat Tugas KP 118 Gambar 69 Design Halaman Daftar Seminar KP 119 Gambar 70 Design Halaman Konfirmasi Data Seminar 119 Gambar 71 Design Halaman Konfirmasi Seminar 120 Gambar 72 Design Halaman Cetak Surat Seminar 120 Gambar 73 Design Form Cetak Surat Seminar 121 Gambar 74 Design Halaman Surat Permiohonan Seminar KP 121 Gambar 75 Design Halaman Mahasiswa Bimbingan 122 Gambar 76 Design Halaman Detail Mahasiswa Bimbingan 122 Gambar 77 Design Halaman Cetak Berita Acara 123 Gambar 78 Design Form Cetak Berita Acara 123 Gambar 79

  Design Halaman Berita Acara 124 Gambar 80 Design Halaman Administrator Informasi Mahasiswa 124 Gambar 81

  Design Halaman Mahasiswa Informasi Mahasiswa 125 Gambar 82 Design Halaman Dosen Informasi Mahasiswa 125 Gambar 83 Design Halaman Administrator Detail Mahasiswa 126 Gambar 84 Design Halaman Mahasiswa Detail Mahasiswa 126 Gambar 85 Design Halaman Dosen Detail Mahasiswa 127 Gambar 86 Design Form Mahasiswa Baru 127 Gambar 87 Design Halaman Administrator Informasi Dosen 128 Gambar 88 Design Halaman Mahasiswa Informasi Dosen 128 Gambar 91 Design Halaman Mahasiswa DetailDosen 130 Gambar 92 Design Halaman Dosen DetailDosen 130 Gambar 93 Design Form Dosen Baru

  131 Gambar 94 Design Administrator Informasi Instansi 131 Gambar 95 Design Mahasiswa Informasi Instansi 132 Gambar 96 Design Dosen Informasi Instansi 132 Gambar 97 Design Administrator Detail Instansi 133 Gambar 98 Design Mahasiswa Informasi Instansi 133 Gambar 99

  Design Dosen Informasi Instansi 134 Gambar 100 Design Administrator Form Instansi Baru 134 Gambar 101 Design Mahasiswa Form Instansi Baru 135 Gambar 102 Design Administrator Halaman Pengumuman 135 Gambar 103 Design Mahasiswa Halaman Pengumuman 136 Gambar 104 Design Dosen Halaman Pengumuman 136 Gambar 105 Design Administrator Halaman Detail Pengumuman 137 Gambar 106 Design Mahasiswa Halaman Detail Pengumuman 137 Gambar 107 Design Dosen Halaman Detail Pengumuman 138 Gambar 108 Design Administrator Form Pengumuman Baru 138 Gambar 109 Design Dosen Form Pengumuman Baru 139

  DAFTAR TABEL

  40 Tabel 15 Struktur tabel dosen

  50 Tabel 26 Implementasi entity / tabel

  49 Tabel 25 Implementasi model

  45 Tabel 24 Implementasi kontrol

  42 Tabel 23 Implementasi antarmuka

  42 Tabel 22 Struktur tabel administrator

  42 Tabel 21 Struktur tabel pengumuman

  42 Tabel 20 Struktur tabel detail_seminar

  41 Tabel 19 Struktur tabel seminar

  41 Tabel 18 Struktur tabel detail_kp

  41 Tabel 17 Struktur tabel kp

  40 Tabel 16 Struktur tabel instansi

  40 Tabel 14 Struktur tabel mahasiswa

  Tabel 1 Tipe data numerik pada MySql

  39 Tabel 13 Atribut dan Method

  32 Tabel 12 Prototype antarmuka

  31 Tabel 11 Kelas Perancangan

  30 Tabel 10 Realisasi Use Case

  29 Tabel 9 Skenario Use Case

  28 Tabel 8 Definisi Use Case

  25 Tabel 7 Definisi aktor

  17 Tabel 6 Fungsi utama Perangkat Lunak

  15 Tabel 5 Atribut action

  11 Tabel 4 Atribut page directive

  10 Tabel 3 Tipe data time pada MySql

  10 Tabel 2 Tipe data string pada MySql

  51

BAB I PENDAHULUAN

  1.1 Latar Belakang Masalah

  Secara garis besar KP (Kerja Praktek) di Teknik Informatika Universitas Sanata Dharma dapat di bagi menjadi 2 bagian, yaitu KP itu sendiri dan seminar KP. Untuk dapat melaksanakan KP, mahasiswa mencari dan menentukan sendiri waktu dan tempat KP dilaksanakan. Petugas sekretariat akan mencatat dan membuatkan berkas (surat) yang diperlukan mahasiswa. Seminar KP dilaksanakan setelah mahasiswa selesai KP. Mahasiswa perlu mendaftarkan diri dahulu agar petugas sekretariat dapat mencatat dan membuatkan berkas-berkas yang dibutuhkan.

  Semua pencatatan yang dilakukan petugas sekretariat dilakukan dengan menggunakan bantuan Microsoft Exel dan Microsoft Word. Banyaknya data yang telah disimpan membuat kesulitan pada saat mencari data tertentu. Kesulitan juga terjadi ketika banyak mahasiswa yang mendaftar KP secara bersamaan karena hanya ada satu petugas yang menangani. Terdapat juga potensi human-error pada saat penentuan nomor surat karena data diinputkan secara manual.

  1.2 Rumusan Masalah

  Berdasarkan latar belakang di atas, maka dapat dibuat suatu rumusan masalah yaitu :

  1. Bagaimana menganalisa, mendesain, dan mengimplementasikan sebuah

  2. Bagaimana membuat data lebih terorganisir sehingga mudah untuk digunakan?

  3. Bagaimana membuat otomatisasi pembuatan nomor surat?

  1.3 Batasan Masalah

  1. Sistem tidak menangani beberapa kasus (syarat pada prosedur KP) yang autentikasinya hanya dapat dilakukan secara manual.

  2. Sistem tidak membahas keamanan (security) jaringan.

  1.4 Tujuan dan Manfaat Penulisan

  Tujuan pembuatan Tugas Akhir ini adalah membuat aplikasi berbasis web untuk pendaftaran Kerja Praktek pada Teknik Informatika Univesitas Sanata Dharma.

  Di harapkan aplikasi ini dapat memberikan kemudahan baik mahasiswa, dosen dan petugas sekretariat namun tetap mempertahankan intrgritas dan keamanan yang menjadi tujuan sistem yang lama. Manfaat yang diharapkan dari sistem ini adalah meringankan tugas dosen dan petugas sekretariat dalam memantau dan melakukan pencatatan status mahasiswa yang sedang menjalani Kerja Praktek..

  1.5 Metodologi

  Metodologi yang digunakan dalam penyusunan Tugas Akhir adalah :

  1. Metode pengumpulan data :

  a. Pengumpulan informasi dengan cara interview kepada petugas sekretariat yang megurus pendaftaran KP, dosen pembimbing b. Studi literatur Mempelajari konsep JSP/servlet, MVC, MySql dan Apache Struts yang nantinya akan digunakan untuk membangun Pendaftaran Kerja Praktek Online.

  2. Metode perancangan sistem Metode perancangan sistem yang digunakan adalah metode berorientasi objek Rational Unified Process (Building Web Applications with UML, Jim

  Conallen). Adapun langkah-langkahnya adalah :

  a. Inception Mempelajari masalah-masalah yang timbul dan menentukan kebutuhan-kebutuhan bagi pemakai sistem untuk mengidentifikasi pemecahan yang beralasan.

  b. Elaboration Menggambarkan bagaimana suatu sistem dibentuk termasuk menyangkut konfigurasi dari komponen-komponen perangkat lunak dari suatu sistem.

  c. Construction Merupakan tahapan pembangunan sistem sesuai dengan model analisis dan perancangan pada fase-fase berikutnya

1.6 Sistematika Isi

  BAB 1 PENDAHULUAN Bab ini menjelaskan tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, metodologi penulisan, dan sistematika penulisan.

  BAB 2 LANDASAN TEORI Bab ini menjelaskan tentang teori-teori yang mendukung penulisan Tugas Akhir ini yaitu teori-teori konsep dasar sistem informasi, Pemrograman Berorientasi Obyek, ER Diagram, JSP (Java Server Page) dan servlet, MVC, Apache Struts, MySQL sebagai pembangun database, dan Mata Kuliah Khusus Kerja Praktek Teknik Informatika Universitas Sanata Dharma.

  BAB 3 ANALISIS dan PERANCANGAN SISTEM Bab ini berisi tentang analisis dan desain sistem yang akan dibuat. BAB 4 IMPLEMENTASI SISTEM Bab ini menjelaskan tentang implementasi ke dalam bentuk program berdasarkan desain yang telah dibuat. BAB 5 ANALISIS HASIL IMPLEMENTASI Bab ini menjelaskan tentang sistem yang telah dibuat, kelebihan dan kekurangan dari sistem ini. BAB 6 KESIMPULAN dan SARAN Bab ini berisi kesimpulan dan saran.

BAB II LANDASAN TEORI

  2.1 Konsep Dasar Sistem Informasi

  Sistem informasi adalah susunan dari orang, data, proses serta teknologi informasi yang saling berinteraksi untuk mengumpulkan, memproses, menyimpan dan menyediakan suatu informasi yang diperlukan untuk mendukung organisasi. Sistem informasi banyak digunakan dalam organisasi untuk meningkatkan kemampuan memperoleh manfaat ataupun comptetive advantage (Whitten).

  Sistem adalah kumpulan dari subsistem-subsistem yang saling dihubungkan untuk membentuk satu kesatuan yang utuh (Jogiyanto, 1999).

  Data merupakan bentuk yang masih mentah yang belum dapat bercerita banyak, sehingga perlu diolah lebih lanjut. Data diolah melalui suatu model untuk menghasilkan informasi.

  Informasi adalah data yang telah diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya untuk pengambilan keputusan (Jogiyanto, 1999).

  2.2 Pemrograman Berorientasi Objek Meliputi Object Oriented Analysis (OOA) dan Object Oriented Design (OOD).

  Object Oriented Analysis (OOA) adalah pendekatan untuk

  • mempelajari objek yang ada untuk melihat apakah objek tersebut dapat digunakan kembali atau disesuaikan untuk kebutuhan yang baru.

  Mendefinisikan objek yang baru atau memodifikasi objek yang akan - dikombinasikan dengan objek yang sudah ada ke dalam aplikasi bisnis komputing yang berguna. Object Oriented Design (OOD) merupakan pendekatan yang digunakan untuk menspesifikasikan solusi perangkat lunak dalam bentuk kolaborasi obyek, atribut, dan fungsinya. Tahap ini merupakan kelanjutan dari proses object oriented analysis. Terdapat tiga jenis objek dalam tahap ini, yaitu :

  1. Entity Object, merupakan sebuah obyek yang berisi informasi yang berhubungan dengan bisnis dan secara khusus bersifat persisten dan disimpan dalam database. Simbol :

  Entity objek selalu berhubungan dengan item-item dalam kehidupan nyata

  (contoh : mahasiswa) dan berisi informasi yg dikenal dengan nama attribute. Hal ini yang membedakan intances dari entity. Entity dienkapsulasi dengan behavior (disebut dengan method) yg mengelola informasi atau atributnya.

  Entity juga bersifat persistent, yg berarti bahwa objek tersebut terbentuk setelah eksekusi program software yang membuatnya.

  2. Interface Object, merupakan sebuah obyek yang disediakan untuk menggambarkan bagaimana sebuah aktor akan berkomunikasi dengan sistem. Simbol :

  3. Control Object, merupakan sebuah obyek yang berisi aplikasi logik yang bukan merupakan tanggung jawab entity object. Control object akan mengkoordinasikan message antar interface object dan entity object dan mengurutkan message yang terjadi.

  Simbol : Aktivitas dalam Object Oriented Design adalah :

  a. Memodelkan interaksi antara obyek dan behaviour yang mendukung skenario use case.

  b. Mengupdate model obyek yang mencerminkan lingkungan implementasi.

  UML ( Unified Modelling Language)

  UML merupakan konfensi / perjanjian tentang sekumpulan modeling yang digunakan untuk menspesifikasikan dan menjelaskan sistem software dan hardware dalam bentuk objek. UML tidak menentukan sebuah metode untuk mengembangkan sistem tetapi hanya berupa notasi.

  UML mendefiniskan diagram-diagram berikut:

  1 Use case diagram Use case diagram adalah sekumpulan diagram yang menggambarkan interaksi antara sistem dan eksternal sistem dan user. Use case secara behavioral berhubungan dengan urutan langkah-langkah, baik secara otomatis maupun manual dengan tujuan untuk melengkapi bisnis tunggal, misalnya login ke sistem, manambah data barang, menghapus data barang, dan sebagainya.

  Actor adalah segala sesuatu yang dibutuhkan untuk berinteraksi dengan sistem untuk mengubah informasi.

  2 Class diagram Class diagram menggambarkan struktur dari objek sistem dan memperlihatkan class beserta relasi dengan class lainnya.

  3 Sequence diagram Sequence diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use case.

  Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case.

2.3 JDBC

  JDBC API adalah application programming interface yang menyediakan akses data universal untuk bahasa pemrograman Java. JDBC API terdiri atas sejumlah

  class dan interface yang ditulis dalam bahasa Java yang menyediakan API

  standar sebagai alat bantu bagi pembuat program dan memberikan kemungkinan untuk menulis aplikasi database dengan menggunakan semua Java API. JDBC API memudahkan untuk mengirim perintah SQL ke sistem database relasional dan mendukung bemacam-macam perintah SQL.

  Keunggulan JDBC API adalah sebuah aplikasi dapat mengakses sembarang sumber data dan dapat berjalan pada sembarang platform yang mempunyai Java

  Virtual Machine (JVM). Dengan kata lain, kita hanya perlu menulis satu

  program yang menggunakan JDBC API, dan program dapat mengirimkan

  statement SQL atau statement lain ke sumber data tertentu. Dengan khawatir untuk menulis aplikasi yang berbeda-beda agar dapat berjalan pada platform yang berbeda-beda. Teknologi JDBC memampukan untuk melakukan tiga hal berikut : 1. Membangun sebuah koneksi ke sumber data (data source).

  2. Mengirim perintah ke sumber data.

  3. Memproses hasil dari perintah tersebut..

2.4 MySql

  MySQL adalah multiuser database yang menggunakan bahasa SQL (Structured Query Language) yang mampu menangani data dalam jumlah yang cukup besar.

  SQL adalah bahasa standar yang digunakan untuk mengakses database server. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly. MySQL juga menyediakan dukungan open source. Dalam konteks bahasa SQL pada umumnya informasi tersimpan dalam tabel- tabel yang secara logika merupakan dua dimensi yang terdiri atas baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data, sedangkan kolom sering disebut sebagai atribut atau

  field. Keseluruhan tabel dihimpun dalam satu kesatuan yang disebut database.

  MySQL mendukung empat tipe data yaitu:

  1. Numerik Pada tipe data ini data yang disimpan hanya data angka (numerik). Angka tersebut bisa disimpan dalam bentuk positif atau negatif. Tipe data numerik pada MySQL adalah sebagai berikut :

  Tabel 1 Tipe data Numerik pada MySql Tipe Data Jangkauan Signed Memori

  TINYINT -128-127 1 byte SMALLINT -32768-32767 2 byte MEDIUMINT -8388608-8388607 3 byte

  INT -2147483648-2147483647 4 byte BIGINT -9223372036854775808-

  9223372036854775807 8 byte FLOAT (M,D) Tergantung nilainya 4 byte DOUBLE (M,D) Tergantung nilainya 8 byte DECIMAL (M,D) Tergantung nilainya M+2 byte

  2. String Pada tipe data ini isinya bisa nilai string dan numerik, namun untuk numerik tidak bisa dilakukan operasi perhitungan sebelum dilakukan konversi.

  Tabel 2 Tipe data String pada MySql Tipe Data Max Size Memori

  CHAR(X) 255 BYTE

  X BYTE

  VARCHAR(X) 255 BYTE X+1 BYTE TINYTEXT 255 BYTE X+1 BYTE TINYBLOB 255 BYTE X+2 BYTE TEXT 65535 BYTE X+2 BYTE BLOB 65535 BYTE X+2 BYTE MEDIUMTEXT

  1.6 MB X+3 BYTE MEDIUMBLOB

  1.6 MB X+3 BYTE LONGTEXT

  4.2 MB X+4 BYTE LONGBLOB

  4.2 MB X+4 BYTE

  3. Waktu Tipe data ini menyimpan informasi waktu, baik tanggal maupun jam, walaupun data yang disimpan disini adalah numerik tetapi pembacaan terhadap data adalah string. Jadi bila dilakukan perhitungan, maka data tersebut harus dikonversi terlebih dahulu.

  Tabel 3 Tipe data time pada MySql Tipe Data Format Standar Zero Value

  DATETIME YYYY-MM-DD HH:MM:SS

  0000-00-00 00:00:00 DATE YYYY-MM-DD 0000-00-00 TIME HH:MM:SS 00:00:00 YEAR YYYY 0000 TIMESTAMP YYYYMMDDHHMMSS 00000000000000

  4. Data selain numerik atau string Ada dua tipe data yang tidak termasuk tipe data di atas yaitu ENUM dan SET.

  ENUM adalah sebuah tipe data yang menyimpan beberapa pilihan data yang

  akan disimpan tetapi hanya ada satu pilihan yang boleh disimpan. Sedangkan

  SET adalah tipe data mirip seperti ENUM tetapi dapat memilih lebih dari pada satu pilihan.

2.5 MVC Model

  MVC adalah gaya penulisan program yang membagi antara presentation layout dan bisnis logic. MVC juga biasa disebut arsitektur Model 2. Perbedaan mendasar antar MVC (model 2) dan gaya penulisan konvensional (model 1)

  Karakteristik MVC :

  Model Model mempresentasikan bisnis logic dari suatu aplikasi web.

   Model berisi bisnis logic dari suati aplikasi web untuk memproses request.

  Di dalamnya dapat berisi koneksi ke databse.  Biasanya berbentuk java class biasa.

   Harus benar-benar terpisah dari controller.  Presentation layout tidak boleh mengakses model secara langsung, harus lewt controller

  View Merupakan presentation layout yang berinteraksi langsung dengan user.

   Biasanya berbentuk file *.jsp atau *.html.  Merupakan tampilan yang dilihat langsung oleh user.  View tidak boleh menunjuk ke view lain secara langsung.  View sebaiknya sederhana dan tidak mempunyai banyak logika.

  Controller

  Merupakan layer penghubung antara view dan model  Tidak berisi mengenai JDBC, EJB atau apapun yang berhubungan dengan database.

   Merupakan layer antara model dan view.

2.6 JSP / Servlet Servlet

  Servlet adalah program java yang berjalan pada aplikasi berbasis web (aplikasi

  server) dan bertindak sebagai lapisan tangah diantara request dari client dan

  Ketika dijalankan, inisiasi servlet hanya dilakukan sekali pada saat servlet dipanggil pertama kali. Setelah itu, request yang diterima oleh servlet di proses oleh servisnya saja. Servlet mempunyai semua keunggulan Java seperti garbage collection dan exception handling serta dapat berjalan di banyak sistem operasi.

  JSP

Java Server Pages (JSP) merupakan perluasan dari spesifikasi Java Servlet,

  yang bertujuan untuk menyederhanakan dalam pengembangan suatu content yang dinamis. JSP memungkinan untuk menggabungkan HTML statis dengan content yang dinamis. (www.coreservlets.com) JSP merupakan bagian dari J2EE (Java 2 Enterprise Edition) dan khususnya merupakan komponen web dari aplikasi J2EE secara keseluruhan. JSP dan Servlet bekerja dalam suatu lingkungan web container yang menyediakan koneksi dan servis. Sedangkan JSP dan Servlet mengontrol presentasi data yang dihasilkan dari suatu proses untuk dikirimkan ke client. Server yang menangani permintaan JSP seperti sebuah kompiler halaman yang menggabungkan

  template HTML dengan kode Java yang dinyatakan pada elemen JSP.

  Detail pemrosesan JSP Servlet Engine adalah sebagai berikut: 1. Melakukan pemilihan (parsing) kode JSP.

  2. Membangkitkan kode sumber Servlet.

  3. Mengkompilasi kode sumber Servlet menjadi sebuah kelas.

  4. Membuat instance Servlet.

  5. Memberikan keluaran Servlet ke Web Server.

  Gambar 1 Pemrosesan servlet oleh web server

  Keunggulan JSP :

  1. JSP ditulis dengan menggunakan Java yang telah diakui sebagai bahasa pemrograman yang handal.

  2. Karena JSP berbasis Java, maka JSP juga dapat berjalan pada banyak system operasi.

  3. JSP mempunyai banyak dukungan API library termasuk untuk networking dan database akses.

  Elemen-elemen JSP JSP memiliki bermacam-macam elemen yang dapat digunakan dalam suatu halaman JSP. JSP memiliki tiga komponen utama yaitu: a. Directive

  Direktif adalah media yang digunakan JSP untuk mengirimkan pesan ke JSP container. Direktif berguna untuk melakukan setting nilai global seperti deklarasi class atau method. Sintaks directive <%@ directive_name attribute=”attribute_value”%> JSP memiliki tiga jenis tag directive :

   page directive

  page directive digunakan untuk mendefinisikan atribut-atribut

  yang digunakan untuk memberitahukan servlet engine mengenai konfigurasi umum dari halaman JSP.

  Sintaks page directive : <%@ page atribut1 atribut2…%>

  Tabel 4 Atribut page directive Atribut Untuk mendefinisikan contentType=”MIME type” tipe MIME (Multipurpose Internal Mail Extension type) dari response. Nilai default-nya text/html extends=”packagename.class” nama class yang akan menjadi class induk dari servlet yang akan dibuat. errorPage=”url” URL tempat halaman yang akan digunakan untuk

menangani exceptions.

isErrorPage=”False” jika suatu halaman JSP dapat digunakan sebagai error

page untuk halaman JSP lain. Nilai default : false

import=”package list” nama package yang di-import untuk suatu halaman JSP

language=”scripting language” bahasa yang digunakan untuk meng-compile halaman

  JSP

session=”true” session data bagi suati halaman JSP. Nilai default : true

   include directive

  include directive digunakan untuk mendefinisikan file yang disisipkan pada saat kompilasi halaman JSP.

  Sintaks include directive : <@ include file=”url/file”>  taglib directive

  Direktif ini digunakan untuk mendefinisikan tag-tag buatan pemrogram. b. Elemen scripting Ada tiga macam elemen skripting, yaitu:

   Skriplet Untuk deklarasi, ekspresi dan kode lain digunakan tag <%...%>.

   Deklarasi Untuk mendeklarasikan variabel atau method digunakan tag <%!...%>.

   Ekspresi Untuk ekspresi dalam Java dan menampilkannya sebagai String dalam browser digunakan tag <%=…%>.

  c. Action Merupakan tag yang berfungsi untuk menjalankan suatu operasi yang spesifik, misalnya:

   Mem-forward dari suatu halaman JSP ke halaman JSP yang lain.

   Menyisipkan suatu halaman/ operasi pada halaman JSP yang lain.

   Penanganan Applet atau Java Bean pada suatu halaman JSP. Standar action memiliki sintaks sebagai berikut: <jsp:nama_action atribut1 atribut2 …/>

  Tabel 5 Atribut action JSP Action Kegunaan Atribut Deskripsi <jsp:usebean> Untuk mencari dan mengambil (load) sebuah bean.

   param

   nama parameter

   Name  value

   Page  Flush  Mendefinisikan url dari file JSP yang akan disisipkan  Mendefinisikan apakah buffer harus dibersihkan <jsp:param> Digunakan sebagai sub-atribut dengan jsp:include dan jsp:forward

   spesifikasikan url dari halaman JSP yang dituju <jsp:include> Digunakan untuk menyisipkan halaman JSP.

   page

   mendefinisikan request parameter yang nantinya akan digunakan untuk me-set nilai dari bean property <jsp:forward> Digunakan untuk mem-forward (meneruskan) request ke halaman JSP yang lain

   mendeklarasikan nilai dari bean property

   menspesifikasi property bean

   menspesifikasikan nama bean

   value

   Id  Class  Scope  beanName

   property

   name

   mendefinisikan property bean <jsp:setProperty> Digunakan untuk mengganti (men-set) property sebuah bean

   mendefinisikan nama dari bean

   property

   name

   Mendefinisikan nama referinsial dari bean <jsp:getProperty> Untuk mendapatkan property dari bean yang digunakan. Property yang digunakan akan dikonversi ke dalam string sebelum ditampilkan

   Mendefinisikan lama penggunaan (life) dari bean

   Mendefinisikan class dari bean yang akan digunakan.

   Mendefinisikan instance dari sebuah bean

   nilai parameter

2.7 Apache Struts

  Struts merupakan framework open source yang dibuat oleh Craig McClahanan dan didanai oleh Apache Foundation untuk mengembangkan aplikasi web pada platform J2EE. Struts dibuat menggunakan teknologi standar seperti servlet API, resource bundles dan XML untuk membantu para pengembang web mengimplementasikan arsitektur MVC. Di dalamnya terdapat serangkaian utility class untuk menangani kebanyakan proses pada aplikasi web. (Apache Struts

  manual)

  Kelebihan Struts :  Konfigurasi web menjadi lebih terpusat.

   Apache Struts memiliki serangkaian tag buatan yang memudahkan pengembang dalam membangun sebuah aplikasi web.

   Apache Struts memiliki validasi yang secara otomatis yang akan memeriksa nilai dari form.

  Kekurangan Struts :  Apache Struts memiliki dokumentasi yang lebih sedikit dan tidak diatur dengan baik  Perlu pembelajaran yang mendalam. Untuk mempelajari Apache Struts, minimal membutuhkan pengetahuan tentang konsep MVC dan JSP/Servlet.

   Sebagian proses terjadi dibelakang (background) daripada aplikasi web pada umumnya.

BAB III ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Kebutuhan

3.1.1 Mata Kuliah Khusus Kerja Praktek Teknik Informatika Sanata Dharma

  3.1.1.1 Tujuan

  1. Mahasiswa mampu menerapkan teori-teori yang diterima selama perkuliahan ke dalam kenyataan sehari-hari / dunia industri / instansi.

  2. Mahasiswa mampu mengenal dunia kerja

  3.1.1.2 Syarat Pengambilan 1. Sudah menempuh dan lulus (minimal D) sebanyak 97 SKS.

  3.1.1.3 Teknis Pelaksanaan

  1. Mahasiswa mencari sendiri instansi / perusahaan yang dituju. Surat permohonan dapat diminta di secretariat Teknik Informatika dengan memberikan data :

  a. Nomor mahasiswa

  b. Nama mahasiswa

  c. Instansi yang dituju

  d. Alamat yang instansi

  e. Transkrip nilai mahasiswa

  2. Mahasiswa dapat melaksanakan kerja praktek secara kelompok

  3. Mahasiswa mengirimkan surat permohonan kerja praktek ke instansi tujuan.

  4. Mahasiswa menunggu jawaban dari instansi / perusahaan kerja praktek.

  5. Jika dalam masa 2 bulan, instansi / perusahaan tidak membalas surat permohonan, mahasiswa diperkenankan mengajukan surat permohonan kerja praktek ke instansi / perusahaan lain.

  6. Jika instansi memberi persetujuan, maka pihak jurusan akan membuatkan surat tugas kerja praktek yang harus diurus sebelum berangkatkerja praktek. Pihak jurusan akan menentukan dosen pembimbing kerja praktek.

  7. Mahasiswa yang akan berangkat kerja praktek dibekali :

  a. Surat Tugas Kerja Praktek

  b. Format lembar penilaian kerja praktek untuk instansi / perusahaan.

  8. Setelah selesai melaksanakan kerja praktek, mahasiswa wajib melaksanakan seminar. Pelaksanaan seminar maksimal 6 bulan setelah kerja praktek selesai. Jika melebihi batas waktu maka nilai maksimal C.

  9. Syarat Semiar Kerja Praktek :

  a. Pernah mengikuti seminar KP minimal 10 kali (Daftar hadir seminar terlampir).

  b. Surat Tugas Kerja Praktek.

  c. Lembar penilaian kerja praktek dari instansi / perusahaan. d. Surat Keterangan telah selesai kerja praktek dari instansi / perusahaan.

  e. Pelaksanaan seminar KP harus dihadiri minimal 15 orang peserta.

  10. KRS kerja praktek sebagai syarat nilai kerja praktek keluar.

  11. Setelah pelaksanaan Kerja Praktek selesai, mahasiswa diwajibkan mengumpulkan 3 eksemplar laporan dengan perincian : a. 1 eksemplar untuk jurusan

  b. 1 eksemplar untuk mahasiswa c. 1 eksemplar untuk instansi / perusahaan yang bersangkutan.

  3.1.1.4 Waktu Pelaksanaan

  1. Kerja Praktek harus dilaksanakan selama 2 (dua) bulan pada instansi / perusahaan yang benar-benar ada (tidak fiktif).

  2. Waktu pelaksanaan Kerja Praktek tergantung dari keputusan instansi / perusahaan.

  3.1.1.5 Saran

  Karena Kerja Praktek dilakukan selama 2 bulan (full time bekerja) mahasiswa disarankan mengambil Kerja Praktek pada waktu semester pendek berlangsung; supaya tidak mengganggu mata kuliah yang lain. Untuk itu sebaiknya jauh sebelum pelaksanaan, mahasiswa sudah menghubungi instansi / perusahaan sehingga diperoleh waktu kesepakatan yang dapat menguntungkan kedua belah pihak.

3.1.1.6 Flowchart Prosedur KP

  

Gambar 2 Flowchart Prosedur KP

Jika diperlukan, mahasiswa

dapat mengirimkan

  1

permohonan pribadi, tanpa

START pengantar dari jurusan

  Mahasiswa menandatangani surat pernyataan kesanggupan yang diketahui oleh dosen pembimbing KP, kemudian diserahkan ke

  Mahasiswa mengisi blanko permohonan yang ada di sekretariat sekretariat, syaratnya sudah lulus >= 110 sks

  Mahasiswa melaksanakan KP Sekretariat membuat surat sesuai jadwal dengan membawa permohonan KP surat tugas asli Ya

  

Tidak

Mahasiswa mengirim surat Setelah selesai KP, mahasiswa permohonan ke perusahaan menghubungi dosen pembimbing KP

  Waktu tunggu > 2 bulan? Pembuatan laporan KP Tidak

  Tidak Apakah diterima perusahaan?

  Laporan KP disetujui dosen pembimbing? Ya

  Ya Mahasiswa mendapat dosen pembimbing KP

  Mahasiswa mengajukan permohonan seminar KP Sekretariat membuat surat Seminar KP tugas KP yang ditandatangani Kajur

  Mengumpulkan laporan KP Mahasiswa membawa surat tugas KP untuk:

  1. Minta tanda tangan ke dosen pembimbing KP

  2. Dimintakan cap di sekretariat END

  3. Difotocopy 4 lembar dan diberikan kepada:

  a. Dosen pembimbing KP

  b. Dosen pembimbing akademik

  c. Sekretariat Catatan:

  d. Mahasiswa Waktu pelaksanaan seminar KP max 6

3.1.2 Deskripsi Umum Sistem

  Sistem yang akan dibangun merupakan sistem berbasis web dan dibangun menggunakan salah satu implementasi framework MVC yaitu Apache Struts. Untuk mengakses sistem ini dibutuhkan jaringan internet dan web brower standard. Sistem ini akan dapat menangani pendaftaran KP dan seminar KP di Teknik Informatika Universitas Sanata Dharma. Sistem ini juga memiliki fasilitas untuk menampilkan informasi penting seperti pengumuman, surat balasan instansi, jadwal seminar KP dan informasi mengenai mahasiswa, dosen dan instansi yang berkaitan dengan KP mahasiswa.

  Mahasiswa mempunyai akses untuk mendaftar KP dan seminar jika persyaratan yang dibutuhkan terpenuhi. Sedangkan petugas sekretariat mempunyai akses untuk melakukan management data KP, seminar KP. Flowchart sistem yang baru

  

Gambar 3 Flowcart sistem yang baru

3.1.3 Fungsi Utama Perangkat Lunak

  Tabel 6 Fungsi utama perangkat lunak Kode Fungsi

  KPO-FU-01 Sistem mampu mengauthentifikasi user KPO-FU-02 Sistem mampu menagani pendaftaran KP KPO-FU-03 Sistem mampu memberikan layanan input data instansi KPO-FU-04 Sistem mampu mencetak surat permohonan KP KPO-FU-05 Sistem mampu mencetak surat tugas KP KPO-FU-06 Sistem mampu menagani pendaftaran seminar KP KPO-FU-07 Sistem mampu mencetak surat permohonan seminar KP KPO-FU-08 Sistem mampu memberikan layanan input nilai seminar KPO-FU-09 Sistem mampu mencetak berita acara KPO-FU-10 Sistem mampu memanagement informasi mahasiswa, dosen, instansi KPO-FU-11 Sistem mampu memanagement pengumuman KPO-FU-12 Sistem mampu memberikan layanan informasi mahasiswa, dosen, instansi KPO-FU-13 Sistem mampu memberikan layanan pengumuman KPO-FU-14 Sistem mampu memberikan layanan posting pengumuman

3.1.4 Use Case Model

3.1.4.1 Use Case Diagram

3.1.4.1.1 Use Case Diagram petugas secretariat

  Gambar 4 Use Case diagram petugas sekretariat

cetak surat permohonan KP

(f rom pendaf taran KP)

Dokumen yang terkait

Deteksi outlier menggunakan Algoritma Connectivity Based Outlier Factor studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma

1 8 250

Deteksi outlier menggunakan Algoritma Local Outlier Probability studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma

1 9 263

Deteksi Outlier menggunakan algoritma Block Based Nested Loop studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma

0 1 200

Deteksi outlier menggunakan Algoritma Local Correlation Integral (LOCI) studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma

0 4 256

Simulasi sistem pengarsipan [dokumentasi skripsi] di Teknik Informatika Universitas Sanata Dharma - USD Repository

0 1 126

Analisa, perancangan dan prototype sistem pencatatan pemesanan peserta mata kuliah program studi Teknik Informatika Universitas Sanata Dharma - USD Repository

0 0 67

Pemanfaatan teknologi WAP untuk sistem informasi skripsi online : studi kasus Teknik Informatika Universitas Sanata Dharma Yogyakarta - USD Repository

0 0 117

Implementasi algoritma K-Means untuk memprediksi nilai mahasiswa : studi kasus mahasiswa Teknik Informatika Universitas Sanata Dharma - USD Repository

0 1 76

Sistem pendukung pengambilan keputusan seleksi dosen pembimbing pra TA dengan metode Promethee : studi kasus Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta - USD Repository

1 0 157

Hubungan antara kepuasan kerja dengan loyalitas karyawan : studi kasus terhadap karyawan Universitas Sanata Dharma Yogyakarta - USD Repository

0 0 98