Pengolahan Data Keluaran DTMF (Dual Tone Multi Frequency) Decoder Untuk Mengendalikan Peralatan Listrik

(1)

PERALATAN LISTRIK

SKRIPSI

GITA ATIKA FAUZY

041401038

PROGRAM STUDI S-1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2009

Gita Atika Fauzy : Pengolahan Data Keluaran Dtmf (Dual Tone Multi Frequency) Decoder Untuk Mengendalikan Peralatan Listrik, 2009


(2)

PERSETUJUAN

Judul : PENGOLAHAN DATA KELUARAN DTMF (DUAL

TONE MULTI FREQUENCY) DECODER UNTUK MENGENDALIKAN PERALATAN LISTRIK Kategori : SKRIPSI

Nama : GITA ATIKA FAUZY

Nomor Induk Mahasiswa : 041401038

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 2009

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Umar Saleh T, ST Prof. Dr. Muhammad Zarlis

NIP. 131 757 011 NIP. 131 570 434

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Prof. Dr. Muhammad Zarlis NIP 131 570 434


(3)

PERNYATAAN

PENGOLAHAN DATA KELUARAN DTMF (DUAL TONE MULTI

FREQUENCY) DECODER UNTUK MENGENDALIKAN PERALATAN LISTRIK

SKRIPSI

Penulis mengakui bahwa skripsi ini adalah hasil karya penulis sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Februari 2009

Gita Atika Fauzy 041401038


(4)

PENGHARGAAN

Alhamdulillah wa syukrilah, puji syukur penulis panjatkan kehadirat Allah SWT, yang telah memberikan rahmat, ridho-Ny, iman dan Islam serta segala sesuatunya dalam hidup, sehingga penulis dapat menyelesaikan penyusunan Skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Universitas Sumatera Utara. Shalawat dan Salam penulis hadiahkan kepada Nabi Besar Muhammad SAW.

Ucapan terima kasih yang sebesar-besarnya penulis sampaikan kepada Bapak Prof.Dr. Muhammad Zarlis sebagai Dosen Pembimbing I dan Bapak M. Umar Saleh T, ST. sebagai Dosen Pembimbing II atas bimbingan, saran, masukan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan tugas ini. Selanjutnya kepada para Dosen Penguji Bapak Ir. Arman Sani, MIT dan Bapak Syariol Sitorus, S.Si., MIT atas saran dan kritikan yang sangat berguna bagi Penulis. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si., MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi Ilmu Komputer FMIPA USU, pegawai di FMIPA USU.

Seluruh proses pengerjaan Skripsi ini tidak akan dapat dilalui tanpa dukungan kedua Orang Tua dan Keluarga. Skripsi ini penulis persembahkan untuk Mama Hj.Elidar dan Papa, Ir. Fauzy R, yang telah memberikan segalanya dalam hidup, dan juga untuk kedua adik penulis yaitu Fadly dan Aya. Semoga Allah SWT akan membalasnya. Kepada Bang Aan dan teman-teman sekelas KomA atas kelapangan waktu yang diberikan kepada penulis untuk berbagi ilmu. Selanjutnya buat sahabat-sahabat terbaik, Cacha Simanjuntak, terimakasih atas motivasi dan perhatiannya, BigSto berserta para pengawalnya, Fosma kampunk ESQ 165, Generasi 8 SMUP Al-Azhar, serta kepada para ayah bunda yang penulis hormati layaknya orang tua sendiri. Terimakasih pula kepada semua pihak-pihak yang tidak dapat penulis sebutkan satu persatu, terima kasih atas ide, saran, dan kerjasama yang baik.

Penulis menyadari bahwa laporan ini masih jauh dari kesempurnaan, karena kesempurnaan hanya milik Allah kekurangan adalah milik penulis. Oleh karena itu Penulis menerima saran dan kritik yang bersifat membangun demi kesempurnaan laporan ini. Semoga dapat bermanfaat bagi kita semuanya.


(5)

ABSTRAK

Maraknya penggunaan telepon dan handphone yang kini tidak lagi dianggap sebagai barang mewah mendasari dibuatnya skripsi ini. Kajian ini bertujuan untuk membangun suatu sistem yang berfungsi untuk memonitoring serta mengendalikan peralatan listrik yang terhubung dengan komputer dari jarak jauh dengan memanfaatkan tone pada telepon berbasis DTMF dan memonitoring dengan memanfaatkan jasa SMS. Sistem ini dibangun menggunakan perangkat lunak Borland Delphi 7.0 interfacing Paralel port. Tahapan yang penulis lakukan untuk melakukan proses pembentukan sistem tersebut meliputi tahapan analisis permasalahan dan kebutuhan perangkat lunak serta perangkat keras, perancangan aplikasi dan desain antar muka aplikasi, sehingga aplikasi yang terbentuk menjadi mudah dipergunakan dan memiliki fungsi yang optimal.


(6)

PROCESSING OUTPUT OF DTMF (DUAL TONE MULTI FREQUENCY) DECODER TO CONTROL PERALATAN LISTRIK

ABSTRACT

The increasing of telephone and hand phone usage isn’t as luxurious goods anymore. It provides the bases of this thesis. This study has a purpose to develop a system which is functioning to monitor and control the electricity equipment which is connected by the computer and can be controlled from long distance by using the tone of the phone based on DTMF and monitoring by using SMS service. This system was built by using Borland Delphi 7.0 interfacing with parallel port. The step that the writer does to make the system include the problem analysis process, software needs, application planning and design interface so that the application can be used and had an optimal function.


(7)

DAFTAR ISI

Halaman

HALAMAN PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR ix

Bab 1 PENDAHULUAN 1.1Latar Belakang 1

1.2Perumusan Masalah 3

1.3Batasan Masalah 3

1.4Tujuan 4

1.5Ruang Lingkup 4

1.6Metodologi Penelitian 5

1.7Sistematika Penulisan 6

Bab 2 DASAR TEORI 2.1 Komunikasi Data 8

2.2 Sistem Pengendali 10

2.3 Sistem Monitoring 10

2.4 Teknologi Telepon 10

2.4.1 DTMF Decoder 10

2.4.2 MT8870 DTMF Receiver/Decoder 12

2.5 SMS (Short Message Service) Report 14

2.5.1 SMS Gateway Gammu 15

2.5.2 Oxygen SMS 17 2.6 Interfacing Parallel Port 17 2.6.1 Parallel Port 17

2.6.2 Alamat Parallel Port 22 2.6.3 Register-Register Port Parallel 22 2.6.4 Interfacing Parallel 23

2.6.4.1 Interfacing Murni 23

2.6.4.2 Interfacing dengan Komponen Bantuan 24

2.7 Pengujian perangkat Lunak 25

2.7.1 Pengujian Cacat 25

2.7.1.1 Pengujian Kotak Hitam 26

2.7.1.2 Pengujian Struktural 26

2.7.1.3 Pengujian Jalur 27

2.7.2 Pengujian Integrasi 27


(8)

Bab 3 ANALISIS SISTEM

3.1 Blok Diagram Perangkat Keras 28 3.2 Rangkaian Power Supply Adaptor (PSA) 29 3.3 Rangkaian DTMF Dekoder 30

3.4 Rangkaian Driver Lampu 32

3.5 Analisis Sistem 33

3.5.1 Tujuan Sitem 33

3.5.2 Identifikasi Sistem 33

3.5.3 Kebutuhan Perangkat Lunak 33

3.5.4 Alur Kerja Sistem 34

3.6 Menu Pilihan 36

3.7 Proses Penyampaian Data DTMF Dekoder ke Paralel Port 36

3.8 Proses Penyampaian Data Lampu 38

3.9 Proses Pemilihan Data 38

3.9.1 Pendefinisian Data DTMF 39

3.9.2 Pendefinisian Nilai Status Lampu 41

3.9.2.1 Lampu 1 42

3.9.2.2 Lampu 2 42

3.10 Proses Penghidupan Lampu 43

3.10.1 Proses Menghidupkan Lampu 1 45

3.10.2 Proses Menghidupkan Lampu 2 46

3.11 Proses Pemadaman Lampu 47

3.11.1 Proses Pemadaman Lampu 1 48

3.11.2 Proses Pemadaman Lampu 2 50

3.12 Proses Pengiriman Pesan 50

3.13 Proses Pemeriksaan Data Masuk 51

Bab 4 IMPLEMENTASI DAN UJI COBA SISTEM

4.1 Implementasi Perangkat Lunak sistem 53 4.2 Pengujian Data 54

4.3 Pengujian Perangkat Lunak Sistem 55

4.3.1 Halaman Menu Utama Aplikasi 56

4.3.2 Pengendalian Manual 56

4.3.3 Pengendalian Otomatis 58

4.3.4 Pengujian Setting 60

4.4 Pengujian Perangkat keras Sistem 63

4.4.1 Pengujian Penerimaan Data DTMF 63

4.4.2 Pengujian Penghidupan Lampu 64

4.4.3 Pengujian Pemadaman Lampu 65

4.4.4 Pengujian Penerimaan Laporan 65

Bab 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 67


(9)

DAFTAR PUSTAKA 69

LAMPIRAN A : Rincian Rangkaian 70

LAMPIRAN B : Perhitungan Perbandingan Penggunaan Sistem Kendali

Jarak Jauh, Photocell dan Kendali Manual. 72

LAMPIRAN C : Flowchart Sistem 75

LAMPIRAN D : Listing Program 81


