Anda di halaman 1dari 24

5

BAB II
KAJIAN PUSTAKA
2.1.

Pengertian Sistem
Menurut Al Fatta (2007:3) Suatu sistem dapat terdiri dari beberapa
subsistem atau sistem-sistem bagian. Komponen-komponen atau subsistemsubsistem dalam suatu system tidak dapat berdiri sendiri-sendiri. Komponenkomponen

atau

subsistem-subsistem

saling

berinteraksi

dan

saling

berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran dapat


tercapai.
Pendekatan

sistem

yang

lebih

menekankan

pada

prosedur

mendefinisikan sistem sebagai berikut :


Suatu sistem adalah jaringan daripada elemen-elemen yang saling
berhubungan, membentuk satu kesatuan yang untuk melaksanakan suatu
tujuan pokok dari sistem tersebut.
Pendekatan sistem yang lebih menekankan pada komponennya
mendefinisikan sebagai berikut :
Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk
mencapai tujuan tertentu.
2.1.1. Karakteristik Sistem
Suatu sistem pempunyai karakteristik atau sifat-sifat tertentu yaitu
mempunyai komponen (components), mempunyai batas sistem (boundary),
mempunyai lingkungan (environments), mempunyai penghubung atau antar
muka (interface) antar komponen, mempunyai masukan (input), mempunyai
pengolahan (processing), mempunyai keluaran (output), mempunyai sasaran
(objective) dan tujuan (goal), mempunyai kendali (control), dan mempunyai
umpan balik (feed back).
1.

Komponen sistem ( systems component )


Komponen sistem adalah segala sesuatu yang menjadi bagian penyusun
sistem. Komponen sistem dapat berupa benda nyata ataupun abstrak.
Komponen sistem disebut sebagai subsistem, dapat berupa orang,
benda, hal atau kejadian yang terlibat didalam sistem.

2. Mempunyai Batas sistem (boundary)

Batas sistem diperlukan untuk membedakan satu sistem dengan sistem


lain. Tanpa adanya batas sistem maka sangat sulit untuk menjelaskan
suatu sistem. Batas sistem akan memberikan batasan scope tinjauan
terhadap sistem.
3. Mempunyai Lingkungan (environment)
Lingkungan sistem adalah segala sesuatu yang berada di luar sistem.
Lingkungan

sistem

dapat

menguntungkan

ataupun

merugikan.

Umumnya, lingkungan yang menguntungkan akan selalu dipertahankan


untuk menjaga keberlangsungan sistem. Sedangkan lingkungan sistem
yang merugikan akan diupayakan agar mempunyai pengaruh seminimal
mungkin, bahkan jika mungkin ditiadakan.
4. Mempunyai antar muka (interface) antar komponen
Penghubung atau antar muka merupakan komponen sistem, yaitu segala
sesuatu yang bertugas menjembatani hubungan antar komponen dalam
sistem. Penghubung merupakan sarana yang memungkinkan setiap
komponen

saling

berinteraksi

dan

berkomunikasi

dalam

rangka

menjalankan fungsi masing-masing komponen. Dalam dunia komputer,


antar muka dapat berupa berbagai macam tampilan dialog layar monitor
yang memungkinkan seseorang dapat dengan mudah mengoperasikan
sistem aplikasi komputer yang digunakannya.
5. Mempunyai Masukan (input)
Masukan merupakan komponen sistem, yaitu segala sesuatu yang perlu
dimasukkan ke dalam sistem sebagai bahan yang akan diolah lebih
lanjut untuk menghasilkan keluaran yang berguna. Dalam sistem
Informasi Manajemen, masukan di sebut sebagai data.
6. Mempunyai Pengolahan (processing)
Dalam sistem informasi manajemen, pengolahan adalah berupa program
aplikasi komputer yang dikembangkan untuk keperluan khusus. Program
aplikasi tersebut mampu menerima masukan, mengolah masukan, dan
menampilkan hasil olahan sesuai dengan kebutuhan para pemakai.
7.

Mempunyai Keluaran (output)


Keluaran merupakan komponen sistem berupa berbagai macam bentuk
keluaran yang dihasilkan oleh komponen pengolahan. Dalam sistem
informasi manajemen, keluaran adalah informasi yang dihasilkan oleh

program aplikasi yang akan digunakan oleh pemakai sebagai bahan


