Jumat, 17 Juni 2016

Ubiquitous Computing

Ubiquitous Computing

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.  Ideubiquitous computingpertama kali disampaikan oleh Mark Weiser (1998) di Laboratorium Komputer Xerox PARC, yang membayangkan komputer dipasangkan di dinding, di permukaan meja, di setiap benda sehingga seseorang dapat berkomunikasi dengan ratusan komputer pada saat yang sama. Setiap komputer secara tersembunyi diletakkan di lingkungan dan dihubungkan secara nirkabel.

Ubiquitous computing mempunyai karakteristik utama yaitu:

1.    Ubiquity: interaksi tidak dilakukan oleh suatu saluran melalui satuworkstation. Akses ke komputer dapat dilakukan di mana saja. Sebagai contoh, di suatu kantor ada puluhan komputer, layardisplay, dan sebagainya dengan ukuran bervariasi mulai dari tombol seukuran jam tangan, Pads sebesar notebook, sampai papan informasi sebesar papan tulis yang semuanya terhubung ke satu jaringan. Jaringan nirkabel akan tersedia secara luas untuk mendukung akses bergerak dan akses jarak jauh.
2.    Transparency: teknologi ini tidak menganggu keberadaan pemakai, tidak terlihat dan terintegrasi dalam suatu ekologi yang mencakup perkantoran, perumahan, supermarket, dan sebagainya.

Karakteristik Lingkungan

·         Network Architecture
Para pemakai bergerak dalam suatu jaringan komunikasi nirkabel heterogen yang membentuk suatu jaringan berkabel yang lebih luas. Peralatan pemakai saling terhubung menggunakan jaringan nirkabel berbasis infrastruktur. Peralatan-peralatan tersebut juga dapat berhubungan dengan peralatan, sensor, dan layanan yang ada di lingkungan.

·         Service Provisioning
Layanan bagi pemakai disediakan di berbagai tempat berbeda dalam lingkungan AmI di mana pemakai dapat menggunakan layanan yang tersedia dengan sumber-sumber daya yang terhubung tanpa kabel. Layanan-layanan ini diberikan oleh suatu sistem layanan gabungan dengan application server yang dapat diakses melalui infrastruktur jaringan.

·         Sensing Architecture
Untuk mendukung pemberian layanan-layanan tersebut, lingkungan AmI dilengkapi berbagai jenis sensor. Sensor ini membuat interaksi antara pemakai dengan jenis layanan yang dibutuhkan menjadi lebih efisien. Sensor ini akan menangkap informasi dari lingkungan secara terus-menerus dan memantau aktivitas yang dilakukan para pemakai. Sensor ini kemudian membawa informasi tersebut ke sebuah modul AmI yang akan memprosesnya dalam suatu aplikasi. Jenis sensor yang digunakan meliputi jenis sensor tradisional seperti: sensor suhu, tekanan, cahaya, kelembaban udara, dan sensor-sensor yang lebih kompleks, seperti kamera yang dihubungkan dengan jaringan kabel. Dengan demikian, infrastruktur AmI harus dapat menangkap informasi-informasi dari peralatan-peralatan sensor tersebut.

·         Modes of Interaction
Pemakai berinteraksi dengan layanan melalui suatu multimodal user interface yang menggunakan peralatan pribadi untuk berkomunikasi. Multimodal  communication memungkinkan pemakai mangakses layanan tidak hanya pada saat mereka duduk di depan PC, tetapi juga pada saat mereka bergerak bebas dalam lingkungan AmI.

Aspek Teknis yang mendukung :

1.    Terminal & user interface

Peralatan yang digunakan sebaiknya mempunyai kualitas tampilan yang bagus dan responsif terhadap input dari pemakai. Walaupun dengan ukuran display yang terbatas, penggunaanya harus intuitif dengan tampilan yang bersih menggunakan alat input yang berbeda seperti: pen, handwriting recognition dan speech recognition.

2.    Peralatan yang murah

Jika kita membangun sebuah sistem dengan banyak komputer untuk satu pemakai, biaya satu komputer hendaklah tidak terlalu mahal. Meskipun komputer biasa pada umumnya relatif lebih mahal, kamputer ini tidak dapat digunakan untuk ubiquitous computing. Tidak semua komputer dalam ubiquitous computingmemerlukan prosesor dan harddisk dengan spesifikasi seperti dalam komputer biasa.

3.    Bandwidth tinggi

