56
Implementasi sistem adalah bentuk dari perancangan sistem yang
dilakukan sebelumnya. Pada bab ini akan dijelaskan mengenai implementasi dan
pengujian dari aplikasi sistem peramalan penjualan kain majun perperiode (bulan)
di UD. Farrel Mulya Industri dengan menggunakan metode
Trend Moment
untuk
mengetahui tingkat penjualan pada bulan berikutnya yang akan digunakan untuk
menentukan target penjualan kain majun kedepan.
4.1 Implementasi Aplikasi Sistem Peramalan Penjualan Kain Majun
Perbulan UD. Farrel Mulya Industri dengan Metode
Trend Moment
Pada implementasi sistem ini akan membahas algoritma yang telah
dirancang pada bab 3, yaitu tahap
processing
dengan metode
Trend Moment,
Mean Absolute Deviation (MAD)
dan
Mean Absolute Persentage Error (MAPE).
Dalam mengimplementasikan sistem ini dibangun dengan menggunakan bahasa
pemrograman (PHP).
4.1.1 Proses
Trend Moment
Dalam proses perhitungan
Trend Moment
terdapat beberapa langkah
perhitungan antara lain yaitu menentukan data yang akan diramalkan kemudian
menghitung nilai x, x
2, xy, ∑y, ∑xy, ∑x
2. Setelah nilai dari tiap variabel tersebut
di temukan selanjutnya menghitung nilai
b
(koefisien garis trend) dari nilai
b
dapat digunakan untuk menghitung nilai
a
(bilangan konstanta) yang akan
digunakan untuk meramalkan data sampel penjualan aktual yang terdiri dari 38
periode (bulan).
Source code pada Gambar 4.1 digunakan untuk memasukkan data pembeli
kain majun yang nantinya digunakan untuk pengelompokan data hasil penjualan
berdasarkan data pembeli untuk diprediksi penjualan pada peride selanjutnya.
Kode program 4.1
Source code
Data Pembeli
$op = filter_input(INPUT_POST, "op"); if($op=="baca"){
$sql="SELECT id_pembeli,nama_pt FROM `pembeli` ORDER BY id_pembeli asc";
$query= mysqli_query($link, $sql); $data=array();
$no=0;
while ($row = mysqli_fetch_array($query)) { $data[$no][0]=($no+1);
$data[$no][1]=$row["nama_pt"];
$data[$no][2]='<button type="button" class="btn round btn-warning p_edit_pembeli" data-id="'.$row["id_pembeli"].'"><i class="fa fa-edit"></i> Ubah</button>'
.'<button type="button" class="btn round btn-danger p_hapus_pembeli" data-id="'.$row["id_pembeli"].'"><i class="fa fa-trash"></i> Hapus</button>'; $no++; } $kirim=array( "data"=>$data ); echo json_encode($kirim); }
else if ($op == "tambah") {
$nama_pt = addslashes(filter_input(INPUT_POST, "nama"));
$sql_ins = "INSERT INTO pembeli set nama_pt='" . $nama_pt . "'"; $query_in= mysqli_query($link, $sql_ins); if($query_in){ echo json_encode("ok"); }else{ echo json_encode("gagal"); } }
else if ($op == "ubah") {
$id_edit = addslashes(filter_input(INPUT_POST, "id_edit")); $nama = addslashes(filter_input(INPUT_POST, "nama2"));
$sql_up = "UPDATE pembeli set nama_pt='" . $nama . "'
WHERE id_pembeli='" . $id_edit . "'"; $query_up= mysqli_query($link, $sql_up);
if($query_up){ echo json_encode("ok"); }else{ echo json_encode("gagal"); } }
//end untuk edit data ke db //start untuk hapus data dari db else if ($op == "hapus") {
$id_hapus= filter_input(INPUT_POST, "id_hapus");
$sql_del = "DELETE FROM pembeli
WHERE id_pembeli='" .$id_hapus."'"; $query_del= mysqli_query($link, $sql_del); if($query_del){ echo json_encode("ok"); }else{ echo json_encode("gagal"); } }
Kode program 4.2
Source code
Data Penjualan
$op = filter_input(INPUT_POST, "op"); if($op=="baca"){
$sql="SELECT
p.id_penjualan,p.id_pembeli,b.nama_pt,p.periode,DATE_FORMAT(p.periode, '%b-%Y') as tgl,p.jml_penjualan FROM penjualan as p,pembeli as b WHERE p.id_pembeli=b.id_pembeli ORDER BY p.id_penjualan asc"; $query= mysqli_query($link, $sql);
$data=array(); $no=0;
while ($row = mysqli_fetch_array($query)) { $data[$no][0]=($no+1);
$data[$no][1]=$row["nama_pt"]; $data[$no][2]=$row["tgl"];
$data[$no][3]=$row["jml_penjualan"];
$data[$no][4]='<button type="button" class="btn round btn-warning p_edit_penjualan" id="'.$row["id_penjualan"].'" id_pembeli="'.$row["id_pembeli"].'"
data-periode="'.$row["periode"].'"><i class="fa fa-edit"></i> Ubah</button>'
.'<button type="button" class="btn round btn-danger p_hapus_penjualan" data-id="'.$row["id_penjualan"].'"><i class="fa fa-trash"></i> Hapus</button>';
$no++; } $kirim=array( "data"=>$data ); echo json_encode($kirim); } else if($op=="baca_pembeli"){
$sql="SELECT id_pembeli,nama_pt FROM pembeli"; $query= mysqli_query($link, $sql);
$data=array(); $no=0;
while ($row1 = mysqli_fetch_assoc($query)) { $data[$no][0]=$row1["id_pembeli"]; $data[$no][1]=$row1["nama_pt"]; $no++; } echo json_encode($data); }
else if ($op == "tambah") {
$id_pembeli = addslashes(filter_input(INPUT_POST, "id_pembeli")); $periode = filter_input(INPUT_POST, "bulan")."-".
filter_input(INPUT_POST, "tahun");
$jumlah = addslashes(filter_input(INPUT_POST, "jumlah")); $sql_ins = "INSERT INTO penjualan set
id_pembeli='" . $id_pembeli . "',
periode=STR_TO_DATE('01-" . $periode . "','%d-%b-%Y'), jml_penjualan='" . $jumlah . "'";
$query_in= mysqli_query($link, $sql_ins); if($query_in){ echo json_encode("ok"); }else{ echo json_encode("gagal"); } }
else if ($op == "ubah") {
$id_edit = addslashes(filter_input(INPUT_POST, "id_edit")); $periode = filter_input(INPUT_POST, "bulan2")."-".
filter_input(INPUT_POST, "tahun2");
$jumlah = addslashes(filter_input(INPUT_POST, "jumlah2"));
$id_pembeli = addslashes(filter_input(INPUT_POST, "id_pembeli2")); $sql_up = "UPDATE penjualan set
id_pembeli='" . $id_pembeli . "',
periode=STR_TO_DATE('01-" . $periode . "','%d-%b-%Y'), jml_penjualan='" . $jumlah . "'
WHERE id_penjualan='" . $id_edit . "'"; $query_up= mysqli_query($link, $sql_up);
if($query_up){ echo json_encode("ok"); }else{ echo json_encode("gagal"); } }
else if ($op == "hapus") {
$id_hapus= filter_input(INPUT_POST, "id_hapus");
$sql_del = "DELETE from penjualan
WHERE id_penjualan='" .$id_hapus."'"; $query_del= mysqli_query($link, $sql_del);
if($query_del){ echo json_encode("ok"); }else{ echo json_encode("gagal"); } }
Kode program 4.3
Source code
Pengujian data
$op = filter_input(INPUT_POST, "op");
//start baca pembeli dan tahun if ($op == "baca_pembeli") { //start baca pembeli
$sql = "SELECT id_pembeli,nama_pt FROM pembeli"; $query = mysqli_query($link, $sql);
$data = array(); $no = 0;
while ($row1 = mysqli_fetch_assoc($query)) { $data[$no][0] = $row1["id_pembeli"]; $data[$no][1] = $row1["nama_pt"]; $no++;
}
//end baca pembeli //start baca tahun
$sql2 = "SELECT date_format(periode,'%Y') as tahun FROM penjualan GROUP BY tahun";
$query2 = mysqli_query($link, $sql2); $data2 = array();
$no2 = 0;
while ($row2 = mysqli_fetch_assoc($query2)) { $data2[$no2] = $row2["tahun"];
$no2++; }
//end baca tahun $kirim = array( "pembeli" => $data, "tahun" => $data2 ); echo json_encode($kirim); }
elseif ($op == "prediksi") {
$id_pembeli = filter_input(INPUT_POST, "id_pembeli"); $data_acuan = filter_input(INPUT_POST, "data_acuan"); $data_uji = filter_input(INPUT_POST, "data_uji");
$sql = "SELECT id_penjualan,DATE_FORMAT(periode,'%b-%Y') as tgl,jml_penjualan FROM penjualan WHERE id_pembeli='".$id_pembeli."' ORDER by periode asc";
$query = mysqli_query($link, $sql); $data = array();
$no = 0;
while ($row = mysqli_fetch_assoc($query)) { $data[$no][0] = ($no + 1);
$data[$no][1] = $row["tgl"];
$data[$no][2] = $row["jml_penjualan"]; //y $data[$no][3] = 0; //Ey $data[$no][4] = 0; //Ex $data[$no][5] = 0; //Exy $data[$no][6] = 0; //Ex2 $data[$no][7] = 0; //b $data[$no][8] = 0; //a $data[$no][9] = 0; //forecast $no++; } $t_y = 0; $t_x = 0; $t_xy = 0; $t_x2 = 0; $b = 0; $a = 0; $y = 0; $musim = 0; $rt2 = 0; $ymusim;
for ($i = 0; $i < count($data); $i++) { //start data acuan ramalan != semua if ($data_acuan != "semua") { if ($i >= $data_acuan) {
$hitung = hitung_periode($i, $data, $data_acuan); $data[$i][3] = $hitung[0]; //Ey
$data[$i][4] = $hitung[1]; //Ex $data[$i][5] = $hitung[2]; //Exy $data[$i][6] = $hitung[3]; //Ex2 $data[$i][7] = $hitung[4]; //b $data[$i][8] = $hitung[5]; //a
$data[$i][9] = $hitung[6]; //forecast }
else { $xy = ($i * $data[$i][2]);//xy $x2 = p2($i);//x2
$data[$i][3] = $t_y; //Ey $data[$i][4] = $t_x; //Ex $data[$i][5] = $t_xy; //Exy $data[$i][6] = $t_x2; //Ex2 $data[$i][7] = $b; //b $data[$i][8] = $a; //a
$data[$i][9] = $y; //forecast $t_y += $data[$i][2];
$t_x += $i; $t_xy += $xy; $t_x2 += $x2;
if (((($i + 1) * $i) - ($t_x * 2) + ($t_x * $i) - ($t_x2 * 2)) == 0) { $b = ""; $a = ""; $y = "";
} else {
$b = (($t_y * $i) - ($t_xy * 2)) / ((($i + 1) * $i) - ($t_x * 2) + ($t_x * $i) - ($t_x2 * 2)); $a = (($t_y - ($t_x * $b)) / ($i + 1)); $y = $a + ($b * ($i + 1)); } } } $data_mad_mape = array(); $ne = 0; $t_selisih = 0; $t_error = 0; for ($p = 0; $p < count($data); $p++) { if (strpos($data[$p][1], $data_uji) !== false) { $data_mad_mape[$ne][0] = $ne + 1; $data_mad_mape[$ne][1] = $data[$p][1]; $data_mad_mape[$ne][2] = $data[$p][2]; //y $data_mad_mape[$ne][3] = $data[$p][3]; //Ey $data_mad_mape[$ne][4] = $data[$p][4]; //Ex $data_mad_mape[$ne][5] = $data[$p][5]; //Exy $data_mad_mape[$ne][6] = $data[$p][6]; //Ex2 $data_mad_mape[$ne][7] = $data[$p][7]; //b $data_mad_mape[$ne][8] = $data[$p][8]; //a
$data_mad_mape[$ne][9] = $data[$p][9]; //forecast if ($data_uji == "0") {
if ($p < $data_acuan) {
$data_mad_mape[$ne][10] = 0; //selisih $data_mad_mape[$ne][11] = 0; //error } else {
$data_mad_mape[$ne][10] = abs($data[$p][2] - $data[$p][9]); //selisih $data_mad_mape[$ne][11] = $data_mad_mape[$ne][10] / $data[$p][2]; //error } } else {
$data_mad_mape[$ne][10] = abs($data[$p][2] - $data[$p][9]); //selisih $data_mad_mape[$ne][11] = $data_mad_mape[$ne][10] / $data[$p][2]; //error }
$t_selisih += $data_mad_mape[$ne][10]; $t_error += $data_mad_mape[$ne][11]; $ne++; }}
$mad = $t_selisih / $ne; $mape = $t_error / $ne; $kirim = array( "data" => $data_mad_mape, "t_selisih" => $t_selisih, "t_error" => $t_error, "mad" => $mad, "mape" => $mape ); echo json_encode($kirim); }
function hitung_periode($ke, $data, $periode) { $dt = array(); $no = 0; $t_y = 0; $t_x = 0; $t_xy = 0; $t_x2 = 0; $b = 0; $a = 0; $y = 0;
for ($i = ($ke - $periode); $i < $ke; $i++) { $xy = ($no * $data[$i][2]);
$x2 = p2($no);
$t_y += $data[$i][2]; $t_x += $no;
$t_xy += $xy; $t_x2 += $x2;
$b = (($t_y * $no) - ($t_xy * 2)) / ((($no + 1) * $no) - ($t_x * 2) + ($t_x * $no) - ($t_x2 * 2)); $a = (($t_y - ($t_x * $b)) / ($no + 1)); $y = $a + ($b * ($no + 1)); $no++; } $dt[0] = $t_y; $dt[1] = $t_x; $dt[2] = $t_xy; $dt[3] = $t_x2; $dt[4] = $b; $dt[5] = $a; $dt[6] = $y; return $dt; } function p2($nilai) {
$hasil = $nilai * $nilai; return $hasil;
Kode program 4.4
Source code
Peramalan Penjualan Musim
$op = filter_input(INPUT_POST, "op"); if ($op == "baca") {
$sql = "SELECT
p.id_hslperamalan,i.nama_pt,DATE_FORMAT(p.periode,'%b-%Y') as tgl,p.hsl_forecast,p.mad,p.mape FROM peramalan as p,pembeli as i WHERE p.id_pembeli=i.id_pembeli ORDER BY p.id_hslperamalan asc"; $query = mysqli_query($link, $sql);
$data = array(); $no = 0;
while ($row = mysqli_fetch_array($query)) { $data[$no][0] = ($no + 1); $data[$no][1] = $row["nama_pt"]; $data[$no][2] = $row["tgl"]; $data[$no][3] = $row["hsl_forecast"]; $data[$no][4] = $row["mad"]; $data[$no][5] = $row["mape"];
$data[$no][6] = '<button type="button" class="btn btn-round btn-danger p_hapus_peramalan" data-id="' . $row["id_hslperamalan"] . '"><i class="fa fa-trash"></i> Hapus</button>';
$no++; } $kirim = array( "data" => $data ); echo json_encode($kirim); }
else if ($op == "baca_pembeli") {
$sql = "SELECT id_pembeli,nama_pt FROM pembeli"; $query = mysqli_query($link, $sql);
$data = array(); $no = 0;
while ($row1 = mysqli_fetch_assoc($query)) { $data[$no][0] = $row1["id_pembeli"]; $data[$no][1] = $row1["nama_pt"]; $no++; } echo json_encode($data); }
elseif ($op == "bulan_selanjutnya") {
$id_pembeli = filter_input(INPUT_POST, "id_pembeli");
$sql = "SELECT DATE_FORMAT(DATE_ADD(max(periode), INTERVAL 1 MONTH),'%b-%Y') as next_bulan FROM penjualan WHERE id_pembeli='" . $id_pembeli . "'";
$query = mysqli_query($link, $sql); $bln = "";
while ($row = mysqli_fetch_assoc($query)) { $bln = $row["next_bulan"];
}
echo json_encode($bln); }
//end baca bulan selanjutnya //start prediksi trend moment elseif ($op == "prediksi") {
$id_pembeli = filter_input(INPUT_POST, "id_pembeli"); $bulan_selanjutnya = filter_input(INPUT_POST,
"bulan_selanjutnya"); //baca semua data
$sql = "SELECT id_penjualan,DATE_FORMAT(periode,'%b-%Y') as tgl,jml_penjualan FROM penjualan WHERE id_pembeli='" . $id_pembeli . "' ORDER by periode asc";
$query = mysqli_query($link, $sql); // echo $sql; $data = array(); $no = 0; $data_musim = array(); $no_m = 0; $t_y = 0; $t_x = 0; $t_xy = 0; $t_x2 = 0; $b = 0; $a = 0; $y = 0; $t_selisih = 0; $t_error = 0;
while ($row = mysqli_fetch_assoc($query)) { $data[$no][0] = ($no + 1);
$data[$no][1] = $row["tgl"];
$data[$no][2] = $row["jml_penjualan"]; //y $data[$no][3] = $no; //x
$xy = ($no * $data[$no][2]); $data[$no][4] = $xy; //xy $x2 = p2($no);
$data[$no][5] = $x2; //x2 $data[$no][6] = $t_y; //Ey $data[$no][7] = $t_x; //Ex $data[$no][8] = $t_xy; //Exy $data[$no][9] = $t_x2; //Ex2 $data[$no][10] = $b; //b $data[$no][11] = $a; //a
$data[$no][12] = $y; //forecast //index musim
if ($no > 11) {
$data_musim[$no_m][0] = ($no_m + 1); //nomer $data_musim[$no_m][1] = $data[$no][1]; //periode $data_musim[$no_m][2] = $data[$no][12]; //forecast $rt2 = ($t_y / $no);
$data_musim[$no_m][3] = $rt2; //rata2 if ($no < 24) {
$musim = ($data[($no - 12)][2] / $rt2); $data_musim[$no_m][4] = $musim; //index_musim } else {
$musim = (($data[($no - 12)][2] + $data[($no - 24)][2]) / 2) / $rt2;
$data_musim[$no_m][4] = $musim; //index_musim }
$ymusim = $musim * $y;
$data_musim[$no_m][5] = $ymusim; //y_musim $data_musim[$no_m][6] = abs($data[$no][2] - $data_musim[$no_m][5]); //selisih $data_musim[$no_m][7] = $data_musim[$no_m][6] / $data_musim[$no_m][2]; //error $t_selisih_m += $data_musim[$no_m][6]; $t_error_m += $data_musim[$no_m][7]; //start grafik $grafik[] = array( "year" => $data_musim[$no_m][1], "aktual" => $data[$no][2], "forecast" => $data_musim[$no_m][5] ); //end grafik $no_m++; }
$t_y += $data[$no][2]; $t_x += $no; $t_xy += $xy; $t_x2 += $x2;
if (((($no + 1) * $no) - ($t_x * 2) + ($t_x * $no) - ($t_x2 * 2)) == 0) {
$b = ""; $a = ""; $y = ""; } else {
$b = (($t_y * $no) - ($t_xy * 2)) / ((($no + 1) * $no) - ($t_x * 2) + ($t_x * $no) - ($t_x2 * 2)); $a = (($t_y - ($t_x * $b)) / ($no + 1)); $y = $a + ($b * ($no + 1)); } if ($no == 0) { $data[$no][13] = 0; //selisih $data[$no][14] = 0; //error } else {
$data[$no][13] = abs($data[$no][2] - $data[$no][12]); //selisih $data[$no][14] = $data[$no][13] / $data[$no][2]; //error
}
$t_selisih += $data[$no][13]; $t_error += $data[$no][14]; $no++;}
$mad = $t_selisih / $no; $mape = $t_error / $no; $data[$no][0] = $no + 1; $data[$no][1] = $bulan_selanjutnya; $data[$no][2] = ""; //y $data[$no][3] = ""; //x $data[$no][4] = ""; //xy $data[$no][5] = ""; //x2 $data[$no][6] = $t_y; //Ey $data[$no][7] = $t_x; //Ex $data[$no][8] = $t_xy; //Exy $data[$no][9] = $t_x2; //Ex2 $data[$no][10] = $b; //b $data[$no][11] = $a; //a
$data[$no][12] = $y; //forecast $data[$no][13] = ""; //selisih $data[$no][14] = ""; //error //index musim
$mad_m = $t_selisih_m / $no_m; $mape_m = $t_error_m / $no_m;
$data_musim[$no_m][0] = ($no_m + 1); //nomer
$data_musim[$no_m][1] = $bulan_selanjutnya; //periode $data_musim[$no_m][2] = $data[$no][12]; //forecast $rt2 = ($t_y / $no);
$data_musim[$no_m][3] = $rt2; //rata2 if ($no < 24) {
$musim = ($data[($no - 12)][2] / $rt2); $data_musim[$no_m][4] = $musim; //index_musim } else {
$musim = (($data[($no - 12)][2] + $data[($no - 24)][2]) / 2) / $rt2; $data_musim[$no_m][4] = $musim; //index_musim
}
$ymusim = $musim * $y;
$data_musim[$no_m][5] = $ymusim; //y_musim $data_musim[$no_m][6] = ""; //selisih $data_musim[$no_m][7] = ""; //error
$kirim = array( "data" => $data, "t_selisih" => $t_selisih, "t_error" => $t_error, "mad" => $mad, "mape" => $mape, "data_musim" => $data_musim, "t_selisih_m" => $t_selisih_m, "t_error_m" => $t_error_m, "mad_m" => $mad_m, "mape_m" => $mape_m, "forecast" => $data_musim[$no_m][5], "grafik"=>$grafik ); echo json_encode($kirim); }
elseif ($op == "tambah") {
$id_pembeli = addslashes(filter_input(INPUT_POST, "id_pembeli")); $periode = "01-" . addslashes(filter_input(INPUT_POST,
"bulan_selanjutnya"));
$mad = addslashes(filter_input(INPUT_POST, "mad")); $mape = addslashes(filter_input(INPUT_POST, "mape"));
$forecast = addslashes(filter_input(INPUT_POST, "forecast")); $sql_ins = "INSERT INTO peramalan set
id_pembeli='" . $id_pembeli . "', mad='" . $mad . "',
mape='" . $mape . "',
periode=STR_TO_DATE('" . $periode . "','%d-%b-%Y'), hsl_forecast='" . $forecast . "'";
$query_in = mysqli_query($link, $sql_ins); if ($query_in) { echo json_encode("ok"); } else { echo json_encode("gagal"); } }
else if ($op == "hapus") {
$id_hapus = filter_input(INPUT_POST, "id_hapus"); $sql_del = "DELETE from peramalan
WHERE id_hslperamalan='" . $id_hapus . "'"; $query_del = mysqli_query($link, $sql_del);
if ($query_del) { echo json_encode("ok"); } else { echo json_encode("gagal"); } } function p2($nilai) {
$hasil = $nilai * $nilai; return $hasil;
4.2 Pengujian Sistem
Uji coba sistem dilakukan untuk menghitung data aktual penjualan kain
majun di UD. Farrel Mulya Industri yang sudah ada dan telah digunakan dalam
representasi model pada bab sebelumnya. Uji coba ini dilakukan bertujuan untuk
melihat sejauh mana sistem yang telah dibuat apakah sesuai dengan representasi
model dan rancangan sistem yang telah dibuat.
4.2.1 Halaman
Login
Tampilan awal pada saat
user
(pengguna) membuka sistem adalah
tampilan
login
. Tampilan
login
ini digunakan untuk membatasi hak akses dari
pemakaian sistem peramalan agar tidak digunakan divisi – divisi yang lainnya.
Gambar 4.1 berikut ini adalah tampilan login pada sistem peramalan yang telah
dibangun.
Gambar 4.1
Halaman Login
Pada Gambar 4.1 Halaman Login sistem di bagi menjadi 2 antara lain yaitu bagian
penjualan dan manager tiap user memiliki hak akses yang berbeda untuk bagian
penjulan memasukkan data aktual penjualan dan mengoperasikan sistem
peramalan. Sedangkan manager hanya menerima hasil
output
sistem peramalan.
4.2.2 Halaman Awal (
Home
)
Setelah
User
(Pengguna) berhasil melakukan
login
kedalam sistem, maka
akan muncul tampilan awal seperti Gambar 4.2 sebagai berikut :
Gambar 4.2
Halaman Awal (
Home
)
4.2.3 Halaman Data Pembeli
Halaman seperti pada Gambar 4.3 berikut ini adalah halaman data pembeli
digunakan untuk menyimpan data-data pembeli kain majun.
4.2.4 Halaman Data Penjualan
Halaman seperti Gambar 4.4 berikut ini berisi data aktual penjualan kain
majun dan juga pada halaman ini digunakan mengubah, menghapus dan
menambahkan data penjualan kain majun.
Gambar 4.4
Halaman Data Aktual Penjualan Kain Majun
4.2.5 Halaman Pengujian
Halaman yang ada pada Gambar 4.5 digunakan untuk meramalkan hasil
penjualan kain majun pada setiap pembeli (Nama PT) yang telah membeli kain
majun.
Pada Gambar 4.5 Halaman Pengujian Data terdapat
form
input
pembeli atau nama
PT.
yang membeli kain majun jadidapat di kelompokkan dari beberapa pembeli
untuk di prediksi, dan
form input
data acuan ramalan digunakan untuk memilih
data acuan yang akan diramalkan antara lain 3 bulan, 6 bulan, 9 bulan, 12 bulan
dan semua data. Seperti yang terlihat pada Gambar 4.6 hasil pengujian dari data
acuan 3 bulan untuk forecasting data aktual penjualan kain majun.
Gambar 4.6
Hasil Forecast data acuan 3 bulan
Pada Gambar 4.6 Hasil perhitungan forecasting pengujian data acuan 3 bulan
yang digunakan untuk meramalkan data penjualan kain majun untuk mengukur
nilai akurasi peramalan yaitu digunakan MAD (
Mean Absolut Deviation
) didapat
dari data aktual dikurangi
forecast
kemudian di rata-rata dengan jumlah data yang
di cari nilai errornya, sedangkan hasil MAPE (
Mean Absolute Percentage Error
)
didapat dari hasil absolut dari error dibagi dengan data aktual.
4.2.6 Halaman Peramalan Penjualan
Halaman yang ada pada Gambar 4.7 digunakan untuk meramalkan data
keseluruhan yang dipengaruhi indek musim dari data aktual Mei 2014 sampai
dengan Juni 2017 dapat dihitung forecast indek musim mulai periode Mei 2015
sampai Juni 2017. Halaman ini akan secara otomatis meramalkan secara urut dari
data aktual penjualan yang telah tersimpan, jadi tinggal memilih nama pembeli
kemudian mengklik tombol prediksi maka proses akan dimulai.
Gambar 4.7
Halaman Peramalan Penjualan
Pada Gambar 4.8 merupakan grafik penjualan aktual kain majun ke PT. Rollent
Indonesia yang digambarkan dengan garis merah sedangkan untuk
forecast
indek
musim digambarkan dengan garis warna biru dari grafik tersebut dapat dilihat
perbandingan antara penjualan aktual dan hasil
forecast
penjualan.
4.2.7 Halaman Data
User
Halaman yang ada pada Gambar 4.9 berikut ini adalah halaman pengguna
(
user
) digunakan untuk membatasi hak akses pengguna sistem. Fungsi utama
halaman ini yaitu mengubah atau menghapus dan menambahkan
user
baru yang
dapat login kedalam sistem.
Gambar 4.9
Halaman
User
Pada halaman
user
yang dapat mengakses halaman tersebut adalah manager.
Sedangkan untuk
login
sistem sendiri dibagi menjadi dua yaitu
level
penjualan
dan
level
manager.
4.2.8 Halaman Laporan Penjualan
Halaman yang ada pada Gambar 4.10 adalah halaman laporan hasil
peramalan dan penjualan aktual untuk manager yang digunakan sebagai acuan
untuk menentukan penjualan pada periode selanjutnya.
Gambar 4.10
Halaman Laporan Manager
4.3 Analisa Hasil Pengujian Sistem
Analisis hasil pengujian sistem penulis menggunakan data aktual
penjualan kain majun di UD. Farrel Mulya Industri selama 38 periode (bulan).
Didalam pengujian sistem menggunakan data acuan peramalan yaitu dengan data
acuan 3 bulan, 6 bulan, 9 bulan, 12 bulan dan semua data aktual. Data acuan yang
digunakan sebagai sampel perhitungan mulai dari bulan Mei 2014 – Desember
2016. Pada pengujian ini 5 tahapan pengujian dengan kriteria sebagai berikut :
1.
Kriteria pertama meramalkan penjualan kain majun menggunakan data
acuan 3 bulan, mulai bulan Mei 2014 – Desember 2016 untuk meramalkan
data penjualan aktual pada tahun 2016 untuk mengetahui hasil peramalan
manakah yang terbaik dengan memperoleh nilai kesalahan peramalan
Mean Absolut Deviation
(MAD) terkecil dan
Mean Absolut Percentage
Error
(MAPE).
2.
Kriteria kedua meramalkan penjualan kain majun menggunakan data
acuan 6 bulan, mulai bulan Mei 2014 – Desember 2016 untuk meramalkan
data penjualan aktual pada tahun 2016 untuk mengetahui hasil peramalan
manakah yang terbaik dengan memperoleh nilai kesalahan peramalan
Mean Absolut Deviation
(MAD) terkecil dan
Mean Absolut Percentage
Error
(MAPE).
3.
Kriteria ketiga meramalkan penjualan kain majun menggunakan data
acuan 9 bulan, mulai bulan Mei 2014 – Desember 2016 untuk meramalkan
data penjualan aktual pada tahun 2016 untuk mengetahui hasil peramalan
manakah yang terbaik dengan memperoleh nilai kesalahan peramalan
Mean Absolut Deviation (MAD) terkecil dan Mean Absolut Percentage
Error (MAPE).
4.
Kriteria keempat meramalkan penjualan kain majun menggunakan data
acuan 12 bulan, mulai bulan Mei 2014 – Desember 2016 untuk
meramalkan data penjualan aktual pada tahun 2016 untuk mengetahui
hasil peramalan manakah yang terbaik dengan memperoleh nilai kesalahan
peramalan Mean Absolut Deviation (MAD) terkecil dan Mean Absolut
Percentage Error (MAPE).
5.
Kriteria kelima meramalkan penjualan kain majun menggunakan data
acuan semua data, mulai bulan Mei 2014 – Desember 2016 untuk
meramalkan data penjualan aktual pada tahun 2016 untuk mengetahui
hasil peramalan manakah yang terbaik dengan memperoleh nilai kesalahan
peramalan Mean Absolut Deviation (MAD) terkecil dan Mean Absolut
Percentage Error (MAPE). Pada pengujian menggunakan acuan semua
data di uji lagi menggunakan indek musim untuk mendapatkan peramalan
berdasarkan musim digunakan data minimal satu tahun keatas.
4.3.1 Kriteria Pengujian Pertama Dengan Data Acuan 3 Bulan
Tabel 4.1
Forecast
Data Acuan 3 Bulan untuk PT. Rollent
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error
May-15 320 1180 3 1135 5 -22.5 415.833 348.333 28.333 0.0885 Jun-15 290 1100 3 995 5 -52.5 419.167 261.667 28.333 0.0977 Jul-15 280 965 3 900 5 -32.5 354.167 256.667 23.333 0.0833 Aug-15 250 890 3 850 5 -20 316.667 256.667 6.667 0.0266 Sep-15 350 820 3 780 5 -20 293.333 233.333 116.667 0.3333 Oct-15 385 880 3 950 5 35 258.333 363.333 21.667 0.0562 Nov-15 435 985 3 1120 5 67.5 260.833 463.333 28.333 0.0651 Dec-15 400 1170 3 1255 5 42.5 347.5 475 75 0.1875 Jan-16 430 1220 3 1235 5 7.5 399.167 421.667 8.333 0.0193 Feb-16 415 1265 3 1260 5 -2.5 424.167 416.667 1.667 0.0041 Mar-16 375 1245 3 1260 5 7.5 407.5 430 55 0.1467 Apr-16 340 1220 3 1165 5 -27.5 434.167 351.667 11.667 0.0343 May-16 310 1130 3 1055 5 -37.5 414. 167 301.667 8.333 0.0268 Jun-16 350 1025 3 960 5 -32.5 374.167 276.667 73.333 0.2095 Jul-16 275 1000 3 1010 5 5 328.333 343.333 68.333 0.2484 Aug-16 240 935 3 900 5 -17.5 329.167 276.667 36.667 0.1527 Sep-16 290 865 3 755 5 -55 343.333 178.333 111.667 0.3850 Oct-16 315 805 3 820 5 7.5 260.833 283.333 31.667 0.1005 Nov-16 370 845 3 920 5 37.5 244.167 356.667 13.333 0.0360 Dec-16 400 975 3 1055 5 40 285 405 5 0.0125 Jan-17 450 1085 3 1170 5 42.5 319.167 446.667 3.333 0.0074 Feb-17 410 1220 3 1300 5 40 366.667 486.667 76.667 0.1869 Mar-17 350 1260 3 1270 5 5 415 430 80 0.2285 Apr-17 325 1210 3 1110 5 -50 453.333 303.333 21.667 0.0667 May-17 300 1085 3 1000 5 -42.5 404.167 276.667 23.333 0.0778
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error Jun-17 340 975 3 925 5 -25 350 275 65 0.1911
Total
1256.667 3.8011MAD =
|
̂
|
=
=
33.071
MAPE =
̂=
= 0.1000 * 100 %
= 10.00 %
Tabel 4.2
Forecast
Data Acuan 3 Bulan dengan indek musim untuk PT. Rollent
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
May-15 348.333 332.916 0.9762 340.050 20.050 0.0626 Jun-15 261.667 331.923 0.8435 220.733 69.266 0.2388 Jul-15 256.667 328.928 0.7600 195.077 84.922 0.3032 Aug-15 256.667 325.667 0.8444 216.734 33.265 0.1330 Sep-15 233.333 320.937 0.9347 218.111 131.888 0.3768 Oct-15 363.333 322.647 0.9762 354.721 30.278 0.0786 Nov-15 463.333 326.111 1.0272 475.962 40.962 0.0941 Dec-15 475 331.842 1.0848 515.305 115.305 0.2882 Jan-16 421.667 335.25 1.1185 471.662 41.662 0.0968 Feb-16 416.667 339.761 1.1772 490.539 75.539 0.1820 Mar-16 430 343.181 1.2384 532.516 157.516 0.4200 Apr-16 351.667 344.565 1.0302 362.316 22.316 0.0656 May-16 301.667 344.375 0.9364 282.504 27.495 0.0886 Jun-16 276.667 343 0.8309 229.883 120.116 0.3431 Jul-16 343.333 343.269 0.7719 265.049 9.950 0.0361 Aug-16 276.667 340.740 0.7703 213.138 26.861 0.1119 Sep-16 178.333 337.142 0.9639 171.910 118.089 0.4072 Oct-16 283.333 335.517 1.0431 295.563 19.436 0.0617
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
Nov-16 356.667 334.833 1.1498 410.104 40.104 0.1083 Dec-16 405 335.967 1.1310 458.079 58.079 0.1451 Jan-17 446.667 337.968 1.1909 531.952 81.952 0.1821 Feb-17 486.667 341.363 1.1937 580.954 170.954 0.4169 Mar-17 430 343.382 1.1648 500.899 150.899 0.4311 Apr-17 303.333 343.571 1.0114 306.801 18.198 0.0559 May-17 276.667 343.055 0.9182 254.040 45.959 0.1531 Jun-17 275 341.891 0.9359 257.391 82.608 0.2429 Total 1793.680 5.1252
MAD =
|
̂
|
=
=
68.987
MAPE =
̂=
= 0.1971 * 100 %
= 19.71 %
Jadi untuk hasil peramalan penjualan kain majun menggunakan data acuan 3
bulan untuk meramalkan data penjualan ke PT. Rollent diperkirakan mendapat
nilai rata-rata MAD sebesar 33.071 dan MAPE sebesar 10.00 % sedangkan jika
menggunakan indek musim mendapatkan nilai rata-rata MAD sebesar 68.987 dan
MAPE sebesar 19.71 %.
4.3.2 Kriteria Pengujian Kedua Dengan Data Acuan 6 Bulan
Tabel 4.3
Forecast
Data Acuan 6 Bulan untuk PT. Rollent
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error
May-15 320 2250 15 5785 55 9.142 352.142 407 87 0.2718 Jun-15 290 2235 15 5470 55 -6.714 389.285 349 59 0.2034 Jul-15 280 2165 15 5045 55 -21 413.333 287.333 7.333 0.0261
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error Aug-15 250 2070 15 4655 55 -29.714 419.285 241 9 0.036 Sep-15 350 1920 15 4235 55 -32.285 400.714 207 143 0.4085 Oct-15 385 1845 15 4490 55 -7 325 283 102 0.2649 Nov-15 435 1875 15 2925 55 13.571 278.571 360 75 0.1724 Dec-15 400 1990 15 5545 55 32.571 250.238 445.667 45.667 0.1141 Jan-16 430 2100 15 5845 55 34 265 469 39 0.0906 Feb-16 415 2250 15 6175 55 31.428 296.428 485 70 0.1686 Mar-16 375 2415 15 6250 55 12.142 372.142 445 70 0.1867 Apr-16 340 2440 15 6060 55 -2.285 412.380 398.667 58.667 0.1725 May-16 310 2395 15 5705 55 -16.142 439.523 342.667 32.667 0.1053 Jun-16 350 2270 15 5295 55 -21.714 432.619 302.333 47.667 0.1361 Jul-16 275 2220 15 5175 55 -21.428 423.571 295 20 0.0727 Aug-16 240 2065 15 4760 55 -23 401.667 263.667 23.667 0.0986 Sep-16 290 1890 15 4310 55 -23.714 374.285 232 58 0.2 Oct-16 315 1805 15 4245 55 -15.285 339.047 247.333 67.667 0.2148 Nov-16 370 1780 15 4355 55 -5.428 310.238 277.667 92.333 0.2495 Dec-16 400 1840 15 4735 55 7.714 287.380 333.667 66.333 0.1658 Jan-17 450 1890 15 5245 55 29.714 240.714 419 31 0.0688 Feb-17 410 2065 15 5880 55 41 241.667 487.667 77.667 0.1894 Mar-17 350 2235 15 6105 55 29,571 298.571 476 126 0.36 Apr-17 325 2295 15 5910 55 9.857 357.857 417 92 0.2830 May-17 300 2305 15 5555 55 -11.857 413.809 342.667 42.667 0.1422 Jun-17 340 2235 15 5120 55 -26.714 439.285 279 61 0.1794
Total
1768 5.0443MAD =
|
̂
|
=
=
46.526
MAPE =
̂=
= 0.1327 * 100 %
= 13.27 %
Tabel 4.4
Forecast
Data Acuan 6 Bulan dengan indek musim untuk PT. Rollent
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
May-15 407 332.916 0.9762 397.321 77.321 0.2416 Jun-15 349 331.923 0.8435 294.405 4.4055 0.0151 Jul-15 287.333 328.928 0.7600 218.385 61.614 0.2201 Aug-15 241 325.667 0.8444 203.505 46.494 0.1859 Sep-15 207 320.937 0.9347 193.495 156.504 0.4471 Oct-15 283 322.647 0.9762 276.292 108.707 0.2823 Nov-15 360 326.111 1.0272 369.812 65.187 0.1498 Dec-15 445.667 331.842 1.0848 483.482 83.482 0.2087 Jan-16 469 335.25 1.1185 524.608 94.608 0.2202 Feb-16 485 339.761 1.1772 570.988 155.988 0.3758 Mar-16 445 343.181 1.2384 551.092 176.092 0.4695 Apr-16 398.667 344.565 1.0302 410.739 70.739 0.2080 May-16 342.667 344.375 0.9364 320.900 10.901 0.0351 Jun-16 302.333 343 0.8309 251.209 98.790 0.2822 Jul-16 295 343.269 0.7719 227.736 47.263 0.1718 Aug-16 263.667 340.740 0.7703 203.123 36.876 0.1536 Sep-16 232 337.142 0.9639 223.644 66.355 0.2288 Oct-16 247.333 335.517 1.0431 258.009 56.990 0.1809 Nov-16 333.667 334.833 1.1498 319.268 50.731 0.1371 Dec-16 333.667 335.967 1.1310 377.397 22.6026 0.0565 Jan-17 419 337.968 1.1909 499.003 49.003 0.1088 Feb-17 487.667 341.363 1.1937 582.148 172.148 0.4198 Mar-17 476 343.382 1.1648 554.483 204.483 0.5842 Apr-17 417 343.571 1.0114 421.768 96.768 0.2977 May-17 342.667 343.055 0.9182 314.642 14.642 0.0488 Jun-17 279 341.891 0.9359 261.135 78.864 0.2319 Total 2107.568 5.9622
MAD =
|
̂
|
=
=
56.158
MAPE =
̂=
= 0.1644 * 100 %
= 16.44 %
Jadi untuk hasil peramalan penjualan kain majun menggunakan data acuan 6
bulan untuk meramalkan data penjualan ke PT. Rollent diperkirakan mendapat
nilai rata-rata MAD sebesar 46.526 dan MAPE sebesar 13.27 % sedangkan jika
menggunakan indek musim mendapatkan nilai rata-rata MAD sebesar 56.158 dan
MAPE sebesar 16.44 %.
4.3.3 Kriteria Pengujian Ketiga Dengan Data Acuan 9 Bulan
Tabel 4.5
Forecast
Data Acuan 9 Bulan untuk PT. Rollent
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error
May-15 320 3140 36 13456 204 15.083 288.555 424.305 104.305 0.3259 Jun-15 290 3185 36 13160 204 7 325.889 388.889 98.889 0.3409 Jul-15 280 3175 36 12595 204 -1.75 359.778 344.027 64.027 0.2286 Aug-15 250 3140 36 11975 204 -9.75 387.889 300.138 50.138 0.2005 Sep-15 350 3055 36 11170 204 -17.5 409.444 251.944 98.055 0.2801 Oct-15 385 3045 36 11275 204 -15.083 398.667 262.916 122.083 0.3170 Nov-15 435 3055 36 11685 204 -8.91 375.111 294.861 140.138 0.3221 Dec-15 400 3090 36 12510 204 2.5 333.333 355.833 44.167 0.1141 Jan-16 430 3065 36 13045 204 13.083 288.222 405.972 24.027 0.0558 Feb-16 415 3140 36 13775 204 20.25 267.889 450.138 35.138 0.0846 Mar-16 375 3135 36 14275 204 22.25 270.444 470.694 95.694 0.2551 Apr-16 340 3320 36 14330 204 17.5 298.889 456.388 116.388 0.3423 May-16 310 3380 36 14010 204 8.167 342.889 416.388 106.388 0.3431 Jun-16 350 3440 36 13360 204 6.667 408.889 348.889 1.111 0.0031 Jul-16 275 3440 36 13070 204 -11.5 428.222 314.722 49.722 0.1808 Aug-16 240 3330 36 12215 204 18.416 443.667 277.916 37.916 0.1579 Sep-16 290 3135 36 11240 204 -21.667 435 240 50 0.1724 Oct-16 315 3025 36 10825 204 -21.25 421.111 229.861 85.138 0.2702 Nov-16 370 2910 36 10750 204 -14.833 382.667 249.167 120.833 0.3265
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error Dec-16 400 2865 36 11215 204 -4.083 334.667 297.916 102.083 0.2552 Jan-17 450 2890 36 11925 204 6.083 296.778 351.527 98.472 0.2188 Feb-17 410 3000 36 12975 204 16.25 268.333 414.583 4.583 0.0111 Mar-17 350 3100 36 13565 204 19.416 266.778 441.527 91.527 0.2615 Apr-17 325 3100 36 13615 204 20.25 263.444 445.694 120.694 0.3713 May-17 300 3150 36 13390 204 13.167 297.333 415.833 115.833 0.3861 Jun-17 340 3210 36 12880 204 0.667 354 360 20 0.0588
Total
2134.027 6.2488MAD =
|
̂
|
=
=
68.703
MAPE =
̂=
= 0.2039 * 100 %
= 20.39 %
Tabel 4.6
Forecast
Data Acuan 9 Bulan dengan indek musim untuk PT. Rollent
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
May-15 424.306 332.917 0.9762 414.216 94.216 0.2944 Jun-15 388.889 331.923 0.8436 328.055 38.055 0.1312 Jul-15 344.028 328.929 0.76 261.476 18.524 0.0662 Aug-15 300.139 325.667 0.8444 253.444 3.443 0.0138 Sep-15 251.944 320.938 0.9348 235.508 114.490 0.3271 Oct-15 262.917 322.647 0.9763 256.685 128.310 0.3333 Nov-15 294.861 326.111 1.0273 302.898 132.1 0.3037 Dec-15 355.833 331.842 1.0849 386.027 13.973 0.0349 Jan-16 405.972 335.25 1.1186 454.108 24.108 0.0561 Feb-16 450.139 339.762 1.1773 529.946 114.95 0.277 Mar-16 470.694 343.182 1.2384 582.913 207.91 0.5544 Apr-16 456.389 344.565 1.0303 470.21 130.21 0.383
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
May-16 416.389 344.375 0.9365 389.94 79.94 0.2579 Jun-16 348.889 343 0.8309 289.893 60.107 0.1717 Jul-16 324.722 343.269 0.772 250.682 24.318 0.0884 Aug-16 277.917 340.741 0.7704 214.102 25.898 0.1079 Sep-16 240 337.143 0.964 231.356 58.644 0.2022 Oct-16 229.861 335.517 1.0432 239.783 75.217 0.2388 Nov-16 249.167 334.833 1.1498 286.498 83.502 0.2257 Dec-16 297.917 335.968 1.1311 336.962 63.038 0.1576 Jan-17 351.528 337.969 1.1909 418.648 31.352 0.0697 Feb-17 414.583 341.364 1.1937 494.905 84.905 0.2071 Mar-17 441.528 343.382 1.1649 514.328 164.33 0.4695 Apr-17 445.694 343.571 1.0114 450.791 125.79 0.387 May-17 415.833 343.056 0.9182 381.826 81.826 0.2728 Jun-17 360 341.892 0.936 336.949 3.0514 0.009 Total 1982.213 5.6403
MAD =
|
̂
|
=
=
76.238
MAPE =
̂=
= 0.2169 * 100 %
= 21.69 %
Jadi untuk hasil peramalan penjualan kain majun menggunakan data acuan 9
bulan untuk meramalkan data penjualan ke PT. Rollent diperkirakan mendapat
nilai rata-rata MAD sebesar 68.703 dan MAPE sebesar 20.39 % sedangkan jika
menggunakan indek musim mendapatkan nilai rata-rata MAD sebesar 76.238 dan
MAPE sebesar 21.69 %.
4.3.4 Kriteria Pengujian Keempat Dengan Data Acuan 12 Bulan
Tabel 4.7
Forecast
Data Acuan 12 Bulan untuk PT. Rollent
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error
May-15 320 3995 66 23665 506 11.835 267.820 409.848 89.848 0.2807 Jun-15 290 3990 66 23515 506 10.979 272.115 403.863 113.863 0.3926 Jul-15 280 4000 66 22995 506 6.958 295.064 378.560 98.560 0.3520 Aug-15 250 4030 66 22325 506 1.118 329.679 343.106 93.106 0.3724 Sep-15 350 4005 66 21320 506 -4.947 360.961 301.590 48.409 0.1383 Oct-15 385 4055 66 21465 506 -5.856 370.128 299.848 85.151 0.2211 Nov-15 435 4125 66 21960 506 -5.087 371.730 310.681 124.318 0.2857 Dec-15 400 4225 66 22955 506 -1.975 362.948 339.242 60.757 0.1518 Jan-16 430 4265 66 23490 506 0.2272 354.167 356.893 73.106 0.1701 Feb-16 415 4320 66 24330 506 3.986 338.076 385.909 29.090 0.0701 Mar-16 375 4335 66 24975 506 7.919 317.692 412.72 37.727 0.1006 Apr-16 340 4285 66 25190 506 11.346 294.679 430.833 90.833 0.2671 May-16 310 4270 66 25000 506 10.594 297.564 424.696 114.696 0.3699 Jun-16 350 4260 66 24460 506 7.202 315.384 401.818 51.818 0.1480 Jul-16 275 4320 66 24340 506 4.055 337.692 386.363 111.363 0.4049 Aug-16 240 4315 66 23325 506 -2.849 375.256 341.060 101.060 0.4210 Sep-16 290 4305 66 21900 506 -12.430 427.115 277.954 12.045 0.0415 Oct-16 315 4245 66 21135 506 -15.472 438.846 253.181 61.818 0.1962 Nov-16 370 4175 66 20740 506 -15.541 433.397 246.893 123.106 0.3327 Dec-16 400 4110 66 21070 506 -10.734 401.538 272.727 127.272 0.3181 Jan-17 450 4110 66 21760 506 -5.909 375 304.090 145.909 0.3242 Feb-17 410 4130 66 23030 506 2.202 332.051 358.484 51.515 0.1256 Mar-17 350 4125 66 23825 506 7.954 300 395.454 45.454 0.1298 Apr-17 325 4100 66 23925 506 9.615 288.782 404.167 79.167 0.2435 May-17 300 4085 66 23740 506 8.898 291.474 398.257 98.257 0.3275 Jun-17 340 4075 66 23265 506 5.961 306.794 378.333 38.333 0.1127
Total
2106.590 6.2992MAD =
|
̂
|
=
=
55.436
MAPE =
̂=
= 0.1657 * 100 %
= 16.58 %
Tabel 4.8
Forecast
Data Acuan 12 Bulan dengan indek musim untuk PT. Rollent
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
May-15 409.848 332.917 0.9762 400.102 80.102 0.25032 Jun-15 403.864 331.923 0.8436 340.687 50.687 0.17478 Jul-15 378.561 328.929 0.76 287.723 7.7225 0.02758 Aug-15 343.106 325.667 0.8444 289.726 39.726 0.1589 Sep-15 301.591 320.938 0.9348 281.916 68.084 0.19453 Oct-15 299.848 322.647 0.9763 292.742 92.258 0.23963 Nov-15 310.682 326.111 1.0273 319.15 115.85 0.26632 Dec-15 339.242 331.842 1.0849 368.028 31.972 0.07993 Jan-16 356.894 335.25 1.1186 399.21 30.79 0.0716 Feb-16 385.909 339.762 1.1773 454.329 39.329 0.09477 Mar-16 412.727 343.182 1.2384 511.126 136.13 0.363 Apr-16 430.833 344.565 1.0303 443.881 103.88 0.30553 May-16 424.697 344.375 0.9365 397.72 87.72 0.28297 Jun-16 401.818 343 0.8309 333.872 16.128 0.04608 Jul-16 386.364 343.269 0.772 298.268 23.268 0.08461 Aug-16 341.061 340.741 0.7704 262.746 22.746 0.09478 Sep-16 277.955 337.143 0.964 267.943 22.057 0.07606 Oct-16 253.182 335.517 1.0432 264.111 50.889 0.16155 Nov-16 246.894 334.833 1.1498 283.885 86.115 0.23274 Dec-16 272.727 335.968 1.1311 308.471 91.529 0.22882 Jan-17 304.091 337.969 1.1909 362.154 87.846 0.19521 Feb-17 358.485 341.364 1.1937 427.938 17.938 0.04375 Mar-17 395.455 343.382 1.1649 460.658 110.66 0.31617 Apr-17 404.167 343.571 1.0114 408.788 83.788 0.25781 May-17 398.258 343.056 0.9182 365.688 65.688 0.21896 Jun-17 378.333 341.892 0.936 354.108 14.108 0.04149 Total 1577.005 4.5079
MAD =
|
̂
|
=
=
60.654
MAPE =
̂=
= 0.1733 * 100 %
= 17.34 %
Jadi untuk hasil peramalan penjualan kain majun menggunakan data acuan 12
bulan untuk meramalkan data penjualan ke PT. Rollent diperkirakan mendapat
nilai rata-rata MAD sebesar 55.436 dan MAPE sebesar 16.58 % sedangkan jika
menggunakan indek musim mendapatkan nilai rata-rata MAD sebesar 60.654 dan
MAPE sebesar 17.34 %.
4.3.5 Kriteria Pengujian Keempat Dengan Data Acuan Semua Bulan
Tabel 4.9
Forecast
Data Acuan semua Bulan untuk PT. Rollent
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error
May-15 320 3995 66 23665 506 11.835 267.820 409.848 89.848 0.2807 Jun-15 290 4315 78 27505 650 8.873 278.681 394.038 104.038 0.3587 Jul-15 280 4605 91 31275 819 5.901 290.571 373.186 93.186 0.3328 Aug-15 250 4885 105 35195 1015 3.571 300.667 354.238 104.238 0.4169 Sep-15 350 5135 120 38945 1240 1.272 311.397 331.75 18.25 0.0521 Oct-15 385 5485 136 44545 1496 1.629 309.607 337.316 47.683 0.1238 Nov-15 435 5870 153 51090 1785 2.466 305.146 349.542 85.457 0.1964 Dec-15 400 6305 171 58920 2109 3.815 297.5 370 30 0.0750 Jan-16 430 6705 190 66520 2470 4.244 294.928 379.815 50.184 0.1167 Feb-16 415 7135 210 75120 2870 4.896 290.808 393.619 21.380 0.0515 Mar-16 375 7550 231 83835 3311 5.149 289.110 402.402 27.402 0.0730 Apr-16 340 7925 253 92085 3795 4.851 291.195 402.402 62.786 0.1846 May-16 310 8265 276 99905 4324 4.223 295.8 397.173 87.173 0.2812 Jun-16 350 8575 300 107345 4900 3.419 301.969 387.45 37.45 0,1070 Jul-16 275 8925 325 116095 5525 3.099 304.529 385.107 110.107 0.4003
Periode Jumlah ∑y ∑x ∑xy ∑x2 b a Y Selisih Error Aug-16 240 9200 351 123245 6201 2.225 311.812 371.894 131.894 0.5495 Sep-16 290 9440 378 129725 6930 1.250 320.258 355.277 65.277 0.2250 Oct-16 315 9730 406 137845 7714 0.805 324.310 347.524 32.524 0.1032 Nov-16 370 10045 435 146980 8555 0.590 326.268 343.988 26.011 0.0703 Dec-16 400 10415 465 158080 9455 0.747 324.747 347.935 52.064 0.1301 Jan-17 450 10815 496 170480 10416 1.043 321.789 355.191 94.808 0.2106 Feb-17 410 11265 528 184880 11440 1.550 316.550 367.727 42.272 0.1031 Mar-17 350 11675 561 198410 12529 1.763 314.277 374.251 24.251 0.0692 Apr-17 325 12025 595 210310 13685 1.648 315.547 373.243 48.243 0.1484 May-17 300 12350 630 221685 14910 1.431 318.010 369.531 69.531 0.2317 Jun-17 340 12650 666 232485 16206 1.134 321.472 363.445 23.445 0.0689
Total
2613.023 8.2629MAD =
|
̂
|
=
=
68.763
MAPE =
̂=
= 0.2174 * 100 %
= 21.74 %
Tabel 4.10
Forecast
Data Acuan semua Bulan dengan indek musim untuk PT.
Rollent
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
May-15 409.848 332.917 0.9762 400.102 80.102 0.2503 Jun-15 394.038 331.923 0.8436 332.399 42.399 0.1462 Jul-15 373.187 328.929 0.76 283.638 3.6382 0.013 Aug-15 354.238 325.667 0.8444 299.126 49.126 0.1965 Sep-15 331.75 320.938 0.9348 310.107 39.893 0.114 Oct-15 337.316 322.647 0.9763 329.321 55.679 0.1446 Nov-15 349.542 326.111 1.0273 359.07 75.93 0.1746
Periode Forecast Rata-rata Data
Indek Musim Y* musim Selisih Error
Dec-15 370 331.842 1.0849 401.396 1.3957 0.0035 Jan-16 379.816 335.25 1.1186 424.85 5.1501 0.012 Feb-16 393.619 339.762 1.1773 463.406 48.406 0.1166 Mar-16 402.403 343.182 1.2384 498.34 123.34 0.3289 Apr-16 402.787 344.565 1.0303 414.985 74.985 0.2205 May-16 397.174 344.375 0.9365 371.945 61.945 0.1998 Jun-16 387.45 343 0.8309 321.934 28.066 0.0802 Jul-16 385.108 343.269 0.772 297.299 22.299 0.0811 Aug-16 371.895 340.741 0.7704 286.5 46.5 0.1938 Sep-16 355.278 337.143 0.964 342.482 52.482 0.181 Oct-16 347.525 335.517 1.0432 362.526 47.526 0.1509 Nov-16 343.989 334.833 1.1498 395.527 25.527 0.069 Dec-16 347.935 335.968 1.1311 393.536 6.4638 0.0162 Jan-17 355.192 337.969 1.1909 423.011 26.989 0.06 Feb-17 367.727 341.364 1.1937 438.971 28.971 0.0707 Mar-17 374.251 343.382 1.1649 435.959 85.959 0.2456 Apr-17 373.244 343.571 1.0114 377.512 52.512 0.1616 May-17 369.532 343.056 0.9182 339.311 39.311 0.131 Jun-17 363.446 341.892 0.936 340.174 0.1739 0.0005 Total 1124.766 3.3619
MAD =
|
̂
|
=
=
43.260
MAPE =
̂=
= 0.1293 * 100 %
= 12.93 %
Jadi untuk hasil peramalan penjualan kain majun menggunakan data acuan semua
bulan untuk meramalkan data penjualan ke PT. Rollent diperkirakan mendapat
nilai rata-rata MAD sebesar 68.763 dan MAPE sebesar 21.74 % sedangkan jika
menggunakan indek musim mendapatkan nilai rata-rata MAD sebesar 43.260 dan
MAPE sebesar 12.93 %.