Mutiara. Diberdayakan oleh Blogger.
RSS

Perbedaan Antara Perancangan Terstruktur dan Berorientasi Objek





Perbedaan Antara Perancangan Terstruktur dan Berorientasi Objek

Pada pengembangan suatu sistem informasi ada beberapa metode perancangan, diantaranya yaitu perancangan terstruktur dan berorientasi objek. Disini akan dijelaskan perbedaan antara kedua metode perancangan tersebut.

Perancangan Terstruktur (Structured Analisys and Design / SSAD)
Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata.
Perancangan ini bertujuan untuk membuat model SOLUSI terhadap PROBLEM yang sudah dimodelkan secara lengkap pada tahap analisis terstruktur.

Ada empat kegiatan perancangan yang harus dilakukan, yaitu:
1.      Perancangan arsitektural; kita merancang struktur modul P/L dengam mengacu pada model analisis yang sesuai (DFD). Langkahnya adalah: mengidentifikasi jenis aliran (transform flow atau transaction flow), menemukan batas-batas aliran (incoming flow dan outgoing flow), kemudian memetakannya menjadi striktur hirarki modul. Selanjutnya, kita alokasikan fungsi-fungsi yang harus ada pada modul-modul yang tepat.
2.      Perancangan data; kita merancang struktur data yang dibutuhkan, serta merancang skema basisdata dengan mengacu pada model analisis yang sesuai (ERD).
3.      Perancangan antarmuka; kita merancang antarmuka P/L dengan pengguna, antarmuka dengan sistem lain, dan antarmuka antar-modul.
4.      Perancangan prosedural; kita merancang detil dari setiap fungsi pada modul. Notasi yang digunakan bisa berupa flow chart, algoritma, dan lain-lain.
     Pastikan bahwa model perancangan yang dibuat sudah mengakomodasi kebutuhan non fungsional.
Berikut ini merupakan kelebihan dan kekurangan metode perancangan terstruktur :

Kelebihan
  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
  • SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relatif simpel dan mudah dimengerti.
Kekurangan
  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
  • Sedikit sekali manajemen langsung terkait dengan SSAD
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
  • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
  • Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
  • SSAD tidak selalu memenuhi kebutuhan pengguna.
  • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).


Perancangan Berbasis Objek (Object-oriented Analysis and Design / OOAD)
   Metode OOAD melakukan pendekatan terhadap masalah dari perspektif obyek, tidak pada perspektif fungsional seperti pada pemrograman terstruktur. 
   Akhir-akhir ini penggunakan OOAD meningkat dibandingkan dengan pengunaan metode pengembangan software dengan metode tradisional. Sebagai metode baru dan sophisticated bahasa pemrograman berorientasi obyek diciptakan, hal tersebut untuk memenuhi peningkatan kebutuhan akan pendekatan berorientasi obyek pada aplikasi bisnis.
   Metode pengembangan perangkat lunak berorientasi objek yang sudah dikenal, dan diantaranya adalah :
  • Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon [1990].
  • Object Modeling Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991].
  • Object Oriented Software Engineering (OOSE) dan Ivar Jacobson [1992].
  • Booch Method dan Grady Booch [1994].
  • Sritrop dan Steve Cook dan John Daniels [1994].
  • UML (Unified Modeling Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].

Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama, yaitu:
1.  Encapsulation
  •  Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses.
  •  Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya.
  •  Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.

2.  Inheritance
  •  Inheritance adalah teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung. Atribut dan metode dari objek dari objek induk diturunkan kepada anak objek, demikian seterusnya.
  • Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki bersama di anatara kelas yang mempunyai hubungan secara hirarki.
  •  Inheritance menggambarkan generalisasi sebuah kelas.

3.  Polymorphism
  •  Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda.
  •  Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama.
  •  Seleksi dari metode yang sesuai bergantung pada kelas yang seharusnya menciptakan objek.


Kelebihan dan kekurangan dari metode perancangan ini adalah sebagai berikut :
Kelebihan
  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
  • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
  • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
  • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
  • Pada awal desain OOAD, sistem mungkin akan sangat simple.
  • Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
  • Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
  • Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
  • Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
  • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
  • Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).
  

