Perancangan aplikasi sistem penetuan pemintaan siswa berdasarkan minat dan kemampuan akademik siswa berbasis web (studi kasus: SMA Negeri 1 Tangerang)
i
PERANCANGAN APLIKASI SISTEM PENENTUAN
PEMINATAN SISWA BERDASARKAN MINAT DAN KEMAMPUAN AKADEMIK SISWA BERBASIS WEB
(Studi Kasus : SMA Negeri 1 Tangerang)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
ADE AMALIA NAZRI 107091002920
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLIGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
(2)
ii
PERANCANGAN APLIKASI SISTEM PENENTUAN
PEMINATAN SISWA BERDASARKAN MINAT DAN KEMAMPUAN AKADEMIK SISWA BERBASIS WEB
(Studi Kasus : SMA Negeri 1 Tangerang)
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
ADE AMALIA NAZRI 107091002920
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLIGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
(3)
(4)
(5)
v
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKIRPSI INI BENAR-BENAR ASLI HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, November 2011
Ade Amalia Nazri 107091002920
(6)
vi ABSTRAK
ADE AMALIA NAZRI, Perancangan Aplikasi Sistem Penentuan Peminatan Siswa Berdasarkan Minat dan Kemampuan Akademik Siswa Berbasis Web (Studi Kasus: SMAN 1 Tangerang) (Dibawah bimbingan HERLINO NANANG, MT. dan HATTA MAULANA, S.Si, M.T.I.).
SMAN 1 Tangerang adalah salah satu contoh Sekolah Menengah Atas Negeri di kota Tangerang yang sedang mengembangkan teknologi komputer dalam berbagai aspek-aspek pendukung kegiatan belajar dan mengajar disana, meskipun belum terhubung antara database yang satu dengan lainnya secara menyeluruh dan terpusat. Oleh karena itu data-data yang mendukung dalam hal penempatan dan peminatan siswa kelas X yang naik ke kelas XI dalam penentuan jurusan yang ada masih manual. Selain itu, guru BK (Bimbingan dan Konseling) dan guru-guru wali kelas yang menjadi penentu siswa dalam penempatan peminatan jurusan mengalami beberapa kesulitan. Dengan memodelkan suatu proses peminatan ke dalam Aplikasi Pada Bidang Peminatan, diperoleh sejumlah alternative solusi untuk menentukan peminatan siswa. Variabel yang sangat menentukan dan member pertimbangan bagi pengambilan keputusan peminatan yaitu, variabel keputusannya minat siswa dan parameter acuannya ialah nilai akademik siswa yang merupakan variabel batasan. Dalam pembuatan tugas akhir ini penulis menggunakan metode pengembangan System Development Life Cycle
(SDLC) dengan model waterfall sampai tahap pengujian. Hasil dari skripsi ini
adalah Aplikasi Pada Bidang Peminatan Berdasarkan Minat dan Kemampuan Akademik Siswa. Aplikasi ini diperuntukan bagi sekolah yang bersangkutan sehingga keputusan yang diambil pihak sekolah dengan dibantu aplikasi ini, lebih berkualitas karena keputusan peminatan didasarkan pada proses objektif.
(7)
vii
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT atas berkat rahmat dan karunia yang diberikan dari-Nya, sehingga akhirnya saya dapat menyelesaikan skripsi yang berjudul “Perancangan Aplikasi Sistem Penentuan Peminatan Siswa Berdasarkan Minat dan Kemampuan Akademik Siswa Berbasis Web” ini dengan baik. Adapun maksud dan tujuan penyusunan skripsi ini adalah untuk memenuhi sebagian dari syarat-syarat guna mencapai gelar Sarjana Komputer di Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
Selain itu penulis juga ingin mengucapkan terima kasih kepada pihak-pihak yang telah banyak membantu secara langsung dan tidak langsung dalam proses pembuatan skripsi ini yaitu :
1. Bapak Dr. Ir. Syopiansyah Jaya Putra, M.Sis. selaku Dekan Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta.
2. Bapak Yusur Durrachman, MIT. selaku Ketua Program Studi Teknik Informatika Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta dan penguji 1.
3. Bapak Herlino Nanang, MT. selaku dosen pembimbing 1, dan Bapak Hatta Maulana, S.Si, M.T.I. selaku dosen pembimbing 2 yang telah memberikan kesempatan, waktu, kesabaran dan perhatiannya untuk membimbing penulis dalam menyelesaikan skripsi.
4. Ibu Ria Hari Gusmita, M. Kom selaku dosen penguji 2 yang membantu penulis dalam penyelesaian penulisan skripsi ini.
(8)
viii
5. Papa dan Mama tercinta dan tersayang yang selalu bersama penulis dalam suka maupun duka. Yang tiada henti-hentinya selalu memberikan motivasi serta do‟anya, sehingga penulis telah berhasil dalam menyelesaikan kuliah dan skripsi ini.
6. Kakak-kakakku (Dr. Fajar Nazri, Drg. Agustamar Nazri, Permata Sari Nazri, SE.) yang tercinta yang sudah membantu dan mensupport penulis selama ini. 7. Seluruh dosen dan staff karyawan Program Studi Teknik Informatika Fakultas
Sains dan Teknologi, serta semua pihak yang selalu membantu melancarkan proses administrasi penulis.
8. Kakek yang tercinta dan tersayang, terimakasih atas semua doa-doanya sehingga cucumu ini bisa meyelesaikan kuliahnya.
9. Kak Budi Aji, S.Kom yang telah sangat membantu dan telah direpotkan oleh penulis dalam menyelesaikan skripsi ini hingga penulis dapat menyelesaikan aplikasi.
10.Yasdiandra Yaunin yang selalu menemani dan mensupport dalam segala hal (yang penulis tidak bisa sebutkan satu per satu), serta doanya sehingga penulis dapat menyelesaikan skripsi ini.
11.Sahabat-sahabatku, yaitu Siti, Muslikhah, Syifa, Fitri, Nurul, Iqbal, Irsyad, Agus, Taufiq, Faruq, Odad, Ono, vetgaz dan semua sahabatku lainnya, terimakasih karena selalu bersama dan membantu penulis baik suka maupun duka.
(9)
ix
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu penulis mengharapkan peneliti selanjutnya dengan topik yang sejenis dapat melakukan penelitian yang lebih baik lagi. Akhir kata, penulis juga mengucapkan terima kasih kepada pihak-pihak yang belum disebutkan di atas, semoga hasil penelitian penulis dapat bermanfaat bagi semua pihak.
Jakarta, November 2011 Peneliti
Ade Amalia Nazri 107091002920
(10)
x DAFTAR ISI
HALAMAN SAMPUL ... i
HALAMAN JUDUL ... ii
LEMBAR PERSETUJUAN PEMBIMBING ... iii
LEMBAR PENGESAHAN UJIAN ... iv
LEMBAR PERNYATAAN ... v
ABSTRAK ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... x
DAFTAR GAMBAR ... xiii
DAFTAR TABEL ... xv
DAFTAR ISTILAH ... xvi
BAB I PENDAHULUAN 1.1.Latar Belakang ... 1
1.2.Rumusan Masalah ... 2
1.3.Batasan Masalah ... 3
1.4.Tujuan ... 3
1.5.Manfaat Penulisan ... 4
1.6.Metodelogi Penelitian ... 4
1.6.1. Metode Pengumpulan Data ... 5
1.6.2. Metode Pengembangan Sistem ... 5
1.7.Sistematika Penulisan ... 6
BAB II LANDASAN TEORI 2.1.Konsep Dasar Sistem ... 8
2.1.1. Karakteristik Sistem ... 8
2.1.2. Klasifikasi Sistem ... 9
(11)
xi
2.3.Konsep Dasar Sistem Informasi ... 12
2.4.Pengertian Software ... 13
2.5.Proses Software ... 14
2.6.Aplikasi ... 15
2.7.Konsentrasi ... 15
2.8.Kemampuan Bakat Akademik ... 15
2.9.Konsep Penentuan Penjurusan Di Sekolah Menengah Atas ... 16
2.10. Konsep Dasar Aplikasi Berbasis Web ... 19
2.11. Pemrograman Java ... 20
2.11.1.Sejarah Java ... 22
2.11.2.Keunggulan Java ... 23
2.11.3.Konsep Pemrograman Java ... 25
2.12. Java Server Pages ... 29
2.13. Tomcat ... 31
2.14. MySQL ... 31
2.15. Metode Pengembangan Sistem ... 33
2.16. Elemen Model Analisis ... 35
2.17. Model Perancangan Sistem ... 37
2.17.1.Data Flow Diagram (DFD) ... 37
2.17.2.Entity Relationship Diagram (ERD) ... 38
2.17.3.Kamus Data ... 39
2.17.4.Bagan Alir (Flowchart) ... 40
2.18. Desain Perancangan Sistem ... 41
2.19. Studi Sejenis ... 43
BAB III METODELOGI PENELITIAN 3.1. Metode Pengumpulan Data ... 55
3.1.1. Studi Pustaka ... 55
3.1.2. Interview ... 56
3.1.3. Observasi ... 56
(12)
xii
3.2.1. Tahap Rekayasa Sistem (System Engineering) ... 58
3.2.2. Tahap Analisa (Analisys) ... 59
3.2.3. Tahap Perancangan (Design) ... 59
3.2.4. Tahap Pengkodean (Code) ... 61
3.2.5. Tahap Pengujian (Testing) ... 61
3.3. Alur Kerangka Penelitian ... 62
BAB IV HASIL PEMBAHASAN 4.1. Tahap Rekayasa Sistem (System Engineering) ... 63
4.1.1. Studi Kelayakan (Feasibility Study)... 63
4.1.2. Alokasi Waktu ... 65
4.1.3. Cakupan Sistem ... 65
4.2. Tahap Analisa (Analisys) ... 65
4.2.1. Profil Umum SMAN 1 Tangerang ... 65
4.2.2. Analisa Sistem Yang Sedang Berjalan ... 69
4.2.3. Analisis Sistem Baru ... 71
4.2.4. Solusi Pemecahan Masalah ... 73
4.2.5. Kebutuhan Sistem Baru ... 73
4.3. Tahap Desain (Design) ... 74
4.3.1. Pemodelan Proses ... 75
4.3.2. Pemodelan Data ... 79
4.3.3. Pemodelan Program ... 81
4.4. Tahap Pengkodean (Coding) ... 107
4.5. Tahap Pengujian (Testing) ... 107
BAB V PENUTUP 5.1. Kesimpulan ... 110
5.2. Saran ... 110
DAFTAR PUSTAKA ... 112
(13)
xiii
DAFTAR GAMBAR
Gambar 2.1. Siklus Informasi ... 12
Gambar 2.2. Komponen Sistem Informasi ... 13
Gambar 2.3. System Development Life Cycle (Sekuensial Linier) ... 34
Gambar 2.4. Struktur Model Analisis ... 36
Gambar 2.5. Desain Perancangan Sistem ... 42
Gambar 3.1. Alur Kerangka Penelitian ... 62
Gambar 4.1. Struktur Organisasi SMA Negeri 1 Tangerang ... 69
Gambar 4.2. Flowchart Sistem Yang Sedang Berjalan ... 70
Gambar 4.3. Context Diagram Aplikasi Pada Bidang Peminatan ... 75
Gambar 4.4. DFD Level 1 Diagram 0 Aplikasi Pada Bidang Peminatan ... 75
Gambar 4.5. DFD Level 2 Diagram 1 Proses 1.0 Aplikasi Pada Bidang Peminatan ... 77
Gambar 4.6. DFD Level 2 Diagram 1 Proses 2.0 Aplikasi Pada Bidang Peminatan ... 77
Gambar 4.7. DFD Level 2 Diagram 1 Proses 3.0 Aplikasi Pada Bidang Peminatan ... 78
Gambar 4.8. DFD Level 2 Diagram 1 Proses 4.0 Aplikasi Pada Bidang Peminatan ... 79
Gambar 4.9. ERD Bidang Peminatan ... 80
Gambar 4.10. Flowchart Menu Login Aplikasi Bidang Peminatan ... 82
Gambar 4.11. Flowchart Menu Utama Aplikasi Bidang Peminatan ... 83
Gambar 4.12. Flowchart Menu File Aplikasi Bidang Peminatan ... 84
Gambar 4.13. Flowchart Menu Log Out Aplikasi Bidang Peminatan ... 84
Gambar 4.14. Flowchart Menu Master Aplikasi Bidang Peminatan ... 85
Gambar 4.15. Flowchart Menu Siswa Aplikasi Bidang Peminatan ... 86
Gambar 4.16. Flowchart Menu Menu Pelajaran Aplikasi Bidang Peminatan ... 88
Gambar 4.17. Flowchart Menu Entry Aplikasi Bidang Peminatan ... 89
(14)
xiv
Gambar 4.19. Flowchart Menu Hasil Keputusan Aplikasi Bidang Peminatan ... 92
Gambar 4.20. Flowchart Proses Pengambilan Keputusan Aplikasi Bidang Peminatan ... 93
Gambar 4.21. Flowchart Menu Laporan Aplikasi Bidang Peminatan ... 94
Gambar 4.22. Flowchart Menu User Aplikasi Bidang Peminatan ... 95
Gambar 4.23. STD Halaman Login ... 96
Gambar 4.24. STD Layar Pilihan Menu ... 97
Gambar 4.25. STDLog Out ... 98
Gambar 4.26. STD Layar Siswa ... 98
Gambar 4.27. STD Pelajaran ... 99
Gambar 4.28. STD Nilai Siswa ... 99
Gambar 4.29. STD Hasil Keputusan ... 99
Gambar 4.30. STD Laporan ... 100
Gambar 4.31. STD User ... 100
Gambar 4.32. Rancangan Interface Halaman Login ... 101
Gambar 4.33. Rancangan Menu Utama Aplikasi Bidang Peminatan ... 102
Gambar 4.34. Rancangan Form Input Data Siswa ... 102
Gambar 4.35. Rancangan Form Input Data Mata Pelajaran ... 103
Gambar 4.36. Rancangan Form Input Nilai Siswa ... 103
Gambar 4.37. Rancangan Halaman Hasil Keputusan ... 104
Gambar 4.38. Rancangan Hasil Laporan Keputusan untuk Bahasa ... 105
Gambar 4.39. Output dalam bentuk PDF ... 106
(15)
xv
DAFTAR TABEL
Tabel 2.1. Operator Matematika ... 28
Tabel 2.2. Operator Penaikan dan Penurunan ... 28
Tabel 2.3. Operator Bitwise ... 29
Tabel 2.4. Notasi DFD Dasar ... 38
Tabel 2.5. Notasi ERD Dasar ... 39
Tabel 2.6. Simbol-simbol Flowchart ... 40
Tabel 4.1. Tabel Mata Pelajaran Berdasarkan Peminatan ... 71
Tabel 4.2. Spesifikasi Tabel Siswa... 80
Tabel 4.3. Spesifikasi Tabel Mata Pelajaran ... 81
Tabel 4.4. Spesifikasi Tabel Nilai ... 81
Tabel 4.5. Spesifikasi Tabel User ... 81
Tabel 4.6. Tabel User Accpetance Test (UAT) ... 109
(16)
xvi
DAFTAR ISTILAH
Sistem : adalah suatu kumpulan dari komponen yang saling berhubungan satu dengan yang lainnya membentuk satu kesatuan untuk mencapai tujuan tertentu
Informasi : adalah proses lebih lanjut dari data yang sudah memiliki nilai tambah
Sistem Informasi : adalah sekumpulan prosedur yang pada saat dilakukan akan memberikan informasi bagi pengambilan keputusan atau untuk mengendalikan organisasi
Software : kumpulan dari perintah atau fungsi yang ditulis
dengan aturan tertentu untuk memerintahkan komputer melaksanakan tugas tertentu
Aplikasi : adalah sebuah program komputer yang dibuat khusus untuk menjalankan fungsi-fungsi tertentu sesuai dengan kebutuhan pengguna yang digunakan untuk mempercepat suatu pekerjaan
Konsentrasi : adalah kemampuan kita untuk mengarahkan perhatian atau fokus kita kesatu pikiran atau mental kita
Java : adalah suatu teknologi di dunia software komputer, yang merupakan suatu bahasa pemrograman, dan skaligus suatu platform
Java Server Pages (JSP) : adalah teknologi Java yang menyederhanakan proses pengembangan situs web
Tomcat : adalah web kontainer yang dapat dijalankan secara stand alone, yang berarti tidak dijalankan bersamaan dengan web server lainnya.
Waterfall : adalah model proses pengembangan perangkat lunak klasik yang bersifat sistematis, berurutan dalam membangun perangkat lunak
(17)
1 BAB I PENDAHULUAN
1.1. Latar Belakang
Seiring dengan perkembangan zaman, kemajuan dalam bidang ilmu pengetahuan dan teknologi berkembang sangat pesat. Dimana informasi yang cepat, akurat, dan terarah sangat dibutuhkan untuk membantu mengambil keputusan yang tepat. Keputusan merupakan kegiatan memilih suatu tindakan dalam pemecahan masalah. Untuk menunjang keputusan diperlukan suatu aplikasi yang didukung oleh tools
yang mampu menganalisa prospek dimasa yang akan datang atau dalam periode waktu tertentu.
Salah satu bidang yang membutuhkan aplikasi yang dapat menunjang keputusan adalah bidang pendidikan yaitu untuk penentuan peminatan siswa SMA Negeri 1 Tangerang, karena bidang peminatan ini memerlukan pendukung keputusan yang tepat dan cepat dalam penentuan kemampuan akademik siswa.
Proses peminatan yang sedang berjalan dilakukan dengan mengumpulkan semua data minat siswa yang dilakukan oleh guru Bimbingan dan Konseling (BK) yang nantinya akan diserahkan kepada wali kelas, kemudian wali kelas melakukan perhitungan nilai rata-rata dari nilai akademik siswa yang kemudian akan disinkronkan dengan minat yang diinginkan siswa tersebut. Jika ada siswa yang bermasalah maka
(18)
akan dilakukan rapat untuk memutuskan peminatan siswa tersebut. Masalah yang sering terjadi misalnya tidak sesuai minat siswa dengan kemampuan akademik siswa. Proses pendukung keputusan ini memakan waktu lama dan tidak efisien.
Agar permasalahan tersebut dapat diatasi maka penulis mencoba membangun “Perancangan Aplikasi Sistem Penentuan Peminatan Siswa Berdasarkan Minat dan Kemampuan Akademik Siswa
Berbasis Web” dimana aplikasi ini diharapkan mampu memberikan
informasi sebagai alternatif solusi dalam menentukan bidang peminatan, karena kegunaan informasi adalah untuk mengurangi ketidak pastian didalam proses pengambilan keputusan tentang suatu keadaan (Ladjamudin, 2005:9).
1.2. Rumusan Masalah
Berdasarkan latar belakang diatas, dapat dirumuskan permasalahan penelitian ini sebagai berikut :
1. Bagaimana merancang aplikasi pada bidang peminatan yang dapat membantu untuk menentukan keputusan akhir dalam penentuan sesuai atau tidaknya peminatan yang diinginkan oleh siswa.
2. Bagaimana Aplikasi Pada Bidang Peminatan dapat membantu pihak sekolah dalam menentukan peminatan bagi siswa agar lebih efektif dan tidak menghabiskan waktu yang lama.
(19)
1.3. Batasan Masalah
Dalam penyusunan skripsi ini, penulis akan merancang aplikasi pada bidang peminatan dengan batasan-batasan sebagai berikut :
1. Pengambilan data siswa kelas X-1 SMAN 1 Tangerang tahun angkatan 2010/2011.
2. Nilai akademik mata pelajaran berdasarkan persyaratan yang telah ditetapkan oleh guru-guru SMAN 1 Tangerang.
3. Dalam hal ini program yang digunakan adalah java J2EE, sedangkan databasenya adalah mysql, dan dalam tahap perancangannya masih menggunakan DFD dan flowchart.
4. Metodologi pengembangan sistem yang digunakan adalah SDLC
(System Development Life Cycle) dengan model proses waterfall
hingga tahap pengujian (testing).
1.4. Tujuan
Berdasarkan uraian latar belakang diatas, maka tujuan penulisan skripsi ini adalah:
1. Merancang aplikasi pada bidang peminatan yang dapat membantu dalam menentukan peminatan siswa tanpa manghabiskan waktu lama. 2. Tersedianya sistem (perangkat lunak) sebagai fasilitas yang
memberikan alternatif solusi dalam peminatan siswa sehigga membantu dalam menentuakan peminatan siswa.
(20)
1.5. Manfaat Penulisan 1. Bagi Penulis
a. Untuk menambah pengetahuan penulis serta untuk mengamalkan dan mengaplikasikan teori yang didapat selama masa kuliah.
b. Untuk memenuhi salah satu syarat dalam menempuh gelar Strata Satu (S-1) pada Fakultas Sains dan Teknologi program studi Teknik Informatika UIN Syarif Hidayatullah Jakarta.
2. Bagi Univetsitas
a. Menambah literatur studi kasus tentang aplikasi peminatan, khususnya yang berkaitan dengan peminatan siswa SMA dalam penentuan jurusan yang akan diambil.
3. Bagi SMAN 1 Tangerang
a. Tersedianya perangkat lunak yang memberikan alternatif solusi dalam menentukan peminatan siswa, sehingga membantu pihak sekolah dalam pengambilan keputusan secara cepat dan objektif.
1.6. Metodologi Penelitian
Metodologi penelitian yang digunakan meliputi dua metode, yaitu metode pengumpulan data dan metode perancangan dengan menggunakan model waterfall.
(21)
1.6.1. Metode Pengumpulan Data 1. Metode Studi Pustaka
Pengumpulan data dan informasi tertulis maupun secara teoritis dan empiris yang terkait dengan topik penelitian. Selain itu studi pustaka yang dilakukan peneliti pengumpulan bahan-bahan yang terkait dengan judul skripsi melalui buku-buku bacaan dan situs internet, penelitian yang terkait dengan penelitian.
2. Metode Interview
Pengumpulan data dan informasi dengan cara melakukan wawancara.
3. Metode Observasi
Observasi adalah metode pengumpulan informasi dengan cara
pengamatan atau peninjauan langsung terhadap obyek penelitian.
1.6.2. Metode Pengembangan Sistem
Adapun metode perancangan yang digunakan pada perancangan aplikasi bidang peminatan menggunakan metode
System Develop Life Cycle (SDLC) dengan model proses waterfall
yang meliputi aktifitas-aktifitas dimulai dari rekayasa sistem
(22)
pengkodean (code), dan pengujian (testing). (Pressman, 2002: 37-38).
1.7. Sistematika Penulisan
Untuk mempermudah skripsi ini, maka penulis membaginya menjadi lima bab. Dibawah ini juga diuraikan penjelasan masing-masing bab dengan perincian sebagai berikut:
BAB I PENDAHULUAN
Bab ini menerangkan latar belakang masalah, identifikasi masalah, rumusan masalah, batasan masalah, tujuan dan manfaat penulisan, metode penelitian dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini akan menjelaskan secara singkat teori dan sumber daya yang diperlukan dalam pembuatan aplikasi pada bidang peminatan.
BAB III METODOLOGI PENELITIAN
Pada bab ini akan menjelaskan proses penelitian penulis dalam merancang dan membangun aplikasi pada bidang peminatan sesuai dengan metode perancangan dengan metode SDLC dengan model proses waterfall.
(23)
BAB IV HASIL PEMBAHASAN
Bab ini penulis mengimplemntasikan aplikasi pada bidang peminatan siswa berdasarkan hasil penelitian penulis.
BAB V PENUTUP
Bab ini merupakan bab terakhir dari skripsi, yang berisi kesimpulan yang berhubungan dengan penulisan skripsi ini serta saran yang diharapkan berguna bagi perkembangan aplikasi ini dimasa mendatang.
(24)
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Sistem
Terdapat dua kelompok pendekatan dalam mendefinisikan sistem, yaitu yang menekankan pada prosedurnya dan yang menekankan pada komponen atau elemennya.
1. Pendekatan sistem yang menekankan pada prosedurnya mendefinisikan sistem sebagai berikut : “Sistem adalah suatu jaringan kerja dari prosedur – prosedur yang saling berhubungan, berkumpul bersama – sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu.”(Jogianto, 1990:1).
2. Pendekatan sistem yang menekankan pada elemen atau komponennya mendefinisikan sistem sebagai berikut : “Sistem adalah kumpulan dari elemen – elemen yang berinteraksi untuk mencapai suatu tujuan tertentu”. (Jogianto, 1990:2).
2.1.1. Karakteristik Sistem
Suatu sistem mempunyai karakteristik. Karakteristik sistem itu adalah suatu sistem mempunyai :
1. Batasan Sistem (Boundary)
Penggambaran ini suatu elemen atau unsur mana yang termasuk didalam sistem dan dimana yang diluar sistem.
(25)
2. Lingkungan Luar (Environment)
Segala sesuatu diluar sistem, lingkungan yang menyediakan asumsi, kendala, dan input terhadap sistem.
3. Masukan (Input).
Sumber daya (data, bahan baku, peralatan, energi) dari lingkungan yang dikonsumsi dan dimanipulasi oleh suatu sistem.
4. Keluaran (Output).
Sumber daya atau produk (informasi, laporan, dokumen, tampilan layer komputer, barang jadi) yang disediakan untuk lingkungan sistem oleh kegiatan-kegiatan dalam suatu sistem. 5. Komponen (Component).
Kegiatan-kegiatan atau proses dalam suatu sistem yang mentransformasikan input menjadi bentuk setengah jadi (output)
6. Penghubung (Interface).
Tempat ini dimana komponen atau sistem dan lingkungannya bertemu atau berinteraksi (Al Fatta, 2007:3)
2.1.2. Klasifikasi Sistem
Sistem merupakan suatu bentuk integrasi antara suatu komponen lainnya. Karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang terjadi yang ada dalam sistem tersebut.
(26)
Oleh karena itu sistem dapat diklasifikasikan kedalam beberapa sudut pandang seperti:
a. Sistem abstrak dan sistem fisik
Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak tampak secara fisik, misalnya sistem teologin yaitu sistem yang berupa pemikiran tetntang antara manusia dengan Tuhan. Sedangkan sistem fisik merupakan sistem yang ada secara fisik, seperti sistem komputer, sistem operasi, sistem penjualan dan lain-lain.
b. Sistem alamiah dan sistem buatan manusia
Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat oleh manusia, misalnya sistem perputaran bumi, sedangkan sistem buatan manusia adalah sistem yang melibatkan hubungan manusia dengan mesin, yang disebut dengan human machine system.
c. Sistem tertentu (deterministic system) dan sistem tak tentu
(probabilistic system)
Sistem tertentu adalah sistem beroperasi dengan tingkah laku yang dapat diprediksi, sedangkan sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi, karena mengandung unsur probabilitas.
(27)
d. Sistem terbuka dan sistem tertutup
Sistem terbuka adalah sistem yang berhubungan dan dipengaruhi oleh lingkungan luarnya. Sedangkan sistem tertutup merupakan sistem yang tidak terhubung dan tidak dipengaruh oleh lingkungan luarnya (Ladjamudin, 2005:6).
2.2. Konsep Dasar Informasi
Informasi merupakan proses lebih lanjut dari data yang sudah memiliki nilai tambah, informasi dapat dikelompokkan menjadi 3 bagian, yaitu:
1. Informasi strategis. Informasi ini digunakan untuk mengambil keputusan jangka panjang, mencakup informasi eksternal, rencana perluasan perusahaan, dan sebagainya.
2. Informasi taktis. Informasi ini dibutuhkan untuk mengambil keputusan jangka menengah, seperti informasi trend penjualan yang dapat dimanfaatkan untuk menyusun rencana penjualan.
3. Informasi teknis. Informasi ini dibutuhkan untuk keperluan operasional sehari-hari, seperti informasi persediaan stock, return penjualan dan laporan kas harian (Sutabri, 2004:17).
Kegunaan informasi adalah untuk mengurangi ketidak pastian didalam proses pengambilan keputusan tentang suatu keadaan. Untuk memperoleh informasi yang bermanfaat bagi penerimanya, perlu dijelaskan bagaimana siklus yang dibutuhkan dalam menghasilkan
(28)
informasi. Siklus informasi atau siklus pengolahan data adalah sebagai berikut:
Proses (Pengolahan Data) Input
(Data)
Output (Informasi)
Gambar 2.1 Siklus Informasi (Ladjamudin: 2005, hal 4)
2.3. Konsep Dasar Sistem Informasi
Sistem informasi dapat didefinisikan sebagai berikut:
1. Suatu sistem informasi yang dibuat oleh manusia yang terdiri dari komponen-komponen dalam organisasi untuk mencapai suatu tujuan yaitu dengan menyajikan informasi.
2. Sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan informasi bagi pengambilan keputusan atau untuk mengendalikan organisasi.
3. Suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi, mendukung operasi, bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan (Ladjamudin, 2005:13-14).
Menurut Al-Bahra Bin Ladjamudin menyebutkan bahwa komponen sistem informasi dapat diklasifikasikan sebagai berikut :
a. Hardware dan Software yang berfungsi sebagai mesin.
b. People dan procedure yang merupakan manusia dan tatacara
(29)
c. Data merupakan jembatan penghubung antara manusia agar terjadi suatu proses pengolahan data.
DATA Software
(Perangkat Lunak) Hardware
(Perangkat Keras)
Procedure (prosedur)
People (Manusia)
Mesin Manusia
Gambar 2.2. Komponen Sistem Informasi (Ladjamudin, 2005: 15)
2.4. Pengertian Software
Software merupakan kumpulan dari perintah atau fungsi yang
ditulis dengan aturan tertentu untuk memerintahkan komputer melaksanakan tugas tertentu (Ladjamudin, 2005:20). Software (perangkat lunak) adalah perintah (program komputer) yang bila di eksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan, struktur data yang memungkinkan program memanipulasi informasi secara proposional dan dokumen yang menggambarkan operasi dan kegunaan program (Pressman, 2002:10).
Software tidak sama dengan program (komputer), karena software
terdiri dari program, dokumen, dan data. Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen fisik. Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras, yaitu: 1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam
bentuk yang klasik.
(30)
3. Sebagian besar perangkat lunak dibuat berdasarkan kebutuhan, tidak hanya dibuat dari komponen yang sudah ada.
2.5. Proses Software
Proses software merupakan serangkaian kegiatan dan hasil yang menghubungkan dengan proses tersebut, yang menuju pada dihasilkannya produk perangkat lunak (Sommerville, 2003:41).
Walaupun ada banyak proses perangkat lunak, ada kegiatan-kegiatan mendasar yang umum bagi semua proses perangkat lunak. Menurut Sommerville, kegiatan-kegiatan tersebut adalah:
1. Penspesifikasian perangkat lunak. Fungsionalitas perangkat lunak dan batasan operasinya harus didefinisikan.
2. Perancangan dan implementasi perangkat lunak. Perangkat lunak yang memenuhi persyaratan harus dibuat.
3. Pemvalidasian perangkat lunak. Perangkat lunak tersebut harus divalidasi untuk menjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan pelanggan.
4. Pengevolusian perangkat lunak. Perangkat lunak harus dapat berkembang untuk menghadapi kebutuhan pelanggan yang berubah.
Model proses perangkat lunak merupakan representasi abstrak dari proses perangkat lunak. Ada banyak proses perangkat lunak, diantaranya: model air terjun (waterfall), pengembangan evolusioner, pengembangan
(31)
sistem formal, pengembangan berdasarkan pemakaian ulang (Sommerville, 2003:42).
2.6. Aplikasi
Aplikasi adalah sebuah program komputer yang dibuat khusus untuk menjalankan fungsi-fungsi tertentu sesuai dengan kebutuhan pengguna yang digunakan untuk mempercepat suatu pekerjaan (http://www.unduhan.systes.net/Dokumen/Poltek: 2005).
2.7. Konsentrasi
Konsentrasi pada dasarnya adalah kemampuan kita untuk mengarahkan perhatian atau fokus kita kesatu pikiran atau mental kita. Konsentrasi membantu kita dalam belajar dan mengerti lebih cepat, meningkatkan daya ingat memori kita serta membantu untuk fokus dalam melakukan tugas (www.sumpahpalapa.com: 2008).
2.8. Kemampuan atau Bakat Akademik
Siswa yang memiliki kemampuan akademik dapat dikenali dari kinerjanya, yang menonjol dalam berprestasi atau tes bakat dalam suatu bidang tertentu.
Anak berbakat adalah mereka yang di identifikasikan oleh ahli yang professional sebagai memiliki kemampuan yang menonjol atau berkinerja tinggi (www.Indosiar.com: 2002).
(32)
2.9. Konsep Penentuan Penjurusan Di Sekolah Menengah Atas
Sesuai kurikulum yang berlaku di seluruh Indonesia, maka siswa kelas X SMA yang naik ke kelas XI akan mengalami pemilihan jurusan/penjurusan. Penjurusan yang tersedia di SMA meliputi Ilmu Alam (IPA), Ilmu Sosial (IPS), dan Ilmu Bahasa. Penjurusan akan disesuaikan dengan minat dan kemampuan siswa. Tujuannya agar kelak di kemudian hari, pelajaran yang akan diberikan kepada siswa menjadi lebih terarah karena telah sesuai dengan minatnya. Dari keseluruhan mata pelajaran di SMA, tidak seluruhnya dijadikan dasar untuk proses penjurusan, melainkan hanya mata pelajaran inti dari tiap jurusan tersebut. Mata pelajaran inti untuk jurusan IPA terdiri atas: Biologi, Fisika, Matematika IPA, Kimia. Mata pelajaran inti untuk IPS adalah: Sosiologi, Geografi, Sejarah dan Ekonomi. Sedangkan mata kuliah inti untuk jurusan Bahasa adalah: Bahasa Inggris dan Bahasa Indonesia.
Tujuan dilaksanakannya penjurusan adalah :
1. Mengelompokkan siswa sesuai kecakapan, kemampuan, dan bakat, yang relatif sama.
2. Membantu mempersiapkan siswa melanjutkan studi dan memilih dunia kerja.
3. Membantu memperkokoh keberhasilan dan kecocokan atas prestasi yang akan dicapai di waktu mendatang (kelanjutan studi dan dunia kerja).
(33)
Waktu penentuan penjurusan bagi peserta didik untuk program IPA, IPS dan Bahasa dilakukan mulai akhir semester 2 (dua) kelas X. Pelaksanaan penjurusan program dimulai pada semester 1 (satu) kelas XI. Kriteria penjurusan program dilakanakan berdasarkan nilai akademik. Peserta didik yang naik kelas XI dan akan mengambil program tertentu yaitu: Ilmu Pengetahuan Alam (IPA) atau Ilmu Pengetahuan Sosial (IPS) atau Bahasa: boleh memiliki nilai yang tidak tuntas paling banyak 3 (tiga) mata pelajaran pada mata pelajaran-mata pelajaran yang bukan menjadi ciri khas program tersebut. Peserta didik yang naik ke kelas XI, dan yang bersangkutan mendapat nilai tidak tuntas 3 (tiga) mata pelajaran, maka nilai tersebut harus dijadikan dasar untuk menentukan program yang dapat diikuti oleh peserta didik, misalnya :
a. Apabila mata pelajaran yang tidak tuntas adalah Fisika, Kimia dan Geografi (2 mata pelajaran ciri khas program IPA dan 1 ciri khas program IPS), maka siswa tersebut secara akademik dapat dimasukkan ke program Bahasa.
b. Apabila mata pelajaran yang tidak tuntas adalah Bahasa Indonesia, Bahasa Inggris, dan Fisika, (2 mata pelajaran ciri khas Bahasa dan 1 ciri khas IPA), maka siswa tersebut secara akademik dapat dimasukkan ke program IPS.
c. Apabila mata pelajaran yang tidak tuntas adalah Ekonomi, Sosiologi, dan Bahasa Inggris (2 mata pelajaran ciri khas program IPS dan 1 ciri
(34)
khas program Bahasa), maka peserta didik tersebut secara akademik dapat dimasukkan ke program IPA.
d. Apabila mata pelajaran yang tidak tuntas adalah Fisika, Ekonomi, dan Bahasa Indonesia (mencakup semua mata pelajaran yang menjadi ciri khas ketiga program di SMA) maka perlu diperhatikan prestasi nilai mata pelajaran yang lebih unggul daripada program lainya (siswa tersebut dapat dijuruskan ke program yang nilai prestasi mata pelajaran yang lebih unggul tersebut), atau dengan mempertimbangkan minat peserta didik. Untuk mengetahui minat peserta didik dapat dilakukan melalui angket/kuesioner dan wawancara, atau cara lain yang dapat digunakan untuk mendeteksinya.
Skala penilaian penilaian yang dapat dijadikan acuan bagi sekolah-sekolah di Indonesia adalah :
1. Nilai ketuntasan belajar untuk aspek pengetahuan dan praktik dinyatakan dalam bentuk bilangan bulat, dengan rentang 0 -100.
2. Ketuntasan belajar setiap indikator yang telah ditetapkan dalam suatu kompetensi dasar berkisar antara 0 – 100 %. Kriteria ideal ketuntasan untuk masing-masing indikator 75 %.
3. Satuan pendidikan dapat menentukan Kriteria Ketuntasan Minimal (KKM) dibawah nilai ketuntasan belajar ideal. Satuan pendidikan diharapkan meningkatkan kriteria ketuntasan belajar secara terus menerus untuk mencapai kriteria ketuntasan ideal.
(35)
5. KKM tersebut dicantumkan dalam LHB dan harus diinformasikan kepada seluruh warga sekolah dan orang tua siswa.
2.10. Konsep Dasar Aplikasi Berbasis Web
Web merupakan kumpulan informasi pada server komputer yang terhubung satu sama lain dalam jaringan internet maupun intranet. Sedangkan aplikasi berbasis web (web based) secara prinsip menyerupai aplikasi dalam komputer biasa. Yang membedakan adalah dalam aplikasi web based menggunakan tag-tag html sebagai dasar tampilan, sedangkan aplikasi program komputer menggunakan berbagai platform bahasa pemrograman. Aplikasi web terdiri dari beberapa golongan, diantaranya adalah :
1. Inisialisasi Data Master
Proses yang dilakukan adalah pengisian satu atau beberapa tabel yang akan digunakan sebagai referensi program aplikasi. Pengisian data master secara umum terdiri dari input data, verifikasi data, proses insert data jika data belum terdaftar sebelumnya, atau update data jika data telah ada sebelumnya, serta delete data jika data hendak dihapus dari tabel master.
2. Operasi Reporting
Operasi mendapatkan data hasil query yang telah diolah sehuingga didapat informasi yang digunakan untuk kepentingan manajerial dan rekapitulsi beberapa transaksi. Selain beberapa golongan tersebut juga
(36)
terdapat operasi verifikasi, penampilan profil, penyampaian pesan, pengisian pesan khusus serta kombinasi dari beberap golongan tersebut.
2.11. Pemrograman Java
Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu bahasa pemrograman, dan skaligus suatu platform. Sebagai bahasa pemrograman, Java dikenal sebagai bahasa pemrograman tingkat tinggi. Java mudah dipelajari, terutama bagi programmer yang telah mengenal C/C++.
Java merupakan bahasa pemrograman berorientasi objek yang merupakan paradigma pemrograman masa depan. Sebagai bahasa pemrograman, Java dirancang menjadi handal dan aman. Java juga dirancang agar dapat dijalankan disemua platform, dan juga dirancang untuk menghasilkan aplikasi-aplikasi dengan performansi yang terbaik.
Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu:
1. Java Virtual Machine (JVM)
2. Java Application Programming Interface (Java API)
Sun membagi arsitektur Java membagi tiga bagian, yaitu: 1. J2EE (Java 2 Enterprise Edition)
J2EE adalah kelompok dari beberapa API (Application
Programming Interface) dari Java dan teknologi selain Java. J2EE
(37)
sebagai middle-ware atau teknologi yang berjalan di server, namun sebenarnya J2EE tidak hanya terbatas untuk itu. Faktanya J2EE juga mencakup teknologi yang dapat digunakan disemua lapisan dari sebuah sistem informasi.
Implementasi J2EE menyediakan kelas dasar dan API dari Java yang mendukung pengembangan dan rutin standard untuk aplikasi client maupun server, termasuk aplikasi yang berjalan di web
browser. untuk aplikasi berbasis web, aplikasi sistem tersebar dengan
beraneka ragam klien dengan kompleksitas yang tinggi. 2. J2SE (Java 2 Standard Edition)
J2SE merupakan bahasa pemrograman Java untuk aplikasi desktop yang merupakan object-oriented programming. Pada J2SE ,terdiri dari dua buah produk yang dikeluarkan untuk membantu dalam membuat aplikasi tanpa tergantung dari platform yang digunakan, yaitu:
1) Java SE Runtime Environment (JRE)
Java Runtime Environment (JRE) menyediakan perpustakaan, Java
Virtual Machine (JVM), dan komponen lain untuk menjalankan
applet dan aplikasi yang ditulis dengan bahasa pemrograman Java.
2) Java Development Kit (JDK)
Java Development Kit (JDK) merupakan perangkat lunak yang digunakan untuk menajemen dan membangun berbagai aplikasi Java. JDK merupakan superset dari JRE, berisikan segala sesuatu
(38)
yang ada di JRE ditambahkan compiler dan debugger yang diperlukan untuk mengembangkan applet dan aplikasi.
3. J2ME (Java 2 Micro Edition)
J2ME adalah lingkungan pengembangan yang dirancang untuk meletakan perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat, maka belum tentu juga berfungsi baik pada perangkat yang lainnya. J2ME biasa digunakan pada telepon selular, pager, personal digital assistants (PDA) dan sejenisnya.
J2ME adalah bagian dari J2SE, karena itu tidak semua librabry
yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa library khusus yang tidak dimiliki J2SE.
2.11.1.Sejarah Java
Sejarah Java berawal pada tahun 1991 ketika perusahaan Sun Microsystem memulai Green Project, yakni projek penelitian untuk membuat bahasa yang akan digunakan pada chip-chip embedded untuk device intelligent consumer electronic. Bahasa tersebut haruslah bersifat multiplatform, tidak tergantung kepada vendor yang memanufaktur chip tersebut.
Dalam penelitiannya, Projek Green berhasil membuat prototype semacam PDA (Personal Data Assistance) yang dapat berkomunikasi antara satu dengan lain dan diberi nama Star 7. Ide
(39)
berawal untuk membuat sistem operasi bagi Star 7 berbasis C dan C++. Setelah berjalan beberapa lama, James Gosling, salah seorang anggota team, merasa kurang puas dengan beberapa karakteristik dari kedua bahasa tersebut berusaha mengembangkan bahasa lain. Bahasa tersebut kemudian dinamakan Oak, diinspirasi ketika dia melihat pohon di seberang kara ruang kantornya. Belakangan Oak beralih nama menjadi Java.
Karena pada awalnya ditujukan untuk pemrograman device kecil, Java memiliki karakteristik berukuran kecil, efisien, dan portable untuk berbagai hardware. Projek Green sempat terancam terhenti karena dalam perkembangannya, device ini belom memiliki pasar seperti yang diramalkan semula. Selanjutnya Java diarahkan untuk pemrograman internet. Secara kebetulan, fitur-fitur Java sangat sesuai bagi pengembangan internet sehingga dalam beberapa tahun belakangan ini Java telah menjadi primadona untuk pemrograman yang berbasis internet (Benny, 2004:6).
2.11.2.Keunggulan Java
Java memiliki beberapa keunggulan bila dibandingkan dengan bahasa pemrograman lainnya. Ada beberapa aspek yang akan dibahas disini, yaitu:
(40)
1. Java bersifat sederhana dan relatif murah
Java dimodelkan sebagian dari bahasa C++, namun dengan memperbaiki beberapa karakteristik C++, seperti mengurangi kompleksitas beberapa fitur, penambahan fungsionalitas, serta penghilangan beberapa aspek pemicu ketidakstabilan sistem pada C++.
2. Java berorientasi pada objek (Object Oriented)
Java adalah bahasa pemrograman yang berorientasi objek (OOP), bukan seperti Pascal, Basic, atau C yang berbasis procedural. Dalam memecahkan masalah, Java membagi program menjadi objek-objek, kemudian memodelkan sifat dan tingkah laku masing-masing. Selanjutnya, Java menentukan dan mengatur interaksi antara objek yang satu dengan lainnya. 3. Java bersifat terdistribusi
Pada dekade awal perkembangan PC, komputer hanya bersifat sebagai workstation tunggal, tidak terhubung satu sama lain. Saat ini, sistem komputerisasi cenderung terdistribusi, mulai dari workstation client, e-mail server, database server, web server, proxy server, dan sebagainya.
4. Java bersifat Multiplatform
Pada umumnya, program yang dibuat dan dkompile di suatu platform hanya bisa dijalankan di platform tersebut. Java
(41)
bersifat multiplatform, yakni dapat diterjemahkan oleh Java Interpreter pada berbagai sistem operasi.
5. Java bersifat MultiThread
Thread adalah proses yang dapat dikerjakan oleh program dalam suatu waktu. Java bersifat Multithreaded, artinya dapat mengerjakan beberapa program dalam waktu yang hampir bersamaan (Benny, 2004:7).
2.11.3.Konsep Pemrograman Java
Java merupakan bahasa pemrograman berorientasi objek. Pada bagian ini akan dibahas konsep-konsep penting dalam pemrograman berorientasi objek, sehingga kita akan lebih mudah dalam mempelajari bahasa Java (Fikri, 2005 : 74-105)
1). Object
Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek, yaitu: 1) setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state, 2) setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai
behavior. Contoh sederhananya adalah: objek sepeda. Sepeda
(42)
memiliki tingkah laku (behaviour): kecepatan menaik dan menurun, dan perpindahan gigi sepeda.
2). Class
Class berbeda dengan objek. Class mrupakan prototipe yang
mendefinisikan variabel-variabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas.
3). Enkapsulasi
Dalam sebuah objek yang mengandung variabel-variabel dan
method-method, dapat ditentukan hak akses pada sebuah
variable atau method dari objek. Pembungkusan variabel dan
method dalam sebuah objek dalam bagian yang terlindungi
inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan (wrapper) pelindung program dan data yang sedang diolah. Pembungkusan ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarang oleh program lain.
4). Inheritance
Class dapat didefinisikan dengan referensi pada class yang lain
yang telah terdefinisi. Inheritance merupakan pewarisan atribut
dan method pada sebuah class yang diperoleh dari class yang
telah terdefinisi tersebut. Setiap subclass akan mewarisi state
(43)
superclass-nya. Subclass kemudian dapat menambahkan state
dan behavior baru yang spesifik dan dapat pula memodifikasi
(overrid) state dan behavior yang diturunkan oleh superclass
-nya.
5). Polimorfisme
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda
6). Tipe data
Setiap variabel harus memiliki tipe data. Tipe data pada suatu variabel akan menentukan nilai dari variabel yang dapat dimuat dan operasi-operasi yang dapat dilakukannya. Contohnya sebuah tipe data interger (int) dapat memuat hanya nilai-nilai
interger (baik positif maupun negatif)
7). Operator
Operator merupakan simbol yang biasa digunakan dalam menulis suatu penyataan (statement) dalam bahasa pemrograman apapun. Operator akan melakukan suatu operasi terhadap operand sesuai dengan fungsinya. Dalam java terdapat beberapa operator antara lain:
1. Operator Penugasan
Operator ini adalah operator yang paling sederhana dan hanya dilambangkan dengan karakter „=‟. Operator ini digunakan untuk menugaskan suatu nilai ke suatu variabel.
(44)
Contoh: int hitung = 4;
2. Operator Matematika
Operator ini digunakan dalam ekspresi matematika. Berikut ini daftar operator matematika yang dikenal dalam Java:
Tabel 2.1 Operator Matematika Operator Keterangan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulus (sisa bagi)
(sumber: Fikri, 2005:50)
3. Operator Penaikan dan Penurunan
Operator ini digunakan untuk menaikkan atau menurunkan suatu nilai interger (bilangan bulat) sebanyak satu satuan, dan hanya digunakan pada variabel.
Tabel 2.2 Operator Penaikan dan Penurunan Operator Keterangan
++ Penambahan dengan nilai satu -- Pengurangan dengan niali satu (sumber: Fikri, 2005:50)
Sebagai contoh: x = x +1;
dapat ditulis menjadi: x++ ; atau ++x ;
(45)
4. Operator Bitwise (manipulasi bit)
Operator ini digunakan untuk operasi secara langsung terhadap bit yang menyusun suatu bilangan. Daftar
operator bitwise dalam Java adalah sebagai berikut:
Tabel 2.3 Operator Bitwise
Operator Arti
- Bitwise negasi (NOT) & Bitwise AND
| Bitwise OR ^ Bitwise XOR >> Geser kanan
>>> Geser kanan tanpa mempertahankan sign (dengan nilai 0 sebagai pengisi bit paling kiri) << Geser kiri
(sumber: Fikri, 2005:55)
Karena operasi bitwise manipulasi hingga ke bagian yang paling kecil dari suatu bilangan, yaitu bit maka diperlukan penjelasan lebih lanjut tentang bagaimanan Java menyimpan representasi suatu bilangan dalam bit, terutama sekali untuk representasi bilangan negatif.
Java menyimpan representasi dari suatu bilangan sebagai bilangan basis dua (binary) yang tersusun atas bit. Contoh: bilangan binary: 00100111, angka 0 dan 1 yang membentuk bilangan binary inilah yang disebut bit.
2.12. Java Server Pages
Java Server Pages yang disingkat JSP merupakan teknologi Java yang menyederhanakan proses pengembangan situs web. Dengan JSP,
(46)
perancang web dan pengembang aplikasi dapat dengan cepat mengembangkan elemen dinamik dan statik dari halaman web dengan menggunakan embedded Java dan beberapa tag sederhana. Dengan tag tersebut, perancang HTML dapat mengakses data dan business logic yang tersimpan dalam objek Java (skip Java atau Java Beans) tanpa harus menguasai kerumitan detail pengembangannya. Pemrograman Java dapat lebih fokus dalam menulis kode program untuk mengimplementasikan kapabilitas Java pada halaman web. Berkas JSP adalah sebuah teks dengan ekstensi .jsp yang menggantikan posisi dari berkas HTML tradisional.
Sama seperti servlet, JSP bersifat server-side. Saat browser memanggil berkas JSP, browser akan mengirimkannya ke web server yang dalam hal ini adalah server Hyper Text Transport Protocol (HTTP). Bagian statik yang berupa tag-tag HTML dari halaman web akan langsung dilewatkan. Bagian dinamik yang berupa kode program Java akan dieksekusi dan dikompilasi menjadi servlet oleh mesin JSP yang telah aktif pada web server. Hasilnya kemudian akan digabungkan kembali dan dikirim balik ke browser yang aktif pada komputer klien. JSP menyediakan teknologi yang tepat untuk aplikasi-aplikasi berbasis web. JSP saat ini merupakan bagian integral dari pengembangan aplikasi berbasis web dengan menggunakan teknologi Java (Foenadioen dan Prakoso, 2008:73).
(47)
2.13. Tomcat
Pada bulan Juli 1999 SUN Microsystems memulai kerjasama dengan Apache Software Foundation untuk mengembangkan versi open source dari implementasi servlet dan JSP API, dan Jakarta Project merupakan proyek yang diadakan untuk mewujudkannya. Pada bulan Desember 1999, Jakarta Project berhasil merilis Tomcat 3.0.
Tomcat ditujukan untuk mendukung teknologi JavaServer, yaitu dapat menjalankan servlet dan JSP. Dalam Tomcat sendiri tercakup server web sehingga dapat dipakai sebagai container untuk melakukan tes bagi servlet dan JSP.
Tomcat merupakan web kontainer yang dapat dijalankan secara stand alone, yang berarti tidak dijalankan bersamaan dengan web server lainnya. Di dalam Tomcat terdapat sebuah server HTTP yang asli seperti Apache, MIIS, atau Netscape Enterprise Server.
Tomcat merupakan perangkat lunak yang ditulis dengan menggunakan bahasa pemrograman Java. Jadi untuk mengoperasikannya dibutuhkan Java Development Kit (JDK).
2.14. MySQL
MySQL merupakan database server dimana pemrosesan data terjadi di server, dan client hanya mengirim data serta meminta data. Oleh karena itu pemrosesan terjadi di server sehingga pengaksesan data tidak terbatas. MySQL merupakan Relational DataBase Management System
(48)
(RDBMS) yaitu hubungan antara tabel yang berisi data-data pada suatu database.
MySQL merupakan database yang dikembangkan dari bahasa SQL
(Structured Query Language). SQL merupakan bahasa yang terstruktur
yang digunakan untuk interaksi antara script program dengan database server dalam hal pengolahan data.
Perintah dasar SQL : 1). Mambuat basis data
CREATE DATABASE nama_database; 2). Membentuk tabel
CREATE TABLE nama_tabel
( nama_kolom1 tipe_data[ukuran], nama_kolom2 tipe_data[ukuran], …);
3). Memasukkan data
INSERT INTO nama_tabel VALUES („…‟,‟…‟,….); 4). Melihat isi tabel
SELECT *FROM nama_tabel 5). Mengganti struktur tabel
ALTER TABLE nama_tabel
RENAME kolom_lama TO kolom_baru; 6). Manghapus tabel
(49)
7). Fungsi Agregate
SUM() melakukan penjumlahan yang bertipe numerik AVG() untuk mendapatkan nilai rata-rata
MAX() untuk mendapatkan niali terbesar (maksismum) MIN() untuk mendapatkan nilai terkecil (minimum) COUNT() untuk mengetahui jumlah baris dari suatu tabel (Sidik, 2003:57)
2.15. Metode Pengembangan Sistem
Sistem Development Life Cycle (SDLC) adalah suatu urutan atau
tahapan dari aktifitas yang berhungan erat, yang dikerjakan oleh orang-orang yang terlibat dalam sistem informasi bersama-sama dengan pemakai akhir (end user) dengan tujuan membangun sistem informasi yang berbasiskan komputer (McLeod, 1995:18). Ada berbagai model yang digunakan dalam membuat perangkat lunak sebuah sistem, salah satunya adalah sekuensial liniear (waterfall). Waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun perangkat lunak.
Waterfall disebut juga siklus klasik (1970-an) dan sekarang ini lebih
dikenal dengan sekuensial linier. Metode pengembangan Waterfall terdiri dari aktivitas-aktivitas sebagai berikut:
1. Rekayasa sistem, yaitu pengumpulan kebutuhan pada tingkat sistem, tingkat bisnis strategis dan tingkat area bisnis, misalnya jadwal proyek
(50)
2. Analisa, yaitu memahami sistem yang sedang berjalan, mengidentifikasi masalah yang ada serta mencari solusinya.
3. Desain, yaitu membuat desain data, desain arsitektur, dan desain procedural yang diperlukan untuk pengembangan sistem penunjang keputusan yang diusulkan.
4. Kode, tahap ini sering disebut juga sebagai tahap implementasi perangkat lunak atau coding. Dengan kata lain, pada tahap ini dilakukan implementasi hasil rancangan ke dalam baris-baris kode program yang dapat dimengerti oleh mesin (komputer).
5. Tes, yaitu melakukan pengujian terhadap sistem penunjang keputusan peminatan SMA yang telah dibuat.
Metode pengembangan sistem model Sekuensial Linier ini terlihat seperti pada gambar 2.3.
Gambar 2.3 System Development Life Cycle (Sekuensial Linier)
(Pressman, 2002 :37)
Adapun berbagai kelebihan yang dimiliki oleh model waterfall. Berikut adalah kelebihan dari pemodelan waterfall :
(51)
1. Pengerjaan dari setiap proses lebih disiplin, karena dilakukan berdasarkan tahap-tahapan yang telah ditentukan.
2. Pengaplikasian menggunakan model ini mudah.
3. Ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal proyek, maka software engineering dapat berjalan dengan baik dan tanpa ada masalah.
Selain memiliki kelebihan, model waterfall juga memiliki beberapa kekurangan, diantaranya adalah :
1. Jika terjadi suatu masalah, maka proses akan berhenti dikarenakan tidak dapat menuju ke tahapan selanjutnya.
2. Client kesulitan untuk menyatakan semua keinginannya secara
eksplisit diawal tahap pengembangan.
3. Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya.
2.16. Elemen Model Analisis
Model analisis harus dapat mencapai tiga sasaran utama yaitu: 1. Untuk menggambarkan apa yang dibutuhkan dalam pengembangan
sistem.
2. Untuk membangun dasar bagi pembuatan desain perangkat lunak. 3. Untuk membatasi serangkaian persyaratan yang dapat divalidasi begitu
(52)
Dibawah ini digambarkan struktur model analisis dari literatur Pressman, mencakup tiga sasaran utama yaitu : (1) data flow diagram
(DFD). Deskripsi setiap fungsi yang disajikan DFD diisikan dalam sebuah
spesifikasi proses/process specification (PSPEC). (2) Entity relationship
diagram (ERD). Atribut dari masing-masing objek data yang ditulis pada
ERD dapat digambarkan dengan deskripsi objek data/data object
description. (3) State Transtition diagram (STD). STD berfungsi sebagai
dasar dari pemodelan tingkah laku. Informasi tambahan mengenai aspek kontrol dari perangkat lunak diisikan dalam spesifikasi kontrol/control
specification (CSPEC). Pada inti model ada kamus data (data dictionary)
sebagai sarana penyimpanan yang berisi deskripsi dari semua objek data yang dikomsumsi dan diproduksi oleh perangkat lunak.
(53)
2.17. Model Perancangan Sistem
Mendeskripsikan data yang terlibat dalam perangkat lunak dengan menggunakan tools sebagai berikut:
2.17.1.Data Flow Diagram (DFD)
Pada saat informasi mengalir melalui perangkat lunak, dia dimodifikasi oleh suatu deretan transformasi. Data Flow Diagram (DFD) adalah sebuah teknik grafis yang menggambarkan aliran informasi dan transformasi yang diimplikasikan pada saat data bergerak dari input menjadi output (Pressman, 2002:364).
Untuk membaca suatu DFD kita harus memahami dulu tingkatan / level diagram dari atas ke bawah yang menyusun suatu DFD. Adapun tingkatan yang menyusun suatu DFD yaitu:
1. Diagram Konteks (Context Diagram level 0)
Merupakan diagram teratas dari suatu proses dan menggambarkan ruang lingkup suatu proses. Hal yang digambarkan dalam diagram konteks adalah hubungan terminator dengan sistem dan juga sistem dalam suatu proses. Sedangkan hubungan antar terminator dan data
store dalam diagram konteks tidak digambarkan.
2. Diagram Zero (Level 1)
Merupakan diagram yang berada diantara diagram konteks dan diagram detail, serta menggunakan proses utama dari suatu DFD. Hal yang digambarkan dalam diagram zero adalah proses utama dari sistem serta hubungan entity, process, alur data dan data store.
(54)
3. Diagram Detail (Primitif)
Merupakan penguraian dalam proses yang ada dalam diagram zero. Diagram yang terendah dan tidak dapat diuraikan lagi.
Berikut ini tabel empat notasi DFD dasar menurut Pressman: Tabel 2.4. Notasi DFD Dasar
No Simbol Nama Keterangan
1 Simbol Proses
Aktifitas atau kerja yang mentransformasikan satu atau beberapa data masukan menjadi satu atau beberapa data keluaran sesuai dengan spesifikasi yang diinginkan.
2 Terminal
(entity eksternal)
Suatu kesatuan di lingkungan luar sistem sedang dikembangkan. Dimana yang
memberikan data kepada sistem (source) atau yang menerima informasi dari sistem (sink)
3
Simbol Data Flow atau arus data
Menunjukan aliran data dari suatu entity ke
entity lainnya. Dimana aliran data terjadi
antara dua proses yang berurutan, dari data
store ke proses dan sebaliknya serta dari
proses ke entity eksternal atau sebaliknya.
4 Penyimpanan
Data
Tempat penyimpanan sementara sebelum melakukan proses lebih lanjut.
2.17.2.Entity-Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) menggambarkan hubungan
(55)
aktifitas pemodelan data. Model data ini terdiri dari tiga informasi yang saling tergantung, yaitu: objek data, atribut yang menggambarkan hubungan objek data tersebut, dan hubungan yang menghubungkan objek data yang satu dengan yang lain. Atribut dari masing-masing objek data yang ditulis dengan menggunakan deskripsi objek data. Berikut ini tabel notasi ERD dasar:
Tabel 2.5. Notasi ERD Dasar
No Simbol Nama Keterangan
1 Simbol Entitas
(Entity)
Merupakan suatu kumpulan objek atau suatu yang dapat dibedakan secara unik
2
Simbol Hubungan
(Relationship)
Hubungan antar entitas
3 Simbol atribut
Karakteristik suatu entitas yang menyediakan penjelasan secara detail tentang entitas tersebut
2.17.3.Kamus Data
Kamus data adalah katalog (tempat penyimpanan) dari elemen-elemen yang berada dalam satu sistem. Kamus data mempunyai fungsi yang sama dalam pemodelan sistem dan juga berfungsi membantu pelaku sistem untuk mengerti aplikasi secara detil, dan merorganisasi semua elemen data yang digunakan dalam sistem sehingga pemakai dan
(56)
penganalisa sistem punya dasar pengertian yang sama tentang masukan, keluaran, penyimpanan dan proses. Kamus data dibuat berdasarkan arus data dari DFD, arus data di DFD sifatnya adalah global hanya ditunjukan nama arus datanya saja.
[http://www.ilkom.unsri.ac.id/dosen/hartini/materi/VIII_DFD.pdf]
2.17.4.Bagan Alir (Flowchart)
Bagan Alir (flowchart) adalah bagan (chart) yang menunjukkan alir (flow) didalam program atau prosedur sistem secara logika. Flowchart
digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. Berikut ini tabel simbol-simbol dalam flowchart.
Tabel 2.6. Simbol-simbol Flowchart
No Simbol Nama Keterangan
1 Simbol Dokumen
Menunjukan dokumen input dan output baik dalam proses manual, mekanik atau komputer
2 Simbol Kegiatan
Manual
Digunakan untuk menunjukan pekerjaan yang dilakukan secara manual
3
Symbol Operasi Luar
Menunjukkan operasi yang dilakukan di luar proses operasi komputer‟
(57)
4 Simbol Proses
Menunjukan kegiatan atau proses yang dilakukan secara
komputerisasi
5 Simbol Display Menujukan output yang
ditampilkan di monitor
6 Simbol hubungan
Komunikasi
Menunjukan proses transmisi data melalui channel komunikasi
7
Simbol Garis Alir Menunjukan arus dari suatu proses
8 Simbol Penjelasan Menunjukan penjelasan dari suatu proses
9 Simbol
Penghubung
Simbol penghubung menunjukan penghubung ke halaman yang masih sama atau halaman lain
2.18. Desain Perancangan Sistem
Menurut Pressman (2002 : 401) Perancangan Perangkat lunak adalah satu-satunya cara dimana kita dapat secara akurat menterjemahkan kebutuhan pelanggan kedalam produk atau sistem perangkat lunak yang berfungsi sebagai dasar bagi semua rekayasa perangkat lunak dan kemudian diikuti oleh suatu pemeliharaan perangkat lunak.
(58)
Gambar 2.5. Desain Perancangan Sistem (Pressman, 2002:401)
A. Perancangan Data
Perancangan data mentransformasikan model domain informasi yang dibuat selama analisis ke dalam struktur data yang akan diperlukan untuk mengimplementasi perangkat lunak. Objek dan hubungan data yang ditetapkan dalam diagram hubungan entitas (ERD) dan isi data detail yang digambarkan di dalam kamus data, menjadi basis bagi aktifitas perancangan data (Pressman, 2002:400).
B. Perancangan Arsitektur
Perancangan arsitektur menentukan hubungan di antara elemen-elemen struktural utama dari program. Representasi perancangan tersebut kerangka kerja modular dari sebuah program komputer dapat diperoleh dari model-model analisis dan interaksi subsistem yang ditentukan dalam model analisis (Pressman, 2002:400).
(59)
C. Perancangan Antar Muka
Perancangan antar muka menggambarkan bagaimana perangkat lunak berkomunikasi dalam dirinya sendiri, dengan sistem yang berinteroperasi dengannya, dan dengan manusia yang menggunakannya. Antar muka mengimplementasikan aliran informasi (misal data dan kontrol) dengan demikian, data dan diagram aliran kontrol memberikan informasi yang di butuhkan bagi antar muka (Pressman, 2002:400).
D. Perancangan Prosedural
Perancangan prosedural mentransformasi elemen-elemen struktural dari arsitektur program ke dalam suatu deskripsi prosedural dari komponen-komponen perangkat lunak. Informasi yang diperoleh dari (STD) berfungsi sebagai dasar bagi perancangan prosedural (Pressman, 2002:400).
2.19. Studi Sejenis
Penulis dalam membuat skripsi ini melakukan studi terhadap beberapa skripsi terdahulu, dengan maksud mempelajari dan mencari beberapa poin yang dapat dilengkapi di dalam skripsi ini.
Lydia (2009) dalam penulisan skripsinya yang berjudul Aplikasi
Pada Bidang Peminatan Berdasarkan Kemampuan Akademik Mahasiswa.
Aplikasi ini diperuntukan bagi program studi sehingga keputusan yang diambil pihak prodi dengan dibantu aplikasi ini, lebih berkualitas karena keputusan peminatan didasarkan pada proses penilaian objektif. Dalam
(60)
pembuatan tugas akhir ini penulis menggunakan metode pengembangan SDLC dengan model waterfall hingga tahap pengujian.
Dina Andayanti (2010), dalam penelitiannya yang bertemakan sistem pendukung keputusan dengan judul Sistem Pendukung Keputusan
Pra-Seleksi Penerimaan Siswa Baru (PSB) Online Yogyakarta. Penelitian
ini bertujuan untuk menentukan sekolah yang dipilih sesuai UNAS, penelitian ini menyimpulkan akan peran sistem informasi dalam pengambilan kesimpulan akurat karena didukung oleh data-data yang tepat waktu. Penelitian ini membuka wacana, akan pentingnya sistem informasi, basisdata sebagai alat untuk mendukung keputusan, atau yang sering disebut pemodelan dalam sistam pendukung keputusan.
Edwin Kurnianto (2008) dalam penulisan skripsinya yang berjudul
Perancangan Sistem Penempatan dan Penyuluhan Siswa Dengan
Menggunakan Logika Fuzzy Pada SMUN 1 Citereup. Sistem penempatan
dan peminatan siswa dengan pendekatan algoritma fuzzy memiliki kemampuan dalam menerjemahkan keadaan dengan lebih fleksibel. Penelitian ini memiliki tujuan untuk membantu pihak sekolah dalam menentukan peminatan siswanya. Metode pengembangan sistem penelitian ini adalah waterfall (sekuensial linier).
Terdapat penelitian sejenis yang objek pembahasannya dapat dijadikan acuan untuk pembuatan skripsi ini. Hendra N C (2006), yang melakukan penelitian tentang sistem pendukung keputusan dengan judul
(61)
Prediksi Penentuan Penjurusan Bagi Siswa. Penelitian ini bertujuan untuk membantu pihak sekolah dalam mencari informasi penjurusan. Pembangunan aplikasi multiuser ini dibangun dengan menggunakan aplikasi Visual Basic 6.0 sebagai interface sistem. Pengolahan basis data dalam hal ini menggunakan SQL Server 2000. Software ini menggunakan sistem operasi Windows XP yang telah familiar di lingkungan SMA Negeri 3 Purwakarta, sedangkan sebagai aplikasi untuk membuat laporan digunakan Cristalreport. Metodologi yang digunakan dalam pengembangan sistem adalah paradigma Waterfall dengan menggunakan
tool Data Flow Diagram (DFD). Perancangan basis data menggunakan
model relasi dengan tool Entity-Relationship Diagram (E-R Diagram). Pada penelitian lain tentang sistem pendukung keputusan, Hafsah, Heru Cahya Rustamaji, Yulia Inayati (2008) melakukan penelitian tentang SPK dengan logika fuzzy. Sistem Pendukung Keputusan Pemilihan
Jurusan Di SMU Dengan Logika Fuzzy dilakukan dengan tujuan
memeberikan keputusan yang tepat dengan hasil yang terbaik dalam proses penentuan suatu jurusan. Proses penentuan jurusan ini dengan cara mempertimbangkan kemampuan, bakat dan minat siswa terhadap suatu jurusan, dengan menggunakan logika fuzzy. Logika fuzzy berfungsi melakukan pemrosesan terhadap faktor kepastian dan ketidakpastian. Secara umum logika fuzzy dapat menangani faktor ketidakpastian secara baik sehingga dapat diimplementasikan pada proses pengambilan keputusan. Model logika fuzzy bekerja dengan menggunakan derajat
(62)
keanggotaan dari sebuah nilai, kemudian digunakan untuk menentukan hasil yang diinginkan, berdasarkan aturan-aturan yang telah ditentukan. Sistem pendukung keputusan penjurusan siswa SMU ini dibangun dengan menggunakan Borland Delphi version 7.0 dan Microsoft Access 2003 sebagai databasenya.
Selain itu Arim Wijaya (2005) juga melakukan penelitian yang sama yaitu Analisis Algoritma K-Means Untuk Sistem Pendukung
Keputusan Penjurusan Siswa Di MAN Binong Subang. Pada penelitian ini
akan diangkat suatu kasus yaitu menganalisis algoritma K-Means untuk sistem pendukung keputusan penjurusan siswa di MAN Binong Subang. Algoritma K-Means dapat mengelompokkan (segmentasi) data yang mempunyai atribut dan mempunyai jumlah data yang banyak, sehingga dapat dimanfaatkan dalam sistem penentuan penjurusan siswa yang sesuai dengan kemampuan akademik siswa Berdasarkan hasil analisis terhadap algoritma K-Means untuk sistem pendukung keputusan penjurusan, maka kesimpulan yang dapat diambil adalah algoritma K-Means kurang tepat untuk sistem pendukung keputusan penjurusan tetapi algoritma K-Means lebih tepat untuk mengelompokan data siswa berdasarkan data nilai yang bisa memberikan gambaran untuk penjurusan siswa.
Penelitian tentang sistem pendukung keputusan lainnya adalah
Aplikasi Sistem pendukung Keputusan Pemilihan Sekolah yang dibuat oleh
Dedi Trisnawarman, Margaret Livereja (2006). Tujuan penelitian ini adalah membangun suatu program aplikasi sistem pendukung keputusan
(63)
pemilihan sekolah berbasis web. Aplikasi diharapkan dapat digunakan untuk mendapatkan informasi dan pengambilan keputusan pemilihan sekolah secara efektif. Model-model yang digunakan adalah simulasi untuk perhitungan biaya dan Analitical Hierarcy Process (AHP) untuk pembobotan multikritera pemilihan. Aplikasi yang dirancang terdiri dari beberapa modul seperti modul home, modul spk, modul simulasi, modul lokasi dan modul Informasi. Modul-modul yang dirancang menggunakan piranti lunak Hyper Text Preprocessor (PHP), MySql, Visual Basic 6.0, Macromedia Flash dan Macromedia Dreamweaver.
Kemudian pada objek penelitian pengambilan keputusan yaitu untuk jalur peminatan mahasiswa. Penelitian yang dilakukan oleh Samuel Lukas, Meiliayana, William Simson (2009) tentang Penerapan Logika Fuzzy Dalam Pengambilan Keputusan Untuk Jalur Peminatan Mahasiswa
dengan tujuan untuk untuk membantu mahasiswa dalam menentukan peminatannya. Hasilnya adalah Setelah dilakukan uji coba terhadap 20 mahasiswa maka hasil bidang peminatan mahasiswa tidak selalu sama dengan bidang peminatan yang diinginkan. Hal ini sangat masuk akal karena bidang peminatan yang diinginkan mahasiswa dipengaruhi oleh banyak faktor bahkan ada faktor-faktor yang tak terstruktur. Sedangkan bidang peminatan yang disarankan sistem, sangat dipengaruhi oleh nilai matakuliah yang diperoleh, kerelasian matakuliah dengan kompetensi, kompetensi dengan bidang peminatan serta besaran bobot yang telah ditetapkan.
(64)
Kemudian penelitian lain yaitu Sistem Pendukung Keputusan
Pemilihan Jurusan Di Perguruan Tinggi oleh Alfi Dwi Sukmawan (2008)
yang memiliki tujuan yaitu membuat Sistem Pendukung Keputusan untuk pemilihan jurusan di perguruan tinggi. Tes – tes dalam skripsi ini menggunakan tes DAT ( Differential Aptitude Test) yaitu tes yang dikembangkan pada tahun 1947 dengan memadukan prosedur ilmiah dan prosedur pembakuan yang baik untuk mengungkap kemampuan ( ability ) pria dan wanita pada para siswa kelas tiga SMP sampai dengan siswa kelas tiga SMU untuk tujuan bimbingan kependidikan dan bimbingan karir. Tes DAT terdiri dari 8 subtes : Tes Verbal, Tes Numerik, Tes Abstrak, Tes Kecepatan dan Ketelitan, Tes Mekanikal, Tes Visual, Tes Mengeja dan Tes Kosakata. Hasil pengukuran bakat ini bukanlah secara tepat memberikan suatu keputusan yang pasti dalam memecahkan masalah – masalah yang dihadapi siswa dalam studi dan karir, tetapi skor – skor bakat ini hanyalah merupakan suatu informasi pelengkap yang dapat dipercaya guna membantu para siswa untuk menjawab pertanyaan dalam lapangan pendidikan.
Ada juga penelitian tentang Implementasi Sistem Pendukung Keputusan Layanan Bimbingan Konseling (BK) Untuk Menentukan
Penjurusan Siswa Dengan Menggunakan Metode Weighted Product oleh
Kania Purnama (2007) yang bertujuan untuk memberikan informasi laporan penjurusan kepada siswa, kepala sekolah dan guru dengan data yang lebih akurat, mengurangi banyaknya kesalahan dalam menentukan
(1)
Procedure
1.
Klik menu “User”
2.
Klik menu “User”
Expected Result
1.
View
layar halaman user
Actual Result
(2)
NilaiSiswaService.java package org.sman1tng.service; import java.util.ArrayList; import java.util.Iterator; import java.util.List;
import org.sman1tng.constant.SQLConstant; import org.sman1tng.model.NilaiSiswa; import org.sman1tng.model.Pelajaran; import org.sman1tng.util.DateUtil; public class NilaiSiswaService extends BaseService {
/*
* IPA --> minimal nilai 70
* IPS dan Bahasa --> minimal nilai 75 */
public static final int MIN_IPA_SCORE = 70;
public static final int MIN_IPS_SCORE = 75;
public static final int
MIN_BAHASA_SCORE = 75;
public static int COUNT_FAIL_IPA = 0; public static int COUNT_FAIL_IPS = 0; public static int
COUNT_FAIL_BAHASA = 0; public static int MAX_FAIL = 2; public NilaiSiswaService(){ resetCountFail();
}
public void resetCountFail(){ COUNT_FAIL_IPA = 0; COUNT_FAIL_IPS = 0; COUNT_FAIL_BAHASA = 0; }
public NilaiSiswa
getNilaiSiswaByNip_Pelajaran(String nip, String kodePelajaran) {
NilaiSiswa nilaiSiswa = null; try {
openConnection(); pst =
conn.prepareStatement(SQLConstant.GET_ NILAI_SISWA_BY_NIP_PELAJARAN); pst.setString(1, nip);
pst.setString(2, kodePelajaran); rs = pst.executeQuery(); while (rs.next()) {
nilaiSiswa = new NilaiSiswa(); nilaiSiswa.setId(rs.getInt("id"));
nilaiSiswa.setNip(rs.getString("nip"));
nilaiSiswa.setKodePelajaran(rs.getString("k ode_pelajaran"));
nilaiSiswa.setNilai(rs.getInt("nilai"));
nilaiSiswa.setCreated(rs.getTimestamp("crea ted"));
nilaiSiswa.setModified(rs.getTimestamp("m odified"));
PelajaranService pelS = new PelajaranService();
Pelajaran pelajaran =
pelS.getPelajaranByCode(rs.getString("kode _pelajaran"));
nilaiSiswa.setPelajaran(pelajaran); }
} catch (Exception e) { e.printStackTrace(); } finally {
closeConnection(); }
return nilaiSiswa; }
public List<NilaiSiswa> getNilaiSiswaByNip(String nip) { List<NilaiSiswa> list = new ArrayList();
try {
openConnection(); pst =
conn.prepareStatement(SQLConstant.GET_ NILAI_SISWA_BY_NIP);
pst.setString(1, nip); rs = pst.executeQuery(); while (rs.next()) {
NilaiSiswa nilaiSiswa = new NilaiSiswa();
nilaiSiswa.setId(rs.getInt("id"));
nilaiSiswa.setNip(rs.getString("nip"));
nilaiSiswa.setKodePelajaran(rs.getString("k ode_pelajaran"));
nilaiSiswa.setNilai(rs.getInt("nilai"));
nilaiSiswa.setCreated(rs.getTimestamp("crea ted"));
nilaiSiswa.setModified(rs.getTimestamp("m odified"));
list.add(nilaiSiswa); }
} catch (Exception e) { e.printStackTrace(); } finally {
(3)
closeConnection(); }
return list; }
public List<NilaiSiswa>
getNilaiSiswaByNip_Kategori(String nip, String kategori) {
List<NilaiSiswa> list = new ArrayList();
try {
openConnection(); pst =
conn.prepareStatement(SQLConstant.GET_ NILAI_SISWA_BY_NIP_KATEGORI); pst.setString(1, nip);
pst.setString(2, kategori); rs = pst.executeQuery(); while (rs.next()) {
NilaiSiswa nilaiSiswa = new NilaiSiswa();
nilaiSiswa.setId(rs.getInt("id"));
nilaiSiswa.setNip(rs.getString("nip"));
nilaiSiswa.setKodePelajaran(rs.getString("k ode_pelajaran"));
nilaiSiswa.setNilai(rs.getInt("nilai"));
nilaiSiswa.setCreated(rs.getTimestamp("crea ted"));
nilaiSiswa.setModified(rs.getTimestamp("m odified"));
PelajaranService pelS = new PelajaranService();
Pelajaran pelajaran =
pelS.getPelajaranByCode(rs.getString("kode _pelajaran"));
nilaiSiswa.setPelajaran(pelajaran); list.add(nilaiSiswa);
}
} catch (Exception e) { e.printStackTrace(); } finally {
closeConnection(); }
return list; }
public boolean
createNilaiSiswa(NilaiSiswa nilaiSiswa) { try {
openConnection();
pst =
conn.prepareStatement(SQLConstant.INSE RT_NILAI_SISWA);
pst.setString(1, nilaiSiswa.getNip()); pst.setString(2,
nilaiSiswa.getKodePelajaran());
pst.setInt(3, nilaiSiswa.getNilai()); pst.setTimestamp(4,
nilaiSiswa.getCreated()); pst.setTimestamp(5, nilaiSiswa.getModified()); pst.executeUpdate(); return true;
} catch (Exception e) { e.printStackTrace(); } finally {
closeConnection(); }
return false; }
public boolean
updateNilaiSiswa(NilaiSiswa nilaiSiswa) { try {
openConnection();
nilaiSiswa.setModified(DateUtil.getTimeSta mpNow());
pst =
conn.prepareStatement(SQLConstant.UPDA TE_NILAI_SISWA);
pst.setInt(1, nilaiSiswa.getNilai()); pst.setTimestamp(2,
nilaiSiswa.getModified());
pst.setString(3, nilaiSiswa.getNip()); pst.setString(4,
nilaiSiswa.getKodePelajaran()); pst.executeUpdate(); return true;
} catch (Exception e) { e.printStackTrace(); } finally {
closeConnection(); }
return false; }
public boolean
isPassIPA(List<NilaiSiswa> lstNilaiSiswa){ for(Iterator it = lstNilaiSiswa.iterator(); it.hasNext();){
NilaiSiswa nilaiSiswa = (NilaiSiswa) it.next();
int score = nilaiSiswa.getNilai(); if(!isScorePass(score,
MIN_IPA_SCORE)){
(4)
} }
if(COUNT_FAIL_IPA >= MAX_FAIL)
return false; return true; }
public boolean
isPassIPS(List<NilaiSiswa> lstNilaiSiswa){ for(Iterator it = lstNilaiSiswa.iterator(); it.hasNext();){
NilaiSiswa nilaiSiswa = (NilaiSiswa) it.next();
int score = nilaiSiswa.getNilai(); if(!isScorePass(score,
MIN_IPS_SCORE)){
COUNT_FAIL_IPS++; }
}
if(COUNT_FAIL_IPS >= MAX_FAIL)
return false; return true; }
public boolean
isPassBahasa(List<NilaiSiswa> lstNilaiSiswa){
for(Iterator it = lstNilaiSiswa.iterator(); it.hasNext();){
NilaiSiswa nilaiSiswa = (NilaiSiswa) it.next();
int score = nilaiSiswa.getNilai(); if(!isScorePass(score,
MIN_BAHASA_SCORE)){
COUNT_FAIL_BAHASA++; }
}
if(COUNT_FAIL_BAHASA >= MAX_FAIL)
return false; return true; }
public boolean isScorePass(int score, int minScore){
if(score >= minScore) return true; return false; }
}
HasilKeputusanService.java package org.sman1tng.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List;
import org.sman1tng.constant.MsgConstant;
import org.sman1tng.constant.SQLConstant; import org.sman1tng.model.HasilKeputusan; import org.sman1tng.model.Pelajaran; import org.sman1tng.model.Siswa;
public class HasilKeputusanService extends BaseService {
public boolean
createHasilKeputusan(HasilKeputusan hasilKeputusan) {
try {
openConnection(); pst =
conn.prepareStatement(SQLConstant.INSE RT_HASIL_KEPUTUSAN);
pst.setString(1,
hasilKeputusan.getSiswa().getNip()); pst.setString(2,
hasilKeputusan.getKategori()); pst.setTimestamp(3, hasilKeputusan.getCreated()); pst.executeUpdate(); return true;
} catch (Exception e) { e.printStackTrace(); } finally {
closeConnection(); }
return false; }
public List<HasilKeputusan> getHasilKeputusanByKategori(String kategori) {
List<HasilKeputusan> list = new ArrayList();
SiswaService siswaS = new SiswaService();
try {
openConnection(); pst =
conn.prepareStatement(SQLConstant.GET_ HASIL_KEUPUTUSAN_BY_KATEGORI) ;
pst.setString(1, kategori); rs = pst.executeQuery(); while (rs.next()) {
HasilKeputusan hasilKeputusan = new HasilKeputusan();
Siswa siswa =
siswaS.getSiswaByNip(rs.getString("nip")); hasilKeputusan.setSiswa(siswa);
hasilKeputusan.setKategori(rs.getString("kat egori"));
(5)
hasilKeputusan.setCreated(rs.getTimestamp( "created"));
list.add(hasilKeputusan); }
} catch (Exception e) { e.printStackTrace(); } finally {
closeConnection(); }
return list; }
public HasilKeputusan
getHasilKeputusanByNip(String nip) { HasilKeputusan hasilKeputusan = null; SiswaService siswaS = new
SiswaService(); try {
openConnection(); pst =
conn.prepareStatement(SQLConstant.GET_ HASIL_KEUPUTUSAN_BY_NIP); pst.setString(1, nip);
rs = pst.executeQuery(); while (rs.next()) { hasilKeputusan = new HasilKeputusan();
Siswa siswa =
siswaS.getSiswaByNip(rs.getString("nip")); hasilKeputusan.setSiswa(siswa);
hasilKeputusan.setKategori(rs.getString("kat egori"));
hasilKeputusan.setCreated(rs.getTimestamp( "created"));
}
} catch (Exception e) { e.printStackTrace(); } finally {
closeConnection(); }
return hasilKeputusan; }
public HashMap deciding(String nip, String kategori, boolean passIPA, boolean passIPS, boolean passBahasa) {
HashMap map = new HashMap(); HasilKeputusan hk = new HasilKeputusan();
hk.getSiswa().setNip(nip); String message = ""; if (kategori != null) {
if (kategori.equals(Pelajaran.IPA)) { if (passIPA) {
message =
MsgConstant.ACK_TRUE + Pelajaran.IPA; hk.setKategori(Pelajaran.IPA); } else {
if (passIPS) { message =
MsgConstant.ACK_FALSE + Pelajaran.IPS;
hk.setKategori(Pelajaran.IPS); } else {
if (passBahasa) { message = MsgConstant.ACK_FALSE + Pelajaran.BAHASA;
hk.setKategori(Pelajaran.BAHASA); } else {
message =
MsgConstant.ACK_FALSE + Pelajaran.IPS;
hk.setKategori(Pelajaran.IPS); }
} } }
if (kategori.equals(Pelajaran.IPS)) { if (passIPS) {
message =
MsgConstant.ACK_TRUE + Pelajaran.IPS; hk.setKategori(Pelajaran.IPS); } else {
if (passIPA) { message = MsgConstant.ACK_FALSE + Pelajaran.IPA;
hk.setKategori(Pelajaran.IPA); } else {
if (passBahasa) { message = MsgConstant.ACK_FALSE + Pelajaran.BAHASA;
hk.setKategori(Pelajaran.BAHASA); } else {
message =
MsgConstant.ACK_FALSE + Pelajaran.IPS;
hk.setKategori(Pelajaran.IPS); }
} } } if
(6)
if (passBahasa) { message = MsgConstant.ACK_TRUE + Pelajaran.BAHASA;
hk.setKategori(Pelajaran.BAHASA); } else {
if (passIPA) { message = MsgConstant.ACK_FALSE + Pelajaran.IPA;
hk.setKategori(Pelajaran.IPA); } else {
message =
MsgConstant.ACK_FALSE + Pelajaran.IPS;
hk.setKategori(Pelajaran.IPS);
} } }
map.put("message", message); map.put("kategori",
hk.getKategori());
if (createHasilKeputusan(hk)) { map.put("isSaved", true); } else {
map.put("isSaved", false); }
}
return map; }