Kebutuhan lain dari ubiquitous computing adalah mempunyai bandwidth jaringan yang cukup untuk melakukan komunikasi antara peralatan-peralatan yang digunakan. Selain masalah bandwidth, ada beberapa faktor lain yang perlu dipertimbangkan berkaitan dengan transformasi data melalui jaringan, antara lain: lokasi terminal untuk mobile communication, penggunaan frekuensi yang tepat, menjaga kualitas layanan, enkripsi data, dan mengurangi gangguan-gangguan laten terhadap jaringan.

4.    Sistem file tersembunyi

Ketika seorang pemakai menggunakan komputer, dia harus belajar beberapa aspek dasar tentang sistem operasi dan konsep-konsep file serta struktur direktori. Hal ini mengakibatkan pemakai akan lebih terfokus pada bagaimana informasi akan disimpan, bukan pada informasi itu sendiri. Salah satu kebutuhan ubiquitous computing adalah bahwa komputer harus tersembunyi. Komputer harus dapat “memahami” kondisi pemakai. Sebagai contoh, melalui penggunaan voice recognition atau interface lainnya yang memungkinkan pemakai melakukan akses tanpa harus mengetahui nama file tertentu, lokasi atau format file tersebut.

5.    Instalasi otomatis

Ubiquitous computing harus dapat mengeliminasi kebutuhan instalasi program. Dalam sistem konvensional, seringkali diperlukan instalasi program yang dapat menimbulkan masalah, dan dalam beberapa kasus harus melibatkan pemakai. Konsep ini tidak berlaku dalam ubiquitous computing. Program harus dapat berpindah dari sebuah computer ke komputer lain tanpa harus mengubah konfigurasi dasar dalam menjalankan suatu program baru. Salah satu alternatif adalah dengan menggunakan bahasa pemrograman Java yang dapat dipindahkan ke komputer lain dengan mudah (platform-independent).

6.    Personalisasi informasi

Akan lebih baik jika ubiquitous computing system dapat menjaga agar informasi yang tersedia dapat digunakan sesuai kebutuhan pemakai. Untuk memenuhi kebutuhan tersebut, salah satu pendekatan yang dapat dilakukan adalah setiap kali ada seseorang yang baru bergabung dalam sebuah komunitas, profil pribadi orang tersebut harus ditambahkan ke setiap peralatan yang ada.

7.    Privasi

Salah satu masalah yang paling penting dalam ubiquitous computing adalah resiko privasi yang serius. Sistem ini dapat menyimpan data-data pemakai dan lokasinya yang mungkin dapat diakses oleh pemakai lain. Teknologi jaringan yang baru seperti infra merah atau komunikasi radio nir kabel menggunakan enkripsi untuk menjaga keamanan data.

Potensi di Indonesia
Dalam paper yang disampaikan pada Seminar dan Pameran Teknologi Informasi, Wawan Wardiana (2002) menyimpulkan bahwa perkembangan teknologi informasi di Indonesia sangat dipengaruhi oleh kemampuan sumber daya manusia dalam memahami komponen teknologi informasi, seperti perangkat keras dan perangkat lunak komputer, sistem jaringan baik berupa LAN maupun WAN dan sistem telekomunikasi yang akan digunakan untuk transfer data.
Pada saat ini kemampuan sumber daya manusia dalam memahami komponen teknologi informasi sudah semakin meningkat. Salah satu bukti pemahaman ini adalah dengan trend teknologi informasi yang tidak saja berpengaruh terhadap gaya hidup para profesional, pelaku bisnis dan pemakai lain di kalangan orang dewasa, tetapi juga berpengaruh terhadap para remaja di tingkat sekolah bahkan anak-anak. Penggunaan teknologi komunikasi seperti SMS, MMS, chatting dan e-mail sudah begitu memasyarakat. Trend penggunaan teknologi informasi ini juga dapat kita jumpai di berbagai bidang, seperti pendidikan, perbankan, perdagangan, pemerintahan dan lain-lain.
Di bidang pendidikan, teknologi informasi sangat berperan dalam menyediakan sarana belajar-mengajar yang lebih efisien seperti trend belajar jarak jauh (distance learning), belajar secara elektronis (e-learning), perpustakaan elektronik (e-library), dan multimedia. Sebagai contoh, Universitas Putra Indonesia “YPTK” Padang memberikan kemudahan bagi seluruh mahasiswa untuk melakukan pembayaran uang kuliah melalui bank tanpa harus datang ke kampus, melihat nilai atau mengecek absensi cukup melalui SMS Kampus. Di bidang perbankan, teknologi informasi memberikan kemudahan-kemudahan dalam bertransaksi. Semakin banyak pelaku ekonomi, khususnya di
kota-kota besar yang tidak lagi menggunakan uang tunai dalam transaksi pembayarannya, tetapi cukup menggunakan kartu elektronik atau smart card. Nasabah pun tidak perlu lagi datang ke lokasi untuk melakukan transfer uang ke bank yang berbeda.

