Minggu, 15 Mei 2016

Program Sederhana Mendapakan IP Address & Host Name dengan Bahasa Pemrograman Java



Nama             : Mutiah Nur Syahidah
NPM               : 55412179
Kelas               : 4IA25
Mata Kuliah   : Pemrograman Jaringan


1.         Program getIP
Listing Program

Listing program diatas adalah listing untuk mendapatkan IP address yang terdaftar di PC yang saya gunakan. Saya menggunakan bahasa pemrograman Java. Untuk menjalankan programnya yaitu saya buka Command prompt (cmd) lalu masuk ke direktori yang dituju. Setelah itu compile dengan ketik javac namafle.java dan jalankan jika tidak ada error dengan namafile.java

Output







2.       Program getname
Listing Program


Listing program diatas adalah listing untuk mendapatkan hostname pada PC, dengan cara memanggil local host dari komputer user dan akan mencetak kalimat "Nama Komputer Anda : 'nama komputer'. Untuk menjalankan programnya yaitu saya buka Command prompt (cmd) lalu masuk ke direktori yang dituju. Setelah itu compile dengan ketik javac namafle.java dan jalankan jika tidak ada error dengan namafile.java

Output






3.       Program IPtoName
Listing Program






















Listing program di atas adalah untuk mendapatkan nama pc dengan menyebutkan ip pada pc yang kita gunakan. Pertama dihitung panjang nama pc tersebut dan dideklarasikan string host dan inet addres dset 0, lalu akan mencetak invalid jika ipnya invalid, dan akan mencetak nama jika benar ip yang disebutkan.

Output






4.       Program NSLookup
Listing Program



























Pada listing program diatas adalah untuk menjelaskan bahwa kelas tersebut bernama NSLookup, kemudian program tersebut berfungsi untuk mengetahui alamat IP Address yang terhubung dengan jaringan internet. Contoh, saya ingin mengetahui alamat  IP Address pada blogspot.

Output



Penjelasan Web Proxy, Web Server, DNS Server, Mail Server



Nama : Mutiah Nur Syahidah

NPM   : 5541179

Kelas  : 4IA25

Mata kuliah : Pemrograman Jaringan



Tugas

1. Web Proxy

     Web proxy adalah website berbasis proxy server dan berfungsi sebagai perantara antara client dengan web tujuan sehingga dalam proses pengiriman data, ip address tidak terdeteksi karena telah disembunyikan terlebih dahulu oleh proxy

Dengan adanya web proxy maka anda dapat menghemat bandwidth dan menambah kecepatan pada saat browsing internet karena web proxy mempunyai kemampuan untuk menyimpan data ke storage local sehingga jika ada client lain yang membuka situs yang sama, maka isi website sebagian besarnya di ambil dari storage local server selain itu juga web proxy mempunyai kemampuan untuk memblokir situs terlarang, seperti situs judi ataupun pornografi. Web Proxy dibagi menjadi 2 bagian yaitu :

  • Nontransparent web proxy

Seorang client dapat memilih untuk menggunakan/tidak fasilitas web proxy yang disediakan oleh server. Web proxy biasanya sudah di set oleh para administrator dan siap untuk digunakan.

  • Transparent web proxy

Jika pada nontransparent client dapat memilih untuk menggunakan/tidak fasilitas web proxy yang ada namun pada transparent web proxy seorang client dipaksa untuk menggunakannya sehingga seorang client (user) tidak perlu melakukan setting apapun di web browser yang mereka gunakan karena pengaturan hanya dilakukan oleh server saja dan secara otomatis client akan menggunakan web proxy. Seorang user yang sedang browsing (request port 80) maka dia akan dibelokan terlebih dahulu menuju proxy.

2. Web Server

Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTPatau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman – halaman web yang umumnya berbentuk dokumen HTML.

Fungsi Web Server

