Monday, January 2, 2017

tugas akhir ADC bab II landasan teori

BAB II
TINJAUAN PUSTAKA

2.1       Kajian pustaka
            Pada tahun 2000, Khaidir telah membuat analog to digital converter menggunakan ic 0804. Alat ini mampu mengubah tengan analong menjadi digital. Namun konverter ADC (Analog to Digital Converter) ini hanya menggunakan metode 8 bit saja, tidak ada tampilan layar lcd sebagai tampilan input maupun outputnya dan tidak menggunakan software (tidak berbasis mikrokontroler).
            Pada adc 8 bit tegangan 5 Volt direpresentasikan menjadi angka 255 dalam desimal, sedangkan 0 Volt direpresentasikan menjadi angka 0 dalam desimal. 8 bit merupakan 28 = 256 dalam adc 8 bit nilai yang dimiliki hanya sampai 255? karena dalam sistim digital angka 0 juga dihitung sehingga jumlahnya sama dengan 256. Pada saat tegangan masukan sebesar 2,5 Volt maka ADC (Analog to Digital Converter) akan merepresentasikan 127 dalam bilangan desimal, sehingga setiap terjadi perbesaan tegangan maka representasi adc dalam bilangan desimal berbeda pula. Adc 8 bit mempunyai ketelitian 0.0196 Volt karena 1 angka desimal mewakili 0.0196 Volt.
            Sedangkan Pada ADC (Analog to Digital Converter) 10 bit tegangan 5 volt direpresentasikan menjadi angka 1023 dalam desimal, sedangkan 0 Volt akan direpresentasikan menjadi angka 0 dalam desimal, 10 bit merupakan 210 = 1024 mengapa tegangan 5 Volt hanya direpresentasikan menjadi angka 1023 bukan 1024? seperti yang sudah saya jelaskan sebelumnya bahwa dalam sistem digital angka 0 juga dihitung sehingga 0 sampai 1023 itu menjadi lengkap 1024 jumlahnya. Begitu pula pada saat tegangan masukan sebesar 2,5 Volt maka adc akan merepresentasikannya kedalam bilangan desimal menjadi 511. Adc 10 bit memiliki ketelitian yang lebih tinggi daripada ADC (Analog to Digital Converter) 8 bit karena 1 angka desimal dalam adc 10 bit  mewakili tegangan sebesar 0,00489 Volt.

2.2       Landasan Teori
2.2.1    ADC (Analog to Digital Converter)
            Analog To Digital Converter (ADC) adalah pengubah input analog menjadi kode – kode digital. ADC banyak digunakan sebagai Pengatur proses industri, komunikasi digital dan rangkaian pengukuran/ pengujian. Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan/ berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital (komputer).
ADC (Analog to Digital Converter) memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan sampling suatu ADC (Analog to Digital Converter) menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample per second (SPS).
Resolusi ADC menentukan ketelitian nilai hasil konversi ADC (Analog to Digital Converter). Sebagai contoh: ADC 8 bit akan memiliki output 8 bit data digital, ini berarti sinyal input dapat dinyatakan dalam 255 (2n – 1) nilai diskrit. ADC 10 bit memiliki 10 bit output data digital, ini berarti sinyal input dapat dinyatakan dalam 1024 nilai diskrit. Dari contoh diatas ADC (Analog to Digital Converter) 10 bit akan memberikan ketelitian nilai hasil konversi yang jauh lebih baik daripada ADC (Analog to Digital Converter) 8 bit.
Prinsip kerja ADC (Analog to Digital Converter) adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila tegangan referensi 5 volt. Jadi, jika menggunakan ADC (Analog to Digital Converter) 10 bit dengan skala maksimum 1024, akan didapatkan bilangan decimal = 5120 (bentuk decimal) atau 1010000000 (bentuk biner).
signal = (sample/max_value) * reference voltage
= (5120/1024)
= 5 Volts

2.2.2 Bit
         Bit adalah kependekan dari "Binary Digit", yang berarti digit biner. Binary digit adalah unit satuan terkecil dalam komputasi digital. 
Komputer tidak menggunakan angka desimal untuk menyimpan data. Semua data komputer disimpan dalam angka-angka biner. Hanya 2 nilai berbeda yang bisa dinyatakan satu bit, entah nilai 0 atau nilai 1. Dalam telekomunikasi digital juga demikian, semua level tegangan diubah menjadi bentuk data biner. 
Istilah "binary digit" atau "bit" diperkenalkan oleh John Tukey di tahun 1947, saat itu ia bekerja sebagai seorang ilmuwan diBell Laboratories. Sejak saat itu istilah 'bit' terus digunakan di dunia computer.
Gambar 2.1 ADC 8 bit


