Sabtu, 30 Juni 2012

E-Commerce

Pada kali ini saya akan menjelaskan tentang E-Commerce. E-Commerce merupakan sebagian dari E-Business, secara umum E-Commerce adalah segala kegiatan transaksi jual-beli barang atau jasa yang melalui media elektronik. Media elektronik yang dibicarakan di dalam tulisan ini untuk sementara hanya difokuskan dalam hal penggunaan media internet. Pasalnya, penggunaan internetlah yang saat ini paling populer digunakan oleh banyak orang, selain merupakan hal yang bisa dikategorikan sebagai hal yang sedang ‘booming’. Dan ini merupakan contoh web yang termasuk E-Commerce :

Kantong-Kresek.com

Merupakan situs web yang menjual barang elektronik di kategori audio, seperti headset, headphone, speaker, dll. 

1.Tampilan awal pada situs www.kantong-kresek.com

2.Barang yang di jual di www.kantong-kresek.com

Pengalaman Melakukan E-Commerce

Saya akan mencoba menceritakan pengalaman tentang melakukan E-Commerce. Waktu itu saya ingin membeli jam tangan lewat transaksi online. Pada waktu itu saya melakukan transaksi online melalui situs www.tokobagus.com. Setelah menemukan barang yang saya minati tersebut, saya langsung menghubungi penjual tersebut. Setelah tawar-menawar harga, saya segera melakukan transfer uang melalui ATM(karena sang penjual termasuk recommend seller, maka saya langsung percaya bahwa sang penjual jujur TOP DAH!) dan saya langsung menkorfimasi kepada sang penjual bahwa saya sudah melakukan transfer. Dan saya-pun memberikan alamat rumah saya. Pada hari esoknya barang yang saya inginkan tiba di rumah saya dengan aman sentosa. Demikian cerita dari pengalaman saya semoga bermanfaat. :D


Jumat, 20 April 2012

INHERITANCE DAN POLYMORPHISME

Pada kali ini saya akan menjelaskan sedikit tentang Inheritance dan Polymorphisme.

Inheritance merupakan suatu pewarisan/penurunan yang bertujuan membuat class baru dengan method dari class yang sudah ada serta menambah atribut yang baru, class baru otomatis memiliki variabel dan fungsi yang sama dengan class asalnya.

contoh program Inheritance
class induk:

public class portable{
void portableconsole(){
System.out.println("Portable console adalah console yang bisa dimainkan dimana saja");}}

class turunan:

class psp extends portable{
void Spesifikasipsp(){
System.out.println("portable console yang anda pilih adalah psp");
System.out.println("Dimensi. 16.94 x 1.86 x 7.14 cm");
System.out.println("Berat 0.189 kg");
System.out.println("Memori utama 64MB");
System.out.println("Display 4.3 inches (16:9) full-transparent type, TFT");
System.out.println("480 x 272 pixel, 16.770.000 warna");}}


class nds extends portable{
void Spesifikasinds(){
System.out.println("portable console yang anda pilih adalah nds");
System.out.println("Dimensi : 148.7 x 84.7 x 28.9 mm / 133 mm x 73.9 mm x 21.5 mm");
System.out.println("Berat : 275 g / 218 g");
System.out.println("Baterai : 850 mAH / 1000 mAH");
System.out.println("2 layar 3-inch TFT LCD 256 x 192 pixels, 62 x 46 mm");}}


import java.io.*;
class pilihportable{
public static void main(String[]args)throws IOException{
String pilih = null;
System.out.println("____Pilih console____");
System.out.println("[1] PSP");
System.out.println("[2] NDS");
System.out.print("Masukkan pilihan :");
portable generalj = new portable();
psp jenis1 = new psp();
nds jenis2 = new nds();
InputStreamReader inputan = new InputStreamReader(System.in);
BufferedReader jm = new BufferedReader(inputan);
pilih = jm.readLine();
int i = Integer.parseInt(pilih);
switch (i) {
case 1 :
generalj.portableconsole ();
jenis1.Spesifikasipsp ();break;
case 2 :
generalj.portableconsole ();
jenis2.Spesifikasinds ();break;}}}

Output Program


Polymorphisme merupakan konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda. Polymorphisme memiliki 2 jenis, yaitu :
  • Overload adalah beberapa metode dapat memiliki nama yang sama dengan isi dan parameter yang berbeda, syarat overload yaitu nama metode dan parameter harus berbeda.
  • Override adalah sebuah class dapat memiliki sebuah metodevirtual sebagai antarmuka dari metode yang diimplementasikan class turunannya, syaratnya yaitu nama metode, return type, dan parameter harus sama.

Contoh program Polymorphisme

