Selasa, 21 Juni 2016

USER INTERFACE PADA GAME KOMPUTER




Antarmuka (Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka (Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. Antarmuka (Interface)  berfungsi untuk menginput pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara berurutan  sehingga pengguna mengerti apa yang akan dilakukan terhadap suatu sistem.

Desain user interface dalam game berbeda dari desain user interface lainnya karena melibatkan unsur tambahan fiksi. Fiksi melibatkan avatardari pengguna yang sebenarnya atau player. Sebuah desain interface pada suatu game mempengaruhi kenyamanan dan sejauh mana user atau pemain meminati game tersebut.  Dalam user interface game, terdapat sebuah teori yang dikemukakkan oleh Erik Fagerholt dan Magnus Loretzon dari Chalmers University of Technology. Dalam tesisnya mereka menulis tesis tentang desain user interface berjudul Beyond the HUD – User Interfaces for Increased Player Immersion in FPS Games. Mereka memperkenalkan istilah berbagai jenis interface yang berkaitan dengan desain video game.

HUD itu sendiri kepanjangan dari Heads – up display, merupakan metode dimana informasi secara visul disampaikan kepada pemain sebagai bagian dari antarmukan pengguna permainan. Biasanya menunjukkan bar/kotak HP(Health Point) ataupun MP(Mana Point) dan biasanya muncul  di atas kepala karakter. Fungsi HUD ini untuk memudahkan pemain mengetahui kondisi karakter dalam permainan.


Dalam desain antarmuka game terdapat beberapa elemen yang diantaranya
adalah  :

1.    Diagetic
Desain antarmuka yang termasuk dalam permainan game  yaitu yang dapat dilihat dan didengar oleh karakter dalam permainan. Yang dimaksudkan pada antarmuka diagetic ini segala sesuatu yang terlihat terkecuali elemen-elemen non-diegetic seperti HUD, Kursor mouse, Informasi dari Komputer, dll Contoh: Interface  dalam game Dead Space :

Game Dead Space tanpa adanya unsur non-diegetic.


2.    Non-diegetic
Desain  Antarmuka yang diberikan sebagai tambahan di luar dunia game itu sendiri, hanya terlihat dan terdengar ke pemain di dunia nyata. Sehingga seakan-akan karakter dalam dunia game tidak melihatnya Contoh: Elemen HUD, kursor mouse, mini map, skills, dll.

Non-diegetic pada game TOR.

3.    Spatial
Elemen User Interface yang disajikan dalam ruang permainan 3D dengan atau tanpa suatu entitas dari dunia permainan yang sebenarnya (diegetik atau non-diegetik). Outline karakter dalam Left 4 Dead adalah contoh dari non-diegetik User Interface spatial.

Gb4.Outline kuning pada pemain(Spatial).

  
4.    Meta
Gambaran yang bisa muncul dalam dunia game, namun tidak selalu divisualisasikan spasial untuk pemain.Contoh yang paling jelas adalah efek ditampilkan di layar, seperti percikan darah pada kamera untuk menunjukkan kerusakan. Contoh: Game Duty Calls - The Calm Before the Storm.

Minggu, 12 Juni 2016

UBIQUITOUS COMPUTING

Pada kesempatan kali ini daya akan menjelaskan mengenai Ubiquitous Computing, perbedaan Ubiquitous Computing dengan Cloud Computing, Mobile Computing, dan Grid Computing, Aspek-aspek yang mendukung Ubiquitous Computing, dan apakah di Indonesia sudah mendukung adanya Ubiquitous Computing.

Ubiquitous Computing


Definisi dari Ubiquitous Computing adalah penggunaan komputer yang tersebar di mana user berada. Sejumlah komputer disatukan dalam suatu lingkungan dan tersedia bagi setiap orang yang berada di lokasi tersebut. Setiap komputer dapat melakukan pekerjaan yang dipersiapkan untuk tidak banyak melibatkan intervensi manusia atau bahkan tanpa harus mendeteksi di mana pemakai berada.

Perbedaan Mobile, Grid,  Cloud, dan  Ubiquitous computing :
  • Mobile computing menggunakan teknologi mobile untuk menjalankannya seperti handphone, carputer dan ultra mobile PC, sedangkan grid dan cloud computing menggunakan PC pada umumnya untuk menjalankannya.
  • Biaya untuk pengadaan energi bagi mobile computing cenderung lebih mahal dibanding grid dan cloud computing apabila tidak ada sumber daya listrik karena membutuhkan sumber daya pengganti yaitu baterei.
  • Mobile computing tidak terlalu membutuhkan tempat yang besar untuk mengoperasikannya dibanding grid dan cloud computing karena cenderung portable dan mudah dibawa kemana saja.
  • Pada mobile computing, proses komputasi cenderung dilakukan sendiri oleh user. Pada grid computing, proses komputasi dilakukan terpusat maupun tidak terpusat dimana consumer membutuhkan discovery server. Pada cloud computing, proses komputasi membutuhkan ASP dan internet sebagai media penghubung.
  • Ubiquitous Computing secara terminologi berarti “komputasi dimanamana”, yang berarti kita dapat melakukan komputasi dimana saja dan kapan saja, tanpa perlu berada di depan perangkat komputer (off the desktop).
Aspek-aspek yang Mendukung Pengembangan Ubiquitous Computing :
            1.  Natural Interfaces
Sebelum adanya konsep ubicomp sendiri, selama bertahun-tahun kita telah menjadi saksi dari berbagai riset tentang natural interfaces, yaitu penggunaan aspek-aspek alami sebagai cara untuk memanipulasi data, contohnya teknologi semacam voice recognizer ataupun pen computing. Saat ini implementasi dari berbagai riset tentang input alamiah beserta alat-alatnya tersebut yang menjadi aspek terpenting dari pengembangan ubicomp.
Kesulitan utama dalam pengembangan natural interfaces adalah tingginya tingkat kesalahan (error prone). Dalam natural interfaces, input mempunyai area bentuk yang lebih luas, sebagai contoh pengucapan vokal “O” oleh seseorang bisa sangat berbeda dengan orang lain meski dengan maksud pengucapan yang sama yaitu huruf “O”. Penulisan huruf “A” dengan pen computing bisa menghasilkan ribuan kemungkinan gaya penulisan yang dapat menyebabkan komputer tidak dapat mengenali input tersebut sebagai huruf “A”. Berbagai riset dan teknologi baru dalam Kecerdasan Buatan sangat membantu dalam menemukan terobosan guna menekan tingkat kesalahan (error) di atas. Algoritma Genetik, Jaringan Saraf Tiruan, dan Fuzzy Logic menjadi loncatan teknologi yang membuat natural interfaces semakin “pintar” dalam mengenali bentuk-bentuk input alamiah.

           2.  Wireless Computing
Komputasi nirkabel mengacu pada penggunaan teknologi nirkabel untuk menghubungkan komputer ke jaringan. Komputasi nirkabel sangat menarik karena memungkinkan pekerja terlepas dari kabel jaringan dan mengakses jaringan dan layanan komunikasi dari mana saja dalam jangkauan jaringan nirkabel. Komputasi nirkabel telah menarik minat pasar yang sangat besar, seperti saat ini banyaknya permintaan konsumen untuk jaringan rumah secara nirkabel.

           3.  Context Aware Computing
Context aware computing adalah salah satu cabang dari ilmu komputer yang memandang suatu proses komputasi tidak hanya menitikberatkan perhatian pada satu buah obyek yang menjadi fokus utama dari proses tersebut tetapi juga pada aspek di sekitar obyek tersebut. Sebagai contoh apabila komputasi konvensional dirancang untuk mengidentifikasi siapa orang yang sedang berdiri di suatu titik koordinat tertentu maka komputer akan memandang orang tersebut sebagai sebuah obyek tunggal dengan berbagai atributnya, misalnya nomor pegawai, tinggi badan, berat badan, warna mata, dan sebagainya.
Di lain pihak Context Aware Computing tidak hanya mengarahkan fokusnya pada obyek manusia tersebut, tetapi juga pada apa yang sedang ia lakukan, di mana dia berada, jam berapa dia tiba di posisi tersebut, dan apa yang menjadi sebab dia berada di tempat tersebut. Dalam contoh sederhana di atas tampak bahwa dalam menjalankan instruksi tersebut, komputasi konvensional hanya berfokus pada aspek “who”, di sisi lain Context Aware Computing tidak hanya berfokus pada “who” tetapi juga “when”, “what”, “where”, dan “why”.
Context Aware Computing memberikan kontribusi signifikan bagi ubicomp karena dengan semakin tingginya kemampuan suatu device merepresentasikan context tersebut maka semakin banyak input yang dapat diproses berimplikasi pada semakin banyak data dapat diolah menjadi informasi yang dapat diberikan oleh device tersebut.

           4.  Micro-nano technology
Perkembangan teknologi mikro dan nano, yang menyebabkan ukuran microchip semakin mengecil, saat ini menjadi sebuah faktor penggerak utama bagi pengembangan ubicomp device. Semakin kecil sebuah device akan menyebabkan semakin kecil pula fokus pemakai pada alat tersebut, sesuai dengan konsep off the desktop dari ubicomp. Teknologi yang memanfaatkan berbagai microchip dalam ukuran luar biasa kecil semacam T-Engine ataupun Radio Frequency Identification (RFID) diaplikasikan dalam kehidupan sehari-hari dalam bentuk smart card atau tag. Contohnya seseorang yang mempunyai karcis bis berlangganan dalam bentuk kartu cukup melewatkan kartunya tersebut di atas sensor saat masuk dan keluar dari bis setelah itu saldonya akan langsung didebet sesuai jarak yang dia tempuh.

Apakah di indonesia sudah mendukung Ubiquitous Computing?

       Berdasarkan fakta-fakta yang digambarkan di atas, muncul suatu pemikiran bahwa trend teknologi informasi di Indonesia akan mengarah ke ubiquitous computing yang merupakan konsep dasar dari teknologi Ambient Intelligence. Beberapa faktor yang menjadi pertimbangan akan potensi penggunaan teknologi AmI di Indonesia ini adalah sebagai berikut :
  • Semakin berkembangnya teknologi jaringan khususnya jaringan nirkabel yang memungkinkan transfer data dapat dilakukan dengan lebih cepat dengan biaya yang relatif lebih kecil.
  • Tingkat kemampuan masyarakat dalam menggunakan atau membeli komputer dengan kemampuan tinggi. Walaupun masih terbatas untuk kalangan tertentu, seperti pelajar, mahasiswa, profesional, pelaku bisnis dan sebagainya, namun pemakaiannya sudah semakin menyebar sehingga orang awam pun sudah terbiasa dengan lingkungan di mana komputer merupakan alat bantu dalam kegiatan-kegiatan sehari-hari.
  • Cepatnya perkembangan dan penyebaran teknologi komunikasi di kalangan masyarakat luas memenuhi kebutuhan ubiquitous communication yang merupakan salah satu pilar teknologi Ambient Intelligence.
  • Kebutuhan sumber daya manusia di bidang teknologi informasi yang sudah semakin banyak tersedia. Ketersediaan sumber daya manusia ini didukung oleh semakin berkembangnya sekolah-sekolah tinggi dan universitas-universitas yang khusus mendalami bidang ilmu komputer dan teknologi informasi.
  • Situasi lingkungan yang menuntut tersedianya fasilitas pelayanan yang lebih efisien dan cepat. Jumlah populasi penduduk yang terus meningkat akan menimbulkan masalah kualitas pelayanan dari berbagai instansi yang melayani masyarakat luas. Masalah-masalah tersebut antara lain : antrian yang disebabkan banyaknya orang yang memerlukan layanan yang sama pada saat yang sama, kepadatan lalu-lintas yang juga disebabkan oleh makin banyaknya orang memerlukan layanan. Bukan hanya pelayanan transportasi, tapi juga pelayanan-pelayanan lain yang memerlukan transportasi karena mereka harus datang ke lokasi.



Sumber :








Sabtu, 07 Mei 2016

GRID COMPUTING

Kali ini saya akan menjelaskan mengenai Grid Computing, Persamaan dan Perbedaan Grid Computing dengan Cloud Computing dan Mobile Computing ,Aplikasi yang menerapkan Grid Computing, dan perusahaan yang menerapkan Grid Computing.

Grid Computing


Grid Computing adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis yang berfungsi untuk memecahkan persoalan - persoalan komputasi dalam skala besar

Persamaan Mobile, Grid dan Cloud Computing :

  • Mobile, grid, maupun cloud computing merupakan metode untuk melakukan proses komputasi dan memecahkan sebuah masalah serta menemukan solusinya.
  • Mobile, grid, maupun cloud computing membutuhkan alat pengolah data modern seperti PC, laptop maupun handphone untuk menjalankannya.


Perbedaan Mobile, Grid dan Cloud computing :
  • Mobile computing menggunakan teknologi mobile untuk menjalankannya seperti handphone, carputer dan ultra mobile PC, sedangkan grid dan cloud computing menggunakan PC pada umumnya untuk menjalankannya.
  • Biaya untuk pengadaan energi bagi mobile computing cenderung lebih mahal dibanding grid dan cloud computing apabila tidak ada sumber daya listrik karena membutuhkan sumber daya pengganti yaitu baterei.
  • Mobile computing tidak terlalu membutuhkan tempat yang besar untuk mengoperasikannya dibanding grid dan cloud computing karena cenderung portable dan mudah dibawa kemana saja.
  • Pada mobile computing, proses komputasi cenderung dilakukan sendiri oleh user. Pada grid computing, proses komputasi dilakukan terpusat maupun tidak terpusat dimana consumer membutuhkan discovery server. Pada cloud computing, proses komputasi membutuhkan ASP dan internet sebagai media penghubung.

Perusahaan yang menerapkan Grid Computing :

Oracle adalah perusahaan piranti lunak enterprise terbesar di dunia menyediakan piranti lunak enterprise kepada perusahaan dan organisasi terbesar dan paling sukses di dunia. Oracle menyediakan produk – produk database, application server, colaboration selain enterprise bussiness application dan perangkat application development.
Oracle adalah perusahaan piranti lunak pertama yang mengembangkan dan 100 persen menggunakan piranti lunak enterprise diatas internet diseluruh ini produknya. Sejak diluncurkan database relational pertama didunia pada tahun 1977, oracle telah menjadi bagian penting dalam revolusi teknologi yang secara nyata mengubah bisnis modern.

Aplikasi yang menerapkan Grid Computing :

Oracle 10g
Versi baru dari Oracle ini akan lebih mempermudah perusahaan dalam membangun system komputasi grid diluar kerangka kerja komputasi  akademik, teknik, riset, dan saintifik.Seperti yang telah kita ketahui bahwa Oracle 10g itu terdiri dari OracleDatabase 10g,  Oracle Application 10g, dan Oracle Enterprise Manager 10g. Penggunaan teknik grid pada ketiga produk oracle tersebut biasa diimplementasikan dengan virtualisasi dan provisioning.  Teknik virtualisasi dan provisioning pada ketiga produk Oracle 10g adalah sebagai berikut :
  • Oracle Database 10g, Dengan adanya real application cluster menjadikan database tunggal dapat dijalankan  melintasi titik-titik cluster pada grid dan mengumpulkan sumber daya pemroses dari mesin standar. Proses ini dilakukan secara fleksibel karena data tidak perlu disebarkan dalam  suatu jaringan. Pada Oracle Database10g juga diperkenalkan ASM(Automatic Storage  Management) yang mendukung fungsi penyimpanan virtual dengan menggunakan mirroring dan stripping data secara otomatis. Oracle 10g menyediakan fitur-fitur  pengaksesan terhadap informasi di saat dan di tempat diperlukan, juga menyesuaikan penyedia informasi dan peminta informasi.
  • Oracle Application Server 10g, Disini disediakan platform infrastruktur yang lengkap untuk menjalankan aplikasi perusahaan,mengintegrasikan banyak fungsi seperti J2ME dan web service, portal perusahaan, broker integrasi perusahaan, business intelligence, web caching dan manajemen service. Ketika aplikasidijalankan pada server aplikasi di grid,maka transparansi distribusi beban kerja, pelimpahan beban kerja, dan penjadwalan dilakukan secara efisien dengan melakukan koordinasi pada banyak server.
  • OracleEnterprise Manager 10g, Fasilitas Oracle Grid Control di Oracle EM 10g dapat  mengurangi biaya administrasi melalui proses otomasi dan policy-based standarization. Professional TI dapat menyatukan titik-titik hardware, database, server aplikasi, dan sasaran lain pada entity logik tunggal. Oleh karena itu, keberadaan banyaknya komputer-komputer kecil pada infrastruktur grid tidak menambah kompleksitas pengelolaan.

Rabu, 20 April 2016

ARSITEKTUR GAME ENGINE




Pada kesempatan kali ini saya mendapat kesempatan untuk memposting mengenai "Arsitektur Game Engine" yang berisikan definisi dari arsitektur game engine, game engine, fungsi kegunaan dibuatnya arsitektur game engine, tahap - tahap merancang suatu game, elemen - elemen pada game engine, dan tipe - tipe game engine. Selamat membaca

Arsitektur Game Engine

Arsitektur Game Engine adalah system software yang  dibuat ataupun dirancang untuk menciptakan dan mengembangkan video game, selain itu arsitektur mesin game itu adalah rancangan dari sistem perangkat  lunak dari game itu sendiri. Tahap pertama dalam merancang suatu game adalah :
  • Memilih jenis game yang akan  dibuat agar dapat lebih terfokus dalam mengerjakannya. 
  • Mendesaian game yang akan dibuat. 
  • Mengimplementasikan desain tersebut menjadi  source code.
  • Selanjutnya Bila source telah selesai dirancang, maka game tersebut  dapat dimainkan dan digunakan sesuai yang diinginkan oleh sang pembuat  game. Apakah game tersebut dibuat untuk dikomersilkan atau dikembangkan  oleh orang lain.

Beberapa elemen yang terdapat dalam game engine, yaitu:
a)    Tools/Data
Pada pengembangan game paling tidak dibutuhkan beberapa tools seperti 3D model editor, level editor dan graphics programs. Game engine bisa dikembangkan juga dengan menambahkan beberapa fitur dan code.
b)    System
System adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. System adalah bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system seperti graphics, input, sound, timer, configuration. System bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.
c)    Console
Console dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console biasa digunakan dalam proses debugging, seperti misalnya apabila game engine tersebut mengalami error maka kita hanya mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart.
d)    Support
Support merupakan bagian yang sering digunakan pada system di galam game engine. Support berisikan rumus-rumus matematika yang biasa digunakan, vector, matrix, memory, file loader. Merupakan dasar dari game engine dan hampir digunakan dalam semua project game engine.
e)    Renderer/Engine Core
Renderer/engine core terdiri dari beberapa sub yaitu visibility, collision detection dan response, camera, static geometry, dynamic geometry, particle systems, billboarding, meshes, skybox, lighting, fogging, vertex shading dan output.
f)     Game Interface
Game interface merupakan layer antara game engine dan game itu sendiri. Berfungsi sebagai control yang bertuuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.
g)    The Game
Game merupakan inti dari penggunaan game engine sendiri, sehingga ini tergantung bagaimana pengguna dalam mengembangkannya.

