BAB II TINJAUAN PUSTAKA 2.1 State of Art · 2017-04-01 · penelitian (AW, 2012). Ibaratnya suatu...
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.