INITIALIZING SYSTEM...

0%

Selamat Datang di KOMBIT

Pusat Pengembangan Skill IT & Teknologi SMAN 1 Ciampel

Daftar Sekarang

Apa Itu KOMBIT?

KOMBIT, atau Komunitas Belajar IT, adalah sebuah organisasi ekstrakurikuler yang berdiri di SMAN 1 Ciampel dengan misi besar untuk membekali siswa-siswi dengan kemampuan teknologi informasi yang relevan di era digital. Kami menyadari bahwa sekolah bukan hanya tempat untuk belajar teori, tetapi juga tempat untuk mengasah keterampilan teknis yang bisa langsung diterapkan di dunia nyata.

Komunitas ini dirancang sebagai tempat bagi siapa saja yang memiliki rasa ingin tahu tinggi terhadap teknologi, tanpa memandang latar belakang jurusan. Di sini, setiap anggota didorong untuk bereksplorasi, mulai dari hal yang paling dasar hingga tingkat lanjut melalui kolaborasi antar siswa dan bimbingan guru pembimbing yang ahli di bidangnya.

Kami menerapkan metode belajar yang santai namun tetap terarah, di mana setiap anggota dibebaskan untuk fokus pada bidang IT yang paling mereka sukai. Dengan suasana belajar yang kekeluargaan, KOMBIT menjadi rumah kedua bagi para siswa untuk berbagi ide kreatif dan memecahkan berbagai tantangan teknologi bersama-sama.

Lebih dari sekadar belajar komputer, KOMBIT bertujuan menciptakan generasi kreator, bukan sekadar pengguna. Kami ingin siswa SMAN 1 Ciampel mampu berinovasi dan bersaing dalam perkembangan teknologi yang sangat cepat, sehingga siap menghadapi masa depan dengan kepercayaan diri yang tinggi.

Visi & Misi

Visi

Terwujudnya komunitas belajar yang inovatif, kreatif, and unggul di bidang teknologi informasi guna mencetak generasi digital yang kompeten dan berintegritas.

Misi

  • Menyediakan wadah eksplorasi teknologi yang inklusif bagi seluruh siswa.
  • Menyelenggarakan kegiatan pelatihan rutin yang fokus pada keterampilan praktis IT.
  • Membangun semangat kolaborasi melalui proyek berbasis teknologi.
  • Mendorong pemanfaatan teknologi yang positif dan produktif bagi lingkungan sekolah.

Materi Yang Dipelajari

  • Web Development: Belajar membuat website dari nol dengan HTML, CSS, dan JavaScript.
  • Robotika & IoT: Merakit alat otomatis dan perangkat cerdas berbasis mikrokontroler.
  • Microsoft Office: Pengolahan dokumen, presentasi, dan data secara profesional.
  • Desain Grafis: Kreativitas visual menggunakan tools desain untuk berbagai kebutuhan.
  • Lainnya: AI, Troubleshooting hardware, and dasar-dasar keamanan siber.

Manfaat Bergabung

  • Meningkatkan skill digital yang sangat dicari di dunia kerja.
  • Membangun portofolio melalui proyek-proyek nyata.
  • Menambah relasi teman dengan minat yang sama.
  • Mendapatkan sertifikat kegiatan untuk keperluan akademik/karir.
Lokasi:
Ruang Lab Komputer
Jadwal:
Senin & Jumat (Selesai Sekolah)
Biaya:
100% Gratis Tanpa Biaya

"Jangan takut untuk memulai. Setiap ahli berawal dari seorang pemula yang tidak pernah berhenti mencoba. Di KOMBIT, kita tumbuh bersama teknologi!"

— Salam KOMBIT Team

Keluarga KOMBIT

Galeri Dokumentasi

"Mengabadikan setiap langkah kecil menuju kesuksesan besar. Berikut adalah momen-momen seru belajar dan berkarya di KOMBIT."

Area Terbatas

Halaman ini hanya bisa diakses oleh anggota terdaftar. Silahkan login untuk melihat tugas.

Area Terbatas

Halaman ini hanya bisa diakses oleh anggota terdaftar. Silahkan login untuk mengirimkan tugas Anda.

Source Code / Template