Pemrograman Berorientasi Objek 

   Pemrograman berorientasi objek (dalam inggris : object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek.
   Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar.
   Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:
1. Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of dog’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

2.  Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputerobjek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.

3.  Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari “pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
4.  Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

5.  Polimorfisme Dengan melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan  bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

6. Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.
Sumber :

PERBEDAAN PEMROGRAMAN BERORIENTASI OBJEK DAN PEMROGRAMAN TERSTRUKTUR

Pengertian Pemrograman Berorientasi Objek

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Bahasa pemrograman yang mendukung OOP antara lain:
1.     Visual Foxpro
2.     Java
3.     C++
5.     Visual Basic.NET
6.     SIMULA
7.     Smalltalk
8.     Ruby
9.     Python
10.   PHP
11.   C#
12.   Delphi
13.   Eiffel
14.   Perl

Pengertian Pemrograman Terstruktur

Pemrograman Terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dalam bentuk program.
Selain pengertian diatas Pemrograman Terstruktur adalah suatu aktifitas pemrograman dengan memperhatikan urutan langkah-langkah perintah secara sistematis, logis , dan tersusun berdasarkan algoritma yang sederhana dan mudah dipahami.
Prinsip dari pemrograman terstruktur adalah Jika suatu proses telah sampai pada suatu titik / langkah tertentu , maka proses selanjutnya tidak boleh mengeksekusi langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah – langkah untuk proses berulang (Loop).

 Bahasa pemrograman yang mendukung pemrograman terstruktur:
1.Cobol Turbo Prolog
2.C
3.Pascal
4.Delphi
5.Borland Delphi

Dilihat dari pengertian di atas, pemrograman terstruktur memilki beberapa sifat – sifat seperti :
a. Memuat teknik pemecahan masalah yang logis dan sistematis
b. Memuat algoritma yang efisien, efektif dan sederhana
c. Program disusun dengan logika yang mudah dipahami
d. Tidak menggunakan perintah GOTO
e. Biaya pengujian program relatif rendah
f. Memiliki dokumentasi yang baik
g. Biaya perawatan dan dokumentasi yang dibutuhkan relatif rendah
Berdasarkan penjelasan diatas, sangat jelas sekali bahwa pemrograman tersktruktur unggul dalam melakukan pemrograman sederhana karena lebih efisien dan lebih murah dalam hal perawatannya tetapi permodelan ini lebih susah untuk dipahami oleh orang – orang selain pembuat program itu sendiri (contohnya ketika dlakukan tracing program ).
Sementara itu pemrograman berorientasi objek memliki beberapa keuntungan seperti :
1.maintenance; program lebih mudah dibaca dan dipahami, dan pemrograman berorientasi obyek mengontrol kerumitan program hanya dengan mengijinkan rincian yang dibutuhkan untuk programmer.
2.pengubahan program (berupa penambahan atau penghapusan fitur tertentu); perubahan yang dilakukan antara lain menyangkut penambahan dan penghapusan dalam suatu database program misalnya.
3.dapat digunakannya obyek-obyek sesering yang diinginkan, kita dapat menyimpan obyek-obyek yang yang dirancang dengan baik ke dalam sebuah tolkit rutin yang bermanfaat yang dapat disisipkan kedalam kode yang baru dengan sedikit perubahan atau tanpa perubahan pada kode tersebut.
jadi, sangat jelas sekal bahwa pemrograman berorientasi objek sangat cocok sekali digunakan dalam kasus pembuatan software yang rumit dan kompleks karena memberikan berbagai kemudahan kepada pemrogram seperti yang telah disebutkan diatas.
permodelan yang mana yang lebh bagus? itu tergantung dari kebutuhan dan dari sudut pandang mana anda melihatnya. Yang perlu anda ingat adalah tujuan dari pemodelan itu sendiri, yang mana agar pada akhir proyek sistem dapat diperoleh sistem informasi yang memenuhi kebutuhan pemakai, tepat waktu dan sesuai anggaran, serta mudah digunakan, dimengerti dan dipelihara

Perbedaan mendasar antara OOP dan pemrograman terstruktur adalah:

Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman terstruktur,  menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur.
Untuk tata nama, keduanya pun memiliki tatanan yang sama walaupun memiliki pengertian tersendiri:
  • object oriented menggunakan “method” sedangkan terstruktur menggunakan “function”. Bila di OOP sering didengar mengenai “objects” maka di terstruktur kita mengenalnya dengan ” modules”. Begitu pula  halnya dengan “message” pada OO dan “argument” pada terstruktur. “attribute” pada OO juga memiliki tatanan nama yang sepadan dengan “variabel” pada pemrograman terstruktur.
Persamaan kedua pemrogaman
adalah keduanya termasuk ke dalam pemodelan pemrograman yang digunakan dewasa ini.

Mana yang lebih baik
tidak ada yang dapat dikatakan lebih baik karena keduanya memiliki spesifikasi tersendiri dalam pemrogramannya. Hal ini juga tergantung pada bagaimana pribadi si pemrogram ingin menyusun program yang akan dibuatnya. Apakah lebih suka menggunakan yang berorientasikan pada objek maupun pemrograman yang terstruktur.

Kapan sama-sama baik

Pemrograman prosedural akan dikatakan lebih baik apabila dalam segala situasi melibatkan kompleksitas moderat atau yang memerlukan signifikan kemudahan maintainability. Manfaat yang dirasakan dalam penggunaan pemrograman prosedural adalah kemampuan kembali menggunakan kode yang sama tanpa menggunakan kode yang berbeda ataupun mengkopinya kembali. Dengan menggunakan “goto”, memudahkan programmer melacak kumpulan data sehingga menghindarkan pemrograman terstruktur menjadi seperti spagethii code.

Pemrograman berorientasikan objek dikatakan lebih baik apabila Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Referensi :
·         wikipeda.co.id
·         darkdevil4bloodyvenus.wordpress.com
·         myblogar.blogspot.com
·         www.ms-room.com
·         http://yaniwid.wordpress.com/2008/08/26/perancangan-terstruktur/
·         http://supriliwa.wordpress.com/2010/05/07/perbandingan-metode-terstruktrur-dan-obyek-oriented-pada-pengambangan-sistem-informasi/

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Sejarah, konsep serta teknologi yang di gunakan di FACEBOOK :D

FACEBOOK
            Sebelum kita mengetahui sejarah, konsep serta teknologi yang di gunakan pada Facebook sebelumnya kita perlu tahu apa itu 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. Situs ini secara perlahan membuka diri kepada mahasiswa di universitas lain sebelum dibuka untuk siswa sekolah menengah atas, dan akhirnya untuk setiap orang yang berusia minimal 13 tahun.
               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. Menurut Social Media Today pada April 2010, diperkirakan bahwa 41,6% penduduk Amerika Serikat memiliki akun Facebook. 

Sejarah Facebook 
          Normal 0 false false false false IN X-NONE X-NONE ark 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".
Mark Zuckerberg membantu menciptakan Facebook di kamar asramanya di Harvard.
            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.
Konsep yang digunakan Facebook

Normal 0 false false false IN X-NONE X-NONE Media sering memperbandingkan Facebook dengan MySpace, namun satu perbedaan utama di antara kedua situs tersebut adalah tingkat kustomisasinya. Perbedaan lainnya adalah persyaratan Facebook agar pengguna dapat mengatur identitas asli mereka, dan langkah tersebut tidak diterapkan di MySpace. MySpace mengizinkan pengguna mendekorasi profil mereka menggunakan HTML dan Cascading Style Sheets (CSS), sementara Facebook hanya mengizinkan teks mentah. 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).
Facebook Notes diperkenalkan pada 22 Agustus 2006, sebuah fitur blog yang mengizinkan tag dan penanaman gambar. Pengguna dapat mengimpor blog dari Xanga, LiveJournal, Blogger, dan layanan blog lain. Sepanjang minggu 7 April 2008, Facebook merilis aplikasi pesan instan berbasis Comet bernama "Chat" ke sejumlah profil, yang mengizinkan pengguna berkomunikasi dengan teman dan fungsinya sama seperti pengantar pesan instan berbasis desktop.
Facebook meluncurkan Gifts pada 8 Februari 2007 yang memungkinkan pengguna mengirimkan hadiah virtual kepada temannya yang muncul di profil penerima. Masing-masing hadiah berharga $1,00 dan pesan pribadi dapat disertakan pada setiap hadiah. Tanggal 14 Mei 2007, Facebook meluncurkan Marketplace, yang memungkinkan pengguna mengirimkan iklan pendek gratis. Marketplace telah dibanding-bandingkan dengan Craigslist oleh CNET, yang menunjukkan bahwa perbedaan utama antara keduanya adalah daftar yang dikirimkan pengguna di Marketplace hanya bisa dilihat oleh pengguna yang berada di jaringan yang sama seperti pengguna tersebut, sementara daftar yang dikirimkan di Craigslist dapat dilihat oleh semua orang.
 Tanggal 13 Juni 2009, Facebook memperkenalkan fitur "Usernames", yaitu halaman-halaman dapat ditautkan menggunakan URL yang lebih simpel seperti http://www.facebook.com/facebook dibandingkan dengan  http://www.facebook.com/profile.php?id=20531316728. Banyak telepon pintar baru menawarkan akses ke Facebook melalui peramban web atau aplikasi mereka. Aplikasi Facebook yang resmi diluncurkan untuk iPhone OS, Android OS, dan WebOS. Nokia dan Research In Motion menyediakan aplikasi Facebook pada telepon genggam mereka. Lebih dari 150 juta pengguna aktif mengakses Facebook melalui telepon genggam yang terdaftar pada 200 operator di 60 negara.
