Sabtu, 03 November 2007

HCI-5


Pada awalnya pengembangan komputer lebih difokuskan pada peningkatan kemampuan dan kecanggihan peralatan komputer, sedangkan dari aspek manusia sebagai user kurang diperhatikan. Hal-hal sederhana seperti kenyamanan dan kemudahan dalam menggunakan komputer jarang diperhatikan.Pada kenyataan sebenarnya, faktor brainware sangat mempengaruhi kinerja sistem komputer itu sendiri. Apabila suatu teknologi lebih mudah dimengerti oleh user maka user dapat menggunakan teknologi itu dengan maksimal. Oleh karena itu, faktor interaksi manusia–komputer pun menjadi salah satu faktor yang sangat penting untuk dipertimbangkan.Pada kondisi dewasa ini, IMK mulai mendapatkan perhatian dari para perancang sistem. Aspek hubungan manusia-komputer mulai dipandang sebagai aspek penting. IMK mulai berkembang setelah PD II. Mula-mula ilmu yang berkaitan adalah biomekanik, antropometri, penelitian mengenai penglihatan, kemudian bergeser ke arah prinsip-prinsip pengembangan representasi informasi.Dalam perkembangan bidang-bidang kegiatan lain yang berhubungan dengan kajian IMK adalah:Ilmu komputer sebagai kerangka dasarnya.Psikologi menyangkut tingkah laku, persepsi, dan pemrosesan kognitif userErgonomi (human aspect), melihat aspek-aspek titik kenyamanan user sewaktu menggunakan sistem.Kebebasan melihat komunikasi antara user-sistem.Sosiologi, meminjam dampak sistem manusia-mesin pada sistem kemasyarakatan.Antropologi, mengamati interaksi sekelompok manusia dengan mesin.Desain grafis, mengikuti tuntutan user yang semakin lebih suka menggunakan grafis sebagai antarmuka dengan mesin.Faktor-faktor penting dalam interaksi manusia-komputer antara lain:Kinerja manusiaDalam hal ini mmenyangkut karakteristik dasar manusia dan keterbatasannya seperti fleksibilitas, ketrampilan, kesalahan, kecepatan, dll. Beberapa aspek khusus tentang ini adalah pemilihan (seperti memodelkan pengguna), pelatihan (misalnya dalam pengambilan keputusan), user support (seperti problem solving).Kinerja sistem komputerKarakteristik dasar dan keterbatasan sistem dengan memandang aspek khusus berkaitan dengan IMK seperti fasilitas bahasa, waktu respon sistem, sekuritas.Antarmuka perangkat kerasDisplay, kontrol, terminal, aplikasi ergonomi untuk desain workstation yang baik, kebutuhan manusia dan peralatan-peralatan baru.Antarmuka perangkat lunakMedia komunikasi non-perangkat keras, aspek IMK dari sistem linguistik dan bahasa, organisasi informasi.LingkunganFisik: ruang workstation dan layout-nya, pencahayaan, suara, dsb. Psikologikal: pengaruh kelompok kerja, struktur pekerjaan (seperti shift kerja), struktur sistem (open / closed, rigid / flexible, dsb), keadaan sosial dan desain organisasi.Aplikasi spesifikPengguna spesialis, bisnis, naif, sistem publik.Problem spesialPengaruh IMK pada desain pekerjaan dan organisasi, serta masyarakat, privasi informaasi personal, kasus-kasus khusus, dokumentasi dan bantuan-bantuan lain, dsb.Pengembangan suatu sistem komputer harus dapat melakukan komunikasi yang nyaman dan mudah. Kendala yang sering terjadi disebabkan perilaku user yang tidak dapat dipastikan. Beberapa karakteristik manusia yang mempengaruhi interaksi manusia dengan sistem komputer, yaitu:Operasi Dedicated / casual (apakah operasi yang dihadapi itu terus menerus atau bersifat satu kali penggunaan) jenis pekerjaanMampu / tidak mampu melakukan pemrogramanMemiliki daya intelegensia tinggi / kurangTerlatih / tidak terlatihAktif / pasif (aktif maksudnya memulai interaktif, berinisiatif)Lingkungan pekerjaan bertekanan atau tidak bertekanan (underpressure / dead line atau tanpa tenggat waktu)Perbedaan usia yang mempengaruhi perbedaan pengalaman, pengetahuan, kemampuan belajar dan adaptasi, kemampuan fisikPerbedaan personalitas penggunaTeknik-teknik yang dapat digunakan dalam perancangan user interface agar lebih efektif, antara lain:MenuPengisian formulirBahasa perintahBahasa alamiManipulasi langsungDalam memilih teknik apa yang akan digunakan perlu diperhatikan faktor-faktor berikut :Siapa pemakai sistemBanyaknya aplikasi yang diterapkan pada komputer yang samaKomunikasi dalam jaringanKerumitan pekerjaan sistemPanjang operasiUrutan operasiAkurasiSumber masukanFaktor-faktor lain seperti: harga, hardware, kerumitan implementasi, dll.Dalam konteks interaksi, ada aturan yang dikenal dengan nama ‘7 Golden Rules’, yaitu:KonsistensiKeharmonisan kombinasi dengan ekspresi yang singkat tapi powerfull, misalnya:singkatan perintahmacro-commandcut & pasteundo-redonilai standar (default)Mengurangi beban kognitifInteraksi yang dikendalikan userFleksibelDialog terstrukturError Handling

HCI-4


Interaksi Manusia komputer pertama


Pengertian Interaksi Manusia-KomputerKetika 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.

HCI-3


