97
APLIKASI SCOPE VOLT METER PADA PC MEMANFAATKAN SOUNDCARD SEBAGAI PORT MASUKAN TUGAS AKHIR Oleh FEBRIANSYAH RAZAK NIM : 48910006 Program Pendidikan Alih Jenjang D4 Teknik Komputer dan Jaringan SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2011

Scope Voltmeter

  • Upload
    feraz

  • View
    3.952

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Scope Voltmeter

APLIKASI SCOPE VOLT METER PADA PC MEMANFAATKAN

SOUNDCARD SEBAGAI PORT MASUKAN

TUGAS AKHIR

Oleh

FEBRIANSYAH RAZAK

NIM : 48910006

Program Pendidikan Alih Jenjang D4

Teknik Komputer dan Jaringan

SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA

INSTITUT TEKNOLOGI BANDUNG

2011

Page 2: Scope Voltmeter

i

ABSTRAK

APLIKASI SCOPE VOLT METER PADA PC MEMANFAATKAN

SOUNDCARD SEBAGAI PORT MASUKAN

Oleh

Febriansyah Razak

NIM : 48910006

PROGRAM PENDIDIKAN ALIH JENJANG D4

TEKNIK KOMPUTER DAN JARINGAN

Osiloskop merupakan sebuah alat yang memiliki akurasi pengukuran terjamin. Selain

fungsi tersebut osiloskop juga dapat membantu dalam mempelajari bentuk

gelombang dan karakteristiknya, namun harganya yang terbilang mahal

menyebabkan tidak semua orang dapat memiliki alat tersebut padahal bagi seseorang

yang ingin mempelajari pengukuran tegangan listrik alat ini sangat mendukung.

Untuk itu dengan pemrograman Java alat tersebut dapat dibuat dalam bentuk aplikasi

komputer yang memanfaatkan soundcard sebagai port masukannya, karena

soundcard hanya mampu menangani tegangan yang kurang dari 1 volt maka

diperlukan alat yang dapat mengubah besarnya tegangan dari sumber tegangan

menjadi kurang dari 1 volt, alat tersebut merupakan sebuah probe dengan fungsi

range selector. Dengan adanya alat ini maka tegangan yang masuk ke soundcard

lebih aman dan terkendali. Soundcard memiliki keterbatasan dalam mengukur

tegangan listrik, tegangan yang dapat dialirkan oleh soundcard adalah tegangan

listrik arus bolak balik (AC) karena di dalam soundcard terdapat DC blocking yang

menyebabkan arus searah (DC) dibendung.

Aplikasi voltmeter ini juga dikembangkan dengan layanan client – server. Dengan

layanan ini maka setiap client yang sedang melakukan pengukuran dapat mengirim

data pengukuran tersebut secara real time ke server dan server dapat memonitoring

proses pengukuran yang sedang berjalan. Selain itu terdapat juga layanan

penyimpanan data ke database, sehingga setiap data pengukuran dapat dipelajari

kembali.

Kata kunci : osiloskop, soundcard, tegangan, Java, client, server, database

Page 3: Scope Voltmeter

ii

ABSTRACT

PC SCOPE VOLT METER APPLICATION USING SOUNDCARD

AS INPUT PORT

By

Febriansyah Razak

NIM : 48910006

APPLIED SCIENCE IN ELECTRICAL ENGINEERING STUDY PROGRAM

COMPUTER NETWORK ENGINEERING

Oscilloscope is an equipment that has a guaranteed measurement accuracy. In the

other hand, the oscilloscope function can also help in studying the wave forms and

their characteristics. But the price is too expensive, so not everyone have these tools

but for someone who wants to study the voltage measurement equipment is very

support. Now with the Java programming, this equipment can be made in the

application computer that use the soundcard as an input port, because the soundcard

only can handling voltages of less than 1 volt, so the necessary tools that can change

the voltage from source voltage to less than 1 volt, the tool is a probe with the range

selector function. With this tool, the voltage that go into soundcard can safe and

controlled. Soundcard has limitations in measuring the voltage, the voltage can be

streamed by the soundcard is the voltage of alternating current (AC) because in DC

there are soundcar that cause blocking direct current (DC) dammed.

This Voltmeter application is also developed with a service client - server. With this

service, each client who is doing the measurements can send the measurement data

ini real time to the server and the server can monitoring the measurement process. In

addition there are also data storage service to the database, so that each measurement

data can be studied again.

Keywords : oscilloscope, soundcard, voltage, Java, client, server, database

Page 4: Scope Voltmeter

iii

APLIKASI SCOPE VOLT METER PADA PC MEMANFAATKAN

SOUNDCARD SEBAGAI PORT MASUKAN

Oleh :

Febriansyah Razak

Tugas Akhir ini telah diterima dan disahkan

sebagai persyaratan untuk memperoleh gelar

SARJANA SAINS TERAPAN

di

PROGRAM PENDIDIKAN ALIH JENJANG D4

TEKNIK KOMPUTER DAN JARINGAN

SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA

INSTITUT TEKNOLOGI BANDUNG

Bandung, Juni 2011

Disetujui oleh :

Pembimbing I, Pembimbing II,

Ir. S. Hakim Ad Dairi Ir. Agust Isa Martinus, MT

Page 5: Scope Voltmeter

iv

KATA PENGANTAR

Puji Syukur kehadirat Allah SWT yang telah memberi limpahan karunia yang tidak

terhingga kepada penulis sehingga dapat menyelesaikan proyek tugas akhir yang

berjudul “Aplikasi Scope Volt Meter pada PC Memanfaatkan Soundcard sebagai

Port Masukan” ini dengan baik.

Penulis menyadari proyek tugas akhir ini tidak akan berjalan dengan lancar tanpa

bantuan, dukungan dan bimbingan dari berbagai pihak. Oleh Karena itu penulis

mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Ir. S Hakim Ad Dairi,. selaku dosen pembimbing I yang telah menyediakan

waktunya untuk membimbing penulis dengan penuh kesabaran dan keteguhan;

2. Ir. Agust Isa Martinus, MT., selaku dosen pembimbing II yang telah

memberikan bimbingan dan semangat dalam menyelesaikan tugas akhir ini;

3. Orang Tua dan seluruh keluarga penulis yang selalu memberikan do’a dan

dukungan kepada penulis sepanjang waktu;

4. Seluruh Teman-teman TKJ dan TMD yang telah memberikan keceriaan dan

semangat yang tidak terbatas kepada penulis dalam menyelesaikan proyek tugas

akhir ini;

5. Seluruh Dosen ITB, sahabat dan kerabat yang telah memotivasi penulis dengan

segenap semangat dan do’a;

6. Seluruh pihak yang tidak dapat penulis sebutkan satu per satu yang telah

membantu penulis dalam bentuk materi maupun non materi.

Semoga apa yang telah kalian berikan mendapat kebaikan yang berlipat ganda dari

Allah SWT.

Page 6: Scope Voltmeter

v

Tentunya penulis menyadari bahwa penyusunan laporan ini masih jauh dari bentuk

yang sempurna, karena itu penulis mengharapkan saran dan kritik yang membangun

dari semua pihak. Penulis juga berharap semoga laporan ini dapat memberikan

manfaat yang berguna bagi semua pihak yang membutuhkan.

Bandung, April 2011

Penulis

Page 7: Scope Voltmeter

vi

DAFTAR ISI

Halaman

ABSTRAK .................................................................................................................... i

ABSTRACT ................................................................................................................. ii

LEMBAR PENGESAHAN ........................................................................................ iii

KATA PENGANTAR ................................................................................................ iv

DAFTAR ISI ............................................................................................................... vi

DAFTAR GAMBAR .................................................................................................. ix

DAFTAR TABEL ....................................................................................................... xi

BAB I PENDAHULUAN

I.1 Latar Belakang ..................................................................................... 1

I.2 Tujuan .................................................................................................. 2

I.3 Perumusan Masalah ............................................................................. 3

I.4 Batasan Masalah................................................................................... 3

I.5 Metodologi ........................................................................................... 4

I.6 Sistematika Pembahasan ...................................................................... 4

I.7 Pelaksanaan .......................................................................................... 5

BAB II DASAR TEORI

II.1 Voltmeter.............................................................................................. 7

II.2 Soundcard dan Java Sound Sample.................................................... 10

II.3 Konsep Jaringan Client - Server ........................................................ 18

II.4 Pemrograman Java pada Jaringan ...................................................... 20

II.5 Database MySQL .............................................................................. 21

II.6 Teori Dasar Inverting ......................................................................... 25

Page 8: Scope Voltmeter

vii

BAB III PERANCANGAN PEMBUATAN SISTEM

III.1 Spesifikasi Sistem .............................................................................. 26

III.2 Rancangan Sistem Global .................................................................. 27

III.3 Rancangan Probe ................................................................................ 28

III.4 Cara Kerja Aplikasi ............................................................................ 31

III.5 Flowchart Program ............................................................................. 34

III.6 Kamus Data ........................................................................................ 42

III.7 Struktur Rancangan Aplikasi ............................................................. 43

BAB IV PENGUJIAN SISTEM

IV.1 Spesifikasi Sistem Pengujian ............................................................. 48

IV.2 Pengujian Rangkaian Probe ............................................................... 49

IV.3 Proses Kalibrasi .................................................................................. 52

IV.4 Pengujian Tegangan AC .................................................................... 57

IV.5 Pengujian Tegangan DC .................................................................... 58

IV.6 Pengujian Tegangan AC pada Skala Berbeda .................................... 60

IV.7 Penyimpanan dan Pengaksesan Database .......................................... 65

IV.8 Pengujian Koneksi Aplikasi Client - Server ...................................... 67

BAB V KESIMPULAN DAN SARAN

V.1 Kesimpulan ........................................................................................ 68

V.2 Saran ................................................................................................... 69

Page 9: Scope Voltmeter

viii

DAFTAR PUSTAKA ............................................................................................... 70

LAMPIRAN ............................................................................................................ L-1

Page 10: Scope Voltmeter

ix

DAFTAR GAMBAR

Halaman

Gambar II.1 Multimeter analog ................................................................................ 8

Gambar II.2 Multimeter digital................................................................................. 8

Gambar II.3 Bagian-bagian multimeter .................................................................... 9

Gambar II.4 Contoh gelombang suara .................................................................... 12

Gambar II.5 Konfigurasi line untuk audio input .................................................... 15

Gambar II.6 Ilustrasi komunikasi menggunakan socket......................................... 21

Gambar II.7 Spesifikasi Tabel pada Database ....................................................... 21

Gambar II.8 Tampilan MySQL-Front .................................................................... 24

Gambar II.9 Penguat inverting ............................................................................... 25

Gambar III.1 Rancangan sistem global .................................................................... 27

Gambar III.2 Flowchart rangkaian probe scope volt meter ..................................... 29

Gambar III.3 Rangkaian probe scope voltmeter ...................................................... 30

Gambar III.4 Proses pembentukan grafik dan nilai ................................................. 31

Gambar III.5 Flowchart aplikasi scope voltmeter .................................................... 34

Gambar III.6 Flowchart aplikasi client .................................................................... 36

Gambar III.7 Flowchart aplikasi server scope voltmeter ......................................... 38

Gambar III.8 Flowchart aplikasi database client ..................................................... 40

Gambar III.9 Struktur rancangan aplikasi ................................................................ 43

Gambar III.10 Desain awal aplikasi ........................................................................... 44

Gambar III.11 Desain aplikasi server......................................................................... 46

Gambar IV.1 Grafik proses kalibrasi dengan 100 sampel pengukuran.................... 56

Gambar IV.2 Pengujian pengukuran tegangan AC 5.4 volt pada skala 1 : 100 ....... 58

Gambar IV.3 Pengujian pengukuran tegangan DC 1.2 volt pada skala 1 : 100 ....... 59

Gambar IV.4 Pengujian pengukuran tegangan AC 5.5 volt pada skala 1 : 10 ......... 60

Gambar IV.5 Pengujian pengukuran tegangan AC 3.3 volt pada skala 1 : 5 ........... 62

Gambar IV.6 Pengujian pengukuran tegangan AC 3.3 volt pada skala 1 : 1 ........... 63

Gambar IV.7 Pengujian pengukuran tegangan AC 8.1 volt pada skala 1 : 200 ....... 64

Page 11: Scope Voltmeter

