Jumat, 04 Juni 2010

DATA MINING - MENGGALI "EMAS" DALAM GUNUNG DATA

Apa Itu Data Mining?

Data mining merupakan cabang ilmu yang relatif baru dalam ilmu komputer, walaupun sejak tahun 1990-an teknik ini telah dikemukakan. Dan sampai sekarang masih terus diperdebatkan data mining ditempatkan di bidang ilmu mana? Karena data mining menyangkut database, kecerdasan buatan, sistem pakar, statistik, dsb. Ada juga yang mengatakan bahwa data mining tidak lebih dari machine learning atau analisa statistik untuk mengeksplorasi pengetahuan dalam sebuah database. Dalam jurnal ilmiah data mining dikenal juga denganKnowledge Discovery in Databases (KDD).

Walaupun data mining memiliki hubungan dengan beberapa disiplin ilmu, tetapi terdapat perbedaan dalam beberapa aspek :
statistik : model statistik dipersiapkan oleh para ahli statistik, sedangkan data mining mengembangkan statistik untuk menangani data berjumlah besar secara otomatis.
expert system (sistem pakar) : model pada expert system dibuat berupa aturan-aturan berdasar pada pengalaman-pengalaman para ahli.
data warehouse (DW) : sering terjadi kerancuan antara data mining dan data warehouse karena keduanya sering dipakai bersamaan. Pada umumnya data warehouse lebih merujuk pada tempat untuk menyimpan data yang terkonsolidasi sedangkan data mining bisa dianggap sebagai alat untuk menganalisa secara otomatis nilai dari data itu.
OLAP : seperti data warehouse, OLAP juga sering dipakai dalam teknik data mining untuk mendukung proses analisis kompleks dalam rangka mengungkapkan kecenderungan pasar dan faktor-faktor penting dalam bisnis.


Bagaimana Cara Kerjanya?

Sebagai sebuah proses, data mining memiliki beberapa tahapan, yaitu :

1. Pembersihan Data
Tahapan ini bertujuan untuk membuang data-data yang tidak konsisten dan noise, karena pada umumnya data-data yang diperoleh dari database atau pun dari sumber lain data tidak sempurna, antara lain disebabkan oleh data yang hilang, data tidak valid, ataupun hanya sekedar salah ketik. Data-data yang tidak relevan juga dibuang karena dapat mengurangi tingkat akurasi dalam data mining.

2. Integrasi Data
Tahapan ini merupakan penggabungan data dari beberapa sumber, karena tidak jarang sebuah perusahaan menyimpan data dalam beberapa bentuk penyimpanan, seperti : database, file teks, file xls, dsb. Data hasil dari integrasi ini disimpan dalam sebuah media penyimpanan yang disebut dengan data warehouse.

3. Transformasi Data
Pada tahapan ini, data diubah menjadi bentuk yang sesuai untuk di-mining.

Tiga tahapan di atas biasa juga dikenal sebagai proses ETL (Extract, Transform, and Load). Proses ini dapat dilakukan secara otomatis dengan menggunakan perangkat lunak, baik yang free seperti : Kettle, maupun bagi yang memakai database berbayar seperti SQL Server, maupun Oracle, tools untuk ETL sudah dipaketkan bersama-sama dengan Database Engine.

Hasil dari ETL ini disimpan dalam datawarehouse, dan dapat dilakukan analisis dengan menggunakan OLAP (lihat tulisan sebelumnya).

4. Aplikasi Teknik Data Mining
Pada tahapan ini dilakukan implementasi teknik-teknik data mining. Dalam tulisan ini tidak akan dibahas teknik-teknik dalam data mining karena akan terlalu teknis dan luas.

5. Evaluasi Pola
Dalam tahap ini dilakukan evaluasi terhadap pola-pola maupun prediksi yang dihasilkan dari penerapan teknik data mining.

6. Presentasi Pola Untuk Menghasilkan Aksi
Pada tahap ini dilakukan formulasi keputusan atau aksi yang akan dijalankan dari analisis yang didapat.



Impelementasi Data Mining

Kelihatannya sangat rumit, apakah teknik ini bisa dilakukan terhadap bisnis asuransi kesehatan? Tanya teman saya ketika saya bercerita tentang data mining. Jawabannya sangat bisa.

Australian Health Insurance Commision menggunakan data mining untuk mengidentifikasi fraud dan pelayanan yang sebenarnya tidak diperlukan oleh peserta asuransi tetapi tetap dilakukan. Hasilnya? Mereka berhasil menghemat satu juta dollar per tahunnya.



Apa yang Bisa Dilakukan dan Tidak Bisa Dilakukan Oleh Data Mining?

Sehebat dan secanggih apapun teknik data mining tetaplah memiliki keterbatasan terhadap variabel-variabel pendukungnya.

