100% menganggap dokumen ini bermanfaat (1 suara)
288 tayangan36 halaman

E-Book Pemrograman Android

Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android. Dokumen ini menjelaskan struktur proyek Android Studio yang menampilkan file-file proyek berdasarkan modul dan jenis file. File-file tersebut diantaranya manifests, java, dan res yang berisi sumber daya. Dokumen ini juga menjelaskan antarmuka pengguna Android Studio serta cara mengubah tampilan proyek untuk melihat struktur file sebenarnya.

Diunggah oleh

Antonius Ajalah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
288 tayangan36 halaman

E-Book Pemrograman Android

Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android. Dokumen ini menjelaskan struktur proyek Android Studio yang menampilkan file-file proyek berdasarkan modul dan jenis file. File-file tersebut diantaranya manifests, java, dan res yang berisi sumber daya. Dokumen ini juga menjelaskan antarmuka pengguna Android Studio serta cara mengubah tampilan proyek untuk melihat struktur file sebenarnya.

Diunggah oleh

Antonius Ajalah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 36

PENGENALAN ANDROID

KeDai Computerworks
PENGENALAN ANDROID
KeDai Computerworks
MENGENAL ANDROID STUDIO

Struktur Proyek
Secara default, Android Studio menampilkan file proyek
Anda dalam tampilan proyek Android seperti yang ditunjukkan
dalam gambar Tampilan ini diatur menurut modul untuk memberi
akses cepat ke file sumber kunci proyek Anda.

Semua file versi terlihat di bagian atas di bawah Gradle


Scripts dan masing-masing modul aplikasi berisi folder berikut:

manifests: Berisi file AndroidManifest.xml.

java: Berisi file kode sumber Java, termasuk kode pengujian


JUnit.

res: Berisi semua sumber daya bukan kode, seperti tata letak
XML, string UI, dan gambar bitmap.

File proyek di tampilan Android.

Struktur proyek Android pada disk berbeda dari representasi rata ini. Untuk melihat struktur file
sebenarnya dari proyek ini, pilih Project dari menu tarik turun Project (dalam gambar 1, struktur
ditampilkan sebagai Android).

Anda juga bisa menyesuaikan tampilan file proyek untuk berfokus pada aspek tertentu dari
pengembangan aplikasi Anda. Misalnya, memilih tampilan Problems dari tampilan proyek Anda akan
menampilkan tautan ke file sumber yang berisi kesalahan pengkodean dan sintaks yang dikenal, misalnya
tag penutup elemen XML tidak ada dalam file tata letak.

File proyek dalam tampilan Problems,


menampilkan file tata letak yang memiliki masalah.
PENGENALAN ANDROID
KeDai Computerworks

Antarmuka Pengguna
Jendela utama Android Studio terdiri dari beberapa bidang logika yang diidentifikasi dalam gambar

Jendela utama Android Studio.

1. Bilah alat memungkinkan Anda untuk melakukan berbagai jenis tindakan, termasuk menjalankan
aplikasi dan meluncurkan alat Android.

2. Bilah navigasi akan membantu Anda menavigasi di antara proyek dan file yang dibuka untuk
pengeditan. Di sini tampilan struktur yang terlihat tampak lebih ringkas daripada jendela Project.

3. Jendela editor merupakan tempat Anda membuat dan mengubah kode. Bergantung pada jenis file
saat ini, editor dapat berubah. Misalnya, ketika melihat file tata letak, editor akan menampilkan
Layout Editor.

4. Jendela alat memberi Anda akses ke tugas-tugas spesifik seperti pengelolaan proyek, penelusuran,
kontrol versi, dan banyak lagi. Anda bisa meluaskan dan juga menciutkannya.

5. Bilah status menampilkan status proyek Anda dan IDE itu sendiri, serta setiap peringatan atau
pesan.
PENGENALAN ANDROID
KeDai Computerworks
Anda bisa menata jendela utama untuk memberi Anda ruang layar yang lebih luas dengan
menyembunyikan atau memindahkan bilah alat dan jendela alat. Anda juga bisa menggunakan pintasan
keyboard untuk mengakses sebagian besar fitur IDE.

Anda dapat menelusuri seluruh kode sumber, basis data, tindakan, elemen antarmuka pengguna, dan
seterusnya setiap saat dengan menekan tombol Shift dua kali, atau mengeklik kaca pembesar di sudut
kanan atas dari jendela Android Studio. Ini akan sangat berguna misalnya saat Anda mencoba menemukan
tindakan IDE tertentu yang Anda lupakan cara memicunya.

File Proyek

Secara default, Android Studio


menampilkan file proyek Anda dalam
tampilan Android. Tampilan ini tidak
mencerminkan hierarki file sesungguhnya di
disk, melainkan tersusun menurut modul dan
jenis file untuk menyederhanakan navigasi
di antara file sumber utama proyek Anda,
dengan menyembunyikan file atau direktori
tertentu yang tidak umum digunakan.
Sebagian perubahan struktur yang
dibandingkan dengan struktur pada disk
termasuk yang berikut ini:

Menampilkan semua file konfigurasi


yang menyangkut pembangunan proyek
dalam grup Gradle Script tingkat
teratas.

Menampilkan semua file manifes untuk setiap modul dalam grup level-modul (bila Anda
memiliki beberapa file manifes berbeda untuk beberapa ragam produk dan tipe
pembangunan).

Menampilkan semua file sumber daya alternatif dalam grup tunggal, sebagai ganti dalam
folder terpisah per qualifier sumber daya. Misalnya, semua versi kepadatan ikon peluncur
Anda terlihat berdampingan.
PENGENALAN ANDROID
KeDai Computerworks
Dalam setiap modul aplikasi Android, file ditampilkan dalam grup-grup berikut:

manifests

Berisi file AndroidManifest.xml.

java

Berisi file kode sumber Java, dipisahkan oleh nama paket, termasuk kode pengujian
JUnit.

res

Berisi semua sumber daya bukan kode, seperti layout XML, string UI, dan gambar
bitmap, yang dibagi ke dalam beberapa sub-direktorinya. Untuk informasi
selengkapnya tentang semua tipe sumber daya yang memungkinkan,
lihat Menyediakan Sumber Daya.
PENGENALAN ANDROID
KeDai Computerworks
Tampilan Proyek Android
Untuk melihat struktur file sesungguhnya dari
suatu proyek termasuk semua file tersembunyi dari
tampilan Android, pilih Project dari menu tarik-turun di
bagian atas jendela Project.

Bila Anda memilih tampilan Project, Anda bisa


melihat banyak file dan direktori lainnya. Yang terpenting
di antaranya adalah sebagai berikut:

module-name/

build/

Berisi keluaran pembangunan.

libs/

Berisi pustaka privat.

src/

Berisi semua file sumber daya dan kode untuk modul dalam subdirektori berikut:

androidTest/

Berisi kode untuk pengujian instrumentasi yang dijalankan pada perangkat Android.
Untuk informasi selengkapnya, lihat Dokumentasi Pengujian Android.

main/

Berisi file sourceset "main": sumber daya dan kode Android yang digunakan bersama
oleh semua varian pembangunan (file untuk varian pembangunan lainnya berada
dalam direktori saudara, misalnya src/debug/ untuk tipe pembangunan versi debug).
PENGENALAN ANDROID
KeDai Computerworks
AndroidManifest.xml

Menjelaskan sifat aplikasi dan masing-masing komponennya. Untuk informasi


selengkapnya, lihat dokumentasi AndroidManifest.xml.

java/

Berisi sumber kode Java.

jni/

Berisi kode asli yang menggunakan Java Native Interface (JNI). Untuk informasi
selengkapnya, lihat Dokumentasi Android NDK.

gen/

Berisi file Java yang dihasilkan oleh Android Studio, misalnya file R.java Anda dan
antarmuka yang dibuat dari file AIDL.

res/

Berisi sumber daya aplikasi, misalnya file yang dapat digambar, file layout, dan string
UI. Lihat Sumber Daya Aplikasi untuk informasi selengkapnya.

assets/

Berisi file yang harus dikompilasi menjadi file .apk apa adanya. Anda bisa menyusuri
direktori ini dengan cara yang sama seperti pada sistem file umumnya dengan
menggunakan URI dan membaca file sebagai aliran byte dengan
menggunakan AssetManager . Misalnya, inilah lokasi yang bagus untuk data game
dan tekstur.

test/

Berisi kode untuk pengujian lokal yang dijalankan pada JVM host Anda.

build.gradle (modul)

Ini mendefinisikan konfigurasi pembangunan khusus modul.


PENGENALAN ANDROID
KeDai Computerworks
build.gradle (proyek)

Ini mendefinisikan konfigurasi pembangunan Anda yang berlaku pada semua modul.
File ini integral pada proyek, jadi Anda harus menyimpannya dalam kontrol revisi
bersama semua kode sumber lainnya.

Untuk informasi tentang lainnya file pembangunan lainnya, lihat Mengonfigurasi


Pembangunan.

Setelan Struktur Proyek


Untuk mengubah beragam setelan bagi proyek Android Studio, buka dialog Project
Structure dengan mengeklik File > Project Structure. Isinya adalah bagian-bagian berikut:

SDK Location: Menyetel lokasi JDK, Android SDK, dan Android NDK yang digunakan
proyek Anda.

Project: Menyetel versi untuk Gradle dan plugin Android untuk Gradle, serta nama
lokasi repositori.

Developer Services: Berisi setelan untuk komponen add-in Android Studio dari Google
atau pihak ketiga lainnya. Lihat Developer Services, di bawah.

Modules: Memungkinkan Anda mengedit konfigurasi pembangunan khusus modul,


termasuk SDK minimum dan target, tanda tangan aplikasi, dan dependensi pustaka.
Lihat Modules, di bawah.

