Halaman

Jumat, 20 Juli 2012

Data Mining: Studi Kasus(2) Teknik Klasifikasi

Bagaimana cara implementasi data mining untuk teknik klasifikasi pada algoritma C4.5 ??. Seperti penjelasan teori sebelumnya tentang apa itu data mining data yang akan diolah untuk teknik ini merupakan dari data sebelumnya/histori/pengalaman. Hal ini dibuat untuk digunakan pengambilan keputusan untuk kejadian yang akan datang. Data yang diolah saat ini akan dijadikan model patokan guna keputusan selanjutnya. 

Data yang digunakan untuk bisa menjadi sebuah model yang baik idealnya mencukupi sebagai data riset. Semakin banyak data dan semakin sedikit kesalahan(error) maka semakin bagus model yang dijadikan patokan.

Teknik data mining yang akan diproses menggunakan sebuah Tools seperti RapidMiner, Weka dsb. Perhitungan algoritma akan proses/dilakukan secara otomatis oleh Tools tersebut.Oleh karena itu, untuk mengetahui algoritma sesungguhnya dilakuan perhitungan secara manual(lihat contoh disini)


Data pegawai dari suatu perusahaan.
Pegawai
Jabatan
Jenis Kelamin
Umur
Asal
Kategori
Gaji
1
service
Perempuan
45
Kota Besar
Level-3
2
service
Laki-laki
25
Kota Besar
Level-1
3
service
Laki-laki
33
Kota Kecil
level-2
4
Manajemen
Laki-laki
25
Kota Besar
Level-3
5
Manajemen
Perempuan
35
Kota Kecil
Level-4
6
Manajemen
Laki-laki
26
Kota Kecil
Level-3
7
Manajemen
Perempuan
45
Kota Besar
Level-4
8
Sales
Perempuan
40
Kota Kecil
Level-3
9
Sales
Laki-laki
30
Kota Besar
level-2
10
Staf
Perempuan
50
Kota Besar
level-2
11
Staf
Laki-laki
25
Kota Kecil
Level-1

Langkah-langkah untuk membuat decision tree(pohon keputusan) dari data diatas
Menggunakan software : RapidMiner
1.       Buka software rapidminer
2.       File - new
3.       Pilih direktori penyimpanan di : NewLocalrepository, kemudian berikan nama file “datakaryawan” kemudian klik OK
4.       Maka tampil main process
5.       Dibagian tab sebelah kiri ada tab operator, pilih Import - data - Read Excel
Hal ini digunakan untuk mengimport data kita. Ada berbagai macam pilihan disesuaikan dengan data yang kita punya(dalam hal ini menggunakan excel)
Lalu Klik and drag “Read Excel” tersebut kedalam Main Process
6.     Masih dalam keadaan terseleksi(untuk Read Excel) lihat di bagian sebelah kanan ada tab parameters
Klik Import Configuration Wizard
7.       Kemudian tampil jendela import wizard - pilih direktori dimana file datakaryawan disimpan == next
8.       Langkah selanjutnya adalah pemilihan range data mana saja yang akan diimport. Dalam hal ini semuanya maka klik Next - Next
9.       Dilangkah ini, tentukan label dan tipe data untuk setiap atribut
*keterangan
Polynom               = tipe data ini untuk karakter baik angka ataupun huruf (sama seperti varchar/text)
Binominom           = tipe data ini untuk 2 kategori (Y/T, L,P, Besar/Kecil, dll)
Atribut                 = digunakan sebagai variable predictor/prediksi
Label                    = digunakan sebagai variable tujuan

10.   Klik finish dan kembali ke main process
11.   Ambil data yang telah diimport melalui wizard tadi di tab operator, ketik decision tree pada bagian filter
 12.   Kemudian klik and drag “decision tree” ke main process
