• Tidak ada hasil yang ditemukan

Perancangan Alat Pemberi Makan Ikan Otomatis dan Pemantau Keadaan Akuarium Berbasis Mikrokontroler Atmega8535

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Alat Pemberi Makan Ikan Otomatis dan Pemantau Keadaan Akuarium Berbasis Mikrokontroler Atmega8535"

Copied!
126
0
0

Teks penuh

(1)

BERBASIS MIKROKONTROLER ATMEGA8535

OLEH:

RECKY SUHARMON

NIM: 070402013

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

BERBASIS MIKROKONTROLER ATMEGA8535

OLEH :

RECKY SUHARMON NIM: 070402013

Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar Sarjana Teknik pada

DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

Sidang pada tanggal 18 bulan 12 tahun 2013 di depan Penguji :

1. Fakhruddin Rizal Batubara, ST. MTI. : Ketua Penguji ... 2. Ir. Kasmir Tanjung, MT. : Anggota Penguji ...

Diketahui oleh : Disetujui oleh :

Ketua Departemen Teknik Elektro, Pembimbing Tugas Akhir,

(3)

ABSTRAK

Tulisan ini membahas tentang perancangan sebuah alat yang dapat memberi makan ikan secara otomatis. Pengendali utama pada alat ini menggunakan mikrokontroler ATMega8535. Alat ini juga dapat memantau keadaan akuarium seperti mendeteksi pergantian catu daya dan mendeteksi suhu ketika berada dalam keadaan tidak normal. Aktivitas-aktivitas yang telah dilakukan akan diinformasikan melalui SMS menggunakan modem GSM ke satu nomor telepon tertentu.

(4)

KATA PENGANTAR

Puji syukur penulis ucapkan atas kehadirat ALLAH SWT atas rahmat dan karunia yang dilimpahkan sehingga dapat menyelesaikan Tugas Akhir ini. Adapun Tugas Akhir ini dibuat untuk memenuhi syarat kesarjanaan di Departemen Teknik Elektro, Fakultas Teknik Universitas Sumatera Utara, yang penulis beri judul “Perancangan Alat Pemberi Makan Ikan Otomatis dan Pemantau Keadaan

Akuarium Berbasis Mikrokontroler ATMega8535”.

Tugas akhir ini penulis persembahkan kepada keluarga besar terkhusus untuk bunda tercinta Winarti. Semoga do’a dan perjuangan bunda berbuah keberhasilan bagi ananda kelak. Amin.

Selama masa perkuliahan sampai masa penyelesaian tugas akhir ini, penulis banyak memperoleh bimbingan dan dukungan dari berbagai pihak. Untuk itu, dengan setulus hati penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada :

1. Bapak Ir. T. Ahri Bahriun, M.Sc selaku dosen Pembimbing Tugas Akhir, atas segala bimbingan, motivasi, dan nasihat yang sangat berarti dalam menyelesaikan tugas akhir ini.

2. Ibu Ir. Windalina Syafiar, selaku dosen wali penulis, atas bimbingan dan arahannya dalam menyelesaikan perkuliahan.

(5)

4. Seluruh Staf Pengajar di Teknik Elektro USU dan Seluruh Karyawan di Departemen Teknik Elektro Fakultas Teknik Elektro USU.

5. Dwi Budi Prasteyo yang telah banyak mengajarkan kepada penulis tentang betapa indah dan asyiknya perancangan sistem yang menggabungkan sisi

hardware dan software.

6. Teman-teman angkatan ’09, Teguh, Reza, Arif, Adityas, Aras yang sudah banyak memotivasi penulis terutama dengan pertanyaan “kapan selesai?”. 7. Teman-teman angkatan ’07, Indra, Umar, Fuad, Sandi, Bayu, dan seluruh

jajaran ’07 masa-masa akhir. Akhiri TA ini dengan indah kawan.

8. Teman-teman UKM ROBOTIK USU SIKONEK yang berbaik hati meminjamkan tools dan ruangannya serta memberikan timah dan komponen-komponen kecil lainnya secara sukarela, mudah-mudahan. 9. Teman-teman alumni SMAN 8 Pekanbaru tahun 2004, Haris, Bagus, Moli,

Kuat, Eru, Cika, Dina, Ayu, atas segala doa dan semangatnya.

10.Teman-teman seperjuangan dalam menegakkan keadilan dan kesejahteraan, Fauzan, Andre, Bg Faiz, Deni, Aji, Ijal, Delfi, Sulhan, Alim, Dicky, Bg Armia, Bg Bambang, Bg Ridho, Bg David, dan kakanda Faisal Akbar yang telah banyak membantu terkhusus cinta dan doanya kepada penulis.

11.Teman-teman LDK dan LDF serta para penjalin ukhuwah nan penebar dakwah se-USU, se-Medan, se-SUMUT, se-Indonesia, se-dunia dan sejagad raya yang telah banyak mendoakan saya selepas sholatnya.

(6)

13.Kepada penghuni kosan Jl. DR. Hamzah No. 6, ibuk kos beserta pasangannya, kawan-kawan kos, kucing, semut, jangkrik, nyamuk, lalat, ayam, burung, laptop ASUS A42JE, motor Honda Supra 125 merah beserta helm yang juga merah, printer IP2770punya Bima, tools elektronika, buku-buku, musik-musik, debu-debu, telur-telur rebus, hujan, pelangi, malam, bintang, bulan, mushaf coklat, HP SE J105i, tisu wajah Indomar*t, peta kota Medan, botol Tupperware, cermin yang tak pernah berdusta, dan lain sebagainya yang telah memberikan inspirasi dalam penyelesaian Tugas Akhir ini. Thanks guys.

14.Dan pihak-pihak yang tidak dapat penulis sebutkan satu persatu.

Akhir kata, tugas akhir ini masih jauh dari sempurna, masih banyak kesalahan dan kekurangan, namun penulis tetap berharap semoga tugas akhir ini bisa bermanfaat dan memberikan inspirasi bagi pengembangan selanjutnya.

Medan, 28 November 2013 Penulis

(7)

DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Penulisan ... 1

1.2 Tujuan Penulisan ... 2

1.3 Rumusan Masalah ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 5

BAB II DASAR TEORI ... 7

2.1 Mikrokontroler ... 8

2.1.1 Pengantar Singkat Keluarga Mikrokontroler AVR ... 8

2.1.2 Mikrokontroler AVR ATMega8535 ... 9

2.1.3 Arsitektur AVR ATMega8535 ... 11

2.1.4 Konfigurasi Pena ATMega8535 ... 13

2.1.5 Peta Memori ATMega8535 ... 14

(8)

2.1.7 USART ... 18

2.1.8 ADC (Analog to Digital Converter) ... 19

2.1.9 I2C (Inter-Integrated Circuit) ... 20

2.1.10 Timer/Counter ... 22

2.2 Layanan Pesan Singkat (Short Message Service) ... 23

2.2.1 Pengenalan layanan Pesan Singkat ... 23

2.2.2 Mengirim dan Menerima SMS ... 25

2.2.3 Perintah AT (ATCommand) ... 26

2.3 Bahasa C ... 27

2.3.1 Kompilasi Program ... 28

2.3.2 Bentuk Dasar Program C ... 29

2.3.3 Pengenal (Identifier) ... 30

2.3.4 Variabel ... 30

2.3.5 Pengarah Preprosesor ... 31

2.3.6 Fungsi Pustaka ... 31

2.3.7 Tipe Data Bahasa C ... 32

2.3.8 Struktur Pemilihan ... 33

2.3.9 Struktur Pengulangan ... 33

2.4 CodeVisionAVR ... 34

2.5 Motor Servo ... 35

2.6 LCD (Liquid Crystal Display) ... 37

2.7 Relay ... 39

2.8 RTC (Real Time Clock) DS1307 ... 40

(9)

2.10 Wavecom M1306B Q2406B ... 43

BAB III PERANCANGAN PERANGKAT KERAS ... 45

3.1 Gambaran Umum Sistem ... 45

3.2 Rangkaian Mikrokontroler ATMega8535 ... 47

3.3 Rangkaian Regulator Tegangan ... 50

3.4 Rangkaian RTC (Real Time Clock) ... 52

3.5 Rangkaian Modul LCD ... 53

3.6 Rangkaian Pendeteksi Pergantian Catu Daya ... 54

3.7 Rangkaian Push Button ... 55

3.8 Rangkaian Sensor Suhu ... 56

3.9 Rangkaian Motor Servo ... 57

3.10 Rangkaian Serial USART ... 57

BAB IV PERANCANGAN PERANGKAT LUNAK ... 59

4.1 Gambaran Umum Program ... 59

4.2 Program Utama ... 60

4.3 Rutin Menampilkan Tanggal dan Waktu ... 62

4.4 Proses Pengaturan Waktu dan Jadwal Pakan (Menu) ... 63

4.5 Proses Pemberian Pakan ... 64

4.6 Proses Deteksi Suhu Air ... 66

4.7 Proses Deteksi Pergantian Catuan Daya ... 67

(10)

BAB V IMPLEMENTASI DAN PENGUJIAN ... 71

5.1 Implementasi ... 71

5.2 Pengujian Perangkat ... 72

5.2.1 Pengujian Rangkaian Mikrokontroler AVR ATMega8535 ... 72