Fungsi utama sebuah server web adalah untuk mentransfer berkas atas permintaan pengguna melalui protokol komunikasi yang telah ditentukan. Disebabkan sebuah halaman web dapat terdiri atas berkas teks, gambar, video, dan lainnya pemanfaatan server web berfungsi pula untuk mentransfer seluruh aspek pemberkasan dalam sebuah halaman web yang terkait, termasuk di dalamnya teks, gambar, video, atau lainnya.

Pengguna, biasanya melalui aplikasi pengguna seperti peramban web, meminta layanan atas berkas ataupun halaman web yang terdapat pada sebuah server web, kemudian server sebagai manajer layanan tersebut akan merespon balik dengan mengirimkan halaman dan berkas-berkas pendukung yang dibutuhkan, atau menolak permintaan tersebut jika halaman yang diminta tidak tersedia.

Saat ini umumnya server web telah dilengkapi pula dengan mesin penerjemah bahasa skrip yang memungkinkan server web menyediakan layanan situs web dinamis dengan memanfaatkan pustaka tambahan seperti PHP, dan ASP.

Pemanfaatan server web saat ini tidak terbatas hanya untuk publikasi situs web dalam World Wide Web, pada prakteknya server web banyak pula digunakan dalam perangkat-perangkat keras lain seperti printer, router, kamera web yang menyediakan akses layanan http dalam jaringan lokal yang ditujukan untuk menyediakan perangkat manajemen serta mempermudah peninjauan atas perangkat keras tersebut.

Cara Kerja Web Server

  1. Cara kerja Web Server, Web server merupakan mesin dimana tempat aplikasi atau software beroperasi dalam medistribusikan web page ke user, tentu saja sesuai dengan permintaan user.
  2. Hubungan antara Web Server dan Browser Internet merupakan gabungan atau jaringan Komputer yg ada di seluruh dunia. Setelah terhubung secara fisik, Protocol TCP/IP (networking protocol) yg memungkinkan semua komputer dapat berkomunikasi satu dengan yg lainnya. Pada saat browser meminta data web page ke server maka instruksi permintaan data oleh browser tersebut di kemas di dalam TCP yg merupakan protocol transport dan dikirim ke alamat yg dalam hal ini merupakan protocol berikutnya yaitu Hyper Text Transfer Protocol (HTTP). HTTP ini merupakan protocol yg digunakan dalam World Wide Web (WWW) antar komputer yg terhubung dalam jaringan di dunia ini. Untuk mengenal protocol ini jelas sangan mudah sekali dimana setiap kali anda mengetik http://… anda telah menggunakannya, dan membawa anda ke dunia internet. Data yg di passing dari browser ke Web server disebut sebagai HTTP request yg meminta web page dan kemudian web server akan mencari data HTML yg ada dan di kemas dalam TCP protocol dan di kirim kembali ke browser. Data yg dikirim dari server ke browser disebut sebagai HTTP response. Jika data yg diminta oleh browser tidak ditemukan oleh si Web server maka akan meninbulkan error yg sering anda lihat di web page yaitu Error : 404 Page Not Found. 

Ini akan memberikan suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan mengklik beberapa bagian dari halaman-halaman dokumen (web) itu. Proses yang dimulai dari permintaan webclient (browser), diterima web server, diproses, dan dikembalikan hasil prosesnya oleh web server ke web client lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya.

3. DNS Server

DNS adalah kepanjangan dari Domain Name System (DNS server), yaitu nama sebuah sistem database yang berguna untuk memenuhi kebutuhan komputer, layanan/sumber daya yang terhubung ke dalam jaringan internet/jaringan komputer pribadi. Atau definisi lainnya adalah merupakan sistem database yang terdistribusi, digunakan sebagai pencarian nama komputer di dalam jaringan yang menggunakan TCP/IP. DNS memiliki kelebihan ukuran database yang tak terbatas serta mempunyai performa cukup baik.

Fungsi DNS adalah :

  • Menerjemahkan nama host (hostnames), jadi nomor IP address atau sebaliknya, sehingga nama-nama tersebut mudah diingat oleh para pengguna internet.
  • Memberikan suatu informasi mengenai suatu host kepada seluruh jaringan internet. DNS mempunyai keunggulan misalnya seperti: DNS sangat mudah sebab user tak lagi direpotkan untuk mengingat IP (IP address) sebuah komputer/pc cukup host name. Konsisten, IP (IP address) sebuah komputer boleh saja berubah akan tetapi host name tidak boleh berubah.

