Selasa, 26 Juli 2011

Ordinary Data

source : tesis JM.Parenreng

2.1.1        Ordinary Data
Ordinary data atau Ordinal data (Wales, 2009) adalah tipe data dengan nilai-nilai properti yang dapat dihitung. Artinya, nilai-nilai yang dapat diletakkan satu per satu dan saling berkorespondensi dengan bilangan bulat positif. Sementara nilai-nilai yang sering diimplementasikan sebagai bilangan bulat (atau jenis yang sama seperti byte). Konsepnya dapat dicontohkan seperti berikut :
  1. Sistem file yang berupa data hanya dikenal dalam bentuk byte (1 byte = 8 bit) yang artinya terdiri dari sejumlah bit-bit file ketika file itu akan dikirim dan di baca kembali.
  2. Proses penulisan BitOutputStream memiliki outputStream yang digunakan untuk menulis byte, yakni pengguna menulis bit ke BitOutputStream, dan BitOutputStream menulis byte ke outputStream.
  3. Setiap BitOutputStream memiliki stream untuk menulis byte, dan buffer yang bernilai satu byte. Proses penulisan bit digambarkan sebagai berikut (Travis 1997).
Gambar 2.1. Penulisan Bit ke Buffer

  1. Setelah 8 bit maka buffer penuh sehingga tidak ada lagi bit yang bisa di simpan.
  2. Selanjutnya BitOutputStream menuliskan byte penuh ke OutputStream.
Gambar 2.2. Buffer menuliskan byte stream secara penuh ke OutputStream

  1. Buffer di kosongkan, dan kursor mereset setelah proses penulisan ke OutputStream.
  2. Demikian proses ini berulang sampai semua data tertuliskan. Selanjutnya dilakukan proses pembacaan lagi terhadap bit data.
  3. Proses pembacaan bit stream, seperti halnya BitOutputStream. BitInputStream juga memiliki inputStream dan memiliki buffer.
  4. Yang perlu diketahui adalah InputStream di tampilkan setelah dilakukan pengisian data. Ini dikarenakan InputStream adalah sumber bit untuk BitInputStream. Dan jumlah data tergantung pada isi dari InputStream.
  5. Saat pertama kali pemanggilan user melalui metode readBit(), tidak ada bit dalam buffer. Sehingga  BitInputStream pertama kali harus membaca byte tunggal dari InputStream dan menyimpannya ke buffer.
Gambar 2.3. Pengisian Buffer sebelum pembacaan bit, dari InputStream.

  1. Selanjutnya buffer berisikan beberapa bit dan mengeluarkannya satu per satu berdasarkan pemanggilan. Yang perlu diketahui adalah posisi kursor berikutnya. Dan ini berlanjut sampai semua data terbaca dengan pemanggilan readBit() secara berulang-ulang.
  2. Demikian seterusnya, kemudian berpindah ke byte berikutnya dengan memanfaatkan readBit().
Gambar 2.4. Pengisian Buffer dari InputStream ke Buffer

Rabu, 13 Juli 2011

Link Menarik... | Tips Memilih Jurusan Komputer

Tips dan Trik Memilih Jurusan Komputer

by Romi Satria Wahono
computing.jpgMas, saya baru mo masuk kuliah, tapi saya sedang bingung mo ngambil jurusan apa? Apa sih sebenarnya bedanya jurusan Teknik Informatika, Sistem Informasi, Teknik Komputer dan Manajemen Informatika? Dan yang mana menurut mas Romi yang ke depannya bagus? (Adoy Chumaidi)
Juli dan agustus adalah musim orang mendaftar kuliah. Jadi setiap tahun di kedua bulan ini saya ada ritual menerima banyak pertanyaan lewat YM atau email tentang pemilihan jurusan di bidang komputer (computing). Kalau jurusan lain misalnya Grogol atau Kampung Rambutan biasanya nggak tanya saya sih :) . Saya coba rangkumkan beberapa jawaban yang biasanya saya berikan.
Perlu kita garis bawahi dulu bahwa “secara konsep” kurikulum bidang komputer di Indonesia sudah cukup baik. Kurikulum Indonesia mengacu dan mengadaptasi Computing Curricula, yaitu panduan kurikulum bidang komputer (computing) yang diterbitkan secara bersama oleh ACM (the Association for Computing Machinery), AIS (the Association for Information System) dan IEEE-CS (the IEEE Computer Society). Beberapa dokumen usulan kurikulum yang diajukan APTIKOM (Asosiasi Perguruan Tinggi Informatika dan Komputer) saya lihat juga mengacu ke Computing Curricula 2001 dan 2005. Kalau kemudian ada pertanyaan kok pelaksanaan di lapangan tidak sebagus konsepnya. Ya banyak faktor yang masih menjadi masalah di Indonesia, kualitas SDM pengajar, infrastruktur, minimnya textbook yang baik, dsb. Mari kita perbaiki bersama-sama dan tidak perlu saling menyalahkan :)
Sekali lagi, Indonesia hanya mengadaptasi dan bukan mengadopsi Computing Curricula, artinya bahwa tidak semua nama jurusan dan nama mata kuliah di Indonesia sama “plek” dengan apa yang ada di Computing Curricula. Computing Curricula memberikan panduan tentang penyelenggaraan, penamaan mata kuliah beserta pembobotannya dan penyusunan kurikulum pada 5 jurusan, yaitu: Computer Engineering (CE, Teknik Komputer), Computer Science (CS, Ilmu Komputer), Information Systems (IS, Sistem Informasi), Information Technology (IT, Teknologi Informasi), Software Engineering (SE, Rekayasa Perangkat Lunak).
Adaptasi dan acuan kurikulum di Indonesia adalah:
  1. Computer Science untuk program studi (jurusan) Teknik Informatika atau Ilmu Komputer
  2. Computer Engineering untuk program studi (jurusan) Sistem Komputer atau Teknik Komputer
  3. Information System untuk Sistem Informasi atau Manajemen Informatika
