2012-1-00663-stif bab 2

31
6 BAB 2 LANDASAN TEORI 2.1. RequirementsPlanning Menurut Kappauf& Koch (2010,p85) tugas utama dari requeirements planning adalah memastikan tersedianya material dengan melakukan pembelian yang mempunyai jumlah dan waktu yang tepat untuk pendistribusian. Menggunakan berbagai macam perencanaan dan prosedur, sistem akan mengenali situasi kekurangan material dan melakukan proposal pembelian material. Menurut Kappauf & Koch (2010,p85) secara general material requirements planning dapat dibedakan menjadi consumption based planning dan deterministic planning berdasarkan parameter yang bersangkutan di dalam material masternya.Consumption based planning ditujukan untuk digunakan pada perusahaan yang tidak memproduksi barangnya sendiri sendangkan deterministic MRP lebih ditujukan pada perusahaan yang melakukan produksi terhadap barangnya sendiri. Menurut Kappauf & Koch (2010,p85) consumption based planning berdasarkan pada jumlah kebutuhan yang lalu dan tidak ada hubungannya dengan perencanaan produksi. Kebutuhan utamanya ditentukan oleh prosedur statistik atau peramalan jumlah kebutuhan yang lalu. Menurut Kappauf & Koch (2010,p86) tiga prosedur yang tersedia untuk consumption based planning adalah : Reorder point planning Pada reorder point planning pembelian terjadi ketika jumlah stock yang tersedia lebih kecil daripada reorder point.

Upload: erwan-ap-riano

Post on 24-Oct-2015

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2012-1-00663-STIF Bab 2

6

BAB 2

LANDASAN TEORI

2.1. RequirementsPlanning

Menurut Kappauf& Koch (2010,p85) tugas utama dari requeirements planning

adalah memastikan tersedianya material dengan melakukan pembelian yang mempunyai

jumlah dan waktu yang tepat untuk pendistribusian. Menggunakan berbagai macam

perencanaan dan prosedur, sistem akan mengenali situasi kekurangan material dan

melakukan proposal pembelian material.

Menurut Kappauf & Koch (2010,p85) secara general material requirements

planning dapat dibedakan menjadi consumption based planning dan deterministic

planning berdasarkan parameter yang bersangkutan di dalam material

masternya.Consumption based planning ditujukan untuk digunakan pada perusahaan

yang tidak memproduksi barangnya sendiri sendangkan deterministic MRP lebih

ditujukan pada perusahaan yang melakukan produksi terhadap barangnya sendiri.

Menurut Kappauf & Koch (2010,p85) consumption based planning berdasarkan

pada jumlah kebutuhan yang lalu dan tidak ada hubungannya dengan perencanaan

produksi. Kebutuhan utamanya ditentukan oleh prosedur statistik atau peramalan jumlah

kebutuhan yang lalu.

Menurut Kappauf & Koch (2010,p86) tiga prosedur yang tersedia untuk

consumption based planning adalah :

• Reorder point planning

Pada reorder point planning pembelian terjadi ketika jumlah stock yang

tersedia lebih kecil daripada reorder point.

Page 2: 2012-1-00663-STIF Bab 2

7

Reorder point dipilih yang dapat menggambarkan jumlah nilai penjualan

selama lead time ditambah dengan safety stock.

Lead time adalah selisih waktu antara waktu pemesanan dengan waktu

datangnya barang.

Safety stock adalah besaran yang digunakan mengantisipasi fluksutasi

penjualan, error dalam peramalan ataupun telat datangnya barang oleh supplier.

• Forecast based planning

Forecast based planning menggunakan peramalan jumlah penjualan sama

seperti reorder point planning tetapi forecast based planning lebih menekankan

kepada jumlah stock selama jangka waktu perencanaan yang mempunyai efek

langsung kepada material requirements planning.

• Time phased materials planning

Time phased materials planning digunakan jika supplier material melakukan

penyediaan menggunakan pola tertentu atau hanya pada waktu tertentu.

2.2. Reorder Point

Menurut Siegelet al (2008,p416) reorder point adalah titik untuk menetapkan

pemesanan baru yang membutuhkan pengetahuan tentang lead time dan safety stock

serta dihitung dengan cara sebagai berikut

Reorder Point = (Average usage per unit of lead time x Lead Time) + Safety Stock

2.3. Peramalan

Pada bagian ini diberikan kebutuhan peramalan, kegunaan peramalan, dan

beberapa metode peramalan.

Page 3: 2012-1-00663-STIF Bab 2

8

2.3.1. Kebutuhan Peramalan

Menurut Makridakis (1999,p14) dalam bukunya Metode dan Aplikasi

Peramalan, adanya waktu tenggang (lead time) yaitu perbedaan waktu antara

kebutuhan mendatang dengan suatu peristiwa menjadi alasan utama bagi

perencanaan dan peramalan. Jika waktu tenggang ini panjang dan hasil peristiwa

akhir bergantung terhadap faktor – faktor yang diketahui maka perencanaan

memegang peranan penting dan peramalan diperlukan untuk menetapkan kapan

suatu peristiwa akan terjadi sehingga tindakan yang tepat dapat dilakukan.

MenurutMakridakis (1999,p15) keberhasilan suatu perusahaan bergantung

