Map Reduce dan NoSQL

on Senin, 23 April 2018

Map Reduce
Setiap istilah perlu definisi, dan harus ada kesepakatan akan definisi tersebut biar tidak terjadi salah pengertian ataupun salah paham diantara para pengguna istilah tersebut. MapReduce pun punya definisi. MapReduce adalah model pemrograman rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan paralel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, secara garis besar MapReduce dapat dibagi dalam dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses ini didistribusikan atau dibagi-bagikan ke setiap komputer dalam suatu cluster (kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa saling bergantung satu dengan yang lainnya. Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang terdistribusi dalam tiap komputer dalam cluster. Hasilnya diserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.
Desain dan Struktur, MapReduce itu sederhana.
Dari definisinya, MapReduce mungkin terkesan sangat ribet. Untuk memproses sebuah data raksasa, data itu harus dipotong-potong kemudian dibagi-bagikan ke tiap komputer dalam suatu cluster. Lalu proses Map dan proses Reduce pun harus dibagi-bagikan ke tiap komputer dan dijalankan secara paralel. Terus hasil akhirnya juga disimpan secara terdistribusi. Benar-benar terkesan merepotkan.
Beruntunglah, MapReduce telah didesain sangat sederhana alias simple. Untuk menggunakan MapReduce, seorang programer cukup membuat dua program yaitu program yang memuat kalkulasi atau prosedur yang akan dilakukan oleh proses Map dan Reduce. Jadi tidak perlu pusing memikirkan bagaimana memotong-motong data untuk dibagi-bagikan kepada tiap komputer, dan memprosesnya secara paralel kemudian mengumpulkannya kembali. Semua proses ini akan dikerjakan secara otomatis oleh MapReduce yang dijalankan diatas.

Program yang memuat kalkulasi yang akan dilakukan dalam proses Map disebut Fungsi Map, dan yang memuat kalkulasi yang akan dikerjakan oleh proses Reduce disebut Fungsi Reduce. Jadi, seorang programmer yang akan menjalankan MapReduce harus membuat program Fungsi Map dan Fungsi Reduce.
Fungsi Map bertugas untuk membaca input dalam bentuk pasangan Key/Value, lalu menghasilkan output berupa pasangan Key/Value juga. Pasangan Key/Value hasil fungsi Map ini disebut pasangan Key/Value intermediate. Kemudian, fungsi Reduce akan membaca pasangan Key/Value intermediate hasil fungsi Map, dan menggabungkan atau mengelompokkannya berdasarkan Key tersebut. Lain katanya, tiap Value yang memiliki Key yang sama akan digabungkan dalam satu kelompok. Fungsi Reduce juga menghasilkan output berupa pasangan Key/Value.
Contoh kasus map reduce adalah misalnya jika kita ingin menghitung jumlah penggunaan huruf dalam sebuah buku. Misal kita punya satu file teks besar yang berisi seluruh kalimat yang menyusun sebuah buku. Maka yang dilakukan oleh Map Reduce program yang menghitung penggunaan kata dalam buku tersebut kurang lebih sebagai berikut:
Proses Map:
·         Membaca tiap baris kalimat di dalam file teks tersebut.
·         Membaca tiap kata yang ada dalam beris tersebut dan membuat sebuah map untuk kata tersebut. Key dari map itu adalah kata tersebut sedangkan value dari map itu adalah 1.
Sampai disini hasil yang kita dapatkan dari dua langkah diatas adalah daftar map untuk semua kata dari file teks tersebut dengan value 1. Karena kita tidak menyatukan perhitungan kata-kata yang sama dalam satu map, maka tersapat map dengan key yang sama. Misal ada map kata ‘Dan’ => 1 berulang kali.
Proses Reduce:
·         Melakukan sorting atau pengelompokan map dengan kata-kata yang sama.
·         Menjumlahkan untuk mencari total dari kata-kata yang sama tersebut
Sampai disini maka hasilnya adalah map dengan key yang unik setiap kata berikut dengan jumlah penggunaannya di buku tersebut.

 
NoSQL
NoSQL adalah jenis basis data yang tidak menggunakan perintah SQL dalam memanipulasi (menyimpan maupun mengambil data) basis data tersebut. Kebanyakan basis data NoSQL digunakan dalam dunia aplikasi web waktu nyata (real-time web app).
Berbeda dengan basis data SQL dimana meskipun berbeda-beda pembuat namun cara kerja maupun cara penggunaannya relatif sama. Contohnya sama-sama menggunakan tabel yang dihubungkan oleh relasi-relasi, manipulasi data dengan bahasa SQL, dsb. Basis data NoSQL bisa sangat berbeda satu sama lain. Dilihat dari cara penyimpanan data saja basis data NoSQL tersebar dari cara penyimpanan:
·         Key-Value based (disimpan dalam bentuk kunci-isi berpasangan)
·         Document based (disimpan dalam dokumen-dokumen)
·         Column based (disimpan dalam kolom-kolom)
·         Graph based (disimpan dalam bentuk graf)
Karena dari cara penyimpanannya saja sudah beda sudah tentu cara penambahan maupun pengambilan datanya juga berbeda.
 


Pengertian SEO, Manfaat SEO, Bagian Optimazer SEO

on Minggu, 08 Oktober 2017


Pengertian SEO

SEO (Search Engine Optimization) adalah suatu teknik yang digunakan untuk membuat suatu halam website menjadi relevan atau terkoneksi langsung dengan search engine seperti google, yahoo, bing dan lainnya agar menaikan rangking webesite tersebut. SEO pertama kali dikenalkan pada 26 Juli 1997 oleh sebuah pesan SPAM yang tersebar keseluruh perangkat handphone. Dalam dunia SEO pada saat ini google menjadi patokan serach engine paling diminati hingga mencapai 90%. Secara sistematis terdapat 3 hal penting dalam SEO yaitu :
·         Analisa
·         Implementasi
·         Report

Manfaat SEO
  • Mendapatkan pengunjung
Sudah pasti dengan adanya seo, pengunjung akan datang di dalam website, dengan adanya pengunjung maka website akan otomatis bisa mendapatkan penjualan dari traffic tersebut. Pengunjung sangat menjadi salah satu faktor penentu keberhasilan dari suatu website, apakah konversi pengunjung tersebut hanya visit atau pengunjung tersebut membeli produk yang di tawarkan.
  • Meningkatkan hasil pencarian
Google menilai mesin pencarian mereka dengan teknik seo atau optimiasi mesin pencarian, untuk mendapatkan hasil yang baik terutama di halaman pertama google dengan keyword khusus, tentunya perlu adanya teknik seo yang di perlukan. Jika kamu jago dalam meningkatkan hasil pencarian maka ini alah salah satu manfaat dari seo.
  • Hemat biaya
Seo adalah gratis, namun tidak sebenarnya gratis bagi anda yang ingin memiliki kualitas seo yang baik. Seo sendiri memang memakan biaya yang rendah jika dibandingkan dengan teknik sem google adwords yang memakan biaya mahal.
  • Mudah dalam pekerjaan
Di era digital ini para teknik optimizer tentunya seo sangat dibutuhkan dikalangan perusahaan, seperti halnya startup yang memang sangat membutuhkan tenaga seo untuk mempromosikan webiste mereka.
  • Hanya di dapatkan di kurus dan otodidak
Seo sendiri adalah sebuah seni, yang hanya di dapatkan seperti hanya di kursus seo maupun belajar otodidak melalui mesin pencarian. Seo sendiri belajarnya ada yang gratis dan juga ada yang berbayar tergantung bagaimana anda menyiasati permainain mesin pencarian dengan cepat.

Bagian Optimazer
  • Onpage, melakukan optimisasi pada bagian dalam website dengan mengutamakan backline dan feedback yang sangat baik dan dimanati oleh banyak orang
  • Offpage, yaitu pengempangan optimisasi dari luar website dengan memahami pola pencarian / metode pembacaan dari mesin pencari tersebut (google, yahoo, bing, dll). Hal ini tergolong membutuhkan skill yang cukup tinggi, karena membutuhkan kesabaran dan kerja keras untuk memahaminya.
Sumber :
  1. https://www.maxmanroe.com/apa-itu-seo.html
  2. http://tubagusrayhan.blogspot.co.id/2017/10/pengertian-seo-manfaat-seo-bagian.html
  3. http://sigiterwanto.blogspot.co.id/2017/10/pengertian-manfaat-dan-bagian-optimazer.html