Diberdayakan oleh Blogger.

Parallel Computation

Parallel Computation

Parallel computation adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun banyak prosesor di dalam sebuah CPU. Parallel computation sendiri berguna untuk meningkatkan performa komputer karena semakin banyak proses yang bisa dikerjakan secara bersamaan maka akan makin cepat. 
      A.    Konsep Paralel
Konsep paralel adalah sebuah kemampuan prosesor untuk melakukan sebuah tugas ataupun banyak tugas secara simultan ataupun bersamaan, dengan kata lain prosesor mampu melakukan satu ataupun banyak tugas dalam satu waktu.

      B.     Pemrosesan Terdistribusi
Pemrosesan terdistribusi merupakan proses pendistribusian pengolahan paralel dalam pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat.

      C.     Arsitektur Komputer Paralel
Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 baguan, yaitu :
1.      SISD ( Single Instruction Single Data Stream )
Jenis Komputer yang hanya memiliki satu prosesor dan satu instruksi yang dieksekusi secara serial.
2.      SIMD ( Single Instruction  Multiple Data Stream )
Jenis komputer yang memiliki lebih dari satu prosesor, tetapi komputer ini hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step.
3.      MISD ( Multiple Instruction Single Data Stream )
Jenis komputer yang memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi di dalam praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami, sampai saat ini pun belum ada komputer yang menggunakan arsitektur jenis ini
4.      MIMD ( Multiple Instruction Multiple Data Stream )
Jenis komputer yang memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini, karena model dan konsepnya yang tidak terlalu rumit untuk dipahami.

      D.    Pengantar Thread Programming
Sebuah thread di dalam pemrograman komputer adalah sebuah informasi terkait tentang penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara bersamaan.Thread ini memungkinkan program untuk mengetahui bagaimana user masuk ke dalam program secara bergantian dan user akan masuk kembali menggunakan user yang berbeda. Multiple thread dapat berjalan bersamaan dengan proses lainnya membagi sumberdaya menjadi memori, disaat proses lain tidak membaginya.

      E.     Pengantar Message Passing, Open MP
Message Passing merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses

      F.      Pengantar Pemrograman CUDA GPU
Sebelum saya membahas tentang CUDA, saya akan membahas GPU terlebih dahulu. GPU dalah sebuah processor khusus untuk memepercepat dan mengubah memori untuk mempercepat pemrosesan gambar. GPU ini sendiri biasanya berada di dalam graphic card komputer ataupun laptop.
CUDA(Compute Unified Device Architecture) adalah suatu skema yang dibuat oleh NVIDIA agar NVIDIA selaku GPU (Graphic Processing Unit) mampu melakukan komputasi tidak hanya untuk pengolahan grafis namun juga untuk tujuan umum. Jadi dengan adanya CUDA kita dapat memanfaatkan banyak prosesor dari NVIDIA untuk melakukan proses perhitungan ataunpun komputasi yang banyak.

sumber :
http://asepkeren-intiblogger.blogspot.com/2012/08/artikel-pengertian-parallel-computing.html
http://dpamudji.wordpress.com/2011/04/01/komputasi-paralel/

http://uchaaii.blogspot.co.id/2013/07/parallel-computation.html

Quantum Computation

Pengertian  Quantum Computing
       Merupakan alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk peng-operasi-an data. Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.
 Sejarah singkat
  • Pada tahun 1970-an pencetusan atau ide tentang komputer kuantum pertama kali muncul oleh para fisikawan dan ilmuwan komputer, seperti Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech).
  • Feynman dari California Institute of Technology yang pertama kali mengajukan dan menunjukkan model bahwa sebuah sistem kuantum dapat digunakan untuk melakukan komputasi. Feynman juga menunjukkan bagaimana sistem tersebut dapat menjadi simulator bagi fisika kuantum.
  • Pada tahun 1985, Deutsch menyadari esensi dari komputasi oleh sebuah komputer kuantum dan menunjukkan bahwa semua proses fisika, secara prinsipil, dapat dimodelkan melalui komputer kuantum. Dengan demikian, komputer kuantum memiliki kemampuan yang melebihi komputer klasik.
  • Pada tahun 1995, Peter Shor merumuskan sebuah algoritma yang memungkinkan penggunaan komputer kuantum untuk memecahkan masalah faktorisasi dalam teori bilangan.
  • Sampai saat ini, riset dan eksperimen pada bidang komputer kuantum masih terus dilakukan di seluruh dunia. Berbagai metode dikembangkan untuk memungkinkan terwujudnya sebuah komputer yang memilki kemampuan yang luar biasa ini. Sejauh ini, sebuah komputer kuantum yang telah dibangun hanya dapat mencapai kemampuan untuk memfaktorkan dua digit bilangan. Komputer kuantum ini dibangun pada tahun 1998 di Los Alamos, Amerika Serikat, menggunakan NMR (Nuclear Magnetic Resonance).

