BAB 2
TINJAUAN PUSTAKA
2.1.
Sistem Pendukung Keputusan
Istilah sistem Pendukung Keputusan pertama kali di kemukakan oleh P.G.W Keen,
seorang akademis Inggris yang berkarir di Amerika. Pada tahun 1978, Keen dan Scott
Morton menerbitkan sebuah buku dengan judul
Decision Support System : An
Organisation Perspective
. Di dalam buku tersebut, mereka menyebutkan bahwa
sistem komputer berdampak pada keputusan yang akan dibuat, karena komputer dan
analisis merupakan faktor penting untuk di pertimbangkan dalam menetapkan sebuah
keputusan [5].
Sistem Pendukung Keputusan merupakan sistem berbasis komputer yang
menyatukan beragam informasi dari berbagai sumber, menyajikan dalam bentuk
teorganisir serta memfasilitasi evaluasi asumsi yang mendasar penggunaan
model-model tertentu.
Komponen sistem pendukung keputusan dapat dibangun dari subsistem
berikut[10] :
1.
Subsistem Manajemen Data (
Data Management Subsystem
),
meliputi basis data, basis data yang relevan dengan keadaan dan
dikelola software yang disebut
Database Management System
(DBMS).
6
management science
, atau model kuantitatif, yang menyediakan
kemampuan analisa dan Software management yang sesuai.
3.
Subsistem Manajemen Pengetahuan (
Knowledge Management
Subsystem
), merupakan subsistem (
optional
) yang dapat
mendukung subsistem lain atau berlaku sebagai komponen yang
berdiri sendiri.
4.
Subsistem Antarmuka Pengguna (
User Interface Subsystem
),
merupakan subsistem yang dapat dipakai oleh user untuk
berkomunikasi dan memberi perintah ( menyediakan
user
interface
).
5.
Pengguna (
user
), termasuk didalamnya adalah pengguna (
user
),
manager
, dan pengambil keputusan.
Untuk menghasilkan keputusan yang baik di dalam sistem pendukung
keputusan, perlu didukung oleh informasi dan fakta-fakta yang
berkualitas antara lain [1]:
1.
Aksebilitas
2.
Kelengkapan
3.
Ketelitian
4.
Ketepatan
5.
Ketepatan Waktu
6.
Kejelasan
7.
Fleksibilitas
2.1.1 Tahapan Pengambilan Keputusan
Untuk menghasilkan keputusan yang baik ada beberapa tahapan proses yang
harus dilalui dalam pengambilan keputusan, proses pengambilan keputusan
melalui beberapa tahap berikut [1]:
1.
Tahap Penelusuran (
intelligence
)
7
dari sistem ke subsistem pembentuknya sehingga didapatkan keluaran berupa
dokumen pernyataan masalah.
2.
Tahap Desain
Dalam tahap ini pengambil keputusan menemukan, mengambarkan masalah
dan menganalisis semua pemecahan yang mungkin yaitu melalui pembuatan
model yang bisa mewakili kondisi nyata masalah. Dari tahapan ini didapatkan
keluaran berupa dokumen alternatif solusi.
3.
Tahap pemilihan (
Choice
)
Dalam tahap ini pengambil keputusan memilih salah satu alternatif pemecahan
yang dibuat pada tahap desain yang dipandang sebagai aksi yang paling tepat
untuk mengatasi masalah yang sedang dihadapi. Dari tahap ini didapatkan
dokumen solusi dan rencana implementasinya.
4.
Tahap Implementasi
Pengambil keputusan menjalankan rangkaian aksi pemecahan yang dipilih di
tahap pemilihan. Implementasi yang sukses ditandai dengan terjawabnya
masalah yang dihadapi, sementara kegagalan ditandai masih adanya masalah
yang sedang dicoba untuk diatasi. Dari tahap ini didapatkan laporan
pelaksanaan solusi dan hasil.
2.2.
Weighted Sum Model (WSM)
Weighted Sum Model
adalah model umum, telah digunakan untuk aplikasi yang
berbeda seperti robotika, processor, dan lain-lain. Ini adalah metode yang sering
digunakan pada permasalahan dimensi tunggal.[7] Jika terdapat
m
alternatif dan
n
kriteria, maka alternatif terbaik dapat dirumuskan sebagai berikut [6] :
�
�= � ∑ � . -
… … … . … … … .Keterangan :
8
�
= Nilai alternatif i pada kriteria j
�
= Bobot kriteria j
dimana
i
= 1,2,3,…,m dan
�
���merupakan nilai dari alternatif terbaik, n
adalah banyaknya kriteria,
�
merupakan nilai alternatif i pada kriteria j dan
�
adalah nilai bobot kriteria j.
Kesulitan pada metode ini muncul ketika kriteria yang digunakan bukanlah
kriteria dimensi tunggal atau multi dimensi. Dalam permasalahan tersebut, maka
kriteria yang ada harus disamakan menjadi satu dimensi yang sama [6].
9
Start
Data Kriteria Nilai UN
Rapor Psikotes
Nilai Bobot Kriteria
Hitung dengan Rumus WSM
Nilai WSM
End
Gambar 2.1. Flowchart Metode
Weighted Sum Model
10
Tabel 2.1. Contoh nilai bobot kriteria
Jurusan
Pilihan
Nilai
UN
MM
IPA
IPS
IQ
Jurusan
Hasil
Psikotest
Bobot
0.05
0.15
0.1
0.3
0.15
0.1
0.15
Yuke
2
35.55
258
263
251
106
2
Ade
1
37.65
236
238
239
121
3
Rita
2
37.5
238
240
242
124
2
Berdasarkan Tabel 1, diketahui nilai bobot yang diberikan pada kriteria
jurusan kelas adalah 5%, nilai UN adalah 15%, nilai MM adalah 10%, nilai IPA
adalah 30%, nilai IPS adalah 15%, IQ adalah 10%, dan jurusan hasil psikotest adalah
15%. Kemudian untuk menghitung nilai WSM dari setiap alternatif digunakan rumus
(1) sehingga:
Nilai WSM yang di peroleh adalah :
WSM
Yuke= (0.05*2) + (0.15*35.55) + (0.1*258) + (0.3*263) + (0.15*251) +
(0.1*106) + (0.15*2) = 158.6825
WSM
Ade= (0.05*1) + (0.15*37.65) + (0.1*236) + (0.3*238) + (0.15*239) +
(0.1*121) + (0.15*3) = 149,09
WSM
Rita= (0.05*2) + (0.15*37.5) + (0.1*238) + (0.3*240) + (0.15*242) +
(0.1*124) + (0.15*2) = 150.525
Berdasarkan rumus, maka nilai WSM
Yukeadalah yang terbaik.
2.3.
Weighted Product Model (WPM)
11
semua metode MADM, WPM adalah himpunan berhingga dari alternatif keputusan
yang dijelaskan dalam hal beberapa kriteria keputusan.[8]
� � = ∏ �
=
… … … . . … … … .
dimana :
� �
= nilai alternative terbaik.
�
= nilai atribut j pada criteria i
�
= bobot kriteria j
Flowchart dari Algoritma
Weighted Product Model ditunjukkan pada
gambar 2.2
.
Start
Data Kriteria Nilai UN
Rapor Psikotes
Nilai Bobot Kriteria
Hitung dengan Rumus WPM
Nilai WPM
End
12
Contoh pada
Weighted Sum Model
akan digunakan juga untuk menjelaskan rumus
Weighted Product Model
ini.
Tabel 2.2. Contoh nilai bobot kriteria
Jurusan
Pilihan
Nilai
UN
MM
IPA
IPS
IQ
Jurusan
Hasil
Psikotest
Bobot
0.05
0.15
0.1
0.3
0.15
0.1
0.15
Yuke
2
35.55
258
263
251
106
2
Ade
1
37.65
236
238
239
121
3
Rita
2
37.5
238
240
242
124
2
Perhitungan nilai WPM dilakukan dengan menggunakan rumus (2) diatas :
Nilai WPM yang di peroleh adalah :
WPM
Yuke= (2
0.05) * (35.55
0.15) * (258
0.1) * (263
0.3) * (251
0.15) *
(106
0.1) * (2
0.15) = 66.4449
WPM
Ade= (1
0.05) * (37.65
0.15) * (236
0.1) * (238
0.3) * (239
0.15) *
(121
0.1) * (3
0.15) = 66.5633
WPM
Rita= (2
0.05) * (37.5
0.15) * (238
0.1) * (240
0.3) * (242
0.15) *
(124
0.1) * (2
0.15) = 65.3049
Berdasarkan rumus, maka nilai WSM
Adeadalah yang terbaik.
2.4.
Android
13
Adapun sejak terbentuknya, Android merilis beberapa versi sistem operasi
Android yaitu:
1.
Android Beta
2.
Android 1.0 Astro
3.
Android 1.1 Bender
4.
Android 1.5 Cupcake
5.
Android 1.6 Donut
6.
Android 2.0/2.1 Éclair
7.
Android 2.2 Froyo (Froze Yoghurt)
8.
Android 2.3 Gingerbread
9.
Android 3.0/3.1 Honeycomb
10.
Android 4.0 ICS (Ice Cream Sandwdich)
11.
Android 4.1 Jelly Bean
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1.
Analisis sistem
Analisis sistem bertujuan untuk melakukan identifikasi persoalan-persoalan yang akan
muncul dalam pembuatan sistem, hal ini dilakukan agar pada saat proses perancangan
aplikasi tidak terjadi kesalahan yang berarti, sehingga sistem yang dirancang dapat
berjalan dengan baik, tepat guna dan ketahanan dari sistem tersebut akan lebih terjaga
serta selesai tepat pada waktu yang telah ditentukan.
Sistem ini akan melakukan perhitungan pemilihan jurusan kelas di SMA
Negeri 1 Tebing Tinggi. Sistem ini dirancang dengan menggunakan Metode
Weighted
Sum Model
dan
Weighted Product Model
dalam memilih jurusan kelas.
3.1.1.
Analisis masalah
Untuk mengidentifikasi masalah tersebut digunakan diagram Ishikawa
Gambar 3.1 Diagram Masalah Dalam Pemilihan Kelas
3.1.2.
Analisis kebutuhan sistem
Analisis Kebutuhan Sistem meliputi analisis kebutuhan fungsional sistem dan analisis
kebutuhan non-fungsional sistem.
3.1.2.1.
Kebutuhan fungsional sistem
Kebutuhan fungsional yang harus dimiliki oleh Sistem Pendukung Keputusan
Pemilihan Jurusan kelas di SMA N 1 Tebing Tinggi adalah :
1.
Sistem dapat menerima inputan data calon siswa.
2.
Sistem dapat mengetahui siapa yang layak untuk masuk kelas IPA dan IPS
berdasarkan metode
Weighted Sum Model
dan
Weighted Product Model.
3.
Sistem dapat menampilkan hasil perhitungan pemilihan jurusan kelas SMA
berdasarkan metode
Weighted Sum Model
dan
Weighted Product Model.
3.1.2.2.
Kebutuhan non-fungsional sistem
Untuk mendukung kinerja sistem, sistem sebaiknya dapat berfungsi sebagai berikut :
1.
Sistem dapat melakukan perhitungan pemilihan jurusan kelas SMA dengan
2.
Sistem harus mudah digunakan sehingga dapat dioperasikan dengan baik oleh
pengguna
3.1.3.
Pemodelan
Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang
objek apa saja yang akan berinteraksi dengan sistem, serta hal-hal apa saja yang harus
dilakukan oleh sebuah sistem sehingga sistem dapat berfungsi dengan baik sesuai
dengan kegunaannya.
Pada penelitian ini digunakan
UML
(
Unified Modeling Language
) sebagai
bahasa pemodelan untuk mendesain dan merancang Sistem Pendukung Keputusan
Pemilihan jurusan Kelas SMA N 1 Tebing Tinggi. Model UML yang digunakan
antara lain
use case diagram, activity diagram,
dan
sequence diagram.
3.1.3.1.
Use case diagram
Use Case Diagram
adalah sebuah diagram yang dapat merepresentasikan interaksi
yang terjadi antara user dengan sistem.
Use Case Diagram
akan menjelaskan fungsi
apa saja yang dikerjakan oleh sistem.
Pada proses Perhitungan dengan WSM, dapat dinyatakan dalam Tabel 3.1
dibawah ini.
Tabel 3.1. Tabel
Use Case
Proses Perhitungan dengan WSM
Name
Proses Perhitungan dengan WSM
Actors
User
Description
Use Case
ini mendeskripsikan proses perhitungan dalam
pemilihan jurusan kelas dengan menggunakan metode WSM
Basic Flow
User memilih metode perhitungan dengan WSM
Alternate Flow
User dapat kembali ke tampilan awal dan memilih metode
perhitungan lainnya
Pre Condition
User dapat kembali ke tampilan awal
Post Condition
User mengetahui nilai WSM dari seluruh alternatif
Pada proses Perhitungan dengan WPM, dapat dinyatakan dalam Tabel 3.2
dibawah ini.
Tabel 3.2. Tabel
Use Case
Proses Perhitungan dengan WPM
Name
Proses Perhitungan dengan WPM
Actors
User yang telah ditentukan
Description
Use Case
ini mendeskripsikan proses perhitungan dalam
pemilihan jurusan kelas dengan menggunakan metode WPM
Basic Flow
User memilih metode perhitungan dengan WPM
Alternate Flow
User dapat kembali ke tampilan awal dan memilih metode
perhitungan lainnya
Pre Condition
User dapat kembali ke tampilan awal
Post Condition
User mengetahui nilai WPM dari seluruh alternatif
3.1.3.2.
Activity diagram
Pengguna
Sistem
Memilih perhitungan dengan WSM
Menampilkan data yang telah dimasukkan
Memilih data yang ingin dihitung dengan menekan lihat
Menampikan detail dari data yang dipilih dan hasil perhitungan
dengan WSM
Melakukan perhitungan lagi?
Menekan tombol kembali
ya tidak
Gambar 3.3
Activity Diagram
untuk Proses Perhitungan dengan metode WSM
Pada perhitungan dengan metode WSM, sistem akan menampilkan data nilai
kriteria dari seluruh alternatif yang ada. Hasil perhitungan akan di tampilkan oleh
sistem. Pengguna dapat melakukan perhitungan berulang kali.
Pengguna
Sistem
Memilih perhitungan dengan
WPM Menampilkan data yang telah dimasukkan
Memilih data yang ingin dihitung dengan menekan lihat
Menampikan detail dari data yang dipilih dan hasil perhitungan
dengan WPM
Melakukan perhitungan lagi?
Menekan tombol kembali
ya tidak
Gambar 3.4
Activity Diagram
untuk Proses Perhitungan dengan metode WPM
3.1.3.3.
Analisis proses sistem
Berikut ini akan dijelaskan mengenai proses memasukkan data dan proses perhitungan
yang terjadi pada Sistem Pendukung Keputusan Pemilihan Jurusan Kelas SMA
dengan menggunakan
Sequence diagram
.
Pada proses Perhitungan Pemilihan Jurusan Kelas SMA, sistem dapat
melakukan perhitungan dengan metode
Weighted Sum Model
dan
Weighted Product
Model
.
Sequence diagram
untuk proses perhitungan dengan metode
Weighted Sum
Model
diperlihatkan pada Gambar 3.5.
Input Database WSM
Input Data
Menampilkan Form Input Data
Lihat Data
Menampilkan Listview
Data yang Telah Diinput Melakukan Perhitungan
Menampilkan Data Hasil Perhitungan User
Gambar 3.5
Sequence Diagram
untuk Proses Perhitungan dengan Metode
Weighted
Sum Model
memilih data yang ingin dilakukan perhitungan dan sistem akan menampilkan data
hasil perhitungan dengan metode WSM.
Pada proses Perhitungan Pemilihan Jurusan Kelas SMA dengan metode
Weighted Product Model
,
Sequence Diagram
diperlihatkan pada Gambar 3.6 berikut.
Input Database WPM
Input Data
Menampilkan Form Input Data
Lihat Data
Menampilkan Listview
Data yang Telah Diinput Melakukan Perhitungan
Menampilkan Data Hasil Perhitungan User
Gambar 3.6
Sequence Diagram
untuk Proses Perhitungan dengan Metode
Weighted
Product Model
3.1.3.4.
Flowchart sistem
Flowchart
Sistem Pendukung Keputusan Pemilihan Jurusan Kelas SMA N 1 Tebing
Tinggi ditunjukkan pada gambar 3.7.
Start
Data Siswa
Kriteria Penilaian
Hitung dengan WSM?
Hitung dengan Rumus WSM
Htung dengan Rumus WPM
Nilai WSM Nilai WPM
End
No
Yes
3.2.
Perancangan sistem
Proses perancangan antarmuka
(interface)
sebuah sistem adalah proses yang cukup
penting dalam perancangan sebuah sistem. Merancang antarmuka merupakan bagian
yang paling penting dari merancang sebuah sistem. Sebuah antarmuka harus
dirancang dengan memperhatikan faktor pengguna sehingga sistem yang dibangun
dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh pengguna.
3.2.1.
Antarmuka menu utama
Antarmuka Menu Utama adalah tampilan yang muncul pertama kali aplikasi
dijalankan. Pada tampilan ini disajikan form yang akan di pilih untuk memulai
aplikasi.
Gambar 3.8 Antarmuka Perancangan Sistem Menu Utama
Keterangan :
1.
Button
Tambah Data
Berupa tombol yang berfungsi untung menambahkan data yang baru kedalam
sistem
2.
Button Weighted Sum Model
3.
Button Weighted Product Model
Berupa tombol yang berfungsi untuk menghitung dengan menggunkan metode
WPM.
3.
Button
Bantuan
Berupa tombol yang berfungsi mengarahkan pengguna ke form petunjuk
penggunaan aplikasi.
4.
Button
Tentang
Berupa tombol yang berfungsi menampilkan identitas perancang sistem.
3.2.2.
Antarmuka Weighted Sum Model
Pada Tampilan
Weighted Sum Model
, akan ditampilkan
Text Field
yang berisi
data-data siswa yang akan dihitung nilai WSM masing-masing data-data. Pada
form
ini juga
terdapat tombol Rangking untuk melihat urutan Rangking dari data yang telah
mengalami perhitungan.
Gambar 3.9 Antarmuka Perancangan Perhitungan dengan Metode WSM
Keterangan :
1.
Button
Kembali
2.
Button
Rangking
Berfungsi mengarahkan pengguna ke form perangkingan
3.
List View
Berfungsi menampilkan data yang telah tersimpan di database.
3.2.3.
Antarmuka Weighted Product Model
Pada Tampilan
Weighted Sum Model
, akan ditampilkan
List View
yang berisi
data-data siswa yang akan dihitung nilai WPM masing-masing data-data. Pada
form
ini juga
terdapat tombol Rangking untuk melihat urutan Rangking dari data yang telah
mengalami perhitungan.
Gambar 3.10 Antarmuka Perancangan Perhitungan dengan Metode WPM
Keterangan :
1.
Button
Kembali
Berfungsi untuk kembali ke menu utama.
2.
Button
Rangking
3.
List View
Berfungsi menampilkan data yang telah tersimpan di database.
3.2.4
Antarmuka hitung
Pada Tampilan List Data, akan ditampilkan list data calon yang telah disimpan di
database
.
Gambar 3.11 Antarmuka Perancangan Hitung
Keterangan :
1.
Button
Lihat
Berupa tombol yang berfungsi untuk melihat detail dari satu data
2.
Button
Ubah
Berfungsi untuk mengubah data yang telah tersimpan di database
3.
Button
Hapus
Berfungsi untuk menghapus data tersebut
3.2.5
Antarmuka hasil
Gambar 3.12 Antarmuka Perancangan Hasil
Keterangan:
1.
Text View
Nama
Berfungsi untuk menampilkan nama dari data yang dipilih
2.
Text View
Pilihan Jurusan
Berfungsi untuk menampilkan pilihan jurusan dari data yang dipilih
3.
Text View
UN
Berfungsi untuk menampilkan nilai UN dari data yang dipilih
4.
Text View
MM
Berfungsi untuk menampilkan nilai MM dari data yang dipilih
5.
Text View
IPA
Berfungsi untuk menampilkan nilai IPA dari data yang dipilih
6.
Text View
IPS
Berfungsi untuk menampilkan nilai IPS dari data yang dipilih
7.
Text View
IQ
Berfungsi untuk menampilkan nilai IQ dari data yang dipilih
8.
Text View
Jurusan
Berfungsi untuk menampilkan jurusan hasil psikotes dari data yang di pilih
9.
Text View
Hasil
10.
Text View
Saran Jurusan
Berfungsi untuk menampilkan jurusan yang disarankan oleh sistem dari data yang
dipilih
11.
Button
Kembali
Berfungsi untuk kembali ke menu lihat data
3.2.6
Antarmuka tambah data
Pada Tampilan tambah data, akan ditampilkan
Text Field
dan pengguna memasukkan
identitas calon security sesuai dengan
Text Field
masing masing. Selanjutnya
pengguna mengakses tombol simpan untuk menyimpan data yang telah di perbaharui
yang hasilnya akan ditampilkan pada
list database
.
Gambar 3.13 Antarmuka Perancangan Tambah Data
Keterangan :
1.
Text Field
Nama
Berfungsi untuk memasukkan nama calon security.
2.
Spinner
Pilihan Jurusan
Berfungsi untuk memilih pilihan jurusan dari siswa
3.
Text Field
UN
Berfungsi untuk memasukkan nilai UN dari siswa.
4.
Text Field
MM
Berfungsi untuk memasukkan nilai MM dari siswa.
5.
Text Field
IPA
Berfungsi untuk memasukkan nilai IPA dari siswa.
6.
Text Field
IPS
Berfungsi untuk memasukkan nilai IPS dari siswa.
7.
Text Fied
IQ
Berfungsi untuk memasukkan nilai IQ dari siswa.
8.
Spinner
Jurusan
Berfungsi untuk memilih jurusan hasil psikoter
9.
Button
Simpan
Berfungsi untuk menyimpan data kedalam database.
10.
Button
Kembali
Berfungsi untuk kembali ke menu utama.
3.2.7
Antarmuka ubah data
Pada Tampilan ubah data, akan ditampilkan
Text Field
untuk mengubah data yang
telah dimasukkan ke dalam
database
. Selanjutnya pengguna mengakses tombol
simpan untuk menyimpan data yang telah di perbaharui yang hasilnya akan
ditampilkan pada
list database
.
Gambar 3.14 Antarmuka Perancangan Ubah Data
Keterangan :
1.
Text Field
Nama
Berfungsi untuk memasukkan nama siswa.
2.
Spinner
Pilihan Jurusan
Berfungsi untuk memasukkan npilihan jurusan dari siswa
3.
Text Field
UN
Berfungsi untuk memasukkan nilai UN dari siswa.
4.
Text Field
MM
Berfungsi untuk memasukkan nilai MM dari siswa.
5.
Text Field
Tes IPA
6.
Text Field
IPS
Berfungsi untuk memasukkan nilai IPS dari siswa.
7.
Text Field
IQ
Berfungsi untuk memasukkan nilai IQ dari siswa.
8.
Spinner
Jurusan
Berfungsi untuk memilih jurusan hasil psikotest.
9.
Button
Simpan
Berfungsi untuk menyimpan data kedalam database.
10.
Button
Kembali
Berfungsi untuk kembali ke list data.
3.2.8
Antarmuka perangkingan Weighted Sum Model
Pada Tampilan perangkingan
Weighted Sum Model
, akan ditampilkan
Text Field
yang
berisi data-data siswa yang telah dilakukan perhitungan dan diurutkan sesuai
rangkingnya.
Gambar 3.15 Antarmuka Perancangan Perangkingan dengan Metode WSM
32
Keterangan :
1.
Button
Kembali
Berfungsi untuk kembali ke menu utama.
2.
List View
Berfungsi menampilkan data yang telah tersimpan di
database
.
3.2.9
Antarmuka perangkingan Weighted Product Model
Pada Tampilan perangkingan
Weighted Product Model
, akan ditampilkan
Text Field
yang berisi data-data siswa yang telah dilakukan perhitungan dan diurut kan sesuai
rangkingnya.
Gambar 3.16 Antarmuka Perancangan Perangkingan dengan Metode WPM
Keterangan :
1.
Button
Kembali
Berfungsi untuk kembali ke menu utama.
2.
List View
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1
Implementasi sistem
Implementasi Sistem merupakan tahapan yang harus dilalui dalam proses
pengembangan perangkat lunak dari suatu sistem. Tahap ini dilakukan setelah terlebih
dahulu melalui tahap Analisis dan Perancangan Sistem yang telah diuraikan pada bab
sebelumnya.
4.1.1
Implementasi metode Weighted Sum Model
Penerapan Metode
Weighted Sum Model
dalam sistem yang dibuat adalah pada proses
perhitungan dengan metode
Weighted Sum Model
dalam pemilihan jurusan kelas di
SMA Negeri 1 Tebing Tinggi. Seluruh siswa yang mendaftar ke SMA Negeri 1
Tebing Tinggi harus memenuhi syarat dan kriteria yang telah di tetapkan. Seluruh
kriteria tersebut dimasukkan kedalam sistem dan digunakan untuk menentukan
jurusan kelas yang sesuai dengan masing-masing siswa.
Adapun langkah yang dilakukan untuk memperoleh nilai WSM dari setiap data adalah
dengan melakukan perkalian antara bobot kriteria dengan nilai kriteria. Kemudian
hasil perkalian tersebut dijumlahkan dengan hasil perkalian setiap kriteria.
4.1.2
Implementasi Weighted Product Model
di SMA Negeri 1 Tebing Tinggi. Seluruh siswa yang mendaftar ke SMA Negeri 1
Tebing Tinggi harus memenuhi syarat dan kriteria yang telah di tetapkan. Seluruh
kriteria tersebut dimasukkan kedalam sistem dan digunakan untuk menentukan
jurusan kelas yang sesuai dengan masing-masing siswa.
Adapun langkah yang dilakukan untuk memperoleh nilai WPM dari setiap data adalah
dengan melakukan pemangkatan antar bobot kriteria dengan nilai kriteria. Kemudian
hasil pemangkatan tersebut di kalikan dengan hasil pemangkatan setiap kriteria
lainnya.
4.2
Antarmuka sistem
Pada Sistem Pendukung Keputusan Pemilihan Jurusan Kelas SMA Negeri 1 Tebing
Tinggi ini terdapat delapan tampilan, yaitu :
1.
Menu Utama
2.
Perhitungan dengan WSM
3.
Perhitungan dengan WPM
4.
Hitung
5.
Hasil
6.
Tambah Data
7.
Ubah Data
8.
Perangkingan dengan WSM
9.
Perangkingan dengan WPM
4.2.1
Menu utama
Gambar 4.1 Menu Utama
4.2.2
Menu perhitungan dengan WSM
Pada Menu Perhitungan dengan WSM akan disajikan proses perhitungan dengan
menggunakan metode
Weighted Sum Model
. Pada tampilan ini terdapat dua buah
tombol, yaitu tombol kembali yang berfungsi untuk kembali ke menu utama, tombol
rangking yang berfungsi untuk melihat hasil perangkingan berdasarkan perhitungan
dengan WSM. Pada tampilan ini terdapat sebuah
Listview
yang berfungsi untuk
menampilkan data yang terdapat dalam
database
.
[image:31.595.261.375.502.703.2]4.2.3
Menu perhitungan dengan WPM
[image:32.595.262.371.260.461.2]Pada Menu Perhitungan dengan WPM akan disajikan proses perhitungan dengan
menggunakan metode
Weighted Product Model
. Pada tampilan ini terdapat dua buah
tombol, yaitu tombol kembali yang berfungsi untuk kembali ke menu utama, tombol
rangking yang berfungsi untuk melihat hasil perangkingan berdasarkan perhitungan
dengan WPM. Pada tampilan ini terdapat sebuah
Listview
yang berfungsi untuk
menampilkan data yang terdapat dalam
database
.
Gambar 4.3 Menu Perhitungan dengan WPM
4.2.4
Menu hitung
Gambar 4.4 Menu Hitung
4.2.5
Menu hasil
Pada menu hasil, terdapat satu tombol yaitu kembali yang berfungsi untuk kembali ke
menu perhitungan dan dua puluh
TextView
yang berfungsi untuk menampilkan data
yang terdapat di
database
.
Gambar 4.5 Menu Hasil
4.2.6
Menu tambah data
[image:33.595.259.374.419.621.2]untuk kembali ke menu utama. Pada menu ini juga terdapat enam
Text Field
serta dua
buah
Spinner
yang berfungsi untuk memasukkan data yang ingin ditambahkan.
Gambar 4.6 Menu Tambah Data
4.2.7
Menu ubah data
Pada Menu ubah data, terdapat dua tombol yaitu, tombol simpan yang berfungsi untuk
menyimpan data yang telah diubah dan tombol kembali yang berfungsi untuk kembali
ke menu perhitungan. Pada menu ini juga terdapat enam
Text Field serta dua buah
Spinner
yang berfungsi untuk memasukkan data yang ingin diubah.
[image:34.595.261.374.548.751.2]4.2.8
Menu perangkingan
[image:35.595.261.374.220.422.2]Pada Menu Perangkingan dengan WSM, terdapat sebuah tombol, yaitu tombol
Gambar 4.8 Menu Perangkingan dengan WSM
4.2.9
Menu perangkingan dengan WPM
, terdapat sebuah tombol, yaitu tombol
dengan WSM
kembali yang berfungsi untuk kembali ke menu perhitungan dengan WSM. Pada
tampilan ini terdapat juga sebuah
Listview
.
Listview
berfungsi untuk menampilkan
data yang terdapat dalam
database
.
Pada Menu Perangkingan dengan WPM
Gambar 4.9 Menu Perangkingan dengan WPM
4.3
Pengujian sistem
Pengujian sistem dilakukan untuk mengetahui bagaimana kinerja sistem dalam
melakukan proses perhitungan pemilihan jurusan kelas menggunakan Metode
Weighted Sum Model
dan
Weighted Product Model
. Hasil yang diberikan oleh kedua
metode nantinya akan dibandingkan dengan data yang dimiliki oleh SMA Negeri 1
Tebing Tinggi. Bobot dari kriteria yang ditetapkan dapat dilihat pada table 4.1.
Table 4.1 Tabel Bobot Kriteria
Kriteria Bobot
(%)
Pilihan Jurusan
5
Nilai UN SMP
15
Nilai Matematika SMP
10
Nilai IPA SMP
30
Nilai IPS SMP
15
Nilai IQ
10
[image:36.595.199.435.491.714.2]Pembobotan ini memiliki peranan tersendiri, dimana bobot dari setiap criteria dapat
menunjukan tingkat prioritas dalam penilaian. Sehingga dapat ditentukan criteria
mana yang memiliki prioritas yang paling diperlukan dalam pemilihan jurusan kelas.
4.3.1
Pengujian perhitungan pemilihan jurusan kelas
Berdasarkan hasil perhitungan dengan metode
Weighted Sum Model
terdapat
218 alternatif yang memiliki nilai paling tinggi dan lulus pada jurusan IPA dan 27
alternatif lulus pada jurusan IPS. Sedangkan hasil perhitungan dengan metode
Weighted Product Model
terdapat 176 alternatif yang memiliki nilai paling tinggi dan
lulus pada jurusan IPA dan 69 alternatif lulus pada jurusan IPS.
4.3.2
Perbandingan hasil pengujian perhitungan dengan metode Weighted Sum
Model dan Weighted Product Model
[image:37.595.125.511.521.768.2]Setelah dua kali proses pengujian yang dilakukan oleh sistem terhadap data, hasil
pengujian dapat dinyatakan dalam Tabel 4.2 berikut
Tabel 4.2 Tabel Perbandingan Hasil Pengujian Sistem dengan Data SMA N 1 Tebing
Tinggi
No Nama
Penjurusan Kelas Data SMA N 1
Tebing Tinggi
Hasil WSM
Hasil WPM
1 Abdah Hanifah IPA IPA IPA
2 Abdul Wahid Nst IPS IPS IPS
3 Abdur Rahman Yasin Purba IPA IPA IPS
4 Ade Ardiansyah Putra IPS IPA IPA
5 Adinda Hafani IPS IPA IPS
6 Aditia Rahman L IPA IPS IPS
7 Agla Galea Tangan IPA IPA IPA
8 Agung Dwi Harisandi IPA IPA IPA
9 Ahmad Affandi IPA IPA IPA
10 Ahmad Rizal Saragih IPS IPA IPA
11 Ahmad Ruzi Harahap IPS IPA IPS
12 Aknes Paulina Payung IPA IPA IPA
14 Alfira Utami Isnaini IPS IPA IPS
15 Ali Arfan Siregar IPA IPA IPA
16 Amalia Chyndiandari IPA IPA IPA
17 Anasthasia Lasmana Tambunan IPA IPA IPA
18 Andreas Flo Siregar IPA IPS IPA
19 Andrew Anggi Artha Sitompul IPA IPA IPA
20 Angelita IPS IPA IPS
21 Anggi Adrian Hutapea IPA IPA IPA
22 Anggi Monalisa Silalahi IPS IPS IPS
23 Anisa Jamratul Ulah IPA IPA IPA
24 Annisa Larasati IPS IPA IPS
25 Ariq Athallah Ridwan IPA IPA IPA
26 Ariq Farhan Maulana IPA IPA IPA
27 Arlike Br Simbolon IPS IPA IPS
28 Arnesa Julia Damanik IPA IPA IPA
29 Arya Kamandanu IPA IPS IPS
30 Aulia Zahira IPA IPA IPA
31 Ayang Sari IPS IPA IPA
32 Ayufie Clarisa Artanti IPS IPA IPA
33 Bima Eggy Ardianto IPS IPA IPA
34 Carmelya Jelita Zebua IPA IPA IPA
35 Chantika Jojor Sihol Marito Sitorus IPS IPS IPA
36 Chris Alesia Situmorang IPA IPA IPS
37 Christin Yuli Manuelly Gultom IPS IPA IPS
38 Cristin Yuli IPS IPA IPS
39 Dandyta Dwi Lirianto Chan IPA IPA IPA
40 Daniel alex Fatwal Nababan IPA IPA IPA
41 Daniel Purba IPA IPA IPA
42 Deby Utami IPA IPA IPA
43 Della Noviyanti IPA IPA IPS
44 Dian Puspita Rini IPS IPA IPS
45 Diana Lusiria Nainggolan IPS IPA IPS
46 Dimas Abimanyu Hartono IPA IPA IPA
47 Dina Ulanda IPA IPA IPS
48 Dinda Nabila IPA IPA IPS
49 Dinda Silvya Nasution IPA IPA IPA
50 Diwa Permata IPA IPA IPS
51 Dwi Fadila Sakila IPA IPA IPA
52 Eastvani chintia Sihombing IPS IPA IPA
53 Edo Jeremy Thomas Malau IPA IPA IPS
54 Egiayu Artiwi Natalia IPA IPA IPA
55 Eka Septivani Irawan IPA IPA IPA
56 Elisa Shabrina IPA IPA IPA
58 Engly Shinta Panjaitan IPA IPA IPA
59 Exaudy Yesophine Christian IPA IPA IPS
60 Ezra Stivani Simanjuntak IPA IPA IPS
61 Fachmi Khairurozika Lubis IPA IPA IPS
62 Fadillah Ibni Yasrina IPS IPA IPA
63 Fahmi Reza Hasyim IPA IPA IPA
64 Faisal Surya Akbar Siregar IPA IPA IPA
65 Falki Mahya Purba IPA IPA IPA
66 Fanni Fransia IPA IPS IPS
67 Fanny Tri Wardany IPA IPA IPS
68 Farida Yasmin Tarigan IPA IPA IPA
69 Febri Abzar Basri Hia IPS IPA IPA
70 Febri Yanti Tampubolon IPS IPA IPA
71 Femmy Anggilia Saputri lubis IPA IPA IPA
72 Feni IPS IPA IPS
73 Ferdinawati Laseh IPA IPA IPA
74 Finda Dermawanti Sinaga IPA IPA IPA
75 Findy Ayu Nurmila IPA IPA IPS
76 Fira Fathia Kurniawan IPS IPA IPA
77 Fira Ummy Fadilla IPS IPA IPA
78 Fitri Yanti Pulungan IPS IPA IPA
79 Gabrie Chandra Purba IPA IPA IPA
80 Gabriel Jonathan Panggabean IPA IPA IPA
81 Galih Dwi Sinta IPA IPA IPA
82
Gamaliel rizky Partologi
Tampubolon IPA IPA IPA
83 Gelora Fikri Sinaga IPA IPA IPA
84 Helen Sinta Marito IPA IPA IPA
85 Hengki Kadirman Silaen IPA IPA IPA
86 Herri Setiawan IPS IPA IPA
87 Hilman Hafiz IPS IPA IPA
88 Ika Mawarti Manik IPA IPA IPS
89 Ilvia Adriana Nst IPS IPA IPS
90 Indah Agustina IPA IPA IPA
91 Indah Putri Lubis IPA IPA IPA
92 Indah Yani IPS IPS IPA
93 Indra Bagus Angkoso IPA IPA IPA
94 Indri Dwi Syla andini IPS IPS IPS
95 Intan Queen Lestari IPA IPA IPA
96 Intan Syahriani IPA IPA IPA
97 Izzati Fadhillah IPA IPA IPA
98 Janico Desmile IPA IPA IPA
99 Jeane D art Rachel Debora Silalahi IPS IPA IPA
101 Jeremi Valeri Silitonga IPA IPA IPA
102 Jhofandi rRicky IPA IPA IPA
103 Jihan Amirah IPS IPS IPA
104 Jonasmer Simatupang IPS IPA IPS
105 Joshua Rizky Extrada IPA IPA IPA
106 Joshua Sinaga IPA IPA IPA
107 Josua Sinaga IPS IPS IPA
108 Junita Hertati IPS IPS IPS
109 Kartika Pakpahan IPS IPS IPA
110 Kevin Martauli Br Pasaribu IPS IPA IPS
111 Khairun Nazmi Saragih IPS IPA IPA
112 Khairunisa IPS IPA IPA
113 Khairunnisa IPS IPA IPA
114 Lailan Shafina Dmk IPS IPA IPA
115 Leo Andy Molya IPS IPA IPS
116 Leony Metanencya Butarbutar IPA IPA IPS
117 Lewi Kuasa Hutabarat IPA IPA IPA
118 Lia Widya Lestari IPA IPA IPA
119 Linda Elsa Wendi Silitonga IPA IPA IPA
120 Liska Putri Silalahi IPS IPA IPS
121 Lukman Gani IPA IPA IPA
122 M Yusril Azhar IPA IPA IPA
123 M. Azizan Faturrahman IPA IPA IPA
124 M. Fachri Hibatullah IPS IPA IPA
125 M. Fikri Roisandi IPA IPA IPA
126 M. Hady Nugroho IPA IPA IPA
127 M. Harispan Saragih IPS IPA IPA
128 M. Haykal Habinsaran IPA IPA IPA
129 M. Husni Sinulingga IPA IPA IPA
130 M. Ilham Zulfitra IPA IPA IPA
131 M. Iqbal Utama Purba IPA IPA IPA
132 M. Ismanullah Perdana IPS IPS IPS
133 M. Nikmat Hadi Hasibuan IPA IPA IPA
134 M. Rizki Anggara Nasution IPA IPA IPA
135 M. Rizki Fatihah IPA IPA IPA
136 M. Wahyu Gumilang IPS IPA IPS
137 Mantovany Widodo IPS IPS IPA
138 Maria Inggrid IPS IPA IPA
139 Maria Veronika Br Marpaung IPS IPS IPA
140 Martha Soraya IPS IPA IPS
141 Martin Afrizal Harianja IPA IPA IPA
142 Maryam Alhusna IPS IPA IPA
143 Meilinda Indah Sari Purba IPS IPA IPA
145 Meysa Haryani Saragih IPA IPA IPS
146 Mia Advenia Panjaitan IPA IPA IPA
147 Mikael Johansen Panggabean IPA IPA IPA
148 Mindana Aritonang IPS IPA IPS
149 Miranda Siska Lubis IPA IPA IPA
150 Monalisa Sinaga IPS IPA IPA
151 Monica Sianturi IPS IPA IPS
152 Muammar Al Wafi IPS IPA IPA
153 Muhammad Ilham Sadikin IPA IPA IPA
154 Murita Simbolon IPS IPA IPS
155 Mutia Hasri IPA IPA IPA
156 Mutia Nurul Asri IPA IPA IPS
157 Nabila Ramadhani IPS IPA IPA
158 Nabillah Ramadhani IPS IPA IPA
159 Nadira Nurul Anisa IPA IPA IPA
160 Nasirah Almi Siregar IPA IPA IPA
161 Nikmah Anisa IPA IPA IPA
162 Niko Lumban Tobing IPS IPA IPA
163 Nona Aulia IPS IPA IPA
164 Noni Utari IPS IPA IPA
165 Novia Wanda Sari Purba IPA IPA IPA
166 Nur Ariska Ayu Saragih IPA IPA IPA
167 Nuraini Pita anggraini IPA IPA IPS
168 Nurhalizah Buaya IPS IPA IPA
169 Nurmaida Claudia Purba IPA IPA IPS
170 Nurul Azmi IPA IPA IPA
171 Nurul Sari Ichsani IPA IPA IPS
172 Ohanpratama Hebrewnixon Sitorus IPA IPA IPA
173 Pesta Lia Megawati sinaga IPS IPA IPA
174 Pitauli Simanjuntak IPA IPA IPA
175 Popy Naomi Agustina Purba IPA IPA IPA
176 Puan Maharani IPA IPA IPA
177 Putri Millenia IPA IPA IPA
178 Rania IPA IPA IPS
179 Raudatus Sakinah IPS IPS IPA
180 Rebby Febiola IPA IPA IPA
181 Redyta Rety Tri Riskita Pelawi IPA IPA IPA
182 Risa Humairoh IPA IPA IPA
183 Rita IPA IPA IPA
184 Rizka Julianti IPS IPS IPS
185 Rizky Eggy Chandra IPA IPA IPA
186 Robin Panduarta Simatupang IPA IPA IPA
187 Rony Pesta Sihombing IPS IPS IPA
189 Ryan Alfriyandi Siregar IPA IPA IPA
190 Sabda Agung Tarigan IPS IPA IPS
191 Sakinah Salsabila IPA IPA IPA
192 Salsabila Atikah Putri IPA IPA IPS
193 Sarah Julianti Tobing IPS IPA IPS
194 Saras Maulinita IPS IPA IPA
195 Sarnikolas Sinaga IPA IPA IPA
196 Selsa Meylistira Harahap IPA IPA IPA
197 Septi Riska Aulia IPA IPA IPA
198 Septy Edita IPS IPA IPS
199 Shela Fadilla Nur Nasution IPS IPA IPS
200 Shimon Christian Sipangkar IPA IPS IPA
201 Shinji Aulia Kimura IPA IPA IPA
202 Silvya Tio Widiana Samosir IPA IPA IPA
203 Sisilia Desi IPS IPA IPA
204 Siswi Drana Prasti Ningrum IPS IPA IPS
205 Siti Masita IPA IPA IPA
206 Soni IPA IPA IPA
207 Sri Fadillah Saragih IPA IPA IPA
208 Sri Mulyani Saragih IPA IPA IPA
209 Sulistiyo Yonatan IPS IPA IPA
210 Sunita Indira IPA IPA IPA
211 Surya Zikri Saum IPA IPA IPA
212 Syahbrina Anisa Yusuf Panjaitan IPA IPA IPA
213 Sylvya Gara Dhita IPA IPA IPA
214 T. Arrafi Syahmi IPS IPA IPA
215 Tamara Claudia Siahaan IPA IPA IPA
216 Tamia Rindi Antika IPA IPA IPA
217 Tasya Dear Ananda IPA IPA IPA
218 Tiolopan Br Simanjuntak IPA IPA IPA
219 Tobi Mahrendra Purba IPA IPA IPA
220 Togi Aldonius Simarmata IPS IPS IPS
221 Tri Adrian Surya IPS IPS IPA
222 Tri Repsi Krisma IPA IPA IPA
223 Tri Zahara IPA IPA IPS
224 Tyta Rizky Anugrah Lubis IPA IPA IPS
225 Ucok Daniel Sinaga IPA IPA IPA
226 Utami Pranesti IPA IPA IPA
227 Vera Anyda IPA IPA IPA
228 Vivi Oktaviana Lubis IPA IPA IPA
229 Wahyu Fatwa Dinata IPA IPA IPA
230 Wanni Afsari Saragih IPS IPA IPA
231 Windy Virgiandini IPA IPA IPA
47
233 Wira Dharma Wicaksana IPA IPS IPS
234 Yessica Arista Manalu IPA IPA IPA
235 Yohana Novalina Siregar IPA IPA IPA
236 Yohana Rizki Elfrida IPS IPA IPS
237 Yohannes Christian Leo S IPS IPA IPS
238 Yolanda Florence Sitorus IPA IPA IPA
239 Yolanda Frisca Oktaviani Sijabat IPA IPA IPA
240 Yosefine anggraini Pardosi IPS IPS IPS
241 Yuke Alvitasari IPA IPA IPA
242 Yuliasih Wiliranti IPA IPA IPA
243 Zulfa Hidayah Iskandar IPA IPA IPA
244 Zulpianda Nublah IPA IPA IPA
245 Zuya Sherina Lubis IPA IPA IPA
BAB 5
KESIMPULAN DAN SARAN
5.1.
Kesimpulan
Berdasarkan hasil dari implementasi dan pengujian Sistem Pendukung Keputusan
Pemilihan Jurusan Kelas SMA Negeri 1 Tebing Tinggi Menggunakan Metode
Weighted Sum Model
dan
Weighted Product Model
, maka dapat disimpulkan bahwa :
1.
Sistem dapat menyelesaikan permasalahan pemilihan jurusan kelas SMA dengan
mengimplementasikan Metode
Weighted Sum Model
dan
Weighted Product Model
pada sistem.
2.
Setelah dilakukan pengujian dengan data dua dari SMA Negeri 1 Tebing Tinggi,
hasil perhitungan dengan metode
Weighted Sum Model
menunjukkan kecocokan
yang lebih tinggi dari pada metode
Weighted Product Model
. Sehingga dalam
kasus pemilihan jurusan kelas dengan data yang dimiliki, dapat disimpulkan
bahwa metode
Weighted Sum Model
lebih baik daripada metode
Weighted Product
Model.
3.
Dengan menggunakan sistem ini pengguna dapat lebih efektif dan efisien dalam
menentukan jurusan kelas dari siswa dan juga perangkingan siswa.
49
5.2.
Saran
Adapun saran yang dapat diberikan untuk mengembangkan penelitian ini adalah
sebagai berikut
1.
Kriteria yang ditentukan dalam proses pemilihan dapat ditambahkan untuk
meningkatkan kualitas dari siswa.
2.
Penambahan data dapat dilakukan melalui data yang berasal dari Microsoft Excel
(.xls)
DAFTAR PUSTAKA
[1]
Eniyati, S. 2010.
Perancangan Sistem Pendukung Keputusan untuk
Penerimaan Beasiswa dengan Metode SAW (Simple Additive
Weighting).
DINAMIK. 16,(2), 171-176.
[2]
Falah, M.F. 2014
.Sistem Pendukung Keputusan Pemilihan Siswa
Berprestasi dengan Metode Simple Addative Weighting & Weighted
Sum Model( Studi kasus : MIN Tanjung Sari Medan Selayang )
.
Skripsi. Medan : Sumatera Utara.
[3]
H Safaat, Nazruddin. 2012.
Pemrograman Aplikasi Mobile Smartphone
dan Tablet PC Berbasis Android
. Bandung: Informatika.
[4]
Prayoko, M. Riki. 2013. Sistem Pendukung Keputusan Penentuan Jurusan
Pada Sekolah Menengah Atas SMA Setia Budi Abadi Perbaungan
Dengan Menggunakan Metode Simple Additive Weighting (SAW).
Skripsi, Medan : Sumatera Utara.
[5]
Power. J, Daniel . 2009.
Decision Support Basics
. New York : Bussines
Expert Press.
[6]
Ramon San Cristobal Mateo, Jose. 2012.
Multi-Criteria Analysis in the
Renewable Energy Industry.
London : Springer.
51
[8]
Savitha, K. dan Chandrasekar, C. (2011). Vertical Handover decision
schemes using SAW and WPM for Network selection in
Heterogeneous Wireles Netwoks. Double Blind Peer Reviewed
International Research Journal. Vol 11 (9) : 19-24.
[9]
Syaukani, M. & Kusnanto, H. 2012.
Pemodelan Sistem Pendukung
Keputusan Kelompok dengam Metode Fuzzy Weighted Product untuk
Diagnosis Penyakit Pneumonia
. Jurnal Teknologi. 5,(1),17-23
[10]
Wedhasmara, A. & Wibowo, J.A. 2010.
Sistem Pendukung Keputusan
Pemilihan Pembelian Kendaraan Bermotor Dengan Metode SAW.
JSI.
2,(2), 246-257.
LAMPIRAN A
LISTING PROGRAM
// Source Code Menuawal.java
package com.pemilihanjurusan;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Menuawal extends Activity implements OnClickListener {
private Button bWsm;
private Button bWpm;
private Button bTentang;
private Button bTambah;
private Button bBantuan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menuawal);
bTambah = (Button) findViewById(R.id.button1);
bTambah.setOnClickListener(this);
bWsm = (Button) findViewById(R.id.button2);
bWsm.setOnClickListener(this);
bWpm = (Button) findViewById(R.id.button3);
bWpm.setOnClickListener(this);
bBantuan = (Button) findViewById(R.id.button4);
bBantuan.setOnClickListener(this);
bTentang = (Button) findViewById(R.id.button5);
bTentang.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.button1 :
Intent i = new Intent(this, Tambah.class);
startActivity(i);
break;
case R.id.button2 :
Intent i2 = new Intent(this, WSM.class);
startActivity(i2);
break;
case R.id.button3 :
startActivity(i3);
break;
case R.id.button4 :
Intent i4 = new Intent(this, Bantuan.class);
startActivity(i4);
break;
case R.id.button5 :
Intent i5 = new Intent(this, Tentang.class);
startActivity(i5);
break;
} }
}
// Source Code Tambah.java
package com.pemilihanjurusan;
import android.R.string;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.widget.Spinner;
public class Tambah extends Activity implements
AdapterView.OnItemSelectedListener{
protected Cursor cursor;
Database dbHelper;
Button ton1, ton2;
EditText text1, text2, text3, text4, text5, text6, text7, text8, text9;
Spinner spinkes,spinkess;
String Jurusan[]={"IPA","IPS"};
String Saran[]={"IPA/IPS","IPA","IPS"};
public String Jurusan(Spinner S){
String hasil = null;
int Nilai_Item=0;
Nilai_Item= S.getLastVisiblePosition();
if (Nilai_Item == 0){hasil = "2";}
else {hasil = "1";}
}
public String Saran(Spinner S){
String hasil = null;
int Nilai_Item=0;
Nilai_Item= S.getLastVisiblePosition();
if (Nilai_Item == 0){hasil = "3";}
else if (Nilai_Item == 1){hasil = "2";}
else {hasil = "1";}
return hasil;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tambah);
spinkes = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapteredTekstur = new
ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,Jurusan);
adapteredTekstur.setDropDownViewResource(android.R.layout.simple_spin
ner_dropdown_item);
spinkes.setAdapter(adapteredTekstur);
spinkes.setOnItemSelectedListener(this);
spinkess = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<String> adapteredTekstur1 = new
ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item,Saran);
adapteredTekstur1.setDropDownViewResource(android.R.layout.simp
le_spinner_dropdown_item);
spinkess.setAdapter(adapteredTekstur1);
spinkess.setOnItemSelectedListener(this);
dbHelper = new Database(this);
text1 = (EditText) findViewById(R.id.editnama);
text3 = (EditText) findViewById(R.id.editun);
text4 = (EditText) findViewById(R.id.editmm);
text5 = (EditText) findViewById(R.id.editipa);
text6 = (EditText) findViewById(R.id.editips);
text7 = (EditText) findViewById(R.id.editiq);
ton1 = (Button) findViewById(R.id.button1);
ton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SQLiteDatabase db = dbHelper.getWritableDatabase();
if (text1.getText().toString().equals("") ||
text6.getText().toString().equals("")){
Toast.makeText(getApplicationContext(), "Semua Field Tidak Boleh
Kosong ", Toast.LENGTH_LONG).show();
db.execSQL("insert into siswa(nama, piljur, un, mm, ipa, ips, iq, saran) values('" +
text1.getText().toString()+"','"+
Jurusan(spinkes).toString() +"','"+
text3.getText().toString() +"','" +
text4.getText().toString() +"','" +
text5.getText().toString() +"','" +
text6.getText().toString()+"','"+ text7.getText().toString()+"','"+
Saran(spinkess).toString() +"')");
Toast.makeText(getApplicationContext(),
"Berhasil", Toast.LENGTH_LONG).show();
finish();
//Intent a= new Intent (Tambah.this,
Tambah.class);
//startActivity(a);
}}
});
Button ton2 = (Button)findViewById(R.id.button2);
ton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(Tambah.this,Menuawal.class);
startActivity(i); }
}); }
@Override
public void onItemSelected(AdapterView arg0, View arg1, int arg2,
long arg3){
//TODO Auto-generated method stub
String label = arg0.getItemAtPosition(arg2).toString();
}
@Override
public void onNothingSelected(AdapterView arg0){
//TODO Auto-generated method stub
}}
// Source Code WSM.java
package com.pemilihanjurusan;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class WSM extends Activity {
String[] daftar;
ListView ListView01;
public static WSM wsm;
Menu menu;
protected Cursor cursor;
Database dbcenter;
public static WSM pe;
Button button3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.wsm);
Button back=(Button)findViewById(R.id.button1);
Button rangking=(Button)findViewById(R.id.button2);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish(); }
});
rangking.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent inte = new Intent(WSM.this,
RangkingWsm.class);
startActivity(inte); }
}); wsm = this;
dbcenter = new Database (this);
RefreshList(); }
public void RefreshList(){
SQLiteDatabase db = dbcenter.getReadableDatabase();
cursor = db.rawQuery("SELECT * FROM siswa ",null);
daftar = new String[cursor.getCount()];
cursor.moveToFirst();
for (int cc=0; cc < cursor.getCount(); cc++){
cursor.moveToPosition(cc);
daftar[cc] = cursor.getString(1).toString();
}
ListView01.setAdapter(new ArrayAdapter(this,
android.R.layout.simple_list_item_1, daftar));
ListView01.setSelected(true);
ListView01.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int
arg2, long arg3) {
final String selection = daftar[arg2];
final CharSequence[] dialogitem = {"Lihat", "Ubah",
"Hapus"};
AlertDialog.Builder builder = new
AlertDialog.Builder(WSM.this);
builder.setTitle("Pilih Menu");
builder.setItems(dialogitem, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int
item) {
switch(item){
case 0 :
Intent i = new
Intent(getApplicationContext(), WSMHasil.class);
i.putExtra("nama", selection);
startActivity(i);
break;
case 1 :
Intent in = new
Intent(getApplicationContext(), Ubah.class);
in.putExtra("nama", selection);
startActivity(in);
break;
case 2 :
SQLiteDatabase db =
dbcenter.getWritableDatabase();
db.execSQL("delete from siswa where
nama = '"+selection+"'");
RefreshList();
break;
}
}
});
builder.create().show();
}});
((ArrayAdapter)ListView01.getAdapter()).notifyDataSetInvalidated(); }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menuawal, menu);
return true;
}
// Source Code WSMHasil.java
package com.pemilihanjurusan;
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class WSMHasil extends Activity {
protected Cursor cursor;
Database dbHelper;
Button ton2;
Double b, c, d, e,f,g,h,i,hsl_HitungWSM;
TextView text1, text2, text3, text4, text5, text6, text7, text8, text9,text10,text13;
int max,norm_piljur,un,mm,ipa, ips, iq, norm_saran;
a ; String
public String saran1(String s){
double j=144.9;
String hasil=null;
double k= Double.parseDouble(s);
if (hsl_HitungWSM<=j) {hasil="IPS";}
else{hasil="IPA";}
return hasil;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.hasilwsm);
dbHelper = new Database(this);
text1 = (TextView) findViewById(R.id.tvnama);
text2 = (TextView) findViewById(R.id.tvpiljur);
text3 = (TextView) findViewById(R.id.tvun);
text4 = (TextView) findViewById(R.id.tvmm);
text5 = (TextView) findViewById(R.id.tvipa);
text6 = (TextView) findViewById(R.id.tvips);
text7 = (TextView) findViewById(R.id.tviq);
text8 = (TextView) findViewById(R.id.tvsaran);
text13= (TextView) findViewById(R.id.tvSaranjurusan);
text9 = (TextView) findViewById(R.id.tvHasil);//tvHasil
SQLiteDatabase db = dbHelper.getReadableDatabase();
cursor = db.rawQuery("SELECT * FROM siswa WHERE nama = '" +
getIntent().getStringExtra("nama") + "'",null);
cursor.moveToFirst();
if (cursor.getCount() > 0)
{
cursor.moveToPosition(0);
text3.setText(cursor.getString(3).toString()); text4.setText(cursor.getString(4).toString()); text5.setText(cursor.getString(5).toString()); text6.setText(cursor.getString(6).toString()); text7.setText(cursor.getString(7).toString()); text8.setText(cursor.getString(8).toString()); //text9.setText(cursor.getString(9).toString()); //text13.setText(cursor.getString(11).toString());
b= Double.parseDouble(cursor.getString(2).toString());
c= Double.parseDouble(cursor.getString(3).toString());
d= Double.parseDouble(cursor.getString(4).toString());
e= Double.parseDouble(cursor.getString(5).toString());
f= Double.parseDouble(cursor.getString(6).toString());
g= Double.parseDouble(cursor.getString(7).toString());
h= Double.parseDouble(cursor.getString(8).toString());
hsl_HitungWSM = (double) (((double) b*0.05)+((double) c*0.15)+( (double)
d*0.1)+((double) e*0.3)+((double) f*0.15)+((double) g*0.1)+((double)
h*0.15));
String hasil = String.valueOf((double)hsl_HitungWSM);
double z=144.9;
//saran1(text13,cursor.getString().toString());
if (hsl_HitungWSM<=z){
text13.setText("IPS");}
else if(hsl_HitungWSM>=z){
text13.setText("IPA");}
text9.setText(hasil);
db.execSQL("UPDATE siswa set nilai_WSM ='" + hasil + "'where nama='" +
a.toString() +"'");
}
ton2 = (Button) findViewById(R.id.button1);
ton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish(); }
}); }
// Source Code RangkingWsm.java
package com.pemilihanjurusan;
import com.pemilihanjurusan.RangkingWsm.Adapter; import android.os.Bundle;
import android.app.Activity; import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.view.Menu;
import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button;
import android.widget.EditText; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class RangkingWsm extends Activity { String[] daftar;
ListView ListView01;
public static WSM wsm;
Menu menu;
protected Cursor cursor;
Database dbcenter;
public static RangkingWsm rangkingwsm;
Button button3;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.rangkingwsm);
Button back=(Button)findViewById(R.id.button1);
Button rangking=(Button)findViewById(R.id.button2);
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish(); }
});
rangkingwsm = this;
dbcenter = new Database (this);
RefreshList();
}
public void RefreshList(){
SQLiteDatabase db = dbcenter.getReadableDatabase();
cursor = db.rawQuery("SELECT * FROM siswa '"+"' ORDER BY nilai_WSM DESC ",null);
daftar = new String[cursor.getCount()]; cursor.moveToFirst();
for (int cc=0; cc < cursor.getCount(); cc++){
cursor.moveToPosition(cc);
daftar[cc] = cursor.getString(1).toString();
}
ListView01 = (ListView)findViewById(R.id.listView1); ListView01.setAdapter(new Adapter(daftar));
ListView01.setSelected(true);
ListView01.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View arg1, int
arg2, long arg3) {
final String selection = daftar[arg2];
//.getItemAtPosition(arg2).toString();
final CharSequence[] dialogitem = {"Lihat", "Hapus"};
AlertDialog.Builder builder = new
AlertDialog.Builder(RangkingWsm.this);
builder.setTitle("Pilih Menu");
builder.setItems(dialogitem, new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int
item) {
switch(item){
case 0 :
Intent i = new
Intent(getApplicationContext(), WSMHasil.class);
i.putExtra("nama", selection);
startActivity(i); break;
case 1 :
SQLiteDatabase db =
dbcenter.getWritableDatabase();
db.execSQL("delete from siswa where
nama = '"+selection+"'");
RefreshList(); break; } } }); builder.create().show(); }}); ((ArrayAdapter)ListView01.getAdapter()).notifyDataSetInvalidated(); } @Override
public boolean onCreateOptionsMenu(Menu menu) {
//Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menuawal, menu);
}
public class Adapter extends ArrayAdapter<String> { private java.text.DecimalFormat f = new
java.text.DecimalFormat("0.00");
private Database dbHelper;
private String name;
private double result;
public Adapter(String[] texts) {
super(RangkingWsm.this, 0, texts);
dbHelper = new Database(RangkingWsm.this);
}
public View getView(int position, View convertView, ViewGroup root) {
if(convertView == null)
convertView = (LinearLayout)
getLayoutInflater().inflate(R.layout.item_listview, root, false); ((TextView)
convertView.findViewById(R.id.maintext)).setText(name = getItem(position)); ((TextView)
convertView.findViewById(R.id.text1)).setText(f.format(result = getResult(name)));
((TextView)
convertView.findViewById(R.id.text2)).setText(result < 144.9? "IPS" : "IPA");
return convertView;
}
private double getResult(String name) {
SQL