HCI definition
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.Pada Man-Machine Interaction sudah diterapkan sistem yang "user friendly". Narnun, sifat user friendly pada MMI ini diartikan secara terbatas. User friendly pada MMI hanya dikaitkan dengan aspek-aspek yang berhubungan dengan estetika atau keindahan tampilan pada layar saja. Sistem tersebut hanya menitik beratkan pada aspek rancangan antarmukanya saja, sedangkan faktor-faktor atau aspek-aspek yang berhubungan dengan pemakai baik secara organisasi atau individu belum diperhatikan [PRE94].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.Pada HCI ini cakupan atau fokus perhatiannya lebih luas, tidak hanya berfokus pada rancangan antarmuka saja, tetapi juga memperhatikan semua aspek yang berhubungan dengan interaksi antara manusia dan komputer. HCI ini kemudian berkembang sebagai disiplin ilmu tersendiri (yang merupakan bidang ilmu interdisipliner) yang membahas hubungan tirnbal balik antara manusia-komputer beserta efek-efek yang terjadi diantaranya.Oleh Baecker dan Buxton [dalam PRE94] HCI ini didefinisikan sebagai "set of processes, dialogues, and actions through -which a human user employs and interacts with computer". ACM-SGCHI [dalam PRE94] lebih jauh menuliskan definisi tentang HCI sebagai berikut:--- human-computer interaction is a discipline concerned with the design, evaluation and implementation of interactive computing system for human use and with the study of major phenomena surrounding them. "Dengan demikian terlihat jelas bahwa fokus perhatian HCI tidak hanya pada keindahan tampilannya saja atau hanya tertuju pada tampilan antarmukanya saja, tetapi juga memperhatikan aspek-aspek pamakai, implementasi sistem rancangannya dan fenomena lingkungannya, dan lainnya. Misalnya, rancangan sistem itu harus memperhatikan kenyamanan pemakai, kemudahan dalam pemakaian, mudah untuk dipelajari dlsb.Tujuan dari HCI adalah untuk menghasilkan sistem yang bermanfaat (usable) dan aman (safe), artinya sistem tersebut dapat berfungsi dengan baik. Sistem tersebut bisa untuk mengembangkan dan meningkatkan keamanan (safety), utilitas (utility), ketergunaan (usability), efektifitas (efectiveness) dan efisiensinya (eficiency). Sistem yang dimaksud konteksnya tidak hanya pada perangkat keras dan perangkat lunak, tetapi juga mencakup lingkungan secara keseluruhan, baik itu lingkungan organisasi masyarakat kerja atau lingkungan keluarga. Sedangkan utilitas mengacu kepada fungsionalitas sistem atau sistem tersebut dapat meningkatkan efektifitas dan efesiensi kerjanya. Ketergunaan (usability) disini dimaksudkan bahwa sstem yang dibuat tersebut mudah digunakan dan mudah dipelajari baik secara individu ataupun kelompok.Pendapat Preece, J. di atas didasarkan pada pemikiran yang menyatakan bahwa kepentingan pemakai sistem harus didahulukan, pemakai tidak bisa diubah secara radikal terhadap sistem yang telah ada, sistem yang dirancang harus cocok dengan kebutuhan-kebutuhan pemakai.Selanjutnya, dalam berinteraksi dengan komputer, para pemakai pertama kali akan berhadapan dengan perangkat keras komputer. Untuk sampai pada isi yang ingin disampaikan oleh perangkat lunak, pemakai dihadapkan terlebih dahulu dengan seperangkat alat seperti papan ketik (keyboard), monitor, mouse, joystick, dan lain-lain. Pemakai harus dapat mengoperasikan seperangkat alat tersebut. Selanjutnya, pemakai akan berhadapan dengan macam-macam tampilan menu, macam-macam perintah yang terdiri dari kata atau kata-kata yang harus diketikkannya, misalnya save, copy, delete, atau macam-macam ikon. Peralatan, perintah, ikon dan lain-lain yang disebutkan di atas dikenal dengan nama interface (antarmuka). Interface ini merupakan lapisan pertama yang langsung bertatap muka dengan pemakai.Sistem interaksi itu sendiri juga merupakan bagian dari sistem komputer yang dibuat, sehingga memungkinkan manusia bermteraksi dengan sistem komputer se-efektif mungkin guna memanfaatkan kemampuan pengolahan yang tersedia pada sistem komputer. Salah satu model antarmuka antara manusia dan komputer atau rangkaian kegiatan interaksi manusia-komputer secara sederhana dapat disimak pada gambar di bawah.Terlihat bahwa manusia memberi isyarat, atau masukan data kepada sistem pengolah informasi komputer, melalui alat masukan yang tersedia pada sistim komputer (misalnya keyboard). Berdasarkan masukan ini, melalui alat keluarannya (mi~lnya monitor), hasil-hasil pengolahan dari prosesor komputer disajikan kepada manusia. Melalui sensor manusia, seperti penglihatan (mata), pendengaran (telinga), dan peraba, sajian atau masukan-masukan itu kemudian dipantau/dimonitor untuk selanjutnya diteruskan ke sistem pengolah informasi manusia (perceptual processing, intellectual/cognitive processing, dan motor control yang selalu berinteraksi dengan human memory) untuk ditafsirkan.Setelah penafsiran dilakukan dan keputusan diambil, maka diteruskanlah perintah ke alat responder manusia (tangan, jari, suara, dan lainnya) untuk melakukan tindak lanjutan yang pada urnumnya diwujudkan berupa masukan kembali ke komputer.Rangkaian pesan dan isyarat antara manusia dengan komputer membentuk suatu dialog interaktif, yakni serangkaian aksi dan reaksi yang saling berkaitan. Memperhatikan rangkaian kegiatan interaksi yang terjadi, jelaslah bahwa sifat dari suatu interaksi sangat ditentukan oleh dialog manusia-komputer dan teknologi dari alat masukan serta keluaran yang digunakan [DOW92].Dengan faktor-faktor yang tercakup pada HCI tersebut, sekarang semakin menjadi jelas peranan HCI di dalam rancangan sistem. la akan mempertinggi kualitas interaksi antara sistem komputer dan manusia. Untuk bisa tercapainya kualitas yang tinggi pada interaksi tersebut, maka secara sistematik perlu diterapkannya pengetahuan tentang tujuan manusia (human goals), kapabilitas dan keterbatasan manusia bersama-sama dengan pengetahuan tentang kapabilitas dan keterbatasan komputer pada sistem. Pengetahuan-pengetahuan yang berhubungan itu selanjutnya untuk mengetahui aspek-aspek fisik, sosial, organisasi dan lingkungan kerja pemakai. Dengan demikian, perancang sistem harus bisa membuat transisi dari 'apa yang dapat dilakukan kepada sistem (functionality)" menjadi 'bagaimana sistem itu harus dilakukan agar cocok dengan pemakai (usability)".

