pengembangan sistem penjadualan hidup...

19
1 Adong Purba - 5107100528 Makalah Seminar Tugas Akhir Periode Januari 2010 PENGEMBANGAN SISTEM PENJADUALAN HIDUP DAN MATI KOMPUTER SERVER MENGGUNAKAN MOBILE BERBASIS MICROCONTROLLER Adong Purba – Ir.Muchammad Husni, M. Kom Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Surabaya, Email: [email protected] Abstrak Seiring dengan kemajuan jaman, saat ini sangat dibutuhkan teknologi seperti komputer, mobile yang dapat bekerja tanpa perlunya campur tangan manusia secara berlebih. Efisiensi sumber daya manusia telah menjadi perhitungan tersendiri di segala aspek kehidupan. Beranjak dari kebutuhan tersebut maka dikembangkan sebuah komputer server yang terotomatisasi . Sebuah komputer server memerlukan sebuah sistem dimana server tersebut bisa menghidupkan dan mematikan dirinya sendiri secara otomatis dan dengan kontrol jarak jauh, dengan demikian server tersebut seolah bisa mengatur dirinya sendiri. Pengembangan sistem penjadualan ini menggunakan hardware tambahan di luar komputer yaitu mobile (handphone), modem dan rangkaian digital yang didalam nya terdapat microcontroller sebagai prosesor untuk menghidupkan komputer sesuai jadual yang telah di tentukan. Sistem ini memungkinkan pengguna untuk menghidupkan dan mematikan komputer pada waktu yang diinginkan. Pengaplikasian sistem penjadualan ini digunakan untuk server yang menggunakan sistem split sehingga salah satu dari dua server dapat dimatikan atau tidak di fungsikan untuk mengurangi resiko kerusakan komputer server. 1. PENDAHULUAN Perkembangan teknologi informasi yang berkembang saat ini terus membuka berbagai alternatif baru dalam pemanfaatan teknologi yang lebih efisien dan cepat. Sebagaimana teknologi pada komputer dan handphone, efisiensi pengoperasian komputer yang bekerja secara otomatis tanpa adanya campur tangan manusia menjadi suatu poin penting dalam pengembangan tersebut. Kecepatan dan praktis adalah hal yang diutamakan pada era saat ini. Beberapa rancangan sistem dari teknologi khususnya komputer yang ada saat ini memerlukan maintenance (perawatan) secara berkala sehingga masih belum bisa sepenuhnya memberikan efisiensi yang maksimal. Rancangan sistem yang terotomatisasi akan sangat meningkatkan efisiensi dalam berbagai hal. waktu adalah sesuatu yang sangat penting untuk di efisiensikan sehingga untuk menjalankan sebuah sistem tidak memerlukan waktu yang panjang. Sebuah komputer yang berfungsi sebagai server memiliki tugas dan tanggung jawab untuk sebuah jaringan komputer. Server komputer dewasa ini dituntut untuk memiliki tingkat efisiensi yang tinggi. Biaya listrik, waktu pemakaian, dan sebagainya merupakan sesuatu yang harus dibatasi untuk meningkatkan tingkat efisiensi dari sistem bisnis secara keseluruhan. Penghematan yang dilakukan tentunya adalah dengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa hidup dan mati secara otomatis tanpa adanya seorang administrator yang setiap hari menghidupkan dan mematikan komputer. Hal tersebut juga merupakan suatu peningkatan efisiensi. Melihat hal tersebut di atas, maka penulis mencoba untuk membuat suatu sistem aplikasi dimana komputer dapat hidup dan mati secara otomatis dan manual yang nantinya dapat digunakan di seluruh komputer di ITS sehingga bisa meningkatkan efisiensi di segala bidang. 2. DELPHI 7 Delphi 7 Bahasa pemrograman berbasis Windows yang menyediakan fasilitas pembuatan aplikasi visual. Memiliki beberapa Komponen & Fungsi Komponen : SpeedBar, Component Pallet, Jendela Form dll. Mematikan Komputer pada Delphi Fungsi : - EWX_RESTART merestart -EWX_SHUTDOWN shutdown dengan peringatan - EWX_LOGOFF untuk logoff -EWX_FORCE shutdown tanpa peringatan. Kata kunci : Penjadualan Hidup dan Mati Komputer, Microcontroller, Sistem Digital, Handphone, Modem, Firmware.

Upload: trandung

Post on 03-May-2018

235 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

1

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

PENGEMBANGAN SISTEM PENJADUALAN HIDUP DAN MATI KOMPUTER SERVER MENGGUNAKAN MOBILE BERBASIS

MICROCONTROLLER

