bab 2 landasan teori - library.binus.ac.idlibrary.binus.ac.id/ecolls/ethesisdoc/bab2/2012-1-00629-sk...
TRANSCRIPT
1
BAB 2
LANDASAN TEORI
2.1. Kajian Pustaka
Sebelumnya, telah ada beberapa alat yang memiliki kesamaan dengan
konsep yang telah kami pikirkan diantaranya WHDI, Blackberry Presenter &
Airplay .
2.1.1. WHDI
WHDI (Wireless Home Digital Interface) adalah suatu protokol
komunikasi nirkabel yang dikhususkan untuk mentransminisikan video High
Definition secara nirkabel ke perangkat – perangkat display seperti LCD TV, LED
TV, Proyektor. Berbeda dengan WLAN, protokol ini bekerja pada daerah
frekuensi 5 GHz. Teknologi ini sendiri pertama kali diperkenalkan secara umum
pada Desember 2009 dimana pada saat itu diperkenalkan versi pertama dari
protokol ini yakni WHDI 1.0. Teknologi ini masih terus dikembangkan dan
mengalami berbagai macam penyempurnaan. Pada kuartal ke – 4 2010 teknologi
ini sudah mendukung gambar format 3D dan rencananya akan diperkenalkan lagi
WHDI versi 2.0 yang dijanjikan akan menyediakan bandwidth data yang lebih
besar sehingga diharapkan dapat mendukung format 3D Full HD 1080p serta
resolusi hingga sekitar 4000 x 2000. Sudah banyak perangkat di pasaran yang
memakai teknologi ini , salah satunya adalah Immation Link.
2
Gambar 2. 1 Immation Link
2.1.2. Blackberry Presenter
Blackberry Prensenter merupakan suatu perangkat tambahan yang dibuat
oleh RIM (Research In Motion) yang memungkinkan pengguna Blackberry
mampu membawakan presenstasi secara nirkabel melalui Blackberry.
Komunikasi Nirkabel yang digunakan perangkat ini menggunakan standar
koneksi Bluetooth Versi 2.0 + EDR. Perangkat ini bekerja dengan
menghubungkan ke keluaran VGA dari display ke keluaran VGA yang sudah
tersedia di perangkat ini. Kemudian pengguna melalui Blackberry mengirimkan
dokumen yang hendak dipresentasikan dalam format *.ppt ataupun *.pdf ke
perangkat ini melalui sebuah aplikasi yang sudah disediakan oleh pihak
pengembang sendiri . Ketika dokumen sudah ditampilkan, pengguna juga dapat
melihat tampilan dari dokumen yang ditampilkan serta mengendalikan dokumen
yang sedang ditampilkan seperti Next Slide, Freeze, Hide Presentation dari
perangkat Blackberry.
3
Gambar 2. 2 Blackberry Presenter
2.1.3 Airplay
Airplay adalah fitur yang dikembangkan oleh Apple khusus untuk
perangkat - perangkat buatannya dimana fitur ini memungkinkan penggunanya
untuk memainkan file audio ke speaker eksternal tanpa harus melalui media
kabel dan memutar video ke perangkat display secara nirkabel. Protokol yang
dipakai oleh Apple sendiri memakai protokol 802.11 (Wi-Fi). Untuk memainkan
lagu secara nirkabel ke speaker, pengguna harus memiliki speaker yang
mendukung fitur ini atau sebuah perangkat airplay express yang terhubung ke
speaker dan untuk video, pengguna harus memiliki perangkat Apple TV yang
terhubung ke perangkat display.
4
2.2. Embedded PC
Embeddded PC (Embedded System) adalah sebuah sistem board komputer
dengan daya rendah yang dikhususkan untuk aplikasi khusus yang memerlukan
kontrol sistem yang besar. Biasanya embedded system rata – rata dijual dengan
lisensi Open – Source, dimana biasanya board ini dibuat dan dirancang oleh
komunitas – komunitas yang memang memiliki hobi di bidang ini. Contoh board
open source yang tekenal yaitu Beagle Board, Panda Board. Embedded system
ini sendiri memiliki beberapa Sistem Operasi yang dapat dijalankan tetapi
berbeda dengan PC dimana disini Sistem Operasi yang dipakai sudah disesuaikan
dengan arsitektur processor yang dipakai di embbeded system ini. Yang paling
sering sekali dipakai yaitu Angstrom (bare linux), Ubuntu, XUBuntu, MeeGo.
Gambar 2. 3 Embedded PC (Panda Board)
Pada sebuah embedded system terdapat komponen yang tidak jauh
berebeda dari komputer biasanya, akan tetapi processor dan graphics processor
5
sendiri jauh berbeda dibandingkan komputer, dimana di embeddded system,
processor sudah ditanam disebuah IC dengan SoC (System on Chip). Pengertian
SoC ini sendiri yaitu sebuah IC dimana didalamnya berisi RAM,ROM,Processor
serta komponen pendukung lainnya seperti Graphics Processor, Sound Processor
dan lain sebagainya di dalam satu IC. Umumnya yang sering ditemukan saat ini
adalah IC SoC yang hanya terintegrasi processor, RAM, ROM serta Graphics
Processor. Selain itu arsitektur dari embedded system ini memakai arsitektur
ARM dimana jauh berbeda dibandingkan arsitektur x86 yang dipakai di PC.
Selain itu di embedded system tidak memakai harddisk sebagai media
penyimpanan. Biasanya media penyimpanan sendiri dipisah yaitu media
penyimpanan internal yang memakai Flash Memory dengan kapasitas yang
terbatas dan sedikit serta memakai SD-CARD ataupun Compact Flash Card (CF-
CARD). Kedua media penyimpanan diatas dapat dijadikan sebagai tempat untuk
memasukkan file system dari OS yang hendak dipakai di embedded PC.
2.3. Android
Android adalah sistem operasi berbasiskan linux untuk perangkat mobile
seperti smartphone dan komputer tablet. Android dikembangkan oleh Open
Handset Aliance yang dipimpin oleh Google.
Aplikasi pada Android biasanya dikembangkan dalam bahasa
pemograman Java menggunakan Android SDK, tetapi alat pengembangan lainnya
juga tersedia seperti Native Development Kit untuk aplikasi dalam C atau C++,
google app inventor, pemograman grafis untuk programmer pemula dan alat-alat
pengembangan lainnya.
6
Aplikasi android berjalan dalam sebuah sandbox yang merupakan area
terisolasi dari sistem operasi yang tidak memiliki akses ke semua resource dari
sistem kecuali jika hak akses yang diminta diberikan oleh pengguna ketika
aplikasi diinstal.
Basis kerja aplikasi pada Android adalah activity. Setiap aplikasi memiliki
satu atau lebih activity. Activity pada sistem dikelola sebagai activity stack.
Ketika sebuah activity baru dimulai, Activity tersebut diletakkan di urutan
pertama stack dan menjadi activity yang berjalan yang mana aplikasi sebelumnya
tetap berada di bawah stack dan tidak akan ditampilkan sampai activity yang baru
keluar.
Sebuah activity memiliki empat siklus tahapan penting:
• Jika activity ditampilkan di layar (berada di urutan pertama pada
stack), maka activity tersebut sedang berjalan
• Jika activity kehilangan fokus tetapi masih terlihat (ketika ada activity
baru yang transparan dan tidak memenuhi layar memiliki fokus di atas
activity) maka activity tersebut berhenti sebentar. Activity dalam
kondisi demikian tetap aktif (activity tersebut menjaga kondisinya dan
informasi anggota dan tetap terhubung ke window manager), tetapi
dapat dihentikan oleh sistem jika memori sudah sangat sedikit.
• Jika sebuah activity kehilangan tampilannya dan digantikan oleh
avtivity lain maka activity tersebut berhenti tapi tetap menjaga
kondisinya dan informasi anggotanya. Tetapi, activity tersebut tidak
7
lagi terlihat oleh pengguna dan akan sangat sering dihentikan oleh
sistem ketika memori dibutuhkan oleh aplikasi lainnya.
• Ketika activity berhenti sebentar ataupun sudah berhenti, sistem dapat
melepaskan activity dari memori dengan memintanya untuk berhenti
atau dengan menghentikan prosesnya. Ketika activity ditampilkan
kembali ke pengguna, activity harus diulang sepenuhnya dan
dikembalikan ke kondisi semula.
Gambar berikut menampilkan alur penting dari sebuah activity. Yang
digambarkan dengan kotak adalah method yang dapat diimplementasikan untuk
melakukan operasi ketika activity berpindah kondisi. Yang digambarkan dengan
oval adalah kondisi-kondisi yang mungkin dari sebuah activity.
andro
Ada tiga l
oid, yaitu:
• Masa
(Bund
Gamb
loop kunci y
keseluruhan
dle) samp
bar 2. 4 siklu
yang bisa dig
n dari sebua
pai onDestr
us activity a
gunakan unt
ah activity b
roy(). Sebu
android
tuk pemanta
berlangsung
uah activity
auan activity
g dari onCr
akan melak
8
y pada
eate
kukan
9
semua pengaturan kondisinya di onCreate() dan melepaskan
resource pada onDestroy().
• Masa “visible” dari sebuah activity berlangsung dari pemanggilan
onStart() sampai pemanggilan onStop(). Di selang waktu ini,
pengguna dapat melihat activity pada layar walaupun mungkin tidak
berinteraksi langsung dengan pengguna.
• Masa “foreground” dari sebuah activity berlangsung dari pemanggilan
onResume() sampai pemanggilan onPause(). Pada selang waktu
ini, activity berada diatas semua activity lainnya dan berinteraksi
dengan pengguna. Sebuah activity dapat sering berpindah dari kondisi
terhenti (paused) dan melanjutkan (resumed). Jadi program dalam
masa ini harus ringan.
Android juga memiliki komponen penting yaitu service. Service adalah
sebuah komponen aplikasi yang dapat menjalankan operasi jangka panjang di
background dan tidak memiliki tampilan. Sebuah komponen aplikasi dapat
memulai sebuah service dan service tersebut akan tetap berjalan pada background
walaupun pengguna sudah berpindah pada aplikasi lain. Selain itu, sebuah
komponen dapat diikat ke sebuah service untuk berinteraksi dengannya dan
melakukan interprocess communication (IPC).
Sebuah service dapat diimplementasikan dalam dua bentuk:
• Sebuah service yang dipanggil dengan startService(). Dalam
mode ini, service dapat berjalan di background tanpa ditentukan
walaupun komponen yang memanggil service sudah dihentikan.
10
Biasanya, service yang demikian melakukan operasi tunggal dan tidak
mengembalikan hasil ke pengguna misalnya untuk melakukan
download atau upload file melalui jaringan. Ketika operasinya selesai,
service harus menghentikan dirinya sendiri.
• Sebuah service yang dipanggil dengan bindService(). Service
yang diikat seperti demikian memberikan antar muka client server
yang membuat komponen dapat berinteraksi dengan service,
mengirim permintaan, menerima hasil dan melakukan sesuatu antar
proses dengan menggunakan interprocess communication (IPC).
Sebuah service yang diikat hanya akan berjalan sepanjang aplikasi
lainnya terikat. Banyak komponen yang dapat terikat ke service secara
bersamaan tapi ketika semua komponen tersebut sudah melepaskan
diri dari service, maka service akan dimatikan.
sekar
adala
tabel
4.0.3.x.2.3.2.2 2.0,1.6 1.5
Android
rang masih
ah tabel dan
l 2. 1 tabel d
Distribux Ice Creamx Honeycomx GingerbreFroyo
, 2.1 Eclair Donut Cupcake
Gamb
dipasarkan
terus dikem
gambar distr
distribusi An
ution m Sandwichmb ead
bar 2. 5 siklu
mulai tahu
mbangkan. S
ribusi pengg
ndroid
APIlevel14-16 13-11 10-11
8 7 4 3
us service an
un 2008 den
Sampai saat
gunaan versi
% 0.60%3.30%
55.50%30.40%
8.50%1.10%0.60%
ndroid
ngan versi
t laporan in
Android.
1.5 dan sa
ni ditulis, be
11
ampai
erikut
12
Gambar 2. 6 Persentase penggunaan Android
2.4. Wi – Fi
Wi – Fi adalah sebuah standar komunikasi nirkabel antar perangkat
elektronik. Wi – Fi berkerja pada frekuensi 2,4 GHz dan memiliki banyak jenis
standar operasi yaitu 802.11a , 802.11b, 802.11g, 802.11n.
Dalam pemakaiannya sehari – hari Wi – Fi memiliki 2 jenis mode yaitu
infrastructure mode dan ad – hoc mode.
Ad-Hoc mode merupakan salah satu bentuk jaringan nirkabel yang
decentralized. Artinya tidak ada server yang mengatur alur data. Konfigurasi ad-
hoc akan membentuk koneksi peer to peer antara node yang terhubung dalam
jaringan tersebut. Konfigurasi ini tidak bergantung pada infrastruktur yang sudah
tersedia.
Infrastrucure mode biasanya dipakai untuk menjembatani antara
perangkat yang tekoneksi secara nirkabel dengan perangkat yang terkoneksi
13
dengan jaringan kabel. Biasanya dalam mode ini diperlukan peralatan seperti
Access Point. Access Point ini sendiri akan memiliki SSID yang akan dipakai
sebagai acuan bagi perangkat yang akan terkoneksi secara nirkabel ke perangkat
ini. Lalu dari Access Point ini akan dikoneksikan dengan kabel ke jaringan
berkabel sehingga perangkat yang terkoneksi secara nirkabel dapat
berkomunikasi dengan perangkat yang terkoneksi ke jaringan kabel.
2.5. FTP (File Transfer Protocol)
FTP (File Transfer Protocol) adalah protokol pengiriman data yang
berbasis koneksi TCP yang bekerja pada layer ke - 7 pada OSI layer. FTP sendiri
biasanya terdiri dari beberapa client dan sebuah server dimana biasanya satu atau
beberapa client mengakses file - file di FTP server. FTP sendiri bekerja pada 2
port dimana 1 port digunakan untuk control (port 21) dan satu port lagi
digunakan untuk mengirim data (port 20)
2.6. JPEG
JPEG merupakan kompresi gambar digital yang paling banyak dipakai
saat ini, dimana gambar dapat diatur tingkat kompresinya sesuai dengan
keinginan pengguna tergantung kebutuhan.
Kompresi JPEG sendiri menghilangkan beberapa informasi dari gambar
aslinya tetapi tetap menjaga agar gambar hasil kompresi tidak berbeda jauh
dengan kualitas aslinya. Metode pengkompresian ini disebut metode lossy.
Metode satu lagi yang dipakai yaitu interlaced “Progressive JPEG” dimana pada
metode ini gambar dikompresi melalui beberapa tahap sehingga gambar yang
14
dihasilkan memiliki detail yang jauh lebih tinggi dari metode pertama tetapi
tetap memberikan ukuran data yang kecil. Metode ini sendiri biasanya digunakan
untuk gambar dengan resolusi tinggi yang hendak di publikasi ke internet
sehingga tidak membebankan bandwidth internet ketika pengguna internet
lainnya hendak mengunduh gambar tersebut
Untuk metode pengkodean warna gambar, JPEG memakai 2 jenis profil
warna yaitu sRGB dan ARGB (Adobe RGB). Hal ini karena 2 tipe profil warna
ini memakai transformasi non – linear.
Gambar 2. 7 perbandingan kompresi dengan ukuran gambar JPEG
Tabel 2. 2 Tabel perbandingan kompresi
gambar kualitas Ukuran (bytes)
Rasio kompresi
15
100 83,261 2.6:1
50 15,138 15:1
25 9,553 23:1
10 4,787 46:1
1 1,523 144:1
16
2.7. FrameBuffer
Framebuffer adalah alat keluaran video yang mengeluarkan tampilan
video dari buffer memori yang berisikan data lengkap dari sebuah frame.
Informasi dalam buffer memori biasanya terdiri dari nilai warna untuk
setiap piksel dari layar. Nilai warna biasanya disimpan dalam format 1 bit biner
(monokrom), 4-bit palettized, 8-bit palettized, 16-bit highcolor dan 24-bit
truecolor. Sebuah channel alpha tambahan kadang-kadang digunakan untuk
menyimpan informasi tentang transparansi piksel. Total memori yang dibutuhkan
untuk menjalankan framebuffer tergantung dari resolusi sinyal keluaran, dan
kedalaman warna dan ukuran palette.
2.8. Framebuffer Pada Android
Android bergantung pada alat standar frame buffer (/dev/fb0 atau
/dev/graphics/fb0) dan driver yang dijelaskan di header file kernel
linux/fb.h.
Pada Android, setiap tampilan diimplementasikan dengan sebuah objek
permukaan dibawahnya, sebuah objek yang diletakkan di framebuffer oleh
SurfaceFlinger, si pembuat layar sistem. Setiap permukaan di buffer ganda. Back
buffer adalah dimana penggambaran dilakukan dan front buffer digunakan untuk
pembentukan.
Ketika unlockCancas() dipanggil, back buffer akan diposting, yang
berarti buffer tersebut ditampilkan dan menjadi tersedia kembali. Android
menukar front dan back buffer, memastikan tidak banyak terjadi penyalinan
buffer dan selalu ada buffer untuk digunakan oleh SurfaceFlinger untuk
17
pembentukan (untuk memastikan layar tidak mengalami kedipan atau
menampilkan artefak).
Gambar 2. 8 framebuffer Android yang dibuka menggunakan hex editor
2.9. RGB
RGB adalah sebuah pemodelan warna yang merupakan inisial dari tiga
warna primer dalam bahasa inggris yaitu Merah (RED), Hijau (GREEN), dan
Biru (BLUE). Dalam pemodelan warna ini, ketiga warna primer tersebut
dicampur untuk menghasilkan suatu warna baru. Untuk menghasilkan suatu
warna baru, maka intensitas dari ketiga warna tersebut harus bervariasi. contoh
nya untuk menghasilkan warna kuning, maka kita butuh mencampur warna
merah dengan hijau. Semakin kuat intensitas warna merah nya, maka hasil
campuran warna akan menjadi oranye , dan jika semakin kuat intensitas warna
hijau nya, maka hasil campuran akan menjadi kuning kehijauan.
18
Pada model warna ini, hasil campuran warna sendiri sangat ditentukan
oleh intensitas dari warna primer penyusun nya. Jika dalam campuran warna
RGB terdapat satu warna primer dengan intensitas paling kuat, maka warna
campuran nya akan mendekati warna primer tersebut. Pencampuran dua warna
primer dengan intensitas yang sama kuat akan menghasilkan warna sekunder,
contoh nya merah dengan hijau menghasilkan warna kuning, merah dengan biru
menghasilkan warna ungu dan seterus nya.
Dari pencampuran dua warna primer diatas menghasilkan sebuah warna
sekunder. Warna sekunder ini memiliki satu warna komplemen . jika warna
sekunder digabung dengan warna komplemen nya, maka warna campuran yang
dihasilakan adalah putih. Model warna ini sendiri direpresentasikan dalam skala
tertentu dan warna yang dihasilkan oleh satu perangkat dengan perangkat lain
berbeda). Hal ini disebabkan karena perbedaan kecepatan respon dan komposisi
element penghasil warna yang ada pada perangkat meskipun perangkat tersebut
dibuat oleh pembuat yang sama.oleh karena itu, satu skala warna yang sama tidak
akan menghasilkan warna yang seratus persen sama di perangkat yang berbeda.
Skala warna sendiri biasanya direpresentasikan dalam persentase, bit, dan lain
sebagai nya.
19
Gambar 2. 9 Ilustrasi RGB
Tabel 2. 3 Tabel contoh notasi RGB
Notasi Nilai RGB
Persentase ( 100%, 0%, 0% )
Digital 8 bit (255, 232, 0) atau #FFE800 ( dalam hexadecimal )
Digital 16 bit (65535, 13000, 0)
2.10. Eclipse
Eclipse merupakan sebuah komunitas open source yang mengembangkan
open platform. Eclipse sendiri adalah software development environment yang
mendukung beragam bahasa pemrograman diantara nya adalah bahasa Ada, C,
C++, COBOL, Java, Perl, PHP, Python, R, Scala, Clojure, Groovy dan Scheme.
Istilah Eclipse mengacu pada Eclipse SDK . Eclipse SDK berisikan platform
eclipse, Java Development Tools dan Plug-in Development Environment.
Eclipse SDK sendiri dimaksudkan untuk pengembang Java. Pengguna
dapat memperluas kemampuan dukungan Eclipse SDK untuk bahasa
20
pemrograman lain dengan menginstal plug-in yang tersedia untuk platform
Eclipse, seperti toolkit pengembangan untuk bahasa pemrograman lain, dan
Eclipse SDK pun dapat menulis dan berkontribusi dalam pembuatan modul plug-
in untuk dirinya sendiri.
Gambar 2. 10 tampilan aplikasi eclipse SDK
2.11. Qt
Qt(dibaca cute /�kju�t/ ) adalah sebuah cross - platform framework yang
berbasis bahasa pemograman C++. Qt dapat dipakai untuk membuat aplikasi
yang dapat dipakai di Telepon Genggam (dengan OS Symbian, MeeGO, Android)
, komputer(dengan OS Windows, Mac OSX, Linux) serta embedded PC . Karena
sifatnya cross platform, Qt dapat memungkinkan seorang pengembang aplikasi
dapat mengkompilasi source code buatannya dari satu platform untuk dipakai di
berbagai platform dan aplikasi tersebut dapat berjalan di OS atau arsitektur mesin
target secara native tanpa perlu adanya bantuan runtime engine sehingga banyak
21
sekali aplikasi populer yang di buat dengan memakai Qt, diantaranya VLC
Player, Adobe Photoshop Elements, Skype, VirtualBox, dan masih banyak lagi.
Qt sendiri pertama kali dibuat oleh Haavard Nord & Eirik chamber – eng
dimana keduanya merupakan pendiri dari Trolltech inc yang kemudian di tahun
2008 diakuisisi oleh Nokia. Pada Qt sendiri disediakan 3 tools utama yaitu :
• QtCreator IDE yang dipakai untuk menuliskan program Qt
• Qmake compiler yang dipakai untuk melakukan kompilasi
• QtDesigner tools yang dipakai untuk merancang GUI dari aplikasi
yang hendak dibuat
Pada pemograman embedded PC sendiri, Qt memerlukan toolschain yang
merupakan compiler C++ dan C yang disesuaikan dengan arsitektur dari
processor yang dipakai pada embedded PC. Setelah toolschain ter - install, perlu
melakukan instalasi qmake embedded PC di PC yang nantinya qmake ini akan
dipakai oleh qtcreator untuk mengkompilasi program di PC untuk arsitektur
embedded PC yang digunakan.
22
Gambar 2. 11 Tampilan QtCreator