HCI-2


Pengertian Interaksi Manusia-KomputerKetika 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.

HCI -1


Dari suatu ilmu pengetahuan tentang perspektif dari komputer, Maksud dari interaksi dan secara rinci pada interaksi antara satu atau lebih manusia dan satu atau lebih komputasi mesin. Yang menggontrol sebuah mesin tersebut adalah seseorang, dengan menggunakan suatu program grafik interaktip yang ada pada suatu stasiun kerja. Disini bisa kita lihat bahwa ada bermacam-macam arti dengan apa yang dimaksud dengan interaksi, manusia, dan mesin, Makanya, kita tidak mungkin untuk meniadakan bagian dari Interaksi Manusia dan Komputer, meskipun demikian kita ingin mengidentifikasi ruang lingkupnya, serta topik lain yang lebih umum tenteng Interaksi Manusia dan Komputer
Sebab Interaksi Manusia dan Komputer mempelajari antara suatu manusia dan suatu mesin didalam sebuah komunikasi, yang mendukung pengetahuan dari kedua-duanya antara sisi mesin dan sisi manusia. Pada sisi mesin, teknik dalam komputer grafik, sistem operasi, bahasa programan, dan lingkungan pengembangannya. Sedangkan pada sisi manusia antara lain, teori komunikasi, disain industri dan grafis, linguistik, ilmu-ilmu sosial, psikologi, dan tujuan manusia relevan. Dan tentu saja perancangan sistem dan metoda lain yang sesuai.

AI-5

AI dalam pesawat militer


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.

AI-4


Game AI


Game AI adalah aplikasi IB untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak 'ikut bermain' (NPC ~ Non Playable Characters).[edit]Karakter Antagonis (Opponent AI)karakter antagonis adalah karakter yang dalam permainan memiliki tujuan yang sama dengan pemain yaitu memenangkan permainan. untuk mewujudkan tujuan ini karakter tersebut dapat melakukan aksi kepada pemain dan sebaliknya pemain dapat melakukan aksi kepada karakter lawan yang sesuai dengan aturan permainan. contoh sederhana dari karakter antagonis adalah dalam permainan pertarungan (fighting). karakter lawan adalah karakter yang harus 'dikalahkan' oleh pemain dengan melakukan aksi (serangan). fungsi IB pada karakter antagonis adalah melakukan aksi-aksi yang dapat memperbesar peluang karakter tersebut untuk menang.[edit]Karakter Pendukung (NPC AI)karakter pendukung (NPC ~ Non-Playable Characters) merupakan karakter yang terlibat dalam permainan tetapi tidak memiliki tujuan untuk memenangkan permainan melainkan melakukan peran yang mendukung pemain/lawan untuk memenangkan permainan. contoh sederhana dari NPC AI adalah pada game RPG. Karakter NPC pada permainan bergenre RPG pada umumnya memberikan informasi implisit kepada karakter tentang hal-hal yang berkaitan dengan cerita dalam permainan ataupun panduan bagi pemain mengenai tujuan permainan. fungsi IB pada karakter pendukung adalah menentukan dialog dengan pemain sedemikian rupa sehingga seolah-olah karakter tersebut tampak nyata bagi pemain (life-like).[edit]IB untuk interaksiPeranan IB dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan manusia untuk berinteraksi dengan sesama manusia. contoh-contoh media interaksi antara lain :* penglihatan (Vision) Untuk menggunakan informasi penglihatan biasanya menggunakan kamera sebagai perangkat untuk mendapatkan data. data yang ditangkap adalah berupa gambar / citra yang merupakan matriks dua dimensi. matriks tersebut dianalisa sesuai dengan kebutuhan aplikasi sehingga didapatkan informasi yang diinginkan (misal pembentukan wajah, deteksi gerakan, rekonstruksi ruang).* suara (voice) atau ucapan (speech) Informasi suara didapatkan dari microphone yang menghasilkan informasi dalam bentuk deretan angka (disebut sebagai sample). Persoalan utama dari suara adalah informasi yang dikandung memiliki variasi yang sangat besar yang disebabkan oleh faktor alat dan faktor manusia (vokal, intonasi, intensitas, dll). Penerapan interaksi dengan menggunakan suara misalnya untuk permainan bergenre RTS (wargames) yang menterjemahkan perintah dari pemain untuk menggerakkan unit. Contoh lainnya adalah permainan balap kendaraan yang menentukan akselerasi dari suara pemain yang menirukan suara mesin.* gerakan anggota badan (gesture) Gesture adalah gerakan sebagian anggota badan yang memiliki makna tertentu (disebut juga sebagai body language). Informasi gesture dapat diakuisisi dengan berbagai cara, diantaranya :*o dari video (vision) informasi deretan koordinat (gerakan) dihasilkan dari analisis terhadap rangkaian gambar terurut (video).*o sensor jarak (range) informasi deretan koordinat diukur dengan menggunakan sensor jarak.*o sensor posisi yang menempel pada pemain akhir-akhir ini beberapa produsen konsol memanfaatkan pengendali (controller) yang dapat menghasilkan informasi posisi /perubahan posisi pengendali pada ruang tiga dimensi. Salah satu contoh konsol yang menggunakan ini adalah Nintendo Wii.