pengambilan keputusan.
8. Mempunyai Sasaran (objective) dan Tujuan (goal)
Setiap komponen dalam sistem perlu dijaga agar saling bekerja sama
dengan harapan agar mampu mencapai sasaran dan tujuan sistem.
Sasaran berbeda dengan tujuan. Sasaran sistem adalah apa yang ingin
dicapai oleh sistem untuk jangka waktu yang relative pendek. Sedangkan
tujuan merupakan kondisi/hasil akhir yang ingin dicapai oleh sistem untuk
jangka waktu yang panjang. Dalam hal ini, sasaran merupakan hasil
pada setiap tahapan tertentu yang mendukung upaya pencapaian tujuan.
9. Mempunyai Kendali (control)
Bagian kendali mempunyai peran utama menjaga agar proses dalam
sistem dapat berlangsung secara normal sesuai batasan yang telah
ditetapkan sebelumnya. Dalam sistem informasi manajemen, kendali
dapat berupa validasi masukan, validasi proses, maupun validasi
keluaran yang dapat dirancang dan dikembangkan secara terprogram.
10. Mempunyai Umpan Balik (feed back)
Umpan balik diperlukan oleh bagian kendali (control) sistem untuk
mengecek

terjadinya

penyimpangan

proses

dalam

sistem

dan

mengembalikannya ke dalam kondisi normal.


2.1.2. Kriteria Sistem yang Baik
Kriteria sistem yang baik antara lain:
a.
Kegunaan
Sistem harus menghasilkan informasi yang tepat pada waktunya, relevan
b.

yang berarti sistem tersebut mempunyai manfaat bagi pemakainya.


Ekonomis
Dalam merancang atau membangun sebuah sistem sebisa mungkin
hemat pada biaya perancangan, perawatan maupun operasional sistem

tersebut.
c.
Kehandalan
Keluaran (output) sistem harus memiliki tingkat ketelitian yang sangat
tinggi dan sistem itu sendiri harus mampu beroperasi secara efektif dan
efisien.
d.

Kapasitas
Harus mempunyai kapasitas yang memadai untuk menangani periodeperiode operasi puncak seperti pada saat sistem beroperasi pada puncak.

e. Fleksibilitas
Sistem harus cukup fleksibilitas untuk menampung perubahan yang akan
Muncul sewaktu-waktu.
2.2.

Konsep Dasar Pengontrolan


Konsep dasar pengontrolan sudah ada sejak abad-18 yang dipelopori
James Watt

yang membuat kontrol mesin uap, Nyquis (1932) membuat

sistem pengendali uang tertutup, Hazem (1943) membuat Servo mekanik dan
masih banyak yang lainnya. Berdasarkan Ejaan Yang Disempurnakan (EYD)
pengontrolan berasal dari kata kontrol. Kontrol sama dengan pengawasan,
pemeriksaan dan pengendalian. Sedangkan pengontrolan itu sendiri adalah
proses, cara pembuatan mengontrol (mengawasi, memeriksa), pengawasan,
pemeriksaan.
2.2.1. Definisi Komputer
Alat

bantu

bagi

manusia

untuk

menyelesaikan

pekerjaannya.

Perangkat elektronik yang dapat dipakai untuk mengolah data dengan


perantaraan sekumpulan program dan mampu memberikan informasi dari
hasil pengolahan tersebut. Dalam bahasa indonesia sering ditulis dengan
komputer.
Istilah komputer berasal dari kata Computare, yang berarti menghitung.
Artinya, setiap proses yang dilaksanakan oleh komputer merupakan proses
matematika hitungan. Jadi apapun yang dilakukan oleh komputer, baik
penampakan pada layar monitor, suara, gambar. diolah sedemikian rupa dari
perhitungan secara elektronik.
Komputer adalah hasil dari kemajuan teknologi elektronika dan
informatika yang berfungsi sebagai alat bantu untuk menulis, menggambar,
menyunting gambar atau foto, membuat animasi, mengoperasikan program
analisis ilmiah, simulasi dan untuk kontrol peralatan. Bentuk komputer yang
dulu cukup besar untuk mengoperasikan sebuah program, sekarang
berbentuk kecil dengan kemampuan mengoperasikan program yang beragam.
Perlengkapan elektronik (hardware) dan program (software) telah menjadikan
sebuah komputer menjadi benda yang berguna.
Sebuah komputer yang hanya memiliki perlengkapan elektronik saja
atau software saja tidak akan berfungsi. Dengan ada keduanya maka

komputer dapat berfungsi menjadi alat yang berguna. Sistem komputer juga
dapat dikembangkan untuk mengontrol peralatan mesin produksi ataupun
peralatan rumah tangga. Dengan menambah rangkaian elektronik buatannya,
maka komputer biasa bisa dipergunakan untuk mengendalikan peralatanperalatan industri dan rumah tangga. Adanya kecenderungan pemanfaatan
komputer untuk kontrol seperti ini dengan dukungan teknologi chip IC telah
memungkinkan orang membuat robot kecil yang berguna seperti robot
kendaraan yang dipergunakan dalam misi ruang angkasa.
Berdasarkan data yang di olahnya, komputer terdiri dari:
-

Komputer Analog
Komputer yang mengolah data berdasarkan sinyal yang bersifat kualitatif,
atau sinyal analog, untuk mengukur variabel-variabel seperti voltase,
kecepatan suara, resistansi udara, suhu, pengukuran gempa dan lain-lain.

