Jbptunikompp GDL s1 2007 Dimerjuand 5862 Bab II

Unduh sebagai doc, pdf, atau txt
Unduh sebagai doc, pdf, atau txt
Anda di halaman 1dari 67

BAB II

LANDASAN TEORI

2.1 Mikrokontroler dan Mikroprosesor

Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan

mikrokomputer, yang hadir memenuhi kebutuhan pasar (marked need) dan

teknologi baru.Sebagai teknologi baru, yaitu teknologi semikonduktor dengan

kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil

serta dapat diproduksi secara massal (dalam jumlah banyak) membuat harganya

dapat menjadi lebhi murah (dibandingkan denga mikroprosesor). Sebagai

kebutuhan pasar,mikrokontroler hadir untuk memenuhi kebutuhan industri dan

para konsumen akan kebutuhan dan keinginan alat-alat bantu bahkan mainan yang

lebih baik dan canggih.

Sebagai ilustrasi yang mungkin biasa memberikan gambaran yang jelas

dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena

permainan yang saat ini cukup terkenal di Indonesia.Saat selesai bermain, maka

akan diberikan suatu nilai, nilai inilah yang menetukan beberapa jumlah tiket yang

bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam

hadiah. Sistem ini ditangani dengan mikrokontroler, karena tidak mungkin

menggunakan computer PC yang harus dipasang langsung pada mesin permainan

yang bersangkutan.

Jadi Mikrokontroler adalah central processing unit (CPU) yang disertai

memori serta sarana input/output dan dibuat dalam bentuk chip.

9
10

Perlu membedakan antara mikroprosesor dengan mikrokontroler. Suatu

mikroprosesor adalah bagian CPU (Central Processing Unit) dari sebuah

komputer, tanpa I/O, dan peripheral yang dibutuhkan oleh suatu sistem lengkap.

Untuk dapat bekerja, mikroprosesor membutuhkan perangkat pendukung yang

dapat membantu dalam kinerjanya yaitu berupa RAM (Random Access Memory),

ROM (Read Only Memory), dan I/O (Input/Output).

Bila sebuah mikroprosesor dikombinasikan dengan I/O dan memori

(RAM/ROM), maka akan dihasilkan sebuah mikrokontroler. Kenyataannya

mengkombinasikan CPU dengan memori I/O dapat juga dilakukan dalam suatu

Chip, yang menghasilkan Single Chip Microcomputer (SCM), Single Chip

Microcomputer inilah yang sekarang disebut dengan Mikrokontroler[1].

2.1.1 Mikrokontroler AT89C51.

Mikrokontroler AT89C51 merupakan salah satu keluarga dari MCS51

keluaran dari Atmel.

1. Memiliki satu buah Central Processing Unit 8 bit.

2. Memiliki Internal Oscillator dan Timing Circuit,

3. Memiliki Internal RAM sebesar 128 byte,

4. Memiliki 4 Kbyte sistem Flash Memory,

5. Memiliki lima buah jalur interupsi (dua buah interupsi eksternal

dan tiga buah interupsi internal).

6. Memiliki 4 buah port I/O yang masing-masing terdiri dari delapan

jalur I/O.
11

7. Memiliki satu buah port serial dengan kontrol serial full duplex

UART.

8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi

logika.

9. kecepatan dalam melaksanakan intruksi per siklus 1 mikrodetik

pada frekuensi 12 MHz.

Berikut ini pada gambar 2.1 merupakan blok diagram fungsional dari

mikrokontroler AT89C51 :

Gambar II.1 Blok Diagram AT89C51

2.1.2 Pin Mikrokontroler AT89C51

Susunan pin Mikrokontroler AT89C51 diperlihatkan pada gambar 2.2 di

bawah ini:
12

Gambar II.2 Susunan Pin AT89C51

Penjelasan dari masing-masing pin adalah sebagai berikut:

1) Port 0 merupakan (pin 32 sampai dengan 39) adalah port paralel 8-bit dua

arah.Posisi Low Significant Bit (LSB) terletak pada pin 39 dan Most

Significant Bit (MSB) terletak pada pin 32.

2) Port 1 (pin 1 sampai dengan 8) adalah port paralel 8-bit dua arah. Posisi

Low Significant Bit (LSB) terletak pada pin 1 dan Most Significant Bit

(MSB) terletak pada pin 8.

3) Port 2 (pin 21 sampai dengan 28) adalah port paralel 8-bit dua arah.Port

ini mengirim byte alamat-alamat bila dilakukan pengaksesan memori

eksternal.Posisi Low Significant Bit (LSB) terletak pada pin 21 dan Most

Significant Bit (MSB) terletak pada pin 28.

4) Port 3 (pin 10 sampai dengan 17) adalah port paralel 8-bit dua arah.Posisi

Low Significant Bit (LSB) terletak pada pin 10 dan Most Significant Bit

(MSB) terletak pada pin 17 Port ini mempunyai beberapa fungsi khusus

yaitu
13

a. P3.0 sebagai pin RxD, yaitu pin input data

serial (Serial Data Receiver) untuk komunikasi serial,

b. P3.1 sebagai pin TxD, yaitu pin output data

serial (Serial Data Transmitter) untuk komunikasi serial,

c. P3.2 (INT0), input interupsi eksternal 0,

d. P3.3 (INT1), input interupsi eksternal 1,

e. P3.4 (T0), input eksternal untuk timer 0 atau

counter 0,

f. P3.5 (TI), input eksternal untuk timer 1 atau

counter 1,

g. P3.6 WR, perintah write pada memori

eksternal

h. P3.7 RD, perintah read pada memori

eksternal:

5) RST (reset) pada kondisi high akan aktif selama dua siklus.

6) Pin 30 (ALE/PROG) digunakan untuk menahan alamat memori eksternal

selama pelaksanaan intruksi.

7) Pin 29 PSEN (Program Store Enable) merupakan strobe pembacaan

memori eksternal.

8) Pin 31 (EA/Vpp). Saat kondisi low maka mikrokontroler menjalankan

intruksi-intruksi yang ada pada memori internal.

9) Pin 19 (XTAL1) sebagai masukkan dari rangkaian osilator.

10) Pin 18 (XTAL2) sebagai keluaran dari rangkaian osilator.


14

11) Pin 40 (Vcc) yang digunakan sebagai catu daya.

12) Pin 20 (GND) digunakan sebagai ground.

Mikrokontroler AT89C51 mempunyai 40 kaki, 32 kaki diantaranya

digunakan sebagai port paralel. Satu port paralel terdiri dari 8 kaki, dengan

demikian 32 kaki tersebut membentuk 4 buah port paralel, yaitu port 0, port 1,

port 2 dan port 3.

a) Port 0.

Port 0 merupakan port keluaran/masukan (I/O) bertipe open drain

bidirectional. Sebagai port keluaran, masing-masing kaki dapat

menyerapo arus (sink) delapan masukkan TTL (sekitar 3,8 mA). Pada saat

‘1’ dituliskan pada kaki-kaki Port 0 ini, maka kaki-kaki Port 0 dapt

digunakan sebagai masukkan-masukan berimpedansi tinggi.

Port 0 dapat juga dikonfigurasikan sebagai bus alamat/data bagian rendah

(low byte) selama proses pengaksesan memori data dan program

eksternal.Jika digunakan dalam mode ini Port 0 memiliki pullup internal

(tapi lemah).

Port 0 juga menerima kode-kode yang dikirimkan kepadanya selama

proses pengisian program dan mengeluarkan kode-kode selama proses

verifikasi program yang telah tersimpan dalam flash. Dalam hal ini

dibutuhkan pullup eksternal selama proses verifikasi program.

b). Port 1
15

Port 1 merupakan port I/O dwi-arah yang dilengkapi dengan pull-up

internal. Penyangga keluaran Port 1 mampu memberikan atau menyerap

arus empat masukan TTL (sekitar 1,6 mA).

Jika ‘1’ dituliskan pada kaki-kaki port1, maka masing-masing kaki akan

di-pull-high dengan pull-up internal sehingga dapat digunakan sebagai

masukan. Sebagai masukan, jika kaki-kaki port 1 dihubungkan ke ground

(di-Pulled Low), maka masing-masing kaki akan memberikan arus

(source) karena di-pulled high secara internal. Port 1 juga menerima

alamat bagian rendah (low-byte) selama pengisian program dan verifikasi

Flash.

c) Port 2

Port 2 merupakan port I/O dwi-arah yang dilengkapi dengan pull-up

internal. Penyangga keluaran Port 2 mampu memberikan atau menyerap

arus empat masukan TTL (sekitar 1,6 mA).

Jika ‘1’ dituliskan pada kaki-kaki port 2, maka masing-masing kaki akan

di-pull-high dengan pull-up internal sehingga dapat digunakan sebagai

masukan. Sebagai masukan, jika kaki-kaki port 2 dihubungkan ke ground

(di-Pulled Low), maka masing-masing kaki akan memberikan arus

(source) karena di-pulled high secara internal.

Port 2 akan memberikan byte alamt bagian tinggi (high byte) selama

pengambilan intruksi dari memori program eksternal dan selama

pengaksesan memori data eksternal yang menggunakan perintah dengan

alamat 16-bit (misalnya : MOVX @DPTR). Dalam aplikasi ini, jika


16

ingin mengirimkan ‘1’, maka digunakan pullup internal yang sudah

disediakan.Selama pengaksesan memori data eksternal menggunakan

perintah dengan alamat 8-bit (misalnya : MOVX@Ri),Port 2 akan

mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi

selama pemrograman dari dan verifikasi flash.

d) Port 3

Port 3 merupakan port I/O dwi-arah dengan dilengkapi pullup internal.

Penyangga keluaran port 3 mampu memberikan atau menyerap arus empat

masukan TTL (sekitar 1,6 mA).

Jika ‘1’ dituliskan ke kaki-kaki port 3, maka masing-masing kaki akan di

pull high dengan pull-up internal sehingga dapat digunakan sebagai

masukan. Sebagai masukan, jika kaki-kaki port 3 dihubungkan ke ground

(di-pull low), maka masing-masing kaki akan memberikan arus (source)

karena di-pulled high secara internal.

2.2 Sensor Resistan Air

Pada tempat-tempat penampungan air seringkali diperlukan suatu

mekanisme untuk mengetahui ketinggian permukaan air. Seringkali mekanisme

tersebut masih berupa cara-cara manual, semisal dengan melihat dan melakukan

pengukuran langsung pada tempat penampungan air tersebut. Mungkin cara

tersebut merupakan cara yang paling sederhana dan gampang, tetapi akan sedikit

sulit jika misalnya letak penampungan air tersebut sulit dijangkau manusia,
17

misalnya diatas atap bangunan atau jika malam hari dan penerangan sekitar

penampungan tersebut kurang. Sehingga kadang-kadang diperlukan suatu

mekanisme pengukur ketinggian permukaan air secara otomatis, salah satunya

dengan membuat semacam sensor pengukur ketinggian air. Sensor ini kemudian

dipasangkan pada penampung air teresebut. Tampilan untuk melihat hasil

pengukuran sensor tersebut tidak perlu dekat dengan sensor, dapat ditempatkan di

tempat lain sesuai kebutuhan, sehingga hasil pengukuran dapat dilihat setiap saat

dengan mudah. Sensor pengukur jarak ketinggian air yang digunakan adalah

modul sensor Resistant Air, yaitu modul sensor pendeteksi benda dengan

menggunakan sumber tegangan. Modul ini menggunakan rangkaian sensor yang

telah berbentuk modul jadi siap pakai, dengan cara penggunaan yang relatif

mudah dan mempunyai ukuran yang sederhabna, sehingga dapat menghemat

tempat dan praktis untuk digunakan. Salah satu bentuk aplikasi dari modul sensor