AI-3


Kecerdasn 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.

Kamis, 01 November 2007

Linux


Linux atau GNU/Linux adalah sistem operasi bebas yang sangat populer untuk komputer.

Istilah Linux atau GNU/Linux (GNU) juga digunakan sebagai rujukan kepada keseluruhan distro Linux (Linux distribution), yang di dalamnya disertakan program-program lain pendukung sistem operasi. Contoh program tersebut adalah server web, bahasa pemrograman, basisdata, tampilan desktop (Desktop Environment) (seperti GNOME dan KDE), dan aplikasi perkantoran (office suite) seperti OpenOffice.org, KOffice, Abiword, Gnumeric. Distro Linux telah mengalami pertumbuhan yang pesat dari segi popularitas, sehingga lebih populer dari versi UNIX yang menggunakan sistem lisensi dan berbayar (proprietary) maupun versi UNIX bebas lain yang pada awalnya menandingi dominasi Microsoft Windows dalam beberapa sisi.

Linux mendukung banyak perangkat keras komputer, dan telah digunakan di berbagai peralatan dari komputer pribadi, superkomputer dan sistem benam (embedded system), seperti telepon seluler (Ponsel) dan perekam video pribadi.

Pada awalnya, Linux dibuat, dikembangkan, dan digunakan oleh peminatnya saja. Kini Linux telah mendapat dukungan dari perusahaan besar seperti IBM dan Hewlett-Packard. Para pengamat teknologi informatika beranggapan kesuksesan ini dikarenakan Linux tidak bergantung kepada vendor (vendor independence), biaya operasional yang rendah, dan kompatibilitas yang tinggi dibandingkan versi UNIX proprietari, serta faktor keamanan dan kestabilannya dibandingkan dengan Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pengembangan perangkat lunak sumber terbuka (opensource software).

Daftar isi
1 Sejarah
2 Distribusi Linux
3 Aplikasi Sistem Operasi Linux
4 Pasar serta kemudahan pemakaian
4.1 Instalasi
4.2 Konfigurasi
4.3 Dukungan
5 Skala Usaha Pembangunan Linux
6 "GNU/Linux"
7 Tindakan Undang-undang (Litigasi)
8 Lihat pula
9 Bacaan Tambahan
10 Bahan Rujukan
11 Pranala luar



[sunting] Sejarah
Kernel Linux pada mulanya ditulis sebagai proyek hobi oleh pelajar universitas Finland Linus Torvalds yang belajar di Universitas Helsinki, untuk membuat kernel Minix yang gratis dan dapat diedit. (Minix adalah projek pelajaran menyerupai UNIX dibuat untuk mudah digunakan dan bukannya untuk digunakan secara komersial.) Versi 0.01 dikeluarkan ke Internet pada September 1991, Versi 0.02 pada 5 Oktober 1991. [1]

Berikutnya, beribu-ribu penulis program sukarelawan seluruh dunia telah menyertai proyek ini.

Sejarah sistem operasi Linux berkaitan erat dengan proyek GNU, proyek program bebas freeware terkenal diketuai oleh Richard Stallman. Proyek GNU diawali pada tahun 1983 untuk membuat sistem operasi seperti Unix lengkap — kompiler, utiliti aplikasi, utiliti pembuatan dan seterusnya — diciptakan sepenuhnya dengan perangkat lunak bebas. Pada tahun 1991, pada saat versi pertama kerangka Linux ditulis, proyek GNU telah menghasilkan hampir semua komponen sistem ini — kecuali kernel. Torvalds dan pembuat kernel seperti Linux menyesuaikan kernel mereka supaya dapat berfungsi dengan komponen GNU, dan seterusnya mengeluarkan Sistem operasi yang cukup berfungsi. Oleh karena itu, Linux melengkapi ruang terakhir dalam rancangan GNU.

Walaupun kernel Linux dilisensikan di bawah GNU General Public License, ia bukannya sebesar dari proyek GNU.

Tux, seekor Pinguin, merupakan logo dan maskot bagi Linux. Linux adalah trademark (SN: 1916230) yang dimiliki oleh Linus Torvalds. Linux terdaftar sebagai "Program sistem operasi komputer bagi penggunaan komputer dan operasi". Trademark ini didaftarkan setelah ada suatu kejadian di mana seorang pemalsu bernama William R Della Croce Jr mulai mengirim surat kepada para distributor Linux dan megklaim trademark Linux adalah hakmiliknya serta meminta royalti sebanyak 10% dari mereka. Para distributor Linux mulai mendorong agar trademark yang asli diberikan kepada Linus Torvalds. Pemberian lisensi trademark Linux sekarang dibawah pengawasan Linux Mark Institute.


[sunting] Distribusi Linux
Lihat juga Distribusi Linux