Adong Purba – Ir.Muchammad Husni, M. Kom Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember

Surabaya, Email: [email protected]

Abstrak Seiring dengan kemajuan jaman, saat ini sangat dibutuhkan teknologi seperti komputer, mobile

yang dapat bekerja tanpa perlunya campur tangan manusia secara berlebih. Efisiensi sumber daya manusia telah menjadi perhitungan tersendiri di segala aspek kehidupan. Beranjak dari kebutuhan tersebut maka dikembangkan sebuah komputer server yang terotomatisasi .

Sebuah komputer server memerlukan sebuah sistem dimana server tersebut bisa menghidupkan dan mematikan dirinya sendiri secara otomatis dan dengan kontrol jarak jauh, dengan demikian server tersebut seolah bisa mengatur dirinya sendiri.

Pengembangan sistem penjadualan ini menggunakan hardware tambahan di luar komputer yaitu mobile (handphone), modem dan rangkaian digital yang didalam nya terdapat microcontroller sebagai prosesor untuk menghidupkan komputer sesuai jadual yang telah di tentukan. Sistem ini memungkinkan pengguna untuk menghidupkan dan mematikan komputer pada waktu yang diinginkan. Pengaplikasian sistem penjadualan ini digunakan untuk server yang menggunakan sistem split sehingga salah satu dari dua server dapat dimatikan atau tidak di fungsikan untuk mengurangi resiko kerusakan komputer server.

Kata Kunci : transportasi, minlp, boarding strategy.

1. PENDAHULUAN

Perkembangan teknologi informasi yang berkembang saat ini terus membuka berbagai alternatif baru dalam pemanfaatan teknologi yang lebih efisien dan cepat. Sebagaimana teknologi pada komputer dan handphone, efisiensi pengoperasian komputer yang bekerja secara otomatis tanpa adanya campur tangan manusia menjadi suatu poin penting dalam pengembangan tersebut. Kecepatan dan praktis adalah hal yang diutamakan pada era saat ini.

Beberapa rancangan sistem dari teknologi khususnya komputer yang ada saat ini memerlukan maintenance (perawatan) secara berkala sehingga masih belum bisa sepenuhnya memberikan efisiensi yang maksimal. Rancangan sistem yang terotomatisasi akan sangat meningkatkan efisiensi dalam berbagai hal. waktu adalah sesuatu yang sangat penting untuk di efisiensikan sehingga untuk menjalankan sebuah sistem tidak memerlukan waktu yang panjang.

Sebuah komputer yang berfungsi sebagai server memiliki tugas dan tanggung jawab untuk sebuah jaringan komputer. Server komputer dewasa ini dituntut untuk memiliki tingkat efisiensi yang tinggi. Biaya listrik, waktu pemakaian, dan sebagainya merupakan sesuatu yang harus dibatasi untuk meningkatkan tingkat

efisiensi dari sistem bisnis secara keseluruhan. Penghematan yang dilakukan tentunya adalah dengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa hidup dan mati secara otomatis tanpa adanya seorang administrator yang setiap hari menghidupkan dan mematikan komputer. Hal tersebut juga merupakan suatu peningkatan efisiensi.

Melihat hal tersebut di atas, maka penulis mencoba untuk membuat suatu sistem aplikasi dimana komputer dapat hidup dan mati secara otomatis dan manual yang nantinya dapat digunakan di seluruh komputer di ITS sehingga bisa meningkatkan efisiensi di segala bidang.

2. DELPHI 7 Delphi 7 Bahasa pemrograman berbasis Windows yang menyediakan fasilitas pembuatan aplikasi visual. Memiliki beberapa Komponen & Fungsi Komponen : SpeedBar, Component Pallet, Jendela Form dll. Mematikan Komputer pada Delphi Fungsi : - EWX_RESTART merestart

-EWX_SHUTDOWN shutdown dengan peringatan

- EWX_LOGOFF untuk logoff -EWX_FORCE shutdown tanpa

peringatan.

Kata kunci : Penjadualan Hidup dan Mati Komputer, Microcontroller, Sistem Digital, Handphone, Modem, Firmware.

Page 2: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

2

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Aplikasi ini akan di buat pada suatu form di delphi yang akan di Tambahkan sebuah komponen TDateTimePicker pada formUtama yang berfungsi sebagai media untuk pengguna melakukan pengaturan waktu.

Jadual waktu untuk mati nya komputer akan di atur oleh pengguna pada form, untuk mengaktif dan non aktifkan akan di butuhkan sebuah Tbutton. Keadaan normal dari program ini adalah non aktif jadi Button ini akan di isi dengan caption “Aktifkan Jadual Mati”. Jika button ini di klik oleh pengguna maka aplikasi akan berjalan dan caption akan berubah menjadi “Non Aktifkan Jadual Mati”.