class keterangan {
public void ket(String Cetak) {
System.out.println(Cetak);}
public void ket(int Cetak) {
System.out.println(Cetak);}}


public class datamahasiswa {
public static void main(String[] args) {
keterangan data = new keterangan();
System.out.print("Nama : ");
data.ket("Jonathan Mardi Halim");
System.out.print("NPM : ");
data.ket(53410776);}}



Output Program


sumber : http://nur-arianto.blogspot.com/2009/11/inheritance-pada-java.html
              http://betoi.blogspot.com/2010/06/polymorphism-java.html
              http://harrach.wordpress.com/pemograman-java/polymorphism/

teman satu kelompok : http://jonathan54.blogspot.com/

Kamis, 12 April 2012

ENKAPSULASI

Nama : Firmansyah Unes Rakhmawan
NPM: 52410815
Kelas :2IA14

Kali ini saya akan menjelaskan "apa itu enkapsulasi pada java!?".


Enkapsulasi pada java pada dasarnya merupakan proses menyembunyikan atau membuat sebuah class menjadi privat, enkapsulasi digunakan untuk memproteksi sehingga class tidak bisa diakses sembarangan dari luar sistem.

berikut ini adalah contoh program enkapsulasi

listing
class game
{
public String a= "Monster Hunter Freedom Unite";
public String b= "Monster Hunter Portable 3rd";
public String c= "Blazblue Calamity Trigger";
public String d= "Blazblue Continuum Shift II";
public String e= "Monster Hunter 3G";
public String f= "Kingdom Hearts 3D";
public String g= "Resident Evil Revelations";
public String h= "Pokemon Black";
}

import javax.swing.JOptionPane;
public class jenisgame
{
public static void main(String[]args)
{
int psp = 1;
int nds = 2;
game j= new game();
int jenis=Integer.parseInt(JOptionPane.showInputDialog("Masukan jenis portable console"+"\n1.psp \n2.nds" ));
if (jenis==psp)
{
JOptionPane.showMessageDialog(null,"jenis game psp:"+"\n1."+j.a+"\n2."+j.b+"\n3."+j.c+"\n4."+j.d);
System.exit(0);
}
if (jenis==nds)
{
JOptionPane.showMessageDialog(null,"jenis game nds:"+"\n1."+j.e+"\n2."+j.f+"\n3."+j.g+"\n4."+j.h);
System.exit(0);
}
}
}

logika program
-class game 
blok ini adalah class yang berisikan daftar-daftar list game yang akan digunakan didalam class jenisgame

-import javax.swing.JOptionPane;
public class jenisgame
blok ini adalah class jenisgame yang akan memanggil class game, adanya public menunjukan bahwa class ini bisa diakses dari mana saja di luar class.

-int psp = 1;
int nds = 2;
game j= new game();
blok ini digunakan untuk menentukan integer jenis console dan sekaligus digunakan untuk mengakses class game yang digunakan sebagai sumber daftar game yang akan ditampilkan.