Terdapat banyak distribusi Linux (lebih dikenali sebagai distro) yang dibuat oleh individu, grup, atau lembaga lain. Masing-masing disertakan dengan program sistem dan program aplikasi tambahan, di samping menyertakan suatu program yang memasang keseluruhan sistem di komputer (installer program).

Inti di setiap distribusi Linux adalah kernel, koleksi program dari proyek GNU (atau proyek lain), cangkang (shell), dan aturcara utilitas seperti pustaka (libraries), kompilator, dan penyunting (editor). Kebanyakan sistem juga menyertakan aturcara dan utilitas yang bukan-GNU. Bagaimanapun, utilitas tersebut dapat dipisahkan dan sistem ala UNIX masih tersedia. Beberapa contoh adalah aturcara dan utiliti dari BSD dan sistem grafik-X (X-Window System). X menyediakan antarmuka grafis (GUI) yang umum untuk Linux.

Contoh-contoh distribusi Linux :

Ubuntu dan derivatifnya : Kubuntu, Xubuntu, Edubuntu, GoBuntu
PCLinuxOS
Knoppix
Xandros

[sunting] Aplikasi Sistem Operasi Linux
Pengguna Linux, yang pada umumnya memasang dan melakukan sendiri konfigurasi terhadap sistem, lebih cenderung mengerti teknologi dibanding pengguna Microsoft Windows atau Mac OS. Mereka sering disebut hacker atau geek. Namun stereotipe ini semakin berkurang dengan peningkatan sifat ramah-pengguna Linux dan makin luasnya pengguna distribusi. Linux telah membuat pencapaian yang cukup baik dalam pasaran komputer server dan komputer tujuan khusus, seperti mesin render gambar dan server web. Linux juga mulai populer dalam pasaran komputer desktop.

Linux merupakan asas kepada kombinasi program-server LAMP, kependekan dari Linux, Apache, MySQL, Perl/PHP/Python. LAMP telah mencapai popularitas yang luas di kalangan pengembang Web.

Linux juga sering digunakan sebagai sistem operasi embeded. Biaya pengadaan Linux yang murah memungkinkan penggunaannya dalam peralatan seperti simputer, yaitu komputer berbiaya rendah yang ditujukan pada penduduk berpendapatan rendah di Negara-negara berkembang.

Dengan lingkungan desktop seperti KDE dan GNOME, Linux menawarkan antarmuka pengguna yang lebih menyerupai Apple Macintosh atau Microsoft Windows daripada antarmuka baris teks seperti Unix. Oleh karena itu, lebih banyak program grafik dapat ditemui pada Linux yang menawarkan berbagai fungsi yang ada pada utilitas komersil.

AI-2









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 AIPenggunaan 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).
Diterbitkan di:

AI -1



Artificial Intelligence (AI)
Artificial Intelligence (AI) atau kecerdasan buatan adalah suatu ilmu pengetahuan dan teknologi yang berdasarkan pada disiplin ilmu seperti ilmu komputer, biologi, psikologi, ilmu bahasa, matematika dan teknik.Artificial Intelligence (AI) memiliki tujuan untuk menciptakan komputer-komputer yang dapat berfikir (dan juga) dapat melihat, mendengar, berjalan, berbicara, dan merasakan.Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata.

Compiler -5



Pada tahun 1959, CODASYL (Conference on Data System Language) didirikan dengan anggota yang terdiri dari wakil-wakil pemakai komputer dan pabrik. Dua tahun kemudian, spesifikasi pertama dihasilkan dengan nama COBOL. Akhirnya COBOL menjadi bahasa pemrograman yang digunakan paling luas dalam aplikasi komersial ataupun bisnis. Lebih dari 40% instalasi komputer didunia masih menggunakan COBOL.

COBOL juga bisa dianggap sebagai suatu bahasa yang menggunakan sistem dokumentasi yang rapi dan teliti seperti halnya bahasa Inggris. Dengan adanya hal ini, pemakai menjadi mudah untuk membaca dan mengerti, dan programmer juga menjadi mudah untuk melakukan debug atau pemeriksaan program. Persoalan bisnis selalu memerlukan adanya data dalam jumlah yang besar, serta kecepatan untuk memprosesnya. COBOL menjawab dengan instruksi-instruksi yang sederhana dan mudah dimengerti.

PASCAL Programming Language juga merupakan suatu bahasa, dimana nama yang ada diambil dari nama seorang ilmuawan Perancis yang sangat terkenal, yaitu Blaise Pascal. Bahasa ini tersusun dengan pola struktur yang mengalir dari atas kebawah. Disamping itu, sebuah program yang besar dapat dipecah-pecah dalam beberapa modul program yang lebih kecil. Dengan demikian, bahasa ini dapat mendorong seorang programmer untuk melihat sebuah persoalan secara logic.

Konsep pemrograman secara modular (suatu program yang dibagi dalam beberapa bentuk modul) yang sangat menarik diperkenalkan oleh Turbo Pascal mulai versi 4.0. Modul ini dikenal dengan unit (Turbo Pascal UNIT/TPU). Dengan menggunakan unit, suatu modul bagian dari program dapat dikompilasi secara terpisah terhadap program utama, sehingga hasil compilasi program utama tidak terlalu besar. Dengan demikian apabila program dijalankan, tidak memerlukan memory yang terlalu besar.

Compiler -4




