Minggu, 02 Juli 2017

PENERAPAN MIKROKONTROLER PADA RFID SEBAGAI SISTEM KENDALI KEAMANAN KENDARAAN BERBASIS SMS

Zulkarnain
Email : zulkarnainvabbeta@gmail.com
Abstrak
Keamanan rumah sangat diperlukan untuk mengatasi tindak kejahatan seperti pencurian dan perampokan. Untuk pengamanan rumah diperlukan sebuah sistem pengamanan yang dapat diaplikasikan atau digunakan oleh suatu perusahaan sistem alarm yang memberikan tingkat keamanan dan kenyamanan yang tinggi bagi para pemilik rumah. Salah satunya adalah sistem keamanan dengan menggunakan Sistem alarm berbasis RFID dirancang untuk menjadi salah satu solusi masalah tersebut. Sistem alarm ini terdiri dari RFID tag dan RFID reader yang terintegrasi dengan alarm yang di terapkan didalam mikrokontroler. RFID tag dilekatkan pada kendaraan bermotor yang diparkir dan RFID reader diletakan pada jalur yang akan dilewati oleh tag pada saat kendaraan akan keluar dari garasi rumah. Sistem ini akan bekerja mengaktifkan alarm pada saat tag masuk jangkauan reader. RFID reader akan mengirimkan data yang ada dalam tag pada alarm dan alarm akan memproses data tersebut dengan membandingkan dengan data yang ada dalam program alarm, jika sesuai maka alarm akan mengaktifkan sirine, mengaktifkan relay serta mengirimkan sms peringatan ke nomor telepon tertentu.
Kata Kunci : Sistem RFID, Mikrokontroler, Sistem Keamanan Kendaraan, Sistem Alarm, SMS

1. PENDAHULUAN
1.1 Latar Belakang
Pada saat ini telah dikenal suatu sistem RFID yang memanfaatkan gelombang radio untuk melakukan proses identifikasi. Dengan memanfaatkan kelebihan dari RFID yang dapat menembus material maka dapat dimanfaatkan untuk menciptakan suatu sistem yang dapat membunyikan alarm saat terjadi pencurian dengan alat yang tersembunyi di dalam rumah.  Sistem alarm RFID berbasis sms ini terdiri dari RFID tag dan RFID reader yang terintegrasi dengan alarm. RFID tag diletakkan pada kendaraan bermotor yang di parkir di garasi rumah atau pada pintu dan RFID reader diletakkan pada jalur yang akan dilewati oleh tag pada saat kendaraan akan keluar dari garasi rumah atau pada saat pintu terbuka. Sistem ini akan bekerja mengaktifkan alarm pada saat tag masuk jangkauan reader. RFID reader akan mengirimkan data yang ada dalam tag pada alarm dan alarm akan memproses data tersebut dan membandingkan dengan yang ada dalam database alarm. Jika data sesuai maka alarm akan mengaktifkan sirine dan mengirimkan sms peringatan ke nomor tertentu.
Maksud dan tujuan perancangan sistem alarm RFID berbasis sms ini adalah untuk mengurangi tindak pencurian dan perampokan yang terdapat di lingkungan rumah dan juga melengkapi sistem alarm yang ada di dalam rumah. 

2. DASAR TEORI
2.1 Sistem RFID
RFID adalah proses identifikasi seseorang atau objek dengan menggunakan frekuensi transmisi radio. RFID menggunakan frekuensi radio untuk membaca informasi dari sebuah device kecil yang disebut tag atau transponder (Transmitter +  Responder). Tag RFID akan mengenali diri sendiri ketika mendeteksi sinyal dari device yang kompatibel, yaitu pembaca RFID (RFID Reader).
RFID (Radio Frequency Identification) adalah teknologi yang menggunakan gelombang radio untuk mengidentifikasikan objek atau manusia secara otomatis dari jarak jauh. Blok diagram RFID dapat dilihat pada gambar di bawah ini :


Gambar Blok Diagram RFID


Gambar Sisiterm RFID
Suatu sistem RFID umummnya terdiri dari tiga komponen yaitu:
1.     Tag berfungsi sebagai objek pembawa informasi portable. Rfid tag dapat bersifat pasif, semi pasif, dan aktif. Bentuk RFID tag diantaranya adalah sticker, card, glass bead dan integrated.
2.     Reader RFID sebagai pembaca informasi yang ada pada tag pada saat melewatinya. Terminal RFID terhubung langsung dengan sistem host  computer.
3.     Host komputer untuk merekam (record) infromasi yang ada pada RFID tag. Sistem RFID dikelompokkan menjadi beberapa jenis berdasarkan frekuensi, kemampuan dibaca dan sumber energi.  Secara ringkas mekanisme kerja yang terjadi dalam sebuah sistem RFID adalah bahwa sebuah reader frekuensi radio melakukan scanning terhadap data yang tersimpan dalam tag, dan kemudian data tersebut mengirimkan informasi ke sebuah basis data yang menyimpan data yang terkandung dalam tag tersebut.

