Anda di halaman 1dari 5

Nama Nelly Yulia

NIM 201931100
Mata Kuliah Mobile Programming ((B)

FRAGMENT

Komponen yang pastinya digunakan kita pada saat membuat suatu aplikasi ialah
fragment. Fragment ini merupakan salah satu komponen antar muka (user interface) yang
dimana ia merupakan sebuah fitur dari bagian Activity atau dapat disebut dengan Sub-
Activity. Biasanya fragment dibuat sebagai bagian dari suatu antarmuka. Fragment ini juga
memiliki kemiripan dengan struktur kode activity, dimana fragment memiliki sebuah class
untuk menampung kode logika dan file xml untuk merepresentasikan tampilannya. Sebuah
fragment harus berada didalam sebuah activity, mereka tidak dapat berjalan sendiri tanpa
adanya activity tempat mereka menempel. Sebagai sub-activity fragment memiliki 2 sifat
utama yaitu :
 Fragment bersifat modular : berarti sebuah activity dapat memiliki lebih
dari satu fragment didalamnya
 Fragment bersifat reusable : berarti sebuah fragment dapat digunakan
berulang-ulang dan berada didalam beberapa activity sekaligus.
Fragment dapat digunakan berulang kali didalam activity dan merupakan komponen utuh
yang memiliki view, event, dan logic (meskipun tetap membutuhkan sebuah fragment agar
dapat bekerja). Kedua sifat tersebut mengakibatkan kita dapat membuat banyak tampilan
tanpa harus berpindah-pindah antar activity. Perlu diketahui, fragment harus selalu berada
didalam sebuah activity dan daur hidupnya secara langsung dipengaruhi oleh daur hidup
activity yang menampungnya. Misalkan, jika activity sedang berada dalam daur hidup
onPause, maka tampilan dari fragment akan dihentikan sementara hingga activity Kembali ke
daur hidup onResume. Berikut ini beberapa hal yang harus diketahui dari fragment :
 Fragment memiliki layout, perilaku, dan daur hidupnya sendiri
 Fragment dapat dimanipulasi, ketika activity sedang berjalan
 Fragment dapat berperilaku seperti activity dalam hal stack
 Fragment memiliki view, event, dan logic nya sendiri
Dalam arsitektur berorientasi fragment, activity berperan sebagai navigational container yang
bertugas untuk melakukan navigasi ke activity lain, menampilkan fragment dan mengirim
data. Untuk penggunaan fragment dapat disesuaikan dengan kebutuhan dari aplikasi yang
ingin kita buat. Adapun batasan dimana kita hanya dapat menampilkan satu activity saja pada
layar, seperti pada halaman login. Akan tetapi, akan berbeda ketika kita membuat tampilan
dari halaman Home misalnya, karena pada umumnya tampilan home hanya memiliki satu
activity, perpindahan tampilan yang ada dihalaman home kan dilakukan oleh fragment,
contohnya itu seperti pada aplikasi Youtube. Contoh kasus yang sering ditemukan dan dapat
diselesaikan menggunakan fragment, antara lain :
 Penggunaan komponen view dan logic berulang kali : fragment dapat dipakai
untuk menampilkan data atau melakukan event tertentu dibeberapa activity berbeda
 Dukungan untuk tablet : dibeberapa aplikasi, versi tablet dari sebuah activity
memberikan layout yang berbeda dari versi handphone yang juga berbeda dari versi
TV. Fragment memungkinkan activity untuk menggunakan fragment dalam membuat
antarmuka sesuai dengan perangkat yang membukanya
 Dan yang terakhir adalah Orientasi layar : seringkali dalam aplikasi versi portrait
dan landscape sebuah aplikasi memiliki layout yang berbeda. Fragment
memungkinkan kedua orientasi tersebut untuk menggunakan tampilan yang berbeda
menggunakan elemen yang sama.
Fungsi utama dari activity dan fragment adalah sama-sama untuk mengelola dan
menampilkan user interface dari sebuah aplikasi, namun kedua komponen tersebut memiliki
tugas yang berbeda. Berikut ini merupakan peranan dari masing-masing komponen tersebut :
 Activity adalah navigator yang bertugas untuk :
o Pindah ke activity lain melalui intent
o Menampilkan komponen navigasi seperti navigation drawer viewpager
o Menampilkan dan menyembunyikan fragment tertentu menggunakan fragment
manager
o Menerima data dari intent yang mengirim data antar fragment
 Fragments adalah content controllers yang betugas untuk :
o Layout dan view menampilkan konten aplikasi yang relevan
o Melakukan management view seperti visibility atau error handling
o Memulai network request melalui objek klien
o Menerima dan menyimpan data dari atau ke database.

Hingga pada akhirnya, kita dapat menyimpulkan bahwa jika tampilan suatu aplikasi
menggunakan banyak fragment maka activity bertugas sebagai navigasi dan fragment
berugas untuk menampilkan data yang melakukan logic dari aplikasi. Fragment memiliki
daur hidup sendiri namun daur hidupnya akan dipengaruhi oleh daur hidup dari activity
menampungnya. Class Fragment memiliki metode callback yang merupakan tahapan yang
serupa dengan Activity, seperti onCreate(), onStart(), onPause, dan onStop(). Berikut ini
tahapan yang kita harus ketahui sebelum menggunakan fragment :
 Created : ketika activity akan dibuat, fragment juga akan dibuat dan mempersiapkan
tampilan yang akan ditampilkan dilayar
 Resumed : fragment dapat dilihat ketika activity sedang berjalan
 Paused : ketika ada activity lain yang menutupi Sebagian dari activity dimana
fragment ditambahkan. Yang dimaksud menutupi Sebagian adalah ketika activity-nya
tidak tertutup sepenuhnya oleh activity lain. Jadi, masih dapat bagian dari activity
yang masih dapat dilihat dilayar
 Stopped : ketika fragment tidak kelihatan dilayar. Bisa saja karena activity dimana
fragment itu ditambahkan berhenti atau bahkan fragment itu sendiri sudah dihapus
dari activity. Pada kondisi ini fragment masih hidup dengan semua informasinya.
Akan tetapi sudah tidak kelihatan dilayar dan akan dihancurkan.

Skema ini menunjukkan callback method apa saja yang akan dipanggil didalam fragment
ketika terjadi perubahan pada sebuah activity. Urutan skema pada gambar diatas ialah :
 Tahap pertama, ketika activity pertama kali dibuat, fragment akan memanggil
method berikut ini :
o onAttach (Activity) : dipanggil pertama kali ketika fragment akan
“menempel” pada Activity
o onCreate (Bundle) : dipanggil ketika fragment mempersiapkan tampilan
o onCreateView (Layout Inflater, ViewGroup, Bundle) : menciptakan dan
menampilkan kembali sesuai dengan hirarki view
o onActivityCreated (Bundle) : dipanggil setelah activity memanggil method
onCreate().
 Tahap kedua, ketika activity berhasil ditampilkan ke layar, fragment akan
memanggil method :
o onStart() : digunakan untuk membuat fragment terlihat.
o onResume() : digunakan untuk membuat fragment interaktif
 Tahap tiga, ketika activity beralih ke mode background (tidak digunakan sementara),
fragment akan memanggil method :
o onPause() : dipanggil ketika fragment tidak lagi interaktif.
o onStop() :dipanggil ketika fragment sudah tidak terlihat dilayar.
 Tahap empat, ketika activity akan dihancurkan, fragment akan memanggil method :
o onDestroyView() : dipanggil ketika fragment menghapus tampilan.
o onDestroy() : dipanggil ketika fragment sudah menghapus tampilan dan
membersihkan seluruh data (resources) yang ada pada memori.
o onDetach() : dipanggil ketika fragment melepaskan diri dari Activity.
Kita dapat membuat fragment dengan meng-extend kelas fragment atau dengan memasukkan
fragment kedalam layout dengancara mendeklarasikan Fragment tersebut didalam file layout
activity, sebagai elemen <fragment>. Kita dapat memanipulasi setiap fragment secara
terpisah, seperti menambah atau menghapuskannya. Kemudian aat melakukan "Fragment
Transaction" (saya sebut saja Transaksi), kita dapat menambahkan fragment ke
"backstack" yang dikelola oleh Activity. "Back stack" memungkinkan kita untuk melakukan
"Reverse Fragment Transaction" pada saat menekan tombol "Back" pada perangkat. Sebagai
contoh jika kita mengganti Fragment dan menambahkannya di back stack kemudian menekan
tombol Back di perangkat maka hal itu akan menampilkan fragment sebelumnya. Berikut ini
contoh penggunaan fragment pada Android Studio :
1. Buat terlebih dahulu proyek batu dan beri nama FragmentExample
2. Buka res -> layout -> activity_main.xml (atau) main.xml dan ditambahkan oleh kode
3. Buka src -> package -> MainActivity.java
4. Menyiapkan 2 fragment dan 2 layout xml. Jadi buat dua fragment dengan cara klik
kanan pada folder package dan buat class dan beri nama sebagai "FirstFragment" dan
"SecondFragment" dan tambahkan kode berikut di masing-masing class fragment
5. Sekarang buat 2 xml layout. Klik kanan pada res / layout -> New -> Layout Resource
File dan beri nama sebagai fragment_first dan fragment_second dan tambahkan kode
berikut di file masing-masing
6. Buka res -> value -> colors.xml
7. Buka AndroidManifest.xml
Kelebihan yang didapatkan bila menggunakan fragment adalah sebagai berikut:
 Tidak perlu memasukkan nama file fragment ke dalam “AndroidManifest”
yang diperlukan oleh activity.
 Fungsi yang berada pada activity dapat langsung digunakan dalam fragment
tersebut tanpa harus membuat ulang. Contoh: pada
saat back, fragment hanya perlu memanggil fungsi “getactivity

Anda mungkin juga menyukai