Berdasarkan fakta-fakta yang digambarkan di atas, muncul suatu pemikiran bahwa trend teknologi informasi di Indonesia akan mengarah ke ubiquitous computingyang merupakan konsep dasar dari teknologi Ambient Intelligence. Beberapa faktor yang menjadi pertimbangan akan potensi penggunaan teknologi AmI di Indonesia ini adalah sebagai berikut:

1.    Semakin berkembangnya teknologi jaringan khususnya jaringan nirkabel yang memungkinkan transfer data dapat dilakukan dengan lebih cepat dengan biaya yang relatif lebih kecil.
2.    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.
3.    Cepatnya perkembangan dan penyebaran teknologi komunikasi di kalangan masyarakat luas memenuhi kebutuhan ubiquitous communication yang merupakan salah satu pilar teknologi Ambient Intelligence.
4.    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.
5.    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.

Perbedaan Ubiquitous, Mobile, Grid dan Cloud computing
·         Mobile computing menggunakan teknologi mobile untuk menjalankannya seperti handphone, carputer dan ultra mobile PC, sedangkan Ubiquitous, grid dan cloud computing menggunakan PC pada umumnya untuk menjalankannya.
·         Biaya untuk pengadaan energi bagi mobile computing cenderung lebih mahal dibanding Ubiquitous, 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 Ubiquitous,grid dan cloud computing karena cenderung portable dan mudah dibawa kemana saja.
·         Pada mobile computing, proses komputasi cenderung dilakukan sendiri oleh user. Pada Ubiquitous,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.

sumber :

Minggu, 08 Mei 2016

GRID COMPUTING

