Senin, 16 September 2013

NoSQL ( MongoDB )

Sedikit tentang NoSQL

Sebelum membahas MongoDB, kita perlu kenali dulu konsep NoSQL. NoSQL singkatan dari Not Only SQL. NoSQL sendiri adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS atau ODBMS. Perbedaan utamanya sendiri adalah karena tidak mengenal istilah relation dan tidak menggunakan konsep skema. kalau biasanya menggunakan query "Join" disini tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya (independen).

Selain itu kalau di dalam konsep DBMS biasanya sebelum insert data diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.  Adapun beberapa database NoSQL yang ada saat ini yaitu MongoDB, Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya. Tentunya yang akan di bahas di sini secara khusus adalah MongoDB..



Perbedaan NoSQL dengan SQL :

1. Perbedaan utama yang menyolok antara SQL dan NoSQL ada di dalam cara penulisan database mereka. Jika SQL menggunakan relasional sebagai penyambung antara data – data di dalam tabel database mereka. Dan NoSQL tidak menggunakan Relasional sebagai cara mereka untuk menyambungkan antar data mereka. NoSQL menggunakan 4 metode dalam cara mereka untuk menstored data, Key Values stores, Document oriented, Table Oriented, dan terakhir Graph Oriented.
2. Perbedaan yang kedua NoSQL tidak menggunakan Schema relational, jika di dalam SQL kita harus mendefinisikan table yang akan digunakan. Berbeda dengan SQL, NoSQL tidak perlu untuk mendefinisikan terlebih dahulu Table yang akan digunakan.
3. Ketiga NoSQL memiliki kemampuan elastisa yang lebih baik dibandingkan SQL. Untuk menambah jumlah server basis data di dalam NoSQL lebih mudah.
4. Integrated Caching, NoSQl memiliki kemampuan untuk mentransformasikan data dengan lebih cepat hal ini dikarenakan NoSQL menggunakan cache-nya di dalam sistem memori.



MongoDB
  • Apa itu MongoDB?
MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++. MongoDB sendiri sudah dikembangkan oleh 10gen sejak Oktober 2007, namun baru dipublikasikan pada Februari 2009. Selain karena performanya  4 kali lebih cepat dibandingkan MySQL serta mudah diaplikasikan, karena telah tergabung juga sebagai modul PHP.




Dalam konsep MongoDB tidak ada yang namanya tabel, kolom ataupun baris yang ada hanyalah collection (ibaratnya tabel), document (ibaratnya record). Data modelnya sendiri disebut BSON dengan struktur mirip dengan JSON. Strukturnya cukup mudah dibaca, contohnya seperti ini.


{
       "nama" : "Ika",
       "kontak" : {
           "alamat" : "Jl. Imogiri Barat Km. 5",
           "kota" : "Yogyakarta",
           "kodepos" : "55187",
           "telp" : "62857432",
       }
}


Dengan konsep key-value yang ada pada MongoDB, setiap document otomatis memiliki index id yang unik. Hal ini membantu mempercepat proses pencarian data secara global.


  • Sejarah MongoDB:

MongoDb ditulis menggunakan C++, pertama kali di rilis tahun 2009. Saat ini Mongodb telah banyak digunakan dan salah satu penggunanya, MTV Networks, Craiglist, Foursquare, UIDA Aadhaar.
Mongodb dikembangkan oleh 10gen. Pertama kali di kembangkan dimulai tahun Oktober 2007. Dan dipublish pada februari 2009, saat ini Mongodb telah rilis mencapai 2.2.2 saat November 2012. MongoDB dirilis menggunakan GNU Affero General Public License.

  • Kelebihan MongoDB:
1. Performa yang ditawarkan MongoDB lebih cepat dibandingkan MySQL ini disebabkan oleh     memcached dan format dokumennya yang berbentuk seperti JSON
2. Replikasi, adalah fitur yang sangat bermanfaat untuk backup data secara realtime. MongoDB sangat cocok digunakan untuk portal berita ataupun blog, namun belum cocok untuk digunakan pada sistem informasi yang berkaitan dengan keuangan karena MongoDB tidak mendukung transaction SQL
3. Auto-sharding, merupakan fitur untuk memecah database yang besar menjadi beberapa bagian demi optimalisasi performa database. Penggunaannya sendiri sangat berguna ketika memiliki website dengan database yang jutaan baris, sharding akan membantu memecahnya menjadi beberapa bagian
4. MongoDB juga sudah mendukung C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips, Perl, PHP, Python, Ruby dan Scala 
5. Cross-platform, sehingga dapat digunakan di Windows, Linux, OS X dan Solaris
6. Proses CRUD (Create, Read, Update, Delete) terasa sangat ringan
7. Map/Reduce, akan sangat membantu ketika kita melakukan operasi agregasi. Dimana semua entry datangnya dari collection dan outputnya pun akan menjadi collection juga. Kalau di MySQL biasanya kita menggunakan query GROUP BY
8. GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat besar

  • Kekurangan MongoDB :

1. MongoDB harus diinstall di sebuah server.
2. MongoDB belum support di banyak hosting.
3. Tidak cocok untuk aplikasi proses transaksi.


  • Fitur utama dari mongoDB antara lain:

1. Model document-oriented storage
2. Dukungan penuh untuk indexing data
3. Mendukung replikasi database dan trafik data tinggi
4. Auto-sharding (partisi database otomatis)
5. Mendukung fitur map and reduce


  • Instalasi MongoDB
Sebagai contoh kali ini mencoba untuk menginstalasi MongoDB di Windows. Sebelum memulai, Anda harus mengunduh dari link berikut ini (tersedia untuk 32-bit dan 64-bit) http://www.mongodb.org/downloads

Setelah diunduh silahkan diekstrak di drive C (bisa juga di drive lainnya). Buatlah folder sebagai lokasi penyimpanan database misalnya folder DB, dengan path seperti ini :

C:\Mongo\DB

Setelah folder di atas dibuat, lalu buka command prompt dan ketikkan perintah berikut ini:

C:\Mongo\bin>mongod –dbpath=C:\Mongo\DB

Perintah di atas digunakan untuk menjalankan MongoDB, jangan tutup jendela command prompt, tapi buka 1 lagi yang baru ( jadi ada 2 jendela command prompt dibuka). Ketik perintah berikut ini :

C:\Mongo\bin>mongo
MongoDB shell version: 1.8.2
connecting to: test
>
Untuk melihat database apa saja yang ada di MongoDB, ketikkan perintah berikut :

> show dbs;



Demikian sedikit ulasan mengenai MongoDB. Semoga bermanfaat :)

Sumber:

Minggu, 15 September 2013

Search Engine

Search engine merupakan suatu portal website yang menyediakan informasi pencarian data-data yang dibutuhkan pengunjung internet.
Berbagai macam search engine telah disediakan di internet.
Pada postingan kali ini saya akan memberi tahu macam-macam search engine. Langsung saja...

1. Google http://www.google.com )

Google merupakan sebuah perusahaan publik Amerika Serikat, berperan dalam pencarian Internet, Cloud Computing, serta teknologi iklan online & perangkat lunak.



Google didirikan oleh Larry Page dan Sergey Brin ketika mereka masih mahasiswa di Universitas Stanford dan perusahaan ini merupakan perusahaan saham pribadi pada 7 September 1998. Penawaran umum perdananya dimulai pada tanggal 19 Agustus 2004, mengumpulkan dana $1,67 milyar, menjadikannya bernilai $23 milyar. Melalui berbagai jenis pengembangan produk baru, pengambil alihan dan mitra, perusahaan ini telah memperluas bisnis pencarian dan iklan awalnya hingga ke area lainnya, termasuk email berbasis web, pemetaan online, produktivitas perusahaan, dan bertukar video.

