Selasa, 13 Maret 2018


Muhammad Taufiq Kurniawan | 57414565 | 4IA22
Judul : Pengantar Cloud Computing (Alex Budiyanto)

Pengertian Cloud Computing

Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer (‘komputasi’) dan pengembangan berbasis Internet (‘awan’). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet (“di dalam awan”) tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.
Cloud pada dasarnya adalah kumpulan sumber daya yang terhubung melalui internet (WAN). Ini terdiri dari pusat data. Untuk Cloud Computing, belum ada definisi yang pasti, yang menggambarkan dampaknya pada lanskap teknologi dan bisnis. Cloud Computing didasarkan pada 5 atribut; multitenancy (shared resources), massive scalability, elasticity, pay as you go, and self-provisioning of resources.

Deployment Model Cloud Computing
Menurut NIST, ada empat deployment model dari cloud computing ini, yaitu:

1. Public Cloud
Adalah layanan Cloud Computing yang disediakan untuk masyarakat umum. Pengguna bisa langsung mendaftar ataupun memakai layanan yang ada. Banyak layanan Public Cloud yang gratis, dan ada juga yang perlu membayar untuk bisa menikmati layanannya.
Contoh Public Cloud yang gratis: GoogleMail, Facebook, Twitter, Live Mail, dsb.
Contoh Public Cloud yang berbayar: Sales Force, Office365, GoogleApps, dsb.

Keuntungan:
Pengguna tidak perlu berinvestasi untuk merawat serta membangun infrastruktur, platform, ataupun aplikasi. Kita tinggal memakai secara gratis (untuk layanan yang gratis) atau membayar sebanyak pemakaian (pay as you go). Dengan pendekatan ini, kita bisa mengurangi dan merubah biaya Capex (Capital Expenditure) menjadi Opex (Operational Expenditure).

Kerugian:
Sangat tergantung dengan kualitas layanan internet (koneksi) yang kita pakai. Jika koneksi internet mati, maka tidak ada layanan yang dapat diakses. Untuk itu, perlu dipikirkan secara matang infrastruktur internetnya.

2. Private Cloud
Adalah layanan cloud computing yang disediakan untuk memenuhi kebutuhan internal dari organisasi/perusahaan. Biasanya departemen IT akan berperan sebagai service provider (penyedia layanan) dan departemen lain menjadi service consumer. Sebagai service provider, tentu saja Departemen IT harus bertanggung jawab agar layanan bisa berjalan dengan baik sesuai dengan standar kualitas layanan yang telah ditentukan oleh perusahaan, baik infrastruktur, platform, maupun aplikasi yang ada.
Contoh layanannya:
SaaS: Web Application, Mail Server, Database Server untuk keperluan internal.
PaaS: Sistem Operasi + Web Server + Framework + Database yang untuk internal
IaaS: Virtual machine yang bisa di-request sesuai dengan kebutuhan internal

Keuntungan:
Menghemat bandwidth internet ketika layanan itu hanya diakses dari jaringan internal.Proses bisnis tidak tergantung dengan koneksi internet, akan tetapi tetap saja tergantung dengan koneksi jaringan lokal (intranet).

Kerugian:
Investasi besar, karena kita sendiri yang harus menyiapkan infrastrukturnya.Butuh tenaga kerja untuk merawat dan menjamin layanan berjalan dengan baik.

3. Hybrid Cloud
Adalah gabungan dari layanan Public Cloud dan Private Cloud yang diimplementasikan oleh suatu organisasi/perusahaan. Dalam Hybrid Cloud ini, kita bisa memilih proses bisnis mana yang bisa dipindahkan ke Public Cloud dan proses bisnis mana yang harus tetap berjalan di Private Cloud.
Contohnya:
Perusahaan A menyewa layanan dari GoogleApp Engine (Public Cloud) sebagai “rumah” yang dipakai untuk aplikasi yang mereka buat. Di negara tersebut ada aturan kalau data nasabah dari sebuah perusahaan tidak boleh disimpan pada pihak ketiga. Untuk menaati peraturan yang ada, data nasabah dari perusahaan A tetap disimpan pada database mereka sendiri (Private Cloud), dan aplikasi akan melakukan konektifitasnya ke database internal tersebut. Perusahaan B menyewa layanan dari Office365 (Public Cloud). Karena perusahaan B tersebut sudah mempunyai banyak user yang tersimpan di Active Directory yang berjalan di atas Windows Server mereka (Private Cloud), akan lebih efektif kalau Active Directory tersebut dijadikan identity untuk login ke Office365.