A.    Entanglement

Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Contoh dari quantum entanglement: kaitan antara penentuan jam sholat dan quantum entanglement. Mohon maaf bagi yang beragama lain saya hanya bermaksud memberi contoh saja. Mengapa jam sholat dibuat seragam? Karena dengan demikian secara massal banyak manusia di beberapa wilayah secara serentak masuk ke zona entanglement bersamaan.

B.      Pengoperasian Data Qubit

Komputer kuantum memelihara urutan qubit. Sebuah qubit tunggal dapat mewakili satu, nol, atau, penting, setiap superposisi quantum ini, apalagi sepasang qubit dapat dalam superposisi kuantum dari 4 negara, dan tiga qubit dalam superposisi dari 8. Secara umum komputer kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan (ini dibandingkan dengan komputer normal yang hanya dapat di salah satu negara n 2 pada satu waktu). Komputer kuantum yang beroperasi dengan memanipulasi qubit dengan urutan tetap gerbang logika quantum. Urutan gerbang untuk diterapkan disebut algoritma quantum.
      Sebuah contoh dari implementasi qubit untuk komputer kuantum bisa mulai dengan menggunakan partikel dengan dua putaran menyatakan: “down” dan “up”. Namun pada kenyataannya sistem yang memiliki suatu diamati dalam jumlah yang akan kekal dalam waktu evolusi dan seperti bahwa A memiliki setidaknya dua diskrit dan cukup spasi berturut-turut eigen nilai , adalah kandidat yang cocok untuk menerapkan sebuah qubit. Hal ini benar karena setiap sistem tersebut dapat dipetakan ke yang efektif spin -1/2 sistem.

C.     Algoritma pada Quantum Computing

       Para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.
·         Algoritma Shor

Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.

·         Algoritma Grover

Algoritma Grover adalah sebuah algoritma kuantum yang menawarkan percepatan kuadrat dibandingkan pencarian linear klasik untuk list tak terurut. Algoritma Grover menggambarkan bahwa dengan menggunakan pencarian model kuantum, pencarian dapat dilakukan lebih cepat dari model komputasi klasik. Dari banyaknya algoritma kuantum, algoritma grover akan memberikan jawaban yang benar dengan probabilitas yang tinggi. Kemungkinan kegagalan dapat dikurangi dengan mengulangi algoritma. Algoritma Grover juga dapat digunakan untuk memperkirakan rata-rata dan mencari median dari serangkaian angka, dan untuk memecahkan masalah Collision.

D.    Quatum Gates

Gate sendiri dalam bahasa Indonesia adalah Gerbang.jadi Quantum Gates
adalah sebuah gerbang kuantum yang dimana berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 menjadi qubits. dengan demikian Quantum gates mempercepat banyaknya perhitungan bit pada waktu bersamaan.

E.     Implementasi Quantum Computing

Pada 19 Nov 2013 Lockheed Martin, NASA dan Google semua memiliki satu misi yang sama yaitu mereka semua membuat komputer kuantum sendiri. Komputer kuantum ini adalah superkonduktor chip yang dirancang oleh sistem D – gelombang dan yang dibuat di NASA Jet Propulsion Laboratories.

NASA dan Google berbagi sebuah komputer kuantum untuk digunakan di Quantum Artificial Intelligence Lab menggunakan 512 qubit D -Wave Two yang akan digunakan untuk penelitian pembelajaran mesin yang membantu dalam menggunakan jaringan syaraf tiruan untuk mencari set data astronomi planet ekstrasurya dan untuk meningkatkan efisiensi searchs internet dengan menggunakan AI metaheuristik di search engine heuristical.

A.I. seperti metaheuristik dapat menyerupai masalah optimisasi global mirip dengan masalah klasik seperti pedagang keliling, koloni semut atau optimasi swarm, yang dapat menavigasi melalui database seperti labirin. Menggunakan partikel terjerat sebagai qubit, algoritma ini bisa dinavigasi jauh lebih cepat daripada komputer konvensional dan dengan lebih banyak variabel.

