User Interface (UI) dan Layout


1. πŸ“– Pengertian User Interface (UI)

https://images.openai.com/static-rsc-4/t1PCydO0lXMKJ3TeBGU-LgtJ6OBI-p44GmQ6cjlgGzgntZ8xpkZYg58biuRIzQ3lp5p9jaNuaK0afIazH2FNDM739US7fqKJPOvPNo2z5Y8zNcHzzEh4v6HMghRymy5Yvbb1Qz8g14lP5B5vmzLVcFTbTY63KJef1zPPKolWfWmFXPkxXlHROZdzQmjQV8aP?purpose=fullsize
https://images.openai.com/static-rsc-4/iDOVLOc14r3d7t-RisGzedUAJXIuDRCz6K1wJ0j8Qvp8WR21RQcPmTU_VSD-dob-tGa6TmW1zAxHJAqc5WIbd53E4xE-gWpGmvr8u14d7Wmd5WP-YgJHc6Zy9eXqfjWgBrhHZTGHaGjhetkXYKwWvh9vH312SwFWSUOob5g8LJVKur4iVltK2LIYCGSNdHcH?purpose=fullsize
https://images.openai.com/static-rsc-4/sBHBXha9Aa7JeIT8CEoOZDOK4VUFZSMxiqyzmSVP2KEz1s_nyIMz3ZwD_kPc3g_W72mRNVL0WZ--Z3SHhjEB699jLMB8LBkSy6WwKQDubheVCkSJI0RizAsLIbZoSBBi1bjMG-ZDlDxrQwn31TZ_N6TvQ5VpE4NteCrkJN8_jWNkCJTS7GLOPS52c7lQf8Gq?purpose=fullsize

6

πŸ” Penjelasan

User Interface (UI) adalah antarmuka visual yang digunakan pengguna untuk berinteraksi dengan aplikasi mobile. UI mencakup semua elemen yang terlihat seperti tombol, teks, gambar, ikon, dan layout.

🧠 Narasi

UI merupakan wajah dari sebuah aplikasi. Pengguna pertama kali menilai aplikasi dari tampilannya sebelum mencoba fungsinya. Oleh karena itu, UI harus dirancang menarik, intuitif, dan mudah digunakan.


2. 🎯 Konsep UI/UX dalam Mobile

https://images.openai.com/static-rsc-4/DLAfDTlCzQMZ1CZd5-ISsTONOpqfR71qH2kOHH3BU1htQzm0SbYMz2wSafx-iypUxwqwEMbch_scG_pZqyPr3RY28t38R7pg-lGW-2jRqpLjsZciX09vE2AgPoAysoU7uRpDG9ZebDqfamvxbLLsviI5NBN2ITH0M9ks0o00c91KpdvIT7FUcKTADfEyZvfl?purpose=fullsize
https://images.openai.com/static-rsc-4/i5EYKMqtWj24rAWPn4tGaCtisLDSgpvu6Whl_6If5l1-HI1k5vc4WvuK3GsKR6HP2rzK1YJW9K05uQtGKT6Nqoer2HHLEHVDKD79kGOA8d51p_pXhxalKE5mC5tV5Wd5ZNVSqGF6EYkEwhh7K4FrjFpe5GSxl7pVMRikdSSScrFwA9yI1hZg9V508zt24eDn?purpose=fullsize
https://images.openai.com/static-rsc-4/2jbhx9xxP9G8-EvgFsBSStC20TRb-swJ_HsoAAv60zw91T2a3fhFgxT_PVGuu5sWwRCA8LKyUF-f3VHSs__hfFhuhqqpwvljQZyTHVRYYBIqmqRD2xLhNJbnhoo2Y-9yGN6cyBZTJkARZCqwTwwr5siTCvWN_DqpF1m-auxVfzY3IJhxLEvKhtyFFk6J_vAE?purpose=fullsize

7

πŸ” Perbedaan UI dan UX

AspekUIUX
FokusTampilanPengalaman pengguna
TujuanEstetikaKemudahan penggunaan
ContohWarna, tombolNavigasi, alur aplikasi

🧠 Narasi