Tanggal 15 November 2010, Facebook mengumumkan layanan "Facebook Messages" baru. Pada media hari itu, CEO Mark Zuckeberg mengatakan, "memang benar bahwa seseorang dapat memperoleh alamat surel @facebook.com, namun itu bukan surel." Peluncuran fitur tersebut telah diantisipasi sementara waktu sebelum pengumuman ini, dengan sejumlah pengamat menyebutnya sebagai "pembunuh Gmail". Sistem ini, yang akan diluncurkan kepada semua pengguna situs tersebut, menggabungkan pesan teks, pesan instan, surel, dan pesan reguler, dan akan meliputi pengaturan privasi sama seperti layanan Facebook. Dijuluki "Project Titan", Facebook Messages memakan 15 bulan dalam pengembangannya. 

 Teknologi yang digunakan Facebook
             Faktanya Facebok ‘hanyalah’ situs LAMP (Linux-Apache-MySQL-PHP), namun telah memperluas operasinya dan memasukkan banyak unsur-unsur lainnya dan memodifikasinya.
Sebagai contoh :
Sekarang mari bedah teknologi-teknologi pembantu yang dipakai situs jejaring sosial terbesar didunia ini.
  •   MEMCACHED



        Memcached sudah menjadi suatu bagian penting dalam dunia internet saat ini. Ini adalah sistem caching memori terdistribusi yang facebook gunakan sebagai sistem caching antara web server dan database server mereka. Selama bertahun-tahun facebook telah mengoptimalkan memchaced untuk (lagi-lagi) keperluan mereka.
        Facebook telah mempunyai ratusan Memcached server dengan jumlah data yang telah di cache sebesar 10 Terabytes pada waktu satu waktu (kemungkinan ini adalah instalasi memcached terbesar didunia).
  •     HIPHOP FOR PHP 

         PHP ADALAH SCRIPTING LANGUAGE, RELATIF LEBIH LAMBAT JIKA DIBANDINGKAN DENGAN NATIVE LANGUAGE SEPERTI C++. HIPHOP MENGUBAH KODE PHP KE C++ YANG KEMUDIAN DIKOMPILASI UNTUK MENINGKATKAN PERFORMA.

         Sebuah tim kecil di Facebook menghabiskan waktu 18 bulan HANYA untuk mengembangkan Hiphop yang mereka klaim bisa mereduksi CPU usage hingga 50%, dan sekarang telah di rilis ke public untuk anda cicipi.
