π Buku panduan lengkap untuk belajar C++ dan Qt Framework
Buku ini dirancang khusus untuk pemula yang ingin menguasai pemrograman C++ dan pengembangan aplikasi dengan Qt Framework. Dengan pendekatan pembelajaran bertahap dan contoh kode yang lengkap, Anda akan belajar dari dasar hingga mahir.
- π Pembelajaran Bertahap - Dari dasar hingga lanjutan
- π» 333+ Contoh Kode - Siap jalankan dengan Qt Creator
- π¨ GUI Programming - Membuat aplikasi dengan antarmuka grafis
- ποΈ Database Integration - SQLite dan MySQL
- π Web Integration - Qt WebKit untuk browser
- π Debugging Guide - Teknik debugging yang efektif
- ποΈ Design Patterns - Singleton, Observer, MVC
- π± Cross-Platform - Windows, macOS, Linux
- Pengenalan C++ dan Qt Creator - Sejarah dan setup
- Tipe Data dan Operator - Fondasi programming
- Control Statement - Struktur kontrol (if, switch, loop)
- Array dan String - Koleksi data dan manipulasi teks
- Fungsi - Modularisasi program
- Pointer dan References - Memory management
- Debugging - Teknik debugging
- Class dan Object - OOP fundamentals
- Inheritance - Pewarisan sifat
- Operator Overloading - Custom operators
- Polymorphism - Fleksibilitas objek
- Design Patterns - Solusi terbukti
- Casting dan Database - Konversi dan data
- Qt Library - Library fundamentals
- File, Stream, dan XML - Data handling
- Qt WebKit - Web integration
- GUI dengan Qt - Antarmuka grafis
# Build PDF locally
cd latex
pdflatex book.tex
# PDF akan tersedia di latex/book.pdf
# Baca file Markdown di folder manuscript/
open manuscript/book.md
-
Install Qt Creator
# Download dari https://www.qt.io/download # Atau gunakan package manager
-
Clone repository
git clone https://github.com/your-username/cpp-qt.git cd cpp-qt
-
Buka contoh kode
# Contoh kode tersedia di folder code/ # Buka dengan Qt Creator
- Qt Creator 5.15+ atau Qt 6.x
- C++ compiler (GCC, MSVC, Clang)
- Python 3.9+ (untuk script konversi)
- TeX Live (untuk build PDF)
# Clone repository
git clone https://github.com/your-username/cpp-qt.git
cd cpp-qt
# Install Python dependencies
pip install pathlib
# Sync LaTeX to Markdown
python latex_to_markdown_enhanced.py
python embed_code_final.py
- Edit file LaTeX di folder
latex/
- Jalankan sync script untuk update Markdown
- Commit perubahan
- Push ke repository
# Edit LaTeX file
vim latex/01-pengenalan.tex
# Sync to Markdown
python latex_to_markdown_enhanced.py
python embed_code_final.py
# Commit changes
git add .
git commit -m "Update chapter 1"
git push
- Trigger: Push tags (v*)
- Action: Build PDF from LaTeX
- Output: Create GitHub release with PDF attachment
- Trigger: Push to main/master
- Action: Validate Markdown files
- Output: Generate documentation
- Trigger: Changes in latex/ or code/
- Action: Auto-sync LaTeX to Markdown
- Output: Updated Markdown files
- Trigger: Push/PR to main/master
- Action: Validate project structure
- Output: Test report
# Create and push tag
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
# GitHub Actions will automatically:
# 1. Build PDF
# 2. Create release
# 3. Attach PDF to release
# Use the release script
chmod +x scripts/create-release.sh
./scripts/create-release.sh v1.0.0 "Initial release"
- Update version in LaTeX files
- Create git tag with version
- Push tag to trigger workflow
- GitHub Actions builds PDF
- Release created with PDF attachment
- Share release with community
cpp-qt/
βββ π latex/ # LaTeX source files
β βββ book.tex # Main book file
β βββ 01-pengenalan.tex # Chapter files
β βββ ...
βββ π manuscript/ # Markdown files
β βββ README.md # Book documentation
β βββ book.md # Main book structure
β βββ 01-pengenalan.md # Chapter files
β βββ ...
βββ π» code/ # Code examples
β βββ contoh-a.cpp # Example files
β βββ contoh-b.cpp
β βββ ...
βββ π§ .github/workflows/ # CI/CD workflows
β βββ build-pdf.yml # PDF build workflow
β βββ build-markdown.yml # Markdown validation
β βββ ...
βββ π scripts/ # Utility scripts
β βββ create-release.sh # Release script
βββ π README.md # This file
- Baca Prakata -
manuscript/00-prakata.md
- Install Qt Creator - Setup development environment
- Ikuti Bab 1 - Pengenalan C++ dan Qt Creator
- Praktik Kode - Jalankan contoh di setiap bab
- Review OOP - Part II chapters
- Praktik Design Patterns - Bab 11
- Buat Project GUI - Part IV
- Integrasi Database - Bab 10
- Custom Qt Components - Extend Qt
- Performance Optimization - Advanced C++
- Cross-Platform Development - Multi-platform apps
- Contribute to Qt - Open source contribution
- Qt Documentation - Official Qt docs
- C++ Reference - C++ standard library
- Qt Creator - IDE download
- "The C++ Programming Language" - Bjarne Stroustrup
- "Qt 5.9 C++ Development Guide" - The Qt Company
- "Effective C++" - Scott Meyers
Nur Wachid - Head of Software Engineering di PT. Lingkar Kreasi Teknologi
- π Website: https://www.wach.id
- π§ Email: [email protected]
- πΌ LinkedIn: [LinkedIn Profile]
- Fork repository ini
- Buat branch untuk fitur baru
- Edit LaTeX files untuk konten
- Jalankan sync script untuk update Markdown
- Commit dan push perubahan
- Buat Pull Request
- Buat issue baru di repository
- Jelaskan masalah dengan detail
- Sertakan screenshot jika diperlukan
- Buat issue dengan label "enhancement"
- Jelaskan fitur yang diinginkan
- Berikan contoh use case
Buku ini menggunakan lisensi Creative Commons Attribution-NonCommercial 4.0 International License.
- β Boleh: Copy, distribute, adapt, remix
- β Tidak boleh: Commercial use
- π Wajib: Attribution to author
- Qt Company - Untuk framework yang luar biasa
- C++ Community - Untuk bahasa pemrograman yang powerful
- Open Source Contributors - Untuk kontribusi dan feedback
- Readers - Untuk dukungan dan semangat belajar
# Clone repository
git clone https://github.com/your-username/cpp-qt.git
cd cpp-qt
# Install Qt Creator
# Download dari https://www.qt.io/download
# Baca buku
open manuscript/book.md
# Jalankan contoh
# Buka code/contoh-a.cpp di Qt Creator
Selamat belajar dan happy coding! π
"Programming is not about typing, it's about thinking." - Rich Hickey