5.2.2 Pengujian LCD ... 73

5.2.3 Pengujian Komunikasi Serial RS232 ... 74

5.2.4 Pengujian Rangkaian Sensor Suhu ... 75

5.2.5 Pengujian Rangkaian RTC ... 76

5.2.6 Pengujian Rangkaian Pendeteksi Pergantian Catu Daya ... 76

5.2.7 Pengujian Rangkaian Push Button ... 77

5.2.8 Pengujian Rangkaian Motor Servo ... 78

5.2.9 Pengujian Secara Keseluruhan ... 78

5.3 Hasil Pengujian ... 80

BAB VI KESIMPULAN DAN SARAN ... 82

6.1 Kesimpulan ... 82

6.2 Saran ... 82

DAFTAR PUSTAKA ... 84

LAMPIRAN A GAMBAR RANGKAIAN KESELURUHAN ... 85

(11)

DAFTAR GAMBAR

Gambar 2.1 Blok Diagram ATMega8535 ... 11

Gambar 2.2 Arsitektur AVR ATMega8535 ... 12

Gambar 2.3 Konfigurasi Pena ATMega8535 ... 13

Gambar 2.4 Peta Memori ATMega8535 ... 14

Gambar 2.5 Peta Memori Program ATMega8535 ... 15

Gambar 2.6 Memori Data SRAM ATMega8535 ... 16

Gambar 2.7 Interkoneksi Antarpiranti dalam Porotokol TWI ... 21

Gambar 2.8 Transfer Data Bit Pada Bus I2C ... 22

Gambar 2.9 Kompilasi Linking dari Program C ... 28

Gambar 2.10 Motor Servo ... 36

Gambar 2.11 Pensinyalan Sebuah Motor Servo ... 37

Gambar 2.12 LCD 16x2 ... 37

Gambar 2.13 Relay Tipe SPDT (Single Pole Double Throw) ... 40

Gambar 2.14 Pena RTC DS1307 ... 41

Gambar 2.15 DI-WLM35TS ... 42

Gambar 2.16 Modem Wavecom M1306B Q2406B ... 43

Gambar 3.1 Diagram Blok Sistem Keseluruhan ... 46

Gambar 3.2 Rangkaian Mikrokontroler AVR ATMega8535 dan Hubungan I/O PORT ... 48

Gambar 3.3 Programmer K-125R ... 50

Gambar 3.4 Rangkaian Regulator Tegangan 5V ... 51

(12)

Gambar 3.6 Rangkaian Modul LCD ... 53

Gambar 3.7 Rangkaian Pendeteksi Pergantian Catu Daya ... 54

Gambar 3.8 Rangkaian Push Button ... 55

Gambar 3.9 Rangkaian Sensor Suhu ... 56

Gambar 3.10 Rangkaian Motor Servo ... 57

Gambar 3.11 Rangkaian Serial USART ... 58

Gambar 4.1 Diagram Alir Program Utama ... 61

Gambar 4.2 Konfigurasi I2C pada Codewizard ... 62

Gambar 4.3 Konfigurasi Mode Timer1 pada Codewizard ... 65

Gambar 4.4 Diagram Alir Pendeteksian Pergantian Catu Daya ... 69

(13)

DAFTAR TABEL

Tabel 2.1 Alamat Vektor Interupsi ATMega8535 ... 18

Tabel 2.2 Fungsi Masing-masing Pena RS232 ... 19

Tabel 2.3 Tipe Data Dalam Bahasa C ... 32

Tabel 2.4 Konfigurasi Pena DI-WLM35TS ... 43

Tabel 3.1 Spesifikasi PORT/Bandar yang Digunakan ... 49

(14)

ABSTRAK

Tulisan ini membahas tentang perancangan sebuah alat yang dapat memberi makan ikan secara otomatis. Pengendali utama pada alat ini menggunakan mikrokontroler ATMega8535. Alat ini juga dapat memantau keadaan akuarium seperti mendeteksi pergantian catu daya dan mendeteksi suhu ketika berada dalam keadaan tidak normal. Aktivitas-aktivitas yang telah dilakukan akan diinformasikan melalui SMS menggunakan modem GSM ke satu nomor telepon tertentu.

(15)

PENDAHULUAN

1.1Latar Belakang Penulisan

Salah satu hobi yang banyak diminati oleh masyarakat pada saat ini adalah memelihara ikan di dalam akuarium. Hal ini disebabkan karena kemudahan dalam perawatan, pemberian pakan dan lain sebagainya. Namun, bagi masyarakat yang memiliki tingkat kesibukan yang cukup padat dalam pekerjaan, pasti merasakan sedikit kesulitan ketika akan meninggalakan rumah terlebih lagi dalam waktu yang cukup lama. Dengan sedikitnya intensitas waktu di rumah yang mereka miliki, pemenuhan kebutuhan ikan terutama pada pakan, regulasi air, penjagaan suhu air dan catuan listrik sedikit banyaknya akan terganggu.

(16)

Atas dasar ini penulis mengambil judul laporan tugas akhir ini yaitu “Perancangan Alat Pemberi Makan Ikan Otomatis dan Pemantau Keadaan Akuarium Berbasis Mikrokontroler ATMega8535”.

1.2Tujuan Penulisan

Tujuan Tugas Akhir ini adalah :

1. Memperkaya pengetahuan dan pemahaman tentang penggunaan mikrokontroler AVR ATMega8535.

2. Merancang suatu alat yang dapat memberi makan ikan secara terjadwal dan memantau keadaan akuarium.

1.3Rumusan Masalah

Perancangan alat ini menggunakan mikrokontroler AVR ATMega8535 sebagai pusat pengendali yang terhubung dengan modem GSM Wavecom M1306B Q2406B. Pemilihan mikrokontroler ini disebabkan karena kemampuannya yang sudah cukup lengkap selain harga yang murah dan cara pemrograman yang mudah.

Untuk memberi makan, sistem ini dirancang dengan timer yang didapat dari modul RTC (Real Time Clock) dengan tipe DS1307. Untuk waktu penjadwalannya sudah ditentukan dalam pemrograman sehingga pengguna hanya menentukan berapa kali ingin memberi pakan dalam sehari.

(17)

dari RTC. Ketika waktu dari RTC sama dengan jadwal yang telah diatur sebelumnya, maka sistem akan mengaktifkan motor servo selama beberapa saat.

Untuk mengetahui kondisi suhu air, sistem menggunakan sensor DI-WLM35TS yang dimodifikasi untuk mengukur suhu dalam zat cair. Pembacaan suhu dilakukan terus-menerus, namun ketika suhu tidak sesuai dengan batasan normal maka sistem akan menginformasikan ke pengguna melalui SMS.

Untuk mengetahui catu daya mana yang sedang digunakan, pada sistem ini dirancang dengan rangkaian pendeteksi pergantian catu daya menggunakan sebuah relay. Kontak NC dihubungkan ke pena interupsi eksternal mikrokontroler. Ketika terjadi perpindahan catu daya, maka sinyal interuspi eksternal akan aktif. Hal ini akan mengakibatkan sistem akan melakukan subrutin sesuai dengan logika yang diterima oleh pena interupsi eksternal. Semua aktivitas yang dilakukan akan diinformasikan ke pemilik melalui SMS sehingga pemilik bisa mengambil tindakan ketika terjadi sesuatu di luar batas kemampuan sistem yang dirancang.

1.4Batasan Masalah

Untuk menghindari pembahasan yang meluas, maka dalam tugas akhir ini ditetapkan batasan-batasan masalah dengan hal-hal sebagai berikut:

1. Pembahasan Tugas Akhir ini terbatas pada pembuatan alat pemberi makan ikan otomatis dan pemantau keadaam akuarium saja sehingga pembahasan teori rangkaian dan peranti yang digunakan hanya terbatas pada teori yang berkaitan dengan sistem yang akan dirancang.

(18)

3. SMS dikirim melalui modem GSM Wavecom M1306B Q2406B. 4. Pengiriman SMS ditujukan ke satu nomor tertentu saja.

5. Analisa kuantitas pakan yang keluar tidak dibahas pada perancangan ini. 6. Frekuensi pemadaman catu daya utama dalam batasan normal.

7. Baterai cadangan dibatasi maksimal untuk 2 hari. 8. Pakan ikan (pelet) yang digunakan berukuran 1 mm.

9. Aerator cadangan pada perancangan ini disimulasikan dengan sebuah LED.

10. Jadwal pemberian pakan terdiri dari 3 pilihan dan waktu pada masing-masing pilihan sudah ditentukan di dalam pemrograman.

11. Pemanas dan pendingin air pada perancangan ini disimulasikan masing-masing dengan sebuah LED.

1.5Metodologi Penelitian

Penelitian dilakukan dalam beberapa tahapan yakni: 1. Tahap perancangan perangkat keras

Perancangan perangkat keras diimplementasikan pada beberapa rangkaian utama yang terdiri dari rangkaian sistem minimum mikrokontroler AVR ATMega8535, rangkaian regulator tegangan, rangkaian serial USART, rangkaian pendeteksi pergantian catu daya, rangkaian modul LCD, rangkaian push button, rangkaian RTC (Real Time Clock), dan rangkaian sensor suhu.

(19)

Perancangan perangkat lunak diimplementasikan dengan menggunakan bahasa C. Aplikasi yang digunakan sebagai compiler adalah CodeVisionAVR.