Dan di perkirakan Facebook juga menggunakan Web 2.0 :
         Web 2.0, adalah sebuah istilah yang dicetuskan pertama kali oleh O'Reilly Media pada tahun 2003, dan dipopulerkan pada konferensi web 2.0 pertama di tahun 2004. merujuk pada generasi yang dirasakan sebagai generasi kedua layanan berbasis web—seperti situs jaringan sosial, wiki, perangkat komunikasi, dan folksonomi—yang menekankan pada kolaborasi online dan berbagi antar pengguna. O'Reilly Media, dengan kolaborasinya bersama MediaLive International, menggunakan istilah ini sebagai judul untuk sejumlah seri konferensi, dan sejak 2004 beberapa pengembang dan pemasar telah mengadopsi ungkapan ini.
          Walaupun kelihatannya istilah ini menunjukkan versi baru daripada web, istilah ini tidak mengacu kepada pembaruan kepada spesifikasi teknis World Wide Web, tetapi lebih kepada bagaimana cara si-pengembang sistem di dalam menggunakan platform web. Mengacu pada Tim Oreilly, istilah Web 2.0 didefinisikan sebagai berikut:
   

Itu lah sejarah , konsep serta teknologi yang digunakan pada facebook. Maav apabila ada kesalahan dan kesamaan. Di ambil dari :
http://rumahdot.com/web-programming/membedah-rahasia-dibalik-teknologi-facebook/

  


Terima Kasih :)

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS