Pada artikel Geografi kelas 12 ini, kamu akan menemukan pembahasan seputar macam faktor dan zona dalam interaksi desa-kota.
—
Kamu pernah kepikiran gasih, kira-kira pas kamu lagi nikmatin ayam geprek beserta kol goreng, semua komponen makanan yang ada di piring itu, kayak ayamnya, nasinya, kolnya, cabe buat sambelnya, itu asalnya dari mana, ya? Kalo kamu makan ayam gepreknya di daerah perkotaan, udah hampir dipastikan yang ada di piring kamu itu asalnya dari desa, loh.
Atau kamu pernah gak, liat pas lagi pulang kampung, di desa kamu hampir semua warganya menggunakan kendaraan bermotor. Padahal, di sana belum tentu ada pabriknya. Nah, itu karena motor-motor yang ada di desa merupakan hasil produksi dari kawasan industrinya yang umumnya ada di kota.
Nah, dari cerita di atas, bisa kita simpulkan kalo desa dan kota itu saling berinteraksi, gais! Salah satu contohnya ya melalui kebutuhan barang dan sumber dayanya, nih. Jadi, buat yang udah nebak-nebak, bener banget, nih. Kali ini, kita mau bahas tentang faktor dan zona interaksi desa dan Kota ya, gais. Yuk, langsung simak aja!
Pengertian Interaksi Desa dan Kota
Oke gais, sebelum masuk ke materi utama, kamu perlu tau dulu nih pengertian interaksi itu apa. Interaksi adalah suatu tindakan antara dua objek atau lebih yang saling mempengaruhi. Nah, seperti yang aku bilang sebelumnya, desa dan kota itu juga saling berinteraksi, nih.
Jadi, kalo interaksi desa-kota adalah hubungan saling mempengaruhi antara wilayah desa dengan wilayah kota yang menghasilkan dampak untuk kedua wilayah tersebut. Nah, adanya interaksi desa-kota ini dapat menghasilkan dampak positif maupun negatif loh buat kedua wilayahnya.
Nah, sebelum kita masuk ke zona dan dampak interaksi desa-kota, kamu perlu tau dulu nih faktor-faktor yang dapat menjadi penyebab lahirnya interaksi antara suatu desa dan kota. Setidaknya ada tiga faktor ya gais, yuk simak penjelasannya di bawah ini!
Baca Juga: 9 Bentuk Usaha Pemerataan Pembangunan di Desa dan Kota
Faktor Penyebab Interaksi Desa dan Kota
Menurut Edward Ullman, ada tiga faktor penyebab interaksi antarwilayah. Yuk, simak penjelasannya masing-masing di bawah ini ya, gais!
1. Region Complementary (Wilayah Saling Melengkapi)
Oke gais, jadi seperti yang kita tau ya, desa dan kota itu kan jumlahnya banyak ya. Tapi tiap daerah itu pasti punya kekurangan dan kelebihan masing-masing, entah itu dalam bentuk sumber daya, barang, atau jasa.
Nah, karena hal ini nih, banyak desa dan kota yang akhirnya jadi saling melengkapi. Uwuu manis banget, ya. Lebih jelasnya, coba kamu cek gambar di bawah, nih.
Jadi, kalo ada kasus seperti contoh di atas, itu berarti interaksinya muncul karena faktor Region Complementary ya, gais.
Baca Juga: Seperti Apa Sih Pola Keruangan Desa dan Ciri-Cirinya?
2. Intervening Opportunity (Kesempatan Intervensi)
Faktor yang kedua adalah Intervening Opportunity, artinya Kesempatan intervensi, nih. Nah, kalo faktor yang ini itu bisa dua arah ya, bisa juga jadi mendorong interaksi, tapi bisa juga malah menghambat interaksi suatu wilayah.
Nah, sesuai namanya nih, jadi intervensi itu bisa menjadi alasan adanya interaksi suatu wilayah. Jadi simpelnya, ada suatu wilayah yang memutus atau melemahkan interaksi dua wilayah.
Kalo kamu liat ilustrasi di atas, wilayah A dan B jadi lemah interaksinya karena adanya wilayah C. Tapi, di sisi lain, timbul interaksi baru antara wilayah tersebut. Baik wilayah A maupun B, kini memiliki interaksi dengan wilayah C. Walaupun keduanya kini interaksinya melemah.
Nih, analoginya ya biar gampang, gais. Jadi, awalnya wilayah A dan B saling butuh untuk memenuhi kebutuhan sumberdaya. Eh, tapi mereka ketemu wilayah C yang memiliki pasokan sumberdaya lengkap, dan C jadinya yang memenuhi kebutuhan A dan B. Akhirnya, A dan B gak kontakan lagi deh karena sekarang masing-masing kebutuhannya minta dari wilayah C.
3. Spatial Transferability (Kemudahan Perpindahan Ruang)
Faktor yang ketiga adalah Spatial Transferability atau Kemudahan Perpindahan Ruang. Kalo kamu liat di faktor sebelumnya, kamu penasaran gak sih, kenapa wilayah A dan B gak saling dukung aja? Kenapa harus ada wilayah ketiga sih di antara mereka?
Nah, jawabannya bisa karena faktor ini, nih. Jadi, kemudahan perpindahan barang atau jasa pada suatu wilayah sangat mempengaruhi. Kemudahan ini bisa berupa jarak yang lebih dekat, biaya transportasi yang lebih murah, dan aksesibilitas yang lebih mudah ke wilayah tersebut.
Simpelnya, karena jarak wilayah A lebih dekat ke wilayah C dibanding wilayah B, akhirnya wilayah A lebih pilih berinteraksi dengan wilayah C, deh. Walaupun wilayah B dan C sama-sama dapat mendukung wilayah A, yang terpilih tetaplah yang paling banyak menawarkan kemudahan buat wilayah A ya, gais.
Baca Juga: Yuk, Pahami Pola Keruangan Kota, Ciri-Ciri, dan Strukturnya!
Lanjut nih gais, sekarang kita masuk ke bagian kedua sekaligus terakhir, ya. Aku sekarang mau bahas tentang zona interaksi desa-kota, nih. Jadi, zona interaksi itu merupakan ruang atau lokasi tempat berlangsungnya hubungan timbal balik antar objek.
Nah, kalo untuk bahasan kita, objeknya itu desa dan kota, ya. Jadi, untuk ruang interaksi desa-kota ini dibagi jadi 3 zona interaksi, yakni zona interaksi antar desa, antar kota, serta antar desa dan kota.
1. Zona Interaksi Desa dan Desa
Interaksi desa dan desa biasanya berlangsung pada kegiatan yang berhubungan dengan tradisi, adat istiadat, atau dalam rangka pemenuhan kebutuhan hidup.
Nah, karena biasanya cuma karena kebutuhan tersebut, interaksi desa ke desa biasanya agak lemah ya, karena biasanya gak akan menimbulkan perubahan yang signifikan pada masing-masing desa.
2. Zona Interaksi Kota dan Kota
Interaksi kota dan kota berlangsung pada kegiatan-kegiatan di bidang industri dan jasa. Masih sama ya kayak interaksi desa-desa, kalo antar kota biasanya juga gak menimbulkan perubahan signifikan ke masing-masing kota. Karena tatanan hidup di masing-masing sudah terstruktur dengan ketentuannya masing-masing.
3. Zona Interaksi Desa dan Kota
Nah baru nih, kalo interaksinya antara desa dan kota pasti menimbulkan perubahan yang signifikan pada desa dan kota yang terlibat. Bahkan ada juga nih yang muncul, namanya zona gradasi wilayah. Zona ini muncul dari hasil interaksi desa dan kota. Ini diutarakan oleh Bintarto ya, menurut beliau bentuknya seperti ini:
Baca Juga: Dampak Pembangunan Kota untuk Masyarakat Desa dan Kota
Oke gais! Jadi untuk bahasan kita kali ini sampe di sini aja ya hehe. Jadi, sekarang kamu udah tau nih tentang faktor dan zona interaksi desa-kota. Kalo masih kurang lengkap, kamu bisa juga baca tentang dampak interaksi desa-kota ya gais.
Atau kalo masih kurang lengkap juga karena kamu sobi ambis, mening langsung download aplikasi Ruangguru dan langganan ruangbelajar, ya! Sampai jumpa di tulisanku berikutnya~
Referensi:
Ilbery, B. (Ed.). (1998). The Geography of Rural Change. London: Routledge
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta author="viewport" content="Ruangguru Tech Team">
<title>Apa Saja Faktor & Zona Interaksi Desa-Kota?</title>
<link rel="shortcut icon" href="https://cdn-web-2.ruangguru.com/homepage-web/public/assets/icons/favicon.id.ico" type="image/x-icon" />
<!-- <link rel="profile" href="https://gmpg.org/xfn/11"> -->
<link rel="pingback" href="https://www.ruangguru.com/blog/xmlrpc.php">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://www.ruangguru.com/blog/wp-content/themes/ruangguru/css/bootstrap.min.css">
<link rel="stylesheet" href="https://www.ruangguru.com/blog/wp-content/themes/ruangguru/css/style.css">
<script src="https://www.ruangguru.com/blog/wp-content/themes/ruangguru/js/jquery-3.6.3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://www.ruangguru.com/blog/wp-content/themes/ruangguru/js/bootstrap.min.js"></script>
<script src="https://www.ruangguru.com/blog/wp-content/themes/ruangguru/js/main.js"></script>
<script src="https://www.ruangguru.com/blog/wp-content/themes/ruangguru/js/side-banner.js"></script>
<!-- Google Tag Manager -->
<meta name="google-site-verification" content="VJAn1g6wmtTZPpTXh-B4xoSFEkUi5jcV74xQSr6jnOM" />
<!-- <script>
document.querySelector('meta[name="author"]').setAttribute("content", "Ruangguru Tech Team");
</script> -->
<meta name="publisher" content="PT Ruang Raya Indonesia">
<!-- Google Tag Manager -->
<script>
(function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-PVNLZFT');
</script>
<!-- End Google Tag Manager -->
<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
<style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>
<!-- This site is optimized with the Yoast SEO plugin v25.9 - https://yoast.com/wordpress/plugins/seo/ -->
<meta name="description" content="Tahukah kamu kalau desa dan kota saling berinteraksi? Apa saja ya faktor yang mempengaruhi interaksi desa-kota dan macam zonanya? Berikut penjelasannya!" />
<link rel="canonical" href="https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota" />
<meta property="og:locale" content="en_US" />
<meta property="og:type" content="article" />
<meta property="og:title" content="Apa Saja Faktor & Zona Interaksi Desa-Kota?" />
<meta property="og:description" content="Tahukah kamu kalau desa dan kota saling berinteraksi? Apa saja ya faktor yang mempengaruhi interaksi desa-kota dan macam zonanya? Berikut penjelasannya!" />
<meta property="og:url" content="https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota" />
<meta property="og:site_name" content="Belajar Gratis di Rumah Kapan Pun! | Blog Ruangguru" />
<meta property="article:publisher" content="https://www.facebook.com/ruanggurucom/" />
<meta property="article:published_time" content="2025-07-28T21:45:00+00:00" />
<meta property="article:modified_time" content="2025-07-29T10:57:17+00:00" />
<meta name="author" content="Kak Ali MT Soshum" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:creator" content="@ruangguru" />
<meta name="twitter:site" content="@ruangguru" />
<meta name="twitter:label1" content="Written by" />
<meta name="twitter:data1" content="Kak Ali MT Soshum" />
<meta name="twitter:label2" content="Est. reading time" />
<meta name="twitter:data2" content="5 minutes" />
<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota","url":"https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota","name":"Apa Saja Faktor & Zona Interaksi Desa-Kota?","isPartOf":{"@id":"https://www.ruangguru.com/blog/#website"},"primaryImageOfPage":{"@id":"https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota#primaryimage"},"image":{"@id":"https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota#primaryimage"},"thumbnailUrl":"https://cdn-web.ruangguru.com/landing-pages/assets/hs/Faktor%20dan%20Zona%20Interaksi%20Desa-Kota.jpg","datePublished":"2025-07-28T21:45:00+00:00","dateModified":"2025-07-29T10:57:17+00:00","author":{"@id":"https://www.ruangguru.com/blog/#/schema/person/c6b5a5200531e8ed889c93bd5cd72b12"},"description":"Tahukah kamu kalau desa dan kota saling berinteraksi? Apa saja ya faktor yang mempengaruhi interaksi desa-kota dan macam zonanya? Berikut penjelasannya!","breadcrumb":{"@id":"https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota#primaryimage","url":"https://cdn-web.ruangguru.com/landing-pages/assets/hs/Faktor%20dan%20Zona%20Interaksi%20Desa-Kota.jpg","contentUrl":"https://cdn-web.ruangguru.com/landing-pages/assets/hs/Faktor%20dan%20Zona%20Interaksi%20Desa-Kota.jpg"},{"@type":"BreadcrumbList","@id":"https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.ruangguru.com/blog"},{"@type":"ListItem","position":2,"name":"Apa Saja Faktor & Zona Interaksi Desa-Kota? | Geografi kelas 12"}]},{"@type":"WebSite","@id":"https://www.ruangguru.com/blog/#website","url":"https://www.ruangguru.com/blog/","name":"Ruangguru Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.ruangguru.com/blog/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https://www.ruangguru.com/blog/#/schema/person/c6b5a5200531e8ed889c93bd5cd72b12","name":"Kak Ali MT Soshum","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.ruangguru.com/blog/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/?s=96&d=mm&r=g","caption":"Kak Ali MT Soshum"},"url":"https://www.ruangguru.com/blog/author/kak-ali-mt-soshum"}]}</script>
<!-- / Yoast SEO plugin. -->
<link rel="alternate" type="application/rss+xml" title="Belajar Gratis di Rumah Kapan Pun! | Blog Ruangguru » Apa Saja Faktor & Zona Interaksi Desa-Kota? | Geografi kelas 12 Comments Feed" href="https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota/feed" />
<script type="text/javascript">
/* <![CDATA[ */
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.ruangguru.com\/blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.8.1"}};
/*! This file is auto-generated */
!function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\ud83d\udd25","\ud83d\udc26\u200b\ud83d\udd25")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings);
/* ]]> */
</script>
<style id='wp-emoji-styles-inline-css' type='text/css'>
img.wp-smiley, img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 0.07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
</style>
<link rel='stylesheet' id='wp-block-library-css' href='https://www.ruangguru.com/blog/wp-includes/css/dist/block-library/style.min.css?ver=6.8.1' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
</style>
<link rel="https://api.w.org/" href="https://www.ruangguru.com/blog/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.ruangguru.com/blog/wp-json/wp/v2/posts/850" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.ruangguru.com/blog/xmlrpc.php?rsd" />
<meta name="generator" content="WordPress 6.8.1" />
<link rel='shortlink' href='https://www.ruangguru.com/blog/?p=850' />
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.ruangguru.com/blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.ruangguru.com%2Fblog%2Ffaktor-dan-zona-interaksi-desa-kota" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.ruangguru.com/blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.ruangguru.com%2Fblog%2Ffaktor-dan-zona-interaksi-desa-kota&format=xml" />
</head>
<body class="wp-singular post-template-default single single-post postid-850 single-format-standard wp-theme-ruangguru">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M28L4XJ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<header class="header">
<div class="container">
<nav class="navbar navbar-expand-lg header-inner">
<div style="display:flex; gap:12px;">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<img alt="menu" src="https://cdn-web-2.ruangguru.com/file-uploader/lp/beba4a70-3971-41be-9364-f9ee6857b192.svg" loading="lazy" width="30px" height="32px" />
</button>
<a href="https://ruangguru.com" class="header-logo">
<img loading="lazy" src="https://cdn-web-2.ruangguru.com/static/logo-ruangguru.png" alt="Logo">
</a>
</div>
<form class="form-inline my-2 my-lg-0" role="search" method="get" id="searchformmobile" class="searchform" action="https://www.ruangguru.com/blog/">
<div>
<label class="screen-reader-text" for="s">Search for:</label>
<div class="input-group input-group-sm">
<span class="input-group-text" id="search-2"><img width="20px" height="20px" loading="lazy" src="https://cdn-web-2.ruangguru.com/file-uploader/lp/baf38d7b-226b-4374-8b2b-e49766395871.png" alt="" /></span>
<input type="text" value="" name="s" class="form-control" placeholder="Cari artikel di sini!" aria-label="Cari artikel di sini!" aria-describedby="Cari artikel di sini!">
</div>
</div>
</form>
<div class="collapse navbar-collapse dropdown-hover-all" id="navbarSupportedContent">
<div class="d-lg-none navbar-head-collapse">
<a href="https://ruangguru.com" class="header-logo">
<img loading="lazy" src="https://cdn-web-2.ruangguru.com/static/logo-ruangguru.png" alt="Logo">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
X
</button>
</div>
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="https://www.ruangguru.com/blog/">Blog</a>
</li>
<li class="nav-item
dropdown dropdown-hover">
<p class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Konsep & Tips Pelajaran </p>
<div class="dropdown-menu" aria-labelledby="nav1">
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu0" href="https://www.ruangguru.com/blog/c/bahasa-indonesia" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Bahasa Indonesia</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu0">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-sd-kelas-4">Kelas 4</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-sd-kelas-5">Kelas 5</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-sd-kelas-6">Kelas 6</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-indonesia/bahasa-indonesia-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu1" href="https://www.ruangguru.com/blog/c/bahasa-inggris" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Bahasa Inggris</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu1">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-inggris/bahasa-inggris-sd-kelas-6">Kelas 6</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-inggris/bahasa-inggris-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-inggris/bahasa-inggris-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-inggris/bahasa-inggris-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-inggris/bahasa-inggris-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-inggris/bahasa-inggris-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/bahasa-inggris/bahasa-inggris-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu2" href="https://www.ruangguru.com/blog/c/biologi" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Biologi</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu2">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/biologi/biologi-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/biologi/biologi-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/biologi/biologi-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/biologi/biologi-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/biologi/biologi-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/biologi/biologi-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu3" href="https://www.ruangguru.com/blog/c/ekonomi" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Ekonomi</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu3">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ekonomi/ekonomi-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ekonomi/ekonomi-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ekonomi/ekonomi-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ekonomi/ekonomi-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ekonomi/ekonomi-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ekonomi/ekonomi-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu4" href="https://www.ruangguru.com/blog/c/fisika" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Fisika</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu4">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/fisika/fisika-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/fisika/fisika-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/fisika/fisika-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/fisika/fisika-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/fisika/fisika-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/fisika/fisika-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu5" href="https://www.ruangguru.com/blog/c/geografi" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Geografi</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu5">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/geografi/geografi-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/geografi/geografi-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/geografi/geografi-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/geografi/geografi-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/geografi/geografi-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/geografi/geografi-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu6" href="https://www.ruangguru.com/blog/c/ipa-terpadu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">IPA Terpadu</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu6">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ipa-terpadu/ipa-terpadu-sd-kelas-4">Kelas 4</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ipa-terpadu/ipa-terpadu-sd-kelas-5">Kelas 5</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ipa-terpadu/ipa-terpadu-sd-kelas-6">Kelas 6</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu7" href="https://www.ruangguru.com/blog/c/ips-terpadu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">IPS Terpadu</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu7">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ips-terpadu/ips-terpadu-sd-kelas-4">Kelas 4</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ips-terpadu/ips-terpadu-sd-kelas-5">Kelas 5</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/ips-terpadu/ips-terpadu-sd-kelas-6">Kelas 6</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu8" href="https://www.ruangguru.com/blog/c/kimia" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Kimia</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu8">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/kimia/kimia-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/kimia/kimia-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/kimia/kimia-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu9" href="https://www.ruangguru.com/blog/c/matematika" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Matematika</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu9">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-sd-kelas-4">Kelas 4</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-sd-kelas-5">Kelas 5</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-sd-kelas-6">Kelas 6</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/matematika/matematika-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu10" href="https://www.ruangguru.com/blog/c/sejarah" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Sejarah</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu10">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sejarah/sejarah-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sejarah/sejarah-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sejarah/sejarah-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sejarah/sejarah-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sejarah/sejarah-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sejarah/sejarah-sma-kelas-12">Kelas 12</a>
</div>
</div>
<div class="dropdown dropend">
<a class="dropdown-item dropdown-toggle" id="nav1-menu11" href="https://www.ruangguru.com/blog/c/sosiologi" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Sosiologi</a>
<div class="dropdown-menu" aria-labelledby="nav1-menu11">
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sosiologi/sosiologi-smp-kelas-7">Kelas 7</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sosiologi/sosiologi-smp-kelas-8">Kelas 8</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sosiologi/sosiologi-smp-kelas-9">Kelas 9</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sosiologi/sosiologi-sma-kelas-10">Kelas 10</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sosiologi/sosiologi-sma-kelas-11">Kelas 11</a>
<a class="dropdown-item" href="https://www.ruangguru.com/blog/c/sosiologi/sosiologi-sma-kelas-12">Kelas 12</a>
</div>
</div>
</div>
</li>
<li class="nav-item
dropdown dropdown-hover">
<p class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Latihan Soal </p>
<div class="dropdown-menu" aria-labelledby="nav2">
<a class="dropdown-item" id="nav2-menu0" href="https://www.ruangguru.com/blog/c/latihan-soal/sd-kelas-4">Latihan Soal Kelas 4</a>
<a class="dropdown-item" id="nav2-menu1" href="https://www.ruangguru.com/blog/c/latihan-soal/sd-kelas-5">Latihan Soal Kelas 5</a>
<a class="dropdown-item" id="nav2-menu2" href="https://www.ruangguru.com/blog/c/latihan-soal/sd-kelas-6">Latihan Soal Kelas 6</a>
<a class="dropdown-item" id="nav2-menu3" href="https://www.ruangguru.com/blog/c/latihan-soal/smp-kelas-7">Latihan Soal Kelas 7</a>
<a class="dropdown-item" id="nav2-menu4" href="https://www.ruangguru.com/blog/c/latihan-soal/smp-kelas-8">Latihan Soal Kelas 8</a>
<a class="dropdown-item" id="nav2-menu5" href="https://www.ruangguru.com/blog/c/latihan-soal/smp-kelas-9">Latihan Soal Kelas 9</a>
<a class="dropdown-item" id="nav2-menu6" href="https://www.ruangguru.com/blog/c/latihan-soal/sma-kelas-10">Latihan Soal Kelas 10</a>
<a class="dropdown-item" id="nav2-menu7" href="https://www.ruangguru.com/blog/c/latihan-soal/sma-kelas-11">Latihan Soal Kelas 11</a>
<a class="dropdown-item" id="nav2-menu8" href="https://www.ruangguru.com/blog/c/latihan-soal/sma-kelas-12">Latihan Soal Kelas 12</a>
</div>
</li>
<li class="nav-item
dropdown dropdown-hover">
<p class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Pojok Kampus </p>
<div class="dropdown-menu" aria-labelledby="nav3">
<a class="dropdown-item" id="nav3-menu0" href="https://www.ruangguru.com/blog/c/info-beasiswa">Info Beasiswa</a>
<a class="dropdown-item" id="nav3-menu1" href="https://www.ruangguru.com/blog/c/kampus-dan-jurusan">Kampus dan Jurusan</a>
<a class="dropdown-item" id="nav3-menu2" href="https://www.ruangguru.com/blog/c/seleksi-masuk">Seleksi Masuk</a>
</div>
</li>
<li class="nav-item
">
<a class="nav-link
" href=" https://www.ruangguru.com/blog/c/fakta-seru" id="nav4"
>
Fakta Seru </a>
</li>
<li class="nav-item
dropdown dropdown-hover">
<p class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dunia Kata </p>
<div class="dropdown-menu" aria-labelledby="nav5">
<a class="dropdown-item" id="nav5-menu0" href="https://www.ruangguru.com/blog/tag/cerpen">Cerpen</a>
<a class="dropdown-item" id="nav5-menu1" href="https://www.ruangguru.com/blog/tag/resensi-buku">Resensi Buku</a>
</div>
</li>
<li class="nav-item
">
<a class="nav-link
" href=" https://www.ruangguru.com/blog/tag/for-kids" id="nav6"
>
For Kids </a>
</li>
<li class="nav-item
dropdown dropdown-hover">
<p class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Seputar Ruangguru </p>
<div class="dropdown-menu" aria-labelledby="nav7">
<a class="dropdown-item" id="nav7-menu0" href="https://www.ruangguru.com/blog/tag/info-ruangguru">Info Ruangguru</a>
<a class="dropdown-item" id="nav7-menu1" href="https://www.ruangguru.com/blog/tag/siaran-pers">Siaran Pers</a>
<a class="dropdown-item" id="nav7-menu2" href="https://www.ruangguru.com/blog/tag/cerita-juara">Cerita Juara</a>
<a class="dropdown-item" id="nav7-menu3" href="https://www.ruangguru.com/blog/tag/seputar-guru">Seputar Guru</a>
<a class="dropdown-item" id="nav7-menu4" href="https://www.ruangguru.com/blog/tag/lifeatruangguru">Life at Ruangguru</a>
</div>
</li>
</ul>
<form class="form-inline my-2 my-lg-0" role="search" method="get" id="searchform" class="searchform" action="https://www.ruangguru.com/blog/">
<div>
<label class="screen-reader-text" for="s">Search for:</label>
<div class="input-group input-group-sm">
<span class="input-group-text" id="search-2"><img width="10" height="10" loading="lazy" src="https://cdn-web-2.ruangguru.com/file-uploader/lp/baf38d7b-226b-4374-8b2b-e49766395871.png" alt="" /></span>
<input type="text" value="" name="s" class="form-control" placeholder="Cari artikel di sini!" aria-label="Cari artikel di sini!" aria-describedby="Cari artikel di sini!">
</div>
</div>
</form>
</div>
</nav>
<script>
(function($bs) {
const CLASS_NAME = 'has-child-dropdown-show';
$bs.Dropdown.prototype.toggle = function(_orginal) {
return function() {
document.querySelectorAll('.' + CLASS_NAME).forEach(function(e) {
e.classList.remove(CLASS_NAME);
});
let dd = this._element.closest('.dropdown').parentNode.closest('.dropdown');
for (; dd && dd !== document; dd = dd.parentNode.closest('.dropdown')) {
dd.classList.add(CLASS_NAME);
}
return _orginal.call(this);
}
}($bs.Dropdown.prototype.toggle);
document.querySelectorAll('.dropdown').forEach(function(dd) {
dd.addEventListener('hide.bs.dropdown', function(e) {
if (this.classList.contains(CLASS_NAME)) {
this.classList.remove(CLASS_NAME);
e.preventDefault();
}
e.stopPropagation(); // do not need pop in multi level mode
});
});
// for hover
document.querySelectorAll('.dropdown-hover, .dropdown-hover-all .dropdown').forEach(function(dd) {
dd.addEventListener('mouseenter', function(e) {
let toggle = e.target.querySelector(':scope>[data-bs-toggle="dropdown"]');
if (!toggle.classList.contains('show')) {
$bs.Dropdown.getOrCreateInstance(toggle).toggle();
dd.classList.add(CLASS_NAME);
$bs.Dropdown.clearMenus(e);
}
});
dd.addEventListener('mouseleave', function(e) {
let toggle = e.target.querySelector(':scope>[data-bs-toggle="dropdown"]');
if (toggle.classList.contains('show')) {
$bs.Dropdown.getOrCreateInstance(toggle).toggle();
}
});
});
})(bootstrap);
$(document).ready(() => {
if ($(window).width() > 991) {
$("a[data-bs-toggle='dropdown']").click(function() {
window.location = $(this).attr('href');
});
}
})
</script>
</div>
</header>
<div class="main-content">
<div class="side-banner-mobile">
</div>
<div class="glider-navigation mobile">
<div role="tablist" class="dots" id="side-banner-mobile-dots"></div>
<div class="glider-button-navigation">
<button aria-label="Previous" class="glider-prev" id="side-banner-mobile-prev"><img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/412de767-9fab-4a4e-9a21-09b7ac9c5f96.png"></button>
<button aria-label="Next" class="glider-next" id="side-banner-mobile-next">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/754b0134-4f20-4cdd-af8c-d5918044d734.png">
</button>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-8 post">
<div class="content">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<!-- Home Link -->
<li class="breadcrumb-item"><a href="https://www.ruangguru.com/blog">Home</a></li>
<!-- Categories -->
<li class="breadcrumb-item"><a href="https://www.ruangguru.com/blog/c/geografi">Geografi</a></li><li class="breadcrumb-item"><a href="https://www.ruangguru.com/blog/c/geografi/geografi-sma-kelas-12">Geografi SMA Kelas 12</a></li> </ol>
</nav>
<h1 class="content-title">
Apa Saja Faktor & Zona Interaksi Desa-Kota? | Geografi kelas 12 </h1>
<div class="content-meta">
<p class="content-author"><a href="https://www.ruangguru.com/blog/author/kak-ali-mt-soshum" class="">Kak Ali MT Soshum</a> </p>
<p class="content-info"><span>July 29, 2025 • </span> <span>6 minutes read</span></p>
<br />
</div>
<div class="content-body">
<p style="text-align: left;"><img decoding="async" style="width: 702px; display: block; margin: 0px auto; height: auto; max-width: 100%;" src="https://cdn-web.ruangguru.com/landing-pages/assets/hs/Faktor%20dan%20Zona%20Interaksi%20Desa-Kota.jpg" alt="Faktor dan Zona Interaksi Desa-Kota" /></p>
<blockquote>
<p style="text-align: center;"><em>Pada artikel <strong><a href="https://www.ruangguru.com/blog/c/geografi/geografi-sma-kelas-12" target="_blank" rel="noopener">Geografi kelas 12</a></strong> ini, kamu akan menemukan pembahasan seputar macam faktor dan zona dalam interaksi desa-kota.</em></p>
</blockquote>
<p style="text-align: center;">—</p>
<p> </p>
<p style="text-align: justify;">Kamu pernah kepikiran gasih, kira-kira pas kamu lagi nikmatin ayam geprek beserta kol goreng, semua komponen makanan yang ada di piring itu, kayak ayamnya, nasinya, kolnya, cabe buat sambelnya, itu asalnya dari mana, ya? Kalo kamu makan ayam gepreknya di daerah perkotaan, udah hampir dipastikan yang ada di piring kamu itu asalnya dari desa, loh.</p>
<p style="text-align: justify;">Atau kamu pernah gak, liat pas lagi pulang kampung, di desa kamu hampir semua warganya menggunakan kendaraan bermotor. Padahal, di sana belum tentu ada pabriknya. Nah, itu karena motor-motor yang ada di desa merupakan hasil produksi dari kawasan industrinya yang umumnya ada di kota.</p>
<p style="text-align: justify;">Nah, dari cerita di atas, bisa kita simpulkan kalo desa dan kota itu saling berinteraksi, gais! Salah satu contohnya ya melalui kebutuhan barang dan sumber dayanya, nih. Jadi, buat yang udah nebak-nebak, bener banget, nih. Kali ini, kita mau bahas tentang faktor dan zona interaksi desa dan Kota ya, gais. Yuk, langsung simak aja!</p>
<p> </p>
<h2><span style="font-size: 18pt;">Pengertian Interaksi Desa dan Kota</span></h2>
<p style="text-align: justify;">Oke gais, sebelum masuk ke materi utama, kamu perlu tau dulu nih pengertian interaksi itu apa. Interaksi adalah suatu tindakan antara dua objek atau lebih yang saling mempengaruhi. Nah, seperti yang aku bilang sebelumnya, desa dan kota itu juga saling berinteraksi, nih.</p>
<p style="text-align: justify;">Jadi, kalo <strong>interaksi desa-kota adalah hubungan saling mempengaruhi antara wilayah desa dengan wilayah kota yang menghasilkan dampak untuk kedua wilayah tersebut.</strong> Nah, adanya interaksi desa-kota ini dapat menghasilkan dampak positif maupun negatif loh buat kedua wilayahnya.</p>
<p style="text-align: justify;">Nah, sebelum kita masuk ke zona dan dampak interaksi desa-kota, kamu perlu tau dulu nih faktor-faktor yang dapat menjadi penyebab lahirnya interaksi antara suatu desa dan kota. Setidaknya ada tiga faktor ya gais, yuk simak penjelasannya di bawah ini!</p>
<p style="text-align: justify; font-weight: bold;">Baca Juga: <a href="/blog/9-bentuk-usaha-pemerataan-pembangunan-di-desa-dan-kota" target="_blank" rel="noopener">9 Bentuk Usaha Pemerataan Pembangunan di Desa dan Kota</a></p>
<p> </p>
<h2><span style="font-size: 18pt;">Faktor Penyebab Interaksi Desa dan Kota</span></h2>
<p style="text-align: justify;">Menurut Edward Ullman, ada tiga faktor penyebab interaksi antarwilayah. Yuk, simak penjelasannya masing-masing di bawah ini ya, gais!</p>
<p> </p>
<h3><span style="font-size: 14pt;">1. <em>Region Complementary</em> (Wilayah Saling Melengkapi)</span></h3>
<p style="text-align: justify;">Oke gais, jadi seperti yang kita tau ya, desa dan kota itu kan jumlahnya banyak ya. Tapi tiap daerah itu pasti punya kekurangan dan kelebihan masing-masing, entah itu dalam bentuk sumber daya, barang, atau jasa.</p>
<p style="text-align: justify;">Nah, karena hal ini nih, banyak desa dan kota yang akhirnya jadi saling melengkapi. Uwuu manis banget, ya. Lebih jelasnya, coba kamu cek gambar di bawah, nih.</p>
<p><img decoding="async" style="width: 600px; display: block; margin: 0px auto; height: auto; max-width: 100%;" src="https://cdn-web.ruangguru.com/landing-pages/assets/hs/Geografi%2012%20-%20Infografik%201%20-%20Konsep%20Pelajaran%20-%20Apa%20Saja%20Faktor%20dan%20Zona%20Interaksi%20Desa-Kota_-03.jpg" alt="region complementary" /></p>
<p> </p>
<p style="text-align: justify;">Jadi, kalo ada kasus seperti contoh di atas, itu berarti interaksinya muncul karena faktor <i>Region Complementary </i>ya, gais.</p>
<p style="text-align: justify; font-weight: bold;">Baca Juga: <a href="/blog/pola-keruangan-desa" target="_blank" rel="noopener">Seperti Apa Sih Pola Keruangan Desa dan Ciri-Cirinya?</a></p>
<p> </p>
<h3><span style="font-size: 14pt;">2. <em>Intervening Opportunity</em> (Kesempatan Intervensi)</span></h3>
<p style="text-align: justify;">Faktor yang kedua adalah <i>Intervening Opportunity</i>, artinya Kesempatan intervensi, nih. Nah, kalo faktor yang ini itu bisa dua arah ya, bisa juga jadi mendorong interaksi, tapi bisa juga malah menghambat interaksi suatu wilayah.</p>
<p><img decoding="async" style="width: 600px; display: block; margin: 0px auto; height: auto; max-width: 100%;" src="https://cdn-web.ruangguru.com/landing-pages/assets/hs/Geografi%2012%20-%20Infografik%202%20-%20Konsep%20Pelajaran%20-%20Apa%20Saja%20Faktor%20dan%20Zona%20Interaksi%20Desa-Kota_-04.jpg" alt="inverting opportunity" /></p>
<p> </p>
<p style="text-align: justify;">Nah, sesuai namanya nih, jadi intervensi itu bisa menjadi alasan adanya interaksi suatu wilayah. Jadi simpelnya, ada suatu wilayah yang memutus atau melemahkan interaksi dua wilayah.</p>
<p style="text-align: justify;">Kalo kamu liat ilustrasi di atas, wilayah A dan B jadi lemah interaksinya karena adanya wilayah C. Tapi, di sisi lain, timbul interaksi baru antara wilayah tersebut. Baik wilayah A maupun B, kini memiliki interaksi dengan wilayah C. Walaupun keduanya kini interaksinya melemah.</p>
<p style="text-align: justify;">Nih, analoginya ya biar gampang, gais. Jadi, awalnya wilayah A dan B saling butuh untuk memenuhi kebutuhan sumberdaya. Eh, tapi mereka ketemu wilayah C yang memiliki pasokan sumberdaya lengkap, dan C jadinya yang memenuhi kebutuhan A dan B. Akhirnya, A dan B gak kontakan lagi deh karena sekarang masing-masing kebutuhannya minta dari wilayah C.</p>
<p> </p>
<h3><span style="font-size: 14pt;">3. <em>Spatial Transferability</em> (Kemudahan Perpindahan Ruang)</span></h3>
<p style="text-align: justify;">Faktor yang ketiga adalah <i>Spatial Transferability </i>atau Kemudahan Perpindahan Ruang. Kalo kamu liat di faktor sebelumnya, kamu penasaran gak sih, kenapa wilayah A dan B gak saling dukung aja? Kenapa harus ada wilayah ketiga sih di antara mereka?</p>
<p style="text-align: justify;">Nah, jawabannya bisa karena faktor ini, nih. Jadi, kemudahan perpindahan barang atau jasa pada suatu wilayah sangat mempengaruhi. Kemudahan ini bisa berupa jarak yang lebih dekat, biaya transportasi yang lebih murah, dan aksesibilitas yang lebih mudah ke wilayah tersebut.</p>
<p><img decoding="async" style="width: 600px; display: block; margin: 0px auto; height: auto; max-width: 100%;" src="https://cdn-web.ruangguru.com/landing-pages/assets/hs/Geografi%2012%20-%20Infografik%203%20-%20Konsep%20Pelajaran%20-%20Apa%20Saja%20Faktor%20dan%20Zona%20Interaksi%20Desa-Kota_-05.jpg" alt="Geografi 12 - Infografik 3 - Konsep Pelajaran - Apa Saja Faktor dan Zona Interaksi Desa-Kota_-05" /></p>
<p> </p>
<p style="text-align: justify;">Simpelnya, karena jarak wilayah A lebih dekat ke wilayah C dibanding wilayah B, akhirnya wilayah A lebih pilih berinteraksi dengan wilayah C, deh. Walaupun wilayah B dan C sama-sama dapat mendukung wilayah A, yang terpilih tetaplah yang paling banyak menawarkan kemudahan buat wilayah A ya, gais.</p>
<p style="text-align: justify; font-weight: bold;">Baca Juga: <a href="/blog/pola-keruangan-kota" target="_blank" rel="noopener">Yuk, Pahami Pola Keruangan Kota, Ciri-Ciri, dan Strukturnya!</a></p>
<p> </p>
<h2><span style="font-size: 18pt;">Zona Interaksi Desa dan Kota</span></h2>
<p style="text-align: justify;">Lanjut nih gais, sekarang kita masuk ke bagian kedua sekaligus terakhir, ya. Aku sekarang mau bahas tentang zona interaksi desa-kota, nih. Jadi, <strong>zona interaksi</strong> itu merupakan <strong>ruang atau lokasi tempat berlangsungnya hubungan timbal balik antar objek</strong>.</p>
<p style="text-align: justify;">Nah, kalo untuk bahasan kita, objeknya itu desa dan kota, ya. Jadi, untuk ruang interaksi desa-kota ini dibagi jadi 3 zona interaksi, yakni zona interaksi antar desa, antar kota, serta antar desa dan kota.</p>
<p> </p>
<h3><span style="font-size: 14pt;">1. Zona Interaksi Desa dan Desa</span></h3>
<p style="text-align: justify;"><span style="background-color: transparent;">Interaksi desa dan desa biasanya berlangsung pada kegiatan yang berhubungan dengan tradisi, adat istiadat, atau dalam rangka pemenuhan kebutuhan hidup. </span></p>
<p style="text-align: justify;"><span style="background-color: transparent;">Nah, karena biasanya cuma karena kebutuhan tersebut, interaksi desa ke desa biasanya agak lemah ya, karena biasanya gak akan menimbulkan perubahan yang signifikan pada masing-masing desa.</span></p>
<p> </p>
<h3><span style="font-size: 14pt;">2. Zona Interaksi Kota dan Kota</span></h3>
<p style="text-align: justify;"><span style="background-color: transparent;">Interaksi kota dan kota berlangsung pada kegiatan-kegiatan di bidang industri dan jasa. Masih sama ya kayak interaksi desa-desa, kalo antar kota biasanya juga gak menimbulkan perubahan signifikan ke masing-masing kota. </span><span style="background-color: transparent;">Karena tatanan hidup di masing-masing sudah terstruktur dengan ketentuannya masing-masing.</span></p>
<p> </p>
<h3><span style="font-size: 14pt;">3. Zona Interaksi Desa dan Kota</span></h3>
<p style="text-align: justify;"><span style="background-color: transparent;">Nah baru nih, kalo interaksinya antara desa dan kota pasti menimbulkan perubahan yang signifikan pada desa dan kota yang terlibat. Bahkan ada juga nih yang muncul, namanya zona gradasi wilayah. Zona ini muncul dari hasil interaksi desa dan kota. Ini diutarakan oleh Bintarto ya, menurut beliau bentuknya seperti ini:</span></p>
<p><img decoding="async" style="width: 600px; display: block; margin: 0px auto; height: auto; max-width: 100%;" src="https://cdn-web.ruangguru.com/landing-pages/assets/hs/Geografi%2012%20-%20Infografik%204%20-%20Konsep%20Pelajaran%20-%20Apa%20Saja%20Faktor%20dan%20Zona%20Interaksi%20Desa-Kota_-06.jpg" alt="Geografi 12 - Infografik 4 - Konsep Pelajaran - Apa Saja Faktor dan Zona Interaksi Desa-Kota_-06" /></p>
<p> </p>
<p style="text-align: justify; font-weight: bold;">Baca Juga: <a href="/blog/dampak-perkembangan-kota-untuk-masyarakat-desa-dan-kota" target="_blank" rel="noopener">Dampak Pembangunan Kota untuk Masyarakat Desa dan Kota</a></p>
<p style="text-align: justify;">Oke gais! Jadi untuk bahasan kita kali ini sampe di sini aja ya hehe. Jadi, sekarang kamu udah tau nih tentang faktor dan zona interaksi desa-kota. Kalo masih kurang lengkap, kamu bisa juga baca tentang dampak interaksi desa-kota ya gais.</p>
<p style="text-align: justify;">Atau kalo masih kurang lengkap juga karena kamu sobi ambis, mening langsung <em>download</em> aplikasi Ruangguru dan langganan <a href="https://www.ruangguru.com/ruangbelajar" target="_blank" rel="noopener"><strong>ruangbelajar</strong></a>, ya! Sampai jumpa di tulisanku berikutnya~</p>
<p style="text-align: justify;"><a class="rg-cta" style="text-align: center;" href="https://www.ruangguru.com/download-for-desktop" target="_blank" rel="noopener"><img fetchpriority="high" decoding="async" class="aligncenter" src="https://cdn-web.ruangguru.com/landing-pages/assets/cta/f51e0d89-905d-477d-b7f8-546567f121d9.jpeg" alt="IDN CTA Blog ruangbelajar for desktop Ruangguru" width="800" height="195" /></a></p>
<p style="text-align: justify;"><strong>Referensi:</strong></p>
<p style="text-align: left;">Ilbery, B. (Ed.). (1998). The Geography of Rural Change. London: Routledge</p>
</div>
<div class="content-meta-tags">
<a href="https://www.ruangguru.com/blog/tag/kelas-12" rel="tag">Kelas 12</a> <a href="https://www.ruangguru.com/blog/tag/konsep-pelajaran" rel="tag">Konsep Pelajaran</a> <a href="https://www.ruangguru.com/blog/tag/sma" rel="tag">SMA</a> </div>
</div>
<div class="author-post">
<img loading="lazy" class="author-avatar" width="64px" height="64px" src="https://cdn-web-2.ruangguru.com/file-uploader/lp/5196bc4b-168b-4b6f-8c46-cb076ca8b451.png">
<div>
<h5 class="author-title">Kak Ali MT Soshum</h5>
<p class="author-description"></p>
</div>
</div> <div class="share-post">
<p>Bagikan artikel ini:</p>
<ul class="socmed">
<li>
<a target="_blank" href="https://api.whatsapp.com/send?phone=&text=Apa Saja Faktor & Zona Interaksi Desa-Kota? | Geografi kelas 12%0D%0A%0D%0Ahttps://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota"><img src="https://cdn-web-2.ruangguru.com/static/whatsapp.png" loading="lazy" alt="Logo Whatsapp " /></a>
</li>
<li>
<a target="_blank" href="https://www.facebook.com/share.php?u=https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota&quote=Apa Saja Faktor & Zona Interaksi Desa-Kota? | Geografi kelas 12"> <img src="https://cdn-web-2.ruangguru.com/static/facebook.png" loading="lazy" alt="Logo Facebook " /> </a>
</li>
<li>
<a target="_blank" href="https://twitter.com/intent/tweet?text=Apa Saja Faktor & Zona Interaksi Desa-Kota? | Geografi kelas 12&url=https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota"> <img src="https://cdn-web-2.ruangguru.com/static/twitter.png" loading="lazy" alt="Logo Twitter " /> </a>
</li>
<li>
<a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.ruangguru.com/blog/faktor-dan-zona-interaksi-desa-kota&title=Apa Saja Faktor & Zona Interaksi Desa-Kota? | Geografi kelas 12"><img src="https://cdn-web-2.ruangguru.com/static/linkedin.png" loading="lazy" alt="Logo LinkedIn " /></a>
</li>
</ul>
</div>
</div>
<div class="col-md-4 sticky">
<aside id="sidebar">
<div class="side-banner-desktop">
</div>
<div class="glider-navigation desktop">
<div role="tablist" class="dots" id="side-banner-dots"></div>
<div class="glider-button-navigation">
<button aria-label="Previous" class="glider-prev" id="side-banner-prev"><img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/412de767-9fab-4a4e-9a21-09b7ac9c5f96.png"></button>
<button aria-label="Next" class="glider-next" id="side-banner-next">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/754b0134-4f20-4cdd-af8c-d5918044d734.png">
</button>
</div>
</div>
<h2 style="font-size: 24px; font-weight: bold; margin-bottom: 16px;margin-top: 16px;">Artikel Terbaru</h2>
<ul>
<li>
<a href="https://www.ruangguru.com/blog/pergerakan-nasional-indonesia">
<img loading="lazy" src="https://cdn-web-2.ruangguru.com//landing-pages/assets/dd9f819a-e3e7-4992-b8c7-3ce436bb27f8.png" alt="Pergerakan Nasional" class="external-img wp-post-image " /> <span>Pergerakan Nasional Indonesia: Pengertian, Tujuan & Penyebabnya | Sejarah Kelas 11</span>
</a>
</li>
<li>
<a href="https://www.ruangguru.com/blog/runtuhnya-uni-soviet">
<img loading="lazy" src="https://cdn-web-2.ruangguru.com//landing-pages/assets/b9f1448f-d581-42c3-bf06-6300fdbcd7c8.png" alt="Runtuhnya Uni Soviet" class="external-img wp-post-image " /> <span>Sejarah Runtuhnya Uni Soviet, Penyebab, dan Dampaknya | Sejarah Kelas 12</span>
</a>
</li>
<li>
<a href="https://www.ruangguru.com/blog/konflik-palestina-israel">
<img loading="lazy" src="https://cdn-web-2.ruangguru.com//landing-pages/assets/724ad604-4b78-4c7c-9d4b-627165954c4a.png" class="external-img wp-post-image " /> <span>Latar Belakang Terjadinya Konflik Palestina dengan Israel | Sejarah Kelas 12</span>
</a>
</li>
<li>
<a href="https://www.ruangguru.com/blog/9-lembaga-dan-pelaku-pasar-modal-di-indonesia">
<img loading="lazy" src="https://cdn-web-2.ruangguru.com//landing-pages/assets/279825ac-672b-43f9-b66e-a1c7ec87f784.png" alt="Pelaku Pasar Modal di Indonesia" class="external-img wp-post-image " /> <span>9 Lembaga dan Pelaku Pasar Modal di Indonesia | Ekonomi Kelas 10</span>
</a>
</li>
<li>
<a href="https://www.ruangguru.com/blog/peristiwa-kontemporer-dunia-perpecahan-cekoslovakia">
<img loading="lazy" src="https://cdn-web-2.ruangguru.com//landing-pages/assets/2a1a35c0-f1f5-45d4-8869-ff5083bd90e5.png" alt="Perpecahan Cekoslowakia" class="external-img wp-post-image " /> <span>Latar Belakang Perpecahan Cekoslowakia dan Penyebabnya | Sejarah Kelas 12</span>
</a>
</li>
</ul>
</aside>
</div>
</div>
<div class="row">
<div class="col-12">
<section class="related-posts">
<h2 class="page-title">
Artikel Lainnya
</h2>
<div class="content-grid">
<div class="content">
<a href="https://www.ruangguru.com/blog/pergerakan-nasional-indonesia">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com//landing-pages/assets/dd9f819a-e3e7-4992-b8c7-3ce436bb27f8.png?height=320&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com//landing-pages/assets/dd9f819a-e3e7-4992-b8c7-3ce436bb27f8.png?height=320" type="image/png">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/dd9f819a-e3e7-4992-b8c7-3ce436bb27f8.png" loading="lazy" alt="" />
</picture>
<div>
<h2 class="content-title">
Pergerakan Nasional Indonesia: Pengertian, Tujuan & Penyebabnya | Sejarah Kelas 11 </h2>
<div class="content-meta">
<span>March 6, 2026</span> <span>• 8 minutes read</span>
</div>
</div>
</a>
</div>
<div class="content">
<a href="https://www.ruangguru.com/blog/runtuhnya-uni-soviet">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com//landing-pages/assets/b9f1448f-d581-42c3-bf06-6300fdbcd7c8.png?height=320&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com//landing-pages/assets/b9f1448f-d581-42c3-bf06-6300fdbcd7c8.png?height=320" type="image/png">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/b9f1448f-d581-42c3-bf06-6300fdbcd7c8.png" loading="lazy" alt="" />
</picture>
<div>
<h2 class="content-title">
Sejarah Runtuhnya Uni Soviet, Penyebab, dan Dampaknya | Sejarah Kelas 12 </h2>
<div class="content-meta">
<span></span> <span>• 11 minutes read</span>
</div>
</div>
</a>
</div>
<div class="content">
<a href="https://www.ruangguru.com/blog/konflik-palestina-israel">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com//landing-pages/assets/724ad604-4b78-4c7c-9d4b-627165954c4a.png?height=320&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com//landing-pages/assets/724ad604-4b78-4c7c-9d4b-627165954c4a.png?height=320" type="image/png">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/724ad604-4b78-4c7c-9d4b-627165954c4a.png" loading="lazy" alt="" />
</picture>
<div>
<h2 class="content-title">
Latar Belakang Terjadinya Konflik Palestina dengan Israel | Sejarah Kelas 12 </h2>
<div class="content-meta">
<span>March 5, 2026</span> <span>• 5 minutes read</span>
</div>
</div>
</a>
</div>
</div>
</section> </div>
</div>
<div class="banner-product-wrapper">
<a href="https://cta.ruangguru.com/7c02db90-610d-11ee-80fe-4201ac180089" target="_blank" class="alert alert-dismissible fade show banner-product" role="alert">
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
<!-- <p>Yuk pilih kelas dan materi belajar kamu di sini</p>
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/0e292531-9ee1-4eed-92f5-b5c053eea4c2.svg" width="42px" height="42px" class="arrow-right"> -->
<img class="image-floating-bottom" src="https://cdn-web-2.ruangguru.com/landing-pages/assets/d19eb9b6-999d-4b92-87c6-c4fb32000d73.png?convert=web" />
</a>
</div>
</div>
</div>
<script>
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
async function replaceCtaMarkupAsync() {
await sleep(2000);
alert("replace")
const contentBody = document.querySelector('.content-body');
const paragraphs = contentBody.querySelectorAll('p');
const regexPattern = /{{cta\(['"](.+?)['"]\)}}/g;
paragraphs.forEach((paragraph) => {
const originalHTML = paragraph.innerHTML;
let modifiedHTML = '';
let lastIndex = 0;
for (const match of originalHTML.matchAll(regexPattern)) {
const ctaId = match[1];
modifiedHTML += originalHTML.slice(lastIndex, match.index) + `<b>${ctaId}</b>`;
lastIndex = match.index + match[0].length;
}
modifiedHTML += originalHTML.slice(lastIndex);
paragraph.innerHTML = modifiedHTML;
});
document.addEventListener("DOMContentLoaded", () => {
replaceCtaMarkupAsync();
});
}
</script>
<div class="modal fade" id="popupPromo" tabindex="-1" aria-labelledby="popupPromoLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" data-bs-backdrop="static" data-bs-keyboard="false">
<div class="modal-content">
<div class="button-wrapper">
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="glider-contain">
<div class="glider">
<a class="" target="_blank" href="https://cta.ruangguru.com/ab-web-pop-up-banner-blog-rg">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/4680961a-4e01-4169-8ff4-da0823d0da6c.png" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/ab-web-pop-up-banner-blog-rg-1">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/e0ebb0c9-e368-4524-9241-dbaf73cafccd.png" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/rasionalisasi-popup-blog-rg">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/0ec15e92-707a-4660-8134-11f1c1e539a8.png" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/to-snbt-reg-2026-popup-blog-rg">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/b95e02b2-28a4-4c24-a6db-930ecddef2fa.jpg" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/pop-blog-to-snbt-prem">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/1b8558a2-ad51-4144-b30c-01a3231a22da.jpg" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/to-prem-tka-sd-smp-popup-blog-rg">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/e6888a56-1d95-4d8a-b87a-b19b8a185651.png" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/rgp-popup-blog-rg">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/851003e6-07b5-40d1-9068-f9b0bcb1625a.png" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/25f78174-4fc2-11ef-9a39-4201ac180089">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/cbe7b869-fbe2-4497-8a1e-42344df5b137.jpg" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/kitab-tka-smp-popup-blog">
<img src="https://cdn-web-2.ruangguru.com//landing-pages/assets/eb41ad00-e4dc-46f5-b9f6-721266fc371e.jpg" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/pop-rg-kitab-utbk-snbt-lite">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/f7908ac1-3b0b-492c-bf87-dcea2b20b87c.png" />
</a>
<a class="" target="_blank" href="https://cta.ruangguru.com/pop-rg-kitablitetkasmp">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/50097055-1862-46a8-bbe0-fa5b077f88bb.png" />
</a>
</div>
<div class="glider-navigation">
<div role="tablist" class="dots" id="popup-promo-dots"></div>
<div class="glider-button-navigation">
<button aria-label="Previous" class="glider-prev" id="popup-promo-prev"><img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/412de767-9fab-4a4e-9a21-09b7ac9c5f96.png"></button>
<button aria-label="Next" class="glider-next" id="popup-promo-next">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/754b0134-4f20-4cdd-af8c-d5918044d734.png">
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
var jsonString = '[{"CreatedAt":"2025-07-25 01:01:27+00:00","Id":696,"UpdatedAt":"2026-02-25 02:12:12+00:00","campaign":null,"cta":[{"Id":31467,"ctaId":"ab-web-pop-up-banner-blog-rg","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/ab-web-pop-up-banner-blog-rg)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/b9b5f501-be14-4e3f-9ad8-a87e17ec16e9.png","name":"[AB] Web Pop Up Banner - Blog RG","targetUrl":"https:\/\/bayar.ruangguru.com\/?utm-source=ab-web-pop-up-banner-blog-rg"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/\/landing-pages\/assets\/4680961a-4e01-4169-8ff4-da0823d0da6c.png","name":"[RG] Popup Banner Blog - Promo SNBT Ramadan","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":1,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2025-07-25 01:01:27+00:00","Id":705,"UpdatedAt":"2026-02-23 10:52:46+00:00","campaign":null,"cta":[{"Id":33341,"ctaId":"ab-web-pop-up-banner-blog-rg-1","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/ab-web-pop-up-banner-blog-rg-1)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/f30c4943-4456-4a96-858b-fe065c9073ae.png","name":"[AB] Web Pop Up Banner - Blog RG 1","targetUrl":"https:\/\/bayar.ruangguru.com\/?utm-source=ab-web-pop-up-banner-blog-rg"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/e0ebb0c9-e368-4524-9241-dbaf73cafccd.png","name":"[RG] Popup Banner Blog - Promo TKA Ramadan","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":2,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2023-08-16 13:35:02+00:00","Id":657,"UpdatedAt":"2026-02-06 03:52:10+00:00","campaign":null,"cta":[{"Id":33189,"ctaId":"rasionalisasi-popup-blog-rg","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/rasionalisasi-popup-blog-rg)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/0ec15e92-707a-4660-8134-11f1c1e539a8.png","name":"[RG] Pop Up Blog - Rasionalisasi","targetUrl":"https:\/\/www.ruangguru.com\/rasionalisasi"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/0ec15e92-707a-4660-8134-11f1c1e539a8.png","name":"[RG] Pop Up Blog RG - Rasionalisasi","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":3,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2023-12-07 09:26:39+00:00","Id":677,"UpdatedAt":"2026-02-12 02:22:12+00:00","campaign":null,"cta":[{"Id":33305,"ctaId":"to-snbt-reg-2026-popup-blog-rg","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/to-snbt-reg-2026-popup-blog-rg)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/b95e02b2-28a4-4c24-a6db-930ecddef2fa.jpg","name":"[IDN] CTA Popup Blog RG - Tryout SNBT Regular 2026","targetUrl":"https:\/\/link.ruangguru.com\/blPk\/TOUTBKREG7"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/b95e02b2-28a4-4c24-a6db-930ecddef2fa.jpg","name":"[RG] Popup Blog RG - Tryout Regular 2026","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":4,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2026-02-05 10:16:52+00:00","Id":689,"UpdatedAt":"2026-03-05 02:41:12+00:00","campaign":null,"cta":[{"Id":33338,"ctaId":"pop-blog-to-snbt-prem","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/pop-blog-to-snbt-prem)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/\/landing-pages\/assets\/1b8558a2-ad51-4144-b30c-01a3231a22da.jpg","name":"[RG] Popup Blog - TO SNBT Prem","targetUrl":"https:\/\/link.ruangguru.com\/blPk\/TOUTBKPREM"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/\/landing-pages\/assets\/1b8558a2-ad51-4144-b30c-01a3231a22da.jpg","name":"[RG] Pop blog - TO SNBT Prem","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":5,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2023-12-07 09:26:39+00:00","Id":679,"UpdatedAt":"2026-03-04 03:44:16+00:00","campaign":null,"cta":[{"Id":33304,"ctaId":"to-prem-tka-sd-smp-popup-blog-rg","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/to-prem-tka-sd-smp-popup-blog-rg)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/1bf472e1-62f4-4aa9-ab8c-4fa72a82dd7b.png","name":"[RG] Pop Up Blog RG - TO Premium TKA SD SMP","targetUrl":"https:\/\/s.id\/TOTKAPREMSDSMP"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/\/landing-pages\/assets\/e6888a56-1d95-4d8a-b87a-b19b8a185651.png","name":"[RG] Popup Blog RG - TO TKA Premium SD SMP","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":6,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2025-08-25 04:25:04+00:00","Id":672,"UpdatedAt":"2026-02-06 03:52:17+00:00","campaign":null,"cta":[{"Id":33285,"ctaId":"rgp-popup-blog-rg","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/rgp-popup-blog-rg)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/851003e6-07b5-40d1-9068-f9b0bcb1625a.png","name":"[RG] Pop Up Blog - RGP","targetUrl":"https:\/\/www.ruangguru.com\/privat"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/851003e6-07b5-40d1-9068-f9b0bcb1625a.png","name":"[RG] Pop Up Blog - RGP","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":7,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2023-08-16 13:35:02+00:00","Id":379,"UpdatedAt":"2026-03-06 01:54:52+00:00","campaign":null,"cta":[{"Id":31356,"ctaId":"25f78174-4fc2-11ef-9a39-4201ac180089","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/25f78174-4fc2-11ef-9a39-4201ac180089)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/f60bc49c-c00f-4a5e-80a2-2552fa18ae21.jpg","name":"CTA Blog RG - Kitab UTBK SNBT","targetUrl":"https:\/\/bit.ly\/orderkitabrg"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/\/landing-pages\/assets\/cbe7b869-fbe2-4497-8a1e-42344df5b137.jpg","name":"[RG] Pop Up Blog RG - Kitab UTBK SNBT","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":8,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2023-08-16 13:35:02+00:00","Id":587,"UpdatedAt":"2026-03-06 01:55:00+00:00","campaign":null,"cta":[{"Id":33020,"ctaId":"kitab-tka-smp-popup-blog","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/kitab-tka-smp-popup-blog)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/9ea9eca7-9ef7-433c-baad-14bc1019f890.jpg","name":"[RG] Pop up blog - Kitab TKA SMP","targetUrl":"https:\/\/bit.ly\/kitabtkasmprg"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/\/landing-pages\/assets\/eb41ad00-e4dc-46f5-b9f6-721266fc371e.jpg","name":"[RG] Pop Up Blog RG - Kitab TKA SMP","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":9,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2025-11-12 10:28:45+00:00","Id":636,"UpdatedAt":"2026-02-06 03:52:20+00:00","campaign":null,"cta":[{"Id":33149,"ctaId":"pop-rg-kitab-utbk-snbt-lite","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/pop-rg-kitab-utbk-snbt-lite)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/8d6f8639-cfff-4d64-89ea-f68bfe7a868c.png","name":"[RG] Pop blog - Kitab utbk snbt lite","targetUrl":"https:\/\/s.id\/litesnbt26"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/f7908ac1-3b0b-492c-bf87-dcea2b20b87c.png","name":"[RG] Pop blog - Kitab utbk snbt lite","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":10,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"},{"CreatedAt":"2025-11-14 08:09:42+00:00","Id":647,"UpdatedAt":"2026-02-06 03:52:21+00:00","campaign":null,"cta":[{"Id":33160,"ctaId":"pop-rg-kitablitetkasmp","ctaLink":"URI::(https:\/\/cta.ruangguru.com\/pop-rg-kitablitetkasmp)","imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/20edba9b-ef84-4938-b698-4a82783478a5.png","name":"[RG] Pop blog - kitab lite tka smp","targetUrl":"https:\/\/s.id\/litetkasmp26"}],"endDate":null,"hide":0,"imageUrl":"https:\/\/cdn-web-2.ruangguru.com\/landing-pages\/assets\/50097055-1862-46a8-bbe0-fa5b077f88bb.png","name":"[RG] Pop blog - kitab lite tka smp","nc_v5ij___rg_campaign_id":null,"nc_v5ij___rg_product_id":41,"product":"ruangguru","rankPosition":11,"rg_campaign":null,"rg_product":{"Id":41,"name":"ruangguru"},"showIn":"blog","startDate":null,"type":"popup"}]';
var jsArray = JSON.parse(jsonString);
console.log(jsArray);
</script>
<script>
let windowHeight = window.innerHeight;
let promosLength = 11;
document.addEventListener('DOMContentLoaded', function() {
// Initialize Bootstrap Modal
let popupPromo = new bootstrap.Modal(document.getElementById('popupPromo'), {});
// Initialize Glider.js inside the Bootstrap Modal
function initGliderInModal() {
new Glider(document.querySelector('#popupPromo .glider'), {
slidesToScroll: 1,
slidesToShow: 1,
draggable: true,
dots: '#popup-promo-dots',
arrows: {
prev: '#popup-promo-prev',
next: '#popup-promo-next'
}
});
}
// Show Bootstrap Modal and initialize Glider.js after a specified scroll amount
const scrollThreshold = 2 / 3 * windowHeight; // The scroll amount in pixels to trigger the Modal
let gliderInitialized = false;
window.addEventListener('scroll', function() {
if (window.scrollY >= scrollThreshold && !gliderInitialized && promosLength > 0) {
popupPromo.show();
// Listen for the 'shown' event to initialize Glider.js after the Modal has been fully displayed
$('#popupPromo').on('shown.bs.modal', function() {
initGliderInModal();
gliderInitialized = true;
// Optionally, remove the 'shown' event listener after initializing the Glider to avoid re-initializing
$('#popupPromo').off('shown.bs.modal');
});
// Remove the scroll event listener after the Modal is shown to avoid re-initializing the Glider
this.removeEventListener('scroll', arguments.callee);
}
});
});
</script>
<script src="https://unpkg.com/analytics@0.8.1/dist/analytics.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/analytics-plugin-trackable-min@0.4.5/dist/analytics-plugin-trackable.min.js"></script>
<script type="text/javascript" defer>
/* Initialize analytics */
var Analytics = window._analytics.init({
app: "ruangguruLanding",
debug: false,
plugins: [analyticsTrackable()],
});
/* Additional context tracker pageView */
const post_id = 850;
const tags_id = [76,10,37];
const category_id = 527;
const sub_category_id = 533;
const customData = {
tags_id: tags_id,
category_id: category_id,
sub_category_id: sub_category_id,
post_id: post_id,
};
Analytics.plugins.trackable.context(JSON.stringify(customData));
Analytics.ready(function () {
Analytics.page();
});
$(document).on('click', '[data-tracking-event-type]', function (event) {
const eventType = $(this).data('tracking-event-type');
const context = $(this).data('tracking-context');
Analytics.track(eventType, context);
});
</script>
<footer class="footer">
<div class="container">
<div class="row">
<div class="col-lg-3">
<div class="office">
<a href="https://www.ruangguru.com/">
<img src="https://cdn-web-2.ruangguru.com/static/RG_LOGO_WHITE.png?convert=auto" alt="Logo Ruangguru" loading="lazy" />
</a>
<address>
<p class="hq">RUANGGURU HQ</p>
<p>
Gedung Sinarmas MSIG Tower Lt. 33. Jl. Jenderal Sudirman Kav. 21, Karet Kuningan, Setiabudi, Jakarta Selatan, Jakarta 12920
</p>
</address>
</div>
<nav class="footer-menu call-us">
<p class="title">Hubungi Kami</p>
<address>
<a href="mailto:info@ruangguru.com">
<img class="icon-call-us" src="https://cdn-web-2.ruangguru.com/file-uploader/lp/4739a139-8f09-42ea-b517-d842c5d1c28d.png" loading="lazy" alt="Logo Email Footer" />
info@ruangguru.com</a>
<a href="tel:02130930000">
<img class="icon-call-us" src="https://cdn-web-2.ruangguru.com/file-uploader/lp/6f4bb6c8-52c9-4acb-859b-47a10a7eec75.png" loading="lazy" alt="Logo Phone Footer" />(021) 3093 0000</a>
<a href="https://wa.me/6281574410000">
<img class="icon-call-us" src="https://cdn-web-2.ruangguru.com/file-uploader/lp/4b58468a-b2f9-40e4-867f-d3242a065dcf.png" loading="lazy" alt="Logo Whatsapp Footer" />0815 7441 0000</a>
</address>
</nav>
<nav class="footer-menu social d-none d-lg-block">
<p class="title">Ikuti Kami</p>
<a target="_blank" href="https://www.instagram.com/ruangguru/">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/instagram.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/instagram.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/instagram.png" loading="lazy" alt="Logo Instagram Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.facebook.com/ruanggurucom/">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/facebook.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/facebook.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/facebook.png" loading="lazy" alt="Logo Facebook Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://twitter.com/ruangguru/">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/twitter.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/twitter.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/twitter.png" loading=" lazy" alt="Logo Twitter Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.youtube.com/ruangguru">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/youtube.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/youtube.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/youtube.png" loading=" lazy" alt="Logo Youtube Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.linkedin.com/company/ruangguru-com">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/linkedin.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/linkedin.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/linkedin.png" loading=" lazy" alt="Logo LinkedIn Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.tiktok.com/@ruangguru">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/tiktok.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/tiktok.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/tiktok.png" loading=" lazy" alt="Logo TikTok Footer" width="32px" height="32px" />
</picture>
</a>
</nav>
</div>
<div class="col-lg-9">
<div class="row">
<div class="col-6 col-md-3">
<nav class="footer-menu">
<p class="title">Produk Ruangguru</p>
<ul type="none">
<li><a href="https://roboguru.ruangguru.com" target="_blank">Roboguru</a></li>
<li><a href="https://www.ruangguru.com/roboguruplus">Roboguru Plus</a></li>
<li><a href="https://www.ruangguru.com/dafa-lulu">Dafa dan Lulu</a></li>
<li><a href="https://www.ruangguru.com/for-kids/kursus">Kursus for Kids</a></li>
<li><a href="https://www.ruangguru.com/for-kids">Ruangguru for Kids</a></li>
<li><a href="https://www.ruangguru.com/bisnis">Ruangguru for Business</a></li>
<li><a href="https://www.ruangguru.com/ruanguji">Ruanguji</a></li>
<li><a href="https://www.ruangguru.com/blog">Ruangbaca</a></li>
<li><a href="https://www.ruangguru.com/ruangkelas">Ruangkelas</a></li>
<li><a href="https://www.ruangguru.com/ruangbelajar">Ruangbelajar</a></li>
<li><a href="https://pengajar.ruangguru.com/">Ruangpengajar</a></li>
<li><a href="https://www.ruangguru.com/privat">Ruangguru Privat</a></li>
<li><a href="https://www.ruangpeduli.org/" target="_blank">Ruangpeduli</a></li>
</ul>
</nav>
</div>
<div class="col-6 col-md-3">
<nav class="footer-menu">
<p class="title">Bantuan & Panduan</p>
<ul type="none">
<li><a href="https://www.ruangguru.com/company-credentials">Company Credentials</a></li>
<li><a href="https://www.ruangguru.com/beasiswa">Beasiswa Ruangguru</a></li>
<li><a href="https://www.ruangguru.com/cicilan">Cicilan Ruangguru</a></li>
<li><a href="https://www.ruangguru.com/promo">Promo Ruangguru</a></li>
<li><a href="https://ticketing.ruangguru.com/help?request_type_id=459" target="_blank">Vulnerability Report</a></li>
<li><a href="https://www.ruangguru.com/bantuan#layanan">Layanan Pengaduan</a></li>
<li><a href="https://www.ruangguru.com/terms-conditions">Syarat & Ketentuan</a></li>
<li><a href="https://www.ruangguru.com/privacy-policy">Kebijakan Privasi</a></li>
<li><a href="https://www.ruangguru.com/about-us">Tentang Kami</a></li>
<li><a href="https://www.ruangguru.com/contact-us">Kontak Kami</a></li>
<li><a href="https://www.ruangguru.com/press">Press Kit</a></li>
<li><a href="https://www.ruangguru.com/bantuan">Bantuan</a></li>
<li><a href="https://career.ruangguru.com/">Karier</a></li>
</ul>
</nav>
</div>
<div class="col-6 col-md-3">
<nav class="footer-menu">
<p class="title">Produk Lainnya</p>
<ul type="none">
<li><a href="https://www.brainacademy.id/" target="_blank">Brain Academy</a></li>
<li><a href="https://www.english-academy.id/" target="_blank">English Academy</a></li>
<li><a href="https://skillacademy.com/" target="_blank">Skill Academy</a></li>
<li><a href="https://www.ruangkerja.id/" target="_blank">Ruangkerja</a></li>
<li><a href="https://www.schoters.com/id/" target="_blank">Schoters</a></li>
<li><a href="https://www.kalananti.id/" target="_blank">Kalananti</a></li>
</ul>
</nav>
</div>
<div class="col-6 col-md-3">
<nav class="footer-menu">
<p class="title"> Coba GRATIS Aplikasi Ruangguru</p>
<div class="download-list">
<ul>
<li>
<a target="_blank" rel="nofollow" href="https://apps.apple.com/id/app/ruangguru-solusi-belajar/id1099742206?l=id">
<img src="https://cdn-web-2.ruangguru.com/static/appstore.png" loading="lazy" alt="Button App Store Footer " />
</a>
</li>
<li>
<a target="_blank" rel="nofollow" href="https://play.google.com/store/apps/details?id=com.ruangguru.livestudents&hl=in">
<img src="https://cdn-web-2.ruangguru.com/static/googleplay.png" loading="lazy" alt="Button Google Play Footer " />
</a>
</li>
<li>
<a target="_blank" rel="nofollow" href="https://appgallery.huawei.com/#/app/C102352375">
<img src="https://cdn-web-2.ruangguru.com/static/huawei.png" loading="lazy" alt="Button AppGallery Footer " />
</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
</div>
</div>
<div class="d-lg-none text-center">
<nav class="footer-menu social">
<p class="title">Ikuti Kami</p>
<a target="_blank" href="https://www.instagram.com/ruangguru/">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/instagram.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/instagram.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/instagram.png" loading="lazy" alt="Logo Instagram Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.facebook.com/ruanggurucom/">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/facebook.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/facebook.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/facebook.png" loading="lazy" alt="Logo Facebook Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://twitter.com/ruangguru/">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/twitter.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/twitter.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/twitter.png" loading=" lazy" alt="Logo Twitter Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.youtube.com/ruangguru">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/youtube.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/youtube.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/youtube.png" loading=" lazy" alt="Logo Youtube Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.linkedin.com/company/ruangguru-com">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/linkedin.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/linkedin.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/linkedin.png" loading=" lazy" alt="Logo LinkedIn Footer" width="32px" height="32px" />
</picture>
</a>
<a target="_blank" href="https://www.tiktok.com/@ruangguru">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/static/tiktok.png?height=60&convert=webp" type="image/webp">
<source srcset="https://cdn-web-2.ruangguru.com/static/tiktok.png?height=60" type="image/png">
<img src="https://cdn-web-2.ruangguru.com/static/tiktok.png" loading=" lazy" alt="Logo TikTok Footer" width="32px" height="32px" />
</picture>
</a>
</nav>
</div>
<p class="footer-copyright">
© 2026 All Rights Reserved PT. Ruang Raya Indonesia
</p>
</div>
<style>
.bantuan-container {
position: relative;
}
.bantuan-element {
position: fixed;
z-index: 999;
display: flex;
align-items: flex-end;
justify-content: flex-end;
cursor: pointer;
transition: all 0.6s ease;
}
.bantuan-top {
bottom: 11rem;
right: 2rem;
}
.bantuan-bottom {
bottom: 2rem;
right: 2rem;
}
.bantuan-top-2 {
bottom: 15rem;
right: 2rem;
}
.bantuan-top-3 {
bottom: 19rem;
right: 2rem;
}
.bantuan-bottom-2 {
bottom: 5rem;
right: 2rem;
}
.bantuan-bottom-3 {
bottom: 8rem;
right: 2rem;
}
@media (min-width: 768px) {
.bantuan-element img {
width: auto;
transition: all 0.4s ease;
}
.bantuan-top img {
width: 140px;
}
.bantuan-bottom img {
width: 140px;
}
.bantuan-top-2 img,
.bantuan-top-3 img {
width: 140px;
}
.bantuan-bottom-2 img,
.bantuan-bottom-3 img {
width: 140px;
}
.bantuan-element.clicked {
bottom: 9rem;
right: 2.5rem;
}
.bantuan-element.clicked img {
width: auto;
height: 64px;
}
}
@media (max-width: 767px) {
.bantuan-top {
bottom: 8rem;
right: 1rem;
align-items: center;
}
.bantuan-bottom {
bottom: 2rem;
right: 1.25rem;
align-items: center;
}
.bantuan-top-2 {
bottom: 12rem;
right: 1rem;
align-items: center;
}
.bantuan-top-3 {
bottom: 16rem;
right: 1rem;
align-items: center;
}
.bantuan-bottom-2 {
bottom: 5rem;
right: 1.25rem;
align-items: center;
}
.bantuan-bottom-3 {
bottom: 8rem;
right: 1.25rem;
align-items: center;
}
.bantuan-element img {
width: auto;
}
.bantuan-top img,
.bantuan-top-2 img,
.bantuan-top-3 img {
width: 96px;
}
.bantuan-bottom img,
.bantuan-bottom-2 img,
.bantuan-bottom-3 img {
width: 96px;
}
}
.bantuan-element:hover {
transform: scale(1.05);
}
.bantuan-element img {
max-width: 100%;
height: auto;
}
</style>
<div id="bantuan-divs-container" style="position: relative" data-product="ruangguru" data-table="rg_floating_icon"></div>
<script>
class FloatingDivsComponent {
constructor(product = 'ruangguru', table = 'rg_floating_icon') {
this.container = document.getElementById('bantuan-divs-container');
this.floatingElements = [];
this.product = product;
this.table = table;
// Configuration
this.config = {
baseApiUrl: 'https://gw.ruangguru.com/api/v3/rdb/p_ddgy8hjx5dxsqx/rg_banner/views/',
apiKey: 'vLyK3dJrDBRmOwueX2OJXibMkgsUbBk0WS4ua2p1',
maxElements: 2,
zIndexBase: 100,
};
// Build dynamic API URL based on table parameter
this.config.apiUrl = this.buildApiUrl();
this.init();
}
buildApiUrl() {
const baseUrl = this.config.baseApiUrl;
const tableName = this.table || 'rg_floating_icon';
const queryParams =
'offset=0&limit=99999&sort=rankPosition&where=(type,eq,floating)~and(showIn,anyof,blog)~and(hide,is,false)~and(product,eq,' +
this.product +
')&nested%5Bcta%5D%5Bfields%5D=Id,name,ctaId,imageUrl,ctaLink,targetUrl';
return `${baseUrl}${tableName}?${queryParams}`;
}
async init() {
try {
await this.fetchFloatingElements();
this.renderFloatingElements();
} catch (error) {
console.error('Failed to initialize floating divs component:', error);
}
}
async fetchFloatingElements() {
try {
const options = {
method: 'GET',
headers: {
'xc-token': this.config.apiKey || 'vLyK3dJrDBRmOwueX2OJXibMkgsUbBk0WS4ua2p1',
},
};
const urlNoco = this.config.apiUrl;
const response = await fetch(urlNoco, options);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
this.floatingElements = this.processApiResponse(data);
} catch (error) {
console.error('Error fetching floating elements:', error);
throw error;
}
}
processApiResponse(data) {
if (!data || !data.list || !Array.isArray(data.list)) {
return [];
}
console.log(data.list);
// Ensure we only get maximum 2 elements
const limitedElements = data.list.slice(0, this.config.maxElements);
return limitedElements;
}
renderFloatingElements() {
if (!this.container || this.floatingElements.length === 0) {
return;
}
// Additional safeguard: ensure we never render more than maxElements
const elementsToRender = this.floatingElements.slice(0, this.config.maxElements);
// Clean up existing elements and their event listeners
this.cleanupExistingElements();
// Clear existing content
this.container.innerHTML = '';
elementsToRender.forEach((element, index) => {
const floatingDiv = this.createFloatingDiv(element, index);
this.container.appendChild(floatingDiv);
});
}
cleanupExistingElements() {
// Clear existing elements (no need for event listener cleanup with CSS approach)
const existingElements = this.container.querySelectorAll('[data-floating-element]');
existingElements.forEach(element => {
element.remove();
});
}
createFloatingDiv(element, index) {
const div = document.createElement('div');
const cta = element.cta[0]; // Use the first CTA
// Add data attribute for cleanup tracking
div.setAttribute('data-floating-element', 'true');
// Apply CSS classes based on rankPosition
const positionClass = this.getPositionClass(element.rankPosition, index);
div.className = `bantuan-element ${positionClass}`;
div.style.zIndex = this.config.zIndexBase + index;
// Create the link and image
const link = document.createElement('a');
link.href = 'https://cta.ruangguru.com/' + cta.ctaId || '#';
link.target = '_blank';
// Add tracking attributes
link.setAttribute('data-tracking-event-type', 'landing_page__core__item_click');
link.setAttribute(
'data-tracking-context',
JSON.stringify({
product_name: this.product,
cta_action: 'redirection',
cta_action_detail: link.href,
item_type: 'floating',
item_name: element.name || 'Floating element',
item_category: 'payment',
item_position: index,
item_serial: null,
section_type: 'floating_item',
section_position: 'body',
section_name: 'floating_item',
})
);
const img = document.createElement('img');
img.src = element.imageUrl + '?h=200&convert=webp';
img.alt = element.name || 'Floating element';
img.loading = 'lazy';
// Add click tracking
link.addEventListener('click', () => {
this.trackClick(element, cta);
});
link.appendChild(img);
div.appendChild(link);
return div;
}
getPositionClass(rankPosition, index) {
// Define positioning classes based on rankPosition
if (rankPosition === 1) {
return 'bantuan-top'; // Top position
} else if (rankPosition === 2) {
return 'bantuan-bottom'; // Bottom position
} else {
// For additional elements, distribute them evenly
return `bantuan-${index % 2 === 0 ? 'top' : 'bottom'}-${Math.floor(index / 2) + 1}`;
}
}
trackClick(element, cta) {
// Implement click tracking logic here
console.log('Floating element clicked:', {
elementId: element.Id,
elementName: cta.name,
ctaId: cta.ctaId,
targetUrl: cta.targetUrl,
});
}
// Public method to manually refresh
async refresh() {
try {
await this.fetchFloatingElements();
this.renderFloatingElements();
} catch (error) {
console.error('Failed to refresh floating elements:', error);
throw error;
}
}
// Public method to get current floating elements
getFloatingElements() {
return [...this.floatingElements];
}
}
// Initialize the component when DOM is ready
document.addEventListener('DOMContentLoaded', () => {
// Get product and table parameters from data attributes
const container = document.getElementById('bantuan-divs-container');
const product = container.getAttribute('data-product') || 'ruangguru';
const table = container.getAttribute('data-table') || 'rg_floating_icon';
new FloatingDivsComponent(product, table);
});
// Export for use in other modules if needed
if (typeof module !== 'undefined' && module.exports) {
module.exports = FloatingDivsComponent;
}
</script> <div id="wp-install-nudge" style="
position: fixed;
bottom: 0rem;
right: 0;
z-index: 999;
cursor: pointer;
"></div>
<script>
(function (w, d, s, o, f, js, fjs) {
w['Sales-Nudge-Widget'] = o; w[o] = w[o] || function () { (w[o].q = w[o].q || []).push(arguments) };
js = d.createElement(s), fjs = d.getElementsByTagName(s)[0];
js.id = o; js.src = f; js.async = 1; fjs.parentNode.insertBefore(js, fjs);
}(window, document, 'script', 'wpInstallNudge', 'https://cdn-web-2.ruangguru.com/sales-nudge/6198a95130/dist/widget.js'));
wpInstallNudge('init', { targetElementId: 'wp-install-nudge', clientTarget: 'ruangguru_blog' });
</script>
<script>
// note: disabled due to auto reload page
// var lastScrollTop = 0;
// $(window).scroll(function(event){
// var st = $(this).scrollTop();
// if (st > lastScrollTop){
// $('#wp-install-nudge').slideDown( "slow", function() {});
// } else {
// $('#wp-install-nudge').slideUp( "slow", function() {});
// }
// lastScrollTop = st;
// });
// $(document).ready(function () {
// $("#wp-install-nudge").hide();
// });
$('#wp-install-nudge').click(function(){
Analytics.track("promotion__install_nudge__click",
{
user_email: "ruangguru@blog.com",
cta_link: widgetData.dataConfig.target_link
}).catch((err) => {
console.log("tracker error", err);
});
});
</script>
</footer>
<div id="__next"></div>
<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/blog\/*"},{"not":{"href_matches":["\/blog\/wp-*.php","\/blog\/wp-admin\/*","\/blog\/wp-content\/uploads\/*","\/blog\/wp-content\/*","\/blog\/wp-content\/plugins\/*","\/blog\/wp-content\/themes\/ruangguru\/*","\/blog\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<script>
async function getCtaDetails(ctaIds) {
const endpoint =
" https://gw.ruangguru.com/api/v3/rdb/p_ddgy8hjx5dxsqx/CTA/views/CTA?offset=0&limit=10&where=(ctaId,in," + ctaIds.toString() + ")";
try {
const response = await fetch(endpoint, {
headers: {
"xc-token": "-hG2nBDJzSj0agSgNtcJx97M4F02y54nUMoY6plJ",
},
});
const data = await response.json();
const ctaList = data?.list || [];
const ctaMap = new Map();
for (const ctaData of ctaList) {
ctaMap.set(ctaData.ctaId, ctaData);
}
return ctaMap;
} catch (error) {
console.error("Error fetching CTA details:", error);
return new Map();
}
}
async function replaceCTA() {
const regex = /{{cta\((‘(.*?)’|“(.*?)”)\)}}/g;
const bodyHTML = document.body.innerHTML;
const matches = Array.from(bodyHTML.matchAll(regex));
const ctaIds = matches.map((match) => {
let ctaId = match[2] ?? match[3];
return ctaId;
});
const ctaMap = await getCtaDetails(ctaIds);
const replacedHTML = bodyHTML.replace(regex, (match, _inner, ctaId1, ctaId2) => {
const ctaId = ctaId1 ?? ctaId2;
const ctaData = ctaMap.get(ctaId);
if (ctaData) {
return `<a href="https://cta.ruangguru.com/${ctaData.ctaId}" target="_${ctaData.targetType}" style="position:relative;display:inline-block;">
<img src="${ctaData.imageUrl}" loading="lazy" alt="${ctaData.altText}" />
</a>`;
} else {
return match;
}
});
document.body.innerHTML = replacedHTML;
}
</script>
<meta name="author" content="Ruangguru Tech Team">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PVNLZFT" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- Tracker -->
<script type="text/javascript" src="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/global-assets/js/cta.js"></script>
<script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script>
</body>
</html>