13.   Kemudian klik and drag “out” (pada Read Excel) KE “tra”(pada decision tree)
14.   Kemudian klik and drag “mod” (pada decision tree) KE “res” disebelah kanan main process
15.   Klik process - run atau klik pada toolbar
16.   Maka akan tampil decision tree seperti dibawah ini


 Untuk lebih jelasnya silakan download langkahnya dalam bentuk PDF disini










» Read more → Data Mining: Studi Kasus(2) Teknik Klasifikasi

Minggu, 17 Juni 2012

Membuat database di PhpMyAdmin:OOP-Part 2

Sebelum membuat project aplikasi, tahap pertama adalah pembuatan database. Ada banyak aplikasi database yang tersedia untuk penyimpanan data salah satunya adalah MySQL. Pembuatan database akan dibuat melalui PhpMyAdmin. MySQL dan PhpMyadmin sudah terinstal secara otomatis pada saat pertama kali intal Apache2Triad.



Adapun database yang akan dibuat dengan nama: Penjualan_Barang
Ada table dalam database tersebut, antara lain:

Table barang
   
Field name
Datatype
Len
Keterangan
KODEBRG
Varchar
5
Primary key
NAMABRG
Varchar
30

QTYBRG
Int
11

HARGABRG
Double




Table customer


Field name
Datatype
Len
Keterangan
Kd_pembeli
Varchar
5
Primary key
Nm_pembeli
Varchar
30

alamat
Varchar
30

telepon
Varchar
20




Langkah pembuatan database sebagai berikut:
a.)     Buka browser (mozila firefox)
b.)    Ketik “localhost/phpmyadmin" pada URL
c.)  Jika tampil kotak dialog ketik username dan password
Ketikan username    : root
Password               : password
    *Ket : user dan password diisi sesuai dengan user dan password yang diberikan pada saat pertama kali instal Apache2triad
d.)  Maka akan tampil jendela home dari phpMyAdmin, kemudian ketik nama database pada create new database “Penjualan_Barang” dan klik “Create”
e.)  Kemudian isi nama table dan jumlah kolom(fields)
Name : Barang
Number of fields : 4

f.)  Maka akan tampil pengisian field, dan isikan sesuai dengan tabel barang


jangan lupa jadikan kodebrg sebagai unique(primary key), kemudian klik simpan

*Untuk table customer, buat sama seprti langkah diatas




Secara fisik, table bisa dilihat di folder C:\Apachet2Triad\mysql\data
table yang terbentuk berupa file-file berextension, untuk file yang berextension.MYD adalah file dari table. Agar database tersebut dapat diimpor kedalam java, maka table tersebut perlu di export kedalam bentuk file .sql

Berikut langkah-langkah meng-export
buka database penjualan_barang di PhpMyAdmin, kemudian pilih tab export untuk mengexport data
akan tampil spt dibawah ini:

ceklist save as atau kirimkan ke, kemudian ketik nama file dan pilih option dikompress dengan Zip
lalu klik GO

» Read more → Membuat database di PhpMyAdmin:OOP-Part 2

Sabtu, 16 Juni 2012

Membuat Aplikasi dengan konsep OOP-Part 1

Sebelum masuk ke pembuatan program aplikasi berorientasi objek, ada baiknya kita mengetahui teori-teori yang mendukung untuk  pembuatan program OOP itu sendiri.
Program komputer atau sering kali disingkat sebagai program adalah serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer. Untuk membentuk suatu aplikasi/software(Wikipedia)

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. (Wikipedia)
Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman (pendekatan-pendekatan untuk menyelesaikan suatu persoalann) yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek (Wikipedia). Contoh meja, kursi adalah sebuah objek yang berada di dalam rumah (class). Sedangkan rumah juga bisa dikatakan objek yang dilihat dari sudut pandang yang lebih luas lagi. Jadi objek tergantung bagaimana melihat dari sudut pandang tertentu
Konsep yang membagi program menjadi objek-objek yang saling berinteraksi satu sama lain. Objek adalah benda, baik benda yang berwujud nyata maupun benda yang tidak nyata (konsep).