Keuntungan:
Keamanan data terjamin karena data dapat dikelola sendiri (hal ini TIDAK berarti penyimpan data di public cloud tidak aman, ya). Lebih leluasa untuk memilih mana proses bisnis yang harus tetap berjalan di private cloud dan mana proses bisnis yang bisa dipindahkan ke public cloud dengan tetap menjamin integrasi dari keduanya.

Kerugian:
Untuk aplikasi yang membutuhkan integrasi antara public cloud dan private cloud, infrastruktur internet harus dipikirkan secara matang.

4. Community Cloud
Adalah layanan Cloud Computing yang dibangun eksklusif untuk komunitas tertentu, yang consumer-nya berasal dari organisasi yang mempunyai perhatian yang sama atas sesuatu/beberapa hal, misalnya saja standar keamanan, aturan, compliance, dsb. Community Cloud ini bisa dimiliki, dipelihara, dan dioperasikan oleh satu atau lebih organisasi dari komunitas tersebut, pihak ketiga, ataupun kombinasi dari keduanya.

Keuntungan:
Bisa bekerja sama dengan organisasi lain dalam komunitas yang mempunyai kepentingan yang sama. Melakukan hal yang sama bersama-sama tentunya lebih ringan daripada melakukannya sendiri.

Kerugian:
Ketergantungan antar organisasi jika tiap-tiap organisasi tersebut saling berbagi sumber daya.

Kesimpulan
Tulisan Pengantar Cloud Computing ini diharapkan bisa memberikan gambaran awal bagi kita yang belum memahami mengenai Cloud Computing. Setelah kita paham mengenai karakteristik, jenis layanan, dan deployment model dari cloud computing ini, kita bisa mulai untuk mendalami sesuai dengan ketertarikan masing-masing. Dalam perkembangannya banyak sekali penyedia layanan SaaS, PaaS ataupun IaaS yang bisa kita pertimbangkan untuk memenuhi kebutuhan kita. Bagi end user, kita bisa mendalami bagaimana memakai layanan SaaS sesuai dengan aplikasi yang kita butuhkan karena tren ke depan akan semakin banyak aplikasi yang biasa kita gunakan di desktop akan ada di cloud. Untuk software developer dan software architect mulai sekarang kita bisa mendalami bagaimana memanfaatkan layanan PaaS untuk membuat aplikasi yang kita buat berjalan di cloud. kita cukup fokus kepada aplikasi yang kita buat, dan biarkan PaaS provider memastikan “rumah” yang nyaman untuk aplikasi kita. Jika kita seorang SysAdmin, IT Pro kita bisa mendalami IaaS karena kita yang akan menyiapkan dan memelihara infrastruktur dari cloud.

Muhammad Taufiq Kurniawan | 57414565 | 4IA22




PENGANTAR KOMPUTASI GRID

A. Pengertian Grid Computing

Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.      

Grid computing merupakan cabang dari distributed computing.Grid komputer memiliki perbedaan yang lebih menonjol dan di terapakan pada sisi infrastruktur dari penyelesaian suatu proses. Grid computing adalah suatu bentuk cluster (gabungan) komputer-komputer yang cenderung tak terikat batasan geografi. Di sisi lain, cluster selalu diimplementasikan dalam satu tempat dengan menggabungkan banyak komputer lewat jaringan.

Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.

Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel. Dan Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.

B. Konsep Grid Computing
Beberapa konsep dasar dari grid computing :
1. Sumber daya dikelola dan dikendalikan secara lokal.
2. Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.
3. Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah
4. Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet)
5. Tiga hal yang di-,sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan / layanan dari sistem grid sendiri adalah untuk melakukan high throughput computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.

C. Cara Kerja Grid Computing
Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :

1. Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.

2. Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.

3. Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.

D. Kelebihan dan Kekurangan Grid Computing
Penggunaan Grid Computing System untuk perusahaan-perusahaan akan banyak memberikan manfaat, baik manfaat secara langsung maupun tidak langsung. Beberapa manfaat tersebut antara lain :
1. Grid computing menjanjikan peningkatan utilitas, dan fleksibilitas yang lebih besar untuk sumberdaya infrastruktur, aplikasi dan informasi. Dan juga menjanjikan peningkatan produktivitas kerja perusahaan.
2. Grid computing bisa memberi penghematan uang, baik dari sisi investasi modal maupun operating cost–nya.

Dan beberapa hambatan yang dialami oleh masyarakat Indonesia dalam mengaplikasikan teknologi grid computing adalah sebagai berikut :
1. Manajemen institusi yang terlalu birokratis menyebabkan mereka enggan untuk merelakan fasilitas yang dimiliki untuk digunakan secara bersama agar mendapatkan manfaat yan lebih besar bagi masyarakat luas.

2. Masih sedikitnya Sumber Daya Manusia yang kompeten dalam mengelola grid computing. Contonhya kurangnya pengetahuan yang mencukupi bagi teknisi IT maupun user non teknisi mengenai manfaat dari grid computing itu sendiri.


E. Contoh Grid Computing

A) Scientific Simulation
Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks.

B) Medical Images
Penggunaan data grid dan komputasi grid untuk menyimpan medical-image. Contohnya adalah eDiaMoND project.

C) Computer-Aided Drug Discovery (CADD)
Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC).

D) Big Science
Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah Contohnya terdapat di DEISA.

E) E-Learning
Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid.

KONSEP DASAR VIRTUALISASI



Virtualisasi adalah sebuah teknik yang saat ini banyak diterapkan untuk memenuhi kebutuhan TI yang semakin tinggi namun diikuti dengan tuntutan untuk mengefisiensikan biaya yang digunakan semaksimal mungkin. Virtualisasi adalah teknologi yang telah diterapkan secara luas saat ini dengan dampak peningkatan operasional dan finansial yang positif. Virtualisasi adalah konsep dimana akses ke sebuah hardware seperti server diatur sehingga beberapa operating system (guest operation system) dapat berbagi sebuah hardware. Tujuan dari virtualisasi adalah kinerja tingkat tinggi, ketersediaan, keandalan, ketangkasan, atau untuk membuat dasar keamanan dan manajemen yang terpadu.

Virtualisasi memungkinkan kita untuk berbagi hardware untuk digunakan beberapa sistem operasi. Virtualisasi dapat membuat sebuah tempat penyimpanan tunggal yang besar terlihat menjadi beberapa tempat penyimpanan dengan ukuran yang lebih kecil.

Setiap perusahaan memiliki tujuan yang berbeda mengapa menerapkan virtualisasi, salah satu tujuan yang ingin dicapai perusahaan dapat merupakan salah satu dari hal berikut :

· Memungkinkan semua device yang terhubung dengan jaringan untuk mengakses aplikasi melalui jaringan, bahkan jika aplikasi tidak pernah dirancangan untuk dapat bekerja di device tersebut.

· Isolasi beban perkerjaan atau aplikasi yang satu dengan yang lainnya untuk meningkatkan keamanan dan kemudahan pengelolaan lingkungan.

· Isolasi aplikasi dari sistem operasi, memungkinkan aplikas untuk tetap berfungsi meskipun dirancang untuk sistem operasi dengan tipe yang berbeda

· Isolasi aplikasi dari sistem operasi, memungkinkan sebuah aplikasi untuk bekerja di sistem operasi yang asing

· Meningkatkan jumlah orang yang dapat didukung oleh aplikasi, dengan mengijinkan untuk menjalan aplikasi dari mesin-mesin yang berbeda secara bersamaan

· Mengurangi waktu yang diperkukan untuk menjalankan apliksi, dengan memisahkan data atau aplikasi itu sendiri dan menyebar pekerjaan di beberapa sistem

· Mengoptimalkan penggunaan sistem tunggal