pada dua jenis peristiwa yaitu peristiwa eksternal yang diluar kendali seperti

peristiwa yang berasal dari ekonomi nasional, pemerintah, pelanggan dan pesaing,

dan peristiwa internal yang dapat dikendalikan seperti keputusan perusahaan

dalam pemasaran atau manufaktur. Peramalan mempunyai peranan langsung pada

peristiwa eksternal sedangkan pengambilan keputusan berperan pada peristiwa

internal. Perencanaan merupakan perpaduan dari peramalan dan pengambilan

keputusan.

2.3.2. Kegunaan dan Peran Peramalan

Menurut Makridakis (1999,p17) peramalan memiliki pernanan penting

dalam beberapa bagian organisasi yaitu :

• Penjadwalan sumber daya yang tersedia

Page 4: 2012-1-00663-STIF Bab 2

9

Penggunaan sumber daya yang efisien memerlukan penjadwalan produksi,

transportasi, kas, personalia dan memerlukan input berupa ramalan tingkat

permintaan produk, bahan, tenaga kerja, finansial atau jasa pelayanan.

• Penyediaan sumber daya tambahan

Peramalan digunakan untuk menentukan kebutuhan sumber daya di masa

mendatang ketika terjadi waktu tenggang untuk memperoleh bahan baku,

menerima pekerja baru, membeli mesin dan lainnya.

• Penentuan sumber daya yang diinginkan

Penentuan sumber daya yang dimiliki dalam jangka panjang perlu

didukung oleh peramalan pada kesempatan pasar, faktor – faktor

lingkungan dan pengembangan internal dari sumber daya finansial,

manusia, produk dan teknologis.

2.4. Metode Peramalan

Menurut Aswi (2006,p2) metode peramalan dapat dibagi dalam dua kategori

utama, yaitu metodekualitatif dan metode kuantitatif. Metode kualitatif didasarkan pada

meikirian intuitif, perkiraan logis atau pengetahuan yang diperoleh dari peneliti

sebelumnya. Metode kualitatif biasanya digunakan untuk ramalan jangka pendek /

pengambilan kemputusan yang menggunakan intuisi. Metode kuantitatif menggunakan

informasi masa lalu yang dirubah dalam bentuk data numeric sehingga dapat diramalkan

menggunakan perhitungan matematika dan statistika. Model peramalan pada metode

kuantitatif ada dua yaitu model deret waktu dan model regresi.

Menurut Aswi (2006,p2) model regresi memasukkan dan menguji peubah yang

diduga mempengaruhi peubah terikat dengan tujuan menemukan bentuk hubungan

Page 5: 2012-1-00663-STIF Bab 2

10

tersebut dan menggunakannya untuk menaksir nilai dari peubah terikat sedangkan model

deret waktu berupaya meramalkan kondisi masa yang akan datang dengan menggunakan

data histori dan memproyeksikannya ke masa depan.

Menurut Aswi (2006,p4) permalan kuantitatif dapat diterapkan bila memenuhi

tiga kondisi yaitu :

• Tersedia informasi tentang masa lalu.

• Informasi tersebut dapat dikuantitatifkan dalam bentuk data numerik.

• Diasumsikan bahwa beberapa aspek pola masa lalu akan berlanjut di masa

mendatang.

2.5. Metode Box-Jenkins

Menurut Aswi (2006, p21) model Auto Regressive / Integrated / Moving Average

(ARIMA) dipelajari oleh George Box dan Gwilym Jenkins (1976) sehingga nama

mereka sering disinonimkan dengan model ini. Model ARIMA terdiri dari dua aspek

yaitu aspek autoregressive dan moving average. Model ARIMA ini dituliskan dengan

notasi ARIMA (p,d,q) dimana p adalah orde dari autoregressive (AR), d menyatakan

nilai differencing dan q menyatakan orde moving average (MA).

Menurut Aswi (2006,p22) proses dari peramalan menggunakan metode Box-

Jenkins dilakukan dengan tahapan sesuai dengan Gambar 2.1.

Page 6: 2012-1-00663-STIF Bab 2

11

Gambar 2.1 Skema Tahapan Metode Box-Jenkins

Sumber : Aswi & Sukarna (2006)

2.5.1. Model stokastik stasioner dan non-stasioner

Menurut Boxet al (1994,p7) untuk mendeskripsikan sebuah data time-

series dapat digunakan perhitungan model matematika yaitu model stokastik

stasioner dimana diasumsikan bahwa sebuah proses time-series nilainya tetap

bergerak pada rata – rata yang konstan. Tetapi dalam industri, bisnis dan ekonomi

sering dijumpai time-series yang tidak stasioner atau tidak memiliki rata – rata

yang konstan. Pendekatan pertama yang dilakukan adalah menemukan model yang

Rumusan kelompok model-model umum

Penetapan model sementara

Penaksiran parameter model sementara

Pemeriksaan Diagnostik

Gunakan model untuk peramalan

ya

tidak

Tahap I Identifikasi Model

Tahap II Taksiran dan

Diagnostik model

Tahap II Aplikasi Model

Page 7: 2012-1-00663-STIF Bab 2

12

tepat bagi time-series yang akan diramalkan. Setelah model yang tepat didapatkan

maka prosedur peramalan dapat dijalankan.

