Rabu, 31 Oktober 2007



Mouse Biometrik Anti Password
Saat ini teknologi yang umum untuk mengenali seseorang di dunia digital adalah pasangan user ID dan password. Bila Anda memiliki banyak piranti atau account Internet yang berbeda-beda, praktek keamanan yang dianjurkan adalah menggunakan password yang berbeda-beda untuk tiap peranti.








Bila Anda punya masalah akut dengan ingatan, jelas ini adalah masalah besar. Teknologi biometrik tampaknya adalah
solusi tepat bagi anda.Teknologi ini mengenali seseorang bukan dari pasangan userid dan password yang sudah lama menjadi mekanisme pengenalan identitas di dunia digital, tetapi dari ciri-ciri biologisnya. Metode yang digunakan berkisar dari pengenalan wajah, pemindaian iris atau sidik jari.


Mouse yang dijual oleh Thinkgeek ini menggunakan teknologi biometrik untuk mengenali pengguna yang hendak mengoperasikan komputer. Terintegrasi dengan mouse ini teknologi biometrik untuk mengenali sidik jari pengguna mouse. Fitur keamanan yang didukung oleh mouse ini adalah login yang aman, akses pada file dan folder melalui autentikasi biometrik.
Terkadang kita ingin berbagi komputer atau dokumen dengan orang lain. Anda juga bisa melakukannya dengan mouse ini tanpa mengorbankan aspek keamanan. Mouse ini bisa mengenali banyak pemakai, sehingga Anda dapat membolehkan orang-orang tertentu untuk menggunakan komputer anda atau mengakses data.
Sistem operasi yang didukung oleh mouse optik dengan sambungan USB ini adalah Windows 98/ME/2000/XP. Dengan mouse ini, Anda bisa mengurangi kerepotan mengingat-ingat password yang semakin banyak itu. Anda bisa memesan mouse yang berharga sekitar US$100 ini dari situs


Camcorder Xacti nan Sakti
Sanyo memperkenalkan anggota keluarga baru, Xacti DMX C-1. Kerja sama yang baik antara digital camera dan digital movies terlihat dari produk yang didominasi warna silver ini.
Buang jauh-jauh imej benda berukuran besar. Sanyo menjawab suara kaum urban yang haus akan produk mini tapi maksi dalam fitur. Xacti DMX C-1 yang beratnya hanya 174 gram, sudah termasuk baterai dan SD Card, ini hadir dengan serentetan fitur yang menarik.
Ada 5,8x optical zoom dengan F3,5, ditambah dengan 10x digital zoom yang sanggup menciptakan 60x zoom. Bermodalkan 3,2 mega pixel CCD, si mungil ini menghasilkan VGA-size video images dan 3,2 mega pixel, resolusi yang cukup tinggi, untuk still images.
Format perekaman untuk still images-nya terbagi menjadi JPEG, DCF, DPOF dan Exif Ver2.2. Sedang untuk video image-nya adalah ISO standard MPEG-4 dengan AAC audio stereo.
DMX-C1, yang memiliki TFT color LCD sebesar 1,5 inci ini, sanggup merekam gambar dengan resolusi hingga 640x480 berkecepatan 30 fps. Dengan 512M memory SD card, gambar hidup dapat terangkai hingga 30 menit. Kualitas suara maksimal diciptakan oleh microphone yang built-in stereo, speaker built-in monarural dengan L/R mixed output.
Tersedia beragam pilihan program AE, mulai dari Auto, Sports, Portrait, Night View, Landscape, Lamp.
Sedang filter function ada standard, cosmetic, slim, monochrome, sepia dan ghost. Dengan teknologi PictBridge, anda bisa mencetak gambar langsung tanpa melalui PC. Menurut perkiraan, Xacti DMX C-1 akan dijual seharga 75.000 yen atau sekitar Rp5,8 juta.




TV Plasma Terbesar di Dunia
LG Electronics menggebrak pasar televisi plasma display panel (PDP) dunia karena berhasil menciptakan TV plasma terbesar di dunia berukuran 76 inci. Menggunakan teknologi yang inovatif, LG memecahkan rekornya sendiri setelah berhasil meluncurkan TV plasma berukuran 71 inci Juli lalu.
TV PDP berkualitas superior ini berlayar full definition beresolusi 2,07 juta piksel dengan range 1920 x 1080. Ketebalan TV ini hanya 83 mm sehingga membuat penampilannya menawan. LG menggunakan satu unit filter yang ditempel di modul PDP itu juga, yang merupakan yang terobosan baru dalam teknologi PDP.
LG sekaligus melangkahi pesaing utamanya, para produsen Jepang, sejak LG lebih cepat menciptakan TV plasma terbesar saat itu, yang berukuran 60 inci. Melalui kemajuan R&D-nya, LG tidak hanya memimpin pasar PDP tetapi juga telah lebih dulu menciptakan PDP terbesar 76 inci.


LG juga telah melengkapi pabriknya dengan sistem produksi PDP terbesar di dunia, yang baru saja diresmikan September lalu. Dengan peningkatan penjualan dan pangsa pasar, perusahaan yang berpusat di Korea Selatan ini menargetkan posisi teratas setengah tahun ke dep


Keyboard Arab dari Cina
Kalau Anda perlu melakukan proses tulis-menulis dalam bahasa Arab, ini ada produk yang bisa memudahkan Anda melakukannya! Keyboard yang memiliki 110 tombol ini diprogram berbasis huruf Arab. Jadi mulai dari huruf alif hingga huruf ya, dan tentunya juga dilengkapi dengan angka-angka dan tanda-tanda baca yang berlaku dalam bahasa Arab.
Selain pengaturan dalam huruf Arab itu, secara fisik keyboard buatan Cina ini
tidaklah berbeda dengan keyboard huruf latin yang biasa kita gunakan untuk komputer desktop. Bentuknya handy, tipis, dan tombol-tombolnya juga lembut.
Keyboard ini kompatibel dengan komputer yang menggunakan sistem operasi mulai dari Windows 95. Interfacenya masih berupa PS/2, sehingga buat komputer yang tidak lagi mengaplikasikan interface itu, diperlukan sebuah konverter yang bisa didapat dari toko-toko elektronik.

Selasa, 30 Oktober 2007

Paspor Biometrik Tetap Mudah Dipalsukan

Paspor Biometrik Tetap Mudah Dipalsukan
JAKARTA - Paspor biometrik atau populer dengan sebutan e-Paspor kini diadopsi berbagai negara demi menjaga kemungkinan pemalsuan. Jangan salah, paspor dengan teknologi canggih ini tetap berisiko dipalsukan. Proses kloning e-Paspor ini bahkan hanya memakan waktu lima menit.Teknologi biometrik memang sudah diadopsi di nyaris semua negara dalam pembuatan paspor. Dengan e-Paspor ini, jika kita kehilangan buku berharga itu, dengan mudah dapat dilacak keberadaannya. Konon teknologi ini juga membuat paspor sulit dipalsukan karena dilengkapi chip komputer yang berisi data lengkap pemiliknya. Tapi jangan salah, makin canggih suatu teknologi, makin canggih pula kiat orang untuk mengakalinya. Dibeli di eBayAdalah Lukas Grunwald dan Christian Bottger asal Inggris yang menyadari bahwa e-Paspor dapat dengan mudah dikloning. Bagaimana caranya? Chip yang ada di dalam e-Paspor merupakan chip Radio Frequency Identification (RFID), yakni serupa dengan chip yang digunakan dalam barkod barang-barang di pasar swalayan. Chip ini memungkinkan pemindaian semua data dengan mesin pemindai di komputer. Teknologi yang selintas tampak andal ini justru memiliki kelemahan. Grunwald mampu mengunduh semua data di paspornya menggunakan pemindai RFID yang dibelinya seharga 300 euro melalui eBay. Alat bernama Golden Reader Tool tersebut adalah peranti lunak yang dipakai oleh polisi penjaga perbatasan negara untuk membaca data yang tersimpan dalam e-Paspor, termasuk foto.Grunwald kemudian mengembangkan alat yang lebih andal lagi, RFdump. Dengan alat temuannya itu, ia mampu mengunduh semua data di dalam e-Paspor dan memindahkannya ke dalam komputer, lantas dimasukkan ke dalam chip lain. Cukup dengan menggunakan komponen standar yang bisa dibeli di toko komponen, e-Paspor dapat dikloning dalam tempo lima menit saja. Hasil kloningan Lucas tidak bisa dibedakan dengan paspor asli.Departemen Dalam Negeri (Depdagri) Inggris belum menyadari betapa mudahnya orang mampu mengakses informasi yang tersimpan di dalam chip. “Kami lihat masih cukup sulit orang mengakses informasi di dalam chip. Selain itu, informasi yang tersimpan sama saja dengan yang tertera di halaman data pribadi. Berarti dengan menggandakan data di chip ini bukan berarti siapa saja dapat menggunakannya secara ilegal,” ungkap juru bicara Depdagri Inggris seperti yang dikutip BBC News, baru-baru ini. Jejaring PakarPaspor biometrik Inggris didesain sedemikian rupa sehingga sulit digandakan secara virtual. Menurut Grunwald dari perusahaan konsultan DN-Systems, pemilik e-Paspor tetap harus waspada untuk tidak sembarangan menyerahkan paspornya kepada siapa saja. “Hampir semua negara mengatakan bahwa paspor jenis ini sangat aman. Sangat sedikit yang memperingatkan warganya bahwa teknologi biometrik tetap berpotensi dipalsukan atau dicuri datanya,” demikian Grunwald.Rekannya, Christian Böttger menekankan bahwa ada banyak kecacatan teknik di dalam sistem ini dan itu terlupakan begitu saja. Semestinya teknologi ini membutuhkan level keamanan yang lebih tinggi, sayangnya justru itu tidak diberlakukan. Uni Eropa telah membentuk jejaring pakar keamanan Teknologi Informasi (TI) demi menjaga validitas e-Paspor. Para pakar yang tergabung dalam Future of Identity in the Information Society (FIDIS) mengatakan bahwa pemerintah negara-negara Eropa telah menerbitkan dokumen peringatan bagi warganya agar meingkatkan kewaspadaan dengan kian merebaknya kasus pencurian identitas.Chip RFID memang dapat dipindai dari jarak agak jauh dan dilacak tanpa disadari oleh pemiliknya. Ini sama saja dengan menuliskan nomor PIN ke bagian belakang kartu pembayaran. Yang paling penting saat ini adalah setiap instansi pembuat paspor tidak memasukkan data-data dan informasi detail pemilik paspor ke dalam chip tersebut.

Senin, 29 Oktober 2007

Implementasi Teknologi Biometric untuk Sistem Absensi Perkantoran

INTISARI

Dalam upaya mencapai effesiensi kerja faktor kehadiran (absensi) karyawan merupakan hal yang cukup penting, apalagi berhubungan dengan produksi, penggajian, prestasi kerja, dll. Pada alat pencatatan absensi karyawan yang konvensional memerlukan banyak intervensi pegawai bagian administrasi kepegawaian (SDM/ human resources management ) maupun kejujuran karyawan, Hal ini dimungkinkan adanya manipulasi data kehadiran apabila pengawasan yang kontinyu pada proses ini tidak dilakukan semestinya. Dengan sistem absensi berbasis biometrics (sidik jari) proses pengambilan informasi kehadiran karyawan menjadi hampir 100% akurat karena didasarkan sidik jari masing-masing serta proses pencatatan dan pelaporannya menjadi otomatis oleh software khusus. Kesalahan maupun manipulasi catatan dapat dihilangkan karena intervensi pegawai administrasi menjadi minimal. Informasi yang akurat merefleksikan kondisi yang sebenarnya menjadi landasan untuk pengambilan keputusan serta kebijakan untuk kemajuan suatu instansi/lembaga.

1. Pendahuluan
Pencatatan absensi karyawan merupakan salah satu faktor penting dalam pengelolaan sumber daya manusia (SDM / human resources management). Informasi yang mendalam dan terperinci mengenai kehadiran seorang karyawan dapat menentukan prestasi kerja seseorang, gaji / upah, produktivitas, atau kemajuan instansi/lembaga secara umum.

