16
3.1 Kajian Pustaka Metode Double Exponential Smoothing
Makridakis mendefinisikan metode exponential smoothing merupakan prosedur perbaikan terus menerus pada peramalan terhadap objek pengamatan terbaru. Metode peramalan ini menitik beratkan pada penurunan prioritas secara exponential pada objek pengamatan yang lebih tua. Metode ini biasa digunakan ketika data menunjukkan adanya trend. Exponential smoothing dengan adanya trend seperti pemulusan sederhana, kecuali bahwa dua komponen harus diupdate setiap periode level dan trendnya. Level adalah estimasi yang dimuluskan dari nilai data pada akhir masingmasing periode.
Trend adalah estimasi yang dihaluskan dari pertumbuhan rata-rata pada akhir masing-masing periode (Eff dan Hendrawan, 2016).
Metode ini merupakan model linear yang dikemukakan oleh Brown. Di dalam metode Double Exponential Smoothing dilakukan proses smoothing dua kali. Berikut ini adalah ulasan penelitian sebelumnya tentang Double Exponential Smoothing :
3.1.1. Jurnal Informatika Polinema Sistem Informasi Peramalan Stok Barang Di CV Annora Asia Menggunakan Metode Double Exponential Smoothing
Sistem Informasi Peramalan Stok Barang Di CV Annora Asia Menggunakan Metode Double Exponential Smoothing tahun 2015 oleh Mansyur, dan Erfan Rohadi. Penelitian dilatar belakangi oleh besarnya transaksi setiap hari pada CV Annora Asia yang bergerak pada bidang produksi busana, tetapi tidak diiringi dengan pendataan yang baik, sehingga sulit mendata jumlah barang. Terlebih lagi, sering terjadinya kekurangan untuk kebutuhan konsumen yang menyebabkan kekecewaan pada konsumen. Dan apabila produksi terlalu banyak
akan mengakibatkan penurunan kualitas barang dikarenakan terlalu lama disimpan.
Dari permasalahan yang terjadi penulis menggunakan metode Double exponential Smoothing. Dijelaskan bahwa metode ini tergolong dalam metode Time Series ( runtut waktu ) yang menggunakan data masa lalu untuk memprediksi data yang akan datang (Mansyur, 2015). Berikut ini adalah hasil perhitungan manual dari salah satu jenis barang dari bulan 1 – 12 maka nilai alpha menjadi 1/n = 1/12 ( 0,083333 ) :
Tabel 3.1 Hasil Peramalan Exel (Mansyur,2015) Periode Nilai Aktual Peramalan
1 105
2 150 125
3 130 112,5
4 125 115,7291667
5 90 117,7083333
6 75 113,5886863
7 110 107,4632282
8 95 107,9240361
9 85 105,8256591
10 100 102,3205948
11 120 101,7550852
12 115 104,6010452
Periode Ke – 13 106,2660461
Semakin kecil nilai Mean Absolute Percentage Error (MAPE), menunjukkan nilai taksiran semakin mendekati nilai sebenarnya. Berikut ini adalah perhitungan MAPE :
PE =( 𝑋𝑡−𝐹𝑡
𝑋𝑡 ) x 100 MAPE = ∑[𝑃𝐸]
𝑛 MAPE = 4,82866 Hasil penelitian dalam jurnal ini menunjukkan hasil yang bagus dengan nilai MAPE sebesar 4,82866%.
3.1.2. Jurnal Exponential Forecasting Using Double Exponential Smoothing Method Of Brown
Forecasting Using Double Exponential Smoothing Method Of Brown berdasarkan studi kasus indeks harga konsumen Kota Samarinda tahun 2016 oleh Etri Pujiati, Desi Yuniarti, dan Rito Goejantoro.
Adapun rumus yang digunakan dalam implementasi Double Exponential Smoothing sebagai berikut :
S’t = α Xt + ( 1 – α ) S’t – 1 (3.1) S’’t = α S’t + ( 1 - α ) S’’t – 1 (3.2)
at = 2S’t – S’’t (3.3)
bt = 𝛼
1− 𝛼 ( S’t – S’’t ) (3.4)
Ft + m = at + bt m (3.5)
Keterangan :
S’t = Nilai Smoothing pertama S’’t = Nilai Smoothing kedua
at = Menentukan nilai at antara pemulusan tunggal dengan ganda
bt = Menentukan nilai bt yaitu taksiran nilai periode satu ke periode berikutnya
α = Konstanta Smoothing Xt = Nilai aktual periode ke – t
m = Jarak periode yang akan diramalkan
Tabel 3.2 Deskripsi Jurnal Forecasting Using Double Exponential Smoothing Method Of Brown
Objek Pembahasan
Indeks Harga Konsumen Kota Samarinda berupa barang dan jasa.
Latar Belakang Penelitian
Perubahan IHK dari waktu ke waktu mengalami tingkat kenaikan (inflasi) atau penurunan (deflasi) harga barang dan jasa kebutuhan rumah tangga sehari – hari.
Metode yang digunakan
Double Exponential Smoothing
Sumber data yang
digunakan
Data diambil dari hasil perhitungan data bulanan oleh Badan Pusat Statistik (BPS) Kota Samarinda selama periode 2009 hingga 2015
Tahapan Model Double Exponential Smoothing
1. Menentukan besarnya parameter antara 0 sampai 1.
Karena tidak ada dasar yang objektif untuk menentukan besarnya parameter yang digunakan.
Dipilih berdasarkan nilai Mean Absolute Percentage Error (MAPE) terbaik yaitu nilai terkecil.
2. Menghitung nilai smoothing pertama menggunakan pemulusan tunggal (Single Exponential Smoothing).
3. Menghitung nilai smoothing kedua menggunakan pemulusan ganda (Double Exponential Smoothing).
4. Menentukan nilai Konstanta (at).
5. Menentukan nilai Slope (bt).
6. Menghitung hasil peramalan.
Adapun dalam mengetahui kesalahan pada peramalan, penulis menggunakan Mean Absolute Deviation (MAD) sebagai berikut:
MAD = 𝑋𝑡−𝐹𝑡
𝑁 , dimana N merupakan jumlah baris data, Xt adalah nilai data aktual pada periode t, dan Ft merupakan hasil pramalan.
Tabel 3.3 Pembahasan Jurnal Forecasting Using Double Exponential Smoothing Method Of Brown
Pembahasan 1. Pemilihan parameter terbaik berdasarkan nilai MAPE terkecil.
Parameter MAPE
0,1 4,0195
0,2 2,8289
0,3 2,5092
0,4 2,3065
0,5 2,1433
0,6 2,1424
0,7 2,1692
0,8 2,2334
0,9 2,2832
Menentukan kembali nilai parameter dengan 2 angka di belakang desimal.
Parameter MAPE
0,60 2,1424
0,61 2,1421
0,62 2,1424
0,63 2,1432
0,64 2,1434
0,65 2,1432
0,66 2,1445
0,67 2,1501
0,68 2,1564
0,69 2,1523
2. Menentukan nilai smoothing pertama S’t t = 1
Pada saat t = 1 nilai S’t belum tersedia, maka dilakukan penetapan nilai S’t sama dengan nilai (X1) sebesar 116,34
t = 2
S’2 = α X2 + (1 – α ) S’2 – 1
= ( 0,61 x 118,23 ) + ( 1 – 0,61 ) 116,34
Lanjutan Tabel 3.3 Pembahasan Jurnal Forecasting Using Double Exponential Smoothing Method Of Brown
Pembahasan = 72,1203 + 45,3726
= 117,492
t = 3
S’3 = α X3 + (1 – α ) S’3 – 1
= ( 0,61 x 118,60 ) + ( 1 – 0,61 ) 117,492
= 72,346 + 45,822
= 118,1683
dan seterusnya pada perhitungan S’t sampai pada periode (t) yang terakhir.
3. Menentukan nilai smoothing kedua S”t t = 1
Pada saat t = 1 nilai S’t belum tersedia, maka dapat ditetapkan nilai S’t sama dengan nilai X1 sehingga S”1 = 116,34
t = 2
S”2 = α S’2 + (1 – α ) S”2 – 1
= ( 0,61 x 117,49 ) + ( 1 – 0,61 ) 116,34
= 71,6689 + 45,3726
= 117,0415
t = 3
S”3 = α S’3 + (1 – α ) S”3 – 1
= ( 0,61 x 118,17 ) + ( 1 – 0,61 ) 117,04
= 72,0837 + 45,6456
= 117,7293
Lanjutan Tabel 3.3 Pembahasan Jurnal Forecasting Using Double Exponential Smoothing Method Of Brown
Pembahasan dan seterusnya pada perhitungan S”t sampai pada periode (t) yang terakhir.
4. Menentukan besarnya konstanta (at) t = 1
a1 = 2S’1 – S”1
a1 = 2 ( 116,34 ) – 116,34 = 116,34
t = 2
a2 = 2S’2 – S”2
a2 = 2 ( 117,49 ) – 117,04 = 117,94
t = 3
a3 = 2S’3 – S”3
a3 = 2 ( 118,17 ) – 117,73 = 118,61
dan seterusnya pada perhitungan (at) sampai pada periode (t) yang terakhir.
5. Menentukan nilai slop (bt) t = 1
b1 = 𝛼
1− 𝛼 ( S’1 – S”1 ) b1 = 0,61
1− 0,61 ( 116,34 – 116,34) b1 = 1,56 x 0
b1 = 0
t = 2 b2 = 𝛼
1− 𝛼 ( S’2 – S”2 )
Lanjutan Tabel 3.3 Pembahasan Jurnal Forecasting Using Double Exponential Smoothing Method Of Brown
Pembahasan b2 = 0,61
1− 0,61 ( 117,49 – 117,04) b2 = 1,56 x 0,45
b2 = 0,702
dan seterusnya pada perhitungan (bt) sampai pada periode (t) yang terakhir.
6. Hasil peramalan Indek Harga Konsumen Kota Samarinda.
Penulis jurnal ini melakukan peramalan IHK Kota Samarinda 3 bulan yang akan datang yaitu bulan Januari hingga Maret 2015 sebagai berikut :
Ft + m = at + bt m
Periode 73 ( m = 1 ) yaitu bulan Januari 2015:
F72 + 1 = a72 + b72 (1)
F73 = 119,83 + 1,62 (1) = 121,44
Periode 74 ( m = 2 ) yaitu bulan Februari 2015:
F72 + 2 = a72 + b72 (2)
F74 = 119,83 + 1,62 (2) = 123,06
Periode 75 ( m = 3 ) yaitu bulan Maret 2015:
F72 + 3 = a72 + b72 (3)
F75 = 119,83 + 1,62 (3) = 124,68
Hasil peramalan IHK Kota Samarinda pada bulan Januari hingga bulan Maret 2015 menggunakan parameter 0,61 dengan metode Double Exponential Smoothing menunjukkan mengalami peningkatan secara berturut – turut sebesar 121,44, 123,06, dan 124,68.
3.2 Data Mining
Tan mendefinisikan data mining sebagai proses untuk mendapatkan informasi yang berguna dari gudang basis data yang besar. Data mining juga dapat diartikan sebagai pengekstrakan informasi baru yang diambil dari bongkahan data besar yang membantu dalam pengambilan keputusan ( Eko Prasetyo, 2012 ). Istilah data mining kadang disebut juga knowledge discovery.
Salah satu teknik dalam data mining adalah menelusuri data untuk membangun sebuah model, kemudian menggunakan model tersebut agar dapat mengenali pola sebuah data.
3.3 Time Series
Time Series adalah serangkaian pengamatan waktu teratur dari karakteristik kuantitatif dari suatu fenomena individu atau kolektif yang diambil secara berurutan, dalam beberapa kasus berjarak pada periode atau titik waktu yang sama (Hansun, 2016).
Metode ini sering digunakan dalam suatu peramalan atau prediksi yang didasarkan pada nilai - nilai masa lampau suatu variabel. Dalam teknik menggunakan metode time series ada dua kategori utama yang perlu dilakukan pengujian, yaitu pemulusan (smoothing) dan dekomposisi (decomposition).
Metode pemulusan mendasarkan ramalannya dengan prinsip rata - rata dari kesalahan masa lalu (Averaging smoothing past errors) dengan menambahkan nilai ramalan sebelumnya dengan persentase kesalahan (percentage of the errors) antara nilai sebenarnya (actual value) dengan nilai ramalannya (forecasting value). Metode dekomposisi mendasarkan prediksinya dengan membagi data time series menjadi beberapa komponen dari trend, siklis, musiman dan pengaruh random kemudian mengkombinasikan prediksi dari komponen - komponen tersebut kecuali pengaruh random yang sulit diprediksi.
3.4 Peramalan ( Forecasting )
Peramalan atau forecasting merupakan kegiatan untuk memperkirakan kondisi yang akan datang dengan menggunakan referensi data - data di masa lalu. Peramalan ( forecasting ) adalah seni dan ilmu untuk memperkirakan kejadian di masa depan (Heizer, 2009 : p162). Hal ini dapat dilakukan dengan melibatkan pengambilan data historis dan memproyeksikannya ke masa mendatang dengan suatu bentuk model matematis. Selain itu, bisa juga merupakan prediksi intuisi yang bersifat subjektif.
3.5 PHP
Menurut Bunafit Nugroho (2013), Hypertext Prepocessor (PHP) adalah bahasa pemprograman berbentuk scripting. Sistem kerja dari pemprograman ini adalah sebagai interpreter bukan sebagai compiler. Pada bahasa interpreter, script tidak harus diubah ke bentuk source code, sehingga saat menjalankannya script langsung dieksekusi tanpa melaui pengubahan. PHP mendukung teknik Object Oriented Programming (OOP), menjadikan bahasa ini menjadi yang paling banyak digunakan dalam mengembangkan aplikasi web.
3.6 MySQL
MySQL adalah nama database server yang berfungsi untuk menangani database. Database merupakan suatu kumpulan data yang terorganisir dengan tujuan memudahkan penyimpanan dan akses data.
Database bisa dikatakan sebagai suatu kumpulan data yang tersimpan dalam tabel dan diatur atau diorganisasikan sehinggan data tersebut bisa diambil dan dicari dengan mudah dan efisien. MySQL merupakan sebuah database server SQL multiuser dan multithreaded ( Badiyanto, 2013 ).
3.7 Web Application
Aplikasi merupakan suatu subkelas perangkat lunak computer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer.
Aplikasi web merupakan sebuah aplikasi yang mengunakan teknologi browser untuk menjalankan aplikasi dan diakses melalui jaringan komputer (Remick, 2011). Sedangkan meurut (Rouse, 2011) aplikasi web adalah sebuah program yang disimpan di Server dan dikirim melalui internet dan diakses melalui antarmuka browser. Dari pengertian diatas dapat disimpulkan aplikasi web merupakan aplikasi yang diakses mengunakan web berowser melalui jaringan internet atau intranet. Aplikasi web juga merupakan suatu perangkat lunak komputer yang dikodekan dalam bahasa pemrograman yang mendukung perangkat lunak berbasis web seperti HTML, JavaScript, CSS, Ruby, Python, Php, Java dan bahasa pemrograman lainnya.
3.8 UML ( Unified Modelling Language )
UML ( Unified Modeling Language ) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek. Pemodelan ( modeling ) sesungguhnya digunakan untuk penyederhanaan permasalahan- permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami (Nugroho, 2010). UML bukan hanya sekedar diagram, tetapi juga menceritakan konteksnya. UML adalah sekumpulan alat yang digunakan untuk melakukan abstraksi terhadap sebuah sistem atau perangkat lunak berbasis objek. UML juga menjadi salah satu cara untuk mempermudah pengembangan aplikasi yang berkelanjutan.
Aplikasi atau sistem yang tidak terdokumentasi biasanya dapat menghambat pengembangan karena developer harus melakukan penelusuran dan mempelajari kode program. UML juga dapat menjadi alat bantu pembelajaran tentang sistem yang akan dikembangkan antara developer satu dengan developer lainnya.
3.8.1 Use Case Diagram
Use Case Diagram merupakan teknik yng digunakan dalam pengembangan sebuah sistem informasi untuk menangkap kebutuhan fungsional dari sebuah sistem. Use Case menjelaskan interaksi yang terjadi antara actor dan sistem. Use Case direpresentasikan dengan urutan langkah yang sederhana untuk mendeskripsikan sistem, lingkungan sistem, serta hubungan antar sistem dengan lingkungannya.
Sebuah actor merupakan idealisasi dari orang yang ada di luar sistem, idealisasi proses – proses yang berinteraksi dengan sistem, atau idealisasi sesuatu yang berinteraksi dengan sistem, subsistem, atau kelas pada sistem / perangkat lunak yang dikembangkan. Sebuah actor pada dasarnya mengambarkan interaksi pengguna sistem dengan sistem atau perangkat lunak.
Tabel 3.4 Simbol Use Case Diagram ( Feri Sulianta, 2017 )
Simbol Nama Keterangan
Actor1
Aktor
Merupakan pengguna dari sistem.
Penamaan Aktor menggunakan kata benda.
UseCase1 Use Case
Merupakan pekerjaan yang dilakukan oleh aktor. Penamaan use case diagram menggunakan kata kerja.
-End1
*
-End2
*
Asosiasi
Hubungan antara aktor dengan use case.
«uses»
Include
Hubungan antara use case dengan use case, include menyatakan bahwa sebelum pekerjaan dilakukan harus menyelesaikan pekerjaan yang lain terlebih dahulu.
Lanjutan Tabel 3.4 Simbol Use Case Diagram ( Feri Sulianta, 2017 )
Simbol Nama Keterangan
«extends»
Extends
Hunbungan antara use case dengan use case, extends menyatakan bahwa jika pekerjaan yang dilakukan tidak sesuai atau terdapat kondisi khusus maka lakukan pekerjaan itu.
3.8.2 Activity Diagram
Activity diagram atau Diagram Aktivitas menggambarkan berbagai alir aktivitas pada sebuah sistem yang sedang dirancang.
Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram lebih memfokuskan pada eksekusi dan alur sistem dari pada bagaimana sistem itu dirakit. Diagram ini tidak hanya memodelkan software melainkan memodelkan bisnis juga. Ketika digunakan dalam pemodelan software, diagram aktivitas merepresentasikan pemanggilan suatu fungsi tertentu. Sedangkan apabila digunakan dalam pemodelan bisnis, diagram ini menggambarkan aktivitas yang disebabkan oleh kejadian – kejadian internal.
Tabel 3.5 Simbol Activity Diagram ( Widodo, 2011 )
Simbol Nama Keterangan
Activity
Memperlihatkan bagaimana masing-masing kelas antarmuka saling berinteraksi satu sama lain
Action
State dari sistem yang mencerminkan eksekusi dari suatu aksi
Lanjutan Tabel 3.5 Simbol Activity Diagram ( Widodo, 2011 )
Simbol Nama Keterangan
Initial Node Bagaimana objek dibentuk atau diawali.
Activity Final Node
Bagaimana objek dibentuk dan dihancurkan
Fork Node Satu aliran yang pada tahap tertentu berubah menjadi beberapa aliran
Decision
Digunakan untuk menggambar suatu keputusan / tindakan yang harus diambil pada kondisi tertentu Line
Connector
Digunakan untuk menghubungkan satu simbol ke simbol yang lainnya
3.8.3 Sequence Diagram
Sequence diagram adalah diagram yang menunjukkan kolaborasi dinamis antara sejumlah objek. Sequence diagram biasanya digunakan untuk menggambarkan skenario atau langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan sebuah keluaran tertentu.
Diawali dari apa yang men-trigger aktivitas tersebut, proses, dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Simbol yang digunakan adalah seperti berikut ini.
Tabel 3.6 Simbol Sequence Diagram ( Feri Sulianta, 2017 )
Simbol Nama Keterangan
Object1
Objek/Aktor
Sebuah objek yang berasal dari kelas. Atau dapat dinamai dengan kelasnya saja. Aktor termasuk objek. Garis putus – putus menunjukkan garis hidup suatu objek.
Aktivasi
Menunjukkan masa hidup dari objek
Message1
Pesan
Interaksi antara satu objek dengan objek lainnya. Objek dapat mengirimkan pesan ke objek lain.
Interaksi pada objek ditunjukkan pada bagian operasi pada diagram kelas
Message2
Return Pesan kembali dari komunikasi antar objek.
3.8.4 Class Diagram
Class Diagram atau Diagram Kelas adalah inti dari proses pemodelan objek. Baik forward engineering maupun reverse engineering memanfaatkan diagram ini. Forward engineering adalah proses perubahan model menjadi kode program sedangkan reverse engineering sebaliknya merubah kode program menjadi model.
Diagram kelas merupakan kumpulan kelas - kelas objek. Oleh karena itu pengertian kelas sangat penting sebelum merancang diagram kelas. Sedangkan objek adalah entitas yang bersifat unik yang mengikuti aturan - aturan yang sudah didefinisikan dalam kelasnya.
Didalam sebuah kelas, juga terdapat atribut yang mendefiniskan tipe informasi suatu kelas, operasi yang menunjukkan cara – cara dalam menjabarkan mengelola atribut - atribut class. Berikut ini adalah simbol – simbol di dalam class diagram.
Tabel 3.7 Simbol Class Diagram ( Widodo, 2011 )
Simbol Nama Keterangan
Generalization
Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
Nary Association
Upaya untuk menghindari asosiasi dengan lebih dari 2 objek.
+operasi() +atribut
Nama Class Class Kelas pada struktur sistem.
Collaboration
Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu actor
Realization Operasi yang benar-benar dilakukan oleh suatu objek.
Dependency Hubungan dimana perubahan yang terjadi pada suatu elemen
mandiri (independent) akan mempegaruhi elemen yang bergantung padanya elemen yang tidak mandiri
Lanjutan Tabel 3.7 Simbol Class Diagram ( Widodo, 2011 )
Simbol Nama Keterangan
Association Apa yang menghubungkan objek satu dengan yang lain
Tabel 3.8 Relasi Multiplicity Class diagram ( Feri Sulianta, 2017 )
Indikator Arti Keterangan
0..1 Kosong Ke Satu Dalam hal ini objek yang berinteraksi dengan objek dari kelas lainnya hanya 1 atau tidak sama sekali.
1 Hanya Satu Objek yang berinteraksi dengan objek dari kelas lainnya hanya 1.
0..* Kosong Ke
Banyak
Objek yang berinteraksi dengan objek dari kelas lainnya minimal 1 atau tidak sama sekali.
1..* Satu Ke Banyak Objek yang berinteraksi dengan objek dari kelas lainnya minimal 1 atau lebih.
N Banyak (n)
dimana n lebih besar dari 1
Objek yang berinteraksi dengan objek dari kelas lainnya berjumlah n.
3.9 Pengujian Perangkat Lunak
Pengujian adalah sebuah aktifitas yang direncanakan dan sistematis untuk menguji atau mengevaluasi kebenaran yang diinginkan (Rosa, 2016).
Pengujian merupakan elemen yang sering dikaitkan dengan verifikasi dan validasi. Verifikasi mengarah pada pengembangan produk dan telah mengimplementasikan fungsi dengan benar. Pengujian verifikasi dilakukan mulai dari lingkup yang kecil ke lingkup yang lebih besar. Pengujian validasi mengacu pada hasil yang sesuai dengan kebutuhan perangkat lunak yang diinginkan. Pengujian untuk validasi memiliki pendekatan sebagai berikut:
3.9.1 Black Box Testing ( Pengujian Kotak Hitam )
Pengujian ini dilakukan dengan cara memakai perangkat lunak.
Yaitu menguji perangkat lunak secara fungsional tanpa menguji desain dan kode program. Pengujian ini dimaksudkan untuk mengetahui apakah fungsi – fungsi yang dimasukkan dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan. Berikut adalah fungsi-fungsi dari proses pengujian Black Box Testing :
1. Menemukan fungsi-fungsi yang tidak benar atau hilang di dalam suatu software.
2. Mencari kesalahan interface yang terjadi saat software dijalankan.
3. Untuk mengetahui kesalahan dalam struktur data atau akses database eksternal di dalam suatu aplikasi.
4. Menguji kinerja dari software tersebut.
5. Menginisialisasikan dan mencari kesalahan dari terminasi software itu sendiri.
3.9.2 White Box Testing ( Pengujian Kotak Putih )
Pengujian ini dilakukan dengan memeriksa logic dari kode program yaitu menguji perangkat lunak dari segi desain dan kode program apakah mampu menghasilkan fungsi – fungsi, masukan, dan
keluaran yang sesuai dengan kebutuhan perangkat lunak. Berikut ini adalah teknik pengujian white box:
1. Menggambarkan kode program ke dalam graph yaitu node dan edge.
a. Jika berhubungan bernilai 1, bila tidak bernilai nol.
b. Dalam pengujian ini akan diperoleh hasil : c. Kemungkinan source code yang dieksekusi d. Waktu yang dibutuhkan
e. Memori yang digunakan f. Sumber daya yang digunakan
2. Basic path, yaitu pengukuran kompleksitas kode program dan pendefinisian alur yang akan dieksekusi.
3. Data flow testing, untuk mendeteksi penyalahgunaan data dalam sebuah program.
4. Cyclomatic Complexity
Pada Basis Path Testing, hasil dari cyclomatic complexity digunakan untuk menentukan banyaknya independent paths.
Independen path adalah sebuah kondisi pada program yang menghubungkan node awal dengan node akhir.
Terdapat dua persamaan yang digunakan, yaitu:
V(G)= E - N + 2 atau V(G)= P + 1 Keterangan:
V(G)= cyclomatic complexity untuk flow graph G E = Jumlah edge (panah)
N = Jumlah node (lingkaran) P = Jumlah predicate node