BAB II TINJAUAN PUSTAKA 2.1 State of Art · 2017-04-01 · penelitian (AW, 2012). Ibaratnya suatu...

45
5 BAB II TINJAUAN PUSTAKA Bab ini membahas tentang teori-teori penunjang yang mendasari dalam pembahasan, yaitu konsep dasar media pembelajaran, kurikulum, tematik, Android, bahasa pemrograman yang digunakan dan lain-lain. 2.1 State of Art State of the art adalah kumpulan teori, referensi, jurnal ilmiah yang mendukung maupun tidak mendukung tetapi memberikan sumbangsih kepada penelitian (AW, 2012). Ibaratnya suatu bangunan, state of the art adalah fondasi awal. Semakin dalam state of the art atau referensi, jurnal, teori yang dicari dan digunakan maka penelitian yang dilakukan akan semakin baik. Pada pembahasan berikutnya akan dijelaskan metode yang digunakan serta penelitian terkait mengenai pembelajaran yang disajikan dalam aplikasi Android. Saat ini sangat mudah menggali informasi tentang pembelajaran inovatif yang dituangkan menjadi sebuah media pembelajaran. Salah satu contoh multimedia pembelajaran yakni media pembelajaran mengenai biologi baik untuk umum maupun pelajar yang dikembangkan oleh MaximizePlay, salah satu perusahaan game dan multimedia di Indonesia. Gambar 2.1 Contoh Media Pembelajaran dari Maximize Play

Transcript of BAB II TINJAUAN PUSTAKA 2.1 State of Art · 2017-04-01 · penelitian (AW, 2012). Ibaratnya suatu...

5

BAB II

TINJAUAN PUSTAKA

Bab ini membahas tentang teori-teori penunjang yang mendasari dalam

pembahasan, yaitu konsep dasar media pembelajaran, kurikulum, tematik,

Android, bahasa pemrograman yang digunakan dan lain-lain.

2.1 State of Art

State of the art adalah kumpulan teori, referensi, jurnal ilmiah yang

mendukung maupun tidak mendukung tetapi memberikan sumbangsih kepada

penelitian (AW, 2012). Ibaratnya suatu bangunan, state of the art adalah fondasi

awal. Semakin dalam state of the art atau referensi, jurnal, teori yang dicari dan

digunakan maka penelitian yang dilakukan akan semakin baik.

Pada pembahasan berikutnya akan dijelaskan metode yang digunakan serta

penelitian terkait mengenai pembelajaran yang disajikan dalam aplikasi Android.

Saat ini sangat mudah menggali informasi tentang pembelajaran inovatif yang

dituangkan menjadi sebuah media pembelajaran. Salah satu contoh multimedia

pembelajaran yakni media pembelajaran mengenai biologi baik untuk umum

maupun pelajar yang dikembangkan oleh MaximizePlay, salah satu perusahaan

game dan multimedia di Indonesia.

Gambar 2.1 Contoh Media Pembelajaran dari Maximize Play

6

Materi pembelajaran disesuaikan dengan tingkat pendidikan dan kurikulum

yang dibutuhkan. Pada contoh ini diambil untuk tingkat SD mengenai pelajaran

biologi. Selain menampilkan materi, untuk mengetahui tingkat pemahaman,

pembelajaran multimedia ini dilengkapi dengan latihan dan kuis. Namun,

kelemahan dari multimedia ini terletak di dalam latihan dan kuis yang selalu

ditampilkan berurutan sehingga jawaban mudah dihafal. Disamping menampilkan

animasi, multimedia ini dilengkapi dengan lagu dan suara dubber yang mudah

sehingga menyokong untuk anak yang belajar dengan cara visual dan kinestetik.

Contoh lain dari pengembangan multimedia pembelajaran adalah media

pembelajaran “Kumpulan Pembelajaran Anak” oleh Borobudur Studio tahun

2014. Media Pembelajaran ini sangat interaktif, pengguna dapat belajar mengenal

alfabet, angka, nama buah, nama binatang, warna dan suara alat musik tradisional

dengan dengan mudah. Pengguna diberikan materi berupa gambar-gambar dari

benda yang sering ditemui sehari-hari.

Gambar 2.2 Fitur pada media pembelajaran “Kumpulan Pembelajaran Anak”

7

Media pembelajaran ini dilengkapi dengan suara pengajar yang menjelaskan

materi, aplikasi ini juga dapat menampilkan cerita dongeng dengan gambar

sehingga cocok untuk anak-anak yang ingin belajar membaca.

Contoh lain terkait media pembelajaran adalah Petualangan Mitfas. Aplikasi

ini mengisahkan tentang seorang anak SMP yang harus mengasah kemampuan

akademisnya khususnya di bidang Matematika dan Fisika. Aplikasi ini tersusun

atas 5 level dan 1 nilai level, masing-masing level mempunyai keunikan

tersendiri. Level-level tersebut terdiri 2 level bertema matematika dan 3 level

bertema fisika selain itu disediakan 1 level rapor untuk melihat nilai dan ending

dari aplikasi ini. Uniknya lagi aplikasi ini memiliki multiple ending. Jika rata-rata

nilai yang dihasilkan kurang dari 70 maka pemain akan mengalami sad ending,

sedangkan jika rata-rata nilai yang dihasilkan lebih dari atau sama dengan 70

maka pemain akan mengalami happy ending. Berikut ini tampilan dari media

pembelajaran fisika dan matematika“Petualangan Mitfas”.

Sumber: www.gameedukasi.com/2010/10/petualangan-mitfas/

Gambar 2.3 Game edukasi “Petualangan Si Mitfas”

Aplikasi ini merupakan game edukasi untuk siswa SMP (13-15 tahun)

khusunya pelajaran fisika dan matematika. Dengan bermain game ini siswa akan

lebih paham tentang materi matematika dan fisika untuk bab tertentu yang dibahas

8

di game ini, seperti pythagoras, luas bangun datar, konversi satuan, gaya dan

usaha, dan gaya gravitasi.

2.2 Media Pembelajaran

Multimedia adalah media yang menggabungkan dua unsur atau lebih media

yang terdiri dari teks, grafik, gambar, foto, audio, dan animasi secara terintegrasi

(Istiyanto, 2013). Multimedia terbagi menjadi dua kategori, yaitu: multimedia

linear, dan multimedia interaktif. Multimedia linear adalah suatu multimedia yang

tidak dilengkapi dengan alat pengontrol apapun yang dapat dioperasikan oleh

pengguna. Multimedia ini berjalan sekuensial (berurutan), contohnya televisi dan

film.

Multimedia interaktif adalah suatu multimedia yang dilengkapi dengan alat

pengontrol yang dapat dioperasikan oleh pengguna, sehingga pengguna dapat

memilih apa yang dikehendaki untuk proses selanjutnya (Istiyanto,2013). Contoh

multimedia interaktif adalah: multimedia pembelajaran interaktif, aplikasi game.

Sedangkan pembelajaran diartikan sebagai proses penciptaan lingkungan

memungkinkan terjadinya proses belajar. Jadi dalam pembelajaran yang utama

adalah bagaimana siswa belajar. Belajar dalam pengertian aktivitas mental siswa

dalam berinteraksi dengan lingkungan yang menghasilkan perubahan perilaku

yang bersifat relatif konstan. Dengan demikian aspek yang menjadi penting

dalam aktivitas belajar dan pembelajaran adalah lingkungan. Bagaimana

lingkungan ini diciptakan dengan menata unsur-unsurnya sehingga dapat

mengubah perilaku siswa.

Media pembelajaran didesain untuk mensimulasikan permasalahan yang ada

sehingga diperoleh esensi atau ilmu yang dapat digunakan untuk menyelesaikan

permasalahan tersebut. Media pembelajaran ini dapat digunakan sebagai salah

satu media edukasi yang memiliki pola pembelajaran learning by doing.

Berdasarkan pola yang dimiliki oleh media pembelajaran tersebut, pengguna

dituntut untuk belajar sehingga dapat menyelesaikan permasalahan yang ada.

Status media pembelajaran, instruksi, dan tools yang disediakan oleh aplikasi akan

membimbing pengguna secara aktif untuk menggali informasi sehingga dapat

9

memperkaya pengetahuan dan strategi saat bermain.

Manfaat yang dapat diperoleh adalah proses pembelajaran lebih menarik,

lebih interaktif, jumlah waktu mengajar dapat dikurangi, kualitas belajar dapat

ditingkatkan, dan proses belajar mengajar dapat dilakukan di mana dan kapan

saja, serta sikap belajar siswa dapat ditingkatkan.

Sedangkan keunggulan multimedia pembelajaran adalah sebagai berikut.

1. Memperbesar benda yang sangat kecil dan tidak tampak oleh mata, seperti

kuman, bakteri, elektron, dan lain-lain.

2. Memperkecil benda yang sangat besar, yang tidak mungkin dihadirkan di

sekolah, seperti gajah, rumah, gunung dan lain-lain.

3. Menyajikan benda atau peristiwa yang kompleks, rumit dan berlangsung

cepat atau lambat, seperti sistem tubuh manusia, bekerjanya suatu mesin,

beredarnya planet Mars, berkembangnya bunga dan lain-lain.

4. Menyajikan benda atau peristiwa yang jauh, seperti bulan, bintang, salju

dan lain-lain.

5. Menyajikan benda atau peristiwa yang berbahaya, seperti letusan gunung

berapi, harimau, racun dan lain-lain.

6. Meningkatkan daya tarik dan perhatian siswa.

Dari uraian sebelumnya dapat disimpulkan bahwa multimedia pembelajaran

dapat diartikan sebagai aplikasi multimedia yang digunakan dalam proses

pembelajaran, dengan kata lain untuk menyalurkan pesan (pengetahuan,

ketrampilan dan sikap) serta dapat merangsang pikiran, perasaan, perhatian dan

kemauan yang belajar sehingga secara sengaja proses belajar terjadi, bertujuan

dan terkendali.

2.3 Pengertian Kurikulum

Kurikulum sebagai suatu rancangan dalam pendidikan memiliki posisi yang

strategis, karena seluruh kegiatan pendidikan bermuara kepada kurikulum. Begitu

pentingnya kurikulum sebagaimana sentra kegiatan pendidikan, maka di dalam

penyusunannya memerlukan landasan atau fondasi yang kuat, melalui pemikiran