2.2 Pembaca RFID
Sebuah pembaca RFID harus menyelesaikan dua buah tugas, yaitu: Menerima perintah dari software aplikasi Berkomunikasi dengan tag RFID. Pembaca RFID adalah merupakan penghubung  antara software aplikasi dengan antena yang akan meradiasikan gelombang radio ke tag RFID. Gelombang radio yang diemisikan oleh antena berpropagasi pada ruangan di sekitarnya. Akibatnya data dapat berpindah secara wireless ke tag RFID yang berada berdekatan dengan antena.
2.3 Tag RFID
Tag RFID adalah device yang dibuat dari rangkaian elektronika dan antena yang terintegrasi di dalam rangkaian tersebut. Rangkaian elektronik dari tag RFID umumnya memiliki memori sehingga tag ini mempunyai kemampuan untuk menyimpan data. Memori pada tag secara dibagi menjadi sel-sel. Beberapa sel menyimpan data  Read Only, misalnya  serial number yang unik yang disimpan pada saat tag tersebut diproduksi. Sel lain pada RFID mungkin juga dapat ditulis dan dibaca secara berulang. Berdasarkan catu daya tag, tag RFID dapat digolongkan menjadi:
Tag Aktif : yaitu tag yang catu dayanya diperoleh dari batere, sehingga akan mengurangi daya yang diperlukan oleh pembaca RFID dan tag dapat mengirimkan informasi dalam jarak yang lebih jauh. Kelemahan dari tipe tag ini adalah harganya yang mahal dan ukurannya yang lebih besar karena lebih komplek. Semakin banyak fungsi yang dapat dilakukan oleh tag RFID maka rangkaiannya akan semakin komplek dan ukurannya akan semakin besar.
Tag Pasif : yaitu tag yang catu dayanya diperoleh dari medan yang dihasilkan oleh pembaca RFID. Rangkaiannya lebih sederhana, harganya jauh lebih murah, ukurannya kecil, dan lebih ringan. Kelemahannya adalah tag hanya dapat mengirimkan informasi dalam jarak yang dekat dan pembaca RFID harus menyediakan daya tambahan untuk tag RFID.
Tag RFID telah sering dipertimbangkan  untuk digunakan sebagai barcode pada masa yang akan datang. Pembacaan informasi pada tag RFID tidak memerlukan kontak sama sekali. Karena kemampuan  rangkaian terintegrasi yang modern, maka tag RFID dapat menyimpan jauh lebih banyak informasi dibandingkan dengan barcode. Fitur pembacaan jamak pada teknologi RFID sering disebut sebagai anti collision.

2.2 Mikrokontroler 
Mikrokontroler merupakan sebuah sistem yang terbentuk dari dasar sistem komputer yang terkandung dalam sebuah chip. Mikrokontroler digunakan sebagai salah satu peralatan unit kontrol yang dapat mengerjakan berbagai jenis  instruksi yang diperintahkan dan dapat menerima satu atau beberapa instruksi / tugas yang spesifik, Sebuah mikrokontroler umumnya berisi seluruh memori layaknya komputer dan antarmuka I/O, dan timer yang sudah dikemas dalam suatu mikrokontroler.
Mikrokontroler memiliki ukuran yang kecil, dengan penggunaan mikrokontroler, maka sistem elektronik akan menjadi lebih ringkas. Berikut beberapa fitur yang umum terdapat dalam mikrokontroler :
1.     Random Access Memory (RAM) sebagai tempat penyimpanan variable.
2.     Register sebagai penyimpanan nilainilai yang akan digunakan dalam proses telah disediakan oleh mikrokontroler.
3.     Special Function Register adalah register khusus yang berfungsi untuk mengatur jalannya mikrokontroler. Special Function Register ini terletak pada Random Acces Memory (RAM).
4.     Input dan Output Pin yang berfungsi sebagai penerima sinyal dan yang mengeluarkan sinyal.
5.     Interrupt  yaitu bagian dari mikrokontroler yang berfungsi sebagai bagian yang dapat melakukan interupsi.
6.     Memori program berfungsi untuk menyimpan kode program / instruksi program ke dalam flash memor.
7.     EPPROM merupakan tempat menyimpan data semi permanen yang hanya dapat dibaca Secara teknis terdapat dua  jenis rangkaian mikrokontroler yang pertama yaitu tipe RISC (Reduce Instruction Set Computer) yang merupakan mikrokontroler yang memiliki instruksi yang terbatas, contohnya adalah mikrokontroler AVR dan yang kedua adalah tipe CISC (Complex Instruction Set Computer) yang merupakan mikrokontroler yang memiliki instruksi kompleks dan lengkap namun fasilitas internalnya terbatas.
            Dalam perancangan sistem ini kita menggunakn Mikrokontroler ATmega16, mikrokontroler ATmega memiliki jumlah port paling banyak yaitu 32 – 64. Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program dari memori data, sehingga pengaksesan program dapat dilakukan secara bersamaan program Mikrokontroler ATMega16 terdiri dari :
