bab iii landasan teori 3.1 microcontroller
TRANSCRIPT
17
BAB III
LANDASAN TEORI
3.1 Microcontroller
Microcontroller adalah sebuah chip yang berfungsi sebaagai
pengontrol rangkaian elektronik dan umumnya dapat menyimpan program
dan terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan
unit pendukung seperti analog to digital Converter (ADC) yang sudah
terintegrasi di dalamnya. Kelebihan utama dari microcontroller ialah
tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board
microcontroller Atmega 328 karenamemiliki fitur yang cukup lengkap
mulai dari kapasitas memori program dan memori data yang cukup besar,
interupsi, timer/counter, PWM, USART, TWI, analog comporator,
EEPROM internal juga ada ADC internal.
Microcontroller pada dasarnya diprogram dengan bahasa assembler,
tetapi saat ini microcontroller dapat diprogram menggunakan bahasa tingkat
tinggi seperti BASIC, PASCAL atau C. Bahasa tingkat tinggi tersebut
memiliki beberapa keuntungan:
1. Lebih mudah membangun program dengan bahasa tingkat tinggi.
2. Perbaikan program lebih mudah jika program dibangun menggunakan
bahasa tingkat tinggi.
3. Testing program dalam bahasa tingkat tinggi lebih mudah
4. Bahasa tingkat tinggi lebih banyak dikenal dan eror program yang dibuat
dapat dihindari.
5. Mudah mendokumentasikan sebuah program tingkat tinggi.
Atmega328 adalah microcontroller keluaran dari atmel yang memiliki
arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap
proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed
Instruction Set Computer). Microcontroller ini memiliki beberapa fitur
antara lain:
18
1. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu
siklus clock.
2. 32 x 8-bit register serbaguna
3. Kecepatan mencapai 16 MIPS dengan clock 16 MHz
4. 32 KB Flash Memory dan pada arduino memiliki bootloader yang
menggunakan 2KB dari flash memory sebagai tempat penyimpanan data
semi permanen karena EEPROM tetap dapat menyimpan data meskipun
catu daya dimatikan.
5. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
6. Memiliki pin I/O digital sebanyak 14 pin, 6 pin diantaranya PWM (Pulse
Width Modulation) output.
7. Master/ Slave SPI Serial interface.
Microcontroller ATmega328 memiliki arsitektur Harvard, yaitu
memisahkan memori untuk kode program dan memori untuk data sehingga
dapat memaksimalkan kerja dan parallelism. Instruksi dalam memori
program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi
dikerjakan maka instruksi selanjutnya sudah diambil dari memori program.
Konsep inilah yang memungkinkan instruksi-instruksi dapat dieksekusi
dalam satu siklus clock. 32 x 8-bit register serbaguna digunakan untuk
mendukung operasi pada ALU (arithmetic Logic Unit) yang dapat dilakukan
dalam satu siklus. 6 register serbaguna ini dapat digunakan sebagai 3 buah
register pointer 16-bitt pada mode pengalamatan tidak langsung untuk
mengambil data pada ruang memori data.
Gambar 3.1 Konfigurasi ATmega328 (Kadir,2013)
19
Gambar 3.2 Architecture ATmega328 (Kadir,2013)
Berikut adalah tabel konfigurasi dari masing-masing port pada
microcontroller Arduino Uno.
Table 3.1 Konfigurasi Port
Port Pin Alternate Function
PB7
XTAL2 (Chip Clock Oscillator pin 2)
TOSC2 (Timer Oscillator pin 2)
PCINT7 (Pin Change Interrupt 7)
PB6
XTAL1 (Chip Clock Oscillator pin 1 or External Clock
Input)
TOSC1 (Timer Oscillator pin 1)
PB5 SCK (SPI Bus Master Clock Input)
PCINT5 (Pin Change Interrupt 5)
PB4 MISO (SPI Bus Master Input/Slave Output)
PCINT4 (Pin Change Interrupt 4)
PB3 MOSI (SPI Bus Master Output/Slave Input)
OC2A (Timer/Counter2 Output Compare Match A Output)
20
PCINT3 (Pin Change Interrupt 3)
PB2
SS (SPI Bus Master Slave Select)
OC1B (Timer/Counter1 Output Compare Match B Output)
PCINT2 (Pin Change Interrupt 2)
PB1 OC1A (Timer/Counter1 Output Compare Match A Output)
PCINT1 (Pin Change Interrupt 1)
PB0
ICP1 (Timer/Counter1 Input Capture Input)
CLKO (Divided System Clock Output)
PCINT0 (Pin Change Interrupt 0)
PC6 RESET (reset pin)
PCINT14 (Pin Change Interrupt 14)
PC5
ADC5 (ADC Input Chanel 5)
SCL (2-wire Serial Bus Clock Line)
PCINT13 (Pin Change Interrupt 13)
PC4
ADC4 (ADC Input Channel 4)
SDA (2-wire Serial Bus Data Input/Output Line)
PCINT12 (Pin change Interrupt 12)
PC3 ADC3 (ADC Input Channel 3)
PCINT11 (Pin Change Interrupt 11)
PC2 ADC3 (ADC Input Channel 2)
PCINT10 (Pin Change Interrupt 10)
PC1 ADC3 (ADC Input Channel 3)
PCINT9 (Pin Change Interrupt 9)
PC0 ADC3 (ADC Input Channel 3)
PCINT8 (Pin Change Interrupt 8)
PD7 AIN1 (Analog Comparator Negative Input)
PCINT23 (Pin Change Interrupt 23)
PD6
AIN0 (Analog Comparator Positive Input)
OC0A (Timer/Counter0 Output Compare Match A Output)
PCINT22 (Pin Change Interrupt 22)
21
PD5
T1 (Timer/Counter1 External Counter Input)
oC0B (Timer/Counter0 Output Compare Match B Output)
PCINT21 (Pin Change Interrupt 21)
PD4
XCK (USART External Clock Input/Output)
T0 (Timer Counter 0 External Counter Input)
PCINT20 (Pin Change Interrupt 20)
PD3
INT1 (External Interrupt 1 Input)
OC2B (Timer/Counter 2 Output Compare Match B Output)
PCINT19 (Pin Change Interrupt 19)
PD2 INT0 (External Interrupt 0 Input)
PCINT18 (Pin Change Interrupt 18)
PD1 TXD (USART Output Pin)
PCINT17 (Pin Change Interrupt 17)
PD0 RXD (USART Input Pin)
PCINT16 (Pin Change Interrupt 16)
3.2 Arduino Uno
Arduino adalah sebuah board microcontroller yang berbasisi
ATmega328. Arduino memiliki 14 pin Input/Output yang mana 6 pin dapat
digunakan sebagai output PWM, 6 analog input, crystal oscilator 16 MHz,
koneksi USB, jack power, kepala ICSP, dan tombol reset.
Gambar 3.3 Board Arduino ATmega328 (Kadir,2013)
Konektor USB Digital I/O
Microcontroller
POWER Analog Input Digital Output
Konektor USB
22
Arduino uno memiliki sejumlah fasilitas untuk berkomunikasi dengan
komputer, Arduino lain, atau microcontroller lain. ATmega 328
menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin
digital 0 (RX) dan 1 (TX). Sebuah ATmega16U2 pada board ini untuk
komunikasi serial melalui USB dan muncul sebagai com port virtual untuk
perangkat lunak pada komputer. Firmware 16U2 menggunakan USB driver
standart COM dan tidak ada driver eksternal yang dibuthkan. Perangkat
lunak arduino termasuk monitor serial yang memungkinkan data tekstual
sederhana yang akan dikirim ke dan dari papan arduino. RX dan TX LED di
papan akan berkedip ketika data sedang dikirim melalui chip USB-to-serial
dan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial 0 dan
1). Sebuah perpustakaan software serial memungkinkan untuk komunikasi
serial pada setiap pin digital Uno.
3.3 Aplikasi
Aplikasi berasal dari kata application yang artinya penerapan, lamaran,
penggunaan. Secara istilah aplikasi adalah: program siap pakai yang direka
untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan
dapat digunakan oleh sasaran yang dituju.
Menurut Asropudin (2013) aplikasi adalah software yang dibuat oleh
suatu perusahaan komputer untuk mengerjakan tugas-tugas tertentu.
Sedangkan menurut Sutabri (2012) aplikasi adalah alat terapan yang
difungsikan secara khusus dan terpadu sesuai kemampuan yang dimilikinya.
3.4 Server
Menurut Pratama (2014), Komputer server adalah komputer yang
diperlakukan sebagai sebuah server untuk melayani banyak client
(pengguna) di sebuah jaringan komputer. Jaringan komputer merupakan
sekumpulan komputer dan perangkat keras lainnya yang saling terhubung
dan berbagi data dan resource. Jaringan komputer dapat terdiri atas jaringan
lokal dan jaringan internet. Dalam kaitannya dengan jaringan komputer,
server bertugas untuk menerima dan melayani permintaan-permintaan dari
banyak client.
23
Menurut O’brien (2011) server adalah komputer yang mendukung
aplikasi dan telekomunikasi dalam jaringan serta pembagian peralatan
software, dan database di antara berbagai terminal kerja dalam jaringan.
3.5 Microsoft Visual Studio 2010
Menurut Yuswanto (2010) Microsoft Visual Studio 2010 merupakan
sebuah IDE (Integrated Development Enviroment) yang dikembangkan oleh
Microsoft. IDE ini mencangkup semua bahasa pemrograman berbasis .NET
framework yang dikembangkan oleh Microsoft. Keunggulan Microsoft
Visual Studio 2010 ini adalah support untuk Windows 8, editor baru\dengan
WPF (Windows Presentation Foundation), dan banyak peningkatanfitur
lainnya.
3.6 Pelayanan
Menurut Mahmoedin (2010) adalah suatu aktivitas atau serangkaian
aktivitas yang bersifat tidak kasatmata yang terjadi sebagai akibat adanya
interaksi konsumen dengan karyawan atau hal-hal lain yang disediakan oleh
perusahaan pemberi pelayanan yang dimaksud untuk memecahkan
permasalahan konsumen atau pelanggan.
Sedangkan menurut Sinambela (2010) pada dasarnya setiap manusia
membutuhkan pelayanan, bhkan secara ekstrim dapat dikatakan bahwa
pelayanan tidak dapat dipisahkan oleh manusia.
3.7 Sistem Antrian
Menurut Heizer dan Render (2011) Sistem antrian adalah ilmu yang
mempelajari suatu antrian dimana antrian merupakan kejadian yang biasa
terjadi dalam kehidupan sehari-hari dan berguna baik bagi perusahaan
manufaktur atau jasa.
Sedangkan menurut Sutabri (2012) sistem antrian adalah sekelompok
unsur yang erat hubungannya satu dengan yang lain, yang berfungsi
bersama-sama untuk mencapai tujuan tertentu.
3.8 Rasional Rose
Rasional Rose adalah software yang memiliki perangkat-perangkat
pemodelan secara visual untuk membangun suatu solusi dalam rekayasa
24
software dan pemodelan bisnis. Rasional Rose dikeluarkan oleh perusahaan
software bernama Rasional Software, perusahaan yang mencetuskan ide
pembentukan bagi perusahaan yang memiliki standar UML sebagai bahasa
pemodelan diperusahaannya.
3.9 Konsumen
Menurut Nasution (2011), pengertian dari konsumen dibagi menjadi tiga
bagian, yaitu:
1. Konsumen dalam arti umum, yaitu pemakai, pengguna dan/atau
pemanfaat dan/atau jasa untuk tujuan tertentu.
2. Konsumen antara yaitu pemakai, pengguna dan/atau pemanfaat dan/atau
jasa untuk diproduksi menjadi barang dan/jasa lain untuk
memperdagangkannya (distributor) dengan tujuan komersial. Konsumen
antara ini sama dengan pelaku usaha.
3. Konsumen akhir yaitu pemakai, pengguna dan/atau pemanfaat dan/atau
jasa untuk memenuhi kebutuhan sendiri, keluarga atau rumah tangganya
dan tidak untuk diperdagangkan kembali. Konsumen akhir inilah yang
dengan jelas diatur perlindungannya dalam UUPK.
3.10 Unified Modeling Language (UML)
Menurut Nugroho (2010), UML atau Unified Modeling Language
adalah sebuah bahasa permodelan untuk sistem atau perangkat lunak yang
berparadigma berorientasi obyek. Pemodelan sesungguhnya digunakan
untuk penyederhanaan permasalahan-permasalahan yang kompleks
sedemikian rupa sehingga lebih mudah dipelajari dan dipahami
1. Use Case Diagram
Use case diagram menggambarkan fungsi-fungsi sistem dari sudut
pandang pengguna eksternal dan dalam sebuah cara yang mudah
dipahami. Use Case merupakan penyusunan kembali lingkup fungsional
sistem yang disederhanakan.
Use case diagram merupakan titik awal yang baik dalam
memahami dan menganalisis kebutuhan sistem pada saat perancangan.
Use case diagram dapat digunakan untuk kebutuhan apa saja yang
25
diperlukan dalam suatu sistem, sehingga sistem dapat digambarkan
dengan jelas bagaimana proses dari sistem tersebut, bagaimana cara
aktor menggunakan sistem, serta apa saja yang dapat dilakukan pada
suatu sistem. Adapun simbol dari use case adalah sebagai berikut:
Tabel 3.2 Simbol Use Case Diagram (Nugroho, 2010)
SIMBOL KETERANGAN
` System Bondary menggambarkan batasan
antara sistem dengan aktor
Simbol ini menggambarkan interaksi
antara aktor dengan sistem.
Aktor menggambarkan penggunaan sistem,
dapat berupa manusia atau sistem
terotomatisasi lain untuk berbagi,
mengirim, dan menerima informasi.
Menggambarkan hubungan aktor dengan
use case.
2. Sequence Diagram
Sequence diagram merupakan suatu diagram interaksi yang
menggambarkan bagaimana objek-objek berpartisipasi dalam bagian
interaksi dan pesan yang ditukar dalam urutan waktu.
Sequence diagram menggambarkan interaksi antar objek didalam
dan disekitar sistem (termasuk pengguna, display, dan sebagainya)
berupa message yang digambarkan terhadap waktu. Sequence diagram
terdiri atas dimensi vertikal (waktu) dan dimensi horisontal (objek-objek
terkait).
Sequence diagram biasa digunakan untuk menggambarkan
skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon
dari sebuah event untuk menghasilakan output tertentu. Diawali dari apa
yang men-trigger aktifitas tersebut, proses dan perubahan apa saja yang
terjadi secara internal dan output apa yang dihasilkan.
26
Tabel 3.3 Simbol Sequence Diagram (Nugroho, 2010)
SIMBOL KETERANGAN
` Object Lifeline: menggambarkan object
apa saja yang terlibat
Actor: menggambarkan hubungan actor
yang terlibat.
Activation : menggambarkan hubungan
antara object dengan message.
Message: menggambarkan alur message
yang merupakan kejadian object
pengiriman ke object penerima lifeline.
Message(return): menggambarkan alur
pengambilan message ke object pemanggil
dan tanda bahwa objectpenerima telah
menyelesaikan prosesnya
3. Class Diagram
Class diagram biasanya digunakan untuk menggambarkan
perbedaan yang mendasar antara class-class, hubungan antara class, dan
dimana sub-sistem class tersebut.
Tabel 3.4 Simbol Class Diagram (Nugroho, 2010)
SIMBOL KETERANGAN
`
Class adalah blok-blok pembangun pada
pemrograman berorientasi object. Sebuah
class digambarkan sebagai sebuah kotak
yang terdiri atas 3 bagian. Bagian atas
adalah bagian nama dari class, bagian
tengah mendefinisikan property/atribut
class, bagian akhir mendefinisikan method-
method dari sebuah class.
27
SIMBOL KETERANGAN
Sebuah asosiasi merupakan sebuah
relationship paling umum antara 2 class dan
dilambangkan oleh sebuah garis yang
menghubungkan antara 2 class. Garis ini
melambangkan tipe-tipe relationship dan
dapat menampilkan serta dapat
menampilkan hukum multiplisitas pada
sebuah relationship.
Jika sebuah class tidak bisa berdiri sendiri
dan harus merupakan bagian dari class yang
lain, maka class tersebut memiliki relasi
composition terhadap class tempat dia
bergantung. Digambarkan sebagai garis
dengan ujung berbentuk jajaran genjang
berisi/solid.
Aggregation mengindikasikan keseluruhan
bagian relationship dan biasanya disebut
sebagai relasi.
Dependecy, digunakan untuk menunjukkan
operasi pada suatu class yang menggunakan
class yang lain. Sebuah dependecy
dilambangkan sebagai sebuah panah
bertitik-titik.
4. Activity Diagram
Activity diagram digunakan untuk menampilkan rangkaian
kegiatan, menunjukan alur kerja dari suatu titik awal ke titik akhir
keputusan, merinci banyak jalur yang ada dalam perkembangan
peristiwa yang terkandung dalam kegiatan.
28
Activity diagram merupakan state diagram khusus di mana
sebagian besar state adalah action dan sebagian besar transisi di-trigger
oleh selesainya state sebelumnya (internal processing).
Tabel 3.5 Simbol Activity Diagram (Nugroho, 2010)
SIMBOL NAMA KETERANGAN
Start state Titik awal atau permulaan
End state Titik akhir atau akhir dari aktivitas
Activity Activity atau aktivitas yang dilakukan
oleh aktor
Join
Asosiasi penggabungan dimana lebih
dari satu aktivitas digabungkan
menjadi satu
Decision Pilihan untuk mengambil keputusan
Interaction Alur
3.11 Pengujian Alpha dan Beta
Pengujian alpha dan beta apabila perangkat lunak dibuat untuk
pelanggan maka dapat dilakukan acceptence test sehingga memungkinkan
pelanggan untuk memvalidasi seluruh keperluan. Test ini dilakukan karena
memungkinkan pelanggan menemukan kesalahan yang lebih rinci dan
membiasakan pelanggan memahami perangkat lunak yang telah dibuat.
1. Pengujian Alpha
Dilakukan pada sisi pengembang oleh seorang pelanggan.
Perangkat lunak digunakan pada pengaturan yang natural dengan
pengembang melalui bahu pemakai dan merekam semua masalah dan
masalah pemakaian.
2. Pengujian Beta
Dilakukan pada satu atau lebih pelanggan oleh pemakai akhir
perangkat lunak dalam lingkungan yang sebenarnya, pengembang
NewActivity
29
biasanya tidak ada pada pengujian ini. Pelanggan merekam semua
masalah yang ditemui selama pengujiandan melaporkan pada
pengembang pada interval waktu tertentu.