Konsep Dasar Pemrograman Berorientasi Objek
1.    Class
Merupakan kumpulan dari data atau atribut dan method.
Contoh konsep penerapan class didalam kehidupan adalah class manusia, class hewan, class tumbuhan, class mobil dan yang lainnya.
2.    Data atau atribut
Merupakan komponen terkecil didalam class, atau dapat dikatakan data merupakan karakteristik fisik dari class. Kita ambil contoh class manusia, manusia itu memiliki mata, telinga, hidung, mulut, tangan, kaki dan lainnya.

3.    Method
Merupakan sebuah cara atau suatu aktifitas dari suatu class yang menghasilkan sesuatu.
Contoh class manusia, manusia itu sedang makan. Dari kalimat tersebut dapat kita ambil kesimpulan bahwa manusia melakukan aktifitas makan yang dapat membuat manusia tersebut terasa kenyang.
4.    Object
Merupakan bentuk nyata (konkrit) dari class (abstract).  Kita ambil contoh sebuah kalimat  manusia itu sedang makan. Kalimat ini belum sempurna maknanya, dikarenakan masih bersifat abstract atau umum (siapa manusia yang dimaksud dari kalimat tersebut belum dapat didefinisikan).  Apabila kita lakukan perubahan pada kalimat tersebut menjadi ayahku sedang makan barulah kalimat tersebut mengandung makna dan dapat didefinisikan dikarenakan class manusia dinstansiasi menjadi object ayah.  Sebuah class tidak dapat beraktifitas atau tidak dapat menghasilkan sesuatu tanpa object, dengan kata lain object merupakan bentuk sederhana dari class.
Konsep OOP bisa dilakukan dibeberapa bahasa pemrograman salah satunya adalah JAVA.Di bahasa pemrogaman ini akan kita bahas bagaimana implementasi pembuatan aplikasi yang berorientasi OOP 

Persistence UNIT
Java persistance API, disebut juga JPA, merupakan bahasa pemrograman java framework yang memungkinkan developer untuk mengelola relasi data di platform Java Standard Edition (j2SE) dan Java Platform Enterprise Edition(j2EE), (Wikipedia)

Keuntungan menggunakan persistence API :
  • Tidak perlu membuat complex data access objects (DAO). API membantu mengelola transaksi.
  • Penulisan standar-kode yang berinteraksi dengan database relasional, lepas dari query database yang digunakan.
  • Dapat menghindari SQL penulisan bahasa query yang mengunakan nama kelas dan properti.
  • Dapat menggunakan dan mengelola POJOs.

Persistence di Java masuk dalam Java Persistence Api atau JPA. JPA mempunyai kemampuan yang cukup hebat yaitu project benar-benar tidak berurusan dengan database. tablenya akan dibuatkan sendiri oleh JPA. Beberapa hal yang perlu diperhatikan :
1. Memahami pendekatan dengan Object Oriented
2. Table dalam database akan di generate otomatis bedasarkan entity class yang di buat.
3. Ada beberapa library JPA yang bisa digunakan antara lain TopLink dan Hibernate.

Pengertian lain dari JPA adalah salah satu Java framework yang menggunakan pendekatan Object-relational mapping (ORM). Lahirnya ORM dilatarbelakangi oleh cara pandang OOP dalam dunia nyata untuk melihat sistem, termasuk ke dalam sistem basis data.

Cara kerja ORM ini adalah memetakan objek ke dalam database. Objek yang dimasukkan akan dibaca oleh ORM tersebut dan diubah ke dalam sintaks SQL. selanjutnya baru kemudian dijalankan di basis data relasional dan hasilnya kembali ke ORM. Berbagai macam teknologi yang menggunakan pendekatan ini seperti Entity Beans 2.x, Toplink, Hibernate, JDO, JDBC dengan DAO

