
Kursus Pemrograman Server-Side via Pengembangan Game
Kuasai pemrograman sisi server dengan membangun backend game multipemain yang berfungsi penuh dari awal. Kursus ini mencakup jaringan real-time, status game otoritatif, autentikasi pemain, sistem anti-cheat, dan penerapan cloud. Setiap konsep didasarkan pada skenario pengembangan game praktis yang langsung dapat diterjemahkan menjadi keterampilan teknik backend profesional.
Apa yang akan Anda pelajari:
Konfigurasikan server WebSocket Node.js untuk menangani ribuan koneksi multipemain secara bersamaan.
Bangun mesin status game otoritatif yang memvalidasi input pemain dan mencegah manipulasi klien.
Integrasikan basis data relasional dan dokumen untuk menyimpan profil pemain, skor, dan riwayat pertandingan.
Implementasikan autentikasi berbasis token dan kontrol akses berbasis peran untuk sesi game yang aman.
Terapkan sistem deteksi anti-cheat, pemantauan anomali statistik, dan penegakan hukuman otomatis.
Deploy server game dalam kontainer dengan penyeimbangan beban, dasbor observabilitas, dan strategi pembaruan tanpa waktu henti.
Bagaimana Anda belajar secara praktis Kursus Pemrograman Server-Side via Pengembangan Game
Bagaimana Anda berlatih Kursus Pemrograman Server-Side via Pengembangan Game
Untuk Anda yang memiliki perusahaan dan ingin melatih tim
Di Dedika untuk perusahaan, kursus dilengkapi dengan latihan dan contoh yang disesuaikan dengan bisnis Anda dan kebutuhan perusahaan Anda.
Konten kursus
8 Bab • 40 PelajaranDurasi antara 4 dan 360 jam (Anda yang menentukan)
Bab 1SembunyikanSembunyikan detailLihat detailDasar-Dasar Sisi Server dan Arsitektur Game
Dasar-Dasar Sisi Server dan Arsitektur Game
Pelajaran 1 • Konsep Game Loop di Server
Menerjemahkan pola game loop klasik menjadi sistem tick di sisi server. Mahasiswa mengimplementasikan loop pembaruan dengan tingkat tetap yang mengelola status game secara otoritatif.
Pelajaran 2 • Pengantar HTTP dan WebSocket
Membandingkan HTTP request-response dengan koneksi WebSocket persisten untuk data waktu nyata. Menjelaskan mengapa game lebih menyukai WebSocket untuk pembaruan status dengan latensi rendah.
Pelajaran 3 • Struktur Data Dasar untuk Status Game
Mencakup peta, antrean, dan grafik objek yang digunakan untuk merepresentasikan pemain, ruangan, dan entitas. Memilih struktur yang tepat berdampak langsung pada throughput server dan kejelasan kode.
Pelajaran 4 • Menyiapkan Lingkungan Pengembangan
Menginstal dan mengonfigurasi runtime, manajer paket, dan alat pembuatan proyek. Memastikan setiap mahasiswa memiliki basis yang berfungsi sebelum menulis logika game apa pun.
Pelajaran 5 • Model Klien-Server dalam Game
Mendefinisikan arsitektur server otoritatif dan membandingkannya dengan model peer-to-peer. Mendasari semua keputusan jaringan dan logika game selanjutnya dalam bab ini.
Bab 2SembunyikanSembunyikan detailLihat detailJaringan Waktu Nyata dengan WebSocket
Jaringan Waktu Nyata dengan WebSocket
Pelajaran 1 • Manajemen Lobi dan Ruangan
Membuat objek ruangan di sisi server yang mengelompokkan pemain sebelum dan selama pertandingan. Ruangan mengisolasi status game dan memungkinkan sesi independen bersamaan.
Pelajaran 2 • Penanganan Kesalahan dan Ketahanan Koneksi
Mengimplementasikan pola try-catch, peristiwa error, dan prosedur penghentian yang baik. Penanganan kesalahan yang tangguh mencegah satu klien yang buruk merusak seluruh server.
Pelajaran 3 • Membangun Server WebSocket
Mengimplementasikan server WebSocket menggunakan library Node.js yang populer dan menangani peristiwa koneksi. Menyediakan tulang punggung jaringan untuk semua fitur game yang dibangun di bab-bab selanjutnya.
Pelajaran 4 • Mengelola Koneksi Pemain
Melacak pemain yang terhubung dengan ID unik dan menangani skenario koneksi ulang dengan baik. Manajemen koneksi yang andal sangat penting untuk sesi multipemain yang adil.
Pelajaran 5 • Desain Protokol Pesan
Mendefinisikan format pesan terstruktur dengan bidang tipe dan payload untuk peristiwa game. Protokol yang konsisten mencegah kesalahan parsing dan menyederhanakan integrasi klien.
Bab 3SembunyikanSembunyikan detailLihat detailIntegrasi Basis Data untuk Data Game
Integrasi Basis Data untuk Data Game
Pelajaran 1 • Mengimplementasikan Operasi CRUD
Menulis fungsi create, read, update, dan delete yang dibungkus dalam pola async/await. Merangkum panggilan basis data dalam modul layanan menjaga kebersihan logika game.
Pelajaran 2 • Memilih Basis Data untuk Data Game
Membandingkan basis data relasional dan dokumen dalam hal latensi, fleksibilitas skema, dan kebutuhan kueri. Pilihan yang tepat tergantung pada hubungan data dan pola baca-tulis.
Pelajaran 3 • Menyimpan Data yang Sering Diakses ke Cache
Memperkenalkan lapisan cache dalam memori untuk mengurangi perjalanan bolak-balik basis data untuk data panas. Menyimpan papan peringkat dan profil ke cache secara dramatis menurunkan waktu respons server.
Pelajaran 4 • Memodelkan Data Pemain dan Pertandingan
Mendesain skema untuk profil pemain, catatan pertandingan, dan entri papan peringkat. Desain skema yang baik mengurangi kompleksitas kueri dan mendukung penambahan fitur di masa depan.
Pelajaran 5 • Transaksi dan Integritas Data
Menggunakan transaksi basis data untuk memastikan pembaruan skor dan catatan pertandingan ditulis secara atomik. Transaksi mencegah penulisan parsial yang merusak peringkat papan peringkat.
Bab 4SembunyikanSembunyikan detailLihat detailManajemen Status Game Otoritatif
Manajemen Status Game Otoritatif
Pelajaran 1 • Resolusi Konflik dan Rollback
Menangani tindakan konflik simultan dari beberapa pemain menggunakan arbitrase sisi server. Mahasiswa mengimplementasikan mekanisme rollback sederhana untuk langkah yang ditolak.
Pelajaran 2 • Menerapkan dan Menyiarkan Perubahan Status
Memperbarui status game kanonis dan mendorong delta ke semua klien yang relevan secara atomik. Pembaruan atomik mencegah klien mengamati status antara yang tidak konsisten.
Pelajaran 3 • Menyimpan Snapshot Status Game
Menyimpan snapshot status berkala ke memori atau disk untuk pemulihan crash dan replay. Snapshot memungkinkan server melanjutkan sesi yang terputus tanpa kehilangan data.
Pelajaran 4 • Memvalidasi Input Pemain di Server
Menerapkan pemeriksaan aturan sebelum mengubah status game untuk menolak langkah curang atau salah bentuk. Validasi sisi server adalah pertahanan utama terhadap manipulasi klien.
Pelajaran 5 • Desain Mesin Status untuk Game
Memodelkan fase game seperti lobi, bermain, dan game-over sebagai status eksplisit dengan transisi. Mesin status mencegah tindakan ilegal dan menyederhanakan debugging.
Bab 5SembunyikanSembunyikan detailLihat detailAutentikasi dan Otorisasi Pemain
Autentikasi dan Otorisasi Pemain
Pelajaran 1 • Registrasi Pengguna dan Keamanan Kata Sandi
Mengimplementasikan endpoint registrasi dengan penyimpanan kata sandi yang di-hash menggunakan algoritma yang kuat. Penyimpanan kredensial yang aman adalah fondasi dari semua fitur autentikasi selanjutnya.
Pelajaran 2 • Kontrol Akses Berbasis Peran
Menetapkan peran pemain, moderator, dan admin serta menerapkannya pada tindakan server yang sensitif. RBAC mencegah pemain biasa mengakses perintah game administratif.
Pelajaran 3 • Mengamankan dari Serangan Autentikasi Umum
Memitigasi serangan brute-force, pencurian token, dan replay dengan tindakan pencegahan di sisi server. Penguatan proaktif mengurangi permukaan serangan sebelum game live.
Pelajaran 4 • Autentikasi Berbasis Token
Menerbitkan JSON Web Token yang ditandatangani saat login dan memverifikasinya pada setiap permintaan yang dilindungi. Token tanpa status diskalakan di beberapa instance server tanpa penyimpanan sesi bersama.
Pelajaran 5 • Melindungi Koneksi WebSocket
Memvalidasi token selama handshake upgrade WebSocket sebelum menerima lalu lintas game. Soket yang tidak diautentikasi ditolak sebelum dapat berinteraksi dengan status game.
Bab 6SembunyikanSembunyikan detailLihat detailLogika Game, Aturan, dan Sistem Anti-Cheat
Logika Game, Aturan, dan Sistem Anti-Cheat
Pelajaran 1 • Menerapkan Hukuman dan Larangan
Menerapkan peringatan, penangguhan sementara, dan larangan permanen melalui mesin kebijakan sisi server. Penegakan otomatis yang konsisten mencegah kecurangan dan menjaga kepercayaan komunitas.
Pelajaran 2 • Manajemen Giliran dan Antrean Tindakan
Mengimplementasikan urutan giliran yang teratur dan mengantrekan tindakan simultan untuk pemrosesan yang adil. Antrean yang tepat menghilangkan kondisi balapan dalam skenario multipemain yang kompetitif.
Pelajaran 3 • Menyandikan Aturan Game sebagai Logika Server
Menerjemahkan dokumen desain game menjadi fungsi aturan murni sisi server tanpa kepercayaan klien. Memusatkan aturan memastikan semua klien mengalami gameplay yang identik dan adil.
Pelajaran 4 • Fisika dan Tabrakan di Server
Menjalankan pemeriksaan fisika ringan di sisi server untuk memvalidasi klaim pergerakan dan tabrakan. Fisika server mencegah teleportasi dan cheat kecepatan yang dilaporkan oleh klien.
Pelajaran 5 • Deteksi Anomali Statistik
Memantau metrik pemain seperti akurasi dan waktu reaksi untuk menandai outlier statistik. Deteksi otomatis melengkapi moderasi manual untuk cakupan anti-cheat yang skalabel.
Bab 7SembunyikanSembunyikan detailLihat detailSkalabilitas dan Optimasi Kinerja
Skalabilitas dan Optimasi Kinerja
Pelajaran 1 • Membuat Profil Kinerja Server
Menggunakan alat profiling bawaan dan pihak ketiga untuk mengidentifikasi hambatan CPU dan memori. Membuat profil sebelum mengoptimalkan mencegah upaya yang sia-sia pada jalur kode yang tidak kritis.
Pelajaran 2 • Optimasi Kueri Basis Data
Menulis ulang kueri lambat, menambahkan indeks, dan memperkenalkan connection pooling untuk throughput tinggi. Hambatan basis data sering kali menjadi kendala skalabilitas pertama dalam game live.
Pelajaran 3 • Penyeimbangan Beban Lalu Lintas Game
Mengonfigurasi penyeimbang beban untuk mendistribusikan koneksi WebSocket ke beberapa instance server. Penyeimbangan yang tepat mencegah hot spot dan memastikan pemanfaatan sumber daya yang merata.
Pelajaran 4 • Mengoptimalkan Game Loop dan Tick Rate
Mengurangi biaya komputasi per tick melalui batching, keluar awal, dan partisi spasial. Tick yang efisien memungkinkan jumlah pemain yang lebih tinggi tanpa meningkatkan biaya perangkat keras server.
Pelajaran 5 • Penskalaan Horizontal dengan Beberapa Instance
Mendistribusikan ruangan game ke beberapa proses server menggunakan lapisan koordinasi bersama. Penskalaan horizontal menghilangkan batasan kapasitas instance tunggal untuk basis pemain yang besar.
Bab 8SembunyikanSembunyikan detailLihat detailDeployment, Pemantauan, dan Operasi Live
Deployment, Pemantauan, dan Operasi Live
Pelajaran 1 • Metrik, Dasbor, dan Pemberitahuan
Mengekspos metrik server dan membangun dasbor untuk memvisualisasikan jumlah pemain, latensi, dan error. Pemberitahuan proaktif menangkap regresi sebelum pemain melaporkannya.
Pelajaran 2 • Pembaruan Tanpa Waktu Henti dan Hotfix
Menerapkan deployment blue-green dan pengurasan yang baik untuk memperbarui server tanpa memutuskan koneksi pemain. Operasi game live membutuhkan strategi pembaruan yang menjaga sesi aktif.
Pelajaran 3 • Mengontainerisasi Server Game
Mengemas server dan dependensinya ke dalam image kontainer untuk deployment yang konsisten. Kontainer menghilangkan penyimpangan lingkungan antara pengembangan, staging, dan produksi.
Pelajaran 4 • Pipeline CI/CD untuk Server Game
Mengotomatiskan tahap build, pengujian, dan deploy sehingga setiap penggabungan kode mencapai produksi dengan aman. Pipeline otomatis mengurangi kesalahan manusia dan mempercepat irama rilis.
Pelajaran 5 • Pencatatan Terstruktur dan Pelacakan Terdistribusi
Memancarkan log JSON terstruktur dan span trace untuk menghubungkan peristiwa di seluruh instance server. Pelacakan terdistribusi sangat penting untuk mendiagnosis masalah latensi dalam deployment yang diskalakan.
Sertifikat valid Anda setelah menyelesaikan
Kursus ini cocok untuk Anda:
Pengembang backend junior: ingin memperdalam keterampilan melalui proyek yang menarik.
Pengembang game indie: membutuhkan fondasi server yang kokoh untuk fitur multipemain.
Mahasiswa ilmu komputer: siap menerapkan teori kelas ke sistem dunia nyata.
Pengembang frontend: ingin berkembang menjadi full-stack dengan menangani kode sisi server.
Pengubah karier: membawa pengalaman coding umum dan menargetkan industri game.
Apa kata para siswa kami
Kelasnya sangat sempurna. Saya membeli paket satu tahun dan akhirnya memiliki kesempatan untuk mengikuti berbagai topik yang saya minati tanpa perlu berganti platform... terima kasih atas semua yang kalian lakukan, saya sudah merekomendasikan kalian kepada orang lain...

Saya suka bagaimana pelajarannya langsung pada intinya dan bagaimana saya bisa berpindah bab dan melewati konten yang tidak saya butuhkan.

Saya suka kontennya dan cara presentasi serta transkripsi videonya, yang mempercepat prosesnya!

Platformnya cepat, mudah digunakan. Keragaman konten dan video pelengkapnya sangat membantu dalam pembelajaran.

Pelatihan utama
FAQ
Siapa itu Dedika?
Apakah sertifikat ini berlaku di Indonesia?
Apakah kursusnya gratis?
Berapa beban belajar kursusnya?
Bagaimana bentuk kursusnya?
Bagaimana cara kerja kursusnya?
Berapa lama durasi kursusnya?
Berapa biaya atau harga kursusnya?
Apa itu kursus EAD atau online dan bagaimana cara kerjanya?
Kursus PDF




