3. MICROCONTROLLER

Microcontroller adalah single chip computer yang memiliki kemampuan untuk diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol.Karena kemampuannya yang tinggi, bentuknya yang kecil, konsumsi dayanya yang rendah dan harga yang murah maka microcontroller begitu banyak digunakan di dunia. Microcontroller digunakan mulai dari bidang elektronik, otomotif, industri, telekomunikasi, medis, sampai dengan pengendali robot serta persenjataan militer.

AVR merupakan seri microcontroller CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer dan mode power saving. Beberapa diantaranya mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. Chip AVR yang digunakan untuk Tugas Akhir ini adalah ATmega8535.

ATmega8535 adalah microcontroller CMOS 8-bit daya rendah berbasis arsitektur RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock, ATmega8535 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses. Berikut adalah feature-feature microcontroller seri ATmega8535.

- Memori Flash 8 Kbytes untuk program

- Memori EEPROM 512 bytes untuk data

- Memori SRAM 512 bytes untuk data

- Maksimal 32 pin I/O

- 20 interrupt

- Satu 16-bit timer dan dua 8-bit timer

- 8 channel ADC 10 bit

- Komunikasi serial melalui SPI dan USART

- Analog komparator

- 4 I/O PWM

Pin AVR Pada AVR ATmega8535 terdapat pin-pin

dengan kemasan 40-pin DIP (dual in-line package). Penomoran dan fungsi dari pin-pin tersebut akan dijelaskan dengan gambar dibawah ini

Gambar 2.6 Microcontroller AVR.

Gambar 2.7 Pin ATmega8535 kemasan 40-pin

Page 3: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

3

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Berikut adalah penjelasan dari masing-masing pengelompokan pada pin.

a. Port A

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter. b. Port B

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut.

Tabel 2.1 Fungsi khusus port B pada AVR

Port Pin

Fungsi Khusus

PB0 T0 = timer/counter 0 external counter input

PB1 T1 = timer/counter 0 external counter input

PB2 AIN0 = analog comparator positive input

PB3 AIN1 = analog comparator negative input

PB4 SS = SPI slave select input

PB5 MOSI = SPI bus master output / slave input

PB6 MISO = SPI bus master input / slave output

PB7 SCK = SPI bus serial clock

c. Port C

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator untuk timer/counter 2. d. Port D

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut.

Tabel 2.2 Fungsi khusus port D pada AVR

Port Pin

Fungsi Khusus

PD0 RDX (UART input line)

PD1 TDX (UART output line)

Page 4: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

4

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

PD2 INT0 ( external interrupt 0 input )

PD3 INT1 ( external interrupt 1 input )

PD4 OC1B (Timer/Counter1 output compareB match output)

PD5 OC1A (Timer/Counter1 output compareA match output)

PD6 ICP (Timer/Counter1 input capture pin)

PD7 OC2 (Timer/Counter2 output compare match output)

e. RESET

RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka system akan di-reset. f. XTAL1

XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit. g. XTAL2

XTAL2 adalah output dari inverting oscillator amplifier. h. AVcc

Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter. i. AREF

AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini. j. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.

Paralel CPU dan Microcontroller AVR Sistem Penjadualan ini menggunakan

sistem paralelisme antara CPU dan Microcontroller (AVR). Guna memaksimalkan performa dan paralelisme, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data).

Arsitektur CPU dari AVR ditunjukan oleh gambar di bawah ini. Instruksi pada memori program dieksekusi dengan pipelining single level. Selagi sebuah instruksi sedang dikerjakan, instruksi berikutnya diambil dari memori program. Program akan dibuat menggunakan tool CodeVisionAVR yang merupakan cross compiler.

Gambar 2.8 Arsitektur CPU dari AVR

Rangkaian Digital Microcontroller yang berfungsi sebagai

processor akan memerintahkan rangkaian digital pada perangkat keras. Di dalam rangkaian digital terdapat banyak IC, Conector dan beberapa peralatan elektronik yang tergabung dalam sebuah rangkaian.

Konektor Rangkaian Digital Pada sistem penjadualan ini digunakan tiga

jenis konektor yang akan menghubungkan keseluruhan rangkaian pada hardware. Adapun konektor tersebut adalah kapasitor, resistor dan transistor.

Page 5: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

Mak

Tabel