Untuk model stokastik stationer meliputi model autoregressive (AR),

model moving average (MA), ataupun campuran keduanya yaitu model

autoregressive – moving average (ARMA).

Untuk model stokastik non-stasioner adalah model yang mengalami

differencing sehingga model tersebut bisa dirubah menjadi model stokastik

stasioner yaitu model autoregressive integrated moving average (ARIMA).

2.5.2. Backward shift Operator

Boxet al(1994,p8) memberikan operator B yang berguna sebagai operator

yang memundurkan suatu variabel ke satuan waktu sebelumnya.

BZ Z

B Z Z  

Operator ini digunakan pada peramalan time-seriesuntuk mempermudah

menyatakan hubungan antara variabel pada waktu sekarang dengan variabel pada

waktu sebelumnya.

2.5.3. Model Autoregressive (AR)

Menurut Box et al(1994,p9) model autoregressive menyatakan nilai

variabel pada waktu sekarang merupakan agregat linear dari nilai variabel pada

waktu sebelumnya dan sebuah random shockat.

Proses waktu dilambangkan dengan t, t - 1, t - 2, … , 1 pada , , … ,

merupakan deviasi dari μ yaitu   dimana adalah nilai variabel pada

Page 8: 2012-1-00663-STIF Bab 2

13

waktu t dan μ adalah perkiraan rata – rata populasi maka persamaan model

autoregressive adalah :

Z Z Z Z a

Operatorautoregressive pada order p dapat dinyatakan dengan :

B 1 B B B

Sehingga model autoregressive penulisannya dapat disederhanakan

menjadi :

B Z a

2.5.4. Model Moving Average (MA)

Menurut Boxet al (1994,p10) model movingaverage menyatakan nilai

variabel pada waktu sekarang merupakan agregat linear dari nilai random

shocksebelumnya.

Persamaan model moving average adalah :

Z a θ a θ a θ a

Operatormoving average dinyatakan dengan :

θ B 1 θ B θ B θ B

Sehingga model moving averagepenulisannya dapat disederhanakan

menjadi :

Z θ B a

Page 9: 2012-1-00663-STIF Bab 2

14

2.5.5. Model Autoregressive – Moving Average (ARMA)

Boxet al(1994,p53) juga menunjukkan bahwa model time-series tidak

hanya direpresentasikan oleh salah satu model AR atau MA tetapi bisa juga

merupakan gabungan keduanya.

Maka persamaan untuk model ARMA menjadi :

Z Z Z Z a θ a θ a θ a

Dan penulisannya dapat disederhanakan menjadi :

B Z θ B a

2.5.6. Model Autoregressive Integrated Moving Average (ARIMA)

Boxet al (1994,pp92-93) memberikan cara untuk merubah proses time-

series yang tidak stasioner menjadi stasioner yaitu dengan menggunakan operator

differencing sebagai berikut :

1 B

Sehingga model persamaan untuk model ARIMA menjadi :

B 1 B Z θ B a  

Atau

B Z θ B a

2.5.7. Identifikasi Model

Menurut Wang (2009,p2) pada jurnal yang dibuatnya, identifikasi model

dilakukan untuk menemukan orde dari operator AR (p), order dari operator

differencing (d) dan order dari operator MA (q).Untuk dapat mencari nilai dari

Page 10: 2012-1-00663-STIF Bab 2

15

(p,d,q) digunakan diagram autocorrelation function (ACF) dan diagram partial

autocorrelationfunction (PACF) dengan cara melakukan plot nilai ACF dan PACF

terhadap lag time.

Wang (2009,pp2-3) menunjukkan bahwa ACF dan PACF didasarkan pada

covariance. Untuk time-series , , … , , covariance pada lagk, dinotasikan

sebagai dan dapat diestimasi dengan cara :

γ1n w w

untuk k = 0,1, … , M

untuk k = 0, γ  variance

Madalah jumlah lag paling besar yang didapat dari :

Mn4

Maka ACF dan PACF pada lagk yang dinotasikan menjadi dan

dapat diestimasi dengan cara :

ργγ

α ρ

α ,ρ ∑ ρ α

1 ∑ ρ α

α , α α , α ,

( j =1,2, … , k )

Untuk k = 1,2, … , M

Page 11: 2012-1-00663-STIF Bab 2

16

Menurut Wang (2009,p3) untuk mendapatkan nilai orde dpada proses time-

series yang dinotasikan , , … , dapat menggunakan langkah - langkah

berikut :

1. Beri nilai awal d = 0

2. Buat proses time-series yang didifferencing dan dinotasikan sebagai :

1

Untuk t = d + 1, d + 2, … , N

3. Hitung ACF untuk , , … ,

4. Jika nilai ACF turun sangat lambat menuju 0 maka d = d + 1 dan kembali

ke langkah 1, lainnya maka nilai d sudah didapat.

Setelah mendapat nilai d maka deret , , … , telah dirubah menjadi

deret stasioner , , … , dan kita dapat mengestimasi rata – ratanya dengan

:

z1

N d zN

Lalu kita dapat mendapatkan deret dengan rata – rata kosong

, , … , dimana sehingga permasalahan model ARIMA

(p,d,q) untuk , , … , dirubah menjadi permasalahan model ARMA (p,q)

untuk , , … , dan dapat menggunakan permodelan ARMA yaitu :

