BAB 2 LANDASAN TEORI 2.1 Jaringan Komputer Pengertian jaringan komputer menurut Syahrizal (2005) adalah sekelompok komputer otonom yang dihubungkan satu dengan yang lainnya dengan menggunakan protokol komunikasi melalui media transmisi atau media komunikasi sehingga dapat saling berbagi informasi, program-program, penggunaan bersama perangkat keras seperti printer, harddisk, dan sebagainya. Terdapat 3 jenis jaringan komputer menurut Tani (2012) yang berdasarkan letak geografisnya ataupun luas jangkauan adalah sebagai berikut: 1. LAN (Local Area Network) Jaringan ini biasanya berada pada satu bangunan atau lokasi yang sama, dengan kecepatan transmisi data yang tinggi (mulai dari 10 Mbps ke atas), dan menggunakan peralatan tambahan seperti repeater, hub, dan sebagainya. LAN adalah suatu kumpulan komputer, dimana terdapat beberapa unit komputer (client) dan satu unit komputer untuk bank data (server). Antara masing-masing client maupun antara client dan server dapat saling bertukar file maupun saling menggunakan printer yang terhubung pada unit-unit komputer pada jaringan LAN (Swiryanto, 2011). 2. MAN (Metropolitan Area Network) Jaringan ini merupakan gabungan dari beberapa jaringan LAN yang terletak pada satu kota (jangkauan 50-75 mil) yang dihubungkan dengan kabel khusus atau melalui saluran telepon, dengan kecepatan transmisi antara 56 Kbps sampai 1 Mbps, dan menggunakan peralatan seperti router, telepon, ATM switch, dan antena parabola. 5 Universitas Sumatera Utara 6 3. WAN (Wide Area Network) Jaringan ini merupakan gabungan dari komputer LAN atau MAN yang ada di permukaan Bumi ini yang dihubungkan dengan saluran telepon, gelombang elektromagnetik, ataupun satelit, dengan kecepatan transmisi yang lebih lambat dari 2 jenis jaringan sebelumnya, dan menggunakan peralatan seperti router, modem, ataupun WAN switches. Jaringan ini biasanya digunakan untuk membentuk hubungan dari / ke kantor pusat dan kantor cabang, maupun antara kantor cabang. Keuntungan dari adanya jaringan komputer menurut Sugeng (2006) adalah sebagai berikut: • Pertukaran file dapat dilakukan dengan mudah (file sharing), sehingga dapat dibentuk seolah-olah sistem mempunyai media penyimpanan (storage) yang besar, karena user dapat melakukan kerja file dari sembarang storage yang dibentuk dalam jaringan. • File-file data dapat disimpan pada server, sehingga data dapat diakses dari semua client menurut otorisasi sekuritas dari semua karyawan, yang dapat dibuat berdasarkan struktur organisasi perusahaan sehingga keamanan data terjamin. 2.1.1 Arsitektur Jaringan Arsitektur jaringan komputer merupakan tata cara penggunaan perangkat keras dan perangkat lunak dalam jaringan agar satu komputer dengan komputer lainnya dapat melakukan komunikasi dan pertukaran data (Tani, 2012). Dalam membangun sebuah jaringan komputer, perlu dipahami tipe arsitektur jaringan sesuai dengan kondisi tempat. Hal ini penting karena tipe arsitektur sebuah jaringan menentukan perangkat apa yang harus disediakan untuk membangun jaringan tersebut (Wahana Komputer, 2001). Universitas Sumatera Utara 7 Arsitektur jaringan komputer terbagi atas 3 tipe menurut Tani (2012) adalah sebagai berikut: 1. Jaringan peer-to-peer Pengertian jaringan peer-to-peer menurut Oetomo (2003) adalah setiap terminal memiliki derajat yang sama, dan dibentuk dengan cara menghubungkan setiap terminal secara langsung sehingga masing-masing terminal dapat terbagi data, aplikasi dan peripherial lainnya. Pada jaringan peer-to-peer, tidak terdapat komputer yang berfungsi sebagai server khusus. Setiap komputer yang terhubung pada sebuah jaringan mempunyai hierarki yang sama. Semua komputer mempunyai kedudukan yang sama sehingga disebut jaringan peer. Sumber daya diletakkan secara desentralisasi pada setiap anggota jaringan dan tidak memerlukan adanya administrator jaringan (network administrator). Tipe jaringan peer-to-peer umumnya lebih banyak digunakan jika dalam sebuah jaringan hanya melibatkan jumlah komputer yang sedikit (2 sampai 10 komputer). 2. Jaringan berbasis server (server-based network / server-client network) Pengertian jaringan berbasis server menurut Oetomo (2003) adalah model koneksi pada jaringan yang mengenal adanya server dan client di mana masing-masing memiliki fungsi yang berbeda satu sama lain. Pada sebuah jaringan dengan jumlah komputer yang melebihi 10 komputer, jaringan peer-to-peer mungkin tidak akan mencukupi, sehingga sebagian besar jaringan membutuhkan server khusus. Server khusus tersebut adalah komputer yang bertugas hanya sebagai server dan tidak menjadi client atau workstation. Server tersebut dirancang untuk dapat melayani permintaan dari setiap client sekaligus menjamin keamanan file dan data yang diletakkan pada server sesuai dengan kebutuhan. Universitas Sumatera Utara 8 Jenis-jenis layanan yang biasanya diberikan dalam jaringan client-server menurut Swiryanto (2011) antara lain: • File server : memberikan layanan fungsi pengelolaan file. • Print server : memberikan layanan fungsi pencetakan. • Database server : proses-proses fungsional mengenai database dijalankan pada server dan client dapat meminta pelayanan. • DIP (Document Information Processing) : memberikan pelayanan fungsi penyimpanan, manajemen, dan pengambilan data. 3. Jaringan hybrid Jaringan hybrid merupakan kombinasi dari jaringan peer-to-peer dan server-based. Tipe jaringan ini menggabungkan karakteristik dari masing-masing jaringan peerto-peer dengan server-based. Workgroup yang terdiri dari beberapa komputer yang saling terhubung dapat mengelola sumber daya tanpa membutuhkan otorisasi network administrator atau server. Tipe jaringan ini mengimplementasikan jaringan client/server agar tingkat keamanan dapat lebih terjaga dan adanya server yang mempunyai suatu fungsi layanan tertentu, seperti file server, print server, database server, mail server, dan lain sebagainya. 2.1.2 Protokol TCP/IP (Transmission Control Protocol / Internet Protocol) Dalam dunia komunikasi data komputer, protokol mengatur bagaimana sebuah komputer berkomunikasi dengan komputer lain. Pengertian protokol menurut Febrian (2007) adalah kumpulan dari aturan-aturan yang berhubungan dengan komunikasi data antara alat-alat komunikasi supaya komunikasi data dapat dilakukan dengan benar. Agar dua komputer atau lebih dapat saling berkomunikasi dalam suatu jaringan, maka komputer-komputer tersebut harus menggunakan protokol yang sama. Protokol TCP/IP menurut Purbo (2001) adalah sekelompok protokol yang mengatur komunikasi data komputer di internet. Komputer-komputer yang terhubung ke Internet berkomunikasi dengan menggunakan protokol ini. Perbedaan jenis komputer Universitas Sumatera Utara 9 dan sistem operasi tidak menjadi masalah, karena semua komputer menggunakan protokol yang sama, yaitu TCP/IP. Sebagai contoh komputer PC dengan sistem operasi Windows dapat berkomunikasi dengan komputer Macintosh dengan sistem operasi Mac OS X yang keduanya terhubung langsung ke Internet . 2.1.2.1 IP Address IP Address adalah sebuah alamat yang diberikan ke peralatan jaringan untuk mengakses internet atau ke suatu jaringan komputer dengan menggunakan protokol TCP/IP (Wahana Komputer, 2001). Setiap komputer dalam suatu jaringan mempunyai identifikasi alamat yang unik. Dalam mendesain sebuah jaringan komputer, terutama yang terhubung dengan internet, perlu menentukan IP address untuk setiap komputer dalam jaringan tersebut. Format IP address merupakan bilangan biner 32 bit yang dipisahkan oleh tanda pemisah berupa tanda titik setiap 8 bit-nya. Tap 8 bit ini disebut sebagai oktet. Bentuk IP address adalah sebagai berikut : xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Misalnya : 110000000.00000101.00001010.0000001, maka pengalamatan 32 bit selanjutnya untuk memudahkan, secara khusus dibagi ke dalam empat oktet (8 bit section). 11000000 00000101 00001010 00000011 192 5 10 3 Dan selanjutnya dapat diterjemahkan ke dalam bilangan desimal dengan range 0 sampai 255: 192.5.10.3. Jika dilihat dari bentuknya, IP address terdiri atas 4 buah oktet (8bit). Nilai terbesar dari bilangan biner 8 bit yaitu 255 (= 27 + 26 + 25 + 24 + 23 + 22 + 21 + 1), maka jumlah keseluruhan IP address adalah 255 x 255 x 255 x 255. IP address ini dibagibagikan, maka untuk mempermudah pembagiannya dilakukan pengelompokan dalam kelas-kelas. Universitas Sumatera Utara 10 IP address kelas A diberikan untuk jaringan dengan host yang sangat besar. Bit pertama dari IP address kelas A selalu di-set 0 sampai 127 dan panjang NetID 8 bit, panjang HostID 24 bit. Dengan range IP mulai dari 1.xxx.xxx.xxx. sampai 126.xxx.xxx.xxx, dan pangalamatan kelas A masing-masing memiliki 16.777.214 IP address pada tiap kelas A. IP address kelas B biasanya dialokasikan untuk jaringan berukuran sedang dan besar. Bit pertama dari IP address kelas B selalu di-set dari 10 (satu nol) sehingga byte pertama dari IP kelas B selalu bernilai antara 128 sampai 191. NetID 16 bit, dan HostID 16 bit. Dengan range IP mulai dari 128.0.xxx.xxx sampai 191.155.xxx.xxx, dan pengalamatan kelas B masing-masing memiliki 65.523 IP address pada setiap kelas B. IP address kelas C digunakan untuk jaringan berukuran kecil (misalnya LAN). 3 bit pertama dari IP address selalu berisi 111, NetId 24 bit dan HostID 8 bit terakhir dan byte pertama dimulai dari 192 sampai 223 dengan range IP mulai dari 192.0.0.xxx sampai 223.255.255.xxx. Dengan konfigurasi ini, bisa dibentuk sekitar dua juta network dengan masing-masing network memiliki 256 IP address. IP address kelas D digunakan untuk keperluan IP multicasting, 4 bit pertama IP address di-set 1110. Bit-bit berikutnya sesuai dengan kebutuhan multicasting. Tidak ada bit network dan host dalam operasi multicasting. Paket hanya diberikan ke subhost tertentu di jaringan. Dengan byte initial 224-247. IP address kelas E tidak digunakan untuk umum. 4 bit pertama IP address ini diset 1111, kelas ini dicadangkan untuk penggunaan di masa depan (Yani, 2008). 2.1.3 Port Port pada komputer akan terbagi menjadi dua menurut Amperiyanto (2008). Pertama adalah port fisik (physical port). Port ini merupakan bentuk port yang dapat terlihat. Contoh dari jenis port ini adalah port printer yang digunakan untuk menghubungkan komputer dengan printer melalui kabel data yang dihubungkan ke dalam port printer Universitas Sumatera Utara 11 tersebut. Contoh lainnya adalah port USB yang digunakan untuk menghubungkan flashdisk ke dalam komputer. Sedangkan jenis kedua adalah port logika. Port ini merupakan bentuk port yang tidak dapat dilihat. Port tersebut kadang-kadang disebut juga dengan software port (port perangkat lunak). Jenis port ini menyambung dalam komputer secara logika. Terdapat tiga jenis berdasarkan nomor port pada port perangkat lunak menurut Amperiyanto (2008), yaitu sebagai berikut: 1. Well known port Well known ports diatur oleh IANA (Internet Assigned Numbers Authority). Nomor-nomor port yang termasuk ke dalam well known port tersebut hanya dapat dipakai pada proses sistem (root). Nomor port tersebut juga dapat dipakai oleh program yang dijalankan seorang user yang memiliki hak-hak istimewa (priveleged user). Nomor-nomor port yang termasuk dalam hal ini adalah berkisar dari 0 sampai 1023. 2. Registered port Registered port yang diatur oleh IANA. Nomor-nomor port yang termasuk dalam registered port dapat dipakai oleh user biasa (ordinary users). Nomor-nomor port yang termasuk dalam hal ini adalah berkisar dari 1024 sampai 49151. 3. Dynamic/private port Dynamic/private port berkisar antara 49152 sampai 65535. 2.1.4 Port Serial Port serial ialah panjang kabel maksimal lebih besar dibandingkan dengan Port parallel karena Port serial mengirimkan logika “1” dengan kisaran tegangan -3 V, hingga -25 V dan logika 0 sebagai +3 volt hingga +25 volt, akibatnya kehilangan daya karena panjangnya kabel bukan masalah utama. Pada IBM PC Compatibel tata cara komunikasi serial yang digunakan ialah jenis asinkron. Komunikasi data serial ini dekerjakan oleh UART (Universal Universitas Sumatera Utara 12 Asynchronous Receiver / Tranceiver). Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan diperlukan sinkronisasi antara transmitter dan receiver. Hal ini dilakukan oleh bit ‘Start’ dan bit ‘Stop’. Kecepatan transmisi (baudrate) dapat dipilih bebas dalam rentang tertentu. Baudrate yang umum dipakai adalah 600, 1200, 2400, dan 9600 bps (bit per sekon). Inti dari port serial ialah chip Universal Asynchronous Receiver/Transmitter (UART). Chip inilah yang mengontrol proses perubahan data parallel didalam PC menjadi format serial, lalu kemudian diubah lagi ke format paralel Komunikasi melalui Port serial adalah sinkron, yakni sinyal detak tidak dikirim bersama dengan data. Setiap word disingkronkan dengan start bit dan sebuah clock internal dikedua sisi menjaga bagian data saat pewaktuan (timing). Berikut ini adalah gambar tampilan port serial DB9 yang umum digunakan. Gambar 2.1. Konfigurasi port serial DB9 Sumber : (Prasetia et al, 2007) Adapun konfigurasi out dari serial port dapat dilihat pada tabel berikut ini: Tabel 2.1Konfigurasi pin dan nama sinyal konektor serial DB 9 Sumber : (Prasetia et al, 2007) Universitas Sumatera Utara 13 Keterangan mengenai fungsi saluran RS232 pada konektor DB9 adalah sebagai berikut: • Receive Line signal detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukkan ada data masuk. • Receive Data, digunakan DTE menerima data dari DCE. • Transmit Data, digunakan DTE mengirimkan data ke DCE. • Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya. • Signal Ground, saluran ground. • Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa sebuah stasiun menghendaki berhubungan dengannya. • Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai mengirim data. • Request To Send, dengan saluran ini DCE diminta mengirim data oleh DTE. • DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap. (Prasetia et al, 2007) 2.2 WEB Website merupakan kumpulan halaman web yang saling terhubung dan file filenya saling terkait. Web terdiri dari page atau halaman, dan kumpulan halaman yang dinamakan homepage. Homepage berada pada posisi teratas, dengan halaman halaman terkait berada di bawahnya. Biasanya setiap halaman di bawah homepage disebut child page, yang berisi hyperlink ke halaman lain dalam web. (Gregorius, 2000). Website awalnya merupakan suatu layanan sajian informasi yang menggunakan konsep hyperlink, yang memudahkan surfer atau pengguna internet melakukan penelusuran informasi di internet. Informasi yang disajikan dengan web menggunakan konsep multimedia, informasi dapat disajikan dengan menggunakan banyak media, seperti teks, gambar, animasi, suara, atau film. Universitas Sumatera Utara 14 2.2.1 World Wide Web WWW (World Wide Web) adalah sebuah metode baru yang berjalan di dunia internet yang akhir - akhir ini berkembang dengan cepat (Nugroho, 2004) 2.2.2 Homepage Dan Browser Homepage adalah halaman pembuka / pertama dari sekian banyaknya website, browser merupakan suatu program yang dirancang untuk mengambil informasiinformasi dari suatu server komputer pada jaringan internet. Informasi – informasi ini biasanya di kemas dalam page-page, dimana setiap page biasa mempunyai beberapa link yang menghubungkan web page tersebut ke sumber informasi lainnya. Jika suatu link di klik, browser akan mencari alamat dari tujuan link tersebut dan browser akan menampilkan informasi tersebut, namun jika tidak menemukan alamat yang di tuju, browser akan memberikan suatu pesan yang menyatakan bahwa alamat dari tujuan link tersebut tidak dapat ditemukan. (Nugroho, 2004) 2.3 PHP PHP adalah kependekan dari PHP Hypertext Preprocessor, bahasa interpreter yang mempunyai kemiripan dengan bahasa C dan Perl yang mempunyai kesederhanaan dalam perintah, yang digunakan untuk pembuatan aplikasi web. (Sidik, 2004) PHP/FI merupakan nama awal dari PHP (Personal Home Page/Form Interface). Dibuat pertama kali oleh Rasmus Lerdoff. PHP awalnya merupakan program CGI yang dikhususkan untuk menerima input melalui form yang ditampilkan dalam browser web. Dengan menggunakan PHP maka maintenance suatu situs web menjadi lebih mudah. Proses update dapat dilakukan dengan menggunakan aplikasi yang dibuat dengan menggunakan script PHP. PHP merupakan script untuk pemrograman script web server-side, script yang membuat dokumen HTML secara on the fly, dokumen HTML yang dihasilkan dari suatu aplikasi bukan dokumen HTML yang dibuat dengan menggunakan editor teks atau editor HTML. (Nugroho, 2004) Universitas Sumatera Utara 15 2.3.1.Script PHP Script PHP diawali dengan tag (<?) dan diakhiri dengan tag (?>). Setiap baris perintah / statement harus diakhiri dengan menggunakan tanda titik koma (;). Umumnya setiap statement dituliskan dalam satu baris. Script PHP merupakan script yang digunakan untuk menghasilkan halaman-halaman web. Cara penulisannnya dibedakan menjadi embedded dan non embedded script. (Anhar, 2010) 1. Embedded Script Script yang dimaksud dari embedded script adalah script PHP yang disisipkan di antara tag-tag HTML. Script PHP digunakan apabila isi dari suatu dokumen HTML diinginkan dari hasil eksekusi suatu script PHP, selama informasi masih tidak membutuhkan program maka pemrogram umumnya tidak akan menggunakan program yang dapat dilihat pada gambar di bawah ini : Gambar 2.2 Embedded Script (Nugroho, 2004) 2. Non Embedded Script Script PHP pada cara ini digunakan sebagai murni pembuatan program PHP, tag HTML yang dihasilkan untuk membuat dokumen merupakan bagian dari script PHP, yang dapat dilihat pada gambar di bawah ini : <?php echo “<html>”; echo “<head>”; echo “<title>”non embedded script“</title>; echo ”</head>”; echo “<body>”; echo “”; echo “</body>”; echo “</html>”; ?> Gambar 2.3 Non Embedded Script (Nugroho, 2004) Universitas Sumatera Utara 16 Jika dilihat sourcenya dengan menggunakan View – Source pada browser IE, maka source dokumen HTML yang ditampilkan berupa dokumen HTML murni, tidak ada lagi tag dan script PHP, karena semuanya telah menjadi tag HTML, karena pada saat dieksekusi maka bukan scriptnya yang dikirim tetapi hasil eksekusi dari script tersebut yang dikirim. Hasilnya berupa dokumen HTML, mekanisme inilah yang disebut dengan “on the fly HTML creation”. 2.3.2. Tag PHP Penulisan program PHP dapat menggunakan dengan berbagai tag. Semua itu mempengaruhi hasil program yang akan di buat. Tag – tag yang dapat dipergunakan adalah dalam bentuk atau style XML, ASP dan Java Script. a. Style Standar Style standar PHP mirip dengan penulisan program XML, yakni di awali dengan <?php dan diakhiri dengan ?>. <?php echo“ini adalah style PHP”; ?> b. Short Style Style ini cukup praktis di banding style sebelumnya. Namun untuk menggunakan style ini, terlebih dahulu memastikan bahwa tag ini telah diaktifkan, dengna memastikan baris berikut pada file php : short_open_tag = On ; allow the <? Tag. ;otherwise, Only <?php and < Script> tags are recognized. Atau dapat juga memberikan nilai demikian : short_open_tag = True short_open_tag = Yes contoh penulisan pada program sebagai berikut : <? echo “ini adalah Short style”; ? Style JavaScript <SCRIPT LANGUAGE=’PHP’> echo “ini adalah Style Java Script”; Universitas Sumatera Utara 17 </SCRIPT> c. Style ASP Sebelum membuat program dengan style ASP, terlebih dahulu mengaktifkan asp_tags pada file php, dengan cara memberikan nilai On pada baris berikut: asp_tags = On ; allow ASP-style <% %> tags contoh penulisan pada program sebagai berikut : <% echo“ini adalah style ASP”; %> 2.3.3. Variabel, Tipe Data dan Konstanta Identifier dalam PHP terdiri atas variabel, konstanta dan fungsi. 1. Variabel Variabel tempat menyimpan data, di dalam PHP diawali dengan karakter $ diikuti dengan huruf sebagai karakter pertama setelah $, kemudian kombinasi karakter dan angka. Tidak boleh ada spasi dan tanda baca dalam penamaan, kecuali karakter garis bawah atau under score. 2. Tipe Data PHP mempunyai tiga dasar tipe data, yaitu integer, double, dan string. Selain tipe data dasar, PHP juga mempunyai tipe data compound yang terdiri atas array dan object. 3. Konstanta Konstanta adalah suatu nilai yang tidak berubah selama proses dari program. Selain konstanta, PHP juga menyediakan fungsi define() untuk membuat konstanta sendiri. Fungsi define() memperkenankan kita untuk menentukan ada tidaknya konstanta. Menghasilkan nilai 1 jika konstanta ada dan 0 jika tidak ada konstanta. 2.4 Transistor Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan, modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam kran listrik, dimana Universitas Sumatera Utara 18 berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Transistor throughhole (dibandingkan dengan pita ukur sentimeter) Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E) dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat dipakai untuk mengatur arus dan tegangan yang lebih besar daripada arus input Basis, yaitu pada keluaran tegangan dan arus output Kolektor. Transistor merupakan komponen yang sangat penting dalam dunia elektronik modern. Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat). Rangkaian analog melingkupi pengeras suara, sumber listrik stabil (stabilisator) dan penguat sinyal radio. Dalam rangkaian-rangkaian digital, transistor digunakan sebagai saklar berkecepatan tinggi. Beberapa transistor juga dapat dirangkai sedemikian rupa sehingga berfungsi sebagai logic gate, memori dan fungsi rangkaian-rangkaian. (Blocher, 2003) 2.5 Mikrokontroler AVR Atmega8 AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan 512 byte. AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 - 5,5 V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5-5,5 V. (William, 2004) Universitas Sumatera Utara 19 2.5.1 Konfigurasi Pin Atmega8 Di bawah ini merupakan Konfigurasi Pin ATmega 8 yang terdapat pada gambar 2.5.1 dibawah ini : Gambar 2.4 Konfigurasi Pin Atmega8 (Sistandi, 2012) ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8. VCC Merupakan supply tegangan digital. GND Merupakan ground untuk semua komponen yang membutuhkan grounding. Port B (PB7...PB0) Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit bi-directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin yang terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan arus jika pull-up resistor diaktifkan. Khusus PB6 dapat digunakan sebagai input Kristal (inverting oscillator amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk Universitas Sumatera Utara 20 memilih sumber clock. Sedangkan untuk PB7 dapat digunakan sebagai output Kristal (output oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer. Port C (PC5…PC0) Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masing-masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari pin C.0 sampai dengan pin C.6. Sebagai keluaran/output port C memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan arus (source). RESET/PC6 Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Pin ini memiliki karakteristik yang berbeda dengan pin-pin yang terdapat pada port C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan menghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja. Port D (PD7…PD0) Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O. AVcc Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter. Universitas Sumatera Utara 21 AREF Merupakan pin referensi jika menggunakan ADC. Adapun blok diagram ATmega 8 dapat dilihat pada gambar 2.5.2 dibawah ini : (Sistandi, 2012) Gambar 2.5 Blok Diagram ATmega8 Sumber : (Sistandi, 2012) Universitas Sumatera Utara 22 Pada AVR status register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian. Register ini di-update setelah operasi ALU (Arithmetic Logic Unit) hal tersebut seperti yang tertulis dalam datasheet khususnya pada bagian Instruction Set Reference. Dalam hal ini untuk beberapa kasus dapat membuang penggunaan kebutuhan instrukasi perbandingan yang telah didedikasikan serta dapat menghasilkan peningkatan dalam hal kecepatan dan kode yang lebih sederhana dan singkat. Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin interupsi dan juga ketika menjalankan sebuah perintah setelah kembali dari interupsi. Namun hal tersebut harus dilakukan melalui software. Berikut adalah gambar status register. Gambar 2.6 Status Register ATMega8 Sumber : (Sistandi, 2012) Bit 7(I) Merupakan bit Global Interrupt Enable. Bit ini harus di-set agar semua perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang individual maupun yang secara umum akan di abaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di-set dan di-reset melalui aplikasi dan intruksi SEI dan CLL. Bit 6(T) Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load) and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit yang telah dioperasikan. Sebuah bit dari sebuah register dalam Register File dapat disalin ke dalam bit ini dengan menggunakan instruksi BST, dan sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada Register File dengan menggunakan perintah BLD. Universitas Sumatera Utara 23 Bit 5(H) Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD. Bit 4(S) Merupakan Sign bit. Bit ini selalu merupakan sebuah ekslusif di antara Negative Flag (N) dan two’s Complement Overflow Flag (V). Bit 3(V) Merupakan bit Two’s Complement Overflow Flag. Bit ini menyediakan fungsi aritmatika dua komplemen. Bit 2(N) Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil negative di dalam sebuah fungsi logika atai aritmatika. Bit 1(Z) Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah jasil nol “0” dalan sebuah fungsi aritmatika atau logika. Bit 0(C) Merupakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa dalam sebuah aritmatika atau logika. (Sistandi, 2012) 2.5.2 Timer/Counter 0 Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk: 1. Timer/counter biasa 2. Clear Timer on Compare Match (selain Atmega 8) Universitas Sumatera Utara 24 3. Generator frekuensi (selain Atmega 8) 4. Counter pulsa eksternal. (Prasetia, 2007) 2.5.3 Komunikasi Serial Pada Atmega 8 Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan Pin 3 untuk melakukan komunikasi data antara mikrokontroler dengan mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara transmiter dan receiver satu sumber clock. Sedangkan asinkron berarti transmiter dan receiver mempunyai sumber clock sendirisendiri. USART terdiri dalam tiga blok yaitu clock generator, transmiter, dan receiver. (Prasetia, 2007) 2.5.4 Arduino Atmega8 Arduino adalah solusi terpaket yang terdiri dari board hardware dengan dengan mikrokontroler AVR serta software yang dikembangkan menggunakan bahasa Java dan menggunakan bahasa C sebagai rujukan dalam pemrograman. Arduino severino adalah board Arduino single sided versi lama dengan koneksi Serial RS232. Versi terakhir (S3V3) dirancang oleh Adilson Akashi, dengan penyempurnaan di sejumlah bagian, baik rangkaian maupun layout PCB. Struktur dasar bahasa pemrograman arduino hanya terdiri dari dua bagian Void setup() { // Statement; di eksekusi satu kali } Void loop() { // Statement; di eksekusi terus menerus } Universitas Sumatera Utara 25 1. Setup() Fungsi setup() hanya dipanggil satu kali ketika program pertama kali di jalankan. Ini digunakan untuk mendifinisikan mode pin atu memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada statement yang di jalankan. void setup() { pinMode(3,OUTPUT);// men-set “pin” 3 sebagai Output pinMode(6, INPUT); // men-set pin 6 sebagai Input Serial.begin(9600); } pinMode() = berfungsi untuk mengatur fungsi sebuah pin sebagai INPUT atau OUTPUT. Serial.begin(9600) = digunakan untuk mengaktifkan fitur UART dan menginisialisasinya. 2. Loop() Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan dan melakukan instruksi- instruksi yang ada dalam fungsi loop(). void loop() { If (digitalRead(6)==HIGH)// membaca input digital pin 6 { xstart = millis(); //aktifkan timer digitalWrite (3, HIGH); // nyalakan pin 3 delay(1000); // pause selama 1 detik digitalWrite(3, LOW); // matikan pin 3 }} Universitas Sumatera Utara 26 b. digitalWrite() = Berfungsi untuk memberikan nilai LOW atau HIGH pada sebuah pin OUTPUT c. Fungsi delay = Berfungsi untuk memberikan jeda dalam satuan milidetik d. digitalRead() = Berfungsi untuk membaca nilai digital LOW atau HIGH dari sebuah pin INPUT e. Fungsi milis() akan memberikan posisi “Stopwatch” terakhir yang bekerja dalam system Stopwatch bekerja dalam satuan milidetik, menggunakan TIMER0 dan mencatatnya dalam variabel unsigned long timer0_overflow_count. Hitungan akan overflow setelah mencapai 4,294,967,295 (2^32-1). (Prasetia, 2007) 2.6 Relay Dalam dunia elektronika, relay dikenal sebagai komponen yang dapat mengimplementasikan logika switching. Sebelum tahun 70an, relay merupakan “otak” dari rangkaian pengendali. Baru setelah itu muncul PLC yang mulai menggantikan posisi relay. Relay yang paling sederhana ialah relay elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana relay elektro-mekanis ini didefinisikan sebagai berikut : • Alat yang menggunakan gaya elektromagnetik untuk menutup (atau membuka) kontak saklar. • Saklar yang digerakkan (secara mekanis) oleh daya/energi listrik. Secara umum, relay digunakan untuk memenuhi fungsi – fungsi berikut : - Remote control : dapat menyalakan atau mematikan alat dari jarak jauh - Penguatan daya : menguatkan arus atau tegangan - Pengatur logika kontrol suatu sistem Relay terdiri dari coil dan contact, coil adalah gulungan kawat yang mendapat arus listrik, sedang contact adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik di coil. Contact ada 2 jenis : Normally Open (kondisi awal Universitas Sumatera Utara 27 sebelum diaktifkan open), dan Normally Closed (kondisi awal sebelum diaktifkan close). Secara sederhana berikut ini prinsip kerja dari relay : ketika Coil mendapat energi listrik (energized), akan timbul gaya elektromagnet yang akan menarik armature yang berpegas, dan contact akan menutup. Adapun gambar skema relay dapat dilihat pada gambar 2.6.1 berikut di bawah ini : (Blocher, 2003) Gambar 2.7 Skema relay elektromekanik Sumber : (Blocher, 2003) 2.7 Apache Web Server Server HTTP Apache atau Server Web/WWW Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. Apache adalah komponen server web dari paket perangkat lunak LAMP (Linux, Apache, MySQL, PHP/Perl/bahasa pemrograman Python). (Yuhefizar et.al, 2009) Universitas Sumatera Utara 28 2.8 Sistem Operasi Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, scheduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas- tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi. Biasanya, istilah Sistem Operasi sering ditujukan kepada semua software yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi software terinstal. Dalam Ilmu komputer, Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web. Jenis sistem operasi yang bisa digunakan antara lain : Posix, Unix, Ms Dos, Ms WINDOWS, Linux, Apple dll. Dari sekian banyak sistem operasi dapat dibagi menjadi dua berdasarkan kontak (interface) yaitu : 1 Comand line interface (CLI) Comand line interface (CLI) adalah kontak user dengan perangkat keras berbasis teks (huruf, angka, dan simbol atau tanda baca) contohnya : MS Dos, posix, linux. Universitas Sumatera Utara 29 2 Graphical user interface (GUI) Graphical user interface (GUI) adalah kontak user dengan perangkat keras berbasis gambar atau grafik. contohnya: Ms windows, unix, Linux. (Pangera et.al, 2005) Universitas Sumatera Utara