Dari sebuah Ketidaksengajaan

just a simple life, for moving

Aplikasi Datamining

Sebagai cabang ilmu baru di bidang komputer (lihat artikel sebelumnya berjudul ‘Data Mining’) cukup banyak penerapan yang dapat dilakukann oleh Data Mining. Apalagi ditunjang ke-kaya-an dan ke-anekaragam-an berbagai bidang ilmu (artificial intelligence, database, statistik, pemodelan matematika, pengolahan citra dsb.) membuat penerapan data mining menjadi makin luas. Di bidang apa saja penerapan data mining dapat dilakukan? Artikel singkat ini berusaha memberikan jawabannya.

Analisa Pasar dan Manajemen

Untuk analisa pasar, banyak sekali sumber data yang dapat digunakan seperti transaksi kartu kredit, kartu anggota club tertentu, kupon diskon, keluhan pembeli, ditambah dengan studi tentang gaya hidup publik.
Beberapa solusi yang bisa diselesaikan dengan data mining diantaranya:
Menembak target pasar
Data mining dapat melakukan pengelompokan (clustering) dari model-model pembeli dan melakukan klasifikasi terhadap setiap pembeli sesuai dengan karakteristik yang diinginkan seperti kesukaan yang sama, tingkat penghasilan yang sama, kebiasaan membeli dan karakteristik lainnya.
Melihat pola beli pemakai dari waktu ke waktu
Data mining dapat digunakan untuk melihat pola beli seseorang dari waktu ke waktu. Sebagai contoh, ketika seseorang menikah bisa saja dia kemudian memutuskan pindah dari single account ke joint account (rekening bersama) dan kemudian setelah itu pola beli-nya berbeda dengan ketika dia masih bujangan.
Cross-Market Analysis
Kita dapat memanfaatkan data mining untuk melihat hubungan antara penjualan satu produk dengan produk lainnya. Berikut ini saya sajikan beberapa contoh:
o Cari pola penjualan Coca Cola sedemikian rupa sehingga kita dapat mengetahui barang apa sajakah yang harus kita sediakan untuk meningkatkan penjualan Coca Cola?
o Cari pola penjualan IndoMie sedemikian rupa sehingga kita dapat mengetahui barang apa saja yang juga dibeli oleh pembeli IndoMie. Dengan demikian kita bisa mengetahui dampak jika kita tidak lagi menjual IndoMie.
o Cari pola penjualan
Profil Customer
Data mining dapat membantu Anda untuk melihat profil customer/pembeli/nasabah sehingga kita dapat mengetahui kelompok customer tertentu suka membeli produk apa saja.
Identifikasi Kebutuhan Customer
Anda dapat mengidentifikasi produk-produk apa saja yang terbaik untuk tiap kelompok customer dan menyusun faktor-faktor apa saja yang kira-kira dapat menarik customer baru untuk bergabung/membeli.
Menilai Loyalitas Customer
VISA International Spanyol menggunakan data mining untuk melihat kesuksesan program-program customer loyalty mereka. Anda bisa lihat di www.visa.es/ingles/info/300300.html
Informasi Summary
Anda juga dapat memanfaatkan data mining untuk membuat laporan summary yang bersifat multi-dimensi dan dilengkapi dengan informasi statistik lainnya.

Analisa Perusahaan dan Manajemen Resiko

• Perencanaan Keuangan dan Evaluasi Aset
Data Mining dapat membantu Anda untuk melakukan analisis dan prediksi cash flow serta melakukan contingent claim analysis untuk mengevaluasi aset. Selain itu Anda juga dapat menggunakannya untuk analisis trend.
• Perencanaan Sumber Daya (Resource Planning)
Dengan melihat informasi ringkas (summary) serta pola pembelanjaan dan pemasukan dari masing-masing resource, Anda dapat memanfaatkannya untuk melakukan resource planning.
• Persaingan (Competition)
o Sekarang ini banyak perusahaan yang berupaya untuk dapat melakukan competitive intelligence. Data Mining dapat membantu Anda untuk memonitor pesaing-pesaing Anda dan melihat market direction mereka.
o Anda juga dapat melakukan pengelompokan customer Anda dan memberikan variasi harga/layanan/bonus untuk masing-masing grup.
o Menyusun strategi penetapan harga di pasar yang sangat kompetitif. Hal ini diterapkan oleh perusahaan minyak REPSOL di Spanyol dalam menetapkan harga jual gas di pasaran.

Telekomunikasi