Definisi Game Engine
Game engine adalah sebuah system software yang dibuat atau dirancang untuk menciptakan dan mengembangkan video game. Banyak diantaranya game engine yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti :
·         Microsoft Windows,
·         Linux,
·         Mac OS X.
fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render berbasis 2D maupun 3D grafis, mesin fisika, suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri tetapi diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program.

Tipe-Tipe Game Engine

Game engine biasanya datang dengan macam-macam jenis dan tujuannya. Ada 3  tipe game engine yaitu sebagai berikut :


1. Roll-your-own game engine
Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Terkadang mereka juga membuat semuanya mulai dari nol. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.

2. Mostly-ready game engines
Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.

3. Point-and-click engines
Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya. Beberapa Contoh Game Engine Open Source :
  • 3Dgame Studio
  • Delta 3D
  • UnrealEngine
  • Panda3D
  • Torque
  • Quake Engine




Referensi :

Rabu, 13 April 2016

MOBILE COMPUTING

Kali ini saya akan menjelaskan mengenai Mobile Computing, Aplikasi yang menerapkan Mobile Computing, dan perusahaan yang menerapkan mobile computing

Mobile Computing

Apa itu Mobile Computing? pengertiannya adalah menggunakan komputer dimana saja. Jadi kita dapat menggunakan segala fasilitas yang ada pada komputer untuk dapat dibawa kemana saja. Definisi dari mobile computing itu sendiri adalah kemampuan teknologi untuk menghadapi perpindahan/pergerakan manusia dalam penggunaan komputer secara praktis.

