Layout dan Responsive Design

Mata Kuliah: Pemrograman Berbasis Web


๐Ÿงญ 1. Pengertian Layout Web

https://images.openai.com/static-rsc-4/tiY45gTce07MkakAwumEQWBQ09Np6EUj8S7TfJWnumvhXugeNQSAUdqEOqKBS6lhJFFlEfhnHVHdOrCqi-Po7KpGdb9Ft3WiEbytj_J1YPtzE4GmXSqK6u0DxCAl0c16dK3R2UrISUvmmML5wcTIhEfTxmIsjwV2ndZ6Do3ytWlVG_cKZRlVE5yfzq-ZWC0U?purpose=fullsize
https://images.openai.com/static-rsc-4/d223TouzX3dK9-rvI-qnZO2Sgt1QUWoKjuGdv5KMdaMTwPY7a-1q-l0JSa3_n7bL8i30Cg4XEgBemFRjY940c6tbj-EiXVvpw2wnAkU17rq0_aYXZygcwzQXuwezLNVHtsWuMrrnCSHguO8Y6Bh_1YQgw-Df6Yd1B5U35J-SGxrvrA7mbLUXwRLs4d69WbFR?purpose=fullsize
https://images.openai.com/static-rsc-4/l0ywqb_E1jGXRf0S9Pu7pEeWiV-ErJZ0IadV7FYQWG_mBkCSrtASO7uJKDA7Vz9CDvVwwE1SugXCSJAgF1Xmu1l6kJqV2xMBw-iMGfovHxOqPDoOyjZKIJ8FqxjnMovXBB-engx2Du65IXUti-jadI_1t8i1hk1pbgru_7qwaNaqb6QIwBy9ex56LaIudnuY?purpose=fullsize

7

๐Ÿ“– Deskripsi

Layout web adalah cara menyusun dan mengatur elemen-elemen pada halaman website agar terlihat rapi, terstruktur, dan mudah digunakan.

๐Ÿง  Narasi

Layout dapat diibaratkan seperti denah rumah. Tanpa layout yang baik, pengguna akan kesulitan menemukan informasi. Layout menentukan bagaimana konten ditampilkan, di mana posisi menu, dan bagaimana interaksi pengguna terjadi.


๐Ÿงฉ 2. Konsep Responsive Design

https://images.openai.com/static-rsc-4/Z0r3uV1HDeTUQDkDw9tUBrZ7j7-DXvXUVIzxrHWrkjD5p07GGG5Kz6Ewztv7Og6BqdQJYzGmS2YsshlKlcK2VKGNYZT-v5l7FP2XAm6PKPFITd-g8t8VbrmCz2aeRQC7IIqiXu5oIpM7hGqWkwJY05vz39XhoQ_-XLnlGrVXShdIFGtGR5RQOcPe8NhAZ-Oo?purpose=fullsize
https://images.openai.com/static-rsc-4/4X6cnPtjPMJ7BwYdZ8cZO00dYe3EW79Znt299ABPb1WgzM9r3pfecCzFQ0qulLs0Z1YmzJ-IgvrieN1uL1yGMNIGx8aVWUznO9UZm1EUq89pqjNLw2AUS9Clvcbq8zALk_ivh3Q7NSj9fNUotp3xZjub7SVUl1Ow5U9mV7fxYwsi8vgO7TLYCx2XzmXjDoDk?purpose=fullsize
https://images.openai.com/static-rsc-4/L8PWGMR0BeWP3NQb8mRG3oGXrFkjS9JHPLdJv5fnhWbasmiBh2qM2ewHWjvdEnheJs_QLMtZFoeTYMX8LavkdX0Mq_ontYEL9gWgoB_5JcoKrFWXovkIgQVwaoi_MfXSEqBry5Y1Y5r22Hrl-5khDBdPXZUIJRH0Yfi5UflIzvy5mAvg3d3HcYjloWKcEsqJ?purpose=fullsize

6

๐Ÿ“– Deskripsi

Responsive design adalah teknik membuat tampilan website agar dapat menyesuaikan dengan berbagai ukuran layar (desktop, tablet, smartphone).

๐Ÿง  Narasi

Saat ini pengguna mengakses web dari berbagai perangkat. Website harus mampu beradaptasi secara otomatis agar tetap nyaman digunakan, tanpa harus membuat versi terpisah.


