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.
1
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 (CFCARD). 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.
8
Gamb bar 2. 4 siklu us activity android a Ada tiga loop l kunci yang y bisa diggunakan unttuk pemantaauan activityy pada andro oid, yaitu: •
Masa keseluruhann dari sebuaah activity berlangsung b g dari onCreate (Bund dle) samppai onDestr roy(). Sebuuah activity akan melakkukan
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.
11
Gamb bar 2. 5 siklu us service an ndroid Android dipasarkan mulai tahuun 2008 denngan versi 1.5 dan saampai sekarrang masih terus dikem mbangkan. Sampai S saatt laporan inni ditulis, beerikut adalaah tabel dan gambar distrribusi pengggunaan versi Android. tabell 2. 1 tabel distribusi d An ndroid Distribuution 4.0.x Ice Cream m Sandwich 3.x.x Honeycom mb 2.3.x Gingerbreead 2.2 Froyo 2.0,, 2.1 Eclair 1.6 Donut 1.5 Cupcake
APIlevel % 14-16 0.60% 13-11 3.30% 10-11 55.50% 8 30.40% 7 8.50% 4 1.10% 3 0.60%
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 adhoc 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 plugin 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