Aplikasi yang menerapkan mobile computing



Aplikasi apa saja yang menerapkan mobile computing tersebut?

BNI SMS BANKING
Merupakan transaksi perbankan kini dapat dilakukan dimanapun anda berada dengan menggunakan ponsel anda, yang berfungsi memudahkan anda dalam melaukan isi ulang pulsa, transer, sampai mambayar tagihan kartu Kredit BNI, jadi tidak perlu lagi ke atm terdekat

Perusahaan yang menerapkan mobile computing


Perusahaan yang saya bahas adalah bukalapak.com merupakan pasar barang yang bersifat online atau dapat dibeli ataupun dijual secara online, yang mampu membuat individu ataupun pemilik usaha untuk membuka usaha seecara online di bukalapak secara mudah dan gratis. Buka lapak merupakan salah satu toko online yang sebelumnya hanya berbentuk web base dan kemudian bergerak kedalam mobile untuk memudahkan pelanggannya dalam mengakses bukalapak.com


Refrensi         :


Rabu, 30 Maret 2016

Konsep Pembuatan Script Game Computer

Game berasal dari bahasa inggris yang berarti permainan. Dalam setiap game terdapat peraturan yang berbeda - beda untuk memulai permainannya sehingga membuat jenis game semakin bervariasi. Karena salah satu fungsi game sebagai penghilang stress atau rasa jenuh maka hampir setiap orang senang bermain game baik anak kecil, remaja maupun dewasa, mungkin hanya berbeda dari jenis game yang dimainkannya saja. Game itu sendiri adalah permainan yang menggunakan media elektronik, merupakan sebuah hiburan berbentuk multimedia yang dibuat semenarik mungkin agar pemain bisa mendapatkan sesuatu sehingga adanya kepuasan batin, dengan bermain game merupakan salah satu sarana pembelajaran. Game dibuat dengan tujuan spesifik sebagai alat pendidikan, untuk belajar mengenal warna, mengenal huruf dan angka, matematika, sampai belajar bahasa asing. Game sendiri mempunyai dampak positif dan negatif pada kehidupan yang memainkannya :
Contoh dampak positif        :
·         Sebagai penghilang stres karena lelah bekerja seharian , mungkin bermain
·         Sebagai media untuk menambah kecerdasan otak dan daya tanggap
Contoh dampak negatif      :
·         Terlalu sering bermain game lupa untuk melakukan pekerjaan yang lainnya , sehingga membuat pekerjaan lain menjadi tertunda .
·         Jika bermain game di komputer terlalu lama akan merusak mata.

