TUGAS KONSEP CLOUD COMPUTING NAMA : RIZAL

advertisement
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI

Teknologi Web
Aplikasi web adalah suatu aplikasi yang berbentuk klien/server yang dapat membentuk
halaman-halaman web berdasarkan permintaan pemakai. Klien adalah pemakai yang meminta
halaman web, sedangkan server adalah penyedia layanan yang melayani permintaan dari
pemakai. Klien dan server berhubungan dalam suatu jaringan Internet atau Intranet. Web dapat
diakses oleh berbaga iplatform dengan menggunakan browser, misalnya Internet
Explorer,Mozilla,Opera, dan lain-lain. Model dari aplikasi web dapat kita lihat seperti pada
gambar di bawah :
Proses pengaksesan suatu web yaitu klien melakukan permintaan suatu halaman web kepada
server, kemudian server akan mencari halaman yang diminta dan mengembalikannya dalam
bentuk kode kode HTML. Kode-kode HTML ini akan didownload oleh komputer klien dan
kemudian akan diterjemahkan oleh browser menjadi suatu tampilan halaman web.Aplikasi web
dibangun oleh 2 jenis scripting yaitu sebagai berikut:
a. Server Side Scripting Pemrograman dari sisi server maksudnya adalah membuat kode-kode
program yang hanya dieksekusi di server menjadi bentuk tag-tag HTML untuk dikirim ke klien.
Tag-tag inilah yang akan diterjemahkan oleh browser klien menjadi halaman web. Kode-kode
program ini tidak akan kelihatan di klien.Contoh bahasa pemrograman dari sisi serveryaitu
seperti PHP, ASP, JSP dan lainnya.Bahasa pemrograman ini digunakan untuk membuat suatu
halaman web menjadi dinamis.
b. Client Side Scripting Pemrograman web dari sisi klien maksudnya adalah membuat kodekode program yang dieksekusi di klien khususnya olehbrowser.Kode-kode program ini bisa
dilihat oleh klien.Contoh bahasa pemrograman dari sisi klien yaitu HTML, javascript, CSS.
HTML adalah tag-tag yang diterjemahkan oleh browser untuk membentuk secara visual suatu
halaman web. HTML sekarang dikembangkan menjadi eXtensible HyperText MarkupLanguage
(XHTML), sebuah versi yang lebih matang dan stabil. XHTML datang bersama beberapa cara
dan pemikiran yang baru mengenai tag dalam halaman web. Aturan aturan dalam XHTML lebih
ketat dibandingkan HTML dari segi cara penulisan.XHTML dapat merupakan perpaduan antara
HTML dan XML karenamerupakan formulasi ulang HTML dalambentuk XML.
Sekarang ini, XHTML menjadi standar suatu web berdasarkan rekomendasi
W3C (World Wide Web Consortium). CSS dan javascript adalah bahasa program untuk
membuat tampilan web menjadi interaktif.CSS dan javascript disisipkan di antara
sintaksHTML.Berbagai contoh aplikasi web yaitu seperti mesin pencari atau search
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
engine(google,yahoo), tokoonline(amazon), situs berita(detikcom), layanan akademis perguruan
tingg i(website IT Telkom) dan lain-lain.
Beberapa konsep dasar pemrograman berbasis web (Hariyanto, 2004), yaitu :
1. Komunikasi antara web browser dan web server berdasarkan protokol HTTP.
2. Dokumen dan semua sumber daya apapun di jaringan yang dikehendaki diidentifikasi dengan
Universal Resource Locator (URL).
3. Dokumen web ditulis berdasarkan standar HTML.
4. Pemrograman dilakukan dari sisi Client (client-side scripting )
5. Pemrograman dilakukan dari sisi server (server-side cripting/programming).
Standar Teknologi Web
Secara umum teknologi disain web terbagi menjadi beberapa layer (lapisan), yaitu structural
layer, presentation layer dan behavioral layer.
Structural layer Layer ini berhubungan dengan struktur dokumen dokumen web. Bagaimana
sebuah dokumen tersusun, format apa yang dipakai, tanda atau mark up apa yang digunakan
merupakan bagian dari layer ini.
Standar teknologi yang direkomendasikan saat ini adalah Extensible Hypertext Markup
Language (XHTML) dan Extensible Markup Language (XML). XHTML adalah HTML versi
terakhir (4.01) yang ditulis ulang dengan dengan aturan-aturan yang lebih ketat mengacu pada
XML. Sedangkan XML adalah sekumpulan aturan untuk menyusun bahasa markup.
Presentation layer Layer ini berhubungan dengan bagaimana mengatur tampilan dokumen
pada layar, suara yang keluar, atau bagaimana format pencetakan dokumen. Pada teknologi web
lama bagian ini menyatu dengan structural layer. Tapi pada standar baru, layer ini disarankan
untuk dipisah. Yang termasuk teknologi ini adalah Cascading Style Sheets (CSS).
Behavioral layer Layer ini berhubungan dengan masalah penggunaan bahasa skrip dan
pemrogramannya untuk tujuan meningkatkan sisi interaktif dan dinamis halaman web. Yang
termasuk dalam layer ini adalah Document Object Model (DOM) dan JavaScript. DOM
memungkinkan suatu dokumen atau skrip untuk mengakses atau meng-update isi, struktur,
dan style dari dokumen. JavaScript merupakan teknologi yang cukup lama dan tetap digunakan
untuk menambah dokumen menjadi lebih interaktif.
Web Statis dan Web Dinamis
Halaman web dapat digolongkan menjadi web statis dan web dinamis. Pengertian web statis
dan web dinamis seringkali mengundang perdebatan. Sebagian pengguna internet menyatakan
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
jika pada halaman-halaman web dilengkapi dengan animasi yang bergerak maka disebut web
dinamis sedangkan jika halaman-halaman web tersebut hanya berisi teks dan gambar yang
tidak bergerak maka disebut web statis. Namun berdasarkan kesepakatan maka pengertian
statis dan dinamis tidak ditentukan oleh ada atau tidaknya animasi bergerak pada halamanhalaman web, tetapi ditentukan oleh isi atau informasi yang ada pada halaman-halaman
tersebut. Data dan informasi yang ada pada web statis tidak berubah-ubah. Dokumen web yang
dikirim kepada client akan sama isinya dengan apa yang ada di webserver. Sedangkan web
dinamis, memiliki data dan informasi yang berbeda-beda tergantung input apa yang
disampaikan client. Dokumen yang sampai di client akan berbeda dengan dokumen yang ada di
webserver.
Contoh paling mudah untuk membedakan web statis dan web dinamis adalah bila kalian
membuka situs Google. Halaman awal adalah statis karena kita tidak melihat perubahan isi atau
informasi. Halaman ini baik di komputer client maupun di webserver akan sama. Namun begitu
kita memasukkan kata pada textbox yang tersedia kemudian menekan tombol search maka kita
sedang berinteraksi dengan webserver Google. Webserver akan mengirimkan halaman web
sesuai yang diminta oleh client. Tampilan di sisi client akan berupa daftar alamat dan
keterangannya. Sedangkan di sisi server isi dokumennya adalah serangkain kode-kode untuk
mencari apa yang diinputkan client.