UI dan UX saling berkaitan. UI yang bagus belum tentu memberikan UX yang baik jika alur aplikasi membingungkan. Dalam pengembangan mobile, keduanya harus berjalan seimbang.


3. 🧱 Konsep Layout dalam Android

https://images.openai.com/static-rsc-4/Y2sCLid0L9mq_DzEk2s-TdNOZ8EFGeSvSSUbwH3YkaeEBzvUX8KaCLDLjx0toK4U7kcIhJc6ul8QIuvT5SiXkuhT2TcxPltiL8ejjRGtZYNw5JlUUucD2eSy6L4Hjp75uOf5PWimLNn5iPWFR4W4cTAV6rWR2f9ir-pbcsVSG4IZiDwDC4o9v6q6GU-T0AwU?purpose=fullsize
https://images.openai.com/static-rsc-4/1Bp4ahToD4x2taZAq519ePHmrfJUDbe81gBDysddEY648znP-hoMIGgGy2Yl2ujOe_LzOb9ZzADd2P3BAFKAV8SIPBaFp7Q674FEfeTmdEpoa9Y3lhGI54S6BIpFZeiiItJbNVeHA6yYF8lJg9ANyWQ1MJTJY6JfPTguulQxU5nZd2g7wiP18gtKop_zxocY?purpose=fullsize
https://images.openai.com/static-rsc-4/gHDzLLRAK6LrCy_4NIcydu4fSnAYJsHwlOyns4SVLGQ-yWCURvx5tpsXavquhQdXGMAb0di9K7L3a_bkszc3g2is7wRQnurzwdMDQFHwj0i8h-bAMOMdSC5eN7UEIfdGue2TA_SnTYOJPsmIjz8lDPrDrm2QDrFXEs0Qgb-LBnn_nbD89iHX6XOi6npqzA1_?purpose=fullsize

7

πŸ” Penjelasan

Layout adalah struktur yang mengatur posisi dan ukuran elemen UI pada layar.

πŸ“Œ Hirarki Layout

  • ViewGroup β†’ wadah (container)
  • View β†’ elemen UI (button, text, dll)

🧠 Narasi

Layout menentukan bagaimana tampilan aplikasi disusun. Struktur yang baik akan membuat UI lebih responsif dan mudah dikembangkan.


4. πŸ“ Jenis-Jenis Layout Android

https://images.openai.com/static-rsc-4/cP8QQGXo4g6RW7QGsAqFXSU_GwVOiXbd87g_x-8nL_fosGkS_-YaNxOqY5k4NXTmOzYsYxizrMhiQyNd8ZLDBElSAUEIf61htBzeZFbbYeyk4aGt3-AG4nasvxZpKM1BDXCkf-9VWmyrOpEsrHUdwowN5Qjf9Ey0A6i7ggQBVAX3X72TZmrJH_jpQ1eTxCBh?purpose=fullsize
https://images.openai.com/static-rsc-4/8h-GMUWwbcr744dN92GFh1ACBGMmUQ_641Kf9pwSLpgABU0lJ7MsYfUrj4e657KjxnpCE-dyVFxD96A9sJYosSdERUspCqchC-PUnrAQ9fvjVkQk9owzMAjy7hfeMl77yo5PplftrWKnDxi2u26-c3wv-UmgCh2KspiW0yIP07lRkmeiiRDPiGATsRtXseah?purpose=fullsize
https://images.openai.com/static-rsc-4/Bn9dnkYZxEObfe-Wi3FUU4tlyt83Fzm3V1C_sr8n6ecPJ1_Ge5d9ik-XaNLU00YQrtZVMA9AimUMLazz_DfhJUbFp7sEupC9nE0cpbRVgmeVFU8-Hi4QQqmyS2B7NKibJ_tJZZo8wWmfdP_MovvL1sZQxpyER7mVfg8Skw7o59_M0XPesi7JIP1dN-vXsnHg?purpose=fullsize

8

πŸ” Jenis Layout

LayoutFungsi
LinearLayoutMenyusun elemen secara vertikal/horizontal
RelativeLayoutPosisi relatif terhadap elemen lain
ConstraintLayoutLayout fleksibel dan kompleks
FrameLayoutMenumpuk elemen
GridLayoutSusunan grid

🧠 Narasi