1.     Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16 MHz.
2.     Memiliki kapasitas Flash memori 16 Kbyte, EEPROM 512 Byte, dan SRAM 1 Kbyte.
3.     Port antarmuka SPI dan port USART sebagai komunikasi serial.
4.     Dua buah 8-bit timer/counter dan satu buah 16-bit timer/counter.
5.     Empat kanal PWM dan Antarmuka komparator analog.
6.     8 kanal, 10 bit ADCWatchdog timer dengan osilator internal
7.     Programmable serial USART
Mikrokontroler ATmega16 memiliki 40 port yang terdiri dari port A, B, C dan D yang merupakan pin input/output data. Untuk port lain mempunyai fungsi yang berbeda. Gambar port ATmega16  dapat dilihat pada gambar 2 di bawah ini :

Gambar Konfigurasi Port Atmega16
Dari gambar di atas dapat dijelaskan fungsi dari tiap-tiap port pada mikrokontroler ATmega16 sebagai berikut :
1.     Port A merupakan pin I/O data dua arah dan pin masukan ADC.
2.     Port B merupakan pin I/O data dua arah dan berfungsi sebagai timer/counter, komparator analog dan SPI.
3.     Port C merupakan pin I/O data dua arah dan pin timer oscilator.
4.     Port D merupakan pin I/O data dua arah dan pin khusus komparator analog dan komunikasi serial.
5.     VCC merupakan pin I/O daya.
6.     GND merupakan pin ground.
7.     RESET merupakan pin untuk mereset mikrokontroler
8.     XTAL1 dan XTAL2 merupakan pin input clock eksternal.
9.     AVCC dan AREF merupakan pin input tegangan ADC dan referensi.

2.4 Modul Relay
Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A.


Gambar Modul Relay
2.5 Modem GSM
            Modem adalah sebuah modulator yang berfungsi menghantarkan data dalam bentuk sinyal informasi ke sinyal pembawa (carrier) dan demodulator yang berfungsi untuk mendapatkan kembali data yang dikirim oleh pengirim. Modem berfungsi merubah komunikasi dua arah dari sinyal digital menjadi sinyal analog atau sebaliknya. Modem GSM yaitu modem wireless mobile yang bekerja pada jalur komunikasi telepon genggam GSM.  Gambar di bawah ini merupakan alur pengiriman SMS :
Gambar Alur Pengiriman SMS

BTS berfungsi sebagai perangkat pemancar dan penerima. BSC yang berfungsi untuk mengatur traffic yang datang dan pergi serta mengatur management sumber radio dan mengatur handover. Kemudian diteruskan ke MSC untuk menghubungkan jaringan selluler dengan jaringan fixed. Data dari MSC diteruskan ke SMSC untuk disimpan dan pengecekan melalui Home Location Register (HLR) untuk mengetahui keberadaan dan mengetahui status handphone. Jika handphone tidak aktif, maka pesan tersimpan di SMSC sampai MSC memberitahukan bahwa handphone telah aktif untuk kemudian SMS dikirim.  Dalam pengiriman SMS terdapat dua mode yang digunakan yaitu :
1.     Mode text merupakan bentuk mode yang sesuai dengan format asli dari sebuah pesan yang merupakan hasil encode yang direpresentasikan dalam format PDU dengan 160 karakter.
2.     Mode Protocol Data Unit (PDU), dimana kode ASCII (8 bit) diubah menjadi bentuk byte PDU (7 bit) pada saat pengiriman dan diubah kembali menjadi kode ASCII saat diterima. AT-Command yang merupakan perintah dasar pada alat telekomunikasi yang dapat melakukan panggilan, mengirim SMS dan sebagainya.

