Perancangan aplikasi sistem penetuan pemintaan siswa berdasarkan minat dan kemampuan akademik siswa berbasis web (studi kasus: SMA Negeri 1 Tangerang)

(1)

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; }