Lampiran 1. Form 01. unit Skripsi; interface. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, math;

dokumen-dokumen yang mirip
1 Latihan 6 Ketentuan Soal:

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, ExtDlgs, TeeProcs, TeEngine, Chart,

Minggu ke : 7. Bentuk umum : While <kondisi> do <Pernyataan>

Minggu ke : 4 Penyusun : Dian Usdiyana Rini Marwati Materi : 4. Pernyataan Kondisional 4.1 If then. 4.2 If. then.else..

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 STRUKTUR KEPUTUSAN-1

PROSEDUR. Mahasiswa dapat memahami penggunaan prosedur. Mahasiswa dapat membuat prosedur. Mahasiswa dapat memahami variabel lokal dan variabel global

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 PROCEDURE DAN FUNCTION

For <pencacah> := <nilaiawal> to <nilaiakhir> do <pernyataan>

Delphi 7. Merencang Program dengan Fungsi IF. Ketentuan Soal : 1. Jabatan : JABATAN GAJI POKOK Direktur Manager Staff

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 LOGIKA PERULANGAN-1

LABORATORIUM KOMPUTER TEKNIK INFORMATIKA STT DHARMA ISWARA MADIUN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK-1 TIPE DATA DAN VARIABEL

PERCOBAAN I STATEMENT

URAIAN POKOK PERKULIAHAN. (1) Nilai akar-akar, x 1 dan x 2, dapat ditentukan dengan menggunakan rumus:

PERCOBAAN 4 GRAFIKA KOMPUTER DENGAN DELPHI

1. Menggambar ANAK PANAH. Setelah kita RUN dan saya klik button ANAK PANAH maka akan muncul gambar anak panah seperti nampak pada gambar dibawah ini

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA

ALGORITMA PENCARIAN. c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian.

PRAKTIKUM 3 BERBAGAI MACAM TIPE DATA (Integer dan Real)

URAIAN POKOK PERKULIAHAN

MODUL 2 EVEN, VARIABEL DAN FUNGSI KONVERSI

4.1 Struktur Rancangan Puncak-Turun dengan Procedure

PROSEDUR DENGAN PARAMETER. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

Kodingan untuk Membuat Grafik dari Persamaan Garis Lurus dan Kuadrat Menggunakan Delphi 7

Kontrol Data Set dan Navigasi Tabel

Object Name Caption. RadioButton1 rpria Pria RadioButton2 rwanita Wanita. ComboBox1 ckode - Edit1 enapar - Edit2 ehrg - Edit3 ejumbel - Edit4 etotal -

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type

LAPORAN PRAKTIKUM FISIKA KOMPUTASI INTERPRETASI GRAFIS INTENSITAS WARNA DASAR RGB PADA GAMBAR BITMAP MENGGUNAKAN DELPHI7

LAMPIRAN A: LISTING PROGRAM

FieldName DataType FieldSize Status UserPass Text 40 Primary Key Nama_User Text 30 Password Text 10

DAFTAR PUSTAKA. Choiron, Moch. Agus. (tanpa tahun). Interpolasi. Malang.

Pengenalan Borland Delphi 7.0

Elga Lesmana

ANGKA TERBILANG. Program ini terdiri dari beberapa komponen yaitu:

Daftar Pustaka. Supriyadi, Moh Pemrograman Sistem Pengendali dengan Delphi.

DAFTAR PUSTAKA. Abdia, Gunaidi Away.2008.The Shortcut Of Delphi For ACCOUNTING.Bandung : Informatika.

GRAPHICS AND VISUALIZATION. Logo

Borland Delphi 7. Created By 1

LAMPIRAN A: DDL DATABASE

LAMPIRAN A RANGKAIAN ELEKTRONIKA LENGKAP

Modul I Mengenal Pemrograman Delphi

LAMPIRAN A FOTO ALAT MONITORING KONDISI GUNUNG BERAPI NIRKABEL

LAMPIRAN-LAMPIRAN. Lampiran 1. Tabel Hasil Pengumpulan Data (dalam ton)

STRUCTURED QUERY LANGUAGE (SQL)

URAIAN POKOK PERKULIAHAN

Bahasa Pemrograman (TD22093)

Modul I Mengenal Pemrograman Delphi

Visual Delphi 7 D3 TI FMIPA UNS Sakroni