· Meningkatkan keandalan atau ketersediaan dari aplikasi atau beban kerja dengan pengulangan
Beberapa peralatan komputer dapat divirtualisasikan. Contoh peralatan komputer yang dapat divirtualisasikan adalah
· Server. Mulai dari perspektif akses dan manajemen, sebuah server fisik tunggal dapat menjadi beberapa server yang biasa disebut dengan virtual server atau virtual machine (VM)
· Desktop. Mirip dengan virtualisasi server, virtualisasi desktop dapat berarti dua hal. Yang pertama, memungkinkan pengguna untuk menjalankan beberapa sistem operasi desktop (Apple Mac OS dan Microsoft Windows OS) di dalam komputer yang sama. Yang kedua virtualisasi memungkinkan data dan layanan yang dimiliki oleh pengguna diletakkan di komputer yang digunakan bersama dengan data dan layanan milik orang lain.
· Storage. Satu tempat penyimpanan fisik dapat terlihat menjadi beberapa driver virtual. Dengan kata lain, dengan menggunakan windows yang terpisah di console manajemen yang umum, administrator IT dapat memperlakukan drive virtual seperti drive fisik.
· Application. Saat memvirtualisasi, aplikasi yang ditulis untuk sebuah lingkungan sistem operasi dapat dijalankan di lingkungan operasi yang lain untuk meningkatkan kecocokan aplikasi dan kemudahan pengelolaan. Operasi akan diarahkan ke sistem operasi yang sesuai.
· Network. Di dalan jaringan, sebuah router fisik dapat mendukung beberapa, alamat IP untuk membuat router virtual. Sama seperti sebuah switch Ethernet fisik dapat mendukung beberapa alamat MAC (media access control) untuk membuat switch virtual. Sebuah hardware fisik dapat dibagi menjadi beberapa router atau switch virtual untuk mengurangi biaya.

Komputasi Distribusi pada Cloud Computing
Komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.
Salah satu masalah yang dihadapi dalam usaha menyatukan sumber daya yang terpisah ini antara lain adalah skalabilitas, dapat atau tidaknya sistem tersebut dikembangkan lebih jauh untuk mencakup sumber daya komputasi yang lebih banyak.

Cloud Computing (komputasi awan) merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud computing.
Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.

MapReduce dan NoSQL

Pengertian MapReduce
MapReduce merupakan sebuah konsep dimana data yang kontinue dipecah menjadi bagian data / komponen data kecil dan didistribusikan melalui mesin-mesin yang terhubung secara cluster. Bisa dibilang map reduce merupakan sebuah framework yang digunakan untuk mempercepat proses pengolahan data pada konsep cloud computing. Dalam memproses data, MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map bertugas utnuk mengumpulkan informasi dari potongan-potongan data yang terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table.

Desain dan Struktur MapReduce
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 Google File System.

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.

Pengertian NoSQL



Nosql adalah sebuah memcache dari bagian database sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem databasenya yang berbeda dengan sistem database relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join dan berkembang secara horizontal. Selain itu NoSQL merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti tanpa sql query. Melainkan bagaimana suatu sql query digunakan seminimal mungkin dalam suatu program database. Dengan memanfaatkan teknologi NoSQL ini, diharapkan mampu mengurangi beban server. Selain itu, hal ini juga memudahkan programmer dalam membuat suatu program dan proses pengembangannya. Penjelasan lebih mengenai NoSQL database akan dijelaskan pada sub bab dibawah ini.

Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk pengelolaan data dan desain database yang berguna untuk set yang sangat besar data terdistribusi. NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skala bilitas dan kinerja data yang besar yang database relasional tidak dirancang untuk menangani.NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang disimpan dari jarak jauh pada beberapa virtual server di awan.
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarang bahasa query terstruktur (SQL) Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau tupe.
Beberapa software yang menggunakan NoSQL yaitu:

Redis



Lagi-lagi basis data open source, redis merupakan basis data berbasis key-valuepaling populer menurut situs DB-Engines.com. Redis merupakan singkatan dari REmote DIctionary Server. Basis data ini dikembangkan oleh Salvatore Sanfilippo pada tahun 2009 dan ditulis dalam bahasa C. Redis banyak dipilih karena memiliki fitur in-memory, networked, dan durabilitas tinggi.
Redis mendukung banyak bahasa pemrograman seperti ActionScript, C/C++, C#, Clojure, Common LIsp, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Ruby, Scala, Smalltalk, dan Tcl.

