Prototipe Sistem Otomatisasi Pemberian Pakan Ikan Pada Kolam Berbasis Mikrokontroler AVR ATMega16.

(1)

PROTOTIPE SISTEM OTOMATISASI PEMBERIAN PAKAN

IKAN PADA KOLAM BERBASIS MIKROKONTROLER AVR

ATMEGA16

Nama : Saffron Damanik

NRP : 0622095

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha

Jl. Prof. Drg. Suria Sumantri,MPH. No. 65, Bandung, Indonesia

Email :

saffron_dnick@yahoo.com

ABSTRAK

Kualitas ikan dapat dipengaruhi oleh banyak faktor. Faktor-faktor tersebut

adalah kualitas pakan, air dan kolam. Hal yang terpenting juga adalah frekuensi

pemberian pakan pada ikan. Pemberian pakan dengan frekuensi yang tepat, akan

membuat kualitas ikan bertambah baik. Namun, tidak semua peternak ikan dapat

memberi pakan dengan frekuensi pemberian yang tetap. Hal itu dikarenakan oleh

berbagai macam hal seperti lupa untuk memberi pakan, kesibukan yang tidak

dapat ditunda dan lain sebagainya. Sehingga jika ikan diberi pakan dengan jadwal

yang tidak tetap, itu akan berpengaruh pada pertumbuhan ikan.

Pada tugas akhir ini dirancang perangkat yang berbasis mikrokontroler

ATmega16 yang dapat memberi pakan pada ikan dengan frekuensi yang tetap.

Peternak cukup mengatur jam pada penjadwalan pada perangkat utama yang

disebut Master. Perangkat ini akan memberi pakan pada ikan sesuai dengan

jadwal yang telah diatur. Peternak juga bisa memberi pakan pada kolam yang

letaknya berjauhan karena komunikasi ke tempat pakan bisa mencapai kurang

lebih 1 km. Tempat pakan yang mulai kosong dapat dipantau dengan melihat

lampu indikatornya.

Dari hasil uji coba, perangkat utama dapat melakukan tugasnya dengan

mengatur tempat pakan untuk memberi pakan pada jadwal yang telah ditetapkan

dan lampu indikator dapat memberi informasi status tempat pakan yang kosong.


(2)

PROTOTYPE OF AUTOMATION SYSTEM FOR FEEDING

FISH ON POND BASED ON ATMEGA16 AVR

MICROCONTROLLER

Name : Saffron Damanik

NRP : 0622095

Department of Electrical Engineering, Maranatha Christian University

Jl. Prof. Drg. Suria Sumantri,MPH. No. 65, Bandung, Indonesia

Email :

saffron_dnick@yahoo.com

ABSTRACT

The fish quality can be affected by many factors. They are feed quality,

water quality and pond quality. The most important thing too is the frequency of

feeding on fish. Feeding with the right frequency, will make the fish grow good

quality. However, not all farmers can feed the fish at a fixed frequency. That was

caused by a variety of things such as forgetting to give food, busyness that can not

be postponed and so forth. So if the fish were fed with a schedule that is not fixed,

it will affect the growth of fish.

In this final project, a devices designed that can feed the fish with a fixed

frequency based on ATmega16 microcontroller. Breeders simply set the clock on

the scheduling of the device called the Master. This device will provide feed to the

fish according to the schedule set. Breeders can also feeding on the pond that is

located far apart due to the feeding of communication can reach approximately 1

km. The feed that began to empty can be monitored by looking at the lights

indicator.

From the test results, the main device can do its job by setting all the

feeding to feeding on a set schedule and the lights indicator can give information

if the feed began to empty.


(3)

DAFTAR ISI

Halaman

ABSTRAK

……….

i

ABSTRACT ………

ii

KATA PENGANTAR

………....

iii

DAFTAR ISI

………..

v

DAFTAR GAMBAR

……….……….

viii

DAFTAR TABEL

………..

xi

BAB I PENDAHULUAN

………..

1

I.1 Latar Belakang

……….…….

1

I.2 Identifikasi Masalah

……….

2

I.3 Rumusan Masalah

……….

2

I.4 Tujuan

………

2

I.5 Pembatasan Masalah

……….

2

I.6 Sistematika Penulisan

………

3

BAB II LANDASAN TEORI

………

4

II.1 Mikrokontroler

……….

4

II.1.2 Mikrokontroler ATmega16

……….

6

II.1.2.1 Fitur Mikrokontroler ATmega16

……….

6

II.1.2.2 Konfigurasi

Pin

AVR ATmega1

6 ………

7

II.1.2.3 Arsitektur Mikrokontroler AVR RISC

……….

10

II.1.2.4 General Purpose Register AVR

………

12


(4)

II.1.2.6 Peta Memori AVR ATmega16

……….

13

II.1.2.6.1 Memori Program

………

..

13

II.1.2.6.2 Memori Data(SRAM)

………

..

14

II.1.2.6

.3 Memori Data EEPROM ………

.

…..

15

II.1.2.7 Status Register

………

.

….

15

II.2 Keypad

………

.

17

II.3 Infra Red Sensor

……….….

18

II.4. Motor Stepper

……….……

19

II.5. Real Time Clock

……….……

19

II.6 Komunikasi RS485

………

20

II.7 Jumlah Pemberian Pakan

……….

24

BAB III PERANCANGAN SISTEM

………

..

25

III.1 Perancangan Hardware

………

25

III.1.1 Mikrokontroler Master

………

26

III.1.2 Mikrokontroler Slave

………..

27

III.2 Perancangan Software

……….

34

III.2.1 Mikrokontroler Master

………

35

III.2.1.1 Setting Waktu

………

36

III.2.1.2 Setting Jadwal

………..…

37

III.2.1.3 RUN

………

45

III.2.2 Mikrokontroler Slave

………

48

III.2.2.1 Kebutuhan Dosis Pakan Tiap Kolam

………….

...

52

BAB IV DATA PENGAMATAN

