BAB II LANDASAN TEORI
2.1. Model Waterfall Menurut Pressman(2010, p39) model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini adalah gambaran dari waterfall model. Fase-fase dalam model waterfall menurut referensi Pressman:
Gambar 2.1 Fase-Fase Model WaterfallMenurut Pressman 1. Communication Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. 2. Planning Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan.
7
8 3. Modeling Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement. 4. Construction Construction merupakan proses membuat kode. Coding atau pengkodean merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki. 5. Development Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala. 2.2. Interaksi Manusia Dan Komputer Menurut Shneiderman (2010, p15) Interaksi Manusia dan komputer adalah sebuah displin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer yang interaktif untuk digunakan oleh manusia, serta mempelajari Fenomena-fenomena besar yang berhubungan dengannya.
9 Menurut Kurniawan Teguh Martono (2011) Interaksi merupakan bagian yang tak terpisahkan dalam kehidupan manusia. Salah satu bidang di dalam teknik komputer adalah bagaimana interaksi antara manusia dan komputer di bentuk. Proses interaksi antara manusia dan komputer ini merupakan bagian yang menarik untuk di pelajari. Dengan mempelajari interaksi antara manusia dan komputer maka pembuat sistem dapat memberikan gambaran kepada pengguna untuk memperoleh suatu pengalaman suatu produk
pada saat
menggunakan
aplikasi atau sistem
(Kurniawan Teguh Martono, 2011). 2.2.1
Lima Faktor Manusia Terukur Menurut Shneiderman (2010, p 32),Faktor- Faktor manusia terukur dalam
diseain antar muka pengguna terdiri atas : 1) Waktu belajar (Time to Learn): berapa lama waktu yang di perlukan orang awam dalam berkomunikasi pengguna untuk mempelajari cara relevan untuk melakukan suatu tugas. 2) Kecepatan kinerja (Speed of Performance): berapa lama waktu yang di perlukan untuk melakukan tugas. 3) Tingkat Kesalahan (Rate of Error by user): berapa banyak kesalahan dan kesalahan apa saja yang di buat pengguna. 4) Daya ingat (Retention Over Time): bagaimanakah kemampuan pengguna mempertahankan pengetahuannya setelah jangka waktu tertentu. Daya ingat berkaitan erat dengan waktu belajar dan frekuensi penggunaan. 5) Kepuasaan
subjektif (Subjective satisfaction):
seberapa suka pengguna
menggunakan variasi aspek dari sistem ? Jawabannya dapat dipastikan dengan interview atau survey.
10 2.2.2
Kategori Pengguna Menurut Shneiderman (2010, p81), sebelum suatu perangkat lunak di buat,
sebaiknya harus di pertimbangkan dahulu kategori pengguna yang akan menggunakan program, karena setiap pengguna memiliki karakteristik yang berbeda. Menurut Shneiderman (2010) Berikut ini adalah tiga kategori dari pengguna yaitu: 1. Novice atau first-time users
Aplikasi yang dibuat untuk pengguna seperti ini sebaiknya tidak terlalu sulit dan pesan kesalahan yang di rancang sebaiknya bersifat membangun serta spesifik sehingga
pengguna
tersebut
dapat
dengan
mudah
menemukan
letak
kesalahannya, selain itu sebaiknya ada umpan balik dari suatu proses yang dikerjakan oleh program sehingga pengguna mengerti bahwa komputer sedang melakukan suatu pekerjaan tertentu. 2. Knowledgeable intermittent users
Kategori adalah pengguna yang sudah mengerti konsep kerja komputer tetapi belum mengerti menggunakan beberapa fasilitas yang ada dalam suatu aplikasi. 3. Expert frequent users.
Untuk kategori seperti ini biasanya pengguna ingin agar pekerjaanya cepat selesai sehingga diusahakan membuat umpan balik sesingkat mungkin untuk mempercepat dimulainya suatu aksi, sebaiknya aplikasi yang di buat juga di lengkapi dengan shortcut. 2.2.3
Delapan Aturan Emas
Delapan aturan emas (eight golden rules) adalah prinsip-prinsip mendasar untuk desain antarmuka. Peraturan ini di peroleh berdasarkan pengalaman pembuatan desain. Menurut Shneiderman (2010, p88) Delapan Aturan Emas sebagai berikut:
11 1. Berusaha untuk konsisten
Konsisten pada aksi-aksi dalam situasi tertentu, konsistensi pada warna, tampilan huruf, dan sebagainya. 2. Memenuhi kegunaan yang universal
Menyadari kebutuhan dari berbagai user dan merancang designyang flexible serta memfasilitasi perubahan dari isi. 3. Umpan balik yang informatif
Untuk setiap aksi yang di lakukan pengguna terhadapa sistem, sistem harus memiliki umpan balik yang sopan dan jelas. 4. Membuat dialog untuk menghasilkan keadaan akhir
Urutan-urutan aksi di atur kedalam grup-grup dengan bagian awal, tengah dan akhir. Feedback pada saat akhir dari group aksi tersebut harus memuaskan pengguna. 5. Memberikan penanganan kesalahan yang sederhana
Jika Pengguna melakukan kesalahan, sistem harus dapat mendeteksinya dan memberikan instruksi sederhana dan membangun untuk perbaikan. 6. Mengizinkan pembalikan aksi
Sebanyak mungkin, semua aksi dapat dibalik. Fitur ini mengurangi kekhawatiran karena pengguna tahu kesalahan dapat diabaikan. 7. Mendukung pusat kendali internal
Pengguna yang berpengalaman menginginkan suatu perasaan bahwa mereka menguasai sistem dan sistem harus merespon keinginan mereka. 8. Mengurangi beban ingatan jangka pendek
Untuk mengatasi hal ini dapat dilakukan dengan mengurangi frekuensi window dan dengan waktu pelatihan yang cukup.
12 2.3.Produksi Produksi merupakan salah satu kegiatan yang berhubungan erat dengan kegiatan ekonomi. Melalui proses produksi bisa dihasilkan berbagai macam barang yang dibutuhkan oleh manusia. Tingkat produksi juga dijadikan sebagai patokan penilaian atas tingkat kesejahteraan suatu negara.Jadi tidak heran bila setiap negara berlomba - lomba meningkatkan hasil produksi secara global untuk meningkatkan pendapatan perkapitanya. 2.3.1 Keuntungan Produksi Kegiatan perusahaan sudah dapat dipastikan berorientasi pada keuntungan atau laba produksi.Dapat disimpulkan bahwa yang dimaksud dengan laba didalam usaha itu terdapat biaya yang dikeluarkan untuk proses penjualan selama periode tertentu. 2.4.Riset Operasi Menurut Hamdy A.Taha (2007,p1),Riset Operasi telah dimulai di Inggris selama perang dunia II, ketika sebuah tim ilmuwan Inggris berangkat untuk membuat keputusan berdasarkan ilmiah mengenai pemanfaatan terbaik dari bahan perang. Setelah perang, ide-ide maju dalam operasi militer diadaptasi efisiensi dan produktivitas disektor sipil. Dasar riset operasi, termasuk pemodelan matematika, solusi layak, optimasi, dan perhitungan berulang. 2.4.1
Jenis Riset Operasi Menurut Hamdy A.Taha(2007,p4) Ada berbagai jenis riset operasi yang
sudah berkembang antara lain sebagai berikut : a. Program Linear Riset Operasi paling menonjol adalah pemrograman linear.pemrograman linear dirancang untuk model dengan tujuan linear dan kendala fungsi.
13 b. Interger programming interger Programming di mana variabel mengasumsikan nilai interger. c. Pemrograman dinamis Pemrograman dinamis adalah model asli dapat didekomposisi menjadi submasalah yang lebih mudah dikelola. d. Program non Linear Pemrograman non linear di mana fungsi dari model ini adalah non linear. Ini hanya beberapadi antara banya kriset operasi yang tersedia. 2.5.
Linear Programming Linear Programming adalah suatu teknis matematika yang di rancang untuk
membantu manajer dalam merencanakan dan membuat keputusan dalam mengalokasikan
sumber
daya
yang
terbatas
untuk
mencapai
tujuan
perusahaan.Tujuan perusahaan pada umumnya adalah memaksimalisasi keuntungan, namun karena terbatasnya sumber daya, maka dapat juga perusahaan meminimalkan biaya (Pangalajo, 2009). Menurut Nasikh (2009), Linear programming (LP) merupakan suatu teknik yang didasarkan pada proses aljabar matrik yang dapat digunakan untuk memecahkan solusi optimal dari suatu aktivitas-aktivitas dengan keterbatasan sumber daya. Linear Programming memiliki empat cirri khusus yang melekat, yaitu (Pangalajo,2009): 1. Penyelesaian masalah mengarah pada pencapaian tujuan maksimisasi atau minimisasi. 2. Kendala yang ada membatasi tingkat pencapaian tujuan. 3. Ada beberapa alternatif penyelesaian.
14 4. Hubungan matematis bersifat Linear Secara teknis, ada lima syarat tambahan dari permasalahan Linear Programming yang harus diperhatikan yang merupakan asumsi dasar, yaitu (Pangalajo,2009): 1. Certainty (kepastian). Maksudnya adalah fungsi tujuan dan fungsi kendala sudah diketahui dengan pasti dan tidak berubah selama periode analisis. 2. Proportionality (proporsionalitas) Yaitu adanya proporsionalitas dalam fungsi tujuan dan fungsi kendala 3. Additivity (penambahan) Artinya aktivias total sama dengan penjumlahan aktivitas individu 4. Divisibility (bisa dibagi-bagi) Maksudnya solusi tidak harus merupakan bilangan integer (bilangan bulat), tetapi bisa juga berupa pecahan. 5. Non-negative variable (variabel tidak negatif) Artinya bahwa semua nilai jawaban atau variable tidak negatif. 2.5.1
Perumusan Model Linear Programming Untuk mendapatkan keputusan yang optimal dalam penyelesaian persoalan
dengan menggunakan teknik Linear programming, langkah pertama yang harus dilaksanakan adalah mengidentifikasikan masalah ke dalam bentuk matematis atau sering di sebut pembuatan model Linear programming. Langkah – langkah yangperlu dilakukan untuk merumuskan model Linear Programming tersebut adalah(Sri Mulyono, 2007, p14) 1. menentukan variabel yang tidak diketahui ( variabel keputusan ) dan nyatakan dalam simbol matematik.
15 2. Membentuk fungsi tujuan yang ditunjukkan sebagai suatu hubungan linear ( bukan perkalian) dari variabel keputusan. 3. Menentukan semua kendala masalah tersebut dan mengekspresikan dalam persamaan atau tidak persamaan yang juga merupakan hubungan linear dari variabel keputusan yang mencerminkan keterbatasan sumber daya masalah itu.
2.5.2
Bentuk Umum Linear Programming Pada setiap masalah, ditentukan variabel keputusan, fungsi tujuan, dan
sistem kendala, yang bersama-sama membentuk suatu model matematika dari dunia nyata. Menurut Sri Mulyono (2007) bentuk program linear adalah : Fungsi tujuan :
Dengan batasan :
Keterangan : Z:nilai fungsi tujuan. Cj:sumbangan per unit kegiatan, untuk masalah maksimisasi Cj :menunjukkan keuntungan atau penerimaan per unit, sementara dalam kasus minimisasi menunjukkan biaya per unit. Xj:banyaknya kegiatan j, dimana j = 1, 2, 3, ... n. berarti disini terdapat n variabel keputusan. aij: banyaknya sumberdaya i yang dikonsumsi sumberdaya j. bi: jumlah sumberdaya i (i = 1, 2, ..., m) .
16 2.6. Metode Simpleks Menurut Hamdy A Taha (2007) mengemukakan bahwa sebuah metode aljabar dapat memecahan setiap masalah pemrograman Linear. metode simpleks mencoba untuk bergerak dari satu titik sudut solusi ke titik sudut yang lebih baik sampai optimum ditemukan. Metode simpleks merupakan salah satu teknik penyelesaian dalam program linear yang digunakan sebagai teknik pengambilan keputusan dalam permasalahan yang berhubungan dengan pengalokasian sumberdaya secara optimal.Metode simpleks digunakan untuk mencari nilai optimal dari program linear yang melibatkan banyak constraint (pembatas) dan banyak variabel (lebih dari dua variabel). Penemuan metode ini merupakan lompatan besar dalam riset operasi dan digunakan sebagai prosedur penyelesaian dari setiap program komputer (Dian Wirdasari,2009) Beberapa Istilah yang digunakan dalam metode simpleks menurut lumbantoruan (2010) penjelasannya diantaranya sebagai berikut : 1.
iterasi adalah tahapan perhitungan dimana nilai dalam perhitungan itu tergantung dari nilai tabel sebelumnya.
2.
Variabel non basis adalah variabel yang nilainya diatur menjadi nol pada sembarang iterasi. Dalam terminologi umum, jumlah variabel non basis selalu sama dengan derajat bebas dalam sistem persamaan.
3.
Variabel basis merupakan variabel yang nilainya bukan nol pada sembarang iterasi. Pada solusi awal, variabel basis merupakan variabel slack (jika fungsi kendala merupakan pertidaksamaan ≤ ) atau variabel buatan (jika fungsi kendala menggunakan pertidaksamaan ≥ atau =). Secara umum, jumlah variabel basis selalu sama dengan jumlah fungsi pembatas (tanpa fungsi non negatif).
17 4.
Solusi atau nilai kanan merupakan nilai sumber daya pembatas yang masih tersedia. Pada solusi awal, nilai kanan atau solusi sama dengan jumlah sumber daya pembatas awal yang ada, karena aktivitas belumdilaksanakan.
5.
Variabel slack adalah variabel yang ditambahkan ke model matematik kendala untuk
mengkonversikan
pertidaksamaan
≤
menjadi
persamaan
(=).
Penambahan variabel ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel slack akan berfungsi sebagai variabel basis. 6.
Variabel surplus adalah variabel yang dikurangkan dari model matematik kendala untuk mengkonversikan pertidaksamaan ≥ menjadi persamaan (=). Penambahan ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel surplus tidak dapat berfungsi sebagai variabel basis.
7.
Variabel buatan adalah variabel yang ditambahkan ke model matematik kendala dengan bentuk ≥ atau = untuk difungsikan sebagai variabel basis awal. Penambahan variabel ini terjadi pada tahap inisialisasi. Variabel ini harus bernilai 0 pada solusi optimal, karena kenyataannya variabel ini tidak ada. Variabel hanya ada di atas kertas.
8.
Kolom
pivot
(kolom
kerja)
adalah
kolom
yang
memuat
variabel
masuk.Koefisien pada kolom ini akn menjadi pembagi nilai kanan untuk menentukan.baris pivot (baris kerja). 9.
Baris pivot (baris kerja) adalah salah satu baris dari antara variabel basis yang memuat variabel keluar.
10. Elemen pivot (elemen kerja) adalah elemen yang memuat variabel masuk. Koesien pada kolom ini akan menjadi pembagi nilai kanan untuk menentukan baris pivot (baris kerja).
18 11. Variabel masuk adalah variabel yang terpilih untuk menjadi variabel basis pada iterasi berikutnya. Variabel masuk dipilih satu diantara variabel non basis pada setiap iterasi. Variabel ini pada iterasi berikutnya akan bernilai positif. 12. Variabel keluar adalah variabel yang keluar dari variabel basis pada iterasi berikutnya dan digantikan oleh variabel masuk. Variabel keluar dipilih satu dari antara variabel basis pada setiap iterasi. Variabel ini pada iterasi berikutnya akan bernilai nol.
Menurut Indrayanti (2013) Metode simpleks mempunyai prosedur yang bersifat iterasi dan bergerak selangkah demi selangkah. Ada beberapa yang harus diperhatikan dalam menyelesaikan persoalan optimasi menggunakan metode simpleks yaitu: 1.Nilai kanan (NK) / Right hand slide (RHS) fungsi tujuan harus nol(0). 2.Nilai kanan(NK)/ Right Hand Slides (RHS) fungsi kendala harus positif apabila negative, nilai tersebut harus dikalikan -1. 3.Fungsi kendala dengan “≤” harus diubah ke bentuk “=” dengan menambahkan variable slack (surplus). Variable slack (surplus) disebut juga variable dasar. 4.Fungsi kendala dengan tanda “=” harus ditambah artificial variable (M). 5.Fungsi kendala dengan tanda “≥” diubah ke bentuk “≤” dengan cara mengalikan dengan -1, lalu diubah ke bentuk persamaan dengan ditambahkan variable slack. Kemudian karena Nilai Kanan (NK) / Right Hand Slides (RHS) negatif, dikalikan lagi dengan -1 dan ditambahkan artificial variable (M).
19 Contoh Kasus : PT Abc akan membuat Sepatu dan Sandal. Bahan membuat Sepatu adalah 2 kg kulit dan 4 kg plastik dan bahan membuat Sandal adalah 5 kg kulit dan 5 kg plastik. stok bahan untuk kulit kurang dari 500 dan stok bahan plastik adalah 1000 kg. Keuntungan yang diperoleh menjual Sepatu ada 5000 per produk dan menjual Sandal 6000 per produk.berapakah yang harus di produksi oleh PT Abc untuk mendapatkan laba maksimal? Penyelesaian Misalkan X1 = jumlah sepatu, X2 = jumlah Sandal, maka rumusan linear programming sebagai berikut : Fungsi Tujuan : max z = 5000X1 + 6000 X2 Pembatas :
2X1 + 4X2 ≤ 500 5X1 + 5X2 ≤ 1000
Dimana X1, X2 ≥ 0 Bentuk awal Linear Programming untuk masalah ini diatas adalah max z = - 5000 X1 - 6000 X2+ 0X3+ 0X4 = 0 dengan pembatas :
2 X1+ 4 X2 + X3 5 X1 + 5 X2
= 500 + X4
= 1000
tabel 2.1 merupakan Tabel awal simpleks untuk masalah diatas adalah :
20 Tabel 2.1 Tabel Awal simpleks VB
z
X1
X2
X3
X4
NK
Rasio
z
1
-5000
-6000
0
0
0
X3
0
2
4
1
0
500
500/4
X4
0
5
5
0
1
1000
1000/5
Pada Tabel 2.2 Karena nilai negatif terbesar ada pada kolom X2, maka kolom X2 adalah kolom pivot dan X2 adalah variable masuk. Rasio pembagian nilai kanan dengan kolom pivot terkecil ada 150 bersesuaian dengan baris X3 , maka baris X3, adalah baris pivot dan X3, adalah variable keluar. Elemen pivot adalah 4. Tabel 2.2 Tabel pemilihan Kolom Kunci Pada Iterasi Pertama VB
z
X1
X2
X3
X4
NK
Rasio
z
1
-5000
-6000
0
0
0
X3
0
2
4
1
0
500
500/4
X4
0
5
5
0
1
1000
1000/5
Pada Tabel 2.3 Nilai pertama yang dimiliki adalah nilai baris pivot baru(baris X3). Semua nilai pada baris X3 pada tabel solusi awal dibagi dengan 4 (elemen pivot). Tabel 2.3 Tabel Baris Pivot Baru VB
z
X1
X2
X3
X4
NK
0
1/2
1
1/4
0
500/4
z X3 X4
Rasio
21 Perhitungan nilai barisnya adalah sebagai berikut Rumus:Baris baru = baris lama – (koefisien pada kolom kunci) x nilai baru baris kunci Baris z : -5000
Nilai Baru
-6000
0
0
0
(-6000) 1/2
1
1/4
0
500/4
=
-2000
0
-1500
0
750000
5
5
0
1
1000
(5)
1/2
1
1/4
0
500/4
=
5/2
0
-5/4
1
375
-
Baris X4 :
Nilai Baru
-
Maka Hasil iterasi 1 ditunjukkan tabel 2.4.Selanjutnya, diperiksa apakah tabel sudah optimal atau belum.Karena nilai baris z di bawah variabel X1 masi negatif , maka tabel belum optimal. Kolom dan baris pivotnya ditandai pada tabel 2.4 Tabel 2.4 Penentuan Baris Dan Kolom Pivot Pada Iterasi Kedua VB
z
X1
X2
X3
X4
NK
Rasio
z
1
-2000
0
-1500
0
750000
750000
X2
0
1/2
1
1/4
0
500/4
500/4
X4
0
5/2
0
-5/4
1
375
375
Pada Tabel 2.4 Variabel masuk dengan demikian adalah X1 dan variabel keluar adalah X4. Maka Pada Tabel 2.5 Hasil perhitungan iterasi ke 2 adalah sebagai berikut
22 Tabel 2.5 Hasil Iterasi Kedua VB
z
X1
X2
X3
X4
NK
z
1
0
0
500
800
1050000
X1
0
0
1
1/2
-1/5
50
X2
0
1
0
-1/2
2/5
150
Rasio
Pada Tabel 2.5 Hasil Iterasi sudah optimal, sehingga perhitungan iterasi diberhentikan.Dari hasil perhitungan diatas maka dapat diperoleh:X1 = 50, X2 = 150, Zmaksimum = 1.050.000, artinya untuk mendapatkan keuntungan maksimal sebesar 1050.000 maka perusahaan sebaiknya menghasilkan produk 1 = 50unit dan produk 2 = 150. 2.7. PHP PHP atau Hypertext Preprocessor menurut Luke welling and Laura Thomson (2008, P. 2) adalah server-sidescripting bahasa pemograman yang dirancang khusus untuk Web. Dengan sebuah Halaman HTML yang dapat menanamkan kode PHP dan selanjutnya akan dieksekusi setiap kali halaman dikunjungi. Kode PHP tersebut disimpan pada server web dan menghasilkan berupa output HTML atau lainnya.
Menurut M.A. Muslim (2012) PHP (Personal Home Page) merupakan bahasa scripting yang open source dan digunakan untuk membuat situs website yang dinamis.