2.7  CodeVision AVR
CodeVision AVR merupakan sebuah program cross compiler yang menggunakan bahasa C++. CodeVision  AVR didesain khusus untuk mikrokontroler pabrikan Atmel seri AVR. CodeVision  AVR memiliki fasilitas Automatic Program Generator bernama CodeWizardAVR yang mampu membangkitkan kode program secara otomatis, sehingga memungkinkan  programmer untuk menulis, dengan mudah instruksi yang diperlukan untuk membuat fungsi-fungsi antara lain, inisialisasi port input / output, inisialisasi Timer / Counter, inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan oleh interupsi, inisialisasi modul LCD dan sebagainya.

3.  PERANCANGAN SISTEM
            Perancangan dan pembuatan Sistem penerapan mikrokontroler pada RFID sebagai sistem kendali keamanan kendaraan berbasis sms ini dapat dibagi menjadi tiga bagian, yaitu perancangan hadrware, perancangan software, serta perancangan rangkaian. Berikut adalah alur blok diagram sistem alarm RFID dengan mikrokontroler ATmega 16 dapat dilihat pada gambar di bawah ini


Gambar Alur Diagram Sistem Alarm RFID dengan Mikrokontroler


Gambar Rangkaian Penerapan Mikrokontroler RFID Sebagai Sistem Kendali Keamanan Kendaraan Berbasis SMS
Konsep Dasar Rancangan Sistem Alarm RFID Gagasan dari sistem ini adalah memasukkan teknologi RFID pada suatu sistem alarm sehingga dapat digunakan untuk sistem keamanan dalam lingkungan perumahan. Secara garis besar sistem alarm RFID ini terdiri dari satu paket teknologi RFID (Tag dan Reader) yang di hubungkan dengan suatu sistem alarm.  Cara kerja dari sisem ini adalah :
1.     Tag RFID di tempelkan pada barang atau benda yang berharga yang akan di identifikasikan. Dalam hal ini adalah mobil.
2.     Reader RFID diletakkan pada jalur yang akan dilewati oleh tag dan mengeluarkan gelombang radio dengan jangkaun seprti pada gambar 10.
3.     Reader RFID akan membaca dan mengirimkan informasi ke sistem alarm dengan ketentuan pada saat RFID tag berada dalam jangkaun reader, maka reader akan membaca nomor identifikasi yang ada pada RFID tag dan mengirimkan nomor tersebut ke sistem alarm.


4.   PENERAPAN
4.1 Penerapan menggunakan analasia Flowchart
Flowchart Sistem Penerapan Mikrokontroler Pada RFID Sebagai Sistem Kendali Keamanan Kendaraan Berbasis SMS. Dapat dilihat pada gambar 21 di bawah ini : 



Gambar 21 Flowchart Sistem Kendali Keamanan Kendaraan

4.2  Hasil Dari Analisa Flowchart
            Penerapan mikrokontroler pada RFID sebagai sistem kendali keamanan kendaraan berbasis sms ini masih dalam bentuk alur saja belum dalam bentuk fisik akan tetapi prosedur pengujiannya dilakukan dengan langkah sebenarnya. Pada perancangan ini menggunakan IC mikrokontroler ATmega16 sebagai pengendali, RFID sebagai Sensor, dan modem wavecom sebagai pengirim data berupa SMS, Adapun tahapan yang di lakukan sebagai berikut : 
1. Menghubungkan steker ke stop kontak untuk mengaktifkan rangkaian power supply dimana yang tegangan output yang digunakan sebesar 5 VDC sebagai konsumsi untuk rangkaian mikrokontroler, rangkaian RFID, dan rangkaian lainnya. Dan untuk 12 VDC yaitu untuk tegangan modem wavecom.
2. Sebelum mengaktifkan rangkaian sistem minimum yang terlebih dahulu diaktifkan adalah modem wavecom. Ditunggu sejenak sampai Modem wavecom berkedip ( sedang mencari jaringan) jika tidak dilakukan seperti itu seluruh rangkaian tidak akan berjalan di karnakan modem di anggap tidak aktif. 
3. Dan apabila seluruh rangkaian telah diberikan tegangan dan modem komunikasi telah siap (Sampai berkedip) kemudian IC akan mengecek perangkat lainnya seperti RFID, buzzer dan relay.
4. RFID tag melewati RFID reader sehingga Buzzer, relay dan modem komunikasi bekerja

