Mudah Membuat dan Berbisnis Aplikasi Android dengan ... · 10.5.2 Model Lean Start-up ... 2. Java...

15

Transcript of Mudah Membuat dan Berbisnis Aplikasi Android dengan ... · 10.5.2 Model Lean Start-up ... 2. Java...

Mudah Membuat dan Berbisnis Aplikasi Android dengan Android Studio

Mudah Membuat dan Berbisnis Aplikasi Android dengan Android Studio

Yudha Yudhanto & Ardhi Wijayanto

PENERBIT PT ELEX MEDIA KOMPUTINDO

Mudah Membuat dan Berbisnis Aplikasi Android dengan Android Studio

Yudha Yudhanto & Ardhi Wijayanto © 2017, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang Diterbitkan pertama kali oleh Penerbit PT Elex Media Komputindo Kelompok Gramedia, Anggota IKAPI, Jakarta 2017

718050286 ISBN: 978-602-04-5505-1

[eEp]

Dilarang keras menerjemahkan, memfotokopi, atau memperbanyak sebagian atau seluruh isi buku ini tanpa izin tertulis dari penerbit. Dicetak oleh Percetakan PT Gramedia, Jakarta Isi di luar tanggung jawab percetakan

vii

DAFTAR ISI

KATA PENGANTAR................................................................................ V DAFTAR ISI ........................................................................................VII BAB 1 ANDROID................................................................................ 1

1.1 Apa itu Android?........................................................................1 1.2 Kenapa Memilih Android ...........................................................2 1.3 Fitur Android.............................................................................4 1.4 Versioning .................................................................................6 1.5 Dasar Program........................................................................14

BAB 2 ANDROID STUDIO.................................................................. 17 2.1 Pengenalan Dasar ...................................................................17 2.2 Syarat Hardware......................................................................18 2.3 JDK.........................................................................................20 2.4 Instalasi Android Studio...........................................................22 2.5 Emulator .................................................................................28

2.5.1 Android Virtual Device ........................................................28 2.5.2 Genymotion .......................................................................30

2.6 Emulator Device......................................................................32 BAB 3 PENGENALAN AWAL ............................................................... 37

3.1 Struktur Project .......................................................................37 3.2 Widgeting................................................................................41

3.2.1 Text View............................................................................41 3.2.2 Edit Text ............................................................................42 3.2.3 Button................................................................................43 3.2.4 Spinner ..............................................................................43

3.3 Manifest...................................................................................44 3.3.1 Struktur..............................................................................44

viii

3.3.2 Element .............................................................................45 3.3.3 Atribut................................................................................46 3.3.4 Deklarasi ............................................................................46 3.3.5 Multiple View ......................................................................47 3.3.6 Resource............................................................................47 3.3.7 String .................................................................................48

3.4 File..........................................................................................48 3.4.1 Intent Filters.......................................................................48 3.4.2 Icon dan Label ...................................................................48 3.4.3 Permissions........................................................................49 3.4.4 Libraries .............................................................................51

3.5 Error Check.............................................................................51 3.6 Running ..................................................................................53

BAB 4 LAYOUT................................................................................ 55 4.1 Apa itu Layout .........................................................................55 4.2 Jenis Layout ............................................................................58 4.3 Linear......................................................................................58 4.4 Relative ...................................................................................60 4.5 Grid View.................................................................................62 4.6 List View..................................................................................65

BAB 5 INTENT................................................................................. 69 5.1 Pengertian...............................................................................69 5.2 Intent Tanpa Data ...................................................................70 5.3 Mengirim Data Intent...............................................................72

5.3.1 Mainactivity_java ................................................................72 5.3.2 ActivityKedua.java ..............................................................72

5.4 Pengiriman dan Pengambilan..................................................73 5.4.1 activity_kedua.xml ..............................................................73 5.4.2 mainactivity.java.................................................................74 5.4.3 activitykedua.java ...............................................................75 5.4.4 Hasil Run ...........................................................................77

5.5 Intent Flags .............................................................................77 5.5.1 activity_kedua.xml ..............................................................78 5.5.2 activity_ketiga.xml ..............................................................79 5.5.3 ActivityKedua.java ..............................................................79 5.5.4 ActivityKetiga.java ..............................................................79 5.5.5 AndroidManifest.xml...........................................................80

BAB 6 APLIKASI AGENDA HARIAN...................................................... 81 6.1 Perancangan Layout................................................................81 6.2 Kode program.........................................................................82

