Rabu, 02 November 2011

Artikel Tentang Bahasa Pemrograman Web


PemrogramanJika anda suka sekali dalam pembuatan web, maka anda tidak akan terlepas dari apa yang namanya bahasa pemrograman. Bahasa pemrograman merupakan suatu teknik komando/instruksi standar untuk memerintah komputer.
Berikut adalah penjelasan tentang bahasa pemrograman apa saja yang biasa digunakan untuk membuat suatu website :
1. Bahasa Pemrograman HTML
HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet.
HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan.
Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer.
2. Bahasa Pemrograman PHP
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini.
PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web.
PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.
PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows).
3. Bahasa Pemrograman ASP
ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis.
ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft.
ASP bekerja pada web server dan merupakan server side scripting.
4. Bahasa Pemrograman XML
Extensible Markup Language (XML) adalah bahasa markup serbaguna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data.
XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja.
XML merupakan suatu metode dalam membuat penanda/markup pada sebuah dokumen.

5. Bahasa Pemrograman WML
WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (eXtensible Markup Langauge).
WML ini adalah bahasa pemrograman yang digunakan dalam aplikasi wireless.
WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel.
6. Bahasa Pemrograman PERL
Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC.
PERL merupakan bahasa pemograman yang mirip bahasa pemograman C.
7. Bahasa Pemrograman CFM
Cfm dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio.
Syntax coldfusion berbasis html.
8. Bahasa Pemrograman Javascript
Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client.
JavaScript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape.
Untuk menjalankan script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled browser yaitu browser yang mampu menjalankan JavaScript.
9. Bahasa Pemrograman CSS
Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup.
Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML.
Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL.
Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).

Teknik Debugging Dalam Membuat Program

Hallo… para pengunjung setia blog ini, pada artikel kali ini akan saya paparkan bagaimana teknik debugging dalam membuat program. Wah… apaan tuh debugging? kok ada istilah ge-debag ge-debug segala :-) Ya.. bagi para pengunjung yang telah lama menekuni dunia programming, tentu istilah ini sudah familiar. Bagi new comer, tentu bertanya-tanya dengan istilah ini.

Istilah debugging dalam programming, artinya adalah mencari kesalahan algoritma dalam program yang sedang dibuat. Lho… bagaimana kita tahu ada algoritma yang salah? Algoritma yang salah ini akan mengakibatkan hasil atau output yang salah atau tidak seperti yang diharapkan. Istilah kesalahan ini sering disebut ‘algoritmic error’.
Contoh sederhana dari algoritmic error ini adalah, misalkan kita akan membuat program untuk menjumlahkan dua buah bilangan bulat, katakanlah A dan B. Dan program yang dibuat adalah sebagai berikut (dalam Pascal):
01.program jumlahkan;
02.var a, b, hasil : integer;
03.begin
04.   write('Masukkan nilai A : ');
05.   readln(a);
06.   write('Masukkan nilai B : ');
07.   readln(b);
08.   hasil := a - b;
09.   write('Hasil penjumlahannya adalah : ',hasil);
10.end.
Apabila kita jalankan program di atas atau kita compile, maka tidak akan ada error yang muncul, dalam hal ini syntax error (error yang terkait dengan aturan penulisan program). Namun ketika dijalankan, dan misalkan kita masukkan nilai A = 5 dan B = 4, maka hasil yang muncul adalah 1 (bukannya 9). Nah… inilah yang dimaksud dengan algoritmic error, atau error yang disebabkan kesalahan dalam langkah penyelesaian masalah.
Contoh sederhana lain, tapi hal ini tidak ada kaitannya dengan program, yaitu tentang algoritma merebus mie instan :-) wah jadi laper nih…
Misalkan, diberikan algoritma untuk merebus mie instan sbb:
  1. Buka bungkus mie
  2. Siapkan panci dan taruh panci di atas kompor
  3. Masukkan mie ke dalam panci
  4. Nyalakan api kompor kira-kira 3 menit
  5. Masukkan air mentah 2 gelas
  6. Matikan kompor
  7. Taruh mie ke dalam mangkuk