Pada alat pencatatan absensi karyawan yang konvensional memerlukan banyak intervensi pegawai bagian administrasi SDM maupun kejujuran karyawan yang sedang dicatat kehadirannya. Hal ini sering memberikan peluang adanya manipulasi data kehadiran apabila pengawasan yang kontinyu pada proses ini tidak dilakukan semestinya.

Proses pencatatan dan pelaporan kehadiran karyawan merupakan proses yang repetitif (berulang). Karyawan datang pada waktu tertentu dan mengambil kartu absensi dari rak kartu, kemudian memasukkan kartu tersebut ke dalam mesin pencetak waktu dan tanggal pada kartu tersebut. Selanjutnya menyimpannya kembali dirak kartu. Setiap periode tertentu pegawai administrasi mengambil kartu-kartu absensi tersebut dan mentabulasikan data-data absensi tersebut dalam spreadsheet dikomputer dan menyimpan kembali kartu-kartu tersebut pada rak ditempatnya masing-masing. Prosedur tersebut diulang-ulang terus menerus tanpa banyak perubahan. Pengulangan prosedur pencatatan absensi dan pelaporan pengupahan tersebut sebenarnya sangat cocok untuk menggunakan proses terotomatisasi seluruhnya oleh komputer

Dengan adanya sistem pencatatan dan pelaporan berbasis biometrics (sidik jari) pengulangan tadi dapat sebagian besar dilakukan oleh komputer. Proses pengambilan informasi kehadiran karyawan menjadi hampir 100% akurat karena didasarkan sidik jari masing-masing serta proses pencatatan dan pelaporannya menjadi otomatis oleh software khusus. Kesalahan maupun manipulasi catatan dapat dihilangkan karena intervensi pegawai administrasi menjadi minimal

2. Permasalahan
Dari permasalahan yang ada maka dilakukan perbandingan – perbandingan antara lain:
1. Pencatatan absensi dan pelaporan menggunakan kartu absensi dan jam pencetak waktu konvensional.

Pencatatan absensi konvensional.

Gambar 1. Pencatatan absensi konvensional.

2. Pencatatan menggunakan kartu magnetik atau kartu berkode (bar code)

3. Pencatatan absensi dan pelaporan menggunakan sidik jari dan integrasi ke software pelaporan dan kepegawaian.

No Faktor kelemahan Kartu absensi dan pencetak waktunya

(1)

Magnetic tape reader / bar code reader

(2)

Finger print scanner & software absensi & pengupahan

(3)

1. Ketidakjujuran karyawan via “buddy punching�? (teman sekerja yang mencatatkan kehadiran) Seringkali terjadi.

Kartu absensi digunakan bersama-sama

Dapat terjadi.

Kartu magnetik dapat digunakan bersama-sama

Tidak mungkin terjadi.

Sidik jari tidak dapat digunakan oleh rekan sekerjanya yang lain.

2. Manipulasi atau hilangnya kartu absensi Mungkin terjadi

Kartu absensi dapat dipertukarkan antar rekan sekerja

Mungkin terjadi

Kartu magnetik dapat dipertukarkan antar rekan sekerja

Tidak mungkin terjadi

Tidak menggunakan kartu absensi, sidik jari seseorang selalu unik (tidak ada yang sama).

Dapat menggunakan lebih dari 1 jari sebagai identifikasi

3. Kesalahan/ ketidakakuratan pencatatan waktu kerja karyawan Kurang akurat.

Pencetak waktu dapat diset atau reset manual, sehingga mungkin dapat menjadi tidak akurat

Akurat

Pencatatan waktu menggunakan komputer, sangat akurat

Akurat

Pencatatan waktu menggunakan komputer, sangat akurat

4. Otomatisasi sistem pelaporan dan integrasi dengan sistem informasi kepegawaian Secara manual

Hrs dilakukan secara manual, kemungkinan kesalahan penyalinan data dari kartu absensi cukup besar

Dapat secara otomatis

Mungkin dapat diintegrasikan dengan sistem terkomputerisasi.

Otomatis dan integrasi ke sistem kepegawaian

Selalu dapat dilakukan otomatisasi pelaporan, menggunakan sistem yang terintegrasi.

Kelemahan sistem konvensional adalah terbukanya peluang manipulasi, kesalahan pencatatan, maupun hilangnya catatan kehadiran seorang karyawan. Juga, terbuka kemungkinan terjadinya “buddy punching�? dimana rekan sekerja yang lain mencatatkan waktu kerja yang bukan dirinya. Hal ini membuat pencatatan waktu kehadiran karyawan menjadi tidak akurat.

Integrasi ke sistem kepegawaian membutuhkan analisis dan perancangan software yang terpadu, dengan sistem konvensional cukup sulit untuk diotomatisasikan karena pencatatan informasi kehadiran secara manual. Pencatatan menggunakan komputer seperti pada penggunaan sidik jari ini sangat memungkinkan keterpaduan dengan sistem kepegawaian serta pengembangan sistem lebih lanjut.

3. Pemecahan masalah

Sistem pencatatan kehadiran berbasis biometrics (sidik jari) mampu menjawab permasalahan absensi diatas. Berdasarkan perbandingan dengan sistem lain pada tabel sebelumnya, sistem berbasis biometrics mempunyai keunggulan sbb:

• Sidik jari tidak dapat dipalsukan dan digandakan.
Karyawan yang mencatatkan kehadirannya di sistem biometriks ini adalah benar-benar karyawan yang namanya tercantum dalam record komputer di database kepegawaian.

• Kesalahan pencatatan dan manipulasi data dapat diminimalkan.
Data absensi karyawan menjadi sangat akurat. Semuanya terautomatisasi dengan sistem kepegawaian sehingga intervensi manual oleh unauthorized user dapat dihindari.

• Sistem pelaporan terintegrasi dengan sistem informasi kepegawaian.
Pencatatan absensi, pelaporan, dan proses selanjutnya seperti pengupahan, prestasi kerja, uang transport, dst. dapat diintegrasikan bersama - sama. Sistem terpadu menghasilkan laporan yang akurat, cepat, dan efisien.

• Sangat mudah digunakan
User hanya perlu menekan sensor dengan salah satu jari (misal jempol atau telunjuk) dan proses sisanya ditangani oleh sistem ini. Tampilan di layar monitor menggunakan grafis dan sangat informatif. Misalnya photo akan muncul, berikut nomor pegawai, dan waktu kehadiran secara singkat dan jelas.

4. Spesifikasi teknis prototype
1. Gambar produk


2. Cara kerja

Inisialisasi:

Penggunaan Sistem Pencatatan Absensi Biometrics:

Awalnya setiap karyawan akan didaftarkan sidik jarinya ke dalam database sidik jari biometrics, jari yang didaftarkan dapat lebih dari satu jika salah satu jarinya tidak secara sempurna digunakan sebagai identifikasi. Informasi setiap karyawan sebagai acuan dapat menggunakan database kepegawaian yang telah dirancang atau sistem kepegawaian rancang bangun terbaru.[1]

Untuk digunakan sebagai pencatat absensi, karyawan pengguna hanya perlu menempelkan jarinya pada sensor di dekat layar monitor. Selanjutnya sistem biometrics akan mendeteksi sendiri siapa karyawan tersebut dan mencatat waktu kedatangan / kepulangannya sesuai dengan waktu di CMOS clock komputer. Informasi ini akan disimpan pada database kepegawaian untuk perhitungan selanjutnya.

3. Fitur dan keunggulan sistem
• Solusi lengkap sistem absensi biometrics, dimana hardware sensor, custom-designed software, dan packaging nya dalam satu paket lengkap.
• Sistem ini sangat mudah digunakan, sensor dapat membaca sidik jari pada sudut apa saja, bahkan terbalik sekalipun. Software driver sensor mampu mengenalinya dengan baik.
• Pengamanan pembacaan sidik jari dari pembacaan sidik jari sebelumnya. Pembacaan bayang-bayang sidik jari dari user sebelumnya dapat tersisa, tapi sistem ini akan menghilangkannya sehingga pembacaan selanjutnya menjadi lebih akurat.
• Link data dari sensor ke Biometrics Server yang aman. Data dikirim menggunakan link yang terotorisasi secara “challenge-response�?. Jadi data yang lain tidak dapat dikirim ulang untuk otorisasi.
• Template sidik jari dan data-data user diproteksi secara internal dengan menggunakan teknik 128-bit enkripsi.
• Gambar image sidik jari tidak disimpan, tapi hanya kalkulasi matematisnya saja. Jadi, identitas masing-masing sidik jari tidak dapat digandakan.

5. Kesimpulan

Sistem absensi biometrics ini tentunya akan menyelesaikan masalah-masalah klasik pencatatan absensi, yaitu diantaranya buddy punching, kartu yang hilang, pencatatan absensi yang kurang akurat, hingga keamanan informasi. sistem yang akan dibangun tentunya harus sesuai dengan kebutuhan sehingga pemanfaatannya menjadi tepat guna. pengembangan lebih lanjut berikut ujicoba yang teliti yang mencakup semua aspek pemakaian sistem ini perlu dilaksanakan sehingga menjadikan sistem yang handal dan sesuai dengan kebutuhan spesifik perusahaan.

Sabtu, 27 Oktober 2007

Kecerdasan Buatan

Kecerdasan Buatan
Angkatan Udara AS (USAF) kini tengah m,engembangkan sistem kendali penerbangan untuk pesawat militer dan rudal dengan kecerdasan buatan atau artificial intelligence. Tujuannya adalah membantu kestabilan terbang pada saat-saat krisis, sehingga pilot lebih mudah dalam mengatasi kerusakan pada pesawat serta mengurangi kemungkinan jatuhnya korban. Sistem pengendalian yang didasarkan pada jejaring teknologi neural ini dikembangkan bersama dengan Georgia Institute of Technology di Atlanta. Sistem ini sekarang telah siap untuk diuji-cobakan pada beberapa jenis pesawat tak berawak USAF, seperti UCV atau pesawat tempur tanpa awak serta pesawat angkasa VentureStar. UCV adalah proyek dari badan riset USAF untuk membuktikan kemungkinan pemakaian pesawat tak berawak untuk melakukan serangan udara. Menurut USAF, sistem neural untuk kendali penerbangan ini menawarkan kestabilan yang nyaris sempurna dan langsung pada saat timbul kerusakan atau kegagalan pada sistem kendali konvensional. Sistem itu secara otomatis juga menyesuaikan diri dengan perubahan lingkungannya, seperti berat pesawat, kerusakan sayap dan sebagainya. Pengembangan sistem ini telah dimulai sejak 1996, dan sampai tahun lalu telah menghabiskan biaya 2,5 juta dollar. (rb)
Osprey Marinir Jatuh
Sebuah pesawat V-22 Osprey Korps Marinir AS jatuh tanggal 8 April lalu di Arizona, menewaskan ke-19 anggota marinir yang berada di dalamnya, termasuk empat awak pesawat helikopter kepresidenan AS. Ini merupakan kecelakaan Osprey yang ketiga kalinya. Satu di antaranya pada tahun 1992 menewaskan tujuh penumpangnya. Kecelakaan Osprey terakhir yang sempat menimbulkan perhatian Presiden Bill Clinton, oleh berbagai kalangan dinilai sebagai contoh klasik dari suatu program militer yang tidak dapat dihentikan. Pesawat dengan sistem tilt-rotor ini dapat mengudara maupun mendarat seperti helikopter (vertikal), namun kecepatan dan daya muatnya jauh lebih besar. Sejak awal,
pengembangan pesawat ini telah menimbulkan pro-kontra, khususnya antara Pentagon yang tidak menyetujui program Osprey dengan Kongres yang mendukung program tersebut. Para pejabat pertahanan menyatakan, biaya pesawat ini terlalu besar dan pesawat ini pun terlalu eksperimental sifatnya. Namun Kongres menang, dan sejak enam bulan lalu Korps Marinir yang memang menginginkan pesawat berkemampuan seperti itu mulai mengoperasikan lima pesawat. Pesawat ini telah dikembangkan selama 18 tahun dengan ongkos besar sekali. Setiap pesawat harganya sekitar 60 juta dollar AS, sehingga potensi komersialnya tipis. Dengan jatuhnya Osprey tersebut, untuk sementara Korps Marinir menghentikan penerbangan keempat pesawat lainnya sampai diketahui persis sebab musabab kecelakaan tersebut. (rb)

