#BedahJurusan Bachelor of Commerce (Accounting) – Curtin University Australia

#BedahJurusan Bachelor of Commerce (Accounting) – Curtin University Australia

{
“@context”: “https://schema.org”,
“@type”: “BlogPosting”,
“headline”: “#BedahJurusan Bachelor of Commerce (Accounting) – Curtin University Australia”,
“alternativeHeadline”: “Kuliah di Australia Jurusan Bachelor of Commerce (Accounting) di Curtin University”,
“image”: “https://blog.starshipeducation.com/images/bachelor-of-commerce-accounting-curtin.jpg”,
“editor”: “Starship Education”,
“genre”: [“Edukasi”, “Kuliah di Luar Negeri”, “Beasiswa”],
“keywords”: “kuliah di luar negeri, kuliah di australia, beasiswa, curtin university, #bedahjurusan, Bachelor of Commerce, Accounting, akuntansi, audit, perpajakan, CPA Australia”,
“wordcount”: “2000”,
“publisher”: {
“@type”: “Organization”,
“name”: “Starship Education”,
“logo”: {
“@type”: “ImageObject”,
“url”: “https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhur358R49e0N5abUxn_dMfmait0pvMHnSWI1l1ssV1CPcLq9RV6xO54Ur3RxNIQpxlNNoyFmLpgmuDxGUdwb6qa-0REcB1yhbucaBkBH5gjlHKPYvLbkUeKPbLyB9Bak3iN2oLVDiHgU7zfoBE11KA3mPh-no5OJiXeO3rW1sLv1D1_4wZ5PhLCgei1s/s1080/vehicle%20mechanic.webp”
}
},
“url”: “https://blog.starshipeducation.com/2025/10/bedahjurusan-bachelor-of-commerce-accounting-curtin.html”,
“mainEntityOfPage”: “https://blog.starshipeducation.com/2025/10/bedahjurusan-bachelor-of-commerce-accounting-curtin.html”,
“datePublished”: “2025-10-31”,
“dateModified”: “2025-10-31”,
“author”: {
“@type”: “Organization”,
“name”: “Starship Education”,
“url”: “https://starshipeducation.com”
},
“description”: “Pelajari seluk-beluk jurusan Bachelor of Commerce (Accounting) di Curtin University Australia β€” mulai dari kurikulum, pilihan major, peluang beasiswa, hingga prospek kerja di bidang akuntansi internasional dan pathway ke PR Australia.”
}

.post-body table td {border: none; padding: 15px; text-align: center; }
.post-body table th {border: none; padding: 15px; text-align: center; }
.post-body table {border: none;}
.post-body table thead th {color: white; text-align:center; background-color: blue;}
.widget .post-body li {padding-left:15px; padding-top: 10px;}
.input, select, button {margin-bottom: 0px;}
.item #sidebar-wrapper {display:none;}
.search input[type=”text”] {width:100%}
.item-post .post-body {padding-top:0px;}

:root {
–primary: #0056b3;
–secondary: #e63946;
–light: #f8f9fa;
–dark: #343a40;
–accent: #ffc107;
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: ‘Segoe UI’, Tahoma, Geneva, Verdana, sans-serif;
}

body {
line-height: 1.6;
color: var(–dark);
background-color: #f5f5f5;
}

.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}

.btn {
display: inline-block;
padding: 10px 20px;
background-color: var(–primary);
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
font-weight: 500;
transition: background-color 0.3s;
}

.btn:hover {
background-color: #004494;
}

/* Hero Section */
.hero {
background: white;
background-size: cover;
background-position: center;
color: white;
text-align: center;
padding: 80px 0;
}

.hero h1 {
font-size: 2.5rem;
margin-bottom: 20px;
color: var(–primary);
}

.hero p {
font-size: 1.2rem;
max-width: 700px;
margin: 0 auto 30px;
color: var(–dark);
}

/* Course Info Section */
.course-info {
background-color: white;
padding: 60px 0;
}

.info-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 40px;
}