B x θ B a

Menurut Wang& Zhao (2009,p4) untuk mengetahui nilai orde p dan q

dilakukan dengan melihat plot ACF dan PACF. Nilai p didapat dari banyaknya

Page 12: 2012-1-00663-STIF Bab 2

17

nilai PACF yang signifikan tidak sama dengan 0 dan nilai q didapat dari

banyaknya nilai ACF yang signifikan tidak sama dengan 0.

2.5.8. Estimasi Parameter Model

Menurut Wang& Zhao (2009,p4) setelah model didapatkan langkah

selanjutnya adalah menentukan nilai dari parameter model yaitu nilai dari dan

. Salah satu metode yang biasa digunakan untuk mengestimasi nilai parameter

model ini menggunakan persamaan Yule-Walker.

Wang& Zhao (2009,p5) memperlihatkan bahwa perhitungan estimasi

parameter ini susah untuk dilakukan terutama ketika nilai order p dan q> 1. Untuk

mengatasi ini cara lain yang diajukan oleh Wang& Zhao dalam mengestimasi

parameter adalah dengan menggunakan algoritma PSO dan telah dibuktikan

estimasi parameter model ARIMA dengan PSO memberikan error yang lebih kecil

oleh Wang& Zhao (2009,p10) yang dapat dilihat pada Gambar 2.2.

Gambar 2.2 MSE PSO ARIMA

Sumber : Wang& Zhao (2009,p9)

2.5.9. Ukuran Ketepatan Peramalan

Pada percobaan yang dilakukan Wang& Zhao (2009,p7) ukuran ketepatan

peramalan yang digunakan dalam mengidentifikasi nilai dari parameter model

adalah mean square error (MSE) dengan rumus sebagai berikut :

Page 13: 2012-1-00663-STIF Bab 2

18

MSE , 1N d x x ,

N

2.6. Model Waterfall

Menurut Pressman (2005,p79-80), waterfall model memberikan pendekatan yang

sistematis dan sekuensial bagi pengembangan software yang dimulai dari level system

dan melalui tahapan communication, planning, modeling, construction, dan

deployment.Gambaran tahapan pada model waterfall dapat dilihat padaGambar 2.3.

Gambar 2.3 Model Waterfall

Berikut penjelasan detail dari tahapan-tahapan tersebut :

1. Communication

Terdiri dari project initiation dan requirement gathering. Merupakan tahapan

pengumpulan kebutuhan yang dilakukan secara intensif dan focus terutama kepada

software

2. Planning

Terdiri dari estimating, scheduling, dan tracking. Pada tahap ini pengembang

software membuat perkiraan yang diperlukan dan dilakukan penjadwalan untuk

Communication

Planning

Modeling

Construction

Deployment

Page 14: 2012-1-00663-STIF Bab 2

19

menyelesaikan tahap-tahap pembuatan software sesuai dengan waktu yang

diperkirakan.

3. Modeling

Terdiri dari analysis dan design. Pada saat mendesai software terdapat empat

atribut yang difokuskan yaitu struktur data, arsitektur software, representasi

interface, dan detail algoritma. Proses desain mengubah kebutuhan menjadi

representasi dari software yang dapat dinilai untuk kualitas sebelum penulisan

code dimulai.

4. Construction

Terdiri dari penulisan code dan pengujiansoftware. Pada tahap ini desain

diterjemahkan menjadi bentuk yang dapat dibaca oleh mesin. Setelah penulisan

code selesai maka dilakukan pengujian software yang ditekankan kepada logika

internal, meyakinkan semua pernyataan telah diuji, dan pada fungsi external.

5. Deployment

Tediri dari delivery, support, dan feedback. Pada tahap ini pengembang software

menyediakan software yang menyediakan fungsi dan fitur yang bermanfaat.

Pengembang software juga menyediakan dokumentasi untuk semua fitur dan

fungsi. Pada tahap ini juga, pengembang software mendapatkan umpan balik

terhadap software yang berujung pada pemodifikasian fitur dan fungsi.

2.7. Interaksi Manusia dan Komputer (IMK)

Menurut Shneiderman (2010,p32) terdapat lima factor manusia terukur yang dapat

dijadikan sebagai pusat evaluasi yaitu :

Page 15: 2012-1-00663-STIF Bab 2

20

1. Waktu belajar, berapa lama waktu yang diperlukan user untuk mempelajari cara

yang relevan untuk melakukan suatu tugas.

2. Kecepatan kinerja, berapa lama waktu yang diperlukan untuk mengerjakan suatu

tugas?

3. Tingkat kesalahan user, berpaa banyak kesalahan dan kesalahan apakah yang bisa

terjadi saat user mengerjakan tugas tersebut?

4. Daya ingat, bagaimana user mengatur pengetahuan setelah beberapa waktu?

5. Kepuasan yang subjektif, seberapa banyak user menyukai penggunaan bermacam

aspek dalam antarmuka?

Menurut Shneiderman (2010,p88-89) terdapat delapan aturan emas dalam

merancang antarmuka yaitu :

1. Berusaha untuk konsisten

Tindakan konsisten yang diperlukan dalam situasi yang ersupa seperti pembuatan

prompt, menu, help screen dan command user.

2. Memungkinkan pengguna untuk menggunakan shortcut

