Abstrak
Untuk membuat aplikasi berbasis Android, banyak Integrated Development Environment (IDE) yang bisa
digunakan. Android Studio dengan bahasa pemrograman Java merupakan IDE dan bahasa pemrograman native
yang didukung secara resmi oleh Google. Sebagai IDE yang didukung oleh Google, AS menjadi IDE terbaik
yang bisa digunakan untuk membangun aplikasi. Namun demikian banyak pemrogram pemula yang merasa
kesulitan untuk memulai terutama yang baru memulai konsep pemrograman untuk perangkat mobile. Android
Studio juga dikenal sebagai IDE yang membutuhkan requirement komputer yang handal serta memiliki fitur
yang sangat kompleks. Tujuan dari penelitian ini adalah mengembangkan aplikasi yang dibangun dengan IDE
yang lebih user friendly. lebih menekankan konsep besar dari pemrograman tanpa banyak kesulitan dalam hal
menyusun kode program dan juga kompleksitas dari IDE seperti halnya Android Studio. IDE yang digunakan
dalam penelitian ini adalah App Inventor 2 (AI2), sebuah IDE yang berbasis cloud yang dikelola oleh
Massachusetts Institute of Technology (MIT). Tujuan selanjutnya adalah menguji dan mengevaluasi kemampuan
AI2 serta aplikasi yang dihasilkan. Dalam penelitian ini telah dikembangkan aplikasi bernama Receptionist yang
digunakan untuk menguji kemampuan dari aplikasi yang dihasilkan oleh AI2. Hasil penelitian menunjukkan: (1)
Secara umum AI2 menghasilkan aplikasi yang layak serta memiliki usabilitas yang baik (2) AI2 bisa digunakan
untuk membangun aplikasi yang dengan fitur kompleks seperti SMS, query database dan koneksi database
eksternal; (3) produk yang dihasilkan juga memiliki kompabilitas versi Android yang baik; (4) AI2 tidak
menyediakan event handler untuk fitur yang terkait dengan proses I/O; (5) beberapa fitur seperti pengolahan
database yang seharusnya dijalankan di background services masih dijalankan di UI thread sehingga mengurangi
user experience saat terjadi Appication not responding (ANR).
Abstract
Many Integrated Development Environment (IDE) can be used to create Android Apps. Android Studio with
Java programming language is an IDE and native programming language that is officially supported by Google.
As a supported IDE, AS becomes the best IDE that can be used to build apps. Nevertheless, many novice
programmers find it difficult to get started especially by starting a new programming concept for mobile devices.
Android Studio is also known as an IDE that requires a high specs computer requirement and also has
sophisticated features. This research purposed to develop applications with IDEs that are more user-friendly and
more emphasize the big concept of programming without much difficulty regarding compiling the program code
and also the complexity of IDE as well as Android Studio. The IDE used in this study is App Inventor 2 (AI2), a
cloud-based IDE managed by the Massachusetts Institute of Technology (MIT). The next goal is to test the
capabilities of the application by conducting Blackbox Testing and User Testing. In this research has been
developed an app called Receptionist that is used to test the ability of the codes generated by AI2. The results
show that AI2 can be used to build complex applications such as Text Message Service (SMS) broadcasting,
performing local database queries and retrieving data on the server. However, some features such as database
processing should run in the background still run on the UI thread, thereby reducing the user experience when
Application Not Responding (ANR) occurs.
1
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
2
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
External
Internet Soundsystem
Parents
Cellular
Networks
Remote
Receptionist
Database
(b)
Gambar 2.a.Component Designer dalam AI2, b. Block Gambar 3. Arstektur dari Receptionist
Editor dalam AI2
AI2 selain mudah digunakan juga bisa Ada banyak sekali komponen yang disediakan
mengubah persepsi orang terhadap cara oleh AI2, sehingga tidak semua komponen
membuat software (Munoz et al., 2017). yang tersedia di AI2 digunakan dalam
Dengan menggunakan AI2 maka pemrogram Receptionist. Dalam Tabel 1 ditunjukkan
pemula lebih tertarik untuk belajar membuat komponen yang akan dimasukkan dalam
aplikasi(Stamatios Papadakis & Orfanakis, Receptionist serta kebutuhan fungsional yang
2017). Pada penelitian lain menunjukkan sesuai.
bahwa AI2 bisa membantu siswa sekolah dasar
dan sekolah menengah yang baru belajar
3
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
4
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
(b)
(a)
(a)
5
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
(b)
Gambar 8 (a) Flowchart (b) blok kode untuk melakukan
panggilan telepon
Panggilan Siswa (via external speaker)
Flowchart untuk pemanggilan siswa hampir
sama dengan SMS tunggal. Pengguna terlebih (b)
dahulu memilih level, kelas, dan id siswa. Gambar 9 (a) Flowchart (b) dan blok kode untuk
Panggilan Siswa
Dengan 3 parameter tersebut dilakukan proses
Import data
query di database lokal aplikasi (TinyDB)
untuk mengambil nama siswa. Dilanjutkan Receptionist menggunakan data yang
dengan mengisi data untuk diputar di Player diambil di server. Hal ini dengan tujuan untuk
berupa rekaman nama level, nama kelas, nama memudahkan pengelolaan dibandingkan
siswa yang sesuai, serta template jenis dengan menggunakan data yang langsung di
panggilan yang telah di setting sebelumnya. entry di perangkat. AI2 menyediakan 2
Proses akhir adalah menggabungkan alternatif media penyimpanan di server/ di
kesemua rekaman tersebut untuk di putar cloud, pertama TinyWebDb, dan Fusion Table.
menggunakan komponen Player. Detail Bila kita memiliki sistem informasi yang
flowchart dan block yang digunakan bisa terlebih dahulu ada, maka kita tidak
dilihat di Gambar 9. menggunakan keduanya. Oleh karena itu,
Receptionist menggunakan database yang
disimpan dalam MySQL. Untuk mengakses,
Receptionist menggunakan fasilitas komponen
Web, yang merupakan bagian dari Komponen
Connectivity. Bila menggunakan database
sendiri (selain TinyWebDB dan Fusion Table),
maka di sistem yang mengelola database harus
menyediakan Aplication Programming
Interface (API) yang mana menjembatani
dalam mengakses ke database. Database yang
diimport dari server dalam format Comma
Separated Value (CSV) yang kemudian diubah
(a) menjadi List (format array dalam AI2) seperti
ditunjukkan dalam Gambar 10.
6
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
Untuk flowchart lengkap dari proses import Tabel 2. Kuisoner untuk mengukur tingkat kemudahan
penggunaan aplikasi
data bisa dilihat di Gambar 11.
No Pertanyaan
3.2 Pengujian 1 Aplikasi berjalan dengan cepat
Pengujian ditujukan untuk mengetahui 2 Tidak ditemukan error pada saat dijalankan
kualitas aplikasi. Dalam penelitian ini kualitas 3 Tidak ada masalah pada saat pertama kali dibuka
yang ingin diukur adalah fungsionalitas dan 4 Saya sangat yakin apa yang harus dilakukan
5 Tidak dibutuhkan waktu khusus untuk
kemudahan pemakaian. Untuk mengetahui
mempelajari
fungsionalitas dilakukan dilakukan pengujian 6 Kadang saya tegang saat menjalankan alat
dengan metode blackbox testing yang 7 Saya tidak membutuhkan teman untuk
dilakukan oleh pengembang aplikasi. Metode menjalankan alat ini
pengujian ini berisi skenario untuk masing- 8 Saya menikmati saat menggunakan alat ini
masing fungsi dari aplikasi yang tersedia. 9 Aplikasinya menyenangkan
Pengujian kedua dilakukan oleh pengguna 10 Aplikasinya sangat mudah dipahami
11 Saya ingin menggunakan alat ini dalam
yang dalam penelitian ini dilakukan oleh 26
keseharian
siswa SD kelas 6. Partisipan mencoba 12 Desainnya sangat atraktif
menjalankan fungsi kemudian mengisi 13 Sangat mudah dan cepat untuk pindah halaman
kuisoner untuk mengetahui tingkat kemudahan 14 Saat dijalankan pertama kali, sangat mudah
pemakaian. Pertanyaan diadaptasi dari mengetahui apa yang pertama kali dipencet.
Software Usability Scale (SUS) yang sudah
cukup baik untuk mengukur tingkat
kemudahan pemakaian (Sauro & Lewis, 2012).
Tabel 3 Detail Spesifikasi hardware dan versi OS
Pada Tabel 2 ditunjukkan daftar pertanyaan Android untuk pengujian
yang digunakan yang terdiri dari
Nama Versi RA Proces Jeni Ukura
HASIL DAN PEMBAHASAN
Perang Android M sor s n
Pengujian fungsional dilakukan dengan kat Layar
skenario penggunaan setiap fitur pada (mm)
beberapa jenis hardware dan versi Android Google Marshmal 1 Quad- Tabl 198.5x
Nexus low (6.0) GB core et 120
yang berbeda. Spesifikasi hardware dan versi
7 1.2
OS Android bisa dilihat di Tabel 3 GHz
Sony Jelly 1 Dual- Pho 124x62
Xperia Bean GB core ne
M (4.1) 1.0
GHz
7
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
Hasil pengujian blackbox testing bisa dilihat beberapa versi, terutama untuk versi lama.
di Tabel 4 Hasil APK yang dibuat dengan AI2 setelah di
Tabel 4 Hasil pengujian semua fitur Receptionist upload di Google Play terlihat bahwa versi
Fungsional Skenario Perangkat Perangkat Android paling minimal adalah versi 1.6
1 2 (Android Donut). Hal ini menjadi salah satu
SMS -SMS tunggal Berhasil Berhasil kelebihan, karena AI2 menghasilkan aplikasi
via tombol Berhasil Berhasil
dengan range versi OS yang luas, walapun
SMS tunggal Berhasil Berhasil
via NFC Berhasil Berhasil perangkat keras yang masih menggunakan
-SMS Berhasil Berhasil Android versi 1.6 boleh dibilang sudah tidak
Broadcast ke ada.
satu kelas
-SMS
Broadcast ke
satu Level
-SMS
Broadcast ke
satu Sekolah
Phone call -Phone call Berhasil Berhasil
via tombol Berhasil Berhasil Gambar 12. Setting minimum SDK
-Phone call pada Android Studio
via NFC
Student Call -Panggilan Berhasil Berhasil
via tombol Berhasil Berhasil
-Panggilan
via NFC
Data -Setting Berhasil Berhasil -
Management Rekaman Berhasil Berhasil -
-Setting Web Berhasil Berhasil -
-Import Data Berhasil Berhasil -
dari Server Berhasil Berhasil -
-Update User Berhasil Berhasil - Gambar 13. Minimum versi Android dari AI2 setelah
-Update diupload di Google Play
template SMS
-Update Bila tablet tidak memiliki bawaan aplikasi
template -
SMS maka harus dipasang terlebih dahulu
Rekaman
aplikasi SMS pihak ketiga dari Google Play.
Untuk event handler, AI2 hanya menyediakan
4.1 Versi Android fungsi untuk menerima SMS yang masuk
AI2 tidak secara eksplisit menjelaskan (Gambar 14). Tidak ada event atau fitur untuk
target versi Android dari aplikasi yang mengecek apakah SMS berhasil atau gagal
dikembangkan. Hal ini berbeda dengan IDE dikirim, misal dikarenakan jaringan yang jelek.
Android Studio yang menentukan target versi Bahkan dalam mode terbang, perintah SMS di
Android di awal pengembangan aplikasi AI2 akan tetap di eksekusi.
(Gambar 12)
Semakin luas cakupan versi Android
dimana aplikasi bisa dijalankan maka semakin
baik karena menjangkau semakin banyak Gambar 14 Event handler SMS masuk dengan variable
pengguna. Namun disisi lain, aplikasi tersebut Number dan MessageText
8
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
Tabel 5. Class dari yang bisa digunakan untuk Event seperti STATE_CONNECTING,
manajemen SMS.
STATE_DIALING,
Nested Class Keterangan STATE_DISCONNECTING yang disediakan
Contains all sent text-
oleh bahasa native (Java) tidak tersedia. AI2
Telephony.Sms.Conversatio based SMS messages in
ns the SMS app. hanya memperoleh status terputus yang
Contains all sent text- otomatis kembali ke aplikasi Recepetionist.
based SMS messages in 4.4 Import data dan pengolahan lokal
Telephony.Sms.Draft the SMS app.
Contains all text-based Database lokal yang disediakan oleh AI2
SMS messages in the salah satunya adalah TinyDb. TinyDB tidak
Telephony.Sms.Inbox SMS app inbox. mengenal konsep tabel namun hanya “tag”
Contains constants for
yang seperti halnya nama kolom dalam tabel.
SMS related Intents that
Telephony.Sms.Intents are broadcast. Setiap tag hanya menyimpan satu record atau
Contains all pending satu baris. Hal ini tentu menyulitkan bila data
outgoing text-based SMS yang tersimpan terdiri dari banyak kolom dan
Telephony.Sms.Outbox messages. banyak baris. Penelitian ini menggunakan data
Contains all sent text-
dari Sekolah SDII Al Abidin yang memiliki
based SMS messages in
Telephony.Sms.Sent the SMS app. 1185 siswa. Terdiri dari 6 level dan 43 kelas.
Masing-masing level terdiri dari 6 sampai 8
kelas. Tabel terdiri dari 10 kolom yaitu:
4.2 Fitur SMS 1. NIS (nomor induk siswa)
Menggunakan Android Studio yang berbasis 2. NISN (nomor induk siswa nasional)
Java, SMS bisa dibuat dengan 2 metode, 3. Nama Siswa
menggunakan SmsManager API dan dengan 4. Nama Panggilan Siswa
Built-in SMS application atau melimpahkan 5. Nama Ayah
aktivitas ke aplikasi SMS bawaan yang sudah 6. No HP Ayah
tersedia. Bila dibandingkan, maka banyak fitur 7. Nama Ibu
di AI2 yang tidak tersedia yang sebenarnya 8. No HP Ibu
diperlukan seperti fungsi pengelolaan SMS 9. Kelas
seperti Telephony.Sms.Conversations, .Draft, 10. Nama Suara (nama file suara untuk
.Inbox, .Outbox, .dan .Sent (Tabel 5). AI2 masing-masing anak)
hanya menyediakan fitur SMS dengan Untuk bisa menyimpan tabel dalam TinyDB
memanggil built-in SMS application yang maka harus disimpan dalam bentuk List. List
menjadi bawaan handphone/tablet. tidak lain adalah array dalam format AI2.
4.3 Panggilan Telepon Yang membedakan, di AI2 index pertama dari
Sama halnya dengan fitur SMS, AI2 tidak List dimulai dari 1, tidak dari 0 seperti halnya
memiliki fitur untuk melakukan panggilan umumnya peng-indeks-an dalam array. Karena
telepon untuk panggilan telepon dari aplikasi masing-masing siswa terdiri dari beberapa
yang dibuat secara langsung, melainkan harus kolom maka tidak cukup satu lapis List,
melalui built-in application bawaan dari melainkan minimal dua lapis. Lapis List
Android. Untuk memanggil built-in pertama berisi kumpulan data profil masing-
application AI2 menggunakan komponen masing siswa, lapisan kedua berisi kumpulan
PhoneCall. Karena menggunakan built-in data siswa. Bila ditampilkan, bentuk List yang
application, tidak semua fitur atau event bisa disimpan dalam TinyDB bisa dilihat sebagai
ditangkap oleh Receptionist. berikut:
9
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
10
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
Dari hasil pengukuran tersebut bisa diketahui atau terhubung. Hal ini diperlukan untuk
rata-rata keseluruhan adalah 4.11. Bila menghindari error bila ingin melakukan
dianalisa lagi usabilitas dengan menggunakan eksekusi seperti SMS, telepon ataupun
rumus import data dari internet. Jadi karena AI2
Persentase = Frekuensi tidak menyediakan fitur tersebut sebagai
x 100% akibatnya proses SMS, panggilan telepon
dan import data dimungkinkan akan
menghasilkan error tanpa bisa dicegah
Maka diperoleh angka 82.29 %. Dengan
sebelum melakukan eksekusi.
pengkategorian (Sugiyono, 2009) seperti
5. AI2 tidak memiliki kemampuan
ditunjukkan dalam Tabel 6, maka bisa
background service sehingga fitur yang
disimpulkan aplikasi Receptionist sangat
membutuhkan proses lebih dari 1 detik
mudah digunakan.
akan mengurangi user experience. Hal ini
Tabel 6 Presentasi Kelayakan
Skor Kategori Usabilitas bisa dikurangi dengan memecah proses
81%-100% Sangat Mudah besar menjadi beberapa proses kecil
61%-80% Mudah menggunakan komponen sensor clock.
41%-60% Cukup Mudah Clock ini menghasilkan event trigger yang
21%-40% Tidak Mudah
bisa digunakan untuk menggabungkan
<20% Sangat Tidak Mudah
proses yang telah di pecah.
KESIMPULAN DAN SARAN
DAFTAR PUSTAKA
Kesimpulan yang bisa diambil dari
penelitian ini adalah: Munoz, R., Barcelos, T., Villarroel, R.,
1. Secara umum hasil aplikasi dari AI2 Becerra, C., Noel, R., & Ponce, F.
sudah cukup baik dan memiliki tingkat (2017). Using app inventor to change
perceptions about software engineering.
usabilitas dengan status sangat mudah
Proceedings - International Conference
digunakan, hal ini menunjukkan AI2 bisa of the Chilean Computer Science Society,
menghasilkan produk yang layak. SCCC.
2. Hasil pengembangan Receptionist https://doi.org/10.1109/SCCC.2016.7836
menunjukkan AI2 bisa digunakan untuk 023
membangun aplikasi dengan fitur yang Papadakis, S., Kalogiannakis, M., Orfanakis,
V., & Zaranis, N. (2017). The
cukup kompleks seperti untuk SMS
appropriateness of scratch and app
broadcast, memutar rekaman suara yang inventor as educational environments for
dengan jumlah rekaman yang cukup teaching introductory programming in
banyak, memproses database dengan primary and secondary education.
jumlah lebih dari 1000 baris. International Journal of Web-Based
3. Range versi Android yang dihasilkan oleh Learning and Teaching Technologies,
IDE AI2 sangat luas, dimulai dari versi 12(4), 58–77.
https://doi.org/10.4018/IJWLTT.2017100
awal Android, 1.6 atau Android Donut.
106
Hal ini merupakan hal positif namun Papadakis, S., & Orfanakis, V. (2017). The
sekaligus mengurangi user experience Combined Use of Lego Mindstorms NXT
misal tampilan yang sederhana tanpa and App Inventor for Teaching Novice
material design yang bagus. Programmers. International Conference
4. Untuk fungsi yang memerlukan jaringan on Educational Robotics,
baik WIFI ataupun seluler, tidak ada fitur EDUROBOTICS 2016, 560.
https://doi.org/10.1007/978-3-319-55553-
dari AI2 untuk mengecek apakah
9
handphone sedang dalam kondisi online
11
Jurnal Ilmiah Edutic /Vol.4, No.1, November 2017 p-ISSN 2407-4489
e-ISSN 2528-7303
12