KECERDASAN BUATAN DALAM ROBOTIK


KECERDASAN BUATAN DALAM ROBOTIK


Kecerdasan Buatan (Artificial Intelligence) dalam robotik adalah suatu algorithma (yang dipandang) cerdas yang diprogramkan ke dalam kontroler robot. Pengertian cerdas di sini sangat relatif, karena tergantung dari sisi mana sesorang memandang.
Para filsuf diketahui telah mulai ribuan tahun yang lalu mencoba untuk memahami dua pertanyaan mendasar: bagaimanakah pikiran manusia itu bekerja, dan, dapatkah yang bukan-manusia itu berpikir? (Negnevitsky, 2004). Hingga sekarang, tak satupun mampu menjawab dengan tepat dua pertanyaan ini. Pernyataan cerdas yang pada dasarnya digunakan untuk mengukur kemampuan berpikir manusia selalu menjadi perbincangan menarik karena yang melakukan penilaian cerdas atau tidak adalah juga manusia. Sementara itu, manusia tetap bercita-cita untuk menularkan �kecerdasan manusia� kepada mesin.
Dalam literatur, orang pertama yang dianggap sebagai pionir dalam mengembangkan mesin cerdas (intelligence machine) adalah Alan Turing, sorang matematikawan asal Inggris yang memulai karir saintifiknya di awal tahun 1930-an. Di tahun 1937 ia menulis paper tentang konsep mesin universal (universal machine). Kemudian, selama perang dunia ke-2 ia dikenal sebagai pemain kunci dalam penciptaan Enigma, sebuah mesin encoding milik militer Jerman. Setelah perang, Turing membuat �automatic computing engine�. Ia dikenal juga sebagai pencipta pertama program komputer untuk bermain catur, yang kemudian program ini dikembangkan dan dimainkan di komputer milik Manchester University. Karya-karyanya ini, yang kemudian dikenal sebagai Turing Machine, dewasa ini masih dapat ditemukan aplikasi-aplikasinya. Beberapa tulisannya yang berkaitan dengan prediksi perkembangan komputer di masa datang akhirnya juga ada yang terbukti. Misalnya tentang ramalannya bahwa di tahun 2000-an komputer akan mampu melakukan percakapan dengan manusia. Meski tidak ditemukan dalam paper-papernya tentang istilah �resmi�: artificial intelligence, namun para peneliti di bidang ini sepakat untuk menobatkan Turing sebagai orang pertama yang mengembangkan kecerdasan buatan.
Secara saintifik, istilah kecerdasan buatan � untuk selanjutnya disebut sebagai AI (artificial intelligence) � pertama kali diperkenalkan oleh Warren McCulloch, seorang filsuf dan ahli perobatan dari Columbia University, dan Walter Pitts, seorang matematikawan muda pada tahun 1943, (Negnevitsky, 2004). Mereka mengajukan suatu teori tentang jaringan saraf tiruan (artificial neural network, ANN) � untuk selanjutnya disebut sebagai ANN � bahwa setiap neuron dapat dipostulasikan dalam dua keadaan biner, yaitu ON dan OFF. Mereka mencoba menstimulasi model neuron ini secara teori dan eksperimen di laboratorium. Dari percobaan, telah didemonstrasikan bahwa model jaringan saraf yang mereka ajukan mempunyai kemiripan dengan mesin Turing, dan setiap fungsi perhitungan dapat dapat diselesaikan melalui jaringan neuron yang mereka modelkan.
Kendati mereka meraih sukses dalam pembuktian aplikasinya, pada akhirnya melalui eksperimen lanjut diketahui bahwa model ON-OFF pada ANN yang mereka ajukan adalah kurang tepat. Kenyataannya, neuron memiliki karakteristik yang sangat nonlinear yang tidak hanya memiliki keadaan ON-OFF saja dalam aktifitasnya. Walau demikian, McCulloch akhirnya dikenal sebagai orang kedua setelah Turing yang gigih mendalami bidang kecerdasan buatan dan rekayasa mesin cerdas. Perkembangan ANN sempat mengalami masa redup pada tahun 1970-an. Baru kemudian pada pertengahan 1980-an ide ini kembali banyak dikaji oleh para peneliti.
Sementara itu, metoda lain dalam AI yang sama terkenalnya dengan ANN adalah Fuzzy Logic (FL) � untuk selanjutnya ditulis sebagai FL. Kalau ANN didisain berdasarkan kajian cara otak biologis manusia bekerja (dari dalam), maka FL justru merupakan representasi dari cara berfikir manusia yang nampak dari sisi luar. Jika ANN dibuat berdasarkan model biologis teoritis, maka FL dibuat berdasarkan model pragmatis praktis. FL adalah representasi logika berpikir manusia yang tertuang dalam bentuk kata-kata.
Kajian saintifik pertama tentang logika berfikir manusia ini dipublikasikan oleh Lukazewicz, seorang filsuf, sekitar tahun 1930-an. Ia mengajukan beberapa representasi matematik tentang �kekaburan� (fuzziness) logika ketika manusia mengungkapkan atau menyatakan penilaian terhadap tinggi, tua dan panas (tall, old, & hot). Jika logika klasik hanya menyatakan 1 atau 0, ya atau tidak, maka ia mencoba mengembangkan pernyataan ini dengan menambahkan faktor kepercayaan (truth value) di antara 0 dan 1.
Di tahun 1965, Lotfi Zadeh, seorang profesor di University of California, Berkeley US, mempublikasikan papernya yang terkenal, �Fuzzy Sets�. Penelitian-penelitian tentang FL dan fuzzy system dalam AI yang berkembang dewasa ini hampir selalu menyebutkan paper Zadeh itulah sebagai basis pijakannya. Ia mampu menjabarkan FL dengan pernyataan matematik dan visual yang relatif mudah untuk dipahami. Karena basis kajian FL ini kental berkaitan dengan sistem kontrol (Zadeh adalah profesor di bidang teknik elektro) maka pernyataan matematiknya banyak dikembangkan dalam konteks pemrograman komputer.
Metoda AI lain yang juga berkembang adalah algorithma genetik (genetic algorithm, GA) � untuk selanjutnya disebut sebagai GA. Dalam pemrograman komputer, aplikasi GA ini dikenal sebagai pemrograman berbasis teori evolusi (evolutionary computation, EC) � untuk selanjutnya disebut sebagai EC. Konsep EC ini dipublikasikan pertama kali oleh Holland (1975). Ia mengajukan konsep pemrograman berbasis GA yang diilhami oleh teori Darwin. Intinya, alam (nature), seperti manusia, memiliki kemampuan adaptasi dan pembelajaran alami �tanpa perlu dinyatakan: apa yang harus dilakukan�. Dengan kata lain, alam memilih �kromosom yang baik� secara �buta�/alami. Seperti pada ANN, kajian GA juga pernah mengalami masa vakum sebelum akhirnya banyak peneliti memfokuskan kembali perhatiannya pada teori EC.
GA pada dasarnya terdiri dari dua macam mekanisme, yaitu encoding dan evaluation. Davis (1991) mempublikasikan papernya yang berisi tentang beberapa metoda encoding. Dari berbagai literatur diketahui bahwa tidak ada metoda encoding yang mampu menyelesaikan semua permasalahan dengan sama baiknya. Namun demikian, banyak peneliti yang menggunakan metoda bit string dalam kajian-kajian EC dewasa ini.
Aplikasi AI dalam kontrol robotik dapat diilustrasikan sebagai berikut,


Gambar 4.1: Kontrol robot loop tertutup berbasis AI
Penggunaan AI dalam kontroler dilakukan untuk mendapatkan sifat dinamik kontroler �secara cerdas�. Seperti telah dijelaskan di muka, secara klasik, kontrol P, I, D atau kombinasi, tidak dapat melakukan adaptasi terhadap perubahan dinamik sistem selama operasi karena parameter P, I dan D itu secara teoritis hanya mampu memberikan efek kontrol terbaik pada kondisi sistem yang sama ketika parameter tersebut di-tune. Di sinilah kemudian dikatakan bahwa kontrol klasik ini �belum cerdas� karena belum mampu mengakomodasi sifat-sifat nonlinieritas atau perubahan-perubahan dinamik, baik pada sistem robot itu sendiri maupun terhadap perubahan beban atau gangguan lingkungan.
Banyak kajian tentang bagaimana membuat P, I dan D menjadi dinamis, seperti misalnya kontrol adaptif, namun di sini hanya akan dibahas tentang rekayasa bagaimana membuat sistem kontrol bersifat �cerdas� melalui pendekatan-pendekatan AI yang populer, seperti ANN, FL dan EC atau GA.
Gambar 4.1 mengilustrasikan tentang skema AI yang digunakan secara langsung sebagai kontroler sistem robot. Dalam aplikasi lain, AI juga dapat digunakan untuk membantu proses identifikasi model dari sistem robot, model lingkungan atau gangguan, model dari tugas robot (task) seperti membuat rencana trajektori, dan sebagainya. Dalam hal ini konsep AI tidak digunakan secara langsung (direct) ke dalam kontroler, namun lebih bersifat tak langsung (indirect).
Kecerdasan Buatan





Istilah kecerdasan buatan sebenarnya berasal dari bahasa Inggris: “Artificial Intelligence”. Jika diartikan tiap kata, artificial artinya buatan, sedangkan intelligence adalah kata sifat yang berarti cerdas. Jadi artificial intelligence maksudnya adalah sesuatu buatan atau suatu tiruan yang cerdas. Cerdas di sini kemungkinan maksudnya adalah kepandaian atau ketajaman dalam berpikir, seperti halnya otak manusia dalam menyelesaikan suatu masalah.
Secara awam kecerdasan buatan diterjemahkan sebagai sebuah sistem saraf, atau sensor atau otak yang diciptakan oleh sebuah mesin. Sebenarnya kecerdasan buatan merujuk kepada mesin yang mampu untuk berpikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia.
Alan Turing, ahli matematika berkebangsaan Inggris yang dijuluki bapak komputer modern dan pembongkar sandi Nazi dalam era Perang Dunia II tahun 1950, dia menetapkan definisi Artificial Intelligent : Jika komputer tidak dapat dibedakan dengan manusia saat berbincang melalui terminal komputer, maka bisa dikatakan komputer itu cerdas, mempunyai intelegensi.
Kecerdasan buatan itu sesuatu yang diciptakan oleh manusia, untuk menggantikan manusia. Jadi bisa jadi kecerdasan buatan itu merupakan suatu ancaman.

Walau pun menyadari bahwa kecerdasan buatan bisa jadi adalah suatu ancaman untuk manusia, tapi manusia masih saja mengembangkan apa yang disebut dengan kecerdasan buatan. Manusia masih saja mencoba mengembangkan / mendapatkan sesuatu (teknologi) yang baru, yang dapat berpikir seperti manusia. Hal ini terjadi karena adanya ketidakpuasan dalam diri manusia, manusia ingin mendapatkan sesuatu dengan cara yang lebih mudah. Lagipula memang ada keterbatasan-keterbatasan dalam diri manusia, seperti otak manusia yang hanya mampu berpikir dengan frekuensi kira-kira 100 Hz dan karena manusia mempunyai rasa capai. Bandingkan dengan komputer sekarang yang mampu mengolah data dengan frekuensi 4 GHz. Komputer juga tidak mempunyai rasa capai walau pun harus mengolah data yang sama berulang-ulang.