Grid Computing

Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.
Penerapan teknologi grid computing atau komputasi grid pada kalangan yang membutuhkan, wajib memiliki elemen-elemen tertentu. Secara garis besar, 3 elemen pokok dari infrastuktur grid adalah:
1.    hardware/sumber daya;
2.    software; dan
3.    brainware (orang yang memelihara dan memakai komputasi grid).
Hardware, dalam komputasi grid mencakup perangkat penyimpanan, prosesor, memori, jaringan, dan software yang di desain untuk mengelola hardware ini, misalnya database, manajemen penyimpan, manajemen sistem, server aplikasi, dan sistem operasi. Hardware pada grid komputing di atur secara lokal, dan hardware yang berbeda memiliki kebijakan dan cara kerja yang berbeda. Hardware dan user grid komputing sering bersifat dinamis tergantung penerapan grid tersebut.
Software, merupakan suatu perangkat yang menghubungkan semua middleware-nya. Middleware itu sendiri adalah bagian dari software, yaitu lapisan sofware yang terletak antara sistem operasi dan aplikasi yang berfungsi sebagai penghubung komunikasi antar-objek dari sistem yang berbeda. Unsur-unsur dasar suatu middleware adalah keamanan (security), pengaturan sumber daya (resource management), pengaturan data (data management), dan layanan informasi (information services). Contoh beberapa middleware adalah Globus Toolkit, Gridbus, Microsoft’s COM/DCOM, Unicore, dan masih banyak contoh-contoh middleware lainnya.
Brainware, dalam komputasi grid hanya meliputi pemelihara dan pemakai grid. Dahulu grid computing cenderung hanya di pakai oleh para ilmuan untuk kepentingan ilmiah. Pada saat itu memang ekspose terbesar lebih banyak pada proyek-proyek sains, seperti riset genetika, fisika dan yang paling terkenal adalah proyek SETI ( Search for Extra Terrestrial Intelligence ) atau riset pencari kehidupan di luar bumi. Hal ini memunculkan persepsi bahwa teknologi komputasi grid ini sulit di terima di kalangan non-ilmuan, terutama di kalangan bisnis. Namun, sekarang penerapan komputasi grid telah merambah penggunaanya bukan hanya pada proyek sains saja. Bahkan baru-baru ini, teknologi grid computing telah di kenalkan pada dunia enterpreneur dan mendapat banyak respon positif. Orang yang memelihara dan menggunakan teknologi grid computing ini, berdasarkan penelitian penggunaannya akan meluas pada:
o   jaringan penelitian publik bagi para peneliti dan ilmuan;
o   layanan (service), artinya grid computing tidak lagi hanya bersifat komputasional;
o   berbagai institusi keuangan, seperti perbankan;
o   Service Oriented Architecture (SOA), yaitu enkapsulasi sekumpulan aplikasi sebagai interface tunggal yang dapat di rekonfigurasi.
Kelebihan dan Kekurangan Grid Computing
Penggunaan Grid Computing System untuk perusahaan-perusahaan akan banyak memberikan manfaat, baik manfaat secara langsung maupun tidak langsung. Beberapa manfaat tersebut antara lain :
1.    Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga menjanjikan peningkatan produktivitas kerja perusahaan.
2.    Grid computing bisa memberi penghematan uang, baik dari sisi investasi modal maupun operating cost–nya.

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.
Persamaan Mobile, Grid dan Cloud Computing
o   Ketiganya merupakan metode untuk melakukan proses komputasi dan memecahkan sebuah masalah serta menemukan solusinya
o   Ketiganya membutuhkan alat pengolah data modern seperti PC,laptop maupun handphone untuk menjalankannya.
Contoh Grid Computing (Aplikasi)
a)    Oracle 10g
Untuk software Oracle 10g adalah singkatan dari grid. Fokus dari versi baru Oracle ini adalah untuk memudahkan perusahaan menyederhanakan proses implementasi grid computing di luar kerangka kerja komputasi akademik, teknik, riset dan saintifik.
b)    Scientific Simulation
Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks.
c)    Medical Images
Penggunaan data grid dan komputasi grid untuk menyimpan medical-image. Contohnya adalah eDiaMoND project.
d)    Computer-Aided Drug Discovery (CADD)
Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC).
e)    Big Science
Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah Contohnya terdapat di DEISA.
f)     E-Learning
Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid.
g)    Visualization
Komputasi grid digunakan untuk membantu proses visualisasi perhitungan yang rumit.
h)   Microprocessor design
Komputasi grid membantu untuk mengurangi microprocessor design cycle dan memudahkan design center untuk membagikan resource lebih efisien. Contohnya ada diMicroprocessor Design Group at IBM Austin.

Perusahaan yang menerapkan Grid Computing :

Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti BMKG (Badan Meteorologi, Klimatologi dan Geofisika).

sumber :

Senin, 25 April 2016

Arsitektur Game Engine

GAME ENGINE
Adalah sebuah mesin permainan adalah sebuah sistem perangkat lunak yang dirancang untuk penciptaan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol video games dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. Fungsional inti biasanya disediakan oleh mesin permainan yang mencakup mesin render ("renderer") untuk 2D atau 3D grafis, physics engine dan collision detection (dan collision response), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dan scene graph. Proses pengembangan permainan sering dihemat karena sebagian besar permainan menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.
Game engine menyediakan tool pengembangan visual dengan tujuan komponen- komponen perangkat lunak tersebut dapat digunakan kembali. Alat-alat ini umumnya diberikan dalam sebuah lingkungan pengembangan terintegrasi untuk memungkinkan disederhanakan, perkembangan pesat game di data-cara didorong. Mesin permainan ini kadang-kadang disebut "permainan middleware" karena, seperti bisnis dengan pengertian, mereka menyediakan fleksibel dan dapat digunakan kembali platform perangkat lunak yang menyediakan semua fungsionalitas inti yang diperlukan, langsung dari kotak, untuk mengembangkan suatu aplikasi permainan sambil mengurangi biaya, kompleksitas, dan waktu-ke-pasar-semua faktor-faktor kritis yang sangat kompetitif industri permainan video.

Beberapa elemen yang ada di dalam game engine adalah :
a.    Tools/Data
Dalam pengembangan game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam pengembangan game, paling tidak dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.
b.    System
System sendiri adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik maka system ini adalah satu-satunya bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound, timer, configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.
c.    Console
Dengan menambahkan console, kita dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses debugging. Apabila game engine tersebut mengalami error kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.
d.    Support
Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang biasa digunakan, vector, matrix, memory manager, file loader. Merupakan dasar dari game engine dan hampir digunakan semua projek game engine.
e.    Renderer/Engine Core
Pada game engine, engine core / renderer 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 sendiri merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.
g.    The Game
Merupakan inti dari penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan game tersebut.