Fitur utama dari Java Persistence API :
java persistance API adalah POJO(Plain Old Java Object) persistance API untuk untuk Object-Relational Mapping. Yang penuh berisi spesifikasi Object-Relational Mapping mendukung penggunaan java metadata annotation dan XML descriptors dalam menentukan pemetaan antara object java dan objek database relasional. Kaya dengan bahasa SQL, seperti query(yang merupakan extensi signifikan atas EJB QL) statis dan dinamis. Ia juga mendukung penggunaan
pluggable persistance dari provider tertentu.

Cara Kerja JPA.
Seperti Hibernate, JPA menggunakan annotation untuk melakukan mapping objek-objek ke dalam basis data relasional. Objek ini sering disebut dengan entitas. Entitas JPA adalah Plain Old Java Object (POJO) yang tidak meng-extend berbagai kelas atau meng-implement berbagai interface.
Salah satu kelebihannya dalah, kita tidak perlu membuat XML descriptor untuk melakukan mapping. Jika kita lihat dokumentasi API, JPA dibuat dengan menggunakan sedikit kelas dan interface. Sebagian besar package javax.persistence adalah annotation.

Sebelum membuat aplikasi project di java, langkah pertama adalah pembuatan database disini


» Read more → Membuat Aplikasi dengan konsep OOP-Part 1

Rabu, 30 Mei 2012

Data Mining - Studi Kasus(1) Teknik Klasifikasi

Dari pembahasan sebelumnya, dalam tahap data mining terdapat beberapa teknik yang bisa dilakukan untuk sebuah kasus. Salah satu nya adalah teknik klasifikasi. Tahap pemilihan teknik dalam data mining harus sesuai dengan tujuan dan algoritma untuk pencarian pola

Berikut pembahasan kali ini :
  • Tahap Data Mining : Klasifikasi
  • Metode klasifikasi yang digunakan : Decision Tree
  • Algoritma Decision Tree yang dicoba : C4.5
     
Klasifikasi sendiri merupakan suatu proses menemukan kumpulan pola atau fungsi yang mendeskripsikan serta memisahkan kelas data yang satu dengan yang lainnya untuk menyatakan objek tersebut masuk pada kategori tertentu yang sudah ditentukan.


secara umum, proses klasifikasi terdapat 2 tahap :
- Proses "belajar" (training data set) : berasal dari data pelatihan (yg sudah ada)
- Kasus   baru (new case) :


Contoh kasus yang akan dibahas dalam data mining teknik klasifikasi metode decision tree dengan algoritma C.45






Dari data diatas akan dibahas:
1. Perhitungan secara manual
2. Mencocokkan hasil perhitungan manual dengan penggunaan tools aplikasi dari
    a. WEKA
    b. Rapidminer

Oke.., untuk pembahasannya kita lanjutkan disini

*sumber
-larose
-berbagai sumber






» Read more → Data Mining - Studi Kasus(1) Teknik Klasifikasi

Kamis, 19 April 2012

Apa itu Data Mining..?


Apa itu data mining ?
What the mean of data mining..?? hmmm…dilihat dari pengertiannya “mining” berarti tambang/penggalian. Jadi secara makna data mining merupakan penggalian lebih untuk mendapatkan informasi yang berguna dari data yang sudah ada. Untuk apa ?? tentunya sekumpulan informasi yang kita terima dikumpulkan, dianalisa dan disimpulkan untuk memprediksi suatu permasalahan yang mungkin akan terjadi dimasa datang dan pengambilan keputusan.
Zaman dulu, mencari sebuah data dan informasi tidaklah mudah, berbeda dengan zaman sekarang sangat banyak dan begitu cepat informasi yang beredar. Tinggal search di google semua pilihan informasi tersedia, bahkan saking banyaknya kita harus pandai memilah dan memilih informasi mana yang memang kita butuhkan. Oke, itu sedikit pembuka dari saya sekarang mari kita mengenal lebih dalam apa itu data mining.. ^_^



Definisi Data Mining
Data mining adalah suatu istilah yang digunakan untuk menguraikan penemuan pengetahuan di dalam database. Data mining adalah proses yang menggunakan teknik statistic, matematika, kecerdasan buatan, dan machine elerning untuk mengekstrasi dan mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai database besar [Turban, 2005].