(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Daftar Frekuensi dari Tombol 11

Tabel 2.2 Daftar Keluaran Hasil Dekode Sinyal IC MT8870 13

Tabel 2.3 Daftar Pin Parallel Port 20

Tabel 2.4 Alamat Parallel Port PC 22

Tabel 3.1 Menu pada Tombol 36

Tabel 3.2 Rangkaian Output DTMF Dekoder 37

Tabel 3.3 Port Status dengan Input DTMF = 1 38

Tabel 3.4 Port Status 39

Tabel 3.5 Rangkaian Proses Operasi Logika AND pada Register Status 40 Tabel 3.6 Ilustrasi Umum Proses Pemadaman Lampu pada Register Data 43 Tabel 3.7 Ilustrasi Proses Penghidupan Lampu pada Register Data 45

Tabel 3.8 Proses Pemadaman Lampu 47

Tabel 3.9 Gambaran Proses Ketika Lampu 2 Menyala 49 Tabel 3.10 Gambaran Nilai Saat Memadamkan Lampu 49 Tabel 3.11 Ilustrasi Keadaan Register Data Saat Kedua Lampu Menyala 49 Tabel 3.12 Ilustrasi Proses Operasi AND pada Register Data 50

Tabel 4.1 Konversi Nilai pada Sistem 54

Tabel 4.2 Hasil Pengujian Kendali Manual 57

Tabel 4.3 Hasil Pengujian Kendali Otomatis/Jarak Jauh 59

Tabel 4.4 Hasil pengujian Ubah nomor Tujuan 62


(11)

DAFTAR GAMBAR

Halaman

Gambar 1.1 Diagram Alir Prosedur Penelitian 6

Gambar 2.1 Gambaran Kerja Sistem 9

Gambar 2.2 Pena-pena MT8870 13

Gambar 2.3 Port Paralel DB 25 20

Gambar 2.4 Register pada Port Paralel 23

Gambar 2.5 UserPort.sys 24

Gambar 2.6 Pengujian Kotak Hitam 26

Gambar 3.1 Blok Diagram 28

Gambar 3.2 Rangkaian Power Supply (PSA) 30

Gambar 3.3 Rangkaian DTMF Dekoder 31

Gambar 3.4 Rangkaian Driver Lampu 32

Gambar 3.5 Diagram Alur Sistem 35

Gambar 3.6 Default Port Status 37

Gambar 3.7 Hubungan antara DTMF, DB-25 dan Handphone 39 Gambar 3.8 Diagram Alur Proses Pendefinisian nilai DTMF 41

Gambar 3.9 Alur Proses Penghidupan Lampu 44

Gambar 3.10 Alur Proses Pemadaman Lampu 48

Gambar 4.1 Halaman Utama Menu 56

Gambar 4.2 Halaman Kendali Manual 57

Gambar 4.3 Keterangan Status Koneksi Handphone-Komputer 58

Gambar 4.4 Halaman Edit Nomor Tujuan 60

Gambar 4.5 Klarifikasi Nomor Tujuan 61

Gambar 4.6 Pemberitahuan Keberhasilan 61

Gambar 4.7 Nomor Telah Berubah 61

Gambar 4.8 Pemberitahuan Kesalahan 62

Gambar 4.9 LED Pembacaan DTMF 63

Gambar 4.10 Lampu Hidup 64

Gambar 4.11 Memadamkan Lampu 65


(12)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi komunikasi dan komputer yang semakin hari semakin bertambah pesat mendorong manusia untuk melakukan aktifitasnya dengan cara-cara yang termudah, praktis, murah dan efisien. Salah satu teknologi hasil penggabungan kedua teknologi komunikasi dan komputer tersebut yaitu dengan adanya telepon/handphone yang dimiliki oleh hampir seluruh masyarakat. Penggunaan handphone sebagai media komunikasi sudah umum dijumpai dalam masyarakat. Terlebih, kini handphone tidak lagi dianggap sebagai barang mewah di kalangan masyarakat. Selain sebagai media komunikasi, teknologi yang berada dalam ruang lingkup teknik telekomunikasi ini dapat pula diaplikasikan sebagai suatu media yang dapat mempermudah aktivitas sehari-hari. Salah satunya adalah sebagai pengendali jarak jauh pemakaian listrik di rumah terhadap perangkat-perangkat elektronik.

Sistem pengendalian merupakan salah satu contoh pemaksimalan kegunaan teknologi komunikasi di bidang teknologi dan industri. Contoh nyatanya adalah ketika seseorang hendak berpergian jauh meninggalkan rumah dalam keadaan kosong. Tentu saja untuk menjaga keamanan rumah, orang tersebut harus terus membiarkan lampu rumah dalam keadaan menyala. Hal tersebut merupakan suatu pemborosan. Contoh lain adalah ketika seseorang sedang dalam perjalanan, untuk memastikan apakah orang tersebut benar telah mematikan ataupun menghidupkan perangkat elektronik lain ketika menginggalkan rumah, itu berarti orang yang bersangkutan harus memutar haluan, kembali ke rumahnya untuk memastikan apakah perangkat elektroniknya hidup atau padam. Jika harus kembali ke rumah, pastilah merepotkan dan mengakibatkan kerugian dalam banyak hal, terlebih-lebih waktu.


(13)

Penggunaan lampu dengan menggunakan photocell saat ini mulai dijadikan alternatif pilihan untuk mengatasi permasalahan tersebut. Photocell dapat dianalogikan sebagai sebuah saklar terhadap sebuah lampu. Jika saklar dioperasikan secara manual, maka photocell sendiri beroperasi menggunakan sinar matahari sebagai takarannya. Ketika sinar matahari redup, maka secara otomatis lampu akan hidup, dan ketika sinar matahari kembali cerah, maka lampu akan secara otomatis padam. Penggunaan photocell saat ini sudah sering dijumpai, terutama pada lampu penerangan jalan raya.

Biaya yang murah dan penggunaannya yang efisien dan praktis menjadikan photocell mulai digemari bukan hanya pada instansi besar, namun juga digunakan secara indivudual. Namun photocell ini tidak memungkinkan user untuk mengontrol lampu, karena photocell hanya lah sebuah alat yang menggunakan komponen LDR (Light Dependent Resistor) yang merupakan resistor yang bekerja berdasarkan intensitas cahaya, yang berarti sistem kerja photocell diatur oleh cahaya. Sebagai alternatif pengganti photocell, dapat digunakan cara lain, yaitu dengan pemanfaatan sinyal DTMF (Dual Tone Multi Frequency) yang terdapat pada telepon. Telepon maupun handphone saat ini jelas lebih memasyarakat penggunaannya dibandingkan dengan solar cell, handphone yang bayak digunakan saat ini menggunakan sistem yang dikenal secara umum disebut dengan DTMF. DTMF merupakan sinyal informasi berupa nada pada frekuensi tertentu yang dikirim oleh satu handphone ke handphone lain. Tone yang dibangkitkan dapat dikodekan menggunakan DTMF decoder yang menghasilkan data keluaran 4 bit.

Data keluaran DTMF Decoder dapat dimanfaatkan sebagai sarana untuk mengendalikan peralatan listrik. Dengan kata lain, dapat digunakan sebagai solusi alternatif untuk mengatasi permasalahan seperti yang telah dicontohkan sebelumnya. Walaupun penggunaannya dianggap tidak seefisien penggunaan lampu dengan energi matahari, namun penggunaan energi matahari tidak memungkinkan pengguna untuk mengontrol hidup matinya lampu dari jarak jauh kapan saja, dan dimana saja. Oleh karena itu, melalui keberadaan DTMF decoder, handphone dapat dimanfaatkan sebagai sarana pengendali peralatan listrik dari jarak jauh.


(14)

1.2 Perumusan Masalah

Berdasarkan latar belakang permasalahan, maka dapat dibuat rumusan masalah yaitu bagaimana mengendalikan perangkat elektronik dari jarak jauh dengan memanfaatkan data hasil keluaran DTMF (Dual Tone Multi Frequency) dekoder serta mengetahui status perangkat tersebut melalui SMS (Short Message Service) dari jarak jauh melalui handphone.

1.3. Pembatasan Masalah

Dalam pengembangan dan pembuatan sistem, akan ditemui berbagai kemungkinan permasalahan. Untuk menjaga agar pembahasan tidak menyimpang dari tujuan skripsi dan lebih terarah, diberikan batasan pembuatan sistem sebagai berikut:

a. Diasumsikan pengguna sistem telah memiliki buku pedoman pilihan menu sistem beserta pedoman penggunaan sistem.

b. Input sistem berupa nada yang dihasilkan dari menekanan tombol menu melalui tombol handphone pengguna.

c. Sistem reply/ report disampaikan melalui peran singkat/ sms.

d. Reply atau report status ditujukan hanya kepada satu nomor tujuan tertentu yang telah ditentukan oleh pengguna sistem.

e. Sms hanya sebagai pesan status perangkat.

f. Perangkat elektronik yang digunakan sebagai contoh peraga adalah 2 (dua) buah bola lampu.

g. Tidak menggunakan suara operator sebagai guide dalam pemakaian.

h. Pembahasan ditekankan pada pengolahan data hasil keluaran DTMF decoder. i. Tidak membahas mengenai bagaimana cara DTMF dekoder bekerja,

bagaimana MT8870 menghasilkan data keluaran serta rangkaian yang mendukungnya

j. Hanya menggunakan dua operator logika, yaitu AND dan OR dalam proses menghidupkan dan memadamkan lampu


(15)

1.4.Tujuan

Secara umum penelitian ini memiliki tujuan untuk memperoleh suatu sistem yang dapat memudahkan pengguna untuk memonitoring status perangkat elektronik serta mengendalikan on-off peralatan tersebut menggunakan telepon seluler melalui fasilitas SMS.

1.5 Ruang Lingkup

Sesuai dengan rumusan masalah, maka ruang lingkup permasalahan adalah sebagai berikut:

1. Sistem yang dibangun disimulasikan dengan 2 (dua) buah bola lampu, dan dapat dikembangkan sesuai dengan kebutuhan.

2. Fitur utama:

1. Pengontrolan perangkat elektronik, meliputi:

a. Menghidupkan lampu

b. Memadamkan lampu

2. Penyampaian status setelah selesai melakukan perintah hidup-matikan lampu kepada pemberi perintah/ penelpon.

3. Perintah mengirimkan status kepada user akhir.


(16)

Penelitian yang akan dilakukan nantinya direncanakan ke dalam langkah-langkah secara sistematis. Penelitian ini dilakukan dengan beberapa tahapan, yaitu:

a. Studi Literatur. Penulisan ini dimulai dengan studi kepustakaan yaitu mengumpulkan bahan-bahan referensi baik dari buku, artikel, paper, jurnal, makalah, maupun situs internet mengenai penggunaan DTMF Dekoder, interfacing parallel port dan konsep matematis yang mendasarinya serta pemrograman untuk pambuatan aplikasinya, dan beberapa referensi lainnya untuk menunjang pencapaian tujuan tugas akhir.

b. Analisis masalah. Pada tahap ini akan dilakukan analisis permasalahan dan kebutuhan sistem serta pemodelannya.

c. Perancangan Sistem. Pada tahap ini dilakukan perancangan arsitektur perangkat keras dilanjutkan dengan perancangan perangkat lunak, perancangan interface.

d. Pengkodean. Pada tahap ini sistem yang telah dirancang kemudian diimplementasikan kedalam bahasa pemrograman.

e. Pengujian. Pada tahap ini dilakukan pengujian program dan mencari kesalahan pada program hingga program itu dapat berjalan seperti yang diharapkan.

f. Penyusunan laporan dan kesimpulan akhir. Menyusun laporan hasil analisis dan perancangan ke dalam format penulisan tugas akhir dengan disertai kesimpulan akhir.


(17)

MULAI

Studi Literatur

Analisis masalah

Implementasi dan pengujian Perancangan sistem

Hasil OK ?

SELESAI

YA TIDAK Pengkodean

Gambar 1.1 Diagram alir prosedur penelitian

1.7 Sistematika Penulisan

Dalam penulisan ini, penulis membuat suatu sistematika yang bertujuan untuk menggambarkan secara ringkas bab-bab yang mencakup hal-hal sebagai berikut:


(18)

BAB I PENDAHULUAN

Bab pendahuluan ini berisikan mengenai latar belakang penulisan, identifikasi masalah, pembatasan masalah tentang apa yang akan diberikan dalam penulisan, maksud dan tujuan dari penulisan, metode penelitian apa yang digunakan serta sistematika penulisan.

BAB II DASAR TEORI

Bab ini menjelaskan tentang tinjauan teoritis yang meliputi uraian singkat mengenai Sms gateway, MYSQL dan Interfacing port parallel. Serta pengertian DTMF Decoder dan komunikasi data.

BAB III ANALISIS SISTEM

Bab III memaparkan mengenai analisis pengolahan yang meliputi analisis pengolahan data yang dihasilkan oleh DTMF dekoder sehingga dapat berfungsi sesuai dengan tujuannya, yaitu memonitoring lampu.

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Berisi batasan implementasi perangkat lunak serta berisi tentang pengujian perangkat lunak dengan menggunakan metode black-box..

.

BAB V PENUTUP

Berisi kesimpulan dari Skripsi dan saran-saran untuk pengembangan perangkat lunak lebih lanjut.


(19)

BAB 2

DASAR TEORI

2.1 Komunikasi Data

Komunikasi dapat diartikan sebagai cara untuk menyampaikan ataupun menyebarluaskan informasi, data, pikiran dalam berbagai bentuk. Komunikasi data berhubungan erat dengan pengiriman data menggunakan sistem transmisi elektronik dari satu komputer ke komputer lain, ataupun dari satu terminal ke terminal lain. Dalam mengkomunikasikan data dari satu lokasi ke lokasi lain, diperlukan 3 (tiga) elemen utama sistem, yaitu sumber data, media transmisi dan penerima. Jika salah satu elemen tidak tersedia, maka proses komunikasi data tidak dapat dilakukan.

Berikut ini merupakan alasan mengapa komunikasi data sangat dibutuhkan:

a. Perbedaan lokasi antara lokasi transaksi dengan lokasi pengolahan data, sehingga data perlu dikirimkan ke lokasi yang membutuhkan informasi dari data tersebut b. Lebih efisien dari segi waktu dan biaya jika mengirim data melalui jalur

komunikasi komputerisasi

c. Memungkinkan pengembangan sistem komputer secara relatif lebih mudah dan menyebabkan sistem menjadi lebih fleksibel

d. Terjadinya distributed pocessing pada jaringan, sehingga dapat mencegah ketergantungan pada sumber komunikasi atau komputer pusat

Pada sistem yang akan dibangun, transmisi data terbagi atas dua, yaitu proses penerimaan data berupa penyampaian perintah ke perangkat yang dikontrol dan yang kedua adalah pengiriman data yang berupa laporan dari perangkat yang dikontrol kepada user. Gambaran kerja sistem dijelaskan pada Gambar 2.1.


(20)

Gambar 2.1 Gambaran Kerja Sistem

Gambar 2.1 menjelaskan bahwa dalam proses pengiriman perintah, handphone pengirim melakukan panggilan kepada handphone penerima. Setelah tersambung, pengguna menekan tombol menu yang dikehendakinya. Tombol yang ditekan pengguna menghasilkan nada yang memiliki frekuensi tertentu. Frekuensi tersebutlah yang kemudian diteruskan handphone kepada DTMF decoder. Oleh DTMF decoder, frekuensi tersebut dikodekan menjadi data biner 4 (empat) bit. Data yang dihasilkan diteruskan ke PC/Laptop melalui interfacing port parallel. Data tersebut masuk sebagai input parallel port untuk selanjutnya diproses dalam program pada sistem. Data hasil proses ditransmisikan kembali keluar melewati port paralel sebagai output menuju perangkat yang akan dikendalikan. Data biner keluaran dari paralel port tersebut berisikan dua kemungkinan, yakni hidup atau mati.

Sedangkan untuk proses pengiriman data balasan ke pemberi perintah, dilakukan pengambilan data dari port paralel, dan kemudian data tersebut diproses di dalam pemrograman untuk selanjutnya dikirimkan dengan sms service ke handphone tujuan.


(21)

Sistem pengendali atau control system adalah interkoneksi komponen-komponen yang dapat mengatur fungsi kerja sistem lain (http://en.wikipedia.org/ wiki/Control_system).

2.3 Sistem Monitoring

Sistem monitoring dapat diartikan sebagai suatu sistem yang berfungsi untuk mengawasi kinerja suatu sistem lain. ( http://www.allwords.com/word-performance+monitoring+system.html).

2.4 Teknologi Telepon

Kata telepon berasal dari bahasa Yunani yaitu “Tele” yang berarti Jauh dan “Phone” yang berarti suara. Dalam pengertian masa kini telepon (telephony) meliputi konversi dari sinyal suara menjadi sinyal-sinyal listrik frekuensi audio yang kemudian dipancarkan melalui suatu sistem transmisi listrik, dan akhirnya dikonversikan kembali menjadi sinyal-sinyal tekanan suara pada ujung penerima.

Bila dilihat dari sistem signallingnya, maka pesawat telepon terdiri atas :

a. Pesawat telepon jenis pulsa dekade (decadic – pulse) b. Pesawat telepon jenis DTMF (dual tone multi frequency)

2.4.1 DTMF Decoder

DTMF merupakan metode pensinyalan yang digunakan untuk memutar nomor telepon pilihan oleh sebagian besar telepon.


(22)

DTMF decoder berfungsi untuk mengubah sinyal DTMF ke data biner sehingga dapat digunakan oleh microcontroller ataupun rangkaian-rangkaian digital untuk diolah lebih lanjut.

Untuk mengawali suatu panggilan telepon, perlu dilakukan penekanan tombol-tombol angka sesuai dengan nomor tujuan yang diinginkan. Setiap penekanan akan membangkitkan nada. Nada-nada tersebutlah yang dikenal dengan sebutan DTMF. DTMF decoder adalah sebuah alat yang menterjemahkan sinyal DTMF. Sehingga dengan menggunakan DTMF decoder ini dapat diketahui nomor yang dipilih ataupun ditekan penelepon.

Dalam sistem yang akan dibangun, setiap nomor yang dipilih penelepon berisikan instruksi yang berbeda-beda terhadap perangkat-perangkat elektronik yang terhubung. Tombol tersebut bersifat sama seperti menu dalam sistem. Tiap tombol yang ditekan akan membangkitkan dua nada (tone) yang berfrekuensi tinggi dan rendah. Nada yang dihasilkan berbeda-beda di tiap tombol, sehingga begitu juga dengan frekuensinya. Ketika dilakukan sambungan telepon dan telepon telah tersambung, kedua sinyal tersebut dikirimkan ke penerima. Kedua sinyal tersebut kemudian diuraikan (decoding) menjadi digit biner 4bit. Dengan cara ini lah penerima dapat mendeteksi nomor-nomor yang ditekan oleh penelepon. Pengkodean terhadap tombol tersebut dapat dilakukan berdasarkan Tabel 2.1.

Tabel 2.1 Daftar Frekuensi dari Tombol Frekwensi Tinggi

(High Frequencies)

1209 Hz 1336 Hz 1477 Hz 1633 Hz

679 Hz 1 2 3 A 770 Hz 4 5 6 B 852 Hz 7 8 9 C

Frekwensi Rendah

(Low Frequencies

)


(23)

Dari Tabel 2.1 diatas dapat di baca bahwa setiap penekanan tombol di pesawat telepon akan membangkitkan dua nada (tone) yaitu nada berfrekwensi tinggi dan satu nada berfrekwensi rendah. Kedua sinyal tersebut dikirimkan ke telepon seluler penerima. Dengan cara melakukan penguraian (decoding) terhadap kedua sinyal tadi, maka penerima dapat mengetahui tombol-tombol apa saja yang ditekan oleh lawan bicaranya. Sifat inilah yang akan dimanfaatkan untuk membangun sistem pengendali perangkat elektronik jarak jauh.

2.4.2 MT8870 DTMF Receiver/Decoder

Dalam Skripsi ini DTMF yang digunakan adalah seri MT8870. MT8870 merupakan DTMF penerima yang menggunakan tehnik perhitungan digital untuk mendeteksi dan mengkodekan 16 pasang nada DTMF menjadi sebuah output kode 4 (empat) bit.

MT8870 memiliki beberapa fitur, antara lain : 1. Bekerja pada tegangan 2.5 v ~5.5 v

2. Komponen tambahan yang dibutuhkan sedikit 3. Kinerja yang baik

Pena-pena IC MT8870 dapat dilihat pada Gambar 2.2 dan kaluaran hasil dekode sinyal IC MT 8870 dapat dilihat pada Tabel 2.2.


(24)

Gambar 2.2 Pena-Pena MT8870

(http://pdf1.alldatasheet.com/datasheet-pdf/view/77085/MITEL/MT8870.html)

Tabel 2.2 Daftar Keluaran Hasil Dekode sinyal IC MT8770 Digit TOE NH ESt Q4 Q3 Q2 Q1

ANY L X H Z Z Z Z

1 H X H 0 0 0 1

2 H X H 0 0 1 0

3 H X H 0 0 1 1

4 H X H 0 1 0 0

5 H X H 0 1 0 1

6 H X H 0 1 1 0

7 H X H 0 1 1 1

8 H X H 1 0 0 0

9 H X H 1 0 0 1

0 H X H 1 0 1 0

* H X H 1 0 1 1

# H X H 1 1 0 0

A H L H 1 1 0 1 B H L H 1 1 1 0 C H L H 1 1 1 1 D H L H 0 0 0 0


(25)

Tabel 2.2 (lanjutan)

Digit TOE NH ESt Q4 Q3 Q2 Q1

A H H L

B H H L

C H H L

D H H L

Output Tidak Terdeteksi

Keterangan:

H = Logika High L = Logika Low X = tidak diperhatikan Z = Impedansi Tinggi 1 = Logika 1 standar TTL 0 = Logika 0 Standar TTL

2.5 SMS (Short message Service) Report.

Sms (Short Message Service) atau layanan pesan singkat mempunyai sejarah tersendiri sebagai media layanan yang meledak abad ini. Untuk mempermudah penyebutannya, selanjutnya kita akan menyebutnya sebagai sms saja. Awalnya sms berfungsi untuk memberikan layanan pengiriman pesan teks singkat antar perangkat mobile phone (telepon genggam/ telepon seluler/ telepon bergerak). Sms sebetulnya hanya layanan tambahan terhadap layanan utama dari telepon seluler, yakni layanan voice dalam sistem komunikasi GSM (Global system for Mobile Communications).

Sms gateway adalah penghubung antara program aplikasi yang akan dibuat dengan jaringan GSM. Hal ini berfungsi untuk pengiriman sms report kepada user. Fungsi-fungsi pendukung sms Gateway yang biasanya digunakan, sudah disediakan oleh unit tools yang digunakan.


(26)

Sms saat ini tidak hanya berfungsi sebagai media penyampaian pesan saja, namun juga mulai melebarkan kemampuannya dengan kemampuan interaksinya untuk melakukan berbagai fungsi lain. Secara singkat, selain sebagai media layanan penyampaian pesan singkat, sms secara umum telah dikembangkan untuk:

a. Sistem Pemilihan (polling) dan Jajak Pendapat (Voting)

Jajak pendapat yang diadakan oleh suatu media atau organisasi terhadap suatu permasalahan tertentu dapat dilakukan menggunakan aplikasi sms

b. Program Affinity

Merupakan jenis layanan yang pada awalnya merupakan kerja sama dari operator network dengan perusahaan-perusahaan yang memiliki pelanggan cukup besar, seperti perusahaan TV, radio, perusahaan penerbangan atau bank. Aplikasi sms dapat dikembangkan untuk memberikan pelayanan kepada pelanggan melalui pengiriman pesan

c. Mobile Banking.

Merupakan salah satu jenis program affinity untuk layanan perusahaan perbankan. Layanan ini memberikan kemudahan kepada pelanggan nasabah sebuah bank dalam bertransakasi melalui rekeningnya

d. Remote monitoring

Layanan ini dibangun untuk memantau kinerja suatu perangkat atau mesin dalam suatu perusahaan, seperti mesin dalam suatu pabrik, seperti mesin penggiling, mesin uap, dan lain-lain. Layanan ini dibangun dengan aplikasi yang dapat melaporkan keadaan suatu alat, maka ketika diinginkan saat itu juga aplikasi akan mengirimkan pesan pemberitahuan melalui sms ke telepon seluler administrator. Layanan ini akan memudahkan pekerja untuk memantau kinerja suatu peralatan tanpa harus selalu menunggu di depan alat yang di pantau

e. Dan banyak lagi pengembangan lainnya

2.5.1 Sms Gateway Gammu

Sms gateway merupakan gerbang pertukaran informasi dengan menggunakan sms. Banyak tools sms gateway yang beredar, salah satunya adalah Gammu. Gammu


(27)

bukanlah sebuah aplikasi, melainkan sebagai salah satu modul sms gateway yang dapat digabungkan dengan bahasa pemrograman apa saja.

Berikut ini beberapa kelebihan dari GAMMU:

a. Dapat dijalankan baik di Operating System (OS) Windows maupun LINUX based. b. Mendukung banyak perangkat yang cocok/sesuai, baik itu HP maupun GSM

Modem

c. Menggunakan mysql database, yang tentunya juga open-source

d. Interface untuk aplikasi, bisa menggunakan client-server maupun web-based (PHP,ASP,ASP.Net maupun J2EE)

e. Kabel data yang digunakan baik USB maupun Serial dapat digunakan

Arsitektur yang akan digunakan dalam implementasi aplikasi yang akan dibuat adalah arsitektur stand alone. Arsitektur ini membutuhkan empat hardware yaitu dua buah handphone, sebuah kabel data dan sebuah PC ataupun laptop.

a. PC/Laptop

PC/Laptop disini digunakan untuk meletakkan aplikasi sms gateway dan juga sebagai sms centre

b. Handphone-1 (Sender)

Handphone pertama digunakan sebagai pemberi perintah berupa panggilan ke handphone-2 atau yang disebut dengan receiver

c. Handphone-2 (Receiver)

Digunakan sebagai pengirim sms report ke handphone-1 d. Kabel data

Handphone dihubungkan ke PC secara fixed line (wired), dengan menggunakan kabel data

Pada perencanaan program, sms gateway gammu akan digunakan sebagai tools sms gateway. Namun dalam pelaksanaannya, ditemukan banyak kendala dalam penggunaannya. Oleh karena itu, digunakan tools lain yang dianggap lebih stabil penggunaannya dan juga lebih sederhana, yaitu OxygenSMS.


(28)

2.5.2 OxygenSMS

TOxygenSMS adalah komponen ShareWare yang berfungsi lebih spesifik lagi, yaitu menghubungkan perangkat komputer dan perangkat GSM Nokia tm. shareWare berarti komponen itu gratis untuk dicoba, tapi wajib membayar jika hendak digunakan secara komersial, dapat berfungsi penuh dan tambahan fitur lainnya, tapi ada beberapa bagian properti yang tidak dapat dirubah.

TOxygenSMS penggunaanya lebih mudah dibandingkan komponen yang lain. TOxygenSMS lebih mudah diprogram untuk manajemen sms, sayangnya hanya mendukung handset Nokia saja. TOxygenSMS tidak membentuk database sendiri, berbeda dengan gammu yang membentuk database sendiri sepaket dengan Gammu. Oleh karena itu, aplikasi yang akan dibangun tidak lagi menggunakan database MySQL seperti perencanaan awal, sehingga lebih sedikit memakan memori komputer.

2.6Interfacing Parallel Port

Interfacing merupakan suatu cara kita menghubungkan komputer dengan piranti lain di luar komputer. Komputer dimanfaatkan sebagai pusat kendali untuk mengendalikan piranti diluarnya. Misal: mengendalikan motor, led, lampu, dan komputer juga dapat dimanfaatkan sebagai masukan dari sensor-sensor, saklar dan piranti input lain.

( Widodo, 2007, hal: 45)

2.6.1 Parallel Port

Parallel port adalah antarmuka suatu dari sistem komputer yang berfungsi mentransfer data secara paralel. Parallel port biasanya digunakan untuk menghubungkan komputer dengan printer.


(29)

Parallel adalah sistem pengiriman data digital, dimana beberapa bit data dikirim sekaligus pada satu waktu dengan menggunakan jalur terpisah. Jadi port paralel adalah salah satu jenis soket pada personal komputer untuk berkomunikasi dengan peralatan luar untuk mengirim data digital seperti printer model lama. Oleh 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 percobaan-percobaan sederhana dalam perancangan peralatan elektronika.

Komputer XT/AT buatan IBM atau yang kompatibel pada umumnya menggunakan dua jenis port untuk komunikasi antara komputer dengan dunia luar, port tersebut adalah port paralel dan port serial. Di katakan port paralel karena data yang dikirim atau diterima pada port tersebut dilakukan dengan sistem paralel (serentak), sedangkan pada port serial data dikirim maupun diterima dengan sistem serial (bergantian). Kedua sistem tersebut memiliki kekurangan dan kelebihan masing- masing. Pada port paralel, data yang ditransmisikan memiliki kecepatan yang tinggi, namun dibutuhkan satu kabel per bitnya, sehingga transmisi data menjadi mahal. Sedangkan pada sistem serial data di transmisikan secara bergantian, sehingga lebih lambat dari sistem paralel. Namun biaya menjadi lebih murah karena hanya membutuhkan satu kabel untuk transmisi datanya.

Port Parallel ini terdiri dari 3(tiga) jalur, yaitu: a. Jalur Kontrol

b. 5 Jalur Status c. 8 Jalur Data

Paralel port, distandarisasi oleh standart IEEE 1284 pada tahun 1994. standart ini membedakan 5(lima) model operasi sebagai berikut:

1. Compatible mode 2. Nibble mode 3. Byte mode 4. EPP mode


(30)

5. Ecp mode

Tujuan standarisasi ini adalah untuk mendisain driver dan perlatan yang baru sehingga kompatibel dengan peralatan lainnya dan standard parallel port sebelumnya (SPP) yang diluncurkan pada tahun 1981.

Mode Kompatibel (Compatible mode), Nibble, dan Byte digunakan sebagai standard perangkat keras yang tersedia di port parallel original. Sedangkan untuk EPP dan ECP membutuhkan tambahan hardware sehingga mampu bekerja dengan kecepatan tinggi.

Compatible mode hanya dapat mengirim data dari komputer yang mempunyai kecepatan berkisar antara 80kbyte per detik. Agar komputer dapat menerima suatu data, nibble mode atau byte mode harus diterapkan. Nibble mode dapat menerima data sepanjang 1(satu) nibble (4bit), sementara Byte mode dapat menerima data sepanjang 1byte (8bit).

Sesuai dengan standard IEEE 1284 ada tiga jenis parallel port yang bisa digunakan: 1 1284 Tipe A adalah konektor DB-25 yang banyak dijumpai pada

komputer-komputer saat ini

2 1284 Tipe B adalah konektor Centronics 34 Pin yang banyak dijumpai pada printer

3 1284 Tipe C adalah konektor 36 Pin yang mirip dengan Centronics namun lebih kecil. Konektor ini diklaim memiliki pengunci (Latch) jenis klip (Clip), sifat elektrik yang lebih baik dan mudah dirakit. Juga mengandung pin tambahan yang dapat digunakan untuk mendeteksi apakah piranti yang terpasang memiliki daya atau tidak

I/O jenis paralel memanfaatkan LPT port/ printer port, secara fisik berupa DB25-female/betina. Melalui LPT port, dapat dikontrol 12 output dan 5 (lima) input. Gambar 2.3 adalah gambar konektor port paralel DB-25 yang banyak digunakan pada komputer.


(31)

Gambar 2.3. Port Paralel DB 25

Keterangan gambar:

1. Secara umum LPT port terbagi menjadi tiga saluran:

a. Saluran Data: pin 2 sampai pin 9. Bersifat sebagai output b. Saluran Status: pin 15, 13, 12, 10 dan 11. Bersifat sebagai input c. Saluran Control/kendali: pin 1, 14, 16 dan 17

2. Pin nomor 18 sampai dengan 25 terhubung ke ground (body) 3. Pin 1, 11, 14 dan 17 bersifat aktif rendah

Secara umum LPT port terbagi atas tiga saluran. Untuk melakukan interfacing, maka terlebih dahulu harus diketahui alamat dari ketiga saluran tersebut. Masing-masing pin dari parallel port mempunyai fungsi seperti yang diperlihatkan pada Tabel 2.3.

Tabel 2.3 Daftar pin parallel port Nomor Pin

(DB25)

Sinyal SPP Arah Register Sifat

1 nStrobe In/out PC0 Inverting

2 Data 0 Out Data Normal

3 Data 1 Out Data Normal

4 Data 2 Out Data Normal

5 Data 3 Out Data Normal

6 Data 4 Out Data Normal

7 Data 5 Out Data Normal


(32)

Tabel 2.3 (lanjutan) Nomor Pin

(DB25)

Sinyal SPP Arah Register Sifat

9 Data 7 Out Data Normal

10 ACK In Data Normal

11 nBusy In PS7 Inverting

12 Paper-out/ paper-end

In PS5 Normal

13 Select In PS4 Normal

14 nAuto-linefeed

In/out PC1 Inverting

15 Error In PS3 Normal

16 Initialize /

Reset

In/out PC2 Normal

17 nSelect-in /

select printer

In/out PC3 Inverting

18 - 25 Ground Gnd

Tabel 2.3 diatas menggunakan huruf ‘n” di depan nama sinyal untuk menyatakan bahwa sinyal tersebut bersifat aktif rendah (active low).

Semua keluaran pada data port berlogika sebenarnya yaitu menuliskan logika 1(satu) ke salah satu bit pada data Port menyebabkan logika 1(satu) pada bit yang bersangkutan. Namun demikian, keluaran–keluaran /SELECT_IN, /AUTO FEED, dan /STROBE pada control port berlogika inversi (kebalikan). Artinya, penulisan logika 1(satu) ke salah satu bit pada control port menyebabkan logika 0(nol) pada bit yang bersangkutan. Untuk bit–bit yang menggunakan logika inversi, hal ini harus diperhatikan agar tidak mengacaukan maksudnya. Untuk itu, bit yang akan dikirimkan tersebut dapat dibalik dengan cara menggunakan fungsi EX–OR (Exclusive OR) sebelum operasi penulisan.


(33)

2.6.2 Alamat Parallel Port

Untuk dapat menggunakan port parallel, harus terlebih dahulu diketahui alamatnya. BIOS yang akan mengatur pengalamatannya. Alamat basis (base address) untuk LPT1 adalah 888 (378h) dan LPT2 biasanya 632 (278h). LPT1 ditempatkan pada alamat dasar 378h, sedangkan LPT2 pada alamat 278h. 378h dan 278h adalah alamat yang selalu digunakan untuk parallel port. (Iswanto, 2008, hal:35)

Setelah diketahui alamat dari port parallel, maka untuk kemudian dapat diketahui alamat dari data port, status port dan port control. Alamat data port merupakan alamat dari port parallel tersebut, dengan kata lain, alamat dari port parallel sama dengan alamat data port. Untuk alamat dari status port merupakan penaikan 1 (satu) angka dari data port, dan untuk control port beralamatkan hasil penaikan satu angka dari status port, ataupun penaikan 2 (dua) angka dari data port. (Iswanto, 2008 hal 35). Gambaran lebih jelas mengenai pengalamatan port diperlihatkan pada Tabel 2.4.

Tabel 2.4 Alamat parallel port PC Nama port Alamat register LPT1 Data 378h/888 LPT1 Status 379h/889 LPT1 Control 37Ah/890

2.6.3 Register-Register Port Paralel

Ketiga port pada port paralel, yaitu port data, port status, dan port kontrol, memiliki register perangkat lunak yang masing-masing berukuran 8 bit. Parallel port memiliki 5 pin masukan dan 8 pin keluaran. Input data menggunakan saluran Status port parallel, dan data keluaran dari parallel port disalurkan melalui saluran data. Susunan bit-bit pada register untuk masing-masing port dapat dilihat pada Gambar 2.4.


(34)

Port Data (alamat 0x378):

D7 D6 D5 D4 D3 D2 D1 D0 Data 7 Data 6 Data 5 Data 4 Data 3 Data 2 Data 1 Data 0

Port Status (alamat 0x379):

~S7 S6 S5 S4 S3 - - -

~Busy Ack PE Select Error - - -

Port Kontrol (alamat 0x37A):

- - - - ~C3 C2 ~C1 ~C0

- - - - ~Select in

Init ~AutoFeed ~Strobe

Gambar 2.4 Register pada Port Paralel

Keterangan : Tanda ~ di depan nama sinyal atau bit berarti bahwa sinyal atau bit yang bersangkutan bersifat aktif rendah

2.6.4 Interfacing Parallel

Interfacing parallel dengan perangkat lunak yang digunakan dapat dibagi menjadi dua jenis, yaitu interfacing murni dan interfacing dengan komponen bantuan.

2.6.4.1Interfacing Murni

Interfacing murni berarti interfacing tanpa menggunakan komponen bantuan. Interfacing jenis ini dilakukan dengan menyisipkan kode assembly kedalam perintah Pascal. Namun ironinya interfacing jenis ini hanya dapat dilakukan jika sistem operasi yang digunakan adalah Windows 9x dan Windows Me. Jika menggunakan Windows 2000, NT dan XP maka diperlukan suatu driver untuk membuka port parallel pada


(35)

sistem operasi tersebut. Hal ini dikarenakan Microsoft telah menutup akses I/O port untuk alasan keamanannya.

Bagi pengguna sistem operasi Windows 2000, NT dan XP tetap dapat melakukan interfacing murni dengan menggunakan driver tambahan. Salah satu driver yang dapat digunakan adalah driver ‘User Port’ yang dibuat oleh Thomas Franzon dan menginstalnya terlebih dahulu. Dengan menggunakan User Port pengguna dapat menambahkan dan mengurangi alamat port yang akan digunakan. Tampilan untuk merubah alamat port dari program ’User Port ’adalah seperti Gambar 2.5.

Gambar 2.5 User Port.sys

Pada awalnya aplikasi yang dibangun menggunakan interfacing murni dengan user port, namun karena banyaknya kesalahan error interfacing dalam penggunaannya, maka kemudian sistem dibangun dengan menggunakan komponen bantuan.

2.6.4.2Interfacing dengan Menggunakan Komponen Bantuan

Interfacing dengan komponen bantuan berarti tidak diperlukan lagi penyisipan bahasa assembly pada kode pascal yang akan dibuat. Banyak jenis komponen bantuan yang dapat digunakan sebagai interfacing dengan port parallel, diantaranya adalah


(36)

komponen SmallPort dan HWinterface. Dengan menggunakan komponen tersebut, programmer tidak perlu lagi menyisipkan kode assembly ataupun menggunakan UserPort untuk mengolah port parallel. Berikut sedikit penjelasan mengenai kedua komponen tersebut:

1. SmallPort

Small Port dibuat oleh Alexander Weitzman dan bebas untuk digunakan. 2. HWinterface

Hwinterface merupakan komponen lain yang dapat digunakan selain SmallPort. HWintrface juga bebas digunakan.

Aplikasi yang akan dibuat menggunakan komponen HWinterface sebagai interfacing dengan port parallel.

2.7 Pengujian Perangkat Lunak

Menurut Pressman, pengujian sistem adalah sederetan pengujian yang berbeda yang tujuan utamanya adalah sepenuhnya mempergunakan sistem berbasis komputer. Sedangkan menurut Kruse, uji coba atau testing adalah proses menjalankan suatu program dengan data yang telah dipilih untuk mencari kesalahan jika memang ada.

2.7.1 Pengujian Cacat

Tujuan pengujian cacat (defect testing) adalah mengungkap cacat laten pada sistem perangkat lunak sebelum sistem diserahkan kepada user. Hal ini berlawanan dengan pengujian validasi yang ditujukan untuk mendemonstrasikan bahwa sistem telah memenuhi spesifikasinya. Pengujian validasi menuntut sistem berlaku dengan benar dengan menggunakan kasus uji penerimaan. Uji cacat yang berhasil merupakan uji yang menyebabkan sistem berlaku tidak benar dan dengan demikian mengungkap adanya cacat. Hal ini menekankan fakta penting mengenai pengujian. Pengujian menunjukkan keberadaan, bukan tidak adanya ataupun kesalahan program.


(37)

2.7.1.1 Pengujian Kotak Hitam

Pengujian fungsional atau pengujian kotak hitam (black-box testing) merupakan pendekatan pengujian yang ujinya diturunkan dari spesifikasi program atau komponen. Sistem merupakan kotak hitam yang perilakunya hanya dapat ditentukan dengan mempelajari input dan output yang berkaitan. Nama lain untuk cara ini adalah pengujian fungsional karena penguji hanya berkepentingan dengan fungsionalitas dan bukan implementasi perangkat lunak. (Summervilee, 2003, hal:87)

Gambar 2.6 Pengujian Kotak Hitam

Gambar 2.6 mengilustrasikan model sistem yang diasumsikan pada pengujian kotak hitam. Pendekatan ini dapat juga diterapkan pada sistem yang disusun sebagai fungsi atau objek. Jika output bukan merupakan yang diramalkan berarti uji tersebut telah berhasil mendeteksi masalah dengan perangkat lunak tersebut.

2.7.1.2Pengujian Struktural

Pengujian struktural merupakan pendekatan terhadap pengujian yang diturunkan dari pengetahuan struktur dan implementasi perangkat lunak. Pendekatan ini kadang-kadang disebut pengujian ‘kotak putih (white-box testing)’, pengujian kotak kaca atau


(38)

pengujian kotak jernih untuk membedakannya dari pengujian kotak hitam. (Summerville, 2003 hal:91)

Pengujian struktural biasanya diterapkan untuk unit program yang relatif kecil. Sebagaimana ditunjukkan oleh namanya, penguji dapat menganalisis kode dan menggunakan pengetahuan mengenai struktur komponen untuk menurunkan data uji. Analisis kode dapat digunakan untuk menemukan berapa kasus uji yang dibutuhkan untuk menjamin bahwa semua statement pada program paling tidak diuji satu kali pada proses pengujian.

2.7.1.3Pengujian Jalur

Pengujian jalur (path testing) adalah strategi pengujian struktural yang bertujuan untuk melatih setiap jalur eksekusi independent melalui komponen atau program. Jika setiap jalur independen dieksekusi, maka semua statement pada komponen harus dieksekusi paling tidak satu kali. Lebih jauh lagi, semua statement kondisional diuji untuk kasus true dan false. (Summerville, 2003 hal:93)

2.7.2 Pengujian Integrasi

Begitu komponen telah teruji, dilanjutkan dengan integrasi untuk membentuk sistem parsial atau lengkap. Pengujian integrasi harus dikembangkan dari spesifikasi sitem. Pengujian integrasi memiliki beberapa strategi pengujian, diantaranya adalah pengujian top-down, pengujian bottom-up, pengujian interface dan pengujian stress.

Presman mengatakan validasi dapat ditentukan dengan berbagai cara, tetapi definisi yang sederhana adalah “bahwa validasi berhasil bila perangkat lunak berfungsi dengan cara yang dapat diharapkan secara bertanggung jawab oleh pelanggan. Validasi perangkat lunak dicapai melalui sederatan pengujian Black-Box yang memperlihatkan komformitas dengan persyaratan. (Summerville, 2003 hal:95)


(39)

BAB 3

ANALISIS SISTEM

3.1Blok Diagram Sistem

Pada tahap awal perancangan sistem yang dilakukan adalah perancangan diagram blok. Blok diagram merupakan penyederhanaan dari rangkaian yang menyatakan hubungan berurutan dari satu atau lebih rangkaian yang memiliki kesatuan kerja tersendiri. Blok diagram sistem ditunjukkan pada Gambar 3.1 .

OxygenSMS

Userport.DLL

Gambar 3.1 Blok Diagram DTMF

SMS Kabel Data

Port Serial

Kabel Headset

Port Paralel Rangkaian

DTMF

Decoder 4 Bit biner

Rangkaian Driver

Lampu Pijar Rangkaian

Sensor Hp Client Hp Server


(40)

Gambar 3.1 menjelaskan bahwa dalam proses pengiriman perintah, hp pengirim atau hp server menghubungi hp penerima atau yang disebut hp client, saat hp client telah terhubung ke hp server, maka komunikasi dapat dilakukan, demikian pula dengan komunikasi nada DTMF (Dual Tone Multi Frequency). Bagian yang akan dibahas dalam Skripsi ini adalah bagian yang ditandai dengan garis merah.

Penekanan salah satu tombol pada hp client akan menghasilkan nada DTMF, nada DTMF ini akan terkirim ke hp server yang akan diteruskan ke rangkaian DTMF decoder yang terhubung melalui kabel headset. Nada DTMF yang berisikan frekwensi tertentu tersebut akan diterjemahkan oleh rangkaian DTMF decoder menjadi data biner 4 (empat) bit. Data yang dihasilkan diteruskan ke PC/laptop melalui port paralel. Data tersebut masuk sebagai input pada port paralel untuk selanjutnya diproses dalam program pada sistem, sehingga PC/laptop dapat mengakses nilai pada input port paralel tersebut. Nilai yang didapatkan dari port paralel akan diolah oleh program untuk menentukan tindakan selanjutnya, yaitu menghidupkan atau mematikan lampu tertentu yang terkoneksi ke PC tersebut. Sistem ini menggunakan MT8870 sebagai DTMF decoder.

Sedangkan untuk proses pengiriman data balasan ke user, maka lampu dihubungkan dengan rangkaian sensor. Output rangkaian sensor dihubungkan ke input port paralel, sehingga program yang dirancang akan mengetahui status lampu. Selanjutnya program akan dikoneksikan dengan OxygenSMS untuk mengirimkan SMS ke hp client.

3.2 Rangkaian Power Supply Adaptor (PSA)

Agar rangkaian dapat bekerja, maka dibutuhkan sumber tegangan. Pada perancangan ini dibutuhkan 3 sumber tegangan yang berbeda, yaitu (+) 5 volt DC, (+) 12 volt DC dan (–) 12 volt DC. Tegangan (+) 5 volt DC digunakan untuk mensupplay tegangan ke IC DTMF decoder, keluaran (+) 12 volt digunakan untuk mensupplay tegangan positip Op-Amp dan relay, sedangkan keluaran (-) 12 volt untuk mensupplay tegangan negatip Op-Amp. Rangkaian tampak seperti Gambar 3.2.


(41)

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 18 volt AC. Kemudian 18 volt AC akan disearahkan dengan menggunakan dioda, selanjutnya 18 volt DC akan diratakan oleh kapasitor 2200 F. Untuk menghasilkan tegangan (+) 5 volt DC digunakan Regulator tegangan 5 volt (LM7805CT). Untuk menghasilkan tegangan (+) 12 volt DC digunakan Regulator tegangan 12 volt (LM7812CT) dan untuk menghasilkan tegangan (-) 12 volt DC digunakan Regulator tegangan - 12 volt (LM7912CT).

3.3Rangkaian DTMF Dekoder.

Untuk menangkap tombol apa yang ditekan oleh penelepon maka peranti pertama yang harus disediakan adalah peranti yang bertugas mendeteksi sinyal apa yang dikirimkan. Jika sinyal yang dikirimkan adalah sinyal hasil penekanan tombol telepon maka dapat digunakan Tabel 2.1 untuk melakukan pendekode-an. Untuk itu diperlukan sebuah rangkaian elektronik yang mendapat masukan dari kabel headset dan keluaran bilangan hasil pendekodean sinyal tersebut.


(42)

Paralel port hanya mengenal data digital (high atau low), sedangkan nada DTMF merupakan sinyal analog, untuk merubah sinyal analog dari nada DTMF menjadi data digital digunakanlah rangkaian DTMF dekoder. IC MT8870 merupakan IC DTMF dekoder yang dirancang untuk keperluan tersebut. IC ini akan merubah sinyal analog dari nada DTMF decoder menjadi 4 (empat) bit data biner. Rangkaian DTMF decoder ditunjukkan oleh Gambar 3.3.

Gambar 3.3 Rangkaian DTMF Dekoder.

Komponen utama dari rangkaian ini adalah IC MT8870. IC ini akan merubah nada DTMF yang ada menjadi 4 bit data biner. Jika nada yang diterima adalah nada dari penekanan keypad angka 1, maka output dari rangkaian ini adalah 0001. Jika yang diterima nada dari tombol 2, maka output dari rangkaian ini adalah 0010 dan demikian seterusnya.

Output dari rangkaian DTMF dekoder ini dihubungkan ke komputer melalui konektor DB 25, pada pin 15, 13 dan 12. Pin-pin tersebut merupakan pin input untuk port 379. sehingga komputer dapat mengenali data yang dikirimkan oleh rangkaian ini untuk kemudian diolah oleh komputer untuk melaksanakan instruksi selanjutnya.


(43)

3.4Rangkaian Driver Lampu

Port paralel tidak dapat mengendalikan lampu beban secara langsung, karena itu diperlukan rangkaian driver sebagai perantara antara lampu dengan port paralel. Rangkaian driver ini menggunakan sebuah transistor C945 dan relay, dimana keduanya merupakan saklar elektronik. Rangkaian Driver Lampu ditunjukkan pada Gambar 3.4.

Gambar 3.4 Rangkaian Driver Lampu

Rangkaian ini menggunakan konektor DB 25 yang merupakan konektor untuk paralel port. Konektor DB 25 ini langsung dihubungkan dengan rangkaian sensor arus dan dihubungkan ke rangkaian DTMF Dekoder. Namun, Gambar 3.4 diatas bukanlah gambar rangkaian untuk kedua bola lampu. Rangkian ini hanya digunakan untuk salah satu lampu saja. Perbedaan rangkaian terletak pada pin yang terhubung dengan port parallel, untuk lampu pasangannya digunakan pin-2 dan pin-11 sebagai penghubungnya.


(44)

3.5 Analisis Sistem

Analisis mengenai tujuan, identifikasi dan kebutuhan sistem kendali jarak jauh dijabarkan masing-masing pada poin-poin berikut:

3.5.1 Tujuan Sistem

Sistem ini bertujuan untuk memberikan kemudahan pengendalian peralatan elektronik dari jarak jauh, sehingga untuk suatu keadaan tertentu tidak dibutuhkan lagi tenaga manusia sebagai pengendali langsung. Selain itu sistem juga bertujuan untuk memberi informasi mengenai keadaan hidup atau tidaknya peralatan yang dikontrol dan mendapatkan jawaban laporan melalui fasilitas SMS (Short Message Service). Informasi tersebut dapat diakses dengan memanfaatkan nada DTMF pada telepon.

3.5.2 Identifikasi Sistem

Sistem memiliki kemampuan – kemampuan sebagai berikut : 1. Dapat mengolah data keluaran DTMF dekoder.

2. Dapat mengirim suatu pesan SMS sebagai laporan.

3. Dapat memproses perintah yang masuk sesuai dengan pendefinisian kode yang telah ditentukan.

3.5.3 Kebutuhan Perangkat Lunak

Berdasarkan kebutuhan sistem secara umum, perangkat lunak yang akan dibangun harus memenuhi kebutuhan-kebutuhan sebagai berikut :

1. Mampu mengambil data yang dikirimkan oleh DTMF decoder. 2. Mampu mengeksekusi perintah sesuai dengan input yang diterima.

3. Mampu mengeksekusi perintah baru tanpa mengganggu keadaan sebelumnya. 4. Mampu memberikan laporan status peralatan melalui jasa SMS.


(45)

3.5.4 Alur Kerja Sistem

Secara garis besar, alur kerja program yang akan dibahas dapat dilihat pada Gambar 3.5, sedangkan alur kerja sistem secara keseluruhan dapat dilihat pada Lampiran C.

Gambar 3.5 hanya menjelaskan garis-garis besar proses yang dikerjakan oleh sistem. Proses yang digambarkan oleh diagram tersebut adalah ketika program dijalankan oleh user, maka saat itu juga program mulai melakukan proses pembacaan nilai DTMF. Selanjutnya program akan membaca nilai DTMF yang dikirim. Setelah diperoleh nilai DTMF, dilakukanlah proses perbandingan untuk mengatasi agar kegiatan yang sama tidak dilakukan berulang kali, hal ini dilakukan untuk mengatasi permasalahan DTMF dekoder yang bersifat latch. Setelah melakukan proses perbandingan antara nilai DTMF yang baru dengan yang lama, jika menghasilkan nilai yang sama, maka program kembali melakukan pembacaan nilai DTMF. Jika hasil operasi false, maka proses dilakukan dengan mencari data yang sesuai dengan looping if bersarang. Setelah menemukan kemungkinan yang sesuai, maka dilanjutkan dengan proses menghidup-matikan lampu serta pendefinisian status lampu yang terhubung. Proses menghidup-matikan lampu disini berisikan operasi logika. Setelah itu, semua proses dilanjutkan dengan pengiriman laporan status mengenai alat-alat yang terhubung. Selanjutnya program akan kembali ke proses pembacaan nilai DTMF hingga program dihentikan. Penjelasan mengenai proses-proses dan algoritma yang terjadi dalam masing-masing proses hidup-matikan lampu dijelaskan dengan rinci pada poin selanjutnya. Sedangkan diagram alir sistem secara keseluruhan dapat dilihat pada LampiranC.


(46)

(47)

3.6 Menu Pilihan

Pengguna aplikasi diasumsikan sudah mengetahui menu pilihan dari masing-masing tombol. Rincian masing-masing pilihan perintah yang diwakilkan oleh tombol pada handphone dijelaskan pada Tabel 3.1.

Tabel 3.1 Menu pada Tombol

No. tombol Perintah yang diwakili oleh tombol 1 Menghidupkan semua lampu

2 Menghidupkan lampu-1

3 Menghidupkan lampu-2

4 Mematikan lampu-1

5 Mematikan lampu-2

6 Meminta laporan status kedua lampu 7 Mematikan semua lampu

Karena dari 4 bit keluaran DTMF dekoder hanya digunakan 3 (tiga) bit pertama saja, maka jika user menekan tombol 8 akan sama dengan nilai 0 (nol), dan nilai tombol 9 akan sama dengan 1 (satu), 0 (nol) sama dengan 2 (dua), bintang sama dengan 3 dan pagar sama dengan 4.

3.7Proses Penyampaian Data DTMF Dekoder ke Paralel Port

Data 4 (empat) bit hasil keluaran DTMF dekoder, diteruskan ke port paralel sebagai input ke register status dengan alamat 379h. Namun tidak keseluruhan bit tersebut dipergunakan. Karena alat peraga hanya memakai dua buah lampu sehingga ragam instruksi yang digunakan hanyalah sedikit, yakni 7 (tujuh) perintah instruksi. Oleh karena itu, 3 (tiga) bit data biner dari DTMF dekoder sudah cukup untuk mewakili instruksi yang akan digunakan. Jadi, hanya 3 (tiga) bit data yang disampaikan ke register status pada port paralel. Seperti yang digambarkan oleh Tabel 3.2.


(48)

Tabel 3.2 Rangkaian Output DTMF decoder

D3 D2 D1 D0

- - - -

Dari gambar diatas tampak bahwa ada 4 (empat) bit data keluaran DTMF dekoder dan yang dihubungkan dengan port paralel dan digunakan sebagai input hanya 3 (tiga) bit pertama saja, yakni D0-D2. Ketiga bit data tersebut dihubungkan dengan pin ke 15, 13 dan 12 dari port paralel, seperti yang digambarkan pada Gambar3.3.

Data yang disampaikan ke paralel port sebagai input masuk ke register status. Data yang disampaikan oleh DTMF dekoder akan mengalami perubahan nilai ketika berada di register status. Hal ini dikarenakan ketika berada pada register status yang memiliki 8 (delapan) pin, 5 (lima) pin diantaranya memiliki nilai masing-masing, adanya 3 (tiga) pin yang tidak digunakan yang selalu bernilai logika 1 (nilai default) dan juga diakibatkan adanya inverting pada S7 ataupun bit kedelapan pada register status. Inverting berarti pin bersifat aktif rendah, dan setiap data yang masuk akan di iverskan, dengan kata lain, apabila data yang disampaikan ke S7 adalah 1 (satu), maka data tersebut akan di inverskan menjadi 0 (nol). Nilai default setiap pin ketika tidak digunakan adalah 1 (satu). Proses perubahan nilai tersebut dapat digambarkan seperti rangkaian Gambar 3.6.

Tabel Keadaan default port status

~S7 S6 S5 S4 S3 - - -

0 1 1 1 1 1 1 1

Data DTMF dekoder = S5,S4,S3

Gambar 3.6 Default Port Status

Selanjutnya keadaan register status ketika menerima data dari DTMF dekoder (misalkan data yang disampaikan adalah 0001) akan berubah menjadi seperti Tabel 3.3


(49)

Tabel 3.3 Port Status dengan Input DTMF = 1

~S7 S6 S5 S4 S3 - - -

0 1 0 0 1 1 1 1

Dari Tabel 3.3 diatas terlihat jelas bagaimana perbedaan antara nilai yang dikirim oleh DTMF dekoder dan yang terbaca pada port status (alamat 379). Nilai tersebut yang kemudian dibaca oleh perangkat lunak yang digunakan sebagai antarmukanya untuk mengetahui perintah ekseskusi selanjutnya.

3.8Proses Penyampaian Data Lampu

Data pada register status DB-25 tidaklah bersumber dari DTMF dekoder saja. Lampu yang dikendalikan juga berfungsi sebagai input bagi port paralel. Lampu yang terhubung ke port paralel DB-25 menyampaikan data ke register status secara kontinu. Data yang disampaikan ke port paralel masuk melalui pin 11 dan 10, yaitu ~S7 dan S6 pada register status, hal ini juga dapat dilihat lebih jelas pada Gambar 3.4.

3.9Proses Pemilihan Data

Sumber data pada DB-25 tidaklah berasal dari satu sumber saja, namun ada 2 (dua) sumber data, yakni DTMF dekoder dan lampu. Pembacaan data pada register status dilakukan secara bersamaan (bukan dari tiap-tiap pin), yang berarti bahwa data yang dikirimkan oleh lampu dan data yang dikirimkan oleh DTMF dekoder akan dibaca bersamaan dalam satu kesatuan waktu. Sumber data yang lebih dari satu menimbulkan permasalahan baru, yakni bagaimana cara membedakan apakah data yang masuk berupa data yang berasal dari DTMF dekoder atau dari perangkat elektronik yang dikontrol, dalam hal ini lampu.

Seperti yang telah dijelaskan diatas bahwa input port paralel dilakukan pada register status. Dalam hal ini, port paralel DB-25 tidak bersifat bi-directional. Sehingga masukan port paralel hanya bisa dilakukan pada register status, dan pin pada


(50)

register status digunakan untuk dua sumber data. Gambaran mengenai hubungan antara handphone, port paralel dan DTMF dekoder dijelaskan pada Gambar 3.7.

1 = port paralel 2 = DTMF decoder

3 = Handphone penerima panggilan = lampu

Gambar 3.7 Hubungan antara DTMF, DB-25 dan Handphone

Dari gambar diatas, dapat dilihat bahwa perangkat yang terkoneksi, dalam hal ini lampu tidak hanya menjadi perangkat yang diberikan data keluaran dari port paralel, namun juga sebagai sumber data bagi port paralel. Dengan menggunakan rancangan rangkaian tersebut, hanya memungkinkan untuk menghubungkan dua buah perangkat saja untuk dikendalikan /dikontrol.

Kemudian dalam pendefinisian data masukan, pendefinisian terbagi atas dua proses, yaitu pendefinisian mana data yang berasal dari DTMF dekoder, dan proses pendefinisian nilai data yang diberikan oleh lampu.

3.9.1 Pendefinisian Data DTMF

Untuk dapat memahami bagaimana proses ini terjadi, terlebih dahulu perlu diingat kembali mengenai tabel register status yang digambarkan pada Tabel 3.4.

Tabel 3.4 Port Status (alamat 379)

~S7 S6 S5 S4 S3 - - -


(51)

Ketika dalam rangkaian terbuka, atau tanpa pengaruh dari perangkat luar, register status bernilai 127, yang dalam biner adalah 01111111. Untuk mecari bagaimana cara memperoleh data hanya data DTMF saja, dicari satu operator dan operand yang dapat menghasilkan kemungkinan hanya S3, S4 dan S5 yang berpeluang bernilai logika 1 (satu). Maka digunakanlah operasi AND dan operand 56. Dengan menggunakan operasi AND dengan operand 56, maka akan diperoleh data yang diinginkan, sedangkan data lain akan bernilai 0 (nol), dimana untuk saluran status S0 dan S1 masih tercadang, S2 tidak dikeluarkan ke pin DB25. Ilustrasi proses yang terjadi, digambarkan dalam Tabel 3.5.

Tabel 3.5 Rangkaian Proses Operasi Logika AND pada Register Status ~S7 S6 S5 S4 S3 S2 S1 S0

0 1 1 1 1 1 1 1 Keadaan default register status

0 1 1 0 1 1 1 1 Diberikan input dari DTMF decoder

0 0 1 1 1 0 0 0 Oprasi AND dengan operand 56

0 0 1 0 1 0 0 0 Hasil operasi AND

Tabel 3.5 memperlihatkan gambaran yang jelas mengenai bagaimana pendefinisian nilai DTMF dekoder pada register status dapat dilakukan. Tabel 3.5 menggambarkan contoh pendefinisian data DTMF dekoder dengan nilai data 5 (lima , 0101 dalam biner) dari data keseluruhan pada register status. Melalui operasi AND akan dihasilkan nilai 1 (satu) hanya jika keduanya benilai 1(satu). Sehingga hanya ada kemungkinan terbesar 3 (tiga) bit data yang bernilai logika 1 (satu). Berikut algoritma yang digunakan dalam pendefinisian nilai DTMF dekoder dalam program:

temp := Hwinterface1.InPort($378); temp1 := Hwinterface1.InPort($379); nilai := temp1 and 56;

Dari algoritma diatas terlihat bahwa proses yang pertama kali dilakukan adalah membaca data yang ada pada register status dengan alamat $379, kemudian menyimpannya pada satu variabel, yaitu variabel temp. Kemudian nilai dari variabel temp di-AND kan dengan operand, yakni 56, dan kemudian disimpan dalam variabel


(52)

nilai. Untuk melakukan operasi logika tersebut, nilai yang dalam desimal tidak perlu dirubah ke dalam biner terlebih dahulu karena bahasa pemrograman sudah memiliki kemampuan untuk melakukan operasi logika dengan nilai desimal. Gambaran alur proses pendefinisian nilai DTMF dijelaskan pada Gambar 3.8.

Mengambil data dari register status

(alamat 379)

Data DTMF AND 56 = nilai

Nilai = nilai div 8

Pemrosesan delphi

Gambar 3.8 Alur proses pendefinisian nilai DTMF

3.9.2 Pendefinisian Nilai Status Lampu

Berikutnya dicari operand dan operator yang digunakan untuk memproses data yang masuk dari lampu. Proses ini bertujuan untuk memilah dan mengetahui nilai yang dikirimkan oleh lampu. Untuk operasi pendefinisian nilai status lampu tidaklah seperti pada DTMF dekoder, operand yang digunakan untuk kedua lampu tidak bisa disamakan. Hal ini dikarenakan adanya operasi invers pada S7, ataupun sifat ‘active low’ pada S7, gambaran ini dapat dilihat kembali pada Gambar 2.4, yakni gambar port status.


(53)

3.9.2.1Lampu -1

Lampu 1 adalah lampu yang terhubung dengan pin 11, yakni S7. S7 yang bersifat aktif low yang berarti memiliki sifat kebalikan dari sinyal listrik lain, akan aktif ketika sinyal low. Berikut algoritma yang digunakan untuk mengetahui nilai status lampu-1:

temp1 := Hwinterface1.InPort(lptdata); nilai := temp1 and 128;

Nilai := nilai div 128;

Penjelasan dari algoritma diatas adalah: hal yang pertama dilakukan adalah menyimpan nilai yang dibaca dari register status dalam sebuah variabel bernama temp1, kemudian dilakukan operasi logika dengan operator AND dengan operand 128. Operator AND digunakan karena operator AND hanya akan bernilai 1 (satu) jika kedua operand bernilai 1 (satu). Sehingga hanya akan ada satu pin yang bernilai 1 (satu), yaitu pin 11 yang terhubung ke lampu-1. Dengan demikian hasil operasi hanya mungkin memiliki dua nilai, yaitu 128 atau 0 (nol).

Nilai hasil opererasi AND tersebut selanjutnya di bagi dengan 128, yang memiliki kemungkinan hasil adalah 0 (nol) dan 1 (satu). 0 (nol) dan 1 (satu) sudah jelas menggambarkan keadaan sinyal lampu. Hanya saja ada sedikit perbedaan dari sinyal listrik biasanya. Bila secara umum nilai 1 (satu) menyatakan lampu dalam keadaan menyala, maka pada lampu 1 (satu), nilai 1 (satu) menyatakan bahwa lampu dalam keadaan padam, begitu juga sebaliknya.

3.9.2.2Lampu-2

Lampu-2 memiliki kesamaan proses dengan lampu-1 dalam pendefinisian nilai status yang diberikan lampu. Hanya saja ada perbedaan yang lerletak pada nilai operand dan pendefinisian status. Berikut algoritma dalam pemrograman untuk pendefinisian nilai status lampu-2:

temp1 := Hwinterface1.InPort(lptdata); nilai := temp1 and 64;


(54)

Dari algoritma program diatas terlihat bahwa nilai yang dibaca dari register status alamat $379 disimpan dalam sebuah variabel. Selanjutnya nilai dalam variabel tersebut di AND kan dengan operand 64. Hasil dari operasi tersebut disimpan kembali dalam satu variabel yang berbeda, dan dibagi dengan operand 64. Hasil yang mungkin keluar dari operasi tersebut adalah 1 (satu) dan 0 (nol). Disinilah letak perbedaan kedua antara lampu-1 dengan lampu-2. Jika pada lampu-1 nilai 1 (satu) menyatakan bahwa lampu padam, pada lampu-2 nilai 1 (satu) menyatakan bahwa lampu menyala. Hasil akhir tersebut selanjutnya diproses oleh pemrograman.

3.10 Proses Penghidupan Lampu

Jika dibayangkan secara selintas mengenai cara penghidupan lampu, yang terbesit dibenak yaitu bahwa untuk menghidupkan lampu yang dikontrol melalui interface DB-25 sangatlah mudah. Hanya tinggal mengirimkan nilai 1 (satu) pada pin yang terhubung dengan lampu yang dikontrol. Namun keadaan itu hanya berlaku jika yang dikontrol hanya satu buah lampu saja. Hal ini tidak berlaku untuk pengontrolan lampu yang berjumlah lebih dari satu.

Jika menggunakan prinsip seperti diatas, dalam satu keadaan dapat terjadi kemungkinan bahwa ketika dikirimkan nilai logika 1 (satu) untuk menghidupkan sebuah lampu dapat mengakibatkan lampu yang telah menyala sebelumnya menjadi padam. Kesalahan ini dapat diilustrasikan dengan rangkaian Tabel 3.6.

Tabel 3.6 Ilustrasi Umum Proses Penghidupan Lampu pada Register Data D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 0 0 0 0 Nilai awal

0 0 0 0 0 0 0 1 Perintah pertama

0 0 0 0 0 0 1 0 Perintah kedua

0 0 0 0 0 0 1 0 Keadaan akhir


(55)

Tabel 3.6 menggambarkan keadaan seperti berikut: Apabila pada keadaan awal tidak ada satupun lampu yang hidup, yang berarti, data yang dikirimkan pada register data adalah 0 (nol). Selanjutnya, dikirimkan data untuk menghidupkan lampu-1, berarti data yang dikirimkan bernilai 1 (satu). Beberapa saat kemudian, user memberikan perintah untuk menyalakan lampu-2 tanpa mematikan lampu yang sudah menyala sebelumnya. Dari tabel diatas, terlihat bahwa ketika dikirimkan data yang baru, maka data yang sebelumnya akan terhapus digantikan oleh data yang baru, yang berarti lampu yang telah menyala sebelumnya akan padam bersamaan dengan hidupnya lampu-2.

Ketika diberikan perintah untuk menyalakan lampu, maka semua lampu yang telah menyala sebelumnya akan padam. Nilai data baru yang diterima secara menyeluruh langsung menggantikan data yang sebelumnya, sehingga lampu yang pada mulanya menyala akan padam dikarenakan oleh bit 1 (satu) hanya diberikan kepada pin yang dituju saja, sedangkan nilai pin yang lain akan ter-reset menjadi 0(nol) kembali. Oleh karena itu perlu ditambahkan proses logika ataupun aritmatika untuk mengatasi permasalahan tersebut. Berikut proses yang terjadi untuk menghidupkan lampu-1 dan lampu-2. Proses penghidupan lampu dalam diagram alur adalah seperti Gambar 3.9.


(56)

Keterangan: n = nilai operand yang berbeda-beda untuk tiap lampu.

3.10.1 Proses Menghidupkan Lampu-1

Algoritma untuk menghidupkan lampu dan membaca nilai DTMF pada dasarnya adalah hampir sama. Yakni menggunakan operator logika dan sebuah operand. Namun operand yang digunakan pada lampu-1 dan lampu-2 tidaklah sama.

Hal pertama yang dilakukan adalah membaca nilai dari register data (alamat 378) dan menyimpannya ke dalam sebuah variabel. Operator logika yang digunakan adalah operator OR. Operator OR hanya akan bernilai 0 (nol) apabila kedua operand bernilai 0 (nol). Variabel yang berisikan nilai awal dari register data di OR kan dengan operand 1 (satu). Karena nilai 0(nol) hanya akan hadir ketika kedua operand bernilai 0 (nol), hal ini berarti bahwa nilai yang ada sebelumnya tidak akan terhapus ataupun berubah nilainya. Digunakan nilai 1 (satu) sebagai operand karena lampu-1 yang terhubung dengan D0 akan bernilai 1 (satu) bila diberi logika 1 (satu) pada pin D0. Gambaran proses kejadian untuk menghidupkan lampu diilustrasikan pada Tabel 3.7.

Tabel 3.7 Ilustrasi Proses Penghidupan Lampu pada Register Data D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 0 0 0 0 Nilai awal

0 0 0 0 0 0 1 0 Perintah pertama

0 0 0 0 0 0 0 1 Perintah kedua

Apabila perintah petama telah dieksekusi, dan nilainya dibaca dan disimpan pada satu variabel dan kemudian variabel tersebut di OR kan dengan perintah kedua maka:

00000010 00000001 + 00000011


(57)

Dari perhitungan logika diatas terlihat bahwa hasil dari operasi logika OR nilai perintah pertama dan nilai perintah kedua dapat menghasilkan data yang diharapkan. Jadi apa yang sebenarnya dilakukan ketika perintah menghidupkan lampu pertama adalah proses mengirimkan data ke register data (alamat 378), nilai yang dikirimkan adalah nilai hasil dari operasi logika OR antara variabel yang menyimpan nilai register data sebelumnya dengan operand 1 (satu).

3.10.2 Proses Menghidupkan Lampu-2

Selanjutnya untuk proses menghidupkan lampu-2, proses yang dilakukan sama dengan menghidupkan lampu-1. Perbedaannya terletak pada operand yang digunakan. Jika lampu-1 menggunakan operand 1 (satu), maka lampu-2 menggunakan operand 2 (dua) dalam prosesnya. Digunakan operand bernilai 2 (dua) karena pin yang dituju pada register data akan bernilai 2 (dua) jika diberi logika 1 (satu) untuk menghidupkan lampu-2. Sedangkan pin yang lain pada register data di OR kan dengan nilai 0 (nol) karena nilai 0 (nol) pada operasi logika OR tidak akan mempengaruhi nilai sesungguhnya. Berikut perhitungannya:

00000001 00000010 + 00000011

Dengan demikian rangkaian proses yang terjadi untuk menghidupkan lampu-2 adalah pengiriman sebuah nilai (misal: X). Nilai variabel X tersebut merupakan hasil dari operasi logika OR antara nilai register data yang lama dengan operand 2. Hasil proses tersebutlah yang kemudian disampaikan kembali ke register data. Dengan demikian, variabel X sebenarnya berisikan :

X = Y + Z

Keterangan: Z = 2


(58)

3.11 Proses Pemadaman Lampu

Permasalahan untuk menghidupkan lampu ditemukan ketika lampu yang dikontrol berjumlah lebih dari satu. Begitu juga dengan proses mematikan lampu apabila peralatan yang dikontrol (dalam hal ini lampu) berjumlah lebih dari satu.

Secara umum, cara yang digunakan untuk mematikan lampu yang diinginkan adalah mengirimkan data 0 (nol) pada pin yang dituju. Hal ini digambarkan pada Tabel 3.8.

Tabel 3.8 Proses pemadaman lampu

- - Lamp6 Lamp5 Lamp4 Lamp3 Lamp2 Lamp1

D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 0 0 0 0

Jika ingin mematikan lampu, hanya tinggal memberikan nilai 0 (nol) saja. Namun jika hal ini dilakukan, sudah sangat jelas apa yang akan terjadi. Tentu saja akan mengganggu nilai dari pin-pin yang kemungkinan telah terisi sebelumnya, yang berarti apabila lampu lain yang dalam keadaan menyala akan ikut padam bersamaan dengan padamnya lampu-5. Prinsip pemadaman ini digunakan hanya untuk memadamkan seluruh lampu sekaligus. Oleh karena itu, lagi-lagi dibutuhkan juga proses operasi aritmatik ataupun logika untuk proses pemadaman lampu. Proses pemadaman lampu secara umum digambarkan pada Gambar 3.10.


(59)

Mengambil data dari register data

(alamat 378)

Data DTMF AND n = hasil

Pengiriman hasil ke port data (alamat 378)

Gambar 3.10 Alur proses pemadaman lampu

Keterangan: n merupakan nilai operand yang berbeda-beda untuk masing-masing lampu.

3.11.1 Proses Pemadaman Lampu-1

Untuk memadamkan lampu-1 tanpa harus mengganggu lampu lainnya berarti dituliskan nilai logika 0 (nol) pada pin yang sesuai dengan pin pada alat yang diinginkan saja.

Konsep dasar yang dilakukan adalah sama, yaitu membaca terlebih dahulu nilai data pada register data dengan alamat 378. kemudian nilai tersbut disimpan dalam sebuah variabel. Dalam pemadaman ini, operator logika yang digunakan adalah operator AND. Namun operand yang digunakan bukanlah nilai yang sama dengan nilai pin yang dituju pada register data ketika berlogika 1 (satu). Untuk lampu-1 digunakan operand 2 (dua) dalam proses pemadamannya. Penggunaan operand 2 (dua) untuk memadamkan lampu-1 tidak akan menganggu nilai pin lain yang berada pada port data. Berikut ilustrasi pembuktiannya:


(60)

Berikut dicontohkan keadaan yang mungkin terjadi. Apabila keadaan awal kedua lampu dalam keadaan menyala, berarti D0 dan D1 dalam keadaan logika 1 (satu).

Tabel 3.9 Gambaran Proses Ketika Lampu 2 Menyala

- - - Lamp3 Lamp2 Lamp1

D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 1 1

Selanjutnya, dikirimkan data untuk memadamkan lampu-1, berarti data yang dikirimkan bernilai 0 (nol).

Tabel 3.10 Gambaran Nilai Saat Memadamkan Lampu

- - - Lamp3 Lamp2 Lamp1

D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0

Dari tabel 3.10 diatas, terlihat bahwa ketika dikirimkan data yang baru, maka data yang sebelumnya akan terhapus digantikan oleh data yang baru, yang berarti lampu yang telah menyala sebelumnya akan ikut padam bersamaan dengan padamnya lampu-1. Namun dengan menggunakan operasi AND dan operand 2 (dua) akan dihasilkan hal seperti Tabel 3.11. Diasumsikan keadaan awal adalah kedua lampu menyala seperti Tabel 3.11.

Tabel 3.11 Ilustrasi Keadaan Register Data Bila Kedua Lampu Menyala

- - - Lamp3 Lamp2 Lamp1

D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 1 1

Selanjutnya, ketika datang perintah untuk mematikan lampu-1, yang terjadi adalah nilai register data di atas di OR kan dengan 2 seperti Tabel 3.12.


(61)

Tabel 3.12 Ilustrasi Proses Operasi AND pada Register Data D7 D6 D5 D4 D3 D2 D1 D0

0 0 0 0 0 0 1 0 Keadaan yang diharapkan

1 1 1 1 1 1 1 1 Keadaan awal

0 0 0 0 0 0 1 0 Operand 2

0 0 0 0 0 0 1 0 Hasil operasi dengan AND

0 0 0 0 0 0 1 0 Keadaan akhir

Tabel diatas menunjukkan bahwa dengan menggunakan operasi logika AND, maka hasil yang diperoleh sama dengan hasil yang ingin dicapai. Maka data yang akan dikirimkan untuk memadamkan lampu-1 adalah data hasil operasi logika tersebut.

3.11.2 Proses Pemadaman Lampu -2

Sama halnya dengan proses menghidupkan lampu-1 yang menyerupai proses menghidupkan lampu-2, bagitu juga dengan proses pemadaman. Proses pemadaman lampu-2 sejalan dengan proses pemadaman lampu-1, yang berbeda hanyalah operand yang digunakan. Bila memadamkan lampu-1 menggunakan operand 2 (dua), maka untuk memadamkan lampu 2 digunakan operand 1 (satu).

Nilai hasil operasi logika OR tersebut lah yang kemudian dikirimkan ke register data (alamat 378) untuk mematikan lampu-2. Oleh karena itu, yang dilakukan bukanlah mengirim nilai baru untuk mematikan, tetapi memproses nilai yang sebelumnya sudah ada di register data.

3.12 Proses Pengiriman Pesan

Segala hal mengenai pengiriman sms ditangani oleh Toxygensms. Sms dikirimkan dengan mengambil status dari edit text yang tersedia dari program. Pengiriman pesan dilakukan dengan perintah :


(62)

OxygenSMS1.SendSMSMessage(edit1.Text,balas.Text,167,true,false ,nil);

Prosedur ini berfungsi untuk mengirimkan SMS. Adapun beberapa parameter yang terdapat dalam prosedur ini adalah edit1.text berisi nomor telepon yang dituju, balas.text berisi isi pesan yang akan dikirimkan, 167 merupakan lama validitas pesan tersebut, true menunjukkan laporan pengiriman diterima, nil bermakna tidak ada gambar yang dikirimkan.

3.13 Proses Pemeriksaan Data Masuk

Setelah masing-masing proses pengolahan data dijelaskan diatas, selanjutnya yang perlu dipahami dan diketahui adalah bagaimana sistem dapat mengetahui bahwasanya ada data yang masuk yang dikirimkan oleh sumber. Baik itu bersumber dari DTMF dekoder ataupun dari lampu.

Sistem terus menerus melakukan pengecekan terhadap data yang masuk. Data yang diterima oleh port paralel bersifat latch. Latch berarti bahwa data yang ada tersebut akan terus ada hingga muncul data berikutnya. Seperti pada lampu, rangkaian lampu terhubung secara langsung sebagai sumber input pada register status yang berarti keadaan lampu akan terus menerus tersampaikan kepada register status.

Agar respon terhadap data baru dan dilakukan secara cepat, maka dilakukanlah rutin pembacaan nilai register status dengan menggunakan komponen timer yang tersedia.

Komponen timer bersifat non visual digunakan untuk menjalankan suatu event pada suatu saat ataupun secara berulang-ulang berdasarkan nilai interval tertentu. Secara tidak langsung, timer mempunyai peranan yang sangat penting dalam sistem ini. Dengan menggunakan timer, dapat dilakukan pengecekan secara terus menerus terhadap nilai yang disampaikan pada register status.


(63)

BAB 4

IMPLEMENTASI DAN UJI COBA SISTEM

Pada perancangan software ini digunakan bahasa pemrograman tingkat tinggi sebagai pengolah data dari dan ke rangkaian dan juga sebagai interface terhadap DB 25, dengan tambahan tools Hwinterface dan Toxygensms.

Langkah pertama dalam merancang software adalah membuat algoritma program yang merupakan garis besar jalannya suatu program. Adapun algoritma software yang dirancang secara garis besar adalah sebagai berikut :

1. Mulai

2. User melakukan pengaktifan koneksi handphone- PC/laptop 3. Melakukan pemeriksaan nilai DTMF

4. Eksekusi perintah

5. Jika tidak ada data yang baru kembali ke awal (langkah 3) 6. Selesai

4.1Implementasi Perangkat Lunak Sistem Pengendali Perangkat Elektronik Jarak Jauh

Program aplikasi sistem pengendali peralatan elektronik jarak jauh ini bertujuan untuk memberikan kemudahan pemantauan terhadap peralatan lisktrik yang meliputi pemadaman dan penghidupan serta permintaan laporan terhadap status peralatan yang terkoneksi. Kegiatan pemantauan, kontrol dan kendali tersebut hanya dapat digunakan memanfaatkan telepon dengan jenis DTMF tone. Sistem ini merupakan pilihan lain bagi pengguna apabila pengguna ingin berpergian jauh dan tidak ingin menggunakan jasa manusia untuk mengontrol peralatan elektronik rumah. Sistem ini diharapkan


(1)

function isNumber(const c: char): boolean; var

b: byte; begin

b := ord(c);

if ((b >= 48) and (b <= 57)) then result := true

else

result:=false; end;

procedure TfMenu.Status_Lampu; var temp1 : byte;

begin

temp1 := Hwinterface1.inport(LPTStatus1); //fungsi pendefinisian nilai status lamp 2 nilai := temp1 and 64;

Nilai := nilai div 64;

if nilai = 1 then lStatsLamp2.Caption := 'OFF' else lStatsLamp2.Caption := 'ON';

//pendefinisian nilai status lampu1 nilai := temp1 and 128;

Nilai := nilai div 128;

if nilai = 1 then lStatsLamp1.Caption := 'ON' else lStatsLamp1.Caption := 'OFF';

eSMS.Text := 'Status lampu 1 = '+ lStatsLamp1.Caption + '. Status lampu 2 = ' + lStatsLamp2.Caption;

laporan := eSMS.Text; end;

{procedure TfMenu.kirim_pesan; var temp1 : byte;

begin

oxygensms1.SendSMSMessage(lNoTelp.Caption ,laporan ,167 ,true ,false ,nil);

status:=false; end;}

procedure TfMenu.bOnSemuaClick(Sender: TObject); begin

Hwinterface1.outport(LPTdata,$3); end;

procedure TfMenu.bOfSemuaClick(Sender: TObject); begin

Hwinterface1.outport(LPTdata,$00); end;

procedure TfMenu.bOnLamp1Click(Sender: TObject); begin

Hwinterface1.outport(LPTdata,Hwinterface1.inport(LPTStatus)or 1); end;

procedure TfMenu.bOfLamp1Click(Sender: TObject); begin


(2)

end;

procedure TfMenu.bOnLamp2Click(Sender: TObject); begin

Hwinterface1.outport(LPTdata,Hwinterface1.inport(LPTStatus)or 2); end;

procedure TfMenu.bOffLamp2Click(Sender: TObject); begin

Hwinterface1.outport(LPTdata,Hwinterface1.inport(LPTStatus)and 1); end;

procedure TfMenu.Timer1Timer(Sender: TObject); var

temp,temp1,nilai_akhir :byte; begin

{ fungsi membaca nilai DTMF}

temp := Hwinterface1.inport(LPTStatus); l378.Caption:=inttostr(temp);

temp1 := Hwinterface1.inport(LPTStatus1); l379.Caption:=inttostr(temp1);

nilai := temp1 and 56; Nilai := nilai div 8;

lDTMF.Caption := intToStr(nilai); begin

if nilai<>k then begin

if nilai = 1 then begin

//if k<> 1 then //begin

Hwinterface1.outport(LPTdata,$3); //Status_Lampu;

j:=3; k:= 1; //end; end;

if nilai = 2 then begin

//if k<> 2 then //begin

Hwinterface1.outport(LPTdata,Hwinterface1.inport(LPTStatus)or 1);

//Status_Lampu; j:=3;

k:= 2; //end; end;

if nilai = 3 then begin

//if k<> 3 then //begin

Hwinterface1.outport(LPTdata,Hwinterface1.inport(LPTStatus)or 2);

//Status_Lampu; j:=3;


(3)

k:= 3; //end; end;

if nilai = 4 then begin

//if k<> 4 then //begin

Hwinterface1.outport(LPTdata,Hwinterface1.inport(LPTStatus)and 2);

//Status_Lampu; j:=3;

k:= 4; //end; end;

if nilai = 5 then begin

//if k<> 5 then //begin

Hwinterface1.outport(LPTdata,Hwinterface1.inport(LPTStatus)and 1); //Status_Lampu;

j:=3; k:= 5; //end; end;

if nilai = 6 then begin

//if k<> 6 then //begin

//oxygensms1.SendSMSMessage(lNoTelp.Caption ,eSMS.Text ,167 ,true ,false ,nil);

k:= 6; j:=3; //end; end;

if nilai = 7 then begin

//if k<> 7 then //begin

Hwinterface1.outport(LPTdata,$0); //Status_Lampu;

j:=3; k:= 7; //end; end;

// nilai_akhir:=k; end;

end;

status_lampu;

if status=true then begin

oxygensms1.SendSMSMessage(lNoTelp.Caption ,eSMS.Text ,167 ,true ,false ,nil);

status := false; end;

if j<>0 then begin


(4)

if j = 0 then begin

status := true; end;

end; end;

procedure TfMenu.bConnectClick(Sender: TObject); begin

if oxygensms1.Open

then lStatKoneksi.Caption := 'Connected' Else lStatKoneksi.Caption := 'Failed' end;

procedure TfMenu.FormActivate(Sender: TObject); begin

//fWelcome.Close; l379.Caption:=''; l378.Caption:=''; lDTMF.Caption:='';

lNoTelp.Caption:='085261050727'; lTemp.Caption:=lNoTelp.Caption; status := false;

k:=0; default; end;

procedure TfMenu.bOtomatClick(Sender: TObject); begin

default; end;

procedure TfMenu.bManualClick(Sender: TObject); begin

gHidup.Visible:=true; gMati.Visible:=true;

gMonitoring.Visible:=false; gBMonitoring.Enabled:=false; gEdit.Visible:=false;

//bConnect.Visible:=false; eSMS.Visible:=false;

lTemp.Caption:=lNoTelp.Caption; end;

procedure TfMenu.bExitClick(Sender: TObject); begin

application.Terminate; end;

procedure TfMenu.bEditNoClick(Sender: TObject); begin

gEdit.Visible:=true; gHidup.Visible:=false; gMati.Visible:=false;

gMonitoring.Visible:=false; gBMonitoring.Enabled:=false; gButton.Enabled:=false;


(5)

// fMenu.Height:=310 ; //333 end;

procedure TfMenu.Timer2Timer(Sender: TObject); begin

lTemp.Caption:=lNoTelp.Caption; end;

procedure TfMenu.bSimpanClick(Sender: TObject); begin

if eTelp.text='' then begin

MessageDlg(' Nomor yang dimasukkan

kosong',mtInformation,[mbOk],0); end

else begin

if MessageDlg('Menyimpan nomor:

'+eTelp.text,mtWarning,[mbOk,mbCancel],0)=mrOK then begin

eTelptemp.Text:=eTelp.Text;

fMenu.lNoTelp.Caption:=eTelpTemp.Text;

MessageDlg('Nomor telah disimpan',mtWarning,[mbOk],0); gEdit.Visible:=false;

gMonitoring.Visible:=true; gBMonitoring.Visible:=true; gButton.Visible:=true; //fMenu.Height:=333 ; end

else begin

gEdit.Visible:=false; gMonitoring.Visible:=true; gBMonitoring.Visible:=true; gButton.Visible:=true; //fMenu.Height:=333 ; end;

end; end;

procedure TfMenu.bBackClick(Sender: TObject); begin

gEdit.Visible:=false; gMonitoring.Visible:=true; gBMonitoring.Enabled:=true; gButton.Enabled:=true; fMenu.Height:=333 ; end;

procedure TfMenu.eTelpChange(Sender: TObject); var c,i:integer;

begin

c:= eTelp.GetTextLen; for i:=1 to c do begin

if isnumber(eTelp.text[i])=false then begin


(6)

end end; end; end.