๐Ÿ“ฆ 3. Box Model dalam Layout

https://images.openai.com/static-rsc-4/UDAAJjhH98VJGLxWAUecgrz_ZX1EiZ6x8MKzaybannRj8exkMYdZrMfcctlOirHsBl8WT2bK2kD70Nv31W-jbtKdcdQe-YA6v-ZcWHgEP7KAksahe6cCeg7PPafE06pBpQ7OUf8scGCTYvJ2ELJIhB_Dw7yCWky1Sa4b7gkgHOlT82EImBNymm4PF-cs9ltZ?purpose=fullsize
https://images.openai.com/static-rsc-4/Ks77LjYd-BXVUARMAO0X1H-NpJA9PiAJyGtHT5_3TjBQn3L9tFPUR2Mdv2YrsPAOfeQbdQMXvhLEwf2rizm-PhjclOM5sxHsR9H5B6cDxS801i35do8vMy3RgEh_nKcTF_NjVUZ6GCzMoLf3xlkH0011dfDBQOU7cXRNZ5C0fW1VLaUcEeXXe-HAfngEWm-H?purpose=fullsize
https://images.openai.com/static-rsc-4/YBlpf59c3jf9a4C-zySYIlOjHr25RdxQ46XWCdPOE8WPRzaCoRMDjVoPmTqwstaFwJXZZ0Zekk4d2vdMv9tYrxKxfPrCk2NMrM8oGLqXFEN8G2LRHx71Mr6tmhUjs7bb-nKtdL9U0U5oBcTKgvtZ-6dcVTd97B13AcIiJ6_HMa6TINEo0UznJtvJPk8eJ1KL?purpose=fullsize

6

๐Ÿ“– Deskripsi

Box model merupakan dasar dalam mengatur layout.

๐Ÿงฑ Komponen

ElemenFungsi
ContentIsi
PaddingJarak dalam
BorderBatas
MarginJarak luar

๐Ÿง  Narasi

Pengaturan margin dan padding menentukan jarak antar elemen sehingga layout terlihat rapi.


๐Ÿ“ 4. Display Property

https://images.openai.com/static-rsc-4/-AAsnR-Nj7h89BGJHfaNed1Xj_drnErasMfwim96_MIPRZ3henYr-tYxq_vzJJI00Pw8EGPIP5FXgwlslrISNELkY01sl8Txm_L_KpwQaoWk6QSajukH8QlNbJL8GhUHxhzvVSeR9yHqT6PbAlqypcarcIK2ICe_vhaeo6Leh_FcNFA2x7ifSzaIwtJ7vrPC?purpose=fullsize
https://images.openai.com/static-rsc-4/tJhguhNlp5IumIdmEzi6wn9yP6KQr2dj-a_aAyvFeus3Sp2C08zW1wB6vfPLMA3w0WML6u0inTZOriOP64etSW3mCSkbxubb3ngbR9s_TEzRoRbO5PQYnGK2y0qmYyehB2E4uqIO-IcwhXG75Y8H3Ji7kI2wEy10UBtRLqrSxJcKJvTFV_kTxiP7xQW7zNY8?purpose=fullsize
https://images.openai.com/static-rsc-4/UZYyUZgIXrZHfcBIW2Gz_hZjAu5IIS0GtFVNqtSOFDMhQmjo930qvC8bHa0VF_CXYWWg5c_7W35UDTYMXY2196XDIlrkFB-PI-Z7OIgrp0U12JIdEwOiHjacthgxdggh2t7ljH9bMX_wN0KObxkNC0IPNVkVGpgGVwoUTX8Nd2QIKGrdypr0WicvY95cMynQ?purpose=fullsize

8

๐Ÿ“– Deskripsi

Properti display menentukan bagaimana elemen ditampilkan.

๐Ÿงฑ Tabel Display

NilaiFungsi
blockSatu baris penuh
inlineDalam satu baris
inline-blockGabungan
noneTidak ditampilkan

๐Ÿ’ป Contoh

div {
display: block;
}

๐Ÿง  Narasi

Pemahaman display penting sebelum masuk ke layout modern seperti Flexbox dan Grid.


๐Ÿ“Š 5. Flexbox (Flexible Box Layout)