Inti dari data mining adalah kegiatan penggalian pengetahuan data. Pengertian dari istilah lain yang hampir mirip dengan data mining adalah Knowledge discovery dan pattern recognition.

*Knowledge discovery : menemukan pengetahuan dari bongkahan data yang masih tersembunyi
*pattern recognition : pengenalan pola. Pengetahuan yang digali masih berbentuk pola-pola yang mungkin masih perlu digali dalam bongkahan data


Pengelompokkan Data Mining
Data mining dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan , yaitu
1. Deskripsi
Menggambarkan sekumpulan data secara ringkas. Data yang digambarkan berupa:
- Deskripsi grafis : diagram titik, histogram
- deskripsi lokasi : mean(rata-rata), median(nilai tengah), modus, kuartil, persentil
- Deskripsi keberagaman : range(rentang), varians dan standar deviasi

2. Estimasi
Memperkirakan suatu hal dari sejumlah sample yang kita miliki(yg tidak kita ketahui)
Estimasi hampir sama dengan klasifikasi, kecuali variable target. Estimasi lebih kearah numeric dari pada kearah kategori.

3. Prediksi
Prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada dimasa datang(memperkirakan hal yang belum terjadi). Kita bisa menunggu hingga hal itu terjadi untuk membuktikan seberapa tepat prediksi kita

4. Klasifikasi
kegiatan menggolongkan, dengan menggunakan data historis(sebagai data yang digunakan untuk latihan dan sebagai pengalaman).Dalam klasifikasi terdapat variabel prediktor dan target variable,

5. Pengklusteran
Pengkulusteran merupakan pengelompokan record, pengamatan atau memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan. Kluster adalah kumpulan record yang memiliki kemiripan satu dengan yang lainya dan memiliki ketidak miripan dengan record-record dalam cluster.

6. Asosiasi
Tugas asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang biasa.

Berdasarkan pengelompokkan data mining tersebut, masing masing memiliki kelompok fungsi antara lain:
-- Fungsi Minor (tambahan) : deskripsi, estimasi, prediksi
-- Fungsi Mayor (utama) : klasifikasi, pengelompokkan, estimasi

Knowledge Discovery In Database (Penemuan Pengetahuan dalam Database)
Data mining digambarkan sebagai proses pencarian pengetahuan yang menarik dalam database seperti pola , asosiasi, aturan, perubahan, keganjilan dan struktur penting dari sejumlah besar data yang disimpan pada bank data dan tempat penyimpanan informasi lainnya. Berikut merupakan proses KDD
1. pemilihan data (data selection), pemilihan data relevan yang didapat dari basis data;
2. pembersihkan data (data cleaning), proses menghilangkan noise dan data yang tidak konsisten atau data tidak relevan;
3. pengintegrasian data (data integration), penggabungan data dari berbagai basisdata ke dalam satu basisdata baru;
4. transformasi data, data diubah atau digabung ke dalam format yang sesuai untuk diproses dalam data mining;
5. data mining, suatu proses di mana metoda diterapkan untuk menemukan pengetahuan berharga dan tersembunyi dari data;
6. evaluasi pola (pattern evaluation), untuk mengidentifikasi pola-pola menarik untuk di representasikan kedalam knowledge based;
7. representasi pengetahuan (knowledge presentation), visualisasi dan penyajian pengetahuan mengenai teknik yang digunakan untuk memperoleh pengetahuan yangdiperoleh pengguna

Sumber :
*larose (Discovering Knowledge in Data)
*sani susanto, dedy suryadi (Pengantar data mining-Menggali Pengetahuan dari Bongkahan Data)

» Read more → Apa itu Data Mining..?

Rabu, 11 April 2012

Transaksi Penjualan di Zahir Accounting