Pembentukan ketika proses pembuatan game membutuhkan  susunan yang lebih kompleks, kebutuhan untuk memisahkan konten (desain perilaku) dari mesin. Kehandalan seorang desainer game benar-benar dibutuhkan untuk merancang perilaku yang luas dari karakter. Banyak tersedia berbagai macam bentuk bahasa pemrograman yang ada. Tentunya dari kesemuanya itu memiliki kelebihan dan kekurangan  sendiri-sendiri. Maka game developer harus benar-benar jeli dalam memilih bahasa dan menyusun script untuk membuat suatu game, agar nantinya game dapat berjalan lancar, tanpa bug, dan mampu menjalankan script dengan kebutuhan hardware  seminimum mungkin. Ada 2 cara dalam pembuatan game, yaitu dengan membuat sendiri programnya atau dengan menggunakan game maker yang hanya drag and drop saja. Pembuatan script game bisa dilakukan dengan berbagai bahasa pemrograman.
Pemrograman suatu game bisa menggunakan  berbagai macam jenis bahasa pemrograman. Diantaranya yang terkenal adalah C++, C dan Java. Proses pembuatan game modern bisa memakan waktu 1-3 tahun untuk menyelesaikannya. Lamanya suatu pengembangan bergantung pada sejumlah faktor, seperti genre, skala, platform pengembangan dan jumlah aset. C++ biasa digunakan untuk membuat game engine. Game engine berfungsi sebagai “Middleware” atau jembatan antara Brainware (pembuat game) dan game itu sendiri. Game engine bisa membuat proses pembuatan sebuah game menjadi lebih cepat dan efisien karena game engine layaknya sebuah template yang “reusable”.
A. Pemilihan Bahasa Pemrograman
1. Speed 
Bahasa scripting untuk game harus mampu berjalan secepat mungkin. Jika kita berniat untuk menggunakan banyak script untuk perilakukarakter dan kejadian di level game, maka scriptakan perlu untuk mengeksekusi sebagai bagiandari loop game utama. Ini berarti bahwa scriptyang lambat akan memakan waktu yang kita butuhkan untuk membuat suatu adegan,menjalankan mesin fisika, atau menyiapkan audio.
2. Kompilasi dan Interpretasi (penyusunan dan penafsiran)
Bahasa scripting secara luasdiinterpretasikan,melalui susunan serangkaian byte. Penafsiran bahasa diambil melalui formatteks. Interpreter melihat setiap baris, penyusunan bekerja sesuai yang maksud dari script, danmelakukan tindakan yang spesifik. Bahasa byte-terkompilasi dikonversi dari teks ke formatinternal, yang disebut byte code. Kode byte biasanya jauh lebih padat daripada format teks.Karena kode byte dalam suatu formatdioptimalkan ketika dieksekusi, agar dapat berjalan lebih cepat.
3. Ekstensibilitas dan Integrasi
Bahasa scripting perlu memiliki akses kefungsi yang signifikan ke dalam game. Sebuah script yang mengendalikan karakter, misalnya harus mampu untuk menanyai game untuk mencaritahu apa yang bisa dilihat dan kemudian membiarkan
game tahu apa yang akan dilakukan sebagai aksinya.
4. Re-Entrancy (ikut serta ulang)
Fungsi ini sering berguna untuk memanggil script menjadi diikut sertakan ulang. Mereka dapat berjalan untuk sementara waktu, dan ketika anggaran waktu telah habis script akan dapat ditunda. Ketika script selanjutnya mendapatkan beberapa waktu kembali, maka akan dapat menjalankan kembali script yang ditunda sebelumnya. Hal ini sering membantu untuk membiarkankontrol hasil script saat mencapai jeda normal. Kemudian sebuah algoritma penjadwalan dapat memberikan lebih banyak waktu untuk meminimalisasi penggunaan sumber daya. Sebuah script untuk mengendalikan sebuah karakter, misalnya, mungkin memiliki limatahapan yang berbeda (memeriksa situasi, memeriksa kesehatan, menentukan gerakan, rencana rute, dan melaksanakan gerakan). Ini semua dapat dimasukkan dalam satu script yang menghasilkan penyekat antara setiap bagian. Kemudian masing-masing akan berjalan dengan setiap lima frame, dan beban dari eksekusi AI akan didistribusikan.