3. Tahap implementasi dan pengujian

Implementasi dan pengujian alat dari sistem yang dirancang ini dibutuhkan untuk memeriksa kinerja dari sistem yang dirancang.

1.6Sistematika Penulisan

Untuk memudahkan pemahaman terhadap tugas akhir ini, maka penulis menyusun sistematika penulisan sebagai berikut:

BAB 1 : PENDAHULUAN

Pada bab ini dijelaskan tentang latar belakang masalah, tujuan sistematika pembahasan sebagai gambaran umum dari pembahasan secara keseluruhan.

BAB 2 : DASAR TEORI

Pada bab ini dijelaskan tentang mikrokontroler AVR ATMega8535, SMS (Short Message Service), Motor Servo, RTC (Real Time Clock), modem Wavecom M1306B Q2406B, DI-WLM35TS, Relay, LCD.

BAB 3 : PERANCANGAN PERANGKAT KERAS

(20)

rangkaian modul LCD, rangkaian pendeteksi catu daya, rangkaian sensor suhu, rangkaian motor sevo, dan rangkaian serial RS232 (USART).

BAB 4 : PERANCANGAN PERANGKAT LUNAK

Pada bab ini akan diulas tentang hal yang berhubungan dengan perancangan perangkat lunak agar alat yang dirancang dapat bekerja sesuai dengan fungsi yang diinginkan, yaitu dapat memberi pakan dengan bantuan motor servo, mendeteksi suhu air dalam akuarium ketika berada dalam keadaan tidak normal serta dapat mendeteksi pergantian catu daya dari catu daya utama ke baterai dan sebaliknya.

BAB 5 : IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas tentang implementasi dan pengujian terhadap sistem yang telah dirancang.

BAB 6 : KESIMPULAN DAN SARAN

(21)

DASAR TEORI

Dalam perancangan sebuah sistem digital, setidaknya ada 2 cara yang bisa digunakan yaitu dengan mikroprosesor (Embedded System) dan diskrit (Hardwired). Kedua cara tersebut tentunya memiliki kelebihan dan kekurangannya masing-masing.

Pada tugas akhir ini, penulis memilih cara mikroprosesor (Embedded System) atau yang dalam aplikasinya sering disebut dengan serpih (chip) mikrokontroler. Alasan utama penulis memilih cara ini adalah disebabkan karena kemudahan dalam perancangan yang tidak memerlukan perbaikan di sisi perangkat keras berulang kali. Penulis menggunakan mikrokontroler jenis AVR ATMega8535. Pemilihan ini didasari oleh cara pemakaian yang cukup mudah, baik itu dari segi perangkat keras maupun perangkat lunak. Di samping itu, faktor teknis lain yang mendasari pemilihan mikrokontroler ini adalah ketersediaan fitur dan fasilitas yang cukup lengkap untuk memenuhi kebutuhan perancangan seperti kapasitas memori flash yang menjadi kebutuhan dasar sisi pemrograman, ADC, I2C, dan lain sebagainya.

(22)

“Perancangan Alat Pemberi Makan Ikan Otomatis dan Pemantau Keadaan Akuarium Berbasis Mikrokontroler ATMega8535” ini, penulis menggunakan perangkat-perangkat peripheral yang bisa dikomunikasikan dengan serpih (chip) mikrokontroler ATMega8535. Perangkat-perangkat tersebut diantaranya adalah sensor DI-WLM35TS untuk mengukur suhu air dalam akuarim, RTC (Real Time Clock) yang berfungsi sebagai referensi waktu real bagi mikrokontroler, motor servo sebagai penggerak wadah pakan, LCD (Liquid Crystal Display) dan modem GSM yang berfungsi untuk mengirim SMS.

Perangkat-perangkat di atas dapat dengan mudah dikomunikasikan dengan mikrokontroler ATMega8535. Adapun komunikasi yang digunakan diantaranya adalah komunikasi serial USART dan I2C. Jenis-jenis komunikasi ini merupakan fitur unggulan dari mikrokontroler ATMega8535. Selain itu, dalam mengolah data suhu oleh sensor DI-WLM35TS, penulis tidak perlu direpotkan lagi dengan sisi perangkat keras yang cukup kompleks karena ATMega8535 sudah menyediakan fasilitas ADC (Analog to Digital Converter).

2.1 Mikrokontroler

2.1.1 Pengantar Singkat Keluarga Mikrokontroler AVR