https://images.openai.com/static-rsc-4/QOHVTI1Kjy9YR7BhgjlWwLwaQOulxCOwj3B7UN0yx3JKkrfO_znsnbovpAkayhWfA8OjPqpCQAFseFrAMb3bGC775SXDJxLvM5Uj4q_Yfy1MoRwEeZ8r3OK5UY4l5PStsr_mXZ-O6Ljo8qop7zzzuMFnsZ40OntOzfxBq-3TEpF7o1R5hEtdih5c_h7-meOd?purpose=fullsize
https://images.openai.com/static-rsc-4/PG4VOCTlIJAD4QP7ppZwGRZCe6COD_l9ya1Vpp-oiVaepkZSlHYlt1c3vgGCGuZwR8dPcmCnFgW46kcajvK9pw6Ei69HtgElxo838NncRcaJr23tjAC5-NX98RaOnKWmlj7mjF9mD5XoC-lvr7guTYOSxUi_zFBqd_y_ChBJAaPSzzpo5tiZJDz53yJNZSv4?purpose=fullsize
https://images.openai.com/static-rsc-4/EPopKG9dJqFmQYiWjjjG-dP_BzJJ2VKzv_mem3qQdYSFnjzGJCN6wZpydaluzrSTFGikt_BQjQoUJ2Mx5aJy21w8lfVm-rItZiymsSVGOEgvaAhmDz4-30E95HJkVfWAoelJQ7u9rtP2IiF01xPTaP6kdHRcQXletk_s-Aiy298N8VVLHt8bO7GJvo6ze789?purpose=fullsize

7

๐Ÿ“– Deskripsi

Flexbox digunakan untuk mengatur layout satu dimensi (baris atau kolom).

๐Ÿงฑ Properti Utama

PropertiFungsi
display: flexMengaktifkan flexbox
justify-contentHorizontal
align-itemsVertikal

๐Ÿ’ป Contoh

.container {
display: flex;
justify-content: center;
align-items: center;
}

๐Ÿง  Narasi

Flexbox mempermudah penataan elemen tanpa perlu float atau positioning kompleks.


๐Ÿงฎ 6. CSS Grid Layout

https://images.openai.com/static-rsc-4/zZQQrbHvKBghVyRQAx9msto3EdM6i0McxHXBqeJ0MaOBs6b5eXZZLQ1MkBkRNCUy30oh-ivb3bIVKBzbR-Qja1XtGk_anDtaSr8H-v4cKe61mT23usGLlB71oUa2eOyA89Y49DH33rcUOM5dX0acjyqMOfMBnKI76cLcW7Q9nVYZCrD_JZufTksyvN5C2DVk?purpose=fullsize
https://images.openai.com/static-rsc-4/vQQnNVux2qrTu5jN4a2RU129BoRZHzJUqPNM_mKtbvPhkgS0JkVdJmx8uxyXzRVJYRGEHqhHCKhpF-iUn9U_tuNVfjbU9MjACk2NVxIp1DxBbXHhNJ1n1yTxxFlVz4dBdhg3x82GsX4PsxMDJMTAqP5Q2BILiuh7novdJxRPi68r7lr8K9Cb2_-46kddyKsI?purpose=fullsize
https://images.openai.com/static-rsc-4/axIMHIUv6N8PjIwLLob9Xv9gsHrwHoAT1XWqwiLMSLuE80uIJ59vpw1uAbCNAZrZs9KlQXkegpgP_7dVrj_7wCzIkT3G_YMkk0kufDEb47U_fmAjavnbHt-SRjXl-hkPQY8MB8b9E4Qa8Ls0g9x6UO9rZmEZNlYGgsJnChGqJEajTwqpJ6E0PAAdZCLDYoxm?purpose=fullsize

7

๐Ÿ“– Deskripsi

Grid digunakan untuk layout dua dimensi (baris dan kolom).

๐Ÿงฑ Properti

PropertiFungsi
display: gridAktifkan grid
grid-template-columnsKolom
grid-template-rowsBaris

๐Ÿ’ป Contoh

.container {
display: grid;
grid-template-columns: 1fr 1fr;
}

๐Ÿง  Narasi

Grid cocok untuk layout kompleks seperti dashboard atau halaman utama website.


๐Ÿ“ฑ 7. Media Queries