Komputer Digital
Adalah mesin komputer yang diciptakan untuk mengolah data yang
bersifat kuantitatif dalam bentuk angka, huruf, tanda baca dan lain-lain.
Yang pemrosesnya dilaksanakan berdasarkan teknologi yang mengubah
sinyal menjadi kombinasi bilangan 0 dan 1.

Komputer Hybrid
Komputer jenis ini diperuntukan untuk mengolah data yang sifatnya baik
kuantitatif maupun kualitatif, atau dengan istilah lain menggabungkan
kemampuan digital dengan analog. Dengan perkataan lain data kuantitatif
yang diolah menghasilkan data kualitatifnya dan sebaliknya.

2.2.2. Teori SMS (Short Message Service)


SMS (Short Message Service) merupakan sebuah layanan yang
banyak diaplikasikan pada sistem komunikasi nirkabel, memungkinkan
dilakukannya pengiriman pesan dalam bentuk alphanumeric antara terminal
pelanggan atau antara terminal pelanggan dengan sistem eksternal seperti,
email, paging, voice mail dan lain-lain. Isu SMS pertama kali muncul di
belahan Eropa sekitar tahun 1991 bersama sebuah teknologi wireles yang
saat ini banyak penggunanya yaitu Global System for Mobile Communication
(GSM). Dipercaya bahwa message pertama yang dikirimkan menggunakan
SMS dilakukan pada bulan Desember 1992, dikirimkan dari sebuah Personal
Computer (PC) ke telepon mobile (bergerak) dalam jaringan GSM milik

10

Vodafone Inggris. Perkembangannya kemudian merambah ke benua Amerika,


dipelopori oleh beberapa operator komunikasi bergerak berbasis digital seperi
BellSouth Mobility, PrimeCo, Nextel dan beberapa operator lain. Teknologi
digital yang digunakan bervariasi dari yang berbasis GSM, Time Division
Multiple Access (TDMA), hingga Code Division Multiple Access (CDMA).
SMS menjadi fenomena tersendiri, dalam waktu yang cukup singkat
tingkat pertumbuhannya sangat tinggi tanpa ada penurunan tarif yang berarti,
bahkan dapat dikatakan tarifnya mengambil posisi steady state. Biasanya,
bahkan dalam kasus
Layanan telepon seluler, tarif akan turun seiring dengan meningkatnya
pengguna. Fakta lainnya adalah fasilitas SMS dalam telepon seluler ternyata
mempunyai andil yang cukup besar dalam menarik kaum muda masuk ke
pasar telepon seluler.
Mekanisme utama yang dikerjakan dalam sistem SMS adalah
melakukan pengiriman short message dari satu terminal pelanggan ke
terminal yang lain. Hal ini dapat dilakukan berkat adanya sebuah entitas
dalam sistem SMS yang bernama Short Message Sevice Center (SMSC) atau
disebut juga message center (MC).
SMSC merupakan sebuah perangkat yang melakukan tugas store and
forward trafik short message. Di dalamnya termasuk penentuan atau
pencarian rute tujuan akhir dari short message. Sebuah SMSC biasanya
didesain untuk dapat menangani short message dari berbagai sumber seperti
Voice Mail System (VMS), Web-Bassed Messaging, Email Integration,
External Short Messaging Entities (ESME), dan lain-lain. Dalam interkoneksi
dengan entitas dalam jaringan komunikasi wireless seperti Home Location
Register (HRL) dan Mobile Switching Center (MSC), SMSC biasanya
menggunakan Signal Transfer Point (STP).
Layanan SMS merupakan sebuah layanan yang bersifat nonreal time di
mana sebuah short message dapat di-submit ke suatu tujuan, tidak peduli
apakah tujuan tersebut aktif atau tidak. Bila dideteksi bahwa tujuan tidak aktif,
maka sistem akan menunda pengiriman ke tujuan hingga tujuan aktif kembali.
Pada dasarnya sistem SMS akan menjamin delivery (terkirim) dari suatu short
message hingga sampai ke tujuan. Kegagalan pengiriman yang bersifat
sementara seperti tujuan tidak aktif akan selalu teridentifikasi sehingga

11

pengiriman short message akan selalu dilakukan kecuali apabila diberlakukan


aturan bahwa short message yang telah melampaui batas waktu tertentu
harus dihapus dan dinyatakan gagal terkirim.
Karakteristik utama SMS adalah merupakan sebuah sistem pengiriman
data dalam paket yang bersifat out-of-band dengan bandwidth kecil. Dengan
karakteristik ini, pengiriman suatu burst data yang pendek dapat dilakukan
dengan efisiensi yang sangat tinggi.
2.3.

Arsitektur SMS dan Sistem Kerja SMS


