5
BAB II LANDASAN TEORI 2.1.
Konsep Smart Home System Sistem rumah cerdas (Smart Home) adalah sistem aplikasi yang
merupakan gabungan antara teknologi dan pelayanan yang dikhususkan pada lingkungan rumah dengan fungsi tertentu yang bertujuan meningkatkan efesiensi, kenyamanan dan keamanan penghuninya. Sistem rumah cerdas biasanya terdiri dari perangkat kontrol, monitoring dan otomatisasi beberapa perangkat atau peralatan rumah yang dapat diakses melalui website baik menggunakan Laptop maupun smartphone. Sistem rumah cerdas adalah sistem yang terdiri dari beberapa komponen pendukung yang saling berinteraksi satu sama lain. Sebuah rumah dapat dikatakan sebagai rumah cerdas apabila memiliki komponen personal internal networking, intellegent control dan home auotomation.
Gambar 2.1.
Konsep Smart Home System
Berbagai aplikasi sistem rumah cerdas dikembangkan dengan berbagai fitur sebagai konsep rumah masa depan. Aplikasi yang dibuat dibedakan dari segi fungsi dan tujuan masing- masing. Aplikasi tersebut ada yang dibuat khusus menangani satu fungsi seperti untuk sistem keamanan saja, ada pula yang merupakan gabungan dari beberapa fungsi seperti aplikasi sistem kontrol dan
http://digilib.mercubuana.ac.id/
6
monitoring atau lainnya. Beberapa contoh aplikasi sistem rumah cerdas adalah seperti pada tabel 2.1. Tabel 2.1.
Smart Home Application
Safety and Security Door Access Control Switch off / Alarm If danger Front door /Window observation Video Observation
Control and Automatic Lighting Air Conditional control
Measure and Monitoring Trouble / Maintenance Alert Environment Data Temperature measure
Information and Communication Audio Visual Network service Tele service / Operation
Dari tabel diatas dapat dikatakan smart home akan tercakup dalam beberapa bagian 1. Safety and security merupakan system cerdas yang akan melakukan tugas keamanan dan kenyamanan rumah dalam bahaya yang dapat merugikan. 2. Control and Automatic, bagian yang akan bertugas untuk melakukan kontrol terhadap penerangan, Air Conditioner, Fan dan perangkat elektronik rumah yang lainnya. 3. Measure and Monitoring, sebagai bagian yang bertugas melakukan pengukuran dan monitoring terhadap system yang berjalan terhadap kenyamanan, keamanan, pengukuran suhu ruangan, data meta dari lingkungan, perbaikan maupun peringatan awal.
http://digilib.mercubuana.ac.id/
7
4. Information and Communication, ada hanya fitur komunikasi audio, video atau gambar yang bisa berupa informasi dalam cakupan jaringan yang luas. 2.2.
MIKROKONTROLER
2.2.1. Pengertian AVR AVR adalah sebuah mikrokontroler yang dibuat dengan menggunakan arsitektur Harvard dimana data dan program disimpan secara terpisah sehingga sangat baik untuk sebuah sistem terbenam di lapangan karena terlindungi dari interferensi yang dapat merusak isi program. Salah satu mikrokontroler keluarga AVR yang dipergunakan pada penelitian ini yaitu ATmega328. ATMega328 memiliki fitur cukup lengkap, mulai dari kapasitas memori program dan memori data yang cukup besar, interupsi, timer/counter, PWM, USART, TWI, analog comparator, EEPROM internal dan juga ADC internal. Di bawah ini merupakan penjelasan melalui gambar mengenai konfigurasi pin-pin yang merupakan bagian dari mikrokontoller ATMega328 yang digunakan didalam modul board arduino yang digunakan dalam penelitian dan perancangan ini adalah, sebagai berikut ini :
Gambar 2.2.
Konfigurasi Pin ATMega328
http://digilib.mercubuana.ac.id/
8
2.2.2. Arduino Uno Arduino adalah platform pembuatan prototipe elektronik yang bersifat open-source hardware yang berdasarkan pada perangkat keras dan perangkat lunak yang fleksibel dan mudah digunakan. Arduino ditujukan bagi para seniman, desainer dan siapapun yang tertarik dalam menciptakan objek atau lingkungan yang interaktif. Arduino pada awalnya dikembangkan di Ivrea, Italia. Nama Arduino adalah sebuah nama maskulin yang berarti teman yang kuat. Platform arduino terdiri dari arduino board, shield, bahasa pemrograman arduino, dan arduino development environment. Arduino board biasanya memiliki sebuah chip dasar mikrokontroler Atmel AVR ATmega8 berikut turunannya. Blok diagram arduino board yang sudah disederhanakan dapat dilihat pada (gambar 2.2) Shield adalah sebuah papan yang dapat dipasang diatas arduino board untuk menambah kemampuan dari arduino board. Bahasa pemrograman arduino adalah bahasa pemrograman yang umum digunakan untuk membuat perangkat lunak yang ditanamkan pada arduino board. Bahasa pemrograman arduino mirip dengan bahasa pemrograman C++. 2.3.
Arduino Ethernet Shield Ethernet Shield menambah kemampuan arduino board agar terhubung ke
jaringan komputer. Ethernet shield berbasiskan cip ethernet Wiznet W5100. Ethernet library digunakan dalam menulis program agar arduino board dapat terhubung ke jaringan dengan menggunakan arduino ethernet shield.
http://digilib.mercubuana.ac.id/
9
Pada ethernet shield terdapat sebuah slot micro-SD, yang dapat digunakan untuk menyimpan file yang dapat diakses melalui jaringan. Onboard micro-SD card reader diakses dengan menggunakan SD library. Arduino board berkomunikasi dengan W5100 dan SD card mengunakan bus SPI (Serial Peripheral Interface). Komunikasi ini diatur oleh library SPI.h dan Ethernet.h. Bus SPI menggunakan pin digital 11, 12 dan 13 pada Arduino Uno. Pin digital 10 digunakan untuk memilih W5100 dan pin digital 4 digunakan untuk memilih SD card. Pin-pin yang sudah disebutkan sebelumnya tidak dapat digunakan untuk input/output umum ketika kita menggunakan ethernet shield. Karena W5100 dan SD card berbagi bus SPI, hanya salah satu yang dapat aktif pada satu waktu. Jika kita menggunakan kedua perangkat dalam program kita, hal ini akan diatasi oleh library yang sesuai. Jika kita tidak menggunakan salah satu perangkat dalam program kita, kiranya kita perlu secara eksplisit men-deselect- nya. Untuk melakukan hal ini pada SD card, set pin 4 sebagai output dan menuliskan logika tinggi padanya, sedangkan untuk W5100 yang digunakan adalah pin 10. DFRduino Ethernet shield adalah sebuah clone dari arduino Ethernet shield yang dibuat oleh DFRobot. Penampakan DFRduino Ethernet shield dapat dilihat pada Gambar.
Gambar 2.3.
Ethernet Module Shield
http://digilib.mercubuana.ac.id/
10
2.4.
Pengenalan Sensor Sensor merupakan jenis tranduser yang digunakan untuk mengubah
besaran mekanis, magnetis, panas, sinar, dan kimia menjadi tegangan dan arus listrik. Sensor sering digunakan untuk pendeteksian pada saat melakukan pengukuran atau pengendalian. Beberapa jenis sensor yang banyak digunakan dalam rangkaian elektronik antara lain sensor cahaya (LDR), sensor suhu (LM35), dan sensor pintu (Magnetic Switch Door). Dalam melakukan analisa ini digunakan sensor tipe LM35 yang digunakan sebagai alat sensor suhu di dalam rangkaian dengan menggunakan supply tegangan sebesar 0-5V dari Arduino yang merupakan board elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Mikrokontroler itu sendiri adalah chip atau IC (Integrated Circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas sebagai „otak‟ yang mengendalikan input, proses dan output sebuah rangkaian elektronik. Mikrokontroler ada pada perangkat elektronik di sekeliling kita. Misalnya handphone, MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik robot mainan, maupun robot industri. Karena komponen utama Arduino
adalah
mikrokontroler,
maka
Arduino
pun
dapat
diprogram
menggunakan komputer sesuai kebutuhan kita. untuk dapat mengukur suhu
http://digilib.mercubuana.ac.id/
11
ruangan dibutuhkan 1 komponen saja yaitu LM35. selain modul mikrokontroler Arduino. LM35 merupakan komponen elektronis berupa IC yang mampu menghasilkan tegangan sebanding dengan besaran suhu yang menyelimuti. Keluaran tegangan telah terkalibrasi dalam skala Kelvin.. Linieritas keluaran tegangan pada skala Celsius adalah 10mV/°C dengan akurasi ±¼°C pada suhu ruang, dengan rentang suhu yang dapat direspon antara -55-150°C. Penggunaaan LM35 tidak memerlukan perangkat tambahan, dengan mempunyai output impedansi yang rendah sehingga akan mempermudah dalam pembacaan dan kontrol. Konsumsi energy yang diperlukan IC ini sangat rendah 60 pA, sehingga tidak menimbulkan panas yang relative besar atau kurang dari 0,1°C. Sensor ini bekerja pada jangka tegangan yang lebar (antara 4 sampai 30 Volt) memudahkan penyesuaian perancangan dengan perangkat sesudahnya. Output dapat langsung dihubungkan ke port mikrokontroler yang memiliki ADC atau dengan Arduino, karena Arduino memiliki port ADC (analog input) sebanyak 6 buah dengan jenis ADC yg dipakai adalah jenis ADC sebesar : 10bit. Untuk mendeteki keadaan alam sekitar berupa data hasil analog input yang dibaca oleh sensor maka dibawah ini terdapat beberapa dasar teori yang menjadi acuan untuk mengenal cara kerja sensor yang digunakan dalam penelitian ini adalah sebagai berikut :
http://digilib.mercubuana.ac.id/
12
2.4.1. Sensor suhu / Temperature (LM35) Karena komponen utama Arduino adalah mikrokontroler, maka Arduino pun dapat diprogram menggunakan komputer sesuai kebutuhan kita. untuk dapat mengukur suhu ruangan dibutuhkan satu komponen saja yaitu LM35. Selain modul mikrokontroler Arduino. LM35 adalah sensor suhu dari National Semiconductor yang mempunyai akurasi tinggi.
Outputnya berupa
tegangan analog dan memiliki jangkauan pengukuran -55ºC hingga +150ºC dengan akurasi ±0.5ºC. Tegangan output adalah 10mV/ºC. Output dapat langsung dihubungkan port mikrokontroler yang memiliki ADC atau dengan Arduino, karena Arduino memiliki port ADC (analog input) sebanyak 6 buah. kemudian rangkaian modul Arduino dengan sensor suhu seperti gambar di bawah ini :
Gambar 2.4.
Gambar 2.5.
Sensor suhu/Temperature (LM35)
Tampak bawah sensor suhu (LM35)
Dari penjelasan (gambar 2.6) dan seperti gambar (gambar 2.7) di atas bahwa struktur kaki-kaki yang merupakan bagian dari sensor suhu / temperature
http://digilib.mercubuana.ac.id/
13
LM35 memiliki tiga buah kaki yaitu : pada bagian kaki (+Vs), dihubungkan ke bagian (Vcc) yg bernilai sebesar 5V, pada board arduino uno dan untuk bagian kaki GND dihubungkan ke ground (GND) pada board arduino uno, sedangkan pada bagian kaki (VOut) yang merupakan keluaran (Output) dari hasil pengolahan data analog dari sensor LM35 yang dihubungkan ke bagian analog input0(pin A0) pada board arduino uno. 2.4.2. LDR atau Light Dependent Resistor Rangkaian LDR atau Light Dependent Resistor adalah salah satu komponen elektronika yang masih bisa di bilang sebagai resistor yang besar resistansi nilai tahanannya bergantung pada intensitas cahaya yang menutupi permukaan, dimana LDR yang digunakan dalam perancangan sistem ini adalah yang memiliki nilai resistansi sebesar 100 ohm dari pengukuran menggunakan perangkat Avo Meter. Rangkaian LDR biasanya dikenal dengan nama foto resistor, foto konduktor, sel foto konduktif atau komponen lain yang sering di gunakan dalam literatur suatu rangkaian. Itu sebabnya makin kuat intensitas cahaya maka makin kecil nilai tahanannya dan makin lemah intensitas cahaya maka makin besar nilai tahanannya. Komponen LDR di buat dari Cadmium Sulphide (CdS). Pada umumnya, Rangkaian LDR di gunakan sebagai sensor cahaya. Cara kerja LDR akan padam pada saat LDR mendapat cahaya cukup terang, apabila LDR tidak mendapat cahaya maka komponen ini akan menyala.
http://digilib.mercubuana.ac.id/
14
Gambar 2.6.
Komponen dasar sensor intensitas cahaya / LDR
Elektron bebas yang dihasilkan (dan pasangan lubangnya) akan mengalirkan listrik, sehingga menurunkan resistansinya. Berikut ini merupakan karakteristik elektrik dari sensor LDR (Light Dependent Resistor) adalah seperti penjelasan table dibawah ini : Tabel 2.2.
Karakteristik Elektrik Sensor LDR
Parameter Cell resistance Dark Resistance Dark Capacitance Rise Time Fall Time
Conditions 1000 LUX 10 LUX -
Min -
Type 400 9 1
Max -
Unit Ohm K Ohm M Ohm
-
-
3.5
-
pF
1000 LUX 10 LUX 1000 LUX 10 LUX
-
2.8 18 48 120
-
Ms Ms ms ms
-
320
V max
75
mA max
-
100
mW max
-
+75
Deg. C
-
Voltage AC/DC Peak
-
Current
-
Power Dissipation Operating Temperature
-60
http://digilib.mercubuana.ac.id/
15
Tabel 2.3.
Iluminasi Sumber Sensor Cahaya LDR
Light source Illumination
LUX
Moonlight 60W Bulb at 1m 1W MES Bulb at 0.1m Fluorescent Lighting Bright Sunlight
0.1 50 100 500 30,000
Nilai resistansinya sebagai fungsi iluminasinya adalah sebagai berikut :
Gambar 2.7. Grafik resistansi sensor LDR
Gambar 2.8.
LDR / Light Dependent Resistor
Dari penjelasan (gambar 2.7) di atas bahwa struktur yang merupakan cara kerja dari sensor kelembaban udara / light (LDR) memiliki 2 buah kaki, penempatan kakinya bebas boleh terbalik-balik karena tidak memiliki kutub : anode (+) dan katode (-), dimana satu buah kaki dipasang ke bagian tegangan positif (Vcc) yg bernilai sebesar 5V dan diberi hambatan / resistansi berupa satu buah resistor sebesar : 220 ohm dan satu kaki lagi dipasangkan ke pin dihubungkan ke bagian analog input 1 (pin A1) pada board arduino uno.
http://digilib.mercubuana.ac.id/
16
2.4.3. Magnetic Switch Sebagai Sensor Pintu
Gambar 2.9.
Bentuk Fisik Magnetic Switch
Saklar magnetik yang bekerja berdasarkan prinsip hall effect. Dapat digunakan sebagai sensor security yang dipasangkan pada pintu, jendela, atau media lainnya.
Spesifikasi Tabel 2.4.
Tabel 2.4. Spesifikasi Sensor Pintu
Product Name Contact Capacity Voltage Rated Power Actuation Distance Cable Length Size(Approx) Color Housing Material Weight package Content
Magnetic Door Contacts 0.5A(Maximum Switch Current) 100V 10W 15-25mm 10" / 25.4cm 2.8 x 1.5 x 1.3 cm / 1.1" x 0.6" x 0.5"(L*W*H) White / Black Plastic 12g 1 x Magnetic Door Contacts 4 x Screws
http://digilib.mercubuana.ac.id/
17
2.5.
Komponen Pendukung
2.5.1. Relay Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh arus listrik. Secara prinsip, relay merupakan tuas saklar dengan lilitan kawat pada batang besi (solenoid) di dekatnya. Ketika solenoid dialiri arus listrik, tuas akan tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan kembali ke posisi semula dan kontak saklar kembali terbuka.Relay biasanya digunakan untuk menggerakkan arus / tegangan yang besar (misalnya peralatan listrik 4 ampere AC 220 V) dengan memakai arus / tegangan yang kecil (misalnya 0.1 ampere 12 Volt DC). Relay yang paling sederhana ialah relay elektromekanis yang memberikan pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana relay elektromekanis ini didefinisikan sebagai berikut : 1. Alat yang menggunakan gaya elektromagnetik untuk menutup (atau membuka) kontak saklar. 2. Saklar yang digerakkan (secara mekanis) oleh daya / energi listrik. 3. Dalam pemakaiannya biasanya relay yang digerakkan dengan arus DC dilengkapi dengan sebuah dioda yang di-paralel dengan lilitannya dan dipasang terbalik yaitu anoda pada tegangan (-) dan katoda pada tegangan (+). Ini bertujuan untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off agar tidak merusak komponen di sekitarnya.
http://digilib.mercubuana.ac.id/
18
Konfigurasi dari kontak-kontak relay ada tiga jenis, yaitu :
Normally Open (NO), apabila kontak-kontak tertutup saat relay dicatu.
Normally Closed (NC), apabila kontak-kontak terbuka saat relay dicatu.
Change Over (CO), relay mempunyai kontak tengah yang normal tertutup, tetapi ketika relay dicatu kontak tengah tersebut akan membuat hubungan dengan kontak-kontak yang lain. Penggunaan
relay
perlu
memperhatikan
tegangan pengontrolnya
serta kekuatan relay men-switch arus / tegangan. Biasanya ukurannya tertera pada body relay. Misalnya relay 12VDC/4 A 220V, artinya tegangan yang diperlukan sebagai pengontrolnya adalah 12Volt DC dan mampu men-switch arus listrik (maksimal) sebesar 4 ampere pada tegangan 220 Volt. Sebaiknya relay difungsikan 80% saja dari kemampuan maksimalnya agar aman, lebih rendah lagi lebih aman. Relay jenis lain ada yang namanya reedswitch atau relay lidi. Relay jenis ini berupa batang kontak terbuat dari besi pada tabung kaca kecil yang dililitin kawat. Pada saat lilitan kawat dialiri arus, kontak besi tersebut akan menjadi magnet dan saling menempel sehingga menjadi saklar yang on. Ketika arus pada lilitan dihentikan medan magnet hilang dan kontak kembali terbuka (off).
Gambar 2.10.
Bentuk Fisik Relay
http://digilib.mercubuana.ac.id/
19
Prinsip Kerja Relay Coil adalah gulungan kawat yang mendapat arus listrik, sedang contact adalah sejenis saklar yang pergerakannya tergantung dari ada tidaknya arus listrik dicoil. Contact ada 2 jenis : Normally Open (kondisi awal 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
Gambar 2.11.
Inside SPST Relay
2.5.2. Kipas / Motor DC Motor listrik merupakan perangkat elektromagnetis yang mengubah energi listrik menjadi energi mekanik. Energi mekanik digunakan untuk memutar impeller pompa, fan atau blower, menggerakkan kompresor dan lain- lain. Motor DC memerlukan suplai tegangan yang searah pada kumparan medan untuk diubah menjadi energi mekanik. Motor DC merupakan sebuah aktuator yang mengubah besaran listrik menjadi sistem yang gerak mekanis. Polaritas arus yang mengalir melalui kawat lilitan yang akan menentukan arah putaran motor. Nilai arus yang mengalir melalui lilitan.
http://digilib.mercubuana.ac.id/
20
Prinsip kerja dari arus searah adalah membalik phase tegangan dari gelombang yang mempunyai nilai positif dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan jangkar yang berputar dalam medan magnet.
Gambar 2.12. Kipas / Motor DC 2.5.3. 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 berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya.
Gambar 2.13.
Transistor
Pada umumnya, transistor memiliki 3 terminal, yaitu Basis (B), Emitor (E) dan Kolektor (C). Tegangan yang di satu terminalnya misalnya Emitor dapat
http://digilib.mercubuana.ac.id/
21
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 lainnya. Salah satu transistor yang digunakan dalam tugas akhir ini adalah transistor Darlington. Transistor Darlington adalah rangkaian elektronika yang terdiri dari sepasang transistor bipolar (dwi kutub) yang tersambung secara tandem (seri). Sambungan seri seperti ini dipakai untuk mendapatkan penguatan (gain) yang tinggi, karena hasil penguatan pada transistor yang pertama akan dikuatkan lebih lanjut oleh transistor kedua. Keuntungan dari rangkaian Darlington adalah penggunaan ruang yang lebih kecil dari pada rangkaian dua buah transistor biasa dengan bentuk konfigurasi yang sama. Penguatan arus listrik atau gain dari rangkaian transistor Darlington ini sering dituliskan dengan notasi β atau hFE.
Gambar 2.14.
Diagram Rangkaian dari Transistor Darlington
http://digilib.mercubuana.ac.id/
22
Transistor Darlington bersifat seolah-olah sebagai satu transistor tunggal yang mempunyai penguatan arus yang tinggi. Penguatan total dari rangkaian ini merupakan hasil kali dari penguatan masing - masing transistor yang dipakai. Jika rangkaian dipakai dalam moda tunggal emitor maka RE adalah nol dan Nilai penguatan total dari transistor Darlington bisa mencapai 1000 kali atau lebih. Dari luar transistor Darlington nampak seperti transistor biasa dengan 3 buah kutub: B (basis), C (Kolektor), dan E (Emitter). Dari segi tegangan listriknya, voltase baseemitter rangkaian ini juga lebih besar, dan secara umum merupakan jumlah dari kedua tegangan masing-masing transistornya. 2.5.4. Buzzer Buzzer adalah suatu alat yang dapat mengubah sinyal listrik menjadi sinyal suara.
Pada
umumnya buzzer digunakan
untuk
alarm,
karena
penggunaannya cukup mudah yaitu dengan memberikan tegangan input maka buzzer akan mengeluarkan bunyi. Frekuensi suara yang dikeluarkan oleh buzzer yaitu antara 1-5 KHz.( Albert Paul, Prinsip-prinsip Elektronika, 1989 hal : 134).
Gambar 2.15. 2.6.
Simbol Buzzer
Bahasa Pemrograman Arduino Arduino board merupakan perangkat yang berbasiskan mikrokontroler.
Perangkat lunak (software) merupakan komponen yang membuat sebuah mikrokontroller dapat bekerja. Arduino board akan bekerja sesuai dengan perintah yang ada dalam perangkat lunak yang ditanamkan padanya.
http://digilib.mercubuana.ac.id/
23
Bahasa Pemrograman Arduino adalah bahasa pemrograman utama yang digunakan untuk membuat program untuk arduino board. Bahasa pemrograman arduino menggunakan bahasa pemrograman C sebagai dasarnya. Karena menggunakan bahasa pemrograman C sebagai dasarnya, bahasa pemrograman arduino memiliki banyak sekali kemiripan, walaupun beberapa hal telah berubah. Struktur Setiap program dalam arduino board terdiri dari dua fungsi utama yaitu setup() dan loop(). Instruksi yang berada dalam fungsi setup() dieksekusi hanya sekali, yaitu ketika arduino board pertama kali dihidupkan. Biasanya instuksi yang berada pada fungsi setup() merupakan konfigurasi dan inisialisasi dari arduino board. Instruksi yang berada pada fungsi loop() dieksekusi berulang- ulang hingga arduino board dimatikan (catu daya diputus). Fungsi loop() merupakan tugas utama dari arduino board. Jadi setiap program yang menggunakan bahasa pemrograman arduino memilliki struktur sebagai berikut :
Program diatas dapat dianalogikan dalam bahasa C sebagai berikut :
http://digilib.mercubuana.ac.id/
24
Konstanta Konstanta adalah variable yang sudah ditetapkan sebelumnya dalam bahasa pemrograman arduino. Konstanta digunakan agar program lebih mudah untuk dibaca dan dimengerti. Konstanta dibagi menjadi 3 kelompok yaitu : a. Konstanta yang digunakan untuk menunjukkan tingkat logika (konstanta Boolean), yaitu true dan false b. Konstanta untuk menunjukkan keadaan pin, yaitu HIGH dan LOW c. Konstanta untuk menunjukkan fungsi pin, yaitu INPUT, INPUT_PULLUP dan OUTPUT Konstanta yang digunakan untuk menunjukkan benar atau salah dalam bahasa pemrograman arduino adalah true dan false. False lebih mudah didefinisikan daripada true. False didefinisikan sebagai 0(nol). True sering didefinisikan sebagai 1(satu), yang mana hal ini benar, tetapi true memiliki definisi yang lebih luas. Setiap integer yang bukan nol adalah true dalam pengertian Boolean. Jadi -2, 3 dan -100 semuanya didefinisikan sebagai true, juga dalam pengertian Boolean. Tidak seperti konstanta yang lain true dan false diketik dengan menggunakan huruf kecil. Ketika membaca atau menulis ke sebuah pin digital, terdapat hanya dua nilai yang dapat diberikan atau diterima, yaitu HIGH dan LOW. HIGH memiliki arti yang berbeda tergantung apakah sebuah pin dikonfigurasi menjadi masukan atau keluaran. Ketika pin dikonfigurasi sebagai masukan dengan fungsi pinMode(), lalu kemudian dibaca dengan fungsi digitalRead(), mikrokontroler akan melaporkan nilai HIGH jika tegangan yang ada pada pin tersebut berada pada tegangan 3 volt atau lebih.
http://digilib.mercubuana.ac.id/
25
Ketika sebuah pin dikonfigurasi sebagai masukan, dan kemudian dibuat bernilai HIGH dengan fungsi digitalWrite(), maka resistor pull- up internal dari chip ATmega akan aktif, yang akan membawa pin masukan ke nilai HIGH kecuali pin tersebut ditarik (pull-down) ke nilai LOW oleh sirkuit dari luar. Ketika pin dikonfigurasi sebagai keluaran dengan fungsi pinMode(), dan diset ke nilai HIGH dengan fungsi digitalWrite(), maka pin berada pada tegangan 5 volt. Dalam keadaan ini, pin tersebut dapat memberikan arus, sebagai contoh, untuk menghidupkan LED yang terhubung seri dengan resistor dan ground, atau pin lain yang dikonfigurasi sebagai keluaran dan diberi nilai LOW. Sama seperti HIGH, LOW juga memiliki arti yang berbeda bergantung pada konfigurasi pin. Ketika pin dikonfigurasi sebagai masukan, maka mikrokontroler akam melaporkan nilai LOW jika tegangan yang terdapat pada pin berada pada tegangan 2 volt atau kurang. Ketika pin dikonfigurasi sebagai keluaran dan diberi nilai LOW maka pin berada pada tegangan 0 volt. Setiap pin pada arduino dapat dikonfigurasi sebagai masukan, masukan dengan resistor pull- up atau keluaran. Untuk mengkonfigurasi fungsi pin pada arduino digunakan konstanta INPUT, INPUT_PULLUP dan OUTPUT. Pin arduino yang dikonfigurasi sebagai masukan dengan fungsi pinMode() dikatakan berada dalam kondisi berimpedansi tinggi. Pin yang dikonfigurasi sebagai masukan memiliki permintaan yang dangat kecil kepada sikuit yang di-samplingnya, setara dengan sebuah resistor 100 Megaohm dipasang seri dengan pin tersebut. Hal ini membuat pin tersebut berguna untuk membaca sensor, tetapi tidak untuk menghidupkan sebuah LED.
http://digilib.mercubuana.ac.id/
26
Cip ATmega pada arduino memiliki resisitor pull- up internal (resistor yang terhubung ke sumber tegangan secara internal) yang dapat digunakan. Untuk menggunakan resistor pull- up internal ini kita menggunakan konstatnta INPUT_PULLUP pada fungsi pinMode(). Pin yang dikonfigurasi menjadi sebuah keluaran dikatakan berada dalam kondisi berimpedansi rendah. Hal ini berarti pin tersebut dapat menyediakan sejumlah besar arus ke sirkuit yang lain. Pin pada ATmega mampu menyediakan arus hingga 40 mA.
Fungsi Masukan dan Keluaran Digital Arduino memiliki 3 fungsi untuk masukan dan keluaran digital pada arduino board,
yaitu pinMode(), digitalWrite() dan digitalRead().Fungsi
pinMode() mengkonfigurasi pin tertentu untuk berfungsi sebagai masukan atau keluaran. Sintaksis untuk fungsi pinMode() adalah sebagai berikut : pinMode(pin, mode) Parameter:
Pin
: angka dari pin digital yang akan dikonfigurasi
Mode : konfigurasi yang diinginkan (INPUT, INPUT_PULLUP dan OUTPUT).
Fungsi digitalWrite() berfungsi untuk memberikan nilai HIGH atau LOW suatu digital pin. Sintaksis untuk fungsi digitalWrite() adalah sebagai berikut: digitalWrite(pin, value)
http://digilib.mercubuana.ac.id/
27
Parameter:
Pin
: Angka dari pin digital yang akan dikonfigurasi
Mode : Konfigurasi yang diinginkan (INPUT, INPUT_PULLUP dan OUTPUT).
Fungsi digitalRead() bertujuan untuk membaca nilai yang ada pada pin arduino uno. Sintaksis untuk fungsi digitalRead() adalah sebagai berikut: digitalRead(pin) Parameter:
Pin
: angka dari pin digital yang akan dibaca
Berikut ini adalah contoh penggunaan fungsi masukan dan keluaran digital dalam sebuah program: int ledPin = 13; // LED terhubung ke pin digital 13 int inPin = 7; // pushbutton terhubung ke pin digital 7 int val = 0; // variable untuk menyimpan sebuah nilai void setup() { pinMode(ledPin, OUTPUT); // set pin digital 13 sebagai keluaan pinMode(inPin, INPUT); // set pin digital 13 sebagai masukan } void loop() { val = digitalRead(inPin); // baca nilai pin input
http://digilib.mercubuana.ac.id/
28
digitalWrite(ledPin, val); // sets LED sesuai dengan nilai val } 2.7.
Arduino Development Environment Arduino Development Environment terdiri dari editor teks untuk menulis
kode, sebuah area pesan, sebuah konsol, sebuah toolbar dengan tomol- tombol untuk fungsi yang umum dan beberapa menu. Arduino Development Environment terhubung ke arduino board untuk meng-upload program dan juga untuk berkomunikasi dengan arduino board. Perangkat lunak yang ditulis menggunakan Arduino Development Environment disebut sketch. Sketch ditulis pada editor teks. Sketch disimpan dengan file berekstensi .ino. Area pesan memberikan memberikan informasi dan pesan error ketika kita menyimpan atau membuka sketch. Konsol menampilkan output teks dari Arduino Development Environment dan juga menampilkan pesan error ketika kita mengkompile sketch. Pada sudut kanan bawah dari jendela Arduino Development Environment menunjukkan jenis board dan port seriak yang sedang digunakan. Tombol toolbar digunakan utuk mengecek dan mengupload
sketch,
membuat,
membuka atau
menampilkan serial monitor.
http://digilib.mercubuana.ac.id/
menyimpan sketch, dan
29
Gambar 2.16.
Arduino Development Environment
Berikut ini adalah tombol-tombol toolbar serta fungsinya : Verify : mengecek error pada code program. Upload : meng-compile dan meng-upload program ke Arduino board. New : membuat sketch baru. Open : menampilkan sebuah menu dari seluruh sketch yang berada di dalam sketchbook. Save : menyimpan sketch. Serial Monitor : membuka serial monitor
Dalam lingkungan arduino digunakan sebuah konsep yang disebut sketchbook, yaitu tempat standar untuk menumpan program (sketch). Sketch yang ada pada sketchbook dapat dibuka dari menu File > Sketchbook atau dari tombol open pada toolbar. Ketika pertama kali menjalankan arduino development
http://digilib.mercubuana.ac.id/
30
environment, sebuah direktori akan dibuat secara otomatis untuk tempat penyimpana sketchbook. Kita dapat melihat atau mengganti lokasi dari direktori tersebut dari menu File > Preferences. Serial monitor menampilkan data serial yang sedang dikirim dari arduino board. Untuk mengirim data ke board, masukkan teks dan klik tombol send atau tekan enter pada keyboard. Sebelum meng-upload program, kita perlu mensetting jenis board dan port serial yang sedang kita gunakan melalui menu Tools > Board dan Tools > Serial Port. Pemilihan board berguna untuk mengeset parameter (contohnya : kecepatan mikrokontroler dan baud rate) yang digunakan ketika meng-compile dan mengupload sketch. Setelah memilih board dan port serial yang tepat, tekan tombol upload pada toolbar atau pilih menu File > Upload. Arduino board akan me-reset secara otomatis dan proses upload akan dimulai. Pada kebanyakan board, LED RX dan TX akan berkedip ketika program sedang di- upload. Arduino development environment akan menampilkan pesan ketika proses upload telah selesai, atau menampilkan pesan error. Ketika sedang meng-upload program, arduino bootloader sedang digunakan, Arduinp bootloader adalah sebuah program kecil yang telah ditanamkan pada mikrokontroler yang berada pada arduino board. Bootloader ini mengijinkan kita meng- upload program tanpa menggunakan perangkat keras tambahan.
http://digilib.mercubuana.ac.id/
31
2.8.
Web Server Dengan terus melajunya roda perkembangan teknologi, web berkembang
menjadi alat bantu yang tidak hanya mampu menyediakan informasi, namun juga mampu untuk mengolah informasi. Proses pengolahan informasi dengan memanfaatkan teknologi web menyebabkan web menjadi media informasi yang dinamis. Hal ini membutuhkan penggunaan sarana teknis yang menentukan. Sarana tersebut banyak bergantung pada penggunaan perangkat lunak yang kuat, aman, terpercaya, dan cepat. Perangkat lunak penentu yang dibutuhkan antara lain adalah sebuah sever-side scripting language, atau juga disebut sebagai CGI (Common Gateway Interface), yang banyak tersedia di pasaran seperti: Perl, ASP (Active Server Page), Cold Fusion, Python, dan PHP. 2.8.1. Sejarah PHP (Hypertext Preprocessor) PHP adalah suatu bahasa server-side yang didesain khusus untuk aplikasi web. PHP dapat disisipkan diantara HTML dan karena bahasa server-side, maka bahasa PHP akan dieksekusi di server, yang dikirimkan ke browser adalah “hasil jadi” bentuk HTML, dan kode PHP tidak akan terlihat. PHP dahulu merupakan proyek pribadi dari Rasmus Lerdorf tahun 1994 (dengan dikeluarkannya PHP versi 1 yang digunakan untuk membuat home page pribadi yang dipublikasikan 8 Juni 1995). Versi pertama ini berupa kumpulan script PERL. Untuk versi kedua Rasmus menulis ulang script-script PERL tersebut menggunakan bahasa C, kemudian menambahkan fasilitas untuk form HTML dan koneksi MySQL. Adapun PHP didapat dari singkatan PHP Hypertext Preprocessor. Setelah mengalami perkembangan, Zeev Suraski dan Andi Gutmans (termasuk Rasmus) yang tergabung dalam suatu kelompok open source, maka
http://digilib.mercubuana.ac.id/
32
mereka memulai versi 3 PHP nya, PHP telah menampakkan keunggulan sebagai salah satu bahasa server scripting yang handal. Melalui perkembangan yang pesat ini banyak fasilitas yang ditambahkan oleh kelompok ini PHP disebut sebgai “PHP : Hypertext Preprocessor”. Pada bulan Mei 2000 dirilis PHP versi 4 yang dikeluarkan oleh Zend Engine yaitu sebuah produk yang diciptakan oleh Suraski dan Gutmans. Kehandalan PHP diperlengkap dengan dirilisnya PHP versi 5 pada 13 Juli 2004 yang mendukung OOP serta berbagai manajemen database yang luas dan penanganan error yang mudah. Sintak yang digunakan berasal dari bahsa C, Java maupun PERL. Sampai tulisan ini dibuat versi PHP yang terbaru adalah versi 5.2.0 yang dirilis pada November 2006. PHP merupakan bahasa script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. Oleh karena itu, spesifikasi server lebih berpengaruh pada eksekusi dari script php daripada spesifikasi client. Namun tetap diperhatikan bahwa web yangdihasilkan tentunya harus dapat dibuka oleh browser pada client. Dalam hal ini versi dari html yang digunakan harus didukung oleh browser client. PHP termasuk dalam Open Source Product. Jadi dapat menambah source code dan dapat mendistribusikannya secara bebas. PHP juga diedarkan secara gratis. Kita bisa mendapatkannya secara gratis. PHP juga dapat berjalan diberbagai web server semisal IIS, Apache, PWS, dll. 2.8.2. PHP 5
http://digilib.mercubuana.ac.id/
33
PHP 5 dirilis tanggal 13 Juli 2004. PHP 5 dapat digunakan pada hampir semua sistem operasi utama, seperi Linux, varian Unix (mencakup HP-UX, Solaris, dan Openbsd), Microsoft Windows, Mac OS X, RISC o, dan mungkin juga yanga lain. PHP juga mendukung hampir semua web server, seperti Apache, Microsoft Internet Information Server, Personal Web Server, Netscape, dan iPlanet Servers, Oreilley Website Pro Server, Caudium, Xitami, Omni HTTPd, dan lain- lain. Sebagian besar server PHP mempunyai modul dan untuk yang mendukung standar CGI maka PHP bekerja sebagai pemroses CGI. PHP memberi kebebasan untuk memilih sistem operasi dan server web. PHP juga mmberi pilihan untuk menggunakan pemrograman biasa atau program berorientasi objek (Object Oriented Programming/OOP) atau gabungan keduanya. PHP tidak membatasi jumlah HTML yang dihasilkan. Kemampuan PHP meliputi dukungan terhadap gambar, file PDF, dan bahkan movie flash (menggunakan libswf dan ming) secara on the fly. PHP juga mendukung teks, seperti file XHTML dan XML. Salah satu fitur paling penting pada PHP adalah PHP mendukung banyak basis data. Membuat web yang menampilkan basis data bukan hal sulit untuk PHP. Sistem database yang didukung oleh PHP 5 adalah : Adabas D, dBase, Empress, File Pro, Hyperware, IBM DB2, Informix, Ingres, Inter Base, Front Base Direct MS-SQL, MySQL, ODBC, Oracle (OC17 dan OC18), Ovrimos, PostgreSQL, SQLite, Solid, Sybase, Velocis, Unix dbm. PHP mempunyai ekstensi DBX yang memungkinkan penggunaan basis data dengan ekstensi tersebut. Apalagi PHP mendukung ODBC (Open Database Connection Standard)
http://digilib.mercubuana.ac.id/
34
sehingga dapat menghubungkan PHP ke basis data mana pun yang mendukung standard ini. PHP mendukung komunikasi dengan layanan lain menggunakan protokol seprti LDAP,IMAP, SNMP, NNTP, POP3, HTTP, dan COM (pada Windows). User juga dapat membuka soket jaringan dan berinteraksi dengan protokol lain. PHP mendukung pertukaran data kompleks WDDX secara virtual pada semua bahasa pemrograman web. Untuk interkoneksi, PHP mendukung perubahan objek Java dan menggunakannya sebgai objek PHP. Penggunaan ekstensi CORBA dapat digunakan untuk mengakses objek jarak jauh. PHP mempunyai fitur text processing yang sangat bermanfaat, dari POSIX Extended atau Perl Regular Expression untuk mem-parsing dokumen . Untuk memparsing dan mengakses dokumen XML, PHP 4 mendukung standard SAXOFON dan DOM. Untuk mengubah dokumen XSLT. PHP 5 menstandarisasi semua ekstensi XML menjadi libxml2 yang tangguh dan memperluas fitur dengan menambahkan SimpleXML dan mendukung XMLREADER. Penggunaan PHP dalam bidang ecommerce meliputi pembayaran Cybercash, Cybermut, VeriSign Payflow Pro, dan fungsi MCVE yang bermanfaat untuk program pembayaran secara online. Fitur-fitur lain yang mendukung PHP 5 adalah fungsi mesin pencari mnoGoSearch, fungsi Getewy IRC, utilitas pemadat (gzip, bz2), konversi penanggalan, terjemahan, dan lain-lain. PHP 5 dan Zend Engine 2 telah memperbaiki tampilan dan kemampuan PHP. Hanya ada sedikit perubahan kode sehingga perubahan kode dari PHP 4 menjadi PHP 5 sangat mudah, Sebagian besar kode PHP 4 masih dapat berjalan
http://digilib.mercubuana.ac.id/
35
tanpa mengalami perubahan, tetapi tetap harus teliti terhadap sedikit perubahan yang ada. 2.9.
Basis data (Database) Menurut McLeod, Basisdata adalah kumpulan seluruh sumber daya
berbasis komputer milik organisasi [SP06]. Sistem manajemen basis data adalah aplikasi perangkat lunak yang menyimpan struktur basis data, hubungan antar data dalam basis data, serta berbagai formulir dan laporan yang berkaitan dengan basis data. Basis data yang dikendalikan oleh sistem manajemen basis data adalah satu set catatan data yang berhubungan dan saling menjelaskan. Salah
satu
cara
menyimpan
informasi
pada
komputer
adalah
menyimpannya pada file- file sistem operasi. Agar pengguna dapat memanipulasi informasi,
sistem
operasi
memiliki
sejumlah
program
aplikasi
untuk
memanipulasi file. Sebagai contoh :
Program untuk menambah atau mengurangi jumlah uang dalam rekening.
Program untuk membuat rekening baru.
Program untuk menghitung saldo rekening.
Program untuk membuat laporan bulanan.
Program aplikasi baru ditambahkan ke dalam sistem jika dibutuhkan. Misalnya bank memutuskan untuk menawarkan pengecekan rekening. Sebagai hasilnya, bank membuat file- file baru berisi informasi semua rekening yang disimpan. Oleh karena itu, dengan berjalannya waktu, sistem membutuhkan lebih banyak file dan lebih banyak program aplikasi.
http://digilib.mercubuana.ac.id/
36
DBMS adalah bagian perangkat lunak yang dirancang untuk membuat tugas sebelumnya menjadi lebih mudah. Dengan menyimpan data dalam DBMS daripada sebagai kumpulan file sistem operasi, user dapat menggunakan fitur DBMS untuk mengelola data secara efisien. Karena volume data dan pengguna terus bertambah, ratusan gigabyte data dan ribuan pengguna merupakan hal biasa dalam basisdata perusahaan saat ini sehingga dukungan DBMS sangat diperlukan [SP06].
Gambar 2.17.
Konsep DBMS
Gambar 2.18.
Konsep DBMS
Sistem pemrosesan file didukung oleh sistem operasi konvensional. Sistem file menyimpan record-record bermacam- macam file, membutuhkan program aplikasi yang berbeda untuk memilah record suatu file, dan menambahkan rcord ke dalam suatu file. Sebelum sistem manajemen basis data muncul, perusahaan-
http://digilib.mercubuana.ac.id/
37
perusahaan menyimpan informasi dalam sistem file memiliki sejumlah kelemahan [SP06], yaitu :
2.10.
Pengulangan dan ketidakkonsistenan data
Kesulitan mengkases data
Masalah integritas
Masalah atomik
Anomali akses bersamaan
Masalah keamanan
MySQL Database MySQL merupakan sistem manajemen basis data SQL yang
sangat terkenal dan bersifat open source. MySQL dibangun, didistribusikan dan didukung oleh MySQL AB. MySQL AB merupakan perusahaan komersial yang dibiayai oleh pengembang MySQL. MySQL mempunyai dua macam lisensi yaitu lisensi yang bersifat open source dengan menggunakan GNU (General Public License) dan lisensi kedua berupa Standard Commercial License yang dapat dibeli dari MySQL AB.
MySQL merupakan sistem manajemen database. Database merupakan struktur dari penyimpanan data. Untuk menambah, mengakses, dan memproses data yang disimpan dalam sebuah database komputer maka diperlukan sistem manajemen database sepeti MySQL Server.
MySQL merupakan sistem manajemen database terhubung (relational database management system). Database terhubung menyimpan data pada tabel- tabel terpisah. Hal tersebut akan menambah kecepatan dan fleksibilitasnya. Kata SQL pada MySQL merupakan singkatan dari
http://digilib.mercubuana.ac.id/
38
Structured Query Language. SQL merupakan bahasa standar yang digunakan untuk mengakses database dan ditetapkan oleh ANSI/ISO SQL Standard.
MySQL merupakan software open source. Open source berarti semua orang diijinkan untuk menggunakan dan memodifikasinya. Semua orang dapat mendownload software MySQL dari internet dan menggunakannya tanpa harus membayar.
MySQL database server mempunyai kecepatan akses yang tinggi, mudah digunakan, serta handal. MySQL dikembangkan untuk menangani database yang besar secara cepat dan telah sukses digunakan selama bertahun-tahun. Karena konektivitas, kecepatan dan keamanannya, MySQL server cocok untuk mengakses database di internet.
MySQL bekerja di Client/Server atau sistem embedded. Software database MySQL merupakan sistem client / server yang terdiri dari multithread SQL server yang mendukung software klien dan library yang berbeda, administrative tools, dan sejumlah Application Programming Intrfaces (APIs).
MySQL tersedia dalam beberapa macam bahasa. Fitur utama dari MySQL adalah : Bekerja dalam berbagai platform, misalnya Mac OS X, Solaris, Sun OS, Unix, Novell Netware, Windows, dan lain-lain. Menyediakan mesin penyimpan (engine storage) transaksi dan nontransaksi
http://digilib.mercubuana.ac.id/
39
Server tersedia sebagai program yang terpisah untuk digunkan pada lingkungan jaringan client/server. MySQL mempunyai library yang dapat ditempelkan pada aplikasi yang berdiri sendiri (standalone application) sehingga aplikasi tersebut dapat digunakan pada komputer yang tidak berada dalam jaringan. Mempunyai sistem password yang fleksibel dan aman. Dapat menangani basidata dalam skala besar. Basisdata dalam MySQL Server dapat berisi 50 juta record. Klien dapat terkoneksi ke MySQL Server menggunakan socket TCP/IP pada platform manapun. Server dapat mengirim pesan error ke klien dalam berbagai bahasa.
MySQL termasuk jenis RDBMS (Relational Database Management System). Pada MySQL sebuah database terdiri dari tabel-tabel, sebuah tabel terdiri dari baris dan kolom. Dalam konteks bahasa SQL, informasi disimpan dalam tabel-tabel yang secara logis merupakan struktur dua dimensi yang tersimpan atas baris-baris data (row atau record) yang berada dalam satu atau lebih kolom (column). Baris pada tabel disebut sebagai instance dari data sedangkan kolom sering disebut sebagai attributes atau field. MySQL mempunyai logo berupa ikan lumba-lumba yang bernama Sakila. Nama tersebut merupakan kontribusi dari pemenang kontes “Nama Lumbalumba” yang diadakan oleh MySQL AB. Pemenang kontes tersebut bernama
http://digilib.mercubuana.ac.id/
40
Ambroze Twebaze, seorang developer software open source dari Swaziland, Afrika. Menurut Ambroze nama Sakila berasal dari SISwati bahasa lokal Swaziland. Sakila juga merupakan nama kota di Arusha Tanzania. MySQL yang berjalan di sistem operasi Windows terbukti sangat stabil. MySQL versi Windows mempunyai fitur yang sama dengan MySQL versi Unix, kecuali dalam hal-hal berikut :
Jumlah port di Windows terbatas. Sistem Windows mempunyai sekitar 4000 port yang tersedia untuk konekesi klien. Setelah koneksi pada sebuah port ditutup maka dibutuhkan waktu dua sampai empat menit untuk menggunakan kembali port tersebut. Apabila proses koneksi dan dsikoneksi antara klien dan server terjadi dalam kecepatan tinggi, koneksi MySQL akan memakai port-port lain sebelum port yang tertutup terbuka kembali. Hal ini akan menyebabkan server MySQL tampak tidak aktif meskipun sedang aktif. Port yang diset untuk MySQL dapat juga dipakai oleh aplikasi lain yang sedang berjalan di Windows sehingga jumlah port untuk MySQL berkurang jumlahnya.
Terbatasnya jumlah file yang dapat dibuka secara serempak. MySQL
menjalankan
fungsi pread()
dan
pwrite()
untuk
menjalankan perintah INSERT dan SELECT. Saat ini di W indows digunakan mutexes untuk menyamai pread() dan pwrite(). Proses itu akan berlangsung lama sehingga antarmuka filediganti dengan virtual interface sehingga readfile() dan writefile() pada NT, 2000, dan XP dapat lebih cepat. Implementasi ini menyebabkan file
http://digilib.mercubuana.ac.id/
41
MySQL yang dapat dibuka pada Windows hanya terbatas 2048 buah. Jumlah ini sangat sedikit jika dibandingkan dengan jumlah file MySQL yang dapat dibuka di Unix.
Dukungan tipe data yang bermacam- macam seperti: integer 1-4, 8 bytes long, FLOAT, DOUBLE, C HAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, dan ENUM.
2.11.
Protokol TCP/IP
2.11.1. Pengertian TCP/IP TCP/IP (singkatan dari Transmission Control Protocol/Internet Protocol) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar- menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol ini tidaklah dapat berdiri sendiri, karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada perangkat lunak ini adalah TCP/IP stack.
2.11.2. Sejarah TCP/IP Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputerkomputer dan jaringan untuk membentuk sebuah jaringan yang luas. TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap
http://digilib.mercubuana.ac.id/
42
mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema pengalamata n yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan hingga beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di Internet. Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan sistem-sistem berbeda (seperti Microsoft Windows dan keluarga UNIX) untuk membentuk jaringan yang heterogen. Transmission Control Protocol/Internet Protocol (TCP/IP) adalah satu set aturan standar komunikasi data yang digunakan dalam proses transfer data dari satu komputer ke komputer lain di jaringan komputer tanpa melihat perbedaan jenis hardware. Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di system operasi. Protokol TCP/IP dikembangkan dalam riset pertama kali oleh Defense Advanced Research Projects Agency (DARPA) di Amerika Serikat dan paling banyak digunakan saat ini yang implementasinya dalam bentuk perangkat lunak (software) di sistem operasi. Protokol TCP/IP selalu berevolusi seiring dengan waktu, mengingat semakin banyaknya kebutuhan terhadap jaringan komputer dan Internet. Pengembangan ini dilakukan oleh beberapa badan, seperti halnya Internet Society (ISOC), Internet Architecture Board (IAB), dan Internet Engineering Task Force (IETF). Macam- macam protokol yang berjalan di atas TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen yang disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.
http://digilib.mercubuana.ac.id/
43
TCP/IP pun mempunyai beberapa layer, layer-layer itu adalah : a. IP (internet protocol) yang berperan dalam pentransmisian paket data dari node ke node. IP mendahului setiap paket data berdasarkan 4 byte (untuk versi IPv4) alamat tujuan (nomor IP). Internet authorities menciptakan range angka untuk organisasi yang berbeda. Organisasi menciptakan grup dengan nomornya untuk departemen. IP bekerja pada mesin gateaway yang memindahkan data dari departemen ke organisasi kemudian ke region dan kemudian ke seluruh dunia. b. TCP (transmission transfer protocol) berperan didalam memperbaiki pengiriman data yang benar dari suatu klien ke server. Data dapat hilang di tengah-tengah jaringan. TCP dapat mendeteksi error atau data yang hilang dan kemudian melakukan transmisi ulang sampai data diterima dengan benar dan lengkap. c. Sockets yaitu merupakan nama yang diberikan kepada paket yang menyediakan akses ke TCP/IP pada kebanyakan sistem.
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. Protokol perlu diutamakan pada penggunaan standar teknis, untuk menspesifikasi bagaimana membangun komputer atau menghubungkan peralatan perangkat keras. Protokol secara umum digunakan pada komunikasi real-time
http://digilib.mercubuana.ac.id/
44
dimanastandar digunakan untuk mengatur struktur dari informasi untuk penyimpanan jangka panjang. Sangat sulit untuk mengelompokkan protokol dikarenakan protokol memiliki banyak variasi didalam tujuan penggunaanya. Kebanyakan protokol memiliki salah satu atau beberapa dari hal berikut:Melakukan deteksi adanya koneksi fisik atau ada tidaknya komputer atau mesin lainnya. a. Melakukan metode “jabat-tangan” (handshaking). b. Negosiasi berbagai macam karakteristik hubungan. c. Mengawali dan mengakhiri suatu pesan. d. Melakukan format pesan yang digunakan. e. Mendeteksi saat terjadi kerusakan pesan atau pesan yang tidak sempurna. f.
Mendeteksi kelemahan pada hubungan jaringan dan langkah- langkah yang dilakukan selanjutnya
g. Mengakhiri suatu koneksi.
http://digilib.mercubuana.ac.id/