Riak

Riak merupakan basis data NoSQL terdistribusi yang menyimpan datanya dalam bentu key-value. Riak menawarkan fitur high availability, fault tolerance, operational simplicaity, dan scalability. Riak memiliki dua versi yakni Open source edition dan Enterprise edition. Enterprise edition menawarkan dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan.
Erlang ditulis dalam bahasa pemrograman Erlang dengan lisensi Apache License 2.0. Rilis pertama Riak muncul pada tanggal 17 Agustus 2009 (bertepatan dengan 64 tahun Indonesia merdeka). Basho Technologies merupakan perusahaan yang mengembangkan Riak.

Neo4J

Neo4j merupakan basis data NoSQL dengan sistem graf. Apabila berurusan dengan basis data berbasis graf, maka Neo4j lah yang paling dikenal. Neo4j menyimpan relasi antar objek dalam struktur seperti graf, dimana setiap objek merujuk ke objek lainnya secara langsung.
Dalam menambahkan maupun mengambil data, Neo4j memiliki bahasa sendiri yang disebut Cypher.
Neo4j ditulis dalam bahasa Java dengan lisensi GPL V3 oleh Neo Technologies artinya Neo4j termasuk basis data yang open source.


Sumber:
https://putrinurani94.wordpress.com/2016/03/25/mapreduce-dan-nosql/
https://sis.binus.ac.id/2014/10/11/konsep-dasar-virtualisasi/
http://iniblackproject.blogspot.co.id/2017/05/komputasi-distribusi-pada-cloud.html
https://www.codepolitan.com/7-basis-data-nosql-populer

Minggu, 18 Juni 2017




Nama               : Muhammad Taufiq Kurniawan
NPM                : 57414565
Kelas               : 3IA22
Mata Kuliah     : Pengantar Teknologi Game 
Nama Dosen    : Rifki Amalia
Penulisan         : 8

A.    GAME SEQUENTIAL
Game Sequential adalah permainan di mana pemain kemudian memiliki pengetahuan tentang tindakan sebelumnya

B.     GAME SIMULTAN
Pemain melakukan tindakan secara bersamaan. Pada saat mengambil tindakan, pemain yang terlibat tidak mengetahui tindakan yang dipilih oleh pemain lainnya. Dalam hal ini jeda waktu pengambilan tindakan antara sesama pemain tidak berpengaruh terhadap pilihan yang diambil oleh pemain ybs.

C.    GAME DENGAN INFORMASI SEMPURNA
Pemain mengetahui dengan pasti tindakan yang diambil oleh lawannya, sebelum ia memilih tindakan → asumsi ini hanya dapat dipenuhi oleh game sekuensial.

D.    GAME DENGAN INFORMASI TIDAK SEMPURNA
Pemain tidak mengetahui tindakan yang dipilih lawannya sebelum permainan berakhir.

E.     GAME DENGAN INFORMASI LENGKAP
Pemain mengetahui payoff lawannya.

F.     GAME DENGAN INFORMASI TIDAK LENGKAP
Pemain tidak memiliki informasi lengkap tentang payoff lawannya.

G.    GAME KOOPERATIF
Para pemain membuat komitmen yang mengikat (binding commitment) untuk meningkatkan outcome mereka.

H.    GAME NON KOOPERATIF
Para pemain tidak membuat komitmen yang mengikat.

I.       ZERO-SUM GAME
Jumlah payoff dari setiap pemain sama dengan nol. Untuk game dengan 2 pemain, besar keuntungan di satu pihak sama dengan besar kerugian di pihak lain.

J.      NON ZERO-SUM GAME
Jumlah payoff dari setiap pemain tidak sama dengan nol. Untuk game dengan 2 pemain, besar keuntungan di satu pihak tidak sama dengan besar kerugian di pihak lain.

Sumber :




