Mobile User Interface
User Interface adalah tampilan grafis interaktif pada sebuah aplikasi atau website yang membantu pengguna untuk berinteraksi fitur-fitur, konten, dan juga fungsi-fungsi didalamnya.
Mobile User Interface seperti pada namanya adalah User Interface yang terdapat pada aplikasi-aplikasi mobile, biasanya pada smartphone atau tablet.
Perbedaan User Interface pada Aplikasi Mobile dan Komputer
Persyaratan dalam desain Mobile UI sangatlah berbeda dengan persyaratan desain UI untuk komputer desktop. Karena ukuran layarnya yang lebih kecil dan layarnya yang touch screen membuat perlunya pertimbangan khusus untuk memastikan kegunaan, keterbacaan, dan konsistensi UI. Dalam mobile interface, simbol dalam mobile interface harus berukuran lebih kecil dan tidak selalu ada cukup ruang untuk teks sehingga terkadang dapat menimbulkan kebingungan. Karena minimnya ruang untuk teks, pengguna harus bisa mengerti arti dari masing-masing icon yang ada pada mobile interface.
Pentingnya User Interface dalam Sebuah Aplikasi
User Interface merupakan komponen yang sangat penting dalam pembuatan aplikasi mobile. Umpamakan saja UI sebagai rumah dari sebuah aplikasi. Apabila UI pada suatu aplikasi dirancang dengan sangat indah dan nyaman digunakan, maka pengguna akan nyaman pada aplikasi tersebut dan tidak cepat-cepat meninggalkannya. Sebaliknya, bila desain UI pada suatu aplikasi kurang baik, maka pengguna akan meninggalkan aplikasi tersebut.
Desain Mobile User Interface
Dalam mendesain UI pada sebuah aplikasi, tentunya kita perlu memperhatikan beberapa hal yang membuat sebuah UI baik.
Berikut ini adalah beberapa karakteristik desain Mobile UI yang baik :
1. Kontras Warna Baik
Untuk mendesain UI yang baik sekaligus indah, tentu diperlukan adanya pemilihan warna yang baik. Agar tampilan tidak mengganggu pandangan pengguna dan terlihat indah, Perlu diperhatikan kontras warna yang pas dengan memperhatikan kombinasi warnyanya yang baik.
Misalnya apabila background aplikasi berwarna cerah, warna pada tulisan dan icon harus dibuat kontras dengan warna background yang cerah tersebut.
2. Informasi Terpapar Jelas, Ringkas, dan Terstruktur
Secara general, desain UI yang baik adalah saat tampilan terlihat minimalis dengan informasi yang tersampaikan dengan jelas. Penyusunan informasi juga harus disusun dengan terstruktur sehingga tidak menimbulkan kebingungan pengguna.
3. Layar Responsif dengan Ukuran UI yang Efisien
gar penggunaan aplikasi nyaman dan mudah, perlu diperhatikan bahwa UI aplikasi harus responsif. Selain itu area sentuh pada suatu selection harus memiliki ukuran yang pas sehingga lebih mudah untuk disentuh tanpa mengganggu area sentuh pilihan lain (menghindari fat fingering). Ukuran UI juga tidak boleh mendominasi ukuran layar, karena tujuan pembuatan UI aplikasi adalah untuk memaksimalkan kegunaan aplikasinya sehingga tidak perlu mengambil space yang tidak diperlukan.
4. Jumlah Control Harus Pas
Pada satu halaman pada aplikasi, jumlah control (button, text field, toggle button, dll) harus secukupnya saja. Apabila terlalu banyak, maka penggunaan aplikasi akan membingungkan karena tampilannya yang kurang ringkas dan berantakan. Karena ukuran layar smartphone relatif kecil, UI harus menyesuaikan ukurannya agar efisien sehingga terlihat lebih minimalis dan tidak membingungkan.
5. Menarik
Pastinya setiap orang saat melihat sesuatu awalnya akan melihat dari tampilan luarnya. Dengan desain UI indah dan menarik, maka pengguna otomatis akan memiliki kesan awal yang baik juga pada aplikasi tersebut.
6. Konsisten
Dalam membuat UI yang baik dan tidak membingungkan pengguna, perlu adanya konsistensi, agar pada saat ada pembaruan tampilan UI, pengguna masih bisa mengerti tentang letak-letak fitur dan cara penggunaan aplikasi itu sendiri.
Sangat sulit dan menantang bagi designer UI untuk membuat UI yang indah tetapi sekaligus memberikan experience penggunaan aplikasi yang baik. Bisa dibilang pendesainan UI yang baik adalah saat UI tersebut memiliki UX (User Experience) yang baik juga.
Permasalahan Dalam Desain User Interface
Penggunaan jargon atau singkatan-singkatan komputer yang berlebihan.
Desain yang tidak jelas.
Ketidakmampuan membedakan tindakan-tindakan alternatif yang harus dipilih pemakai.
Pendekatan problem-solving yang tidak konsisten.
Desain yang tidak konsisten.
Syarat Desain Interface
Layar harus diformat agar berbagai info, perintah, pesan muncul di area layar yang konsisten.
Pesan, perintah, informasi jangan terlalu panjang.
Jangan terlalu sering memakai atribut display yang mengganggu seperti blinking, highlight,dsb.
Nilai default dibuat jelas.
Antisipasi error yang mungkin dibuat user.
Jika ada error, user mestinya tidak boleh melanjutkan tanpa memperbaiki error tsb.
Jika user melakukan sesuatu yang membahayakan sistem, keyboard harus terkunci dan pesan untuk meminta bantuan teknisi harus dimunculkan.
Membuat User Input Dalam Aplikasi Mobile
1. Buat Project Baru
2. Tambahkan Activity Baru
3. Atur tampilan pada activity_main.xml
4. Atur MainActivity.java
4.1 Buat dan deklarasikan Objek Baru sesuai dengan view yang dibuat
4.2 Definisikan Objek (Sambungkan dengan id yang ada pada activity_main.xml)
4.3 Tambahkan beberapa variabel untuk menampung data dan atur beberapa view untuk awal ketika buka aplikasi
4.4 Buat handler untuk button (aksi reaksi ketika tombol diklik)
4.5 Buat beberapa fungsi
4.6 Panggil method-method tersebut pada tiab Handler Tombol.
4.7 Hasil Akhir Main.Activity.java
public class MainActivity extends AppCompatActivity {
//TODO 1
EditText mEdtNama;
RadioGroup mRadioGrup;
Button mBtnKurang;
Button mBtnTambah;
TextView mTvJumlah;
TextView mTvHargaSatuan;
TextView mTvHargaTotal;
Button mBtnPesan;
//TODO 3
int jumlahPesan;
int hargaTotal;
int hargaSatuan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//TODO 2
mEdtNama = findViewById(R.id.edt_nama);
mRadioGrup = findViewById(R.id.radiogrup);
mBtnKurang = findViewById(R.id.btn_kurang);
mBtnTambah = findViewById(R.id.btn_tambah);
mBtnPesan = findViewById(R.id.btn_pesan);
mTvJumlah = findViewById(R.id.tv_jumlah);
mTvHargaSatuan = findViewById(R.id.tv_harga_satuan);
mTvHargaTotal = findViewById(R.id.tv_harga_total);
mBtnPesan = findViewById(R.id.btn_pesan);
//TODO 4
jumlahPesan = 0;
hargaTotal = 0;
hargaSatuan = 7000;
//TODO 5
mTvHargaSatuan.setText(""+hargaSatuan);
mTvHargaTotal.setText(""+hargaTotal);
mTvJumlah.setText(""+jumlahPesan);
mBtnPesan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//do something
pesanSekarang();
}
});
mBtnKurang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//do something
kurangJumlah();
}
});
mBtnTambah.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//do something
tambahJumlah();
}
});
}
//Method ini berfungsi menambah jumlah pesanan
private void tambahJumlah(){
jumlahPesan = jumlahPesan + 1; //tambah jumlah
hargaTotal = jumlahPesan * hargaSatuan;
mTvJumlah.setText(""+jumlahPesan); //tampilkan pada textview
mTvHargaTotal.setText(""+hargaTotal);
}
//Method ini berfungsi menambah jumlah pesanan
private void kurangJumlah(){
jumlahPesan = jumlahPesan - 1; //kurang jumlah
if (jumlahPesan>=0){
jumlahPesan = 0;
hargaTotal = jumlahPesan * hargaSatuan;
mTvJumlah.setText(""+jumlahPesan); //tampilkan pada textview
mTvHargaTotal.setText(""+hargaTotal);
}else {
Toast.makeText(this, "Jumlah tidak boleh minus", Toast.LENGTH_SHORT).show();
}
}
private void pesanSekarang(){
String nama; //variabel untuk menampung 'nama' yang diinput pengguna
String kelamin; //variabel yang digunakan untuk menampung 'kelamin' yang diinput pengguna
//mendapatkan 'nama' hasil inputan pengguna
nama = mEdtNama.getText().toString();
//mendapatkan 'kelamin' hasil pilihan pengguna
int radioDipilih = mRadioGrup.getCheckedRadioButtonId();
RadioButton radioButton = (RadioButton) findViewById(radioDipilih);
kelamin = radioButton.getText().toString();
//pindah activity
Intent intent = new Intent(MainActivity.this,HasilActivity.class);
//kirim data ke activity tujuan
intent.putExtra("nama",nama);
intent.putExtra("kelamin",kelamin);
intent.putExtra("hargaSatuan",hargaSatuan);
intent.putExtra("hargaTotal",hargaTotal);
intent.putExtra("jumlah",jumlahPesan);
//jalan!
startActivity(intent);
}
}
|
5. Atur Layout activity_hasil.xml
6. Tambahkan gambar ke dalam aplikasi
Buka folder yang menyimpan asset yang sudah didownload -> Pilih asset yang akan dimasukkan (tidak harus satu persatu) -> Copy
Buka Project di android studio -> Pilih res -> pilih drawable -> klik kanan -> paste
7. Atur HasilActivity.java
7.1 Buat Objek baru
7.2 Sambungkan objek dengan id
7.3 Tangkap data yang dikirim dari activity sebelumnya
7.4 Tampilkan pada view
7.5 Hasil Akhir HasilActivity.java
public class HasilActivity extends AppCompatActivity {
ImageView mIvGender;
TextView mTvNama;
TextView mTvJumlah;
TextView mTvHargaSatuan;
TextView mtvTotaHarga;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hasil);
mIvGender = findViewById(R.id.iv_gender);
mTvNama = findViewById(R.id.tv_nama);
mTvJumlah = findViewById(R.id.tv_jumlah_pesan);
mTvHargaSatuan = findViewById(R.id.tv_harga_satuan);
mtvTotaHarga = findViewById(R.id.tv_total_harga);
String nama = getIntent().getStringExtra("nama");
String kelamin = getIntent().getStringExtra("kelamin");
int hargaSatuan = getIntent().getIntExtra("hargaSatuan", 0);
int hargaTotal = getIntent().getIntExtra("hargaTotal", 0);
int jumlah = getIntent().getIntExtra("jumlah", 0);
mTvNama.setText(""+nama);
mTvHargaSatuan.setText(""+hargaSatuan);
mtvTotaHarga.setText(""+hargaTotal);
mTvJumlah.setText(""+jumlah);
if (kelamin.equalsIgnoreCase("Laki-laki")){
mIvGender.setImageResource(R.drawable.man);
}else {
mIvGender.setImageResource(R.drawable.women);
}
}
}
|