Developer Services
Bagian Developer Services pada kotak dialog Project Structure berisi laman konfigurasi
untuk sejumlah layanan yang bisa Anda gunakan bersama aplikasi. Bagian ini berisi laman
berikut:

AdMob: Memungkinkan Anda mengaktifkan komponen AdMob Google, yang akan


membantu Anda memahami pengguna dan menampilkan iklan yang disesuaikan untuk
mereka.
PENGENALAN ANDROID
KeDai Computerworks
Analytics: Memungkinkan Anda mengaktifkan Google Analytics, yang akan membantu
Anda mengukur interaksi pengguna dengan aplikasi Anda di beragam perangkat dan
lingkungan.

Authentication: Memungkinkan pengguna menggunakan Google Sign-In untuk proses


masuk ke aplikasi Anda dengan akun Google mereka.

Cloud: Memungkinkan Anda mengaktifkan layanan berbasis awan Firebase bagi


aplikasi Anda.

Notifications: Memungkinkan Anda menggunakan Google Cloud Messaging untuk


berkomunikasi antara aplikasi dan server Anda.

Mengaktifkan salah satu layanan ini dapat menyebabkan Android Studio


menambahkan dependensi dan izin yang diperlukan pada aplikasi Anda. Setiap laman
konfigurasi mencantumkan tindakan ini dan tindakan lainnya yang akan dilakukan
Android Studio jika Anda mengaktifkan layanan terkait.

Modul
Bagian setelan Modules memungkinkan Anda mengubah opsi konfigurasi untuk
setiap modul proyek Anda. Setiap laman setelan modul dibagi ke dalam tab-tab berikut:

Properties: Menetapkan versi SDK dan alat pembangunan yang digunakan untuk
mengompilasi modul.

Signing: Menetapkan sertifikat yang akan digunakan untuk menandatangani APK Anda.

Flavors: Memungkinkan Anda membangun beberapa ragam pembangunan, dalam hal


ini masing-masing ragam menetapkan seperangkat setelan konfigurasi, misalnya versi
SDK minimum dan target modul, serta kode versi dan nama versi. Misalnya, Anda dapat
mendefinisikan satu ragam yang memiliki SDK minimum 15 dan SDK target 21, serta
ragam lainnya yang memiliki SDK minimum 19 dan SDK target 23.

Build Types: Memungkinkan Anda membuat dan memodifikasi konfigurasi


pembangunan, seperti yang dijelaskan dalam Mengonfigurasi Pembangunan Gradle.
Secara default, setiap modul memiliki tipe pembangunan versi debug dan rilis, namun
Anda bisa mendefinisikan yang lainnya bila perlu.
PENGENALAN ANDROID
KeDai Computerworks
Dependencies: Mencantumkan pustaka, file, dan dependensi modul untuk modul ini.
Anda bisa menambahkan, memodifikasi, dan menghapus dependensi dari panel ini.
Untuk informasi selengkapnya tentang dependensi modul, lihat Mengonfigurasi
Pembangunan Gradle.
PENGENALAN ANDROID
KeDai Computerworks
MEMBUAT PROJECT
Inilah tampilan awal Android Studio

Klik start a new Android Studio Project untuk membuat project android baru,
Kemudian penamaan aplikasi dan package seperti gambar dibawah.
PENGENALAN ANDROID
KeDai Computerworks
Selanjutnya memberikan nama dari sebuah project yang ingin dibuat

Distep ini, penentuan Versi android pada target Project


PENGENALAN ANDROID
KeDai Computerworks
Adapun pemilihan tampilan dasar dari sebua Project, biasanya untuk pemula
gunakan Empty

Distep ini penulisan nam Activity Utama dan Layout


PENGENALAN ANDROID
KeDai Computerworks
Tampilan Awal

Inilah tampilan awal setelah melewati step-step yang diatas

untuk menjalankan ke Aplikasi dapat kita menggunkan Virtual Android atau langsung ke
Mobile Android intinya versi android pada mobile sama dengan target versi android pada
aplikasi, nah kebetulan saya langsung menggunakan Device Mobile Android cara nya cukup
muda:
1. Download dan Install Univesal Android Studio
2. Ada pun cara Enable USB Debugging

Pada android 4.2 ke atas.

Pada android versi ini, menu Developer options (opsi pengembang)-nya di

sembunyikan. Untuk mengaktifkannya ikuti langkah beikut:

a. Masuk ke menu Settings (Setelan) > About (Tentang Letak menu About

(Tentang) biasanya di Menu Setting (Setelan) paling bawah.

b. Pada Menu About (Tentang), cari dan masuk ke menu Build number (Nomor

bentukan). Biasanya terdapat di menu Software information (Informasi

software).
PENGENALAN ANDROID
KeDai Computerworks

Tap (Klik) Build number (Nomor bentukan) sebanyak 7 kali. Pada beberapa

tap pertama akan muncul popup you are now 4 step away for being developer

(4 klik lagi jadi pengembang) teruskan tap 4 kali menu Build Number (Nomor

bentukan) dan setelah selesai akan muncul popup pemberitahuan you are now

a developer (sekarang anda pengembang).

Sekarang periksa kembali di menu Settings (Setelan) apakah menu Developer

options (Opsi pengembang) sudah muncul. Jika sudah muncul masuk ke menu

Developer options (Opsi pengembang) dan aktifkan USB

Debugging (Debugging USB) dengan cara tap / klik area USB Debugging sepeti

gambar berikut.
PENGENALAN ANDROID
KeDai Computerworks

Selesai sampai disini. Sekarang Developer options kemudian USB

Debugging nya sudah aktif dan bisa akses kapanpun.

Catatan:

Seharusnya USB Debugging hanya diaktifkan disaat dibutuhkan saja.

Membiarkannya dalam keadaan terus aktif akan memberi kesempatan pihak

ketiga mengakses lebih jauh ke perangkat android anda atau menginstall

malware.
PENGENALAN ANDROID
KeDai Computerworks
MEMBUAT CALCULATOR SEDERHANA

1. Mengatur XML (Tampilan)

1. Pertama buatlah tampilan Design seperti gambar dibawah

- Layout yang digunakan : Relative Layout

- Tools yang digunakan : * Number Decimal

* Button

2. Untuk lebih detailnya teman-teman bisa lihat XML versi Text nya dibawah

ini :
PENGENALAN ANDROID
KeDai Computerworks
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.hadrianmetrix.belajar.MainActivity">

<EditText
android:id="@+id/result_id"
android:layout_width="match_parent"
android:layout_height="70dp" />

<Button
android:id="@+id/Btn7_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/result_id"
android:onClick="btn7Clicked"
android:text="7" />

<Button
android:id="@+id/Btn8_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/result_id"
android:layout_toRightOf="@id/Btn7_id"
android:onClick="btn8Clicked"
android:text="8" />

<Button
android:id="@+id/Btn9_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/result_id"
android:layout_toRightOf="@id/Btn8_id"
android:onClick="btn9Clicked"
android:text="9" />

<Button
android:id="@+id/Btnclear_id"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_below="@id/result_id"
android:layout_toRightOf="@id/Btn9_id"
android:onClick="btnclearClicked"
android:text="clear" />

<Button
android:id="@+id/Btn4_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/Btn7_id"
android:onClick="btn4Clicked"
android:text="4" />

<Button
android:id="@+id/Btn5_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/Btn8_id"
android:layout_toRightOf="@id/Btn4_id"
android:onClick="btn5Clicked"
android:text="5" />
PENGENALAN ANDROID
KeDai Computerworks
<Button
android:id="@+id/Btn6_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/Btn9_id"
android:layout_toRightOf="@id/Btn5_id"
android:onClick="btn6Clicked"
android:text="6" />

<Button
android:id="@+id/Btnplus_id"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_below="@id/Btnclear_id"
android:layout_toRightOf="@id/Btn6_id"
android:onClick="btnplusClicked"
android:text="+" />

<Button
android:id="@+id/Btn1_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/Btn4_id"
android:onClick="btn1Clicked"
android:text="1" />

<Button
android:id="@+id/Btn2_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/Btn5_id"
android:layout_toRightOf="@id/Btn1_id"
android:onClick="btn2Clicked"
android:text="2" />

<Button
android:id="@+id/Btn3_id"
android:layout_width="70dp"
android:layout_height="60dp"
android:layout_below="@id/Btn6_id"
android:layout_toRightOf="@id/Btn2_id"
android:onClick="btn3Clicked"
android:text="3" />

<Button
android:id="@+id/Btnminus_id"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_below="@id/Btnplus_id"
android:layout_toRightOf="@id/Btn3_id"
android:onClick="btnminusClicked"
android:text="-" />

<Button
android:id="@+id/Btnequal_id"
android:layout_width="110dp"
android:layout_height="60dp"
android:layout_below="@id/Btn1_id"
android:onClick="btnequalClicked"
android:text="=" />

<Button
android:id="@+id/Btndivide_id"
android:layout_width="90dp"
android:layout_height="60dp"
android:onClick="btndivideClicked"
android:text="/"
android:layout_below="@+id/Btnminus_id"
PENGENALAN ANDROID
KeDai Computerworks
android:layout_toRightOf="@+id/Btnmulti_id"
android:layout_toEndOf="@+id/Btnmulti_id" />

<Button
android:id="@+id/Btnmulti_id"
android:layout_width="100dp"
android:layout_height="60dp"
android:onClick="btnmultiClicked"
android:text="*"
android:layout_below="@+id/Btn2_id"
android:layout_toLeftOf="@+id/Btnminus_id"
android:layout_toStartOf="@+id/Btnminus_id" />

</RelativeLayout>

2. Membuat system .Java

Teman dapat mengikuti coding dibawah ini

package com.example.hadrianmetrix.belajar;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

public String str ="";


Character op = 'q';
float i,num,numtemp;
EditText showResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

showResult = (EditText)findViewById(R.id.result_id);
}
public void btn1Clicked(View v){
insert(1);
PENGENALAN ANDROID
KeDai Computerworks
}

