JetBrains CLion adalah IDE komersial untuk C dan C++ yang menyediakan fitur lengkap: refactoring, code analysis, integrasi CMake native, debugger visual, dan profiler. CLion berbeda dari VS Code karena IDE penuh (bukan editor ringan), tetapi menuntut konfigurasi toolchain eksplisit agar dapat berfungsi. Bab ini menuntun kita menyiapkan CLion di Windows, macOS, dan Linux, memilih toolchain, dan membuat proyek C pertama.

1. Pemasangan CLion #

Download dan Install #

  1. Buka https://www.jetbrains.com/clion/download/.
  2. Download installer untuk OS kita (Windows .exe, macOS .dmg, Linux .tar.gz).
  3. Jalankan installer dan ikuti wizard.

Untuk Linux, ekstrak .tar.gz ke lokasi tetap:

bash
sudo mkdir -p /opt/clion
sudo tar -xzf CLion-*.tar.gz -C /opt/clion --strip-components=1
/opt/clion/bin/clion.sh

Untuk akses cepat, tambahkan ke desktop environment atau buat alias shell:

bash
echo 'alias clion="/opt/clion/bin/clion.sh &> /dev/null &"' >> ~/.bashrc
source ~/.bashrc

Aktivasi Lisensi #

CLion komersial—ada beberapa opsi:

OpsiKeterangan
Trial 30 hariOtomatis saat pertama dibuka
Community EditionGratis untuk non-komersial, fitur terbatas
Student LicenseGratis untuk siswa/mahasiswa dengan email .edu
Open Source LicenseGratis untuk proyek open source yang memenuhi syarat

2. Memilih Toolchain Default #

Saat pertama kali membuka CLion, dialog akan menanyakan toolchain. Pilih sesuai sistem:

Windows: MinGW-w64 #

  1. Buka File → Settings → Build, Execution, Deployment → Toolchains.
  2. Klik + → pilih MinGW.
  3. Field MinGW home otomatis terdeteksi bila MSYS2 terpasang di path default. Bila tidak, isi dengan C:\msys64.
  4. CLion otomatis mendeteksi gcc.exe, gdb.exe, make.exe dari subfolder ucrt64/bin.
  5. Klik OK.

Windows: WSL #

  1. Klik + → pilih WSL.
  2. Pilih distro WSL (mis. Ubuntu).
  3. CLion otomatis mendeteksi toolchain di dalam WSL.
  4. Klik OK. Toolchain WSL biasanya paling cepat untuk development C di Windows.

macOS: Default (Clang) #

  1. Klik + → pilih System.
  2. CLion otomatis mendeteksi Clang dari Xcode Command Line Tools.
  3. Klik OK.

Linux: System GCC #

  1. Klik + → pilih System.
  2. CLion mendeteksi /usr/bin/gcc, /usr/bin/gdb, /usr/bin/make secara otomatis.
  3. Klik OK.

3. Membuat Proyek C Pertama #

  1. New Project → pilih C Executable.
  2. Isi:
    • Location: ~/belajar-c/clion-hello
    • Language standard: C11 atau C17
  3. Klik Create.

CLion otomatis membuat struktur:

text
clion-hello/
├── CMakeLists.txt
├── main.c
└── cmake-build-debug/
    └── clion-hello   (binary setelah build)

File CMakeLists.txt yang dihasilkan:

cmake
cmake_minimum_required(VERSION 3.10)
project(clion_hello C)

set(CMAKE_C_STANDARD 11)

add_executable(clion_hello main.c)

File main.c yang dihasilkan (ringkas):

c
#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}

4. Build dan Run #

  1. Buka main.c.
  2. Klik tombol Run (segitiga hijau di kanan atas).
  3. CLion otomatis menjalankan CMake configure dan build, lalu menjalankan binary.

Output yang Dihasilkan (di panel Run bawah):

text
/Users/budi/Library/Caches/CLion2024.1/cmake-build-debug/clion_hello
Hello, World!

Process finished with exit code 0

5. Debugging Visual #

CLion menyediakan debugger visual yang sangat lengkap—lebih baik dari VS Code untuk proyek CMake.

  1. Set breakpoint dengan klik di kiri nomor baris.
  2. Klik tombol Debug (kecoak hijau di kanan atas).
  3. Saat breakpoint terkena, panel bawah menampilkan:
    • Variables: semua variabel lokal dan argumen.
    • Frames: call stack, klik frame untuk pindah konteks.
    • Watches: ekspresi custom.
    • Console: stdin/stdout interaktif.