Seiring meningkatnya frekuensi penggunaan, pengguna juga ingin mengurangi

jumlah interaksi dan meningkatkan laju interaksi. Singkatan, tombol fungsi,

perintah tersembunyi, dan fasilitas makro sangat membantu bagi expert users.

3. Menawarkan umpan balik yang informatif

Untuk setiap tindakan dari operator harus ada system umpan balik. Untuk tindakan

sering dan kecil, tanggapan dapat bersifat sederhana, sedangkan untuk tindakan

jarang dan utama, tanggapan harus bersifat detail.

4. Desain dialog untuk menghasilkan penutupan

Page 16: 2012-1-00663-STIF Bab 2

21

Urutan-urutan dari tindakan yang ada harus diatur menjadi bagian awal, tengah,

dan akhir. Umpan balik informative pada sekumpulan tindakan yang ada

memberikan kepuasan penyelesaian, rasa lega, tanda untuk menghentikan suatu

rencana dan lilihan dari pikiran mereka, dan indikasi bahwa caranya jelas yaitu

untuk mempersiapkan sekelompok tindakan yang ada berikutnya.

5. Penawaran penangan error yang sederhana

Sebisa mungkin desain dibuat dari system yang ada agar pengguna tidak berbuat

kesalahan yang serius. Namun jika kesalahan dibuat system harus dapat

mendeteksi kesalahan yang sederhana dan mekanisme yang mudah dipahamai

untuk penanganan kesalahan.

6. Mengizinkan pembalikan tindakan

Fitur ini bertujuan untuk mengurangi kecemansan karena pengguna tahu bahwa

kesalahan dapat dibatalka sehingga mendorong pengguna dalam menjelajah

pilihan-pilihan tindakan yang asing. Bentuk dari pembalikan tidndakan dapat

berupa satu tindakan, entri data, atau sekelompok lengkap dari tindakan-tindakan

yang ada.

7. Dukungan internal lokus control

Operator berpengalaman berkeinginan kuat mengenai rasa mereka bertanggung

jawab atas sistem dan sistem pun merespon tindakan mereka. Buatu desain dari

sistem untuk membuat pengguna berperan sebagai pengambil inisiatif daripada

para responden yang ada.

8. Kurangi beban memori jangka pendek

Keterbatasan manusia dalam mengolah informasi dalam jangka waktu pendek

memerlukan sesuatu yang dapat ditampilkan namun disimpan dalam bentuk

Page 17: 2012-1-00663-STIF Bab 2

22

sederhana. Halaman-halaman ganda diperketat, frekuensi dari window-motion

dikurangi, waktu pelatihan yang memadai dialokasikan untuk kode, mnemonic,

dan urutan tindakan.

2.8. Unified Modeling Language (UML)

Menurut Bentley&Whitten (2007,p371) UML adalah satu setdari

ketentuanmodeling yang digunkan untuk menspesifikasi atau mendeksripsikan sebuah

sistem software dalam suatu kondisi dari objek.

UML dibagi menjadi beberapa komponen yaitu :

1. Class Diagram

Menurut Bentley&Whitten (2007,p400) class diagram menggambarkan struktur

sistem suatu objek. Diagram ini menampilkan kelas-kelas objek yang sistemnya

tersusun seperti hubungan antara kelas-kelas objek.

2. Use Case Diagram

Menurut Bentley&Whitten (2007,pp246-250) use case diagram menggambarkan

interaksi antara sistem dan sistem eksternal dan user. Dengan kata ain secara

grafikal mendeskripsikan siapa yang akan menggunakan system dan dengan cara

seperti apa yang diharapkan user berinteraksi dengan sistem.

Use case diagram memiliki komponen sebagai berikut :

a. Pelaku

Pada use case diagram pelaku adalah segala sesuatu yang perlu berinteraksi

dengan sistem untuk pertukaran informasi.

b. Relationship(hubungan)

Page 18: 2012-1-00663-STIF Bab 2

23

Pada use case diagram hubungan digambarkan dalam sebuah garis di antara

dua simbol.

3. Activity Diagram

Menurut Bentley&Whitten (2007,p390) activity diagram menggambarkan alur

yang berurutan dari aktifitas use case atau proses bisnis. Diagram ini juga dapat

digunakan untuk memodelkan logika dengan suatu sistem.

Activity diagram memiliki komponen sebagai berikut :

1. Titik solid

Menggambarkan awal sebuah proses.

2. Segi empat dengan sudut tumpul

Menggambarkan tugas yang perlu dilakukan.

3. Panah

Menggambarkan sasaran yang mengawali kegiatan.

4. Diamond

Menggambarkan sebuah kegiatan keputusan.

5. Titik solid di dalam lingkaran

Menggambarkan akhir sebuah proses.

2.9. Object Oriented Programming (OOP)

Menurut Azis&Farid (2005,p2) object oriented programming memandangsoftware

sebagai sekumpulan objek yang saling berinteraksi dalam sebuah sistem. Merancang

software yang berorientasi objek dilakukan dengan membagi fungsi-fungsi berdasarkan

pembagian tanggung jawab yang ditetapkan kepada setiap kelas yang dibuat. Setiap

Page 19: 2012-1-00663-STIF Bab 2

24