Hal-hal yang bisa dilakukan oleh data mining :
Kemampuan pencarian secara hampir otomatis.
Kemampuan data mining untuk menangani data dalam jumlah besar memungkinkan data mining diterapkan pada masalah-masalah kompleks yang ukurannya tidak dibatasi lagi oleh otak manusia.
Analisis pasar dan manajemen, dengan demikian dapat digunakan sebagai solusi untuk menembak target pasar, cross market analysis, identifikasi kebutuhan konsumen.
Analisis perusahaan dan manajemen resiko, dapat digunakan sebagai analisis untuk perencanaan keuangan dana analisis asset, resource planning, peningkatan daya saing, dsb.

Keterbatasan dan hal-hal yang tidak bisa dilakukan dengan data mining :
Kendala database, karena data mining merupakan penggalian data dalam database, tentu hasilnya sangat tergantung dari mutu database itu sendiri. Sesuai kaidah GIGO (Garbage in garbage out), hasil analisis yang akurat tidak dapat diperoleh dari data yang tidak valid.
Data mining tidak dapat melakukan analisis sendiri, analisis harus dilakukan oleh manusia/user untuk memperoleh hasil.


Perangkat Lunak untuk Data Mining

Sekarang ini sudah banyak vendor yang menyediakan perangkat lunak untuk implementasi data mining dan OLAP yang dikenal dengan istilah Business Intelligence (BI). Para vendor yang menyediakan perangkat lunak ini antara lain :
Pentaho, dengan produk Pentaho BI Platform dengan dual lisensi dan open source berbasis Java, mendukung berbagai macam database engine seperti MySQL, SQL Server, Oracle, PostgreSQL.
Microsoft, kemampuan data mining sudah ditambahkan sejak SQL Server 7 dan semakin disempurnakan pada SQL Server 2005 dan 2008
Oracle, tools untuk BI sudah dipaketkan bersama dengan database engine.

Kesemua perangkat lunak tersebut dibuat bertujuan untuk memudahkan pengguna dalam menerapkan data mining, sehingga didapat hasil yang akurat dan cepat.

diunduh dari: http://mumchaky.multiply.com/journal/item/21/DATA_MINING_-_MENGGALI_EMAS_DALAM_GUNUNG_DATA

Selasa, 25 Mei 2010

Bioinformatika

Bioinformatika (bahasa Inggris: bioinformatics) adalah (ilmu yang mempelajari) penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran sekuens (sequence alignment), prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.

Sejarah

Istilah bioinformatics mulai dikemukakan pada pertengahan era 1980-an untuk mengacu pada penerapan komputer dalam biologi. Namun demikian, penerapan bidang-bidang dalam bioinformatika (seperti pembuatan basis data dan pengembangan algoritma untuk analisis sekuens biologis) sudah dilakukan sejak tahun 1960-an.

Kemajuan teknik biologi molekular dalam mengungkap sekuens biologis dari protein (sejak awal 1950-an) dan asam nukleat (sejak 1960-an) mengawali perkembangan basis data dan teknik analisis sekuens biologis. Basis data sekuens protein mulai dikembangkan pada tahun 1960-an di Amerika Serikat, sementara basis data sekuens DNA dikembangkan pada akhir 1970-an di Amerika Serikat dan Jerman (pada European Molecular Biology Laboratory, Laboratorium Biologi Molekular Eropa). Penemuan teknik sekuensing DNA yang lebih cepat pada pertengahan 1970-an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang berhasil diungkapkan pada 1980-an dan 1990-an, menjadi salah satu pembuka jalan bagi proyek-proyek pengungkapan genom, meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.

Perkembangan internet juga mendukung berkembangnya bioinformatika. Basis data bioinformatika yang terhubung melalui internet memudahkan ilmuwan mengumpulkan hasil sekuensing ke dalam basis data tersebut maupun memperoleh sekuens biologis sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui internet memudahkan ilmuwan mengakses program-program tersebut dan kemudian memudahkan pengembangannya.

Penerapan utama bioinformatika

Basis data sekuens biologis

Sesuai dengan jenis informasi biologis yang disimpannya, basis data sekuens biologis dapat berupa basis data primer untuk menyimpan sekuens primer asam nukleat maupun protein, basis data sekunder untuk menyimpan motif sekuens protein, dan basis data struktur untuk menyimpan data struktur protein maupun asam nukleat.