Mengenal pemrograman multithread dengan Delphi 7

BAB 1 PENDAHULUAN 1.1 Latar Belakang

PRAKTIKUM 1 2 MENGENAL DELPHI

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Math, ExtCtrls, ComCtrls;

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, Menus, StdCtrls, ExtCtrls, MPlayer;

DAFTAR LAMPIRAN. Panduan Pengguna Program Bantu FPP Bahasa Pemrograman untuk Program Bantu FPP

BAB IV IMPLEMENTASI DAN PENGUJIAN

PEMROGRAMAN DATABASE DENGAN DELPHI DAN MICROSOFT ACCESS

Pengenalan Lingkungan Delphi

Sum of Variable N Mean StDev Variance Sum Squares Minimum Sphere OPTRON AN

BAB 5 ALGORITMA A PRIORI. A. Algoritma A Priori

LAMPIRAN. A. Flowchart 1. Contoh Flowchart Penempatan Subjek. Gambar 185. Flowchart Penempatan Subjek AB

Yohanas auri yahoo.com

Membuat File Dynamic Link Library (*.DLL) Menggunakan Borland Delphi

BAB 3 PERANCANGAN PROGRAM. 3.1 Alasan digunakan Metode Exponential Smoothing. Banyak metode peramalan yang dapat digunakan dalam memprediksi tingkat

PEMRORAMAN DATA BASE (FORNT END)

Pertemuan -1 BORLAND DELPHI

Array merupakan sekumpulan elemen berindeks yang memiliki tipe yang sama (base type). Pendefinisian array ditunjukkan dengan format:

Mengukur Waktu Tayang Form

IV. HASIL DAN PEMBAHASAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

Bab Konsep Dasar Program 2.1 Objek

PEMROGRAMAN DASAR XI TKJ SMK NEGERI 1 KUPANG

LANJUTAN APLIKASI DATABASE

BAB III GRAFIKA 2D. Xv = Xvmin + round((xw - Xwmin)*(Xvmax-Xvmin)/(Xwmax-Xwmin)) Yv = Yvmax - round((yw - Ywmin)*(Yvmax-Yvmin)/(Ywmax-Ywmin))

LANJUTAN APLIKASI DATABASE

B. Kompetensi Mahasiswa dapat memahami tentang kendali kesalahan dengan paritas serta dapat melakukan penghitungan paritas.

PEMBUATAN APLIKASI PENAJAMAN GAMBAR UNTUK PENGOLAHAN CITRA DIGITAL. Santoso Setiawan 1, Ahmad Firdaus 2

LAPORAN PRAKTIKUM KOMUNIKASI DATA KONVERSI TO PDU

Bab 7 Komponen Dasar Visual Basic 29 BAB VII KOMPONEN DASAR VISUAL BASIC TUJUAN PRAKTIKUM

Modul II Object Bahasa Pascal

KONEKSI MYSQL PADA DELPHI. Oleh : Budi Santoso

Membuat Keylogger dan Antinya pada sistem operasi Windows

PRAKTIKUM 4 ARRAY DAN SUB ROUTINE

Akses Port Paralel (Menggunakan Delphi 7.0) (Drs. Agfianto Eko Putra, M.Si 2005)

BAB IV Antarmuka dengan Port Paralel (Output)

BAB IV IMPLEMENTASI DAN PENGUJIAN

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Modul VI Penanganan Data di Dalam Delphi

Algoritma Pemrograman A

Array: membentuk sekumpulan variabel dengan tipe sejenis. Terdapat dua macam array, array satu dimensi dan array multidimensi.

BAB II LANDASAN TEORI

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

Bab Implementasi Sistem

Bab III PERANCANGAN PROGRAM APLIKASI

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

MODUL IX PEMROGRAMAN DATABASE DENGAN DELPHI. Untuk praktikum ini kita menggunakan Ms. Access sebagai databasenya.

MENGGAMBAR ROTASI TERHADAP SUMBU Y. Pada borland delphi buatlah tampilan form seperti berikut :

Mencari Akar-akar persamaan kuadrat AX 2 + BX + C = 0

Transkripsi:

Lampiran 1 Form 01 unit Skripsi; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, math; type TForm1 = class(tform) Label1: TLabel; btnpilih: TButton; btnkeluar: TButton; ListData: TListBox; Label3: TLabel; btnproses: TButton; btnuji: TButton; procedure btnpilihclick(sender: TObject); procedure btnkeluarclick(sender: TObject); procedure FormCreate(Sender: TObject); procedure btnprosesclick(sender: TObject); procedure btnujiclick(sender: TObject); private { Private declarations } public { Public declarations } 53

var Form1: TForm1; jml_data,flag,jml_ramal : integer; hasil1,hasil2,hasil3 : array of double; data : array of integer; implementation {$R *.dfm} uses unit3, Unit4; procedure TForm1.btnPilihClick(Sender: TObject); var AmbilDialog : TOpenDialog; AmbilFile : TextFile; i : integer; AmbilLine : string; if flag = 1 then if (MessageDlg('Data telah ada, apakah mau diubah??',mtconfirmation, [mbyes, mbno], 0) = mryes) then listdata.clear; 54

// siapin dialog box untuk open file AmbilDialog := TOpenDialog.Create(self); AmbilDialog.InitialDir := GetCurrentDir; AmbilDialog.Filter := 'textfile *.txt'; //mulai ambil file if AmbilDialog.execute then AssignFile(AmbilFile, AmbilDialog.FileName); Reset(AmbilFile); //mulai ambil data ReadLn(AmbilFile,AmbilLine); jml_data := StrToInt(AmbilLine); if jml_data < 8 then showmessage('data harus lebih dari 8, masukkan file yg baru!!!'); AmbilDialog.free; CloseFile(AmbilFile); exit; unit3.jml_data := jml_data; setlength(data,jml_data); for i:= 0 to jml_data - 1 do ReadLn(AmbilFile,AmbilLine); data[i] := StrToInt(AmbilLine); listdata.additem('periode - '+inttostr(i+1)+' : '+ambilline,listdata); CloseFile(AmbilFile); flag := 1; 55

AmbilDialog.free; procedure TForm1.btnKeluarClick(Sender: TObject); application.terminate; procedure TForm1.FormCreate(Sender: TObject); flag := 0; procedure TForm1.btnProsesClick(Sender: TObject); var temp : string; i,j,n,half,flg : integer; a,b,c,d,d3,s,avg,avg2,avg21,avg22,avg_dif : double; avg31,avg32,avg3,bt,st,ct : double; alpha,gamma : double; if flag = 1 then flg := 0; while (flg <> 1) do temp := InputBox('Silahkan Masukkan Data','Berapa periode yang mau diramalkan?',''); flg := 1; for i := 1 to length(temp) do 56

if ((ord(temp[i])<48) or (ord(temp[i])>57)) then flg := 0; break; jml_ramal := strtoint(temp); unit3.jml_ramal := jml_ramal; setlength(hasil1,jml_ramal); setlength(unit3._single,jml_ramal); setlength(hasil2,jml_ramal); setlength(unit3._double,jml_ramal); setlength(hasil3,jml_ramal); setlength(unit3._triple,jml_ramal); n := jml_data; form3.periodbox.clear; for i := 0 to (jml_ramal-1) do form3.periodbox.additem('periode - '+inttostr(i+1),form3.periodbox); //proses //proses Single Exponential Smoothing alpha := 1/n; if i = 0 then d := data[n-1]; avg := 0; for j := 0 to (n-1) do 57

avg := avg + data[j]; avg := avg/n; end else d := hasil1[i-1]; avg := hasil1[i-1]; hasil1[i] := alpha*d + (1-alpha)*avg; unit3._single[i] := hasil1[i]; //proses Double Exponential Smoothing if i = 0 then half := ceil(n / 2); avg21 := 0; avg22 := 0; for j := 0 to half-1 do avg21 := avg21 + data[j]; for j := half to n-1 do avg22 := avg22 + data[j]; avg21 := avg21/half; avg22 := avg22/(half-1); avg2 := (avg21 + avg22)/2; avg_dif := avg22-avg21; S := avg2 + avg_dif; 58