………..

59

IV.1 Setting Waktu

………

..

59


(5)

IV.3 Pengujian Penjadwalan

………

63

IV.4 Pengujian Tempat Pakan

……….

64

BAB V Simpulan dan Saran

………..

68

V.1 Simpulan

………

68

V.2 Saran

………..

68

DA

FTAR PUSTAKA ………

69

LAMPIRAN A KODE PROGRAM

LAMPIRAN B SKEMATIK RANGKAIAN

LAMPIRAN C DATASHEET


(6)

DAFTAR GAMBAR

Halaman

Gambar 2.1

Chip ATmega16 ………..

6

Gambar 2.2 Konfigurasi kaki (

pin

) ATmega16 ……….

7

Gambar 2.3 Arsitektur Mik

rokontroler AVR RISC ……….……

10

Gambar 2.4 Proses pengambilan instruksi dan pengeksekusian intstruksi

secara parallel ……….…...

11

Gambar 2.5

General Purpose Register

AVR ………

12

Gambar 2.6

Stack Pointer

……….

13

Gambar 2.7 Peta Memori Program AVR ATMega1

6 ………..

14

Gambar 2.8 Peta Mem

ori Data AVR ATMega16 ……….

15

Gambar 2.9 Status

Register

ATmega16 ……….

16

Gambar 2.10

Keypad 3x4 ……….….

17

Gambar 2.11 Ske

matik IR sensor ………...

18

Gambar 2.12 Rangkaian Motor Stepper

………

19

Gambar 2.13

RTC DS1307 ……….

20

Gambar 2.14 Komunikasi

Multidrop

……….

22

Gambar 2.15

Bagan SN75176 ………

22

Gambar 2.16 Diagram Komunikasi

Data Master dan 32 Slave …….

23

Gambar 3.1 Blok diagram Sistem pemb

erian pakan ………..

25

Gambar 3.2 Skematik pada

Mikrokontroler Master ……….

.

26

Gambar

3.3 Master ………

.

27


(7)

Gambar 3.5 Slave ……….…..

29

Gambar 3.6 Tempat pakan

………..

30

Gambar 3.7 L

ubang Saluran Pakan ………

31

Gamba

r 3.8 Motor Stepper ……….……..

32

Gambar 3.9 Skema

tik dari IR sensor ………

32

Gambar 3

.10 IR sensor ……….

33

Gambar 3.11 Bagian bawah tempat

pakan ……….……

34

Gambar 3.12 Flowchart Utama pada Master ……….

36

Gambar 3.13 Flowchart set

ting waktu ……….……..

38

Gambar 3.14 Flowchart Setting Jadwal Kolam

1 ………

.

……

40

Gambar 3.15 Flowchart Setting

Jadwal Kolam 2 ………

42

Gambar 3.16 Flowchart

Setting Jadwal Kolam 3 ……….…….

44

Gambar 3.17

Flowchart RUN ……….…

46

Gambar 3.18 In

terrupt pada Master ………

.

48

Gambar 3.19

Flowchart Slave1 ……….….

49

Gambar 3.20 Flow

chart Slave2 ……….

50

Gambar 3.21

Flowchart Slave3 ……….…….

51

Gambar 3.22 Flowchart Inte

rrupt Serial Slave1 ………

55

Gambar 3.32 Flowchart Interrupt

Serial Slave2 ………

56

Gambar 3.24 Flowchart Inte

rrupt Serial Slave3 ………

57

Gambar 4.1 Me

nu awal setting jam ……….……..

59

Gambar 4.2

Menu setting menit ……….……

59

Gambar 4.3

Menu setting detik ……….…….

60

Gambar 4.4 Me

nu pertanyaan waktu ………..

60


(8)

Gambar 4.6 Peringatan atur jadwal

……….…

.

..

61

Gambar 4.7

Setting

jadwal Kolam 1 ………..…

61

Gambar 4.8

Setting

jad

wal Kolam 2 ………

.

62

Gambar 4.9

Setting

jadwal Kolam 3 ……….…

62

Gambar 4.10 Men

u set kembali jadwal ……….……

62

Gambar 4.11 Proses RUN

……….………….

63

Gambar 4.12 (a) Tempat Pakan 1 terisi pelet, lampu indikator 1 pada

master padam

………

.

65

Gambar 4.12 (b) Tempat Pakan 1 berkurang pada batas sensor, lampu

indikator 1 pada master menyala

……….

.

65

Gambar 4.13 (a) Tempat Pakan 2 terisi pelet, lampu indikator 2 pada

master padam

………....

65

Gambar 4.13 (b) Tempat Pakan 2 berkurang pada batas sensor, lampu

indikator 2 pada master menyala

………

.

65

Gambar 4.14 (a) Tempat Pakan 3 terisi pelet, lampu indikator 3 pada

master padam

……….…

.

65

Gambar 4.14 (b) Tempat Pakan 3 berkurang pada batas sensor, lampu

indikator 3

pada master menyala ……….………….

65


