Senin, 04 Juni 2018
Selasa, 17 April 2018
Theory Computation and Cloud Computing
Kelompok Softskill :
Achmad Irfan
Boby Monginsidi
Ghailan Aldi M.
Tubagus Aji P.
M. Taufiq K.
1 and 2 :
Theory Computation and Cloud Computing
Introduction
General, computation can be interpreted as a way to find problem solving
from input data by using an algorithm. Computing is a sub-field of computer
science and mathematics. For thousands of years, calculations and
computations have generally been done using pens and paper, or chalk and
slate, or done mentally, sometimes with the help of a table. But now, most
computing was done using computers. This computer-based computing is called
Modern Computing.
History of Modern Computation The beginning of computing is the existence
of human figures. Humans have known numbers and calculations since
centuries ago. Roman nation has been able to calculate the system of
calendars and constellations. Along with the development of human era also
perform more complex calculations. The human brain also experienced
limitations in calculating numbers that can digit numbers, then created the
abacus tool to calculate, then develop into a calculator, Because the
development of tools and needs more and more data to be counted, and start
the idea of making to make a computer as a tool to calculate the concept
of modern computing. Not only that, the computer created up to now is not a
tool used to calculate, but also can store, edit and process words and many
more uses and advantages possessed by the computer.
Theory Computation
THEORY OF COMPUTATION
The theory of computation is theoretical computer science. Computational
theory deals with the study of how problems can be solved on a model using
algorithms. The model is called a computational model. The computational
theory is subdivided into 3 branches:
-Automata theory (automata theory)
-Theory of Computability (computability theory)
-Theory of Complexity (computational complexity theory)
Computability theory aims to examine whether computational problems can be
solved on a theoretical computational model. In other words, the theory of
computability classifies the problem as solvable or unsolvable. The theory
of complexity aims to examine the need for time and space to solve problems
solved by different approaches.
In other words, the theory of complexity classifies the problem as an easy
or hard question. Computability theory introduces several concepts used in
complexity theory. Automata theory refers to the definition and properties
of computational models. In computational theory, the most commonly used
computation model is Turing Machine.
Some models of computing:
Finite State Automata (FSA) / Finite State Machine (FSM)
Push Down Automata (PDA)
Turing Machine (TM) or TM
Implementation of computing in the fields of physics, chemistry,
mathematics, economics, geology, geography
1. Implementation of Modern Computation in the Field of Physics
The implementation of modern computing in the field of physics is
Computational Physics which studies a combination of Physics, Computer
Science and Applied Mathematics to provide solutions to "complex and
complex events in the real world" either by using simulations as well as
the proper use of algorithms. The understanding of physics in theory,
experimentation, and computation must be comparable, in order to produce
the appropriate numerical and visualization / modeling solutions to
understand the Physics problem.
To perform work such as integral evaluations, solving differential
equations, solving simultaneous equations, plotting a function / data,
making the development of a series of functions, finding the root of the
equation and working with complex numbers for which computational physics
is applied. Many software or languages are used, both MatLab, Visual
Basic, Fortran, Open Source Physics (OSP), Labview, Mathematica, etc. are
used for understanding and finding numerical solutions to problems in
Computational Physics.
2. Implementation of Modern Computation in Chemistry
Implementation of modern computation in the field of chemistry is
Computational Chemistry is the use of computer science to help solve
chemical problems, for example the use of super computers to calculate the
structure and molecular properties. The term chemical theory can be defined
as a mathematical description for chemistry, whereas computational
chemistry is typically used when mathematical methods are developed well
enough to be used in computer programs. It should be noted that the word
"exact" or "perfect" does not appear here, because very few chemical
aspects can be calculated appropriately. Almost all aspects of chemistry
can be described in the scheme of quantitative or qualitative computing
almost.
3. Implementation of Modern Computation in Mathematics
Resolving a problem relating to mathematical calculations, but in the sense
that will be discussed in the discussion of modern computing is a system
that will solve mathematical problems using a computer by preparing
algorithms that can be understood by computers that are useful for solving
human problems.
4. Implementation of Modern Computing in Economic Field
Programming specifically designed for economic computing, and development
of aids in computing economics education. Because the economic field must
have problems that must be solved by the algorithm for example is solve the
theory of statistics to solve financial problems.
One example of computing in economics is statistical computing. Statistical
computing is the department that studies the techniques of data processing,
program making, and data analysis and statistical information system
preparation techniques such as database compilation, data communications,
network systems, and statistical data dissemination.
5. Implementation of Computing in the Field of Geology and Geography
Geology and Geography, in this field can be used such as modeling the
access of the geographic state of a monitored surface area in the event of
movement or vibration. In addition, information on weather forecasts is
very useful for everything, especially air and sea transportation.
1. Introduction to Clould Computing
A. Introduction
The development of technology in this era using concepts such as social
networking, open, share, colaborations, mobile, easy maintenance, one
click, distributed, scalability, concurency, and transparent. Until now the
trend of Cloud Computing technology is still being investigated in the
research - the world of IT experts. With various advantages and
disadvantages, Cloud Computing comes with easy access to data from anywhere
and anytime, because by utilizing the internet and using a fixed device or
mobile device using the Internet cloud as a place of data storage,
applications and others. This technology will provide many advantages both
from the service provider (provider) or from the user. The application of
this technology has a very significant impact on the development of the
technology itself, both from the user side and from the industry side.
Users benefit from the increasing ease of obtaining or downloading data
quickly and easily as many services are opened by industry. The advantages
for the industry is no less great with the convenience obtained by users,
because with the advancement of cloud computing technology will further
facilitate the industry to market products and spread information widely
throughout the world. In general, the definition of cloud computing (cloud
computing) is a combination of the use of computer technology (computing)
in a network with Internet-based development (cloud) that has the function
to run programs or applications through computers connected at the same
time, but not all which connects via the Internet using cloud computing.
Cloud-based computer system technology is a technology that makes the
Internet as a central server to manage data and user applications. This
technology allows users to run programs without installation and allows
users to access their personal data through computers with internet access.
B. Introduction to Grid Computing
Grid Computing is actually a development application of a computer network
(network). Unlike conventional computer networks that focus on
device-to-device communication, applications on grid computing are designed
to take advantage of resources at terminals in the network. Grid Computing
is usually applied to run a function that is too complex or too intensive
to be done by a single system. Just as Internet users access various
websites and use various protocols as if in a stand-alone system, Grid
Computing application users seem to be using a virtual computer with huge
data processing capacity.
By definition Grid Computing or Grid Computing is one of the parallel
computing data types. Because the use of its resources involves many
computers geographically dispersed but connected via communication channels
(including the internet) to solve large-scale computing problems. The
faster the communication path is open, the chances of combining computing
performance from separate computer sources become increasingly widespread.
Thus, the scale of distributed computing can be increased geographically
further, across administrative domain boundaries.
The faster the communication path is open, the chances to combine computing
performance from separate computing sources are increasing. Thus, the scale
of distributed computing can be increased geographically further, across
the boundaries of existing administrative domains.
C. Virtualization
There are two terms that are currently popular in terms of computing
technology, namely Virtualization and Cloud computing, but today it seems
that many think that virtualization and cloud computing is the same thing,
when in fact cloud computing is more than just virtualization.
Virtualization is a technology, which allows you to create virtual versions
of something physical, such as operating systems, data storage or network
resources. The process is done by a software or firmware called Hypervisor.
Hypervisor is the soul of virtualization, because he is the layer that
"pretend" to be an infrastructure to run multiple virtual machines. In
practice, by buying and owning one machine, you seem to have multiple
servers, so you can reduce IT spending for new server purchases,
components, storage, and other support software.
In hardware virtualization, the software works to form a virtual machine
that acts as if it were a genuine computer with an operating system
installed in it. One easy example suppose there is one computer that has
installed GNU / Linux Ubuntu. Then by using virtualization software such as
Virtual box we can install two other operating system as an example of
Windows XP and FreeBSD.
The operating system installed on the computer physically in this case GNU
/ Linux is called as host machine while the operating system installed
above it is called the guest machine. The terms host and guest are
introduced to make it easy to distinguish between a physical operating
system installed on a computer with an operating system installed on it or
virtual.
The software used to create virtual machines on a host machine is commonly
referred to as a hypervisor or Virtual Machine Monitor (VMM). According to
Robert P. Goldberg on his thesis entitled "Architectural Principles For
Virtual Computer Systems" on page 23 mentions that the types of VMM are 2:
- Type 1 runs on the physical computer that exists directly. In this type
of hypervisor / VMM actually controls the hardware of the host computer.
Includes controlling the operating system-its guest operating system.
Examples of existing implementations and I have tried directly is VMWare
ESXi. As for other examples that exist like Microsoft Hyper-V
- Type 2 runs on the operating system above it. In this type of course
guest operating system is located on the layer above it again.
D.Distributed Computation in Cloud Computing
Distributed computing is a field of computer science that studies
distributed systems. A distributed system consists of several autonomous
computers that communicate over a computer network. Computers that interact
with each other to achieve common goals. A computer program that runs in a
distributed system is called a distributed program, and distributed
programming is the process of writing the program. Distributed computing
also refers to the use of distributed systems to solve computing problems.
In distributed computing, the problem is divided into many tasks, each of
which is solved by one computer.
This activity is a collection of several computers that are connected to
perform distribution, such as sending and receiving data and other
interactions between computers that require a network for one computer and
another can interact and interact. This is all done with cloud computing as
we know to provide services where the information is stored on the server
permanently and stored on the client computer in temporary.
Distributed Computing is one of the goals of Cloud Computing, because it
offers access to resources in parallel, users can also use it
simultaneously (not having to wait in the queue for service), consisting of
many systems so that if one system crashes, will be affected, can save
operational costs because it does not require resources (resource).
This computational distribution has the definition of studying the
coordinated use of physically separate or distributed computers. In this
distributed computing, the program is split into several parts
simultaneously run on many computers connected via the internet network.
E. Map Reduce and No SQL
Map-Reduce is one of the most important technical concepts in cloud
technology especially because it can be implemented in a distributed
computing environment. Thus it will guarantee the scalability of our
application. One example of the real implementation of this map-reduce in a
product is what Google does. With inspiration from the functional
programming map and reducing Google can generate a highly scalable
distributed filesystem, Google Big Table. And also inspired by Google, in
the realm of open source visible acceleration development of other
framework that is also distributed and using the same concept, open source
project is named Apache Hadoop.
NoSQL is a term to state things that include a simple database containing
key and values like cache, or more sophisticated non-relational databases
like MongoDB, Cassandra, CouchDB, and more.
Wikipedia says NoSQL is a database management system that is different from
the classic relational database management system in some ways. NoSQL may
not require table schemes and generally avoid join operations and develop
horizontally. Academics call this kind of database as structured storage, a
term that includes a relational database management system.
F. No SQL Database
The NoSQL database, also called Not Only SQL, is an approach to data
management and database design useful for a very large set of distributed
data. NoSQL, which includes various technologies and architectures, strives
to solve the problem of scalability and the performance of large data that
relational databases are not designed to handle. NoSQL is very useful when
companies need to access and analyze large amounts of structured data or
data stored remotely on multiple virtual servers in the cloud.
Contrary to the misunderstanding caused by its name, NoSQL does not
prohibit structured query languages (SQL). While it is true that some
NoSQL systems are completely non-relational, others just avoid selected
relational functions like fixed table schemes and join operations. For
example, instead of using tables, NoSQL databases might organize data into
objects, key / value pairs or tuples
Source :
https://adhibarfan.wordpress.com/2016/04/21/pengantar-komputasi-cloud/
https://diioradhitya.blogspot.co.id/2017/03/implementasi-komputasi-dalam-bidang.html
https://anggasaputro.wordpress.com/2016/03/15/teori-komputasi-dan-penerapannya/
Selasa, 13 Maret 2018
Review Jurnal Cloud Computing
Muhammad Taufiq Kurniawan | 57414565 | 4IA22
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.
Computing
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 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 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 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
Pengertian tentang Game
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 :
Pengambilan Keputusan pada Game Catur dan Sepakbola
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 :
Binding Commitment pada Game
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 :