kapasenergmengumuataelektrperpinKemajuga adalahpengu(switcatau berfunberdamemuakurat

3. S

RTC

moduPada mendmenghBerikumodu

DS13

1. Mtandetah

2. Me

kalah Semina

l 2.3 Jenis konNama kone

Kapasitor

Resistor

Transistor

sitor adalah sui di dalam umpulkan kean listrik. Reronik yang mndahan eleampuan resistresistensi atah alat semikouat, sebagai siching), stabilisebagai fung

ngsi semacsarkan arus inungkinkan pet dari sirkuit s

SERIAL RTC

Serial RTC

ul penghitungsistem ini

efinisikan whidupkan komut ini akan d

ul tersebut :

Komponen 02 dengan fitu

enghitung wanggal, bulanengan kompehun 2100.

emory / RAM

ar Tugas Akh

nektor pada raektor G

uatu alat yang medan listr

etidakseimbanesistor adalahmemberikan hektron (mtor untuk meau hambatan onduktor yangirkuit pemutusisasi tegangangsi lainnya.

cam kran nputnya atau tengaliran listsumber listrikn

C

(Real Time Cg waktu dan Serial RTC waktu yang

mputer melaludijelaskan fitu

utama Serur-fitur sebag

aktu mulai d, tahun, harensasi tahun

sebesar 31 by

hir Periode J

angkaian digitGambar

dapat menyimrik, dengan ngan internal suatu komp

hambatan terhmuatan negenghambat dis

listrik. Transg dipakai sebs dan penyamn, modulasi s

Transistor dlistrik, dim

tegangan inputrik yang sanya.

Clock) meruppenyimpan digunakan u

g tepat uui Microcontrour-fitur dari k

rial RTC ai berikut :

detik, menit, ri dalam mi

kabisat sa

yte.

Ad

Januari 2010

tal

mpan cara dari

ponen hadap gatif). sebut sistor bagai

mbung inyal dapat mana

utnya, angat

pakan data.

untuk untuk oller.

kedua

ialah

jam, nggu

ampai

3. Ak

4. Sb

5. KbBa

Kom

dikensesuatersememkarakkeka‘S’ umengNandRangkeluaRS 2

untuvolt +15 kond‘1’, PC teganmengpadadari Nandseriagamb

dong Purba -

kses single by

Support battebackup supply

Kemampuan Tbattery jenis NBattery Backuagar data pada

munikasi seriaKomunikas

ndalikan makai dengan m

ebut maka mbedakannya. kter ‘F’ untuk

anan dan kekiuntuk berhentggunakan IC d, resistor gkaian ini bearan tegangan

232 menjadi le

Tegangan k logic ‘1’ ddan logic ‘0volt. Pada lev

disi ‘0’ volt sategangannya

tegangannyangan TTL kggunakan ger

a microcontromicrocontrol

d kemudian al PC. Untuk bar dibawah i

5107100528

yte atau burst.

ery Lithium y.

Trickle ChargNi-Cd. Modul up jenis Lithia DS1302 tetap

al si serial terdap

ka agar data yotor mana ya

diperlukan Protocol yang

k maju, ’R’ atiri, ‘P’ untuk ti Rangkaian p

7400 yang m4K7Ω dan

erfungsi untun yang keluar evel tegangan

biner pada pdidefinisikan -0’ didefinisikavel TTL yang ampai 0,4 vol2,4 volt samp

a diturunkankemudian dirbang Nand doller. Demikiller di invertediterima olehlebih jelasnyani:

Gambar 2.9 P

5 8

atau Ni-Cd

ge untuk penini telah dilen

ium untuk mep 'up to date'.

pat dua motoryang dikirimkaang diberikan

protocol g digunakan atau ‘L’ untuk berputar 180

pengubah tegmerupakan ge

n resistor 2uk mengubah

dari PC yaituTTL.

pada level RS-3 volt sampan +3 volt sdidefinisikan t dan untuk k

mpai 5 volt. Tn menjadi i inverter d

dan diterima pian sebaliknyer dengan geh pin 2 padaa dapat dilihat

Port Serial

untuk

ngisian ngkapi enjaga

r yang an PC n data untuk

adalah belok

0º ,dan gangan erbang 2K2Ω.

level u level

S 232 ai -15 ampai untuk

kondisi x dari

level dengan pin Rx ya Tx erbang a port t pada

Page 6: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

6

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

4.Firmware Microcontroller

Oprasi microcontroller yang memerintahkan seluruh rangkaian digital akan diatur oleh firmware. Code dari firmware tersebut berada di dalam microcontroller menggunakan bahasa pemrograman Ansi-C. Dalam Ansi-C operasi input dan output dilakukan dengan menggunakan fungsi-fungsi header file stdio.h misalkan : printf, scanf, putc, dsb.Untuk input dan output ke file digunakan fread, fwrite, fputc, dsb.