x

Gambar IV.8 Penyimpanan nilai pada database MySQL Server ............................. 65

Gambar IV.9 Pemilhan data pada aplikasi ............................................................... 66

Gambar IV.10 Pengujian pengaksesan database pada aplikasi .................................. 66

Gambar IV.11 Pengujian koneksi Client - Server ...................................................... 67

Page 12: Scope Voltmeter

xi

DAFTAR TABEL

Halaman

Tabel I.1 Jadwal pelaksanaan tugas akhir ........................................................... 5

Tabel III.2 Batasan pengukuran sinyal listrik ...................................................... 28

Tabel III.2 Kamus data tabel grafik_info pada database osiloskop ..................... 42

Tabel III.3 Spesifikasi atribut pada aplikasi ......................................................... 43

Tabel IV.1 Pengujian skala 1 : 1 .......................................................................... 49

Tabel IV.2 Pengujian skala 1 : 5 .......................................................................... 50

Tabel IV.3 Pengujian skala 1 : 10 ........................................................................ 51

Tabel IV.4 Proses kalibrasi pada 100 sampel pengukuran ................................... 52

Tabel IV.5 Pengujian pengukuran tegangan AC pada skala 1 : 100 .................... 57

Tabel IV.6 Pengujian pengukuran tegangan DC pada skala 1 : 100 .................... 58

Tabel IV.7 PengujianpPengukuran tegangan AC pada skala 1 : 10 ..................... 60

Tabel IV.8 Pengujian pengukuran tegangan pada skala 1 : 5............................... 61

Tabel IV.9 Pengujian pengukuran tegangan pada skala 1 : 1............................... 63

Tabel IV.10 Pengujian pengukuran pada skala 1 : 200 .......................................... 64

Page 13: Scope Voltmeter

1

BAB I

PENDAHULUAN

I.1 LATAR BELAKANG

Perkembangan teknologi saat ini sudah berkembang dengan sangat pesat, berbagai

peralatan canggih sudah dapat digunakan manusia untuk keperluan mendasar seperti

berkomunikasi dan mencari informasi. Alat ukur juga mulai berkembang dari manual

pengukuran seperti menggunakan penggaris sampai kini pada pengukuran elektronik

digital yang membutuhkan perhitungan rumit.

Seiring dengan perkembangan tersebut, ilmu pengukuran menjadi beragam karena

sesuatu yang baru diketahui oleh ilmu manusia. Sebagai contoh, dahulu manusia hanya

dapat mengukur sesuatu yang sifatnya nyata seperti panjang dan lebar, namun saat ini

manusia sudah dapat mengukur hal yang abstrak sekalipun seperti kecepatan suara dan

tegangan listrik. Keahlian pengukuran tegangan listrik ini sangat dibutuhkan oleh

seorang teknisi dalam menjalankan tugasnya. Oleh karena itu pengukuran saat ini

menjadi suatu hal mendasar yang perlu dipelajari dalam bangku pendidikan.

Dalam dunia pendidikan, pengukuran tegangan listrik biasa dilakukan dengan bantuan

multimeter. Alat ini dapat mengukur tegangan dengan inputan sebuah probe yang

disentuhkan pada titik min dan plus dari sumber tegangan yang ingin diukur. Namun alat

ini hanya dapat menampilkan besarnya tegangan. Jadi peserta didik hanya dapat

mengetahui seberapa besar tegangan yang diukur. Untuk pemahaman tentang

elektronika diperlukan suatu alat yang lebih canggih dan lebih efektif dalam pengukuran

yaitu osiloskop. Osiloskop ini menghasilkan output berupa bentuk sinyal atau

Page 14: Scope Voltmeter

2

gelombang dari kuat tegangan alat yang sedang diukur, sehingga selain mengetahui

besarnya tegangan peserta didik juga dapat memahami tentang gelombang listrik.

Untuk menjalankan program pendidikan seperti itu memang tidak mudah, karena

osiloskop merupakan suatu alat yang tidak murah harganya. Untuk itulah proyek tugas

akhir ini dilakukan, fungsi dari osiloskop yang dapat menampilkan gelombang dan besar

tegangan dapat digantikan dengan sebuah aplikasi berbasis Java yang memanfaatkan

soundcard sebagai port masukan. Kemudian dengan sebuah alat yang didesain khusus

untuk mengalirkan tegangan dari sumber tegangan yang diukur ke soundcard, aplikasi

tersebut dapat menangkap gelombang dari tegangan yang masuk kemudian

menampilkannya.

Selain itu ada beberapa manfaat lainnya dari aplikasi ini, dengan pengembangan

teknologi jaringan maka aplikasi ini dapat menjadi sebuah aplikasi client-server. Dimana

aplikasi server bertugas sebagai monitoring pengukuran. Apabila diterapkan dalam

bidang pendidikan maka server dapat digambarkan sebagai seorang instruktur atau guru

yang melihat proses pengukuran yang sedang dilakukakan oleh siswanya. Fitur lainnya

berupa penyimpanan hasil pengukuran dalam database, dengan fitur ini seseorang dapat

melihat kembali data pengukuran yang telah disimpan dan menampilkan sampel

pengukuran tersebut.

I.2 TUJUAN

Proyek Tugas Akhir yang berjudul “Aplikasi Scope Volt Meter pada PC Memanfaatkan

Soundcard Sebagai Port Masukan” ini bertujuan untuk :

1. menghasilkan suatu perangkat lunak yang berfungsi untuk mengukur tegangan

listrik dan menampilkan gelombang listrik;

Page 15: Scope Voltmeter

3

2. menghasilkan aplikasi yang dapat membantu dalam mempelajari gelombang

listrik dan tegangan listrik.

I.3 PERUMUSAN MASALAH

Dalam pengerjaan proyek tugas akhir ini, permasalahan yang timbul antara lain :

1. mengubah level tegangan dari soundcard menjadi bentuk bit-bit digital dan

memetakannya dalam layar aplikasi;

2. menghitung nilai rata-rata akar kuadrat atau root mean square (RMS) dari level

tegangan masukan sebagai nilai awal dalam proses penyesuaian dengan level

tegangan aslinya;

3. proses pengkalibrasian atau penyesuaian nilai aplikasi dengan tegangan yang

sebenarnya;

4. penyimpanan sampel gelombang dan nilai ke dalam database.

I.4 BATASAN MASALAH

Pada pelaksanaan proyek tugas akhir ini, batasan masalahnya meliputi :

1. tegangan yang diukur merupakan tegangan AC;

2. batas tegangan yang dapat diukur sebesar 0 sampai dengan + 200 Volt AC;

3. server bertugas untuk memonitoring pengukuran dari client.

Page 16: Scope Voltmeter

4

I.5 METODOLOGI

Metoda yang digunakan dalam menyelesaikan proyek tugas akhir ini meliputi :

1. studi literatur.

Pada tahap ini dilakukan studi literatur tentang penggunaan library java sound,

pemetaan nilai pada layar aplikasi, konsep dasar soundcard, konsep dasar

perhitungan root mean square (RMS) dan proses pengkalibrasian;

2. pengumpulan dan pengamatan data.

Pada tahap ini dilakukan pengumpulan data berupa contoh aplikasi yang

mengakses soundcard dan skema rancangan perangkat keras untuk mengatur

tegangan yang masuk;

3. pembuatan perangkat keras dan perangkat lunak

Hasil dari studi literatur sampai pada pengumpulan dan pengamatan data

diterapkan ke dalam sebuah perangkat keras dan perangkat lunak yaitu sebuah

alat untuk mengatur level tegangan yang masuk ke soundcard dan aplikasi yang

dapat mengakses soundcard;

4. pengujian dan analisis

Hasil dari pembuatan perangkat keras dan perangkat lunak adalah menguji alat

dan aplikasi tersebut kemudian menganalisis hasil uji yang didapat untuk

mengetahui kesesuian dengan tujuan dan batasan serta melakukan proses

pengkalibrasian sehingga nilai aplikasi sesuai dengan level tegangan dari alat

yang diukur.

I.6 SISTEMATIKA PEMBAHASAN

Sistematika pembahasan dalam proyek tugas akhir ini disusun dalam bentuk bab-bab

yang secara garis besar dapat dijelaskan sebagai berikut :

Page 17: Scope Voltmeter

5

BAB I berisi tentang pendahuluan yang menjabarkan tentang topik , masalah

yang dikaji, tujuan, dan metoda penelitian.

BAB II berisi tentang teori-teori penunjang yang meliputi uraian tentang dasar

teori yang melandasi pengerjaan proyek tugas akhir

BAB III berisi tentang perancangan dan pembuatan sistem yang meliputi

perancangan model algoritma aplikasi , proses penghitungan nilai root mean square

(RMS) dan pengkalibrasian nilai.

BAB IV berisi tentang pengujian dan analisa terhadap aplikasi yang telah dibuat,

kemudian dibandingkan dengan perencanaan awal serta teori-teori dari proyek akhir

tentang kelebihan dan kekurangan sistem yang dibuat

BAB V berisi kesimpulan dan saran tentang sistem yang dibuat untuk

pengembangan dimasa mendatang.

I.7 PELAKSANAAN

I.7.1 Jadwal Pelaksanaan

Tabel I.1 Jadwal pelaksanaan tugas akhir

NO KEGIATAN FEBRUARI MARET APRIL

1 2 3 4 1 2 3 4 1 2 3 4

1 Pengumpulan bahan referensi

2 Perancangan alat dan aplikasi

3 Pembelian komponen alat dan bahan

4 Pembuatan alat dan aplikasi

5 Pengujian dan implementasi

6 Pembuatan laporan tugas akhir

Page 18: Scope Voltmeter

6

I.7.2 Pembagian Tugas

Dalam pelaksanaan tugas akhir ini, aplikasi yang dibuat dikerjakan oleh tiga orang

dengan pembagian tugas sebagai berikut :

a. Budi Pribowo (48910005)

Pembuatan alat (probe) dan aplikasi server, dengan rincian tugas :

- Membuat rangkaian probe untuk mengukur sumber tegangan;

- Membatasi tegangan yang masuk ke soundcard agar kurang dari 1 volt;

- Merancang algoritma dan analisis pemodelan aplikasi server untuk menerima

data dari client dalam suatu jaringan dengan menggunakan protokol UDP.

b. Febriansyah Razak (48910006)

Pembuatan aplikasi pengolah tegangan dan penyimpanan data, dengan rincian :

- Mengolah tegangan yang masuk ke soundcard untuk ditampilkan menjadi

gelombang;

- Menghitung nilai Root Mean Square (RMS) sebagai dasar dari nilai

pengukuran;

- Melakukan proses pengkalibrasian nilai RMS agar sesuai dengan nilai

tegangan yang sebenarnya;

- Menyimpan sample pengukuran ke database.

c. Abdul Khariri (48910002)

Pembuatan aplikasi client, dengan rincian tugas :

- Merancang algoritma dan analisis pemodelan aplikasi client untuk

mengirimkan data pengukuran dalam suatu jaringan dengan menggunakan

protokol UDP;

- Membuat aplikasi untuk pengaksesan data yang telah disimpan dari database

Page 19: Scope Voltmeter

7

BAB II

TINJAUAN PUSTAKA

II.1 VOLTMETER

Dalam dunia elektronika, untuk mengukur tegangan listrik biasanya digunakan sebuah

alat yang bernama multimeter. Alat ini biasanya memiliki tiga fungsi sekaligus yaitu

mengukur arus listrik (Ampere), mengukur tegangan (Volt), dan mengukur hambatan

(Ohm). Oleh karena itu, multimeter juga sering disebut sebagai avometer (Amper, Volt,

Ohm Meter).

Voltmeter merupakan suatu alat yang berfungsi untuk mengukur tegangan listrik.

Dengan ditambah alat multiplier akan dapat meningkatkan kemampuan pengukuran alat

voltmeter berkali-kali lipat. Multimeter dibagi menjadi dua jenis, antara lain :

1. multimeter analog

Multimeter analog menggunakan tampilan dengan penunjukkan jarum ke range-

range yang akan diukur dengan probe. Multimeter jenis ini tersedia dengan

kemampuan untuk mengukur hambatan (ohm), tegangan (volt) dan arus (mA).

Multimeter analog tidak digunakan untuk mengukur secara detail suatu besaran