ix

6.2.1 main_menu.xml .................................................................82 6.2.2 item_todo.xml ....................................................................83 6.2.3 activity_main.xml................................................................84 6.2.4 AgendaDbInfo.java.............................................................84 6.2.5 AgendaDbHelper.java.........................................................85 6.2.6 MainActivity.java .................................................................86

BAB 7 APLIKASI GAME TEBAK ANGKA................................................ 89 7.1 Perancangan Layout................................................................89 7.2 Kode Program.........................................................................90

7.2.1 activity_main.xml................................................................90 7.2.2 MainActivity.java .................................................................91 7.2.3 Penjelasan source code......................................................92

BAB 8 VOLLEY ................................................................................ 97 8.1 Perancangan Database............................................................98 8.2 Koneksi Server ........................................................................98 8.3 Layout...................................................................................101

8.3.1 Build.gradle......................................................................102 8.3.2 activity_main.xml..............................................................102 8.3.3 activity_viewdata.xml ........................................................102 8.3.4 activity_adddata.xml.........................................................103 8.3.5 list_product.xml................................................................104

8.4 Pembuatan Kode Program....................................................105 8.4.1 mainctivity.java.................................................................105 8.4.2 Config.java .......................................................................105 8.4.3 Product.java .....................................................................106 8.4.4 Adapter_Product.java .......................................................107 8.4.5 AppController.java............................................................107 8.4.6 AddData.java....................................................................109 8.4.7 ViewData.java...................................................................111

8.5 Pengaturan di Android Manifest.............................................113 8.6 Run Aplikasi ..........................................................................113

BAB 9 APLIKASI CARI NEGARA DUNIA..............................................115 9.1 Perancangan Layout..............................................................115

9.1.1 country_item_layout.xml ..................................................115 9.1.2 activity_main.xml..............................................................117

9.2 Kode Program.......................................................................117 9.2.1 build.gradle (Module: app)................................................117 9.2.2 AndroidManifest.xml.........................................................117 9.2.3 Country.java .....................................................................118 9.2.4 CountryRecyclerViewAdapter.java.....................................118

x

9.2.5 MainActivity.java ...............................................................120 9.3 Run Aplikasi ..........................................................................122

BAB 10 PROSPEK BISNIS APLIKASI DIGITAL .......................................123 10.1 Tentang Usaha Aplikasi .........................................................123 10.2 Peluang dan Tantangan ........................................................124 10.3 Metoda Pemilihan Ide Aplikasi Digital ....................................127

10.3.1 Riset.................................................................................128 10.3.2 Kesuksesan Aplikasi Lain..................................................128 10.3.3 Carilah Masalah................................................................129 10.3.4 Belajar dari Masalah Orang Lain.......................................129 10.3.5 Amati Trend .....................................................................129 10.3.6 Out of The Box Thinking..................................................130 10.3.7 Membaca .........................................................................130

10.4 Apakah itu Start-up?..............................................................131 10.5 Model Usaha Start-up............................................................131

10.5.1 Model Design Thinking Start-up .......................................132 10.5.2 Model Lean Start-up.........................................................134

BAB 11 HAK KEKAYAAN INTELEKTUAL...............................................137 11.1 Pengertian.............................................................................138 11.2 Sejarah..................................................................................138 11.3 Istilah HKI .............................................................................139 11.4 Hak Cipta ..............................................................................140 11.5 Paten.....................................................................................143 11.6 Merek ....................................................................................144 11.7 Desain Industri ......................................................................147 11.8 Keuntungan HKI ...................................................................149 11.9 HKI di Bidang Teknologi Informasi........................................150

11.9.1 Hak Cipta.........................................................................150 11.9.2 Hak Merek........................................................................150 11.9.3 Rahasia Dagang...............................................................151

BAB 12 LUNCURKAN APLIKASI ANDA!................................................155 12.1 Apa itu Play Store? ................................................................155 12.2 Apa itu APK? .........................................................................157 12.3 Upload ke PlayStore ..............................................................157 12.4 Pelanggaran PlayStore...........................................................164 12.5 Laporan Statistik PlayStore....................................................165

BAB 13 BERBISNIS APLIKASI ANDROID ..............................................167 13.1 Paids-App..............................................................................167 13.2 In-App Purchases (IAP)..........................................................168

xi