Nah… bagaimana pendapat Anda tentang algoritma di atas? Ya… kita akan tetap mendapatkan output dari proses merebus mie, tapi tidak sesuai yang diharapkan, yaitu mienya gosong dan airnya masih mentah :-) Mengapa demikian? ya… hal ini karena ada langkah yang salah dalam merebus mie. Inilah contoh algoritmic error.
So… saya harap Anda sudah tahu maksud algoritmic error. Sekarang, bila Anda mendapatkan program yang Anda buat mengalami algoritmic error, apa yang harus dilakukan? Ya… langkah satu-satunya adalah mencari letak proses yang salah dalam algoritmanya. Nah… proses pencarian ini dinamakan debugging.
Mengapa disebut debugging? :-) Konon istilah tersebut  muncul  karena si penemu kata ini pada waktu itu juga sedang mencari kesalahan program, namun saking jengkelnya karena gak ketemu-ketemu, trus dia menyebutnya si ‘kutu’ atau ‘bug’. Kemudian istilah mencari si kutu program ini, sering disebut ‘debugging’.
Kalau kita mendapati syntax error, maka dapat dengan mudah dan cepat kita akan menemukannya. Hal ini karena biasanya akan muncul warning adanya penulisan yang salah dan biasanya akan disertai dengan nomor baris yang salah tersebut. Nah… kalau algoritmic error, proses pencariannya tidak mudah.
So… bagi para mahasiswaku atau pengunjung setia blog ini, bila program Anda dicompile tidak ada error, jangan bersenang-senang dahulu, karena tujuan proses compile itu hanya mencari ada tidaknya syntax error. Siapa tahu program Anda menyimpan si kutu :-)
OK… kita kembali ke laptop, eh salah… kembali ke teknik debugging :-)
Trus… sekarang bagaimana langkah debugging, bila program sudah jadi namun hasilnya salah? Ya… untuk proses ini, Anda harus mengeceknya step by step sesuai alur algoritma program yang Anda buat. Bagaimana cara mengeceknya? Kalau saya pribadi, atau yang sering saya lakukan adalah menampilkan output di setiap proses. Sedangkan proses setelah bagian yang sedang saya cek tersebut, saya nonaktifkan atau saya buat menjadi komentar.
Perhatikan contoh berikut ini. Contoh ini baru saja saya gunakan untuk menjelaskan teknik debugging ketika perkuliahan.
01.program cariKombinasi;
02.var n, m : integer;
03.    kombinasi : real;
04. 
05.function faktorial(x : integer) : real;
06.var i : integer;
07.    hasil : real;
08.begin
09.   hasil := 1;
10.   for i:=1 to x do
11.   begin
12.     hasil := hasil * i;
13.   end;
14.   faktorial := hasil;
15.end;
16. 
17.begin
18.   n := 3;
19.   m := 2;
20.   kombinasi := faktorial(n)/faktorial(n-m)*faktorial(m);
21.   write(kombinasi);
22.end.
Program di atas dibuat dengan tujuan untuk mencari hasil dari kombinasi n, m atau C(n, m). Dari contoh di atas, dipilih n = 3 dan m = 2. Menurut perhitungan kita, hasil yang benar dari kombinasi tersebut adalah 3. Namun apa yang terjadi bila program di atas dijalankan? Ya… dari sisi syntax error tidak ada, namun hasilnya adalah 12. Tentu hal ini salah.
Lantas… bagaimana mengetahui letak kesalahannya? Ya… untuk melakukan hal ini, kita harus mengecek terlebih dahulu apakah function faktorial() sudah berfungsi dengan baik atau belum. Untuk mengeceknya, ya… kita tambahkan saja perintah write(faktorial(n));
1.begin
2.   n := 3;
3.   m := 2;
4.   write(faktorial(n));
5.   { kombinasi := faktorial(n)/faktorial(n-m)*faktorial(m);
6.   write(kombinasi);}
7.end.
Oya… untuk baris perintah setelah write(faktorial(n)) ini hendaknya kita jadikan komentar dahulu supaya tidak ada interfensi dalam proses. Apabila dijalankan, maka akan muncul output 6. Ya… hasil ini benar karena kita menampilkan n! atau dalam hal ini 3!. Sehingga function faktorial() tidak ada masalah dan berfungsi dengan baik.
Selanjutnya akan kita cek untuk menghitung kombinasinya sendiri atau pada baris
1.kombinasi := faktorial(n)/faktorial(n-m)*faktorial(m);
Satu-satunya kemungkinan salah adalah di sini, karena proses inilah yang dilakukan tepat sebelum ditampilkan outputnya. Apabila kita perhatikan dengan benar, maka ada bagian yang salah yaitu pada pembagian. Ingat rumus mencari C(n, m). Rumus yang benar haruslah
1.kombinasi := faktorial(n)/(faktorial(n-m)*faktorial(m));
sehingga baris programnya menjadi
1.begin
2.   n := 3;
3.   m := 2;
4.   kombinasi := faktorial(n)/(faktorial(n-m)*faktorial(m));
5.   write(kombinasi);
6.end.
Nah… setelah diperbaiki, barulah program di atas akan menghasilkan output yang benar yaitu 3.
Sehingga kesimpulan dari teknik debug ini adalah ceklah output untuk setiap langkah proses dengan menampilkannya ke layar. Untuk menghindari interfensi dari baris program yang lain, hendaknya baris program di bawahnya atau selanjutnya, dibuat komentar (jangan dihapus) terlebih dahulu. Teknik ini bisa diterapkan untuk bahasa pemrograman yang lain.

