Monday 22 July 2013

Pendekatan Distribusi

Download pendekatan distribusi (pdf)

1. Hypergeometrik ke Binomial
2. Binomial ke Poisson
3. Poisson ke normal
4. Binomial ke normal
5. Contoh soal

Download materi Statistika Non Parametrik (pdf)

Download materi Statistika Non Parametrik (pdf)

isi:
A. Uji mean satu populasi
   1. Uji binomial
B. Uji mean dua sampel independen/bebas
   1. Mann-Whitney test
   2. Kolmogorov Smirnov test
C. Uji mean untuk dua sampel dependen/berpasangan
   1. Wilcoxon Signed-Rank test
   2. McNemar test
D. Uji mean K sampel independen/bebas
   1. Kruskal Wallis test
   2. Median test
E. Uji mean untuk K sampel dependen/berpasangan
   1. Friedman test
   2. Q Cochran test

Wednesday 19 June 2013

Program R dan Statistika

Selama ini  banyak orang mengaitkan statistika dengan software terkenal yakni SPSS. Padahal, banyak sekali di luar sana software yang bermunculan untuk penghitungan analisis statistika. Disini saya akan memperkenalkan apa itu R.

R merupakan program Statistika dapat di download secara bebas di CRAN-archive (The Comprehensive R Archive Network) melalui  http://CRAN.R-project.org. Server utama CRAN berlokasi di Universitas Teknologi Vienna, Austria dan di mirror world-wide lebih kurang 90 reporsitory di seluruh dunia termasuk Indonesia

R dapat dioperasikan di bawah sistem operasi Windows, Linux dan Macintosh. R juga menyediakan fasilitas dimana user dapat melakukan analisa statistik, membangun prosedur-prosedur baru dan membuat paket agar bisa digunakan oleh semua orang. Versi paling awal R-1.0.0 dibuat tahun 1992 di Universitas Auckland, New Zeland oleh Ross Ihaka dan Robert Gentleman.

