Bermitra Mencapai Sukses

Kesuksesan seseorang bukan hanya ditentukan oleh IQ yang tinggi, IQ hanya menyumbang 20% dari kesuksesan seseorang, EQ dan SQ yang paling dominan untuk menentukan kesuksesan seseorang, bekerjasama dan menjalin hubungan yang baik terhadap mitra kerja menjadi senjata paling handal dalam mencapai kesuksesan.

Call To Action Buttons OH MY!

Jangan Nilai dari Penapilan

Jangan terpancing oleh penampilan, penampilan boleh sangar tetapi kepribadian tidak selalu sangar, kenali dulu kepribadiannya baru beri penilaian, jangan sungkan untuk memberikan masukan dan saran demi perbaikan dan penyempurnaan kelemahan dan kekurangan yang dimilikinya.

Holy SHIT! It's so COOL!

Tingkatkan Spiritual

Seberapapun sibuknya kita dalam melakukan aktifitas sehari-hari jangan pernah lupa dengan siapa yang menciptakan kita, peningkatan kwalitas spiritual dilakukan bukan hanya mengejar sorga yang dijanjikan dalam kitab suci, melainkan lebih dari itu. Pencapaian pembebasan dan ketenangan lahir dan Bathin, dunia dan akhirat jauh labih penting dari sekedar sorga. Jangan pernah berpikir ataupun merasa bahwa kita adalah yang terbaik, kita adalah yang paling benar, kita adalah sempurna. Tidak ada manusia di bumi ini yang sempurna, terlalu banyak kekurangan dan keterbtasan yang kita miliki.

Isn't this AWESOME? Yes it is!

Jangan Berhenti Berusaha

Berbagai upaya dilakukan dalam meningkatkan kwalitas dan kwantitas sekolah, meski banyak sekali cobaan dan tantangan yang harus dilalui, meski demikian keberhasilan suatu organisasi tidak ditentukan oleh satu orang saja. Kesolidan sebuah tim menjadi penentu utama dalam mencapai keberhasilan sebuah organisasi. Untuk itu mari satukan pikiran, satukan tekad, satukan keinginan agar kita bisa maju, jangan pernah memperuncing kelemahan yang dimiliki salah satu dari tim kita. Saling melengkapi dan rela menyadari kelemahan diri menjadi alat paling kuat untuk bisa bersatu dan solid.

Well, then grab it NOW! Okay!

Sabtu, 06 Agustus 2016

Dasar Pemrograman ATmega8535

Dasar Pemrograman ATmega8535


Prosedur umum untuk memprogram ATmega8535 secara berurutan adalah :

1. Menuliskan listing program menggunakan bahasa tingkat pemrograman tingkat tinggi (assembler, C, Basic, Pascal, dll) 
2. Mengkompail program ke dalam set instruksi ATmega8535 menggunakan software compiler (WinAVR, GCC, CVAVR, BASCOM, AVR-Studio, dll)
3. Memasukkan file hasil proses compile atau make ke dalam IC ATmega8535 menggunakan software downloader atau chip programmer (Ponyprog, CVAVR, USB-Downloader, dll). Biasanya file ini berekstensi .hex atau .bin.
4. IC ATmega8535 telah terprogram dan siap digunakan
Dalam praktikum ini digunakan bahasa C sebagai bahasa pemrograman dan Codevision AVR (CVAVR) sebagai compiler. CVAVR dipilih karena tersedia dalam versi bajakan (hehehe…) dan memiliki fasilitas Code Wizard yang sangat membantu. Software chip programmer menggunakan CVAVR standard V 1.24, Ponyprog2000 atau Universal ISP Programmer V 1.04, tergantung mode download, menggunakan port paralel atau port USB.
Jika menggunakan PC dengan fasilitas port paralel, pemrograman dapat dilakukan langsung menggunakan CVAVR. Sebelumnya dibuat dulu kabel downloader, untuk menghubungkan port paralel PC dengan port SPI (Serial Peripheral Interface) pada mikrokontroler.



Skema Kabel Downloader Paralel



Jika pemrograman menggunakan laptop, yang hanya mengandalkan USB, maka harus dipakai peralatan downloader via port USB, seperti AVRdoper, USB-downloader, dll. 



Langkah untuk menghasilkan file .hex dengan menggunakan CVAVR secara umum adalah :
1. Membuat Project baru, diberi nama.
2. Membuat file Source baru, dalam bahsa C, edit, simpan.
3. Hubungkan/koneksikan file Source dengan Project yang ada.
4. Lakukan proses make (shift+F9) untuk membuat file .hex.
5. Jika ada yang salah, dikoreksi sampai berhasil



FASILITAS DASAR INPUT-OUTPUT 
Fasilitas input/output merupakan fungsi mikrokontroller untuk dapat menerima sinyal masukan (input) dan memberikan sinyal keluaran (output). Sinyal input maupun sinyal output adalah berupa data digital 1 (high, mewakili tegangan 5 volt) dan 0 (low, mewakili tegangan 0 volt). Mikrokontroller ATMEGA8535 memiliki 4 buah PORT 8 bit bidirectional yang dapat difungsikan sebagai PORT input maupun PORT output yaitu PORTA, PORTB , PORTC, dan PORT D. Register digunakan untuk mengatur fungsi dari pin-pin pada tiap port. Register dapat dianalogikan sebagai kumpulan switch on/off yang digunakan untuk mengaktifkan fungsi apa yang akan dipakai dari port mikrokontroller. Pada setiap port pin terdapat 3 buah register 8 bit: DDRxn, PORTxn, dan PINxn. 
Register DDRxn digunakan untuk menentukan arah dari pin yang bersangkutan. Jika DDRxn diberikan nilai 1 (high), maka pin digunakan sebagai output. Jika DDRxn diberikan nilai 0 (low), maka pin difungsikan sebagai input. Register PORTxn digunakan untuk mengaktifkan pull-up resistor (pada saat pin difungsikan sebagai input), dan memberikan nilai keluaran pin high/low (pada saat difungsikan sebagai output). PINxn merupakan register yang berfungsi untuk mengetahui keadaan tiap-tiap pin pada mikrokontroller. Register ini digunakan untuk membaca keadaan pin pada saat difungsikan sebagai input. 



Rangkaian Output LED dan Input Tombol



Percobaan pertama adalah menyalakan LED sesuai dengan pola tertentu. Sesuai skema, LED dikonfigurasikan dalam posisi SINK, artinya LED menyala jika port yang bersesuaian diberi logika 0 (tegangan 0 volt atau dianggap ground). Demikian halnya dengan saklar tombol. Jika ditekan, maka port yang bersesuaian akan terhubung ke ground.



Tugas : menyalakan LED yang terhubung ke port B, selang seling ON dan OFF dimulai dari port B yang paling besar (PORT B.7)



Penyelesaian : 
1. Konfigurasikan PORT B sebagai keluaran
2. Kirimkan urutan bilangan 1 0 1 0 1 0 1 0




Pelaksanaan tanpa menggunakan CodeWizard AVR:
1. Hubungkan PC dengan minimum system 8535 melalui port ISP. Nyalakan catu daya.
2. Buka Codevision AVR, lakukan konfigurasi chip programmer. Pilih menu Setting>>Programmer, lalu pilih type Kanda System STK200+/300.
3. Pilih menu File>>New, pilih Project.
4. Jika ditawari untuk menggunakan CodeWizardAVR, pilih No saja dulu.
5. Beri nama project baru dengan nama “kenalan” (tanpa “)
6. Buat file source C. Pilih menu File>> New, pilih Source.
7. Ketikkan listing seperti ini.



#include 
void main(void)
{
DDRB=0xFF;
PORTB=0xFF;
while(1)
{
PORTB=0xAA;
}
}
8. Simpan dulu file C nya. Beri nama “nocw” saja.
9. Lakukan konfigurasi project. Pilih menu Project>>Configure. Tekan tombol Add, lalu pilih file dengan nama “nocw”. Pilih tab C Compiler. Pada pilihan Chip pilih Atmega8535. Ubah Clock menjadi 4 MHz. Lalu pilih tab After Make, centang pilihan Program the Chip. Setelah semua selesai, klik OK.
10. Simpan dulu filenya.
11. Lakukan compile dengan menekan shift+F9. Jika tidak ada pesan error atau peringatan, maka klik Program. Tunggu sebentar, semoga tidak ada kesalahan teknis.
12. Amati keluaran LED pada sismin.

Pelaksanaan menggunakan CodeWizard AVR:
1. Hubungkan PC dengan minimum system 8535 melalui port ISP. Nyalakan catu daya.
2. Buka Codevision AVR, lakukan konfigurasi chip programmer. Pilih menu Setting>>Programmer, lalu pilih type Kanda System STK200+/300.
3. Pilih menu File>>New, pilih Project.
4. Jika ditawari untuk menggunakan CodeWizardAVR, pilih Yes.
5. Pada tab Chip, pilih 8535 dengan clock 4 MHz.
6. Pilih tab Ports, lalu pilih tab Port B. Setelah itu klik semua pilihan di bawah tulisan Data Direction dari In berubah menjadi Out. Klik juga semua pilihan di bawah tulisna Pull-up/Output Value dari 0 menjadi 1.
7. Pilih menu File>>Generate, save and exit.
8. Beri nama sourcenya dengan nama withcw
9. Beri nama projectnya dengan nama kenalan2. juga file cwp-nya.
10. Lihatlah, program awal sudah dibuatkan. Scroll ke bawah, amati tulisan DDRB dan PORT B. Bandingkan nilainya dengan listing program sebelumnya. Sama …
11. Scroll lagi ke bawah. Cari tulisan //place your code here. Di bawahnya tuliskan perintah PORTB=0xAA;
12. Simpan dulu file C nya. 
13. Lakukan konfigurasi project. Pilih menu Project>>Configure. Lalu pilih tab After Make, centang pilihan Program the Chip. Setelah semua selesai, klik OK.
14. Lakukan compile dengan menekan shift+F9. Jika tidak ada pesan error atau peringatan, maka klik Program. Tunggu sebentar, semoga tidak ada kesalahan teknis.
15. Amati keluaran LED pada sismin.

PENJELASAN
1. Semua port 8 bit memiliki indeks 0 s/d 7. Misalkan PORTB.0, PORTB.1 s/d PORTB.7
2. Indeks port yang paling besar merupakan bagian Most Significant Bit (MSB).
3. Indeks port yang paling kecil merupakan bagian Least Significant Bit (LSB).
4. Penulisan bilangan biner, yang paling kiri adalah MSB, dan sebaliknya. 
5. Biasakan menuliskan data dalam format Heksadesimal. Syntax-nya adalah 0xXX di mana XX merupakan bilangan heksadesimal. Misalkan dituliskan PORTB=0xAA, artinya kita memasukkan data AA atau 1 0 1 0 1 0 1 0 ke port B.
6. DDRB=0xFF artinya kita memasukkan bilangan 1 1 1 1 1 1 1 1 ke Data Direction Register B, yang membuat semua pin B menjadi output.
7. PORTB=0xFF artinya kita memasukkan bilangan 1 1 1 1 1 1 1 1 ke Register PORT B, yang membuat semua pin B menjadi berlogika high. 
8. Perintah #include artinya kita menggunakan file Header mega8535.h yang berisi perintah-perintah yang dapat dikenali oleh compiler. Nanti kita akan menggunakan header-header lainnya.
9. void main(void) menunjukkan program utama.
10. Tulisan yang berada di belakan tanda // dan berwarna biru dianggap sebagai komentar, dan tidak dijalankan dalam program. Demikian juga tulisan di antara tanda /* …. */
11. while (1) artinya adalah looping yang tanpa henti.

LATIHAN 1. LAMPU BERKEDIP

Masukkan listing berikut ini ke dalam 8535.

#include
#include
void main()
{
DDRB=0xFF;
while(1)
{
PORTC=0;
delay_ms(1000);
PORTC=0xFF;
delay_ms(1000);
}
}

PENJELASAN
1. Pada program di atas, digunakan file header untuk mengijinkan digunakannya perintah/fungsi delay_ms(1000). 
2. Perintah ini artinya melakukan delay/penundaan dalam satuan milidetik, sebanyak data yang dimasukkan dalam (…).
3. Agar lama delaynya akurat, maka setting clock pada 8535 harus persis sama dengan nilai osilator kristal yang dipasang.