B. Embedding (Penanaman)
Embedding berhubungan dengan ekstensibilitas.Sebuah bahasa yang tertanam dirancang untuk dimasukkan ke dalam program lain. Ketika kitamenjalankan bahasa scripting dari workstation, biasanya akan menjalankan program khusus untuk menafsirkan file source code. Dalam game, sistemscripting perlu dikontrol dari dalam program utama.Game yang menentukan jalannya script harusdijalankan dan harus dapat memberitahu mesin terkait bahasa scripting yang cocok untuk memproses scripttersebut.

C. Memilih Sebuah Bahasa
Sejumlah besar bahasa scripting tersedia, dan  banyak dari mereka yang dirilis di bawah lisensi yang cocok untuk dimasukkan dalam sebuah game. Beberapa mesin game komersial dilengkapi dengan dukungan bahasa scripting ini (Unreal dan Quake oleh id Software, misalnya). Hal ini memberikan solusi lengkap dalam efisiensi waktu pembuatan game, karena sebagian besar bahasa yang ada yang digunakan dalam game pada awalnya tidak dirancang untuk tujuan ini.

D. Open Source
Open-source software, seperti namanya, juga memungkinkan akses untuk melihat dan mengubah source code. Hal ini membuat mudah untuk menarik studio dengan memberikan kebebasan untuk menarik keluar setiap kode asing atau kode yang tidak efisien. Beberapa lisensi open source, bahkan yang mengijinkan anda untuk menggunakan bahasa dalam  produk komersial, mengharuskan anda membebaskan modifikasi bahasa itu sendiri. Ini mungkin akan menjadi masalah bagi proyek anda.
Bahasa yang open source yaitu bahasa yang bisa di pakai di berbagai operasi sistem. Bahasa seperti ini contohnya C++, Java. Sebaiknya dalam membuat script game menggunakan bahasa yang open source, agar aplikasi game dapat dipakai oleh pengguna operasi sistem apapun.