avg_dif := avg_dif/half; hasil2[i] := S + (i+1)*avg_dif; unit3._double[i] := hasil2[i]; //proses Triple Exponential Smoothing alpha := 0.15; gamma := 0.2; avg31 := 0; avg32 := 0; for j := jml_data-8 to jml_data-5 do avg31 := avg31+data[j]; avg31 := avg31/4; for j:= jml_data-4 to jml_data-1 do avg32 := avg32+data[j]; avg32 := avg32/4; BT := (avg32-avg31)/4; avg3 := (avg31+avg32)/2; if i = 0 then ST := avg3 + ((jml_data-1)/2)*bt; CT := data[jml_data-4]/(st-bt*(3)); end else ST := alpha*(hasil3[i-1]/ct)+(1-alpha)*(st+bt); CT := gamma*(hasil3[i-1]/st)+(1-gamma)*ct; 59

hasil3[i] := (ST+(i+1)*BT)*CT; unit3._triple[i] := hasil3[i]; n := n + 1; //menambahkan jumlah data //siapin output textbox form3.single_.text := inttostr(round(hasil1[0])); form3.double_.text := inttostr(round(hasil2[0])); form3.triple_.text := inttostr(round(hasil3[0])); form3.periodbox.itemindex := 0; //tampilkan form3 form3.visible := true; form3.height := 230; form1.visible := false; end else showmessage('data belum diisi atau jumlah data terlalu sedikit!!'); procedure TForm1.btnUjiClick(Sender: TObject); var d,i,j : integer; alpha,avg,avg2,avg21,avg22,avg_dif : double; avg3,avg31,avg32,bt,st,ct : double; err1,err2,err3,temp1,temp2,temp3 : double; 60

uji1,uji2,uji3 : array of double; if flag = 1 then setlength(uji1,jml_data-4); setlength(uji2,jml_data-4); setlength(uji3,jml_data-8); form4.chartuji.series[0].clear; form4.chartuji.series[1].clear; form4.chartuji.series[2].clear; form4.chartuji.series[3].clear; for i := 0 to jml_data-1 do form4.chartuji.series[0].add(data[i],'periode - ' + inttostr(i+1),clred); for i := 0 to 3 do form4.chartuji.series[1].add(0,'periode - ' + inttostr(i+1),0); form4.chartuji.series[2].add(0,'periode - ' + inttostr(i+1),0); for i := 0 to 7 do form4.chartuji.series[3].add(0,'periode - ' + inttostr(i+1),0); alpha := 0.25; err1 := 0; err2 := 0; err3 := 0; for i := 0 to jml_data-5 do 61

//uji untuk Single Exponential d := data[i+3]; if i = 0 then avg := 0; for j := 0 to 3 do avg := avg + data[j]; avg := avg/4; end else avg := uji1[i-1]; uji1[i] := alpha*d + (1-alpha)*avg; form4.chartuji.series[1].add(uji1[i],'periode - ' + inttostr(i+1),clblue); //uji untuk Double Exponential avg21 := (data[i]+data[i+1])/2; avg22 := (data[i+2]+data[i+3])/2; avg2 := (avg21+avg22)/2; avg_dif := (avg22-avg21); uji2[i] := avg2 + avg_dif + avg_dif/2; form4.chartuji.series[2].add(uji2[i],'periode - ' + inttostr(i+1),clyellow); //hitung nilai error temp1 := ((data[i+4]-uji1[i])/data[i+4]); temp2 := ((data[i+4]-uji2[i])/data[i+4]); //memutlakkan 62

if temp1 < 0 then temp1 := temp1*(-1); if temp2 < 0 then temp2 := temp2*(-1); err1 := err1 + temp1; err2 := err2 + temp2; alpha := alpha/2; for i := 0 to jml_data-9 do //uji untuk Triple Exponential avg31 := (data[i]+data[i+1]+data[i+2]+data[i+3])/4; avg32 := (data[i+4]+data[i+5]+data[i+6]+data[i+7])/4; BT := (avg32-avg31)/4; avg3 := (avg31+avg32)/2; ST := avg3 + (3.5)*BT; CT :=data[i+4]/(st-bt*(3)); uji3[i] := (ST + BT)*CT; temp3 := ((data[i+8]-uji3[i])/data[i+8]); if temp3 < 0 then temp3 := temp3*(-1); err3 := err3 + temp3; form4.chartuji.series[3].add(uji3[i],'periode - ' + inttostr(i+1),clgreen); 63