Basis data utama untuk sekuens asam nukleat saat ini adalah GenBank (Amerika Serikat), EMBL (Eropa), dan DDBJ(en) (DNA Data Bank of Japan, Jepang). Ketiga basis data tersebut bekerja sama dan bertukar data secara harian untuk menjaga keluasan cakupan masing-masing basis data. Sumber utama data sekuens asam nukleat adalah submisi langsung dari periset individual, proyek sekuensing genom, dan pendaftaran paten. Selain berisi sekuens asam nukleat, entri dalam basis data sekuens asam nukleat umumnya mengandung informasi tentang jenis asam nukleat (DNA atau RNA), nama organisme sumber asam nukleat tersebut, dan pustaka yang berkaitan dengan sekuens asam nukleat tersebut.

Sementara itu, contoh beberapa basis data penting yang menyimpan sekuens primer protein adalah PIR (Protein Information Resource, Amerika Serikat), Swiss-Prot (Eropa), dan TrEMBL (Eropa). Ketiga basis data tersebut telah digabungkan dalam UniProt (yang didanai terutama oleh Amerika Serikat). Entri dalam UniProt mengandung informasi tentang sekuens protein, nama organisme sumber protein, pustaka yang berkaitan, dan komentar yang umumnya berisi penjelasan mengenai fungsi protein tersebut.

BLAST (Basic Local Alignment Search Tool) merupakan perkakas bioinformatika yang berkaitan erat dengan penggunaan basis data sekuens biologis. Penelusuran BLAST (BLAST search) pada basis data sekuens memungkinkan ilmuwan untuk mencari sekuens asam nukleat maupun protein yang mirip dengan sekuens tertentu yang dimilikinya. Hal ini berguna misalnya untuk menemukan gen sejenis pada beberapa organisme atau untuk memeriksa keabsahan hasil sekuensing maupun untuk memeriksa fungsi gen hasil sekuensing. Algoritma yang mendasari kerja BLAST adalah penyejajaran sekuens.

PDB (Protein Data Bank, Bank Data Protein) adalah basis data tunggal yang menyimpan model struktural tiga dimensi protein dan asam nukleat hasil penentuan eksperimental (dengan kristalografi sinar-X, spektroskopi NMR dan mikroskopi elektron). PDB menyimpan data struktur sebagai koordinat tiga dimensi yang menggambarkan posisi atom-atom dalam protein ataupun asam nukleat.

Penyejajaran sekuens

Penyejajaran sekuens (sequence alignment) adalah proses penyusunan/pengaturan dua atau lebih sekuens sehingga persamaan sekuens-sekuens tersebut tampak nyata. Hasil dari proses tersebut juga disebut sebagai sequence alignment atau alignment saja. Baris sekuens dalam suatu alignment diberi sisipan (umumnya dengan tanda "–") sedemikian rupa sehingga kolom-kolomnya memuat karakter yang identik atau sama di antara sekuens-sekuens tersebut. Berikut adalah contoh alignment DNA dari dua sekuens pendek DNA yang berbeda, "ccatcaac" dan "caatgggcaac" (tanda "|" menunjukkan kecocokan atau match di antara kedua sekuens).

ccat---caac
| || ||||
caatgggcaac

Sequence alignment merupakan metode dasar dalam analisis sekuens. Metode ini digunakan untuk mempelajari evolusi sekuens-sekuens dari leluhur yang sama (common ancestor). Ketidakcocokan (mismatch) dalam alignment diasosiasikan dengan proses mutasi, sedangkan kesenjangan (gap, tanda "–") diasosiasikan dengan proses insersi atau delesi. Sequence alignment memberikan hipotesis atas proses evolusi yang terjadi dalam sekuens-sekuens tersebut. Misalnya, kedua sekuens dalam contoh alignment di atas bisa jadi berevolusi dari sekuens yang sama "ccatgggcaac". Dalam kaitannya dengan hal ini, alignment juga dapat menunjukkan posisi-posisi yang dipertahankan (conserved) selama evolusi dalam sekuens-sekuens protein, yang menunjukkan bahwa posisi-posisi tersebut bisa jadi penting bagi struktur atau fungsi protein tersebut.

Selain itu, sequence alignment juga digunakan untuk mencari sekuens yang mirip atau sama dalam basis data sekuens. BLAST adalah salah satu metode alignment yang sering digunakan dalam penelusuran basis data sekuens. BLAST menggunakan algoritma heuristik dalam penyusunan alignment.

Beberapa metode alignment lain yang merupakan pendahulu BLAST adalah metode "Needleman-Wunsch" dan "Smith-Waterman". Metode Needleman-Wunsch digunakan untuk menyusun alignment global di antara dua atau lebih sekuens, yaitu alignment atas keseluruhan panjang sekuens tersebut. Metode Smith-Waterman menghasilkan alignment lokal, yaitu alignment atas bagian-bagian dalam sekuens. Kedua metode tersebut menerapkan pemrograman dinamik (dynamic programming) dan hanya efektif untuk alignment dua sekuens (pairwise alignment)