public void btn2Clicked(View v){


insert(2);

}
public void btn3Clicked(View v){
insert(3);

}
public void btn4Clicked(View v){
insert(4);

}
public void btn5Clicked(View v){
insert(5);

}
public void btn6Clicked(View v){
insert(6);
}
public void btn7Clicked(View v){
insert(7);

}
public void btn8Clicked(View v){
insert(8);

}
public void btn9Clicked(View v){
insert(9);

}
public void btnplusClicked(View v){
perform();
op = '+';

public void btnminusClicked(View v){


perform();
op = '-';

}
public void btndivideClicked(View v){
perform();
op = '/';

}
public void btnmultiClicked(View v){
perform();
op = '*';

}
public void btnequalClicked(View v){
calculate();

public void btnclearClicked(View v){


reset();
}
private void reset() {
// TODO Auto-generated method stub
str ="";
op ='q';
num = 0;
numtemp = 0;
PENGENALAN ANDROID
KeDai Computerworks
showResult.setText("");
}
private void insert(int j) {
// TODO Auto-generated method stub
str = str+Integer.toString(j);
num = Integer.valueOf(str).intValue();
showResult.setText(str);

}
private void perform() {
// TODO Auto-generated method stub
str = "";
calculateNoShow();
numtemp = num;

}
private void calculate() {
// TODO Auto-generated method stub
if(op == '+')
num = numtemp+num;
else if(op == '-')
num = numtemp-num;
else if(op == '/')
num = numtemp/num;
else if(op == '*')
num = numtemp*num;
showResult.setText(""+num);
}

private void calculateNoShow() {


// TODO Auto-generated method stub
if(op == '+')
num = numtemp+num;
else if(op == '-')
num = numtemp-num;
else if(op == '/')
num = numtemp/num;
else if(op == '*')
num = numtemp*num;
}
}
PENGENALAN ANDROID
KeDai Computerworks
ANDROID & SQL LITE

SQLite adalah sebuah open source database yang telah ada cukup lama, cukup stabil, dan
sangat terkenal pada perangkat kecil, termasuk Android. SQLite cocok digunakan sebagai
database dalam Android, maupun Berbagai program yang membutuhkan kemudahan serta
tidak membutuhkan resource besar. SQLite menggunakan konsep Zero Configuration dan
embedded database, yaitu sebuah konsep dimana developer tidak perlu menginstall ataupun
melakukan setup database kedalam sebuah server database sehingga tidak membutuhkan
resource yang besar dan proses pembuatan database pun menjadi instan. Selain itu dengan
menggunakan konsep embedded maka database pada SQLite digunakan sebagai library dan di
compile bersamaan dengan program. SQLIte saat ini banyak digunakan di dalam aplikasi dan
program termasuk dalam beberapa high profile project. SQLite juga merupakan mesin database
SQL embedded yang berbeda dengan kebanyakan database SQL lainnya. seperti yang
dijelaskan sebelum nya SQLite tidak memiliki proses server yang terpisah sehinggaSQLite
membaca dan menulis secara langsung ke disk.

Struktur SQLite berbeda dengan struktur database lain seperti MySQL, Oracle dan
sebagainya yang mengusung konsep Relational Database Management System (RDBMS).
Struktur SQLite yang mengusung konsep Embedded Relational Database Management System
(ERDBMS) dan Server Less Architecture sehingga struktur database terpasang bukan pada
server host melainkan pada client host seperti gambar dibawah ini :
PENGENALAN ANDROID
KeDai Computerworks

Selain dengan konsep dan arsitektur yang baik itu SQLite sudah memiliki interface API
untuk bahasa pemrograman umum seperti C++, PHP, Perl, Phyton, dan Tcl. Beberapa contoh
tipe data yang ada dalam SQLite diantaranya :
Numeric ( integer , float , double),
Text ( Char , varchar , text )
DateTime
BLOB

Fitur dalam SQLite


Serverless : SQLite tidak memerlukan proses pada server atau sistem untuk
menjalankannya, melainkan hanya sebuah file yang diakses oleh library SQLite
Zero Configuration : Tidak ada proses setup sehingga proses pemmbuatan database
menjadi instan semudah membuat file biasa
Cross Platform : database bisa digunakan dalam berbagai Platform Pendukung
Self-Contained : sebuah library mengandung keseluruhan dari sistem database, yang
langsung terintegrasi pada sebuah aplikasi program
Small Runtime Footprint : untuk membangun database SQLite hanya membutuhkan
kurang dari satu mb library dan hanya membutuhkan beberapa mb memory dan dapat
diperkecil lagi
Transactional : SQLite transaction mengizinkan penyimpanan melalui beberapa proses
thread
PENGENALAN ANDROID
KeDai Computerworks
Full Feature : SQLite mensupport hampir sebagai besar standar SQL92 ( SQL2 )
Highly Reliable : Tim pengembang SQLite mengembangkan melalui kode program
yang sangat serius serta telah melewati proses testing

Kelebihan SQLite
Performanya lebih efisien dan cepat dibanding database lain
Sedikit penggunaan memory, hanya membutuhkan single library untuk mengkases
database
Dapat berjalan di banyak platform yang berbeda
Sudah memenuhi standar ACID (Atomicity, Consistency, Isolation, dan, Durability)
SQL Support mendukung ANSI 92 SQL Standar
License public domain, free untuk redistributed

Kekurangan SQLite
Tidak adanya CHECK constraint
Tidak mendukung Variabel subquery
Tidak adanya Foreign Key Constraint
Tidak adanya fasilitas Alter Table sehingga apabila ingin mengubah struktur table harus
menghapus semua table kemudian build ulang
Grant dan Revoke serta hak akses tergantung dari Operating system yang digunakan
Tidak tersedia Right dan Full Outer Join hanya tersedia left outer join
Tidak dapat melakukan Penulisan pada View
Untuk modifikasi view hanya menggunakan trigger

Selain itu beberapa Program besar juga sudah mendukung SQLite dan menyertakan SQLite di
dalam struktur mereka diantaranya :
Mozilla Firefox, Mozilla Thunderbird (bookmarks, cookies, contacts etc.) .
Skype
Adobe Photoshop Lightroom, Adobe AIR, Adobe Reader
Ruby on Rails'
Opera
Service Management Facility pada Solaris dan OpenSolaris
PENGENALAN ANDROID
KeDai Computerworks
HTML5 menerapkan SQLite sebagai WebSimpleDB API
Apple's iOS (SMS/MMS, Calendar, Call history, Contacts storage)
Symbian
Nokia's Maemo
GOOGLE'S ANDROID
Google's Chrome browser
RIM's BlackBerry
Linux Foundation's MeeGo
Palm's webOS

Untuk Android, SQLite dijadikan satu di dalam Android runtime, sehingga setiap aplikasi
Android dapat membuat basis data SQLite. Karena SQLite menggunakan antarmuka SQL,
cukup mudah untuk digunakan orang orang dengan pengalaman lain yang berbasis databases.
Terdapat beberapa alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi
Android, yaitu:
Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para developer.
Ini membuatnya relatif mudah digunakan. Tidak memiliki server. Tidak ada proses database
SQLite yang berjalan. Pada dasarnya satu set libraries menyediakan fungsionalitas database.
Single-file database. Ini membuat keamanan database secara langsung. Open source. Hal ini
membuat developer mudah dalam pengembangan aplikasi.

Project : Database

Tabel : Barang
Field : id
nama_barang
merk_barang
harga_barang

Fitur Aplikasi :
Membuat Database SQLite dan Menyambungkan Aplikasi Android ke SQLite
Membuat Fungsi Create Data
Membuat Fungsi Read Data
PENGENALAN ANDROID
KeDai Computerworks
Membuat Fungsi Update/Edit Data
Membuat Fungsi Delete Data

barang.java
Kelas barang berfungsi untuk mendefinisikan objek barang beserta fungsi-fungsi dan atribut-
atributnya. Yah seperti barang pada umumnya, mereka mempunyai nama, ID, merk, dan
sebagainya.

package com.example.hadrianmetrix.database;
public class barang {
private long id;
private String nama_barang;
private String merk_barang;
private String harga_barang;

public barang()
{

/**
* @return the id
*/
public long getId() {
return id;
}

/**
* @param id the id to set
*/
public void setId(long id) {
this.id = id;
}

/**
* @return the nama_barang
*/
public String getNama_barang() {
return nama_barang;
}

/**
* @param nama_barang the nama_barang to set
*/
public void setNama_barang(String nama_barang) {
this.nama_barang = nama_barang;
}

/**
* @return the merk_barang
*/
public String getMerk_barang() {
return merk_barang;
}
PENGENALAN ANDROID
KeDai Computerworks
/**
* @param merk_barang the merk_barang to set
*/
public void setMerk_barang(String merk_barang) {
this.merk_barang = merk_barang;
}

/**
* @return the harga_barang
*/
public String getHarga_barang() {
return harga_barang;
}

/**
* @param harga_barang the harga_barang to set
*/
public void setHarga_barang(String harga_barang) {
this.harga_barang = harga_barang;
}

@Override
public String toString()
{
return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
}
}

DATABASE HELPER

Sesuai namanya, kelas ini berfungsi untuk memudahkan kita dalam membuat dan mengakses
database SQLite yang akan dipakai oleh aplikasi. Kelas ini kebanyakan berisi method-method
berkaitan dengan manajemen database, seperti onUpgrade() dan onCreate().

Database Helper sebenarnya sudah ada kelasnya pada Android, yaitu bernama
SQLiteOpenHelper. Sehingga kita tinggal meng-extends kelas ini dari kelas
SQLiteOpenHelper, atau dengan kata lain, melakukan pewarisan.

Inilah kode untuk kelas DBHelper.java :


package com.example.hadrianmetrix.database;

//deklarasi import package


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DBHelper extends SQLiteOpenHelper{


/** deklarasi konstanta-konstanta yang digunakan pada database, seperti nama
tabel,
PENGENALAN ANDROID
KeDai Computerworks
nama-nama kolom, nama database, dan versi dari database **/
public static final String TABLE_NAME = "data_inventori";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NAME = "nama_barang";
public static final String COLUMN_MERK = "merk_barang";
public static final String COLUMN_HARGA = "harga_barang";
private static final String db_name ="inventori.db";
private static final int db_version=1;

// Perintah SQL untuk membuat tabel database baru


private static final String db_create = "create table "
+ TABLE_NAME + "("
+ COLUMN_ID +" integer primary key autoincrement, "
+ COLUMN_NAME+ " varchar(50) not null, "
+ COLUMN_MERK+ " varchar(50) not null, "
+ COLUMN_HARGA+ " varchar(50) not null);";

public DBHelper(Context context) {


super(context, db_name, null, db_version);
// Auto generated
}

//mengeksekusi perintah SQL di atas untuk membuat tabel database baru


@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(db_create);
}

// dijalankan apabila ingin mengupgrade database


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(DBHelper.class.getName(),"Upgrading database from version " +
oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);

FUNGSI CREATE DATA


Aplikasi inventaris Android menggunakan database SQLite ini, membuat fungsi create/insert
data, untuk memasukkan data baru ke dalam database SQLite. Sebelumnya telah membuat
Barang.java yang berfungsi sebagai Model objek barang, dan kelas DBHelper.java yang
berfungsi untuk mempermudah aplikasi dalam membuat dan mengakses database. Sekarang
untuk kelanjutannyaakan dibuat sebuah kelas yang berfungsi untuk insert data atau create data.
Kelas ini berfungsi untuk menambahkan data barang baru ke database. Dan inilah daftar file-
file yang akan kita buat :
menu.xml : berfungsi untuk membuat sebuah layout main menu
create_data.xml : berfungsi sebagail layout untuk tampilan input data
DBDataSource.java : berfungsi sebagai Controller, kelas inilah yang nantinya
berguna untuk melakukan operasi-operasi pada database, termasuk operasi Create Data
CreateData.java : berfungsi sebagai View atau interface untuk memasukkan data
PENGENALAN ANDROID
KeDai Computerworks
FUNGSI CREATE DATA
Aplikasi inventaris Android menggunakan database SQLite ini, membuat fungsi create/insert
data, untuk memasukkan data baru ke dalam database SQLite. Sebelumnya telah membuat
Barang.java yang berfungsi sebagai Model objek barang, dan kelas DBHelper.java yang
berfungsi untuk mempermudah aplikasi dalam membuat dan mengakses database. Sekarang
untuk kelanjutannyaakan dibuat sebuah kelas yang berfungsi untuk insert data atau create data.
Kelas ini berfungsi untuk menambahkan data barang baru ke database. Dan inilah daftar file-
file yang akan kita buat :
menu.xml : berfungsi untuk membuat sebuah layout main menu
create_data.xml : berfungsi sebagail layout untuk tampilan input data
DBDataSource.java : berfungsi sebagai Controller, kelas inilah yang nantinya
berguna untuk melakukan operasi-operasi pada database, termasuk operasi Create Data
CreateData.java : berfungsi sebagai View atau interface untuk memasukkan data

menu.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/nama_app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textSize="20sp"
android:textColor="#00BFFF"
android:text="KeDai ComputerWorks"
/>

<Button
android:id="@+id/button_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/nama_app"
android:layout_centerHorizontal="true"
android:text="Tambah Data"
/>

</RelativeLayout>
PENGENALAN ANDROID
KeDai Computerworks

menu.java

package com.example.hadrianmetrix.database;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class menu extends Activity implements OnClickListener{


private Button bTambah;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);

bTambah = (Button) findViewById(R.id.button_tambah);


bTambah.setOnClickListener(this);

}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.button_tambah :
Intent i = new Intent(this, CreateData.class);
startActivity(i);
break;
}
}

}
PENGENALAN ANDROID
KeDai Computerworks
create_data.xml

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/nama_app"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textSize="20sp"
android:textColor="#00BFFF"
android:text="KeDai ComputerWorks"
/>