Pada saat pesan SMS dikirim dari ponsel, maka pesan SMS tersebut
tidak langsung dikirim ke ponsel tujuan, akan tetapi terlebih dahulu dikirim ke
SMS Center (SMSC) dengan prinsip store and forward (simpan dan teruskan),
setelah itu baru dikirimkan ke ponsel yang dituju.
Dengan adanya SMSC ini, status dari SMS yang dikirim dapat
diketahui, apakah telah sampai atau gagal diterima oleh ponsel tujuan.
Apabila ponsel tujuan dalam keadaan aktif dan menerima SMS yang dikirim,
ponsel tujuan akan mengirim kembali pesan konfirmasi ke SMSC yang
menyatakan bahwa SMS telah diterima. Kemudian SMSC mengirimkan
kembali status tersebut ke ponsel pengirim. Tetapi jika ponsel tujuan dalam
keadaan mati atau di luar jangkauan, SMS yang dikirimkan akan disimpan
pada SMSC sampai periode validitas terpenuhi. Jika periode validitas terlewati
maka SMS itu akan dihapus dari SMSC dan tidak dikirimkan ke ponsel tujuan.
Di samping itu, SMSC akan mengirim pesan informasi ke nomer pengirim
yang menyatakan pesan yang dikirim belum diterima atau gagal .

Gambar 2.1. Skema Cara Kerja SMS


2.3.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

12

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


internet server,

dll. Sebuah SME dapat berupa server yang terkoneksi

dengan SMS centre secara langsung atau melalui gateway. Dikenal juga
External SME (ESME) yang merepresentasikan sebuah WAP proxy/server,
Email Gateway atau Voice Mail server.
2.3.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 mobile network (cth: terintegrasi dengan MSC) atau sebagai
entitas network independen.

Gambar 2.2. SMS setting - handset screenshot


2.3.3. Email Gateway
Email Gateway memungkinkan sebuah email beroperasi menjadi SMS
dengan iterkoneksi 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.
Gambar berikut ini menunjukkan dua GSM network dan komponen
yang relevan untuk menyampaikan pesan dari end user A ke end user B:

13

Gambar 2.3. Susunan Jaringan dan Aliran Message

SMS dikirim melalui MSC/VLR ke SMSC di PLMN (Public Land Moile


Network) A. Ini merupakan sebuah pesan MAP forward SM, termasuk nomor
MSISDN asal A dan MSISDN tujuan B.

Karena end user B berada di PLMN B, SMSC harus merouting informasi dari
HLR PLMN B. Untuk melakukannya, SMSC mengirim MAP send routing info
for SM dengan nomor MSISDN B.

HLR mengirim kembali IMSI dari end user B dan VLR nya.

SMSC mengirim SMS sebagai MAP message melalui MSC/VLR ke end user
B.

2.3.4. SMS Gateway


SMS gateway adalah sebuah perangkat yang menawarkan layanan
transit SMS, mentransformasikan pesan ke jaringan selular dari media lain,
atau sebaliknya, sehingga memungkinkan pengiriman atau penerimaan pesan
SMS dengan atau tanpa menggunakan ponsel. SMS gateway dapat
terhubung ke media lain seperti perangkat SMSC dan server milik Content
Provider melalui link IP untuk memproses suatu layanan SMS. Sebuah sistem
SMS gateway, umumnya terdiri komponen Hardware ( Server/Komputer yang
dilengkapi dengan perangkat jaringan) dan Software (Aplikasi yang digunakan
untuk pengolahan pesan). Adapun software atau aplikasi pendukung dalam
media SMS gateway adalah:

XAMPP Control Application


Xampp Control Application adalah tabel data base pada web server Yang di
dalam nya telah tertanam aplikasi Apache dan MySql yang kita tidak perlu
repot lagi membuat tabel database. Sehingga kita dapat menjalankan aplikasi
Gammu.

GAMMU
Gammu merupakan aplikasi open source untuk keperluan SMS gateway dan
memanage handphone. Gammu bisa digunakan dalam bentuk service yang
diinstall dalam system komputer kita, dan menggunakan database mysql,
yang telah terpasang pada applikasi gammu setelah menjalankan program

14

Xampp Control Application, tinggal di execute. Dan sedikit edit configurasi file.
Untuk mengirim sms, cukup menaruh smsnya ke tabel outbox.
2.3.5. Bahasa Pemrograman.
Pemrograman merupakan suatu proses guna mengimplementasikan
algoritma dengan menggunakan suatu bahasa pemrograman. Satu hal yang
cukup penting sebelum seorang pemrogram mulai menyusun program adalah
memilih bahasa pemrograman yang akan digunakan.
Bahasa pemrograman merupakan prosedur atau tata cara penulisan
program.Pada bahasa pemrograman terdapat dua faktor penting, yaitu sintax
dan semantik. Sintaks (Syntax) adalah aturan-aturan gramatikal yang
mengatur tata cara penulisan kata, ekspresi dan pernyataan, sedangkan
semantik adalah aturan-aturan untuk menyatakan suatu arti.
Fungsi bahasa pemrograman adalah sebagai media untuk menyusun
dan memahami serta sebagai alat komunikasi antara program dengan
komputer, meskipun dapat juga digunakan sebagai alat komunikasi antara
orang yang satu dengan yang lain.
Secara umum bahasa pemrograman dapat dibagi dalam empat kelompok,
yaitu:
a. Bahasa tingkat rendah (Low Level Language)
Bahasa