Invoice merupakan kata lain dari faktur, biasanya untuk transaksi penjualan. Kali ini saya akan membahas tentang penjualan/pengiriman barang, yang ada di Modul Penjualan di software Zahir Accounting.


Ketika melakukan penjualan, ada 2 metode yang biasa digunakan, secara tunai dan kredit dan pemberian uang muka bagi transaksi kredit. Bagaimana langkah yang dilakukan di software zahir ??







  

# Berikut merupakan contoh transaksi Penjualan Kredit

berikut penjelasannya:
1. checkmark ini wajib diisi sesuai dengan kebutuhan

#Invoice:sebagai pencatatan/pengakuan pendapatan/penjualan untuk di posting ke buku besar. Jika kotak ini tidak ditandai maka pencatatan piutang tidak akan dilakukan(baik tunai maupun kredit). Tanda ini diceklist baik untuk penjualan jasa/dagang. Jika transaksi untuk penjualan dagang, maka secara otomatis juga akan mengurangi stok barang

#Jasa :tanda ini diceklist jika jenis transaksi penjualan jasa, artinya bukan item yang dijual

#Tunai :tanda ini diceklist jika transaksi dilakukan secara tunai (jadi perbedaan penjualan secara tunai dan kredit terletak disini, jika tidak di ceklist berarti kredit dan jika di ceklist tentu saja tunai)


2. Jika penjualan kredit, customer bisa melakukan pembayaran uang muka dengan mengisi sejumlah uang muka

3. Jika penjualan kredit ada syaratnya, maka diisi di Term Pembayaran dengan klik mouse disampingnya.
contoh soal, jika syaratnya seperti diatas : 2% 10 Net 30
maka cara pengisiannya sbb :

artinya : jatuh tempo pembayaran pelanggan adalah 30 hari setelah transaksi. Jika pembayaran/cicilan pembayaran dilakukan sampai 10 hari setelah transaksi, maka diberikan diskon 2% sejumlah pembayaran.


tambahan:
* untuk yang bertanda segitiga merah merupakan penggantian akun sesuai dengan kebutuhan. Biasanya akun yang(dibuat jurnal otomatis) menampung sejumlah transaksi penjualan sudah disetting secara default

* untuk tanggal transaksi sangat PENTING, hal ini berguna pada saat pencarian transaksi. Biasanya untuk latihan yang dipakai adalah tahun/bulan sebelumnya, oleh karena itu periksa lagi sebelum direkam. Jika bertanda merah berarti tanggal ada kesalahan.

* Bagaimana Proses Pencatatan Pada saat kita klik Invoice ??  
proses ini tergantung ketiga ceklist tersebut, contoh :
Perusahaan Dagang

=>Perusahaan dagang secara tunai
   (D) Kas               2750
   (K) Hutang ppn           250
   (K) Penjualan            2500


   (D) Biaya1            250

                        (K) Persediaan1         2500





=>Perusahaan dagang secara kredit


   (D) Piutang         2750
   (K) Hutang ppn 250

   (K) Penjualan            2500

                 (D) Biaya1            250

                 (K) Persediaan1         2500


Perusahaan Jasa
=>TUNAI



   (D) Kas               2750
   (K) Hutang ppn           250
   (K) Pendapatan         2500


 => KREDIT
   (D) Piutang        2750
   (K) Hutang ppn           250
   (K) Pendapatan         2500

» Read more → Transaksi Penjualan di Zahir Accounting

Rabu, 29 Februari 2012

Aplikasi Web Design

Untuk membuat sebuah aplikasi web design, ada baiknya mengenal terlebih dahulu apa itu web design. Web Desain adalah istilah yang sering digunakan untuk menggambarkan bagaimana tampilan isi suatu website atau situs ditampilkan. Tujuannya untuk mempublikasikan informasi yang ditampilkan di halaman website tersebut kepada semua orang dari seluruh negara didunia yang mengakses internet.

Untuk melihat modulnya silakan diklik terlebih dahulu disini
» Read more → Aplikasi Web Design