dan penelitian secara mendalam dan pada dasarnya kurikulum merupakan suatu

10

sistem yang terdiri dari beberapa komponen. Komponen-komponen kurikulum

suatu lembaga pendidikan dapat diidentifikasi dengan cara mengkaji buku

kurikulum lembaga pendidikan itu. Dari buku kurikulum tersebut dapat

mengetahui fungsi suatu komponen kurikulum terhadap komponen-komponen

kurikulum yang lain.

Kurikulum merupakan seperangkat/sistem rencana dan pengaturan mengenai

isi dan bahan pelajaran serta cara yang digunakan sebagai pedoman untuk

menggunakan aktivitas belajar mengajar (Ikwan, 2012).

2.3.1 Fungsi Kurikulum

Pada dasarnya kurikulum itu berfungsi sebagai pedoman atau acuan. Bagi

guru, kurikulum itu berfungsi sebagai pedoman dalam melaksanakan proses

pembelajaran. Bagi sekolah atau pengawas, berfungsi sebagai pedoman dalam

melaksanakan pengawasan. Bagi orang tua, kurikulum itu berfungsi sebagai

pedoman dalam membimbing anaknya belajar di rumah. Bagi masyarakat,

kurikulum itu berfungsi sebagai pedoman untuk memberikan bantuan bagi

terselenggaranya proses pendidikan di sekolah. Bagi siswa itu sendiri, kurikulum

berfungsi sebagai suatu pedoman belajar.

Berkaitan dengan fungsi kurikulum bagi siswa sebagai subjek didik, terdapat

enam fungsi kurikulum, yaitu:

1. Fungsi Penyesuaian

Fungsi penyesuaian mengandung makna bahwa kurikulum sebagai alat

pendidikan harus mampu mengarahkan siswa agar memiliki sifat well-

adjusted yaitu mampu menyesuaikan dirinya dengan lingkungan, baik

lingkungan fisik maupun lingkungan sosial. Lingkungan itu sendiri senantiasa

mengalami perubahan dan bersifat dinamis. Oleh karena itu, siswa pun harus

memiliki kemampuan untuk menyesuaikan diri dengan perubahan yang

terjadi di lingkungannya.

2. Fungsi Integrasi

Fungsi integrasi mengandung makna bahwa kurikulum sebagai alat

pendidikan harus mampu menghasilkan pribadi-pribadi yang utuh. Siswa

11

pada dasarnya merupakan anggota dan bagian integral dari masyarakat. Oleh

karena itu, siswa harus memiliki kepribadian yang dibutuhkan untuk dapat

hidup dan berintegrasi dengan masyarakatnya.

3. Fungsi Diferensiasi

Fungsi diferensiasi mengandung makna bahwa kurikulum sebagai alat

pendidikan harus mampu memberikan pelayanan terhadap perbedaan individu

siswa. Setiap siswa memiliki perbedaan, baik dari aspek fisik maupun psikis

yang harus dihargai dan dilayani dengan baik.

4. Fungsi Persiapan

Fungsi persiapan mengandung makna bahwa kurikulum sebagai alat

pendidikan harus mampu mempersiapkan siswa untuk melanjutkan studi ke

jenjang pendidikan berikutnya. Selain itu, kurikulum juga diharapkan dapat

mempersiapkan siswa untuk dapat hidup dalam masyarakat seandainya

karena sesuatu hal, tidak dapat melanjutkan pendidikannya.

5. Fungsi Pemilihan

Fungsi pemilihan mengandung makna bahwa kurikulum sebagai alat

pendidikan harus mampu memberikan kesempatan kepada siswa untuk

memilih program-program belajar yang sesuai dengan kemampuan dan

minatnya. Fungsi pemilihan ini sangat erat hubungannya dengan fungsi

diferensiasi, karena pengakuan atas adanya perbedaan individual siswa berarti

pula diberinya kesempatan bagi siswatersebut untuk memilih apayang sesuai

dengan minat dan kemampuannya. Untuk mewujudkan kedua fungsi tersebut,

kurikulum perlu disusun secara lebih luas dan bersifat fleksibel.

6. Fungsi Diagnostik

Fungsi diagnostik mengandung makna bahwa kurikulum sebagai alat

pendidikan harus mampu membantu dan mengarahkan siswa untuk dapat

memahami dan menerima kekuatan (potensi) dan kelemahan yang

dimilikinya. Apabila siswa sudah mampu memahami kekuatan-kekuatan dan

kelemahan-kelemahan yang ada pada dirinya, maka diharapkan siswa dapat

mengembangkan sendiri potensi kekuatan yang dimilikinya atau memperbaiki

kelemahan-kelemahannya.

12

2.3.2 Komponen Kurikulum

Kurikulum memiliki 4 unsur komponen yaitu: tujuan, isi (bahan pelajaran),

strategi pelaksanaan (proses belajar mengajar), dan penilaian (evaluasi).

1. Komponen Tujuan

Kurikulum merupakan suatu program yang dimaksudkan untuk mencapai

tujuan pendidikan. Tujuan itulah yang dijadikan arah atau acuan segala

kegiatan pendidikan yang dijalankan. Berhasil atau tidaknya program

pengajaran di Sekolah dapat diukur dari seberapa jauh dan banyaknya

pencapaian tujuan-tujuan tersebut. Dalam setiap kurikulum lembaga

pendidikan, pasti dicantumkan tujuan-tujuan pendidikan yang akan atau harus

dicapai oleh lembaga pendidikan yang bersangkutan. Tujuan pendidikan

nasional yang merupakan pendidikan pada tataran makroskopik, selanjutnya

dijabarkan ke dalam tujuan institusional yaitu tujuan pendidikan yang ingin

dicapai dari setiap jenis maupun jenjang sekolah atau satuan pendidikan

tertentu.

Dalam Permendiknas No. 22 Tahun 2007 dikemukakan bahwa tujuan

pendidikan tingkat satuan pendidikan dasar dan menengah dirumuskan

mengacu kepada tujuan umum pendidikan berikut. Tujuan pendidikan dasar

adalah meletakkan dasar kecerdasan, pengetahuan, kepribadian, akhlak mulia,

serta keterampilan untuk hidup mandiri dan mengikuti pendidikan lebih

lanjut. Tujuan pendidikan menengah adalah meningkatkan kecerdasan,

pengetahuan, kepribadian, akhlak mulia, serta keterampilan untuk hidup

mandiri dan mengikuti pendidikan lebih lanjut.

2. Komponen Isi/Materi

Isi program kurikulum adalah segala sesuatu yang diberikan kepada anak

didik dalam kegiatan belajar mengajar dalam rangka mencapai tujuan. Isi

kurikulum meliputi jenis-jenis bidang studi yang diajarkan dan isi program

masing-masing bidang studi tersebut. Bidang-bidang studi tersebut

disesuaikan dengan jenis, jenjang maupun jalur pendidikan yang ada pada

kurikulum yang sedang diterapkan.

13

Kriteria yang dapat membantu pada perancangan kurikulum dalam

menentukan isi kurikulum. Kriteria itu natara lain:

a. Isi kurikulum harus sesuai, tepat dan bermakna bagi perkembangan siswa.

b. Isi kurikulum harus mencerminkan kenyataan sosial.

c. Isi kurikulum harus mengandung pengetahuan ilmiah yang tahan uji.

d. Isi kurikulum mengandung bahan pelajaran yang jelas.

e. Isi kurikulum dapat menunjang tercapainya tujuan pendidikan.

Materi kurikulum pada hakekatnya adalah isi kurikulum yang

dikembangkan dan disusun dengan prinsip-prinsip sebagai berikut :

a. Materi kurikulum berupa bahan pelajaran terdiri dari bahan kajian atau

topiktopik pelajaran yang dapat dikaji oleh siswa dalam proses

pembelajaran.

b. Mengacu pada pencapaian tujuan setiap satuan pelajaran.

c. Diarahkan untuk mencapai tujuan pendidikan nasional.

3. Komponen Strategi

Strategi merujuk pada pendekatan dan metode serta peralatan mengajar

yang digunakan dalam pengajaran. Tetapi pada hakikatnya strategi pengajaran

tidak hanya terbatas pada hal itu saja. Pembicaraan strategi pengajaran

tergambar dari cara yang ditempuh dalam melaksanakan pengajaan,

mengadakan penilaian, pelaksanaan bimbingan dan mengatur kegiatan, baik

yang secara umum berlaku maupun yang bersifat khusus dalam proses belajar

mengajar.

Strategi pelaksanaan kurikulum berhubungan dengan bagaimana

kurikulum itu dilaksanakan di sekolah. Kurikulum merupakan rencana, ide,

harapan, yang harus diwujudkan secara nyata disekolah, sehingga mampu

mampu mengantarkan anak didik mencapai tujuan pendidikan. Kurikulum

yang baik tidak akan mencapai hasil yang maksimal, jika pelaksanaannya

menghasilkan sesuatu yang baik bagi anak didik. Komponen strategi

pelaksanaan kurikulum meliputi pengajaran, penilaian, bimbingan dan

penyuluhan dan pengaturan kegiatan sekolah.

14

4. Komponen Evaluasi

Evaluasi merupakan salah satu komponen kurikulum. Dalam pengertian

terbatas, evaluasi kurikulum dimaksudkan untuk memeriksa tingkat

ketercapaian tujuan-tujuan pendidikan yang ingin diwujudkan melalui

kurikulum yang bersangkutan. Sedangkan dalam pengertian yang lebih luas,

evaluasi kurikulum dimaksudkan untuk memeriksa kinerja kurikulum secara

keseluruhan ditinjau dari berbagai kriteria. Indikator kinerja yang dievaluasi

tidak hanya terbatas pada efektivitas saja, namun juga relevansi, efisiensi,

kelayakan program. Pada bagian lain, dikatakan bahwa luas atau tidaknya

suatu program evaluasi kurikulum sebenarnya ditentukan oleh tujuan

diadakannya evaluasi kurikulum. Apakah evaluasi tersebut ditujukan untuk

mengevaluasi keseluruhan sistem kurikulum atau komponen-komponen

tertentu saja dalam sistem kurikulum tersebut. Salah satu komponen

kurikulum penting yang perlu dievaluasi adalah berkenaan dengan proses dan

hasil belajar siswa.