(23)

Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR. Nama AVR sendiri berasal dari "Alf (Egil Bogen) and Vegard (Wollan)'s Risc processor" dimana Alf Egil Bogen dan Vegard Wollan adalah dua penemu berkebangsaan Norwegia yang menemukan mikrokontroller AVR yang kemudian diproduksi oleh Atmel. AVR adalah mikrokontroler RISC (Reduce Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny. Pada dasarnya yang membedakan masing-masing kelas adalah memori,

peripheral, dan fiturnya.

2.1.2 Mikrokontroler AVR ATMega8535

Mikrokontroler AVR ATMega8535 memiliki fitur yang cukup lengkap. Mulai dari kapasitas memori program dan memori data yang cukup besar, interupsi, timer/counter, PWM, USART, TWI, Analog Comaparator, EEPROM internal, dan juga ADC internal smuanya ada dalam ATMega8535. Sehingga dengan fitur yang cukup lengkap ini kita bisa belajar mikrokontroler keluarga AVR dengan lebih mudah dan efisien, bahkan kita dapat merancang suatu sistem untuk kepentingan komersial mulai dari sistem yang sederhana sampai sistem yang relatif kompleks hanya dengan menggunakan satu IC saja yaitu dengan IC ATMega8535.

(24)

mikrokontroler jenis AVR ketimbang mikrokontroler pendahulunya yaitu keluarga MCS-51.

Dari Gambar 2.1, dapat dilihat bahwa ATMega8535 memiliki bagian sebagai berikut:

1. 32 saluran I/O (Port A, Port B, Port C dan Port D). 2. 10 bit 8 channel ADC (Analog to Digital Converter). 3. 4 Channel PWM.

4. 6 Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-Down, Standby and Extended Standby.

5. 3 buah timer/counter.

6. Analog Compararator.

7. Watchdog timer dengan osilator internal. 8. 512 Byte SRAM.

9. 512 Byte EEPROM.

10.8 KB flash memory dengan kemampuan Read While Write. 11.Unit Interupsi (internal dan eksternal).

12.Port antarmuka SPI8535 memory map.

13.Port USART untuk komunikasi serial dengan kecepatan maksimal 2,5 Mbps.

(25)

Gambar 2.1 Blok Diagram ATMega8535

2.1.3 Arsitektur AVR ATMega8535

(26)

berteknologi CISC (Complex Instruction Set Computing). Pada mikrokontroler dengan teknologi RISC semua instruksi dikemas dalam kode 16 bit (16 bits words) dan sebagian besar instruksi dieksekusi dalam 1 clock, sedangkan pada teknologi CISC seperti yang diterapkan pada mikrokontroler MCS-51, untuk menjalankan sebuah instruksi dibutuhkan waktu sebanyak 12 siklus clock.

Mikrokontroler ATMega8535 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat memaksimalkan untuk kerja paralelisme. Instruksi-instruksi dalam memori program dieksekusi dalam satu alur tunggal, di mana pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil (prefetched) dari memori program. Konsep inilah yang memungkinkan instruksi-instruksi dapat dieksekusi dalam satu siklus clock.

(27)

Dari Gambar 2.2, 32 x 8-bit register serbaguna digunakan untuk mendukung operasi pada ALU (Arithmetic Logical Unit) yang dapat dilakukan dalam satu siklus. Enam dari regsiter utama dapat digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memori data. Ketika register pointer 16-bit ini disebut dengan register X (gabungan R26 dan R27), register Y (gabungan R28 dan R29) dan register Z (gabungan R29 dan R30).

2.1.4 Konfigurasi Pena ATMega8535

Konfigurasi pena mikrokontroler ATMega8535 dengan kemasan 40 pena dapat dilihat pada Gambar 2.3. Dari gambar tersebut dapat dilihat bahwa ATMega8535 memiliki 8 pena untuk masing-masing bandar A (Port A), bandar B (Port B), bandar C (Port C), dan bandar D (Port D).

Gambar 2.3 Konfigurasi Pena ATMega8535 Penjelasan konfigurasi pena ATMega8535 sebagai berikut:

(28)

2. GND merupakan pena ground.

3. Port A (PA0-PA7) merupakan pena I/O dua arah dan pena masukan ADC. 4. Port B (PB0-PB7) merupakan pena I/O dua arah dan pena fungsi khusus

untuk Timer/Counter, komparator analog dan SPI.

5. Port C (PC0-PC7) merupakan pena I/O dua arah dan pena khusus untuk TWI, komparator analog, dan Timer Oscilator.

6. Port D (PD0-PD7) merupakan pena I/O dua arah dan pena khusus untuk interupsi eksternal, dan komunikasi serial.

7. RESET merupakan pena yang digunakan untuk me-reset mikrokontroller. 8. XTAL1 dan XTAL2 merupakan pena masukan clock eksternal.

9. AVCC merupakan pena masukan tegangan untuk ADC. 10.AREF merupkan pena masukan tegangan referensi ADC.

2.1.5 Peta Memori ATMega8535

Mikrokontroler ATMega8535 memiliki 3 jenis memori yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah seperti terlihat pada Gambar 2.4.

(29)

2.1.5.1Memori Program

ATMega8535 memiliki kapasitas memori program sebesar 8 KByte yang terpetakan dari alamat 0000h – 0000Fh di mana masing-masing alamat memiliki lebar data 16 bit. Sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi seperti terlihat pada Gambar 2.5. Jika kita tidak menggunakan fitur boot loader flash maka semua kapasitas memori progam di atas dapat digunakan untuk program aplikasi. Tetapi jika kita menggunkan fitur boot loader flash maka pembagian ukuran kedua bagian ini ditentukan oleh BOOOTSZ fuse.

Gambar 2.5 Peta Memori Program ATMega8535

2.1.5.2Memori Data SRAM

(30)

untuk mengatur fasilitas seperti timer/counter, interupsi, ADC, USART, SPI, EEPROM, dan port I/O seperti Port A, Port B, Port C dan Port D. Selanjutnya 512 byte di atasnya digunakan untuk memori data SRAM.

Jika register I/O di atas diakses seperti mengakses data pada memori (menggunakan isntruksi LD atau ST) maka register I/O di atas menempati alamat 0020 – 005F. Tetapi jika register-register I/O di atas diakses seperti mengakses I/O pada umumnya (menggunakan isntruksi IN atau OUT) maka register I/O di atas menempati alamat memori 0000h – 003Fh. Gambar 2.6 Menunjukkan peta memori data SRAM.

Gambar 2.6 Memori Data SRAM ATMega8535

2.1.5.3Memori EEPROM

(31)

EEPROM Data (EEDR) dan register EEPROM Control (EECR). Untuk mengakses memori EEPROM ini diperlukan seperti mengakses data eksternal sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakeses data dari SRAM.

2.1.6 Interupsi

Interupsi adalah suatu kejadian atau peristiwa yang menyebabkan mikrokontroler berhenti sejenak untuk melayani Interupsi tersebut. Yang harus diperhatikan untuk menggunakan interupsi adalah kita harus mengetahui sumber-sumber interupsi, vektor layanan interupsi dan yang terpenting rutin layanan interupsi, yaitu subrutin yang akan dikerjakan bila terjadi interupsi.

(32)

Tabel 2.1 Alamat Vektor Interupsi ATMega8535

Pada AVR terdapat 3 pena interupsi eksternal, yaitu INT0,INT1,dan INT2. Interupsi eksternal dapat dibangkitkan apabila ada perubahan logika baik transisi naik (Rising Edge) maupun transisi turun (Falling Edge) pada pena interupsi. Pengaturan kondisi keadaan yang menyebabkan terjadinya interupsi eksternal diatur oleh 2 buah register I/O yaitu MCUCR dan MCUCSR.

(33)

Komunikasi serial menggunakan RS232 untuk berhubungan dengan perangkat lainnya. Seperti yang terlihat pada Tabel 2.2, RS232 mempunyai 9 pena.

Tabel 2.2 Fungsi Masing-masing Pena RS232 RS232 Pin Assignments (DB9 PC signal set)

Pena 1

Receive Line Signal Detector (Data Carrier) Pena 2 Receive Data

Pena 3 Transmit Data Pena 4 Data Terminal Ready Pena 5 Signal Ground Pena 6 Data Set Ready Pena 7 Request To Send Pena 8 Clear To Send

Pena 9 Ring Indicator

Untuk mengatur komunikasi USART dilakukan melalui register UCSRA, UCSRB, UCSRC, UBRRH, UBRRL, dan UDR.

2.1.8 ADC (Analog to Digital Converter)

(34)

operasi, dan kemampuan filter derau (noise) yang sangat fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari ADC itu sendiri. ADC pada ATMega8535 memiliki fitur-fitur antara lain :

- Resolusi mencapai 10 bit. - Akurasi mencapai ± 2 LSB. - Waktu konversi 13-260 µs.

- 8 saluran ADC dapat digunakan secara bergantian.

- Jangkauan tegangan input ADC bernilai dari 0 hingga VCC. - Disediakan 2,56V tegangan referensi internal ADC.

- Mode konversi kontiniu atau mode konversi tunggal. - Interupsi ADC complete.

- Sleep Mode Noise canceler.

Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, formal data keluaran, dan modus pembacaan. Register-register yang perlu diatur adalah sebagai berikut: ADCSRA, ADMUX, ADCL, ADCH dan SFIOR.

2.1.9 I2C (Inter-Integrated Circuit)

(35)

alamatnya masing-masing serta mekanisme pengaturan bus yang berkemungkinan saling bertabrakan akibat memiliki jalur yang sama. Hubungan interkoneksi antarpiranti dalam porotokol TWI ditunjukkan pada Gambar 2.7.

Gambar 2.7 Interkoneksi Antarpiranti dalam Porotokol TWI

Dengan perkembangan teknologi yang semakin canggih, banyak perusahaan semikonduktor yang mengembangkan cara berkomunikasi antar IC agar mampu berkomunikasi secara paralel (paralel bus) dengan memakai konsep TWI. Salah satu metode yang dipakai secara luas adalah I2C (Inter-Integrated Circuit) yang dikembangkan oleh Philips Semiconductor sejak tahun 1992 dengan konsep dasar komunikasi 2 arah dan/atau antarsistem secara serial menggunakan 2 kabel.

Pada komunikasi I2C terdapat perangkat master dan slave. Master adalah perangkat yang mengatur jalur clock SCL. Sedangkan slave adalah perangkat yang merespon perintah master. Master dapat melakukan pengiriman sinyal untuk mentransfer data pada jalur I2C sedangkan Slave hanya bisa menerima data dari master.

(36)

Start sequence dan stop sequence merupakan tahap spesial di mana merupakan kondisi dimana SDA (jalur data) boleh berubah ketika SCL (jalur clock) dalam kondisi high (1). Start sequence menandai awal dari transaksi data dengan perangkat slave. Stop sequence menandai akhir transaksi data dengan perangkat

slave.

Data bit dikirim/diterima melalui SDA, sedangkan sinyal clock

dikirim/diterima melalui SCL, di mana dalam setiap transfer data bit satu sinyal

clock dihasilkan, transfer data bit dianggap valid jika data bit pada SDA tetap stabil selama sinyal clock high. Data bit hanya boleh berubah jika sinyal clock

dalam kondisi low. Transfer data bit pada I2C bus dapat dilihat pada Gambar 2.8.

Gambar 2.8 Transfer Data Bit Pada Bus I2C

2.1.10 Timer/Counter

Pada sebuah ATMega8535 terdapat 3 buah timer, yaitu Timer/Counter 0 (8 bit), Timer/Counter 1 (16 bit) dan Timer/Counter 2 (8 bit). Ketiga

(37)

mengatur mode kerjanya. Namun ada 2 register yang digunakan secara bersama-sama yaitu register TIMSK, TIFR dan SFIOR.

Timer/Counter 0

Merupakan 8 bit Timer/Counter. Pengaturan Timer/Counter 0 diatur oleh TCCR0, TCNT0, dan OCR0 serta TIMSK dan TIFR.

Timer/Counter 1

Merupakan 16-bit timer/counter sehingga terdapat perbedaan cara pengaksesannya dengan 8-bit timer/counter. 16-bit (1 word) timer/counter harus diakses dengan 8 bit high dan 8 bit low. Pengaturan Timer/Counter1 juga diatur oleh register TCCR1A, TCCR1B, TCNT1H, TCNT1L, OCR1AH, OCR1AL, OCR1BH, OCR1BL, serta TIMSK dan TIFR.

Timer/Counter 2

Timer/Counter2 adalah 8-bit Timer/Counter, pengaturan pada Timer/Counter2 diatur oleh register TCCR2, TCNT2 dan OCR2 serta TIMSK dan TIFR.

2.2 Layanan Pesan Singkat (Short Message Service) 2.2.1 Pengenalan layanan Pesan Singkat

SMS merupakan salah satu fitur messaging yang diterapkan oleh standar ETSI (European TelecommunICations Standards Institute), pada dokumentasi GSM 03.40 dan GSM 03.38.

(38)

terduga, dengan LED akan pelanggan yang mempergunakannya, menjadikan SMS sebagai bagian yang sangat penting dari layanan sistem.

SMS adalah layanan untuk mengirim dan menerima pesan tertulis (teks) dari maupun kepada perangkat bergerak (mobile device). Pesan teks yang dimaksud tersusun dari huruf, angka, atau karakter alfanumerik. Pesan teks dikemas dalam satu paket (frame) yang berkapasitas maksimal 160 byte yang dapat direpresentasikan berupa160 karakter huruf latin atau 70 karakter alfabet non-latin seperti alfabet Arab atau Cina.

Pengiriman pesan SMS secara store and forward berarti pengirim pesan SMS menuliskan pesan dan nomor telepon tujuan dan kemudian mengirimkannya (store) ke server SMS (SMS-Center) yang kemudian bertanggung jawab untuk mengirimkan pesan tersebut (forward) ke nomor telepon tujuan. Hal ini mirip dengan mekanisme store and forward pada protokol SMTP yang digunakan dalam pengiriman e-mail internet. Keuntungan mekanisme store and forward

(39)

2.2.2 Mengirim dan Menerima SMS

Dalam pengiriman dan penerimaan SMS ada dua mode yakni mode teks dan mode PDU (Protocol Data Unit).

Mode Teks

Mode ini adalah cara termudah untuk mengirim pesan. Pada mode teks pesan yang kita kirim tidak dilakukan konversi. Teks yang dikirim tetap dalam bentuk aslinya dengan panjang mencapai 160 (7 bit default alphabet) atau 140 (8 bit) karakter. Sesungguhnya, mode teks adalah hasil enkode yang direpresentasikan dalam format PDU. Kelemahannya, kita tidak dapat menyisipkan gambar dan nada dering ke dalam pesan yang akan dikirim serta terbatasnya tipe encoding.

Mode PDU (Protocol Data Unit)

Mode PDU adalah format pesan dalam bentuk oktet heksadesimal dan oktet semi-desimal dengan panjang mencapai 160 (7 bit default alphabet) atau 140 (8 bit) karakter. Kelebihan menggunakan mode PDU adalah kita dapat melakukan encoding sendiri yang tentunya harus pula didukung oleh hardware

dan operator GSM, melakukan kompresi data, menambahkan nada dering dan gambar pada pesan yang akan dikirim. Pada mode PDU dapat juga ditambahkan

(40)

2.2.3 Perintah AT (ATCommand)

ATCommand berasal dari kata attention command. Attention berarti peringatan atau perhatian, command berarti perintah atau instruksi. Maksudnya ialah perintah atau instruksi yang dikenakan pada modem atau handset.

ATCommand adalah perintah-perintah yang digunakan dalam komunikasi dengan

serial port. Dengan ATCommand dapat diketahui vendor dari handphone yang digunakan, kekuatan sinyal, membaca pesan yang ada pada SIM Card, megirim pesan, mendeteksi pesan SMS baru yang masuk secara otomatis, menghapus pesan pada SIM Card dan masih banyak lagi. Beberapa perintah ATCommand

yang digunakan untuk keperluan SMS (pengiriman/penerimaan) adalah sebagai berikut :

- AT+CMGS

Perintah AT Command ini digunakan untuk mengirimkan SMS. Format yang digunakan adalah “AT+CMGS = <length> <CR> <PDU is given>”.

Apabila pengiriman sukses dilakukan, format respon yang diterima adalah “+CMGS : <mr>”, dengan “<mr>” adalah message reference dari SMSC.

Sedangkan jika pengiriman gagal dilakukan, respon yang diterima adalah “+CMS error”.

- AT+CMGR

Perintah ini digunakan untuk membaca sebuah SMS pada indeks tertentu. Format yang digunakan adalah “AT+CMGR = <index>”. Apabila perintah

ini berhasil diesekusi, format respon yang diterima adalah “+CMGR: <stat>,,<length><CR><LF><pdu>”. “<stat>” berarti status, parameter

(41)

0 : pesan yang diterima dan belum dibaca, merupakan parameter standar. 1 : pesan yang diterima dan sudah dibaca.

2 : pesan tersimpan pada memory SMS yang tidak terkirim. 3 : pesan tersimpan pada memory SMS yang berhasil dikirimkan. 5: semua pesan pada memory SMS.

- AT+CMGD

Perintah ini digunakan menghapus sebuah SMS pada memory SMS. Format yang digunakan adalah “AT=CMGD=<index>”, respon yang

diterima adalah “OK/ERROR/+CMS ERROR” - AT+CMGL

Perintah ini digunakan untuk membaca daftar SMS sesuai parameter tertentu. Format yang digunakan adalah “AT+CMGL [=<stat>]”. Parameter status pesan adalah sebagai berikut:

0 : pesan yang diterima dan belum dibaca, merupakan parameter standar. 1 : pesan yang diterima dan sudah dibaca.

2 : pesan tersimpan pada memory SMS yang tidak terkirim. 3 : pesan tersimpan pada memory SMS yang berhasil dikirimkan. 4 : semua pesan pada memory SMS.

2.3 Bahasa C

(42)

ditulis dengan mengunakan bahasa C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C.

2.3.1 Kompilasi Program

Agar suatu program dalam bahasa pemrograman dapat dimengerti oleh komputer, program harus diterjemahkan dahulu ke dalam kode mesin. Adapun penerjemah yang digunakan bisa berupa interpreter atau compiler . Interpreter

adalah suatu jenis penerjemah yang menerjemahkan baris per baris instruksi untuk setiap saat. Proses awal dari bentuk program sumber C (source program, yaitu program yang ditulis dalam bahasa C) hingga menjadi program yang executable

(dapat dieksekusi secara langsung) ditunjukkan pada Gambar 2.9.

(43)

2.3.2 Bentuk Dasar Program C

Sebuah program dalam bahasa C setidaknya harus memiliki sebuah fungsi. Fungsi dasar ini disebut dengan fungsi utama (fungsi main) dan memiliki kerangka program sebagai berikut:

void main (void) { } // pernyataan-pernyataan

Jika kita memiliki beberapa fungsi yang lain maka fungsi utama inilah yang memiliki kedudukan paling tinggi dibandingkan fungsi-fungsi yang lain sehingga setiap kali program dijalankan akan selalu dimulai dari memanggil fungsi utama terlebih dahulu. Fungsi-fungsi yang lain dapat dipanggil setelah fungsi utama dijalankan melalui pernyataan-pernyataan yang berada didalam fungsi utama.

Contoh:

// prototype fungsi inisialisasi port Void inisialisasi_port (char A, char B, char C, char D)

{

DDRA = A ; DDRB = B ; DDRC = C ; DDRD = D ; }

// fungsi utama void main (void) {

(44)

2.3.3 Pengenal (Identifier)

Pengenal (identifier) merupakan sebuah nama yang diisikan oleh pemrogram untuk menunjukkan identitas dari sebuah konstanta, variable, fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan berikut:

a. Karakter pertama tidak boleh mengunakan angka.

b. Karakter kedua dapat berupa huruf, angka atau garis bawah. c. Tidak boleh menggunakan spasi.

d. Case sensitive, yaitu huruf kapital dan huruf kecil dianggap berbeda. e. Tidak boleh menggunakan kata-kata yang merupakan operator dalam

pemrograman C, misalnya: void, short, const, if, bit, long, case, do, switch, char, float, for, else, break, int, double, include, while.

2.3.4 Variabel

Variabel Merupakan suatu tempat untuk menampung data atau konstanta di memori yang mempunyai nilai atau data yang dapat berubah-ubah selama proses program.

Dalam Bahasa C, kitapun akan menemukan dan menggunakan variabel dalam penulisan program. Dalam pemberian variabel terdapat ketentuan – ketentuan sebagi berikut:

1. Tidak boleh ada spasi (contoh : recky suharmon), dan dapat menggunakan garis bawah (_) sebagai pengubung. Contoh: recky_suharmon.

(45)

1. Variabel Numerik terdiri dari : a. Bilangan bulat.

b. Bilangan desimal bepresisi tunggal atau floating point.

c. Bilangan desimal berpresisi ganda atau double precision.

2. Variabel teks terdiri dari:

a. Character (karakter tungggal). b. String (untaian rangkaian karakter).

2.3.5 Pengarah Preprosesor

Pengarah preprosesor digunakan untuk mendefenisikan prosesor yng digunakan, dalam hal ini adalah untuk mendefenisikan jenis mikrokontroler yang digunakan. Dengan pengarah preprosesor ini maka pendeklarasian register-register dan penamaanya dilakukan pada file lain yang disisipkan dalam program utama dengan sintaks #include <nama_preprosesor>.

Contoh: #include <mega8535.h>

2.3.6 Fungsi Pustaka

Bahasa C memiliki sejumlah fungsi pustaka yang berada pada file-file tertentu dan sengaja disediakan untuk menangani berbagai hal dengan cara memanggil fungsi-fungsi yang telah dideklarasikan dalam file tersebut. Dalam banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber melainkan dalam bentuk yang telah dikompilasi. Penggunaan fungsi pustaka ini adalah sebagai berikut:

(46)

Contoh: #include <lcd.h>

Beberapa fungsi pustaka yang telah disediakan oleh CodeVisionAVR antara lain:

1. Fungsi Standar I/O (stdio.h). 2. Fungsi Tunda (delay.h). 3. Fungsi LCD (lcd.h).

4. Fungsi I2C (i2c.h), Fungsi SPI (SPI.h).

5. Fungsi Real Time Clock (RTC) (ds1302.h, ds1307.h).

2.3.7 Tipe Data Bahasa C

Tipe data merupakan bagian yang paling penting karena tipe data mempengaruhi seriap instruksi yang akan dilaksanakan oleh komputer. Misalnya saja 5 dibagi 2 bisa saja memberikan hasil yang berbeda tergantung pada tipe datanya. Jika 5 dan 2 bertipe integer, akan menghasilkan nilai 2. Namun jika keduanya bertipe float maka akan memberikan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien. Tipe data pada bahasa C dapat dilihat pada Tabel 2.3.

Tabel 2.3 Tipe Data Dalam Bahasa C

No. Tipe Data Ukuran (byte) Format Keterangan

1 char 1 %c Karakter / String

2 int 2 %i %d Bilangan Bulat (integer)

3 float 4 %f Bilangan pecahan (float)

4 double 8 %lf Pecahan presisi ganda

(47)

2.3.8 Struktur Pemilihan - If

Perintah if sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilasi benar, maka pernyataan yang berada dalam blok akan dieksekusi.

- if else

Dalam struktur ini minimal terdapat dua pernyataan. Jika kondisi yangdiperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang diproses dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang diproses.

- switch case

Jika terdapat kemungkinan yang cukup banyak, dengan menggunakan struktur if kita akan menuliskan cukup banyak perintah if. Untuk itu, kita dapat menggunakan struktur switch case.

2.3.9 Struktur Pengulangan - for

Perintah for sangat cocok digunakan untuk perulangan karena jumlah pengulangan sudah diketahui. Begitu juga awal dan akhir pengulangan sudah diketahui. Bentuk pengulangan dengan perintah for relatif lebih mudah digunakan.

- while

(48)

apakah kondisi sudah terpenuhi atau belum. Jika belum maka proses akan dilaksanakan. Namun, jika sudah terpenuhi maka proses dihentikan.

- do while

Pada perintah for dan while, pengecekan dilakukan sebelum melakukan perulangan. Namun, pada perintah do while, proses akan dijalankan terlebih dahulu kemudian dilakukan pengecekan terhadap kondisi. Jadi perintah ini paling tidak melakukan satu kali proses.

2.4 CodeVisionAVR

CodeVisionAVR merupakan salah satu software compiler yang khusus digunakan untuk mikrokontroler keluarga AVR. CodeVisionAVR merupakan yang terbaik bila dibandingkan dengan compiler yang lain karena beberapa kelebihan yang dimiliki oleh CodeVisionAVR antara lain:

1. Menggunakan IDE (Integrated Development Environment).

2. Fasilitas yang disediakan lengkap (mengedit program, meng-compile

program, men-download program) serta tampilannya terlihat menarik dan mudah dimengerti. Kita dapat mengatur settingan editor sedemikian rupa sehingga memudahkan kita dalam penulisan program.

3. Mampu membangkitkan kode program secara otomatis dengan menggunakan fasilitas CodeWizardAVR.

(49)

5. Memiliki fasilitas debugger sehingga dapat menggunakan software compiler lain untuk mengecek kode assembler nya, contohnya AVRStudio.

6. Memiliki terminal komunikasi serial yang terintegrasi dalam CodeVisionAVR sehingga dapat digunakan untuk membantu pengecekan program yang telah dibuat khususnya yang menggunakan fasililtas komunikasi serial UART.

Salah satu kelebihan dari CodeVisionAVR adalah tersedianya fasilitas untuk men-download program ke mikrokontroler yang telah terintegrasi sehingga demikian CodeVisionAVR ini selain dapat berfungsi sebagai software compiler

juga dapat berfungsi sebagai software programmer/ downloader. Jadi kita dapat melakukan proses download program yang telah dikompilasi dengan menggunakan software CodeVisionAVR juga.

2.5 Motor Servo

(50)

arah yang berlawanan dengan jarum jam. Gambar 2.10 memperlihatkan tampilan fisik dari sebuah motor servo.

Gambar 2.10 Motor Servo

Motor servo mampu bekerja dua arah yaitu searah jarum jam dan berlawanan arah jarum jam dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM dari mikrokontroler pada bagian pena kontrolnya. Dalam aplikasinya, motor servo tidak memerlukan rangkaian driver karena yang diperlukan hanya sinyal PWM dengan range 0V-5V.

Motor servo secara umum terbagi ke dalam 2 jenis: 1. Motor Servo Standar 180°.

Motor servo jenis ini hanya mampu bergerak dua arah (CW dan CCW) dengan defleksi masing-masing sudut mencapai 90° sehingga total defleksi sudut dari kanan – tengah – kiri adalah 180°.

2. Motor Servo Continuous

Motor jenis ini mampu bergerak dua arah (CW dan CCW) tanpa batasan defleksi sudut putar (dapat berputar secara kontinyu).

(51)

gerakan 90°, maka jika kita berikan pulsa kurang dari 1.5 ms maka posisi mendekati 0° dan jika kita berikan pulsa lebih dari 1.5 ms maka posisi mendekati 180°. Gambar 2.11 memperlihatkan pensinyalan sebuah motor servo.

Gambar 2.11 Pensinyalan Sebuah Motor Servo

2.6 LCD (Liquid Crystal Display)

LCD 16x2 adalah Liquid Crystal Display dot matrix yang mampu menampilkan 16x2 karakter atau 16 kolom dan 2 baris. Alat ini membutuhkan daya yang kecil dan dilengkapi panel LCD dengan tingkat kontras yang cukup tinggi serta kontroler LCD CMOS yang telah terpasang dalam modul tersebut. Kontroler ini memiliki ROM/RAM dan display data RAM. Semua fungsi display

dikontrol dengan instuksi khusus. Modul LCD ini juga dapat dengan mudah dihubungkan dengan unit mikrokontroler. Secara fisik, LCD 16x2 dapat dilihat dari Gambar 2.12 berikut:

(52)

Adapun konfigurasi dan deskripsi dari pena-pena LCD ini antara lain: 1. Pena 1 dihubungkan ke ground.

2. Pena 2 dihubungkan ke VCC (+5V).

3. Pena 3 dihubungkan ke bagian tengah potensiometer 10 KOhm sebagai pengatur kontras.

4. Pena 4 untuk RS (Register Selection). Jika diberi nilai logika 1 (High) = display data dan jika diberi nilai logika 0 (Low) = Write Operational.

5. Pena 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high, +5V) maka LCD berfungsi untuk membaca data, jika pena ini di set ke logika 0 (low, 0V) akan berfungsi untuk menulis data.