nilai komponen tetapi kebanyakan hanya digunakan untuk memeriksa baik atau

tidaknya suatu komponen atau memeriksa suatu rangkaian apakah sudah

tersambung dengan baik sesuai dengan rangkaian blok yang ada.

Page 20: Scope Voltmeter

8

Gambar II.1 Multimeter analog

2. multimeter digital

Multimeter digital hampir sama fungsinya dengan multimeter analog tetapi

multimeter digital menggunakan tampilan angka digital. Multimeter digital

memiliki pembacaan pengukuran lebih tepat jika dibanding dengan multimeter

analog, sehingga multimeter digital dikhususkan untuk mengukur suatu besaran

nilai tertentu dari sebuah komponen secara mendetail sesuai dengan besaran yang

diinginkan.

Gambar II.2 Multimeter digital

Page 21: Scope Voltmeter

9

Gambar II.3 Bagian-bagian multimeter[8]

Bagian-bagian multimeter terdiri dari :

1. Meter korektor yang digunakan untuk menyetel jarum multimeter ke arah nol

saat akan dipergunakan.

2. Range Selector Switch yang merupakan saklar yang dapat diputar sesuai dengan

kemampuan batas ukur yang dipergunakan.

3. Terminal (+) dan (-) yang dipergunakan sebagai terminal probe, yang berwarna

merah untuk (+) sementara yang berwarna hitam untuk (-).

4. Pointer (jarum meter) adalah sebatang plat yang bergerak ke kanan dan ke kiri

yang menunjukkan besaran atau nilai.

5. Mirror (cermin) yang merupakan batas antara Ohmmeter dengan Voltmeter.

6. Skala yang berfungsi sebagai skala pembacaan.

7. Zero Adjustment yang digunakan sebagai pengatur jarum pada kedudukan nol.

8. Angka batas ukur adalah angka yang menunjukkan batas kemampuan alat ukur.

9. Kotak meter adalah kotak atau tempat meletakkan komponen-komponen

multimeter.

Page 22: Scope Voltmeter

10

II.2 SOUNDCARD DAN JAVA SOUND SAMPLE

Soundcard merupakan bagian dari komputer yang bertugas untuk mengubah suara

analog menjadi digital atau sebaliknya. Soundcard memiliki beberapa port yang

befungsi berbeda-beda antara lain :

1. Joystick / MIDI port

Port ini digunakan untuk menghubungkan instrument MIDI, seperti joystick untuk

bermain game.

2. Microphone input

Port ini digunakan khusus untuk input dari microphone komputer. Pada port ini

sudah ditentukan untuk merekam suara secara maksimal menggunakan microphone.

3. Line input

Port ini merupakan port khusus untuk melakukan proses perekaman audio agar

hasilnya maksimal. Line input berarti input jack yang memiliki line level. Line level

adalah standar nilai sebuah line input/output yang memiliki tegangan sekitar 200

milivolt yang kompatibel dengan peralatan stereo. Port ini tidak untuk dihubungkan

langsung dengan jenis microphone, gitar listrik, atau speaker. Port ini hanya

dihubungkan dengan line ouput port yang terdapat pada alat yang digunakan. Untuk

melalukan perekaman suara dari microphone menggunakan port ini diperlukan

sebuah alat tambahan yaitu pre-amp. Pre-amp akan memperkuat sinyal dari

microphone, karena sesungguhnya sinyal dari microphone sangat lemah dan tidak

mencapai level line, sehingga jika tidak menggunakan penguat maka suara rekaman

akan terdengar halus bahkan hampir tidak terdengar.

4. Line output

Port ini dapat dihubungkan dengan beragam insrumen yang memiliki input port,

seperti speaker aktif, mini compo, tape deck, atau amplifier. Pada soundcard laptop

Page 23: Scope Voltmeter

11

tidak terdapat port line output melainkan port headphone yang memiliki fungsi

hampir sama.

Soundcard merupakan sebuah media yang dapat digunakan komputer untuk

menghubungkannya dengan input lain dari luar seperti dalam hal ini tegangan. Untuk

melakukan proses pengolahan data digital diperlukan aplikasi yang dapat melakukan

pengolahan audio, aplikasi ini dapat dibuat dengan menggunakan bahasa pemrogaraman

Java. Pada pemrograman Java sudah tersedia paket Java Sound Sample yang memiliki

beragam fungsi untuk melakukan pengolahan data audio.

Java2 Platform menyediakan Application Programming Interface (API) yang handal

untuk proses merekam audio, memproses audio dan memainkan data audio dan data

Musical Instrument Digital Interface (MIDI). Java Sound memiliki fitur-fitur sebagai

berikut :

format audio file : AIFF, AU dan WAV

format file musik : MIDI dan Rich Music Format (RMF)

format suara : 8 dan 16 bit data audio, mono dan stereo, sample rate

dari 8 kHz sampai dengan 48 kHz

Java Sound API menyediakan level terendah yang disupport Java Platform, Java Sound

API juga menyediakan program dengan jumlah yang besar untuk mengontrol operasi

sound, sebagai contoh Java Sound API menyediakan mekanisme untuk pemasangan,

akses dan manipulasi sumber daya sistem seperti audio, mixer MIDI synthezier, MIDI

Devices, pembacaan dan penulisan file serta convert ke file format tertentu.

Page 24: Scope Voltmeter

12

Java Sound API mendukung audio digital dan MIDI data. Terdapat dua jenis paket

dalam library ini, antara lain :

1. javax.sound.sampled

paket ini dikhusukan untuk mengambil, mengolah, dan memainkan kembali digital

audio.

2. javax.sound.midi

paket ini didesain untuk MIDI Synthesis.

Paket Javax.sound.sampled menangani digital audio data yang mengacu pada sample

audio. Sample adalah pengambilan sinyal yang dilakukan secara terus-menerus. Dalam

hal audio, sinyal adalah sebuah gelombang suara. Sebuah microphone mengubah sinyal

analog menjadi sinyal elektrik yang sesuai, dan (Analog to Digital Converter) ADC pada

soundcard mengubah sinyal analog menjadi bentuk sampel digital.

Gambar II.4 Contoh gelombang suara[7]

Amplitudo dari gelombang sinyal analog adalah pengukuran secara berkala pada rate

tertentu yang mengakibatkan titik-titik yang berlainan pada sinyal audio digital.

Keakuratan pengukuran sinyal digital bergantung pada sampling rate dan jumlah bit per

Page 25: Scope Voltmeter

13

sample. Sebagai contoh (Compact Disc) CD menggunakan sample 44.100 kali per detik

yang diwakili dengan 16 bit per sample.

Java Sound API tidak membatasi pada konfigurasi hardware tertentu. Library ini

didesain untuk mengizinkan jenis komponen audio yang berbeda untuk dipasang di

sistem dan diakses oleh API. Java Sound API mendukung fungsi umum seperti input dan

output dari soundcard.

Dalam menangkap suara menggunakan Java Sound API, dibutuhkan paling tidak tiga

aspek, yaitu : audio data format , mixer dan line. Audio data format merupakan suatu

format standar. Java sound API membedakan antara data format dan file format. Dalam

menangkap data yang dibutuhkan digunakan data format sementara file format

digunakan untuk menyimpan data kedalam file seperti berekstensi .wav.

1. Data Format

Data format memberikan informasi bagaimana mengartikan sebuah byte dari sample

audio data yang masih mentah. Dalam Java Sound API, data format diwakilkan oleh

object AudioFormat, yang terdiri dari :

encoding

Pulse Code Modulation (PCM) adalah satu jenis dari encoding Sound Waveform.

Java Sound API terdiri dari dua PCM encoding yang menggunakan linear

quantization dan signed or unsigned integer values. Linear quantization merupakan

sebuah angka yang disimpan dalam tiap sample berbanding lurus terhadap

amplitudo suara yang asli. Mu-law encoding dan a-law encoding merupakan

encoding non linear yang menghasilkan versi audio data yang lebih dikompresi,

encoding ini biasa diterapkan untuk telphone atau merekam suara.

Page 26: Scope Voltmeter

14

Channel (mono – Stereo)

Channel atau kanal merupakan sebuah bagian format audio yang mengatur output

dari data audio. Mono yang berarti satu kanal dan stereo yang berarti dua kanal.

Sample rate

Sample rate merupakan sebuah pengambilan sampel data yang dilakukan per detik

pada setiap channel

Bit per sample (per channel)

Ketika sinyal audio diubah menjadi digital maka nilai dari sinyal tersebut akan

ditampung oleh bit per sample. Bit per sample ini dapat berupa 8 bit atau 16 bit per

channel.

Frame rate

Frame rate merupakan jumlah frame yang ditunjukkan setiap detik (frame per

second).

Frame Size in bytes

Frame Size merupaan angka dari channel yang dikalikan dengan sample size in bits

dan dibagi dengan bit dalam satu byte.

Byte order

Byte order merupakan penempatan byte dalam suatu memory, big endian akan

menempatkan byte sesuai urutan data yang masuk, sementara little endian akan

menempatkan urutan byte yang masuk pertama menjadi terakhir. Penerapan little

endian terdapat pada pengolahan data MIDI.

2. Mixer

Umumnya Application Programming Interface (API) untuk sound memanfaatkan

perangkat audio. Perangkat audio dalam hal ini dapat berupa software maupun

hardware. Dalam Java Sound API, perangkat tersebut diwakili oleh Object Mixer.

Kegunaan dari mixer adalah untuk menangani audio input dan audio output.

Page 27: Scope Voltmeter

15

Secara default Java Sound API akan mengakses mixer yang sedang aktif di komputer.

Namun apabila dibutuhkan, mixer juga dapat dibuat secara dinamis agar program dapat

memilih mixer yang ingin digunakan.

3. Line

Line adalah sebuah elemen dari digital audio, line merupakan sebuah jalur untuk keluar

masuk audio ke dalam sistem. Audio input dan audio output adalah bagian dari line.

Sebagai contoh audio input menggunakan microphone dan audio output menggunkaan

speaker. Line dalam sebuah konfigurasi audio input dapat digambarkan sebagai berikut :

Gambar II.5 Konfigurasi line untuk audio input[7]

Data mengalir ke mixer dari port input. Port input merupakan sebuah line input dari

perangkat audio, seperti microphone atau line-in. Kemudian mixer mengirim hasil

pengambilan data ke program melalui TargetDataLine. TargetDataLine merupakan

sebuah output mixer. Dalam audio input mixer, source line adalah port input seperti

microphone dan target line merupakan TargetDataLine yang mengirim audio ke

program aplikasi.

TargetDataLine menerima audio data dari mixer. Mixer telah menangkap audio data

dari input port seperti microphone, proses ini terjadi sebelum penempatan data ke buffer.

Buffer merupakan sebuah wadah yang berisi ukuran internal DataLine dalam Byte.

Buffer akan dibaca oleh TargetDataLine. TargetDataLine merupakan sebuah object

Page 28: Scope Voltmeter

16

yang berada di dalam DataLine. TargetDataLine interface menghasilkan sebuah metode

untuk membaca buffer dan untuk menentukan berapa banyak data yang saat ini tersedia

untuk dibaca.

Capture merupakan sebuah proses untuk mendapatkan sinyal dari luar komputer.

Capture merupakan bagian kecil dari proses perekaman. Dalam proses perekaman, data

disimpan ke dalam sebuah tempat penyimpanan (storage) dan dapat dimainkan kembali,

namun dalam proses capture data yang diterima akan di tampilkan kemudian di buang

setelah proses selesai tanpa adanya media penyimpanan.

Dalam proses capture sebuah port input seperti microphone/line in memberikan audio

data yang datang melalui mixer yang kemudian dikirimkan ke TargetDataLine.

TargetDataLine, terdiri dari :

1. method read untuk mengambil audio dari mixer;

2. method available untuk menentukan berapa banyak data yang dapat dibaca dari

buffer.

Untuk menyeting TargetDataLine dapat ditulis :

TargetDataLine line;

DataLine.Info info = new DataLine.Info(TargetDataLine.class,

format);

line = (TargetDataLine) AudioSystem.getLine(info);

line.open(format);

Setelah line terbuka, maka proses capture data dapat dilakukan. Untuk itu gunakan

method start pada DataLine. Proses ini akan mulai mengirimkan audio data input ke

Page 29: Scope Voltmeter

