Jumat, 20 Juni 2014

Parallel Computation

Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently ("in parallel"). There are several different forms of parallel computing: bit-level, instruction level, data, and task parallelism. Parallelism has been employed for many years, mainly in high-performance computing, but interest in it has grown lately due to the physical constraints preventing frequency scaling. As power consumption (and consequently heat generation) by computers has become a concern in recent years, parallel computing has become the dominant paradigm in computer architecture, mainly in the form of multi-core processors.

A. Types of parallelism

Bit-level parallelism
From the advent of very-large-scale integration (VLSI) computer-chip fabrication technology in the 1970s until about 1986, speed-up in computer architecture was driven by doubling computer word size—the amount of information the processor can manipulate per cycle. Increasing the word size reduces the number of instructions the processor must execute to perform an operation on variables whose sizes are greater than the length of the word. For example, where an 8-bit processor must add two 16-bit integers, the processor must first add the 8 lower-order bits from each integer using the standard addition instruction, then add the 8 higher-order bits using an add-with-carry instruction and the carry bit from the lower order addition; thus, an 8-bit processor requires two instructions to complete a single operation, where a 16-bit processor would be able to complete the operation with a single instruction.

Instruction-level parallelism
A canonical five-stage pipeline in a RISC machine (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back)
A computer program, is in essence, a stream of instructions executed by a processor. These instructions can be re-ordered and combined into groups which are then executed in parallel without changing the result of the program. This is known as instruction-level parallelism. Advances in instruction-level parallelism dominated computer architecture from the mid-1980s until the mid-1990s.
Modern processors have multi-stage instruction pipelines. Each stage in the pipeline corresponds to a different action the processor performs on that instruction in that stage; a processor with an N-stage pipeline can have up to N different instructions at different stages of completion. The canonical example of a pipelined processor is a RISC processor, with five stages: instruction fetch, decode, execute, memory access, and write back. The Pentium 4 processor had a 35-stage pipeline. 

Task parallelism
Task parallelism is the characteristic of a parallel program that "entirely different calculations can be performed on either the same or different sets of data". This contrasts with data parallelism, where the same calculation is performed on the same or different sets of data. Task parallelism does not usually scale with the size of a problem. 


Selasa, 13 Mei 2014

Quantum Computation




First proposed in the 1970s, quantum computing relies on quantum physics by taking advantage of certain quantum physics properties of atoms or nuclei that allow them to work together as quantum bits, or qubits, to be the computer’s processor andmemory. By interacting with each other while being isolated from the external environment, qubits can perform certain calculations exponentially faster than conventional computers.
Qubits do not rely on the traditional binary nature of computing. While traditional computers encode information into bits using binary numbers, either a 0 or 1, and can only do calculations on one set of numbers at once, quantum computers encode information as a series of quantum-mechanical states such as spin directions of electrons or polarization orientations of a photon that might represent a 1 or a 0, might represent a combination of the two or might represent a number expressing that the state of the qubit is somewhere between 1 and 0, or a superposition of many different numbers at once. A quantum computer can do an arbitrary reversible classical computation on all the numbers simultaneously, which a binary system cannot do, and also has some ability to produce interference between various different numbers. By doing a computation on many different numbers at once, then interfering the results to get a single answer, a quantum computer has the potential to be much more powerful than a classical computer of the same size. In using only a single processing unit, a quantum computer can naturally perform myriad operations in parallel.
Quantum computing is not well suited for tasks such as word processing and email, but it is ideal for tasks such as cryptography and modeling and indexing very large databases
Entanglement :
Quantum entanglement is a physical phenomenon that occurs when pairs or groups of particles are generated or interact in ways such that the quantum state of each particle cannot be described independently – instead, a quantum state may be given for the system as a whole.
Measurements of physical properties such as position, momentum, spin, polarization, etc. performed on entangled particles are found to be appropriately correlated. For example, if a pair of particles is generated in such a way that their total spin is known to be zero, and one particle is found to have clockwise spin on a certain axis, then the spin of the other particle, measured on the same axis, will be found to be counterclockwise. Because of the nature of quantum measurement, however, this behavior gives rise to effects that can appear paradoxical: any measurement of a property of a particle can be seen as acting on that particle (e.g. by collapsing a number of superimposed states); and in the case of entangled particles, such action must be on the entangled system as a whole. It thus appears that one particle of an entangled pair “knows” what measurement has been performed on the other, and with what outcome, even though there is no known means for such information to be communicated between the particles, which at the time of measurement may be separated by arbitrarily large distances.

Senin, 28 April 2014

CLOUD COMPUTING

Cloud computing in general can be portrayed as a synonym for distributed computing over a network, with the ability to run a program or application on many connected computers at the same time. It specifically refers to a computing hardware machine or group of computing hardware machines commonly referred as a server connected through a communication network such as the Internet, an intranet, a local area network (LAN) or wide area network (WAN) and individual users or user who have permission to access the server can use the server's processing power for their individual computing needs like to run an application, store data or any other computing need.