Sebuah perusahaan telekomunikasi menerapkan data mining untuk melihat dari jutaan transaksi yang masuk, transaksi mana sajakah yang masih harus ditangani secara manual (dilayani oleh orang). Tujuannya tidak lain adalah untuk menambah layanan otomatis khusus untuk transaksi-transaksi yang masih dilayani secara manual. Dengan demikian jumlah operator penerima transaksi manual tetap bisa ditekan minimal.

Keuangan

Financial Crimes Enforcement Network di Amerika Serikat baru-baru ini menggunakan data mining untuk me-nambang trilyunan dari berbagai subyek seperti property, rekening bank dan transaksi keuangan lainnya untuk mendeteksi transaksi-transaksi keuangan yang mencurigakan (seperti money laundry). Mereka menyatakan bahwa hal tersebut akan susah dilakukan jika menggunakan analisis standar. Anda bisa lihat di www.senate.gov/~appropriations/treasury/testimony/sloan.htm. Mungkin sudah saatnya juga Badan Pemeriksa Keuangan Republik Indonesia menggunakan teknologi ini untuk mendeteksi aliran dana BLBI.

Asuransi

Australian Health Insurance Commision menggunakan data mining untuk mengidentifikasi layanan kesehatan yang sebenarnya tidak perlu tetapi tetap dilakukan oleh peserta asuransi. Hasilnya? Mereka berhasil menghemat satu juta dollar per tahunnya. Anda bisa lihat di www.informationtimes.com.au/data-sum.htm. Tentu saja ini tidak hanya bisa diterapkan untuk asuransi kesehatan, tetapi juga untuk berbagai jenis asuransi lainnya.

Olah Raga

IBM Advanced Scout menggunakan data mining untuk menganalisis statistik permainan NBA (jumlah shots blocked, assists dan fouls) dalam rangka mencapai keunggulan bersaing (competitive advantage) untuk tim New York Knicks dan Miami Heat.

Astronomi

Jet Propulsion Laboratory (JPL) di Pasadena, California dan Palomar Observatory berhasil menemukan 22 quasar dengan bantuan data mining. Hal ini merupakan salah satu kesuksesan penerapan data mining di bidang astronomi dan ilmu ruang angkasa. Anda bisa lihat di www-aig.jpl.nasa.gov/public/mls/news/SKICAT-PR12-95.html.

Internet Web Surf-Aid

IBM Surf-Aid menggunakan algoritma data mining untuk mendata akses halaman Web khususnya yang berkaitan dengan pemasaran guna melihat prilaku dan minat customer serta melihat ke-efektif-an pemasaran melalui Web.

Dengan melihat beberapa aplikasi yang telah disebutkan di atas, terlihat sekali potensi besar dari penerapan Data Mining di berbagai bidang. Bahkan beberapa pihak berani menyatakan bahwa Data Mining merupakan salah satu aktifitas di bidang perangkat lunak yang dapat memberikan ROI (return on investment) yang tinggi. Namun demikian, perlu diingat bahwa Data Mining hanya melihat keteraturan atau pola dari sejarah, tetapi tetap saja sejarah tidak sama dengan masa datang. Contoh: jika orang terlalu banyak minum Coca Cola bukan berarti dia pasti akan kegemukan, jika orang terlalu banyak merokok bukan berarti dia pasti akan kena kanker paru-paru atau mati muda. Bagaimanapun juga data mining tetaplah hanya alat bantu yang dapat membantu manusia untuk melihat pola, menganalisis trend dsb. dalam rangka mempercepat pembuatan keputusan. Kapankah data mining akan banyak digunakan di Indonesia? Kita tunggu saja.

By Yudho Giri Sucahyo

Februari 23, 2010 Posted by | Materi | 2 Komentar

Distribusi Pada Oracle

DISTRIBUSI PADA ORACLE

23.7.1  Fungsionality pada Oracle DDBMS

Seperti pada kebanyakan DDBMS yang komersial, Oracle tidak mendukung mekanisme fragmentasi seperti yang telah didskusikan sebelumnya. Akan tetapi, DBA dapat secara manual melakukan distribusi data untuk mendapatkan pengaruh yang sama.

Tanggungjawab terletak pada end user untuk mengetahui bagaimana sebuah tabel dapat di fragmentasi dan untuk membangun pengetahuan ini ke dalam suatu aplikasi. Atau dengan kata lain, Oracle DDBMS tidak mendukung adanya fragmentasi transaparansi, tetapi mendukung adanya transparansi lokasi.

Berikut adalah overview tentang fungsionaliti dari Oracle DDBMS :

  1. Connectivity
  2. Global database name
  3. Database Link
  4. Referential integrity
  5. Heterogeneous distributed database
  6. Distributed query optimization

A. Connectivity

