BAB II LANDASAN TEORI
Penyusunan tugas akhir ini berisi tentang pembuatan aplikasi yang dapat membantu
dalam
mempermudah
dan
pemahaman
dalam
kemampuan
menggunakan bahasa Inggris yang berjalan pada aplikasi mobile android dengan memanfaatkan multimedia seperti gambar, suara, video disertai kuis yang disesuaikan dengan materi yang ada. Sehingga pembahasan teori yang mendukung isi dari tugas akhir ini mengenai teori, teknologi, android beserta tools yang mendukung dalam mengerjakan aplikasi ini.
2.1
Pengenalan Bahasa Inggris Sejarah Bahasa Inggris bermula dari lahirnya bahasa Inggris di pulau
Britania kurang lebih 1.500 tahun yang lalu. Bahasa Inggris adalah sebuah bahasa Jermanik Barat yang berasal dari dialek-dialek Anglo-Frisia yang dibawa ke pulau Britania oleh para imigran Jermanik dari beberapa bagian barat laut daerah yang sekarang disebut Belanda dan Jerman. Pada awalnya, Bahasa Inggris Kuno adalah sekelompok dialek yang mencerminkan asal usul beragam kerajaan-kerajaan Anglo-Saxon di Inggris. Salah satu dialek ini, Saxon Barat akhirnya yang berdominasi. Lalu bahasa Inggris Kuno yang asli kemudian dipengaruhi oleh dua gelombang invasi. Gelombang invasi pertama adalah invasi para penutur bahasa dari cabang Skandinavia keluarga bahasa Jerman. Mereka menaklukkan dan menghuni beberapa bagian Britania pada abad ke-8 dan ke-9. Lalu gelombang invasi kedua ini ialah suku Norman pada abad ke-11 yang bertuturkan sebuah dialek bahasa Perancis. Kedua invasi ini mengakibatkan bahasa Inggris "bercampur" sampai kadar tertentu (meskipun tidak pernah menjadi sebuah bahasa campuran secara harafiah).Hidup bersama dengan anggota sukubangsa Skandinavia akhirnya menciptakan simplifikasi tata bahasa dan pengkayaan inti Anglo-Inggris dari bahasa Inggris.
8
9
Mulai dari abad ke-15, bahasa Inggris berubah menjadi bahasa Inggris Modern, yang seringkali ditarikh bermula dengan Great Vowel Shift (“Pergeseran Bunyi Besar”). Setelah itu bahasa Inggris mulai banyak mengambil kata-kata pungutan dari bahasa-bahasa asing, terutama bahasa Latin dan bahasa Yunani semenjak zaman Renaisans. Karena banyak kata-kata dipinjam dari bahasa yang berbeda-beda, dan ejaan bahasa Inggris bisa dikatakan tidak konsisten, maka risiko pelafazan salah kata-kata cukup tinggi. Namun sisa-sisa dari bentuk-bentuk yang lebih kuna masih ada pada beberapa dialek regional, terutama pada dialek-dialek di West Country. Pada tahun 1755 Samuel Johnson menerbitkan kamus penting bahasa Inggris pertama, yang berjudul Dictionary of the English Language. Bahasa Inggris di Indonesia secara umum diajarkan sebagai bahasa asing. Istilah 'bahasa asing' dalam bidang pengajaran bahasa berbeda dengan 'bahasa kedua'. Bahasa asing adalah bahasa yang yang tidak digunakan sebagai alat komunikasi di negara tertentu di mana bahasa tersebut diajarkan. Sementara bahasa kedua adalah bahasa yang bukan bahasa utama namun menjadi salah satu bahasa yang digunakan secara umum di suatu negara. Sebagai contoh, bahasa Inggris di Singapura adalah bahasa kedua. Media massa, komunikasi, dan pembicaraan di negara tersebut kerap menggunakan bahasa Inggris. Sementara bahasa asing biasanya diajarkan sebagai salah satu mata pelajaran di sekolah dengan tujuan berkomunikasi dasar serta menguasai 4 skill berbahasa (menyimak, membaca, menulis, berbicara) dalam bahasa tersebut dalam batasan tertentu. Di Indonesia, kebijakan pengajaran bahasa Inggris sebagai bahasa asing berubah seiring waktu dan pergantian kebijakan yang kebanyakan dipengaruhi ekonomi dan politik. (http://www.ef.co.id/englishfirst/englishstudy/) (01/07/2015)
2.1.1 Pengenalan Dasar Bahasa Inggris Tata Bahasa (grammar) adalah suatu ilmu yang mengajarkan tentang cara menyusun kata-kata untuk menjadi sebuah kalimat secara tepat. Di dalam Tata
10
Bahasa Inggris (English Grammar) dikenal ada 8 (delapan) jenis kata sebagai unsur pembentuk kalimat, yaitu: 1)
Noun
(Kata Benda)
2)
Adjective
(Kata Sifat)
3)
Verb
(Kata Kerja)
4)
Pronoun
(Kata Ganti)
5)
Adverb
(Kata Keterangan)
6)
Preposition
(Kata Depan)
7)
Conjuction
(Kata Penghubung)
8)
Interjection
(Kata Seru)
Delapan jenis kata diatas dalam bahasa Inggris disebut The Eight Part of Speech (Delapan Bagian Tata Bahasa). Kedelapan jenis kata inilah yang digunakan untuk menyusun kalimat bahasa Inggris. Dan kedelapan jenis kata ini harus diletakkan secara tepat di dalam kalimat bahasa Inggris agar kalimat yang disusun memiliki maksud atau arti yang jelas. Contoh :
I have left my house yesterday (saya telah meninggalkan rumah sejak kemarin)
Apabila kalimat trsebut diuraikan menurut jenis katanya, akan diperoleh sebagai berikut: I
= saya, adalah Kata Ganti (Pronoun)
Have = telah, adalah Kata Kerja Bantu (Auxiliary) Left
= meninggalkan, adalah Kata Kerja (Verb)
My
= saya, adalah kata sifat (Adjective)
House = kemarin, adalah kata keterangan (Adverb) (Azar, Betty S:2002)
2.1.2 English Conversation English Conversation merupakan sebuah langkah awal memulai proses belajar bahasa Inggris, English Conversation adalah sebuah proses bagaimana mempelajari mengenai bercakap-cakap menggunakan bahasa Inggris yang baik. Grammar Bahasa Inggris bukanlah cara terbaik untuk belajar bahasa Inggris, untuk para pemula. Ada tiga hal yang didapat dalam mempelajari English Conversation tersebut, yang pertama kita diajarkan untuk belajar mendengarkan
11
percakapan yang berbahasa Inggris, baik itu mendengar berita, film maupun nonton tv berbahasa Inggris. Dengan kebiasaan mendengar maka sedikit demi sedikit kita akan mampu memahami makna dari percakapan berbahasa Inggris. Langkah kedua belajar English Conversation adalah proses Reading (membaca), untuk menguasai bahasa Inggris dituntut untuk sering-sering membaca artikel yang berbahasa Inggris baik itu berupa novel dan koran. Memanfaatkan internet untuk mencari artikel-artikel berbahasa Inggris. Untuk langkah terakhir yang diajarkan yaitu proses writing (menulis), Dengan sering menuli menggunakan bahasa Inggris, bisa memanfaatkan blog, email sebagai tempat menulis menggunakan Inggris. (http://www.ef.co.id/englishfirst/englishstudy/) (01/07/2015)
2.1.3 Regular dan Irregular Verb Kata kerja atau verba akan mengalami perubahan bentuk sesuai dengan tenses dalam kalimat. Ada dua jenis perubahan bentuk kata kerja yaitu regular verbs (kata kerja teratur) dan irregular verbs (kata kerja tidak teratur). Menjadi hal yang penting untuk memahami bentuk regular verb (kata kerja beraturan) dan irregular verb (kata kerja tak beraturan) karena pemahaman ini diperlukan untuk menempatkan bentuk kata kerja yang benar saat berkaitan dengan tenses. Misalnya, kalimat affirmative/positif dari Past Tense akan memerlukan verb bentuk kedua (simple past) sementara kelompok perfect baik past, present, maupun future dan semua kalimat pasif/passive voice akan memerlukan kata kerja bentuk ketiga (Past Participle). Akan menjadi hal yang keliru, apabila bentuk kata kerja yang dipergunakan tidak tepat, terutama dalam penulisan kalimat dengan tense tertentu yang memerlukan perubahan bentuk kata kerja seperti yang telah disebutkan di atas. http://zonaenglish.com/ (26/05/2016) Secara sederhana regular verb adalah kata kerja yang bentuk kedua (simple past) dan bentuk ketiganya (past participle) didapatkan dengan menambahkan -d atau -ed dari basic verb atau kata kerja bentuk pertamanya. Sementara irregular verb adalah kata kerja yang bentuk kedua dan ketiganya tidak mengikuti aturan penamabahan -d dan -ed tersebut di atas.
12
Contoh regular verb : Infinitive The past
: help : helped
Past Past Participle : helped Contoh irregular verb : Infinitive
: take
The past
: took
Past Participle
: taken (Azar, Betty S:2002)
2.1.4 Strategi True or False Strategi True or False (Betul atau Salah) adalah kegiatan kolaboratif yang dapat digunakan untuk merangsang keterlibatan langsung peserta didik dalam proses pembelajaran, mengembangkan team building, berbagi pengetahuan, dan belajar langsung. (Fathurohman, Pupuh, dan Sutikno, Sobry: 2007)
2.1.5 Progressive dan Non-Progressive Verb Progressive dan Non-Progressive Verb didefinisikan sebagai kata kerja (verb) yang dapat digolongkan dalam kontek progressive (kata kerja yang dapat di-continous-kan) atau non-progressive (yang tidak dapat di-continous-kan) dengan makna yang tidak sama. 1)
Non-Progressive (merupakan bentuk dari Existing States) Verb yang termasuk dalam golongan ini adalah appear (tampak), be (-), feel
(merasa), have (memiliki), look [(lihat) - sesuatu yang tampak], See [(melihat) hal yang tak disengaja], smell (bau), taste (terasa), think (fikir), weight (berat). e.g. : I think you have a nice dream. 2)
Progressive ( merupakan suatu peningkatan aktivitas [ activities in Progress Verb yang termasuk dalam golongan ini adalah appear ( tampil ), be ( - ),
feel ( meraba ), have ( mengalami ), look ( melihat ), see ( memeriksa ), smell ( membaui ), taste ( mencicipi ), think ( memikirkan ), weight ( menimbang ). e.g. : I am having accident. http://zonaenglish.com (26/05/2015)
13
2.2
Aplikasi Aplikasi yaitu perangkat lunak yang digunakan untuk membantu pemakai
komputer untuk melaksanakan pekerjaannya. Jika ingin mengembangkan program aplikasi sendiri, maka untuk menulis program aplikasi tersebut, dibutuhkan suatu bahasa pemrograman, yaitu language software, yang dapat berbentuk assembler, compiler ataupun interpreter. Jadi language software merupakan bahasanya dan program yang ditulis merupakan program aplikasinya. Language software berfungsi agar dapat menulis program dengan bahasa yang lebih mudah, dan akan menterjemahkannya ke dalam bahasa mesin supaya bisa dimengerti oleh komputer. Bila hendak mengembangkan suatu program aplikasi untuk memecahkan permasalahan yang besar dan rumit, maka supaya program aplikasi tersebut dapat berhasil dengan baik, maka dibutuhkan prosedur dan perencanaan yang baik dalam mengembangkannya. Sekarang, banyak sekali program-program aplikasi yang tersedia dalam bentuk paket-paket program. Ini adalah program-program aplikasi yang sudah ditulis oleh orang lain atau perusahaan-perusahaan perangkat lunak. Beberapa perusahaan perangkat lunak telah memproduksi paket-paket perangkat lunak yang mempunyai reputasi internasional. Program-program paket tersebut dapat diandalkan, dapat memenhi kebutuhan pemakai, dirancang dengan baik, relatip bebas dari kesalahankesalahan, user friendly (mudah digunakan), mempunyai dokumentasi manual yang memadai, mampu dikembangkan untuk kebutuhan mendatang, dan didukung perkembangannya. Akan tetapi, bila permasalahannya bersifat khusus dan unik, sehingga tidak ada paket-paket program yang sesuai untuk digunakan, maka dengan terpaksa harus mengembangkan program aplikasi itu sendiri. (Nina Setyaningsih:2009)
2.3
Java
2.3.1 Pengertian Java Java adalah sebuah bahasa pemprograman pada komputer sama seperti pendahulunya C++. Bahasa pemprograman ini dikembangkan oleh Sun Microsystems yang dikembangkan pada tahun 1995. Awalnya java diciptakan pada tahun 1991 oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill
14
Joy beserta programmer dari Sun Microsystems. Uniknya nama java diambil dari nama pulau jawa (bahasa inggris dari Jawa) karena James Gosling “Bapak Java” nenyukai kopi tubruk yang berasal dari pulau Jawa. Kelebihan dari java programming diantaranya sebagai berikut: 1.
Multiplatfrom. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip “tulis sekali, jalankan dimana saja”. Dengan kelebihan ini pemprogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bycode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan.
2.
OOP (Object Oriented Programming – Pemprograman Berorientasi Objek). Merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
3.
Perpustakaan Kelas Yang Lengkap. Java terkenal dengan kelengkapan library/perpusatakaan (kumpulan program-program yang disertakan dalam pemprograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. Diantara kelebihan tersebut, penggunaan Java programming juga memiliki
kekurangan, diantaranya tidak kompetibel antara plaform satu dengan platform lain seperti J2SE yang masih tidak berfungsi pada Mac OS X, serta penggunaan memori yang banyak. (Nina Setyaningsih:2009)
2.3.2 Arsitektur Java Secara arsitektur, Java tidak berubah sedikitpun semenjak awal mula bahasa tersebut dirilis. Kompiler Java (yang disebut dengan Javac atau Java Compiler) akan mentransformasikan kode-kode dalam bahasa Java ke dalam suatu bytecode. Bytecode adalah sekumpulan perintah hasil kompilasi yang kemudian dapat dieksekusi melalui sebuah mesin komputer abstrak, yang disebut dengan JVM
15
(Java Virtual Machine). JVM juga sering dinamakan sebagai interpreter, karena sifatnya yang selalu menerjemahkan kode-kode yang tersimpan dalam bytecode dengan cara baris demi baris. (Nina Setyaningsih:2009)
2.3.3 Java Versi Lama (Java 1) Pada awal perilisannya, versi Java masih disebut dengan JDK (Java Development Kit). Dalam JDK, semua kebutuhan untuk pengembangan program dan eksekusi program masih tergabung jadi satu. Penamaan ini berlaku sampai Java 1.1. namun sekarang, setelah Java 1.2, Sun Microsystem menamainya dengan JSDK (Java Software Development Kit) dalam hal ini kebutuhan untuk pengembangan program dipisahkan dengan kebutuhan eksekusi. Bagian software yang digunakan untuk kebutuhan eksekusi program disebut dengan JRE (JavaRuntime Environment). Selanjutnya, Java 1.2 disederhanakan penamaanya menjadi “Java 2”. (Nina Setyaningsih:2009)
2.3.4 Java 2 Sun Microsystems telah mendefinisikan tiga buah edisi dari Java 2, yaitu sebagai berikut : a)
Java 2 Standard Edition (J2SE), yang digunakan untuk mengembangkan aplikasi – aplikasi desktop dan applet (aplikasi Java yang dapat dijalankan di dalam browser web).
b)
Java 2 Enterprise Edition (J2EE), merupakan superset dari J2SE yang memperbolehkan untuk mengembangkan aplikasi-aplikasi berskala besar (enterprise), yaitu dengan melakukan pembuatan aplikasi-aplikasi di sisi server dengan menggunakan EJBs (Enterprise JavaBeans), aplikasi web dengan menggunakan Servlet dan JSP (JavaServer Pages) dan teknologi lainnya serperti CORBA (Common Object Request Broker Architecture) dan XML (Extensible Markup Language).
c)
Java 2 Micro Edition (J2ME), merupakan subset dari J2SE yang digunakan untuk menangani pemrograman di dalam perangkat-perangkat kecil, yang tidak memungkinkan untuk mendukung implementasi J2SE secara penuh.
16
2.3.5 J2ME J2ME merupakan sebuah kombinasi yang terbentuk antara kumpulan interface Java yang sering disebut dengan Java API (Application programming Interface) dengan JVM (Java Virtual Machine) yang didesain khusus untuk alat, yaitu JVM dengan ruangan terbatas. Kombinasi tersebut kemudian digunakan untuk melakukan pembuatan aplikasi-aplikasi yang dapat berjalan di atas alat (dalam hal ini mobile device). J2ME sendiri pada dasarnya terdiri dari tiga buah bagian, yaitu konfigurasi, profil, dan paket-paket opsional, seperti yang ditunjukkan oleh gambar 2.1.
Gambar 2.1 Bagian – bagian dalam platform J2ME (Nina Setyaningsih:2009)
2.3.5.1 Konfigurasi Konfigurasi merupakan bagian yang berisi JVM dan beberapa library kelas lainnya. Perlu diperhatikan bahwa JVM yang dimaksud disini bukanlah JVM tradisional seperti yang terdapat dalam J2SE, melainkan JVM yang sudah didesain secara khusus untuk alat. Terdapat dua buah konfigurasi yang disediakan oleh Sun Microsystems, yaitu CLDC (Connected Limited Device Configuration) dan CDC (Connected Device Configuration). Target alat dari konfigurasi CLDC adalah alat-alat kecil,
17
seperti telepon selular, PDA, dan pager. Membahas lebih jauh mengenai konfigurasi CLDC pada bagian tersendiri dalam bab ini. Pada sisi yang lain, CDC merupakan superset dari CLDC sehinga semua yang kelas yang didefinisikan di dalam CLDC akan ada juga didalam CDC. (Nina Setyaningsih:2009)
2.3.5.2 Profil Konfigurasi merupakan bagian yang berisi JVM dan beberapa library kelas lainnya. Perlu diperhatikan bahwa JVM yang dimaksud disini bukanlah JVM tradisional seperti yang terdapat dalam J2SE, melainkan JVM yang sudah didesain secara khusus untuk alat. Profil merupakan bagian perluasan dari konfigurasi. Artinya, selain sekumpulan kelas yang terdapat pada konfigurasi, terdapat juga kelas-kelas spesifik yang didefinisikan lagi di dalam profil. Dengan kata lain, profil akan membantu secara fungsional yaitu dengan mehyediakan kelas – kelas yang tidak terdapat di level konfigurasi. Adapun profil yang sangat popular penggunaannya adalah profil yang disediakan oleh Sun Microsystems, yaitu yang dinamakan MIDP (Mobile Information Device Profile). Berikut ini beberapa profil yang tersedia untuk kebutuhan-kebutuhan spesifik lainnya. a)
PDAP (Personal Digital Aassistant Profile) yaitu profil untuk PDA yang memperluas fungsi-fungsi pada konfigurasi CLDC dan digunakan khusus untuk menambahkan kemampuan-kemampuan lebih apabila dibandingkan dengan penggunaan profil MIDP.
b)
Foundation Profile, yaitu profil yang digunakan untuk konfigurasi CDC. Profil ini menambahkan beberapa kelas dari J2SE ke dalam konfigurasi CDC, dan berperan juga sebagai pondasi untuk membentuk profil baru lainnya.
c)
Personal Profile, yaitu profil yang mendefinisikan ulang Personal Java sebagai profil yang dapat digunakan sebagai profil dalam J2ME, Profil ini merupakan hasil perluasan dari Foundation Profile.
d)
RMI Profile, yaitu profil yang menambahkan dukungan RMI (Remote Method Invocation) ke dalam konfigurasi CDC. (Nina Setyaningsih:2009)
18
2.3.5.3 Paket – Paket Opsional Paket-paket opsional merupakan paket-paket tambahan yang dibutuhkan oleh aplikasi sehingga pada saat proses deployment paket-paket tersebut perlu didistribusikan juga sebagai bagian dari aplikasi bersangkutan. Sebagai catatan bahwa paket-paket opsional ini bukan merupakan paket yang dibuat oleh perusahaan alat yang digunakan. (Eueng Mulyana:2008)
2.4
Sejarah Android Android adalah sebuah sistem operasi mobile yang berbasiskan pada versi
modifikasi dari Linux. Pertama kali sistem operasi ini dikembangkan oleh perusahaan Android.Inc. Nama perusahaan inilah yang pada akhirnya digunakan sebagai nama proyek sistem operasi mobile tersebut, yaitu sistem operasi Android. Pada tahun 2005, sebagai bagian dari strategi untuk memasuki pasar mobile, Google membeli Android dan mengambil alih proses pengembangannya sekaligus team developer Android. Google menginginkan Android untuk menjadi sistem operasi Open Source Apache yang berarti setiap orang bebas untuk menggunakan dan mengunduh source code Android secara penuh. Terlebih lagi para vendor bebas untuk mengubah sekaligus membuat penyesuaian untuk Android. Di samping itu, perusahaan dapat secara bebas untuk membuat perbedaan dari produk vendor lainnya. Model pengembangan yang sederhana membuat Android sangat atraktif dan hal tersebutlah yang membuat para vendor tertarik untuk mencoba sistem operasi Android. Hal ini menjadi hal yang sangat menguntungkan bagi perusahaan yang terpengaruh oleh fenomena iPhone, yang sukses besar dan merevolusi industri smartphone. Motorola dan Sony Ericsson (sekarang Sony) adalah vendor yang memanfaatkan kesempatan tersebut. Kedua perusahaan tersebut bertahun-tahun telah mengembangkan sistem operasi mobile buatan mereka sendiri. Ketika iPhone diluncurkan, banyak perusahaan yang berusaha merevitalisasi produk mereka. Maka dari itu, perusahaan-perusahaan ini melihat sistem operasi Android sebagai sebuah solusi. Mereka kemudian melanjutkan untuk mendesain desain
19
hardware mereka sendiri dan menggunakan Android sebagai sebuah sistem operasi yang digunakan untuk mendukung perangkat mobile Android telah dikembangkan dan diupdate beberapa kali sejak rilis pertamanya. (Eueng Mulyana:2008)
2.4.1 Arsitektur Android Secara garis besar arsitektur android dapat dijelas dan digambarkan sebagai berikut : a)
Application and Widgets Application and widgets adalah layer dimana berhubungan dengan aplikasi
dan biasanya download aplikasi kemudian lakukan instalasi dan jalankan aplikasi tersebut, delayer inilah terdapat seperti aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java. b)
Application Frameworks Android adalah “Open Development Platform” yaitu android menawarkan
kepada pengembang atau member kemampuan kepada pengembangan untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan serive background, mengatur alarm, dan menambahkan tambahan seperti status notifications dan masih banyak lagi. Pengembang memiliki akses penuh menuju API Framework seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi dirancang supaya dengan mudah dapat menggunakan komponen yang sudah digunakan (reuse). Sehingga bisa disimpulkan Application Framework adalah layer dimana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem android, karena pada layer inilah aplikasi dapat dirancang, seperti content-providers yang berupa sms dan lain sebagainya. Komponen-komponen yang termasuk didalam application Framework adalah sebagai berikut : 1)
View
2)
Content Provider
20
3)
Resource Manager
4)
Notification Manage
5)
Activity Manager (Eueng Mulyana:2008)
2.4.2 Libraries Libraries adalah layer dimana fitur-fitur android berada biasanya para pembuat aplikasi kebanyakan mengakses libraries untuk menjalankan aplikasinya. Berjalan diatas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta : 1)
Libraries media untuk pemutar media audio dan video
2)
Libraries untuk manajemen tampilan
3)
Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
4)
Libraries SQLite untuk dukungan database
5)
Libraries SSL dan WebKit terintegrasi dengan web browser dan security
6)
Libraries Live Webcore mencakup modern web browser dengan engine embedded web view (Eueng Mulyana:2008)
2.4.3 Fundamental Aplikasi Aplikasi android ditulis dalam bahasa pemrograman java, kode java dikompilasi bersama data file resource yang dibutuhkan oleh aplikasi dimana prosesnya dipaket oleh tools yang dinamakan “apt tools” ke dalam paket android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang sebenernya disebut dengan aplikasi yang dapat diinstal di perangkat mobile nantinya. Ada enam jenis komponen pada aplikasi android yaitu: a)
Activities Suatu activity akan menyajikan user interface (UI) kepada pengguna,
sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi android bisa jadi hanya memiliki satu activity, tetapi umumnya aplikasi memiliki banyak activity tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut. Satu activity biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai
21
user interface (UI) saat aplikasi diperlihatkan kepada user. Untuk pindah dari satu activity ke activity lain dapat dilakukan dengan satu event misalnya click tombol, memilih opsi atau menggunakan triggers tertentu. Secara hirarki sebuah window activity dinyatakan dengan method Activity.setContentView(). ContentView adalah objek yang berada pada root hirarki. b)
Service Service tidak memiliki visual usier interface (UI), tetapi service berjalan
secara background, sebagai contoh dalam memainkan music, service mungkin memainkan music atau mengambil data dari jaringan, tetapi setiap service haruslah berada dalam kelas induknya. Misalnya media player sedang memutar lagu dari list yang ada. Aplikasi ini akan memiliki dua atau lebih activity yang memungkinkan user untuk memilih lagu atau menulis sms sambil player sedang jalan untuk menjaga music tetapi dijalankan, activity player dapat menjalankan service untuk membuat aplikasi tetap berjalan. Service dijalankan pada thread utama dari proses aplikasi. c)
Broadcast Receiver Broadcast Receiver berfungsi menerima dan bereaksi untuk menyampaikan
notifikasi. Contoh broadcast seperti notifikasi zona waktu berubah, baterai low, gambar telah selesai diambil oleh kamera, atau pengubah referensi bahasa yang digunakan. Aplikasi juga dapat menginisiasi broadcast misalnya memberikan informasi pada aplikasi lain bahwa ada data yang telah didownload ke perangkat dan siap untuk digunakan. Broadcast Receiver tidak memiliki user interface (UI) tetapi memiliki sebuah activity untuk merespon informasi yang mereka terima atau mungkin menggunakan notification manager untuk memberitahu kepada pengguna seperti lampu latar atau viberatiing (getaran) perangkat dan lain sebagainya. d)
Content Provider Content Provider membuat kumpulan aplikasi data secara spesifik sehingga
bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti database SQLite. Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya ketika menggunakan aplikasi yang membutuhkan peta (MAP) atau aplikasi yang membutuhkan untuk mengkases
22
data kontak dan navigasi, maka disinilah fungsi content provider. (Eueng Mulyana:2008)
2.4.4 Versi Android Telepon pertama yang memakai sistem operasi android adalah HTC Dream yang dirilis pada 22 Oktober 2008. Pada penghujung 2010 diperkirakan hamper semua vendor seluler didunia menggunakan android sebagai operating sistem. Adapun versi-versi android yang pernah dirilis adalah sebagai berikut : a)
Android versi 1.1 Pada 9 Maret 2009, Google merilis Android versi 1.1. android versi ini dilengkapi dengan pembaruan pada aplikasi, jam, alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.
b)
Android versi 1.5 (cupcake) Pada pertengahan 2009, google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengupload video Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset Bluetooth, dan keyboard pada layer yang dapat disesuaikan oleh sistem.
c)
Android versi 1.6 (Donut) Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik disbanding sebelumnya, pengguna baterai indicator dan control applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus, kamera, camcorder dan galeri yang diintegrasikan, CD/EVDO, 802.1x, VPN, Gestures, dan Text-to-speech engine, kemampuan dial kontak, teknologi text to change speech (tidak tersedia pada semua ponsel), pengadaan resolusi VWGA.
23
d)
Android versi 2.0/2.1 (Eclair) Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Éclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3,1,2, perubahan UI dengan browser baru dan dukungan HTML 5, daftar kontak yang baru, dukungan flash untuk kamera 3.2MP, digital Zoom, dan Bluetooth 2.1.
e)
Android versi 2.2 (Froyo: Frozen Yoghurt) Pada bulan Mei 2010 android 2.2 Rev 1 diluncurkan. Android inilah yang sangat banyak sekarang dipasaran, salah satunya adalah dipakai di Samsung FX tab yang sudah ada dipasaran. Fitur yang tersedia di android versi ini sudah kompleks sekali diantaranya adalah : 1) Kerangka aplikasi memungkinkan penggunaan dan penghapusan komponen yang tersedia 2) Dalvik Virtual Machine dioptimalkan untuk perangkat mobile. 3) Grafik: grafik di 2D dan 3D berdasarkan libraries OpenGL 4) SQLite: untuk penyimpanan data. 5) Mendukung media: audio, video, dan berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF). 6) GSM, Bluetooth, EDGE, 3G, dan WiFi (tergantung Hardware) 7) Kamera, Global Positioning System (GPS), kompas, dan accelerometer (tergantung Hardware)
f)
Android versi 2.3 (Gingerbread) Android versi 2.3 diluncurkan pada desember 2010, hal-hal yang direvisi dari versi sebelumnya adalah kemampuan sebagai berikut : 1) SIP-based VoIP 2) Near Field Communications (NFC) 3) Gyroscope dan sensor 4) Multiple cameras support 5) Mixable audio effects 6) Download manager Itulah beberapa versi android yang sudah dirilis sampai sekarang,
kemungkinan besar versi tersebut akan terus berkembang seiring dengan
24
kebutuhan yang sangat kompleks dibidang penggunaan smartphone. Untuk mendapatkan
informasi
versi
terbaru
android
dapat
dilihat
di
www.developer.android.com. (16/06/2015)
2.5
Tools – Tools Yang Digunakan
2.5.1 Konsep Perancangan Berorientasi Obyek Teknologi obyek menganalogikan sistem aplikasi seperti kehidupan nyata yang didominasi oleh objek. Didalam membangun sistem berorientasi objek akan menjadi lebih baik apabila langkah awalnya didahului dengan proses analisis dan perancangan yang
berorientasi objek.
Tujuannya
adalah mempermudah
programmer didalam mendesain program dalam bentuk objek-objek dan hubungan antar objek tersebut untuk kemudian dimodelkan dalam sistem nyata. Suatu perusahaan software yaitu Rational Software, telah membentuk konsarium dengan berbagai organisasi untuk meresmikan pemakaian Flowchart sebagai bahasa standar dalam Object Oriented Analysist Design (OOAD). (Prabowo Pudjo:2011)
2.5.2 Eclipse 2.5.2.1 Pengertian Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platformindependent). Berikut ini adalah sifat dari Eclipse: a)
Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
b)
Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
c)
Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
25
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. (https://eclipse.org/) (01/07/2015)
2.5.2.2 Arsitektur Eclipse Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP: a)
Core platform
b)
OSGi
c)
SWT (Standard Widget Toolkit)
d)
Jface
e)
Eclipse Workbench Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development
Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program
Java,
dan
PDE
(Plug-in
Development
Environment)
untuk
mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik[2]. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya. (https://eclipse.org/) (01/07/2015)
26
2.5.3 Android SDK 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 di release oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral, android member anda kesempatan unutk membuat aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan Hadphone/Smartphone. Beberapa fitur-fitur android yang paling penting adalah : a)
Framework : aplikasi yang mendukung pengganti komponen dan reusable.
b)
Dalvik Virtual Machine dioptimalkan untuk perangkat mobile
c)
Integrated Browser verdasarkan engine open source WebKit.
d)
Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi opengl ES 1,0 (Opsional Ekselerasi hardware)
e)
SQLite untuk penyimpanan data.
f)
Media Support yang mendukung audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PING, GIF)
g)
GSM Telephony (tergantung Hardware), Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware)
h)
Kamera, GPS, Kompas, dan Accelerometer (tergantung hardware)
i)
Lingkungan Development yang lengkap dan termasuk pernagkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse. Untuk source SDK Android ini dapat dilihat dan didownload langsung di
situs resmi pengembang SDK Android di http://www.developer.android.com.
2.6
Proses Programming Dalam buku berjudul “Programming Logic and Design – Fifth Edition ”
oleh Joyce Farrell menuliskan bahwa pekerjaan seorang programmer dapat dijabarkan kedalam 6 tahap proses programming, diantaranya:
27
1.
Mengerti masalah
2.
Merencanakan dan membangun logika
3.
Menulis baris code program
4.
Menggunakan aplikasi untuk menertejemahkan program kedalam bahasa mesin
5.
2.7
Melakukan pengujian program
Multimedia Multimedia adalah suatu sarana (media) yang didalamnya terdapat
perpaduan (kombinasi) berbagai bentuk elemen informasi, seperti teks, graphics, animasi, video, interaktif maupun suara sebagai pendukung untuk mencapai tujuannya yaitu menyampaikan informasi atau sekedar memberikan hiburan bagi target audiens-nya. Multimedia sering digunakan dalam dunia hiburan seperti game. Kata multimedia itu sendiri berasal dari kata multi (Bahasa Latin) yang berarti banyak dan katamedia (Bahasa Latin) yang berarti sesuatu yang dipakai untuk menyampaikan sesuatu. Multimedia dapat dikategorikan menjadi 2 macam, yaitu multimedia linier dan multimedia interaktif. Multimedia linier adalah suatu multimedia yang tidak dilengkapi dengan alat pengontrol apapun yang dapat dioperasikan oleh pengguna. Multimedia ini berjalan sekuensial (berurutan / lurus), contohnya : TV dan film. Sedangkan multimedia interaktif adalah suatu multimedia yang dilengkapi dengan alat pengontrol (atau alat bantu berupa komputer, mouse, keyboard dan lain-lain) yang dapat dioperasikan oleh pengguna, sehingga pengguna dapat memilih apa yang diinginkan untuk proses selanjutnya. Contohnya seperti aplikasi game. Multimedia interaktif menggabungkan dan mensinergikan semua media yang terdiri dari teks, grafik, audio, dan interaktivitas (rancangan). Multimedia dapat disajikan dalam beberapa metode, antara lain : 1)
Berbasis kertas (Paper-based), contoh : buku, majalah, brosur.
2)
Berbasis cahaya (Light-based), contoh : slideshows, transparansi.
3)
Berbasis suara (Audi-based), contoh : CD Players, tape recorder, radio.
28
4)
Berbasis gambar bergerak (Moving-image-based), contoh : televisi, VCR (Video Cassete Recorder, film).
5)
Berbasis Digital (Digilatally-based), contoh : komputer. Media merupakan salah isu penting dalam proses pembelajaran. Media juga
merupakan pranala utama dalam menjembatani pebelajar dengan pusat serta sumber belajar. Media seringkali menjadi sandaran utama dalam proses pembelajaran konvensional. Dimana dalam proses pembelajaran konvensional, strategi pembelajaran langsung berpusat pada seorang guru didepan siswa dimana guru ini menjadi sumber dan sekaligus menjadi pusat dalam pembelajaran. Istilah media merupakan bentuk jamak dari medium secara harfiah berarti perantara atau pengantar. Dalam pengertian ini perlu dicermati apakah media itu statis atau dinamis. Menurut AECT ( 1972:21) yang dilansir pada situs http://www.satriamultimedia.com/ (26/062015) Media diartikan segala bentuk dan saluran untuk proses transmisi. Dalam definisi ini sebuah media dilihat dari teknologi dari komunikasi dan teknologi dari komputer itu sendiri. Lebih lanjut menurut
Olson
(1974:12)
yang
dilansir
pada
situs
http://www.satriamultimedia.com/ (26/062015) mendefinisikan medium sebagai teknologi untuk menyajikan, merekam, membagi dan mendistribusikan simbol dengan melalui rangsangan indra tertentu, disertai penstrukturan informasi. Tetapi apakah ”medium” itu ?. Menurut kamus The American Heritage® Dictionary of the English Language: Fourth Edition (2000) yang dilansir pada situs http://www.satriamultimedia.com/ (26/062015) kata “medium” didefinisikan sebagai berikut: Jadi medium adalah entitas yang dilewati oleh sesuatu. Contohnya medium artistik (lukisan, sculpture) adalah kendaraan para artis untuk menyampaikan idenya. Contoh lainya adalah “media masa” yaitu kanal komunikasi dan informasi. Sedangkan Asosiasi Pendidikan Nasional Amerika, dikutif AECT (1979) yang dilansir pada situs http://www.satriamultimedia.com/ (26/062015) media dalam lingkup pendidikan sebagai salah satu benda yang dapat dimanipulasikan, dilihat dan didengar, dibaca atau dibicarakan beserta instrumen yang dipergunakan untuk kegiatan tersebut. Commosions on Instructional Technology (1970) yang dilansir pada situs http://www.satriamultimedia.com/ (26/062015)
29
menyatakan bahwa media lahir sebagai akibat revolusi komunikasi yang dapat digunakan untuk tujuan pembelajaran disamping guru, buku teks, dan papan tulis. Begitu
juga
Gagne
(1970)
yang
dilansir
pada
situs
http://www.satriamultimedia.com/ (26/062015) memberikan pengertian media pendidikan adalah berbagai jenis komponen dalam lingkungan mahasiswa yang dapat merangsang mahasiswa untuk belajar.
2.8
Metode Luther Banyak metode Pengembangan Perangkat Lunak (Software Engineering),
tetapi tidak pas diterapkan pada pengembangan perangkat lunak berbasis Multimedia. Saya melihat banyak metode di luar metode PPL biasa yang dapat digunakan untuk pengembangan PL berbasis multimedia. Salah satunya dari Sutopo (2003), yang berpendapat bahwa metode Pengembangan perangkat lunak multimedia terdiri dari 6 tahapan, yaitu concept, design, material collecting, assembly, testing dan distribution seperti gambar di bawah ini:
Gambar 2.2 Metode Pengembangan Multimedia 1.
Concept Tahap concept (konsep) adalah tahap untuk menentukan tujuan dan siapa pengguna program (identifikasi audience). Selain itu menentukan macam
30
aplikasi (presentasi, interaktif, dll) dan tujuan aplikasi (hiburan, pelatihan, pembelajaran, dll). 2.
Design Design (perancangan) adalah tahap membuat spesifikasi mengenai arsitektur program, gaya, tampilan dan kebutuhan material/bahan untuk program.
3.
Material Collecting Material Collecting adalah tahap dimana pengumpulan bahan yang sesuai dengan kebutuhan dilakukan. Tahap ini dapat dikerjakan paralel dengan tahap assembly. Pada beberap kasus, tahap Material Collecting dan tahap Assembly akan dikerjakan secara linear tidak paralel.
4.
Assembly Tahap assembly (pembuatan) adalah tahap dimana semua objek atau bahan multimedia dibuat. Pembuatan aplikasi didasarkan pada tahap design.
5.
Testing Dilakukan setelah selesai tahap pembuatan (assembly) dengan menjalankan aplikasi/program dan dilihat apakah ada kesalahan atau tidak. Tahap ini disebut juga sebagai tahap pengujian alpha (alpha test) dimana pengujian dilakukan oleh pembuat atau lingkungan pembuatnya sendiri.
6.
Distribution Tahapan dimana aplikasi disimpan dalam suatu media penyimpanan. Pada tahap ini jika media penyimpanan tidak cukup untuk menampung aplikasinya, maka dilakukan kompresi terhadap aplikasi tersebut.