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
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.
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)
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
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
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.
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
29 biasanya tidak ada pada pengujian ini. Pelanggan merekam semua masalah yang ditemui selama pengujiandan melaporkan pada pengembang pada interval waktu tertentu.