BUKU PETUNJUK PRAKTIKUM PEMROGRAMAN LANJUT. Oleh: Rizky Yuniar Hakkun Tita Karlita

Ukuran: px
Mulai penontonan dengan halaman:

Download "BUKU PETUNJUK PRAKTIKUM PEMROGRAMAN LANJUT. Oleh: Rizky Yuniar Hakkun Tita Karlita"

Transkripsi

1 BUKU PETUNJUK PRAKTIKUM PEMROGRAMAN LANJUT Oleh: Rizky Yuniar Hakkun Tita Karlita TEKNIK INFORMATIKA DEPARTEMEN TEKNIK INFORMATIKA DAN KOMPUTER POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

2 KATA PENGANTAR Dengan mengucapkan syukur Alhamdulillah kehadirat Allah SWT atas segala limpahan rahmat dan hidayah-nya, sehingga penyusun dapat menyelesaikan buku petunjuk Praktikum yang berjudul : Praktikum Pemrograman Lanjut dengan baik. Buku petunjuk workshop ini disusun sebagai pedoman khususnya bagi mahasiswa di Jurusan Teknik Informatika, Politeknik Elektronika Negeri Surabaya, dalam memberikan pengenalan, pemahaman serta mengasah kemampuan dalam pemrograman khususnya berbasis Android yang mana sudah menjadi kewajiban untuk mengenal teknologi informasi saat ini. Diharapkan para mahasiswa nantinya bisa lebih terampil dan memahami segala bentuk teknologi informasi saat ini. Bagimanapun penyusun telah berusaha membuat buku ini dengan sebaikbaiknya, namun tidak ada kesempurnaan dalam sebuah karya manusia. Penyusun menyadari masih banyak kekurangan dalam penyusunan buku ini. Untuk itu pula segala masukan, kritik dan saran dari pembaca dapat menjadikan acuan bagi penyusun dalam penyempurnaan dan pembuatan buku berikutnya. Tiada untaian kata yang dapat penyusun sampaikan selain panjatkan doa, semoga Allah SWT selalu membuka hati kita dengan cahaya-nya dan mengajarkan ilmu-nya kepada kita, serta menghindarkan kita dari ilmu yang tidak bermanfaat. Surabaya, November 2013 Penyusun i

3 DAFTAR ISI KATA PENGANTAR... i DAFTAR ISI... ii DAFTAR GAMBAR... vii 1 Praktikum 1 : Setting SDK dan Emulator Android Tujuan Tugas Pendahuluan Percobaan Percobaan 1 : Instalasi SDK Android pada Eclipse Percobaan 2 : Konfigurasi Plugin pada Eclipse Percobaan 3 : Android Virtual Device (AVD) pada SDK Percobaan 4 : Update Android SDK Manager Laporan Resmi Praktikum 2 : Siklus Hidup Aplikasi Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Memahami siklus hidup Activity Laporan Resmi Praktikum 3: XML Layout dan Basic Widget Tujuan Tugas Pendahuluan Percobaan Percobaan 2: Mengaplikasikan Layout (Linear Layout) Percobaan 3 : Mengenal Basic Widget Praktikum 4: Selection Widget Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Menggunakan List View ii

4 4.3.2 Percobaan 2: Menggunakan Spin Control Percobaan 3: Menggunakan Grid View Percobaan 4: Menggunakan AutoCompleteTextView Percobaan 5: Menggunakan Customized List Percobaan 6: Membuat Date and Time Selection Widget Percobaan 7: Membuat Tabhost Praktikum 5: Option dan Context Menu Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Menggunakan Option dan Context Menu Percobaan 2: Menggunakan Option dan Context Menu (lanjut) Praktikum 6: WebKit Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Membuat Hello World dengan Webkit Percobaan 2: Menampilkan Data Waktu dengan Webkit Percobaan 3: Melakukan Browsing Internet dengan Webkit Praktikun 7: Intent 1 - Implisit Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Memantau Baterai dengan BroadcastReceiver Percobaan 2: Membuat Intent Pemanggilan Telepon Percobaan 3: Membuat Implisit Intent (lanjut) Praktikum 8 : Intent 2 - Eksplisit Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Membuat Intent Explisit dari Dua Buah Activity Percobaan 2: Membuat Contoh Aplikasi BMI (Body Mass Index) 79 iii

5 8.3.3 Percobaan 3: Membuat Contoh Kurs Dollar ke Rupiah Percobaan 4: Mengirimkan SMS dengan Intent Praktikum 9: Preference Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Menyimpan data dengan SharedPreference Object Percobaan 2: Saving/Retrieving a SharedPreference Object holding UI user choices Percobaan 3: Saving / Retrieving a SharedPreference Object containing business data Laporan Resmi Praktikum 10: Files Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Penyimpanan data pada Internal Storage Percobaan 2: Membaca Resource File Percobaan 3: Membaca atau menulis Internal File Percobaan 4: Membaca atau menulis pada memori SD Card Laporan Resmi Praktikum 11: Databases Tujuan Tugas Pendahuluan Percobaan Percobaan 1 : Membuat table dan insert field pada Android Percobaan 2 : Membuat database dengan SQLHelper Percobaan 3 : Membuat database dengan ContentService Percobaan 4 : Membuat database dengan Book Laporan Resmi Praktikum 12: Internet Feeders Tujuan iv

6 12.2 Tugas Pendahuluan Percobaan a. Percobaan 1: Menampilkan RSS Feed NPR Laporan Resmi Praktikum 13: Intent Filter Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Dial Number dengan Intent Filter Percobaan 2 : Dial Number dengan Intent Filter Laporan Resmi Praktikum 14: Location Service Tujuan Tugas Pendahuluan Percobaan Percobaan 1 : Menampilkan StreetView Percobaan 2 : Menampilkan Street View dengan KeyEvent Laporan Resmi Praktikum 15: MapViews Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Menampilkan Google Maps Percobaan 2: Menampilkan Zoom Control pada Map Percobaan 3 : Merubah View pada Map Laporan Resmi Praktikum 16: MapViews Tujuan Tugas Pendahuluan Percobaan Percobaan 1: Menampilkan Location Data Percobaan 2: Membuat MapView Overlays v

7 16.4 Laporan Resmi DAFTAR PUSTAKA vi

8 DAFTAR GAMBAR Gambar 1.1 Jendela pembuka Eclipse... 2 Gambar 1.2 Jendela Software Update and Add-ons... 3 Gambar 1.3 Jendela New Update Site... 3 Gambar 1.4 List baru pada jendela Update site to visit... 4 Gambar 1.5 Kotak dialog Instal... 4 Gambar 1.6 Kotak dialog Review License... 5 Gambar 1.7 Kotak Dialog Preferences... 6 Gambar 1.8 Environment Variables... 6 Gambar 1.9 Setting Path... 7 Gambar 1.10 Jendela Android SDK and AVD Manager... 7 Gambar 1.11 Dialog Create New AVD... 8 Gambar 1.12 Jendela Android SDK Manager... 9 Gambar 1.13 Menambahkan level API pada Android SDK Manager Gambar 1.14 Seting Proxy pada Android SDK Manager Gambar 2.1 Android Project Activities Gambar 2.2 Jendela LogCat Gambar 3.1 Contoh Tampilan Relative Layout Gambar 3.2 Contoh Tampilan Linear Layout Gambar 3.3 Contoh Tampilan Linear Layout Gambar 3.4 Contoh Tampilan Linear Layout Gambar 3.5 Tampilan Berbagai Macam Toast Hasil Pemberian Event pada Beberapa Basic Widget Gambar 4.1. Contoh Tampilan List View Gambar 4.2. Contoh Tampilan List View setelah Klik Opsi Really Gambar 4.3 Contoh Tampilan Spin Control Gambar 4.4 Contoh Tampilan Spin Control setelah Klik Spin Control dan setelah Memilih Opsi Tertentu Gambar 4.5 Contoh Tampilan Menggunakan Grid View Gambar 4.6 Contoh Tampilan Menggunakan Grid View setelah klik this Gambar 4.7. Contoh Tampilan Selection Widget vii

9 Gambar 4.8 Contoh Tampilan AutoCompleteTextView Gambar 4.9 Contoh Tampilan AutoCompleteTextView Gambar 4.10 Contoh Tampilan Custumized List Gambar 4.11 Tampilan Date and Time Selection Widget Gambar 4.12 Tampilan TabWidget Gambar 5.1 Tampilan Option dan Context Menu Gambar 5.2 Contoh Tampilan Menu Gambar 5.3 Contoh Tampilan Awal Menu Gambar 5.4 Tampilan pilhan menu Gambar 5.5 Tampilan Setelah pilihan menu Gambar 5.6 Tampilan Submenu Gambar 5.7 Tampilan setelah pilihan menu Gambar 6.1 Tampilan Awal Browser Gambar 6.2 Tampilan Browser dengan waktu Gambar 6.3 Tampilan Browser Gambar 7.1 Tampilan informasi Battery Gambar 7.2 Tampilan Panggilan Telpon Gambar 7.3 Tampilan Phone Call Gambar 7.4 Tampilan pilihan Gambar 7.5 Contoh Tampilan Setiap Pilihan Gambar 8.1 Tampilan Main Activity Gambar 8.2 Tampilan Child Activity Gambar 8.3 Tampilan Awal BMI Gambar 8.4 Tampilan Perhitungan BMI Gambar 8.5 Tampilan Awal Konversi Mata Uang Gambar 8.6 Tampilan Perhitungan Konversi Mata Uang Gambar 8.7 Tampilan Akhir Konversi Mata Uang Gambar 8.8 Tampilan Send SMS dengan Intent Gambar 8.9 Tampilan Hasil Kirim SMS Gambar 9.1 Contoh Tampilan Gambar 9.2 Simple UI Gambar 9.3 Default Text viii

10 Gambar 9.4 Text dari SharedPreference Gambar 9.5 DDMS File Explorer Gambar 9.6 Menggunakan Browser Untuk membaca file Gambar 10.1 Project Baru Gambar 10.2 Input Text View Gambar 10.3 File pada resource Gambar 10.4 Hasil Teks Yang Disimpan Gambar 10.5 DDMS file explorer Gambar 10.6 Hasil Aplikasi Gambar 11.1 Tampilan Awal Gambar 11.2 Tampilan SQLite Admin Gambar 11.3 Tampilan Hasil Gambar 11.4 Tampilan Hasil Gambar 11.5 Tampilan Hasil Gambar 12.1 Tampilan Awal Gambar 12.2 Tampilan Ketika Dipilih Salah Satu Berita Gambar 13.1 Tampilan Awal Gambar 13.2 Tampilan ketika aksi telpon dial Gambar 13.3 Tampilan No Dial Gambar 13.4 Tampilan ketika mendial telpon Gambar 13.5 Telpon dial dilakukan Gambar 13.6 Tampilan jika SMS dipilih Gambar 13.7 Tampilan browser pencarian Gambar 14.1 Tampilan Peta Gambar 14.2 Tampilan Peta dengan Street View Gambar 14.3 Tampilan pilhan street view atau tidak Gambar 15.1 Tampilan Mapview Gambar 15.2 Tampilan Map denga Zoom Control Gambar 15.3 Merubah View pada Map Gambar 16.1 Menampilkan Location Data Gambar 16.2 Membuat MapView Overlays ix

11 Praktikum 1 Setting SDK dan Emulator Android 1 Praktikum 1 : Setting SDK dan Emulator Android 1.1 Tujuan Tujuan pembelajaran bab Setting SDK dan Emulator Android meliputi: 1. Memahami cara menginstal dan mensetting SDK Android pada Eclipse 2. Memahami cara membuat dan menggunakan emulator Android 1.2 Tugas Pendahuluan 1. Download Java SE yang ada pada 2. Download Eclipse IDE yang ada pada 3. Persiapkan Eclipse IDE dan Java Runtime Library pada Komputer. 4. Pelajari penggunaan Eclipse IDE 5. Download Android SDK Starter yang ada pada 6. Download Android Developer Tools (ADT) Bundle yang ada pada Percobaan Percobaan 1 dan 2 adalah kegiatan menginstal Android dengan cara perbagian yang memiliki urutan kegiatan mengekstrak Eclipse IDE dan menambahkan serta mengkonfigurasi plugin Android SDK pada Eclipse. Cara kedua untuk mendapatkan lingkungan kerja Android adalah dengan cara menginstal Android Developer Tools 1

12 (ADT) Bundle. Dengan sekali langkah menginstal Android Developer Tools (ADT) Bundle maka sudah tidak diperlukan lagi kegiatan mengekstrak Eclipse IDE dan menambahkan serta mengkonfigurasi plugin Android SDK. Sekarang sudah tersedia Android Developer Tools (ADT) Bundle, sekali download sudah langsung dipunyai Eclipse IDE dan Android SDK, jadi tidak perlu lagi download Eclipse secara terpisah baru kemudian download Android SDK Percobaan 1 : Instalasi SDK Android pada Eclipse. Download dan install SDK dilakukan apabila programmer belum memiliki atau memasang plugin SDK Android pada Eclipse, untuk melakukan download dan install berikut cara download dan Install SDK Android : Ekstrak Eclipse dan simpan pada suatu folder, selanjutnya buka aplikasi Eclipse. Klik Help > Software Update > Find and Install, sebagaimana dapat dilihat pada Gambar P1.1. Gambar 1.1 Jendela pembuka Eclipse Pada jendela Software Update atau Update Install, pada Eclipse versi Galileo terdapat dua pilihan option radio button anda pilih atau klik pada Search or New Features to Install sedangkan pada versi Gany Mayde akan muncul pilihan Manage Sites dan Add Sites, kemudian pilih Add Sites untuk membuat Sites atau source baru seperti pada Gambar P1.2. 2

13 Sedangakan untuk versi Galileo akan tampil dialog install, untuk mendownload Android plugin anda klik pada bagian tombol new remote site. Gambar 1.2 Jendela Software Update and Add-ons Pada tampilan berikutnya terdapat sebuah jendela dialog untuk mengisikan Field URL dengan Atau anda dapat mendownload file ADT dan memanggilnya menggunakan menu Archive. yang Kemudian klik OK, Untuk lebih jelasnya lihat Gambar P1.3. Gambar 1.3 Jendela New Update Site Selanjutnya pada jendela available software terdapat list baru dengan berupa site baru dengan nama Android Plugin. Untuk lebih jelasnya lihat Gambar P1.4. 3

14 Gambar 1.4 List baru pada jendela Update site to visit Berikan cek list pada Android Plugin kemudian klik install Kemudian akan tampil jendela Install, pada jendela ini berikan cheklist pada item yang dibutuhkan Android, seperti pada Gambar P1.5. Gambar 1.5 Kotak dialog Instal Selanjutnya akan tampil kotak dialog license agreement, klik I accept the term of the license agrements kemudian klik tombol finish, lihat Gambar P1.6. 4

15 Gambar 1.6 Kotak dialog Review License Setelah selesai instalasi plugin, selanjutnya anda akan masuk pada pembahasan konfigurasi plugin Percobaan 2 : Konfigurasi Plugin pada Eclipse Setelah anda selesai memasukkan atau memasang plugin pada Eclipse, anda mendapatkan pemberitahuan dan anda diminta untuk melakukan restart aplikasi Eclipse. Jika tidak ada pemberitahuan maka lakukan restart aplikasi segera. Melakukan restart akan membuat aplikasi Eclipse diberikan kesempatan untuk melakukan inisialisasi dan meyakinkan bahwa program tersebut telah mendapat pemasangan plugin Android. Plugin Android untuk Eclipse di konfigurasi melalui jendela preferences Eclipse. Tahapan melakukan konfigurasi adalah sebagai berikut : Pada layar utama tampilan jendela Eclipse pilih menu bar Window > Preferences. Selanjutnya tampil jendela Preferences, klik Android pada menu sebelah kiri, kemudian pada sebelah kanan klik browse, lihat Gambar P1.7. Pada tahap ini Eclipse mencari lokasi SDK untuk menjalankan emulator sebagai media aplikasi Android yang akan dibuat, kemudian klik apply. Pada tahap terakhir pada setingan SDK, yaitu pada PATH statement. Jika anda menggunakan windows lakukan langkah berikut : klik kanan pada my computer, plilh properties untuk membuka kotak dialog pada system properties, kemudian klik pada advance tab. 5

16 Klik pada environment variables untuk menampilkan jendela environment variables, seperti terlihat pada Gambar P1.8, anda bisa mengedit PATH statement. Gambar 1.7 Kotak Dialog Preferences Gambar 1.8 Environment Variables Pada bagian bawah System Variables, cari dan temukan variable PATH kemudian klik ganda. 6

17 Pada kotak dialog Edit System Variables, masukkan lokasi Android SDK lalu klik OK untuk menerapkannya seperti pada Gambar P1.9. Dan klik OK lagi pada jendela Environment Variables. Gambar 1.9 Setting Path Percobaan 3 : Android Virtual Device (AVD) pada SDK Agar emulator yang telah di-setting dapat digunakan ketika aplikasi dijalankan dibutuhkan sebuah Virtual Device pada SDK Android. Unuk membuat AVD ini kita dapat membuat melalui Eclipse, maupun langsung membuka folder SDK tersebut dan menjalankan SDK Setup. Untuk langkah-langkah selanjutnya adalah sebagai berikut : Setelah Android and AVD Manager tampil, anda dapat memilih Virtual Devices. Seperti pada P1.10. Gambar 1.10 Jendela Android SDK and AVD Manager Kemudian untuk membuat AVD baru, dapat dipilih button New. Selanjutnya akan tampil Dialog Create New AVD seperti pada Gambar P

18 Gambar 1.11 Dialog Create New AVD Selanjutnya, anda dapat memberikan nama AVD, memilih target API-Android yang tersedia dan filed lainnya, setelah itu klik Create AVD. Maka Android Virtual Device pun telah dapat digunakan oleh Eclipse Percobaan 4 : Update Android SDK Manager Setelah selesai menginstal Android biasanya secara otomatis akan tersedia minimal satu level API yang sudah siap digunakan dalam membuat aplikasi Android. Untuk mengecek level API apa saja yang telah tersedia dalam sistem pilih menu Window > Android SDK Manager dan akan didapatkan tampilan seperti pada Gambar P1.12. Jumlah dan detail level API milik anda kemungkinan akan berbeda dengan Gambar P1.12 karena hal ini sangat tergantung dengan level API berapa saja yang telah anda tambahkan. 8

19 Gambar 1.12 Jendela Android SDK Manager Jika anda ingin menambahkan level API maka breakdown versi yang ingin ditambahkan serta berikan tanda check pada checkbox yang disediakan sebagaimana bisa dilihat pada Gambar Tampak pada gambar tersebut akan diinstal API 16. Sebelum proses instal dijalankan pastikan bahwa seting koneksi internet telah dilakukan bila anda menggunakan proxy tertentu dengan cara klik Tools > Options sebagaimana bisa dilihat pada Gambar Selanjutnya cari dan klik tombol Install packages untuk memulai proses instal. 9

20 Gambar 1.13 Menambahkan level API pada Android SDK Manager Gambar 1.14 Seting Proxy pada Android SDK Manager 10

21 1.4 Laporan Resmi Buat laporan resmi mengenai langkah langkah instalasi Android pada computer Anda, capture langkah demi langkah sesuai dengan petunjuk dari percobaan diatas. 11