(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Jenis Mikrontroler AVR

………

.

5

Tabel 2.2 Fungsi khusus

Port

B

……….

8

Tabel 2.3 Fungsi khusus

Port

C

……….

9

Tabel 2.4 Fungsi khusus

Port

D ……….

9

Tabel 2.5 Hexadesimal

keypad

………..

18

Tabel 2.6 Perbandingan RS-485 dengan standar lain

………

21

Tabel 3.1 Alamat dan f

ungsinya pada Master ………

35

Tabel 3.2 Alamat dan f

ungsinya pada Slave ………..

35

Tabel 4.1 Hasil pengamatan penjadwalan dengan jadwal yang sama ....

63

Tabel 4.2 Hasil pengamatan penjadwala

n dengan jadwal yang berbeda …

64

Tabel 4.3 Pengujian Jumlah Dosis Pa

kan ………..

66


(10)

Kode Program

Program Pada Master

/***************************************************** This program was produced by the

CodeWizardAVR V1.25.3 Professional Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version : Date : 5/1/2012

Author : F4CG Company : F4CG Comments:

Chip type : ATmega16 Program type : Application Clock frequency : 7.372800 MHz Memory model : Small External SRAM size : 0 Data Stack size : 256

*****************************************************/

#include <mega16.h> #include <delay.h> #include <stdlib.h>

// I2C Bus functions #asm

.equ __i2c_port=0x15 ;PORTC .equ __sda_bit=1

.equ __scl_bit=0 #endasm #include <i2c.h>

// DS1307 Real Time Clock functions #include <ds1307.h>

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x18 ;PORTB #endasm

#include <lcd.h>

#define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7

#define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)

// USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE<256

unsigned char rx_wr_index,rx_rd_index,rx_counter; #else

unsigned int rx_wr_index,rx_rd_index,rx_counter; #endif

// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow;

// USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) { char status,data; status=UCSRA; data=UDR; if(data=='a') { PORTD.7=0; } else { if(data=='b') { PORTD.7=1; } } if(data=='c') { PORTD.6=0; } else { if(data=='d') { PORTD.6=1; } } if(data=='e') { PORTD.5=0; } else { if(data=='f') { PORTD.5=1; } }

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)

{

rx_buffer[rx_wr_index]=data;

if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE)

{ rx_counter=0; rx_buffer_overflow=1; }; }; } #ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_ #pragma used+ char getchar(void) { char data; while (rx_counter==0); data=rx_buffer[rx_rd_index];

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #asm("cli") --rx_counter; #asm("sei") return data; } #pragma used- #endif

// Standard Input/Output functions #include <stdio.h>

// Declare your global variables here

// inisialisasi key & buff char key,tampil[6],buff[17];


(11)

int ikey,genap;

// inisialisasi while int

counter_waktu=0,waktu_ok=0,pindah=0,opsi1=0,opsi2=0,tampil_ja m=0,syarat_waktu,waktu_temp,kolam1,kolam2,kolam3;

// inisialisasi waktu int ji1,ji2,mi1,mi2,di1,di2; unsigned char j,m,d,jam,menit,detik;

// inisialisasi menu

int menu1,menu2,

kol1_jtot_x1,kol1_mtot_x1,kol1_jtot_x2,kol1_mtot_x2,kol1_jtot_x3 ,kol1_mtot_x3,kol2_jtot_x1,kol2_mtot_x1,kol2_jtot_x2,kol2_mtot_ x2,kol2_jtot_x3,kol2_mtot_x3,kol3_jtot_x1,kol3_mtot_x1,kol3_jtot _x2,kol3_mtot_x2,kol3_jtot_x3,kol3_mtot_x3, kol1_j1_x1,kol1_j2_x1,kol1_m1_x1,kol1_m2_x1, kol1_j1_x2,kol1_j2_x2,kol1_m1_x2,kol1_m2_x2, kol1_j1_x3,kol1_j2_x3,kol1_m1_x3,kol1_m2_x3, kol2_j1_x1,kol2_j2_x1,kol2_m1_x1,kol2_m2_x1, kol2_j1_x2,kol2_j2_x2,kol2_m1_x2,kol2_m2_x2, kol2_j1_x3,kol2_j2_x3,kol2_m1_x3,kol2_m2_x3, kol3_j1_x1,kol3_j2_x1,kol3_m1_x1,kol3_m2_x1, kol3_j1_x2,kol3_j2_x2,kol3_m1_x2,kol3_m2_x2, kol3_j1_x3,kol3_j2_x3,kol3_m1_x3,kol3_m2_x3; //---KEYPAD---//

unsigned char keypad() {

PORTA = 0b11111100;

if(PINA.5==0) return ('*'); if(PINA.6==0) return ('2'); if(PINA.7==0) return ('3');

PORTA = 0b11111010;

if(PINA.5==0) return ('1'); if(PINA.6==0) return ('5'); if(PINA.7==0) return ('6');

PORTA = 0b11110110;

if(PINA.5==0) return ('4'); if(PINA.6==0) return ('8'); if(PINA.7==0) return ('9');

PORTA = 0b11101110;

if(PINA.5==0) return ('7'); if(PINA.6==0) return ('0'); if(PINA.7==0) return ('#'); delay_ms(30); } //---akhir KEYPAD---// //---scan_ikey---//