<Button
android:id="@+id/button_tambah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/nama_app"
android:layout_centerHorizontal="true"
android:text="Tambah Data"
/>

</RelativeLayout>

Layout di atas berisi EditText yang berfungsi sebagai wadah inputan tiga buah informasi dasar,
yaitu nama barang, merk barang dan harga barang, dan sebuah tombol submit di bawahnya.

CreateData.java
package com.example.hadrianmetrix.database;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class CreateData extends Activity implements OnClickListener{


//inisilisasi elemen-elemen pada layout
private Button buttonSubmit;
private EditText edNama;
private EditText edMerk;
private EditText edHarga;
//inisialisasi kontroller/Data Source
PENGENALAN ANDROID
KeDai Computerworks
private DBDataSource dataSource;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_data);

buttonSubmit = (Button) findViewById(R.id.buttom_submit);


buttonSubmit.setOnClickListener(this);
edNama = (EditText) findViewById(R.id.nama_barang);
edHarga = (EditText) findViewById(R.id.harga_barang);
edMerk = (EditText) findViewById(R.id.merk_barang);

// instanstiasi kelas DBDataSource


dataSource = new DBDataSource(this);

//membuat sambungan baru ke database


dataSource.open();
}

//KETIKA Tombol Submit Diklik


@Override
public void onClick(View v) {
// Inisialisasi data barang
String nama = null;
String merk = null;
String harga = null;
@SuppressWarnings("unused")

//inisialisasi barang baru (masih kosong)


barang barang = null;
if(edNama.getText()!=null && edMerk.getText()!=null &&
edHarga.getText()!=null)
{
/* jika field nama, merk, dan harga tidak kosong
* maka masukkan ke dalam data barang*/
nama = edNama.getText().toString();
merk = edMerk.getText().toString();
harga = edHarga.getText().toString();
}

switch(v.getId())
{
case R.id.buttom_submit:
// insert data barang baru
barang = dataSource.createBarang(nama, merk, harga);

//konfirmasi kesuksesan
Toast.makeText(this, "masuk Barang\n" +
"nama" + barang.getNama_barang() +
"merk" + barang.getMerk_barang() +
"harga" + barang.getHarga_barang(),
Toast.LENGTH_LONG).show();
break;
}
PENGENALAN ANDROID
KeDai Computerworks
}
}