Advantage
Cloud computing relies on sharing of resources to achieve coherence and economies of scale, similar to a utility (like the electricity grid) over a network. At the foundation of cloud computing is the broader concept of converged infrastructure and shared services. The cloud also focuses on maximizing the effectiveness of the shared resources. Cloud resources are usually not only shared by multiple users but are also dynamically reallocated per demand. This can work for allocating resources to users. For example, a cloud computer facility that serves European users during European business hours with a specific application (e.g., email) may reallocate the same resources to serve North American users during North America's business hours with a different application (e.g., a web server). This approach should maximize the use of computing power thus reducing environmental damage as well since less power, air conditioning, rackspace, etc. are required for a variety of functions. With cloud computing, multiple users can access a single server to retrieve and update their data without purchasing licenses for different applications.

The Working Principle
The main enabling technology for cloud computing is virtualization. Virtualization generalizes the physical infrastructure, which is the most rigid component, and makes it available as a soft component that is easy to use and manage. By doing so, virtualization provides the agility required to speed up IT operations, and reduces cost by increasing infrastructure utilization. On the other hand, autonomic computing automates the process through which the user can provision resources on-demand. By minimizing user involvement, automation speeds up the process and reduces the possibility of human errors.
Users face difficult business problems every day. Cloud computing adopts concepts from Service-oriented Architecture (SOA) that can help the user break these problems into services that can be integrated to provide a solution. Cloud computing provides all of its resources as services, and makes use of the well-established standards and best practices gained in the domain of SOA to allow global and easy access to cloud services in a standardized way.
Cloud computing also leverages concepts from utility computing in order to provide metrics for the services used. Such metrics are at the core of the public cloud pay-per-use models. In addition, measured services are an essential part of the feedback loop in autonomic computing, allowing services to scale on-demand and to perform automatic failure recovery.

Selasa, 25 Maret 2014

Agent

Software Agent adalah entitas perangkat lunak yang didedikasikan untuk tujuan tertentu yang memungkinkan user untuk mendelegasikan tugasnya secara mandiri, selanjutnya software agent nantinya disebut agent saja. Agent bisa memiliki ide sendiri mengenai bagaimana menyelesaikan suatu pekerjaan tertentu atau agenda tersendiri. Agent yang tidak berpindah ke host lain disebut stationary agent.
Karakteristik dan Atribut Software Agent
Untuk memperdalam pemahaman tentang software agent, fungsi, peran, dan perbedaan mendasar dikaitkan software program yang ada, berikut ini akan dijelaskan tentang beberapa atribute dan karakteristik yang dimiliki oleh software agent. Tentu tidak semua karakteristik dan atribut terangkum dalam satu agent. Pada hakekatnya daftar karakteristik dan atribut dibawah adalah merupakan hasil survey dari karakteristik yang dimiliki oleh agent-agent yang ada pada saat ini.

1. Autonomy
Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam. Dan satu hal penting lagi yang mendukung autonomy adalah masalah intelegensi (intelligence) dari agent.

2. Intelligence, Reasoning, dan Learning
Setiap agent harus mempunyai standar minimum untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam perubahan lingkungan.

3. Mobility dan Stationary
Khusus untuk mobile agent, dia harus memiliki kemampuan yang merupakan karakteristik tertinggi yang dia miliki yaitu mobilitas. Berkebalikan dari hal tersebut adalahstationary agent. Bagaimanapun juga keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan berkomunikasi dengan agent lain.

4. Delegation
Sesuai dengan namanya dan seperti yang sudah kita bahas pada bagian definisi, agent bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.

5. Reactivity
Karakteristik agent yang lain adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan informasi yang ada dalam suatu lingkungan (enviornment). Lingkungan itu bisa mencakup: agent lain, user, adanya informasi dari luar, dsb.

6. Proactivity dan Goal-Oriented
Sifat proactivity boleh dikata adalah kelanjutan dari sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada tujuan yang diembannya (goal-oriented).

7. Communication and Coordination Capability
Agent harus memiliki kemampuan berkomunikasi dengan user dan juga agent lain. Masalah komunikasi dengan user adalah masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi, koordinasi, dan kolaborasi dengan agent lain adalah masalah sentral penelitian Multi Agent System (MAS). Bagaimanapun juga untuk bisa berkoordinasi dengan agent lain dalam menjalankan tugas, perlu bahasa standard untuk berkomunikasi. Tim Finin dan Yannis Labrou adalah peneliti software agent yang banyak berkecimpung dalam riset mengenai bahasa dan protokol komunikasi antar agent. Salah satu produk mereka adalahKnowledge Query and Manipulation Language (KQML). Kemudian masih berhubungan dengan ini komunikasi antar agent adalahKnowledge Interchange Format (KIF).
Klasifikasi Software Agent

Impact of Mobile Computing

Type Mobile Computing
• Laptops are portable computers , small and can be carried anywhere very easily integrated in a casing . Weight laptops range from 1 to 6 pounds depending on size , materials and specifications . The power source comes from batteries or A / C adapter which can be used to recharge the battery and to power the laptop itself . Usefulness same laptop with a desktop computer , which distinguishes only the size making it easier for users to carry it around .


