Pembangunan Aplikasi Pelatihan Tes TOEFL Berbasis Android
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
SAKSONO BRAJA
10109415
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014
(2)
v
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR .... ... .viii
DAFTAR TABEL ... .xi
DAFTAR SIMBOL ... .xiii
DAFTAR LAMPIRAN ... .xvi
BAB 1PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Identifikasi Masalah ... 2
1.3 Maksud dan Tujuan. ... 2
1.4 Batasan Masalah ... 2
1.5 Metodologi Penelitian ... 3
1.6 Sistematika Penulisan ... 5
BAB 2 LANDASAN TEORI ... 7
2.1 Sejarah TOEFL ... 7
2.1.1 Definisi TOEFL ... 8
2.1.2 Contoh Soal TOEFL ... 9
2.2 Android ... 11
2.2.1 Sejarah Android ... 12
2.2.2 Versi Android ... 13
2.2.3 Anatomi Aplikasi Android ... 16
2.2.3.1 Linux Kernel ... 16
2.2.3.2 Libraries ... 17
2.2.3.3 Android Runtime ... 17
2.2.3.4 Application Framework ... 18
2.2.3.5 Application Layer... 18
2.2.4 Komponen Aplikasi Android ... 19
(3)
vi
2.2.6 Siklus Hidup Android ... 23
2.2.7 Kelebihan Android ... 24
2.3 Perancangan Berorientasi Objek ... 25
2.3.1 Unified Modelling Language (UML) ... 25
2.3.1.1 Use Case Diagram ... 25
2.3.1.2 Class Diagram ... 26
2.3.1.3 Behavior Diagram ... 27
2.3.1.4 Implementation Diagram ... 29
2.4 Java ... 29
2.4.1 Perkembangan Java ... 29
2.4.2 Versi Awal ... 30
2.4.3 Kelebihan Java ... 31
2.4.4 Kekurangan Java ... 31
2.4.5 Tahap Kompilasi Java ... 32
2.5 Web Service ... 32
2.5.1 Arsitekur Web Service ... 33
2.5.2 Operasi – Operasi Web Service ... 34
2.5.3 Komponen – Komponen Web Service ... 34
2.6 Database (Basis Data) ... 35
2.6.1 MySQl ... 35
2.6.2 SQL (Structure Query Language) ... 36
2.7 Eclipse ... 37
2.7.1 Sejarah Eclipse ... 38
2.7.2 Arsitektur Eclipse ... 38
2.7.3 Perkembangan Eclipse ... 39
2.8 Software Develpment Kit (SDK) ... 39
2.9 Java Development Kit (JDK) ... 40
2.10 Android Development Tools (ADT) ... 40
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 41
3.1 Analisis Sistem ... 41
3.1.1 Arsitektur Sistem ... 45
3.1.2 Analisis Masalah ... 45
(4)
3.1.4.2 Analisis Kebutuhan Data... 49
3.1.4.3 Pemodelan Sistem ... 49
3.2 Perancangan Sistem ... 81
3.2.1 Perancangan Arsitektur ... 81
3.2.1.1 Perancangan Struktur Menu ... 81
3.2.1.2 Perancangan Grafis dan Antarmuka ... 81
3.3 Jaringan Semantik ... 94
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 97
4.1 Implementasi ... 97
4.1.1 Perangkat Lunak Pembangunan ... 97
4.1.2 Perangkat Keras Pembangunan ... 97
4.1.3 Perangkat Lunak Penguji ... 98
4.1.4 Perangkat Keras Penguji ... 98
4.1.5 Implementasi Antarmuka ... 98
4.2 Pengujian Perangkat Lunak ... ...110
4.2.1 Pengujian Alpha ... ...110
4.2.1.1 Skenario Pengujian... ...110
4.2.1.2 Kasus dan Hasil Pengujian ... ...111
4.2.1.3 Kesimpulan Pengujian Alpha ... ....115
4.2.2 Pengujian Beta ... ..115
4.2.2.1 Kuesioner Pengujian Beta ... ...116
4.2.2.2 Kesimpulan Pengujian Beta ... ...126
BAB 5 KESIMPULAN DAN SARAN ... ....129
5.1 Kesimpulan ... ..127
5.2 Saran ... 127
(5)
128
[2] Irham Ali Saifuddin, Dkk. 2012. Buku Pintar TOEFL Pengantar, Pembahasan, Strategi dan Pelatihannya. Cetakan XXVIII. Penerbit DIVA PRESS
[3] Framingham, Mass. “Android Pushes Past 80% Market Share While
Windows Phone Shipments Leap 156.0% Year Over Year in the Third Quarter, According to IDC”. http://www.idc.com/getdoc.jsp?containerId= prUS24442013 (di akses pada tanggal 18 Desember 2013)
[4] Supardi, Yuniar. Ir., (2011). Semua Bisa Menjadi Programmer Android-Basic. Jakarta: Elex Media Komputindo.
[5] Widodo, Prabowo Pudjo., & Herlawati (2011). Menggunakan UML. Bandung: Informatika
[6] Raharjo, Budi., Heryanto, Imam., & Haryono, Arif (2009). Mudah Belajar Java, Bandung: Informatika.
[7] Utama Yadi S.Kom, M.Kom.. Teknik Pemrograman Web Service PHP Dengan Menggunakan SOAP dan WSDL
[8] Ladjamudin, Al-Bahra Bin. 2005. Analisis dan Desain Sistem Informasi. Graha Ilmu : Yogyakarta.
[9] Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. ANDI : Yogyakarta
[10] Harry N. Boone, Jr (2012). Analizing Likert Data. Journal of Extension,
(6)
iii
Nya sehingga akhirnya skripsi ini dapat diselesaikan. Skripsi dengan judul
“PEMBANGUNAN APLIKASI PELATIHAN TES TOEFL BERBASIS
ANDROID”, yang diajukan untuk menempuh ujian akhir sarjana Program Strata 1 pada Jurusan Teknik Informatika, Universitas Komputer Indonesia.
Penulis menyadari bahwa segala usaha yang dilakukan dalam penulisan ini tida akan berhasil dengan baik tanpa bantuan dan saran dari berbagai pihak. Maka dalam kesempatan ini perkenankanlah penulis mengucapkan terima kasih kepada yang terhormat :
1. Keluarga tercinta yang selalu memberikan doa, kasih sayang, semangat, motivasi dan dorongan moril maupun materil dengan penuh kasih sayang yang luar biasa kepada penulis selama menyelesaiakan studi ini.
2. Bapak Dr. Ir. Eddi Soeryanto Soegoto, M.Sc. selaku Rektor Universitas Komputer Indonesia.
3. Bapak Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.
4. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia.
5. Bapak Ir. Taryana Sunarya, M.Kom.selaku pembimbing yang telah mengarahkan dan membimbing penulis dalam menyelesaikan penulisan skripsi ini.
6. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku penguji satu.
7. Bapak Ibu Sufa'atin, S.T., M.Kom. selaku dosen wali yang selalu memberikan semangat dan motivasi dalam menyelesaikan perkuliahan. 8. Seluruh staf pengajar dan sekretariat Teknik Informatika, yang telah
(7)
iv
Isman, Wanna, Bodi, Eko, Senja, Ipon yang selalu memberikan semangat, masukan, ide brilian, kritik dan motivasi di saat penulis terjatuh serta canda dan tawa.
11.Rekan-rekan IF-10 angkatan 2009 terima kasih atas saran, dukungan serta kebersamaanya.
12.Semua sahabat tercinta terutama Eka, Aconk, Fajar, Ave, Brian, Ervin, yang selalu memberikan semangat dan masukan nya.
13.Ateu Tia yang telah dengan sukarela memberikan fasilitas WIFI secara cuma-cuma kepada penulis selama ini.
14.Kang Rio yang telah membantu dan membimbing penulis dalam menyelesaikan skripsi ini.
15.Semua pihak yang telah membantu penulis dalam skripsi ini yang tidak bisa penulis sebutkan satu persatu.
Penulis menyadari bahwa penulisan laporan ini masih jauh dari sempurna maka kritik dan saran dari semua pihak dibutuhkan untuk menambah wawasan penulis. Akhir kata semoga ALLAH SWT membalas segala kebaikan yang telah penulis terima dari semua pihak, dan harapan penulis semoga Laporan Skripsi ini dapat bermanfaat bagi pihak yang membutuhkan
(8)
Nama : Saksono Braja Jenis Kelamin : Laki-laki
Tempat, tanggal lahir : Bandung, 27 Desember 1990
Agama : Islam
Kewarganegaraan : Indonesia
Status : Belum kawin
Anak ke : Pertama dari dua bersaudara
Alamat : Jl.Pilar biru raya no 21 rt/rw 03/12 cibiru hilir
Telepon : 085860271210
E-mail : [email protected]
2. RIWAYAT PENDIDIKAN
1. Sekolah Dasar : SD Negri Bandung Kulon 1
2. Sekolah Menengah Pertama : SMP Negeri 28 Bandung tahun ajaran 2003 – 2006
3. Sekolah Menengah Atas : SMA Negri 26 Pembangunan tahun ajaran 2006 – 2009
4. Perguruan Tinggi : FTIK Unikom Bandung tahun ajaran 2009 – 2014
Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.
Bandung, 21 Agustus2014
(9)
1 1.1 Latar Belakang Masalah
TOEFL adalah singkatan dari Test Of English as a Foreign Language (Test Bahasa Inggris sebagai bahasa asing), yang diorganisir oleh sebuah lembaga di Amerika Serikat yang bernama ETS (Educational Testing Service).Pada awalnya, TOEFL diperlukan bagi para pelajar di negara-negara yang bahasa utamanya bukan bahasa Inggris, tetapi ingin melanjutkan studi ke negara-negara yang bahasa resminya adalah bahasa Inggris, seperti Amerika Serikat, Kanada, dan negara-negara Eropa Barat.Ini diperlukan untuk memastikan bahwa siswa-siswa dari negara berbahasa non-bahasa Inggris tersebut dapat mengikuti perkuliahan di negara berbahasa Inggris dengan baik. Dalam pelatihan tes TOEFL terdapat tiga komponen penting yang mendasar yaitu Listening comprehension, grammar structure dan reading comprehension.
Tes TOEFL juga biasa di gunakan sebagai persyaratan dalam penerimaan karyawan baru di instansi pemerintah, perusahaan pemerintah, atau perusahaan swasta. Dalam pelatihan tes TOEFL peserta biasanya mengikuti pelatihan untuk melakukan tes TOEFL pada lembaga pendidikan bahasa inggris yang cukup menyita waktu dalam pelaksanaanya, selain itu juga tempat pelatihan yang menetap menyebabkan pelatihan tidak bisa dilakukan dimana saja.
Dari permasalahan yang telah dijelaskan maka dibutuhkan sebuah media yang bisa dijadikan acuan agar dapat mempermudah pengguna sebelum melakukan pelatihan tes TOEFL juga dapat digunakan dimanapun dan kapanpun, salah satu cara yang dapat dilakukan adalah dengan membangun sebuah aplikasi mobile berbasis android, karena sistem operasi ini memiliki sifat terbuka (open source) yang dapat mendorong penulis agar menjadi lebih kreatif, selain itu sistem operasi ini juga merupakan sistem operasi yang sedang populer saat ini dengan menguasai 80% lebih pasar smart phone di dunia (2012) berdasarkan IDC (International Data Corporation). [3]
(10)
1.2 Identifikasi Masalah
Berdasarkan penjelasan dari latar belakang yang ada, maka perumusan masalahnya sebagai berikut :
1. Pelaksanaan pelatihan tes TOEFL di Lembaga Pendidikan Bahasa Inggris terlalu menyita waktu khususnya bagi peserta pelatihan yang memiliki sedikit waktu luang.
2. Tempat pelatihan yang menetap dan harus sesuai jadwal sehingga peserta pelatihan tidak bisa melaksanakan pelatihan setiap saat.
1.3 Maksud dan Tujuan.
Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan penelitian tugas akhir ini adalah untuk membangun aplikasi pelatihan tes TOEFL.
Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah :
1. Membangun aplikasi pelatihan tes TOEFL yang dapat menjadi acuan sebelum melakukan tes TOEFL digunakan setiap saat tanpa menyita waktu peserta.
2. Membangun aplikasi yang bisa diakses lewat smartphone android sehingga peserta pelatihan dapat melakukan pelatihan tes TOEFL dimana saja.
1.4 Batasan Masalah
Penelitian ini memiliki beberapa batasan dengan harapan penelitian terfokus dengan batasan-batasan yang dibuat. Adapaun batasan dalam penelitian sebagai berikut:
1. Aplikasi ini dibangun dengan menggunakan sistem operasi android 4.2 jellybean.
2. Metodologi pemodelan sistem menggunakan Object Oriented
Programming (OOP) dengan Unified Modeling Language (UML).
(11)
4. Bahasa pemrograman yang digunakan dalam membangun aplikasi adalah Java, PHP, HTML, CSS, JAVASCRIPT.
5. Tools pengembangan aplikasi yang digunakan yaitu IDE Eclipse 4.2 Juno,
Java Development Kit versi 1.7.0_40, Android Development Tools versi
22.2.
6. DBMS yang digunakan untuk membangun aplikasi ini adalah SQL Lite dan MySQL
1.5 Metodologi Penelitian
Metodologi penelitian yang digunakan adalah metode deskriptif yaitu dengan cara mengumpulkan data, menganalisis data, membuat suatu pemecahan masalah dam kemudian disusun untuk ditarik kesimpulan mengenai masalah tersebut [1]
1. Teknik pengumpulan data
Teknik pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :
a. Studi Literatur
Pengumpulan data dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan guna mendapatkan informasi tentang mobile android dari media buku, internet dan media-media lain yang ada kaitannya dengan judul penelitian agar aplikasi yang dibangun sesuai dengan harapan pengguna.
b. Observasi
Teknik pengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.
c. Wawancara
Teknik pengumpulan data dengan mengadakan tanya jawab secara langsung dan tidak langsung kepada pengelola, yang ada kaitannya dengan topik yang diambil.
(12)
2. Model pembuatan perangkat lunak. 3. Tahap pembuatan perangkat lunak.
Dalam pembuatan perangkat lunak menggunakan paradigma perangkat lunak secara waterfall menurut Roger S.Pressman [1], yang meliputi beberapa proses diantaranya:
a. System / Information Engineering
Merupakan bagian dari sistem yang terbesar dalam pengerjaan suatu proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.
b. Analysis
Merupakan tahap menganalisis hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan perangkat lunak.
c. Design
Tahap penerjemahan dari data yang dianalisis kedalam bentuk yang mudah dimengerti oleh user.
d. Coding
Tahap penerjemahan data atau pemecahan masalah yang telah dirancang keadalam bahasa pemrograman tertentu.
e. Testing
Merupakan tahap pengujian terhadap perangkat lunak yang dibangun.
f. Maintenance
Tahap akhir dimana suatu perangkat lunak yang sudah selesai dapat mengalami perubahan–perubahan atau penambahan sesuai dengan permintaan
(13)
Gambar 1.1 Waterfall pressman[1]
1.6 Sistematika Penulisan
Sistematika penulisan laporan tugas akhir ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini menerangkan tentang latar belakang masalah, identifikasi masalah, maksud dan tujuan dibuatnya aplikasi, metodologi penelitian yang digunakan, batasan masalah serta sistematika penulisan.
BAB II. LANDASAN TEORI
Membahas berbagai konsep dasar dan teori tentang TOEFL, tools yang digunakan seperti OOP, UML, Java, Android, tools pendukung pembuatan aplikasi Android, Eclipse dan Photoshop.
BAB III. ANALISIS DAN PERANCANGAN SISTEM
Bab ini berisi pemaparan analisis masalah, analisis sistem operasi, analisis sistem yang berjalan, analisis kebutuhan data, Menganalisis masalah
yang dihadapi dalam pembuatan tugas akhir yang berjudul “Pembangunan
aplikasi pelatihan tes TOEFL berbasis Android”
(14)
Bab ini menjelaskan tentang implementasi dan pengujian dari perangkat lunak yang dibangun berdasarkan analisis dan perancangan perangkat lunak yang telah dilakukan. Hasil dari implementasi kemudian dilakukan pengujian perangkat lunak menggunakan metode blackbox yang terdiri dari pengujian alpha dan beta sehingga perangkat lunak yang dibangun sesuai dengan analisis dan perancangan yang telah dilakukan.
BAB V. KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang merupakan rangkuman dari hasil pengujian perangkat lunak dan saran yang perlu diperhatikan bagi pengembangan perangkat lunak di masa yang akan datang.
(15)
7 2.1 Sejarah TOEFL
Tes TOEFL adalah merek dagang terdaftar dari Educational Testing Service (ETS) dan diberikan di seluruh dunia. Tes ini pertama kali diberikan pada tahun 1964 dan sejak itu telah diambil oleh lebih dari 23 juta siswa. Tes awalnya dikembangkan di Pusat Linguistik Terapan dipimpin oleh ahli bahasa, Dr Charles A. Ferguson.
Komite TOEFL Penguji terdiri dari 12 spesialis dalam linguistik, pengujian bahasa, pengajaran atau penelitian. Tanggung jawab utamanya adalah untuk memberi nasehat tentang isi tes TOEFL. Komite ini membantu memastikan tes adalah ukuran yang valid kemampuan berbahasa Inggris mencerminkan tren saat ini dan metodologi.
TOEFL adalah singkatan dari Test Of English as a Foreign language. Toefl merupakan sebuah test yang digunakan untuk mengetahui kemampuan seseorang dalam berbahsa inggris. Test toefl berawal dari sebuah proyek ferguson yang digunakana untuk mengukur kemampuan bahasa pegawai pemerintah dan mahasiswa dan sejak tahun 1960-an, tes TOEFL telah dikelola oleh Educational Testing Service (ETS), sebuah organisasi standar-pengujian internasional.Test toefl terdiri dari test membaca, menulis , mendengarkan dan berbicara. Dulu test toefl hanya berbasis test kertas dan test komputer, namun sejak tahun 2005 test berbasis internet telah banyak menggantikan 2 test terdahulu tersebut.Waktu yang diberlakukan untuk tes TOEFL secara keseluruhan kurang lebih 150 menit, untuk Paper and Pencil Based TOEFL, dan sekitar 240 menit untuk Computer Based TOEFL. Waktu untuk Computer Based TOEFL ini relatif lama karena sudah termasuk prosedur tutorial.
(16)
2.1.1 Definisi TOEFL
Kemampuan berbahasa asing pada zaman globalisasi ini merupakan hal yang sangat penting. Segala bidang kehidupan saat ini menuntut adanya penguasaan bahasa asing, termasuk sektor pendidikan. Test of English As A Foreign Language (TOEFL) merupakan tes untuk menguji kemampuan bahasa Inggris pada negara-negara yang tidak menggunakan bahasa Inggris sebagai bahasa sehari-hari. TOEFL merupakan tolak ukur yang dipercaya dalam menyatakan kemampuan berbahasa Inggris seseorang.
Jika dulu TOEFL hanya digunakan pada saat pelamaran beasiswa belajar ke luar negeri, maka saat ini TOEFL juga digunakan sebagai salah satu syarat untuk melengkapi kelulusan atau pun syarat minimal untuk dapat mengikuti jenjang pendidikan tertentu. Dalam mencapai skor TOEFL minimal yang telah ditetapkan, maka tidak semua mahasiswa atau calon mahasiswa mampu mencapainya. Apalagi bahasa Inggris bukan merupakan bahasa yang akrab digunakan dalam budaya bangsa Indonesia. Hal ini akhirnya menimbulkan kendala bagi para mahasiswa untuk dapat melanjutkan studinya atau dalam mendapatkan gelar mereka masing-masing. Seringkali mahasiswa tertunda kelulusan atau kelanjutan studinya hanya karena belum melulusi TOEFL.
TOEFL dan bahasa Inggris merupakan hal yang asing di Indonesia. Maka untuk dapat melulusi TOEFL dengan menghafal atau belajar grammar mati-matian juga bukan merupakan strategi yang tepat. Sehingga pengenalan TOEFL dan tips dan trik untuk melulusi TOEFL lah yang sesungguhnya diperlukan.
(17)
2.1.2 Contoh Soal TOEFL
Ini adalah contoh soal listening comprehension sebagai berikut : Anda akan mendengar percakapan dari dua orang berikut [2]:
1. (man) : What‟s the matter? You don‟t look too good.
(woman) : I was frightened by a loud noise.
(narrator) : WHAT DOES THE WOMAN MEAN ?
(A) She was not alllowed to fight. (B) Something scared her.
(C) she made a load noise that frightened some people (D) some load neighbors had a fight
2. (woman) : Is nicky going to work on the science project with us ?
(man) : She prefer not to work on group project.
(narrator) : WHAT DOES THE MAN SAY ABOUT NICKY ?
(A) She‟d rather work alone.
(B) Group work is her preferences.
(C) She‟s working on a project about group preferences.
(D) She projected that the group wouldn‟t work.
Ini adalah contoh soal Structur and Written Expression sebagai berikut :
1. Young children _______ playing actives game such as chasing, hide and seek, and tag.
(A) Enjoy (B) Enjoys (C) Enjoying (D) Does enjoy
2. The final class presentation is the importan test examination.
A B B D
Ini adalah contoh soal reading comprehension
The rattles with wich a ratlesnake warns of its presence are formed by loosely interlocking hollow rings of hard skin, which make a buzzing sound when its tails is shaken. As a baby, the snake begins to form its rattles from the button at the very tip of its tail. Ther after, each time it sheds its skin, a new ring is formed.
(18)
Popular belief hold thats a snake age can be told by counting the rings, but this idea is fallacious. In fact, a snake may lose its old skin as often as four times ayear. Also, rattless tend to wear or break off wich time.
1. A rattlesnake‟s rattles are made of
(a) Skin (b) Wood (c) Bone (d) Muscle
2. How often does a rattlesnake shed it skin ? (a) Once every four years
(b) Once every four month (c) Up to four times a year
(19)
2.2 Android
Gambar 2.2 Logo Android
Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar (Smartphone) dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti begerak. 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 piranti keras, piranti lunak dan telekomunikasi, termasuk Google, HTC, Intel,
Motorola, Qualcomm, T-Mobile dan Nvidia.[5]
Bebrapa pengertian lain dari Android, yaitu :
1. Merupakan platform terbuka (Open Source) bagi para programmer untuk membuat atau mengembangkan aplikasi.
(20)
2. Merupakan sistem operasi yang dibeli Google Inc dari Android Inc.
3. Bukan bahasa pemrograman, akan tetapi hanya menyediakan lingkungan hidup atau runtime environment yang disebut DVM (Dalvik Virtual
Machine) yang telah dioptimasi untuk device dengan sistem memori yang
kecil.
2.2.1 Sejarah Android
Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California, Amerika Serikat. Para pendiri
Android Inc. bekerja pada Google, diantaranya Andy Rubin, Rich Miner, Nick
Sears dan Chris White. Saat itu banyak yang menganggap fungsi Android Inc.
hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler. Di perusahaan
Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat
seluler yang didukung oleh Kernel Linux. Hal ini menunjukan indikasi bahwa
Google sedang bersiap menghadapi persaingan dalam pasara telepon seluler.
Versi android terbaru yaitu versi 5.0. (KitKat). Android juga sudah bergabung dengan beberapa smart mobile seperti LG, Samsung, Sony Ericsson, HTC,
Motorola dan lainnya.
Sekitar September 2007 sebuah studi melaporkan bahwa Google
mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan
Nexus One, salah satu jenis telepon pintar GSM yang menggunakan Android pada
sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporotaion dan tersedia di pasaran pada 5 Januari 2010).
Pada Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh
Asustek Computer Inc. Garmin Ltd, Softbank, Sony Ericsson Toshiba Corp dan
Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA
mengumumkan produk perdana mereka, Android, perangkat bergerak (Mobile) yang merupakan modifikasi kernel Linux 2.6. sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru.
(21)
2.2.2 Versi Android
Banyak smartphone dan PC Tablet menggunakan sistem operasi dengan versi yang berbeda. Semakin tinggi versi, fiturnya semakin canggih dan banyak. Telepon pertama yang memakai sistem operasi Android adalah HTC Dream yang dirilis pada tanggal 22 Oktober 2008. Beberapa uraian versi android seperti dibawah ini :
1. Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice
search (pencarian suara), pengiriman pesan dengan Gmail, dan
pemberitahuan Email.
2. Android versi 1.5 (Cupcake)
Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah 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 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 pada kamera, camcorder dan galeri yang diintegrasikan pada CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-spech engine. Kemampuan dial kontak teknologi text to change speech (tidak tersedia pada semua ponsel).
(22)
4. Android versi 2.0/2.1 (Eclair)
Pada 3 Desember 2009 kembali diluncurkan ponsel Android
dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah mengoptimalkan 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.2 MP, digital zoom, dan Bluetooth 2.1.
Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi dengan mengadakan kompetisi aplikasi
mobile terbaik (killer apps-aplikasi unggulan). Kompetisi ini berhadiah
$25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.
Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds dan WeatherBug.
Sistem operasi Android dalam situs internet juga dianggap penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.
5. Android versi 2.2 (Froyo : Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, integrasi dengan V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel dan kemampuan auto update dalam aplikasi Android Market.
6. Android versi 2.3 (Gingerbread)
Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan umum yang didapat dari versi ini
(23)
antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antarmuka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb,
equalization, headphone virtualization, dan bass boost), dukungan
kemampuan Near Field Communication (NFC) dan dukungan jumlah kamera yang lebih dari satu.
7. Android versi 3.1 (Honeycomb)
Android Honeycomb dirancang khusus untuk tablet. Android versi
ini mendukung ukuran layar yang lebih besar. User Interface pada
Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb
juga mendukung multi prosesor dan juga akselerasi perangkat keras
(hardware) untuk grafis. Tablet peratam yang dibuat dengan menjalankan
Honeycomb adalah Motorola Xoom.
8. Android versi 4.0 (Ice Cream Sandwich)
Diumumkan pada tanggal 19 Oktober 2011, membawa fitur
Honeycomb untuk smartphone dan menambahkan fitur baru termasuk
membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline dan berbagi informasi dengan menggunakan NFC.
9. Android versi 4.1 (Jelly Bean)
Pada tanggal 27 Juni 2012 Google mengumumkan Android versi 4.1 (Jelly Bean) dalam konferensi Google I/O berdasarkan kernel Linux 3.0.31. Jelly Bean adalah pembaruan penting yang bertujuan untuk meningkatkan fungsi dan kinerja antarmuak pengguna (User Interface). Pembaruan ini diwujudkan dalam proyek Butter, perbaikan ini termasuk antisipasi sentuh, triple buffering, perpanjangan waktu vsync dan peningkatan frame rate hingga 60fps untuk menciptakan UI yang lebih halus. Perangkat pertama yang menggunakan sistem operasi ini adalah tablet Nexus 7, yang dirilis pada 13 Juli 2012.
(24)
Android versi 4.4 (KitKat) direncanakan akan dirilis pada bulan Oktober 2013. Setelah sebelumnya beredar rumor bahwa Android versi berikutnya setelah Jelly Bean diperkirakan akan diberi nomor 5.0 dan dinamai Key Lime Pie.
2.2.3 Anatomi Aplikasi Android
Dalam paket sistem operasi Android tediri dari beberapa unsur seperti tampak pada gambar 2.1. Secara sederhana arsitektur Android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam suatu Framework yang menyediakan dan mengatur alur proses aplikasi.
Gambar 2.3 Detail Anatomi Android [9] 2.2.3.1 Linux Kernel
Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan Android bukanlah linux, karena dalam Android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada Android hanya terdapat beberapa pelayanan yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver
(25)
layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess
Communication) untuk mengatur aplikasi dan lubang keamanan.
2.2.3.2 Libraries
Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:
1. Media Library untuk memutar dan merekam berbagai macam format
audio dan video.
2. SurfaceManager untuk mengatur hak akses layer dari berbagai aplikasi.
3. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan
2D dan 3D.
4. SQLite untuk mengatur relasi database yang digunakan pada aplikasi. 5. SSl dan WebKit untuk browser dan keamanan internet.
Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan
NativeDevelopmentToolkit (NDK).
2.2.3.3 Android Runtime
Pada Android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi Android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime
merupakan mesin virtual yang membuat aplikasi Android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya :
1. Pustaka Inti, Android dikembangkan melalui bahasa pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti Android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus Android.
(26)
2. Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas.
2.2.3.4 Application Framework
Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi Android. Selain itu, juga menyediakan abstraksi generik untuk mengakses perangkat, serta mengatur tampilan User Interface
dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi Android adalah sebagai berikut:
1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan
menjaga keadaan ”Backstack“ untuk navigasi penggunaan.
2. Content Providers, berfungsi untuk merangkum data yang memungkinkan
digunakan oleh aplikasi lainnya, seperti daftar nama.
3. ResuourceManager, untuk mengatur sumber daya yang ada dalam program.
Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan filelayout.
4. Location Manager, berfungsi untuk memberikan informasi detail mengenai
lokasi perangkat Android berada.
5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan
masuk, janji, dan lain sebagainya yang akan ditampilkan pada statusbar.
2.2.3.5 Application Layer
Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi.
(27)
Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada Framework aplikasi.
Lapisan aplikasi Android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada Android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (ApplicationProgrammingInterface) yang sama.
2.2.4 Komponen Aplikasi Android
Fitur penting Android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur
scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka
pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller yang telah ada.
Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu. Oleh karenanya Android berbeda dari sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan.
2.2.4.1 Activities
Activity merupakan bagian yang paling penting dalam sebuah aplikasi,
karena Activity menyajikan tampilan visual program yang sedang digunakan oleh pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap
Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada
activity yang pertama kali tampil ketika aplikasi dijalankan.
Perpindahan antara activity dengan activity lainnya diatur melalui sistem, dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh posisinya dalam tumpukan acitivity, LIFO (Last InFirst Out) dari semua aplikasi
(28)
yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup
activity yang sedang digunakan, maka activity yang berada diatas akan aktif
kembali. Memory Manager Android menggunakan tumpukkan ini untuk menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.
Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4 kemungkinan kondisi transisi yang akan terjadi :
1) Active, setiap activity yang berada ditumpukan paling atas, maka dia akan terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup dengan segala cara, bahkan akan menghentikan activity yang berada dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka yang lainnya akan dihentikan sementara.
2) Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity
transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan
paused, dia terlihat active namun tidak dapat menerima masukkan dari
pengguna. Dalam kasus ekstrim, Android akan menghentikan activity
dalam keadaan paused ini, untuk menunjang sumber daya bagi activity
yang sedang aktif.
3) Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut
stopped. Activity akan tetap berada dalam memori dengan semua keadaan
dan informasi yang ada. Namun akan menjadi kandidat utama untuk dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Oleh karenanya ketika suatu activity dalam kondisi stopped maka perlu disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah keluar atau ditutup, maka dia akan menjadi inactive.
(29)
4) Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan.
Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu
restart ulang agar dapat tampil dan digunakan kembali.
Kondisi transisi ini sepenuhnya ditangani oleh manajer memori Android. Android akan memulai menutup aplikasi yang mengandung activity inactive, kemudian
stoppedactivity, dan dalam kasus luar biasa pausedactivity juga akan ditutup.
2.2.4.2 Services
Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di
background untuk waktu yang tidak terbatas. Komponen service diproses tidak
terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika
Activity tidak aktif atau tidak tampak.
2.2.4.3 Intents
Intens merupakan sebuah mekanisme untuk menggambarkan tindakan tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya.
Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan
oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh
Intents tersebut.
2.2.4.4 Broadcast Receiver
Broadcast Receivers merupakan komponen yang sebenarnya tidak
melakukan apa-apa kecuali menerima dan bereaksi menyampaikan pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, Batre sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah merubah bahasa default pada perangkat. Sama halnya dengan service, Broadcast
Receivers tidak menampilkan antarmuka pengguna. Namun, BroadcastReceivers
dapat menggunakan NotificationManager untuk memberitahukan sesuatu kepada pengguna.
(30)
2.2.4.5 Content Providers
ContentProviders digunakan untuk mengelola dan berbagi database. Data
dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya.
2.2.5 Tipe Aplikasi Android
Terdapat tiga kategori aplikasi pada Android :
1. ForegroundActivity
Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan siklus hidup activity, sehingga perpindahan antar
activity dapat berlangsung dengan lancar.
2. BackgroundService
Aplikasi yang memiliki interaksi terbatas dengan user, selain dari pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar. Contohnya aplikasi penyaringan panggilan atau sms autorespon. 3. IntermittentActivity
Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna, namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan memberi tahu pengguna tentang kondisi tertentu. Contohnya pemutar musik.
Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan menentukan kategori aplikasi yang sesuai.
(31)
2.2.6 Siklus Hidup Android
Siklus hidup aplikasi Android dikelola oleh sistem, berdasarkan kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika pengguna ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang prioritas rendah akan ditutup.
Android menjalankan setiap aplikasi dalam proses secara terpisah, yang masing-masing memiliki mesin virtual pengolah sendiri, dengan ini melindungi penggunaan memori pada aplikasi. Selain itu juga Android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya Android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar 2.2 menunjukkan prioritas dari aplikasi.
(32)
2.2.7 Kelebihan Android
Sudah banyak platform untuk perangkat selular saat ini, termasuk didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiM), dan banyak lagi. Namun ada beberapa hal yang menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul sebelumnya pada platform lain, Android adalah yang pertama menggabungkan hal seperti berikut :
1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap sistem karena berbasiskan Linux dan open source. Pembuat perangkat menyukai hal ini karena dapat membangun platform yang sesuai yang diinginkan tanpa harus membayar royality. Sementara pengembang software
menyukai karena Android dapat digunakan diperangkat manapun dan tanpa terikat oleh vendor manapun.
2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet
Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi
lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang dikembangkan.
3. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan layanan pencarian lokasi, database SQL, browser dan penggunaan peta. Semua itu sudah tertanam pada Android sehingga memudahkan dalam pengembangan aplikasi.
4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan, sehingga kerja sistem menjadi lebih stabil. Pengguna tak perlu kawatir dalam menggunakan aplikasi pada perangkat yang memorinya terbatas.
5. Dukungan grafis dan suara terbaik, dengan adanya dukungan 2D grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game yang berbeda.
6. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada
(33)
menggunakan bahas pemrograman Java dan dieksekusi oleh mesin virtual
Dalvik, sehingga kode program portable antara ARM, X86, dan arsitektur
lainnya. Sama halnya dengan dukungan masukan seperti penggunaan
Keyboard, layar sentuh, trackball dan resolusi layar semua dapat
disesuaikan dengan program.
2.3 Perancangan Berorientasi Objek
Teknologi objek 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 Unified Modelling
Language (UML) sebagai bahasa standar dalam ObjectOrientedAnalysistDesign
(OOAD).
2.3.1 Unified Modelling Language (UML)
UML dalam sebuah bahasa untuk menentukan visualisasi, konstruksi, dan mendokumentasikan artifacts dari sistem software, untuk memodelkan bisnis, dan sistem non-software lainnya. UML merupakan sistem arsitektur yang bekerja dalam OOAD dengan satu bahasa yang konsisten untuk menentukan, visualisasi, konstruksi dan mendokumentasikan artifact yang terdapat dalam sistem. Artifact
adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software. Artifact dapat berupa model, deskripsi atau software.[5]
2.3.1.1 Use Case Diagram
Use Case Diagram menjelakan manfaat sistem jika dilihat menurut pandangan
orang yang berada diluar sistem (Aktor). Diagram ini menunjukan fungsionalitas suatu sistem yang berinteraksi dengan dunia luar. Use Case Diagram dapat
(34)
digunakan selama proses analisis untuk menagkap requitment sistem dan untuk memahami bagaimana sistem bekerja.
Gambar 2.4 Use Case Diagram
2.3.1.2 Class Diagram
Class Diagram menjelaskan dalam visualisasi struktur kelas-kelas dari suatu
sistem dan merupakan tipe diagram yang paling banyak dipakai. Class Diagram
memperlihatakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas dalam model desain dari suatu sistem. Selama proses analisis, class diagram
memperlihatkan aturan-aturan dan tanggung jawab entitas yang menentukan prilaku sistem. Selama tahap desain, class diagram berperan dalam menagkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat.
(35)
Gambar 2.5 Class Diagram
2.3.1.3 Behavior Diagram
Behavior diagram dapat dikelompokan menjadi tiga diagram, yaitu :
1. Statechart Diagram
Statechart Diagram berfungsi untuk memodelkan prilaku dinamis satu
kelas satu objek.
2. Activity Diagram
Activity Diagram memodelkan alur kerja (work flow) sebuah proses bisnis
dan urutan aktifitas dalam suatu proses.
3. InteractionDiagram
Interaction Diagram dibagi menjadi dua model diagram yaitu :
1. Sequence Diagram menjelaskan interaksi objek yang disusun dalam
suatu urutan waktu. Diagram ini secara khusus bersosialisasi dengan
use case. Sequence diagram, memperlihatkan tahap demi tahap apa
(36)
Gambar 2.6 Sequence Diagram
2. Collaboration Diagram melihat pada interaksi dan hubungan terstruktur
antar objek. Tipe diagram ini menekankan pada hubungan (relationship) antar objek, sedangkan sequence diagram menekankan pada urutan kejadian. Dalam collaboration diagram terdapat beberapa objek, link, dan
message.
(37)
2.3.1.4 Implementation Diagram
Implementation diagram dibagi menjadi dua diagram, yaitu :
1. Component Diagram menggambarkan alokasi semua kelas dan objek
kedalam komponen-komponen dalam desain fisik sistem software. Diagram ini memperlihatkan pengaturan dan kebergantungan antara komponen-komponen software, seperti source code, binary code, dan komponen tereksekusi (execute components)
Deployment Diagram memperlihatkan pemetaan software kepada
hardware. Dimana akan berjalan (di server/multitier, standalone atau
lainnya), dan menggambarkan model koneksi dan kemampuan jaringan dan hal lainya yang bersifat fisik.
2.4 Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan diterbitkan tahun 1995. Java tidak boleh disalahpahami sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh Web Browser[6]
2.4.1 Perkembangan Java
Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta Sembilan programer lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).
Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan
(38)
kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto. Perusahaan baru ini bertambah maju, jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka.
Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer. Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.
Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995. Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape. Nama Oak, diambil dari pohon Oak yang tumbuh di depan jendela ruangan kerja "bapak java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
2.4.2 Versi Awal
Versi awal Java ditahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
1. Java.lang: Peruntukan kelas elemen-elemen dasar.
(39)
3. Java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas-kelas penanggalan.
4. Java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP.
5. Java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI). 6. Java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada
penjelajah web. 2.4.3 Kelebihan Java
a) Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di
beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja.
b) OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir.
c) Perpustakaan Kelas yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya.
d) Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java.
e) Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
2.4.4 Kekurangan Java
1. Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
(40)
2. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/di-reverse engineer.
3. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal.
2.4.5 Tahap Kompilasi Java
1. Tulis / Ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.java'.
2. Kompilasi. Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'.
3. Muat. Pemuat kelas memuat bytecodes ke memori.
4. Verifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java.
5. Jalankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin tidak bisa di pakai.
2.5 Web Service
Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler. [7]
(41)
Web service bertujuan untuk meningkatkan kolaborasi antar pemrogram dan perusahaan, yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya.
Beberapa alasan mengapa digunakannya web service adalah sebagai berikut:
1. Web service dapat digunakan untuk mentransformasikan satu atau beberapa bisnis logic atau class dan objek yang terpisah dalam satu ruang lingkup yang menjadi satu, sehingga tingkat keamanan dapat ditangani dengan baik.
2. Web service memiliki kemudahan dalam proses deployment-nya, karena tidak memerlukan registrasi khusus ke dalam suatu sistem operasi. Web service cukup di-upload ke web server dan siap diakses oleh pihak-pihak yang telah diberikan otorisasi.
3. Web service berjalan di port 80 yang merupakan protokol standar HTTP, dengan demikian web service tidak memerlukan konfigurasi khusus di sisi firewall.
2.5.1 Arsitekur Web Service
Web service memiliki tiga entitas dalam arsitekturnya, yaitu: 1. Service Requester (peminta layanan)
2. Service Provider (penyedia layanan) 4. Service Registry (daftar layanan)
(42)
Service Provider: Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.
Service Registry: Berfungsi sebagai lokasi central yang mendeskripsikan semua layanan/service yang telah di-register.
Service Requestor: Peminta layanan yang mencari dan menemukan layanan yang dibutuhkan serta menggunakan layanan tersebut.
2.5.2 Operasi – Operasi Web Service
Secara umum, web service memiliki tiga operasi yang terlibat di dalamnya, yaitu:
1. Publish/Unpublish: Menerbitkan/menghapus layanan ke dalam atau dari registry.
2. Find: Service requestor mencari dan menemukan layanan yang dibutuhkan. 3. Bind: Service requestor setelah menemukan layanan yang dicarinya,
kemudian melakukan binding ke service provider untuk melakukan interaksi dan mengakses layanan/service yang disediakan oleh service provider.
2.5.3 Komponen – Komponen Web Service
Web service secara keseluruhan memiliki empat layer komponen seperti pada gambar di atas, yaitu:
(43)
2. Layer 2: Simple Object Access Protocol (SOAP), merupakan protokol akses objek berbasis XML yang digunakan untuk proses pertukaran data/informasi antar layanan.
3. Layer 3: Web Service Definition Language (WSDL), merupakan suatu standar bahasa dalam format XML yang berfungsi untuk mendeskripsikan seluruh layanan yang tersedia.
2.6 Database (Basis Data)
Beberapa definisi basis data sebagai berikut :
1. Database adalah sekumpulan data store (bias dalam jumlah yang besar)
yang tersimpan dalam magnetic disk, optical disk, magnetic drum atau media penyimpanan .[8]
2. Database adalah sekumpulan program-program aplikasi umum yang
bersifat “batch” yang mengeksekusi dan memproses data secara umum
(seperti pencarian,peremajaan,penambahan, dan penghapusan terhadap data)
3. Database terdiri dari data yang akan digunakan atau diperuntukan terhadap
banyak „user‟ (baik menggunakan teknik pemrosesan yang bersifat batch
atau on-line) akan menggunakan data tersebut sesuai dengan tudas dan
fungsinya, dan „user‟ lain dapat juga menggunakan data tersebut dalam
waktu yang bersamaan. 2.6.1 MySQl
MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language).
MySQL dapat juga berperan sebagai client sehingga sering disebut database
client/server, yang open source dengan kemampuan dapat beroperasi di OS
(operating system) manapun .
Contoh :
(44)
a. Create : mysql > CREARE DATABASE nama_database;
b. Drop : mysql > DROP DATABASE nama_database;
c. Alter : mysql > ALTER nama_tabel alter_spesifikasi kondisi;
2. DML ( Data Manipulation Language )
a. INSERT : mysql > INSERT INTO nama_tabel VALUES
(isi_field);
b. SELECT :mysql> SELECT * from nama_tabel ;
c. UPDATE : mysql > UPDATE nama_tabel SET
isi_field=‟data_baru‟;
d. DELETE : DELETE nama_tabel WHERE kondisi;
2.6.2 SQL (Structure Query Language)
SQL adalah sebuah bahasa permintaan database yang terstruktur. Bahasa SQL dibuat sebagai bahasa yang dapat merelasikan beberapa tabel dalam
database maupun merelasikan antar database. Bahasa SQL ditulis langsung
dalam sebuah program databases sehingga pengguna dapat melihat langsung permintaan yang diinginkan sekaligus melihat hasilnya.
SQL dibagi menjadi 2 bentuk query, yaitu [9]
1. DDL (Data Definition Language)
DDL adalah sebuah metode query sql yang berguna untuk mendefinisikan data pada sebuah database, adapun query yang dimiliki adalah
a. CREATE : Digunakan untuk melakukan pembuatan tabel dan
database
b. DROP : Digunakan untuk melakukan penghapusan tabel maupun
database
c. ALTER : Digunakan untuk melakukan perubahan struktur tabel yang telah dibuat, baik menambah field (add), mengganti nama
field (change) ataupun menamakannya kembali (rename) serta
(45)
2. DML (Data Manipulation Language)
DML adalah sebuah metode query yang dapat digunakan apabila DDL telah terjadi, sehingga fungsi dari query ini adalah untuk melaukan pemanipulasian database yang telah ada atau telah dibuat sebelumnya. Adapun query yang termasuk di dalamnya adalah
a. INSERT : Digunakan untuk melakukan penginputan pada tabel di
database .
b. UPDATE : Digunakan untuk melakukan pengubahan atau peremajaan terhadap data yang ada pada tabel
c. DELETE : Digunakan untuk melakukan penghapusan data pada tabel. Penghapusan ini dapat dilakukan secara sekaligus (seluruh isi tabel) maupun hanya beberapa Recordset
2.7 Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform
(platform-independent). Berikut ini adalah sifat dari Eclipse:
1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows,
Linux, Solaris, AIX, HP-UX dan Mac OS X.
2. Multi-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.
3. 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.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan
(46)
perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya popular adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
2.7.1 Sejarah Eclipse
Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak
IBM VisualAgefor Java 4.0. Produk ini diluncurkan oleh IBM pada tahun 2001.
Pada tahun 2003 platform Eclipse tumbuh dengan cepat sebagai aplikasi open
source dan commercial extensions, sehingga menjadi pengembang yang terkenal.
Pada tahun 2004 Eclipse Foundation yang merupakan sebuah organisasi nonprofit dengan keprofesionalannya serta independent dapat mengambil alih penuh platform Eclipse. Eclipse adalah pengembang java terkemuka, karena unik dan arsitektur yang dapat diperluas serta dapat digunakan untuk berbagai macam bahasa pemrograman.
2.7.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:
1. Core platform
2. OSGi
3. SWT (Standard Widget Toolkit) 4. JFace
5. 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.
(47)
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas
(extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. 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.
2.7.3 Perkembangan Eclipse
Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous
Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah
proyek yang terlibat dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah deployment dan maintenance untuk sistem enterprise. Adapun versi Eclipse yang telah diluncurkan yaitu :
1. Eclipse 3.0 2. Eclipse 3.1 3. Callisto 4. Europa 5. Ganymede 6. Galileo 7. Helios 8. Indigo 9. Juno 10. Kepler
2.8 Software Develpment Kit (SDK)
Software Development Kit (SDK) adalah suatu kit atau library dari bahasa
(48)
biasanya SDK terdiri dari kumpulan tools yang dibutuhkan. Misalnya bahasa pemrograman java, mempunyai SDK yang berisi suatu library yang dapat digunakan untuk membuat suatu aplikasi berbasis java.
2.9 Java Development Kit (JDK)
Java Development Kit (JDK) adalah sekumpulan perangkat lunak yang
dapat kamu gunakan untuk mengembangkan perangkat lunak yang berbasis Java, Sedangkan JRE adalah sebuah implementasi dari Java Virtual Machine yang benar-benar digunakan untuk menjalankan program java.Biasanya, setiap JDK berisi satu atau lebih JRE dan berbagai alat pengembangan lain seperti sumber kompiler java, bundling, debuggers, development libraries dan lain sebagainya. Perbedaan JDK dengan SDK (Software Development Kit) yaitu JDK adalah sebuah SDK tetapi sebuah SDK tidak harus menjadi sebuah JDK.
2.10 Android Development Tools (ADT)
Android Development Tools (ADT) adalah plugin untuk Eclipse
Intergrated Development Environment (IDE) yang dirancang untuk memberikan
lingkunganyang terpadu di mana untuk membangun aplikasi Android.
ADT memperluas kemampuan Eclipse untuk membiarkan para developer
lebih cepat dalam membuat proyek baru Android, membuat aplikasi UI, menambahkan komponen berdasarkan Android Framework API, debug aplikasi dalam pengunaan Android SDK, dan membuat file APK untuk mendistribusikan aplikasi.
Mengembangkan aplikasi di Eclipse dengan ADT sangat dianjurkan dan merupakan cara tercepat untuk memulai membuat aplikasi Android, karena banyak kemudahan-kemudahan sebagai tools yang terintegrasi seperti, custom XML editor, dan debug panel ouput. Selain itu ADT memberikan dorongan luar biasa dalam mengembangkan aplikasi Android.
(49)
41
Analisis dan perancangan sistem memerlukan tahapan yang sistematis untuk mendapatkan aplikasi yang baik dan bersesuaian dengan kegunaan dan tujuannya.Tahap awal dari analisis adalah menganalisis kebutuhan-kebutuhan sistem mulai dari kebutuhan-kebutuhan pengguna, kebutuhan-kebutuhan non fungsional dan kebutuhan fungsional.Sedangkan untuk tahap perancangan aplikasi yaitu perancanganantarmuka.
3.1 Analisis Sistem
Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat sesuai dengan kebutuhan.
Peserta yang akan mengikuti tes TOEFL harus mendaftarkan diri ke tempat pelatihan TOEFL dan menyelesaikan semua administrasi termasuk biaya tes. Setelah melaksanakan tes,kemudian pihak pelatihan TOEFL akan melakukan koreksi terhadap hasil tes dan menghitung skor TOEFL. Biasanya peserta harus menunggu sekitar satu minggu untuk dapat mengetahui hasil tes. Perhitungan skor dilakukan secara manual. Berikut sistem penilaian skor TOEFL [2] :
Tabel 3.1Tabel Tabulasi Skor
Jumlah Jawaban Benar
Skor Terkonversi section listening
comprehension
Skor Terkonversi Section Structure
and Written Expression
Skor Terkonversi Section Reading Comprehension
50 68 - 67
(50)
48 66 - 65
47 65 - 63
46 63 - 61
45 62 - 60
44 61 - 59
43 60 - 58
42 59 - 57
41 58 - 56
40 57 68 55
39 57 67 54
38 56 65 54
37 55 63 53
36 54 61 52
35 54 60 52
34 53 58 51
33 52 57 50
32 52 56 49
31 51 55 48
30 51 54 48
29 50 53 47
28 49 52 46
27 49 51 46
26 48 50 45
25 48 49 44
24 47 48 43
23 47 47 43
22 46 46 42
21 45 45 41
20 45 44 40
19 44 43 21
18 43 42 38
17 42 41 37
(51)
15 41 38 35
14 38 37 34
13 37 36 32
12 37 35 31
11 35 33 30
10 33 31 29
9 32 29 28
8 32 27 28
7 31 26 27
6 30 25 26
5 29 23 25
4 28 22 24
3 27 21 23
2 26 21 23
1 25 20 22
0 24 20 21
Anda akan mendapatkan nilai antara 20 sampai 68 pada masing- masing dari bagian yang diujikan (Listening Comprehension, Structure and Write Expression, dan Reading Comprehension). Nilai-nilai di dapatkan hasil konversi berdasarkan jumlah jawaban yang benar dengan menggunakan tabel konversi. Selanjutnya nilai konversi masing-masing bagian dijumlahkan, kemudian di bagi 3. Dengan demikian anda akan mendapatkan skor 217 sampai 677
1. Semua jawaban diperiksa secara manual dengan cara mencocokan dengan kunci jawaban.
2. Tidak ada pengurangan nilai jika jawaban salah.
3. Jumlah jawaban yang benar tiap-tiap sectiondikonversi dengan tabel konversi skor TOEFL.
4. Nilai hasil konversi inilah yang kemudian di proses dengan perhitungan skor TOEFL yaitu :
Total skor konversi x(10/3)
(52)
5. Skor minimal TOEFL adalah 217 dan skor maksimal adalah 677. Walaupun dalam perhitungan dapat terjadi skor yang kurang dari 217, namun skor minimal yang ditampilkan 217.
Pertama kali yang harus anda lakukan setelah mengkoreksi jawaban adalah mencocokan jumlah jawaban adalah mencocokan jumlah jawaban yang benar pada masing-masing (Listening Comprehension, Structure and Write Expression,
dan Reading Comprehension). Misalnya anda mendapatkan 29 jawaban benar
pada Listening Comprehension, 30 pada Structure and Writen Expression, dan 36 pada Reading Comprehension. Dengan melihat tabel konversi maka anda akan mendapatkan nilai masing-masing sebesar 50 untuk listening comprehension, 54 untuk structure and write expression, dan 52 untuk reading comprehension.
Selanjutnya anda akan mendapatkan skor total dengan cara berikut : 1. Tambahkan ketiga nilai yang sudah dikonversikan :
50+54+52= 156
2. Bagi jumlah ketiga nilai terkonversi dengan angka 3 : 156 : 3 = 52
3. Kemudian dikalikan dengan angka 10 : 52 X 10 = 520
Jumlah keseluruhan skor(overall TOEFL Score) yang anda dapatkan sebesar 520.
(53)
3.1.1 Arsitektur Sistem
Gambar 3.1Arsitektur Sistem
Gambar 3.1 menjelaskan arsitektur sistem yang akan dibangun. Didalam sistem tersebut terdapat dua aplikasi yang akan dibangun yaitu aplikasi frontend dan aplikasi backend. aplikasifrontend digunakan pada mobile yang menggunakan sistem operasi Android, pada aplikasi frontend ini terdapat informasi mengenali detail keluhan . Aplikasi ini membutuhkan koneksi internet untuk mengakses dataSelain aplikasi backend dan frontend pada sistem ini juga menggunakan
webservice sebagai penghubung aplikasi frontend dan backend agar aplikasi
frontend dan backend dapat berkomunikasi. 3.1.2 Analisis Masalah
Analisis masalah merupakan langkah pertama yang dilakukan dalam tahap analisis sistem.Masalah dapat didefinisikan sebagai suatu pertanyaan yang diinginkan untuk dipecahkan.Masalah inilah yang menyebabkan sasaran dari sistem tidak dapat dicapai.Oleh karena itu langkah pertama yang harus dilakukan pada tahap ini adalah mengidentifikasi terlebih dahulu masalah-masalah yang terjadi.
(54)
Setelah menganalisis sistem,maka dapat diketahui beberapa kelemahan yang masih berjalan manual tersebut, yautu sebagai berikut :
a. Pada sistem yang berjalan, proses pembelajaran dan tes TOEFL dilakukan secara konvensional, yakni dengan tatap muka di dalam kelas.
b. Proses koreksi jawaban dan perhitungan skor yang masih dilakukan secara manual menebabkan hasil skor yang diperoleh baru dapat diketahui minimal satu minggu setelah pelaksanaan tes.
3.1.3 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan non fungsional menggambarkan kebutuhan sistemyang menitikberatkan pada properti perilaku yang dimiliki oleh sistem, diantaranyakebutuhan pengguna, perangkat keras, serta perangkat lunak sebagai bahan analisiskekurangan dan kebutuhan yang harus dipenuhi dalam perancangan sistem yangakan diterapkan.
3.1.3.1Analisis dan Kebutuhan Pengguna
Analisis pengguna sistem dimaksudkan untuk mengetahui siapa saja aktoryang terlibat dalam menjalankan sistem. Aplikasi pelatihan tes TOEFL ini sendiri menggunakan platformandroid.
Berikut ini karakteristik pengguna sistem yang ditunjukan oleh Error! Reference source not found.berikut.
Tabel 3.2Karakteristik Pengguna Sistem Kategori
Pengguna Hak Akses Tingkat Keterampilan
Pengguna
Mengakses konten-konten pelatihan tes TOEFLmelalui
aplikasi
-Minimal membuka aplikasi pada mobile
android
-Minimal dapat membaca bahasa inggris
(55)
konten pelatihan tes TOEFL di web
pada komputer
- mengerti cara memakai komputer
3.1.3.2Analisis dan Kebutuhan Perangkat Keras
Berikut ini adalah spesifikasi perangkat keras minimum yang digunakan dalam pembangunanaplikasi pelatihan tes toefl dapat dilihat pada
Smartphone
No. Spesifikasi
1 Dimensi Layar 4,2inches
2 Resolusi 480 x 800 pixels
3 Penyimpanan data 6 GB
4 RAM 758MB
5 CPU 2,2 GHz
Gambar 3.2Spesifikasi Perangkat Keras Smartphone
3.1.3.3Analisis dan Kebutuhan Perangkat Lunak
Perangkat lunak (software) merupakan hal terpenting dalam mendukung kinerja sebuah sistem. Perangkat lunak digunakan dalam sebuah sistem untuk memberikan perangkat keras (hardware) sebuah perintah agar perangkat keras melakukan apa yang diinginkan oleh user.
Spesifikasi Minimum Perangkat Lunak
Berikut ini adalah spesifikasi perangkat lunak yang digunakan dalam membangun dan mengimplementasikan aplikasi pelatihan tes TOEFL ini adalah seperti pada
(56)
Tabel 3.3Spesifikasi Perangkat Lunak Komputer
No. Perangkat Lunak
1 Sistem Operasi Windows 7 64bit 2 Aplikasi IDE Eclipse Juno
3 JDK versi 1.7 dan Android SDK Windows 4 ADT versi 22.2
3.1.4 Analisis dan Kebutuhan Fungsional
Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akanditerapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukansistem agar sistem dapat berjalan dengan baik serta sesuai dengan kebutuhan.Analisis kebutuhan fungsional ini meliputi analisis kebutuhan sistem, analisiskebutuhan data dan pemodelan sistem.
Pemodelan sistem dimodelkan dengan menggunakan UML
(UnifiedModeling Language). Tahap-tahap pemodelan dalam analisis tersebut
antara lainUse Case diagram, Class Diagram, Activity Diagram,
SequenceDiagram, Component Diagram dan DeploymentDiagram.
3.1.4.1.1 Analisis Kebutuhan Sistem
Analisis kebutuhan sistem menjelaskan spesifikasi dari perangkat lunak yang dibutuhkan untuk menjalankan sistem agar sesuai aplikasi yang dirancang serta sesuai dengan kebutuhan pengguna. Sebelum melakukan perancangan sistem, terlebih dahulu dilakukan analisis kebutuhan sistem dengan memperhatikan cara penyampaian informasi dalam buku pelatihan TOEFL melalui media buku dan juga kelemahan media ini dalam menyampaikan informasi agar dapat diatasi dalam sistem yang akan dirancang. Adapun kebutuhan sistem yang diperlukan antara lain :
1. Menampilkan informasi pelatihan TOEFL, dan tes TOEFLsesuai dengan kategori yang terdapat dalam sistem.
2. Menampilkan informasi pelatihan tes TOEFLyang berupa slide yang terdiri dari gambar dan teks.
(57)
3.1.4.2Analisis Kebutuhan Data
Analisis kebutuhan data menggambarkan berbagai data yang digunakan pada aplikasi pelatihan tes TOEFL.Analisis ini bertujuan untuk memudahkan dalam perancangan informasi. Adapun data yang digunakan dalam merancang sistem aplikasi pelatihan tes TOEFLterlihat pada
Tabel 3.4Kebutuhan Data Aplikasi Pelatihan Tes TOEFL
No Nama Data Keterangan
1 Data pelatihan tes TOEFL
Data ini berisi tentang pelatihan tes TOEFLyang akan ditampilkan aplikasi
2 Data tes
TOEFL
Data ini berisi soal-soal pelatihan tes TOEFL yang akan ditampilkan aplikasi
3.1.4.3Pemodelan Sistem
A. Use Case Diagram
Diagram Use Case merupakan bagian tertinggi dari fungsionalitas yang dimiliki sistem yang akan menggambarkan bagaimana seseorang atau aktor akan menggunakan dan memanfaatkan sistem. Diagram ini juga mendeskripsikan apa yang akan dilakukan oleh sistem. Use Case terdiri dari tiga bagian yaitu identifikasi aktor, identifikasi Use Case dan skenario Use Case.
(1)
Berdasarkan gambar di atas maka secara keseluruhan sikap responden pada aplikasi tes TOEFL ada pada kategori sikap sangat positif. Hal ini ditunjukkan oleh skor total responden yang terletak antara skor 800 (Kuratil 3) dengan 1000 (Maksimal), yang merupakan batas skor pada kategori sikap sangat positif. Artinya bahwa secara keseluruhan responden memandang aplikasi ini sangat berguna dan bermanfaat bagi mahasiswa
(2)
126
4.2.2.2Kesimpulan Pengujian Beta
Berdasarkan hasil persentase pengujian beta pengguna aplikasi pelatihan tes TOEFL maka dapat ditarik kesimpulan bahwa pembanguna aplikasi pelatihan tes TOEFL ini sudah sesuai dengan tujuan, yaitu mudah digunakan bermanfaat dan bisa menjadi media altrenatif dalam membaca materi dan latihan TOEFL dimanapun dan kapanpun.
(3)
127 5.1 Kesimpulan
Kesimpulan dari penelitian yang berjudul : “Pembangunan Aplikasi Pelatihan Tes TOEFL” adalah sebagai berikut :
1. Aplikasi yang dibangun dapat menjadi media alternatif dalam Pelatihan Tes TOEFL serta mudah digunakan dimanapun dan kapanpun.
2. Membangun aplikasi yang bisa diakses lewat smartphone sehingga peserta pelatihan dapat melakukan pelatihan tes TOEFL dimana saja.
5.2 Saran
Aplikasi pelatihan tes TOEFL ini masih jauh dari kata sempurna dan masih memiliki banyak kekurangan. Untuk itu, perlu dilakukan pengembangan dan penyempurnaan lebih lanjut. Adapun saran agar aplikasi ini bisa berjalan dengan lebih optimal dan lebih menarik sebagai berikut :
1. Aplikasi hanya dapat berjalan pada satu platform yaitu android, sebaiknya aplikasi juga dikembangkan di sistem operasi untuk platform lainnya agar memperluas pengguna yang menggunakan aplikasi ini..
2. Tampilan aplikasi tidak mendukung tampilan landscape, hanya mendukung tampilan portrait, sehingga perlu dikembangkan auto rotation agar tampilannya menarik.
Demikian saran yang dapat diberikan, semoga saran tersebut bisa dijadikan sebagai bahan masukan yang dapat bermanfaat bagi pengembangan aplikasi ini.
(4)
(5)
(6)