BAB 2 LANDASAN TEORI 2.1. System Development Life Cycle (SDLC) System Development Life Cycle (SDLC) dapat dianggap sebagai kerangka kerja formal tertua metodologi untuk membangun sistem informasi. Ide utama dari SDLC adalah “untuk mengejar pengembangan sistem informasi dalam cara yang terstruktur dan metodis, yang mengharuskan tahap life cycle dari mulai ide awal sampai pada pengiriman tahap final sistem, untuk dilaksanakan secara beraturan”. Salah satu tipe SDLC yang paling awal dan paling banyak digunakan adalah metode Waterfall. (Sukamto, Rosa Ariani, 2009). Waterfall method sering dianggap sebagai pendekatan klasik dengan siklus hidup pengembangan sistem. Pembangunan dengan metode Waterfall memiliki tujuan yang berbeda untuk setiap fase pembangunan. Setelah fase pembangunan selesai, hasil pengembangan ke tahap berikutnya dan tidak ada jalan kembali. Keuntungan dari pembangunan air terjun adalah bahwa hal itu memungkinkan untuk departmentalization dan kontrol manajerial. Sebuah jadwal bisa diatur dengan tenggat waktu untuk setiap tahap pengembangan dan produk dapat dilanjutkan melalui proses pengembangan seperti mobil di carwash, dan secara teoritis, akan dikirimkan tepat waktu. Kerugian dari pembangunan air terjun adalah bahwa hal itu tidak memungkinkan untuk banyak refleksi atau revisi. Setelah aplikasi adalah dalam tahap pengujian, sangat sulit untuk kembali dan mengubah sesuatu yang tidak dipikirkan baik-dalam tahap konsep. Alternatif untuk model air terjun termasuk pengembangan aplikasi bersama (JAD), pengembangan aplikasi cepat (RAD), selaras dan menstabilkan, membangun dan memperbaiki, dan model spiral. Tahapan-tahapan pada metode Waterfall: 1. Requirement Analysis Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.
6
7
2. System Design Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan. 3. Implementation Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum. 4. Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak. 5. Operation & Maintenance Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru.
Gambar 2.1 Waterfall Method
8
2.2. Unified Modelling Language (UML) Pada sub bab ini akan dibahas mengenai pengertian UML dan komponenkomponen UML. 2.2.1. Pengertian UML UML yang merupakan singkatan dari Unified Modelling Language adalah sekumpulan pemodelan konvensi yang digunakan untuk menentukan atau menggambarkan sebuah sistem perangkat lunak dalam kaitannya dengan objek. (Whitten, 2004, p430). UML dapat juga diartikan sebuah bahasa grafik standar yang digunakan untuk memodelkan perangkat
lunak berbasis objek. UML pertama kali
dikembangkan pada pertengahaan tahun 1990an dengan kerjasama antara James Rumbaugh, Grady Booch dan Ivar Jacobson, yang masing-masing telah mengembangkan notasi mereka sendiri di awal tahun 1990an. (Lethbride dan Leganiere, 2002, p151). 2.2.2. Komponen-komponen UML UML mendefinisikan diagram-diagram berikut ini: a. Use case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara actor dengan sistem. b. Activity Diagram 1) Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. 2) Activity diagram merupakan state diagram khusus, yang sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu, activity diagram tidak menggambarkan perilaku internal sebuah sistem dan interaksi antar
9 subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. c. Class Diagram 1) Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). 2) Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. UML terdiri dari diagram-diagram, dimana setiap diagram di dalam UML memperlihatkan sistem dari berbagai sudut pandang yang berbeda. a. Use Case Diagram Use case (Schmuller, 1999, p10), adalah sebuah gambaran dari fungsi system yang dipandang dari sudut pandang pemakai. Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. (Whitten, 2004, p258). System boundary menunjukkan cakupan dari sistem yang dibuat dan fungsi dari sistem tersebut. Berikut ini merupakan gambar dari tiga komponen sistem dalam use case diagram:
Gambar 2.2 Komponen-komponen use case
Jenis-jenis Use Case Relationships (Rambaugh, 1999, p65) antara lain : 1) Association Garis yang menghubungkan antara actor dengan use case. 2) Extend Menghubungkan antara dua atau lebih use case yang merupakan tambahan dari base use case yang biasanya untuk mengatasi kasus pengecualian.
10 3) Generalization Hubungan antara use case umum dengan use case yang lebih khusus. 4) Include Menghubungkan antara 2 atau lebih use case untuk menunjukkan use case tersebut merupakan bagian dari base use case.
Gambar 2.3 Use case diagram
b. Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan prosesproses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan
11 proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
Tabel 2.1 Tabel Simbol Activity Diagram Simbol
Nama Initial Activity
Keterangan sebagai awal dari aktivitas modul sistem aplikasi.
Activity
menunjukkan
aktivitas
yang
dilakukan. Final Activity
menunjukkan akhir dari aktivitas.
Decisions
menunjukkan aktivitas yang harus dipilih apakah pilihan pertama atau kedua.
Signal
sebagai pengirim dan penerima pesan dari aktivitas yang terjadi. Sinyal terdiri dari sinyal penerima yang poligon
digambarkan terbuka
pengirim digambarkan
dan
dengan dengan
dengan sinyal yang convex
poligon. Concurrent
menggambarkan atktivitas yang
Activities
dilakukan bersamaan atau paralel.
12 c. Class Diagram Kelas
(Schmuller,
1999,
p8)
adalah
sebuah
kategori
atau
pengelompokan dari hal-hal yang mempunyai atribut dan fungsi yang sama. Class diagram (Rumbaugh, 1999, p190) adalah sebuah grafik presentasi dari gambaran statis yang menunjukkan sekumpulan model elemen yang terdeklarasi (statis), seperti kelas, tipe dan isinya serta hubungannya. Sebuah class diagram terdiri dari sejumlah kelas yang dihubungkan dengan garis yang menunjukkan hubungan antar kelas yang disebut dengan Associations (Rambaugh, 1999, p47). Contoh Class diagram dapat dilihat pada Gambar 2.1 (Sonnemans, 2003, p1). Jenis-jenis Associations (Rambaugh, 1999, pp49-53) yaitu : 1) Aggregation Associations yang menggambarkan hubungan antar kelas di mana kelas yang satu merupakan bagian dari kelas yang lainnya. 2) Composition Associations yang menggambarkan hubungan erat antar kelas di mana kelas composite mempunyai segala tanggung jawab untuk mengatur kelas lainnya dan kedua kelas mempunyai lifetime yang sama. 3) Bidirectionality Associations yang menghubungkan antara dua kelas atau lebih yang berbeda object tapi tidak bergantung satu sama lainnya, sehingga apabila salah satu kelas dihilangkan, kelas yang lain dapat tetap digunakan. 4) Generalization Associations yang menghubungkan dua kelas atau lebih untuk membedakan antara kelas yang umum dengan kelas yang khusus. 5) Inheritance Associations yang menghubungkan dua kelas atau lebih yang dapat menurunkan properties seperti attributes, operations antara kelas induk dengan kelas anak.
13
k Gambar 2.4 Class diagram
2.3. Teori Himpunan Fuzzy dan Bilangan Fuzzy Teori Himpunan Fuzzy (Fuzzy Sets Theory) diperkenalkan oleh Zadeh (1965) untuk mengatasi berbagai masalah ambiguitas dan kesamaran pada deskripsi suatu objek. Istilah “Fuzzy” mengacu kepada situasi dimana batas-batas yang membedakan antara kelas objek tidak terdefinisikan dengan jelas (Aydin & Kahraman, 2010, p.556). Pada kasus MCDM pembuat keputusan pada umumnya tidak mempunyai cukup data untuk melakukan analisis keputusan dengan banyak kriteria. Karena itu pembuat keputusan biasanya bergantung kepada pengetahuan ahli dan penilaian terhadap kriteria-kriteria yang tersaji secara impresisi. Teori Himpunan Fuzzy dapat digunakan untuk mengatasi aspek-aspek ambiguitas dan kesamaran pada kriteria-kriteria, yang untuk selanjutnya teori ini dapat dipergunakan untuk memperoleh data kuantitatif dari kriteria-kriteria supplier pada kondisi impresisi, vague dan tidak pasti. Teori Himpunan Fuzzy merupakan perluasan dari teori himpunan “crisp” yang konvensional, dimana batas keanggotaan dari tiap elemen dalam masing-masing himpunan adalah jelas (“crisp”), yaitu menjadi anggota atau tidak menjadi anggota. Permasalahan dalam mengevaluasi supplier selalu berkaitan erat dengan pemilihan supplier yang tepat, dengan alokasi kuotanya yang berbeda-beda. Satu kesalahan dalam pemilihan supplier dapat menjadi suatu hal yang nantinya
14 mengacaukan rencana yang sudah ada bahkan dapat membuat perusahaan dapat berhenti beroperasi untuk sementara waktu. Terdapat beberapa kriteria dalam melakukan evaluasi supplier antara lain kualitas, delivery, performa, garansi, cost, technical capabilities, dsb. Permasalahan tersebut merupakan permasalahan yang harus diselesaikan dengan baik. Dalam penelitian ini digunakan model hibrida Fuzzy-AHP dan Multi-Objective Linear Programming (MOLP) untuk menyelesaikan permasalahan MCDM pada pemilihan dan evaluasi supplier pada perusahaan manufaktur. Himpunan Fuzzy adalah kelas objek-objek dengan tingkat keanggotaan yang continuum, didefinisikan secara matematis dengan fungsi keanggotaan µ(x), yang menandakan keanggotaan masing-masing elemen x dalam koleksi X yang diasosiasikan dengan bilangan riil continuum dalam interval [0,1]. Suatu Himpunan Fuzzy à secara matematis dapat dinotasikan sebagai berikut : à = {(x, µ(x)), x ∈ X} dimana X adalah koleksi objek yang terdiri dari elemen-elemen x dan didefiniskan keanggotaanya melalui fungsi keanggotaan µ(x). Pada dasarnya ada dua cara mendefinisikan keanggotaan dari Himpunan Fuzzy, yaitu secara fungsional dan numeris. Definisi fungsional menyatakan derajat keanggotaan sebagai batasan ekspresi analitis yang dapat dihitung. Definisi numeris menyatakan fungsi derajat keanggotaan sebagai vektor jumlah yang tergantung pada tingkat diskretisasi. Salah satu cara untuk mendefinisikan keanggotaan suatu Himpunan Fuzzy, selain secara fungsional juga dapat ditempuh secara numeris. Hal kedua ini dimaksudkan untuk mengefektifkan proses komputasi. Dalam komputasi numeris pada himpunan fuzzy, Bilangan Fuzzy (Fuzzy Numbers) biasanya dilibatkan untuk mempermudah kalkulasi, seperti Triangular Fuzzy Number, Trapezoidal Fuzzy Number dan L-R Fuzzy Numbers. Bilangan fuzzy adalah himpunan fuzzy khusus yang dapat dinotasikan sebagai F = {(x, µ(x)), x ∈ ℜ, dimana ℜ : −∞ < x < +∞ dan fungsi keanggotaan µ(x): ℜ[0,1] dimana x menyatakan alternatif supplier.
15
x Gambar 2.5. Grafik Fungsi Keanggotaan pada Triangular Fuzzy Number Sumber : Mohaghar et al, 2013, p. 75 Dalam penelitian ini untuk kalkulasi numerisnya digunakan definisi Bilangan Fuzzy Segitiga (Triangular Fuzzy Number). Alasan utama menggunakan bilangan fuzzy segitiga adalah lebih intuitif dan representasi numerisnya yang dapat dikomputasi dengan lebih efisien. Bilangan Fuzzy Segitiga didefiniskan dengan triplet (a, b, c) sebagaimana diilustrasikan pada Gambar II.1. Fungsi keanggotaan didefinisikan dengan :
Operasi aritmetika dasar pada bilangan fuzzy segitiga A1 = (a1, b1, c1) dengan a1 ≤ b1 ≤ c1, dan A2 = (a2, b2, c2) dengan a2 ≤ b2 ≤ c2, adalah sebagai berikut : •
Penjumlahan : A1 ⊕ A2 = (a1+a2, b1+b2, c1+c2)
•
Pengurangan : A1 ⊝ A2 = (a1–c2, b1–b2, c1–a2)
•
Perkalian
: Jika k skalar maka, k ⊗ A1 = A1 ⊗ A2 ≈ (a1a2, b1b2, c1c2),
•
Pembagian
jika a1 ≥ 0, a2 ≥ 0
: A1 ∅ A2 ≈ (a1/c2 , b1/b2 , c1/a2) ,
jika a1 ≥ 0, a2 ≥ 0
Sekalipun operasi perkalian dan pembagian pada bilangan fuzzy segitiga tidak mesti menghasilkan bilangan fuzzy segitiga, pendekatan ini dapat digunakan dalam beberapa aplikasi praktis seperti mengkuantifikasi informasi yang vague pada masalah pembuatan keputusan pemilihan supplier.
16 2.4. Analytic Hierarchy Process (AHP) Analytic Hierarchy Process (AHP) yang dikembangkan oleh Saaty (1980) merupakan suatu metode dalam pemilihan alternatif-alternatif dengan melakukan penilaian komparatif berpasangan sederhana yang digunakan untuk mengembangkan prioritas-prioritas secara keseluruhan berdasarkan ranking. AHP adalah prosedur yang berbasis matematis yang sangat baik dan sesuai untuk evaluasi atribut-atribut kualitatif. Atribut-atribut tersebut secara matematik dikuantifikasi dalam satu set perbandingan berpasangan, yang kemudian digunakan untuk mengembangkan prioritas-prioritas secara keseluruhan untuk penyusunan alternatif-alternatif pada urutan ranking / prioritas (Asamoah et al, 2012, p. 49). Kelebihan AHP dibandingkan dengan metode yang lainnya karena adanya struktur yang berhirarki, sebagai konsekuensi dari kriteria yang dipilih, sampai kepada sub-sub kriteria yang paling mendetail. Memperhitungkan validitas sampai dengan batas toleransi
inkonsistensi
berbagai
kriteria
dan
alternatif
yang
dipilih oleh para pengambil keputusan (Saaty, 1990). Karena menggunakan input persepsi manusia, model ini dapat mengolah data yang bersifat kualitatif maupun kuantitatif. Jadi kompleksitas permasalahan yang ada di sekitar kita dapat didekati dengan baik oleh model AHP ini. Selain itu AHP mempunyai kemampuan untuk memecahkan masalah yang multi-objektif dan multi- kriteria yang didasarkan pada perbandingan preferensi dari setiap elemen dalam hierarki. Jadi model ini merupakan suatu model pengambilan keputusan yang komperehensif. Menurut Saaty (1990), ada tiga prinsip dalam memecahkan persoalan dengan AHP, yaitu prinsip menyusun hirarki (decomposition), prinsip menentukan prioritas (comparative
Judgement),
dan
prinsip konsistensi logis (logical
consistency). Hirarki yang dimaksud adalah hirarki dari permasalahan yang akan dipecahkan untuk mempertimbangkan kriteria-kriteria atau komponen-komponen yang mendukung pencapaian tujuan. Menurut Mulyono (2007 : p. 220) prinsip yang harus dipahami dalam menyelesaikan persoalan dengan AHP, diantaranya adalah : decomposition, comparative judgement, synthesis of priority dan logical consistency.
17 2.4.1. Decomposition Setelah persoalan didefinisikan, maka perlu dilakukan decomposition yaitu memecah persoalan yang utuh menjadi unsur-unsurnya. Jika ingin mendapatkan hasil yang akurat, pemecahan juga dilakukan terhadap unsur-unsurnya sampai tidak mungkin dilakukan pemecahan lebih lanjut, sehingga didapatkan beberapa tingkatan dari persoalan tadi. Karena alasan ini, maka proses analisis ini dinamakan hirarki (hierarchy). Ada dua jenis hirarki yaitu hirarki lengkap dan tak lengkap. Dalam hirarki lengkap, semua elemen pada suatu tingkat memiliki semua elemen yang ada pada tingkat berikutnya. Jika tidak demikian, maka dinamakan hirarki tak lengkap. 2.4.2. Comparative Judgement Prinsip ini berarti membuat penilaian tentang kepentingan relatif dua elemen pada suatu tingkat tertentu dalam kaitannya dengan tingkat yang berada di atasnya. Penilaian ini merupakan inti dari AHP, karena ia akan berpengaruh terhadap prioritas elemen-elemen. Hasil dari penilaian ini akan tampak lebih baik bila disajikan dalam bentuk matriks yang dinamakan matriks perbandingan berpasangan ( pairwise comparison). Dalam penilaian kepentingan relatif dua elemen berlaku aksioma reciprocal artinya jika elemen i dinilai 3 kali lebih penting daripada elemen j, maka elemen j harus sama dengan 1/3 kali pentingnya dibanding elemen i. Di samping itu perbandingan dua elemen yang sama akan menghasilkan angka 1, artinya sama pentingnya. 2.4.3. Synthesis of Priority Dari setiap pairwise comparison kemudian dicari eigen vector-nya untuk mendapatkan local priority. Karena matriks pairwise comparison terdapat pada setiap tingkat, maka untuk mendapatkan global priority harus dilakukan sintesa diantara local priority. Prosedur melakukan sintesis berbeda menurut bentuk hirarki. Pengurutan elemen-elemen menurut kepentingan relatif melalui prosedur sintesa dinamakan priority setting. 2.2.4. Logical Consistency Konsistensi memiliki dua makna. Pertama adalah bahwa objek-objek yang serupa dapat dikelompokkan sesuai dengan keseragaman dan relevansi. Kedua adalah menyangkut tingkat hubungan antara objek-objek yang didasarkan pada kriteria tertentu.
18 2.5. Fuzzy-AHP Dalam metode AHP klasik, nilai-nilai numeris dari variabel linguistik digunakan secara langsung untuk mengevaluasi kriteria. Jika proses pengambilan keputusan berada dalam lingkungan fuzzy, maka bilangan fuzzy digunakan untuk evaluasi dengan memperhatikan beberapa deviasi dari pembuat keputusan (Aktepe & Ersoz, 2011, p. 33). Menurut Yang et al (2004, p. 544-545), untuk menyederhanakan proses fuzzy AHP untuk industri dari sudut pandang kemudahan praktis, diusulkan fuzzy AHP berdasarkan pada fuzzy interval aritmatika dengan Triangular Fuzzy Number (TFN). Menurut Rahardjo et al (2002, p. 83), pada penilaian kriteria pengambil keputusan diminta memberikan suatu rangkaian penilaian terhadap alternatif x yang ada dalam bentuk TFN, yang disusun berdasarkan variabel linguistik. Dimana l adalah nilai terendah atau batas bawah, u nilai tertinggi atau batas atas dan m adalah nilai tengah. Desain model fuzzy-AHP untuk pemilihan supplier dalam SCM melibatkan 6 langkah esensial (Aktepe & Ersoz, 2011, p. 35), yaitu : (1) Mendefiniskan masalah dan menyatakan tujuan dan hasil secara jelas; (2) Dekomposisi permasalahan kompleks ke dalam struktur hirarki dengan elemen-elemen keputusan (kriteria dan alternatif); (3) Membuat perbandingan berpasangan diantara elemen-elemen keputusan dan membuat PCM dengan bilangan fuzzy; (4) Menggunakan metode analisis lanjut untuk mengestimasi bobot relatif pada elemen-elemen keputusan (proses defuzzifikasi), yaitu dengan menggunakan langkah-langkah dari Chang (1996), sebagai berikut : Langkah 1 : Nilai sintetik fuzzy diperluas dengan mengacu kepada objek ke-i yang didefiniskan sebagai berikut :
dimana : i = baris j = kolom n = jumlah baris m = jumlah kolom
19 M = nilai matrik fuzzy lj = nilai bawah fuzzy mj = nilai tengah fuzzy uj = nilai atas fuzzy
dan
Kemudian hitung invers vektor di atas, sedemikian sehingga :
Langkah 2 : Diperoleh dua buah bilangan fuzzy segitiga yaitu : m1, u1) dan ≥
1
2
= (l2, m2, u2), dengan degree of possibility
2
1
= (l1,
= (l2, m2, u2)
= (l1, m1, u1) yang didefiniskan dengan :
dan secara ekuivalen dapat juga dinyatakan sebagai berikut :
Berdasarkan Teori Himpunan Fuzzy, representasi bilangan fuzzy segitiga dinyatakan pada Gambar 3.2, dimana d adalah ordintar titik perpotongan
20 tertinggi antara µM1 dan µM2, untuk membandingkan M1 dan M2 memerlukan kedua nila dari V (M1 ≥ M2) dan V (M2 ≥ M1)
Gambar 2.6. Perpotongan Dua Bilangan Fuzzy Segitiga M1 dan M2 Langkah 3 : Degree of possibility untuk bilangan fuzzy convex yang bisa lebih besar dari k fuzzy convex pada Mi (i = 1,2, k) dapat didefiniskan sebagai berikut : V(M ≥M1,M2,.....Mk) =V[(M ≥ M1) and (M ≥ M2) and....and (M ≥ Mk)] = min V(M ≥ Mi), i = 1,2,3,....,k Dengan mengasumsikan bahwa d(Ai) = min V (Si ≥ Sk) untuk k = 1,2,....,n; k ≠ i, maka bobot vektor diberikan oleh : W’= (d’(A1), d‘(A2),......, d ‘(An))T dimana Ai = (i = 1,2,...n) adalah sebanyak n elemen. Langkah 4 : Melalui normalisasi, diperoleh vektor bobot yang telah dinormalisasi yaitu : W = (d(A1), d(A2),......, d(An))T dimana W adalah bilangan non-fuzzy. Langkah 5 : Mencek konsistensi matriks untuk memastikan bahwa penilaian dari pembuat keputusan adalah konsisten. Langkah 6 : Melakukan agregasi bobot-bobot relatif pada elemen keputusan untuk menentukan rangking keseluruhan dan alternatifalternatif. 2.6. Linear Programming Linear programming mulai dipergunakan untuk merencanakan dan memecahkan masalah logistik pada Angkatan Udara Amerika Serikat (USAF). Teknik ini kemudian berkembang pesat, dan saat ini linear programming sudah
21 banyak digunakan untuk memecahkan masalah-masalah produksi, alokasi sumber daya, transportasi, machine loading, dan sebagainya. Linear Programming adalah suatu teknik matematis dalam menentukan alokasi sumber-sumber (resources) untuk mencapai suatu tujuan tertentu. Jadi linear programming
berhubungan
dengan
masalah-masalah
memaksimumkan
atau
meminimumkan suatu fungsi linear yang disajikan dalam bentuk ketidaksamaan linear. Pada dasarnya persamaan linear merupakan hubungan antara beberapa variabel bebas dengan sebuah variabel terikat, dimana apabila dilakukan penambahan di satu pihak, maka akan menimbulkan efek yang konstan bagi pihak lainnya. Adapun pendapat praktis yang mengatakan bahwa persamaan linear adalah suatu bentuk persamaan yang bila digambarkan pada grafik akan berbentuk garis lurus. Namun pada kondisi nyatanya banyak sekali permasalahan yang sifatnya tidak linear (non-linear). Oleh karena itu, bila akan menggunakan teknik linear programming, hubungan-hubungan yang non-linear akan disubstitusikan potonganpotongannya (diasumsikan) sehingga menghasilkan suatu hubungan yang linear. 2.6.1. Karakteristik Linear Programming Sebelum menyusun permasalahan model linear programming, terlebih dahulu dibicarakan beberapa karakteristik umum daripada linear programming, yaitu: 1. Keseluruhan sistem permasalahan dapat dibagi menjadi satuan-satuan aktivitas (activities), contoh: a1X1 + a2X2 ≥ b1; dimana X1 dan X2 adalah activities. 2. Masing-masing activity harus dapat ditentukan dengan tepat, baik jenis maupun letaknya dalam model linear programming. 3. Setiap activity harus dapat didefinisikan dengan jelas kuantitasnya, sehingga dapat dibandingkan masing-masing nilainya.
2.6.2. Multi-Objective Linear Programming (MOLP) Pemrograman linier merupakan metode matematik dalam mengalokasikan sumber daya yang terbatas untuk mencapai suatu tujuan seperti memaksimumkan
22 keuntungan dan meminimumkan biaya. Program linier banyak diterapkan dalam masalah ekonomi, industri, militer, sosial dan lain-lain. Program linier berkaitan dengan penjelasan suatu kasus dalam dunia nyata sebagai suatu model matematik yang terdiri dari sebuah fungsi tujuan linier dengan beberapa kendala linier.
Adapun karakteristik pemrograman linier menurut Siringo-ringo (2005) adalah sebagai berikut : 1. Sifat linearitas suatu kasus dapat ditentukan dengan menggunakan beberapa cara. Secara statistik, dapat memeriksa kelinearan menggunakan grafik (diagram pencar) ataupun menggunakan uji hipotesa. Secara teknis, linearitas ditujukan oleh adanya sifat proporsionalitas, additivitas, divisibilitas dan kepastian fungsi tujuan dan pembatas. 2. Sifat proporsional dipenuhi jika kontribusi setiap variabel pada fungsi tujuan atau penggunaan sumber daya yang membatasi proporsional terhadap level nilai variabel. Jika harga per unit produk misalnya adalah sama berapapun jumlah yang dibeli, maka sifat proporsianal dipenuhi. Atau dengan kata lain, jika pembelian dalam jumlah besar mendapatkan diskon, maka sifat proporsional tidak dipenuhi. Jika penggunaan sumber daya per unitnya tergantung dari jumlah yang diproduksi, maka sifat proporsionalitas tidak dipenuhi. 3. Sifat additivitas mengasumsikan bahwa tidak ada bentuk perkalian silang diantara berbagai aktivitas, sehingga tidak akan ditemukan bentuk perkalian silang pada model. Sifat additivitas berlaku baik bagi fungsi tujuan maupun pembatas (kendala). Sifat additivitas dipenuhi jika fungsi tujuan merupakan penambahan langsung kontribusi masing-masing variabel keputusan. Untuk fungsi kendala, sifat additivitas dipenuhi jika nilai kanan merupakan total penggunaan masing-masing variabel keputusan. Jika dua variabel keputusan misalnya merepresentasikan dua produk subsitusi, di mana peningkatan volume penjualan salah satu produk akan mengurangi volume penjualan produk lainnya dalam pasar yang sama, maka sifat additivitas tidak dipenuhi. Sifat divisibilitas berarti unit aktivitas dapat dibagi ke dalam sembarang level fraksional, sehingga nilai variabel keputusan non integer dimungkinkan.
23 4. Sifat kepastian menunjukkan bahwa semua parameter model berupa konstanta. Artinya koefisien fungsi tujuan maupun fungsi pembatas merupakan suatu nilai pasti, bukan merupakan nilai peluang tertentu.
Multi objective linear programming adalah metode optimasi dengan beberapa fungsi tujuan yang tunduk pada beberapa batasan/kendala (constraints). Dalam penelitian ini, MOLP digunakan untuk mengalokasikan pesanan setelah bobot dan skor keseluruhan kriteria pada setiap supplier dihitung dengan metode Fuzzy-AHP. Solusi permasalahan ini diperoleh seperti penyelesaian optimasi dengan 1 fungsi tujuan. Selama ini ada 2 cara untuk menyelesaikan MOLP, yaitu : a. Metode pembobotan Misalkan untuk permasalahan : Max f1 : Max f2 ; … Max fn : Dikombinasikan menjadi : Max : w1f1 + w2f2 + … + wnfn. b. Lexicographics ordering method Pertama kali obyek-obyek diurutkan berdasarkan pentingnya. Obyek pertama diselesaikan sebagai : F1 = max {f1(x) dengan batasan yang telah diberikan} Kemudian, untuk setiap i > 1 diselesaikan Fi = max {fi(x), fk(x)} = Fk Metode lain yang diusulkan dalam penelitian ini adalah dengan menggunakan metode Fuzzy-AHP. Dengan menggunakan metode ini, tidak perlu lagi menggunakan kalibrasi bobot atau melakukan seleksi terhadap derajat pentingnya objek karena sebelumnya telah ditangani melalui metode Fuzzy-AHP. Metode ini hanya menggunakan preferensi (pilihan) khusus pada tujuan yang dapat dimodelkan dengan menggunakan fungsi-fungsi keanggotaan fuzzy. Hasil akhir dari langkah ini adalah solusi terhadap model MOLP yang dihasilkan berupa nilai eksak dari masingmasing kriteria dari tiap supplier x yang digunakan untuk menentukan alokasi yang dibutuhkan. 2.6.3. Fuzzy MOLP
24 Masalah MOLP ditentukan oleh fungsi linear yang dimaksimalkan pada batasan permasalahan linear. Bentuk standar MOLP dapat ditulis sebagai berikut: Maximize f (x) = Cx Batasan di mana C adalah matriks fungsi tujuan k × n, A adalah matriks kendala m × n, b adalah sisi kanan m-vektor, dan x adalah n-vektor variabel keputusan.
2.7. Interaksi Manusia Dan Komputer (IMK) Menurut Shneiderman & Plaisant (2010,p74), prinsip-prinsip ini berasal dari pengalaman dan disempurnakan selama dua dekade, perlu validasi dan tuning untuk domain desain khusus. tidak ada daftar seperti ini yang bisa diselesaikan, tetapi telah diterima dengan baik sebagai panduan yang berguna untuk siswa dan desainer,
25 Dalam IMK, terdapat 8 aturan emas (Eight Golden Rules) yang digunakan dalam perancangan antarmuka pemakai, yaitu : 1) Berusaha untuk konsistensi Mengikuti aturan ini bisa sulit karena banyak bentuk yang harus konsistensi. Konsistensi dari urutan tindakan harus diperlukan dalam situasi yang sama, istilah-istilah yang sama harus digunakan di menu, layar bantuan, konsistensi warna, tampilan, pengkapitalisasian, dan font. Harapanya, seperti diperlukan konfirmasi terhadap perintah penghapusan atau gema kata sandi. 2) Memenuhi kegunaan bersama Mengetahui kebutuhan yang beragam dari pengguna dan rancangan untuk yang kelihatan, memfasilitasi perubahan terhadap isi. Perbedaan terhadap pemula dan pakar, rentang usia, dan keragaman teknologi setiap memperkaya spektrum persyaratan yang memandu dalam perancangan.
Menambahkan fitur untuk
pemula, seperti penjelasan, dan fitur-fitur untuk yang sudah ahli, seperti shortcut dan lebih cepat untuk berpindah-pindah, dapat memperkaya rancangan tampilan dan meningkatkan kualitas sistem. 3) Memberikan umpan balik informatif Untuk setiap tindakan pengguna, harus ada umpan balik dari sistem. Untuk tindakan yang sering dan tindakan yang kecil, tanggapannya sederhana, sedangkan untuk tindakan yang jarang dan tindakan utama, tanggapannya harus lebih banyak. 4) Desain dialog untuk menghasilkan penutupan Urutan-urutan dari tindakan harus terorganisir kedalam kelompok-kelompok dengan awal, pertengahan, dan akhir. Umpan balik yang informatif pada penyelesaian terhadap sebuah kelompok tindakan memberikan operator kepuasan dari penyelesaiannya, rasa lega, dan isyarat untuk menjatuhkan rencana darurat dari pikiran mereka dan isyarat untuk bersiap buat kelompok tindakan selanjutnya. 5) Mencegah kesalahan Sebanyak mungkin merancang sebuah sistem yang pengguna tidak dapat melakukan kesalahan yang serius. Jika pengguna melakukan kesalahan atarmuka
26 harus mendeteksi kesalahannya dan menawarkan instruksi yang simple dan spesifik untuk memperbaiki kesalahan tersebut. 6) Memungkinkan pembalikan aksi yang mudah Diharapkan adanya fitur untuk kembali (back) ke aktivitas sebelumnya. Hal ini bertujuan agar user dapat kembali ke aktivitas sebelumnya jika ternyata user melakukan suatu kesalahan sehingga user dapat memperbaikinya. 7) Dukungan internal dari tempat kendali Pengurus yang sudah berpengalaman mempunyai keinginan yang kuat merasakan bahwa mereka bertanggung jawab atas antarmuka dan merespon tindakan mereka
8) Mengurangi beban memori jangka pendek Keterbatasan memproses informasi pada manusia dalam memori jangka pendek membutuhkan tampilan yang seadanya, menampilkan beberapa halaman dikonsolidasikan, gerakan windows sering dikurangi, waktu pelatihan yang memadai akan dibagikan untuk kode, yang membantu ingatan, dan urutan dari tindakan.