Tampilkan postingan dengan label informatika. Tampilkan semua postingan
Tampilkan postingan dengan label informatika. Tampilkan semua postingan

Kamis, 02 Agustus 2012

Android


Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD). [wikipedia]
Pada kesempatan ini penulis akan sharing beberapa ebook dan source code tutorial pemrograman android, silakan download pada link di bawah ini:

By: Parama Fadli Kurnia

Sabtu, 05 Maret 2011

Database Management System

Basis data merupakan kumpulan data yang saling berhubungan satu dengan yang lainnya yang diaorganisasikan sesuai struktur tertentu dan disimpan dengan baik.  Untuk mendapatkan informasi yang berguna dari kumpulan data maka diperlukan suatu perangkat lunak (software) untuk memanipulasi data sehingga mendapatkan informasi yang berguna. Database Manajement System (DBMS) merupakan software yang digunakan untuk membangun sebuah sistem basis data yang berbasis komputerisasi. DBMS membantu dalam pemeliharaan dan pengolahan kumpulan data dalam jumlah besar. Sehingga dengan menggunakan DBMS tidak menimbulkan kekacauan dan dapat digunakan oleh pengguna sesuai dengan kebutuhan.
DBMS merupakan perantara bagi pemakai dengan basis data. Untuk merinteraksi dengan DBMS (basis data) menggunakan bahasa basis data yang telah ditentukan oleh perusahaan DBMS. Bahasa basis data biasanya terdiri atas perintah-perintah yang di formulasikan sehingga perintah tersebut akan diproses olah DBMS. Perintah-perintah biasanya ditentukan oleh user. Ada 2 bahasa basis data:

  1. Data Definition Language (DDL)
DDL digunakan untuk menggambarkan desain basis data secara keseluruhan. DDL digunakan untuk membuat tabel baru, menuat indeks, ataupun mengubah tabel. Hasil kompilasi DDL disimpan di kamus data.
  1. Data Manipulation Language (DML)
DML digunakan untuk melakukan menipulasi dan pengambilan data pada suatu basis data seperti penambahan data baru ke dalam basis data, menghapus data dari suatu basis data dan pengubahan data di suatu basis data.
Dalam pembuatan DBMS diperlukan beberapa komponen fungsional penyusunnya sebagai berikut:
1.  DML Precompiler            : mengkonversi pernyataan-pernyataan DML yang dimasukkan di dalam program aplikasi ke dalam pemanggilan prosedur normal di dalam bahasa induknya. Procompiler harus berinteraksi dengan query processor untuk membuat kode-kode yang diperlukan.
2.  Query Processor             : menterjemahkan pernyataan-pernyataan bahasa query ke dalam instruksi-instruksi low-level yang dimengerti oleh database manager.
3.  DDL Compiler                : mengkonversi pernyataan DDL ke dalam sekumpulan table yang mengandung metadata atau “data mengenai data”
4.  Database Manager          : menyediakan interface antara data low-level yang disimpan didalam basisdata dengan program-program aplikasi dan queries yang dikirimkan ke system.

Salah satu tujuan dari DBMS adalah memberikan tampilan kepada pengguna dalam hal menyampaikan data. Untuk itu dalam DBMS terdapat Level Abstraksi Data. Level ini berguna untuk menyembunyikan detail atau kompleksitasnya basis data seperti bagaimana data disempan dan diolah. Sehingga pengguna hanya melihat tampilan yag dibutuhkan oleh pengguna.
  1. Level fisik
Level fisik merupakan level yang paling bawah. Pada level ini memperlihatkan bagaimana sesungguhnya data disimpan.
2. Level Konseptual
Level ini menggambarkan bagaimana sebenarnya basis dta disimpan dan berhubungan dengan data lainnya
3. Level View
Level abstaraksi ini hanya menunjukkan sebagian dari basis data.  Pada umumnya pengguna tidak melibatkan secara langsung sehingga pengguna hanya melihat data sesuai dengan yang dibutuhkan

Sumber: Konsep DBMS

Kamis, 03 Februari 2011

Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

Kelebihan:
  • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek)
  • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
 Kekurangan:
  • Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Sumber: Wikipedia-Java

Selasa, 07 Desember 2010

Data Mining: Clustering