https://images.openai.com/static-rsc-4/OErgn4OLWrPELSyEPNKsrU88qnkF0eiBc2ZftH19ALmAq0GkVpveAdvKQYILOBdUWDtHI8W51hNtMshD7vLtvgm_0YhCfhYEeyccot4NT1GooitxgYa6tJuT6Tr6bNb7hWfegKpnUoDAoxv8PLWWz0Qs2neUCgceJrQlbjPW9Mq1BxDEYkWSGOssdQRMmOuG?purpose=fullsize
https://images.openai.com/static-rsc-4/Vj58iLmCaejPP0xlj6VZ3BanUO5VybXDA6JCVcwFX-lwBG58omGijGo5yR7agzelDPvUhBktMtMOt0j0mUiQTYCDRgsnWd2Hr7MW833Keoe0HZNwBxe910vW0I6w8xvHmIBnkJsoHMSQLLfJYqlfXhJYeXdgcTZzwAmaVekruaoKeMa-8jVujlKaeZjQtkGK?purpose=fullsize
https://images.openai.com/static-rsc-4/2Ng7nWNjZHwpn08VH3uIFLY1S41Dq6KjbIzOD6NCjTmRl2vCMO09mjEkAM1DqIOLgJtwlXlK77wpMcUJt7BnXANmXZYeCXFNg3vv9E_L5MWdOy_KlVYJQ0lzJP35EWM44VFpLh0q6ioE8CxSnS6nEVgvqwRFMTg-nEvBSce_jf641IOwWiChdh2ozJipnBX_?purpose=fullsize

7

๐Ÿ“– Deskripsi

Media queries digunakan untuk membuat desain responsive.

๐Ÿ’ป Contoh

@media (max-width: 768px) {
body {
background-color: lightgray;
}
}

๐Ÿง  Narasi

Media queries memungkinkan CSS berubah sesuai ukuran layar.


๐Ÿ“ 8. Satuan Responsif

https://images.openai.com/static-rsc-4/b_Z0PXG3QnOHmAOoJBmyLdWsVvqX7T7aNxf9zKsjMz57eIxZvKV_4OaQ92ymg8xFzhXyy7k2JFPA7Jg75BJabvrNGaDO0e6whGgk_s6FWzwAmmNGcsLTDHCk8nmmb4VoESmEHZLOE9HntvryBs2_ClhIzkS0zpP2Q9tCNOeJN3MoyQtCcx3zRNyBLZztOWMy?purpose=fullsize
https://images.openai.com/static-rsc-4/XytN_n47T4LwD2JqEVo8QbguW1G4_psS-siODCTrjCzzL5V2paE1RpIN5nGD_ptl_yU1z2uZkXLh2xvlrBsvMKRfDhB2Gqtv1XPoS9yX_uU4QJX9j481cZPLjKmdts8TzGa0Fnr-LdUS3vuuasaX3MMgY-_IZoRJ3C4Td13Ax-7Yy4W5b__J3Lqk_C1zSgn7?purpose=fullsize
https://images.openai.com/static-rsc-4/wSNT1LogEfIH6nMd2qed43s2QFm6CalFzXab8Cu-Y2eSpFWoFEzWyyfVkbNPeyHNnctbQANynRiGlfU5P57ea7yncAWhC8fe9aa1_ASUcdK7H3p2Zdkgdub62o8FFnVLV8HgnOC21zClzT8r2u8IXgruY1XfIcKKa14X3zdB_ONdHouzqcHAQUd2nRiVc2Cv?purpose=fullsize

7

๐Ÿ“– Deskripsi

Satuan responsif membantu desain fleksibel.

๐Ÿงฑ Tabel

SatuanFungsi
%Relatif parent
vw/vhBerdasarkan layar
rem/emRelatif font

๐Ÿง  Narasi

Menghindari penggunaan px berlebihan membantu membuat layout lebih fleksibel.


๐Ÿงฑ 9. Framework Layout (Bootstrap)