Aplikasi Program PLC

Program PLC (Programmable Logic Controller) diperkenalkan pertama kali pada tahun 1969 oleh Richard E. Morley yang merupakan pendiri Modicon Corporation. Menurut National Electrical Manufacturing Assosiation (NEMA) PLC didefinisikan sebagasi suatu perangkat elektronik digital dengan memori yang dapat diprogram untuk menyimpan instruksi-instruksi yang menjalankan fungsi-fungsi spesifik seperti: logika, sekuen, timing, counting, dan aritmatika untuk mengontrol suatu mesin industri atau proses industri sesuai dengan yang diinginkan. Program PLC mampu mengerjakan suatu proses terus menerus sesuai variabel masukan dan memberikan keputusan sesuai keinginan pemrograman sehingga nilai keluaran tetap terkontrol. Lihat PLC sistem dan PLC aplikasi.
PLC program merupakan “komputer khusus” untuk program aplikasi dalam industri, untuk memonitor proses, dan untuk menggantikan hard wiring control dan memiliki bahasa pemrograman sendiri. Akan tetapi PLC program tidak sama akan personal computer karena PLC dirancang untuk instalasi dan perawatan oleh teknisi dan ahli listrik di industri yang tidak harus mempunyai skill elektronika yang tinggi dan memberikan fleksibilitas kontrol berdasarkan eksekusi instruksi logika. Lihat lembaga kursus dan sistem PLC. Karena itulah aplikasi PLC semakin hari semakin berkembang baik dari segi jumlah input dan output, jumlah memory yang tersedia, kecepatan, komunikasi antar PLC dan cara atau teknik pemrograman. Hampir segala macam proses produksi di bidang industri dapat diotomasi dengan menggunakan program aplikasi PLC. Kecepatan dan akurasi dari operasi bisa meningkat jauh lebih baik menggunakan sistem kontrol ini. Keunggulan dari aplikasi PLC adalah kemampuannya untuk mengubah dan meniru proses operasi di saat yang bersamaan dengan komunikasi dan pengumpulan informasi-informasi vital. Lihat program sistem dan program PLC Omron
Operasi pada PLC terdiri dari empat bagian penting:
1. pengamatan nilai input
2. menjalankan program
3. memberikan nilai output
4. pengendalian
Dari kelebihan diatas PLC sistem juga memiliki kekurangan antara lain yang sering disoroti adalah bahwa untuk memrogram suatu PLC sistem dibutuhkan seseorang yang ahli dan sangat mengerti dengan apa yang dibutuhkan pabrik dan mengerti tentang keamanan atau safety yang harus dipenuhi. Sementara itu orang yang terlatih seperti itu cukup jarang dan pada pemrogramannya harus dilakukan langsung ke tempat dimana server yang terhubung ke PLC aplikasi berada, sementara itu tidak jarang letak main computer itu di tempat-tempat yang berbahaya. Oleh karena itu diperlukan suatu perangkat yang mampu mengamati, meng-edit serta menjalankan program dari jarak jauh.

Selasa, 24 Mei 2011

PERANCANGAN BASIS DATA

Perancangan Basis Data