E. Tahapan Pengolahan bahasa
Memulai sebagai teks dalam sebuah file teks, script biasanya melewati empat tahap: tokenization, parsing (penguraian), kompilasi, dan interpretasi. Keempat tahapan membentuk sebuah jalur, masing-masing memodifikasi masukan untuk mengubahnya menjadi format yang lebih mudah dimanipulasi.
1.    Tokenizing
Tokenizing mengidentifikasi unsur-unsur dalam teks. Sebuah file teks hanya berisi serangkaian karakter (dalam pengertian karakter ASCII). Hasil tokenizer keluar sebagai kumpulan  byte tertentu dan jenis dari kelompok tertentu yang membentuk mereka. Sebuah string dalam bentuk : 1 a = 3.2;



2.    Parsing
Makna dari sebuah program adalah sangat hirarkis: nama variabel dapat ditemukan dalam sebuah statement pemberian nilai, ditemukan di dalam pernyataan IF-, yang ada di dalam tubuh fungsi, di dalam definisi kelas, maupun di dalam sebuah deklarasi namespace. Contoh : 1 if (a < b) return
dapat dilakukan proses parsing seperti pada bagan di bawah ini :




3.    Compiling
Compiler mengubah parse tree ke dalam kode byte yang dapat dijalankan oleh interpreter. Kode byte  biasanya berbentuk data biner berurutan.
Contoh :