Penggunaan metaheuristik canggih pada fungsi heuristical lebih rendah dapat melihat simulasi komputer yang dapat memilih sub rutinitas tertentu pada komputer sendiri untuk memecahkan masalah dengan cara yang benar-benar cerdas . Dengan cara ini mesin akan jauh lebih mudah beradaptasi terhadap perubahan data indrawi dan akan mampu berfungsi dengan jauh lebih otomatisasi daripada yang mungkin dengan komputer normal.

Quantum berlawanan dari fisika klasik dan semua intuisi kita. Engineering menghindari ilmu ini karena terlalu teoritis dan tidak bisa diaplikasi. Tapi ini mungkin adalah satu-satunya harapan untuk menghindari akhir dari kemajuan komputer. komputer. Meskipun kita selalu heran melihat model komputer baru muncul setiap bulan, secara teoritis ini ada ujungnya. Komputasi masa kini - komputer konvensional - dikerjakan oleh transistor, dan kecepatannya bergantung pada ukuran transistor. Kemajuan komputer yang sampai sekarang terjadi adalah karena transistor menjadi semakin kecil. Gordon Moore, co-founder dari Intel, pada tahun 60-an berkata, jumlah transistor per inchi persegi akan berlipat dua kali setiap tahun.

Suatu hari transistor itu bisa menjadi sebesar satu atom dan Richard Feynmann, fisikawan terhebat sejak Albert Einstein, berpendapat bahwa ini adalah ukuran transistor terkecil yang mungkin. Tentunya ini keberhasilan luar bisa untuk mencapai ukuran itu, namun apakah ini betul-betul akhir dari kemajuan komputer?

Tidak, dengan adanya Quantum Computer. Quantum Computer, berbeda dengan banyak istilah lain, memang memakai fenomena quantumyang tidak bisa ditiru komputer konvensional. Ini bukan pengembangan komputer biasa, melainkan konsep yang baru sama sekali.

Quantum Computer adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Quantum Computer dapat memproses jauh lebih cepat daripada komputer konvensional. Pada dasarnya, quantum computer dapat memproses secara paralel, sehingga berkomputasi jauh lebih cepa.
Quantum Computer dapat jauh lebih cepat dari komputer konvensional pada banyak masalah, salah satunya yaitu masalah yang memiliki sifat berikut:
  1.  Satu-satunya cara adalah menebak dan mengecek jawabannya berkali-kali.
  2. Terdapat n jumlah jawaban yang mungkin.
  3.  Setiap kemungkinan jawaban membutuhkan waktu yang sama untuk mengeceknya.
  4. Tidak ada petunjuk jawaban mana yang kemungkinan benarnya lebih besar:                                           memberi jawaban dengan asal tidak berbeda dengan mengeceknya dengan urutan tertentu. Tentang quantum gates dan algoritma shor , Algoritma Shor didasarkan dari sebuah teori bilangan: fungsi F(a) = xamod n adalah feungsi periodik jika x adalah bilangan bulat yang relatif prima dengan n. Dalam Algoritma Shor, n akan menjadi bilangan bulat yang hendak difaktorkan. Menghitung fungsi ini di komputer konvensional untuk jumlah yang eksponensial akan membutuhkan waktu eksponensial pula. Pada masalah ini algoritma quantum shor memanfaatkan pararellisme quantum untuk melakukannya hanya dengan satu langkah. Karena F(A) adalah fungsi periodik, maka fungsi ini memiliki sebuah periode r. Diketahui x0mod n = 1, maka xr mod n =1, begitu juga x2r mod n dan seterusnya.

sumber:
http://maya-ardiati-fst12.web.unair.ac.id/artikel_detail-117049-Prokom-Artikel%20Quantum%20Computing%20Dan%20Quantum%20Crypto.html
http://www.fisikaunri.org/node/24
http://tech19.wordpress.com/2009/12/11/google-meriset-quantum-komputer/
http://prakom.bps.go.id/?page=3&tgl=200803011948
http://www.iptek.net.id
http://rcaesario.blogspot.co.id/2013/04/pengantar-quantum-computation.html

Arsitektur Komputer

       PENDAHULUAN