Walaupun terasa sangat futuristik dan terlihat berbahaya, karena mesin nantinya akan memiliki kecerdasan dan emosi, para pakar AI menganggap pengembangan disiplin ilmu ini penting karena bisa diterapkan di Internet nantinya. Misalnya saja, di masa mendatang ketika Anda mengunjungi sebuah situs agen perjalanan, maka di layar komputer akan muncul wajah seorang wanita yang sangat sempurna karena semuanya berupa ciptaan komputer. Uniknya, Anda akan mampu bercakap-cakap dengan wanita artifisial ini, seperti layaknya Anda berbicara dengan staff wanita beneran di counter biro perjalanan. Kalau ini tercapai, maka pelayanan dapat diberikan 100% online, dengan akurasi yang sangat tinggi. Terutama dari konsistensi, keramahan, kecepatan dan akurasi pelayanan. Lain kalau kita menggunakan staff manusia asli yang konsistensinya tidak bisa akurat karena terpengaruh kepada kondisi fisik dan emosi saat itu.
Saat ini sudah banyak teknologi kecerdasan buatan yang dihasilkan dan dipakai oleh manusia. Misalnya saja pada robot Asimo yang bisa menari dan berjalan, atau pada permainan komputer yang dirancang untuk membuat manusia berpikir keras untuk mengalahkannya. Contoh lain ada di industri otomotif. Adanya teknologi komputer yang mampu mengolah data dengan cepat dipakai untuk memberikan peringatan pada pengemudi mobil untuk menghindari terjadinya tabrakan.Yak… begitulah sedikit cerita tentang Kecerdasan Buatan.
PENERAPAN kecerdasan buatan menggunakan algoritma minimax pada permainan tik-tak





Kecerdasan buatan dapat diterapkan atau dimplementasikan kedalamberbagai bentuk aplikasi. Bentuk implementasi yang paling mudah untuk diukurtingkat keberhasilan dan cukup digemari oleh sebagain besar publik yaitu padagames atau permainan. Permainan yang digunakan sebagai mediapengimplementasian pada kasus ini adalah permaian Tik-tak atau dalam bahasaInggris dikenal dengan nama Tic-tac-toe. Tik-tak adalah salah satu permainanlogika yang cukup populer dimasyarakat kita juga masyarakat internasional.Meskipun dimasing-masing daerah permainan ini memiliki nama yang berbedabeda,namun pola dan aturan permainan tetap sama.Algoritma yang digunakan pada kecerdasan buatan tersebut menggunakanalgoritma Minimax. Minimax menurut beberapa pakar kecerdasan buatanmerupakan salah satu algoritma yang sering digunakan dalam penerapankecerdasan buatan pada permainan, khususnya permainan logika, antara lainCatur, Go, Othello, dan sebagainya.Proses utama algoritma Minimax yaitu pencarian nilai terbaik berdasarkannilai-nilai yang telah diberikan pada tiap-tiap langkah. Nilai-nilai tersebutdibangkitkan berdasarkan basis pengetahuan yang dimiliki oleh algoritmatersebut. Dengan penerapan algoritma Minimax sebagai pondasi suatu kecerdasanbuatan pada permainan Tik-tak, maka diharapkan akan dihasilkan suatupermainan yang interaktif. Dalam permainan ini, dua pemain dapat salingbertanding menggunakan dua unit komputer yang dihubungkan oleh jaringanlokal.Alat bantu pada implementasi kasus ini menggunakan jaringan lokal danpemrograman Visual Basic 6.0.
PENGEMBANGAN PERANGKAT LUNAK KECERDASAN BUATAN DENGAN MENGGUNAKAN METODE FORWARD CHAINING (Studi Kasus Mendiagnosa Keadaan Bayi Dalam Kandungan)





Kecerdasan buatan adalah kemampuan komputer untuk berpikir dengan intelegensia. Ini tercapai dengan mempelajari bagaimana manusia mengingat dan berpikir ketika sedang mengambil keputusan dan memecahkan masalah.
Kecerdasan buatan yang dibangun mempunyai beberapa komponen yang saling berhubungan untuk membangun sistem yaitu basis pengetahuan, mesin inferensi, antarmuka pemakai. Persoalan yang dipecahkan dalam sistem ini adalah bagaimana cara menyusun aturan yang terdiri atas beberapa premis dan konklusi dari fakta-fakta yang tersedia, sehingga dihasilkan suatu solusi, dengan menggunakan mesin inferensi yaitu forward chaining, selain itu sistem ini juga menggunakan suatu penalaran knowledge base yaitu penalaran rule-based reasoning.
Penelitian ini membahas tentang pendiagnosaan keadaaan bayi dalam kandungan yang menggunakan teknik inferensi forward chaining, yang memulai penalarannya mulai dari sekumpulan fakta-fakta menuju sebuah hipotesa (solusi). Sistem yang dikembangkan memberikan keleluasaan pada perekayasa pengetahuan untuk memasukkan himpunan aturan pada basis pengetahuan dan diperolehnya suatu solusi berdasarkan basis pengetahuan yang ada.
Apa Itu AI





Istilah AI (Artificial Intelegent) atau bahasa kitanya adalah kecerdasan buatan merupakn bidang ilmu yang memang baru berkembang th 90-an dan aplikasinya dah banyak diterapkan orang mulai dari games komputer, sistem kontrol cerdas, robotik, malah sampai ke pemecahan masalah bidang ekonomi dll.
Kita di lab Komputasi dan Otomasi Industri (LAB CIA) jurusan pend. teknik elektro upi sudah membangun suatu suatu research group khusus mengkaji bidang ini. Tentunya saat ini butuh orang-orang terutama mahasiswa yang ingin memperdalam ilmu ini kita terbuka buat siapapun yang merasa tertantang. terutama mhs dari mipa dan teknik.
Untuk tutorial kita akan adakan sesuai permintaan anda kapan siapnya mudah-mudahan cocok dengan jadwal aktifitas kita. Sebagai langkah awal kita akan perkenalkan tentang Expert system (sistem Pakar), Jaringan Syaraf Tiruan (JST/ Neural Network), Logika Fuzzy (Fuzzy Logic) dan Algoritma Genetika (Genetic Algorithm).
Selanjutnya kita arahkan anda minatnya ke mana. karena ngak mungkin dalam waktu singkat akan menguasai semuanya. Sebagai langkah praktis kita perkenalkan juga beberapa toolbox yang ada di MATLAB.Dasar ilmu untuk mendalaminya hanya matematika dan computer programming.
Berkomunikasi dengan Teknologi






Mendengarkan robot atau komputer berbicara, sudah bukan hal yang asing lagi untuk zaman ini. Namun, berbicara dengan komputer atau robot seperti layaknya dengan manusia? Belum tentu! Bukan berarti tidak mungkin.
Perangkat yang Dibutuhkan
Perangkat utama yang dibutuhkan dalam menunjang aplikasi berkomunikasi ini tentu saja perangkat multimedia, terutama audio.Kemampuan mendengarkan akan banyak diperoleh dari mikrofon yang digunakan sebagai media input. Dan kemampuan menyampaikan informasi akan dibantu dengan speaker sebagai media output.
Untuk fitur Text to speech atau voice command yang diberikan Windows XP, sebenarnya persyaratan yang diminta sangat minim, artinya dengan perangkat audio yang paling sederhana Anda sudah dapat menikmati fasilitas ini. Namun, memilih mikrofon dan speaker yang baik tidak akan ada salahnya. Dengan speaker yang bersih dan baik, Anda dapat mendengar pesan yang disampaikan oleh komputer dengan lebih jelas. Sebaliknya dnegan mikrofon yang bersih dan tidak terlalu banyak noise, pesan yang diterima komputer juga akan lebih jelas.
Pada sebuah komputer yang sederhana, pengolahan audio ini akan banyak dibantu perangkat yang dinamakan sound card. Namun biar bagaimanapun, tergantung pada sistem dan aplikasi yang digunakan. Artinya, kemampuan berkomunikasi sebuah komputer atau robot memiliki banyak keterkaitan dnegan keseluruhan sistem dari komputer atau robot itu sendiri.
Contohnya saja sebuah komputer ber-operating system Windows XP mengaktifkan fitur Text to Speech-nya. Maka karena kemampuan sistem hanya mampu mengakomodasi bahasa Inggris, biar pun perangkat yang digunakan sudah sangat canggih atau keluaran terbaru, tetap saja komputer tidak akan dapat menyampaikan atau membaca tulisan yang diketik dalam bahasa Indonesia.
Di Masa yang akan Datang
Perkembangan teknologi yang memungkinkan sebuah komputer dapat dengan lancar berkomunikasi dengan manusia telah berkembang sangat jauh. Meskipun tidak sehebat perkembangan motorik yang dapat dilakukan oleh robot. Namun setidaknya, mengalami perkembangan yang sangat positif. Misalnya saja, saat ini bila Anda membeli sebuah robot Aibo keluaran Sony. Maka Anda dapat memberikan 100 lebih macam perintah pada anjing elektrik tersebut dengan suara Anda. Meskipun kemungkinan si anjing pintar tersebut menuruti perintah Anda sangat tipis. Tapi, ia dapat mengerti apa yang Anda katakan.
Lain Aibo lain pula dengan Asimo, robot berbentuk menyerupai astronot buatan Honda. Robot yang merupakan kepanjangan dari Advanced Step in Innovative Mobility ini memiliki kemampuan kominikasi yanglebih canggih. Ia tidak hanya dapat bereaksi ketika
namanya dipanggil, namun ia juga dapat mengerti jenis suara lain selain suara manusia, serta bereaksi terhadapnya. Misalnya ketika mendengar ada sesuatu yang jatuh atau tertabrak ia tidak hanya dapat mengerti apa yang sedang terjadi, namun dapat langsung bereaksi dengan menengok ke arah suara tersebut.
Kemampuan komunikasi tersebut sering disebut juga dengan sebutan danya Artificial Intelegent (kepintaran buatan). Tidak menutup kemungkinan kemampuan kedua robot ini akan terus berkembang menjadi lebih baik lagi.
Sebenarnya apa manfaat yang dapat diperoleh dari kemampuan komunikasi ini? Banyak sekali! Salah satu di antaranya yang paling sederhana adalah dengan adanya kemampuan komunikasi ini sebuah robot atau komputer akan lebih mudah dioperasikan. Sebab mayoritas manusia tidak memiliki kendala dalam mengungkapkan sesuatu secara verbal.
Tenaga yang dibutuhkan untuk berkomunikasi secara verbal juga akan lebih sedikit. Misalnya saja, bila Anda akan mendikte sebuah surat bisnis. Anda tidak perlu lagi membutuhkan seorang sekretaris, komputer akan langsung mengerjakannya untuk Anda. Begitu pula dalam hal membuat notulen rapat.
Atau mungkin dalam pengoperasian perangkat pabrik yang sangat rumit. Bila semua kerumitan itu dapat diterjemahkan ke dalam bentuk verbal tentu akan sangat mudah dilakukan, bukan? Masalah keamanan bukan lagi menjadi kendala. Dengan otorisasi suara serta password seperti layaknya komputer biasa, maka keberadaan teknologi ini akan membuat sistem lebih unggul.
Sebagai salah satu contoh adalah penerapan voice command pada salah satu mobil produksi Audi, yaitu Audi A8 yang menjadikan voice command sebagai fitur optional. Dengan adanya fitur ini, seorang pengendara tidak akan direpotkan lagi dalam mengoperasikan perangkat audio atau hanya sekadar mencari nomor telepon seseorang dalam phonebook ponselnya yang terhubung ke kendaraan. Bahkan dengan adanya voice command akses pada GPS juga dapat dipermudah.
Fungsi lain yang tidak kalah menarik adalah kemungkinan besar untuk menjadi robot atau komputer sebagai teman yang paling logis. Kemampuan mengolah informasi dan komunikasi verbal dapat disatukan sehingga dapat membantu membuat keputusan-keputusan yang logis dan mudah dimengerti manusia. seperti halnya sebuah robot yang berlari mengambil obat, hanya karena mendengar asma majikannya kambuh.
Namun rasanya, untuk semua ini kita masih harus menunggu agak sedikit lama. Mengingat untuk sampai ke sana masih diperlukan proses yang panjang.
Setidaknya untuk waktu yang cepat ini komputer Anda dapat mengerti bahasa yang Anda pergunakan. Hal ini tentu akan sangat berarti besar untuk sebagian kalangan masyarakat. Salah satu contohnya adalah mereka yang memang memiliki kendala melihat atau kendala bergerak sehingga sulit untuk menggunakan keyboard komputer.