TIPE DATA

Tipe data yang dapat dioperasikan dalam C untuk aplikasi mikrokontroler adalah :
1. byte. Mulai 0 s/d 255 (8 bit)
2. char. Mulai -128 s/d 127 (8 bit)
3. unsigned. Sama dengan byte. (8 bit)
4. int. Mulai -32768 s/d 32767 (16 bit)
5. Unsigned int. Mulai 0 s/d 65535 (16 bit)
6. long int (int versi 32 bit)
7. float dan double mulai 1,175e-38 s/d 3,402e38 (32 bit)

VARIABEL
Variabel Global, digunakan di seluruh program. Dideklarasikan di luar fungsi, di bagian paling atas. Saat program berjalan, jika tidak ditentukan, akan bernilai 0. Variabel Lokal, digunakan secara lokal di dalam fungsi tertentu. Dideklarasikan di dalam fungsi tersebut, dan tidak diinisialisasikan pada awal program berjalan. Variabel dalam bentuk Array, indeks paling kecilnya adalah 0.
OPERATOR ARITMATIKA
* Multiplication x*y kalikan x dengan y 
/ Division x/y bagi x dengan y 
% Modulo x%y sisa x dibagi oleh y 
+ Addition x+y jumlahkan x dan y 
- Subtraction x-y Kurangkan y dari x 
++ Increment x++ Increment x setelahnya 
-- Decrement --x Decrement x sebelumnya
- Negation -x Kalikan x dengan –1 

OPERATOR LOGIKA. 
> Greater than x>y 1 jika terpenuhi 
>= Greater than or equal to x>=y 1 jika terpenuhi 
< Less than x<= Less than or equal to x<=y 1 jika terpenuhi == Equal to x==y 1 jika sama != Not equal to x!=y 1 jika tidak sama ! Logical NOT !x 1 jika x adalah 0 && Logical AND x&&y 0 jika x atau y ada yang 0 || Logical OR x||y 0 jika x dan y adalah 0 OPERATOR BITWISE ~ Bitwise complement ~x Mengubah 1 jadi 0 dan sebaliknya NOT & Bitwise AND x&y AND Bitwise antara x dan y | Bitwise OR x|y OR Bitwise x dan y ^ Bitwise exclusive OR x^y XOR Bitwise << Left shift x<<2 geser ke kiri 2 posisi bit >> Right shift x>>3 geser ke kanan3 posisi bit 

Nb. Syntax variabel = variabel & data dapat dituliskan variabel &= data
KONTROL ALIRAN
Struktur if – else
if (expression) 
statement 1
else 
statement2
artinya jika expression bernilai true, statement 1 dikerjakan. Kalau tidak statement 2 dikerjakan.

Struktur – while

while(expression)
{
Statement
}

artinya jika expression bernilai true, statement dikerjakan. Kalau false, selesai.

Struktur for –
For(expression1; expression2; expression3)
{
Statement
}

Expression1 adalah inisialisasi, Expression3 adalah operasi atau fungsi yang dilakukan, Expression2 adalah pengujian. Selama Expression2 terpenuhi, statement dikerjakan. Jika tidak, selesai. 

LATIHAN 2. MEMBACA TOMBOL:

#include
#define tombol PIND

void main()
{
DDRB=0xFF;
DDRD=0x00;
PORTD=0XFF;
while(1)
{
if((tombol&0x01)==0) PORTB=0x55;
if((tombol&0x02)==0) PORTB=0xAA;
if((tombol&0x04)==0) PORTB=0x00;
if((tombol&0x08)==0) PORTB=0xFF;
}
}

PENJELASAN :
1. Tombol dipasang di PORTD. Jika ditekan berlogika 0.
2. Lampu LED dipasang di PORTB. Jika berlogika 0 akan menyala.

Bahasa Pemprograman Mikro Kontroller