. Sejarah PASCALmerupakan pengembangan dari bahasa ALGOL 60, bahasa pemrograman untuk sains komputasi. Tahun 1960, beberapa ahli komputer bekerja untuk mengembangkan bahasa ALGOL, salah satunya adalah Dr. Niklaus Wirth dari Swiss Federal Institute of Technology (ETH-Zurich), yang merupakan anggota grup yang membuat ALGOL. Tahun 1971, dia menerbitkan suatu spesifikasi untuk highly-structured language (bahasa tinggi yang terstruktur) yang menyerupai ALGOL. Dia menamainya dengan PASCAL (seorang filsuf dan ahli matematika dari Perancis) Pascal bersifat data oriented, yaitu programmer diberi keleluasaan untuk mendefinisikan data sendiri. Pascal juga merupakan teaching language (banyak dipakai untuk pengajaran tentang konsep pemrograman). Kelebihan yang lain adalah penulisan kode Pascal yang luwes, tidak seperti misalnya FORTRAN, yang memerlukan programmer untuk menulis kode dengan format tertentu. Bentuk dasar program Pascal adalah seperti berikut:program TITLE ;begin pernyataan;pernyataanend.2. PASCALsebagai bahasa terstrukturSebagai bahasa terstruktur, PASCAL mempunyai ciri-ciri sebagai berikut:1. BerurutanSusunan dari kode-kode dalam teks Pascal harus ditulis secara urut dari atas, pernyataan-pernyataan yang ditulis lebih awal akan dieksekusi lebih dahulu. Oleh karena itu, suatu pernyataan yang menyangkut suatu variabel di dalam program, maka variable itu harus terdefinisi dahulu sebelumnya. Hal ini terutama menyangkut pada pemanggilan sub-program oleh sub-program yang lain. Bisa dibaca lebih lanjut pada bagian sub-program.2. Blok dengan batas-batas yang jelas.Pascal memberikan pembatas yang jelas pada tiap-tiap blok, seperti pada blok program utama, sub-program, struktur kontrol (pengulangan/ pemilihan), dll. Pemakaian kata kunci begin untuk mengawali operasi pada blok dan end untuk menutupnya memudahkan programmer menyusun programnya dengan mudah. Seperti contoh:If X>0 thenbegin Write ( ‘ bilangan positif’);Writeln ( ‘ program selesai’);end;3. Satu pintu masuk dan satu pintu keluar pada blok pemilihan dan pengulangan. Contoh di atas juga mengilustrasikan pintu masuk tunggal pada suatu blok pemilihan yaitu suatu test logika X>0, dengan pintu keluaran yang satu pula (satu disini maksudnya bukan dua baris perintah output tapi suatu paket perintah yang dirangkai dengan begin .. end.3. Bakuan PASCALDibakukan oleh ISO pada tahun 1983 dan dikembangkan dalam beberapa versi, diantaranya: USCD PASCAL, MS PASCAL, TURBO PASCAL dll. Dengan semakin berkembangnya teknologi dalam komputasi, Pascal dimanfaatkan untuk pengembangan DELPHI (berasal dari nama suatu kota di masa Yunani kuno), suatu bahasa pemrograman visual yang menonjolkan pada efek grafis dan orientasi pada objek-objek yang siap dipakai, karena memiliki Visual Component Library (VCL).4. Struktur Bahasa PASCALsecara umumPascal mempunyai struktur sebagai berikut:1. Bagian Judul Program2. Bagian Deklarasia. Deklarasi tipe data (TYPE)b. Deklarasi variabel (VAR)c. Deklarasi konstanta (CONST)d. Deklarasi label (LABEL)e. Deklarasi sub-program (PROCEDURE dan FUNCTION)3. Bagian Program Utama Perintah-perintah.Teks Pascal setidaknya memiliki bagian Judul Program, bagian Deklarasi, dan Bagian Program Utama yang berupa perintah-perintah. Sedangkan untuk bagian deklarasi menyesuaikan dengan isi dari program itu sendiri. Contoh program PASCAL:program TAMBAH_00; { Menjumlahkan dua bilangan yang nilainya diberikan dalam perintah}var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }BEGIN { Program Utama Mulai }X := 50; { Perintah memberikan nilai 50 pada var. X }Y := 25; { Perintah memberikan nilai 25 pada var. Y }Z := X + Y; { Perintah menjumlahkan X dan Y serta menyimpan hasilnya ke Z}END. { Akhir Program Utama }Pada contoh ini nilai X dan Y tidak bisa sembarang, karena didefiniskan tertentu. Agar nilai X dan Y bisa bebas ditentukan, nilai X dan Y dibaca dari default input.program TAMBAH_01; { Menjumlahlan dua buah bilangan yang dibaca dari default input }var X, Y, Z: integer; { Deklarasi variabel X,Y dan Z sebagai bilangan bulat }BEGIN { Program Utama Mulai }read(X); { Membaca nilai X lewat key-board }read(Y); { Membaca nilai Y lewat key-board }Z := X + Y; { Menjumlahkan X dan Y serta menyimpan hasilnya ke Z }write(Z); { Menyajikan Z ke layar monitor }END. { Akhir Program Utama }Dasar Bahasa PASCALUnsur-unsur Pemrogramana. Mendapatkan data dengan membaca data dari default input (key board, file atau sumber data lainnya).b. Menyimpan data ke dalam memori dengan struktur data yang sesuai,c. Memproses data dengan instruksi yang tepat.d. Menyajikan atau mengirimkan hasil olahan data ke default output (monitor, file atau tujuan lainnya).Dalam mengolah data diperlukan pengelolaan instruksi terstruktur:a. Beberapa instruksi dikelompokkan dalam satu blok atau model yang mengerjakan tugas tertentu.b. Beberapa perintah dilaksanakan dengan persyaratan tertentu.c. Beberapa perintah dilaksanakan berulang dengan jumlah pengulangan tertentu. Identifier Digunakan untuk nama: Program, Sub-program (procedure dan function),nama: Variable, Constant, Type, Label.Nama-nama ini digunakan untuk pemakaian dan pemanggilan dalam program. Ketentuan penulisan identifiera. Nama identifier harus dimulai dengan karakter huruf alfabet: a sampai z, A sampai Z atau karakter ‘_’ (underscore - garis bawah)b. Karakter berikutnya boleh karakter numerik (0 .. 9) atau kombinasi alphanumerik (huruf-numerik).c. Panjang nama, pada berbagai versi Pascal umumnya antara 32 - 63.d. Tidak boleh menggunakan karakter istimewa: + - * / \ = < > [ ] . , ; : ( ) ^ @ { } $ # ~ ! % & ` ” ‘ dan ? Contoh penulisan:Penulisan yang benar: X _PQR Beta Sudut_Alpha luasLingkaranPenulisan yang salah: 3D sisi-Kanan B#Jenis identifiera. Identifier umumMerupakan identifier yang didefinisikan sendiri oleh pemrogram. Pemrogram mempunyai kebebasan untuk menentukan nama identifiernya, dengan syarat nama tersebut tidak sama dengan identifier standar dan reserved word yang akan dibahas lebih lanjut. Hal ini untuk mencegah kesalahan yang bisa timbul akibat tumpang tindih identifier dalam program.b. Identifier Standar (Baku)Merupakan identifier yang didefinisikan oleh pembuat kompiler Pascal. Biasanya pembuat kompiler menyediakan suatu library yang sudah ada didalam kompiler. Library berisi berbagai procedure, fungsi atau unit yang sudah siap pakai. Misalnya Turbo Pascal Windows 1.5 memiliki suatu unit untuk memproses output yaitu wincrt, gotoxy, yang dengan mudah bisa dipakai oleh programmer di dalam menuliskan kode-kode programnya. Dinamai Identifier Standar karena suatu kompiler tidak harus memilikinya, masing-masing kompiler dimungkinkan mempunyai identifier yang berbeda untuk suatu tugas yang hampir sama. Misalnya Turbo Pascal versi DOS menggunakan crt untuk melakukan fungsi yang sama dengan wincrt (TPW 1.5). Beberapa Identifier Standar yang dimiliki oleh kompiler-kompiler Pascal antara lain:abs arctan boolean char cos dispose eof eoln exp false input integer ln maxint new odd ord output pack page pred read readln real reset rewrite round sin sqr sqrt succ text true trunc write writelnc. Identifier “reserved word”, yaitu yang sudah didefinisikan dan digunakan oleh bahasa PASCAL sendiri (Kita tidak bisa menamai identifier kita dengan ini).and array begin case const div do downto else end file for forward function goto if in label mod nil not of or packed procedure program record repeat set then to type until var while withDeklarasi Variable:Mendeklarasikan varibel adalah:a. Memberikan nama variabel sebagai identitas pengenalb. Menentukan tipe data variabelContoh deklarasi variabel:var K : integer;R : real;C : char;T : boolean;Beberapa identifier yang sejenis bisa dideklarasikan bersamaan.var i, j, k : integer;{Variabel i, j dan k sebagai integer}namaMHS, alamatMHS : char; {Nama dan alamat mahasiswa }Deklarasi Konstanta:Mendeklarasikan konstanta adalah:a. Memberikan nama konstanta sebagai identitas pengenalb. Menentukan nilai konstantaContoh deklarasi konstanta:const MaximumSize = 100; {integer }ExitCommand = ‘Q’; {char }Tipe DataTipe data yang disediakan oleh PASCAL meliputi:1. Tipe Data Sederhanamerupakan tipe data dasar yang sering dipakai oleh program, meliputi: integer (bilangan bulat), real (bilangan pecahan), char (alphanumerik dan tanda baca), dan boolean (logika). Untuk data integer dan real masing-masing terbagi menjadi beberapa kategoria. Bilangan Integermerupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam tabel 1. tabel 1 menunjukkan jenis data, ukuran dalam memori dan rentang nilainya.tabel 1. Tipe Data Bilangan IntegerTipe DataUkuran TempatRentang NilaiByte1 byte0 s/d +255Shortint1 byte-28 s/d +127integer2 bytes-32768 s/d 32767Word2 bytes0 s/d 65535Longint4 bytes2147483648 s/d 2147483647Contoh bilangan integer adalah: 34 6458 -90 0 1112 Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai longint(4 byte). Di dalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya di dalam programnya tanpa harus terlebih dahulu mendefinisikannya.-MaxInt bernilai 32.767-MaxLongint bernilai 2.147.483.647.contoh:Program display_maxint;uses wincrt;begin writeln (maxint)end.Hasilnya: 32.767b. Bilangan RealBilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2. Penggolongan tipe data bilangan real dapat dilihat pada tabel 2.tabel 2. Bilangan RealTipe DataUkuran TempatRentang Nilaireal6 bytes2.9 x 10-39 s/d 1.7 x1038single4 bytes1.5 x 1045 s/d 3.4 x 1038double8 bytes5.0 x 10-324 s/d 1.7 x 10308extended10 bytes3.4 x 10-4932 s/d 1.1 x 104932comp8 bytes-9.2x 1018 s/d 9.2x 1018c. Chartipe data ini menyimpan karakter yang diketikkan dari keyboard, memiliki 266 macam yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange). Contoh: ‘a’ ‘B’ ‘+’, dsb. Yang perlu diingat bahwa dalam menuliskannya harus dengan memakai tanda kutip tunggal. Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte untuk masing-masing data.

