• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI. Universitas Sumatera Utara

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II DASAR TEORI. Universitas Sumatera Utara"

Copied!
30
0
0

Teks penuh

(1)

BAB II

DASAR TEORI

2.1 Mikrokontroler ATMega16

Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan keluaran spesifik berdasarkan masukan yang diterima dan program yang dikerjakan. Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks.

Mikrokontroler adalah suatu chip dengan kepadatan yang sangat tinggi, dimana semua bagian yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari CPU (Central Proccesssing Unit), RAM (Random Acess Memory), EEPROM/EPROM/PROM/ROM, I/O, Timer dan lain sebagainya. Rata-rata mikrokontroler memiliki instruksi manipulasi bit, akses ke I/O secara langsung dan mudah, dan proses interupsi yang cepat dan efisien.

Mikrokontroler sekarang ini sudah banyak dapat kita temui dalam berbagai peralatan elektronik, misalnya peralatan yang terdapat di rumah, seperti telepon digital,

microwave oven, televisi, dan masih banyak lagi. Mikrokontroler juga dapat kita gunakan untuk berbagai aplikasi misalnya untuk pengendalian suatu alat, otomasi dalam industri dan lain-lain. Keuntungan menggunakan mikrokontroler adalah harganya murah, dapat diprogram berulang kali, dan dapat diprogram sesuai dengan keinginan kita.

(2)

2.1.1 Spesifikasi Mikrokontroler ATMega16

Mikrokontroler AVR adalah mikrokontroler RISC 8 bit berdasarkan aristektur

Harvard, yang dibuat oleh Atmel pada tahun 1996. AVR memiliki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan AVR yaitu AVR memiliki kecepatan eksekusi program yang lebih cepat, karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan MCS51 yang membutuhkan 12 siklus

clock untuk mengeksekusi 1 instruksi. Mikrokontroler ATMega16 memiliki fitur yang lengkap (ADC internal, EEPROM internal, Timer/Counter, Watchdog Timer, PWM, Port I/O, komunikasi serial, Komparator, I2C,dll).

Berikut ini merupakan beberapa spesifikasi ATMega16:

1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16 Mhz. 2. Memiliki kapasitas flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte 3. Saluran Port I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.

4. CPU yang terdiri atas 32 buah register 5. User interupsi internal dan eksternal 6. Port USART sebagai komunikasi serial 7. Konsumsi daya rendah (DC 5V)

8. Fitur peripheral, yang terdiri dari

a. Tiga buah Timer/Counter dengan perbandingan

- 2 (dua) buah Timer/Counter 8 bit dengan Prescaler terpisah dan

Mode Compare

- 1 (satu) buah Timer/Counter 16 bit dengan Prescaler terpisah,

Mode Compare, dan Mode Capture

b. Real Time Counter dengan osilator tersendiri c. 4 channel PWM

d. 8 channel, 10-bit ADC

- 8 Single-ended Channel

(3)

- 2 Differential Channel dengan Programmable Gain 1x, 10x, atau 200x

e. Byte-oriented Two-wire Serial Interface

f. Antamuka SPI

g. Watchdog Timer dengan osilator internal

h. On-chip Analog Comparator

(4)

2.1.2 Konfigurasi Pin ATMega16

Susunan pin mikrokontroler ATMega16 diperlihatkan pada Gambar 2.2 di bawah ini.

Gambar 2.2 Konfigurasi Pin ATMega16

Konfigurasi pin ATMega16 dengan kemasan 40 pin DIP (Dual In-line Package) dapat dilihat pada Gambar 2.2. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin ATMega16 sebagai berikut:

1. Vcc merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merupakan pin Ground

3. Port A (PA0…7) merupakan pin input/output dua arah dan pin masukan ADC.

4. Port B (PB0…7) merupakan pin input/output dua arah dan pin dengan fungsi khusus seperti SPI, MISO, MOSI, SS, AIN1/OC0, AIN0/INT2, T1, T0 T1/XCK

5. Port C (PC0…7) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti TOSC2, TOSC1, TDI, TD0, TMS, TCK, SDA, SCL

6. Port D (PD0…7) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti RXD, TXD, INT0, INT1, OC1B, OC1A, ICP1

(5)

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

9. AVCC merupakan pin masukan tegangan untuk ADC 10.AREF merupakan pin masukan tegangan referensi ADC

2.1.3 Arsitektur Mikrokontroler ATMega16

ATMega16 menggunakan arsitektur Harvard dengan memisahkan antara memori dan bus untuk program dan data untuk memaksimalkan kemampuan dan kecepatan. Instruksi dalam memori program dieksekusi dengan pipelining single level dimana ketika satu instruksi dieksekusi, instruksi berikutnya diambil dari memori program. Konsep ini mengakibatkan instruksi dieksekusi setiap siklus clock. CPU terdiri dari 32x8 bit general purpose register yang dapat diakses dengan cepat dalam satu siklus clock, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat dilakukan dalam satu siklus. Pada operasi ALU, dua operand berasal dari register, kemudian operasi dieksekusi dan hasilnya disimpan kembali pada register dalam satu siklus clock. Operasi aritmetik dan logika pada ALU akan mengubah bit-bit yang terdapat pada Status Register (SREG). Arsitektur Mikrokontroler ATMega16 dapat dilihat pada Gambar 2.3 yang terdapat di bawah ini.