Beberapa contoh game engine :
·         RealmForge
Merupakan free dan open source game engine untuk Microsoft .Net Framework dan dikhususkan pada visual3D Game Engine, merupakan cross platform game engine untuk .NET 2.0 dan Microsoft XNA.RealmForge dibangun diatas AXIOM 3D rendering engine. Di tulis dalam bahasa C# keseluruhan. Dibangun untuk pembuatan game berbasis .NET.
·         Truevision3D
Merupakan game engine 3D yang dibangun dengan menggunakan visual basic 6 dan C++ dengan menggunakan Microsoft Directx  API. Mulai versi 6.5, engine ini menggunakan direct 9 dan shader support, serta ditulis ulang menggunakan C++. Sampai perkembangan terbaru, belum ada wacana untuk mengembangkannya untuk mendukung penggunaan directx9 serta Microsoft XNA.
·         OGRE
OGRE (Object-Oriented Graphics Rendering Engine) merupakan engine yang mendukung 3D Graphic. Merupakan game engine yang fleksibel dalam melakukan 3D Rendering, ditulis dalam bahasa C++ sehingga memudahkan pengembang untuk membangun game yang mendukung 3D Graphics.

Beberapa contoh game middleware yang sering digunakan :
Ø  Gamebryo 
Merupakan game engine yang berawal dari perusahaan Numerical Design Limited (NDL) akan tetapi pada perkembangannya, perusahaan NDL bergabung dengan Emergent Game Technologies. Ditulis menggunakan bahasa C++, Gamebryo merupakan 3D Game engine yang memberikan support kepada beberapa platform sebagai berikut :
-          Windows (baik direct 9 dan 10)
-          Nintendo game cube
-          Nintendo WII
-          PS 2 dan PS 3
-          XBOX serta XBOX360

Ø  Renderware
Merupakan salah satu saingan dari Gamebryo. Bergerak dalam bidang 3D API dan graphic rendering engine. Renderware digunakan pada computer games, Active Worlds serta beberapa VRML Browser. Merupakan game engine yang sering digunakan di PS2 sehingga sering disebut sebagai “Sony’S Directx”.
Ø  Unreal Engine
Merupakan salah satu game engine yang cukup populer. Dikembangkan oleh Epic Games dalam bahasa C++, Unreal engine menjadi salah satu game engine yang mempunyai kemampuan portability yang baik. Dapat berjalan pada beberapa platform seperti Windows, Linux, MacOS dan beberapa video games console seperti Dreamcast, XBOX, XBOX360.
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.


sumber :

Jumat, 15 April 2016

Mobile Computing

Definisi

Mobile Computing yang dalam pengertiannya adalah menggunakan komputer dimana saja. Jadi kita dapat menggunakan segala fasilitas yang ada pada komputer untuk dapat dibawa kemana saja. Mobile computing merupakan paradigma baru dari teknologi yang mampu melakukan komunikasi walaupun user melakukan perpindahan. sekumpulan peralatan (hardware), data, dan perangkat lunak aplikasi yang bermobilisasi / berpindahlokasi.

Jenis - jenis

Laptop, merupakan komputer portabel, kecil dan dapat dibawa kemana saja dengan sangat mudah yang terintegrasi pada sebuah casing. Berat laptop berkisar dari 1 sampai 6 kilogram tergantung ukurannya, bahan dan spesifikasi. Sumber listrik berasal dari baterai atau A/C adaptor yang dapat digunakan untuk mengisi ulang baterai dan untuk menyalakan laptop itu sendiri. Laptop kegunaannya sama dengan Komputer desktop, yang membedakannya hanya ukuran sehingga memudahkan pemakai untuk membawanya kemana - mana.