Compiler -3


Teknik kompilasi


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.Tentu saja akan timbul pertanyaan “apa yang salah dalam pengajaran kompilasi ???” (INGAT SAYA TIDAK INGIN MENDISKREDITKAN SIAPAPUN DALAM PERNYATAAN INI). Hanya mencoba mencari langkah perbaikan yang mungkin bisa diterapkan.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.

kompiler -2


Kata "Basic" merupakan bagian bahasa BASIC (Beginners All-purpose Symbolic Instruction Code), yaitu sebuah bahasa pemrograman yang dalam sejarahnya sudah banyak digunakan oleh para programmer untuk menyusun aplikasi. Visual Basic dikembangkan dari bahasa pemrograman BASIC dan sekarang banyak berisi statemen, fungsi, dan keyword, yang beberapa diantaranya terhubung ke Windows GUI. Versi terbaru program ini menggunakan nomor versi 6.0

Guna menyusun sebuah aplikasi, kita hanya membutuhkan beberapa menit saja. Dengan membuat user interface melalui kontrol "drawing", seperti halnya text box dan command button, dalam sebuah form. Selanjutnya kita dapat mengatur properti untuk form dan kontrol yang ada di dalamnya. Misalnya memberi nilai caption, color, dan size. Untuk proses terakhir, kita dapat menuliskan kode untuk memasukkannya ke dalam sebuah aplikasi.