ConstraintLayout saat ini menjadi standar karena fleksibel dan efisien dalam membuat UI modern.


5. 🧩 Komponen UI Dasar

https://images.openai.com/static-rsc-4/646mu103KXExItq6Z4jDIHgGoUMqZQE2rfqhbRwHzVCOEXFYe5pY27t1XF1ItQ9sflfjfJs7g-4ZPAj85aPmKlwhrKDb6G-yBFMpcTIF6nsIE6O5vjOjpk8c3jbZnczlb3TWCgTppAt-wU9pQhQcTFKnSC_mz-7o1Dlc0sU52pHdIthwMy897YIyfUMd2BS9?purpose=fullsize
https://images.openai.com/static-rsc-4/YvKVp1P5l3sdy63bnDYfYUW_Nf1tTIJ4JJq_z9rOu3dY8BE2dU-7O-7ySWYGiBgL6CQTrYTnxomW7zqFZNkIXQhe3X5zEYQu98r9LZlovNEqmV833I1m7MktWJHHSHfFy6JP_2Jfi_ctUjgsVdDkaCC-ljzLohjCY26AAQ7bPrK0L9nkLDbI_n8oYkcvPh7n?purpose=fullsize
https://images.openai.com/static-rsc-4/d74321Hgs57afVBh-0YH6Kq9TcdDvl55ytMKzioDo_TU5RBaervMptevujQZ6qz8Rc8xEOzGuQ0Dgx985XYaQYQvet1rD_f9FA4NtxC9fsYckXrLklcaeuZvPQenqGWAqNcPjZTEATO-4N3d7DfTxG17lMg4gYC1y8mu6rBmSx3MsCA5_VYlODtFGHx5Nn5Z?purpose=fullsize

8

πŸ” Komponen Utama

  • TextView β†’ menampilkan teks
  • EditText β†’ input pengguna
  • Button β†’ aksi
  • ImageView β†’ gambar

🧠 Narasi

Komponen UI adalah elemen dasar yang membentuk tampilan aplikasi. Pengembang harus memahami fungsi setiap komponen agar dapat digunakan secara optimal.


6. 🧾 XML Layout dalam Android

https://images.openai.com/static-rsc-4/tz5mSIVZda_ftYQcTaZvIjogcYzZCtKaeDb9bSiLu67bSlpH9Mp5Iqtjr7dWhaJ7yr5EMTB0BPVubI4NVVoGfBBZne5xhEKpmBH3r8tBn7c0lLn_ouW7Zv5hsDAGNbjDFFHsqwKeAQHCCCRF8lfXBgdCbulyQHJFXsrnjY-BLG2eojnLU419OICPu-rdBjFG?purpose=fullsize
https://images.openai.com/static-rsc-4/GyEvw20yb4VFz_LwasLdjW2pDN4RO5x6FCPU0XWcijAlEZ-gbFMh0HaMLkL_Z4PdjfByayIohQmVQNjtuZ5FXPA_buBvOIgoPXs4KqZwWU0etKdSQXwEVFC_Dk66dUNDs5Od1UYVFE7_cUWZ7YCjUWh4fP-RCkEWciTi_IQlQy9AG5f-PWMSLhrx1V0CXTrm?purpose=fullsize
https://images.openai.com/static-rsc-4/6A93EtoLrTiy8uvh72CIGOT730OjK1lrwH_gtT6CjJWUUnqyJC0kDPgznh6VlWRaou_zQYjXBXHLD1NyO5SPlXbY5RdCK-NbUoiLLnU9dd15bNNlMoI-93CT9zm59Kh2WfLUL05agfmkrZfbNp3gITSK6zQUM9BChQC1KtCvDHpJUyzuJxD8fgcOusRwhQbR?purpose=fullsize

7

πŸ” Contoh XML

<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"> <TextView
android:text="Hello UI"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/></LinearLayout>

🧠 Narasi

XML digunakan untuk mendefinisikan tampilan UI secara deklaratif. Hal ini memisahkan antara logika program dan tampilan.


7. 🎨 Prinsip Desain UI Mobile