Clustering adalah proses mengelompokkan objek berdasarkan informasi yang diperoleh dari data yang menjelaskan hubungan antar objek dengan prinsip untuk memaksimalkan kesamaan antar anggota satu kelas dan meminimumkan kesamaan antar kelas/cluster. Tujuannya menemukan cluster yang berkualitas dalam waktu yang layak. Clustering dalam data mining berguna untuk menemukan pola distribusi di dalam sebuah data set yang berguna untuk proses analisa data. Kesamaan objek biasanya diperoleh dari kedekatan nilai-nilai atribut yang menjelaskan objek-objek data, sedangkan objek-objek data biasanya direpresentasikan sebagai sebuah titik dalam ruang multidimensi.

Dengan menggunakan clustering, dapat diidentifikasi daerah yang padat, pola-pola distribusi secara keseluruhan dan keterkaitan yang menarik antara atribut-atribut data. Dalam data mining usaha difokuskan pada metode-metode penemuan untuk cluster pada basisdata berukuran besar secara efektif dan efisien. Banyaknya pendekatan clustering menyulitkan dalam menentukan ukuran kualitas yang universal. Namun, beberapa hal yang perlu diperhatikan adalah input parameter yang tidak menyulitkan user, cluster hasil yang dapat dianalisa, dan skalabilitas terhadap penambahan ukuran dimensi dan record dataset. Secara garis besar ada beberapa kategori algoritma clustering yang dikenal yaitu:
a. Metode Partisi, dimana pemakai harus menentukan jumlah k partisi yang diinginkan lalu setiap data dites untuk dimasukkan pada salah satu partisi sehingga tidak ada data yang overlap dan satu data hanya memiliki satu cluster. Contohnya: algoritma K-Means.
b. Metode Hierarki, yang menghasilkan cluster yang bersarang artinya suatu data dapat memiliki cluster lebih dari satu. Metode ini terbagi menjadi dua yaitu buttom-up yang menggabungkan cluster kecil menjadi cluster lebih besar dan top-down yang memecah cluster besar menjadi cluster yang lebih kecil. Kelemahan metode ini adalah bila salah satu penggabungan/pemecahan dilakukan pada tempat yang salah, tidak akan didapatkan cluster yang optimal. Contohnya: Agglomerative (FINDIT, PROCLUS), Divisive Hierarchical Clustering (CLIQUE, MAFIA, ENCLUE).

Sumber: Buku Konsep Data Mining

Minggu, 05 Desember 2010

Algoritma FP-Growth

Algoritma FP-Growth adalah cara alternatif untuk menemukan itemsets sering tanpa menggunakan generasi calon, sehingga meningkatkan kinerja. Untuk begitu banyak menggunakan membagi-dan-menaklukkan strategi  . Inti dari metode ini adalah penggunaan struktur data khusus bernama sering-pola pohon (FP-pohon), yang mempertahankan informasi asosiasi itemset.
Dengan kata sederhana, algoritma ini bekerja sebagai berikut: pertama kompres database masukan menciptakan sebuah instance FP-Tree untuk mewakili item sering. Setelah langkah pertama membagi database dikompresi menjadi satu set database kondisional, masing-masing terkait dengan satu pola yang sering. Akhirnya, masing-masing database tersebut ditambang secara terpisah. Menggunakan strategi ini, FP-Growth mengurangi biaya pencarian mencari pola singkat rekursif dan kemudian concatenating kemudian dalam pola yang sering panjang, menawarkan selektivitas yang baik.
Dalam database besar, itu tidak mungkin untuk memegang FP-pohon di memori utama. Sebuah strategi untuk mengatasi masalah ini adalah untuk pertama partisi database menjadi satu set database yang lebih kecil (disebut database diproyeksikan), dan kemudian membangun sebuah FP-pohon dari masing-masing database yang lebih kecil.


Sumber: Buku Konsep Data Mining

Algoritma Aplriori