Kamis, 25 Oktober 2007

Kecerdasan buatan

Istilah kecerdasan buatan sebenarnya berasal dari bahasa Inggris: “Artificial Intelligence”. Jika diartikan tiap kata, artificial artinya buatan, sedangkan intelligence adalah kata sifat yang berarti cerdas. Jadi artificial intelligence maksudnya adalah sesuatu buatan atau suatu tiruan yang cerdas. Cerdas di sini kemungkinan maksudnya adalah kepandaian atau ketajaman dalam berpikir, seperti halnya otak manusia dalam menyelesaikan suatu masalah.

Secara awam kecerdasan buatan diterjemahkan sebagai sebuah sistem saraf, atau sensor atau otak yang diciptakan oleh sebuah mesin. Sebenarnya kecerdasan buatan merujuk kepada mesin yang mampu untuk berpikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia.

Alan Turing, ahli matematika berkebangsaan Inggris yang dijuluki bapak komputer modern dan pembongkar sandi Nazi dalam era Perang Dunia II tahun 1950, dia menetapkan definisi Artificial Intelligent : Jika komputer tidak dapat dibedakan dengan manusia saat berbincang melalui terminal komputer, maka bisa dikatakan komputer itu cerdas, mempunyai intelegensi.

Kecerdasan buatan itu sesuatu yang diciptakan oleh manusia, untuk menggantikan manusia. Jadi bisa jadi kecerdasan buatan itu merupakan suatu ancaman.

Walau pun menyadari bahwa kecerdasan buatan bisa jadi adalah suatu ancaman untuk manusia, tapi manusia masih saja mengembangkan apa yang disebut dengan kecerdasan buatan. Manusia masih saja mencoba mengembangkan / mendapatkan sesuatu (teknologi) yang baru, yang dapat berpikir seperti manusia. Hal ini terjadi karena adanya ketidakpuasan dalam diri manusia, manusia ingin mendapatkan sesuatu dengan cara yang lebih mudah. Lagipula memang ada keterbatasan-keterbatasan dalam diri manusia, seperti otak manusia yang hanya mampu berpikir dengan frekuensi kira-kira 100 Hz dan karena manusia mempunyai rasa capai. Bandingkan dengan komputer sekarang yang mampu mengolah data dengan frekuensi 4 GHz. Komputer juga tidak mempunyai rasa capai walau pun harus mengolah data yang sama berulang-ulang.

Walaupun terasa sangat futuristik dan terlihat berbahaya, karena mesin nantinya akan memiliki kecerdasan dan emosi, para pakar AI menganggap pengembangan disiplin ilmu ini penting karena bisa diterapkan di Internet nantinya. Misalnya saja, di masa mendatang ketika Anda mengunjungi sebuah situs agen perjalanan, maka di layar komputer akan muncul wajah seorang wanita yang sangat sempurna karena semuanya berupa ciptaan komputer. Uniknya, Anda akan mampu bercakap-cakap dengan wanita artifisial ini, seperti layaknya Anda berbicara dengan staff wanita beneran di counter biro perjalanan. Kalau ini tercapai, maka pelayanan dapat diberikan 100% online, dengan akurasi yang sangat tinggi. Terutama dari konsistensi, keramahan, kecepatan dan akurasi pelayanan. Lain kalau kita menggunakan staff manusia asli yang konsistensinya tidak bisa akurat karena terpengaruh kepada kondisi fisik dan emosi saat itu.

Saat ini sudah banyak teknologi kecerdasan buatan yang dihasilkan dan dipakai oleh manusia. Misalnya saja pada robot Asimo yang bisa menari dan berjalan, atau pada permainan komputer yang dirancang untuk membuat manusia berpikir keras untuk mengalahkannya. Contoh lain ada di industri otomotif. Adanya teknologi komputer yang mampu mengolah data dengan cepat dipakai untuk memberikan peringatan pada pengemudi mobil untuk menghindari terjadinya tabrakan.

Balap Mobil dengan Trophy

Balap Mobil dengan Trophy


Di tengah-tengah persaingan game-game racing modern seperti Need for Speed, NASCAR, atau Grand Prix, untuk platform Linux kini malah hadir game racing yang menggunakan pendekatan yang berbeda: tampilan 2-D (bukan 3-D), sederhana, gampang untuk dimainkan. Bisa dikatakan, Trophy lebih mirip game arcade dibandingkan dengan simulasi. Tetapi jangan salah karena keunikan Trophy justru menawarkan keasyikan tersendiri.

Yang namanya balapan jelas bertujuan untuk dahulu hingga di garis finish. Persis seperti balap Formula, mobil si pembalap mesti mengelilingi sebuah track sepanyak beberapa lap. Hingga kini, baru tiga arena yang disediakan di Trophy, yaitu Loop, Zurich, dan Moon. Karena sifatnya yang masih 2-D, sebagai pembalap Anda akan mendapat medan pandang ala satelit, yaitu mobil-mobil yang terlibat balapan ini terlihat dari atas. Meskipun mungkin pertamanya aneh, lama-lama justru hal ini membawa derajat kegemaran tersendiri.

Tak seperti track yang normal, tracknya Trophy agak aneh bin ajaib. Anda akan menemukan berbagai macam item, mulai dari hati untuk memulihkan ‘kesehatan’ mobil balap hingga bom yang bisa meledakkan. Beberapa peluru kendali juga ditebar di sana-sini. Ambil saja satu dan Anda sekarang punya kesempatan untuk menembak pembalap lain. Hal yang sama bisa juga terjadi sebaliknya, mobil Anda diberangus senjata lawan. Bisa dikatakan, track yang mengerikan seperti ini menyebabkan Trophy menjadi ajang balapan ‘maut’.

Akan halnya sound effect, meskipun masih diimplementasikan secara sederhana saja, beragam bunyi-bunyian tersebut cukup menambah ketegangan bertarung. Telah diungkapkan bahwa Trophy ini lebih mirip game arcade, nah hal ini semakin nyata terlihat begitu memperhatikan efek suaranya.

Trophy, ClanLib, Hermes
Sebagai sebuah aplikasi, Trophy bergantung kepada beberapa library eksternal. Yang terpenting di antaranya adalah Hermes dan ClanLib, yang dua-duanya juga open-source dan bisa dicomot dari situs web www.clanlib.org. Hermes berfungsi sebagai koleksi rutin-rutin untuk olah grafis. Sementara itu, cakupan ClanLib lebih luas karena ClanLib merupakan library yang didesain untuk digunakan tatkala membangun sebuah game. Karenanya, fasilitas yang disediakan juga beragam, mulai dari akses ke layar hingga elemen-elemen networking untuk kemampuan multiplayer. Yang jelas, sebelum menginstalasi Trophy, pastikan saja Hermes dan ClanLib sudah terpasang lebih dulu. Atau kalau belum, jangan lupa instali dulu keduanya. Untuk distro berbasis RPM seperti SuSE atau Mandrake, gunakan aplikasi seperti GnoRPM atau KPackage. Dengan Mandrake, Anda juga memanfaatkan Software Manager.

Karena merupakan produk open-source, Anda mendapatkan kebebasan penuh untuk mengakses source-code dari game satu ini. Bagi kebanyakan orang, mungkin hal ini bukanlah sesuatu yang terlalu menggairahkan, mengingat memandangi source-code tanpa mempelajari pemrograman tidaklah begitu berarti. Yang lebih seru adalah kemampuan khusus untuk menghasilkan track buatan Anda sendiri. Tiga track default yang disediakan tentu saja sangat kurang, tetapi terbuka kemungkinan untuk menghasilkan grafis khusus untuk track-track baru. Manualnya sendiri bisa dibaca dengan jelas di alamat http://trophy.sourceforge.net/manual/designer/en/index.html. Jika disimak, tool pengolah gambar seperti Gimp sudah cukup untuk menghasilkan sebuah track baru, jadi hal satu ini bukan pekerjaan yang berat.

Satu hal yang sayangnya masih belum diimplementasikan di Trophy adalah kemampuan multiplayer. Karena game ini relatif sederhana dan bisa dimainkan siapa saja, tentu akan lebih memikat jikalau balapan yang dilakukan adalah dengan lawan yang sungguhan, bukan lawan maya dengan kecerdasan buatan yang pas-pasan saja. Andrew Mustun sebagai pengembang Trophy sendiri belum memastikan apakah versi berikutnya akan mendukung multiplayer, akan tetapi kalau Anda berminat membantu untuk urusan ini, fitur tersebut mungkin betul-betul bakal terwujud.


Selasa, 16 Oktober 2007

Aplikasi Kecerdasan Buatan Untuk Identifikasi Sidik Jari Minyak Bumi


Mendengar kata ‘kecerdasan buatan’ mungkin bagi sebagian orang akan terdengar ‘menyeramkan’, atau bagi beberapa orang lainnya akan langsung teringat film Matrix atau I-Robot. Itu tidak bisa disalahkan, karena memang kecerdasan buatan hampir selalu mempunyai konotasi fiksi ilmiah, meskipun pada kenyataannya kecerdasan buatan bukanlah suatu khayalan, tapi memang benar-benar ada dalam kehidupan kita sehari-hari dan kita juga sering menggunakannya.
Kecerdasan Buatan, yang dalam bahasa Walanda disebut sebagai Artificial Intelligence atau AI didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia.

ejarah Kecerdasan Buatan

Pada awal abad 17, René Descartes mengemukakan bahwa tubuh hewan bukanlah apa-apa melainkan hanya mesin-mesin yang rumit. Blaise Pascal menciptakan mesin penghitung digital mekanis pertama pada 1642. Pada 19, Charles Babbage dan Ada Lovelace bekerja pada mesin penghitung mekanis yang dapat diprogram.
Bertrand Russell dan Alfred North Whitehead menerbitkan Principia Mathematica, yang merombak logika formal. Warren McCulloch dan Walter Pitts menerbitkan “Kalkulus Logis

Gagasan yang tetap ada dalam Aktivitas ” pada 1943 yang meletakkan pondasi untuk jaringan syaraf.
Tahun 1950-an adalah periode usaha aktif dalam AI. Program AI pertama yang bekerja ditulis pada 1951 untuk menjalankan mesin Ferranti Mark I di University of Manchester (UK): sebuah program permainan naskah yang ditulis oleh Christopher Strachey dan program permainan catur yang ditulis oleh Dietrich Prinz. John McCarthy membuat istilah “kecerdasan buatan ” pada konferensi pertama yang disediakan untuk pokok persoalan ini, pada 1956. Dia juga menemukan bahasa pemrograman Lisp. Alan Turing memperkenalkan “Turing test” sebagai sebuah cara untuk mengoperasionalkan test perilaku cerdas. Joseph Weizenbaum membangun ELIZA, sebuah chatterbot yang menerapkan psikoterapi Rogerian.