Clustal adalah program bioinformatika untuk alignment multipel (multiple alignment), yaitu alignment beberapa sekuens sekaligus. Dua varian utama Clustal adalah ClustalW dan ClustalX.

Metode lain yang dapat diterapkan untuk alignment sekuens adalah metode yang berhubungan dengan Hidden Markov Model ("Model Markov Tersembunyi", HMM). HMM merupakan model statistika yang mulanya digunakan dalam ilmu komputer untuk mengenali pembicaraan manusia (speech recognition). Selain digunakan untuk alignment, HMM juga digunakan dalam metode-metode analisis sekuens lainnya, seperti prediksi daerah pengkode protein dalam genom dan prediksi struktur sekunder protein.

Prediksi struktur protein

Model protein hemaglutinin dari virus influensa

Secara kimia/fisika, bentuk struktur protein diungkap dengan kristalografi sinar-X ataupun spektroskopi NMR, namun kedua metode tersebut sangat memakan waktu dan relatif mahal. Sementara itu, metode sekuensing protein relatif lebih mudah mengungkapkan sekuens asam amino protein. Prediksi struktur protein berusaha meramalkan struktur tiga dimensi protein berdasarkan sekuens asam aminonya (dengan kata lain, meramalkan struktur tersier dan struktur sekunder berdasarkan struktur primer protein). Secara umum, metode prediksi struktur protein yang ada saat ini dapat dikategorikan ke dalam dua kelompok, yaitu metode pemodelan protein komparatif dan metode pemodelan de novo.

Pemodelan protein komparatif (comparative protein modelling) meramalkan struktur suatu protein berdasarkan struktur protein lain yang sudah diketahui. Salah satu penerapan metode ini adalah pemodelan homologi (homology modelling), yaitu prediksi struktur tersier protein berdasarkan kesamaan struktur primer protein. Pemodelan homologi didasarkan pada teori bahwa dua protein yang homolog memiliki struktur yang sangat mirip satu sama lain. Pada metode ini, struktur suatu protein (disebut protein target) ditentukan berdasarkan struktur protein lain (protein templat) yang sudah diketahui dan memiliki kemiripan sekuens dengan protein target tersebut. Selain itu, penerapan lain pemodelan komparatif adalah protein threading yang didasarkan pada kemiripan struktur tanpa kemiripan sekuens primer. Latar belakang protein threading adalah bahwa struktur protein lebih dikonservasi daripada sekuens protein selama evolusi; daerah-daerah yang penting bagi fungsi protein dipertahankan strukturnya. Pada pendekatan ini, struktur yang paling kompatibel untuk suatu sekuens asam amino dipilih dari semua jenis struktur tiga dimensi protein yang ada. Metode-metode yang tergolong dalam protein threading berusaha menentukan tingkat kompatibilitas tersebut.

Dalam pendekatan de novo atau ab initio, struktur protein ditentukan dari sekuens primernya tanpa membandingkan dengan struktur protein lain. Terdapat banyak kemungkinan dalam pendekatan ini, misalnya dengan menirukan proses pelipatan (folding) protein dari sekuens primernya menjadi struktur tersiernya (misalnya dengan simulasi dinamika molekular), atau dengan optimisasi global fungsi energi protein. Prosedur-prosedur ini cenderung membutuhkan proses komputasi yang intens, sehingga saat ini hanya digunakan dalam menentukan struktur protein-protein kecil. Beberapa usaha telah dilakukan untuk mengatasi kekurangan sumber daya komputasi tersebut, misalnya dengan superkomputer (misalnya superkomputer Blue Gene [1] dari IBM) atau komputasi terdistribusi (distributed computing, misalnya proyek Folding@home) maupun komputasi grid.

Analisis ekspresi gen

Analisis klastering ekspresi gen pada kanker payudara

Ekspresi gen dapat ditentukan dengan mengukur kadar mRNA dengan berbagai macam teknik (misalnya dengan microarray ataupun Serial Analysis of Gene Expression ["Analisis Serial Ekspresi Gen", SAGE]). Teknik-teknik tersebut umumnya diterapkan pada analisis ekspresi gen skala besar yang mengukur ekspresi banyak gen (bahkan genom) dan menghasilkan data skala besar. Metode-metode penggalian data (data mining) diterapkan pada data tersebut untuk memperoleh pola-pola informatif. Sebagai contoh, metode-metode komparasi digunakan untuk membandingkan ekspresi di antara gen-gen, sementara metode-metode klastering (clustering) digunakan untuk mempartisi data tersebut berdasarkan kesamaan ekspresi gen.

diambil dari: http://id.wikipedia.org/wiki/Bioinformatika

Minggu, 02 Mei 2010