Persoalan association rule mining terdiri dari dua sub persoalan :
a. Menemukan semua kombinasi dari item, disebut dengan frequent itemsets, yang memiliki support     yang lebih besar daripada minimum support.
b. Gunakan frequent itemsets untuk men-generate aturan yang dikehendaki.Semisal,  ABCD dan AB adalah frequent, maka didapatkan aturan AB -> CD jika rasio dari upport(ABCD) terhadap support(AB) sedikitnya sama dengan minimum confidence. Aturan ini memiliki minimum support karena ABCD adalah frequent.
          Algoritma Apriori yang bertujuan untuk menemukan frequent itemsets dijalankan pada sekumpulan data. Pada iterasi ke -k, akan ditemukan semua itemsets yang memiliki k items, disebut dengan k -itemsets. Tiap iterasi berisi dua tahap. Misal Oracle Data Mining Fk merepresentasikan himpunan dari frequent k -itemsets, dan Ck adalah himpunan candidate k-itemsets (yang potensial untuk menjadi frequent itemsets). Tahap pertama adalah men-generate kandidat, dimana himpunan dari semua frequent (k- 1) itemsets, Fk-1, ditemukan dalam iterasi ke-(k-1), digunakan untuk men-generate candidate itemsets Ck. Prosedur generate candidate memastikan bahwa Ck adalah superset dari himpunan semua frequent k-itemsets. Struktur data hash-tree digunakan untuk menyimpan Ck. Kemudian data di-scan dalam tahap penghitungan support. Untuk setiap transaksi, candidates dalam Ck diisikan ke dalam transaksi, ditentukan dengan menggunakan struktur data hash-tree hashtree dan nilai penghitungan support dinaikkan. Pada akhir dari tahap kedua, nilai Ck diuji untuk menentukan yang mana dari candidates yang merupakan frequent. Kondisi penghitung (terminate condition) dari algoritma ini dicapai pada saat Fk atau Ck+1 kosong.

Sumber: Buku Konsep Data Mining

Rabu, 01 Desember 2010

Association Rule Mining


Mining association rules atau pencarian aturan-aturan hubungan antar item dari suatu basis data transaksi atau basis data relasional, telah menjadi perhatian utama dalam masyarakat basis data. Tugas utamanya adalah untuk menemukan suatu himpunan hubungan antar item dalam bentuk A1A...AAm => B1A...ABn dimana A, ( for i E {1,...,m}) dan B; ( for j C {1,...,n} ) adalah himpunan atribut nilai, dari sekumpulan data yang relevan dalam suatu basis data. Sebagai contoh, dari suatu himpunan data transaksi, seseorang mungkin menemukan suatu hubungan berikut, yaitu jika seorang pelanggan membeli selai, ia biasanya juga membeli roti dalam satu transaksi yang sama. Oleh karena proses untuk menemukan hubungan antar item ini mungkin memerlukan pembacaan data transaksi secara berulang-ulang dalam sejumlah besar data-data transaksi untuk menemukan pola-pola hubungan yang berbeda-beda, maka waktu dan biaya komputasi tentunya juga akan sangat besar, sehingga untuk menemukan hubungan tersebut diperlukan suatu algoritma yang efisien dan metodemetode tertentu.
         Analisis asosiasi atau association rule mining adalah teknik data mining untuk menemukan aturan assosiatif antara suatu kombinasi item. Contoh dari aturan assosiatif dari analisa pembelian di suatu pasar swalayan adalah dapat diketahuinya berapa besar kemungkinan seorang pelanggan membeli roti bersamaan dengan susu. Dengan pengetahuan tersebut pemilik pasar swalayan dapat mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu. Karena analisis asosiasi menjadi terkenal karena aplikasinya untuk menganalisa isi keranjang belanja di pasar swalayan, analisis asosiasi juga sering disebut dengan istilah market basket analysis 
          Fungsi Association Rules seringkali disebut dengan "market basket analysis", yang digunakan untuk menemukan relasi atau korelasi diantara himpunan item. Market Basket Analysis adalah Analisis dari kebiasaan membeli customer dengan mencari asosiasi dan korelasi antara item-item berbeda yang diletakkan customer dalam keranjang belanjaannya. Fungsi ini paling banyak digunakan untuk menganalisa data dalam rangka keperluan strategi pemasaran, desain katalog, dan proses pembuatan keputusan bisnis. Tipe association rule bisa dinyatakan sebagai misal : "70% dari orangorang yang membeli mie, juice dan saus akan membeli juga roti tawar". Aturan asosiasi mengcapture item atau kejadian dalam data berukuran besar yang berisi data transaksi. Dengan kemajuan teknologi, data penjualan dapat disimpan dalam jumlah besar yang disebut dengan "basket data." Aturan asosiasi yang didefinisikan pada basket data, digunakan untuk keperluan promosi, desain katalog, segmentasi customer dan target pemasaran. Secara tradisional, aturan asosiasi digunakan untuk menemukan trend bisnis dengan menganalisa transaksi customer.
          Berdasarkan definisi di [6] maka pencarian pola kaidah asosiasi mengunakan dua buah parameter nilai yaitu dukungan (support) dan keterpercayaan (confidence) yang memiliki nilai antara 0% - 100 %. Berikut sedikit penjelasan mengenai dukungan dan keterpercayaan.
          Sebagai contoh terdapat relasi I berisi sejumlah kumpulan item yang kemudian dikatakan sebagai itemset, dimana masing–masing itemset terdiri dari sekumpulan atribute bertipe boolean I1, I2, …, In. Dan basis data transaksi D yang berisi transaksi T, adalah himpunan dari I atau T Í I. Dimana transaksi T pada basis data transaksi D memiliki sebuah atribut yang unik yang dinotasikan dengan TID. Dalam konteks ini, A dan B merupakan itemset dari transaksi T, jika dan hanya jika A Í T dan B Í T. Sehingga jumlah A dinotasikan ó (A) merupakan jumlah Support (support count) itemset A pada basis data transaksi D. Kaidah asosiasi A› B, jika dan hanya jika A I, B I dan A B 0. Sehingga A› B memiliki Support s pada transaksi T, dimana S merupakan persentase itemset A È B pada basis data transaksi D. Dan A› B memiliki Confidence C pada transaksi T, dimana C merupakan persentase jumlah itemset A yang terdapat pada relasi I, yang diikuti itemset B. Dukungan kaidah asosiasi A› B dinyatakan dengan :
           Support (A› B) = P(AÈB) (xx)
           Sedangkan keterpercayaan kaidah asosiasi A› B
           dinyatakan dengan :
           Confidence (A› B) = P(A|B) (xx)
           dimana :A dan B adalah frequent itemset memiliki jumlah dukungan lebih besar