Oracle Net Sevice merupakan aplikasi data akses Oracle yang mendukung komunikasi antara client dan server. Net8 dapat melakukan komunikasi antara client-server maupun antara server-server melalui jaringan, dan mendukung kemampuan proses terdistribusi dan kemampuan DBMS terdistribusi.

Net8 juga bertanggungjawab untuk menterjemahkan berbagai karakter set yang berbeda atau data representasi yang ada ke dalam level operating sistem yang ada. Net8 menjaga koneksi dengan passing permintaan koneksi ke Transparent Network Substrate (TNS), yang menentukan server mana yang akan menangani request dan mengirimkan request dengan menggunakan protokol jaringan yang sesuai (TCP/IP atau SP/IPX). Net8 juga menangani komunikasi antara mesin yang berjalan dalam network protokol yang berbeda melalui Connection Manager (CMAN), yang pada versi sebelumnya ditangani oleh Multi Protokol Interchange pada Oracle 7.

Produk Oracle Names menyimpan informasi mengenai basis data dalam lingkungan terdistribusi dalam satu lokasi tunggal. Pada saat sebuah aplikasi meminta sebuah koneksi, Oracle Names respository akan di-konsul untuk menetukan lokasi dari server basis data. Alternatif penggunaan Oracle Names adalah dengan menyimpan informasi ke dalam lokal trsname.ora file pada setiap mesin client.

B. Global Database Names

Setiap basis data terdistribusi diberi sebuah nama yang disebut dengan global database name yang berbeda untuk semua basis data dalam sistem. Oracle membentuk sebuah global database name dengan menambahkan prefik pada nama dari domain network basis data dengan nama basis data lokal. Domain name harus mengikuti standar konversi Internet, dimana level harus dipisahkan dengan dot (.), diurutkan dari daun ke akar, dan dari kiri ke kanan. Sebagai contoh, gambar 1 merupakan hirarki yang mungkin untuk basis data DreamHome. Walaupun terdapat database lokal yaitu Rental seperti pada gambar, apat digunakan network domain nama LONDON.SOUTH.COM untuk membedakan bahwa basis data tersebut berada di London, dan bukan di Glasgow. Dalam kasus ini, global database name-nya adalah :

RENTALS.LONDON.SOUTH.COM

RENTALS.GLASGOW.NORTH.COM

C. Database Link

Basis data terdistribusi dalam Oracle dibangun dalam database link, yang menetukaan path komunikasi antara satu basis data Oracle dengan basis data yang lain (mungkin juga bukan Oracle). Tujuan dari basis data link adalah untuk membuat data remote tersedia untuk query maupun update dalam aksi yang esensial sebagai sebuah type dari store login ke dalam basis data remote. Sebuah link basisdata harus diberikan nama yang sama seperti global database name-nyadari remote basisdata yang mereferensi-nya. Dalam kasus ini, link basisdata harus transparan kepada user dari basisdata terdistribusi. Sebagai contoh, statement berikut ini akan membuat sebuah link basisdata pada lokal basisdata ke remote basisdata di Glasgow :

CREATE PUBLIC DATABASE LINK RENTALS.GLASGOW.NORTH.COM

Sekali database dibuat, dapat digunakan untuk melakukan refer ke tabel dan view pada remote basisdata dengan menambahkan @databaselink ke nama tabel atau view yang digunakan dalam sebuah perintah SQL. Dengan menggunakan pilihan Oracle terdistribusi, remote table dan view dapat diakses menggunakan INSERT, DELETE dan UPDATE. Sebagai contoh, dapat menggunakan perintah SQL seperti berikut ini untuk melakukan update ke tabel Staff pada remote site :

SELECT * FROM Staff@RENTALS.GLASGOW.NORTH.COM;

UPDATE Staff@RENTALS.GLASGOW.NORTH.COM SET salary = salary * 1.05;

User juga dapat mengakses tabel yang dimiliki oleh user yang lainnya dalam basisdata yang sama dengan member tambahan pada wal dari nama basisdata dengan nama skema. Sebagai contoh, jika di asumsikan user tertentu melakukan akses pada tabel Viewing dalam schema Supervisor, maka dapat menggunakan skema berikut ini :

SELECT * FROM Supervisor.Viewing@RENTALS.GLASGOW.NORTH.COM;

Statement tersebut dihubungkan dengan user tertentu ke remote basisdata dan kemudian menjalankan query pada tabel Viewing dalam skema Supervisor. Synonim dibuat untuk menyembunyikan fakta bahwa tabel Viewing milik Supervisor berada pada remote database. Perintah berikut akan menyebabkan seluruh referensi berikutnya ke Viewing untuk mengakses remote tabel Viewing yang dimiliki oleh Supervisor.