6. Pena 6 adalah terminal enable (Enable Signal). Berlogika 1 setiap kali pengiriman atau pembaca data.

7. Pena 7 – pena 14 adalah saluran dua arah (bi-directional) data 8 bit dan 4 bit bus data (untuk 4 bit pena data yang digunakan Pena 11 – pena 14). 8. Pena 15 dan pena 16 adalah tegangan untuk menyalakan lampu LCD.

Pena-pena LCD yang dihubungkan ke mikrokontroler antara lain pena 4, 5 dan 6 sebagai pena kontrol logika tulis dan baca serta pena 11-14 sebagai pena data 4 bit seperti yang dijelaskan dalam konfigurasi dan deskripsi pena-pena LCD di atas.

Dari sisi perangkat lunak, cara mengakses LCD dilakukan dengan menyisipkan fungsi pustaka lcd.h yang telah disediakan oleh software

(53)

2.7 Relay

Relay adalah saklar mekanik yang dikendalikan atau dikontrol secara elektronik (elektromagnetik). Saklar pada relay akan terjadi perubahan posisi OFF

ke ON pada saat diberikan energi elektromagnetik pada armatur relay tersebut. Relay pada dasarnya terdiri dari 2 bagian utama yaitu bagian kumparan dan

contact point. Ketika kumparan diberikan tegangan DC atau AC, maka akan terbentuklah medan elektromagnetik yang mengakibatkan contact point akan mengalami switch ke bagian lain. Keadaan ini akan bertahan selama arus masih mengalir pada kumparan relay. Contact point akan kembali switch ke posisi semula jika tidak ada lagi arus yang mengalir pada kumparan relay.