sama dengan batas ambang dukungan minimum).

Sumber: Buku Konsep Data Mining

Model Data Mining

Macam - Macam Model Data Mining

A. Metode Prediksi
Dengan menggunakan beberapa variabel untuk memprediksi nilai yang belum diketahui (unknown) atau nilai selanjutnya (future) atau variabel lain.

Contoh :

1. Classification
  • Pada persoalan klasifikasi, kita memiliki sejumlah kasus (sampel data) dan ingin mempresiksi beberapa class yang ada pada sampel data tersebut.
  • Tiap isntan data berisi banyak atribut, dimana masing-masing atribut memiliki satu dari beberapa kemungkinan nilai.
  • Hanya satu atribut diantara banyak aribut tersebut yang disebut atribut target, sedangkan atribut yang lain disebut sebagai atribut prediktor.
2. Regression
3. Deviation Detection

B. Metode Deskripsi
Menemukan pola pendeskripsian data yang dapat diinterpretasikan oleh manusia.

Contoh :

1. Clustering
  • Teknik yang berguna untuk mengeksplorasi data
  • digunakan pada saat banyak kasus dan tidak memiliki pengelompokan secara alami. (Dalam hal ini algoritma data mining dapat digunakan untuk mencari pengelompokan yang ada pada peta).
  • Clustering model berbeda dari model prediktif dikarenakan pada clustering tidak perlu ada atribut target.
  • Clustering juga dapat diorganisasi ke dalam sturktur hirarkikal akan mendefinisikan taksonomi dari data.
2. Association Rule Discovery
  • Sering disebut "Market Basket Analysis" yang digunakan untk menemukan relasi atau korelasi diantara himpunan item-item.
  • Fungsi ini paling banyak digunakan untuk menganalisa data dalam rangka keperluan strategi pemasaran, desain katalog, dan proses pembuatan keputusan bisnis.
  • Bisa dinyatakan sebagai, misal : "70 % dari orang-orang yang memebeli mie, juice dan saus akan membeli juga roti tawar."
3. Sequential Pattern Discovery

Sumber: Buku Konsep Data Mining

Data Mining

Pengertian Data Mining menurut para ahli :
Definisi data mining berdasarkan [JK06] adalah proses mengekstraksi pola-pola yang menarik (tidak remeh-temeh, implisit, belum diketahui sebelumnya, dan berpotensi untuk bermanfaat) dari data yang berukuran besar. Ada beberapa istilah yang mempunyai kemiripan dengan data mining, yaitu ekstraksi pengetahuan, analisis pola, pengerukan data, dan lain-lain. Ada yang berpendapat data mining merupakan sinonim dari istilah knowledge discovery in database (KDD).