A.    Pengertian
        Organisasi komputer mempelajari bagian yang terkait dengan unit-unit operasional komputer dan hubungan antara komponen sistem komputer,contoh : sinyal kontrol, prosesor, interface komputer dan peripheral, teknologi memori yang digunakan. Arsitektur komputer mempelajari atribut-atribut sistem komputer yang terkait dengan seorang programmer dan memiliki dampak langsung pada eksekusi logis sebuah program, contoh : set instruksi, jumlah bit yang digunakan untuk merepresentasikan bermacam-macam jenis data (misal bilangan, karakter), aritmetika yang digunakan, teknik pengalamatan, mekanisme I/O.

       Arsitektur komputer dapat bertahan bertahun-tahun tapi organisasi komputer dapat berubah sesuai dengan perkembangan teknologi. Pabrik komputer memproduksi sekelompok model komputer, yang memiliki arsitektur sama tapi berbeda dari segi organisasinya yang mengakibatkan harga dan karakteristik unjuk kerja yang berbeda.

B.     Komputer Sebagai Mesin Multi Level
           Level adalah suatu tingkatan bahasa dan mesin virtual yang mencerminkan tingkat kemudahan komunikasi antara manusia sebagai pemrogram dengan komponen sirkuit elektronik dalam sebuah komputer sebagai pelaksana instruksi sebuah pemrograman. Level device, yaitu level dalam lingkup rekayasa elektronik. Program yang ada pada level ini adalah bahasa mesin L0 yang dapat dijalankan langsung oleh sirkuit elektronik

         Merupakan mesin virtual M1 dengan bahasa mesin L1. Bahasa ini tidak dapat langsung diterima oleh sirkuit elektronik, tetapi diterjemahkan dulu oleh interpreter ke bahasa mesin L0. Merupakan mesin virtual M2 dengan bahasa mesin L2. Bahasa ini tidak dapat langsung diterima oleh sirkuit elektronik, tetapi diterjemahkan dulu oleh interpreter ke bahasa mesin L1.

         Merupakan mesin virtual Mn dengan bahasa mesin Ln. Bahasa ini tidak dapat langsung diterima oleh sirkuit elektronik, tetapi diterjemahkan dulu oleh interpreter ke bahasa mesin pada tingkatan dibawahnya. Bahasa atau level yang terletak paling bawah adalah yang paling sederhana dan dapat diproses dengan cepat oleh mesin komputer, tetapi sulit untuk dipahami oleh manusia.
Bahasa atau level yang paling atas adalah yang paling rumit dan mesin akan lebih lama melakukan proses instruksinya karena memerlukan interpreter, tetapi manusia lebih mudah memahami bahasa level tersebut.


Level 5 ini programmer yang memberikan instruksi pada komputer tidak perlu susah-susah belajar mesin karena bahasa yang dipakai adalah bahasa tingkat tinggi yang lebih mudah dipahami manusia.

Pada level 0 sampai 3 implementasinya dikerjakan oleh programmer sistem, mulai level 4 dilakukan oleh programmer aplikasi.

Level 3 merupakan level pengaturan mesin yang dilakukan oleh sebuah software sistem operasi. Dalam level ini pekerjaan-pekerjaan yang dilakukan oleh mesin diinterpretasikan secara parsial oleh sistem operasi.

Level 2 = level ISA (Instruction Set Architecture) yang berisi instruksi-instruksi dasar sebuah mesin. Biasanya terdapat pada manual book dari produk komputer suatu pabrik

Level 1 terdapat rangkaian dasar sebuah prosesor yang disebut ALU (Arithmetic Logic Unit) dan sekumpulan register yang mampu melakukan operasi-operasi logika aritmatika. Terdapat juga program mikro sebagai pengendali dan berfungsi sebagai interpreter/penerjemah untuk instruksi-instruksi dari level di atasnya.
Level 0 berisi logika-logika yang diwujudkan dalam bentuk logika gerbang, merupakan hardware sesungguhnya dari sebuah mesin. Logika digital dibentuk dalam suatu komponen analog seperti misalnya transistor ,dsb.