unsigned int scan_ikey() {

//inisial keypad ke variabel key key=keypad();

//jadikan key menjadi nilai integer if(key=='0') { ikey=0; } else { if(key=='1') { ikey=1; } else { if(key=='2') { ikey=2; } else { if(key=='3') { ikey=3; } else { if(key=='4') { ikey=4; } else { if(key=='5') { ikey=5; } else { if(key=='6') { ikey=6; } else { if(key=='7') { ikey=7; } else { if(key=='8') { ikey=8; } else { if(key=='9') { ikey=9; } else { ikey=255 ; } } } } } } } } } } return(ikey); }

//---akhir ikey---//

//---SETTING WAKTU---//

void setting_waktu() {


(12)

while((waktu_ok==0) && (pindah==0)) { //setting jam1 while(counter_waktu==0) { scan_ikey(); lcd_gotoxy(0,0); lcd_putsf("Masukkan JAM:"); lcd_gotoxy(0,1); lcd_putsf("(Format 24JAM)");

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { ji1=ikey; itoa(ji1,tampil); lcd_gotoxy(13,0); lcd_puts(tampil); pindah=pindah+1; }

if((ji1!=ikey) && (pindah==1)) { pindah=0; counter_waktu=counter_waktu+1; } }//akhir counter_waktu=0 //setting jam2 while(counter_waktu==1) { scan_ikey(); lcd_gotoxy(0,0); lcd_putsf("Masukkan JAM:"); lcd_gotoxy(0,1); lcd_putsf("(Format 24JAM)");

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { ji2=ikey; itoa(ji2,tampil); lcd_gotoxy(14,0); lcd_puts(tampil); pindah=pindah+1; }

if((ji2!=ikey) && (pindah==1)) {

//jadikan ji1 dan ji2 menjadi satu kesatuan j=(ji1*10)+ji2; if(j<=23) { lcd_clear(); pindah=0; counter_waktu=counter_waktu+1; syarat_waktu=1; } else { lcd_clear(); pindah=0; counter_waktu=0; syarat_waktu=0; } } }//akhir counter_waktu=1 //setting_menit1

while(counter_waktu==2 && syarat_waktu==1) { scan_ikey(); lcd_gotoxy(0,0); lcd_putsf("Masukkan MNT:"); lcd_gotoxy(0,1); lcd_putsf("(Format 24JAM)");

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { mi1=ikey; itoa(mi1,tampil); lcd_gotoxy(13,0); lcd_puts(tampil); pindah=pindah+1; }

if((mi1!=ikey) && (pindah==1)) { syarat_waktu=0; pindah=0; counter_waktu=counter_waktu+1; } }//akhir counter_waktu=2 //setting_menit2 while(counter_waktu==3) { scan_ikey(); lcd_gotoxy(0,0); lcd_putsf("Masukkan MNT:"); lcd_gotoxy(0,1); lcd_putsf("(Format 24JAM)");

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { mi2=ikey; itoa(mi2,tampil); lcd_gotoxy(14,0); lcd_puts(tampil); pindah=pindah+1; }

if((mi2!=ikey) && (pindah==1)) {

//jadikan ji1 dan ji2 menjadi satu kesatuan m=(mi1*10)+mi2; if(m<=59) { lcd_clear(); pindah=0; counter_waktu=counter_waktu+1; syarat_waktu=1; } else { lcd_clear(); pindah=0;


(13)

counter_waktu=2; syarat_waktu=1; } } }//akhir counter_waktu=3 //setting_detik1

while(counter_waktu==4 && syarat_waktu==1) { scan_ikey(); lcd_gotoxy(0,0); lcd_putsf("Masukkan DTK:"); lcd_gotoxy(0,1); lcd_putsf("(Format 24JAM)");

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { di1=ikey; itoa(di1,tampil); lcd_gotoxy(13,0); lcd_puts(tampil); pindah=pindah+1; }

if((di1!=ikey) && (pindah==1)) { syarat_waktu=0; pindah=0; counter_waktu=counter_waktu+1; } }//akhir counter_waktu=4 while(counter_waktu==5) { scan_ikey(); lcd_gotoxy(0,0); lcd_putsf("Masukkan DTK:"); lcd_gotoxy(0,1); lcd_putsf("(Format 24JAM)");

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { di2=ikey; itoa(di2,tampil); lcd_gotoxy(14,0); lcd_puts(tampil); pindah=pindah+1; }

if((di2!=ikey) && (pindah==1)) {

//jadikan ji1 dan ji2 menjadi satu kesatuan d=(di1*10)+di2; if(d<=59) { lcd_clear(); pindah=0; counter_waktu=counter_waktu+1; syarat_waktu=1; } else { lcd_clear(); pindah=0; counter_waktu=4; syarat_waktu=1; } } }//akhir counter_waktu=5

while(counter_waktu==6 && syarat_waktu==1) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(j,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(m,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(5,1); lcd_putsf(":"); //tampil detik itoa(d,tampil); lcd_gotoxy(6,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey();

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { waktu_ok=1; opsi1=0; counter_waktu=0; tampil_jam=1; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { waktu_ok=0; opsi2=0; counter_waktu=0; lcd_clear(); } }//akhir counter_waktu=6


(14)

}//akhir waktu_ok=0 }

//---AKHIR SETTING WAKTU---//

//---SETTING MENU---// void menu() { rtc_set_time(j,m,d);

while((waktu_ok==1) && (pindah==0)) {

rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---menu utama(tampil_jam=1)---// while(tampil_jam==1) {

//---menampilkan jam---// format bener

lcd_gotoxy(0,0);

rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik); lcd_puts(buff); scan_ikey(); //scankey delay_ms(100); lcd_clear(); lcd_gotoxy(0,1); lcd_putsf("1.Jadwal "); lcd_gotoxy(10,1); lcd_putsf("2.RUN");

//---akhir menampilkan jam---//

//---menu utama1---// if((ikey==1) && (opsi1==0))

{ menu1=ikey; opsi1=opsi1+1; }

if((menu1!=ikey) && (opsi1==1)) { tampil_jam=2; opsi1=0; lcd_clear();

}//---akhir opsi menu utama1---//

//---menu utama2---//

if((ikey==2) && (opsi2==0)) { menu2=ikey; opsi2=opsi2+1; }

if((menu2!=ikey) && (opsi2==1)) {

opsi2=0; lcd_gotoxy(0,0);

lcd_putsf("Anda belum set Jadwal [!] ");

delay_ms(3000); lcd_clear();

}

//---akhir opsi menu utama2---// } //---akhir menu utama(tampil_jam=1)---// //---(tampil=2)---// while(tampil_jam==2) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 jam1 x1---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol1_j1_x1=ikey; itoa(kol1_j1_x1,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_j1_x1!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting 1kolam1 jam1---//

}

//---akhir tampil=2---//

//---tampil=3---//


(15)

while(tampil_jam==3) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting 1kolam1 jam2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_j2_x1=ikey; itoa(kol1_j2_x1,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_j2_x1!=ikey) && (pindah==1)) { kol1_jtot_x1=(kol1_j1_x1*10)+kol1_j2_x1; if(kol1_jtot_x1<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=2; lcd_clear(); } } //---1kolam1 jam2---// }

//---akhir tampil=3---//

//---kolam1 x1---// //---tampiljam=4---// while(tampil_jam==4) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 menit1 x1---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_m1_x1=ikey; itoa(kol1_m1_x1,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_m1_x1!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting 1kolam1 m1---// } //---akhir tampiljam=4---// //---tampiljam=5---// while(tampil_jam==5) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting 1kolam1 menit2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_m2_x1=ikey; itoa(kol1_m2_x1,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_m2_x1!=ikey) && (pindah==1)) { kol1_mtot_x1=(kol1_m1_x1*10)+kol1_m2_x1; if(kol1_mtot_x1<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=4; lcd_clear(); } }

//---1kolam1 menit2---//


(16)

} //---akhir tampiljam=5---// //---tampil_jam6---// while(tampil_jam==6) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol1_jtot_x1,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol1_mtot_x1,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=7; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=2; lcd_clear(); } }