Data mining adalah serangkaian proses untuk menggali nilai tambah berupa informasi  yang selama ini tidak diketahui secara manual dari suatu basisdata.  Informasi yang dihasilkan diperoleh dengan cara mengekstraksi dan mengenali pola yang penting atau menarik dari data yang terdapat dalam basisdata.

Manfaat Data Mining :
Classification, Menentukan karakteristik dari kelompok tertentu.
Clustering, Identifikasi kelompok/groups dari item-tem yangberbagi satu karakteristik. Clustering berbeda dengan classification,dimana tidak ada penentuan terlebih dulu karakteristik
Association, Identifikasi relationships antara event-event yangterjadi pada suatu saat.
Sequencing, Identifies relationships yang ada sepanjang satuperiode waktu.
Forecasting, Estimasi nilai2 masadatang berdasarkan patternsdalam sekumpulan besar data.
Regression, Memetakan sebuah data item pada satu variableprediksi.
Time Series analysis, menguji sebuah nilai atas variasinya sepanjang waktu.

Tujuan Data Mining :
tujuan dari data mining adalah menemukan hubungan-hubungan ataupola-pola yang mungkin memberikan indikasi yang bermanfaat. Kehadiran data mining dilatar belakangi oleh berlimpahnya data(overload data) yang dialami oleh berbagai institusi, perusahaanatau organisasi. Berlimpahnya data ini merupakan akumulasi datatransaksi yang terekam bertahun-tahun. Data–data tersebut merupakan  data  transaksi yang umumnya diproses menggunakan aplikasi komputer yang biasa disebut On Line Transaction Processing).

Data mining juga dilatarbelakangi oleh atau adanya ledakan informasi (explotion information) dari berbagai media terutama internet. Delapan puluh persen informasi yang disajikan media internet dalam bentuk tak terstruktur (unstructured information). Media internet menyajikan informasi dalam berbagai format file, bahasa, dan bentuk penyajian seperti teks, gambar, suara ataupun  video. Kendala lainyang melatarbelakangi adalah tidak dilengkapinya informasi dengan metadata yang terstandarisasi atau bahkan tidak menyertakannya sama sekali.

Pertumbuhan yang pesat dari akumulasi data/informasi itu telah menciptakan kondisi dimana suatu institusi memiliki bergunung-gunung data tetapi  miskin informasi yang bermaanfaat(“rich of data but poor of information”). Tidak jarang “gunung” data itu dibiarkan begitu saja seakan-akan menjadi  “kuburan data” (datatombs). Pertanyaannya sekarang, apakah gunung data tersebut akan dibiarkan, tidak berguna lalu dibuang, ataukah dapat ditambang untuk menemukan “emas” yaitu informasi yang lebih bermanfaat. Jawabnya ya, data mining hadir untuk menjawab tantangan tersebut.

Sumber: Buku Konsep Data Mining

Selasa, 16 November 2010

Mesin Karakter

Suatu mesin karakter adalah mesin yang dapat memproses pita karakter dan memiliki elemen-elemen sebagai berikut:
1.      PITA KARAKTER yang merupakan kumpulan karakter yang diakhiri tanda titik atau karakter NULL
2.      POINTER yang merupakan petunjuk posisi karakter pada pita
3.      Jendela CURRENT CHARACTER(CC) yang akan menampilkan karakter yang sedang ditunjuk oleh POINTER
4.      Tombol START yang menempatkan POINTER mesin ke awal pita
5.      Tombol ADVANCE yang akan memajukan pointer ke karakter selanjutnya pada pita karakter
6.      Lampu EOP(End Of  Pita) yang menunjukan apakah POINTER ada di akhir pita atau tidak. Lampu EOP akan menyala jika POINTER ada di akhir pita dan mengembalikan nilai True,jika sebaliknya akan mengembalikan nilai False.
 
Sumber: Buku Algoritma dan Pemrograman

Jumat, 12 November 2010

Algoritma Quick Sort