tingkat

rendah

merupakan

bahasa

pemrograman

yang

berorientasi pada mesin. Pemrograman yang menggunakan bahasa ini


harus dapat berfikir berdasarkan logika mesin pada komputer, sehingga
bahasa ini dinilai kurang fleksibel dan sulit untuk dipahami oleh pemula.
Contohnya adalah bahasa assembly.
b. Bahasa tingkat menengah ( Middle Level Language)
Bahasa tingkat menengah merupakan bahasa pemrograman yang
menggunakan aturan-aturan

gramatikal dalam penulisan ekspresi atau

pernyataan dengan standar bahasa yang mudah dipahami oleh manusia


serta memiliki instruksi-instruksi tertentu yang dapat langsung diakses oleh
computer. Contohnya adalah bahasa C.
c.

Bahasa Tingkat Tinggi (High Level Language)


Bahasa

tingkat

tinggi

merupakan

bahasa

pemrograman

yang

menggunakan aturan-aturan gramatikal dalam penulisan ekspresi atau


peryataan dengan standar bahasa yang mudah dipahami secara langsung

15

oleh manusia. Contohnya adalah bahasa Pascal, Fortran, Cobol, Power


Basic, dan lain-lain.
d. Bahasa Berorientasi Objek (Object Oriented Language)
Bahasa berorientasi objek merupakan bahasa pemrograman yang
mengandung

kapsul-kapsul

yang

berisi

fungsi-fungsi

untuk

menyelesaikan masalah. Dengan bahasa ini pemrogram tidak lagi harus


menuliskan secara detail semua pernyataan dan ekspresi seperti pada
bahasa tingkat tinggi, melainkan cukup dengan memasukkan kriteriakriteria yang dikehendaki saja. Bahasa ini kemudian akan menggunakan
kapsul-kapsul tersebut untuk memecahkan permasalahan itu. Contohnya
adalah bahasa C++, Visual Foxpro, Visual Basic, Borland Delphi, Java, VB
Net, dan lain-lain.
Agar komputer dapat memahami program yang disusun dengan
suatu bahasa pemrograman, maka dibutuhkan suatu penerjemah, yaitu
interpreter atau compiler.
2.4.

Interpreter
Interpreter berasal dari kata to interpret yang berarti menerjemahkan
atau mengartikan. Interpreter merupakan penerjemah bahasa pemrograman
yang menerjemahkan instruksi demi instruksi pada saat dieksekusi program.
Pada saat menerjemahkan, interpreter akan memeriksa sintaksis,
leksikal dan semantic dari setiap instruksi program. Jika ditemukan kesalahan
sintaksis (syntax error) maka interpreter akan menampilkan pesan kesalahan
dan proses eksekusi program akan langsung terhenti saat itu juga.
Ruang pengingat yang dibutuhkan untuk interpreter tidak besar karena
program dieksekusi secara berurutan (sequence). Namun demikian ruang
pengingat yang tersedia harus cukup besar, karena pada saat eksekusi itu
seluruh source program, data dan interpreter secara bersama-sama berada di
ruang pengingat.

16

Gambar 2.4. Diagram Proses Kerja Interpreter


Penerjemah jenis interpreter ini lebih cocok digunakan oleh para
pemula,

sedangkan

untuk

pemrogram

yang

telah

beranjak

menjadi

professional maka penerjemah ini kurang cocok karena interpreter akan


membiasakan pemrogram untuk menyusun program dengan logika yang
kurang baik. Hal ini dapat dilihat dari proses penerjemahan yang dilakukan
interpreter yang tidak mampu mendeteksi kesalahan sintaksis saja.
2.5.

Compiler
Istilah compiler berasal dari kata to compile yang berarti menyusun,
mengumpulkan atau menghimpun. Compiler merupakan penerjemah bahasa
pemrograman yang menerjemahkan instruksi-instruksi dalam satu kesatuan
modul kedalam bahasa mesin (object program), kemudian object program
akan mengalami proses linking yang berfungsi untuk menggabungkan modul
tersebut dengan modul lain yang berkaitan, seperti data tentang karakteristik
mesin, file-file pustaka atau object program lainya yang berkaitan dengan
object program tersebut, sehingga dihasilkan suatu file executable program
yang akan dieksekusi oleh komputer. Bila pada saat proses penerjemahan
atau proses linking terjadi kesalahan maka akan tampil pesan kesalahan dan
proses eksekusi akan terhenti.
Proses kompilasi dilakukan setelah seluruh program selesai ditulis,
karena compiler juga akan memeriksa sintaksis, leksikal, semantic dan logika
programnya. Program yang dikompilasi umumnya berjalan dengan kecepatan
tinggi dan tidak tergantung lagi pada bahasa pemrograman yang digunakan
untuk menyusunnya.