Automatic Computing
Otomatis Computing Mesin (ACE) adalah desain komputer awal elektronik yang disimpanprogram yang diproduksi oleh Alan Turing atas undangan John R. Womersley, pengawas dari
Divisi Matematika dari National Physical Laboratory (NPL). Penggunaan kata Mesin adalah
untuk menghormati Charles Babbage dan Difference Engine dan Analytical Mesin. Desain
teknis Turing Usulan Elektronik Kalkulator adalah produk dari karya teoretisnya pada tahun
1936 "On Computable Numbers" [1] dan pengalaman masa perang di Bletchley Park di mana
komputer Colossus telah berhasil memecahkan kode militer Jerman. Dalam makalahnya tahun
1936, Turing dijelaskan idenya sebagai "universal mesin komputasi", tetapi sekarang dikenal
sebagai mesin Turing Universal.
Pada 19 Februari 1946 Turing mempresentasikan makalah rinci untuk National Physical
Laboratory (NPL) Komite Eksekutif, memberikan desain yang cukup lengkap pertama dari
sebuah komputer disimpan-program. Namun, karena ketat dan tahan lama kerahasiaan di
sekitar pekerjaan Bletchley Park, ia dilarang (karena Official Secrets Act) dari menjelaskan
bahwa ia tahu bahwa ide-idenya bisa diimplementasikan dalam perangkat elektronik. Desain
EDVAC lebih terkenal disajikan dalam Draft Pertama Laporan di EDVAC (tanggal 30 Juni
1945), oleh John von Neumann, yang tahu pekerjaan teoritis Turing, menerima banyak
publisitas, meskipun sifatnya tidak lengkap dan kurangnya dipertanyakan atribusi sumber dari
beberapa ide.
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
Laporan Turing di ACE ditulis pada akhir 1945 dan termasuk rinci diagram sirkuit logis dan
perkiraan biaya £ 11.200. Dia merasa bahwa kecepatan dan ukuran memori yang penting dan ia
mengusulkan memori berkecepatan tinggi apa yang akan saat ini disebut 25 KiB, diakses pada
kecepatan 1 MHz. ACE dilaksanakan panggilan subroutine, sedangkan EDVAC tidak, dan apa
juga mengatur ACE terpisah dari EDVAC adalah penggunaan Instruksi Disingkat Komputer,
bentuk awal dari bahasa pemrograman. Awalnya, direncanakan bahwa Tommy Flowers,
insinyur di Stasiun Penelitian Kantor Pos di Dollis Bukit di utara London, yang telah
bertanggung jawab untuk membangun komputer Colossus harus membangun ACE, tapi karena
kerahasiaan di sekitar prestasi masa perang dan tekanan kerja pasca-perang, ini tidak mungkin.
Rekan Turing di NPL, tidak mengetahui tentang Colossus, berpikir bahwa pekerjaan rekayasa
untuk membangun ACE lengkap terlalu ambisius, jadi versi pertama dari ACE yang dibangun
adalah Pilot Model ACE, versi yang lebih kecil dari desain asli Turing. Pilot ACE memiliki 1.450
termionik katup (tabung vakum), dan digunakan merkuri delay baris untuk memori utama.
Masing-masing dari 12 jalur delay bisa menyimpan 32 instruksi atau kata-kata data 32 bit. Ini
menjalankan program pertama pada 10 Mei 1950, dimana pada saat itu komputer tercepat di
dunia dengan kecepatan clock 1 MHz.
Implementasi kedua dari desain ACE adalah MOSAIC (Departemen Pasokan Integrator
otomatis dan Komputer). Ini dibangun oleh Allen Coombs dan William Chandler dari Dollis
Bukit yang telah bekerja dengan Tommy Flowers membangun sepuluh komputer Colossus. Itu
dipasang di Telekomunikasi Penelitian Pendirian (TRE) yang segera menjadi Royal Radar
Establishment (RRE) di Malvern dan menjalankan program pertama pada akhir 1952 atau awal
1953. Itu digunakan untuk menghitung lintasan pesawat dari data radar. [2]
Prinsip-prinsip desain ACE yang digunakan dalam G-15 komputer Bendix Corporation. Desain
rekayasa dilakukan oleh Harry Huskey yang telah menghabiskan 1947 di bagian ACE di NPL.
Dia kemudian berkontribusi pada desain hardware untuk EDVAC. Pertama G-15 pada tahun
1954 dan berlari, sebagai mesin single user yang relatif kecil, beberapa mempertimbangkan
untuk menjadi komputer pribadi pertama.
Versi produksi pertama dari Pilot ACE, Inggris Listrik Deuce, yang 31 dijual, disampaikan pada
musim semi 1955.