5. KESIMPULAN
1.     Modem komunikasi akan bekerja pada ketentuan SMS pada pengukuran waktu mulai dari lampu indikator sesuai dengan waktu yang diperkenankan.
2.     Sistem alarm RFID bekerja dan menjalankan fungsinya
3.     Sistem dapat bekerja pada waktu yang diinginkan  dengan adanya switch dan tombol reset pada alarm
DAFTAR PUSTAKA1.
1.     PENERAPAN MIKROKONTROLER PADA RFID SEBAGAI SISTEM KENDALI KEAMANAN KENDARAAN BERBASIS SMS , 1. Muhamad Fahmi Adha, ST., Alumni (2014) Program Studi Teknik Elektro FT-UNPAK. 2. Ir.Yamato, MT., Staf Pengajar Program Studi Teknik Elektro FTUNPAK. 3. Agustini Rodiah Machdi., ST, MT., Staf Pengajar Program Studi Teknik Elektro FT-UNPAK.
2.     Lingga Wardana, Belajar Sendiri Mikrokontroler AVR Seri ATMega16, Simulasi Hardware dan Aplikasi, Andi, Yogyakarta.2006
5.     Bejo, Agus. C dan AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler ATMega 8535. Graha Ilmu Yogyakarta.2008

Minggu, 22 Januari 2017

Antena Loop

1. Gambar pattern dari antena Loop diameter λ



2. Gambar pattern dari antena Loop diameter 0,5 λ

Sabtu, 24 Desember 2016

Proses Paralel

Pemrosesan paralel (parallel processing) adalah penggunaaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya.
    Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
     Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
1.     algoritma
2.     bahasa pemrograman
3.     compiler
        Sebagaian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software. Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing. Yang terdiri dari empat kelompok komputer.


A. Jaringan Interkoneksi
         Komunikasi diantara terminal-terminal yang berbeda harus dapat dilakukan dengan suatu media tertentu. Interkoneksi yang efektif antara prosesor dan modul memori sangat penting dalam lingkungan komputer. Menggunakan arsitektur bertopologi bus bukan merupakan solusi yang praktis karena bus hanya sebuah pilihan yang baik ketika digunakan untuk menghubungkan komponen-komponen dengan jumlah yang sedikit. Jumlah komponen dalam sebuah modul IC bertambah seiring waktu. Oleh karena itu, topologi bus bukan topologi yang cocok untuk kebutuhan interkoneksi komponenkomponen di dalam modul IC. Selain itu juga tidak dapat diskalakan, diuji, dan kurang dapat disesuaikan, serta menghasilkan kinerja toleransi kesalahan yang kecil. Di sisi lain, sebuah crossbar yang ditunjukkan pada Gambar 2.2 menyediakan interkoneksi penuh diantara semua terminal dari suatu sistem tetapi dianggap sangat kompleks, mahal untuk membuatnya, dan sulit untuk dikendalikan. Untuk alasan ini jaringan interkoneksi merupakan solusi media komunikasi yang baik untuk sistem komputer dan telekomunikasi. Jaringan ini membatasi jalur-jalur diantara terminal komunikasi yang berbeda untuk mengurangi kerumitan dalam menyusun elemen switching
Gambar Arsitektur Crossbaar

          Fungsi jaringan interkoneksi dalam sistem komputer dan telekomunikasi adalah
untuk mengirimkan informasi dari terminal sumber ke terminal tujuan.

Klasifikasi Jaringan Interkoneksi
            
           
Jaringan interkoneksi dapat dibagi menjadi statis atau jaringan langsung (direct
network), dinamis atau jaringan tidak langsung (undirect network), dan hybrid. Jaringan
hybrid adalah jaringan interkoneksi yang memiliki struktur yang rumit. Untuk
selanjutnya akan dibahas lebih tentang jaringan statis dan dinamis dan dalam Tugas
Akhir ini difokuskan pada jaringan interkoneksi dinamis yaitu jaringan switching Omega.
Gambar Klasifikasi Jaringan Interkoneksi

B.  Mesin SIMD dan MIMD
 
      1. SIMD
           Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda. 
          SIMD adalah singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan pada komputer pribadi. 
        Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk melakukan perubahan brightness, nilai R, G, dan B akan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.

   2. MIMD
           Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam kategori ini.
         MIMD (Multiple Instruction stream-Multiple Data stream), pada sistem komputer MIMD murni terdapat interaksi di antara n pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

C. Arsitek Pengganti
           Dalam bidang teknik komputer, arsitektur pengganti merupakan konsep perencanaan atau struktur pengoperasian dasar dalam komputer atau bisa dikatakan rencana cetak biru dan deskripsi fungsional kebutuhan dari perangkat keras yang didesain. implementasi perencanaan dari masing-masing bagian seperti CPU, RAM, ROM, Memory Cache, dll