Sedangkan Software Engineering dan Information Technology, di Indonesia dianggap bukan merupakan program studi (jurusan) karena masih bisa masuk salah satu bagian dari Teknik Informatika atau Ilmu Komputer.
Lha terus dimana letak perbedaan jurusan-jurusan diatas?
Semua jurusan (program studi) sebenarnya memiliki mata kuliah yang boleh dikatakan “sama”, hanya pembobotannya berbeda. Bobot inilah yang nantinya menentukan jalur karier dan bidang kerja lulusan. Kompetensi lulusan setiap jurusan biasanya di desain seperti di bawah:
  1. Computer Engineering (CE) (Jurusan Sistem Komputer atau Teknik Komputer) diharapkan menghasilkan lulusan yang mampu mendesain dan mengimplementasikan sistem yang terintegrasi baik software maupun hardware 
  2. Computer Science (CS) (Jurusan Teknik Informatika atau Ilmu Komputer) diharapkan menghasilkan lulusan dengan kemampuan yang cukup luas dimulai dari penguasaan teori (konsep) dan pengembangan software.
  3. Information System (IS) (Jurusan Sistem Informasi atau Manajemen Informatika) diharapkan menghasilkan lulusan yag mampu menganalisa kebutuhan (requirement) dan proses bisnis (business process), serta mendesain sistem berdasarkan tujuan dari organisasi
  4. Information Technology (IT) diharapkan menghasilkan lulusan yang mampu bekerja secara efektif dalam merencanakan, mengimplementasikan, mengkonfigurasi dan memaintain infrastruktur teknologi informasi dalam organisasi.
  5. Software Engineering (SE) diharapkan menghasilkan lulusan yang mampu mengelola aktifitas pengembangan software berskala besar dalam tiap tahapannya (software development life cycle).
Computing Curricula membuat suatu komparasi umum dan pembobotan mata kuliah tiap jurusan dengan visualisasi grafis seperti di bawah. Sumbu horizontal menggambarkan arah pengembangan (apakah lebih teoritis atau lebih praktis), sedangkan sumbu vertikal menggambarkan topik dan desain mata kuliah yang diajarkan. Pembobotan ditandai dengan warna abu-abu tua pada visualisasi gambar.
ce.jpg
cs.jpg
is.jpg
it.jpg
se.jpg
Mudah-mudahan tulisan ini bisa memberikan pemahaman untuk adik-adik sekalian yang baru lulus dan ingin melanjukan kuliah di bidang komputer (computing). Masalah jurusan yang mana yang baik, ini tergantung “minat, keinginan, dan potensi” adik-adik sekalian. Saya yakin tidak seorangpun yang bisa menjudge suatu jurusan lebih baik daripada jurusan lain. Sebenarnya saya ingin mengatakan bahwa “peluang” lebih utama daripada “minat, keinginan dan potensi”. Toh saya dulu berangkat ke Jepang dan masuk ke jurusan yang sebenarnya bukan minat, keinginan atau potensi saya. Ya prioritas berpikir saya adalah peluang dapat beasiswa ke luar negeri, sehingga dapat membantu meringankan beban orang tua. Kebetulan pada saat saya lulus SMA tahun 1993, perekonomian orang tua saya mengalami masa suram. Jurusan apapun, bahkan kalau saya ditunjuk untuk mengambil jurusan ekonomi, politik, dsb, tetap saya akan ambil karena prioritas peluang lebih tinggi :)
Yang terakhir, perlu diperhatikan bahwa ada beberapa irisan bidang computing dengan bidang lain yang sepertinya mirip tapi sebenarnya beda. Misalnya, bagi yang ingin mendalami desain grafis dan animasi secara mendalam, saya sarankan tidak masuk ke salah satu dari lima jurusan computing diatas. Akan lebih baik apabila masuk ke jurusan desain komunikasi visual (DKV), yang biasanya ada di bawah fakultas seni rupa. Saya jamin lebih pas untuk yang berminat di animasi dan desain grafis. Banyak mahasiswa yang cita-citanya menjadi animator dan graphics designer akhirnya harus melongo dan menyesal karena salah masuk ke jurusan computing. Akan saya bahas tentang DKV di lain kesempatan ;)
Selamat memilih jurusan!