//---akhir tampil_jam6---//

//---akhir kolam1 x1---//

//---kolam1 x2---// //---(tampil=7)---// while(tampil_jam==7) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 jam1 x2---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol1_j1_x2=ikey; itoa(kol1_j1_x2,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_j1_x2!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam1 jam1 x2---//

}

//---akhir tampil=7---// //---tampil=8---// while(tampil_jam==8) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 jam2 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_j2_x2=ikey; itoa(kol1_j2_x2,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }


(17)

if((kol1_j2_x2!=ikey) && (pindah==1)) { kol1_jtot_x2=(kol1_j1_x2*10)+kol1_j2_x2; if(kol1_jtot_x2<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=7; lcd_clear(); } }

//---akhir setting kolam1 jam2 x2---//

}

//---akhir tampil=8---// //---tampiljam=9---// while(tampil_jam==9) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 menit1 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_m1_x2=ikey; itoa(kol1_m1_x2,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_m1_x2!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam1 menit1 x2---// } //---akhir tampiljam=9---// //---tampiljam=10---// while(tampil_jam==10) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 menit2 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_m2_x2=ikey; itoa(kol1_m2_x2,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_m2_x2!=ikey) && (pindah==1)) { kol1_mtot_x2=(kol1_m1_x2*10)+kol1_m2_x2; if(kol1_mtot_x2<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=7; lcd_clear(); } }

//---akhir kolam1 menit2 x2---// } //---akhir tampil_jam=10---// //---tampil_jam11---// while(tampil_jam==11) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol1_jtot_x2,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol1_mtot_x2,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N");


(18)

scan_ikey();

rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=12; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=7; lcd_clear(); } }

//---akhir tampil_jam11---//

//---akhir kolam1 x2---// //---kolam1 x3---// //---(tampil=12)---// while(tampil_jam==12) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 jam1 x3---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol1_j1_x3=ikey; itoa(kol1_j1_x3,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_j1_x3!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam1 jam1 x3---// } //---akhir tampil=12---// //---tampil=13---// while(tampil_jam==13) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 jam2 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_j2_x3=ikey; itoa(kol1_j2_x3,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_j2_x3!=ikey) && (pindah==1)) { kol1_jtot_x3=(kol1_j1_x3*10)+kol1_j2_x3; if(kol1_jtot_x3<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=12; lcd_clear(); } }

//---akhir setting kolam1 jam2 x3---// } //---akhir tampil=13---// //---tampiljam=14---//


(19)

while(tampil_jam==14) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 menit1 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_m1_x3=ikey; itoa(kol1_m1_x3,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_m1_x3!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam1 menit1 x3---// }

//---akhir tampiljam=14---// //---tampiljam=15---// while(tampil_jam==15) { lcd_gotoxy(0,0); lcd_putsf("Kolam1"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam1 menit2 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol1_m2_x3=ikey; itoa(kol1_m2_x3,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol1_m2_x3!=ikey) && (pindah==1)) { kol1_mtot_x3=(kol1_m1_x3*10)+kol1_m2_x3; if(kol1_mtot_x3<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=14; lcd_clear(); } }

//---akhir kolam1 menit2 x3---// } //---akhir tampil_jam=15---// //---tampil_jam16---// while(tampil_jam==16) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol1_jtot_x3,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol1_mtot_x3,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=17; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }


(20)

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=12; lcd_clear(); } } //---akhir tampil_jam=16---// //---akhir kolam1 x3---//

//---kolam2 x1---// //---tampil 17---// while(tampil_jam==17) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 jam1 x1---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol2_j1_x1=ikey; itoa(kol2_j1_x1,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_j1_x1!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir tampil 17---//

}

//---akhir tampil 17---// //---tampil=18---// while(tampil_jam==18) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting 1kolam2 jam2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_j2_x1=ikey; itoa(kol2_j2_x1,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_j2_x1!=ikey) && (pindah==1)) { kol2_jtot_x1=(kol2_j1_x1*10)+kol2_j2_x1; if(kol2_jtot_x1<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=17; lcd_clear(); } } //---1kolam2 jam2---// } //---akhir tampil=18---//

//---kolam2 x1---// //---tampiljam=19---// while(tampil_jam==19) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 menit1 x1---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0)

{


(21)

itoa(kol2_m1_x1,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_m1_x1!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting 1kolam2 m1---// }

//---akhir tampiljam=19---// //---tampiljam=20---// while(tampil_jam==20) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting 1kolam2 menit2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_m2_x1=ikey; itoa(kol2_m2_x1,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_m2_x1!=ikey) && (pindah==1)) { kol2_mtot_x1=(kol2_m1_x1*10)+kol2_m2_x1; if(kol2_mtot_x1<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=19; lcd_clear(); } }

//---1kolam2 menit2---//

}

//---akhir tampiljam=20---// //---tampil_jam21---// while(tampil_jam==21) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol2_jtot_x1,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol2_mtot_x1,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=22; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=17; lcd_clear(); } }

//---akhir tampil_jam 21---//

//---akhir kolam2 x1---//


(22)

//---kolam2 x2---// //---(tampil=22)---// while(tampil_jam==22) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 jam1 x2---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol2_j1_x2=ikey; itoa(kol2_j1_x2,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_j1_x2!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam2 jam1 x2---// } //---akhir tampil=22---// //---tampil=23---// while(tampil_jam==23) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 jam2 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_j2_x2=ikey; itoa(kol2_j2_x2,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_j2_x2!=ikey) && (pindah==1)) { kol2_jtot_x2=(kol2_j1_x2*10)+kol2_j2_x2; if(kol2_jtot_x2<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=22; lcd_clear(); } }

//---akhir setting kolam2 jam2 x2---// } //---akhir tampil=23---// //---tampiljam=24---// while(tampil_jam==24) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 menit1 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_m1_x2=ikey; itoa(kol2_m1_x2,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_m1_x2!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam2 menit1 x2---// }

//---akhir tampiljam=24---// //---tampiljam=25---// while(tampil_jam==25) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1);


(23)

lcd_putsf("Masukkan Mnt2:");

scan_ikey();

rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 menit2 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_m2_x2=ikey; itoa(kol2_m2_x2,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_m2_x2!=ikey) && (pindah==1)) { kol2_mtot_x2=(kol2_m1_x2*10)+kol2_m2_x2; if(kol2_mtot_x2<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=24; lcd_clear(); } }