Selama tahun 1960-an dan 1970-an, Joel Moses mendemonstrasikan kekuatan pertimbangan simbolis untuk mengintegrasikan masalah di dalam program Macsyma, program berbasis pengetahuan yang sukses pertama kali dalam bidang matematika. Marvin Minsky dan Seymour Papert menerbitkan Perceptrons, yang mendemostrasikan batas jaringan syaraf sederhana dan Alain Colmerauer mengembangkan bahasa komputer Prolog. Ted Shortliffe mendemonstrasikan kekuatan sistem berbasis aturan untuk representasi pengetahuan dan inferensi dalam diagnosa dan terapi medis yang kadangkala disebut sebagai sistem pakar pertama. Hans Moravec mengembangkan kendaraan terkendali komputer pertama untuk mengatasi jalan berintang yang kusut secara mandiri.
Aplikasi Kecerdasan Buatan di Laboratorium Minyak Bumi
Ada banyak jenis kecerdasan buatan, setidaknya ada lima jenis kecerdasan buatan yang sering kita temui, yaitu :
1) Jaringan Syaraf Buatan (Artificial Neural Networks),Dalam industri minyak bumi AI ini dapat digunakan untuk membuat pola waktu, misal produksi suatu sumur minyak pada waktu tertentu.
2) Logika Fuzzy (Fuzzy Logics),Logika ini untuk menentukan nilai diantara dua keadaan biner (1 dan 0). Logika inilah yang saya pakai untuk identifikasi suatu minyak bumi sama (1) atau tidak (0) yang akan dibahas lebih lanjut.
Algoritma Genetik (Genetic Algorithms),Algoritma Genetik biasanya digunakan dibidang kedokteran, misal untuk menganalisis DNA.
3) Robotika (Robotics),AI ini banyak digunakan di pabrik. Biasanya dibuat untuk melakukan kegiatan otomatisasi, misal dalam PLC (Programmable Logic Control).
4) Permainan Komputer (Games),AI jenis ini yang paling disukai oleh anak-anak saya, misal untuk memainkan game Age of Mythology atau Counter Strike…
Dari contoh-contoh diatas, yang akan saya bahas kali ini adalah Logika Fuzzy, yaitu untuk menentukan apakah suatu minyak bumi sama atau tidak berdasarkan hasil analisis spektrum minyak bumi menggunakan Spektrofotometer FTIR (Fourier Transform Infra Red) yang saya lakukan di Laboratorium Molekuler LEMIGAS, Jakarta selama bulan Januari - Februari 2006 yang lalu.

Pengolahan data secara digital menggunakan komputer sudah dilakukan sejak tahun 1960. Dengan adanya revolusi teknologi komputer saat ini sudah mampu melakukan pengambilan keputusan seperti manusia (human-like decisions). Pada dasarnya mesin komputer hanya mengenal bahasa biner untuk mengambil keputusan, seperti “ada (1)” dan “tidak ada (0)”, hidup dan mati, betul dan salah, sama dan beda, dan lain-lain. Ketika dihadapkan pada kondisi yang memerlukan pertimbangan subjektif yang tidak pasti, seperti “agak mirip” atau “sedikit berbeda” mesin sudah tidak dapat melakukan pengambilan keputusan lagi. Untuk itu perlu dilakukan transformasi terlebih dahulu melalui suatu metoda khusus yang disebut kecerdasan buatan (artificial intellegence).
Cara kerja kecerdasan buatan pada dasarnya meniru cara kerja syaraf manusia dalam mengambil keputusan dimana didalamnya terdapat beberapa pertimbangan subjektif berdasarkan kriteria, seperti seberapa mirip suatu minyak bumi dengan minyak bumi lainnya atau berapa perbedaan yang diperbolehkan untuk menentukan bahwa suatu minyak bumi sama atau berbeda.
Perangkat lunak yang dapat digunakan untuk membuat suatu kecerdasan buatan dapat menggunakan bahasa pemrograman atau lembar kerja (spreadsheet) seperti Lotus, Microsoft Excel, C++, Basic, dBase, Microsoft Access, Microsoft Visual Basic, Delphi dan lain-lain. Pada percobaan yang saya lakukan, metoda yang akan digunakan adalah menggunakan Logika Fuzzy pada Microsoft Visual Basic 6.
Statistika
Untuk membandingkan kemiripan identitas suatu minyak bumi secara digital perlu dilakukan perhitungan secara statistika. Dalam metoda yang dipakai untuk mengidentifikasi kemiripan suatu minyak bumi secara digital adalah dengan melihat presisi atau simpangan bakunya. Simpangan baku inilah yang menjadi variabel bebas untuk dijadikan kriteria kemiripan suatu minyak bumi.
Presisi adalah istilah yang digunakan untuk menyatakan kecocokan hasil dari pengujian / pengukuran dari suatu sampel yang diuji/diukur. Salah satu cara menentukan presisi adalah dengan jalan menghitung harga simpangan baku. Dalam analisis sidik jari minyak bumi, ukuran kesamaan suatu minyak bumi menggunakan simpangan baku relatif (Relative Standard Deviation, RSD). Cara menghitung RSD bisa kan ? Soalnya saya susah nulis rumus disini.
Pada percobaan yang dilakukan saat identifikasi sidik jari minyak bumi, perhitungan presisi digunakan ketika menentukan batasan atau kriteria kemiripan rasio hasil normalisasi serapan spektrum infra merah minyak bumi contoh terhadap terhadap rasio hasil normalisasi serapan spektrum infra merah minyak bumi pembanding. Batasan presisi ini dijadikan kriteria pertama ( K1 ) berupa variabel bebas sehingga operator bisa memilih sendiri batasan kemiripan minyak bumi.
Metoda Identifikasi Spektrum Infra Merah

Bila diamati sekilas, spektrum minyak bumi pada gambar disamping ini tampak mirip antara satu dengan yang lainnya. Hal ini terjadi karena yang terukur oleh spektrofotometer infra merah adalah gugus-gugus CH3, CH2, dan gugus aromat yang memang selalu ada dalam setiap minyak bumi. Jika gambar tersebut diperbesar dan diamati lebih cermat akan tampak perbedaan, yaitu intensitas absorbsi gugus-gugus dari setiap minyak bumi akan berbeda. Perbedaan ini kemudian menjadi dasar untuk dipakai sebagai pembeda suatu spektrum dengan spektrum lainnya.
Konsep dasar dari pengenalan pola atau pattern recognition adalah membandingkan sifat-sifat spesifik suatu contoh terhadap sifat-sifat spesifik yang kemungkinan terdapat juga dalam pembanding.
Ada dua metoda untuk membandingkan spektum infra merah senyawa hidrokarbon, yaitu :
1) Metoda manual atau tumpang tindih (overlay method)Metoda ini dilakukan dengan cara menumpukkan hasil cetak spektrum infra merah kemudian menumpukkan dua atau lebih hasil cetak tersebut diatas meja kaca yang diberi lampu. Dari tumpukan hasil cetak spektrum infra merah tersebut kemudian dicari kecocokan spektrum contoh terhadap spektrum minyak bumi pembanding. Metoda ini memiliki kelemahan yaitu pada cara pengamatan spektrum dan menentukan batasan kemiripannya, karena penentuan kesamaan suatu spektrum cara tersebut sangat subjektif, artinya pemahaman sama atau tidak dari tiap orang akan berbeda.
2) Metoda perbandingan data analisisMetoda cara ini relatif lebih teliti dibandingkan metoda tumpang tindih (overlay method), karena yang dibandingkan adalah data atau angka hasil pembacaan alat spektrofotometer.

Pada pengenalan pola minyak bumi, sifat spesifik yang dibandingkan adalah spektrum serapan infra merah pada bilangan gelombang tertentu dengan menggunakan Spektrofotometer FTIR. Metoda pengenalan pola cara tersebut digunakan karena gugus-gugus dalam hidrokarbon bila diberi energi dari sinar infra merah akan memberikan spektrum pada bilangan gelombang yang spesifik. Spektrum infra merah tersebut akan menggambarkan keberadaan gugus metil, metilena dan aromat yang selalu ada dalam minyak bumi.
Analisis menggunakan Spektrofotometer FTIR digunakan karena kecepatan analisisnya jauh lebih cepat dibandingkan metoda dispersi, yaitu lima detik. Sedangkan jika menggunakan spektrofotometer infra merah dispersi waktu yang dibutuhkan sekitar 10 – 15 menit. Selain itu kelebihan utamanya adalah karena ketelitian Spektrofotometer FTIR lebih tinggi dibandingkan dispersi.
Berbagai pita absorbsi dapat digunakan untuk tujuan identifikasi. Dari hasil pengamatan spektrum infra merah minyak bumi yang dianalisis dipilih sepuluh pita absorbsi kunci yang masih signifikan11), yaitu pada bilangan gelombang identifikasi 720, 747, 810, 874, 1034, 1168, 1309, 1375, 1456 dan 1600 cm-1. Spektrum infra merah dari bilangan gelombang tersebut diatas kemudian diukur.
Untuk membandingkan dua angka maka digunakan perhitungan selisih dari kedua angka tersebut. Pada dasarnya dua angka dikatakan mempunya nilai yang sama jika selisih kedua angka tersebut adalah nol. Tetapi karena angka-angka tersebut merupakan hasil dari pengukuran, maka walaupun kedua angka tersebut berasal dari contoh yang sama maka angka-angka hasil pengukuran tersebut tidak akan tepat sama. Ketidaksamaan ini berasal dari keterulangan (repeatability) dari setiap pengukuran serta karena adanya perubahan sifat-sifat contoh oleh pengaruh pelapukan (weathering).
Besarnya nilai keterulangan ini digunakan sebagai kriteria untuk menentukan apakah kedua deret angka tersebut mempunyai nilai yang sama, yaitu kriteria simpangan baku ( K1 ).
Hasil pembandingan angka-angka dalam satu deret angka identitas kemudian dijumlahkan. Bila nilai penjumlahan tersebut sama dengan banyaknya angka yang dibandingkan atau dengan kata lain banyaknya puncak absorbsi infra merah yang dibandingkan, maka dua deret angka tersebut mempunyai nilai yang sama. Dalam hal tertentu, terutama karena faktor pelapukan minyak bumi, satu atau dua puncak absorbsi infra merah akan mengalami pengurangan cukup banyak, sehingga yang mempunyai nilai yang sama dengan puncak-puncak serapan dari minyak bumi pembanding tidak lagi sebanyak jumlah puncak semula. Untuk itu maka nilai penjumlahan harga-harga NP dapat dipilih sebanyak 100% seluruhnya atau lebih kecil. Dengan memilih nilai penjumlahan NP ini dapat dilihat minyak-minyak pembanding yang yang sama (match) dengan contoh.
Pengamatan
Berikut adalah data hasil pemeriksaan yang yang saya lakukan dan sudah sudah dinormalisasikan. Tabel ini terdiri dari hasil pembacaan spektrum infra merah minyak bumi pembanding dan minyak bumi “X” yang tidak diketahui.

Data hasil normalisasi contoh kemudian dibandingkan terhadap hasil normalisasi minyak bumi pembanding pada tabel diatas dengan kriteria ( K1 ) yaitu nilai simpangan baku relatif (RSD ; Relative Standard Deviation) = 5%. Semakin kecil kriteria K1 yang ditentukan maka pencocokan akan semakin akurat.

Interpretasi


Dengan berbekal flowchart disamping ini mari kita coba untuk menginterprertasikan data diatas. Perhatikan langkah-langkah berikut, karena disinilah kunci dari interpretasi spektrum infra merah minyak bumi.


Kriteria suatu rasio absorbsi serapan infra merah pada bilangan gelombang tertentu dinyatakan sama jika nilai RSD <= 5%. Jika nilai RSD <= 5% diberi notasi 1, sedangkan jika nilai RSD > 5% maka diberi notasi 0. Dengan demikian akan diperoleh data seperti pada tabel nilai pembanding berikut.

Sampai disini minyak bumi contoh belum dapat disimpulkan kesamaan atau kemiripannya, karena masih harus memenuhi variabel K2, yaitu kriteria jumlah hasil normalisasi serapan pada bilangan gelombang kunci. Untuk dapat menentukan hal tersebut maka hasil pencocokan rasio serapan pada setiap bilangan gelombang kunci kemudian dijumlahkan. Jika jumlah nilai pembanding lebih besar atau sama dengan kriteria kecocokan nilai pembanding yang ditentukan pada K2 maka minyak bumi tersebut dinyatakan cocok atau sama. Kriteria besarnya simpangan baku relatif ( K1 ) dan jumlah kecocokan nilai pembanding ( K2 ) dapat dirubah, karena merupakan variabel bebas.

