Friday, October 12, 2012

JavaScript

     Again, saya bakal bahas bahasa pemrograman disini. Bahasa pemrograman yang bakal saya bahas kali ini adalah JavaScript. Pada dasarnya walaupun sama-sama bahasa pemrograman, JavaScript berbeda dari C atau C++. Bedanya adalah, JavaScript adalah bahasa scripting dan C/C++ adalah bahasa programming biasa. Apalagi nih bedanya bahasa scripting dan yang biasa? Bahasa scripting ini support terhadap penulisan script, program untuk lingkungan sebuah software yang mana akan mengotomatisasikan diri pada eksekusi suatu task. (contoh: Windows pop-up). Bahasa Scripting bisa di embed kedalam HTML, karena itu mereka biasa digunakan untuk menambahkan fungsionalitas ke dalam sebuah halaman web sebagai client-side programming. Dan juga, bahasa yang kita bahas saat ini merupakan bahasa scripting yang paling sering digunakan pada web saat ini.
     Sifat-sifat JavaScript antara lain adalah :
  • Prototype-based, maksudnya adalah bahasa ini menggunakan style dimana class tidak ada (not exist). maka, cara penggunaan ulang behavior (kalau di class-based, namanya inheritance) dilakukan dengan proses cloning terhadap object yang ada yang  bertindak sebagai prototype.
  • Dinamis, maksudnya adalah bahasa programming yang sifatnya high-level, dan cenderung diinterpretasikan oleh program lain pada runtime. Berbeda dengan bahasa programming biasanya yang di compile oleh processor komputer sebagai bahasa pemrograman lain (C dan C++).
  • Weak Typing, initinya adalah kita bisa konversi tipe data apa aja ke tipe data apa aja. (wah, jadi berasa becanda ini wkwkwk) masih banyak juga sih arti lain Weak Typing, ya saya jelasin yang ini aja deh :p
  • First-class function, jadi sebuah programming language itu bisa dibilang memiliki sifat first-class function jika function itu sendiri dianggap sebagai first-class citizen. Nah, first-class citizen ini... silahkan baca di Wiki sendiri :p

Thursday, October 4, 2012

HTML Vs HTML5


     HTML, atau HyperText Markup Language. Bahkan orang yang nggak tau kepanjangan dan artinya akan mikir "aah..itu istilah Komputer". Ya, HTML ini merupakan salah satu singkatan yang sering terdengar di dunia IT. Bagaimana tidak, HTML ini merupakan standard dari Markup Language bla bla bla...yah, intinya bahasa web yang terkenal :p
     Nah, untuk tau key point dari HTML vs HTML5 ini kita harus liat sejarah pertama kalinya dibuat HTML dahulu. Di tahun 1980, Tim Berners-Lee mengajukan sebuah sistem untuk share dan memakai document di Organisasi tempatnya bekerja (CERN). Berners-Lee juga mengajukan HyperText berbasis internet pada sistem ini. Ya, disinilah awal mula HTML itu. (udah deket finish nih sejarahnya, sabar ya xD). Time skip sampai bahasanya pertama kali dipublikasi :p. Saat itu, bahasa HTML ini lumayan terpengaruh oleh bahasa yang sebelumnya mereka gunakan di CERN yaitu SGMLguid (Standard Generalized Markup Language) khususnya pada bagian hyperlink tagnya. Bahkan saat pembuatan pun si pencipta ini masih nganggap kalo HTML ini cuma Aplikasi dari SGML itu sendiri. Sip, selesai sudah bahas sejarahnya yaay xD.
     Nah, setelah saya baca sana sini untuk referensi, yang dibahas selalu saja HTML4 vs HTML5. Tanya kenapa? karena dari HTML sampai HTML4 itu perubahannya memang terkesan..upgrade doang, dibanding saat transisi ke HTML5 (dan memang yang jadi standard ISO sekarang HTML4). Dari HTML4 ke HTML5 ini, saya kutip dari wiki aja ya :) "Although its syntax closely resembles that of SGML, HTML5 has abandoned any attempt to be an SGML application and has explicitly defined its own "html" serialization,...". Jadi HTML5 bisa dibilang saat HTML memulai originalitasnya. Baru deh ta' kasih perbedaannya.

Friday, September 28, 2012

Cloud Gaming

    Sebagian besar anak IT pasti sudah tahu asal kata 'Cloud' dari Cloud Gaming ini. Cloud disini diambil dari kata 'Cloud Computing', yaitu sistem komputasi yang belakangan ini makin marak di dunia IT. 
    Cloud Computing ini, simplenya adalah penggunaan sebuah sistem komputasi yang terdiri dari beberapa resource (software dan hardware) yang dikirimkan melalui network. Contoh paling simple yang saya tahu adalah dropbox, service dengan tujuan sharing file yang menggunakan Cloud Computing untuk membantu dalam hal koneksi.
    Sekarang kita balik ke Cloud Gaming. Jadi, Cloud Gaming ini bisa dibilang Game yang menggunakan Cloud Computing. User menggunakan sebuah client untuk mengkoneksikan diri ke server, dan perlu internet tentunya. 
    Memang rasanya seperti game online biasa, tapi clientnya itu yang berbeda. Client yang digunakan dalam Cloud Gaming adalah thin client. Simplenya thin client itu, program aslinya (Software/ Gamenya) hanya ada di server. Karena gamenya sendiri hanya ada di server, client ini memiliki kapasitas yang jauh lebih kecil daripada fat client (yang biasa digunakan pada Online Games). Mungkin karena itu jadi dinamakan thin (tipis/ kecil). Lalu, proses komputasi pun hanya terjadi di server. User hanya mengirimkan command simple, seperti tombol X pada joystick dan server akan me reply response sesuai setting (misal, X disetting untuk loncat). Jadi, Cloud gaming ini tidak menuntut user memiliki PC dengan spec tinggi. Asalkan user memiliki koneksi yang cukup, maka game akan berjalan lancar layaknya game console.