Pada level 1 – 3 merupakan bahasa mesin bersifat numerik. Program-program didalamnya terdiri dari deretan angka yang panjang, yang tidak menjadi masalah untuk mesin tapi merupakan persoalan untuk manusia. Mulai pada level 4 bahasa berisi kata/singkatan yang mempunyai arti bagi manusia.
Komputer dirancang sebagai suatu rangkaian level, dimana setiap level dibangun diatas level sebelumnya. Setiap level memiliki abstraksi berbeda, dengan objek-objek dan operasi yang juga berbeda.

  EVOLUSI KOMPUTER
           Sejak dahulu,  proses pengolahan data telah dilakukan oleh manusia. Manusia juga menemukan alat-alat mekanik dan elektronik untuk membantu manusia dalam penghitungan dan pengolahan data supaya bisa mendapatkan hasil lebih cepat.Komputer yang kita temui saat ini adalah suatu evolusi panjang dari penemuan-penemuan manusia sejak dahulu kala berupa alat mekanik maupun elektronik.

                 Saat ini komputer dan piranti pendukungnya telah masuk dalam setiap aspek kehidupan dan pekerjaan.Komputer yang ada sekarang memiliki kemampuan yang lebih dari sekedar perhitungan matematik biasa. Diantaranya adalah sistem komputer di sentral telepon yang menangani jutaan panggilan dan komunikasi, jaringan komputer dan internet yang menghubungkan berbagai tempat di dunia.
Sejarah Komputer menurut generasinya adalah
- Alat Hitung Tradisional dan Kalkulator Mekanik
- Komputer Generasi Pertama
- Komputer Generasi Kedua
- Komputer Generasi Ketiga
- Komputer Generasi Keempat
- Komputer Generasi Kelim.
   BAGAIMANA KOMPUTER BEKERJA?

Secara umum bagan blok sistem komputer dan cara kerja komputer sebagai berikut :
A.    Sistem komputer

B.     Cara kerja komputer

Harddisk menyimpan data dan program yang bersifat permanen.
RAM mengcopy data/program dari harddisk untuk diproses oleh CPUDari RAM, data atau program yang akan diolah oleh CPU tidak semua langsung diproses CPU tetapi dicopy ke cache memori untuk mengatasi kesenjangan kecepatan CPU-memori
CPU melakukan komunikasi dengan modul I/O untuk menerima input atau menampilkan output dari proses yang dihasilkan. Output akan ditampilkan di komponen-komponen output.


  SISTEM KOMPUTER

      Komputer sebagai suatu sistem terdiri dari subsistem-subsistem yang saling berhubungan sehingga dapat memiliki satu tujuan dalam melaksanakan tugas yang diberikan. Subsistem tersebut :
Hardware (perangkat keras), Merupakan peralatan fisik dari komputer yang dapat kita lihat dan rasakan. Hardware ini terdiri dari ;
·      Input/Output Device (I/O Device) Terdiri dari perangkat masukan dan keluaran, seperti keyboard dan printer.
·      Storage Device (perangkat penyimpanan) Merupakan media untuk menyimpan data seperti disket, harddisk, CD-I, flash disk dll.
·      Monitor /Screen Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor. Monitor disebut juga dengan Visual Display Unit (VDU).
·      Casing Unit adalah tempat dari semua peralatan komputer, baik itu motherboard, card, peripheral lain dan Central Procesing Unit (CPU).Casing unit ini disebut juga dengan System Unit.
·      Central Procesing Unit (CPU) adalah salah satu bagian komputer yang paling penting, karena jenis prosesor menentukan pula jenis komputer. Baik tidaknya suatu komputer, jenis komputer, harga komputer, ditentukan terutama oleh jenis prosesornya.Semakin canggih prosesor komputer, maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal.

Software (perangkat lunak)
         Merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki. Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer. Software terdiri dari beberapa jenis, yaitu ;
·      Sistem Operasi, seperti DOS, Unix, Linux, Novell, OS/2, Windows, Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi. Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali.
·      Program Aplikasi, seperti GL, MYOB, Payroll dll. Merupakan program yang khusus melakukan suatu pekerjaan tertentu, seperti program gaji pada suatu perusahaan. Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain. Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaan / kebutuhan seseorang / lembaga/ perusahaan guna keperluan interennya.
·      Program Paket, seperti Microsofr office, Adobe fotoshop, macromedia studio, open office dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan. Seperti MS-office, dapat digunakan oleh departemen keuangan untuk membuat nota, atau bagian administrasi untuk membuat surat penawaran dan lain sebagainya.
·      Bahasa Pemrograman, PHP, ASP, dBase, Visual Basic, dll.Merupakan software yang khusus digunakan untuk membuat program komputer, apakah itu sistem operasi, program paket dll.

Brainware (User)
          User adalah personel-personel yang terlibat langsung dalam pemakaian komputer,seperti Sistem analis, programmer, operator, user, dll. Pada organisasi yang cukup besar, masalah komputerisasi biasanya ditangani oleh bagian khusus yang dikenal dengan bagian EDP (Electronic Data Processing), atau sering disebut dengan EDP Departemen, yang dikepalai oleh seorang Manager EDP.