//---akhir kolam2 menit2 x2---// } //---akhir tampil_jam=25---// //---tampil_jam 26---// while(tampil_jam==26) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol2_jtot_x2,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol2_mtot_x2,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=27; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=22; lcd_clear(); } }

//---akhir tampil_jam 26---//

//---akhir kolam2 x2---// //---kolam2 x3---// //---(tampil=27)---// while(tampil_jam==27) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 jam1 x3---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) {

kol2_j1_x3=ikey;

itoa(kol2_j1_x3,tampil); lcd_gotoxy(14,1);


(24)

lcd_puts(tampil); pindah=pindah+1; }

if((kol2_j1_x3!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam2 jam1 x3---// } //---akhir tampil=27---// //---tampil=28---// while(tampil_jam==28) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 jam2 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_j2_x3=ikey; itoa(kol2_j2_x3,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_j2_x3!=ikey) && (pindah==1)) { kol2_jtot_x3=(kol2_j1_x3*10)+kol2_j2_x3; if(kol2_jtot_x3<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=27; lcd_clear(); } }

//---akhir setting kolam2 jam2 x3---// } //---akhir tampil=28---// //---tampiljam=29---// while(tampil_jam==29) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 menit1 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_m1_x3=ikey; itoa(kol2_m1_x3,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_m1_x3!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam2 menit1 x3---// }

//---akhir tampiljam=29---// //---tampiljam=30---// while(tampil_jam==30) { lcd_gotoxy(0,0); lcd_putsf("kolam2"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam2 menit2 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol2_m2_x3=ikey; itoa(kol2_m2_x3,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol2_m2_x3!=ikey) && (pindah==1)) {

kol2_mtot_x3=(kol2_m1_x3*10)+kol2_m2_x3;

if(kol2_mtot_x3<=59) {


(25)

pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=29; lcd_clear(); } }

//---akhir kolam2 menit2 x3---// } //---akhir tampil_jam=30---// //---tampil_jam31---// while(tampil_jam==31) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol2_jtot_x3,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol2_mtot_x3,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=32; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=27; lcd_clear(); } } //---akhir tampil_jam=31---// //---akhir kolam2 x3---//

//---kolam3 x1---// //---tampil 32---// while(tampil_jam==32) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 jam1 x1---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol3_j1_x1=ikey; itoa(kol3_j1_x1,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_j1_x1!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir tampil 32---//

}

//---akhir tampil 33---// //---tampil=18---// while(tampil_jam==33) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);


(26)

//---setting 1kolam3 jam2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_j2_x1=ikey; itoa(kol3_j2_x1,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_j2_x1!=ikey) && (pindah==1)) { kol3_jtot_x1=(kol3_j1_x1*10)+kol3_j2_x1; if(kol3_jtot_x1<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=32; lcd_clear(); } } //---1kolam3 jam2---// } //---akhir tampil=33---//

//---kolam3 x1---// //---tampiljam=34---// while(tampil_jam==34) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 menit1 x1---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_m1_x1=ikey; itoa(kol3_m1_x1,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_m1_x1!=ikey) && (pindah==1))

{ pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting 1kolam3 m1---// }

//---akhir tampiljam=34---// //---tampiljam=35---// while(tampil_jam==35) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt1:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik);

sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting 1kolam3 menit2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_m2_x1=ikey; itoa(kol3_m2_x1,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_m2_x1!=ikey) && (pindah==1)) { kol3_mtot_x1=(kol3_m1_x1*10)+kol3_m2_x1; if(kol3_mtot_x1<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=34; lcd_clear(); } }

//---1kolam3 menit2---//

}

//---akhir tampiljam=35---// //---tampil_jam36---// while(tampil_jam==36) {


(27)

lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol3_jtot_x1,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol3_mtot_x1,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=37; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=32; lcd_clear(); } }

//---akhir tampil_jam 36---//

//---akhir kolam3 x1---//

//---kolam3 x2---// //---(tampil=37)---// while(tampil_jam==37) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 jam1 x2---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol3_j1_x2=ikey; itoa(kol3_j1_x2,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_j1_x2!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam3 jam1 x2---// } //---akhir tampil=37---// //---tampil=38---// while(tampil_jam==38) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 jam2 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_j2_x2=ikey; itoa(kol3_j2_x2,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_j2_x2!=ikey) && (pindah==1)) { kol3_jtot_x2=(kol3_j1_x2*10)+kol3_j2_x2; if(kol3_jtot_x2<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); }


(28)

else { pindah=0; tampil_jam=37; lcd_clear(); } }

//---akhir setting kolam3 jam2 x2---// } //---akhir tampil=38---// //---tampiljam=39---// while(tampil_jam==39) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 menit1 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_m1_x2=ikey; itoa(kol3_m1_x2,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_m1_x2!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam3 menit1 x2---// }