ini adalah sebagai modul sensor pengukur jarak ketinggian air.

Oleh karena itu dirancanglah sebuah sistem yang dapat mengukur

ketinggian air dan diolah menjadi data. Adapun prosesnya adalah sebagai berikut,

mengukur ketinggian air dengan sensor ketinggian air.

Dan hasil pengukuran oleh sensor,data dari sensor tersebut masih berupa

tagangan DC yang akan diubah kedigital oleh pengubah tegangan analog ke digita

(ADC)l. Lalu kemudian, data yang berupa digital yang telah ada akan

dikirimkan melalui system SMS dari HP1. Kemudian penerima atau HP2 akan

menerima data yang diterima dan menghubungkannya ke personal computer

untuk menampilkan hasil data yang diterima yaitu berupa informasi.


18

2.3 Set Instruksi dan Pemrograman Assembly MCS51

Operan dalam pemrograman mikrokontroler adalah data yang tesimpan di

dalam memori, register dan input/output (I/O). Instruksi yang dikenal secara

umum dikelompokkan menjadi beberapa kelompok yaitu instruksi untuk

pemindahan data, aritmetika, operasi logika, pengaturan aliran program, dan

beberapa hal khusus. Kombinasi dari instruksi dan operan itulah yang membentuk

instruksi pengatur kerja mikrokontroler.

2.3.1 Mode Pengalamatan

Data atau operan bisa berada di tempat yang berbeda sehingga dikenal

beberapa cara untuk mengakses data atau operan tersebut yang dinamakan sebagai

mode pengalamatan (addressing mode) antara lain yaitu:

1. Mode Pengalamatan Segera (Immediate Addressing Mode)

Cara ini menggunakan konstanta, misalnya: MOV A, #20h. Data konstan

merupakan data yang menyatu dengan instruksi, contoh instruksi tersebut

di atas mempunyai arti bahwa data konstantanya, yaitu 20h. Yang perlu

diperhatikan dalam instruksi ini adalah bilangan 20h merupakan bagian

dari instruksi (menjadi satu dengan op-kode instruksi).

2. Mode Pengalamatan Langsung (Direct Addressing Mode)

Cara ini dipakai untuk menunjuk data yang berada di suatu lokasi memori

dengan cara menyebutkan lokasi (alamat) memori tempat data tersebut

berada, misalnya: MOV A, 30h.


19

3. Mode Pengalamatan Tidak Langsung (Indirect Addressing Mode)

Cara ini dipakai untuk mengakses data yang berada di dalam memori,

tetapi lokasi memori tidak disebut secara langsung tapi di-‘titip’-kan ke

register lain, misalnya: MOV A, @R0.

4. Mode Pengalamatan Register (Register Addressing Mode)

Misalnya: MOVA,R5, instruksi ini mempunyai arti bahwa data dalam

register serbaguna R5 disalin ke Akumulator A. Instruksi ini menjadikan

register serbaguna R0 sampai R7 dapat digunakan sebagai tempat

penyimpan data yang praktis dan kerjanya sangat cepat.

5. Mode Pengalamatan Kode Tidak Langsung (Code Indirect Addressing

Mode)

Untuk keperluan tersebut, MCS51 mempunyai cara penyebutan data

dalam memori program yang dilakukan secara tidak langsung, misalnya:

MOVC A, A+@DPTR. Dalam instruksi ini instruksi MOV diganti

dengan MOVC, tambahan huruf ‘C’ tersebut dimaksudkan untuk

membedakan bahwa instruksi ini digunakan untuk memori program.

Tanda ‘@’ digunakan untuk menandai A+DPTR yang berfungsi untuk

menyatakan lokasi memori yang isinya disalin ke Akumulator A, dalam

hal ini nilai yang tersimpan dalam DPTR (Data Pointer Register – 2 Byte)

ditambah dengan nilai yang tersimpan dalam Akumulator A (1 byte) sama

dengan lokasi memori program yang diakses.


20

2.3.2 Set Instruksi

Secara keseluruhan MCS51 mempunyai 255 macam instruksi, yang

dibentuk dengan mengkombinasikan dan operan. Instruksi tersebut

dikelompokkan sebagai berikut:

1. Kelompok Penyalin Data

Instruksi dasar untuk kelompok ini adalah MOV, singkatan dari Move yang

artinya memindahkan, meskipun demikian lebih tepat dikatakan instruksi ini

mempunyai arti menyalin data. Instruksi MOV dibedakan sesuai dengan

jenis memori MCS51, instruksi ini pada memori data dituliskan menjadi

MOVC. Selain itu, masih dikenal pula instruksi MOVX, yaitu instruksi yang

dipakai untuk mengakses memori data eksternal.

2. Kelompok Instruksi Aritmetika

Instruksi-instruksi dalam kelompok Aritmetika ini selalu melibatkan

Akumulator, hanya beberapa yang juga melibatkan register lainnya (DPTR

dan lain-lain). Berikut instruksi yang termasuk dalam kelompok ini:

a) Instruksi ADD dan ADDC

b) Instruksi SUBB

c) Instruksi DA A

d) Instruksi MUL AB

e) Instruksi DIV AB

f) Instruksi DEC dan INC


21

g) Intruksi INC DPTR

3. Kelompok Instruksi Logika

Kelompok instruksi ini dipakai untuk melakukan operasi logika, yaitu

operasi AND (instruksi ANL), operasi OR (instruksi ORL), operasi

Exclusive OR (XRL), operasi Clear (instruksi CLR), instruksi negasi atau

komplemen (instruksi CPL), operasi penggeseran kanan dan kiri (instruksi

RR, RRC, RL, dan RLC) serta operasi penukaran data (instruksi SWAP).

Data yang dipakai dalam operasi ini bisa berupa data yang berada dalam

Akumulator atau data yang berada dalam memori data, hal ini sedikit

berlainan dengan operasi aritmetika yang harus melibatkan Akumulator

secara aktif.

2.3.3 Aliran Program MCS51

Secara umum kelompok instruksi yang dipakai untuk mengatur program

terdiri atas instruksi-instruksi JUMP (setara dengan GOTO dalam Pascal),

instruksi-instruksi untuk membuat dan memakai sub-rutin/modul (setara dengan

PROCEDURE dalam Pascal) dan instruksi-instruksi JUMP bersyarat (Conditional

Jump, setara dengan pernyataan IF ... THEN dalam Pascal). Selain itu dikenal

pula instruksi PUSH dan POP yang dikerjakan secara langsung karena instruksi

pemanggilan sub-rutin (CALLI, ACALL) dan kembali ke sub-rutin.

Karena Program Counter adalah satu-satunya register dalam

mikrokontroler yang mengatur aliran program, maka kelompok instruksi pengatur

aliran program tersebut, semuanya ini dijalankan, isi Program Counter bisa pula
22

berubah karena pengaruh perangkat keras, yaitu saat mikrokontroler di-reset atau

menerima sinyal interupsi dari perangkat input/output. Dengan demikian, maka

aliran program MCS51 memiliki beberapa kelompok instruksi, yaitu:

1. Kelompok Instruksi JUMP

Mikrokontroler menjalankan instruksi demi instruksi, selesai menjalankan

satu instruksi mikrokontroler langsung menjalankan instruksi berikutnya, hal

ini dilakukan dengan cara menaikkan isi Program Counter, dengan

demikian pada saat instruksi bersangkutan dijalankan Program Counter

selalu menyimpan lokasi dari memori program yang menyimpan instruksi

berikutnya.

Pada saat mikrokontroler menjalankan kelompok instruksi JUMP, nilai

Program Counter yang runtun sesuai dengan aliran program diganti dengan

lokasi memori program baru yang dikehendaki pemrogram. Sedangkan isi

lokasi berikutnya disimpan terlebih dahulu ke Stack (PUSH) secara tidak

langsung.

Mikrokontroler MCS51 mempunyai 2 macam instruksi JUMP, yaitu:

a) LJMP (Long Jump)

b) AJMP (Absolute Jump)

c) SJMP (Short Jump)

Kerja dari ketiga instruksi ini persis sama, yakni memberi nilai baru pada

Program Counter, kecepatan melaksanakan ketiga instruksi ini juga persis

sama, yakni 2 periode instruksi (jika MCS51 bekerja pada frekuensi 12

MHz, maka instruksi ini dijalankan dalam waktu 2 mikro-detik), yang


23

berbeda adalah dalam ukuran instruksinya, instruksi LJMP ukurannya 3

byte, sedangkan instruksi AJMP dan SJMP hanya 2 byte.

2. Kelompok Instruksi Sub-Rutin

Instruksi-instruksi yang melibatkan penggunaan sub-rutin program. Selain

melibatkan Program Counter, juga melibatkan Stack yang diatur oleh

penunjuk Register Stack.

Sub-rutin merupakan sekumpulan instruksi yang karena berbagai

pertimbangan dipisahkan dari program utama. Bagian-bagian di program

utama akan ‘memanggil’ (CALL) sub-rutin, artinya mikrokontroler

sementara meninggalkan aliran program utama untuk mengerjakan instruksi-

instruksi dalam sub-rutin, selesai mengerjakan sub-rutin mikrokontroler

kembali ke aliran utama.

Satu-satunya cara kembali ke program dari eksekusi sub-rutin adalah

menggunakan RET pada akhir sub-rutin. Sedangkan untuk memanggil sub-

rutin digunakan instruksi ACALL atau LCALL.

Agar nantinya mikrokontroler bisa meneruskan kembali aliran program

utama, pada saat menjalankan instruksi ACALL dan LCALL, sebelumnya

isi Program Counter saat itu disimpan dulu ke dalam Stack (Stack adalah

sebagian kecil dari memori data yang dipakai untuk menyimpan nilai

Program Counter secara otomatis, kerja dari Stack dikendalikan oleh

Register Stack Pointer. Selanjutnya mikrokontroler mengerjakan instruksi-

instruksi di dalam sub-rutin sampai menjumpai instruksi RET yang

berfungsi sebagai penutup sub-rutin.


24

Saat menerima instruksi RET, nilai asal Program Counter sebelum

mengerjakan sub-rutin yang telah disimpan di dalam Stack, dikembalikan

lagi ke Program Counter sehingga mikrokontroler bisa meneruskan

pekerjaan di alur program utama.

Instruksi ACALL dipakai untuk me-‘manggil’ program sub-rutin dalam

daerah memori program 2 KiloByte yang sama, setara dengan instruksi

AJMP yang sudah dibahas sebelumnya. Sedangkan instruksi LCALL setara

dengan instuksi LJMP, yang bisa menjangkau seluruh memori program

mikrokontroler MCS51, sebanyak 64 KiloByte (tapi tidak ada instruksi

SCALL yang setara dengan LJMP). Program untuk AT89C51 tidak perlu

memakai instruksi LCALL.

Selain instruksi RET yang dipakai untuk mengakhiri program sub-rutin, itu

masih ada pula instruksi RETI, yakni instruksi yang dipakai untuk

mengakhiri rutin layanan interupsi (Interrupt Service Routine), yaitu

semacam program sub-rutin yang dijalankan mikrokontroler pada saat

mikokontroler menerima sinyal permintaan interupsi.

3. Kelompok Instruksi Lompatan Bersyarat

Instruksi Jump bersyarat merupakan instruksi inti bagi mikrokontroler tanpa

kelompok instruksi ini program yang ditulis tidak banyak berarti. Instruksi-

instruksi ini selain melibatkan Program Counter, juga melibatkan kondisi-

kondisi tertentu yang biasanya dicatat dalam bit-bit khusus yang terhimpun

dalam register tertentu.


25

Khusus untuk keluarga mikrokontroler MCS51 yang mempunyai

kemampuan menangani operasi dalam level bit, instruksi lompat bersyarat

dalam MCS51 dikaitkan pula dengan kemampuan operasi bit MCS51.

Lokasi memori-program baru yang harus dituju tidak dinyatakan dengan

lokasi memori-program yang sesungguhnya, tapi dinyatakan dengan

‘Penggeseran Relatif’ terhadap nilai Program Counter saat instruksi ini

dilaksanakan. Cara ini dipakai pula untuk instruksi SJMP.

Instruksi-instruksi yang termasuk dalam kelompok instruksi lompatan

bersyarat, yaitu:

a) Instruksi JZ (Jump if Zero) dan JNZ (Jump if Not Zero)