17

Gambar 2.5. Diagram Kerja Compiler


Kekurangan penerjemah jenis compiler ini adalah pada penggunaan
ruang pengingat computer yang sangat besar pada saat proses kompilasi
source program untuk menghasilkan object program dan executable program.
2.6.

Mikrokontroler ATMEGA16A
Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu
serpih (chip). Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena
sudah terdapat atau berisikan ROM (Read-Only Memory), RAM (Read-Write
Memory),beberapa bandar masukan maupun keluaran, dan beberapa
peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter), DAC
(Digital to Analog converter) dan serial komunikasi.
Salah satu mikrokontroler yang banyak digunakan saat ini yaitu
mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce Instuction Set
Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler
AVR dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga
AT90Sxx, ATMEGA dan ATtiny. Pada dasarnya yang membedakan masingmasing kelas adalah memori, peripheral, dan fiturnya.
Seperti mikroprosesor pada umumnya, secara internal mikrokontroler
ATMega16 terdiri atas unit-unit fungsionalnya Arithmetic and Logical Unit
(ALU), himpunan register kerja, register dan dekoder instruksi, dan pewaktu
beserta

komponen

kendali

lainnya.

Berbeda

dengan

mikroprosesor,

mikrokontroler menyediakan memori dalam serpih yang sama dengen


prosesornya (in chip).
2.6.1. Arsitektur ATMEGA16A
Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan
memori program dari memori data, baik bus alamat maupun bus data,
sehingga pengaksesan program dan data dapat dilakukan secara bersamaan
(concurrent). Secara garis besar mikrokontroler ATMega16A terdiri dari :
1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi
16Mhz.
2. Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM
1Kb

18

3. Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D.


4. CPU yang terdiri dari 32 buah register.
5. User interupsi internal dan eksternal.
6. Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial
Fitur Peripheral

Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode


compare.

Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare,


dan mode

capture.

Real time counter dengan osilator tersendiri.

Empat kanal PWM dan Antarmuka komparator analog.

8 kanal, 10 bit ADC.

Byte-oriented Two-wire Serial Interface.

Watchdog timer dengan osilator internal.

Gambar 2.6. Blok diagram ATMega16A


2.6.2. Konfigurasi Pena (PIN) ATMEGA16A

19

Konfigurasi pena (pin) mikrokontroler Atmega16A dengan kemasan


40- pena dapat dilihat pada Gambar 2.2. Dari gambar tersebut dapat terlihat
ATMega16A memiliki 8 pena untuk masing-masing Port A, Port B, Port C &
Port D.

Gambar 2.7. Konfigurasi Pin Atmega16A


2.6.3. Deskripsi Mikrokontroler ATMEGA16A

VCC (Power Supply) dan GND(Ground)

Port A (PA7..PA0)
Port A berfungsi sebagai input analog pada konverter A/D. Port A
juga sebagai suatu Port I/O 8-bit dua arah, jika A/D konverter tidak
digunakan. Pena - pena Port dapat menyediakan resistor internal pull-up
(yang dipilih untuk masing-masing bit). Port A output buffer mempunyai
karakteristik

gerakan

simetris

dengan

keduanya

sink

tinggi

dan

kemampuan sumber. Ketika pena PA0 ke PA7 digunakan sebagai input


dan secara eksternal ditarik rendah, penapena akan memungkinkan arus
sumber jika resistor internal pull-up diaktifkan. Pena Port A adalah tristated manakala suatu kondisi reset menjadi aktif, sekalipun waktu habis.

Port B (PB7..PB0)
Port B adalah suatu bandar I/O 8-bit dua arah dengan resistor
internal pull-up (yang dipilih untuk beberapa bit). Port B output buffer
mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi
dan kemampuan sumber. Sebagai input, pena Port B yang secara
eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan.

20

Pena Port B adalah tri-stated manakala suatu kondisi reset menjadi aktif,
sekalipun waktu habis.

Port C (PC7..PC0)
Port C adalah suatu Port I/O 8-bit dua arah dengan resistor
internal pull-up (yang dipilih untuk beberapa bit). Port C output buffer
mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi
dan kemampuan sumber. Sebagai input, pena bandar C yang secara
eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan.
Pena Port C adalah tri-stated manakala suatu kondisi reset menjadi aktif,
sekalipun waktu habis.