Sumber :
http://organkomputer.blogspot.co.id/2013/04/prosesor-paralel.html
http://repository.usu.ac.id/bitstream/123456789/19839/4/Chapter%20II.pdf
sugiartha.staff.gunadarma.ac.id/Downloads/files/42733/Pendahuluan.pdf
http://myanaa-kampus.blogspot.co.id/2010/01/tugas-pemrosesan-parallel-simd-dan-mimd.html

Kamis, 22 Desember 2016

Pipeline Dan RISC (Reduce Intruction Set Komputer)

A. Pipleline


Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda yang dialirkan secara kontinu pada unit pemrosesor. Dengan cara ini, maka unit pemrosesan selalu bekerja. Teknik pipeline ini dapat diterapkan pada berbagai tingkatan dalam sistem komputer. Bisa  pada level yang tinggi, misalnya program aplikasi, sampai pada tingkat yang rendah, seperti  pada instruksi yang dijaankan oleh microprocessor.

Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, baru instruksi berikutnya dapat dilaksanakan. Sedangkan dalam microprocessor yang menggunakan teknik pipeline, ketika satu instruksi sedangkan diproses, maka instruksi yang berikutnya juga dapat diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada sejumlah tahapan yang akan dilewati oleh sebuah instruksi. Dengan penerapan pipeline ini pada microprocessor akan didapatkan peningkatan kinerja microprocessor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalam waktu yang bersamaan. Secara kasarnya diharapkan akan didapatkan peningkatan sebesar K kali dibandingkan dengan microprocessor yang tidak menggunakan pipeline, apabila tahapan yang ada dalam satu kali pemrosesan instruksi adalah K  tahap.

Karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar dan lancar. Sedangkan ketergantungan terhadap data bisa muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya. Kasus Jump, juga perlu perhatian, karena ketika sebuah instruksi meminta untuk melompat ke suatu lokasi memori tertentu, akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap proses yang berikutnya mungkin tidak mengharapkan terjadinya perubahan program counter.

1. Intruksi Pada Pipeline

Tahapan pipeline

·         Mengambil instruksi dan membuffferkannya

·        Ketika tahapan kedua bebas tahapan pertama mengirimkan instruksi yang dibufferkan tersebut
·        Pada saat tahapan kedua sedang mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak dipakai untuk mengambil dan membuffferkan instruksi berikutnya
Intruksi Pipeline

Contoh Pengerjaan Intruksi Tanpa Pipeline

Contoh Pengerjaan Intruksi Menggunakan Pipeline

Dengan adanya pipeline dua instruksi selesai dilaksanakan padadetik keenam (sedangkan pada kasus tanpa pipeline baru selesai pada detik kesepuluh). Dengan demikian telah terjadi percepatan sebanyak 1,67x dari 10T menjadi hanya 6T. Sedangkan untuk  pengerjaan 3 buah instruksi terjadi percepatan sebanyak 2, 14x dari 15T menjadi hanya 7T.
Untuk kasus pipeline sendiri, 2 instruksi dapat dikerjakan dalam 6T (CPI = 3) dan instruksi dapat dikerjakan dalam 7T (CPT = 2,3) dan untuk 4 instruksi dapat dikerjakan dalam 8T (CPI =2). Ini berarti untuk 100 instruksi akan dapat dikerjakan dalam 104T (CPI = 1,04). Pada kondisi ideal CPI akan harga 1.


B. RISC (Reduce Intruction Set Computer)

                            1. Pengertian RISC
RISC (Reduce Intruction Set Computer) atau komputasi set instruksi yang disederhanakan merupakan sebuah arsitektur komputer atau arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vector. Desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor intel 960, Itanium (IA64) dari Intel Copration. Selain itu RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan strong ARM.

                    2. Perkembangan RISC