ika ditentukan bahwa spektrum suatu minyak bumi pada bilangan gelombang tertentu adalah sama bila memiliki simpangan baku dari rasio hasil normalisasi luas puncak lebih kecil dari 5 % ( K1 = 5% ) maka data yang didapat adalah seperti pada tabel nilai pembanding diatas. Selanjutnya jika contoh minyak bumi ”X” dikatakan identik bila memiliki jumlah nilai pembanding ( NP ) atau kesamaan jumlah luas puncak pada bilangan gelombang tertentu berdasarkan K1 adalah 9 ( K2 = 9 ), maka dapat disimpulkan bahwa contoh minyak bumi ”X” identik dengan minyak bumi ”Cinta”.
dentifikasi minyak bumi contoh ”X” terhadap minyak bumi pembanding relatif lebih mudah dilakukan, karena tidak banyak mengalami perubahan berarti. Perubahan fisik yang mungkin terjadi pada minyak bumi adalah karena pelapukan (weathering).
Khusus untuk identifikasi minyak bumi menggunakan spektrofotometer infra merah ini saya sudah membuat program kecerdasan buatan kecil, yaitu OilSniffer v1.00 (betha). Program ini saya buat menggunakan Microsoft Visual Basic 6.

Meskipun dengan menggunakan metoda spektrofotometer infra merah (FTIR) ini sudah dapat diketahui jenis minyak bumi contoh, tetapi hasilnya belum merupakan kesimpulan mutlak, karena masih harus di counter dengan metoda lainnya, seperti kromatografi gas, spektrofometer massa, spektrofotometer serapan atom, spektroflorometer. Untuk itu agar hasilnya lebih akurat ada baiknya semua metoda tersebut dilakukan.

Compiler Construction

Teknik kompilasi telah lama diberikan di lingkungan pendidikan tinggi bidang komputer di Indonesia. Pembahasan dalam mata kuliah ini biasanya berkisar pada teori automata, teori kompilasi, teori grammar. Praktek teknik kompilasi pun telah diberikan di lingkungan laboratorium, walau biasanya masih terbatas pada demonstrasi hal teori, ataupun sekedar pengenalan kompiler yang ada atau banyak digunakan. Beberapa universitas telah mulai memperkenalkan penggunaan perangkat pembangun kompiler.

Telah banyak mahasiswa menggunakan dan memanfaatkan compiler/interpreter, tapi saat ini masih belum banyak muncul nama programmer Indonesia yang terlibat dalam proyek pembuatan compiler/interpreter. Mungkin hanya KILANG nya Prof. Dali S Naga (BASIC Indonesia), yang sempat terdengar, sayang sekarang sudah tidak ada jejaknya. Mungkin merilis KILANG dalam bentuk GPL seperti BWBASIC, adalah suatu langkah menarik untuk terus mengembangkan KILANG ini lebih lanjut.

Memang ada sekelompok programmer Indonesia yang sempat akan merilis bahasa pemrograman "BATAK" tetapi hingga saat ini belum terdengar kembali. Bahasa pemrograman, JAVA, BALI, MADURA, hanyalah namanya saja yang berbau Indoensia, tapi sedikit atau malah tidak ada keterlibatan pengembang dari Indonesia.

Walaupun sedikit sekali atau nyaris tidak ada "lowongan pekerjaan" yang membutuhkan kemampuan mengembangkan compiler ini (silahkan baca di koran ataupun majalah), bukan berarti pengetahuan itu sama sekali tak dibutuhkan dalam dunia pemrograman sehari-hari.

Pada dasarnya pengetahuan pembuatan kompiler (compiler construction) ini merupakan pengetahuan dasar komputasi yang sangat baik sekali. Pengetahuan ini dimanfaatkan pada beragam aplikasi nantinya. Misal teknik parsing, pengenalan pola teks, optimasi kode dan lain sebagainya. Bahkan suatu database engine pun di bagian "front end" selalu menggunakan parsing ini. Pengetahuan tentang kompilasi akan dapat memberikan landasan bagi programmer untuk menyusun program yang efektif dan efisien.

Ketika seseorang melakukan pemrograman, sebetulnya secara tidak sadar dia akan melakukan proses penambahan suatu bahasa. Misal pembuatan suatu fungsi (ataupun prosedur) pada dasarnya merupakan suatu proses "penambahan kosa-kata" dari bahasa pemrograman tersebut. Dari yang tadinya tidak memiliki fungsi tersebut hingga akhirnya ditambahkan suatu "vocabulary" untuk melakukan suatu fungsi tersebut. Untuk itulah pemahaman penyusunan kompiler merupakan suatu dasar yang utama dalam bidang ilmu komputer.

Kesenjangan Teori dan Praktek
Pada kasus pemahaman teknik kompilasi seringkali mahasiswa memiliki gap antara pemahaman teori yang mendasari pembuatan kompiler, lalu masalah parsing, scanner (bukan scanner yang buat men-scan gambar atau photo) serta "bagaimana menulis compiler/interpreter sesungguhnya (misal BASIC interpreter).
Ketika bicara kompiler, rata-rata pengetahuan mahasiswa/lulusan bersifat umum yaitu "trampil" menggunakan Integrated Development Environment (IDE) berbasiskan GUI. Bahkan pengetahuan pemakaian "make", "autoconf", pun masih langka dipahami para mahasiswa (termasuk mahasiswa Univ Gunadarma). Sedangkan ketika mereka bicara teori, yang terjadi hanyalah "hafalan" teori-teori otomata, parsing, grammar. Keterkaitan antara keduanya masih belum terjalin dengan mesra.
S
ebelum dianggap menyalahkan siapa-siapa termasuk menyalahkan mahasiswa (salah satu kambing hitam favorit para dosen), saya mencoba menguraikan permasalahan ini. Ketidak-tertarikan para mahasiswa mempelajari bidang pembuatan kompiler ini mungkin didasarkan pada pelajaran teknik pembuatan kompiler yang sarat dengan pemahaman teori (misal automata, grammar, bahasa formal, matematika diskrit dan sebagainya).

Teori bagi sebagian besar mahasiswa merupakan "momok" bagi para mahasiswa dan mereka kurang tertarik mempelajarinya, dianggap hanyalah pelengkap untuk lulus menjadi saja. Mahasiswa kurang betah atau sabar mendengar pelajaran teori. Mungkin hal ini disebabkan (sengaja saya gunakan kata "mungkin" karena belum pernah dilakukan survei atau penelitian secara khusus) beberapa hal antara lain :

Para mahasiswa Indonesia tidak tertarik teori, karena merasa tidak ada manfaatnya pelajaran teori tersebut. Tidak dipungkiri dunia komputer (lapangan pekerjaan) masih membutuhkan orang-orang dengan "skill praktis" sehingga kebutuhan teori ini tidak dirasakan ada. Jelas ini menunjukkan seberapa "jauh" yang namanya industri TI di Indonesia. TI di Indonesia secara umum barulah berkembang pada "menjual produk TI" ataupun konfigurasi dan perkembangan yang bersifat "kustomisasi luar".

Rasa ketertarikan terhadap teori ini makin hilang, akibat materi yang diberikan di kelas terlalu jauh dengan kondisi praktis. Artinya ada "gap" antara teori dengan aplikasi teori tersebut di dunia nyata dalam bayangan mahasiswa (misal bidang komputer) Sebagai contoh, mahasiswa komputer mungkin akan tertarik bila tahu bahwa Analisa numeris itu dimanfaatkan untuk membuat "computer game" Ketimbang kita memberikan contohnya untuk hal lainnya yang terlalu teori. Begitu juga bila kita terangkan Turing Machine, atau Automata tanpa keterkaitan dengan praktek sehari-hari akan membuat mereka hanya menghafal atau malah tidur di kelas.
Kurikulum ataupun materi pelajaran yang memang tidak memberikan jalinan antara teori dan praktek. Teori berjalan sendiri-sendiri dan praktek begitu pula. Teori tidak atau kurang mengajak melihat implementasi dari teori tersebut (misal source code nyata dari teori itu).
Perangkat bantu yang pada tahun sebelumnya sulit diperoleh di Indonesia secara massal dan murah. Perangkat bantu yang ada sangat menghabiskan waktu bila ingin digunakan untuk menyusun sistem kompiler sesungguhnya.

Kurang adanya pengajar yang memahami baik teori dan praktek 8-). Banyak pengajar yang sangat baik pengetahuan teorinya tetapi minim pengetahuan prakteknya. Hal ini melanda beberapa mata kuliah teori. Begitu juga banyak pengajar yang sudah terlalu asyik dengan praktek, malas membahas teori. Simulator Automata

Saat ini dengan ketersediaan beragam perangkat bantu bebas (GPL) maka proses mengajarkan teori ini dapat dilakukan secara lebih menarik. Misal untuk menerangkan tentang konsep mesin Turing yang abstrak itu, dapat juga digunakan suatu simulator. Memang mesin Turing dapat juga di"demonstrasikan" dengan menggunakan "tissue WC - tissue gulung" seperti dalam buku Computer Power and Human Reason karangan Joseph Weizenbaum. Tapi jelas akan lebih mudah bila digunakan program bantu yang memungkinkan siswa merancang "instruction set" dan menjalankan instruction set, dan program yg didisain untuk mesin "khayalannya" itu.
Ada juga simulator (program) yang akan menjalankan mesin Turing sesuai masukan yang diberikan pengguna.
Misal dapat diperoleh di
http://www.csee.umbc.edu/~squire/cs451_sim.html#TM
Program ini tertulis dalam C++. Menerima masukan dari source kode. Sayangnya program ini tidak memberikan simulasi secara visual. Simulasi secara visual akan menarik siswa tahun ke 2-3 di Indonesia. Beberapa simulator yang memiliki tampilan visual dapat didownload dari Internet, antara lain:
1)Simulator Mesin Turing. Program ini memiki GUI berbasiskan Gtk.http://www.nuclecu.unam.mx/~arturo/gTuring/.
2)Visual Turing. Suatu IDE yang memungkinkan pengguna mengedit, menjalankan mesin Turing. Dengan editor visual yang memberikan fungsi Cut, Copy&Paste maka akan membantu proses simulasi. Mesin dapat juga dijalankan dengan breakpoint, step by step dan variabel dapat diperiksa.http://www.cheransoft.com/vturing/
3)Automaton Simulator. Program ini memungkinkan disimulasikan beberapa mesin teori termasuk deterministic finite automata, nondeterministic finite automata, deterministic push-down automata, Turing machines. Tertulis dalam bahasa JAVA.http://www.users.csbsju.edu/~cburch/proj/autosim/

Simulator Prosesor
Di samping simulator mesin teori, seringkali dalam memahami proses kompilasi perlu penjelasan dari tingkat instruksi di level prosesor. Untuk itu penjelasan akan lebih mudah dilakukan bila memanfaatkan suatu simulator prosesor. Memang sebetulnya pengetahuan instruksion set design ataupun simulator ini diperoleh di Arsitektur Komputer. Akan tetapi simulator prosesor ini dapat juga dimanfaatkan untuk memberikan pemahaman teknik pembuatan dan ekseskusi suatu kompilasi.
Sehingga tahapan "menjalankan kompiler, dan hasil kompilasi yang dibentuk dapat berupa" : Program aplikasi bahasa A

V
Kompiler/interpreter bahasa A

V Bahasa mesin prosesor X

V
Simulator prosesor X

V
Sistem Operasi "Host" (misal Windows, Linux dll)
Dengan cara itu mahasiswa dapat mempelajari bagaimana proses kompilasi dilakukan dan bagaimana dijalankan pada mesin virtualnya. Sehingga pengamatan dapat dilakukan dg mudah. Faktor lain adalah dg menggunakan "prosesor virtual" maka kita dapat mendefinisikan :