#include <stdio.h>

void main()

int x;

printf (“Masukkan sebuah bilangan:\n”);

scanf (“%d”, &x);

printf (“Bilangan yang dimasukkan adalah %d\n”,x);

Gambar 2.10 Contoh code standart ANSI C

Bahasa Ansi-C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk microcontroller. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Berikut penjelasan dasar teori dalam pembangunan sistem penjadualan ini dimana nantinya Ansi-C pada AVR ini memiliki fugsi dan tanggung jawab untuk menghidupkan komputer

Struktur penulisan program Dalam bahasa pemrograman Ansi-C

terdapat sebuah struktur standart untuk penulisan program. Program di bawah ini menunjukan struktur standart sebagai dasar teori untuk membuat program menghidupkan komputer pada microcontroller.

#include < [library1.h] > // Opsional

#include < [library2.h] > // Opsional

#define [nama1] [nilai] ; // Opsional

#define [nama2] [nilai] ; // Opsional

[global variables] // Opsional

[functions] // Opsional

void main(void) // Program Utama

[Deklarasi local variable/constant]

[Isi Program Utama]

Gambar 2.11 Struktur penulisan program

• Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. Penulisan : [tipe data] [nama] = [nilai] ;

• Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah. Penulisan : const [nama] = [nilai] ;

• Tambahan Global variabel/konstanta yang dapat diakses di seluruh bagian program. Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.

Function

Function adalah bagian program yang dapat dipanggil oleh program utama. Penulisan :

Page 7: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

7

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

[tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) [statement] ;

Gambar 2.12 Pemanggilan fungsi

Conditional statement dan looping

if else : digunakan untuk penyeleksian kondisi

if ( [persyaratan] ) [statement1]; [statement2]; else [statement3]; [statement4];

Gambar 2.13 Kondisional 1

for : digunakan untuk looping dengan jumlah yang sudah diketahui

for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) [statement1]; [statement2];

Gambar 2.14 Kondisional 2

while : digunakan untuk looping jika dan salama memenuhi syarat tertentu

while ( [persyaratan] ) [statement1]; [statement2];

Gambar 2.15 Kondisional 3

do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali

do [statement1]; [statement2]; while ( [persyaratan] )

Gambar 2.16 Kondisional 4

switch case : digunakan untuk seleksi dengan banyak kondisi

switch ( [nama variabel] ) case [nilai1]: [statement]; break; case [nilai2]: [statement]; break;

Gambar 2.17 Kondisional 5

Operasi logika dan biner

• Logika AND :&& NOT ! OR ||

• Biner AND & OR | XOR ^ Shift right >> Shift left << Komplemen

Page 8: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

8

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Deskripsi Umum Perangkat Lunak

Sistem penjadualan hidup dan mati komputer ini dirancang untuk menjadualkan waktu hidup dan mati komputer sesuai dengan kebutuhan sehingga komputer dapat hidup dan mati secara otomatis. Aplikasi ini akan berjalan setelah pengguna melakukan penjadualan sekaligus mengaktifkan aplikasi ini.

Pengaturan waktu hidup dan mati pada sistem ini menggunakan sistem harian dan mingguan. Dalam sistem harian pengguna memiliki kesempatan untuk menghidupkan dan mematikan komputer maksimal masing masing satu kali dalam satu hari.Perancangan sistem harian dirancang sesuai dengan fungsi server yang tidak memungkinkan untuk mati dan hidup lebih dari satu kali dalam satu hari(24 jam).

Sistem penjadualan mingguan memungkinkan pengguna untuk menghidupkan dan mematikan komputer pada hari yang berbeda. Server yang di jadualkan mati pada hari senin dapat hidup secara otomatis pada hari sabtu atau hari hari lainnya. Pengaplikasian sistem penjadualan mingguan ini digunakan untuk server yang menggunakan sistem split sehingga salah satu dari dua server dapat dimatikan atau tidak di fungsikan untuk mengurangi resiko kerusakan server

Rancangan Aplikasi Secara Umum

Sistem penjadualan ini secara umum dapat dibagi menjadi dua rancangan sistem yang di kolaborasikan sehingga terbentuk sistem penjadualan hidup dan mati komputer ini. Adapun rancangan tersebut adalah rancangan aplikasi desktop dan rancangan rangkaian digital yang terdapat Microcontroller di dalam nya.