17

aplikasi line buffer untuk dibaca. Berikut contoh kode program untuk memulai dan

membaca TargetDataLine :

//diasumsikan line sudah terbuka dan siap digunakan

ByterrayOutputStream out = new ByteArrayOutputSteram();

Int numBytesRead;

int bufferSize = (int) 800;

Byte[] data = new byte[bufferSize];

//memulai capture

Line.start;

While(!stopped) {

//membaca data dari TargetDataLine

numBytesRead = line.read(data, 0, data.length);

//menyimpan capture data

out.write(data, 0, numBytesRead);

}

Read method dari TargetDataLine membutuhkan tiga argumen : byte array, titik awal

pembacaan, dan titik akhir yang ingin dibaca. Dapat dituliskan sebagai berikut :

Int read(byte[] b, int offset, int length);

Sedangkan untuk menuliskannya ke dalam ByteArrayOutputStream diperlukan format :

out.write(byte[] b, int offset, variable method read);

ByteArrayOutputStream merupakan sebuah object pada library input ouput pada

java.io.ByteArrayOutputStream yang digunakan untuk membuat buffer dalam memori.

Semua data yang dikirim akan disimpan di memori ini.

Page 30: Scope Voltmeter

18

II.3 KONSEP JARINGAN CLIENT-SERVER

Client – server adalah arsitektur jaringan yang memisahkan client dengan server.

Masing- masing client dapat meminta data atau informasi dari server. Sistem client -

server di definisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan

karakteristik yaitu :

1. Service (Layanan)

- Hubungan antara proses yang berjalan pada mesin yang berbeda;

- Pemisahan fungsi berdasarkan ide layanannya

- Server sebagai provider, client sebagai konsumen

2. Sharing resource (Sumber daya)

- Server bisa melayani beberapa client pada waktu yang sama dan meregulasi

akses bersama untuk share sumber daya dalam menjamin konsistensiya.

3. Asymmetrical Protocol (Protokol yang tidak simetris)

- Asymmetrical Protocol merupakan hubungan many to one antara client dan

server. Client selalu menginisialisasikan dialog melalui layanan permintaan dan

server menunggu secara pasif request dari client.

4. Transparasi lokal

- Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada

mesin yang berbeda melalui jaringan. Lokasi server harus mudah diakses dari

client.

5. Mix and Match

- Perbedaan client server platform

6. Pesan berbasiskan komunikasi

- Interaksi server dan client melalui pengiriman pesan yang menyertakan

permintaan atau jawaban

7. Pemisahan interface dan implementasi

- Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang

diterbitkan tidak berubah

Page 31: Scope Voltmeter

19

Perbedaan tipe client – server meliputi :

1. File Server

- Tipe ini merupakan tipe jaringan untuk sharing file melalui jaringan

2. Database Server

- Client mengirimkan SQL request sebagai pesan pada database server,

selanjutnya hasil perintah SQL dikembalikan;

- Server memproses request dari client untuk menemukan data yang diminta

dan kemudian semua record dikembalikan kepada client

3. Transaction Server

- Client meminta remote procedures yang terletak pada server dengan sebuah

SQL database engine;

- Remote procedures ini mengeksekusi sebuah grup dari SQL Statement;

- Hanya satu permintaan atau jawaban yang dibutuhkan untuk melakukan

transaksi.

4. Groupsware Servers

- Dikenal sebagai computer-supported cooperative working;

- Manajemen semi – struktur informasi seperti teks, image dan aliran kerja;

- Data diatur sebagai dokumen.

5. Object Application Servers

- Aplikasi client – server ditulis sebagai satu set obyek komunikasi.

- Client object berkomunikasi dengan server objects melalui Object Request

Broker (ORB);

- Client meminta sebuah method pada remote object.

6. Web Application Server (aplikasi web server)

- World Wide Web (www) adalah aplikasi client – server yang pertama

digunakan untuk web

- Client dan server berkomunikasi menggunakan protokol HTTP.

Page 32: Scope Voltmeter

20

II.4 PEMROGRAMAN JAVA PADA JARINGAN

Pemrograman jaringan dikembangkan untuk menyambungkan proses-proses komputasi

yang berjalan dalam mesin-mesin yang berbeda dan terhubung dalam suatu jaringan

komputer. Untuk mengirimkan data dari sebuah proses ke proses lainnya memerlukan

pipa untuk menghubungkan keduanya. Maka masing-masing proses akan memegang

satu ujung. Setiap ujung dari pipa data disebut socket. Socket merupakan IP dan Port

pada sebuah host mesin yang spesifik. Socket adalah sebuah konsep yang telah

berkembang pada paradigma bahasa pemrograman untuk beberapa waktu. Socket

pertama kali digunakan pada sistem Unix pada tahun 1970-an dan sekarang socket

merupakan standar low-level komunikasi primitif. Sebenarnya ada dua jenis socket, yaitu

connection-oriented socket, yang termasuk dalam Transport Control Protocol,(TCP)

dan connectionless socket, yang berdasar pada User Datagram Protocol (UDP). Jika

dianalogikan, komunikasi socket merupakan komunikasi dua arah antar komputer

dengan jalur pipa sebagai penghubungnya dan masing-masing pipa tersebut tertancap

pada sebuah gerbang tertentu yang dinamakan port. Siklus dari sebuah socket terdiri dari

tiga fase, antara lain :

1. creation : inisialisasi untuk membuat socket;

2. reading and writing : menerima dan mengirim data ke sebuah socket;

3. destruction : menutup/mengakhiri socket.

Java menyediakan utilitas yang lengkap untuk pemrograman network yang dibundel

dalam package java.net.* dan javax.net.*. Java menyediakan dua buah tipe socket yang

berbeda dan sebuah socket spesial untuk berkomunikasi antar node yaitu:

1. TCP sockets (connection -oriented socket) yang diimplementasikan pada kelas

java.net.Socket

2. UDP sockets (connection -less socket) yang diimplentasikan oleh kelas

java.net.DatagramSocket.

Page 33: Scope Voltmeter

21

Gambar II.6 Ilustrasi komunikasi menggunakan socket[10]

II.5 DATABASE MySQL

MySQL merupakan sebuah aplikasi pengolahan data yang berdasarkan pada bahasa

Structured Query Language (SQL). Bahasa tersebut merupakan bahasa standar yang

digunakan untuk mengolah, menyimpan, memanipulasi data dari sebuah database pada

server. Dalam bahasa SQL pada umumnya informasi tersimpan dalam tabel-tabel yang

merupakan struktur dua dimensi terdiri dari baris (row atau record) dan kolom (column

atau field). Sedangakan pada sebuah database dapat terdiri dari beberapa table.

Kolom 1 Kolom 2 Kolom 3 Kolom (n)

Baris 1

Baris (n)

Gambar II.7 Spesifikasi tabel pada database

Page 34: Scope Voltmeter

22

Saat ini telah banyak Database yang tersedia. Bagaimanapun konsep dasar SQL tetap

sama apapun jenis database yang dipergunakan. Dalam pengolahan data pada aplikasi

yang menggunakan database secara umum dikenal dengan konsep CRUD yaitu Create,

Read, Update, dan Delete. Dengan adanya CRUD maka aplikasi yang berhubungan

dengan database dapat distandarisasikan.

MySQL adalah suatu Relational Database Management System (RDBMS) yang

mendukung database agar terdiri dari sekumpulan relasi atau tabel. Di dalam suatu

database RDBMS terdapat entitas dan relationship. Entitas adalah berbagai hal dalam

dunia nyata yang informasinya dapat disimpan dalam database. Sementara relationship

merupakan hubungan antar entitas. Relationship terdiri dari tiga derajat yang berbeda,

yaitu :

1. one-to-one menghubungkan secara tepat dua entitas dengan satu kunci (key);

2. one-to-many (many-to-one) hubungan antar entitas dimana kunci (key) pada satu

tabel muncul berkali-kali pada tabel lainnya;

3. many-to-many berarti banyak field pada sebuah tabel berhubungan dengan

banyak field pada tabel lainnya.

Perintah-perintah pada bahasa SQL yang digunakan secara umum antara lain :

Create : untuk membuat atau menciptakan objek baru

create database kampus

maka akan tercipta sebuah database kampus;

create table mahasiswa (nim varchar(15) not null primary key,

nama varchar(50) not null, kelas varchar(5) not null)

Maka akan tercipta sebuat table mahasiswa yang terdiri dari kolom nim, nama,

dan kelas.

Page 35: Scope Voltmeter

23

Untuk memanipulasi database dapat digunakan perintah :

Select : digunakan untuk mengambil data dari table pada suatu database

Select * from mahasiswa

Menampilkan semua record data yang terdapat pada table mahasiswa

Delete : digunakan untuk menghapus record data dari table pada suatu database

Delete from mahasiswa;

Menghapus semua record yang berada pada table mahasiswa

Insert : digunakan untuk menambahkan record data pada table

Insert into mahasiswa (nim, nama, kelas) value (‘48910006,

‘Febriansyah Razak’, ‘TKJ’);

Menambahkan record dengan nim 48910006 pada table mahasiswa

Update : digunakan untuk memodifikasi data pada database

Update mahasiswa set nama = ‘Febri’, kelas = ‘TKJ where nim =

‘48910006;

Mengubah record pada field nama menjadi „Febri‟ dengan nim = „48910006‟

Selain itu terdapat juga perintah-perintah lainnya seperti :

Show : Untuk menampilkan seluruh database yang telah terbuat.

Show databases;

Use : Untuk menggunakan suatu database sehingga dapat merubah data yang ada

di dalamnya

Page 36: Scope Voltmeter

24

use kampus;

Desc : Untuk menampilkan struktur table pada suatu database

desc mahasiswa;

Maka akan tampil struktur table mahasiswa yang terdiri dari beberapa field dan

attributnya. Selain menggunakan query seperti diatas, proses eksekusi database

juga dapat digunakan melalui bantuan interface MySQL-Front. Dalam aplikasi

ini seluruh query sudah diadaptasi menjadi tombol sehingga memudahkan

pengguna dalam melakukan pengoperasian database.

Gambar II.8 Tampilan MySQL-Front

Page 37: Scope Voltmeter

25

II.6 TEORI DASAR INVERTING

Inverting amplifier (penguat pembalik) menggunakan umpan balik negatif untuk

membalik dan menguatkan sebuah tegangan. Resistor Rf melewatkan sebagian sinyal

keluaran kembali ke masukan Penguatan pembalik dapat dirumuskan sebagai berikut :

Pers. (2.1)

Gambar II.9 Penguat inverting

[5]

Sinyal masukan dari penguat jenis ini melalui masukan inverting dari penguat dengan

tanda minus (-). Sinyal masukan berbeda fasa 180o dengan sinyal keluarannya.

Vin merupakan tegangan yang masuk, dalam hal ini Vin merupakan tegangan yang

diukur dari sumber tegangan (alat yang diukur).

Rin merupakan hambatan berupa resistor yang nilainya tetap.

Rf merupakan hambatan berupa resistor yang nilanya dinamis sesuai dengan

pemilihan skala.

Vout merupakan tegangan keluar dari rangkaian yang dibuat untuk masuk ke

soundcard.

Untuk membatasi tegangan tersebut diperlukan sebuah IC yang berfungsi sebagai

pengatur tegangan yaitu IC TL 082

Page 38: Scope Voltmeter

26

BAB III

PERANCANGAN PEMBUATAN SISTEM

III.1 SPESIFIKASI SISTEM

Sistem yang dibuat merupakan aplikasi untuk mengukur tegangan listrik AC yang dapat

menampilkan bentuk gelombang dan nilai tegangan listrik dengan besar tegangan dari

sumber tegangan yang diukur mulai dari 0 – 200 volt. Spesifikasi sistem meliputi :

1. Probe dapat mengukur tegangan mulai dari 0 – 200 volt dengan skala pengukuran

1:1, 1:5, 1:10, 1:100 dan 1:200;

2. Tegangan yang keluar dari probe dibatasi hingga kurang atau sama dengan 1 volt

untuk masuk ke dalam soundcard;

3. Aplikasi dapat mengukur tegangan AC yang masuk melalui soundcard;

4. Apliksi dapat memetakan nilai tegangan yang masuk menjadi kordinat pada layar

dan menghubungkannya dengan garis sehingga membentuk gelombang;