Nama               : Muhammad Taufiq Kurniawan
NPM                : 57414565
Kelas               : 3IA22
Mata Kuliah     : Pengantar Teknologi Game 
Nama Dosen    : Rifki Amalia
Penulisan         : 7

Kecerdasan Buatan atau kecerdasan yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah atau Intelegensi Artifisial (bahasa Inggris: Artificial Intelligence atau hanya disingkat AI) didefinisikan sebagai kecerdasan entitas ilmiah. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.

Banyak hal yang kelihatannya sulit untuk kecerdasan manusia, tetapi untuk Informatika relatif tidak bermasalah. Seperti contoh: mentransformasikan persamaan, menyelesaikan persamaan integral, membuat permainan catur atau Backgammon. Di sisi lain, hal yang bagi manusia kelihatannya menuntut sedikit kecerdasan, sampai sekarang masih sulit untuk direalisasikan dalam Informatika. Seperti contoh: Pengenalan Obyek/Muka, bermain sepak bola.

Walaupun AI memiliki konotasi fiksi ilmiah yang kuat, AI membentuk cabang yang sangat penting pada ilmu komputer, berhubungan dengan perilaku, pembelajaran dan adaptasi yang cerdas dalam sebuah mesin. Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah dan video game.

‘Kecerdasan buatan’ ini bukan hanya ingin mengerti apa itu sistem kecerdasan, tapi juga mengkonstruksinya. Jadi yang mengambil keputusan ketika kita bermain catur atau sepakbola ketika melawan musuh (computer) itu adalah kecerdasan buatan yang dimasukkan kedalam game.

Sumber :

Nama               : Muhammad Taufiq Kurniawan
NPM                : 57414565
Kelas               : 3IA22
Mata Kuliah     : Pengantar Teknologi Game 
Nama Dosen    : Rifki Amalia
Penulisan         : 6

BINDING COMMITMENT
Polisi menangkap 2 tersangka sebuah kasus kriminal. Mereka diinterogasi secara terpisah, dan tidak ada komunikasi di antara mereka.Karena bukti-bukti belum cukup, maka polisi memberi mereka dua pilihan: menyangkal atau mengakui keterlibatan mereka berdua.


Jika keduanya menyangkal, maka A dan B akan mendapat hukuman penjara 1 tahun.
Jika A menyangkal dan B mengaku, maka A akan diganjar 10 tahun penjara, dan B bebas.
Jika A mengaku dan B menyangkal, maka A bebas dan B mendapat hukuman 10 tahun.
Jika keduanya mengaku, masing-masing akan diganjar 8 tahun.

Kedua tahanan tersebut "dipaksa" untuk memilih sebuah keputusan yang dilematis

Pilihan apakah yang diambil A dan B, agar mereka mendapat gain yang terbaik dari keadaan ini? (A dan B tidak dapat saling berkomunikasi)

Game kooperatif adalah suatu game yang pemainnya dapat mengadakan komitmen yang saling mengikat (binding commitment). Hal demikian tidak terjadi pada game nonkooperatif. Jika komitmennya tidak mengikat, game tidak dapat bersifat kooperatif, karena para pemain mungkin akan melanggar komitmen tersebut untuk kepentingan dirinya. Dilema Tahanan adalah game nonkooperatif. Pertanyaannya: bagaimanakah outcome-nya, jika dijadikan game kooperatif?

Dilema Tahanan Kooperatif
Jika Napi A dan Napi B dapat mengadakan komitmen yang mengikat, maka mereka akan memilih {menyangkal, menyangkal}, dengan ganjaran masing-masing 1 tahun penjara. Dalam hal ini, outcome-nya lebih baik dibandingkan tanpa komitmen (game nonkooperatif).
Game tetap harus bersifat simultan (A dan B bertindak secara serentak) dan informasi tidak sempurna (Baik A dan B tidak mengetahui apa pilihan lawannya, sebelum keduanya menetapkan pilihannya).
Sebab jika A mengetahui B “menyangkal”, maka A jelas akan “mengaku”, sehingga A bebas (namun B dipenjara 10 tahun).
Jadi, outcome dari suatu game dapat ditingkatkan jika para pemain saling kooperatif.