b) Instruksi JC (Jump on Carry) dan JNC (Jump on Not Zero)

c) Instruksi JB (Jump in Bit Set), JNB (Jump on Not Bit Set), dan JBC

(Jump on Bit Set then Clear Bit)

4. Kelompok Instruksi Proses dan Tes

Instruksi-instruksi Jump bersyarat dibahas sebelumnya, memantau kondisi

yang sudah terjadi yang dicatat MCS51. Ada dua instruksi yang melakukan

terlebih dahulu suatu proses, kemudian memantau hasil proses untuk

menentukan pakah harus lompat atau tidak. Kedua instruksi yang dimaksud

adalah DJNZ dan instruksi CJNE.

a) Instruksi DJNZ

Instruksi DJNZ (Decrement and Jump if Not Zero) merupakan instruksi

yang akan mengurangi 1 nilai register serbaguna (R0 ..R7) atau memori-
26

data dan akan lompat ke memori program yang dituju jika ternyata

setelah pengurangan 1 tersebut hasilnya nol.

b) Instruksi CJNE

Instruksi CJNE (Compare and Jump if Not Equal) membandingkan dua

nilai yang disebut dan MCS dalam lompat ke memori program yang

dituju kalau kedua nilai tersebut tidak sama.

2.3.4 Pemrograman Bahasa Assembly

Bahasa Assembly menggantikan kode-kode biner dari bahasa mesin

dengan “Mnemonik” yang mudah diingat, misalnya sebuah instruksi penambahan

dalam bahasa mesin disajikan dengan kode “10110011” yang dalam bahasa

Assembly dapat disajikan dalam bentuk Mnemonic ADD, sehingga mudah diingat

dibanding sederetan angka nol dan satu.

Tidak hanya itu, perintah penambahan membutuhkan suatu operan baik

berupa data langsung maupun suatu lokasi memori yang menyimpan data

tersebut. Dengan demikian kode untuk ADD bisa berbeda-beda tergantung

kebutuhan atau jenis operannya. Instruksi lainnya rata-rata juga membutuhkan

operan dalam bentuk yang berbeda. Bagian ini ada baiknya diawali dengan

beberapa definisi:

Program Bahasa Assembly adalah sebuah program yang terdiri atas label-

label, mnemonic dan lain sebagainya. Masing-masing pernyataan berhubungan

dengan suatu instruksi mesin. Bahasa Assembly, sering juga disebut kode sumber
27

(Source Code) atau kode simbolik (Symbolic Code) tidak dapat dijalankan oleh

prosesor.

Program bahasa mesin adalah sebuah program yang mengandung kode-

kode biner yang merupakan instruksi-instruksi yang bisa dipahami prosesor.

Program bahasa mesin, sering kali disebut sebagai kode objek karena dapat

dijalankan oleh prosesor.

Assembler adalah program yang dapat menerjemahkan program bahasa

Assembly ke program bahasa mesin. Program dalam bahasa mesin ini dapat

berbentuk “absolute” atau “relocatable”. Berikutnya dilakukan “Linking” untuk

mengatur alamat absolute agar program dapat dijalankan oleh prosesor yang

bersangkutan.

Linker adalah program yang dapat menggabungkan program-program

objek relocatable (modul-modul) dan menghasilkan suatu program objek absolute

yang dapat dijalankan oleh prosesor.

Segmen adalah suatu unit memori kode atau data. Sebuah segmen dapat

direlokasi (relocatable) memiliki nama, tipe, dan atribut-atribut lain yang

membolehkan linker untuk menggabungkan dengan bagian-bagian segmen yang

lain, jika dibutuhkan, juga akan menempatkan segmen dengan benar. Sedangkan

absolut tidak memiliki nama dan tidak bisa digabung dengan segmen lain.

Program merupakan modul absolut tunggal, menyatakan semua segmen

absolut dan relocatable dari modul-modul yang terlibat. Sebuah program hanya

mengandung kode-kode biner instruksi-instruksi (dengan alamat-alamat dan

konstanta-konstanta data) yang dapat dipahami komputer.


28

2.3.5 Operasi Assembler

Banyak program-program Assembler yang bisa digunakan untuk

mengembangkan aplikasi mikrokontroler MCS51. Program Assembler dari Intel

untuk mikrokontroler MCS51 adalah ASM51. ASM51 merupakan program

standar yang dipakai untuk simulasi program.

Program Assembler ASM51 dapat dijalankan pada komputer PC dengan

sistem operasi DOS atau Windows. Karena komputer yang digunakan

prosesornya bukan keluarga MCS51, maka ASM51 sering dikenal sebagai

program “Cross Assembler”. Program bisa diketik sembarang editor DOS maupun

Windows dan harus disimpan dalam format teks (bukan rtf atau sejenisnya).

Kemudian di-Assembly menggunakan ASM51 sehingga menghasilkan

berkas objek, tetapi tidak bisa dijalankan dengan komputer yang bersangkutan,

karena prosesornya bukan keluarga MCS51. Karena tidak bisa dijalankan

langsung, maka bisa kita gunakan perangkat lunak lain untuk melakukan emulasi

atau simulasi program kita.

Simulasi program MCS51 bersifat opsional, artinya boleh dilakukan

maupun tidak tergantung pada kebutuhan, jika kita yakin program MCS51 yang

dibuat bekerja sesuai dengan keinginan, maka langkah berikutnya yaitu mengubah

jadi format heksa atau biner yang siap untuk dikirim atau disimpan dalam

mikrokontroler AT89C51 melalui pemrogram (Programmer).

Pada gambar 2.4 dibawah ini merupakan proses pembuatan program

aplikasi dengan modul Tunggal dan gambar 2.5 merupakan proses pembuatan

program aplikasi Sistem Modular:


29

Program .obj OH Program .hex

Program .asm
Program .scr ASM51 Hex2Bin

Program .lst Program .bin

51 Programmer

Gambar II.4 Proses Pembuatan Program Aplikasi Modul Tunggal

Program .obj

Program .obj Link Program .hex

Program .asm
Program .scr ASM51
heksa

Program .lst
biner

Gambar II.5 Proses Pembuatan Program Aplikasi Modul Tunggal

2.3.6 Format Program Bahasa Assembly

Program bahasa Assembly berisikan:

a) Instruksi-instruksi mesin;

b) Pengarah-pengarah Assembler;

c) Kontrol-kontrol Assembler; dan


30

d) Komentar-komentar

Instruksi-instruksi merupakan mnemonik yang menyatakan suatu instruksi

yang bisa dijalankan (misalnya MOV). Pengarah Assembler (Assembler Directive)

merupakan instruksi ke program Assembler yang didefinisikan struktur program,

simbol-simbol, data, konstanta, dan lain-lain (misalnya ORG).

Kontrol-kontrol Assembler mengatur (menentukan) mode-mode

Assembler dan aliran Assembly langsung (misalnya $TITLE). Komentar perlu

dituliskan agar program mudah dibaca, tidak harus perinstruksi bisa juga

sekumpulan instruksi yang mengerjakan suatu operasi.

Baris-baris program yang mengandung instruksi mesin atau pengarah

Assembler harus mengikuti aturan program Assembler ASM51. Masing-masing

baris atas beberapa field yang dipisahkan dengan spasi tabulasi. Format umumnya

adalah: [label]: mnemonic [operasi] [, operan] [...] [; Komentar]

1) Label

Sebuah label mewakili suatu alamat dari instruksi atau data yang mengikat.

Label ini digunakan sebagai operan pada instruksi percabangan (misal: SJMP

TERUS). Simbol dan label dua hal yang berbeda. Simbol tidak menggunakan

titk dua, sedangkan label menggunakan titik dua.

Sebuah simbol atau harus diawali dengan sebuah huruf, tanda tanya atau garis

bawah kemudian diikuti dengan huruf, angka, tanda tanya, atau garis hingga

31 karakter. Kata tercadang (Reserved Word) tidak dapat digunakan sebagai

simbol maupun tabel.

2) Mnemonik
31

Mnemonik instruksi atau pengarah Assembler dimasukkan dalam “Mnemonic

Field” yang mengikuti “Label Mnemonic”. Mnemonik instruksi misalnya:

ADD, MOV, INC, dan lain-lain. Sedangkan pengarah Assembler misalnya

ORG, EQU, DB, dan lain-lain.

3) Operan

Operan ditulis setelah mnemonik, bisa berupa alamat atau data yang

digunakan instruksi yang bersangkutan. Bisa juga berupa label yang

digunakan instruksi yang bersangutan. Bisa juga berupa label yang mewakili

alamat suatu data atau berupa simbol yang mewakili suatu data konstanta.

Perlu diingat beberapa instruksi MCS51 yang tidak memerlukan operan (RET

dan lain-lain).

4) Komentar

Komentar harus diawali dengan titik koma (;). Sebuah baris atau bagian dari

suatu baris akan dianggap sebagai komentar jika diawali dengan titik koma.

Sub-rutin dari bagian-bagian besar program yang mengerjakan suatu operan

biasanya diawali dengan blok komentar yang menjelaskan fungsi sub-rutin

atau bagian besar program tersebut.

5) Simbol Assembler Khusus

Simbol-simbol Assembler khusus digunakan untuk mode-mode pengalamatan

melalui register. Simbol-simbol ini mencakup A, R0 sampai dengan R7,

DPTR, C, PC, dan AB. Juga tanda dolar ($) yang dapat digunakan untuk

menunjuk nilai pencacah program (program counter) saat itu.

6) Pengalamatan Tidak Langsung


32

Beberapa instruksi menggunakan operan berupa register yang menyimpan

alamat data disimpan. Dalam hal ini digunakan tanda “at” (@) yang dapat

digunakan bersama dengan R0, R1, DPTR, atau PC tergantung dari instruksi

yang digunakan.

7) Data Langsung

Data-data langsung diawali dengan tanda pound (#) dan menyatu dengan

instruksi yang berangkutan. Semua operasi yang melibatkan data langsung

(kecuali instruksi MOV, DPTR, #Data) hanya membutuhkan data 8-bit (1

byte). Data langsung akan dievaluasi sebagai suatu konstanta 16-bit dan byte-

rendah yang digunakan. Semua bit di-byte tinggi harus sama (00h atau FFh)

atau nantinya akan mengakibatkan kesalahan “value will not fit in byte”.

8) Alamat Data

Banyak instruksi yang mengakses lokasi-lokasi memori menggunakan

pengalamatan langsung dan membutuhkan alamat memori data internal (00h

hingga 7Fh) atau alamat SFR (80h hingga FFh) pada operasi.

9) Alamat Bit

Salah satu kelebihan mikrokontroler 51 adalah kemampuannya bisa

mengakses alamat-alamat per-bit tanpa menggunakan cara khusus. Instruksi

yang melibatkan lokasi-lokasi yang teralamati bit (bit addressable) harus

menyediakan suatu alamat bit memori data internal (00h dan 7Fh) atau alamat

bit di ruang SFR (80h hingga FFh). Cara menuliskannya ada tiga cara, yaitu:

Secara eksplisit menggunakan alamatnya langsung (misal: SETB 0Eh)


33

Menggunakan tanda titik (.) antara alamat byte dan posisi bit (misal: SETB

ACC.7).