Virtualisasi
Dalam ilmu komputer, virtualisasi (bahasa Inggris: virtualization) adalah istilah umum yang
mengacu kepadaabstraksi dari sumber daya komputer. Definisi lainnya adalah "sebuah teknik
untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara
sistem lain, aplikasi atau penggunaberinteraksi dengan sumber daya tersebut. Hal ini termasuk
membuat sebuah sumber daya tunggal (sepertiserver, sebuah sistem operasi, sebuah aplikasi,
atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau
dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa
peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal." [1]
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
stilah virtualisasi sudah digunakan secara luas sejak 1960-an, dan telah diaplikasikan kepada
beberapa aspek komputer—dari keseluruhan sistem komputer sampai sebuah kemampuan atau
komponen individu. Secara umum semua teknologi virtualisasi mengacu kepada
"menyembunyikan detail teknis" melalui enkapsulasi.
 virtualisasi perangkat keras
Istilah virtualisasi perangkat-keras mengacu kepada upaya menciptakan mesin
virtual yang bekerja layaknya sebuah komputer lengkap dengan sistem operasi.
Istilah mesin tuan-rumah(host) mengacu kepada mesin tempat virtualisasi bersemayam
sementara istilah mesin tamu(guest) mengacu kepada virtual mesin itu sendiri.
Istilah hypervisor mengacu kepada perangkat-lunak atau firmware yang membuat mesin
virtual.
Dua pendekatan yang paling umum digunakan untuk virtualisasi perangkat-keras adalah
virtualisasi penuh dan para-virtualisasi. Dalam virtualisasi penuh sebuah lapisan berada di
antara mesin tamu (virtual) dan mesin tuan-rumah. Lapisan ini disebut hypervisor atau
disebut juga pemantau mesin virtual. Lapisan ini menggandakan sumber-daya sistem bagi
kepentingan masing-masing mesin tamu. Para-virtualisasi berbeda dalam hal hypervisor
bekerja dengan cara yang lebih koperatif. Setiap sistem operasi tamu menyadari bahwa
mereka berjalan dalam lingkungan virtual dan bekerja sama dengan hypervisor untuk
memvirtualisasikan mesin tuan-rumah
 Teknologi Virtualisasi
Teknologi virtualisasi adalah sebuah teknologi yang mampu menjalankan
software/hardware virtual (bukan sebenarnya) diatas hardware/software non virtual yang
sedang berjalan. Misalnya, anda hanya dapat menjalankan satu sistem operasi dalam satu
waktu, agar dapat menjalankan lebih dari sistem operasi anda membutuhkan program
PC/OS emulator (hypervisor) semisal VirtualBox atau VMware workstation/player. Contoh
lainnya, seperti yang anda ketahui bahwa file .exe yang sering kita jumpai di windows tidak
dapat dijalankan di mesin linux, untuk bisa berjalan dibutuhkan sebuah software emulator
seperti wine.
+----------------------+
| +------------------+ |
| | Virtual Software | |
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
| |------------------+ |
| | Virtual Hardware | |
| +------------------+ |
|
|
| Virtual Environment
|
+----------------------+
| Computer Software
|
+----------------------+
| Computer Hardware
|
+----------------------+
Gambar: Virtualization
Berbagai bentuk penerapan teknologi virtualisasi diantaranya:

Network Virtualization: VLAN,VPN,etc

Storage Virtualization: RAID,LVM,SAN,etc

Application Virtulization: dosbox,wine,dosemu,playonlinux,etc

Platform Virtualization: Virtual Computer & Operating System

Dan lainya.
Keuntungan teknologi virtualisasi:

Kemudahan deployment

Mempermudah perawatan & pengelolaan

Meningkatkan tingkat efisiensi

Mengoptimalkan sumber daya

Kemudahan backup dan recovery

Menghemat space fisik
Kerugian teknologi virtualisasi:
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI

Membutuhkan spesifikasi hardware yang cukup tinggi

Masalah terpusat

Serangan terpusat
Agar pembahasan tulisan ini terfokus dan tidak melebar, penulis hanya akan membahas tentang
metode,arsitektur,dan implementasi model Platform Virtualization pada lingkungan linux.
Jenis Virtualisasi
Ada beberapa variant teknologi virtualisasi, diantaranya:
Hardware Emulation
Pada teknologi ini perangkat lunak menyediakan kebutuhan perangkat keras untuk proses
emulasi. Jadi seolah - olah kita menyiapkan sebuah komponen perangkat keras untuk si Guest
OS. Misalnya untuk platform hardware ARM Arsitektur,X86,X8664,AMD,AMD64,PowerPC,dll.
Contohnya: Qemu,Bochs,Android Emulator
+----------+----------+----------+
| Apps
| Apps
| Apps
|
+----------+----------+----------+
...
| Guest OS | Guest OS | Guest OS |
+----------+----------+------------------------+
| Hardware VM A
| Hardware VM B
|
+---------------------+------------------------+
| Hardware
|
+----------------------------------------------+
Gambar: Hardware Emulation
Full Virtualization
Full virtualisasi disebut juga Virtual Machine Monitor, Hampir sama dengan hardware
emulation namun teknologi ini memvirtualisasikan seluruh perangkat keras untuk si Guest OS.
Pada teknologi ini si Guest OS mengira bahwa dia berjalan diatas hardware sungguhan, maka
tidak heran hampir semua sistem operasi dapat berjalan secara normal pada teknologi virtual
ini. Teknologi ini akan memakan resource yang besar, karena si guest ngomong pake bahasa
hardware kemudian diterjemahkan oleh VMM ke dalam bahasa aplikasi yang kemudian
diterjemahkan kembali kebahasa hardware.
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
Contohnya: VirtualBox,VMware Workstation/Player,z/VM
+----------+----------+
| Apps
| Apps
|
+----------+----------+
| Guest OS | Guest OS |
+------------+
---
| Management |
+----------+----------+-----------+------------+
| Hypervisor (VMM)
|
+----------------------------------------------+
| Hardware
|
+----------------------------------------------+
Gambar: Full Virtualization
Para-Virtualization (PV)
Tidak seperti full virtualization, pada Para-Virtualization kernel di kustom agar si Guest dan
Host OS menggunakan bahasa yang sama sehingga lebih hemat resource.Kekurangannya lebih
sedikit OS yang di support, hanya OS yang sudah di modifikasi yang telah disesuaikan untuk
dapat berjalan pada hypervisor yang digunakan.
Contohnya: KVM,Xen,UML(User Mode Linux)
+----------+----------+
| Apps
| Apps
|
+----------+----------+
| Guest OS | Guest OS |
+------------+
---
+----------+----------+
| Management |
|
|
+----------+----------+-----------+------------+
| Hypervisor (VMM)
|
+----------------------------------------------+
| Hardware
|
+----------------------------------------------+
Gambar: Para-Virtualization
Operating System-level Virtualization
Ini merupakan teknologi yang lebih fast dan hemat resource di bandingkan ke 3 teknologi
virtualiasi diatas, mirip - mirip dengan chroot namun mempunyai mekanisme isolasi tersendiri
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
dengan sistem proteksi yang kuat. kekurangannya OS Guest harus sama dengan OS Host, OS
Guest haruslah hasil modifikasi biasanya di sebut container.
Contohnya: OpenVZ,Linux-VServer,LXC
+----------------+----------------+
|
|
|
| Private Server | Private Server |
|
|
+----------------+
|
|
...
|
| Private Server |
|
|
+----------------+----------------+------------+----------------+
| Operating System
|
+---------------------------------------------------------------+
| Hardware
|
+---------------------------------------------------------------+
Gambar: Operating system-level virtualization
Setelah membahas berbagai jenis teknologi virtualisasi, mana yang sebaiknya digunakan?
Jika Host & OS Guestnya semuanya linux anda bisa gunakan jenis Operating system-level
virtualization, di beberapa server saya sudah menggunakan OpenVZ dan sampai sekarang
cukup berjalan lancar sesuai dengan yang di harapkan :). Kalo dari beberapa masukan dan
beberapa pembicaraan di forum dan milist, PV seperti XenServer adalah yang paling top buat
production. Jika hanya untuk riset dan mencoba - coba berbagai jenis sistem operasi pilihlah
tipe Full Virtulization misal VirtualBox. Jika ingin mencoba menjalankan sebuah emulator
hardware dengan target OS arsitektur tertentu bisa menggunakan hardware emulation seperti
Qemu. Semua tergantung dari kebutuhan dan target penggunaan.