https://images.openai.com/static-rsc-4/su-vkLrSDlIUBGYcf9Qi66IAWtkk1ImD4m7-uLOW6e3kqe74qM28uD7bbZrg2SzqRmsJBwv8sJITEPAFHFIS9T0CSH5ytEyVWOSI2X6bKxj-K6gdloxi8gmwHmC3H4TsLMcCleDBOTNQUOhdv7omeWnC8dUY1jRqWEOxkA-PVAUmyfyT62Mc-l3vCLo8wM5G?purpose=fullsize
https://images.openai.com/static-rsc-4/raHtExhNkcyx2QL2dGGq0klPzIXxNnvsqlR-sXCKiQVkH3qaM59NBf_brivmy0d6RSbw3Dxusv8h8HyPsXNqzUo6hElPgP9fpZjrdnU228D4bLLKeoazmIX43JU00Q0tpJdaiF38U7pemeXziK6fltHPZacB1pB4nOk-WAj_PMyGo2hxHZC-7EdBSSf9zy04?purpose=fullsize
https://images.openai.com/static-rsc-4/PChB9wbu1Y_MPkZt5qPgnc3Nkf_tNOCvMKwo6E17XKLeLjUCB4Ws3CWhIwqruZHxEzltaJP--BoJ9IszzuvgwQq7vDK_wDqzhYb1-n7UySXhVU07I-mrubPYasbJGudW3p7DvfTq3ZHPw7tFzyugyHQfX9h5sr9eSZ2scIhiugFIVyLsr7yK3bAtg0vX-BSa?purpose=fullsize

9

πŸ” Prinsip Utama

  • Consistency β†’ konsistensi tampilan
  • Simplicity β†’ sederhana dan tidak rumit
  • Visibility β†’ elemen mudah terlihat
  • Feedback β†’ respon terhadap aksi pengguna

🧠 Narasi

Desain UI yang baik tidak hanya menarik tetapi juga memudahkan pengguna dalam berinteraksi dengan aplikasi.


8. πŸ“± Responsive Design

https://images.openai.com/static-rsc-4/MtuxLKrSxo26z5STFeiCtz-dMQ_F_tg9Zif90NPf4-l-ypnpeAUYGRG3ej1WucIQ2Sy3nHWlClhrThOJzE4ImV52I5MMkTl3v0DBf8ER0cFvZVMYiQ3wy6pFO4Cb54JldGlwsMYgu2-JdnSKupJpiu6D0BinSij6faoCvun1gSnshcHImjbixgRTFQCyaz7O?purpose=fullsize
https://images.openai.com/static-rsc-4/d2EI52zKVN4-iwoC2ZLDDz2xRMjHj0JD9xjPB60Pp6-At5WrlaGRF0-jpFYRcvHznAH-XLRbigNyOvrsYnWFE7gevsGTyUSvKWYEtKfV_nQ26XfnEOUf-zWXPNF90szSr9LjXpeUx4jJdPQMzYjEm5i2G7pN_aKF4-sKhTmV1UMsWInlTUPqE7oMHS40oczP?purpose=fullsize
https://images.openai.com/static-rsc-4/uqQmrW1RrT9gTxe5w8DkYK900yhotb6jfSHRgaQCW276Nhx_mkObEkDafyYagOsD1IUA3QpF5dzp0M7NTUXEQKmMsefkkxqJYhBA3daziGUbMcJGjt1eX8hjJbBPna_viZ78qymBS5B7ZP29jjiGq-5og-l4xwT982FKyUSlpmzVd7-0driePdIhO7IMOzCr?purpose=fullsize

6

πŸ” Penjelasan

Responsive design adalah kemampuan UI menyesuaikan diri dengan berbagai ukuran layar.

πŸ“Œ Teknik

  • Menggunakan dp (density-independent pixel)
  • ConstraintLayout
  • Resource berbeda (layout-sw600dp, dll)

🧠 Narasi

Karena banyaknya variasi perangkat Android, UI harus fleksibel agar tetap nyaman digunakan di semua perangkat.


9. πŸ”„ Event Handling pada UI