Pembuatan Aplikasi Permainan Tic-Tac-Toe pada J2ME

Java 2 Micro Edition

Java 2 Micro Edition (J2ME) dirancang untuk dapat menjalankan program Java pada perangkat yang memiliki kemampuan terbatas misalnya kecilnya jumlah memori yang dimiliki perangkat tersebut.


Konfigurasi J2ME


Konfigurasi J2ME adalah spesifikasi yang mendefinisikan sebuah virtual machine dari kumpulan API-API dasar yang dapat digunakan dalam kelas tertentu dari sebuah peralatan. Virtual machine pada J2ME berbeda dengan yang ada pada J2SE karena hanya fitur-fitur penting yang berkaitan dengan perangkat tanpa kabel (wireless) saja yang diimplementasikan.

Ada 2 kategori konfigurasi J2ME (Ady Wicaksono, Dasar-Dasar Pemograman Java 2, PT. Elex Media Komputindo Jakarta, 2002), yaitu :

1. Connected Device Config

uration (CDC). Sedangkan kategori ini umumnya digunakan untuk aplikasi Java pada perangkat-perangkat yang memiliki ukuran memori paling tidak 2 MegaBytes. Virtual machine yang digunakan adalah CVM.

2. Connected Limited Device Configuration (CLDC). Kategori ini umumnya digunakan untuk perangkat-perangkat yang memiliki memori berukuran 160-512 KiloBytes dan virtual machine digunakan adalah KVM. CDLC inilah yang digunakan untuk pengembangan aplikasi pada ponsel.


Profil J2ME


Sebuah profil dibangun dalam sebuah konfigurasi, namun ditambahkan beberapa API khusus agar dihasilkan sebuah lingkungan yang lengkap untuk membangun aplikasi. Profil berisi daur hidup (life cycle), antarmuka pemakai (user interface), serta penyimpanan. Salah satu profil J2ME adalah Mobile Information Device Profile (MIDP). Profil MIDP menyediakan sebuah platform standar untuk peralatan komunikasi bergerak yang memiliki kapasitas memori terbatas sehingga cocok untuk pengembangan aplikasi pada ponsel.


Deskripsi Permainan Tic-tac-toe


Permainan Tic-tac-toe adalah merup

akan permainan sederhana yang dimainkan oleh 2 orang pemain, dimana pemain secara bergantian menuliskan simbol “X” atau “O” diatas papan berukuran 3 x 3. Dimana pemain yang lebih dahulu dapat menyusun simbol “X” atau “O” secara berurutan (secara vertikal, horizontal, atau diagonal) sebanyak 3 simbol akan memenangkan permainan ini. Simbol yang telah dituliskan tidak dapat dihapus atau dipindahkan, bila seluruh papan telah terisi namun tidak ada yang dapat menyusun 3 simbol secara berurutan maka permainan dinyatakan seri.


Gambaran Umum Program


Permainan Tic-tac-toe

merupakan permainan yang dibuat untuk peralatan mobile seperti hand phone dan PDA yang mendukung Java. Permainan ini dibuat berdasarkan permainan Tic-tac-toe yang sebenarnya. Permainan tic-tac-toe ini dapat dimainkan pada berbagai macam peralatan mobile dengan tampilan yang sama walaupun mempunyai perbedaan resolusi layar. Maka tampilan permainan tic-tac-toe akan selalu sama walaupun pada resolusi layar yang berbeda.

Permainan hanya dapat dimainkan melawan CPU. Terdapat 3 level dari CPU easy, normal, hard. Diharapkan dengan tiga pilihan kesulitan dapat memberikan tingkat kompleksitas permainan sesuai yang diinginkan pengguna.

Selain itu aplikasi ini juga dapat menginput nama dari user. User juga dapat menentukan giliran permainan dan menentukan memakai simbol “X” atau “O”. pada menu user juga dapat melihat catatan nilai total bermain, jumlah kemenangan seri, dan kalah.


Perancangan Antarmuka

Rancangan antarmuka menu utama adalah sebagai berikut :


Gambar 2.4 Antarmuka Menu Permainan Tic-tac-toe


a) Menu

Menu utama merupakan menu awal yang akan dilihat pengguna, dari menu utama ini terdapat beberapa pilihan :

1. Pengaturan :

memilih settingan permainan

2. Skor : menampilkan nilai permainan

3. Aturan permainan : menampilkan pengaturan permainan


Gambar 2.5 Antarmuka Pengaturan Permainan Tic-tac-toe


b) Pengaturan

Menu ini menampilkan pilihan yang digunakan untuk mengubah jenis permainan sesuai dengan keinginan pengguna. Pilihan yang dapat diubah adalah :

1. Nama : menentukan nama pemain

