Selasa, 20 Februari 2024

Mengenal Resistor - part 1


1. Apa itu resistor?

Secara bahasa, "resistor" berasal dari kata "resist" yang berarti menghambat atau menahan, dan akhiran "-or" yang menunjukkan benda yang melakukan suatu tindakan. Jadi, secara harfiah, resistor adalah suatu benda yang melakukan tindakan menghambat atau menahan aliran arus listrik. Dalam istilah teknis elektronika, resistor adalah komponen pasif yang memiliki sifat tahanan atau resistansi terhadap arus listrik yang mengalir melaluinya.

Mengenal Wiring Diagram Electric, Rangkaian DOL untuk Motor Tiga Fasa, dan Simulasi menggunakan SIMURELAY

I. Pendahuluan

Wiring Diagram adalah representasi visual dari koneksi fisik antara komponen-komponen listrik dalam suatu sistem atau perangkat. Diagram ini menunjukkan bagaimana kabel atau penghubung fisik lainnya menghubungkan komponen-komponen tersebut satu sama lain. Wiring diagram digunakan untuk merencanakan, merancang, memahami, dan memperbaiki instalasi kabel dan sirkuit listrik.

Dalam wiring diagram, komponen-komponen listrik direpresentasikan oleh simbol-simbol standar. Simbol-simbol ini mencakup berbagai jenis komponen seperti sakelar, stop kontak, lampu, motor, dan sebagainya. Jalur kabel diilustrasikan dengan garis-garis atau jalur yang menghubungkan simbol-simbol tersebut, menunjukkan bagaimana kabel atau penghubung tersebut terhubung dan berinteraksi satu sama lain.

Cara Mengatur Posisi Gambar Pada Header Blog Berada di Tengah, Kiri, atau Kanan dengan Mudah di Blogger - Terbaru 2024

Desain blog yang menarik adalah kunci untuk memberikan kenyamanan saat pembaca mengunjungi halaman blog. Salah satu elemen desain yang penting adalah header blog. Namun, banyak template default blogger menempatkan header di sebelah kiri. Jika Anda ingin memberikan sentuhan lebih pada tampilan blog Anda dengan memposisikan header di tengah, kiri, atau kanan, tidak perlu khawatir. Pada artikel kali ini, saya akan membagikan catatan tentang panduan langkah demi langkah cara melakukan hal tersebut tanpa harus melakukan perubahan yang rumit pada template.

Dev-C++ VS C++ Builder : Pembuatan Layar Windows Disertai Tombol Close

Dalam dunia pengembangan perangkat lunak, pembuatan antarmuka pengguna grafis (GUI) adalah aspek penting yang mempengaruhi pengalaman pengguna dan efektivitas aplikasi. Dev-C++ dan C++ Builder adalah dua alat yang sering digunakan untuk tujuan ini, masing-masing dengan pendekatan dan fitur yang berbeda. Artikel ini  membahas perbandingan antara Dev-C++ dan C++ Builder dalam pembuatan jendela disertai tombol "Close".

I. Dev-C++ dengan WinAPI

Dev-C++ adalah IDE (Integrated Development Environment) yang sederhana namun kuat, sering digunakan oleh pengembang C++ untuk Windows. Untuk membuat aplikasi GUI dengan Dev-C++, umumnya kita menggunakan WinAPI (Windows API), yaitu sekumpulan fungsi dan antarmuka yang disediakan oleh Microsoft.

Langkah-langkah Membuat Jendela dengan Tombol Close di Dev-C++

  1. Buka Dev-C++ dan Buat Proyek Baru:
    • Buka Dev-C++ dan pilih "File" -> "New" -> "Project." Pilih "Windows Application" dan beri nama proyek Anda.
  1. Tulis Kode untuk Jendela Utama:
    • Secara default editor sudah menyediakan kode program untuk tampilan jendela.
    • Salin dan tempel, ganti seluruh kode default dengan kode berikut ke dalam file main.cpp :
C++

#include <windows.h>

/* Fungsi ini menangani semua input ke jendela */
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
    switch(Message) {
        /* Jika tombol diklik, tutup aplikasi */
        case WM_COMMAND: {
            if (LOWORD(wParam) == 1) { // Cek apakah tombol dengan ID 1 diklik
                PostQuitMessage(0); // Tutup aplikasi
            }
            break;
        }
        /* Jika jendela ditutup, berhentikan aplikasi */
        case WM_DESTROY: {
            PostQuitMessage(0);
            break;
        }
        
        /* Proses pesan lainnya dengan prosedur standar */
        default:
            return DefWindowProc(hwnd, Message, wParam, lParam);
    }
    return 0;
}