Rancangan pertama adalah aplikasi desktop. Rancangan ini memiliki tanggung jawab mematikan komputer dengan spesifikasi menggunakan komponen pada Delphi 7. Rancangan ini juga memberikan media kepada pengguna untuk melakukan penjadualan hidup dan mati nya komputer. Peran dan fungsi lain dari aplikasi ini adalah mengirimkan data waktu hidup komputer berupa data digital ke Microcontroller sehingga terjadi transmisi data antara kedua rancangan.

Rancangan ke dua adalah rangkaian digital yang terdapat microcontroller di dalamnya. Rangkaian ini memiliki fungsi umum adalah untuk menghidupkan komputer. Microcontroller sebagai instruktur dari keseluruhan rangkaian digital akan menjalankan fungsi untuk menghidupkan komputer jika waktu yang diatur oleh pengguna telah sama dengan waktu saat ini. Rangkaian ini akan melakukan komunikasi serial melalui port serial yang tersedia pada komputer dan microcontroller.

( Manual )

( Configurasi Penjadualan )

Gambar 3.1 Rancangan Hardware

Arsitektur dari perangkat lunak secara umum akan di jelaskan pada gambar berikut ini.

Gambar 3.2 Rancangan umum Software

Page 9: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

9

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Sistem penjadualan hidup dan mati komputer ini memiliki fitur sebagai berikut :

- Keamanan Penggunaan

Sistem ini dilengkapi dengan form login dengan tujuan agar hanya pengguna yang memiliki hak dan bertangguna jawab yang bisa melakukan penjadualan ini.

- Kontrol Jarak Jauh

Apikasi ini dapat digunakan hanya jika dibutuhkan saja. Yaitu pada saat situasi kondisi yang tidak di inginkan (misal nya pada saat pemadaman listrik secara tiba-tiba oleh PLN, ada pihak tertentu yang mau menggunakan komputer server tanpa seijin admin, mencegah craker yang masuk ke web server, dll ) aplikasi ini dapat dilakukan dengan mematikan dan menghidupkan komputer server dari jarak jauh menggunakan Handphone.

- Penjadualan Harian

Managemen waktu hidup dan mati pada penjadualan harian masing-masing hanya biasa dilakukan satu kali. Sehingga pada hari yang sama saat komputer di jadualkan untuk mati lalu kemudian hidup lagi maka pada keadaan setelah itu komputer tidak dapat untuk mati lagi pada hari itu.

- Penjadualan Mingguan

Jarak waktu hidup dan mati komputer antara 1 menit sampai 168 jam (7x24jam) sehingga memungkinkan pengguna untuk menjadualkan waktu hidup dan mati tidak pada hari yang sama.

Perancangan Database Aplikasi

Terdapat dua jenis entitas pada database sistem penjadualan ini yaitu jadual dan login.Berikut adalah penjelasan dari masing-masing atribut tiap entitas terdapat pada tabel berikut.

Tabel 3.1 Database Login.

Name Type Size Record

User String 30 1

Password String 30 1

Tabel 3.2 Database Penjadualan

Name Type Size Record Data

Senin String 8 2 (on,off)

Selasa String 8 2 (on,off)

Rabu String 8 2 (on,off)

Kamis String 8 2 (on,off)

Jumat String 8 2 (on,off)

Sabtu String 8 2 (on,off)

Minggu String 8 2 (on,off)

Perancangan Arsitektur Aplikasi

Sistem penjadualan ini menggunakan Microcontroller yang tergabung dalam hardware eksternal di luar komputer. Aplikasi desktop terdapat di dalam komputer yang memiliki fungsi mengatur penjadualan.

Gambar 3.3 Use Case Diagram Sistem

Penjadualan

Menghidupkan Komputer

(from Use Case View)

Micro Controller

(from Use Case View)

Administrator

(from Use Case View)

Mematikan Komputer

(from Use Case View)

Aplikasi

(from Use Case View)

Penjadualan

(from Use Case View)

Page 10: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

10

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Sequence diagram pada use case penjadualan

Sequence diagram pada use case penjadualan ini menjelaskan administrator sebagai aktor akan menjalankan aplikasi dengan memanggil Delphi complile unit lalu melakukan proses login sebelum bisa melakukan penjadualan. Setelah menginputkan user name dan password maka sistem akan melakukan verifikasi, jika user name dan password yang di inputkan salah maka akan kembali ke form login. Form penjadualan hanya bisa diakses jika username dan password yang di inputkan oleh aktor (administrator) benar. Proses run aplikasi dan Microcontroller akan berjalan setelah penjadualan telah selesai di lakukan. Proses ini akan sekaligus menyimpan data yang di inputkan aktor ke Embeded Sql.

Gambar 3.4. Sequence Diagram Penjadualan

: DCU : Form Login : Verifikasi : Form Penjadualan : Controling Micro Controller & Aplikasi

