BAB II TINJAUAN PUSTAKA 2.1 Sistem Kendali Sistem kendali secara umum, merupakan suatu sistem yang berkaitan erat dengan metode, yang memungkinkan sebuah komputer, agar mampu berperan sebagai inti atau otak dari suatu sistem kendali. Komputer berguna mengontrol dan menerima input data dari alat terkendali. Metode inilah yang dikenal sebagai sistem kendali. Dalam sistem kendali dikenal istilah Sistem Kendali Loop Terbuka (Open Loop Control System) dan Sistem Kendali Loop Tertutup (Closed Loop Control System). Masing –masing sistem mempunyai cara kerja dan prinsip yang berbeda, namun dapat saling medukung. 2.1.1 Sistem Kendali Loop Terbuka Sistem kendali loop terbuka adalah sistem kendali yang sinyal keluarannya tidak berpengaruh terhadap proses pengendalian. Hal ini dikarenakan di dalam sistem kendali loop terbuka tidak terdapat proses umpan balik sinyal output yang menuju sinyal input. Dengan demikian di dalam sistem kendali jenis ini tidak ada proses untuk membandingkan antara sinyal keluaran dengan masukan (loop back). Gambar 2.1 memperlihatkan hubungan antara masukan dan keluaran sistem kendali loop terbuka. Masukan (Input) Elemen Kendali Alat Terkendali Keluaran (Output) Gambar 2.1 Sistem Kendali Loop Terbuka Dalam gambar 2.1 di perlihatkan input data masuk ke elemen kendali, dan elemen kendali akan memproses data masukan. Output dari elemen kendali akan mengendalikan alat terkendali. Gambar 2.1 juga menggambarkan bahwa keluaran yang dihasilkan tidak diumpan balikkan. Dengan kata lain elemen hanya memproses data masukan dan mengendalikan alat terkendali. 6 Contoh sistem kendali loop terbuka adalah sistem pengendalian tangan robot. Adapun gambaran sistem pengendalian tangan robot diperlihatkan pada gambar 2.2 Masukan Data Elemen Kendali (Komputer) Mekanisme Tangan Robot Gerakan Gambar 2.2 Sistem Pengendalian Tangan Robot Pada gambar 2.2 diperlihatkan masukan data akan masuk ke elemen pengendali (komputer) dan kemudian elemen kendali akan memprosesnya. Hasil dari proses pengolahan data akan digunakan untuk mengendalikan alat terkendali, yaitu mekanisme tangan robot. Tidak ada proses umpan balik dari output yang berupa gerakan. Contoh umpan balik pada aplikasi tangan robot ini adalah adanya proses untuk mengukur ketepatan derajat perputaran dan gerakan yang dihasilkan oleh tangan robot. 2.1.2 Sistem Kendali Loop Tertutup Sistem kendali loop tertutup adalah sistem kendali yang sinyal keluarannya mempunyai pengaruh langsung terhadap proses pengendalian. Yang menjadi ciri utama dari sistem kendali loop tertutup adalah adanya sinyal umpan balik. Gambar 2.3 adalah gambar dari sistem kendali loop tertutup. Error Detector Elemen Kendali Alat Terkendali Masukan (Input) Keluaran (Output) Sinyal Umpan Balik Gambar 2.3 Sistem Kendali Loop Tertutup Gambar 2.3 menunjukan sistem kendali loop tertutup. Input masuk ke elemen kendali untuk diproses dan output dari elemen kendali digunakan untuk 7 mengendalikan alat terkendali. Alat terkendali akan melakukan aksinya dan hasil dari aksi ini akan diumpan balikkan menuju error detector (komparator) untuk dibandingkan guna memperkeci kesalahan. Umpan balik ini dapat berupa berupa pemasangan sensor untuk melakukan proses pengukuran, dan hasil pengukuran tersebut diumpan balikkan ke error detector (komparator). Yang dimaksud elemen kendali dalam loop tertutup adalah suatu bagian sistem pengendali yang bertugas untuk menerima sinyal kesalahan dari komparator. Sinyal kesalahan ini kemudian diolah dan diteruskan ke bagian alat terkendali. Alat terkendali adalah sebuah perangkat yang dikendalikan oleh elemen kendali. Peranti ini hanya melaksanakan tugas sesuai perintah elemen kendali. Yang bertugas sebagai error detector adalah komparator. Komparator adalah suatu peranti yang digunakan untuk membandingkan dua besaran. Hasil output komparator ini nantinya akan diteruskan ke elemen kendali guna diproses lebih lanjut. Untuk lebih memahami pengendalian loop tertutup, dapat dilihat pada contoh penerapannya pada gambar 2.4. Komparator / Pembanding Sinyal Input Elemen Kendali (Komputer) Motor Listrik Keluaran (Rotasi) Sensor Kecepatan Gambar 2.4 Sistem Kendali Loop Tertutup Pada Motor Listrik Pada pengendalian motor listrik loop tertutup, hasil rotasi motor listrik akan ditangkap oleh sensor kecepatan. Sensor kecepatan ini berfungsi sebagai umpan balik. Hasil pemprosesan sensor kecepatan akan masuk ke error detector yang berupa komparator. Komparator akan membandingkan sinyal input dengan sinyal yang dihasilkan oleh sensor kecepatan. Hal ini dilakukan untuk mengetahui apakah kecepatan motor listrik sama dengan kecepatan yang diterima sensor atau tidak. Apabila putaran terlalu cepat maka komputer sebagai elemen kendali akan melambatkan putaran motor tersebut berdasarkan hasil komparasi pada 8 komparator. Komparator disini berfungsi sebagai error detector. Sistem loop disini berfungsi untuk menstabilkan dan meningkatkan presisi putaran motor. 2.2 Perangkat keras (Hardware) Pengertian dari hardware atau dalam bahasa indonesianya disebut juga dengan nama perangkat keras adalah salah satu komponen yang sifat alatnya bisa dilihat dan diraba oleh manusia secara langsung atau yang berbentuk nyata, yang berfungsi untuk mendukung suatu proses. Pada penelitian ini perangkat kerasnya antara lain sebagai berikut: 2.2.1 Central Processing Unit (CPU) CPU (Central Prosesing Unit) adalah suatu unit fungsional yang sangat penting di dalam suatu instalasi computer. Tugas utama CPU adalah mengontrol dan membimbing keseluruhan sistem computer selama pengolahan. 2.2.2 Sistem Bus Bus adalah kumpulan jalur komunikasi paralel yang menghubungkan dua atau lebih peralatan. Sistem bus menghubungkan CPU dengan memori utama dan komponen sistem lainnya. Peralatan lain dari CPU dan penyimpanan utama disebut peripheral device. Setiap jalur bus membawa sebuah nilai bit tunggal selama bus melakukan operasi pengiriman. Sistem komputer mempunyai beberapa bagian jalur bus termasuk data bus, address bus, dan control bus dengan jenis informasi yang dibawa secara khusus. 2.2.2.1 Memori Internal (Integrated Memory) Pengertian internal memori terbagi menjadi: Read Only Memory (ROM), berfungsi untuk menyimpan berbagai program yang berasal dari pabrik komputer. Sesuai dengan namanya, ROM (Read Only Memory), maka program yang tersimpan di dalam ROM, hanya bisa dibaca oleh para pemakai. 9 Random Access Memory (RAM), merupakan bagian memori yang bisa digunakan oleh para pemakai untuk menyimpan program dan data. ROM bisa diibaratkan sebuah tulisan yang sudah tercetak, para pemakai hanya bisa melakukan pembacaan data yang ada di dalam ROM tanpa bisa melakukan perubahan apapun pada tulisan yang ada pada ROM. ROM biasanya berisi program BIOS (Basic Input Output Sistem), program ini berfungsi untuk mengendalikan perpindahan data antara microprocessor ke komponen lain yang meliputi keyboard, monitor, printer dan lainnya. Program BIOS juga mempunyai fungsi untuk self-diagnostik, atau memeriksa kondisi yang ada di dalam dirinya. Program Linkage/Bootstrap, bertugas untuk memindahkan operating sistem yang tersimpan di dalam disket untuk kemudian ditempatkan di dalam RAM. RAM berfungsi untuk menyimpan program dan data dari pemakai komputer dalam bentuk pulsa-pulsa listrik, sehingga seandainya listrik yang ada dimatikan, maka program dan data yang tersimpan akan hilang. ROM menyimpan program yang berasal dari pabrik dalam bentuk komponen padat, sehingga tidak akan mengalami gangguan seandainya aliran listrik terputus. Isi RAM bisa dihapus oleh pemakai komputer, isi ROM tidak. Secara pisik, RAM berbentuk seperti sebuah chip yang sangat kecil, dan saat ini mampu menyimpan data antara 8 MB hingga 32 GB. Apabila pemakai komputer ingin menambah kapasitas memori yang dimilikinya, pemakai tinggal menambahkan chip RAM pada tempat yang telah disediakan (chip-set). Secara prinsip pengertian RAM terbagi menjadi Input Area tempat untuk menampung data-data input yang akan diolah. Program Area tempat untuk menampung program yang akan dipergunakan untuk memproses data. Working Area tempat untuk menampung kegiatan pengolahan data yang akan dikerjakan. Output Area tempat untuk menampung hasil pengolahan data. 2.2.3 Mikrokontroler Ada perbedaan yang cukup penting antara Mikroprosesor dan Mikrokontroler. Mikroprosesor merupakan CPU (Central Processing Unit) tanpa memori dan I/O pendukung dari sebuah komputer. Mikrokontroler terdiri dari 10 CPU, Memori , I/O tertentu dan unit pendukung, misalnya Analog to Digital Converter (ADC) yang sudah terintegrasi di dalam mikrokontroler tersebut. Kelebihan utama dari Mikrokontroler ialah telah tersedianya RAM dan peralatan I/O Pendukung sehingga ukuran board mikrokontroler menjadi sangat ringkas. Terdapat berbagai jenis mikrokontroler dari berbagai vendor yang digunakan secara luas di dunia. Diantaranya yang terkenal ialah dari Intel, Maxim, Motorolla , dan ATMEL. Beberapa seri mikrokontroler yang digunakan secara luas ialah 8031, 68HC11, 6502 , 2051 dan 89S51. Mikrokontroler yang mendukung jaringan komputer seperti DS80C400 tampaknya akan menjadi primadona pada tahuntahun mendatang. 2.2.3.1 Mikrokontroler AT Mega8535 Perkembangan teknologi telah maju dengan pesat dalam perkembangan dunia elektronika, khususnya dunia mikroelektronika. Penemuan silikon menyebabkan bidang ini mampu memberikan sumbangan yang amat berharga bagi perkembangan teknologi modern. Atmel sebagai salah satu vendor yang mengembangkan dan memasarkan produk mikroelektronika telah menjadi suatu standar teknologi bagi para desainer sistem elektronika masa kini. Dengan perkembangan terakhir, yaitu generasi AVR (Alf and Vegard s Risc processor), para desainer sistem elcktronika telah diberi suatu teknologi yang memiliki kapabilitas yang amat maju, tetapi dengan biaya ekonomis yang cukup minimal. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, di mana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock yang menyebabkan dalam frekwensi kerja yang sama, mikrokontroler AVR bekerja sampai 12 kali lebih cepat bila dibandingkan dengan mikrokontroler seri MCS51. Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang bcrbeda. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 bertcknologi CISC (Complex Instruction Set Computing). Secana umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, 11 keluarga ATMega,dan AT86RFxx. Pada dasarnya yang membedakan masingmasing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan hampir sama. 2.2.3.2 Konfigurasi Pin Pada AT Mega8535 Gambar 2.5 Konfigurasi Pin Pada ATMega8535 dekan paket PDIP Konfigurasi pin ATMega8535 bisa dilihat pada Gambar. Dari gambar tersebut dapat diijelaskan seeara fungsional konfigurasi pin ATMega8535 sebagai berikut: VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. GND merupakan pin ground. Port A (PA0 sampai PA7) merupakan pin I/O dua arah dan pin masukan ADC channel 0 sampai channel 7. Port B (PB0 sampai PB7) merupakan pin I/O dua arah dan pin fungsi khusus yang mencangkup Timer/Counter, komparator analog, ISP (In System Programmer) dan SPI (Serial Peripheral Interface). Port C (PC0 sampai PC7) merupakan pin I/O dua arah dan pin fungsi khusus yang mencangkup TWI (Two Wire Interface), komparator analog, channel PWM (Pulse Width Modulation), dan Timer Oscillator. 12 Port D (PD0 sampai PD7) merupakan pin I/O dua arah dan pin fungsi khusus yang mencakup komparator analog, interupsi eksternal, dan komunikasi serial USART. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler. XTAL 1 dan XTAL2 merupakan pin masukan clock eksternal. AVCC merupakan pin masukan tegangan catu untuk ADC. AREF merupakan pin masukan tegangan referensi ADC 2.2.4 Relay Relay adalah peralatan sederhana yang menggunakan medan magnetik untuk mengontrol saklar. Ketika tegangan diberikan pada masukan koil, arus yang tercipta menghasilkan medan magnetik. Medan inilah yang akan menarik saklar metal ke arahnya dan akan menyentuh bagian saklar yang lain. Akibat dari mekanisme ini adalah rangkaian yang sebelumnya rangkaian terbuka menjadi rangkaian tertutup. Sifat relay yang seperti ini (menjadi rangkaian tertutup setelah diberikan tegangan) disebut dengan normally open. Dengan demikian, normally closed relay adalah relay yang akan menjadi rangkaian terbuka setelah diberikan tegangan. Relay digunakan agar keadaan satu sumber (terbuka atau tertutup) energi dapat mengatur keadaan sumber energi (terbuka atau tertutup) lainnya yang biasanya memiliki arus yang lebih besar dan kedua sumber energi ini saling terisolasi satu sama lain (tidak terhubung secara langsung). Gambar 2.6 Contoh sebuah Relay 2.2.5 Transistor Transistor merupakan komponen semikonduktor yang pada umumnya digunakan sebagai penguat sinyal dan saklar sinyal elektronik. Transistor terbuat dari material semikonduktor. Transistor memiliki tiga terminal koneksi. Terminal ini berguna untuk menghubungkan transistor ke perangkat luar. beberapa transitor 13 banyak yang menggunakan packing mandiri tetapi ada juga yang berupa sirkuit terintegrasi. Transistor merupakan salah satu jenis komponen aktif yang banyak digunakan, baik dalam rangkaian analog maupun digital. Transistor yang banyak digunakan adalah transistor bipolar, yang terdiri dari dua jenis yaitu PNP dan NPN. Secara umum transistor digunakan untuk pensaklaran (switching) maupun penguatan. Transistor dapat bekerja bila diberi bias. Pembiasan pada transistor dapat dilakukan dengan cara sebagai berikut: Bias maju (forward bias) pada hubungan emitor dan basis, dimana bahan tipe P mendapat positif dan tipe N mendapat negatif. Bias mundur (reverse bias) pada hubungan kolektor dan basis, dimana bahan tipe P mendapat negatif dan tipe N mendapat positif. 2.2.5.1 Transistor Sebagai Saklar Prinsip pengoperasian transistor sebagai saklar memiliki dua keadaan, yaitu keadan tidak bekerja (cut off) dan keadaan jenuh. Dimana perubahan keadaannya dapat berupa perubahan tegangan ataupun arus. Gambar 2.7 Konfigurasi transistor sebagai saklar Saat Vin = 0, maka tidak ada arus yang mengalir pada Rb dan basis transistor sehingga transistor dalam kondisi tidak bekerja. Tidak ada arus yang mengalir kecuali arus bocor, sehingga kondisi ini identik dengan saklar terbuka (sambungan C-E terpisah) dan menyebabkan beban RL tidak bekerja. Saat Vin mendapat masukan yang cukup besar hingga dapat mengalirkan arus basis yang cukup untuk transistor, maka transistor akan jenuh. Pada kondisi ini 14 arus kolektor akan mengalir (sambungan C-E) terhubung dan menyebabkan beban RL akan bekerja. Pada saat transistor jenuh arus yang mengalir pada beban RL adalah: , Besarnya arus basis dapat dicari dengan persamaan: 2.2.6 MC (Magnetic Contactor) Kontaktor merupakan saklar daya yang bekerja dengan prinsip elektromagnetik. Jika koil dialirkan arus listrik akan menjadi magnet dan menarik inti magnet yang bergerak dan menarik sekaligus kontak dalam posisi ON. Batang inti yang bergerak menarik paling sedikit tiga kontak utama dan beberapa kontak bantu, bisa kontak NC atau NO. Kerusakan yang terjadi pada kontaktor, karena belitan koil terbakar, kontak tipnya saling lengket serta ujung-ujung kontaknya terbakar. (Siswono,2008) Gambar 2.8 Tampak Samping Irisan Kontaktor Susunan kontak dalam kontaktor secara skematik terdiri atas belitan koil dengan notasi A2-A1. Terminal ke sisi sumber pasokan listrik 1/L1, 3/L2, 5/L3, terminal ke sisi beban motor atau beban listrik lainnya adalah 2/T1, 4/T2 dan 15 6/T3. Dengan dua kontak bantu NO (Normally Open) 13-14 dan 43- 44, dan dua kontak bantu NC (Normally Close) 21-22 dan 31-32. Gambar 2.9 Simbol dan Kode Angka Kontaktor Bentuk fisik kontaktor terbuat dari bahan plastik keras yang kokoh. Pemasangan ke panel bisa dengan menggunakan rel atau disekrupkan. Kontaktor bisa digabungkan dengan beberapa pengaman lainnya, misalnya dengan pengaman bimetal (overload relay). Yang harus diperhatikan adalah kemampuan hantar arus kontaktor harus disesuaikan dengan besarnya arus beban, karena berkenaan dengan kemampuan kontaktor secara elektrik. (Siswono,2008) Gambar 2.10 Bentuk Fisik Kontaktor 2.2.7 MCB (Miniatur Circuit Breaker) MCB merupakan alat pengaman otomatis yang dipergunakan untuk membatasi arus listrik. Alat pengaman ini dapat juga berguna sebagai saklar. Dalam penggunaannya, pengaman ini harus disesuaikan dengan besar daya listrik yang terpasang. Gambar 2.11 Bentuk Fisik dari MCB 16 MCB adalah komponen pengaman yang kompak, karena di dalamnya terdiri dua pengaman sekaligus. Pertama pengaman beban lebih oleh bimetal, kedua pengaman arus hubung singkat oleh relay arus. Ketika salah satu pengaman berfungsi maka secara otomatis sistem mekanik MCB akan trip dengan sendirinya. Pengaman bimetal bekerja secara thermis. Berdasarkan fungsinya MCB dibedakan atas dua jenis, yaitu: 1. MCB 1 phasa MCB 1 phasa merupakan jenis yang digunakan pada listrik 1 phasa. Bagian listrik yang dihubungkan dengan MCB adalah phasa (line). MCB jenis ini sering ditemui pada rumah tinggal yang menggunakan daya listrik dalam skala kecil. Misalnya daya 900 VA, 1200 VA dan 2200 VA. 2. MCB 3 Phasa MCB 3 phasa sering ditemui di industri dan beberapa rumah tinggal yang menggunakan daya listrik di atas 6000 VA. MCB 3 phasa terdiri atas 3 buah MCB. Seperti yang kita ketahui, jaringan listrik 3 phasa terdiri atas tiga buah line (R, S dan T). Masing - masing line dipasang pada tiap - tiap MCB. Pada sistem pengendalian motor, MCB digunakan pada rangkaian utama yang menggunakan motor 3 phasa. MCB dipasang secara seri menghubungkan pada terminal - terminal utama magnetik kontaktor. Gambar 2.12 Bentuk Fisik MCB 3 phasa dengan 17 2.2.7.1 Bagian dalam MCB Gambar 2.13 Bagian dalam MCB 1. Tuas Tuas digunakan untuk mengaktifkan dan menon-aktifkan rangkaian MCB secara manual. Saat terjadi beban lebih (konsleting), tuas akan memutuskan arus listrik antara beban dan sumber listrik. 2. Mekanis aktuator Bagian ini akan menggerakkan tuas ke posisi OFF sebagai akibat terjadi beban lebih atau arus pendek pada beban. 3. Kontak Merupakan kontak yang terdapat dalam MCB yang terhubung pada tuas aktuator. Saat tuas ON, kontak akan terhubung pada selenoid. 4. Terminal Bagian masuk dan keluarnya arus listrik. 5. Bimetal Berfungsi sebagai indikator apabila terjadi beban lebih pada MCB. 6. Sekrup Kalibrasi Sekrup ini berfungsi untuk mengatur ketepatan arus listrik pada MCB setelah MCB di produksi. 7. Solenoid Solenoid merupakan kumparan yang menghubungkan terminal dengan kontak 18 2.2.8 Komunikasi Serial Komunikasi serial merupakan salah satu tipe koneksi yang digunakan untuk transmisi data. Komunikasi serial menggunakan satu kanal untuk tiap alat (device) yang ingin menggunakan kanal komunikasi ini pada satu waktu. Beda dengan komunikasi berasis parallel. Komunikasi serial akan mentransmisikan data dalam satu media transmisi. Sehingga akan lebih menghemat media, baik itu kabel maupun tempat. Pada computer PC, komunikasi serial umumnya digunakan untuk menghubungkan DTE (Data Terminal Equipment) yaitu PC dengan DCE (Data Circuit Equipment) misalnya modem. Tetapi kanal serial pada computer PC juga dapat digunakan untuk mentransmisikan data ke berbagai media. Salah satunya adalah mikrokontroler. 2.2.8.1 Standar Komunikasi Serial Standar sinyal komunikasi serial yang banyak digunakan adalah Standar RS232 yang dikembangkan oleh EIA/TIA (Electronic Industry Association and the Telecommunications Industry Association), yang pertama kali dipublikasikan pada tahun 1962. Ini terjadi jauh sebelum IC TTL populer sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut komunikasi data antara computer DTE (Data Terminal Equipment) dengan alat-alat pelengkap computer DCE (Data Circuit Equipment). Standar RS232 inilah yang biasa digunakan pada port serial IBM PC kompatibel. (prasetia dkk,2004) Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut (prasetia dkk,2004) : 1. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga - 25 Volt. 2. Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25 Volt. 3. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga, level tegangan lebih negatif dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS232. 19 Gambar berikut ini adalah contoh level tegangan RS232 pada pengiriman huruf ‘A’ dalam format ASCII tanpa bit paritas. Gambar 2.14 Level RS232 pada pengiriman huruf ‘A’ tanpa bit paritas (prasetia dkk,2004) 2.2.8.2 Konfigurasi Port Serial Gambar berikutnya adalah gambar konektor port serial DB-9 pada bagian belakang CPU. Pada komputer IBM PC kompatibel biasanya kita dapat menemukan dua konektor port serial DB-9 yang biasa dinamai COM 1 dan COM2. Tabel 2.1 Konfigurasi pin dan nama sinyal konektor serial DB-9 Nomor Pin 1 Nama Signyal DCD Arah Data Masuk 2 3 4 5 6 7 8 9 RxD TxD DTR GND DSR RTS CTS RI Masuk Keluar Keluar Masuk Keluar Masuk Masuk Keterangan Data Carrier Detect / Received Line Signal Detect Received Data Transmited Data Data Terminal Ready Ground Data Set Ready Request to Send Clear to Send Ring Indicator 20 Gambar 2.15 Koneklor serial DB-9 pada bagian belakang CPU Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah sebagai berikut: Received Line Signal Detect, dengan saluran ini DCE (Data Circuit Equipment) memberitahukan ke DTE (Data Terminal Equipment) bahwa pada terminal masukan ada data masuk. Receive Data, digunakan DTE menerima data dan 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 memberitahu ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya. Clear To Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai mengirim data. Reques To Send, dengan saluran ini DCE diminta mengirim data oleh DTE. DCE Ready, sinyal aktif pada saluran ini menunjukiam bahwa DCE sudah siap. Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base address COM1 biasanya adalah 1016 (3F8h) dan COM2 biasanya 760 (2F8h). 21 Alamat tersebut adalah alamat yang biasa digunakan, tergantung dari komputer yang digunakan. Tepatnya kita bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address COM2. 2.2.8.3 Mengakses Port Serial Pada PHP (PHP Hypertext Preprocessor) Untuk pengaksesan port serial kita dapat mengaksesnya secara langsung melalui register UART (Universal Asynchronous Receiver/Transmitter) atau meggunakan kontrol MSComm yang telah disediakan Visual Basic. Melalui Register USART Saluran yang digunakan UART untuk komunikasi baik untuk pengiriman maupun penerimaan data adalah saluran RxD dan saluran TxD serta saluransaluran untuk kontrol, yaitu saluran DCD, DSR, RTS, CTS, DTR, dan RI. Saluran-saluran ini ada yang sebagai output dan ada yang sebagai input. Kecuali saluran RxD, saluran-saluran ini dapat diakses secara langsung melalui register UART. Berikut adalah tabel alamat dan lokasi bit saluran tersebut pada register UART. Tabel 2.2 Alamat dan lokasi bit pada register UART Nama Pin Nomor Pin Pada DB – 9 COM 1 COM 2 Bit Arah TxD 3 3FBh 2FBh 6 Keluar DTR 4 3FCh 2FCh 0 Keluar RTS 7 3FCh 2FCh 1 Keluar CTS 8 3FEh 2FEh 4 Masuk DSR 6 3FEh 2FEh 5 Masuk RI 9 3FEh 2FEh 6 Masuk DCD 1 3FEh 2FEh 7 Masuk Untuk dapat mengaksesnya, kita dapat menggunakan fungsi Port_Out dan fungsi Port_In yang terdapat pada Port_IO.DLL dan untuk menset atau mengclearkan bit-bit tertentu kita dapat menggunakan prosedur Set_Bit atau prosedur Clear_Bit. 22 Berikut adalah contoh penggunaanya. Kita akan mencoba menset bit DTR (Data Terminal Ready), yaitu membuat saluran DTR (Data Terminal Ready) berlogika low yang dalam port serial IBM PC kompatibel bertegangan +12 V. Alamat register pengontrol DTR (Data Terminal Ready) adalah 3FCh untuk COM 1 pada bit 0. Perintahnya adalah sebagai berikut: Set_Bit (&H3FC, 0) Untuk mengclearkannya, yaitu membuat saluran DTR berlogika high yang dalam port serial IBM PC kompatibel bertegangan -12 V, kita menggunakan perintah: Clear_Bit (&H3FC, 0) Mengakses Port Serial Dengan MSComm Kontrol MSComm menyediakan fasilitas komunikasi antara program aplikasi yang kita buat dengan port serial untuk mengirim atau menerima data melalui port serial. Setiap MSComm hanya menangani satu port serial sehingga jika kita ingin menggunakan lebih dan satu port serial, kita juga harus menggunakan MSComm sebanyak port serial yang kita pakai, dalam tugas akhir ini, akses ke Port Serial menggunakan MSComm. Properti Pada MSComm Jumlah properti pada MSComm sangat banyak sehingga kita tidak akan membahas seluruhnya. Kita hanya akan membahas beberapa properti yang perlu kita ketahui sebelum kita dapat menggunakan MSComm. Properti-properti yang sering dipakai adalah sebagai berikut: CommPort : Digunakan untuk menentukan nomor port serial yang akan dipakai. Setting : Digunakan untuk untuk menset nilai baud rate, pariti, jumlah bit data, dan jumlah bit stop. 23 PortOpen : Digunakan untuk membuka ataupun menutup port serial yang dihubungkan dengan MSComm ini. Input : Digunakan untuk mengambil data string yang ada pada buffer penerima. Output : Digunakan untuk menulis data string pada buffer kirim. Berikut adalah contoh penggunaan properti tersebut untuk komunikasi menggunakan modem. Private Sub Form_Load () MSComml.CommPort = 1 MSComml.Settings = “9600,N,8,1” MSCornml.InputLen = 0 MSCornml.Portopen = True MSComrnl.Output = “ATVlQ0” & Chr$(13) Do DoEvents Buffer$ = Buffers$ & MSComml.Input Loop Until InStr(Bufter$, ‘OK & vbCRLF) MSComml.PortOpen = False End Sub Kode-kode program pada prosedur di atas akan melakukan aksi sebagai berikut: Memilih port serial yang digunakan adalah COM 1 Setting MSComm adalah baud rate 9600, tanpa paritas, jumlah data 8 bit, dan jumlah bit stop adalah 1 bit. Memerintahkan kontrol MSComm membaca seluruh isi buffer ketika menggunakan perintah Input (MSComml .InputLen = 0) Membuka port serial Mengirim perintah “ATV 1 QO” diikuti ASCII 13 (enter) ke modem Menunggu modem mengirimkan jawaban “OK” ke komputer Menutup port serial. 24 Event Pada MSComm MSComm hanya mempunyai satu even saja, yaitu even OnComm. Even OnComm ini dibangkitkan jika nilai properti dan CommEvent berubah yang mengindikasikan telah terjadi even pada port serial baik even komunikasi maupun even error. Tabel 8.11 dan Tabel 8.12 berikut adalah nilai-nilai dari properti CommEvent. Nilai properti ini tidak tersedia pada saat design time, tetapi hanya dapat dibaca pada saat run time. Tabel 2.3 Nilai-nilai properti even error poda CommEvent Konstanta Keterangan comEventFrame comEventRxParity comEventRxOver comEventTxFull comEventOverrun comEventBreak comEventDCB Hardware mendeteksi adanya kesalahan framing Hardware mendeteksi adanya kesalahan parity Buffer penerima mengalami over flow, tidak ada ruang kosong lagi pada buffer penerima. Buffer kirim penuh Port mengalami overrun Sinyal break diterima Mendapatkan kembali Device Control Block (DCB) dan port serial Tabel 2.4 Nilai-nilai properti even komunikasi pada CommEvent Konstanta comEvSend comEvReceive Keterangan Jumlah karakter path buffer kirim Iebih sedikit daripada nilai properti Sthreshold. Even ini akan dibangkitkan jika nilai pada properti Sthreshold tidak diisi ‘0’. Telah diterima karakter sebanyak nilai properti Rthreshold. Even ini akan dibangkitkan terus - menerus sampai data diambil dan buffer penerima menggunakan perintah Input. Even ini akan dibangkitkan jika nilai path properti Rthreshold tidak diisi ‘0’. comEvCTS Terjadi perubahan pada saluran Clear to Send comEvDSR comEvCD Terjadi perubahan pada saluran Data Set Ready Terjadi perubahan pada saluran Carier Detect comEvRing comEvEOF Terdeteksi adanya sinyal Ring Karakter End of File diterima Berikut adalah contoh penggunaan even OnComm untuk komunikasi menggunakan niikrokontroler. Akan dibaca hanya even comEvReceive saja, even yang lain diabaikan. 25 Private Static Sub MSComm1_OnComm() Dim Buffer As Variant Select Case MSComm1.CommEvent Case comEvReceive If MSComml.InBufferCount >= 3 then Buffer = CStr(MsComm1.Input) If Mid(Buffer, 1, 1) = “0” Then If Mid(Buffer, 2, 1) = ‘K’ Then StatusBar1.Panels(”Value”) .Text = “Value : “ & Asc(Mid(Buffer 3, 1)) StatusBar1.Panels(“Status”) .Text = “Status : Connect” End If End If End If End Select End Sub Kode-kode program pada prosedur di atas akan melakukan aksi sebagai berikut: Mendeteksi even comEvReceive, kemudian menentukan apakah sudah diterima tiga buah karakter pada buffer penerima. Menentukan apakah karakter yang diterima adalah karakter ‘OK’. Jika karakter yang diterima adalah karakter ‘OK’, maka akan diubah nilai ‘Value’ dan nilai ‘Status’ path properti panel kontrol StatusBar 1. 2.2.8.4 Konverter Tingkat RS232 Hampir semua piranti digital menggunakan tingkat logika TTL atau CMOS. Dengan demikian, langkah pertama untuk menghubungkan suatu piranti ke kanal RS-232 adalah mengubah tingkat RS-232 kembali ke tingkat 0 hingga 5 volt atau sebaliknya. Konverter Tingkat RS-232 yang banyak dipakai adalah 1428 RS-232 Driver dan 1489 RS-232 Receiver. Masing-maing piranti tersebut mengandung 4 inverter dalam satu jenis, sesuai tipenya driver atau receiver. Driver membutuhkan dua jenis catu daya, yaitu +7,5 hingga +15 volt dan -7,5 hingga -15 volt. Dan hal ini akan menimbulkan masalah jika hanya tersedia satu catu daya +5 volt saja. Di sisi lain, kelebihannya karena piranti ini termasuk yang paling murah. 26 Piranti lainnya adalah IC MAX-232 (dan yang kompatibel dengannya), memiliki sebuah Charge Pump yang dapat menghasilkan tegangan +10V dan 10V dari catu daya tunggal 5 Volt. IC lni juga memiliki dua penerima dan dua pengirim pada kemasan yang sama. Sehingga hanya memerlukan satu IC dalam proses pengiriman dan penerimaan data. Nanum IC ini harganya relatif mahal, namun jika dibandingkan dengan biaya membuat catu daya ganda yang baru tentu saja jauh lebih murah dan efisien. Ada banyak variasi dari MAX-232 ini. NiIai kapasitor yang besar juga akan membebani biaya, sehingga ada piranti lain yang tersedia di pasaran yang menggunakan kapasitor dengan nilai yang lebih kecil, bahkan ada yang memiliki kapasitor internal (terpadu dengan IC-nya). Beberapa IC MAX-232 dapat menggunakan kapasitor 1 uF, MAX-232 ini banyak digunakan dalam berbagai aplikasi. Gambar 2.16 Top View IC MAX-232 Keluaran MAXIM Gambar 2.17 Skema logic dan rangkaian dasar pada IC MAX 232 Keluaran MAXIM 27 2.3 Perangkat Lunak (Software) Nama lain dari Software adalah perangkat lunak. Seperti nama lainnya itu, yaitu perangkat lunak, sifatnya pun berbeda dengan hardware atau perangkat keras, jika perangkat keras adalah komponen yang nyata yang dapat diliat dan disentuh oleh manusia, maka software atau Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda tapi bisa di operasikan. Dalam pembuatan suatu aplikasi dibutuhkan bahasa pemrograman, pada aplikasi yang dihasilkan menggunakan VB 6 dan MySQL Server5.1 2.3.1 Website Situs web (bahasa Inggris: web site) atau sering dingkat dengan istilah situs adalah sejumlah halaman web yang memiliki topik saling terkait, terkadang disertai pula dengan berkas-berkas gambar, video, atau jenis-jenis berkas lainnya Sebuah situs web biasanya ditempatkan setidaknya pada sebuah server web yang dapat diakses melalui jaringan seperti internet, ataupun jaringan wilayah lokal (LAN) melalui alamat internet yang dikenali sebagai URL. Gabungan atas semua situs yang dapat diakses publik di internet disebut pula sebagai Waring Wera Wanua atau lebih dikenal dengan singkatan WWW. Meskipun setidaknya halaman beranda situs internet umumnya dapat diakses publik secara bebas, pada prakteknya tidak semua situs memberikan kebebasan bagi publik untuk mengaksesnya, beberapa situs web mewajibkan pengunjung untuk melakukan pendaftaran sebagai anggota, atau bahkan meminta pembayaran untuk dapat menjadi aggota untuk dapat mengakses isi yang terdapat dalam situs web tersebut, misalnya situs-situs yang menampilkan pornografi, situs-situs berita, layanan surel (e-mail), dan lain-lain. Pembatasan-pembatasan ini umumnya dilakukan karena alasan keamanan, menghormati privasi, atau karena tujuan komersil tertentu. Sebuah halaman web merupakan berkas yang ditulis sebagai berkas teks biasa (plain text) yang diatur dan dikombinasikan sedemikian rupa dengan instruksi-instruksi berbasis HTML, atau XHTML, kadang-kadang pula disisipi 28 dengan sekelumit bahasa skrip. Berkas tersebut kemudian diterjemahkan oleh peramban web dan ditampilkan seperti layaknya sebuah halaman pada monitor komputer. 2.3.2 Bahasa Pemrograman PHP PHP merupakan singkatan dari PHP Hypertext Preprocessor. PHP adalah bahasa server-side scripting yang menyatu dengan HTML (HyperText Markup Language) untuk membuat halaman web yang dinamis. Maksud dari server-side sripting adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML. Kelahiran PHP bermula saat Rasmus Lerdorf membuat sejumlah skrip Perl yang dapat mengamati siapa-saja yang melihat-lihat riwayat hidupnya, yakni pada tahun 1994. Skrip-skrip ini selanjutnya dikemas menjadi tool yang disebut “Personal Home Page”. Paket inilah yang menjadi cikal-bakal PHP. Pada tahun 1995, Resmus menciptakan PHP/F1 Versi 2. Pada versi inilah pemrogram dapat menempelkan kode terstruktur di dalam tag HTML. Hal yang menarik adalah kode PHP juga dapat berkomunikasi dengan database dan melakukan perhitungan-perhitungan yang kompleks sambil jalan. Saat ini, PHP cukup populer sebagai piranti pemrograman web, terutama di lingkungan Linux. Walaupun demikian, PHP sebenarnya juga dapat berfungsi pada server-server yang berbasis UNIX, Windows NT, dan Macintosh. Bahkan versi untuk Windows 95/98 pun tersedia. Awalnya PHP dirancang untuk diintegrasikan dengan web server Apache. Namun, belakangan PHP juga dapat bekerja dengan web server seperti PWS (Personal Web Server), IIS (Internet Information Server), dan Xitami. PHP bersifat bebas dipakai. Pemakai tidak perlu membayar apapun untuk menggunakan perangkat lunak ini. PHP dapat di-downliad melalui situs www.php.net. Untuk versi Windows dapat diperoleh kode binernya, dan untuk versi Linux bisa didapatkan kode sumbernya secara lengkap. 29 Beberapa keunggulan PHP dibandingkan dengan yang lain (Syafii, 2004) : • Autentikasi http menggunakan PHP menggunakan fungsi header() yang ada dalam modul Apache PHP. • Pembuatan file GIF menggunakan library GD yang dikompilasi saat menginstall php. • PHP dapat menerima metodE upload file. • Mendukung penggunaan cookie. • Mendukung integrasi dengan database • Mendukung ekspresi regular seperti ereg(), ereg_replace() dan lainnya. 2.3.3 Pemrograman AVR (Alf, Vegard and Risc) Pemrograman pada mikrokontroler AVR dapat dilakukan dengan beberapa cara. Salah satunya adalah menggunakan pemprograman berbasis assembler. Pada mikrokontroler tipe AVR, ATMEL sebagai produsen resmi telah menyediakan software gratis. Software ini berguna untuk mendesain kode dan mensimulasikan kode tersebut ke dalam register sesuai dengan tipe mikrokontroler yang digunakan. Software tersebut adalah AVR Studio, software ini bisa di download dengan gratis di situs http://www.atmel.com 2.3.3.1 Pengenalan AVR Studio 4 Software AVR Studio versi 4 adalah software gratis yang berfungsi sebagai text editor dalam penulisan baris-baris perintah dan juga melakukan proses assembly yang mengubah program sumber assembly menjadi program objek maupun bahasa hexa. Software tersebut juga dapat melakukan simulasi secara lengkap. AVR Studio 4 menggunakan file object yang telah dibangkitkan untuk melakukan eksekusi program pada simulator maupun In Circuit Emulator. File object tersebut dibangkitkan melalui proses asembling atau compiling terhadap file sumber (source) seperti file .asm dan file .inc. AVR Studio 4 memungkinkan untuk dapat menjalankan program yang dibuat, mengujinya langkah demi langkah, menjalankan suatu rutinitas, 30 menempatkan kursor pada suatu statement, dan menjalankan, serta me-reset eksekusi program. AVR Studio 4 juga memungkinkan kita agar bisa mengamati perubahan pada setiap Port I/O, memori, dan juga register yang terjadi saat program mikrokontroler disimulasikan. Pada saat keluar dari program AVR studio 4, software akan menyimpan setup environment yang telah dibangun pada suatu proyek sehingga ketika suatu saat dibuka kembali proyek tersebut, maka setup environment yang menyertainya akan dapat direkonstruksi. AVR Studio 4 menyediakan area kerja dan toolbar yang memudahkan pengguna melakukan berbagai operasi sesuai yang diinginkan. Pada saat pertama kali membuka program AVR Studio 4, tampilan yang terlihat adalah seperti ditunjukkan oleh gambar berikut. Gambar 2.18 Halaman awal AVR Studio 4 pada saat aplikasi dijalankan Tampilan pada gambar tersebut tidak aktif pada saat pertama dijalankan AVR Studio 4 karena secara otomatis sebuah tampilan pembuka (wizard start-up AVR Studio 4) akan muncul. Tampilan pembuka tersebut akan memberikan pilihan untuk membuat suatu proyek baru atau membuka proyek yang pernah dibuat. Tampilan tersebut akan tampak seperti gambar berikut. 31 Gambar 2.19 Dialog New Project AVR Studio 4 pada saat aplikasi dijalankan Apabila Anda tidak menginginkan kedua pilihan tersebut, Anda dapat menekan tombol Cancel. 2.3.3.2 Bahasa Assembler Pada AVR Bahasa assembler pada mikrokontroler AVR memiliki standar tersendiri. Standar ini dibuat berdasarkan register-register yang tersedia dan telah diprogram sebelumnya pada mikrokontroler. Perintah yang digunakan untuk memanfaatkan register yang tersedia disebut dengan set instruksi, yang pada operasionalnya akan dieksekusi pada siklus clock (cycle clock). Setiap perintah instruksi yang ditulis memiliki fungsi masing-masing dan perintah ini disebut dengan mnemonics. Adapun contoh dari kode assembler untuk mikrokontroler AVR adalah sebagai berikut : 32 rjmp main main: ldi r16,low(ramend) out SPL,r16 ldi r16,high(ramend) out SPH,r16 // SPH dan r16 adalah register rcall init_serial // rcall adalah mnemonic program_utama: ldi zl,low(2*msg) ldi zh,high(2*msg) load: lpm mov r17,r0 cpi r17,0 breq henti rcall transmit inc zl rjmp load henti: rjmp henti 2.3.4 VB 6 (Visual Basic 6) Visual Basic (VB) adalah generasi ketiga bahasa pemrograman dan IDE (Itegrated Development Environment) dari Microsoft untuk tipe pemprograman COM. Visual Basic merupakan salah satu tool pemprograman yang mudah dipelajari, karena kemampuan perancangan secara grafis dan menggunakan bahasa BASIC yang sudah familiar. Visual basic menggunakan tipe bahasa BASIC dan menggunakan tipe pemprograman RAD (Rapid Application Development) dari aplikasi berbasis GUI, kemampuan akses ke databases dengan menggunakan Data Access Object, Remote Data Objects, atau Activex Data Object, dan penciptaan Activex dan object. 33 Bahasa Pemprograman seperti VBA dan VBScript secara kode mirip dengan visual basic, tetapi memiliki performa yang berbeda. Seorang programer dapat membuat sebuah aplikasi lengkap dengan menggunakan komponen yang telah disediakan oleh visual basic. Program yang ditulis dalam visual basic juga dapat menggunakan windows API (Application Programming Interface), tetapi harus melalui sederetan pembuatan fungsi lain di luar program. Versi terakhir dari VB adalah versi 6 yang dirilis tahun 1998. Versi MSDN terakhir untuk versi ini berakhir pada tahun 2008, dan kini dibuat versi baru yaitu Visual Basic .Net, atau sering disebut visual basic. (widodo, dkk,2004) 2.3.4.1 Fitur Visual Basic Seperti bahasa pemprograman basic, visual basic dirancang agar mudah dipelajari dan digunakan. Pemprogramannya tidak hanya membuat programmer dapat membuat aplikasi GUI, tapi juga mampu mendesain dan menciptakan aplikasi yang rumit. Pemprograman di VB merupakan kombinasi dari komponenkomponen terstruktur atau kontrol dalam sebuah form, memberikan atribut dan aksi eksekusi dari tiap komponen tersebut, dan menulis kode tambahan untuk fungsi yang lebih banyak. Sejak atribut dan aksi standar didefinisikan untuk komponen, sebuah program sederhana dapat dibuat tanpa harus menulis banyak kode. Masalah performa yang ditemukan pada versi sebelumnya kini sudah tidak ada, dikarenakan sistem kompilasi yang lebih baik. Walaupun pada versi 5 kode bisa dikompilasi menjadi file executable, tetapi masih membutuhkan library tambahan untuk melakukan runtime, dengan ukuran sekitar 1 MB. Runtime ini telah disertakan langsung pada mulai windows 2000 hingga terbaru, tetapi untuk versi windows sebelumnya harus dilakukan distribusi lagi bersamaan dengan file executeable tersebut. Form dibuat dengan teknik drag n drop. sebuah tool digunakan untuk meletakkan kontrol ( misalnya : text box, button, dll) di dalam form, atau window. Control memiliki atribut dan event handler yang sesuai dengan masingmasing control tersebut. Nilai standar diberikan ketika kontrol dibuat, tetapi dapat diubah oleh programmer. (widodo dkk,2004) 34 Banyak atribut bisa dimodifikasi saat program dijalankan dengan keinginan user atau perubahan dalam lingkungan aplikasi. Contohnya, kode dapat ditambahkan ke dalam event handler form resize untuk melakukan reposisi kontrol, jadi akan mengubah posisi kontrol berada di tengah-tengah form. Dengan menulis kode ke dalam event handler keypress di dalam text bos, programmer dapat langsung melakukan parsing isi dari text box tersebut, atau bahkan melakukan pengecekan per karakter. Visual basic dapat melakukan kompilasi ke file executable (EXE), activeX control, atau DLL. tetapi tetap diutamakan untuk membuat aplikasi windows dan untuk melakukan interfacing ke sistem database. Dialog box dengan fungsi yang lebih sedikit mampu memberikan kemampuan pop up. Kontrol memberikan fungsi dasar dari sebuah aplikasi, sementara programmer dapat menambahkan logika baru ke dalam event handle dari kontrol tersebut. Misalnya, sebuah kombinasi drop down box dapan secara otomatis menampilkan sebuah list dan mengijinkan pengguna untuk memilih isi dari list tersebut. Sebuah event handler dipanggil saat pengguna melakukan pemilihan, yang mana kode yang dieksekusi adalah kode tambahan yang dibuat oleh programmer, untuk memberikan reaksi yang telah ditentukan. Sebuah aplikasi VB bahkan dapat tidak memiliki User interface, dan memiliki objek ActiveX ke program lain melalui COM (Component Object Model). Hal ini memungkinkan dipakainya pemprograman di sisi server dan menggunakan modul tambahan. Kompiler visual basic digunakan bersama aplikasi visual studio lainnya, tetapi untuk pembuatan target DLL dan thread hanya diijinkan dalam IDE nya saja. (widodo,dkk,2004) 2.3.5 Database Database digunakan sebagai sarana untuk melakukan penyimpanan data yang fleksibel dan cepat untuk diakses, baik dalam hal menambahkan data baru, mengubah data yang telah ada, maupun menghapus data (insert, update, delete). Salah satu database yang paling terkemuka untuk server dan pengembangan aplikasi berbasis web adalah MySQL. Jenis database ini dapat 35 berjalan di beberapa platform, antara lain Linux dan Windows. MySQL dirancang untuk keperluan sistem yang cepat, handal dan mudah digunakan. MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multiuser serta menggunakan perintah standar SQL (Structur Query Language). MySQL memiliki dua bentuk lisesi yaitu freesoftware dan shareware. MySQL yang biasa digunakan adalah MySQL FreeSoftware dibawah lisensi GNU/GPL (General Public Licese). MySQL pertama kali dirintis oleh seorang programmer bernama Michael Widenius. Selain sebagai database server, MySQL juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi sebagai server, sehingga MySQL adalah sebuah database yang dapat digunakan baik sebagai client maupun server. MySQL merupakan sebuah database server yang free artinya kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL mempunyai beberapa kelebihan dibanding database lain, diantaranya adalah: 1. MySQL sebagai Database Management System (DBMS) 2. MySQL sebagai Relation Database Management System (RDBMS) 3. MySQL adalah sebuah software database yang Opensource. 4. MySQL adalah sebuah database server maupun client. 5. MySQL mampu menerima query yang bertumpuk dalam satu permintaan atau yang disebut Multi-Threading. 6. MySQL merupakan sebuah database yang mampu menyimpan data berkapasitas sangat besar hingga berukuran Gigabyte sekalipun. 7. MySQL didukung oleh driver ODBC, artinya database MySQL dapat diakses menggunakan aplikasi apa saja. 8. MySQL adalah database yang menggunakan encrypsi password. Jadi database ini cukup aman karena memiliki password untuk mengaksesnya. 9. MySQL merupakan server database yang multiuser, artinya database ini tidak hanya digunakan oleh sepihak orang akan tetapi merupakan database yang dapat digunakan oleh banyak pengguna. 36 10. MySQL memiliki kecepatan dalam pembuatan tabel maupun peng-update-an table. Keunggulan MySQL sebagai pengolah database diantaranya: 1. Dapat bekerja di beberapa sistem operasi (tersedia beberapa versi untuk masing-masing sistem operasi). 2. Memiliki tingkat keamanan yang baik. 3. Mendukung ODBC untuk sistem operasi Windows. 4. Mendukung record dengan panjang kolom tetap ataupun bervariasi. 5. Didukung oleh beberapa bahasa pemrograman umum seperti C, C++, Java, Perl, PHP,VB, Delphi,dll. 6. MySQL merupakan free software yang dapat di-download dari situs resminya yaitu www.mysql.com. Secara umum akses ke database MySQL melalui 3 tahap yaitu : 1. Koneksi ke database. 2. Query ke database. 3. Pemutusan koneksi dari database.