.post-body table td {border: none; padding: 15px; text-align: center; }
.post-body table th {border: none; padding: 15px; text-align: center; background-color: #007bff; }
.post-body table {border: none;}
.post-body table thead th {color: white; text-align:center;}
.widget .post-body li {padding-left:15px; padding-top: 10px;}
.input, select, button {margin: 0px;}
.post-body h1, .post-body h2 {color:white;}
/* CSS khusus dengan prefix untuk menghindari konflik */
.bcom-article {
font-family: ‘Segoe UI’, Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.7;
color: #333;
max-width: 900px;
margin: 0 auto;
padding: 20px;
}
.bcom-article h1 {
font-size: 2.2rem;
color: #2c3e50;
margin-bottom: 1.5rem;
border-bottom: 2px solid #3498db;
padding-bottom: 0.5rem;
}
.bcom-article h2 {
font-size: 1.6rem;
color: #2980b9;
margin-top: 2.5rem;
margin-bottom: 1rem;
}
.bcom-article h3 {
font-size: 1.3rem;
color: #3498db;
margin-top: 1.8rem;
margin-bottom: 0.8rem;
}
.bcom-article p {
margin-bottom: 1.2rem;
text-align: justify;
}
.bcom-article ul, .bcom-article ol {
margin-bottom: 1.5rem;
padding-left: 1.5rem;
}
.bcom-article li {
margin-bottom: 0.5rem;
}
.bcom-article .highlight-box {
background-color: #f8f9fa;
border-left: 4px solid #3498db;
padding: 1.2rem;
margin: 1.5rem 0;
border-radius: 0 4px 4px 0;
}
.bcom-article .meta-description {
background-color: #e8f4fc;
padding: 1rem;
border-radius: 4px;
font-style: italic;
margin-bottom: 2rem;
}
.bcom-article .faq-section {
background-color: #f5f7fa;
padding: 1.5rem;
border-radius: 6px;
margin-top: 2rem;
}
.bcom-article .faq-question {
font-weight: bold;
color: #2c3e50;
margin-top: 1.2rem;
}
.bcom-article .conclusion {
background-color: #e8f6f3;
padding: 1.5rem;
border-radius: 6px;
margin-top: 2rem;
font-weight: 500;
}
.bcom-article .section-divider {
height: 1px;
background: linear-gradient(to right, transparent, #3498db, transparent);
margin: 2.5rem 0;
}
/* Responsive design */
@media (max-width: 768px) {
.bcom-article {
padding: 15px;
}
.bcom-article h1 {
font-size: 1.8rem;
}
.bcom-article h2 {
font-size: 1.4rem;
}
}
* {
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;
}
.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);
}
.filters {
display: flex;
gap: 15px;
flex-wrap: wrap;
}
.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 {
width: 80px;
}
.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;
}
@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%;
}
}
.rp-container {
max-width: 1400px; /* Diperlebar untuk layar besar */
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(–rp-dark);
margin-bottom: 10px;
position: relative;
display: inline-block;
}
.rp-subtitle {
color: var(–rp-gray);
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)); /* Responsif penuh */
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: var(–rp-transition);
transform: translateY(0);
position: relative;
height: 100%; /* Tinggi penuh */
}
.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(–rp-primary), var(–rp-accent));
opacity: 0;
transition: var(–rp-transition);
}
.rp-card:hover::before {
opacity: 1;
}
.rp-card-img-container {
overflow: hidden;
position: relative;
height: 220px; /* Lebih tinggi */
}
.rp-card-img {
width: 100%;
height: 180%;
object-fit: cover;
transition: var(–rp-transition);
}
.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; /* Sedikit lebih besar */
font-weight: 600;
margin: 0 0 15px;
color: var(–rp-dark);
line-height: 1.4;
transition: var(–rp-transition);
text-align: center;
}
.rp-card:hover .rp-card-title {
color: var(–rp-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: var(–rp-transition);
padding: 8px 0;
font-size: 1.1rem;
}
.rp-read-more-link:hover {
color: var(–rp-secondary);
}
/* Layar sangat lebar (Desktop besar) */
@media (min-width: 1600px) {
.rp-cards-container {
grid-template-columns: repeat(3, 1fr); /* Tiga kolom dengan lebar sama */
}
.rp-card-img-container {
height: 250px; /* Lebih tinggi di layar lebar */
}
.rp-card-content {
padding: 30px;
}
.rp-card-title {
font-size: 1.5rem;
}
}
/* Tablet dan Desktop kecil */
@media (max-width: 1199px) {
.rp-cards-container {
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.rp-card-img-container {
height: 200px;
}
}
/* Mobile */
@media (max-width: 768px) {
.rp-main-title {
font-size: 2rem;
}
.rp-cards-container {
grid-template-columns: 1fr;
max-width: 500px;
margin: 0 auto;
}
}
.rp-loader {
display: flex;
justify-content: center;
padding: 40px 0;
grid-column: 1 / -1; /* Loader memenuhi seluruh lebar */
}
.rp-loader-dot {
width: 12px;
height: 12px;
background: var(–rp-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: var(–rp-gray);
padding: 40px 0;
font-size: 1.2rem;
grid-column: 1 / -1; /* Memenuhi seluruh lebar */
}
Bachelor of Commerce (Accounting) di Australia, Prospect Karir dan Pathway ke Permanent Resident: Panduan Lengkap untuk Masa Depan Cemerlang
Introduction
Pernah kepikiran nggak sih gimana rasanya kuliah di luar negeri sambil merancang masa depan yang lebih stabil? Well, kalau kamu punya minat di bidang keuangan, bisnis, dan akuntansi, maka Bachelor of Commerce (Accounting) di Australia, prospect karir dan pathway ke Permanent resident. bisa jadi jawaban yang selama ini kamu cari!
Kenapa? Karena jurusan ini bukan cuma bikin kamu jadi jago hitung-hitungan atau ngerti soal laporan keuangan, tapi juga membuka pintu lebar ke peluang kerja internasional dan—yang nggak kalah penting—jalur menuju Permanent Resident (PR) Australia. Bayangkan, sekali mendayung, dua tiga pulau terlampaui: dapat ilmu, kerja, dan peluang tinggal permanen di salah satu negara paling nyaman di dunia. Menarik, kan?
Di artikel ini, kita bakal kupas tuntas semua hal yang perlu kamu tahu—mulai dari seluk-beluk program, kelebihan kuliah di Australia, prospek karir, sampai pathway ke PR. Jadi, siap? Yuk, kita mulai!
Kenapa Memilih Bachelor of Commerce (Accounting) di Australia?
Sebelum ngomong panjang lebar soal prospek dan PR, mari kita bahas dulu alasan kenapa jurusan ini jadi primadona.
1. Reputasi Global Universitas di Australia
Australia punya banyak universitas top dunia yang masuk ranking QS dan Times Higher Education. Program Bachelor of Commerce (Accounting) mereka diakui secara internasional dan sering kali sudah terakreditasi oleh lembaga profesional seperti:
- CPA Australia
- Chartered Accountants Australia and New Zealand (CA ANZ)
- Association of Chartered Certified Accountants (ACCA)
Artinya? Gelar kamu nggak cuma berlaku di Australia, tapi bisa juga dipakai buat berkarir di banyak negara lain.
2. Lingkungan Multikultural
Kuliah di Australia itu ibarat miniatur dunia. Kamu akan ketemu teman dari berbagai negara, budaya, dan bahasa. Buat mahasiswa Indonesia, ini jadi keuntungan ekstra karena bisa belajar beradaptasi sekaligus memperluas networking internasional.
3. Kualitas Hidup yang Tinggi
Australia terkenal dengan kualitas hidupnya yang top—mulai dari kesehatan, keamanan, pendidikan, sampai work-life balance. Jadi, nggak heran kalau banyak mahasiswa akhirnya jatuh cinta dan pengen menetap di sini lewat jalur PR.
Seperti Apa Program Bachelor of Commerce (Accounting)?
Program Bachelor of Commerce (Accounting) biasanya berlangsung 3 tahun (full-time). Nah, buat kamu yang penasaran, berikut gambaran umum mata kuliah yang akan dipelajari:
- Akuntansi Keuangan: Belajar menyusun laporan keuangan perusahaan.
- Akuntansi Manajemen: Bagaimana angka bisa jadi dasar keputusan bisnis.
- Audit dan Assurance: Mengasah kemampuan analisis buat memastikan laporan akurat.
- Perpajakan: Paham soal sistem pajak di Australia (dan bisa dibandingkan dengan negara lain).
- Corporate Finance: Cara mengelola dana perusahaan secara efisien.
- Business Law: Aspek hukum dalam dunia bisnis.
Selain itu, ada juga kesempatan untuk internship alias magang di perusahaan besar yang sering kali jadi batu loncatan ke dunia kerja nyata.
Bisa Kuliah Sambil Kerja, Serius Nih?
Yes, tentu saja! Australia memperbolehkan mahasiswa internasional bekerja hingga 24 jam per minggu selama semester berlangsung, dan full-time saat liburan.
Jenis pekerjaan yang biasanya diambil mahasiswa akuntansi:
- Asisten administrasi di kantor
- Customer service
- Bookkeeping assistant
- Part-time roles di retail atau hospitality (sambil mengasah soft skills)
Kerja sambil kuliah ini nggak cuma bantu biaya hidup, tapi juga kasih pengalaman berharga buat CV kamu.
Bachelor of Commerce (Accounting) di Australia, Prospect Karir dan Pathway ke Permanent Resident
Nah, ini bagian paling ditunggu-tunggu!
Prospect Karir: Seberapa Menjanjikan?
Lulusan Bachelor of Commerce (Accounting) punya banyak pilihan karir. Beberapa di antaranya:
- Akuntan Publik (Public Accountant)
Bekerja di firma akuntansi global macam PwC, Deloitte, EY, atau KPMG. - Akuntan Manajemen (Management Accountant)
Membantu perusahaan mengatur strategi keuangan dan biaya. - Auditor
Profesi ini selalu dibutuhkan untuk memastikan kepatuhan perusahaan terhadap standar. - Tax Consultant
Paham soal pajak? Kamu bisa bantu perusahaan maupun individu mengoptimalkan kewajiban pajaknya. - Financial Analyst
Analisis data keuangan dan rekomendasi strategi bisnis. - Business Advisor
Memberikan saran tentang strategi bisnis berdasarkan analisis angka.
Dan kabar baiknya, sektor akuntansi di Australia selalu masuk dalam daftar profesi yang dibutuhkan (Skilled Occupation List). Jadi, peluang kerja luas banget!
Pathway Menuju Permanent Resident (PR)
Buat banyak mahasiswa internasional, tujuan akhir kuliah di Australia adalah mendapatkan PR. Nah, lulusan accounting punya jalur jelas untuk itu.
Beberapa langkah yang bisa ditempuh:
- Temporary Graduate Visa (Subclass 485)
Setelah lulus, kamu bisa apply visa ini untuk bekerja di Australia selama 2–4 tahun. - Skill Assessment
Akuntan termasuk dalam daftar profesi yang bisa dinilai oleh lembaga seperti CPA Australia atau CA ANZ. Kalau assessment berhasil, peluang PR semakin besar. - Skilled Migration (Subclass 189 atau 190)
Dengan pengalaman kerja di Australia dan hasil skill assessment, kamu bisa apply visa PR melalui jalur General Skilled Migration. - Employer-Sponsored Visa
Kalau perusahaan puas dengan kinerja kamu, mereka bisa sponsorin kamu untuk PR.
Tantangan dan Tips Sukses
Nggak ada perjalanan yang mulus tanpa hambatan, termasuk kuliah accounting di Australia. Beberapa tantangan yang mungkin muncul:
- Bahasa Inggris Akademik: Jangan anggap enteng! Kamu harus terbiasa baca jurnal, bikin laporan, dan presentasi.
- Kompetisi Kerja: Banyak mahasiswa internasional yang punya mimpi serupa.
- Biaya Hidup: Kota besar seperti Sydney dan Melbourne memang agak mahal.
Tapi tenang, ada tips buat menghadapinya:
- Latih bahasa Inggris sejak awal—IELTS/TOEFL itu cuma gerbang awal.
- Bangun networking lewat acara kampus, magang, atau komunitas profesional.
- Atur keuangan dengan bijak—ambil kerja part-time buat bantu biaya.
FAQs Seputar Bachelor of Commerce (Accounting) di Australia
1. Apakah lulusan accounting di Australia bisa langsung apply PR?
Tidak langsung. Kamu harus melalui skill assessment dan biasanya butuh pengalaman kerja. Tapi accounting termasuk profesi yang sangat dibutuhkan, jadi peluang besar!
2. Berapa kisaran gaji lulusan accounting di Australia?
Fresh graduate bisa dapat sekitar AUD 55,000–65,000 per tahun. Dengan pengalaman, gaji bisa melonjak hingga AUD 90,000 atau lebih.
3. Universitas mana saja yang populer untuk jurusan ini?
- University of Melbourne
- University of Sydney
- Monash University
- University of Queensland
- UNSW Sydney
4. Apakah jurusan ini hanya untuk yang jago matematika?
Nggak juga! Yang penting kamu teliti, analitis, dan punya logika yang baik.
5. Bisa nggak kalau setelah lulus langsung kerja di Indonesia?
Tentu bisa. Gelar dari Australia diakui internasional dan jadi nilai plus besar kalau balik ke Indonesia.
Kesimpulan
Singkatnya, Bachelor of Commerce (Accounting) di Australia, prospect karir dan pathway ke Permanent resident. adalah paket lengkap buat kamu yang cari studi berkualitas, karir cemerlang, dan peluang tinggal di salah satu negara terbaik di dunia. Dari reputasi global, kurikulum yang komprehensif, kesempatan kerja part-time, hingga jalur PR yang jelas—semua tersedia kalau kamu berani melangkah.
So, kalau kamu serius mau jadi akuntan profesional dengan masa depan cerah, mungkin ini saatnya kamu ambil keputusan besar: kuliah accounting di Australia! Siapa tahu, perjalanan hidup kamu berubah 180 derajat dengan langkah ini.
Bachelor of Accounting Programs
Browse through our database of Bachelor of Accounting programs from universities around the world. Click on the consultation button to get more information via WhatsApp.
All Countries
| Logo | Country | University | Major | Program | Actions |
|---|---|---|---|---|---|
| Loading data… | |||||
Course Details
Entry Requirements
Loading…
Duration
Loading…
Fees
Loading…
// JavaScript untuk interaksi sederhana
document.addEventListener(‘DOMContentLoaded’, function() {
// Menambahkan efek smooth scroll untuk semua anchor link
const anchorLinks = document.querySelectorAll(‘.bcom-article a[href^=”#”]’);
anchorLinks.forEach(link => {
link.addEventListener(‘click’, function(e) {
e.preventDefault();
const targetId = this.getAttribute(‘href’).substring(1);
const targetElement = document.getElementById(targetId);
if (targetElement) {
window.scrollTo({
top: targetElement.offsetTop – 20,
behavior: ‘smooth’
});
}
});
});
// Menambahkan kelas aktif saat elemen terlihat di viewport
const observerOptions = {
root: null,
rootMargin: ‘0px’,
threshold: 0.1
};
const observer = new IntersectionObserver(function(entries) {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add(‘bcom-visible’);
}
});
}, observerOptions);
// Mengamati semua heading untuk animasi sederhana
const headings = document.querySelectorAll(‘.bcom-article h2, .bcom-article h3’);
headings.forEach(heading => {
observer.observe(heading);
});
});
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 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’);
// Global variables
let allCourses = [];
let filteredCourses = [];
let currentPage = 1;
const itemsPerPage = 10;
let sortColumn = ‘university’;
let sortDirection = ‘asc’;
// Sample data for demonstration
const sampleData = [
{
“university”: “Australian National University”,
“country”: “Australia”,
“logo”: “https://via.placeholder.com/50”,
“programs”: [
{
“major”: “Business Administration”,
“program”: “Certificate IV in Business”,
“details_url”: “https://example.com/program”,
“duration”: “1 year”,
“entryRequirements”: “Completion of Year 12 or equivalent”,
“fees”: “AUD $10,000”,
“courseDetail”: “https://example.com/details”,
“otherInstitution”: “http://example.com”,
“scholarship”: “https://example.com/scholarships”
}
]
},
{
“university”: “Melbourne Institute of Technology”,
“country”: “Australia”,
“logo”: “https://via.placeholder.com/50”,
“programs”: [
{
“major”: “Business Management”,
“program”: “Certificate IV in Business Administration”,
“details_url”: “https://example.com/program2”,
“duration”: “18 months”,
“entryRequirements”: “Completion of Year 12 or equivalent”,
“fees”: “AUD $12,000”,
“courseDetail”: “https://example.com/details2”,
“otherInstitution”: “http://example.com”,
“scholarship”: “https://example.com/scholarships”
}
]
},
{
“university”: “Sydney Business School”,
“country”: “Australia”,
“logo”: “https://via.placeholder.com/50”,
“programs”: [
{
“major”: “International Business”,
“program”: “Certificate IV in International Business”,
“details_url”: “https://example.com/program3”,
“duration”: “1 year”,
“entryRequirements”: “Completion of Year 12 or equivalent”,
“fees”: “AUD $11,500”,
“courseDetail”: “https://example.com/details3”,
“otherInstitution”: “http://example.com”,
“scholarship”: “https://example.com/scholarships”
}
]
}
];
// Fetch data from GitHub with fallback to sample data
async function fetchData() {
try {
tableBody.innerHTML = ‘
‘;
const response = await fetch(‘https://raw.githubusercontent.com/starshipedu/Course/refs/heads/main/Courses%20Database.json’);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
// Process data
processData(data);
} catch (error) {
console.error(‘Error fetching data:’, error);
console.log(‘Using sample data instead’);
// Use sample data if fetch fails
processData(sampleData);
}
}
// Process the data
function processData(data) {
// Filter for Certificate IV Information Technology programs only
allCourses = data.flatMap(university => {
// Check if university has programs
if (!university.programs || !Array.isArray(university.programs)) {
return [];
}
return university.programs
.filter(program => {
// Check if program exists and has required properties
if (!program) return false;
const hasInformationTechnology = program.major &&
typeof program.major === ‘string’ &&
program.major.toLowerCase().includes(‘accounting’);
const hasCertificateIV = program.program &&
typeof program.program === ‘string’ &&
program.program.includes(‘Bachelor’);
return hasInformationTechnology && hasCertificateIV;
})
.map(program => ({
logo: university.logo || ‘https://via.placeholder.com/50?text=No+Logo’,
country: university.country || ‘N/A’,
university: university.university || ‘Unknown University’,
major: program.major || ‘Unknown Major’,
program: program.program || ‘Unknown Program’,
details_url: program.details_url || ‘#’,
duration: program.duration || ‘Not specified’,
entryRequirements: program.entryRequirements || ‘Please contact for details’,
fees: program.fees || ‘Contact for pricing’,
courseDetail: program.courseDetail || ‘#’,
otherInstitution: program.otherInstitution || ‘#’,
scholarship: program.scholarship || ‘#’
}));
});
// Populate country filter
const countries = […new Set(allCourses.map(course => course.country))].sort();
countryFilter.innerHTML = ‘All Countries’;
countries.forEach(country => {
const option = document.createElement(‘option’);
option.value = country;
option.textContent = country;
countryFilter.appendChild(option);
});
// Apply initial filters and render
applyFilters();
setupSorting();
}
// Apply search and filter criteria
function applyFilters() {
const searchText = searchInput.value.toLowerCase();
const selectedCountry = countryFilter.value;
filteredCourses = allCourses.filter(course => {
const matchesSearch = (
(course.university && course.university.toLowerCase().includes(searchText)) ||
(course.major && course.major.toLowerCase().includes(searchText)) ||
(course.country && course.country.toLowerCase().includes(searchText))
);
const matchesCountry = selectedCountry === ” || course.country === selectedCountry;
return matchesSearch && matchesCountry;
});
// 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] ? a[sortColumn].toLowerCase() : ”;
const valueB = b[sortColumn] ? 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);
if (pageCourses.length === 0) {
tableBody.innerHTML = ‘
‘;
return;
}
let html = ”;
pageCourses.forEach(course => {
const whatsappMessage = `Hai, saya ingin mendaftar ${course.program} ${course.major} di ${course.university}, ${course.country}`;
const whatsappUrl = `https://wa.me/6281514693736?text=${encodeURIComponent(whatsappMessage)}`;
html += `
`;
});
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;
document.getElementById(‘duration’).textContent = duration;
document.getElementById(‘fees’).textContent = fees;
// 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;
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);
}
}
// 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);
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();
});
function handleBlogPosts(json) {
const entries = json.feed.entry || [];
const container = document.getElementById(‘recent-posts’);
// Filter artikel hanya dengan tag “Bedah jurusan”
const filteredEntries = entries.filter(entry => {
if (!entry.category) return false;
return entry.category.some(cat =>
cat.term.toLowerCase() === “accounting”
);
});
if (filteredEntries.length === 0) {
container.innerHTML = ‘
Tidak ada postingan ditemukan untuk tag “Accounting”.
‘;
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-1499750310107-5fef28a66643?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}
`;
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);
})();
Australia
Inggris
USA
Canada
Singapore
Malaysia