Menggunakan simbol yang baku (misal: JNB TI, $)

10) Alamat Kode

Suatu alamat kode digunakan dalam operan instruksi lompatan, termasuk

lompatan relatif (SJMP dan lompatan bersyarat), lompatan dan CALL absolut

(ACALL dan AJMP) dan lompatan Call Far (LCALL dan LJMP). Alamat

halaman 11 atau alamat panjanga 16 bit sesuai dengan kasusnya.

11) Jump Call Umum

ASM51 membolehkan kita untuk menggunakan mnemonik JMP atau CALL

yang umum; mnemonic JMP digunakan sebagai wakil dari SJMP, AJMP atau

LJMP, sedangkan mnemonik CALL mewakili ACALL atau LCALL.

Assembler akan mengkonversi mnemonik umum ini menjadi instruksi yang

sesungguhnya mengikuti beberapa aturan sederhana, yaitu:

Diubah ke SJMP jika ada dalam acuan alamat di depan (tujuan lompatan

sebelum instruksi JMP yang bersangkutan) dan jangkauan (lompatan berada

dalam 128 byte (lokasi)).

Diubah ke bentuk AJMP jika tidak ada acuan lompatan di depan dan tujuan

lompatan masih di dalam blok 2K yang sama.

Jika aturan a) dan b) tidak dipenuhi maka akan diubah ke bentuk LJMP.

2.3.7 Pengarah Assembler


34

Pengarah Assembler merupakan instruksi pada program Assembler itu

sendiri, bukan sebagai instruksi bahasa Assembly yang akan dijalankan

mikrokontroler yang bersangkutan. ASM51 menyediakan beberapa pengarah

Assembler yang dikelompokkan sebagai berikut:

1) Kontrol kondisi Assembler (ORG, END, dan USING);

2) Definisi simbol (SEGMEN, EQU, SET, DATA, IDATA, XDATA, BIT,

dan CODE);

3) Pemesanan inisialiasi penyimpan (DS, DBIT, DB, dan DW);

4) Rantai (Linkage) program (PUBLIC, EXTRN, dan NAME); dan

5) Pemilihan segmen (RGES, CSEG, DSEG, ISEG, BSEG, XSEG)

2.3.8 Operasi Gabungan

Saat mengembangkan suatu program aplikasi yang besar, biasanya

program aplikasi yang subprogram atau modul yang berisikan bagian-bagian kode

(biasanya berupa sub-rutin). Strategi pemrograman ini dinamakan sebagai

“Pemrograman Modular”. Umumnya, modul-modul tersebut bersifat dapat

direlokasikan (relocatable), artinya tidak ditempatkan pada lokasi-lokasi tertentu

dalam ruang kode maupun data. Sebuah proses penggabungan harus dilakukan

untuk menggabungkan (link) modul-modul tesebut menjadi sebuah modul absolut

yang bisa dijalankan.

2.4 Komunikasi Serial

Dikenal ada dua cara komunikasi secara serial, yaitu komunikasi data

serial sinkron dan komunikasi data serial secara asinkron. Pada komunikasi data
35

serial sinkron, clock dikirimkan bersama-sama dengan data serial, sedangkan

komunikasi serial asinkron, clock tidak dikirimkan bersama data serial, tetapi

dibangkitkan secara sendiri-sendiri baik pada sisi pengirim (transmitter) maupun

pada sisi penerima (receiver). Pada IBM PC kompatibel port serialnya termasuk

jenis asinkron.

Komunikasi serial ini dikerjakan oleh UART (Universal Asyncronous

Receiver/Transmitter). IC UART dibuat khusus untuk mengubah data paralel

menjadi data serial yang kemudian diubah kembali menjadi data paralel. IC

UART 8250 dari Intel merupakan salah satunya. Selain berbentuk IC mandiri,

berbagai macam mikrokontroler ada yang dilengkapi UART, misalnya keluarga

mikrokontroler MCS51 (termasuk AT89C2051).

Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang

tertentu. Baud Rate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200,

2400, 9600, 38400, 57600, 115200, 230400, 460800, dan 921600 (bit/detik).

Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan harus

diatur pada kecepatan yang sama. Selanjutnya, harus ditentukan panjang data (6,

7, atau 8 bit), paritas (genap, ganjil, atau tanpa paritas), dan jumlah bit ‘Stop’ (1,

1½, atau 2)[2].

2.4.1 Karakter Sinyal Port Serial

Standar sinyal komunikasi serial yang banyak digunakan adalah standar

RS232 yang dikembangkan oleh Industry Association (EIA/TIA) yang pertama

kali dipublikasikan pada tahun 1962. Ini terjadi jauh sebelum IC TTL populer
36

sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC

TTL. Standar ini hanya menyangkut komunikasi data antara komputer (Data

Terminal Equipment - DTE) dengan alat-alat pelengkap komputer (Data Circuit

Terminating Equipment - DCE). Standar RS232 inilah yang biasa digunakan pada

port serial IBM PC kompatibel.

Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai

berikut:

a) Logika ‘1’ disebut ‘Mark’ terletak antara -3 Volt hingga -25 Volt.

b) Logika ‘0’ disebut ‘Space’ terletak antara +3 Volt hingga +25 Volt.

Daerah tegangan antara -3 Volt hingga +3 adalah invalid level, yaitu

daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari.

Demikian juga, level tegangan lebih negatif dari -25 Volt atau lebih positif dari

+25 Volt juga harus dihindari karena tegangan tersebut dapat merusaka line driver

pada saluran RS232.

2.4.2 Konfigurasi Port Serial

Berikut pada gambar 2.7 merupakan struktur konektor port serial DB-9

pada bagian belakang CPU. Pada komputer PC kompatibel biasanya kita dapat

menemukan dua konektor port serial DB-9 yang biasa dinamai COM1 dan

COM2.
37

Gambar II.6 Struktur Konektor Serial DB-9 (COM1)

Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah

sebagai berikut:

1) Received Line Signal Detect/Data Carier Datect (DCE), dengan saluran

ini DCE memberitahukan ke DTE bahwa pada terminal masukan ada data

masuk.

2) Received Data (RxD), digunakan DTE untuk menerima data dari DCE.

3) Transmit Data (TxD), digunakan DTE untuk mengirimkan data ke DTE.

4) Data Terminal Ready (DTR), pada saluran ini DTE memberitahukan

kesiapan terminalnya.

5) Signal Ground (GND), saluran ground.

6) Ring Indicator, pada saluran ini DCE memberitahukan bahwa DTE

sebuah stasiun menghendaki hubungan dengannya.

7) Clear to Send (CTS), dengan saluran ini DCE memberitahukan bahwa

DTE boleh mulai mengirim data.

8) Pin 7 Request To Send (RST), dengan saluran ini DCE diminta mengirim

data oleh DTE.


38

9) DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah

siap.

2.5 ADC (Analog to Digital Converter)

       Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang

untuk mengubah sinyal-sinyal analog menjadi sinyal - sinyal digital. IC ADC

0804 dianggap dapat memenuhi kebutuhan dari rangkaian yang akan dibuat. IC

jenis ini bekerja secara cermat dengan menambahkan sedikit komponen sesuai

dengan spesifikasi yang harus diberikan dan dapat mengkonversikan secara cepat

suatu masukan tegangan. Hal-hal yang juga perlu diperhatikan dalam penggunaan

ADC ini adalah tegangan maksimum yang dapat dikonversikan oleh ADC dari

rangkaian pengkondisi sinyal, resolusi, pewaktu eksternal ADC, tipe keluaran,

ketepatan dan waktu konversinya.

       Beberapa karakteristik penting ADC :

1. Waktu konversi

2. Resolusi

3. Ketidaklinieran

4. Akurasi

       Ada banyak cara yang dapat digunakan untuk mengubah sinyal analog

menjadi sinyal digital yang nilainya proposional. Jenis ADC yang biasa

digunakan dalam perancangan adalah jenis successive approximation convertion


39

atau pendekatan bertingkat yang memiliki waktu konversi jauh lebih singkat dan

tidak tergantung pada nilai masukan analognya atau sinyal yang akan diubah.

Pengubah sinyal analog kedigital (analog to digital converter : ADC)

merupakan bagian integral dari sistem pengukuran besar fisika. Karena bagian ini

mempunyai peranan penting dalam hal memindahkan informasi dari tegangan

analog menjadi tegangan yang dapat terbaca oleh mikrokontroler. Dengan

konversi ini, informasi besaran analog berupa tegangan atau arus dari masukkan,

akan diubah menjadi sinyal digital. Hasil konversi ini selalu disajikan oleh ADC

dalam bentuk kode-kode biner berupa byte-byte karakter baik secara paralel

maupun seri.

Berikut ini adalah Gambar 2.7. memperlihatkan diagram blok ADC

tersebut.

Gambar II.7. Blok Diagram ADC

Karakteristik ADC 0804

1. Tegangan input Analog Diferensial


40

a. Logika input dan output memenuhi MOS

dan TTL spesifik level tegangan

3 Tegangan referensi 2.5 V

4 Clock generator diatas chip

5 Input tegangan analog 0 V – 5 V dengan reng 5 V pengiriman.

0.3 dengan standar 20 pin DIP

6 Operasi ratiometik 5 VDC-2.5 VDC jarak antara tegangan referensi.

2.6 GSM,GPRS, SMS DAN SMS GATEWAY

2.6.1 GSM (Global System for Mobile)

a. Sejarah GSM

Di Indonesia, liberalisasi bisnis seluler dimulai sejak tahun 1995, saat

pemerintah mulai membuka kesempatan kepada swasta untuk berbisnis telepon

seluler dengan cara kompetisi penuh. Bisa diperhatikan, bagaimana ketika

teknologi GSM (Global System for Mobile) datang dan menggantikan teknologi

seluler generasi pertama yang sudah masuk sebelumnya ke Indonesia seperti NMT

(Nordic Mobile Telephone) dan AMPS (Advance Mobile Phone System).

Sekarang, dalam kurun waktu lebih dari satu dekade, teknologi GSM telah

menguasai pasar dengan jumlah pelanggan lebih dari jumlah pelanggan telepon

tetap. Di Indonesia, liberalisasi bisnis seluler dimulai sejak tahun 1995, saat

pemerintah mulai membuka kesempatan kepada swasta untuk berbisnis telepon

seluler dengan cara kompetisi penuh. Bisa diperhatikan, bagaimana ketika

teknologi GSM (Global System for Mobile) datang dan menggantikan teknologi
41

seluler generasi pertama yang sudah masuk sebelumnya ke Indonesia seperti NMT

(Nordic Mobile Telephone) dan AMPS (Advance Mobile Phone System).

Di tahun 1980-an, teknologi Global System for Mobile Communication (GSM)

datang ke Indonesia, maka para operator pemakai teknologi AMPS (Advanced

Mobile Phone System) menghilang. Lalu, muncul Satelindo sebagai pemenang,

yang kemudian disusul oleh Telkomsel.

Dan pada akhirnya teknologi GSM lebih unggul dan berkembang dengan

pesat, ini dikarenakan kapasitas jaringan lebih tinggi, karena efisiensi di spektrum

frekuensi dari pada teknologi NMT dan AMPS.

b. Arsitektur Jaringan GSM

Unsur-unsur yang utama pada arsitektur GSM [3GPP-23.002] ditunjukkan

pada Gambar dibawah. Jaringan GSM terdiri atas tiga subsistem: Base Station

Subsystem (BSS), Network Subsystem (NSS) dan Operation Subsystem (OSS). OSS

tidak dijelaskan lebih lanjut, unsur-unsur BSS dan NSS akan diuraikan lebih

lanjut.
42

1. Mobile Station (MS)

Mobile Station (MS) adalah perangkat yang mengirim dan menerima signal