Evaluasi kurikulum memegang peranan penting, baik untuk penentuan

kebijakan pendidikan pada umumnya maupun untuk pengambilan keputusan

dalam kurikulum itu sendiri. Hasil-hasil evaluasi kurikulum dapat digunakan

oleh para pemegang kebijakan pendidikan dan para pengembang kurikulum

dalam memilih dan menetapkan kebijakan pengembangan sistem pendidikan

dan pengembangan model kurikulum yang digunakan. Hasil – hasil evaluasi

kurikulum juga dapat digunakan oleh guru-guru, kepala sekolah dan para

pelaksana pendidikan lainnya dalam memahami dan membantu

perkembangan peserta didik, memilih bahan pelajaran, memilih metode dan

alat-alat bantu pelajaran, cara penilaian serta fasilitas pendidikan lainnya.

Merupakan suatu komponen kurikulum, karena dengan evaluasi dengan

evaluasi dapat di peroleh informasi akurat tentang penyelenggaraan

pembelajaran dan keberhasilan belajar siswa berdasarkan informasi itu dapat

dibuat keputusan tentang kurikulum itu sendiri,pembelajaran kesulitan dan

upaya bimbingan yang perlu dilakukan.

15

2.4 Pengertian Tematik

Pembelajaan tematik adalah pembelajaran tepadu yang menggunakan tema

untuk mengaitkan beberapa mata pelajaran sehingga dapat memberikan

pengalaman bermakna kepada siswa (Sudrajat, 2008). Tema adalah pokok pikiran

atau gagasan pokok yang menjadi pokok pembicaraan (Poerwadarminta, 1983).

Dengan tema diharapkan akan memberikan banyak keuntungan, di antaranya:

1. Siswa mudah memusatkan perhatian pada suatu tema tertentu.

2. Siswa mampu mempelajari pengetahuan dan mengembangkan berbagai

kompetensi dasar antar matapelajaran dalam tema yang sama.

3. Pemahaman terhadap materi pelajaran lebih mendalam dan berkesan.

4. Kompetensi dasar dapat dikembangkan lebih baik dengan mengkaitkan

matapelajaran lain dengan pengalaman pribadi siswa.

5. Siswa mampu lebih merasakan manfaat dan makna belajar karena materi

disajikan dalam konteks tema yang jelas.

6. Siswa lebih bergairah belajar karena dapat berkomunikasi dalam situasi

nyata, untuk mengembangkan suatu kemampuan dalam satu mata

pelajaran sekaligus mempelajari matapelajaran lain.

7. Guru dapat menghemat waktu karena mata pelajaran yang disajikan secara

tematik dapat dipersiapkaan sekaligus dan diberikan dalam dua atau tiga

pertemuan, waktu selebihnya dapat digunakan untuk kegiatan remedial,

pemantapan, atau pengayaan.

2.4.1 Landasan Pembelajaran Tematik

Landasan pembelajaran tematik mencakup:

1. Landasan Filosofis

Dalam pembelajaran tematik sangat dipengaruhi oleh tiga aliran filsafat

yaitu:

a. Aliran progresivisme yang memandang proses pembelajaran perlu

ditekankan pada pembentukan kreatifitas, pemberian sejumlah kegiatan,

suasana yang alamiah (natural), dan memperhatikan pengalaman siswa.

b. Aliran konstruktivisme yang melihat pengalaman langsung siswa (direct

16

experiences) sebagai kunci dalam pembelajaran. Menurut aliran ini,

pengetahuan adalah hasil konstruksi atau bentukan manusia. Manusia

mengkonstruksi pengetahuannya melalui interaksi dengan obyek,

fenomena, pengalaman dan lingkungannya. Pengetahuan tidak dapat

ditransfer begitu saja dari seorang guru kepada anak, tetapi harus

diinterpretasikan sendiri oleh masing-masing siswa. Pengetahuan bukan

sesuatu yang sudah jadi, melainkan suatu proses yang berkembang terus

menerus. Keaktifan siswa yang diwujudkan oleh rasa ingin tahunya sangat

berperan dalam perkembangan pengetahuannya.

c. Aliran humanisme yang melihat siswa dari segi keunikan/kekhasannya,

potensinya, dan motivasi yang dimilikinya.

2. Landasan Psikologis

Pembelajaran tematik terutama berkaitan dengan psikologi perkembangan

peserta didik dan psikologi belajar. Psikologi perkembangan diperlukan

terutama dalam menentukan isi/materi pembelajaran tematik yang diberikan

kepada siswa agar tingkat keluasan dan kedalamannya sesuai dengan tahap

perkembangan peserta didik. Psikologi belajar memberikan kontribusi dalam

hal bagaimana isi/materi pembelajaran tematik tersebut disampaikan kepada

siswa dan bagaimana pula siswa harus mempelajarinya.

3. Landasan Yuridis

Pembelajaran tematik berkaitan dengan berbagai kebijakan atau peraturan

yang mendukung pelaksanaan pembelajaran tematik di sekolah dasar.

Landasan yuridis tersebut adalah UU No. 23 Tahun 2002 tentang

Perlindungan Anak yang menyatakan bahwa setiap anak berhak memperoleh

pendidikan dan pengajaran dalam rangka pengembangan pribadinya dan

tingkat kecerdasannya sesuai dengan minat dan bakatnya. UU No. 20 Tahun

2003 tentang Sistem Pendidikan Nasional menyatakan bahwa setiap peserta

didik pada setiap satuan pendidikan berhak mendapatkan pelayanan

pendidikan sesuai dengan bakat, minat, dan kemampuannya.

Pembelajaran tematik lebih menekankan pada keterlibatan siswa dalam

proses belajar secara aktif dalam proses pembelajaran, sehingga siswa dapat

17

memperoleh pengalaman langsung dan terlatih untuk dapat menemukan

sendiri berbagai pengetahuan yang dipelajarinya. Melalui pengalaman

langsung siswa akan memahami konsep-konsep yang dipelajari dan

menghubungkannya dengan konsep lain yang telah dipahaminya. Teori

pembelajaran ini dimotori para tokoh Psikologi yang menekankan bahwa

pembelajaran haruslah bermakna dan berorientasi pada kebutuhan dan

perkembangan anak.

Pembelajaran tematik lebih menekankan pada penerapan konsep belajar

sambil melakukan sesuatu (learning by doing). Oleh karena itu, guru perlu

mengemas atau merancang pengalaman belajar yang akan mempengaruhi

kebermaknaan belajar siswa. Pengalaman belajar yang menunjukkan kaitan

unsur-unsur konseptual menjadikan proses pembelajaran lebih efektif. Kaitan

konseptual antar mata pelajaran yang dipelajari akan membentuk skema,

sehingga siswa akan memperoleh keutuhan dan kebulatan pengetahuan.

Selain itu, dengan penerapan pembelajaran tematik di sekolah dasar akan

sangat membantu siswa, karena sesuai dengan tahap perkembangannya siswa

yang masih melihat segala sesuatu sebagai satu keutuhan.

Beberapa ciri khas dari pembelajaran tematik antara lain:

1. Pengalaman dan kegiatan belajar sangat relevan dengan tingkat

perkembangan dan kebutuhan anak usia sekolah dasar.

2. Kegiatan-kegiatan yang dipilih dalam pelaksanaan pembelajaran tematik

bertolak dari minat dan kebutuhan siswa.

3. Kegiatan belajar akan lebih bermakna dan berkesan bagi siswa sehingga

hasil belajar dapat bertahan lebih lama.

4. Membantu mengembangkan keterampilan berpikir siswa.

5. Menyajikan kegiatan belajar yang bersifat pragmatis sesuai dengan

permasalahan yang sering ditemui siswa dalam lingkungannya.

6. Mengembangkan keterampilan sosial siswa, seperti kerjasama, toleransi,

komunikasi, dan tanggap terhadap gagasan orang lain.

Dengan pelaksanaan pembelajaran dengan memanfaatkan tema ini, akan

diperoleh beberapa manfaat yaitu:

18

1. Dengan menggabungkan beberapa kompetensi dasar dan indikator serta isi

mata pelajaran akan terjadi penghematan, karena tumpang tindih materi

dapat dikurangi bahkan dihilangkan.

2. Siswa mampu melihat hubungan-hubungan yang bermakna sebab

isi/materi pembelajaran lebih berperan sebagai sarana atau alat, bukan

tujuan akhir.

3. Pembelajaran menjadi utuh sehingga siswa akan mendapat pengertian

mengenai proses dan materi yang tidak terpecah-pecah.

4. Dengan adanya pemaduan antar mata pelajaran maka penguasaan konsep

akan semakin baik dan meningkat.

2.5 Multimedia

Multimedia adalah penggunaan komputer untuk menyajikan dan

menggabungkan teks, suara, gambar, animasi dan video dengan alat bantu (tool)

dan koneksi (link) sehingga pengguna dapat bernavigasi, berinteraksi, berkarya

dan berkomunikasi (Hofstetter 2001). Multimedia sering digunakan dalam dunia

hiburan. Selain dari dunia hiburan, Multimedia juga diadopsi oleh dunia Game.

Multimedia juga dapat diartikan sebagai penggunaan beberapa media yang

berbeda dalam menyampaikan informasi berbentuk teks, audio, grafik, animasi,

dan video.

2.5.1 Komponen Multimedia

Multimedia dapat didefinisikan menjadi 2 kategori, yaitu Multimedia Content

Production dan Multimedia Communication.

1. Multimedia Content Production adalah penggunaan beberapa media (teks,

audio, grafik, animasi, video dan interactivity) yang berbeda dalam

menyampaikan suatu informasi atau menghasilkan produk multimedia

seperti video, audio, musik, film, game, entertaintment, dan lain-lain. Bisa

juga dikatakan sebagai penggunaan beberapa teknologi yang berbeda yang

memungkinkan untuk menggabungkan media (teks, audio, grafik, animasi,

19

video, dan interactivity) dengan cara yang baru untuk tujuan komunikasi.

Dalam kategori ini media yang digunakan adalah :

a. Media teks/tulisan

b. Media audio/suara

c. Media video

d. Media animasi

e. Media gambar

f. Media Interaktif

g. Media special effect

2. Multimedia Communication adalah penggunaan media (massa), seperti

televisi, radio, media cetak dan internet untuk mempublikasikan,