Port D (PD7..PD0)
Port D adalah suatu bandar I/O 8-bit dua arah dengan resistor
internal pull-up (yang dipilih untuk beberapa bit). Port D output buffer
mempunyai karakteristik gerakan simetris dengan keduanya sink tinggi
dan kemampuan sumber. Sebagai input, pena Port D yang secara
eksternal ditarik rendah akan arus sumber jika resistor pull-up diaktifkan.
Pena Port D adalah tri-stated manakala suatu kondisi reset menjadi aktif,
sekalipun waktu habis.

2.7.

RESET (Reset input).

XTAL1 (Input Oscillator).

XTAL2 (Output Oscillator).

AVCC adalah pena penyedia tegangan untuk Port A dan Konverter A/D.

AREF adalah pena referensi analog untuk konverter A/D.

Peta Memori ATMega16A

2.7.1. Memori Program


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

21

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

Gambar 2.8. Peta Memori ATMega16A


2.7.2. Memori Data (SRAM)
Memori data AVR ATMega16A 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 $000D
R30 $000E
R31 $000F

22

I/O Registers
$00 $0020
$00 $0021
$01 $0022
... ...
$3D $005D
$3E $005E
$3F $005F
Internal SRAM
$0060
$0061
...
$045E
$045F
2.7.3. Memori Data EEPROM
ATMega16A 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
denganm kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM
mulai dari $000 sampai $1FF.
2.7.4. Analog To Digital Converter
AVR ATMega16A merupakan tipe AVR yang telah dilengkapi dengan 8
saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC
dapat dikonfigurasi, baik single ended input maupun differential input. Selain
itu, ADC ATMega16A memiliki konfigurasi pewaktuan, tegangan referensi,
mode operasi, dan kemampuan filter derau (noise) yang amat fleksibel
sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari ADC itu
sendiri. ADC pada ATMega16
memiliki fitur-fitur antara lain :
Resolusi mencapai 10-bit
Akurasi mencapai 2 LSB
Waktu konversi 13-260s
8 saluran ADC dapat digunakan secara bergantian
Jangkauan tegangan input ADC bernilai dari 0 hingga VCC

23

Disediakan 2,56V tegangan referensi internal ADC


Mode konversi kontinyu atau mode konversi tunggal
Interupsi ADC complete
Sleep Mode Noise canceler
Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi,
formal data keluaran, dan modus pembacaan. Register-register yang perlu
diatur adalah sebagai berikut: ADC Control and Status Register A ADCSRA

Gambar 2.9. ADC Control and Status Register A ADCSRA


ADEN : 1 = adc enable, 0 = adc disable
ADCS : 1 = mulai konversi, 0 = konversi belum terjadi
ADATE : 1 = auto trigger diaktifkan, trigger berasal dari sinyal yang dipilih
(set pada trigger SFIOR bit ADTS). ADC akan start konversi pada
edge positif sinyal trigger.
ADIF

: diset ke 1, jika konversi ADC selesai dan data register ter-update.

Namun ADC Conversion Complete Interrupt dieksekusi jika bit


ADIE dan bit-I dalam register SREG diset.
ADIE : diset 1, jika bit-I dalam register SREG di-set.
ADPS[0..2]

: Bit pengatur clock ADC, faktor pembagi 0 7 = 2, 4, 8, 16, 32,

64, 128.

Tabel 2.1. Konfigurasi Clock ADC


ADC Multiplexer-ADMUX

24

Gambar 2.10. ADC Multiplexer


REFS 0, 1 : Pemilihan tegangan referensi ADC
00

: Vref = Aref

01

: vref = AVCC dengan eksternal capasitor pada AREF

10

: vref = internal 2.56 volt dengan eksternal kapasitor pada AREF

ADLAR : Untuk setting format data hasil konversi ADC, default = 0


Special Function IO Register-SFIOR
SFIOR merupakan register 8 bit pengatur sumber picu konversi ADC, apakah dari
picu eksternal atau dari picu internal, susunannya seperti yang terlihat
pada Gambar 2.7 berikut:

Gambar 2.11. Register SFIOR


ADTS[0...2] : Pemilihan trigger (pengatur picu) untuk konversi ADC, bit-bit ini
akan berfungsi jika bit ADATE pada register ADCSRA bernilai 1. Konfigurasi bit
ADTS[0...2] dapat dilihat pada Tabel 2.2.

Tabel 2.2. Pemilihan sumber picu ADC

25

ADHSM : 1. ADC high speed mode enabled. Untuk operasi ADC, bit ACME,
PUD, PSR2 dan PSR10 tidak diaktifkan.
2.8.

Perangkat Lunak Mikrokontroler ATMega16A