Ide dasar prosesor RISC sebenarnya bisa dilacak dari apa yang disarankan oleh von Neumann pada tahun 1946. Von Neumann menyarankan agar rangkaian elektronik untuk konsep logika diimplementasikan hanya bila memang diperlukan untuk melengkapi sistem agar ber&ungsi atau karena frekuensi penggunaannya cukup tinggi (Hueden, 1992 : 18). jadi ide tentang RISC, yang pada dasarnya adalah untuk menyederhanakan realisasi perangkat keras prosesor dengan melimpahkan sebagian besar tugas kepada perangkat lunaknya, telah ada pada komputer elektronik pertama. Seperti halnya prosesor RISC, komputer elektronik pertama merupakan komputer eksekusi-langsung yang memiliki instruksi sederhana dan mudah didekode.
Hal yang sama dipercayai juga oleh Seymour Cray, spesialis pembuat superkomputer. Pada tahun 1975, berdasarkan kajian yang dilakukannya, Seymour Cray menyimpulkan bahwa penggunaan register sebagai tempat manipulasi data menyebabkan ran'angan instruksi menjadi sangat sederhana. Ketika itu perancang prosesor lain lebih banyak membuat instruksi-instruksi yang merujuk ke memori daripada ke register seperti rancangan Seymour Cray. Sampai akhir tahun 1980an komputer-komputer rancangan Seymour Cray, dalam bentuk superkomputer seri Cray, merupakan komputer-komputer dengan kinerja sangat tinggi. Pada tahun 1975, kelompok peneliti di IBM di bawah pimpinan George radin, mulai merancang komputer berdasar konsep John Cocke. Berdasarkan saran John Cocke, setelah meneliti &rekuensi pemanfaatan instruksi hasil kompilasi suatu program, untuk memperoleh prosesor berkinerja tinggi tidak perlu diimplementasikan instruksi kompleks ke dalam prosesor bila instruksi tersebut dapat dibuat dariinstruksi-instruksi sederhana yang telah dimilikinya.
a. Prosesor RISC Berkeley
Kelompok David Patterson dari Universitas California memulai proyek RISC pada tahun 1980 dengan tujuan menghindari kecenderungan perancangan prosesor yang perangkat instruksinya semakin komplekscsehingga memerlukan peran'angan rangkaian kontrol yang semakin rumitcdari waktu ke waktu. Hipotesis yang diajukan adalah bahwa implementasi instruksi yang kompleks ke dalam perangkat instruksi prosesor justru berdampak negatif pemakaian instruksi tersebut dalam kebanyakan program hasil komplikasi (Heudin, 1992 : 22). Apalagi, instruksi kompleks itu pada dasarnya dapat disusun dari instruksi-instruksi sederhana yang telah dimiliki.
Rancangan prosesor RISC-1 ditujukan untuk mendukung bahasa C, yang dipilih karena popularitasnya dan banyaknya pengguna. Realisasi rancangan diselesaikan oleh kelompok Patterson dalam waktu 6 bulan. Fabrikasi dilakukan oleh MOVIS dan XEROX dengan menggunakan teknologi silikon NMOS (N-channel Metal-oxide Semiconductor) 2 mikron. Hasilnya adalah sebuah 'hip rangkaian terpadu dengan 44.500 buah transistor (Heudin, 1992 : 230). Chip RISC-1 selesai dibuat pada musim panas dengan kecepatan eksekusi ( mikrosekon per instruksi (pada frekuensi detak 1,5 MHz), 4 kali lebih lambat dari kecepatan yang ditargetkan. Tidak tercapainya target itu disebabkan terjadinya sedikit kesalahan perancangan, meskipun kemudian dapat diatasi dengan memodifikasi rancangan assemblernya. Berdasarkan hasil evaluasi, meskipun hanya bekerja pada frekuensi detak 1,5 MHz dan mengandung kesalahan perancangan, RISC-1 terbukti mampu mengeksekusi program bahasa C lebih cepat dari beberapa prosesor cISC, yakni MC6800, Z8002, VAX-11/780, dan PDP-11/70. Hampir bersamaan dengan proses fabrikasi RISC-1, tim Berkeley lain mulai bekerja untuk meranrang RISC-2. Chip yang dihasilkan tidak lagi mengandung kesalahan sehingga mencapai kecepatan operasi yang ditargetkan, 330 nanosekon tiap instruksi (Heudin, 1992 : 27-28).
RISC-2 hanya memerlukan luas chip 25% dari yang dibutuhkan RISC-1 dengan 75% lebih banyak register. Meskipun perangkat instruksi yang ditanamkan sama dengan perangkat instruksi yang dimiliki RISC-1, tetapi di antara keduanya terdapat perbedaan mikroarsitektur perangkat kerasnya. RISC-2 memiliki 138 buah register yang disusun sebagai 8 jendela register, dibandingkan dengan 78 buah register yang disusun sebagai 6 jendela register. Selain itu, juga terdapat perbedaan dalam hal organisasi alur-pipa (pipeline) . RISC-1 memiliki alur-pipa dua tingkat sederhana dengan penjeputan (fetch) dan eksekusi instruksi yang dibuat tumpang-tindih, sedangkan RISC-2 memiliki 3 buah alur-pipa yang masing-masing untuk penjemputan instruksi, pembacaan operan dan eksekusinya, dan penulisan kembali hasilnya ke dalam register. Sukses kedua proyek memacu tim Berkeley untuk mengerjakan proyek SOAR (Smalltalk on RISC) yang dimulai pada tahun 1983.
b. RICS Stanford
Sementara proyek RISC-1 dan RISC-2 dilakukan kelompok Patterson di Universitas  California, pada tahun 1981 itu juga John Hennessy dari Universitas Stanford mengerjakan proyek MIPS (Microprocessor without interlocked Pipeline Stages). Pengalaman riset tentang optimasi kompilator digabungkan dengan teknologi perangkat keras RISC merupakan kunci utama proyek MIPS ini. Tujuan utamanya adalah menghasilkan chip mikroprosesor serbaguna 32-bit yang dirancang untuk mengeksekusi secara efsien kode-kode hasil kompilasi (Heudin, 1992 : 34). Perangkat instruksi prosesor M!PS terdiri atas 31 buah instruksi yang dibagi menjadi 4 kelompok, yakni kelompok instruksi isi dan simpan, kelompok instruksi operasi aritmetika dan logika, kelompok instruksi pengontrol, dan kelompok instruksi lain-lain. MIPS menggunakan lima tingkat alur-pipa tanpa perangkat keras saling-kunci antar alur-pipa tersebut, sehingga kode yang dieksekusi harus benar-benar bebas dari konfik antar alur-pipa.
Direalisasi dengan teknologi NMOS 2 mikron, prosesor MIPS yang memiliki 24.000 transistor ini memiliki kemampuan mengeksekusi satu instruksi setiap 500 nanodetik. Karena menggunakan lima tingkat alur-pipa bagian kontrol prosesor MIPS ini menyita luas chip dua kali lipat dibanding dengan bagian kontrol pada prosesor RISC. MIPS memiliki 16 register dibandingkan dengan 138 buah register pada RISC-2. Hal ini bukan masalah penting karena MIPS memang dirancang untuk mebebankan kerumitan perangkat keras ke dalam perangkat lunak sehingga menghasilkan perangkat keras yang jauh lebih sederhana dan lebih efsien. Perangkat keras yang sederhana akan mempersingkat waktu perancangan, implementasi, dan perbaikan bila terjadi kesalahan. Sukses perancangan MIPS dilanjutkan oleh tim Stanford dengan merancang mikroprosesor yang lebih canggih, yakni MIPS-X. Perancangan dilakukan oleh tim riset MIPS sebelumnya ditambah 6 orang mahasiswa, dan dimulai pada musim panas tahun 1984. Rancangan MIPS-X banyak diperbaruhi oleh MIPS dan RISC-2 dengan beberapa perbedaan utama :
·         Semua instruksi MIPS-X merupakan operasi tunggal dan dieksekusi dalam satu siklus detak
·         Semua instruksi M!PS-X memiliki format tetap dengan panjang instruksi 32-bit
·         MIPS-X dilengkapi pendukung koprosesor yang efsien dan sederhana
·        MIPS-X dilengkapi pendukung untuk digunakan sebagai prosesor dasar dalam sistem multiprosesor memori-bersama (shared memory)
·         MIPS-X dilengkapi chace instruksi dalam-chip yang cukup besar (2 kilobyte)
·         M!PS-X difabrikasi dengan teknologi CMOS-2 mikron.