2. Level : menentukan level permainan terdapat 3 level permainan, yaitu mudah, biasa, dan susah.

3. Giliran : menentukan giliran permain

4. Simbol : menentukan simbol “X” atau “O



Gambar 2.6 Antarmuka Skor Permainan Tic-tac-toe

c) Skor

Menu ini menampilkan skor permainan. Terdapat 4 pilihan yang ditampilkan :

1. Total bermain

2. Menang

3. Kalah

4. Seri


Gambar 2.7 Antarmuka Aturan Permainan Tic-tac-toe


d) Aturan Permainan

Menu ini menampilkan aturan permainan dari permainan Tic-tac-toe.


Tampilan Output

a) Tampilan Output Awal Permainan




b) Tampilan Output Saat Bermain








Selasa, 06 April 2010

Cita - Cita

Hmm,,,mm berbicara tentang cita-cita rasanya saya sempat ingin tertawa karena sewaktu saya kecil banyak sekali cita-cita yang inginkan. Salah satunya menjadi seorang pengusaha. Karena menurut saya menjadi seorang pengusaha itu berarti anda menciptakan lapangan pekerjaan untuk orang lain. Selain itu saya termasuk tipikal orang yang tidak suka bekerja disuruh-suruh orang lain (atasan/bos) dan tidak suka terikat dengan orang lain.
Tetapi sekarang ini cita-cita saya yang paling utama adalah lulus dengan nilai baik dari kampus saya dan mencoba meraih cita-cita saya yang telah lama saya inginkan yaitu menjadi seorang pengusaha.

Senin, 05 April 2010

Ubiquitous Computing – Era Ketiga dari Revolusi Komputer

Walau sebagian besar masyarakat umum belum menyadarinya namun pada dasarnya saat ini kita telah berada di era ketiga dari revolusi komputer, yaitu era ubiquitous computing. Era di mana komputer dapat ditemukan di mana saja, di telepon seluler, toaster, mesin cuci, mesin game, bahkan pada kartu pintar (smart card). Bila pada era pertama dari revolusi komputer ditandai dengan komputer mainframe yang berukuran raksasa dan digunakan bersama-sama oleh banyak orang (one computer many people), era kedua ditandai dengan eksistensi dan perkembangan dari personal computer (one computer one person), maka pada era ketiga ini seseorang dalam kehidupannya sehari-hari dapat berinteraksi dengan banyak komputer (one person many computers).

1. Introduksi
Istilah ubiquitous computing –selanjutnya dalam artikel ini akan disingkat sebagai ubicomp- pertama kali dimunculkan oleh Mark Weiser, seorang peneliti senior pada Xerox Palo Alto Research Center (PARC) pada tahun 1988 pada sebuah forum diskusi di lingkungan internal pusat riset tersebut. Istilah ini kemudian tersebar lebih luas lagi setelah Weiser mempublikasikannya pada artikelnya yang berjudul ”The Computer of the 21st Century” di jurnal Scientific American terbitan September 1991.

