Praktikum XIV Aplikasi dengan Database SQLite

dokumen-dokumen yang mirip
Gambar Tampilan aplikasi Database Android 2

PRAKTIKUM IX:TUTORIAL PEMBUATAN

main activity resource layout

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

Membuat Simple List Transaksi

Pertemuan 7. Create, Read, Update, Delete Pada SQL Lite (Tampilan)

UNIVERSITAS KOMPUTER INDONESIA

Pertemuan 7. Create, Read, Update, Delete Pada SQL Lite (Tampilan)

LAYOUT MENU UTAMA. <Button android:text="zakat Profesi" android:layout_width="wrap_content"

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

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

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

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

Praktikum XI Animasi dan Multimedia

LAMPIRAN A. Universitas Sumatera Utara

Praktikum XI Animasi dan Multimedia

Praktikum 9 Pemprograman Android GUI 2 Layar

Tutorial Aplikasi Android Sederhana dengan Action Button

DAFTAR PUSTAKA. Adisasmita, Rahardjo Manajemen Pemerintah Daerah. Yogyakarta: Penerbit Graha Ilmu.

Membuat Alert Dialog Pada Android

Membuat list dengan RecylerView dan dependency injection ButterKniffe

LAMPIRAN. 1. Konsultasi.java. package com.example.saksermu.dentalexsys;

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID

Cara Membuat Layout Dynamic di Android

Praktikum IV Komponen UI (Radio Button, CheckBox dll)

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

Struktur & Pemakaian Teknologi Game Pembuatan Activity

Latihan 1 Menghitung Luas Persegi Panjang

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

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

UNIVERSITAS KOMPUTER INDONESIA

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

Variabel dan tipe data

Struktur & Pemakaian Teknologi Game Struktur Project Android

UNIVERSITAS KOMPUTER INDONESIA

BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET

UNIVERSITAS KOMPUTER INDONESIA

SQLite adalah produk public domain. Artinya tidak punya lisensi, anda boleh mengambil binary atau source codenya secara free / GRATIS.

MODUL 10 KOMPONEN GUI ANDROID

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse

[Pelatihan Pemrograman Android]

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

INTRODUCTION TO ANDROID MOBILE APP DEVELOPMENT MUHAMMAD BAGIR., MTI

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

PERTEMUAN KE 4 Representasi Data (ListView dan Spinner)

Penggunaan Button di Android

Workshop Struktur dan Pemakaian Teknologi Game BAB 4. Menu

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

ARTIKEL TUGAS AKHIR TUTORIAL APLIKASI RUMUS-RUMUS FISIKA LISTRIK DINAMIS DASAR BERBASIS ANDROID

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA

Membuat Interface Dinamis Menggunakan FrameLayout

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

MATERI 8 BEKERJA DENGAN SQLITE

Cara Membuat Background Dinamis di Android

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

MODUL 13 KOMPONEN GUI ANDROID

Praktikum VI Activity dan Intent

Memiih Penyimpanan Internal atau External

DAFTAR PUSTAKA. Kementrian Agama. Alamat KUA. (diakses pada Maret 25, 2015).

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

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

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

Pembuatan Aplikasi Android Sederhana dengan Eclipse

TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID

Aplikasi Android dengan Pre-built Database Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Modul. Android Programming. Dyah Fajar Nur Rohmah

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

Praktikum VI Activity dan Intent

UNIVERSITAS KOMPUTER INDONESIA

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

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Call Phone Permission pada Android

DAFTAR PUSTAKA. A. S., R., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika.

Latihan 2 List Menu Bertingkat

Tutorial Membuat Aplikasi Web View Android pada Eclipse

BAB 5 Android Event Handling Mahardeka Tri Ananta

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

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

LAPORAN PENCATATAN DATA ZAKAT (ANDROID)

Praktikum IX Drag and Drop GUI dan Image Gallery

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

Membuat preferensi atau pengaturan pada aplikasi android

PEMROGRAMAN MOBILE. NANDANG HERMANTO. S.Kom Pemrograman Mobile : Nandang Hermanto

Menulis Aplikasi untuk Android Bagian I

BAB 4: HTTP CONNECTION

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

Bab 4 Hasil dan Pembahasan

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

BAB IV TESTING DAN IMPLEMENTASI SISTEM

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Pemrograman Perangkat Mobile

Transkripsi:

Praktikum XIV Aplikasi dengan Database SQLite Pokok bahasan: Database SQLite Proses CrUD (Create, Update, Delete) Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan mengetahui: Proses penyimpanan pada sqlite Membuat aplikasi menggunakan sqlite secara sederhana Teori Dasar SQLite database Android telah menyediakan suatu database yang disebut SQLite untuk menyimpan data dengan model basis data relasional. Aplikasi-aplikasi tertentu yang membutuhkan data secara terstruktur tentu akan sangat terbantu dengan adanya SQLite ini. Aplikasi yang biasanya menggunakan data yang terstruktur misalnya aplikasi kamus, buku telepon dan sebagainya. Sqlite merupakan lighweight database application yang cukup ideal untuk aplikasi mobile. Kelas-kelas yang terdapat di aplikasi yang menggunakan SQLite a. SQLite Database Merupakan kelas yang mempunyai metode seperti: Insert(), meambahkan baris ke database Update(), memperbarui baris pada database Delete(), menghapus baris pada database execsql(), untuk mengeksekusi sintak SQL b. SQLiteOpenHelper Merupakan sub kelas yang memiliki beberapa metode seperti: oncreate(), dijalankan jika sebelumnya belum tersedia database Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 1

onupgrade(), dijalankan jika sebelumnya sudah ditemukan database yang sama namun beda versi. Metode ini bisa digunakan untuk mengubah skema database. onopen(), dijalankan jika database sudah dalam keadaan terbuka getwritedatabase(), berfungsi untuk memanggil database agar bisa dimasuki data. getreadabledatabase(), berfungsi untuk memanggil database agar bisa membaca datanya. Cursor Cursor mempresentasikan hasil query yang dieksekusi pada baris dan kolom tertentu. Contoh di bawah merupakan ilustrasi mengenai kursor [Melly, Bekasi] Nama jarwo Kota Bekasi Tusam Jakarta Fitri Jogjakarta Metode yang digunakan pada praktikum ini antara lain: movetofirst(), pindah ke baris pertama isafterlast(), mengirim pesan balik jika posisi kursor sudah berada di baris terakhir. getlong(), untuk mengambil data pada kolom yang mempunyai tipe data long getstring(), untuk mengambil data pada kolom yang mempunyai tipe data string. Project pada modul ini adalah membuat aplikasi Android untuk memasukkan nama dan hobi ke dalam form android yang akan diisikan ke database. Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 2

