2017
Aulia, Dirza
http://repositori.usu.ac.id/handle/123456789/3642
Downloaded from Repositori Institusi USU, Univsersitas Sumatera Utara
MEMBANGUN APLIKASI CATATAN BERBASIS ANDROID
DENGAN MENGGUNAKAN ANDROID STUDIO
TUGAS AKHIR
DIRZA AULIA
142406054
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
DIRZA AULIA
142406054
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil karya sendiri. Kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Dirza Aulia
142406054
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan
Maha Penyayang, dengan limpah karunia-Nya Penulis dapat menyelesaikan
penyusunan Tugas Akhir ini dengan judul Membangun Aplikasi Catatan Berbasis
Android Dengan Menggunakan Android Studio.
Terima kasih penulis sampaikan kepada Drs. Agus Salim Haraphap, M.Si
selaku pembimbing yang telah meluangkan waktunya selama penyusunan Tugas
Akhir ini. Terima kasih kepada Dr. Dra. Elly Rosmaini, M.Si sebagai Dosen
Pembimbing Akademik yang telah membimbing penulis selama duduk di bangku
perkuliahan. Terima kasih kepada Ibu Dra. Normalina Napitupulu, M.Sc dan Bapak
Drs. James Piter Marbun, M.Kom selaku Ketua dan Sekretaris Program Studi D3
Teknik Informatika FMIPA USU Medan, Dekan dan Wakil Dekan FMIPA USU,
seluruh Staf dan Dosen Program Studi D3 Teknik Informatika FMIPA USU,
pegawai FMIPA USU dan rekan – rekan kuliah. Akhirnya tidak terlupakan kepada
Bapak, Ibu dan keluarga yang selama ini memberikan bantuan dan dorongan yang
diperlukan. Semoga Tuhan Yang Maha Esa akan membalasnya.
Dirza Aulia
ABSTRAK
Kajian ini bertujuan untuk membangun sebuah aplikasi catatan berbasis sistem
operasi Android. Aplikasi catatan ini dikembangkan dengan menggunakan
perangkat lunak Android Studio. Metodologi pengembangan sistem yang
digunakan adalah berdasarkan siklus hidup pengembangan sistem dan pendekatan
model air terjun dan iterasinya. Aplikasi catatan ini meliputi membuat dan
penyimpan catatan baru, mengubah catatan yang telah dibuat dan menghapus
catatan yang ada dimana semuanya itu terhubung dengan basis data. Objektif utama
dari aplikasi catatan ini adalah untuk memudahkan menyimpan catatan dimana saja
dan kapan saja serta data catatan tersebut dapat diatur dengan baik.
ABSTRACT
This study is to develop a notes application on Android operating system. This notes
application is developed with Android Studio software. The methodology for the
development of the system was based on System Development Life Cycle using
Water Fall Model and its iteration approach. This notes application contain creating
and saving a new note, editing an already created note and deleting a note where all
that is connected to a database. The main objective of this notes application is to
makes it easy to saving a note anywhere and anytime also the note data can be well
organized.
Halaman
Persetujuan i
Pernyataan ii
Penghargaan iii
Abstrak iv
Abstract v
Daftar Isi vi
Daftar Tabel viii
Daftar Gambar ix
Bab 1. Pendahuluan
1.1. Latar Belakang 1
1.2. Rumusan Masalah 3
1.3. Batasan Masalah 3
1.4. Tujuan 4
1.5. Manfaat 4
1.6. Metodologi Penelitian 5
1.7. Sistematika Penulisan 6
Daftar Pustaka 49
Lampiran
PENDAHULUAN
Pada saat sekarang ini seiring dengan perkembangan teknologi, masyarakat telah
menganggap teknologi bukan sebagai sesuatu yang mewah lagi tetapi sudah sebagai
teknologi smartphone. Masyarakat yang ada di dunia saat ini hampir semua telah
mengenal smartphone dan sudah hampir tidak ada lagi yang menggunakan
handphone. Hal ini tidak terlepas dari perkembangan pesat sistem operasi Android.
Sejak hadir pada tahun 2008, saat ini hampir semua vendor dan produsen
besar lainnya yaitu Microsoft dan Apple. Kehadiran sistem operasi Android
Android sendiri adalah sistem operasi mobile yang dikembangkan oleh Google.
Google mengembangkan Android sebagai sistem operasi yang bersifat open source,
artinya sistem operasi ini dapat dikembangkan oleh siapa saja yang ingin
mendesain versi Android mereka masing – masing tanpa menghilangkan inti dari
Android yang dikembangkan oleh Google. Hal ini juga berdampak langsung
lunak ( software ) bagi setiap orang yang ingin mengembangkan aplikasi Android
Android.
pengolah kata ( word processing ), pemutar musik dan video serta berbagai jenis
aplikasi lainnya. Diantara berbagai macam jenis aplikasi yang telah hadir pada
Android, salah satu aplikasi sederhana yang memiliki banyak fungsi dan manfaat
adalah aplikasi penyimpan catatan. Aplikasi penyimpan catatan ini sendiri sesuai
dengan namanya berfungsi untuk menyimpan segala catatan yang dibuat oleh
pengguna yang nantinya akan tersimpan dan dapat dilihat kembali saat diperlukan
oleh pengguna. Manfaat aplikasi ini dapat dirasakan oleh semua orang dalam
masakan yang telah dibuatnya. Contoh lainnya yaitu seorang pelajar dapat
sekolah sekaligus mencatat tugas – tugas dan pekerjaan rumah yang perlu
manfaatnya.
masalah yaitu :
Mengacu pada latar belakang, rumusan masalah dan batasan masalah maka tujuan
menyimpan catatan.
2. Aplikasi catatan ini dapat membuat catatan baru, mengubah catatan yang
telah ada dan juga menghapus catatan yang sudah tidak diperlukan sesuai dengan
kebutuhan pengguna.
1.5. Manfaat
Setelah dijelaskan tujuan dari pengembangan aplikasi catatan ini maka manfaat yang
1. Pengguna aplikasi catatan ini nantinya akan mudah untuk membuat catatan
tugas akhir ini dapat diselesaikan dengan baik. Adapun metodologi penelitian yang
1. Pengumpulan Data
Pengumpulan data – data yang erat kaitannya dengan permasalahan yang terjadi
dengan membaca berbagai buku, mencari informasi melalui internet dan dari sumber
yang lainnya.
2. Identifikasi Masalah
Identifikasi masalah dilakukan dengan melihat dari data yang sudah terkumpul dan
judul.
3. Perancangan Aplikasi
database, kode program untuk menjadikannya sebagai sebuah aplikasi catatan pada
Pengujian merupakan tahapan di mana aplikasi catatan ini akan di uji coba setelah
selesai untuk melihat apakah aplikasi sudah dapat berjalan sesuai dengan yang
5. Penyusunan Laporan
Adapun sistematika penulisan dari laporan tugas akhir ini adalah sebagai berikut :
BAB 1 : PENDAHULUAN
Bagian tinjauan pustaka ini berisikan teori – teori yang akan menjadi acuan dalam
Bagian hasil dan pembahasan menjelaskan bagaimana hasil dari aplikasi yang telah
dirancang lalu akan dibahas apakah aplikasi yang dirancang sudah mencapai tujuan
Pada bab ini, kesimpulan diambil dari hasil dan pembahasan aplikasi yang telah
TINJAUAN PUSTAKA
2.1. Android
Menurut Juhara (2016), Android adalah sistem operasi berbasis Linux yang
dimodifikasi untuk perangkat bergerak ( mobile device ) yang terdiri dari sistem
Google dimana Android didesain untuk perangkat mobile dengan layar sentuh.
Tidak hanya pada perangkat mobile kini Android juga telah ada pada televisi yaitu
Android TV, pada kendaraan yaitu Android Auto, pada jam tangan yaitu Android
Wear dan Android juga terdapat pada berbagai perangkat elektronik lainnya seperti
Kode program Android dirilis oleh Google dibawah lisensi open source
operasi Android mereka sendiri tanpa menghilangkan inti dari Android yang
dikembangkan oleh Google. Tidak hanya itu karena sifatnya yang open source
mereka dengan berbagai fitur – fitur baru dan kemudian dibagikan kepada orang lain
Awalnya Android dikembangkan oleh perusahaan asal Amerika Serikat yang berada
di Palo Alto, California yang bernama Android Inc. Android Inc berdiri pada
Oktober 2003 yang didirikan oleh Andy Rubin, Rich Miner, Nick Sears dan Chris
sistem operasi pada kamera digital tetapi kemudian mereka menyadari bahwa pasar
penjualan untuk perangkat tersebut tidak terlalu luas sehingga mereka mengubah
Kemudian pada Juli 2005, Google mengakuisisi Android Inc dengan jumlah
paling sedikit 50 juta US Dollar. Para pendiri dari Android Inc juga bergabung
dengan Google sebagai bagian dari akuisisi. Pada saat itu belum banyak yang
Semenjak dirilis pertama kali secara komersial pada tahun 2008, Android telah
dilakukan dimana pembaharuan ini bertujuan untuk menambah berbagai fitur – fitur
baru serta memperbaiki kesalahan – kesalahan ( errors ) serta bugs yang ada pada
versi terdahulunya. Setiap versi mayor dari pembaharuan Android ini diberikan kode
nama masing – masing yang diambil dari nama kue dan makanan penutup yang
3.0– 22 Februari
Honeycomb 11–13 Tidak didukung
3.2.6 2011
lagi
Versi terakhir dari Android pada saat ini adalah Android Nougat dengan nomor
versi 7.1.2 tetapi Google masih memberikan dukungan mulai dari versi KitKat
tetapi masih banyak pengguna Android yang belum mengganti smartphone mereka
ke versi yang lebih baru dan tetapi memakai versi yang lama. Berikut data pengguna
Android memiliki beragam fitur yang dapat digunakan oleh pengguna. Berikut
1. Antarmuka
lewat layar sentuh tersebut dan juga pengguna dapat mengetik lewat virtual
Android seperti contohnya yaitu layar dapat berubah posisi dari potrait
Pada Android terdapat berbagai macam aplikasi yang dapat digunakan oleh
dijadikan sebagai aplikasi bawaan pada Android. Selain itu ada juga aplikasi
lainnya yang dapat diunduh oleh pengguna lewat layanan Google Play Store
milik Google. Pada Google Play Store tersebut terdapat berbagai macam
development kit secara gratis yang dapat diunduh oleh para pengembang
Android yaitu Android Studio. Pada Android Studio juga telah termasuk
dengan software development kit tersebut dan berbagai tools lainnya untuk
3. Manajemen Memory
konsumsi daya tetap pada tingkat yang paling sedikit. Saat suatu aplikasi
dan penggunaan CPU agar nantinya jika pengguna ingin memakai aplikasi
pengguna.
Saat kondisi memory rendah maka sistem di latar belakang akan secara
otomatis menutup proses yang tidak aktif dimulai dengan proses yang paling
kernel Linux. Android dikembangkan untuk bekerja dengan membuat stack software
( tumpukan perangkat lunak ) agar dapat berjalan dengan baik pada berbagai
1. Kernel Linux
tingkat Java API Framework yang lebih tinggi. HAL terdiri dari berbagai
Bluetooth module.
keras dari suatu perangkat Android maka sistem akan mengambil library
3. Android Runtime
Untuk perangkat Android yang menjalankan versi 5.0 ( API level 21 ) atau
yang lebih tinggi, setiap aplikasi berjalan pada prosesnya sendiri dan juga
memory rendah dengan mengeksekusi DEX file yaitu kode byte yang
kapasitas memory yang minim. Beberapa fitur utama dari ART adalah
sebagai berikut :
Pada perangkat Android yang menjalankan versi dibawah 5.0 ( API level
adalah Dalvik Virtual Machine. Jika suatu aplikasi berjalan lancar pada
Android Runtime maka aplikasi tersebut pasti akan berjalan lancar pada
Berbagai macam komponen dan layanan pada Android seperti ART dan
HAL dibangun dengan native code yang membutuhkan native libraries yang
kembangkan.
Seluruh fitur dari sistem operasi Android tersedia dengan menggunakan API
dan juga web browser yang dapat disematkan pada aplikasi tersebut.
4) Activity Manager yang mengatur siklus hidup dari suatu aplikasi dan
6. Aplikasi Sistem
kontak, kalender, internet browser dan lain sebagainya. Aplikasi bawaan ini
tidak diatur sebagai aplikasi utama dari perangkat Android tersebut sehingga
sebagai contoh pengguna dapat mengunduh aplikasi internet browser yang lain
lewat Google Play Store dan menjadi aplikasi internet browser tersebut sebagai
aplikasi utama.
tidak perlu untuk membangun layanan pengiriman pesan SMS tersebut sendiri
tetapi cukup dengan meminta aplikasi pengirim pesan SMS yang tersedia pada
Java/ Seluruh fitur yang ada pada InteliJ IDEA juga terdapat pada Android Studio
yang kemudian ditambahkan lagi fitur – fitur lainnya agar dapat meningkatkan
itu pada smartphone, Android TV, Android Wear dan perangkat Android
lainnya.
Android Studio pertama kali diumumkan oleh Google pada 16 Mei 2013 pada
Google I/O Conference dan menggantikan Eclipse sebagai software IDE resmi
untuk platform Android. Saat ini Android Studio telah mencapai versi 2.3.1 yang
dirilis pada 2 April 2017 dan tersedia untuk diunduh secara gratis untuk sistem
operasi Windows, macOS dan Linux. Berikut adalah kebutuhan sistem untuk
Berbeda dengan sistem manajemen basis data yang lain, SQLite bukan merupakan
database yang bersifat client – server. Tetapi SQLite merupakan database yang
disisipkan pada sesuatu perangkat lunak, aplikasi dan juga sistem operasi. Android
merupakan salah satu sistem operasi yang didalamnya disisipkan database SQLite.
tahun 2000 dimana Hipp bekerja untuk Angkatan Laut Amerika Serikat. Kemudian
SQLite dirilis pada bulan Agustus 2000 dan perkembangannya terus dilakukan
sampai saat sekarang ini dengan versi terakhirnya saat ini adalah SQLite 3.18.0.
2.4. Java
aplikasi dapat write once, run anywhere ( WORA ) yang maksudnya setelah kode
pemrograman software tersebut ditulis dan di-compile maka software tersebut dapat
Software dan aplikasi yang dibangun dengan bahasa pemrograman Java akan di-
manapun tanpa bergantung pada arsitektur komputernya. Pada tahun 2016 tercatat
bahwa Java merupakan salah satu bahasa pemrograman yang paling populer
Awal dari perkembangan bahasa pemrograman Java dimulai dari bulan Juni
1991 dimana James Gosling, Mike Sheridan dan Patrick Naughton menginisiasi
Java yaitu untuk televisi interaktif tapi pada masa itu masih tidak memungkinkan.
Penamaan awal dari bahasa pemrograman Java adalah Oak yang diambil namanya
dari pohon Oak yang ada diluar kantornya Gosling. Kemudian nama tersebut diganti
menjadi Green dan pada akhirnya dinamakan Java yang diambil dari kopi Jawa (
Jawa yang dalam bahasa inggris adalah Java ). Gosling mendesain Java agar syntax-
nya mirip dengan bahasa pemrograman C/C++ sehingga para programmer akan
Java pertama yaitu 1.0 pada tahun 1995. Kemudian perkembangan Java terus
dilakukan sampai dengan tahun 2009 saat Sun Microsystems diakuisisi oleh Oracle
Corporation. Perkembangan Java tidak berhenti disitu dan terus berkembang sampai
dengan saat ini dimana versi terakhir dari Java saat ini yaitu Java 9.
METODOLOGI PENELITIAN
Pengembangan aplikasi catatan ini didasari oleh kebutuhan dasar setiap orang untuk
mencatat setiap kegiatan ataupun kebutuhan sehari – harinya. Pada saat sekarang ini
Kekurangan dari hal ini adalah dimana catatan – catatan tersebut dapat dengan
mudah hilang atau orang tersebut lupa dimana menyimpan atau meletakkan catatan
dimana pengguna dapat mencatat setiap kegiatan dan kebutuhan mereka tanpa perlu
khawatir dan lupa dimana mereka menyimpan catatan mereka. Aplikasi ini
Setiap catatan yang dibuat oleh pengguna nantinya akan tersimpan dan
dapat dilihat kembali oleh pengguna tersebut. Jika terdapat kesalahan pada catatan
tersebut pengguna dapat mengubahnya dan juga menghapus catatan yang sudah
terhadap catatan yang mereka buat sehingga catatan dapat diorganisir dengan baik.
Dalam pengembangan aplikasi catatan ini terdapat beberapa alat dan perangkat yang
digunakan. Berikut adalah alat dan perangkat yang digunakan dalam pengembangan
Perangkat keras yang digunakan dalam pengembangan aplikasi catatan ini yaitu
sebagai berikut :
1. Personal Computer ( PC )
2. Smartphone Android
Core 2GB
3) RAM : 2GB
Perangkat lunak yang digunakan dalam pengembangan aplikasi catatan ini yaitu
Android Studio.
Pada perancangan aplikasi catatan ini akan terdiri dari perancangan database dan
termasuk ke dalam sistem operasi Android sehingga tidak perlu lagi untuk
untuk aplikasi catatan ini. Berikut adalah tabel database yang ada pada aplikasi
1. Tabel Catatan
nantinya pada tabel catatan ini akan menyimpan id yang merupakan nomor
Logo
Aplikasi
aplikasi ini yang dimana akan menampilkan logo dari aplikasi catatan.
2. Menu Navigasi
logo, nama dan versi aplikasi dibagian atas lalu kemudian terdapat
yaitu activity catatan baru yang berfungsi untuk membuat catatan baru,
Judul Catatan
Kategori
Catatan
Kutipan Isi Catatan
catatan yang telah dibuat oleh pengguna. Pada activity daftar catatan
akan terdapat kategori catatan yang berupa simbol huruf sesuai dengan
kategorinya lalu ada judul catatan dan sedikit kutipan dari isi catatan
Kategori
Judul Catatan
Catatan
Isi Catatan
membuat catatan baru. Pada activity catatan baru akan terdapat button
buah textbox dimana pengguna dapat mengisi judul dan isi catatan.
Setelah pengguna memilih kategori catatan serta mengisi judul dan isi
button simpan catatan yang berada disudut kanan atas layar smartphone.
smartphone.
Kategori
Judul Catatan
Catatan
Isi Catatan
activity ubah catatan berfungsi untuk mengubah catatan yang telah dibuat
Kembali
Pilihan Petunjuk
Aplikasi
Petunjuk Aplikasi
catatan baru, cara untuk mengubah catatan dan cara untuk menghapus
aplikasi ini.
Untuk memahami proses kerja aplikasi catatan ini maka dibutuhkan flowchart
(diagram alir) yang akan menunjukkan bagaimana proses kerja aplikasi catatan,
catatan kemudian pengguna akan membuat catatan yang baru setelah itu catatan
baru tersebut akan disimpan ke dalam database daftar catatan kemudian catatan
yang telah dibuat tersebut akan ditampilkan kembali pada daftar catatan.
mengulang proses seebelumnya dan apabila pengguna tidak ingin membuat catatan
baru maka pengguna dapat mengubah catatan yang telah dibuat apabila pengguna
tersebut akan ditampilkan kembali. Pengguna juga dapat menghapus catatan yang
diinginkannya.
pemrograman Java serta untuk desain tampilan antar mukanya ( user interface )
catatan ini pada smartphone mereka atau pada personal computer ( PC ) dengan
mengguna emulator Android. Pada bagian ini merupakan bagian pengujian dari
aplikasi catatan beserta hal – hal yang terjadi saat proses pengujian berlangsung.
Pada bagian ini akan dijelaskan bagaimana hasil dari pengujian terhadap aplikasi
catatan yang sebelumnya telah dirancang. Hasil pengujian ini akan dijelaskan
berdasarkan setiap activity atau menu yang ada pada aplikasi catatan, adapun hasil
Splash Screen aplikasi ini merupakan tampilan awal yang pertama kali
Splash Screen ini berguna sebagai tampilan awal yang akan menampilkan
Gambar 4.2 Tampilan activity daftar catatan saat tidak ada catatan
sehingga activity daftar catatan menjadi menu utama dari aplikasi catatan ini.
Pada bagian atas kiri terdapat menu navigasi yang berisikan beberapa pilihan
menu fungsi untuk aplikasi catatan dan pada bagian bawah kanan terdapat
Menu navigasi merupakan menu yang akan tampil saat pengguna mengetuk
button menu di sebelah kiri atas layar saat berada pada activity daftar catatan.
Pada menu navigasi ini akan terdapat beberapa button yaitu button catatan
aplikasi.
Activity catatan baru merupakan menu saat pengguna akan membuat catatan
baru. Pada bagian kiri atas terdapat button untuk memilih kategori catatan
Disebelah button untuk memilih kategori terdapat text box dimana pengguna
isi dari catatan yang akan dibuat. Setelah semuanya di isi lalu pengguna
Activity tampil catatan akan merupakan activity yang akan tampil saat
activity daftar catatan. Secara desain tampilan, activity tampil catatan tidak
jauh berbeda dengan activity catatan baru hanya saja pada activity tampil
melihat dan membaca catatan tersebut. Hal ini dilakukan agar saat pengguna
melihat catatan yang telah dibuatnya, catatan tersebut tidak akan berubah
isinya apabila terjadi kesalahan kesalahan yang tidak sengaja dilakukan oleh
pengguna.
tahan ) catatan yang ingin diubahnya pada activity daftar catatan kemudian
akan tampil sebuah menu opsi pilihan yang akan menampilkan opsi untuk
mengubah catatan atau menghapus catatan seperti yang terlihat pada gambar
dibawah ini
activity ubah catatan akan tampil. Dilihat dari segi desain tampilan, activity
ubah catatan memiliki tampilan yang sama dengan activity catatan baru
mengetuk button ‘Simpan Catatan’ yang berada di sebelah kanan atas layar
pilihan pada activity petunjuk aplikasi yang dapat dipilih oleh pengguna,
tanggal pembaharuan terakhir dari aplikasi dan juga nama pengembang dari
aplikasi catatan.
5.1. Kesimpulan
Dari hasil uji coba aplikasi catatan yang telah dilakukan pada emulator Android
yang dijlankan pada PC ( personal computer ) dan juga smartphone Android dapat
disimpulkan bahwa :
baru, mengubah catatan yang lama serta menghapus catatan yang telah
dibuatnya.
Saran yang dapat diberikan oleh penulis atas penelitian ini adalah sebagai berikut:
berbagai hal yang harus diperbaiki agar kedepannya pengguna akan lebih
2. Dari segi penggunaan aplikasi catatan ini sendiri hanya tersedia dalam
Suprianto, Dodit dan Rini A. 2012. Pemrograman Aplikasi Android ( Step by Step
Membuat Aplikasi Android untuk Smartphone dan Tablet ). Mediacom.
Yogyakarta.
1. AdapterCatatan.java
package com.dirzaaulia.bukucatatan;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import org.w3c.dom.Text;
import java.util.ArrayList;
TextView judulCatatan;
TextView isiCatatan;
TextView kategoriCatatan;
super(context, 0, listCatatan);
}
@Override
public View getView(int position, View convertView,
ViewGroup parent){
viewHolder.kategoriCatatan.setText(catatan.ambilKategoriYangSe
suai());
2. AdapterDatabaseCatatan.java
package com.dirzaaulia.bukucatatan;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.CalendarContract;
import android.util.Log;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.concurrent.SynchronousQueue;
context = ctx;
}
helperDatabaseCatatan = new
return this;
}
helperDatabaseCatatan.close();
}
values.put(KOLOM_JUDUL, judul);
values.put(KOLOM_ISI, isi);
values.put(KOLOM_KATEGORI, kategori.name());
values.put(KOLOM_TANGGAL,
Calendar.getInstance().getTimeInMillis() + "");
cursor.moveToFirst();
Catatan catatanBaru = cursorKeCatatan(cursor);
cursor.close();
return catatanBaru;
}
values.put(KOLOM_JUDUL, judulBaru);
values.put(KOLOM_ISI, isiBaru);
values.put(KOLOM_KATEGORI, kategoriBaru.name());
values.put(KOLOM_TANGGAL,
Calendar.getInstance().getTimeInMillis() + "");
for(cursor.moveToLast(); !cursor.isBeforeFirst();
cursor.moveToPrevious()){
cursor.close();
return listCatatan;
return catatanBaru;
}
//Membuat kelas SQLiteOpenHelper sebagai DBMS dari
aplikasi ke database
private static class HelperDatabaseCatatan extends
SQLiteOpenHelper{
HelperDatabaseCatatan(Context ctx){
Log.w(HelperDatabaseCatatan.class.getName(),
"Upgrade versi database dari versi " + oldVersion + " ke versi
" + newVersion + ", yang akan menghapus semua data lama");
3. BuatCatatanFragment.java
package com.dirzaaulia.bukucatatan;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public BuatCatatanFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
} else {
setHasOptionsMenu(true);
}
kategori.setText(Catatan.kategoriUntukDiTampilkan(kategoriCata
tanYangDiPilih));
judul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
judul.setTextColor(getResources().getColor(R.color.warnaHitam)
);
}
});
isi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
super.onSaveInstanceState(savedInstanceState);
switch (item){
kategori.setText(R.string.daftarCatatanPribadi);
break;
case 1:
//Ubah Catatan.Category menjadi Kuliah
kategoriCatatanYangDiPilih =
Catatan.Category.KULIAH;
//Buat teks menjadi 'Ku'
kategori.setText(R.string.daftarCatatanKuliah);
break;
case 2:
//Ubah Catatan.Category menjadi
Keluarga
kategoriCatatanYangDiPilih =
Catatan.Category.KELUARGA;
//Buat teks menjadi 'Ke'
kategori.setText(R.string.daftarCatatanKeluarga);
break;
}
}
});
dbAdapter.buatCatatanBaru(judul.getText() +
"", isi.getText() + "",
(kategoriCatatanYangDiPilih == null)?
Catatan.Category.PRIBADI : kategoriCatatanYangDiPilih);
dbAdapter.close();
}
});
inflater.inflate(R.menu.menu_buat_catatan, menu);
}
//noinspection SimplifiableIfStatement
if (id == R.id.buatCatatan_simpanCatatan) {
dialogKonfirmasiObjek.show();
}
return super.onOptionsItemSelected(item);
}
}
4. Catatan.java
package com.dirzaaulia.bukucatatan;
this.judul = judul;
this.isi = isi;
this.judul = judul;
this.isi = isi;
this.kategori = kategori;
this.idCatatan = idCatatan;
this.tanggalCatatan = tanggalCatatan;
}
return judul;
}
return isi;
}
return kategori;
}
return tanggalCatatan;
}
return idCatatan;
}
return kategoriUntukDiTampilkan(kategori);
}
switch (kategoriCatatan){
case PRIBADI:
return R.string.daftarCatatanPribadi;
case KULIAH:
return R.string.daftarCatatanKuliah;
case KELUARGA:
return R.string.daftarCatatanKeluarga;
}
return R.string.kategoriPribadi;
}
}
5. DetailCatatanActivity.java
package com.dirzaaulia.bukucatatan;
import android.content.Intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail_catatan);
buatDanTampilkanFragment();
}
//Letakkan tampilCatatanFragment ke
penampungCatatan yaitu ID dari DetailCatatanActivity
fragmentTransaction.add(R.id.penampung_catatan,
tampilCatatanFragment, "TAMPIL_CATATAN_FRAGMENT");
break;
//Letakkan tampilCatatanFragment ke
penampungCatatan yaitu ID dari DetailCatatanActivity
fragmentTransaction.add(R.id.penampung_catatan,
ubahCatatanFragment, "UBAH_CATATAN_FRAGMENT");
break;
case BUAT:
//Mendeklarasikan buatCatatanFragment untuk
//Letakkan buatCatatanFragment ke
penampunCatatan yaitu ID dari DetailCatatanActivity
fragmentTransaction.add(R.id.penampung_catatan,
buatCatatanFragment, "BUAT_CATATAN_FRAGMENT");
//Lakukan fragmentTransaction
fragmentTransaction.commit();
}
}
6. FragmentDaftarCatatan.java
package com.dirzaaulia.bukucatatan;
import android.app.ListFragment;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.AlertDialog;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
super.onActivityCreated(savedInstanceState);
//getListView().setDivider(ContextCompat.getDrawable(getActivi
ty(), android.R.color.darker_gray));
// getListView().setDividerHeight(1);
tampilkanDetailCatatanActivity(MainActivity.fragmentUntukDiTam
pilkan.LIHAT, position);
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater menuInflater =
getActivity().getMenuInflater();
menuInflater.inflate(R.menu.menu_sentuh_lama, menu);
tampilkanDetailCatatanActivity(MainActivity.fragmentUntukDiTam
pilkan.UBAH, rowPosition);
return true;
case R.id.hapusCatatan:
//Mendeklarasikan
AdapterDatabaseCatatan
AdapterDatabaseCatatan dbAdapter = new
AdapterDatabaseCatatan(getActivity().getBaseContext());
//Membuka koneksi database
dbAdapter.open();
dbAdapter.hapusCatatan(catatan.ambilIDCatatan());
listCatatan.addAll(dbAdapter.ambilSemuaCatatan());
//Berikan notifikasi kepada
adapterCatatan bahwa data telah berubah
adapterCatatan.notifyDataSetChanged();
buatKonfirmasi.setNegativeButton("Batal", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface
dialog, int which) {
}
});
buatKonfirmasi.create();
buatKonfirmasi.show();
return true;
}
return super.onContextItemSelected(item);
}
private void
tampilkanDetailCatatanActivity(MainActivity.fragmentUntukDiTam
pilkan ftl, int position){
case LIHAT:
intent.putExtra(MainActivity.FRAGMENT_CATATAN_YANG_DITAMPILKAN
_EXTRA, MainActivity.fragmentUntukDiTampilkan.LIHAT);
break;
case UBAH:
intent.putExtra(MainActivity.FRAGMENT_CATATAN_YANG_DITAMPILKAN
_EXTRA, MainActivity.fragmentUntukDiTampilkan.UBAH);
break;
}
//Jalankan intent
startActivity(intent);
}
}
7. MainActivity.java
package com.dirzaaulia.bukucatatan;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intent.putExtra(MainActivity.FRAGMENT_CATATAN_YANG_DITAMPILKAN
_EXTRA, fragmentUntukDiTampilkan.BUAT);
//Jalankan intent
startActivity(intent);
}
});
navigationView.setNavigationItemSelectedListener(this);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_catatanBaru) {
intent.putExtra(MainActivity.FRAGMENT_CATATAN_YANG_DITAMPILKAN
_EXTRA, fragmentUntukDiTampilkan.BUAT);
//Jalankan intent
startActivity(intent);
return true;
8. PetunjukAplikasiActivity.java
package com.dirzaaulia.bukucatatan;
import android.content.DialogInterface;
import android.media.audiofx.BassBoost;
import android.provider.Settings;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_petunjuk_aplikasi);
listView.setAdapter(adapterPetunjukAplikasi);
listView.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,
View view, int position, long id) {
String petunjuk =
String.valueOf(parent.getItemAtPosition(position));
if (petunjuk.equals("1.Petunjuk Daftar
Catatan")) {
textView.setText("");
textView.setText(R.string.petunjukDaftarCatatan);
}
else if (petunjuk.equals("2.Petunjuk Catatan
Baru")){
textView.setText("");
textView.setText(R.string.petunjukCatatanBaru);
}
textView.setText("");
textView.setText(R.string.petunjukUbahCatatan);
}
else if (petunjuk.equals("4.Petunjuk Hapus
Catatan")){
textView.setText("");
textView.setText(R.string.petunjukHapusCatatan);
}
}
});
}
}
9. SplashScreenActivity.java
package com.dirzaaulia.bukucatatan;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
lamaSplash.start();
}
@Override
protected void onPause(){
super.onPause();
finish();
10. TampilCatatanFragment.java
package com.dirzaaulia.bukucatatan;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public TampilCatatanFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
judul.setText(intent.getExtras().getString(MainActivity.JUDUL_
CATATAN_EXTRA));
isi.setText(intent.getExtras().getString(MainActivity.ISI_CATA
TAN_EXTRA));
kategori.setText(Catatan.kategoriUntukDiTampilkan(kategoriCata
tan));
11. TentangAplikasiActivity.java
package com.dirzaaulia.bukucatatan;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tentang_aplikasi);
12. UbahCatatanFragment.java
package com.dirzaaulia.bukucatatan;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tentang_aplikasi);
13. activity_detail_catatan.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.dirzaaulia.bukucatatan.DetailCatatanActivit
y">
</LinearLayout>
14. activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
tools:context="com.dirzaaulia.bukucatatan.PetunjukAplikasiActi
vity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/daftarPetunjukAplikasi"
android:id="@+id/textViewDaftarPetunjukAplikasi"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textSize="21sp"
android:textColor="@color/warnaHitam"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listViewPetunjukAplikasi"
android:layout_below="@+id/textViewDaftarPetunjukAplikasi"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="20dp" />
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_below="@+id/listViewPetunjukAplikasi">
</RelativeLayout>
16. activity_splash_screen.xml
<?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"
android:background="@color/warnaPutih"
tools:context="com.dirzaaulia.bukucatatan.SplashScreenActivity
">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/logo_hi_res"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:id="@+id/imageViewLogoSplash" />
</RelativeLayout>
tools:context="com.dirzaaulia.bukucatatan.TentangAplikasiActiv
ity">
<ImageView
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/imageViewLogoAplikasi"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/logo_hi_res"
android:layout_marginTop="30dp"/>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listViewTentangAplikasi"
android:layout_marginTop="25dp"
android:layout_below="@+id/imageViewLogoAplikasi"
android:layout_alignParentStart="true" />
</RelativeLayout>
18. app_bar_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:src="@mipmap/icon_catatan_baru" />
</android.support.design.widget.CoordinatorLayout>
19. content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.dirzaaulia.bukucatatan.MainActivity"
tools:showIn="@layout/app_bar_main">
<fragment
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:name="com.dirzaaulia.bukucatatan.FragmentDaftarCatatan
"
android:id="@+id/fragmentDaftarCatatan"/>
</LinearLayout>
20. daftar_catatan.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:paddingStart="15dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:paddingEnd="15dp">
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@color/colorAccent"
android:text="@string/daftarCatatanPribadi"
android:textAlignment="gravity"
android:gravity="center_horizontal|center_vertical"
android:textColor="@color/warnaPutih"
android:textSize="33sp"
android:textStyle="bold"
android:id="@+id/daftarCatatanKategori"
android:layout_alignParentTop="true"
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Judul Catatan"
android:textSize="18sp"
android:id="@+id/daftarCatatanJudul"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/warnaHitam"
android:layout_alignTop="@+id/daftarCatatanKategori"
android:layout_toEndOf="@+id/daftarCatatanKategori"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Isi Catatan"
android:id="@+id/daftarCatatanIsi"
android:ellipsize="end"
android:singleLine="true"
android:textSize="14sp"
android:layout_below="@+id/daftarCatatanJudul"
android:layout_toRightOf="@+id/daftarCatatanKategori"
/>
</RelativeLayout>
21. fragment_buat_catatan.xml
<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"
tools:context="com.dirzaaulia.bukucatatan.BuatCatatanFragment"
android:paddingStart="15dp"
android:paddingEnd="15dp"
<TextView
android:layout_width="50dp"
android:layout_height="50dp"
android:id="@+id/buatCatatanKategori"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:textSize="33sp"
android:textColor="@color/warnaPutih"
android:text="@string/daftarCatatanPribadi"
android:textStyle="bold"
android:background="@color/colorAccent"
android:gravity="center_horizontal|center_vertical"
android:textAlignment="gravity"
android:layout_marginEnd="25dp"/>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/buatCatatanScrollViewJudul"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/buatCatatanKategori"
android:layout_alignBottom="@+id/buatCatatanKategori">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22sp"
android:minLines="1"
android:hint="@string/judulCatatan"
android:id="@+id/buatCatatanJudul"
android:layout_gravity="center_vertical"
android:textAlignment="gravity"
android:inputType="text"/>
</ScrollView>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minLines="3"
android:hint="@string/isiCatatan"
android:id="@+id/buatCatatanIsi"
android:textSize="18sp"
android:textColor="@color/warnaHitam"
android:paddingTop="5dp"
android:paddingStart="5dp"
android:inputType="textMultiLine"
android:gravity="top"/>
</ScrollView>
</RelativeLayout>
22. fragment_tampil_catatan.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:paddingStart="15dp"
android:paddingEnd="15dp"
android:paddingTop="13dp"
android:paddingBottom="11dp">
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tampilCatatanScrollViewJudul"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/tampilCatatanKategori"
android:layout_alignBottom="@+id/tampilCatatanKategori">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="22sp"
android:text="@string/judulCatatan"
android:id="@+id/tampilCatatanJudul"
android:textColor="@color/warnaHitam"
android:layout_gravity="center_vertical"
android:textAlignment="gravity"/>
</ScrollView>
<ScrollView
android:layout_width="wrap_content"
android:layout_below="@+id/tampilCatatanScrollViewJudul"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentStart="true"
android:layout_marginTop="25dp"
android:id="@+id/tampilCatatanScrollViewIsi">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/isiCatatan"
android:id="@+id/tampilCatatanIsi"
android:textSize="18sp"
android:textColor="@color/warnaHitam"
android:paddingTop="5dp"
android:paddingStart="5dp"/>
</ScrollView>
</RelativeLayout>
23. fragment_ubah_catatan.xml
<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:paddingStart="15dp"
android:paddingEnd="15dp"
android:paddingTop="13dp"
android:paddingBottom="11dp"
tools:context="com.dirzaaulia.bukucatatan.UbahCatatanFragment"
>
<TextView
android:layout_width="50dp"
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ubahCatatanScrollViewJudul"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/ubahCatatanKategori"
android:layout_alignBottom="@+id/ubahCatatanKategori">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22sp"
android:minLines="1"
android:text="@string/judulCatatan"
android:id="@+id/ubahCatatanJudul"
android:textColor="@color/warnaHitam"
android:layout_gravity="center_vertical"
android:textAlignment="gravity"
android:inputType="text"/>
</ScrollView>
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/isiCatatan"
android:minLines="3"
android:id="@+id/ubahCatatanIsi"
android:textSize="18sp"
android:textColor="@color/warnaHitam"
android:paddingTop="5dp"
android:paddingStart="5dp"
android:inputType="textMultiLine"
android:gravity="top"/>
</ScrollView>
</RelativeLayout>
24. nav_header_main.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="@dimen/nav_header_height"
android:background="@drawable/side_nav_bar"
android:gravity="bottom"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:foregroundGravity="center_horizontal|center_vertical"
android:textAlignment="gravity"
android:src="@drawable/logo_hi_res"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="55dp"
android:text="@string/app_name"
android:textSize="18sp"
android:textColor="@color/warnaPutih"
android:textStyle="bold"
android:id="@+id/textViewAppName"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/logoBukuCatatan"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/textViewVersi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_versi"
android:textSize="15sp"
android:textColor="@color/warnaPutih"
android:textStyle="italic"
android:layout_below="@+id/textViewAppName"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/logoBukuCatatan" />
</RelativeLayout>