Wearable Computer atau komputer yang dipakaikan di tubuh manusia. Contohnya adalah Computer Gletser Ridgeline W200. W200 ini terbuat dari paduan magnesium bertulang yang memaksimalkan kekuatan dan meminimalkan berat keseluruhan. Pada hanya 10,2 ons dan dibentuk pada kontur lengan, W200 yang mengkombinasikan fitur yang sama dari sebuah komputer standar dengan sebuah perangkat yang memberikan kenyamanan dan ergonomis pergelangan tangan instrumen aus. W200 ini memiliki sebuah 3.5 “layar warna dengan layar sentuh, keyboard backlit dan baterai hot swappable. Fungsi nirkabel dari W200 memastikan konektivitas berkelanjutan terlepas dari lokasi pengguna dengan plug and play Wi-Fi, Bluetooth dan modul GPS. Menggunakan CE Windows atau sistem operasi Linux, unit cepat dapat dikonfigurasi untuk mengakses sistem host remote melalui kabel terintegrasi atau antarmuka nirkabel. Operasi bebas dari tangan-W200 yang mengatasi keterbatasan fisik yang terkait dengan komputer genggam normal. Hal ini memungkinkan pengguna kebebasan penuh untuk melanjutkan kegiatan sehari-hari dengan menggunakan kedua tangan sedangkan komputer memiliki akses penuh pada setiap saat. Selain kompas elektronik, sistem juga mengintegrasikan fitur terbaru dan paling inovatif, seperti tilt dan perhitungan diam, yang memungkinkan penghematan baterai kritis ketika unit tidak digunakan. Kegunaan tangan-bebas dari W200 membuatnya kepentingan khusus untuk Layanan Darurat, Keamanan, Pertahanan, Gudang, Lapangan Logistik dan setiap wilayah di mana akses ke sejumlah besar informasi yang diperlukan. W200 punggung bukit itu bergabung baris gletser saat komputer kasar dikembangkan untuk pengumpulan data.

PDA (Personal Digital Assistants) adalah sebuah alat elektronik yang berbasis komputer dan berbentuk kecil serta dapat dibawa kemana-mana.  Menurut saya PDA banyak digunakan sebagai pengorganisir pribadi pada awalnya, tetapi karena perkembangannya, kemudian bertambah banyak fungsi kegunaannya, seperti kalkulator, penunjuk jam dan waktu, permainan komputer, pengakses internet, penerima dan pengirim surat elektronik (e-mail), penerima radio, perekam video, dan pencatat memo. Selain dari itu dengan PDA (komputer saku) ini, kita dapat menggunakan buku alamat dan menyimpan alamat, membaca e-book, menggunakan GPS dan masih banyak lagi fungsi yang lain. Bahkan versi PDA yang lebih canggih dapat digunakan sebagai telepon genggam, akses internetintranet, atau extranet lewat Wi-Fi atau Jaringan Wireless. Salah satu ciri khas PDA yang paling utama adalah fasilitas layar sentuh.

SmartPhone adalah ponsel yang menawarkan kemampuan canggih, boleh dikata kemampuannya menyerupai kemampuan PC (komputer). Umumnya suatu ponsel dikatakan sebagai smartphone bila dapat berjalan pada software operating system yang lengkap dan memiliki interface danplatform standar bagi pengembang aplikasi. Sementara itu ada yang mengatakan smartphone adalah ponsel sederhana dengan fitur canggih seperti kemampuan mengirim dan menerima email, menjelajah internet dan membaca e-book, built in full keyboard atau external USB keyboard,atau memiliki konektor VGA. Dengan kata lain, smartphone adalah miniatur komputer dengan kemampuan ponsel.

CONTOH IMPLEMENTASI KEHIDUPAN SEHARI- HARI:

·         Kendaraan (untuk pemantauan dan koordinasi, GPS)
·         Peralatan Emergensi (akses kedunia luar)
·         Akses web dalam keadaan bergerak
·         Location aware services
·         Information services
·         Disconnected operations (mobile agents)
·         Entertaintment (network game groups)
·         BBM(Blackberry Massanger), WhatsApp, LINE, Mobile Banking, Bayar listrik online, dll.

Perusahaan yang menerapkan mobile computing

Perusahaan yang saya bahas adalah Bank Mandiri, pada saat ini bank mandiri sudah menerapkan mobile computer yang disebut dengan madiri mobile. mandiri mobile adalah layanan mobile banking pada smartphone (Blackberry, Android, dan iPhone) dengan tampilan menu yang menarik dan mudah digunakan.


Dengan mandiri mobile pengguna dapat melakukan transaksi finansial (transfer, pembayaran, pembelian, dll), transaksi  non finansial (cek saldo, cek histori transaksi, dll), informasi lokasi cabang/ATM, informasi kurs dan fitur-fitur menarik lainnya .

Untuk menggunakan layanan ini, pengguna perlu mengaktifkan layanan mandiri sms kemudian mengunduh aplikasi mandiri mobile di Blackberry App World, App Store, dan Google Play.

sumber :