https://images.openai.com/static-rsc-4/5fKkZwrkiNDJ0skrJcExGfoINhyf2MebZjrwcaDq7MCOn8i0tAPpY4xAQ_ZLOnqEImJ2HWfwKDvmd7z6zc0kz_IvsJFq9SPIpDIPN58Bs2TZz5M4_m5XcI93eTJlr0m3uvcN25VGolT10VadtmTL07S3PkCcbm4dWoFqgJ-EkrM1Y1DvGcvleX39LbESe8ao?purpose=fullsize
https://images.openai.com/static-rsc-4/kCshMPokpRT4zSB4m6cippT6UGcnW0mDVISPedMQrTntJefmXKT_O_uchXYQcmeiHviPwFBEoa5PMHi4CiBXff0IiQ3H7Bp8Cdy5__ylhTfMKuaTWO8R4OUuvvAAjRsLnyv0oQdgh9MFdI02dzm1AHQ1nJzzuIZ4MMG0RrGucgLhhtFQqfXmpvgnilOV-FvE?purpose=fullsize
https://images.openai.com/static-rsc-4/8CrPsUuyqvkyol6sxuwg2ZZj4eJpHmD8zoeGJ7vexEd37BIU9biiEWzL6yb8zUHnap7clS-HiPDDyAR2jY7xIDtUfOH8ouMrsuGnzJfMNtCmMWFh0sO66pxyiPmjGsAFfFGFnmTj6lhAOMNTGid4s8kaWYK2AhKtuwRuDn6-XiIDjOIgkVc3wFZk7qyOC6e0?purpose=fullsize

9

๐Ÿ“– Deskripsi

Framework seperti Bootstrap membantu membuat layout lebih cepat.

๐Ÿงฑ Konsep Grid Bootstrap

ElemenFungsi
containerPembungkus
rowBaris
colKolom

๐Ÿง  Narasi

Framework mempercepat pengembangan tanpa harus menulis CSS dari nol.


โš ๏ธ 10. Kesalahan Umum dalam Layout

https://images.openai.com/static-rsc-4/_h3te9hKT6wzVVUwtpxJe3POB0Ga7rHZWtxv2HVxEKRs_2HA1J8Cmse26X_wSS22MZXor7BnctQz7TvlMNylNRCKr-LAf74wdWKUg63dvQpu8Tvx8dGOg7gY0BwAkGW58-hDXxsTlxdmswE0MTm0bawJiPPfK2uPnE_igNXnhxuzY1xt3tK2ZTzczb7eOSbL?purpose=fullsize
https://images.openai.com/static-rsc-4/nT49wWTcFfiaOsHSL4hww5dsunfb6L-rCvead_ZbaIxB5gXqVY--qlPiGq-pEuooPZP9IOiN_s8aN2ft1W9EEdpVS-uL7oePzxvYLj2X-PIQwlj7c-oNMpQzJt_YN7iNZnStkGnQMbTp91slOd6EFARo0Zgv2EgLhJ4HwDUQlbjIvWKKtxKZheB5lpwYDeJZ?purpose=fullsize
https://images.openai.com/static-rsc-4/na3lqNDV8lc4oS2e9rhM-Miz2n5efYUfPeZIZ7Oy5VlLMG5NhbVE3avBNEe-GnMb5FBhDhl8KvIaapUhF3hzt2PAs-lsSXskwKXDXiuTU9HSaYyT-sJglARPT5IA9OQtkaflNtXMFDdEoHLP35uP4RlAn0z0N6eZ93YEIHl_44hb7t9AW04LsG5x_t5c-k-I?purpose=fullsize

6

๐Ÿ“– Deskripsi

Kesalahan yang sering terjadi:

๐Ÿงฑ Daftar

  • Tidak responsive
  • Overlapping elemen
  • Ukuran tetap (fixed)
  • Tidak menggunakan flex/grid

๐Ÿง  Narasi

Kesalahan layout dapat menyebabkan pengalaman pengguna buruk.


๐Ÿงช 11. Studi Kasus Praktikum

๐ŸŽฏ Tugas

Buat layout website:

  • Header
  • Navbar
  • Content
  • Sidebar
  • Footer

Gunakan:

  • Flexbox atau Grid
  • Media Queries
  • Responsive units

๐ŸŽฏ 12. Kesimpulan

  • Layout menentukan struktur web
  • Flexbox dan Grid adalah tools utama
  • Responsive design wajib di era modern
  • Media queries membuat desain adaptif

๐ŸŽ“ Penutup

Setelah materi ini, mahasiswa siap mempelajari:
โžก๏ธ UI/UX Design
โžก๏ธ Framework frontend lanjutan
โžก๏ธ Pengembangan web profesional