Konsep sistem pendukung keputusan (SPK) atau Decision support system (DSS) pertama kali diungkapkan pada awal tahun 1970-an oleh Michael S. Scott Morton dengan istilah Management Decision Sistem. Sistem tersebut adalah suatu sistem yang berbasis komputer yang ditujukan untuk membantu pengambil keputusan dengan memanfaatkan data dan model tertentu untuk memecahkan berbagai persoalan yang tidak terstruktur.
Istilah SPK mengacu pada suatu sistem yang memanfaatkan dukungan komputer dalam proses pengambilan keputusan. Untuk memberikan pengertian yang lebih mendalam, akan diuraikan beberapa difinisi mengenai SPK yang dikembangkan oleh beberapa ahli, diantaranya oleh Man dan Watson yang memberikan definisi sebagai berikut, SPK merupakan suatu sistem yang interaktif, yang membantu pengambil keputusan melalui penggunaan data dan model-model keputusan untuk memecahkan masalah yang sifatnya semi terstruktur maupun yang tidak terstruktur.
Pengambilan keputusan merupakan proses pemilihan alternative tindakan untuk mencapai tujuan atau sasaran tertentu. Pengambilan keputusan dilakukan dengan pendekatan sistematis terhadap permasalahan melalui proses pengumpulan data menjadi informasi serta ditambah dengan faktor – faktor yang perlu dipertimbangkan dalam pengambilan keputusan.
Tahap – tahap Pengambilan Keputusan
Menurut Herbert A. Simon ( Kadarsah, 2002:15-16 ), tahap – tahap yang harus dilalui dalam proses pengambilan
keputusan sebagai berikut :
1. Tahap Pemahaman ( Intelligence Phase )
Tahap ini merupakan proses penelusuran dan pendeteksian dari lingkup problematika serta proses pengenalan masalah. Data masukan diperoleh, diproses dan diuji dalam rangka mengidentifikasikan masalah.
2. Tahap Perancangan ( Design Phase )
Tahap ini merupakan proses pengembangan dan pencarian alternatif tindakan / solusi yang dapat diambil. Tersebut merupakan representasi kejadian nyata yang disederhanakan, sehingga diperlukan proses validasi dan verifikasi untuk mengetahui keakuratan model dalam meneliti masalah yang ada.
3. Tahap Pemilihan ( Choice Phase )
Tahap ini dilakukan pemilihan terhadap diantara berbagai alternatif solusi yang dimunculkan pada tahap perencanaan agar ditentukan / dengan memperhatikan kriteria – kriteria berdasarkan tujuan yang akan dicapai.
4. Tahap Impelementasi ( Implementation Phase )
Tahap ini dilakukan penerapan terhadap rancangan sistem yang telah dibuat pada tahap perancanagan serta pelaksanaan alternatif tindakan yang telah dipilih pada tahap pemilihan.
Jenis Keputusan
Keputusan – keputusan yang dibuat pada dasarnya dikelompokkan dalam 2 jenis, antara lain ( Herbert A. Simon ) :
1. Keputusan Terprogram
Keputusan ini bersifat berulang dan rutin, sedemikian hingga suatu prosedur pasti telah dibuat menanganinya sehingga keputusan tersebut tidak perlu diperlakukan de novo (sebagai sesuatu yang baru) tiap kali terjadi.
2. Keputusan Tak Terprogram
Keputusan ini bersifat baru, tidak terstruktur dan jarang konsekuen. Tidak ada metode yang pasti untuk menangani masalah ini karena belum ada sebelumnya atau karena sifat dan struktur persisnya tak terlihat atau rumit atau karena begitu pentingnya sehingga memerlukan perlakuan yang sangat khusus.
SISTEM PENDUKUNG KEPUTUSAN
Sistem Pendukung Keputusan merupakan suatu sistem interaktif yang mendukung keputusan dalam proses pengambilan keputusan melalui alternatif – alternatif yang diperoleh dari hasil pengolahan data, informasi dan rancangan model.
Pengertian Sistem Pendukung Keputusan
Menurut Keen dan Scoot Morton :
“ Sistem Pendukung Keputusan merupakan penggabungan sumber – sumber kecerdasan individu dengan kemampuan komponen untuk memperbaiki kualitas keputusan. Sistem Pendukung Keputusan juga merupakan sistem informasi berbasis komputer untuk manajemen pengambilan keputusan yang menangani masalah – masalah semi struktur “
Dengan pengertian diatas dapat dijelaskan bahwa sistem pendukung keputusan bukan merupakan alat pengambilan keputusan, melainkan merupakan sistem yang membantu pengambil 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.
Karakteristik Sistem Pendukung Keputusan
Dari pengertian Sistem Pendukung Keputusan maka dapat ditentukan karakteristik antara lain :
1. Mendukung proses pengambilan keputusan, menitik beratkan pada management by perception
2. Adanya interface manusia / mesin dimana manusia (user) tetap memegang control process pengambilan keputusan
3. Mendukung pengambilan keputusan untuk membahas masalah terstruktur, semi terstruktur dan tak struktur
4. Memiliki kapasitas dialog untuk memperoleh informasi sesuai dengan kebutuhan
5. Memiliki subsistem – subsistem yang terintegrasi sedemikian rupa sehingga dapat berfungsi sebagai kesatuan item
6. Membutuhkan struktur data komprehensif yang dapat melayani kebutuhan informasi seluruh tingkatan manajemen
Komponen Penyusun Sistem Pendukung Keputusan
Suatu Sistem Pendukung Keputusan (SPK) memiliki tiga subsistem utama yang menentukan kapabilitas teknis sistem pendukung keputusan, antara lain :
1. Subsistem Manajemen Basis data
2. Subsistem Manajemen Basis Model
3. Subsistem Dialog
Baca Selengkapnya...
Tuesday, March 26, 2013
Sistem Pendukung Keputusan
Sunday, December 2, 2012
Metode Clustering: K-means
Pengantar
Dalam artikel sebelumnya, telah dibahas perbedaan clustering dan classification. Dalam artikel ini, kita akan membahas salah satu metode clustering yang paling dasar, yaitu K-means Clustering.
Apa itu K-means?
Sebelum kita melangkah lebih jauh, mungkin ada baiknya mengetahui latar belakang mengapa disebut K-means. K di sini dimaksudkan sebagai konstanta jumlah cluster yang diinginkan. Jadi, berhubung kita sudah mengasumsikan jumlah cluster yang akan dihasilkan algoritma ini, maka K didefiniskan diawal (contoh: K = 5 cluster).
Means dalam hal ini berarti nilai suatu rata-rata dari suatu grup data yang dalam hal ini didefinisikan sebagai cluster.
Jika
kita menggabungkan kedua hal tersebut, maka dapat diartikan bahwa
algoritma ini menggunakan K nilai rata-rata yang setiap nilai
rata-ratanya dihitung dari suatu cluster. Kalau ada 5 cluster, maka akan ada 5 rata-rata yang dipakai oleh algoritma ini.
Model Matematik
Seperti yang kita tau bahwa metode K-means ini menggunakan nilai rata-rata yang diambil dari setiap cluster. Maka berikut adalah cara bagaimana K-means menghitung rata-rata dari setiap cluster
Ck adalah nilai rata-rata dari cluster K (contoh: C1 adalah nilai rata-rata dari cluster yang pertama).
adalah semua anggota dari cluster K.
Pertanyaaan
berikutnya adalah, bagaimana cara memilih anggota dari suatu cluster?
Cara memilihnya mudah. Andaikan ada suatu data, kita ingin mengetahui ke
dalam anggota cluster manakah data tersebut paling cocok dimasukkan.
Caranya adalah dengan menghitung selisih antara data dan setiap nilai
rata-rata cluster. Cluster yang nilai rata-ratanya yang
memiliki selisih terkecil dengan data tersebut merupakan cluster dimana
data tersebut dikategorisasikan. Secara matematis dapat didefinisikan
sebagai berikut.
X adalah data yang sedang kita tentukan ke cluster mana harus dimasukkan. Ck adalah nilai rata-rata dari cluster k. K adalah jumlah cluster. Jadi, Cluster T merupakan cluster yang paling cocok untuk data X, karena cluster T memiliki selisih terkecil.
Bagaimana cara menghitung selisih? Kita bisa menggunakan berbagai macam metode seperti Eucledian distance, Mahalanobis distance, Manhattan distance, Normalised Cosines distance. Metode yang paling populer adalah dengan menggunakan Eucledian distance.
Kita sudah mengetahui bagaimana algoritma menghitung mean dari
masing-masing cluster, dan bagaimana algoritma mengelompokan data ke
dalam cluster-cluster yang ada. Pertanyaan berikutnya adalah, ketika
pertama kali algoritma dijalankan, kita hanya punyai adalah jumlah
cluster yang akan dihasilkan (K). Nah! untuk menghitung nilai rata-rata
dari setiap cluster diperlukan anggota, dan untuk menentukan anggota,
kita memakai informasi nilai rata-rata. Ini mirip dengan masalah ayam
dan telur, yang mana yang lebih dahulu. Untuk mengatasinya, kita akan
menentukan terlebih dahulu nilai rata-rata dari setiap cluster. Bagaimana caranya? Ada banyak cara, untuk artikel singkat ini, kita akan menentukannya secara acak (random). Tentunya
dalam menentukan angka acak kita tidak sembarangan sebab ini akan
membuat algoritma tidak berjalan dengan baik. Cara yang paling mudah
adalah memilih data yang ada sebagai nilai rata-rata dari suatu cluster.
Sebagai contoh, misalkan ada 3 data yaitu (1,0), (1,2), (1,4). K kita
tentukan K = 2. Jadi ada dua nilai rata-rata yang perlu kita tentukan
diawal. Secara acak kita memilih C1 = (1,0) dan C2 = (1,4).
Setelah kita menentukan nilai rata-rata awal dari setiap cluster, selanjutnya algoritma akan meng-update keanggotaan dari setiap cluster. Setelah itu algoritma akan menghitung kembali nilai rata-rata dari setiap cluster berdasarkan anggotanya yang baru saja di-update.
Pertanyaan berikutnya, kapan berhenti? Algoritma akan berhenti ketika tidak ada perubahan keanggotaan dari setiap cluster.
Algoritma
Baik, sekarang kita akan melihat algoritma K-means clustering ini.
- Tentukan K
- Tentukan Ck untuk semua cluster dengan memilih secara acak (random) dari data yang ada
- Update keanggotaan dari setiap cluster
- Update Ck berdasarkan anggota yang baru saja di-update
- Lakukan langkah 3 dan 4, sampai tidak ada perubahan keanggotaan dari setiap cluster.
Mudah bukan?
Mungkin
ada beberapa dari anda bertanya mengapa algoritma ini benar? Dalam
konteks pertanyaan ini, yang ditanyakan adalah apakah algoritma ini
selalu konvergen atau dalam arti, apakah algoritma ini dapat selalu
berhenti, atau akan berjalan terus. Jawaban nya adalah hampir dapat
dipastikan algoritma ini dapat konvergen atau dapat dapat berhenti,
dengan beberapa catatan. Untuk para pembaca yang tertarik untuk
mengetahui lebih jauh sifat konvergensi dari K-means, dapat meneliti
lebih jauh dengan mencari literature yang berhubungan dengan konvergensi
K-means.
Apakah hasil dari setiap eksekusi
algoritma pada data yang sama adalah selalu sama? Jawabannya tidak.
Karena ada unsur random disini, maka ada kemungkinan algoritma akan
menghasilkan hasil yang berbeda-beda. Untuk memastikannya, biasanya
algoritma dieksekusi berulang kali, dan hasilnya dianalisa.
Penutup
Kita
sudah melihat bagaimana algoritma K-means dan model matematiknya.
Metode K-means adalah metode yang paling dasar dan paling populer dalam clustering.
Namun demikian, banyak sekali kekurangan dalam metode ini. Metode ini
biasanya dapat berjalan dengan baik ketika data yang sedang diproses
mempunyai model Gaussian. Kalau kita tidak tau model dari data yang kita punya, tidak usah takut karena biasanya dalam clustering
kita bisa mencoba-coba terus menerus baik itu mengubah nilai K, maupun
mengeksekusi algoritma berulang kali sampai kita puas dengan hasilnya.
Baca Selengkapnya...
Friday, November 30, 2012
Clustering vs Classification
Diambil dari http://pengolahancitra.com, bahasanya enak dibaca, saya edit sedikit biar komplit.
Pengantar
Pada artikel singkat ini, kita akan membahas mengenai perbedaan antara clustering dan classification. Adalah penting untuk mengetahui perbedaan antara keduanya. Karena keduanya membawa pada pendekatan dan solusi yang berbeda.
Clustering
Secara formal clustering di definisikan sebagai suatu proses unsupervised
untuk mengelompokan data yang memiliki karakteristik tertentu yang
sama.
Di Wikipedia, Cluster analysis atau clustering adalah pengelompokan object-object kedalam kelompok-kelompok (yang disebut cluster) sehingga object-object yang ada di dalam cluster yang sama lebih mirip satu dengan yang lain dibandingkan dengan cluster yang berbeda.
Sederhananya seperti ini. Misalkan kita diberikan kelompok data,
katakanlah data tinggi anak-anak pada sekolah SD. Katakanlah kita ingin
mengelompokkan data-data ini kedalam 3 kelompok yang mana setiap
kelompok memiliki tinggi yang kurang lebih sama. Problem tersebut dapat dikategorikan dalam clustering problem.
Ada banyak pendekatan yang ada dalam clustering. Salah satu yang paling terkenal adalah pendekatan k-means clustering.
huruf K yang ada pada K-means berarti kita mengasumsikan bahwa kita
mengetahui jumlah kelompok yang akan dihasilkan.
Sederhananya algoritma
ini adalah sebagai berikut. Kita asumsikan ada K kelompok. Katakanlah
ada 3 kelompok. Lalu, kita tentukan secara acak 3 cluster centre. Lalu kelompokkan data-data kedalam kelompok yang memiliki jarak terpendek antara data tersebut dengan cluster centre. Selanjutnya, kalkulasikan centre baru
pada setiap kelompok. Lakukan langkah tersebut hingga pusat kelompok
tidak berubah. Mudah bukan?
Bagaimana kalau saya tidak mempunyai informasi mengenai jumlah kelompok yang mungkin terjadi? Ada caranya! yaitu dengan memakai leader-follower algorithm. Sederhananya, pendekatan ini memakai graph theory. Pertama2x kita pilih satu data menjadi cluster representation, selanjutnya, diberikan data yang lain, kita hitung jarak antara data tersebut dengan cluster representation yang ada. Jika jaraknya terlalu besar, maka data tersebut akan dikelompokkan dalam cluster yang baru.
Dalam clustering, biasanya kita menghadapi jumlah data yang amat banyak. Nah! ada beberapa pendekatan, ada yang disebut offline clustering , ada yang disebut online clustering.
Offline clustering artinya pendekatan tersebut tidak dapat digunakan dalam aplikasi real-time, mungkin saja prosesnya membutuhkan waktu 1 hari. Sebaliknya online clustering
mungkin bisa memproses data dalam hitungan detik. Tentunya tidak ada
makan siang yang gratis. Kita harus mengorbankan beberapa hal untuk
mendapatkan keuntungan di hal yang lainnya.
Kalau diperhatikan, k-means clustering termasuk dalam offline clustering.
Ini disebabkan pada setiap iterasi pendekatan ini memproses semua
datanya. Jadi jika ada 1 juta data, setiap kali iterasi, ada 1 juta data
yang di proses. Jika dibutuhkan sekitar 500 000 iterasi, artinya
komputer akan memiliki beban sekitar 500 milyar komputasi.
Sebaliknya leader-follower algorithm dapat dikategorikan dalam online clustering.
Dalam pendekatan ini, data yang sudah dikelompokkan tidak perlu
diproses lagi. Dan dalam setiap iterasinya hanya akan memproses 1 data
saja. Jadi kalau ada 1 juta data, komputer hanya akan memiliki beban 1
juta komputasi.
Classification
Pendekatan yang ada dalam classification
Ringkasan sedikit
Baca Selengkapnya...
Classification
Berbeda dengan clustering, classification
memiliki tujuan untuk mengklasifikasikan suatu data ke dalam kelompok
kelas yang sudah ada.
Sebagai contoh, misalkan diberikan sekelompok
sampel darah orang. Kita sudah tau jumlah kelompok golongan darah. Maka
tugas kita hanyalah menentukan suatu sampel darah masuk ke kelompok
mana. Jadi intinya, tidak akan ada pembentukan kelompok baru. Dan
biasanya prosesnya supervised. Dalam arti ada training yang dilakukan, dan dalam training tersebut, kita diberikan sekelompok sampel darah yang sudah diketahui masuk ke kelompok manakah sampel tersebut.
Ada banyak! contohnya adalah neural network. Dalam pendekatan ini, neural network
dilatih dengan menggunakan data yang sudah diketahui masuk ke kelompok
mana data tersebut. Setelah pelatihan, prosesnya cukup sederhana, yaitu
dengan memasukkan data baru (yang tidak termasuk dalam data training) ke dalam neural network, lalu neural network akan memberikan informasi termasuk ke dalam kelompok manakah data baru tersebut.
Contoh lain adalah pendekatan K-nn (k nearest neighbour). Dalam hal ini setiap data baru akan dibandingkan dengan data training. Lalu 3 data training
terdekat (misalkan kita ambil k = 3) dengan data baru akan diambil.
Misalkan ketiga data tersebut masuk ke dalam kelompok 1, 2 dan 1, maka
data baru tersebut dimasukan ke dalam kelompok 1 (seperti voting, karena suara yang terbanyak adalah 1, maka keputusannya adalah 1).
Maka jelas, kalau clustering dipakai
ketika kita tidak mengetahui bagaimana data harus dikelompokkan. Kita
bisa mengasumsikan jumlah kelompok yang ada. Keluaran pendekatan ini
adalah data yang sudah dikelompokkan. Di lain pihak, dalam classification, kita sudah mempunyai informasi mengenai bagaimana data tersebut dikelompokkan. Tugas kita hanyalah melakukan training
pada sistem dengan data yang sudah diberikan label (ke dalam kelompok
manakah data tersebut dikelompokkan), selanjutnya sistem akan
mengklasifikasikan data-data yang baru ke dalam kelompok yang ada. Tidak
akan ada pertambahan kelompok.
Subscribe to:
Posts (Atom)