radio. MS dapat berupa mobile handset atau Personal Digital Assistant (PDA).

MS terdiri dari Mobile Equipment (ME) dan Subscriber Identity Module (SIM).

ME berisi transceiver radio, display dan Digital Signal Processor. SIM digunakan

agar network dapat mengenali user.

2. Base Transceiver Station (BTS)

Base transceiver Station (BTS) berfungsi sebagai interface komunikasi semua

MS yang aktif dan berada dalam coverage area BTS tersebut. Di dalamnya

termasuk modulasi signal, demodulasi, equalize signal dan error coding. Beberapa

BTS terhubung pada satu Base Station Controller (BSC). Satu BTS biasanya

mampu menghandle 20-40 komunikasi serentak.

3. Base Station Controller (BSC)

BSC berfungsi mengatur konkesi BTS-BTS yang berada dalam kendalinya.

Fungsi tersebut memungkinkan operasi seperti handover, cell site configuration,

management of radio resources dan menyetel power level dari frekuensi radio

BTS. Pada jaringan GSM BSC mengatur lebih dari 70 BTS.

4. Mobile Switching Centre (MSC) dan Visitor Location Register (VLR)

Mobile Switching Centre (MSC) melakukan fungsi registrasi, authentikasi,

update lokasi user, billing service dan sebagai interface dengan jaringan lain.

Selain itu MSC juga bertanggung jawab untuk call set-up, release dan routing.
43

Visitor Location Register (VLR) berisi informasi dinamis tentang user yang

terkoneksi dengan mobile network termasuk lokasi user tersebut. VLR biasanya

terintegrasi dengan MSC.

Melalui MSC, mobile network terhubung dengan jaringan lain seperti PSTN

(Public Switched Telephone Network), ISDN (Integrated Service Digital

Network), CSPDN (Circuit Switched Public Data Network) dan PSPDN (Packet

Switched Public Data Network).

5. Home Location Register (HLR)

Home Location Register (HLR) adalah elemen jaringan yang berisi detil dari

setiap subscriber. Sebuah HLR biasanya mampu mengatur ratusan bahkan ribuan

subscriber. Pada jaringan GSM, signaling berbasis pada protokol Signaling

System Number 7 (SS7). Penggunaan SS7 dilengkapi dengan penggunaan

protokol Mobile Application Part (MAP). MAP digunakan untuk pertukaran

informasi lokasi dan subscriber antara HLR dan elemen jaringan lainnya seerti

MSC.

Untuk setiap subscriber, HLR mengatur pemetaan antara International Mobile

Subscriber Identity (IMSI) dan Mobile Station ISDN Number (MSISDN). Untuk

alasan keamanan, IMSI jarang ditaransmisikan melalui perantara radio dan hanya

dikenali pada jaringan GSM yang ditentukan. IMSI menggunakan format [ITU-

E.212]. Tidak seperti IMSI, MSISDN mengidentifikasi subscriber di luar jaringan

GSM, MSISDN menggunakan format [ITU-E.164].

2.6.2 GPRS (General Packet Radio Service)


44

Di dunia industri komunikasi bergerak ('mobile'), data bergerak dan

multimedia kini menjadi fokus pengembangan, dan GPRS ('General Packet Radio

Service') menjadi kunci yang memungkinkan untuk meraih sukses di pasar.

Alasannya adalah, melalui GPRS,  ledakan pertumbuhan layanan internet melalui

jaringan kabel (telepon), sekarang dimungkinkan penyalurannya melalui

komunikasi bergerak. Nortel Networks, Ericsson, Siemens, Nokia dan banyak

industri telekomunikasi lainnya dalam publikasinya  menyatakan telah  mampu

mengawinkan Web dengan telepon bergerak menggunakan teknologi GPRS yang

kini mulai gencar ditawarkan  kepada para operator GSM dan TDMA yang

berminat memasarkan layanan internet nirkabel.

GPRS merupakan sistem transmisi berbasis paket untuk GSM yang menggunakan

prinsip 'tunnelling'. Ia menawarkan laju data yang lebih tinggi. Laju datanya

secara kasar sampai 160 kbps dibandingkan dengan 9,6kbps yang dapat

disediakan oleh rangkaian tersakelar GSM.  Kanal-kanal radio ganda dapat

dialokasikan bagi seorang pengguna  dan kanal yang sama dapat pula digunakan

secara berbagi ('sharing') di antara beberapa pengguna sehingga menjadi sangat

efisien.

Dari segi biaya, pentarifan diharapkan hanya mengacu  pada volume

penggunaan. Penggunanya  ditarik biaya dalam kaitannya dengan banyaknya byte

yang dikirim atau diterima, tanpa memperdulikan panggilan, dengan demikian

dimungkinkan GPRS akan menjadi lebih cenderung dipilih oleh pelanggan untuk

mengaksesnya daripada layanan-layanan IP.


45

GPRS merupakan teknologi baru yang memungkinkan para operator

jaringan komunikasi bergerak menawarkan layanan data dengan laju bit yang

lebih tinggi dengan tarif rendah ,sehingga membuat layanan data menjadi menarik

bagi pasar massal. Para operator jaringan komunikasi bergerak di luar negeri kini

melihat GPRS sebagai kunci untuk mengembangkan pasar komunikasi bergerak

menjadi pesaing baru di lahan  yang pernah menjadi milik jaringan kabel, yakni

layanan internet. Kondisi ini dimungkinkan karena ledakan penggunaan internet

melalui jaringan kabel (telepon) dapat pula dilakukan melalui jaringan bergerak.

Sebagai gambaran kecil, layanan bergerak yang kini menjadi sukses di pasar (bagi

operator di manca negara) misalnya adalah, laporan cuaca, pemesanan makanan,

berita olah raga sampai ke informasi seperti berita-berita penting harian.

Kontrak kontrak pengadaan GPRS dan produk-produk pendukungnya antara

pabrik-pabrik pembuat perangkat telekomunikasi dengan operator jaringan

komunikasi bergerak pun bermunculan. Kontrak jaringan GPRS pertama di dunia

telah dilaksanakan di bulan Maret 1999 yang lalu antara Ericsson dengan operator

komunikasi bergerak di Jerman; T-Mobile. Berikutnya, Ericsson juga menangani

kontrak dengan operator One 2 One di Inggris, SmartTone Mobile

Communication di Hongkong, Omnipoint di Amerika Serikat. Perusahaan

perangkat komunikasi lainnyapun seperti Nortell Networks, Nokia dan lain-lain

kini ikut berkompetisi menawarkan kontrak-kontraknya dengan para operator

yang berkeinginan memasarkan  layanan GPRS.

  Dalam bidang perangkat genggamnya, kerjasama pun telah terwujud

antara Optimay dan Lucent's Technology Group. Optimay  (Munich, Jerman)


46

menyediakan perangkat lunak GPRS, Lucent's Microelectronic Group (Ascot,

UK) menyediakan perangkat lunak DSP dan Lucent's Microelectronic Group

(Allentown, USA) menyediakan silikon untuk menghasilkan produk-produk

pendukung, dan pembuatan terminal-terminal begitu jaringan GPRS bermunculan.

2.6.2.1 Jaringan GPRS

GPRS menggunakan modulasi radio yang sama dengan standar GSM, pita

frekuensi yang sama, struktur burst yang sama, hukum-hukum lompatan frekuensi

yang sama, dan struktur bingkai (frame) TDMA yang sama. Kanal-kanal data

paket yang baru sangat mirip dengan kanal-kanal lalulintas percakapan tersakelar

rangkaian. Dengan demikian  BSS (Base Station Subsystem) yang sudah ada akan

menyediakan cakupan GPRS lengkap mulai dari ujung jaringan. Namun

dibutuhkan sebuah entitas jaringan fungsional baru, yakni PCU (Packet Control

Unit) yang berfungsi sebagai pengatur segmentasi paket, akses kanal radio,

kesalahan-kesalahan transmisi dan kendali daya.

Penyebaran jaringan GPRS adalah dimulai dengan introduksi sebuah subsistem

jaringan overlay baru (NSS=Network SubSystem) seperti terlihat pada Gambar 1.

Ia memilki dua elemen jaringan baru; yakni SGSN (Serving GPRS Support Node)

dan GGSN (Gateway GPRS Support Node). SGSN memiliki tingkat hirarki yang

sama dengan MSC dan VLR, menjaga alur (track) lokasi dari setasiun-setasiun

bergerak individual dan melakukan fungsi-fungsi keamanan dan kendali akses. Ia

dihubungkan ke BSS melalui Frame Relay. GGSN secara kasar analog dengan

suatu Gateway MSC yang menangani antarkerja dengan jaringan-jarinan IP

eksternal. GGSN membungkus ulang dengan format baru (mengenkapsulasi)


47

paket-paket yang diterima jaringan-jaringan IO eksternal dan merutekannya

menuju SGSN menggunakan GPRS tunnelling protocol. Walaupun para

pelanggan secara kontinyu dihubungkan ke jaringan, melalui GPRS, spektrumnya

tetap tinggal bebas bagi pelanggan lain untuk menggunakannya jika tidak ada data

yang ditransfer. Tidak hanya dalam hal tersebut, GPRS memungkinkan

pemultiplekan spektrum secara statistik. Ini berarti tidak ada waktu penciptaan

panggilan dan operatornya dapat dapat juga menawarkan berbagai layanan

sehingga membuatnya menjadi suatu landasan yang ideal bagi layanan data yang

memiliki nilai tambah.

Satu pertimbangan yang perlu mendapat perhatian para operator adalah luas

jaringannya (terutama pada antarmuka udaranya = air interface) jika GPRS

diperkenalkan. Pengaruh adanya jaringan GPRS pada sistem yang sudah ada

minimal jika lalulintas datanya sedikit. Jika sebaliknya, yakni ada banyak

lalulintas data, maka operator akan membutuhkan cadangan PDCH (Packet Data

Channel). Jumlah maksimum slot waktu yang dicadangan untuk PDCH ditentukan

sebelumnya, mengingat slot waktu GPRS dilepaskan segera jika komunikasi suara

membutuhkan hubungan. Kerugiannya memang laju data turun jika lalu lintas

untuk percakapan  naik, mengakibatkan  tundaan paket yang lebih panjang .

Dalam sebuah sel dengan satu pembawa, dua kanal GPRS dapat dialokasikan

mengingat sebuah sel dengan  enam pembawa dapat mengakomodasi sampai

enam PDCH.

Jika jaminan kualitas layanan (QoS) benar-benar diimplementasikan

dalam GPRS, ada sedikit keleluasaan  untuk untuk memperkecil slot waktu GPRS
48

namun kapasitas bagi lalu lintas suara dapat jatuh. Apabila jumlah kanal yang

tersedia dalam sebuah sel sangat rendah, maka pengaruh yang sebanding pada

kapasitas suara dapat turun dramatis. Oleh sebab itu dalam sel-sel yang kecil harus

diperkirakan tidak terlalu banyak lalu lintas GPRS-nya. Pada umumnya dapat

dipakai pedoman, kira-kira 80% kapasitas disediakan untuk lalulintas non GPRS.

Aspek yang lain dari hal ini adalah kapasitas yang tersedia bagi penggunanya.

Sebagai contoh, misalnya ada sebuah sel yang  mengalokasikan tiga PDCH, yang

dapat 'menangani' kecepatan tak terkompresi sekitar 30kbps. Banyaknya pemakai

yang dapat dilayani sangat tergantung pada tipe lalulintas yang terjadi. Sebuah sel

tunggal dapat menangani 10.000 sampai 100.000 pengguna untuk aplikasi-

aplikasi kecepatan rendah (sebagai contoh telemetri, layanan-layanan informasi),

tetapi hanya 100 sampai 1.000 pengguna untuk aplikasi e-mail atau WWW, yang

