Top Banner
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:
13

BAB III LANDASAN TEORI 3.1 Microcontroller

Oct 01, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BAB III LANDASAN TEORI 3.1 Microcontroller

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:

Page 2: BAB III LANDASAN TEORI 3.1 Microcontroller

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)

Page 3: BAB III LANDASAN TEORI 3.1 Microcontroller

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)

Page 4: BAB III LANDASAN TEORI 3.1 Microcontroller

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)

Page 5: BAB III LANDASAN TEORI 3.1 Microcontroller

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

Page 6: BAB III LANDASAN TEORI 3.1 Microcontroller

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.

Page 7: BAB III LANDASAN TEORI 3.1 Microcontroller

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

Page 8: BAB III LANDASAN TEORI 3.1 Microcontroller

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

Page 9: BAB III LANDASAN TEORI 3.1 Microcontroller

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.

Page 10: BAB III LANDASAN TEORI 3.1 Microcontroller

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.

Page 11: BAB III LANDASAN TEORI 3.1 Microcontroller

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.

Page 12: BAB III LANDASAN TEORI 3.1 Microcontroller

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

Page 13: BAB III LANDASAN TEORI 3.1 Microcontroller

29

biasanya tidak ada pada pengujian ini. Pelanggan merekam semua

masalah yang ditemui selama pengujiandan melaporkan pada

pengembang pada interval waktu tertentu.