Sebuah mikrokontroler tidak akan bekerja bila tidak diberikan program untuk
diisikan ke dalam mikrokontroler tersebut. Oleh karena itu, dalam tugas Skripsi
ini akan digunakan perangkat lunak Code Vision AVR sebagai media
penghubung antara program yang akan diisikan ke mikrokontroler ATMega16A
yang menggunakan bahasa C. Pemrograman mikrokontroler AVR dapat
menggunakan low level language (Assembler) 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. CodeVision AVR 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,
Compiler C yang digunakan hampir mengimplementasikan semua komponen
standar 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
fungsifungsi

matematik,

manipulasi

string,

pengaksesan

memori

dan

sebagainya), CodeVision AVR juga menyediakan fungsi-fungsi tambahan yang

26

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., CodeVision AVR juga dilengkapi
IDE yang sangat user friendly. Selain menu-menu pilihan yang umum dijumpai
pada setiap perangkat lunak berbasis Windows, CodeVision AVR 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. CodeVision AVR juga menyediakan sebuah fitur yang dinamakan
dengan Code Generator atau CodeWizard AVR. Secara praktis, fitur ini sangat
bermanfaat membentuk sebuah kerangka program (template), dan juga
memberi kemudahan bagi programmer dalam peng-inisialisasian registerregister 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 CodeWizard AVR selesai dilakukan. Secara teknis, penggunaan
fitur ini pada dasarnya hampir sama dengan application wizard pada bahasabahasa pemrograman visual untuk komputer (seperti Visual C, Borland Delphi,
dan sebagainya)
UCSRC:
URSEL (Register Select) :
Bit ini berfungsi untuk memilih register UCSRC dengan UBBRH, dimana untuk
menulis atau membaca register UCSRC maka bit harus berlogika satu.
UMSEL (USART Mode Select)
Bit pemilih mode komunikasi serial antara sinkron dan asinkron. Pengaturan
bit UMSEL dapat dilihat pada Tabel 2.20.

Tabel 2.3. Pengaturan bit UMSEL


UPM[10] (Parity Mode)

27

Bit ini berfungsi untuk memilih mode paritas bit yang akan digunakan.
Transmittter USART akan membuat paritas yang akan digunakan secara
otomatis.
USBS (Stop Bit Select)
Bit yang berfungsi untuk memilih jumlah stop bit yang akan digunakan.
UCSZ1 dan UCSZ0 : merupakan bit pengatur jumlah karakter serial
Bit yang berfungsi untuk memilih lebar data yang digunakan dikombinasikan
dengan bit UCSZ2 dalam register UCSRB. Bit pengatur Ukuran

Karakter dapat dilihat pada Tabel 2.21.

Tabel 2.4. Bit Pengatur Ukuran Karakter


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.9.

Layanan Pesan Singkat SMS (Short Message Service)


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

28

dapat direpresentasikan berupa160 karakter huruf latin atau 70 karakter


alfabet non-latin seperti alfabet Arab atau Cina.
Pengiriman pesan SMS secara store and forward berarti pengirim pesan SMS
menuliskan pesan dan nomor telepon tujuan dan kemudian mengirimkannya
(store) ke server SMS (SMS-Center) yang kemudian bertanggung jawab untuk
mengirimkan pesan tersebut (forward) ke nomor telepon tujuan. Hal ini mirip
dengan mekanisme store and forward pada protokol SMTP yang digunakan
dalam pengiriman e-mail internet. Keuntungan mekanisme store and forward
pada SMS adalah penerima tidak perlu dalam status online ketika ada
pengirim yang bermaksud mengirimkan pesan kepadanya, karena pesan akan
dikirim oleh pengirim ke SMSC (SMS-Center) yang kemudian dapat
menunggu untuk meneruskan pesan tersebut ke penerima ketika ia siap dan
dalam status online di lain waktu. Ketika pesan SMS telah terkirim dan
diterima oleh SMSC, pengirim akan menerima pesan singkat (konfirmasi)
bahwa pesan telah terkirim (message sent).
Dalam pengiriman dan penerimaan SMS ada dua mode yakni mode teks dan
mode PDU (Protocol Data Unit).
a. Mode Teks
Mode ini adalah cara termudah untuk mengirim pesan. Pada mode
teks pesan yang kita kirim tidak dilakukan konversi. Teks yang dikirim tetap
dalam bentuk aslinya dengan panjang mencapai 160 (7bit default alphabet)
atau 140 (8 bit) karakter. Sesungguhnya, mode teks adalah hasil enkode
yang direpresentasikan dalam format PDU. Kelemahannya, kita tidak dapat
menyisipkan gambar dan nada dering ke dalam pesan yang akan dikirim
serta terbatasnya tipe encoding.
b. Mode PDU (Protocol Data Unit)
Mode PDU adalah format pesan dalam bentuk oktet heksadesimal
dan oktet semi-desimal dengan panjang mencapai 160 (7 bit default
alphabet) atau 140 (8 bit) karakter. Kelebihan menggunakan mode PDU
adalah kita dapat melakukan 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.

Anda mungkin juga menyukai