<!doctype html>
<html class="no-js" lang="id">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="author" content="Ruangguru Tech Team" />
<meta
name="description"
content="Bimbel online khusus untuk persiapan UTBK dengan pendampingan khusus agar lolos di PTN impian. Dapatkan lebih hemat mulai Rp 400 ribu/bulan & mulai langganan sekarang!"
/>
<meta name="generator" content="HubSpot" />
<title>Bimbel Online Persiapan UTBK, Promo Diskon Mulai Rp 400 Ribu/Bulan</title>
<link rel="shortcut icon" href="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/favicon60x60-3.png" />
<meta
property="og:description"
content="Bimbel online khusus untuk persiapan UTBK dengan pendampingan khusus agar lolos di PTN impian. Dapatkan lebih hemat mulai Rp 400 ribu/bulan & mulai langganan sekarang!"
/>
<meta property="og:title" content="Bimbel Online Persiapan UTBK, Promo Diskon Mulai Rp 400 Ribu/Bulan" />
<meta
name="twitter:description"
content="Bimbel online khusus untuk persiapan UTBK dengan pendampingan khusus agar lolos di PTN impian. Dapatkan lebih hemat mulai Rp 400 ribu/bulan & mulai langganan sekarang!"
/>
<meta name="twitter:title" content="Bimbel Online Persiapan UTBK, Promo Diskon Mulai Rp 400 Ribu/Bulan" />
<style>
a.cta_button {
-moz-box-sizing: content-box !important;
-webkit-box-sizing: content-box !important;
box-sizing: content-box !important;
vertical-align: middle;
}
.hs-breadcrumb-menu {
list-style-type: none;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}
.hs-breadcrumb-menu-item {
float: left;
padding: 10px 0px 10px 10px;
}
.hs-breadcrumb-menu-divider:before {
content: '›';
padding-left: 10px;
}
.hs-featured-image-link {
border: 0;
}
.hs-featured-image {
float: right;
margin: 0 0 20px 20px;
max-width: 50%;
}
@media (max-width: 568px) {
.hs-featured-image {
float: none;
margin: 0;
width: 100%;
max-width: 100%;
}
}
.hs-screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
height: 1px;
overflow: hidden;
position: absolute !important;
width: 1px;
}
</style>
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/module_assets/88799806123/1670552741281/module_88799806123_Module_RG_Detail_Page_Brain_Academy_Online_-_UTBK.min.css"
/>
<!-- Added by GoogleAnalytics integration -->
<script>
var _hsp = (window._hsp = window._hsp || []);
_hsp.push([
'addPrivacyConsentListener',
function (consent) {
if (consent.allowed || (consent.categories && consent.categories.analytics)) {
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
(i[r] =
i[r] ||
function () {
(i[r].q = i[r].q || []).push(arguments);
}),
(i[r].l = 1 * new Date());
(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-49650255-1', 'auto');
ga('send', 'pageview');
}
},
]);
</script>
<!-- /Added by GoogleAnalytics integration -->
<link rel="canonical" href="https://www.ruangguru.com/brain-academy-online-utbk-snbt" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
(function (h, e, a, t, m, p) {
m = e.createElement(a);
m.async = !0;
m.src = t;
p = e.getElementsByTagName(a)[0];
p.parentNode.insertBefore(m, p);
})(window, document, 'script', 'https://u.heatmap.it/log.js');
</script>
<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" />
<!-- Global site tag (gtag.js) - Google Analytics -->
<!--
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-49650255-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-49650255-1');
</script>
-->
<!-- 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 -->
<style>
.row-fluid [class*='span'] {
min-height: 0 !important;
}
.bantuan {
/*display:none;*/
position: fixed;
bottom: 10rem;
right: 2.5rem;
z-index: 999;
display: flex;
align-items: flex-end;
justify-content: flex-end;
cursor: pointer;
transition: all 0.6s ease;
}
.bantuan-promo {
position: fixed;
bottom: 2rem;
right: 2rem;
z-index: 999;
display: flex;
align-items: flex-end;
justify-content: flex-end;
cursor: pointer;
transition: all 0.6s ease;
}
@media (min-width: 768px) {
.bantuan img,
.bantuan-promo img {
width: auto;
transition: all 0.4s ease;
}
.bantuan img {
width: 140px;
}
.bantuan-promo img {
height: 86px;
}
.clicked {
bottom: 0.25rem;
}
.clicked img {
width: auto;
height: 64px;
}
}
@media (max-width: 767px) {
.bantuan {
bottom: 14rem;
right: 1rem;
align-items: center;
}
.bantuan-promo {
bottom: 20.5rem;
right: 1rem;
align-items: center;
}
.bantuan img,
.bantuan-promo img {
width: auto;
}
.bantuan img {
height: 88px;
}
.bantuan-promo img {
height: 64px;
}
}
</style>
<meta property="og:image" content="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/1%20New%20Icon/rg.png#keepProtocol" />
<meta property="og:image:width" content="600" />
<meta property="og:image:height" content="350" />
<meta name="twitter:image" content="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/1%20New%20Icon/rg.png#keepProtocol" />
<meta property="og:url" content="https://www.ruangguru.com/brain-academy-online-utbk-snbt" />
<meta name="twitter:card" content="summary_large_image" />
<meta http-equiv="content-language" content="id" />
<link rel="stylesheet" href="https://cdn-web-2.ruangguru.com/landing-page-web/public/assets/common/layout.min.css" />
<link
rel="stylesheet"
href="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/44980440489/1661483386153/A_Ruangguru_Projects/Project_Hofar/CSS_Javascript_Auto_Generate_Breadcrumb_-_V1.min.css"
/>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.css" />
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.css" />
<style>
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&Nunito:ital,wght@0,700;0,800;1,700;1,800&family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap');
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.page-center {
float: none !important;
width: 90% !important;
max-width: 1200px !important;
margin: 0 auto !important;
}
.page-center-detail,
.page-center-content {
float: none !important;
margin: 0 auto !important;
}
body,
html {
height: 100% !important;
margin: 0;
min-height: 100% !important;
scroll-behavior: smooth;
}
img {
max-width: 100%;
}
button,
a {
cursor: pointer !important;
}
.fn-ma {
float: none;
margin: auto;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
a {
margin: 0 !important;
}
a {
text-decoration: none;
}
/* Used on all text */
.font-inter {
font-family: 'Inter';
}
.font-source {
font-family: 'Source Sans Pro', sans-serif;
}
.font-nunito {
font-family: 'Nunito', sans-serif;
}
/* Used on H1 tag */
.font-header-one,
.font-header-two,
.font-header-three {
font-weight: 700;
}
/* Black main color */
.font-black {
color: #2c313a;
}
/* Black secondary color */
.font-black-secondary {
color: #333333;
}
.font-green {
color: #13939e;
}
.font-gray {
color: #424242;
}
.font-dark-gray {
color: #4f4f4f;
}
.font-light-gray {
color: #5f6570;
}
.font-bright-gray {
color: #828282;
}
/* White color */
.font-white {
color: #ffffff;
}
.font-red {
color: #e52a34;
}
.font-blue {
background: linear-gradient(299.69deg, #0a5ad1 7.23%, #3db6fa 105.51%), #ffffff;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-fill-color: transparent;
}
/* Letter spacing */
.ls-1 {
letter-spacing: -0.01em;
}
.ls-5 {
letter-spacing: -0.005em;
}
/* Display */
.display-block {
display: block;
}
.display-none {
display: none;
}
.display-flex {
display: flex;
}
.display-grid {
display: grid;
}
/* Slick Button */
/* .slick-button-orange .slick-arrow {}
.slick-button-orange .slick-next {}
.slick-button-orange .slick-prev {} */
.slick-arrow {
}
.slick-next {
}
.slick-button-orange {
}
.slick-button-white {
}
/* Slick Dots */
/* .slick-dots-white .slick-dots li button:before {}
.slick-dots-white .slick-dots li.slick-active button:before {} */
/* Button */
/* Used on all button */
.button-basic-white {
background: #ffffff;
border-radius: 96px;
text-decoration: none;
}
.button-basic-white:hover {
filter: brightness(95%);
}
.button-basic-orange {
background: #f26d0f;
border-radius: 100px;
text-decoration: none;
}
.button-basic-orange:hover {
filter: brightness(95%);
}
/* List */
.ul-basic {
list-style: none;
}
.ol-basic {
list-style: none;
}
@media (min-width: 1025px) {
.font-header-one {
font-size: 32px;
line-height: 48px;
}
.font-header-two {
font-size: 18px;
line-height: 28px;
}
.font-header-three {
font-size: 20px;
line-height: 30px;
}
.desktop {
display: block !important;
}
.mobile {
display: none !important;
}
.page-center-detail {
width: 90% !important;
max-width: 1200px !important;
}
}
@media (max-width: 1024px) {
.font-header-one {
font-size: 20px;
line-height: 22px;
}
.font-header-two,
.font-header-three {
font-size: 16px;
line-height: 24px;
}
.desktop {
display: none !important;
}
.mobile {
display: block !important;
}
.page-center-content {
width: 90% !important;
max-width: 1200px !important;
}
}
</style>
<style>
.link-button-tanya {
width: 100%;
}
.btn-tanya {
width: 100%;
}
iframe#launcher {
display: none;
}
</style>
<script type="module" crossorigin src="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/brain-academy-online-utbk-snbt/assets/index-Dqv5PPZA.js"></script>
</head>
<body class="hs-content-id-89249563017 hs-landing-page hs-page" style="">
<div class="header-container-wrapper">
<div class="header-container container-fluid"></div>
<!--end header -->
</div>
<!--end header wrapper -->
<div class="body-container-wrapper">
<div class="body-container container-fluid">
<div class="row-fluid-wrapper row-depth-1 row-number-1">
<div class="row-fluid">
<div class="span12 widget-span widget-type-custom_widget" data-widget-type="custom_widget" data-x="0" data-w="12">
<div id="hs_cos_wrapper_module_166624914686646" class="hs_cos_wrapper hs_cos_wrapper_widget hs_cos_wrapper_type_module" data-hs-cos-general-type="widget" data-hs-cos-type="module">
<section class="hero">
<div class="page-center">
<div class="hero-content fn-ma">
<div class="hero-content_top">
<a href="https://www.ruangguru.com/" class="btn-back">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/Iconback.svg"
width="32"
height="32"
class="ic-back"
alt="Icon Back"
/>
</a>
<nav aria-label="breadcrumb">
<ol id="breadcrumb" class="breadcrumb bg-transparent p-0"></ol>
</nav>
</div>
<div class="hero-content_bottom display-grid">
<div class="hero-content_bottom--left">
<p class="font-inter font-white font-notes-hero desktop">Brain Academy Online</p>
<h1 class="font-inter font-white font-header-one">Bimbel Online Interaktif</h1>
<p class="font-inter font-desc-hero">Live Teaching bersama Star Master Teacher dan konsultasi PR</p>
</div>
<div class="hero-content_bottom--right">
<div class="hero-video fn-ma">
<a href="#" class="js-video-button" data-channel="video" data-video-url="https://www.youtube.com/embed/Vzgu0F4iwY4?autoplay=1" rel=" noopener">
<div class="video-box">
<picture>
<source srcset="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/BA%202022%20-%20SD/Revamp/thumbnail-video1.png?convert=webp " type="image/webp" />
<source srcset="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/BA%202022%20-%20SD/Revamp/thumbnail-video1.png " type="image/png" />
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/BA%202022%20-%20SD/Revamp/thumbnail-video1.png"
class="img-hero"
alt="Video BAO Illust"
loading="lazy"
/>
</picture>
</div>
</a>
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-star.svg"
class="ic-hero"
id="ic-star-top"
loading="lazy"
/>
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-plane.svg"
class="ic-hero"
id="ic-plane"
loading="lazy"
/>
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-star.svg"
class="ic-hero"
id="ic-star-bottom"
loading="lazy"
/>
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-pr.png" class="ic-hero" id="ic-pr" loading="lazy" />
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-live.png" class="ic-hero" id="ic-live" loading="lazy" />
</div>
</div>
</div>
</div>
</div>
</section>
<section class="detail">
<div class="page-center-detail">
<div class="detail-content fn-ma">
<div class="detail-content_left">
<div class="detail-navbar">
<div class="page-center-content">
<div class="detail-navbar_tier navbar-select" id="navbar-tier">
<p class="font-inter font-black">
Brain Academy Online
<span id="tier-type" data-value="brainacademy-premium">Premium</span>
</p>
<button class="font-inter">
Ganti
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-ChevronRight%20(1).svg"
width="16"
height="16"
loading="lazy"
/>
</button>
</div>
<div class="detail-navbar_info">
<button class="btn-navbar aktif" target="detail">Detail Paket</button>
<button class="btn-navbar" target="video">Contoh Video</button>
<button class="btn-navbar" target="testimoni">Ulasan</button>
</div>
</div>
</div>
<div class="detail-usp" id="detail">
<div class="page-center-content">
<h2 class="font-inter font-black-secondary font-header-two ls-5">Yang akan kamu dapatkan</h2>
<div class="usp-list" id="usp-list">
<ul>
<li>>65rb video belajar interaktif Adapto & AdaptoX</li>
<li>>400rb latihan soal & pembahasan di ruanglatihan</li>
<li>Tryout premium UTBK hingga 28x dengan sistem penilaian IRT</li>
<li>Cek peluang lolos PTN 2025</li>
<li>Laporan perkembangan belajar</li>
<li>Konseling & Klub hobi</li>
</ul>
</div>
<button class="btn-read" id="btn-read">
<span id="text-read">Selengkapnya</span>
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-ChevronDown.svg"
width="16"
height="16"
loading="lazy"
/>
</button>
</div>
</div>
<div class="detail-video" id="video">
<div class="page-center-content">
<h2 class="font-inter font-black-secondary font-header-three ls-5">Video contoh Live Teaching</h2>
<div class="detail-video_content">
<div class="video-box">
<iframe
id="videoIframe"
width="560"
height="315"
src="https://www.youtube.com/embed/qNteZTcOAz4"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen
></iframe>
</div>
</div>
<p class="font-inter font-black-secondary font-subhead-video">Dilengkapi fasilitas belajar yang mantap</p>
<div class="fasilitas">
<div class="fasilitas-card">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/icon%20kelas%20interaktif.svg"
width="44"
height="44"
loading="lazy"
/>
<div>
<p class="font-inter font-blue font-title-fasilitas">Kelas interaktif</p>
<p class="font-inter font-gray font-desc-fasilitas">Live Teaching seru dengan permainan Panen Bintang</p>
</div>
</div>
<div class="fasilitas-card">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/icon%20konsultasi%20PR.svg"
width="44"
height="44"
loading="lazy"
/>
<div>
<p class="font-inter font-blue font-title-fasilitas">Konsultasi PR</p>
<p class="font-inter font-gray font-desc-fasilitas">Konsultasi PR sulit via video call atau forum tanya jawab</p>
</div>
</div>
<div class="fasilitas-card">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/icon%20materi%20belajar.svg"
width="44"
height="44"
loading="lazy"
/>
<div>
<p class="font-inter font-blue font-title-fasilitas">Materi belajar</p>
<p class="font-inter font-gray font-desc-fasilitas">Belajar lebih lengkap dengan modul digital</p>
</div>
</div>
<div class="fasilitas-card">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/icon%20fasilitas%20tambahan.svg"
width="44"
height="44"
loading="lazy"
/>
<div>
<p class="font-inter font-blue font-title-fasilitas">Fasilitas tambahan</p>
<p class="font-inter font-gray font-desc-fasilitas">Nikmati video belajar, tryout, latihan soal, dan banyak lagi</p>
</div>
</div>
<div class="fasilitas-card">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/icon%20konseling.svg"
width="44"
height="44"
loading="lazy"
/>
<div>
<p class="font-inter font-blue font-title-fasilitas">Konseling</p>
<p class="font-inter font-gray font-desc-fasilitas">Makin semangat belajar dengan bimbingan konselor</p>
</div>
</div>
</div>
</div>
</div>
<div class="detail-fitur">
<img src="https://roboguru-forum-cdn.ruangguru.com/image/26439a01-1098-499a-88c1-f76d68a73159.png" class="img-fitur" loading="lazy" />
<div class="detail-fitur_info">
<div class="detail-fitur_text">
<h2 class="font-inter font-white ls-5 font-header-two">Temukan fitur lengkap Brain Academy Online</h2>
<p class="font-inter font-white font-desc-fitur">Kamu bisa lihat contoh video animasi, Laporan Belajar, dan banyak lagi.</p>
</div>
<a href="https://brainacademy.id/" target="_blank">
<button class="font-inter font-black btn-white">Lihat Fitur</button>
</a>
</div>
</div>
<div class="detail-testimoni" id="testimoni">
<div class="page-center-content">
<h2 class="font-inter font-black-secondary ls-5 font-header-two">Cerita para pengguna Brain Academy Online</h2>
<div class="testimoni-wrapper">
<div class="testimoni-card">
<div class="testimoni-card_top">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/hof_abdul.jpeg?width=56&height=56&name=hof_abdul.jpeg"
width="56"
height="56"
loading="lazy"
id="foto1"
srcset="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/hof_abdul.jpeg?width=28&height=28&name=hof_abdul.jpeg 28w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/hof_abdul.jpeg?width=56&height=56&name=hof_abdul.jpeg 56w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/hof_abdul.jpeg?width=84&height=84&name=hof_abdul.jpeg 84w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/hof_abdul.jpeg?width=112&height=112&name=hof_abdul.jpeg 112w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/hof_abdul.jpeg?width=140&height=140&name=hof_abdul.jpeg 140w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/hof_abdul.jpeg?width=168&height=168&name=hof_abdul.jpeg 168w"
sizes="(max-width: 56px) 100vw, 56px"
/>
<p class="font-inter font-black ls-5 font-nama" id="nama1">Abdul Kholik</p>
<p class="font-inter font-light-gray font-sekolah ls-5">
Diterima di Universitas Brawijaya
<br />
Pengguna Brain Academy Online
</p>
</div>
<p class="font-inter font-black font-testimoni ls-5" id="testi1">
Aku lolos masuk ITB dengan skor sangat memuaskan. Rasanya senang sekali! Selama proses UTBK, aku banyak dibantu Brain Academy Online untuk latihan soal, penguasaan
materi, bahkan sampai persiapan mental!
</p>
</div>
<div class="testimoni-card">
<div class="testimoni-card_top">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/amanda.jpeg?width=56&height=56&name=amanda.jpeg"
width="56"
height="56"
loading="lazy"
id="foto2"
srcset="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/amanda.jpeg?width=28&height=28&name=amanda.jpeg 28w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/amanda.jpeg?width=56&height=56&name=amanda.jpeg 56w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/amanda.jpeg?width=84&height=84&name=amanda.jpeg 84w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/amanda.jpeg?width=112&height=112&name=amanda.jpeg 112w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/amanda.jpeg?width=140&height=140&name=amanda.jpeg 140w, https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/LP%20Testimonial%20BAO/Sept%202021/HallOfFame/amanda.jpeg?width=168&height=168&name=amanda.jpeg 168w"
sizes="(max-width: 56px) 100vw, 56px"
/>
<p class="font-inter font-black ls-5 font-nama" id="nama2">Amanda Bella Saputri</p>
<p class="font-inter font-light-gray font-sekolah ls-5">
Diterima di Institut Teknologi Bandung
<br />
Pengguna Brain Academy Online
</p>
</div>
<p class="font-inter font-black font-testimoni ls-5" id="testi2">
Gampang banget memahami materi di Brain Academy Online, soalnya banyak latihan soal, tryout, dan kuis. Nilaiku jadi gampang naik hingga bisa diterima di Universitas
Brawijaya. Senengnya!
</p>
</div>
</div>
</div>
</div>
</div>
<div class="detail-content_right">
<div class="page-center-content">
<h2 class="font-inter font-black ls-5 font-header-two desktop">Beli paket Brain Academy Online</h2>
<div class="detail-paket">
<div class="detail-paket_normal">
<p class="font-inter font-black font-nama-paket">Paket 1 Tahun</p>
<p class="font-inter font-expire">
Paket aktif hingga
<span id="expire">01 Jul 2023</span>
</p>
<div class="flashsale">
<img src="https://roboguru-forum-cdn.ruangguru.com/image/edce724c-3b7a-49aa-9a34-ec89513a8a38.png" width="12" height="12" loading="lazy" />
<p class="font-inter font-white font-flashsale" id="flashsale">
Flash Sale
<span class="hours">01</span>
:
<span class="minutes">08</span>
:
<span class="seconds">22</span>
</p>
</div>
<div class="detail-paket_harga">
<p class="font-inter font-red font-diskon">
<span id="discount">50</span>
%
</p>
<p class="font-inter font-gray font-coret">
Rp
<span id="baseprice">1.250.000</span>
</p>
<p class="font-inter font-red font-harga">
Rp
<span id="finalprice">599.000</span>
</p>
</div>
<p class="font-inter font-blue font-hari">
Hanya Rp
<span id="monthprice"></span>
/bulan
</p>
</div>
<div class="detail-paket_elite display_none">
<p class="font-inter font-black font-nama-paket">Mulai dari</p>
<p class="font-inter font-red font-harga">
<span id="finalpriceelite">599.000</span>
<span class="font-harga-bulan">/bulan</span>
</p>
</div>
</div>
<div class="detail-kelas">
<a href="#" target="_blank" class="paket-link">
<button class="font-inter font-black btn-white border-solid">Lihat Paket</button>
</a>
<!-- <a href="https://kelas.brainacademy.id/" target="_blank" class="kelas-link"> -->
<button class="font-inter font-white btn-orange kelas-link">Coba Kelas Gratis</button>
<!-- </a> -->
<a class="link-button-tanya" href="https://cta.ruangguru.com/ab-web-floating-button-landing-page-rg" target="_blank">
<button class="font-inter font-green btn-tanya" target-value="close">
Tanya
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-chat.svg" width="24" height="24" loading="lazy" />
</button>
</a>
</div>
</div>
</div>
</div>
</div>
</section>
<div id="modalTipe" class="modalOverlay display_none">
<div class="modalPopup">
<div class="modalContent">
<div class="warn-box normalize-css">
<div class="button-mulai">
<button class="modal-btn" id="button-tipe">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-close.svg" alt="Icon" loading="lazy" />
</button>
</div>
<div class="warn-box_text">
<div class="box-desc">
<p class="font-inter font-black font-pilih ls-5">Pilih tipe paket yang sesuai untukmu</p>
<div class="box-scroll">
<div class="card-tier tier-regular">
<p class="font-inter font-black-secondary font-tier">Regular</p>
<div class="list-tier" id="list-brainacademy-regular"></div>
<div class="harga-tier">
<div class="harga-tier_mulai" id="harga-brainacademy-regular"></div>
<button class="btn-pilih-tier" value="brainacademy-regular" data-value="Regular" data-harga="0" id="brainacademy-regular">Pilih</button>
</div>
</div>
<div class="card-tier tier-premium">
<p class="font-inter font-black-secondary font-tier">Premium</p>
<div class="list-tier" id="list-brainacademy-premium"></div>
<div class="harga-tier">
<div class="harga-tier_mulai" id="harga-brainacademy-premium"></div>
<button class="btn-pilih-tier" value="brainacademy-premium" data-value="Premium" data-harga="0" id="brainacademy-premium">Pilih</button>
</div>
</div>
<div class="card-tier tier-elite">
<p class="font-inter font-black-secondary font-tier">Elite</p>
<div class="list-tier" id="list-brainacademy-elite"></div>
<div class="harga-tier">
<div class="harga-tier_mulai" id="harga-brainacademy-elite"></div>
<button class="btn-pilih-tier" value="brainacademy-elite" data-value="Elite" data-harga="0" id="brainacademy-elite">Pilih</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="modalLive" class="modalOverlay display_none">
<div class="modalPopup">
<div class="modalContent">
<div class="warn-box normalize-css">
<div class="button-mulai">
<button class="modal-btn" id="button-live">
<img src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/ic-close.svg" alt="Icon" loading="lazy" />
</button>
</div>
<div class="warn-box_text">
<div class="box-desc_top">
<img src="https://cdn-web-2.ruangguru.com/ba-free-trial-ui/public/assets/images/logo.svg" loading="lazy" class="img-logo" />
<img src="https://cdn-web-2.ruangguru.com/ba-free-trial-ui/public/assets/images/ambassadorInviting.png" loading="lazy" class="img-ba" />
</div>
<div class="box-desc">
<div class="box-desc_middle">
<div class="box-info">
<img src="" loading="lazy" class="img-live" />
<div class="live-info">
<div class="live-info_card" id="card-title">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/Live%20Teaching%20BAO/ic-book.svg"
width="20"
height="20"
loading="lazy"
/>
<p class="font-inter font-black font-live-info" id="live-title"></p>
</div>
<div class="live-info_card" id="card-name">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/Live%20Teaching%20BAO/ic-people.svg"
width="20"
height="20"
loading="lazy"
/>
<p class="font-inter font-black font-live-info" id="live-name"></p>
</div>
<div class="live-info_card" id="card-date">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/Live%20Teaching%20BAO/ic-calendar.svg"
width="20"
height="20"
loading="lazy"
/>
<p class="font-inter font-black font-live-info" id="live-date"></p>
</div>
<div class="live-info_card" id="card-time">
<img
src="https://cdn-web-2.ruangguru.com/landing-pages/assets/hs/Ruangguru%20Revamp%202022/Detail%20Page/Header/Live%20Teaching%20BAO/ic-clock.svg"
width="20"
height="20"
loading="lazy"
/>
<p class="font-inter font-black font-live-info" id="live-time"></p>
</div>
</div>
</div>
<div class="box-action">
<p class="font-inter font-black-secondary font-title-live"></p>
<p class="font-inter font-light-gray font-desc-live"></p>
<a href="" target="_blank" id="register-live">
<button class="live-cta live-cta-orange">
Buat Akun dan Ikuti Live Teaching
<img src="https://cdn-web-2.ruangguru.com/ba-free-trial-ui/public/assets/images/buttonReflection.png" loading="lazy" />
</button>
</a>
<a href="" target="_blank" id="register-upcoming">
<button class="live-cta live-cta-blue">
Buat Akun dan Dapatkan Pengingat
<img src="https://cdn-web-2.ruangguru.com/ba-free-trial-ui/public/assets/images/buttonReflection.png" loading="lazy" />
</button>
</a>
<p class="font-inter font-light-gray font-live-login">
Sudah punya akun Ruangguru?
<a href="" target="_blank" id="login-live" class="font-inter font-login">Masuk</a>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--end widget-span -->
</div>
<!--end row-->
</div>
<!--end row-wrapper -->
</div>
<!--end body -->
</div>
<!--end body wrapper -->
<!-- Start of HubSpot Analytics Code -->
<script type="text/javascript">
var _hsq = _hsq || [];
_hsq.push(['setContentType', 'landing-page']);
_hsq.push(['setCanonicalUrl', 'https:\/\/www.ruangguru.com\/brain-academy-online-utbk-snbt']);
_hsq.push(['setPageId', '89249563017']);
_hsq.push([
'setContentMetadata',
{
contentPageId: 89249563017,
legacyPageId: '89249563017',
contentFolderId: null,
contentGroupId: null,
abTestId: null,
languageVariantId: 89249563017,
languageCode: 'id',
},
]);
</script>
<script type="text/javascript">
var hsVars = {
render_id: '6608c63f-5149-4830-96b9-95f99df119e8',
ticks: 1684632203956,
page_id: 89249563017,
content_group_id: 0,
portal_id: 2828691,
app_hs_base_url: 'https://app.hubspot.com',
cp_hs_base_url: 'https://cp.hubspot.com',
language: 'id',
analytics_page_type: 'landing-page',
analytics_page_id: '89249563017',
category_id: 1,
folder_id: 0,
is_hubspot_user: false,
};
</script>
<script src="https://unpkg.com/@dotlottie/player-component@latest/dist/dotlottie-player.mjs" type="module"></script>
<!-- Load CSS for all versions -->
<script>
// CSS loading function available for all versions
function loadFloatingCSS() {
// Check if CSS is already loaded
if (document.getElementById('fb-component-css')) {
return;
}
// Create and append CSS style block to head
const style = document.createElement('style');
style.id = 'fb-component-css';
style.textContent = `
.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;
}
`;
document.head.appendChild(style);
}
// Load CSS immediately
loadFloatingCSS();
</script>
<div id="bantuan-divs-container" style="position: relative" data-product="ruangguru" data-table=""></div>
<script>
class FloatingDivsComponent {
constructor(product = 'ruangguru', table = 'rg_promo_banner') {
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_promo_banner';
const queryParams =
'offset=0&limit=99999&sort=rankPosition&where=(type,eq,floating)~and(showIn,anyof,landingPage)~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 [];
}
// 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_promo_banner';
new FloatingDivsComponent(product, table);
});
// Export for use in other modules if needed
if (typeof module !== 'undefined' && module.exports) {
module.exports = FloatingDivsComponent;
}
</script>
<!-- Tracker -->
<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/dist/analytics-plugin-trackable.min.js"></script>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N8DPXH6" height="0" width="0" style="display: none; visibility: hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script type="text/javascript" defer>
/* Initialize analytics */
var Analytics = _analytics.init({
app: 'brainAcademyLandingPage',
debug: false,
plugins: [analyticsTrackable()],
});
Analytics.ready(function () {
Analytics.page();
});
</script>
<style>
@media (min-width: 1025px) {
.breadcrumb-item > a,
.breadcrumb-item.active {
font-size: 16px;
line-height: 24px;
}
}
@media (max-width: 1024px) {
.breadcrumb-item > a,
.breadcrumb-item.active {
font-size: 12px;
line-height: 20px;
}
}
.breadcrumb {
padding: 0 1rem;
margin: 0;
}
.breadcrumb-item > a,
.breadcrumb-item.active {
font-family: 'Inter';
color: #ffffff !important;
}
.breadcrumb-item > a {
font-weight: 400;
}
.breadcrumb-item.active {
font-weight: 600;
}
.breadcrumb-item + .breadcrumb-item::before {
color: #ffffff !important;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- <script id="ze-snippet" src="https://static.zdassets.com/ekr/snippet.js?key=a2ac30ed-dd6d-47f6-99ba-0d5aeae351a0"></script> -->
<script src="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/10729457848/1615619794843/Templates/Custom/Page/Fadhli/All_Template_for_Marketing_Engineer/Source_Modal_Video/modal-video.js"></script>
<script src="https://cdn-web-2.ruangguru.com/landing-page-web/public/staticpages/www.ruangguru.com/hs-fs/hub/2828691/hub_generated/template_assets/10729457994/1615619961343/Templates/Custom/Page/Fadhli/All_Template_for_Marketing_Engineer/Source_Modal_Video/jquery-modal-video-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>
<script>
//START BREADCRUMBS
const base_url = window.location.origin;
const base_text = 'Home';
const showConsoleLog = false;
const _versi = 'bc-1.3.1b12';
var site_url = base_url;
const brand_uppercase_list = [
'XL',
'BNI',
'BRI',
'MAYAPADA',
'OVO',
'BCA',
'DBS',
'UOB',
'OCBC',
'NISP',
'KIS',
'ABC',
'BTN',
'GOPAY',
'FAQ',
'TPS',
'TC',
'SBMPTN',
'UN',
'SMA',
'SMP',
'OTG',
'RLO',
'SD',
'RBP',
'PAUD',
'RPP',
'KFC',
'RUG',
'SYCA',
'DISKONPAS',
'SPP',
'IPA',
'IPS',
'IB',
'IGCSE',
'GMAT',
'GRE',
'IELTS',
'SAT',
'TOEFL',
'IBT',
'ITP',
'TOEIC',
'PHP',
'UTBK',
'SNBT',
];
const brand_lowercase_list = ['ruangkelas', 'ruangbelajar', 'ruanguji', 'ruangpengajar', 'ruangles', 'ruanglesonline'];
const brand_custom_text = [
{
from: 'Utbk Snbt',
to: 'UTBK/SNBT',
},
{
from: 'UTBK Snbt',
to: 'UTBK/SNBT',
},
{
from: 'utbk snbt',
to: 'UTBK/SNBT',
},
];
brand_uppercase_list.forEach(function (path, index) {
this[index] = path.toLowerCase();
}, brand_uppercase_list);
brand_lowercase_list.forEach(function (path, index) {
this[index] = path.toLowerCase();
}, brand_lowercase_list);
var populate_brand_custom_text_from = [];
brand_custom_text.forEach(function (path, index) {
if (this[index].from.length > 0) {
this[index].from = path.from.toLowerCase();
populate_brand_custom_text_from.push(path.from.toLowerCase());
}
}, brand_custom_text);
function urlToBreadcrumbs() {
var crumbHash = document.URL.split('#');
var crumb;
if (crumbHash.length) {
crumb = crumbHash[0];
}
crumb = crumb.split('/');
var newListItem = '';
crumb = crumb.slice(3, crumb.length);
newListItem += '<li class="breadcrumb-item">';
newListItem += '<a href="' + base_url + '">' + base_text + '</a>';
newListItem += '</li>';
var max = crumb.length - 1;
for (var i = 0; i <= max; i++) {
var thisCrumb = crumb[i];
if (aContainsB(thisCrumb, '_')) {
thisCrumb = dropUnderscore(thisCrumb);
}
if (aContainsB(thisCrumb, '-')) {
thisCrumb = dropStrip(thisCrumb);
}
if (aContainsB(thisCrumb, '?')) {
thisCrumb = dropQuestionMark(thisCrumb);
}
thisCrumb = formatText(thisCrumb.trim());
site_url += '/' + crumb[i];
if (thisCrumb) {
if (i < max) {
newListItem += '<li class="breadcrumb-item">';
thisCrumb = '<a href="' + site_url + '">' + thisCrumb + '</a>';
} else {
newListItem += '<li class="breadcrumb-item active">';
}
newListItem += thisCrumb;
newListItem += '</li>';
}
}
if (document.getElementById('breadcrumb')) {
document.getElementById('breadcrumb').innerHTML = newListItem;
}
}
function aContainsB(a, b) {
return a.indexOf(b) >= 0;
}
function dropUnderscore(address) {
var drop = address.split('_');
return drop.join(' ');
}
function dropStrip(address) {
var drop = address.split('-');
return drop.join(' ');
}
function dropQuestionMark(address) {
var drop = address.split('?');
return drop[0];
}
function formatText(lowerCaseString) {
var stringArray = lowerCaseString.split(' ');
var formatTextdString = '';
for (var i = 0; i < stringArray.length; i++) {
if (populate_brand_custom_text_from.indexOf(stringArray[i]) !== -1) {
formatTextdString += brand_custom_text[populate_brand_custom_text_from.indexOf(stringArray[i])].to.toString() + ' ';
if (showConsoleLog) {
console.log('populate_brand_custom_text_from.indexOf(stringArray[i]):');
console.log(populate_brand_custom_text_from.indexOf(stringArray[i]));
console.log('brand_custom_text[populate_brand_custom_text_from.indexOf(stringArray[i])]:');
console.log(brand_custom_text[populate_brand_custom_text_from.indexOf(stringArray[i])]);
}
} else if (brand_uppercase_list.indexOf(stringArray[i]) !== -1) {
formatTextdString += stringArray[i].toUpperCase() + ' ';
} else if (brand_lowercase_list.indexOf(stringArray[i]) !== -1) {
formatTextdString += stringArray[i].toLowerCase() + ' ';
} else {
var wordArray = stringArray[i].split('');
if (wordArray.length) {
wordArray[0] = wordArray[0].toUpperCase();
wordArray = wordArray.join('');
formatTextdString += wordArray + ' ';
}
}
if (showConsoleLog) {
console.log('stringArray[i]:');
console.log(stringArray[i]);
}
}
if (lowerCaseString === 'utbk snbt') {
formatTextdString = 'UTBK/SNBT';
}
if (showConsoleLog) {
console.log('formatTextdString:');
console.log(formatTextdString);
}
return formatTextdString;
}
if (document.getElementsByClassName('breadcrumb-item').length) {
let bc_item = document.getElementsByClassName('breadcrumb-item');
let bc_length = bc_item.length;
let bc_item_last = bc_item[bc_length - 1];
let bc_text = bc_item_last.innerText;
let bc_html = bc_item_last.innerHTML;
bc_item[bc_length - 1].innerHTML = bc_item_last.innerText;
bc_item[bc_length - 1].classList.add('active');
}
//END BREADCRUMBS
//POP UP VIDEO
$('.js-video-button').modalVideo({
youtube: {
controls: 0,
nocookie: true,
},
});
// getTimeRemaining
const getTimeRemaining = endtime => {
const total = Date.parse(endtime) - Date.parse(new Date());
const seconds = Math.floor((total / 1000) % 60);
const minutes = Math.floor((total / 1000 / 60) % 60);
const hours = Math.floor((total / (1000 * 60 * 60)) % 24);
const days = Math.floor(total / (1000 * 60 * 60 * 24));
const dours = hours + days * 60;
return {
total,
dours,
minutes,
seconds,
};
};
// initializeClock
const initializeClock = (id, endtime) => {
const clock = document.getElementById(id);
const hoursSpan = clock.querySelector('.hours');
const minutesSpan = clock.querySelector('.minutes');
const secondsSpan = clock.querySelector('.seconds');
const countdownContainer = document.querySelector('.flashsale');
const updateClock = () => {
const t = getTimeRemaining(endtime);
hoursSpan.innerHTML = ('0' + t.dours).slice(-2);
minutesSpan.innerHTML = ('0' + t.minutes).slice(-2);
secondsSpan.innerHTML = ('0' + t.seconds).slice(-2);
if (t.total <= 0) {
clearInterval(timeinterval);
countdownContainer.style.display = 'none';
} else {
countdownContainer.style.display = 'flex';
}
};
updateClock();
const timeinterval = setInterval(updateClock, 500);
};
// Function flash sale end time
const getFlashsaleTime = endTime => {
var deadline = new Date(parseInt(endTime));
initializeClock('flashsale', deadline);
};
//CREATE LIST
const makeUL = array => {
var list = `<ul>`;
var item = ``;
for (var i = 0; i < array.length; i++) {
item = item + `<li>${array[i]}</li>`;
}
var finalList = list + item + `</ul>`;
return finalList;
};
//EMBED VIDEO URL
var videoURL = {
video: {
'kelas-3-sd': 'https://www.youtube.com/embed/qNteZTcOAz4?start=400',
'kelas-4-sd': 'https://www.youtube.com/embed/I26QURv5Tb0?start=400',
'kelas-5-sd': 'https://www.youtube.com/embed/IxsEaSRpbAI?start=400',
'kelas-6-sd': 'https://www.youtube.com/embed/JaPb_1tQ05A?start=400',
'kelas-7-smp': 'https://www.youtube.com/embed/IFH00npxb5c?start=400',
'kelas-8-smp': 'https://www.youtube.com/embed/9qB7spXFmto?start=400',
'kelas-9-smp': 'https://www.youtube.com/embed/py524uhXq5c?start=400',
'kelas-10-ipa': 'https://www.youtube.com/embed/f0XvEVTdYcM?start=400',
'kelas-11-ipa': 'https://www.youtube.com/embed/D8rYDa8iglg?start=400',
'kelas-12-ipa': 'https://www.youtube.com/embed/M7RvjAoLsqI?start=400',
'kelas-10-ips': 'https://www.youtube.com/embed/f0XvEVTdYcM?start=400',
'kelas-11-ips': 'https://www.youtube.com/embed/D8rYDa8iglg?start=400',
'kelas-12-ips': 'https://www.youtube.com/embed/M7RvjAoLsqI?start=400',
'kelas-utbk': 'https://www.youtube.com/embed/z9fI7UULaaY?start=400',
},
};
//CREATE CARD
const setTierCard = (tag, priceText, priceTitle, items) => {
let list = makeUL(items);
let priceArr = priceText.split('/');
$('#list-' + tag)
.empty()
.html(list);
$('#harga-' + tag).empty().html(`
<p class="font-inter font-black font-price-title">${priceTitle}</p>
<p class="font-inter font-black font-price-text"><span class="font-price-red font-red">${priceArr[0]}</span> / ${priceArr[1]}</p>
`);
$('#harga-' + tag).attr('data-harga', priceArr[0]);
};
// Function convert num to rupiah
const formatNumber = num => {
return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1.');
};
//CREATE USP LIST
const setUSPList = (usps, nama, harga, coret, diskon, bulan, packageSerial, voucherSerial, tipe, kelas, date) => {
let uspList = makeUL(usps);
let buyBaseURL = 'https://bayar.ruangguru.com/packages-list?tag=brainacademy-online,' + tipe + '&grade=' + kelas;
$('#usp-list').empty().html(uspList);
$('.font-nama-paket').text(nama);
$('#discount').text(diskon);
$('#expire').text(date);
$('#baseprice').text(formatNumber(coret));
$('#finalprice').text(formatNumber(harga));
$('#monthprice').text(formatNumber(bulan));
$('.paket-link').attr('href', buyBaseURL);
};
//CREATE LIVE POP UP
const setLiveTeachingCard = (status, title, people, thumbnail, tanggalEvent, waktuEvent, serial, login, register) => {
if (status === 'live') {
$('#modalLive .box-desc').removeClass('bg-blue');
$('#modalLive .box-desc').addClass('bg-orange');
$('.font-title-live').text('Yuk, ikuti sesi Live Teaching ini sekarang!');
$('.font-desc-live').text('Buat akun Ruangguru kamu untuk langsung menonton Live Teaching gratis');
$('#register-live').css('display', 'block');
$('#register-upcoming').css('display', 'none');
} else if (status === 'upcoming') {
$('#modalLive .box-desc').addClass('bg-blue');
$('#modalLive .box-desc').removeClass('bg-orange');
$('.font-title-live').text('Yuk, daftar dan ikuti sesi Live Teaching ini!');
$('.font-desc-live').text('Buat akun Ruangguru kamu untuk daftar Live Teaching dan mendapatkan pengingat WhatsApp sebelum sesi dimulai');
$('#register-live').css('display', 'none');
$('#register-upcoming').css('display', 'block');
}
$('.img-live').attr('src', thumbnail);
$('#live-title').text(title);
$('#live-name').text(people);
$('#live-date').text(tanggalEvent);
$('#live-time').text(waktuEvent);
$('#register-live').attr('href', register);
$('#register-upcoming').attr('href', register);
$('#login-live').attr('href', login);
};
// Function Fetch API TAGS Live
const fetchDataLive = (endpoint, tag) => {
return fetch(endpoint, {
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
'Access-Control-Allow-Methods': 'GET',
platform: 'web',
country: 'id',
},
})
.then(response => {
return response.json().then(d => {
const tag_data = d.data.tags;
console.log(tag_data);
for (var p = 0; p < tag_data.length; p++) {
if (d.data.tags[p].name === tag) {
fetchDataEvent('https://gw.ruangguru.com/api/v3/brainAcademy/landing-page/live-event?page=1&pageSize=1&tagSerials=' + d.data.tags[p].serial + '&startDate&source');
}
}
});
})
.catch(error => {
console.log(error);
});
};
// Function Fetch API Live Event
const fetchDataEvent = endpoint => {
return fetch(endpoint, {
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
'Access-Control-Allow-Methods': 'GET',
platform: 'web',
country: 'id',
},
})
.then(response => {
return response.json().then(d => {
// const myJSON = JSON.parse(d.data.event);
getEvent(d.data.event);
console.log(d);
});
})
.catch(error => {
console.log(error);
});
};
// Function Fetch API
const fetchDataType = endpoint => {
return fetch(endpoint, {
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
'Access-Control-Allow-Methods': 'GET',
platform: 'web',
country: 'id',
},
})
.then(response => {
return response.json().then(d => {
const myJSON = JSON.parse(d.data.details[0].data);
getType(d.data.details[0].data);
});
})
.catch(error => {
console.log(error);
});
};
// Function Fetch API
const fetchDataPackage = (endpoint, tipe, kelas) => {
// Fetching Data From API
return fetch(endpoint, {
headers: {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
'Access-Control-Allow-Methods': 'GET, PUT, POST, DELETE, OPTIONS',
platform: 'web',
country: 'id',
},
})
.then(response => {
return response.json().then(d => {
getPackage(d.data, tipe, kelas);
});
})
.catch(error => {
console.log(error);
});
};
//GET TIER TYPE PRODUCT
const getType = dataType => {
let tiers = JSON.parse(dataType);
let filters;
let tag;
let priceText;
let priceTitle;
let items;
filters = tiers.filterData.filters[0].data;
for (const filter of filters) {
tag = filter.tag;
priceText = filter.cardTier.priceText;
priceTitle = filter.cardTier.priceTitle;
items = filter.cardTier.items;
console.log(filter);
setTierCard(tag, priceText, priceTitle, items);
}
};
//GET PAKET
const getPackage = (dataPackage, tipe, kelas) => {
let packages = dataPackage.items;
let package = packages[0];
let flashsaleEndTime;
let items;
let usps;
let nama;
let harga;
let coret;
let diskon;
let bulan;
let dateExp;
let packageSerial;
let voucherSerial;
flashsaleEndTime = package.flashsale.flashsaleEndTime;
if (flashsaleEndTime !== '0') {
$('.flashsale').removelass('display_none');
getFlashsaleTime(flashsaleEndTime);
} else {
$('.flashsale').addClass('display_none');
}
items = JSON.parse(package.packageInformation);
usps = items.list.values;
nama = package.name;
harga = package.finalPrice;
coret = package.basePrice;
diskon = package.voucherValidation.voucherPercentage;
bulan = package.shortPrice.value;
packageSerial = package.serial;
voucherSerial = package.voucherValidation.voucherSerial;
if (tipe === 'brainacademy-elite' && (kelas === 'kelas-3-sd' || kelas === 'kelas-4-sd' || kelas === 'kelas-5-sd' || kelas === 'kelas-6-sd')) {
$('.detail-paket_elite').removeClass('display_none');
$('.detail-paket_normal').addClass('display_none');
$('.font-nama-paket').text('Mulai dari');
$('#finalpriceelite').text($('#harga-brainacademy-elite').attr('data-harga'));
let buyBaseURL = 'https://bayar.ruangguru.com/packages-list?tag=brainacademy-online,brainacademy-elite&grade=' + kelas;
$('.paket-link').attr('href', buyBaseURL);
} else {
var datetime = package.subscriptionEndDate;
const expire = new Date(datetime);
var tahunExp = expire.getFullYear();
var bulanExp = expire.getMonth();
var tanggalExp = expire.getDate();
switch (bulanExp) {
case 0:
bulanExp = 'Jan';
break;
case 1:
bulanExp = 'Feb';
break;
case 2:
bulanExp = 'Mar';
break;
case 3:
bulanExp = 'Apr';
break;
case 4:
bulanExp = 'Mei';
break;
case 5:
bulanExp = 'Jun';
break;
case 6:
bulanExp = 'Jul';
break;
case 7:
bulanExp = 'Agu';
break;
case 8:
bulanExp = 'Sep';
break;
case 9:
bulanExp = 'Okt';
break;
case 10:
bulanExp = 'Nov';
break;
case 11:
bulanExp = 'Des';
break;
}
dateExp = tanggalExp + ' ' + bulanExp + ' ' + tahunExp;
$('.detail-paket_elite').addClass('display_none');
$('.detail-paket_normal').removeClass('display_none');
setUSPList(usps, nama, harga, coret, diskon, bulan, packageSerial, voucherSerial, tipe, kelas, dateExp);
}
};
//GET LIVE EVENT
const getEvent = dataType => {
let events = dataType;
let status;
let title;
let people;
let thumbnail;
let tanggalEvent;
let waktuEvent;
let serial;
let login;
let register;
if (events.length >= 1) {
for (const event of events) {
status = event.liveEventStatus;
title = event.metadata.eventTitle;
people = event.metadata.presenter;
thumbnail = event.metadata.eventThumbnailURL;
serial = event.serial;
var datetimemulai = event.metadata.eventStartDate;
var datetimeakhir = event.metadata.eventEndDate;
const mulai = new Date(datetimemulai);
const akhir = new Date(datetimeakhir);
var tahun = mulai.getFullYear();
var bulan = mulai.getMonth();
var tanggal = mulai.getDate();
var hari = mulai.getDay();
var jamMulai = mulai.getHours();
var jamAkhir = akhir.getHours();
var menitMulai = mulai.getMinutes();
var menitAkhir = akhir.getMinutes();
switch (hari) {
case 0:
hari = 'Minggu';
break;
case 1:
hari = 'Senin';
break;
case 2:
hari = 'Selasa';
break;
case 3:
hari = 'Rabu';
break;
case 4:
hari = 'Kamis';
break;
case 5:
hari = "Jum'at";
break;
case 6:
hari = 'Sabtu';
break;
}
switch (bulan) {
case 0:
bulan = 'Januari';
break;
case 1:
bulan = 'Februari';
break;
case 2:
bulan = 'Maret';
break;
case 3:
bulan = 'April';
break;
case 4:
bulan = 'Mei';
break;
case 5:
bulan = 'Juni';
break;
case 6:
bulan = 'Juli';
break;
case 7:
bulan = 'Agustus';
break;
case 8:
bulan = 'September';
break;
case 9:
bulan = 'Oktober';
break;
case 10:
bulan = 'November';
break;
case 11:
bulan = 'Desember';
break;
}
login = 'https://account.ruangguru.com/login?redirect_url=http://kelas.brainacademy.id?eventSerial=' + serial + '&fromLogin=true&client_id=ba-free';
register = 'https://account.ruangguru.com/register?redirect_url=http://kelas.brainacademy.id?eventSerial=' + serial + '&fromLogin=true&client_id=ba-free';
tanggalEvent = hari + ', ' + tanggal + ' ' + bulan + ' ' + tahun;
waktuEvent = jamMulai + ':' + menitMulai + ' - ' + jamAkhir + ':' + menitAkhir;
setLiveTeachingCard(status, title, people, thumbnail, tanggalEvent, waktuEvent, serial, login, register);
}
} else {
$('.kelas-link').hide();
}
};
//CEK URL
function getPageSource() {
var pageSource;
var queryString = window.location.search;
var urlParams = new URLSearchParams(queryString);
var jenjang = urlParams.get('jenjang');
if (jenjang) {
pageSource = jenjang;
} else {
pageSource = null;
}
return pageSource;
}
//POP UP
$('#button-tipe').click(function () {
$('.modalOverlay').addClass('display_none');
});
$('#button-live').click(function () {
$('.modalOverlay').addClass('display_none');
});
$('.kelas-link').click(function () {
$('#modalLive').removeClass('display_none');
});
$('.navbar-jenjang').click(function () {
var navJenjang = $('#navbar-jenjang').attr('data-value');
$('#' + navJenjang).removeClass('display_none');
});
$('.navbar-tipe, #navbar-tier').click(function () {
$('#modalTipe').removeClass('display_none');
});
$('.btn-pilih-tier').click(function () {
var strTier = $(this).attr('data-value');
var valTipeFT = $(this).val();
var valJenjangFT = $('#navbar-option').attr('data-value');
$('#navbar-type, #tier-type').attr('data-value', valTipeFT);
$('#navbar-type, #tier-type').text(strTier);
fetchDataPackage(
'https://gw.ruangguru.com/api/v3/rg-product-package-api/active-packages?tags=brainacademy-online,kelas-utbk,' +
valTipeFT +
'&excludedTags=old-flow,ios&page=1&pageSize=30&includeInstallments=true',
valTipeFT,
'kelas-utbk'
);
$('.modalOverlay').addClass('display_none');
});
$('.modalOverlay').click(function (event) {
if (!$(event.target).closest('.modalPopup').length && !$(event.target).is('modalPopup')) {
$('.modalOverlay').addClass('display_none');
}
});
window.onload = function () {
if (document.referrer) {
$('a.btn-back').attr('href', document.referrer);
} else {
$('a.btn-back').hide();
$('.breadcrumb').css('padding', 0);
}
urlToBreadcrumbs();
var jenjangUrl = 'utbk';
$('#navbar-tier').removeClass('display_none');
$('.tier-regular').addClass('display_none');
$('#tier-type').addClass('kelas-utbk');
fetchDataType('https://gw.ruangguru.com/api/v3/rg-payment-flow-api/payment-flow/PAGE-PackageOptions-v3?tag=brainacademy-online&class=kelas-utbk');
fetchDataPackage(
'https://gw.ruangguru.com/api/v3/rg-product-package-api/active-packages?tags=brainacademy-online,kelas-utbk&excludedTags=old-flow,ios&page=1&pageSize=30&includeInstallments=true',
'brainacademy-premium',
'kelas-utbk'
);
fetchDataLive('https://gw.ruangguru.com/api/v3/brainAcademy/landing-page/tags?showGenericTag=false&reInitCache=false&bypassFilter=false&types=CLASS_BA', 'Basic Skill UTBK');
var iframeVideo = $('#videoIframe');
var urlEmbed = videoURL.video['kelas-utbk'];
if (iframeVideo.length) {
iframeVideo.attr('src', urlEmbed);
}
$('.detail-fitur').css('overflow-y', 'hidden');
};
//WINDOW HEIGHT
var heightOff = 0;
if ($(window).width() < 769) {
heightOff = 100;
} else {
heightOff = 80;
}
//NAVBAR CLICK
$('.btn-navbar').click(function () {
$('.btn-navbar').removeClass('aktif');
$(this).addClass('aktif');
$('html, body').animate(
{
scrollTop: eval($('#' + $(this).attr('target')).offset().top - heightOff),
},
10
);
});
//SELENGKAPNYA CLICK
$('#btn-read').click(function () {
if ($('#text-read').text() == 'Selengkapnya') {
$('#text-read').text('Lihat lebih sedikit');
} else if ($('#text-read').text() == 'Lihat lebih sedikit') {
console.log('sedikit');
$('#text-read').text('Selengkapnya');
}
$('#btn-read img').toggleClass('rotate10');
$('.detail-usp ul').toggleClass('panjang');
});
</script>
<!-- <script>
// select the button
const zendeskButton = document.querySelector('.zendesk-button');
// add the script to the page
const loadZendeskScript = () => {
const idSnippet = document.getElementById('ze-snippet');
if (idSnippet !== null) {
console.log('masuk1');
} else {
console.log('masuk2');
const zenDeskScript = document.createElement('script');
zenDeskScript.id = 'ze-snippet';
zenDeskScript.src =
'https://static.zdassets.com/ekr/snippet.js?key=a2ac30ed-dd6d-47f6-99ba-0d5aeae351a0';
(
document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0] ||
document.getElementsByTagName('script')[0].parentNode
).insertBefore(zenDeskScript, null);
}
};
// a poller that waits for a condition and executes a callback
const poller = (
comparison,
callback,
timerStep = 250,
maxTime = 5000,
) => {
let currTime = 0;
const checkCondition = () => {
// `comparison` is a function so the condition is always up-to-date
if (comparison() === true) {
callback();
} else if (currTime <= maxTime) {
currTime += timerStep;
setTimeout(checkCondition, timerStep);
}
};
checkCondition(); // calling the function
};
// load the script and execute a callback if provided
const loadZendeskChat = (callback) => {
loadZendeskScript();
if (callback) {
callback();
}
};
// this function opens the chat
const openZendeskChat = () => {
poller(
() => {
// check that zendesk-related functions are available
return typeof zE !== 'undefined';
},
() => {
// open the widget
zE('messenger', 'open');
poller(
() => {
// check that the elements exist and that the opacity is already set to "1"
const launcher = document.querySelector('#launcher');
const webWidget = document.querySelector('#webWidget');
return (
launcher !== null &&
webWidget !== null &&
webWidget.style.opacity === '1'
);
},
() => {
// hide the fake button
zendeskButton.style.opacity = '0';
// save in localStorage
localStorage.setItem('zd_hasOpened', 'true');
},
);
},
);
};
// zendesk management
if (localStorage.getItem('zd_hasOpened')) {
// load the zendesk widget if we find that it was opened
loadZendeskChat();
} else {
// show the fake button if it's the first time it shows
zendeskButton.style.opacity = '1';
}
// This will run when the .zendesk-button element is clicked
zendeskButton.addEventListener('click', () => {
// load the zendesk widget
// open the widget and hide the fake button
const btnValue = zendeskButton.getAttribute('target-value');
if (btnValue == 'close') {
loadZendeskChat(openZendeskChat);
zendeskButton.setAttribute('target-value', 'open');
} else {
zE('messenger', 'close');
zendeskButton.setAttribute('target-value', 'close');
}
});
</script> -->
<!-- Generated by the HubSpot Template Builder - template version 1.03 -->
</body>
</html>