Suatu data base dibangun berdasarkan kebutuhan informasi dalam suatu organisasi, oleh sebab itu pada umumnya perancangan data base dimulai dari pengamatan kebutuhan informasi. Berikut ini adalah langkah-langkah yang sering dilakukan dalam perancangan basisdata:
  1. Teliti informasi apa yang dibutuhkan oleh organisasi ini, misalnya dengan me-wawancarai pengguna informasi dalam organisasi tersebut.
  2. Pisahkan/kelompokkan  hasil temuan informasi menjadi beberapa entity.
  3. Pikirkan field-data yang mendukung setiap entity
  4. Tentukan field-data yang mungkin menjadi indeks (primary key) setiap entity
  5. Pikirkan kemungkinan relasi antar entity
    • bila one-to-one : berarti sebenarnya kedua entity ini bisa digabung
    • bila one-to-many atau many-to-one : tambahkan primary-key dari entity sisi-one sebagai field-data baru pada entity sisi many.
    • bila many-to-many : ciptakan sebuah file-relasi dengan field data utama adalah primary-key masing-masing entity yang berelasi, tambahkan field data yang baru apabila field data ini bergantung pada kedua primary key.
  6. Pilih DBMS untuk melakukan implementasi, dimana setiap entity diciptakan sebagai sebagai sebuah table pada model relasional.
Contoh: Sistem Akademik pada umumnya membutuhkan informasi dasar sebagai berikut:
  • Daftar Peserta Mata Kuliah (DPMK) : daftar per-mata kuliah yang memuat semua nama mahasiswa yang mengambil mata kuliah tersebut pada rencana studi-nya di awal semester.
  • Daftar Nilai Akhir (DNA) : daftar per-mata kuliah yang memuat nama semua mahasiswa yang mengambil matakuliah tersebut disertai kode nilai yang akan dilingkari oleh dosen pengasuh di-akhir semester.
  • Kartu Hasil Studi (KHS) atau Rapor: print-out untuk setiap mahasiswa dimana termuat hasil studi mahasiswa tersebut untuk setiap matakuliah yang di-ikuti-nya, disertai IPS (indeks prestasi semester)
Apabila ketiga informasi ini diteliti maka diperoleh domain data (entity) sebagai berikut:
  1. Data Mahasiswa
  2. Data Matakuliah
  3. Data Dosen
Data Mahasiswa didukung oleh field-field data sebagai berikut:
  • Nomer Mahasiswa
  • Nama Mahasiswa
  • Alamat
  • Jenis Kelamin
  • Agama
  • Tgl Lahir
  • dsb
Data Matakuliah didukung oleh field-field data sebagai berikut:
  • Kode Matakuliah
  • Nama Matakuliah
  • SKS
  • dsb
Data Dosen didukung oleh field-field data sebagai berikut:
  • Kode Dosen
  • Nama Dosen
  • Alamat
  • Keahlian
  • dsb
Ketiga entity tersebut diatas memiliki primary-key masing-masing, yaitu: Nomer-Mahasiswa untuk entity Mahasiswa, Kode-Matakuliah untuk entity Matakuliah, dan Kode-Dosen untuk entity Dosen.
Langkah berikutnya adalah menentukan relasi antar entity tersebut:
Mahasiswa <–> MataKuliah : relasi ditandai dengan rencana studi, dimana satu mahasiswa dapat mem-program banyak matakuliah, dan sebaliknya satu matakuliah dapat diprogramkan oleh banyak mahasiswa, dengan kata lain relasi-nya many-to-many (M-to-N). Karena itu diperlukan file-relasi, yaitu file semester, dengan field-field data sbb:
  • Kode matakuliah
  • Nomer mahasiswa
  • Nilai
  • kode semester
Dosen <–> Matakuliah : relasi ini ditandai dengan penugasan dosen, misalnya di program S1, pada umumnya seorang dosen boleh mengajar lebih dari satu matakuliah, dan satu matakuliah hanya diajar oleh seorang dosen, dengan demikian relasi-nya one-to-many (1-to-M). Karena itu primary key dari dosen (kode-dosen) ditambahkan ke entity matakuliah. File data dosen nanti tidak ada perubahan, tetapi field dari file matakuliah akan bertambah, menjadi:
  • Kode Matakuliah
  • Nama Matakuliah
  • SKS
  • Kode-Dosen
  • dsb
