• Tidak ada hasil yang ditemukan

Monitoring suhu kotak obat berbasis PC = PC based temperature monitoring of medicine box - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Monitoring suhu kotak obat berbasis PC = PC based temperature monitoring of medicine box - USD Repository"

Copied!
142
0
0

Teks penuh

(1)

MO

ITORI

G SUHU KOTAK OBAT BERBASIS PC

!" #$%&&$#'(

PROGRAM STUDI TEK

IK ELEKTRO

FAKULTAS SAI

S DA

TEK

OLOGI

U

IVERSITAS SA

ATA DHARMA

YOGYAKARTA

(2)

FI

AL PROJECT

PC BASED TEMPERATURE MO

ITORI

G OF

MEDICI

E BOX

)

*

+ +

+

+

+

+

,

*

#$%&&$#'(

ELECTRICAL E

GI

EERI

G STUDY PROGRAM

SCIE

CE A

D TECH

OLOGY FACULTY

SA

ATA DHARMA U

IVERSITY

YOGYAKARTA

(3)
(4)
(5)
(6)

v

(7)

vi

! " #

#

$

# # %

& &%

$

# '&

(

) % # &

*

%

!

*

$

#

#

& &

)

#

& ( +

#

! *

& &%

%&#&# ! )

% )

# )

&

&

!

(

#&%& !

# ) )& !

&

&

!

# )

!

#

!

# #

! ) !

)

, !

#

'&

! - .

&

# #

#

- &

# !

) !

# %

&

%

#&%&

' !

!

-! )

&

!

!

!

!

(

-# #

&

#&%&

!

!

&)

!

!

-) %

- - -) (

!

-) %

- - -)

&

!

(

' !

#&

-!&)

*

TLP434A Ultra Small Transmitter.

# )

)&

!

-!&)

*

!

) )& &!

&

-!&) #

!

.

&

# /00,10

2((

!

-!&)

RLP434A SAW

Based Receiver

!

!

!

&

) #

)

(

!

,

-

)

#

- -

&

+ #& )

# * % &#

!

&

%

) ! !

)

' ! ! ! #

)

!

!

)

' !

.

&! %

&

& #&%& -

-

(

)

)

# &

#

%

,

- - -)

#&! % !

! !

(

!

-) %

- - -)

) % !

!

)

!

!

&

) #

) !

! ! #

& !

#

&

** ##(

%

, !

. # ) #

!

!

!

.

&

& &

&! %

-# #

#&%&(

& * 3

&

!

,

-

)

#

- -

#&%&,

- - -)

(8)

vii

ABSTRACT

%

! $ )-

-. ! # # #

*

)

*-

-

$

* , #- #

! !

$

-&#

%-! -

( 5

-. %

%-!# # &#

$ **

#

-! -

$

% ! # # ( + **

"% *% #

!

!# #

* )

# -

( 6-

- -

%

& , #- % # .

2

&

,

# !

# *-

* ! " % *- -))

# #

! #

! # )

, #

)#- *-

* ! " %

! - . 7&

*

#

* *&

#

! &

.-"

) ## *-

& * -

" %

#- $

*%

# % # %

!

%

-! ) -.

.

2

&

*

- - !

(

%

-** ## -.

&

- -

#

. -

#.

!

* -*- -)) (

% #

* -*- -))

" ))

#

! (

%

, % #

!

" ))

*-

%

& -.

TLP434A Ultra Small Transmitter

( % -& & -. % #

-!&)

" ))

#

! %-& % %

&#

-!&) - " % . 7&

* /00,01

2(

RLP434A SAW Based Receiver,

! "% *% #

* $ ! " ))

#

! &#

#

) *

)

-

(

, + #& )

# * #-. "

&# *%

!

!

) "% *% #

**

!

*-

! *

) ! #- # *

#%-"

% *#( #

&# #

#

- -

%

&

-.

! *

&

(

)

-

-. % # .

)

,

* -*- -))

% #

#

! % !

" ))(

!

* $

!-

- "-

-

) (

%

!

"% *% #

#

!

* -*- -))

% #

.-

!

" )) " % &#

#

) *

)

! )) -. % !

*

# - ! &#

** ## !

# (

# !! - , %

# -

! #) !

. * ) #

"% *% *

&# !

&# # -

&

- -

-* ##

#

(

"- !# 3 .

2

&

, #-. "

) * - -.

&

- -

,

4101

(9)

viii

PUBLIKASI KARYA ILMIAH U TUK KEPE TI GA AKADEMIS

!

!

" %

, #

% # #"

$ # #

%

3

3

!

.

- -

% # #"

3 8/199/8:;

) &

%&

, #

!

&#

$ # #

%

)

% #

'&!&) 3

MO ITORI G SUHU KOTAK OBAT BERBASIS PC

#

!

)&

< )

! =(

!

#

!

&#

$ # #

%

%

& &

,

) %

! )

&

!

)

,

)-)

! )

&

)

! ,

! #

&#

# *

#, !

& )

#

!

&

!

)

& &

!

#

)&

'

!

#

& &

-

)

! #

# )

*

&

#

#

&) #(

#

& !

#

(

& !

-!

) 3 :4

:884

(10)

ix

KATA PE GA TAR

&' # & &

!

&%

# #

)

&

# %

&) # !

) #

&) #

&

#

%

(

&

#

%

'&!&) 3 > - -

&%&

-

5

?

! %

!

- &

#

# !

)&

#

)

#

!

&

!

# (

&

#

%

! &) # & &

&% # ) % # & #

! )

-) %

)

# '

!

-

# &!

)

-

$ # #

%

(

&) #

#

#

! ! #

!

% # ) % # )

&) #

-) %

!

#

*

) ,

&

) , #

! % # )

&'

&'

) (

&) #

&*

# %

!

%

) %

,

&

, !

%

# %

)

-

!

! # ) #

, !

3

9(

#&#

# &#,

) !&

% !&

&

:(

&

(@&

,

( (, ( ( # )

& !-#

#

#

) %

#&

,

%

, #

# )

'

&

#

%

(

0(

(

'

! - # )

& !-#

#

#

!

) %

#

!

&) # & &

&

#

#

! )

'

-

!

) %

# %

&) #

!

) #

-

!

(

/(

(

&

"

, ( ,

(

( # )

&

& '& &#

)

) %

'

!

&) # & &

&

. # ) # )

- - &

# )

'

&

#

%

(

1(

&#

-

-"-, ( ( # )

&

)

)

-;(

!

& !-#

A& &#

)

-

) %

! !

!

'

% )

&

& &

# !

&) #(

B(

)& &% # . #

) %

&

&) # ! )

& &# #

&

# ) % !

# # # )

&) %

!

$ # #

%

(

(11)

x

) #

&

#

%

"

&(

98(

&!

# &!

&

) %

&

!

&) #

# %

&

' !

!

! (

99(

:88/, #

-

-

# ) )&(

9:(

&

%

) % )

!

!

&) # #

&

# &

# &,

# % # #

& !& &

(

&) #

!

%"

&) #

#

#

# %

!

&

(

)

!

#

!

%

&) #

& &

# )

'&

(

-

&) #

!

.

* (

# %(

-

, 98

:884

(12)

xi

DAFTAR ISI

)