Prosesor X adalah suatu prosesor virtual yg sederhana
Bahasa A merupakan bahasa yg didisain mahasiswa secara sederhana (misal hanya bisa interger, dan operasi sederhana saja)
Kompiler yg disusun akan menghasilkan "kode biner" untuk proesor X yg sederhana tersebut (misal register terbatas, dan metoda pengalamatan terbatas)
Dengan cara di atas, student tidak dihadapi oleh "instruction set" yang kompleks, dan architecture processor, dan juga bahasa pemorgraman yg rumit. Tetapi konsep kompilasi dapat lebih mudah dipahami secara mendasar. ketimbang harus menggunakan prosesor "real" dan bahasa "real" yang jelas memiliki scope sangat luas.
Berikut ini adalah beberapa simulator prosesor yang dapat dimanfaatkan dalam memberikan pemahaman lebih dalam mengenai teori dan praktis kepada para mahasiswa.
1)mic1. mic1 ini berbasiskan Java yang mengimplementasikan arsitektur mikro Mic-1 pada Bab 4 buku Andrew S. Tanenbaum, Structured Computer Organization,http://www.ontko.com/mic1/
2)DLXOS. Merupakan suatu sistem "komputer" yang dijelaskan pada buku Arsitektur oleh Hennessy & Patterson. Sistem ini terdiri dari DLX Processor (instruction set dan spesifikasi),
)DLX hardware simulator, DLX compiler dan assembler, DLX Operating System. Karena semua tersedia source code, jadi dapat menjelaskan secara gamblang, bagaimana suatu sistem komputer dibangun, dari "prosesor" hingga "sistem operasi".http://www.cse.ucsc.edu/~elm/Software/Dlxos/index.shtml
3)MIX. Emulator ini ditulis oleh David A Smallberg (1982), dan mensimulasikan prosesor MIX (yang diteragnkan dalam buku milik Donald Knuth).http://www.swiss.ai.mit.edu/~adler/MIX/
4)MIXAL. Merupakan lingkungan mensimulasikan kerja MIX, MIX adalah model komputer yang merupakan penyederhanaan model CISC (Complex Instruction Set Computer), assembly dari model ini mirip dengan komputer sesungguhnya. Di situ ini terdapat tutorial dan juga SIMULASI GRAFIS.http://www.gnu.org/software/mdk/mdk.html
5)MMIX MMIX merupakan prosesor teoritis ciptaan Prof. Donald Knuth, yang merupakan penmgembangan dari MIX. Prosesor bertipe Reduced Instruction Set Computer (RISC).http://bitrange.com/mmix/Untuk informasi lainnya tentang prosesor ini dapat dibaca di URL berikut inihttp://www-cs-faculty.stanford.edu/~knuth/mmix.htmlhttp://mmixmasters.sourceforge.net/

Demonstrasi Visual
Untuk mendemonstrasikan beberapa pronsep dasar tentang mekanisme kompilasi, maka dapat juga diginakan beberapa perangkat bantu al:
1)Pate. Pate merupakan perangkat bantu visual dan interatkfi untuk melakukan parsing, dan transformasi grammar. Pate dapat menyajikan secara tekstual ataupun visualisasi grafis dari turunan suatu grammar. Pada visualisasi grafis suatu tree parsing akan ditampilkan juga.
Ditulis dalam
2)JAVA.http://www.cs.duke.edu/~rodger/tools/pateweb/
JFLAP. JFLAP merupakan suatu paket grafis yang dapat digunakan untuk mengajarkan konsep Bahasa Formal dan Teori Automata. Awalnya ditulis dg C/C++ tapi sekarang tersedia dalam Java.http://www.cs.duke.edu/~rodger/tools/jflap/index.html

Literatur online
Dengan adanya Internet jelas memudahkan kita untuk memperbaiki materi, karena beberapa materi telah ada dan siap di-download (jadi alasan tidak ada dana buat beli buku, bisa dicoret, dan tidak ada sarana buat download bisa diabaikan karena hanya perlu ke kampus Margonda). Kalau alasan "malas baca" ya mau tidak bisa dan tidak perlu dibahas lagi.
Beberapa buku online ataupun materi kuliah berkaitan dengan teknik kompilasi dapat diperoleh di URL berikut ini.
Let's Build a Compiler, by Jack Crenshaw. Bahasa yang digunakan dalam bukut teks ini adalah PASCAL. Walau sudah cukup lama 1988-1996, materi ini cukup ringan ditulis sebagai pengantar pembuatan kompiler. Tersedia juga berkas siap download dalam format
1)ZIP.http://compilers.iecc.com/crenshaw/
Compilers and Compiler Generators an introduction with C++ oleh P.D. Terry, Rhodes
2)University, 1996.http://scifac.ru.ac.za/compilers/
3)Advanced Programming Language Design oleh Raphael Finkel.http://cseng.aw.com/book/related/0,3833,0805311912+20,00.html
4)Parsing Techniques - A Practical Guide oleh Dick Grune dan Ceriel J.H. Jacobshttp://www.cs.vu.nl/~dick/PTAPG.html
5)Introduction to Compilers (University of Manitoba - Canada) Di site ini juga tersedia catatan kuliah, dan slidenya. Sehingga dapat dimanfaatkan setelah dilakukan modifikasi bobot dan bahasanya.http://www.cs.umanitoba.ca/~cs329/notes.html
6)Introduction to Compilers. (Brown University) Ini adalah materi kuliah dari Brown University.http://www.cs.brown.edu/courses/cs126/
7)Automata and Formal Language Course. Materi dari Warwick University. Menggunakan JavaCChttp://www.dcs.warwick.ac.uk/~pwg/cs203/cs203index.html
8)A Bibliography of Compiler Constructionhttp://www.cs.qub.ac.uk/~D.McKeever/csc303/Reference/Bibliography.html
9)An Introduction to the Theory of Computation Eitan Gurari, Ohio State Universityhttp://www.cis.ohio-state.edu/~gurari/theory-bk/theory-bk.html
10)Review of existing LanguagesPerbandingan beberapa bahasa pemorgraman. Situs ini memberikan informasi singkat serta URL yang berkaitan dengan bahasa pemrograman.http://tunes.org/Review/Languages.html
11)Programming Language Research. Berisi tentang informasi mengenai riset, dan pengembangan bahasa pemrograman.http://www-2.cs.cmu.edu/~mleone/language-research.html

Tentu saja akan lebih memudahkan bila materi-materi buku tersebut di atas di "mirror" di server Univeristas-universitas. Sehingga memudahkan para dosen/mahasiswa untuk mencari materi. Saya memiliki daftar buku gratis/online lainnya, bila ada yang tertarik.
Perangkat bantu

Tentu saja, setelah perbaikan materi perkuliahan, materi praktikum atau latihan yang diberikan kepada para mahasiswa, sebaiknya disesuikan sehingga mahasiswa dapat lebih mudah mempelajari, bagaimana proses pembuatan suatu kompiler. Mahasiswa sebaiknya diajak bukan saja menggunakan suatu perangkat kompiler, tetapi juga melihat "ke dalam source code" suatu kompiler sesungguhnya. Jangan "silau dan terpaku" dengan bahasa pemrograman yg penuh dg "hype" sehingga tidak mempelajari hal mendasar ini.
Suatu compiler tentu saja biasanya ditulis dengan memanfaatkan bahasa pemrograman lain misal C, atau C++. Untuk memudahkan proses pengajaran bagaimana menulis kompiler, tentu tidak mungkin dilakukan dari awal menulis semua perangkat bantu (misal scanner dlsb). Untuk itu digunakan beberapa perangkat bantu untuk mempermudah proses pembuatan kompiler.
Perangkat bantu yang lazim digunakan untuk memberikan materi compiler biasanya adalah perangkat bantu scanner, lexical analyzer dlsb. Dapat digunakan seperti Flex, Bison, Lex, Yacc. Perangkat bantu ini tersedia secara bebas (FREE), ada yang dapat juga digunakan di atas platform DOS atau Linux yang tak membutuhkan perangkat keras terlalu tinggi. Jadi nggak perlu pakai alasan menunggu upgrade hardware) Beberapa informasi yang berkaitan dengan perangkat bantu ini :
1)Free Compiler Construction Toolshttp://www.thefreecountry.com/developercity/compiler.html
2)Gnu C Compilter (GCC). Banyk informasi mengenai compiler (terutama GCC)http://www.gnu.org/software/gcc/readings.html
3)Compiler Construction using Flex and Bisonhttp://cs.wwc.edu/~aabyan/464/Book/
4)A Compact Guide to Lex & Yacc by Thomas Niemannhttp://epaperpress.com/lexandyacc/index.html
5)TASSKAF. Bahasa TASSKAF ini merupakan subset dari Java. Dapat disusun suatu program ke byte code yang dapat dijalankan di Java Virtual Machine (JVM). Pada site tersebut juga tersedia informasi materi kuliah dengan LEX, YACChttp://rw4.cs.uni-sb.de/~martin/COMP/TK/
6)GENTLE. Gentle ini merupakan perangkat bantu (toolkit) modern untuk menulis compier dan mengimplemntasikannya pada bahasa tertentu. Perangkat bantu ini mendukung semua proses translasi, dari definisi tree sintaks abstrak, pater matching, smart traversal dan lain sebagainya. Toolkit ini telah digunakan secara luas di riest dan industri.http://www.first.gmd.de/gentle/
7)ELI. Merupakan suatu lingkungan pemrograman yang memungkinkan membuat suatu implementasi bahasa pemrograman secara lengkap dari suatu sepsifikasi. Perangkat bantu ini menangani struktural analisis, analisis nama, type, value dlsb dan akan menghasilkan kode C.http://www.cs.colorado.edu/~eliuser/
8)SUIF. Tool ini merupakan perangkat bantu yang digunakan di proyek National Compiler Infrastructure di USA.http://suif.stanford.edu/suif/suif2/doc/

Pembuatan Modul
Tentu saja adanya pembaharuan materi (upgrade) sering diberi response "Ah.. repot, bagaimana ini, jaman saya dulu kuliah belum belajar ini. Belajar lagi repot, tidak ada waktu". Untungnya saat ini kita sebagai dosen tidak perlu berfungsi sebagai "instruktur murni", cukuplah sebagai fasilitator saja. Yang penting kita mau membaca secara global, dan bersedia menyusun puzzle-puzzle yang dikerjakan oleh para mahasiswa kita.
Nah untuk itu jelas kita bisa mengajak para mahasiswa belajar bersama-sama. Mungkin para dosen tidak perlu "gengsi" untuk menyatakan bahwa tidak menguasai hal praktis A dan mengajak para mahasiswa belajar bersama-sama. Normal koq di jaman ini, di Jerman aja, Profesor bisa dan sah-sah saja ngaku kurang menguasai suatu masalah, dan pada mata kuliah tertentu (biasanya seminar) akan mengerjakan bersama-sama suatu hal dengan mahasiswa.
Metoda itu bisa kita adopsi misal :
1)Dosen yg mengajarkan materi sejenis (teknik kompilasi) misal sepakat membuat suatu penambahan materi ini. Semua URL, alat bantu, informasi tambahan dikumpulkan. Akan lebih mudah dan baik bila diletakkan pada suatu web page.
2)Dilakukan pembagian tugas ke mahasiswa, dalam hal ini dipilih satu kelompok mengerjakan tugas tertentu, sehingga ketika dikumpulkan dapat menjadi suatu "kumpulan informasi berharga". Jangan lupa dipublikasi secara bebas. Meminta mahasiswa mengerjakan tugas penerjemahan telah biasa dilakukan para dosen. Cara ini dapat juga dilakukan. Setiap kelompok mengerjakan suatu modul kecil.
3)Lalu sediakan modul tersebut secara bebas di Internet, sehingga akan digunakan secara luas, dan menjadi "standard pengajaran di Indonesia". Misal sekelompok mengerjakan masalah scanner, sebagian masalah lexical analyser, sebagian membahas ELI atau tool pendisain pemrograman, dan lain sebagainya.
4)Bila materi petunjuk ini telah tersedia, mungkin dapat ke tingkat membuat petunjuk praktikum yg menuju ke disain dan penyusunan kompiler. Bisa dimulai misal dengan membuat spesifikasi suatu bahasa pemrograman "rekaan". Lalu menggunakan perangkat bantu bahasa pemgorgraman itu dibuat.