DBDataSource.java

package com.example.hadrianmetrix.database;
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public class DBDataSource {

//inisialiasi SQLite Database


private SQLiteDatabase database;

//inisialisasi kelas DBHelper


private DBHelper dbHelper;

//ambil semua nama kolom


private String[] allColumns = { DBHelper.COLUMN_ID,
DBHelper.COLUMN_NAME,
DBHelper.COLUMN_MERK,DBHelper.COLUMN_HARGA};

//DBHelper diinstantiasi pada constructor


public DBDataSource(Context context)
{
dbHelper = new DBHelper(context);
}

//membuka/membuat sambungan baru ke database


public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}

//menutup sambungan ke database


public void close() {
dbHelper.close();
}

//method untuk create/insert barang ke database


public barang createBarang(String nama, String merk, String
harga) {

// membuat sebuah ContentValues, yang berfungsi


// untuk memasangkan data dengan nama-nama
// kolom pada database
ContentValues values = new ContentValues();
values.put(DBHelper.COLUMN_NAME, nama);
values.put(DBHelper.COLUMN_MERK, merk);
values.put(DBHelper.COLUMN_HARGA, harga);
PENGENALAN ANDROID
KeDai Computerworks
// mengeksekusi perintah SQL insert data
// yang akan mengembalikan sebuah insert ID
long insertId = database.insert(DBHelper.TABLE_NAME, null,
values);

// setelah data dimasukkan, memanggil


// perintah SQL Select menggunakan Cursor untuk
// melihat apakah data tadi benar2 sudah masuk
// dengan menyesuaikan ID = insertID
Cursor cursor = database.query(DBHelper.TABLE_NAME,
allColumns, DBHelper.COLUMN_ID + " = " + insertId,
null,
null, null, null);

// pindah ke data paling pertama


cursor.moveToFirst();

// mengubah objek pada kursor pertama tadi


// ke dalam objek barang
barang newBarang = cursorToBarang(cursor);

// close cursor
cursor.close();

// mengembalikan barang baru


return newBarang;
}

private barang cursorToBarang(Cursor cursor)


{
// buat objek barang baru
barang barang = new barang();
// debug LOGCAT
Log.v("info", "The getLONG "+cursor.getLong(0));
Log.v("info", "The setLatLng
"+cursor.getString(1)+","+cursor.getString(2));

/* Set atribut pada objek barang dengan


* data kursor yang diambil dari database*/
barang.setId(cursor.getLong(0));
barang.setNama_barang(cursor.getString(1));
barang.setMerk_barang(cursor.getString(2));
barang.setHarga_barang(cursor.getString(3));

//kembalikan sebagai objek barang


return barang;
}
}

memodifikasi AndroidManifest.xml Kita pindahkan intent filter launcher nya ke Activity


Menu supaya aktivitas tersebut yang dijalankan pertama kali apabila aplikasi dibuka
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
PENGENALAN ANDROID
KeDai Computerworks
package="com.example.hadrianmetrix.database">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".menu">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Maka Outpuynya

Anda mungkin juga menyukai