Sumber:

http://armanjaelani87.blogspot.co.id/2012/02/arsitektur-komputer.html

Microcontroller

Pendahuluan
         Mikrokontroler sebagai teknologi baru yaitu teknologi semikonduktor kehadiranya sangat membantu perkembangan dunia elektronika. Dengan arsitektur yang praktis tetapi memuat banyak kandungan transistor yang terintegrasi, sehingga mendukung dibuatnya rangkaian elektronika yang lebih portable.

        Mikrokontroler dapat diproduksi secara masal sehingga harganya menjadi lebih murah dibandingkan dengan mikroprosessor, tetapi tetap memiliki kelebihan yang bisa diandalkan. Mikrokontroler memiliki perbandingan ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM  (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

Varian Mikrokontroler AVR

      Antar seri mikrokontroler AVR memiliki beragam tipe dan fasilitas, namun kesemuanya memiliki arsitektur yang sama, dan juga set instruksi yang relatif tidak berbeda. Tabel 2.1 membandingkan beberapa seri mikrokontroler AVR buatan Atmel.
Keterangan: 
·         Flashadalah suatu jenis Read Only Memory yang biasanya diisi dengan program hasil buatan manusia yang harus dijalankan oleh mikrokontroler
·         RAM (Random Acces Memory) merupakan memori yang membantu CPU untuk penyimpanan data sementara dan pengolahan data ketika program sedang running
·         EEPROM  (Electrically Erasable Programmable Read Only Memory) adalah memori untuk penyimpanan data secara permanen oleh program yang sedang running
·         Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program
·         Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa 
·         UART (Universal Asynchronous Receive Transmit) adalah jalur komunikasi data khusus secara serial asynchronous
·         PWM (Pulse Width Modulation) adalah fasilitas untuk membuat modulasi pulsa
·         ADC (Analog to Digital Converter) adalah fasilitas untuk dapat menerima sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu.

·       Arsitektur Mikrokontroler AVR
           Mikrokontroler AVR sudah menggunakan konsep arsitektur Harvard yang memisahkan memori dan bus untuk data dan program, serta sudah menerapkan single level pipelining. Selain itu mikrokontroler AVR juga mengimplementasikan RISC (Reduced Instruction Set Computing) sehingga eksekusi instruksi dapat berlangsung sangat cepat dan efisien. 

Salah satu seri mikrokontroler AVR yang banyak menjadi andalan saat ini adalah tipe ATtiny2313 dan ATmega8535. Seri ATtiny2313 banyak digunakan untuk sistem yang relatif sederhana dan berukuran kecil. Berikut adalah feature-feature mikrokontroler seri ATtiny2313.
·         Kapasitas memori Flash 2 Kbytes untuk program
·         Kapasitas memori EEPROM 128 bytes untuk data
·         Maksimal 18 pin I/O
·         8 interrupt
·         8-bit timer
·         Analog komparator
·         On-chip oscillator

Sedangkan ATmega8535 banyak digunakan untuk sistem yang kompleks, memiliki input sinyal analog, dan membutuhkan memori yang relatif lebih besar. Berikut adalah feature-feature mikrokontroler seri ATmega8535.
·                            ·         Memori Flash 8 Kbytes untuk program
·         Memori EEPROM 512 bytes untuk data
·         Memori SRAM 512 bytes untuk data  
·         Maksimal 32 pin I/O
·         20 interrupt
·         Satu 16-bit timer dan dua 8-bit timer
·         8 channel ADC 10 bit
·         Komunikasi serial melalui SPI dan USART
·         Analog komparator
·         4 I/O PWM

Penjelasan Fungsi Pin Mikrokontroler AVR

           IC mikrokontroler dikemas (packaging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar 2.3 menunjukkan salah satu bentuk IC seri mikrokontroler AVR ATmega8535.

Berikut adalah penjelasan fungsi tiap kaki.
A. Port A
           Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter.

B. Port B
           Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output.

C. Port C
           Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2.

D. Port D
           Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai output.

E. RESET
        RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset.

F. XTAL1
      XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.

G. XTAL2
          XTAL2 adalah output dari inverting oscillator amplifier.

H. AVcc
     Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.

I. AREF
     AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

J. AGND
    AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.

Sumber:
suyono@MasterNusa.com
http://www.MasterNusa.com

http://www.atmel.com