BAB 2 Landasan Teori 2.1 Teori-Teori Dasar/Umum Dalam rangkaian digital, terdapat tiga macam elemen yang digunakan, diantaranya adalah: Memory, Microprocessor, dan Perangkat Logika. Memory merupakan perangkat penyimpanan informasi yang dapat berupa isi dari spreadsheet dan database. Microprocessor merupakan otak dari perangkat elektronika yang dapat menjalankan sebuah program di dalamnya. Perangkat Logika merupakan penyedia fungsi-fungsi yang spesifik, seperti interface dari satu perangkat ke perangkat yang lain, komunikasi data, pemrosesan sinyal, display data, waktu dan pengontrolan operasi, dan hampir seluruh fungsi lain yang harus dijalankan . Programable Logic Device (PLD) merupakan komponen elektronika yang dapat digunakan untuk membangun rangkaian digital sesuai dengan keinginan perancang. PLD menghubungankan beberapa gerbang logika yang diatur oleh perancang hardware . Pemrograman logika berarti bahwa design chip baru dapat dicoba dan dapat digunakan dengan mudah diubah–ubah tanpa membutuhkan biaya untuk penyelesaian chip dalam pabrik semikonduktor. Dengan demikian , memory yang berdasarkan PLD bisa diprogram berulang, yang memungkinkan produk dapat dikembangkan oleh pengguna, bukan hanya oleh pabrik. 9 Berdasarkan jumlah gerbang logika yang dimiliki oleh PLD dapat dibagi atas 3 macam yaitu: 1. Simple Programmable Logic Device (SPLD). 2.1.1 2. Complex Programmable Logic Device (CPLD). 3. Field Programmable Gate Array (FPGA). Simple Programmable Logic Device (SPLD) SPLD merupakan alat dengan gerbang AND yang dihubungkan dengan gerbang OR atau gerbang lain yang sejenis. Gerbang–gerbang ini dapat diatur sedemikian rupa oleh pemakai. SPLD dapat diprogram dengan fussible link, EPROM , EEPROM, atau flash. • Fusible link merupakan bagian dari Overcurrent Protection Device (OCPD) yang terdiri dari kawat logam yang akan meleleh ketika dipanaskan oleh suatu arus eletrik. • Antifuse merupakan kebalikan dari fusible link. • Erasable Programmable Read – Only Memory (EPROM) merupakan suatu jenis chip memory komputer yang dapat mempertahankan data ketika tegangan terputus dan data hanya dapat dihapus menggunakan sinar ultraviolet. 10 • Electrically Erasable Programmable Read – Only Memory (EEPROM) merupakan chip memory komputer yang dapat mempertahankan data ketika tegangan terputus dan data dapat dihapus secara elektrik. • Flash merupakan memory komputer yang dapat mempertahankan data ketika tegangan terputus serta dapat menghapus dan menyimpan data secara elektrik. 2.1.2 Complex Programmable Logic Device (CPLD) CPLD dibuat pertama kali oleh Ross Freeman pada pertengahan tahun 1980 dan Field Programmable Gate Array (FPGA) dibuat pertama kali pada tahun 1984. CPLD adalah gabungan dari beberapa SPLD yang dihubungkan oleh Programmable Switching Matrix. Jadi CPLD merupakan sebuah Prorammable Logic Device dengan kompleksitas antara Programmable Array Logic (PAL) dan FPGA. 2.1.3 Gerbang logika Dalam dunia elektronik digital, terdapat komponen yang dapat melakukan penentuan logika dari input yang diberikan. Komponen-komponen tersebut disebut gerbang logika. 11 Tiap-tiap gerbang logika memiliki karakteristik sendiri-sendiri dalam pemrosesan logika yang ada. Gerbang logika tersebut adalah gerbang AND, OR, NOT, NAND, NOR, XOR, dan XNOR. Gerbang logika terutama diimplementasikan secara elektronik menggunakan dioda atau transistor, akan tetapi dapat pula dibangun menggunakan susunan komponen-komponen yang memanfaatkan sifat-sifat elektromagnetik (relay), cairan, optik dan bahkan mekanik. Nama Gerbang Tabel kebenaran Gerbang AND Gerbang OR A B Y 0 0 0 0 1 0 1 0 0 1 1 1 A B Y 0 0 0 0 1 1 1 0 1 1 1 1 Gerbang NOT Gerbang NAND A 12 A Y 0 1 1 0 B Y Gerbang NOR Gerbang XOR 0 0 1 0 1 1 1 0 1 1 1 0 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 A B Y 0 0 0 0 1 1 1 0 1 1 1 0 A B Y 0 0 1 0 1 0 1 0 0 1 1 1 Gerbang XNOR Tabel 2.1 Daftar Gerbang Logika 13 2.1.4 Integrated Circuit (IC) Integrated Circuit (IC) atau Sirkuit Terpadu adalah komponen yang terdiri dari resistor,transistor, dan lain-lain dalam satu kemasan yang terpadu. IC adalah komponen utama pada peralatan elektronika saat ini. Pada komputer, IC yang dipakai adalah mikroprosesor. Di dalam mikroprosesor Pentium 4 misalnya, terdapat lebih dari 16 juta transistor belum termasuk komponen lainnya. Ukuran fabrikasi mikroprosesor saat ini menggunakan teknologi nano, yang artinya tiap komponen yang terdapat di dalam IC mikroprosesor tersebut berukuran sekian nanometer. Hanya setengah abad setelah penemuannya, IC telah digunakan dimanamana. IC digunakan pada Komputer, telepon selular, dan peralatan digital lainnya yang merupakan bagian penting dari masyarakat modern. Contohnya, sistem transportasi, internet, dll tergantung dari keberadaan alat ini. Banyak orang percaya bahwa revolusi digital yang dibawa oleh sirkuit terpadu merupakan salah satu kejadian penting dalam sejarah umat manusia. Sebuah IC hybrid adalah terdiri dari komponen aktif dan pasif yang terikat dan saling berhubungan pada sebuah subtrat atau papan rangkaian. IC merupakan hasil dari banyak penemuan pada bidang perangkat semikonduktor. Saat ini IC dibuat dengan intergrasi yang sangat tinggi sekali dan dapat diproduksi secara masal. Produksi masal dari IC memungkinkan IC diadopsi sebagai standar dibandingkan transistor diskrit. Dua keunggulan IC dibandingkan 14 dengan rangkaian diskrit adalah biayanya pembuatannya yang lebih rendah dan performanya yang lebih baik. Biaya yang lebih murah ini dikarenakan seluruh komponennya dicetak secara masal sekaligus bukannya satu per satu pada setiap saat. Selain itu lebih sedikit bahan yang digunakan pada pembuatan IC dibandingkan rangkaian diskrit karena ukuran fabrikasi IC yang sangat kecil. Performa yang tinggi karena komponen yang digunakan bekerja sangat cepat karena setiap komponennya kecil dan saling berdekatan dan menggunakan sedikit sekali daya dibandingkan rangkaian diskrit. 2.1.5 Komputer Komputer secara umum adalah sebuah perangkat berfungsi sebagai alat untuk melakukan perhitungan baik secara digital atau analog, yang terdiri dari bagian input, proses, dan output. Input berfungsi sebagai perangkat yang menerima masukan yang akan digunakan komputer untuk bekerja. Proses adalah perangkat yang akan memroses masukan yang ada dan diterima oleh komputer sesuai dengan kebutuhan proses yang telah ditentukan atau terprogram. Sedangkan, output adalah perangkat yang berfungsi memberikan hasil keluaran dari proses yang telah dilakukan. Komputer ada dua macam, komputer analog dan digital. Komputer analog bekerja dengan prinsip kerja analog sedangkan komputer digital akan 15 bekerja dengan prinsip kerja digital. Keduanya sangatlah berbeda dari bentuk dan cara kerjanya secara menyeluruh. Komputer analog menggunakan IC analog. Sebagian besar komputer analog menggunakan Op-Amp sebagai komponen utamanya. Sedangkan Komputer digital mengunakan komponen-komponen digital sebagai penyusunnya. Komponen tersebut dapat berupa mikroprosesor maupun mikrokontroler. Kedua komponen tersebut berfungsi sebagai bagian utama dari komputer digital. Sejarah pertama komputer digital bermula saat dirancangnya sebuah komputer digital pertama yang disebut dengan nama ENIAC. Gambar 2.1 ENIAC 16 Komputer digital pertama tersebut diciptakan dengan ukuran dan biaya yang besar, diperuntukan sebagian besar mengerjakan perhitungan ilmiah. ENIAC, komputer yang semula didesain untuk memperhitungkan tabel ilmu balistik untuk persenjataan (artileri), menghitung kerapatan penampang neutron untuk melihat jika bom hidrogen akan bekerja dengan semestinya (perhitungan ini, yang dilakukan pada Desember 1945 sampai Januari 1946 dan melibatkan data dalam lebih dari satu juta kartu punch, memperlihatkan bentuk terdahulu di bawah pertimbangan akan gagal). CSIR Mk I, komputer pertama Australia, mengevaluasi pola curah hujan untuk tempat penampungan dari Snowy Mountains, suatu proyek pembangkitan hidroelektrik besar. Yang lainnya juga dipakai dalam kriptanalisis, misalnya komputer elektronik digital yang pertama Colossus, dibuat selama Perang Dunia II, akan tetapi visionaris awal juga menyangka bahwa pemrograman itu akan mempunyai kemampuan bermain catur, memindahkan gambar dan penggunaan lain. Orang-orang di pemerintah dan perusahaan besar juga memakai komputer untuk mengotomatisasikan banyak koleksi data dan mengerjakan tugas yang sebelumnya dikerjakan oleh manusia misalnya, memelihara dan memperbarui rekening dan inventaris. Dalam bidang pendidikan, ilmuwan di berbagai bidang mulai memakai komputer untuk analisa mereka sendiri. Penurunan harga komputer membuat alat tersebut dapat dipakai oleh organisasi yang lebih kecil. Bisnis, organisasi, dan pemerintah sering menggunakan sangat banyak komputer kecil untuk menyelesaikan tugas yang dulunya dilakukan oleh 17 komputer mainframe kerangka utama yang mahal dan besar. Kumpulan komputer yang lebih kecil di satu lokasi disebut ke sebagai client server. Dengan penemuan mikroprosesor di tahun 1970-an, sehingga mungkin menghasilkan komputer yang sangat murah. PC menjadi populer untuk banyak tugas, termasuk menyimpan buku, menulis dan mencetak dokumen. Perhitungan meramalkan antara lain matematika dengan spreadsheet, berhubungan dengan epos dan, Internet. Namun, ketersediaan luas komputer dan mudah dikostumisasi sudah membuat alat tersebut dipakai untuk berbagai fungsi. Gambar 2.2 Komputer Handled Secara umum saat ini yang lebih banyak digunakan adalah komputer digital karena lebih mudah untuk digunakan dan dimanipulasi, serta dapat menghasilkan berbagai macam perangkat digital yang memiliki banyak fungsi. 18 2.1.6 Mikroprosesor Mikroprosesor adalah sebuah komponen utama yang berfungsi untuk melakukan perhitungan dan pengolahan dasar dari perangkat digital yang ada. Saat ini mikroprosesor sudah diproduksi secara masal sesuai dengan masingmasing kegunaan dan kebutuhan. Sebelum berkembangnya mikroprosesor, CPU elektronik terbuat dari sirkuit terintegrasi Transistor-Transistor Logic(TTL) terpisah; sebelumnya, transistor individual; sebelumnya lagi dari tabung vakum. Bahkan telah ada desain untuk mesin komputer sederhana atas dasar bagian mekanik seperti gear, shaft, lever, Tinkertoy, dll. Evolusi dari mikroprosesor telah diketahui mengikuti Hukum Moore yang merupakan peningkatan performa dari tahun ke tahun. Teori ini merumuskan bahwa daya penghitungan akan berlipat ganda setiap 18 bulan, sebuah proses yang benar terjadi sejak awal tahun 1970-an; sebuah kejutan bagi orang-orang yang berhubungan. Dari awal sebagai driver dalam kalkulator, perkembangan kekuatan telah menuju ke dominasi mikroprosesor di berbagai jenis komputer; setiap sistem dari mainframe terbesar sampai ke komputer genggam terkecil sekarang menggunakan mikroprosesor sebagai pusatnya. Kini sebuah mikroprosesor dapat berisi jutaan bahkan milyaran transistor di dalamnya yang dibuat dengan teknologi nano berbasiskan Very Large Scale 19 Integration (VLSI). Sebuah mikroprosesor yang dirancang dengan VLSI disebut juga termasuk dalam golongan Very Large Scale Integrated Circuit (VLSIC). Gambar 2.3 Mikroprosesor Pentium Sebuah Mikroprosesor terdiri dari beberapa bagian yaitu arithmetic/logic unit (ALU) yang melakukan perhitungan kalkulasi angka dan membuat keputusan logika, Register sebagai lokasi untuk menyimpan informasi secara sementara, Control Unit yang mengatur program yang akan dikerjakan, Bus yang membawa informasi digital antara mikroprosesor dan memori, dan Memori lokal yang mendukung perhitungan di atas chip mikroprosesor. Mikroprosesor yang lebih kompleks juga terdiri dari memori spesial yang disebut cache memory untuk menyimpan data dan informasi yang sering digunakan. Mikroprosesor modern beroperasi dengan ukuran bus yang besar seperti misalnya 64 bits yang berarti sebanyak 64 bits dapat ditransfer pada saat yang bersamaan. 2.1.6.1 Very Large Scale Integration (VLSI) 20 Proses pembuatan IC terkini dan tercanggih hingga saat ini adalah disebut VLSI (Very Large Scale Integration). Hingga saat ini miliaran transistor dapat di integrasikan pada sebuah IC. Mikroprosesor adalah salah catu contoh IC yang menggunakan teknik VLSI. VLSI jauh lebih ungul dari Small-Scale Integration (SSI), Medium-Scale Integration (MSI), dan Large-Scale Integration (LSI) 2.1.6.2 Very Large Scale Integrated Circuit (VLSIC) VLSIC (Very Large Scale Integrated Circuit) adalah golongan IC yang dibuat dengan teknik VLSI. Sebuah IC VLSIC (Very Large Scale Integrated Circuit) dapat berisi milyaran transistor di dalamnya. 2.1.7.1 Port Serial (UART) Port Serial (UART) adalah sambungan interface antara mikrokontroler dengan mikrokontroler atau dengan komputer. Serial Port (UART) menggunakan prinsip tranfer data serial untuk melakukan transmisi data. Port ini dapat berkomunikasi secara dua arah dan digunakan pada banyak jenis mikrokontroler. 2.2 Teori-Teori Khusus 21 2.2.1 FPGA FPGA adalah singkatan dari Field-Programmable Gate Array. FPGA adalah komponen terpadu elektronika yang terbuat dari semikonduktor dan dirancang untuk dapat diprogram secara berulang-ulang oleh pengguna. Kata “Field-Programmable” pada FPGA berarti perangkat ini dapat diprogram langsung dilapangan tanpa harus dibawa le laboratorium menggunakan komputer. FPGA diprogram dengan menggunakan bahasa Hardware Description Language (HDL) yang mirip dengan yang digunakan untuk Application-Specific Integrated Circuit (ASIC). FPGA dapat melakukan proses logika dan matematika sesuai dengan VHDL yang ditanamkan. Pengembangan FPGA saat ini sudah menggunakan teknologi nano, seperti pada FPGA Spartan 3 AN ukuran transistor-transistornya mencapai 90 nm. FPGA mempunyai komponen gerbang yang dapat diprogram (programmable logic) dan sambungan yang dapat diprogram juga. Komponen gerbang yang dapat diprogram yang dimiliki FPGA meliputi jenis gerbang logika biasa (AND, OR, XOR, NOT) maupun jenis fungsi matematis dan kombinatorik yang lebih kompleks (decoder, adder, subtractor, multiplier, dll). Secara umum FPGA akan bekerja lebih lambat jika dibandingkan dengan jenis chip yang lain seperti pada chip Application-Specific Integrated Circuit (ASIC). Hal ini karena FPGA menggunakan power/daya yang besar bentuk desain yang kompleks. Beberapa kelebihan dari FPGA antara lain adalah 22 harga yang murah, bisa diprogram mengikuti kebutuhan, dan kemampuan untuk diprogram kembali untuk mengkoreksi adanya bugs. Jenis FPGA dengan harga murah biasanya tidak bisa diprogram dan dimodifikasi setelah proses desain dibuat (fixed-version). Chip FPGA yang lebih kompleks dapat diperoleh dari jenis FPGA yang dikenal dengan Complex-Programmable Logic Device (CPLD). Selain fungsi digital yang ada, beberapa FPGA memiliki juga fitur analog. Fitur analog yang umum adalah programmable slew rate. Beberapa FPGA memiliki juga komponen ADC dan DAC. Ide pertama kali FPGA diciptakan berasal dari Programmable read-only memory (PROM) dan Programmable Logic Devices (PLD). Kedua komponen tersebut dapat diprogram di pabrik. 2.2.1.1 Hardware Description Language (HDL) Hardware Description Language (HDL) adalah bahasa pemrograman yang mendeskripsikan rangkaian elektronik dan rangkaian logika digital. HDL dapat mendeskripsikan cara kerja rangkaian, rancangan, dan organisasi. Selain itu HDL dapat melakukan simulasi untuk mencoba menjalankan rangkaian yang telah dirancang. 2.2.1.2 Application-Specific Integrated Circuit (ASIC) 23 Application-Specific Integrated Circuit (ASIC) adalah IC yang dibuat dengan tujuan tertentu diluar kegunaan general purpose. Contohnya IC yang dirancang untuk berjalan pada sebuah telepon selular adalah termasuk ASIC. Rancangannya umumnya melibatkan banyak fungsi dari sebuah library dan mengintegrasikannya ke dalam sebuah rangkaian. ASIC modern saat ini biasanya terdiri dari prosesor 32-bit, blok memori seperti ROM, RAM, EEPROM, dan Flash serta komponen lainnya. Prinsip kerja chip ASIC umumnya sama dengan cara kerja IC lainnya dan biasanya sel logika diimplementasikan secara elektronik dengan menggunakan dioda atau transistor. 2.2.1.3 Decoder Decoder adalah perangkat yang berfungsi mengembalikan proses encoding sehingga informasi aslinya bisa diterima. Decoder adalah kebalikan dari encoder. Sebuah decoder dapat mengolah banyak input dan output sekaligus. Dalam rancangan CPU, decoder adalah bagian dari CPU yang mengubah kumpulan bit-bit yang tersimpan dalam instruction register. 2.2.1.4 Adder 24 Adder adalah rangkaian digital yang berfungsi untuk melakukan operasi penambahan secara digital. Dalam komputer dan mikroprosesor, Adder biasanya berada di bagian. Sistem bilangan yang dipakai dalam proses penjumlahan, selain bilangan biner, juga 2's complement untuk bilangan negatif, bilangan binary-coded decimal (BCD), dan excess-3. Pada dasarnya Adder dibagi dua jenis, yaitu half-adder dan fulladder. Perbedaan utamanya adalah half-adder tidak mengolah bit carry sedangkan full-adder mengolahnya. Gambar 2.4 Full Adder 2.2.1.5 Subtractor Subtractor adalah rangkaian digital yang berfungsi untuk melakukan operasi pengurangan secara digital. Dalam komputer dan 25 mikroprosesor, Subtractor biasanya berada di bagian Arithmetic Logic Unit (ALU). Subtractor dibagi menjadi dua yaitu, half-subtractor dan fullsubtractor. Perbedaan utamanya adalah pada half-subtractor terdapat dua input sedangkan pada full-subtractor terdapat tiga input. Gambar 2.5 Full Subtractor 2.2.1.6 Multiplier Multiplier adalah rangkaian digital yang berfungsi untuk melakukan operasi pengalian secara digital. Dalam komputer dan mikroprosesor, Multiplier biasanya berada di bagian Arithmetic Logic Unit (ALU). 26 Teknik utama dalam melakukan pengalian adalah dengan sekumpulan partial products dan menjumlahkan partial product itu bersama-sama. Proses ini serupa dengan cara yang diajarkan kepada anak sekolah SD dalam mengalikan angka-angka. Gambar 2.6 Multiplier 2.2.1.7 Complex-Programmable Logic Device (CPLD) CPLD adalah programmable logic device yang kekompleksannya lebih tinggi dari pada FPGA. 2.2.1.8 Programmable read-only memory (PROM) Programmable read-only memory (PROM) adalah bentuk memory digital yang dapat menyimpan bit-bit yang ada secara permanen. PROM dapat dihapus dan ditulis kembali dengan perangkat yang sesuai. 27 Kumpulan data bit yang ada pada PROM tetap tidak berubah meskipun aliran listrik terputus. 2.2.1.9 Programmable Logic Devices (PLD) Programmable Logic Devices (PLD) adalah perangkat digital menyerupai gerbang digital yang dapat diprogram jenis logika yang dioperasikannya. Oleh karena itu PLD tidak seperti gerbang logika yang telah memiliki fungsi yang tetap melainkan dapat diprogram dan diubah kembali. PLD adalah kombonasi dari perangkat logika dan perangkat memori. Memori yang ada digunakan untuk menyimpan pattern yang diprogramkan kepadanya. 2.2.2 VHSIC Hardware Description Language (VHDL) VHDL merupakan singkatan dari VHSIC Hardware Description Language. VHSIC adalah juga singkatan yang berarti Very High Speed Integrated Circuit. VHDL merupakan bahasa yang mendeskripsinya sebuah IC dengan bahasa HDL. Selain itu, VHDL dapat digunakan sebagai dokumentasi, pembuktian dan sintesa pada perancangan digital berukuran besar atau sebuah IC. VHDL menggunakan 3 pendekatan untuk mendeskripsikan hardware : Metode Struktural , Data Flow , Behavior. 28 VHDL yang digunakan saat ini sebenarnya berasal dari Departemen Pertahanan USA untuk mendokumentasikan sifat-sifat dari ASIC yang terdapat pada peralatan yang dipasok. Bisa dibilang VHDL pernah dikembangkan sebagai sebuah alternatif yang cukup besar, dan kompleks jika dilihat dari keseluruhan implementasi. Sebuah ide pertama muncul adalah membuat logic simulator yang dapat membaca kode VHDL. Tahapan berikutnya adalah pengembangan dari perangkat sintesa logika yang dapat membaca BHDL, yang memberikan output definisi implementasi dari rangkaian. Sintesa yang lebih modern dapat menjangkau RAM, counter, dan blok aritmatik dari kode dan implementasi menurut keinginan pengguna. VHDL banyak meminjam dari bahasa pemrograman Ada, baik secara konsep dan syntax. VHDL dibangun untuk mendukung paham parallel dari sebuah rancangan perangkat keras, dan memiliki syntax yang berbeda dibandingkan Ada. Seperti Ada, VHDL diketikan dan tidak case sensitive. Banyak fitur dari VHDL yang tidak ada pada Ada seperti operator Boolean yang meliputi nand dan nor. Selain itu VHDL juga mendukung index secara ascending dan descending. VHDL mendukung file input dan output, yang dapat digunakan sebagai general-purpose language untuk menjalankan proses. Beberapa kompiler VHDL juga mendukung kode binary. VHDL tidak case sensitive, sehingga tidak ada perbedaan antara penggunaan huruf besar dan kecil. 29 2.2.3 LCD Liquid Crystal Display (LCD) adalah suatu perangkat elektronika yang dirancang sedemikian rupa,sehingga dapat menampilkan tulisan yang telah deprogram terlebih dahulu ke layar LCD. Perangkat Liquid Crystal Display (LCD) ini banyak digunakan sebagai layar tampilan pada berbagai jenis aplikasi elektronika, seperti monitor computer, televise, telepon seluler, dan lain – lain. Perangkat LCD dibuat dalam berbagai bentuk kemasan dan ukuran . Salah satu perangkat LCD yang banyak digunakan untuk interfacing dengan perangkat elektronika lainnya adalah LCD 2x16. Masing – masing modul LCD memiliki suatu controller yang berfungsi untuk mengontrol tampilan layar LCD secara keseluruhan. Controller pada modul LCD menerima instruksi dan data dari suatu prosesor atau mikrokontroler untuk menentukan karakter apa yang akan ditampilkan pada layar LCD tersebut. 30 Tabel 2.2 Character LCD 31