-int jenis=Integer.parseInt(JOptionPane.showInputDialog("Masukan jenis portable console"+"\n1.psp \n2.nds" ));
if (jenis==psp)
{
JOptionPane.showMessageDialog(null,"jenis game psp:"+"\n1."+j.a+"\n2."+j.b+"\n3."+j.c+"\n4."+j.d);
System.exit(0);
pada baris JOptionPane.showInputDialog akan ditampilkan kotak input, dimana telah ditampilkan opsi pilihan berupa 1.psp dan 2.nds. dan apabila inputan adalah 1 maka akan ditampilkan kotak dialog yang menampilkan list-list game psp yang diambil dari class game.

-if (jenis==nds)
{
JOptionPane.showMessageDialog(null,"jenis game nds:"+"\n1."+j.e+"\n2."+j.f+"\n3."+j.g+"\n4."+j.h);
System.exit(0);
apabila input yang di masukan adalah 2, maka akan ditampilkan list-list game nds yang diambil dari class game.

output
input 1


input 2

 
teman satu kelompok : http://jonathan54.blogspot.com/

Kamis, 05 April 2012

Perbedaan Pemrograman Terstruktur dan Pemrograman Berbasis Objek

Nama : Firmansyah Unes Rakhmawan
NPM : 52410815
Kelas :2IA14

Pemrograman Berbasis Objek.
Pemrograman berbasis objek atau OOP(Object Orieted Programing) merupakan paradigma pemrograman yang berbasis pada objek, semua data dan fungsi dibungkus dalam class-class atau objek-objek. Pemrograman Berbasis Objek menekankan konsep seperti berikut :
  • Kelas: Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untk tujuan tertentu. Sebuah kelas adalah dasar dan modularitas dan struktur dalam pemrograman berbasis objek.
  • Objek : Membungkus data dan fungsi bersama menjadi suatu unit dalam program komputer.
  • Abstraksi : Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti.
  • Enkapsulasi : Memastikan pengguna suatu objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaanya.
  • Polimorfisme.
Beberapa contoh bahasa pemrograman yang menggunakan sistem OOP :
  • java
  • C++
  • pascal
  • ruby 
  • phyton
  • Delphi
(sumber: http://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek)
Pemrograman Terstruktur
Dalam pemrograman terstruktur, pendekatan pemuatan program menganut sistem 'top-down'. Dimana langkah-langkah urutan perintah diperhatikan secara sistematis dan logis.Pemrograman terstruktur memiliki beberapa sifat sebagai berikut :
  • memuat teknik pemecahan masalah yang logis dan sistematis.
  • memuat algoritma yang efisien,efektif dan sederhana.
  • program disusun dengan logika yang mudah dipahami.
  • tidak menggunakan perintah GOTO.
  • biaya pengujian program relatif rendah.
  • memiliki dokumentasi yang baik
  • biaya perawatan dan dokumentasi yang diutuhkan relatif rendah
Contoh bahasa pemrograman yang mengunakan sistem pemroraman terstruktur:
  • COBOL
  • TURBO PROLOG
teman satu kelompok: http://jonathan54.blogspot.com

Selasa, 27 Maret 2012

SOCIAL NETWORK "KELEBIHAN DAN KEKURANGAN FACEBOOK"

D.KELEBIHAN DAN KEKURANGAN 
KELEBIHAN :


1.Clean Layout, layout yang sangat baik walaupun ada beberapa menu yang posisinya tidak gampang ditemukan.


2.No advertising, tanpa banner ataupun iklan gambar yang mencolok. Facebook memiliki block atau feature yaitu flayer untuk mengiklankan sesuatu tapi pengguna tidak akan menyangka itu adalah iklan.


3.Network, pada awal pembuatan account kita disuruh memilih jaringan utam kita berdasarkan negara. Dengan fitur ini kita dengan mudah menemukan teman yang berada di Indonesia.


4.Group, berbeda dengan Friendster yang mengharuskan kita membuat account untuk komunitas atau sekolah di Facebook kita bisa membuat group dimana group ini memiliki fitur yang sangat baik untuk membentuk komunitas online seperti diskusi, foto, wall atau testimonial, dan fitur lainnya.


5.Photo Album, kita bisa membuat foto album sehingga foto kita bisa dibuat kategori. Dan fantastisnya jumlah foto tidak dibatasi alias unlimited.


6.Selling, Facebook memiliki fitur yang memungkinkan kita menawarkan barang atau jasa ke pengguna lainnya. Berbeda dengan Friendster yang cuma menyediakan buletin.


7.Event, kita bisa mengisi event atau kegiatan yang kita ingin pengguna lain tahu. Misalnya ada party, atau launching produk kita bisa mengisi event dan pengguna lain bisa melihatnya. Di friendster lagi-lagi cuma bisa masuk di bulletin.


8.Status update, kita bisa mengisi status kita sedang apa saja. Misalnya lagi dirumah, trus pergi kuliah, semua itu bisa diupdate dan bisa dilihat oleh pengguna lain. Jadi kita bisa tau kegiatan sehari-hari teman kita.


9.Mobile access, fitur yang sangat mobile. Kita bisa update status, add friend, atau kegiatan di Facebook lainnya dengan mengirim SMS. Hampir sama dengan SMS Banking.


10.Mobile Browsing, bisa mengakses website Facebook langsung dari handphone kamu. Dengan tampilan yang disesuaikan kondisi handphone akses lebih mudah dan cepat dibanding mengakses website dengan tampilan desktop dari handphone.


11.Anti Fake account and Spam, Facebook memiliki fitur yang mantap mencegah account palsu dan spam. Untuk mendaftar dengan nama yang bisa dicurigai account palsu kita harus mengirim request ke email untuk dibuatkan account oleh technical support Facebook. Untuk tiap aksi posting maka kita harus mengisi CAPTCHA untuk mencegah spam, bila tidak ingin terus menggunakan CAPTCHA, kita bisa menverifikasi account dengan mengirim konfirmasi ke HP kita dan kemudian mengisi form verifikasi sesuai kode yang dikirim ke account kita.


12.Develop your Facebook widget, kita bisa membangun aplikasi kemudian dipasang di profil kita menggunakan API dari Facebook platform. Bisa buat game, feed reader, dan aplikasi lainnya.


13.Bandwith yang dipakai tidak terlalu besar, sehingga Surf di Facebook lebih cepat daripada di Friendster.


14.Tag Photo dengan fitur ini, maka saat foto bersama, sesama pengguna facebook bisa “tagging” atau menandai orang lain yang ada dalam foto tersebut, dan akan terkirim ke facebook orang yang di tag.


15.Banyak game bagus yang bisa langsung dimainin di facebook langsung. Selain itu Top quality girl dah pada pindah haluan ke Facebook ;D hehe..




KEKURANGAN :


1.Pada saat sign up terkadang membingungkan para pengguna yang awam.


2.Karena banyaknya fitur sehingga buat user yang masih awal pasti merasa bingung.


3.Aplikasinya tidak dibatas, sehingga banyaknya aplikasi yang dipasang membuat beberapa orang jengkel karena harus lama meload halaman. Selain itu menurut beberapa orang mengalami kesulitan ketika join aplikasi.


4.Banyaknya invitasi aplikasi terkadang membuat beberapa orang jengkel.


5.Facebook kurang friendly sama orang yang suka gonta ganti background dan layout. Sehingga terasa lebih monoton.


6.Pengguna Facebook di Indonesia masih sedikit jika dibandingkan Friendster.


7.Facebook masih terasa exclusive sehingga belum merakyat seperti Friendster


8.Mengekslorasinya masih belum sebebas friendster
  
E.KEAMANAN / SECURITY
FACEBOOK telah merilis detail dari infrastruktur keamanan yang luar biasa ia gunakan untuk melawan spam dan penipuan cyber.
Dikenal sebagai Sistem kekebalan Facebook (FIS), jaringan pertahanan besar muncul untuk menjadi sukses: The dirilis oleh perusahaan ini menunjukkan minggu itu kurang dari 1 persen dari spam pengalaman pengguna. Namun itu tidak sempurna. Para peneliti telah membangun serangan baru yang menghindar dari cyber pertahanan dan diekstraksi bahan pribadi dari account pengguna yang sebenarnya 'Facebook.
Hanya butuh tiga tahun untuk FIS berkembang dari awal dasar menjadi siap-lihat algoritma yang memonitor setiap foto diposting ke jaringan, setiap status update-memang, setiap klik yang dilakukan oleh setiap orang dari 800 juta pengguna. Ada lebih dari 25 miliar dari "tindakan membaca dan menulis" setiap hari. Pada puncak aktivitas sistem akan memeriksa tindakan 650.000 detik.

F.PEMANFAATAN DAN PENGEMBANGAN DI MASA DEPAN
Awal mula Facebook hanya di gunakan untuk mencari teman, mempebarui status, dsb.  Sekarang Facebook  juga bisa di gunakan untuk mencari sumber informasi terbaru, media pembelajaran, tempat untuk berdagang. Bahkan sekarang Facebook juga sudah di penuhi oleh aplikasi permainan yg di mana kita bisa bermain bersama teman-teman yang ada di Facebook kita. Menurut saya Facebook masih dapat berkembang dengan pesat lagi mungkin nanti dengan ada'a fitur-fitur baru yang dapat menarik hati seluruh penduduk dunia, entah aplikasi'a yang tidak hanya untuk game saja. Patut di tunggu perkembangan'a???     
SUMBER:
- http://www.makeuseof.com/tag/facebook-work-nuts-bolts-technology-explained/
- http://id.wikipedia.org/wiki/Facebook
- http://www.webmasterworld.com/facebook/4380068.htm
- http://id.answers.yahoo.com/question/index?qid=20090411031607AAE8pmC

Jumat, 23 Maret 2012

PROGRAM DETERMINAN MATRIKS

Tugas Pemrograman Berbasis objek menggunakan bahasa pemrograman java :D

CODING

import javax.swing.*;
public class determinan
{
    public static void main (String[]args)
   {
        System.out.println("Ordo Matriks3x3");
        int [][] matriks = new int [3][3];
        System.out.println("Masukan Elemen Matriks = ");
        for (int i=0; i<3; i++)
        {
            for (int j=0; j<3; j++)
            {
                matriks [i][j] = Integer.parseInt (JOptionPane.showInputDialog
                ("Elemen [ "+(i+1)+" , "+(j+1)+" ]"+" = "));
            }
        }
        for (int i=0; i<3; i++)
        {
            System.out.print("| ");
            for (int j=0; j<3; j++)
            {
                System.out.print(matriks[i][j]+" ");
            }
            System.out.println("|");
        }
        int dtr = (((matriks[0][0]*matriks[1][1]*matriks[2][2])
                  +(matriks[0][1]*matriks[1][2]*matriks[2][0])
                  +(matriks[0][2]*matriks[1][0]*matriks[2][1]))
                  -((matriks[2][0]*matriks[1][1]*matriks[0][2])
                  +(matriks[2][1]*matriks[1][2]*matriks[0][0])
                  +(matriks[0][1]*matriks[1][0]*matriks[2][2])));
        System.out.println("Determinannya = "+dtr);
    }
}

OUTPUT

Pada saat anda menjalankan program akan keluar tampilan seperti berikut.
selanjutnya, anda diminta memasukkan input hingga elemen ke [3,3] jadi total ada 9 inputan.
Setelah memasukan input, maka hasil determinan akan tampil seperti berikut :


LOGIKA
- import javax.swing.*;
   Digunakan untuk mengimport class JOptionPane dari package javax.swing.
- int [][] matriks = new int [3][3];
   Digunakan untuk memasukkan nilai inputan baris (i) dan kolom (j)
- matriks [i][j] = Integer.parseInt (JOptionPane.showInputDialog
   Digunakan untuk menampilkan kotak inputan dan nilai yang di masukkan akan di deklarasi 
   integer i dan j, yg di mana dimulai dari 0 (nol) dan kurang  dari 3
- int dtr = (((matriks[0][0]*matriks[1][1]*matriks[2][2])
                  +(matriks[0][1]*matriks[1][2]*matriks[2][0])
                  +(matriks[0][2]*matriks[1][0]*matriks[2][1]))
                  -((matriks[2][0]*matriks[1][1]*matriks[0][2])
                  +(matriks[2][1]*matriks[1][2]*matriks[0][0])
                  +(matriks[0][1]*matriks[1][0]*matriks[2][2])));
        System.out.println("Determinannya = "+dtr);
   Digunakan untuk mendeklarasi operasi determinan pada matriks dengan aturan sarrus.
 
Terima kasih, sekian pembahasan dari saya
(Teman kelompok : http://jonathan54.blogspot.com/) 

Sabtu, 10 Maret 2012

SOCIAL NETWORK "FACEBOOK"

Facebook adalah sebuah layanan jejaring sosial dan situs web yang diluncurkan pada Februari 2004 yang dioperasikan dan dimiliki oleh Facebook, Inc. Pada Januari 2011, Facebook memiliki lebih dari 600 juta pengguna aktif. Pengguna dapat membuat profil pribadi, menambahkan pengguna lain sebagai teman dan bertukar pesan, termasuk pemberitahuan otomatis ketika mereka memperbarui profilnya. Selain itu, pengguna dapat bergabung dengan grup pengguna yang memiliki tujuan tertentu, diurutkan berdasarkan tempat kerja, sekolah, perguruan tinggi, atau karakteristik lainnya. Nama layanan ini berasal dari nama buku yang diberikan kepada mahasiswa pada tahun akademik pertama oleh administrasi universitas di AS dengan tujuan membantu mahasiswa mengenal satu sama lain. Facebook memungkinkan setiap orang berusia minimal 13 tahun menjadi pengguna terdaftar di situs ini.

Facebook didirikan oleh Mark Zuckerberg bersama teman sekamarnya dan sesama mahasiswa ilmu komputer Eduardo Saverin, Dustin Moskovitz dan Chris Hughes. Keanggotaan situs web ini awalnya terbatas untuk mahasiswa Harvard saja, kemudian diperluas ke perguruan lain di Boston, Ivy League, dan Universitas Stanford. Studi Compete.com bulan Januari 2009 menempatkan Facebook sebagai layanan jejaring sosial paling banyak digunakan menurut pengguna aktif bulanan di seluruh dunia, diikuti oleh MySpace. Entertainment Weekly menempatkannya di daftar "terbaik" akhir dasawarsa dengan komentar, "Bagaimana cara kita menguntit bekas kekasih kita, mengingat ulang tahun rekan kerja kita, mengganggu teman kita, dan memainkan permainan Scrabulous sebelum Facebook diciptakan?" Quantcast memperkirakan Facebook memiliki 135,1 juta pengunjung bulanan di AS pada Oktober 2010.

A.SEJARAH
Mark Zuckerberg menciptakan Facemash, pendahulu Facebook, tanggal 28 Oktober 2003 ketika berada di Harvard sebagai mahasiswa tahun kedua. Menurut The Harvard Crimson, situs ini mirip dengan Hot or Not, dan menggunakan "foto yang diperoleh dari Facebook (buku wajah) daring di sembilan asrama, menempatkan dua foto berdampingan pada satu waktu dan meminta pengguna memilih yang mana yang paling seksi".
Untuk menyelesaikannya, Zuckerberg meretas ke bagian jaringan komputer Harvard yang dilindungi dan menyalin gambar-gambar ID pribadi asrama. Harvard pada waktu itu tidak memiliki "buku wajah" (direktori berisi foto dan informasi dasar) mahasiswa. Facemash menarik 450 pengunjung dan 22.000 tampilan foto pada empat jam pertama mengudara.

Situs ini langsung diteruskan ke beberapa server grup kampus, namun dimatikan beberapa hari kemudian oleh administrasi Harvard. Zuckerberg dihukum karena menembus keamanan kampus, melanggar hak cipta, dan melanggar privasi individu, dan terancam dikeluarkan. Namun, hukuman tersebut dibatalkan. Zuckerberg memperluas proyek awalnya ini pada semester tersebut dengan membuat peralatan studi sosial untuk menghadapi ujian final sejarah seni, dengan mengunggah 500 lukisan Augusta ke situs webnya, dengan satu gambar per halaman disertai kotak komentar. Ia membuka situs tersebut kepada teman sekelasnya, dan mereka mulai saling berbagi catatan.

Pada semester berikutnya, Zuckerberg mulai menulis kode untuk situs web baru pada Januari 2004. Ia terinspirasi, katanya, oleh editorial The Harvard Crimson tentang insiden Facemash. Pada 4 Februari 2004, Zuckerberg meluncurkan "The Facebook" yang awalnya berada di situs web TheFacebook.com.
Enam hari setelah situs ini diluncurkan, tiga senior Harvard, Cameron Winklevoss, Tyler Winklevoss, dan Divya Narendra, menuduh Zuckerberg sengaja mengalihkan mereka agar mereka percaya ia membantu mereka membuat jejaring sosial bernama HarvardConnection.com, sementara ia menggunakan ide mereka untuk membuat sebuah produk saingan. Ketiganya mengeluh kepada Harvard Crimson, dan surat kabar ini memulai sebuah investigasi. Tiga senior tersebut mengajukan tuntutan hukum terhadap Zuckerberg yang akhirnya diselesaikan.

Keanggotaan awalnya dibatasi kepada mahasiswa Harvard College saja, dan pada bulan pertama, lebih dari setengah mahasiswa sarjana di Harvard terdaftar di situs ini. Eduardo Saverin (pebisnis), Dustin Moskovitz (programer), Andrew McCollum (seniman grafis), dan Chris Hughes segera bergabung dengan Zuckerberg untuk membantu mempromosikan situs web ini. Bulan Maret 2004, Facebook memperluas diri ke Stanford, Columbia, dan Yale. Situs ini kemudian dibuka ke sekolah Ivy League lain, Universitas Boston, Universitas New York, MIT, dan secara perlahan beberapa universitas di Kanada dan Amerika Serikat.
Facebook diinkorporasikan pada musim panas 2004, dan pengusaha Sean Parker, yang sering memberi saran kepada Zuckerberg, diangkat sebagai presiden perusahaan. Bulan Juni 2004, Facebook memindahkan pusat operasinya ke Palo Alto, California. Perusahaan ini menerima investasi pertamanya pada bulan itu dari pendiri pendamping PayPal, Peter Thiel. Perusahaan ini menghapus The dari namanya setelah membeli nama ranah facebook.com pada tahun 2005 dengan nilai $200.000.
Facebook meluncurkan versi sekolah menengah atas pada September 2005 yang dianggap Zuckerberg sebagai tahap logis selanjutnya. Pada waktu itu, jaringan sekolah menengah membutuhkan undangan untuk bergabung. Facebook kemudian memperluas persyaratan keanggotaannya kepada karyawan dari sejumlah perusahaan, termasuk Apple Inc. dan Microsoft. Facebook kemudian dibuka tanggal 26 September 2006 kepada setiap orang yang berusia 13 tahun dan ke atas dengan alamat surel yang sah.

Pada 24 Oktober 2007, Microsoft mengumumkan bahwa mereka telah membeli 1,6% saham Facebook senilai $240 juta, sehingga memberikan Facebook nilai sebesar $15 milyar. Pembelian oleh Microsoft ini meliputi hak mereka untuk menempatkan iklan internasional di Facebook. Bulan Oktober 2008, Facebook mengumumkan bahwa mereka akan membuka kantor pusat internasional di Dublin, Irlandia. Bulan September 2009, Facebook mengatakan bahwa mereka mengalami arus kas positif untuk pertama kalinya. Bulan November 2010, menurut SecondMarket Inc., sebuah bursa saham perusahaan swasta, nilai Facebook mencapai $41 milyar (mengalahkan eBay secara tipis) dan menjadi perusahaan web terbesar ketiga di AS setelah Google dan Amazon. Facebook telah diincar sebagai kandidat berpotensi untuk penawaran umum perdana pada 2013.

Lalu lintas ke Facebook meningkat stabil setelah 2009. Jumlah pengunjung Facebook mengalahkan Google pada 13 Maret 2010. Facebook juga menjadi jejaring sosial teratas dari delapan pasar perorangan di Asia, yaitu Filipina, Australia, Indonesia, Malaysia, Singapura, Selandia Baru, Hong Kong dan Vietnam, sementara merek lain masih mempertahankan posisi teratas mereka di beberapa pasar, termasuk Orkut milik Google di India, Mixi.jp di Jepang, CyWorld di Korea Selatan, dan Wretch.cc milik Yahoo! di Taiwan. 

B.KONSEP
Pengguna dapat membuat profil dilengkapi foto, daftar ketertarikan pribadi, informasi kontak, dan informasi pribadi lain. Pengguna dapat berkomunikasi dengan teman dan pengguna lain melalui pesan pribadi atau umum dan fitur obrolan. Mereka juga dapat membuat dan bergabung dengan grup ketertarikan dan "halaman kesukaan" (dulu disebut "halaman penggemar" hingga 19 April 2010), beberapa di antaranya diurus oleh banyak organisasi dengan maksud beriklan.

Untuk mencegah keluhan tentang privasi, Facebook mengizinkan pengguna mengatur privasi mereka dan memilih siapa saja yang dapat melihat bagian-bagian tertentu dari profil mereka. Situs web ini gratis untuk pengguna dan mengambil keuntungan melalui iklan seperti iklan spanduk. Facebook membutuhkan nama pengguna dan foto profil (jika ada) agar dapat diakses oleh setiap orang. Pengguna dapat mengontrol siapa saja yang dapat melihat informasi yang mereka bagikan, juga menemukannya melalui pencarian dengan memanfaatkan pengaturan privasi.

Facebook memiliki sejumlah fitur yang dapat berinteraksi dengan pengguna. Salah satunya adalah Dinding, kotak di setiap halaman profil pengguna yang mengizinkan teman mereka mengirimkan pesan kepada pengguna tersebut; Colek, yang memungkinkan pengguna mengirimkan "colekan" virtual satu sama lain (pemberitahuan memberitahu pengguna bahwa mereka telah dicolek); Foto, tempat pengguna dapat mengunggah album dan foto; dan Status, yang memungkinkan pengguna untuk memberitahukan teman mereka mengenai keberadaan dan tindakan mereka saat itu. Tergantung pengaturan privasinya, setiap orang yang dapat melihat sebuah profil pengguna dapat juga melihat Dinding pengguna. Bulan Juli 2007, Facebook mulai mengizinkan pengguna mengirimkan lampiran di Dinding, berbeda dari Dinding sebelumnya yang terbatas pada konten teks saja.

Sepanjang waktu, Facebook menambahkan fitur ke situsnya. Pada 6 September 2006, News Feed diluncurkan yang ditempatkan di setiap halaman utama pengguna dan memberitahukan informasi seperti perubahan profil, acara berikutnya, dan ulang tahun teman pengguna. Hal ini memungkinkan pengirim spam dan pengguna lain memainipulasi fitur-fitur tersebut dengan membuat acara bohong atau ulang tahun bohong demi menarik perhatian ke profil atau kampanye tersebut. Awalnya, News Feed memunculkan ketidakpuasan di antara pengguna Facebook; sejumlah di antaranya mengeluh karena terlalu berantakan dan penuh dengan informasi yang tidak perlu, sementara pengguna lain menganggapnya mudah bagi pengguna untuk melacak aktivitas seseorang (seperti perubahan status hubungan, acara, dan percakapan dengan pengguna lain).

Sebagai respon, Zuckerberg mengirimkan permintaan maafnya atas kegagalan situs ini untuk memasukkan fitur privasi yang dapat diatur sendiri. Sejak itu, pengguna mulai mendapat kontrol terhadap jenis-jenis informasi apa saja yang dapat dibagikan secara otomatis kepada teman. Sekarang pengguna mampu mencegah sekelompok teman melihat pembaruan aktivitas-aktivitasnya seperti perubahan profil, kiriman Dinding, dan teman yang baru ditambahkan. Tanggal 23 Februari 2010, Facebook diberikan paten terhadap serangkaian aspek News Feed-nya. Paten ini mencakup News Feed ketika pranala dikirimkan sehingga satu pengguna dapat berpartisipasi dalam aktivitas yang sama seperti pengguna lain. Paten ini mendorong Facebook untuk mengambil tindakan terhadap situs-situs yang melanggar patennya, seperti Twitter.

Salah satu aplikasi paling populer di Facebook adalah Foto, tempat pengguna dapat mengunggah album dan foto. Facebook mengizinkan pengguna untuk mengunggah foto dalam jumlah tak terbatas, dibandingkan layanan penyimpanan gambar seperti Photobucket dan Flickr yang membatasi jumlah foto yang dapat diunggah seseorang. Pada tahun-tahun pertamanya, pengguna Facebook dibatasi untuk mengunggak 60 foto per album. Pada Mei 2009, batas ini dinaikkan menjadi 200 foto per album.

C.TEKNOLOGI YANG DI GUNAKAN
Facebook menggunakan berbagai layanan, peralatan, dan bahasa pemrograman untuk membuat infrastruktur intinya. Pada ujung depan, server mereka menjalankan LAMP (Linux, Apache, MySQL, dan PHP) stack dengan Memcache. Bukan seorang ahli ilmu komputer? Mari kita lihat apa yang berarti.

Linux & Apache

bagaimana facebook bekerja
Bagian ini cukup jelas. Linux adalah Unix-seperti operasi komputer kernel sistem. Itu open source, sangat dapat disesuaikan, dan baik untuk keamanan. Facebook menjalankan sistem operasi Linux pada Server Apache HTTP. Apache juga gratis dan merupakan sumber yang paling populer web server terbuka digunakan.

MySQL

bagaimana facebook bekerja
Untuk database, menggunakan MySQL Facebook karena kecepatan dan kehandalan. MySQL digunakan terutama sebagai penyimpan nilai kunci sebagai data secara acak didistribusikan antara satu set besar kasus logis. Contoh-contoh logis tersebar di node fisik dan load balancing dilakukan di tingkat simpul fisik. Sejauh kustomisasi yang bersangkutan, Facebook telah mengembangkan skema partisi kustom di mana ID global yang ditugaskan untuk semua data. Mereka juga memiliki skema pengarsipan kustom yang didasarkan pada bagaimana data yang sering dan terakhir adalah pada basis per-user. Kebanyakan data didistribusikan secara acak.

PHP

bagaimana facebook bekerja
Facebook menggunakan PHP karena merupakan bahasa pemrograman web yang baik dengan dukungan yang luas dan komunitas pengembang yang aktif dan itu baik untuk iterasi yang cepat. PHP adalah bahasa scripting dinamis mengetik / ditafsirkan.

Memcache

bagaimana facebook bekerja
Memcache adalah sistem caching memori yang digunakan untuk mempercepat dinamis database-driven website (seperti Facebook) dengan caching data dan objek dalam RAM untuk mengurangi waktu membaca. Memcache adalah bentuk utama Facebook caching dan membantu meringankan beban database.
Memiliki sistem caching karena memungkinkan Facebook agar bisa lebih cepat pada mengingat data Anda. Jika tidak harus pergi ke database itu hanya akan mengambil data dari cache berdasarkan user ID.


Backend layanan Facebook yang ditulis dalam berbagai bahasa pemrograman yang berbeda termasuk C + +, Java, Python, dan Erlang. Filsafat mereka untuk penciptaan layanan adalah sebagai berikut:
1. Buat layanan jika diperlukan
2. Buat kerangka / toolset untuk penciptaan mudah layanan
3. Gunakan bahasa pemrograman yang tepat untuk tugas
Daftar semua perkembangan yang terbuka Facebook sumber dapat ditemukan di sini . Saya akan membahas beberapa alat-alat penting bahwa Facebook telah dikembangkan.

Thrift (protokol)

Thrift adalah prosedur ringan kerangka panggilan jarak jauh untuk scalable lintas bahasa pengembangan layanan. Thrift mendukung C + +, PHP, Python, Perl, Java, Ruby, Erlang, dan lainnya. Ini cepat, menghemat waktu pengembangan, dan menyediakan pembagian kerja yang bekerja pada server kinerja tinggi dan aplikasi.

Scribe (log server)

Scribe adalah server untuk menggabungkan data log streaming secara real-time dari server lainnya. Ini adalah kerangka kerja terukur yang berguna untuk logging beragam data. 

Cassandra (database)

bagaimana facebook bekerja
Cassandra adalah sistem manajemen database yang dirancang untuk menangani sejumlah besar data tersebar di banyak server. 

Hiphop untuk PHP

Hiphop untuk PHP adalah kode sumber transformator untuk kode script PHP dan diciptakan untuk menghemat sumber daya server. HipHop mengubah source code PHP ke dioptimalkan C + +. Setelah melakukan hal ini, ia menggunakan g + + untuk mengkompilasi ke kode mesin.
    
SUMBER:
- http://www.makeuseof.com/tag/facebook-work-nuts-bolts-technology-explained/
- http://id.wikipedia.org/wiki/Facebook
- http://www.webmasterworld.com/facebook/4380068.htm
- http://id.answers.yahoo.com/question/index?qid=20090411031607AAE8pmC