A&!&)DDDDDDDDDDDDDDDDDDDDD(DDDDD(

# %

-) %

DDDDDDDDDDDD((DDDD(((

# %

-) %

&' DDDDDDDDDDDD(DDDDDDD

#)

DDDDDDDDDDDDDDDDDD(

$

)

#

%

!

- -

!& ((DDDDDDDDDDDDDDD((

$

#

DDDDDDDDDDDD((DDDDDDDDDDDD((DDDD(((

$

# * DDDDDDDDDDDDDDDDDDDDDD(DDDDDDD

$

# &'&

& )

#

)

% DDDDDDDDDD(

$

DDDDDDDD(DDDDDDDDDDDDDDDDDD(

E

.

# DDDDDDDDDDDD(((((DDDDDDDDDDDDDDD((

E

.

DDDDDDDDDDDDDDDDDDDDDDDDDD((

E

.

)DDDDDDDDDDDDDDDDDDDDDDDDDDD((

E$

! %&)&

DDDDDDDDDDDDDDDD(DDDDD

9

9(9(

)

DDDDDDDDDDDDDDD(DDD

9

9(:(

&'&

!

. ((DDDDDDDDDDDDDDDD

9

9(0(

#

# ) %D((( DDDDDDDDDD(DDDDD((

:

9(/(

-!-)-

)

DDDDDDDD(DDDDDDD(

:

9(1(

#

&) #

(DDDDDDDDDD(DDDDD((

0

#

- DDDDDDDDDDDDD((DDDDDDD((D

1

:(9(

- &

#

)

4101DDDDDDDDDDD(

1

:(:(

) &!

% .

<

=DDDDDDDDDDDD(

C

:(:(9(

<

= DDDDDDDDDDDDD(

C

:(:(:(

) &!

% .

<

=DDDDDD

98

:(0(

- &

#

)

:0:DDDDDDDDDDD(((DD((

9:

:(/(

- . & #

)

CDDDDDDDDDDDD(((DD((

9/

:(1( + #& )

# *DDDDD(((DDDDDDDDDDD(((DD((

9B

:(1(9(

&

-

-

DDDDDDDDDD((

9B

(13)

xii

:(1(/(

&

-

-

-

!

& - DDDDD((

94

:(1(1(

# #

&

*- -)

-

DDDD

9C

:(1(;(

-

# ! )

+ #& )

# *DDDDD

9C

:(1(;(9(

' )

** ##DDDDDDDDD

9C

:(1(;(:( 5 '

# ! )

** ##DDDDD(

:8

:(1(;(0(

&

) !

** ##DDDD(((

:9

:(1(;(0(9(

&

)

&DDDDDD((

::

*

&

(((DDDDDDDDDDDDD((

:/

0(9(

- &

# #

)

!

- - -)

+

#

4101DDDDDDDDDDDDDDDDDDD(

:/

0(:(

)

-!&)

*

((DDDD(D((

:B

0(0(

-

)

.

&%&

&

+ #& )

# *

;(8((((((((((((((DDDDDDDDDDDDDDDDDDDD(

:B

+

# ) !

% #

DDDDD( DDDDDD(((DDD((DD((

0/

/(9(

# )

&'

-# #

!

- - -)

4101DDDDDDDDDDDDDDDDDDD(

00

/(:(

# )

&'

&

DDDDD DDD((DDD

0B

/(:(9(

)

" )

# )

*

&

((D

04

/(:(:(

# )

&'

D(D((((((DD

/9

/(:(0(

# )

&'

)

. DDD(D((D(

/1

/(:(/(

# )

&'

DD(D(((D(

1:

/(0(

!

# )

&

!

.

- -))

&

-

5

DDDDDDDDDDDDDDD(

1B

+

#

&)

!

DDDDDDDDDDDDDDDDD(((

;8

1(9(

#

&)

DDDDDDDDDDDDDDDDDDD((

;8

1(:(

DDDDDDDDDDDDDDDDDDDDDD

;8

.

&#

DDDDDDDDDDDDDDDDDDDDDDDDD((D

;9

(14)

xiii

DAFTAR GAMBAR

:(9( < =

)

.-

# < =

)

(((((((((DDDDDDD(((DD((

98

:(:( < =

-!&) -

< =

-!&) -

D(((DDDD((((((D((

98

:(0(

-!&) #

< =

)

-!&) # < =

)

<*=

)

DDDDDDDDDDDDDDDDDDDDD((DD(

99

:(/( < =

-!&) -

< =

-!&) -

(((DD((DDDD((

9:

:(1(

$ )

:0:DDD(((DDDDD((DDDD(((DDDD

9/

:(;(

- . & #

F:0:DD(((DDDDDDDDDD(((D((D((D

9/

:(B(

*&

F :0:DDDDDDDDDDDDDDD(((((

9/

:(4(

- . & #

)

CDDDDD(((DDDDDDDDD(((D(((

91

:(C(

)

" )

** ##DDDDDDDDD((DDDDDD(((

:8

:(98(

5 '

!

** ##DD(((((((DDDDDD(DDDDDDD(

:9

:(99(

)

6 )

# ((DDDD(DDDDDDD(

::

:(9:(

)

) ((((((DD(DDDDDDDDDDDDDD

::

:(90(

)

&

)

&(DD(((DDDDDDDDDDD

:0

0(9(

)-

#

DD(((DDDD((DDDDDDDDDDD(((

:/

0(:( 6-)"*%

# ) # #

- - -) D(((DDDDD((DDDDD((

:;

0(0( 6)-"*%

-# #

- - -) ((DDD((DDD(

:;

0(/(

)-

&

- - -)

-!&)

*

-!&)

DDDDDD(DDDDDDDDDD

:B

0(1( 6)-"*%

.

) &%&(DDDDDDDDDDDDDD(

:C

0(;(

)

-# #

DD((((DDDDDDDD((

08

0(B(

)

-# #

&

. # ) # #) ! (DDDDDDDD((

0:

0(4(

)

&

. # ) # - DD(((DDD((DDDD(((

0:

0(C(

*

)

-

+ #& )

# * ;(8(DDDDDDDD(((((

00

/(9(

# )

)&

&

!

)D(DD(((

0;

/(:(

# )

)&

&

) #

) D(((DDDDDDDD(((

0B

/(0( 6-

&) DDD(((D(DDDDDDDDDDDDDDDDD(((

0C

(15)

xiv

/(;(

)

)

!

#&

DD(DDDDDDDDDD(((

/:

/(B(

#

)

!

# -EDDDDD(((DDDDDDDDDDD

/:

/(4(

)

.

# *

# )& &%

DDDDDDDDDDDDD(

/1

/(C(

)

988 !

# #) !

! &

DDDD(DD(

/;

/(98(

)

) &!- !

#

-&# !

)

!

&D(((

/;

/(99( A

! )

-$ !

!

-

#(((DDDDDDDDD

10

/(9:( A

! )

-

* -

!

-

#DDDDDDDD((

10

/(90( A

! )

-

*- ! -& * DDDDDDDDDDDDDD(

1/

/(9/(

)

#

&

** ##(DDDDDDDDDD

1/

/(91(

# )

)

& &

.

!

-

+ #& )

# *(DD(

1B

(16)

xv

DAFTAR TABEL

) :(9(

<

- -)

! &#

#

=DDD(((DDD(((((((

;

) :(:(

<

- -)

! &#

#

=((DDD(((DD((D(((

;

) :(0(

<

- -)

! &#

#

=((DDDDD(((D(((((

B

) :(/(

&

-!

# DDDDDDDDDDDD(DD(((DDD((

4

) :(1(

)

DDDDD(((DDDDDDDDDDDDDDDD(((

99

) :(;(

- . & #

!

)

-

-

)

C((D(((DDD((

91

) :(B(

#

#

)

((DDDDDDDDDDDDD(((

9;

) :(4( 5 '

- '

! )

** ##((DDDDDDDDD(DD(((DDD((

:9

(17)

1

PE DAHULUA

1.1 Latar Belakang

!

"

#

#

$

#

%

"

"

"

1.2 Tujuan dan Manfaat

&

"

#

(18)

2

(

&

)

$

'

%

$

#

(

'

"

%

*

+

(

'

#

1.3 Batasan Masalah

(

'

(

(

,

(

-# %!. /0/

(

1

"

2

(

3 "

1.4 Metodologi Penelitian

4

%

'

&

5

(19)

/ &

"

0 &

"

#

2

6 &

7 &

!

$

8 &

5

1.5 Sistematika Penulisan

'

- )9$!:151!9

"

-- $! !4

&);4-4 (/0/

(20)

4

-2 :! -5 $!9 )% !:! !9

2 ,) -% 15!9 $!9 !4!9

(21)

5

DASAR TEORI

Pada bab ini akan dijelaskan beberapa hal yang diperlukan untuk menunjang

penelitian yang dilakukan :

Komunikasi Serial Mikrokontroler AVR seri ATMega8535 .

Amplitude Shift Keying (ASK)

Komunikasi Serial RS232

Konfigurasi Serial DB9

Software Visual Basic.

2.1 Komunikasi Serial ATMega8535

ATMega8535 telah dilengkapi

Universal Synchronous and Asynchronous serial

Receiver and Transmitter (USART). Melalui USART dapat dilakukan komunikasi secara

serial dengan komputer atau perangkat lainnya[3]. Sistem USART ATMega8535

memiliki beberapa keuntungan dibandingkan dengan sistem UART, yaitu :

1. Operasi full duplex

2. Mode operasi asinkron dan sinkron

3. Mendukung komunikasi multiprosesor

4. Mode kecepatan transmisi berorde Mbps

Komunikasi USART dilakukan melalui pin RXD (PD0) dan TXD (PD1) serta pin

XCK (PB0) untuk komunikasi

synchronous . Untuk mengontrol USART digunakan

register UCSRA, UCSRB dan UCSRC ( USART

Control and Status Register A,B,C )

dan UBRR ( USART Baud Rate Register ).

UCSRA (USART Control and Status Register A)

RXC – USART Receive Complete

, bit ini akan aktif jika ada data masuk.

(22)

6

Tabel 2.1. UCSRA (USART Control and Status Register A)[3]

Bit

7

6

5

4

3

2

1

0

RXC

TXC

UDRE

FE

DOR

PE

U2X

MPCM

Read/Write

R

R/W

R

R

R

R

R/W

R/W

Initial Value

0

0

1

0

0

0

0

0

UDRE – USART Data Register Empty

, bit ini menandakan

transmitter siap untuk

menerima data.

FE – Framing Error

, bit ini akan aktif jika terdapat error saat menerima data.

DOR – Data OveRun

, bit ini akan aktif jika ada data yang masuk namun register UDR

penuh ( belum dibaca ).

PE – Parity Error

, bit ini akan aktif jika terdapat error parity saat menerima data.

U2X – Double USART Transmission Speed

, bit ini digunakan untuk men

doubel

kecepatan baud rate.

MPCM – Multiprocessor Communication Mode

UCSRB (USART Control and Status Register B )

Tabel 2.2. UCSRB (USART Control and Status Register B)[3]

Bit

7

6

5

4

3

2

1

0

RXCIE TXCIE UDRIE RXEN

TXEN

UCSZ2 RXB8

TXB8

Read/Write

R/W

R/W

R/W

R/W

R/W

R/W

R

R/W

Initial Value

0

0

0

0

0

0

0

0

(23)

TXCIE – USART Transmit Complete Interrupt Enable

, mengatur aktivasi interupsi

pengiriman data serial. Bernilai awal 0. Jika bernilai 1 dan jika bit pada TXC pada

UCSRA bernilai 1, interupsi pengiriman data serial akan dieksekusi.

UDRIE – USART Data Register Empty Interrupt Enable

, mengatur aktivasi

interupsi yang berhubungan dengan kondisi bit UDRE pada UCSRA. Bernilai awal 0.

Jika bernilai 1 maka interupsi akan terjadi hanya jika bit UDRE bernilai 1.

RXE. – Receive Enable

, merupakan bit aktivasi penerima serial ATMega 8535.

Bernilai awal 0. Jika bernilai 1, maka penerima data serial diaktifkan.

TXE. – Transmitt Enable

, merupakan bit aktivasi pengirim serial ATMega 8535.

Bernilai awal 0. Jika bernilai 1, maka pengirim data serial diaktifkan.

UCSZ2 – Character Size

, bersama dengan bit UCSZ1 dan UCSZ0 di register UCSRC

menentukan ukuran karakter serial yang dikirimkan. Pada saat awal, ukuran karakter

diset pada 8 bit.

RXB8 – Receive Data Bit 8

, menampung bit ke 8 pada penerimaan 9 bit.

TXB8 – Transmit Data Bit 8

UCSRC (USART Control and Status Register C )

UCSRC merupakan register 8 bit yang digunakan untuk mengatur mode dan kecepatan

komunikasi serial yang dilakukan.

URSEL – Register Select

, merupakan bit pemilih akses antara UCSRC dan UBRR

karena memiliki alamat yang sama. Bernilai awal 1 sehingga secara normal akan selalu

mengakses register UCSRC.

Tabel 2.3. UCSRC (USART Control and Status Register C)[3]

Bit

7

6

5

4

3

2

1

0

URSEL UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL

Read/Write

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Initial

Value

(24)

8

• UMSEL – USART Mode Select

, merupakan bit pemilih mode komunikasi serial

antara sinkron dan asinkron. Bernilai awal 0 sehingga modenya asinkron. Jika bernilai 1,

maka modenya sinkron.

UPM 1:0 – Parity Mode

, merupakan bit pengatur paritas. Bernilai awal 00 sehingga

paritas tidak dipergunakan. Detail nilainya dapat dilihat pada table berikut :

Tabel 2.4 Penentuan Mode Paritas[3]

UPM 1 : 0

Mode Paritas

00

Tidak aktif

01

Tidak digunakan

10

Paritas genap

11

Paritas ganjil

USBS – Stop Bit Select

, merupakan bit pemilih ukuran bit stop. Bernilai awal 0

sehingga jumlah bit stop yaitu 1 bit. Jika bernilai 0, maka jumlah bit stop yaitu 2 bit.

UCSZ1 dan UCSZ0

merupakan bit pengatur jumlah karakter serial.

UCPOL – Clock Polarity

, merupakan bit pengatur hubungan antara perubahan data

keluaran dan data masukan serial dengan clock sinkronisasi. Hanya berlaku pada mode

sinkron. Untuk mode asinkron, bit ini diset 0.

Proses membangun hubungan komunikasi data serial memerlukan suatu

kecepatan data (data transfer rate ) yang sesuai, baik di sisi computer maupun di sisi

mikrokontroller. Ada beberapa hal yang perlu diperhatikan untuk membangun hal

tersebut di mikrokontroler, yaitu nilai

baud rate yang dipergunakan, seting format data

stop bit, dan pengaturan beberapa register seperti : RXEN, TXEN, dan RXCIE.

Pengaturan baud rate dilakukan dengan memberikan nilai pada register UBRR. Register

UBRR adalah register 16 bit sehingga terdiri dari UBRRH (UBRR High) dan UBRRL

(UBRR Low). Rumus yang dipergunakan adalah :

(25)

yaitu bit UDRE ( USART

Data Register Empty

). Bit UDRE merupakan indikator

kondisi register UDR. Jika UDRE bernilai 1, maka register UDR telah kosong dan siap

diisi dengan data yang baru.

Proses penerimaan data serial dilakukan dengan mengecek nilai bit RXC (USART

Receive Complete) pada register UCRSA. RXC akan bernilai 1 jika ada data yang siap

dibaca di buffer penerima, dan bernilai 0 jika tidak ada data pada buffer penerima. Jika

penerima USART dinonaktifkan, maka bit akan selalu bernilai 0.

2.2 Amplitude Shift Keying ( ASK )

Amplitude Shift Keying merupakan salah satu teknik proses modulasi sinyal

digital, yaitu sinyal yang bersifat diskret terhadap waktu, yang didapat dari proses

sampling, dan terkuantisasi secara nilai, kemudian setelah proses kuantisasi dilakukan

encoding sehingga nilai dari sinyal digital ini berbentuk nilai digit 0 dan 1[4,5].

Ada empat macam modulasi sinyal digital, yaitu modulasi digital dengan

mengubah amplitudo sinyal pembawa, disebut Amplitude Shift Keying (ASK), modulasi

digital dengan mengubah frekuensi sinyal pembawa, disebut Frequency Shift Keying

(FSK), modulasi digital dengan mengubah phasa sinyal pembawa, disebut Phase Shift

Keying (PSK), dan modulasi digital dengan mengubah amplitudo dan phasa sinyal

pembawa, disebut Quadrature Amplitude Modulation (QAM).

2.2.1 Binary – ASK (BASK)

Sinyal yang dikatakan termodulasi secara BASK didefinisikan dengan[4,5] :

s (t) = Am (t) cos (ω

c

t)

0 ≤ t ≤ T

………..……(2.2)

A adalah konstanta, m(t) adalah sinyal data (sinyal pemodulasi) yang mempunyai nilai 0

atau 1, ω

c

adalah frekuensi putar dari sinyal pembawa, dan T adalah lebar dari 1 bit.

Jadi jika sebuah sinyal digital, yang hanya mengandung 0 dan 1, dimodulasikan dengan

BASK, maka sinyal pembawa hanya akan dikalikan dengan 0 atau 1.

(26)

10

(pemodulasi) bernilai 0 atau 1. BASK disebut juga on – off keying (OOK). Gambar 2.2

menunjukkan modulator dan demodulator BASK,

Gambar 2.1.(a) Sinyal informasi (b) Sinyal BASK[4,5]

Gambar 2.2 . (a) Modulator BASK (b) Demodulator BASK[4,5]

2.2.2 M – ary Amplitude Shift Keying ( M7ASK)

Seperti halnya BASK, sinyal yang termodulasi secara M ASK didefinisikan dengan [4,5]:

s (t) = A

i

(t) cos (ω

c

t)

0 ≤ t ≤ T

………..…(2.3)

dengan nilai A

i

:

A

i

= A [ 2i – (M+1)]

………..………(2.4)

A adalah konstanta, i = 0, 1, 2, …, M

1, dan M ≥ 4. ω

c

adalah frekuensi putar dari sinyal

pembawa, dan T adalah lebar dari 1 bit.

(27)

Tabel 2.5 Sinyal M ASK

Data

s(t)

Keterangan

0 0

Sinyal

pembawa

dikali

Amplitudo dan fasa 180

0

(tanda minus)

0 1

Sinyal

pembawa

dikali

setengah Amplitudo dan

fasa 180

0

(tanda minus)

1 0

Sinyal

pembawa

dikali

setengah Amplitudo

1 1

Sinyal

pembawa

dikali

Amplitudo

Gambar 2.3 menunjukkan sinyal M ASK yang dihasilkan dari sinyal modulasi 00 01 10

11

(28)

12

Proses modulasinya menggunakan alat pengubah serial menjadi parallel (Serial to

Parallel Converter), karena bit yang dating diambil masing masing dua bit untuk

dipasangkan. Dengan menggunakan pola seperti ini, maka sinyal termodulasi memiliki

lebar pita spektrum yang lebih kecil, dalam hal ini setengah dari BASK, tanpa harus

melanggar teorema sampling.

Kelemahan dari M ASK adalah lebih sensitif terhadap perubahan amplitudo, yang

disebabkan oleh sinyal gangguan selama proses transmisi. Gambar 2.4 menunjukkan

modulator dan demodulator M ASK

Gambar 2.4. (a) Modulator M ASK (b) Demodulator M ASK[4,5]

Modul pemancar dan penerima yang digunakan akan menggunakan modulasi ASK.

2.3 Komunikasi Serial RS232

Nama resmi dari standar

interface ini adalah

interface antara

data terminal

equipment dan

data communication employing serial binary data interchange, yaitu

suatu terminal yang menghubungkan antara terminal data dari suatu peralatan dan

peralatan komunikasi data yang yang menjalankan pertukaran data biner secara serial,

oleh industri komunikasi data disebut RS 232. Sejak dipublikasikan pertama kali pada

tahun 1962 ,

interface ini telah mengalami beberapa revisi dan sekarang yang banyak

dipergunakan adalah RS 232 revisi kelima yang dipergunakan pada tahun 1991 dan

disebut RS 232E atau EIA 232 E[6].

(29)

memiliki ketetapan hukum yang mengharuskan untuk digunakan dalam dunia

komunikasi data. Ada beberapa standar sederhana yang dikembangkan sendiri oleh

pembuat peralatan elektronik yang mungkin dapat diikuti, agar secara umum ada

kecocokan.

Standar lain yang menyangkut referensi aspek fungsi dan prosedur

interface

secara mekanikal dan elektrikal yang dipublikasikan oleh ITUT pada tahun 1993 adalah

standart V.25 dan V.28, sehingga RS 232E sebenarnya menyakup empat aspek, yaitu :

Mechanical : ISO21110

Electrical : V.28

Functional : V.24

Prosedural : V.24

Terdapat beberapa macam cara untuk menerapkan

interface data biner pada

komunikasi secara serial, salah satunya adalah RS 232 yang merupakan salah satu dari

standar yang dipilih dan sekarang telah dipakai secara luas dan dalam komunikasi data

umumnya digunakan untuk menghubungkan DTE (Data Terminal Equipment) ke DCE

(Data Communication Equipment) yang berupa peralatan sistem komunikasi analog.

RS232 merupakan salah satu standar

interface dalam proses transfer data antar

komputer terutama dalam bentuk serial transfer. Standar ini digunakan untuk

interface

antara peralatan terminal data dan komunikasi data, dengan munggunakan data biner

sebagai data yang ditransmisi. RS232 adalah suatu data

Serial Data Interface Standart

yang dikeluarkan oleh EIA. Standarisasi meliputi konektor, fungsi serta posisi tiap per

timming (pewaktu) dan level tegangan/arus.

Standar ini juga berisikan karakteristik sinyal listrik, karakteristik mekanik dan

cara operasional rangkaian fungsioanal[6,7] . Beberapa karakteristik rangkaian

fungsionalnya adalah sebagai berikut :

1. Tegangan terbuka maksimum 25 volt.

2. Keadaan logika `1` disebut “mark” ditandai dengan tegangan antara 5 volt sampai

dengan 15 volt.

(30)

14

4. Hambatan keluran DC harus dikurangi dari 700 ohm jika diberi tegangan 3 volt dan 15

volt, dan harus lebih besar 3000 ohm jika tegangan kurang dari 25 volt.

5. Slew rate harus lebih kecil dari 30 volt/detik. Waktu yang dipergunkan untuk melewati

daerah peralihan 3 volt sampai dengan +3 volt tidak boleh melebihi 1mdetik.

Gambar 2.5 Level Tegangan RS 232[6,7]

Beda tegangan 2 volt disebut sebagai noise margin dari RS232

6. Daerah tegangan antara 3 volt hingga +3 volt adalah invalid level, yaitu daerah

tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga,

level tegangan lebih negatif dari 25 volt atau lebih positif dari +25 volt juga harus

dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS232.

Komunikasi serial RS232 ini dilakukan oleh IC MAX232 yang berisikan 2 buah RS232

Line Driver dan 2 buah RS 232 Line Receiver. Berikut adalah konfigurasi pin dan circuit

dari IC MAX232 :

Gambar 2.6 Konfigurasi IC MAX232

Gambar 2.7 Circuit Diagram MAX 232

2.4 Konfigurasi Serial DB79

(31)

Gambar 2.8 Konfigurasi Serial DB 9[7]

Keterangan :

Pin 1(Data Carier Detect) berfungsi untuk medeteksi apakah DTE menerima data atau

tidak.

Pin2(Received Data) digunakan DTE untuk menerima data dari DCE

Pin3(Transmitted Data) digunakan DTE untuk mengirimkan data ke DCE.

Pin4(Data Terminal Ready) digunakan pada saat DTE memberitahukan kesiapan

terminalnya.

Pin5(Signal Ground) merupakan saluran ground.

Pin6(DCE Ready) berfungsi untuk menunjukan bahwa DCE siap untuk menerima data.

Pin7(Request To Send) digunakan pada saat DCE diminta mengirimkan data oleh DTE.

Pin8(Clear To send) digunakan pada saat DCE memberitahukan bahwa DTE boleh mulai

mengirimkan data.

Pin9(Ring Indicator) digunakan pada saat DCE memberitahukan ke DTE bahwa sebuah

stasiun menghendaki hubungan dengannya.

Berikut ini adalah konfigurasi pin dan nama sinyal konektor serial DB 9 :

Tabel 2.6. Konfigurasi Pin dan Nama Sinyal Konektor Serial DB 9[7]

.omor Pin

.ama Sinyal

Direction

Keterangan

1

DCD

In

Data Carrier Detect / Received

Line Signal Detect

2

RxD

In

Received Data

3

TxD

Out

Transmit Data

4

DTR

Out

Data Terminal Ready

5

GND

Ground

6

DSR

In

Data Set Ready

7

RST

Out

Request to Send

8

CTS

In

Clear to Send

(32)

16

Untuk dapat menggunakan port serial dalam hal ini COM1 maka perlu diketahui

alamatnya.

Base address COM1 biasanya adalah 1016(3F8h). Alamat tersebut adalah

alamat yang biasanya digunakan, tergantung dari komputer yang digunakan. Setelah

mengetahui

base address

nya, maka dapat ditentukan alamat register register yang

digunakan untuk komunikasi port serial ini. Berikut adalah tabel register register tersebut

beserta alamatnya :

Tabel 2.7. Nama Register Beserta Alamatnya[7]

.ama Register

Alamat Register

TX Buffer

3F8h

RX Buffer

3F8h

Baud Rate Divisor Latch LSB

3F8h

Baud Rate Divisor Latch MSB

3F9h

Interrupt Enable Register

3F9h

Interrupt Identification

Register

3FAh

Line Control Register

3FBh

Modem Control Register

3FCh

Line Status Register

3FDh

Modem Status Register

3FEh

RX Buffer

, digunakan untuk menampung dan menyimpan data dari DCE.

TX Buffer

, digunakan untuk menampung dan menyimpan data yang akan dikirim ke

port serial

Baud rate Divisor Latch LSB

, digunakan untuk menampung byte bobot rendah untuk

pembagi clock pada IC UART agar didapat baud rate yang tepat.

Baud rate Divisor Latch MSB

, digunakan untuk menampung byte bobot tinggi untuk

pembagi clock pada IC UART.

Interrupt Enable Register

, digunakan untuk menset interupsi apa saja yang akan

dilayani komputer.

Interrupt Identification Register

, digunakan untuk menentukan urutan prioritas

interupsi.

(33)

Modem Control Register

, digunakan untuk mengatur saluran pengatur modem

terutama saluran DTR dan saluran RST.

Line Status Register

, digunakan untuk menampung bit bit yang menyatakan keadaan

penerimaan atau pengiriman data dan status kesalahan operasi.

• Modem Status Register

, digunakan untuk menampung bit bit yang menyatakan status

dari saluran hubungan dengan modem.

2.5 Visual Basic

Form utama berupa tampilan menu menu yang dibuat dengan perangkat lunak berbasis

pada bahasa pemrograman visual basic, komponen yang digunakan antara lain :

Timer,

Label, Textbox , dan Comand Button[6,7].

2.5.1 Penggunaan Komponen Timer

Timer

adalah komponen pada

toolbox

yang digunakan untuk memberikan suatu

waktu tunda (delay) terhadap perintah yang dikenakan [6,7]. Untuk menggunakan

komponen timer langkah yang harus dilakukan adalah :

1. Mengambil komponen

timer

dari

toolbox

dan memasangnya pada

form

yang

digunakan.

2. Memberikan waktu tunda dengan mengisikannya pada properti interval dengan

persamaan waktu interval 1000 sama dengan 1 detik.

3. Komponen

timer

terdapat fasilitas

Enable

sehingga kita dapat mengeset mulainya

komponen timer.

2.5.2 Penggunaan Komponen Label

Untuk menggunakan komponen Label, langkah – langkahnya adalah[6,7]:

1. Mengambil komponen

Label

dari

Toolbox

dan memasangnya pada form yang

digunakan.

2. Pada

properti caption

disikan dengan tulisan yang ingin ditampilkan pada form yang

digunakan.

(34)

18

4. Komponen Label merupakan komponen

visual sehingga dapat diatur properti

visible

nya untuk ditampilkan atau tidak pada form sesuai dengan kebutuhan yang diinginkan.

2.5.3 Penggunaan Komponen TextBox

Untuk menggunakan komponen Textbox, langkah langkahnya adalah[6,7]:

1. Mengambil komponen

Textbox

dari

Toolbox

dan memasangnya pada form yang

digunakan .

2. Pada

properti caption

disikan dengan tulisan yang ingin ditampilkan pada form yang

digunakan.

3. Pada properti name dapat disikan nama dari pada komponen tersebut.

4. Komponen Textbox merupakan komonen visual sehingga dapat diatur properti visible

nya untuk ditampilkan atau tidak pada form sesuai dengan kebutuhan yang diinginkan.

5. Komponen

Textbox

dapat digunakan untuk memberikan suatu perintah dengan

memberikan input pada Textbox.

2.5.4 Penggunaan Komponen Command Button

Untuk menggunakan komponen

Command Botton, langkah – langkahnya adalah

[6,7]:

1. Mengambil komponen

Command Botton

dari

Toolbox

dan memasangnya pada form

yang digunakan.

2. Pada

properti caption

disikan dengan tulisan yang ingin ditampilkan pada form yang

digunakan.

3. Pada properti name dapat disikan nama dari pada komponen tersebut.

4. Komponen

Command Botton

merupakan komonen

visual

sehingga dapat diatur

properti

visible

nya untuk ditampilkan atau tidak pada

form

sesuai dengan kebutuhan

yang diinginkan.

(35)

2.5.5 Pengaksesan dengan menggunakan Kontrol MSComm

Kontrol MSComm menyediakan fasilitas komunikasi antara program aplikasi

yang dibuat dengan port serial untuk mengirim atau menerima data[7]. Setiap MSComm

hanya menangani satu port serial sehingga jika ingin menggunakan lebih dari satu port

serial, maka harus digunakan juga MSComm sebanyak port serial yang dipakai. Properti–

properti MSComm yang sering digunakan adalah sebagai berikut :

• CommPort : digunakan untuk menentukan nomor port serial yang akan dipakai

• Setting : digunakan untuk menset nilai baud rate, pariti, jumlah bit data, dan jumlah bit

stop

• PortOpen : digunakan untuk membuka ataupun menutup port serial yang dihubungkan

dengan MSComm ini

• Input : digunakan untuk mengambil data string yang ada pada buffer penerima

• Output : digunakan untuk menulis data string pada buffer kirim

2.5.6 Pemrograman Database dalam Visual Basic

Pemrograman database adalah pembuatan program (aplikasi) yang melibatkan

database sebagai penyimpan datanya. Pemrograman database dilakukan untuk membuat

aplikasi database[9]. Di dalam aplikasi database terdapat form untuk menginputkan data,

form transaksi, report/laporan, beserta databasenya. Pemrograman database ini dapat

menggunakan banyak tool seperti Visual Basic dengan Ms. Access, Visual basic dengan

SQL Server, Visual Foxpro, Ms. Access dan lain lain. Ms. Access sendiri selain untuk

menangani database juga dapat digunakan untuk membangun aplikasi database.Biasanya

Ms. Access hanya digunakan untuk menyimpan database. Untuk membuat aplikasi

database kita memerlukan bahasa pemrograman lain seperti visual basic. Pembuatan form

entri, form transaksi dan report/laporan dilakukan di visual basic, sementara access

digunakan untuk menyimpan data yang diinputkan maupun data yang akan disajikan ke

user saja.

2.5.6.1 Menjalankan MS Access

(36)

20

1. Klik tombol

Start

untuk membuka menu Start

2. Pilih Programs untuk menampilkan daftar program aplikasi yang ada pada komputer.

3. Kemudian klik Microsoft Access. Setelah dijalankan, pada layar monitor terlihat

jendela Ms. Access seperti pada gambar 2.9. berikut :

Gambar 2.9 Tampilan Awal MS Access[9]

Penjelasan:

Menu Bar berisi deretan menu menu yang disediakan Ms. Access

Tool Bar berisi deretan tombol yang digunakan untuk menjalankan perintah yang ada di

access

Tombol pengaturan jendela untuk memperbesar, meminimize maupun menutup jendela

Ms. Access.

Area Kerja digunakan untuk tempat pembuatan maupun pengeditan database

Status Bar untuk menampilkan status.

2.5.6.2 Objek Database Dalam Ms. Access

(37)

Gambar 2.10 Bar Objek di MS Access[9]

Objek yang terdapat dalam MS Access adalah :

Tabel 2.8 Objek objek dalam MS Access[9]

2.5.6.3 Membuat Tabel dengan MS Access

(38)

22

Gambar 2.11 Tampilan Penyimpanan File Database[9]

Tuliskan nama file yang diinginkan kemudian klik tombol create.

2.5.6.3.1 Membuat Tabel Baru

Klik Create table in Design View seperti gambar 2.12

Gambar 2.12 Tampilan Create Table[9].

Masukkan nama field pada kolom

Field .ame

kemudian pilih tipe datanya di kolom

(39)

Gambar 2.13 Tampilan Pembuatan Tabel Baru[9]

(40)

24

Wireless

!

"#$

"%

&' '

(

#

) *

!

"%

&' '

+,-

.

'

/

*

.

0

data transfer rate

1

-baud rate

. $$

(41)

9

baud rate

:)**

.

$

2

. $$ 3 0

*';

<= , 0 )6:)**11 7

2

. $$ 3 ;>

8888 88 0 ;1

!

.

&

.?@ *

(

9

&

.

(

.?@ *

.? $?

.$ AB

9

*

(

.? $?

. $$

9

(

$CA2

%CA2

" ?++

"

0

flowchart

1

.

0

flowchart

1

;

9

baud rate

(

9

"

baud rate

9

baud rate

"

9

(42)

26

;

4 D

+

4 D

9

9

9

buffer

-buffer

"

buffer

buffer

"

9

buffer

buffer

(43)

!

" "

#

$

" "

$ %

&

9

(

/

'

<=

" "

#

$

/

(

;

(

(

#

/

" "

$ %

&

&

) >

(

;

(

(

linear output

/ '

(

#

&

" ! 0

Amplitude Shift

Keying

1 .

D

' E

7

7

/

7

7

'

(

$ )

* +

+

plot

9

(

manual

auto save

.

9

:

E

E

%%B

(

E

$ ; ;

(

(

B E

$ ; ;

(44)

28

(

E

+?

"C; ;

:

"D

9

?

E

E

MSComm1.CommPort = 1

MSComm1.Settings = "9600,',8,1"

9

?-?-

9

?

:)**

9

baud rate

2

9

D

setting

&

9

9

&

9

9

.

MSComm1.PortOpen = True

"

true

false.

MSComm1.PortOpen = False

9

software

hardware

(45)

!

!

"

"

#

$

$

%

%

%

' 4 D

(

9

(

(

baud rate

9

9

<

software

#

serial port

9

"

9

(46)

30

9

9

9

E

(

E

9

9

9

(

9

(

D

9

(

0

save

1

manual

auto saving

D

(

0

flowchart

1

(47)

9

9

E

database

E

field

E

field

9

set point

field

field

field

9

)

E

D

-

)

field

%

software

#

(

slider

pointer

(

Slider

picture

Pointer

D

(

slider

pointer

>

&

9

(

slider

pointer

(

slider

2

9

slider Slider

9

slider

9

slider

(48)

32

(

pointer

mouse

time

2

time

F

textbox

textbox time

>

(

&

(49)

$

#

) *

: $

%

#

) *

!

%

-D

( D

%

9

(

%

%

E

%

B

9

(

(50)

34

BAB IV

HASIL DA PEMBAHASA

4.1 Hasil Pengujian Proses Pengiriman Data dari Mikokontoler

ATMega8535

!

"#$#

% &! '

Universal Asynchronous Receiver and Transmitter

(

baud rate

software

)

%

*

*

+

*

"

"

*

,

-.

(51)

buffer

1

buffer

1

buffer

0

buffer

2

buffer

buffer

,

buffer

byte

,

.

byte

*

00,.

3

/

#define USART_UBBR_VALUE 27 //boud 9600 ‘pengaturan nilai UBBR #define duty OCR2 // register OCR2 sebagai penentu duty cycle pada timer2

void USART_init(void) ‘inisialisasi komunikasi USART {

// Set baud rate

UBRRH = (uint8_t)(USART_UBBR_VALUE>>8); UBRRL = (uint8_t)USART_UBBR_VALUE;

// mengatur format ke 8 bit data, no parity, 1 stop bit UCSRC = (1<<URSEL)|(3<<UCSZ0);

// aktifkan pengirim dan penerima UCSRB = (1<<RXE;)|(1<<TXE;); }

void USART_vSendByte(uint8_t u8Data) {

// tunggu sampai data telah terkirim semua while((UCSRA&(1<<UDRE)) == 0); // kirimkan data

UDR = u8Data; }

uint8_t USART_vReceiveByte() {

// tunggu sampai data telah diterima semua while((UCSRA&(1<<RXC)) == 0);

// kembalikan nilai UDR sebagai penampung data yang diterima return UDR;

}

void kirim2monitor(long int vin) {

long int temp1, temp2; int n;

temp1=vin/1000;

n=pgm_read_byte(&Tulisan[temp1]); //nilai kali 10000 USART_vSendByte(n);

(52)

36

temp1 = vin B temp1; temp2 = temp1 / 100;

n=pgm_read_byte(&Tulisan[temp2]); USART_vSendByte(n);

temp2 = temp2 * 100; temp1 = temp1 B temp2; temp2 = temp1 / 10;

n=pgm_read_byte(&Tulisan[temp2]); USART_vSendByte(n);

temp2 = temp2 * 10; temp1 = temp1 B temp2;

n=pgm_read_byte(&Tulisan[temp1]); USART_vSendByte(n);

}

int main() {

//BBBBBBBBinisialisasi port BBBBBBB

LCD_DDR = 0xff; // set untuk keluaran

DDRB = 0xf0; // set untuk setengah keluaran dan setengah masukan DDRD = 0xff; // set untuk keluaran

PORTD = 0xff; // set keluaran awal adalah 1

//BBBBBBBBinisialisasi fitur BBBBBB timer1_init(); USART_init();

kirim2monitor(sp); // kirim setpont

mp = konversi_tegangan(temp1);//pengolahan nilai mp kirim2monitor(mp); // nilai mp kirim ke monitor }

2

TLP434A Ultra Small

Transmitter

RLP434A SAW Based Receiver

4

4

!

,

-5

4

, 0

(53)

6

, 0 4

2

,

-4

!

,

byte

2

*

, 01

1

,

byte

-.

byte

, 0

4

!

00,.1 00,.1 00,.1 00,.1

,

byte

,

byte

-.

4.2. Hasil Pengujian Perangkat Lunak

software

)

4

7

(54)

38

)

1

/

1

1

4.2.1. Tampilan Awal Hasil Perancangan Perangkat Lunak

0

Form

1

/

Form

%

Form

Form

Form

timer

Form

6

, $

Form

Form

%

toolbox

Form

command button

start

1

stop

1

exit

1

picturebox

1

frame

1

optionbutton

1

label

-

1

0

1

$

1

"

1

textbox

6

, ,

Form

%

3

timer

form

/

Private Sub Form_Load()

Timer4.Enabled = True // aktifkan timer4

End Sub

Private Sub Timer4_Timer()

Form1.Visible = False //hilangkan form1

Form2.Visible = True //tampilkan form2

Form2.SetFocus

ASH = ASH + 1 //tambah nilai counter

If ASH > 30 Then // cek nilai counter

Form2.Visible = False //hilangkan form2

Unload Form2

Timer4.Enabled = False //matikan timer4 Form1.Visible = True //tampilkan kembali form1 End If

(55)

/

2

,

form

,

1

-

form

2

7

4

counter

counter

0

4

0

-

,

6

, $ 8

(56)

40

3

/

Private Sub Form_Load()

aHari = Array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu") Timer2.Interval = 500

Timer2.Enabled = True //aktifkan timer2 List1.AddItem "Suhu Percobaan"

Picture1.ScaleMode = 0 //pengaturan tampilan gambar Picture1.ScaleWidth = 100 //pengaturan lebar gambar Picture1.ScaleHeight = 30 //pengaturan tinggi gambar Picture1.ScaleLeft = 0

Picture1.ScaleTop = B30

Picture1.BackColor = vbCyan //pengaturan warna Picture1.ForeColor = vbBlue

Picture1.Line (0, 0)B(10000, 0)

Picture1.Line (0, B30)B(10000, B30), vbRed //pemberian garisBgaris gradient gambar Picture1.Line (0, B27)B(10000, B27), vbRed

Picture1.Line (0, B24)B(10000, B24), vbRed Picture1.Line (0, B21)B(10000, B21), vbRed Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10

Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u

Picture1.CurrentY = B1 Picture1.Print u

;ext u

Picture1.CurrentX = 1 Picture1.CurrentY = B1 Picture1.Print "0"

Picture2.ScaleMode = 0 //pengaturan tampilan gambar2 Picture2.ScaleWidth = 3

Picture2.ScaleHeight = 30 Picture2.ScaleLeft = 0 Picture2.ScaleTop = B30 Picture2.BackColor = vbBlack Picture2.ForeColor = vbWhite Picture2.CurrentX = 1 Picture2.CurrentY = B30 Picture2.Print "30" Picture2.CurrentX = 1 Picture2.CurrentY = B27 Picture2.Print "27"

(57)

Picture2.CurrentX = 1 Picture2.CurrentY = B18 Picture2.Print "18" Picture2.CurrentX = 1 Picture2.CurrentY = B15 Picture2.Print "15" Picture2.CurrentX = 1 Picture2.CurrentY = B12 Picture2.Print "12" Picture2.CurrentX = 1 Picture2.CurrentY = B9 Picture2.Print "9" Picture2.CurrentX = 1 Picture2.CurrentY = B6 Picture2.Print "6" Picture2.CurrentX = 1 Picture2.CurrentY = B3 Picture2.Print "3" Picture2.CurrentX = 1 Picture2.CurrentY = 0 Picture2.Print "0" End Sub

Private Sub Timer2_Timer()

sHari = aHari(Abs(Weekday(Date) B 1)) //tampilkan nama hari Label5.Caption = "" & sHari & " , " & Format(Date, "dd mmmm yyyy") //tampilkan tanggal Label6.Caption = Format(Time, "hh:mm:ss") //tampilkan jam

End Sub

form

/

picturebox

Picturebox

. $.

.

*

9

:

:

-..

!

0

#

;

4.2.2 Hasil Pengujian Bagian Penerimaan Data

-1

01

$1

listbox

3

--.

)

(58)

42

*

+

listbox

'6

, <( 6

, ;

1

*

)

*

-5

6

, #

2

6

, ; 3

3

6

, <

3

=

3

/

Private Sub Form_Load()

(59)

End Sub

Private Sub XPButton1_Click() //tombol start If Text7.Text = "" Then

MsgBox ("Masukkan ;ama Vaksin") //minta masukan pengguna Exit Sub

Else

Label34.Caption = Text7.Text End If

Timer3.Enabled = True //aktifkan timer3(stopwatch) If MSComm1.PortOpen = False Then

Label11.Caption = Label5.Caption & " " & Label6.Caption

MSComm1.PortOpen = True //buka port Comm1 Timer1.Enabled = True //aktifkan timer1 timeout = 0

Label1.Caption = "On" End If

End Sub

Private Sub MSComm1_OnComm() //minta masukan pilihan pengguna If Option1.Value = True Then //pilihan selain yang dipilih pengguna dihilangkan Option2.Visible = False

Option3.Visible = False Option1_Click

End If

If Option2.Value = True Then Option1.Visible = False Option3.Visible = False Option2_Click

End If

If Option3.Value = True Then Option1.Visible = False Option2.Visible = False Option3_Click

End If End Sub

Private Sub Option_Click()

If MSComm1.CommEvent = comEvReceive Then //tunggu buffer terima data Label2.Caption = "Port Buka"

Label3.Caption = MSComm1.Input Label4(i).Caption = ""

Label4(i).Caption = Label3.Caption / 100

List1.AddItem Label4(i).Caption //tambahkan nilai data ke listbox End If

End Sub

Private Sub Timer1_Timer() Dim Response

If timeout = 0 Then

Timer1.Enabled = False

Response = MsgBox("Port Open, Data Dapat Diterima", vbInformation, "AKSES DITERIMA")

(60)

44

End Sub

Private Sub Timer3_Timer() //timer sebagai fungsi stopwatch TotalTenthDetik = TotalTenthDetik + 1

TenthDetik = TotalTenthDetik Mod 100 TotalDetik = Int(TotalTenthDetik / 60) Detik = TotalDetik Mod 60

If Len(Detik) = 1 Then Detik = "0" & Detik End If

Menit = Int(TotalDetik / 60) Mod 60 If Len(Menit) = 1 Then

Menit = "0" & Menit End If

Jam = Int(TotalDetik / 3600) If Jam < 9 Then

Jam1 = "0" & Jam End If

Label8 = Jam1 & ":" & Menit & ":" & Detik & ":" & TenthDetik & "" If Detik = 10 Then

If Label3.Caption = "Label3" Then Timer3.Enabled = False

MsgBox ("Alat Belum Terhubung. Tidak ada data yang diterima")

End

End If End If

End Sub

/

1

*

-software

*

-*

-

*

-

*

-

baud rate

1

1

1

>

baud rate

)

>

*

-

-buffer

*

-*

-

?7

7

7

(61)

stopwatch

@

port

1

-A+ B @

port

option button

option button

0

A

B

set

point

>

listbox.

4.2.3 Hasil Pengujian Bagian Penampil Grafik

6

0

1

'6

, "(

-..

slider

'6

, C( !

-..

1

1

6

pointer

amplitudo

time

'6

, -.(

(62)

46

6

, C !

-..

6

, -. >

!

3

/

Private Sub Option1_Click() //pilihan tampilan per 100 data Picture1.Width = 337 //pengaturan batasBbatas gambar Picture1.ScaleMode = 0

Picture1.ScaleWidth = 100 Picture1.ScaleHeight = 30 Picture1.ScaleLeft = 0 Picture1.ScaleTop = B30 Picture1.BackColor = vbCyan Picture1.ForeColor = vbBlue Picture1.Line (0, 0)B(10000, 0)

Picture1.Line (0, B30)B(10000, B30), vbRed Picture1.Line (0, B27)B(10000, B27), vbRed Picture1.Line (0, B24)B(10000, B24), vbRed Picture1.Line (0, B21)B(10000, B21), vbRed Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10

Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u

Picture1.CurrentY = B1 Picture1.Print u

;ext u

If MSComm1.CommEvent = comEvReceive Then

(63)

Label27.Caption = Buat(i) //simpan nilai data suhu ;ilai(i) = ""

;ilai(i) = Buat(i) a = 1

For t = 1 To I //plot data suhu dlm grafik Picture1.Line (a, B;ilai(a))B(t, B;ilai(t)), vbWhite

a = t ;ext t

s = B;ilai(i) Text6.Text = ;ilai(i) Call Awal

Call Cek;ilai End If

i = i + 1 //naikkan nilai counter

End If End Sub

Private Sub Option3_Click() //pilihan tampilan keseluruhan Picture1.Width = 600

Picture1.ScaleWidth = 4500 Picture1.ScaleHeight = 30 Picture1.ScaleLeft = 0 Picture1.ScaleTop = B30 Picture1.BackColor = vbBlack Picture1.ForeColor = vbWhite End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then //prosedur pengaktifan fasilitas pointer Slider2.Value = X

Label22.Caption = X * 10 Label23.Caption = BY

If Label23.Caption > 23 Then //cek kondisi untuk mengubah warna background Label19.BackColor = vbRed

End If

If Label23.Caption < 23 Then

Label19.BackColor = vbYellow End If

If Label23.Caption < 16 Then

Label19.BackColor = vbGreen End If

If Label23.Caption < 8 Then

Label19.BackColor = vbBlue End If

If Label23.Caption < 2 Then

Label19.BackColor = vbWhite End If

Label19.Caption = Label23.Caption + " 'C" //tampilkan nilai amplitudo 0C Label21.Caption = Label22.Caption + " s" //tampilkan nilai waktu

End If End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then

(64)

48

Label23.Caption = BY If Label23.Caption > 23 Then Label19.BackColor = vbRed End If

If Label23.Caption < 23 Then

Label19.BackColor = vbYellow End If

If Label23.Caption < 16 Then

Label19.BackColor = vbGreen End If

If Label23.Caption < 8 Then

Label19.BackColor = vbBlue End If

If Label23.Caption < 2 Then

Label19.BackColor = vbWhite End If

Label19.Caption = Label23.Caption + " 'C" Label21.Caption = Label22.Caption + " s"

End If End Sub

Private Sub Slider1_Change() //prosedur pengaturan slider Picture1.ScaleMode = 0

Picture1.ScaleWidth = 100 Picture1.ScaleHeight = 30

Picture1.ScaleLeft = Slider1.Value //nilai slider dijadikan batasan gambar Picture1.ScaleTop = B30

Picture1.BackColor = vbCyan Picture1.ForeColor = vbBlue a = 0

Picture1.Line (0, 0)B(10000, 0)

Picture1.Line (0, B30)B(10000, B30), vbRed Picture1.Line (0, B27)B(10000, B27), vbRed Picture1.Line (0, B24)B(10000, B24), vbRed Picture1.Line (0, B21)B(10000, B21), vbRed Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10

Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u

Picture1.CurrentY = B1 Picture1.Print u

;ext u

(65)

Picture2.BackColor = vbCyan Picture2.ForeColor = vbBlue Picture2.CurrentX = 1 Picture2.CurrentY = B30 Picture2.Print "30" Picture2.CurrentX = 1 Picture2.CurrentY = B27 Picture2.Print "27" Picture2.CurrentX = 1 Picture2.CurrentY = B24 Picture2.Print "24" Picture2.CurrentX = 1 Picture2.CurrentY = B21 Picture2.Print "21" Picture2.CurrentX = 1 Picture2.CurrentY = B18 Picture2.Print "18" Picture2.CurrentX = 1 Picture2.CurrentY = B15 Picture2.Print "15" Picture2.CurrentX = 1 Picture2.CurrentY = B12 Picture2.Print "12" Picture2.CurrentX = 1 Picture2.CurrentY = B9 Picture2.Print "9" Picture2.CurrentX = 1 Picture2.CurrentY = B6 Picture2.Print "6" Picture2.CurrentX = 1 Picture2.CurrentY = B3 Picture2.Print "3" Picture2.CurrentX = 1 Picture2.CurrentY = 0 Picture2.Print "0" Call Awal

For i = 0 To batasakhir B 1

Picture1.Line (a, B;ilai(a))B(i, B;ilai(i))

a = i

;ext i End Sub

Private Sub Slider1_Scroll() Picture1.ScaleMode = 0 Picture1.ScaleWidth = 100 Picture1.ScaleHeight = 30 Picture1.ScaleLeft = Slider1.Value Picture1.ScaleTop = B30

Picture1.BackColor = vbBlack Picture1.ForeColor = vbWhite a = 0

Picture1.Line (0, 0)B(10000, 0)

(66)

50

Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10

Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u

Picture1.CurrentY = B1 Picture1.Print u

;ext u

(67)

Call Awal

For i = 0 To batasakhir B 1

Picture1.Line (a, B;ilai(a))B(i, B;ilai(i)) a = i

;ext i End Sub

Sub Awal() //berfungsi sebagai counter jumlah data batasakhir = i

Text4.Text = batasakhir End Sub

Sub Cek;ilai() //sub prosedur tambahan tampilan gambar For n = 0 To 10000 Step 1

If i = n Then

Picture1.ForeColor = vbGreen Picture1.CurrentX = n

Picture1.CurrentY = s Picture1.Print Text6.Text End If

;ext n End Sub

Sub Cek;ilai1()

For n = 0 To 10000 Step 100 If i = n Then

Picture1.ForeColor = vbGreen Picture1.CurrentX = n

Picture1.CurrentY = s Picture1.Print Text6.Text End If

;ext n End Sub

/

%

for

plot

>

A A

$.

$.

.1

picturebox

.

.

*

$.

.

* @

A A

.

-

$

1

8

pointer

picturebox

>

Gambar

Tabel 2.2. UCSRB (USART Control and Status Register B)[3]
Tabel 2.3. UCSRC (USART Control and Status Register C)[3]
Tabel 2.4 Penentuan Mode Paritas[3]
Gambar 2.1.(a) Sinyal informasi (b) Sinyal BASK[4,5]
+7

Referensi

Dokumen terkait

Pada tahap memeriksa kembali melakukan tahap evaluation (evaluasi).. 30 hal ini seperti tukang yang telah menyelesaikan pekerjaannya. Tukang tersebut dituntut untuk

Penelitian ini bertujuan untuk mengetahui perbedaan hasil belajar IPA siswa kelas V SD dalam penggunaan fabel pada materi penyesuaian diri hewan terhadap

Pengambilan objek foto ini menggunakan iso 100, shutter speed 1/100 sec dan diafragma f/9 mendapatkan kondisi lighting direct maka didapatkan warna yang kuat (vivid

Menetapkan Pemberian Pensiun PNS Daerah Propinsi Atas Permohonan Sendiri (APS) bagi Golongan IV/b kebawah yang belum mencapai BUP,.. Menetapkan Pemberhentian PNS

Beberapa kesimpulan yang dapat ditarik oleh penulis setelah diselesaikannya Analisis dan Pengembangan Sistem Informasi Pembelajaran Online Pada Akademi Kebidanan Abdurahman

Berbeda dengan steganografi yang tujuannya adalah menyembunyikan data ke dalam sebuah media yang lain, sehingga data tersebut tidak terlihat.. Pada aplikasi steganografi

[r]

Nama Penulis. Judul Jurnal , volume:nomor_halaman, tahun_publikasi. Contoh penulisan di Daftar Pustaka lihat [3].. iii) Artikel pada