Rabu, 13 April 2011

model linguistik



MODEL LINGUISTIK
Interaksi user dengan komputer dapat dipandang dari segi language, beberapa formalisasi model menggunakan konsep ini. Grammar BNF paling sering digunakan untuk melakukan dialog.

Backus-Naur Form (BNF)
• Memandang dialog pada level sintaksis, mengabaikan semantik dari
bahasa tersebut.

Contoh: Fungsi menggambar garis pada sistem grafik :
draw-line ::= select-line + choose-points + last-point
select-line ::= position-mouse + CLICK-MOUSE
choose-points ::= choose-one | choose-one + choose-points
choose-one ::= position-mouse + CLICK-MOUSE
last-point ::= position-mouse + DOUBLE-CLICK-MOUSE
position-mouse ::= empty | MOVE-MOUSE + position-mouse.

• Non-terminals (huruf kecil) adalah abstraksi level tinggi dimana dapat
terdiri dari non-terminal lainnya dan terminal dalam format:
name ::= expression
• Terminals (huruf besar), merepresentasikan level terendah dari user
behaviour
• Operator ‘+’ adalah sequence, ‘|’ adalah choice

• Deskripsi BNF dapat dianalisa dengan mengukur jumlah rules dan
operatornya
• Pengukuran kompleksitas untuk bahasa secara keseluruhan, BNF dapat
digunakan untuk menentukan berapa banyak tindakan dasar yang
dibutuhkan dalam tugas tertentu, dan mendapatkan estimasi kasar
kesulitan (difficulty) dari tugas
Task-Action Grammar (TAG)
• BNF mengabaikan kelebihan konsistensi dalam struktur language dan
dalam menggunakan nama perintah
Contoh:
3 UNIX command:
copy ::= ‘cp’ + filename + filename | ‘cp’ + filename + directory
move ::= ‘mv’ + filename + filename | ‘mv’ + filename + directory
link ::= ‘ln’ + filename + filename | ‘ln’ + filename + directory

BNF tidak dapat membedakan konsistensi dan inkonsistensi command (misal: ln mengambil argumen direktori lebih dahulu). Dengan TAG dapat diatasi dengan mengubah deskripsinya :

File-op [Op] := command-op[Op]+ filename + filename
| command-op[Op] + filename + directory
command-op[Op=copy] := ‘cp’
command-op[Op=move] := ‘mv’
command-op[Op=link] := ‘ln’

• TAG mengatasi masalah ini dengan menyertakan parametrized grammar
rules untuk konsistensi dan pengetahuan umum user (seperti atas
lawan dari bawah)

Contoh: Dua command line interface untuk menggerakkan robot di atas lantai

Command interface 1
movement [Direction] := command[Direction] + distance + RETURN
command[Direction=forward] := ‘go 395’
command[Direction=backward] := ‘go 013’
command[Direction=left] := ‘go 712’
command[Direction=right] := ‘go 956’
Command interface 2
movement [Direction] := command[Direction] + distance + RETURN
command[Direction=forward] := ‘FORWARD’
command[Direction=backward] := ‘BACKWARD’
command[Direction=left] := ‘LEFT’
command[Direction=right] := ‘RIGHT’


mengoreksi spasi antar kata menggunakan editor 'vi' UNIX


Contoh:
Tugas editing menggunakan editor ‘vi’ UNIX.
Tugasnya mengoreksi spasi antar kata.