www.onlive.com dan www.gaikai.com adalah website dari Cloud Gaming platform yang saya ketahui. Dari website tersebut, kita dapat mendownload client mereka dengan gratis (mainnya tetap bayar loh). Clientnya pun hampir sama dengan steam. Bedanya, pada steam bila kita mau main harus beli dan download dulu. Sedangkan pada onlive dan gaikai, kita harus bayar dan langsung bisa main (entah kenapa rasanya jadi kayak promosi -_-"). Dari sini saja sudah bisa terlihat betapa praktisnya Cloud Gaming.

Saturday, June 18, 2011

Tugas Struktur Data (Trie)

Trie (prefix tree) adalah sebuah struktur data tree yang tersusun dan digunakan untuk menyimpan sebuah array yang terasosiasi (biasanya string)


Istilah TRIE berasal dari kata reTRIEval, karena trie bisa menemukan sebuah kata dalam kamus hanya dengan prefix (awalan) dari kata tersebut.

Trie adalah tree dimana setiap vertex mewakili sebuah kata atau prefix.
Root (akar) mewakili karakter kosong (‘’).
Sebuah vertex yang tepi jaraknya k dari root (akar) mempunyai prefix yang terasosiasi dari panjang k.
Biarkan a dan b menjadi 2 simpul dari trie dan anggap a adalah orang tua langsung darib, maka b harus mempunyai prefix yang terasosiasi dari a.

Kita bisa menggunakan struktur ini untuk mengimplementasikan trie:

struct trie {
    char chr;
    int  word;
    struct trie* edge[128];
} *root = 0;

root = (struct trie*)malloc(sizeof(struct trie));
root->chr  = ‘’;
root->word = 0;
Untuk meng-Insert sebuah kata ke dalam trie, kita bisa menggunakan kode ini:

void insert(struct trie *curr, char *p) {
    if ( curr->edge[*p] == 0 )
        curr->edge[*p] = newnode(*p);
    if ( *p == 0 ) curr->word = 1;     else insert(curr->edge[*p],p+1); }

newnode() function
struct trie* newnode(char x) {
    struct trie* node =
        (struct trie*)malloc(sizeof(struct trie));
    node->chr  = x;
    node->word = 0;
    for (i = 0; i < 128; i++ )
        node->edge[i] = 0;
    return node;
}

Andaikan kita ingin menemukan semua string yang terdapat dalam trie yang mempunyai prefix tertentu.
char s[100] = {“...”}; // global

int  i, n, okay;
struct trie *curr;
n    = strlen(s);
okay = 1;
curr = root;
for ( i = 0; i < n && okay == 1; i++ )
    if ( curr->edge[s[i]] == 0 ) okay = 0;
    else curr = curr->edge[s[i]];
if ( okay ) find(curr,n);

dan fungsi find  (mereka akan mencetak semua string yang mempunyai prefixnya)

void find(struct trie *curr, int x) {
    if ( curr->word == 1 ) {
        s[x] = 0;
        puts( s );
    }
    for ( i = 0; i < 128; i++ )
        if ( curr->edge[i] != 0 ) {
            s[x] = i;
            find(curr->edge[i],x+1);
        }
}

Tuesday, January 11, 2011

Four X Temperament X People

Sanguine

Sanguine, what's that? an animal? oh, no.. it's penguin.. (haaa,,boring jokes if I should say it myself) Then, what's Sanguine? as the title say, I'm talking about humans temperament here... so, as I read in a book (My Freshman Enrichment Program books?? I don't remember where I read it but it sure is have been discussed in my CB (Character Building) Class.) Sanguine is a type of people that you can maybe say easy-going. So, as you usually see an easy-going person is the one with sooooo fucking awesome many friends. Yeah, it's like their motto is "Friends everywhere eyes can see".. But, a person with this temperament easily getting bored with their hobby..Why?? Please, don't ask me...I'm not a Psychologist. It's a pity that I'm not this one, cause I'm not the one with many friends..hahaha

Choleric

Now, Choleric. It's not Cholera kay.. again, a very good trait for you with this temperament. I say this is the one with a leader aura, charismatic, etc etc blah blah blah... They tend to like being a Leader and is charge of everything...(WTF?!) The one in Wikipedia even say that they can dominate people of other temperaments, especially phlegmatic types. hwew..

Melancholic

Melancholic is often a perfectionist... Maybe some of you already know what a perfectionist is, but whatever. It's people that feel uncomfortable with a half-assed work.. They want their work to be as perfect as possible. Well, I seldom  saw people like that in real life, except television (the worst one at that,, that it often becomes funny..haha). One negative part of being a melancholic is sometimes they can get so involved in what they are doing they forget to think of others. So, if you're a Melancholic then don't forget about your surroundings..haha

Phlegmatic

Phlegmatics tend to be self-content and kind. They can be very accepting and affectionate. They may be very receptive and shy and often prefer stability to uncertainty and change. They are very consistent, relaxed, rational, curious, and observant, making them good administrators . However they can also be very passive aggressive. (Wew, complete copy-paste from Wiki..well, I can't say anything about this one..really, it's complete enough on this..hehe)


Want a more complete info, come here...http://en.wikipedia.org/wiki/Four_Temperaments