Saat ini source code kernel R dikembangkan oleh R Core Team, yang beranggotakan 22 orang statistisi dari berbagai penjuru dunia (http://www.r-project.org/contributors.html) dan oleh dukungan dari masyarakat statistisi dunia yang memberikan kontribusi berupa kode, melaporkan bugs dan membuat dokumentasi untuk R. Versi R yang terbaru (16 Mei 2013) untuk Windows adalah R 3.0.1



Kelebihan dan Kelemahan R

Selain R yang bersifat GPL sehingga kita tidak diharuskan membayar lisensi untuk penggunaannya, di bawah ini  berikut beberapa kelebihan dan kekurangan yang utama dari program R:

Kelebihan Utama Program R

  • Free : User dapat meng-copy dan menginstall program ini secara bebas tanpa perlu membayar lisensinya.
  • Multiplatform : R bersifat multiplatform operating systems, lebih umum dibanding program statistika yang pernah ada dengan demikian jika user ingin berpindah sistem operasi maka penyesuaian akan lebih mudah dilakukan. (contoh Windows ke Linux atau Linux ke Windows ).
  • Programmable : User dapat memprogramkan metode baru atau mengembangkan modifikasi dari fungsi-fungsi analisa statistika yang sudah ada dalam R. Dan juga dikarenakan berbasis analisa statistika pemrograman dalam membuat paket ini jauh lebih mudah karena sudah ditunjang beberapa program dasar statistik yang telah ada.
  • Bahasa berbasis analisa matriks. Bahasa R sangat baik untuk melakukan programming berbasis matriks. Sehingga sangat cocok dan powerfull untuk pemrograman dibidang multivariat.
  • Mempunyai kemampuan menampilkan grafis yang sangat baik dan lengkap sehingga sangat memudahkan bagi kita untuk menampilkan bentuk-bentuk grafik sesuai yang diinginkan dan mudah dibaca.

Kelemahan Utama Progam R:

  • R dibangun dalam versi CLI (Command Line Interface) yang banyak menggunakan syntax-syntax dalam pemrograman sehingga agak kurang user friendly  bagi para pengguna yang biasa menggunakan software dengan Point Click & GUI. Namun saat ini hal itu sudah mulai dapat teratasi dengan versi R-GUI yakni R-Commander walaupun masih belum memiliki tools yang lengkap namun sudah cukup powerfull untuk pengguna pemula.
  •  Missing Statistical Function : Walapun analisa statistika dalam R sudah cukup lengkap, belum semua metode statistika telah diimplementasikan didalam R

Paket dan Library

Fungsionalitas dan kemampuan dari R sebagian besar diperoleh dari Add on packages/library. Suatu library adalah kumpulan perintah atau fungsi yang dapat digunakan untuk melakukan analisa statistika. Sebagai contoh library ts berisikan berbagai fungsi yang dapat digunakan dalam analisa runtun waktu. Instalasi standar dari R memuat berbagai library-library dasar seperti stats, graphics, utils, datasets dan base. Diluar library-library dasar ini terdapat sejumlah besar library hasil kontribusi dari pengguna R yang harus di install satu-satu jika diperlukan. Daftar semua library yang tersedia dapat diakses dari link download CRAN pada alamat http://CRAN.R-project.org. Sebelum digunakan suatu library yang telah diinstall dalam R harus diloading kedalam memori.
 

Thursday 13 June 2013

Metode dalam Data Mining

Artikel sebelumnya telah membahas perkenalan data warehouse. Baca di sini. Selanjutnya dalam artikel kali ini akan di bahas metode apa saja yang ada dalam data mining. Terdapat beberapa metode dalam data mining, antara lain metode untuk clustering, classification, dan association.

Clustering atau pengelompokan merupakan teknik untuk mengelompokkan data ke dalam suatu kelompok tertentu. Metode clustering dalam data mining antara lain DBScan, Simple K-mean, Hierarchical CLustering. Dua terakhir pada metode clustering dalam data mining ini juga dipelajari pada mata kuliah Statistika Multivariat Terapan. Sebagai contoh untuk clustering: Terdapat 5 negara: Indonesia, Singapura, India, Inggris, Jerman. Maka 5 negara tersebut dapat dijadikan dua klaster berdasarkan letak geografisnya: Eropa (Inggris, Jerman) dan Asia (Indonesia, Singapura, India). Namun juga dapat dijadikan dua klaster yang berbeda berdasarkan tingkat sector industri dan jasa: Negara maju (Singapura, Inggris, Jerman) dan Negara berkembang (Indonesia, India).

Classification merupakan teknik pengklasifikasian data. Bedanya data dengan clustering pada clustering variabel dependen tidak ada sedangkan pada classification diharuskan ada variabel dependen. Contohnya pembagian criteria calon debitur yakni debitur baik dan buruk. Metode classification dalam data mining banyak sekali, misalnya ID3, C4.5, K Nearest Neighbors.

Associaton merupakan teknik dalam data mining yang mempelajari hubungan data. Associatin Rule  ini biasa digunakan pada supermarket untuk menganalisis perilaku pelanggan dalam berbelanja. Sebagai contoh jika pelanggan membeli barang A, B, C maka pelanggan akan membeli barang X. Atau dalam notasi biasa ditulis: A, B, C -> X .
Biasanya dalam software data mining juga ada beberapa metode baik clustering atau klasifikasi yang berasal dari cabang soft computing, misalnya neural network. Metode yang berasal dari soft computing yang biasanya juga disinggung dalam data mining antara lain perceptron , backpropagation (multilayer perceptron), self organizing map (SOM).

Data Warehouse dan Data Mining

Apakah yang ada di benak jika kita berbicara tentang data mining? Hmm. Yang pasti kata data kita semua sudah tahu. Lalu ‘mining’, apakah tambang? Jadi data mining adalah data tentang pertambangan ataukah menambang data? Tentu saja bukan itu. Maksudnya data mining adalah suatu teknik untuk mendapatkan informasi yang diperoleh dari data. Jumlah data pada data mining bisa mencapai ribuan atau dalam ukuran memori bisa satuan GB bahkan TB. Kebayang kan gedenya kayak apa?
Data warehouse
Sebelum berbicara lebih banyak apa itu data mining alangkah baiknya jika kita mengenal lebih dahulu data warehouse atau yang lebih kita kenal sebagai gudang data. Data warehouse merupakan teknik penyimpanan data. Data warehouse berbeda dengan database walaupun begitu, keduanya memiliki hubungan yang erat. Mari kita lihat dahulu perbedaan database dengan data warehouse.
Database biasanya merupakan data harian atau rentang waktu yang lebih kecil dari itu, dan sifat datanya adalah real time. Sedangkan data warehouse merupakan gabungan data dari beberapa database, maka data yang ada pada datawarehouse merupakan data historis. Sebagai contoh. Bank X memiliki pusat di kota Y memiliki cabang di kota A, B,C masing-masing kota memiliki database. Nah di kota Y data yang ada pada database lalu dikumpulkan di kota Y. Gabungan data dari beberapa database itu kemudian dimasukkan ke dalam gudang data yang dalam istilah kerennya data warehouse. Data warehouse sifatnya bukan realtime, melainkan data historis.
Software yang bisa digunakan untuk data warehouse adalah pentaho. Kita dapat belajar pentaho secara gratis dengan memanfaatkan pentaho versi community. Nah pada data warehouse dikenal proses ETL yakni extract, transform, dan load. Setelah ketiga proses yang cukup panjang itu maka diperoleh ringkasan data. Gunanya nanti untuk melihat bentuk yang lebih sederhana dari akumulasi suatu data dalam beberapa kelompok. Misalnya dikelompokkan berdasarkan tahun, bulan, kota/lokasi, jenis transaksi, bidang.  Bentuk ini nantinya yang kita kenal dengan sebutan data multidimensional. Nah untuk analisis lebih jauh, daa multidimensional ini di filter sesuai dimensi yang diinginkan. Dimensi adalah sebutan bagi variabel dalam datawarehouse dan data mining. Misalnya dalam datawarehouse ini terdapat dimensi no proposal, kode PT, status, bidang tahun, ingin dilihat jumlah penelitian dari semua bidang pada tiap-tiap tahun maka dilakukan filter terhadap kode PT, no proposal, program, status, dan hasilnya adalah sebagai berikut:

Wednesday 1 May 2013

Penyelesaian Farmer Problem Menggunakan BFS (Breadth First Search)

Artikel kali ini akan membahas tentang farmer problem, dimana terdapat seorang petani yang membawa serigala, kambing, dan sayur di sebuah sisi sungai kemudian petani ini akan memindahkan ketiga bawaanya ke seberang sungai, termasuk petani itu sendiri, menggunakan perahu yang hanya muat untuk petani itu sendiri dan satu barang bawaannya. Syaratnya, kambing dan sayur tidak boleh bersama-sama, begitu juga dengan serigala dan kambing. Penyelesaian masalah ini menggunakan metode BFS (Breadth First Search) dengan bahasa prolog (.pl)

Pembahasan:



member(X,[X|_]).
member(X,[_|T]):-member(X,T).
printLst([]).
printLst([H|T]) :- printLst(T),write(H),nl.
go(Start,Goal) :- path(Start,Goal,Start).
path(Goal,Goal,L) :- write('Solution Path is: ' ), nl,
flatten(L,X),printLst(X).
path(State,Goal,L) :- move(State,Next), not(member(Next,L)),
path(Next,Goal,[Next|L]),nl,!.
opp(e,w).
opp(w,e).
move(state(X,X,G,C), state(Y,Y,G,C))
:- opp(X,Y), not(unsafe(state(Y,Y,G,C))),
write('try farmer takes wolf'),nl.
move(state(X,W,X,C), state(Y,W,Y,C))
:- opp(X,Y), not(unsafe(state(Y,W,Y,C))),
write('try farmer takes goat'),nl.
move(state(X,W,G,X), state(Y,W,G,Y))
:- opp(X,Y), not(unsafe(state(Y,W,G,Y))),
write('try farmer takes cabbage'),nl.
move(state(X,W,G,C), state(Y,W,G,C))
:- opp(X,Y), not(unsafe(state(Y,W,G,C))),
write('try farmer takes self'),nl.
move(state(F,W,G,C), state(F,W,G,C))
:- write('BACKTRACK'),nl, fail.
unsafe(state(X,Y,Y,_)) :- opp(X,Y).
unsafe(state(X,_,Y,Y)) :- opp(X,Y).

input output
4 ?- go(state(w,w,w,w),state(e,e,e,e)).
try farmer takes goat
try farmer takes goat
try farmer takes goat
BACKTRACK
try farmer takes self
try farmer takes wolf
try farmer takes wolf
try farmer takes goat
try farmer takes goat
try farmer takes cabbage
try farmer takes wolf
try farmer takes wolf
try farmer takes goat
try farmer takes goat
try farmer takes cabbage
BACKTRACK
BACKTRACK
try farmer takes cabbage
try farmer takes self
try farmer takes goat
Solution Path is:
state(w,w,w,w)
state(e,w,e,w)
state(w,w,e,w)
state(e,e,e,w)
state(w,e,w,w)
state(e,e,w,e)
state(w,e,w,e)
state(e,e,e,e)







true.

Penjelasan program

member(X,[X|_]).
member(X,[_|T]):-member(X,T).
printLst([]).
            Kode di atas merupakan perintah List.

printLst([H|T]) :- printLst(T),write(H),nl.
go(Start,Goal) :- path(Start,Goal,Start).
path(Goal,Goal,L) :- write('Solution Path is: ' ), nl,
flatten(L,X),printLst(X).
path(State,Goal,L) :- move(State,Next), not(member(Next,L)),
path(Next,Goal,[Next|L]),nl,!.

opp(e,w).
opp(w,e).
      Kode di atas merupakan kode untuk sisi yang berlawanan, yakni sisi barat menjadi sisi timur, sisi timur menjadi sisi barat.

move(state(X,X,G,C), state(Y,Y,G,C))
:- opp(X,Y), not(unsafe(state(Y,Y,G,C))),
write('try farmer takes wolf'),nl.
      Kode di atas memindahkan farmer dan wolf ke sisi sungai yang berlawanan tetapi dengan posisi baru yang aman.

move(state(X,W,X,C), state(Y,W,Y,C))
:- opp(X,Y), not(unsafe(state(Y,W,Y,C))),
write('try farmer takes goat'),nl.
Kode di atas memindahkan farmer dan goat ke sisi sungai yang berlawanan tetapi dengan posisi baru yang aman.

move(state(X,W,G,X), state(Y,W,G,Y))
:- opp(X,Y), not(unsafe(state(Y,W,G,Y))),
write('try farmer takes cabbage'),nl.
Kode di atas memindahkan farmer dan cabbage ke sisi sungai yang berlawanan tetapi dengan posisi baru yang aman.


move(state(X,W,G,C), state(Y,W,G,C))
:- opp(X,Y), not(unsafe(state(Y,W,G,C))),
write('try farmer takes self'),nl.
Kode di atas memindahkan farmer ke sisi sungai yang berlawanan tetapi dengan posisi baru yang aman.


move(state(F,W,G,C), state(F,W,G,C))
:- write('BACKTRACK'),nl, fail.
      Perintah backtracking, yakni proses mengulangi kembali pada posisi awal dan mencoba kembali.

unsafe(state(X,Y,Y,_)) :- opp(X,Y).
Kode di atas menunjukkan sisi yang tidak aman, yakni ketika goat dan cabbage dalam sisi yang sama.

unsafe(state(X,_,Y,Y)) :- opp(X,Y).
Kode di atas menunjukkan sisi yang tidak aman, yakni ketika wolf dan goat dalam sisi yang sama.

Tuesday 30 April 2013

Program Silsilah Keluarga Menggunakan Prolog

Programming in Logic atau yang sering disingkat prolog merupakan bahasa pemrograman untuk komputasi simbolik, bukan numerik. Prolog cocok untuk mengatasi problem yang melibatkan objek dan hubungan antara objek-objek tersebut (Bratko, 1991). Bagi yang sudah atau sedang mengambil mata kuliah kecerdasan buatan (Artificial Intelegence) pasti tahu dengan bahasa yang satu ini.
Perbedaan operator logika dengan Prolog:
Operator Logika Prolog
^ ,
? ;
? :-
¬ not
Di sini saya menggunakan prolog interpreter, SWI prolog (free), untuk mendapatkannya dapat didownload di http://www.swi-prolog.org/
Contoh aplikasi prolog yang umum adalah pada kasus silsilah keluarga. Nah, misalnya sebuah keluarga memiliki silsilah sebagai berikut.


Pada bahasa prolog kita dapat menuliskan fakta sebagai berikut:
married(yuda,nina).
Artinya Yuda menikah dengan Nina.
child(rico,yuda).
Artinya Rico adalah anak dari Yuda.
male(yuda).
Artinya Yuda adalah laki-laki.
Demikian juga dengan aturan, kita bisa menuliskannya sebagai berikut:
parent(A,B,C) :-child(A,B),married(B,C).
artinya jika A adalah anak B dan B menikah dengan C maka orang tua dari A adalah B dan C.
download silsilah-keluarga-dalam-prolog.pdf
download kode prolog silsilah.txt
Copy silsilah.txt dalam notepad++ kemudian simpan dengan nama silsilah.pl lalu simpan dalam direktori prolog (biasanya di My Document\Prolog)
Semoga bermanfaat.

Statistika Inferensi

Merupakan metode hubungan beberapa variabel dengan berbagai skala pengukuran atau pencacahan. Dapat pula merupakan persoalan sederhana hanya menduga (menaksir) pemusatan populasi (parameter) berdasarkan pemusatan sampel (statistik). Hubungan antara variabel nominal dapat ditafsirkan sebagai perbedaan kelompok. Misalnya mempelajari hubungan jenis kelamin (laki-perempuan) dengan prestasi belajar statistika ekuivalen dengan mempelajari perbedaan prestasi belajar statistika antara kelompok laki-laki dan perempuan. Taksiran parameter dapat berupa taksiran titik dan interval (dengan tingkat keyakinan tertentu berdasarkan sebaran data). Variabel (objek yang diamati) dibedakan menjadi variabel bebas (penjelas/ explanatory) dan variabel respon (terikat/response).

 Download file statistika inferensi di sini

Sunday 28 April 2013

Membuat Personal Logo Search Engine


Penasaran dengan gambar di atas? Yup, membuat personal logo search engine bukanlah hal yang mustahil. caranya cukup mudah dan amat sangat mudah. Yakni dengan funnylogo.info. Website ini menyediakan personal logo yang dapat dibuat sesuai selera, ya seperti contoh saya diatas, dengan style Google. Anda juga bisa membuat logo dengan style yang lainnya misalnya dengan font Yahoo!, Lord Of The Ring, Harry Potter, Star Wars.

caranya mudah, masuk ke http://funnylogo.info/, lalu masukkan nama atau kata yang nanti dijadikan logo. Lalu pilih style logo kemudian klik Create My Search Engine. Personal search engine selesai dibuat, jadikan personal search engine tersebut sebagai homepage.

Statistika Deskriptif

Statistika deskriptif merupakan teknik statistik yang memberikan informasi hanya mengenai data yang dimiliki dan tikda bermaksud untuk menguji hipotesisi dan kemudian menarik inferensi yang digeneralisasikan untuk data yang lebih besar atau populasi.


Statistika deskriptif meliputi penghitungan frekuensi, frekuensi kumulatif, presentase, presentase kumulatif, presentil, minimum, maksimum, ukuran pusat (mean, median, modus), ukuran  sebaran (standar deviasi, variansi), dan tabulasi (diagram batang, pie chart, dll)

Untuk tau lebih lanjut apa itu statistika deskriptif, klik link berikut:
Statistika deskriptif

Friday 26 April 2013

Kecerdasan Buatan

Sebelum kita membahas lebih lanjut apa itu kecerdasan buatan, mari kita lihat beberapa teknologi yang ada di sekitar kita.
  • Pernahkan kita melihat di televisi dalam suatu film terdapat wajah seseorang yang dapat diidentifikasi oleh komputer?
  • Dalam dunia game, tidak heran jika komputer pun bisa terlihat lebih cerdas daripada manusia.
  • Sebuah komputer dapat mengidentifikasi kelayakan calon debitur hanya dengan beberapa karakteristik.
Itulah yang akan kita bahas nanti. 

Definisi Kecerdasan Buatan (Artificial Intelligence/AI):
Merupakan bidang ilmu komputer yang berusaha membuat mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik manusia (Kusumadewi, 2003)

Perbedaan Kecerdasan Buatan dengan Kecerdasan Konvensional
  • Pemrosesan
    • AI : Simbolik
    • Komputasi: Logaritmik
  • Input
    • AI: Biasanya tidak lengkap
    • Komputasi: Harus Lengkap
  • Pencarian
    • AI: Biasanya heuristik
    • Komputasi: Didasarkan pada algoritma
  • Fokus
    • AI: Pengetahuan
    • Komputasi: Data dan informasi
  • Kemampuan menalar
    • AI: Ya
    • Komputasi: Tidak
Yang termasuk AI:
  • Sistem Pakar
  • Pengolahan Bahasa Alami (NLP)
  • Pengenalan Pola
  • Robotika dan sistem sensor
  • Computer Vision
  • Game Playing