Kode-dosen pada file matakuliah disebut kunci-tamu atau foreign-key.
Dosen <–> Mahasiswa : relasi ini ditandai dengan fungsi dosen sebagai penasehat akademik (PA), dimana seorang dosen boleh menjadi PA lebih dari satu mahasiswa sementara setiap mahasiswa memerlukan satu PA, sehingga relasi yang cocok adalah one-to-many (1-to-M). Karena itu primary key dari dosen ditambahkan ke entity mahasiswa, sehingga susunan field-data mahasiswa menjadi sebagai berikut:
  • Nomer Mahasiswa
  • Nama Mahasiswa
  • Alamat
  • Jenis Kelamin
  • Agama
  • Tgl Lahir
  • Kode-Dosen
  • dsb
Pada akhirnya basisdata akademik ini paling tidak harus terdiri atas empat tabel/file yaitu: Tabel Mahasiswa, Tabel Matakuliah, Tabel Dosen, dan Tabel Semester.

Minggu, 21 November 2010

The Social Network

Dia yang membawa penyakit “update status
Masih teringat jelas ketika proyek yang terkesan buru-buru dan teramat dini tentang jejaring sosial paling digandrungi saat ini diumumkan secara resmi untuk dikreasikan ke dalam layar lebar. Apa ini? Proyek aji mumpung yang hanya ingin mendompleng nama Facebook? Ah, tercium bau komersialitas Hollywood yang teramat amis untuk dihirup seketika. Skeptis itu tetap bertahan meskipun nama David Fincher—terkenal sebagai visual stylist dan teramat cerewet dengan urusan gambar, terutama menyangkut penggunaan aspek digital dalam filmnya—akhirnya disandingkan dengan Aaron Sorkin—yang satu ini bolehlah dikatakan masternya di dunia pertelevisian dengan serial drama sukses “The West Wing” lengkap dengan ciri khas dialognya yang cepat. Maka yang ditunggu hanyalah bagaimana jadinya drama intrik penemu jejaring sosial yang begitu memikat jutaan pengguna internet ini di tangan dua orang tadi. Hembuskan napas sejenak. Skeptis yang bermunculan itu, nampaknya telah diluluhlantakkan oleh kedua orang ini.
“The Social Network” pertama kali mencoba mengenalkan kepada kita, hei, lihat, ini lho Mark Zuckerberg, perancang Facebook itu—dimainkan dengan memikat oleh Jesse Eisenberg. Lelaki yang jago bicara. Seolah tiap kali berbicara ia sedang mengolah arena pacu kuda dan selalu selesai di barisan terdepan pula. Hingga wanita di depannya, Erica Elbright, menyerah untuk bertarung dengan kelihaian mulut lelaki ini berkilah. Pada introduksi tersebut, Fincher, tengah mengenalkan kita apa yang ingin ia berikan untuk dua jam lamanya narasi film ini berjalan. Ia mencoba mengenalkan dahulu bagaimana piawainya Aaron Sorkin mengolah dialog dan begitu hipnotisnya terkadang membuat kita terheran, bahkan tertawa tanpa sadar dengan permainan kata yang ditawarkan. Di balik itu, Fincher pula tengah mengenalkan juga bagaimana ia mengolah gambar demi gambar dalam sinema yang ia buat ini. Menghadirkan atmosfir Harvard yang nampak lengang, hiruk pikuk di berbagai sisi, dan “dingin” di beberapa kesempatan.
Secara perlahan kita berkenalan dengan Mark Zuckerberg. Lelaki yang di mata Erica pantas disebut brengsek atau bajingan. Di sanalah kemudian muncul ketika secara perlahan begitu mengasyikkan mempelajari tingkah laku seorang Zuckerberg. Tipikal lelaki yang masa bodo, narsis, bertindak sesuka hati, dan menggenggam jiwa ambisius yang teramat kental. Di sini, mulailah kita melihat bahwa ada cerita yang lebih besar di dalam diri Zuckerberg yang teramat menarik untuk ditelanjangi ketimbang cerita terbentuknya jejaring sosial itu sendiri. Sebuah ironi, seorang Zuckerberg yang minin teman telah mengubah cara umat dunia berinteraksi.
Mari menengok sekilas ceritanya. Setidaknya, yang pernah membaca kisah bilioner muda ini, cukup familiar dengan bagaimana Facebook itu terbentuk. Setelah Zuckerberg didepak oleh Erica, amarahnya membuncah hingga bersumpah serapah di blognya dan membuat situs FaceMash yang mengolok-olok kaum hawa dan uniknya mendapat jumlah pengunjung yang membludak. Kesuksesan FaceMash menarik Divya Narendra dan Winklevoss bersaudara—kembar identik yang dimainkan oleh Armie Hammer, dan dibidik dalam balutan visual efek untuk memadukan kedua karakternya agar nampak nyata, meskipun terlihat masih kasar—mereka mengajak Zuckerberg sebagai programmer untuk merancang situs yang ingin mereka buat. Di lain hal, Zuckerberg, mendekati Eduardo Saverin (diperankan Andrew Garfield, beberapa tahun lagi akan populer sebagai sosok Spiderman) untuk membuat situs bernama thefacebook, dimana, Eduardo sendiri, bertindak sebagai penyandang dana. Sampai juga muncul, Sean Parker, penemu Napster, yang dimainkan dengan baik oleh Justin Timberlake, nantinya menjadi sosok penting dalam kesuksesan Zuckerberg. Singkatnya, Zuckerberg, Narendra, The Winklevosses, dan Saverin (tidakkah barisan nama ini begitu unik untuk didengar? Sekilas mengingatkan dengan nama-nama dalam dunia Harry Potter), mereka muncul sepanjang film dalam konstruksi melodrama “benar atau salah” di meja persidangan. Tempat dimana dialog cepat, merembet seperti petasan, serta humoris di beberapa kesempatan, disumbangkan Sorkin dengan porsi yang menyenangkan. Meskipun ada beberapa adegan yang terkesan “malu-malu” untuk dilihat, lebih tepatnya terkesan “mentah”, kolaborasi Fincher dan Sorkin sudah nampak nikmat untuk dilahap. Sejujurnya, dua jam hidangan ini, masih terasa kurang saja.
Jika melihat filmografi seorang Fincher, “The Social Network” tentu menghadirkan sekilas energi yang dimiiliki “Zodiac” (film terbaiknya Fincher sampai saat ini—pendapat si penulis review). Mulai dari beberapa atmosfir yang ditampilkan mengingatkan dengan bagaimana suasana “Zodiac” tercipta. Seperti film-film Fincher sebelumnya, “The Social Network” juga menawarkan fotografi yang memikat. Jika “Seven” begitu mengesankan ketika dibalut dengan suasana hujan yang kentara, lalu “Fight Club” terasa begitu sempit dan sesak, sedangkan “The Curious Case of Benjamin Button” begitu melankolis, maka “The Social Network” terlihat begitu ceria, seperti anak muda, memiliki atmosfir bebas, riuh, dan riang yang beriringan. Pun, balutan musik pengiring film ini begitu dinamis. Mulai dari dentuman keras suasana dunia malam yang seolah meneriakkan “anak muda sekali” hingga pada sisi yang tenang, sepi dan lengang yang mengiringi kontemplasi seorang Zuckerberg.
Meskipun film in berhasil memberikan kemasan yang enak untuk disimak, membangun konstruksi cerita ke dalam sebuah tembok kokoh dalam balutan drama persidangan, dan memeluk sisi ambisius dan menariknya aspek sebuah coming-of-age, menganalisa sebuah narasi yang disebut “kerakusan”, atau roman lebar yg disebut “persahabatan”, “The Social Network” lupa akan tembok lain bernama “dunia luar”, dan seperti Zuckerberg, ia terkurung dalam tembok yang dibangunnya sendiri. Maksudnya, kita peduli dengan mereka di dalam tembok itu (cerita film ini), namun, sayangnya tidak menyentuh sisi luar selain di dalam tembok itu (bolehlah dikatakan “emosi”).
Uniknya “The Social Network” mengajak kita menelaah, apa memang si Zuckerberg ini sosok yang pantas disebut brengsek? Mengapa sampai Winklevoss bersaudara berani menuntutnya?  Pertanyaan itu sudah bisa dijawab di pertengahan film. Lalu, rahasia mungil itu baru membuncah pada sosok Eduardo Saverin, pada satu kesempatan ia berujar, “I was your only friend” kepada Zuckerberg. Mengapa ia berbalik mengkhianati sang sahabat? Ketika semuanya itu terjawab, entah dari sudut pandang mana kita berpihak, Andrew Garfield telah menjadi penampil terbaik dalam film ini. Menawarkan kelucuan yang membuat terbahak-bahak, dan yang paling penting sosok Eduardo adalah “hati” dari film ini.
Pada akhirnya “The Social Network” adalah produk yang renyah untuk dikunyah, meski bukanlah produk yang menawarkan rasa yang sempurna. Namun, adakah diantara pembaca yang mengerti maksud dari celotehan orang di luar sana yang menyebut bahwa film ini adalah “film generasi kita”? Apa maksudnya? Apa karena ia bercerita tentang situs yang begitu dekat dengan kita saat ini? Apa karena kita memang tengah berada pada dunia ini, yang uniknya memang begitu dekat bahkan jika terkadang kita menganggapnya lelucon sekalipun. Entahlah. Satu hal yang sempat terbersit ketika menyimak film ini, hingga terkadang kita sebenarnya benar menyadari bahwa Facebook bukanlah sekedar “update status” dan pamer foto saja.
Coba perhatikan apa yang dilakukan Zuckerberg menjelang closing credit muncul. Entah ini menjawab petanyaan itu atau tidak. Maka nampaknya tak ada salahnya meminjam perkataan seorang teman: “Ah, déjà vu! Apa yang Zuckerberg lakukan di akhir film itu, pernah saya lakukan juga di Facebook!”