Kelebihan
1. Kecepatan dan kemudahan dalam mencari.
2. lebih canggih dengan fitur yang dimilikinya.
3. Tampilan yang sederhana.
4. Google merupakan satu-satunya mesin pencari yang memilki cach. Dengan adanya cache ini, si pencari dapat menghemat waktu pencarian, karena hasil pencarian yang akan ditampilkan.
5. Dapat mencari segala informasi seperti gambar, berita artikel, hiburan dll.

Kekurangan
1. Dengan kelebihan yang dimilikinya, ternyata mesin pencari ini jadi bidikan para spamer untuk menampilkan iklan-iklan yang tidak diperlukan. Mereka memanfaatkan setiap celah yang ada pada sistem algoritma Google untuk memaksa iklan mereka tampil pada halaman terdepan. Maka, pencarian pun terasa terganggu.



2. Yahoo ( http://www.yahoo.com )

Yahoo ialah sebuah perusahaan Internet multinasional yang berpusat di Sunnyvale, California, Amerika Serikat. Perusahaan ini terkenal karena portal webnya, serta mesin pencari (Yahoo! Search), Yahoo! Directory, Yahoo! Mail, Yahoo! News, Yahoo! Finance, Yahoo! Groups, Yahoo! Answers, situs dan layanan periklanan, peta daring, berbagi video, olahraga fantasi dan media sosialnya. Yahoo! adalah salah satu situs web terbesar di Amerika Serikat.


Yahoo! adalah sebuah portal web populer yang dioperasikan perusahaan yang bernama Yahoo! Inc.. Yahoo! pada awalnya hanyalah semacam bookmark (petunjuk halaman buku), ide itu berawal pada bulan April 1994, di mana saat itu dua orang alumni Universitas Stanford mendapat liburan ketika profesor mereka pergi ke luar kota karena cuti besar.

Kelebihan Search Engine Yahoo!
1. Adanya fitur e-mail yang banyak disukai oleh orang-orang.
2. Kecepatan dan kemudahan dalam mencari.
3. Fiturnyanya yang komplit.
4. Yahoo juga menyediakan salah satu fungsi yaitu katalog web. Link ke menu bantuan (help) juga dapat dikenali dengan baik di halaman login dengan keterangan yang cukup jelas.

Kekurangan Search Engine Yahoo!
1. Loadingnya membutuhkan waktu yang lama.


3. Bing ( http://www.bing.com )

Bing merupakan mesin pencari (search engine) website yang bernaung di bawah bendera Microsoft. Bing ini merupakan bentuk reinkarnasi yang dilakukan Microsoft terhadap ketiga mesin pencari produksinya terdahulu, yakni Live Search, Windows Live Search, dan MSN Search.



Kelebihan Search Engine Bing :
a.  Mempunyai fasilitas instant answer. Fasilitas ini merupakan salah satu inovasi performa yang berhasil dikembangkan dan diintegrasikan ke dalam sistem sehingga memampukan Bing memberikan jawaban.
b.  Hasil pencarian image atau video dapat ditampilkan dan disaring secara detail. Apabila pengguna melakukan pencarian situs atau halaman web yang berisi konten image, maka Bing mampu menyajikan daftar hasil pencarian secara spesifik dan detail.
c.  Kotak detail pada link hasil pencarian. Jika pada situs-situs mesin pencari lainnya, pengguna harus mengklik link yang ditampilkan di halaman tersebut untuk mengetahui isinya. Namun, pada Bing ini, pengguna tidak perlu mengklik link lagi, tetapi hanya perlu mengarahkan kursor pada link tersebut untuk menampilkan kotak detail. Melalui kotak detail inilah pengguna dapat menyimak sekilas informasi tentang link tersebut.
d.  Bing.com ini mesin pencari yang sangat complet, semua yang Anda cari pasti ada.
e.  Sistem filternya bisa kita aktif kan ataudi non aktifkan, jadi anda bisa membuka situs yang diblokir. 

Kekurangan Search Engine Bing :
a.  Tidak dapat berhitung.
b.  Fiturnya tidak lengkap.
c.  Bing.com kurang di minati oleh pengguna.
d.  Bing.com kurang cepat dalam pencariannya.



4. Altavista ( http://www.altavista.com )

Altavista merupakan search engine yang cukup terkenal dimata dunia. Di altavista, kita bisa mencari berbagai informasi berupa web, gambar, video, berbelanja online, aplikasi, dan berita.



Kelebihan Search Engine Altavista :
a.  Pencarian halaman web, video, gambar, MP3, dan file audio lainnya. Dalam pencarian berita pun Altavista mampu mencari berita teraktual.
b.  Altavista mampu menetapkan berapa umur maksimal yang akan ditampilkan.
c.  Pilihan pencarian yang paling lengkap di antara semua mesin pencari.
d.  Altivista dapat memncari suatu informasi yang lebih akurat.

Kekurangan Search Engine Altavista :
a.  Dalam hal pencarian data yang kurang bagus. Sering kali mesin pencari ini menampilkan hasil yang sama sekali tidak ada kaitannya dengan tema yang dicari.


5. Ask ( http://www.ask.com )

Ask merupakan search engine yang fungsinya untuk mencari informasi berupa gambar, document, video, refrensi, dan berita.


Kelebihan Search Engine Ask :
1.Keunggulannya adalah ia akan mencari situs penyedia jawaban untuk pertanyaan yang diberikan
2. Lebih canggih dan akan menampilkan lebih banyak informasi pada halaman pertama hasil pencarian ketimbang Google dan Yahoo!
3. Background dari mesin pencari Ask.com ini bisa diganti-ganti.

Kekurangan Search Engine Ask :
1. Databasenya kecil
2. Fitur kurang lengkap
3. Dari segi tampilan di tinjau biasa saja karena lebih diandalkan dalam pencarian kata
4. Pencarian kata tidak ada filtering sehingga data yang tidak dicari semua diambil
5. Tidak adanya pengelompokkan data khususnya dalam pembukaan gambar.


6. Lycos ( http://www.lycos.com )

Lycos adalah mesin pencari dan portal web yang banyak menekankan pada informasi berorientasi hiburan dalam arti yang luas. Proyek Lycos diperkenalkan pertama kali oleh Michael Loren Mauldin dari Universitas Carnegie Mellon di Amerika Serikat pada tahun 1994, yang kemudian berubah menjadi suatu perusahaan. Kemudian pada tahun 1995, Bob Davis bergabung dan menjadi CEO dari perusahaan Lycos ini.



Kelebihan Search Engine Lycos :
a. Lycos mampu mencari data dengan cepat.
b. Dalam hal pencarian cepat.
c. Lycos menyediakan fungsi “Fun Search” yang lebih diperuntukkan bagi kalangan remaja. Ini sangat membantu bagi kalangan yang membutuhkan gosip dan lagu terbaru dari para selebritis pujaan.
d. Lycos juga menampilkan 50 pencarian terbesar di halaman depannya.
e. Lycos, selain mendukung pencarian web, juga menyediakan pencarian file MP3 dan video pada http://multimedia.lycos.com. 

Kekurangan Search Engine Lycos :
a.  Untuk mencari berita-berita aktualnya, pengguna harus masuk ke bagian site map karena berita-berita tersebut tidak ditampilkan di halaman depan.
b.  Sering tidak spesifik karena datanya kebanyakan masih mengambil data dari mesin pencari Alltheweb yang tergolong paling lamban dalam pencarian data.


7. Alltheweb http://www.alltheweb.com )

Keunggulan Alltheweb adalah pencarian file pada FTP Server. Tidak seperti web, FTP adalah teknologi internet yang ditujukan untuk menyimpan dan mendistribusikan file, biasanya program, audio atau video. Web sebenarnya lebih ditujukan untuk teks. Sejauh ini, hanya AllTheWeb yang menyediakan jasa pencarian file.





Kelebihan Search Engine Alltheweb:
1. Kemudahan dalam mencari.
2. Tampilan yang sederhana seperti Google.
3. Alltheweb langsung menyediakan fungsi untuk pencarian berita, musik, gambar, dan video.
4. Menu bantuan terlihat jelas, dan di dalamnya tersedia sejumlah opsi bantuan yang banyak, sehingga sekali lagi kemudahan tampak bagi si pengguna.


Kekurangan Search Engine Alltheweb:
1. Pencarian yang lama dibandingkan dengan mesin pencari lainnya.
2. Halaman pencarian hanya dibatasi dengan sebuah garis sehingga membingungkan si pengguna.
3. Pada link-link yang tidak berguna terkadang masih terlihat dalam beberapa hari, sehingga terlihat kurang aktual. Hal ini menunjukan tidak cepatnya Allltheweb melakukan update.


8. MSN Search ( http://search.msn.com )
MSN search adalah penyedia fasilitas search engine yang juga dapat membantu kita dalam mencari suatu informasi atau data. Search engine MSN search beralamat URL: http//search.msn.com. hamper sama seperti Google, Yahoo, Catcha, Lycos, dan Looksmart . Microsoft Network atau MSN adalah layanan situs web portal yang dimiliki oleh Microsoft. Diluncurkan pada tanggal 24 Agustus 1995, MSN dapat dioperasikan dengan sistem operasi Windows 95Windows 98Windows 2000Windows XP dan Windows Vista.

Bagian-bagian dari MSN adalah Hotmail , Windows Messenger , My MSN  dan Download IE8 .MSN kini tersedia dalam semua bahasa di dunia.



Kelebihan Search Engine MSN:
1. mampu mencari video, musik, gambar, dan beragam format file spesial.

Kekurangan Search Engine MSN:
1.    Pencarian dibutuhkan waktu yang lama sampai hasil ditampilkan di halaman MSN.

2.    Pengguna juga sulit membedakan antara iklan dan bukan iklan pada halaman pencariannya. Penampilan iklan hanya dibedakan dari hasil asli melalui sebuah titik di depannya.


9. Wisenut
Wisenut adalah berbasis crawler mesin pencari yang dimiliki oleh Looksmart.Wisenut diperkenalkan database segar dan hits relevan. Meskipun awal yang baik, Wisenut pernah berhasil menjadi mesin pencari utama. Initidak memiliki pencarian boolean dalam pencarian standar dan fitur pencarian lanjutan.Tidak seperti mesin pencari lainnya, Wisenut tidak cache halaman. Wisenut ditutup untuk selamanya pada tanggal 28 September 2007.


Kelebihan Search Engine Wisenut:
1. Situs yang ditampung oleh database ini sekitar 579 juta buah
2. Bebas dari banner iklan dan aneka image yang memberatkan
3. Menyediakan form isian untuk mencari database yang diinginkan
4. Adanya pemfilteran terhadap situs-situs pornografi

Kekurangan Search Engine Wisenut:

1. Tidak ada bahasa Indonesia nya
2. Situs ini sudah ditutup


10. Live Search
Pengembangan yang terus dilakukan oleh Microsoft menghasilkan keputusan untuk memisahkan mesin pencari dengan Windows Live. Pada akhirnya Microsoft mengubah nama mesin pencarinya menjadi Live Search, yang kemudian dikonsolidasikan dengan Microsoft adCenter. Reorganisasi yang dilakukan ini, menimbulkan banyak perubahan dalam kebijakan, misalnya menghentikan beberapa produk seperti Windows Live Expo, Live Search Macros, dan sebagainya.



Kelebihan Live Search:
1.   Gambar latar belakang yang variatif
2.   Fasilitas Instant Answer
3.   Hasil pencarian image atau video dapat ditampilkan dan disaring secara detail
4.   Kotak detail pada link hasil pencarian
5.   Tampilan Bing Maps yang lebih interaktif
6.   Fasilitas Related Searches
7.   Fasilitas Smart Video preview


Kekurangan Live Search:
1. Fiturnya kurang lengkap
2. Hasil pencarian yang kurang luas
3. Yang masih berstatus beta kemungkinan besar masih memiliki bug di dalamnya.


Demikian macam-macam search engine yang dapat saya jelaskan. Semoga bermanfaat :)