Gambar 2.2 ADC 10 bit


2.2.3    Potensiometer
Potensiometer adalah resistor tiga terminal dengan sambungan geser yang membentuk pembagi tegangan dapat disetel. Jika hanya dua terminal yang digunakan (salah satu terminal tetap dan terminal geser), potensiometer berperan sebagai resistor variabel atau Rheostat. Potensiometer biasanya digunakan untuk mengendalikan peranti elektronik seperti pengendali suara pada penguat. Potensiometer yang dioperasikan oleh suatu mekanisme dapat digunakan sebagai transduser, misalnya sebagai sensor joystick.
1.      Elemen resistif
2.      Badan
3.      Penyapu (wiper)
4.      Sumbu
5.      Sambungan tetap pertama
6.      Sambungan penyapu
7.      Cincin
8.      Baut
9.      Sambungan tetap kedua
Potensiometer jarang digunakan untuk mengendalikan daya tinggi (lebih dari 1 Watt) secara langsung. Potensiometer digunakan untuk menyetel taraf isyarat analog (misalnya pengendali suara pada peranti audio), dan sebagai pengendali masukan untuk sirkuit elektronik. Sebagai contoh, sebuah peredup lampu menggunakan potensiometer untuk menendalikan pensakelaran sebuah TRIAC, jadi secara tidak langsung mengendalikan kecerahan lampu.
Potensiometer yang digunakan sebagai pengendali volume kadang-kadang dilengkapi dengan sakelar yang terintegrasi, sehingga potensiometer membuka sakelar saat penyapu berada pada posisi terendah.
Gambar 2.3 potensiometer


2.2.4    LCD (Liquid Crystal Display)
            LCD adalah suatu jenis media tampil yang menggunakan Kristal cair sebagai penampilan yang utama. LCD sudah digunakan di berbagai bidang misalnya alat-alat elektronik seperti televise, kalkulator, dan pada layar computer. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.
Gambar 2.4 LCD 20 x 4
Ini adalah HD44780 standar industri berdasarkan dikendalikan 4 baris x 20 karakter LCD display dengan karakter hitam di latar belakang PUTIH dan backlight. Ini adalah antarmuka paralel sehingga Anda akan perlu 7 pin GPIO untuk mode 4-bit atau 11 pin GPIO untuk mode 8-bit untuk antarmuka layar LCD ini.
Fitur:
·         Sudut pandang lebar dan kontras tinggi
·          Industri kontroler standar HD44780 LCD setara built-in
·         + LED 5V DC backlight
·         Tidak perlu catu daya terpisah untuk backlight
·          antarmuka paralel yang didukung 4 atau 8 bit
·          Tampilan 4-line X 20-karakter
·          Mengoperasikan dengan 5V DC
spesifikasi:
      Modul Ukuran (W x H x T): 98mm X 60mm X 14mm
      Black Metal Bezel (W x H): 98mm X 40mm
      Viewing Area (W x H): 76mm X 25.2mm

2.2.5    LED
LED (Light Emitting Diode) dan Cara Kerjanya – Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.
Bentuk LED mirip dengan sebuah bohlam (bola lampu) yang kecil dan dapat dipasangkan dengan mudah ke dalam berbagai perangkat elektronika. Berbeda dengan Lampu Pijar, LED tidak memerlukan pembakaran filamen sehingga tidak menimbulkan panas dalam menghasilkan cahaya.  Oleh karena itu, saat ini LED (Light Emitting Diode) yang bentuknya kecil telah banyak digunakan sebagai lampu penerang dalam LCD TV yang mengganti lampu tube.
Gambar 2.5 bentuk dan symbol led


