Nama : Rafly Al Fahrezi
NRP : 5025241131
Kelas : PBKK-D
Kode Program: https://github.com/rafly-alpha/week3pbkk-calculatorapp
Gambar Hasil Aplikasi Kalkulator Sederhana
1. Pendahuluan
1.1 Latar Belakang
Kalkulator merupakan salah satu aplikasi paling dasar yang sering dijadikan latihan pertama bagi pemula dalam mempelajari pemrograman GUI (Graphical User Interface). Melalui pembuatan kalkulator, kita dapat mempelajari konsep dasar seperti:
- Penggunaan komponen antarmuka (Button, Label, TextBox)
- Penanganan event (event handler)
- Logika aritmatika dasar
- Manipulasi string dan konversi tipe data
- Desain tampilan (UI/UX) sederhana
1.2 Tujuan
- Memahami dasar pembuatan aplikasi desktop menggunakan Windows Forms App
- Menerapkan konsep Object-Oriented Programming (OOP) dalam C#
- Membuat aplikasi kalkulator dengan operasi dasar: tambah, kurang, kali, bagi
- Merancang antarmuka yang menarik dan mudah digunakan
1.3 Manfaat
- Menambah keterampilan praktis dalam pemrograman C#
- Menjadi dasar untuk membangun aplikasi yang lebih kompleks
- Memahami alur kerja pengembangan aplikasi di Visual Studio
2. Alat dan Bahan
| No | Alat/Bahan | Keterangan |
|---|---|---|
| 1 | Visual Studio 2026 | IDE utama untuk pengembangan |
| 2 | .NET Framework 10.0+ | Framework yang digunakan |
| 3 | Windows Forms App | Template project |
| 4 | C# | Bahasa pemrograman |
| 5 | PC/Laptop | Windows 10/11 |
3. Langkah-Langkah Pembuatan
3.1 Membuat Project Baru
- Buka Visual Studio
- Pilih Create a new project
- Pilih template Windows Forms App
- Beri nama project:
KalkulatorApp - Klik Create
3.2 Struktur Aplikasi
Aplikasi kalkulator ini terdiri dari:
- Form Utama โ tempat semua komponen ditampilkan
- Panel Display โ menampilkan angka dan riwayat operasi
- 20 Tombol โ angka, operator, dan fungsi khusus
3.3 Layout Tombol
Layout menggunakan grid 4 kolom ร 5 baris:
| Baris | Kolom 1 | Kolom 2 | Kolom 3 | Kolom 4 |
|---|---|---|---|---|
| 1 | C | % | ยฑ | โซ |
| 2 | 7 | 8 | 9 | รท |
| 3 | 4 | 5 | 6 | ร |
| 4 | 1 | 2 | 3 | โ |
| 5 | 0 | . | = | + |
3.4 Skema Warna
| Elemen | Warna | Kode Hex |
|---|---|---|
| Background | Putih bersih | #FFFFFF |
| Display | Putih + border abu | #DCE1EB |
| Tombol angka & fungsi | Putih | #FFFFFF |
| Operator (รท ร โ +) | Biru cerah | #3498DB |
| Tombol C dan โซ | Merah cerah | #E74C3C |
| Tombol = | Hijau cerah | #2ECC71 |
4. Kode Program
Kode Program Full bisa diakses melalui Link Repositori Github Berikut: https://github.com/rafly-alpha/week3pbkk-calculatorapp
4.1 Struktur Kelas Utama
csharp
public partial class Form1 : Form
{
private Label lblDisplay;
private Label lblRiwayat;
private double nilaiPertama = 0;
private double nilaiSekarang = 0;
private string operatorMatematika = "";
private bool operatorDitekan = false;
private bool sudahHitung = false;
}
4.2 Membuat Tampilan Secara Programatik
csharp
private void BuatTampilanKalkulator()
{
this.Text = "Kalkulator";
this.ClientSize = new Size(370, 580);
this.BackColor = Color.White;
// Panel Display
Panel panelDisplay = new Panel();
panelDisplay.Location = new Point(10, 10);
panelDisplay.Size = new Size(350, 150);
// Label riwayat (simbol kecil)
lblRiwayat = new Label();
lblRiwayat.Font = new Font("Segoe UI", 14);
lblRiwayat.ForeColor = Color.FromArgb(150, 150, 150);
lblRiwayat.TextAlign = ContentAlignment.MiddleRight;
// Label angka utama
lblDisplay = new Label();
lblDisplay.Text = "0";
lblDisplay.Font = new Font("Segoe UI", 44, FontStyle.Bold);
lblDisplay.TextAlign = ContentAlignment.MiddleRight;
}
4.3 Logika Operasi Aritmatika
csharp
private void btnSama_Click(object sender, EventArgs e)
{
if (operatorMatematika == "") return;
nilaiSekarang = double.Parse(lblDisplay.Text);
double hasil = 0;
switch (operatorMatematika)
{
case "+": hasil = nilaiPertama + nilaiSekarang; break;
case "โ": hasil = nilaiPertama - nilaiSekarang; break;
case "ร": hasil = nilaiPertama * nilaiSekarang; break;
case "รท":
if (nilaiSekarang == 0)
{
MessageBox.Show("Tidak bisa dibagi dengan nol!");
return;
}
hasil = nilaiPertama / nilaiSekarang;
break;
}
lblDisplay.Text = hasil.ToString();
}
4.4 Validasi Pembagian Nol
Salah satu fitur penting adalah mencegah error saat pembagian dengan nol:
csharp
if (nilaiSekarang == 0)
{
MessageBox.Show("Tidak bisa dibagi dengan nol!", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
btnClear_Click(sender, e);
return;
}
5. Hasil Pengujian
5.1 Skenario Pengujian


5.2 Tampilan Akhir
Aplikasi kalkulator berhasil dibuat dengan tampilan:

- Display berisi angka besar dengan riwayat operasi di atasnya
- Tombol angka berwarna putih dengan border abu tipis
- Tombol operator (รท ร โ +) berwarna biru
- Tombol C dan โซ berwarna merah
- Tombol = berwarna hijau
- Efek hover interaktif pada setiap tombol
6. Kesimpulan
6.1 Kesimpulan
- Aplikasi kalkulator sederhana berhasil dibuat menggunakan Windows Forms App dan bahasa C#
- Aplikasi mampu melakukan operasi dasar: tambah, kurang, kali, bagi
- Fitur tambahan berhasil diimplementasikan: persen, plus/minus, backspace
- Validasi input berhasil mencegah error seperti pembagian dengan nol
- Antarmuka dirancang user-friendly dengan skema warna yang jelas dan menarik
6.2 Saran Pengembangan
Aplikasi ini dapat dikembangkan lebih lanjut dengan menambahkan:
- Fitur history โ menyimpan riwayat perhitungan
- Mode scientific โ operasi trigonometri, logaritma, pangkat
- Mode programmer โ konversi biner, oktal, heksadesimal
- Dukungan keyboard โ input via keyboard fisik
- Tema terang/gelap โ pilihan tampilan
- Menyimpan hasil ke file โ ekspor ke .txt atau .csv