4. Mail Server

Mail Server atau disebut juga sebagai e-mail server, digunakan untuk mengirimkan surat elektronik melalui media internet. Keberadaan email membuat pekerjaan pengiriman surat jadi lebih cepat dan efisien. Untuk membuat mail server harus terdapat SMPT (Simple mail Transfer Protocol) dan POP (Post office Protocol) yang digunakan untuk mengirim dan menerima surat elektronik.

Cara Kerja Mail Server




     Proses Pengiriman Email bisa terjadi karena adanya SMTP (Simple mail Transfer Protocol). setelah dikirim email tersebut akan ditampung sementara di POP (Post office Protocol). Ketika user email akun sedang online, secara otomatis mail client melakukan sinkronisasi dari POP.

Penjelasan Mail Server

  • Courier-IMAP

     Courier-IMAP merupakan software yang digunakan untuk mengambil email yang ada pada server mail kita. Software ini akan memberikan kita akses pop3 dan imap, protokol ini merupakan protokol server-client yang berguna untuk mengambil email dari server mail kita. courier mendukung mode pop3 dan imap. pada pop3 pengambilan email akan menghilangkan email yang ada pada server, sedangkan pada mode imap pengambilan email tidak akan menghilangkan email pada server.

  • Squirrelmail

     Squirrelmail merupakan aplikasi webmail berbasis PHP yang popular. Instalasi dan konfigurasinya cukup mudah serta bisa ditambahkan plugin pendukungnya. Menurut file INSTALL dari distribusi Squirrelmail, software ini membutuhkan php4 yang minimal dikompilasi denga opsi enable-track-var-enable-force-cgi-redirect-with-gettext serta membutuhkan register global=On dan File uploads=On di php.ini (Jika php anda menggunakan default RPM Redhat file php.ini terletak di directory /etc). Download dan ekstrak paket squirrelmail terlebih dahulu kemudian baru di install.

5. PHP

     PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum (wikipedia). PHP di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs resmi PHP beralamat di http://www.php.net.

     PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client).

Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dll.

Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari singkatan itu sendiri: PHP: Hypertext Preprocessor.

PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa digunakan untuk proyek Open Source.

Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer web di seluruh dunia. Menurut wikipedia pada februari 2014, sekitar 82% dari web server di dunia menggunakan PHP. PHP juga menjadi dasar dari aplikasi CMS (Content Management System) populer sepertiJoomla, Drupal, dan WordPress.

Fungai PHP dalam Pemrograman Web

Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa pemrograman yang wajib digunakan. Kita bisa saja membuat website hanya menggunakan HTML saja. Web yang dihasilkan dengan HTML (dan CSS) ini dikenal dengan website statis, dimana konten dan halaman web bersifat tetap.

Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan PHP adalah situs web yang bisa menyesuaikan tampilan konten tergantung situasi. Website dinamis juga bisa menyimpan data ke dalam database, membuat halaman yang berubah-ubah sesuai input dariuser, memproses form, dll.

Untuk pembuatan web, kode PHP biasanya di sisipkan kedalam dokumen HTML. Karena fitur inilah PHP disebut juga sebagai Scripting Language atau bahasa pemrograman script.



Sumber :



Rabu, 11 Mei 2016

Quantum Computation

Nama           : Mutiah Nur Syahidah
Kelas            : 4IA25
NPM             : 55412179
Mata Kuliah   : Pengantar Komputasi Modern


Quantum Computation 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.

a. Entanglement
Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Quantum entanglement adalah bagian dari fenomena quantum mechanical yang menyatakan bahwa dua atau lebih objek dapat digambarkan mempunyai hubungan dengan objek lainnya walaupun objek tersebut berdiri sendiri dan terpisah dengan objek lainnya. Quantum entanglement merupakan salah satu konsep yang membuat Einstein mengkritisi teori Quantum mechanical. Einstein menunjukkan kelemahan teori Quantum Mechanical yang menggunakan entanglement merupakan sesuatu yang “spooky action at a distance” karena Einstein tidak mempercayai bahwa Quantum particles dapat mempengaruhi partikel lainnya melebihi kecepatan cahaya. Namun, beberapa tahun kemudian, ilmuwan John Bell membuktikan bahwa “spooky action at a distance” dapat dibuktikan bahwa entanglement dapat terjadi pada partikel-partikel yang sangat kecil.

b. Pengoperasian Data Qubit
Qubit merupakan kuantum bit , mitra dalam komputasi kuantum dengan digit biner atau bit dari komputasi klasik. Sama seperti sedikit adalah unit dasar informasi dalam komputer klasik, qubit adalah unit dasar informasi dalam komputer kuantum . Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan (dalam praktek, keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan / atau 1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum ) membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan fisika kuantum adalah prinsip superposisi dan Entanglement.

c. Quantum Gates
Quantum Logic Gates, Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat penghematan yang besar dalam jumlah ancillae yang digunakan.
1.    Pertama mensimulasikan gerbang di babak pertama tingkat.
2.    Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
3.    Bersihkan bit ancillae.
4.    Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
5.    Setelah menghitung output, membersihkan bit ancillae.
6.    Bersihkan hasil tingkat d / 2.

d. Algoritma Shor
Algoritma Shor, dinamai matematikawan Peter Shor , adalah algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat. Algoritma Shor dirumuskan pada tahun 1994.
Algoritma Shor terdiri dari dua bagian:
1.    Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
2.    Sebuah algoritma kuantum untuk memecahkan masalah order-temuan.
Hambatan runtime dari algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan paling praktis adalah dengan menggunakan meniru sirkuit aritmatika konvensional dengan gerbang reversibel , dimulai dengan penambah ripple-carry. Sirkuit Reversible biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n qubit. Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan kuantum transformasi Fourier , tetapi tidak kompetitif dengan kurang dari 600 qubit karena konstanta tinggi.

Referensi :

Parallel Computation


Nama             : Mutiah Nur Syahidah

NPM               : 55412179

Kelas               : 4IA25

Mata Kuliah   :Pengantar Komputasi Modern









Parallel Computation



2.1 Parallelism Concept

     Parallel Computation atau Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll. Parallel computing muncul ketika komputer membawa lebih dari satu task secara simultan (bersamaan). Teknik ini dapat memungkinkan komputer bekerja secara lebih cepat dibandingkan dengna melakukannya secara sekaligus, seperti halnya seseorang dengan dua tangan dapat menyelesaikan lebih banyak pekerjaan dengan orang yang hanya menggunakan satu tangan saja.

Gambar diatas merupakan contoh dari sebuah komputasi paralel, dimana pada gambar diatas terdapat sebuah masalah, dari masalah tersebut dibagi lagi menjadi beberapa bagian agar sebuah masalah dapat dengan cepat diatasi.

2.2  Tujuan Komputasi Paralel

Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah kecil, membuat kinerja menjadi cepat.
Formula komputasi paralel yang diajukan pada hukum Amdahl.

Dimana a adalah banyaknya paralel yang terjadi. Secara teori, artinya proses penyelesaian masalah menjadi lebih cepat dengan menggunakan komputasi paralel.
Salah satu jenis penggunaan komputasi paralel adalah:

2.3 Distributed Processing

Distributed Processing adalah kemampuan mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah maka prosesor yang lain akan mengambil alih tugasnya

2.4 Architectural Parallel Computer

Arsitektur paralel komputer menurut Klasifikasi Flynn’s :

·         SISD (Single Instruction Single Datapath) merupakan prosesor tunggal, yang bukan paralel. 

·         SIMD (Single Instruction Multiple Datapath)alur instruksi yang sama dijalankan terhadap banyak alur data yang berbeda. Alur instruksi di sini kalau tidak salah maksudnya ya program komputer itu. trus datapath itu paling ya inputnya, jadi inputnya lain-lain tapi program yang digunakan sama. 