Sumber :

Nama               : Muhammad Taufiq Kurniawan
NPM                : 57414565
Kelas               : 3IA22
Mata Kuliah     : Pengantar Teknologi Game 
Nama Dosen    : Rifki Amalia
Penulisan         : 5

Strategi Murni (Pure Strategy Game)
Dalam strategi Murni, strategi optimal untuk setiap pemain adalah dengan menggunakan strategi tunggal. Melalui aplikasi kriteria maximin dan kriteria minimax. Nilai yang dicapai harus merupakan maksimum dari minimaks baris dan minimum dari minimaks kolom, titik ini dikenal sebagai titik pelana (saddle point).   
Bila nilai maksimin tidak sama dengan nilai minimaks, titik pelana tidak akan dicapai, sehingga permainan tidak dapat dipecahkan dengan mempergunakan strategi murni. Jadi, kasus ini harus dipecahkan dengan strategi campuran.

Contoh kasus:

Dua buah perusahan yang memiliki produk yang relatif sama, selama ini saling bersaing dan berusaha untuk mendapatkan keuntungan dari pangsa pasar yang ada. Untuk keperluan tersbut, perusahaan A mengandalkan 2 strategi dan perusahaan B menggunakan 3 macam strategi, dan hasilnya terlihat pada tabel berikut ini:

Dari kasus di atas, bagaimana strategi yang harus digunakan oleh masing-masing pemain atau perusahaan, agar masing-masing mendapatkan hasil yang optimal (kalau untung, keuntungan tersebut besar, dan kalau harus rugi maka kerugian tersebut adalah paling kecil).

Jawab :
Bagi pemain baris akan menggunakan aturan maximin dan pemain kolom akan menggunakan aturan minimax.

Langkah 1


Untuk pemain baris (perusahaan A), pilih nilai yang paling kecil untuk setiap baris (Baris satu nilai terkecilnya 1 dan baris dua nilai terkecilnya 4). Selanjutnya dari dua nilai terkecil tersebut, pilih nilai yang paling baik atau besar, yakni nilai 4.

Langkah 2

Untuk pemain kolom, (perusahaan B), pilih nilai yang paling besar untuk setiap kolom (kolom satu nilai terbesarnya 8, kolom dua nilai terbesarnya 9, dan kolom tiga nilai terbesarnya 4). Selanjutnya dari tiga nilai terbesar tersebut, pilih nilai yang paling baik atau kecil bagi B, yakni nilai 4 (rugi yang paling kecil).

Langkah 3
Karena pilihan pemain baris-A dan pemain kolom-B sudah sama, yakni masingmasing memilih nilai 4, maka permainan ini sudah dapat dikatakan optimal à sudah ditemukan nilai permainan (sadle point) yang sama.
Hasil optimal di atas, dimana masing-masing pemain memilih nilai 4 mengandung arti bahwa pemain A meskipun menginginkan keuntungan yang lebih besar, namun A hanya akan mendapat keuntungan maksimal sebesar 4, bila ia menggunakan strategi harga mahal (S2). Sedangkan pemain B, meskipun menginginkan kerugian yang dideritanya adalah sekecil mungkin, namun kerugian yang paling baik bagi B adalah sebesar 4, dan itu bisa diperoleh dengan merespon strategi yang digunakan A dengan juga menerapkan strategi harga mahal (S3).

Sumber:
erda_kamaruddin.staff.gunadarma.ac.id/Downloads/files/.../Tugas+Kelompok+8.ppt




Nama               : Muhammad Taufiq Kurniawan
NPM                : 57414565
Kelas               : 3IA22
Mata Kuliah     : Pengantar Teknologi Game 
Nama Dosen    : Rifki Amalia
Penulisan         : 4

Unsur-unsur dalam Teori Game:

1. Jumlah pemain
2. Ganjaran (Pay Off)
3. Strategi Permainan
4. Matriks Permainan
5. Titik Pelana (Saddle Poin)

Sumber:
http://cynthiadianasinaulan.blogspot.co.id/2015/12/unsur-unsur-game-theory.html

Know us

Contact us

Nama

Email *

Pesan *