Gambar 2.6 polaritas led
(Sumber: (Sumber: http//hobielektronika.com)


2.2.6    Atmega16
Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar masukan maupun keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC (Digital to Analog
converter) dan serial komunikasi. Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu beserta komponen kendali lainnya. Berbeda dengan mikroprosesor, mikrokontroler menyediakan memori dalam serpih yang sama dengen prosesornya (in chip).
Didalam mikrokontroler Atmega16 terdiri dari:
1.         Saluran I/O ada 32 buah, yaitu Port A, Port B, Port C, dan Port D.
2.         ADC (Analog to Digital Converter) 10 bit sebanyak 8 channel.
3.         Tiga buah Timer/Counter dengan kemampuan perbandingan.
4.         CPU yang terdiri dari 32 register.
5.         131 intruksi andal yang umumnya hanya membutuhkan 1 siklus clock.
6.         Watchdog Timer dengan oscilator internal.
7.         Dua buah Timer/Counter 8 bit.
8.         Satu buah Timer /Counter 16 bit.
9.         Tagangan operasi 2.7 V - 5.5 V pada Atmega16.
10.     Internal SRAM sebesar 1KB.
11.     Memory Flash sebesar 16KB dengan kemampuan Read While Write.
12.     Unit interupsi internal dan eksternal.
13.     Port antarmuka SPI.
14.     EEPROM sebesar 512 byte dapat diprogram saat operasi.
15.     Antar muka komparator analog.
16.     4 channel PWM.
17.     32x8 general purpose register.
18.     Hampir mencapai 16 MIPS pada Kristal 16 MHz.

2.2.7    Konfigurasi Pin Atmega16
Konfigurasi pin mikrokontroler Atmega16 dengan kemasan 40 pin dapat
dilihat pada gambar di bawah. ATmega16 memiliki 32 pin yang digunakan untuk
input/output, pin-pin tersebut terdiri dari 8 pin sebagai port A.8 pin sebagai portB.
8 pin sebagai portC. 8 pin sebagai port D. Dalam komunikasi serial, maka hanya
port D yang dapat digunakan kerena fungsi khusus yang dimilikinya Untuk lebih
jelas akan ditunjukan pada tabel-tabel fungsi khusus port. Susunan pin Mikrokontroler ATmega16 diperlihatkan pada gambar dibawah ini.
Gambar 2.7 pin-pin atmega16
Berikut ini adalah penjelasan umum susunan kaki dari ATmega16:
1. VCC merupakan pin masukan positif catu daya. Setiap peranti elektronika digital membutuhkan sumber daya yang umumnya sebesar 5V. Oleh karena itu, biasanya di PCB kit mikrokontroler selau ada IC regulator 7805.
2. GND sebagai pin Ground.
3. Port A (PA0...PA7), Merupakan pin I/O dua arah dan dapat diprogram sebagai pin masukan ADC. Port A berfungsi sebagai input analog pada konverter A/D. Port A juga sebagai suatu port I/O 8-bit dua arah, jika A/D konverter tidak digunakan. Pin-pin port dapat menyediakan resistor internal pull-up (yang dipilih untuk masing-masing bit). Port A output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Ketika pin PA0 ke PA7 digunakan sebagai input dan secara eksternal ditarik rendah, pin-pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin port A adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
4. Port B (PB0...PB7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, komparator analog dan SPI. Port B adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin port B yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin port B adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
Tabel 2.1 Tabel khusus port B
5. Port C (PC0...PC7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator TWI, komparator analog dan timer osilator. Port C adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Bandar C output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin bandar C yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin port C adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
6. Port D (PD0...PD7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal dan komunikasi serial. Port D adalah suatu port I/O 8-bit dua arah dengan resistor internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi dan kemampuan sumber. Sebagai input, pin port D yang secara eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan. Pin port D adalah tri-stated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.
7. Reset merupakan pin yang digunakan untuk me-reset mikrokontroler,
8. XTAL 1 dan XTAL 2 sebagai pin masukan clock eksternal. Suatu mikrokontroler membutuhkan sumber detak (clock) agar dapat mengeksekusi instruksi yang ada di memori. Semakin tinggi nilai kristalnya maka semakin cepat mikrokontroler tersebut bekerja.
9. AVCC sebagai pin masukan tegangan untuk ADC.
10. AREF sebagai pin masukan tegangan referensi.

2.2.8    Arsitektur Atmega16
Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data dapat dilakukan secara bersamaan (concurrent). Secara garis besar mikrokontroler ATMega16 terdiri dari :
1.     Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16Mhz.
2.     Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM         1Kbyte
3.     Saluran I/O 32 buah, yaitu Bandar A, Bandar B, Bandar C, dan Bandar D.
4.     CPU yang terdiri dari 32 buah register.
5.     User interupsi internal dan eksternal
6.     Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial
7.     Fitur Peripheral
§  Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode
§  Compare
§  Satu buah 16-bit timer/counter dengan prescaler terpisah, mode
§  compare, dan mode capture
§  Real time counter dengan osilator tersendiri
§  Empat kanal PWM dan Antarmuka komparator analog
§  8 kanal, 10 bit ADC
§  Byte-oriented Two-wire Serial Interface
§  Watchdog timer dengan osilator internal
Gambar 2.8 Blok Diagram Atmega16



2.3.      Struktur Bahasa Pemograman
2.3.1    Pengertian Bahasa Pemrograman
Program adalah pernyataan yang disusun menjadi satu kesatuan prosedur yang berupa urutan langkah yang disusun secara logis dan sistematis untuk menyelesaikanmasalah.Sedangkanpemrogramanadalahprosesmengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman.
Bahasa pemrograman atau sering diistilahkan juga dengan bahasa komputer adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Terdapat 3 faktor penting dalam bahasa pemrograman :
1. Sintaks adalah aturan penulisan bahasa tersebut (tata bahasanya).
2. Semantik adalah arti atau maksud yang terkandung didalam statement tersebut.
3. Kebenaran logika adalah berhubungan dengan benar tidaknya urutan statement.
Dalam pengertian luas pemrograman meliputi seluruh kegiatan yang tecakup dalam Pembuatan Program, termasuk analisis kebutuhan (requirement analysis)
Keseluruhan tahapan dalam perencanaan (Planning), Perancangan (Design), dan Perwujudannya (Implementation).
Dalam pengertian yang lebih sempit, pemrograman merupakan :
·         Pengkodean (Coding atau Program Writting = “Penulisan Program”)
·          Pengujiannya (testing) berdasarkan rancangan tertentu.
Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan program – program terapan komersial yang membedakan antara system analyst yang bertanggung jawab dalam menganalisa kebutuhan, perencanaan dan perancangan program dengan pemrogram (programmer) yang bertugas membuat program dan menguji kebenaran program.
Dalam pengolahan data memerlukan beberapa aspek – aspek dasar yaitu :
A. Brainware
Tenaga pelaksana yang menjalankan serta mengawasi pengoperasian sistem unit komputer didalam proses pengolahan data untuk menghasilkan suatu informasi yang tepat waktu, tepat guna dan akurat.
Contoh : Sistem Analis, Programmer, operator, Technical Support, dll.
B. Hardware
Serangkaian unsur-unsur yang terdiri dari beberapa perangkat keras komputer yang digunakan untuk membantu proses kerja manusia (Brainware).
Contoh : CPU, Monitor, Keyboard, Harddisk, Disk drive, dll.
C. Software
Serangkaian unsur-unsur yang terdiri dari beberapa perangkat lunak program komputer yang digunakan untuk membantu proses kerja manusia (Brainware).
Contoh : Sistem Software, Application Software, Package Software, dll.

2.3.2    Klasifikasi Bahasa Pemrograman
Untuk Klasifikasi Bahasa Pemrograman dibagi menjadi 5 bagian
1. Generasi Pertama
Bahasa yang berorientasi pada mesin. Program disusun menggunakan bahasa mesin/kode mesin. Bahasa Mesin adalah bahasa tingkat rendah yang hanya dipahami oleh komputer. Bahasa mesin ini sangat sulit dipahami oleh orang awam sehingga programmer harus menguasai operasi komputer secara teknis. Abstraksi bahasa ini adalah kumpulan kombinasi kode biner “0” dan “1” yang sangat tidak alamiah bagi kebanyakan orang – kecuali insinyur pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang, bahasa mesin juga disebut bahasa tingkat rendah.
2. Generasi Kedua
Bahasa pemrograman yang menggunakan bahasa rakitan / Assembly. Bahasa Assembly adalah bahasa pemrograman yang menggunakan instruksi yang sama seperti pada bahasa mesin, tetapi instruksi dan variable yang digunakan mempunyai nama sehingga mempermudah proses pemrograman. Karena tidak lagi menggunakan deretan kode biner untuk melakukan pemrograman.
3. Generasi Ketiga
Bahasa pemrograman yang menggunakan pendekatan prosedural. Instruksi program ditulis menggunakan kata-kata yang biasa digunakan oleh manusia. Contoh : WRITE (untuk menampilkan kelayar) READ (untuk membaca data masukan dari keyboard). Bahasa pada generasi ini disebut juga Bahasa beraras tinggi / High Level Language. Contoh bahasa pemrogaman :PASCAL, FORTRAN, C, COBOL, BASIC dll. Pada generasi bahasa pemrograman terakhir sekarang ini, kedua cara interpretasi dan kompilasi digabungkan dalam satu lingkungan pengembangan terpadu (IDE = integrated development environment). Cara interpretasi memudahkan dalam pembuatan program secara interaktif dan cara kompilasi menjadikan eksekusi program lebih cepat.
Pertama program dikembangkan interaktif, kemudian setelah tidak ada kesalahan keseluruhan program dikompilasi. Contoh bahasa program seperti ini adalah Visual BASIC yang berbasis BASIC dan Delphi yang berbasis PASCAL.
Bahasa tingkat tinggi bersifat portable. Program yang dibuat menggunakan bahasa tingkat tinggi pada suatu mesin komputer bersistem operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin dengan aneka sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali.
4. Generasi keempat
Merupakan Bahasa Non-Prosedural. Bahasa pemrograman Generasi Ke-4 dirancang untuk mengurangi waktu pemrogram untuk membuat program sehingga pembuatan program dibuat dengan waktu lebih cepat. Program ini dapat digunakan oleh pemakai yang kurang mengenal hal-hal teknis pemrograman tanpa perlu bantuan seorang programmer professional. Contoh : Membuat program database sederhana dengan Microsoft Access.
Bahasa generasi ke-4 disebut juga dengan Very High Level Language atau Problem Oriented Language (bahasa yang berorientasi pada masalah) karena memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode pemrograman dibandingkan dengan bahasa prosedural.
Fasilitas yang tersedia :
·    Program Generator (untuk membuat aplikasi mudah).
·    Report Generator (untuk membuat laporan dengan mudah dan cepat)
·    Bahasa Query (SQL).
Dengan adanya fasilitas ini programmer sedikit dalam menuliskan kode instruksi. Contoh Bahasa Generasi ke-4: Oracle, Microsoft Access dsb.
5. Generasi kelima
Merupakan bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence-AI). AI adalah disiplin dari ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia.
Contoh Aplikasi :
·      Pemrosesan Bahasa Alami : mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia.
·      Aplikasi Sistem Pakar : program komputer yang dapat menghasilkan pemikiran yang setara dengan seorang pakar.
     Contoh Bahasa Pemrograman : PROLOG dan LISP.

2.3.3    Bahasa Pemrograman Berdasarkan  Perkembangan
A. Machine Language
Bahasa Pemrograman yang hanya dapat dimengerti oleh mesin (komputer) yang  didalamnya terdapat CPU yang hanya mengenal 2 (dua) keadaaan yang berlawanan, yaitu :
·      Bila tejadi kontak (ada arus) bernilai 1
·      Bila kontak terputus (tidak ada arus) bernilai 0
B. Low Level Language (Bahasa tingkat rendah)
Karena susahnya bahasa mesin, maka dibuatlah simbol yang mudah diingat yang disebut dengan “Mnemonics” (Pembantu untuk mengingat).
Contohnya :
·      A          : Untuk kata Add (Menambahkan)
·      B          : Untuk kata Substract (mengurangi )
·      Mov     : Untuk kata Move ( Memindahkan )
·      Bahasa Pemrograman yang menerjemahkan Mnemonics disebut Assembler
C. Middle Level Language (Bahasa tingkat menengah)
Bahasa pemrograman yang menggunakan aturan – aturan gramatikal dalam penulisan pernyataan, mudah untuk dipahami dan memilik instruksi – instruksi tertentu yang dapat langsung diakses oleh komputer, Contohnya adalah bahasa C pada pemograman.
D. High Level Language (Bahasa tingkat tinggi)
Bahasa Pemrograman yang dalam penulisan pernyataannya mudah dipahami secara langsung. Bahasa pemrograman ini terbagi menjadi 2, yaitu :
1. Procedure Oriented Language
a. Scientific
Digunakan untuk memecahkan persoalan matematis/perhitungan, misal : Algol, Fortran, Pascal, Basic.
b. Bussines
Digunakan untuk memecahkan persoalan dalam bidang bisnis, misal : Cobol, PL/1.
2. Problem Oriented Language
Misal : RPG (Report Program Generator).
E. Object Oriented Language (Bahasa berorientasi obyek)
Bahasa pemrograman yang berorientasi pada obyek. Bahasa pemrograman ini mengandung fungsi-fungsi untuk menyelesaikan suatu permasalahan dan program tidak harus menulis secara detail semua pernyataannya, tetapi cukup memasukkan kriteria-kriteria yang dikehendaki saja Contohnya : Visual dBase, Visual FoxPro, Delphi, Visual C , dll.
2.3.4    Kerangka Dasar Pemrograman
Gambar 2.9 Kerangka Dasar Program

2.3.5        Code Vision AVR
Code Vision AVR  merupakan software pemograman berbasis bahasa C. penggunaan software bahasa C biasanya digunakan untuk pembuatan sebuah software baik berbasis consol maupun yang biasa ditemukan dikomputer window. Code vision AVR ini untuk para pemogrammer di bidang elektronika, seperti program mikrokontroller.