membutuhkan kenaikan dalam data .Pengertian kata "penanganan" dalam konteks

ini berarti memberikan kecepatan transmisi yang layak dengan tidak ada tundaan

paket yang signifikan. Pada aplikasi seperti transfer file, sel tersebut dapat

menampung sekitar sepuluh pemakai, yang kira-kira sama dengan kemampuan

HSCSD (High-Speed Circuit-Switched Data): Ini disebabkan tidak adanya

keuntungan dari penggunaan pemultiplekan statistik yang signifikan. Untuk

tujuan perencanaan, suatu model lalulintas yang terdiri dari campuran semua tipe

data dapat digunakan. Penggunaan model semacam ini dapat menuju ke suatu

konklusi, yakni sel tersebut dapat menampung sekitar 1.000 pengguna. Gambaran

di atas menunjukan bahwa GPRS sangat efektif untuk pelayanan pengguna data

dengan pengaruh yang minimal bagi layanan suara.


49

2.6.3 SMS (Short Message Service)

SMS merupakan fitur GSM yang paling poluler hingga saat ini. Dimulai

dengan diperkenalkannya sistem telepon wireless/seluler digital memberikan

beberapa kelebihan, seperti kemampuan optimasi sistem yang ditunjukkan dengan

kemampuan kompresi dan pengkodean data digital. Handset yang diperlukan

untuk sistem ini juga menjadi sangat simpel, kecil, dan ringan, karena

digunakannya chip digital untuk SIM (subscriber identification module).

Teknologi chip digital juga memungkinkan penambahan fitur-fitur baru sebagai

layanan tambahan, seperti voice mail, call waiting, dan short message service

(SMS). Hingga bulan September 2001, diketahui penggunaan SMS di dunia

mencapai 23 milyar kiriman pesan SMS per bulan (www.gsmworld.com).

a. Arsitektur SMS

SMS dimaksudkan untuk menjadi alat pertukaran informasi antara dua mobile

subscriber. Elemen-elemen utama pada arsitektur SMS terdiri dari Short Message

Entity (SME), SMS Service Centre (SMSC) dan Email Gateway yang terkoneksi

dengan elemen-elemen pada GSM sebagai channel penghantar. Berikut ini adalah

gambar arsitektur SMS pada jaringan GSM.


50

1. Short Message Entity (SME)

Short Message Entity (SME) adalah elemen yang dapat mengirim atau

menerima pesan singkat. SME dapat berupa software aplikasi pada mobile

handset, dapat juga berupa perangkat facsimile, perangkat telex, remote internet

server, dll.

Sebuah SME dapat berupa server yang terkoneksi dengan SMS center secara

langsung atau melalui gateway. Dikenal juga External SME (ESME) yang

merepresentasikan sebuah WAP proxy/server, Email Gateway atau Voice Mail

server.

2. SMS Service Centre (SMSC)

SMS Service Centre (SMSC) memegang peran kunci dalam arsitektur SMS.

Fungsi utama SMSC adalah menyampaikan pesan singkat antara SME dengan

MS, juga menyimpan dan meneruskan pesan singkat (menyimpan pesan jika

penerima SME tidak tersedia). SMSC dapat terintegrasi sebagai bagian dari
51

mobile network (cth: terintegrasi dengan MSC) atau sebagai entitas network

independen.

3. Email Gateway

Email Gateway memungkinkan sebuah email beroperasi menjadi SMS dengan

interkoneksi SMSC pada internet. Dengan email gateway, pesan dapat dikirim

dari sebuah SME menuju sebuah host internet dan sebaliknya. Peran email

gateway adalah mengubah format pesan (dari SMS ke email dan sebaliknya) dan

merelay pesan antara SMS dan domain internet.

2.6.3.1 Basic Features SMS

SMS mempunyai beberapa basic fitur, diantaranya:

1. Message Submission and Delivery

Terdiri dari message sending dan message delivery. Pada message sending,

pesan dikirm dari MS ke SMSC, dialamatkan ke SME lain sebagai mobile user

lain atau host internet. Originator (asal) SME menentukan validity period dari

pesan tersebut, pesan yang sudah tidak valid lagi akan dihapus oleh SMSC

sepanjang pengiriman pesan. Fitur ini dikenal sebagai Short Message-Mobile

Originated (SM-MO).

Pada message delivery, pesan disampaikan oleh SMSC ke MS. Dikenal

sebagai Short Message Mobile Terminated (SM-MT). SM-MO dan SM-MT dapat

dikirim atau diterima saat voice call atau koneksi data sedang berlangsung. Pada

GSM pesan dikirim pada channel SDCCH/SACCH, pada GPRS pesan dikirim

pada channel PDTCH.

2. Status Report
52

SME asal (originator) meminta status report pada pengiriman pesan singkat

ke SME penerima (recipient). Status report memberikan indikasi pada user asal

apakah pesan terkirim dengan sukses atau tidak kepada SME penerima.

3. Reply Path

Replay Path dapat diatur oleh SME asal (atau SMSC serving) untuk

mengindikasikan bahwa SMSC serving dan mampu untuk menghandle secara

langsung reply dari SME penerima.

4. Addressing Mode

Addressing mode menggunakan MSISDN pada format [ITU-E.164]. Email

address ditentukan oleh IETF pada format [RFC-2822] atau operator specific

numbering.

5. Validity Period

Pesan originator dimungkinkan untuk menentukan validity period sebuah

pesan. Validity period ini menentukan batas waktu sebuah pesan harus dikirim

sebelum akhirnya dihilangkan oleh jaringan.

2.7 SMS Gateway

Satu permasalahan dalam SMS messaging adalah SMSCs yang

dikembangkan oleh perusahaan berbeda menggunakan protokol komunikasi

mereka sendiri. Sebagai contoh, Nokia mempunyai suatu protokol SMSC yaitu

CIMD sedangkan SMSC penjual yang lain, CMG, mempunyai suatu protokol

SMSC yaitu EMI. Kita tidak bisa menghubungkan dua SMSCs jika mereka tidak

mendukung suatu SMSC protokol umum. Untuk mengatasi masalah ini, SMS

Gateway ditempatkan diantara kedua SMSCs. Pada gambar dibawah SMS


53

Gateway bertindak sebagai relay antara kedua SMSCs. Tugasnya menterjemahkan

protocol SMSC yang satu protokol SMSC yang lain. Ini dapat digunakan untuk

saling behubungan antar SMSCs untuk tujuan seperti pertukaran antar operator

SMS.

2.7.1 Macam-macam Aplikasi SMS

Ada banyak macam aplikasi SMS yang sedang berkembang sekarang.

Aplikasi di mana pesan SMS dapat digunakan hampir tak terbatas. Beberapa

contoh umum aplikasi SMS diantaranya sebagai berikut:

a. Person to person text messaging

Person to person text messaging sangat banyak digunakan oleh aplikasi SMS

dan memang pada awalnya teknologi SMS di rancang untuknya. Dalam beberapa

macam aplikasi pesan teks, seorang pengguna mobile phone mengetik sebuah

pesan menggunakan keypad, selanjutnya ia memasukkan no tujuan/penerima dan

menekan option selanjutnya menekan “OK” atau “Send”, untuk mengirim.

Ketika pesan diterima oleh penerima, akan diberitahu menggunakan suara atau
54

getaran. Pengguna dapat membaca pesan teks suatu waktu dan membalasnya jika

perlu.

Sebuah aplikasi chatting merupakan contoh lain dari aplikasi Person to person

text messaging yang mengijinkan sekelompok/grup orang untuk bertukar SMS

secara interaktif. Dalam sebuah aplikasi chatting, semua teks SMS dikirim dan

diterima, kemudian ditampilkan di layar dan diurutkan berdasarkan waktu. SMS

ditulis oleh pengguna mobile phone yang berbeda dan ditampilkan dengan warna

yang berbeda, seperti gambar dibawah ini:

Saya : Hai, apa kabar?,


nama kamu siapa?
Kamu : Baik, nama saya
“Kamu”. Nama kamu
siapa?
Saya : Nama saya “Saya”

b. Provision of Information

Sebuah aplikasi popular dari teknologi SMS selain Person to Person

Messaging adalah Provision of Information (Ketetapan Informasi) yakni

menyampaikan ketetapan informasi ke mobile phone pelanggannya. Banyak

penyedia jasa SMS (Content Provider) menggunakannya untuk mengirim

informasi seperti berita, ramalan cuaca, data keuangan kepada pelanggan.

Kebanyakan informasi ini tidak cuma-cuma. Tagihan SMS dibebankan kepada

pengguna informasi adalah cara yang digunakan oleh penyedia jasa.

c. Downloading

Pesan SMS dapat membawa data biner dan juga SMS dapat digunakan

sebagai media untuk mendownload secara wireless. Seperti ringtone, wallpaper,


55

gambar dan logo operator dapat di encode (disandikan) kedalam satu atau lebih

pesan, tergantung ukuran objeknya. Seperti layanan informasi, layanan download

ini juga biasanya tidak gratis dan tagihan SMS akan dibebankan kepada pelanggan

yang menggunakan layanan ini. Objek download di encode kedalam satu atau

lebih pesan SMS.

d. Alert and Notifications (Peringatan dan Pemberitahuan)

SMS merupakan teknologi yang sangat cocok untuk menyampaikan

peringatan dan memberitahuan kejadian yang penting/sangat penting. Ada dua

pertimbangan, yaitu :

1. Mobile phone biasanya dibawa oleh pemiliknya kapan saja. Kapan saja

sebuah SMS diterima, mobile phone akan memberitahukan dengan

menggunakan suara atau getaran. Dan pemiliknya dapat membaca apa isi

dari pesan tersebut.

2. Teknologi SMS mengijinkan “push (desakan)” informasi. Berbeda dengan

model “pull (tarikan)” dimana sebuah alat akan menanya server terlebih

dahulu untuk memeriksa apakah ada informasi baru atau tidak. Model

“tarikan” kurang cocok untuk aplikasi peringatan dan pemberitahuan.

Karena membuang bandwidth dan meningkatkan aktifitas server.

e. E-Commerce dan Transaksi Kartu Kredit

Kapan saja suatu e-commerce dan transaksi kartu kredit dibuat, server akan

mengirim pesan teks kepada pelanggan. Dengan itu pelanggan dapat mengetahui

apakah transaksi telah buat.


56

f. Peringatan Bursa Saham

Dalam suatu aplikasi peringatan bursa saham, program secara konstan

memonitor dan meneliti bursa saham. Jika suatu kondisi tertentu telah terpenuhi,

maka program akan mengirimkan pesan menyangkut situasi tersebut. Sebagai

contoh, kita dapat mengatur sistem peringatan jika harga saham suatu

perusahaan lebih rendah dari niai tertentu, program mengirimkan pesan

peringatan kepada pengguna layanan ini.

g. Remote System Monitoring

Dalam suatu aplikasi remote system monitoring, sebuah program (kadang-

kadang menggunakan suatu sensor) apakah secara konstan memonitoring status

dari suatu sistem. Jika dalam keadaan tertentu, program akan mengirim pesan

kepada admin untuk memberitahukan situasi yang terjadi. Sebagai contoh

program melakukan “ping” terhadap server, jika respon tidak diterima maka

program akan mengirim pesan kepada admin.

2.8 AT COMMAND

AT COMMAND digunakan untuk melakukan komunikasi dengan modem.

Standar AT COMMAND yang bisa digunakan adalah AT COMMAND pada

kompatibel modem Hayes. Ponsel pada dasarnya adalah Modem (GSM Modem),

sehingga AT COMMAND pun berlaku pada ponsel. AT COMMAND untuk

ponsel ditetapkan dengan standar GSM 07.07 dan GSM 07.05.

2.8.1 Instruksi AT COMMAND SMS