Mikrokontroler AVR (Alf and Vegard's Risc processor) standar memiliki arsitektur 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga ATSOSxx, keluarga ATMega, dan AT86RFxx. Pada dasamya, yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya.
      Mikrokontroler AVR ATmega16 adalah salah satu dari keluarga ATmega dengan populasi pengguna cukup besar. Memiliki memori flash 16k dan 32 jalur input output, serta dilengkapi dengan ADC 8 kanal dengan resolusi 10-bit dan 4 kanal PWM. Sebuah chip dengan fitur cukup lengkap untuk mendukung beragam aplikasi, termasuk robotik.
      Pemrograman mikrokontroler AVR (Atmega16) menggunakan beberapa bahasa program seperti bahasa Basic, C atau Assembler. Untuk bahasa basic kita gunakan Software Bascom AVR sedang bahasa C dan Assembler kita gunakan WinAVR. Program aplikasi yang kita susun dalam software setelah di kompilasi akan dihasilkan file dengan ekstensi heksa. File heksa inilah yang akan kita tuliskan ke memori flash mikrokontroler AVR melalui sebuah alat yang disebut Downloader. Rangkaian Downloader ada yang sederhana dan dapat kita buat sendiri. Anda juga dapat mendownload di internet skema PCB Downloader kemudian membuatnya sendiri. Pada postingan berikutnya akan saya bahas secara khusus mengenai Downloader.

Pemrograman Dengan Bascom AVR

       Pada umumnya bahasa yang dipergunakan untuk memprogram mikrokontroler adalah bahasa Assembly. Bahasa Assembly adalah bahasa pemrograman tingkat menengah, dimana program yang dibuat lebih mendekati bahasa mesin, sehingga pemenfaatan memori dapat dilakukan secara optimal, namun di sisi lain pemrogramannya menjadi relatif sulit. Karena bahasa yang dipergunakan Bascom, yaitu Basic, adalah bahasa tingkat tinggi, maka pemrograman menggunakan Bascom sangatlah mudah untuk dipelajari. Sintaksnya tidak jauh berbeda dari Basic pada umumnya, misalnya do-loop, for-next, while-wend, goto, gosub dan sebagainya. Selain itu Bascom dilengkapi dengan fungsifungsi khusus, misalnya LCD untuk menampilkan karakter pada LCD, PRINT untuk mengirimkan karakter ke PC melalui kabel RS232, SHIFTIN dan SHIFTOUT untuk komunikasi serial sinkron dan lain sebagainya. Fungsi-fungsi khusus tersebut jika dituliskan dalam bahasa Assembly akan menjadi lebih panjang dan rumit, terutama karena kita harus mengetahui register-register yang ada pada mikrokontroler.

Kontruksi bahasa BASIC pada BASCOM-AVR
Setiap bahasa pemprograman mempunyai standar penulisan program. Konstruksi dari  program bahasa BASIC harus mengikuti aturan sebagai berikut:
$regfile = "header"
'inisialisasi
'deklarasi variabel
'deklarasi konstanta
Do
'pernyataan-pernyataan
Loop
end
Pengarah preprosesor
$regfile = "m16def.dat" merupakan pengarah pengarah preprosesor bahasa BASIC yang memerintahkan untuk meyisipkan file lain, dalam hal ini adalah file m16def.dat yang berisi deklarasi register dari mikrokonroller ATmega 16, pengarah preprosesor lainnya yang sering digunakan ialah sebagai berikut:
$crystal = 12000000  'menggunakan crystal clock 12 MHz
$baud = 9600             'komunikasi serial dengan baudrate 9600
$eeprom                     'menggunakan fasilitas eeprom

Karakter Pada Bascom


Karakter pada Bascom dipergunakan untuk membentuk label, keyword, variabel, dan operator, yang kesemuanya akan membentuk suatu program. Pada dasarnya karakter pada Bascom terdiri dari karakter huruf (A-Z) dan karakter angka (0-9). Beberapa karakter pada Bascom yang dipergunakan secara khusus terdapat pada tabel 2-1.


Tipe Data


Setiap variabel pada Bascom mempunyai tipe data yang menunjukkan kapasitas dan jenis data yang dapat disimpan pada variabel tersebut. Hal ini berpengaruh pada seberapa besar memori yang diperlukan untuk menyimpan variabel tersebut. Tabel 2-2 menunjukkan tipe data pada Bascom beserta ukuran dan rentangnya.

Variabel

     Variabel adalah simbol yang digunakan untuk mewakili suatu nilai. Variabel digunakan sebagai tempat penyimpanan data atau penampung data sementara. Variabel numerik hanya dapat diisi nilai numerik (bit, byte, integer, word, long, dan single). Isi dari suatu variabel numerik dapat berupa :
· Suatu nilai konstan
       A = 5
       C = 1.1
· Nilai variabel numerik lain
       A = B
· Nilai yang didapat dengan mengkombinasikan variabel, konstan, dan operator
      Temp = A + 5
Pada Bascom terdapat beberapa aturan mengenai penamaan suatu variabel, yaitu :
· Nama suatu variabel maksimum terdiri atas 32 karakter dan dapat berupa huruf ataupun angka.
· Karakter pertama variabel haruslah berupa huruf.
· Nama variabel tidak boleh menggunakan kata-kata yang dipergunakan Bascom sebagai perintah, pernyataan, register dan operator (misal AND, OR, DIM, P1 TIMER0 dan lain sebagainya)
Sebelum digunakan suatu variabel haruslah dideklarasikan terlebih dahulu tipe data yang dipergunakan dengan menggunakan pernyataan DIM
      DIM A As Byte
      DIM Nama1 As Byte, Nama2 As Integer
      DIM Kata As String*10
Selain menggunakan DIM, variabel dapat juga ditentukan tipe datanya menggunakan
     DEFBYTE, DEFINT, DEFBIT, dan DEFWORD
     DEFBYTE A
     DEFWORD B;C;D
Suatu variabel dapat mempunyai nama lain atau alias. Umumnya alias digunakan untuk mengganti variabel standar dengan nama yang lebih mudah diingat. Hal ini akan berguna pada saat membuat program yang panjang dan kompleks, jika terdapat perubahan penggunaan pin atau port, cukup diganti pada pernyataan Alias.
     Saklar1 Alias PB.0
     LED1 Alias PD.0

Konstanta

Konstanta adalah variabel yang mempunyai nilai konstan selama program dijalankan. Untuk mendeklarasikan suatu konstanta dapat digunakan dua cara, yaitu menggunakan Dim atau Const
      Dim A As Const 5
      Dim B1 As Const &B1001
      Const Cbyte = &HF
      Const Cint = -1000
      Const Csingle = 1.1
      Const Cstring = "tes"

Larik

Larik atau array adalah kumpulan variabel dengan nama dan tipe data yang sama. Untuk membedakan satu variabel dengan variabel lainnya digunakan indeks. Indeks haruslah berupa angka dengan tipe data byte, integer atau word, dengan nilai minimal 1 (bukan 0). Pendeklarasian larik mirip seperti variabel biasa, hanya ditambahkan jumlah komponen lariknya.
      Dim a(10) as byte

Sistem Bilangan

Pada pemrograman mikrokontroler terdapat 3 sistem bilangan yang sering digunakan, yaitu desimal (basis 10), biner (basis 2), dan heksadesimal (basis 16). Cara penulisan bilangan pada Bascom disesuaikan dengan sistem bilangan yang digunakan,
yaitu :
· Untuk bilangan desimal tidak didahului angka ataupun huruf lain
· Untuk bilangan biner didahului dengan &B
· Untuk bilangan heksadesimal didahului dengan &H
      Contoh : 240 (bilangan desimal), &B11110000 (bilangan biner), &HF0 (bilangan heksadesimal)

Operator

Operator digunakan untuk melakukan operasi terhadap bilangan. Pada Bascom operator dibedakan menjadi operator aritmetik, operator relasional, dan operator logika. Operator aritmatik adalah operator yang digunakan dalam kalkulasi, yaitu + (penjumlahan), - (pengurangan), * (perkalian, / (pembagian), \ (pembagian integer), MOD (modulo = sisa dari pembagian). Operator relasional digunakan untuk membandingkan dua nilai, yang memberikan hasil benar (1) atau salah (0) dan dapat digunakan untuk membuat keputusan.


Operator logika digunakan untuk menguji suatu pola bit tertentu, manipulasi bit atau operator Boolean. Misal operator AND dapat digunakan untuk mengabaikan semua bit dalam suatu byte kecuali satu bit untuk memantau status bit tersebut


Pernyataan Bersyarat

Pada Bascom terdapat beberapa pernyataan bersyarat yang sering digunakan yaitu If – Then, If – Then – Elseif, dan Select – Case

Syntaksis If – Then

   If <syarat> Then
   <Pernyataan 1>
   <Pernyataan 2>
   Else
   <Pernyataan 3>
   <Pernyataan 4>
   End If

Sintaksis If – Then – Elseif

    If <syarat1> Then
    <Pernyataan 1>
    <Pernyataan 2>
    Elseif <syarat2>Then
    <Pernyataan 3>
    <Pernyataan 4>
    Else
   <Pernyataan 5>
   <Pernyataan 6>
   End If

Sintaksis Select – Case

     Select Case < Variabel>
     Case < Nilai 1> : <Pernyataan 1>
     Case < Nilai 2> : <Pernyataan 2>
     Case Else : <Pernyataan 3>
     End Select

Pernyataan Perulangan (Loop)

Loop adalah suatu perulangan terhadap perintah atau instruksi sampai mencapai keadaan tertentu (jumlah perulangan tersebut dapat diketahui). Fungsi dari loop sendiri banyak sekali, dan dapat menghemat dalam penulisan program karena program yang sama dapat dilakukan dengan beberapa perintah dan kemudian diulang-ulang. Terdapat 3 pernyataan perulangan yaitu Do-Loop, While-Wend, dan For-Next.

Sintaksis Do – Loop

     Do
     <Pernyataan 1>
     <Pernyataan 2>
     Loop

Sintaksis While – Wend

     While <Syarat>
     <Pernyataan 1>
     <Pernyataan 2>
     Wend

Sintaksis For – Next

     FOR <Variabel> = <Nilai Awal> TO/DOWNTO <Nilai Akhir>
     <Pertambahan/Pengurangan>
     <Pernyataan 1>
     <Pernyataan 2>
     Exit

Semoga bermanfaat..

Teknologi Mikro Prosessor



Pengertian Mikroprosesor

Kata mikroprosesor dalam pengertian yang lebih luas berarti hanya sebuah CPU. Untuk membentuk sebuah board mikroprosesor yang lengkap blok-blok fungsional seperti memori, dan peripheral lainnya harus dihubungkan secara eksternal ke sebuah chip mikroprosesor. Sistem yang dibangun dengan cara ini disebut sebagai “Single-Board Microcomputer”. Contoh mikroprosesor adalah 8085, 8086 dan 80486.
Salah satu kelas penting lain dari mikroprosesor adalah ‘Bit-Slice Processor’. Istilah bit-slice prosesor berarti bahwa prosesor dapat diinterkoneksikan kedalam bentuk potongan-potongan prosesor yang lebar wordnya dapat ditentukan. Bit-slice prosesor terdiri dari 4 atau 8 bit ALU, register, dan jalur kendali. Jalur kendali terkoneksi pada setiap prosesor-prosesor dan semua prosesor tersebut dapat melakukan operasi yang sama.
Contoh bit-slice prosesor adalah AMD seri 2900. Desain bit-slice prosesor memilki beberapa keuntungan. Keuntungan yang pertama adalah ALU dapat digabungkan untuk membentuk komputer yang bisa mengelola data yang cukup besar dalam satu waktu.
Keuntungan desain bit-slice prosesor lainnya adalah dapat menggunakan teknologi chip bipolar yang sangat cepat. Lebih jauh lagi, desain bit-slicememungkinkan penggunanya membuat set intruksi sendiri untuk aplikasi-aplikasi yang mereka ciptakan.
Mikroprosesor pertama adalah intel 4004 yang dikenalkan tahun 1971, tetapi kegunaan mikroprosesor ini masih sangat terbatas, hanya dapat digunakan untuk operasi penambahan dan pengurangan. Mikroprosesor pertama yang digunakan untuk komputer di rumah adalah intel 8080, merupakan komputer 8 bit dalam satu chip yang diperkenalkan pada tahun 1974. Tahun 1979 diperkenalkan mikroprosesor baru yaitu 8088.
Mikroprosesor 8088 mengalami perkembangan menjadi 80286, berkembang lagi menjadi 80486, kemudian menjadi Pentium, dari Pentium I sampai dengan sekarang, Pentium IV. Untuk lebih lengkapnya, bisa melihat gambar dan tabel di bawah ini :
Perbandingan besar processor

Nama Prosesor
Tahun Keluar
Jumlah Transistor
Micron
Clock speed
Data width
MIPS
8080
1974
6000
6
2 MHz
8
0,64
8088
1979
29.000
3
5 MHz
16 bits, 8 bit bus
0,33
80286
1982
134.000
1,5
6 MHz
16 bits
1
80386
1985
275.000
1,5
16 MHz
32 bits
5
80486
1989
1.200.000
1
25 MHz
32 bits
20
Pentium
1993
3.100.000
0,8
60 MHz
32 bits, 64 bit
100
Pentium II
1997
7.500.000
0,35
233 MHz
32 bits, 64 bit bus
400
Pentium III
1999
9.500.000
0,25
450 MHz
32 bits, 64 bit bus
1.000


Sejarah Mikroprosesor
Sejarah ditemukannya Mikroprosesor Pentium berawal pada tahun 1958, seorang insinyur bernama Jack Kilby yang bekerja pada Texas Intruments mencoba memecahkan masalah dengan memikirkan sebuah konsep menggabungkan seluruh komponen elektronika dalam satu blok yang dibuat dari bahan semikonduktor. Terciptalah chip yang pertama, meskipun masih dengan segala kekurangan dan kelemahannya. Beberapa saat setelah itu, Robert Noyce, yang bekerja pada Fairchild Semiconductor Corporation, menemukan hal serupa, meskipun mereka bekerja pada dua tempat yang berbeda. Sejak penemuan pertama sebuah IC, riset banyak dilakukan untuk menyempurnakan sebuah IC.
Beberapa hal yang cukup penting dalam sebuah IC adalah ukuran dan daya listrik yang dibutuhkan sebuah IC untuk berfungsi dengan baik. Saat ini, sebuah IC yang ukurannya sekitar jari kuku manusia, di dalamnya terdapat ratusan juta komponen yang terintegrasi menjadi satu. Gorden Moore, co-founder perusahaan Intel, pada tahun 1965 memperkirakan bahwa jumlah transistor yang terdapat dalam sebuah IC akan bertambah 2 kali setiap 18 bulan sekali.
Kecenderungan peningkatan jumlah transistor ini telah terbukti setelah sekian lama dan diperkirakan akan terus berlanjut. Sebagai contoh perkembangan IC, sebuah 64-Mbit DRAM yang pertama kali di pasaran pada tahun 1994, terdiri dari 3 juta transistor. Dan microprocessor Intel Pentium 4 terdiri lebih dari 42 juta transistor dan kira-kira terdapat 281 IC didalamnya. Bahkan berdasar pada International Technology Roadmap for Semiconductor (ITRS), diharapkan akan tersedia sebuah chip yang terdiri dari 3 milyar transistor pada tahun 2008. Umumnya, bahan semikonduktor yang digunakan dalam pembuatan IC, adalah silikon. Beberapa bahan lain pun juga memungkinkan untuk digunakan. Proses pembuatan IC sendiri terdiri dari ratusan step. Meskipun proses pembutan hingga siap untuk digunakan sangatlah rumit, namun keuntungan yang didapat dari fleksibilitas sebuah IC dibandingkan dengan jika tidak menggunakan IC.
Jika ditilik dari sejak penemuan sebuah IC, teknologi IC boleh dibilang masih sangat muda. Belum genap setengah abad dari pertama kali diproduksi, IC telah berperan penting dalam peradaban manusia. Seperti komputer misalnya, yang proses utamanya dikontrol oleh ratusan IC. Komputer merupakan hal penting dalam mendukung perkembangan teknologi lainnya. Sudah sepantasnya kita mengucap syukur kepada Tuhan, yang telah mengizinkan perkembangan teknologi terjadi begitu pesatnya, yang akhirnya membawa kemudahan bagi umat manusia. Bayangkan jika pada waktu itu IC tidak ditemukan. Mungkin perkembangan teknologi tidak akan seperti sekarang ini.
IC sendiri dipergunakan untuk bermacam-macam piranti, termasuk televisi, telepon seluler, komputer, mesin-mesin industri, serta berbagai perlengkapan audio dan video. IC sering dikelompokkan berdasar jumlah transistor yang dikandungnya berikut adalah penggolongan IC berdasar jumlah transistor.
* SSI (small-scale integration)
chip dengan maksimum 100 komponen elektronik.
* MSI (medium-scale integration)
chip dengan 100 sampai 3.000 komponen elektronik.
* LSI (large-scale integration)
chip dengan 3.000 sampai 100.000 komponen elektronik.
* VLSI (very large-scale integration)
chip dengan 100.000 sampai 1.000.000 komponen elektronik.
* ULSI (ultra large-scale integration)
chip dengan lebih dari 1 juta komponen elektronik

Sejarah Perkembangan Microprocessor
·   1904 : Dioda tabung pertama kali diciptakan oleh seorang ilmuwan dari Inggris yang bernama Sir John Ambrose Fleming (1849-1945)
·   1906 : ditemukan trioda hasil pengembangan dioda tabung oleh seorang ilmuwan Amerika yang bernama Dr. Lee De Forest. Yang kemudian terciptalah tetroda dan pentode.
Akan tetapi penggunaan dari tabung hampa tersebut tergeser pada tahun 1960 setelah ditemukannya komponen semikonduktor.
·    1947 : Transistor diciptakan di labolatorium Bell.
·   1965 : Gordon Moore dari Fairchild semiconductor dalam sebuah artikel untuk majalan elektronik mengatakan bahwa chip semikonduktor berkembang dua kali lipat setiap dua tahun selama lebih dari tiga dekade.
·  1968 : Moore, Robert Noyce dan Andy Grove menemukan Intel Corp. untuk menjalankan bisnis “INTegrated Electronics.”
· 1969 : Intel mengumumkan produk pertamanya, RAM statis 1101, metal oxide semiconductor (MOS) pertama di dunia. Ia memberikan sinyal pada berakhirnya era memori magnetis.
·   1971 : Intel meluncurkan mikroprosesor pertama di dunia, 4-bit 4004, yang didesain oleh Federico Faggin.
·  1972 : Intel mengumumkan prosesor 8-bit 8008. Bill Gates muda dan Paul Allen coba mengembangkan bahasa pemograman untuk chip tersebut, namun saat itu masih kurang kuat.
·   1974 : Intel memperkenalkan prosesor 8-bit 8080, dengan 4.500 transistor yang memiliki kinerja 10 kali pendahulunya.
·  1975 : Chip 8080 menemukan aplikasi PC pertamanya pada Altair 8800, sekaligus merevolusi PC. Gates dan Allen sukses mengembangkan bahasa dasar Altair, yang kemudian menjadi Microsoft Basic, untuk 8080.
·  1976 : Arsitektur x86 mengalami kemunduran saat Steve Jobs dan Steve Wozniak memperkenalkan Apple II computer dengan menggunakan prosesor 8-bit Motorola 6502.
·  1978 : Intel memperkenalkan mikroprosesor 16-bit 8086 yang kelak menjadi standar industri pada tanggal 8 Juni.
·    1979 : Intel memperkenalkan versi dengan harga yang lebih murah dari 8086, yaitu 8088 dengan 8-bit bus.
·    1980 : Intel memperkenalkan 8087 math co-processor.
·  1981 : IBM memilih 8088 untuk menjalankan PC-nya. Seorang eksekutif Intel kemudian mengatakannya sebagai “Kemenangan besar pertama Intel.”
·   1982 : IBM menandatangani Advanced Micro Devices sebagai sumber kedua Intel untuk mikroprosesor 8086 dan 8088.
·     1982 : Intel memperkenalkan prosesor 16-bit 80286 dengan 134.000 transistor.
·  1984 : IBM mengembangkan PC generasi kedua, 80286-based PC-AT. PC-AT yang menjalankan MS-DOS, kelak menjadi standar PC selama hampir 10 tahun.
·   1985 : Intel keluar dari bisnis RAM dinamis untuk fokus pada mikroprosesor, dan akhirnya ia mengeluarkan prosesor 80386, sebuah chip 32-bit dengan 275.000 transistor dan kemampuan menjalankan berbagai macam program sekaligus.
·    1986 : Compaq Computer melambungkan IBM dengan PC yang didasarkan pada 80386.
·   1987 : VIA Technologies didirikan di Fremont, Calif., mereka akan mejual chip set core logic x86.
·  1989 : 80486 diluncurkan, dengan 1.2 juta buah transistor dan built-in math co-processor.
·   Intel telah memprediksi pengembangan prosesor multicore suatu saat pada tahun 2000-an.
· 1990 : Compaq memperkenalkan server PC pertama, yang dijalankan dengan menggunakan 80486.
·  1993 : Transistor 3.1 juta, prosesor 66-MHz Pentium dengan teknologi superscalar diperkenalkan.
·    1994 : AMD dan Compaq membentuk aliansi untuk mendukung Compaq computer dengan mikroprosesor Am486.
·   1997 : Intel meluncurkan teknologi prosesor 64-bit Epic. Ia juga memperkenalkan MMX Pentium untuk aplikasi prosesor sinyal digital, yang juga mencakup grafik, audio, dan pemrosesan suara.
·    1998 : Intel memperkenalkan prosesor Celeron di bulan April.
·    1999 : VIA mengakuisisi Cyrix Corp. dan Centaur Technology, pembuat prosesor x86 dan x87 co-processor.
·     2000 : Debut Pentium 4 dengan 42 juta transistor.
·     2003 : AMD memperkenalkan x86-64, versi 64-bit dari x86 instruction set.
·     2004 : AMD mendemonstrasikan x86 dual-core processor chip.
·     2005 : Intel menjual prosesor Dual-Core pertamanya.
·     2006 : Dell Inc. mengumumkan akan menawarkan system prosesor berbasis AMD.
·     2006 : Intel Memperkenalkan prosesor core 2 duo di bulan juli.
·     2007 : Intel memperkenalkan prosesor core 2 quad di bulan januari.

Karakteristik Mikroprosesor

Berikut adalah karakteristik penting dari mikroprosesor :
  • Ukuran bus data internal (internal data bus size): Jumlah saluran yang terdapat dalam mikroprosesor yang menyatakan jumlah bit yang dapat ditransfer antar komponen di dalam mikroprosesor.
  •  Ukuran bus data eksternal (external data bus size): Jumlah saluran yang digunakan untuk transfer data antar komponen antara mikroprosesor dan komponen-komponen di luar mikroprosesor.
  •   Ukuran alamat memori (memory address size): Jumlah alamat memori yang dapat dialamati oleh mikroprosesor secara langsung.
  • Kecepatan clock (clock speed): Rate atau kecepatan clock untuk menuntun kerja mikroprosesor.
  • Fitur-fitur spesial (special features): Fitur khusus untuk mendukung aplikasi tertentu seperti fasilitas pemrosesan floating point, multimedia dan sebagainya.

JENIS-JENIS MIKROPROSESOR
Mikroprosesor dan keluarga komponen sejenis seperti memori dan rangkaian I/O dibuat dengan berbagai teknologi bahan. Beberapa dari teknologi tersebut adalah TTL (Transistor-transistor Logic), STTL (Schottky-clamped TTL), LSTTL ( Low Power STTL), ECL (Emitter Coupled Logic), IIL (Integrated-injection Logic), PMOS (P-Channel Metal Oxide Semiconductor),NMOS (N-Channel Metal Oxide Semiconductor), CMOS (Complementary MOS), dan HSCMOS (High Speed CMOS).

1. Beberapa Jenis Mikroprosesor Atas Dasar Teknologi Bahannya:
Prosesor Teknologi Konsumsi Siklus Daya Instruksi :
·       INTEL 8008 PMOS 420mW 10us
·       INTEL 8085 NMOS 400mW 1,3us
·       INTEL 8028 6HCMOS 2500mW 0,1us
·       RCA 1802C CMOS 400mW 6,4us
·       MOTOROLA MC680 NMOS 600mW 2,0us
·       MOTOROLA MC68000 HCMOS 1750mW 0,08us
·       MOS Technology 6502 NMOS 250mW 3,0us
·       National 32032 HCMOS 1000mW 0,1us
·       Zilog Z80 NMOS 400mW 1,3us
2. Jenis Mikroprosesor Atas Dasar Lebar Bus Data dan Pabrik Pembuatnya :
Prosesor Pabrik Lebar Data Teknologi Tahun
·       4004 INTEL 4-bit PMOS 1971
·       4040 INTEL 4-bit PMOS 1971
·       PPS-4 Rockwell 4-bit PMOS 1972
·       8008 INTEL 8-bit PMOS 1972
·       8080 INTEL 8-bit NMOS 1974
·       F8 Fairchild 8-bit NMOS 1974
·       6800 Motorola 8-bit NMOS 1974
·       Z80 Zilog 8-bit NMOS 1976
·       6801 Motorola 8-bit NMOS 1978
·       6809 Motorola 8-bit NMOS 1978
·       9900 Texas Inst. 16-bit NMOS 1976
·       68000 Motorola 16-bit NMOS
·       Z8000 Zilog 16-bit NMOS
3. Jenis Mikroprosesor Atas Dasar Lebar Bus Datanya Keluarga INTEL dan MOTOROLA
4. Jenis Mikroprosesor Keluarga INTEL Dari Masa ke Masa
              - INTEL 4004, 1971
Mikroprosesor ini dikeluarkan pada tahun 1971oleh Intel Corporation, merupakan mikroprosesor pertama di dunia.
Spesifikasi:
Lebar bus data: 4-bit
·       Clock: 740 KHz
·       Memori program: 4 KB
·       Memori data: 640 bytes
·       Memori Stack: 3-level
·       No interrupts
·       Jumlah pin: 16-pin DIP

- INTEL 4040
Spesifikasi:


·       Lebar bus data: 4-bit
·       Clock: 740 KHz
·       Memori program: 2 x 4 KB
·       Memori data: 640 bytes
·       Memori Stack: 7-level
·       No interrupts
·       Jumlah pin: 24-pin DIP

-  INTEL 8008, Januari 1972
Merupakan mikroprosesor 8-bit yang mampu melaksanakan 48 instruksi dengan ukuran memori 16 Kbyte (16K x 8-bit). Adanya instruksi tambahan menyebabkan prosesor ini dapat diaplikasikan dalam sejumlah aplikasi yang lebih maju.

                - INTEL 8080, November 1973

Merupakan mikroprosesor modern 8-bit yang pertama dan diperkenalkan pada November 1973. Dapat melaksanakan instruksi 10 kali lebih cepat dari 8008.
                - INTEL 8085, 1977


Merupakan versi yang lebih baru dari 8080, diperkenalkan oleh Intel Corporation pada tahun 1977. Tidak ada kemajuan yang berartidari versi ini, menangani jumlah memori yang sama, melaksanakan jumlah instruksi yang sama, kemajuannya hanya pada penambahan 1,3 Us kontroler instruksi yang merupakan komponen eksternal dari sistem berdasar 8080.

                  - INTEL 8086/8088, 1978
Mikroprosesor 8086 dikeluarkan oleh INTEL Corporation pada tahun 1978 dan setahun kemudian 8088. Keduanya merupakan mikroprosesor 16-bit yang melaksanakan instruksi dengan kecepatan sedikitnya 400 ns per instruksi dan mampu menangani alamat memori 1 Mbyte. Teknologi prosesor ini merupakan landasan pengembangan bagi prosesor INTEL berikutnya.
               - INTEL 80286/80386/80486
               - INTEL PENTIUM I/II/III/IV
Keuntungan Dan Kekurangan Mikroprosesor
Keuntungan penggunaan mikroprosesor dalam suatu sistem adalah sebagai berikut :
·   Sistem mikroprosesor bersifat dapat diprogram, jadi dengan mempergunakan perangkat keras yang sama atau hampir sama dapat diperoleh berbagai macam aplikasi yang berbeda dengan hanya mengganti atau mengubah program
·     Sistem mikroprosesor bersifat fleksibel, serbaguna dan dapat untuk minimisasi sistem mikrokomputer
·  Sistem mikroprosesor dapat digunakan pada berbagai jenis peralatan dalam banyak bidang misalnya bidang komunikasi, bidang informatika, kedokteran, laboratorium, nuklir, dll. 

Kerugian penggunaan mikroprosesor tersebut diantaranya :
· Adanya cukup banyak jenis mikroprosesor dengan perangkat keras dan perangkat lunak yang berbeda umumnya tidak kompetibel, tergantung dari pabrik yang membuatnya
·  Setiap jenis mikroprosesor diperlukan suatu sistem pengembangan prosesor yang tertentu pula
·     Kerusakan software berakibat sistem macet dan tidak dapat diperbaiki jika tidak diketahui kode-kodenya
·       Sistem mikroprosesor lebih sensitif terhadap gangguan thero dari luar
Mikroprosesor melakukan operasi aritmatik dan logic. Yang aritmatik contohnya ; penjumlahan, perkalian, dsb., sedangkan logic contohnya ; or not, dll., dan juga mikroprosesor dapat juga melakukan pengendalian terhadap seluruh komputer.
· CU (Control Unit) adalah bagian yang bertanggung jawab mengatur atau mengendalikan kerja antara komponen-komponen antara RAM, ROM sehingga seluruh sistem melaksanakan fungsinya secara tepat dan benar.
·   Register adalah memori yang ada di dalam mikroprosesor dengan kecepatan lebih cepat dibandingan dengan RAM, ROM.
· Clock adalah generator untuk pulsa frekuensi yang besarnya tentu dan mempengaruhi kerjanya proses komputer. Kemampuan clock harus lebih kecil atau sama dengan kemampuan clock dalam komputer.
·   Basis Data adalah kumpulan sejumlah saluran data yang bersifat bidirectional (dua arah bolak balik). Basis data berkembang mulai dari 4 bit, 8, 16 dan 32.
·      Adress Bus adalah kumpulan sejumlah saluran adress yang bersifat directional (satu arah) mulai berkembang dari 16 saluran, 20, 24 dan 32.
  • Control Bus adalah sejumlah saluran kontrol yang dipergunakan untuk melakukan sinkronisasi cara kerja mikroprosesor dengan cara kerja komponen-komponen diluar mikroprosesor yang sifatnya satu arah.

Perbedaan mikroprosesor  dan mikrokontroler
Sebelumnya akan dibahas dulu mengenai perbedaan mikroprocessor dan mikrocontroller. Jika kita telaah dari arti katanya maka, microprocessor=pengolah kecil lalu mikrocontroller=pengendali kecil. dari arti diatas sebenarnya sudah bisa diketahui perbedaannya.
Keterangan lebih lanjut:
·       Mikroprosesor bersifat general purpose (berfungsi umum). Seperti arti katanya yaitu pengolah sehingga mikroprosesor hanya berisikan sepaket chip yang hanya berfungsi sebagai pengolah data (terdiri dari ALU, PC, SP, register, clock, interrupt, data/address bus) dari memory. Mikroprosesor tidak memiliki fitur  lainya sehingga untuk dapat beroperasi harus ditambahkan lagi RAM, I/O dan berbagai peripheral atau device lain tergantung penggunaannya. Contoh nya seperti processor INTEL atau AMD pada PC.

Diagram blok sebuah mikroprosesor

·     Mikrokontroler bersifat specific purpose (berfungsi khusus). Seperti arti katanya yaitu pengendali sehingga mikrokontroler berisikan sepaket chip lengkap yang terdiri dari fitur-fitur pengolah data yang juga terdapat dalam mikroprosesor, ditambah RAM, ROM, I/O, dan fitur lain yang terintegrasi di dalamnya. Contohnya dapat ditemui pada perangkat otomotif, mesin industri, elektronik dan perangkat- perangkat lain yang memiliki embedded sistem di dalamnya.

Modul Mikroprosessor download disini

#Trending

 

Contact Us

Nama

Email *

Pesan *

Data Pengunjung

Flag Counter