4.    Interpreting
Tahap akhir dari serangkaian ini ialah menjalankan kode byte. Dalam sebuah compiler untuk bahasa seperti C atau C++, produk akhir akan menjadi mesin instruksi yang dapat langsung dijalankan oleh prosesor.

F. Bahasa Yang Sering Digunakan
·         Lua
Lua adalah bahasa prosedural sederhana yang dibangun dari dasar ke atas sebagai bahasa embedding. Desain bahasa didorong oleh ekstensibilitas. Tidak seperti kebanyakan bahasa embedded, hal ini tidak terbatas untuk menambahkan fungsi baru atau tipe data di C atau C + +. Cara kerja bahasa Lua juga dapat men-tweak.
·         Python
Python adalah bahasa yang mudah dipelajari, bahasa scripting berorientasi objek dengan ekstensibilitas  baik dan dukungan embedding. Python menyediakan dukungan yang sangat baik untuk  pemrograman bahasa campuran, termasuk kemampuan untuk secara transparan memanggil C dan C + + dari Python.

E. Tools Lex dan Yacc
Lex dan Yacc adalah dua tool utama yang digunakan dalam membangun tokenizers dan parser. Masing-masing memiliki implementasi yang berbeda dan kebanyakan disediakan untuk platform UNIX (namun tersedia versi untuk platform lain juga). Varian Linux yang sering digunakan contohnya adalah Flex dan Bison.



Referensi :