/* Fungsi utama dari program GUI Win32: eksekusi dimulai di sini */
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    WNDCLASSEX wc; /* Struktur properti dari jendela kita */
    HWND hwnd; /* 'HANDLE' atau pointer ke jendela kita */
    MSG msg; /* Tempat sementara untuk semua pesan */

    /* Nol-kan struktur dan atur properti yang kita butuhkan */
    memset(&wc, 0, sizeof(wc));
    wc.cbSize         = sizeof(WNDCLASSEX);
    wc.lpfnWndProc    = WndProc; /* Fungsi untuk menangani pesan */
    wc.hInstance      = hInstance;
    wc.hCursor        = LoadCursor(NULL, IDC_ARROW);
    
    /* Warna latar belakang jendela putih */
    wc.hbrBackground  = (HBRUSH)(COLOR_WINDOW + 1);
    wc.lpszClassName  = "WindowClass";
    wc.hIcon          = LoadIcon(NULL, IDI_APPLICATION); /* Memuat ikon standar */
    wc.hIconSm        = LoadIcon(NULL, IDI_APPLICATION); /* Ikon kecil standar */

    /* Daftarkan kelas jendela, tampilkan pesan kesalahan jika gagal */
    if (!RegisterClassEx(&wc)) {
        MessageBox(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    /* Buat jendela */
    hwnd = CreateWindowEx(
        WS_EX_CLIENTEDGE,
        "WindowClass",
        "Caption",
        WS_VISIBLE | WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, /* posisi x */
        CW_USEDEFAULT, /* posisi y */
        640, /* lebar */
        480, /* tinggi */
        NULL, NULL, hInstance, NULL
    );

    /* Tampilkan pesan kesalahan jika jendela gagal dibuat */
    if (hwnd == NULL) {
        MessageBox(NULL, "Window Creation Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    /* Buat tombol "Close" */
    HWND hButtonClose = CreateWindowEx(
        0,
        "BUTTON",
        "Close",
        WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
        50, 50, 100, 30, // posisi x, posisi y, lebar, tinggi
        hwnd,
        (HMENU)1, // ID Tombol
        hInstance,
        NULL
    );

    /*
        Loop utama program di mana semua input diproses dan 
        dikirim ke WndProc. GetMessage akan menunggu sampai ada pesan yang masuk,
        jadi loop ini tidak akan menggunakan CPU secara berlebihan
    */
    while (GetMessage(&msg, NULL, 0, 0) > 0) { /* Jika tidak ada error yang diterima... */
        TranslateMessage(&msg); /* Terjemahkan pesan tombol ke karakter jika ada */
        DispatchMessage(&msg); /* Kirim pesan ke WndProc */
    }
    return msg.wParam;
}

    
Code copied!

    • Penjelasan: Kode ini menangani klik pada tombol "Close" dengan menutup jendela aplikasi.
  1. Kompilasi dan Jalankan:
    • Klik "Run" untuk melihat jendela dengan tombol "Close" yang telah dibuat.


II. C++ Builder


C++ Builder adalah alat pengembangan perangkat lunak yang menawarkan lingkungan grafis dengan pustaka komponen (VCL) untuk membangun aplikasi GUI. Alat ini memungkinkan pengembang untuk merancang antarmuka pengguna menggunakan alat visual dan menulis kode untuk logika aplikasi.

Langkah-langkah Membuat Jendela dengan Tombol Close di C++ Builder

  1. Buka C++ Builder dan Buat Proyek Baru:
    • Buka C++ Builder dan pilih "File" -> "New" -> "VCL Forms Application." Beri nama proyek Anda.
  1. Desain Formulir:
    • Di jendela desain, Anda akan melihat Formulir (Form1) yang kosong. Gunakan panel komponen di sebelah kiri untuk menambahkan komponen tombol ke formulir. Pilih (klik) komponen TButton dari panel dan letakan (klik lagi) di Form1.
  1. Konfigurasi Tombol:
    • Pilih tombol yang baru ditambahkan dan buka panel Object Inspector. Ubah propertinya sebagai berikut:
      • Caption: "Close"
      • Name: CloseButton
    • Klik dua kali tombol untuk membuat prosedur penanganan klik tombol.
  1. Tambahkan Kode Penanganan Klik Tombol:
    • Di file Unit1.cpp, tambahkan kode perintah " this->Close(); " di dalam prosedur CloseButtonClick yang dihasilkan otomatis:
    C++
    
    void __fastcall TForm1::CloseButtonClick(TObject *Sender) {
        this->Close();
    }
    
    
        
    Code copied!

    • Penjelasan: Kode ini menangani klik pada tombol "Close" dengan menutup jendela aplikasi.
  1. Kompilasi dan Jalankan:
    • Klik "Run" untuk melihat jendela dengan tombol "Close" yang telah Anda desain.

III. Kesimpulan

Dev-C++ dengan WinAPI:

  • Kelebihan: Memberikan kontrol mendalam dan fleksibilitas. Cocok untuk pengembang yang ingin mempelajari dan bekerja langsung dengan Windows API.
  • Kekurangan: Memerlukan penulisan kode yang lebih panjang dan detail. Tidak ada alat desain visual, sehingga semua elemen GUI harus diatur melalui kode.

C++ Builder:

  • Kelebihan: Mempermudah pembuatan GUI dengan antarmuka grafis. Mendukung desain visual dengan komponen yang dapat di-drag-and-drop. Memisahkan desain antarmuka dari kode aplikasi.
  • Kekurangan: Mungkin kurang fleksibel dalam beberapa kasus dibandingkan dengan WinAPI untuk kontrol mendetail.

Pilihan antara Dev-C++ dan C++ Builder tergantung pada kebutuhan proyek dan preferensi pengembang. Dev-C++ cocok untuk mereka yang menginginkan kontrol penuh melalui kode, sedangkan C++ Builder menawarkan kemudahan dan kecepatan dalam pengembangan GUI melalui alat desain visual.

Popular Posts