.course-details {
background-color: var(–light);
padding: 30px;
border-radius: 8px;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.course-details h2 {
color: var(–primary);
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid var(–accent);
}

.course-highlights {
margin: 30px 0;
}

.highlight-item {
display: flex;
align-items: flex-start;
margin-bottom: 15px;
}

.highlight-icon {
background-color: var(–primary);
color: white;
width: 30px;
height: 30px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 15px;
flex-shrink: 0;
}

/* Sidebar */
.sidebar {
background-color: var(–light);
padding: 30px;
border-radius: 8px;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.sidebar h3 {
color: var(–primary);
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid var(–accent);
}

.info-box {
background-color: white;
padding: 20px;
border-radius: 8px;
margin-bottom: 20px;
box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

.info-box h4 {
color: var(–primary);
margin-bottom: 10px;
}

/* Sections */
.section {
}

.section-title {
text-align: center;
margin-bottom: 40px;
}

.section-title h2 {
font-size: 2rem;
margin-bottom: 10px;
color: var(–primary);
}

.section-title p {
max-width: 700px;
margin: 0 auto;
color: var(–dark);
}

/* Career Cards */
.career-cards-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}

.career-card {
background-color: white;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 5px 15px rgba(0,0,0,0.05);
transition: transform 0.3s, box-shadow 0.3s;
}

.career-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.career-card__header {
background-color: var(–primary);
color: white;
padding: 15px 20px;
}

.career-card__body {
padding: 20px;
}

/* Indonesia Section */
.indonesia-section {
background-color: var(–light);
}

.indonesia-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
}

.indonesia-image {
border-radius: 8px;
overflow: hidden;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.indonesia-image img {
width: 100%;
height: auto;
display: block;
}

/* Units/Major Section */
.units-section {
background-color: white;
}

.units-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}

.unit-card {
background-color: var(–light);
padding: 20px;
border-radius: 8px;
box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

.unit-card h4 {
color: var(–primary);
margin-bottom: 10px;
}

/* PR Pathway Section */
.pathway-steps {
display: flex;
flex-direction: column;
gap: 30px;
margin-top: 40px;
}

.step {
display: flex;
align-items: flex-start;
}

.step-number {
background-color: var(–primary);
color: white;
width: 40px;
height: 40px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
margin-right: 20px;
flex-shrink: 0;
}

/* Working While Studying */
.working-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
}

.benefits-list, .regulations-list {
list-style-type: none;
}

.benefits-list li, .regulations-list li {
margin-bottom: 15px;
padding-left: 30px;
position: relative;
}

.benefits-list li:before {
content: “βœ“”;
color: #28a745;
position: absolute;
left: 0;
font-weight: bold;
}

.regulations-list li:before {
content: “!”;
color: var(–secondary);
position: absolute;
left: 0;
font-weight: bold;
}

/* CTA Section */
.cta-section {
background: linear-gradient(to right, var(–primary), #004494);
color: white;
text-align: center;
padding: 80px 0;
}

.cta-section h2 {
font-size: 2.2rem;
margin-bottom: 20px;
}

.cta-section p {
max-width: 700px;
margin: 0 auto 30px;
font-size: 1.1rem;
}

.cta-buttons {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}

.btn-secondary {
background-color: white;
color: var(–primary);
}

.btn-secondary:hover {
background-color: #f0f0f0;
}

/* Responsive */
@media (max-width: 992px) {
.info-grid, .indonesia-content, .working-info {
grid-template-columns: 1fr;
}
}

@media (max-width: 576px) {
.item{
margin:10px;
padding:0px;
}

.container{
padding: 0px;
margin:0px;
}

.hero h1 {
font-size: 2rem;
}

.section-title h2 {
font-size: 1.7rem;
}

.cta-buttons {
flex-direction: column;
align-items: center;
}
}

/* Modern Color Variables */
:root {
–primary: #0056b3;
–primary-light: #4d88ff;
–primary-dark: #003d82;
–secondary: #6c5ce7;
–accent: #00cec9;
–success: #00b894;
–warning: #fdcb6e;
–danger: #ff7675;
–dark: #2d3436;
–light: #f8f9fa;
–gray: #636e72;
–gray-light: #dfe6e9;
}

/* Modern Tab System */
.tabs-navigation {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 40px;
position: relative;
flex-wrap: wrap;
}

.tabs-navigation::before {
content: ”;
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 80%;
height: 2px;
background: linear-gradient(90deg, transparent, var(–gray-light), transparent);
}

.tab-btn {
position: relative;
padding: 18px 30px;
background: white;
border: 2px solid var(–gray-light);
border-radius: 12px;
font-size: 16px;
font-weight: 600;
color: var(–dark);
cursor: pointer;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
display: flex;
align-items: center;
gap: 12px;
z-index: 1;
backdrop-filter: blur(10px);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.tab-btn::before {
content: ”;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, var(–primary), var(–secondary));
border-radius: 10px;
opacity: 0;
transition: opacity 0.3s ease;
z-index: -1;
}

.tab-btn:hover {
transform: translateY(-3px);
border-color: var(–primary-light);
box-shadow: 0 8px 25px rgba(77, 136, 255, 0.2);
color: var(–primary);
}

.tab-btn.active {
background: linear-gradient(135deg, var(–primary), var(–secondary));
color: white;
border-color: transparent;
transform: translateY(-3px);
box-shadow: 0 10px 30px rgba(77, 136, 255, 0.3);
}

.tab-btn.active::before {
opacity: 1;
}

.tab-btn i {
font-size: 18px;
transition: transform 0.3s ease;
}

.tab-btn.active i {
transform: scale(1.1);
}

.tabs-content {
background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
border-radius: 20px;
padding: 40px;
box-shadow:
0 10px 40px rgba(0, 0, 0, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.8);
border: 1px solid rgba(255, 255, 255, 0.2);
position: relative;
overflow: hidden;
}

.tabs-content::before {
content: ”;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(–primary), var(–secondary), var(–accent));
}

.tab-pane {
display: none;
animation: fadeInUp 0.6s ease;
}

.tab-pane.active {
display: block;
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* Modern Unit Cards */
.units-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 30px;
}

.unit-card {
background: white;
border-radius: 16px;
overflow: hidden;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
border: 1px solid rgba(255, 255, 255, 0.2);
position: relative;
box-shadow:
0 5px 20px rgba(0, 0, 0, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.unit-card::before {
content: ”;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
background: linear-gradient(135deg, transparent 0%, rgba(0, 86, 179, 0.05) 100%);
z-index: 0;
}

.unit-card:hover {
transform: translateY(-10px);
box-shadow:
0 15px 35px rgba(0, 86, 179, 0.15),
0 5px 15px rgba(0, 0, 0, 0.08);
}

.unit-header {
background: linear-gradient(135deg, var(–primary), var(–primary-dark));
color: white;
padding: 25px;
position: relative;
overflow: hidden;
}

.unit-header::after {
content: ”;
position: absolute;
top: -50%;
right: -50%;
width: 100%;
height: 200%;
background: linear-gradient(
to right,
transparent 0%,
rgba(255, 255, 255, 0.1) 50%,
transparent 100%
);
transform: rotate(30deg);
}

.unit-year {
font-size: 13px;
opacity: 0.9;
margin-bottom: 8px;
font-weight: 500;
letter-spacing: 0.5px;
display: flex;
align-items: center;
gap: 8px;
}

.unit-card h4 {
color: white;
margin: 0;
font-size: 20px;
font-weight: 700;
position: relative;
z-index: 1;
}

.unit-body {
padding: 25px;
position: relative;
z-index: 1;
}

.unit-body p {
margin-bottom: 12px;
color: var(–dark);
font-size: 14px;
line-height: 1.6;
}

.unit-body strong {
color: var(–primary);
}

.unit-highlight {
background: linear-gradient(135deg, rgba(0, 206, 201, 0.1), rgba(108, 92, 231, 0.1));
border-left: 4px solid var(–accent);
padding: 18px 20px;
margin-top: 20px;
border-radius: 12px;
font-size: 14px;
color: var(–dark);
backdrop-filter: blur(10px);
}

.unit-highlight i {
color: var(–accent);
margin-right: 10px;
font-size: 16px;
}

/* Modern Timeline */
.timeline-container {
max-width: 900px;
margin: 0 auto;
}

.timeline-title {
background: linear-gradient(135deg, var(–primary), var(–secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-align: center;
font-size: 32px;
font-weight: 800;
margin-bottom: 10px;
}

.timeline-subtitle {
text-align: center;
color: var(–gray);
margin-bottom: 40px;
font-size: 16px;
position: relative;
display: inline-block;
left: 50%;
transform: translateX(-50%);
padding: 8px 20px;
background: rgba(108, 92, 231, 0.1);
border-radius: 20px;
}

.timeline {
position: relative;
padding: 20px 0;
}

.timeline::before {
content: ”;
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 0;
bottom: 0;
width: 4px;
background: linear-gradient(to bottom,
var(–primary) 0%,
var(–secondary) 25%,
var(–accent) 50%,
var(–success) 75%,
var(–warning) 100%
);
border-radius: 4px;
}

.timeline-step {
position: relative;
margin-bottom: 60px;
width: 45%;
background: white;
border-radius: 20px;
padding: 25px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow:
0 8px 25px rgba(0, 0, 0, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.6);
transition: transform 0.3s ease;
}

.timeline-step:hover {
transform: translateY(-5px);
box-shadow: 0 12px 30px rgba(0, 86, 179, 0.15);
}

.timeline-step:nth-child(odd) {
margin-left: 55%;
}

.timeline-step:nth-child(even) {
margin-left: 0;
}

.timeline-marker {
position: absolute;
width: 60px;
height: 60px;
background: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow:
0 0 0 4px white,
0 5px 15px rgba(0, 0, 0, 0.2);
z-index: 2;
transition: all 0.3s ease;
}

.timeline-step:nth-child(odd) .timeline-marker {
left: -85px;
top: 25px;
}

.timeline-step:nth-child(even) .timeline-marker {
right: -85px;
top: 25px;
}

.timeline-number {
width: 44px;
height: 44px;
background: linear-gradient(135deg, var(–primary), var(–secondary));
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 18px;
}

.timeline-date {
position: absolute;
top: -30px;
font-size: 13px;
font-weight: 600;
color: var(–primary);
background: rgba(0, 86, 179, 0.1);
padding: 5px 12px;
border-radius: 15px;
white-space: nowrap;
}

.timeline-step:nth-child(odd) .timeline-date {
left: 25px;
}

.timeline-step:nth-child(even) .timeline-date {
right: 25px;
}

.timeline-content h4 {
color: var(–primary);
margin-bottom: 15px;
font-size: 20px;
font-weight: 700;
display: flex;
align-items: center;
gap: 10px;
}

.timeline-content ul {
list-style: none;
padding-left: 0;
margin-bottom: 20px;
}

.timeline-content li {
padding: 8px 0;
color: var(–dark);
display: flex;
align-items: center;
gap: 12px;
transition: transform 0.2s ease;
}

.timeline-content li:hover {
transform: translateX(5px);
}

.timeline-content li i {
color: var(–success);
font-size: 14px;
width: 20px;
}

.timeline-status {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 10px 20px;
border-radius: 25px;
font-size: 14px;
font-weight: 600;
margin-top: 15px;
background: linear-gradient(135deg, var(–accent), var(–success));
color: white;
animation: pulse 2s infinite;
}

@keyframes pulse {
0% { box-shadow: 0 0 0 0 rgba(0, 206, 201, 0.4); }
70% { box-shadow: 0 0 0 10px rgba(0, 206, 201, 0); }
100% { box-shadow: 0 0 0 0 rgba(0, 206, 201, 0); }
}

.timeline-deadline {
background: linear-gradient(135deg, rgba(255, 118, 117, 0.1), rgba(253, 203, 110, 0.1));
padding: 12px 18px;
border-radius: 12px;
margin-top: 15px;
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 14px;
color: var(–danger);
font-weight: 600;
border: 2px solid rgba(255, 118, 117, 0.2);
}

.timeline-actions {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 50px;
}

.btn-timeline {
padding: 15px 30px;
background: linear-gradient(135deg, var(–primary), var(–secondary));
color: white;
border: none;
border-radius: 12px;
cursor: pointer;
font-weight: 600;
font-size: 15px;
display: flex;
align-items: center;
gap: 12px;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
position: relative;
overflow: hidden;
z-index: 1;
}

.btn-timeline::before {
content: ”;
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.6s;
z-index: -1;
}

.btn-timeline:hover {
transform: translateY(-3px);
box-shadow: 0 10px 25px rgba(108, 92, 231, 0.3);
}

.btn-timeline:hover::before {
left: 100%;
}

/* Modern Calculator */
.calculator-container {
max-width: 1200px;
margin: 0 auto;
}

.calculator-title {
background: linear-gradient(135deg, var(–primary), var(–secondary), var(–accent));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-align: center;
font-size: 36px;
font-weight: 800;
margin-bottom: 15px;
}

.calculator-subtitle {
text-align: center;
color: var(–gray);
margin-bottom: 40px;
font-size: 17px;
}

.calculator-grid {
display: grid;
grid-template-columns: 1fr 1.2fr;
gap: 40px;
align-items: start;
}

@media (max-width: 992px) {
.calculator-grid {
grid-template-columns: 1fr;
}
}

.calculator-inputs {
background: white;
padding: 30px;
border-radius: 20px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow:
0 8px 25px rgba(0, 0, 0, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.6);
position: sticky;
top: 20px;
}

.calc-form-group {
margin-bottom: 25px;
}

.calc-form-group label {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 10px;
font-weight: 600;
color: var(–dark);
font-size: 15px;
}

.calc-form-group label i {
color: var(–primary);
font-size: 18px;
}

.calc-input {
width: 100%;
padding: 14px 18px;
border: 2px solid var(–gray-light);
border-radius: 12px;
font-size: 15px;
background: white;
transition: all 0.3s ease;
font-weight: 500;
}

.calc-input:focus {
outline: none;
border-color: var(–primary-light);
box-shadow: 0 0 0 4px rgba(77, 136, 255, 0.1);
transform: translateY(-1px);
}

.input-with-info {
position: relative;
}

.input-info {
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
color: var(–primary);
font-size: 13px;
font-weight: 600;
background: rgba(0, 86, 179, 0.1);
padding: 4px 10px;
border-radius: 8px;
}

.slider-container {
margin-top: 15px;
padding: 0 5px;
}

.calc-slider {
width: 100%;
height: 8px;
border-radius: 4px;
background: linear-gradient(90deg, var(–gray-light), var(–primary-light));
outline: none;
-webkit-appearance: none;
cursor: pointer;
}

.calc-slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 24px;
height: 24px;
border-radius: 50%;
background: linear-gradient(135deg, var(–primary), var(–secondary));
cursor: pointer;
border: 3px solid white;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
transition: transform 0.2s ease;
}

.calc-slider::-webkit-slider-thumb:hover {
transform: scale(1.1);
}

.slider-labels {
display: flex;
justify-content: space-between;
margin-top: 8px;
font-size: 13px;
color: var(–gray);
font-weight: 500;
}

.btn-calculate {
width: 100%;
padding: 18px;
background: linear-gradient(135deg, var(–success), var(–accent));
color: white;
border: none;
border-radius: 12px;
font-size: 17px;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
margin-top: 10px;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
position: relative;
overflow: hidden;
}

.btn-calculate:hover {
transform: translateY(-3px);
box-shadow: 0 10px 25px rgba(0, 184, 148, 0.3);
}

.btn-reset {
width: 100%;
padding: 15px;
background: linear-gradient(135deg, var(–gray), var(–dark));
color: white;
border: none;
border-radius: 12px;
font-size: 15px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-top: 12px;
transition: all 0.3s ease;
}

.btn-reset:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(45, 52, 54, 0.2);
}

.calculator-results {
background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
border-radius: 20px;
padding: 35px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow:
0 8px 25px rgba(0, 0, 0, 0.08),
inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.results-header {
text-align: center;
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 2px solid rgba(0, 86, 179, 0.1);
}

.results-header h4 {
background: linear-gradient(135deg, var(–primary), var(–secondary));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 8px;
font-size: 24px;
font-weight: 700;
}

.results-header p {
color: var(–gray);
font-size: 15px;
}

.results-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
margin-bottom: 30px;
}

.result-item {
background: white;
padding: 22px;
border-radius: 16px;
border: 1px solid rgba(255, 255, 255, 0.2);
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.result-item:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(0, 86, 179, 0.1);
}

.result-item.total-cost {
background: linear-gradient(135deg, rgba(0, 86, 179, 0.1), rgba(108, 92, 231, 0.1));
border: 2px solid rgba(0, 86, 179, 0.2);
grid-column: span 2;
}

.result-item.final-cost {
background: linear-gradient(135deg, rgba(0, 184, 148, 0.1), rgba(0, 206, 201, 0.1));
border: 2px solid rgba(0, 184, 148, 0.2);
grid-column: span 2;
animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
from {
box-shadow: 0 0 20px rgba(0, 184, 148, 0.1);
}
to {
box-shadow: 0 0 30px rgba(0, 184, 148, 0.2);
}
}

.result-label {
font-size: 14px;
color: var(–gray);
margin-bottom: 8px;
font-weight: 500;
display: flex;
align-items: center;
gap: 8px;
}

.result-value {
font-size: 22px;
font-weight: 700;
color: var(–dark);
margin-bottom: 5px;
}

.result-subtext {
font-size: 13px;
color: var(–primary);
font-weight: 500;
}

.results-breakdown {
background: white;
padding: 25px;
border-radius: 16px;
margin-bottom: 25px;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.results-breakdown h5 {
color: var(–dark);
margin-bottom: 20px;
font-size: 18px;
font-weight: 700;
display: flex;
align-items: center;
gap: 12px;
}

.breakdown-list {
display: flex;
flex-direction: column;
gap: 15px;
}

.breakdown-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 20px;
background: linear-gradient(135deg, rgba(248, 249, 250, 0.5), white);
border-radius: 12px;
border: 1px solid rgba(0, 86, 179, 0.1);
transition: all 0.3s ease;
}

.breakdown-item:hover {
transform: translateX(5px);
border-color: var(–primary-light);
}

.results-actions {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 15px;
margin-bottom: 25px;
}

.btn-save, .btn-share {
padding: 15px;
border: none;
border-radius: 12px;
font-size: 15px;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.btn-save {
background: linear-gradient(135deg, var(–success), #00a085);
color: white;
}

.btn-save:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(0, 184, 148, 0.3);
}

.btn-share {
background: linear-gradient(135deg, var(–secondary), #5b4bd4);
color: white;
}

.btn-share:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(108, 92, 231, 0.3);
}

.results-note {
background: linear-gradient(135deg, rgba(253, 203, 110, 0.1), rgba(255, 193, 7, 0.05));
border: 2px solid rgba(253, 203, 110, 0.3);
padding: 20px;
border-radius: 12px;
font-size: 14px;
color: #856404;
line-height: 1.6;
}

.results-note i {
color: #ffc107;
margin-right: 10px;
font-size: 16px;
}

/* Floating Animation */
@keyframes float {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(-10px);
}
}

.floating {
animation: float 3s ease-in-out infinite;
}

/* Responsive Design */
@media (max-width: 768px) {
.tabs-navigation {
flex-direction: column;
gap: 10px;
}

.tab-btn {
width: 100%;
justify-content: center;
}

.timeline-step {
width: 90%;
margin: 0 auto 40px !important;
}

.timeline::before {
left: 30px;
}

.timeline-marker {
left: -55px !important;
right: auto !important;
}

.timeline-date {
left: 25px !important;
right: auto !important;
}

.results-grid {
grid-template-columns: 1fr;
}

.result-item.total-cost,
.result-item.final-cost {
grid-column: span 1;
}

.calculator-inputs {
position: static;
}
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: ‘Segoe UI’, Tahoma, Geneva, Verdana, sans-serif;
}

body {
background-color: #f5f7fa;
color: #333;
padding: 20px;
}

.app {
max-width: 1200px;
margin: 0 auto;
}

.app__header {
text-align: center;
margin-bottom: 30px;
padding: 20px;
background: linear-gradient(135deg, #2c3e50, #4a6491);
color: white;
border-radius: 10px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.app__title {
font-size: 2.5rem;
margin-bottom: 10px;
}

.app__description {
font-size: 1.1rem;
max-width: 800px;
margin: 0 auto;
line-height: 1.6;
}

.highlight {
background-color: #ffeb3b;
color: #333;
padding: 2px 6px;
border-radius: 4px;
font-weight: bold;
}

.controls {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
flex-wrap: wrap;
gap: 15px;
transition: all 0.3s ease;
}

.search {
flex: 1;
min-width: 300px;
}

.search__input {
width: 100%;
padding: 12px 15px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 1rem;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
margin-bottom:0px;
}

.filters {
display: flex;
gap: 15px;
flex-wrap: wrap;
transition: all 0.3s ease;
}

.filter {
padding: 12px 15px;
border: 1px solid #ddd;
border-radius: 8px;
background-color: white;
font-size: 1rem;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.table-container {
background-color: white;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
margin-bottom: 20px;
overflow-x: auto;
}

.courses {
width: 100%;
border-collapse: collapse;
min-width: 800px;
}

.courses__header, .courses__data {
padding: 16px 20px;
text-align: left;
border-bottom: 1px solid #eee;
}

.courses__header {
background-color: #4a6491;
color: white;
font-weight: 600;
cursor: pointer;
}

.courses__header:hover {
background-color: #3a547e;
}

.courses__row:nth-child(even) {
background-color: #f9fafb;
}

.courses__row:hover {
background-color: #f1f5f9;
}

.courses__col–logo {
}

.courses__logo {
width: 50px;
height: 50px;
object-fit: contain;
border-radius: 5px;
background-color: #f5f7fa;
padding: 5px;
}

.actions {
justify-content: center;
display: flex;
gap: 8px;
}

.btn–whatsapp {
padding: 10px 15px;
background-color: #25D366;
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
transition: background-color 0.2s;
text-decoration: none;
font-size: 14px;
}

.btn–whatsapp:hover {
background-color: #128C7E;
}

.btn–apply {
padding: 10px 15px;
background-color: #4a6491;
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
transition: background-color 0.2s;
text-decoration: none;
font-size: 14px;
}

.btn–apply:hover {
background-color: #3a547e;
}

.pagination {
display: flex;
justify-content: center;
align-items: center;
gap: 15px;
margin-top: 20px;
flex-wrap: wrap;
}

.pagination__btn {
padding: 10px 18px;
background-color: white;
border: 1px solid #ddd;
border-radius: 6px;
cursor: pointer;
font-weight: 600;
transition: all 0.2s;
}

.pagination__btn:hover:not(:disabled) {
background-color: #4a6491;
color: white;
border-color: #4a6491;
}

.pagination__btn–active {
background-color: #4a6491;
color: white;
border-color: #4a6491;
}

.pagination__btn:disabled {
opacity: 0.5;
cursor: not-allowed;
}

.pagination__pages {
display: flex;
gap: 8px;
}

.state–loading {
text-align: center;
padding: 40px;
font-size: 1.2rem;
color: #666;
}

.state–error {
text-align: center;
padding: 40px;
color: #e74c3c;
font-size: 1.1rem;
}

.state–empty {
text-align: center;
padding: 40px;
color: #7f8c8d;
font-size: 1.1rem;
}

/* Modal styles */
.modal {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.7);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}

.modal–visible {
opacity: 1;
visibility: visible;
}

.modal__content {
background-color: white;
width: 90%;
max-width: 600px;
border-radius: 10px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
overflow: hidden;
max-height: 90vh;
overflow-y: auto;
}

.modal__header {
padding: 20px;
background: linear-gradient(135deg, #2c3e50, #4a6491);
color: white;
display: flex;
justify-content: space-between;
align-items: center;
}

.modal__title {
font-size: 1.5rem;
font-weight: 600;
}

.btn–close {
background: none;
border: none;
color: white;
font-size: 1.5rem;
cursor: pointer;
}

.modal__body {
padding: 20px;
}

.info {
margin-bottom: 15px;
}

.info__title {
font-size: 16px;
margin-bottom: 8px;
color: #4a6491;
display: flex;
align-items: center;
}

.info__title i {
margin-right: 10px;
}

.info__content {
font-size: 14px;
color: #333;
line-height: 1.6;
padding-left: 30px;
}

.links {
display: flex;
gap: 10px;
margin: 25px 0;
flex-wrap: wrap;
}

.link {
flex: 1;
min-width: 120px;
padding: 10px;
border-radius: 8px;
background-color: rgba(72, 149, 239, 0.1);
color: #4a6491;
text-align: center;
text-decoration: none;
font-weight: 500;
font-size: 14px;
transition: all 0.2s;
display: flex;
align-items: center;
justify-content: center;
}

.link i {
margin-right: 8px;
}

.link:hover {
background-color: #4a6491;
color: white;
transform: translateY(-2px);
}

.btn–expand {
width: 100%;
padding: 12px 20px;
background-color: #4a6491;
color: white;
border: none;
border-radius: 8px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 20px;
}

.btn–expand:hover {
background-color: #3a547e;
}

.btn–expand i {
transition: all 0.2s;
}

.btn–expand.active i {
transform: rotate(180deg);
}

.expandable {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
}

.expandable–visible {
max-height: 1000px;
}

.form {
margin-top: 20px;
padding: 20px;
background-color: rgba(0, 0, 0, 0.02);
border-radius: 8px;
}

.form__group {
margin-bottom: 15px;
}

.form__label {
display: block;
margin-bottom: 8px;
font-size: 14px;
font-weight: 500;
color: #333;
}

.form__input {
width: 100%;
padding: 10px 15px;
border: 1px solid #ddd;
border-radius: 8px;
font-size: 14px;
transition: all 0.2s;
background-color: white;
color: #333;
}

.form__input:focus {
outline: none;
border-color: #4a6491;
box-shadow: 0 0 0 3px rgba(74, 100, 145, 0.2);
}

.form__input–readonly {
background-color: rgba(0, 0, 0, 0.05);
color: #333;
}

.btn–submit {
width: 100%;
padding: 12px;
background-color: #4caf50;
color: white;
border: none;
border-radius: 8px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
margin-top: 10px;
}

.btn–submit:hover {
background-color: #3d8b40;
}

/* Filter info styles */
.filter-info {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #f0f4f8;
padding: 12px 20px;
border-radius: 8px;
margin-bottom: 20px;
border-left: 4px solid #4a6491;
}

.filter-info__text {
font-size: 1rem;
color: #4a6491;
font-weight: 500;
}

.filter-info__count {
background-color: #4a6491;
color: white;
padding: 4px 12px;
border-radius: 20px;
font-weight: 600;
font-size: 0.9rem;
}

/* Perbaikan untuk layar di atas 500px */
@media (min-width: 501px) {
.controls {
flex-direction: column;
align-items: stretch;
}

.filters {
width: 100%;
display: flex;
justify-content: flex-start;
gap: 15px;
flex-wrap: nowrap;
align-items: center;
}

.search {
width: 100%;
min-width: 100%;
}

.search__input {
width: 100%;
}

.filter {
flex: 1;
min-width: 200px;
}
}

/* Untuk layar sangat kecil (di bawah 501px) */
@media (max-width: 500px) {
.controls {
flex-direction: column;
}

.filters {
flex-direction: column;
width: 100%;
}

.filter {
width: 100%;
}
}

/* Untuk layar sangat besar (di atas 1200px) */
@media (min-width: 1200px) {
.filters {
justify-content: flex-start;
}

.filter {
min-width: 220px;
}
}

@media (max-width: 768px) {
.controls {
flex-direction: column;
}

.search, .filters {
width: 100%;
}

.filter {
flex: 1;
}

.courses__header, .courses__data {
padding: 12px 15px;
}

.actions {
flex-direction: column;
}

.btn–whatsapp, .btn–apply {
font-size: 12px;
padding: 8px 12px;
}

.links {
flex-direction: column;
}

.link {
width: 100%;
}
}

/* Debug info */
.debug-info {
background-color: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 5px;
padding: 10px;
margin-top: 10px;
font-size: 12px;
color: #6c757d;
}

:root {
–primary: #1e3a8a;
–secondary: #2563eb;
–bg: #f8fafc;
–card: #ffffff;
–text: #0f172a;
–muted: #64748b;
}

body {
font-family: ‘Inter’, system-ui, sans-serif;
background: var(–bg);
margin: 0;
padding: 40px 20px;
color: var(–text);
}

.container {
max-width: 1100px;
margin: auto;
}

h1 {
text-align: center;
margin-bottom: 10px;
}

.subtitle {
text-align: center;
color: var(–muted);
margin-bottom: 40px;
}

.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
}

.card {
background: var(–card);
border-radius: 16px;
padding: 24px;
box-shadow: 0 10px 25px rgba(0,0,0,0.06);
display: flex;
flex-direction: column;
justify-content: space-between;
width:100%;
}

.card h3 a {
text-decoration: none;
color: var(–primary);
font-size: 18px;
}

.card h3 a:hover {
text-decoration: underline;
}

.badge {
display: inline-block;
background: #e0e7ff;
color: #1e40af;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
margin-bottom: 12px;
width: fit-content;
}

.value {
font-weight: 600;
margin: 10px 0;
}

.desc {
color: var(–muted);
font-size: 14px;
margin-bottom: 20px;
}

.cta {
margin-top: auto;
}

.cta button {
width: 100%;
padding: 12px;
border-radius: 10px;
border: none;
background: linear-gradient(135deg, var(–secondary), var(–primary));
color: white;
font-size: 14px;
font-weight: 600;
cursor: pointer;
}

.cta button:hover {
opacity: 0.9;
}

/* FAQ Section */
.faq-wrapper {
margin-top: 3rem;
}

.faq-element {
margin-bottom: 1.5rem;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03);
}

.faq-question {
width: 100%;
padding: 1.5rem;
text-align: left;
background-color: #f8fafc;
border: 1px solid #e2e8f0;
cursor: pointer;
font-size: 1.1rem;
font-weight: 600;
color: #1a365d;
display: flex;
justify-content: space-between;
align-items: center;
transition: background-color 0.3s ease;
}

.faq-question:hover {
background-color: #edf2f7;
}

.faq-answer {
padding: 0;
max-height: 0;
overflow: hidden;
background-color: white;
border-left: 1px solid #e2e8f0;
border-right: 1px solid #e2e8f0;
transition: all 0.4s ease;
}

.faq-answer.active {
padding: 1.5rem;
max-height: 500px;
border-bottom: 1px solid #e2e8f0;
color:black;
}

.faq-icon {
transition: transform 0.3s ease;
}

.faq-element.active .faq-icon {
transform: rotate(180deg);
}

.rp-container {
max-width: 1400px;
margin: 0 auto;
padding: 20px;
}

.rp-header {
text-align: center;
margin-bottom: 40px;
}

.rp-main-title {
font-size: 2.5rem;
font-weight: 600;
color: var(–dark);
margin-bottom: 10px;
position: relative;
display: inline-block;
}

.rp-subtitle {
color: #666;
font-size: 1.1rem;
max-width: 600px;
margin: 20px auto 0;
line-height: 1.6;
}

.rp-cards-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 30px;
}

.rp-card {
background: #fff;
border-radius: 16px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
display: flex;
flex-direction: column;
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
transform: translateY(0);
position: relative;
height: 100%;
}

.rp-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 40px rgba(67, 97, 238, 0.15);
}

.rp-card::before {
content: ”;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 5px;
background: linear-gradient(90deg, var(–primary), var(–accent));
opacity: 0;
transition: 0.3s ease;
}

.rp-card:hover::before {
opacity: 1;
}

.rp-card-img-container {
overflow: hidden;
position: relative;
height: 220px;
}

.rp-card-img {
width: 100%;
height: 180%;
object-fit: cover;
transition: transform 0.3s ease;
}

.rp-card:hover .rp-card-img {
transform: scale(1.05);
}

.rp-card-content {
padding: 25px;
flex: 1;
display: flex;
flex-direction: column;
}

.rp-card-title {
font-size: 1rem;
font-weight: 600;
margin: 0 0 15px;
color: var(–dark);
line-height: 1.4;
transition: color 0.3s ease;
text-align: center;
}

.rp-card:hover .rp-card-title {
color: var(–primary);
}

.rp-read-more {
margin-top: auto;
text-align: center;
color: white;
background-color: #007bff;
border-radius: 50px;
}

.rp-read-more-link {
display: inline-flex;
align-items: center;
text-decoration: none;
color: white;
font-weight: 500;
transition: color 0.3s ease;
padding: 8px 0;
font-size: 1.1rem;
}

.rp-read-more-link:hover {
color: #f0f0f0;
}

/* Loader */
.rp-loader {
display: flex;
justify-content: center;
padding: 40px 0;
grid-column: 1 / -1;
}

.rp-loader-dot {
width: 12px;
height: 12px;
background: var(–primary);
border-radius: 50%;
margin: 0 5px;
animation: rp-loader 1.2s infinite ease-in-out both;
}

.rp-loader-dot:nth-child(1) { animation-delay: -0.32s; }
.rp-loader-dot:nth-child(2) { animation-delay: -0.16s; }

@keyframes rp-loader {
0%, 80%, 100% { transform: scale(0); }
40% { transform: scale(1); }
}

.rp-no-posts {
text-align: center;
color: #666;
padding: 40px 0;
font-size: 1.2rem;
grid-column: 1 / -1;
}

@media (min-width: 1600px) {
.rp-cards-container {
grid-template-columns: repeat(3, 1fr);
}

.rp-card-img-container {
height: 250px;
}

.rp-card-content {
padding: 30px;
}

.rp-card-title {
font-size: 1.5rem;
}
}

@media (max-width: 1199px) {
.rp-cards-container {
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.rp-card-img-container {
height: 200px;
}
}

@media (max-width: 768px) {
.rp-main-title {
font-size: 2rem;
}

.rp-cards-container {
grid-template-columns: 1fr;
max-width: 500px;
margin: 0 auto;
}
}

Bachelor of Commerce (Accounting) – Curtin University Australia

Kembangkan keterampilan akuntansi dan keuangan untuk karir sukses di industri keuangan global dengan gelar bergengsi dari Curtin University yang diakui CPA Australia dan CA ANZ.

Daftar Sekarang

Tentang Program Accounting

Bachelor of Commerce dengan major Accounting di Curtin University menawarkan pendidikan akuntansi komprehensif yang dirancang untuk membekali mahasiswa dengan keterampilan analitis, pengetahuan teoritis mendalam, dan pengalaman praktis yang sangat dibutuhkan di industri akuntansi global dan pasar keuangan.

βœ“

Akreditasi Profesional Elite

Curtin Business School memiliki akreditasi EQUIS dan AACSB, dan program Accounting diakui oleh CPA Australia dan CA ANZ.

βœ“

Pathway ke PR Australia

Profesi Accountant termasuk dalam MLTSSL (Medium and Long-term Strategic Skills List) Australia, membuka peluang untuk Permanent Residence.

βœ“

Pengalaman Capstone Terintegrasi

Program magang, proyek konsultasi bisnis, dan pengalaman internasional di India atau negara mitra lainnya.

Keunggulan Program Accounting

Program ini membekali lulusan dengan pemahaman mendalam tentang prinsip akuntansi, audit, perpajakan, dan pelaporan keuangan. Kurikulum dirancang dengan integrasi dunia kerja melalui penggunaan alat industri nyata dan kesiapan untuk sertifikasi profesional.

Struktur Program Accounting

Perjalanan belajar 3 tahun dengan fokus pada pengembangan keterampilan akuntansi praktis dan persiapan sertifikasi profesional




Tahun 1

Fondasi Bisnis & Akuntansi

Semester 1: Principles of Economics, Business Information Systems, Accounting, Marketing

Semester 2: Business Law, Business Statistics, Financial Accounting, Management

Keterampilan yang dikembangkan: Dasar-dasar akuntansi, analisis data, pemahaman prinsip bisnis

Tahun 2

Spesialisasi Akuntansi

Semester 3: Management Accounting, Company Accounting, Accounting Information Systems

Semester 4: Taxation, Auditing, Corporate Accounting

Keterampilan yang dikembangkan: Akuntansi manajemen, perpajakan, audit, sistem informasi akuntansi

Tahun 3

Pengalaman Capstone & Electives

Semester 5: Advanced Financial Accounting, Accounting Theory, Elective 1

Semester 6: Capstone Project, Business Internship, Elective 2

Pengalaman praktis: Magang industri, proyek konsultasi, persiapan sertifikasi profesional

Pilihan

Major & Electives

Pilihan Major: Accounting, Finance, Taxation, Audit Analytics

Electives Populer: Business Analytics, Forensic Accounting, International Accounting

Customisasi: Double major dengan Finance atau specialisation sesuai minat karir

Timeline Aplikasi ke Curtin University

Persiapan optimal untuk intake 2026

1

Sekarang – 6 Bulan Sebelum

Persiapan Awal & Riset

  • Riset program dan persyaratan masuk
  • Persiapan bahasa Inggris (IELTS/TOEFL)
  • Konsultasi dengan agen pendidikan
  • Kumpulkan dokumen akademik

2

5-4 Bulan Sebelum

Pengajuan Aplikasi

  • Submit aplikasi online melalui agen
  • Kirim dokumen akademik diterjemahkan
  • Submit hasil tes bahasa Inggris
  • Siapkan personal statement

3

3-2 Bulan Sebelum

Menerima Offer & COE

  • Terima Letter of Offer (2-4 minggu)
  • Bayar deposit tuition fee
  • Terima Confirmation of Enrolment (COE)
  • Pesan tiket penerbangan awal

4

2-1 Bulan Sebelum

Pengajuan Visa & Persiapan Berangkat

  • Ajukan visa pelajar (subclass 500)
  • Medical check-up untuk visa
  • Atur akomodasi di Perth
  • Persiapan keberangkatan
Visa processing: 4-8 minggu

5

2 Minggu Sebelum

Orientation & Mulai Kuliah

  • Tiba di Australia sebelum orientation
  • Ikuti orientation week
  • Daftar mata kuliah (enrollment)
  • Mulai kuliah
Tiba minimal 2 minggu sebelum orientation


Kalkulator Biaya Studi di Curtin University

Estimasi biaya kuliah dan hidup selama studi Accounting di Australia

3 Tahun (Standard)
2 Tahun (Accelerated)
4 Tahun (Dengan Honours)

$38,000

$30k
$45k

Ekonomis ($21,000)
Standar ($25,000)
Nyaman ($30,000)
Premium ($35,000)

Tidak ada
10% ($5,000)
20% ($10,000)
30% ($15,000)
50% ($20,000)

Tidak bekerja
10 jam/minggu ($8,000/tahun)
20 jam/minggu ($15,000/tahun)
40 jam liburan ($20,000/tahun)

Ringkasan Biaya Studi

Estimasi untuk program Bachelor of Commerce (Accounting)

Total Biaya Kuliah
AUD $114,000
IDR 1.197M

Total Biaya Hidup
AUD $75,000
IDR 787.5M

Total Biaya Studi
AUD $189,000
IDR 1.984M

Pengurangan (Beasiswa)
AUD $0
IDR 0

Penghasilan Part-time
AUD $0
IDR 0

Biaya Bersih yang Dibutuhkan
AUD $189,000
IDR 1.984M

Breakdown Per Tahun
Tahun 1
AUD $63,000
Tahun 2
AUD $63,000
Tahun 3
AUD $63,000


Catatan: Estimasi ini berdasarkan asumsi standar. Biaya aktual dapat berbeda tergantung perubahan kurs, inflasi, dan pilihan gaya hidup.

Beasiswa Curtin University

Program Bachelor of Commerce (Accounting) – Mahasiswa Internasional

Mengapa Program Accounting Cocok untuk Mahasiswa Indonesia?

Program ini menawarkan keunggulan khusus bagi mahasiswa Indonesia yang ingin berkarier di sektor akuntansi dan keuangan global

Keunggulan untuk Mahasiswa Indonesia

Bachelor of Commerce (Accounting) di Curtin University sangat direkomendasikan untuk mahasiswa Indonesia karena:

  • Relevansi dengan Pasar Indonesia: Keterampilan akuntansi global dapat diterapkan di industri keuangan Indonesia yang sedang berkembang pesat.
  • Akreditasi Elite & Profesional: EQUIS, AACSB, dan pengakuan CPA Australia/CA ANZ diakui perusahaan multinasional dan firma akuntansi global.
  • Pathway ke PR Australia: Profesi Accountant termasuk dalam MLTSSL, membuka peluang Permanent Residence yang lebih jelas.
  • Jaringan Global: Membangun koneksi dengan mahasiswa dari berbagai negara dan alumni sukses di Big 4 dan perusahaan multinasional.
  • Prospek Karir Luas: Peluang di firma akuntansi (Big 4), perbankan, perusahaan korporasi, dan sektor publik baik di Indonesia maupun internasional.
Mahasiswa jurusan accounting

Pathway ke Permanent Residency

Program Accounting adalah salah satu jalur terbaik menuju Permanent Residency di Australia

Mengapa Accounting menjadi jalur PR yang kuat?

Profesi Accountant (ANZSCO 221111) secara konsisten tercantum dalam Medium and Long-term Strategic Skills List (MLTSSL) Australia. Gelar Accounting dari Curtin yang diakui CPA Australia/CA ANZ memberikan dasar kuat untuk skills assessment dan proses PR.

Pathway yang Mungkin:

1

Menyelesaikan Program Accounting

Selesaikan Bachelor of Commerce (Accounting) selama 3 tahun dengan pengalaman capstone terintegrasi dan persiapan sertifikasi.

2

Post-Study Work Visa (485)

Dapatkan Temporary Graduate Visa (subclass 485) yang memungkinkan kerja di Australia selama 2-4 tahun setelah lulus.

3

Pengalaman Kerja & Skills Assessment

Dapatkan pengalaman kerja profesional di bidang akuntansi dan selesaikan skills assessment melalui CPA Australia atau CA ANZ.

4

Kumpulkan Poin Imigrasi

Kumpulkan poin berdasarkan usia, pengalaman kerja, kemampuan bahasa Inggris, kualifikasi, dan faktor lainnya.

5

Mengajukan Skilled Visa

Ajukan visa seperti Skilled Independent (189), Skilled Nominated (190), atau Skilled Work Regional (491) jika memenuhi syarat.

Penting untuk Accounting Graduates:

Proses PR memerlukan persiapan matang termasuk skills assessment positif dari badan profesional, pengalaman kerja relevan, dan skor bahasa Inggris yang baik. Selalu periksa informasi terbaru dari Department of Home Affairs Australia dan konsultasikan dengan migration agent terdaftar.

Prospek Karir Accounting

Peluang karir yang tersedia setelah menyelesaikan program Accounting

Accountant

Menyiapkan laporan keuangan, analisis biaya, dan saran keuangan untuk individu atau organisasi.

Gaji rata-rata: AUD $65,000 – $95,000 per tahun

Auditor

Memeriksa dan mengevaluasi catatan keuangan organisasi untuk memastikan kepatuhan dan akurasi.

Gaji rata-rata: AUD $70,000 – $110,000 per tahun

Tax Consultant

Memberikan saran perpajakan, menyiapkan pengembalian pajak, dan mewakili klien dalam masalah pajak.

Gaji rata-rata: AUD $75,000 – $105,000 per tahun

Financial Analyst

Analisis data keuangan untuk mendukung pengambilan keputusan bisnis dan investasi.

Gaji rata-rata: AUD $80,000 – $120,000 per tahun

Industri yang Tersedia:

Firma Akuntansi (Big 4)
Perbankan & Keuangan
Perusahaan Korporasi
Sektor Publik & Pemerintah
Konsultasi Bisnis
Startup & Fintech

Pengalaman Capstone & Internasional

Pengalaman praktis yang ditawarkan dalam program Accounting

Pilihan Pengalaman Capstone

  • Business Internship: Magang langsung di organisasi mitra dengan bimbingan akademik dan profesional.
  • Business Engagement (India): Program magang imersif di Bangalore, India dengan kunjungan budaya dan proyek bisnis.
  • Business Clinic: Berperan sebagai konsultan bisnis untuk individu, organisasi kecil, dan startup.
  • International Experience: Belajar kursus singkat di mitra pertukaran pelajar internasional Curtin.

Manfaat Pengalaman Praktis

  • Keterampilan Nyata: Aplikasi teori akuntansi dalam situasi bisnis dunia nyata.
  • Jaringan Profesional: Membangun koneksi dengan industri selama magang dan proyek.
  • Perspektif Global: Pengalaman internasional memperluas wawasan bisnis global.
  • Kesiapan Karir: Portofolio pengalaman praktis yang meningkatkan employability.
  • Persiapan Sertifikasi: Pengalaman praktis mendukung persiapan untuk CPA/CA certification.

Persiapan Sertifikasi Profesional

Program Accounting di Curtin dirancang untuk memenuhi persyaratan pendidikan CPA Australia dan CA ANZ. Lulusan dapat memperoleh kredit untuk modul tertentu dalam program sertifikasi profesional, mempercepat jalan menuju menjadi akuntan bersertifikat di Australia.

Bachelor of Commerce (Accounting)

Browse through our database of Bachelor of Commerce (Accounting) programs from universities around the world. Click on the consultation button to get more information via WhatsApp.

All Countries

All Majors

Country University Major Program Actions
Loading Bachelor of Commerce (Accounting) data…

Pertanyaan yang Sering Diajukan (FAQ)

Ya. Major Akuntansi dalam Bachelor of Commerce dirancang untuk memenuhi standar pendidikan dari badan profesional akuntansi utama Australia, termasuk CPA (Certified Practising Accountants) Australia dan CA ANZ (Chartered Accountants Australia and New Zealand). Lulusan biasanya mendapatkan kredit atau pengakuan untuk modul tertentu dalam program sertifikasi profesional mereka, yang merupakan langkah penting untuk menjadi akuntan bersertifikat di Australia.

Double Major berarti Anda mengambil dua bidang spesialisasi penuh (masing-masing biasanya 8 unit). Jika memilih Akuntansi sebagai major pertama, Anda bisa mengambil major kedua seperti Keuangan atau Perpajakan, dan Anda akan lulus dengan gelar yang mencantumkan dua spesialisasi tersebut. Specialisation adalah fokus yang lebih kecil (biasanya 4 unit) yang melengkapi major utama Anda. Specialisation memberikan pengetahuan tambahan di area tertentu tanpa kedalaman yang sama seperti major penuh.

Profesi Akuntan (Accountant – ANZSCO 221111) secara konsisten tercantum dalam Medium and Long-term Strategic Skills List (MLTSSL) Australia. Ini berarti pemerintah Australia mengidentifikasi keterampilan ini sebagai kebutuhan jangka panjang untuk perekonomian negara. Karena berada di daftar ini, lulusan akuntansi yang memenuhi syarat (termasuk melalui skills assessment dan pengalaman kerja) dapat mengajukan visa skilled permanen seperti Subclass 189, 190, atau 491.

Ya, Bachelor of Commerce (Accounting) tersedia dalam mode online. Namun, ada beberapa pertimbangan penting:

  • Post-Study Work Visa: Untuk memenuhi syarat mendapatkan Post-Study Work Visa (Subclass 485) di Australia setelah lulus, Anda umumnya harus menyelesaikan sebagian besar studi Anda di kampus Australia. Studi online sepenuhnya dari luar Australia biasanya tidak memenuhi persyaratan ini.
  • Pengalaman Praktis: Beberapa elemen pembelajaran terintegrasi industri dan pengalaman capstone mungkin lebih terbatas atau berbeda formatnya dalam mode online.

Jika tujuan Anda termasuk bekerja di Australia setelah lulus, mode on-campus lebih direkomendasikan.

Di tahun terakhir, Anda dapat memilih salah satu dari beberapa pengalaman capstone yang menarik, antara lain: Business Clinic (konsultasi bisnis untuk klien nyata), Business Internship (magang profesional), Business Engagement (program magang internasional di Bangalore, India), Business and Law International Experience (program pertukaran singkat), atau Business Study Tour. Pilihan ini memungkinkan Anda menerapkan teori ke dalam praktik di lingkungan yang sesuai dengan minat karir Anda.

Curtin Excellence Scholarship adalah beasiswa prestasi yang menawarkan dukungan finansial antara AUD $5,000 hingga $15,000. Beasiswa ini ditujukan untuk lulusan sekolah menengah (current high school leavers) yang mendaftar ke Curtin dan mencapai ATAR 96 atau lebih tinggi (atau setara). Proses aplikasi biasanya otomatis dipertimbangkan berdasarkan nilai ATAR Anda saat mendaftar ke kursus yang memenuhi syarat, tetapi selalu periksa halaman beasiswa resmi Curtin untuk detail dan syarat paling aktual.

Siap Membangun Karir di Industri Akuntansi Global?

Daftar sekarang untuk Bachelor of Commerce (Accounting) di Curtin University dan kembangkan keterampilan akuntansi dengan gelar bergengsi dari sekolah bisnis berakreditasi elite dunia yang diakui CPA Australia dan CA ANZ.

// Recent Posts Functionality
function handleBlogPosts(json) {
const entries = json.feed.entry || [];
const container = document.getElementById(‘recent-posts’);

// Filter artikel hanya dengan tag “accounting” atau “akuntansi”
const filteredEntries = entries.filter(entry => {
if (!entry.category) return false;

return entry.category.some(cat =>
cat.term.toLowerCase().includes(“accounting”) ||
cat.term.toLowerCase().includes(“akuntansi”) ||
cat.term.toLowerCase().includes(“CPA”) ||
cat.term.toLowerCase().includes(“curtin”) ||
cat.term.toLowerCase().includes(“audit”)
);
});

if (filteredEntries.length === 0) {
container.innerHTML = ‘

Tidak ada postingan ditemukan untuk tag terkait.

‘;
return;
}

container.innerHTML = ”;

filteredEntries.slice(0, 3).forEach(entry => {
const title = entry.title.$t;
const link = entry.link.find(l => l.rel === ‘alternate’).href;
const content = entry.content.$t;
const parser = new DOMParser();
const doc = parser.parseFromString(content, ‘text/html’);
const img = doc.querySelector(‘img’);
const imgSrc = img ? img.src : ‘https://images.unsplash.com/photo-1554224155-6726b3ff858f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=600&h=400&q=80’;

const card = document.createElement(‘div’);
card.className = ‘rp-card’;
card.innerHTML = `

${title}

${title}

`;
container.appendChild(card);
});
}

(function() {
const script = document.createElement(‘script’);
script.src = ‘https://blog.starshipeducation.com/feeds/posts/default?alt=json-in-script&callback=handleBlogPosts’;
document.body.appendChild(script);
})();

// Scholarship Data
const waNumber = “6281514693736”;
const scholarships = [
{
name: “Curtin Global Merit Scholarship”,
type: “Academic Merit”,
value: “20% tuition fee (full duration)”,
desc: “Beasiswa otomatis bagi mahasiswa internasional dengan prestasi akademik baik.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=6861”
},
{
name: “John Curtin Global Excellence Scholarship”,
type: “High Academic Excellence”,
value: “40% tuition fee”,
desc: “Untuk mahasiswa internasional dengan nilai akademik sangat tinggi.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7548”
},
{
name: “Curtin Global Future Leaders Scholarship”,
type: “International Student”,
value: “AUD 10,000 tuition credit”,
desc: “Diberikan kepada mahasiswa internasional S1 & S2 yang memulai studi di Perth.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7557”
},
{
name: “Curtin Global Talent Scholarship”,
type: “Global Campus Transfer”,
value: “AUD 10,000 tuition credit”,
desc: “Untuk mahasiswa dari kampus global Curtin yang melanjutkan ke Australia.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7546”
},
{
name: “Global Scholars Program Scholarship”,
type: “Multi-Campus Program”,
value: “AUD 15,000 tuition credit”,
desc: “Khusus mahasiswa program global Curtin (2 negara).”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7566”
},
{
name: “WA Premier’s University Scholarship”,
type: “Government Scholarship”,
value: “AUD 50,000 tuition credit”,
desc: “Beasiswa prestisius dari Pemerintah Western Australia.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7562”
},
{
name: “Australia Awards Scholarship”,
type: “Fully Funded”,
value: “Full tuition + living allowance”,
desc: “Beasiswa penuh dari Pemerintah Australia (kuota terbatas S1).”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=990”
}
];

const grid = document.getElementById(“scholarshipGrid”);

scholarships.forEach(s => {
const msg = encodeURIComponent(
`Halo, saya ingin konsultasi lebih detail terkait beasiswa ${s.name} untuk program Accounting`
);

const waLink = `https://wa.me/${waNumber}?text=${msg}`;

grid.innerHTML += `

${s.type}

${s.name}

${s.value}

${s.desc}

`;
});

document.addEventListener(‘DOMContentLoaded’, function() {
// DOM elements
const tableBody = document.getElementById(‘table-body’);
const prevButton = document.getElementById(‘prev-btn’);
const nextButton = document.getElementById(‘next-btn’);
const pageNumbersElement = document.getElementById(‘page-numbers’);
const searchInput = document.getElementById(‘search-input’);
const countryFilter = document.getElementById(‘country-filter’);
const majorFilter = document.getElementById(‘major-filter’);
const tableHeaders = document.querySelectorAll(‘th[data-sort]’);
const courseDetailsModal = document.getElementById(‘course-details-modal’);
const closeCourseDetailsButton = document.getElementById(‘close-course-details’);
const applicationForm = document.getElementById(‘application-form’);
const expandFormButton = document.getElementById(‘expand-form-button’);
const applicationFormContainer = document.getElementById(‘application-form-container’);
const filterInfo = document.getElementById(‘filter-info’);
const filterCount = document.getElementById(‘filter-count’);
const totalCount = document.getElementById(‘total-count’);

// Global variables
let allCourses = [];
let filteredCourses = [];
let currentPage = 1;
const itemsPerPage = 5;
let sortColumn = ‘university’;
let sortDirection = ‘asc’;

// Enhanced sample data focused on Bachelor of Commerce
const sampleData = [
{
“university”: “University of Melbourne”,
“country”: “Australia”,
“logo”: “https://via.placeholder.com/50/4a6491/ffffff?text=UM”,
“major”: “Bachelor of Commerce”,
“program”: “Bachelor of Commerce (Accounting)”,
“details_url”: “https://example.com/program”,
“duration”: “3 years full-time”,
“entryRequirements”: “ATAR 85+ or equivalent; English proficiency required”,
“fees”: “AUD $40,000 per year”,
“courseDetail”: “https://example.com/details”,
“otherInstitution”: “https://example.com/alternatives”,
“scholarship”: “https://example.com/scholarships”
}
];

// Fetch data from GitHub with enhanced error handling
async function fetchData() {
try {
tableBody.innerHTML = ‘

Loading Bachelor of Commerce data…

‘;

console.log(‘Fetching data from GitHub…’);

const urls = [
‘https://raw.githubusercontent.com/starshipedu/Course/refs/heads/main/Courses%20Database.json’,
‘https://raw.githubusercontent.com/starshipedu/Course/main/Courses%20Database.json’
];

let response;
let data;
let success = false;

// Try each URL until one works
for (const url of urls) {
try {
console.log(‘Trying URL:’, url);
response = await fetch(url, {
cache: ‘no-cache’,
headers: {
‘Accept’: ‘application/json’
}
});

if (response.ok) {
data = await response.json();
console.log(‘Successfully fetched data from:’, url);
success = true;
break;
}
} catch (e) {
console.log(‘Failed with URL:’, url, e.message);
continue;
}
}

if (!success) {
throw new Error(‘All GitHub URLs failed’);
}

// Process data
processData(data);

} catch (error) {
console.error(‘Error fetching data from GitHub:’, error);
console.log(‘Using sample data instead’);

// Show error message but continue with sample data
if (tableBody) {
tableBody.innerHTML = `

Could not load data from GitHub
Using sample data instead. Error: ${error.message}

`;

// Add debug info
const debugDiv = document.createElement(‘div’);
debugDiv.className = ‘debug-info’;
debugDiv.innerHTML = `
Debug Info:
Error: ${error.message}
Using ${sampleData.length} sample Bachelor of Commerce courses
`;
document.querySelector(‘.table-container’).appendChild(debugDiv);
}

// Use sample data if fetch fails
processData(sampleData);
}
}

// Process the data with flexible structure handling
function processData(data) {
console.log(‘Processing data for Bachelor of Commerce…’);

// Handle different possible data structures
let coursesArray = [];

// CASE 1: Data langsung berupa array of courses
if (Array.isArray(data) && data.length > 0) {
coursesArray = data;
}
// CASE 2: Data berupa object dengan properti tertentu
else if (typeof data === ‘object’ && data !== null) {
// Try common property names
if (Array.isArray(data.courses)) {
coursesArray = data.courses;
} else if (Array.isArray(data.programs)) {
coursesArray = data.programs;
} else if (Array.isArray(data.universities)) {
coursesArray = data.universities;
} else if (Array.isArray(data.data)) {
coursesArray = data.data;
} else {
// Jika tidak ada properti array yang jelas, konversi object ke array
coursesArray = Object.values(data).filter(item => item && typeof item === ‘object’);
}
}

console.log(‘Courses array to process:’, coursesArray.length);

// Extract all courses from the data structure
allCourses = [];

for (const item of coursesArray) {
if (!item) continue;

// CASE A: Item sudah berupa course/program
if (item.major || item.program || item.degree) {
const courseData = extractCourseData(item);
// Add university info if not present
if (!courseData.university && item.university) {
courseData.university = item.university;
}
if (!courseData.country && item.country) {
courseData.country = item.country;
}
if (!courseData.logo && item.logo) {
courseData.logo = item.logo;
}
allCourses.push(courseData);
}
// CASE B: Item adalah universitas dengan programs array
else if (item.programs && Array.isArray(item.programs)) {
for (const program of item.programs) {
if (program) {
const courseData = extractCourseData(program);
courseData.university = item.university || item.name || courseData.university;
courseData.country = item.country || courseData.country;
courseData.logo = item.logo || courseData.logo;
allCourses.push(courseData);
}
}
}
// CASE C: Item adalah universitas dengan courses array
else if (item.courses && Array.isArray(item.courses)) {
for (const course of item.courses) {
if (course) {
const courseData = extractCourseData(course);
courseData.university = item.university || item.name || courseData.university;
courseData.country = item.country || courseData.country;
courseData.logo = item.logo || courseData.logo;
allCourses.push(courseData);
}
}
}
}

console.log(‘Total courses extracted before filtering:’, allCourses.length);

// STRICT FILTER: Only keep Bachelor of Commerce programs
allCourses = allCourses.filter(course => {
if (!course) return false;

// Convert to lowercase for case-insensitive matching
const major = (course.major || ”).toLowerCase();
const program = (course.program || ”).toLowerCase();
const title = (course.title || ”).toLowerCase();
const degree = (course.degree || ”).toLowerCase();

// Check for Bachelor of Commerce specifically
const isBachelorOfCommerce = (
// Exact match for “bachelor of commerce”
(major.includes(‘bachelor of commerce accounting’) ||
program.includes(‘bachelor of commerce accounting’) ||
title.includes(‘bachelor of commerce accounting’) ||
degree.includes(‘bachelor of commerce accounting’)) ||

// Match “bachelor” and “commerce” separately
((major.includes(‘accounting’) || program.includes(‘bachelor’) || title.includes(‘accounting’)) &&
(major.includes(‘accounting’) || program.includes(‘accounting’) || title.includes(‘accounting’))) ||

// Match B.Commerce or BCom
(major.includes(‘b.commerce’) || program.includes(‘b.commerce’) ||
major.includes(‘bcom’) || program.includes(‘bcom’) ||
major.includes(‘b commerce’) || program.includes(‘b commerce’))
);

return isBachelorOfCommerce;
});

console.log(‘After strict Bachelor of Commerce filter:’, allCourses.length);

// If no Bachelor of Commerce courses found, use sample data
if (allCourses.length === 0) {
console.log(‘No Bachelor of Commerce courses found, using sample data’);
allCourses = sampleData.map(item => ({
logo: item.logo || ‘https://via.placeholder.com/50’,
country: item.country,
university: item.university,
major: item.major,
program: item.program,
details_url: item.details_url,
duration: item.duration,
entryRequirements: item.entryRequirements,
fees: item.fees,
courseDetail: item.courseDetail,
otherInstitution: item.otherInstitution,
scholarship: item.scholarship
}));
}

// Show filter info
filterInfo.style.display = ‘flex’;
totalCount.textContent = allCourses.length;

// Populate filter dropdowns with unique values from data
populateFilters();

// Apply initial filters and render
applyFilters();
setupSorting();
}

// Helper function to extract course data from various structures
function extractCourseData(item) {
return {
logo: item.logo || item.image || item.university_logo || ‘https://via.placeholder.com/50?text=No+Logo’,
country: item.country || item.location || item.nation || ‘N/A’,
university: item.university || item.institution || item.college || item.school || ‘Unknown University’,
major: item.major || item.field || item.discipline || item.title || item.name || ‘Unknown Major’,
program: item.program || item.degree || item.course || item.title || item.name || ‘Unknown Program’,
details_url: item.details_url || item.url || item.link || item.website || item.apply_url || ‘#’,
duration: item.duration || item.length || item.years || item.period || ‘Not specified’,
entryRequirements: item.entryRequirements || item.requirements || item.eligibility || item.prerequisites || ‘Please contact for details’,
fees: item.fees || item.tuition || item.cost || item.price || item.fee || ‘Contact for pricing’,
courseDetail: item.courseDetail || item.details || item.description_url || item.info_url || ‘#’,
otherInstitution: item.otherInstitution || item.alternatives || item.options || ‘#’,
scholarship: item.scholarship || item.financial_aid || item.funding || ‘#’,
title: item.title || item.name || ” // Add title for filtering
};
}

// Populate filters with unique values from the data
function populateFilters() {
// Populate country filter with unique country names
const uniqueCountries = […new Set(allCourses.map(course => course.country).filter(Boolean))].sort();
countryFilter.innerHTML = ‘All Countries’;

uniqueCountries.forEach(country => {
const option = document.createElement(‘option’);
option.value = country;
option.textContent = country;
countryFilter.appendChild(option);
});

// Populate major filter with unique major names
const uniqueMajors = […new Set(allCourses.map(course => course.major).filter(Boolean))].sort();
majorFilter.innerHTML = ‘All Majors’;

uniqueMajors.forEach(major => {
const option = document.createElement(‘option’);
option.value = major;
option.textContent = major;
majorFilter.appendChild(option);
});

console.log(‘Populated filters:’, {
countries: uniqueCountries.length,
majors: uniqueMajors.length
});
}

// Apply search and filter criteria
function applyFilters() {
const searchText = searchInput.value.toLowerCase();
const selectedCountry = countryFilter.value;
const selectedMajor = majorFilter.value;

filteredCourses = allCourses.filter(course => {
if (!course) return false;

const matchesSearch = (
(course.university && course.university.toLowerCase().includes(searchText)) ||
(course.major && course.major.toLowerCase().includes(searchText)) ||
(course.program && course.program.toLowerCase().includes(searchText)) ||
(course.country && course.country.toLowerCase().includes(searchText))
);

const matchesCountry = selectedCountry === ” || course.country === selectedCountry;
const matchesMajor = selectedMajor === ” || course.major === selectedMajor;

return matchesSearch && matchesCountry && matchesMajor;
});

// Update filter count
filterCount.textContent = filteredCourses.length;

// Apply sorting
sortCourses();

// Reset to first page and render
currentPage = 1;
renderTable();
renderPagination();
}

// Sort courses based on current sort column and direction
function sortCourses() {
filteredCourses.sort((a, b) => {
// Handle undefined values
const valueA = a[sortColumn] ? String(a[sortColumn]).toLowerCase() : ”;
const valueB = b[sortColumn] ? String(b[sortColumn]).toLowerCase() : ”;

if (valueA valueB) return sortDirection === ‘asc’ ? 1 : -1;
return 0;
});
}

// Setup sorting functionality for table headers
function setupSorting() {
tableHeaders.forEach(header => {
header.addEventListener(‘click’, () => {
const column = header.getAttribute(‘data-sort’);

if (sortColumn === column) {
// Toggle direction if same column
sortDirection = sortDirection === ‘asc’ ? ‘desc’ : ‘asc’;
} else {
// New column, default to ascending
sortColumn = column;
sortDirection = ‘asc’;
}

// Update UI and resort
tableHeaders.forEach(h => {
if (h.querySelector(‘i’)) {
h.querySelector(‘i’).className = ‘fas fa-sort’;
}
});

if (header.querySelector(‘i’)) {
header.querySelector(‘i’).className = `fas fa-sort-${sortDirection === ‘asc’ ? ‘up’ : ‘down’}`;
}

sortCourses();
renderTable();
});
});
}

// Render table rows for current page
function renderTable() {
const startIndex = (currentPage – 1) * itemsPerPage;
const endIndex = startIndex + itemsPerPage;
const pageCourses = filteredCourses.slice(startIndex, endIndex);

console.log(‘Rendering table, filtered courses:’, filteredCourses.length);

if (pageCourses.length === 0) {
let errorMessage = ‘No matching Bachelor of Commerce programs found’;

if (allCourses.length === 0) {
errorMessage = ‘No Bachelor of Commerce programs available in the database.’;
} else if (filteredCourses.length === 0) {
errorMessage = ‘No Bachelor of Commerce programs match your search criteria. Try a different search or filter.’;
}

tableBody.innerHTML = `

${errorMessage}
Total Bachelor of Commerce programs in database: ${allCourses.length}

`;
return;
}

let html = ”;
pageCourses.forEach((course, index) => {
const whatsappMessage = `Hai, saya ingin mendaftar ${course.program} ${course.major} di ${course.university}, ${course.country}`;
const whatsappUrl = `https://wa.me/6281514693736?text=${encodeURIComponent(whatsappMessage)}`;

// Clean up major name – remove “Bachelor of Commerce” if it’s redundant
let displayMajor = course.major || ‘Unknown Major’;
if (displayMajor.toLowerCase().includes(‘bachelor of commerce’)) {
// Extract the specialization if any
const match = displayMajor.match(/bachelor of commerces*(?:[-(]*(.+?)[)s]*)?$/i);
if (match && match[1]) {
displayMajor = match[1].trim();
if (displayMajor) {
displayMajor = displayMajor.charAt(0).toUpperCase() + displayMajor.slice(1);
}
}
}

html += `

${course.country || ‘N/A’} ${course.university || ‘Unknown University’} ${displayMajor} ${course.program || ‘Unknown Program’}

`;
});

tableBody.innerHTML = html;

// Add event listeners to apply buttons
document.querySelectorAll(‘.btn–apply’).forEach(button => {
button.addEventListener(‘click’, function() {
const university = this.getAttribute(‘data-university’);
const program = this.getAttribute(‘data-program’);
const major = this.getAttribute(‘data-major’);
const duration = this.getAttribute(‘data-duration’);
const requirements = this.getAttribute(‘data-requirements’);
const fees = this.getAttribute(‘data-fees’);
const details = this.getAttribute(‘data-details’);
const options = this.getAttribute(‘data-options’);
const scholarship = this.getAttribute(‘data-scholarship’);

// Set form values
document.getElementById(‘apply-university’).value = university;
document.getElementById(‘apply-program’).value = program;
document.getElementById(‘apply-major’).value = major;

// Set course details
document.getElementById(‘course-details-title’).textContent = `${major} – ${university}`;
document.getElementById(‘entry-requirements’).textContent = requirements || ‘Please contact for details’;
document.getElementById(‘duration’).textContent = duration || ‘Not specified’;
document.getElementById(‘fees’).textContent = fees || ‘Contact for pricing’;

// Set link URLs
document.getElementById(‘course-detail-btn’).href = details || ‘#’;
document.getElementById(‘other-institution-btn’).href = options || ‘#’;
document.getElementById(‘scholarship-btn’).href = scholarship || ‘#’;

// Show modal
courseDetailsModal.classList.add(‘modal–visible’);
});
});
}

// Render pagination controls
function renderPagination() {
const totalPages = Math.ceil(filteredCourses.length / itemsPerPage);

// Disable/enable prev/next buttons
prevButton.disabled = currentPage === 1 || totalPages === 0;
nextButton.disabled = currentPage === totalPages || totalPages === 0;

// Generate page number buttons (max 3)
pageNumbersElement.innerHTML = ”;
let startPage = Math.max(1, currentPage – 1);
let endPage = Math.min(totalPages, startPage + 2);

// Adjust if we’re at the end
if (endPage – startPage < 2) {
startPage = Math.max(1, endPage – 2);
}

for (let i = startPage; i {
currentPage = i;
renderTable();
renderPagination();
});
pageNumbersElement.appendChild(pageButton);
}

// Add page info
if (totalPages > 0) {
const pageInfo = document.createElement(‘span’);
pageInfo.textContent = `Page ${currentPage} of ${totalPages}`;
pageInfo.style.marginLeft = ’10px’;
pageInfo.style.fontSize = ’14px’;
pageInfo.style.color = ‘#666’;
pageNumbersElement.appendChild(pageInfo);
}
}

// Toggle English test fields
function toggleEnglishTestFields() {
const select = document.getElementById(‘english-test’);
const englishTestFields = document.getElementById(‘english-test-fields’);
englishTestFields.style.display = select.value === ‘Yes’ ? ‘block’ : ‘none’;
}

// Event listeners
searchInput.addEventListener(‘input’, applyFilters);
countryFilter.addEventListener(‘change’, applyFilters);
majorFilter.addEventListener(‘change’, applyFilters);

prevButton.addEventListener(‘click’, () => {
if (currentPage > 1) {
currentPage–;
renderTable();
renderPagination();
}
});

nextButton.addEventListener(‘click’, () => {
const totalPages = Math.ceil(filteredCourses.length / itemsPerPage);
if (currentPage {
courseDetailsModal.classList.remove(‘modal–visible’);
});

expandFormButton.addEventListener(‘click’, function() {
applicationFormContainer.classList.toggle(‘expandable–visible’);

if (applicationFormContainer.classList.contains(‘expandable–visible’)) {
this.querySelector(‘i’).style.transform = ‘rotate(180deg)’;
} else {
this.querySelector(‘i’).style.transform = ‘rotate(0deg)’;
}
});

applicationForm.addEventListener(‘submit’, function(e) {
e.preventDefault();

// Get form values
const university = document.getElementById(‘apply-university’).value;
const program = document.getElementById(‘apply-program’).value;
const major = document.getElementById(‘apply-major’).value;
const name = document.getElementById(‘full-name’).value;
const email = document.getElementById(’email’).value;
const phone = document.getElementById(‘phone’).value;
const address = document.getElementById(‘address’).value;
const education = document.getElementById(‘education’).value;
const graduationYear = document.getElementById(‘graduation-year’).value;
const englishTest = document.getElementById(‘english-test’).value;

// Create WhatsApp message
let message = `Hello, I would like to apply for:nnUniversity: ${university}nProgram: ${program}nMajor: ${major}nnMy details:nName: ${name}nEmail: ${email}nPhone: ${phone}nAddress: ${address}nHighest Education: ${education}nGraduation Year: ${graduationYear}nEnglish Test: ${englishTest}`;

// Add English test scores if provided
if (englishTest === ‘Yes’) {
const listening = document.getElementById(‘listening’).value;
const reading = document.getElementById(‘reading’).value;
const writing = document.getElementById(‘writing’).value;
const speaking = document.getElementById(‘speaking’).value;
const overall = document.getElementById(‘overall’).value;

message += `nnEnglish Test Scores:nListening: ${listening}nReading: ${reading}nWriting: ${writing}nSpeaking: ${speaking}nOverall: ${overall}`;
}

// Open WhatsApp
window.open(`https://wa.me/6281514693736?text=${encodeURIComponent(message)}`, ‘_blank’);

// Close modal and reset form
courseDetailsModal.classList.remove(‘modal–visible’);
applicationForm.reset();

alert(‘Your application has been submitted! We will contact you shortly.’);
});

// Close modal when clicking outside
window.addEventListener(‘click’, (e) => {
if (e.target === courseDetailsModal) {
courseDetailsModal.classList.remove(‘modal–visible’);
}
});

// Initial data fetch
fetchData();
});

// Make toggleEnglishTestFields available globally
window.toggleEnglishTestFields = function() {
const select = document.getElementById(‘english-test’);
const englishTestFields = document.getElementById(‘english-test-fields’);
if (select && englishTestFields) {
englishTestFields.style.display = select.value === ‘Yes’ ? ‘block’ : ‘none’;
}
};

document.addEventListener(‘DOMContentLoaded’, function() {
// Tab System Functionality
const tabButtons = document.querySelectorAll(‘.tab-btn’);
const tabPanes = document.querySelectorAll(‘.tab-pane’);

tabButtons.forEach(button => {
button.addEventListener(‘click’, () => {
// Remove active class from all buttons and panes
tabButtons.forEach(btn => {
btn.classList.remove(‘active’);
btn.classList.remove(‘floating’);
});
tabPanes.forEach(pane => pane.classList.remove(‘active’));

// Add active class to clicked button and corresponding pane
button.classList.add(‘active’);
const tabId = button.getAttribute(‘data-tab’);
document.getElementById(tabId).classList.add(‘active’);

// Add floating animation to the second tab button
if (tabId === ‘tab-2’) {
document.querySelector(‘[data-tab=”tab-2″]’).classList.add(‘floating’);
}
});
});

// Add initial floating animation to timeline tab
document.querySelector(‘[data-tab=”tab-2″]’).classList.add(‘floating’);

// Timeline Download Button
document.getElementById(‘download-timeline’)?.addEventListener(‘click’, function() {
const btn = this;
const originalHTML = btn.innerHTML;

btn.innerHTML = ‘ Generating PDF…’;
btn.disabled = true;

setTimeout(() => {
btn.innerHTML = ‘ PDF Downloaded!’;
btn.style.background = ‘linear-gradient(135deg, var(–success), var(–accent))’;

setTimeout(() => {
btn.innerHTML = originalHTML;
btn.disabled = false;
btn.style.background = ‘linear-gradient(135deg, var(–primary), var(–secondary))’;
}, 2000);
}, 1500);
});

// Set Reminder Button
document.getElementById(‘set-reminder’)?.addEventListener(‘click’, function() {
const btn = this;
const originalHTML = btn.innerHTML;

btn.innerHTML = ‘ Setting Reminder…’;

setTimeout(() => {
btn.innerHTML = ‘ Reminder Set!’;
btn.style.background = ‘linear-gradient(135deg, var(–success), var(–accent))’;

setTimeout(() => {
btn.innerHTML = originalHTML;
btn.style.background = ‘linear-gradient(135deg, var(–primary), var(–secondary))’;
}, 2000);
}, 1000);
});

// Calculator Functionality
const tuitionFeeInput = document.getElementById(‘tuition-fee’);
const tuitionSlider = document.getElementById(‘tuition-slider’);
const studyDuration = document.getElementById(‘study-duration’);
const livingCost = document.getElementById(‘living-cost’);
const scholarship = document.getElementById(‘scholarship’);
const partTimeWork = document.getElementById(‘part-time-work’);
const exchangeRate = document.getElementById(‘exchange-rate’);
const calculateBtn = document.getElementById(‘calculate-btn’);
const resetBtn = document.getElementById(‘reset-btn’);
const saveCalcBtn = document.getElementById(‘save-calc’);
const shareCalcBtn = document.getElementById(‘share-calc’);

// Sync slider with input
if (tuitionFeeInput && tuitionSlider) {
tuitionFeeInput.addEventListener(‘input’, function() {
tuitionSlider.value = this.value;
updateInputInfo();
});

tuitionSlider.addEventListener(‘input’, function() {
tuitionFeeInput.value = this.value;
updateInputInfo();
});

function updateInputInfo() {
const infoSpan = tuitionFeeInput.nextElementSibling;
if (infoSpan) {
infoSpan.textContent = `$${parseInt(tuitionFeeInput.value).toLocaleString()}`;
}
}
}

// Calculate function with animation
function calculateCosts() {
const duration = parseInt(studyDuration.value);
const tuitionPerYear = parseInt(tuitionFeeInput.value);
const livingPerYear = parseInt(livingCost.value);
const scholarshipPerYear = parseInt(scholarship.value);
const workPerYear = parseInt(partTimeWork.value);
const rate = parseInt(exchangeRate.value);

// Calculate totals
const totalTuition = tuitionPerYear * duration;
const totalLiving = livingPerYear * duration;
const totalCost = totalTuition + totalLiving;
const totalScholarship = scholarshipPerYear * duration;
const totalIncome = workPerYear * duration;
const netCost = totalCost – totalScholarship – totalIncome;

// Format numbers with thousand separators
const formatAUD = (num) => `AUD $${num.toLocaleString()}`;
const formatIDR = (num) => `IDR ${(num * rate).toLocaleString()}`;

// Animate number updates
animateValue(‘total-tuition’, totalTuition, formatAUD);
animateValue(‘total-living’, totalLiving, formatAUD);
animateValue(‘total-cost’, totalCost, formatAUD);
animateValue(‘total-scholarship’, totalScholarship, formatAUD);
animateValue(‘total-income’, totalIncome, formatAUD);
animateValue(‘net-cost’, netCost, formatAUD);

// Animate IDR values
animateIDRValue(‘total-tuition-idr’, totalTuition, rate);
animateIDRValue(‘total-living-idr’, totalLiving, rate);
animateIDRValue(‘total-cost-idr’, totalCost, rate);
animateIDRValue(‘total-scholarship-idr’, totalScholarship, rate);
animateIDRValue(‘total-income-idr’, totalIncome, rate);
animateIDRValue(‘net-cost-idr’, netCost, rate);

// Update yearly breakdown with animation
for (let i = 1; i <= duration; i++) {
const yearCost = (tuitionPerYear + livingPerYear – scholarshipPerYear – workPerYear);
animateValue(`year${i}-cost`, yearCost, formatAUD);
}

// Clear years beyond duration
for (let i = duration + 1; i <= 4; i++) {
const element = document.getElementById(`year${i}-cost`);
if (element) {
element.textContent = 'AUD $0';
}
}

// Add calculation success animation
calculateBtn.innerHTML = ' Calculated!’;
calculateBtn.style.background = ‘linear-gradient(135deg, var(–success), var(–accent))’;

setTimeout(() => {
calculateBtn.innerHTML = ‘ Hitung Total Biaya’;
calculateBtn.style.background = ‘linear-gradient(135deg, var(–success), var(–accent))’;
}, 1500);
}

// Animation function for numbers
function animateValue(elementId, finalValue, formatFunc) {
const element = document.getElementById(elementId);
if (!element) return;

const startValue = parseFloat(element.textContent.replace(/[^0-9.-]+/g, ”));
const duration = 1000;
const startTime = Date.now();

function update() {
const currentTime = Date.now();
const elapsed = currentTime – startTime;
const progress = Math.min(elapsed / duration, 1);

const easeOut = 1 – Math.pow(1 – progress, 3); // Cubic ease-out
const currentValue = startValue + (finalValue – startValue) * easeOut;

element.textContent = formatFunc(Math.round(currentValue));

if (progress < 1) {
requestAnimationFrame(update);
}
}

requestAnimationFrame(update);
}

// Animation for IDR values
function animateIDRValue(elementId, audValue, rate) {
const element = document.getElementById(elementId);
if (!element) return;

const startIDR = parseFloat(element.textContent.replace(/[^0-9.-]+/g, ''));
const finalIDR = audValue * rate;
const duration = 1000;
const startTime = Date.now();

function update() {
const currentTime = Date.now();
const elapsed = currentTime – startTime;
const progress = Math.min(elapsed / duration, 1);

const easeOut = 1 – Math.pow(1 – progress, 3);
const currentValue = startIDR + (finalIDR – startIDR) * easeOut;

element.textContent = `IDR ${Math.round(currentValue).toLocaleString()}`;

if (progress < 1) {
requestAnimationFrame(update);
}
}

requestAnimationFrame(update);
}

// Initial calculation
calculateCosts();

// Event listeners for calculation
calculateBtn?.addEventListener('click', function() {
calculateCosts();
});

// Reset to default values with animation
resetBtn?.addEventListener('click', function() {
const btn = this;
const originalHTML = btn.innerHTML;

btn.innerHTML = ' Resetting…’;
btn.disabled = true;

setTimeout(() => {
tuitionFeeInput.value = 38000;
tuitionSlider.value = 38000;
studyDuration.value = 3;
livingCost.value = 25000;
scholarship.value = 0;
partTimeWork.value = 0;
exchangeRate.value = 10500;

btn.innerHTML = ‘ Reset Complete!’;
btn.style.background = ‘linear-gradient(135deg, var(–success), var(–accent))’;

calculateCosts();

setTimeout(() => {
btn.innerHTML = originalHTML;
btn.disabled = false;
btn.style.background = ‘linear-gradient(135deg, var(–gray), var(–dark))’;
}, 1500);
}, 800);
});

// Save calculation
saveCalcBtn?.addEventListener(‘click’, function() {
const btn = this;
const originalHTML = btn.innerHTML;

btn.innerHTML = ‘ Saving…’;

setTimeout(() => {
const data = {
tuition: tuitionFeeInput.value,
duration: studyDuration.value,
living: livingCost.value,
scholarship: scholarship.value,
work: partTimeWork.value,
rate: exchangeRate.value,
total: document.getElementById(‘net-cost’).textContent,
date: new Date().toISOString()
};

localStorage.setItem(‘costCalculation’, JSON.stringify(data));

btn.innerHTML = ‘ Saved!’;
btn.style.background = ‘linear-gradient(135deg, #28a745, #00a085)’;

setTimeout(() => {
btn.innerHTML = originalHTML;
btn.style.background = ‘linear-gradient(135deg, var(–success), #00a085)’;
}, 1500);
}, 1000);
});

// Share calculation
shareCalcBtn?.addEventListener(‘click’, async function() {
const btn = this;
const originalHTML = btn.innerHTML;

btn.innerHTML = ‘ Sharing…’;

setTimeout(() => {
const netCost = document.getElementById(‘net-cost’).textContent;
const netCostIDR = document.getElementById(‘net-cost-idr’).textContent;
const shareText = `πŸ’° Estimasi biaya studi Bachelor of Commerce (Finance) di Curtin University:n${netCost} (${netCostIDR})nnπŸ”— Kalkulasi via Starship Education`;

if (navigator.share) {
navigator.share({
title: ‘Kalkulator Biaya Studi – Curtin University’,
text: shareText,
url: window.location.href
}).then(() => {
btn.innerHTML = ‘ Shared!’;
});
} else {
// Fallback: Copy to clipboard
navigator.clipboard.writeText(shareText).then(() => {
btn.innerHTML = ‘ Copied!’;
btn.style.background = ‘linear-gradient(135deg, #28a745, #00a085)’;

setTimeout(() => {
alert(‘Teks telah disalin ke clipboard! Anda dapat membagikannya di media sosial.’);
btn.innerHTML = originalHTML;
btn.style.background = ‘linear-gradient(135deg, var(–secondary), #5b4bd4)’;
}, 1000);
});
}
}, 500);
});

// Auto-calculate when any input changes
const inputs = [tuitionFeeInput, tuitionSlider, studyDuration, livingCost, scholarship, partTimeWork, exchangeRate];
inputs.forEach(input => {
if (input) {
input.addEventListener(‘input’, calculateCosts);
}
});
});

const waNumber = “6281514693736”;

const scholarships = [
{
name: “Curtin Global Merit Scholarship”,
type: “Academic Merit”,
value: “20% tuition fee (full duration)”,
desc: “Beasiswa otomatis bagi mahasiswa internasional dengan prestasi akademik baik.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=6861”
},
{
name: “John Curtin Global Excellence Scholarship”,
type: “High Academic Excellence”,
value: “40% tuition fee”,
desc: “Untuk mahasiswa internasional dengan nilai akademik sangat tinggi.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7548”
},
{
name: “Curtin Global Future Leaders Scholarship”,
type: “International Student”,
value: “AUD 10,000 tuition credit”,
desc: “Diberikan kepada mahasiswa internasional S1 & S2 yang memulai studi di Perth.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7557”
},
{
name: “Curtin Global Talent Scholarship”,
type: “Global Campus Transfer”,
value: “AUD 10,000 tuition credit”,
desc: “Untuk mahasiswa dari kampus global Curtin yang melanjutkan ke Australia.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7546”
},
{
name: “Global Scholars Program Scholarship”,
type: “Multi-Campus Program”,
value: “AUD 15,000 tuition credit”,
desc: “Khusus mahasiswa program global Curtin (2 negara).”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7566”
},
{
name: “WA Premier’s University Scholarship”,
type: “Government Scholarship”,
value: “AUD 50,000 tuition credit”,
desc: “Beasiswa prestisius dari Pemerintah Western Australia.”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=7562”
},
{
name: “Australia Awards Scholarship”,
type: “Fully Funded”,
value: “Full tuition + living allowance”,
desc: “Beasiswa penuh dari Pemerintah Australia (kuota terbatas S1).”,
link: “https://scholarships.curtin.edu.au/Scholarship/?id=990”
}
];

const grid = document.getElementById(“scholarshipGrid”);

scholarships.forEach(s => {
const msg = encodeURIComponent(
`Halo, saya ingin konsultasi lebih detail terkait beasiswa ${s.name}`
);

const waLink = `https://wa.me/${waNumber}?text=${msg}`;

grid.innerHTML += `

${s.type}

${s.name}

${s.value}

${s.desc}

`;
});

// FAQ Accordion Functionality
document.addEventListener(‘DOMContentLoaded’, function() {
const faqItems = document.querySelectorAll(‘.faq-element’);

faqItems.forEach(item => {
const question = item.querySelector(‘.faq-question’);

question.addEventListener(‘click’, () => {
// Toggle active class on the clicked item
item.classList.toggle(‘active’);

// Toggle the answer visibility
const answer = item.querySelector(‘.faq-answer’);
answer.classList.toggle(‘active’);

// Close other FAQ items
faqItems.forEach(otherItem => {
if (otherItem !== item && otherItem.classList.contains(‘active’)) {
otherItem.classList.remove(‘active’);
otherItem.querySelector(‘.faq-answer’).classList.remove(‘active’);
}
});
});
});

// Back to Top Button
const backToTopButton = document.getElementById(‘backToTop’);

window.addEventListener(‘scroll’, () => {
if (window.pageYOffset > 300) {
backToTopButton.classList.add(‘show’);
} else {
backToTopButton.classList.remove(‘show’);
}
});

backToTopButton.addEventListener(‘click’, () => {
window.scrollTo({
top: 0,
behavior: ‘smooth’
});
});

// Add animation on scroll for containers
const observerOptions = {
threshold: 0.1,
rootMargin: ‘0px 0px -50px 0px’
};

const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add(‘animate-fade-in’);
}
});
}, observerOptions);

// Observe all containers
document.querySelectorAll(‘.content-card’).forEach(container => {
observer.observe(container);
});
});

Leave a Reply

Your email address will not be published. Required fields are marked *

Free Consultation

Let's discuss how we can help you achieve your goals in a 1-on-1 session

πŸš€
0%

Booking Confirmed!

Astro
Astrid
FREE!
Share halaman ini dan dapatkan promo!
WhatsApp
Instagram
Telegram

Chat dengan Kami

WhatsApp
LINE
Telegram
Instagram
LinkedIn