2.1.4 Peta Memori ATMega16 2.1.4.1 Memori Program

Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori program. Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data. ATMega16 memiliki 16K byte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit, maka memori flash diatur dalam 8K x 16 bit. Memori flash dibagi kedalam

(6)

dua bagian, yaitu bagian program boot dan aplikasi seperti terlihat pada Gambar 2.5.

Bootloader adalah program kecil yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor.

Gambar 2.3 Arsitektur Mikrokontroler ATMega16

(7)

2.1.4.2 Memori Data (SRAM)

Memori data AVR ATMega16 terbagi menjadi 3 bagian, yaitu 32 register umum, 64 buah register I/O dan 1 Kbyte SRAM internal. General purpose register menempati alamat data terbawah, yaitu $00 sampai $1F. Sedangkan memori I/O menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai fitur mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F digunakan untuk SRAM internal

Register File Data Address Space R0 $0000 R1 $0001 R2 $0002 … … R29 $001D R30 $001E R31 $001F I/O Registers $00 $0020 $01 $0021 $02 $0022 … … $3D $005D $3E $005E $3F $005F Internal SRAM $0060 $0061 … $045E $045F Gambar 2.5 Peta Memori Data ATMega16

(8)

2.1.4.3 Memori Data EEPROM

ATMega16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat ditulis/dibaca dari memori ini, ketika catu daya dimatikan, data terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini, atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM mulai dari $000 sampai $1FF.

2.1.5 Software Mikrokontroler ATMega16

Sebuah mikrokontroler tidak akan bekerja bila tidak diberikan program untuk diisikan ke dalam mikrokontroler tersebut. Oleh karena itu, dalam tugas akhir ini akan digunakan perangkat lunak CodeVisionAVR sebagai media penghubung antara program yang akan diisikan ke mikrokontroler ATMega16 yang menggunakan bahasa C.

Pemrograman mikrokontroler AVR dapat menggunakan low level language

(assembly) dan high level language (C, Basic, Pascal, JAVA, dll) tergantung compiler

yang digunakan. Bahasa Assembler pada mikrokontroler AVR memiliki kesamaan instruksi, sehingga jika telah menguasai pemrograman satu jenis mikrokontroler AVR, maka akan dengan mudah untuk memprogram mikrokontroler AVR jenis lain, tetapi bahasa assembler relatif lebih sulit dipelajari daripada bahasa C, untuk pembuatan suatu proyek yang besar akan memakan waktu yang lama, serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki keunggulan dibandingkan bahasa assembly yaitu penyusunan program akan lebih sederhana dan mudah pada proyek yang lebih besar. Bahasa C hampir bisa melakukan semua operasi yang dapat dikerjakan oleh bahasa mesin.

CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman mikrokontroler keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan program generator.

Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya,

(9)

yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, dan library fungsi standar berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan (embedded).

