BAB 2 LANDASAN TEORI 2.1 Produksi Produksi adalah setiap usaha atau kegiatan untuk menambah kegunaan suatu barang atau menciptakan barang yang baru baik langsung maupun tidak langsung, yang dapat memenuhi kebutuhan manusia. Semua perusahaan menjalankan bisnisnya dengan memproduksi suatu barang atau menyediakan jasa. Khusus bagi perusahaan yang bergerak di sektor industri dan berbentuk pabrik, tentu proses produksi merupakan kegiatan utama dalam menjalani bisnisnya. Menurut McGuigan, Moyer, & Harris (2005, p296), fungsi produksi adalah sebuah model matematika, (tabel), atau graf yang berhubungan dengan kuantitas maksimum output yang dapat dikerjakan, yang dapat dihasilkan dari pemberian sejumlah input. Agar operasi bisnis sukses perlu diketahui kuantitas yang tepat, dan sumber daya manusia dengan substitusi optimal, juga input lainnya, seperti biaya produksi dan perubahan biaya produksi tersebut (Baye, 2009, p157). Semua industri sangat tergantung pada permintaan pasar terhadap produk yang diproduksi oleh industri tersebut. Bila permintaan lebih besar atau kurang dari produksi, maka untuk menghindari terjadinya kerugian perusahaan perlu memproduksi produk dengan jumlah yang dapat memenuhi jumlah yang diminta. Supply (persediaan) adalah jumlah barang atau jasa yang direncanakan produsen untuk dijual dengan harga tertentu pada waktu tertentu. (Stephen & Stuart, 2007, p32). Menurut Baye (2009, p236), faktor utama dalam pengendalian produksi adalah struktur pasar (market structure). Struktur pasar itu sendiri dapat didefinisikan sebagai faktor yang
7
mempengaruhi keputusan manajerial, termasuk jumlah perusahaan yang bersaing dalam satu pasar, ukuran perusahaan, teknologi, kesepakatan harga, permintaan, dan hubungan dengan perusahaan lain.Cost (harga) adalah jumlah keseluruhan yang dibayarkan untuk faktor-faktor produksi yang digunakan dalam suatu proses produksi. (Stephen & Stuart, 2007, p109). 2.2 Permintaan Baye (2009, p42), permintaan adalah ukuran seberapa banyak suatu produk akandibeli pada harga tertentu dengan memperhatikan produk yang berhubungan, tingkat income tertentu, dan nilai dari variabel lain yang mempengaruhi permintaan itu.Menurut Stephen & Stuart (2007, p24) permintaan adalah suatu kondisi dimana ada keinginan dan kemampuan konsumen untuk membeli suatu produk dengan harga tertentu dan pada waktu tertentu. Menurut McGuigan, Moyer, & Harris (2005, p76), permintaan adalah hubungan yang ada dalam periode tertentu antara jumlah barang atau jasa yang ingin dibeli oleh konsumen dengan kondisi-kondisi yang diberikan yang berpengaruh terhadap keinginan untuk membeli, seperti harga, pendapatan, pemasaran, dan lain-lain. Menurut Stephen & Stuart (2007, p124), Revenue (pendapatan) adalah jumlah penghasilan yang diperoleh dari penjualan barang atau jasa, yang dihitung dengan mengkalikan harga barang dengan jumlah barang yang terjual. Untuk memperkirakan permintaan pasar akan produk tertentu dapat dilihat dari variabel-variabel tak bebas (dependent variables) yang mendukung estimasi permintaan, seperti data penjualan atau pemasukan yang dihasilkan dari penjualan produk yang bersangkutan dalam rentang waktu tertentu.
8
Secara tidak langsung, total biaya pokok produksi suatu produk juga dapat mempengaruhi permintaan pasar akan produk yang bersangkutan. 2.3 Optimalisasi Menurut Nash & Sofer (1996, p3) optimalisasi adalah sarana untuk mengekspresikan model matematika yang bertujuan untuk memecahkan masalah dengan cara yang terbaik. Jikaoptimalisasi digunakan untuk tujuan bisnis, artinya memaksimalkan keuntungan dan efisiensi, serta meminimalkan kerugian, biaya, dan resiko. Optimalisasi merupakan penyelesaian masalah. Dalam bisnis, optimalisasi diistilahkan dengan Profit Maximization, yaitu suatu keadaan dimana terdapat selisih terbesar antara total pendapatan dengan total biaya yang dikeluarkan. (Stephen & Stuart, 2007, p127). 2.4 Linear Programming Linear Programming adalah model umum yang dapat digunakan dalam pemecahan masalah pengalokasian sumber-sumber terbatas secara optimal. Masalah tersebut timbul apabila seseorang diharuskan memilih atau menentukan tingkat setiap kegiatan yang akan dilakukannya, di mana masing-masing kegiatan membutuhkan sumber yang sama sedangkan jumlahnya terbatas. Bagian produksi suatu perusahaan umumnya dihadapkan pada masalah penentuan tingkat produksi masing-masing jenis produk dengan memperhatikan batasan faktor-faktor produksi dan permintaan untuk memperoleh keuntungan maksimal atau biaya yang minimal(Subagyo, 2000, p9).
9
Pada masa modern sekarang ini, Linear Programming masih menjadi pilihan dalam upaya untuk memperoleh tingkat keuntungan maksimal atau biaya yang minimal. Dalam memecahkan masalah di atas, Linear Programming menggunakan model matematis. Sebutan “linear” berarti bahwa semua fungsi matematis yang disajikan dalam model ini haruslah fungsi-fungsi linier. Dalam linear programming dikenal dua macam fungsi, yaitu fungsi tujuan yang menggambarkan tujuan atau sasaran di dalam permasalahan Linear Programming yang berkaitan dengan pengaturan secara optimal sumber daya-sumber daya, untuk memperoleh keuntungan yang maksimal dengan biaya yang minimal. Pada umumnya nilai yang akan dioptimalkan dinyatakan sebagai Z. Fungsi batasan merupakan batasanbatasan kapasitas yang tersedia yang akan dioptimalisasikan. Pada dasarnya, persoalan Linear Programming dapat dirumuskan sebagai berikut. Cari x1, x2, x3, …, xn Sedemikian rupa sehingga Z = c1x1 + c2x2 + … + cnxn = Optimum (Maksimum atau Minimum) dengan kendala a11x1 + a21x2 + … + am1xm
h1
a12x1 + a22x2 + … + am2xm
h2
a13x1 + a23x2 + … + am3xm
h3
… … am1x1 + am1x2 + … + amnxn x1, x2, x3, …, xn
0
hn
10
Keterangan : Ada n macam barang yang akan diproduksi masing-masing sebesar x1, x2, x3, …, xn. x1, x2, … = jumlah produksi barang tipe 1, 2, dan seterusnya. c1, c2, … = harga persatuan masing-masing jenis barang. h1, h2, … = nilai fungsi kendala 1, 2, dan seterusnya. a11, …
= koefisien fungsi kendala. Menurut Mulyono (1999, p22-23), asumsi-asumsi Linear Programming
dapat dirinci sebagai berikut. 1. Proportionality Asumsi ini berarti bahwa naik turunnya nilai Z dan penggunaan sumber atau fasilitas yang tersedia akan berubah secara sebanding (proporsional) dengan perubahan tingkat kegiatan. Z = c1x1 + c2x2 + c3x3 + … + cnxn a11x1 + a12x2 + a13x3 + … + amnxn
b1
Setiap penambahan unit akan menaikkan penggunaan sumber atau fasilitas 1 2. Additivity Asumsi ini berarti bahwa nilai tujuan (Z) tiap kegiatan dapat ditambahkan tanpa mempengaruhi bagian nilai Z yang diperoleh dari kegiatan lain. 3. Divisibility
11
Asumsi ini menyatakan bahwa keluaran yang dihasilkan oleh setiap kegiatan dapat berupa bilangan pecahan. Demikian pula dengan nilai Z yang dihasilkan. 4. Deterministic (certainty) Asumsi ini menyatakan bahwa semua parameter yang terdapat dalam model Linear Programming (aij, bi, cj) dapat diperkirakan dengan pasti. 2.5 Metode Simpleks Metode simpleks dirancang oleh George Dantzig pada tahun 1947 untuk menyelesaikan formulasi linear programming masalah pengiriman pasukan dan logistik pada Angkatan Udara Amerika Serikat (Ravindran, 2009, p6). Menurut Maros (2003, p19), metode simpleks adalah prosedur komputasi yang dibutuhkan yang membutuhkan penggunaan komputer. Hal ini sangat disetujui oleh Dantzig pada tahun 1988, di mana pertumbuhan kebutuhan akan solusi dari masalah seharihari linear programming telah menginspirasi perkembangan komputer secara signifikan pada tahun 1950an sampai awal 1960an. Dari cara pandang secara teori, metode simpleks tidak membutuhkan algoritma yang merupakan bentuk eksponensial. Maka jumlah iterasi yang dibutuhkan untuk menyelesaikan sebuah masalah terikat oleh sebuah fungsi eksponensial. Menurut Siringoringo (2005, p17), salah satu teknik penentuan solusi optimal yang digunakan dalam pemrograman linier adalah metode simpleks. Penentuan solusi optimal menggunakan metode simpleks didasarkan pada teknik eliminasi Gauss Jordan. Penentuan solusi optimal dilakukan dengan memeriksa titik ekstrim satu per satu dengan cara perhitungan iteratif. Sehingga penentuan solusi
12
optimal dengan simpleks ditentukan tahap demi tahap yang disebut dengan iterasi. Iterasi ke i hanya tergantung dari iterasi sebelumnya (i-1). Ada beberapa istilah yang sangat sering digunakan dalam metode simpleks sebagai berikut. 1. Kolom Kunci, yaitu kolom yang memiliki nilai negative terbesar. 2. Nilai kanan merupakan nilai sumber daya pembatas yang masih tersedia. 3. Nilai Indeks nilai hasil pembagian antara Nilai Kanan dengan angka pada kolom kunci, di setiap barisnya. 4. Baris Kunci adalah baris yang didapat pada nilai indeks positif yang terkecil. 5. Angka Kunci adalah angka pada perpotongan baris kunci dan kolom kunci. 6. Iterasi adalah proses optimalisasi yang dilakukan untuk mencapai solusi optimal dari permasalahan. 7. Fungsi tujuan adalah fungsi untuk menghitung optimalisasi hasil keuntungan setelah nilai variabel didapatkan melalui metode simpleks. 8. Fungsi kendala adalah fungsi batasan dari nilai yang ditentukan pada permasalahan. Sebelum melakukan perhitungan iteratif untuk menentukan solusi optimal, pertama sekali bentuk umum pemrograman linier diubah ke dalam bentuk persamaan dengan fungsi tujuan untuk maksimisasi dan fungsi-fungsi batasan (fungsi kendala). Lalu perhitungan dilakukan dengan iterasi hingga nilai koefisien pada fungsi tujuan tidak ada yang bernilai negatif.
13
Contoh kasus : Maksimumkan z = 2x1 + 3x2 dengan kendala-kendala : 10x1 + 5x2
600
6x1 + 20x2
600
8x1 + 15x2
600
x1 , x 2
0
Bentuk di atas juga merupakan bentuk umum. Perubahan ke dalam bentuk baku hanya membutuhkan variabel slack, karena semua fungsi kendala menggunakan bentuk pertidaksamaan
dalam bentuk umumnya. Maka bentuk
bakunya adalah sebagai berikut. Maksimumkan z = 2x1 + 3x2 + 0s1 + 0s2 + 0s3 dengan kendala-kendala : 10x1 + 5x2 + s1
600
6x1 + 20x2 + s2
600
8x1 + 15x2 + s3
600
x1, x2, s1, s2, s3
0
s1, s2, s3 merupakan variabel slack. A. Pembentukan Tabel Simpleks Dalam perhitungan iteratif, akan dikerjakan menggunakan tabel. Bentuk baku yang sudah diperoleh, harus dibuat ke dalam bentuk tabel. Semua variabel yang bukan variabel basis mempunyai solusi (nilai kanan) sama dengan nol dan koefisien variabel basis pada baris tujuan harus sama dengan nol. Oleh karena itu,
14
harus dibedakan pembentukan tabel awal berdasarkan variabel basis awal. Dalam sub-bab ini hanya akan diperhatikan fungsi kendala yang menggunakan variabel slack dalam bentuk bakunya, sedangkan yang menggunakan variabel buatan akan dibahas pada sub-bab lainnya. Digunakan kasus B di atas, maka tabel awal simpleksnya adalah sebagai berikut. Tabel 2.1 Tabel Awal Simpleks Sumber : Siringoringo, 2005, p20 VB
X1
X2
S1
S2
S3
solusi
Z
-2
-3
0
0
0
0
S1
10
5
1
0
0
600
S2
6
20
0
1
0
600
S3
8
15
0
0
1
600
B. Langkah-langkah Penyelesaian Langkah-langkah penyelesaian masalah dengan metode simpleks adalah sebagai berikut. 1. Periksa apakah tabel layak atau tidak. Kelayakan tabel simpleks dilihat dari solusi (nilai kanan). Jika solusi ada yang bernilai negatif, maka tabel tidak layak. Tabel yang tidak layak tidak dapat diteruskan untuk dioptimalkan. 2. Tentukan kolom pivot. Penentuan kolom pivot dilihat dari koefisien fungsi tujuan (nilai di sebelah kanan baris z) dan tergantung dari bentuk tujuan. Jika tujuan maksimisasi, maka kolom pivot adalah kolom dengan koefisien
15
paling negatif. Jika tujuan minimisasi, maka kolom pivot adalah kolom dengan koefisien positif terbesar. Jika kolom pivot ditandai dan ditarik ke atas, maka akan didapatkan variabel keluar. Jika nilai paling negatif (untuk tujuan maksimisasi) atau positif terbesar (untuk tujuan minimisasi) lebih dari satu, pilih salah satu secara sembarang. 3. Tentukan baris pivot. Baris pivot ditentukan setelah membagi nilai solusi dengan nilai kolom pivot yang bersesuaian (nilai yang terletak dalam satu baris). Dalam hal ini, nilai negatif dan 0 pada kolom pivot tidak diperhatikan, artinya tidak ikut menjadi pembagi. Baris pivot adalah baris dengan rasio pembagian terkecil. Jika baris pivot ditandai dan ditarik ke kiri, maka akan didapatkan variabel keluar. Jika rasio pembagian terkecil lebih dari satu, pilih salah satu secara sembarang. 4. Tentukan elemen pivot. Elemen pivot merupakan nilai yang terletak pada perpotongan kolom dan baris pivot. 5. Bentuk tabel simpleks baru. Tabel simpleks baru dibentuk dengan pertama sekali menghitung nilai baris pivot baru. Baris pivot baru adalah baris pivot lama dibagi dengan elemen pivot. Baris baru lainnya merupakan pengurangan nilai kolom pivot baris yang bersangkutan dikali baris pivot baru dalam satu kolom terhadap baris lamanya yang terletak pada kolom tersebut. 6. Periksa apakah tabel sudah optimal. Keoptimalan tabel dilihat dari koefisien fungsi tujuan (nilai pada baris z) dan tergantung dari bentuk tujuan. Untuk tujuan maksimisasi, tabel sudah optimal jika semua nilai pada baris z sudah positif atau 0. Pada tujuan minimisasi, tabel sudah optimal jika semua nilai
16
pada baris z sudah negatif atau 0. Jika belumkembali ke langkah no. 2, jika sudah optimal solusi optimalnya dapat dibaca. Penyelesaian kasus berikut ini menggunakan metode simpleks. Maksimum z = 8x1 + 9x2 + 4x3 dengan kendala-kendala : x1 + x2 + 2x3
2
2x1 + 3x2 + 4x3
3
7x1 + 6x2 + 2x3
8
x1 , x 2 , x3
0
C. Penyelesaian : Bentuk bakunya adalah sebagai berikut. Maksimum z = 8x1 + 9x2 + 4x3 + 0s1 + 0s2 + 0s3 atau z
8x1 9x2 4x3 + 0s1 + 0s2 + 0s3 = 0 dengan kendala-kendala :
x1 + x2 + 2x3 + s1
2
2x1 + 3x2 + 4x3 + s2
3
7x1 + 6x2 + 2x3 + s3
8
x1, x2, x3, s1, s2, s3
0
Solusi / tabel awal simpleks adalah sebagai berikut.
17
2.2 Tahap Awal Simpleks Sumber : Siringoringo, 2005, p21 VB
X1
X2
X3
S1
S2
S3
NK
Z
-8
-9
-4
0
0
0
0
S1
1
1
2
1
0
0
2
S2
2
3
4
0
1
0
3
S3
7
6
2
0
0
1
8
Rasio
Karena nilai negatif terbesar ada pada kolom X2, maka kolom X2 adalah kolom pivot dan X2 adalah variabel masuk. Rasio pembagian nilai kanan dengan kolom pivot terkecil adalah 1 bersesuaian dengan baris s2, maka baris s2 adalah baris pivot dan s2 adalah variabel keluar. Elemen pivot adalah 3.
18
Tabel 2.3 Penentuan Baris dan Kolom Pivot pada Iterasi Pertama Sumber : Siringoringo, 2005, p21 VB
X1
X2
X3
S1
S2
S3
NK
Z
-8
-9
-4
0
0
0
0
S1
1
1
2
1
0
0
2
2
S2
2
3
4
0
1
0
3
1
S3
7
6
2
0
0
1
8
8/6
Rasio
Nilai pertama yang dimiliki adalah nilai baris pivot baru (baris x2). Semua nilai pada baris s2 pada tabel solusi awal dibagi dengan 3 (elemen pivot). Tabel 2.4 Baris Pivot Baru Sumber : Siringorongo, 2005, p22 VB
X1
X2
X3
S1
S2
S3
NK
2/3
1
4/3
0
1/3
0
1
Z
S1
X2
S3
Rasio
19
Perhitungan nilai barisnya adalah sebagai berikut. Baris z : -8
-9
-4
0
0
0
0
-9
(2/3
1
4/3
0
1/3
0
1)
-2
0
8
0
3
0
9
1
1
2
1
0
0
2
(2/3
1
4/3
0
1/3
0
1)
0
2/3
1
-1/3
0
1
7
6
2
0
0
1
8
6
(2/3
1
4/3
0
1/3
0
1)
3
0
-6
0
-2
1
2
Baris s1 :
1
1/3 Baris s3 :
Maka tabel iterasi 1 ditunjukkan tabel di bawah. Selanjutnya, diperiksa apakah tabel sudah optimal atau belum. Karena nilai baris z di bawah variabel x1 masih negatif, maka tabel belum optimal. Kolom dan baris pivotnya ditandai pada tabel di bawah ini.
20
Tabel 2.5 Penentuan Baris dan Kolom Pivot pada Iterasi Kedua Sumber : Siringoringo, 2005, p22
VB
X1
X2
X3
S1
S2
S3
NK
Rasio
Z
-2
0
8
0
3
0
9
-
S1
1/3
0
2/3
1
-1/3
0
1
3
X2
2/3
1
4/3
0
1/3
0
1
3/2
S3
3
0
-6
0
-2
1
2
2/3
Variabel masuk dengan demikian adalah X1 dan variabel keluar adalah S3. Hasilperhitungan iterasi ke 2 adalah sebagai berikut. Tabel 2.6 Hasil Iterasi Kedua Sumber : Siringoringo, 2005, p22 VB
X1
X2
X3
S1
S2
S3
NK
Z
0
0
4
0
5/3
2/3
31/3
S1
0
0
4/3
1
-1/9
-1/9
7/9
X2
0
1
8/3
0
7/9
-2/9
5/9
X1
1
0
-2
0
-2/3
1/3
2/3
Rasio
21
Tabel sudah optimal, sehingga perhitungan iterasi dihentikan. Perhitungan dalam simpleks menuntut ketelitian tinggi, khususnya jika angka yang digunakan adalah pecahan. Pembulatan harus diperhatikan dengan baik. Disarankan jangan menggunakan bentuk bilangan desimal, akan lebih teliti jika menggunakan bilangan pecahan. Pembulatan dapat menyebeabkan iterasi lebih panjang atau bahkan tidak selesai karena ketidak telitian dalam melakukan pembulatan.
Perhitungan iteratif dalam simpleks pada dasarnya merupakan
pemeriksaan satu per satu titik-titik ekstrim layak pada daerah penyelesaian. Pemeriksaan dimulai dari kondisi nol (di mana semua aktivitas/variabel keputusan bernilai nol). Jika titik ekstrim berjumlah n, kemungkinan terburuknya akan dilakukan perhitungan iteratif sebanyak n kali. D. Membaca Tabel Optimal Membaca tabel optimal adalah bagian penting bagi pengambil keputusan. Ada beberapa hal yang dapat dibaca dari tabel optimal : 1. Solusi optimal variabel keputusan, 2. status sumber daya, 3. harga bayangan (dual/shadow prices). Dari hasil iterasi kedua maka diketahui bahwa hasil sudah optimal, maka digunakan tabel optimal sebagai berikut :
22
Tabel 2.7 Hasil Solusi Optimal Sumber : Siringoringo, 2005, p23
VB
X1
X2
X3
S1
S2
S3
NK
Z
0
0
4
0
5/3
2/3
31/3
S1
0
0
4/3
1
-1/9
-1/9
7/9
X2
0
1
8/3
0
7/9
-2/9
5/9
X1
1
0
-2
0
-2/3
1/3
2/3
Solusi Optimal X1 = 2/3, X2 = 5/9, X3 = 0 dan Z = 31/3, artinya untuk mendapatkan keuntungan maksimum sebesar $ 31/3, maka perusahaan sebaiknya menghasilkan produk 1 sebesar 2/3 unit dan produk 2 sebesar 5/9 unit. 2.6 Rekayasa Perangkat Lunak 2.6.1
Pengertian Perangkat Lunak Menurut Pressman (2002, p10), perangkat lunak adalah : a. Perintah-perintah dalam suatu program komputer yang jika dijalankan akan memberikan fungsi dan hasil yang diinginkan. b. Struktur-struktur data yang membuat program dapat memanipulasi data. c. Dokumen yang menggambarkan operasi dan penggunaan program.
23
2.6.2
Pengertian Rekayasa Perangkat Lunak Menurut Pressman (2002, p28), rekayasa perangkat lunak adalah “Pengembangan dan penggunaan prinsip rekayasa untuk memperoleh perangkat lunak secara ekonomis yang reliable dan bekerja secara efisien pada mesin.Tujuan Rekayasa Perangkat Lunak adalah :
a. Memperoleh biaya produksi perangkat lunak yang rendah. b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu. c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform. d. Menghasilkan perangkat lunak yang biaya perawatannya rendah. 2.6.3
Model Proses Perangkat Lunak Menurut Pressman (2002, p36) salah satu model proses perangkat
lunak yang sering digunakan adalah linear sequential model. Model ini sering diebut waterfall model. merupakan model yang paling banyak dipakai dalam Software Engineering (SE). Model ini melakukan pendekatan pada pengembangan perangkat lunak yang sistematis dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Secara umum menurut Pressman (2002, p37), tahapan pada model waterfall adalah sebagai berikut :
24
System Engineering
Analysis Design Coding Testing Maintenance
Gambar 2.1 Waterfall Model
a. Software requirement analysis (analisis kebutuhan perangkat lunak). pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada software. Untuk mengetahui sifat dari program yang akan dibangun, maka para software engineer harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka yang diperlukan. b. Design (desain). Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda ; struktur data, arsitektur perangkat lunak, representasi antarmuka dan detail (algoritma) prosedural. Proses desain menerjemahkan syarat atau kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum proses pengkodean dimulai. c. Coding (pengkodean). yang telah dibuat harus diterjemahkan ke dalam bentuk yang dapat dibaca oleh mesin yaitu berupa coding komputer.
25
d. Testing or Verification (pengujian). Setelah pengkodean, maka pengujian program dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil yang aktual yang sesuai dengan hasil yang dibutuhkan. e. Maintenance (pemeliharaan). Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pemakai. Perubahan akan terjadi jika terdapat kesalahan di dalam sistem atau adanya perubahan lingkungan perangkat lunak, seperti perubahan perangkat keras atau sistem operasi, atau untuk meningkatkan fungsi dan kinerja dari perangkat lunak itu sendiri. 2.7 Interaksi Manusia dan Komputer Interaksi Manusia dan Komputer (Galitz, 2007) adalah suatu ilmu yang mempelajari perencanaan dan desain tentang cara manusia dan komputer saling bekerja sama, sehingga manusia dapat merasa puas dengan cara yang paling efektif. Dikatakan juga bahwa sebuah desain antarmuka yang ideal adalah yang mampu memberikan kepuasan terhadap manusia sebagai pengguna dengan faktor kapabilitas serta keterbatasan yang terdapat dalam sistem. Menurut Shneiderman (2003, p74-75), dalam perancangan sebuah interface terdapat aturan-aturan yang telah dikenal dengan Eight Golden Rules of Interface Design (delapan aturan emas), yaitu :
26
1. Berusaha keras untuk konsisten (strive for consistency). Konsisten ini adalah konsisten dalam penggunaan bentuk dan ukuran font, pemberian warna pada latar belakang dan tulisan, pembuatan layout. 2. Memungkinkan pengguna menggunakan shortcut sesering mungkin (enable frequent users to use shortcuts). Pengurangan jumlah interaksi melalui fasilitas shortcuts memberikan manfaat bagi pengguna dalam memberikan waktu respon dan waktu tampilan yang cepat. 2.
Memberikan umpan balik yang informatif (offer informative feedback). Untuk setiap tindakan yang dilakukan oleh user, harus diberikan umpan balik (feed back). Umpan balik bisa berupa tampilan atau suara sehingga pengguna mengetahui bahwa perangkat lunak tersebut memberikan respons.
3.
Merancang dialog untuk menghasilkan keadaan akhir (design dialogs to yield closure). Urutan dari tindakan harus diatur ke dalam suatu kelompok yang memiliki bagian awal, bagian tengah, dan bagian akhir. Umpan balik yang informatif dalam penyelesaian tindakan-tindakan akan memberikan kepuasan bagi pemakai.
4.
Memberikan penanganan kesalahan yang sederhana (offer error prevention and simple error handling). Dalam mendesain, sebisa mungkin diberikan error prevention, contohnya pada menu untuk memasukkan nama, user tidak diperbolehkan untuk memasukkan angka. Jika user melakukan kesalahan, sistem harus dapat
27
mendeteksi kesalahan tersebut dan menampilkan kesalahan si pengguna dan memberikan contoh penggunaan yang benar secara sederhana. 5.
Mengizinkan pembalikan aksi dengan mudah (permit easy reversal of actions). Dalam melakukan desain, sebisa mungkin diberikan undo. Hal ini akan memudahkan user jika melakukan kesalahan yang tidak disengaja ketika sedang mengerjakan sesuatu.
6.
Menyediakan kendali internal bagi user (support internal locus of control). Sistem harus dirancang supaya user merasa menguasai sistem dan sistem akan memberi respon atas tindakan yang diberikan.
7.
Mengurangi muatan memory jangka pendek (reduce short-term memory load). Manusia mempunyai keterbatasan dalam mengingat sehingga memerlukan tampilan sederhana, tampilan halaman-halaman dapat digabungkan, dan pergerakan Windows dapat dikurangi.
Suatu program yang interaktif dan baik harus bersifat user friendly. Lima kriteria yang harus dipenuhi oleh suatu program yang user friendly yaitu (Galitz, 2007, p64) 1. Dapat dipelajari : seberapa mudah pengguna pertama kali mengerjakan tugastugas dasar ? 2. Efisiensi kecepatan kinerja : seberapa cepat pengguna dapat melakukan tugas ? 3. Kesalahan : berapa banyak kesalahan yang pengguna buat, seberapa parah pengguna salah, dan seberapa mudah pengguna dapat memperbaiki kesalahan ?
28
4. Dapat diingat ketika pengguna kembali menggunakan desain setelah beberapa waktu tidak Menggunakan, seberapa mudah pengguna dapat menggunakan kembali desain tersebut ? 5. Kepuasan : bagaimana kepuasan pengguna dalam menggunakan desain ?
Tujuan rekayasa sistem interaksi manusia dan komputer (Shneiderman, 2003, p9-14) yaitu : a. Fungsionalitas yang sesuai. Sistem dengan fungsionalitas yang kurang memadai mengecewakan pemakai dan sering ditolak atau tidak digunakan. Sedangkan sistem dengan fungsionalitas yang berlebihan berbahaya dalam implementasi, pemeliharaan, proses belajar dan penggunaan yang sulit. b. Kehandalan, Ketersediaan, Keamanan, dan Integritas data. Kehandalan berfungsi seperti yang diinginkan, tampilan akurat. Ketersediaan berarti tersedia ketika hendak digunakan dan jarang mengalami masalah. Keamanan berarti terlindung dari akses yang tidak diinginkan. Integritas data adalah keutuhan data yang terjamin, tidak mudah dirusak atau diubah oleh orang. c. Standarisasi, Integrasi, Konsistensi dan Portabilitas. Standarisasi adalah keseragaman sifat-sifat antar muka pemakai pada aplikasi yang berbeda. Integrasi adalah keterpaduan dari berbagai paket aplikasi dan peralatan perangkat lunak. Konsistensi adalah keseragaman dalam satu program aplikasi, seperti urutan perintah, istilah, satuan, warna, tipografi. Portabilitas berarti
dimungkinkannya
data
dikonversi
dan
dipindahkan,
dan
29
dimungkinkannya antar muka pemakai dipakai di berbagai lingkungan perangkat lunak dan perangkat keras. d. Penjadwalan dan anggaran. Perencanaan yang hati-hati dan manajemen yang berani diperlukan karena adanya persaingan sehingga proyek harus sesuai jadwal dan anggaran, sistem yang tepat pada waktunya (real time), serta murah agar dapat diterima.