Jumat, 05 November 2010

Aplikasi/Software yang bisa digunakan untuk membuat Content Provider sendiri

Mungkin anda sering melihat bagaimana di berbagai media massa, termasuk tabloid yang sedang anda baca ini, begitu bertebaran-nya iklan layanan SMS Premium dengan berbagai short code 4 digit-nya masing-masing. Tentunya sempat muncul dibenak anda, apakah sebegitu menguntungkannya bisnis tersebut sehingga dari hari ke hari iklan SMS Premium muncul dimana-mana. Dan jika memang demikian tentunya anda ingin tahu dong bagaimana cara membuat CP alias Content Provider? Jika anda berpikir aplikasi-aplikasi tersebut dibangun dengan menggunakan biaya besar alias membayar, jawabannya tentu saja tidak ! Artikel ini hanya membahas cara membuat CP dari sudut teknis. Sisi administratif dan marketing diluar pembahasan dalam artikel ini.


Untuk membuat CP sendiri, tentu saja anda perlu tahu teknologi atau protokol apa yang digunakan masing-masing operator untuk berkomunikasi dengan server anda. Umumnya operator mensyaratkan anda harus memiliki server dengan IP publik sendiri dan bukan hosting (sewa space server). Server ini fungsinya untuk menampung data SMS yang khusus masuk melalui short code anda, kemudian memprosesnya (menentukan jawaban/reply atau data apa yang harus dikirim ulang ke nomor HP pengguna yang memintanya), dan mengirimkannya kembali ke SMSC operator bersangkutan.Operator Protokol yang digunakan