Relay memiliki kondisi contact point dalam 2 posisi. Kedua posisi ini akan berubah pada saat relay mendapat tegangan sumber pada kumparan. Kedua posisi tersbut adalah :

1. Posisi NO (Normally Open), yaitu posisi contact point yang terhubung ke terminal NO (Normally Open). Kondisi ini akan terjadi pada saat relay mendapat tegangan sumber pada elektromagnetnya.

2. Posisi NC (Normally Colse), yaitu posisi contact point yang terhubung ke terminal NC (Normally Close). Kondisi ini terjadi pada saat relay tidak mendapat tegangan sumber pada elektromagnetnya.

Dilihat dari desain saklarnya maka relay dibedakan menjadi:

(54)

2. SPDT (Single Pole Double Throw), relay ini memiliki 5 terminal yaitu terdiri dari 2 terminal untuk input kumparan elektromagnetik dan 3 terminal saklar. relay jenis ini memiliki 2 kondisi NO dan NC.

3. DPST (Double Pole Single Throw), relay jenis ini memiliki 6 terminal yaitu terdiri dari 2 terminal untuk input kumparan elektromagnetik dan 4 terminal saklar untuk 2 saklar yang masing-masing saklar hanya memilki kondisi NO saja.

4. DPDT (Double Pole Double Throw), relay jenis ini memiliki 8 terminal yang terdiri dari 2 terminal untuk kumparan elektromagnetik dan 6 terminal untuk 2 saklar dengan 2 kondisi NC dan NO untuk masing-masing saklarnya.

Pada tugas akhir ini, penulis menggunakan realy dengan catuan tegangan 12V DC berjenis SPDT (Single Pole Double Throw) serpeti yang terlihat pada Gambar 2.13.

Gambar 2.13 Relay Tipe SPDT (Single Pole Double Throw)

2.8 RTC (Real Time Clock) DS1307

(55)

membutuhkan dua jalur untuk berkomunikasi yaitu jalur clock untuk membawa informasi data clock dan jalur data yang membawa data atau yang sering disebut dengan I2C (Inter-integrated Circuit). Susunan kaki-kaki dari IC DS1307 diperlihatkan pada Gambar 2.14.

