1.
Pendahuluan
Perkembangan teknologi saat ini berdampak pada peranan smartphone dalam kehidupan manusia. Smartphone merupakan media komunikasi yang menawarkan banyak fitur yang dapat mempermudah pekerjaan penggunanya. Pengguna hanya berfokus kepada pemenuhan kebutuhan komunikasi. Namun seiring dengan perkembangan jaman pengguna juga mempertimbangankan kebutuhan lain dalam penggunaan smartphone[1]. Sebagai contoh layanan multimedia, layanan sosial media, layanan transaksi file atau data dan lain sebagainya. Berdasarkan kebutuhan pengguna tersebut maka perusahaanperusahaan manufaktur smartphone berlomba-lomba untuk menciptakan produk yang kaya akan fitur. Semakin smartphone atau produk tersebut memiliki banyak fitur diharapkan pengguna dapat memenuhi kebutuhan yang beragam tersebut. Akibat dari munculnya persaingan antara perusahaan manufacture smartphone adalah seringkali pengguna merasa bingung harus membeli produk smartphone jenis apa. Beragam produk yang kaya akan fitur membuat calon pengguna smartphone bingung dalam menentukkan pilihan smartphone yang akan dibeli[2]. Seringkali pengguna harus membandingkan beberapa produk dari merkmerk tertentu agar sesuai dengan keinginannya. Banyak hal yang menjadi pertimbangan dalam pemilihan smartphone, misalkan harga, fitur, ketahanan baterai, model, layar, kemudahan pengoperasian dan lain sebagainya. Beberapa kasus calon pengguna membeli smartphone yang tidak sesuai dengan kebutuhannya karena tidak dapat mempertimbangkan produk mana yang sesuai dengan kebutuhannya. Berdasarkan latar belakang masalah yang sudah dijelaskan sebelumnya, maka menimbulkan suatu ide untuk membangun sistem pendukung keputusan untuk menentukan rekomendasi pembelian smartphone. Manfaat dengan adanya sistem pendukung keputusan ini diharapkan pengguna dapat memilih smartphone yang sesuai dengan kebutuhannya. Sistem pendukung keputusan ini dibangun menggunakan algoritma promethee. Algoritma promethee sendiri merupakan algoritma yang dapat membantu dalam pengambilan keputusan dengan multicriteria, dalam hal ini rekomendasi pembelian smartphone. 2.
Kajian Pustaka
Penelitian mengenai pembangunan Sistem Pendukung Keputusan sebelumnya pernah dilakukan. Salah satu contoh adalah penelitian dengan judul Perancangan dan Implementasi Sistem Pendukung Keputusan untuk Jalan Menggunakan Metode ID3 (Studi Kasus BAPPEDA Kota Salatiga). Bappeda Salatiga merupakan salah satu badan yang tugasnya mengawasi, menyelenggarakan, dan merawat jalan di bawah pemerintah kota salatiga. Setiap bulan beberapa personil dari Bappeda menyelenggarakan pengawasan tiap jalan yang ada di Salatiga yang fungsinya untuk memantau keadaan dan kelayakan jalan. Permasalahan yang muncul adalah apabila semakin banyaknya pengajuan yang diajukan oleh masyarakat. Tiap pengajuan oleh masyarakat dipertimbangkan dan itu membutuhkan waktu dalam penganalisaan data tentang informasi yang diberikan. Untuk mengatasi keadaan yang seperti itu, maka dibutuhkan suatu
4
sistem pendukung keputusan yang dapat memberikan alternatif dalam pemeliharaan jalan. Sehingga mampu mempermudah tim Bappeda terutama Bidang Sarana Prasarana dan Tata Ruang dalam pemeliharaan jalan. Berdasarkan masalah tersebut maka penelitian tersebut bertujuan untuk merancang dan membangun Sistem Pendukung Keputusan (SPK) menggunakan metode ID3 untuk menguji kelayakan jalan untuk diperbaiki di Salatiga [3]. Penelitian mengenai algoritma Promethee sebelumnya juga pernah dilakukan. Penelitian tersebut berjudul Sistem Pendukung Keputusan Evaluasi Kinerja Penyidik Anggota Polri Dengan Menggunakan Metode Promethee. Pada penelitian ini dipaparkan masalah bahwa banyak kasus yang ditangani oleh Kepolisian Daerah (Polda) tidak bisa terselesaikan dengan tuntas. Salah satu penyebabnya adalah evaluasi hasil pemantauan penyidik yang dilakukan kurang efektif dan kurang cermat karena hanya menjumlahkan saja nilai kriteria yang ada dan mengesampingkan kualitas dari kriteria penilaian itu. Hal ini akan menyebabkan sulitnya menentukan kinerja baik atau buruk dari penyidik. Untuk membantu dalam penentuan kinerja penyidik ini diperlukan suatu sistem pendukung keputusan yang dapat mengevaluasi kinerja penyidik dengan memberikan perankingan kinerja penyidik dengan mempertimbangkan bobot dari setiap kriteria yang ada. Salah satu metode pengambilan keputusan yang banyak digunakan untuk evaluasi atau perangkingan penyidik ini adalah metode Preference Ranking Organization Method For Enrichment Evaluation (PROMETHEE), yaitu metode penentuan urutan (prioritas) dengan multikriteria yang disebut dengan Multi Criterion Decision Making (MCDM). Metode PROMETHEE yang diterapkan pada penelitian ini menghasilkan solusi yang dapat digunakan dalam proses evaluasi kinerja penyidik [4]. Perbedaan dari penelitian sebelumnya adalah penelitian ini akan membahas mengenai perancangan dan pembangunan sistem pendukung keputusan(SPK) yang berfokus pada rekomendasi pembelian smartphone menggunakan algoritma promethee. Penentuan rekomendasi ini ditentukan berdasarkan perhitungan nilai kriteria-kriteria spesifikasi smartphone. Nilai-nilai kriteria tersebut akan dihitung menggunakan algoritma promethee untuk mengetahui rangking rekomendasi smartphone. Alternatif yang dirangking berdasarkan batasan harga tertentu. Sistem Pendukung Keputusan (SPK)/ Decision Support System (DSS) pertama kali diungkapkan pada awal tahun 1970-an oleh Michael S. Scott Morton dengan istilah Management Decision Systems [5]. Sistem Pendukung Keputusan (SPK) atau Decision Support Systems (DSS) adalah sistem berbasis komputer yang terdiri dari tiga komponen yang saling berinteraksi : sistem bahasa (mekanisme untuk memberikan komunikasi antara pengguna dan komponen DSS lain), sistem pengetahuan (repository pengetahuan domain masalah yang ada pada DSS sebagai data atau sebagai prosedur), dan sistem pemrosesan masalah (hubungan antara dua komponen lainnya, terdiri dari satu atau lebih kapabilitas manipulasi masalah umum yang diperlukan untuk pengambilan keputusan)[6]. Sedangkan menurut Turban, SPK dapat berupa sebuah sistem berbasis komputer yang menghasilkan berbagai alternative keputusan untuk membantu manajemen dalam menangani berbagai permasalahan yang terstruktur maupun tidak terstruktur dengan menggunakan data dan model[7].
5
SPK biasanya dibangun untuk mendukung solusi atas suatu masalah atau mengevaluasi suatu peluang. SPK bukan merupakan alat pengambilan keputusan, melainkan merupakan sistem yang membantu pengambilan keputusan dengan melengkapi mereka dengan informasi dari data yang telah diolah dengan relevan dan diperlukan untuk membuat keputusan tentang suatu masalah dengan lebih cepat dan akurat. Sehingga sistem ini tidak dimaksudkan untuk menggantikan pengambilan keputusan dalam proses pembuatan keputusan[8]. Multi-Criteria Decision Making (MCDM) merupakan teknik pengambilan keputusan dari beberapa pilihan alternatif yang ada. Di dalam MCDM ini mengandung unsur atribut, objektif, dan tujuan[9]. 1. Atribut menerangkan, memberi ciri kepada suatu obyek. Misalnya tinggi, panjang dan sebagainya. 2. Objektif menyatakan arah perbaikan atau kesukaan terhadap atribut, misalnya memaksimalkan umur, meminimalkan harga, dan sebagainya. Objektif dapat pula berasal dari atribut yang menjadi suatu objektif jika pada atribut tersebut diberi arah tertentu. 3. Tujuan ditentukan terlebih dahulu. Misalnya suatu proyek mempunyai objektif memaksimumkan profit, maka proyek tersebut mempunyai tujuan mencapai profit 20 juta per bulan. Kriteria merupakan ukuran, aturan-aturan ataupun standar-standar yang memandu suatu pengambilan keputusan. Pengambilan keputusan dilakukan melalui pemilihan atau memformulasikan atribut-atribut, objektif-objektif, maupun tujuan-tujuan yang berbeda, maka atribut, objektif maupun tujuan dianggap sebagai kriteria. Kriteria dibangun dari kebutuhan-kebutuhan dasar manusia serta nilai-nilai yang diinginkannya. Promethee adalah suatu metode penentuan urutan (prioritas) dalam analisis multikriteria. Masalah pokoknya adalah kesederhanaan, kejelasan , dan kestabilan. Dugaan dari dominasi kriteria yang digunakan dalam promethee adalah penggunaan nilai dalam hubungan outranking[10] . Ini adalah metode peringkat yang cukup sederhana dalam konsep dan aplikasi dibandingkan dengan metode lain untuk analisis multikriteria[11]. Algoritma Promethee adalah salah satu metode dalam Multi Criteria Decision Making (MCDM) yang teradaptasi baik dengan masalah dimana sejumlah tindakan alternatif digolongkan berdasarkan beberapa kriteria yang kadang-kadang saling berlawanan [12]. Prinsip yang digunakan adalah penetapan prioritas alternatif yang telah ditetapkan berdasarkan pertimbangan (∀ i| fi(.) → [real world], dengan kaidah dasar [11]. Dimana K adalah sejumlah kumpulan alternatif, dan fi (i = 1, 2, ..., K) merupakan nilai/ukuran relatif kriteria untuk masing-masing alternatif. Dalam aplikasinya sejumlah kriteria telah ditetapkan untuk menjelaskan K yang merupakan penilaian dari (real world). Nilai f merupakan nilai nyata dari suatu kriteria dan tujuan berupa prosedur optimasi [11]. Untuk setiap alternatif a ∈ K, f(a) merupakan evaluasi dari alternatif tersebut untuk suatu kriteria. Pada saat alternatif dibandingkan, a1, a2 ∈ K, harus dapat ditentukan perbandingan preferensinya. Menurut Brans penyampaian intensitas (P) dari preferensi alternatif a1 terhadap alternatif a2 sehingga[10]:
6
1. P(a1, a2)=0, berarti tidak ada beda antara a1 dan a2, atau tidak ada preferensi dari a1 lebih baik dari a2. 2. P(a1, a2) ~ 0, berarti lemah, preferensi dari a1 lebih baik dari a2. 3. P(a1, a2) ~ 1, berarti kuat, preferensi dari a1 lebih baik dari a2. 4. P(a1, a2) =1, berarti mutlak, preferensi dari a1 lebih baik dari a2. Dalam metode ini, fungsi preferensi seringkali menghasilkan nilai fungsi yang berbeda antara dua evaluasi, sehingga : P(a1, a2)= P{f(a1) – f(a2) } [11] Untuk semua kriteria, suatu alternatif akan dipertimbangkan memiliki nilai kriteria yang lebih baik ditentukan oleh nilai f dan akumulasi dari nilai ini menentukan nilai preferensi atas masing-masing alternatif yang akan dipilih. Langkah-langkah perhitungan dengan metode PROMETHEE adalah sebagai berikut[13]: 1. Penentuan nilai atau bobot kualitatif alternatif dari kriteria-kriteria yang telah ditetapkan sebelumnya. Bobot ini diperoleh dari pembagian dari nilai jenis kriteria dengan total nilai kriteria tersebut. 2. Menentukan tipe fungsi preferensi dan nilai treshold. 3. Menghitung nilai preferensi antar alternatif dengan membandingkan satu alternatif dengan alternatif yang lain. 4. Menghitung index preferensi dengan cara membagi jumlah matriks hasil nilai preferensi dengan jumlah kriteria yang ada. 5. Menghitung dan merangking nilai leaving flow (Ф+), entering flow(Ф-), dan net flow. 3.
Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam tujuh tahapan, yaitu: (1) Rumusan masalah, (2) Studi literatur (3) Analisis kebutuhan dan pengumpulan data, (4) Perancangan sistem, (5) Perancangan aplikasi/program, (6) Implementasi dan pengujian sistem, serta analisis hasil pengujian, (7) Penulisan laporan hasil penelitian. Rumusan Masalah Studi Literatur Analisis Kebutuhan dan Pengumpulan Data Perancangan Sistem meliputi Perancangan Proses (UML), Perancangan Arsitektur, Perancangan Database, Perancangan Antarmuka Perancangan Aplikasi/Program Implementasi dan Pengujian Sistem, serta Analisis Hasil Pengujian Penulisan Laporan Hasil Penelitian Gambar 1 Tahapan Penelitian [14]
7
Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap pertama: rumusan masalah, yaitu bagaimana merancang dan membangun sistem pendukung keputusan untuk rekomendasi pembelian smartphone menggunakan algoritma promethee. Tahap studi literatur dilakukan dengan mempelajari buku-buku referensi atau sumber-sumber yang berkaitan dengan penelitian ini, baik dari text book maupun internet yang terkait dengan SPK dan Promethee. Tahap analisis kebutuhan dan pengumpulan data, yaitu melakukan analisis kebutuhan apa saja yang dibutuhkan dari penentuan kriteria smartphone dan perhitungan algoritma promethee. Kebutuhan data sekunder meliputi data spesifikasi smartphone, penggolongan komponen atau peripheral smartphone, cara kerja algoritma promethee dan cara membangun sistem web. Data-data spesifikasi smartphone didapatkan dari 5 sumber web yang memiliki rating tinggi dalam pencarian spesifikasi smartphone, yaitu : smartphones.findthebest.com, gsmarena, phonearena, tabloidpulsa dan notebookcheck; Tahap kedua: perancangan sistem yang meliputi perancangan proses menggunakan diagram Unified Modelling Language (UML). Perancangan sistem juga meliputi penentuan kriteria-kriteria tiap alternatif. Tahap ketiga, perancangan aplikasi/program yaitu merancang aplikasi/program sesuai kebutuhan sistem berdasarkan perancangan sistem yang telah dilakukan. Tahap keempat: implementasi dan pengujian sistem, serta analisis hasil pengujian, yaitu mengimplementasikan aplikasi yang sudah dibuat kemudian dilakukan pengujian, selanjutnya melakukan analisis untuk melihat apakah aplikasi yang telah dibuat sudah sesuai dengan yang diharapkan atau tidak ada error, jika belum sesuai maka akan dilakukan perbaikan; dan tahap kelima, penulisan laporan hasil penelitian. Tahap Perancangan Sistem : Pada tahap ini membuat rancangan antarmuka sistem. Untuk rancangan kerja sistem dibuatlah diagram-diagram Unified Modeling Language (UML). Berdasarkan diagram-diagram tersebut dapat diketahui bagaimana sistem bekerja, apa saja fungsi yang disediakan oleh sistem, urutan proses kerja sistem, hubungan atau interaksi sistem dengan pengguna dan rancangan class program sistem. Diagram UML inilah yang nantinya dijadikan acuan untuk proses pembangunan sistem. Pada perancangan antarmuka dilakukan pembuatan gambaran bagaimana antarmuka sistem yang akan dibuat. Antarmuka berkaitan dengan fungsi apa saja yang dapat dilakukan oleh sistem dan bagaimana interaksi pengguna dengan sistem. Rancangan antarmuka dibuat dengan mempertimbangkan aspek userfriendly, agar sistem mudah digunakan oleh pengguna. Setelah rancangan dibuat maka dilakukan pembangunan model sistem. Model ini dibangun berdasarkan rancangan yang telah dibuat. Model nantinya akan diuji pada proses evaluasi. Tahap Implementasi : Pada tahap ini setiap fungsi diimplementasikan kedalam baris-baris perintah kode program. Pada tahap ini juga dilakukan pembuatan database yang nantinya menyimpan setiap data smartphone dan bobot nilai dari perhitungan promethee. Sistem harus dapat terhubung dengan database untuk dapat melakukan setiap fungsi yang dijalankan.
8
Tahap Evaluasi: Tahapan Evaluasi merupakan tahapan dimana model yang telah dibangun sebelumnya diuji, apakah model tersebut sudah dapat dikatakan memenuhi kebutuhan sistem atau tidak. Jika model yang dibangun belum dapat memenuhi kebutuhan sistem, maka dilakukan pengumpulan kebutuhan sistem yang mungkin belum didapatkan dan dibangun kembali model yang lebih baik. Namun jika didapatkan bahwa model tersebut sudah dapat menjawab kebutuhan sistem maka proses selesai. Pengujian sistem ini dilakukan dengan membandingkan perhitungan manual algoritma promethee dengan hasil komputasi program terhadap permasalahan atau sample data yang sama. Unified Modeling Language (UML) Tahap ini akan dilakukan perancangan sistem dan perangkat lunak untuk menggambarkan prosedur dan proses kerja dari sistem aplikasi tersebut. Proses perancangan proses sistem dalam penelitian ini menggunakan UML (Unified Modeling Language) dengan beberapa proses, dijelaskan sebagai berikut. Use case diagram berfungsi untuk mendeskripsikan tindakan sistem dari sudut pandang pengguna, sebagai deskripsi fungsional dari sebuah sistem dan proses utamanya, serta menjelaskan secara visual siapa saja yang berperan sebagai aktor dalam menggunakan sistem dan bagaimana interaksinya. Use case diagram pada sistem ini memiliki 2 aktor, yaitu Admin dan Guest. Tambah Spesifikasi
Ubah Spesifikasi
Hapus Spesifikasi
Lihat Spesifikasi
<<extend>> <<extend>> <<extend>>
<<extend>>
Manage Data Smartphone
Merangking (Metode Promethee)
Guest
Admin
Manage Data Bobot <<extend>>
<<extend>> <<extend>>
Tambah Bobot
Ubah Bobot
<<extend>>
Hapus Bobot
Lihat Bobot
Gambar 3 Use Case Diagram Sistem
Pada Gambar 3 dapat diketahui bahwa terdapat 2 aktor pada sistem, yaitu admin dan guest. Admin dapat melakukan beberapa fungsi sistem, yaitu melakukan pengaturan data spesifikasi smartphone dan pengaturan bobot nilai dari komponen smartphone. Sedangkan fungsi pengaturan data spesifikasi smartphone meliputi fungsi tambah, ubah, hapus dan lihat data spesifikasi smartphone. Pengaturan data bobot smartphone meliputi fungsi tambah, ubah, hapus dan lihat data bobot smartphone. Guest dapat melakukan fungsi melakukan perangkingan smartphone dan melihat spesifikasi smartphone. Fungsi perangkingan yang dimaksud adalah guest dapat melakukan pencarian rekomendasi smartphone yang diinginkan menggunakan algoritma promethee. Pada fungsi inilah penerapan algoritma promethee diterapkan. Pencarian ini dibatasi oleh jangkauan harga yang diinginkan oleh guest. Fungsi lihat spesifikasi merupakan fungsi yang dapat memberikan keterangan spesifikasi smartphone yang direkomendasikan oleh sistem.
9
Diagram aktifitas atau activity diagram memberikan visualisasi aliran tindakan dalam sistem yang dibuat, percabangan tindakan yang terjadi, bagaimana tindakan awal sistem dan bagaimana tindakan akhir yang terjadi pada sistem. Activity diagram juga dapat memberikan gambaran tentang proses yang dapat terjadi dalam beberapa tindakan tertentu. Pada sistem ini terdapat beberapa aktivitas yang bisa dilakukan oleh setiap aktor. Sebagai contohnya adalah aktivitas untuk menambah data spesifikasi smartphone baru yang dapat dilihat pada Gambar 4. Admin
Sistem Web
Tambah data spesifikasi smartphone
Input data ke variabel object
Melihat notifikasi
Database
Susun Perintah SQL
Exsekusi Perintah SQL
Menampilkan Notifikasi
Mengembalikan query result
Gambar 4 Activity Diagram Penambahan Data Smartphone Baru
Pada Gambar 4 dapat diketahui bahwa aktifitas penambahan data smartphone baru yang dilakukan oleh admin, melibatkan sistem dan database. Ketika admin melakukan aktifitas tambah data spesifikasi smartphone sistem web akan melakukan aktifitas menyimpan data yang dikirimkan ke dalam variabel. Data inilah yang nantinya digunakan untuk menyusun perintah SQL. Sedangkan database melakukan aktifitas menjalakan perintah SQL yang dikirimkan oleh sistem web. Aktifitas diakhiri dengan menampilkan notifikasi ke pengguna bahwa data berhasil ditambahkan atau disimpan pada database. Class diagram merupakan diagram yang digunakan untuk menampilkan beberapa kelas yang ada dalam sistem/perangkat lunak yang sedang dikembangkan. Class diagram memberikan gambaran mengenai sistem dan relasi yang ada di dalamnya (user interface, attribute, controller). Class diagram sistem dapat dilihat pada Gambar 5.
10
Gambar 5 Class Diagram Sistem
Berdasarkan class diagram pada Gambar 5 dapat diketahui bahwa class Smartphone merupakan class yang berfungsi untuk menampung semua atribut yang dimiliki smartphone. Detail spesifikasi akan disimpan pada class ini. Class Smartphone akan digunakan oleh class SmartphoneController untuk mengelola data smartphone, sehingga terdapat operasi-operasi untuk mengelola data smartphone yaitu add(), update(), delete() dan lain sebagainya. Untuk class SmartphoneValue berfungsi untuk menampung nilai bobot kriteria dari setiap smartphone. Nilai bobot ini nantinya akan digunakan dalam perhitungan promethee. Sedangkan class User berfungsi untuk menampung atribut user : username dan password. Class ini juga berfungsi untuk melakukan proses perhitungan promethee. Setiap tahap promethee diletakkan pada setiap fungsi yang nantinya dipanggil secara berurutan. 4.
Hasil dan Pembahasan
Pada bagian akan dijelaskan hasil dan pembahasan yang meliputi implementasi dari rancangan yang dibuat telah dibuat, dan pengujian sistem. Sistem Pendukung Keputusan untuk membantu pencarian smartphone menggunakan algoritma perangkingan promethee ini terbagi menjadi 2 bagian, admin dan guest/tamu. Berikut ini penjelasannya : Halaman Smartphone merupakan halaman yang akan menampilkan daftar smartphone yang ada pada sistem. Daftar smartphone akan ditampilkan pada tabel. Admin dapat melakukan penambahan, pengubahan, dan penghapusan data smartphone. Berikut ini tampilan dari halaman smartphone.
11
Gambar 6 Halaman Smartphone
Halaman kriteria merupakan halaman dimana admin dapat melakukan pengelolaan data bobot tiap smartphone. Dari spesifikasi smartphone ditentukan beberapa spesifikasi yang dapat dijadikan kriteria dalam perangkingan promethee. Daftar kriteria tersebut dapat dilihat pada Tabel 1.
No
Nama
1
Dimensi
2
Berat
3
Ukuran Layar Resolusi Layar Pixel Density
4 5
6
Kamera Belakang
Tabel 1 Tabel Daftar Kriteria [16][17][18][19] Keterangan Nilai 1 2 3 Dimensi atau 3-4 x 1.8- 4-5 x 2- >5 x > 3 x ukuran fisik dari 2.5 x 0.3- 2.5 x 0.3- 0.3-0.8 smartphone 0.5 0.7 meliputi panjang, lebar dan tinggi/ketebalan Berat dari <115 115-170 >170 smartphone Ukuran layar (inch) <3.7 3.7-4.5 >4.5 Resolusi layar (pixels) Kerapatan pixel (ppi) dari smartphone. Semakin besar nilai kerapatan pixel, gambar yang ditampilkan pada layar akan semakin baik. Kamera belakang (megapixels)
Satuan inch
grams inch
<720x1280
720x1280
>720x1280
pixel
<248
248-295
>295
PPI
<3
3-8
>8
megapixel
12
7
Prosesor
8
GPU
9 10
Memory Kapasitas Penyimpanan
11
Kapasitas Baterai Jaringan Data
12
Processor smartphone. Terdapat keterangan jenis prosesor, dan vendor Graphic Processing Unit. Penggelolan grafis smartphone. RAM smartphone Kapasitas penyimpanan internal smartphone (GB) Kapasitas baterai (mAh) Teknologi jaringan data yang didukung (LTE, 4G, HSDPA, dll).
0.1921.030
1.0311.451
1.452-2.5
GHz
unspecified
Class 6
Class 5
class
<512 <4
512-768 4-8
>768 >8
MB Gb
860-1666
16672475 HSDPA (3G)
2476-5300
mAh
GSM CDMA (2G)
/
HSDPA+ (4G), LTE
Setiap kriteria akan diberikan bobot atau nilai. Pemberian bobot atau nilai ini dilakukan oleh admin ketika penambahan data smartphone baru. Pemberian bobot harga[20] ,(dimensi, berat, ukuran layar, resolusi layar, pixel density, kamera belakang, prosesor, memory, kapasitas penyimpanan. Jaringan data) [17], kapasitas baterai[18], GPU[19]. Kelima website yang tersebut merupakan website yang paling sering digunakan untuk mengetahui review, detail spesifikasi maupun benchmark smartphone, hal ini didasarkan pada hasil reference search engine ketika mencari hal yang berkaitan dengan review smartphone. Nilai yang diberikan berupa angka dengan range 1-3. Dengan pembagian nilai sebagai berikut : 1 untuk ukuran atau spesifikasi terendah, 2 untuk ukuran atau spesifikasi tengah, dan 3 untuk ukuran atau spesifikasi tinggi. Hal ini didasarkan pada beberapa referensi sumber yang membagi level atau tingkatan spesifikasi smartphone menjadi 3 level, yaitu level low, level middle dan level high. Jika alternatif tidak memiliki kriteria maka nilainya 0. Halaman pemberian bobot nilai pada spesifikasi smartphone dapat dilihat pada Gambar 7.
Gambar 7 Halaman Bobot Smartphone
Halaman Pencarian pada modul tamu berupakan halaman utama/beranda. Pada halaman ini tamu atau pengguna dapat memasukkan range harga smartphone yang ingin dicari. Terdapat pilihan harga batas bawah dan harga batas atas.
13
Gambar 8 Halaman Pencarian Smartphone Bagian Tamu
Halaman Hasil Pencarian merupakan halaman yang menampilkan hasil pencarian dan perangkingan smartphone. Semua daftar smartphone yang berada pada range harga yang diinginkan oleh pengguna akan dirangking menggunakan algoritma promethee. Berdasarkan perangkingan tersebut maka akan ditampilkan urutan smartphone yang direkomendasikan dari yang paling direkomendasikan ke paling rendah. Perangkingan ini didapatkan dari nilai netflow tiap smartphone. Semakin tinggi nilai netflow maka smartphone tersebut semakin direkomendasikan.
Gambar 9 Halaman Hasil Pencarian Smartphone
Penerapan Algoritma Promethee Penerapan algoritma promethee pada sistem pendukung keputusan untuk rekomendasi smartphone diawali dengan proses penentuan kriteria dan bobot nilai. Kriteria pada suatu altermatif akan diberi nilai bobot. Sebagai contoh smartphone A1, A2, A3, A4, A5, dan A6 memiliki bobot nilai untuk tiap kriterianya (F1 sampai F12) sebagai berikut :
No 1 2 3 4 5 6 7 8 9 10 11 12
Tabel 2 Bobot Kriteria Alternatif Smartphone Nama Fn A1 A2 A3 A4 Dimensi F1 2 3 2 3 Berat F2 1 1 2 2 Ukuran Layar F3 2 3 3 2 Resolusi Layar F4 2 2 3 2 Pixel Density F5 1 1 3 1 Kamera Belakang F6 2 2 2 1 Prosesor F7 3 2 2 2 GPU F8 2 2 1 2 Memory F9 2 2 1 2 Kapasitas Penyimpanan F10 3 2 1 2 Kapasitas Baterai F11 3 1 2 2 Jaringan Data F12 2 2 1 2
A5
A6
2 3 3 2 2 1 2 1 1 2 2 2
1 1 2 2 1 1 2 2 2 3 3 3
Bobot kriteria tiap alternatif disimpan dalam database. Sistem akan mencari bobot tiap alternatif dan menyimpannya ke dalam variable. Proses pencarian ini ditentukan berdasarkan harga yang diminta oleh pengguna. Berikut ini adalah penggalan perintah untuk melakukan pencarian data bobot kriteria tiap alternatif.
14
Kode Program 1 Perintah untuk Menampilkan Nilai Bobot Kriteria Alternatif 1. function getDataValue($nLow, $nHigh) { 2. $result = $this->db->select('s.code, s.name, v.dimension, v.weight, v.display_size, v.display_resolution, v.display_pixel_density, v.camera_back, v.hardware_processor, v.hardware_gpu, v.hardware_memory, v.hardware_storage, v.battery_capacity, v.tech_data')-> 3. from('tb_smartphones as s')-> 4. join('tb_values as v', 's.code = v.code')-> 5. where('s.price BETWEEN '.$nLow.' AND '.$nHigh, NULL, FALSE)> 6. get()->result(); 7. return $result; 8. }
Hasil dari perintah pada Kode Program 1 akan disimpan kedalam variable array yang akan digunakan untuk melakukan perhitungan berikutnya. Proses berikutnya adalah melakukan perhitungan nilai subkriteria (subcriteria value). Nilai subkriteria didapatkan dengan cara mencari selisih nilai bobot kriteria antar alternatif jika didapatkan nilai positif (>0) maka nilai subkriteria alternative tersebut sama dengan 1, sebaliknya akan bernilai 0 jika nilai selisih lebih kecil sama dengan 0 (<=0). Sebagai contoh perhitungan nilai subkriteria F1 dari A1 banding A2 : Hasil manual A1A2 = F1(A1) – F1(A2) = 2-3 = -1 maka nilai subkriteria A1A2 = 0 Penerapan kode program untuk melakukan perhitungan subkriteria dapat dilihat pada Kode Program 2.
Kode Program 2 Perintah untuk Melakukan Perhitungan Nilai Subkriteria 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
function getSubcriteria($vSmartphone, $nAlternatif) { for ($nCriteria = 2; $nCriteria <= 13; $nCriteria++) { for ($x = 0; $x < $nAlternatif; $x++) { for ($y = 0; $y < $nAlternatif; $y++) { if ($x == $y) { $vSubCriteria[$nCriteria - 2][$x][$y] = 0; } else if (($vSmartphone[$x][$nCriteria] $vSmartphone[$y][$nCriteria]) > 0) { $vSubCriteria[$nCriteria - 2][$x][$y] = 1; } else if (($vSmartphone[$x][$nCriteria] $vSmartphone[$y][$nCriteria]) <= 0) { $vSubCriteria[$nCriteria - 2][$x][$y] = 0;}}}} return $vSubCriteria; }
Nilai dari subkriteria tiap perbandingan alternatif akan dicari nilai rata-ratanya. Nilai inilah yang disebut dengan nilai promethee 1. Misalkan nilai perbandingan
15
untuk alternatif 1 dibanding dengan alternatif 2 untuk semua kriteria adalah sebagai berikut (A1A2) : Hasil Rata-rata manual A1A2 = (0+0+0+0+0+0+1+0+0+1+1+0) / 12 = 3 / 12 = 0.25 Berdasarkan nilai perhitungan subkriteria tersebut akan didapatkan nilai promethee 1 untuk tiap perbandingan kriterianya. Berikut ini adalah nilai promethee 1 berdasarkan sample data. Tabel 3 Nilai Promethee 1 tiap Alternatif
A1 A2 A3 A4 A5 A6
A1 0.1667 0.3333 0.1667 0.25 0.0833
A2 0.25 0.3333 0.1667 0.25 0.25
A3 0.5 0.4167 0.4167 0.25 0.4167
A4 0.3333 0.1667 0.3333 0.25 0.25
A5 0.5 0.3333 0.25 0.25 0.4167
A6 0.25 0.25 0.5 0.1667 0.3333 -
Penerapan kode program untuk menghitung nilai promethee 1 dapat dilihat pada Kode Program 2. Setiap nilai perbandingan pada proses sebelumnya akan dihitung rata-ratanya.
Kode Program 3 Perintah untuk Melakukan Perhitungan Nilai Promethee 1 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
function getPromethee1($vSubcriteria, $nAlternatif) { $vTemp = 0; for ($x = 0; $x < $nAlternatif; $x++) { for ($y = 0; $y < $nAlternatif; $y++) { for ($nCriteria = 0; $nCriteria < 12; $nCriteria++) { if ($x == $y) { break; } else { $vTemp += $vSubcriteria[$nCriteria][$x][$y];}} if ($x == $y) { $vPromethee1[$x][$y] = 0; } else { $vPromethee1[$x][$y] = $vTemp / 12; $vTemp = 0;}}} return $vPromethee1; }
16
Hasil dari perhitungan nilai promethee 1 dapat digunakan untuk melakukan perhitungan nilai leaving flow dan entering flow. Perhitungan nilai leaving flow didapatkan dengan cara menghitung nilai rata-rata nilai promethee 1 secara mendatar (horizontal). Sebagai contoh nilai leaving flow dari A1 adalah : Hasil Nilai Leaving Flow manual A1 = (0+0.25+0.5+0.3333+0.5+0.25) / 6 = 0.3667 Hasil dari perhitungan nilai leaving flow tiap alternatif dapat dilihat pada Tabel 4. Tabel 4 Nilai Leaving Flow tiap Alternatif Alternatif A1 A2 A3 A4 A5 A6
Nilai Leaving Flow 0.366667 0.266667 0.35 0.233333 0.266667 0.283333
Kode program untuk melakukan perhitungan nilai leaving flow dapat dilihat pada Kode Program 4. Setiap nilai promethee pada variable array sebelumnya akan ditambah dan dibagi sejumlah alternatif. Kode Program 4 Perintah untuk Melakukan Perhitungan Nilai Leaving Flow 1. 2. 3. 4. 5. 6. 7.
function getLeavingFlow($vPromethee1, $nAlternatif) { for ($x = 0; $x < $nAlternatif; $x++) { $vTemp = 0; for ($y = 0; $y < $nAlternatif; $y++) { $vTemp += $vPromethee1[$x][$y];} $vLeavingFlow[$x] = $vTemp / ($nAlternatif - 1);} return $vLeavingFlow;}
Perhitungan nilai entering flow dilakukan dengan cara menghitung nilai rata-rata nilai promethee 1 secara menurun (vertical). Sebagai contoh nilai entering flow dari A1 adalah : Hasil Nilai Entering Flow manual A1 = (0+0.1667+0.3333+0.1667+0.25+0.0833) / 6 = 0.2 Hasil dari perhitungan nilai entering flow tiap alternatif dapat dilihat pada Tabel 5. Tabel 5 Nilai Entering Flow tiap Alternatif Alternatif A1 A2 A3 A4 A5 A6
Nilai Entering Flow 0.2 0.25 0.4 0.267 0.35 0.3
17
Kode program untuk melakukan perhitungan nilai entering flow dapat dilihat pada Kode Program 5. Setiap nilai promethee pada variable array sebelumnya akan ditambah dan dibagi sejumlah alternatif. Kode Program 5 Perintah untuk Melakukan Perhitungan Nilai Entering Flow 1. 2. 3. 4. 5. 6. 7.
function getEnteringFlow($vPromethee1, $nAlternatif) { for ($y = 0; $y < $nAlternatif; $y++) { $vTemp = 0; for ($x = 0; $x < $nAlternatif; $x++) { $vTemp += $vPromethee1[$x][$y];} $vEnteringFlow[$y] = $vTemp / ($nAlternatif - 1);} return $vEnteringFlow;}
Setelah nilai leaving flow dan nilai entering flow untuk tiap alternatif didapatkan maka akan dihitung nilai dari net flow. Nilai net flow merupakan nilai selisih antara nilai leaving flow dan nilai entering flow. Nilai net flow inilah yang akan menentukan urutan prioritas alternatif. Semakin besar nilai net flow maka alternatif tersebut berada pada rangking yang lebih atas. Hasil Nilai Net Flow manual Hasil dari A1= 0.3667-0,2= 0.1667. Hasil perhitungan nilai net flow berdasarkan contoh data adalah :
Tabel 6 Nilai Net Flow tiap Alternatif Alternatif A1 A2 A3 A4 A5 A6
Nilai Net Flow 0.1667 0.0167 -0.05 -0.0333 -0.0833 -0.0167
Rangking 1 2 5 4 6 3
Penerapan kode program untuk perhitungan nilai net flow dapat dilihat pada Kode Program 6. Kode Program 6 Perintah untuk Melakukan Perhitungan Nilai Net Flow 1. function getNetFlow($vLeavingFlow, $vEnteringFlow, $nAlternatif) { 2. for ($index = 0; $index < $nAlternatif; $index++) { 3. $vNetFlow[$index] = $vLeavingFlow[$index] $vEnteringFlow[$index];} 4. return $vNetFlow;}
Pengujian Pengujian sistem dilakukan untuk mengetahui apakah sistem sudah berjalan dengan baik atau tidak. Jika terdapat kesalahan fungsi maupun proses maka sistem akan diperbaiki untuk mendapatkan hasil yang lebih baik. Pengujian sistem yang dilakukan adalah pengujian black-box dan white-box.
18
Pengujian Black-Box adalah pengujian yang mengabaikan mekanisme internal sistem atau komponen dan fokus semata-mata pada output dihasilkan dalam proses eksekusi[15]. Dalam pengujian black-box dilakukan oleh pengguna atau pihak yang tidak terlibat pada proses teknis atau pengkodean pembuatan sistem. Pengujian ini akan mengecek apakah output yang dihasilkan sudah sesuai dengan kebutuhan pengguna. Pengujian ini dilakukan dengan kuesioner kepada 30 mahasiswa UKSW Salatiga, dengan 4 pertanyaan sebagai berikut: 1. Setelah batas harga atas dan batas harga bawah sistem dimasukkan apakah sistem dapat melakukan perhitungan promethee? a. Ya b. Tidak (untuk menguji hasil dari perhitungan promethee yg muncul dan menampilkan rangking smartphone) 2. Apakah dalam mode admin sdh dapat dilakukan penambahan smartphone? a. Ya b. Tidak (untuk menguji data detail spesifikasi smartphone baru yg disimpan ke dalam database) 3.Apakah dalam mode admin sdh dapat menambahkan nilai bobot? a. Ya b. Tidak (untuk menguji nilai bobot kriteria yang dimasukkan dapat disimpan ke database) 4. Apakah keluar notifikasi bila dalam range harga tertentu tidak terdapat data smartphone? a. Ya b. Tidak (Untuk menguji peringatan atau pemberitahuan kepada user jika terdapat proses yang tidak berjalan dengan baik) Hasil dari kuesioner tersebut :
Pertanyaan Jawaban Responden 1 Ya 30 Tidak 0 2 Ya 30 Tidak 0 3 Ya 30 Tidak 0 4 Ya 30 Tidak 0
Persentase 100% 0 100% 0 100% 0 100% 0
Berdasarkan hasil kuesioner tersebut, maka hasil dari pengujian ini dapat dilihat pada Tabel 7.
19
Tabel 7 Tabel Hasil Pengujian Black-Box Pengujian Setelah batas atas dan batas bawah sistem dimasukkan maka dapat dilakukan perhitungan promethee
Hasil yang diinginkan Hasil dari perhitungan promethee akan muncul dan menampilkan rangking smartphone
Penambahan data smartphone baru dilakukan oleh admin
Data detail spesifikasi smartphone baru akan disimpan ke dalam database
Penambahan nilai bobot kriteria smartphone baru
Nilai bobot kriteria yang dimasukkan dapat disimpan ke database
Notifikasi error yang muncul jika proses tidak berjalan dengan baik
Muncul peringatan atau pemberitahuan kepada user jika terdapat proses yang tidak berjalan dengan baik
Keterangan kuesioner Sistem sudah dapat menghasilkan rangking smartphone yang sesuai dengan perhitungan promethee(dgn hasil 100% dari data yg didapat) Sistem dapat menyimpan data smartphone baru ke dalam database(dgn hasil 100% dari data yg didapat) Sistem dapat menyimpan data nilai bobot kriteria smartphone baru(dgn hasil 100% dari data yg didapat) Muncul notifikasi jika data yang dicari tidak ada jika berada pada range harga tertentu (dgn hasil 100% dari data yg didapat)
. Pengujian white-box adalah pengujian yang menguji mekanisme internal sistem atau komponen[21]. Pengujian ini dilakukan oleh software developer untuk mengetahui apakah setiap proses dan logika bekerja dengan benar. Menurut Pressman beberapa pengujian yang dapat dilakukan pada white-box testing adalah pengujian integrasi antar fungsi/method dan modul, pengujian logika kondisi/if, pengujian perulangan (looping), pengujian struktur data[15]. Pengujian integrasi pada sistem pendukung keputusan ini dilakukan dengan cara menguji apakah setiap fungsi sudah dijalankan dengan benar. Sebagai contoh setiap proses promethee yang terdapat pada sistem diletakkan pada fungsi yang berbeda-beda. Terdapat 6 fungsi yang dipanggil secara urut untuk tiap prosesnya, yaitu : fungsi getDataValue(), getSubcriteria(), getPromethee1(), getLeavingFlow(), getEnteringFlow(), getNetFlow(). Berikut ini adalah tabel hasil pengujian integrasi fungsi algoritma promethee.
Tabel 8 Tabel Hasil Pengujian White-Box pada Integrasi Fungsi Promethee Fungsi Pengujian Input Output Keterangan Parameter batas Nilai batas atas Daftar nilai Fungsi sudah getDataValue() harga harga dan nilai bobot dari dapat dimasukkan batas bawah smartphone menghasilka sebagai input ke harga yang berada n daftar nilai fungsi. Apakah pada range bobot fungsi akan harga (Valid) menghasilkan daftar nilai bobot
20
getSubcriteria()
getPromethee1()
getLeavingFlow()
getEnteringFlow()
getNetFlow()
yang diinginkan atau tidak. Hasil dari fungsi sebelumnya akan dimasukkan sebagai input untuk menghitung nilai subkriteria dari data tersebut Nilai subkriteria pada fungsi sebelumnya dimasukkan sebagai input untuk mengetahui nilai promethee 1 Nilai promethee 1 akan digunakan untuk menghitung nilai leaving flow Nilai promethee 1 akan digunakan untuk menghitung nilai entering flow Nilai promethee 1 akan digunakan untuk menghitung nilai net flow
Nilai bobot kriteria tiap alternatif
Nilai subkriteria dari kriteriakriteria yang ada tiap alternatif
Fungsi sudah dapat menghitung nilai subkriteria (Valid)
Nilai subkriteria
Nilai promethee 1
Fungsi sudah dapat menghitung nilai promethee 1 (Valid)
Nilai promethee 1
Nilai Leaving flow
Nilai promethee 1
Nilai entering flow
Nilai leaving flow dan entering flow
Nilai netflow
Fungsi sudah dapat menghitung nilai leaving flow (Valid) Fungsi sudah dapat menghitung nilai entering flow (Valid) Fungsi dapat menghitung nilai net flow (Valid)
Pengujian logika kondisi dan perulangan yang dilakukan pada sistem digunakan untuk mengetahui apakah pemilihan kondisi dan perulangan kode berjalan dengan benar. Contoh dalam pengujian ini dapat dilihat pada penggalan perintah berikut ini. Kode Program 7 Penggalan Perintah Fungsi getPromethee1() 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
for ($nCriteria = 0; $nCriteria < 12; $nCriteria++) { if ($x == $y) { break; } else { $vTemp += $vSubcriteria[$nCriteria][$x][$y];}} if ($x == $y) { $vPromethee1[$x][$y] = 0; } else { $vPromethee1[$x][$y] = $vTemp / 12; $vTemp = 0;}}
21
Penggalan perintah pada fungsi getPromethee1() akan melakukan perulangan sebanyak 12 kali. Jumlah perulangan ditentukan dari jumlah kriteria yang ditentukan sebelumnya. Perulangan ini dilakukan untuk menjumlahkan setiap nilai subkriteria alternatif dan mencari nilai rata-rata (nilai promethee 1). Terdapat pula logika kondisi yang akan menghasilkan true, jika nilai $x yang merupakan nilai baris matriks subkriteria dan nilai $y yang merupakan nilai kolom matriks subkriteria bernilai sama. Hasil dari kondisi if ini akan digunakan untuk tidak melakukan perhitungan nilai rata-rata terhadap perbandingan nilai subkriteria alternatif yang sama. 5.
Simpulan
Berdasarkan penelitian yang telah dilakukan maka terdapat beberapa kesimpulan sebagai berikut: sistem pendukung keputusan yang dibangun dapat merekomendasikan smartphone yang sesuai dengan budget. Sistem pendukung keputusan untuk rekomendasi smartphone ini menggunakan algoritma promethee dalam melakukan perangkingan. Perangkingan dilakukan berdasarkan dimensi, berat, ukuran layar, resolusi layar, pixel density, kamera belakang, prosesor, GPU, memory, kapasitas penyimpanan, kapasitas baterai, jaringan data. Setiap alternatif ditentukan terlebih dahulu nilai bobot kriterianya. Setelah itu, dimulailah proses perangkingan dengan menghitung nilai subkriteria, promethee 1, leaving flow, entering flow dan net flow. Rangking akan ditentukan dari nilai net flow. Berdasarkan pengujian maka dapat disimpulkan bahwa sistem pendukung keputusan menghasilkan rekomendasi smartphone dengan perangkingan promethee. 6. [1]
[2] [3]
[4]
[5] [6]
Daftar Pustaka Anonymous. 2014. Teknologi Smartphone Pada Perkembangan Layanan Bisnis Di Indonesia. http://liputangadget.com/2014/teknologi-smartphonepada-perkembangan-layanan-bisnis-di-indonesia.html, diakses tanggal 10 April 2014. Anonymous. 2013. Sengitnya Persaingan Smartphone Premium. http://m.koran-sindo.com/node/313391, diakses tanggal 15 April 2014. Wibowo, Fx. Bagus Ari. 2011. Perancangan dan Implementasi Sistem Pendukung Keputusan untuk Jalan Menggunakan Metode ID3 (Studi Kasus Bappeda Kota Salatiga). Salatiga : Universitas Kristen Satya Wacana. Ariansyah, Sigit. 2013. Sistem Pendukung Keputusan Evaluasi Kinerja Penyidik Anggota Polri Dengan Menggunakan Metode Promethee (Studi Kasus Direktorat Reserse Kriminal Umum Polda Jatim Surabaya). Malang : Universitas Brawijaya. Daihani, D, Umar. 2001. Komputerasi Pengambilan Keputusan, PT Elex Media Komputindo, Jakarta. Bonczek, R.H, C.W. Holsapple dan A.B. Whinston. 1980. The Evolving Roles of Models un Decision Support Systems.
22
[7]
Turban, E., J. E. Aronson, dan T. Liang. 2005. Decision Support System and Intelligent System, Pearson Prantince Hall, New Jersey. [8] Kusrini. 2007. Konsep dan Aplikasi Sistem Pendukung Keputusan. Yogyakarta: Andi. [9] Rahardjo, Jani. 2000. Jurnal Teknik Industri: Penerapan MultiCriteria Decision Making dalam Pengambilan Keputusan Sistem Perawatan. Surabaya : Universitas Kristen Petra. [10] Brans, Jean-Pierre. 1998. Promethee Method. Centrum Voor Statistiek Operationeel Onderzoek, Brussel University. Belgia. http://www.inf.unideb.hu/valseg/dolgozok/anett.racz/docs/DSS/Promethee .pdf [11] Goumas, M and Lygerou, V. 1998. An Extension of the PROMETHEE method for decision making in fuzzy environtment : Ranking of alternatif energy exploitation projects. Department of Chemical Engineering, University of Athens. Greece. http://www.dss.dpem.tuc.gr/pdf/ANEXTE~1.pdf. Diakses tanggal : 10 November 2013. [12] Brans, J.P, & Mareschal. 2002. B. PROMETHEE--GAIA: metodologi untuk mendukung pengambilan keputusan untuk beberapa kriteria. Brussels: Editions de L'Universite de Bruxelles. [13] Herman, M. 2004. A Multi-Criterion Decision Making Approach to Problem Solving. Belgium : Royal Defense College. [14] Hasibuan, Zainal A., 2007, Metodologi Penelitian Pada Bidang Ilmu Komputer dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi, Jakarta : Ilmu Komputer Universitas Indonesia. [15] Pressman, Roger S. 2001. Software Engineering A Practitioner Aproach. New York : McGraw-Hill. [16] Anonymous. 2014. gsmarena.com, diakses tanggal 28 Maret 2014. [17] Anonymous. 2014. phonearena.com, diakses tanggal 15 April 2014. [18] Anonymous. 2014. Smarthphone.findthebest.com, diakses tanggal 20 April 2014. [19] Anonymous. 2014. notebookcheck.com, diakses tanggal 20 April 2014. [20] [21]
Anonymous. 2014. tabloidpulsa.com, diakses tanggal 10 April 2014. IEEE. 1990. IEEE Standard 610.12-1990, IEEE Standard Glossary of Software Engineering Terminology.
23