kelas menyediakan pelayanan untuk mengerjakan operasi tertentu dan dilakukan oleh

objek yang dibuat dari kelas tersebut.

Menurut Azis&Farid (2005,p3) keuntungan yang diperoleh dari pemrograman

berorientasi objek adalah kemudahan untuk mengelola kompleksitas aplikasi yang

dibuat dan kemudahan untuk melakukan perubahan dan pengembangan aplikasi

tersebut. Operasi dan data dibungkus rapi di dalam sebuah kelas. Data hanya dapat

dimanipulasi menggunakan operasi-operasi di dalam kelas dan bila terjadi kesalahan

bisa ditelusuri kesalahan terjadi pada kelas yang mana dimana jika terjadi perbaikan

pada kelas tersebut tidak mengakibatkan perubahan pada kelas lainnya.

2.9.1. Encapsulation

MenurutGilmore (2010,p136) encapsulation adalah “The practice of

separating the user from the true inner workings of an application through well-

known interfaces”. Gilmore (2010,p135) memberikan ilustrasi encapsulation

seperti ketika kita ingin menyalakan radio, kita tidak tahu bagaimana cara radio

bekerja, yang perlu dilakukan adalah menekan tombol yang membuat radio

menyala, dalam kasus ini tombol ini adalah interface.

Gilmore (2010,p136) juga mengatakan dengan encapsulation maka setiap

komponen menjadi independen dari komponen lainnya sehingga bisa direuse dan

juga bisa dipecah-pecah menjadi komponen yang kecil sehingga bisa disatukan

menjadi satu seperti puzzle.

Page 20: 2012-1-00663-STIF Bab 2

25

2.9.2. Class

Menurut Gilmore (2010,p137) mengatakan “Each entity is defined by a

particular set of characteristic and behaviors that ultimately serves to define the

entity for what it is. Sebagai contoh setiap kendaraan memiliki karakteristik seperti

warna, jumlah roda, kapasitas dan memiliki kelakuan seperti berjalan, berhenti,

putar arah dan membunyikan bel.

Menurut Gilmore (2010,p137) class adalah “An embodiment of an entity’s

defining attributes and behaviors”. Dalam konsep OOP characteristic lebih

dikenal dengan properties dan behaviors lebih dikenal method.

2.9.3. Object

Menurut Gilmore (2010,p138) object adalah “A basis form which you can

create specific instances of the entity the class modelsí”.

2.10. Computational Swarm Intelligence

Engelbrecht (2007,p285) menggunakan ilustrasi pencarian harta karun dalam

menggambarkan computationalswarmintelligence. Jika sebuah kelompok yang terdiri

dari beberapa orang sedang mencari harta karun dan yang diketahui adalah area lokasi

harta karun berada tetapi tidak diketahui persis dimana letaknya, lalu terdapat perjanjian

pembagian harta karun di antara orang dalam kelompok sehingga semua orang yang

telah membantu melakukan pencarian akan mendapatkan bagian. Mekanisme

pembagiannya adalah orang yang menemukan harta karun akan mendapatkan bagian

paling banyak dan sisanya akan mendapatkan bagian sesuai dengan jarak dari harta

karun ketika harta karun ditemukan. Setiap orang memiliki alat untuk mendeteksi

Page 21: 2012-1-00663-STIF Bab 2

26

seberapa jauh mereka dari harta karun dan juga mengetahui apakah teman dalam

kelompoknya ada yang lebih dekat dengan harta karun. Ada 2 aksi yang dapat

dilakukan, yang pertama adalah menghiraukan teman lain dalam kelompok dan mencari

harta karun sendirian. Dengan ini jika harta karun ditemukan maka harta karun akan

menjadi milik sendiri, tetapi jika tidak ditemukan maka tidak mendapatkan apa – apa.

Yang kedua adalah dengan menggunakan informasi dari teman team yang lainnya dan

bergerak menuju teman yang jaraknya terdekat dari harta karun. Dengan cara kedua

maka peluang menemukan harta karun lebih besar atau paling tidak memaksimalkan

pembagian harta karun yang akan didapat.

Ilustrasi inilah yang menggambarkan keuntungan dari kerjasama dalam sebuah

situasi dimana pengetahuan global tidak diketahui dalam sebuah lingkungan. Setiap

individu dalam kelompok bertukar informasi lokal untuk dapat memecahkan masalah

global yang diakhirnya masalah dapat dipecahkan secara lebih efisien.

Dalam computational swarm intelligence kelompok ini disebut dengan swarm.

Menurut Engelbrecht (2007,p285) swarm dapat didefinisikan sebagai sebuah kelompok

agen yang berkomunikasi satu sama lain dengan melakukan aksi terhadap lingkungan

lokal mereka. Menurut Engelbrecht (2007,p285) swarm intelligence mengacu kepada

pemecahan masalah yang menggunakan interaksi antara agen dalam swarm untuk

pemecahan masalah dan computational swarm intelligence mengacu kepada model

algoritma dari pemecahan masalah ini.

Engelbrecht (2007,p286) mengatakan bahwa penelitian terhadap kehidupan sosial

binatang dan serangga menghasilkan model – model computational swarm intelligence

contohnya adalah kawan semut, lebah, laba-laba, ikan dan burung. Dalam kawanan ini