MapReduce
MapReduce adalah model pemrograman dan implementasi terkait untuk diproses dan
menghasilkan set data besar dengan paralel, algoritma didistribusikan pada sebuah cluster. [1]
[2] Secara konseptual pendekatan serupa telah sangat dikenal sejak tahun 1995 dengan Pesan
Passing Interface [3] standar memiliki mengurangi [4] dan menyebarkan operasi. [5]
Sebuah program MapReduce terdiri dari Peta () prosedur (metode) yang melakukan
penyaringan dan pemilahan (seperti menyortir siswa dengan nama pertama dalam antrian, satu
antrian untuk setiap nama) dan Mengurangi () metode yang melakukan operasi ringkasan
(seperti menghitung jumlah siswa di setiap antrian, menghasilkan frekuensi nama). The
"MapReduce Sistem" (juga disebut "infrastruktur" atau "kerangka") orchestrates pengolahan
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
dengan menyusun server didistribusikan, menjalankan berbagai tugas secara paralel, mengelola
semua komunikasi dan transfer data antara berbagai bagian dari sistem, dan menyediakan
untuk redundansi dan toleransi kesalahan.
Model ini terinspirasi oleh peta dan mengurangi fungsi yang biasa digunakan dalam
pemrograman fungsional, [6] meskipun tujuan mereka dalam rangka MapReduce tidak sama
seperti di bentuk asli mereka [7] kontribusi kunci dari kerangka MapReduce tidak sebenarnya.
memetakan dan mengurangi fungsi, tetapi skalabilitas dan toleransi kesalahan dicapai untuk
berbagai aplikasi dengan mengoptimalkan mesin eksekusi sekali. Dengan demikian,
implementasi single-threaded dari MapReduce (seperti MongoDB) akan biasanya tidak lebih
cepat dari (non-MapReduce) pelaksanaan tradisional, setiap keuntungan yang biasanya hanya
terlihat dengan implementasi multi-threaded. [8] Penggunaan model ini hanya bermanfaat
ketika dioptimalkan operasi acak didistribusikan (yang mengurangi biaya jaringan komunikasi)
dan toleransi kesalahan fitur dari kerangka MapReduce ikut bermain. Mengoptimalkan biaya
komunikasi adalah penting untuk algoritma MapReduce baik. [9]
MapReduce perpustakaan telah ditulis dalam banyak bahasa pemrograman, dengan berbagai
tingkat optimasi. Implementasi populer open source yang memiliki dukungan untuk mengocok
terdistribusi adalah bagian dari Apache Hadoop. Nama MapReduce awalnya disebut teknologi
Google eksklusif, tetapi sejak itu telah genericized. MapReduce sebagai model pengolahan data
besar dianggap mati oleh banyak ahli domain [siapa?], Karena pembangunan telah pindah ke
mekanisme disk di lebih mampu dan kurang yang menggabungkan peta penuh dan mengurangi
kemampuan.
 Menjalankan Contoh Program MapReduce