Salin template Firebase Realtime Database Login di bawah ini untuk digunakan di project Anda.

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Firebase RTDB Login Test</title>
    <style>
        * { box-sizing: border-box; margin: 0; padding: 0; font-family: Arial, sans-serif; }
        body { min-height: 100vh; display: flex; justify-content: center; align-items: center; background: #111827; color: white; }
        .container { width: 90%; max-width: 400px; background: #1f2937; padding: 30px; border-radius: 16px; box-shadow: 0 15px 40px rgba(0,0,0,.35); }
        h1 { text-align: center; margin-bottom: 8px; }
        .subtitle { text-align: center; color: #9ca3af; margin-bottom: 25px; font-size: 14px; }
        .form-group { margin-bottom: 16px; }
        label { display: block; margin-bottom: 7px; font-size: 14px; }
        input { width: 100%; padding: 12px; border: 1px solid #374151; border-radius: 8px; background: #111827; color: white; outline: none; }
        input:focus { border-color: #60a5fa; }
        button { width: 100%; padding: 12px; border: none; border-radius: 8px; background: #2563eb; color: white; font-weight: bold; cursor: pointer; margin-top: 5px; }
        button:hover { background: #1d4ed8; }
        #status { margin-top: 18px; padding: 12px; border-radius: 8px; display: none; font-size: 14px; line-height: 1.5; }
        .success { display: block !important; background: #064e3b; color: #a7f3d0; }
        .error { display: block !important; background: #7f1d1d; color: #fecaca; }
        .info { display: block !important; background: #1e3a8a; color: #bfdbfe; }
        .user-box { margin-top: 20px; padding: 15px; background: #111827; border-radius: 10px; display: none; }
        .user-box p { margin: 6px 0; color: #d1d5db; }
        .logout { background: #dc2626; margin-top: 15px; }
        .logout:hover { background: #b91c1c; }
    </style>
</head>
<body>
    <div class="container">
        <h1>Login Test</h1>
        <p class="subtitle">Firebase Realtime Database</p>
        <div class="form-group">
            <label for="username">Username</label>
            <input type="text" id="username" placeholder="Masukkan username" >
        </div>
        <div class="form-group">
            <label for="password">Password</label>
            <input type="password" id="password" placeholder="Masukkan password" >
        </div>
        <button id="loginBtn"> Login </button>
        <div id="status"></div>
        <div class="user-box" id="userBox">
            <p><strong>Login berhasil!</strong></p>
            <p>Username: <span id="loggedUsername"></span></p>
            <button class="logout" id="logoutBtn"> Logout </button>
        </div>
    </div>

    <!-- Firebase SDK -->
    <script type="module">
        import { initializeApp } from "https://www.gstatic.com/firebasejs/12.1.0/firebase-app.js";
        import { getDatabase, ref, get, child } from "https://www.gstatic.com/firebasejs/12.1.0/firebase-database.js";

        // ==========================================
        // FIREBASE CONFIG
        // GANTI DENGAN CONFIG FIREBASE MILIK KAMU
        // ==========================================
        const firebaseConfig = {
            apiKey: "MASUKKAN_API_KEY",
            authDomain: "PROJECT_ID.firebaseapp.com",
            databaseURL: "https://PROJECT_ID-default-rtdb.asia-southeast1.firebasedatabase.app",
            projectId: "PROJECT_ID",
            storageBucket: "PROJECT_ID.firebasestorage.app",
            messagingSenderId: "MESSAGING_SENDER_ID",
            appId: "APP_ID"
        };

        // ==========================================
        // INITIALIZE FIREBASE
        // ==========================================
        const app = initializeApp(firebaseConfig);
        const database = getDatabase(app);

        // ==========================================
        // ELEMENT
        // ==========================================
        const usernameInput = document.getElementById("username");
        const passwordInput = document.getElementById("password");
        const loginBtn = document.getElementById("loginBtn");
        const logoutBtn = document.getElementById("logoutBtn");
        const status = document.getElementById("status");
        const userBox = document.getElementById("userBox");
        const loggedUsername = document.getElementById("loggedUsername");

        // ==========================================
        // STATUS MESSAGE
        // ==========================================
        function showStatus(message, type) {
            status.textContent = message;
            status.className = type;
        }

        // ==========================================
        // LOGIN
        // ==========================================
        loginBtn.addEventListener("click", async () => {
            const username = usernameInput.value.trim();
            const password = passwordInput.value.trim();
            if (!username || !password) {
                showStatus("Username dan password wajib diisi.", "error");
                return;
            }
            showStatus("Memeriksa data...", "info");
            try {
                /* Struktur database yang diharapkan:
                users
                    user001
                        username: "admin"
                        password: "12345"
                    user002
                        username: "mustofa"
                        password: "abc123"
                */
                const dbRef = ref(database);
                const snapshot = await get(child(dbRef, "users"));
                if (!snapshot.exists()) {
                    showStatus("Data users tidak ditemukan di database.", "error");
                    return;
                }
                const users = snapshot.val();
                let foundUser = null;
                for (const id in users) {
                    const user = users[id];
                    if (user.username === username && user.password === password) {
                        foundUser = user;
                        break;
                    }
                }
                if (foundUser) {
                    showStatus("Login berhasil.", "success");
                    loggedUsername.textContent = foundUser.username;
                    userBox.style.display = "block";
                    loginBtn.style.display = "none";
                    usernameInput.disabled = true;
                    passwordInput.disabled = true;
                    // Simpan status login sementara
                    sessionStorage.setItem("loggedUser", foundUser.username);
                } else {
                    showStatus("Username atau password salah.", "error");
                }
            } catch (error) {
                console.error(error);
                showStatus("Gagal terhubung ke Firebase: " + error.message, "error");
            }
        });

        // ==========================================
        // LOGOUT
        // ==========================================
        logoutBtn.addEventListener("click", () => {
            sessionStorage.removeItem("loggedUser");
            userBox.style.display = "none";
            loginBtn.style.display = "block";
            usernameInput.disabled = false;
            passwordInput.disabled = false;
            usernameInput.value = "";
            passwordInput.value = "";
            status.style.display = "none";
        });

        // ==========================================
        // CEK SESSION
        // ==========================================
        const savedUser = sessionStorage.getItem("loggedUser");
        if (savedUser) {
            loggedUsername.textContent = savedUser;
            userBox.style.display = "block";
            loginBtn.style.display = "none";
            usernameInput.disabled = true;
            passwordInput.disabled = true;
        }
    </script>
</body>
</html>

Profil

Panel Admin