: Administrator

User Name & Password Not Valid

User Name & Password Valid

Run Aplikasi & Micro Controller

Runing Form

Verifikasi

Save

Menjalankan Aplikasi

Page 11: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

11

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Sequence diagram pada use casemenghidupkankomputer

Sequence diagram pada use case Menghidupkan Komputer ini menjelaskan Aktor yang terkait adalah Microcontroller. Firmware akan menerima data digital dari Microcontroller diamana salah satu data nya adalah waktu untuk jadual hidupnya komputer. Firmware selalu melakukan komparasi waktu dengan RTC (Real Time Clock) dimana firmware memiliki waktu jadual untuk hidupnya komputer dan RTC memiliki waktu pada saat ini. Jika waktu diantara firmware dan RTC telah sama maka rangkaian digital akan menjalankan relay sehingga komputer bisa hidup dengan sendirinya.

Gambar 3.5 Sequence Diagram Mematikan Komputer

: Komparasi Waktu : Time Windows : Run Fungtion : Aplikasi

Compare

Shut Down

Menunjukan jadual waktu mati

Page 12: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

12

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Sequence diagram pada use case mematikankomputer

Sequence diagram pada use case Mematikan Komputer ini menjelaskan aplikasi sebagai aktor melakukan komparasi time windows dengan waktu jadual komputer untuk mati. Fungsi untuk mematikan komputer akan dijalankan oleh aplikasi jika diantara kedua waktu sudah sama.

Gambar 3.6 Sequence Diagram Menghidupkan Komputer

Diagram kelas keseluruhan

Kelas diagram berikut manjelaskan keseluruhan dari sistem diawali dengan DCUsebagai pemanggil form login dilanjutkan dengan proses verifikasi yang mana jika verifikasi sukses maka akan menuju ke form penjadualan. Pada form penjadualan merupakan media untuk pengguna melakukan pengaturan jadual untuk hidup dan matinya komputer. Form penjadualan akan melakukan proses menjalankan aplikasi dan Microcontroller setelah pengguna telah selesai melakukan proses pengaturan penjadualan. Form penjadulan juga melakukan penyimpanan data di Embeded Sql setelah pengguna selesai melakukan pengaturan penjadualan. Microcontroller menerima data waktu hidup yang diproses oleh firmware dan dilanjutkan dengan melakukan komparasi waktu Dengan RTC. Rangkaian digital akan melakukan peroses menghidupkan komputer setelah proses komparasi menunjukan bahwa waktu saat ini dan waktu jadual hidup telah sama. Proses yang sama terjadi pada aplikasi yang telah berjalan. Proses komparasi Time windows dan

waktu jadual mati komputer telah sama, Aplikasi menjalankan fungsi untuk mematikan komputer.

Gambar 3.7 Class Diagram Keseluruhan Sistem

Perancangan Microcontroller

Perangkat keras tambahan untuk menghidupkan komputer pada sistem penjadualan ini berupa rangkaian digital dengan microcontroller di dalam nya. Secara umum terdapat 5 komponen yang berhubungan dengan microcontroller yaitu Power(vcc & ground), Serial Port, relay, Xtal dan RTC. Berikut akan dijelaskan pada gambar 3.8 hubungan pin pada microcontroller dengan lima komponen yang digunakan.

: Firmware : Komparasi waktu : RTC : Rangkaian Digital : Micro Controller

Time On

Compare

Turn On

Send Data Digital Verifikasi

Check Valid User Name()Check Valid Password()

Form Login

User NamePassword

DCU

Librari

Compile()

Form Penjadualan

Status AplikasiUser NamePassword

HariTanggal

Waktu (jam,menit,detik)

Convert data waktu hidup menjadi data digital()chek ke validan semua data yang akan di simpan()

Edit User Name()Edit Password()

Edit Status Aplikasi()Edit Jadual Hiudp Dan Mati()

Save All Data To MySql()

Controling Micro Controller & Aplikasi

Save data di MySql()Kirim Data Digital Ke Micro()

Menjalankan Aplikasi()

Firmware

Waktu Hidup

Simpan Waktu Hidup()

Komparasi waktu

Waktu Saat IniJadual Waktu hidup

Time Compare()

Rangkaian Digital

Run Relay()Conect Power To PC()

RTC

Waktu saat ini

Embeded Sql

User NamePassword

Status AplikasiHari

TanggalWaktu

Komparasi Waktu

Waktu Saat IniJadual Waktu Mati

Time Compare()

Run Fungtion

Shut Down()

Time Windows

Waktu PC

Page 13: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

13

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Gambar 3.8 Perancangan Microcontroller

