SKRIPSI SISTEM PENDUKUNG KEPUTUSAN PERAMALAN PENJUALAN MOBIL MENGGUNAKAN METODE TREND MOMENT ( Studi Kasus PT.Hadji Kalla Cabang Kendari)
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
HELMIYANTI MUHADI MUDI E1E1 11 102
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HALU OLEO KENDARI 2016
HALAMAN PENGESAHAN Skripsi Sarjana Sistem Pendukung Keputusan Peramalan Penjualan Mobil
Mengunakan
Metode Trend Moment (Studi Kasus PT.Hadji Kalla Cabang Kendari) Adalah benar dibuat oleh saya sendiri dan belum pernah dibuat dan diserahkan sebelumnya baik sebagian maupun seluruhnya, baik oleh saya ataupun orang lain,
baik di universitas Halu oleo ataupun institusi pendidikan lainnya. Kendari,
Maret 2016
H酬
血
面
Mudi
ElEl ll 102 Kelldari,
卜larct 2016
Pembimbing L
Nip.198111072008122003
Nip.‐
Ⅲ I犠 争
`
HALAMAN PENGESAHAN SKRIPSI SARJANA SISTEM PEND■lKUNG
KEPUWSAN PERAMALAN PENJUALAN MOBIL MENGGUNAKAN METODE 7■ END…
(STUDI KASUS PT.HADJIKALLA CABANG KENDARD Tdahこ 可i
kall dihadapan ddallg penguJl Jlmsan Teknik lnfo.鳳 latika Fakultas Teknik Universitas Halu Oleo dan dttatt memenllhi dan dipertalla■
syaratgtlnamelllperoleh gelar Sttana TelQik. Kendad,
N/1aret 2016
Tim PellgllJll
l NurF可 五ah Mudllis,S.Koln.,MMSI Penlbil■ bing I
2 Statiswaり ,ST,,Ⅳ IⅣ iSI Pcibiinbing II 3.Ralllllat Ralladhan,S,Si.,Ⅳ I.Cs Perlttji l(豫
海 a sidang)
4.Muh.Yal■ in,ST,NII.Eng Pengtti II(Sekrctaris Sidang) 5 Bal■bang Pralnollo,S.Si.,Ⅳ fT PCnguji III
Mengesahkan,
︲ e 動 D 詢
Fakultas Temlik
Mustarllm Musartlddin,ST,MIT,PhD Nip.1973012220011201002
PERNYATAAN
Dengan
ini
ini tidak
saya menyatakan bahwa Laporan Skripsi
karya yang pernah diajukan untuk memperoleh gelar kesarjanaan
terdapat
di
suatu
Perguruan Tinggi dan sejauh yang penulis ketahui bahwa tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.
Kklttbri,
Maret 2016
Helmivanti Muhadi Mudi ElEl ll 102
lV
INTISARI Helmiyanti Muhadi Mudi, E1E111102 SISTEM PENDUKUNG KEPUTUSAN PERAMALAN PENJUALAN MOBIL MENGGUNAKAN METODE TREND MOMENT (STUDI KASUS PT. HADJI KALLA CABANG KENDARI) Skripsi, Fakultas Teknik, 2016 Kata Kunci: Penjualan mobil, Peramalan, Trend moment Peramalan merupakan bagian awal dari suatu proses pengambilan suatu keputusan. Dalam kegiatan produksi, peramalan dilakukan untuk menentukan jumlah permintaan terhadap suatu produk dan merupakan langkah awal dari proses perencanaan dan pengendalian produksi. Proses peramalan memerlukan suatu metode tertentu dan metode mana yang digunakan tergantung dari data dan informasi yang akan diramalkan serta tujuan yang hendak dicapai. Pada aplikasi peramalan ini metode yang digunakan adalah metode trend moment. Metode ini memiliki tiga persamaan utama yang diperlukan dalam peramalan. Dimulai dari perhitungan jumlah data penjualan sampai dengan indeks waktu dan selanjutnya menggunakan menggunakan dua persamaan dalam proses eliminasi. Terakhir menghitung nilai trend tergantung dari bulan yang ingin diramalkan. Data yang digunakan merupakan data penjualan mobil PT.Hadji Kalla Cabang Kendari jenis mini bus yaitu Avanza, Rush dan Yaris dari bulan Januari 2014 sampai Juni 2015. Berdasarkan hasil analisis dan pengujian sistem, maka sistem ini dapat meramalkan penjualan mobil dibulan tertentu dengan syarat data yang digunakan minimal dua periode.
v
ABSTRACT Helmiyanti Muhadi Mudi, E1E111102 DECISION SUPPORT SYSTEM CAR SALES FORECASTING USING TREND MOMENT (CASE STUDY BRANCH PT.HADJI KALLA KENDARI ) Minithesis, Faculty Of Engineering, 2016 Key Word
: Forecasting , Sales of cars, Trend moment
Forecasting is initial part of a process of making a decision. In production activities, forecasting is done to determine the amount of demand for a product and form the first step of the process of production planning and control. Forecasting process requires a certain method and which method to use depends on the data and information that will be predictable and the objectives to be achieved. In the application of this forecasting method used is the method of trend moment. This method has three main equations needed in forecasting. Starting from the calculation of the amount of sales data up to the time index and then use using two equations in the process of elimination. Recently calculate the value trends depending on the month you'd foreseen. The data used is the car sales data PT.Hadji Kalla Branch Kendari mini bus that Avanza, Rush and Yaris from January 2014 to June 2015. Based on the analysis and testing of the system, then the system can predict certain car sales month on condition data used at least two periods.
vi
KATA PENGANTAR Penulis mengucapkan puji syukur kepada Tuhan Yang Maha Esa atas berkat rahmat-Nya, sehingga penulis dapat menyelesaikan pembuatan laporan tugas akhir ini dengan berjudul “SISTEM PENDUKUNG KEPUTUSAN PERAMALAN PENJUALAN MOBIL MENGGUNAKAN METODE TREND MOMENT (STUDI KASUS PT.HADJI KALLA CABANG KENDARI)”.
Tujuan dari pembuatan laporan tugas akhir ini adalah sebagai salah satu syarat menyelesaikan Program Pendidikan Stara Satu (S1), Program Studi Teknik Informatika Universitas Halu Oleo. Penulis mengharapkan bahwa karya tulis ini dapat memberikan informasi yang bermanfaat dan menambah pengetahuan bagi pembaca. Semoga karya tulis ini dapat menjadikan bahan perbandingan dalam periode selanjutnya, sehingga memberikan ide-ide suatu karya ilmiah yang lebih baik. Penyelesaian tugas akhir ini tidak terlepas dari bantuan berbagai pihak yang sangat membantu keberhasilan penulis selaku pelaksana. Untuk itu dalam kesempatan ini, penulis menyampaikan ucapan terima kasih kepada semua pihak yang telah membantu baik itu dalam menyelesaikan laporan ini dan juga dalam pelaksanaan tugas akhir. Penulis ingin mengucapkan terima kasih kepada: 1.
Tuhan Yang Maha Esa yang selalu memberikan kesehatan, bimbingan, karunia kecerdasan, kemampuan, kekuatan dan kasih karunia kepada penulis.
2.
Kedua orang tuaku yaitu, Bapak Herman Muhadi Mudi S.Pd dan Ibu Haerati serta adikku Hildayanti Muhadi Mudi dan Hendrawan Muhadi Mudi yang terkasih dan tercinta yang selalu memberikan semangat, motivasi, serta memberikan dukungan moral dan doa kepada penulis, sehingga dapat menyelesaikan Tugas Akhir ini.
3.
Bapak Prof. Dr. Ir. Usman Rianse, M.Si. selaku Rektor Universitas Halu Oleo.
4.
Bapak Mustarum Musaruddin, ST., MIT, Ph.D. selaku Dekan Fakultas Teknik Universitas Halu Oleo. vii
5.
Ibu Ika Purwanti Ningrum, S.Kom., M.Cs, selaku ketua Program Studi Teknik Informatika Universitas Halu Oleo.
6.
Ibu Isnawaty Gunawan, S.Si., M.T. selaku sekretaris Program Studi Teknik Informatika Universitas Halu Oleo.
7.
Ibu Nur Fajriah Muchlis, S.Kom., MMSI. sebagai pembimbing I yang telah bersedia membimbing dan sabar memberikan masukan serta motivasi kepada penulis dalam menyelesaikan tugas akhir ini.
8.
Ibu Statiswaty, ST., MMSI. sebagai pembimbing II yang selalu sabar dalam
memberikan masukan, motivasi dan semangat kepada penulis sejak awal hingga terselesainya tugas akhir ini. 9.
Bapak Rahmat Ramadhan, S.Si., M.Cs bapak Muh. Yamin, ST., M.Eng dan bapak Bambang Pramono, S.Si., MT. selaku dewan penguji yang telah memberikan ide dan saran bagi penulis dalam menyelesaikan tugas akhir ini.
10. Ibu Elty Rasyid selaku Staff Jurusan Teknik Informatika yang telah membantu dalam hal administrasi mulai dari semester awal sampai ujian akhir. 11. Seluruh dosen dan staf Program Studi Teknik Informatika Fakultas Teknik Universitas Halu Oleo yang telah banyak membantu penulis selama proses belajar di kampus. 12. Teman-teman angkatan 2011 dan semua pihak yang tidak dapat penulis sebut satu persatu, terima kasih untuk kebersamaan, bantuan dan dukungan yang diberikan selama penulis menjalankan studi di Teknik Informatika Universitas Halu Oleo. 13. Seluruh teman-teman teknik dari angkatan tua sampai yang muda, yang telah banyak membantu memberikan dukungan dan bantuan moril kepada penulis dalam penyelesaian skripsi ini.
viii
Semoga Tuhan Yang Maha Esa selalu memberikan limpahan rahmat kepada semua pihak yang telah membantu penulis. Segala kritik dan saran yang bersifat membangun sangat penulis harapkan. Akhir kata semoga tugas akhir ini dapat bermanfaat bagi semua pihak.
Kendari,
Maret 2016
Penulis
HELMIYANTI MUHADI MUDI E1E1 11 102
ix
DAFTAR ISI HALAMAN JUDUL ............................................................................................... i HALAMAN PENGESAHAN ................................................................................ ii HALAMAN PERNYATAAN .............................................................................. iv HALAMAN INTISARI ..........................................................................................v HALAMAN ABSTRACT .................................................................................... vi KATA PENGANTAR ......................................................................................... vii DAFTAR ISI ...........................................................................................................x DAFTAR TABEL ............................................................................................... xiii DAFTAR GAMBAR .......................................................................................... xiv DAFTAR ISTILAH ..............................................................................................xv BAB I PENDAHULUAN ......................................................................................1 1.1 Latar Belakang .............................................................................................1 1.2 Rumusan Masalah ........................................................................................2 1.3 Batasan Masalah ...........................................................................................2 1.4 Tujuan Penelitian ..........................................................................................2 1.5 Manfaat Penelitian ........................................................................................3 1.6 Sistematika Penulisan ...................................................................................3 1.7 Tinjauan Pustaka ..........................................................................................4 BAB II LANDASAN TEORI ...............................................................................5 2.1 Pengertian Peramalan ....................................................................................5 2.1.1 Tujuan Peramalan ...............................................................................5 2.1.2 Proses Peramalan.................................................................................6 2.1.3 Teknik Peramalan ...............................................................................7 2.2 Sistem Pendukung Keputusan .......................................................................8 2.2.1 Pengertian Sistem Pendukung Keputusan ..........................................8 2.2.2 Manfaat Sistem Pendukung Keputusan ..............................................9 2.2.3 Pengambilan Keputusan ...................................................................10 2.2.4 Komponen-Komponen Sistem Pendukung Keputusan....…….........10 2.3 RUP ............................................................................................................11 2.3.1 Pengertian RUP ................................................................................11
x
2.3.2 Karakteristik RUP .............................................................................11 2.4 Metode Trend Moment ................................................................................12 2.4.1 Menghitung Kesalahan Peramalan ...................................................14 2.5 Pemrograman Java ......................................................................................15 2.6 UML (Unified Modeling Language) ...........................................................17 2.6.1 Langkah-Langkah Penggunaan UML ..............................................17 2.6.2 Konsep Pemodelan Menggunakan UML .........................................18 2.6.3 Bangunan Dasar Metodologi UML (Unified Modeling Language)..19 2.6.4 Jenis-Jenis Diagram UML(Unified Modeling Language).................21 2.6.5 Keuntungan Dan Kelemahan UML(Unified Modeling Language) ..22 BAB III METODOLOGI PENELITIAN .........................................................23 3.1 Tempat dan Waktu Penelitian ...................................................................23 3.2 Metode Pengumpulan Data ........................................................................23 3.3 Metode Pengembangan Sistem ..................................................................24 BAB IV ANALISIS DAN PERANCANGAN ....................................................25 4.1 Analisis Sistem ............................................................................................25 4.1.1 Analisis Kebutuhan Fungsional .......................................................25 4.1.2 Analisis Kebutuhan Non-Fungsional ...............................................25 4.2. Analisis Metode Trend Moment ................................................................26 4.3 Perancangan Sistem.....................................................................................31 4.3.1 Use Case Diagram ...........................................................................31 4.3.2 Activity Diagram ..............................................................................33 4.3.3 Sequence Diagram ...........................................................................35 4.3.4 Class Diagram ..................................................................................37 4.3.5 ERD (Entity Relationshipm Diagram) ..............................................38 4.3.6 Perancangan Basis Data ....................................................................39 BAB V IMPLEMENTASI DAN PEMBAHASAN……………………………45 5.1 Implementasi Sistem ...................................................................................45 5.1.1 Interface Aplikasi ..............................................................................45 5.2 Pengujian Sistem ........................................................................................49 5.2.1 Pengujian Mobil Jenis Avanza ..........................................................49 5.2.2 Pengujian Mobil Jenis Rush ..............................................................51
xi
5.2.3 Pengujian Mobil Jenis Yaris .............................................................53 BAB VI PENUTUP .............................................................................................56 6.1 Kesimpulan..................................................................................................56 6.2 Saran ...........................................................................................................56 DAFTAR PUSTAKA LISTING PROGRAM
xii
DAFTAR TABEL
Tabel 3.1 Tabel waktu penelitian ...........................................................................23 Tabel 4.1 Data penjualan mobil PT.Hadji Kalla Cabang Kendari .........................26 Tabel 4.2 Tabel perhitungan trend moment jenis mobil Avanza ...........................28 Tabel 4.3 Definisi Use case Sistem .......................................................................32 Tabel 4.4 Tabel data mobil ....................................................................................38 Tabel 4.5 Tabel data penjualan ..............................................................................38 Tabel 4.6 Tabel peramalan.....................................................................................39 Tabel 5.1 Pengujian peramalan mobil jenis Avanza..............................................47 Tabel 5.2 Pengujian peramalan mobil jenis Rush..................................................49 Tabel 5.1 Pengujian peramalan mobil jenis Yaris .................................................51
xiii
DAFTAR GAMBAR Gambar 4.1 Use case diagram sistem peramalan ..................................................32 Gambar 4.2 Activity diagram system .....................................................................34 Gambar 4.3 Activity diagram forecasting .............................................................35 Gambar 4.4 Sequence diagram login .....................................................................36 Gambar 4.5 Sequence diagram forecasting ...........................................................36 Gambar 4.6 Sequence diagram admin ...................................................................37 Gambar 4.7 ERD (Entity Relationship Diagram) system forecasting ...................37 Gambar 4.8 Perancangan form login .....................................................................39 Gambar 4.9 Perancangan halaman utama ..............................................................40 Gambar 4.10 Perancangan halaman admin............................................................40 Gambar 4.11 Perancangan halaman data mobil .....................................................41 Gambar 4.12 Perancangan halaman penjualan mobil ............................................41 Gambar 4.13 Perancangan halaman grafik penjualan............................................42 Gambar 4.14 Perancangan halaman peramalan .....................................................42 Gambar 5.1 Halaman login ....................................................................................43 Gambar 5.2 Halaman menu utama.........................................................................44 Gambar 5.3 Form admin ........................................................................................44 Gambar 5.4 Menu data mobil.................................................................................45 Gambar 5.5 Menu data penjualan mobil ................................................................45 Gambar 5.6 Menu grafiik penjualan ......................................................................46 Gambar 5.7 Menu Forecasting ..............................................................................46 Gambar 5.8 Form peramalan penjualan mobil Avanza .........................................48 Gambar 5.9 Hasil peramalan penjualan mobil Avanza..........................................48 Gambar 5.10 Hasil analisis APE mobil jenis Avanza............................................49 Gambar 5.11 Form peramalan penjualan mobil Rush ..........................................50 Gambar 5.12 Hasil peramalan penjualan mobil Rush............................................50 Gambar 5.13 Hasil analisis APE mobil jenis Rush ...............................................51 Gambar 5.14 Form peramalan penjualan mobil Yaris ..........................................52 Gambar 5.15 Hasil peramalan penjualan mobil Yaris ...........................................53 Gambar 5.16 Hasil analisis APE mobil jenis Yaris ..............................................53
xiv
DAFTAR ISTILAH
1. DSS (Decision Support System) merupakan sebuah sistem yang mampu memberikan kemampuan pemecahan masalah maupun kemampuan pengkomunikasian untuk masalah dengan kondisi semi terstruktur dan tidak terstruktur. 2. Forecasting/peramalan merupakan bagian awal dari suatu proses pengambilan suatu keputusan. 3. Java adalah bahasa pemrograman beriorentasi objek murni yang dibuat berdasarkan kemampuan-kemampuan terbaik bahasa pemrograman objek. 4. MSE (Mean Squared Error) merupakan metode untuk menentukan seberapa besar kesalahan ramalan. 5. RUP (Rational Unified Process) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. 6. Trend Moment merupakan metode untuk mencari garis trend dengan perhitungan statistika dan matematika tertentu guna mengetahui fungsi garis lurus sebagai pengganti garis patah-patah yang dibentuk oleh data historis perusahaan. 7. UML (Unified Modeling Language) adalah sebuah bahasa untuk menentukan visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak.
xv
BAB I PENDAHULUAN 1.1. Latar Belakang Perkembangan teknologi informasi pada zaman ini berkembang dengan sangat cepat dan pesat. Salah satu alat teknologi yang dimaksud adalah komputer. Hampir semua bidang pekerjaan memanfaatkan komputer dalam mengatasi masalah. Peramalan merupakan bagian awal dari suatu proses pengambilan suatu keputusan. Sebelum melakukan peramalan harus diketahui terlebih dahulu apa sebenarnya persoalan dalam pengambilan keputusan itu. Peramalan adalah pemikiran terhadap suatu besaran, misalnya permintaan terhadap satu atau beberapa produk pada periode yang akan datang. Kegiatan produksi, peramalan dilakukan untuk menentukan jumlah permintaan terhadap suatu produk dan merupakan langkah awal dari proses perencanaan dan pengendalian produksi. Dalam peramalan ditetapkan jenis produk apa yang diperlukan (what), jumlahnya (how many), dan kapan dibutuhkan (when). Diperusahaan PT.Hadji Kalla Cabang Kendari belum mempunyai sistem aplikasi untuk memprediksi penjualan mobil, jadi untuk memudahkan mengetahui prediksi penjualan, perusahaan dapat menggunakan sistem aplikasi dengan otomatis tanpa menghitung penjualan dengan perhitungan manual. Aplikasi ini peramalan yang dilakukan dengan menggunakan data-data permintaan/pemesanan masa lalu yang berbentuk numerik sehingga menggunakan pendekatan kuantitatif dengan model deret berkala yaitu Trend Moment. Contoh penelitian yang dilakukan oleh Arief Soma Darmawan dengan judul penelitian Sistem Pendukung Keputusan Peramalan Penjualan Batik di Pekalongan dengan Metode Trend Moment dimana penelitian tersebut meramalkan penjualan batik yang akan datang dengan penggunaan data dua tahun terakhir dengan Januari 2006 sampai Desember 2007. Penulisan ilmiah ini, penulis bermaksud meneliti penjualan kendaraan Perusahaan PT.HADJI KALLA CABANG KENDARI dengan metode peramalan 1
2
trend moment. Data yang digunakan diambil dari Januari 2014 sampai Juni 2015 dengan tiga jenis mobil (Avanza,Rush,Yaris). Dengan adanya kegiatan peramalan penjualan perusahaan memerlukan suatu alat bantu yang dapat membantu dan memaksimalkan
kinerja
perusahaan
dalam
peramalan
(forecasting)
memperkirakan jumlah mobil yang laku pada periode akan datang. Berdasarkan uraian diatas penulis ingin mengetahui seberapa besar keberhasilan peramalan penjualan kendaraan, khususnya pada PT.Hadji Kalla Cabang Kendari. Dengan membuat tugas akhir ini yang berjudul “Sistem Pendukung Keputusan Peramalan Penjualan Mobil Menggunakan Metode Trend Moment Studi Kasus PT.Hadji Kalla Cabang Kendari”.
1.2. Rumusan Masalah Perumusan masalah pada aplikasi ini yaitu bagaimana merancang dan membangun aplikasi peramalan (forecasting) penjualan mobil menggunakan metode Trend Moment.
1.3. Batasan Masalah Batasan masalah dalam penelitian ini, yaitu: 1. Studi kasus penelitian dilakukan di PT.Hadji Kalla Cabang Kendari 2. Peramalan yang dilakukan hanya untuk tipe mobil berjenis mini bus (Yaris,Avanza, Rush). 3. Metode
peramalan
yang
digunakan
adalah
Trend
Moment
dengan
menggunakan bahasa pemrograman java berbasis desktop.
1.4. Tujuan Penelitian Tujuan dari penelitian ini adalah untuk merancang dan membangun aplikasi peramalan (forecasting) penjualan mobil menggunakan metode Trend Moment.
3
1.5. Manfaat Penelitian Manfaat dalam penelitian yaitu aplikasi ini diharapkan perusahaan dapat mengetahui tingkat penjualan mobil setiap bulannya dan dapat menentukan berapa persediaan kendaraan setiap bulannya.
1.6. Sistematika Penulisan Tugas akhir ini terdiri dari lima bab, masing-masing merupakan rangkaian sistematis dalam pengkajian materi berdasarkan rumusan masalah yang telah dikemukakan pada BAB I dengan sistematika sebagai berikut: BAB I PENDAHULUAN Bab ini akan menguraikan latar belakang masalah, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian. BAB II LANDASAN TEORI Bab ini akan memuat tentang teori-teori yang menjadi landasan dalam pembuatan sistem. BAB III METODE PENELITIAN Bab ini membahas tentang tahapan proses atau metode secara umum yang digunakan dalam pembuatan aplikasi. BAB IV ANALISIS DAN PERANCANGAN SISTEM Bab ini akan menjelaskan tentang analisa dari data yang telah diperoleh dan pembahasan mengenai pengembangan sistem. BAB V IMPLEMENTASI DAN PEMBAHASAN Bab ini akan memuat tentang implementasi dan pembahasan dari perangkat lunak yang dibangun berdasarkan hasil analisis dan perancangan (design) pada bab sebelumnya. BAB VI PENUTUP Bab ini berisikan kesimpulan dari sistem yang dibuat beserta saran-saran yang diambil sesuai dengan hasil pembahasan.
4
1.7. Tinjauan Pustaka Penelitian ini didasarkan pada penelitian sebelumnya yang dilakukan oleh (Darmawan, 2012) dalam Studi analisis peramalan dengan metode Trend Moment. Tujuan penelitian tersebut digunakan untuk dapat mengatasi permasalahan yaitu peramalan penjualan batik. Dari penelitian ini mengambil data dua tahun terakhir dari bulan Januari 2006 sampai dengan Desember 2007, dengan jenis batik tulis buharto. Total penjualan 258 dengan rata-rata 10,75. Hasil prediksi untuk bulan Januari tahun 2008 adalah 10 batik tulis buharto akan terjual. Penelitian berikutnya dilakukan oleh (Ferrizal., dkk, 2012 ) dengan judul Analisa Peramalan Penjualan Handphone Menggunakan Metode Trend Moment. Tujuan dari penelitian ini yaitu untuk peramalan penjualan barang (handphone) di Hong Cell Plaza Avava adalah menggunakan perkiraan, apabila pemesanan handphone dalam jumlah yang cukup banyak dan ternyata penjualan yang laku hanya beberapa saja sedangkan handphone baru makin terus berkembang otomatis harga handphone yang lama menjadi turun. Teknik peramalan atau forecasting dirasa sangat cocok untuk menyelesaikan permasalahan dan dapat membantu untuk meramalkan penjualan menggunakan metode Trend Moment dalam studi kasus tersebut. Penelitian berikutnya dilakukan oleh (Pristiawan, 2015) dengan judul Implementasi Metode Trend Moment Untuk Peramalan Penjualan Cabai Peramalan tersebut sangat berpengaruh pada penjual cabai untuk menentukan jumlah cabai yang akan dijual,apabila memesan cabai dalam jumlah yang cukup banyak dan ternyata penjualan cabai tersebut hanya terjual sedikit sedangkan daya tahan cabai yang tidak lama dan cepat membusuk yang akan membuat rugi penjual cabai. Penelitian berikutnya dilakukan oleh (Helmiyanti Muhadi Mudi, 2016) dengan judul Sistem Pendukung Keputusan Peramalan Penjualan Mobil Menggunakan Metode Trend Moment. Tujuan dari penelitian ini yaitu meramalkan penjualan mobil di PT.Hadji Kalla Cabang Kendari yang dilakukan dibulan tertentu dengan syarat data digunakan minimal dua periode pada metode trend moment.
BAB II LANDASAN TEORI
2.1. Pengertian Peramalan Forecasting adalah peramalan apa yang akan terjadi pada masa yang akan datang, sedangkan rencana merupakan penentuan apa yang akan dilakukan pada waktu yang akan datang. Dengan sendirinya terjadi perbedaan antara forecasting dengan rencana (Subagyo, 1986). Forecasting (peramalan) adalah suatu unsur yang sangat penting dalam pengambilan keputusan. Ramalan serial data yang dilakukan umumnya akan berdasarkan pada data masa lampau yang dianalisis dengan menggunakan caracara tertentu. Data masa lampau dikumpulkan, dipelajari, dan dianalisis dihubungkan dengan perjalanana waktu dan mencoba mengatakan sesuatu yang akan terjadi dimasa mendatang. Akurasi suatu ramalan berbeda untuk setiap persoalan dan berbagai faktor, akurasi peramalan tidak akan selalu didapatkan hasil ramalan dengan ketepatan 100%, namun demikian tidak berarti bahwa ramalan menjadi tidak penting. Ramalan telah banyak digunakan dan membantu dengan baik dalam berbagai kasus dalam manajemen, sebagai pendukung dalam perencanaan, pengawasan, dan penagambilan keputusan. 2.1.1 Tujuan Peramalan Menurut Subagyo (1986), peramalan bertujuan untuk mendapatkan peramalan atau predikisi yang bisa meminimumkan kesalahan dalam meramal yang biasanya diukur dengan mean square error, mean absolute error dan sebagainya. Hal-hal yang harus ditentukan dalam peramalan : 1. Variabel-variabel apa yang harus di estimasi 2. Siapa yang akan menggunakan hasil peramalan 3. Untuk tujuan –tujuan apa hasil peramalan digunakan 4. Estimasi jangka panjang atau jangka pendek yang diinginkan 5. Derajat ketepatan estimasi yang diinginkan 6. Kapan estimasi dibutuhkan
5
6
7. Bagian-bagian peramalan yang diinginkan, seperti peramalan untuk kelompok pembeli, kelompok produk atau daerah geografis. 2.1.2 Proses Peramalan Peramalan adalah suatu usaha untuk meramalkan keadaan dimasa mendatang melalui pengujian dimasa lalu. Esensi peramalan adalah perkiraan peristiwa – peristiwa di waktu yang akan datang atas dasar pola – pola di waktu yang lalu dan penggunaan kebijakan, sedangkan proyeksi fungsi mekanikal. Proses peramalan biasanya terdiri dari langkah – langkah sebagai berikut : 1.
Penentuan tujuan Langkah pertama terdiri atas penentuan macam estimasi yang diingkinkan.
Sebaliknya, tujuan tergantung kepada kebutuhan – kebutuhan informasi para manajer. Analisis membicarakan dengan para pembuat keputusan untuk mengetahui apa kebutuhan – kebutuhan mereka, dan menentukan : a. Variabel apa yang akan di estimasi. b. Siapa yang akan menggunakan hasil peramalan. c. Untuk tujuan – tujuan apa hasil peramalan digunakan. d. Estimasi jangka panjang atau jangka pendek yang diinginkan e. Derajat ketepatan estimasi yang diinginkan. 2.
Pengembangan model Setelah tujuan ditetapkan, langkah berikutnya adalah pengembangan suatu
model yang merupakan penyajian secara lebih sederhana sistem yang dipelajari. Analisis hendaknya memilih suatu model yang menggambarkan secara realistis perilaku variabel – variabel yang dipertimbangkan. 3.
Pengujian model Sebelum diterapkan , model biasanya diuji untuk menentukan tingkat akurasi,
validitas
dan
realibilitas
yang
diharapkan.
Ini
sering
mencakup
penerapannya pada data historik dan penyiapan estimasi untuk tahun – tahun sekarang dengan data nyata yang tersedia. Nilai suatu model ditentukan oleh derajat ketepatan hasil peramalan dengan kenyataan ( aktual ). Dengan kata lain, pengujian model bermaksud untuk mengetahui validitas atau kemampuan prediktif secara logic suatu model.
7
4.
Penerapan model Setelah pengujian, analisis menerapkan model dalam tahap ini, data historic
dimasukan dalam model untuk menghasilkan suatu ramalan. 5. Revisi dan evaluasi Ramalan – ramalan yang telah dibuat harus senantiasa diperbaiki dan ditinjau kembali. Perbaikan mungkin perlu dilakukan karena adanya perubahan – perubahan dalam perusahaan atau lingkungan nya, seperti tingkat harga produk perusahaan karakteristik – karakteristik produk, pengeluaran – pengeluaran pengiklanan, tingkat pengeluaran pemerintah, kebijakan moneter dan kemajuan teknologi. Evalusai, dilain pihak merupakan pembanding ramalan – ramalan dengan hasil – hasil nyata untuk menilai ketepatan penggunaan suatu metodologi atau teknik peramalan. Langkah ini diperlukan untuk menjaga kualitas estimasi – estimasi di waktu yang akan datang. 2.1.3
Teknik peramalan Dalam peramalan,teknik yang digunakan terbagi atas dua kategori utama
yaitu metode kuantitatif dan metode kualitatif. 1.
Metode kuantitatif Metode kuantitatif dapat dibagi ke dalam:
a. Deret berkala atau runtun waktu (time series) b. Indikator ekonomi c. Model ekonometri, metode ini sangat beragam dan setiap teknik memiliki sifat, ketepatan dan biaya yang harus dipertimbangkan dalam memilih metode tertentu. Metode kuantitatif didasarkan atas prinsip – prinsip statistik yang memiliki tingkat ketepatan tinggi atau dapat meminimumkan kesalahan (error), lebih sistematis, dan lebih popular dalam penggunaannya. Untuk menggunakan metode kuantitatif terdapat tiga kondisi yang harus dipenuhi: a. Tersedia informasi tentang masa lalu b. Informasi tersebut dapat dikuantitatifkan dalam bentuk data numerik. c. Diasumsikan bahwa beberapa pola masa lalu akan terus berlanjut.
8
2. Metode kualitatif Metode kualitatif dapat berupa pengumpulan pendapat yang dapat dibagi menjadi: a. Pengumpulan pendapat para ahli b. mengelompokan dalam metode eksploratoris dan normatif.
2.2
Sistem Pendukung Keputusan
2.2.1
Pengertian Sistem Pendukung Keputusan Sistem Pendukung Keputusan (SPK) adalah bagian dari sistem informasi
berbasis komputer termasuk sistem berbasis pengetahuan atau manajemen pengetahuan yang dipakai untuk mendukung pengambilan keputusan dalam suatu organisasi atau perusahaan. Dapat juga dikatakan sebagai sistem komputer yang mengolah data menjadi informasi untuk mengambil keputusan dari masalah semi terstruktur yang spesifik. Pada dasarnya sistem pendukung keputusan merupakan pengembangan lebih lanjut dari sistem informasi manajemen terkomputerisasi yang dirancang sedemikian rupa sehingga bersifat interaktif dengan pemakainya. Sifat interaktif dimaksudkan untuk memudahkan integrasi antara berbagai komponen dalam proses pengambilan keputusan seperti prosedur, kebijakan, teknik analisis, serta pengalaman dan wawasan manajerial guna membentuk suatu kerangka keputusan bersifat fleksibel. Menurut Turban dan Aronson (2001) Sistem Pendukung Keputusan (SPK) atau Decision Support System (DSS) adalah sebuah sistem yang mampu memberikan
kemampuan
pemecahan
masalah
maupun
kemampuan
pengkomunikasian untuk masalah dengan kondisi semi terstruktur dan tak terstruktur. Sistem ini digunakan untuk membantu pengambilan keputusan dalam situasi semi terstruktur dan situasi yang tidak terstruktur, dimana tak seorangpun tahu secara pasti bagaimana keputusan seharusnya dibuat. Dari definisi diatas dapat disimpulkan bahwa SPK adalah suatu sistem informasi yang ditunjukan untuk membantu manajemen dalam mengambil keputusan yang berkaitan dengan persoalan yang bersifat semi terstruktur sistem
9
ini memiliki fasilitas untuk menghasilkan berbagai alternatif yang secara interaktif digunakan oleh pemakai. Bagaimanapun juga harus di ingat bahwa SPK tidak ditekankan untuk membuat keputusan. Dengan sekumpulan untuk mengelolah informasi/data yang diperlukan dalam proses pengambilan keputusan, sistem hanya berfungsi sebagai alat bantu manajemen. Jadi sistem ini tidak dimaksudkan untuk menggantikan fungsi pengambilan keputusan dalam hal membuat keputusan. Sistem ini dirancang hanyalah untuk membantu pengambil keputusan dalam melaksanakan tugasnya. Pembuat keputusan diperlukan pada semua tahap kegiatan administrasi dan manajemen. Misalnya dalam tahap perancangan diperlukan banyak kegiatan pembuatan keputusan sepanjang proses perancangan tersebut. Keputusan-keputusan yang dibuat dalam proses perancangan ditujukan kepada pemilihan alternatif program dan prioritasnya. Dalam pembuatan keputusan tersebut dicakup kegiatan identifikasi masalah, perumusan dan pemilihan alternatif keputusan berdasarkan perhitungan konsekuensi dan berbagai dampak yang timbul. Begitu juga dalam hidup implementasi atau operasioal suatu organisasi, para menajer harus membuat banyak keputusan rutin dalam rangka mengendalikan usaha sesuai dengan rencana dan kondisi yang berlaku. Sedangkan dalam tahap pengawasan yang mencangkup pemantauan, pemeriksa dan penilaian (evaluasi) terhadap hasil pelaksaan kerja juga banyak keputusan dibuat dalam rangka koreksi terhadap penyimpangan yang terjadi agar hasil yang diperoleh lebih sesuai dengan sasaran mutu, waktu dan penggunaan sumberdaya yang efisien. 2.2.2
Manfaat Sistem Pendukung Keputusan Manfaat sistem pendukung keputusan adalah :
a. Memperluas kemampuan pengambil keputusan dalam memproses data atau informasi bagi pemakainya. b. Memperbaiki
keefektifan manajerial. Memperbolehkan manajer untuk
melakukan tugas dalam waktu yang singkat. c. Mampu untuk mencoba beberapa strategi yang berada di bawah konfigurasi yang berbeda, dengan cepat dan obyektif.
10
d. Membantu pengambil keputusan untuk memecahkan masalah terutama berbagai masalah yang sangat kompleks dan tidak terstruktur. 2.2.3
Pengambilan Keputusan Keputusan merupakan suatu relasi memilih beberapa solusi yang
dilakukan secara
sadar sebagai
sebuah
strategi
untuk
pemecahan
permasalahan. Secara umum, pengertian teori pengambilan keputusan adalah teknik pendekatan yang digunakan dalam proses pemilihan tindakan sebagai cara untuk pemecahan permasalahan untuk mencapai hasil yang maksimal. Pengambilan keputusan merupakan hal yang sangat penting dalam kegiatan manajemen, untuk
itu ada beberapa tahapan dalam mengambil keputusan,
diantaranya adalah: 1. Identifikasi masalah 2. Pemilihan metode pemecahan masalah 3. Pengumpulan
data
yang
dibutuhkan
untuk
melaksanakan
model
keputusan yang telah ditetapkan 4. Mengimplementasikan model yang telah ditetapkan 5. Mengevaluasi sisi positif dari setiap alternatif yang ada 6. Melaksanakan solusi terpilih Tahapan-tahapan yang telah disebutkan tersebut dapat menjadi faktor yang sangat berpengaruh bagi kegiatan manajemen dalam mengambil keputusan suatu permasalahan. 2.2.4
Komponen-Komponen Sistem Pendukung Keputusan Sistem Pendukung Keputusan (SPK) pada umumnya terdiri dari 3
(tiga) komponen utama atau subsistem, yaitu: 1.
Subsistem Manajemen Basis Data (database) Subsistem data merupakan komponen SPK penyedia data bagi sistem.
Data tersebut disimpan dalam suatu basis data (database) yang diorganisasikan oleh suatu sistem yang disebut sistem manajemen basis data (database management system).
11
2.
Subsistem Manajemen Basis Model (Model base) Keunikan dari SPK adalah kemampuannya dalam mengintegrasikan data
dengan
model-model
keputusan.
Model
tersebut
diorganisasikan
oleh
pengelola model yaitu basis model (model base). 3.
Subsistem Manajemen Bisnis Dialog (user sistem interface) Keunikan lain dari SPK adanya fasilitas yang mampu mengintegrasikan
sistem dengan pemakai secara interaktif. Fasilitas ini dikenal dengan subsistem dialog. Melalui sistem dialog inilah sistem di implementasikan sehingga pemakai dapat berkomunikasi dengan sistem yang dirancang.
2.3
RUP
2.3.1
Pengertian RUP RUP (Rational Unified Process)
merupakan suatu metode rekayasa
perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Seperti yang udah dibahas di atas, RUP dikembangkan oleh perusahaan Rational Software. RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus
pada pengembangan model dengan menggunakan Unified Model
Language (UML). Di dalam perkembangan teknologi komputer akan kebutuhan manusia yang semakin pesat membuat para pembuat software membuat sebuah perangkat lunak yang bisa memudahkan para penggunanya. Dilatar belakangi dengan perkembangan tehnologi itu maka di ciptakan perangkat lunak dengan berorientasi
objek.
Salah
satunya
adalah
Rational
Unified
Process.
Menggabungkan pengalaman dasar pengguna-pengguna ini menyebabkan artikulasi tujuh praktik terbaik rekayasa perangkat lunak modern: 1. Mengembangkan iteratively, dengan risiko sebagai sopir iterasi utama 2. Mengatur persyaratan 3. Menggunakan arsitektur berbasis komponen 4. Lunak model visual 5. Terus kualitas verifikasi 6. Kontrol perubahan
12
7. Customization. Cara kerja RUP itu didasarkan pada 6 kunci prinsip bagi perkembangan bisnis yang terkendali yaitu : 1. Proses penyesuaian terhadap lingkungan, pekerjaan 2. Menyeimbangkan pengutamaan dari para stakeholders 3. Melakukan kerjasama antar tim 4. Mendemonstrasikan hasil-hasil yang ada secara berulang-ulang 5. Menaikkan tingkat abtraksi dari sebuah software 6. Pemusatan pada kualitas secara terus-menerus RUP berbasis konsep object oriented, dengan aktifitas yang berpusat pada pengembangan model dengan menggunakan Unified Model Language (UML). Dibawah dapat dilihat bahwa RUP memiliki gambaran, yaitu: 1. Dimensi pertama digambarkan secara horizontal. Dimensi ini merepresentasi waktu dan
menunjukkan aspek dinamis dari proses, yaitu siklus, tahap,
iterasi, dan milestone. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition. 2. Dimensi kedua digambarkan secara vertikal. Dimensi ini merepresentasikan aspek statis dari proses, yaitu aktivitas, artifak, pelaksana kerja (worker) dan aliran kerja (workflow) empat elemen penting, yakni who is doing, what, how dan where. 2.3.2
Karakteristik RUP RUP adalah proses pengembangan perangkat lunak berbasis
UML
(Unified Modeling Language) yang mempunyai karakteristik: 1. Iterative Tahap pengembangan untuk setiap produk yang diserahkan (release) dilaksanakan secara berulang. 2. Architecture centric Menggunakan
arsitektur
sistem
sebagai
artifak
utama
untuk
konseptualisasi, konstruksi, pengelolaan, dan penyusunan sistem selama pengembangan.
13
3. Use case-driven Menggunakan use case sebagai artifak utama untuk menetapkan perilaku sistem yang diinginkan dan untuk mengkomunikasikan perilaku sistem tersebut kepada para stakeholder sistem. 4. Risk-driven Menghilangkan atau mengurangi risiko-risiko yang dapat menghambat kesuksesan proyek.
2.4 Metode Trend Moment Menurut Sugiarto dan Dergibson (2002) Dalam aplikasi
ini peramalan
dilakukan dengan menggunakan data-data permintaan/pemesanan masa lalu yang berbentuk numerik sehingga menggunakan pendekatan kuantitatif dengan model deret berkala yaitu Trend Moment. Trend Moment merupakan metode untuk mencari garis trend dengan perhitungan statistika dan matematika tertentu guna mengetahui fungsi garis lurus sebagai pengganti garis patah-patah yang dibentuk oleh data historis perusahaan. Dengan demikian pengaruh unsur subyektif dapat dihindarkan. Persamaan trend dengan metode Trend Moment pada persamaan (2.1) . (2.1) Dimana : Y : nilai trend ( Peramalan ) a : bilangan konstant b : slope atau koefisien kecondongan garis trend X : indeks waktu ( x = 0, 1, 2, 3, …, n ) Sedangkan untuk menghitung nilai a dan b digunakan rumus persamaan (2.2) dan (2.3) . ∑ ∑
∑ ∑
(2.2) ∑
Dimana : ∑ = Jumlah dari data penjulan
(2.3)
14
∑
= Jumlah dari periode waktu
∑
= Jumlah dari data penjualan dikali dengan periode waktu = Jumlah data
Pada perusahaan yang memproduksi seringkali permintaan terhadap produknya dipengaruhi oleh faktor musiman yang berkaitan dengan fluktuasi periodik serta bersifat relatif konstan. Oleh karena itu nilai-nilai ramalan yang telah didapat dari hasil peramalan dengan metode trend moment akan dikoreksi terhadap pengaruh musiman dengan menggunakan indeks musim. Perhitungan indeks musim pada persamaan (2.4) . (2.4) Untuk mendapatkan hasil ramalan akhir setelah dipengaruhi oleh indeks musim digunakan perhitungan persamaan (2.5) . (2.5) Dimana : Y*
: hasil ramalan dengan menggunakan metode trend moment yang dipengaruhi oleh indeks musim.
Y
: hasil ramalan dengan menggunakan trend moment
Kelebihan dari metode trend moment dibandingkan dengan metode lainnya terletak pada penggunaan parameter X yang dipakai, sehingga tidak ada perbedaan apakah data yang dipakai merupakan data historis berjumlah genap ataukah ganjil, karena nilai dalam parameter X selalu dimulai dengan nilai 0 sebagai urutan pertama. 2.4.1
Menghitung Kesalahan Peramalan Menurut Makridakis, Wright dan Megee (1992) Hasil proyeksi yang
akurat adalah forecasting yang bisa meminimalkan kesalahan meramal (forecast error). Besarnya forecasting error dihitung dengan mengurangi data riil dengan besarnya ramalan.
15
( )
(2.6)
Keterangan : : data riil periode ke –t : ramalan periode ke –t Dalam menghitung forecasting error digunakan Absolute Percentage Error (APE) atau kesalahan persentase absolut digunakan rumus persamaan (2.7).
=|
2.5
|
(2.7)
Pemrograman Java Java adalah bahasa pemrograman berorientasi objek murni yang dibuat
berdasarkan kemampuan-kemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula). Java diciptakan oleh James Gosling, developer dari Sun Microsystems pada tahun 1991. Bahasa Java dirancang sedemikian rupa agar perangkat lunak yang dibuat menggunakan bahasa Java dapat berjalan pada semua Platform (Platform independence). Ini berati bahwa sekali suatu program ditulis atau aplikasi dibangun maka dapat dijalankan pada berbagai sistem operasi sebagaimana mestinya, Tanpa perlu melakukan kompilasi ulang. Java adalah bahasa pemrograman yang sederhana dan tangguh. Berikut ini adalah beberapa karakteristik dari Java : 1.
Berorientasi Object, java telah menerapkan konsep pemograman berorientasi object yang modern dalam implementasinya
2.
Robust, java mendorong pemograman yang bebas dari kesalahan dengan bersifat strongly typed dan memiliki run-time checking
3.
Protable, program java dapat berjalan pada sistem operasi apapun yang miliki Java Virtual Machine
4.
Multithreading, Java mendukung pemograman multithreading dan telah terintegrasi secara langsung dalam bahasa Java.
5.
Sederhana, Java menggunakan bahasa yang sederhana dan mudah dipelajari.
16
6.
Terdistribusi, Java didesain untuk berjalan pada lingkungan yang terdistribusi seperti halnya internet.
7.
Aman, aplikasi yang dibuat dengan bahasa java lebih dapat dijamin keamanannya terutama untuk aplikasi internet.
8.
Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem operasi tertentu.
9.
Interpreted, aplikasi Java bisa dieksekusi pada platform yang berbeda-beda karena melakukan interpretasi pada bytecode.
10. Berkinerja Tinggi, bytecode Java telah teroptimasi dengan baik sehingga eksekusi program dapat dilakukan secara cepat. Beberapa kelebihan Java antara lain adalah sebagai berikut: 1. MultiPlatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa Platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa Platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendirisendiri
(yang
dapat
diunduh
dari
situs
Java)
untuk
meninterpretasikan bytecode tersebut. 2. OOP (Object Oriented Programming - Pemrogram Berorientasi Objek). 3. Perpustakaan
Kelas
Yang
Lengkap,
kelengkapan library/perpustakaan (kumpulan
Java
terkenal
program
program
dengan yang
disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan
oleh
para
pemrogram
untuk
membangun
aplikasinya.
Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
17
4. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. 5. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
2.6
UML (Unified Modeling Language) UML adalah sebuah bahasa untuk menentukan, visualisasi, kontruksi, dan
mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya. UML merupakan bahasa standar untuk penulisan blueprint software yang digunakan untuk visualisasi, spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat lunak. 2.6.1 Langkah-Langkah Penggunaan Unified Modeling Language (UML) Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML: 1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. 2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatancatatan lain. 3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem. 4. Definisikan requirement lain(non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem. 5. Berdasarkan use case diagram, mulailah membuat activity diagram.
18
6. Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir. 7. Buatlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case. 8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package
atau domain dipecah menjadi hirarki class lengkap dengan
atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain. 9. Setelah
class
diagram
dibuat,
kita
dapat
melihat
kemungkinan
pengelompokan class menjadi komponen-komponen. Karena itu buatlah komponen diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik. 10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node. 2.6.2 Konsep Pemodelan Menggunakan UML Menurut (Nugroho, 2010), sesungguhnya tidak ada batasan yang tegas diantara
berbagai
konsep
dan
konstruksi
dalam
UML,
tetapi
untuk
menyederhanakannya, kita membagi sejumlah besar konsep dan dalam UML menjadi beberapa view. Suatu view sendiri pada dasarnya merupakan sejumlah konstruksi pemodelan UML yang merepresentasikan suatu aspek tertentu dari sistem atau perangkat lunak yang sedang kita kembangkan. Pada peringkat paling atas, view-view sesungguhnya dapat dibagi menjadi tiga area utama, yaitu : klasifikasi struktural (structural classification), perilaku dinamis (dinamic behaviour), serta pengolahan atau manajemen (model management).
19
2.6.3 Bangunan-Bangunan Dasar Metodologi Unified Modeling Language (UML) Bangunan
dasar
(UML) menggunakan
metodologi tiga
Unified
bangunan
Modeling
dasar
yang
Language digunakan
untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan yaitu : 1. Sesuatu (Things) Ada 4 (empat) things dalam UML, yaitu: a. Structural things, merupakan bagian yang relatif statis dalam model Unified Modeling Language (UML). Bagian yang relatif statis dapat berupa elemenelemen yang bersifat fisik maupun konseptual. b. Behavioral things, merupakan bagian yang dinamis pada model Unified Modeling
Language
(UML), biasanya
merupakan
kata
kerja
dari
model Unified Modeling Language (UML), yang mencerminkan perilaku sepanjang ruang dan waktu. c. Grouping things, merupakan bagian pengorganisasi dalam Unified Modeling Language (UML). Dalam penggambaran model yang rumit kadang diperlukan penggambaran paket yang menyederhanakan model. Paket-paket ini kemudian dapat didekomposisi lebih lanjut. Paket berguna bagi pengelompokkan sesuatu, misalnya model-model dan subsistem-subsistem. d. Annotational things merupakan bagian yang memperjelas model Unified Modeling Language (UML) dan dapat berupa komentar-komentar yang menjelaskan fungsi serta ciri-ciri setiap elemen dalam Unified Modeling Language (UML). 2. Relasi (Relationship) Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML), yaitu: a. Kebergantungan Merupakan hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent)akan mempengaruhi elemen yang bergantung padanya b. Asosiasi Merupakan apa yang menghubungkan antara objek satu dengan objek lainnya,
20
bagaimana hubungan suatu objek dengan objek lainnya. Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek dengan bagianbagiannya. c. Generalisasi Merupakan hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada diatasnya objek induk (ancestor). Arah dari atas kebawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah keatas dinamakan generalisasi. d. Realisasi Merupakan operasi yang benar-benar dilakukan oleh suatu objek. 3. Diagram Ada 5 (lima) macam diagram dalam Unified Modeling Language (UML), yaitu : a. Use Case Diagram Diagram ini memperlihatkan himpunan use case dan aktor-aktor (suatu jenis khusus
dari
kelas).
Diagram
ini
terutama
sangat
penting
untuk
mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna. b. Class Diagram Diagram ini memperlihatkan himpunan kelas-kelas, antar muka, kolaborasikolaborasi dan relasi-relasi antar objek. c. Sequence Diagram Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu. d. State Chart Diagram Diagram ini memperlihatkan status pada sistem, memuat status, transisi,
event,
dan
aktifitas.Diagram
ini
terutama
penting
untuk
memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan sistem-sistem yang reaktif.
21
e. Activity Diagram Diagram ini memperlihatkan aliran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsifungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek. 2.6.4 Jenis-Jenis Diagram UML (Unified Modeling Language) Berikut ini adalah definisi mengenai 5 diagram UML yaitu : 1. Use Case Diagram, adalah abstraksi dari interaksi antara sistem dan aktor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. 2. Class Diagram, Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system. Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Kelas Diagram berfungsi untuk menjelaskan tipe dari object sistem dan hubungannya dengan object yang lain. Object adalah nilai tertentu dari setiap attribute kelas entity. Pada penggambaran kelas diagram ada dikenal dengan kelas analisis yaitu kelas berstereotype. Tapi yang biasanya dipakai adalah kelas diagram tanpa stereotype. 3. Sequence Diagram, Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram. Bersifat dinamis. Diagram urutan adalah interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu. Sequence diagram menekankan penyusunan berbasis
22
waktu untuk kegiatan yang dilakukan dengan satu set dari objek yang berkolaborasi. 4. State Chart Diagram, State diagram menggambarkan urutan keadaan yang dilalui objek dalam suatu kelas, karena suatu kejadian menyababkan suatu perpindahan aktivitas/state. State dari objek adalah penggolongan dari satu atau lebih nilai attribute pada kelas. Bersifat dinamis. Diagram state ini memperlihatkan state - state pada system, memuat state, transisi, event, serta aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi dan terutama penting pada pemodelan system – system yang reaktif. 5. Activity Diagram, menyediakan analis dengan kemampuan untuk memodelkan proses dalam suatu sistem informasi. Activity diagram dapat digunakan untuk alur kerja model, use case individual, atau logika keputusan yang terkandung dalam metode individual. Activity diagram juga menyediakan pendekatan untuk proses pemodelan paralel. 2.6.5
Keuntungan Dan Kelemahan UML (Unified Modeling Language) Unified Modeling Language (UML) merupakan alat bantu, bahasa
pemodelan yang dapat digunakan untuk rancang bangun beriorentasi objek. 1.
Keuntungan Karena merupakan bahasa pemodelan visual dalam proses pembangunannya maka UML bersifat independen terhadap bahasa pemrograman tertentu.
2.
Kelemahan UML dipandang masih mempunyai kekurangan terutama dalam menggenerate kode program secara komplit. Hal ini karena kurangnya cara memodelkan aspek kelakuan internal perangkat lunak untuk dipetakan ke dalam kode program.
BAB III METODE PENELITIAN 3.1
Tempat dan Waktu Penelitian Penelitian tugas akhir dengan judul “Sistem Pendukung Keputusan
Peramalan Penjualan Mobil Menggunakan Metode Trend Moment studi kasus ini dilakukan dilingkup wilayah Kota Kendari. Untuk waktu penelitian dapat dilihat pada tabel berikut: Tabel 3.1 Tabel waktu penelitian Tahun 2015 No
Tahapan RUP
1
Inception
2
Elaboration
3
Construction
4
Transition
Agustus (Minggu Ke-) III
3.2
IV
September (Minggu ke -) I
II
III
IV
Oktober (Minggu ke -) I
II
III
IV
2016
November (Minggu ke -) I
II
III
IV
Desember (Minggu ke-) I
II
III
Metode Pengumpulan Data Metode yang dilakukan dalam proses pengumpulan data pada penelitian ini
adalah sebagai berikut : 1. Studi Literatur Pada tahap ini peneliti mengumpulkan informasi dan mempelajari materi serta sumber-sumber data yang diperlukan untuk membangun sistem dan tentunya berhubungan dengan penelitian ini. 2. Wawancara Peneliti akan melakukan wawancara dengan pimpinan dan karyawan perusahaan untuk memperoleh data yang jelas, agar tidak terjadi kesalahan dalam penentuan hasil forecasting.
23
Januari (Minggu ke-) IV
I
II
24
3.3
Metode Pengembangan Sistem Metode pengembangan sistem yang digunakan pada tugas akhir ini adalah
metode RUP (Rasional Unified Process). Dalam metode RUP ini terdiri dari 4 tahap, yaitu : 1. Inception Pada tahap ini penulis menentukan batasan ruang lingkup permasalahan pada penelitian ini : 1) Sebagai alat bantu dalam proses pengambilan keputusan. 2) Sistem ini digunakan untuk membantu dalam memaksimalkan kinerja perusahaan dalam peramalan (forecasting) penjualan mobil. 3) Metode yang digunakan adalah trend moment dengan bahasa pemrograman Java. 2. Elaboration Pada tahap ini penulis melakukan perancangan sistem dan user interface dari aplikasi ini. Untuk perancangan sistem penulis menggunakan alat bantu yaitu UML (Unified Modelling Language). Perancangan yang dilakukan meliputi halaman-halaman yang ada di dalam sistem. 3. Construction Pada tahapan ini meliputi bagaimana suatu aplikasi itu bisa diuji coba. Pada tahap ini dilakukan proses pembuatan desain model : desain interface, use case diagram
ERD(Entity
Relationship
Diagram),
activity
diagram,sequence
diagram,class diagram. 4. Transition Pada tahap ini dilakukan testing akhir pada sistem yang telah jadi, kemudian dilakukan sosialisasi penggunaan perangkat lunak yang telah dibangun ke administrator.
BAB IV ANALISIS DAN PERANCANGAN 4.1 Analisis Sistem Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian-bagian komponen dengan mempelajari seberapa bagus sistem tersebut bekerja dan berinteraksi untuk mencapai tujuan. Analisis sistem juga merupakan tahapan paling awal dari pengembangan sistem yang menjadi fondasi menentukan keberhasilan sistem yang dihasilkan nantinya. Pada tahapan ini analisis dilakukan untuk mengetahui kebutuhan berdasarkan data dan informasi yang telah diperoleh sebelumnya tentang penjualan mobil di PT.Hadji Kalla Cabang Kendari, kemudian menganalisis sistem dengan mengggunakan metode Trend Moment. Sehingga keluaran dari tahapan ini yaitu dapat mengetahui dan memahami kebutuhan sistem yang akan dirancang. 4.1.1 Analisis kebutuhan fungsional Kebutuhan fungsional menjelaskan apa saja yang dapat dilakukan oleh sistem melalui perancangan. Perancangan sistem terbagi atas perancangan diagram sistem, perancangan tabel database dan perancangan antarmuka sistem. Perancangan diagram sistem menggunakan bahasa pemodelan UML (Unified Modeling Language) yang meliputi pembuatan use case diagram, activity diagram, sequence diagram dan class diagram serta perancangan ERD (Entity Relationship Diagram) sistem. 4.1.2 Analisis kebutuhan non-fungsional Kebutuhan non-fungsional dalam perancangan sistem pendukung keputusan peramalan penjualan mobil menggunakan metode trend moment ada beberapa kebutuhan yang diperlukan oleh diantaranya: 1. Kebutuhan perangkat keras Spesifikasi minimal kebutuhan komputer atau laptop yang dapat digunakan dalam implementasi sistem sebagai berikut: a. Prosesor Pentium IV
25
26
b. Memori/RAM 1 GB c. Harddisk 100 GB 2. Kebutuhan perangkat lunak a. Sistem Operasi yang digunakan adalah Windows 7 b. XAMPP tools yang terdiri dari apache sebagai WEB server penampil database dan MySQL sebagai database-nya. c. Java jre8 dan jdk1.8 sebagai software pendukung sistem
4.2 Analisis Metode Trend Moment Metode trend moment merupakan salah satu metode yang di gunakan dalam melakukan forecasting penjualan, yang nantinya akan dijadikan dasar sebagai penyusunan anggaran penjualan pada tahun berikutnya. Dalam pembuatannya metode trend moment dapat dilakukan dengan menggunakan beberapa rumus tertentu, adapun rumus yang digunakan dalam penyusunan dari metode ini akan dibahas pada implementasi perhitungan Trend Moment dalam sistem. Tabel 4.1 menunjukkan perhitungan model Trend Moment terhadap perencanaan aplikasi. Tabel 4.1 Data penjualan mobil PT.Hadji Kalla Cabang Kendari Data Penjualan No Bulan Tahun Avanza Rush Yaris 1.
Januari
2014
25
4
6
2.
Februari
2014
22
6
2
3.
Maret
2014
20
15
6
4.
April
2014
22
15
9
5.
Mei
2014
60
10
8
6.
Juni
2014
50
10
6
7.
Juli
2014
33
10
6
8.
Agustus
2014
34
11
6
Lanjutan
27
No
Bulan
Tahun
Data Penjualan Avanza
Rush
Yaris
9.
September
2014
36
12
7
10.
Oktober
2014
39
11
7
11.
November
2014
42
11
7
12.
Desember
2014
37
11
7
13.
Januari
2015
20
6
2
14.
Februari
2015
24
3
4
15.
Maret
2015
18
13
4
16.
April
2015
38
13
7
17.
Mei
2015
71
8
3
18.
Juni
2015
69
8
3
19.
Juli
2015
-
-
3
Dalam membuat peramalan penjualan berdasarkan data diatas dengan metode trend moment dapat dilakukan dengan beberapa langkah berikut: 1. Menghitung jumlah data penjualan
total mobil jenis Avanza dengan hasil
660 unit mobil yang terjual dari bulan Januari 2014 sampai dengan Juni 2015. 2. Menentukan nilai parameter
, dimana
merupakan indeks waktu yang
dimulai dari nol, sehingga jumlah nilai indeks waktu pada penjualan mobil Avanza yaitu 153. dan x2 langkah ini perlu dilakukan guna untuk
3. Menentukan nilai
mengetahui nilai “a” dan “b” yang akan digunakan dalam persamaan trend moment. 4. Menentukan nilai
dimana x adalah indeks waktu dan y adalah data histori
tingkat penjualan tiap bulan. Jumlah dari hasil perkalian
dan
adalah 6203.
5. Langkah selanjutnya menentukan nilai x2, nilai indeks waktu dikuadratkan dan hasilnya 1785. 6. Hasil perhitungan nilai
,
,
dan
2
dapat dilihat pada tabel 4.2 dan
berikutnya masuk pada langkah menentukan nilai “a” dan “b” pada halaman berikut.
28
Tabel 4.2 Tabel perhitungan trend moment jenis mobil avanza Data Indeks No Bulan Tahun Penjualan Waktu xi*yi xi2 (yi) (xi) 1. Januari 2014 25 0 0 0 2.
Februari
2014
22
1
22
1
3.
Maret
2014
20
2
40
4
4.
April
2014
22
3
66
9
5.
Mei
2014
60
4
240
16
6.
Juni
2014
50
5
250
25
7.
Juli
2014
33
6
198
36
8.
Agustus
2014
34
7
238
49
9.
September
2014
36
8
288
64
10.
Oktober
2014
39
9
351
81
11.
November
2014
42
10
420
100
12.
Desember
2014
37
11
407
121
13.
Januari
2015
20
12
240
144
14.
Februari
2015
24
13
312
169
15.
Maret
2015
18
14
252
196
16.
April
2015
38
15
570
225
17.
Mei
2015
71
16
1136
256
18.
Juni
2015
69
17
1173
289
Jumlah
660
153
6203
1785
Rata-Rata
36,66
7. Menghitung nilai a dan b berdasarkan hasil perhitungan dari tabel 4.2, maka untuk memperoleh nilai a dan b yaitu menggunakan persamaan berikut ini:
Cara eliminasi ∑ ∑
∑ ∑
∑
|x 17|
|x 2|
29
b = b = Pada persamaan tersebut menjelaskan proses eliminasi untuk mendapatkan nilai
. Dimana diketahui ∑
, kemudian
banyaknya data (bulan) yaitu 18 data penjualan dan ∑ total indeks waktu. Begitu juga dengan nilai dari ∑
adalah
dari jumlah sebesar 6230 yang
merupakan jumlah dari data penjualan dikali dengan indeks waktu. Setelah diketahui nilai-nilai dari persamaan maka selanjutnya dilakukan proses eliminasi dengan perkalian 17 pada persamaan satu dan perkalian dua pada persamaan kedua. Hasil proses eliminasi yaitu mendapatkan nilai
sebesar
1.223 yang kemudian dapat digunakan untuk memperoleh nilai
dengan
persamaan satu mengubah nilai ∑
∑
8. Setelah nilai
dan
menentukan nilai
menjadi 1.223 seperti perhitungan berikut:
diketahui maka langkah selanjutnya masuk pada proses atau Trend dengan persamaan
. Rumus ini
merupakan persamaan garis trend yang akan menggambarkan nilai trend. Dimana
adalah nilai trend atau variabel yang akan diramalkan,
adalah
bilangan konstan yang telah didapatkan pada perhitungan sebelumnya, begitu juga dengan nilai parameter
yang merupakan slope atau koefisien garis trend dan untuk
yang merupakan indeks waktu yang dimulai dari nol sampai .
30
Pada persamaan dibawah akan dilakukan proses perhitungan peramalan penjualan pada bulan Januari tahun 2016 dengan menggunakan hasil perhitungan sebelumnya. Diketahui bahwa nilai serta untuk nilai
(26.263) dan
(1.223)
(24) yang merupakan indeks waktu yang dihitung dari
Januari 2014 sampai Januari 2015.
Y= Y= Y= Y = 55.615
9. Setelah itu peramalan yang diperoleh dari nilai trend diatas maka akan dihitung lagi
hasil
peramalan
dengan
menggunakan
indeks
musim.
Dengan
menggunakan data penjualan pada bulan Januari 2014 sebanyak 25 unit dan Januari 2015 sebanyak 20 unit yang kemudian dibagi dengan jumlah data. Kemuadian rata-rata data dibagi dengan rata-rata data penjualan keseluruhan. Berdasarkan rumus indeks musim maka:
Hasil akhir dari peramalan jika penjualan dipengaruhi oleh indeks musiman dapat dilihat pada perhitungan dibawah ini:
Maka hasil peramalan penjualan mobil pada bulan Januari 2016 sebanyak 34 unit. 10. Menghitung kesalahan atau error dengan menggunakan metode APE (Absolut percentage error). Data aktual pada bulan Januari 2015 adalah 20, kemudian hasil dari peramalan menggunakan metode trend moment adalah 34 unit. Untuk mendapatkan nilai
maka dihitung selisih antara data
31
sebenarnya dengan data ramalan yang kemudian hasilnya dibagi dengan data sebenarnya dan dikali 100%. Perhitungan dengan menggunakan
adalah
sebagai berikut : =|
APE
|
= = 70,455 Dimana APE
= Kesalahan persentase absolut
Hasil pengujian keakuratan yang diperoleh dari perbandingan antara data aktual dengan data ramalan pada bulan Januari 2016 jenis Avanza sebesar 29.545%.
4.3 Perancangan Sistem Rancangan sistem juga merupakan gambaran secara umum yang ditunjukkan kepada user tentang sistem yang diusulkan. Rancangan ini mengidentifikasikan komponen-komponen sistem pendukung keputusan dalam peramalan penjualan mobil yang akan dirancang secara rinci. 4.3.1 Use case diagram Use case diagram digunakan untuk memodelkan dan menyatakan unit fungsi/layanan yang disediakan oleh sistem. Use case diagram juga menjelaskan mengenai aktor-aktor yang terlibat dengan perangkat lunak yang dibangun beserta proses-proses yang ada didalamnya. Use case diagram SPK penjualan mobil yang ditunjukan oleh gambar 4.1.
32
Gambar 4.1 Use case diagram sistem peramalan Deskripsi pendefinisian use case pada sistem peramalan dapat dilihat pada tabel 4.3. Tabel 4.3 Definisi use case sistem Aktor Admin melakukan Login
Sistem
Admin melakukan login dengan memasukkan username dan password. Jika username dan password yang di masukkan benar, maka sistem akan menampilkan menu utama. Jika username dan password yang di masukkan salah, maka sistem akan memberi pesan bahwa login yang dilakukan tidak valid.
Admin memilih menu
Sistem akan menampilkan keterangan yang
Tentang Aplikasi
berkaitan dengan aplikasi dan identitas pembuat aplikasi.
33
Lanjutan Aktor
Sistem
Admin memilih menu Admin Sistem akan menampilkan admin yang terdaftar dalam aplikasi, dalam menu ini admin dapat menambah admin baru, menghapus dan juga mengupdate data admin yang telah ada. Admin melakukan Input
Sistem menampilkan form inputan data mobil,
Data Mobil
setelah tampil user akan menginsert data mobil yang akan dimasukkan. Kemudian data yang dimasukkan
tadi
akan
disimpan
kedalam
database sistem. Admin melakukan Input
Sistem
menampilkan
Data Penjualan
penjualan,
setelah
form
inputan
data
tampil
user
akan
menginputkan data penjualan mobil kemudian akan tersimpan didalam database. Admin memilih menu
Pada menu ini user dapat mencetak laporan akhir
Laporan
penjualan selama penjualan.
Admin memilih menu
Pada menu ini user dapat melakukan forecasting
Forecasting Penjualan
berdasarkan
data
penjualan
mobil
dengan
menggunakan metode Trend moment. Admin melakukan Logout
Sistem akan keluar dan menampilkan kembali menu login pada aplikasi
4.3.2 Activity diagram Activity diagram adalah salah satu cara untuk memodelkan event-event yang terjadi dalam suatu use case. Activity Diagram juga merupakan suatu bentuk flow diagram yang memodelkan alur kerja (workflow) sebuah proses bisnis dan urutan aktivitas sebuah proses.
34
Activity sistem User
Sistem
Melakukan login user
Menampilkan menu utama
Memilih menu data master
Menampilkan sub menu data master
Memilih sub menu data penjualan
Menampilkan data dan grafik penjualan mobil
Memilih menu peramalan
Menampilkan form peramalan
Meramalkan penjualan mobil
Menampilkan hasil peramalan
Memilih cetak laporan penjualan
Menampilkan laporan penjualan
Memilih menu keluar
Gambar 4.2 Activity diagram system
35
Activity diagram forecasting User
Sistem
Memilih menu peramalan
Menampilkan menu peramalan
memilih jenis, warna dan bulan yang diramalkan
Membaca data penjualan mobil
Menghitung nilai trend moment Y = a + bx
Menghitung indeks musim rata-rata bulan tertentu / rata-rata permintaan perbulan
Menghitung nilai tren akhir Y* = indeks musim x Y
Menghitung kesalahan peramalan APE= |(data sebenarnya- data prediksi) /(data sebenarnya)|*100%
Gambar 4.3 Activity diagram forecasting 4.3.3 Sequence diagram Sequence diagram menjelaskan interaksi object yang disusun dalam suatu urutan waktu. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu yang dilakukan dalam use case. 1. Sequence diagram login Proses yang terjadi pada saat login yaitu: pertama, admin memasukkan username dan password untuk mengaktifkan menu utama selanjutnya sistem menjalankan perintah login dan melakukan validasi username dan password. Jika
36
login valid maka sistem akan menampilkan menu utama, dan jika login tidak valid maka sistem akan menampilkan pesan error. Gambar 4.4 menunjukkan Sequence diagram login.
Gambar 4.4 Sequence diagram login 2. Sequence diagram forecasting Sequence diagram peramalan menjelaskan saat user memilih tombol form forecasting kemudian user akan memilih jenis mobil yang akan ditentukan peramalannya kemudian pilih periode dan warna mobil setelah itu inputan akan diproses dengan metode trend moment. Gambar 4.5 menunjukkan Sequence diagram forecasting.
Gambar 4.5 Sequence diagram forecasting
37
3. Sequence diagram admin Untuk melakukan perubahan pada data admin, prosesnya terlebih dahulu admin masuk ke menu admin, kemudian melakukan pengolahan terhadap data admin. Pada menu admin ini hanya disediakan fungsi ubah untuk memperbaharui data admin yang telah ada. Gambar 4.6 menunjukkan Sequence diagram admin. :
Gambar 4.6 Sequence diagram admin
4.3.4 Class Diagram Adapun class diagram pemodelan kelas dalam sebuah sistem juga diperlukan untuk Sistem Pendukung Keputusan Peramalan Penjualan Mobil Menggunakan Metode Trend Moment ditujukkan pada Gambar 4.7
38
Gambar 4.7 Class diagram system
Gambar 4.7 menunjukkan bahwa Sistem Pendukung Keputusan Peramalan Penjualan Mobil Menggunakan Metode Trend Moment memiliki 7 kelas, yaitu kelas forecasting, kelas mobil, penjualan_mobil, validasi, antarmuka, databaseConnection, dan main. Fungsi kelas main adalah untuk memanggil kelaskelas lain. Kelas antarmuka merupakan kelas tanpa atribut yang didalamnya berisi form data admin, form data mobil dan form lainnya. Kelas databaseConnection berfungsi untuk menghubungkan system ke basis data. Kelas forecasting, kelas mobil, kelas penjualan_mobil digunakan untuk pengolahan data tersebut. Kelas validasi berfungsi untuk memeriksa validitas user sistem.
4.3.5 ERD (Entity Relationship Diagram) Pemodelan tabel dalam basis data sebuah sistem sangat perlu untuk dilakukan, hal tersebut juga berlaku pada Sistem Pendukung Keputusan
39
Peramalan Penjualan Mobil Menggunakan Metode Trend Moment. Pemodelan tersebut menggunakan ERD. Adapun ERD dari sistem ditunjukkan pada pada Gambar 4.8.
Gambar 4.8 ERD (Entity Relationship Diagram) system forecasting Gambar 4.8 menunjukkan bahwa Sistem pendukung Keputusan Peramalan Penjualan Mobil Menggunakan Metode Trend Moment memiliki 3 tabel, yaitu tabel data_mobil, tabel data_penjualan_mobil, tabel forecasting. Adapun fungsi dari masing-masing tabel diuraikan pada sub-bab perancangan basis data.
4.3.6 Perancangan basisdata Perancangan basis data menjelaskan tabel-tabel yang terkait dengan sistem yang akan dibentuk. Tujuan dari perancangan struktur tabel yaitu untuk menentukan nama field, tipe field, panjang karakter field dan keterangan field. 1. Tabel data mobil Tabel ini berfungsi untuk menyimpan data mobil. Field berisi id_mobil, tgl_masuk, thn_pembuatan, harga, warna, jumlah,jenis_dan_type. Tabel 4.4 menunjukkan tabel data mobil.
40
Tabel 4.4 Tabel data mobil Field Type
Constraint
Keterangan
id_mobil
Int (11)
Primary key
Nomor data mobil
tanggal_masuk
Date
Not null
Tanggal masuk mobil
jenis_tipe
Varchar (5)
Not null
Jenis mobil
warna
Varchar
Not null
Warna mobil
tahun_pembuatan Int (4)
Not null
Tahun pembuatan mobil
harga
Int (11)
Not null
Harga mobil
jumlah
Int (4)
Not null
Jumlah jenis data mobil
(100)
2. Tabel data penjualan Tabel ini berfungsi untuk menyimpan data penjualan mobil. Field didalamnya antara lain: id_penjualan, id_mobil, tgl_penjualan, thn_pembuatan, jumlah_mobil_terjual, jenis_pembayaran, warna, harga, jenis_dan_type. Tabel 4.5 menunjukkan tabel data penjualan. Tabel 4.5 Tabel data penjualan Field
Type
Constraint
Keterangan
id_penjualan
Int (11)
Primary key
Nomor penjualan
tanggal_penjualan
Date (5)
Not null
Tanggal penjualan
jenis_pembayaran
Varchar (5)
Not null
Jenis pembayaran
Not null
Jumlah
jumlah_mobil_terjual Int (4)
mobil
yang
terjual 3. Tabel peramalan Tabel ini berfungsi untuk melakukan forecasting/peramalan penjualan mobil berdasarkan jenisnya. Field didalamnya antara lain: id_forecasting, id_mobil, id_penjualan, hasil_forecasting. . Tabel 4.6 menunjukkan tabel peramalan.
41
Tabel 4.6 Tabel peramalan Field Type
Constraint
Keterangan
Primary key
Nomor forecasting
tanggal_prediksi Varchar (100)
Not null
Tanggal forecasting
Id_mobil
Int (11)
Not null
Nomor data mobil
Id_penjualan
Int (11)
Not null
Nomor penjualan
hasil_prediksi
Varchar (100)
Not null
Hasil forecasting
id_prediksi
Int (11)
4.4 Perancangan Antarmuka Sistem Perancangan antarmuka pengguna atau design user interface merupakan penggambaran tampilan yang digunakan secara langsung oleh pengguna, interaksi yang dapat dilakukan oleh pengguna dalam sistem. Adapun perancangan antarmuka ini diuraikan sebagai berikut. 1. Form Login Pada halaman ini user akan menginput user name dan password untuk login sebagai admin. Apabila user menginputkan user name dan password yang benar maka sistem akan menampilkan menu utama, jika salah maka sistem akan menampilkan pesan pemberitahuan gagal login. Gambar 4.9 menunjukkan perancangan form login.
Gambar 4.9 Perancangan form login 2. Halaman Menu Utama Pada halaman menu utama ini terdapat lima menu yang dapat digunakan, yaitu menu Data Mobil, Penjualan Mobil, Grafik penjualan, Laporan akhir penjualan ,Forecasting Penjualan Mobil. Gambar 4.10 menunjukkan perancangan halaman utama.
42
MENU UTAMA
PENJUALAN MOBIL
DATA MOBIL
GRAFIK PENJUALAN
LAPORAN PENJUALAN
FORECASTING
Gambar 4.10 Perancangan halaman utama 3. Admin Form ini digunakan untuk mengganti dan memperbaharui username dan password
dari
admin.
Dimana
admin
dapat
menambah
admin
baru,
memperbaharui ataupun menghapus data admin yang telah ada. Gambar 4.11 menunjukkan perancangan halaman admin.
Gambar 4.11 Perancangan halaman admin 4.
Data Mobil Pada menu ini untuk melihat data mobil, user harus melakukan
penginputan data mobil terlebih dahulu. Gambar 4.12 menunjukkan perancangan halaman data mobil.
43
Gambar 4.12 Perancangan halaman data mobil 5. Data Penjualan Mobil Pada menu ini kita dapat melihat penjualan mobil, untuk melihat penjualan mobil user harus melakukan penginputan data penjualan mobil terlebih dahulu. Gambar 4.13 menunjukkan perancangan halaman penjualan mobil.
Gambar 4.13 Perancangan halaman penjualan mobil
44
6. Grafik Penjualan Menu ini merupakan menu untuk melihat grafik berdasarkan jenis mobil yang terjual selama penjualan tiap bulan dan tahunnya. Gambar 4.14 menunjukkan perancangan halaman grafik penjualan. GRAFIK PENJUALAN 6 5 4
Yaris
3
Avanza
2
Rush
1 0 Januari
Februari
Maret
April
Gambar 4.14 Perancangan halaman grafik penjualan 7. Peramalan penjualan mobil Pada menu ini user akan melakukan proses peramalan/forecasting. Gambar 4.15 menunjukkan perancangan halaman peramalan. PERAMALAN / FORECASTING Jenis mobil Periode Warna
Ramalkan
Tabel Hasil Peramalan/Forecasting
Gambar 4.15 Perancangan halaman peramalan
BAB V IMPLEMENTASI DAN PEMBAHASAN
5.1
Implementasi Sistem Pada tahap ini merupakan tahap penerapan sistem pada keadaan yang
sebenarnya agar dapat berfungsi sesuai kebutuhan, sehingga dapat diketahui apakah sistem yang dibuat sesuai dengan perancangan sebelumnya. Disini akan dijelaskan bagaimana sistem ini dengan memberikan contoh-contoh tampilan aplikasi yang terdapat pada aplikasi ini. 5.1.1 Interface aplikasi Adapun tampilan interface dan preview dari aplikasi Sistem Pendukung Keputusan Peramalan Penjualan Mobil Menggunakan Metode Trend Moment Studi Kasus PT.Hadji Kalla Cabang Kendari adalah sebagai berikut : 1.
Halaman login Pada tampilan ini user harus login terlebih dahulu dengan menggunakan user
dan password.
Gambar 5.1 Halaman login
45
46
2.
Halaman menu utama Pada halaman menu utama ini terdapat enam menu yang dapat
digunakan, yaitu menu admin, data mobil, data penjualan mobil, grafik penjualan, peramalan/forecasting, bantuan. Gambar 5.2 menunjukkan halaman menu utama.
Gambar 5.2 Halaman menu utama 3.
Admin Form ini digunakan untuk mengganti dan memperbaharui username dan
password
dari
admin.
Dimana
admin
dapat
menambah
admin
baru,
memperbaharui ataupun menghapus data admin yang telah ada. Gambar 5.3 menunjukkan form admin.
Gambar 5.3 Form admin
47
4.
Data mobil Pada menu ini kita dapat melihat jenis data mobil yang tersedia. Gambar 5.4
menunjukkan menu data mobil.
Gambar 5.4 Menu data mobil
5.
Data penjualan mobil Pada menu ini kita dapat melihat jenis mobil yang terjual setiap bulan.
Gambar 5.5 menunjukkan menu data penjualan mobil.
Gambar 5.5 Menu data penjualan mobil
48
6.
Grafik Penjualan Menu ini merupakan menu untuk melihat grafik penjualan berdasarkan jenis
mobil yang terjual selama penjualan. Gambar 5.6 menunjukkan menu grafik penjualan.
Gambar 5.6 Menu grafik penjualan
7.
Peramalan/forecasting penjualan mobil Pada menu ini user akan melakukan proses peramalan/forecasting dalam
waktu setiap bulan. Gambar 5.7 menunjukkan menu forecasting.
Gambar 5.7 Menu forecasting
49
5.2
Pengujian Sistem Pengujian program aplikasi forecasting ini dilakukan untuk menguji dan
memastikan bahwa program aplikasi forecasting yang telah dirancang dan dikembangkan ini dapat berfungsi dengan baik dan sesuai dengan rancangan yang telah dibuat sebelumnya. Pengujian dilakukan berdasarkan jenis mobil: 5.2.1 Pengujian Mobil Jenis Avanza Data yang digunakan untuk pengujian yaitu data penjualan selama bulan Januari 2014 sampai Juni 2015. Tabel 5.1 menunjukkan pengujian peramalan mobil jenis Avanza. Tabel 5.1 Pengujian peramalan mobil jenis Avanza Data Penjualan (yi) 25
xi*yi
xi2
2014
Indeks Waktu (xi) 0
0
0
Februari
2014
1
22
22
1
Maret
2014
2
20
40
4
April
2014
3
22
66
9
Mei
2014
4
60
240
16
Juni
2014
5
50
250
25
Juli
2014
6
33
198
36
Agustus
2014
7
34
238
49
September
2014
8
36
288
64
Oktober
2014
9
39
351
81
November
2014
10
42
420
100
Desember
2014
11
37
407
121
Januari
2015
12
20
240
144
Februari
2015
13
24
312
169
Maret
2015
14
18
252
196
April
2015
15
38
570
225
Mei
2015
16
71
1136
256
Juni
2015
17
69
1173
289
153
660
6203
1785
Bulan
Tahun
Januari
Jumlah Rata-Rata
36,66
50
Gambar 5.8 merupakan tampilan pemilihan jenis mobil Avanza yang akan diprediksi dengan memilih jenis/tipe serta periode yang akan diramalkan. Hasil peramalan dapat dilihat pada gambar 5.9.
Gambar 5.8 Form peramalan penjualan mobil Avanza
Gambar 5.9 Hasil Peramalan penjualan mobil Avanza Berdasarkan hasil peramalan dari metode trend moment maka pada bulan Januari 2016 mobil dengan jenis Avanza diramalkan terjual sebanyak 34 unit. Untuk mengetahui adanya selisih perbandingan peramalan penjualan mobil jenis
51
Avanza dengan data penjualan yang nyata, maka akan dihitung dengan menggunakan rumus APE yang dapat dilihat pada gambar 5.10.
Gambar 5.10 Hasil analisis APE mobil jenis Avanza
5.2.2 Pengujian Mobil Jenis Rush Data yang digunakan untuk pengujian yaitu data penjualan selama bulan Januari 2014 sampai Juni 2015. Tabel 5.2 menunjukkan pengujian peramalan mobil jenis Rush. Tabel 5.2 Pengujian peramalan mobil jenis Rush Data Penjualan (yi)
xi*yi
xi2
2014
Indeks Waktu (xi) 0
4
0
0
Februari
2014
1
6
6
1
Maret
2014
2
15
30
4
April
2014
3
15
45
9
Mei
2014
4
10
40
16
Juni
2014
5
10
50
25
Juli
2014
6
10
60
36
Agustus
2014
7
11
77
49
September
2014
8
12
96
64
Oktober
2014
9
11
99
81
November
2014
10
11
110
100
Desember
2014
11
11
121
121
Januari
2015
12
6
72
144
Bulan
Tahun
Januari
52
Lanjutan Februari
2015
13
3
39
169
Maret
2015
14
13
182
196
April
2015
15
13
195
225
Mei
2015
16
8
128
256
Juni
2015
17
8
136
289
153
177
1486
1785
Jumlah
9.83
Rata-Rata
Gambar 5.11 merupakan tampilan pemilihan jenis mobil Rush yang akan diprediksi dengan memilih jenis/tipe serta periode yang akan diramalkan. Hasil peramalan dapat dilihat pada gambar 5.12.
Gambar 5.11 Form peramalan penjualan mobil Rush
Gambar 5.12 Hasil Peramalan penjualan mobil Rush
53
Berdasarkan hasil peramalan dari metode trend moment maka pada bulan Februari 2016 mobil dengan jenis Rush diramalkan terjual sebanyak 4 unit. Untuk mengetahui adanya selisih perbandingan peramalan penjualan mobil jenis Rush dengan data penjualan yang nyata, maka akan dihitung dengan menggunakan rumus APE yang dapat dilihat pada gambar 5.13.
Gambar 5.13 Hasil analisis APE mobil jenis Rush
5.2.3 Pengujian Mobil Jenis Yaris Data yang digunakan untuk pengujian yaitu data penjualan selama bulan Januari 2014 sampai Juni 2015. Tabel 5.3 menunjukkan pengujian peramalan mobil jenis Yaris. Tabel 5.3 Pengujian peramalan mobil jenis Yaris Data Penjualan (yi)
xi*yi
xi2
2014
Indeks Waktu (xi) 0
6
0
0
Februari
2014
1
2
2
1
Maret
2014
2
6
12
4
April
2014
3
9
27
9
Mei
2014
4
8
32
16
Juni
2014
5
6
30
25
Juli
2014
6
6
36
36
Agustus
2014
7
6
42
49
September
2014
8
7
56
64
Oktober
2014
9
7
63
81
Bulan
Tahun
Januari
54
Lanjutan November
2014
10
7
70
100
Desember
2014
11
7
77
121
Januari
2015
12
2
24
144
Februari
2015
13
4
52
169
Maret
2015
14
4
56
196
April
2015
15
7
105
225
Mei
2015
16
3
48
256
Juni
2015
17
3
51
289
Juli
2015
18
3
54
324
171
103
256
2109
Jumlah
5,4
Rata-Rata
Gambar 5.14 merupakan tampilan pemilihan jenis mobil Yaris yang akan diprediksi dengan memilih jenis/tipe serta periode yang akan diramalkan. Hasil peramalan dapat dilihat pada gambar 5.15.
Gambar 5.14 Form peramalan penjualan mobil Yaris
Gambar 5.15 Hasil Peramalan penjualan mobil Yaris
55
Berdasarkan hasil peramalan dari metode trend moment maka pada bulan Maret 2016 mobil dengan jenis Yaris diramalkan terjual sebanyak 2 unit. Untuk mengetahui adanya selisih perbandingan peramalan penjualan mobil jenis Yaris dengan data penjualan yang nyata, maka akan dihitung dengan menggunakan rumus APE yang dapat dilihat pada gambar 5.16.
Gambar 5.16 Hasil analisi APE mobil jenis Yaris
BAB VI PENUTUP
6.1
Kesimpulan Berdasarkan uraian dan hasil analisa yang telah dilakukan selama
pengembangan Aplikasi Sistem Pendukung Keputusan Peramalan Penjualan Mobil Menggunakan Metode Trend Moment Studi Kasus pada PT.HADJI KALLA Cabang Kendari ini, dapat diambil kesimpulan yaitu aplikasi ini dapat memprediksi penjualan mobil pada bulan dan tahun yang diinginkan oleh pengguna dengan minimal data dua tahun pada metode trend moment.
6.2
Saran Dalam pembuatan Aplikasi Sistem Pendukung Keputusan Peramalan
Penjualan Mobil Menggunakan Metode Trend Moment Studi Kasus PT.Hadji Kalla Cabang Kendari ini masih banyak terdapat kekurangan dan jauh dari kata sempurna. Untuk itu masih perlu dilakukan sebuah penyempurnaan. Berikut beberapa saran untuk pengembangan lebih lanjut dari aplikasi ini : 1. Menu dan fitur pada aplikasi ini masih bisa ditambahkan dengan menu tergantung dari kebutuhan sebuah perusahaan. 2. Aplikasi ini masih bisa dapat dikembangkan dengan menyajikan semua jenis produk mobil yang dikeluarkan dari Toyota. 3. Pada dasarnya sistem yang digunakan sangat baik karena dapat membantu kita untuk bisa meramalkan atau memprediksi penjualan kedepannya. Walaupun masih terdapat kesalahan keakuratan hasil ramalan. Namun itu masih perlu masukan-masukan untuk perbaikan kedepannya.
56
DAFTAR PUSTAKA
Darmawan, A. S., 2012. Sistem Pendukung Keputusan Peramalan Penjualan Batik Di Pekalongan Dengan Metode Trend Moment. Ferrizal, Sulfikar S. dan Eka S., 2012. Analisa Peramalan Penjualan Handphone Menggunakan Metode Trend Moment. Makridakis, S., Wright, S.C.W. dan Megee, V.E., 1992, Metode dan Aplikasi Peramalan, Jakarta. Martiningtyas, Nining, 2004, Buku Materi Kuliah STIKOM Statistika, STIKOM Surabaya, Surabaya. Nugroho, A., 2010, Rekayasa Perangkat Lunak Menggunakan UML dan JAVA, Yogyakarta. Pristiawan, R., 2015. Implementasi Metode Trend Moment Untuk Peramalan Penjualan Cabai Universitas Nusantara Persatuan Guru Republik Indonesia Unp Kediri. Rosa A. dan M. Shalahuddin. 2013. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Penerbit Informatika. Subagyo, P., 1986, Forecasting Konsep dan Aplikasi, BPFE Yogyakarta: Yogyakarta. Sugiarto, dan Dergibson, S. 2002. Metode Statistika Untuk Bisnis dan Ekonomi. Jakarta : PT.Gramedia Pustaka Utama. Halaman 208-217. Turban, E. dan Aronson, J.E., 2001, Decision support Systems and Intelligent Systems, Prentice Hall: New Jersey.
Listing Program
// Login sistem private void masukButtonActionPerformed(java.awt.event.ActionEvent evt) { if (usernameField.getText().length() == 0 || passwordField.getText().length() == 0) { return; } selectClauseAttribut attribut = new selectClauseAttribut( new String[]{"username", "password"}, // kolom yang ada di database new String[]{usernameField.getText(), passwordField.getText()}, new boolean[]{false, false, false}, "administrator"); sqlImplementationQuery query = new sqlImplementationQuery(); if (query.goSelectWith(c, attribut).size() > 0) { dispose(); new mainForm(usernameField.getText()).setVisible(true); } } // menambahkan data admin Connection c = databaseConnection.keDatabase(); Object classSelected; String[] data; String action; public adminDataSubForm(adminDataForm dataForm, String action, String[] data) { super((Frame) null, true); classSelected = dataForm; this.action = action; initComponents(); setLocationRelativeTo(null); this.data = data; actionButton.setText(action + " Data" + " if (action.equals("Tambah")) {
");
actionButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sellingp rediction/res/insert.png"))); // NOI18N } else { actionButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sellingp rediction/res/update_putih.png"))); // NOI18N } jLabel8.setText(" "+action.toUpperCase() + " " + jLabel8.getText()); if(data != null) setData(); } void setData(){ usernameField.setText(data[1]); passwordField.setText(data[2]); } private void actionButtonActionPerformed(java.awt.event.ActionEvent evt) { if (usernameField.getText().length() == 0 || passwordField.getText().length() == 0) { return; } queryAttribut attribut = new queryAttribut(true, null, "administrator", usernameField.getText(), passwordField.getText()); sqlImplementationQuery query = new sqlImplementationQuery(); if (action.equals("Tambah")) { query.goInsert(c, attribut); } else { // set clause update attribut.setClause(data[0]); query.goUpdate(c, attribut); } if (classSelected instanceof adminDataForm) { adminDataForm form = (adminDataForm) classSelected;
form.refreshTable(); } dispose(); } //menambahkan data mobil public carDataSubForm(carDataFormExt dataForm, String action, String[] data) { super((Frame) null, true); initComponents(); this.data = data; setLocationRelativeTo(null); this.action = action; spinJumlah.setValue(1); buttonAksi.setText(action+ " Data" + " classSelected = dataForm;
");
jLabel8.setText(" "+action.toUpperCase() + " " + jLabel8.getText()); if (action.equals("Tambah")) { buttonAksi.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sellingp rediction/res/insert.png"))); // NOI18N } else { buttonAksi.setIcon(new javax.swing.ImageIcon(getClass().getResource("/sellingp rediction/res/update_putih.png"))); // NOI18N } jDateChooser1.getDateEditor().setEnabled(false); jDateChooser1.getDateEditor().getUiComponent().setBackg round(Color.WHITE); jDateChooser1.getDateEditor().getUiComponent().setForeg round(Color.BLACK); if (data != null) { setData(); } } void setData() { SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
try { Date date = sdf.parse(data[1]); jDateChooser1.setDate(date); comboJenisMobl.setSelectedItem(data[2]); comboWarna.setSelectedItem(data[3]); jYear.setValue(Integer.parseInt(data[4])); textHarga.setText(data[5]); spinJumlah.setValue(Integer.parseInt(data[6])); } catch (ParseException ex) { Logger.getLogger(carDataSubForm.class.getName()).log(Le vel.SEVERE, null, ex); } } private void spinJumlahStateChanged(javax.swing.event.ChangeEvent evt) { try { if ((int) spinJumlah.getValue() < 1) { spinJumlah.setValue(1); } } catch (Exception e) { } } private void textHargaCaretUpdate(javax.swing.event.CaretEvent evt) { final int l = textHarga.getText().length() - 1; final String text = textHarga.getText(); if (textHarga.getText().length() > 0) { try { Integer.parseInt(textHarga.getText()); } catch (NumberFormatException e) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { textHarga.setText(text.substring(0, l)); } }); } }
} private void buttonAksiActionPerformed(java.awt.event.ActionEvent evt) { SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); String date = sdf.format(jDateChooser1.getDate()); sqlImplementationQuery query = new sqlImplementationQuery(); queryAttribut attribut = new queryAttribut(true, null, "data_mobil", date, String.valueOf(comboJenisMobl.getSelectedItem()), String.valueOf(comboWarna.getSelectedItem()), jYear.getValue(), Integer.parseInt(textHarga.getText()), Integer.parseInt(String.valueOf(spinJumlah.getValue())) ); if (action.equals("Tambah")) { query.goInsert(c, attribut); } else { // set clause update attribut.setClause(data[0]); query.goUpdate(c, attribut); } if (classSelected instanceof carDataFormExt) { carDataFormExt dataForm = (carDataFormExt) classSelected; dataForm.refreshTable(dataForm.someData(String.valueOf( comboJenisMobl.getSelectedItem()))); } dispose(); } //menampilkan data penjualan mobil public final class carSelledDataForm extends javax.swing.JFrame {
ArrayList
> listData; Connection c = databaseConnection.keDatabase(); public carSelledDataForm() { initComponents(); setLocationRelativeTo(null); refreshTable(allData()); } private ArrayList> allData() { c = databaseConnection.keDatabase(); queryAttribut queryAttribut = new queryAttribut(true, null, "data_penjualan_mobil", ""); sqlImplementationQuery query = new sqlImplementationQuery(); listData = null; listData = query.goSelect(c, queryAttribut); return listData; } public ArrayList> someData(String jenisMobil) { c = databaseConnection.keDatabase(); selectClauseAttribut clauseAttribut = new selectClauseAttribut( new String[]{"jenis_tipe"}, new String[]{jenisMobil}, new boolean[]{false}, "data_penjualan_mobil"); sqlImplementationQuery query = new sqlImplementationQuery(); ArrayList> value = query.goSelectWith(c, clauseAttribut); return value; } public void refreshTable(ArrayList> data){ listData = null; listData = data;
predictionTableModel tableModel = new predictionTableModel( new String[] {"ID", "Tanggal Masuk", "Jenis", "Warna", "Tahun Pembuatan", "Harga", "Pembayaran", "Jumlah"}, listData); tableCarSell.setModel(tableModel); tableCarSell.removeAll(); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { String[] colNames = new String[] {"No", "Tanggal", "Jenis", "Warna", "Tahun Pembuatan", "Harga (Rp)","Pembayaran", "Jumlah"}; elementCell cell = new elementCell(colNames, listData, "Laporan Penjualan Mobil", true, "penjualan_mobil.pdf"); if (cell.doCreateReport()) { try { File file = new File("penjualan_mobil.pdf"); if (file.exists()) Desktop.getDesktop().open(file); } catch (IOException ex) { Logger.getLogger(carDataFormExt.class.getName()).log(Le vel.SEVERE, null, ex); } } } private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { if (comboJenisMobil.getSelectedIndex() == 0) {
DialogOptionsD.Failed("Silahkan pilih jenis mobil terlebih dahulu"); //JOptionPane.showMessageDialog(null, "Silahkan pilih jenis mobil terlebih dahulu"); return; } int M = comboBlan.getSelectedIndex(); int y = jYearChooser1.getValue(); String param_1 = String.valueOf(comboJenisMobil.getSelectedItem()); String param_2 = "%"; if (M == 0) param_2 += "-" + String.valueOf(y) +"%"; else { param_2 += "-" + ((M < 10) ? "0" : "") + String.valueOf(M) + "-"; param_2 += String.valueOf(y) + "%"; } int k = 0; refreshTable(getDataWithAdvancedSearch(new String[] {param_1, param_2})); } private ArrayList> getDataWithAdvancedSearch(String[] itemParameter) { selectClauseAttribut clauseAttribut = new selectClauseAttribut( new String[]{"jenis_tipe", "tanggal_penjualan"}, itemParameter, new boolean[]{false, true}, "data_penjualan_mobil"); sqlImplementationQuery query = new sqlImplementationQuery(); ArrayList> value = query.goSelectWith(c, clauseAttribut); return value; } //Peramalan penjualan mobil
public forecastingTrendMomentSubForm( forecastingTrendMomentForm form, ArrayList> data, String jenisMobil, String warnaMobil, String dateCasting) { super((Frame) null, true); initComponents(); setLocationRelativeTo(null); // bulan terakhir yang mempunyai data lastDateData = data.get(data.size()-1).get(0); if (warnaMobil.equals("-- Pilih Salah Satu -")) { this.warnaMobil = "Semua"; } else { this.warnaMobil = warnaMobil; } this.dateCasting = dateCasting; this.data = data; this.form = form; this.dateForecasting = convertParamToString(dateCasting); this.jenisMobil = jenisMobil; refreshTable(data); buildingOtherParameter(data); // menentukan nilai index waktu yang diramal castingIndex = findIndexFordateCasting(); /** * Nilai peramalan sebelum dikalikan nilai index musiman */ forecastingResultBeforeSeason = A + (B * ((float)castingIndex)); seasonIndex = getSeasonIndex(); forecastingResultAfterSeason = forecastingResultBeforeSeason * getSeasonIndex();
jLabel2.setText("Nilai A = " + A + "," +" Nilai B = " + B + "," +" Nilai X = " + castingIndex + "," +" dan Nilai Index Musim = " + seasonIndex + "."); jLabel1.setText("Hasil peramalan yang didapat untuk penjualan jenis mobil " + jenisMobil + " pada " + convertParamToString(dateCasting) + " adalah " + String.valueOf((int) forecastingResultAfterSeason) + " unit"); } private String convertParamToString(String param){ String[] month = new String[] { "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" }; int monthIndex = Integer.parseInt(param.substring(0, 2)) - 1; return month[monthIndex] + " " + param.substring(3, 7); } /** * Mendapatkan index musiman */ private float getSeasonIndex(){ int avgEveryMont = 0; int per = 0; for (ArrayList<String> arrayList : data) { if (arrayList.get(0).substring(0, 2).equals(dateCasting.substring(0,2))) { avgEveryMont += Integer.parseInt(arrayList.get(2)); per++; } }
float x = (((float) avgEveryMont) / ((float) per)); return x/sellingMeans; } private int findIndexFordateCasting(){ for (ArrayList<String> arrayList : data) { if (arrayList.get(0).equals(dateCasting)) { return Integer.parseInt(arrayList.get(3)); } } String temp = dateCasting; int month = Integer.parseInt(temp.substring(0, 2)); int year = Integer.parseInt(temp.substring(3, 7)); int inc = 0; while (!lastDateData.equals(temp)) { month--; temp = ((month < 10) ? "0" : "") +String.valueOf(month) + "-" + String.valueOf(year); if (month == 0){ month = 12; year--; temp = ((month < 10) ? "0" : "") +String.valueOf(month) + "-" + String.valueOf(year); } inc++; } return (data.size()-1) + inc; } private void buildingOtherParameter(ArrayList> data){
for (ArrayList<String> arrayList : data) { sigmaY += Integer.parseInt(arrayList.get(2)); sigmaX += Integer.parseInt(arrayList.get(3)); sigmaXY += Integer.parseInt(arrayList.get(4)); sigmaX_2 += Integer.parseInt(arrayList.get(5)); N++; } sellingMeans = ((float) sigmaY) / ((float) N); get_A_and_B_value(); } private void get_A_and_B_value(){ B = ((float) ((sigmaY * sigmaX) - (sigmaXY * N))) / ((float) ((sigmaX * sigmaX) - (sigmaX_2 * N))); A = ( ((float) sigmaY) - (((float) sigmaX) * B)) / ((float) N); } public void refreshTable(ArrayList> listData) { predictionTableModel tableModel = new predictionTableModel( new String[]{"xxx", "Bulan","Penjualan (y)", "Index (x)", "x.y", "x^2" }, listData); tableSixMonthBefore.setModel(tableModel); tableSixMonthBefore.removeAll(); } private int dataRealSell() throws NumberFormatException { int year = Integer.parseInt(dateCasting.substring(3, 7));
year--; String temp = dateCasting.substring(0, 3) + String.valueOf(year); for (ArrayList<String> arrayList : data) { if (temp.equals(arrayList.get(0))) { return Integer.parseInt(arrayList.get(2)); } } return -1; } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { int result = dataRealSell(); if (result < 0) { DialogOptionsD.Failed("Belum ada datanya"); } else { // float x = ((float)result) forecastingResultAfterSeason; // float r = (x * x)/((float)N); float x = Math.abs((float)result forecastingResultAfterSeason); float r = Math.abs((x/result)*100); DialogOptionsD.Success("Hasil analisis APE adalah " + String.valueOf(new DecimalFormat("##.##").format(r)) +" % "); } } private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) { dispose(); }
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { int resultPrediction= (int) forecastingResultAfterSeason; Connection c = databaseConnection.keDatabase(); queryAttribut attribut = new queryAttribut(true, null, "data_prediksi_2", dateForecasting, jenisMobil, warnaMobil, String.valueOf(resultPrediction)); sqlImplementationQuery query = new sqlImplementationQuery(); if (query.goInsert(c, attribut)) { dispose(); form.refreshTable(form.allData()); } }