5. Aplikasi dapat menampilkan nilai Root Mean Square (RMS) yang telah dikalibrasi

agar sesuai dengan tegangan asli dari sumber tegangan;

6. Client dapat mengirimkan data hasil pengukuran kepada server melalui jaringan

dengan menggunakan protokol UDP;

7. Server dapat memonitoring hasil pengukuran yang dilakukan client;

8. Client yang sedang melakukan pengukuran dapat menyimpan hasil pengukuran

pada databse dan dapat mengakses database yang telah disimpan;

Page 39: Scope Voltmeter

27

III.2 RANCANGAN SISTEM GLOBAL

Gambar III.1 Rancangan sistem global

Desain aplikasi ini ditujukan sebagai aplikasi pengukuran terhadap tegangan, tegangan

yang diukur melalui probe akan menghasilkan suatu sinyal listrik yang akan dirubah

menjadi digital dan ditampilkan oleh aplikasi. Secara sistem global aplikasi ini dapat

berjalan pada sebuah jaringan client-server dengan menggunakan protokol UDP, fitur

tambahan lainnya berupa penyimpanan data pengukuran pada database MySQL yang

dapat ditampilkan kembali pada aplikasi client.

Mengirim Data

Pengukuran (UDP)

Komputer A Komputer Server Database

Range Selector

Aplikasi Scope

VoltMeter

Input Port (Sound Card)

Komputer B

Aplikasi Scope DB Client

/ Monitoring Server

jdbc

jdbc

Database

Server

Mengakses

database

Menyimpan dan

mengakses

database

Page 40: Scope Voltmeter

28

III.3 RANCANGAN PROBE

Probe yang dimaksud merupakan media untuk menghantarkan sinyal listrik yang diukur

dan keluarannya akan masuk pada port input Soundcard. Untuk memilih batasan sinyal

listrik yang diukur diperlukan suatu rangkaian selector dengan menerapkan penguat

inverting. Dengan tujuan untuk membatasi sinyal listrik yang masuk pada port input

soundcard. Berikut tabel batasan pengukuran rangkaian selector :

Tabel III.1 Batasan pengukuran sinyal listrik

Range Selector Vin Vout

x1 ≤ 1 volt ≤ 1 volt

x5 ≤ 5 volt ≤ 1 volt

x10 ≤ 10 volt ≤ 1 volt

x100 ≤ 100 volt ≤ 1 volt

x200 ≤ 200 volt ≤ 1 volt

Karena tegangan yang masuk ke soundcard memiliki batas maksimal 1 volt maka

dengan adanya range selector yang dibentuk dengan menggunakan komponen

elektronika IC TL 082 untuk pengutan inverting, maka tegangan yang masuk pada

soundacard dapat dibatasi hanya mencapai kurang dari 1 volt. Range Selector memiliki

pilihan dari x1 sampai x200 yang berarti dapat mengukur tegangan mencapai 200 volt

dan menjadikannya 1 volt. Pada rangkaian selector dibutuhkan dua buah penguat

inverting, dimana penguat inverting pertama untuk memilih tegangan yang akan diukur

dan penguat inverting kedua untuk membalikkan sinyal listrik yang dihasilkan oleh

penguat inverting pertama.

Page 41: Scope Voltmeter

29

Flowchart rangkaian probe scope volt meter

Gambar III.2 Flowchart rangkaian probe scope volt meter

Y

Y

Y

Y

Y

T

T

T

T

Mulai

Baca tegangan

(Vi)

If vi ≤ 1

If 1v <

Vi ≤ 5v

If 5v <

Vi ≤ 10 v

Posisi saklar

selector = x1

Posisi saklar

selector = x5

Posisi saklar

selector = x10

Kirim ke port

input soundcard

selesai

If 10v <

Vi ≤ 100v

If 100v <

Vi ≤ 200v

Posisi saklar

selector = x100

Posisi saklar

selector = x200

Tegangan tidak

dapat diukur

T

Page 42: Scope Voltmeter

30

Rangkaian probe scope volt meter.

Gambar III.3 Rangkaian probe scope volt meter

Probe scope volt meter yang dibuat menggunakan lima pilihan range selector, yaitu

skala 1 (x1), skala 5 (x5), skala 10 (x10), skala 100 (x100) dan skala 200 (x200). Range

selector tersebut berfungsi untuk membatasi tegangan yang masuk ke soundcard dengan

menggunakan komponen elektronika IC TL082 yang menerapkan teori penguat

inverting. Hasil dari proses tersebut akan mengakibatkan polaritas tegangan menjadi

berbanding terbalik dari posisi polaritas tagangan semula sehingga diperlukan penguat

inverting kembali untuk membalikkan polaritas agar tetap seperti semula. Jika memang

diperlukan polaritas yang berbanding terbalik dari posisi polaritas tegangan semula

maka tersedia saklar yang berfungsi untuk langsung mengalirkan tegangan setelah

proses inverting yang pertama sebagai tegangan keluar tanpa adanya proses pembalikan

atau inverting yang kedua.

Page 43: Scope Voltmeter

31

III.4 CARA KERJA APLIKASI

Gambar III.4 Proses pembentukan grafik dan nilai

Aplikasi ini dibuat menggunakan bahasa pemrograman Java dengan library

javax.sound.sampled dimana library ini akan mengolah data yang berasal dari

soundcard kemudian ditampung pada buffer dan ditulis ke ByteArrayOutputStream

sebagai nilai ouput, kemudian nilai tersebut diolah menjadi sebuah grafik dan

perhitungan Root Mean Square (RMS). RMS merupakan ukuran statis dari suatu

besaran yang memiliki nilai magnitud yang bervariasi (berubah secara terus menerus

Javax.sound.sampled [Data Format]

Mixer

Soundcard

input

TargetDataLine

ByteArrayOutputStream

Nilai

Output Grafik Wave

Nilai Kalibrasi RMS

RMS

Kalibrasi

buffer

inputMicrop

hone

input

Page 44: Scope Voltmeter

32

dalam suatu selang waktu). Perhitungan RMS dilakukan dengan cara mengambil nilai

rata-rata akar kuadrat dari sample data yang dapat dirumuskan :[12]

Pers. (3.1)

Dengan :

𝑥1, 𝑥2, 𝑥𝑛 merupakan sampel data pengukuran;

𝑛 merupakan jumlah dari sampel data yang diambil.

Setelah itu nilai RMS yang didapat akan dilakukan penyesuaian (proses kalibrasi)

dengan nilai asli pada multimeter sebagai pembanding, proses ini dilakukan dengan

menggunakan rumus persamaan linear :[13]

Pers. (3.2)

Dimana variable y adalah nilai pengukuran asli pada multimeter, variable a merupakan

pengali pada variable x, variable x merupakan nilai RMS dan variable b merupakan

penambah. Melalui proses ini akan didapat suatu garis linear yang mewakili semua data.

Dari nilai tersebutlah proses kalibrasi dapat dilakukan.

Dalam kode program, fungsi dari perhitungan RMS dan proses kalibrasi dapat ditulis

sebagai berikut :

Page 45: Scope Voltmeter

33

public void hitungRMS()

{

// proses perhitungan nilai RMS

long lSum = 0;

for (int i = 0; i < bufferAsyn.length; i++)

{

lSum = lSum + bufferAsyn[i];

}

double dAvg = lSum / bufferAsyn.length;

double sumMeanSquare = 0;

for (int j = 0; j < bufferAsyn.length; j++)

{

sumMeanSquare= sumMeanSquare + Math.pow(bufferAsyn[j] - dAvg, 2);

}

double averageMeanSquare = sumMeanSquare / bufferAsyn.length;

double rms, adjRms;

rms = (Math.pow(averageMeanSquare, 0.5));

RMSmurni.setText("" + rms);

RMSmurni.setVisible(false);

// proses kalibrasi

double a = 4.5538, b = 1.9136, y = 0, x = 0;

x = (rms - b) / a;

if (x < 0)

{

x = 0;

}

BigDecimal nKalibrasi = new BigDecimal(x);

nKalibrasi = nKalibrasi.setScale(pre, RoundingMode.UP);

x = nKalibrasi.doubleValue();

labelNilai.setText("" + x);

}

III.5 FLOWCHART PROGRAM

T

Mulai

Cari port input default

If default =

tersedia

Page 46: Scope Voltmeter

34

Gambar III.5 Flowchart Aplikasi Scope Volt Meter

Tampil garis penghubung

antar titik

Pesan Error :Line

tidak tersedia

Hitung RMS dan Hitung Kalibrasi

Page 47: Scope Voltmeter

35

Berikut ini merupakan kode program untuk memetakan titik pada layar dan

menghubungkan garis antar titik sehingga membentuk gelombang.

while (running) {

kuat = gainSlider.getValue();

reGain = gainSlider.getValue();

penguatNilai.setText(""+reGain);

int count = line.read(bufferAsyn, 0, buffer.length);

if (count > 0) {

if(sliderTepat.getValue()==0){

lblNilaiAwal.setText("normal");

}else{

lblNilaiAwal.setText(""+sliderTepat.getValue());

}

out.write(bufferAsyn, 0, count);

for ( int i = sliderTepat.getValue()+20; i < buffer.length; i++)

{

z.setColor(Color.blue);

z.drawLine(0, titikNol, batasLebar, titikNol);

z.setColor(Color.black);

z.fillOval(i, titikNol - bufferAsyn[i]*reGain, 1, 1);

if (i < 1) {

z.drawLine(i, titikNol - bufferAsyn[i]*reGain, i, titikNol

- bufferAsyn[i]*reGain);

} else {

z.drawLine(i - 1, titikNol - bufferAsyn[i - 1]*reGain, i,

titikNol - bufferAsyn[i]*reGain);

}

}

}

hitungRMS();

jPanel1.repaint();

out.close();

}

Page 48: Scope Voltmeter

36

Flowchart aplikasi ini dimulai dengan mengenali port input default pada soundcard,

kemudian aplikasi akan membuka akses dan mengirim sinyal digital ke memory, setelah

itu data akan dipetakan ke dalam layar aplikasi dengan menjadikannya titik kordinat,

kemudian setiap titik akan dihubungkan dengan garis. Setelah itu data tersebut akan

diolah menjadi nilai RMS yang kemudian dengan proses pengkalibrasian akan

menghasilkan suatu nilai yang dapat mewakili pengukuran.

Gambar III.6 Flowchart aplikasi client

Aplikasi client pada perancangan akan disatukan dengan aplikasi utama scope volt

meter, flowchart tidak digabung karena memiliki sistem dan fungsi yang berbeda dari

sistem aplikasi utama

Mulai

Kirim data pengukuran

Masukan ip dan

port server

If selesai =

true

Selesai

If ip dan port =

tersedia

Pesan error : ip dan

server tidak tersedia T

Y

Y

T

Page 49: Scope Voltmeter

37

public class SendRequest {

SendRequest() {

try {

DatagramSocket socket;

DatagramPacket packet;

InetAddress address;

socket = new DatagramSocket();

String dip = txtIP.getText();

address = InetAddress.getByName(dip);

String port = txtPort.getText();

int pnum = Integer.parseInt(port);

packet = new DatagramPacket(bufferAsyn, bufferAsyn.length,

address, pnum);

socket.send(packet);

socket.close();

} catch (IOException io) {

}

}

}

Kelas SendRequest ini merupakan sebuah fungsi yang berada dalam form aplikasi scope

volt meter yang berfungsi untuk mengirimkan data pengukuran kepada server tujuan.

Pengukur akan diminta untuk memasukkan alamat ip server dan nomor port yang telah

ditentukan untuk berkomunikasi kemudian data pengukuran yang telah ditampung dalam

variable bufferAsyn akan dikirimkan setelah socket terbuka. Apabila packet yang

dikirmkan telah selesai maka socket akan ditutup dan komunikasi berakhir.

Page 50: Scope Voltmeter

38

Tampilkan data client dalam

grafik

Gambar III.7 Flowchart aplikasi server scope volt meter

Hitung RMS dan Kalibrasi

Mulai

Buka socket untuk menerima data

dari client

Terima dan baca data dari

client

Tampilkan nilai kalibrasi

Selesai

If selesai = true

Tutup socket dan koneksi

T

Y

Page 51: Scope Voltmeter

39

Berikut merupakan kode program form server untuk menerima dan menampilkan data.