22 Praktikum 2 Siklus Hidup Aplikasi 2 Praktikum 2 : Siklus Hidup Aplikasi 2.1 Tujuan 1. Memahami siklus hidup Activity. 2. Mengetahui dan memahami berbagai method yang terlibat dalam siklus hidup Activity. 2.2 Tugas Pendahuluan 1. Apakah yang dimaksud dengan siklus hidup aplikasi? 2. Sebutkan dan jelaskan siklus hidup activity? 3. Sebut dan jelaskan method-method yang berperan selama siklus hidup activity! 2.3 Percobaan Percobaan 1: Memahami siklus hidup Activity Langkah 1: Buat project Android baru di Eclipse dengan nama Activities seperti pada Gambar P2.1

23 Gambar 2.1 Android Project Activities Langkah 2: Lakukan modifikasi pada file MainActivity.java berdasarkan kode dibawah ini package com.example.lyfecycle; import android.app.activity; import android.os.bundle; import android.util.log; public class MainActivity extends Activity { String tag = "Events"; /** Called when the activity is first created. 13

24 public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Log.d(tag, "In the oncreate() event"); public void onstart(){ super.onstart(); Log.d(tag, "In the onstart() event"); public void onrestart(){ super.onrestart(); Log.d(tag, "In the onrestart() event"); public void onresume(){ super.onresume(); Log.d(tag, "In the onresume() event"); public void onpause(){ super.onpause(); Log.d(tag, "In the onpause() event"); public void onstop(){ super.onstop(); Log.d(tag, "In the onstop() event"); 14

25 public void ondestroy(){ super.ondestroy(); Log.d(tag, "In the ondestroy() event"); Langkah 3: Tekan F11 untuk men-debug aplikasi pada emulator Android Langkah 4: Ketika Activity berjalan, maka akan terlihat jendela LogCat seperti berikut Gambar 2.2 Jendela LogCat Langkah 5: Ketika menekan tombol Home pada emulator Android, lihat pada jendela Logcat dan pesan berikut akan muncul 15

26 Langkah 6: Tekan Tombol Home kembali dan pilih icon aplikasi yang anda buat tadi kembali (nama project ini Activities), lihat jendela Logcat kembali dan pesan berikut akan muncul : Langkah 7: Tekan tombol Phone pada Emulator sehingga activity akan sembunyi di belakang layar. Lihat jendela LogCat dan pesan ini akan muncul : Langkah 8: Perhatikan bahwa event OnDestroy() tidak pernah dipanggil, menandakan bahwa activity tetap berada pada memory. Tekan tombol Back, activity akan muncul kembali, dan lihat kembali jendela LogCat : 2.4 Laporan Resmi Buat laporan resmi tentang penjelasan mengenai percobaan diatas. 16

27 Praktikum 3 XML Layout dan Basic Widget 3 Praktikum 3: XML Layout dan Basic Widget Tujuan Tujuan praktikum bab ini adalah: 1. Memahami berbagai macam variasi dari XML Layout. 2. Memahami pembuatan penggunaan dari Basic Widget. 3. Mengetahui beberapa atribut yang dimiliki XML Layout dan Basic Widget Tugas Pendahuluan 1. Pelajari XML Layout dan Basic Widget Android! 2. Sebutkan dan jelaskan berbagai macam XML Layout 3. Sebutkan dan jelaskan berbagai macam Basic Widget Percobaan Percobaan 1: Mengaplikasikan Layout (Relative Layout dan Frame Layout) Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mainactivity" > <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent"

28 android:layout_centerhorizontal="true" > <ImageView android:layout_width="fill_parent" android:layout_height="444dp" /> </FrameLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_alignparenttop="true" android:text="hello Android" /> </RelativeLayout> Langkah 3: Tambahkan statement huruf tebal pada MainActivity.java Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P3.1. Gambar 3.1 Contoh Tampilan Relative Layout 18

29 3.1.4 Percobaan 2: Mengaplikasikan Layout (Linear Layout) Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <TableLayout xmlns:android=" xmlns:tools=" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".mainactivity" > <TableRow> <TextView android:layout_width="120px" android:text="user Name" /> <EditText android:width="200px" /> </TableRow> <TableRow> <TextView android:text="password" /> <EditText android:password="true"/> </TableRow> <TableRow> <Button android:padding="20px" android:text="sign In" /> </TableRow> </TableLayout> Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P3.2. Langkah 6 : Isikan edit text yang tersedia, maka akan muncul virtual keyboard seperti pada Gambar P

30 Gambar 3.2 Contoh Tampilan Linear Layout Gambar 3.3 Contoh Tampilan Linear Layout 20

31 3.1.5 Percobaan 3 : Mengenal Basic Widget Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/btnsave" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="save" /> <Button android:id="@+id/btnopen" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="open" /> <ImageButton android:id="@+id/img1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/emo_im_happy"/> <EditText android:id="@+id/txtname" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <CheckBox android:id="@+id/chkautosave" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="autosave" /> <CheckBox android:id="@+id/star" style="?android:attr/starstyle" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RadioGroup android:id="@+id/rdgp1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <RadioButton android:id="@+id/rdb1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="option1"/> 21

32 <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="option2" /> </RadioGroup> <ToggleButton android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> Langkah 3: Buatlah Class MainActivity.java sebagai berikut : package com.ai.widget; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.checkbox; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.radiogroup.oncheckedchangelistener; import android.widget.toast; import android.widget.togglebutton; public class BasicWidgetActivity extends Activity public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); // Button view Button btnopen = (Button) findviewbyid(r.id.btnopen); btnopen.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { DisplayToast("You have click the Open button"); ); // Button view Button btnsave = (Button) findviewbyid(r.id.btnsave); btnsave.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { DisplayToast("You have click the Save Button"); ); // CheckBox CheckBox checkbox = (CheckBox)findViewById(R.id.chkAutoSave); 22

33 checkbox.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { if (((CheckBox)v).isChecked()) DisplayToast("Chekbox is checked"); else DisplayToast("Checkbox is unchecked"); ); // RadioButton RadioGroup radiogroup = (RadioGroup)findViewById(R.id.rdGp1); radiogroup.setoncheckedchangelistener(new OnCheckedChangeListener() public void oncheckedchanged(radiogroup group, int checkedid) { // TODO Auto generated method stub RadioButton rb1 = (RadioButton)findViewById(R.id.rdb1); if (rb1.ischecked()) { DisplayToast("Option 1 is checked"); else{ DisplayToast("Option 2 is checked"); ); // ToggleButton ToggleButton togglebutton = (ToggleButton) findviewbyid(r.id.toggle1); togglebutton.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { if (((ToggleButton)v).isChecked()) DisplayToast("Toggle button is On"); else DisplayToast("Toggle button is Off"); ); private void DisplayToast(String msg) { Toast.makeText(getBaseContext(), msg, Toast.LENGTH_SHORT).show(); Langkah 4 :Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P

34 Gambar 3.4 Contoh Tampilan Linear Layout Langkah 6 : Lakukan action pada masing-masing widget, maka akan muncul toast message seperti pada Gambar P

35 Gambar 3.5 Tampilan Berbagai Macam Toast Hasil Pemberian Event pada Beberapa Basic Widget 25

36 Praktikum 4 Selection Widget 4 Praktikum 4: Selection Widget 4.1 Tujuan 1. Memahami penggunaan dari Selection Widget 2. Mengetahui berbagai macam atribut pada Selection Widget 3. Memahami konsep data adapter dalam Selection Widget 4.2 Tugas Pendahuluan 1. Apakah yang dimaksud dengan Selection Widget Android 2. Sebutkan dan jelaskan beberapa macam selection Widget 3. Bagaimana konsep penggunaan data adapter dalam Selection Widget 4.3 Percobaan Percobaan 1: Menggunakan List View Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/selection" 26

37 android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff0000cc" android:textstyle="bold" /> <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" android:drawselectorontop="false" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="empty set" /> </LinearLayout> Langkah 3 : Pada SimpleList.java ketikkan kode berikut ini : package com.example.simplelist; import android.app.listactivity; import android.os.bundle; import android.view.view; import android.widget.arrayadapter; import android.widget.listview; import android.widget.textview; public class SimpleList extends ListActivity{ TextView selection; String[] items= { "this", "is", "a", "really", "really2", "really3","really4", "really5", "silly", "list"; //next time try an empty list such as: //String[] items = public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_simple_list); setlistadapter(new ArrayAdapter<String>( this, android.r.layout.simple_list_item_1, items)); 27

38 protected void onlistitemclick(listview l, View v, int position, long id) { super.onlistitemclick(l, v, position, id); String text = " position:"+ position + " "+ items[position];selection.settext(text); Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P4.1. Gambar 4.1. Contoh Tampilan List View Langkah 5: Kemudian coba klik opsi yang ada, maka akan muncul output seperti pada Gambar P4.2. Pada gambar tersebut tampak bahwa setelah klik opsi really dan muncul tulisan position: 3 really 28

39 Gambar 4.2. Contoh Tampilan List View setelah Klik Opsi Really Percobaan 2: Menggunakan Spin Control Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android=" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff0033cc" android:textsize="14pt" android:textstyle="bold"> </TextView> <Spinner android:layout_width="fill_parent" android:layout_height="wrap_content"> </Spinner> </LinearLayout> Langkah 3 : Pada Spin.java ketikkan kode berikut ini : 29

40 package com.spin; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.spinner; import android.widget.textview; public class Spin extends Activity implements AdapterView.OnItemSelectedListener{ TextView selection; String[] items= { "a", "an", "and", "andro", "android", "android1", "android2", "android3", public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); selection= (TextView) findviewbyid(r.id.selection); Spinner spin = (Spinner) findviewbyid(r.id.spinner); // set a clickable right push button comboboxto show items spin.setonitemselectedlistener(this); // provide a particular design for the drop down lines ArrayAdapter<String> aa= new ArrayAdapter<String>(this, android.r.layout.simple_spinner_item, items); // associate GUI spinner and adapter aa.setdropdownviewresource(android.r.layout.simple_spinner_dropdown _item); spin.setadapter(aa); // //////////////////////////////////////////////////////////////////// public void onitemselected(adapterview<?> parent, View v, int position, long id) { selection.settext(items[position]); public void onnothingselected(adapterview<?> parent) { selection.settext(""); Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P

41 Gambar 4.3 Contoh Tampilan Spin Control Langkah 6: Kemudian coba klik spin control, dan memilih salah satu opsi yang ada. Maka akan muncul output seperti pada Gambar P4.4. Gambar 4.4 Contoh Tampilan Spin Control setelah Klik Spin Control dan setelah Memilih Opsi Tertentu 31

42 4.3.3 Percobaan 3: Menggunakan Grid View Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff0033cc" android:textsize="14pt" android:textstyle="bold" /> <GridView android:background="#ff0000ff" android:layout_width="fill_parent" android:layout_height="fill_parent" android:verticalspacing="35px" android:horizontalspacing="5px" android:numcolumns="auto_fit" android:columnwidth="100px" android:stretchmode="columnwidth" android:gravity="center" /> </LinearLayout> Langkah 3 : Pada GridView1.java ketikkan kode berikut ini : package com.grid.vview; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.gridview; import android.widget.textview; public class GridView1 extends Activity implements AdapterView.OnItemClickListener{ TextView selection; 32

43 String[] items= { "this", "is", "a", "really", "really2", "really3","really4", "really5", "silly", public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); selection= (TextView) findviewbyid(r.id.selection); GridView gv= (GridView) findviewbyid(r.id.grid); ArrayAdapter<String> aa= new ArrayAdapter<String>( this, android.r.layout.simple_list_item_1, items); gv.setadapter(aa); gv.setonitemclicklistener(this); // oncreate public void onitemclick(adapterview<?> parent, View v, int position, long id) { selection.settext(items[position]); // class Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P4.5. Gambar 4.5 Contoh Tampilan Menggunakan Grid View 33

44 Langkah 6: Kemudian coba klik Grid View, dan memilih salah satu opsi yang ada. Maka akan muncul output seperti pada Gambar P4.6. Gambar 4.6 Contoh Tampilan Menggunakan Grid View setelah klik this Percobaan 4: Menggunakan AutoCompleteTextView Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <RelativeLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".mainactivity" android:background="#000000" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textsize="14pt" android:textstyle="bold" android:textcolor="#000000" android:background="#0000fftes" /> <AutoCompleteTextView android:layout_width="fill_parent" 34

45 android:layout_height="wrap_content" android:layout_alignparentleft="true" android:completionthreshold="3" android:ems="10" android:textcolor="#ff0000" > <requestfocus /> </AutoCompleteTextView> </RelativeLayout> Langkah 3 : Pada MainActivity.java ketikkan kode berikut ini : package com.example. autocompletetextview; import android.os.bundle; import android.app.activity; import android.view.menu; import android.text.editable; import android.text.textwatcher; import android.widget.arrayadapter; import android.widget.autocompletetextview; import android.widget.textview; public class MainActivity extends Activity implements TextWatcher{ TextView selection; AutoCompleteTextView edit; String[] items= { "lear", "learning", "a", "and", "andro", "android", "android1", "android2", public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); selection = (TextView) findviewbyid(r.id.select); edit = (AutoCompleteTextView)findViewById(R.id.edit); edit.addtextchangedlistener(this); edit.setadapter(new ArrayAdapter<String>(this, android.r.layout.simple_dropdown_item_1line, items)); public void ontextchanged(charsequence s, int start, int before, int count){ selection.settext(edit.gettext()); public void beforetextchanged(charsequence s, int start,int count, int after){ 35

46 //needed for interface but unused public void aftertextchanged(editable e){ //needed for interface but unused Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Ketikkan an pada edit text, selanjutnya akan akan muncul output seperti pada Gambar P4.7. Langkah 6 : Isikan edit text yang tersedia, misalnya, ketikkan and. Maka akan muncul AutoCompleteTextView seperti Gambar P4.8. Gambar 4.7. Contoh Tampilan Selection Widget 36

47 Gambar 4.8 Contoh Tampilan AutoCompleteTextView Percobaan 5: Menggunakan Customized List Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android=" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff0033cc" android:textsize="20px" android:textstyle="bold" android:textcolor="#ffffffff" > </TextView> 37

48 <ListView android:layout_width="fill_parent" android:layout_height="fill_parent" > </ListView> </LinearLayout> Langkah 3 : Tambahkan file gambar (delete.jpg dan ok.jpg) yang akan digunakan sebagai icon dalam list sebagaimana dapat dilihat pada Gambar P4.9. Gambar 4.9 Contoh Tampilan AutoCompleteTextView Langkah 4: Ketikan kode berikut pada my_row.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" 38

49 > <ImageView android:layout_width="22px" android:paddingleft="2px" android:paddingright="2px" android:paddingtop="2px" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textsize="40sp" /> </LinearLayout> Langkah 5: Pada CustomizedListAct.java ketikkan kode berikut ini : package com.cust.list2; import android.app.activity; import android.app.listactivity; import android.os.bundle; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.arrayadapter; import android.widget.imageview; import android.widget.listview; import android.widget.textview; public class CustomizedListAct extends ListActivity{ TextView selection; String[] items= { "lear", "learning", "a", "and", "andro", "android", "android1", "android2", public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); setlistadapter(new IconicAdapter(this)); selection= (TextView) findviewbyid(r.id.selection); long id) { public void onlistitemclick(listview parent, View v, int position, selection.settext(items[position]); 39

50 class IconicAdapter extends ArrayAdapter{ Activity context; IconicAdapter(Activity context) { super(context, R.layout.my_row, items); this.context= context; public View getview(int position, View convertview, ViewGroup parent) { LayoutInflater inflater= context.getlayoutinflater(); View row = inflater.inflate(r.layout.my_row, null); TextView label = (TextView) row.findviewbyid(r.id.label); ImageView icon = (ImageView) row.findviewbyid(r.id.icon); label.settext(items[position]); if(items[position].length() > 4) icon.setimageresource(r.drawable.delete); else icon.setimageresource(r.drawable.ok); return(row); //getview //IconicAdapter //AndDemoUI Langkah 6: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 7: Kemudian, akan muncul output seperti pada Gambar P4.10. Gambar 4.10 Contoh Tampilan Custumized List 40

51 4.3.6 Percobaan 6: Membuat Date and Time Selection Widget Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android=" > <DigitalClock android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="#ff0000ff" android:textsize="20px" android:layout_centerhorizontal="true" > </DigitalClock> <AnalogClock android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignparenttop="true" android:layout_alignparentleft="true" > </AnalogClock> </RelativeLayout> Langkah 3: Berikut ini merupakan kode pada Activity.java Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P

52 Gambar 4.11 Tampilan Date and Time Selection Widget Percobaan 7: Membuat Tabhost Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TabHost android:layout_width="fill_parent" android:layout_height="fill_parent"> <TabWidget android:layout_width="fill_parent" android:layout_height="wrap_content" /> <FrameLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingtop="62px"> 42

53 <AnalogClock android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center_horizontal" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android=" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" ></TextView> <TextView android:layout_width="200px" android:layout_height="wrap_content" android:background="#ff0000ff" android:text="person Name" android:textsize="20px" ></TextView> <EditText android:layout_width="2500px" android:layout_height="wrap_content" android:text="txtperson" android:textsize="18sp" ></EditText> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="go" > </Button> </LinearLayout> </FrameLayout> </TabHost> </LinearLayout> Langkah 3: Berikut ini merupankan kode pada Activity.java package com.ai.date; 43

54 import android.app.activity; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.tabhost; public class TabSelectionWidgetActivity extends Activity { /** Called when the activity is first created. public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); TabHost tabs= (TabHost)findViewById(R.id.tabhost); tabs.setup(); TabHost.TabSpec spec; spec = tabs.newtabspec("tag1"); spec.setcontent(r.id.tab1); spec.setindicator("1 Clock"); tabs.addtab(spec); spec = tabs.newtabspec("tag2"); spec.setcontent(r.id.tab2); spec.setindicator("2 Login"); tabs.addtab(spec); tabs.setcurrenttab(0); Button btngo=(button)findviewbyid(r.id.btngo); btngo.setonclicklistener(new OnClickListener() public void onclick(view v) { // TODO Auto generated method stub EditText txtperson = (EditText)findViewById(R.id.txtPerson); String theuser = txtperson.gettext().tostring(); txtperson.settext("hola " + theuser); ); Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P

55 Tabhost 1 Clock Tabhost 2 Login Form Gambar 4.12 Tampilan TabWidget 45

56 Praktikum 5 Option dan Context Menu 5 Praktikum 5: Option dan Context Menu 5.1 Tujuan Tujuan praktikum ini adalah sebagai berikut: 1. Memahami cara kerja Menu di Android. 2. Memahami perbedaan antara Option dan Context Menu. 3. Mengetahui cara membuat Option dan Context Menu 5.2 Tugas Pendahuluan 1. Apakah yang dimaksud dengan Option dan Context Menu di Android 2. Jelaskan dengan singkat cara membuat Option Menu 3. Jelaskan dengan singkat cara membuat Context Menu 5.3 Percobaan Percobaan 1: Menggunakan Option dan Context Menu Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikan kode berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <EditText 46

57 android:text="hello World" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="5dp" /> <EditText android:text="welcome" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="5dp" /> /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="press the MENU key or Long press text boxes" android:gravity="center_vertical" /> </LinearLayout> Langkah 3: Tambahkan statement berikut pada MenuActivity.java package com.example.menu; import android.app.activity; import android.os.bundle; import android.text.html; import android.text.spanned; import android.view.contextmenu; import android.view.contextmenu.contextmenuinfo; import android.view.menu; import android.view.menuitem; import android.view.view; import android.widget.edittext; import android.widget.textview; public class MenuActivity extends Activity { /** Called when the activity is first created. */ EditText edt1, edt2; Integer[] arraypointsize = {10, 20, 30, 40, public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); edt1 = (EditText)findViewById(R.id.edtMess1); edt2 = (EditText)findViewById(R.id.edtMess2); // you may register an individual context menu for each view registerforcontextmenu(edt1); 47

58 registerforcontextmenu(edt2); public boolean oncreateoptionmenu(menu menu){ // only one Option menu per activity populatemyfirstmenu(menu); return super.oncreateoptionsmenu(menu); // detect what view is calling and create its context public void oncreatecontextmenu(contextmenu menu, View v, ContextMenuInfo menuinfo) { super.oncreatecontextmenu(menu, v, menuinfo); // decide what context menu needs to be made if(v.getid() == edt1.getid()) // create a menu for etmessage1 box populatemyfirstmenu(menu); if(v.getid() == edt2.getid()){ // create a menu for etmessage2 box populatemysecondmenu(menu); private void populatemyfirstmenu(menu menu){ int groupid= 0; int order= 0; //arguments: groupid, optionid, order, title menu.add(groupid, 1, 1, "10 points"); menu.add(groupid, 2, 2, "20 points"); menu.add(groupid, 3, 3, "30 points"); menu.add(groupid, 4, 4, "40 points"); menu.add(groupid, 5, 5, "50 points"); menu.add(groupid, 6, 8, "Red text"); menu.add(groupid, 7, 7, "Green Text"); menu.add(groupid, 8, 6, "Blue text"); //populatemymenu private void populatemysecondmenu(menu menu){ int groupid= 0; int order= 0; //arguments: groupid, optionid, order, title menu.add(groupid, 9, 1, "Bold"); menu.add(groupid, 10, 2, "Italic"); menu.add(groupid, 11, 3, "Normal"); public boolean oncontextitemselected(menuitem item) { public boolean onoptionsitemselected(menuitem item) { 48

59 return(applymenuoption(item)); private boolean applymenuoption(menuitem item){ int menuitemid= item.getitemid(); // 1, 2, 3,...11 String strmsg2 = edt2.gettext().tostring(); if(menuitemid<= 5) { // first five option are for setting text size int newpointsize= arraypointsize[menuitemid 1]; edt1.settextsize(newpointsize); edt2.settextsize(newpointsize); else{ // either change color on text1 or style on text2 if(menuitemid== 6) edt1.settextcolor(0xffff0000); // red else if(menuitemid== 7) edt1.settextcolor(0xff00ff00); // green else if(menuitemid== 8) edt1.settextcolor(0xff0000ff); // blue else if(menuitemid== 9) edt2.settext(beautify(strmsg2, "BOLD")); //bold else if(menuitemid== 10) edt2.settext(beautify(strmsg2, "ITALIC")); //italic else if(menuitemid== 11) edt2.settext(beautify(strmsg2, "NORMAL")); //normal return false; //applymenuoption // changing text style using HTML formatting // Spanned is text to which you could add formatting features private Spanned beautify (String originaltext, String selectedstyle){ Spanned answer = null; if(selectedstyle.equals("bold")) answer = Html.fromHtml("<b>"+ originaltext+"</b"); else if(selectedstyle.equals("italic")) answer = Html.fromHtml("<i>"+ originaltext+"</i>"); else if(selectedstyle.equals("normal")) answer = Html.fromHtml("<normal>"+ originaltext+"</normal"); return answer; //beautify Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Kemudian, akan muncul output seperti pada Gambar P

60 Langkah 6: Lakukan click pada text box atau click [Menu] pada hardware keyboard, maka akan muncul output seperti pada Gambar P5.2. Gambar 5.1 Tampilan Option dan Context Menu Pada textbox Hello World Pada textbox Welcome Gambar 5.2 Contoh Tampilan Menu 50

61 5.3.2 Percobaan 2: Menggunakan Option dan Context Menu (lanjut) Langkah 1: Gunakan project Menu pada percobaan sebelumnya Langkah 2: Lakukan replace pada method populatemyfirstmenu() menjadi seperti berikut ini : private void populatemyfirstmenu(menu menu){ int groupid= 0; //arguments: groupid, optionid, order, title MenuItem item1 = menu.add(groupid, 1, 1, "10 points"); MenuItem item2 = menu.add(groupid, 2, 2, "20 points"); MenuItem item3 = menu.add(groupid, 3, 3, "30 points"); MenuItem item4 = menu.add(groupid, 4, 4, "40 points"); //MenuItem item5 = menu.add(groupid, 5, 5, "50 points"); MenuItem item6 = menu.add(groupid, 6, 8, "Red text"); MenuItem item7 = menu.add(groupid, 7, 7, "Green Text"); MenuItem item8 = menu.add(groupid, 8, 6, "Blue text"); item1.seticon(r.drawable.emo_im_angel); item2.seticon(r.drawable.emo_im_cool); item3.seticon(r.drawable.emo_im_crying); item4.seticon(r.drawable.emo_im_foot_in_mouth); // shortcuts using device s keyboard keypad // on a G1 open slide open the keyboard and // type letter u (same as pressing menu UNO) item1.setshortcut('1', '1'); item2.setshortcut('2', '2'); item3.setshortcut('3', '3'); item4.setshortcut('4', '4'); // adding a sub menu as fifth entry of this menu //.addsubmenu(intgroupid, intitemid, intorder, CharSequencetitle) int smgroupid= 0; // don't care, same as Menu.NONE int smitemid= 5; // fifth element int smorder= 5; // don't care, same as Menu.NONE SubMenu mysubmenu5 = menu.addsubmenu(smgroupid, smitemid, smorder, "Sub Menu CINCO"); mysubmenu5.setheadericon(r.drawable.btn_rating_star_on_pressed); mysubmenu5.seticon(r.drawable.btn_rating_star_on_normal); //.add(intgroupid, intitemid, intorder, CharSequencetitle) 1"); 2"); MenuItem sub51 = mysubmenu5.add(smgroupid,5,1,"sub Menu 5 MenuItem sub52 = mysubmenu5.add(smgroupid,5,2,"sub Menu 5 51

62 MenuItem sub53 = mysubmenu5.add(smgroupid,5,3,"sub Menu 5 3"); //populatemymenu Langkah 5: Kemudian, akan muncul output seperti pada Gambar P5.3. Gambar 5.3 Contoh Tampilan Awal Menu Langkah 6 : Click pada text box atau click [Menu] pada hardware keyboard, maka akan muncul output seperti pada Gambar P5.4. Gambar 5.4 Tampilan pilhan menu 52

63 Langkah 6 : Klik pada salah satu menu, misalnya pada [10 points], maka font dalam text box berubah ukurannya sesuai dengan menu, seperti pada Gambar P5.5. Gambar 5.5 Tampilan Setelah pilihan menu Langkah 7 : kemudian, terdapat Sub-Menu-Cinco, click, maka akan muncul output seperti pada Gambar P5.6. Gambar 5.6 Tampilan Submenu 53

64 Langkah 8 : jika di-click Blue Text, maka teks akan berubah warna menjadi biru seperti pada Gambar P5.7. Gambar 5.7 Tampilan setelah pilihan menu 54

65 Praktikum 6 WebKit 6 Praktikum 6: WebKit 6.1 Tujuan Tujuan pembelajaran bab ini adalah sebagai berikut: 1. Memahami cara membuat WebKit. 2. Mengetahui cara menggunakan navigasi WebKit 6.2 Tugas Pendahuluan 1. Apakah yang dimaksud dengan WebKit? 2. Bagaimana cara membuat aplikasi yang menggunakan WebKit? 3. Sebutkan dan jelaskan menu navigasi WebKit. 6.3 Percobaan Percobaan 1: Membuat Hello World dengan Webkit Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView xmlns:android=" android:id="@+id/webkit" android:layout_width="fill_parent" android:layout_height="fill_parent"

66 /> </LinearLayout> Langkah 3: Tambahkan statement berikut pada WebkitActivity.java package com.webkit; import android.app.activity; import android.os.bundle; import android.webkit.webview; public class WebkitBrowserActivity extends Activity { /** Called when the activity is first created. */ WebView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); browser=(webview)findviewbyid(r.id.webkit); browser.loaddata("<html><body>hello, world!</body></html>", "text/html", "UTF 8"); P6.1. Langkah 4 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Aplikasi akan menampilkan Hello World pada browser seperti Gambar Gambar 6.1 Tampilan Awal Browser 56

67 6.3.2 Percobaan 2: Menampilkan Data Waktu dengan Webkit Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout> Langkah 3: Tambahkan statement berikut pada MainActivity.java package com.webkit; import java.util.date; import android.app.activity; import android.os.bundle; import android.webkit.webview; import android.webkit.webviewclient; public class WebkitBrowser2Activity extends Activity { /** Called when the activity is first created. */ WebView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); browser=(webview)findviewbyid(r.id.webkit); browser.setwebviewclient(new Callback()); loadtime(); void loadtime() { String page="<html><body><a href=\"clock\">" +new Date().toString() +"</a></body></html>"; browser.loaddata(page, "text/html", "UTF 8"); 57

68 private class Callback extends WebViewClient { public boolean shouldoverrideurlloading(webview view, String url) { loadtime(); return(true); : Langkah 4: Pada AndroidManifest.xml tambahkan kode yang tercetak tebal berikut <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.ai.webkit" android:versioncode="1" android:versionname="1.0" > <uses permission android:name="android.permission.internet"/> <uses sdk android:minsdkversion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".webkitactivity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka webkit akan menampilkan output browser seperti Gambar P

69 Gambar 6.2 Tampilan Browser dengan waktu Percobaan 3: Melakukan Browsing Internet dengan Webkit Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView android:layout_width="fill_parent" android:layout_height="fill_parent"/> </LinearLayout> Langkah 3: Tambahkan statement berikut pada WebkitActivity.java package com.ai.webkit; import android.app.activity; import android.os.bundle; import android.webkit.webview; 59

70 public class WebkitActivity extends Activity { WebView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); browser=(webview)findviewbyid(r.id.webkit); browser.loadurl(" browser.getsettings().setjavascriptenabled(true); : Langkah 4: Pada AndroidManifest.xml tambahkan kode yang tercetak tebal berikut <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.ai.webkit" android:versioncode="1" android:versionname="1.0" > <uses permission android:name="android.permission.internet"/> <uses sdk android:minsdkversion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".webkitactivity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka webkit akan menampilkan browser seperti Gambar P

71 Gambar 6.3 Tampilan Browser 61

72 Praktikum 7 Intent 1: Implisit 7 Praktikun 7: Intent 1 - Implisit 7.1 Tujuan 1. Memahami cara untuk membuat Intent Implisit 2. Mengetahui berbagai macam Intent Implisit 3. Mengetahui cara membuat Intent Implisit 7.2 Tugas Pendahuluan 1. Apakah yang dimaksud dengan intent di Android? 2. Apakah yang dimaksud dengan implisit intent? 3. Sebutkan dan jelaskan macam implisit intent! 4. Bagaimana cara menggunakan implisit intent? 5. Apakah kegunaan method startactivity? 7.3 Percobaan Percobaan 1: Memantau Baterai dengan BroadcastReceiver Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <RelativeLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > 62

73 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparenttop="true" android:layout_centerhorizontal="true" android:gravity="center_horizontal" android:text="battery Information" android:textsize="30px" android:textstyle="bold" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:gravity="center_horizontal" android:text="available power :" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_margintop="23dp" android:padding="10dp" /> </RelativeLayout> Langkah 3 : Tambahkan statement berikut pada IntentBatteryActivity.java package com.ai.intent; import android.app.activity; import android.os.bundle; import android.content.broadcastreceiver; import android.content.context; import android.content.intent; import android.content.intentfilter; import android.widget.textview; public class IntentBatteryActivity extends Activity { private TextView txtbat; private BroadcastReceiver mbatinforec = new BroadcastReceiver() 63

74 public void onreceive(context context, Intent intent) { // TODO Auto generated method stub int level = intent.getintextra("level", 0); txtbat.settext(string.valueof(level)+ "%"); ; /** Called when the activity is first created. public void oncreate(bundle icicle) { super.oncreate(icicle); setcontentview(r.layout.main); txtbat = (TextView)this.findViewById(R.id.txtView); this.registerreceiver(this.mbatinforec, new IntentFilter (Intent.ACTION_BATTERY_CHANGED)); Langkah 4 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5 : Maka akan muncul tampilan layout seperti pada Gambar P7.1. Gambar 7.1 Tampilan informasi Battery 64

75 7.3.2 Percobaan 2: Membuat Intent Pemanggilan Telepon Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff0000cc" android:text="this is Activity1" android:textstyle="bold" android:textsize="20sp" /> <EditText android:layout_width="fill_parent" android:layout_height="54px" android:text="tel: " android:textsize="18sp" /> <Button android:layout_width="149px" android:layout_height="wrap_content" android:text="make Phone Call" android:textstyle="bold" /> </LinearLayout> Langkah 3: Tambahkan statement berikut pada Intent1Activity.java package com.example.intent; import android.app.activity; import android.os.bundle; import android.content.intent; import android.net.uri; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.*; 65

76 public class Intent1Activity extends Activity { /** Called when the activity is first created. */ TextView label1; EditText text1; Button public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); try{ setcontentview(r.layout.main); label1= (TextView)findViewById(R.id.label1); text1= (EditText)findViewById(R.id.text1); btncallactivity2= (Button)findViewById(R.id.btnCallActivity2); btncallactivity2.setonclicklistener(new ClickHandler()); catch(exception e) { Toast.makeText(getBaseContext(), e.getmessage(), Toast.LENGTH_LONG).show(); private class ClickHandler implements public void onclick(view v) { try{ // myactivity2 places a phone call // for ACTION_CALL or ACTION_DIAL // use 'tel:' formatted data: "tel: " // for ACTION_VIEW use data: " // (you also need INTERNET permission see Manifest) String mydata= text1.gettext().tostring(); Intent myactivity2 = new Intent(Intent.ACTION_DIAL, Uri.parse(myData)); startactivity(myactivity2); catch(exception e) { Toast.makeText(getBaseContext(), e.getmessage(), Toast.LENGTH_LONG).show(); //onclick //ClickHandler 66

77 Langkah 4: Pada AndroidManifest.xml perhatikan setiap baris kodenya sebagai berikut : <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.example.intent" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="8" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".intent1activity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android dan akan didapatkan output seperti pada Gambar P7.2. Gambar 7.2 Tampilan Panggilan Telpon 67

78 Langkah 6 : Click pada button [Make Phone Call], maka program akan melakukan panggilan telepon seperti pada Gambar P7.3. Gambar 7.3 Tampilan Phone Call Percobaan 3: Membuat Implisit Intent (lanjut) Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:text="pesan McDonald" android:id="@+id/btnmcdonald"> </Button> <Button android:layout_height="wrap_content" android:layout_width="match_parent" android:text="pesan KFC" android:id="@+id/btnkfc"> 68

79 </Button> <Button android:text="belajar Android" android:layout_height="wrap_content" android:layout_width="match_parent" </Button> <Button android:text="jadwal Puasa" android:layout_height="wrap_content" android:layout_width="match_parent"> </Button> <Button android:text="ambil Gambar" android:layout_height="wrap_content" android:layout_width="match_parent"> </Button> </LinearLayout> Langkah 3: Tambahkan statement berikut pada MainActivity.java package com.agusharyanto.net.implicit.intent; import android.app.activity; import android.content.intent; import android.net.uri; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.toast; public class BelajarImplicitIntentActivity extends Activity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Button btnmcdonald = (Button)findViewById(R.id.btnMcDonald); Button btnkfc = (Button)findViewById(R.id.btnKFC); Button btnbelajarandroid = (Button)findViewById(R.id.btnBelajarAndroid); Button btnjadwalpuasa = (Button)findViewById(R.id.btnJadwalPuasa); Button btnkamera = (Button)findViewById(R.id.btnKamera); btnmcdonald.setonclicklistener(new Button.OnClickListener(){ 69

80 public void onclick(view v){ // getrequest(txtresult,txturl); CallIntent(v); ); btnkfc.setonclicklistener(new Button.OnClickListener(){ public void onclick(view v){ // getrequest(txtresult,txturl); CallIntent(v); ); btnbelajarandroid.setonclicklistener(new Button.OnClickListener(){ public void onclick(view v){ // getrequest(txtresult,txturl); CallIntent(v); ); btnjadwalpuasa.setonclicklistener(new Button.OnClickListener(){ public void onclick(view v){ // getrequest(txtresult,txturl); CallIntent(v); ); btnkamera.setonclicklistener(new Button.OnClickListener(){ public void onclick(view v){ // getrequest(txtresult,txturl); CallIntent(v); ); public void CallIntent(View view) { Intent intent = null; switch (view.getid()) { case R.id.btnKFC: //akan melakukan Call ke nomor intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:14022")); startactivity(intent); break; case R.id.btnMcDonald: //akan melakukan Call ke nomor intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:14045")); startactivity(intent); break; 70

81 case R.id.btnBelajarAndroid: //akan memanggil browser dan menampilkan website intent = new Intent(Intent.ACTION_VIEW, Uri.parse(" startactivity(intent); break; case R.id.btnJadwalPuasa: //akan memanggil browser dan menampilkan website intent = new Intent(Intent.ACTION_VIEW, Uri.parse(" startactivity(intent); break; case R.id.btnKamera: //akan memanggil fungsi Camera android intent = new Intent("android.media.action.IMAGE_CAPTURE"); startactivityforresult(intent, 0); break; default: public void onactivityresult(int requestcode, int resultcode, Intent data) { if (resultcode == Activity.RESULT_OK && requestcode == 0) { String result = data.touri(); Toast.makeText(this, result, Toast.LENGTH_LONG); Langkah 4: Pada AndroidManifest.xml tambahkan kode yang dicetak tebal sebagai berikut: <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.agusharyanto.net.implicit.intent" android:versioncode="1" android:versionname="1.0"> <uses sdk android:minsdkversion="8" /> 71

82 <application <activity android:name=".belajarimplicitintentactivity" <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses permission android:name="android.permission.call_privileged"></usespermission> <uses permission android:name="android.permission.call_phone"></uses permission> <uses permission android:name="android.permission.internet"></uses permission> <uses permission android:name="android.permission.camera"></uses permission> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka akan tampil output sebagai berikut : Gambar 7.4 Tampilan pilihan 72

83 Langkah 7 : Lakukan percobaan button satu per satu sehingga dihasilkan output seperti pada Gambar P7.5. [Pesan McDonald] [Pesan KFC] [Belajar Android] [Jadwal Puasa] [Ambil Gambar] Gambar 7.5 Contoh Tampilan Setiap Pilihan 73

84 Praktikum 8 Intent 2: Eksplisit 8 Praktikum 8 : Intent 2 - Eksplisit 8.1 Tujuan 1. Memahami cara untuk membuat Intent Eksplisit. 2. Mengetahui cara membuat intent yang mengembalikan hasil. 3. Mampu membedakan antara pemanggilan intent tanpa mengembalikan hasil dan pemanggilan intent yang mengembalikan hasil. 4. Mengetahui cara menggunakan method startactivityforresult(). 8.2 Tugas Pendahuluan 1. Apakah yang dimaksud dengan intent eksplisit? 2. Bagaimana cara membuat intent eksplisit tanpa mengembalikan hasil? 3. Bagaimana cara membuat intent eksplisit dengan mengembalikan hasil? 4. Apakah kegunaan method startactivityforresult()? 8.3 Percobaan Percobaan 1: Membuat Intent Explisit dari Dua Buah Activity Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" 74

85 android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="this is main" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="go To Child"/> </LinearLayout> Langkah 3: Buatlah sebuah file XML baru, beri nama child.xml : <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/child_txtpage" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="this is Child"/> <Button android:id="@+id/child_btnpage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="back to main"/> </LinearLayout> Langkah 4 : Lengkapi statement berikut pada MainActivity.java package com.ai.intent; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.widget.button; public class MainActivity extends Activity { /** Called when the activity is first created. 75

86 public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Button go=(button)findviewbyid(r.id.main_btnpage); go.setonclicklistener(new View.OnClickListener() public void onclick(view v) { Intent i = new Intent(MainActivity.this,Child.class); i.putextra("pesan", "From Activity Main"); startactivity(i); ); Langkah 5 : Kemudian, buatlah sebuah activity lagi, misal beri nama Child.java, berikut adalah kodingnya : package com.ai.intent; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.textview; public class Child extends Activity { public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.child); TextView txtchild = (TextView)findViewById(R.id.child_txtPage); Button go = (Button)findViewById(R.id.child_btnPage); //menerima intent yg dikirim Intent i=this.getintent(); txtchild.settext("this is child " +i.getstringextra("pesan")); go.setonclicklistener(new View.OnClickListener() public void onclick(view v) { 76

87 finish(); ); Langkah 6 : Pada AndroidManifest.xml perhatikan setiap baris kodenya sebagai berikut : <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.ai.intent" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".mainactivity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> <activity android:name=".child" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.view" /> <category android:name="android.intent.category.default" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka akan muncul output awal seperti pada Gambar P

88 Gambar 8.1 Tampilan Main Activity Langkah 7 : Coba untuk klik pada button [Go To Child] yang akan meng-intent ke activity kedua, maka akan muncul output seperti pada Gambar P8.2. Gambar 8.2 Tampilan Child Activity 78

89 8.3.2 Percobaan 2: Membuat Contoh Aplikasi BMI (Body Mass Index) Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="cek BMI ANDA" android:textstyle="bold" android:textcolor="#ffcc0000" android:textsize="20px" android:layout_gravity="center_horizontal" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textsize="20px" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="masukkan berat badan(kg) :" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content"> </EditText> <TextView android:text="masukkan tinggi badan(m) :" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content"> </EditText> 79

90 <Button android:text="hitung" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> </LinearLayout> Langkah 3: Buatlah sebuah file XML baru, beri nama hasil.xml : <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/lblbolide" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hasil BMI ANDA" android:textstyle="bold" android:textcolor="#ff00cc" android:layout_gravity="center_horizontal" > </TextView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textsize="20px"> </TextView> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textsize="20px" android:background="#ff00cc" android:text="hasil :" android:textstyle="bold"> </TextView> <TextView android:id="@+id/hslangka" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> 80

91 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textsize="20px"> </TextView> <TextView android:background="#ff00cc" android:text="kategori" android:textstyle="bold" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> </LinearLayout> Langkah 4 : Lengkapi statement berikut pada class IntentBMIActivity: package com.ai.intent; import java.security.publickey; import android.app.activity; import android.content.intent; import android.graphics.typeface; import android.net.uri; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.textview; import android.view.view.onclicklistener; public class IntentBMIActivity extends Activity { EditText beratbadan; EditText tinggibadan; TextView hasil, angka; Button btnhitung; Float berat, tinggi, public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); 81

92 beratbadan=(edittext)findviewbyid(r.id.bb); tinggibadan=(edittext)findviewbyid(r.id.tb); btnhitung=(button)findviewbyid(r.id.hitung); btnhitung.setonclicklistener(new OnClickListener() { public void onclick(view v) { itung(beratbadan.gettext().tostring(), tinggibadan.gettext().tostring()); callintent(v); ); public void callintent (View v){ Intent i = new Intent(IntentBMIActivity.this,hitungBMI.class); i.putextra("hasil", hsl); startactivity(i); public void itung(string b, String t){ berat = Float.parseFloat(beratbadan.getText().toString()); tinggi = Float.parseFloat(tinggibadan.getText().toString()); hsl = berat/(tinggi*tinggi); Langkah 5 : Kemudian, buatlah sebuah activity lagi, untuk menampilkan hasil hitung activity pertama, berikut adalah kodingnya : package com.ai.intent; import android.widget.edittext; import android.widget.textview; import android.app.activity; import android.graphics.typeface; import android.os.bundle; import android.view.view; public class hitungbmi extends Activity { Float hsl; TextView hasil, angka, title2; public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.hasil); 82

93 TextView title2=(textview)findviewbyid(r.id.lblbolide); Typeface myfont2=typeface.createfromasset(getassets(),"fonts/polobrush.ttf"); title2.settypeface(myfont2); hasil=(textview)findviewbyid(r.id.hslkategori); angka=(textview)findviewbyid(r.id.hslangka); Bundle bundle = getintent().getextras(); //Intent i = this.getintent(); float hsl=bundle.getfloat("hasil"); if(hsl<18.5){ angka.settext(""+hsl); hasil.settext("underweight"); else if(hsl>=18.5 && hsl<24.99){ hasil.settext("normal"); angka.settext(""+hsl); else if(hsl>=25 && hsl<29.99){ hasil.settext("overweight"); angka.settext(""+hsl); else if(hsl>=30){ hasil.settext("obesitas"); angka.settext(""+hsl); Langkah 6 : Pada AndroidManifest.xml perhatikan setiap baris kodenya sebagai berikut : <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.ai.intent" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".intentbmiactivity" android:label="@string/app_name" > 83

94 <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> <activity android:label="hitungbmi" android:name=".hitungbmi"></activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka akan muncul output awal seperti pada Gambar 4.3. Gambar 8.3 Tampilan Awal BMI Langkah 7 : Isikan data-data pada text box, kemudian klik button [Hitung], maka akan menghubungkan ke activity kedua seperti pada Gambar P

95 Gambar 8.4 Tampilan Perhitungan BMI Percobaan 3: Membuat Contoh Kurs Dollar ke Rupiah Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <TableLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ff0000ff" android:stretchcolumns="*" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:textstyle="bold" android:textcolor="#6495ed" android:layout_margin="20dp" android:text="kurs DOLLAR" android:textsize="25dp" /> <TableRow> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" 85

96 android:padding="3dip" android:text="masukkan Dalam Dollar (USD)" /> <EditText android:gravity="right" android:padding="3dip" android:text="" /> </TableRow> <Button android:text="hitung" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TableRow> <TextView android:padding="3dip" android:text="hasil Dalam Rupiah (Rp)" /> <EditText android:gravity="right" android:padding="3dip" android:text="" /> </TableRow> </TableLayout> Langkah 3: Buatlah sebuah file XML baru, beri nama convert.xml : <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:text="perhitungan" android:id="@+id/textview02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textstyle="bold" android:textcolor="#6495ed" android:layout_margin="20dp" > </TextView> <TextView android:text="nominal Dalam USD :" 86

97 android:layout_width="wrap_content" android:layout_height="wrap_content" android:textcolor="#6495ed" > </TextView> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content"> </EditText> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="convert" /> </LinearLayout> Langkah 4 : Lengkapi statement berikut pada class KursDollarActivity: package com.kurs; import android.app.activity; import android.app.downloadmanager.request; import android.content.intent; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.toast; public class KursDollarActivity extends Activity { /** Called when the activity is first created. */ private static final int REQUEST_CODE = 1; { float hsl; Button btnhitung; EditText Edittext1; EditText public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); 87

98 Button btnhitung =(Button)findViewById(R.id.btnHitung); { // set OnClickListener event to btnhitung btnhitung.setonclicklistener(new View.OnClickListener() ); public void onclick(view v) { // TODO Auto generated method stub callintent(); public void callintent() { try{ Intent i = new Intent(KursDollarActivity.this, convertactivity.class); EditText Edittext1= (EditText)findViewById(R.id.Edittext1); String dataactivity_1 = Edittext1.getText().toString(); //untuk mengirim data guanakan put Extra 1).show(); i.putextra("value", dataactivity_1); startactivityforresult(i, REQUEST_CODE); catch(exception e){ Toast.makeText(getApplicationContext(), e+"", protected void onactivityresult(int requestcode, int resultcode, Intent data) { if (resultcode == RESULT_OK && requestcode == REQUEST_CODE){ Bundle b = data.getextras(); float hasil = b.getfloat("hasil"); EditText text2 = (EditText)findViewById(R.id.Edittext2); text2.settext(""+hasil); Langkah 5 : Kemudian, buatlah sebuah activity lagi, untuk menampilkan hasil hitung activity pertama, berikut adalah kodingnya : package com.kurs; 88

99 import android.app.activity; import android.app.downloadmanager.request; import android.content.intent; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.toast; public class convertactivity extends Activity { /** Called when the activity is first created. */ Bundle public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.convert); extras = getintent().getextras(); if (extras == null) { return; final String value1 = extras.getstring("value"); if (value1!= null) { EditText Edittext1 = (EditText) findviewbyid(r.id.usd); Edittext1.setText(value1); Button btnconvert = (Button) findviewbyid(r.id.convert); btnconvert.setonclicklistener(new View.OnClickListener() { public void onclick(view v) { // TODO Auto generated method stub hitung(value1); finish(); ); public void hitung(string a) { float ai = Float.parseFloat(a); float hsl = (ai * 10000); Intent i = new Intent(); extras.putfloat("hasil", hsl); i.putextras(extras); setresult(activity.result_ok, i); 89

100 Langkah 6 : Pada AndroidManifest.xml perhatikan setiap baris kodenya sebagai berikut : <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.kurs" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".kursdollaractivity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> <activity android:label="@string/app_name" android:name=".convertactivity"> <intent filter> <action android:name="com.kurs.hasil" /> <category android:name="android.intent.category.default" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka akan muncul output awal seperti pada Gambar P

101 Gambar 8.5 Tampilan Awal Konversi Mata Uang Langkah 7 : Isikan sebuah input pada text box, kemudian klik button [Hitung], maka akan menghubungkan ke activity kedua seperti pada Gambar P8.6. Gambar 8.6 Tampilan Perhitungan Konversi Mata Uang 91

102 P8.7. Langkah 7 : klik button [Convert], akan menampilkan hasil seperti pada Gambar Gambar 8.7 Tampilan Akhir Konversi Mata Uang Percobaan 4: Mengirimkan SMS dengan Intent Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/btnsend" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="send SMS" /> : </LinearLayout> Langkah 3 : Lengkapi statement berikut pada class java SMSSendingIntentActivity 92

103 package com.ai.sms; import android.r.string; import android.app.activity; import android.app.pendingintent; import android.content.broadcastreceiver; import android.content.context; import android.content.intent; import android.content.intentfilter; import android.os.bundle; import android.telephony.gsm.smsmanager; import android.view.view; import android.widget.button; import android.widget.toast; public class SMSSendingIntentActivity extends Activity { Button btnsendsms; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); btnsendsms =(Button)findViewById(R.id.btnSend); btnsendsms.setonclicklistener(new View.OnClickListener() public void onclick(view v) { //sendsms( 5556, Hello my friends! ); Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.putextra("address","5558; 5560"); i.putextra("sms_body", "Test sending sms intent"); i.settype("vnd.android dir/mms sms"); startactivity(i); ); private void sendsms(string phonenum,string message) { String SENT ="SMS_SENT"; String DELIVERED = "SMS_DELIVERED"; PendingIntent sentpi = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); PendingIntent delivpi = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); registerreceiver(new BroadcastReceiver() { arg1) public void onreceive(context arg0, Intent 93

104 switch (getresultcode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS SENT", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: Toast.makeText(getBaseContext(), "Generic Failure", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NO_SERVICE: Toast.makeText(getBaseContext(), "No Service", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NULL_PDU: Toast.makeText(getBaseContext(), "Null PDU", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_RADIO_OFF: Toast.makeText(getBaseContext(), "Radio Off", Toast.LENGTH_SHORT).show(); break; default: break;,new IntentFilter(SENT)); // when the SMS has been delivered registerreceiver(new public void onreceive(context arg0, Intent arg1) { switch (getresultcode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS Delivered", Toast.LENGTH_SHORT).show(); break; case Activity.RESULT_CANCELED: Toast.makeText(getBaseContext(), "SMS not Delivered", Toast.LENGTH_SHORT).show(); break;, new IntentFilter(DELIVERED)); SmsManager sms = SmsManager.getDefault(); sms.sendtextmessage(phonenum, null,message, sentpi,delivpi); 94

105 Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.ai.sms" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".smssendingintentactivity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses permission android:name="android.permission.send_sms"/> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Launch 2 buah emulator lagi dengan api yang sama. Langkah 7 : Maka akan muncul outputnya seperti Gambar P8.8., kemudian klik pada button [Send SMS], isikan sebuah teks : 95

106 Gambar 8.8 Tampilan Send SMS dengan Intent Langkah 8 : Kemudian, akan muncul notifikasi sms masuk pada emulator 5558 dan 5560 dengan tampilan seperti pada Gambar P8.9. Gambar 8.9 Tampilan Hasil Kirim SMS 96

107 Praktikum 9 Preference 9 Praktikum 9: Preference 9.1 Tujuan 1. Memahami cara menyimpan data sederhana dengan menggunakan Preference 9.2 Tugas Pendahuluan 1. Jelaskan apa saja Preference API yang dapat digunakan dan jelaskan pula perbedaan dari masing masing cara tersebut. 9.3 Percobaan Percobaan 1: Menyimpan data dengan SharedPreference Object Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement huruf tebal pada main.xml 97

108 Langkah 3: Tambahkan statement huruf tebal pada MainActivity.java 98

109 Langkah 4 : Ketikkan kode berikut ini pada class MainActivity.java 99

110 Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android 100

111 Langkah 5: Masukkan beberapa text pada EditText view ubah ukuran font dengan menggeser SeekBar view. Kemudian tekan tombol Save Gambar 9.1 Contoh Tampilan Langkah 6: Kembali ke eclipse dan Tekan F11 untuk mendebug aplikasi, lihat output apa yang ditampilkan Percobaan 2: Saving/Retrieving a SharedPreference Object holding UI user choices Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml 101

112 Langkah 3: Tambahkan statement berikut pada MainActivity.java 102

113 103

114 Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android 104

115 Langkah 5: Tekan tombol Pref Fancy UI untuk melihat perubahan dan tekan Pref Simple UI, lihat perubahan yang terjadi. Gambar 9.2 Simple UI Langkah 6: Matikan aplikasi dan jalankan kembali, maka tampilan akan memperlihatkan state terakhir tampilan yang dipilih Percobaan 3: Saving / Retrieving a SharedPreference Object containing business data Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml 105

116 Langkah 3: Tambahkan statement berikut pada MainActivity.java 106

117 107

118 Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Aplikasi akan muncul dan menampilkan text default yang disimpan di SharedPreference 108

119 Gambar 9.3 Default Text Langkah 5: Matikan Aplikasi dan jalankan kembali dan menampilkan text baru yang disimpan di SharedPreference Gambar 9.4 Text dari SharedPreference Langkah 6: Lihat data yang disimpan pada SharedPreference melalui File Expolere pada DDMS Eclipse 109

120 Gambar 9.5 DDMS File Explorer Langkah 7: Lihat data dengan menggunakan text editor atau browser 9.4 Laporan Resmi Gambar 9.6 Menggunakan Browser Untuk membaca file Buat laporan resmi tentang penjelasan mengenai percobaan diatas, yang berisi analisa, penjelasan dan program masing masing percobaan. 110

121 Praktikum 10 Files 10 Praktikum 10: Files 10.1 Tujuan 1. Memahami cara menyimpan data pada Internal dan Eksternal Storage 10.2 Tugas Pendahuluan 1. Baca materi mengenai storage pada Android Percobaan Percobaan 1: Penyimpanan data pada Internal Storage Langkah 1: Buat project Android baru pada Eclipse 111

122 Gambar 10.1 Project Baru Langkah 2: Tambahkan statement berikut pada main.xml 112

123 Langkah 3: Tambahkan statement huruf tebal pada MainActivity.java 113

124 114

125 Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 5: Masukkan beberapa text pada EditText view. Kemudian tekan tombol Save Gambar 10.2 Input Text View Langkah 6: Jika berhasil, akan muncul Toast berisi File saved successfully. Langkah 7: Tekan tombol Load, dan text yang disimpan akan muncul kembali di edittext. 115

126 Percobaan 2: Membaca Resource File Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Buat sebuah text pada notepad dan simpan dengan nama my_base_data.txt. Kemudian letakkan pada folder res project. Lihat Gambar dibawah. Gambar 10.3 File pada resource Langkah 3: Tambahkan statement pada MainActivity.java 116

127 Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android. Jika berhasil, akan muncul Toast yang berisi text seperti yang pada file. 117

128 Percobaan 3: Membaca atau menulis Internal File Contoh berikut merupakan aplikasi yang dapat mengambil data dari tampilan dan menyimpannya pada memori internal Android. Ketika aplikasi dijalankan kembali, maka data terakhir yang disimpan akan diambil kembali. Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml Langkah 3: Tambahkan statement berikut pada MainActivity.java 118

129 119

130 Langkah 4: Tekan F11 untuk mendebug aplikasi pada emulator Android. Kemudian isikan text pada EditText. Text akan disimpan saat aplikasi pause 120

131 Gambar 10.4 Hasil Teks Yang Disimpan Langkah 5: Kemudian periksa pada File explorer di DDMS Eclipse /data/data/app/files, akan muncul file. Gambar 10.5 DDMS file explorer Percobaan 4: Membaca atau menulis pada memori SD Card Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada AndroidManifest.xml 121

132 Langkah 3: Tambahkan statement berikut pada main.xml Langkah 4: Tambahkan statement berikut pada MainActivity.java 122

133 123

134 Langkah 5: Tekan F11 untuk mendebug aplikasi pada emulator Android. Kemudian isikan text pada EditText. 124

135 Gambar 10.6 Hasil Aplikasi Langkah 6: Kemudian berturut turut tekan tombol Write SD File untuk menyimpan, tombol Clear screen dan tombol Read SD File untuk membaca file yang disimpan tadi Laporan Resmi Buat laporan resmi tentang penjelasan mengenai percobaan diatas, yang berisi analisa, penjelasan dan program masing masing percobaan. 125

136 Praktikum 11 Databases 11 Praktikum 11: Databases 11.1 Tujuan 1. Memahami pengertian SQL Database 2. Memahami penggunaan SQL Database 11.2 Tugas Pendahuluan 1. Pelajari Dasar SQLite Percobaan Percobaan 1 : Membuat table dan insert field pada Android Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <RelativeLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/txtfinish" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:layout_centervertical="true" 126

137 /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="48dp" /> </RelativeLayout> Langkah 3 : Lengkapi statement berikut pada class java MainActivity package com.data; import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlexception; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class DBAdapter { public static final String KEY_ROWID = "_id"; public static final String KEY_ISEBN = "isbn"; public static final String KEY_TITLE = "title"; public static final String KEY_PUBLISHER ="publisher"; public static final String TAG = "DBAdapter"; private static final String DATABASE_NAME ="books"; private static final String DATABASE_TABLE ="titles"; private static final int DATABASE_VERSION = 1; private static final String DATABASE_CREATE = " create table titles (_id integer primary key autoincrement, "+ "isbn text not null, title text not null," + "publisher text not null);"; private final Context context; private DatabaseHelper DBHelper; private SQLiteDatabase db; 127

138 public DBAdapter(Context ctx) { this.context = ctx; DBHelper = new DatabaseHelper(context); private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context){ DATABASE_VERSION); super(context, DATABASE_NAME, null, public void oncreate(sqlitedatabase db){ db.execsql(database_create); public void onupgrade(sqlitedatabase db,int oldversion, int newversion){ Log.w(TAG, "Upgrading database from version" + oldversion + "to" + newversion +", which will destroy all old data"); db.execsql("drop table if exist titles"); oncreate(db); public DBAdapter open() throws SQLException { db = DBHelper.getWritableDatabase(); return this; public void close() { DBHelper.close(); public long inserttitle(string isbn, String title, String publisher){ ContentValues initialvalues = new ContentValues(); initialvalues.put(key_isebn, isbn); initialvalues.put(key_title, title); initialvalues.put(key_publisher, publisher); 128

139 return db.insert(database_table, null, initialvalues); public boolean delete(long rowid){ return db.delete(database_table, KEY_ROWID + "=" +rowid, null) >0; public Cursor getalltitles(){ return db.query(database_table, new String[]{ KEY_ROWID, KEY_ISEBN, KEY_TITLE, KEY_PUBLISHER, null, null,null, null, null); public Cursor gettitle(long rowid) throws SQLException{ String[]{ Cursor mcursor = db.query(true, DATABASE_TABLE, new KEY_ROWID, KEY_ISEBN, KEY_TITLE, KEY_PUBLISHER, KEY_ROWID + "="+ rowid, null, null,null, null, null); if (mcursor!= null){ mcursor.movetofirst(); return mcursor; public boolean updatetitle(long rowid, String isbn, String title, String publisher){ ContentValues args = new ContentValues(); args.put(key_isebn, isbn); args.put(key_title, title); args.put(key_publisher, publisher); return db.update(database_table, args, KEY_ROWID + "=" + rowid, null)>0; 129

140 Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.data" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".databasebukuactivity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka akan muncul outputnya 130

141 Gambar 11.1 Tampilan Awal Langkah 7 : Database akan langsung dibuat, buka SQLiteStudio browser : 131

142 Gambar 11.2 Tampilan SQLite Admin Percobaan 2 : Membuat database dengan SQLHelper Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/linearlayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textview01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="number " > 132

143 </TextView> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:phonenumber="true" > </EditText> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="name " > </TextView> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" > </EditText> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onclick="but_inclick" android:text="add" > </Button> <Button android:layout_width="wrap_content" 133

144 android:layout_height="wrap_content" android:onclick="but_editclick" android:text="edit" > </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onclick="but_delclick" android:text="delete" > </Button> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="data" > </TextView> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" > </ListView> </LinearLayout> Langkah 3 : Buatlah sebuah class xml lagi, beri nama view2.xml <?xml version="1.0" encoding="utf 8"?> <TableLayout xmlns:android=" android:id="@+id/tablelayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="myname" > </TextView> <TextView 134

145 android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="mynumber" > </TextView> </TableLayout> Langkah 4 : Lengkapi statement berikut pada class java MainActivity import android.app.activity; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.edittext; import android.widget.listadapter; import android.widget.listview; import android.widget.simplecursoradapter; import android.widget.adapterview.onitemclicklistener; public class usingsqlhelper extends Activity { mysqlhelper dbhelper; private EditText ed_num; private EditText ed_name; protected Cursor cursor; private int id= 1; protected ListAdapter adapter; protected ListView numberlist; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); this.ed_num = (EditText) this.findviewbyid(r.id.edittext_num); this.ed_name = (EditText) this.findviewbyid(r.id.edittext_name); this.numberlist = (ListView) this.findviewbyid(r.id.listview01); dbhelper = new mysqlhelper(this); numberlist.setselected(true); 135

146 numberlist.setonitemclicklistener(new OnItemClickListener() { public void onitemclick(adapterview<?> arg0, View arg1, int arg2, long arg3) { SQLiteDatabase db = dbhelper.getreadabledatabase(); cursor = db.rawquery("select * FROM data",null); cursor.movetoposition(arg2); ed_num.settext(cursor.getstring(1)); ed_name.settext(cursor.getstring(2)); id=cursor.getint(0); ); view(); private void adddata(string num,string name) { SQLiteDatabase db = dbhelper.getwritabledatabase(); try{ db.execsql("insert into "+ mysqlhelper.table +" values(null,'"+num+"','"+name+"')"); catch(exception e) { ed_num.settext(e.tostring()); public void but_inclick(view v) { adddata(ed_num.gettext().tostring(),ed_name.gettext().tostring()); view(); public void but_delclick(view v) { SQLiteDatabase db = dbhelper.getwritabledatabase(); try{ if(id!= 1) { db.execsql("delete from "+ mysqlhelper.table +" where number='" +ed_num.gettext().tostring()+ "'"); view(); 136

147 catch(exception e) { ed_num.settext(e.tostring()); public void but_editclick(view v) { SQLiteDatabase db = dbhelper.getwritabledatabase(); try{ if(id!= 1) { db.execsql("update data set number='"+ed_num.gettext().tostring()+"',name='"+ed_name.gettext().to String()+"' where _id="+id); view(); catch(exception e) { ed_num.settext(e.tostring()); private void view() { SQLiteDatabase db = dbhelper.getreadabledatabase(); try{ cursor = db.rawquery("select * FROM data",null); adapter = new SimpleCursorAdapter( this, R.layout.view2, cursor, new String[] {"number","name", new int[] {R.id.number,R.id.name); numberlist.setadapter(adapter); catch(exception e) { ed_num.settext(e.tostring()); 137

148 Langkah 5 : Kemudian, buatlah sebuah class java baru, beri nama mysqlhelper.java import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class mysqlhelper extends SQLiteOpenHelper{ private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; // Table name public static final String TABLE = "data"; // Columns public static final String number = "number"; public static final String name = "name"; public mysqlhelper(context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); // TODO Auto generated constructor public void oncreate(sqlitedatabase db) { String sql = "create table " + TABLE + "( _id" + " integer primary key autoincrement, " + number + " text not null, " + name + " text not null);"; Log.d("Data", "oncreate: " + sql); public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // TODO Auto generated method stub Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: 138

149 <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.data" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="10" /> <application > <activity android:name=".databasebukuactivity" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> </manifest> Langkah 6 :Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 7 : Maka akan muncul outputnya 139

150 Gambar 11.3 Tampilan Hasil Percobaan 3 : Membuat database dengan ContentService Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:id="@+id/linearlayout02" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textview01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="number " > </TextView> <EditText android:id="@+id/edittext_num" android:layout_width="wrap_content" android:layout_height="wrap_content" android:phonenumber="true" > </EditText> </LinearLayout> <LinearLayout android:id="@+id/linearlayout03" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/textview02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="name " > </TextView> 140

151 <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" > </EditText> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onclick="but_inclick" android:text="add" > </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onclick="but_editclick" android:text="edit" > </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onclick="but_delclick" android:text="delete" > </Button> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="data" > </TextView> 141

152 <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" > </ListView> </LinearLayout> Langkah 3 : Buatlah sebuah class xml lagi, beri nama view2.xml <?xml version="1.0" encoding="utf 8"?> <TableLayout xmlns:android=" android:id="@+id/tablelayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="myname" > </TextView> <TextView android:id="@+id/number" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="mynumber" > </TextView> </TableLayout> Langkah 4 : Lengkapi statement berikut pada class java MainActivity import android.app.activity; import android.content.contentvalues; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.edittext; import android.widget.listadapter; import android.widget.listview; import android.widget.simplecursoradapter; 142

153 import android.widget.adapterview.onitemclicklistener; public class usingcontentvalues extends Activity { mysqlhelper dbhelper; private EditText ed_num; private EditText ed_name; private int id= 1; protected Cursor cursor; protected ListAdapter adapter; protected ListView numberlist; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); this.ed_num = (EditText) this.findviewbyid(r.id.edittext_num); this.ed_name = (EditText) this.findviewbyid(r.id.edittext_name); this.numberlist = (ListView) this.findviewbyid(r.id.listview01); numberlist.setselected(true); numberlist.setonitemclicklistener(new OnItemClickListener() { public void onitemclick(adapterview<?> arg0, View arg1, int arg2, long arg3) { SQLiteDatabase db = dbhelper.getreadabledatabase(); cursor = db.rawquery("select * FROM data",null); cursor.movetoposition(arg2); ed_num.settext(cursor.getstring(1)); ed_name.settext(cursor.getstring(2)); id=cursor.getint(0); ); dbhelper = new mysqlhelper(this); view(); private long adddata(string num,string name) { SQLiteDatabase db = dbhelper.getwritabledatabase(); try{ ContentValues newvalues = new ContentValues(); newvalues.put("number", num); 143

154 newvalues.put("name", name); db.insert(dbhelper.table, null, newvalues); catch(exception e) { ed_num.settext(e.tostring()); return 0; public void but_inclick(view v) { adddata(ed_num.gettext().tostring(),ed_name.gettext().tostring()); view(); public void but_delclick(view v) { SQLiteDatabase db = dbhelper.getwritabledatabase(); try{ if(id!= 1) { db.delete(dbhelper.table, "_id="+id, null); view(); catch(exception e) { ed_num.settext(e.tostring()); public void but_editclick(view v) { SQLiteDatabase db = dbhelper.getwritabledatabase(); try{ if(id!= 1) { ContentValues updateval = new ContentValues(); updateval.put("number", ed_num.gettext().tostring()); updateval.put("name", ed_name.gettext().tostring()); db.update("data", updateval, "_id="+id,null); view(); 144

155 catch(exception e) { ed_num.settext(e.tostring()); private void view() { SQLiteDatabase db = dbhelper.getreadabledatabase(); try{ cursor = db.rawquery("select * FROM data",null); adapter = new SimpleCursorAdapter( this, R.layout.view2, cursor, new String[] {"number","name", new int[] {R.id.number,R.id.name); numberlist.setadapter(adapter); catch(exception e) { ed_num.settext(e.tostring()); Langkah 5 : Kemudian, buatlah sebuah class java baru, beri nama mysqlhelper.java import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class mysqlhelper extends SQLiteOpenHelper{ private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; // Table name public static final String TABLE = "data"; // Columns public static final String number = "number"; public static final String name = "name"; 145

156 public mysqlhelper(context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); // TODO Auto generated constructor public void oncreate(sqlitedatabase db) { String sql = "create table " + TABLE + "( _id" + " integer primary key autoincrement, " + number + " text not null, " + name + " text not null);"; Log.d("Data", "oncreate: " + sql); public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // TODO Auto generated method stub Langkah 6 :lakukan editing pada AndroidManifest.xml <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.stef.usingcontentvalues" android:versioncode="1" android:versionname="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".usingcontentvalues" android:label="@string/app_name"> <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses sdk android:minsdkversion="7" /> </manifest> Tekan F11 untuk mendebug aplikasi pada emulator Android 146

157 Langkah 7 : Maka akan muncul outputnya Gambar 11.4 Tampilan Hasil Percobaan 4 : Membuat database dengan Book Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/mytext" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <LinearLayout android:id="@+id/linearlayout01" 147

158 android:layout_width="wrap_content" android:layout_height="wrap_content" > <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" > </EditText> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onclick="but_searchclick" android:text="search" > </Button> </LinearLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="jumlah :" > </TextView> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" > </ListView> </LinearLayout> Langkah 3 : Lengkapi statement berikut pada class java MainActivity import android.app.activity; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.os.bundle; import android.view.view; import android.widget.edittext; import android.widget.button; import android.widget.listadapter; import android.widget.listview; import android.widget.simplecursoradapter; import android.widget.textview; 148

159 public class Book extends Activity { mysqlhelper dbhelper; private TextView Jumlah; private EditText ed_search; private TextView mytext; private Button but_search; protected Cursor cursor; protected ListAdapter adapter; protected ListView List; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); dbhelper = new mysqlhelper(this); mytext=(textview) findviewbyid(r.id.mytext); but_search=(button) findviewbyid(r.id.but_search); ed_search=(edittext) findviewbyid(r.id.ed_search); List=(ListView) findviewbyid(r.id.listview01); Jumlah=(TextView) findviewbyid(r.id.text_jumlah); public void but_searchclick(view v) { try{ SQLiteDatabase db = dbhelper.getreadabledatabase(); cursor = db.rawquery("select _id,title,type FROM book where title LIKE '%" +ed_search.gettext().tostring()+"%'",null); adapter = new SimpleCursorAdapter( this, android.r.layout.simple_list_item_2, cursor, new String[] {"title","type", new int[] {android.r.id.text1,android.r.id.text2); List.setAdapter(adapter); cursor = db.rawquery("select count(type) from book where title LIKE '%" +ed_search.gettext().tostring()+"%'",null); 149

160 { cursor.movetofirst(); Jumlah.setText("Jumlah : "+cursor.getint(0)); catch(exception e) mytext.settext(e.tostring()); Langkah 4 : Buatlah sebuah activity lagi, beri nama MySqlHelper.java package com.stef.book; import android.content.contentvalues; import android.content.context; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class mysqlhelper extends SQLiteOpenHelper{ private static final String DATABASE_NAME = "database.db"; private static final int DATABASE_VERSION = 1; // Table name public static final String TABLE = "book"; // Columns public static final String title = "title"; public static final String type = "type"; public mysqlhelper(context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); // TODO Auto generated constructor public void oncreate(sqlitedatabase db) { String sql = "create table " + TABLE + "( _id" + " integer primary key autoincrement, " + title + " text not null, " + type + " text not null);"; Log.d("Data", "oncreate: " + sql); db.execsql(sql); ContentValues newvalues = new ContentValues(); 150

161 newvalues.put("title", "Mengenal android"); newvalues.put("type", "technology"); db.insert(table, null, newvalues); newvalues = new ContentValues(); newvalues.put("title", "Memasak dengan mudah"); newvalues.put("type", "hoby"); db.insert(table, null, newvalues); newvalues = new ContentValues(); newvalues.put("title", "cerita anak sma"); newvalues.put("type", "fiction"); db.insert(table, null, newvalues); newvalues = new ContentValues(); newvalues.put("title", "Memancing di danau"); newvalues.put("type", "hoby"); db.insert(table, null, newvalues); newvalues = new ContentValues(); newvalues.put("title", "cinta membawa hati"); newvalues.put("type", "fiction"); db.insert(table, null, newvalues); newvalues = new ContentValues(); newvalues.put("title", "belajar menari dengan kaset"); newvalues.put("type", "hoby"); db.insert(table, null, public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { // TODO Auto generated method stub db.execsql("drop TABLE IF EXISTS " + TABLE); // Create a new one. oncreate(db); Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> 151

162 <manifest xmlns:android=" package="com.stef.book" android:versioncode="1" android:versionname="1.0"> <application <activity android:name=".book" <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses sdk android:minsdkversion="7" /> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka akan muncul outputnya Gambar 11.5 Tampilan Hasil 152

163 11.4 Laporan Resmi Buat laporan resmi tentang penjelasan mengenai percobaan diatas, yang berisi analisa, penjelasan dan program masing masing percobaan. 153

164 Praktikum 12 Internet Feeders 12 Praktikum 12: Internet Feeders 12.1 Tujuan 1. Memahami cara untuk membuat Internet Feeder 12.2 Tugas Pendahuluan 1. Pelajari Materi mengenai Internet Feeders 12.3 Percobaan a. Percobaan 1: Menampilkan RSS Feed NPR Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:background="#ff000033" xmlns:android=" > <ImageView android:layout_width="70px" android:layout_height="30px" android:layout_x="2px" android:layout_y="2px" > </ImageView> 154

165 <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout> Langkah 3 : Buat sebuah class XML baru, beri nama my_simple_list_items.xml <?xml version="1.0" encoding="utf 8"?> <TextView xmlns:android=" android:id="@android:id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:paddingleft="10dip" android:textsize="18sp" android:minheight="40sp" /> Langkah 4 : Lengkapi statement berikut pada class Main Activity package matos.internet; import java.text.dateformatsymbols; import java.util.calendar; import java.util.locale; import android.app.activity; import android.content.context; import android.content.intent; import android.os.bundle; import android.telephony.gsm.smsmanager; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.listview; import android.widget.adapterview.onitemclicklistener; public class AndroNPR extends Activity { ArrayAdapter<String> aa; ListView mylistview; Context context; SingleNewsItem selectednewsitem; String [] myurladdress= { " " 155

166 " " " " " ; String [] myurlcaption= { "News Detik", "Video", "Era Muslim", "Dunia Muslim", "TEchno Zone", "Liputan 6", ; String [] myurladdress2= new String[myUrlAddress.length]; String [] myurlcaption2 = new protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); context= getapplicationcontext(); this.settitle("npr Headline News v0.0 "+ nicedate() ); mylistview= (ListView)this.findViewById(R.id.myListView); mylistview.setonitemclicklistener(new OnItemClickListener() { public void onitemclick(adapterview<?> _av, View _v, myurladdress[_index]; myurlcaption[_index]; Activity2 Intent( NprNewsDetails.class); int _index, long _id) { String String urladdress= urlcaption= //create an Intent to talk to Intent NprNewsDetailsIntent= new AndroNPR.this, urladdress); urlcaption); Bundle mydata= new Bundle(); mydata.putstring("urladdress", mydata.putstring("urlcaption", 156

167 NprNewsDetailsIntent.putExtras(myData); startactivity(nprnewsdetailsintent); ); thelistview category myurlcaption); //bind main category list (Top News,...) to the //show list and get ready for user to click on a int layoutid= R.layout.my_simple_list_item_1; aa= new ArrayAdapter<String>(this, layoutid, mylistview.setadapter(aa); //oncreate public static String nicedate() { DateFormatSymbols dfs= new DateFormatSymbols(); // to get short weekday month_namestring arrays String shortweekdaysarray[] = dfs.getshortweekdays(); String shortmontharray[] = dfs.getshortmonths(); Calendar cal = Calendar.getInstance(Locale.US); int dd= cal.get(calendar.day_of_month); int mm = cal.get(calendar.month); String mmtext= shortmontharray[mm]; int yy= cal.get(calendar.year); int wd = cal.get(calendar.day_of_week); String wdtext= shortweekdaysarray[wd]; return( wdtext+ " "+ mmtext+ " "+ dd+ ", "+ yy); // nicedate // AndroNPR Langkah 5 : Buatlah sebuah class Activity Java, beri nama NprNewsDetails : package matos.internet; import java.io.ioexception; import java.io.inputstream; import java.net.httpurlconnection; import java.net.malformedurlexception; import java.net.url; import java.net.urlconnection; import java.util.arraylist; import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory; import javax.xml.parsers.parserconfigurationexception; import org.w3c.dom.domexception; import org.w3c.dom.document; import org.w3c.dom.element; 157

168 import org.w3c.dom.nodelist; import org.xml.sax.saxexception; import android.app.activity; import android.app.alertdialog; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.content.dialoginterface.onclicklistener; import android.net.uri; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.listview; import android.widget.toast; import android.widget.adapterview.onitemclicklistener; public class NprNewsDetails extends Activity { //a main category subject has already been selected by the user //(data <"urlcaption", "urladdress"> comes in a bundle sent // by main, access web feed and show corresponding headlines ArrayList<SingleNewsItem> newslist= new ArrayList<SingleNewsItem>(); ArrayAdapter<String> aa; ListView mylistview; String urladdress= ""; String urlcaption= ""; SingleNewsItem selectednewsitem; Context context= public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); mylistview= (ListView)this.findViewById(R.id.myListView); //create a local Intent handler (needed to process input parameters) Intent mylocalintent= getintent(); //grab the data bundle with all the pieces sent to us //it contains 1. url address and 2. caption text Bundle mybundle= mylocalintent.getextras(); urladdress= mybundle.getstring("urladdress"); urlcaption= mybundle.getstring("urlcaption"); //top caption for this screen String todaystr= AndroNPR.niceDate(); this.settitle("npr "+ urlcaption+ " \t"+ todaystr); //clicking a line shows more about selected news item { mylistview= (ListView)this.findViewById(R.id.myListView); mylistview.setonitemclicklistener(new OnItemClickListener() public void onitemclick(adapterview<?> _av, View _v, 158

169 int _index, long _id) { selectednewsitem= newslist.get(_index); shownicedialogbox(selectednewsitem, context); ); protected void onresume() { super.onresume(); try{ URL url= new URL(urlAddress); URLConnection connection; connection = url.openconnection(); HttpURLConnection httpconnection= (HttpURLConnection) connection; int responsecode= httpconnection.getresponsecode(); if(responsecode== HttpURLConnection.HTTP_OK) { InputStream in = httpconnection.getinputstream(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newdocumentbuilder(); Document dom= db.parse(in); Element docele= dom.getdocumentelement(); // NodeListnl= docele.getelementsbytagname("entry"); NodeList nl= docele.getelementsbytagname("item"); if((nl!= null) && (nl.getlength() > 0)) { for(int i= 0; i< nl.getlength(); i++) { dissectnode(nl, i); // for // if // if int layoutid= R.layout.my_simple_list_item_1; ArrayAdapter<SingleNewsItem> aanews= new ArrayAdapter<SingleNewsItem>(this, layoutid, newslist); mylistview.setadapter(aanews); catch(malformedurlexception e) { e.printstacktrace(); catch(ioexception e) { e.printstacktrace(); Toast.makeText(context, "Trouble!!!", 1).show(); catch(parserconfigurationexception e) { e.printstacktrace(); catch(saxexception e) { e.printstacktrace(); // onresume public void dissectnode(nodelist nl, int i){ try{ Element entry = (Element) nl.item(i); Element title = (Element) entry.getelementsbytagname( 159

170 "title").item(0); Element description = (Element) entry.getelementsbytagname( "description").item(0); Element pubdate= (Element) entry.getelementsbytagname( "pubdate").item(0); Element link = (Element) entry.getelementsbytagname( "link").item(0); String titlevalue= title.getfirstchild().getnodevalue(); String descriptionvalue=description.getfirstchild().getnodevalue(); String datevalue= pubdate.getfirstchild().getnodevalue(); String linkvalue= link.getfirstchild().getnodevalue(); SingleNewsItem singleitem= new SingleNewsItem( datevalue,titlevalue,descriptionvalue, linkvalue); newslist.add(singleitem); catch(domexception e) { e.printstacktrace(); //dissectnode public void shownicedialogbox(singlenewsitem selectednewsitem, Context context){ //assemble a nice looking dialog box try{ final Uri mylink= Uri.parse(selectedNewsItem.getLink()); AlertDialog.Builder mybuilder= new AlertDialog.Builder(this); mybuilder.seticon(r.drawable.ic_launcher).settitle(urlcaption).setmessage( selectednewsitem.gettitle() + "\n\n" + selectednewsitem.getdescription() + "\n").setpositivebutton("close", null).setnegativebutton("more", new OnClickListener() { public void onclick(dialoginterface dialog, int whichone) { // use native web browsing Intent webintent= new Intent( Intent.ACTION_VIEW, mylink); startactivity(webintent); )//setnegativebutton.show(); catch(exception e) { e.printstacktrace(); //shownicedialogbox //NprNewsDetails 160

171 Langkah 6 : Buatlah sebuah activity lagi, beri nama SingleNewsItems.java package matos.internet; import android.app.activity; import android.os.bundle; public class SingleNewsItem{ private String pubdate; private String title; private String description; private String link; public String getpubdate() { return pubdate; public String gettitle() { return title; public String getdescription(){ return description; public String getlink() { return link; public SingleNewsItem( String _pubdate, String _title, String _description, String _link) { pubdate= _pubdate; description= _description; title= _title; link= public String tostring() { return title; Langkah 7 : Pada AndroidManifest.xml perhatikan setiap baris kodenya sebagai berikut : <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="matos.internet" android:versioncode="1" android:versionname="1.0.0"> <application android:icon="@drawable/star" android:label="@string/app_name"> <activity android:name=".andronpr" android:label="@string/app_name"> <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> 161

172 </activity> <activity android:name=".nprnewsdetails" > </activity> </application> <uses permission android:name="android.permission.internet"/> <uses sdk android:minsdkversion="8" /> <uses permission android:name="android.permission.send_sms" > </uses permission> </manifest> Langkah 8 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 9 : Maka akan muncul output awal sebagai berikut : Gambar 12.1 Tampilan Awal Lakukan klk pada salah satu menu, misal [News Detik], maka outputnya : 162

173 12.4 Laporan Resmi Gambar 12.2 Tampilan Ketika Dipilih Salah Satu Berita Buat laporan resmi tentang penjelasan mengenai percobaan diatas, yang berisi analisa, penjelasan dan program masing masing percobaan. 163

174 Praktikum 13 Intent Filter 13 Praktikum 13: Intent Filter 13.1 Tujuan 1. Memahami cara penggunaan intent filter 13.2 Tugas Pendahuluan 1. Pelajari penggunaan intent filter pada Android 13.3 Percobaan Percobaan 1: Dial Number dengan Intent Filter Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikkan statement berikut pada class main.xml <LinearLayout xmlns:android=" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="enter the phone number" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputtype="phone" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="dial" /> </LinearLayout> 164

175 Langkah 3 : Lengkapi statement berikut pada class java MainActivity package project.buku.intentfilter.filter1; import android.net.uri; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.edittext; import android.app.activity; import android.content.intent; public class MainActivity extends Activity protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Button btndial = (Button)findViewById(R.id.btnDial); final EditText txtnumber = (EditText)findViewById(R.id.txtNumber); btndial.setonclicklistener(new OnClickListener() public void onclick(view v) { // TODO Auto generated method stub Intent dialintent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+(txtNumber.getText().toString()))); startactivity(dialintent); ); Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="project.buku.intentfilter.filter1" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="8" android:targetsdkversion="10" /> 165

176 <application android:allowbackup="true" > <activity android:name=".mainactivity" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> <intent filter> <action android:name="android.intent.action.dial" /> <category android:name="android.intent.category.default" /> <data android:scheme="tel" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Gambar 13.1 Tampilan Awal Langkah 6 : Maka akan muncul outputnya, kemudian klik pada button [Send SMS], isikan sebuah teks : 166

177 Langkah 7 : Isi sebuah nomor pada textbox, kemudian, klik pada button [Dial], maka akan muncul output berikut beserta beberapa action : Gambar 13.2 Tampilan ketika aksi telpon dial Percobaan 2 : Dial Number dengan Intent Filter Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Ketikkan statement berikut pada class main.xml <RelativeLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Spinner android:id="@+id/spinner_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_centervertical="true" /> <EditText android:id="@+id/edittext1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@+id/spinner_1" android:layout_alignparentleft="true" 167

178 android:ems="10" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:layout_margintop="41dp" android:text="pindah halaman sesuai pilihan" /> </RelativeLayout> Langkah 3 : Lengkapi statement berikut pada class java MainActivity package project.buku.intentfilter.filter2; import android.net.uri; import android.os.bundle; import android.view.view; import android.view.view.onclicklistener; import android.widget.adapterview; import android.widget.adapterview.onitemselectedlistener; import android.widget.arrayadapter; import android.widget.button; import android.widget.edittext; import android.widget.spinner; import android.app.activity; import android.app.searchmanager; import android.content.intent; public class MainActivity extends Activity { String teks = ""; int pilihan = 0; Intent intent; String[] items = {"Telepon", "SMS", "Search di protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final EditText param = (EditText)findViewById(R.id.editText1); Spinner spin = (Spinner)findViewById(R.id.spinner_1); Button btngo = (Button)findViewById(R.id.btnGO); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.r.layout.simple_spinner_item, items); 168

179 adapter.setdropdownviewresource(android.r.layout.simple_spinner_drop down_item); spin.setadapter(adapter); spin.setonitemselectedlistener(new OnItemSelectedListener() public void onitemselected(adapterview<?> parent, View v, int position, long id) { // TODO Auto generated method stub pilihan = public void onnothingselected(adapterview<?> arg0) { // TODO Auto generated method stub param.settext(""); teks = ""; pilihan = 0; ); btngo.setonclicklistener(new OnClickListener() public void onclick(view v) { // TODO Auto generated method stub teks = param.gettext().tostring(); if(pilihan == 0) intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+teks)); else if(pilihan == 1) intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("sms:"+teks)); else if(pilihan == 2){ intent = new Intent(Intent.ACTION_WEB_SEARCH); intent.putextra(searchmanager.query, teks); startactivity(intent); ); Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: 169

180 <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="project.buku.intentfilter.filter2" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="8" android:targetsdkversion="10" /> <application android:allowbackup="true" > <activity android:name=".mainactivity" > <intent filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent filter> <intent filter> <action android:name="android.intent.action.dial" /> <category android:name="android.intent.category.default" /> <data android:scheme="tel" /> </intent filter> <intent filter> <action android:name="android.intent.action.sendto" /> <category android:name="android.intent.category.default" /> <data android:scheme="sms" /> </intent filter> <intent filter> <action android:name="android.intent.action.web_search" /> <category android:name="android.intent.category.default" /> </intent filter> </activity> </application> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android 170

181 Langkah 6 : Maka akan muncul outputnya Gambar 13.3 Tampilan No Dial Langkah 7 : Isi sebuah nomor pada textbox, kemudian, klik pada button [Pindah Halaman Sesuai Pilihan], maka akan muncul output berikut : Gambar 13.4 Tampilan ketika mendial telpon 171

182 Jika dipilih [Telepon], outputnya : Jika dipilih button [SMS], outputnya : Gambar 13.5 Telpon dial dilakukan Gambar 13.6 Tampilan jika SMS dipilih Jika dipilih [Search di Google], outputnya : 172

183 13.4 Laporan Resmi Gambar 13.7 Tampilan browser pencarian Buat laporan resmi tentang penjelasan mengenai percobaan diatas, yang berisi analisa, penjelasan dan program masing masing percobaan. 173

184 Workshop 14 Location Service 14 Praktikum 14: Location Service 14.1 Tujuan 1. Memahami Penggunaan Location Service 14.2 Tugas Pendahuluan 1. Pelajari materi tentang Location Based Service 14.3 Percobaan Percobaan 1 : Menampilkan StreetView Langkah 1: Buat Android Project baru Langkah 2: Tambahkan statement berikut pada main.xml <LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" > <com.google.android.maps.mapview android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apikey="0tgmw99tmmg_gpln8lwc5hf4nhahnq6 NzzTUsg" /> </LinearLayout> Langkah 3 : Kemudian, ketikkan statement berikut pada MainActivity.java package buku.project.location1; import com.google.android.maps.geopoint; import com.google.android.maps.mapactivity; import com.google.android.maps.mapcontroller; import com.google.android.maps.mapview; import android.os.bundle; 174

185 import android.view.keyevent; public class MainActivity extends MapActivity { private MapController mapcontroller; private MapView mmapview; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mmapview = (MapView) findviewbyid(r.id.mapview); mapcontroller=mmapview.getcontroller(); //lokasi UKSW GeoPoint geo=new GeoPoint((int)( *1E6),(int)( *1E6)); mapcontroller.setcenter(geo); public boolean onkeydown(int keycode, KeyEvent event) { //untuk mengganti mode if(keycode == KeyEvent.KEYCODE_DPAD_LEFT) { mmapview.setsatellite(true); mmapview.setstreetview(false); else if(keycode == KeyEvent.KEYCODE_DPAD_RIGHT) { mmapview.setsatellite(false); mmapview.setstreetview(true); // TODO Auto generated method stub return super.onkeydown(keycode, protected boolean isroutedisplayed() { // TODO Auto generated method stub return false; Langkah 4 : Edit class AndroidManifest.xml menjadi seperti berikut : <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="buku.project.location1" android:versioncode="1" android:versionname="1.0" > /> <uses sdk android:minsdkversion="8" android:targetsdkversion="10" /> <uses permission android:name="android.permission.internet" <application 175

186 /> android:allowbackup="true" > <uses library android:name="com.google.android.maps" /> <activity android:name="buku.project.location1.mainactivity" > <intent filter> <action android:name="android.intent.action.main" <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> </manifest> Langkah 5: Tekan F11 untuk mendebug aplikasi pada emulator Android. Langkah 6 : Maka akan muncul outputnya sebagai berikut : Gambar 14.1 Tampilan Peta Percobaan 2 : Menampilkan Street View dengan KeyEvent Langkah 1: Buat Android Project baru Langkah 2: Tambahkan statement berikut pada main.xml <menu xmlns:android=" <item android:id="@+id/menu_settings" android:orderincategory="100" 176

187 </menu> Langkah 3 : Kemudian, ketikkan statement berikut pada MainActivity.java import com.google.android.maps.geopoint; import com.google.android.maps.mapactivity; import com.google.android.maps.mapcontroller; import com.google.android.maps.mapview; import android.os.bundle; import android.view.keyevent; public class MainActivity extends MapActivity { Private MapController mapcontroller; privatemapview mmapview; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mmapview = (MapView) findviewbyid(r.id.map_view); mapcontroller=mmapview.getcontroller(); //lokasi UKSW GeoPoint geo=new GeoPoint((int)( *1E6),(int)( *1E6)); mapcontroller.setcenter(geo); public boolean onkeydown(int keycode, KeyEvent event) { //untuk mengganti mode if(keycode == KeyEvent.KEYCODE_0) { mmapview.setsatellite(true); else if(keycode == KeyEvent.KEYCODE_1) { mmapview.setsatellite(false); // TODO Auto-generated method stub return super.onkeydown(keycode, Protected Boolean isroutedisplayed() { // TODO Auto-generated method stub return false; Langkah 4 : Edit class AndroidManifest.xml menjadi seperti berikut : <?xml version="1.0"encoding="utf-8"?> <manifest xmlns:android=" package="project.buku.lbs.cobalbs" android:versioncode="1" android:versionname="1.0"> <uses-sdk android:minsdkversion="8" 177

188 android:targetsdkversion="10"/> <uses-permission android:name="android.permission.internet"></uses-permission> <application android:allowbackup="true" <activity android:name="project.buku.lbs.cobalbs.mainactivity" <intent-filter> <action android:name="android.intent.action.main"/> <category android:name="android.intent.category.launcher"/> </intent-filter> </activity> <uses-library android:name="com.google.android.maps"android:required="true"></u ses-library> </application> </manifest> Langkah 5: Tekan F11 untuk mendebug aplikasi pada emulator Android. Langkah 6 : Maka akan muncul outputnya sebagai berikut : Gambar 14.2 Tampilan Peta dengan Street View Langkah 7 : View dari output ini bisa berubah jika ditekan tombol 0 maupun satu pada keyboard. 178

189 jika ditekan [0] jika ditekan [1] 14.4 Laporan Resmi Gambar 14.3 Tampilan pilhan street view atau tidak Buat laporan resmi tentang penjelasan mengenai percobaan diatas, yang berisi analisa, penjelasan dan program masing masing percobaan. 179

190 Workshop 15 MapViews 1 15 Praktikum 15: MapViews Tujuan 1. Memahami cara penggunaan MapView 15.2 Tugas Pendahuluan 1. Pelajari materi mengenai MapView dan Overlay 15.3 Percobaan Percobaan 1: Menampilkan Google Maps Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > /> <com.google.android.maps.mapview android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apikey="0ve5zrowyijayx cxdmpmepdmzdmi 38nMQKXLg" </LinearLayout> Langkah 3 : Lengkapi statement berikut pada class java MainActivity package com.ai.lbs; import android.app.activity; 180

191 import com.google.android.maps.mapactivity; import android.os.bundle; public class LBS1Activity extends MapActivity { /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); protected boolean isroutedisplayed(){ return false; Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.ai.lbs" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="8" /> /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses library android:name="com.google.android.maps"/> <activity android:name=".lbs1activity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses permission android:name="android.permission.internet" ></usespermission> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka, akan muncul outputnya sebagai berikut : 181

192 Gambar 15.1 Tampilan Mapview 15.4 Percobaan 2: Menampilkan Zoom Control pada Map Langkah 1: Gunakan project MapView sebelumnya Langkah 2 : Lengkapi statement berikut pada class java MainActivity package com.ai.lbs; import android.app.activity; import com.google.android.maps.mapactivity; import android.os.bundle; public class LBS1Activity extends MapActivity { /** Called when the activity is first created. */ MapView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); //Zoom control mapview = (MapView)findViewById(R.id.mapView); protected boolean isroutedisplayed(){ return false; 182

193 Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.ai.lbs" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="8" /> /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <uses library android:name="com.google.android.maps"/> <activity android:name=".lbs1activity" android:label="@string/app_name" > <intent filter> <action android:name="android.intent.action.main" <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses permission android:name="android.permission.internet" ></usespermission> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka, akan muncul outputnya sebagai berikut : Gambar 15.2 Tampilan Map denga Zoom Control 183

194 Percobaan 3 : Merubah View pada Map Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > /> <com.google.android.maps.mapview android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apikey="0ve5zrowyijayx cxdmpmepdmzdmi 38nMQKXLg" </LinearLayout> Langkah 3 : Lengkapi statement berikut pada class java MainActivity package com.ai.lbs; import android.app.activity; import com.google.android.maps.mapactivity; import android.os.bundle; public class LBS1Activity extends MapActivity { /** Called when the activity is first created. */ MapView public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); //Zoom control mapview = (MapView)findViewById(R.id.mapView); mapview.setbuiltinzoomcontrols(true); protected boolean isroutedisplayed(){ return false; Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> 184

195 <manifest xmlns:android=" package="com.ai.lbs" android:versioncode="1" android:versionname="1.0" > <uses sdk android:minsdkversion="8" /> /> <application > <uses library android:name="com.google.android.maps"/> <activity android:name=".lbs1activity" > <intent filter> <action android:name="android.intent.action.main" <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses permission android:name="android.permission.internet" ></usespermission> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka, akan muncul outputnya sebagai berikut : Gambar 15.3 Merubah View pada Map 185

196 15.5 Laporan Resmi Buat laporan resmi tentang penjelasan mengenai percobaan diatas, yang berisi analisa, penjelasan dan program masing masing percobaan. 186

197 Praktikum 16 MapViews 2 16 Praktikum 16: MapViews Tujuan 1. Memahami cara penggunaan MapView lebih lanjut 16.2 Tugas Pendahuluan 1. Pelajari Overlay pada Materi Teori 16.3 Percobaan Percobaan 1: Menampilkan Location Data Langkah 1: Buat project Android baru pada Eclipse Langkah 2: Tambahkan statement berikut pada main.xml <?xml version="1.0" encoding="utf 8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.google.android.maps.mapview android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apikey="0tgmw99tmmg_gpln8lwc5hf4nhahnq6 NzzTUsg"/> </LinearLayout> Langkah 3 : Lengkapi statement berikut pada class java MainActivity package com.jj; import java.io.ioexception; import java.util.list; import java.util.locale; 187

198 import android.app.activity; import android.content.context; import android.graphics.bitmap; import android.graphics.bitmapfactory; import android.graphics.canvas; import android.graphics.point; import android.location.address; import android.location.geocoder; import android.location.location; import android.location.locationlistener; import android.location.locationmanager; import android.os.bundle; import android.view.keyevent; import android.view.motionevent; import android.widget.toast; import com.google.android.maps.geopoint; import com.google.android.maps.mapactivity; import com.google.android.maps.mapcontroller; import com.google.android.maps.mapview; import com.google.android.maps.overlay; public class LbsActivity extends MapActivity { MapView mapview; //navigate the map to display spesific location MapController mc; GeoPoint p; private LocationManager lm; private LocationListener locationlistener; // adding markers to the Map class MapOverlay extends com.google.android.maps.overlay{ public boolean draw(canvas canvas, MapView mapview, boolean shadow, long when){ super.draw(canvas, mapview, shadow); // translate the GeoPoint to screen pixels Point screenpts = new Point(); mapview.getprojection().topixels(p, screenpts); // add the marker Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.images2); canvas.drawbitmap(bmp, screenpts.x, screenpts.y 50, null); return true; 188

199 // geting the location that was touched public boolean ontouchevent(motionevent event, MapView mapview){ if (event.getaction()==1){ GeoPoint p = mapview.getprojection().frompixels( (int) event.getx(), (int)event.gety()); /* Toast.makeText(getBaseContext(), "Location: " +p.getlatitudee6() /1E6 +","+ p.getlongitudee6() /1E6, Toast.LENGTH_SHORT).show(); */ //Geocoding and Reverse Geocoding Geocoder geocoder = new Geocoder(getBaseContext(), Locale.getDefault()); try { List<Address>addresses = geocoder.getfromlocation(p.getlatitudee6()/1e6, p.getlongitudee6()/1e6, 1); String add = ""; if (addresses.size() >0){ for (int i=0; i<addresses.get(0).getmaxaddresslineindex(); i++) add += addresses.get(0).getaddressline(i) + "\n"; add, Toast.LENGTH_SHORT); Toast.makeText(getBaseContext(), catch(ioexception e){ e.printstacktrace(); return true; return false; /** Called when the activity is first created. public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); //Zoom control mapview = (MapView)findViewById(R.id.mapView); mapview.setbuiltinzoomcontrols(true); 189

200 // changing views //mapview.setsatellite(true); // mapview.setstreetview(true); // mendisplay trafic conditions on the map // mapview.settraffic(true); //navigate themap to display spisific location mc = mapview.getcontroller(); //navigate to a point first String coordinates[] = {" ", " "; double lat = Double.parseDouble(coordinates[0]); double lng = Double.parseDouble(coordinates[1]); p = new GeoPoint( (int)(lat * 1E6), (int)(lng * 1E6)); mc.animateto(p); mc.setzoom(13); // use the locationmanager class to obtain location data /* lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); locationlistener = new MyLocationListener(); lm.requestlocationupdates(locationmanager.gps_provider,0,0, locationlistener); */ // add a location marker MapOverlay mapoverlay = new MapOverlay(); List<Overlay> listoverlays = mapview.getoverlays(); listoverlays.clear(); listoverlays.add(mapoverlay); mapview.invalidate(); private class MyLocationListener implements LocationListener{ public void onlocationchanged(location loc) { // TODO Auto generated method stub if(loc!= null){ Toast.makeText(getApplicationContext(), "Location changed : List : "+ loc.getlatitude()+ "Lng : " +loc.getlongitude(), Toast.LENGTH_SHORT).show(); p = new GeoPoint((int) (loc.getlatitude() * 1E6), (int)(loc.getlongitude() * 1E6)); 190

201 mapview.getoverlays(); mc.animateto(p); mc.setzoom(18); // add a location marker MapOverlay mapoverlay = new MapOverlay(); List<Overlay> listofoverlays = listofoverlays.clear(); listofoverlays.add(mapoverlay); public void onproviderdisabled(string provider) { // TODO Auto generated method stub public void onproviderenabled(string provider) { // TODO Auto generated method stub public void onstatuschanged(string provider, int status, Bundle extras){ // TODO Auto generated method stub // zoom in and out public boolean onkeydown(int keycode, KeyEvent event){ // untuk menghendle tombol aktiviti MapController mc = mapview.getcontroller(); switch(keycode){ case KeyEvent.KEYCODE_3: mc.zoomin(); break; case KeyEvent.KEYCODE_1: mc.zoomout(); break; return super.onkeydown(keycode, event); protected boolean isroutedisplayed(){ return false; Langkah 4 : Lakukan editing pada kode yang dicetak tebal berikut pada class AndroidManifest.xml: <?xml version="1.0" encoding="utf 8"?> <manifest xmlns:android=" package="com.jj" android:versioncode="1" android:versionname="1.0" > 191

202 <uses sdk android:minsdkversion="10" /> /> <application > <uses library android:name="com.google.android.maps"/> <activity android:name=".lbsactivity" > <intent filter> <action android:name="android.intent.action.main" <category android:name="android.intent.category.launcher" /> </intent filter> </activity> </application> <uses sdk android:minsdkversion="10"/> <uses permission android:name="android.permission.internet"></uses permission> </manifest> Langkah 5 : Tekan F11 untuk mendebug aplikasi pada emulator Android Langkah 6 : Maka, akan muncul outputnya sebagai berikut : Gambar 16.1 Menampilkan Location Data 192

Workshop Struktur dan Pemakaian Teknologi Game BAB 4. Menu

Workshop Struktur dan Pemakaian Teknologi Game BAB 4. Menu BAB 4 Menu 69 4.1 Tujuan Pembelajaran 1. Memahami tentang Menu, baik Option maupun Context Menu dan bagaimana penggunaannya. 4.2 Dasar Teori Sebagaimana halnya aplikasi-aplikasi untuk desktop dan beberapa

Lebih terperinci

BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET

BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET 3.1 Tujuan Pembelajaran 1. Memahami tentang pembuatan layout dengan XML pada Android 2. Memahami tentang apa sajakah fitur dari Basic Widget dan Selection

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB V. USER INTERFACE (UI) PART 2 - BASIC VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom View View dalam pemrograman Android berfungsi sebagai komponen

Lebih terperinci

Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0

Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0 Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0 I Ketut Resika Arthana, M.Kom http://www.rey204.com resika.arthana@gmail.com Disajikan dalam mata kuliah

Lebih terperinci

Percobaan 9 Basic Widget

Percobaan 9 Basic Widget Percobaan 9 Basic Widget 9.1 Pokok Bahasan XML Layout Basic Widget 9.2 Tujuan Dengan praktikum ini mahasiswa diharapkan dapat: Memahami pembuatan user interfaces dengan menggunakan XML layout Memahami

Lebih terperinci

Struktur & Pemakaian Teknologi Game Pembuatan Activity

Struktur & Pemakaian Teknologi Game Pembuatan Activity Struktur & Pemakaian Teknologi Game Pembuatan Activity Activity Suatu Activity mewakili satu layar tunggal sebagai UI. Masing-masing Activity berdiri sendiri. Suatu Aplikasi dapat terdiri dari beberapa

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB IX. PENGGUNAAN MENU DENGAN VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom Menu Menu berguna untuk menampilkan pilihan tambahan yang tidak langsung

Lebih terperinci

[Pelatihan Pemrograman Android]

[Pelatihan Pemrograman Android] 2012 [Pelatihan Pemrograman Android] Safaruddin Hidayat Al Ikhsan, S.Kom, M.Kom Modul Untuk Peserta Pelatihan di Lab TBI, Departemen Teknik Mesin dan Biosistem, IPB 12/21/2012 Lisensi Dokumen: Copyright

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 6 PENGGUNAAN ACTIVITY & INTENT Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB VII. USER INTERFACE (UI) PART 4 LIST VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom Tipe List View List view adalah view yang memperbolehkan untuk

Lebih terperinci

Praktikum IV Komponen UI (Radio Button, CheckBox dll)

Praktikum IV Komponen UI (Radio Button, CheckBox dll) Praktikum IV Komponen UI (Radio Button, CheckBox dll) Pokok Bahasan: Membuat aplikasi user interface android sederhana Mengenal komponen user interface di android Tujuan Belajar Setelah mempelajari modul

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 6 PENGGUNAAN ACTIVITY Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi Android.

Lebih terperinci

Membuat project Android di Eclipse Struktur project pada eclipse Mengenal Tag Layout User Interface

Membuat project Android di Eclipse Struktur project pada eclipse Mengenal Tag Layout User Interface Membuat project Android di Eclipse Struktur project pada eclipse Mengenal Tag Layout User Interface TextView Absolute Layout Table Layout Jalankan Eclipse Pilih Menu File > New > Other Setelah muncul

Lebih terperinci

PERTEMUAN KE 4 Representasi Data (ListView dan Spinner)

PERTEMUAN KE 4 Representasi Data (ListView dan Spinner) A. TUJUAN PERTEMUAN KE 4 Representasi Data (ListView dan Spinner) Mahasiswa diharapkan dapat memahami dan mengetahui tentang komponen widget, yaitu ListView yang digunakan pada aplikasi mobile. B. TEORI

Lebih terperinci

Tutorial Aplikasi Android Sederhana dengan Action Button

Tutorial Aplikasi Android Sederhana dengan Action Button Tutorial Aplikasi Android Sederhana dengan Action Button Deskripsi Aplikasi : Dapat menerima masukan dari pengguna berupa string. Lalu masukan tersebut dapat ditampilkan dengan menekan button. Terdapat

Lebih terperinci

Praktikum 9 Pemprograman Android GUI 2 Layar

Praktikum 9 Pemprograman Android GUI 2 Layar Praktikum 9 Pemprograman Android GUI 2 Layar Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pemprograman Java OOP pada Android Deklarasi pemprograman Android Penggunaan Button, Textview, Textfield,

Lebih terperinci

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! PERTAMA ebook Bahasa Indondesia! Dilengkapi PEMBAHASAN Jelas dan mudah dipahami Sangat Cocok untuk PEMULA!!! Di JAMIN Bisa! Baca Coba Berhasil! L A B. A N D

Lebih terperinci

Penggunaan Button di Android

Penggunaan Button di Android Penggunaan Button di Android Oleh: Almibi Akmal Hallo sobat JK, kali ini saya berbagi tutorial bagaimana menggunakan button di android. Button merupakan salah satu bagian penting dari android. Ada dua

Lebih terperinci

Pertemuan 2. Pemrograman Mobile. 3 SKS Semester 7 S1 Sistem Informasi. Nizar Rabbi Radliya

Pertemuan 2. Pemrograman Mobile. 3 SKS Semester 7 S1 Sistem Informasi. Nizar Rabbi Radliya Pemrograman Mobile 3 SKS Semester 7 S1 Sistem Informasi Nizar Rabbi Radliya nizar.radliya@yahoo.com Pertemuan 2 Universitas Komputer Indonesia 2015 Activity Service Content Provider Resource Views Notification

Lebih terperinci

Latihan 2 List Menu Bertingkat

Latihan 2 List Menu Bertingkat Latihan 2 List Menu Bertingkat 1. Buat Project baru dengan cara klik menu File New Android Application Project. 2. Beri nama aplikasi yang akan kita buat pada kolom Application Name. Huruf awal harus capital.

Lebih terperinci

Modul Aplikasi Mobile. Pertemuan ke-2. Pengenalan environment android pada eclipse

Modul Aplikasi Mobile. Pertemuan ke-2. Pengenalan environment android pada eclipse Modul Aplikasi Mobile Pertemuan ke-2 Pengenalan environment android pada eclipse Konsep MVC pada Android Develop aplikasi Android seperti halnya pada platform yang lain, menggunakan bahasa pemogramman

Lebih terperinci

Membuat Interface Dinamis Menggunakan FrameLayout

Membuat Interface Dinamis Menggunakan FrameLayout Membuat Interface Dinamis Menggunakan FrameLayout Oleh: Hasyemi Rafsanjani Asyari Pada tutorial kali ini kita akan belajar membuat aplikasi android dengan fragment. Seperti yang kita ketahui aplikasi android

Lebih terperinci

MODUL 10 KOMPONEN GUI ANDROID

MODUL 10 KOMPONEN GUI ANDROID MODUL 10 KOMPONEN GUI ANDROID A. Tujuan : 1. Memahami berbagai pembuatan komponen di android 2. Memahami passing parameter di android dalam 1 layar 3. Memahami passing parameter di android dalam 2 layar

Lebih terperinci

Membuat list dengan RecylerView dan dependency injection ButterKniffe

Membuat list dengan RecylerView dan dependency injection ButterKniffe Membuat list dengan RecylerView dan dependency injection ButterKniffe Oleh: Adriyadi Savana Buat kalian yang sudah pernah mengenal ListView mungkin pernah mendengar RecylerView, yap! RecyclerView adalah

Lebih terperinci

Praktikum VI Activity dan Intent

Praktikum VI Activity dan Intent Praktikum VI Activity dan Intent Pokok bahasan: Membuat aplikasi yang melibatkan activity lebih dari satu Memahami konsep activity dan Intent Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

Lebih terperinci

Ijin Akses Agar program kita dapat mengakses GPS, kita harus menambahkan permission pada AndroidManifest.xml sebagai berikut:

Ijin Akses Agar program kita dapat mengakses GPS, kita harus menambahkan permission pada AndroidManifest.xml sebagai berikut: Pemrograman Android GPS MAP Part 1 [Pemrograman Android GPS MAP 01][Level: Menengah] Andi Taru Nugroho Nur Wismono S.Kom.,M.Cs. andi.taru@gmail.com Lisensi Dokumen: Copyright 2012 JavaClopedia.com Seluruh

Lebih terperinci

Call Phone Permission pada Android

Call Phone Permission pada Android Call Phone Permission pada Android Oleh: Adnan w Anadrep Halo, berjumpa lagi dengan saya :) Kali ini saya akan memberikan tutorial di android mengenai penggunaan CALL_PHONE permission. Dalam tutorial ini,

Lebih terperinci

3. Selection Widget-GridView Bab Adding List Data Adding Spinner Data Adding List with AutoComplete Bab 5...

3. Selection Widget-GridView Bab Adding List Data Adding Spinner Data Adding List with AutoComplete Bab 5... Kata Pengantar Puji syukur penulis penjatkan kehadirat Allah SWT, yang atas rahmat-nya maka penulis dapat menyelesaikan penyusunan buku yang berjudul Kumpulan Project Aplikasi Android Untuk Pemula. Penulisan

Lebih terperinci

Cara Membuat Background Dinamis di Android

Cara Membuat Background Dinamis di Android Cara Membuat Background Dinamis di Android Oleh: Yudi Setiawan Sebenarnya judulnya agak aneh ya. Mengapa? karena, maksud dari tutorial ini ialah membuat background seperti aplikasi Instagram. Bagi Anda

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB VIII. MENAMPILKAN GAMBAR DENGAN VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom Gallery and ImageView Views Gallery adalah view yang digunakan untuk

Lebih terperinci

Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse

Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse Salah satu hal yang menyenangkan dalam membuat sebuah aplikasi Android adalah

Lebih terperinci

Praktikum 1 - Getting Started with Android

Praktikum 1 - Getting Started with Android Praktikum 1 - Getting Started with Android Dosen : Tenia Wahyuningrum, S.Kom., MT Sebelum menjalankan aplikasi sederhana Hello World, kita perlu untuk menginstal programming environment. Hello World App

Lebih terperinci

Dapat memahami mekanisme kerja component dalam sistem operasi android. Dapat menggunakan component secara efektif dalam membuat aplikasi android

Dapat memahami mekanisme kerja component dalam sistem operasi android. Dapat menggunakan component secara efektif dalam membuat aplikasi android Dapat memahami dasar teori pemrograman android Dapat memahami mekanisme kerja component dalam sistem operasi android Dapat menggunakan component secara efektif dalam membuat aplikasi android Activity Menyajikan

Lebih terperinci

PAPB-C. Yang harus dipersiapkan: 1. Eclipse 2. AVD/GenieMotion 3. JDK Membuat Android Application Project Baru

PAPB-C. Yang harus dipersiapkan: 1. Eclipse 2. AVD/GenieMotion 3. JDK Membuat Android Application Project Baru User Notification adalah pesan yang diterima oleh user yang tidak muncul dalam user interface utama tapi ada dalam bentuk icon dan dengan detail notifikasinya dalam notification area. Tujuan dari munculnya

Lebih terperinci

MODUL 13 KOMPONEN GUI ANDROID

MODUL 13 KOMPONEN GUI ANDROID MODUL 13 KOMPONEN GUI ANDROID A. Tujuan : 1. Memahami berbagai pembuatan komponen di android 2. Memahami passing parameter di android dalam 1 layar 3. Memahami passing parameter di android dalam 2 layar

Lebih terperinci

Pembuatan Aplikasi Android Sederhana dengan Eclipse

Pembuatan Aplikasi Android Sederhana dengan Eclipse Pembuatan Aplikasi Android Sederhana dengan Eclipse by webmaster - Monday, December 14, 2015 http://suyatno.dosen.akademitelkom.ac.id/index.php/2015/12/14/pembuatan-aplikasi-android-sederhanadengan-eclipse/

Lebih terperinci

Location Based Services

Location Based Services Location Based Services Location Based Service (LBS) atau layanan berbasis lokasi adalah sebuah layanan informasi yang dapat diakses dengan perangkat bergerak melalui jaringan dan mampu menampilkan posisi

Lebih terperinci

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming) Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon : +62711-353414 TK PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web

Lebih terperinci

Pertama tama install terlebih dahulu java versi terbaru pada. atau didalam

Pertama tama install terlebih dahulu java versi terbaru pada.  atau didalam 1 Langkah Langkah Instalasi android SDK dan Eclipse : Install Komponen yang dibutuhkan : Pertama tama install terlebih dahulu java versi terbaru pada alamat berikut ini : http://www.java.com/en/download/index.jsp

Lebih terperinci

Membuat Alert Dialog Pada Android

Membuat Alert Dialog Pada Android Membuat Alert Dialog Pada Android Oleh: Wian Caniggia Eka Putra Hai Sobat.. Kali ini saya akan bagi tutorial android mobile. Kali ini saya akan menjelaskan tentang gimana cara membuat alert dialog pada

Lebih terperinci

Praktikum XI Animasi dan Multimedia

Praktikum XI Animasi dan Multimedia Praktikum XI Animasi dan Multimedia Pokok bahasan: Animasi dan multimedia Membuat aplikasi yang melibatkan komponen multimedia Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan mengetahui:

Lebih terperinci

Membuat Aplikasi Sederhana Hello World untuk Android

Membuat Aplikasi Sederhana Hello World untuk Android Membuat Aplikasi Sederhana Hello World untuk Android by webmaster - Monday, December 21, 2015 http://ahmadarifudin.student.akademitelkom.ac.id/?p=50 Dalam membuat aplikasi android diperlukan Java SE Development

Lebih terperinci

First Cup Android. TripleLands Tutorial

First Cup Android. TripleLands Tutorial First Cup Android 2011 TripleLands Tutorial Buku ini berisikan panduan bagi pemula yang ingin mempelajari Android langkah per langkah. Didalamnya akan di paparkan mengenai cara instalasi SDK, instalasi

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 3 MENULISKAN KODE Tujuan: Mahasiswa memahami dan mampu menggunakan komponen dan penulisan kode untuk pembuatan suatu aksi pada aplikasi Android. Pustaka:

Lebih terperinci

Persiapan. 2.1 Hardware

Persiapan. 2.1 Hardware Persiapan Selanjutnya, pertama kali Anda perlu mempersiapkan segala sesuatu yang diperlukan untuk pemrograman Android, baik dari segi hardware dan software. Persiapan ini gunanya menyediakan IDE dan platform

Lebih terperinci

PRAKTIKUM 6 SPINNER. 1. Aktifkanlah project baru, File New Project Android Application Project. Modul 6 Spinner Page 1

PRAKTIKUM 6 SPINNER. 1. Aktifkanlah project baru, File New Project Android Application Project. Modul 6 Spinner Page 1 PRAKTIKUM 6 SPINNER Spinner adalah aplikasi sederhana untuk menyusun pilihan ketika akan memilih sebuah jawaban berupa option, dan menampilkan jawaban terpilih di textbox. Spinner merupakan view yang memiliki

Lebih terperinci

Menulis Aplikasi untuk Android Bagian I

Menulis Aplikasi untuk Android Bagian I Menulis Aplikasi untuk Android Bagian I Selamat berjumpa lagi di ruang E-Learning Trisma. Seperti penjelasan artikel sebelumnya Bermain dengan Android, dijelaskan sedikit mengenai struktur dasar dari Android

Lebih terperinci

Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse

Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse by webmaster - Sunday, December 13, 2015 http://xoxo.student.akademitelkom.ac.id/index.php/2015/12/13/cara-membuat-aplikasi-android-sederhanamenggunakan-eclipse/

Lebih terperinci

Class yang dipakai Untuk membuat tampilan map pada Android, kita bisa memanfaatkan MapView sebagai berikut:

Class yang dipakai Untuk membuat tampilan map pada Android, kita bisa memanfaatkan MapView sebagai berikut: Pemrograman Android GPS MAP Part 3 [Pemrograman Android GPS MAP 03][Level: Menengah] Andi Taru Nugroho Nur Wismono S.Kom.,M.Cs. andi.taru@gmail.com Lisensi Dokumen: Copyright 2012 JavaClopedia.com Seluruh

Lebih terperinci

Latihan 1 Menghitung Luas Persegi Panjang

Latihan 1 Menghitung Luas Persegi Panjang Latihan 1 Menghitung Luas Persegi Panjang 1. Buat Project baru dengan cara klik menu File New Android Application Project. 2. Beri nama aplikasi yang akan kita buat pada kolom Application Name. Huruf awal

Lebih terperinci

Tutorial berikut akan mengajarkan rekan-rekan cara membuat kalkulator sederhana di android.

Tutorial berikut akan mengajarkan rekan-rekan cara membuat kalkulator sederhana di android. Kalkulator Sederhana Tutorial berikut akan mengajarkan rekan-rekan cara membuat kalkulator sederhana di android. pertama-tama pastikan di komputer anda telah terinsal AVD dan eclipse. 1. Buat projek android

Lebih terperinci

Listing Program. //mengeset nama tab dan mengisi content pada menu tab anda. tabhost.addtab(spec);

Listing Program. //mengeset nama tab dan mengisi content pada menu tab anda. tabhost.addtab(spec); Listing Program MainActivity.java package com.pakarkepribadian; import android.os.bundle; import android.app.tabactivity; import android.content.intent; import android.content.res.resources; import android.widget.tabhost;

Lebih terperinci

Membuat tab menu di aplikasi android

Membuat tab menu di aplikasi android Membuat tab menu di aplikasi android Oleh: Jefri Rendra Wiratmaja Salam jagocoding. Dikesempatan kali ini saya akan menjelaskan bagaimana membuat menu tab di aplikasi android. Menu tab seringkali digunakan

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 4 CONDITIONAL STATEMENT Tujuan: Mahasiswa memahami dan mampu memnggunakan struktur kondisi IF..THEN..ELSE.. untuk mendukung pembuatan suatu aplikasi Android.

Lebih terperinci

Praktikum VI Activity dan Intent

Praktikum VI Activity dan Intent Praktikum VI Activity dan Intent Pokok bahasan: Membuat aplikasi yang melibatkan activity lebih dari satu Memahami konsep activity dan Intent Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

Lebih terperinci

BAB IV IMPLEMENTASI DAN ANALISA

BAB IV IMPLEMENTASI DAN ANALISA BAB IV IMPLEMENTASI DAN ANALISA 4. Implementasi dan Analisa Pada bagian ini akan dijelaskan langah-langkah pembuatan aplikasi dengan menggunakan Bahasa pemrograman Java untuk Android, proses implementasi

Lebih terperinci

Membuat preferensi atau pengaturan pada aplikasi android

Membuat preferensi atau pengaturan pada aplikasi android Membuat preferensi atau pengaturan pada aplikasi android Oleh: Jefri Rendra Wiratmaja Sempat bertanya - tanya pada diri ini "Bagiamana sih membuat pengaturan pada aplikasi android layaknya pengaturan pada

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 6 PENGGUNAAN INTENT Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi Android.

Lebih terperinci

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! PERTAMA ebook Bahasa Indondesia! Dilengkapi PEMBAHASAN Jelas dan mudah dipahami Sangat Cocok untuk PEMULA!!! Di JAMIN Bisa! Baca Coba Berhasil! L A B. A N D

Lebih terperinci

Pemrograman Android dengan Eclipse

Pemrograman Android dengan Eclipse Pemrograman Android dengan Eclipse Teknik pemrograman dari dasar untuk Android adalah menggunakan Eclipse plus Android SDK. Memang tidak hanya eclipse IDE saja yang bisa dipakai, tapi mayoritas pengguna

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN Setelah melakukan analisa dan perancangan terhadap aplikasi informasi seluruh provider perdana di indonesia yang ada di kota Jakarta, pada bab ini akan dibahas mengenai

Lebih terperinci

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! PERTAMA ebook Bahasa Indondesia! Dilengkapi PEMBAHASAN Jelas dan mudah dipahami Sangat Cocok untuk PEMULA!!! Di JAMIN Bisa! Baca Coba Berhasil! L A B. A N D

Lebih terperinci

PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF SI 12 A

PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF SI 12 A PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF 12.12.0037 SI 12 A http://cliffnewbie.wordpress.com/ SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM PURWOKERTO

Lebih terperinci

public class MainActivity extends Activity implements AdapterView.OnItemClickListener{

public class MainActivity extends Activity implements AdapterView.OnItemClickListener{ SOURECE JAVA MAINACTIVITY package id.andang.bukhari; import android.app.activity; import android.content.intent; import android.os.bundle; import android.text.editable; import android.text.textwatcher;

Lebih terperinci

BAB 3 Android User Interface

BAB 3 Android User Interface BAB 3 Android User Interface Mahardeka Tri Ananta deka.kelas@gmail.com Konten User Interface View/Widget ViewGroup (Layout) Dealing with data (supplement) Google Material Design (supplement) User Interface

Lebih terperinci

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming) TK Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon : +62711-353414 PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web

Lebih terperinci

Modul. Android Programming. Dyah Fajar Nur Rohmah

Modul. Android Programming. Dyah Fajar Nur Rohmah Modul Android Programming Dyah Fajar Nur Rohmah 2011 DAFTAR ISI DAFTAR ISI... 2 CHAPTER 1 INTRODUCING... 3 Project Structure... 3 CHAPTER 2 ANDROID PROJECT... 5 CHAPTER 3 BUILDING APPLICATION... 7 Menambah

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah sistem dianalisis dan didesain secara rinci, tahap selanjutnya adalah implementasi. Implementasi sistem merupakan tahap meletakkan sistem sehingga

Lebih terperinci

Tutorial Membuat Aplikasi Web View Android pada Eclipse

Tutorial Membuat Aplikasi Web View Android pada Eclipse Tutorial Membuat Aplikasi Web View Android pada Eclipse 1. Membuat Project Baru a. Langkah awal pastinya adalah membuat project baru: File-New-Project b. Kemudian klik Next da nisi informasi yang dibutuhkan

Lebih terperinci

LISTING PROGRAM. TabHost tab = (TabHost) findviewbyid(r.id.tabhost); tab.setup();

LISTING PROGRAM. TabHost tab = (TabHost) findviewbyid(r.id.tabhost); tab.setup(); A-1 LISTING PROGRAM 1. MainActivity.java package com.example.ilmukomputer.mycipher; import android.content.intent; import android.graphics.color; import android.os.bundle; import android.support.v7.app.appcompatactivity;

Lebih terperinci

XAMARIN ANDROID : Bekerja

XAMARIN ANDROID : Bekerja XAMARIN ANDROID : Bekerja Dengan ListView Lisensi Dokumen: Copyright 2003 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB III. HELLO WORLD Dosen Pembina : Bella Hardiyana, S. Kom, M. Kom HelloWorld1 (1) Buatlah sebuah proyek baru dengan spesifikasi dibawah ini : @Override public boolean

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB II. MEMULAI PROYEK ANDROID PERTAMA Dosen Pembina : Bella Hardiyana, S. Kom, M. Kom JDK Download JDK terbaru dari link dibawah ini http://www.oracle.com/technetwork/java/javase/downloads/index.

Lebih terperinci

INTERFACING APLIKASI PENGHITUNGAN LUAS SEGITIGA DI ANDROID. Dibuat Oleh : Nama : Zunar Fitrianto NIM : Kelas : 13.5B.11

INTERFACING APLIKASI PENGHITUNGAN LUAS SEGITIGA DI ANDROID. Dibuat Oleh : Nama : Zunar Fitrianto NIM : Kelas : 13.5B.11 INTERFACING APLIKASI PENGHITUNGAN LUAS SEGITIGA DI ANDROID Dibuat Oleh : Nama : Zunar Fitrianto NIM : 13081343 Kelas : 13.5B.11 Akademi Manajement Informatika dan Komputer Bina Sarana Informatika 2010

Lebih terperinci

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! PERTAMA ebook Bahasa Indondesia! Dilengkapi PEMBAHASAN Jelas dan mudah dipahami Sangat Cocok untuk PEMULA!!! Di JAMIN Bisa! Baca Coba Berhasil! L A B. A N D

Lebih terperinci

TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID

TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID Di dalam bahasan kali ini, terdapat tutorial pembuatan aplikasi sederhana touch and gesture pada android. Dalam touch and gesture ini

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN Setelah melakukan analisis dan perancangan terhadap aplikasi check point dan penghitung jumlah pada bus AKAP berbasis Android. Pada bab ini akan dibahas mengenai implementasi

Lebih terperinci

Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android

Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android Nama : Hurul Aini NPM : 13110335 Fakultas : Ilmu Komputer dan Telknologi Informasi Jurusan

Lebih terperinci

Lecture Notes

Lecture Notes Lecture Notes 15.09.2014 LinearLayout 1. Hapus layout pada file xml 2. Drag drop LinearLayout (Vertical) 3. Drag drop button 3x 4. Lihat code di layout xml, jelaskan ttg id 5. Buat strings.xml dari folder

Lebih terperinci

Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.

Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2. Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse, SQLite Artikel ini merupakan lanjutan dari tulisan sebelumnya yang

Lebih terperinci

Membuat Simple List Transaksi

Membuat Simple List Transaksi Membuat Simple List Transaksi Oleh: Wian Caniggia Eka Putra Hai sobat.. kali ini saya bikin tutorial android mobile yaitu Membuat Simple List Transaksi. Baik langsung saja.. Aplikasi ini mengimplementasikan

Lebih terperinci

BAB 5 Android Event Handling Mahardeka Tri Ananta

BAB 5 Android Event Handling Mahardeka Tri Ananta BAB 5 Android Event Handling Mahardeka Tri Ananta deka.kelas@gmail.com Konten Event pada Widget Event Handler Event Listener Event Event adalah suatu cara untuk mengumpulkan data tentang interaksi pengguna

Lebih terperinci

Menampilkan Map. B. Menambahkan referensi library google-play-service.jar ke dalam project

Menampilkan Map. B. Menambahkan referensi library google-play-service.jar ke dalam project Menampilkan Map Sejak tanggal 3 Desember 2012, Google secara resmi mengumumkan bahwa layanan API Map berubah menjadi versi 2 sedangkan versi sebelumnya masih diberi waktu berjalan hingga satu tahun ke

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 5 LOOPING STATEMENT Tujuan: Mahasiswa memahami dan mampu memnggunakan struktur kondisi pengulangan untuk mendukung pembuatan suatu aplikasi Android. Pustaka:

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB IV. USER INTERFACE (UI) PART 1 - VIEWGROUP Dosen Pembina : Julian Chandra W, S.Kom,M.Kom Bella Hardiyana, S. Kom, M. Kom USER INTERFACE (UI) Secara umum arsitektur UI

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 7 INTENT BAGIAN 2 Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi Android. Pustaka:

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI

BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI 4.1 Implementasi Implementasi aplikasi dilakukan melalui beberapa tahap, mulai dari instalasi dan konfigurasi development kit, membuat layout untuk antar muka

Lebih terperinci

1. Desktop Microsoft Windows

1. Desktop Microsoft Windows 1. Desktop Microsoft Windows Icon Shortcut Quick Launch Taskbar Taskbar Shortcut Pada umumnya, taskbar ialah bagian yang terletak pada bagian bawah dari desktop. Tombol Start, tombol program-program aktif,

Lebih terperinci

Praktikum IX Drag and Drop GUI dan Image Gallery

Praktikum IX Drag and Drop GUI dan Image Gallery Praktikum IX Drag and Drop GUI dan Image Gallery Pokok bahasan: Drag and Drop GUI Fungsi shape Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan mengetahui: Tampilan GUI yang lebih menarik

Lebih terperinci

Mulai minggu ke-2 sesi 2, mahasiswa akan melakukan praktikum PAM yang dibagi ke dalam dua bagian, yaitu:

Mulai minggu ke-2 sesi 2, mahasiswa akan melakukan praktikum PAM yang dibagi ke dalam dua bagian, yaitu: Mata Kuliah : IF330324-IF430324 Pembangunan Aplikasi Mobile Semester : 2 (Genap) Topik : Pengenalan Layout dan Input Controls Tanggal Sesi : 7 Maret 2017 Minggu ke-/sesi : 5/2 Waktu pengerjaan : 2x50 menit

Lebih terperinci

TUTORIAL APLIKASI ANDROID COOL HELLO WORLD

TUTORIAL APLIKASI ANDROID COOL HELLO WORLD TUTORIAL APLIKASI ANDROID COOL HELLO WORLD TUTORIAL ANDROID 1. Pendahuluan Tutorial aplikasi android CoolHelloWorld adalah suatu tutorial yang akan memberikan suatu petunjuk pembuatan aplikasi CoolHelloWorld.

Lebih terperinci

Variabel dan tipe data

Variabel dan tipe data Variabel dan tipe data Variabel dan tipe data adalah sebuah hal yang penting didalam pemrograman. Variabel berfungsi untuk menyimpan sebuah nilai secara sementara di memory komputer. Variabel dan tipe

Lebih terperinci

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID A. Tujuan : 1. Memahami interkoneksi client-server dengan php di android 2. Memahami interkoneksi client-server dengan php-mysql 3. Memahami passing parameter

Lebih terperinci

Persiapan Sebelum mengikuti tutorial ini, ada baiknya pembaca mendownload perangkat lunak yang dibutuhkan yaitu sebagai berikut:

Persiapan Sebelum mengikuti tutorial ini, ada baiknya pembaca mendownload perangkat lunak yang dibutuhkan yaitu sebagai berikut: Instalasi Android [Pemrograman Android Dasar 01][Level: Pemula] Andi Taru Nugroho Nur Wismono S.Kom.,M.Cs. andi.taru@gmail.com Lisensi Dokumen: Copyright 2012 JavaClopedia.com Seluruh dokumen di JavaClopedia.com

Lebih terperinci

Listing Program. Main.xml. About.xml. Universitas Sumatera Utara

Listing Program. Main.xml. About.xml. Universitas Sumatera Utara Listing Program Main.xml android:background="@drawable/x1"

Lebih terperinci

BAB 2. Siklus Hidup Aplikasi Android

BAB 2. Siklus Hidup Aplikasi Android BAB 2 Siklus Hidup Aplikasi Android 2.1 Tujuan Pembelajaran : 1. Memahami komponen komponen pada Android 2. Memahami Sikuls Hidup Komponen Android. 2.2 Dasar Teori 2.2.1 Komponen Aplikasi Fitur utama dari

Lebih terperinci

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! PERTAMA ebook Bahasa Indondesia! Dilengkapi PEMBAHASAN Jelas dan mudah dipahami Sangat Cocok untuk PEMULA!!! Di JAMIN Bisa! Baca Coba Berhasil! L A B. A N D

Lebih terperinci

Praktikum 8 Dasar Pemprograman Android

Praktikum 8 Dasar Pemprograman Android Praktikum 8 Dasar Pemprograman Android (Instalasi Java JDK, Eclipse IDE & Android SDK) Pokok Bahasan Konsep Pemprograman Bahasa Java pada Android Deklarasi Pemprograman Java pada Android Penggunaan import

Lebih terperinci

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! PERTAMA ebook Bahasa Indondesia! Dilengkapi PEMBAHASAN Jelas dan mudah dipahami Sangat Cocok untuk PEMULA!!! Di JAMIN Bisa! Baca Coba Berhasil! L A B. A N D

Lebih terperinci