Dalam artikelnya tersebut Weiser mendefiniskan istilah ubicomp sebagai:
”Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user”
Apabila diterjemahkan secara bebas maka ubicomp dapat diartikan sebagai metode yang bertujuan menyediakan serangkaian komputer bagi lingkungan fisik pemakainya dengan tingkat efektifitas yang tinggi namun dengan tingkat visibilitas serendah mungkin.
Weiser menjelaskan bahwa terminologi komputer dalam dunia ubicomp tidak terbatas pada sebuah PC, sebuah notebook, ataupun sebuah PDA tetapi berwujud sebagai macam-macam alat yang memiliki sifat demikian natural, sehingga seseorang yang tengah menggunakan ubicomp devices tidak akan merasakan bahwa mereka tengah mengakses sebuah komputer.
Latar belakang munculnya ide dasar ubicomp berasal dari sejumlah pengamatan dan studi di PARC terhadap PC, bentuk komputer yang paling dikenal luas oleh masyarakat. PC yang mempunyai kegunaan dan manfaat demikian besar ternyata justru seringkali menghabiskan sumberdaya dan waktu bagi penggunanya, karena PC membuat penggunanya harus tetap berkonsentrasi pada unit yang mereka gunakan dalam menyelesaikan suatu pekerjaan, PC justru membuat mereka terisolasi dari aktifitas lainnya. Dengan kata lain dibanding menghemat sumberdaya dan waktu untuk menyelesaikan sebuah permasalahan, PC justru menambah beban untuk tetap menjaga konsentrasi dan fokus pemikiran kita pada sang alat. Segala fokus dan sumberdaya ini akan tersedot secara berlipat ganda oleh PC apabila terjadi permasalahan yang mengarah pada teknologi, semacam serangan virus atau kerusakan teknis.
Untuk lebih memahami ubicomp kita dapat memandang konsep Virtual Reality (VR) sebagai kebalikan 1800 darinya. Konsep dasar VR adalah mencoba membuat suatu dunia di dalam komputer. Pengguna memakai berbagai macam alat semacam VR goggles, body suit, atau VR glove yang dapat menerjemahkan gerakan mereka sehingga dapat digunakan untuk memanipulasi obyek virtual. Meski VR membawa penggunanya untuk menjelajahi alam realitas melalui simulasi, misalnya pada simulasi penjelajahan di luar angkasa, VR tidak dapat dipungkiri tetap sebuah peta dan bukan sebuah area di dunia nyata. VR mengabaikan orang-orang di sekitar user, mengabaikan bangku tempat duduk user, dan berbagai aspek nyata lainnya. Dapat dikatakan bahwa VR berfokus pada usaha mensimulasikan dunia nyata ke dalam komputer dibanding memanipulasi secara langsung object atau state dunia nyata untuk menyelesaikan sebuah permasalahan. Di lain pihak ubicomp justru berusaha memanipulasi object dan state di dunia nyata untuk menyelesaikan permasalahan yang nyata pula.
Contoh berikut ini akan menjelaskan bagaimana ubicomp dapat diterapkan di kehidupan sehari-hari:
Suatu ketika tersebutlah seorang engineer di sebuah perusahaan yang bergerak di bidang teknologi. Dia berangkat kerja dengan mobilnya melewati jalan tol modern tanpa penjaga pintu tol. Mobil sang engineer telah dilengkapi dengan sebuah badge pintar berisi microchip yang secara otomatis akan memancarkan identitas mobil tersebut pada serangkaian sensor saat melewati pintu tol seperti tampak pada gambar 1. Pembayaran jalan tol akan didebet langsung dari rekeningnya setiap minggunya sesuai data yang di-update setiap mobilnya melewati pintu tol dan disimpan dalam komputer pengelola jalan tol.

2. Aspek-aspek yang Mendukung Pengembangan Ubiquitous Computing
Sebagai sebuah teknologi terapan ataupun sebagai sebuah cabang dari ilmu komputer (Computer Science) pengembangan ubicomp tidak dapat dilepaskan dari aspek-aspek ilmu komputer yang lain. Aspek-aspek penting yang mendukung riset pengembangan ubicomp adalah:

Natural Interfaces
Sebelum adanya konsep ubicomp sendiri, selama bertahun-tahun kita telah menjadi saksi dari berbagai riset tentang natural interfaces, yaitu penggunaan aspek-aspek alami sebagai cara untuk memanipulasi data, contohnya teknologi semacam voice recognizer ataupun pen computing. Saat ini implementasi dari berbagai riset tentang input alamiah beserta alat-alatnya tersebut yang menjadi aspek terpenting dari pengembangan ubicomp.
Kesulitan utama dalam pengembangan natural interfaces adalah tingginya tingkat kesalahan (error prone). Dalam natural interfaces, input mempunyai area bentuk yang lebih luas, sebagai contoh pengucapan vokal “O” oleh seseorang bisa sangat berbeda dengan orang lain meski dengan maksud pengucapan yang sama yaitu huruf “O”. Penulisan huruf “A” dengan pen computing bisa menghasilkan ribuan kemungkinan gaya penulisan yang dapat menyebabkan komputer tidak dapat mengenali input tersebut sebagai huruf “A”.
Berbagai riset dan teknologi baru dalam Kecerdasan Buatan sangat membantu dalam menemukan terobosan guna menekan tingkat kesalahan (error) di atas. Algoritma Genetik, Jaringan Saraf Tiruan, dan Fuzzy Logic menjadi loncatan teknologi yang membuat natural interfaces semakin “pintar” dalam mengenali bentuk-bentuk input alamiah.

Context Aware Computing
Context aware computing adalah salah satu cabang dari ilmu komputer yang memandang suatu proses komputasi tidak hanya menitikberatkan perhatian pada satu buah obyek yang menjadi fokus utama dari proses tersebut tetapi juga pada aspek di sekitar obyek tersebut. Sebagai contoh apabila komputasi konvensional dirancang untuk mengidentifikasi siapa orang yang sedang berdiri di suatu titik koordinat tertentu maka komputer akan memandang orang tersebut sebagai sebuah obyek tunggal dengan berbagai atributnya, misalnya nomor pegawai, tinggi badan, berat badan, warna mata, dan sebagainya.
Di lain pihak Context Aware Computing tidak hanya mengarahkan fokusnya pada obyek manusia tersebut, tetapi juga pada apa yang sedang ia lakukan, di mana dia berada, jam berapa dia tiba di posisi tersebut, dan apa yang menjadi sebab dia berada di tempat tersebut.
Dalam contoh sederhana di atas tampak bahwa dalam menjalankan instruksi tersebut, komputasi konvensional hanya berfokus pada aspek “who”, di sisi lain Context Aware Computing tidak hanya berfokus pada “who” tetapi juga “when”, “what”, “where”, dan “why”.
Context Aware Computing memberikan kontribusi signifikan bagi ubicomp karena dengan semakin tingginya kemampuan suatu device merepresentasikan context tersebut maka semakin banyak input yang dapat diproses berimplikasi pada semakin banyak data dapat diolah menjadi informasi yang dapat diberikan oleh device tersebut.