Telkomsel      HTTP (HyperText Transfer Protocol)



IM3                 SMPP (Short Message Peer to Peer)


 
Satelindo         HTTP (HyperText Transfer Protocol)



XL                     HTTPs (HyperText Transfer Protocol Secure), SMPP



Telkom Flexi    SMPP (Short Message Peer to Peer)



Mobile 8           SMPP (Short Message Peer to Peer)



esia                    HTTP (HyperText Transfer Protocol)



StarOne             HTTP (HyperText Transfer Protocol)



3 (Hutchison)     SMPP (Short Message Peer to Peer)






SMPP
Merupakan protokol standar dalam industri telekomunikasi yang dikhususkan untuk pertukaran pesan singkat atau SMS antar SMSC. Protokol ini didesain berpasangan dan didasarkan pada konsep pertukaran data dengan cara pengiriman data request/response lewat PDU atau protocol data unit melalui lapisan keempat OSI (Open System Interconnection) menggunakan koneksi TCP atau X.25 SVC3. Untuk efisiensi, data tersebut berupa data biner yang dikodekan. Protokol SMPP yang digunakan operator umumnya adalah versi 3.4. Pada versi ini, pada satu koneksi dapat dilakukan pengiriman maupun penerimaan pesan. Pertukaran data dilakukan secara sinkron maupun asinkron.