//---akhir tampiljam=39---// //---tampiljam=40---// while(tampil_jam==40) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt2:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 menit2 x2---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_m2_x2=ikey; itoa(kol3_m2_x2,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_m2_x2!=ikey) && (pindah==1)) { kol3_mtot_x2=(kol3_m1_x2*10)+kol3_m2_x2; if(kol3_mtot_x2<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=39; lcd_clear(); } }

//---akhir kolam3 menit2 x2---// } //---akhir tampil_jam=40---// //---tampil_jam 41---// while(tampil_jam==41) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol3_jtot_x2,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol3_mtot_x2,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }


(29)

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=42; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=0; tampil_jam=37; lcd_clear(); } }

//---akhir tampil_jam 26---//

//---akhir kolam3 x2---// //---kolam3 x3---// //---(tampil=42)---// while(tampil_jam==42) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 jam1 x3---//

if((ikey==1 || ikey==2 || ikey==0)&& pindah==0) { kol3_j1_x3=ikey; itoa(kol3_j1_x3,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_j1_x3!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1;

}

//---akhir setting kolam3 jam1 x3---// } //---akhir tampil=42---// //---tampil=43---// while(tampil_jam==43) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Jam3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 jam2 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_j2_x3=ikey; itoa(kol3_j2_x3,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_j2_x3!=ikey) && (pindah==1)) { kol3_jtot_x3=(kol3_j1_x3*10)+kol3_j2_x3; if(kol3_jtot_x3<=23) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=42; lcd_clear(); } }

//---akhir setting kolam3 jam2 x3---// } //---akhir tampil=43---// //---tampiljam=44---// while(tampil_jam==44) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);


(30)

//---setting kolam3 menit1 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_m1_x3=ikey; itoa(kol3_m1_x3,tampil); lcd_gotoxy(14,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_m1_x3!=ikey) && (pindah==1)) {

pindah=0;

tampil_jam=tampil_jam+1; }

//---akhir setting kolam3 menit1 x3---// }

//---akhir tampiljam=44---// //---tampiljam=45---// while(tampil_jam==45) { lcd_gotoxy(0,0); lcd_putsf("kolam3"); lcd_gotoxy(0,1); lcd_putsf("Masukkan Mnt3:"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

//---setting kolam3 menit2 x3---//

if((ikey==1 || ikey==2 || ikey==3 || ikey==4 || ikey==5 || ikey==6 || ikey==7 || ikey==8 || ikey==9 || ikey==0)&& pindah==0) { kol3_m2_x3=ikey; itoa(kol3_m2_x3,tampil); lcd_gotoxy(15,1); lcd_puts(tampil); pindah=pindah+1; }

if((kol3_m2_x3!=ikey) && (pindah==1)) { kol3_mtot_x3=(kol3_m1_x3*10)+kol3_m2_x3; if(kol3_mtot_x3<=59) { pindah=0; tampil_jam=tampil_jam+1; lcd_clear(); } else { pindah=0; tampil_jam=44; lcd_clear(); } }

//---akhir kolam3 menit2 x3---// } //---akhir tampil_jam=45---// //---tampil_jam46---// while(tampil_jam==46) { lcd_gotoxy(0,0); lcd_putsf("Anda yakin?"); lcd_gotoxy(13,0); lcd_putsf("1.Y"); //tampil jam itoa(kol3_jtot_x3,tampil); lcd_gotoxy(0,1); lcd_puts(tampil); lcd_gotoxy(2,1); lcd_putsf(":"); //tampil menit itoa(kol3_mtot_x3,tampil); lcd_gotoxy(3,1); lcd_puts(tampil); lcd_gotoxy(13,1); lcd_putsf("2.N"); scan_ikey(); rtc_get_time(&jam,&menit,&detik); sprintf(buff," %d:%d:%d ",jam,menit,detik);

if((ikey==1) && (opsi1==0)) {

waktu_temp=ikey; opsi1=opsi1+1; }

if((waktu_temp!=ikey) && (opsi1==1)) { opsi1=0; waktu_temp=0; tampil_jam=47; lcd_clear(); }

if((ikey==2) && (opsi2==0)) {

waktu_temp=ikey; opsi2=opsi2+1; }

if((waktu_temp!=ikey) && (opsi2==1)) { opsi2=0; waktu_temp=47; tampil_jam=1; lcd_clear(); }


(1)

(2)

BAB I

PENDAHULUAN

Pada bab ini berisi tentang latar belakang, identifikasi masalah, rumusan masalah, tujuan, pembatasan masalah, dan sistematika penulisan laporan tugas akhir.

I.1. Latar Belakang

Ikan sebagai salah satu hasil perikanan merupakan bahan makanan yang tak asing lagi bagi masyarakat Indonesia. Bahan makanan ini merupakan sumber protein yang relatif murah, tetapi beberapa jenis di antaranya mempunyai nilai ekonomi yang cukup tinggi untuk diekspor.

Salah satu kelemahan ikan sebagai bahan makanan ialah sifatnya yang mudah busuk setelah ditangkap dan mati. Oleh karena itu, ikan perlu ditangani dengan baik agar tetap dalam kondisi yang layak dikonsumsi oleh konsumen. Tidak kalah pentingnya adalah pemberian pakan pada ikan yang harus tersedia dan mencukupi kebutuhan baik kuantitas maupun kualitasnya. Untuk menjamin ketersediaan pakan ikan yang memadai maka perlu dilakukan usaha produksi pakan ikan buatan, sehingga kontinuitas produksi ikan akan berlangsung dengan lancar dan baik sampai pemanenan untuk selanjutnya disalurkan kepada konsumen.

Pada umumnya, pemberian pakan pada ikan dilakukan secara manual yaitu melibatkan manusia untuk memberi makanan berupa pelet pada jam-jam tertentu setiap harinya. Proses yang dilakukan berulang kali bisa saja menyebabkan human error sehingga terjadi ketidak tepatan waktu dalam memberi makan yang dapat mempengaruhi kualitas ikan saat panen. Untuk mengatasi hal seperti itu, diperlukan cara yang praktis untuk memberi pakan ikan tanpa melibatkan manusia yaitu dilakukan secara otomatis.