13.3 Interstitial Ads........................................................................169 13.4 Virtual Currency.....................................................................170 13.5 Banner Ads ...........................................................................171 13.6 Push Ads...............................................................................171 13.7 Icon Ads................................................................................172 13.8 Offer Waal .............................................................................172 13.9 Ring Ads................................................................................172 13.10 Freelance atau Outsource .....................................................173

DAFTAR PUSTAKA............................................................................ 175 TENTANG PENULIS ........................................................................... 176

1

ANDROID

1.1 Apa itu Android?

Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat bergerak layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008.

Gambar 1.1 Tampilan Android untuk Espier Launcher

2

Antarmuka pengguna Android umumnya berupa manipulasi langsung, menggunakan gerakan sentuh yang serupa dengan tindakan nyata, misalnya menggeser, mengetuk, dan mencubit untuk memanipulasi objek di layar, serta papan ketik virtual untuk menulis teks. Selain perangkat layar sentuh, Google juga telah mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk jam tangan. Masing-masing memiliki antarmuka pengguna yang berbeda. Varian Android juga digunakan pada komputer jinjing, konsol permainan, kamera digital, dan peralatan elektronik lainnya.

Gambar 1.2 Aneka Produk Android dari Google

1.2 Kenapa Memilih Android

Memilih sistem operasi Android untuk perangkat mobile adalah tepat karena di bawah Google pasti dikembangkan terus menerus. Yang paling menarik adalah sebagai developer juga bisa secara bebas membuat aplikasi berbasis Android. Kita bisa menjualnya sebagai produk, jasa, atau sebagai solusi permasalahan untuk penggunanya.

Sebenarnya selain Android ada juga sistem operasi lain seperti iOS, Linux, Blackberry, Symbian, dan juga Windows Mobile (WM). Semua ada kelebihan dan kekurangannya. Android sudah terbukti paling banyak dimiliki saat ini. Intinya, tidak rugi memilih Android sebagai pengguna maupun sebagai developer (pembuat program).

Android menyediakan arsitektur development yang kaya. Kita tidak perlu mengetahui banyak tentang komponen arsitektur ini, namun perlu

3

mengetahui apa yang tersedia dalam sistem yang digunakan untuk aplikasi kita. Diagram berikut menampilkan komponen utama sistem tingkatan Android, gambaran sistem operasi, dan arsitektur development.

Gambar 1.3 Komponen utama Android

Dalam gambar di atas:

1. Aplikasi: Aplikasi berada pada tingkat ini bersama dengan aplikasi sistem inti untuk email, perpesanan SMS, kalender, penjelajahan Internet, atau kontak.

2. Java API Framework: Semua fitur Android tersedia untuk developer melalui antarmuka pemograman aplikasi.

Sistem Tampilan digunakan untuk membangun UI aplikasi, termasuk daftar, tombol, dan menu.

Pengelola Referensi digunakan untuk mengakses sumber daya non-kode seperti string, grafik, dan file layout.

Pengelola Notifikasi digunakan untuk menampilkan peringatan khusus di bilah status.

Pengelola Aktivitas yang mengelola daur hidup aplikasi.

Penyedia Materi yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain.

Semua API kerangka kerja yang digunakan aplikasi sistem Android.

4

3. Library dan Android runtime: Setiap aplikasi berjalan dalam prosesnya sendiri dan dengan instance Android Runtime sendiri, yang memungkinkan beberapa mesin sekaligus virtual pada perangkat bermemori rendah. Android juga menyertakan rangkaian library waktu proses inti yang menyediakan sebagian besar fungsionalitas bahasa pemrograman Java, termasuk beberapa fitur bahasa Java 8 yang digunakan framework Java API. Banyak layanan dan komponen sistem Android inti dibangun dari kode asli yang memerlukan pustaka asli yang ditulis dalam C dan C++. Pustaka asli tersebut tersedia untuk aplikasi melalui kerangka kerja Java API.

4. Hardware Abstraction Layer (HAL): Lapisan ini menyediakan antarmuka standar yang menunjukkan kemampuan perangkat keras di perangkat ke kerangka kerja Java API yang lebih tinggi. HAL terdiri atas beberapa modul pustaka, masing-masing mengimplementasikan antarmuka untuk komponen perangkat keras tertentu, seperti modul kamera atau bluetooth.