for (int i = 0; i < str.length; i++) {

DatagramPacket packet = new DatagramPacket(buffer, buffer.length,

str[i], port);

socket.receive(packet);

addresStr[i] = packet.getAddress().toString();

Graphics layar = drawPanel.getGraphics();

int titikNol = drawPanel.getHeight() / 2 +2;

if(sliderPosAwal.getValue()==0){

lblPosAwal.setText("normal");

}else{

lblPosAwal.setText(""+sliderPosAwal.getValue());

}

for (int j = sliderPosAwal.getValue()+20; j < 800; j++) {

layar.setColor(Color.blue);

layar.drawLine(0, titikNol, drawPanel.getWidth(),

titikNol);

layar.setColor(Color.black);

layar.fillOval(j, titikNol - buffer[j]*reGain, 1, 1);

if (j < 1) {

layar.drawLine(j, titikNol - buffer[j]*reGain, j, titikNol

- buffer[j]*reGain);

} else {

layar.drawLine(j - 1, titikNol - buffer[j - 1]*reGain, j,

titikNol - buffer[j]*reGain);

}

}

repaint();

hitungRMS();

}

Page 52: Scope Voltmeter

40

Gambar III.8 Flowchart aplikasi database client

Mulai

Buka Koneksi ke Database

Pilih data yang ingin ditampilkan

Tampilkan database

Baca id data yang terpilih

Baca Nilai dari database

Tampilkan 800 nilai pertama

Tampilkan garis penghubung antar titik

Tampilkan nilai RMS terakhir

Selesai

If koneksi

tersambung

Pesan error : tidak ada

koneksi

T Y

Page 53: Scope Voltmeter

41

Berikut merupakan kode program untuk menyimpan hasil pengukuran ke dalam

database.

