Simple Code C++ untuk simulasi WhatsApp menggunakan Queue dengan Doubly Linked List.
Program ini mensimulasikan sistem pesan WhatsApp dengan fitur:
- โ๏ธ Tambah pesan baru (dengan spam filter)
- ๐๏ธ Hapus pesan pertama (FIFO - First In First Out)
- โ Batalkan pesan terakhir (LIFO - Last In First Out)
- ๐ Lihat semua pesan
- โ Tandai pesan sebagai dibaca
- ๐จ Interface dengan warna dan mouse support
- โจ๏ธ Text editor dengan selection, copy, paste
Program ini dibuat untuk Linux, jadi bisa langsung compile dan run tanpa konfigurasi tambahan.
Cek apakah g++ sudah ada:
g++ --versionJika belum ada, install dengan:
# Ubuntu/Debian
sudo apt update
sudo apt install g++ -y
# Fedora/RHEL
sudo dnf install gcc-c++ -y
# Arch Linux
sudo pacman -S gcccd /path/to/my-first-cpp-codeg++ wa.cpp -o wa./wa๐ Program berjalan sempurna dengan semua fitur (mouse, warna, UI)!
Program ini dibuat untuk Linux dan menggunakan library POSIX (termios.h, unistd.h, sys/ioctl.h).
| Metode | Kompabilitas | Mouse/UI | Kemudahan | File Tambahan | Rekomendasi |
|---|---|---|---|---|---|
| Docker | โ 100% | โญโญโญโญโญ | โ Tidak perlu | TERMUDAH | |
| WSL | โ 100% | โ Sempurna | โญโญโญโญ | โ Tidak perlu | TERBAIK |
| MinGW | โ Tidak jalan | โ Error | โญโญ | โ Tidak perlu | Tidak disarankan |
โ Kelebihan:
- Setup paling cepat (hanya butuh Docker Desktop)
- Tidak perlu file script tambahan - langsung dari README
- 100% kompatibel untuk compile
- Portable dan isolated
- Terminal UI terbatas
- File size installer besar (~500MB)
- Mouse tracking kadang tidak berfungsi
- Buka browser, kunjungi: https://www.docker.com/products/docker-desktop/
- Klik Download for Windows
- Tunggu download selesai (~500MB)
- Jalankan installer Docker Desktop Installer.exe
- Klik OK untuk menggunakan WSL 2 (recommended)
- Tunggu instalasi selesai (~5-10 menit)
- Klik Close and restart
- RESTART komputer
- Setelah restart, buka Docker Desktop dari Start Menu
- Tunggu sampai muncul status "Engine running" (pojok kiri bawah)
- Bisa minimize, Docker berjalan di background
- Tekan Windows + R
- Ketik
powershellโ Enter - Pindah ke folder project:
cd C:\struda\my-first-cpp-codeDi PowerShell, jalankan:
docker run -it --rm -v ${PWD}:/app gcc bashPenjelasan command:
docker run= Jalankan container-it= Interactive terminal--rm= Hapus container setelah selesai-v ${PWD}:/app= Mount folder sekarang ke/appdi containergcc= Gunakan image GCC (compiler C++)bash= Buka bash shell
Pertama kali akan download image GCC (~400MB), tunggu sampai selesai (~5-10 menit).
Setelah masuk ke container (prompt berubah jadi root@xxxxx:/), jalankan:
cd /app
g++ wa.cpp -o waJika TIDAK muncul error, berarti compile berhasil!
./waSetelah selesai, ketik:
exitContainer akan otomatis terhapus (karena flag --rm).
โ Kelebihan:
- 100% kompatibel dengan code Linux
- Semua fitur berjalan sempurna (mouse, warna, UI)
- Setup mudah dan cepat
- Ringan (tidak perlu virtual machine penuh)
-
Buka PowerShell sebagai Administrator:
- Tekan Windows + X
- Pilih Terminal (Admin) atau Windows PowerShell (Admin)
-
Jalankan command:
wsl --install- Tunggu proses instalasi selesai (~5-15 menit tergantung koneksi internet)
- RESTART komputer setelah instalasi selesai
Setelah restart, Ubuntu akan otomatis terbuka untuk setup awal:
- Tunggu proses instalasi Ubuntu selesai (~5 menit)
- Buat username baru (misalnya:
zhafran)- Ketik username โ Enter
- Catatan: Username harus huruf kecil, tanpa spasi
- Buat password
- Ketik password โ Enter
- Catatan: Saat mengetik password, TIDAK MUNCUL apa-apa di layar (normal!)
- Konfirmasi password (ketik ulang password yang sama)
- Tunggu sampai muncul prompt seperti:
zhafran@DESKTOP-XXX:~$
โ WSL berhasil terinstall!
Di terminal Ubuntu/WSL yang sudah terbuka, jalankan:
sudo apt update- Ketik password yang tadi dibuat โ Enter
- Tunggu update selesai (~1-2 menit)
Jalankan:
sudo apt install g++ -y- Tunggu instalasi selesai (~2-3 menit)
- Tidak perlu ketik password lagi (karena baru saja pakai sudo)
Cek apakah g++ berhasil terinstall:
g++ --versionJika muncul versi g++ (contoh: g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0), berarti BERHASIL!
File Windows bisa diakses di folder /mnt/:
- Drive
C:\โ/mnt/c/ - Drive
D:\โ/mnt/d/
Pindah ke folder project:
cd /mnt/c/struda/my-first-cpp-codeTips: Gunakan Tab untuk auto-complete path, contoh:
- Ketik:
cd /mnt/c/strlalu tekan Tab
Cek apakah sudah di folder yang benar:
pwdOutput harusnya: /mnt/c/struda/my-first-cpp-code
Lihat daftar file:
lsHarusnya muncul: wa.cpp, README.md, dll.
g++ wa.cpp -o waJika TIDAK muncul error, berarti compile berhasil!
./wa๐ Program berjalan sempurna dengan semua fitur!
Cara buka WSL lagi setelah ditutup:
- Cara 1: Ketik
wsldi PowerShell/CMD - Cara 2: Ketik
ubuntudi Start Menu - Cara 3: Buka aplikasi Ubuntu dari Start Menu
Edit code:
- Tetap edit di VS Code Windows seperti biasa
- File otomatis sinkron dengan WSL
- Compile & run di WSL terminal
Copy paste di WSL:
- Copy: Blok text โ Klik kanan
- Paste: Klik kanan di terminal
โ Masalah yang akan muncul:
- Error:
termios.h: No such file or directory - Error:
unistd.h: No such file or directory - Mouse tracking tidak berfungsi
- Raw mode terminal tidak support
- ANSI color codes mungkin tidak muncul
๐ฏ Rekomendasi: Gunakan Docker (Opsi 1) atau WSL (Opsi 2) untuk hasil terbaik!
Jika tetap ingin mencoba MinGW:
- Buka browser, kunjungi: https://www.msys2.org/
- Klik tombol download msys2-x86_64-xxxxxxxx.exe
- Tunggu download selesai (~100MB)
- Jalankan file installer yang sudah didownload
- Klik Next โ Next โ Next
- Install di lokasi default:
C:\msys64 - Klik Finish
- โ Centang "Run MSYS2 now" (atau biarkan ter-centang)
Setelah install, terminal MSYS2 akan otomatis terbuka. Di terminal tersebut:
pacman -Syu- Ketik
Ylalu tekan Enter untuk konfirmasi - Tunggu proses update selesai
โ ๏ธ Terminal akan tertutup otomatis setelah update
JANGAN buka MSYS2 MSYS biasa! Buka yang ini:
- Tekan tombol Windows di keyboard
- Ketik:
MINGW64 - Klik MSYS2 MINGW64 (icon biru/ungu dengan tulisan "MINGW64")
Atau cari di:
Start Menu โ MSYS2 โ MSYS2 MINGW64
Di terminal MSYS2 MINGW64 yang baru dibuka, jalankan:
pacman -S mingw-w64-x86_64-gcc- Ketik
Ylalu tekan Enter - Tunggu instalasi selesai (ukuran ~50-100 MB)
Cek apakah g++ sudah terinstall:
g++ --versionJika muncul output seperti ini, berarti BERHASIL:
g++ (Rev6, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
...
Di terminal MSYS2 MINGW64, pindah ke folder project:
- Windows:
C:\struda\my-first-cpp-code - MSYS2:
/c/struda/my-first-cpp-code
Jalankan:
cd /c/struda/my-first-cpp-codeTips: Sesuaikan path di atas dengan lokasi folder Anda!
- Drive
C:\menjadi/c/ - Drive
D:\menjadi/d/ - Backslash
\menjadi forward slash/
Cek apakah sudah benar dengan:
pwd
lsHarusnya muncul file wa.cpp, README.md, dll.
Jalankan perintah compile:
g++ wa.cpp -o wa.exe./wa.exeโ Kemungkinan besar TIDAK AKAN JALAN karena:
- Error:
termios.h: No such file or directoryโ Library Linux tidak ada - Error:
unistd.h: No such file or directoryโ Library Linux tidak ada - Error:
sys/ioctl.h: No such file or directoryโ Library Linux tidak ada - Mouse tracking tidak berfungsi
- Raw mode terminal tidak support
- ANSI color codes mungkin tidak muncul
๐ฏ SOLUSI: Gunakan Docker (Opsi 1) atau WSL (Opsi 2) - 100% Kompatibel!
Program ini menggunakan:
- Doubly Linked List: Untuk implementasi Queue
- Queue (FIFO): Untuk sistem antrian pesan
- Struct: Untuk menyimpan data pesan dan node
- Mouse Support: Klik 2x untuk memilih menu dan konfirmasi
- Keyboard Navigation: Arrow keys (โโโโ) untuk navigasi
- Text Selection: Shift+Arrow, Ctrl+Arrow, Alt+Arrow untuk seleksi teks
- Color Coding: Pesan belum dibaca (hijau), sudah dibaca (abu-abu)
Dibuat untuk pembelajaran Data Structure & Algorithm - Queue Implementation.