tiap individual berstruktur sederhana tetapi interaksi antara indiviualnya sangat rumit.

Page 22: 2012-1-00663-STIF Bab 2

27

2.11. Particle Swarm Optimization

Menurut Engelbrecht (2007,p289) algoritma particle Swarm Optimization (PSO)

adalah algoritma yang berdasarkan interaksi sosial dari sekumpulan burung. Konsep

awal dari algoritma ini adalah untuk mensimulasikan pergerakan yang tidak terprediksi

dari sekumpulan burung dan bertujuan untuk mengetahui pola pergerakan burung yang

dapat berubah secara tiba – tiba dan membuat formasi yang optimal.

Dalam PSO individual yang disebut dengan partikel terbang dalam lingkungan

pencarian. Perubahan posisi partikel didasari dengan interaksi sosial antara partikel

dalam swarm dengan saling bertukar informasi untuk mencapai tujuan. Setiap partikel

mempunyai sifat untuk mengikuti keberhasilan dari partikel lainnya atau partikel itu

sendiri. Posisi terbaru dari sebuah partikel ditentukan dengan menambahkan kecepatan

partikel tersebut terhadap posisi sebelumnya.

Menurut Wang (2009,p6) jika lingkungan pencarian terdiri dari n dimensi dan

sebuah swarm terdiri dari m partikel, maka partikel ke i dan kecepatannya dapat

disimbolkan dengan n dimensi vector yaitu , , … , dan

, , … , dimana 1,2,… , .

Setiap partikel mengetahui nilai terbaiknya yang dapat dihitung sesuai dengan

fungsi objektif dari permasalahan, posisi terbaik yang pernah dicapainya dan posisi

partikel terbaik dalam swarm tersebut maka menurut Wang (2009,p6) kecepatan terbaru

dan posisi terbaru dari sebuah partikel dapat dihitung dengan cara :

Page 23: 2012-1-00663-STIF Bab 2

28

dan adalah kecepatan dan posisi partikel ke i pada iterasi ke k.

adalah posisi terbaik pada partikel ke i dan adalah posisi terbaik dari semua

partikel dalam swarm. , adalah bilangan random antara 0 dan 1 dan   , adalah

bilangan konstan antara 0 dan 2, dan Wang (2009,p6) menyarankan menggunakan nilai

2. adalah inertia weight yang dapat dihitung dari :

Dimana dan adalah nilai terbesar dan terkecil dari . adalah

batas terbesar iterasi dan adalah jumlah iterasi sekarang. Pada setiap iterasi akan

dilakukan perhitungan ulang pada kecepatan, posisi tiap partikel, posisi terbaik tiap

partikel, posisi terbaik dari semua partikel dalam swarm. Penandaan posisi terbaik

dilakukan dengan fungsi objektif.

2.11.1. Inisialisasi PSO

MenurutEngelbrecht (2007,p297) biasanya inisialisasi posisi dari partikel

dilakukan dengan penyebaran yang mencakup lingkungan pencarian. Jika posisi

terkecil dan terbesar partikel dalam swarm dinotasikan dengan dan

maka inisialisasi yang efisien untuk posisi dapat didapat dengan cara :

, , ,

Engelbrecht (2007,p297) menyarankan inisialisasi kecepatan partikel

adalah 0 karena jika pemberian nilai inisialisasi yang salah pada awal bisa

menyebabkan partikel bergerak terlalu jauh dan dapat menambah jumlah interasi

sebelum mendapatkan solusi.

Page 24: 2012-1-00663-STIF Bab 2

29

Inisialisasi adalah dan inisialisasi adalah

dengan nilai terbaik dari fungsi objektif

2.11.2. Kondisi berhenti

Menurut Engelbrecht (2007,p298) ada 2 aspek penting dalam memilih

kondisi berhenti yaitu :

• Kondisi berhenti tidak menyebabkan PSO konvergen premature dimana

solusi tidak optimal yang akan didapat.

• Kondisi berhenti harus melindungi dari kondisi oversampling pada

nilainya. Jika kondisi berhenti memerlukan perhitungan yang terus menerus

maka kerumitan dari proses pencarian akan meningkat.

Beberapa kondisi berhenti yang dipakai menurut Engelbrecht (2007,p298)

adalah :

• Berhenti ketika jumlah iterasi telah mencapai jumlah iterasi maksimum

yang diperbolehkan

• Berhenti ketika solusi yang dapat diterima telah ditemukan

• Berhenti ketika tidak ada perkembangan setelah beberapa iterasi

2.12. Estimasi parameter model ARIMA dengan PSO

Wang& Zhao (2009,p6) menunjukkan algoritma PSO dapat diterapkan dalam

mengestimasi parameter dari model ARIMA. Jumlah dari parameter yang akan

Page 25: 2012-1-00663-STIF Bab 2

30

diestimasi adalah p + q yaitu , , 1,2, … , , 1,2, … , maka dimensi

pencarian dari swarm adalah n = p + q.

Fungsi Objektif yang digunakan dalam menduga parameter ARIMA dengan PSO

adalah MSE yaitu :

MSE , 1N d x x ,

N

Prosedur yang digunakan Wang& Zhao (2009,p7) dalam mengestimasi

parameterARIMA dengan PSO dapat dilihat pada Gambar 2.4:

Page 26: 2012-1-00663-STIF Bab 2