Aktifitas microcontroller

Aktifitas Microcontroller yang utama adalah untuk menghidupkan komputer. Untuk menghidupkan komputer terdapat beberapa keadaan yang harus di penuhi diantara lain adalah keadaan listrik, waktu saat ini, waktu hidup dan waktu mati. Semua proses akan berjalan jika listrik hidup, modem hidup, Handphone hidup dan komputer dalam keadaan mati. Keadaan kedua yang di bandingkan adalah waktu saat ini dan waktu mati komputer hari ini. Jika waktu saat ini lebih kecil dari waktu mati maka komputer akan di hidupkan. Jika waktu hidup lebih besar dari waktu saat ini maka computer akan dihidupkan. Salah satu dari kedua keadaan diatas harus dipenuhi untuk bisa menghidupkan komputer. Keseluruhan aktifitas dari Microcontroller dijelaskan pada gambar 3.9 dan gambar 3.10 berikut ini.

START

Inisialisasi

Inisialisasi

Apakah data

serial=’*’?

Terima data

Apakah data

serial=’#’?

FINISH

Simpan data waktu sekarang

A

Tidak

Ya

Tidak

Apakah data

serial=’?’?

Terima data

Apakah data

serial=’!’?

Simpan data

Ya

Ya Apakah

data serial=’$’?

Terima data

Apakah data

serial=’&’?

Simpan data

Ya

Ya

A Tidak

Tidak

A

Ya

Tidak

Tidak

Gambar 3.9 Diagram dari PC ke Microcontroller

Page 14: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

14

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

START

Inisialisasi

Inisialisasi

Inisialisasi

Inisialisasi

Inisialisasi

Inisialisasi

Baca

M

Apakah inbox!=0?

Z

Tidak

Ya

Apakah nomor

Apakah no=admin?

Apakah isi=“reg”?

Tidak

Ya

Ya Replay Tidak

Inisialisasi modem

Tidak

Page 15: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

15

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Apakah ada space

user ?

isi=”DEL” or isi=ADD or

isi=”DEL”Index ?

Tidak

Replay Ya

Tidak

Apakah

Isi=”REG”

Replay

Ya

Apakah isi=”REG”?

Ya

Replay

Z

Apakah isi=”UNREG”?

Delet no dr data user. Replay=no dihapus

X

Apakah isi=”ADD”

Replay

Simpan No sbg User Reply=Registrasi sukses

Tidak

Tidak

Tidak

Z

O

Apakah isi=”DEL”?

Tidak

Hapus semua no user Replay=user=kosong

Apakah jumlah user<max

user?

Tambahkan 1 space user. Replay=user+1

Replay=user penuh

Page 16: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

16

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

ya

ya

ya

ya

ya

ya

tidak

tidak

Apakah isi=”ON”?

X

Apakah isi=”OFF”?

Apakah Power=OFF?

Hidupkan server

Ya

Tidak

Replay=server OFF

Ya

Ya

Ya

Tidak

Tidak

Tidak

Matikan server

Apakah isi=”DEL”

indek?

Hapus user index Replay=user=1

Z

Apakah isi=”ON”?

Apakah Power=ON?

X

Apakah isi=”OFF”?

Apakah Power=OFF?

Replay=server ON

Hidupkan server

Ya

Tidak

Replay=server OFF

Ya

Ya

Ya

Tidak

Tidak

Tidak

Matikan server

Tidak

Apakah SMS=”AUTO”?

Mode=AUTO

Ya

Apakah SMS=”MANUAL”?

Ya

Mode=MANUAL

Apakah SMS=”STATUS”?

Replay SMS=salah

Replay=status

Ya

Tidak

Apakah Power!=status?

O

Tidak

Tidak

Page 17: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

17

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Apakah status=ON?

Hidupkan server kirim SMS=”Warning OFF”

Ya

Tidak

Matikan server kirim SMS=”Warning ON”

Apakah Mode=AUTO?

Baca data RTC

Apakah Data RTC= Jadwal ON?

Ya

Tidak

Hidupkan Server

Apakah Data RTC=

Jadwal OFF?

Matikan Server

M

Tidak

Ya

Ya

Tidak

Page 18: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

18

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Page 19: PENGEMBANGAN SISTEM PENJADUALAN HIDUP …digilib.its.ac.id/public/ITS-Undergraduate-9819-Paper.pdfdengan membatasi pemakaian pada jam tertentu. Komputer server dituntut untuk bisa

19

Adong Purba - 5107100528

Makalah Seminar Tugas Akhir Periode Januari 2010

Gambar 3.10 Diagram aktifitas Microcontroller pada

saat koneksi ke Modem