HTTP/s

Protokol ini sangatlah populer seiring dengan populer-nya Internet dan World Wide Web alias Web. Termasuk juga didalamnya WAP (Wireless Application Protocol). Seperti juga SMPP, HTTP juga merupakan protokol dengan konsep request/response antara client dengan server. Dimana yang bertindak sebagai client misalnya adalah web browser dan sering disebut sebagai user agent. Server, digunakan untuk menyimpan dan memperoses data misalnya gambar atau HTML untuk ditampilkan kepada client. Perbedaannya dengan SMPP adalah pada sifat HTTP yang lebih publik dibandingkan SMPP yang cenderung privat. HTTPS sendiri merupakan versi HTTP dengan koneksi yang aman.Default port yang digunakan untuk mengaksesnya adalah nomor 443 berbeda dengan HTTP yang menggunakan 80 atau 8080.

Software/Aplikasi Gratisan yang bisa digunakan.

Jika anda berpikir bahwa para CP membuat sendiri aplikasi SMS Gateway-nya sendiri, anda sepenuhnya salah Yang paling tepat adalah, umumnya para CP memodifikasi beberapa aplikasi software open source alias gratisan disesuaikan dengan struktur dan jenis layanan yang akan digunakan. Umumnya, khusus protocol SMPP saja yang sedikit rumit implementasinya.

Patut diingat, untuk dapat terhubung dengan operator, tentunya setelah proses administrasi dengan pihak operator seluler, akan mendapatkan semacam login dan password yang telah terdaftar dan diberi hak akses dengan level tertentu ke jaringan operator. Berikut adalah beberapa aplikasi/software yang biasa dimodifikasi para CP.

1. Logica (http://opensmpp.logica.com/)

Logica ini dikhususkan untuk protocol SMPP. Ada dua platform bahasa pemrograman yang bias digunakan yaitu Java dan Visual Basic atau VB. Umumnya, CP yang menggunakan system operasi yang open source lebih memilih Java ketimbang VB. Dengan menggunakan versi Java, modifikasi yang perlu dan dapat dilakukan pun lebih banyak. Selain library yang bisa digunakan bersama dengan aplikasi Java-nya, di situs tersebut tersedia pula simulator yang dapat digunakan untuk anda menguji aplikasi SMPP anda sebelum dihubungkan dengan SMSC yang sesungguhnya. Sebagian besar source yang diberikan di situs ini menggunakan Java dan minim dengan user interface berbentuk grafis. Jadi jangan kecewa jika anda hanya akan banyak bermain-main dengan command prompt di Windows atau shell di sistem operasi Linux

2.Kannel (http://www.kannel.org/)

Kannel juga cukup popular digunakan oleh para CP. Selain karena protocol yang didukungnya lebih lengkap (SMPP,HTTP, UCP, EMI), platform bahasa pemrograman yang menggunakan C pun dianggap memperkuat performa Kannel yang lebih cepat. Meski demikian tak semua operator menyarankan untuk menggunakan Kannel ini karena adanya isu stabilitas layanan. Umumnya CP-CP dengan kapasitas SMS per detik yang besar memodifikasi aplikasinya dari Kannel ini. Kannel bukan sekedar SMS gateway tapi juga dapat digunakan sebagai WAP Gateway. Penggunaan utama Kannel adalah untuk koneksi HTTP.

3.SMPP Class untuk PHP (http://www.phpclasses.org/browse/package/1373.html)

Khusus untuk anda yang lebih suka dengan bahasa pemrograman PHP (tentunya karena bahasa ini salah satu yang paling populer digunakan di dunia web), anda pun bisa mencoba menggunakan class SMPP yang dikhususkan untuk berkomunikasi dengan SMSC operator. Cara menggunakannya cukup mudah, namun sayangnya hanya dapat mengirimkan SMS saja. Untuk menerima SMS, pihak pembuatnya tidak menawarkannya secara gratis.

Cukup mudah bukan? Jadi bagaimana, siap untuk membuat CP sendiri ?