Khusus untuk library fungsi, disamPING library standar (seperti fungsi-fungsi matematik, manipulasi string, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu, SPI (Serial Peripheral Interface) dan lain sebagainya.

Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly. Selain menu-menu pilihan yang umum dijumpai pada setiap perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak downloader yang bersifat In System Programmer

yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi ke dalam sistem memori mikrokontroler AVR yang sedang diprogram.

Selain itu, CodeVisionAVR juga menyediakan sebuah fitur yang dinamakan dengan Code Generator atau CodeWizardAVR. Secara praktis, fitur ini sangat bermanfaat membentuk sebuah kerangka program (template), dan juga memberi kemudahan bagi programmer dalam peng-inisialisasian register-register yang terdapat pada mikrokontroler AVR yang sedang diprogram. Dinamakan Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan kode-kode program secara otomatis setelah fase inisialisasi pada jendela CodeWizardAVR selesai dilakukan. Penggunaan fitur ini pada dasarnya hampir sama dengan application wizard pada bahasa-bahasa pemrograman visual untuk komputer.

(10)

2.1.6Komunikasi Serial USART

Komunikasi data adalah perpindahan data antara dua atau lebih peranti, baik yang berjauhan maupun yang berdekatan. Perpindahan data antara dua atau lebih peranti dapat dilaksanakan secara paralel atau seri. Komunikasi seri dapat dibedakan menjadi 2 macam, yaitu komunikasi dara seri sinkron dan komunikasi data asinkron. Dikatakan sinkron jika sisi pengirim dan sisi penerima ditabuh (clocked) oleh penabuh (clock) yang sama, satu sumber penabuh; data dikirim beserta penabuh. Dikatakan asinkron jika sisi pengirim dan sisi penerima ditabuh oleh penabuh yang terpisah dengan frekuensi yang hampir sama, data dikirim disertai informasi sinkronisasi. Pada proses inisialisasi ini setiap perangkat yang terhubung harus memiliki baudrate yang sama. Beberapa fasilitas yang disediakan USART AVR adalah sebagai berikut:

- Operasi full duplex (mempunyai register receive dan transmit yang terpisah)

- Mendukung kecepatan multiprosesor

- Mode kecepatan berode Mbps

- Operasi asinkron atau sinkron

- Operasi master atau slave clock sinkron

- Dapat menghasilkan baud-rate (laju data) dengan resolusi tinggi

- Modus komunikasi kecepatan ganda pada asinkron

- Dll

2.1.6.1 Inisialisasi USART

Pada mikrokontroler AVR untuk mengaktifkan dan mengeset komunikasi USART dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi USART. Register-register yang digunakan untuk komunikasi USART antara lain:

(11)

1. USART I/O Data Register (UDR)

UDR merupakan register 8 bit yang terdiri dari 2 buah dengan alamat yang sama, yang digunakan sebagai tempat untuk menyimpan data yang akan dikirimkan (TXB) atau tempat data diterima (RXB) sebelum data tersebut dibaca.

Gambar 2.6 Register UDR

2. USART Control and Status Register A (UCSRA)

Gambar 2.7 Register UCSRA Penjelasan bit penyusun UCSRA:

a. RXC (USART Receive Complete)

Bit ini akan set ketika data yang masuk ke dalam UDR belum dibaca dan akan berlogika nol ketika sudah dibaca. Flag ini dapat digunakan untuk membangkitkan interupsi RX jika diaktifkan dan akan berlogika nol secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan.

b. TXC (USART Transmit Complete)

Bit ini akan set ketika data yang dikirim telah keluar. Flag ini akan membangkitkan interupsi TX jika diaktifkan dan akan clear secara otomatis bersamaan dengan eksekusi vektor interupsi yang bersangkutan c. UDRE (USART Data Register Empty)

(12)

Flag ini sebagai indikator isi UDR. Jika bernilai satu maka UDR dalam keadaan kosong dan siap menerima data berikutnya, jika flag bernilai nol berarti sebaliknya.

d. FE (Frame Error)

Bit ini sebagai indikator ketika data yang diterima error, misalnya ketika

stop bit pertama data dibaca berlogika nol maka bit FE bernilai satu. Bit akan bernilai 0 ketika stop bit data yang diterima berlogika nol.

e. DOR (Data OverRun)

Bit ini berfungsi untuk mendeteksi jika ada data yang tumpang tindih. Flag akan bernilai satu ketika terjadi tumpang tindih data.

f. PE (Parity Error) : bit yang menentukan apakah terjadi kesalahan paritas Bit ini berfungsi jika ada kesalahan paritas. Bit akan berlogika satu ketika terjadi bit parity error apabila bit paritas digunakan.

g. U2X (Double the USART Transmission Speed) :

Bit yang berfungsi untuk menggandakan laju data manjadi dua kalinya. Hanya berlaku untuk modus asinkron, untuk mode sinkron bit ini diset nol.

h. MPCM (Multi Processor Communication Mode) :

Bit untuk mengaktifkan modus multi prosesor, dimana ketika data yang diterima oleh USART tidak mengandung informasi alamat akan diabaikan.

3. USART CONTROL AND STATUS REGISTER B (UCSRB)

(13)

Penjelasan bit penyusun UCSRB:

a. RXCIE (RX Complete Interrupt Enable)

Bit pengatur aktivasi interupsi penerimaan data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika dinonaktifkan.

b. TXCIE (TX Complete Interrupt Enable)

Bit pengatur aktivasi pengiriman data serial, akan berlogika satu jika diaktifkan dan berlogika nol jika dinonaktifkan.

c. UDRIE (USART Data Register Empty Interrupt Enable) :

Bit ini berfungsi untuk mengaktifkan interupsi data register kosong, berlogika satu jika diaktifkan dan sebaliknya.

d. RXEN (Receiver Enable)

Bit ini berfungsi untuk mengaktifkan pin RX saluran USART. Ketika pin diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai saluran penerima USART

e. TXEN (Transmitter Enable)

Bit ini berfungsi untuk mengaktifkan pin TX saluran USART. Ketika pin diaktifkan maka pin tersebut tidak dapat digunakan untuk fungsi pin I/O karena sudah digunakan sebagai saluran pengirim USART

f. UCSZ2 (Character Size)

Bit ini bersama dengan UCSZ1 dan UCSZ0 dalam register UCSRC digunakan untuk memilih tipe lebar data bit yang digunakan

Tabel 2.1 Penentuan Ukuran Karakter

UCSZ[2..0] Ukuran Karakter dalam bit

000 5 001 6 010 7 011 8 100-110 Tidak dipergunakan 111 9

(14)

g. RXB8 (Receive Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini harus dibaca dahulu sebelum membaca UDR

h. TXB8 (Transmit Data Bit 8)

Bit ini digunakan sebagai bit ke-8 ketika menggunakan format data 9-10 bit, dan bit ini harus ditulis dahulu sebelum membaca UDR

4. USART CONTROL AND STATUS REGISTER C (UCSRC)

Gambar 2.9 Register UCSRC Penjelasan bit penyusun UCSRC:

a. URSEL (Register Select) :

Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk menulis atau membaca register UCSRC maka bit harus berlogika satu.

b. UMSEL (USART Mode Select)

Bit pemilih mode komunikasi serial antara sinkron dan asinkron. c. UPM[1…0] (Parity Mode)

Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan. Transmittter USART akan membuat paritas yang akan digunakan secara otomatis.

d. USBS (Stop Bit Select)

Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.

(15)

Bit yang berfungsi untuk memilih lebar data yang digunakan dikombinasikan dengan bit UCSZ2 dalam register UCSRB

f. UCPOL (Clock Parity) :

Bit yang berguna hanya untuk modus sinkron. Bit in berhubungan dengan perubahan data keluaran dan sampel masukkan, dan clock

sinkron (XCK)

2.1.7 Sensor Ultrasonik

Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip pantulan gelombang suara dan digunakan untuk mendeteksi keberadaan suatu objek tertentu di depannya, frekuensi kerjanya pada daerah di atas gelombang suara dari 40 KHz hingga 400 KHz. Sensor ultrasonik terdiri dari dari dua unit, yaitu unit pemancar dan unit penerima. Struktur unit pemancar dan penerima sangatlah sederhana, sebuah kristal piezoelektrik dihubungkan dengan mekanik jangkar dan hanya dihubungkan dengan diafragma penggetar. Tegangan bolak-balik yang memiliki frekuensi kerja 40 KHz – 400 KHz diberikan pada plat logam. Struktur atom dari kristal piezoelektrik akan berkontraksi (mengikat), mengembang atau menyusut terhadap polaritas tegangan yang diberikan dan ini disebut dengan efek piezoelektrik.

Besar amplitudo sinyal elekrik yang dihasilkan unit sensor penerima tergantung dari jauh dekatnya objek yang dideteksi serta kualitas dari sensor pemancar dan sensor penerima. Proses yang dilakukan pada sensor ini menggunakan metode pantulan untuk menghitung jarak antara sensor dengan obyek sasaran. Gelombang ultrasonik ini merambat melalui udara dengan kecepatan 344 meter per detik, mengenai obyek dan memantul kembali ke sensor. Selama menunggu pantulan, sensor PING akan menghasilkan pulsa. Pulsa ini akan berhenti ketika suara pantulan terdeteksi oleh sensor PING pada bagian penerima. Oleh karena itulah lebar pulsa dapat merepresentasikan jarak antara sensor PING dengan obyek. Selanjutnya mikrokontroler cukup mengatur lebar pulsa tersebut dan mengkonversinya dalam bentuk jarak.

(16)

Sensor PING produksi dari Parallax merupakan salah satu sensor ultrasonik yang banyak digunakan. Sensor ini memiliki kelebihan hanya membutuhkan satu pin sinyal selain jalur 5 Volt dan Ground. Sensor PING dapat melakukan pengukuran dari 3 cm hingga 3 m. PING mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi PING akan membuat output low pada pin SIG. Lebar pulsa tinggi akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek. Prinsip pantulan dari sensor ulrasonik ini dapat dilihat pada Gambar 2.10 sebagai berikut :

Gambar 2.10 Prinsip Kerja Sensor Ultrasonik

2.2 SMS (SHORT MESSAGE SERVICE) 2.2.1 Pengenalan SMS

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 berupa 160 karakter huruf latin atau 70 karakter alfabet non-latin seperti alfabet Arab atau Cina.

SMS pada awal diciptakan adalah bagian dari layanan pada sistem GSM yang dikembangkan dan distandarisasi oleh ETSI. SMS semula hanyalah merupakan layanan yang bersifat komplementer terhadap dua layanan utama sistem GSM (atau sistem 2G pada umumnya) yaitu layanan suara dan switched data. Namun karena keberhasilan

(17)

SMS yang tidak terduga, dengan ledakan pelanggan yang mempergunakannya, menjadikan SMS sebagai bagian integral dari layanan sistem.

SMS adalah data tipe pesan asinkron yang pengiriman datanya dilakukan dengan mekanisme protokol store and forward. Hal ini berarti bahwa pengirim dan penerima SMS tidak perlu berada dalam status berhubungan (connected/online) satu sama lain ketika akan saling bertukar pesan.

Keterbatasan SMS adalah pada ukuran pesan yang dapat dikirimkan, yaitu maksimal hanya sebesar 160 byte. Keterbatasan ini disebabkan karena mekanisme transmisi SMS itu sendiri. Pada awalnya, SMS merupakan sebuah layanan yang ditambahkan pada sistem GSM yang digunakan untuk mengirimkan data mengenai konfigurasi dari handset pelanggan GSM. SMS dikirimkan menggunakan signalling frame pada kanal frekuensi atau time slot frame GSM yang biasanya digunakan untuk mengirimkan pesan untuk kontrol dan sinyal setup panggilan telepon, seperti pesan singkat tentang kesibukan jaringan atau pesan CLI (Caller Line indentification). Frame

ini bersifat khusus dan ada pada setiap panggilan telepon serta tidak dapat digunakan untuk membawa suara atau data dari pelanggan melainkan hanya berupa pesan saja. Ukuran frame pada sistem GSM sendiri adalah sebesar 1250 bit (kurang lebih sama dengan 160 byte). Karena hanya menggunakan satu frame inilah pengiriman pesan SMS menjadi sangat murah dan terjangkau, karena beban biaya hanya dihitung dari penggunaan satu frame melalui kanal frekuensi.

Pengiriman SMS menggunakan frame pada kanal frekuensi adalah berarti SMS dikirim oleh pengirim ke nomor telepon tertentu yang bertindak sebagai SMSC

(SMS-Center) dan kemudian SMSC bertugas untuk meneruskannya ke penerima. Pengiriman SMS berlangsung cepat karena, SMSC selain terhubung ke LAN aplikasi juga terhubung ke MSC (Mobile Switching Network) melalui SS7 (Signaling System 7) yang merupakan jaringan khusus untuk menangkap frame kontrol dan sinyal. Mekanisme pengiriman pesan singkat SMS yang serupa juga ditemukan dalam sistem jaringan lain seperti TDMA, PDC, dan cdmaOne. Beda antara sistem jaringan satu dengan yang lainnya adalah ukuran dari pesan SMS itu sendiri yang bergantung pada ukuran paket yang

(18)

digunakan pada masing-masing sistem. Pada sistem TDMA dan PDC ukuran pesan SMS sama dengan sistem GSM, yaitu 160 byte, dan pada cdma-One ukuran pesan SMS sebesar 256 byte.

Gambar 2.11 Struktur Time slot dan Frame pada GSM

Pada akhirnya SMS menjadi layanan messaging yang populer dan digemari oleh pelanggan hanphone. Layanan SMS dapat diintegrasikan dengan layanan GSM yang lain seperti suara, data, dan fax, dan karena itu pesan SMS selain digunakan untuk pengiriman pesan person to person juga digunakan untuk notifikasi suara dan pesan fax

yang datang kepada pelanggan. Selain itu, SMS juga berharga murah, bersifat pribadi, serta dalam pengoperasiannya tidak terlalu mengganggu kesibukan pemakainya, karena mereka dapat mengirim atau menerima pesan pada waktu yang mereka kehendak.

2.2.2Koneksi ke SMSC

Seperti yang diketahui untuk dapat mengirim dan menerima pesan, kita harus melakukan koneksi ke SMSC. Ada beberapa cara untuk melakukan koneksi ke SMSC antara lain:

Menggunakan terminal baik berupa GSM modem atau handphone

Cara ini adalah yang paling mudah tetapi memiliki kekurangan antara lain jumlah pesan yang dikirim per menit sangat terbatas (sekitar 6-10 per menit). Koneksi langsung ke SMSC

Dengan melakukan koneksi langsung ke SMSC kita dapat mengirim pesan dalam jumlah banyak, dapat mencapai sekitar 600 sms per menit bergantung pada kapasitas dari SMSC itu sendiri. Untuk melakukan koneksi ke SMSC diperlukan protokol penghubung. Beberapa protokol yang umum digunakan adalah UCP,

(19)

SMPP, CIMD2, OIS dan TAP. Masing-masing operator GSM menyediakan tipe protokol yang berbeda-beda.

Menggunakan software bantu

Saat ini banyak vendor telekomunikasi yang menawarkan software bantu untuk melakukan koneksi ke SMSC, dari yang bersifat freeware, open source sampai dengan komersial.

2.2.3 Mengirim dan Menerima SMS

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

a. Mode Teks

Mode ini adalah cara paling mudah untuk mengirim pesan, karena pada mode ini pesan yang dikirimkan tidak perlu dilakukan koversi lagi melainkan isi pesannya langsung dapat dikirimkan. Teks yang dikirim tetap dalam bentuk aslinya dengan panjang mencapai 160 (7 bit default alfabet) atau 140 (8 bit) karakter. Sesungguhnya mode teks adalah hasil encode yang direpresentasikan dalam format PDU. Kelemahannya, kita tidak dapat menyisipkan gambar dan nada dering ke dalam pesan yang akan dikirim serta terbatasnya dalam enkoding. Mode teks ini tidak didukung oleh semua operator GSM ataupun terminal.

b. Mode PDU (Protocol Data Unit)

Mode PDU merupakan format pesan dalam bentuk oktet heksadesimal dan oktet semidesimal dengan panjang mencapai 160 karakter (7 bit) atau 140 karakter (8 bit). Kelebihan menggunakan mode PDU adalah kita dapat melakukan enkoding sendiri yang tentunya harus pula didukung oleh hardware dan operator GSM, melakukan kompresi data, menambahkan nada dering dan gambar pada pesan yang akan dikirim. Sebagai tambahan dapat juga ditambahkan header ke dalam pesan yang akan dikirim, seperti

(20)

2.2.4 Mode PDU (Protocol Data Unit)

Format PDU dibagi menjadi dua bagian yaitu SMS Deliver PDU (Mobile Terminated) untuk pengiriman dan SMS Submit PDU (Mobile Originated) untuk penerimaan.

2.2.4.1 SMS Deliver PDU

SMS Deliver PDU ialah terminal menerima pesan yang datang/masuk dari SMSC dalam format PDU.

Gambar 2.12 Skema Format SMS PDU Contoh format SMS Deliver PDU adalah:

07912658050000F011000D91261863512088F50000AA05C8329BFD06

Berikut penjelasannya adalah sebagai berikut:

1. Service Centre Address (SCA)

SCA memiliki tiga komponen utama, yaitu length, type of number dan BCD digits.

Tabel 2.2 Format SCA pada SMS Deliver PDU

Octet Keterangan Nilai

Len Panjang informasi SMSC dalam octet 06

type of number

Jenis alamat dari SMSC

91 81h=lokal format

91h=internasional format

BCD Digits Nomor SMSC. Jika panjangnya ganjil, pada akhir karakter ditambahkan 0F hexa

2658050000F0 SC A SCA PDU -type OA SCA PID SCA DC S SCA SCT S SCA UD L SCA UD SCA

(21)

Berikut ini adalah contoh penulisan nomor SMSC untuk beberapa operator Indonesia:

Tabel 2.3 Contoh Penulisan SMSC untuk Operator di Indonesia

Operator Nomor SMSC Format dalam PDU

Satelindo 62816124 05 91 26 18 16 42

Excelcomindo (XL) 6281445009 07 91 26 18 48 54 00 F9

Telkomsel 6281100000 06 91 26 18 01 00 00

IM3 62855000000 05 91 26 58 05 00 00 F0

2. Protocol Data Unit (PDU) Type

Nilai default dari PDU untuk SMS-Deliver adalah 11h. Pada contoh diatas, PDU Type adalah 11 yang memiliki arti:

Tabel 2.4 Skema Format PDU untuk SMS-Deliver

Bit no 7 6 5 4 3 2 1 0

Nama RP UDHI SRR VPF VPF RD MTI MTI

Nilai 0 0 0 1 0 0 0 1

3. Originator Address (OA)

Tabel 2.5 Format OA untuk SMS Deliver PDU

Octet Keterangan Nilai

Len Panjang nomor Originator Address 0D

type of number

type dari Originator Address

91 81h=lokal format

91h=internasional format BCD Digits

Nomor Originator Adress. Jika panjangnya ganjil, pada akhir karakter ditambahkan 0F

hexa

(22)

Berikut ini contoh format penulisan OA:

Tabel 2.6 Format Penulisan OA

Nomor OA Format dalam PDU

ABCDEFGHIJKLMNOPQRST 14 81 BA BC FE HG JI LK NM PQ RQ ST

+ABCDEFGHIJKL 0C 91 BA DC FE HG JI LK

3. Protocol Indentifier (PID)

Nilai default dari PID adalah 0 = “Standard-Text SMS”. Nilai PID di atas adalah 00.

4. Data Coding Scheme (DCS)

DCS di atas bernilai 00 juga menentukan kelas pesan seperti pada tabel di bawah ini.

Hal yang perlu diperhatikan di sini, pada beberapa pesan handphone

dengan kelas 0 dengan enkoding 7 bit berupa flash SMS. Sedangkan dengan enkoding 1 bit Unicode (ucs2), pesan yang didahului “0001” dengan class 0 berupa blinking flash SMS.

Tabel 2.7 Format Penulisan DCS

Nilai (hexa) Character Coding Kelas pesan

0 default (7bit) no class

F0 default (7bit) class 0 (immediate display) F1 default (7bit) class 1 (Mobile Equipment specific) F2 default (7bit) class 2 ( SIM specific message) F3 default (7bit) class 3 (Terminate Equipment specific)

F4 8 bit class 0 (immediate display)

F5 8 bit class 1 (Mobile Equipment specific) F6 8 bit class 2 ( SIM specific message) F7 8 bit class 3 (Terminate Equipment specific)

(23)

5. Validity Period (VP)

Pada contoh di atas, VP adalah AA, atau 170d, 170-166 = 4hari.

Tabel 2.8 Perhitungan Nilai VP

Nilai VP Nilai vailiditas periode

0 - 143 (VP +1 ) * 5 menit (interval 5 menit hingga 12 jam) 144 - 167 12 jam + ((TP - VP - 143) * 30 menit)

168 - 196 (VP - 166) * 1 hari 197 - 255 (VP - 192) *1 minggu

6. User Data Length (UDL)

Pada contoh di atas, UDL adalah 09.

7. User Data

Pesan “Hello” yang konversinya mengacu pada tabel alfabet 7 bit default alphabet pada Tabel 2.13 menghasilkan bit yang masih bernilai septet sehingga harus di-enkode menjadi 8 bit (oktet), yaitu “C8329BFD06” dalam nilai heksadesimal untuk SMS-Deliver. Pada tiap oktet jika jumlah bit kurang dari 8, maka diambil bit paling kanan pada septet selanjutnya dan ditambahkan pada bagian kiri septet sebelummya. Tabel di bawah ini mengikuti cara pendekodean dengan menggunakan bantuan Tabel 2.9

Tabel 2.9 Pendekodean 8 bit (Octet) menjadi 7 bit (Septet)

Nilai (hexa) Oktet (8bit) Septet (7 bit) Karakter

C8 1 1001000 1001000 H

32 00 110010 110010 1 e

9B 100 11011 11011 00 l

FD 1111 1101 1101 100 l

(24)

b1…b7 menunjukkan posisi bit pada septet seperti yang digambarkan pada tabel di bawah ini.

b7 b6 b5 b4 b3 b2 b1

xa xb xc xd xe xf xg

Tabel 2.10 Posisi b1 …. b 7 pada septet

Susunan bit dari 1 karakter pada 1 oktet adalah sebagai berikut:

Tabel 2.11 Susunan 1 Bit Oktet

Bit

Octet 7 6 5 4 3 2 1 0

1 0 1a 1b 1c 1d 1e 1f 1g

Sedangkan susunan bit dari 2 karakter pada 2 oktet adalah sebagai berikut:

Tabel 2.12 Susunan 2 Bit Oktet

Bit

Octet 7 6 5 4 3 2 1 0

1 2g 1a 1b 1c 1d 1e 1f 1g

2 0 0 2a 2b 2c 2d 2e 2f

Proses di atas terus berlangsung sehingga pada 140 oktet dapat menampung (140x8)/7 = 160 karakter.

(25)

Tabel 2.13 Tabel default alphabet 7 bit (septet).

2.2.4.2 SMS Submit PDU

SMS Submit PDU adalah pesan yang dikirim dari terminal ke SMSC dalam format PDU.

Gambar 2.13 Skema format SMS PDU

SCA

(26)

Contoh format SMS Submit PDU adalah:

0011000D91261863512088F50000AA05C8329BFD06

Penjelasannya sebagai berikut:

1. Service Center Address (SCA)

SCA memiliki tiga komponen, yaitu length, type of number dan BCD Digits. Tabel 2.14 Format SCA pada SMS Deliver PDU

Octet Keterangan Nilai

Length Panjang informasi SMSC dalam octet 00

type of number

Jenis alamat dari SMSC

<none> 81h=lokal format

91h=internasional format

BCD Digits Nomor SMSC. Jika panjangnya ganjil, pada

akhir karakter ditambahkan 0F hexa <none>

2. Protocol Data Unit (PDU) Type

Nilai default dari PDU untuk SMS-Submit adalah 11h yang memiliki arti:

Tabel 2.15 Skema Format PDU untuk SMS-Submit

Bit no 7 6 5 4 3 2 1 0

Nama RP UDHI SRR VPF VPF RD MTI MTI

Nilai 0 0 0 1 0 0 0 1

3. Message reference (MR)

Pada contoh di atas, MR adalah 00.

4. Destination Address (DA)

(27)

Tabel 2.16 Format DA untuk SMS Submit PDU

Octet Keterangan Nilai

Len Panjang nomor Originator Address 0D

type of number

type dari Originator Address

91 81h=lokal format

91h=internasional format

BCD Digits Nomor ganjil, pada akhir karakter ditambahkan 0F Originator Adress. Jika panjangnya hexa

261863512088F5

5. Protocol Identifier (PID)

Pada contoh di atas, PID adalah 00.

6. Data Coding Scheme (DCS)

Pada contoh di atas, DCS adalah 00.

7. Validity Period (VP)

Pada contoh di atas, VP adalah AA, atau 170d, 170-166 = 4 hari yang menggunakan perhitungan seperti pada Tabel 3.7

8. User Data Length (UDL)

Pada contoh di atas, UDl adalah 09.

9. User Data (UD)

Pesan “Hello” dikodekan 7 bit default alphabet (septet) sehingga harus di-enkode menjadi 8 bit (octet), yaitu “C8329BFD06” untuk SMS-Submit. Pada tiap oktet jika jumlah bit kurang dari 8, maka diambil bit paling kanan pada septet selanjutnya dan ditambahkan pada bagian kiri septet sebelumnya mengikuti kaidah pada Tabel 2.11 dan Tabel 2.12. Cara pengkodean nya sama seperti yang telah diuraikan pada Tabel 2.9.

(28)

2.2.5 AT Command

Perintah AT (AT Command) digunakan untuk berkomunikasi dengan terminal melalui serial port pada computer. Dengan menggunakan perintah AT, kita dapat mengetahui kekuatan sinyal dari terminal, mengirim pesan, menambahkan item pada buku alamat, mematikan terminal dan banyak fungsi lainnya. Setiap vendor biasanya memberikan referensi tentang daftar perintah AT yang tersedia. Ada beberapa untuk aturan memasukkan/menggunakan perintah AT sebagai berikut:

Semua perintah (kecuali A / dan + + +) AT dimulai dengan atau at. Perintah dalam command string (keculai A / dan + + +) enter dieksekusi hanya setelah tombol ditekan.

Gunakan semua karakter dengan huruf kecil atau besar, tidak gabung keduanya. Jumlah karakter maksimum yang terdapat di command string 128. Beberapa perintah dapat digabungkan yang dalam satu baris perintah oleh dipisahkan titik koma.

Jika tidak terdapat pada sebuah basic parameter command, maka pada sebuah ditambahkan nol perintah (ATH menjadi contoh ATH0).

Perintah yang diawali dengan huruf bukan AT diabaikan Ctrl-X dapat digunakan untuk membatalkan suatu perintah.

Beberapa jenis perintah perintah AT yang umum digunakan adalah sebagai berikut:

1. Mengecek apakah handphone sudah terkoneksi dengan komputer

Sintaks :

AT<enter> Respon :

OK : menunjukkan sudah terhubung ERROR : menunjukkan ada kesalahan dalam

(29)

2. Mengetahui nama vendor terminal Sintaks : AT+CGMI<enter> Respon : Merk Handphone OK

3. Menentukan mode format

Sintaks :

AT+CMGF=<Mode><enter> Format Mode:

Mode 0 : Mode PDU

Mode 1 : Mode Teks

Respon :

OK

4. Menyimpan pesan ke kartu SIM

Sintaks ;

AT+CMGW=<Nomor Handphone Tujuan><enter> >*pesan <CTRL+Z> Respon : OK 5. Mengirim pesan Sintaks : AT+CMGS=<panjang PDU><enter> >*pesan Respon : OK

(30)

6. Membaca pesan Sintaks : AT+CMGR=<INDEX><enter> Respon : +CMGR:<Status>,<Isi Pesan> OK 7. Menghapus pesan Sintaks : AT+CMGD=<Index><enter> Respon : OK

8. Membaca pesan untuk beberapa kategori pesan secara langsung

Sintaks:

AT+CMGL=<Index> Respon :

+CMGL: <Index> Indeks pada AT+CMGL=

0 = Membaca pesan yang belum pernah dibaca 1 = Membaca pesan yang sudah dibaca

2 = Membaca pesan yang tidak dikirim 3 = Membaca pesan yang sudah dikirim. 4 = Membaca semua pesan

Gambar

Gambar 2.1 Blok Diagram ATMega16
Gambar 2.2 Konfigurasi Pin ATMega16
Gambar 2.3 Arsitektur Mikrokontroler ATMega16
Gambar 2.5 Peta Memori Data ATMega16
+7

Referensi

Dokumen terkait

• Bahwa saksi mengetahui pemohon dan termohon adalah suami istri yang telah menikah sekitar bulan Desember 2006 di Kabupaten Lombok Barat karena saksi turut

Dengan adanya standar ini, maka klasifikasi, persyaratan dan penandaan yang terdapat pada standar tersebut di atas sudah tidak berlaku lagi.. Standar ini disusun oleh Panitia

Undang-Undang Nomor 39 Tahun 1999 tentang Hak Asasi Manusia Undang-Undang Nomor 24 Tahun 1992 tentang Penataan Ruang Undang-Undang Nomor 26 Tahun 2007 tentang Penataan Ruang

Kegiatan Pengabdian ini memiliki tujuan: meningkatkan keterampilan peserta dalam hal pemilihan vocabulary yang tepat, penyusunan kalimat yang sopan serta etika berkomunikasi

Dalam studi manajemen, kehadiran konflik pendidikan tidak bisa terlepas dari permasalahan keseharian yang dirasakan oleh pengelola lembaga pendidikan. Konflik tersebut

Penelitian ini menggunakan desain eksperimen semu (quasi experiment) dengan metode Posstest-Only Control Design. Dalam rancangan ini sampel dibagi menjadi dua kelompok

Tujuan dari perencanaan ini adalah untuk mendapatkan lokasi intake terbaik dari rambatan salinitas air asin yang masuk ke badan air Sungai Jawi agar dapat dimanfaatkan

Pada penelitian ini terlihat bahwa PUFA n-3 pada ikan tuna loin segar dan tuna loin pemberian FS selama penyimpanan 4 minggu didominasi oleh DHA dan EPA yang berada pada