Gambar 2.14 Pena RTC DS1307 Penjelasan dari masing-masing pena adalah sebagai berikut :

1. X1 dan X2 adalah pena yang dihubungkan dengan kristal32.768 KHz.

2. VBAT adalah pena yang dihubungkan masukan baterai +3V.

3. GND adalah pena yang dihubungkan ground.

4. SDA adalah pena yang difungsikan sebagai jalur data.

5. SCL adalah pena yang fungsikan sebagai jalur clock.

6. SQW/OUT adalah pena yang digunakan sebagai keluaran sinyal kotak.

7. VCC adalah pena untuk mencatu tegangan 5V.

Untuk berkomunikasi dengan mikrokontroler ATMega8535, RTC DS1307 menggunakan jenis komunikasi serial I2C. Fungsi pustaka yang digunakan adalah

(56)

2.9 DI-WLM35TS (DI-Waterproof LM35 Temperature Sensor)

Sensor ini dimodifikasi oleh perusahaan Depok Instruments. Komponen utamanya memakai sensor suhu tipe LM35DZ. Namun, pada setiap kaki-kakinya telah dipasang kabel sepanjang 300 mm yang tahan terhadap air dan suhu panas. Kelebihan sensor ini sama dengan kelebihan yang dimiliki oleh sensor LM35DZ yaitu

1. Terkalibrasi dalam satuan celcius.

2. Faktor skala yang linear 10 mV/ºC.

3. Daerah pengukuran 0ºC – 100ºC.

4. Tegangan sumber 4VDC – 30VDC.

Selain itu, sensor ini dilapisi dengan 3 lapisan, sehingga sensor tetap dapat bekerja dengan baik di dalam air. Secara fisik, sensor ini dapat dilihat pada Gambar 2.15.

Gambar 2.15 DI-WLM35TS

(57)

Tabel 2.4 Konfigurasi Pena DI-WLM35TS

Kabel Fungsi

1 Kelabu / Kuning / Jingga VCC Sumber (+)

2 Putih / Hijau / Merah Vout Output Sensor

3 Hitam / Biru / Coklat GND Sumber (-)

2.10 Wavecom M1306B Q2406B

Wavecom M1306B Q2406B TCP/IP adalah GSM/GPRS modem yang siap digunakan sebagai modem untuk suara, data, fax dan SMS. Kelas ini juga mendukung 10 tingkat kecepatan transfer data. Wavecom M1306B Q2406B TCP/IP dengan mudah dikendalikan dengan menggunakan perintah AT untuk semua jenis operasi karena mendukung fasilitas koneksi RS232 dan juga fasilitas TCP/IP stacked. Dapat dengan cepat terhubung ke port serial komputer desktop atau notebook. Casing logam Wavecom M1306B Q2406B TCP/IP menjadi solusi yang tepat untuk aplikasi berat seperti telemetri atau

Wireless Local Loop (PLN metering & Telepon Umum). Ukurannya yang kecil memudahkan dalam peletakan di berbagai macam area, indoor/outdoor. Secara fisik, Wavecom M1306B Q2406B dapat dilihat pada Gambar 2.16.

(58)

Secara teknis, modem Wavecom M1306B Q2406B mempunyai spesifikasi sebagai berikut:

- Dualband GSM 900/1800 MHz. - Mendukung data/ SMS/ voice/ fax.

- Max Power Output: 2W (900 MHz), 1 W (1800 MHz).

- Tegangan masukan: 5V-24V DC (not applicable for USB interface). - Arus masukan: 1-2A.

- Mendukung Group 3 Fax (Kelas 2) GPRS # Kelas B, Kelas 10. - SimToolKit Kelas 2.

- ATCommand set (GSM 07,05, 07,07 dan fungsi AT pada GSM WAVECOM).

- Protokol TCP/IP stack tersedia untuk data dan internet. - Maksimum tingkat pengaturan baudrate: 115200 bps.

(59)

PERANCANGAN PERANGKAT KERAS

3.1 Gambaran Umum Sistem

Sistem yang akan dirancang menggunakan mikrokontroler AVR ATMega8535 sebagai pengendali sistem. Pengaturan jadwal pemberian pakan (feeding) dilakukan dengan penekanan tombol push button. Jumlah push button

yang dirancang terdiri dari 4 buah. Fungsi push button tersebut akan dijelaskan pada perancangan perangkat lunak.

Sebagai pewaktu (timer) yang memberikan informasi waktu real, penulis menggunakan RTC (Real Time Clock) dengan tipe DS1307. Informasi dari DS1307 ini digunakan oleh mikrokontroler untuk mencocokkan jadwal yang telah diatur melalui push button. Ketika jadwal yang diatur sama dengan waktu real

dari RTC DS1307, maka mikrokontroler akan memberikan perintah kepada motor servo untuk aktif selama beberapa saat.

Untuk mendeteksi perubahan suhu, sistem ini menggunakan sensor suhu DI-WLM35TS yang merupakan modifikasi dari sensor suhu LM35DZ. Sistem akan melakukan respon ketika suhu di atas ataupun di bawah normal.. Lalu informasi ini akan dikirimkan melalui SMS dengan modem GSM.

(60)

Catuan 12V DC yang akan mengaliri kumparan didapat dari catu daya utama setelah mengalamai penyearahan oleh dioda bridge. Rangkaian ini juga menggunakan resistor pull down agar logika default yang diterima oleh mikrokontroler adalah 0 (low). Rangkaian ini akan memberikan sinyal interupsi eksternal pada pena interupsi mikrokontroler. Ketika terjadi perubahan logika pada pena interupsi eskternal baik dari logika 0 (low) ke logika 1 (high) atau sebaliknya, maka mikrokontroler akan melakukan subrutin interupsi yang telah dirancang.

Setiap aktivitas yang mengalami perubahan seperti pemberian pakan, pendeteksian suhu yang tidak normal, pergantian catu daya serta memutus atau menyambungkan saklar aerator cadangan akan diinformasikan melalui SMS dengan menggunakan modem GSM Wavecom M1306B Q2406B. Secara umum, diagram blok keseluruhan sistem dapat dilihat pada Gambar 3.1.

Mikrokontroler

(61)

3.2 Rangkaian Mikrokontroler ATMega8535

Gambar 3.2 menunjukkan rangkaian mikrokontroler ATMega8535. Rangkaian sistem minimum mikrokontoler ATMega8535 terdiri dari rangkaian sistem minimum dan rangkaian I/O. Rangkaian minimum mikrokontroler terdiri dari rangkaian clock dan rangkaian reset.

Rangkaian clock pada mikrokontroler ATMega8535 membutuhkan osilator kristal dan 2 buah kapasitor non polar agar dapat berosilasi. Pada perancangan ini, besar frekuensi osilator kristal yang digunakan adalah 8 MHz dan besar kapasitas kapasitor adalah 20 pF. Pemilihan frekuensi dan besar kapasitor tersebut dirancang berdasarkan datasheet mikrokontroler ATMega8535.

Rangkaian reset pada mikrokontroler ATMega8535 berfungsi untuk mengembalikan mikrokontroler pada program awal (vektor reset). Rangkaian

reset terdiri dari resistor 1 KΩ (R3) dan kapasitor nonpolar 100nF (C7). Kombinasi komponen R-C ini berfungsi untuk menentukan nilai konstanta waktu pengisian muatan pada kapasitor C7. Ketika catudaya dihidupkan, kapasitor C7 akan melakukan pengisian muatan awal sehingga logika yang diterima pena reset

saat itu dalam keadaan logika rendah dan mikrokontoler masuk ke dalam modus

(62)

PC6/TOSC1 28

Gambar 3.2 Rangkaian Mikrokontroler AVR ATMega8535 dan Hubungan I/O PORT

(63)

Tabel 3.1 Spesifikasi PORT/Bandar yang Digunakan

PORT/ Bandar

Bit Fungsi

A 0 Masukan sensor suhu DI-WLM35TS

B

0-7 Hubungan ke LCD

6-8 MOSI, MISO dan SCK pada ISP (In System Programming)

C

0 Pena SCL dari RTC DS1307

1 Pena SDA dari RTC DS1307

2

Keluaran untuk mengaktifkan LED sebagai indikator catu daya utama dalam keadaan ON atau OFF

3

Keluaran untuk mengaktifkan LED sebagai indikator suhu di bawah normal (Heater ON)

4-7 Masukan dari push button

D

1 Keluaran untuk pena TX pada rangkaian serial USART 2 Masukan interupsi INT.0 untuk mendeteksi pergantian catu daya 5 Keluaran untuk mengaktifkan motor servo

7

Keluaran untuk mengaktifkan LED sebagai indikator suhu di atas normal (Chiller ON)

(64)

secara berulang-ulang. Pemrograman berbasis ISP cukup menghubungkan antara pin MOSI, MISO, SCK, RESET, VCC dan Ground dengan programmer ISP tersebut. Programmer ISP yang digunakan adalah programmer K-125R yang dapat memprogram hampir semua jenis serpih (chip) AVR dan menggunakan catu daya USB (5V) langsung dari sumber catu daya programmer tersebut. Secara fisik, programmer K-125R dapat dilihat pada Gambar 3.3.

