BAB 2 LANDASAN TEORI 2.1 Sistem Terdistribusi Sistem terdistribusi adalah suatu sistem dimana komponen-komponen pada suatu sistem informasi didistribusikan ke berbagai lokasi pada sebuah jaringan komputer. Pada industri komputer yang berkembang saat ini dikenal ada 3 jenis arsitektur pengembangan aplikasi yaitu :Desktop (1-Tier), Client-Server (2-Tier), dan MultiTier (nTier). Perbedaan jenis arsitektur terletak pada bagaimana lapisan-lapisan (layers) yang menyusun suatu aplikasi diterapkan. Seperti diketahui ada 3 lapisan tradisional dari suatu aplikasi, yaitu : lapisan presentasi, lapisan bisnis dan lapisan servis data. Sedangkan yang termasuk dalam arsitektur sistem terdistribusi adalah aplikasi ClientServer (2-Tier) dan Multitier (n-Tier). (http://borland.com/jbuilder/docs/jb_j2eeapps.jar!/j2eeapps/j2ee_programming.html) 2.1.1 Lapisan Sistem Terdistribusi 2.1.1.1 Lapisan Servis Presentasi (Client tier) Adalah lapisan dari aplikasi yang berhubungan langsung dengan pengguna melalui grafik antar muka pengguna (Graphical User Interface – GUI). Lapisan ini biasanya berjalan di PC (Personal Computer) pengguna untuk menyajikan dan meng-edit data. Antarmuka yang baik harus memiliki cara yang intuitif untuk menjelaskan data, memanggil object bisnis pada lapisan servis bisnis untuk mengolah data, dan mengembalikan hasilnya ke pengguna dengan cara informatif. Lapisan ini 7 8 lebih memperhatikan bagaimana menyajikan data kepada pengguna sebagai solusi atau hasil dari masalah dibandingkan detil dari proses untuk mendapatkan hasil. 2.1.1.2 Lapisan Sevis Bisnis (Middle Tier) Lapisan bisnis digunakan untuk melaksanakan atau mendukung aturan-aturan bisnis dan aturan-aturan data dari aplikasi. Lapisan presentasi menggunakan servis yang terdapat di dalam lapisan ini, akan tetapi lapisan ini tidak terikat oleh satu client, servis yang disediakan oleh lapisan ini dapat digunakan oleh semua aplikasi. Aturan bisnis dapat berupa algoritma bisnis, polis bisnis, dsb. Aturan data digunakan untuk membantu menjaga agar data yang disimpan pada banyak tempat tetap konsisten. Aturan-aturan ini diimplementasikan pada modul-modul atau disebut juga bisnis object dan biasanya bisnis object tersebut diletakkan pada lokasi terpusat agar dapat digunakan oleh aplikasi-aplikasi. 2.1.1.3 Lapisan Servis Data (Server Tier) Lapisan servis bisnis tidak memiliki pengetahuan tentang bagaimana atau dimana data yang sedang diolah disimpan, karenanya ia bergantung pada lapisan servis data, yang dapat melakukan perjalanan mengambil dan menyimpan data sesungguhnya pada DBMS (DataBase Management System) atau alat penyimpanan lainnya seperti mainframe atau internet. 9 2.1.2 Arsitektur Sistem Terdistribusi 2.1.2.1 Arsitektur Client-server (2-Tier) Pada awal tahun 1990-an, sistem informasi kebanyakan menggunakan arsitektur 2-tier yaitu lient-server architecture. User interface biasanya berjalan pada komputer dekstop, ini adalah client tier. Data dari perushaan yang diakses oleh client berada dalam sebuah database dan di-server. Pendekatan ini awalnya menjanjikan peningkatan pada skalabilitas dan fungsionalitas. Salah satu bentuk sederhana dari arsitekture jenis ini apabila suatu aplikasi memiliki basis data yang remote, basis data tersebut dapat diakses dengan menggunakan segala bentuk Client-Server database API, seperti ActiveX Data Objects (ADO), Remote Data Objects (RDO), ODBC API, atau Java Database Connectivity (JDBC). Gambar 2.1 Arsitektur Clent-Server (2 Tier) (http://borland.com/jbuilder/docs/jb_j2eeapps.jar!/j2eeapps/j2ee_programming.html) Arsitektur Client-Server memiliki dua lapisan yang jelas yaitu lapisan presentasi yang menyatu dengan lapisan servis bisnis bisa terletak pada komputer Client maupun Server dan lapisan servis data yang biasanya terletak pada komputer yang digunakan sebagai server. 10 Gambar 2.2 Arsitektur Client-Server (http://borland.com/jbuilder/docs/jb_j2eeapps.jar!/j2eeapps/j2ee_programming.html) 2.1.2.2 Arsitektur Multitier (n-Tier) Melalui pengalaman dan kerja keras, para pengembang mengetahui bahwa untuk membangun dan me-maintain sebuah sistem terdistribusi yang flexible sangatlah sulit dengan menggunakan arsitektur client-server, karena bussines logic terletak pada aplikasi client, dan setiap kali akan dilakukan perubahan, maka perubahan itu harus diimplementsikan pada seluruh komputer client pada perusahan, dan maintenance menjadi mimpi buruk. Aplikasi ini juga harus bisa memanage transaksi, sadar akan keamanan, dan memproses data secara efisien, sementara menghasilkan tampilan yang mudah dimengerti untuk penggunanya. Walaupun arsitektur client-server masih cukup untuk 11 beberapa lingkungan kerja, banyak perusahaan menginginkan sesuatu yang lebih daripada yang bisa diberikan oleh arsitektur client-server. Setelah kelemahan dari arsitektur client-server mulai terlihat jelas, para pengembang berusaha mencari jalan yang lebih baik. Jawabannya adalah arsitektur multi-tier. Adanya tambahan lapisan, yaitu middle tier antara lapisan servis pemakai dengan lapisan servis data pada arsitektur aplikasi 2-tier akan membentuk arsitektur aplikasi n-Tier. Lapisan servis aplikasi yang berada ditengah-tengah ini sering disebut dengan aturan bisnis, dan biasanya secara fisik lapisan ini diletakkan di server bersama dengan lapisan servis data. Gambar 2.3 Arsitektur MultiTier (http://borland.com/jbuilder/docs/jb_j2eeapps.jar!/j2eeapps/j2ee_programming.html) 12 2.2 SMS (Short Message Service) SMS merupakan salah satu layanan pesan teks yang dikembangkan dan distandarisasi oleh suatu badan yang bernama ETSI (European Telecomunication Standards Institute) sebagai bagian dari pengembangan GSM Phase 2, yang terdapat pada dokumentasi GSM 03.40 dan GSM 03.38. Fitur SMS ini memungkinkan perangkat Stasiun Seluler Digital (Digital Cellular Terminal, seperti ponsel) untuk dapat mengirim dan menerima pesan-pesan teks dengan panjang sampai dengan 160 karakter melalui jaringan GSM. SMS dapat dikirimkan ke perangkat Stasiun Seluler Digital lainnya hanya dalam beberapa detik selama berada pada jangkauan pelayanan GSM. Lebih dari itu, layanan SMS memberikan jaminan bahwa SMS akan sampai pada tujuan meskipun perangkat yang dituju sedang tidak aktif yang dapat disebabkan karena sedang dalam kondisi mati atau berada di luar jangkauan layanan GSM. Jaringan SMS akan menyimpan sementara pesan yang belum terkirim, dan akan segera mengirimkan ke perangkat yang dituju setelah adanya tanda bahwa perangkat tersebut telah aktif atau telah berada pada jangkauan layanan. Dengan fakta bahwa layanan SMS (melalui jaringan GSM) mendukung jangkauan/jelajah nasional dan internasional dengan waktu keterlambatan yang sangat kecil, memungkinkan layanan SMS cocok untuk dikembangkan sebagai aplikasi-aplikasi seperti: pager, e-mail, dan notifikasi voice mail, serta layanan pesan banyak pemakai (multiple users). Namun pengembangan aplikasi tersebut masih bergantung pada tingkat layanan yang disediakan oleh operator jaringan. (www.jazi.staff.ugm.ac.id) 13 2.2.1 Proses transmisi SMS Proses pengiriman SMS ada dua macam yaitu, inter-operator dan intra- operator. Proses pengiriman intra-operator terjadi jika pengirim dan penerima menggunakan SMS centre yang sama atau menggunakan operator telepon yang sama. Sedangkan inter-operator terjadi jika pengirim dan penerima menggunakan SMS centre yang berbeda. Pada inter-operator terjadi kerjasama antara operator yang digunakan oleh pengirim dan penerima. Saat pesan dikirim dan device penerima sedang offline atau berada diluar jangkauan jaringan maka operator akan menyimpan pesan tersebut sampai device tujuan online dan selama validitas pesan belum expired. Pada inter-operator operator yang akan menyimpan pesan saat device tujuan sedang offline adalah operator yang digunakan oleh penerima. Gambar 2.4 Proses pengiriman intra-operator http://www.developershome.com/sms/intraInterInternationalSMS.asp 14 Gambar 2.5 Proses pengiriman inter-operator http://www.developershome.com/sms/intraInterInternationalSMS.asp 2.2.2 PDU (Protocol Data Unit) Setiap mobile device memiliki mode-mode untuk menerima atau mengirim data melalui SMS, data tersebut dapat berupa PDU ataupun teks. Ada mobile device yang mampu untuk menerima dan mengirim data berupa PDU dan teks, dan ada pula mobile device yang hanya mampu menerima dan mengirim data berupa PDU saja. Dalam mode PDU, data yang dikirim atau diterima berupa pasanganpasangan bilangan hexadesimal yang disebut dengan oktet. Sedangkan dalam mode teks, data yang diterima berupa karakter alphabet biasa. 15 Dalam mode PDU dan teks, data tidak hanya terdiri dari pesan teks SMS saja, tetapi juga berisi informasi-informasi lainnya seperti nomor pengirim, nomor SMS Centre,dan waktu pengiriman. Salah satu kelebihan PDU adalah kemudahan jika akan dilakukan kompresi pesan atau penyandian data menjadi untaian bit-bit biner. Jenis-jenis PDU yang akan digunakan yaitu, PDU-Penerimaan (SMSDeliver) dan PDU-Pengiriman (SMS-Submit). 2.2.2.1 PDU-Penerimaan (SMS-Deliver) PDU-Penerimaan adalah pesan yang diterima oleh terminal dari SMS Centre(SMSC) dalam bentuk PDU. PDU-Penerimaan memiliki format sebagai berikut: 1. SCA (Service Centre Acces) Berisi informasi tentang SMSC. SCA memiliki tiga komponen utama yaitu: o Len (length) yaitu panjang informasi SMSC dalam oktet o Type of address yaitu tipe alamat dari SMSC, dimana nilai 81h untuk format lokal dan nilai 91h untuk format internasional. o Nomor SMSC, dimana jika panjang nomor SMSC ganjil maka pada akhir karakter ditambahkan huruf ”F”. 16 2. Tipe PDU (PDU Type) Berisi informasi tentang jenis PDU tersebut. 3. OA (Originating Address) Berisi informasi tentang nomor pengirim. OA memiliki tiga komponen utama yaitu : o Len (Length) yaitu panjang nomor Originating Address dalam oktet. o Type of Number sebagai type alamat dari Originating Address. o Nomor OA, dimana jika panjang nomor SMSC ganjil maka pada akhir karakter ditambahkan huruf ”F”. 4. PID (Protocol Identifier) Berisi informasi identifikasi protocol yang digunakan. Nilai default dari PID adalah 00, yang berarti “Standart-Text-SMS” 5. DCS (Data Coding Scheme) Berisi informasi skema pengkodean data yang digunakan. DCS digunakan untuk menentukan message class. Berikut akan ditampilkan tabel message class 17 Tabel 2.1 Tabel Message Class Nilai Hexadesimal 00 F0 F1 F2 F3 F4 F5 F6 F7 Character coding Message Class Default (7 bit) Default (7 bit) Default (7 bit) Default (7 bit) Default (7 bit) 8 bit 8 bit 8 bit 8 bit Tidak ada class Class 0 (immediate display) Class 1 (mobile equipment specific) Class 2 (SIM specific message) Class 3 (terminate equipment specific) Class 0 (immediate display) Class 1 (mobile equipment specific) Class 2 (SIM specific message) Class 3(terminate equipment specific) 6. SCTS (Sevice Center Time Stamp) Berisi informasi tentang waktu pengiriman. 7. UDL (User Data Length) Berisi informasi panjang dari data utama atau isi pesan dari sms yang dibawa. 8. UD (User data) Berisi informasi-informasi data utama yang dibawa. Data utama atau isi pesan dari sms tersebut diubah menjadi bilangan hexadesimal. Gambar 2.6 Format PDU-Penerimaan (www.jazi.staff.ugm.ac.id) 18 2.2.2.2 PDU-Pengiriman (SMS-Submit) PDU-Pengiriman memiliki informasi-informasi yang sama dengan penerimaan, dan yang berbeda adalah informasi-informasi berikut 1. MR (Message Reference) Parameter yang mengindikasikan nomor referensi SMS-Pengirim 2. DA (Destination Address) Berisi informasi alamat yang dituju. 3. VP (Validity Period) Berisi informasi jangka waktu validitas pesan pada jaringan. Gambar 2.7 Format PDU-Pengirim (www.jazi.staff.ugm.ac.id) 2.2.3 Perintah AT ( AT Command ) Perintah AT Command digunakan untuk berkomunikasi dengan terminal (modem) melalui serial port pada komputer. Dengan menggunakan perintah AT maka dapat diketahui bagaimana kondisi dari terminal, seperti mengetahui kondisi sinyal, kondisi baterai, mengirim pesan, membaca pesan, menambah item pada telepon, dan sebagainya. 19 Tabel 2.2 Tabel Perintah AT Command AT Command AT+CMGS AT+CMGW AT+CMGL AT+CMGF AT+CMGD Fungsi Mengirim pesan Menulis pesan ke memory Membaca pesan yang ada diinbox Format pesan Menghapus pesan www.sonyericsson.com/downloads/dg_at_2005_r2b.pdf 2.3 Pemantauan Rumah Jarak Jauh Pemantauan rumah jarak jauh adalah kemampuan untuk memantau dan mengendalikan semua perangkat yang ada di rumah dan kondisi rumah dari jarak yang jauh (http://www.hynixmcu.com/download) Kebutuhan pemantauan rumah jarak jauh: • Penghematan biaya Menekan biaya listrik Karena kelalaian mematikan peralatan listrik seperti air , lampu , kompor listrik dan sebagainya. • Kenyamanan Untuk masyarakat yang sering bepergian keluar rumah sistem pemantauan rumah jarak jauh akan sangat berguna karena kondisi rumah bisa dipantau dari jarak jauh • Keamanan Mencegah penyusup masuk dan kebakaran karena kelalaian pemilik rumah 20 Contoh sistem pemantauan rumah adalah Zigbee yang dibuat oleh Zigbee Company Gambar 2.8 Zigbee Home Automation (http://proquest.umi.com/pqdweb) 2.4 Mobile Device Mobile device adalah alat computing berukuran kecil, berisikan layer tampilan kecil untuk output dan keyboard (http://en.wikipedia.org/wiki/Mobile_device). Contoh kecil mobile untuk device input. antara lain smartphone, Bluetooth headset, telepon tanpa kabel, PDA(Personal Digital Assistant), Pager, Handphone, dan sebagainya. 2.5 Java 2 Platform Java adalah bahasa pemrograman yang sebaguna, karena Java adalah bahasa pemrograman yang dapat digunakan untuk membuat aplikasi desktop, web, ponsel, network, robotika maupun game console. Java merupakan bahasa pemrograman yang 21 memiliki portabilitas yang tinggi, karena Java dapat berjalan pada sistem operasi apapun dan pada komputer apapun. 2.5.1 Sejarah Perkembangan Java Java mulai dikembangkan pada bulan Agustus 1991 oleh perusahaan Sun Microsystem melalui sebuah proyek penelitian yang bernama “Green Project “ yang dipimpin oleh James Gosling. Tujuan dari proyek ini adalah membuat bahasa pemrograman yang dapat digunakan pada chip-chip embeded untuk device Intellegent Customer Electronics, yang bersifat multi-platform sehingga tidak bergantung pada vendor yang memanukfaktur chip tersebut. Bahasa pemrograman yang diciptakan oleh Green Project diberi nama OAK (Object Aplication Kernel). Konon nama OAK berasal dari pohon jati yang terlihat dari jendela ruang kerja James Gosling. Implementasi pertama dari OAK adalah sebuah prototype semacam PDA (Personal Digital Assistance) yang dapat berkomunikasi satu sama lain, dan dinamai Star7. Karena nama OAK kurang komersil maka pada tahun 1995, nama OAK diganti menjadi Java. Kerena sejak awal ditujukan untuk pemrograman device kecil, maka Java memiliki beberapa karakteristik, yaitu berukuran kecil, efisien dan portable untuk berbagai hardware. Keunikan Java adalah terletak pada Java Virtual Machine (JVM), JVM dapat dianalogikan sebagai SandBox, tempat semua program Java dikompilasi dan dijalankan. Apabila pada program hasil kompilasi bahasa lain terdapat kesalahan atau bug yang menyangkut penempatan memori, maka resikonya adalah kerusakan pada sistem operasinya. Pada Java selain organisasi memori 22 telah diatur secara mandiri oleh sebuah Garbage Collector, seluruh operasi memori yang dilakukan program Java, dilakukannya pada JVM, sehingga apabila terdapat kesalahan atau bug yang beresiko, maka yang akan rusak hanya JVM, dan tidak akan mempengaruhi sistem operasinya. 2.5.2 Keunggulan-keunggulan Java Beberapa kelebihan yang dimiliki oleh Java, antara lain : 1. Java bersifat multi-platform Portabilitas pada Java tidak hanya sebatas pada program sumber (source code), melainkan juga pada tingkat code biner yang disebut bytecode. Jadi jika suatu program telah dikompilasi pada komputer bersistem Windows, maka hasil kompilasi program tersebut dapat langsung dijalankan pada komputer bersistem Macintosh. (Abdul Kadir, 2004, p2). Kode yang disebut bytecode dapat dijalanan pada berbagai sistem operasi karena kode ini berbeda dengan kode mesin. Kode mesin sangat bergantung pada platform, sedangkan bytecode dapat dimengerti oleh semua platform yang telah dilengkapi oleh interpreter Java. 2. Java bersifat multi-thread Thread adalah alur program berjalan, pada umumnya program memiliki satu thread per program sehingga program tersebut dikatakan bersifat sequensial. Multi-threading adalah kemampuan menjalankan beberapa alur proses secara bersamaan. 3. Java merupakan Object Oriented Programming(OOP) 23 Dengan menggunakan OOP maka setiap sub program dapat dibuat terpisah, sehingga program yang dibuat dapat terstruktur dengan baik. Sehingga memudahkan dalam pemeriksaan dan perbaikan terhadap error. 4. Java bersifat sederhana dan relatif mudah Java merupakan penyederhanaan dari bahasa C++, yaitu dengan mengurangi keruwetan dalam penggunaan pointer pada C++, dan menambah beberapa fungsi-fungsi yang ada dalam C++. 5. Java bersifat robust Program Java tidak akan menyebabkan crash pada sistem karena Java meng-interpreter dan memeriksa semua akses sistem yang dilakukan. 6. Java mendukung web-based aplication Sekarang ini desktop aplication mulai ditinggalkan dan diganti dengan web-based aplication. Salah satu kelebihan web-based aplication adalah web-based aplication menggunakan web server. Sehingga ketika akan mengedit atau menambahkan fiturfitur pada program aplikasi, user cukup mendowload saja. 7. Java bersifat terdistribusi Bila pada bahasa pemrograman lain, hasil akhir dari pembuatan program adalah sebuah file ber-extention *.EXE, pada Java hasil akhirnya adalah file ber-extention *.CLASS. Hal tersebut karena Java difokuskan untuk aplikasi berbasis terdistribusi yang dapat diaktifkan melalui jaringan atau internet. 24 8. Java memiliki fasilitas Garbage Collector Java bisa menghapus (destruct) sendiri object-object yang tidak digunakan lagi secara otomatis. 2.5.3 Konsep Object Oriented Programming (OOP) dalam Java Object Oriented Programming merupakan suatu konsep pemrograman yang mengkombinasikan data dan method (fungsi) untuk mengakses data menjadi sebuah kesatuan unit. Unit ini dikenal dengan nama object. (Abdul Kadir, 2004, p4) Object merupakan suatu encapsulation dari data dan fungsi. Sebuah peningkatan pemahaman sebelumnya dimana posisi data dalam suatu program lebih rendah dari fungsi atau mehod, dalam OOP, data mempunyai kedudukan yang seimbang dengan fungsi atau method. 2.5.3.1 Class dan Object Class dapat dianalogikan sebagai sebuah object. Class menentukan spesifikasi pembentuk object. Mulai dari jenis data, fungsifungsinya, nilai awalnya, hingga cara berinteraksi dengan object lain. Sebuah class umumnya terdiri dari variabel instan dan method untuk object. Method merupakan fungsi yang melekat pada sebuah object atau instansi dari class tertentu. 25 Dengan menggunakan sebuah class, sejumlah object dapat diciptakan. Object-object dari class yang sama memiliki sifat-sifat yang sama. 2.5.3.2 Inheritance Inhritance (pewarisan) merupakan konsep dalam pemrograman berorientasi object yang memungkinkan untuk membuat class dengan didasarkan pada class yang sudah ada sebelumnya, sehingga mewarisi semua fungsi dan variabelnya. Inheritance merupakan suatu mekanisme yang memungkinkan seseorang menciptakan suatu class baru berdasarkan class yang sudah tersedia tanpa perlu menuliskan kode dari nol. (Abdul Kadir, 2004, p174) 2.5.3.3 Interface Interface merupakan suatu mekanisme yang disediakan oleh Java yang memungkinkan agar banyak class dapat berbagi konstanta atau menentukan bentuk metode yang dapat digunakan oleh sejumlah class. Method yang digunakan adalah metode abstrak, yang hanya terdapat deklarasi dan definisi. Begitu pula variabel yang dipergunakan adalah variabel konstan (static funal). Suatu class hanya dapat mewarisi variabel dan method dari satu superclass saja namun dengan mempergunakan interface satu class dapat mempergunakan abstract method dan konstanta dari banyak interface 26 berbeda. Interface juga dapat mewarisi interface lain seperti halnya class dapat mewarisi class lainnya. 2.5.4 Java 2 Standart Edition (J2SE) Seperti banyak bahasa pemrograman pada umumnya, Java banyak bergantung pada library untuk mendukung fungsionalitas tertentu. Pada bahasa pemrograman Java, kumpulan dari berbagai class yang saling berkait dinamakan package. Setiap edisi dari Java seperti Standart Edition, Enterprise Edition, dan Micro Edition digunakan untuk fungsi spesifik tertentu. Seperti aplikasi yang berbasis window didukung oleh Java 2 Standart Edition. Java 2 Standart Edition menyediakan sebuah lingkungan yang kaya akan fitur, aman, stabil dan multi-platform. Java 2 Standart Edition juga mendukung hal-hal penting seperti database connectivity, design user interface (UI), inputoutput, pemrograman jaringan, dan dasar dari segala pemrograman Java. 27 Gambar 2.9 J2SE Platform (J2SE SDK1.6 ) 2.5.5 JavaTM Communication API JavaTM communications API merupakan library tambahan untuk Java agar dapat digunakan untuk membuat program aplikasi yang dapat dihubungkan ke fax, voice mail, dan smart card. Library tambahan tersebut memiliki classclass yang dapat digunakan untuk berkomunikasi dengan device-device yang terhubung dengan komputer. JavaTM communications API dapat diimplementasikan pada sistem ber-platform solaris atau Win32. JavaTM communications API mendukung untuk komunikasi RS232 serial port dan IEEE 1284 parallel port.. Beberapa fungsi pada JavaTM communications API: 1. Dapat memperlihatkan port-port berguna yang ada pada system. 28 2. Dapat membuka dan mengklaim kepemilikan dari port yang terbuka. 3. Dapat memutuskan hubungan dengan port 4. Dapat digunakan untuk berbagai aplikasi. 5. Mendukung komunikasi I/O asyncronous dan syncronous. 6. Dapat menerima event yang menggambarkan perubahan state pada port. (http://www.java.sun.com) 2.5.6 Java Database Connectivity (JDBC) JDBC API adalah sebuah spesifikasi yang mendefinisikan bagaimana program yang ditulis dengan Java dapat berkomunikasi dan berinteraksi dengan database. JDBC API mendefinisikan bagaimana sebuah komunikasi dijalankan dan bagaimana sebuah aplikasi dan database dapat saling berinteraksi. Untuk lebih spesifiknya JDBC API mendefinisikan bagaimana sebuah aplikasi membuka koneksi, berkomunikasi dengan database, mengeksekusi perintahperintah SQL dan menerima hasil query. JDBC adalah suatu ide baru yang dibuat untuk mendukung java. Konsep JDBC diambil dari sumber lain yang merupakan bagian dari Microsoft Open Database Connectivity. JDBC berbeda dengan ODBC (Open DataBase Connectivity). Pada ODBC dimungkinkan semua bahasa pemrograman untuk mengakses database yang disediakannya. 29 Gambar 2.10 Aplikasi Java menggunakan JDBC (Matthew Siple, 1998,P 1-3) 2.6 MySql MySQL AB membangun dan mendukung produk-produk database yang menghasilkan dan yang mempunyai kinerja tinggi. Dengan bendera perusahaan menawarkan ‘MySQL Enterprise’, satu set software lengkap yang sudah dites, alat monitoring yang proaktif, dan layanan pendukung premium. MySQL adalah software open source untuk database yang paling populer, dengan lebih dari 100 juta kopi software yang didownload atau didistribusikan melalui sejarahnya. Dengan kecepatan tinggi, reliability, dan mudah digunakan, MySQL menjadi pilihan manajer IT perusahaan karena MySQL mengurangi masalah utama yang berhubungan dengan downtime, perawatan, administrasi, dan dukungan. 30 MySQL adalah bagian penting dari LAMP (Linux, Apache, MySQL, PHP/ Perl/ Phyton), perusahaan software open source dengan perkembangan cepat dalam bidangnya. Semakin banyak perusahaan yang menggunakan LAMP sebagai sofware pilihan karena biaya yang lebih rendah dan kebebasan dari keterbatasan. Perusahaan MySQL AB ditemukan di Swedia oleh dua orang Swedia dan satu orang Filandia : David Axmark, Allan Larsson dan Michael "Monty" Widenius yang bekerja sama sejak tahun 80 an. MySQL AB adalah pemilik tunggal dari source code server MySQL, trademark MySQL dan domain mysql.com. Perusahaan ini secara pribadi didirikan dan tanpa debitor, dan dibiayai oleh modal proyek sejak Juli 2001. (http://www.mysql.com/company/) 2.7 Sejarah Mikroprosesor dan Komputer 2.7.1. Komputer Generasi Pertama Perkembangan mikrokontroler didahului dengan perkembangan mikroprosesor yang sangat berdampak pada perkembangan teknologi komputer, mikrokontroler sangat dibutuhkan untuk menjadi pengontrol utama sistem elektronika digital, baik yang berukuran kecil maupun menengah. (Widodo Budiharto, 2005, P 1) Jauh sebelum ditemukannya transistor pada tahun 1947, komputer berukuran besar sudah digunakan untuk komputasi data. Bahasa pemrograman juga sudah ada pada tahun 1945 yang bernama Plankalkul yang dibuat oleh ilmuwan jerman yang bernama Konrad Zuse, namun belum sempat dipublikasikan hingga tahun 1972 karena kondisi pada saat itu sedang perang. Konrad Zuse pada tahun 1945 juga telah membuat komputer dari relay 31 elektromekanik meskipun musnah karena perang, kecuali satu model terakhirnya yaitu Z4. (Widodo Budiharto, 2005, P 3) 2.7.2 Mikroprosesor Pada sebuah komputer terdapat mikroprosesor yang digunakan untuk memproses data. Mikroprosesor merupakan sebuah chip yang berfungsi sebagai pemroses data dari input yang diterima dari sebuah sistem. Letak mikroprosesor pada komputer PC adalah pada CPU ( Central Processing Unit). Pada tahun 1971, muncul prosesor pertama buatan Intel dengan seri 4004, yang digunakan untuk kalkulator. Seri 4004 hanya menggunakan 2300 transistor dan merupakan chip 4 bit. Satu tahun kemudian muncul mikroprosesor 8008 yang merupakan mikroprosesor 8 bit pertama. Mikroprosesor seri 8008 menggunakan 3300 transistor. Pada tahun 1974 Intel, memperkenalkan mikroprosesor seri 8080 dan 8085. Pada tahun 1978, Intel memperkenalkan mikroprosesor 8086 yang secara eksternal dapat menangani alamat 20 bit dan data 16 bit. Karena masih ada perangkat keras yang masih memiliki lebar data 8 bit, maka dari itu prosesor ini memiliki masalah dengan lebar data tersebut. Kemudian Intel meluncurkan mikroprosesor 8088. Mikroprosesor 8088 mampu menangani data 8 bit dan 16 bit. 2.7.2.1 Mikrokontoller dan Mikroprosessor Mikroprosesor adalah CPU yang dipaket menjadi satu chip semikonduktor. Mikroprosessor memiliki kemampuan pemrosesan yang 32 sama dengan mini komputer, tetapi ukuran dan kecepatan mikroprosesor tidaklah sama dengan minikomputer. Pada awalnya mikroprosesor digunakan untuk menggambarkan karakter prosesor yang memiliki ukuran yang sangat kecil. Komputer yang dibuat dengan menggunakan mikroprosesor disebut dengan mikrokomputer. Sebagai input output pada mikrokomputer biasanya menggunakan standart input output pada personal komputer atau komputer pribadi, seperti penggunaan monitor sebagai output dan keyboard sebagai input. Mikrokontroler merupakan keseluruhan komputer yang dibuat dalam satu chip. Untuk alat-alat elektronik mikroprosesor standart tidak cukup, karena itu mikro prosesor memerlukan komponen eksternal tambahan seperti memori, converter analog ke digital, dan juga perangkat komunikasi serial lainnya. Mikroprosesor dengan tambahan alat-alat eksternal disebut dengan mikrokontroler. ( Sencer Yeralan, 1995, P1 ) 2.7.2.2 Embedded System Embedded system digunakan untuk system yang beroperasi secara real-time. Sistem yang beroperasi secara real-time berati bahwa controller tersebut harus mampu untuk menerima input atau masukan dari lingkungan sistem tersebut dan kemudian memproses input atau masukan tersebut. Jadi ketika ada input atau masukan dari lingkungan controller harus selalu siap, jadi lingkungan tidak menunggu controller siap, tetapi sistem yang harus selalu siap. Untuk itu controller harus memiliki 33 kecepatan yang cukup untuk memproses sinyal-sinyal dari lingkungan. (Sencer Yeralan, 1995, P2 ) 2.7.2.3 Mikrokontroler AT89S52 Mikrokontroler AT89S52 merupakan mikrokomputer CMOS 8 bit dengan Kbyte Flash Erasable & Programable Read Only Memory (EPROM). Mikrokontroler ini berteknologi memori non volatile kerapatan tinggi dari ATMEL Karena menggunakan teknologi non volatile maka isi memori dapat diisi dan dihapus berkali-kali. Memori ini biasa digunakan untuk menyimpan instruksi (perintah) berstandar MCS51 code sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single chip operation (mode operasi keping tunggal) yang tidak memerlukan external memory (memori luar) unruk menyimpan source code tersebut. (Widodo Budiharto, 2005, P17) 2.7.2.4 Spesifikasi AT89S52 Spesifikasi penting AT89S52 antara lain : 1. Kompatible dengan keluarga mikrontroler MCS51 sebelumnya. 2. 8 Kbyte In-system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis. 3. Tegangan kerja 4-5 V 4. Bekerja dengan entang 0-33 MHz. 5. 256 X 8 bit RAM internal. 34 6. 32 jalur I/O yang dapat diprogram. 7. Tiga buah 16 bit Timer/Counter. 8. Delapan sumber interupt. 9. Saluran Full-Duplex serial UART. 10. Watchdog timer. 11. Dual data pointer. 12. Mode pemrograman ISP yang fleksibel (Byte dan Page Mode). (Widodo Budiharto, 2005, P18) 2.7.2.5 Deskripsi AT89S52 Gambar 2.11 IC AT89S52 (http://www.keil.com/dd/docs/datashts/atmel/at89s52_ds.pdf) 35 Deskripsi mikrokontroler AT89S52 antara lain: 1. Pin 1 sampai 8 Merupakan port 1 yang berfungsi sebagai I/O biasa atau menerima low order address bytes selama pada saat Flash Programming. Port ini memiliki internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output port ini dapat memberikan output sink keempat buah input TTL. (Widodo Budiharto, 2005, P23) Tabel 2.3 Port Pada AT89S52 Pin port P1.0 P1.1 P1.5 P1.6 P1.7 Fungsi alternatif T2(input cacah eksternal ke Timer/Counter 2, clock out) T2EX (Timer/Counter 2 capture/reload dan control arah) MOSI(digunakan untuk Insystem programming) MISO(digunakan juga untuk In-System programming) SCK(digunakan untuk Insystem programming) (Widodo Budiharto, 2005, P23) 2. Pin 9 Merupakan masukan reset (RST). Reset akan aktif dengan memberikan input high selama 2 cycle. Bit DISRTO di AUXR (alamat 8EH)dapat digunakan untuk menonaktifkan fitur ini. (Widodo Budiharto, 2005, P23) 36 3. Pin 10 sampai 17 Tabel 2.4 Tabel Fungsi Port 3 bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 nama RXD TXD INT0 INT1 T0 T1 WR P3.7 RD Fungsi alternatif Port Serial Input Port Serial Output Port External Interupt 0 Port External Interupt 1 Port External Timer 0 Port External Timer 1 External Data Memory Write Strobe External Data Memory Read Strobe (Widodo Budiharto, 2005, P24) 4. Pin 18 sampai 19 Jalur ini merupakan masukan ke penguat osilator berpenguat tinggi.. pin ini diperlukan untuk dihubungkan dengan kristal. XTAL1 digunakan sebagai input untuk inverting osilator amplifier dan input ke rangkaian internal clock. Sedangkan XTAL2 merupakan output dari inverting ascilator amplifier. (Widodo Budiharto, 2005, P24) 5. Pin 20 Merupakan ground sumber tegangan (GND). (Widodo Budiharto, 2005, P25) 6. Pin 21 sampai 28 Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit (Movx@DPTR). Pada saat mengakses memori secara 8 bit (Movx@RN) port ini akan mengeluarkan isi dari P2 ke 37 Special Function Register. Port ini memiliki pull up dan berfungsi sebagai input dengan memberi logika 1. sebagai output, port ini dapat memberikan output sink ke empat buah input TTL. (Widodo Budiharto, 2005, P25) 7. Pin 29 Program Store Enable(PSEN) merupakan sinyal pengontrol dalam mengakses program memori eksternal yang masuk ke dalam saluran (bus) selama proses pemberian atau pengambilan instruksi (fetching). PSEN akan aktif dua kali setiap cycle. Aktifasi PSEN yang kedua akan ditunda selama proses akses ke memori data eksternal. (Widodo Budiharto, 2005, P25) 8. Pin 30 Address Latch Enable (ALE) berfungsi untuk melatch low byte address pada saat mengakses memori eksternal. Pada saat flash programming (PROG) berfungsi sebagai sebagai sinyal input. Pada operasi standart ALE akan mengeluarkan sinyal clock sebesar 1/6 dari frekuensi oscilator, dan sering digunakan sebagai timing eksternal atau tujuan clocking. Sinyal clock ini dapat di-disable dengan menset bit 0 dari SFR pada lokasi 8EH. Pada saat non aktif ALE tidak dapat diset ketika mikrokontroler berada pada mode eksekusi eksternal. (Widodo Budiharto, 2005, P26) 38 9. Pin 31 External Access Enable (EA) merupakan sinyal kontrol untuk pembacaan memori program. Pada saat kondisi low, mikrokontroler akan menjalankan program yang ada di memori eksternal. Sedangkan pada saat kondisi high maka mikrokontroler akan mejalankan program dari memori internal. Pada saat flash programing pin ini akan mendapatkan tegangan sebesar 12 volt (VPP). (Widodo Budiharto, 2005, P26) 10. Pin 32 sampai 39 Port 0 berfungsi I/O yang dapat digunakan sebagai multiplex pada low address atau menerima kode byte pada saat fllash programming. Pada saat berfungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah transistor transistor logic (TTL) input (Widodo Budiharto, 2005, P26) 11. Pin 40 Merupakan sumber tegangan positif (VCC). (Widodo Budiharto, 2005, P26) 2.7.3 Struktur Memori AT89S52 memiliki struktur memori sebagai berikut : 1. RAM Internal 39 Berfungsi sebagai tempat penyimpanan sementara, dan memiliki memori sebesar 256 byte. 2. Special function register Register-register ini memiliki fungsi khusus yang akan dijelaskan berikut ini: o Accumulator (register A), merupakan register 8 bit yang digunakan untuk operasi aritmatika dan operasi logika. o Register B, memiliki fungsi yang sama dengan register A o Program Counter(PC), merupakan register 16 bit yang berfungsi untuk menunjuk lokasi memori untuk instruksi berikutnya. Ketika direset atau di power up PC selalu bernilai 0000h dan nilai tersebut akan selalu bertambah setiap sebuah instruksi diproses. o Data Pointer(DPTR), digunakan untuk mengakses data atau source code yang ada di memori eksternal. o Stack Pointer (SP), berfungsi sebagai penunjuk alamat atau data yang berada o Program status word, register ini berisi bit status yang menggambarkan keadaan mikrokontroler. o Power control register, terdiri beberapa macam register untuk kontrol. 3. Flash EPROM Memori yang digunakan untuk menyimpan memori MCS51 (www.jazi.staff.ugm.ac.id) 40 2.7.4 Komunikasi Data Serial Komunikasi data serial berbeda dengan komunikasi data paralel. Jika komunikasi data paralel pengiriman dilakukan secara sekaligus maka pada komunikasi data serial pengiriman dilakukan per bit melalui sebuah jalur tunggal. Dalam komunikasi data serial perlu dilakukan sinkronisasi antara pengirim dan penerima agar data yang dikirim dapat diterima dengan tepat dan benar oleh penerima. Kelebihan dari komunikasi data serial adalah jarak pengiriman dan peneriamaan dapat dilakukan dalam jarak yang cukup jauh dibanding komunikasi data paralel, tetapi kekurangannya adalah kecepatan komunikasi data serial lebih lambat dari pada komunikasi data paralel. Contoh komunikasi data seial adalah komunikasi serial RS 232 dan RS 485 Pada komunikasi data serial terdapat dua mode dalam mentranmisikan data yaitu : 1. Mode sinkron Mode sinkron merupakan mode komunikasi yang pengiriman tiap bit data dilakukan dengan menggunakan sinkronisasi clock. Pada saat transmiter hendak mengirimkan data, harus disertai clock untuk sinkronisasi antara transmiter dan receiver. 2. Mode Asinkron Mode sinkron merupakan mode komunikasi yang pengiriman tiap bit data dilakukan tanpa menggunakan sinkronisasi clock. Transmiter yang ingin mengirimkan bit-bit data harus menyepakati suatu standar Universal Acynchronous Receive Transmit (UART) sehingga komunikasi 41 data dilakukan dengan suatu standart yang telah disepakati terlebih dahulu oleh transmiter dan receiver. Standart UART terdapat pada IC yang dapat mengkonversi 8 bit data ke dalam aliran serial untuk dikirimkan menuju receiver, demikian sebaliknya pada saat menerima dari serial maka IC UART akan mengubah data serial menjadi 8 bit data yang selanjutnya dapat diproses. Gambar 2.12 Serial DB-25 (perc2 PENGENALAN INTERFACE SERIAL DAN UART rev LM.pdf) Gambar 2.13 Serial DB-9 (perc2 PENGENALAN INTERFACE SERIAL DAN UART rev LM.pdf) Tabel 2.5 Serial Pin Out Pada Konektor DB-25 dan DB-9 D-Type-25 Pin No. Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin20 Pin 22 D-Type-9 Pin No. Pin 3 Pin 2 Pin 7 Pin 8 Pin 6 Pin 5 Pin1 Pin 4 Pin 9 Singkatan TD RD RTS CTS DSR SG CD DTR RI Nama Lengkap Transmit Data Receive Data Request To Send Clear To Send Dta Set Ready Signal Ground Carrier Detect Data Transmit Ready Ring Indicator 42 Tabel 2.6 Port Address dan IRQ pada Serial Nama COM1 COM2 COM3 COM4 Alamat 3F8 2F8 3E8 2E8 IRQ 4 3 4 3 Berikut akan dijelaskan masing-masing fungsi port pada serial : 1.DTR (Data Terminal Ready) DTR berfungsi sebagai indikator yang berguna untuk menunjukkan kapan modem akan digunakan dan modem menset DSR untuk mengidentifikasikan bahwa modem sudah siap dan koneksi sudah tersambung. 2.RTS (Request To Send) Berfungsi untuk menset agar komputer dapat meminta persetujuan untuk mengirim. 3.TxD (Transmit Data) Berfungsi untuk proses pengiriman data. 4.CTS (Clear To Send) Berfungsi untuk menginformasikan kepada komputer bahwa modem sudah siap untuk menerima dan megirim data lewat kabel telepon. 43 5. DSR (Data Set Ready) Untuk mengidentifikasi DTR. Bila DTR dibuat drop oleh komputer maka akan menyebabkan kebanyakan modem menjadi terputus. Setelah terputus maka modem akan menyatakan bahwa DSR Low. 6.DCD (Data Carier Detect) Pada modem, untuk mengaktifkan jalur transmisi pada saluran komunikasi. DCD akan aktif apabila modem mendeteksi adanya carrier dalam jalur transmisi pada ujung saluran komunikasi. 7.RI (Ring Indikator) Pada modem, merupakan pendeteksi adanya sinyal telepon yang masuk pada saluran modem. RI akan aktif apabila ada yang menggunakan jalur komunikasi telepon. (perc2 PENGENALAN INTERFACE SERIAL DAN UART rev LM.pdf) 2.7.4.1 Mode Komunikasi Macam-macam mode komunikasi adalah: 1.Mode komunikasi simplex Pada mode ini komunikasi hanya terjadi satu arah. Jadi posisi pengirim dan penerima bersifat pemanen, tidak dapat dibalik-balik. Jika pengirim tidak dapat menerima data dan penerima tidak dapat mengirim data. 2.Mode komunikasi half duplex 44 Pada mode ini komunikasi data dapat terjadi secara dua arah. Tetapi komunikasi dilakukan secara bergantian karena pada komunikasi ini hanya ada satu jalur data. Jadi pengiriman data dan penerimaan data menggunakan satu jalur yang sama. Pada half duplex sinkron, selang waktu tunda terjadi apabila terjadi perubahan arah transmisi, karena modem pengirim harus mengirimkan sekelompok sinyal untuk inisialisasi piranti penerima agar bisa menyesuaikan dengan kondisi kanal. 3. Mode komunikasi full duplex pada mode ini komunikasi terjadi secara dua arah, dan menggunakan dua jalur. Jadi pengiriman data dari kedua belah pihak yang sedang berkomunikasi dapat dilakukan secara bersamaan. Tetapi setiap jalur hanya bisa digunakan untuk komunikasi satu arah. Pertimbangan-pertimbangan dalam memilih jalur komunikasi antara half duplex dan full duplex adalah dari segi ekonomi dan kecepatan operasinya. Selain itu karakterististik dasar lalu lintas data dan cara penanganan kesalahan yang dimiliki oleh sistem. (www.jazi.staff.ugm.ac.id) 45 2.7.4.2 Format Data Komunikasi Serial Format data pada komunikasi data serial terdiri dari beberapa parameter. Parameter-parameter ini digunakan untuk menentukan bentuk data serial yang akan dikomunikasikan. Parameter-parameter yang digunakan untuk menentukan format data pada komunikasi data serial adalah sebagai berikut: 1.Kecepatan mobilisasi data per bit (baud rate) Dalam komunikasi ata serial laju data dinyatakan dalam satuan baud. Laju pemindahan data dalam kanal komunikasi merupakan laju tercepat dari pemindahan bit. Laju pemindahan data pada kanal jaringan biasanya lebih rendah dari pada kanal komunikasi. Penyebab rendahnya kelajuan data pada kanal jaringan adalah karena adanya penambahan bit ekstra untuk keperluan pewaktuan. Data serial dapat dimobilisasikan pada berbagai baud rate. Baud rate yang digunakan pada teknik komunikasi data serial null modem asyncronous adalah 300 bps sampai 19200 bps. 2.Jumlah bit data per karakter (data length) Dalam komunikasi data serial mode asyncronous biasanya berlangsung transmisi data yang dikemas dalam bentuk karakter. Dalam satu karakter diperbolehkan terdiri dari beberapa variasi jumlah bit.dan variasi-variasi yang diperbolehkan terdiri dari 7 bit dan 8 bit (panjang satu karakter saja). Kedua variasi ini yang paling sering digunakan dalam komunikasi data serial. 46 3.Pariti yang digunakan Bit parity adalah bit yang digunakan sebagai alat pemeriksa kesalahan sederhana dalam proses transmisi data digital. Pemakaian parity ini akan diikutsertakan dalam proses penulisan inisialisasi peralatan serial yang bersangkutan. Bit parity ini akan diletakkan setelah susunan bit data. Macam-macam jenis parity adalah parity ganjil, parity genap, dan tanpa parity (tidak memiliki pemeriksa kesalahan). (www.jazi.staff.ugm.ac.id) 2.7.4.3 Konfigurasi Terminal Ganda Macam-macam konfigurasi untuk terminal adalah : 1.Konfigurasi bintang Digunakan diantara setiap terminal dan komputer. Konfigurasi ini merupakan konfigurasi yang paling sederhana. Saluran transmisi terpisah (Carl Hamacher,1990, P504) 47 Gambar 2.14 Gambar Konfigurasi Bintang (Carl Hamacher,1990, P504) 2.Konfigurasi saluran titik ganda (multi point) Saluran transmisi tunggal digunakan untuk menghubungkan sejumlah terminal. Dengan menggunakan konfigurasi ini dapat mengurangi biaya kabel. Jika menggunakan saluran ini maka masing-masing terminal harus diberi alamat dan harus ada penjadwalan penggunaan saluran transmisi. Pengalamatan itu bertujuan agar komputer dapat mengetahui data atau pesan yang diperoleh berasal dari teminal yang mana, karena hanya ada satu saluran. Ada 3 metode model penjadwalan pemakaian saluran transmisi, yaitu roll polling, hub polling, dan contention. Roll polling merupakan prosedur yang paling sederhana untuk saluran multi point. Komputer mulai dengan mengirimkan pesan singkat ke 48 salah satu terminal. Jika terminal siap, terminal itu akan menjawab dengan mentransmisikan datanya. Bila tidak terminal akan mengirimkan jawaban not ready. Kemudian komputer akan menanyakan ke terminal berikutnya, demikian seterusnya. Hub polling merupaka modifikasi dari skema roll polling untuk memperkecil over head polling. Komputer memulai dengan mengirimkan pesan pada saluran inbound ke terminal satu. Jika terminal siap, terminal akan menjawab dengan mentransmisikan datanya pada saluran outbound. Jika tidak, terminal akan mentransmisikan pesan ke terminal dua. Sedangkan contention, terminal akan mengirimkan data ke komputer dengan menyertakan alamat tertentu sebelum pesan. Gambar 2.15 Gambar Konfigurasi Multipoint (Carl Hamacher,1990, P507) 3.Konfigurasi loop Perbedaan utama antara konfigurasi loop dan konigursi multi point adalah adanya bagian terpisah yang menghubungkan interface loop pada organisasi loop. 49 Transmisi dalam loop selalu terjadi pada arah yang sama, searah atau berlawanan arah dengan jarum jam. (Carl Hamacher, 1990, P507) 2.8 Assembly Language Secara fisik mikrokontroler bekerja dengan membaca instruksi yang tersimpan didalam memori. Mikrokontroler menentukan alamat dan memori program yang akan dibaca dan melakukan proses baca data di memori. Data yang dibaca diinterpretasikan sebagai instruksi. Alamat instruksi disimpan oleh mikrokontroler di register yang dikenal sebagai program counter. (Widodo Budiharto, 2005, P43) 2.8.1 Mode Pengalamatan 2.8.1.1 Pengalamatan Langsung Pengalamatan langsung dilakukan dengan memberikan nilai ke suatu register secara langsung. Untuk itu digunakan tanda #. Operand yang digunakan pada pengalamatan langsung/immediate dapat berupa bilangan bertanda mulai -256 hingga +256. Mis: MOV A, #25H ; Isi akumulator dengan bilangan 25H (Widodo Budiharto, 2005, P47) 2.8.1.2 Pengalamatan Tak Langsung Pada pengalamatan ini, operand menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Untuk melakukan pengalamatan tidak langsung digunakan simbol @. 50 Pengalamatan jenis ini biasa digunakan untuk melakukan penulisan, pemindahan, atau pembacaan beberapa data dalam lokasi memori. Mis: MOV P1, A ; Isi P1 dengan data dari akumulator (Widodo Budiharto, 2005, P47) 2.8.1.3 Pengalamatan Kode Pengalamatan kode terjadi, saat operand berfungsi sebagai alamat dari intruksi JUMP dan CALL. (Widodo Budiharto, 2005, P48) 2.8.1.4 Pengalamtan Bit Pengalamatan bit menunjukkan alamat lokasi bit baik yang berada di dalam RAM internal atau perangkat keras. Simbol titik (.) digunakan dalam operasi ini. (Widodo Budiharto, 2005, P48) 2.9 DCE dan DTE device DTE adalah Data Terminal Equipment dan DCE adalah Data Communication Equipment. DTE dan DCE dignakan untuk mengidikasikan pin-out pada alat penghubung dan pensinyalan langsung pada pin. Komputer merupakan DTE dan devicedevice lain seperti modem dan serial device lainnya yang biasa digunakan sebagai DCE device. RS-232 adalah suatu alat standart yang digunakan sebagai penghubung antara DTE dan DCE. 51 Gambar 2.16 Komunikasi DTE dan DCE (http://www.sena.com/download/tutorial/tech_Serial_v1r0c0.pdf) 2.9.1 RS-232 RS-232 (Recommended Standart-232) adalah standar interface yang disetujui oleh Electronic Industries Association (EIA) untuk menghubungkan ke serial device. Dengan kata lain, RS-232 adalah standar untuk physical interface dan protokol untuk komunikasi data serial berkecepatan rendah antara komputer dan deice-device yang terhubung. RS-232 dapat digunakan untuk komunikasi synchronous mode atau asynhcronus mode. RS-232 dapat menggunakan konektor DB-9, Db-25, dan RJ-45. RS-233 memiliki beberapa kekurangan yang serius sebagai suatu alat penghubung elektrik, yaitu: 1. RS-232 tidak mampu untuk menyaring noise yang ada secara keseluruhan. 2. Jangkauan kabel untuk RS-232 hanya sebatas pada ruangan yang sama. 3. RS-232 hanya mendukung komunikasi point-to-point dengan kecepatan yang rendah. Mis: port Com1 pada komputer dapat digunakan untuk mouse 52 dan port Com2 untuk keyboard. Ini merupakan contoh dari komunikasi point-to-point, satu port untuk satu alat. 2.9.2 RS-485 RS-485 adalah suatu standart dari Electronic Industry Assosiation (EIA) untuk komunikasi multipoint. RS-485 mendukung beberapa jenis konektor yaitu DB-9 dan DB-37. RS-485 merupakan jaringan multipoint yang memiliki spesifikasi standart sampai 32 driver dan 32 receiver pada bus single (2-wire). RS-485 menggunakan komunikasi bi-directional, menggunakan transmisi data half-duplex, dan hanya standart EIA yang mengijinkan multiple receiver dan driver pada konfigurasi bus. 2.9.3 Converter Converter pada umumnya digunakan untuk mengubah karakteristik elektrik dari suatu komunikasi yang baku komunikasi ke komunikasi yang lain. Sebagai contoh, RS-232ÙRS-485 converter, secara otomatis RS-232 komputer yang full-duplex dapat dihubungkan dengan RS-485 yang half-duplex. Sinyal RS-232 yang full-duplex dapat langsung diubah menjadi sinyal RS-485 yang half-duplex. RS-485 dengan sinyal half-duplexnya mampu me-multidrop jaringan sampai 4000 kaki. Converter merupakan sebuah alat yang menghubung data yang tidak mengubah timing dan protokol data sumber. Saat konversi software harus dapat berkomunikasi dengan corak jaringan yang luas. RS-232ÙRS-485 automatic converter akan menjalankan RS-485 transmiter saat ada data yang terdeteksi 53 pada port RS-232, dan kembali ke mode penerima setelah karakter dikirim. Ketika full-duplex dikonversi ke half-duplex hanya satu device yang mentransmisi data pada waktu yang sama. Automatic converter memperhatikan masalah timing dan memberikan komunikasi yang cepat tanpa campur tangan software. http://www.sena.com/download/tutorial/tech_Serial_v1r0c0.pdf 2.10 UML (Unified Modelling Language) Unified Modelling Language adalah sebutan bahasa standar untuk menuliskan rancangan perangkat lunak. Unified Modelling Language digunakan untuk menggambarkan, mengembangkan, dan mendokumentasikan artifact dari sebuah software-intensive system. Diagram UML dapat dibagi dalam 2 kelompok besar yaitu behavioral diagram dan structural diagram. Behavioral diagram digunakan untuk menggambarkan menunjukkan, mengembangkan, dan mendokumentasikan aspek-aspek dinamis dari suatu sistem. Behavioral diagram terdiri dari : • Use case diagram Use case diagram menggambarkan sekumpulan use case dan actor dan hubungan antara use case dengan actor. Use case diagram digunakan untuk menggambarkan static view dari sistem. Actor mewakili sebuah peran (pengguna) dari use case yang ber-interaksi dengan use case tersebut. Use case mewakili apa yang dilakukan oleh sebuah sistem, namun tidak menggambarkan bagaimana pekerjaan tersebut dilakukan. • Sequence diagram dan Collaboration diagram 54 Sequence diagram dan collaboration diagram termasuk dalam interaction diagram yang menggambarkan interaksi antara object yang terjadi melalui pengiriman pesan antar object tersebut. Sequence diagram merupakan interaction diagram yang menekankan pada urutan waktu dari pengiriman dan penerimaan pesan, sedangkan collaboration diagram merupakan interaction diagram yang menekankan pada susunan oorganisasional dan hubungan dari object-object yang mengirimkan dan menerima pesan. • Statechart diagram Statechart diagram menunjukkan state-machine, menekankan pada aliran kontrol dari satu state ke state lainnya. State machine adalah menunjukkan serangkaian state (keadaan) yang dilalui suatu object selama jangka waktu hidupnya dalam rangka memproses respon dari suatu event (kejadian) dan hasil respon terhadap event tersebut. State adalah suatu kejadian atau situasi dalam jangka waktu hidup suatu object, dimana suatu object melakukan suatu aktivitas atau menunggu suatu event. Event adalah suatu spesifikasi dari kejadian yang memiliki tempat dalam ruang dan waktu. Dalam konteks state machine, event adalah sebuah kejadian yang dapat memicu state transition (perpindahan state). Transition adalah hubungan antara 2 state yang menunjukkan bahwa object pada state pertama akan melakukan suatu aksi dan memasuki state ke dua pada waktu event tertentu terjadi dan kondisi tertentu terpenuhi. Action adalah perhitungan atomic yang dapat dieksekusi yang 55 menghasilkan perubahan state atau nilai balik. Activity adalah eksekusi non-atomic yang terus menerus berjalan dalam sebuah state-machine • Activity diagram Activity diagram menunjukkan sejumlah kegiatan, aliran sekuensial atau bercabang dari suatu activity ke activity lain, dan objectobject yang terlibat. Activity diagram menunjukkan aliran dari suatu activity ke activity yang lainnya. Activity adalah eksekusi non-atomic yang terus menerus berjalan dalam sebuah state-machine. Suatu activity pada akhirnya menghasilkan suatu aksi yang terdiri dari perhitungan atomic yang dapat dieksekusi yang menghasilkan perubahan state dari suatu sistem atau nilai balik. Aksi meliputi pemanggilan operasi lain, pengiriman signal, pembuatan atau penghancuran object atau perhitungan biasa seperti evaluasi dari suatu akspresi. Sedangkan structural diagram digunakan untuk menggambarkan, menunjukkan, mengembangkan dan mendokumentasikan aspek-aspek statis suatu sistem. Structural diagram terdiri dari : • Class diagram dan Object diagram Class diagram adalah diagram yang menunjukkan kumpulan class, interface, collaboration, dan hubungan (relationship) di antara mereka. Class adalah suatu gambaran dari sekumpulan object yang berbagi attibute, operation, dan relation. Attribute adalah sebuah sifat dari suatu class yang menggamabarkan sekumpulan nilai yang mungkin dimiliki dari instanisasi dari sifat itu. Suatu class dapat memiliki berapapun 56 jumlah attibute atau bahkan tidak sama sekali. Attibute mewakili sebuah sifat dari sesuatu yang sedang dimodelkan yang dimiliki oleh seluruh onjek dari suatu class. Operation adalah implementasi dari sebuah layanan yang dapat dimintakan dari object manapun yang dinstanisasi dari class tertentu. Dengan kata lain, operation adalah suatu abstraksi dari sesuatu yang dapat dilakukan terhadap suatu object dan dimiliki oleh semua object dari class object tersebut. • Component diagram Component diagram menampilkan sekumpulan dari komponen-komponen dan hubungan diantara komponen- komponen tersebut. Component diagram digunakan untuk mengilustrasikan tampilan implementasi statis dari sebuah sistem, component adalah bagian fisik yang dapat digantikan dari suatu sistem yang sesuai dengan dan menyediakan realisasi dari serangkaian interface. • Deployment diagram Deployment diagram adalah diagram yang menunjukkan konfigurasi dari suatu node yang memproses pada saat run-time. Deployment diagram menampilkan sekumpulan node-node dan hubungan di antara node-node tersebut. Yang termasuk dengan node antara lain server dan desktop. Deployement diagram digunakan untuk mengilustrasikan arsitektur dari rencana static deployment.