err1 := (100/(jml_data-4))*err1; err2 := (100/(jml_data-4))*err2; err3 := (100/(jml_data-8))*err3; form4.txtsingle.text := inttostr(round(err1)); form4.txtdouble.text := inttostr(round(err2)); form4.txttriple.text := inttostr(round(err3)); if (err1 < err2) and (err1 < err3) then form4.txthasil.text := ('Untuk data ini paling tepat menggunakan Metode Single Exponential Smoothing'); end else if (err2 < err1) and (err2 < err3) then form4.txthasil.text := ('Untuk data ini paling tepat menggunakan Metode Double Exponential Smoothing'); end else if (err3 < err1) and (err3 < err2) then form4.txthasil.text := ('Untuk data ini paling tepat menggunakan Metode Triple Exponential Smoothing'); end else form4.txthasil.text := ('Ada lebih dari 1 metode yang tepat untuk meramalkan pola data ini'); form4.visible := true; form1.visible := false; end else 64

showmessage('data belum diisi atau jumlah data terlalu sedikit!'); end. Form 02 unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(tform) Label1: TLabel; btnmulai: TButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; procedure btnmulaiclick(sender: TObject); private { Private declarations } public { Public declarations } 65

var Form2: TForm2; implementation uses Skripsi; {$R *.dfm} procedure TForm2.btnMulaiClick(Sender: TObject); form2.visible := false; form1.visible := true; end. Form 03 unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, StdCtrls, Series; type TForm3 = class(tform) PeriodBox: TComboBox; 66

single_: TEdit; double_: TEdit; triple_: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; btnsingle: TButton; btndouble: TButton; btntriple: TButton; chart: TChart; btnkeluar: TButton; btnkembali: TButton; Series1: TLineSeries; btntutup: TButton; procedure btnkeluarclick(sender: TObject); procedure PeriodBoxChange(Sender: TObject); procedure btnsingleclick(sender: TObject); procedure btndoubleclick(sender: TObject); procedure btntripleclick(sender: TObject); procedure btntutupclick(sender: TObject); procedure btnkembaliclick(sender: TObject); private { Private declarations } public { Public declarations } var Form3: TForm3; jml_data,jml_ramal :integer; _single,_double,_triple : array of double; 67

implementation {$R *.dfm} uses skripsi; procedure TForm3.btnKeluarClick(Sender: TObject); application.terminate; procedure TForm3.PeriodBoxChange(Sender: TObject); single_.text := inttostr(round(_single[periodbox.itemindex])); double_.text := inttostr(round(_double[periodbox.itemindex])); triple_.text := inttostr(round(_triple[periodbox.itemindex])); procedure TForm3.btnSingleClick(Sender: TObject); var i : integer; chart.series[0].clear; for i := 0 to jml_data-1 do chart.series[0].add(skripsi.data[i],'periode - ' + inttostr(i+1),clred); for i := 0 to jml_ramal-1 do chart.series[0].add(_single[i],'periode - ' + inttostr(i+1),clblue); 68

form3.height := 506; procedure TForm3.btnDoubleClick(Sender: TObject); var i : integer; chart.series[0].clear; for i := 0 to jml_data-1 do chart.series[0].add(skripsi.data[i],'periode - ' + inttostr(i+1),clred); for i := 0 to jml_ramal-1 do chart.series[0].add(_double[i],'periode - ' + inttostr(i+1),clyellow); form3.height := 506; procedure TForm3.btnTripleClick(Sender: TObject); var i : integer; chart.series[0].clear; for i := 0 to jml_data-1 do chart.series[0].add(skripsi.data[i],'periode - ' + inttostr(i+1),clred); for i := 0 to jml_ramal-1 do chart.series[0].add(_triple[i],'periode - ' + inttostr(i+1),clgreen); form3.height := 506; 69

procedure TForm3.btnTutupClick(Sender: TObject); form3.height := 230; procedure TForm3.btnKembaliClick(Sender: TObject); form1.visible := true; form3.visible := false; end. Form 04 unit Unit4; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart; type TForm4 = class(tform) Label1: TLabel; Chartuji: TChart; Series1: TLineSeries; Series2: TLineSeries; 70

