3.1 Analisis
Metode dan Algoritma
3.1.1 Analisis Algoritma FMCDM untuk Menetapkan
Lokasi Penambangan Timah
Fuzzy Multi Criteria Decision Making
(FMCDM) adalah salah satu metode
yang bisa membantu pengambil keputusan dalam pengambilan keputusan terhadap
beberapa alternatif keputusan yang harus diambil dengan beberapa kriteria yang
akan menjadi bahan pertimbangan. Biasanya penilaian yang diberikan oleh
pengambil keputusan terhadap bobot kepentingan dari setiap kriteria dan derajat
kecocokan setiap alternatif terhadap setiap kriteria direpresentasikan secara
linguistik. Berdasarkan hal tersebut,
maka hal yang diperlukan untuk menetapkan lokasi penambangan timah adalah,
1.
Representasi masalah
1. Identifikasi tujuan dan kumpulan
alternatif keputusan. Jika ada n alternatif keputusan dari suatu masalah, menggunakan
persamaan 2.1
2. Identifikasi kumpulan kriteria. Terdapat
k kriteria, menggunakan persamaan 2.2
3. Membangun struktur hirarki dari
masalah tersebut berdasarkan pertimbangan pertimbangan tertentu.
2.
Evaluasi himpunan fuzzy
1.
Memilih himpunan rating
untuk derajat kepentingan dari
setiap kriteria danderajat kecocokan setiap alternatif dengan kriterianya.Himpunan
rating biasanya direpresentasikan dalam bentuk variabel linguistik(x). Misalkan
untuk himpunan rating pada variabel penting didefinisikan sebagai : T(penting)
= {SANGATRENDAH, RENDAH, CUKUP, TINGGI, SANGAT TINGGI}.
2. Menentukan bobot-bobot setiap
rating dari himpunan rating
derajat kepentingan setiap kriteria dan derajat kecocokan setiap alternatif
dengan kriterianya.Bobot untuk setiap rating ditentukan dengan menggunakan
fungsi keanggotaan bilangan fuzzy. Dengan asumsi rentang yang
digunakan adalah :
Sangat Rendah = SR =
(0, 0, 0.25)
Rendah = R
= (0, 0.25, 0.5)
Sedang = S
= (0.25, 0.5, 0.75)
Tinggi = T
= (0.5, 0.75, 1)
Sangat Tinggi = ST = (0.75, 1, 1)
3. Mengevaluasi derajat kecocokan tiap
alternatif dengan kriterianya.
4. Mengagregasikan bobot-bobot setiap rating
dari himpunan rating derajat
kecocokan setiap alternatif dengan kriterianya terhadap derajat kepentingan
setiap kriteria. Kemudian direpresentasikan ke dalam bilangan fuzzy segitiga,
= (
,
,
)
dan
= (
,
,
),
maka
= (
,
,
)
menggunakan persamaan 2.3, 2.4, dan 2.5.
3.
Seleksi alternatif yang optimal
Memprioritaskan alternatif keputusan berdasarkan
hasil agregasi.Nilai prioritas dari hasil agregasi dibutuhkan dalam rangka
proses penentuan tingkat performance dari alternatif. Karena hasil agregasi
dalam hal ini direpresentasikan dengan
menggunakan bilangan fuzzy
segitiga, maka dibutuhkan metode untuk memperoleh nilai prioritas dari
bilangan fuzzy segitiga. Metode yang digunakan dalam hal ini adalah metode nilai total integral menggunakan
persamaan 2.6.
3.2
Pengembangan Perangkat Lunak
3.2.1 Pemodelan Bisnis
Perangkat lunak ini
menerapkan metode FMCDM. Pada proses input kriteria, nilai yang diberikan pada sistem adalah nilai bobot Fuzzy. Pada derajat
kepentingan nilai yang diberikan pada tiap alternatif yaitu SR, R, C, T, dan ST. Sementara pada rating
kecocokan setiap alternatif terhadap setiap kriteria nilai yang diberikan yaitu
SK, K, C, B, dan SB. Nilai tersebut diinputkan
oleh user karena merupakan parameter yang berpengaruh pada semua
algoritma. Setelah diinputkan oleh user, sistem
akan memproses nilai tersebut sesuai dengan persamaan (2.3), (2.4), dan (2.5).
Selanjutnya dilakukan proses
menyeleksi
alternatif yang optimal. Proses
menyeleksi
alternatif yang optimal ini menggunakan persamaan (2.6).
Kemudian sistem akan memilih alternatif keputusan
dengan nilai prioritas terbaik sebagai
alternatif keputusan yang optimal.
Metode pengembangan
perangkat lunak yang digunakan adalah Rational
Unified Process (RUP). Tahapan
yang dilakukan adalah, insepsi, elaborasi, konstruksi, dan transisi. Pada fase insepsi dilakukan
studi literatur mengenai metode FMCDM
yang digunakan sebagai metode terpilih untuk melakukan pengambilan
keputusan dalam menetapkan lokasi penambangan timah. Pada tahapan ini juga dianalisis spesifikasi
kebutuhan perangkat lunak yang didapatkan
dari rincian pemodelan bisnis sebagai berikut,
1.
Melakukan pemberian
nilai pada tabel rating kepentingan untuk setiap kriteria.
2.
Melakukan pemberian
nilai terhadap kecocokan setiap alternatif terhadap setiap kriteria.
3.
Nilai akan diproses
dengan menggunakan metode FMCDM dan hasil perhitungan akan disimpan dalam basis
data.
4.
Kemudian
dilakukan tahapan Penghitungan
nilai total integral guna menyeleksi alternatif yang optimal.
Selanjutnya
yaitu fase elaborasi, pada fase ini dilakukan proses
analisis dan desain perangkat lunak MSS. Analisis dilakukan dengan menerapkan
algoritma FMCDM untuk menetapkan lokasi penambangan timah.
Hasil analisis ini kemudian diterjemahkan ke dalam desain perangkat lunak, berupa diagram use case, diagram aktivitas, diagram
sequence dan diagram kelas.
Tahapan ketiga
yaitu fase konstruksi pada fase ini hasil analisis
dan desain diimplementasikan ke dalam kode program. Bahasa pemrograman yang digunakan adalah PHP. Tahapan terakhir yaitu fase transisi, pada fase ini
dilakukan pengujian terhadap kode program dan hasil analisis dan desain yang
dilakukan. Pengujian dilakukan dengan
metode black box.
3.2.2 Analisis Kebutuhan Perangkat Lunak
3.2.2.1
Deskripsi Umum
Aplikasi yang dibangun
diberi nama Mining Site Selection (MSS) merupakan
perangkat lunak berbasis web menggunakan bahasa pemrograman
PHP. MSS menghasilkan alternatif
lokasi penambangan timah dengan
mengimplementasikan metode FMCDM. Kebutuhan pengguna
dalam aplikasi ini adalah.
1.
Membutuhkan perangkat
lunak yang dapat
memilih alternatif lokasi dengan mengklik lokasi pada peta.
2.
Membutuhkan perangkat
lunak yang dapat memasukkan/menyimpan banyak kriteria.
3.
Membutuhkan perangkat
lunak yang dapat memasukkan bobot pada setiap kriteria untuk menentukan alternatif
terbaik.
3.2.2.2
Spesifikasi Kebutuhan
a.
Kebutuhan
Fungsional
Kebutuhan fungsional adalah kebutuhan yang
mendeskripsikan kemampuan dan layanan dari sebuah sistem. Kebutuhan fungsional MSS adalah,
1.
Perangkat lunak dapat menyediakan form inputan alternatif
2.
Perangkat lunak dapat menyediakan form inputan kriteria
3.
Perangkat lunak dapat
menyediakan form pembobotan untuk menentukan alternatif lokasi yang optimal.
b.
Kebutuhan
non Fungsional
Kebutuhan non fungsional adalah kebutuhan yang
mendeskripsikan tingkatan dari kualitas, misalnya tingkat keamanan penggunaan, ketepatan
waktu dll. Kebutuhan non fungsional MSS adalah, desain antarmuka yang menarik dan mudah
dimengerti sehingga mudah digunakan (user friendly). Penambahan tampilan
peta
dan chart merupakan teknik untuk
membuat tampilan hasil perhitungan menjadi lebih menarik.
3.2.3 Use case
3.2.3.1 Diagram Use
Case
Diagram use case berdasarkan kebutuhan fungsionalnya adalah,
Gambar III- 1. Diagram Use Case
3.2.3.2 Definisi Aktor
Tabel
III- 1. Definisi Aktor
No
|
Aktor
|
Deskripsi
|
1
|
Admin
|
Orang yang
mengakses sistem untuk melakukan operasi memasukkan
data kriteria dan alternatif
|
2
|
User
|
Orang yang
mengakses sistem untuk melakukan operasi memasukkan
bobot pada setiap kriteria
|
3.2.3.3 Definisi Use Case
Tabel
III- 2. Definisi Use Case
No
|
Use Case
|
Deskripsi
|
1
|
Melakukan Input Alternatif
|
merupakan
proses memasukkan data alternatif yaitu
lokasi yang dipilih sebagai tempat penambangan timah.
|
2
|
Melakukan Input Kriteria
|
merupakan
proses memasukkan data kriteria yaitu
kriteria yang digunakan untuk menetapkan lokasi penambangan timah
|
3
|
Memasukkan bobot kriteria
|
Merupakan proses memasukkan bobot
untuk setiap kriteria
|
3.2.3.4 Skenario Use Case
Tabel
III- 3. Skenario Use Case Melakukan Input Alternatif
Identifikasi
|
||||
Nomor
|
001
|
|||
Nama
|
Melakukan
Input Alternatif
|
|||
Tujuan
|
User dapat
menginputkan data alternatif pada database
|
|||
Deskripsi
|
User
menginputkan data alternatif ke sistem dan kemudian sistem akan menyimpan
data-data tersebut ke dalam basis data
|
|||
Aktor
|
Admin
|
|||
Skenario Utama
|
||||
Kondisi Awal
|
Data alternatif tidak tersedia atau tersedia dalam database
|
|||
Aksi Aktor
|
Reaksi Sistem
|
|||
1.
Menunjukkan
lokasi pada peta yang ada pada sistem
|
|
|||
2.
Memasukkan nama
alternatif
|
|
|||
3. Menekan
tombol Proses
|
|
|||
|
4.
Menyimpan
data alternatif ke basis data
|
|||
|
5.
Menampilkan
alternatif-alternatif yang telah disimpan
|
|||
Skenario Alternatif
|
||||
1.
Menunjukkan
lokasi pada peta yang ada pada sistem
|
|
|||
2. Menekan
tombol Proses
|
|
|||
|
3.
Muncul pesan “Harap Isi Bidang Ini” pada field nama alternatif
|
|||
4. Memasukkan
nama alternatif
|
|
|||
|
5.
Menyimpan data alternatif kedalam basisdata
|
|||
Kondisi Akhir
|
Data alternatif berhasil dimasukkan
ke dalam basisdata
|
|||
Tabel
III- 4. Skenario Use Case Melakukan Input Kriteria
Identifikasi
|
|||
Nomor
|
002
|
||
Nama
|
Melakukan Input Kriteria
|
||
Tujuan
|
User dapat memasukkan
data kriteria ke basis data
|
||
Deskripsi
|
User
menginputkan data
kriteria ke sistem dan kemudian sistem akan menyimpan data-data tersebut ke
dalam basis data
|
||
Aktor
|
Admin
|
||
Skenario Utama
|
|||
Kondisi Awal
|
Tabel basis
data telah terisi data atau tidak berisi data (kosong)
|
||
Aksi Aktor
|
Reaksi Sistem
|
||
1.
Memasukan
data kriteria
|
|
||
2.
Memasukkan nama
kriteria
|
|
||
3. Menekan
tombol Proses
|
|
||
|
4.
Data kriteria berhasil dimasukkan ke dalam basis data
|
||
Skenario Alternatif
|
|||
1.
Memasukan
data kriteria
|
|
||
2. Menekan
tombol Proses
|
|
||
|
3.
Muncul pesan “Harap Isi Bidang Ini” pada field nama kriteria
|
||
4.
Memasukkan nama
kriteria
|
|
||
|
5.
Data kriteria berhasil dimasukkan ke dalam basis data
|
||
Kondisi Akhir
|
Data kriteria berhasil dimasukkan ke dalam basisdata
|
||
Tabel
III- 5. Skenario Use Case Melakukan Pembobotan Kriteria
Identifikasi
|
||||
Nomor
|
003
|
|||
Nama
|
Melakukan Pembobotan Kriteria
|
|||
Tujuan
|
User dapat
menginputkan bobot pada tiap-tiap kriteria
|
|||
Deskripsi
|
User
menginputkan bobot pada tiap-tiap kriteria ke sistem dan kemudian sistem akan
memproses data-data tersebut
|
|||
Aktor
|
Admin/User
|
|||
Skenario Utama
|
||||
Kondisi Awal
|
Masing-masing kriteria belum
mempunyai bobot
|
|||
Aksi Aktor
|
Reaksi Sistem
|
|||
1.
Menginputkan bobot
pada semua kriteria
|
|
|||
|
2.
Memproses tiap-tiap
kriteria yang telah diberi bobot untuk menentukan keputusan
|
|||
Skenario Alternatif
|
||||
|
|
|||
Kondisi Akhir
|
Keputusan
telah didapat
|
|||
3.2.4 Analisis Kelas
3.2.4.1 Analisis Kelas
Melakukan Input
Alternatif
Gambar III- 2. Analisis Kelas Melakukan Input Alternatif
3.2.4.2 Analisis
Kelas Melakukan Input Kriteria
Gambar III- 3. Analisis Kelas Melakukan Input
Kriteria
3.2.4.3
Analisis Kelas Melakukan pembobotan
Kriteria
Gambar III- 4. Analisis Kelas Memasukkan Bobot Kriteria
3.2.4.4
Identifikasi Kelas
Tabel III-6 menjelaskan tipe dan deskripsi
kelas yang digunakan pada MSS.
Tabel
III- 6. Identifikasi Kelas
NO
|
Nama Kelas
|
Tipe Kelas
|
Deskripsi
|
1
|
Halaman Alternatif
|
Boundary
|
Kelas ini
berfungsi untuk menjembatani user dalam menampilkan form input
data alternatif.
|
2
|
CAlternatif
|
Control
|
Kelas ini
berisi method untuk memproses data
alternatif dan memasukkannya kedalam basis data
|
3
|
MAlternatif
|
Entity
|
Kelas ini method
berisi kode sql untuk memasukkan data alternatif kedalam basis data
|
4
|
Halaman Kriteria
|
Boundary
|
Kelas ini
berfungsi untuk menjembatani user dalam menampilkan form input
data kriteria.
|
5
|
CKriteria
|
Control
|
Kelas ini
berisi method untuk memproses data
kriteria dan memasukkannya kedalam basis data
|
6
|
MKriteria
|
Entity
|
Kelas ini method
berisi kode sql untuk memasukkan data kriteria kedalam basis data
|
7
|
HalamanPembobotan
|
Boundary
|
Merupakan
antarmuka yang menampilkan form pembobotan rating
kepentingan untuk setiap kriteria dan rating kecocokan setiap alternatif
terhadap setiap kriteria.
|
8
|
CFmcdm
|
Control
|
Kelas ini berisi setter dan
getter parameter yang diperlukan dalam metode FMCDM
|
9
|
MFmcdm
|
Entity
|
Kelas ini berisi
getter nilai indeks kecocokan fuzzy dan nilai total intergal
|
3.3 Perancangan
Perangkat Lunak
3.3.1 Perancangan
Arsitektur
3.3.1.1 Diagram Sequence
Gambar III-5 merupakan
diagram Sequence pada use case melakukan
input
alternatif.
Gambar III-5. Diagram Sequence Input Alternatif
Gambar III-6 merupakan
diagram sequence untuk proses Input Kriteria.
Gambar III-6. Diagram Sequence Input Kriteria
Gambar III-7
merupakan diagram sequence pada use case
melakukan
pembobotan kriteria.
Gambar
III-7. Diagram Sequence Melakukan
Pembobotan Kriteria
3.3.1.2 Diagram Kelas
Gambar III-8, III-9,
III-10 dan III-11 merupakan diagram kelas untuk sistem
keseluruhan, proses input
alternatif, input
kriteria dan melakukan pembobotan
kriteria.
Gambar III- 8. Diagram Kelas Keseluruhan
Gambar III- 9. Diagram Kelas Melakukan Input
Alternatif
Gambar III- 10. Diagram Kelas Melakukan Input Kriteria
Gambar III- 11. Diagram Kelas Melakukan
Pembobotan Kriteria
3.3.2 Perancangan
Antarmuka
Aplikasi MSS memiliki tiga tampilan antarmuka sesuai dengan
kebutuhan fungsional. Antarmuka pada aplikasi ini yaitu,
Gambar III-12 adalah form
pada saat akan menginputkan alternatif.
Pada form ini user dapat memilih lokasi dengan
menunjukkan lokasi pada peta. Tombol
Generate merupakan pemicu untuk memulai proses penginputan
data.
Gambar III-13. Rancangan antarmuka Form Input
Kriteria
Gambar III-13 adalah form
input
kriteria. Proses memasukkan data kriteria
dapat dimasukkan ke dalam
textfield yang
telah disediakan, kemudian menekan tombol “Tambah” untuk memasukkan data
kriteria.
Gambar III-14. Rancangan antarmuka Form Pembobotan
Gambar III-14 merupakan form pembobotan
apabila user menekan menu input. Pembobotan dimulai dengan menginputkan
rating kepentingan pada setiap kriteria.
Setelah itu user akan menginputkan rating kepentingan kriteria pada tiap-tiap
alternatif. Setelah user menekan tombol “Proses”, maka sistem akan menghitung indeks
kecocokan fuzzy dan nilai total integral.