5. Kernel Linux: Fondasi platform Android adalah kernel Linux. Lapisan di atas mengandalkan kernel Linux untuk fungsionalitas pokok seperti threading dan manajemen memori tingkat rendah. Menggunakan kernel Linux memungkinkan Android memanfaatkan fitur keamanan utama dan memungkinkan produsen perangkat mengembangkan driver perangkat keras untuk kernel yang cukup dikenal.

1.3 Fitur Android

Perangkat Android memiliki beberapa fitur perangkat keras di dalamnya. Inilah yang dapat dimanfaatkan developer dalam membangun aplikasi. Di antaranya adalah:

1. Touchscreen. Perangkat Android memiliki fitur layar sentuh (touchscreen) yang memberikan beberapa kemungkinan bagi pengguna untuk berinteraksi dengan aplikasi menggunakan jari. Pengguna dapat melakukan swipe, flip, drag, dan pinch untuk zoom. Android juga mendukung multitouch yang berarti keseluruhan layar dapat disentuh dengan satu atau lebih jari pada saat yang bersamaan.

5

2. GPS. Sistem operasi Android mendukung GPS yang memungkinkan developer untuk mengakses lokasi pengguna. Contoh aplikasi yang memanfaatkan GPS adalah aplikasi peta (map) yang menunjukkan lokasi pengguna dan memberikan petunjuk untuk menuju suatu lokasi.

3. Accelerometer. Android mendukung Accelerometer, yaitu perangkat yang digunakan untuk mengukur percepatan. Accelerometer dapat memberitahukan apabila suatu perangkat Android bergerak, terguncang, atau berbalik arah posisinya.

4. SD Card. Android memiliki fitur yang memungkinkan pengguna atau aplikasi untuk mengakses (menyimpan atau membuka) file pada SD Card. SD Card merupakan media penyimpanan yang digunakan perangkat Android dan beberapa perangkat mobile lain.

Android memiliki banyak fitur perangkat lunak yang dapat digunakan oleh developer dalam mengembangkan aplikasi, yakni:

1. Internet. Kemampuan akses internet pada Android memberikan banyak keunggulan. Berbagai informasi secara real-time dapat diperoleh dengan mudah dengan internet. Pengguna dapat mengakses internet untuk melihat jadwal pemutaran film bioskop, cuaca suatu area, jadwal penerbangan, dan lainnya. Developer dapat menggunakan internet untuk mengakses/update data secara realtime. Developer juga dapat menggunakan internet untuk menyimpan berbagai aset untuk kemudian digunakan pada suatu aplikasi, seperti dilakukan Pandora dan Youtube. Dengan internet dapat dibangun model aplikasi yang disebut client-server computing. Contoh lain, aplikasi peta mengakses data peta dan GPS dari web server.

2. Audio dan Video Support. Sistem operasi Android memungkinkan developer menyertakan audio dan video dalam aplikasi dengan mudah. Berbagai standar format audio dan video telah didukung.

3. Contact. Android memungkinkan akses ke kontak yang tersimpan pada perangkat. Sebagai contoh, developer dapat membangun aplikasi yang menggabungkan antara kontak dengan GPS untuk memberikan notifikasi jika pengguna berada di dekat alamat salah satu kontak tertentu.

4. Security. Android memungkinkan aplikasi untuk melakukan banyak hal. Android juga menyiapkan mekanisme keamanan berupa permission berkaitan dengan beberapa tugas. Contoh: Untuk men-

176

TENTANG PENULIS

YUDHO YUDHANTO S.KOM. Alumnus SMKN 2 Surakarta (1997), S1 Teknik Informatika UNIKOM (2004) dan sedang S2 di Universitas AMIKOM Yogyakarta. Saat ini aktif sebagai kontributor IKC (IlmuKomputer.Org) dan mengisi di beberapa media cetak tentang teknologi informasi. Selain sebagai Technopreneur dibidang AIDC juga sebagai Dosen di D3TI-FMIPA UNS. Email: [email protected]

ARDHI WIJAYANTO, S.KOM, M.Cs. Tamatan dari SMA Negeri 2 Ngawi (2007), S1 Informatika FMIPA UNS (2011) dan menamatkan S2 Magister Ilmu Komputer UGM (2016). Pernah menjadi pengajar pemrograman Android dan developer mobile. Saat ini menjadi Dosen tetap D3 Manajemen Informatika Universitas Merdeka Madiun dan Dosen luar biasa S1 Informatika Universitas Sebelas Maret Surakarta. Email: [email protected]