Dalam Tugas Akhir ini akan dibuat alat yang dapat memberi pakan ikan secara otomatis. Mikrokontroler digunakan sebagai pusat pengontrolan dari proses


(3)

Bab I Pendahuluan

2 Universitas Kristen Maranatha

ini dan motor stepper sebagai eksekutor akhir. Keypad merupakan alat input yang akan menentukan jadwal untuk pemberian pakan nya. Kemudian pengaturan tersebut akan ditampilkan di LCD sebelum proses dimulai.

Kolam ikan dibagi atas 3 kategori, yaitu kolam pemijahan, kolam pendederan dan kolam pembesaran. Ketiga kolam masing-masing mempunyai tempat pakan yg diatur oleh mikrokontroler slave sesuai dengan tingkat kebutuhan pakan.

I.2. Identifikasi Masalah

Diperlukan alat yang dapat memberi pakan ikan secara otomatis.

I.3. Rumusan Masalah

Bagaimana merancang dan merealisasikan prototipe sistem otomatisasi pemberian pakan ikan berbasis Mikrokontroler AVR ATmega16.

I.4. Tujuan

Merancang dan merealisasikan prototipe sistem otomatisasi pemberian pakan ikan berbasis Mikrokontroler AVR ATmega16.

I.5. Pembatasan Masalah

a) Pemberian pakan ikan berdasarkan waktu yang ditentukan.

b) Kolam dibagi atas 3 kategori yaitu kolam pemijahan, kolam pendederan dan kolam pembesaran.

c) Besar kolam yang digunakan adalah 4 – 5 m2.

d) Jenis ikan yang diberi pakan adalah ikan Nila.

e) Kapasitas daya tampung maksimum untuk tempat pakan adalah 450 gram.


(4)

Bab I Pendahuluan

acuan.

g) Komunikasi antara master dan slave menggunakan standar interface RS485.

h) Indikator pengisian tempat pakan ikan berupa LED yang menginformasikan bahwa pakan ikan telah kosong.

I.6. Sistematika Penulisan

Sistematika pembahasan laporan ini disusun menjadi lima bab, yaitu sebagai berikut :

BAB I Pendahuluan

Pada bab ini dibahas tentang latar belakang, identifikasi masalah, rumusan masalah, tujuan, pembatasan masalah, dan sistematika penulisan laporan tugas akhir.

BAB II Landasan Teori

Pada bab ini dibahas tentang Mikrokontroler ATMega16, keypad 3x4, Infra Red Sensor, Motor Stepper, Real Time Clock, komunikasi RS485, jumlah pemberian pakan untuk ikan Nila.

BAB III Perancangan dan Realisasi

Pada bab ini dibahas tentang perancangan alat dan mengujinya dengan membuat jadwal pemberian pakan ikan menggunakan keypad sebagai input dan LCD sebagai display kemudian perintah dikirim menggunakan komunikasi RS-485 untuk membuka tutup pakan ikan.

BAB IV Data Pengamatan dan Analisa Data

Pada bab ini dibahas hasil dari pembuatan jadwal pemberian pakan masing-masing tiga kali untuk tiga kolam yang ada, komunikasi antar mikrokontroler dan infomasi sensor yang menyatakan tempat ikan telah kosong yang kemudian akan menyalakan LED pada master.

BAB V Kesimpulan dan Saran


(5)

68 Universitas Kristen Maranatha

BAB V

SIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang berisi kesimpulan seluruh hasil penelitian dan analisis dari masalah yang dihadapi serta saran untuk proses pengembangan selanjutnya.

V.1 Simpulan

Berdasarkan hasil pengujian maka pada tugas akhir ini dapat disimpulkan : 1. Sistem otomatisasi pemberian pakan ikan dengan menggunakan mikrokontroler ATMega16 pada Tugas Akhir ini dirancang untuk 3 jenis kolam dan masing-masing kolam memiliki 3 kali penjadwalan telah berhasil direalisasikan dan dapat bekerja sesuai tujuan.

V.2 Saran

1. Untuk kolam yang lebih luas, disarankan tempat pakan yang digunakan mempunyai kapasitas daya tampung pakan yang sangat besar.

2. Untuk pengembangan berikutnya disarankan proses pemberian pakan diperbaiki keakuratannya agar jumlah pakan yang diberikan mendekati jumlah kebutuhan pakan.


(6)

DAFTAR PUSTAKA

1. Andrianto, Heri. (2008). Pemrograman Mikrokontroler AVR ATMEGA16

Menggunakan Bahasa C (CodeVisionAVR). Bandung : Informatika

Bandung.

2. Sahwan, M. Firdaus. (2004). Pakan Ikan & Udang. Jakarta : Penebar Swadaya.

3. http://pdf1.alldatasheet.com/datasheet-pdf/view/28608/TI/SN75176.html

diakses 11 september 2011

4. http://www.sparkfun.com/datasheets/Components/DS1307.pdf diakses 01 november 2011

5. http://joe4cva.files.wordpress.com/2011/06/ds1307.gif?w=400&h=260

diakses 29 november 2011

6.

http://belajar.internetsehat.org/pustaka/pendidikan/materi-kejuruan/pertanian/general/usaha_produksi_pakan_ikan_buatan.pdf

diakses 1 november 2011

7. http://kuliahinterface.blogspot.com/2011/09/v-behaviorurldefaultvmlo.html diakses 03 juli 2012

8. http://holikulanwar.blogspot.com/2012/01/teknik-budidaya-ikan-nila.html

diakses 3 september 2012

9. http://ikannila.com/Berapa-Jumlah-Pemberian-Pakan-Ikan.htm diakses 3 september 2012

10.http://www.bostontech.net/assets/files/Articles/PhysSerComStds.pdf