MODUL 3
AutoComplete & ListView Dosen Pengampu : Dede Husen, M.Kom
Disusun oleh :
Nama : Nanda Aprillia Lestari Mufti
NIM : 20210810159
Kelas : TINFC-2021-02
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN 2024
I PRE TEST
1. Jelaskan menurut pendapat anda kenapa AutoComplete dan ListView dianggap penting untuk dipelajari ?
Jawab :
Menurut pendapat saya, AutoComplete dan ListView adalah dua komponen yang sangat penting dalam pengembangan aplikasi Android. AutoComplete memberikan pengalaman pengguna yang lebih baik dengan memungkinkan mereka dengan cepat menemukan dan memilih data dari daftar yang disediakan. Hal ini membuat pengisian formulir atau pencarian informasi menjadi lebih mudah dan efisien. Sementara itu, ListView membantu dalam menampilkan data dalam bentuk daftar yang mudah dinavigasi.
Pengguna dapat dengan nyaman melihat daftar data dan memilih item yang mereka butuhkan.
Selain itu, penggunaan kedua komponen ini juga dapat mempercepat proses pengembangan aplikasi. Dengan AutoComplete, pengembang tidak perlu lagi membuat logika pencarian dan pemfilteran data secara manual. ListView juga menyediakan tata letak standar yang umum digunakan untuk menampilkan daftar data, sehingga pengembang dapat fokus pada pengembangan fitur lainnya.
Kedua komponen ini juga memberikan fleksibilitas dan kustomisasi yang tinggi.
Meskipun sudah menyediakan fungsionalitas bawaan yang berguna, baik AutoComplete maupun ListView dapat disesuaikan dengan desain dan kebutuhan aplikasi. Pengembang dapat mengubah tampilan, perilaku, dan interaksi komponen sesuai dengan keinginan mereka.
Dalam dunia pengembangan aplikasi Android yang semakin modern, penggunaan AutoComplete dan ListView dianggap sebagai praktik yang baik. Kedua komponen ini mendukung pola desain yang berfokus pada pengalaman pengguna yang intuitif dan efisien. Selain itu, karena merupakan bagian dari SDK Android yang telah ada sejak versi lama hingga terbaru, pengembang dapat yakin bahwa aplikasi yang mereka kembangkan akan kompatibel dengan berbagai versi Android.
Oleh karena itu, dengan memahami dan menguasai AutoComplete dan ListView akan membantu pengembang meningkatkan kualitas aplikasi Android yang mereka buat dan memberikan pengalaman pengguna yang lebih baik.
II
PRAKTIKUM
Membuat sebuah project baru
Menambahkan script berikut pada direktori res/layout/activity_main.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"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:ignore="ExtraText">
tools:context=".MainActivity">
<AutoCompleteTextView
android:id="@+id/dataautocomplete"
android:padding="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="3"
android:hint="AutoComplete - Ketikkan nama fakultas" />
<EditText android:id="@+id/datalistview"
android:padding="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="pilihfakultas"
android:focusableInTouchMode="false"
android:hint="ListView - Klik dan pilih nama fakultas"
/>
</LinearLayout>
Menambahkan script berikut pada direktori java/com.example.praktikummodul3 /MainActivity.java
package com.example.praktikummodul3;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.EditText;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements TextWatcher { AutoCompleteTextView ac;
public String[] stringdatafak = {"Fakultas Ekonomi", "Fakultas Kehutanan", "Fakultas Ilmu Komputer", " Fakultas Hukum", " Fakultas Keguruan dan Ilmu Pendidikan"};
EditText lv;
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ac = (AutoCompleteTextView) findViewById(R.id.dataautocomplete);
ac.addTextChangedListener(this);
ac.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, stringdatafak));
}
public void pilihfakultas(View v) { lv = (EditText)
findViewById(R.id.datalistview);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Data Fakultas Universitas Kuningan");
builder.setItems(stringdatafak, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) {
lv.setText(stringdatafak[item]);
dialog.dismiss();
} }).show();
}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void afterTextChanged(Editable s) {}
}
Menjalankan program menggunakan device Samsung SM-A105G
III POST TEST
1. Jelaskan mengenai baris script : ac.setAdapter(new ArrayAdapter <String> (this, android.R.layout.simple_dropdown_item_1line, stringdatafak));
Jawab :
Baris script tersebut digunakan untuk mengatur adapter pada AutoCompleteTextView (disingkat `ac`).
1) `new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, stringdatafak)` berfungsi untuk membuat objek `ArrayAdapter` baru dengan parameter berikut :
a. `this` biasanya digunakan dalam aktivitas atau fragmen.
b. `android.R.layout.simple_dropdown_item_1line` digunakan untuk menampilkan setiap item dalam dropdown list. Merupakan layout bawaan Android yang menampilkan setiap item dalam satu baris.
c. `stringdatafak` merupakan array atau daftar data yang akan ditampilkan dalam dropdown list. Data ini biasanya berupa array `String` yang berisi pilihan-pilihan yang akan ditampilkan kepada pengguna.
2) `ac.setAdapter(...)` berfungsi untuk mengatur adapter yang telah dibuat ke AutoCompleteTextView (`ac`). Dengan menggunakan adapter ini, AutoCompleteTextView akan menampilkan dropdown list yang berisi pilihan-pilihan yang telah ditentukan.
3) Script AutoCompleteTextView (`ac`) ini akan menampilkan dropdown list dengan opsi-opsi yang ada dalam array `stringdatafak` dan akan menyesuaikan tampilannya dengan layout `android.R.layout.simple_dropdown_item_1line`.
IV TUGAS
1. Rubahlah list data pada Autocomplete & ListView menjadi list data tentang namaProgram Studi di Fakultas Ilmu Komputer
2. Tambahkan Callback Method onPause() agar background berubah menjadi warna lain saat aplikasi berpindah ke aplikasi yang lain.
3. Push Aplikasi Praktikum ini ke github anda masing-masing 4. Susun Seperti biasa dengan susunan cover, isi laporan mencakup :
Screenhshoot program
Penjelasan Script secara umum
Link repositori github.
Jawab :
Modifikasi script praktikum pada direktori res/layout/activity_main.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"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/linearParent"
android:orientation="vertical"
tools:ignore="ExtraText">
tools:context=".MainActivity">
<AutoCompleteTextView
android:id="@+id/dataautocomplete"
android:padding="20dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="3"
android:hint="AutoComplete - Ketik Nama Program Studi" />
<EditText android:id="@+id/datalistview"
android:padding="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="pilihfakultas"
android:focusableInTouchMode="false"
android:hint="ListView - Klik dan Pilih Nama Program Studi"
/>
</LinearLayout>
Modifikasi script praktikum pada direktori java/com.example.praktikummodul3 /MainActivity.java sehingga seperti berikut
package com.example.praktikummodul3;
import static android.widget.Toast.LENGTH_LONG;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity implements TextWatcher { AutoCompleteTextView ac;
public String[] stringdatafak = {"Prodi Teknik Informatika (S1)", "Prodi Sistem Informasi (S1)", "Prodi Management Informatika (D3)", "Prodi Desain Komunikasi Visual (S1)", "Prodi Teknik Sipil (S1)"};
EditText lv;
LinearLayout linearLayout;
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ac = (AutoCompleteTextView) findViewById(R.id.dataautocomplete);
ac.addTextChangedListener(this);
ac.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, stringdatafak));
}
public void pilihfakultas(View v) { lv = (EditText)
findViewById(R.id.datalistview);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Data Program Studi - Fakultas Ilmu Komputer \n Universitas Kuningan");
builder.setItems(stringdatafak, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) {
lv.setText(stringdatafak[item]);
dialog.dismiss();
} }).show();
}
public void onPause() { super.onPause();
Toast.makeText(this, "Posisi lagi pause nih", LENGTH_LONG).show();
LinearLayout linearLayout = findViewById(R.id.linearParent);
// Log.i(lifeCycle, "onPause() called");
// Ubah warna latar belakang LinearLayout
linearLayout.setBackgroundColor(getResources().getColor(R.color.purple_200));
// TextView txt1 = findViewById(R.id.txt1);
// txt1.setText("POSISI LAGI PAUSE");
// txt1.setTextColor(getColor(R.color.black));
}
public void onTextChanged(CharSequence s, int start, int before, int count) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void afterTextChanged(Editable s) {}
}
Menjalankan program menggunakan device Samsung SM-A105G
Analisis Secara Umum
Script program pada tugas praktikum modul 3 ini, terdapat penggunaan komponen AutoCompleteTextView, ListView, AlertDialog, dan juga implementasi TextWatcher serta metode onPause() untuk manajemen siklus hidup Activity.
AutoCompleteTextView digunakan untuk memberikan saran autocompletion saat pengguna memasukkan teks. Dalam contoh tersebut, AutoCompleteTextView menampilkan daftar pilihan program studi dari array `stringdatafak` menggunakan ArrayAdapter. Pengguna juga dapat memilih program studi langsung dari daftar yang muncul.
Sementara itu, ListView digunakan dalam AlertDialog untuk menampilkan daftar program
studi yang dapat dipilih oleh pengguna. Saat pengguna memilih salah satu item dari ListView, nilai EditText akan diubah sesuai dengan pilihan pengguna.
Penggunaan AlertDialog dalam pilihan program studi memberikan pengalaman interaktif yang baik kepada pengguna. Saat Activity berada dalam kondisi pause, metode onPause() akan dipanggil dan sebuah pesan yang akan ditampilkan, juga memberikan informasi kepada pengguna bahwa Activity sedang dalam keadaan pause.
Proses Upload ke Github
(Membuat repositori baru di github)
(Mengetik perintah untuk push ke github menggunakan CLI di gitbash)
(Menunjukan bahwa program telah berhasil di push ke github)
Link Repo Github :
https://github.com/nandapril27/AplikasiDataProdi-Modul3