Quick Sort adalah algoritma sorting yang terkenal yang dirancang oleh C.A.R. Hoare pada tahun 1960 ketika bekerja untuk perusahaan manufaktur komputer saintifik kecil, Elliott Brothers. Algoritma ini rekursif, dan termasuk paradigma algoritma divide and conquer.

Algoritma ini terdiri dari 4 langkah utama:
  1. Jika struktur data terdiri dari 1 atau 0 elemen yang harus diurutkan, kembalikan struktur data itu apa adanya.
  2. Ambil sebuah elemen yang akan digunakansebagai pivot point (poin poros).  (Biasanya elemen yang paling kiri.)
  3. Bagi struktur data menjadi dua bagian – satu dengan elemen-elemen yang lebih besar daripada pivot point, dan yang lainnya dengan elemen-elemen yang lebih kecil dari pada pivot point.
  4. Ulangi algoritma secara rekursif terhadap kedua paruh struktur data.
Sumber: Buku Algoritma dan Pemrograman


Algoritma Merge Sort

Algoritma Merge Sort ditemukan oleh John vonNeumann di tahun 1945. Merge Sort termasuk paradigma algoritma divide and conquer (kurang lebih berarti: bagi dan atasi). Hal ini dikarenakan algoritma ini melakukan pembagian struktur data sebelum kemudian dioperasi satu per satu. Intinya, algoritma ini menggunakan dua ide utama sebagai berikut,
  1. Sebuah list yang kecil membutuhkan langkah yang lebih sedikit untuk pengurutan daripada sebuah list yang besar.
  2. Untuk membentuk sebuah list terurut dari duabuah list terurut membutuhkan langkah yangl ebih sedikit daripada membentuk sebuah list terurut dari dua buah list tak terurut. Contoh:hanya diperlukan satu kali traversal untuk masing-masing list jika keduanya sudahterurut.
Algoritma Merge Sort sederhananya, dapat ditulis berikut:
  1. Bagi list yang tak terurut menjadi dua sama panjang atau salah satunya lebih panjang satu elemen.
  2. Bagi masing-masing dari 2 sub-list secara rekursif sampai didapatkan list dengan ukuran 1.
  3. Gabung 2 sublist kembali menjadi satu list terurut.
Sumber: Buku Algoritma dan Pemrograman

Algoritma Insertion Sort

Cara kerja insertion sort sebagaimana namanya.Pertama-tama, dilakukan iterasi, dimana di setiap iterasi insertion sort memindahkan nilai elemen,kemudian menyisipkannya berulang-ulang sampai ketempat yang tepat. Begitu seterusnya dilakukan.  Dariproses iterasi, seperti biasa, terbentuklah bagian yang telah di-sorting dan bagian yang belum di-sorting.

Algoritma Insertion Sort dapat dirangkum sebagai berikut:
  1. Simpan nilai Ti kedalam variabel sementara, dengan i = 1.
  2. Bandingkan nilainya dengan elemen sebelumnya.
  3. Jika elemen sebelumnya (Ti-1) lebih besar nilainya daripada Ti, maka tindih nilai Ti dengan nilai Ti-1 tersebut. Decrement i (kurangi nilainya dengan 1).
  4. Lakukan terus poin ke-tiga, sampai Ti-1 ≤ Ti.
  5. Jika Ti-1 ≤ Ti terpenuhi, tindih nilai di Ti dengan variabel sementara yang disimpan sebelumnya.
  6. Ulangi langkah dari poin 1 di atas dengan i di-increment (ditambah satu).
Sumber: Buku Algoritma dan Pemrograman


Algoritma Selection Sort

Algoritma sorting sederhana yang lain adalahSelection Sort. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksianelemen struktur data. Untuk sorting ascending(menaik), elemen yang paling kecil di antara elemenelemenyang belum urut, disimpan indeksnya,kemudian dilakukan pertukaran nilai elemen denganindeks yang disimpan tersebut dengan elemen yangpaling depan yang belum urut. Sebaliknya, untuksorting descending (menurun), elemen yang paling. besar yang disimpan indeksnya kemudian ditukar.

Algoritma selection sort dapat dirangkum sebagaiberikut:
  1. Temukan nilai yang paling minimum (atau sesuaikeinginan) di dalam struktur data. Jika ascending, maka yang harus ditemukan adalah nilai yang paling minimum. Jika descending, maka temukan nilai yang paling maksimum.
  2. Tukar nilai tersebut dengan nilai pada posisipertama di bagian struktur data yang belum diurutkan.
  3. Ulangi langkah di atas untuk bagian struktur datayang tersisa.
