BAB 2 LANDASAN TEORI
2.1
Arsitektur ARM Arsitektur ARM merupakan arsitektur prosesor 32-bit Reduced Instruction Set
Computer (RISC) yang dikembangkan oleh ARM Limited[1]. Pada awalnya merupakan prosesor desktop yang sekarang didominasi oleh keluarga x86. Namun desain yang sederhana membuat prosesor ARM cocok untuk aplikasi berdaya rendah. Prosesor ARM digunakan di berbagai bidang seperti elektronik umum, termasuk PDA, mobile phone, media player, music player, game console genggam, kalkulator dan periperal komputer seperti hard disk drive dan router. Dengan arsitektur RISC, maka pada arsitektur ARM dapat ditemukan fitur seperti kebanyakan arsitektur RISC lainnya seperti: • Register file yang berkapasitas besar • Arsitektur load/store, dimana operasi pengolahan data hanya beroperasi pada konten register, tidak secara langsung pada konten memori. • Addressing mode sederhana, dimana seluruh load/store address ditentukan dari konten register dan field instruksi saja. Arsitektur ARM juga memiliki fitur tambahan seperti: • Instruksi yang menggabungkan antara operasi aritmatik dan logika • Auto-increment dan auto-decrement addressing mode untuk mengoptimalkan loop program 5
6
• Penyimpanan banyak instruksi untuk memaksimalkan throuhgput data • Eksekusi secara kondisional untuk semua instruksi untuk memaksimalkan throughput eksekusi Keluarga
Versi Arsitektur
ARM1
ARMv1 (kuno) ARMv2 (kuno)
ARM2
ARM3
Inti ARM1 ARM2
ARMv2a (kuno) ARM250
Tidak ada, MEMC1a
Tidak ada 4 kB unified
ARM610
Pertama kali mendukung pengalamatan 32-bit. Penambahan cache dan coprocessor bus (FPA10 floatingpoint unit). Tidak ada coprocessor bus.
ARM700 ARM710 ARM710a
ARM700 ARM700
8 kB unified 8 kB unified 8 kB unified
ARM7100 ARM7500 ARM7500FE
ARM710a, System-on-a-chip. ARM710a, SoC. ARM7500, penambahan FPA dan EDO memory controller.
8 kB unified 4 kB unified 4 kB unified
ARM7TDMI(-S)
3-stage pipeline, Thumb
Tidak ada
ARM710T ARM720T
ARM7TDMI, cache ARM7TDMI, cache
ARM740T ARM7EJ-S ARM810
ARM7TDMI, cache 5-stage pipeline, Thumb, Jazelle DBX, Enhanced DSP 5-stage pipeline, static branch prediction, double-bandwidth memory
8 kB unified, MMU 8 kB unified, MMU dengan Fast Context Switch Extension MPU Tidak ada 8 kB unified, MMU
ARMv5TE
ARM9TDMI ARM920T ARM922T ARM940T ARM946E-S
5-stage pipeline, Thumb ARM9TDMI, cache ARM9TDMI, caches As ARM9TDMI, caches Thumb, Enhanced DSP, cache
ARMv5TEJ ARMv5TE ARMv5TE
ARM966E-S ARM968E-S ARM926EJ-S ARM996HS ARM1020E
Tidak ada 16 kB/16 kB, MMU 8 kB/8 kB, MMU 4 kB/4 kB, MPU variable, tightly coupled memories, MPU Thumb, Enhanced DSP instructions no cache, TCMs As ARM966E-S no cache, TCMs Thumb, Jazelle DBX, Enhanced DSP instructions variable, TCMs, MMU Clockless processor, as ARM966E-S no caches, TCMs, MPU 6-stage pipeline, Thumb, Enhanced DSP instructions, (VFP) 32 KB/32 KB, MMU
ARMv5TEJ
ARM1022E ARM1026EJ-S
As ARM1020E Thumb, Jazelle DBX, Enhanced DSP instructions, (VFP)
ARMv6
ARM1136J(F)-S
ARMv2a (kuno) ARM2a
ARM6
ARMv3 (kuno)
ARM7
ARMv4T
ARM7TDMI
ARMv5TEJ ARMv4 ARMv4T
ARM9TDMI
ARM9E
ARM10E
ARM11
Penambahan instruksi multiply/perkalian (MUL)
Cache (I/D)/Memory management unit Tidak ada Tidak ada
MEMC (MMU), prosesor grafis dan IO terintegrasi. Menambahkan instruksi SWP and SWPB (swap). Pertama kali penggunaan cache.
ARMv3 (obsolete) ARM60 ARM600
ARM8
Fitur
ARMv6T2 ARMv6KZ ARMv6K
4 kB unified
4 kB unified
4 MIPS @ 8 MHz 0.33DMIPS/MHz 7 MIPS @ 12 MHz 12 MIPS @ 25 MHz 0.50 DMIPS/MHz 10 MIPS @ 12 MHz 28 MIPS @ 33 MHz 17 MIPS @ 20 MHz 0.65 DMIPS/MHz 40 MHz 40 MHz 40 MHz 0.68 DMIPS/MHz 18 MHz 40 MHz 56 MHz 0.73 DMIPS/MHz 15 MIPS @ 16.8 MHz 63 DMIPS @ 70 MHz 36 MIPS @ 40 MHz 60 MIPS @ 59.8 MHz
84 MIPS @ 72 MHz 1.16 DMIPS/MHz 200 MIPS @ 180 MHz
220 MIPS @ 200 MHz,
16 KB/16 KB, MMU variable, MMU or MPU variable, MMU
8‐stage pipeline,SIMD, Thumb, Jazelle DBX, (VFP), Enhanced D ARM1156T2(F)-S 9‐stage pipeline,SIMD, Thumb‐2, (VFP), Enhanced DSP instrucvariable, MPU ARM1176JZ(F)-S As ARM1136EJ(F)-S ARM11 MPCore As ARM1136EJ(F)-S, 1-4 core SMP
MIPS@MHz
variable, MMU+TrustZone variable, MMU
Tabel 2.1 Versi Arsitektur ARM
740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHz
7
2.1.1 ARM7 LPC2368 LPC2368 adalah mikrokontroler dari keluarga prosesor ARM7TDMI yang didesain untuk penggunaan aplikasi embedded real-time. Prosesor ARM7TDMI memiliki Thumb support dan multiplier yang telah dikembangkan. Arsitektur dari prosesor ini memiliki kapasitas hingga 130 MIPS dalam proses standar 0,13um. Prosesor ini mengimplementasikan arsitektur V4T dan mendukung instruksi 32-bit dan 16-bit melalui set instruksi ARM dan Thumb. yang dapat digunakan pada pengontrolan industri, otomotif, dan penggunaan lainnya yang membutuhkan performa tinggi dan konsumsi daya yang rendah melalui mikrokontroler 32-bit.
Gambar 2.1 Blok Diagram Mikrokontroller LPC2368
8
Mikrokontroler ini dapat bekerja hingga 72MHz dari flash atau RAM dan memiliki 512KB on-chip flash program memory serta periperal komunikasi yang bervariasi termasuk Ethernet, USB, dan CAN. Keluarga mikrokontroler ini juga memiliki fitur pengontrolan LCD (QVGA graphic atau segment driver), antarmuka SD/MMC, antarmuka memori eksternal, dan antarmuka audio I2S. 2.1.2 Penggunaan Pin Connect Block Pada LPC2368 Pin connect block merupakan pengaturan pin dari mikrokontroler untuk memiliki lebih dari satu fungsi. Register konfigurasi mengontrol multiplexer untuk membuat koneksi antara pin dan periperal yang ada pada chip. Periperal harus terhubung dengan pin secara tepat sebelum diaktifkan . Aktifitas dari fungsi periperal yang tidak terdaftar pada pin yang bersangkutan akan dianggap undefined. Pemilihan salah satu fungsi pada port pin akan menonaktifkan fungsi lain yang ada pada pin yang sama.
Tabel 2.2 Pemilihan Fungsi Pin
Tabel 2.3 Pemilihan Mode Pin
9
2.1.3 Penggunaan GPIO Pada LPC2368 GPIO PORT0 dan PORT1 dapat diakses dari kedua grup register dan menyediakan fitur dan akses port yang lebih cepat. PORT2/3/4 hanya bisa digunakan sebagai fast port. Fungsi GPIO terakselerasi (Fast I/O) adalah sebagai berikut: • Register GPIO dipindahkan ke local bus ARM sehingga timing I/O tercepat bisa didapatkan. • Seluruh register GPIO adalah berupa byte dan half-word addressable • Seluruh port value dapat ditulis dalam satu instruksi • Pengaturan arah kontrol dari masing-masing bit • Setelah reset, seluruh I/O diset menjadi input.
Tabel 2.4 Pemetaan Register GPIO
10
Tabel 2.5 Pemetaan Register GPIO Untuk Fast I/O Penentuan mengenai port akan diakses oleh register dengan fitur tambahan atau set register standar harus dilakukan saat PORT0 dan PORT1 digunakan. Apabila fitur tambahan dan register GPIO standar mengontrol pin yang sama, kedua cabang port pengontrolan akan menjadi eksklusif dan beroperasi secara terpisah. Misalnya, mengganti output pin melalui fast register tidak dapat dilihat melalui register standar. 2.1.4 Penggunaan C Compiler Pada dasarnya pemrograman C pada ARM merupakan pemrograman standar C baik dari sisi fungsi yang digunakan hingga library yang tersedia.
11
Pemrograman dapat dibuat menggunakan Keil RealView Microcontroller Development Kit for ARM yang sudah dilengkapi dengan library C[7].
Gambar 2.2 Blok Diagram Keil RVMDK untuk ARM
2.2
Mikrokontroler 2.2.1 Pengertian Mikrokontroler Mikrokontroler adalah sebuah prosesor yang memiliki fungsi khusus terutama dalam kepentingan pengontrolan. Meskipun bentuknya sangat kecil tetapi elemen-elemen dasarnya sama. Seperti halnya komputer, mikrokontroler juga merupakan alat yang mengerjakan perintah-perintah yang diberikan kepadanya. Oleh karena itu, yang menjadi hal terpenting dalam suatu sistem yang terkomputerisasi adalah program yang dibuat oleh programmer itu sendiri. Program tersebut memberikan perintah pada komputer untuk menjalankan deretan tugas-tugas sederhana untuk dapat melakukan perintah yang lebih kompleks seperti yang diinginkan oleh programmer. Beberapa fitur yang umumnya terdapat pada mikrokontroller, yaitu:
12
• RAM (Random Access Memory) RAM digunakan oleh mikrokontroler sebagai tempat penyimpanan variabel. Memori ini bersifat volatile yang artinya semua
data akan
hilang jika tidak mendapatkan tegangan listrik. • ROM (Read Only Memory) ROM seringkali juga disebut sebagai code memory karena fungsinya sebagai penyimpanan program yang diberikan oleh user. • Register Register adalah tempat penyimpanan variabel-variabel yang akan digunakan dalam proses yang telah disediakan oleh mikrokontroler. • Input dan Output Pin Pin input merupakan bagian yang berfungsi sebagai penerima sinyal dari luar, pin ini dapat dihubungkan ke berbagai media inputan seperti pushbutton, sensor, dan lain-lain. Pin output adalah bagian yang berfungsi untuk mengeluarkan sinyal hasil proses yang telah dilakukan oleh mikrokontroler. • Special Function Register Special Function Register adalah register khusus yang berfungsi mengatur jalannya mikrokontroller dan terletak pada RAM. • Interrupt Interrupt adalah bagian dari mikrokontroler yang berfungsi sebagai pengeksekusi interrupt, sehingga saat program utama sedang berjalan, program utama tersebut dapat diinterupsi.
13
2.2.2 Perbedaan Mikrokontroler dan Mikroprosesor Meski fungsi dan kemampuan hampir sama, terdapat beberapa perbedaan antara mikrokontroler dan mikroprosesor. Perbedaan tersebut antara lain: 1. Sebagian besar mikrokontroler telah difasilitasi dengan beberapa komponen penting seperti RAM, ROM, serta I/O. Berbeda dengan mikroprosesor yang membutuhkan fasilitas lain sebagai komponen yang terpisah. 2. Mikrokontroler lebih dikhususkan untuk pengontrolan dan pemantauan sesuatu yang lebih spesifik sementara mikroprosesor digunakan untuk keperluan sistem kontrol dengan ruang lingkup yang lebih besar.
2.3
Komunikasi Serial 2.3.1 Pengertian Komunikasi Serial Komunikasi serial merupakan komunikasi data dengan pengiriman data secara satu per satu pada suatu satuan waktu. Sehingga komunikasi serial hanya membutuhkan dua jalur kabel data, yaitu satu jalur untuk pengiriman data yang disebut Transmit (Tx) dan satu jalur untuk penerimaan data yang disebut Receive (Rx). Yang menjadi kelebihan dari komunikasi serial adalah jarak pengiriman dan penerimaan dapat dilakukan dalam jarak yang cukup jauh dibandingkan dengan komunikasi paralel. Tetapi kekurangannya adalah pengiriman dan penerimaan data lebih lambat daripada komunikasi paralel.
14
2.3.2 Mode Komunikasi Serial Dalam komunikasi serial terdapat dua mode komunikasi, yaitu: • Mode sinkron Mode sinkron merupakan mode komunikasi serial yang pengiriman tiap bit datanya dilakukan dengan menggunakan sinkronisasi clock. Pada saat transmitter hendak mengirimkan data, harus disertai clock untuk sinkronisasi antara transmitter dan receiver. • Mode asinkron Komunikasi asinkron serial merupakan sebuah protokol transmisi asinkronus, dimana komunikasi ini tidak memerlukan clock tetapi memiliki persyaratan (baud rate) yang telah disepakati oleh masingmasing sistem yang akan berkomunikasi. Sinyal start dikirimkan terlebih dahulu sebelum data dan sinyal stop dikirimkan setelah setiap data selesai dikirimkan. Sinyal start berfungsi untuk mempersiapkan mekanisme penerimaan untuk menerima dan memproses data yang akan dikirimkan dan sinyal stop berfungsi untuk mempersiapkan mekanisme penerimaan data berikutnya.
Gambar 2.3 Pengiriman Data Melalui Serial Asinkron
15
2.3.3 Komunikasi Serial RS232 Standar RS232 ditetapkan oleh Electronic Industry Association and Telecomunication Industry Association pada tahun 1962. Standar ini hanya menyangkut komunikasi data antara komputer dengan alat-alat pelengkap komputer. Komunikasi pada RS-232 dengan PC adalah komunikasi asinkron. Dimana sinyal clock-nya tidak dikirim bersamaan dengan data. Masing-masing data disinkronkan menggunakan clock internal pada tiap-tiap sisinya. Data-data dalam komunikasi serial dikirimkan untuk logika ‘1’ sebagai tegangan -3 s/d -25 volt dan untuk logika ‘0’ sebagai tegangan +3 s/d +25 volt, dengan demikian tegangan dalam komunikasi serial memiliki ayunan tegangan maksimum 50 volt, sedangkan pada komunikasi pararel hanya 5 volt. Hal ini menyebabkan gangguan pada kabel-kabel panjang lebih mudah diatasi dibanding dengan pararel. Konektor RS232 awalnya dikembangkan untuk 25 pin dan kemudian dikenal sebagai konektor DB25, namun pada kebanyakan personal computer saat ini lebih banyak menggunakan konektor dengan pin lebih sedikit yaitu DB9[2].
Gambar 2.4 Konfigurasi Pin Pada RS232 DB9
16
Gambar 2.5 Konfigurasi Pin Pada RS232 DB25 Cara termudah untuk menghubungkan dua PC adalah dengan menggunakan konfigurasi kabel RS232 null modem. Untuk koneksi sederhana, cukup menggunakan tiga jalur kabel RS232 yang menghubungkan jalur sinyal ground, receive, dan transmit. Konfigurasi kabel RS232 null modem dengan handshaking dapat dilakukan dengan beberapa cara, antara lain: loopback handshaking antara dua PC, atau complete handshaking antara dua sistem. Tipe konfigurasi kabel null model yang paling banyak digunakan adalah:
Gambar 2.6 Konfigurasi RS232 Null Modem Sederhana Tanpa Handshaking
17
Gambar 2.7 Konfigurasi RS232 Null Modem Sederhana Dengan Full Handshaking
2.4
LCD Projector LCD projector adalah jenis projector untuk menampilkan video, gambar, atau
data komputer pada layar atau bidang datar lainnya. Untuk menampilkan gambar, LCD (liquid crystal display) projector biasanya mengirimkan cahaya dari sebuah lampu Metal halida melalui sebuah prisma yang memisahkan cahaya dalam 3 panel silikon, masingmasing untuk warna merah, hijau, dan biru sebagai komponen sinyal video. Kombinasi dari pixel terbuka dan tertutup dapat memproduksi beragam warna dan bayangan pada gambar yang terproyeksi. 2.4.1 Pengontrolan LCD Projector Selain dengan remote control, untuk memberikan perintah pada LCD projector juga dapat dilakukan dengan mengirimkan command-command tertentu
18
melalui port serial. Pada LCD projector Panasonic PT-LB50S, konfigurasi komunikasi serialnya adalah sebagai berikut: • Level sinyal: RS-232C • Metode sikronisasi: Asinkronus • Baud rate: 9600 bps[8] • Parity: None • Panjang karakter: 8 bits • Stop bit: 1 bit LCD projector Panasonic PT-LB50S juga memiliki perintah pengaturan yang perlu diperhatikan seperti: • Proyektor tidak dapat menerima perintah selama 10 detik setelah lampu dinyalakan. • Jika ingin mengirimkan beberapa perintah sekaligus, periksa dahulu apakah proyektor telah merespon perintah yang dikirimkan sebelumnya.
Tabel 2.6 Format Pengiriman Perintah RS232 Pada LCD Panasonic PTLB50S
19
Tabel 2.7 Daftar Perintah Pengontrolan LCD Projector Panasonic PT-LB50S
Tabel 2.8 Contoh Pengiriman Perintah Pada LCD Projector Panasonic PT-LB50S STX merupakan start byte dan berupa string dengan kode ASCII 02h. Command adalah perintah berisi string pengontrolan LCD projector sesuai dengan protokol yang ada. “:” dan Parameter hanya digunakan pada perintah pengontrolan tertentu. ETX merupakan end byte dan berupa string dengan kode ASCII 03h.
20
2.5
Relay Relay merupakan komponen elektronika berupa saklar elektronik yang
digerakkan oleh arus listrik. Relay menggunakan gaya elektromagnatik untuk membuka atau menutup kontak elektronik[3]. Tuas saklar berupa lilitan kawat pada batang besi (solenoid) di dekatnya, saat solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup, sedangkan apabila arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka.
Gambar 2.8 Kondisi Relay Pada Posisi Terbuka
Gambar 2.9 Kondisi Relay Pada Posisi Tertutup • Rangkaian input (loop hitam) tidak aktif dan tidak ada arus listrik yang mengalir hingga suatu sensor atau tuas terhubung, yang akan membuat rangkaian ini aktif. Rangkaian output (blue loop) juga tidak aktif.
21
• Saat arus listrik yang rendah mengalir pada rangkaian input, akan mengaktifkan sebuah elektromagnet (yang digambarkan dengan kumparan berwarna merah), yang menghasilkan medan magnet disekitarnya. • Energi elektromagnetik tersebut akan menarik batang logam pada rangkaian output, menghubungkan tuas dan membuat arus yang dapat mengalir pada rangkaian output menjadi lebih besar. • Rangkaian output mengoperasikan peralatan listrik dengan arus tinggi, seperti lampu atau sebuah motor listrik. Relay digunakan untuk menggerakkan arus/tegangan yang besar dengan memakai arus/tegangan yang kecil misalnya peralatan listrik 4A AC 220 V digerakkan dengan 0.1A 12 Volt DC. Terdapat 2 cara untuk menyalakan atau menjalankan relay, yaitu: • Normally Open, pin com akan terhubung saat coil dialiri tegangan • Normally Close, pin com akan terhubung saat coil tidak dialiri tegangan 2.6
Light Dependant Resistor Light Dependant Resistor (LDR) atau photoresistor adalah komponen elektronik
yang resistansinya akan menurun jika ada penambahan intensitas cahaya yang mengenainya[4]. LDR dibuat dari semikonduktor beresistansi tinggi yang tidak dilindungi dari cahaya. Jika cahaya yang mengenainya memiliki frekuensi yang cukup tinggi, foton yang diserap oleh semikonduktor akan menyebabkan elektron memiliki energi yang cukup untuk meloncat ke pita konduksi. Elektron bebas yang dihasilkan (dan pasangan lubangnya) akan mengalirkan listrik, sehingga menurunkan resistansinya.
22
Gambar 2.10 Simbol Sensor LDR
2.7
TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) merupakan suatu
protokol yang dikembangkan pada tahun 1970 dan dimaksudkan untuk membuat suatu jaringan yang tahan terhadap kondisi apapun. Model TCP/IP ini terdiri dari 4 layer yaitu layer application, layer transport, layer internet dan layer network access[5] 2.7.1 Layer Application Layer application pada TCP/IP ini menangani masalah high-level, protocols,representasi, encoding dan dialog control. Layer Application ini mempunyai
protokol
untuk
mendukung
file
transfer,
email,
network
management, name management dan remote login. 2.7.2 Layer Transport Layer Transport menyediakan suatu logical connection antara sumber dan tujuan. Layer transport melakukan segmentasi terhadap data menjadi paket, lalu mengirimkan paket-paket data dari sumber ke tujuan melalui jaringan. Layer Transport ini menyediakan flow control dengan metode sliding windows, dan juga menyediakan realibilitas dengan penggunaan sequence number dan acknowledgement. Protokol pada layer ini terdiri dari TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol). TCP bersifat connectionoriented sedangkan UDP bersifat connectionless-oriented.
23
2.7.3 Layer Internet Layer Internet ini memiliki tujuan untuk memilih jalur terbaik untuk aliran data di dalam suatu jaringan. Pada layer ini terjadi pemilihan jalur terbaik serta packet switching. Protokol utama pada layer ini adalah IP (Internet Protocol). IP ini merupakan suatu protocol yang bersifat connectionless dan best effort. IP tidak mempermasalahkan isi dari paket data namun hanya berfokus pada mencari jalur terbaik bagi paket data tersebut. IP seringkali diakatakan unreliable karena IP tidak melakukan error checking serta correction. Pada layer internet ini, terdapat IP address. IP address merupakan alamat dari device yang berada pada jaringan. IP address ini dapat dimiliki oleh server, printer, client computer, router atau device jaringan yang lain. IP address ini terdiri dari kumpulan 32 bit biner. Agar lebih mudah dilihat, IP address ini biasanya direpresentasikan dalam 4 bilangan desimal yang dipisahkan dengan titik. Tiap bilangan desimal ini mewakili 8 bit. Contoh : IP address dalam biner
: xxxxxxxx. xxxxxxxx. xxxxxxxx. xxxxxxxx
IP address dalam decimal
:
x
.
x
.
x
.
x
2.7.4 Layer Network Access Layer ini menghubungkan paket-paket data dari layer atas masuk ke dalam koneksi fisik jaringan. Pada layer ini, paket-paket data berubah menjadi nilai-nilai tegangan untuk dikirimkan ke dalam jaringan, atau untuk kasus jaringan fiber optic, paket data berubah menjadi cahaya. Device-device seperti NIC (Network Interface Card) atau modem beroperasi pada layer ini.
24
Pada layer Network Access ini terdapat teknologi LAN. LAN (Local Area Network) merupakan suatu jaringan data yang mencakup area yang kecil, mencapai beberapa ribu meter. LAN biasanya digunakan untuk menghubungkan device-device dalam satu gedung. Salah satu bagian dari teknologi LAN yang sering digunakan adalah Ethernet. Standard Ethernet yang pertama, dikeluarkan pada tahun 1980 oleh konsorsium antara Digital Equipment Company, Intel, dan Xerox (DIX). Sampai sekarang, Ethernet menjadi teknologi yang sangat banyak digunakan diseluruh dunia. Di dalam spesifikasi Ethernet, terdapat beberapa jenis media (copper, fiber optic) dan bandwidth (10Mbps, 100Mbps, dll). Jenis Ethernet yang banyak dipakai adalah 100 Base-Tx yang dapat mengirim data dengan jangkauan terjauh hingga 100 m dan menggunakan konektor RJ-45 sebagai interface-nya. 2.7.5 Koneksi Client-Server Client/server adalah hubungan antara dua program komputer dimana salah satu program (yang disebut client) membuat permintaan dari program yang lain (yang disebut server) yang akan memenuhi permintaan yang dilakukan. Dalam jaringan, model client/server memberi kemudahan dalam hubungan antar program yang dipisahkan dalam lokasi yang berbeda. Model client/server banyak digunakan dalam sistem jaringan komputer termasuk dari cara kerja internet melalui TCP/IP. Dalam model ini, suatu server aktif akan menunggu permintaan dari client. Program yang ada pada client dan server merupakan bagian dari suatu program atau aplikasi yang lebih besar. Web
25
browser merupakan salah satu contoh program client yang melakukan permintaan kepada web server (Hypertext Transport Protocol server). Menentukan arus socket s dengan panggilan socket (s)
1
1 dengan panggilan socket (s)
(Opsional) Bind socket s pada local address dengan bind()
2
2
Bind socket s pada local address dengan bind()
3
Memberitahu kepada TC/IP machine server telah siap menerima koneksi melalui panggilan listen()
Melakukan koneksi socket dengan host luar melalui connect()
Menentukan arus socket s
4 5
Untuk server, socket s akan selalu siap menerima koneksi baru. Socket ns hanya digunakan oleh client
Menerima koneksi dan menerima socket kedua, misalnya ns, melalui panggilan accept()
Read dan write data pada socket s, menggunakan panggilan send() dan rev() hingga seluruh data berhasil dikirim.
6,7
7,6
Read dan write data pada socket ns, menggunakan panggilan send() dan rev() hingga seluruh data berhasil dikirim.
Menutup socket s dan mengakhiri sesi TCP/IP dengan panggilan close()
8
8
Menutup socket ns dengan panggilan close()
5
Menerima koneksi lainnya dari client atau menutup socket awal s dengan close()
Gambar 2.11 Diagram Alir Koneksi Client-Server[6] TCP/IP dibutuhkan agar client dapat melakukan permintaan file dari komputer lain atau internet melalui server File Transfer Protocol. Berikut ini adalah karakteristik server dan client • Karakteristik Server o Pasif o Menunggu request
26
o Menerima request, memproses mereka dan mengirimkan balasan berupa service • Karakteristik Client o Aktif o Mengirim request o Menunggu dan menerima balasan dari server
2.8
Infrared Infrared adalah radiasi elektromagnetik dari panjang gelombang lebih panjang
dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Namanya berarti "bawah merah" (dari bahasa Latin infra, "bawah"), merah merupakan warna dari cahaya tampak dengan gelombang terpanjang. Radiasi infrared memiliki jangkauan tiga "order" dan memiliki panjang gelombang antara 700 nm dan 1 mm. 2.8.1 Remote Control Infrared Remote control perangkat infrared menggunakan LED infrared untuk memancarkan radiasi infrared yang difokuskan oleh sebuah lensa plastik dalam pancaran sempit. Pancaran tersebut telah termodulasi, misalnya aktif dan tidak aktif, untuk meng-encode data. Penerima menggunakan silicon photodiode untuk mengkonversi radiasi infrared menjadi arus listrik. Receiver hanya merespon pulsing sinyal cepat yang dibuat oleh transmitter, dan menyaring radiasi infrared perlahan dari cahaya sekitar menjadi radiasi infrared. IR tidak menembus tembok dan tidak mengganggu perangkat lain yang ada dalam ruangan yang sama.
27
Infrared adalah cara yang paling umum yang digunakan pada remote control untuk memberikan perintah. 2.8.2 Protokol Infrared Pada AC Panasonic Protokol ini mirip dengan protokol RECS-80 namun memiliki bit lebih banyak dari RECS-80[9]. Untuk transmisi data, protokol Panasonic ini menggunakan modulasi pulse-place. Saat melakukan komunikasi, suatu pulsa memiliki suatu panjang yang tetap, diikuti dengan pause yang merupakan penanda logic dari bit yang sedang dikirimkan. Protokol ini memiliki 2048 kode yang dibagi dalam 5 bit custom code dan 6 bit data code. Custom code berisi kode manufaktur sedangkan data code berisi tombol yang ditekan pada remote control. Kode yang ditransmisi secara utuh memiliki ukuran sebesar 22 bit dengan urutan: header awal dikirimkan terlebih dahulu dilanjutkan dengan custom code (5 bit), kemudian data code diikuti dengan inverse dari custom code dan inverse dari data code, dan diakhiri dengan sebuah stop bit yang ditambahkan pada code. Bit inverse berguna untuk melakukan error detection. Setiap bagian awal dari sebuah bit selalu bernilai high dengan satuan waktu yang tetap dan diikuti dengan nilai low dengan satuan waktu tertentu yang menandakan apabila bit bernilai logic 1 atau logic 0.
28
Gambar 2.12 Format Protokol Remote Panasonic Timing diagram: • T = 420 µs hingga 450 µs • Header bernilai 8T high dan 8T low • Logic 1 bernilai 2T high dan 6T low • Logic 0 bernilai 2T high dan 2T low Contoh format data ON / OFF pada suhu 17o dengan mode swing :
Gambar 2.13 Contoh Format Command Infrared Pada AC Panasonic Keterangan : 1. Data Byte1 : 00100010 2. Data Byte2 : 00000010
29
3. Data Byte3 : 11110100 4. Data Byte4 : 00110110
Sinyal 2
Sinyal 1 900µs
3,6ms
14,4ms
3,6ms Low (0) 900µs
900µs
High (1) 900µs
2,7ms
Gambar 2.14 Panjang Sinyal Inframerah Dalam Satuan Waktu