Rabu, 06 Juli 2011

Kuliahan

Publikasi pada jurnal SNPS ISBN No. 979-545-0270-1

ANALISA KINERJA RESOURCE-AWARE FRAMEWORK PADA ALGORITMA LIGHT-WEIGHT FREQUENT ITEM (LWF)

Jumadi M. Parenreng 1, Supeno Djanali 2, Ary M. Shiddiqi 3

Teknik Informatika, Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia  1
jparenreng@yahoo.com
Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia 2
Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia 3


Abstrak
Online Data Stream saat ini menjadi trend komunikasi data, ini tidak terlepas dari kemampuan transfer data yang semakin cepat, sehingga  memungkinkan untuk transfer live data stream. Pemanfaatan teknologi ini salah satunya dimanfaatkan oleh perangkat Wireless Sensor Network (WSN). Kendalanya adalah sumber daya (resource) yang dimiliki oleh setiap perangkat wireless berupa bateri, memory dan CPU sangat terbatas. Karena keterbatasan sumber daya maka dibutuhkan efesiensi sumber daya dengan menerapkan konsep resource-aware (RA) dan data yang didapatkan oleh perangkat wireless tidak mesti dikirimkan seluruhnya ke server pengelohan data, karena hanya akan menghabiskan sumber daya, tetapi data yang dikirim adalah data yang telah mengalami proses mining dan data yang benar-benar dibutuhkan saja.
Fokus penelitian tesis ini adalah pembuktian dan analisa algoritma LW-Class dan LWF yang bekerja dengan memanfaatkan ketersediaan sumber daya yang dimiliki, banyaknya data, class dan counter yang terus berubah sesuai dengan ketersediaan memory pada waktu yang telah dispesifikasikan. Percobaan ini menggunakan data Iris dan data Vehicle yang disimulasikan pada program Java. Pada percobaan didapatkan hasil bahwa dengan menerapkan Resource-Aware membuat hasil mining data lebih baik, pemanfaatan memory dan CPU lebih efisien serta daya tahan (live time) bateri +30% lebih lama jika menerapkan konsep Resource-Aware. Adapun efesiensi LW-Class dan LWF yakni penggunaan memory lebih baik pada LWF dibanding LW-Class, tetapi daya tahan bateri, pada LW-Class +15% lebih baik dari LWF.
Kata Kunci : Data Stream, Algoritma Granularity, Resource-Aware




1.     Pendahuluan
Perangkat jaringan terbaru dan aplikasinya, saat ini telah banyak memanfaatkan streaming data online sehingga sistem jaringan dituntut untuk selalu beroperasi secara stabil. Resource-aware framework pada konsep Online Data Mining merupakan bagian yang sangat penting untuk Wireless Sensor Network (WSN). Resource-Aware framework dapat diterapkan pada banyak teknik mining pada data yang membutuhkan monitoring secara berkelanjutan, agregasi data dan inter network processing (Datta, 2006). Sumber energi berupa Memori, CPU dan Bateri adalah bagian yang menjadikan Wireless Sensor Network dapat bekerja secara terus-menerus dalam jangka waktu lama. Tren terbaru dalam lingkup jaringan wireless yakni online data stream dimana pemrosesan data dilakukan pada perangkat wireless sensor network yang mengandalkan stream input data dengan kecepatan tinggi, kemudian pada waktu yang bersamaan pengiriman data secara update harus dilakukan dengan energi yang dimiliki. Karenanya efesiensi energi dan manajemen sumber daya (resource) adalah bagian yang sangat penting untuk teknik pemrosesan data pada jaringan ini. Gaber memperkenalkan model pengolahan data yang didasarkan pada teknik mining dengan nama Algoritma-Granularity (Gaber et al, 2004a) yakni : Light Weight Clustering (LWC), Light Weight Classification (LWClass) dan Light Weight Frequent Item (LWF) dengan memanfaatkan ketersediaan resource berupa  Memory, CPU dan Bateri.