Micro-nano technology
Perkembangan teknologi mikro dan nano, yang menyebabkan ukuran microchip semakin mengecil, saat ini menjadi sebuah faktor penggerak utama bagi pengembangan ubicomp device. Semakin kecil sebuah device akan menyebabkan semakin kecil pula fokus pemakai pada alat tersebut, sesuai dengan konsep off the desktop dari ubicomp.
Teknologi yang memanfaatkan berbagai microchip dalam ukuran luar biasa kecil semacam T-Engine ataupun Radio Frequency Identification (RFID) diaplikasikan dalam kehidupan sehari-hari dalam bentuk smart card atau tag. Contohnya seseorang yang mempunyai karcis bis berlangganan dalam bentuk kartu cukup melewatkan kartunya tersebut di atas sensor saat masuk dan keluar dari bis setelah itu saldonya akan langsung didebet sesuai jarak yang dia tempuh.

Selasa, 30 Maret 2010

Tugas 3 PKB : SCRIPT (NASKAH)

Script adalah skema representasi pengetahuan yang sama dengan frame, yaitu merepresentasikan pengetahuan berdasarkan karakteristik yang sudah dikenal sebagai pengalaman-pengalaman. Perbedaannya, frame menggambarkan objek, sedangkan script menggambarkan urutan peristiwa. Dalam menggambarkan urutan peristiwa, script menggunakan slot yang berisi informasi tentang orang, objek, dan tindakan-tindakan yang terjadi dalam suatu peristiwa.

Elemen script meliputi :

1. Kondisi input, yaitu kondisi yang harus dipenuhi sebelum terjadi atau berlaku suatu peristiwa dalam script

2. Track, yaitu variasi yang mungkin terjadi dalam suatu script

3. Prop, berisi objek-objek pendukung yang digunakan selama peristiwa terjadi

4. Role, yaitu peran yang dimainkan oleh seseorang dalam peristiwa

5. Scene, yaitu adegan yang dimainkan yang menjadi bagian dari suatu peristiwa

6. Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam script terjadi.




Contoh Script adalah seperti dibawah ini :

Track : Penerimaan pegawai negeri sipil

Role : Peserta,Panitia.

Prop : No.Peserta, Hasil Penerimaan.

Kondisi Input : Peserta yang tedaftar mengikuti Penerimaan PNS.

Scene 1 : Pendaftaran Peserta
Peserta membaca koran adanya lowongan PNS.
Peserta membuat lamaran kerja.
Peserta mengirimkan lamaran kerja.
Peserta mendapat No. peserta untuk mengikuti tes masuk.

Scene 2 : Persiapan Peserta
Peserta belajar.

Scene 3 : Persiapan Panitia
Panitia mengumpulkan data peserta PNS.
Panitia mencari tempat untuk ujian tes masuk.
Panitia menentukan tempat ujian untuk tiap peserta PNS.

Scene 4 : Peserta memasuki ruang ujian 
Peserta Berdoa terlebih dahulu.
Peserta mulai mengerjakan soal.
 

Scene 5 : Peserta selesai melakukan ujian 
Peserta meninggalkan ruang ujian.
Panitia memeriksa hasil ujian.
Panitia mengumumkan hasil ujian.

Goal :
Peserta merasa sangat senang.  
Peserta merasa kecewa.  

Selasa, 23 Maret 2010

Tugas 2: Pengantar Kecerdasan Buatan (Jaringan Semantik)



Jaringan semantik yang membentuk 20 node :

1. Sam adalah seorang laki-laki

2.Sam mempunyai kakak bernama sari

3. Sam mempunyai ayah bernama Ponto

4. Sari anak dari Ponto

5. Ponto akan tinggal di serang

6. Serang ibukota dari banten

7. Sari pernah bekerja di jakarta 

8. Jakarta adalah ibukota dari negara yang bernama indonesia

9. Indonesia memiliki alam yang indah

10. Perempuan adalah makhluk hidup

11. Sari adalah perempuan

12. Sari mempunyai rambut yang panjang dan indah