https://images.openai.com/static-rsc-4/1mySqGyup485QuCg6EoZqvZdr-iCnesJCtlnAI948K0SCnouG2Zn3qVJT8QIhgy2z6oEzhY9uv3xeqGTkiZEE9pKXGGeTQDmyyfpoVMOhV2f7KXQz_bZIGqf0NLp4vAeQQyU0msDoVPlPJci6CXsllywRVrKXNe6wpaaRv75ukGWR-A44HgTyeby9EigYDeN?purpose=fullsize
https://images.openai.com/static-rsc-4/VcHjBKL8TFKDxNX0wMSDg8TCFLk1F_oNwyB4wWTFCQjr5qULxtZL5J_3974Ot7xhxkS22zBUAI48E6YzwW4deWCFuTjPERf24uvwtTtWGt2IQHh1jumx3HI_Age7q4T5WyGVyOmDSD7KzqIiRKzCZS3yF92a5Pi3pLqwtdpiIIvHWijElpqvp5XzVCjC0UfH?purpose=fullsize
https://images.openai.com/static-rsc-4/skxVNDkH38TcMJ1rVZlJbIvCSnT2M9qCQV43xdexs-tOfCcbHVdXSIXQ0zgo0KFdy2gIYMyVu3wJBy-UQOWwnS6Vd9RxMHN84H88LicdQbnvkMiGPVTYj3v0u-yaMj_RBIyvekalU9mKBp4YiXdjh9wevL8l6fAsqKm4VieiiskflypnHxK_ddyxoxf04Nv5?purpose=fullsize

6

πŸ” Contoh

button.setOnClickListener {
println("Button diklik")
}

🧠 Narasi

Event handling memungkinkan aplikasi merespon interaksi pengguna seperti klik, swipe, atau input teks.


10. ⚠️ Kesalahan Umum dalam Desain UI

https://images.openai.com/static-rsc-4/VGFxhJCbADaTP36p6nMs92gDUsW2ofAr3LsYEjitxvdTqlb2eMASX_JhIdXh4ksaSsdZHBNfxfOcF4TiIiXMhFFZ4HW7I9v-BXsRFQ4MKpFoROkDJ5TwbZX_vsFGrExzfXW6rJqJHzSrDUHG6hmNDf2L8IcovsknHlqIG8po6BC8jc7-GwxRC860owrcq9S3?purpose=fullsize
https://images.openai.com/static-rsc-4/_sXnskRj-kuT9NyC54_27GjwVkIrFpaJxV5d4WBYCFiCpxeEyYWZ9V9q3xN4tFE2ZfhS0zPVgM5KCA-fJ-NB1H3DPiAW6MyJmK3roE7eMoDUW_A2wtKqr1oqxmNo3pB3jBj7H8DtZDjUx0UOOGvfsSUhH1jkiUk10f1NryU9jTDLVfh8IgUl7pYsqDZKVQND?purpose=fullsize
https://images.openai.com/static-rsc-4/Ob9z4RzTVzG3TVv6qWG8ElpEamGPhDEFCSynKIDaV97EcvhCsq48ZyfFjlMzIo2a7W38jvst9775NnJ4TksYU6XkVHVFDzxVaX5lHVmzb1qbxfWJ88Kc3CQPtZInmHph16XMod-gO7n-JA8B3MB_-I7vXLyXjqpPyErOVcwFNS25cAo751B4o3n-qzLkEJvG?purpose=fullsize

7

πŸ” Kesalahan

  • Tampilan terlalu penuh
  • Navigasi membingungkan
  • Warna tidak konsisten
  • Tidak responsif

🧠 Narasi

Kesalahan desain UI dapat menyebabkan pengguna meninggalkan aplikasi. Oleh karena itu, penting untuk mengikuti prinsip desain yang baik.


πŸ“Œ Kesimpulan

User Interface dan Layout merupakan aspek penting dalam pengembangan aplikasi mobile. UI yang baik tidak hanya menarik secara visual tetapi juga memberikan pengalaman pengguna yang nyaman dan efisien. Dengan memahami layout, komponen UI, serta prinsip desain, mahasiswa dapat membangun aplikasi yang profesional.


🎯 Latihan / Tugas

  1. Buat layout sederhana menggunakan LinearLayout
  2. Buat form input (nama & email)
  3. Implementasikan tombol dengan event klik
  4. Desain UI sederhana aplikasi login