Jika kita sudah mengetahui urutan proses pembuatan aplikasi diatas, hal ini akan membantu untuk mengetahui konsep di mana Visual Basic membangun sebuah aplikasi. Karena Visual Basic merupakan bahasa pemrograman Windows, yang telah lama "bersahabat" dengan para pemakainya dan banyak menyediakan fasilitas yang dibutuhkan penggemarnya, hal ini akan memudahkan programmer versi BASIC. Jika kita seorang programmer Windows baru, masih memerlukan pemahaman yang mendasar dari sebuah program.

Visual Basic 6.0 dapat digunakan dalam tiga edisi, dimana setiap edisinya menunjukkan fasilitas dan kemampuan sendiri-sendiri.
Edisi Learning
Di dalam edisi ini para programmer diberi kesempatan untuk membuat sebuah aplikasi sederhana Microsoft Windows dan Windows NT secara mudah. Di dalamnya disertakan beberapa kontrol sederhana, ditambah grid, tab, dan kontrol data-bound.

Edisi Professional
Di dalam edisi ini disertakan tool-tool yang lengkap. Di samping berisi semua fasilitas yang ada dalam edisi Learning, juga ditambah kontrol ActiveX, Desainer Aplikasi Informasi Internet, Integrated data Tools dan Data Environment, Active Data Objects, serta Dynamic HTML Page Designer.

Edisi Enterprise
ini memberikan ijin kepada para profesional untuk membuat aplikasi dalam sebuah tim. di dalamnya dimasukkan semua fasilitas yang ada pada edisi Professional, ditambah tool Back Office seperti SQL Server, Microsoft Transaction Server, Internet Information Server, Visual SourceSafe, SNA Server, dan masih banyak yang lainnya.

biometric -5


Biometric merupakan teknik authentikasi yang mengambil karakteristik fisik seseorang. Ada beberapa teknik yang sering digunakan dalam authentikasi biometric. Beberapa diantara-nya adalah:* Pengenalan sidik jari, barangkali termasuk yang paling cost effective akan tetapi tetap mempertahankan tingkat keamanan yang tinggi dan kemudahan untuk penggunaan. Beberapa peralatan yang di pamerkan juga memperlihatkan sensor sidik jari yang terpasang pada mouse, pintu dll.* Pengenalan sidik jari dapat dikembangkan lebih lanjut untuk pengenalan telapak tangan. Seperti yang sering kita lihat dalam film-film detektif / action luar negeri.* Pengenalan Suara (Voice Scan) merupakan teknik lain yang merupakan bagian dari voice recognition. Tentunya teknik ini harus di perhalus untuk keperluan authentikasi, untuk keperluan non-authentikasi sudah di kenal dalam dunia telekomunikasi untuk automatisasi layanan pelanggan berdasarkan perintah suara.* Pengenalan muka (facial scan) merupakan teknik authentikasi lainnya yang akan mengenal muka seseorang dari hasil pengindraan kamera digital.* Signature Verification (verifikasi tanda tangan) dapat juga dilakukan secara otomatis menggunakan teknik pengenalan citra digital.* Iris Scan & Retina Scan, melakukan verifikasi dari retina mata – menurut sebagian peneliti tampaknya scan retina ini merupakan teknik yang termasuk paling ampuh untuk melakukan authentikasi di bandingkan sidik jari.* Keystroke Dynamik – merupakan teknik authentikasi yang paling unik karena teknik ini melihat cara kita mentik password di atas keyboard. Kebetulan saya sempat melihat sendiri dari dekat di COMDEX 2000 Las Vegas, jadi sistem akan belajar terlebih dulu dari sekitar 20-30 keystroke password yang kita masukan, jadi walaupun password kita di curi orang, si pencuri tidak akan bisa membobol sistem kita karena cara masing-masing orang dalam men-tik di papan keytboard akan selalu berbeda satu dengan lainnya. Perbedaan ini yang di deteksi oleh keystroke dynamic ini.Umumnya para vendor juga telah mengembangkan teknik-teknik proteksi supaya sensor untuk scan berbagai bagian tubuh ini tidak tertipu mentah-mentah oleh maling / pencuri. Contohnya untuk scan sidik jari, sensor di lengkapi fasilitas pendeteksi pantulan kulit yang benar agar tidak tertipu jika pembobol menggunakan sarung tangan dengan sidik jari pengguna.