• Wearable Computer or computer that is applied in the human body . An example is Computer Glacier Ridgeline W200 . W200 is made from reinforced magnesium alloy which maximizes strength and minimizes overall weight . At only 10.2 ounces and was formed in the arm contour , W200 combines the same features of a standard computer with a device that provides comfort and ergonomic wrist worn instrument . The W200 has a 3.5 “color display with touch screen , backlit keyboard and a hot swappable battery . Wireless function of W200 ensure continuous connectivity regardless of the user’s location with plug and play Wi – Fi , Bluetooth and GPS modules . Using Windows CE or Linux operating systems , the unit can be quickly configured to access the remote host system through integrated wired or wireless interfaces . Hands – free operation of the W200 that overcomes the physical limitations associated with normal hand-held computer . This allows the user complete freedom to continue their daily activities with both hands while using the computer has full access at all times . In addition to the electronic compass , the system also integrates the latest and most innovative features , such as tilt and silent reckoning , which allows critical battery savings when the unit is not in use . Hands – free usability of the W200 makes it of special interest for Emergency Services , Security , Defense , Warehouse , Field Logistics and any area where access to a large amount of information required . W200 ridge line of the glacier when it joins rugged computers developed for data collection .


Senin, 17 Maret 2014

Remote Procedure Call (RPC) – (bag 2)



Prinsip RPC dalam program Client-Server

Skema RPC ini dilakukan juga pada proses-proses yang running di komputer  berlainan

·         ƒ Sebelum mekanisme RPC digunakan, data  harus di-packaging ke dalam formattransimisi. Langkah ini dinamakan marshalling
·        
ƒProxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data
dan meminta instans dari komponen (remote)
·         ƒStub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan .


Langkah-langkah dalam RPC

1.  Prosedur client memanggil client stub
2.  Client stub membuat pesan dan memanggil OS client
3.  OS client mengirim pesan ke OS server
4.  OS server memberikan pesan ke server stub
5.  Server stub meng-unpack parameter-parameter untuk memanggil server
6.  Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7.  Server stub mem-pack hasil tsb dan memanggil OS server
8.  OS server mengirim pesan (hasil) ke OS client
9.  OS client memberikan pesan tersebut ke client stub
10.  Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke
client

Selasa, 11 Maret 2014

Model Sistem Terdistribusi


Dalam pelaksanaannya, sistem terdistribusi memiliki berbagai model, yaitu :

1. Sistem client - server
Sistem client – server adalah model yang membagi  jaringan berdasarkan dari pemberi dan penerima jasa layanan. Pada sebuah jaringan dari model ini akan didapatkan: file server, time server, directory server, printer server, dan seterusnya.



2. Sistem point to point
Pada sistem ini merupakan bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi  sebagai client maupun server.

Jumat, 10 Januari 2014

Proposal Pengantar Bisnis Informatika


Anggota kelompok:

Edi Sudrajat

Fachrizal M. Latar

Fadhlanullah Sidiq

Fatara Hutami Augia

Femi Fahriani

Fithri Nurhayati

Fuad Ali

Galih Muhammad Ridlo

 



Tsuzumi’s Computer 

BAB I
PENDAHULUAN

1.1. Nama dan Alamat Perusahaan 
Nama perusahaan    : Tsuzumi’s Computer 
Alamat perusahaan  : Cibinong – Jawa Barat
No. Telp                    : 021 - 8770XXX

1.2. Nama dan Alamat Pemilik 
Nama pemilik   : Fithri Nurhayati 
Alamat pemilik : Ciracas - Jakarta Timur 
No. Telp           : 021 – 8719XXX

1.3. Nama dan Alamat Penanggung jawab 
Nama              : Femi Fahriani 
Alamat            : Cijantung – Jakarta Timur 
No. Telp          : 021 – 8770XXX 

1.4. Informasi tentang bisnis yang dilaksanakan 
Perusahaan kami bergerak di bidang perdagangan yang menjual berbagai aneka macam perlengkapan perangkat keras alat-alat komputer (hardware) dan perangkat lunak (software) yang bergaransi resmi.

Sebelum kami menjalankan perusahaan yang kami rencanakan ini, maka kami harus mempunyai modal usaha. Untuk merencanakan pemasaran, perusahaan kami akan mempromosikan dan mendistribusikan produk kami melalui pasar tradisional maupun pasar modern yang mudah terjangkau oleh para pembeli/konsumen. 

Adapun maksud dan tujuan kami mendirikan perusahaan ini yaitu: 
1) Berperan aktif dalam bidang bisnis dan kewirausahaan. 
2) Menyediakan kebutuhan hardware dan software bagi masyarakat, supaya lebih mudah. 
3) Mengurangi tingkat pengangguran. 
4) Menjalin persahabatan antara pelanggan (konsumen), dan 
5) Mendapatkan keuntungan atau laba.