BAB IV ANALISA DAN PERANCANGAN 4.1
Analisa Sistem Lama Analisa sistem lama dilakukan agar dapat menjadi acuan untuk membuat
aplikasi yang akan dibuat yaitu peramalan jumlah pendaftar calon mahasiswa. Pada saat ini Universitas Islam Negeri SUSKA RIAU belum mempunyai sistem untuk peramalan jumlah pendaftar calon mahasiswa, maka ada permasalahan yang terjadi karena pihak UIN tidak mempunyai sebuah sistem peramalan seperti yang telah dijelaskan pada latar belakang sebelumnya. Oleh sebab itu maka diperlukan sebuah sistem yang dapat meramalkan jumlah pendaftar calon mahasiswa untuk satu tahun kedepannya agar permasalahan dapat segera diatasi.
4.2
Analisa Sistem Baru Pada bagian ini berisi analisis sistem jumlah pendaftar calon mahasiswa di
Universitas Islam Negeri SUSKA Riau, selanjutnya mencoba melakukan suatu peramalan jumlah pendaftar calon mahasiswa dengan menggunakan metode agglomerative hierarchical clustering yaitu pada method average linkage hierarchical clustering sebagai metode untuk mengcluster data dan penentuan interval. Data masukan untuk melakukan peramalan adalah data time series dari jumlah pendaftar calon mahasiswa, yang selanjutnya akan diproses dengan perhitungan menggunakan relasi logika fuzzy.
Berikut ini adalah flowchart dari sistem yang akan dibuat
Gambar 4.1 Flowchart Sistem
4.3
Gambaran umum sistem Untuk lebih jelasnya gambaran umum sistem dapat dilihat pada gambar 4.2
berikut :
Gambar 4.2 Gambaran Umum Sistem
IV-2
Berdasarkan gambar 4.2 dapat diketahui bahwa rancang bangun dari sistem peramalan ini memiliki beberapa proses berupa data masukan, proses utama dan keluaran yang dapat dijelaskan sebagai berikut : 1. Data masukan yang dibutuhkan oleh sistem berupa data time series dari jumlah pendaftar calon mahasiswa selanjutnya akan di proses oleh sistem menggunakan konsep dari metode agglomerative hierarchical clustering. 2. Proses utama, menyatakan proses-proses utama yang terdapat pada rancang bangun sistem peramalan, yaitu dimulai dari proses mencari jarak antar data dengan menggunakan parameter jarak Manhattan dari data time series untuk mencari cluster dan penentuan interval. Selanjutnya dari interval yang telah ditentukan maka mencari nilai tengah dari setiap interval. Setelah mencari nilai tengah dari setiap interval maka selanjutnya adalah melakukan perhitungan perkiraan pendaftar dengan relasi logika fuzzy. 3. Keluaran merupakan hasil dari proses-proses utama yang terjadi pada sistem. Output dari sistem berupa hasil peramalan jumlah pendaftar calon mahasiswa untuk satu tahun kedepannya ditampilkan dalam bentuk grafik agar lebih jelas serta mudah dimengerti. 4.3.1
Analisa Data Masukan Dari gambaran umum sistem peramalan pada gambar 4.2 telah dijelaskan
bahwa dalam proses peramalan ini menggunakan data time series jumlah pendaftar calon mahasiswa sebagai data masukan. Time series (deret waktu ) adalah data yang tersusun berdasarkan urutan waktu atau data yang dikumpulkan dari waktu ke waktu. Data time series sangat berguna bagi pengambil keputusan untuk memperkirakan atau meramal kejadian di masa yang akan datang. Karena pola perubahan data time series beberapa periode masa lampau akan kembali terulang pada masa kini. Data masukan yang akan digunakan pada sistem peramalan adala data time series tahunan dari jumlah pendaftar calon mahasiswa dan selanjutnya akan dilakukan perhitungan peramalan dengan menggunakan metode agglomerative hierarchical clustering dan relasi logika fuzzy untuk menghasilkan peramalan jumlah pendaftar calon mahasiswa untuk tahun berikutnya.
IV-3
Adapun data time series jumlah pendaftar calon mahasiswa yang akan digunakan untuk peramalan diperoleh dari kampus Universitas Islam Negeri SUSKA Riau pada Fakultas Sains dan Teknologi. Dalam proses pengelolaan peramalan jumlah pendaftar calon mahasiswa pendaftar diambil data dari tahun ajaran 2003/2004 – 2012/2013. 4.3.2
Analisa Metode Agglomerative Hierarchical Clustering Pada batasan masalah disebutkan bahwa penelitian ini menggunakan metode
agglomerative hierarchical clustering pada method average linkage hierarchical clustering sebagai metode pengclusteran dan penentuan interval. Permasalahan yang akan diselesaikan adalah membuat suatu prangkat lunak yang dapat meramal jumlah pendaftar calon mahasiswa untuk tahun berikutnya. Langkah-langkah untuk meramalkan jumlah pendaftar calon mahasiswa pendaftar dengan method average linkage hierarchical clustering dan relasi logika fuzzy ini dapat dilihat pada flowchart berikut :
Gambar 4.3 Flowchart Tahapan Metode Average Linkage Dan Relasi Logika Fuzzy
Berikut adalah penjelasan dari flowchart di atas :
IV-4
1. Mencari matriks jarak antar data dengan menggunakan parameter jarak manhattan dari data histori jumlah pendaftar calon mahasiswa selama 10 tahun. 2. Mencari jarak dua kelompok yang terkecil dengan metode average linkage hierarchical clustering. Setelah
mendapatkan
matriks
jarak
dari
perhitungan
dengan
menggunakan parameter jarak manhattan, maka selanjutnya adalah mencari jarak dua kelompok yang terkecil dengan metode average linkage hierarchical clustering untuk mendapatkan cluster dan interval. 3. Membuat dendogram set data hasil pengelompokkan Setelah mendapatkan jarak kelompok yang terkecil dari metode average linkage hierarchical clustering maka selanjutnya adalah membuat dendogram set. 4. Menentukan cluster dari dendogram set agglomerative hierarchical clustering (AHC). 5. Merubah cluster kedalam bentuk interval Setelah mendapatkan cluster selanjutnya adalah merubah cluster kedalam bentuk interval. 6. Membagi interval kedalam sub interval Setelah cluster dirubah kedalam sub interval, maka selanjutnya adalah membagi interval kedalam sub interval. 7. Mencari nilai tengah dari setiap sub interval Setelah interval dibagi menjadi sub interval, maka selanjutnya adalah mencari nilai tengah dari setiap sub interval. 8. Fuzzyfikasi data Fuzzyfikasi data adalah tahapan dimana data historis jumlah pendaftar calon mahasiswa yang dijadikan sebagai inputan tadi kemudian diubah kedalam bentuk fuzzy, yaitu ketika data historis tersebut berada pada interval pertama atau u1 kemudian difuzzyfikasi ke A1. 9. Membuat relasi logika fuzzy
IV-5
Setelah data jumlah pendaftar calon mahasiswa pendaftar difuzzyfikasi kedalam bentuk A1, A2, …. An. Kemudian menentukan relasi logika fuzzy dari data tersebut. 10. Menghitung pekiraan peramalan Tahap ini menentukan ramalan dari setiap data jumlah pendaftar calon mahasiswa pendaftar tersebut, dimana hasil ramalan tersebut akan didasarkan oleh relasi logika fuzzy dari data jumlah pendaftar
calon
mahasiswa itu sendiri. 11. Menghitung MAPE Tahap ini untuk memperkirakan error yang akan terjadi pada hasil peramalan data jumlah pendaftar calon mahasiswa.
Berikut ini adalah contoh perhitungan peramalan jumlah pendaftar calon mahasiswa di Universitas Islam Negeri SUSKA Riau pada Fakultas Sains dan Teknologi pada Jurusan Teknik Informatika dari tahun 2003 sampai 2012, terlihat pada tabel 4.2 dibawah ini : Tabel 4.2 Data Jumlah Pendaftar Jurusan TIF Dari Tahun 2003/2004 - 2012/2013.
No
Tahun
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
2003/2004 2004/2005 2005/2006 2006/2007 2007/2008 2008/2009 2009/2010 2010/2011 2011/2012 2012/2013
Data jurusan teknik informatika 335 1800 316 355 580 384 1839 1513 1558 3601
Berdasarkan tabel 4.2 akan dihitung peramalan jumlah pendaftar calon mahasiswa pada jurusan teknik informatika dari mulai tahun ajaran 2003/2004 – 2012/2013, langkah-langkah pengerjaan peramalan jumlah pendaftar calon mahasiswa ini akan dijelaskan sebagai berikut : IV-6
1. Mencari matriks jarak antar data dengan menggunakan parameter jarak manhattan. Data jumlah pendaftar calon mahasiswa jurusan teknik informatika 335 1800 316 355 580 384 1839 1513 1558 3601
Untuk mencari matriks jarak dari data diatas, maka menggunakan rumus parameter jarak manhattan rujukan rumus 2.4 berikut : Jarak manhattan : d(U,V) = ∑ |
−
|
Setelah menghitung jarak dengan menggunaan manhattan, didapat matriks jarak yaitu :
D=dUV
2 3 4 5 = 6 7 8 9 10
1
0 ⎡1465 ⎢ 19 ⎢ ⎢ 20 ⎢ 245 ⎢ 49 ⎢1504 ⎢1178 ⎢1223 ⎣3266
2
1465 0 1484 1445 1220 1416 39 287 242 1801
1484 0 39 264 68 1523 1197 1242 3285
4
5
6
7
20 245 49 1504 1445 1220 1416 39 39 264 68 1523 0 225 29 1484 225 0 196 1259 29 196 0 1455 1484 1259 1455 0 1158 933 1129 326 1203 978 1174 281 3246 3021 3217 1762
8
1178 287 1197 1158 933 1129 326 0 45 2088
9
1223 242 1242 1203 978 1174 281 45 0 2043
10
3266 1801⎤ 3285⎥ ⎥ 3246⎥ 3021⎥ 3217⎥ 1762⎥ 2088⎥ 2043⎥ 0 ⎦
2. Mencari jarak dua kelompok yang terkecil dengan method average linkage
IV-7
Setelah mendapatkan matrik jarak maka selanjutnya adalah mencari jarak dua kelompok yang terkecil untuk mendapatkan cluster. Dari matriks jarak diatas didapat kelompok yang terkecil yaitu min (dUV) = d13 = 19 Terpilih kelompok 1 dan 3 sehingga kelompok tersebut digabungkan. Untuk melanjutkan ke tingkat pengelompokkan berikutnya, jarak-jarak antara kelompok (13) dengan kelompok yang lain yang tersisa, yaitu : 2, 4, 5, 6, 7, 8, 9, 10, dihitung kembali dengan menggunakan metode average linkage. Jarakjarak yang didapat adalah : d(13) 2 = d(13) 4 =
12+ 32 2
=
=
d(13) 6 =
245+264 2
=
)
d(13) 8 = d(13) 9 = (
)
=
2
1178+1197
= = (
2
1223+1242
)
2
=
= 29,5
= 254,5
=
1504+1523
=
d(13) 7 =
d(13) 10 =
=
=
d(13) 5 =
= 1.474,5
=
= 58,5
=1.513,5
=
=
=
2375 2
2465 2
3266+3285 2
= 1187,5
=1.232,5
=
6551 2
=3.275,5
Dengan menghapus baris-baris dan kolom-kolom matriks D yang bersesuaian dengan kelompok 1 dan 3, dan menambahkan baris dan kolom untuk kelompok (13), maka didapatkan matriks jarak baru yaitu :
13
2
4
5
7
8
9
10
IV-8
D=dUV
=
0 13 ⎡ 2 1474,5 ⎢ 29,5 ⎢ 5 ⎢ 254,5 6 ⎢ 58,5 7 ⎢1513,5 8 ⎢1187,5 9 ⎢1232,5 10 ⎣3275,5
1474,5 0 1445 1220 1416 39 287 242 1801
29,5 1445 0 225 29 1484 1158 1203 3246
254,5 1220 225 0 196 1259 933 978 3021
58,5 1416
1513,5 39 1484 1259 1455 0 326 281 281
196 0 1455 1129 1174 1174
1187,5 287 1158 933 1129 326 0 45 2088
1232,5 242 1203 978 1174 281 45 0 2043
Selanjutnya dipilih lagi jarak dua kelompok yang terkecil
3275,5 1801 ⎤ ⎥ 3246 ⎥ 3021 ⎥ 3217 ⎥ 1762 ⎥ 2088 ⎥ 2043 ⎥ 0 ⎦
min(dUV) = d46 = 29 terpilih kelompok 4 dan 6 sehingga kedua kelompok tersebut digabungkan. selanjutnya mencari jarak antara kelompok (46) dengan kelompok yang tersisa yaitu : (13), 2, 5, 7, 8, 9, 10. Dihitung dengan menggunakan metode average linkage, sehingga jarak yang didapat adalah : d(46) (13) = d(46) 2 = d(46) 5 = d(46) 7 = d(46) 8 = d(46) 9 = d(46) (10) =
(
)
=
1445+1416
=
1484+1455
=
1203+1174
2
=
225+196
=
1158+1129
(
2
2 2
2
)
=
20+39+49+68
= =
=
4
2.861
421 2
= =
=
2
= 1.430,5
176 4
=44
=210,5
2939 2
2287 2
2377 2
3246+3217 2
=
=1.469,5 =1.143,5
=1.188,5 =
6463 2
=3.231,5
Dengan menghapus baris-baris dan kolom-kolom matriks D yang bersesuaian dengan kelompok 4 dan 6, dan menambahkan baris dan kolom untuk kelompok (46), maka didapatkan matriks jarak baru yaitu :
46
13
2
5
8
9
10
IV-9
D=dUV
0 46 ⎡ 44 13 ⎢1.430,5 ⎢ 5 ⎢ 210,5 7 ⎢1.469,5 8 ⎢1.143,5 9 ⎢1.188,5 10 ⎣3.231,5
44 1.430,5 210,5 1.469,5 1.143,5 1.188,5 3.231,5 0 1.474,5 254,5 1.513,5 1.187,5 1.232,5 3.275,5⎤ 1.474,5 0 1.220 287 242 1.801 ⎥ ⎥ 254,5 1.220 0 1259 933 978 3021 ⎥ 1.513,5 39 1259 0 326 281 1762 ⎥ 1.187,5 287 933 326 0 45 2088 ⎥ 1.232,5 242 978 281 45 0 2043 ⎥ 3.275,5 1.801 3021 1762 2088 2043 0 ⎦
Selanjutnya dipilih lagi jarak dua kelompok yang terkecil min(dUV) = d27 = 39
terpilih kelompok 2 dan 7 sehingga kedua kelompok tersebut digabungkan. selanjutnya mencari jarak antara kelompok (27) dengan kelompok yang tersisa yaitu : (46),(13), 5, 8, 9, 10. Dihitung dengan menggunakan metode average linkage, sehingga jarak yang didapat adalah : 1445+1416+1484+1455
=
d(27) (46) = d(27) (13)= 2
287+326
=
d(27) 8 = d(27) 9 = (
d(27) (10) =
)
= (
1465+1484+1504+1523
1220+1259
=
d(27) 5 =
=
4
2
242+281
)
2
=
=
=
=
2479
613 2
523 2
1801+1762
2
4
=1.239,5
=
=
5800 4
5976 4
=1.450
=1.494
=306,5
=261,5
2
=
3563 2
=1.781,5
Dengan menghapus baris-baris dan kolom-kolom matriks D yang bersesuaian dengan kelompok 2 dan7, dan menambahkan baris dan kolom untuk kelompok (27), maka didapatkan matriks jarak baru yaitu :
27
46
5
8
9
10 IV-10
0 1450 1494 1239,5 306,5 261,5 1781,5 ⎡ 1450 0 210,5 1143,5 1188,5 3231,5⎤ ⎢ ⎥ 44 0 254,5 1187,5 1232,5 3275,5⎥ 13 ⎢ 1494 254,5 0 933 978 3021 ⎥ 5 ⎢1239,5 210,5 306,5 1143,5 1187,5 933 0 45 2088 ⎥ 8 ⎢ 978 45 0 2043 ⎥ 9 ⎢ 261,5 1188,5 1232,5 ⎣ 1781,5 3231,5 3275,5 3021 2088 2043 0 ⎦ 10 27
D=dUV=
Selanjutnya dipilih lagi jarak dua kelompok yang terkecil min(dUV) = d(46)(13) = 44
selanjutnya mencari jarak antara kelompok (4613) dengan kelompok yang tersisa yaitu : (27), 5,
8, 9, 10. Dihitung dengan menggunakan metode
average linkage, sehingga jarak yang didapat adalah : d(4613) 27 =
=
1445+1484+1416+1455+1465+1504+1484+1523 8
d(4613) 5 = d(4613)8
=
d(4613)9
= =
d(4613) (10)=
=
(
)
(
)
(
225+196+245+264
=
1203+1174+1223+1242
)
3246+3217+3266+3285 4
Didapat matriks baru yaitu : (4613)
11.776
=
=
=1.210,5
=
(27)
4
1158+1129+1178+1197 4
930 4
=
=1.472
=232,5 4662 4
=1.165,5
4
(
=
=
8
.
5
)
= 3.253,5 8
10
(4613) 0 1472 232,5 1165,5 1210,5 3253,5 ⎡ 1472 0 1239,5 306,5 261,5 1781,5⎤ (27) ⎢ ⎥ 232,5 1239,5 0 933 978 3021 ⎥ 5 ⎢ D=dUV= 933 0 2088 ⎥ ⎢1165,5 306,5 978 45 0 2043 ⎥ ⎢1210,5 261,5 9 ⎣ 3253,5 1781,5 3021 2088 2043 0 ⎦ 10
Selanjutnya dipilih lagi jarak dua kelompok yang terkecil
IV-11
min(dUV) = d(89) = 45 Selanjutnya mencari jarak antara kelompok (89) dengan kelompok yang tersisa yaitu : (4613), (27), 5, 10. Dihitung dengan menggunakan metode average linkage, sehingga jarak yang didapat adalah : d(89)(4613)= =
d(89)(27)= d(89)5 = d(89)10 =
(
)
=
(
933+978
)
Didapat matriks baru yaitu : (89)
(89)
=
2
=
(4613)
287+326+242+281
=
1.911 2
2088+2043 2
4
= 955,5 =
(27)
4131 2
=
=
. 1.136 4
= 1.188 = 284
= 2.065,5 10
0 1.188 284 955,5 2.065,5 ⎡ 0 1472 , 3.253,5⎤ ( ) 1.188 ⎢ ⎥ D=dUV= (27) ⎢ 284 1472 0 1.239,5 1.781,5⎥ 232,5 1.239,5 0 3021 ⎥ ⎢ 955,5 5 ⎣ 2.065,5 3.253,5 1.781,5 3021 0 ⎦ 10 Selanjutnya dipilih lagi jarak dua kelompok yang terkecil: min(dUV) = d(4613) (5)=232,5 Selanjutnya mencari jarak antara kelompok (89) dengan kelompok yang tersisa yaitu : (89), (27), 10. Dihitung dengan menggunakan metode average linkage, sehingga jarak yang didapat adalah : d(46135)(89)=
= =
1158+1203+1129+1174+1178+1223+1197+1242+933+978
.
10
= 1.141,5
d(46135)(27)= IV-12
=
1445+1484+1416+1455+1465+1504+1484+1523+1220+1259
= d(46135)(10)=
=
10
.
= 1.425,5
(
)
(
)
(
)
(
3246+3217+3266+3285+3021
=
5
Didapat matriks baru yaitu : (46135)
(89)
(
)
)
(
16.035 5
)
= 3.207
10
(46135) 0 1.141,5 1.425,5 3.207 1.141,5 0 2.065,5 D=dUV= ( ) 1.425,5 284 0 1.781,5 (27) 3.207 2.065,5 1.781,5 0 10
Selanjutnya dipilih lagi jarak dua kelompok yang terkecil min(dUV) = d(89) (27)=284 Selanjutnya mencari jarak antara kelompok (8927) dengan kelompok yang tersisa yaitu : (46135), 10. Dihitung dengan menggunakan metode average linkage, sehingga jarak yang didapat adalah : d(8927)(46135)=
=
= d(8927)10
= =
1158+1129+1178+1197+933+1203+1174+1223+1242+978+ 1445+1416+1465+1484+1220+1484+1455+1504+1523+1259 20
.
= 1.283,5 (
)
(
)
(
2088+2043+1801+1762 4
)
=
( 7.694 4
)
= 1.923,5 IV-13
Didapat matriks baru yaitu : (8927)
0 ( ) D=dUV=(46135) 1.283,5 1.923,5 10
(
.
,
)
0 3.207
10
1.923,5 3.207 0
Selanjutnya dipilih lagi jarak dua kelompok yang terkecil min(dUV) = d(8927) (46135) = 1.283,5
Selanjutnya mencari jarak antara kelompok (8927) dengan kelompok yang tersisa yaitu : 10. Dihitung dengan menggunakan metode average linkage, sehingga jarak yang didapat adalah : d(892746135)(10)=
8 10 + 9 10 + 2 10 + 7 10 + 4 10 + 6 10 + 1 10 + 3 10 + 5 10 9
= =
.
= 2.637
Didapat matriks baru yaitu :
D=dUV=
(892746135)
(892746135) 0 2.637 10
10
2.637 0
Jadi kelompok (892746135) dan 10 digabungkan untuk membentuk kelompok tunggal dari 10 data, (123….10) ketika jarak terdekat mencapai 2.637.
3. Membuat dengdogram Set data hasil pengelompokkan Dari langkah diatas maka didapat dendogram set data hasil pengelompokkan dengan Agglomerative hierarchical clustering :
IV-14
Gambar 4.4 Dendogram Set Data Hasil Pengelompokkan Dengan Agglomerative Hierarchical Clustering (AHC)
4. Menentukan Cluster dari Dendogram Set Agglomerative Hierarchical Clustering (AHC) Berdasarkan dendogram diatas maka didapat 6 cluster yaitu : Kelompok 1= {3,5}
Kelompok 4 = {9,2}
Kelompok 2 = {5,8}
Kelompok 5 = {2,7}
Kelompok 3 = {8,9}
Kelompok 6 = {7,10}
5. Merubah Cluster Kedalam Bentuk Interval Setelah mendapatkan kelompok (cluster), maka tahap selanjutnya adalah merubah kelompok (cluster) kedalam bentuk interval yaitu : 1. [316 ; 580]
4. [1558 ; 1800]
2. [580 ; 1513]
5. [1800 ; 1839]
3. [1513 ; 1558]
6. [1839 ; 3601]
4. Membagi Interval Kedalam Sub Interval Setelah mendapatkan interval, maka tahap selanjutnya adalah membagi kedalam sub interval yaitu :
IV-15
u1 = [316 ; 448]
u7 = [1558 ; 1679]
u2 = [448 ; 580]
u8 = [1679 ; 1800]
u3 = [580 ; 1046]
u9 = [1800 ; 1819]
u4 = [1046 ; 1513]
u10 = [1819 ; 1839]
u5 = [1513 ; 1535]
u11 = [1839 ; 2720]
u6 = [1535 ; 1558]
u12 = [2720 ; 3601]
5. Mencari Nilai Tengah Dari Setiap Sub Interval Setelah membagi kedalam sub interval, maka selanjutnya mencari nilai tengah dari sub interval, yaitu : m1 = 382
m5 = 1524
m9 = 1809
m2 = 514
m6 = 1546
m10 = 1829
m3 =813
m7 = 1618
m11 = 2279
m4 = 1279
m8 = 11739
m12 = 3160
6.
Fuzzifikasi Setiap Data Hstoris
Setelah mendapatkan interval dari method average linkage hierarchical clustering selanjutnya kita melakukan Fuzzifikasi setiap data historis menjadi himpunan fuzzy sehingga didapat hasil sebagai berikut: Tabel 4.3 Fuzzyfikasi Data Jumlah pendaftar.
No
Data jurusan Fuzzyfikasi teknik informatika 1. 2003/2004 335 A1 2. 2004/2005 1800 A8 3. 2005/2006 316 A1 4. 2006/2007 355 A1 5. 2007/2008 580 A2 6. 2008/2009 384 A1 7. 2009/2010 1839 A10 8. 2010/2011 1513 A4 9. 2011/2012 1558 A6 10. 2012/2013 3601 A12 7. Membuat Relasi Logika Fuzzy Selanjutnya
Tahun
membuat
relasi
logika
fuzzy
dan
mengelompokkannya
berdasarkan fuzzyfikasi data yang telah dilakukan sebelumnya, yaitu sebagai berikut : IV-16
Kelompok 1 = A1 → A8
Kelompok 6 = A1 → A10
Kelompok 2 = A8 → A1
Kelompok 7 = A10 → A4
Kelompok 3 = A1 → A1
Kelompok 8 = A5 → A6
Kelompok 4 = A1 → A2
Kelompok 9 = A6 → A12
Kelompok 5 = A2 → A1
Kelompok 10 = A12 → ≠
8. Menghitung
Perkiraan
Peramalan
Jumlah
Pendaftar
Calon
Mahasiswa 1. Fuzifikasi dari tahun 2003/2004 adalah A1 dan hanya ada satu relasi logika fuzzy pada kelompok relasi logika fuzzy yang memiliki keadaan saat ini, yaitu : A1 → A8, kemudian perkiraan pendaftaran tahun berikutnya adalah 1739, dimana 1739 adalah titik tengah dari interval u8 dan nilai keanggotaan maksimal dari himpunan fuzzy A8 terjadi pada interval u8. 2.
Fuzifikasi dari tahun 2004/2005 adalah A8 dan hanya ada satu relasi logika fuzzy pada kelompok relasi logika fuzzy yang memiliki keadaan saat ini, yaitu : A8 → A1, kemudian perkiraan pendaftaran tahun berikutnya adalah 382, dimana 382 adalah titik tengah dari interval u1 dan nilai keanggotaan maksimal dari himpunan fuzzy A1 terjadi pada interval u1. Selanjutnya ulangi kembali langkah tersebut hingga semua hasil ramalan didapatkan, untuk hasil lebih lengkapnya dapat dilihat pada Tabel dibawah ini. Tabel 4.4 Hasil Ramalan Jumlah Pendaftar Calon Mahasiswa
No Tahun 1. 2003/2004 2. 2004/2005 3. 2005/2006 4. 2006/2007 5. 2007/2008 6. 2008/2009 7. 2009/2010 8. 2010/2011 9. 2011/2012 10. 2012/2013 11. 2013/2014
Data jurusan TIF 335 1800 316 355 580 384 1839 1513 1558 3601 -
Ramalan 1739 382 382 514 382 1829 1279 1546 3160 3160
IV-17
3. Menghitung MAPE (Mean Absolute Percentage Error) Setelah mendapatkan hasil peramalan jumlah pendaftar selanjutnya adalah melakukan perhitungan nilai MAPE rujukan rumus 2.8 berikut : n
MAPE
t 1
et 100 % Xt n
Tabel 4.5 Hasil Perhitungan MAPE Peramalan Jumlah Pendaftar
Tahun 2003/2004 2004/2005 2005/2006 2006/2007 2007/2008 2008/2009 2009/2010 2010/2011 2011/2012 2012/2013 2013/2014
Data jurusan teknik Ramalan informatika 335 1800 1739 316 382 355 382 580 514 384 382 1839 1829 1513 1279 1558 1546 3601 3160 3160
et
61 66 27 66 2 10 234 12 441 Total error MAPE
4.3.3
%E 0,0 3,38888 20,8860 7,6056 11,3793 0,5208 0,5437 15,4659 0,7702 12,24659 0,0 72,8072941 8,089699
Analisis Data Sistem Pada tahapan analisis dan sistem dibagi menjadi tiga tahapan yaitu :
4.3.3.1 Analisis Masukan Suatu sistem baru dapat dijalankan jika data-data masukan (inputan) diberikan. Komponen input pada sistem yang akan dibuat adalah data aktual jumlah pendaftar calon mahasiswa di Universitas Islam Negeri SUSKA Riau pada Fakultas Sains dan Teknologi selama 10 tahun sebelumnya. 4.3.3.2 Analisis Proses Langkah-langkah yang dilakukan dalam proses penyelesaian masalah adalah : 1. Mengumpulkan data jumlah pendaftar calon mahasiswa 10 tahun terakhir 2. Menentukan jurusan yang akan diramal
IV-18
3. Selanjutnya mencari jarak antar data untuk mendapatkan matriks jarak dengan menggunakan parameter jarak manhattan. 4. Setelah mendapatkan matriks jarak, maka selanjutnya adalah mencari dua kelompok terkecil dengan menggunakan metode average linkage untuk mendapatkan cluster dan mencari interval 5. Melakukan perhitungan hasil peramalan menggunakan relasi logika fuzzy. 6. Setelah itu mencari tingkat kesalahan peramalan menggunakan MAPE. 4.3.3.3 Analisis Keluaran Hasil keluaran berupa peramalan data jumlah pendaftar untuk tahun berikutnya dan persentase error, dan ditampilkan dalam bentuk grafik dan tabel agar lebih jelas serta mudah dimengerti. 4.3.4
Deskripsi Umum Perangkat Lunak Pada deskripsi umum perangkat lunak dibuat sebagai suatu gambaran tentang
rancang sistem yng akan dibuat. Data-data yang terdapat dalam sistem ini dapat diakses oleh user yang berkepentingan dalam sistem ini. 4.3.5
Deskripsi Umum Sistem
Dalam sistem ini yang dapat menggunakan adalah admin bagian akademik. Hak akses dari seorang admin adalah sebagai berikut : Tabel 4.6 Tipe Pengguna
Kategori pengguna
Admin yang ingin meramal jumlah pendaftar calon mahasiswa
Hak akses ke Sistem Peramalan Jumlah Pendaftar Calon mahasiswa 1. 2. 3. 4.
Pengguna Jurusan Pendaftar Ramal
Keterangan 1. Pada form ini pengguna dapat merubah username dan password baru. 2. Admin dapat menambah, mengubah dan menghapus nama jurusan 3. Admin dapat memasukkan, mengubah, dan menghapus data pendaftar. 4. Dalam sistem ini admin dapat melakukan peramalan jumlah pendaftar calon mahasiswa sesuai dengan periode tahun yang dipilih.
IV-19
4.3.6
Pemodelan UML (unified Modeling Language) Analisa perancangan pada sistem ini menggunakan UML, yaitu terdiri dari use case diagram, class diagram, activity diagram dan sequence diagram.
4.3.6.1 Use Case Diagram Berikut ini adalah gambar diagram yang merupakan visualisasi dari use case diagram untu sistem peramalan ini yang kemudian akan dijelaskan beberapa penjelasan
mengenai
use
case
secara
detail
pada
tabel-tabel
use
case
specification,yaitu :
inputPendaftar Login <
>
input Jurusan user
inputPeramalan
Gambar 4.5 Use Case Diagram Dari gambar 4.6 dapat dilihat sistem ini terdiri dari 1 aktor dan 3 use case. Untuk lebih jelasnya, spesifikasi dari use case diagram dapat dilihat pada tabel berikut ini : Tabel 4.7 Spesifikasi Use Case Input Jurusan Usecase
Input Jurusan
Aktor Utama
User
IV-20
Deskripsi Singkat
Proses menginputkan data jurusan
Kondisi Awal
Halaman menu jurusan
Kondisi Akhir
Sistem sudah menyimpan data jurusan
Main success scenario
1. User memilih menu jurusan 2. Tampil form jurusan 3. User mengisi form jurusan dengan memasukkan kode jurusan, nama jurusan dan meng-klik tombol simpan 4. Data tersimpan dan tampil pada menu jurusan
Tabel 4.8 Spesifikasi Use Case Input Pendaftar Usecase
Input Pendaftar
Aktor Utama
User
Deskripsi Singkat
Proses memulai penyimpanan data jumlah calon pendaftar
Kondisi Awal
Halaman menu pendaftar
Kondisi Akhir
Data jumlah pendaftar berhasil disimpan
Main success scenario
1. User memilih menu pendaftar 2. Tampil menu pendaftar 3. User memasukkan nama jurusan, tahun ajaran, jumlah pendaftar dan meng-klik tombol simpan 4. Data tersimpan
Tabel 4.9 Spesifikasi Use Case Input Peramalan Usecase
Input Peramalan
Aktor Utama
User
Deskripsi Singkat
Proses mulai meramal jumlah pendaftar calon mahasiswa
Kondisi Awal
Halaman menu ramal
Kondisi Akhir
Hasil ramalan
Main success scenario
1. User memili menu ramal 2. Tampil menu ramal 3. User memasukkan nama jurusan, periode tahun, dan
IV-21
meng-klik tombol cari 4. Tampil hasil ramalan
4.3.6.2 Class Diagram Class Diagram menggambarkan struktur dan deskripsi class, package, dan objek yang saling terhubung. Berikut ini adalah class diagram sistem peramalan :
JFrame
Peramalan WorkerLogin
GrafikChart
DilogLogin
Koneksi
FormUtama
HalJurusan
Pendaftar
Administrator
RamalJurusan
ClusteringAlgorithm Cluster JInternalFrame
FormDendo FormTabel
DendogramPanel
JPanel
Gambar 4.6 Class Diagram
Berikut detail masing-masing class yang berisi nama class, atribut, dan method, yang dapat dilihat pada tabel 4.3dibawah ini :
IV-22
Tabel 4.10 Detail Class Diagram No 1
Class Form_Utama
Attribut
Method
-ImageIcon
- public FormUtama()
icon
- formWindowClosing(java.awt.event.WindowEvent evt): void - btnPenggunaActionPerformed(java.awt.event.ActionE vent evt):void - btnJurusanActionPerformed(java.awt.event.ActionEve nt evt):void - btnRamalActionPerformed(java.awt.event.ActionEvent evt):void - btnPendaftaranActionPerformed(java.awt.event.Action Event evt):void - loader5ActionPerformed(java.awt.event.ActionEvent evt):void
2
Cluster
- String name;
- Double getDistance()
- Cluster
- setDistance(Double distance):void
parent; -
- getChildren(): List - setChildren(List children)
List
- setParent(Cluster parent):void
children;
- setName(String name):void
- Double distance;
- addChild(Cluster cluster):void - contains(Cluster cluster): boolean - equals(Object obj): boolean - hashCode(): int - isLeaf(): boolean - countLeafs():int - countLeafs(Cluster node, int count):int - toConsole(int indent):void - getTotalDistance(): double
3
WorkerLogin
-
- done():void - UserApp doInBackground() throws Exception
4
DilogLogin
- boolean notLogin =
- DilogLogin() - showDialog(): boolean
IV-23
Tabel 4.10 Detail Class Diagram Lanjutan true - WorkerLogin
- closeLoginDialog():void - btnLoginActionPerformed(java.awt.event.ActionEvent evt):void - btnCancelActionPerformed(java.awt.event.ActionEven t evt):void - button3ActionPerformed(java.awt.event.ActionEvent evt):void - done():void - UserApp doInBackground() throws Exception
5
Peramalan
- FormUtama
- FormUtama getMainForm():static
- LoginService
- LoginService getLoginService():static
-
- initLogin():static void - initDataBaseConnection(): static void - main(String[] args): static void
6
HalJurusan
- DefaultTable Model
- loadData():void - btnSimpanActionPerformed(java.awt.event.ActionEve nt evt):void - btnRubahActionPerformed(java.awt.event.ActionEvent evt):void - reset():void - btnResetActionPerformed(java.awt.event.ActionEvent evt):void - btnHapusActionPerformed(java.awt.event.ActionEvent evt):void - tabelJurusanMouseClicked(java.awt.event.MouseEvent evt):void
7
FormDendo
- DefaultTable Model
8
FormTabel
- DefaultTable Model
- tampildata():void - BtnNextActionPerformed(ActionEvent evt):void - actionPerformed(java.awt.event.ActionEvent evt):void - btnChartActionPerformed(java.awt.event.ActionEvent evt):void - loadDataRamal():void - btnSimpanRamalActionPerformed(java.awt.event.Acti onEvent evt):void
IV-24
Tabel 4.10 Detail Class Diagram Lanjutan - btnCetakTabelActionPerformed(ActionEvent evt):void 9
GrafikChart
- GrafikChart( String s)
- createDataset():void - createChart():void - createPanel():void
10
DendrogramP
-
- isShowDistanceValues():Boolean - setShowDistances(boolean showDistanceValues):void
anel
- isShowScale(): Boolean - setShowScale(boolean showScale):void - setScalePadding(int scalePadding):void - setScaleTickLength(int scaleTickLength):void - setScaleValueInterval(double scaleTickInterval):void - double getScaleValueInterval():double - getScalePadding():int - getScaleValueDecimals():int - setScaleValueDecimals(int scaleValueDecimals):void - getBorderTop():int - setBorderTop(int borderTop):void - getBorderLeft():int - setBorderLeft(int borderLeft):void - getBorderRight():int - setBorderRight(int borderRight):void - getBorderBottom():int - setBorderBottom(int borderBottom):void - setLineColor(Color lineColor):void - Color getLineColor() - Cluster getModel() - setModel(Cluster model):void - updateModelMetrics():void - ClusterComponent createComponent(Cluster model) - paint(Graphics g):void - Cluster createSampleCluster() 11
ClusteringAlg orithm
-
- Cluster performClustering(double[][] distances, String[] clusterNames, LinkageStrategy linkageStrategy)
IV-25
Tabel 4.10 Detail Class Diagram Lanjutan 12
Pendaftar
- DefaultTable Model
- Pendaftar() - loadData():void - comJur():void - comJur1():void - periode1ActionPerformed(java.awt.event.ActionEvent evt):void - periode2ActionPerformed(java.awt.event.ActionEvent evt):void - comboJurusan1ActionPerformed(java.awt.event.Action Event evt):void - btnCariActionPerformed(java.awt.event.ActionEvent evt):void - jButton1ActionPerformed(java.awt.event.ActionEvent evt):void - btnRamalActionPerformed(java.awt.event.ActionEvent evt):void - comboJurusanActionPerformed(java.awt.event.Action Event evt):void - void txtTahunActionPerformed(java.awt.event.ActionEvent evt):void - btnSimpanActionPerformed(java.awt.event.ActionEve nt evt):void - btnUpdateActionPerformed(java.awt.event.ActionEven t evt):void - btnResetActionPerformed(java.awt.event.ActionEvent evt):void - btnHapusActionPerformed(java.awt.event.ActionEvent evt):void - Cluster createSampleCluster() - Object[][] getData() - tampilTabel():void - tampil(JTable table):void - kosong():void
13
Panel
- BufferedImag
- paintComponent(Graphics g):void
IV-26
Tabel 4.10 Detail Class Diagram Lanjutan e
- setUpGradient():void
- Color 14
Koneksi
- Connection
- static Connection getConnection() throws SQLException
15
RamalJurusan
- DefaultTable Model
- RamalJurusan() - comboJurusanActionPerformed(java.awt.event.Action Event evt):void - txtTahunActionPerformed(java.awt.event.ActionEvent evt):void - btnSimpanActionPerformed(java.awt.event.ActionEve nt evt):void - btnUpdateActionPerformed(java.awt.event.ActionEven t evt):void - btnResetActionPerformed(java.awt.event.ActionEvent evt):void - btnHapusActionPerformed(java.awt.event.ActionEvent evt):void - tabelDaftarMouseClicked(java.awt.event.MouseEvent evt):void - kosong():void - loadData():void - comJur():void
16
Administrator
-
- Administrator() - btnUbahActionPerformed(java.awt.event.ActionEvent evt):void - jButton1ActionPerformed(java.awt.event.ActionEvent evt):void
4.3.6.3 Activity Diagram Activity diagram merupakan alur kerja pada setiap usecase. Activity diagram pada analisa ini mencakup activity diagram setiap usecase. Gambar 4.5. dibawah ini menjelaskan activity menampilkan poisisi user
IV-27
Gambar 4.7 Activity Diagram Menampilkan Posisi User Pada Input Jurusan
4.3.6.4 Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa pesan yang digambarkan terhadap waktu. Gambar 4.7 dibawah ini menggambarkan sequence diagram login. WorkerLogin
DialogLogin
Peram alan
: user doInbackground()
workerlogin.cancel() DilogLogin() getMain() initLogin()
Gambar 4.8 Sequence Diagram Untuk Log In
IV-28
4.4
Perancangan Perancangan sistem adalah strategi untuk memecahkan masalah dan
mengembangkan solusi yang terbaik untuk Sistem Peramalan Jumlah Pendaftar Calon Mahasiswa. 4.4.1
Perancangan Menu Dalam pemakaian sistem peramalan jumlah pendaftar calon mahasiswa ini
diperlukan susunan daftar pilihan atau menu sehingga penguna yang belum terbiasa dengan sistem juga dapat menggunakan sistem ini. Melalui sistem dialog menu sistem peramalan jumlah pendaftar calon mahasiswa diimplementasikan sehingga pengguna dapat berkomunikasi dengan sistem peramalan jumlah pendaftar calon mahasiswa yang dirancang. Pengguna akan dihadapkan pada berbagai alternative menu yang ada. Dalam menentukan pilihannya, pengguna dapat menggunakan tombol tertentu dan setiap pilihan akan menghasilkan respon/jawaban tertentu. Sistem yang akan dibangun memiliki menu dan sub-sub menu yang digambarkan pada bagan di bawah ini:
Gambar 4.9 Sub Sistem Dialog
IV-29
4.4.2
Perancangan Antar Muka Interface (Interface) Interface sistem merupakan suatu sarana pengembangan sistem yang
ditujukan untuk mempermudah pemakai berkomunikasi dengan sistem yang ada dan konsisten data juga ditunjukkan dalam interface tersebut. Penekanan interface meliputi tampilan yang baik, mudah dipahami dan tombol-tombol yang familiar. 4.4.2.1 Rancang Menu Utama
Gambar 4.10 Rancangan Menu Utama
Tabel 4.11 Spesifikasi Function Key / Objek Tampilan Menu Utama
Nama Objek Jenis Menu MenuBar Pengguna MenuBar Jurusan MenuBar Pendaftar
MenuBar
Peramal
Menubar
Keluar
MenuBar
Keterangan Tampilan Menu Utama Form untuk pengolahan data pengguna Form untuk Form untuk pengolahan data aktual (ubah, pencarian) Form untuk menghitung peramalan jumlah pendaftar calon mahasiswa dan menampilkan hasil peramalan Form untuk keluar dari sistem
IV-30
4.4.2.2 Rancang Menu Daftar Pengguna
Gambar 4.11 Rancangan Menu Daftar Pengguna
4.4.2.3
Rancang Menu Jurusan
Gambar 4.12 Rancang Menu Jurusan
4.12 Spesifikasi Function/ Objek Tampilan Menu Jurusan Nama Objek Menu Pengguna Jurusan
Jenis MenuBar MenuBar MenuBar
Pendaftar
MenuBar
Peramal
Menubar
Kode_jurusan
Combobox
Nama_jurusan Combobox
Keterangan Tampilan Menu Utama Form untuk pengolahan data pengguna Form untuk Form untuk pengolahan data aktual (ubah, pencarian) Form untuk menghitung peramalan jumlah pendaftar calon mahasiswa dan menampilkan hasil peramalan Combobox yang digunakan untuk memasukkan kode jurusan Combobox yang digunakan untuk memilih jurusan
IV-31
Keterangan
Textbox
Simpan
Command/Proses
Ubah
Command/Proses
Reset
Command/Proses
Hapus
Command/Proses
Textbox yang digunakan untuk menginputkan keterangan jurusan Proses untuk menyimpan data yang telah diinputkan Proses yang digunakan untuk mengubah data yang telah disimpan Proses untuk mengosongkan Textbox Proses yang digunakan untuk menghapus data yang telah disimpan
4.4.2.4 Rancang Menu Pendaftar
Gambar 4.13 Rancang Menu Pendaftar
4.13 Spesifikasi Function/ Objek Tampilan Menu Pendaftar Nama Objek Menu Pengguna Jurusan Pendaftar Peramal Jurusan Tahun Jumlah Simpan
Jenis MenuBar MenuBar MenuBar
Keterangan Tampilan Menu Utama Form untuk pengolahan data pengguna Form untuk Form untuk pengolahan data aktual (ubah, MenuBar pencarian) Form untuk menghitung peramalan jumlah pendaftar Menubar calon mahasiswa dan menampilkan hasil peramalan Combobox Combobox yang digunakan untuk memilih jurusan Combobox Combobox yang digunakan untuk memilih tahun Textbox yang digunakan untuk menginputkan Textbox jumlah pendaftar Command/Proses Proses untuk menyimpan data yang telah diinputkan
IV-32
Ubah Reset Hapus
Proses yang digunakan untuk mengubah data yang telah disimpan Command/Proses Proses untuk mengosongkan Textbox Proses yang digunakan untuk menghapus data yang Command/Proses telah disimpan Command/Proses
4.4.2.5 Rancang Menu Ramal
Gambar 4.14 Rancang Menu Ramal
Tabel 4.14 Spesifikasi Function/ Objek Tampilan Menu Ramal Nama Objek Menu Pengguna Jurusan
MenuBar MenuBar MenuBar
Pendaftar
MenuBar
Peramal
Menubar
Jurusan
Combobox
Periode
Combobox
Cari
Command/Proses
Jenis
Keterangan Tampilan Menu Utama Form untuk pengolahan data pengguna Form untuk Form untuk pengolahan data aktual (ubah, pencarian) Form untuk menghitung peramalan jumlah pendaftar calon mahasiswa dan menampilkan hasil peramalan Combobox yang digunakan untuk memilih jurusan Combobox yang digunakan untuk memasukkan tahun ajaran yang akan diramal Proses yang digunakan untuk mencari hasil dari
IV-33
Segarkan
Command/Proses
Cetak
Command/Proses
Ramal
Command/Proses
peramalan Proses yang digunakan untuk merefresh Proses yang digunakan untuk mencetak hasil dari ramalan Proses yang digunakan untuk menampilkan hasil ramalan
IV-34