Gambar 3.3 Programmer K-125R

3.3 Rangkaian Regulator Tegangan

(65)

Tabel 3.1 Konsumsi Arus Dari Komponen yang Dicatu No Komponen yang dicatu Konsumsi arus

1 Rangkaian sistem minimun 50 mA

2 Rangkaian komunikasi serial USART 12 mA

3 Rangkaian sensor suhu 13 mA

4 LCD dan backlight putih 48 mA

5 RTC DS1307 0,2 mA

6 Motor servo 150 mA

Total 273,2 mA

Dari Tabel 3.1 maka arus total yang dikonsumsi oleh sistem sebesar 273,2 mA. Oleh karena itu digunakan LM7805 sebagai penstabil tegangan. LM7805 merupakan regulator tegangan tetap untuk mendapat tegangan +5V yang dapat memberikan arus maksimal 1A sehingga kebutuhan arus dari setiap komponen yang digunakan dapat terpenuhi. LM7805 memiliki tiga terminal, yaitu terminal Vin, GND dan Vout. Semakin besar nilai kapasitor maka akan semakin kecil riak yang muncul. Fungsi kapasitor 3300uF/25V pada rangkaian regulator tegangan adalah sebagai penapis (filter) dan penghilang riak (ripple). Rangkaian regulator tegangan 5Vdapat dilihat pada Gambar 3.4

VI

(66)

BAT2 12V digunakan sebagai catu daya cadangan ketika catu daya utama dalam keadaan OFF. Dioda D1 dengan tipe 1N4007 berfungsi untuk menahan arus yang masuk dari catu daya utama ketika keadaannya masih ON sehingga baterai tidak masuk ke dalam modus charging.

3.4 Rangkaian RTC (Real Time Clock)

Rangkaian RTC (Real Time Clock) dengan tipe DS1307 berhubungan dengan mikrokontroler ATMega8535 menggunakan komunikasi I2C ( Inter-Integrated Circuit) seperti yang ditunjukkan pada Gambar 3.5.

VBAT

Gambar 3.5 Rangkaian RTC (Real Time Clock)

Sesuai dengan datasheet RTC DS1307, komunikasi I2C antar device

(67)

merupakan ground. Ketika tegangan 5V digunakan pada batas normal, RTC dapat diakses secara penuh serta data dapat ditulis dan dibaca. Ketika VCC kurang dari 1,25 x Vbat, proses penulisan dan pembacaan terhenti. Namun proses penghitungan waktu masih berjalan. Pada saat VCC kurang dari Vbat, RAM dan penghitung waktu terhubung dengan BAT1 dengan tegagan 3V.

3.5 Rangkaian Modul LCD

Pada tugas akhir ini, LCD digunakan untuk menampilkan pengaturan jadwal pemberian pakan dan waktu sebenarnya (real), sehingga tidak memerlukan media display yang terlalu besar. LCD yang digunakan adalah LCD 2x16 dengan tipe 1602ZFA dengan lebar display 2 baris dan 16 kolom. Hubungan antara mikrokontroler dan LCD diperlihatkan pada Gambar 3.5.

D

Gambar 3.6 Rangkaian Modul LCD

(68)

3.6 Rangkaian Pendeteksi Pergantian Catu Daya

Dalam tugas akhir ini, rangkaian pendeteksi pergantian catu daya berfungsi untuk mengetahui catu daya mana yang sedang digunakan oleh sistem. Rangkaian ini dirancang dengan sebuah relay 12V DC dan sebuah resistor

pulldown sebesar 1 KΩ (R5). Catuan 12V DC yang akan mengaliri kumparan diperoleh dari catu daya utama setelah mengalami penyearahan oleh dioda bridge. Resistor pull down dipasang agar logika default yang diterima oleh mikrokontroler adalah 0 (low). Rangkaian pendeteksi catu daya dapat dilihat pada Gambar 3.7.

INT0

R5 1k

RELAY DC12V VCC 12 V

Gambar 3.7 Rangkaian Pendeteksi Pergantian Catu Daya

(69)

Begitu juga sebaliknya, ketika catu daya utama hidup, maka kontak NC akan terhubung kembali dengan ground. Hal ini akan mengakibatkan logika yang diterima oleh PIND.2 menjadi rendah (low). Ketika logika yang diterima oleh PIND.2 rendah, maka sistem akan mematikan LED di PORTC.2 sebagai indikator bahwa catu daya utama kembali ON dan simulasi bahwa aerator cadangan telah dimatikan yang kemudian diikuti dengan mengirimkan SMS pemberitahuan melalui modem GSM.

3.7 Rangkaian Push Button

Rangkaian push button pada tugas akhir ini digunakan untuk mengatur jadwal pemberian pakan (feeding) dan mengatur waktu (jam dan menit) sebenarnya. Jumlah push button yang digunakan sebanyak 4 buah. Tiga buah push button pertama digunakan untuk fungsi utama yaitu mengatur jadwal pemberian pakan dan mengatur waktu sebenarnya. Sedangkan 1 push button tambahan digunakan untuk mengetahui besar suhu air dalam akuarium yang kemudian akan ditampilkan pada LCD. Hubungan push button dengan mikrokontroler secara berurutan dihubungkan ke pena PORTC.4-7 seperti tampak pada Gambar 3.8.

PB1

(70)

Seperti yang tampak pada Gambar 3.8 , ketika push button ditekan, maka pena-pena mikrokontroler akan tersambung pada ground sehingga menyebabkan logika berubah menjadi 0 (low). Sebaliknya, ketika push button kembali dilepas, maka pena-pena mikrokontroler akan terputus dari ground sehingga menyebabkan logika berubah menjadi 1 (high).

3.8 Rangkaian Sensor Suhu

Gambar 3.9 menunjukkan rangkaian sensor suhu DI-WLM35TS. Komponen pembentuk rangkaian sensor suhu DI-WLM35TS terdiri dari 2 buah kapasitor 100 nF (C12 dan C13) serta sensor suhu DI-WLM35TS.

Sensor DI-WLM35TS memiliki tiga pena koneksi, yakni pena VCC (tegangan masukan), pena GND (ground), dan pena Vout (tegangan keluaran). Pena VCC dihubungkan dengan tegangan supply 5V DC, pena GND dihubungkan dengan ground perangkat-perangkat lainnya, dan pena Vout dihubungkan ke PORTA.0 sebagai masukan analog. Kapasitor C12 digunakan sebagai bypass

tegangan Vout dan kapasitor C13 digunakan untuk pembacaan tegangan yang lebih stabil.

(71)

3.9 Rangkaian Motor Servo

Rangkaian motor servo hanya terdiri dari motor servo saja seperti yang terlihat pada Gambar 3.10. Hal ini disebabkan karena dalam penggunaannya motor servo dikendalikan dengan metode PWM (Pulse Width Modulation). Sehingga untuk mengaktifkannya tidak diperlukan komponen atau rangkaian tambahan.

SERVO

+88.8

Motor Servo VCC

Gambar 3.10 Rangkaian Motor Servo

Seperti yang terlihat dari Gambar 3.10, motor servo mempunyai 3 pena yaitu pena VCC, sinyal, dan GND. Pena VCC dihubungkan ke catu daya 5V, pena sinyal dihubungkan ke PORTD.5 pada mikrokontroler, dan pena GND dihubungkan ke ground.

3.10 Rangkaian Serial USART

Gambar

Gambar 2.6 Memori Data SRAM ATMega8535
Tabel 2.1 Alamat Vektor Interupsi ATMega8535
Tabel 2.2 Fungsi Masing-masing Pena RS232
Gambar 2.7 Interkoneksi Antarpiranti dalam Porotokol TWI
+7

Referensi

Dokumen terkait

Untuk kasus Indonesia masa transisi pemerintahan Soeharto ke pemerintahan reformasi (1998-1999) telah memunculkan gerakan netralitas politik birokrasi yang juga dipelopori oleh

Dukungan sosial keluarga, terutama dari suami dapat mengurangi tingkat konflik peran ganda perempuan menikah yang bekerja, karena dukungan sosial keluarga memainkan

Ketiga Pendekatan tersebut dilakukan sesuai dengan kebutuhan atau maksud yang dicapai oleh guru. Sistem pengelolaan kelas yang dilakukan oleh guru di sekolah dapat

Dalam konteks inilah upaya perbaikan kualitas kinerja dan motivasi guru yang bermuatan pembentukan karakter dilakukan melalui pendekatan manajemen pendidikan Islam,

Untuk itu apabila pasien peserta BPJS mendapatkan pelayanan yang tidak sesuai dengan standar rumah sakit, maka perlindungan hukum bagi pasien BPJS adalah peserta

Rendra Agung Prabowo, A 120908023, Perbedaan Prengaruh Metode Latihan Berbeban Leg-press dan Squat Terhadap Peningkatan Prestasi Lari 100 Meter Ditinjau Dari Rasio

Kontras dengan eksperimen-eksperimen Schoenberg dan Stravinsky tersebut selama dekade kedua abad ke-20 muncul aliran yang ingin kembali kepada idaman- idaman estetika akhir abad

Hasil penelitian didapatkan bahwa pemberian ASI tidak eksklusif kurang memiliki dukungan dari atasan yaitu sebanyak 23 responden (92%), dibandingkan dengan Ibu yang