Series3: TLineSeries; Series4: TLineSeries; btnkeluar: TButton; btnkembali: TButton; Label2: TLabel; Label3: TLabel; Label4: TLabel; txtsingle: TEdit; txtdouble: TEdit; txttriple: TEdit; Label5: TLabel; Label6: TLabel; Label7: TLabel; txthasil: TEdit; procedure btnkeluarclick(sender: TObject); procedure btnkembaliclick(sender: TObject); private { Private declarations } public { Public declarations } var Form4: TForm4; implementation uses Skripsi; {$R *.dfm} 71

procedure TForm4.btnKeluarClick(Sender: TObject); application.terminate; procedure TForm4.btnKembaliClick(Sender: TObject); form1.visible := true; form4.visible := false; end. 72

Lampiran 2 Pengujian pertama dilakukan dengan menggunakan data yang berpola stationer, seperti yang ditunjukkan pada gambar berikut : Seperti yang terlihat pola data tersebut bersifat stationer karena data yang ada berkisar antara 130-170, tidak ada data yang berbeda jauh, pada teorinya hasil peramalan yang paling akurat adalah dengan menggunakan metode Single Exponential Smoothing. Lalu dapat kita lihat hasil pengujian nya pada gambar berikut : 3

Didapat hasil uji dalam bentuk grafik, nilai-nilai hasil peramalan ada yang mendekati dan menjauhi data aslinya, namun yang paling akurat adalah dengan menggunakan metode Single Exponential Smoothing. Hal ini juga dapat dilihat dari hasil pengukuran kesalahan dengan nilai yang terkecil pada bagian Single. Dianjurkan agar meramalkan data untuk pola data ini dengan menggunakan metode Single Exponential Smoothing. Hasil peramalan untuk 5 periode ke depan dapat dilihat pada gambar berikut : Dari gambar di atas dapat dilihat hasil peramalan dengan metode Single Exponential Smoothing tingkat penjualan untuk 1 periode ke depan adalah 155. Dapat dilihat juga grafiknya : 4

5

Pengujian kedua dilakukan dengan menggunakan data yang berpola trend, seperti yang ditunjukkan pada gambar berikut : Seperti yang terlihat pola data tersebut bersifat trend karena data yang ada peningkatan yang signifikan per-periode, pada teorinya hasil peramalan yang paling akurat adalah dengan menggunakan metode Double Exponential Smoothing. Lalu dapat kita lihat hasil pengujian nya pada gambar berikut : 6

Didapat hasil uji dalam bentuk grafik, nilai-nilai hasil peramalan ada yang mendekati dan menjauhi data aslinya, namun yang paling akurat adalah dengan menggunakan metode Double Exponential Smoothing. Hal ini juga dapat dilihat dari hasil pengukuran kesalahan dengan nilai yang terkecil pada bagian Double. Dianjurkan agar meramalkan data untuk pola data ini dengan menggunakan metode Double Exponential Smoothing. Hasil peramalan untuk 5 periode ke depan dapat dilihat pada gambar berikut : Dari gambar di atas dapat dilihat hasil peramalan dengan metode Double Exponential Smoothing tingkat penjualan untuk 1 periode ke depan adalah 293. Dapat dilihat juga grafiknya : 7

8

Pengujian ketiga dilakukan dengan menggunakan data yang berpola kuadratis, seperti yang ditunjukkan pada gambar berikut : Seperti yang terlihat pola data tersebut bersifat kuadratis karena data yang ada terdapat perubahan yang cukup mencolok setiap periodenya dengan perbedaan yang cukup besar membentuk pola seperti kurva, pada teorinya hasil peramalan yang paling akurat adalah dengan menggunakan metode Triple Exponential Smoothing. Lalu dapat kita lihat hasil pengujian nya pada gambar berikut : 9

Didapat hasil uji dalam bentuk grafik, nilai-nilai hasil peramalan ada yang mendekati dan menjauhi data aslinya, namun yang paling akurat adalah dengan menggunakan metode Triple Exponential Smoothing. Hal ini juga dapat dilihat dari hasil pengukuran kesalahan dengan nilai yang terkecil pada bagian Triple. Dianjurkan agar meramalkan data untuk pola data ini dengan menggunakan metode Triple Exponential Smoothing. Hasil peramalan untuk 5 periode ke depan dapat dilihat pada gambar berikut : Dari gambar di atas dapat dilihat hasil peramalan dengan metode Triple Exponential Smoothing tingkat penjualan untuk 1 periode ke depan adalah 98. Dapat dilihat juga grafiknya : 0

1