57

Pada tabel II.2 di bawah ini merupakan tabel set Instruksi AT

COMMAND untuk GSM yang umum digunakan. Set Instruksi pada tabel

merupakan beberapa contoh instruksi tertentu untuk fasilitas SMS pada ponsel.

Tabel II.1 Set Instruksi AT COMMAND

NAMA PERINTAH KETERANGAN


AT + CGMI Menampilkan kode manufaktur (pabrik pembuat)
AT + CGMM Menampilkan model ponsel
AT + CGMR Menampilkan versi software ponsel
AT + CGSN Menampilkan nomor IMEI
AT + GSN Menampilkan nomor IMEI
AT + CHUP Menutup percakapan
AT + CEER Menampilkan sebab terputusnya koneksi terakhir
AT + CREG Registrasi jaringan
AT + COPS Registrasi jaringan
AT + CPBS Memilih buku telepon (SIM/Mobile)
AT + CPBR Membaca isi buku telepon
AT + CPBW Menambah isi buku telepon
AT + CPMS Memilih memori penyimpanan SMS
AT + CMGF Memilih format SMS (Teks/PDU)
AT + CSCA Menampilkan nomor Message Center yang digunakan
AT + CNMI Menampilkan SMS baru
AT + CMGL Menampilkan daftar SMS
AT + CMGR Membaca SMS
AT + CMGS Mengirim SMS
AT + CMSS Mengirim SMS dari memori
AT + CMGW Menulis SMS ke memori
AT + CMGD Menghapus SMS dari memori

2.9 PDU (Protocol Description Unit)

SMS (Short Message Service) yang telah distandarisasi oleh organisasi

ETSI (The European Telecommunication Standard Institute) data dari GSM 03.04

dan GSM 03.08 bisa menampung panjang karakter lebih dari 160 karakter,

dimana panjang setiap karakter adalah 7-bit menurut kode A ASCII standar 7-bit.

Untuk SMS yang mempunyai panjang karakter 8-bit per karakter dan bisa
58

menampung maksimal 140 karakter biasanya tidak dapat dibaca oleh ponsel

sebagai teks, sebagai gantinya data tersebut dipakai untuk Smart Messaging

(gambar dan Ringtone) dan untuk kelengkapan WAP (Wireless Aplication

Protocol) setting. Sedangkan untuk SMS dengan panjang 16-bit per-karakter bisa

menampung maksimal 70 karakter dan bisanya dipakai untuk pesan teks

UNICODE (UCS2) dan bisa dibaca oleh hampir semua ponsel untuk beberapa

ponsel, SMS dengan 16-bit per-karakter bisa digunakan untuk Flash SMS.

Ada dua cara dalam mengirim dan menerima SMS, yaitu dengan format

teks (text mode) dan dalam format PDU (Protocol Description Unit). Dalam

format teks (tidak tersedia untuk beberapa ponsel) hanya menerjemahkan

(encoding) dari aliran bit-bit yang dipresentasikan dalam bentuk PDU, formatnya

berbeda dengan abjad dan ada beberapa alternatif dalam encoding ketika

menampilkan SMS, dan pilihan alternatif yang paling umum adalah “PCCP437”,

“PCDN”, “88591”, ”IRA”, dan “GSM”. Semua set instruksi ditentukan oleh AT

COMMAND: “AT+CSCA” (Select Text Encoding Character Set) ketika kita

membaca SMS dengan aplikasi komputer.

Ketika kita membaca pesan pada ponsel kita, maka ponsel mampu

membaca encoding yang paling tepat untuk pesan yang masuk (incoming SMS)

apakah mengunakan format teks ataupun dengan format PDU. Bila yang

digunakan format teks, aplikasi dibatasi oleh set-set instruksi yang dipilih untuk

encoding, sedangkan dalam format PDU, apapun jenis encoding yang digunakan

dapat diimpelentasikan. Karakter yang terdapat pada format PDU tidak hanya

berisi pesan saja, akan tetapi juga berisi bebagai informasi tentang pengirim,
59

Nomor Service Center, waktu pengiriman, dan lain-lain. Di bawah ini contoh

format PDU beserta keterangannya:

079116143786007F011000A81407008090500F60105C8F71D14969741F977FD007

Format PDU di atas berisikan pesan “How Are You?” dan karakter di atas

dibuat dari 8-bit heksadesimal dan seperi telah dijelaskan sebelumnya, PDU

tersebut memiliki berbagai informasi seperti dijelaskan dalam tabel 2.3 berikut:

Tabel II.2 Deskpsi Format PDU


8-bit Deskripsi
07 Panjang digit nomor SMS Service (Hex)
91 Kode Internasional
16143786007F0 No. SMS Service Center
11 Tipe PDU
00 Message Reference
04 Panjang digit nomor tujuan (Hex)
81 Kode Nasional
4070080905 Nomor HP tujuan
00 Protokol Identifier
F6 Skema Pengkodean Data
01 Validity Periode
05 Panjang data yang diterima
C8F71D149691F977FD07 Isi Data (How Are You?)
Semua karakter di atas dalam format 8-bit heksadesimal, kecuali nomor

Service Center, Nomor Tujuan, Validity Period (lama keabsahan SMS) yang

menggunakan format semi oktet desimal.

Keterangan:

1) Untuk kode internasional mak bernilai 91 (ditandai dengan “+” di depan

angka).

2) Jika kode nasional maka bernilai 81.

3) Nomor SMS Service Center (SMSC):

Telkomsel : +6281100000
60

IM3 : +6285500000

Mentari : +6281500000

Pro XL : +6281800000/+62818445009

4) Tipe PDU

a) SMS-Deliver, yaitu mengirim SMS dari SMSC ke ponsel dan

bernilai 00.

b) SMS-Submit, yaitu mengirim SMS dari ponsel ke SMSC, bernilai

11.

5) Message Reference(MR), yaitu kode untuk mewakili sejumlah SMS

Submit yang dikirimkan dari SMS Center ke Ponsel, diiisi dengan 00.

6) Protocol Identifier harus diisi dengan 00

7) Data Coding Scheme (Skema Pengkodean Data/DCS), yaitu skema

pengkodean yang digunakan dalam mengirimkan pesan SMS. Ada 2 jenis

yang umum digunakan yaitu skema 7-bit data dan skema 8-bit data, maka

diisi dengan F6.

8) Validity Periode (Lama keabsahan SMS), yaitu lama SMS tersebut berada

di memori ponsel sebelum dikirimkan ke HP, range nilainya sebagai

berikut:

a) 0 – 143 (VP + 1) x 5 menit

b) 144 – 147.12 Jam + ((VP - 144) x 30 menit)

c) 168 – 196 (VP - 166) x 1 hari

d) 197 – 255 (VP - 192) x 1 minggu


61

9) User Data Length (Panjang Data User/UDL), mewakili panjang dari data

yang ingin dikirimkan.

10) Isi data dari SMS setelah dikonversi ke dalam bentuk heksa atau dalam

bentuk ASCII 8-bit.

2.9.1 Konversi PDU

Format PDU menurut ETSI adalah 7-bit (Septect), sedangkan

Mikrokontroler hanya menerima karakter dalam format 8 bit (Octect). Oleh

karena itu kita perlu melakukan konversi PDU (Encode Septect to Octect).

Konversi ini dilakukan dengan pemindahan dan pergeseran bit-bit dengan contoh

sebagai berikut:

Data yang akan dikirim “How Are You?”, setiap huruf dari data adalah 7-

bit, maka untuk diubah menjadi 8-bit (Octect) kita ambil bit data dari bit huruf

berikutnya yaitu “o”, kemudian bit data huruf “o” akan kekurangan 2 bit untuk

dijadikan 8-bit dan selanjutnya untuk karakter berikutnyadan seterusnya.

Karakter:

H o w Spasi Seterusnya ...

100 1000 110 1111 111 0111 010 0000

?100 1000 110 111? 111 01??


62

??11 0111 ???1 1101

Octet : 1100 1000 1111 0111 0001 1101 ..............................

Gambar II.8 Ilustrasi konversi dari Bilangan Heksadesimal ke Biner 8-bit

2.10 MODEM

Modem berasal ialah perkataan bahasa Inggeris yang merupakan singkatan

dari modulator-demolator. Perangkat keras ini digunakan untuk mengubah sinyal

digital menjadi sinyal analog sehingga data dari komputer bisa dikirimkan melalui

saluran telepon atau saluran lainnya.

Digital ialah isyarat yang mengandungi siri suis elektronik yang diwakili

oleh ciri hidup dan mati, ciri hidupnya diwakili oleh angka 1, manakala ciri

matinya pula diwakili oleh 0. Dengan penggunaan ciri ini serta kombinasi

angkanyalah maka komputer mampu menghasilkan data berbentuk teks, grafik

dan sebagainya

Analog ialah isyarat berbentuk gelombang bunyi melalui talian elektrik

dan data serta maklumat dihasilkan berasaskan kekuatan gelombang serta tahap

frekuensinya. Ringkasnya, modem berfungsi mengubahkan isyarat berbentuk 1

dan 0 tadi kepada isyarat berbentuk gelombang serta frekuensi begitu jugalah

sebaliknya.
63

Data dari komputer yang berbentuk sinyal digital diberikan kepada modem

untuk diubah menjadi sinyal analog. Sinyal analog tersebut dapat dikirimkan

melalui beberapa media telekomunikasi seperti telepon dan radio.

Setibanya di modem tujuan, sinyal analog tersebut diubah menjadi sinyal

digital kembali dan dikirimkan kepada komputer. Terdapat dua jenis modem

secara fisiknya, yaitu modem eksternal dan modem internal

2.11. CSD (Circuit Swith Data)

Komunikasi voice ataupun data tidak terlepas dari teknik switching.

Berikut adalah uraian beberapa teknik switching yang diterapkan. Teknik

Switching dikenal ada dua buah yaitu Circuit Switching and Packet Switching.

1. Circuit Switching

Menerapkan sebuah path komunikasi yang dedicated (permanen) antara 2 buah

station

i. Melibatkan tiga fase :

1. Circuit Establishment

2. Signal Transfer (mungkin analog voice, digitized voice, binary

data)

3. Circuit disconnect

ii. Kurang efisien karena koneksi tetap established walaupun

tidak ada data yang ditransfer

iii. Contoh konkret adalah public telephone network, PBX

(Public Branches eXchange utk gedung)


64

iv. tidak complex dalam routing, flow control, dan syarat-

syarat error control.

1.1 Routing dalam Circuit Switching

Efisiensi jaringan diperoleh dengan cara meminimisasi switching and

kapasitas transmisi. Komponen dalam arsitektur jaringan telekomunikasi umum

adalah :

a. Pelanggan

b. Local Loop : link antara pelanggan dan jaringan. Hampir semuanya

menggunakan twisted pair. Panjangnya antara beberapa kilometer dan

beberapa puluh kilometer.

c. Exchanges : switching lokal dalam sebuah jaringan.

Switching Lokal mendukung pelanggan-pelanggan yang dikenal dengan

nama end office yang biasanya dapat mendukung beribu-ribu pelanggan

dalam local area.

d. Trunks : cabang-cabang antara exchanges. Trunks membawa multiple

voice-frequency dengan menggunakan FDM (Frequency Division

Multiplex) atau synchronous TDM (Time Division Multiplex).

a
b switch
Trunk
c

switch
Trunk

d
switch
65

Gambar II.9 Routing

a dan b koneksi dalam satu buah end office, sedangkan c dan d koneksi

yang lebih kompleks. Lebih disukai menggunakan dynamic routing daripada

static routing dikarenakan kondisi traffic yang makin kompleks dan lebih

fleksibel. Adapun dalam kelas-kelas dalam dynamic routing adalah sebagai

berikut :