3. Sifat-Sifat RISC
1.       Semua atau setidak-tidaknya sebagian besar (80%) instruksi harus dieksekusi dalam satu siklus clock.
2.       Semua instruksi harus memiliki satu ukuran standar, yaitu sama dengan ukuran kata dasar (basic word length).
3.       Jumlah jenis instuksinya harus kecil, tidak melebihi 128
4.       Jumlah format isntruksinya harus kecil, tidak melebihi kira-kira 4
5.       Jumlah addressing mode harus kecil, tidak melebihi kira-kira 4
6.       Akses ke memori hanya dilakukan dengan instruksi load dan store.
7.       Semua operasi, kecuali operasi load dan store merupakan operas register ke register di dalam CPU.
8.       Memiliki hardwired control unit.
9.       Memiliki relati& banyak register serbaguna internal CPU

4.Karakteristik RISC
Arsitektur RISC memiliki beberapa karakteristik diantaranya :
1.       Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikroprogram saat eksekusi instruksi berlangsung.


2.       Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit Control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.


3.       Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan sel instruksi dan unit kontrol.

4.       Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan Beld yang tetap pendekodean op'ode dan pengaksesan operand register dapat dilakukan secara bersama-sama.

RISC perlu memperhatikan karakteristik eksekusi instruksi. Adapun aspek-aspek komputasinya adalah :

a.       Operasi-operasi yang dilakukan

b.      perand-operand yang digunakan

c.       Pengurutan eksekusi.


Sumber :
http://www.academia.edu/9124108/Pengertian_Pipeline
http://www.academia.edu/18365931/Makalah_CISC_and_RISC