Production rules CCT:
(SELECT-INSERT-SPACE
IF (AND (TEST-GOAL perform unit task)
(TEST-TEXT task is insert space)
(NOT (TEST-GOAL insert space))
(NOT (TEST-NOTE executing insert space)))
THEN ( (ADD-GOAL insert space)
(ADD-NOTE executing insert space)
(LOOK-TEXT task is at %LINE %COL)))
(INSERT-SPACE-DONE
IF (AND (TEST-GOAL perform unit task)
(TEST-NOTE executing insert space)
(NOT (TEST-GOAL insert space)))
THEN ( (DELETE-NOTE executing insert space)
(DELETE-GOAL perform unit task)
(UNBIND %LINE %COL))
(INSERT SPACE-1
IF (AND (TEST-GOAL insert space)
(NOT (TEST-GOAL move cursor))
(NOT (TEST-CURSOR %LINE %COL)))
THEN ( (ADD-GOAL move cursor to %LINE %COL)))
(INSERT SPACE-2
IF (AND (TEST-GOAL insert space)
(TEST-CURSOR %LINE %COL))
THEN ( (DO-KEYSTROKE ‘I’)
(DO-KEYSTROKE SPACE)
(DO-KEYSTROKE ESC)
(DELETE-GOAL insert space)))

contoh membuat laporan penjualan buku imk


Contoh: Membuat laporan penjualan Buku IMK
Procedure report
Gather data
Find book names
Do keywords search of name database
<>
shift through names & abstracts by hand
<>
search sales database
<>
layout tables and histograms
<>
Write description
<>

cluster komputer


Cluster, dalam ilmu komputer dan jaringan komputer adalah sekumpulan komputer (umumnya server jaringan) independen yang beroperasi serta bekerja secara erat dan terlihat oleh klien jaringan seolah-olah komputer-komputer tersebut adalah satu buah unit komputer. Proses menghubungkan beberapa komputer agar dapat bekerja seperti itu dinamakan dengan Clustering. Komponen cluster biasanya saling terhubung dengan cepat melalui sebuah interkoneksi yang sangat cepat, atau bisa juga melalui jaringan lokal (LAN).
Karena menggunakan lebih dari satu buah server, maka manajemen dan perawatan sebuah cluster jauh lebih rumit dibandingkan dengan manajemen server mainframe tunggal yang memiliki skalabilitas tinggi (semacam IBM AS/400), meski lebih murah.

Kategori kluster computer
Kluster komputer terbagi ke dalam beberapa kategori, sebagai berikut:
  • Kluster untuk ketersediaan yang tinggi (High-availability clusters)
  • Kluster untuk pemerataan beban komputasi (Load-balancing clusters)
  • Kluster hanya untuk komputasi (Compute clusters)
  • Grid computing

High-availability cluster

High-availability cluster, yang juga sering disebut sebagai Failover Cluster pada umumnya diimplementasikan untuk tujuan meningkatkan ketersediaan layanan yang disediakan oleh kluster tersebut. Elemen kluster akan bekerja dengan memiliki node-node redundan, yang kemudian digunakan untuk menyediakan layanan saat salah satu elemen kluster mengalami kegagalan. Ukuran yang paling umum dari kategori ini adalah dua node, yang merupakan syarat minimum untuk melakukan redundansi. Implementasi kluster jenis ini akan mencoba untuk menggunakan redundansi komponen kluster untuk menghilangkan kegagalan di satu titik (Single Point of Failure).
Ada beberapa implementasi komersial dari sistem kluster kategori ini, dalam beberapa sistem operasi. Meski demikian, proyek Linux-HA adalah salah satu paket yang paling umum digunakan untuk sistem operasi GNU/Linux.
Dalam keluarga sistem operasi Microsoft Windows NT, sebuah layanan yang disebut dengan Microsoft Cluster Service (MSCS) dapat digunakan untuk menyediakan kluster kategori ini. MSCS ini diperbarui lagi dan telah diintegrasikan dalam Windows 2000 Advanced Server dan Windows 2000 Datacenter Server, dengan nama Microsoft Clustering Service. Dalam Windows Server 2003, Microsoft Clustering Service ini ditingkatkan lagi kinerjanya.
Load balancing cluster
Kluster kategori ini beroperasi dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node yang bekerja di belakang (back-end node). Umumnya kluster ini akan dikonfigurasikan sedmikian rupa dengan beberapa front-end load-balancing redundan. Karena setiap elemen dalam sebuah kluster load-balancing menawarkan layanan penuh, maka dapat dikatakan bahwa komponen kluster tersebut merupakan sebuah kluster aktif/kluster HA aktif, yang bisa menerima semua permintaan yang diajukan oleh klien.
Compute Cluster
Seringnya, penggunaan utama kluster komputer adalah untuk tujuan komputasi, ketimbang penanganan operasi yang berorientasi I/O seperti layanan Web atau basis data. Sebagai contoh, sebuah kluster mungkin mendukung simulasi komputasional untuk perubahan cuaca atau tabrakan kendaraan. Perbedaan utama untuk kategori ini dengan kategori lainnya adalah seberapa eratkah penggabungan antar node-nya. Sebagai contoh, sebuah tugas komputasi mungkin membutuhkan komunikasi yang sering antar node--ini berarti bahwa kluster tersebut menggunakan sebuah jaringan terdedikasi yang sama, yang terletak di lokasi yang sangat berdekatan, dan mungkin juga merupakan node-node yang bersifat homogen. Desain kluster seperti ini, umumnya disebut juga sebagai Beowulf Cluster.
Ada juga desain yang lain, yakni saat sebuah tugas komputasi hanya menggunakan satu atau beberapa node saja, dan membutuhkan komunikasi antar-node yang sangat sedikit atau tidak ada sama sekali. Desain kluster ini, sering disebut sebagai "Grid". Beberapa compute cluster yang dihubungkan secara erat yang didesain sedemikian rupa, umumnya disebut dengan "Supercomputing". Beberapa perangkat lunak Middleware seperti MPI atau Parallel Virtual Machine (PVM) mengizinkan program compute clustering agar dapat dijalankan di dalam kluster-kluster tersebut.
Grid computing
Grid pada umumnya adalah compute cluster, tapi difokuskan pada throughput seperti utilitas perhitungan ketimbang menjalankan pekerjaan-pekerjaan yang sangat erat yang biasanya dilakukan oleh Supercomputer. Seringnya, grid memasukkan sekumpulan komputer, yang bisa saja didistribusikan secara geografis, dan kadang diurus oleh organisasi yang tidak saling berkaitan.
Grid computing dioptimalkan untuk beban pekerjaan yang mencakup banyak pekerjaan independen atau paket-paket pekerjaan, yang tidak harus berbagi data yang sama antar pekerjaan selama proses komputasi dilakukan. Grid bertindak untuk mengatur alokasi pekerjaan kepada komputer-komputer yang akan melakukan tugas tersebut secara independen. Sumber daya, seperti halnya media penyimpanan, mungkin bisa saja digunakan bersama-sama dengan komputer lainnya, tapi hasil sementara dari sebuah tugas tertentu tidak akan mempengaruhi pekerjaan lainnya yang sedang berlangsung dalam komputer lainnya.
Sebagai contoh grid yang sangat luas digunakan adalah proyek Folding@home, yang menganalisis data yang akan digunakan oleh para peneliti untuk menemukan obat untuk beberapa penyakit seperti Alzheimer dan juga kanker. Proyek lainnya, adalah SETI@home, yang merupakan proyek grid terdistribusi yang paling besar hingga saat ini. Proyek SETI@home ini menggunakan paling tidak 3 juta komputer rumahan yang berada di dalam komputer rumahan untuk menganalisis data dari teleskop radio observatorium Arecibo (Arecibo Observatory radiotelescope), mencari bukti-bukti keberadaan makhluk luar angkasa. Dalam dua kasus tersebut, tidak ada komunikasi antar node atau media penyimpanan yang digunakan bersama-sama.

Implementasi
Daftar semi-tahunan organisasi TOP500, yang mencantumkan 500 komputer tercepat di dunia umumnya mencakup banyak kluster. TOP500 adalah sebuah kolaborasi antara Universitas Mannheim, Universitas Tennessee, dan National Energy Research Scientific Computing Center di Lawrence Berkeley National Laboratory. Hingga 18 Juni 2008, superkomputer tercepat yang tercatat di dalam TOP500 adalah sistem Roadrunner yang dimiliki oleh Department of Energy Amerika Serikat, yang kinerjanya mencapai 1026 TeraFlops (Triliun Floating Point Operation per Second) dalam benchmark High-Performance LINPACK.



OGRE (Object – Oriented Graphics Rendering Engine) adalah engine yang object oriented dan flexibel 3D rendering pada game engine yang ditulis dalam bahasa C++ serta didesain untuk mampu men-develop dengan intuitif dan mudah kepada aplikasi produk dengan menggunakan utility hardware-accelerated 3D graphic. OGRE menggunakan library seperti Direct3D dan OpenGL, serta menyediakan sebuah dasar interface di dunia object dan class object yang lebih tinggi.
            Cara Menginstal OGRE.
Ada beberapa tahapan yang harus dilakukan agar aplikasi OGRE dapat berjalan dan ada beberapa aplikasi lain yang juga harus diinstall. Tujuannya adalah untuk membuat aplikasi Ogre3D dapat berjalan di Eclipse, sebuah lingkungan pemrograman yang ditulis dalam bahasa Java. Kita akan membutuhkan komponen-komponen berikut.

Eclipse.
AC / C + + ekstensi untuk Eclipse, WIT. Untuk program C + + di Eclipse, instal ekstensi CDT.
Sebuah kompiler, GCC (MinGW)
CDT bekerja dengan GCC, compiler gnu koleksi, awalnya ditulis untuk platform unix (seperti linux atau FreeBSD). Untuk menjalankannya di windows, kita perlu menciptakan lingkungan unix di windows agar gcc dapat berjalan. Ada dua pilihan.  Salah satu pilihan adalah Cygwin, yang hanya menerjemahkan semua sistem unix panggilan ke panggilan sistem windows, yang memungkinkan semua program unix untuk berjalan di windows. Pilihan kedua, kita akan gunakan adalah MinGW. MinGW merupakan kumpulan alat pengembangan linux (seperti compiler dan file header) yang terdiri dari gcc untuk windows.

MSYS
tool yang digunakan untuk mengkonfigurasi gcc. MSYS mengkonfigurasikan gcc di bawah platform windows.
The Ogre SDK, Code:: Blocks versi
Untuk membuat program OGRE, kita perlu OGRE SDK. Ada beberapa SDK precompiled yang tersedia untuk platform pengembangan yang berbeda. Tidak ada SDK khusus untuk Eclipse.

Install Eclipse
Sistem dasar Eclipse akan menampilkan lingkungan pemrograman Java yang dapat ditambahkan untuk bahasa lain. Install Eclipse, untuk praktikum kali ini, user menggunakan Eclipse Helios versi Eclipse IDE untuk C / C++ Developer. User dapat mendownload Eclipse IDE untuk C / C++ Developer, dengan C/C++ Development Tools Plugin sudah termasuk dalam paket installasi. Setelah didownload, extrak file tersebut dan jalankan Eclipse.exe .

Install MinGW
MinGW adalah aplikasi gcc untuk Windows. Aplikasi ini seluruhnya berada dalam satu direktori. User akan menggunakan C:/mingw sebagai direktori file. Dalam direktori ini terdapat beberapa subdirektori seperti bin dan libs. MinGW terdiri dari beberapa paket distribusi yang masing-masing memiliki file dalam satu atau lebih dari direktori ini. untuk menginstall paket baru, cukup ekstrak ke direktori (misal) C:/mingw. Kemudian user perlu menambahkan direktori ini ke PATH variabel Windows juga, caranya:
Klik kanan My Computer – Properties – Advanced – Environmental Variables
Klik Path variable. Klik Edit, Add “;c:\mingw\bin” (tanpa tanda petik) pada Variable value. Tanda kutip ganda digunakan untuk memisahkan direktori yang berbeda.







Install MYSYS
Setelah mendownload MYSYS.1.0.10.exe maka install ke direktori C:\msys. Skrip instalasi akan meminta anda untuk memberitahukan dimana anda menginstall MinGW. Agar program MYSYS dapat dijalankan dimana saja, maka user perlu menambahkan direktori ini ke PATH windows juga. Caranya:
Klik kanan My Computer – Properties – Advanced – Environmental Variables.
Klik Path variable. Edit, tambahakan “;c\mysys\bin” (tanpa tanda kutip) pada Variable value. Tanda kutip digunakan untuk memisahkan direktori yang berbeda.



Untuk mengecek apakah hasil instalasi kita dapat bekerja dengan benar, maka user dapat mengeceknya melalui Command Prompt dan ketikkan perintah berikut:
“gcc –v”
“rm –versi”
Untuk kedua file, user harus mendapatkan beberapa informasi versi. Jika user mendapatkan pesan “is not recognized as an internal or external command, operable program or batch file” , itu artinya Windows tidak dapat menemukan program yang telah kita install. Periksa apakah Path variable telah diatur dengan benar.
Install OgreSDK
Untuk membuat aplikasi Ogre3D kita harus menginstall OgreSDK. Download OGRE SDK for Code::Blocks + MinGW C++ Toolbox, kemudian install di suatu tempat. Disini user akan menggunakan C:\ogreSDK.
Mengkonfigurasi OgreSDK
Pada Eclipse, pilih menu Window – Preferences – C/C++ à environment.
Klik tombol New. Beri nama OgreSDK. Lokasi: C:\ogreSDK.
Untuk menghentikan auot-building projects pada Eclipse yaitu dengan: klik Project – uncheck ‘Build Automatically’
Membuat sebuah Projek Baru
Selanjutnya kita akan membuat sebuah Hello World project untuk mengetahui apakah eclipse telah dapat mendeteksi compiler MinGW yg telah diinstal.
Setelah itu kita buat project baru dengan menekan alt+shift+n lalu pilihlah C++ Project, perhatikan gambar berikut :

















AUTOMATA Adalah suatu sistem yang terdiri atas sejumlah berhingga state yang mempelajari tentang mesin abstrak yang menerima input dan mengeluarkan output dalam bentuk diskret (satu per satu)

  1. State adalah suatu kondisi yang menyatakan informasi mengenai input yang lalu.
  2. State dianggap sebagai memori mesin.
  3. Input pada otomata dianggap sebagai batas yang harus dikenali oleh mesin



Teori Otomata dan bahasa formal, berkaitan dalam hal :

  • Pembangkitan kalimat/generation : menghasilkan semuakalimat dalam bahasa L berdasarkan aturan yang dimilikinya
  • Pengenalan kalimat / recognition: menentukan suatu string (kalimat) termasuk sebagai salah satu anggota himpunan L



Beberapa Sifat Operasi

  1. Tidak selalu berlaku : x= Prefix(x)Postfix(x)
  2. Selalu berlaku : x= Head(x)Tail(x)
  3. Tidak selalu berlaku : Prefix(x) = Postfix(x) atau Prefix(x) Postfix(x)
  4. Selalu berlaku :

ProperPrefix(x) ProperPostfix(x)

  • Selalu berlaku : Head(x) Tail(x)
  • Setiap Prefix(x), ProperPrefix(x), Postfix(x), ProperPostfix(x), Head(x), dan Tail(x) adalah Substring(x), tetapi tidak sebaliknya.


Operasi Dasar String
Diberikan dua string : x= abc, dan y= 123

  • Prefik string wadalah string yang dihasilkan dari string wdengan menghilangkan nol atau lebih simbol-simbol paling belakang dari string w tersebut.

Contoh : abc, ab, a, dan adalah semua Prefix(x)

  • ProperPrefix string w adalah string yang dihasilkan dari string wdengan menghilangkan satu atau lebih simbol-simbol paling belakang dari string w tersebut.

Contoh : ab, a, dan adalah semua ProperPrefix(x)

  • Postfix (atau Sufix) string wadalah string yang dihasilkan dari string wdengan menghilangkan nol atau lebih simbol-simbol paling depan dari string wtersebut.
  • ProperSubstring string wadalah string yang dihasilkan dari string wdengan menghilangkan satu atau lebih simbol-simbol paling depan dan/atau simbol-simbol paling belakang dari string wtersebut.


Contoh : ab, bc, a, b,c, dan adalah semua Substring(x)

  • Subsequence string wadalah string yang dihasilkan dari string wdengan menghilangkan nol atau lebih simbol-simbol dari string wtersebut.

Contoh : abc,ab, bc, ac, a, b,c, dan adalah semua Subsequence(x)

  • ProperSubsequence string wadalah string yang dihasilkan dari string wdengan menghilangkan satu atau lebih simbol-simbol dari string wtersebut.

Contoh : ab, bc, ac, a, b,c, dan adalah semuaSubsequence(x)


Concatenation adalah penyambungan dua buah string. Operator concatenation adalah concate atau tanpa lambang apapun
Contoh : concate(xy) = xy = abc123

  • Alternation adalah pilihan satu di antara dua buah string. Operator alternation adalah alternate atau 

Contoh : alternate(xy) = xy = abc atau123

  • Kleene Closure : x* = xxxxxx… = xxx…
  • Positive Closure : x= xxxxxx… = xxx…






Senin, 04 April 2011

Pembuatan karakter Game Skatter J2ME memakai photoshop CS4 portable


Postingan kali ini.Saya akan membuat sebuat kharakter dari game skatter...pembauatan karakter ini hasil yang akan diolah  dari photoshop...pertama - tama printscreen beberapa photo dari game skatter untuk di edit di photoshop...inilah foto-fotonya








object  orang tersebut di edit dengan tools magnetic tools, lalu object tersebut dipindah kan ke kanvas berukuran 800x600 piksel dengan bantuan pencahayaan dan ketajaman gambar memakar sharp yang ada di menu bar...maka hasilnya dibawah ini