CREATE SYNONIM Viewing FOR Supervisor.Viewing@RENTALS.GLASGOW.NORTH.COM

SELECT * FROM Viewing;

Dengan cara yang sama, gunakan sinonim baik untuk independensi data maupun transaparansi lokasi.

D. Referential Integrity

Oracle tidak mengijinkan untuk mendeklarasikan referential integrity contrain pada basisdata dalam sistem terdistribusi. Akan tetapi relasi parent / child dari antara basisdata dapat di-maintained menggunakan trigger.

E. Heterogeneous Distributed Database

Heterogeneous Servis dapat diakses dengan cara :

  1. Transparan Gateway, dengan menggunakan akses SQL ke non-Oracle DBMS termasuk DB2, Infomix, Sysbase, SQL Server, dll. Gateway ini seara khusus berjalan pada mesin dengan non-Oracle DBMS sebagai lawan dari tempat Oracle Server berada. Akan tetapi, transparan gateway untuk DRDA, dimana menyediakan akses SQL ke basisdata DRDA-enable seperti DB2, SQL/DS dan SQL/400, tidak mengijinkan software Oracle pada target system.
  2. Generic Connectivity, mengatur agen yang dihubungkan dengan customer-privided drivers. Saat ini, Oracle menggunakan agen untuk ODBC dan OLE DB. Fungsi dari agen tersebut lebih terbatas dibandingkan dengan transparan gateway.
  3. c. Procedure Gateway, dengan mengimplementasikan call remote prosedur (RPC) ke aplikasi yang dibangun pada non-Oracle DBMS. Sebagai contoh, procedural gateway untuk AAPC menyediakan RPC yang mendukung melalui PL/SQL untuk mengakses transaksi CICS, IMS/TM dan IDMS/DC mainframe dengan sumber data seperti ADABAS, CA-IDBS,IMS, VSAM dan DB2.

Feature pada heterogeneous servis meliputi :

  1. Distributed Transction (transaksi terdistribusi)

Sebuah transaksi yang dapat menjangkau system oracle dan non-oracle dengan menggunakan two phase commit (2PC)

  1. Transparant SQL Access

Perintah SQL dikalukan dengan aplikasi yang secara transparan melakukan transformasi ke perintah SQL yang diakui oleh non-oracle system.

  1. Procedural access

Prosedural system, seperti system pengiriman pesan dan queuing, dapat diakses dari oracle server menggunakan PL/SQL

  1. Data dictionary translation

Untuk membuat system non-oracle Nampak sebagai server oracle yang lain, perintah SQL mengandung referensi ke table kamus data oracle yang ditransform ke perintah SQL yang mengandung referensi table kamus system non-Oracle.

  1. Pass-through SQL dan Strore Procedures

Sebuah aplikasi dapat langsung melakukan akses ke system non-oracle dengan menggunakan system oracle dialek. Store procedure pada system non-oracle yang berdasarkan SQL diperlakukan jika terdapat remote procedure PL/SQL.

  1. National language support

Heterogeneous services mendukung multibyte character set dan menterjemahkan sekumpulan karakter antara system oracle dan non-oracle.

  1. Optimization

Heterogeneus services dapat mengumpulkan table kepastian dan index statistic pada system non-oracle dan melewatkannya ke Oracle cost-based optimizer.

Distributed Query Optimization

Disributed query optimization disusun oleh basis data oracle local ke dalam sejumlah remote query yang berhubungan, yang akan dikirimkan ke remote DBMS untuk dieksekusi. Remote DBMS mengeksekusi query dan menggirimkan hasilnya kembali ke local node. Lokal node kemudian akan membentuk post processing yang diperlukan dan menggembalikan hasilnya ke user atau aplikasi.

Hanya data yang diperlukan dari remote table yang di ekstrak, akan mengurangi sejumlah data yang diminta untuk di transfer .

Dikutip dan diterjemahkan dari ebook manual oracle.

Dalam Oracle heterogeneous DDBMS paling sedikit satu DBMS yang non-Oracle system. Dengan menggunakan Heterogeneous Services agent dan non-Oracle system-specific Heterogeneous Services agent, Oracle dapat menyembunyikan distribusi dan heteroginity dari user. Heterogeneous Services agent berkomunikasi dengan sistem non-Oracle, dan dengan komponen Heterogenous Service pada server Oracle. Untuk kepentingan Oracle Server, agen mengeksekusi SQL, prosedur dan permintaan transaksi pada non-Oracle system.

Agustus 3, 2009 Posted by | Materi | 2 Komentar

Ikuti

Get every new post delivered to your Inbox.