Sumber : Buku Algoritma dan Pemrograman

Algoritma Bubble Sort

Bubble Sort merupakan cara pengurutan yangsederhana. Konsep dari ide dasarnya adalah seperti“gelembung air” untuk elemen struktur data yangsemestinya berada pada posisi awal. Cara kerjanyaadalah dengan berulang-ulang melakukan traversal (proses looping) terhadap elemen-elemen struktur datayang belum diurutkan. Di dalam traversal tersebut,nilai dari dua elemen struktur data dibandingkan. Jikaternyata urutannya tidak sesuai dengan “pesanan”,maka dilakukan pertukaran (swap). Algoritma sortingini disebut juga dengan comparison sort dikarenakanhanya mengandalkan perbandingan nilai elemen untukmengoperasikan elemennya.

Algoritma bubble sort dapat diringkas sebagaiberikut, jika N adalah panjang elemen struktur data, dengan elemen-elemennya adalah T1, T2, T3, …, TN-1,TN, maka:
  1. Lakukan traversal untuk membandingkan dua elemen berdekatan. Traversal ini dilakukan dari belakang.
  2. Jika elemen pada TN-1 > TN , maka lakukan pertukaran (swap). Jika tidak, lanjutkan ke proses traversal berikutnya sampai bertemu dengan bagian struktur data yang telah diurutkan.
  3. Ulangi langkah di atas untuk struktur data yang tersisa.
Sumber : Buku Algoritma dan Pemrograman

Algoritma Sorting

Pengertian Sorting sort
Sorting Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.
Pada umumnya terdapat 2 cara pengurutan data yaitu
– Ascending : Pengurutan dilakukan mulai dari nilai terkecil menuju nilai terbesar
– Descending: Pengurutan dilakukan mulai dari nilai terbesar menuju nilai terkecil
Ada beberapa macem metoda pengurutan data diantaranya :
 
    Bubble Sort
    Selection Sort
    Insertion Sort
    Merge Sort
    Quick Sort
 
Sumber: Buku Algoritma dan Pemrograman

Rabu, 10 November 2010

Binary Search


Konsep
(a)    Merupakan metode pencarian pada data terurut yang paling efisien.
(b)   Metode ini digunakan untuk kebutuhan pencarian dengan waktu yang cepat.
(c)    Prinsip pencarian dengan membagi data atas dua bagian mengilhami metode ini. data yang disimpan didalam larik harus sudah terurut.
Algoritma
Algoritma pencarian biner dapat dituliskan sebagai berikut:
(a)    L ← 0
(b)   R ← N – 1
(c)    Ketemu ← false
(d)   Selama (L <= R) dan (tidak ketemu) kerjakan baris 5 sampai dengan 8
(e)    m ← (L + R) / 283
(f)    jika (Data[m]) maka ketemu ← true
(g)   jika (x < Data[m]) maka R ← m – 1
(h)   jika (x > Data[m]) maka L ← m + 1
(i)     jika (ketemu) maka m adalah indeks dari data yang dicari, jika tidak maka data tidak ditemukan.


Sumber : Buku Algoritm dan Pemrograman

Algoritma Sequential Search


Pengertian
Pencarian Sekuensial (sequential searching) atau pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling sederhana.  Pencarian beruntun adalah proses membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa. Pencarian beruntun terbadi dua:
1.      Pencarian beruntun pada larik tidak terurut;
2.      Pencarian beruntun pada larik terurut.


·     Algoritma
Pencarian berurutan menggunakan prinsip sebagai berikut :
1.      data yang ada dibandingkan satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak ditemukan.
2.      Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data.
3.      Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari.
4.       Apabila sama, berarti data telah ditemukan.   Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak ada.
Kelemahan pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali pula. Algoritma pencarian berurutan dapat dituliskan sebagai berikut :
(1)           i ← 0
(2)           ketemu ← false
(3)           Selama (tidak ketemu) dan (i <= N) kerjakan baris 4
(4)           Jika (Data[i] = x) maka ketemu ← true, jika tidak i ← i + 1
(5)           Jika (ketemu) maka i adalah indeks dari data yang dicari, jika data tidak ditemukan

Sumber: Buku Algoritma dan Pemrograman