Coba program berikut untuk eksplorasi fitur debugger:

c
/* File: main.c - Demo debugging CLion */
#include <stdio.h>
#include <string.h>

typedef struct {
    char nama[32];
    int  umur;
    float nilai;
} Mahasiswa;

static void tampilkan(Mahasiswa *m, int n) {
    for (int i = 0; i < n; i++) {
        printf("[%d] %s, umur %d, nilai %.2f\n",
               i, m[i].nama, m[i].umur, m[i].nilai);
    }
}

int main(void) {
    Mahasiswa kelas[] = {
        {"Budi",  20, 85.5},
        {"Siti",  21, 92.0},
        {"Andi",  19, 78.3},
    };
    int n = sizeof(kelas) / sizeof(kelas[0]);
    tampilkan(kelas, n);
    return 0;
}

Mari kita telaah fitur debugging yang dapat kita pakai:

  1. Breakpoint di baris printf: Variabel m ditampilkan sebagai array of struct—kita bisa expand setiap elemen untuk melihat field nama, umur, nilai.
  2. Conditional breakpoint: Klik kanan breakpoint → tambahkan kondisi i == 1. Eksekusi hanya berhenti pada iterasi kedua.
  3. Evaluate expression: Tekan Alt+F8 untuk membuka panel evaluasi. Ketik ekspresi strlen(kelas[0].nama) untuk evaluasi inline tanpa mengubah kode.
  4. Step filters: Untuk fungsi library, gunakan Step Over agar tidak masuk ke kode <stdio.h>.

6. Code Analysis dan Refactoring #

CLion menyediakan analisis statik bawaan yang mendeteksi:

KategoriContoh
Bug potensialNull dereference, use-after-free
Code smellFungsi terlalu panjang, duplikat
PerformancePass-by-value besar, alokasi berlebihan
StyleKonvensi naming, formatting

Akses cepat: Code → Inspect Code. Pilih profile General untuk inspeksi standar.

Refactoring tersedia via shortcut Ctrl+Alt+Shift+T (Cmd+Alt+Shift+T macOS):

RefactorShortcut
RenameShift+F6
Extract functionCtrl+Alt+M
Extract variableCtrl+Alt+V
InlineCtrl+Alt+N
Change signatureCtrl+F6

7. Konfigurasi CMake #

CLion membaca CMakeLists.txt dan otomatis membuat build configuration. Untuk menambah flag atau define, edit CMakeLists.txt:

cmake
cmake_minimum_required(VERSION 3.10)
project(clion_hello C)

set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)

add_executable(clion_hello main.c)
target_compile_options(clion_hello PRIVATE -Wall -Wextra -Wpedantic -g)

# Build type default Debug; untuk Release, set di dialog
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Debug)
endif()

Setelah mengubah CMakeLists.txt, klik Reload changes di banner kuning yang muncul di editor.

8. Integrasi dengan Tool Eksternal #

ToolKonfigurasi
ValgrindSettings → Tools → Valgrind, isi path /usr/bin/valgrind
clangdSettings → Languages & Frameworks → C/C++ → Clangd, aktifkan
clang-tidySettings → Editor → Inspections → C/C++ → Clang-Tidy
DoxygenTools → Generate Documentation
GitBawaan, panel Commit (Ctrl+K)

9. Troubleshooting #

Error: CMakeLists.txt not found #

Folder proyek tidak berisi CMakeLists.txt. Buka folder yang benar via File → Open. Bila proyek belum memakai CMake, klik kanan folder di Project view → New CMakeLists.txt.

Toolchain warning: gcc not found #

Toolchain tidak terdeteksi. Buka Settings → Toolchains dan klik Detect atau isi path manual ke gcc.exe.

Debugger tidak attach: Could not start gdb #

gdb tidak terpasang. Di Linux: sudo apt install gdb. Di Windows MinGW: pasang mingw-w64-ucrt-x86_64-gdb. Di macOS: gunakan LLDB (default CLion).

Build lambat #

CLion memakai CMake dengan generator default. Untuk build lebih cepat, ganti ke Ninja:

bash
sudo apt install ninja-build  # Linux
brew install ninja            # macOS
pacman -S mingw-w64-ucrt-x86_64-ninja  # Windows MSYS2

Lalu di CLion: Settings → Build, Execution, Deployment → CMake → ubah Generator ke Ninja.