mainactivity.java package com.datahobi; import java.util.arraylist; import com.db.satu.r; import android.app.activity; import android.os.bundle; import android.view.view; import android.widget.button; import android.widget.edittext; import android.widget.tablelayout; import android.widget.tablerow; import android.widget.textview; import android.widget.toast; public class MainActivity extends Activity { DatabaseManager dm; EditText nama, hobi; Button addbtn; TableLayout tabel4data;// tabel for data /** Called when the activity is first created. */ @Override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); dm = new DatabaseManager(this); tabel4data = (TableLayout) findviewbyid(r.id.tabel_data); nama = (EditText) findviewbyid(r.id.innama); hobi = (EditText) findviewbyid(r.id.inhobi); addbtn = (Button) findviewbyid(r.id.btnadd); addbtn.setonclicklistener(new View.OnClickListener() { @Override public void onclick(view v) { // TODO Auto-generated method stub simpandata(); ); updatetable(); protected void simpandata() { // TODO Auto-generated method stub try { Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 3

dm.tambahrow(nama.gettext().tostring(), hobi.gettext().tostring()); Toast.makeText(getBaseContext(), nama.gettext().tostring() + ", berhasil disimpan", Toast.LENGTH_SHORT).show(); updatetable(); kosongkanfield(); catch (Exception e) { // TODO Auto-generated catch block e.printstacktrace(); Toast.makeText(getBaseContext(), "gagal simpan, " + e.tostring(), Toast.LENGTH_LONG).show(); protected void kosongkanfield() { nama.settext(""); hobi.settext(""); protected void updatetable() { // TODO Auto-generated method stub while (tabel4data.getchildcount() > 1) { tabel4data.removeviewat(1); double aa = tabel4data.getchildcount(); String a = String.valueOf(aa); Toast.makeText(getBaseContext(), "tabel data child : " + a, Toast.LENGTH_SHORT).show(); ArrayList<ArrayList<Object>> data = dm.ambilsemuabaris();// for (int posisi = 0; posisi < data.size(); posisi++) { TableRow tabelbaris = new TableRow(this); ArrayList<Object> baris = data.get(posisi); TextView idtxt = new TextView(this); idtxt.settext(baris.get(0).tostring()); tabelbaris.addview(idtxt); TextView namatxt = new TextView(this); namatxt.settext(baris.get(1).tostring()); tabelbaris.addview(namatxt); TextView hobitxt = new TextView(this); hobitxt.settext(baris.get(2).tostring()); tabelbaris.addview(hobitxt); Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 4

tabel4data.addview(tabelbaris); Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 5

DatabaseManager,java package com.datahobi; import java.util.arraylist; import android.content.contentvalues; import android.content.context; import android.database.cursor; import android.database.sqlite.sqlitedatabase; import android.database.sqlite.sqliteopenhelper; import android.util.log; public class DatabaseManager { private static final String ROW_ID = "_id"; private static final String ROW_NAMA = "nama"; private static final String ROW_HOBI = "hobi"; private static final String NAMA_DB = "Databasehobi";// nama database private static final String NAMA_TABEL = "hobiku"; // nama tabel private static final int DB_VERSION =1; //CREATE TABLE hobiku (_id integer PRIMARY KEY autoincrement, nama text,hobi text) private static final String CREATE_TABLE = "create table "+NAMA_TABEL+" ("+ROW_ID+" integer PRIMARY KEY autoincrement, "+ROW_NAMA+" text,"+row_hobi+" text)"; private final Context context; private DatabaseOpenHelper dbhelper; private SQLiteDatabase db; public DatabaseManager(Context ctx) { this.context = ctx; dbhelper = new DatabaseOpenHelper(context); db = dbhelper.getwritabledatabase(); private static class DatabaseOpenHelper extends SQLiteOpenHelper { public DatabaseOpenHelper(Context context) { super(context, NAMA_DB, null, DB_VERSION); // TODO Auto-generated constructor stub @Override public void oncreate(sqlitedatabase db) { // TODO Auto-generated method stub db.execsql(create_table); Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 6

{ titles" @Override public void onupgrade(sqlitedatabase db, int oldver, int newver) // TODO Auto-generated method stub"drop TABLE IF EXISTS db.execsql("drop TABLE IF EXISTS "+NAMA_DB); oncreate(db); public void close() { dbhelper.close(); public void TambahRow(String nama, String hobi) { ContentValues values = new ContentValues(); values.put(row_nama, nama); values.put(row_hobi, hobi); try { // db.delete(nama_tabel, null, null); db.insert(nama_tabel, null, values); catch (Exception e) { Log.e("DB ERROR", e.tostring()); e.printstacktrace(); public ArrayList<ArrayList<Object>> ambilsemuabaris() { ArrayList<ArrayList<Object>> dataarray = new ArrayList<ArrayList<Object>>(); Cursor cur; try { cur = db.query(nama_tabel, new String[] { ROW_ID, ROW_NAMA, ROW_HOBI, null, null, null, null, null); cur.movetofirst(); if (!cur.isafterlast()) { do { ArrayList<Object> datalist = new ArrayList<Object>(); datalist.add(cur.getlong(0)); Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 7

datalist.add(cur.getstring(1)); datalist.add(cur.getstring(2)); dataarray.add(datalist); while (cur.movetonext()); catch (Exception e) { // TODO Auto-generated catch block e.printstacktrace(); Log.e("DEBE ERROR", e.tostring()); return dataarray; Tambahkan script pada string.xml menjadi seperti di bawah ini <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">masukkan nama dan hobi</string> <string name="app_name">database nama dan hobby</string> <string name="btnaddtxt">tambah Data</string> <string name="namalabel">nama</string> <string name="hobilabel">hobi</string> <string name="nomorlabel">no.</string> </resources> Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 8

Tambahkan script mainactivity layout menjadi seperti di bawah ini <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:text="@string/hello" /> <LinearLayout android:layout_width="match_parent" android:id="@+id/linearlayout1"> <EditText android:id="@+id/innama" android:layout_width="100dip"></edittext> <EditText android:id="@+id/inhobi" android:layout_width="100dip"></edittext> <Button android:layout_width="wrap_content" android:id="@+id/btnadd" android:text="@string/btnaddtxt"></button> </LinearLayout> <TableLayout android:layout_width="match_parent" android:id="@+id/tabel_data"> <TableRow android:id="@+id/tablerow1" android:layout_width="wrap_content" > <TextView android:layout_width="50dip" android:text="@string/nomorlabel" android:id="@+id/no_id"></textview> <TextView android:layout_width="100dip" android:text="@string/namalabel" android:id="@+id/nama_id"></textview> <TextView android:layout_width="100dip" android:text="@string/hobilabel" android:id="@+id/hobi_id"></textview> </TableRow> </TableLayout> </LinearLayout> Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 9

Jalankan aplikasi tersebut Data ditambah anto Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 10

Database dibuka dengan SQLite database Browser Modul Praktikum Pemrograman IV -adam_ab-2014 Hal 11