·         MIMD (Multiple Instruction Multiple Datapath)alur instruksinya banyak, alur datanya juga banyak, tapi masing-masing bisa berinteraksi.

·         MISD (Multiple Instruction Single Datapath)alur instruksinya banyak tapi beroperasi pada data yang sama.

Sumber:









Senin, 18 April 2016

Mikrokontroler

Pengantar Komputasi Modern

Nama: Mutiah Nur Syahidah 
Kelas: 4IA25
NPM: 55412179

Pengertian Mikrokontroler
Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip. Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM, memori program, atau keduanya), dan perlengkapan input output.
Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.
Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara automatis, seperti sistem kontrol mesin, remote controls, mesin kantor, peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran, biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan mikroprosesor memori, dan alat input output yang terpisah, kehadiran mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih ekonomis. Dengan penggunaan mikrokontroler ini maka :
 Sistem elektronik akan menjadi lebih ringkas
 Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi
 Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak
Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O). Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau kompleks.
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan sistem minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.
Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan perangkat keras dan perangkat lunak, yaitu:
1. sistem minimal mikrokontroler
2. software pemrograman dan kompiler, serta downloader
Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
1. prosesor, yaitu mikrokontroler itu sendiri
2. rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal
3. rangkaian clock, yang digunakan untuk memberi detak pada CPU
4. rangkaian catu daya, yang digunakan untuk memberi sumberdaya
Pada mikrokontroler jenis2 tertentu (AVR misalnya), poin2 pada no 2 ,3 sudah tersedia didalam mikrokontroler tersebut dengan frekuensi yang sudah diseting dari vendornya (biasanya 1MHz,2MHz,4MHz,8MHz), sehingga pengguna tidak perlu memerlukan rangkaian tambahan, namun bila ingin merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi dengan PC atau handphone), maka pengguna harus menggunakan rangkaian clock yang sesuai dengan karakteristik PC atau HP tersebut, biasanya menggunakan kristal 11,0592 MHz, untuk menghasilkan komunikasi yang sesuai dengan baud rate PC atau HP tersebut.
Perkembangan ?
Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit pertama. Mikrokontroler ini mulai dibuat sejak 1971. Merupakan mikrokomputer dalam sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976 Intel mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama 8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler dari keluarga MCS 48. Sekarang di pasaran banyak sekali ditemui mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan antara mikrokontroler dan mikroprosesor sangat tipis. Masing2 vendor mengeluarkan mikrokontroler dengan dilengkapi fasilitas2 yang cenderung memudahkan user untuk merancang sebuah sistem dengan komponen luar yang relatif lebih sedikit.
Saat ini mikrokontroler yang banyak beredar dipasaran adalah mikrokontroler 8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR sangatlah banyak, dengan masing2 memiliki fitur yang berbeda2). Dengan mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga jarak jauh yang menggunakan remote control televisi, radio frekuensi, maupun menggunakan ponsel, membuat jam digital, termometer digital dan sebagainya.
Jenis-jenis Mikrokontroller
Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan pada kompleksitas instruksi-instruksi yang dapat diterapkan pada mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC.
 RISC merupakan kependekan dari Reduced Instruction Set Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak.
 Sebaliknya, CISC kependekan dari Complex Instruction Set Computer. Instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.
Masing-masing mempunyai keturunan atau keluarga sendiri-sendiri.
Sekarang kita akan membahas pembagian jenis-jenis mikrokonktroler yang telah umum digunakan.
1. Keluarga MCS51
Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya dieksekusi dalam 12 siklus clock.
Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori data.
Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic Control).
2. AVR
Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi.
Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.
3. PIC
Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller. Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Computer.
PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam
PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek karena biayanya yang rendah, ktersediaan dan penggunaan yang luas, database aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui hubungan serial pada komputer.

https://mechatronicscrew.wordpress.com/praktikum/praktikum-mekatronika/mikrokontroler/

http://salujoelectra.blogspot.co.id/2012/01/apa-itu-mikrokontroler_17.html