public void SimpanGrafik() {

try {

konekDB objkoneksi = new konekDB();

Connection con = (Connection) objkoneksi.bukakoneksi();

String namaAlat = txtAlat.getText();

for (int i = 0; i < bufferAsyn.length; i++) {

String sql = "insert into grafik_info (nama, nilai, rms, id_hub, waktu)

values ( '" + namaAlat + "'," + bufferAsyn[i]*reGain + "," + x + ", " +

txt_idAlat.getText() + ",(select CURRENT_TIMESTAMP))";

PreparedStatement stat = (PreparedStatement)

con.prepareStatement(sql);

try {

stat.executeUpdate();

} catch (SQLException ser) {

System.out.println("ada yang salah dalam query " + ser);

}

if (saving == false) {

stat.close();

}

}

} catch (Exception e) {

System.out.println("gagal pemanggilan koneksi sql " + e);

}

}

Page 54: Scope Voltmeter

42

III.6 KAMUS DATA

Fitur tambahan aplikasi ini adalah proses penyimpanan data dalam database, database

yang perlu dipersiapkan untuk aplikasi ini adalah database osiloskop dengan table

grafik_info, table ini akan menampung seluruh data ketika proses penyimpanan

dilakukan.

Tabel III.2 Kamus data tabel grafik_info pada database osiloskop

Nama Kolom Tipe Data Keterangan Kunci Utama

Sequence Int Auto increment Primary Key

Nilai Int

Rms Double

Waktu Timestamp Current timestamp

Id_alat int

Pada pemanggilan data dari database digunakan aplikasi scope DB client, aplikasi ini

akan menampilkan sejumlah sampling data yang berhasil direkam oleh database.

Page 55: Scope Voltmeter

43

III.7 STRUKTUR RANCANGAN APLIKASI

Gambar III.9 Struktur Rancangan Aplikasi

Tabel III.3 Spesifikasi atribut pada aplikasi

No. Nama Fungsi

1. Menu : Pilihan bar tabulasi dalam Aplikasi

2. Server : Menu untuk membuka layanan Client – Server

3. Aplikasi : Menu untuk membuka layanan aplikasi Scope

Meter

4. Bantuan : Menu untuk membuka layanan bantuan aplikasi

5. Monitoring Server : Tombol untuk mengaktifkan aplikasi Server untuk

Monitoring Pengukuran

6. Scope Volt Meter : Tombol untuk mengaktifkan aplikasi Volt Meter

client untuk melakukan pengukuran langsung

Menu

Server Aplikasi Bantuan

Monitoring

Server

Scope Volt

Meter

Scope DB

Client

Tentang

Aplikasi

Manual

Aplikasi

Keluar

Page 56: Scope Voltmeter

44

7. Scope DB Client : Tombol untuk mengaktifkan aplikasi pembacaan

database dan menampilkan hasil pengukuran yang

telah tersimpan

8. Tentang Aplikasi : Tombol untuk mengaktifkan jendela tentang

informasi mengenai aplikasi

9. Manual Aplikasi : Tombol untuk membuka file yang berisi manual

aplikasi

10. Keluar : Tombol untuk menutup aplikasi

Gambar III.10 Desain Awal Aplikasi

3. Layar Gelombang

a b c d e

f

g

h

i

j k l

1. Panel

Capture

2. Panel Penyimpanan

4. Panel Nilai 5. Panel Pengiriman

Page 57: Scope Voltmeter

45

Keterangan Gambar :

1 Panel Capture

Panel untuk melakukan proses capture data

a Tombol Start : Digunakan untuk memulai capture data

b Tombol Stop : Digunakan untuk memberhentikan capture

data

2 Panel Penyimpanan

c TextField Nama

Alat

: Digunakan untuk menampung nama alat yang

sedang diukur

d Tombol Simpan : Digunakan untuk memulai penyimpanan data

ke database

e Tombol Berhenti : Digunakan untuk menghentikan proses

penyimpanan data ke database

3 Layar Gelombang

Layar yang digunakan untuk menampilkan gelombang dari hasil

pengukuran

4 Panel Nilai

f Nilai Kalibrasi V

RMS

: Text yang menampung nilai pengukuran

g Sampling Rate : Text yang menampung data sampling rate

yang digunakan

5 Panel Pengiriman

h TextField IP : Text yang menampung IP Server tujuan

untuk pengiriman data pengukuran

i TextField Port : Text yang menampung port tujuan untuk

Page 58: Scope Voltmeter

46

pengiriman data pengukuran

j Tombol Kirim : Tombol yang berfungsi untuk memulai

proses pengiriman data ke server

k Tombol Selesai : Tombol yang berfungsi untuk mengakhiri

proses pengiriman data ke server

l Tombol Keluar : Tombol yang berfungsi untuk menutup

Aplikasi Scope Volt Meter yang sedang aktif

Gambar III.11 Desain aplikasi server

Layar

a b c

Koneksi

e

Display

Tegangan

Aplikasi Server Osiloskop Volt Meter

d

d

Page 59: Scope Voltmeter

47

Aplikasi server terdiri dari bagian-bagian yang mempunyai fungsi untuk mengatur atau

menampilkan data, antara lain :

a. Tombol Terima untuk memulai pendengaran apakah ada klien yang terhubung;

b. Tombol Berhenti untuk menutup interaksi aplikasi server dengan klien yang

terhubung;

c. Panel Koneksi, pada bagian ini digunakan untuk melihat klien yang terhubung

dengan server;

d. Layar osiloskop volt meter, untuk menampilkan data yang diterima dalam bentuk

seperti grafik gelombang sinyal listrik;

e. Tombol Keluar untuk keluar dari program aplikasi server.

Page 60: Scope Voltmeter

48

BAB IV

PENGUJIAN SISTEM

Uji coba sistem diperlukan untuk mengetahui apakah spesifikasi yang telah dibangun

dapat berjalan dengan baik dan memenuhi spesifikasi yang telah ditentukan. Uji coba

telah dilakukan beberapa kali dengan tipe pengujian yang berbeda-beda.

IV.1 SPESIFIKASI SISTEM PENGUJIAN

Pengujian Aplikasi dilakukan dengan spesifikasi sistem sebagai berkut :

1. Sistem Operasi : Microsoft Windows 7

2. JDK : JDK 1.6.0_14

3. JRE : JRE 1.6.0_14

4. Database : MySQL Server 5.5

5. Soundcard Driver : Realtek High Definition Audio

6. Microphone Level : 58

7. Skala Pengukuran : 100

8. Multi Meter :

Jenis : Digital Multimeter

Merk : Cadik

Tipe : CM-888D

Produksi : Cadik-Tech Tool Co,.Ltd.

Buatan : Taiwan

Skala Ukur : 200 AC

Page 61: Scope Voltmeter

49

IV.2 PENGUJIAN RANGKAIAN PROBE

Pengukuran yang dilakukan pada rangkaian probe osiloskop volt meter adalah untuk

mengetahui besar sinyal listrik pada keluaran sesuai dengan posisi pemilihan saklar.

Alat dan bahan pengujian rangkaian probe osiloskop volt meter :

1. digital multimeter merek cadik model cm-888D

2. battery AA sony 1.2 V

3. battery Sony Ericsson 3.6V

4. transformator adaptor 12V, 15V, 18V

5. modul dengan keluaran tegangan variabel 0-10VAC

Pengukuran dilakukan pada catudaya rangkaian +11.86V dan -11.98V.Titik pengukuran

pada Vi dan Vo, dimana besar tegangan yang diberikan di Vi adalah dari modul

tegangan variabel 0-10VAC.

Skala 1 : 1

Tabel IV.1 Pengujian skala 1 : 1

No Tegangan masukan Tegangan keluaran

1 0.1 0.1

2 0.2 0.2

3 0.3 0.3

4 0.4 0.3

5 0.5 0.3 - 0.4

6 0.6 0.3 - 0.4

7 0.7 0.3 - 0.4

8 0.8 0.3 - 0.4

9 0.9 0.4

10 1.0 0.4

Page 62: Scope Voltmeter

50

Skala 1 : 5

Tabel IV.2 Pengujian skala 1 : 5

No

Tegangan

Masukan

Tegangan

Keluaran

1 1.5 0.1

2 1.6 0.1

3 1.7 0.1

4 1.8 0.1

5 1.9 0.1 - 0.2

6 2.0 0.2

7 2.1 0.2

8 2.2 0.2

9 2.3 0.2

10 2.4 0.2

11 2.5 0.2 - 0.3

12 2.6 0.3

13 2.7 0.3

14 3.6 0.3

15 3.7 0.3 - 0.4

16 3.9 0.3 - 0.4

17 4.4 0.3 - 0.4

18 4.6 0.3 - 0.4

19 4.7 0.3 - 0.4

20 4.8 0.3 - 0.4

21 4.9 0.4

22 5.0 0.4

Page 63: Scope Voltmeter

51

Skala 1 : 10

Tabel IV.3 Pengujian Skala 1 : 10

No

Tegangan

masukan

Tegangan

keluaran

1 3.2 0.1

2 4.3 0.2

3 5.9 0.3

4 7.4 0.3

5 7.5 0.3

6 7.6 0.3 - 0.4

7 7.8 0.3 - 0.4

8 9.4 0.4

Page 64: Scope Voltmeter

52

IV.3 PROSES KALIBRASI

Proses kalibrasi merupakan suatu proses untuk menyamakan nilai pengukuran di

multimeter dengan nilai pengukuran pada aplikasi, proses ini sangat vital diperlukan

karena akan menentukan keakuratan data pengukuran. Aplikasi ini telah dilakukan

kalibrasi sampai dengan pengukuran 9.9 volt AC menggunakan rangkaian potensio pada

skala pengukuran 1 : 100.

Tabel IV.4 Proses kalibrasi pada 100 sampel pengukuran

No. Nilai pengukuran

avo meter

Nilai RMS

Aplikasi

1 0 0

2 0.1 2.1

3 0.2 2.6

4 0.3 3.0

5 0.4 3.7

6 0.5 4.1

7 0.6 4.4

8 0.7 4.9

9 0.8 5.3

10 0.9 5.7

11 1.0 6.3

12 1.1 6.9

13 1.2 7.3

14 1.3 7.7

15 1.4 8.3

16 1.5 8.8

17 1.6 9.2

Page 65: Scope Voltmeter

53

18 1.7 9.8

19 1.8 10.2

20 1.9 10.7

21 2.0 11.3

22 2.1 11.6

23 2.2 12.1

24 2.3 12.6

25 2.4 13.1

26 2.5 13.5

27 2.6 13.7

28 2.7 14.5

29 2.8 14.6

30 2.9 15.0

31 3.0 15.6

32 3.1 16.0

33 3.2 16.4

34 3.3 17.3

35 3.4 17.4

36 3.5 17.8

37 3.6 18.5

38 3.7 18.7

39 3.8 19.2

40 3.9 19.6

41 4.0 20.1

42 4.1 20.9

43 4.2 21.4

44 4.3 21.6

45 4.4 22.1

Page 66: Scope Voltmeter

54

46 4.5 22.8

47 4.6 23.2

48 4.7 23.8

49 4.8 24.2

50 4.9 24.6

51 5.0 25.0

52 5.1 25.2

53 5.2 25.7

54 5.3 26.3

55 5.4 26.6

56 5.5 27.4

57 5.6 27.6

58 5.7 28.2

59 5.8 28.4

60 5.9 28.9

61 6.0 29.3

62 6.1 29.8

63 6.2 30.2

64 6.3 30.8

65 6.4 31.3

66 6.5 31.5

67 6.6 32.2

68 6.7 32.6

69 6.8 33.0

70 6.9 33.6

71 7.0 34.0

72 7.1 34.2

73 7.2 34.8

Page 67: Scope Voltmeter

55

74 7.3 35.2

75 7.4 35.6

76 7.5 36.0

77 7.6 36.4

78 7.7 36.8

79 7.8 37.1

80 7.9 37.6

81 8.0 38.3

82 8.1 38.7

83 8.2 39.2

84 8.3 39.7

85 8.4 40.1

86 8.5 40.5

87 8.6 40.8

88 8.7 41.4

89 8.8 41.7

90 8.9 42.2

91 9.0 42.7

92 9.1 43.1

93 9.2 43.6

94 9.3 43.9

95 9.4 44.4

96 9.5 44.9

97 9.6 45.5

98 9.7 46.1

99 9.8 46.5

100 9.9 46.7

Page 68: Scope Voltmeter

56

Dari table pengukuran diatas diperoleh grafik seperti dibawah ini dengan persamaan

(3.2):

𝑦 = 𝑎 𝑥 + 𝑏

Gambar IV.1 Grafik proses kalibrasi dengan 100 sampel pengukuran

Grafik tersebut menunjukkan bahwa a = 4.5538 dan b = 1.9136, nilai ini akan

dimasukkan kedalam kode program untuk melakukan proses kalibrasi.

Page 69: Scope Voltmeter

57

IV.4 PENGUJIAN TEGANGAN AC

Tabel IV.5 Pengujian pengukuran tegangan AC pada skala 1 : 100

No. Nama Alat Pengukuran

pada Multi

Meter (x200)

Pengukuran

pada Scope

Volt Meter

(x100)

Persentase

Keakuratan

1 Tegangan Variabel 1.5 1.5 100 %

2.2 2.2 100 %

3.6 3.6 100 %

4.2 4.2 100 %

5.1 5.1 100 %

6.6 6.6 100 %

7.2 7.2 100 %

8.3 8.3 100 %

9.1 9.1 100 %

9.7 9.7 100 %

2 Trafo 800 mA 11.0 10.8 98 %

13.9 13.6 98 %

16.4 16.1 98 %

Pengujian pengukuran pada skala 1 : 100 menunjukkan bahwa proses kalibrasi telah

sesuai dengan hasil pengukuran sampai pada level 9.7 volt. Namun pada tegangan lebih

dari 10 volt nilai pengukuran akan menunjukkan hasil yang berbeda.

Page 70: Scope Voltmeter

58

Gambar IV.2 Pengujian pengukuran tegangan AC 5.4 volt pada skala 1 : 100

IV.5 PENGUJIAN TEGANGAN DC

Tabel IV.6 Pengujian pengukuran tegangan DC pada skala 1 : 100

No. Nama Alat Pengukuran pada

Multi Meter (x200)

Pengukuran pada Scope

Volt Meter (x100)

1 1 Baterai AA Sony 1.2 0.0

2 2 Baterai AA Sony 2.5 0.0

3 Baterai HP 3.9 0.0

Page 71: Scope Voltmeter

59

Gambar IV.3 Pengujian pengukuran tegangan DC 1.2 volt pada skala 1 : 100

Pada pengujian tegangan DC, nilai dan gelombang tidak dapat ditampilkan oleh aplikasi,

namun pengukuran manual pada multimeter menunjukkan angka yang sesuai. Nilai

tegangan pada aplikasi tetap bernilai 0 tanpa ada gelombang.

Page 72: Scope Voltmeter

60

IV.6 PENGUJIAN TEGANGAN AC PADA SKALA BERBEDA

1. Skala 1 : 10

Tabel IV.7 Pengujian pengukuran tegangan AC pada skala 1 : 10

No. Nama Alat Pengukuran pada

Multi Meter (x200)

Pengukuran pada

Scope Volt Meter

1 Tegangan Variabel 0.2 4.5

1.8 21.9

3.6 21.9

4.7 21.9

5.5 21.9

Gambar IV.4 Pengujian pngukuran tegangan AC 5.5 volt pada skala 1 : 10

Page 73: Scope Voltmeter

61

Pada pengujian pengukuran skala 1 : 10 terdapat hasil yang tidak sesuai dengan nilai

pengukuran pada multimeter. Keakuratan menjadi menurun dan gelombang pada level

tegangan 5.5 volt pada multimeter menghasilkan gelombang yang hampir kotak.

2. Skala 1 : 5

Tabel IV.8 Pengujian pengukuran tegangan pada skala 1 : 5

No. Nama Alat Pengukuran pada

Multi Meter (x200)

Pengukuran pada

Scope Volt Meter

1 Tegangan Variabel 0.3 14.1

0.5 17.4

0.9 21.9

1.7 21.9

2.4 21.9

3.1 22.0

3.3 22.3

Page 74: Scope Voltmeter

62

Gambar IV.5 Pengukuran pengujian tegangan AC 3.3 volt pada skala 1 : 5

Pada pengujian pengukuran dengan skala 1 : 5 terdapat kesalahan hasil pengukuran,

persentase keakuratan pengukuran menjadi jauh menurun. Gelombang pada aplikasi

hampir membentuk kotak pada level tegangan 3.3 volt dengan multimeter. Sementara

nilai pada aplikasi menunjukkan angka 22.3.

Page 75: Scope Voltmeter

63

3. Skala 1 : 1

Tabel IV.9 Pengujian pengukuran tegangan pada skala 1 : 1

No. Nama Alat Pengukuran pada

Multi Meter (x200)

Pengukuran pada

Scope Volt Meter

1 Tegangan Variabel 0.3 21.8

0.5 22.7

0.9 23.4

1.7 21.9

Gambar IV.6 Pengujian pengukuran tegangan AC 0.3 volt pada skala 1 : 1

Pengujian pengukuran dengan skala 1 : 1 masih memiliki kesalahan akurasi pengukuran.

Bentuk gelombang menjadi hampir kotak pada level tegangan 3.3 volt multimeter

dengan nilai pada aplikasi 21.9.

Page 76: Scope Voltmeter

64

4. Skala 1 : 200

Tabel IV.10 Pengujian pengukuran pada skala 1 : 200

No. Nama Alat Pengukuran pada

Multi Meter (x200)

Pengukuran pada

Scope Volt Meter

1 Tegangan Variabel 1.6 0.7

4.7 2.4

6.3 3.2

7.1 3.6

8.1 4.1

Gambar IV.7 Pengujian pengukuran tegangan AC 8.1 volt pada skala 1 : 200

Pengujian pengukuran pada skala 1 : 200 mengalami perbandingan akurasi dengan

pengukuran pada skala 1 : 100. Perbandingan tersebut sekitar 50 %, yang berarti nilai

pada aplikasi menjadi sekitar dua kali lipat dari nilai yang terukur di multimeter. Grafik

masih tampak normal pada level tegangan 8.1 volt di multimeter.

Page 77: Scope Voltmeter

65

IV.7 PENYIMPANAN DAN PENGAKSESAN DATABASE

Pengujian penyimpanan database dilakukan dengan melakukan ujicoba penyimpanan

pada database server sesuai dengan pengujian pengukuran, kemudian hasilnya diakses

oleh program MySQL front yang difungsikan sebagai remote client database.

Gambar IV.8 Penyimpanan nilai pada database MySQL Server

Pengaksesan database dapat dilakukan melalui aplikasi Scope DB Client, aplikasi ini

ditujukan untuk client yang ingin mengakses database. Database berada pada server dan

melalui sebuah koneksi aplikasi Scope DB Client dapat mengakses database tersebut.

Page 78: Scope Voltmeter

66

Gambar IV.9 Pemilhan data pada aplikasi

Gambar IV.10 Pengujian pengaksesan database pada aplikasi

Page 79: Scope Voltmeter

67

IV.8 PENGUJIAN KONEKSI APLIKASI CLIENT - SERVER

Pengujian aplikasi servser telah dilakukan pada komputer yang diberikan alamat IP :

192.168.69.69 dan aplikasi server terbuka pada port : 5000. Berikut merupakan hasil

dari pengujian pada aplikasi server dengan IP Address klien yang terhubung.

Gambar IV.11 Pengujian koneksi client - server

Page 80: Scope Voltmeter

68

BAB V

KESIMPULAN DAN SARAN

V.1 KESIMPULAN

Berdasarkan hasil pengujian yang telah dilakukan, dapat diambil kesimpulan bahwa :

1. Nilai Root Mean Square (RMS) yang didapat belum mewakili tegangan yang

sebenarnya, untuk itu diperlukan proses kalibrasi untuk menyesuaikan dengan

tegangan sumber yang sebenarnya.

2. Pengukuran pada skala kalibrasi yang berbeda memerlukan proses ulang kalibrasi

dengan sample pengukuran sesuai kebutuhan.

3. Aplikasi scope voltmeter yang dibuat sudah dapat melakukan pengukuran dan

menampilkan bentuk gelombang tegangan AC walaupun tidak akurat.

V.2 SARAN

Berdasarkan pengujian dan kesimpulan yang telah diambil, beberapa saran yang dapat

diterapkan untuk pengembangan aplikasi mendatang antara lain :

1. Kalibrasi perlu lebih mendetail dengan sampel pengukuran lebih dari 9.9 volt agar

pengukuran dapat dilakukan maksimal

2. Dalam proses kalibrasi perlu digunakan alat ukur multimeter yang memiliki

keakuratan terjamin agar nilai pada aplikasi setelah proses kalibrasi juga dapat

terjaga keakuratannya.

3. Aplikasi scope volt meter dapat dikembangkan untuk pengukuran lainnya dengan

memodifikasi alat yang dipakai untuk melakukan pengukuran

Page 81: Scope Voltmeter

69

4. Gelombang pada aplikasi scope volt meter dapat ditambahkan dengan garis yang

mewakili pengukuran tertentu seperti pada osiloskop

5. Aplikasi yang sama dapat diterapkan dalam mobile device sehingga dapat lebih

praktis dan efisien.

Page 82: Scope Voltmeter

70

DAFTAR PUSTAKA

[1] Behrouz A. Forouzan. Data Communication and Networking 2nd

edition

Upadate. McGraw-Hill Publishing Company Ltd., Singapore, 2002.

[2] G Sri Hartati dan B. Herry Suharto. Pemrograman GUI Swing Java dengan

Netbeans 5. Andi, Yogyakarta, 2007.

[3] M. Salahudin dan Rossa A.S. Belajar Pemrograman dengan Bahasa C++ dan

Java. Informatika, Bandung, 2009.

[4] Putu Rusdi Ariawan. Avometer Pengukuran Listrik, Makalah Fakultas Teknik

Universitas Udayana Denpasar, 2009.

[5] Ridwan Sanjaya. Membuat Aplikasi Windows Multiplatform dengan Java GUI.

Elex Media Komputindo, Jakarta, 2003.

[6] Wahana Komputer. Membuat Aplikasi Database dengan Java 2. Andi, Bandung,

2006.

[7] “__________________”. Java Sound Programmer Guide. Sun Microsystem Inc,

USA, 2000;

[8] Dara AtengDjaja. Pengenalan J2ME.

http://daraatengdjaja.wordpress.com/2009/01/04/pengenalan-j2me/, 2 April

2011, 10.57.

Page 83: Scope Voltmeter

71

[9] “__________________”. Java Introduction Part II.

http://ltodi.est.ips.pt/hgamboa/Linguagens/intro-java-II.htm, 4 April 2011, 19.34.

[10] “__________________”. Client/Server.

http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part2/Chapter13/serverCli

ent.html, 4 April 2011, 20.10.

[11] “__________________”. Penguat Operasional.

http://id.wikipedia.org/wiki/Penguat_operasional, 7 April 2011, 13.41.

[12] “__________________”. Root mean square.

http://en.wikipedia.org/wiki/Root_mean_square, 10 April 2011, 15.50.

[13] “__________________”. Persamaan Linear.

http://id.wikipedia.org/wiki/Persamaan_linear, 15 April 2011, 17.20.

Page 84: Scope Voltmeter

L A M P I R A N

Page 85: Scope Voltmeter

L-1

/*

* FrameGrafik.java

*

* Created on 11 Apr 11, 15:21:40

*/

package voltmeter;

// library yang digunakan

import com.mysql.jdbc.Connection;

import com.mysql.jdbc.PreparedStatement;

import com.mysql.jdbc.Statement;

import java.awt.Color;

import java.awt.Font;

import java.awt.Graphics;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import java.math.BigDecimal;

import java.math.RoundingMode;

import java.net.DatagramPacket;

import java.net.DatagramSocket;

import java.net.InetAddress;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.sound.sampled.TargetDataLine;

import javax.sound.sampled.DataLine;

import javax.sound.sampled.AudioFormat;

import javax.sound.sampled.AudioSystem;

Page 86: Scope Voltmeter

L-2

import javax.sound.sampled.Clip;

import javax.sound.sampled.CompoundControl;

import javax.sound.sampled.Control;

import javax.sound.sampled.FloatControl;

import javax.sound.sampled.Line;

import javax.sound.sampled.LineUnavailableException;

import javax.sound.sampled.Mixer;

import javax.sound.sampled.Port;

/**

*

* @author feraz

*/

// kelas FrameGrafik

public class FrameGrafik extends javax.swing.JInternalFrame {

// inisialisasi dan deklarasi variable global

TargetDataLine line;

boolean stopCapture = false;

boolean threadEnded = true;

public boolean tutup = false;

boolean running, saving = false, sending = false;

ByteArrayOutputStream out;

int bufferSize = (int) 800;

public byte buffer[] = new byte[bufferSize];

public byte bufferAsyn[] = new byte[bufferSize];

public int rms = 0, pre = 1;

private Thread captureThread;

double a = 4.5538, b = 1.9136, y = 0, x = 0;

Page 87: Scope Voltmeter

L-3

public float nilaiRate = 8000;

public Mixer.Info[] mixer;

private Line.Info targetDLInfo = new Line.Info(TargetDataLine.class);

FloatControl volume=null;

Port mic;

int kuat = 0, reGain = 0;

// konstruktor kelas FrameGrafik

public FrameGrafik() {

initComponents();

setMicrophoneVolume(59);

jLabel6.setVisible(false);

spinRate.setVisible(false);

isiData();

}

// aksi jika tombol Mulai ditekan

private void Mulai(java.awt.event.ActionEvent evt) {

captureAudio();

captureThread.start();

spinRate.setEnabled(false);

btnQuit.setEnabled(false);

btnStart.setEnabled(false);

Henti.setEnabled(true);

}

// aksi jika tombol Berhenti ditekan

private void HentiActionPerformed(java.awt.event.ActionEvent evt) {

Page 88: Scope Voltmeter

L-4

captureThread.stop();

spinRate.setEnabled(true);

btnQuit.setEnabled(true);

Henti.setEnabled(false);

btnStart.setEnabled(true);

line.stop();

line.close();

}

// aksi jika tombol Simpan ditekan

private void btnSimpanActionPerformed(java.awt.event.ActionEvent evt) {

saving = true;

btnSimpan.setEnabled(false);

btnCancel.setEnabled(true);

txtAlat.setEnabled(false);

}

// aksi jika tombol Batal ditekan

private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {

saving = false;

btnSimpan.setEnabled(true);

btnCancel.setEnabled(false);

txtAlat.setEnabled(true);

}

// aksi jika tombol Keluar ditekan

private void btnQuitActionPerformed(java.awt.event.ActionEvent evt) {

tutup = true;

Page 89: Scope Voltmeter

L-5

Graphics j = jPanel1.getGraphics();

j.setColor(Color.black);

repaint();

this.setVisible(false);

running = false;

jPanel1.setVisible(false);

jPanel1.hide();

}

// aksi jika tombol Kirim ditekan

private void btnKirimActionPerformed(java.awt.event.ActionEvent evt) {

sending = true;

txtIP.setEnabled(false);

txtPort.setEnabled(false);

}

// aksi jika tombol Stop ditekan

private void btnStopActionPerformed(java.awt.event.ActionEvent evt) {

sending = false;

txtIP.setEnabled(true);

txtPort.setEnabled(true);

}

// fungsi untuk mendapatkan informasi mixer yang digunakan

public void InfoMixer() {

mixer = AudioSystem.getMixerInfo();

System.out.println("mixer :");

for (int cnt = 0; cnt < mixer.length; cnt++) {

Page 90: Scope Voltmeter

L-6

Mixer currentMixer = AudioSystem.getMixer(mixer[cnt]);

if (currentMixer.isLineSupported(targetDLInfo)) {

System.out.println("mixer name: " + mixer[cnt].getName());

}

}

}

// fungsi untuk setting format audio

public AudioFormat format() {

int sampleSizeInBits = 8;

int channels = 1;

boolean signed = true;

boolean bigEndian = true;

return new AudioFormat(

nilaiRate,

sampleSizeInBits,

channels,

signed,

bigEndian);

}

// fungsi untuk menangkap audio yang masuk

public void captureAudio() {

InfoMixer();

try {

final AudioFormat format = format();

DataLine.Info info = new DataLine.Info(TargetDataLine.class, format);

line = (TargetDataLine) AudioSystem.getLine(info);

Page 91: Scope Voltmeter

L-7

line.open(format);

line.start();

Runnable runner = new Runnable() {

public void run() {

out = new ByteArrayOutputStream();

Graphics z = jPanel1.getGraphics();

int titikNol = jPanel1.getHeight() / 2 +2;

int batasLebar = jPanel1.getWidth();

running = true;

try {

while (running) {

kuat = gainSlider.getValue();

reGain = gainSlider.getValue();

penguatNilai.setText(""+reGain);

int count = line.read(bufferAsyn, 0, buffer.length);

if (count > 0) {

if(sliderTepat.getValue()==0){

lblNilaiAwal.setText("normal");

}else{

lblNilaiAwal.setText(""+sliderTepat.getValue());

}

out.write(bufferAsyn, 0, count);

for ( int i = sliderTepat.getValue()+20; i < buffer.length; i++) {

z.setColor(Color.blue);

z.drawLine(0, titikNol, batasLebar, titikNol);

z.setColor(Color.black);

z.fillOval(i, titikNol - bufferAsyn[i]*reGain, 1, 1);

if (i < 1) {

Page 92: Scope Voltmeter

L-8

z.drawLine(i, titikNol - bufferAsyn[i]*reGain, i, titikNol -

bufferAsyn[i]*reGain);

} else {

z.drawLine(i - 1, titikNol - bufferAsyn[i - 1]*reGain, i, titikNol -

bufferAsyn[i]*reGain);

}

}

}

hitungRMS();

if (saving == true) {

SimpanGrafik();

}

jPanel1.repaint();

if (sending == true) {

new SendRequest();

}

out.close();

}

} catch (IOException e) {

System.err.println("ada masalah dalam I/O: " + e);

System.exit(-1);

}

}

};

captureThread = new Thread(runner);

} catch (LineUnavailableException e) {

System.err.println("Line tidak tersedia: " + e);

System.exit(-2);

}

Page 93: Scope Voltmeter

L-9

}

// fungsi untuk menghitung nilai RMS

public void hitungRMS() {

long lSum = 0;

for (int i = 0; i < bufferAsyn.length; i++) {

lSum = lSum + bufferAsyn[i];

}

double dAvg = lSum / bufferAsyn.length;

double sumMeanSquare = 0;

for (int j = 0; j < bufferAsyn.length; j++) {

sumMeanSquare = sumMeanSquare + Math.pow(bufferAsyn[j] - dAvg, 2);

}

double averageMeanSquare = sumMeanSquare / bufferAsyn.length;

double rms, adjRms;

rms = (Math.pow(averageMeanSquare, 0.5));

RMSmurni.setText("" + rms);

RMSmurni.setVisible(false);

// fungsi untuk menghitung kalibrasi

x = (rms - b) / a;

if (x < 0) {

x = 0; }

BigDecimal nKalibrasi = new BigDecimal(x);

nKalibrasi = nKalibrasi.setScale(pre, RoundingMode.UP);

x = nKalibrasi.doubleValue();

labelNilai.setText("" + x);

}

Page 94: Scope Voltmeter

L-10

// fungsi untuk menyimpan data pengukuran

public void SimpanGrafik() {

try {

konekDB objkoneksi = new konekDB();

Connection con = (Connection) objkoneksi.bukakoneksi();

String namaAlat = txtAlat.getText();

for (int i = 0; i < bufferAsyn.length; i++) {

String sql = "insert into grafik_info (nama, nilai, rms,

id_hub, waktu) values ( '" + namaAlat + "'," + bufferAsyn[i]*reGain +

"," + x + ", " + txt_idAlat.getText() + ",(select CURRENT_TIMESTAMP))";

PreparedStatement stat = (PreparedStatement)

con.prepareStatement(sql);

try {

stat.executeUpdate();

} catch (SQLException ser) {

System.out.println("ada yang salah dalam query " + ser);

}

if (saving == false) {

stat.close();

}

}

} catch (Exception e) {

System.out.println("gagal pemanggilan koneksi sql " + e);

}

}

// fungsi untuk mengirimkan data pengukuran ke server tujuan

public class SendRequest {

SendRequest() {

try {

Page 95: Scope Voltmeter

L-11

DatagramSocket socket;

DatagramPacket packet;

InetAddress address;

socket = new DatagramSocket();

String dip = txtIP.getText();

address = InetAddress.getByName(dip);

String port = txtPort.getText();

int pnum = Integer.parseInt(port);

packet = new DatagramPacket(bufferAsyn, bufferAsyn.length, address,

pnum);

socket.send(packet);

socket.close();

} catch (IOException io) {

}

}

}

// fungsi untuk membentuk id alat yang sedang diukur

public void isiData() {

txt_idAlat.setVisible(false);

try {

konekDB objkoneksi = new konekDB();

Connection con = (Connection) objkoneksi.bukakoneksi();

Statement stat = (Statement) con.createStatement();

String query = "select MAX(id_hub)+1 as data from grafik_info ";

ResultSet rs = stat.executeQuery(query);

if (rs.next()) {

if (rs.getString("data") == null) {

Page 96: Scope Voltmeter

L-12

txt_idAlat.setText("1");

txt_idAlat.requestFocus();

} else {

txt_idAlat.setText("" + rs.getString("data"));

txt_idAlat.requestFocus();

}

}

} catch (SQLException e) {

}

}

// fungsi untuk mengeset volume mic sesuai pada saat kalibrasi

public void setMicrophoneVolume(int value) {

Mixer.Info[] mixerInfos = AudioSystem.getMixerInfo();

for (int i = 0; i < mixerInfos.length; i++) {

Mixer mixer = AudioSystem.getMixer(mixerInfos[i]);

int maxLines = mixer.getMaxLines(Port.Info.MICROPHONE);

Port lineIn = null;

FloatControl volCtrl = null;

int cekVol;

if (maxLines > 0) {

try {

lineIn = (Port) mixer.getLine(Port.Info.MICROPHONE);

lineIn.open();

CompoundControl cc = (CompoundControl) lineIn.getControls()[0];

Control[] controls = cc.getMemberControls();

for (Control c : controls) {

if (c instanceof FloatControl) {

Page 97: Scope Voltmeter

L-13

volCtrl = (FloatControl) c;

volCtrl.setValue((float) value / 100);

}

}

} catch (Exception ex) {

continue;

}

}

}

}

// fungsi dari main class

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new FrameGrafik().setVisible(true);

}

});

}

}