SISTEM KENDALI PERANGKAT LISTRIK MENGGUNAKAN MEDIA SMS (SHORT MESSAGE SERVICE) SKRIPSI Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Pada Jurusan Teknik Informatika Fakultas Sains Dan Teknologi Universitas Islam Negeri Sunan Gunung Djati Bandung Oleh : Heri Hardiansyah 208 700 843 BANDUNG 2013 M / 1434 H i SISTEM KENDALI PERANGKAT LISTRIK MENGGUNAKAN MEDIA SMS (SHORT MESSAGE SERVICE) SKRIPSI Oleh : Heri Hardiansyah 208 700 843 Menyetujui, Dosen Pembimbing I Dosen Pembimbing II Edi Mulyana, MT. NIP. 197001062008011025 Entik Insanudin, MT. NIDN. 0411017801 Mengetahui, Dekan Fakultas Sains dan Teknologi Ketua Jurusan Teknik Informatika Dr. H. M. Subandi, Drs., Ir., MP. NIP. 195404241985031004 H. Cecep Nurul Alam, ST., MT. NIP. 197804172005011005 ii LEMBAR PENGESAHAN Skripsi yang berjudul SISTEM KENDALI PERANGKAT LISTRIK MENGGUNAKAN MEDIA SMS (SHORT MESSAGE SERVICE) dinyatakan syah dan telah disidangkan dalam Sidang Munaqosyah Fakultas Sains dan Teknologi, Universitas Islam Negeri Sunan Gunung Djati Bandung pada tanggal 26 Agustus 2013 oleh Majelis Sidang yang terdiri dari : Bandung, 04 September 2013 Ketua Majelis Sekretaris Dr. M. Agus Salim, Drs., MP. NIP. 196708181993031003 Ichsan Taufik, ST., MT. NIP. 198009132006041002 Mengetahui, Dosen Penguji I Dosen Penguji II Undang Syarifudin, M.Kom. NIP. 197909302009121002 Jumadi, ST. NIP. 197805312007101001 iii ABSTRAK SISTEM KENDALI PERANGKAT LISTRIK MENGGUNAKAN MEDIA SMS (SHORT MESSAGE SERVICE) HERI HARDIANSYAH – NIM 208700843 Jurusan Teknik Informatika Listrik merupakan faktor penting dalam kehidupan sehari – hari. Di lingkungan perusahaan atau perkantoran, contoh penggunaan listrik adalah untuk penyalaan lampu dan air conditioner (AC), namun dalam penerapannya masih dikerjakan secara manual dengan menekan tombol stop kontak untuk mematikan atau menyalakannya dan harus menuju ke tempatnya. Hal itu akan memakan banyak waktu dan tenaga jika penggunaanya dilakukan dalam jumlah yang besar di gedung - gedung bertingkat dan sifatnya rutin. Apalagi ditambah dengan padatnya kesibukan di lingkungan perusahaan atau perkantoran yang memungkinkan seseorang lupa untuk mematikan perangkat listrik yang tidak dibutuhkan pada jam pulang perusahaan atau perkantoran. Oleh karena itu, alangkah baiknya jika ada fasilitas pengendali jarak jauh dan dapat dilakukan secara otomatis. Pada Tugas Akhir ini dirancang sistem kendali perangkat listrik menggunakan media SMS (Short Message Service), yaitu suatu sistem yang berfungsi sebagai otomatisasi perangkat listrik menggunakan fitur SMS. Perancangan dan pembuatan sistem kendali ini menggunakan rangkaian relay sebagai saklar otomatis yang dihubungkan ke komputer menggunakan port paralel. Dalam hal pembuatan program aplikasi tersebut akan dibuat dengan menggunakan bahasa pemrograman java dan sebuah perangkat mobile berupa handphone yang berfungsi sebagai penerima dan pemberi informasi pada program server yang berisi instruksi mematikan atau menghidupkan perangkat listrik. Adapun untuk implementasinya nanti dapat diterapkan pada perangkat listrik yang ada di suatu rumah, gedung-gedung bertingkat, atau pabrik dan pergudangan. Dengan adanya alat ini diharapkan lebih memudahkan untuk memonitoring atau mengendalikan perangkat listrik, sehingga untuk mematikan dan menghidupkan perangkat listrik bisa dilakukan secara jarak jauh. Kata Kunci : Port Paralel, Sistem Kendali, SMS. iv MOTTO ”Apa yang kita pikirkan itulah yang akan terjadi. Berfikirlah bisa, niscaya pasti akan bisa, karena Allah bersama sangkaan hamba-Nya” “Sesungguhnya Allah tidak merubah keadaan sesuatu kaum sehingga mereka merubah keadaan yang ada pada diri mereka sendiri” (QS. Ar-Rad ayat 11) ”Jadikanlah sabar dan sholat sebagai penolongmu. Dan sesungguhnya yang demikian itu sungguh berat, kecuali bagi orang-orang yang khusu’ yaitu orang-orang yang mengetahui bahwa mereka akan menemui Tuhannya dan bahwa mereka akan kembali kepada-Nya.” (QS. Al-Baqarah : 45-46) ”Sesungguhnya sesudah kesulitan itu ada kemudahan. Maka apabila kamu telah selesai (dari sesuatu urusan), kerjakanlah dengan sungguh-sungguh (urusan) yang lain. Dan hanya kepada Tuhanmulah hendaknya kamu berharap.” (QS. Alam-Nasyrah : 6-8) v RIWAYAT HIDUP Penulis adalah Heri Hardiansyah, terlahir dari pasangan Bapak Utang Setiawan dan Ibu Neneng Aan Ganisah, lahir di Bandung pada tanggal 09 April 1989. Penulis merupakan putera kedua dari tujuh bersaudara yang tinggal di Jalan Neglasari 2 no. 98 Ujungberung Bandung 40617. Pendidikan yang ditempuh oleh penulis dimulai dari SDN Ciporeat 3 Bandung, lulus tahun 2001 dan kemudian dilanjutkan ke SMPN 17 Bandung pada tahun yang sama. Setelah lulus tahun 2004, kemudian melanjutkan ke MAN 2 Bandung dan lulus pada tahun 2007. Pada tahun 2008 penulis mendapat kesempatan untuk melanjutkan pendidikan ke Perguruan Tinggi Universitas Islam Negeri Sunan Gunung Djati Bandung, masuk jurusan Teknik Informatika Strata 1 (S-1) Fakultas Sains dan Teknologi dan lulus pada tahun 2013. vi KATA PENGANTAR Assalamu’alaikum Wr. Wb. Segala puji dan syukur dipanjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga skripsi dengan judul “SISTEM KENDALI PERANGKAT LISTRIK MENGGUNAKAN MEDIA SMS (SHORT MESSAGE SERVICE)” dapat diselesaikan. Maksud dan tujuan dari penyusunan skripsi ini adalah untuk mencapai kelulusan dalam menyelesaikan program studi Teknik Informatika jenjang Strata 1, Fakultas Sains dan Teknologi Universitas Islam Negeri Sunan Gunung Djati Bandung. Penulis menyadari dengan sepenuh hati, penyusunan skripsi ini tidak terlepas dari motivasi, bimbingan serta dukungan dari semua pihak, oleh karenanya penulis mengucapkan terima kasih kepada: 1. Allah SWT karena telah diberi kelancaran dalam mengerjakan skripsi ini. 2. Bapak H. Cecep Nurul Alam, ST., MT., selaku ketua jurusan Teknik Informatika. 3. Bapak Edi Mulyana, MT. dan Bapak Entik Insanudin, MT., sebagai Pembimbing yang telah meluangkan waktunya untuk membimbing selama melaksanakan penelitian dan penulisan skripsi ini. vii 4. Bapak Jumadi, MT dan Bapak Undang Syarifudin, M.Kom., sebagai Penguji yang telah menguji, merevisi dan memberikan masukan pada skripsi ini. 5. Kedua Orang Tua dan keluarga yang saya cintai atas doa dan dukungannya. 6. Seluruh dosen Teknik Informatika Fakultas Sains dan Teknologi yang telah berjasa memberikan ilmunya kepada penulis selama kuliah. 7. Teman – teman seperjuangan IFC Garis Keras 08, terima kasih atas segala bantuan dan dukungannya. 8. Nela Wati, selaku Istri Tercinta yang selalu mendukung dan support sehingga penulis tetap semangat dalam menyelesaikan skripsi ini. 9. Semua pihak yang telah ikut berpartisipasi, namun tidak bisa disebutkan satu persatu. Laporan ini jauh dari sempurna, semua saran dan kritik yang membangun sangat dinantikan untuk perbaikan dimasa mendatang. Semoga laporan skripsi ini dapat berguna bagi pembaca dan bagi kita semua. Aamiin. Wassalamu’alaikum Wr. Wb. Bandung, 04 September 2013 Penulis viii DAFTAR ISI HALAMAN JUDUL ..........................................................................................i HALAMAN PERSETUJUAN ..........................................................................ii HALAMAN PENGESAHAN ............................................................................iii ABSTRAK ..........................................................................................................iv MOTTO ...............................................................................................................v RIWAYAT HIDUP ............................................................................................vi KATA PENGANTAR ........................................................................................vii DAFTAR ISI .......................................................................................................ix DAFTAR GAMBAR ..........................................................................................xi DAFTAR TABEL ..............................................................................................xiv DAFTAR SIMBOL ............................................................................................xvi BAB I PENDAHULUAN 1.1 Latar Belakang ....................................................................................... 1.2 Rumusan Masalah ................................................................................... 1.3 Batasan Masalah...................................................................................... 1.4 Tujuan Penelitian .................................................................................... 1.5 Manfaat Penelitian ................................................................................. 1.6 Metodologi Penelitian ............................................................................. 1.6.1 Metode Pengumpulan Data ............................................................ 1.6.2 Metodologi Pengembangan Perangkat Lunak................................ 1.7 Sistematika Penulisan ............................................................................. 1 3 3 4 4 4 4 5 7 BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Kendali................................................................. 9 2.1.1 Pengertian Sistem........................................................................... 9 2.1.2 Pengertian Sistem Kendali ............................................................ 10 2.1.3 Keuntungan Sistem Kendali Komputer ....................................... 11 2.2 Short Messaging Service (SMS) ........................................................... 12 2.2.1 PDU (Protocol Data Unit) ........................................................... 13 2.2.2 SMS Gateway ............................................................................... 17 2.2.3 SMSLib ........................................................................................ 17 2.3 Java ...................................................................................................... 18 2.3.1 Pengertian Java ............................................................................. 18 2.3.2 Program - Program Java ................................................................ 20 2.4 Port Paralel............................................................................................ 23 2.4.1 Pengaksesan Parallel Port Dengan Java ...................................... 27 2.5 Unified Modeling Language (UML) .................................................... 27 2.5.1 Pengertian UML ........................................................................... 27 2.5.2 Bangunan Dasar Metodologi UML .............................................. 29 2.6 MySQL Database ................................................................................. 32 2.6.1 Pengertian MySQL ....................................................................... 32 ix 2.6.2 Perintah-Perintah SQL ................................................................. 2.7 Hardware ............................................................................................. 2.7.1 Relay ............................................................................................. 2.7.2 ULN 2803 ..................................................................................... 32 34 34 36 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem....................................................................................... 3.1.1 Spesifikasi Aplikasi ...................................................................... 3.1.2 Spesifikasi Pengguna .................................................................... 3.1.3 Spesifikasi Hardware ................................................................... 3.1.4 Spesifikasi Software ..................................................................... 3.2 Perancangan Sistem ............................................................................... 3.2.1 Perancangan Sistem Keseluruhan ................................................ 3.2.2 Perancangan Hardware ................................................................ 3.2.3 Perancangan Software .................................................................. a. Kebutuhan Fungsional ............................................................. b. Use Case Diagram ................................................................... c. Skenario Sistem ........................................................................ d. Activity Diagram ...................................................................... e. Sequence Diagram ................................................................... f. Class Diagram .......................................................................... 3.2.4 Perancangan Basis Data ............................................................... 3.2.5 Perancangan Format SMS ............................................................ 3.2.6 Perancangan User Interface ......................................................... 38 38 38 39 40 40 40 42 45 45 46 47 57 69 79 79 82 89 BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem ............................................................................ 93 4.1.1 Implementasi Denah Ruangan ..................................................... 93 4.1.2 Implementasi Hardware ............................................................... 94 4.1.3 Implementasi Software ................................................................. 98 4.1.4 Implementasi User Interface ......................................................... 98 4.1.5 Implementasi Pemograman SMS ................................................ 111 4.2 Pengujian Sistem ................................................................................. 114 4.2.1 Pengujian Software ...................................................................... 114 4.2.2 Pengujian Hardware ................................................................... 115 4.3 Hasil Uji Coba Sistem ......................................................................... 116 4.3.1 Hasil Uji Coba Software .............................................................. 116 4.3.2 Hasil Uji Coba Hardware ........................................................... 119 BAB V PENUTUP 5.1 Kesimpulan ........................................................................................... 121 5.2 Saran...................................................................................................... 122 DAFTAR PUSTAKA LAMPIRAN x DAFTAR GAMBAR Gambar 1.1 Prototype Paradigma ....................................................................... 6 Gambar 2.1 Konsep Sistem Kendali .................................................................. 10 Gambar 2.2 Skema Proses Pengiriman SMS ..................................................... 12 Gambar 2.3 Susunan DB-25 ............................................................................. 24 Gambar 2.4 Relay............................................................................................... 34 Gambar 2.5 Sistem Kontrol Menggunakan Relay ............................................ 36 Gambar 2.6 Konfigurasi Pin ULN 2803 ........................................................... 37 Gambar 3.1 Rancangan Sistem Keseluruhan ..................................................... 41 Gambar 3.2 Rancangan Hardware Alat Kendali Perangkat Listrik ................. 44 Gambar 3.3 Rancangan Circuit Board .............................................................. 44 Gambar 3.4 Use Case Diagram ........................................................................ 46 Gambar 3.5 Activity Diagram Login.................................................................. 58 Gambar 3.6 Activity Diagram View User ......................................................... 58 Gambar 3.7 Activity Diagram Input User ......................................................... 59 Gambar 3.8 Activity Diagram Update User....................................................... 59 Gambar 3.9 Activity Diagram Delete User ........................................................ 60 Gambar 3.10 Activity Diagram Update Admin ................................................. 60 Gambar 3.11 Activity Diagram View Device Information ................................ 61 Gambar 3.12 Activity Diagram Update Device Information ............................ 61 Gambar 3.13 Activity Diagram Start Phone Connection................................... 62 Gambar 3.14 Activity Diagram Stop Phone Connection ................................... 62 Gambar 3.15 Activity Diagram Port Setting ...................................................... 63 Gambar 3.16 Activity Diagram View Message ................................................. 63 Gambar 3.17 Activity Diagram Control ON ..................................................... 64 Gambar 3.18 Activity Diagram Control OFF ................................................... 64 Gambar 3.19 Activity Diagram Set Timer ON .................................................. 65 Gambar 3.20 Activity Diagram Set Timer OFF ................................................ 65 Gambar 3.21 Activity Diagram SMS Request SMS Request Control ON ......... 66 Gambar 3.22 Activity Diagram SMS Request SMS Request Control OFF ....... 66 Gambar 3.23 Activity Diagram SMS Request Set Timer ON ............................ 67 Gambar 3.24 Activity Diagram SMS Request Set Timer OFF ........................... 67 Gambar 3.25 Activity Diagram SMS Request Device Status ............................ 68 Gambar 3.26 Activity Diagram SMS Request Device Information .................... 68 Gambar 3.27 Sequence Diagram Login ............................................................ 69 Gambar 3.28 Sequence Diagram View User...................................................... 70 Gambar 3.29 Sequence Diagram Input User ..................................................... 70 Gambar 3.30 Sequence Diagram Update User ................................................. 71 Gambar 3.31 Sequence Diagram Delete User ................................................... 71 Gambar 3.32 Sequence Diagram Update Admin ............................................... 71 Gambar 3.33 Sequence Diagram View Device Information .............................. 72 Gambar 3.34 Sequence Diagram Update Device Information ......................... 72 Gambar 3.35 Sequence Diagram Start Phone Connection ............................... 73 Gambar 3.36 Sequence Diagram Stop Phone Connection ................................ 73 xi Gambar 3.37 Sequence Diagram Port Setting ................................................... 74 Gambar 3.38 Sequence Diagram View Message .............................................. 74 Gambar 3.39 Sequence Diagram Control ON .................................................. 74 Gambar 3.40 Sequence Diagram Control OFF ................................................. 75 Gambar 3.41 Sequence Diagram Set Timer ON ............................................... 75 Gambar 3.42 Sequence Diagram Set Timer OFF .............................................. 75 Gambar 3.43 Sequence Diagram SMS Request Control ON ............................. 76 Gambar 3.44 Sequence Diagram SMS Request Control OFF ........................... 76 Gambar 3.45 Sequence Diagram SMS Request Set Timer ON ......................... 77 Gambar 3.46 Sequence Diagram SMS Request Set Timer OFF ........................ 77 Gambar 3.47 Sequence Diagram SMS Request Device Status ......................... 78 Gambar 3.48 Sequence Diagram SMS Request Device Information ................. 78 Gambar 3.49 Class Diagram ............................................................................. 79 Gambar 3.50 Rancangan Menu Login .............................................................. 89 Gambar 3.51 Rancangan Menu Home .............................................................. 90 Gambar 3.52 Rancangan Menu Device Control ............................................... 90 Gambar 3.53 Rancangan Menu Timer Setting .................................................. 91 Gambar 3.54 Rancangan Menu Phone Connection .......................................... 91 Gambar 3.55 Rancangan Menu Device Information ......................................... 92 Gambar 3.56 Rancangan Menu User Admin Setting ........................................ 92 Gambar 4.1 Denah Ruangan Kantor Perum Damri Bandung ........................... 93 Gambar 4.2 Salah Satu Susunan Darlington ULN 2803 ................................... 96 Gambar 4.3 Sirkuit Relay .................................................................................. 97 Gambar 4.4 Source Code Login ........................................................................ 99 Gambar 4.5 Form Menu Login .......................................................................... 99 Gambar 4.6 Form Menu Home ......................................................................... 100 Gambar 4.7 Source Code Jnpout32 ................................................................. 100 Gambar 4.8 Source Code Control ON ............................................................. 101 Gambar 4.9 Source Code Control OFF ........................................................... 102 Gambar 4.10 Form Menu Device Control ........................................................ 103 Gambar 4.11 Source Code Timer Setting ......................................................... 104 Gambar 4.12 Form Menu Timer Setting .......................................................... 104 Gambar 4.13 Source Code Phone Connection.................................................. 105 Gambar 4.14 Form Menu Phone Connection .................................................. 106 Gambar 4.15 Source Code Device Information ............................................... 107 Gambar 4.16 Form Menu Device Information ................................................. 108 Gambar 4.17 Source Code User Setting .......................................................... 109 Gambar 4.18 Source Code Admin Setting......................................................... 110 Gambar 4.19 Form Menu User Admin Setting ................................................. 111 Gambar 4.20 Source Code Pemecahan SMS ................................................... 112 Gambar 4.21 Source Code Command SMS ..................................................... 114 Gambar 4.22 Indikator Perangkat 1 Pada Program .......................................... 117 Gambar 4.23 Isi SMS Konfirmasi Perangkat 1 ................................................ 117 Gambar 4.24 Indikator Perangkat 2 Pada Program .......................................... 118 Gambar 4.25 Isi SMS Konfirmasi Perangkat 2 ................................................ 118 Gambar 4.26 Indikator Perangkat 3 Pada Program .......................................... 119 xii Gambar 4.27 Isi SMS Konfirmasi Perangkat 3 ................................................ 119 Gambar 4.28 Keadaan Lampu 3 Pada Hardware ............................................ 120 xiii DAFTAR TABEL Tabel 2.1 Skema Format SMS PDU Pengirim .................................................. Tabel 2.2 Skema Format SMS PDU Penerima ................................................. Tabel 2.3 Daftar SMSC ..................................................................................... Tabel 2.4 Fungsi Pin Konektor DB-25 .............................................................. Tabel 2.5 Data Port Pada Parallel Port............................................................ Tabel 2.6 Status Port Pada Parallel Port .......................................................... Tabel 2.7 Control Port Pada Parallel Port ....................................................... Tabel 2.8 Alamat Register Port Kontrol ........................................................... Tabel 3.1 Spesifiksi Pengguna ........................................................................... Tabel 3.2 Spesifikasi Hardware ........................................................................ Tabel 3.3 Spesifikasi Software .......................................................................... Tabel 3.4 Daftar Kebutuhan Fungsional ............................................................ Tabel 3.5 Skenario Login ................................................................................... Tabel 3.6 Skenario View User ........................................................................... Tabel 3.7 Skenario Input User ........................................................................... Tabel 3.8 Skenario Update User........................................................................ Tabel 3.9 Skenario Delete User ........................................................................ Tabel 3.10 Skenario Update Admin .................................................................. Tabel 3.11 Skenario View Device Information ................................................. Tabel 3.12 Skenario Update Device Information ............................................. Tabel 3.13 Skenario Start Phone Connection ................................................... Tabel 3.14 Skenario Stop Phone Connection .................................................... Tabel 3.15 Skenario Port Setting ...................................................................... Tabel 3.16 Skenario View Message .................................................................. Tabel 3.17 Skenario Control ON ...................................................................... Tabel 3.18 Skenario Control OFF .................................................................... Tabel 3.19 Skenario Set Timer ON .................................................................... Tabel 3.20 Skenario Set Timer OFF .................................................................. Tabel 3.21 Skenario SMS Request Control ON ................................................ Tabel 3.22 Skenario SMS Request Control OFF .............................................. Tabel 3.23 Skenario SMS Request Set Timer ON ............................................. Tabel 3.24 Skenario SMS Request Set Timer OFF ........................................... Tabel 3.25 Skenario SMS Request Device Status .............................................. Tabel 3.26 Skenario SMS Request Device Information .................................... Tabel 3.27 Struktur Tabel User.......................................................................... Tabel 3.28 Struktur Tabel Admin ..................................................................... Tabel 3.29 Struktur Tabel Perangkat ................................................................ Tabel 3.30 Struktur Tabel Pesan Masuk ........................................................... Tabel 3.31 Struktur Tabel Pesan Keluar ........................................................... Tabel 3.32 Struktur Tabel Phone ...................................................................... Tabel 3.33 Format SMS ..................................................................................... Tabel 3.34 Service Center Address Pengirim ................................................... Tabel 3.35 Destination Address ........................................................................ xiv 13 15 17 24 25 26 26 27 39 39 40 45 47 47 48 48 49 49 50 50 51 51 52 52 52 53 53 54 54 55 55 56 56 57 80 80 80 81 81 82 82 83 84 Tabel 3.36 User Data Pengirim ........................................................................ 85 Tabel 3.37 Service Center Address Penerima ................................................... 86 Tabel 3.38 Originator Address Penerima ......................................................... 87 Tabel 3.39 Service Center Time Stamp ............................................................. 87 Tabel 3.40 User Data Penerima ........................................................................ 88 Tabel 4.1 Hasil Pengukuran Tegangan Output Port Paralel ............................. 95 Tabel 4.2 Spesifikasi Handphone .................................................................... 105 Tabel 4.3 Hasil Pengujian Software ................................................................. 118 Tabel 4.4 Hasil Pengujian Sistem Secara Keseluruhan ................................... 120 xv DAFTAR SIMBOL 1. Use Case Diagram No Simbol Nama 1 Case 2 Actor 3 Relation Keterangan Menggambarkan proses / kegiatan yang dapat dilakukan oleh actor Menggambarkan entitas / subyek yang dapat melakukan suatu proses Relasi antar case dengan actor ataupun case dengan case yang lain 2. Activity Diagram No Simbol Nama 1 Initial State 2 Final State 3 State Keterangan Menggambarkan titik awal siklus hidup suatu elemen Menggambarkan titik akhir yang menjadi kondisi akhir suatu elemen Menggambarkan kondisi suatu elemen 4 Action State 5 Decision 6 Transition Menggambarkan keadaan dari suatu elemen dalam satu aliran aktifitas Menggambarkan suatu percabangan logika dalam sistem Menggambarkan aliran siklus state ( kondisi ) suatu elemen 7 Flow Control Menggambarkan aliran aktifitas dari suatu elemen ke elemen lain xvi 3. Sequence Diagram No Simbol Nama 1 Object 2 Message Keterangan Menggambarkan pos - pos obyek pengirim dan penerima message Menggambarkan aliran pesan yang dikirim oleh pospos obyek 4. Class Diagram No 1 Simbol Class Nama Class <<include>> 2 Relation 3 Association Class xvii Keterangan Menggambarkan sebuah kelas yang terdiri dari attribut dan method Menggambarkan hubungan komponen-komponen didalam Class Diagram Class yang terbentuk dari hubungan antara dua buah class BAB I PENDAHULUAN 1.1 Latar Belakang Dalam kehidupan sehari – hari masyarakat salah satu faktor penting yang sangat mendukung adalah listrik. Di lingkungan perusahaan atau perkantoran, contoh penggunaan listrik adalah untuk penyalaan lampu dan air conditioner (AC), namun dalam penerapannya masih dikerjakan secara manual dengan menekan tombol stop kontak untuk mematikan atau menyalakannya dan harus menuju ke tempatnya. Hal itu akan memakan banyak waktu dan tenaga jika penggunaanya dilakukan dalam jumlah yang besar di gedung - gedung bertingkat dan sifatnya rutin. Apalagi ditambah dengan padatnya kesibukan di lingkungan perusahaan atau perkantoran yang memungkinkan seseorang lupa untuk mematikan perangkat listrik yang tidak dibutuhkan pada jam pulang perusahaan atau perkantoran. Oleh karena itu alangkah baiknya jika ada fasilitas pengendali jarak jauh dan secara otomatis. Perkembangan ilmu pengetahuan dan teknologi yang sedang berkembang saat ini, memungkinkan manusia untuk membuat suatu alat yang mampu membantu ataupun mempermudah pekerjaannya tersebut. Teknologi komputer, elektronika, serta telekomunikasi mempunyai peranan yang sangat penting dalam usaha pencapaian tujuan tersebut. Pada zaman sekarang, komputer atau disebut PC (personal computer) sudah berada hampir di setiap rumah, gedung atau perkantoran. Kebanyakan 1 komputer lebih sering digunakan untuk keperluan ketik-mengetik, film, musik dan permainan. Padahal komputer juga bisa digunakan untuk keperluan pengontrolan peralatan listrik seperti lampu, kipas angin, dispenser dan lain-lain dengan memanfaatkan port paralel (DB25) pada komputer tersebut. Hampir semua lingkungan baik itu lingkungan masyarakat biasa maupun kalangan usaha mengenal yang namanya ponsel. Dari ponsel tersebut terdapat fasilitas komunikasi jarak jauh yang murah dan cepat, fasilitas tersebut adalah Sort Message Service (SMS). SMS cocok digunakan untuk sistem informasi wireless real time karena kecepatan pengiriman datanya dan luas jangkauannya. Selain itu SMS telah menjadi lahan yang menjanjikan untuk meraih peluang bisnis di pasar konsumen dan industri. Dari teknologi SMS diatas bagaimana memanfaatkan teknologi tersebut tidak hanya sebagai alat komunikasi tetapi juga sebagai alat pengendali jarak jauh dengan cara mengirimkan suatu pesan atau SMS yang isinya berupa kode – kode perintah. Berangkat dari permasalahan diatas, maka munculah sebuah gagasan untuk mengembangkan suatu sistem pengendali perangkat listrik dengan memanfaatkan teknologi media komunikasi SMS yang mungkin dapat membantu kalangan masyarakat maupun usaha untuk mempermudah pekerjaannya. Maka diambilah sebuah judul skripsi yaitu “Sistem Kendali Perangkat Listrik Menggunakan Media SMS (Short Message Service)”. 2 1.2 Rumusan Masalah Rumusan masalah dari penyusunan skripsi ini diantaranya adalah bagaimana cara merancang dan membuat program yang bisa digunakan untuk memantau dan mengendalikan perangkat listrik secara jarak jauh dan diatur lewat sebuah perangkat komputer menggunakan media SMS? 1.3 Batasan Masalah Agar pokok bahasan lebih fokus dan terarah, maka dalam penyusunan skripsi ini dilakukan pembatasan pada pokok bahasan yaitu: 1. Pengendalian peralatan elektronik hanya berupa menyalakan atau mematikan peralatan tersebut. 2. Jumlah objek yang dapat dikendalikan adalah 3 buah lampu. 3. Perintah yang dikirim pengguna harus mengacu pada layanan yang disediakan, dengan mengikuti sintaks tertentu yang telah didefinisikan perangkat lunak. 4. Bahasa pemrograman yang digunakan dalam pembuatan software ini adalah Java dengan MySql sebagai media penyimpan databasenya. 5. Handphone yang digunakan sebagai perangkat pendukung menggunakan Siemens M55. 6. Rangkaian ini dapat dioperasikan menggunakan tegangan 5VDC dan dapat mengendalikan tegangan mencapai 240VAC dengan arus maksimal 16 Ampere. 3 1.4 Tujuan Penelitian Adapun tujuan dari penyusunan skripsi ini adalah untuk merancang dan membuat suatu perangkat berbasis komputer dengan media SMS yang berfungsi untuk memantau dan mengendalikan perangkat listrik secara jarak jauh. 1.5 Manfaat Penelitian Manfaat yang dapat dihasilkan dari hasil penyusunan skripsi ini diantaranya adalah: 1. Menghemat biaya yang dikeluarkan akibat tidak terkontrolnya pemakaian listrik. 2. Memberikan kemudahan dalam pemantauan dan pengendalian suatu perangkat listrik, sehingga menghidupkan atau mematikan perangkat listrik tidak harus berada pada tempatnya. 1.6 Metode Penelitian Dalam penyusunan skripsi ini, penulis menggunakan metodologi penelitian sebagai berikut : 1.6.1 Metode Pengumpulan Data Metode pengumpulan data yang digunakan dalam penyusunan skripsi ini adalah sebagai berikut : 1. Studi Literature Pengumpulan data dengan cara mengumpulkan jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian. 4 2. Observasi Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil. 3. Interview Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung yang ada kaitannya dengan topik yang diambil. 1.6.2 Metode Pengembangan Perangkat Lunak Metode pengembangan perangkat lunak yang digunakan oleh penyusun adalah Metode Protoptyping. Metode protoptyping dapat memberikan gambaran/ide bagi seorang analis sistem untuk menyajikan gambaran secara lengkap. Dengan demikian model sistem dapat dilhat baik dari sisi tampilan maupun teknik prosedural yang akan dibangun. Atas dasar itulah metode pengembangan yang akan digunakan dalam penelitian ini adalah metode pengembangan protoptyping. Adapun tahapan-tahapan dari metode prototype menurut Pressman (2002) adalah sebagai berikut: Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan. 5 Proses yang dikerjakan dalam prototype ditunjukan dengan Gambar 1.1 berikut ini : Gambar 1.1 Prototype Paradigma Berikut rincian tahapan-tahapan yang akan dikerjakan dalam proses prototyping, diantaranya : 1. Requirements, yaitu mengumpulkan kebutuhan pelanggan. 2. Quick Design, yaitu perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype. 3. Building Prototype, yaitu membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output). 4. Customer Evaluation, yaitu evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan. 6 5. Refining Prototype, yaitu jika prototype ada yang tak sesuai dengan keinginan pelanggan, maka prototyping dibuang atau diperbaiki. 6. Engineer Product, yaitu prototyping yang sudah di setujui diterjemahkan ke dalam bahasa pemrograman yang sesuai. Prototype bisa menjadi paradigma yang efektif bagi rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototype dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan. Beberapa alasan penyusun menggunakan prototype sebagai metode pengembangan yaitu biaya yang tidak terlalu besar, tidak memerlukan waktu yang lama, dan prototype paling baik digunakan untuk penerapan sistem yang kecil. 1.7 Sistematika Penulisan Sistematika dalam penyusunan skripsi ini akan dibagi menjadi beberapa bab sebagai berikut: BAB I Pendahuluan Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan skripsi. BAB II Tinjauan Pustaka Bab ini menjelaskan tentang teori-teori yang terkait dengan permasalahan yang diambil. 7 BAB III Analisis dan Perancangan Sistem Bab ini menjelaskan tentang analisis sistem yang terdiri dari berbagai spesifikasi kebutuhan. Perancangan sistem bertujuan untuk merancang pembuatan software sistem kendali, yang terdiri dari perancangan sistem keseluruhan, perancangan software, perancangan hardware, perancangan user interface, dan lain sebagainya. BAB IV Implementasi Dan Pengujian Bab ini membahas tentang implementasi dari sistem kendali yang dibuat secara keseluruhan. Serta melakukan pengujian terhadap hardware dan software yang dibuat untuk mengetahui aplikasi tersebut telah dapat menyelesaikan permasalahan yang dihadapi sesuai dengan yang diharapkan. BAB V Penutup Bab ini berisi tentang kesimpulan dan saran yang diharapkan dapat bermanfaat untuk pengembangan pembuatan aplikasi selanjutnya. 8 BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Kendali 2.1.1 Pengertian Sistem Sistem menurut Susanto (2007) dapat diartikan “kumpulan atau group dari bagian-bagian komponen apapun baik fisik ataupun non fisik yang saling berhubungan satu sama lain dan bekerja sama secara harmonis untuk mencapai satu tujuan tertentu”. Dalam sistem terdapat 5 elemen yang saling berhubungan dan membentuk satu kesatuan untuk mendukung tujuan pokok sistem, yaitu : 1. Data Data adalah kumpulan kejadian yang diangkat dari suatu kenyataan. 2. Prosedure Prosedure adalah urutan-urutan yang tepat atau tahap-tahap instruksi yang menerangkan sesuatu yang harus dikerjakan dan bagaimana mengerjakannya. 3. Hardware Hardware adalah peralatan pada sistem komputer secara fisik dapat dilihat. 4. Software Software adalah program yang berisi perintah atau code untuk melakukan pengolahan data. 9 5. Brainware Brainware adalah manusia yang mengoperasikan dan mengatur sistem. 2.1.2 Pengertian Sistem Kendali Sistem kendali dapat dikatakan sebagai hubungan antara komponen yang membentuk sebuah konfigurasi sistem, yang akan menghasilkan tanggapan sistem yang diharapkan. Jadi harus ada yang dikendalikan, yang merupakan suatu sistem fisis, yang biasa disebut dengan kendalian (plant). Secara umum ada empat aspek yang berkaitan dengan sistem pengendalian yaitu masukan, keluaran, sistem dan proses. Masukan (input) adalah rangsangan dari luar yang diterapkan ke sebuah sistem kendali untuk memperoleh tanggapan tertentu dari sistem pengaturan. Keluaran (output) adalah tanggapan sebenarnya yang didapatkan dari suatu sistem kendali. Tanggapan ini bisa sama dengan masukan atau mungkin juga tidak sama dengan tanggapan pada masukannya. Gambar 2.1 Konsep Sistem Kendali 10 2.1.3 Keuntungan Sistem Kendali Komputer Penggunaan sistem kendali berbasis komputer yang telah banyak dikenal dan diaplikasikan dalam segala aspek kehidupan manusia tidak hanya menumbulkan kesan “canggih” saja. Banyak keuntungan lain yang bisa dirasakan dengan keberadaan sistem pengendali berbasis komputer dalam kehidupan manusia. Sistem kendali berbasis komputer akan sangat terasa berguna apabila diaplikasikan sesuai kebutuhannya. Secara umum, beberapa keuntungan yang diperoleh dengan sistem pengendalian berbasis komputer, diantaranya: 1. Lebih murah dalam biaya operasional, dibandingkan dengan sistem manual. Menggunakan sebuah sistem komputer yang baik dan stabil akan lebih murah dibandingkan dengan membayar sekelompok orang untuk berkutat dengan satu masalah pengendalian. 2. Membuat produktivitas manusia menjadi lebih efektif dan efisien. Dengan adanya bantuan komputer, maka peran manusia akan lebih sedikit dalam sistem pengendalian. Sumber daya manusia akan memiliki waktu yang lebih fleksibel untuk menyelesaikan masalahmasalah lain yang belum tersentuh. 3. Membuat masalah rumit dan kompleks menjadi lebih sederhana. Sebuah sistem pengendali secara keseluruhan bisa melibatkan banyak alat atau elemen didalamnya. Hal ini menyebabkan sistem menjadi rumit dan kompleks. Dengan komputer, masalah yang rumit dapat disederhanakan. (Wahana Komputer, 2006) 11 2.2 Short Message Service (SMS) Short Messaging Service (SMS) merupakan salah satu fitur dari GSM yang dikembangkan dan distandarisasi oleh ETSI. Pada saat kita mengirim pesan SMS dari handphone, maka pesan SMS tersebut tidak langsung dikirim ke handphone tujuan, akan tetapi terlebih dahulu dikirim ke SMS Center (SMSC) dengan prinsip Store and Forward, setelah itu baru dikirimkan ke handphone yang dituju. (Wahana Komputer, 2006) Dengan adanya SMSC ini, kita dapat mengetahui status dari SMS yang dikirim, apakah telah sampai atau gagal diterima oleh handphone tujuan. Apabila handphone tujuan dalam keadaan aktif dan menerima SMS yang dikirim, ia akan mengirim kembali pesan konfirmasi ke SMSC yang menyatakan bahwa SMS telah diterima. Kemudian SMSC mengirimkan kembali status tersebut kepada si pengirim. Tetapi jika handphone tujuan dalam keadaan mati atau diluar jangkauan, SMS yang dikirimkan akan disimpan pada SMSC sampai periode validitas terpenuhi, Jika periode validitas terlewati maka SMS itu akan dihapus dari SMSC dan tidak dikirimkan ke handphone tujuan. Disamping itu juga SMSC akan mengirim pesan informasi ke nomor pengirim yang menyatakan pesan yang dikirim belum diterima atau gagal. Proses pengiriman SMS dapat dilihat pada Gambar 2.2. Gambar 2.2 Skema Proses Pengiriman SMS 12 2.2.1 PDU (Protocol Data Unit) Dalam pengiriman dan penerimaan pesan SMS terdapat dua mode yaitu mode text dan mode PDU (Protocol Data Unit). Mode text adalah format pesan dalam bentuk text asli yang dituliskan pada saat akan mengirim pesan. Sesungguhnya mode text ini adalah hasil enkode dari mode PDU. Sedangkan mode PDU adalah format pesan dalam bentuk heksadecimal octet dan semidecimal octet dengan panjang mencapai 160 (7 bit) atau 140 (8 bit) karakter. Di Indonesia, tidak semua operator GSM maupun terminal mendukung mode text, sehingga mode yang digunakan adalah mode PDU. Pada pengiriman pesan terdapat dua jenis mobile, yaitu Mobile Terminated (Handphone Penerima) dan Mobile Originated (Handphone Pengirim). a. SMS PDU Pengirim (Mobile Originated) SMS PDU Pengirim adalah pesan yang dikirim dari handphone ke terminal yang kemudian dikirimkan ke SMSC. Pada prinsipnya apabila kita mengirim pesan ke nomor tujuan, pesan itu akan melalui SMSC. Pesan yang akan dikirimkan oleh terminal masih dalam bentuk text, sedangkan dalam pengiriman ke SMSC harus dalam bentuk PDU. Untuk itu sebelum dikirim, terminal atau handphode akan melakukan perubahan dari format text menjadi format PDU, proses ini sering disebut proses encodec. Tabel 2.1 Skema Format SMS PDU Pengirim SCA PDU Type MR DA PID DCS VP UDL UD 13 Keterangan : a. SCA (Service Center Address) Informasi dari alamat (nomor) SMSC. SCA memiliki tiga komponen utama, yaitu len, type of number dan service center number. b. PDU Type Nilai default dari PDU Type untuk SMS Pengirim adalah 11 hexa = 00000100. c. MR (Message Reference) Acuan dari pengaturan pesan SMS. Untuk membiarkan pengaturan pesan SMS dilakukan sendiri oleh handphone tujuan, maka nilai yang diberikan adalah “00”. Jadi pada Message Reference hasilnya adalah 00. d. DA (Destination Address) Alamat (nomor) tujuan, yang terdiri dari panjangnya nomor tujuan (Len), format dari nomor tujuan (Type Number) dan nomor tujuan (Destination Number). e. PID (Protocol Identifier) Tipe atau format dari cara pengiriman pesan, yang biasanya diatur dari handphone pengirim. f. DCS (Data Coding Scheme) Rencana dari pengkodean data untuk menentukan class dari pesan tersebut apakah berupa SMS teks standar, Flash SMS atau Blinking SMS. 14 g. VP (Validity Period) Lama waktu pesan SMS disimpan di SMSC apabila pesan tersebut gagal diterima oleh handphone penerima. h. UDL (User Data Length) Panjangnya pesan SMS dikirim dalam bentuk teks standar. i. UD (User Data) Isi pesan yang akan dikirim dalam format Heksadesimal. b. SMS PDU Penerima (Mobile Terminated) SMS PDU Penerima adalah terminal menerima pesan yang datang atau masuk dari SMSC ke handphone dalam format PDU. Pada prinsipnya apabila kita menerima pesan dari SMSC masih dalam format PDU setelah itu terminal handphone yang menerima pesan akan melakukan pengkodekan menjadi text, proses ini sering disebut proses decodec. Tabel 2.2 Skema Format SMS PDU Penerima SCA PDU Type OA PID DCS SCTS UDL UD Keterangan: a. SCA (Service Center Address) Informasi dari alamat (nomor) SMSC. SCA memiliki tiga komponen utama, yaitu len, type of number dan service center number. 15 b. PDU Type Nilai default dari PDU Type untuk SMS Pengirim adalah 11 hexa = 00000100. c. OA (Originator Address) Alamat (nomor) dari pengirim, yang terdiri dari panjangnya nomor pengirim (Len), format dari nomor pengirim (Type Number) dan nomor pengirim (Originator Number). d. PID (Protocol Identifier) Tipe atau format dari cara pengiriman pesan, yang biasanya diatur dari handphone pengirim. e. DCS (Data Coding Scheme) Rencana dari pengkodean data untuk menentukan class dari pesan tersebut apakah berupa SMS teks standar, Flash SMS atau Blinking SMS. f. SCTS (Service Center Time Stamp) Waktu dari penerimaan pesan oleh SMSC penerima. SCTS terdiri dari tahun, bulan, tanggal, jam, menit dan detik, serta zona waktu. g. UDL (User Data Length) Panjangnya pesan SMS dikirim dalam bentuk teks standar. h. UD (User Data) Isi pesan yang akan dikirim dalam format Heksadesimal. 16 2.2.2 SMS Gateway SMS Gateway adalah merupakan program aplikasi yang menghubungkan antara semua SMS yang dikirim dan diterima ke sebuah PC dengan menggunakan jaringan GSM. Bagian ini berfungsi membaca dari SMS, mengirimkannya kembali SMS balasan ke pesannya. Dalam operator GSM setiap SMSC akan selalu berbeda dengan yang lainnya. Tabel 2.3 merupakan daftar SMSC berdasarkan tipa-tipa operatornya : Tabel 2.3 Daftar SMSC OPERATOR GSM Telkomsel Indosat Excelcom Three Axis NOMOR SMSC +62811000000 +62855000000 +62818445009 +6289644000001 +628315000031 SMS Gateway bekerja dengan cara menghubungkan handphone yang memiliki fasilitas SMS dengan komputer (PC) selaku operator otomatisnya. Keduanya akan dihubungkan oleh suatu kabel data dari handphone yang sesuai dengan serial port yang ada. 2.2.3 SMSLib SMSLib adalah sms library project open source yang pada awalnya berbasis JAVA, namun kini juga ada versi .NET. Di SMSLib juga sudah disediakan sms server yang bisa langsung digunakan tanpa menyentuh kode JAVA. 17 Karakteristik SMS Server SMSLib ini adalah : 1. SMS Masuk disimpan di tabel inbox. 2. SMS Keluar disimpan di tabel outbox. 3. Status SMS terkirim juga di tabel outbox. 4. Status SMS delivery dan datetime juga otomatis akan meng-update tabel outbox. 5. Bisa menyimpan data misscall. 6. Data misscall dan delivery hanya berfungsi bila meggunakan HP Siemens C55, M55 atau Modem GSM. 7. Karena berbasis JAVA, SMSServer bisa dijalankan di Windows XP, 7 dan Linux. 2.3 Java 2.3.1 Pengertian Java Menurut Rickyanto (2008) : “Java merupakan teknologi di mana teknologi tersebut mencakup Java sebagai bahasa pemrograman yang memiliki sintaks dan aturan pemrograman tersendiri, juga mencakup Java sebagai platform yaitu di mana teknologi ini memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan program yang ditulis dengan bahasa pemrograman java”. Java merupakan suatu teknologi yang unik dan revolusioner dan merupakan teknologi pertama di dunia software yang memiliki semboyan “write once, run anywhere”. Semboyan tersebut telah terbukti karena banyak program 18 Java dapat dijalankan di berbagai platform Sistem Operasi, seperti Linux, Windows maupun Unix. Java telah mengatasi masalah portabilitas yang sering menjadi kendala dan hambatan dalam pembuatan suatu aplikasi software, karena software developer harus mengeluarkan banyak tenaga, pikiran dan waktu untuk menghasilkan aplikasi yang dapat berjalan di sistem operasi atau platform lain. Java dapat mengatasi kendala tersebut karena program Java dapat dijalankan secara langsung tanpa banyak perubahan berarti di sistem operasi atau platform lain. Java memiliki keunggulan – keunggulan yang tidak dimiliki bahasa pemprograman lain, diantaranya: 1. Java bersifat sederhana dan relatif mudah digunakan. Hal ini disebabkan Java dikembangkan dari bahasa C++ yang bersifat Object Oriented dengan menghilangkan beberapa fitur dan menambahkan fitur – fitur yang dianggap penting. 2. Java berorientasi objek (Object Oriented) dalam menyususn program. Java membagi program menjadi objek – objek, kemudian objek – objek tersebut dimodelkan sesuai karakteristik masing – masing. Selanjutnya java mengatur antar objek tersebut. 3. Java bersifat terdistribusi, yaitu dapat digunakan pada jaringan yang luas, tidak hanya pada personal computer (PC). 19 4. Java bersiat Multiplatform sehingga Java dapat digunakan dalam berbagai sistem operasi, bail Windows, Linux, Apple, dan lainnya, tanpa melakukan banyak konfigurasi. 5. Java bersifat MultiThread, yaitu mampu mengerjakan beberapa proses dalam waktu yang hampir bersamaan. (Wahana Komputer, 2008) 2.3.2 Program-Program Java. a. Aplikasi Aplikasi adalah suatu program yang bisa dijalankan dalam prompt sistem operasi manapun. Aplikasi yang berdiri sendiri atau yang sering disebut Stand Alone Application bisa terdiri dari aplikasi yang berbasis Windows atau aplikasi berbasis console. Aplikasi berbasis Windows mempunyai interface dengan user secara grafis atau yang lebih dikenal dengan istilah graphical user interface. Aplikasi tersebut menggunakan fitur-fitur yang didukung oleh platform-platform seperti Microsoft Windows, Macintosh, Motif, dan OS/2. Aplikasi berbasis console adalah aplikasi berbasis karakter (tulisan atau simbol-simbol) yang tidak mempunyai interface grafis untuk user. Aplikasi yang berdiri sendiri biasanya menggunakan resource dari satu komputer. Aplikasi berbasis jaringan bisa menggunakan resource yang tersedia dalam suatu jaringan. Aplikasi yang terdistribusi bisa mengakses objek yang dijalankan melalui lebih dari satu komputer dalam suatu jaringan. Aplikasi bisa membaca dari atau menulis ke dalam suatu file dalam suatu komputer. Aplikasi bisa juga membangun koneksi jaringan, mengakses resource dari berbagai jaringan, dan menjalankan aplikasi 20 dari berbagai jaringan. Aplikasi yang berdiri sendiri biasanya berada dalam suatu harddisk suatu komputer. Ketika aplikasi tersebut perlu untuk dijalankan, aplikasi tersebut diambil dari harddisk kemudian dipindahkan ke dalam internal memori dan akhirnya dieksekusi. b. User Interface Dimasa yang serba praktis dan mudah ini, para pengembang dan pembuat software dituntut untuk menjadilan karyanya mudah dan nyaman untuk dioperasikan, maka dari itu java mendukung user interface yang cukup friendly, yang dinamakan GUI. Kontrol secara visual, seperti text box, check box, tombol-tombol, dan combo box disebut sebagai komponen. Top-level windows yang memegang komponen-komponen tersebut biasa dikenal sebagai containers. Tiap komponen mewarisi properties dari parent containers seperti huruf dan warna. Container juga mengendalikan posisi dari komponen yang berada dalam container tersebut. Komponen yang terlihat di monitor yang berada dalam container dibatasi keberadaannya oleh parent container. Komponen grafikal seperti text box, dan tombol-tombol berada di dalam container. Container berada dalam frame window, yaitu tipe lain dari container. Frame window adalah top-level windows dan tidak mempunyai parent container. 21 c. Abstract Window Toolkit (AWT) Dalam Java 1.0, user interface dihasilkan menggunakan AWT. Tampilan aplikasi yang dihasilkan menggunakan AWT berbeda dalam tiap platform. Sebagai contoh, tombol yang berasal dari java.awt.button terlihat berbeda dalam tampilan Windows dan Macintosh. Keadaan tadi menghasilkan tampilan user interface yang sama tetapi berbeda dikarenakan platform yang berbeda. Bagaimanapun perbedaan tesebut kecil, dalam artian tiap programmer harus menguji kode-kode mereka dalam tiap platform yang berbeda. Untuk mengatasi kekurangan dari AWT, kemudian dikembangkan Java Foundation Classes. Pada Java 1.1, AWT mempunyai fitur-fitur baru, yaitu: a. Improved Event Handling b. New Components and Containers c. Clipboards d. Printing, serta banyak lagi fitur lainnya. d. Paket Swing Dibandingkan dengan AWT komponen yang paling simpel pun seperti Swing memiliki lebih banyak fitur. Sebagai contoh, label dan tombol - tombol dalam Swing bisa mempunyai ikon dan tooltip. User bisa menggunakan tombol berbentuk bulat dan juga menggunakan border yang berbeda ke tiap kontrol. Kemudian, Swing juga biasanya digunakan untuk membuat fitur-fitur interface seperti ikon, gambar, tooltip, dan kontrol. 22 e. Paket Java.io Paket java.io berisi kelas - kelas yang menangani operasi input - output (I/O) dalam Java. Hampir semua input - output dalam java berdasarkan pada stream. Stream menampilkan arus dari data atau aliran komunikasi dengan membaca akhir dari suatu stream dan proses penulisan pada akhir yang lain, sedikitnya secara konseptual. Penyusun menggunakan paket ini untuk sebagai operasi menulis file dan membaca file. 2.4 Port Paralel Port paralel (DB-25) menurut Iswanto (2008) adalah salah satu jenis soket pada personal computer untuk berkomunikasi dengan peralatan luar seperti printer model lama. Karena itu parallel port sering juga disebut printer port. Perusahaan yang memperkenalkan port ini adalah Centronic, maka port ini juga disebut dengan Centronics Port. Kesederhanaan port ini dari sisi pemrograman dan antarmuka dengan hardware membuat port ini sering digunakan untuk percobaanpercobaan sederhana dalam perancangan peralatan elektronika. Ada dua macam konektor parallel port, yaitu 36 pin dan 25 pin. Konektor 36 pin dikenal dengan nama Centronics dan konektor 25 pin dikenal dengan DB25. Centronics lebih dahulu ada dan digunakan dari pada konektor DB-25. DB-25 diperkenalkan oleh IBM (bersamaan dengan DB-9, untuk serial port), yang bertujuan untuk menghemat tempat. Karena DB-25 lebih praktis, maka untuk koneksitor parallel port pada komputer sekarang hanya digunakan DB-25. Di komputer, konektor parallel port yang terpasang adalah DB-25 female, 23 sehingga kabel penghubung keluar adalah DB-25 male. Susunan/bentuk DB-25 tampak seperti Gambar 2.3. Gambar 2.3 Susunan DB-25 (Sumber : Iswanto, 2008) Dari 25 pin konektor DB-25 tersebut, hanya 17 pin yang digunakan untuk saluran pembawa informasi dan yang berfungsi sebagai ground 8 pin. Ketujuh belas saluran informasi itu terdiri dari tiga bagian, yakni data 8 bit, status 5 bit, dan control 4 bit. Bit control dan status berfungsi dalam “jabat tangan” dalam proses penulisan data ke parallel port. Tabel 2.2 merupakan tabel fungsi dari pin konektor DB-25. Tabel 2.4 Fungsi Pin Konektor DB-25 DB-25 1 2 3 4 5 6 7 In/Out Out Out Out Out Out Out Out Nama Sinyal nStrobe Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 Register Bit C0D0 D1 D2 D3 D4 D5 24 Tabel 2.4 Fungsi Pin Konektor DB-25 (Lanjutan) DB-25 8 9 10 11 12 13 14 15 16 17 18-25 In/Out Out Out In In In In Out In Laut Laut ïƒŸïƒ Nama Sinyal Data 6 Data 7 nACK BUSY PaperEnd Select nAutoFeed nError nInit nSelectIn Ground Register Bit D6 D7 S6+ S7S5+ S4+ C1S3+ C2+ C3- Semua data, kontrol, dan status dari port paralel berhubungan dengan register - register yang ada didalam komputer. Dengan mengakses langsung register - register tersebut, masukan dan keluaran dari port paralel dapat diatur. Register - register pada port paralel adalah: 1. Register data 2. Register status 3. Register control Tabel 2.5 Data Port Pada Parallel Port Offset Nama Baca / Tulis Base + 0 Data Port Tulis Bit No. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Sifat Data 7 (Pin 9) Data 6 (Pin 8) Data 5 (Pin 7) Data 4 (Pin 6) Data 3 (Pin 5) Data 2 (Pin 4) Data 1 (Pin 3) Data 0 (Pin 2) 25 Table 2.6 Status Port Pada Parallel Port Offset Nama Baca / Tulis Base + 1 Status Port Baca ( Read Only ) Bit No. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Sifat Busy (Pin 11) Ack (Pin 10) PaperOut (Pin 12) Selection (Pin 13) Error (Pin 15) IRQ (not) Reserved Reserved Table 2.7 Control Port Pada Parallel Port Offset Base + 2 Nama Control Port Baca / Tulis Tulis Bit No. Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Sifat Unused Unused Enable bidirectional port Enable IRQ via ack line Select printer (Pin 17) Initialize printer (Pin 16) Auto Linefeed (Pin 14) Strobe (Pin 1) Pada umumnya di komputer personal alamat dasar LPT1 adalah 0x378 (378 hexadecimal) dan LPT2 adalah 0x278. Alamat dari ketiga register tersebut diatas dapat ditentukan dengan menjumlahkan alamat dasar dari port kontrol dengan bilangan kontrol tertentu. Misalnya kita ingin mengakses register data dari port kontrol LPT1, alamat register datanya sama dengan alamat dasar dari LPT1 yaitu 0x378. Sedangkan alamat register status sama dengan alamat register dasar + 1 atau 0x379 dan alamat register kontrolnya sama dengan alamat register dasar + 2 atau 0x37A. Hal tersebut berlaku juga pada LPT2. Untuk lebih jelasnya, dapat dilihat pada Tabel 2.8. 26 Tabel 2.8 Alamat Register Port Kontrol Register Register Data ( alamat dasar + 0 ) Register Status ( alamat dasar + 1 ) Register Kontrol ( alamat dasar + 2 ) LPT1 0x378 0x379 0x37A LPT2 0x278 0x279 0x27A 2.4.1 Pengaksesan Parallel Port dengan Java Setelah kita mengetahui anatomi port paralel dan konfigurasi slot DB-25 yang terletak dibelakang komputer, tentunya timbul pertanyaan bagaimana port port tersebut dapat digunakan untuk mengontrol, yakni untuk mengirimkan atau menerima data. Sebelum kita membahas semuanya lebih jauh, ada beberapa kelemahan dalam java yaitu tidak bisa berinterkasi langsung dengan hardware. Melainkan harus disertakannya paket baru lagi yang didapat dari Java Sun yaitu pake Java.comm. tetapi karena pemakainnya yang rumit maka penyusun lebih memilih menggunakan jnpout32.dll tidak lain adalah hasil modifikasi dari inpout32.dll yang berguna sebagai jembatan antara bahasa pemograman java dengan parallel port. Tetapi sebelum kita bisa menggunakan jnpout32.dll, terlebih dahulu kita harus mendeklarasikannya di class lain, serta jnpout32.dll harus disalin d c:\%windir%\system32 atau satu folder dengan class yang kita buat. 2.5 Unified Modelling Language (UML) 2.5.1 Pengertian UML Menurut Nugroho (2005), Unified Modeling Language (UML) adalah alat bantu analisis serta perancangan perangkat lunak berbasis objek. 27 Dalam kerangka spesifikasi, Unified Modeling Language (UML) menyediakan model-model yang tepat, tidak mendua arti (ambigu) serta lengkap. Secara khusus, Unified Modeling Language (uml menspesifikasikan langkahlangkah penting dalam pengambilan keputusan analisis, perancangan serta implementasi dalam sistem yang sangat bernuansa perangkat lunak (software intensive system). Dalam hal ini, Unified Modeling Language (UML) bukanlah merupakan bahasa pemprograman tetapi model-model yang tercipta berhubungan langsung dengan berbagai macam bahasa pemprograman, sehingga adalah mungkin melakukan pemetaan (mapping) langsung dari model-model yang dibuat dengan Unified Modeling Language (UML) dengan bahasa-bahasa pemprograman berorientasi obyek, seperti Java, Borland Delphi, Visual Basic, C++, dan lainlain. Pemetaan (mapping) Unified Modeling Language (UML) bersifat dua arah yaitu : 1. Generasi kode bahasa pemprograman tertentu dari Unified Modeling Language (UML) forward engineering. 2. Generasi kode belum sesuai dengan kebutuhan dan harapan pengguna, pengembang dapat melakukan langkah balik bersifat iterative dari implementasi ke Unified Modeling Language (UML) hingga didapat sistem/peranti lunak yang sesuai dengan harapan pengguna dan pengembang. 28 2.5.2 Bangunan Dasar Metodologi UML Bangunan dasar metodologi UML menggunakan tiga bangunan dasar untuk mendeskripsikan sistem/perangkat lunak yang akan dikembangkan yaitu : a. Things Ada 4 (empat) things dalam Unified Modeling Language (UML), yaitu: 1. Structural things Merupakan bagian yang relatif statis dalam model Unified Modeling Language (UML). Bagian yang relatif statis dapat berupa elemenelemen yang bersifat fisik maupun konseptual. 2. Behavioral things Merupakan bagian yang dinamis pada model Unified Modeling Language (UML), biasanya merupakan kata kerja dari model Unified Modeling Language (UML), yang mencerminkan perilaku sepanjang ruang dan waktu. 3. Grouping things Merupakan bagian pengorganisasi dalam Unified Modeling Language (UML). Dalam penggambaran model yang rumit kadang diperlukan penggambaran paket yang menyederhanakan model. Paket-paket ini kemudian dapat didekomposisi lebih lanjut. Paket berguna bagi pengelompokkan sesuatu, misalnya model-model dan subsistemsubsistem. 29 4. Annotational things Merupakan bagian yang memperjelas model Unified Modeling Language (UML) dan dapat berupa komentar-komentar yang menjelaskan fungsi serta ciri-ciri setiap elemen dalam model Unified Modeling Language (UML). b. Relasi (Relationship) Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML), yaitu : 1. Kebergantungan Merupakan hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (independent). 2. Asosiasi Merupakan apa yang menghubungkan antara objek satu dengan objek lainnya, bagaimana hubungan suatu objek dengan objek lainnya. Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek dengan bagian-bagiannya. 3. Generalisasi Merupakan hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada diatasnya objek induk (ancestor). Arah dari atas kebawah dari objek induk ke objek anak dinamakan 30 spesialisasi, sedangkan arah berlawanan sebaliknya dari arah bawah keatas dinamakan generalisasi. 4. Realisasi Merupakan operasi yang benar-benar dilakukan oleh suatu objek. c. Diagram 1. Use Case Diagram Diagram ini memperihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan pengguna. 2. Class Diagram Diagram ini memperlihatkan himpunan kelas - kelas, antarmuka antarmuka, kolaborasi - kolaborasi dan relasi - relasi antar objek. 3. Sequence Diagram Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu. 4. Activity Diagram Diagram ini memperlihatkan aliaran dari suatu aktifitas ke aktifitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi - fungsi dalam suatu sistem dan memberi tekanan pada aliran kendali antar objek. 31 2.6 MySQL Database 2.6.1 Pengertian MySQL Menurut Nugroho (2004), “MySQL merupakan pemrograman/system manajemen database (kumpulan data yang terstruktur) yang menggunakan basis bahasa SQL (Structured Query Language)”. MySQL merupakan sistem manajemen database yang dapat diandalkan dan penggunaannya mudah untuk dipahami. MySQL didesain untuk menangani database yang besar dengan cepat, memiliki tingkat keamanan dan konektivitas yang tinggi. MySQL membuat pemrogram dan seorang administrator database dapat melakukan hal-hal berikut: 1. Mengubah Struktur Database 2. Mengubah Pengaturan Keamanan Sistem 3. Memberikan Hak akses pada pengguna untuk mengakses database atau table. 4. Memutakhirkan isi database 2.6.2 Perintah-Perintah SQL Perintah-perintah SQL dikelompokan menjadi lima macam: 1. Data Definition language (DDL) Adalah perintah yang digunakan untuk menjelaskan objek dari database. Dengan kata lain DDL digunakan untuk mendefinisikan kerangka database. Perintahnya adalah: 32 a. Create : untuk membuat objek database b. Alter : untuk memodifikasi objek database c. Drop : untuk menghapus objek database d. Objek database yang dimaksud terdiri dari database, table, index, dan view. 2. Data Manipulation Language (DML) Adalah perintah yang digunakan untuk mengoperasikan atau memanipulasi isi database. SQL menyediakan 4 perintah DML: a. Select : digunakan untuk mengambil data dari database b. Delete : digunakan untuk menghapus data pada database c. Insert : menambahkan data pada database d. Update : memodifikasi data pada database 3. Security Adalah perintah yang digunakan untuk menjamin keamanan data. Antara lain terdiri atas: a. grant : member akses pada user tertentu untuk akses ke database b. revoke : mencabut hak akses dari user 4. Integrity Adalah perintah-perintah yang digunakan untuk kesatuan data. Contoh : recover table : untuk memperbaiki table pada database. 5. Auxiliary Adalah perintah-perintah pelengkap atau tambahan seperti: unload dan rename. 33 2.7 Hardware 2.7.1 Relay Relay menurut Budiharto (2004) adalah saklar yang diaktifkan dengan memberikan tegangan listrik pada lilitannya. Pada saat lilitan dialiri arus, lilitan tersebut akan menarik plat besi sehingga menghubungkan satu kaki dengan kaki lainnya. Gambar 2.4 Relay Relay berfungsi untuk menghubungkan atau memutus aliran arus listrik yang dikontrol dengan memberikan tegangan dan arus tertentu pada koilnya. Relay biasanya hanya mempunyai satu kumparan tetapi relay dapat mempunyai beberapa kontak. Dalam memutus atau menghubungkan kontak digerakkan oleh fluksi yang ditimbulkan dari adanya medan magnet listrik yang dihasilkan oleh kumparan yang melilit pada besi lunak. 34 Koneksi switch relay biasanya diberi label COM, N/C dan N/O: a. COM = Common, selalu terhubung ke mana-mana, ini adalah bagian bergerak dari saklar. b. N/C = Normally Closed, COM terhubung ke bagian ini ketika kumparan relay tidak aktif. c. N/O = Normally Open, COM terhubung ke bagian ini ketika kumparan relay aktif. a. Relay Sebagai Pengendali Relay merupakan salah satu komponen yang banyak digunakan dalam logika kontrol dalam suatu sistem. Dalam bahasa pemrograman digunakan konfigurasi yang disebut ladder diagram atau ladder logic. Berikut ini beberapa petunjuk tentang relay ladder logic. Relay ladder logic terbagi menjadi tiga komponen : 1. Input → pemberi informasi. 2. Logic → mengambil keputusan. 3. Output → usaha yang dilakukan. Diagram sederhana dari sistem kontrol berbasis relay yang menggambarkan penjelasan di atas dapat dilihat pada Gambar 2.5. 35 Gambar 2.5 Sistem Kontrol Menggunakan Relay Dari Gambar 2.5 nampak bahwa sistem kendali dengan relay ini mempunyai input device (misalnya: berbagai macam sensor, switch) sebagai pemberi informasi. Setelah mendapatkan informasi dari input device, relay akan mengambil keputusan untuk memberikan perintah pada output device (misalnya: motor, pompa, lampu). 2.7.2 ULN 2803 ULN2803 menurut Budiharto (2004) adalah chip Integrated Circuit (IC) berupa rangkaian transistor Darlinton dengan Tegangan Tinggi. Hal ini memungkinkan untuk membuat antarmuka sinyal TTL dengan beban tegangan tinggi. Chip mengambil sinyal tingkat rendah (TLL, CMOS, PMOS, NMOS yang beroperasi pada tegangan rendah dan arus rendah) dan bertindak sebagai relay, menyalakan atau mematikan tingkat sinyal yang lebih tinggi di sisi yang berlawanan. 36 Gambar 2.6 Konfigurasi Pin ULN 2803 Secara fisik ULN2803 adalah konfigurasi IC 18-pin dan berisi delapan transistor NPN. Pins 1-8 menerima sinyal tingkat rendah, pin 9 sebagai grounding (untuk referensi tingkat sinyal rendah). Pin 10 adalah COM pada sisi yang lebih tinggi dan umumnya akan dihubungkan ke tegangan positif. Pins 11-18 adalah output (Pin 1 untuk Pin 18, Pin 2 untuk 17, dst). 37 BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Analisis sistem bertujuan untuk mengidentifikasi permasalahan - permasalahan yang ada pada sistem, dimana aplikasi dibangun meliputi perangkat keras (hardware) dan perangkat lunak (software). 3.1.1 Spesifikasi Aplikasi Aplikasi yang akan dibangun memiliki kemampuan sebagai berikut: 1. Mengendalikan (mematikan dan menghidupkan) perangkat listrik melalui software pada komputer atau SMS pada telepon seluler. 2. Otomatisasi pengendalian perangkat listrik melalui software pada komputer atau SMS pada telepon seluler. 3. Mengecek suatu perangkat listrik sedang mati atau hidup melalui SMS pada telepon seluler. 3.1.2 Spesifikasi Pengguna Aplikasi ini ditujukan untuk digunakan oleh semua pihak yang membutuhkan kemudahan atau kepraktisan dalam hal pengendalian perangkat listrik, karena dengan aplikasi ini jarak tidak akan menjadi penghalang kita dalam monitoring dan pengendalian perangkat listrik. Ada bebapa orang pengguna pada sistem kendali perangkat listrik ini. Setiap orang memiliki spesifikasi dan spesialisasi dalam penggunaan aplikasi ini. 38 Tabel 3.1 menjelaskan spesifikasi pengguna Sistem Kendali Perangkat Listrik Menggunakan Media SMS. Tabel 3.1 Spesifiksi Pengguna No Pengguna Deskripsi Administrator 1. Dapat memasuki system (login). 2. Mengelola semua form dalam Sistem Kendali Perangkat Listrik. 3. Mengelola data base. 4. Memperbaiki error. 5. Mampu menangani troubleshooting. User 1. Mengirimkan SMS request ke sistem. 1 2 Kemampuan yang Harus Dimiliki 1. Menguasai penggunaan perangkat sistem kendali. 1. Memahami command dalam pengiriman SMS request. 3.1.3 Spesifikasi Hardware Hardware (perangkat keras) yang dibutuhkan untuk membangun aplikasi sistem kendali perangkat listrik adalah sebagai berikut: Tabel 3.2 Spesifikasi Hardware No Peralatan 1 PC 2 Rangkaian Listrik Unit Keterangan 1 Processor Intel Pentium IV Ram 1 Gb Harddisk 80 Gb Vga 512 Mb 1 Kabel 3 Terminal Kabel 1 Port DB-25 Female dan Male 1 PCB 39 Tabel 3.2 Spesifikasi Hardware (Lanjutan) No 3 Peralatan Unit 3 1 1 1 1 Handphone Keterangan Relay 5VDC, 16A 240VAC/24VDC Toshiba ULN 2803 Tranformator 5V Siemens M55 Kabel Konektor BlueTech 3.1.4 Spesifikasi Software Selain hardware, untuk membangun aplikasi sistem kendali perangkat listrik, dibutuhkan software (perangkat lunak) sebagai berikut: Tabel 3.3 Spesifikasi Software No 1 2 3 4 5 3.2 Nama Perangkat Lunak Sistem Operasi Windows Java MySQL NetBeans Jnpout32.dll Keterangan Sebagai operating sistem yang digunakan Sebagai compiler dan eksekusi file.java Sebagai penyimpan database program Sebagai pembentukan program Sebagai file komunikasi antara java dan port paralel Perancangan Sistem Perancangan sistem bertujuan untuk merancang pembuatan software sistem kendali, yang terdiri dari perancangan sistem keseluruhan, perancangan software, perancangan hardware, perancangan user interface, dan lain sebagainya. 3.2.1 Perancangan Sistem Keseluruhan Sistem yang dirancang bertujuan untuk mengontrol perangkat listrik secara jarak jauh. Prinsip kerja secara keseluruhan dapat dilihat pada Gambar 3.1. 40 Gambar 3.1 Rancangan Sistem Keseluruhan Fungsi dari masing-masing sistem adalah sebagai berikut: 1. HP user penerima informasi dan memberi perintah kepada program pada PC 2. HP server sebagai handphone penerima instruksi berupa SMS untuk mematikan atau menghidupkan perangkat. Dan sebagai pengirim informasi dari program kepada HP user. 3. Komputer sebagai media untuk mensimulasikan dan mengendalikan perangkat listrik melalui sebuah software. Ketika software dijalankan, maka komputer akan membaca setiap pin yang ada pada port paralel/LPT1 sebagai interface, yaitu Slot DB-25, komputer akan mendeteksi setiap pin serta fungsi-fungsinya. 4. Alat kendali perangkat listrik digunakan sebagai perangkat hardware dalam pengontrolan perangkat. Perangkat hardware ini berisi rangkaian-rangkaian elektronik berupa rangkaian relay untuk menghubungkan dan memutus arus listrik, ULN 2803 dengan 41 sekumpulan transistor yang berfungsi untuk menggerakan relay, dan lain sebagainya. 5. Terminal listrik sebagai pengatur jalur perangkat listrik ke rangkaian. 6. Perangkat listrik merupakan perangkat yang akan disimulasikan dan dikendalikan oleh program. Prinsip Kerja Sistem Sistem kendali perangkat listrik ini direncanakan mempunyai fungsi untuk memantau dan mengendalikan perangkat listrik secara simulasi yang ditampilkan dan diatur lewat sebuah perangkat komputer. Adapun prinsip kerja dari alat ini yaitu SMS dari HP user diterima HP server. Kemudian SMS diolah oleh program pada komputer. Program mengirimkan informasi ke port parallel untuk mengendalikan perangkat listrik. Dari port parallel informasi diteruskan ke alat kendali perangkat listrik. Hingga akhirnya listrik pada terminal akan mati atau hidup sesuai instruksi atau informasi yang dikirimkan program ke port parallel. 3.2.2 Perancangan Hardware Dalam perancangan hardware (perangkat keras) meliputi rangkaian elektronik yang dipakai untuk simulasi ini akan diuraikan sebagai berikut: Pada rangkaian ini akan menggunakan perangkat listrik berupa tiga buah lampu. Gambar 3.2 merupakan sebuah rangkaian lengkap dari komponen elektronik yang digunakan untuk menghidupkan atau mematikan perangkat listrik. 42 Port data yang digunakan dari port paralel adalah pin D0 sampai pin D2 dan pin 25 sebagai ground. Untuk menyalakan atau mematikan perangkat listrik tidaklah cukup langsung dari port data paralel. Untuk itulah diperlukan driver penggerak. Driver yang digunakan untuk penggerak adalah jenis Integrated Circuit (IC) yang dikhususkan sebagai driver penggerak seperti relay. Jenis IC penggerak ini adalah ULN 2803. ULN 2803 ini merupakan kumpulan dari transistor dimana ULN 2803 ini memiliki 18 kaki, dimana pin 1-8 adalah pin IN (masukan), pin 9 sebagai ground, pin 10 Vcc sebesar 5 V dan pin 11-18 adalah pin OUT (keluaran). Untuk simulasi ini, pin yang digunakan dari ULN 2803 yaitu pin 1, 2, 3 sebagai masukan dan keluarannya pin 16, 17, 18. Cara kerja rangkaian ini adalah D0 dari port paralel akan mengirimkan arus sebesar 5V ke pin 1 yang ada di ULN 2803 dan keluar dari pin 18 yang akan diteruskan ke relay 1 sehingga relay aktif, fungsi relay disini untuk switch on/off perangkat listrik. Ketika relay mendapat arus sebesar 5 volt dari ULN 2803 maka perangkat listrik akan hidup dikarenakan perangkat listrik sudah mendapat arus dari PLN. Untuk cara kerja dari D1 dan D2 sama dengan cara kerja dari D0. Untuk lebih jelasnya dapat dilihat pada Gambar3.2. 43 Gambar 3.2 Rancangan Hardware Alat Kendali Perangkat Listrik Gambar 3.3 Rancangan Circuit Board 44 3.2.3 Perancangan Software Perancangan software (perangkat lunak) meliputi kebutuhan fungsional, use case diagram, skenario sistem, activity diagram, sequence diagram dan class diagram. a. Kebutuhan Fungsional Aplikasi ini diharapkan dapat memenuhi kebutuhan fungsional untuk melakukan pengendalian perangkat listrik, diantaranya adalah: 1. Mampu membantu administrator untuk melakukan kendali listrik, setting timer, setting HP server, setting informasi perangkat dan user. 2. Mampu membantu user untuk melakukan kendali listrik jarak jauh dan mengetahui informasi perangkat - perangkat yang digunakan. Tabel 3.4 menyediakan kebutuhan fungsional pada Sistem Kendali Perangkat Listrik. Tabel 3.4 Daftar Kebutuhan Fungsional No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Kode Req-001 Req-002 Req-003 Req-004 Req-005 Req-006 Req-007 Req-008 Req-009 Req-010 Req-011 Req-012 Req-013 Req-014 Deskipsi Kebutuhan Login View User Input User Update User Delete User Update Admin View Device Information Update Device Information Start Phone Connection Stop Phone Connection Port Setting View Message Control ON Control OFF 45 Tabel 3.4 Daftar Kebutuhan Fungsional (Lanjutan) No 15 16 17 18 19 20 21 22 Kode Req-015 Req-016 Req-017 Req-018 Req-019 Req-020 Req-021 Req-022 Deskipsi Kebutuhan Set Timer ON Set Timer OFF SMS Request Control ON SMS request Control OFF SMS Request Set Timer ON SMS Request Set Timer OFF SMS Request Device Status SMS Request Device Information b. Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang ditekankan adalah “apa” yang diperbuat sistem dan “bukan” bagaimana. Sebuah use case mempresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, seperti dijelaskan pada Gambar 3.4. System Login SMS Command Device Control Admin Timer Setting User Port Setting <<include>> Phone Connection <<extend>> SMS Confirm View Message User Admin Setting User Setting Device Information Admin Setting Logout Gambar 3.4 Use Case Diagram 46 c. Skenario Sistem Skenario adalah cara untuk melakukan dokumentasi terhadap kebutuhan fungsional. Tabel 3.5 - 3.26 menyajikan kebutuhan fungsional dari Sistem Kendali Perangkat Listrik Menggunakan Media SMS. Tabel 3.5 Skenario Login No. Use Case Nama Use Case Tujuan Kondisi Awal Aktor Req-001 Login Memasuki aplikasi Aktor membuka aplikasi Admin Skenario Utama Aksi Aktor Reaksi Sistem 1. Memasukan username dan password 3. Melakukan validasi username 2. Menekan tombol ‘login’ dan password 4. Menampilkan menu utama Alternatif : 3a. validasi invalid, kembali ke aksi no.1 Tabel 3.6 Skenario View User No. Use Case Nama Use Case Tujuan Kondisi Awal Req-002 View User Melihat data user Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu user admin 2. Menampilkan menu user admin setting setting 3. Menampilkan tabel user 47 Tabel 3.7 Skenario Input User No. Use Case Nama Use Case Tujuan Kondisi Awal Req-003 Input User Menambah data user Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu user admin 2. Menampilkan menu user admin setting setting 3. Memilih menu user setting 4. Masukkan id, nama, no hp, no pin 6. Menyimpan data 5. Tekan tombol ‘save’ 7. Menampilkan menu user admin setting Alternatif : 5a. Apabila setelah menekan tombol ‘save’, tetapi ada field yang tidak diisi, maka ada pesan ‘data tidak boleh kosong’ dan kembali ke aksi no.3 Tabel 3.8 Skenario Update User No. Use Case Nama Use Case Tujuan Kondisi Awal Req-004 Update User Mengubah data user Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu user admin 2. Menampilkan menu user admin setting setting 3. Memilih menu user setting 4. Memilih data yang akan diubah 5. Tekan tombol ‘update’ 6. Mengubah data 7. Tekan tombol ‘save’ 8. Menyimpan data (data terubah) 9. Menampilkan menu user admin setting Alternatif : 7a. Apabila setelah menekan tombol ‘save’, tetapi ada field yang tidak diisi, maka ada pesan ‘data tidak boleh kosong’ dan kembali ke aksi no.6 48 Tabel 3.9 Skenario Delete User No. Use Case Nama Use Case Tujuan Kondisi Awal Req-005 Delete User Menghapus data user Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu user admin 2. Menampilkan menu user admin setting setting 3. Memilih menu user setting 4. Memilih data yang akan dihapus 6. Menghapus data (data terhapus) 5. Tekan tombol ‘delete’ 7. Menampilkan menu user admin setting Tabel 3.10 Skenario Update Admin No. Use Case Nama Use Case Tujuan Kondisi Awal Req-006 Update Admin Mengubah data admin Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu user admin 2. Menampilkan menu user admin setting setting 3. Memilih admin setting 4. Input username & password lama 5. Input username & password 7. Melakukan validasi baru 8. Menyimpan data (data terubah) 6.Tekan tombol ‘update’ 9. Menampilkan menu user admin setting Alternatif : 7a. validasi invalid, kembali ke aksi no.4 49 Tabel 3.11 Skenario View Device Information No. Use Case Nama Use Case Tujuan Kondisi Awal Aktor Aksi Aktor 1.Memilih menu device information - Req-007 View Device Information Melihat nama dan posisi perangkat Menu utama untuk admin sudah tampil Admin Skenario Utama Reaksi Sistem 2. Menampilkan menu device information 3. Menampilkan tabel perangkat Tabel 3.12 Skenario Update Device Information No. Use Case Nama Use Case Tujuan Kondisi Awal Req-008 Update Device Information Mengubah nama dan posisi perangkat Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1.Memilih menu device 2. Menampilkan menu device information information 3.Memilih data yang akan diubah 4.Tekan tombol ‘update’ 5.Mengubah data 6.Tekan tombol ‘save’ 7. Menyimpan data (data terubah) 8. Menampilkan menu informasi perangkat Alternatif : 6a. Apabila setelah menekan tombol ‘save’, tetapi ada field yang tidak diisi, maka ada pesan ‘data tidak boleh kosong’ dan kembali ke aksi no.5 50 Tabel 3.13 Skenario Start Phone Connection No. Use Case Nama Use Case Tujuan Req-009 Start Phone Connection Membuat koneksi hp server dengan PC Menu utama untuk admin sudah Kondisi Awal tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu phone 2. Menampilkan menu phone connection connection 3. Tekan tombol ‘start service’ 4. Melakukan koneksi 5. Menampilkan pesan ‘koneksi tersedia’ 6. Menampilkan informasi hp server Alternatif : 3a. Apabila setelah menekan tombol ‘start service’, tetapi ada hp tidak terhubung dengan pc, maka ada pesan ‘koneksi error’ dan kembali ke aksi no.3 Tabel 3.14 Skenario Stop Phone Connection No. Use Case Nama Use Case Tujuan Kondisi Awal Req-010 Stop Phone Connection Memutus koneksi hp server Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu phone 2. Menampilkan menu phone connection connection 3. Tekan tombol ‘stop service’ 4. Memutus koneksi 5. Menampilkan pesan ’koneksi terputus’ 51 Tabel 3.15 Skenario Port Setting No. Use Case Nama Use Case Tujuan Req-011 Port Setting Mengatur Port Handphone untuk koneksi Menu utama untuk admin sudah Kondisi Awal tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu phone 2. Menampilkan menu phone connection connection 3. Tekan tombol ‘port setting’ 4. Menampilkan port setting 5. Tekan tombol ‘update’ 6. Mengubah data 7. Tekan tombol ‘save’ 8. Menyimpan data (data terubah) 9. Menampilkan menu port setting Alternatif : 7a. Apabila setelah menekan tombol ‘save’, tetapi ada field yang tidak diisi, maka ada pesan ‘data tidak boleh kosong’ dan kembali ke aksi no.6 Tabel 3.16 Skenario View Message No. Use Case Nama Use Case Tujuan Kondisi Awal Req-012 View Message Melihat data sms masuk dan keluar Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu phone 2. Menampilkan menu phone connection connection 3. Tekan tombol ‘view message’ 4. Menampilkan tabel pesan 52 Tabel 3.17 Skenario Control ON No. Use Case Nama Use Case Tujuan Kondisi Awal Req-013 Control ON Menghidupkan perangkat listrik Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu device control 2. Menampilkan menu device control 3. Pilih perangkat 4. Tekan tombol ‘ON’ 5. Send bit 6. Perangkat menyala Tabel 3.18 Skenario Control OFF No. Use Case Nama Use Case Tujuan Kondisi Awal Req-014 Control OFF Mematikan perangkat listrik Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu device control 2. Menampilkan menu device control 3. Pilih perangkat 4. Tekan tombol ‘OFF’ 5. Send bit 6. Perangkat mati Tabel 3.19 Skenario Set Timer ON No. Use Case Nama Use Case Tujuan Kondisi Awal Req-015 Set Timer ON Mengaktikan set time nyala otomatis Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu timer setting 2. Menampilkan menu timer setting 3. Pilih menu set timer on 4. Pilih perangkat 5. Inputkan waktu nyala 6. Tekan tombol ‘save’ 7. Memproses waktu 8. Send bit 9. Perangkat menyala 53 Tabel 3.20 Skenario Set Timer OFF No. Use Case Nama Use Case Tujuan Kondisi Awal Req-016 Set Timer OFF Mengaktifkan set time mati otomatis Menu utama untuk admin sudah tampil Admin Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Memilih menu timer setting 2. Menampilkan menu timer setting 3. Pilih menu set timer off 4. Pilih perangkat 5. Inputkan waktu mati 6. Tekan tombol ‘save’ 7. Memproses waktu 8. Send bit 9. Perangkat mati Tabel 3.21 Skenario SMS Request Control ON No. Use Case Nama Use Case Tujuan Kondisi Awal Aktor Req-017 SMS Request Control ON Menghidupkan perangkat lewat sms User sudah terdaftar User Skenario Utama Aksi Aktor Reaksi Sistem 1. Mengirim command sms 2. Menerima command sms 3. Mengecek no handphone 4. Mengecek no pin 5. Mengecek command 6. Send bit 7. Perangkat menyala 8. Mengirim sms konfirmasi 9. Menerima sms konfirmasi Alternatif : Apabila no handphone dan no pin tidak sesuai dengan database ( belum terdaftar ) maka command tidak akan diproses dan akan ada sms konfirmasi kesalahan 54 Tabel 3.22 Skenario SMS Request Control OFF No. Use Case Nama Use Case Tujuan Kondisi Awal Aktor Req-018 SMS Request Control OFF Mematikan perangkat lewat sms User sudah terdaftar User Skenario Utama Aksi Aktor Reaksi Sistem 1. Mengirim command sms 2. Menerima command sms 3. Mengecek no handphone 4. Mengecek no pin 5. Mengecek command 6. Send bit 7. Perangkat mati 8. Mengirim sms konfirmasi 9. Menerima sms konfirmasi Alternatif : Apabila no handphone dan no pin tidak sesuai dengan database ( belum terdaftar ) maka command tidak akan diproses dan akan ada sms konfirmasi kesalahan Tabel 3.23 Skenario SMS Request Set Timer ON No. Use Case Nama Use Case Tujuan Kondisi Awal Aktor Req-019 SMS Request Set Timer ON Set time waktu nyala lewat sms User sudah terdaftar User Skenario Utama Aksi Aktor Reaksi Sistem 1. Mengirim command sms 2. Menerima command sms 3. Mengecek no handphone 4. Mengecek no pin 5. Mengecek command 6. Mengirim sms konfirmasi 7. Memproses waktu 8. Send bit 9. Perangkat nyala 10. Menerima sms konfirmasi Alternatif : Apabila no handphone dan no pin tidak sesuai dengan database ( belum terdaftar ) maka command tidak akan diproses dan akan ada sms konfirmasi kesalahan 55 Tabel 3.24 Skenario SMS Request Set Timer OFF No. Use Case Nama Use Case Tujuan Kondisi Awal Aktor Req-020 SMS Request Set Timer OFF Set time waktu mati lewat sms User sudah terdaftar User Skenario Utama Aksi Aktor Reaksi Sistem 1. Mengirim command SMS 2. Menerima command SMS 3. Mengecek no handphone 4. Mengecek no pin 5. Mengecek command 6. Mengirim sms konfirmasi 7. Memproses waktu 8. Send Bit 9. Perangkat mati 10. Menerima sms konfirmasi Alternatif : Apabila no handphone dan no pin tidak sesuai dengan database ( belum terdaftar ) maka command tidak akan diproses dan akan ada sms konfirmasi kesalahan Tabel 3.25 Skenario SMS Request Device Status No. Use Case Nama Use Case Tujuan Req-021 SMS Request Device Status Mengecek status On/Off semua perangkat lewat sms User sudah terdaftar Kondisi Awal User Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Mengirim command SMS 2. Menerima command SMS 3. Mengecek no handphone 4. Mengecek no pin 5. Mengecek command 6. Mengecek database 7. Mengirim sms konfirmasi 8. Menerima sms konfirmasi Alternatif : Apabila no handphone dan no pin tidak sesuai dengan database ( belum terdaftar ) maka command tidak akan diproses dan akan ada sms konfirmasi kesalahan 56 Tabel 3.26 Skenario SMS Request Device Information No. Use Case Nama Use Case Tujuan Req-022 SMS Request Device Information Mengecek nama & posisi perangkat listrik lewat sms User sudah terdaftar Kondisi Awal User Aktor Skenario Utama Aksi Aktor Reaksi Sistem 1. Mengirim command SMS 2. Menerima command SMS 3. Mengecek no handphone 4. Mengecek no pin 5. Mengecek command 6. Mengecek database 7. Mengirim sms konfirmasi 8. Menerima sms konfirmasi Alternatif : Apabila no handphone dan no pin tidak sesuai dengan database ( belum terdaftar ) maka command tidak akan diproses dan akan ada sms konfirmasi kesalahan d. Activity Diagram Activity Diagram memodelkan alur kerja sebuah proses dan urutan aktivitas dalam suatu proses. Diagram ini mirip dengan flowchart karena dapat memodelkan sebuah alur kerja dari satu aktivitas ke aktivitas lain atau dari satu aktivitas ke dalam keadaan sesaat (state). Activity Diagram juga sangat berguna untuk menggambarkan perilaku paralel atau menjelaskan bagaimana perilaku dalam berbagai use case beraksi. 57 1. Activity Diagram Login Admin Sistem Tampil Menu Login Input Username dan Password Tekan Tombol 'Login' Validasi Data Login Tidak Ya Valid ? Pesan Kesalahan Tampil Menu Utama Gambar 3.5 Activity Diagram Login 2. Activity Diagram View User Admin Memilih Menu User Admin Setting Sistem Tampil Menu User Admin Setting Tampil Tabel User Gambar 3.6 Activity Diagram View User 58 3. Activity Diagram Input User Admin Sistem Memilih Menu User Admin Setting Tampil Menu User Admin Setting Pilih Menu User Setting Pesan : "Data tidak boleh kosong" Masukan id, nama, no hp dan no pin Ya Tidak Tekan Tombol 'Save' field kosong ? Pesan : "Data berhasil disimpan" Menyimpan Data Gambar 3.7 Activity Diagram Input User 4. Activity Diagram Update User Admin Sistem Memilih Menu User Admin Setting Tekan Tombol 'Update' Tampil Menu User Admin Setting Pilih data user yang akan di ubah Tampil Tabel User Pesan : "Data user berhasil diubah" Mengubah data Tidak Tekan Tombol 'Save' Ya Konfirmasi Update ? Menyimpan Data (data terubah) Gambar 3.8 Activity Diagram Update User 59 5. Activity Diagram Delete User Admin Sistem Memilih Menu User Admin Setting Tekan Tombol 'Delete' Tampil Menu User Admin Setting Pilih Data User Yang Akan Dihapus Konfirmasi Hapus? Tampil Tabel User Pesan : "Data berhasil Dihapus" Tidak Ya Data User Terhapus Gambar 3.9 Activity Diagram Delete User 6. Activity Diagram Update Admin Admin Setting Memilih Menu User Admin Setting Tampil Menu User Admin Setting Pilih Menu Admin Setting Input Username dan Password yang lama + Username dan Password yang baru Validasi Data Tekan Tombol 'Update' Tidak Ya Tidak Konfirmasi Update Valid ? Ya Menyimpan Data (data terubah) Pesan : "Data Admin Berhasil Diubah" Gambar 3.10 Activity Diagram Update Admin 60 7. Activity Diagram View Device Information Admin Sistem Pilih Menu Device Information Tampil Menu Device Information Tampil Tabel Perangkat Gambar 3.11 Activity Diagram View Device Information 8. Activity Diagram Update Device Information Admin Sistem Pilih Menu Device Information Tekan Tombol 'Update' Tampil Menu Device Information Pilih Data Perangkat Yang Akan Diubah Tampil Tabel Perangkat Mengubah Data Pesan : "Data Berhasil Di Update" Tidak Tekan Tombol 'Save' Konfirmasi Update ? Ya Menyimpan Data (data terubah) Gambar 3.12 Activity Diagram Update Device Information 61 9. Activity Diagram Start Phone Connecttion Admin Sistem Pilih Menu Phone Connection Tampil Menu Phone Connection Pastikan HP terhubung ke PC Tekan Tombol 'Start Service' Melakukan Koneksi Tidak Sukses ? Ya Pesan : 'Koneksi Tersedia' Tampil Informasi HP Gambar 3.13 Activity Diagram Start Phone Connection 10. Activity Diagram Stop Phone Connection Admin Pilih Menu Phone Connection Sistem Tampil Menu Phone Connection Pilih Tombol 'Stop Service' Memutus koneksi Pesan : 'Koneksi Terputus' Gambar 3.14 Activity Diagram Stop Phone Connection 62 11. Activity Diagram Port Setting Admin Sistem Pilih Menu Phone Connection Tampil Menu Phone Connection Pilih Tombol 'Port Setting' Tampil Menu Port Setting Tekan Tombol 'Update' Pesan : "Data Berhasil Di Update" Mengubah Data Tidak Tekan Tombol 'Save' Ya Menyimpan Data (Data Terubah) Konfirmasi Update ? Gambar 3.15 Activity Diagram Port Setting 12. Activity Diagram View Message Admin Sistem Pilih Menu Phone Connection Tampil Menu Phone Connection Pilih Tombol 'View Message' Tampil Tabel Pesan Gambar 3.16 Activity Diagram View Message 63 13. Activity Diagram Control ON Admin Pilih Menu Device Control Sistem Tampil Menu Device Control Pilih Perangkat Tekan Tombol 'ON' Send Bit Perangkat Listrik Menyala Gambar 3.17 Activity Diagram Control ON 14. Activity Diagram Control OFF Admin Sistem Pilih Menu Device Control Tampil Menu Device Control Pilih Perangkat Listrik Tekan Tombol 'OFF' Send Bit Perangkat Listrik Mati Gambar 3.18 Activity Diagram Control OFF 64 15. Activity Diagram Set Timer ON Admin Pilih Menu Timer Setting Sistem Tampil Menu Timer Setting Pilih Menu Set Timer ON Pilih Perangkat Proses Set Timer Input Waktu Nyala Send Bit Tekan Tombol 'Save' Perangkat Listrik Menyala Gambar 3.19 Activity Diagram Set Timer ON 16. Activity Diagram Set Timer OFF Admin Pilih Menu Timer Setting Sistem Tampil Menu Timer Setting Pilih Menu Set Timer OFF Pilih Perangkat Proses Set Timer Input Waktu Mati Send Bit Tekan Tombol 'Save' Perangkat Listrik Mati Gambar 3.20 Activity Diagram Set Timer OFF 65 17. Activity Diagram SMS Request Control ON User Send Command SMS Sistem Terima SMS User Cek No Pengirim Terdaftar ? Ya Cek No PIN Tidak Terima Konfirmasi SMS Kirim SMS Balasan Sesuai ? Tidak Ya Cek Command SMS Send Bit Perangkat Menyala Gambar 3.21 Activity Diagram SMS Request Control ON 18. Activity Diagram SMS Request Control OFF User Send Command SMS Sistem Terima SMS User Cek No Pengirim Terdaftar ? Ya Cek No PIN Tidak Terima Konfirmasi SMS Kirim SMS Balasan Sesuai ? Tidak Ya Cek Command SMS Send Bit Perangkat Mati Gambar 3.22 Activity Diagram SMS Request Control OFF 66 19. Activity Diagram SMS Request Set Timer ON User Send Command SMS Sistem Terima SMS User Cek No Pengirim Terdaftar ? Ya Cek No PIN Tidak Terima Konfirmasi SMS Kirim SMS Balasan Sesuai ? Tidak Ya Cek Command SMS Proses Set Time Send Bit Perangkat Menyala Gambar 3.23 Activity Diagram SMS Request Set Timer ON 20. Activity Diagram SMS Request Set Timer OFF User Send Command SMS Sistem Terima SMS User Cek No Pengirim Terdaftar ? Ya Cek No PIN Tidak Terima Konfirmasi SMS Kirim SMS Balasan Sesuai ? Tidak Ya Cek Command SMS Proses Set Time Send Bit Perangkat Mati Gambar 3.24 Activity Diagram SMS Request Set Timer OFF 67 21. Activity Diagram SMS Request Device Status User Send Command SMS Sistem Terima SMS User Cek No Pengirim Terdaftar ? Ya Cek No PIN Tidak Terima Konfirmasi SMS Kirim SMS Balasan Sesuai ? Tidak Ya Cek Command SMS Cek Database Gambar 3.25 Activity Diagram SMS Request Device Status 22. Activity Diagram SMS Request Device Information User Send Command SMS Sistem Terima SMS User Cek No Pengirim Terdaftar ? Ya Cek No PIN Tidak Terima Konfirmasi SMS Kirim SMS Balasan Sesuai ? Tidak Ya Cek Command SMS Cek Database Gambar 3.26 Activity Diagram SMS Request Device Information 68 e. Sequence Diagram Sequence Diagram menunjukkan interaksi objek yang diatur dalam satuan waktu. Sequence Diagram menangkap objek dan kelas yang terlibat dalam scenario dan urutan message yang ditukar di antara objek, diperlukan untuk melaksanakan fungsionalitas skenario. Sequence Diagram berasosiasi dengan usecase selama proses pengembangan. Gambar 3.27 – 3.48 adalah sequence diagram yang digunakan oleh Sistem Kendali Perangkat Listrik Menggunakan Media SMS. 1. Sequence Diagram Login Admin Form Login Menu Utama Database 1 : Login() 2 : Username, Password() 3 : Validation() 4 : Login Sukses() 5 : Login Gagal() Gambar 3.27 Sequence Diagram Login 69 2. Sequence Diagram View User Admin Menu User Admin Database 1 : Masuk() 2 : Read() 3 : Load Data() 4 : Tabel User() Gambar 3.28 Sequence Diagram View User 3. Sequence Diagram Input User Admin Menu User Admin Database 1 : Masuk() 2 : Id, Nama, No_hp, No_pin() 3 : Insert() 4 : Load Data() 5 : Tabel User() Gambar 3.29 Sequence Diagram Input User 70 4. Sequence Diagram Update User Admin Menu User Admin Database 1 : Masuk() 2 : Tabel User() 3 : Update() 4 : Load Data() Gambar 3.30 Sequence Diagram Update User 5. Sequence Diagram Delete User Admin Menu User Admin Database 1 : Masuk() 2 : Tabel User() 3 : Delete() 4 : Load Data() Gambar 3.31 Sequence Diagram Delete User 6. Sequence Diagram Update Admin Admin Menu User Admin Database 1 : Masuk() 2 : Validasi Username + Password() 3 : Update() Gambar 3.32 Sequence Diagram Update Admin 71 7. Sequence Diagram View Device Information Admin Menu Device Information Database 1 : Masuk() 2 : Read() 3 : Load Data() 4 : Tabel Perangkat() Gambar 3.33 Sequence Diagram View Device Information 8. Sequence Diagram Update Device Information Admin Menu Device Information Database 1 : Masuk() 2 : Tabel Perangkat() 3 : Update() 4 : Load Data() Gambar 3.34 Sequence Diagram Update Device Information 72 9. Sequence Diagram Start Phone Connection Admin Menu Phone Connection Handphone 1 : Masuk() 2 : Start Service() 3 : Connect() 4 : Load Data() 5 : Informasi Handphone() Gambar 3.35 Sequence Diagram Start Phone Connection 10. Sequence Diagram Stop Phone Connection Admin Menu Phone Connection Handphone 1 : Masuk() 2 : Stop Service() 3 : Disconnect() Gambar 3.36 Sequence Diagram Stop Phone Connection 73 11. Sequence Diagram Port Setting Admin Menu Phone Connection Port Setting Database 1 : Open() 2 : Open() 3 : Update() 4 : Load Data() Gambar 3.37 Sequence Diagram Port Setting 12. Sequence Diagram View Message Admin Menu Phone Connection View Message Database 1 : Open() 2 : Open() 3 : Read() 4 : Load Data() 5 : Tabel Pesan() Gambar 3.38 Sequence Diagram View Message 13. Sequence Diagram Control ON Admin Menu Device Control Alat Kendali Listrik Perangkat Listrik 1 : Masuk() 2 : ON() 3 : Send Bit() 4 : Menyalakan Perangkat() Gambar 3.39 Sequence Diagram Control ON 74 14. Sequence Diagram Control OFF Admin Menu Device Control Alat Kendali Listrik Perangkat Listrik 1 : Masuk() 2 : OFF() 3 : Send Bit() 4 : Mematikan Perangkat() Gambar 3.40 Sequence Diagram Control OFF 15. Sequence Diagram Set Timer ON Admin Menu Timer Setting Alat Kendali Listrik Perangkat Listrik 1 : Masuk() 2 : Set Waktu Nyala() 3 : Send Bit() 4 : Menyalakan Perangkat() Gambar 3.41 Sequence Diagram Set Timer ON 16. Sequence Diagram Set Timer OFF Admin Menu Timer Setting Alat Kendali Listrik Perangkat Listrik 1 : Masuk() 2 : Set Waktu Mati() 3 : Send Bit() 4 : Mematikan Perangkat() Gambar 3.42 Sequence Diagram Set Timer OFF 75 17. Sequence Diagram SMS Request Control ON User Program Kendali 1 : Isi_sms, No_hp, No_pin() Database Alat Kendali Listrik Perangkat Listrik 2 : Insert() 3 : Cek No_hp() 4 : No_hp Tidak Terdaftar() 5 : Cek No_pin() 6 : No_pin Tidak Sesuai() 7 : Cek Command() 8 : Insert ON() 9 : Load Status() 10 : Send Bit() 11 : Menyalakan Perangkat() 12 : Sms Konfirmasi() Gambar 3.43 Sequence Diagram SMS Request Control ON 18. Sequence Diagram Request SMS Control OFF User Program Kendali 1 : Isi_sms, No_hp, No_pin() Database Alat Kendali Listrik Perangkat Listrik 2 : Insert() 3 : Cek No_hp() 4 : No_hp Tidak Terdaftar() 6 : No_pin Tidak Sesuai() 5 : Cek No_pin() 7 : Cek Command() 8 : Insert OFF() 9 : Load Status() 10 : Send Bit() 11 : Mematikan Perangkat() 12 : Sms Konfirmasi() Gambar 3.44 Sequence Diagram SMS Request Control OFF 76 19. Sequence Diagram Request SMS Set Timer ON User Program Kendali 1 : Isi_sms, No_hp, No_pin() Database Alat Kendali Listrik Perangkat Listrik 2 : Insert() 3 : Cek No_hp() 4 : No_hp Tidak Terdaftar() 5 : Cek No_pin() 6 : No_pin Tidak Sesuai() 7 : Cek Command() 8 : Insert Time ON() 9 : Load Time() 10 : Send Bit() 11 : Menyalakan Perangkat() 12 : Sms Konfirmasi() Gambar 3.45 Sequence Diagram SMS Request Set Timer ON 20. Sequence Diagram SMS Request Set Timer OFF User Program Kendali 1 : Isi_sms, No_hp, No_pin() Database Alat Kendali Listrik Perangkat Listrik 2 : Insert() 3 : Cek No_hp() 4 : No_hp Tidak Terdaftar() 6 : No_pin Tidak Sesuai() 5 : Cek No_pin() 7 : Cek Command() 8 : Insert Time OFF() 9 : Load Time() 10 : Send Bit() 11 : Mematikan Perangkat() 12 : Sms Konfirmasi() Gambar 3.46 Sequence Diagram SMS Request Set Timer OFF 77 21. Sequence Diagram SMS Request Device Status Program Kendali User 1 : Isi_sms, No_hp, No_pin() Database 2 : Insert() 3 : Cek No_hp() 4 : No_hp Tidak Terdaftar() 5 : Cek No_pin() 6 : No_pin Tidak Sesuai() 7 : Cek Command() 8 : Read Status() 9 : Load Status() 10 : Sms Konfirmasi() Gambar 3.47 Sequence Diagram SMS Request Device Status 22. Sequence Diagram SMS Request Device Information User Program Kendali 1 : Isi_sms, No_hp, No_pin() Database 2 : Insert() 3 : Cek No_hp() 4 : No_hp Tidak Terdaftar() 6 : No_pin Tidak Sesuai() 5 : Cek No_pin() 7 : Cek Command() 8 : Read Info() 9 : Load Info() 10 : Sms Konfirmasi() Gambar 3.48 Sequence Diagram SMS Request Device Information 78 f. Class Diagram Dalam pemograman berorientasi objek, class diagram merupakan hubungan modul-modul setiap kelas dengan kelas lain. Gambar 3.49 adalah class diagram Sistem Kendali Perangkat Listrik Menggunakan Media SMS. Phone Connection +id_gateway +port +baud +manufacture +model +imeii +status 1 +load_data() +start_service() +stop_service() Timer Setting Device Control Port Setting +id_device +nama +status +bit +id_gateway +port +baud +manufactur 1 +model +update() +set_bit() +load_data() +update() +load_data() * 1 * 1 Device Information +id_device +nama +lokasi * +id_device +nama +status +time 1 1 +update() +load_data() +time_validation() * +update() +load_data() 1 * Outbox +no_hp +id_device +nama +lokasi +status +time 1 1 1 1 User +proses_outbox() +insert() +update() 1 1 +id_user +nama +no_hp +No_pin +insert() +update() +delete() +load_data() Inbox +no_hp +no_pin +id_device +status +time +proses_inbox() +insert() +update() * 1 Gambar 3.49 Class Diagram 3.2.4 Perancangan Basis Data Berikut ini adalah struktur tabel basis data dalam aplikasi sistem kendali perangkat listrik. 1. Tabel User Tabel user adalah tabel yang digunakan untuk menyimpan data user, berupa id_user, nama_user, no_hp, dan no_pin. Tabel user mempunyai struktur seperti terlihat pada Tabel 3.27. 79 Tabel 3.27 Struktur Tabel User No 1 2 3 4 Nama Field Id_user Nama No_hp No_pin Tipe Data Integer Varchar Integer Integer Panjang 4 50 15 5 Keterangan PK - 2. Tabel Admin Tabel admin adalah tabel yang digunakan untuk menyimpan data admin, berupa id_admin, username dan password. Tabel admin mempunyai struktur seperti terlihat pada Tabel 3.28. Tabel 3.28 Struktur Tabel Admin No 1 2 3 Nama Field Id_admin Username Password Tipe Data Integer Varchar Varchar Panjang 4 50 20 Keterangan PK - 3. Tabel Perangkat Tabel perangkat adalah tabel yang digunakan untuk menyimpan data informasi perangkat listrik yang akan dikendalikan. Tabel perangkat mempunyai struktur seperti terlihat pada Tabel 3.29. Tabel 3.29 Struktur Tabel Perangkat No 1 2 3 4 5 6 Nama Field Id_perangkat Nama Lokasi Status Timer_on Timer_off Tipe Data Integer Varchar Varchar Varchar Varchar Varchar Panjang 4 30 30 5 10 10 Keterangan PK - 80 4. Tabel Pesan Masuk Tabel pesan adalah tabel yang digunakan untuk menyimpan data SMS yang masuk ke sistem. Tabel ini berisi id, no_hp, pesan, waktu dan status. Tabel pesan mempunyai struktur seperti terlihat pada Tabel 3.30. Tabel 3.30 Struktur Tabel Pesan Masuk No 1 2 3 4 5 Fields Id No_hp Pesan Waktu Status Type Integer Varchar Varchar Varchar Varchar Panjang 4 15 255 30 20 Keterangan PK - 5. Tabel Pesan Keluar Tabel pesan keluar adalah tabel yang digunakan untuk menyimpan data SMS konfirmasi kepada user. Tabel ini berisi id, no_hp, pesan, waktu dan status. Tabel pesan keluar mempunyai struktur seperti terlihat pada Tabel 3.31. Tabel 3.31 Struktur Tabel Pesan Keluar No 1 2 3 4 5 Fields Id No_hp Pesan Waktu Status Type Integer Varchar Varchar Varchar Varchar Panjang 4 15 255 30 20 Keterangan PK - 6. Tabel Phone Tabel phone adalah tabel yang digunakan untuk menyimpan pengaturan port handphone. Tabel phone mempunyai struktur seperti terlihat pada Tabel 3.32. 81 Tabel 3.32 Struktur Tabel Phone No 1 2 3 4 5 Fields Id Gateway Port Baud Manufacture Type Integer Varchar Varchar Varchar Varchar Panjang 4 20 10 10 20 Keterangan PK - 3.2.5 Perancangan Format SMS Tahap penentuan format SMS ini bertujuan untuk mendesain format SMS yang cocok, yang nantinya digunakan untuk acuan dalam pemrosesan SMS yang dikirimkan oleh user. Format SMS yang nantinya digunakan sebagai acuan pengiriman SMS oleh user seperti terdapat pada Tabel 3.33. Tabel 3.33 Format SMS No 1 2 3 Command SMS ON1 NOW PIN ON2 NOW PIN ON3 NOW PIN OFF1 NOW PIN OFF2 NOW PIN OFF3 NOW PIN ON1 00:00 PIN ON2 00:00 PIN ON2 00:00 PIN 4 OFF1 00:00 PIN OFF2 00:00 PIN OFF3 00:00 PIN 5 ALL ON PIN Fungsi Untuk menghidupkan perangkat listrik pada saat itu juga. Untuk mematikan perangkat listrik pada saat itu juga. Untuk menghidupkan perangkat listrik sesuai dengan waktu yang diinginkan. 00:00 merupakan format waktu yang diisi berdasarkan jam dan menit. Sehingga perangkat akan hidup pada waktu tersebut. Untuk mematikan perangkat listrik sesuai dengan waktu yang diinginkan. 00:00 merupakan format waktu yang diisi berdasarkan jam dan menit. Sehingga perangkat akan mati pada waktu tersebut. Untuk menghidupkan semua perangkat listrik pada saat itu juga. 82 Tabel 3.33 Format SMS (Lanjutan) No 6 Command SMS ALL OFF PIN 7 ALL STATUS PIN 8 ALL INFO PIN Fungsi Untuk mematikan semua perangkat listrik pada saat itu juga. Untuk mengecek status semua perangkat, apakah sekarang dalam keadaan mati atau hidup. Untuk mengetahui informasi semua perangkat, bahwa suatu perangkat bernama apa dan ditempatkan dimana. 1. Skema Format SMS PDU Pengirim Jika kita mengirim pesan SMS ke nomor 087898889666 dengan isi pesan “ON1 NOW 1234” dengan batas waktu pengiriman (waktu penyimpanan pesan di SMSC, jika nomor tujuan tidak dapat menerima pesan) 5 hari. Maka format PDU adalah : a. SCA (Service Center Address) Dalam pengiriman pesan SMS, nomor SMSC tidak dicantumkan. Tabel 3.34 Service Center Address Pengirim Octet Len Type of number Service center number Keterangan Panjang informasi SMSC dalam octet Format nomor dari SMSC 81 hexa = format local 91 hexa = format internasional Nomor SMSC dari operator pengirim Hasil 00 <none> <none> Jadi pada Service Center Address hasilnya adalah 00. 83 b. PDU Type Nilai default dari PDU Type untuk SMS Pengirim adalah 11 hexa, yang memiliki arti sebagai berikut : 11 hexa = 00000100. c. MR (Message Reference) Untuk membiarkan pengaturan pesan SMS dilakukan sendiri oleh handphone tujuan, maka nilai yang diberikan adalah “00”. Jadi pada Message Reference hasilnya adalah 00. d. DA (Destination Address) Tabel 3.35 merupakan format penentuan Destination Address. Tabel 3.35 Destination Address Octet Len Type of number Destination number Nilai 12 Format nasional 087898889666 Hasil 0B 81 808789886966 Jadi pada Destination Address hasilnya adalah 0B81808789886966. e. PID (Protocol Identifier) Pada contoh pesan SMS yang akan dikirim menggunakan format teks standar, jadi pada Protocol Identifier hasilnya adalah 00. f. DCS (Data Coding Scheme) Pada contoh pesan SMS yang akan dikirim berupa teks standar, jadi pada Data Coding Scheme hasilnya adalah 00. g. VP (Validity Period) Waktu Validitas Periodenya adalah 5 hari maka nilai VP adalah 166 + 5 = 171 d = AB h. Jadi pada Validity Period hasilnya adalah AB. 84 h. UDL (User Data Length) Pada contoh pesan SMS yang dikirim adalah “ON NOW 1234”, yang memiliki 12 karakter (0C h). Jadi pada User Data Length hasilnya adalah 0C. i. UD (User Data) Tabel 3.36 merupakan proses pengkodean dari teks standar ke hexadecimal. Tabel 3.36 User Data Pengirim Nilai O N 1 spasi N O W spasi 1 2 3 4 Dec 79 78 49 32 78 79 87 32 49 50 51 52 Septet (7bit) 1001111 100111 0 01100 01 0100 000 100 1110 10 01111 1 010111 0100000 011000 1 01100 10 0110 011 011 0100 Octet (8bit) 0 1001111 01 100111 000 01100 1110 0100 01111 100 010111 10 0100000 1 1 0100000 10 011000 011 01100 0100 0110 00000 110 Hasil 4F 67 0C E4 7C 5E 41 A0 98 6C 46 06 Dari Tabel 3.36 dapat dilihat bahwa hasil untuk user data adalah: 4F670CE47C5E41A0986C4606 Maka diperoleh hasil untuk pengiriman SMS dalam format PDU seperti pada contoh tersebut adalah : 0011000B818087898869660000AB0C4F670CE47C5E41A0986C4606 85 2. Skema Format SMS PDU Penerima Jika kita menerima pesan dari 087898889666 dengan isi pesan SMS adalah “ON1 NOW 1234” pada tanggal 06 September 2013 pukul 16.22 wib. Maka format PDU adalah : a. SCA (Service Center Address) Pada contoh yang terlihat bahwa nilai dari SCA adalah 06912618455400F9. Tabel 3.37 Service Center Address Penerima Octet Len Type of number Service center number Keterangan Panjang informasi SMSC pada octet Format nomor dari SMSC 81 hexa = format local 91 hexa = format internasional Nomor SMSC dari operator pengirim Nilai 06 91 2618455400F9 b. PDU Type Nilai default dari PDU Type untuk SMS-Deliver adalah 04 hexa, yang memiliki arti sebagai berikut : 04 hexa = 00000100. c. OA (Origintor Address) Nilai dari Originator Address pada contoh adalah 0681808789886966. 86 Tabel 3.38 Originator Address Penerima Octet Len Type of number Keterangan Panjang nomor pengirim Format nomor dari SMSC 81 hexa = format local 91 hexa = format internasional Nomor pengirim operator pengirim Service center number Nilai 06 81 808789886966 d. PID (Protocol Identifier) Untuk contoh nilai dari PID adalah 00, sehingga pesan yang diterima berupa text standar. e. DCS (Data Coding Scheme) Pada contoh DCS adalah 00 yang berarti bahwa pesan yang diterima merupakan pesan teks standar. f. SCTS (Service Center Time Stamp) Nilai SCTS pada contoh adalah 31090616222028. Tabel 3.39 Service Center Time Stamp Nama Year Month Date Hour Minute Second Time Zone Nilai 31 90 60 61 22 02 82 Hasil 13 (2013) 09 (September) 06 16 22 20 28, dimana 1 unit = 15 menit. Jadi (15x28)/60 = 7 jam. Sehingga menjadi GMT + 07.00 = WIB 87 g. UDL (User Data Length) Pada contoh nilai dari UDL adalah 0C, yang berarti pesan yang diterima adalah sebanyak 12 karakter. h. UD (User Data) Tabel 3.40 merupakan proses pengkodean dari teks standar ke hexadesimal. Tabel 3.40 User Data Penerima Nilai O N 1 spasi N O W spasi 1 2 3 4 Dec 79 78 49 32 78 79 87 32 49 50 51 52 Septet (7bit) 1001111 100111 0 01100 01 0100 000 100 1110 10 01111 1 010111 0100000 011000 1 01100 10 0110 011 011 0100 Octet (8bit) 0 1001111 01 100111 000 01100 1110 0100 01111 100 010111 10 0100000 1 1 0100000 10 011000 011 01100 0100 0110 00000 110 Hasil 4F 67 0C E4 7C 5E 41 A0 98 6C 46 06 Dari Tabel 3.40 dapat dilihat bahwa hasil untuk user data adalah: 4F670CE47C5E41A0986C4606 Maka diperoleh hasil untuk penerimaan SMS dalam format PDU seperti pada contoh tersebut adalah : 06912618455400F90406818087898869660000310906162220280C4F670 CE47C5E41A0986C4606 88 3.2.6 Perancangan User Interface Perancangan user interface adalah tahapan perancangan tampilan aplikasi yang nantinya akan dibuat. Adapun menu – menu yang akan dibangun dalam program adalah: 1. Menu Login Halaman ini merupakan halaman yang pertama kali muncul ketika program dijalankan. Halaman ini berisi inputan username dan password sebagai kunci untuk mengoperasikan program kendali perangkat listrik. Gambar 3.50 Rancangan Menu Login 2. Menu Home Halaman ini merupakan halaman menu utama ketika admin berhasil login ke sistem. 89 Gambar 3.51 Rancangan Menu Home 3. Menu Device Control Halaman ini berisi tentang sistem kendali perangkat listrik, yaitu mematikan atau menghidupkan perangkat listrik secara manual. Gambar 3.52 Rancangan Menu Device Control 90 4. Menu Timer Setting Halaman ini berisi tentang setting timer kendali perangkat listrik, yaitu mematikan atau menghidupkan perangkat listrik berdasarkan waktu yang diinputkan pada checkbox dengan format jam:menit. Gambar 3.53 Rancangan Menu Timer Setting 5. Menu Phone Connection Halaman ini berisi tentang koneksi handphone server dengan komputer. Halaman ini juga berisi tentang spesifikasi handphone server, menu port setting dan menu view message. Gambar 3.54 Rancangan Menu Phone Connection 91 6. Menu Device Information Halaman ini berisi tentang data informasi perangkat listrik yang dapat dikendalikan. Gambar 3.55 Rancangan Menu Device Information 7. Menu User Admin Setting Halaman ini berisi tentang update data admin, data ini diperlukan pada saat login program pertama kali dijalankan. Selain data admin, halaman ini juga berisi data user dan input data user. Gambar 3.56 Rancangan Menu User Admin Setting 92 BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM Dalam bab ini dibahas mengenai hasil uji coba sistem yang telah dirancang dan dibuat. Uji coba dilakukan untuk mengetahui apakah sistem dapat berjalan sebagaimana mestinya dengan lingkungan uji coba yang telah ditentukan serta dilakukan sesuai dengan perancangan. 4.1 Implementasi Sistem 4.1.1 Implementasi Denah Ruangan Gambar 4.1 Denah Ruangan Kantor Perum Damri Bandung 93 4.1.2 Implementasi Hardware Implementasi perangkat keras ini terdiri dari implementasi hardware komputer dan periperal rangkaian elektronik. 1. Implementasi Hardware Komputer Komputer yang digunakan tidak banyak berbeda dengan komputer pada umumnya yang digunakan untuk dapat menjalankan suatu program komputer, yaitu dengan spesifikasi berikut : a. Processor Intel Dual Core 2.6 GHz b. RAM 2 GB c. VGA 512 MB d. Harddisk 160 GB e. Handphone Siemens M55 f. Kabel Data BlueTech Siemens 2. Implementasi Antar Muka DB 25 Pada rangkaian port paralel terdapat pin-pin yaitu data, status dan control, kemudian dihubungkan ke ULN 2803 untuk memperkuat arus dari port paralel yang nantinya akan dihubungkan ke relay dimana relay akan menjalankan perangkat yang akan dihidupkan melalui komputer. Inisialisasi port paralel ini dimaksudkan untuk membaca alamat data port paralel. Port data (alamat 378 / 888) yang dipakai disini akan dihubungkan ke rangkaian perangkat listrik. Di samping itu port data ini mengeluarkan 94 tegangan sebesar 5 Volt dari data bit 0 - data bit 7. Pada port data, yang dipakai untuk mengaktifkan perangkat listrik adalah pin 2 - pin 4. Adapun perangkat keras akan diadakan uji coba terlebih dahulu dan pengukuran pada blok-blok yang diperlukan., Pengukuran alat ini menggunakan multimeter analog. Dimana pin yang digunakan yaitu pin 2 sampai pin 5 dengan data D0 sampai D3. Pengukuran dilakukan dengan menggunakan multimeter di set pada skala 10 Vdc dengan pengukuran langsung pada port paralel. Adapun hasil pengukuran langsung pada tiap pin dapat dilihat pada Tabel 4.1. Tabel 4.1 Hasil Pengukuran Tegangan Output Port Paralel PIN PORT PARALEL 2 3 4 REGISTER BIT D0 D1 D2 VOUT VDC PORT PARALEL 5 Vdc 5 Vdc 5 Vdc 3. Implementasi ULN 2803 IC ULN2803 ini terdapat delapan buah susunan darlington yang dapat bekerja secara individu sehingga beban yang dapat dipasang pada ULN2803 ini sebanyak 8 buah. Gambar 4.2 adalah salah satu dari delapan susunan darlington ULN 2803. 95 Gambar 4.2 Salah Satu Susunan Darlington ULN 2803 a. Jika IN adalah 0 volt. Q1 dan Q2 tidak akan bekerja karena tidak ada arus yang diberikan kepada mereka. Dengan demikian, tidak akan muncul output (OUT). b. Jika IN adalah 5 volt. Ketika input memiliki tegangan 5 volt dari pin port paralel, kedua transistor Q1 dan Q2 akan mulai bekerja. Arus input Q2 adalah kombinasi arus input dan arus emitor dari Q1, sehingga Q2 akan mengalirkan arus yang lebih tinggi dari Q1 yang sangat dibutuhkan untuk menggerakan perangkat seperti motor, relay, dll. Arus output yang mengalir melalui Q2 menyediakan jalur ke ground untuk sirkuit eksternal. Jadi, ketika input 5V diterapkan ke salah satu pin input (1 sampai 8), tegangan output pada pin output yang sesuai (11 sampai 18) turun untuk memberikan ground pada rangkaian eksternal. Dengan demikian, sirkuit eksternal mendapatkan ground 96 pada salah satu ujungnya ketika disediakan +Vcc di ujung lainnya. Jadi, sirkuit akan selesai dan mulai beroperasi. 4. Implementasi Relay Gambar 4.3 Sirkuit Relay Kerja relay ini sangat sederhana. Ketika data pada pin 2 paralel port adalah '1', yakni saat 5V keluar dari pin 2 maka pin 1 dari IC ULN2803 menerima input 5V dan dengan demikian pin 18 memberikan ground ke salah satu ujung dari kumparan relay. Ujung kumparan relay diberikan +Vcc (5V), sehingga kumparan mendapatkan energi dan COM akan terhubung ke kontak N/O dan sirkuit listrik AC akan tersambung sehingga lampu akan menyala. Sekarang, lampu akan menyala selama data pada pin 2 adalah tinggi. Ketika data pada pin 2 menjadi rendah, maka ground yang disediakan 97 oleh pin 18 dari IC ULN2803 menghilang dan kumparan mendapatkan de-energized sehingga COM terhubung kembali ke kontak N/C. Dengan demikian, sirkuit listrik AC terputus dan lampu tidak menyala lagi. 4.1.3 Implementasi Software Software yang digunakan antara lain : 1. Sistem Operasi Windows XP 2. Java JDK 1.6 3. NetBeans 7.2.1 4. MySQL 5 4.1.4 Implementasi User Interface 1. Form Login Form login merupakan form yang pertama kali muncul ketika program dijalankan. Ketika admin menginputkan username dan password program akan mengecek bahwa kedua inputan tersebut sesuai atau tidak dengan database, kalau sesuai akan masuk ke home, kalau tidak sesuai akan mencul pesan bahwa username atau password salah. Adapun source code dan gambar tampilan bisa dilihat pada Gambar 4.4 – 4.5. 98 Gambar 4.4 Source Code Login Gambar 4.4 merupakan procedure untuk mengecek kebenaran ketika akan melakukan login. Pada baris 96 adalah function if-else dimana jika username dan password sesuai dengan database maka ia akan bernilai true dan apabila tidak sesuai maka akan bernilai false. Gambar 4.5 Form Menu Login 99 2. Form Menu Home Menu ini adalah menu yang pertama kali tampil ketika login berhasil. Gambar 4.6 Form Menu Home 3. Form Menu Device Control Menu ini berisi tentang sistem kendali perangkat listrik, yaitu mematikan atau menghidupkan perangkat listrik secara manual dengan menggunakan button click. Pada pemrograman sistem kendali perangkat listrik ini penulis menggunakan komponen bantuan bernama jnpout32.dll. Fungsi komponen tersebut adalah untuk membuka dan membaca isi sebuah port. Gambar 4.7 Source Code Jnpout32 100 Gambar 4.7 merupakan sebuah procedure untuk membaca dan menulis di port parallel. Function Out32 digunakan untuk menulis port, sedangkan untuk membaca port menggunakan function Inp32. Adapun source code dan gambar tampilan bisa dilihat pada Gambar 4.8 – 4.10. Gambar 4.8 Source Code Control ON Gambar 4.8 merupakan sebuah procedure untuk menyalakan perangkat listrik. Disini digunakan function switch-case untuk pengambilan keputusan karena pemilihan dilakukan satu demi satu berdasarkan nilai case. Pada baris 57, jumlah case adalah sesuai dengan jumlah port data register pada port paralel, sedangkan value dari tiap case adalah nilai bit dari tiap port paralel. Untuk proses ke port paralel digunakan function 101 Out32 seperti pada baris 68 dimana didalamnya sudah dipilih port address dan value dari port paralelnya. Gambar 4.9 Source Code Control OFF Gambar 4.9 merupakan sebuah procedure untuk mematikan perangkat listrik. Disini digunakan function switch-case untuk pengambilan keputusan karena pemilihan dilakukan satu demi satu berdasarkan nilai case. Pada baris 78, jumlah case adalah sesuai dengan jumlah port data register pada port paralel, sedangkan value dari tiap case adalah nilai bit dari tiap port paralel selain nilai bit on. Untuk proses ke port paralel digunakan function Out32 seperti pada baris 89 dimana didalamnya sudah dipilih port address dan value dari port paralelnya. 102 Gambar 4.10 Form Menu Device Control 4. Form Menu Timer Setting Menu ini berisi tentang pengatur waktu otomatis kendali perangkat listrik, yaitu mematikan atau menghidupkan perangkat listrik secara otomatis berdasarkan waktu yang diinputkan pada checkbox dengan format jam:menit. Adapun acuan waktu yang digunakan dasar menghidupkan atau mematikan perangkat listrik adalah waktu yang ada pada komputer. Adapun source code dan gambar tampilan bisa dilihat pada Gambar 4.11 – 4.12. 103 Gambar 4.11 Source Code Timer Setting Gambar 4.11 merupakan sebuah procedure untuk mengatur waktu kendali otomatis menggunakan chexbox. Pada baris 120 adalah proses update jika chexbox selected bernilai true, maka sistem akan mengupdate nilai timer di dalam database. Gambar 4.12 Form Menu Timer Setting 104 5. Form Menu Phone Connection Menu ini berisi tentang koneksi handphone server dengan komputer. Halaman ini juga berisi tentang spesifikasi handphone server, phone setting dan histori pesan sehingga admin dapat mengetahui semua request SMS ke handphone server. Spesifiksi penjelasannya bisa dilihat pada Tabel 4.2. Tabel 4.2 Spesifikasi Handphone Spesifikasi Signal Baterai Manufacture Model IMEII SIM IMSI Fungsi Untuk mengetahui kapasitas sinyal Untuk mengetahui kapasitas baterai Untuk mengetahui pabrikan HP Untuk mengetahui model HP Untuk mengetahui nomor IMEII Untuk mengetahui nomer identitas kartu SIM Adapun source code dan gambar tampilan bisa dilihat pada Gambar 4.13 – 4.14. Gambar 4.13 Source Code Phone Connection 105 Gambar 4.13 merupakan procedure untuk mengaktifkan koneksi antara handphone server dengan komputer. Disini menggunakan function ifelse. Seperti pada baris 398, jika a = start service maka ia akan memanggil procedure SMSReadService yaitu sebuah procedure untuk mengolah program sms. Jika a = stop service maka ia akan mengentikan procedure SMSReadService sehingga program sms pun tidak aktif. Gambar 4.14 Form Menu Phone Connection 6. Form Menu Device Information Menu ini berisi tentang input data informasi perangkat listrik yang dapat dikendalikan. Jadi dari sinilah user bisa mengetahui nama dan lokasi perangkat yang dikendalikan. Sistem dari setting informasi perangkat ini adalah update. 106 Adapun sourcecode dan gambar tampilan bisa dilihat pada Gambar 4.15 – 4.16. Gambar 4.15 Source Code Device Information Gambar 4.15 merupakan sebuah procedure untuk mengupdate informasi perangkat yang digunakan. Proses update sendiri berada pada baris 85 dimana ketika update berhasil atau tidak, akan muncul peringatan menggunakan jOptionPane.showMessageDialog seperti pada baris 90 dan 92. 107 Gambar 4.16 Form Menu Device Information 7. Form Menu User Admin Setting Menu ini berisi tentang input data admin dan data user. a. User Setting User setting merupakan from yang digunakan untuk pendaftaran user melalui admin. User setting berisi id, nama, no hp, dan no pin. Halaman ini juga terdapat tabel yang berisi data-data user. 108 Gambar 4.17 Source Code User Setting Gambar 4.17 merupakan sebuah procedure untuk menambah data user. Proses tambah data sendiri berada pada baris 85 dimana ketika insert berhasil atau tidak, akan muncul peringatan menggunakan jOptionPane.showMessageDialog seperti pada baris 90 dan 92. b. Admin Setting Admin setting merupakan form yang digunakan admin untuk mengganti username dan password. Sistem kerja program ini adalah pertama admin menginputkan username dan password yang lama dan baru. Jika username dan atau password lama tidak sesuai dengan database maka proses update ditolak dan akan muncul pesan username atau password salah. Tetapi jika sesuai secara otomatis program akan mengupdate data admin. 109 Gambar 4.18 Source Code Admin Setting Gambar 4.18 merupakan procedure untuk mengupdate data admin berupa pergantian username dan password. Pada baris 137 terdapat function if untuk mengecek validasi username dan password yang lama. Jika validasi benar maka akan dilanjutkan ke proses update pada baris 145. Jika validasi salah maka akan kembali ke halaman user admin lagi. 110 Gambar 4.19 Form Menu User Admin Setting 4.1.5 Implementasi Pemograman SMS Dalam pemrograman SMS ini penulis menggunakan komponen bantuan bernama SMSLib. Fungsi dari komponen ini adalah untuk menghubungkan perangkat komputer dengan handphone server. Sub bab ini membahas tentang proses implementasi pemrograman SMS. Berdasarkan sistem kerjanya pemrograman SMS dapat dijelaskan dalam tiga bagian: 1. Kapitalisasi Isi SMS Dalam pemrograman SMS, SMS yang dapat diolah adalah jika isi SMS semuanya huruf kapital. Untuk menangani hal ini, maka dalam pemrograman SMS kali ini, sebelum isi SMS dipecah dan diolah. Maka isi SMS harus dibuat huruf kapital. Dengan cara isi SMS di-uppercase, sehingga meskipun user mengirim SMS dengan huruf kecil, isi SMS akan menjadi huruf besar semua. 111 2. Pemecahan SMS Sebelum SMS diolah sesuai formatnya, maka isi SMS perlu dipecah agar mengetahui mana yang command, value, atau pin. Adapun format pemecahan SMS yang penulis buat adalah sebagai berikut: (command value pin) Sehingga tanda pembeda SMS adalah spasi. Adapun source code pemecahan SMS yang penulis buat adalah seperti Gambar 4.20. Gambar 4.20 Source Code Pemecahan SMS Pada Gambar 4.20, baris 349 merupakan proses pemecahan sms menggunakan spasi. ‘hasil’ merupakan isi sms masuk yang terdapat di dalam database. 112 Selanjutnya digunakan function if-else untuk proses penyeleksian isi sms. Pada baris 352 merupakan function if untuk kode1, dimana kode1 merupakan kata pertama di dalam sms masuk dan digunakan sebagai command. Kode2 merupakan kata kedua dan digunakan sebagai value, kode3 merupakan kata ketiga dan digunakan sebagai pin. 3. Penanganan Command SMS Setelah tahap pemotongan SMS, proses berikutnya adalah penanganan isi SMS, SMS yang bisa dilayani adalah isi SMS yang sesuai format, sehingga jika format tidak sesuai, akan ada konfirmasi balasan bahwa format SMS salah. Sistem penanganan request SMS pada dasarnya terbagi menjadi dua, yaitu SMS yang menginstruksikan pengendalian perangkat, dan yang kedua adalah request SMS yang sifatnya hanya mengecek atau meminta informasi. Jika request SMS berisi pengendalian perangkat, maka sistem akan menginstruksikan perangkat untuk mati atau hidup, setelah itu baru membalas SMS. Sedangkan untuk request SMS yang hanya untuk mengetahui informasi, sistem hanya mengecek database, lalu mengirim SMS balasan. 113 Gambar 4.21 Source Code Command SMS Gambar 4.21 merupakan procedure untuk menangani perintah sms yang dikirim. Baris 383 merupakan function if untuk validasi nomor pin, lalu baris 384 adalah function if untuk validasi command SMS dan dilanjutkan baris 386 function if untuk value SMS. Ketika semua validitas bernilai true, sistem akan melakukan update ke dalam database dan akan mengirim SMS konfirmasi sesuai dengan perintah yang dikirim. 4.2 Pengujian Sistem 4.2.1 Pengujian Software Tujuan pengujian software adalah mengetahui apakah sistem pada perangkat lunak sebagai otak pengendalian bekerja sesuai dengan perencanaan. 114 Prosedur pengujian 1. Menghubungkan kabel HP server ke komputer. 2. Menjalankan program kendali perangkat listrik. 3. Mengkoneksikan HP server dengan komputer, dengan cara menekan tombol “Start Service” pada menu phone setting. 4. Mendaftarkan no pengirim pada menu user admin setting. 5. Mengirim SMS dengan format “ON1 NOW PIN”. 6. Mencatat reaksi indikator perangkat 1 pada menu sistem kendali, dan SMS balasan dari HP server. 7. Mengirim SMS ke HP server lagi dengan catatan no HP belum didaftarkan, dengan format “ON2 NOW PIN”. 8. Mencatat reaksi indikator perangkat 2 pada menu sistem kendali, dan SMS balasan dari HP server. 4.2.2 Pengujian Hardware Tujuan pengujian hardware adalah mengetahui apakah hardware bekerja sesuai dengan perencanaan. Dalam pengujiannya hardware harus dihubungkan dengan software. Sehingga dengan demikian pengujian hardware merupakan pengujian sistem secara keseluruhan. Prosedur pengujian 1. Menghubungkan kabel HP server ke komputer. 2. Menghubungkan konektor DB25 pada komputer. 3. Menghubungkan kabel catu daya pada stok kontak listrik. 115 4. Menjalankan program kendali perangkat listrik. 5. Mengkoneksikan HP server dengan komputer, dengan cara menekan tombol “Start Service” pada menu phone setting. 6. Mendaftarkan no pengirim pada menu user admin setting. 7. Mengirim SMS dengan format “ON3 NOW PIN”. 8. Mencatat reaksi indikator perangkat 3 pada menu sistem kendali, dan SMS balasan dari HP server. 9. Mencatat reaksi lampu indikator perangkat 3 pada hardware. 4.3 Hasil Uji Coba Sistem 4.3.1 Hasil Uji Coba Software Pengendalian sistem secara keseluruhan berpusat pada software pada komputer. Dengan kata lain software sebagai otak sistem pengendalian, sedangkan hardware hanyalah kaki atau tangan yang menerima instruksi dari software. Hasil pengujian software kali ini dilakukan dengan mengirim SMS ke HP server dengan format “ON1 NOW 1234”. Dengan catatan no pengirim telah terdaftar pada tabel user. Maka pada form program indikator perangkat1 menjadi hidup seperti pada Gambar 4.22. 116 Gambar 4.22 Indikator Perangkat 1 Pada Program Gambar 4.23 Isi SMS Konfirmasi Perangkat 1 Pada percobaan kedua user mengirimkan format SMS “ON2 NOW 1234” dan nomor HP pengirim belum didaftarkan pada tabel user. Sehingga tampilan program dapat dilihat pada Gambar 4.24. 117 Gambar 4.24 Indikator Perangkat 2 Pada Program Gambar 4.25 Isi SMS Konfirmasi Perangkat 2 Tabel 4.3 Hasil Pengujian Software Format SMS ON1 NOW 1234 (No HP Terdaftar) ON2 NOW 1234 (No HP Belum Terdaftar) Keadaan Lampu Indikator Perangkat 1 : ON Perangkat 2 : OFF SMS Balasan Perangkat 1 dihidupkan. Maaf, Anda terdaftar. telah belum 118 4.3.2 Hasil Uji Coba Hardware Pengujian dengan mengirimkan SMS ke HP server dengan format “ON3 NOW 1234”, hasil pengujian dapat dilihat pada Gambar 4.26 – 4.28 dan Tabel 4.4. Gambar 4.26 Indikator Perangkat 3 Pada Program Gambar 4.27 Isi SMS Konfirmasi Perangkat 3 119 Gambar 4.28 Keadaan Lampu 3 Pada Hardware Tabel 4.4 Hasil Pengujian Sistem Secara Keseluruhan Format SMS Lampu Indikator ON3 NOW 1234 Perangkat 3 : ON Lampu Hardware Lampu 3 : ON SMS Balasan Perangkat 3 telah dihidupkan. 120 BAB V KESIMPULAN 5.1 Kesimpulan Kesimpulan yang diperoleh dari penyusunan skripsi mengenai Sistem Kendali Perangkat Listrik Menggunakan Media SMS yaitu: 1. Berdasarkan hasil analisa pada port paralel bahwa port tersebut terdapat pin – pin yang dapat digunakan untuk keperluan lainnya seperti mengontrol perangkat listrik. 2. Dengan menggunakan peralatan elektronik yang dibangun, parallel port dapat menyalakan atau mematikan peralatan elektronik lainnya dengan cara mengirim sinyal untuk mengaktifkan relay. 3. Penerapan sistem kendali perangkat listrik ini memberikan efektifitas untuk mengontrol peralatan elektronik tanpa menuju skalar manual sehingga kita dapat meminimal waktu dan biaya yang dikeluarkan. 4. Pemanfaatan fasilitas SMS pada telepon seluler bisa kita gunakan sebagai alat kendali selain sebagai fasilitas komunikasi. 5.2 Saran Beberapa saran pengembangan lebih lanjut yang dapat diberikan oleh penulis adalah : 121 1. Karena pembangkit listrik telepon seluler adalah dari baterai yang tidak dapat bertahan lama, sebaiknya telepon seluler diganti dengan modem GSM. 2. Dapat dikembangkan menggunakan mikrocontroller dan port usb agar dapat mengontrol lebih banyak lampu dan peralatan listrik lainnya. 122 DAFTAR PUSTAKA Budiharto, Widodo. (2004). Interfacing Komputer dan Mikrokontroler. Jakarta: Elex Media Komputindo Iswanto. (2008). Antarmuka Port Paralel dan Port Serial. Yogyakarta: Gava Media Nugroho, Adi. (2005). Analisis dan Perancangan Sistem Informasi Dengan Metodologi Berbasis Objek. Bandung : Informatika Nugroho, Bunafit. (2004). Pemrograman MySQL. Jakarta: Erlangga Rickyanto, Isak. (2003). Dasar Pemrograman Berorientasi Objek Dengan Java 2. Yogyakarta: Andi Pressman, Roger S. (2002). Rekayasa Perangkat Lunak, Praktisi (Buku I), Yogyakarta: Andi Sudono, Agus. (2004). Memanfaatkan Port Printer Komputer Menggunakan Delphi. Yogyakarta: Presisi Offset Susanto, Azhar. (2007). Sistem Informasi Manajemen. Bandung: Lingga Jaya Wahana Komputer. (2008). Membuat Aplikasi Database Dengan Java dan MySQL. Jakarta: Salemba Infotek Wahana Komputer. (2005). Pengembangan Aplikasi Sistem Informasi Akademik Berbasis SMS dengan JAVA. Jakarta: Salemba Infotek LAMPIRAN Gambar Hardware Beserta Lampu Gambar Komponen Hardware Gambar Handphone Server