31

Gambar 2.4Prosedur Estimasi Parameter ARIMA dengan PSO

Sumber : Wang (2009,p7)

Hasil estimasi parameter dari , adalah 1: dan 1, .

Page 27: 2012-1-00663-STIF Bab 2

32

2.13. CodeIgniter sebagai Framework PHP

Mengacu kepada http://codeigniter.com/CodeIgniter adalah “A powerful PHP

framework with a very small footprint, built for PHP coders who need a simple and

elegant toolkit to create full-featured web applications”. CodeIgniter berlisensi dibawah

Apache/BSD-style open source license, tidak membutuhkan resources yang berat dan

memiliki performa yang cepat.

CodeIgniter menggunakan pendekatan Model-View-Controller (MVC) sehingga

dapat memisahkan antara halaman logikal dan halaman presentasi.

2.13.1. Fitur CodeIgniter

Berikut adalah fitur yang didukung oleh CodeIgniter yang diambil dari

http://codeigniter.com/user_guide/overview/features.html :

• Model-View-Controller Based System

• Extremely Light Weight

• Full Featured database classes with support for several platforms.

• Active Record Database Support

• Form and Data Validation

• Security and XSS Filtering

• Session Management

• Email Sending Class. Supports Attachments, HTML/Text email, multiple

protocols (sendmail, SMTP, and Mail) and more.

• Image Manipulation Library (cropping, resizing, rotating, etc.). Supports

GD, ImageMagick, and NetPBM

Page 28: 2012-1-00663-STIF Bab 2

33

• File Uploading Class

• FTP Class

• Localization

• Pagination

• Data Encryption

• Benchmarking

• Full Page Caching

• Error Logging

• Application Profiling

• Calendaring Class

• User Agent Class

• Zip Encoding Class

• Template Engine Class

• Trackback Class

• XML-RPC Library

• Unit Testing Class

• Search-engine Friendly URLs

• Flexible URI Routing

• Support for Hooks and Class Extensions

• Large library of "helper" functions

Page 29: 2012-1-00663-STIF Bab 2

34

2.13.2. Flow Chart Aplikasi CodeIgniter

Gambar 2.5mengilustrasikan bagaimana data mengalir dalam sistem.

Gambar 2.5 Flow Chart Aplikasi CodeIgniter

1. Index.php bekerja sebagai front controller, inisialisasi base resource yang

dibutuhkan untuk menjalankan CodeIgniter.

2. Router memeriksa HTTP request untuk menentukan apa yang harus

dilakukan setelahnya.

3. Jika cache aktif maka hasil output akan langsung dikirimkan ke browser

tanpa melewati eksekusi sistem normal.

4. Sebelum controller dibuka maka HTTP request dan semua hasil submit

user akan disaring oleh Security.

5. Controller akan membuka model, core libraries, helpers, dan semua

resource yang dibutuhkan untuk memenuhi request.

6. Hasil final view akan dirender dan dikirimkan ke browser. Jika caching

aktif maka hasil view akan disimpan dalam cache sehingga bisa langsung

diberikan pada request berikutnya.

Page 30: 2012-1-00663-STIF Bab 2

35

2.13.3. Model-View-Controller (MVC)

CodeIgniter berbasiskan pola pengembangan Model-View-Controller.

Mengacu kepada http://codeigniter.com/user_guide/overview/mvc.html MVC

adalah pendekatan software yang memisahkan antara logikal aplikasi dari

presentasinya sehingga dalam prakteknya pada halaman web membuat pembuatan

skrip lebih minim karena skrip presentasi dipisahkan dengan skrip PHP.

• Model

Merepresentasikan struktur data. Biasanya kelas model berisikan fungsi

untuk membantu dalam menerima, memasukkan dan mengubah informasi

dalam database.

• View

Merupakan informasi yang dipresentasikan ke user. Biasanya berupa

halaman web.

• Controller

Berguna sebagai perantara antara Model dan View dan semua resource

yang dibutuhkan HTTP request untuk membuat halaman web.

2.13.4. Desain dan Tujuan Arsitektur CodeIgniter

Menuruthttp://codeigniter.com/user_guide/overview/goals.html tujuan

CodeIgniter adalah performa yang maksimal, berkemampuan, fleksibel dalam

paket yang kecil dan ringan.

Dari sudut pandang teknikal dan arsitektural, CodeIgniter diciptakan

dengan objektif sebagai berikut :

Page 31: 2012-1-00663-STIF Bab 2

36

• Dynamic Instantiation

Pada CodeIgniter komponen dibuka dan dieksekusi hanya ketika diminta

daripada dijalankan secara global. Secara default sistem akan berjalan

sangat ringan karena hanya akan menjalankan core resources. Event yang

ditriger oleh HTTP request, controller dan view yang didesain lah yang

menentukan resource apa yang terlibat.

• Loose Coupling

Coupling adalah tingkat dimana komponen didalam sistem bergantung

satu sama lainnya. Semakin kecil coupling maka sistem menjadi

semakin reusable dan fleksibel.

• Component Singularity

Singularity adalah tingkat dimana komponen dikhususkan untuk tujuan

tertentu. Pada CodeIgniter setiap kelas memiliki autonomous yang

tinggi untuk menciptakan kegunaan yang maksimum.