menyiarkan atau mengkomunikasikan material periklanan, publikasi,

entertaintment, berita, pendidikan, dan lain-lain. Dalam kategori ini media

yang digunakan adalah:

a. Televisi

b. Radio

c. Film

d. Media Cetak

e. Musik

f. Game

g. Entertainment

h. Tutorial

i. Internet

Dengan penggunaan multimedia, penyampaian informasi akan menjadi lebih

menarik dan mempermudah pengguna dalam mendapatkan informasi tersebut.

Seperti yang disebutkan dalam laporan hasil penelitian yang dikeluarkan oleh

Computer Technology Research (Hofstetter, 2001) bahwa seseorang hanya akan

mendapatkan 20% dari apa yang dilihat dan 30% dari yang didengar. Sedangkan

melalui multimedia akan mendapatkan 50% dari apa yang dilihat dan didengar,

sampai 80% dari apa yang dilihat, didengar dan berinteraksi dengan pada waktu

yang sama.

20

2.5.2 Elemen Multimedia

Menurut Hofstetter (2001) komponen elemen multimedia terbagi atas lima

jenis yaitu:

1. Teks

Teks merupakan elemen multimedia yang menjadi dasar untuk

menyampaikan informasi, karena teks adalah jenis data yang paling

sederhana dan membutuhkan tempat penyimpanan yang paling kecil. Teks

merupakan cara yang paling efektif dalam mengemukakan ide-ide kepada

pengguna, sehingga penyampaian informasi akan lebih mudah dimengerti

oleh masyarakat. Jenis-jenis teks seperti Printed Text, yaitu teks yang

dihasilkan oleh word processor atau word editor dengan cara diketik yang

nantinya dapat dicetak. Scanned Text yaitu teks yang dihasilkan melalui

proses scanning tanpa pengetikan. Dan Hypertext yaitu jenis teks yang

memberikan link ke suatu tempat atau meloncat ke topik tertentu.

2. Grafik

Sangat bermanfaat untuk mengilustrasi informasi yang akan disampaikan

terutama informasi yang tidak dapat dijelaskan dengan kata-kata. Jenis-jenis

grafik seperti bitmap yaitu gambar yang disimpan dalam bentuk kumpulan

pixel, yang berkaitan dengan titik-titik pada layar monitor. Digitized picture

adalah gambar hasil rekaman video atau kamera yang dipindahkan ke

komputer dan diubah ke dalam bentuk bitmaps. Hyperpictures, sama seperti

hypertext hanya saja dalam bentuk gambar.

3. Audio

Multimedia tidak akan lengkap jika tanpa audio (suara). Audio bisa berupa

percakapan, musik atau efek suara. Format dasar audio terdiri dari beberapa

jenis :

a. WAVE merupakan format file digital audio yang disimpan dalam bentuk

digital dengan eksistensi WAV

21

b. MIDI (Musical Instrument Digital Interface) memberikan cara yang

lebih efisien dalam merekam music dibandingkan WAVE, kapasitas data

yang dihasilkan juga jauh lebih kecil. MIDI disimpan dalam bentuk MID.

4. Video

Video menyediakan sumber yang kaya dan hidup untuk aplikasi

multimedia. Dengan video dapat menerangkan hal-hal yang sulit

digambarkan lewat kata-kata atau gambar diam dan dapat menggambarkan

emosi dan psikologi manusia secara lebih jelas.

5. Animasi

Animasi adalah simulasi gerakan yang dihasilkan dengan menayangkan

rentetan frame ke layer. Frame adalah satu gambar tunggal pada rentetan

gambar yang membentuk animasi. Menurut Foley, Van Dam, Feiner dan

Hughes (1997) Animate adalah untuk membuat sesuatu hidup, sebagian orang

mengira bahwa animasi itu sama dengan motion (gerakan), tetapi animasi

mencakup semua yang mengandung efek visual sehingga animasi mencakup

perubahan posisi terhadap waktu, bentuk, warna, struktur, tekstur dari sebuah

objek, posisi kamera, pencahayaan, orientasi dan focus dan perubahan dalam

teknik rendering.

2.6 PengenalanAndroid

Berikut ini akan dijelaskan tentang pengertian Android, Android platform,

Android SDK (Software Development Kit), ADT (Android Development Tools),

Arsitektur Android dan Versi Android.

2.6.1 PengertianAndroid

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis Linux

yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan

platform terbuka bagi para pengembang untuk menciptakan aplikasi yang akan

dibangun.

22

Gambar 2.4 Logo Android

Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat

peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android,

dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras,

peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,

Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5

November 2007, Android bersama Open Handset Alliance menyatakan

mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak,

Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi

perangkat lunak dan standar terbuka perangkat seluler.

1. Kelebihan Android

a. Multitasking, Android memiliki keunggulan dari sistem operasi mobile

lainnya seperti Symbian, Android bisa membuka beberapa aplikasi

sekaligus, begitu juga Android yang mampu membuka beberapa

aplikasi sekaligus tanpa harus menutup salah satunya.

b. Kemudahan dalam Notifikasi, setiap ada SMS, E-mail, atau bahkan

artikel terbaru dari RSS Reader, akan selalu ada notifikasi di Home

Screen Ponsel Android, tak ketinggalan Lampu LED Indikator yang

berkedip-kedip, sehingga tidak akan terlewatkan satu SMS, E-mail

ataupun Missed Call sekalipun.

c. Akses Mudah terhadap Ribuan Aplikasi Android lewat Google

AndroidApp Market, lewat Google Android App Market pengguna bisa

mengunduh berbagai aplikasi dengan gratis. Ada banyak ribuan aplikasi

dan game yang siap untuk diunduh di ponsel Android.

d. Pilihan Ponsel yang beranekaragam akan terasa berbeda dibandingkan

dengan iOS, jika iOS hanya terbatas pada iPhone dari Apple, maka

23

Android tersedia di ponsel dari berbagai produsen, mulai dari Sony

Ericsson, Motorola, HTC sampai Samsung.

2. Kelemahan Android

a. Koneksi Internet yang terus menerus. Kebanyakan ponsel berbasis

system ini memerlukan koneksi internet yang simultan alias terus

menerus aktif. Koneksi internet GPRS selalu aktif setiap waktu, itu

artinya harus siap berlangganan paket GPRS yang sesuai dengan

kebutuhan.

b. Iklan Aplikasi di ponsel Android memang bisa didapatkan dengan

mudah dan gratis, namun konsekuensinya di setiap aplikasi tersebut

akan selalu iklan yang terpampang yang cukup mengganggu.

2.6.2 Platform Android

Android merupakan generasi baru platform mobile, platform yang

memberikan pengembang untuk melakukan pengembangan sesuai dengan yang

diharapkannya. Android dipuji sebagai “platform mobile pertama yang lengkap,

tebuka, dan bebas”.

1. Lengkap (Complete Platform), Android merupakan sistem operasi yang

aman dan banyak menyediakan tools dalam membangun software dan

banyak memungkinkan untuk peluang pengembangan aplikasi.

2. Terbuka (Open Source Platform), platform Android disediakan melalui

lisensi open source. Pengembang dapat dengan bebas untuk

mengembangkan aplikasi.

3. Free ( Free Platform), Android adalah aplikasi yang bebas untuk

dikembangkan. Tidak ada lisensi atau biaya royalti untuk dikembangkan

pada platform Android. Tidak ada kontrak dan biaya keanggotaan yang

diperlukan serta tidak diperlukan biaya pengujian. Aplikasi Android dapat

didistribusikan dan diperdagangkan dalam bentuk apapun.

Sistem operasi yang mendasari Android dilisensikan di bawah GNU, General

Public License Version 2 (GPLv2), yang sering dikenal dengan istilah “copyleft”

lisensi dimana setiap perbaikan pihak ketiga harus terus jatuh di bawah ketentuan

24

yang berlaku. Pengembang memiliki beberapa pilihan ketika membuat aplikasi

yang berbasis Android. Sebagian besar pengembang menggunakan Eclipse yang

tersedia secara bebas untuk merancang dan mengembangkan aplikasi Android.

Eclipse adalah IDE yang paling populer untuk pengembangan Android, karena

memiliki Android plug-in yang tersedia untuk memfasilitasi pengembangan

Android. Selain itu, Eclipse juga mendapat dukungan langsung dari Google untuk

menjadi IDE pengembangan aplikasi Android, ini terbukti dengan adanya

penambahan plugins untuk eclipse membuat project Android di mana source

software langsung dari situs resminya Google. Akan tetapi tidak menutup

kemungkinan untuk menggunakan IDE yang lain seperti Netbeans untuk

melakukan pengembangan Android.

2.6.3 Android SDK (Software Development Kit)

Android SDK adalah tools API (Application Programming Interface) yang

diperlukan untuk mulai mengembangkan aplikasi pada platform Android

menggunakan bahasa pemrograman Java. Android merupakan subset perangkat

lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci

yang dirilis oleh Google. Saat ini disediakan Android SDK (Software

Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan

aplikasi pada platform menggunakan bahasa Java. Sebagai platform aplikasi-

netral, Android memberikan kesempatan untuk membuat aplikasi yang

dibutuhkan yang bukan merupakan aplikasi bawaan handphone atau smartphone.

Beberapa fitur Android yang paling penting adalah:

1. Framework aplikasi yang mendukung penggantian komponen dan

reusable.

2. Mesin virtual Dalvik yang mengoptimalkan untuk perangkat mobile.

3. Integrated browser berdasarkan engine open source Webkit.

4. Grafis yang dioptimalkan dan didukung oleh Libraries grafis 2D, grafis

3D berdasarkan spesifikasi opengl ES 1,0 (opsional akselerasi hardware)

5. Sqlite untuk penyimpanan data

6. Media Support yang mendukung audio, video, dan gambar

25

(MPEG4,H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony

(tergantung hardware)

7. Bluetooth , EDGE, 3G, dan Wifi (tergantung hardware).

8. Kamera, GPS, kompas, dan accelerometer (tergantung hardware)

9. Lingkungan Development yang lengkap, dan kaya termasuk perangkat

emulator, tools untuk debugging, profil dan kinerja memori, dan plugin

untuk IDE Eclipse.

2.6.4 ADT (Android Development Tools)

Android Development Tools adalah plugin yang didesain untuk IDE Eclipse

yang memberikan kemudahan dalam mengembangkan aplikasi Android dengan

menggunakan IDE Eclipse. Dengan menggunakan ADT akan memudahkan

dalam membuat aplikasi project Android, membuat GUI aplikasi, dan

menambahkan komponen-komponen yang lainnya, begitu juga dapat melakukan

running aplikasi menggunakan Android SDK melalui eclipse. Dengan ADT dapat

melakukan pembuatan package Android (.apk) yang digunakan untuk distribusi

aplikasi Android yang dirancang.

2.6.5 Arsitektur Android

Secara garis besar arsitektur Android dapat dijelaskan dan digambarkan

sebagai berikut:

1. Applications dan Widgets

Ini adalah layer yang berhubungan dengan aplikasi saja, dimana biasanya

diunduh aplikasi kemudian dilakukan instalasi dan menjalankan aplikasi

tersebut. Di layer terdapat aplikasi inti termasuk klien e-mail, program SMS,

kalender, peta, browser, kontak, dan lain-lain.

2. Applications Frameworks

Android adalah “Open Development Platform” yaitu Android menawarkan

kepada pengembang atau memberi kemampuan kepada pengembang untuk

membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk

mengaskses perangkat keras, akses informasi resources, menjalankan service

26

background, mengatur alarm, dan menambahkan status notifications, dan

sebagainya. Pengembang memiliki akses penuh menuju API frameworks

seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi

dirancang supaya dengan mudah dapat menggunakan kembali komponen

yang sudah digunakan. Applications frameworks adalah layer dimana para

pembuat aplikasi melakukan pengembangan atau pembuatan aplikasi yang

akan dijalankan di sistem operasi Android karena pada layer inilah aplikasi

dapat dirancang dan dibuat, seperti content-providers yang berupa SMS dan

panggilan telepon. Komponen-komponen yang termasuk di dalam

Applications Frameworks adalah sebagai berikut:

a. Views

b. Content Provider

c. Resource Manager

d. Notification Manager

e. Activity Manager

3. Libraries

Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya para

pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya.

Berjalan di atas kernel, layer ini meliputi berbagai library C/C++ inti seperti

Libe dan SSL, serta:

a. Libraries media untuk pemutaran media audio dan video

b. Libraries untuk manajemen tampilan

c. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D

d. Libraries SSL dan Webkit terintegrasi dengan web browser dengan engine

embeded web view

e. Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s

4. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan dimana dalam

prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine

meruapakan mesin yang membentuk dasar kerangka aplikasi Android. Di

dalam Android Run Time dibagi menjadi dua bagian yaitu:

27

a. Core Libraries : aplikasi Android dibangun dalam bahasa java, sementara

Dalvik Virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan

sebuah libraries yang berfungsi untuk menterjemahkan bahasa java/c yang

ditangani oleh Core Libraries.

b. Dalvik Virtual Machine: Virtual mesin berbasis register yang dioptimalkan

untuk menjalankan fungi-fungsi secara efisien, di mana merupakan

pengembangan yang mampu membuat linux kernel untuk melakukakn

threading dan manajemen tingkat rendah.

5. Linux Kernel

Linux Kernel adalah layer di mana inti dari operating sistem dari Android

itu berada. Berisi file-file system yang mengatur sistem processing, memory,

resource, drivers, dan sistem-sistem operasi Android lainnya. Linux kernel

yang digunakan Android adalah Linux kernel release 2.6.

Gambar 2.5 Android Framework

2.6.6 Versi Android

Adapun versi-versi Android yang pernah dirilis adalah sebagai berikut:

1. Android Versi 1.1

Google merilis Android versi 1.1 Android versi ini pada 9 Maret 2009,

Android versi 1.1 dilengkapi dengan pembaruan estetis pada aplikais jam,

alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan

28

pemberitahuan E-mail.

2. Android Versi 1.5 (Cupcake)

Google kembali merilis telepon seluler dengan menggunakan Android dan

SDK (Software Develpoment Kit) dengan versi 1.5 (Cupcake). Terdapat

beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler

versi ini yakni kemampuan merekam dan menontin video dengan modus

kamera, meng-upload video ke Youtube dan gambar ke Picasa langsung dari

telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis

ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat

disesuaikan dengan sistem.

3. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September 2009 dengan menampilkan proses

pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai

indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang

memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera,

camcorder, dan galeri yang diintegrasikan , CDMA/EVDO, 802.1x, VPN,

Gestures, dan Text-to-Speech engine, kemampuan pada semua ponsel,

pengadaan resolusi VWGA.

4. Android Versi 2.0/2.1 (Eclair)

Android dengan versi 2.0/2.1 (Eclair) diluncurkan pada 3 Desember

2009, perubahan yang dilakukan adalah pengoptimalan hardware, penigkatan

Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan

HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3.2 MP,

digital zoom, dan Bluetooth 2.1.

5. Android Versi 2.2 (Froyo: Frozen Yoghurt)

Android versi 2.2 Rev 1 diluncurkan pada awal 2010. Android inilah yang

sekarang sangat banyak beredar di pasaran, salah satunya dipakai di Samsung

FX Tab yang sudah ada di pasaran. Fitur yang tersedia di Android versi ini

sudah kompleks diantaranya adalah:

a. Kerangka aplikasi memungkinkan penggunaan dan penghapusan

komponen yang tersedia.

29

b. Dalvik Virtual Machine dioptimalkan untuk perangkat mobile.

c. Grafik : grafik di 2D dan grafis 3D berdasarkan libraries OpenGL.

d. SQLite: untuk penyimpanan data.

e. Mendukung media: audio, video, dan berbagai format gambar (MPEG4,

H.264, MP3, AAC, AMR, JPG, PNG, GIF)

f. GSM, Bluetooth, EDGE, 3G, dan WiFi (hardware independent)

g. Kamera, Global positioning System (GPS), kompas, dan accelerometer

(tergantung hardware).

6. Android Versi 2.3 (Gingerbread)

Android versi ini diluncurkan pada Desember 2010, hal-hal yang direvisi

dari versi sebelumnya adalah kemampuan seperti berikut:

a. SIP-based VoIP

b. Near Filed Communication (NFC)

c. Gyroscope dan sensor

d. Multiple cameras support

e. Mixable audio effects

f. Download manager

7. Android Versi 3.0/3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini

mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb

juga mendukung multi prosesor dan juga akselerasi perangkat keras

(hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan

Honeycomb adalah Motorola Xoom. Perangkat tablet dengan platform.

8. Android Versi 4.0

Android versi 4.0 sudah merupakan platform yang bisa dipakai di

smartphone dan tablet PC.

2.7 WebView

WebView adalah sebuah class pada android yang menampilkan dan

menjalankan aplikasi mobile yang berbasis Android. Sederhananya, WebView itu

seperti Android browser, tetapi tidak mempunyai address bar untuk memasukkan

30

URL, karena URL sudah didefinisikan dalam aplikasi Android tersebut Webview

digunakan untuk pemrograman aplikasi mobile yang menampilkan aplikasi web

seperti halaman website. Class WebView merupakan ekstensi Android dalam kelas

view yang memungkinkan untuk menampilkan halaman web dalam layout

activity. Segala yang dilakukan oleh WebView terlihat dalam halaman website.

WebView sangat membantu menyediakan informasi dalam sebuah aplikasi

yang membutuhkan pembeharuan seperti user guide atau end-user egreement.

Dalam aplikasi Android, dapat membuat sebuah activity yang terdapat WebView

yang dapat digunakan untuk menampilkan document secara online.

Penggunaan lainnya yakni WebView dapat membantu aplikasi untuk

menyediakan data dimana aplikasi tersebut membutuhkan koneksi internet dalam

pengiriman data seperti e-mail. Lebih mudah dalam membuat aplikasi yang dapat

memperlihatkan halaman web dari pada melakukan request dalam network

kemudian melakukan parsing data dan rendering dalam layout Android.

2.8 HTML

HTML (Hypertext Markup Language) adalah bahasa dasar untuk web

scripting bersifat client side yang memungkinkan untuk menampilkan informasi

dalam bentuk teks, grafik, serta multimedia dan juga untuk menghubungkan antar

tampilan web page atau yang lebih dikenal dengan hyperlink (Dhewek, 2008).

Hypertext Markup Language atau yang biasa disingkat HTML pertama kali

diciptakan dan dikembangkan oleh Tim Berners-Lee pada awal tahun 1990-an

yang pada saat itu masih bekerja di CERN. HTML diciptakan dengan tujuan

sebagai cara sederhana namun efektif untuk mengkodekan dokumen elektronik.

HTML pertama kali dipopulerkan dengan menggunakan browser Mosaic.

2.8.1 Perkembangan HTML

HTML terus mengalami perkembangan, berikut adalah penjelasan

perkembangan HTML:

1. HTML versi 1.0 adalah versi pertama sejak lahirnya nama HTML tersebut.

Versi ini memiliki kemampuan untuk heading, paragraph, hypertext, bold

31

dan italic text, wrapping serta memiliki dukungan dalam peletakkan

sebuah gambar.

2. HTML versi 2.0 (14 Januari 1996). Pada versi ini ada beberapa tambahan

kemampuan diantaranya penambahan form comment, hal ini menyebabkan

adanya sebuah interaktif dan mulai dari versi ini yang menjadikan sebuah

pioneer dalam perkembangan homepage interaktif.

3. HTML versi 3.0 (18 Desember 1997). HTML versi 3.0 juga disebut

HTML+ yang mempunyai kemampuan dalam beberapa fasilitas

diantaranya adalah penambahan fitur table dalam paragraph, akan tetapi

versi ini tidak bertahan lama.

4. HTML versi 3.2 (14 Januari 1997). HTML versi ini adalah penyempurnaan

dari HTML versi 3.0. Keluarnya versi ini dikarenakan adanya beberapa

kasus yang timbul pada pengembang browser yang telah melakukan

pendekatan dengan cara lain yang justru hal tersebut menjadi populer.

Maka dibakukan versi 3.2 untuk mengakomodasi praktek yang banyak

digunakan oleh pengembang browser dan diterima secara umum. Dapat

dikatakan versi 3.2 ini merupakan versi 3.2 yang dikembangkan oleh

beberapa pengembang browser seperti Netscape dan Microsoft.

5. HTML versi 4.0 (18 Desember 1997). Versi ini sudah terdapat

penambahan pada link, meta, image dan lain-lain sebagai penyempurnaan

versi 3.2.

6. HTML versi 4.01 (24 Desember 1999). HTML versi 4.01 menjadi

rekomendasi W3C. HTML 4.01 adalah minor update-koreksi dan

perbaikan bug dari HTML 4.0.

7. XHTML versi 1.0 (20 Januari 2000). XHTML 1.0 merumuskan HTML 4.0

dalam XML.

8. HTML 5 (22 Januari 2008). HTML 5 meningkatkan interoperabilitas dan

mengurangi biaya pengembangan dengan membuat aturan yang tepat

tentang bagaimana untuk menangani semua elemen HTML, dan

bagaimana memulihakan dari kesalahan. Beberapa fitur dalam HTML 5

adalah fungsi untuk audio embedding, video, grafik, sisi penyimpanan data

32

klien, dan dokumen interaktif. HTML 5 juga mengandung unsur-unsur

baru seperti <nav>, <header><footer>, dan <figure>. Yang termasuk

kelompok kerja diantaranya AOL, Apple, Google, IBM, Microsoft,

Mozilla, Nokia, Opera dan banyak lagi vendor lainnya.

2.8.2 Penulisan dalam HTML

Penulisan yang digunakan dalam HTML berupa bagian yang tersusun,

sehingga menghasilkan sebuah tampilan pada halaman web. Dengan penulisan

HTML, sebuah halaman web dapat dibuat sesuai dengan yang diinginkan.

Kelebihan-kelebihan HTML antara lain:

1. Merupakan bahasa pengkodean yang lintas platform (cross platform),

maksudnya HTML dapat digunakan pada berbagai jenis mesin komputer

yang berbeda dan berbagai macam sistem operasi yang berbeda. Jadi

bersifat fleksibel karena ditulis cukup dengan menggunakan editor

karakter ASCII.

2. Dapat disisipi gambar baik gambar statis atau dinamis (animasi) termasuk

menggunakan gambar untuk dijadikan hyperlink. Gambar di sini

digunakan untuk merujuk pada suatu halaman web, dimana setiap titik-titik

yang sudah didefinisikan berupa rectangular (kotak), poligon (kurva tak

beraturan) atau lingkaran digunakan untuk 'jump' ke halaman lain, atau

link ke halaman di luar web yang bersangkutan.

3. Dapat disisipi animasi berupa Java Applet atau file-file animasi dari

Macromedia Flash atau Macromedia Shockwave (untuk keperluan ini,

browser harus memiliki plug-in khusus untuk menjalankan file-file animasi

ini).

4. Dapat disisipi bahasa pemrograman untuk mempercantik halaman web

seperti Javascript, VBScript, Active Server Pages, Perl, Tcl, PHP dan

sebagainya.

5. Bukan merupakan bahasa pemrograman jadi tidak memerlukan kompiler.

Cara menjalanakannya cukup dengan menggunakan browser.

Adapun kekurangan dari HTML adalah:

33

1. Menghasilkan halaman yang statis, untuk memperoleh halaman yang

dinamis harus menggunakan bahasa pemrograman tertentu seperti

Javascript atau VBScript dan animasi seperti Flash atau Shockwave.

2. Memiliki tag-tag yang begitu banyak sehingga susah dipelajari untuk yang

masih awam.

3. Tidak dapat menghasilkan halaman yang interaktif. Interaktif di sini

maksudnya client dapat berinteraksi dengan server. Untuk keperluan itu,

HTML harus disisipi bahasa pemrograman yang dapat menangani hal

tersebut, contohnya Perl atau Tcl.

2.9 CSS

Cascading Style Sheet (CSS) merupakan salah satu bahasa pemrograman

web untuk mengendalikan beberapa komponen dalam sebuah web sehingga akan

lebih terstruktur dan seragam (Rizky, 2012). CSS merupakan salah satu kode

pemrograman yang bertujuan untuk menghias dan mengatur gaya tampilan/layout

halaman web supaya lebih elegan dan menarik. CSS adalah sebuah teknologi

internet yang direkomendasikan oleh World Wide Web Consortium atau W3C pada

tahun 1996. Awalnya, CSS dikembangkan di SGML pada tahun 1970, dan terus

dikembangkan hingga saat ini. CSS telah mendukung banyak bahasa markup

seperti HTML, XHTML, XML, SVG (Scalable Vector Graphics) dan Mozilla

XUL (XML User Interface Language).

Sama halnya styles dalam aplikasi pengolahan kata seperti Microsoft Word

yang dapat mengatur beberapa style, misalnya heading, subbab, bodytext, footer,

images, dan style lainnya untuk dapat digunakan bersama-sama dalam beberapa

file. Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang

dibuat dengan bahasa HTML dan XHTML.

CSS dapat mengendalikan ukuran gambar, warna body teks, warna tabel,

ukuran border, warna border, warna hyperlink, warna mouse over, spasi antar

paragraf, spasi antar teks, margin kiri/kanan/atas/bawah, dan parameter lainnya.

Dengan adanya CSS memungkinkan untuk menampilkan halaman yang sama

dengan format yang berbeda.

34

Menurut penulisannya CSS dapat dibagi menjadi 3 jenis, yaitu :

1. Internal Style Sheet

CSS didefinisikan di dalam file HTML, yaitu dalam elemen <head>

2. External Style sheet

CSS didefinisikan di dalam satu file tersendiri di luar file HTML

3. Inline Style Sheet

CSS didefinisikan di dalam setiap elemen/tag HTML

2.10 JavaScript

JavaScript adalah suatu bahasa script yang di-interpreter oleh browser

(Ismail, 2010). JavaScript adalah bahasa skrip yang populer di internet dan dapat

bekerja di sebagian besar penjelajah web populer seperti Internet Explorer (IE),

Mozilla Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan dalam

halaman web menggunakan tag SCRIPT. Javascript adalah sebuah bahasa

komputer atau kode pemrograman yang digunakan pada website agar website

tersebut menjadi lebih interaktif dan dinamis. Javascript adalah jenis bahasa

pemrograman client side. Penggunaan kode Javascript pada sebuah website

bersifat opsional, artinya tidak harus selalu ada. Berbeda dengan Java, Javascript

tidak memiliki kompiler seperti halnya Java. Sifat yang sama dengan bahasa Java

adalah Javascript bersifat interpreter, yaitu script yang telah dibuat di text editor

seperti notepad atau wordpad akan dibaca perbaris dari baris awal sampai akhir.

Bahasa pemograman Javascript dibuat secara khusus untuk membuat suatu

halaman web yang interaktif maupun dinamis. Jika Java merupakan bahasa

pemograman dan HTML (Hyper Text Markup Language) merupakan bahasa kode

maka Javascript hibrid yang menjadi perpaduan antara bahasa Java dengan

HTML.

Beberapa keunggulan Javascript dalam mengolah dan mengkondisikan

sebuah web antara lain, karena ukuran filenya kecil maka ketika seorang me-

request sebuah web dari webserver dimana di dalam web tersebut memuat script

Javascript maka aplikasi dari Javascript tersebut akan cepat tampil di browser

tanpa harus diolah terlebih dahulu di server. Hal ini disebabkan karena Javascript

35

memiliki sifat client side yaitu script yang ketika dipanggil oleh browser akan

langsung tampil tanpa harus dioleh di server disertai script aslinya sehingga user

dapat melihat source-nya dengan mudah tanpa terenkripsi oleh server.

Sedangkan ada beberapa bahasa pemograman web yang ketika dipanggil

browser maka script program tersebut akan diolah dan bekerja di server,

sedangkan ketika web tersebut akan ditampilkan di browser maka scriptnya tidak

akan disertai di browser karena scriptnya hanya akan bekerja di server dan tidak

bekerja di client. Bahasa pemograman ini sifatnya server side. Contohnya antara

lain adalah PHP, ASP, JSP dan masih banyak lainnya. Beberapa jenis software

yang menjadi webserver di antaranya adalah apache yang sekarang ini sangat

digandrungi oleh banyak sebagian besar masterweb untuk dijadikan

webservernya.

2.11 AngularJS

AngularJS atau biasa disebut Angular adalah sebuah framework aplikasi

berbasis web yang dikembangkan secara open-source oleh Google dan komunitas

programmer dan perusahaan yang berkepentingan untuk membuat aplikasi yang

berjalan dalam satu halaman saja. (Emka, 2015).AngularJS merupakan framework

MVC full frontend untuk aplikasi web JavaScript. AngularJS dibangun di Google

dan menyediakan sebuah metode cepat untuk membangun aplikasi web laman

tunggal. Seperti jQuery, AngularJS dimasukkan dala sebuah laman web engan

menggunakan tag <script>, dan ditulis dalam JavaScript. Namun, berbeda dengan

jQuery, AngularJS dimaksudkan sebagai sebuah framework untuk membangun

sebuah aplikasi web utuh. Selain itu, AngularJS juga mengandung sebuah versi

minimal jQuery secara default. AngularJS bukan merupakan pustaka (library)

Javascript melainkan sebuah framework yang solid untuk membangun web app,

seperti framework Javascript pada umumnya AngularJS mengadopsi konsep MVC

(Model, View, Controller), meskipun menggunakan implementasi yang berbeda

dengan konsep asli MVC.

AngularJS mengimplementasikan browsers dengan sintak HTML baru,

HTML5 menawarkan sejumlah elemen baru semisal <video>, <section>,

36

<article>, dan lainnya. AngularJS dapat menambahkan lebih banyak lagi elemen-

elemen baru yang akan dimengerti oleh browser, misal <draggable> membuat

elemen bisa di-drag, <zippy> membuat elemen semisal akordion, atau bahkan

menggunakan bahasa indonesia seperti <sembunyikan> jika diklik akan

menyembunyikan elemen (contoh saja, pada praktik gunakanlah bahasa inggris

sebagai bahasa internasional). Fungsi ini disebut dengan istilah Directive.

Pengguna yang bertanggungjawab membuat Directive tersebut bisa ditafsirkan

oleh browser dengan menuliskan kode pada deklarasi Directive itu sendiri. Atau

dengan kata lain, pengguna mengajari browser sintak HTML baru. Bahkan tidak

terbatas pada elemen, pengguna bisa membuat Directive menggunakan attribute,

HTML comment atau class.

AngularJS dikembangkan sejak tahun 2009 oleh Misko Hevery dan Adam

Abrons pada saat bekerja di Brat Tech LLC. Awalnya, AngularJS menjadi salah

satu software dibalik layanan online storage JSON yang dikembangkan. Layanan

storage JSON ini disasarkan pada pasar enterprise namun belum mampu

menyedot perhatian cukup banyak pengguna. Pada awalnya Angular

diperkenalkan di domain “GetAngular.com”. Karena kurang ramai, akhirnya

library ini pun dirilis secara opensource. Setelah menjadi library opensource,

Angular JS kemudian terus dikembangkan oleh Hevery pada saat dia bekerja di

Google.

Gambar 2.6 Logo AngularJS

2.11.1 Konsep Angular JS

1. Model

Dalam pola MVC, model merepresentasikan suatu set data yang digunakan

oleh Controller dan View. Model dapat mendeteksi perubahan data dan

memberikan notifikasi perubahan tersebut ke Controller dan View. Pada

37

implementasi pasif, notifikasi perubahan dapat diabaikan. Untuk membuat

Model di beberapa framework selain AngularJS diperlukan konstruktor

khusus. Sedangkan Model pada AngularJS tidak memiliki konstruktor

tersendiri dan tidak memerlukan inheritance dari Object Class tertentu.

Model tidak memerlukan setter atau getter method khusus. Model bisa berupa

primitive, object hash, atau full object. Dengan kata lain Model hanyalah

Javascript object biasa.

2. Scope

Scope merupakan perekat (glue) atau perantara

antara Controller dengan View. Masing-masing Controller memiliki scope

atau lingkup sendiri.

3. Controller

Controller merupakan kode dibalik View. Kode pemrosesan dan logika

ditaruh pada Controller yang akan menghasilkan Model untuk ditampilkan

pada View.

4. View

View adalah apa yang terlihat oleh pengguna. Dimulai dari sebuah template

kemudian digabungkan dengan Model lalu browser melakukan proses

rendering dan hasilnya ditampilkan ke pengguna. Template yang digunakan

hanyalah sintak HTML (bukan HTML diselingi dengan markup khusus

seperti pada template engine pada umumnya).

5. Expression

Expression merupakan kode snippet yang dapat ditulis

pada View. Expression berkaitan dengan mekanisme binding pada AngularJS,

formatnya adalah sebagai berikut {{ expression }} Contoh :

a. {{ 1+2 }} , akan menampilkan angka 3 ke pengguna.

b. {{ user.name }} , akan menampilkan nilai properti ‘name’ dari model

‘user’

c. {{ 1000 | currency }} , akan menampilkan angka 1000 dalam format

mata uang (currency), keyword setelah tanda pipa ( | ) merupakan filter.

38

6. Filter

Filter melakukan transformasi data pada Model. Bisa digunakan untuk

menyesuaikan format sesuai keinginan atau melakukan pengurutan data dan

sebagainya. AngularJS juga memiliki beberapa filter bawaan, seperti contoh

yang sudah dilihat pada poin pembahasan Expression yaitu currency, lainnya

seperti number, filter, limitTo, sortBy, lowercase, upercase, dan sebagainya.

User juga dapat menulis custom filter jika dibutuhkan.

7. Directive

Directive merupakan cara untuk membuat sintak HTML baru yang akan

dimengerti oleh browser. Directive dapat berupa elemen, attribute, HTML

comment atau Class. Angular telah menyediakan beberapa Directive bawaan

yang penting dalam pengembangan web app. Beberepa Directive bawaan

Angular diantaranya ng-controller, ng-model, ng-repeat, ng-click dan lain-

lain. Pengguna dapat pula membuat custom Directive dengan perilaku

(behavior) tertentu seperti yang telah dijelaskan pada pembahasan apa yang

membuat AngularJS istimewa untuk mengetahui bagaimana komponen-

komponen di atas saling berinteraksi.

2.12 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL

(bahasa Inggris: database management system) atau DBMS yang multithread,

multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat

MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General

Public License (GPL), tetapi juga menjual di bawah lisensi komersial untuk kasus

dimana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan

proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas

umum dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing,

MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia

MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya.

Kedua orang Swedia dan orang Finlandia yang mendirikan MySQL AB adalah

David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

39

Gambar 2.7 Logo MySQL

MySQL adalah sebuah implementasi dari sistem manajemen basisdata

relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL

(General Public License). Setiap pengguna dapat secara bebas menggunakan

MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan

produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan

salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL

(Structured Query Language). SQL adalah sebuah konsep pengoperasian

basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang

memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja

pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat

oleh pengguna maupun program-program aplikasi yang memanfaatkannya.

Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional

maupun operasi basisdata non-transaksional. Pada modus operasi non-

transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja

dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun pada

modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang

tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi

yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web

(wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk

bisnis sangat disarankan untuk menggunakan modus basisdata transaksional,

hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional

40

tidak secepat unjuk kerja pada modus non-transaksional.

MySQL memiliki beberapa keistimewaan, antara lain :

1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi

seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan

masih banyak lagi.

2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai

perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat

digunakan secara gratis.

3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam

waktu yang bersamaan tanpa mengalami masalah atau konflik.

4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan

dalam menangani query sederhana, dengan kata lain dapat memproses

lebih banyak SQL per satuan waktu.

5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,

seperti signed / unsigned integer, float, double, char, text, date,

timestamp, dan lain-lain.

6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh

yang mendukung perintah Select dan Where dalam perintah (query).

7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level

subnetmask, nama host, dan izin akses user dengan sistem perizinan yang

mendetail serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data

dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta

dan 60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat

ditampung mencapai 32 indeks pada tiap tabelnya.

9. Konektivitas. MySQL dapat melakukan koneksi dengan klien

menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes

(NT).

10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan

menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa

Indonesia belum termasuk di dalamnya.

41

11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai

aplikasi dan bahasa pemrograman dengan menggunakan fungsi API

(Application Programming Interface).

12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)

yang dapat digunakan untuk administrasi basis data, dan pada setiap

peralatan yang ada disertakan petunjuk online.

13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam

menangani ALTER TABLE, dibandingkan basis data lainnya semacam

PostgreSQL ataupun Oracle.

2.13 Cordova / PhoneGap

PhoneGap adalah framework open source untuk membuat aplikasi pada

berbagai macam platform seperti Android, Blackberry, Iphone atau Windows

Phone menggunakan HTML5, JQUERY, JQUERY MOBILE, dan CSS3.

Ketika akan membangun aplikasi untuk device yang berbeda seperti Android,

Iphone, Windows Mobile dan lainnya membutuhkan framework dan bahasa

pemrograman yang berbeda. Seperti di Android menggunakan bahasa

pemrograman Java, Blackberry juga dengan Java, Iphone dengan Basic C , dan

Windows Phone dengan C#. PhoneGap memberi solusi dengan menggunakan

bahasa web-standart untuk membangun aplikasi smartphone. Dengan PhoneGap

pengguna hanya melakukan sekali coding langsung bisa di-compile kesemua

platform sekaligus.

Gambar 2.8 Logo PhoneGap

Framework PhoneGap telah diunduh lebih dari satu juta kali dan digunakan

lebih dari 400,000 developer. Ribuan aplikasi dibangun menggunakan PhoneGap,

dan semuanya tersedia di mobileapp stores dan directory. Contohnya adalah BBC

42

Olympics, My Heart Camera, dan lain sebagainya.

PhoneGap code dikontribusikan untuk Apache Software Foundation (ASF)

dibawah nama Apache Cordova dan mencapai status top-level project di Oktober

2012. PhoneGap akan dikembangkan dibawah Apache License, menjadi versi 2.0.

Nitobi adalah pembuat asli dan salah satu kontibutor utama dalam pembuatan

framework PhoneGap. Pada oktober 2011, Adobe memperbolehkan Nitobi untuk

fokus ke project Phonegap dan melanjutkan pekerjaannya di pengembangan

semua platform mobile.

Ada banyak komunitas yang berkontribusi dalam pengembangan project ini,

dari IBM, IRM, Microsoft dan lain sebagainya. Phonegap mempunyai sebuah

komunitas aktif terbuka dan menerima kolaborasi siapapun. Jika ingin

berkontribusi bisa menghubungi PhoneGap.

2.13.1 PhoneGap Build

PhoneGap adalah service yang memungkinkan developer untuk membangun

aplikasi mobile dengan cepat dan mudah untuk di-compile tanpa SDKs compilers

dan hardware.

Gambar 2.9 PhoneGap Build

2.13.2 PhoneGap User Interface

User interface untuk aplikasi PhoneGap dibuat menggunakan HTML, CSS,

dan JavaScripts. UI layer dari sebuah aplikasi PhoneGap adalah sebuah tampilan

web browser yang memenuhi 100% tinggi layar , dan 100% lebar layar.

Berpikir bahwa ini adalah sebuah halaman web “chrome-less”. Aplikasi

PhoneGap membawa HTML content, tanpa “chrome” atau dekorasi window dari

sebuah halaman web biasa. Pengguna membangun aplikasi untuk mengambil

43

keuntungan dari ruang ini, dan pengguna membangun elemen

navigational/interactive/content dan aplikasi chrome ke dalam interface dasar

HTML dan CSS.

Tampilan web yang menggunakan PhoneGap sama dengan tampilan web

yang menggunakan Sistem Operasi Native. Di iOS, menggunakan Objective-C

UIWebView class; di Android menggunakan Android, Webkit, WebView.

2.13.3 PhoneGap API

PhoneGap menyedikan Aplication Programming Interface (API) yang

mengizinkan pengguna untuk mengakses fungsionalitas Sistem Operasi Native

menggunakan JavaScripts. Secara logic pengguna membangun aplikasi dengan

dengan JavaScript, dan PhoneGap API mengaturnya dengan Sistem Operasi

Native.

Gambar 2.10 PhoneGap API

Di tambahan fungsionalitas “out of the box” ,pengguna juga dapat mengubah

PhoneGap’s JavaScript ke native untuk menulis “native plugins”. PhoneGap

native plugins mengizinkan pengguna untuk membuat kelas native pengguna

sendiri dan menghubungkannya dengan Interface JavaScripts untuk

menggunakan aplikasi PhoneGap.

Aplikasi PhoneGap dibangun menggunakan HTML, CSS, dan JavaScript,

bagaimanapun hasil akhir dari aplikasi PhoneGap adalah archieve aplikasi binary

yang dapat disebarkan ke lingkungan aplikasi standart. Untuk aplikasi iOS

hasilnya adalah sebuah IPA file (iOS Application Archieve), untuk aplikasi

Android output-nya adalah sebuah APK file (Android Package), untuk aplikasi

Windows Phone output-nya adalah XAP file (Application Package), dan

sebagainya. Itu adalah beberapa format paket aplikasi yang digunakan oleh

44

aplikasi native, dan dapat disebarkan di semua lingkungan aplikasi (Itunes Store,

Android Market, Amazon Market, BlacBerry App World, Windows Phone

Marketplace, dan sebagainya).

Spesifikasi arsitektur aplikasi berbeda pada setiap basisnya. Biarpun begitu

data-driven aplikasi dibuat dengan mengikuti aristektur dasar. Aplikasi PhoneGap

bertindak sebagai client agar user bisa berinteraksi dengannya. PhoneGap Client

berkomunikasi dengan sebuah server aplikasi untuk menerima data. Server

aplikasi mengatur business logic dan berkomunikasi dengan sebuah back-end data

repository.

Gambar 2.11 Arsitertur PhoneGap

Server aplikasi biasanya adalah sebuah web server dan mempunyai sebah

server side scripting language seperti ColdFusion, Java, .NET, PHO, dan

sebagainya. PhoneGap adalah sebuah agnotic dari back-end technologies dan

dapat bekerja dengan banyak server aplikasi menggunakan protocol web standart.

Server aplikasi melakukan business logic dan perhitungan, dan menerima atau

menahan data dari repository data yang terpisah – biasanya sebuah relasional

database, tetapi juga bia semua struktur atau mekanisme untuk penahanan data.

Aplikasi PhoneGap biasanya tidak langsung meminta langsung ke sebuah

database, komunikasinya adalah melalui sebuah aplikasi server. Komunikasi

Client ke aplikasi server dapat berdasarkan standart HTTP request untuk content

HTML, REST – ful XML services, JSON services, atau SOAP ( atau websockets

jika OS mendukung). Ada beberapa beberapa teknik yang dapat digunakan di

sebuah desktop-browser berbasis AJAX.

Arsiktektur client-side biasanya menggunakan Model Single-page

application, dimana logic aplikasi berada di sebuah page HTML single. Page ini

45

tidak pernah diambil dari memori. Semua data akan di-display dengan meng-

update HTML DOM, data diterima dari server aplikasi menggunakan teknik

AJAX, dan variabel disimpan di memori dengan JavaScript.

Arsitektur Multi-page client-side aplikasi mendukung, tetapi tidak dianjurkan

karena pengguna akan kehilangan variabel memori ketika memanggil page yang

terpisah.

Berikut adalah Kelebihan dan Kekurangan dari penggunaan PhoneGap

Keuntungan :

1. Multi-platform: iOS, Blackberry, Android, WebOS, Symbian, Windows

Phone, dan Samsung Bada.

2. Hanya menggunakan HTML, Javascript dan CSS è dalam artian pengguna

tidak perlu mempelajari Java (Android), objective C(iOS), c# untuk

Windows Phone, dan sebagainya.

3. Bersifat open source, sehingga modul yang ada akan terus dikembangkan

oleh banyaknya developer.

Kerugian :

1. Reverse-engineering: banyaknya aplikasi yang dapat digunakan untuk

kode Javascript sehingga memungkinkan dilakukannya pengeditan

terhadap kode aslinya.

2. Adanya beberapa fitur telepon yang tidak didukung oleh phonegap.

Berikut penjelasan fitur-fitur yang didukung dan tidak didukung oleh

phonegap :

3. Karena multiplatform, phonegap sering ketinggalan ketika ada fitur baru

pada platform aslinya.

4. Tampilan yang ada terlihat sama untuk semua platform, dan tampilan

terkadang tidak terlihat seperti mobile app.

5. Banyak kendala apabila disinkronisasikan dengan IOS platform.

6. Walau menghasilkan aplikasi yang bersifat “build once, run everywhere”

tetap saja aplikasi yang dibangun tidak seoptimal aplikasi buatan native

SDK asli.

7. Alasannya dikarenakan aplikasi phonegap perlu menginterpret kode

46

Javascript agar bisa diterima native SDK sehingga membutuhkan waktu

lebih untuk menjalankannya.

2.14 Web Service

Web service adalah aplikasi sekumpulan data (database), perangkat lunak

(software) atau bagian dari perangkat lunak yang dapat diakses secara remote oleh

berbagai piranti dengan sebuah perantara tertentu. Secara umum, web

service dapat diidentifikasikan dengan menggunakan URL seperti hanya web pada

umumnya. Namun yang membedakan web service dengan web pada umumnya

adalah interaksi yang diberikan oleh web service. Berbeda dengan URL web pada

umumnya, URL web service hanya mengandung kumpulan informasi, perintah,

konfigurasi atau sintaks yang berguna membangun sebuah fungsi-fungsi tertentu

dari aplikasi.

Gambar 2.12 Arsitektur Web Service

Web service dapat diartikan juga sebuah metode pertukaran data, tanpa

memperhatikan dimana sebuah database ditanamkan, dibuat dalam bahasa apa

sebuah aplikasi yang mengkonsumsi data, dan di platform apa sebuah data itu

47

dikonsumsi. Web service mampu menunjang interoperabilitas. Sehingga web

service mampu menjadi sebuah jembatan penghubung antara berbagai sistem yang

ada.

Menurut W3C Web Services Architecture Working Group pengertian Web

service adalah sebuah sistem software yang didesain untuk mendukung

interoperabilitas interaksi mesin ke mesin melalui sebuah jaringan. Interfaceweb

service dideskripsikan dengan menggunakan format yang mampu diproses oleh

mesin (khususnya WSDL). Sistem lain yang akan berinteraksi dengan web

service hanya memerlukan SOAP, yang biasanya disampaikan dengan HTTP dan

XML sehingga mempunyai korelasi dengan standar Web (Web Services

Architecture Working Group, 2004).

Web pada umumnya digunakan untuk melakukan respon dan request yang

dilakukan antara client dan server. Sebagai contoh, seorang pengguna

layanan web tertentu mengetikan alamat url web untuk membentuk sebuah

request. Request akan sampai pada server, diolah dan kemudian disajikan dalam

bentuk sebuah respon. Dengan singkat kata terjadilah hubungan client-

server secara sederhana.

Sedangkan pada web service hubungan antara client dan server tidak terjadi

secara langsung. Hubungan antara client dan server dijembatani oleh file web

service dalam format tertentu. Sehingga akses terhadap database akan ditangani

tidak secara langsung oleh server, melainkan melalui perantara yang disebut

sebagai web service. Peran dari web service ini akan mempermudah distribusi

sekaligus integrasi database yang tersebar di beberapa server sekaligus.

2.15 PHP

PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa

pemrogramman berbasis web yang memiliki kemampuan untuk memproses data

dinamis. PHP dikatakan sebagai sebuah server-side embedded script language

artinya sintaks-sintaks dan perintah yang diberikan akan sepenuhnya dijalankan

oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang

dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser,

48

tetapi prosesnya secara keseluruhan dijalankan di server.

Pada prinsipnya server akan bekerja apabila ada permintaan dari client.

Dalam hal ini, client menggunakan kode-kode PHP untuk mengirimkan

permintaan ke server. Ketika menggunakan PHP sebagai server-side embedded

script language maka server akan melakukan hal-hal sebagai berikut :

1. Membaca permintaan dari client/browser

2. Mencari halaman/page di server

3. Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi

pada halaman/page.

4. Mengirim kembali halaman tersebut kepada client melalui internet atau

intranet.

Kode PHP disimpan sebagai plain text dalam format ASCII, sehingga kode

PHP dapat ditulis hampir di semua editor text seperti windows notepad, windows

wordpad, dan lain-lain. Kode PHP adalah kode yang disertakan di sebuah halaman

HTML dan kode tersebut dijalankan oleh server sebelum dikirim ke browser.

Pada file .html, HTTP server hanya melewatkan content dari file menuju ke

browser. Server tidak mencoba untuk mengerti atau memproses file, karena itu

adalah tugas sebuah browser.

Pada file dengan ekstensi .php akan ditangani secara berbeda. Yang memiliki

kode PHP akan diperiksa. Web server akan memulai bekerja apabila berada diluar

lingkungan kode HTML. Oleh karena itu server akan melewati semua content

yang berisi kode HTML, CSS, JavaScript, simple text di browser tanpa

diinterpretasikan di server.

2.15.1 Array dalam PHP

Dalam PHP, sebuah variabel dapat dinyatakan sebagai sebuah tempat untuk

sebuah nilai tunggal. Sedangkan Array adalah sebuah tempat untuk sekumpulan

nilai. Sebuah array terdiri dari sejumlah elemen, yang masing-masing memiliki

sebuah nilai - data yang tersimpan pada elemen array tersebut - dan sebuah key

atau index, dimana elemen tersebut dapat dirujuk. Normalnya, sebuah index

berupa integer. Secara default, array adalah basis nol, artinya elemen pertama dari

49

array memiliki index nol, akan tetapi index dapat juga berupa string.

Bentuk sederhana array terdiri dari serangkaian elemen yang bertanda dimulai

dari nol dan bertambah secara sekuensial. Sebagai contoh sebuah array bernama

$branch, setiap elemen berisi nama kota cabang sebuah perusahaan.

Tabel 2.1 Array PHP

$branch[0] $branch[1] $branch[2] $branch[3] $branch[4]

"Semarang" "Surabaya" "Medan" "Bandung" "Yogyakarta"

Array dalam PHP dapat berisi elemen dari sejumlah tipe data yang berbeda.

Artinya array dalam PHP tidak harus memiliki tipe data yang sama. Setiap elemen

dapat berupa tipe data apa saja.

Ada tiga jenis array di PHP :

1. Numeric array – Array dengan dengan kunci ID numerik.

2. Associative array – Array dimana setiap kunci ID berasosiasi dengan sebuah

nilai.

3. Multidimensional array - Array yang menyimpan satu atau lebih array.