Untuk lebih jelasnya lagi, kita bisa menjalankan langsung program ini di PC kita sendiri.
Tetapi, bukan dengan software MapReduce milik Google. Sampai saat ini Google tidak
pernah mendistribusikan software MapReduce miliknya. Namun demikian, Apache telah
merilis software open source yang dikenal dengan nama Hadoop untuk mengebangkan
dan menjalankan aplikasi MapReduce. Secara garis besar Hadoop terdiri atas HDFS
(Hadoop Distributed File System) dan Hadoop MapReduce. HDFS adalah versi open
source-nya GFS (Google File System), dan Hadoop MapReduce adalah versi open source
dari Google MapReduce.
Ada tiga cara untuk menjalankan aplikasi MapReduce dengan menggunakan Hadoop,
yaitu:
1. Dengan menggunakan Hadoop mode Standalone pada 1 PC Windows.
2. Dengan menggunakan Hadoop mode Pseudo-Distributed pada 1 PC Linux.
3. Dengan menggunakan Hadoop mode Terdistribusi Penuh pada beberapa PC Linux.
Fungsi map memproses suatu pasangan kunci dan nilai {key/value) menjadi kunci dan
nilai tengah {intermediate key/value) yang nantinya akan dikirim ke fungsi reduksi.
Saat operasi pemetaan berjalan secara paralel, file yang menjadi input dibagi menjadi
beberapa bagian yang disebut FileSplits. Hal ini dilakukan karena sebuah file bisa
memiliki ukuran yang besar dan itu akan memperlambat kinerja. Saat fungsi pemetaan
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
membaca baris data, fungsi ini menghasilkan pasangan kunci berupa kata dan nilai
berupa jumlah.
Dalam hal ini fungsi map yang akan dilakukan untuk aplikasi pencarian term ini adalah
sebagai berikut.
map(String key, String value):
// key: document name
// value: document contents
for each word w in value:
EmitIntermediate(w, “1”);
Pada program ini fungsi pemetaan menghasilkan setiap kata yang diasosiasikan dengan
suatu perhitungan yang terjadi(hanya ‘1’ dalam setiap kata). Fungsi map akan menerima
inputan berupa key/value dengan key berupa nama dokumen dan value merupakan
jumlah kata yang dikandung dalam dokumen tersebut, untuk setiap kata dalam suatu
dokumen tersebut akan menghasilkan lanjutan key/value yang berupa (kata, 1).
Fungsi reduksi adalah memproses pasangan kunci dan nilai yang dikirim dari
fungsi pemetaan untuk menjadi pasangan kunci dan nilai akhir yang nantinya akan
ditulis ke file sebagai hasil. Masing-masing kata kunci dan nilai yang dihasilkan oleh
fungsi pemetaan diproses secara berbeda dan hasilnya disimpan pada masing-masing
file hasil. Untuk suatu kata yang sama maka, fungsi reduksi akan menjumlahkan semua
angka nilai dari masing-masing kata tersebut, sehingga didapat pasangan kata dan
jumlahnya.
Dalam hal ini fungsi reduce yang akan dilakukan untuk pencarian kata ini adalah sebagai
berikut.
reduce(String key, Iterator values):
// key: a word
// values: a list of counts
int result = 0;
for each v in values:
result += ParseInt(v);
Emit(AsString(result));
Pada program ini fungsi reduce akan menghasilkan hasil dari penjumlahan
bersama semua perhitungan yang dihasilkan untuk sebuah keterangan kata yang
terdapat dalam suatu dokumen. Fungsi reduce akan menerima inputan berupa lanjutan
key/values yang telah dikelompokkan untuk setiap nilainya dengan sebuah kunci yang
sama dari hasil fungsi map, key berupa sebuah kata dan values berupa suatu daftar
jumlah dari perhitungan kata dalam setiap dokumen yang muncul tersebut. Values
dalam fungsi reduce dihasilkan dari penggabungan nilai-nilai dari proses perhitungan
TUGAS KONSEP CLOUD COMPUTING
NAMA : RIZAL KURNIAWAN
NIM : 145410039 / S1 – TI
kata dalam suatu iterasi, sehingga akan menghasilkan sebuah kata dengan hasil
penjumlahan kata yang muncul pada dokumen tersebut. Hasil ini disimpan dalam satu
file terpisah dari hasil pasangan kunci dan nilai yang lain.
Download