1. Alternate Routing
Adalah routing-routing pilihan yang dapat digunakan antara dua end

office. Tiap switch diberikan sejumlah route untuk mencapai tiap tujuan. Jika

hanya ada satu route dalam tiap pasang source-destination, ini disebut dengan

fixed alternate routing. Yang lebih umum digunakan adalah dynamic alternate

routing. Routing decision didasari atas status current traffic (akan ditolak jika

sibuk) dan historical traffic patterns (urutan-urutan route yang diinginkan).

2. Adaptive Routing

Didesain untuk memfungsikan switch dalam mengubah bentuk traffic pada

sebuah jaringan. Situasi seperti ini, switch yang ada saling bertukar informasi

untuk mempelajari kondisi jaringan sehingga tipe routing ini lebih efisien

daripada alternate routing dalam hal resourcing jaringan.


66

DTM (Dynamic Traffic Management) yang dikembangkan oleh Northern

Telecom menggunakan central network untuk mencari the best alternate route

bergantung dari congestion (kepadatan) dalam jaringan tersebut. Central

controller mengumpulkan status data dari tiap switch untuk mencari alternate

route yang diinginkan.

Jaringan dengan menggunakan circuit-switched adalah didesain untuk

voice traffic. Walaupun demikian, circuit-switched network juga digunakan dalam

komunikasi data dimana akan terjadi :

a. Untuk terminal-to-host data connection, waktu pada line terbuang

percuma. Jadi komunikasi data akan tidak efisien jika menggunakan circuit-

switched network.

b. Koneksi menyediakan rate yang konstan. Jadi device yang saling

terhubung mempunyai rate yang sama saat transmit atau receiving data. Ini

membatasi utilitas dalam jaringan yang banyak terdapat variasi komputer

dan terminal.

2. Packet Switching

Dalam Packet Switching, data yang ditransmisikan dibagi-bagi ke dalam

paket-paket kecil. Jika source mempunyai message yang lebih panjang untuk

dikirim, message itu akan dipecah ke dalam barisan-barisan paket. Tiap paket

berisi data dari user dan info control. Info control berisi minimal adalah info agar

bagaimana paket bisa melalui jaringan dan mencapai alamat tujuan.

Beberapa keuntungan yang diperoleh dari packet switching :


67

i. Efisiensi line sangat tinggi; hubungan single node-to-node dapat dishare

secara dinamis oleh banyak paket. Paket-paket diqueue dan ditransmisikan

secepat mungkin. Secara kontras, dalam circuit switching, waktu pada link

node-to-node adalah dialokasikan terlebih dahulu menggunakan time-

division multiplexing.

b. Jaringan packet-switched dapat membuat konversi data-rate. Dua buah

station yang berbeda data-ratenya dapat saling menukar paket.

c. Ketika traffic mulai padat, beberapa call diblok, yang menunjukkan

jaringan menolak permintaan koneksi tambahan sampai beban di jaringan

menurun. Dalam packet switchied network, paket masih dapat diterima

akan tetapi delay delivery bertambah.

d. Prioritas dapat digunakan. Jadi kalau sebuah node mempunyai sejumlah

queued packet untuk ditransmisikan, paket dapat ditransmisikan pertama

kali berdasarkan prioritas yang lebih tinggi. Paket-paket ini mempunyai

delay yang lebih kecil daripada lower-priority packets.

3. Operasi Internal

Ada dua pendekatan yang berhubungan dengan jaringan, yaitu datagram

dan virtual circuit. Pada datagram tiap paket bisa diroutekan berbeda, misalnya

station A akan kirim paket 1, 2, dan 3. Route A menuju E ada dua route, maka

kemungkinan paket 1 menempuh route yang berbeda dengan paket 2 tergantung

dari kepadatan masing-masing jalur. Sedangkan pada virtual circuit, sebuah route

antara station dikonfigurasi sebelum terjadi transfer data. Ini bukan dedicated path
68

seperti dalam circuit-switching. Sebuah paket masih disimpan dalam tiap node.

Perbedaannya dengan datagram adalah node tidak perlu melakukan routing

decision untuk tiap paket, dilakukan hanya sekali dan berlaku untuk semua paket.

Jika ada dua station yang akan saling menukar data dalam periode waktu

tertentu, maka dapat dipastikan keuntungan banyak diperoleh jika menggunakan

virtual circuit. Pertama, jaringan menyediakan pelayanan yang berhubungan

dengan virtual circuit termasuk sequencing and error-control. Sequencing

berfungsi apabila semua paket mengambil route yang sama. Error control adalah

pelayanan untuk meyakinkan semua paket dapat tiba di tujuan, tapi juga tiba

dengan paket yang benar-benar diinginkan, tidak ada cacat.

Keuntungan dari datagram adalah call setup phrase dapat dihindari. Jadi

sebuah station yang mengirim hanya satu atau sedikit paket pengiriman datagram

akan lebih cepat. Keuntungan yang lain adalah lebih flexible, lebih primitive.

Sebagai contoh, apabila ada satu bagian network yang buntu, maka datagram

yang dikirim akan mengambil route menjauhi network tersebut. Dengan

penggunaan virtual circuit, karena paket-paket didefinisikan routingnya sebelum

dikirim maka hal ini akan menjadi sulit apabila route yang diambil mengalami

buntu. Keuntungan ketiga adalah pengiriman datagram secara tersirat lebih

reliable. Pada virtual circuit, apabila ada node yang gagal, semua virtual circuit

yang mendefinisikan lewat node tersebut akan lenyap. Pada datagram, paket-

paket akan mencari alternatif routing dimana akan mengabaikan node yang gagal.

Di virtual circuit pada operasi internalnya digunakan packet-switching.


69

Dari sudut pandang user, tidak akan dapat begitu berbeda apabila provider

menggunakan packet-switched atau circuit-switched network.

4. Ukuran Paket

Ada hubungan antara ukuran paket dengan waktu dalam pentransmisian

data. Pada gambar terlihat bahwa data apabila dipecah makin kecil membutuhkan

waktu lebih cepat, dan tiap paket pecahannya harus disisipi headernya. Akan

tetapi jika dipecah semakin kecil akan didapatkan waktu transmisi yang lebih

besar dari sebelum paket lebih diperkecil lagi. Dalam hal ini harus dipilih

pemecahan paket yang optimum.


70

1-packet message 2-packet message 5-packet message 10-packet message


Header

1 1

DATA 2 1
1
2 1
DATA
3 2 1

3 2 1 3 2
4
DATA DATA
2
1 5 3
4
4 3 2
Header
6 5 4
Time 5 4 3
7 5
6
DATA DATA
2 1
8 7
5 4 6
DATA

9 8 7

5
DATA 10 9 8
2

Header 10 9

10

DATA

Gambar II.10 Perbedaan Ukuran-Ukuran Paket

5. Operasi Internal dan External Service

Hal terpenting dalam packet-switched network adalah pemilihan dalam

menggunakan datagram atau virtual circuit. Pada interface antara sebuah station

dengan sebuah node network, network harus menyediakan pelayanan connection-

oriented dan connection-less. Pada connection-oriented, sebuah station

melakukan call request untuk membentuk sebuah logical connection ke station

yang lain. Semua paket yang disajikan ke dalam network diidentifikasi kepunyaan

logical connection tertentu dan diberi nomor secara berurut.


71

Logical connection biasanya merujuk pada sebuah pelayanan external

virtual circuit yang jauh berbeda dari konsep operasi internal virtual circuit.

Sedangkan pada pelayanan connectionless, jaringan hanya menangani paket

secara independent dan mungkin tidak ditransmisikan secara berurut. Tipe service

seperti ini dikenal dengan nama external datagram service yang juga jauh berbeda

dari konsep operasi internal datagram service. Secara internal, jaringan akan

membuat route antara endpoints (virtual circuit) atau tidak (datagram).

a. External virtual circuit, internal virtual circuit : Jika user meminta virtual

circuit, sebuah dedicated route yang melintasi dalam jaringan akan

dibangun. Semua paket mengikuti route yang sama.

b. External virtual circuit, internal datagram : Jaringan menangani tiap paket

secara terpisah. Jadi, paket-paket yang berbeda dalam external virtual

circuit yang sama akan mengambil route yang mungkin berbeda.

c. External datagram, internal datagram : Tiap paket diperlakukan secara

bebas dari segi user atau dari segi jaringannya.

d. External datagram, internal virtual circuit


72

B3 B2 B1 Packet-
A Switched
C3 C2 C1 Network

External Datagram

L3 L2 L1 Packet-
A Switched
23 22 21 Network

External Virtual Circuit


C

2 1
2 3

6 C
1

A 4 5

Internal Datagram

2 3
VC # 1

6 C
1

A 4 5

VC # 2
Internal Virtual Circuit

Gambar II.11 Perbedaan antara External dan Internal Operation

Pemilihan akan virtual circuit dengan datagram tergantung dari desain

objek untuk komunikasi jaringan dan faktor-faktor cost secara detailnya.


73

Untuk external service :

a. Datagram service memberikan penggunaan yang efisien

dari jaringan dimana tidak ada call setup. Ini akan cocok untuk penggunaan

beberapa aplikasi real time.

b. virtual circuit service dapat menyediakan end-to-end

sequencing dan error control. Ini akan cocok untuk aplikasi seperti file

transfer dan remote access terminal.

Perbandingan antara Circuit Switching dengan Packet Switching :

Gambar II.12 Perbedaan antara Circuit Switching dengan Packet Switching

Pada Gambar II.14 dimisalkan ada 4 node, node 1 sebagai source address

dan node 4 sebagai destination address. Untuk circuit switching ada sejumlah

delay sebelum message dikirim, yaitu untuk call request, lalu jika destination

station tidak sibuk, sinyal accepted dikirim dari destination address. Proses ini

tidak berlangsung setelah koneksi telah disetup. Virtual circuit switching hampir
74

sama dengan circuit switching. Berbeda dengan circuit switching, call acceptance

akan memakan waktu (delay) walaupun koneksi telah established. Hal itu karena

paket itu mengalami antrian dan harus menunggu untuk retransmisi. Sekali virtual

circuit established, message akan dikirim dalam bentuk paket-paket. Maka virtual

circuit tidak akan lebih cepat dari circuit switching.

Datagram packet switching tidak membutuhkan call setup. Jadi untuk

message pendek akan lebih cepat dari virtual circuit packet switching dan

mungkin juga circuit switching. Selama tiap datagram diroute secara bebas,

proses untuk tiap datagram di tiap node mungkin lebih panjang dari paket-paket

virtual circuit. Jadi untuk message yang panjang-panjang, teknik virtual circuit

mungkin diutamakan.

Tabel II.3. Perbedaan antara Circuit Switching dengan Packet Switching


Circuit Switching Virtual-Circuit Packet Datagram Packet Switching
75

Switching
Dedicated transmission path No dedicated path No dedicated path
Continous transmission of data Transmission of packets Transmission of packets
Fast enough for interactive Fast enough for interactive Fast enough for interactive
Messages are not stored Packets stored until delivered Packets may be stored until
delivered
The path is established for Route established for entire Route established for each
entire conversation conversation packet
Call setup delay; negligible Call setup delay; packet Packet transmission delay
transmission delay transmission delay
Busy signal if called party Sender notified of connection Sender may be notified if
busy denial packet not delivered
Overload may block call Overload may block call Overload increases packet
setup; no delay for established setup; increases packet delay delay
calls
User responsible for message Network may be responsible Network may be responsible
loss protection for packet sequences for individual packets
Usually no speed or code Speed and code conversion Speed and code conversion
conversion
Fixed-bandwidth transmission Dynamic use of bandwidth Dynamic use of bandwidth
No overhead bits after call Overhead bits in each packet Overhead bits in each packet
setup

Anda mungkin juga menyukai