Minggu, 27 September 2026

Simulasi Counter Digital Menggunakan Push Button dan 7-Segment Berbasis Arduino

Simulasi Counter Digital Menggunakan Push Button dan 7-Segment Berbasis Arduino



Disusun Oleh:

Muhammad Adrian Vibrianto                         24051204124

Mohammad Rizqi Nova Triatmaja                24051204131

Adhim Musafak                                              24051204191

M. Faisal Alfiansyah                                      24051204205




BAB I

PENDAHULUAN

1.1 Latar Belakang

Mikrokontroler merupakan salah satu komponen penting dalam sistem elektronika karena dapat digunakan untuk menerima masukan, mengolah data, dan menghasilkan keluaran sesuai dengan program yang diberikan. Salah satu mikrokontroler yang banyak digunakan dalam pembelajaran adalah Arduino Uno. Arduino Uno memiliki pin digital yang dapat digunakan sebagai input maupun output sehingga sesuai untuk mempelajari konsep dasar input dan output digital. Arduino Uno berbasis mikrokontroler ATmega328P dan memiliki 14 pin digital input/output serta 6 pin input analog (Arduino, n.d.).

Salah satu bentuk penerapan input dan output digital adalah penggunaan push button sebagai masukan dan seven-segment display sebagai keluaran. Push button dapat digunakan untuk memberikan sinyal digital berupa kondisi ditekan atau tidak ditekan. Sinyal tersebut kemudian dibaca oleh Arduino dan diproses untuk menentukan nilai yang akan ditampilkan. Seven-segment display digunakan untuk menampilkan angka dalam bentuk yang lebih mudah dibaca. Penggunaan Arduino Uno bersama push button dan seven-segment display juga telah diterapkan pada berbagai media pembelajaran mikrokontroler dan sistem digital (Hidayati et al., 2017; Dwiyanto & Setya W., 2025).

Pada materi perkuliahan sebelumnya, konsep digital input dan output dijelaskan melalui hubungan antara masukan dan keluaran pada mikrokontroler. Salah satu contoh yang diberikan adalah penggunaan tombol sebagai input dan counter pada 7-segment sebagai output. Konsep tersebut dapat diterapkan dalam bentuk simulasi menggunakan Wokwi, sehingga rangkaian dan program dapat diuji tanpa harus menggunakan perangkat keras secara langsung. Simulasi ini memungkinkan mahasiswa untuk memahami hubungan antara perangkat input, proses pengolahan pada Arduino, dan perangkat output.

Berdasarkan hal tersebut, pada tugas ini dibuat simulasi Counter Digital Menggunakan Push Button dan 7-Segment Berbasis Arduino. Sistem dirancang agar setiap penekanan push button dapat mengubah nilai penghitung dan menampilkannya pada seven-segment display. Pembuatan simulasi diharapkan dapat membantu memahami penerapan konsep input dan output digital yang telah dipelajari sekaligus memberikan pengalaman dalam merancang rangkaian dan program mikrokontroler.

1.2 Rumusan Masalah

Berdasarkan latar belakang tersebut, rumusan masalah dalam laporan ini adalah:

  1. Bagaimana merancang simulasi counter digital menggunakan push button dan seven-segment display berbasis Arduino pada Wokwi?
  2. Bagaimana cara kerja push button sebagai input dan seven-segment display sebagai output dalam sistem counter digital?

1.3 Tujuan Laporan

Tujuan dari pembuatan laporan ini adalah:

  1. Membuat simulasi counter digital menggunakan push button dan seven-segment display berbasis Arduino pada Wokwi.
  2. Menerapkan konsep input dan output digital yang telah dipelajari pada pertemuan sebelumnya.
  3. Memahami proses pembacaan input dari push button, pengolahan data oleh Arduino, dan penampilan hasil pada seven-segment display.
  4. Menguji kerja rangkaian dan program melalui simulasi Wokwi.

1.4 Manfaat Penulisan

Manfaat yang diharapkan dari pembuatan laporan ini adalah:

  1. Bagi mahasiswa, memberikan pemahaman yang lebih baik mengenai konsep input dan output digital pada mikrokontroler.
  2. Bagi pembelajaran, memberikan contoh sederhana penerapan Arduino Uno, push button, dan seven-segment display dalam sistem digital.
  3. Bagi pengembangan keterampilan, melatih kemampuan dalam merancang rangkaian, membuat program Arduino, dan melakukan pengujian melalui simulasi Wokwi.
  4. Bagi pembaca, dapat menjadi referensi sederhana untuk memahami penerapan counter digital berbasis Arduino.




BAB II

TINJAUAN PUSTAKA

2.1 Dasar Teori

2.1.1 Sistem Counter Digital 

Counter (pencacah) digital merupakan salah satu rangkaian logika sekuensial yang berfungsi untuk menghitung jumlah pulsa masukan (input) yang diterima, baik secara up-counting (menghitung naik) maupun down-counting (menghitung turun). Dalam sistem terbenam (embedded system), pencacah digital memanfaatkan sinyal pemicu (trigger) berupa perubahan kondisi logika tinggi (HIGH) atau rendah (LOW) pada pin masukan mikrokontroler. Sinyal pemicu ini umumnya dihasilkan oleh sakelar mekanis seperti push button. Jumlah hitungan kemudian diproses oleh unit pemroses utama dan dikonversikan ke dalam kode biner atau bentuk BCD (Binary Coded Decimal) sebelum ditampilkan pada layar peraga (display).

2.1.2 Mikrokontroler dan Sistem Terbenam 

Mikrokontroler adalah sebuah sistem komputer mini terpadu yang berada di dalam satu keping sirkuit terpadu (Integrated Circuit / IC). Mikrokontroler terdiri atas Unit Pemroses Sentral (CPU), memori (RAM, ROM/Flash), serta antarmuka masukan/keluaran (Input/Output / IO). Sistem terbenam memanfaatkan mikrokontroler untuk menjalankan tugas-tugas spesifik secara otomatis dan real-time. Keunggulan penggunaan mikrokontroler terletak pada efisiensi daya, fleksibilitas pemograman, dan kemudahannya dalam dihubungkan dengan berbagai komponen peranti keras eksternal.

2.1.3 Teknik Debouncing pada Masukan Mekanis 

Masukan mekanis seperti tombol tekan (push button) sering kali mengalami fenomena contact bounce atau chattering. Fenomena ini terjadi akibat kontak mekanis di dalam tombol yang membal secara berulang dalam kurun waktu beberapa milidetik saat ditekan atau dilepaskan. Jika tidak ditangani, mikrokontroler akan menganggap balikan tersebut sebagai beberapa kali penekanan tombol secara beruntun. Untuk mengatasi masalah ini, digunakan teknik debouncing, baik secara peranti keras (menggunakan kapasitor atau filter) maupun secara peranti lunak (delay atau pembacaan pewaktu millis pada program).

2.2 Komponen dan Perangkat Utama

2.2.1 Arduino Uno 

Arduino Uno adalah papan pengembang (development board) berbasis mikrokontroler Microchip ATmega328P. Arduino Uno memiliki 14 pin masukan/keluaran digital (di mana 6 di antaranya dapat digunakan sebagai keluaran PWM), 6 pin masukan analog, kristal osilator 16 MHz, koneksi USB, serta soket daya. Papan ini menggunakan bahasa pemrograman berbasis C/C++ yang disederhanakan dan didukung oleh Integrated Development Environment (IDE) berbasis sumber terbuka (open-source), sehingga memudahkan pengembangan dan simulasi sistem elektronika terintegrasi.

2.2.2 Tampilan 7-Segment (Seven-Segment Display) 

Peraga 7-segment adalah komponen elektronik yang berfungsi menampilkan angka desimal dan beberapa karakter alfabet sederhana. Komponen ini terdiri dari 7 LED utama yang disusun membentuk angka '8' (diberi label a, b, c, d, e, f, g) serta 1 LED tambahan untuk titik desimal (Decimal Point / DP). Secara garis besar, peraga 7-segment terbagi menjadi dua jenis konfigurasi:

  1. Common Anode (Anoda Bersama): Seluruh kaki anoda (kutub positif) dari LED dihubungkan bersama ke sumber tegangan VCC, sedangkan kaki katoda (kutub negatif) dihubungkan ke pin keluaran mikrokontroler melalui resistor pembatas arus. LED akan menyala ketika pin keluaran berada pada logika rendah (LOW).
  2. Common Cathode (Katoda Bersama): Seluruh kaki katoda dari LED dihubungkan bersama ke titik ground (GND), sedangkan kaki anoda dihubungkan ke pin keluaran mikrokontroler. LED akan menyala ketika pin keluaran berada pada logika tinggi (HIGH).

2.2.3 Push Button 

Push button merupakan sakelar tekan sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik secara sementara ketika tombol ditekan. Pada rangkaian masukan mikrokontroler, push button biasanya dikombinasikan dengan konfigurasi resistor pull-up atau pull-down (baik internal mikrokontroler maupun eksternal) untuk memastikan pin masukan memiliki tingkat tegangan logika yang pasti (HIGH atau LOW) saat tombol tidak ditekan.

2.2.4 Resistor 

Resistor adalah komponen pasif elektronika yang berfungsi memberikan hambatan terhadap aliran arus listrik dalam suatu rangkaian. Dalam aplikasi peraga 7-segment dan push button, resistor memiliki dua peran mendasar:

  1. Resistor Pembatas Arus (Current Limiting Resistor): Dipasang seri dengan LED pada 7-segment untuk mencegah arus berlebih yang dapat merusak komponen LED maupun pin mikrokontroler.
  2. Resistor Pull-Up / Pull-Down: Digunakan untuk menjaga kepastian status logika pada pin masukan mikrokontroler saat push button mengambang (floating).

2.2.5 Perangkat Lunak Simulasi (Proteus / Wokwi / Tinkercad)

Untuk mempermudah verifikasi dan pengujian rangkaian sebelum implementasi fisik, digunakan perangkat lunak simulasi sirkuit elektronik. Platform simulasi seperti Tinkercad, Proteus, atau Wokwi memungkinkan perancangan tata letak komponen, skema pengabelan (wiring), serta pengunggahan kode program (sketch) untuk menguji fungsi counter secara interaktif.

 

 

BAB III

PEMBAHASAN

3.1 Penjelasan Simulasi

Simulasi yang dibuat pada tugas ini merupakan sistem counter digital menggunakan push button dan seven-segment display berbasis Arduino Uno. Sistem dirancang untuk menerapkan konsep input dan output digital, yaitu push button digunakan sebagai perangkat masukan (input), Arduino Uno sebagai perangkat pemroses, dan seven-segment display sebagai perangkat keluaran (output).

Simulasi dilakukan menggunakan platform Wokwi. Penggunaan Wokwi memungkinkan rangkaian elektronik dan program Arduino diuji secara virtual tanpa harus menggunakan perangkat keras secara langsung. Melalui simulasi ini, proses pembacaan input dari push button, pengolahan data oleh Arduino, hingga penampilan nilai counter pada seven-segment dapat diamati secara langsung.

Prinsip kerja sistem dimulai ketika push button berada dalam kondisi tidak ditekan. Arduino membaca kondisi tersebut sebagai kondisi awal pada pin input. Ketika tombol ditekan, terjadi perubahan kondisi logika pada pin input Arduino. Perubahan tersebut kemudian digunakan sebagai pemicu untuk menambah nilai counter.

Nilai counter disimpan dan diproses oleh program Arduino. Setiap satu penekanan tombol akan menyebabkan nilai counter bertambah satu angka. Nilai tersebut kemudian diterjemahkan oleh program menjadi kombinasi kondisi HIGH dan LOW pada pin-pin digital yang terhubung dengan segment a, b, c, d, e, f, dan g pada seven-segment display.

Seven-segment kemudian menampilkan angka sesuai dengan nilai counter yang sedang tersimpan. Dengan demikian, hubungan kerja sistem dapat digambarkan sebagai:

Push Button → Arduino Uno → Pemrosesan Counter → Seven-Segment Display

Sebagai contoh, ketika nilai awal counter adalah 0, seven-segment menampilkan angka 0. Ketika push button ditekan satu kali, nilai counter berubah menjadi 1, sehingga seven-segment menampilkan angka 1. Penekanan berikutnya menyebabkan nilai berubah menjadi 2, kemudian 3, dan seterusnya.

Pada simulasi ini, push button berfungsi sebagai sumber pulsa atau trigger untuk proses pencacahan. Hal ini sesuai dengan konsep counter digital yang menggunakan perubahan kondisi logika sebagai pemicu proses penghitungan.

Selain proses pencacahan, program juga perlu memperhatikan kemungkinan terjadinya contact bounce pada push button. Contact bounce merupakan kondisi ketika kontak mekanis pada tombol mengalami perubahan kondisi secara berulang dalam waktu yang sangat singkat ketika tombol ditekan atau dilepas. Apabila tidak ditangani, satu kali penekanan tombol dapat terbaca sebagai beberapa kali penekanan oleh Arduino. Oleh karena itu, program dapat menerapkan teknik debouncing untuk memastikan satu penekanan tombol dihitung sebagai satu kenaikan nilai counter.

Secara keseluruhan, simulasi ini menunjukkan penerapan sederhana sistem digital berbasis mikrokontroler. Input berupa tindakan pengguna diterima melalui push button, kemudian diproses oleh Arduino Uno, dan hasil pemrosesan ditampilkan melalui seven-segment display.

3.2 Konfigurasi Rangkaian

Konfigurasi rangkaian pada simulasi terdiri atas beberapa komponen utama, yaitu Arduino Uno, push button, seven-segment display, dan resistor. Setiap komponen memiliki fungsi yang berbeda dan saling terhubung untuk membentuk sistem counter digital.

Arduino Uno digunakan sebagai pusat pengendali sistem. Arduino Uno berbasis mikrokontroler ATmega328P dan memiliki pin digital yang dapat dikonfigurasikan sebagai input maupun output. Pada simulasi ini, salah satu pin digital digunakan untuk membaca kondisi push button, sedangkan beberapa pin digital lainnya digunakan untuk mengendalikan segment pada seven-segment display.

Push button digunakan sebagai perangkat input. Tombol memberikan dua kondisi logika, yaitu ditekan dan tidak ditekan. Kondisi tersebut dibaca oleh Arduino melalui salah satu pin digital. Agar kondisi input memiliki nilai logika yang pasti dan tidak berada pada kondisi floating, push button digunakan dengan konfigurasi resistor pull-up atau pull-down.

Seven-segment display digunakan sebagai perangkat output untuk menampilkan angka hasil pencacahan. Komponen ini memiliki tujuh LED utama yang diberi label a, b, c, d, e, f, dan g. Kombinasi penyalaan ketujuh segment tersebut digunakan untuk membentuk angka 0 sampai 9.

Pada konfigurasi seven-segment, jenis display yang digunakan perlu diperhatikan karena terdapat dua konfigurasi utama, yaitu common anode dan common cathode. Pada common anode, anoda LED terhubung bersama ke VCC dan LED menyala ketika pin segment diberikan logika LOW. Sedangkan pada common cathode, katoda LED terhubung bersama ke GND dan LED menyala ketika pin segment diberikan logika HIGH.

Setiap segment seven-segment perlu diberikan resistor pembatas arus. Resistor berfungsi untuk membatasi arus listrik yang mengalir melalui LED sehingga dapat mencegah arus berlebih yang berpotensi merusak LED maupun pin mikrokontroler.

Konfigurasi hubungan komponen pada simulasi dapat dijelaskan sebagai berikut:

KOMPONEN

HUBUNGAN/FUNGSI

Arduino Uno

Sebagai pusat pengendali dan pemroses data

Push Button

Sebagai input untuk memberikan perintah penambahan counter

Seven-Segment

Sebagai Output untuk menampilkan nilai counter

Resistor

Membatasi arus pada seven-segment dan menjaga kondisi logika input

GND

Sebagai refrensi tegangan rangkaian

VCC/5V

Sebagai sumber tegangan komponen yang membutuhkan suplai

3.3 Program

Program Arduino digunakan untuk mengatur seluruh proses pembacaan push button, penghitungan nilai counter, dan pengendalian seven-segment display. Program dibuat menggunakan bahasa pemrograman Arduino yang berbasis C/C++.

Secara umum, program terdiri atas beberapa bagian, yaitu deklarasi pin, deklarasi variabel counter, konfigurasi awal pada fungsi setup(), serta proses pembacaan tombol dan pembaruan tampilan pada fungsi loop().

Contoh program yang digunakan dalam simulasi adalah sebagai berikut:

// Pin untuk segment a, b, c, d, e, f, g

int segmentPins[] = {2, 3, 4, 5, 6, 7, 8}; 

 

//Pin push button

int buttonPin = 9;

 

// Variabel counter 

int counter = 0;

 

 // Menyimpan kondisi tombol sebelumnya 

int lastButtonState = HIGH; 

 

// Pola angka 0-9 untuk 7-segment common cathode byte angka[10][7] = { 

{1, 1, 1, 1, 1, 1, 0}, // 0 

{0, 1, 1, 0, 0, 0, 0}, // 1 

{1, 1, 0, 1, 1, 0, 1}, // 2 

{1, 1, 1, 1, 0, 0, 1}, // 3 

{0, 1, 1, 0, 0, 1, 1}, // 4 

{1, 0, 1, 1, 0, 1, 1}, // 5 

{1, 0, 1, 1, 1, 1, 1}, // 6 

{1, 1, 1, 0, 0, 0, 0}, // 7 

{1, 1, 1, 1, 1, 1, 1}, // 8 

{1, 1, 1, 1, 0, 1, 1} // 9 

}; 

 

void setup() { 

// Mengatur pin segment sebagai output 

for (int i = 0; i < 7; i++) {

 pinMode(segmentPins[i], OUTPUT); 

} 

// Mengatur push button sebagai input pull-up 

pinMode(buttonPin, INPUT_PULLUP); 

// Menampilkan nilai awal 

tampilkanAngka(counter); 

}

 

 void loop() { 

int buttonState = digitalRead(buttonPin);

 // Mendeteksi tombol baru saja ditekan 

if (lastButtonState == HIGH && buttonState == LOW) { 

counter++; 

// Kembali ke 0 setelah angka 9 

if (counter > 9) { 

counter = 0;

 }

tampilkanAngka(counter); 

// Debouncing sederhana 

delay(200);

}

 lastButtonState = buttonState; 

} 

 

void tampilkanAngka(int angkaCounter) {

 for (int i = 0; i < 7; i++) {

 digitalWrite(segmentPins[i], angka[angkaCounter][i]);

 } 

} 

 

 

3.3.1 Penjelasan Program

Bagian pertama program digunakan untuk menentukan pin Arduino yang terhubung dengan masing-masing segment seven-segment.

int segmentPins[] = {2, 3, 4, 5, 6, 7, 8};

Array tersebut menyimpan nomor pin digital Arduino yang digunakan untuk mengontrol segment a sampai g. Dengan menggunakan array, pengendalian tujuh segment dapat dilakukan menggunakan perulangan sehingga program menjadi lebih sederhana.

Selanjutnya, pin push button ditentukan menggunakan:

int buttonPin = 9;

Pin 9 digunakan sebagai input untuk membaca kondisi tombol.

Variabel counter digunakan untuk menyimpan nilai pencacahan:

int counter = 0;

Nilai awal counter ditetapkan menjadi 0. Setiap kali tombol ditekan, nilai tersebut akan bertambah satu.

Program juga menyimpan kondisi tombol sebelumnya melalui variabel:

int lastButtonState = HIGH;

Variabel ini digunakan untuk mendeteksi perubahan kondisi tombol dari HIGH menjadi LOW. Dengan cara tersebut, program tidak hanya membaca apakah tombol sedang ditekan, tetapi mendeteksi kejadian ketika tombol mulai ditekan.

Bagian array angka berisi pola penyalaan segment untuk angka 0 sampai 9. Setiap baris mewakili satu angka, sedangkan tujuh nilai di dalamnya masing-masing mewakili segment a, b, c, d, e, f, dan g.

Sebagai contoh:

{1, 1, 1, 1, 1, 1, 0} // 0

Pola tersebut menunjukkan bahwa segment a sampai f dinyalakan, sedangkan segment g dimatikan sehingga menghasilkan tampilan angka 0.

Pada fungsi setup(), pin-pin seven-segment dikonfigurasikan sebagai output menggunakan pinMode():

for (int i = 0; i < 7; i++) {

  pinMode(segmentPins[i], OUTPUT);

}

Sementara itu, push button dikonfigurasikan sebagai input dengan internal pull-up:

pinMode(buttonPin, INPUT_PULLUP);

Konfigurasi INPUT_PULLUP membuat kondisi normal tombol berada pada logika HIGH. Ketika tombol ditekan dan terhubung ke GND, kondisi input berubah menjadi LOW.

Pada fungsi loop(), kondisi push button dibaca menggunakan:

int buttonState = digitalRead(buttonPin);

Program kemudian memeriksa perubahan kondisi dari HIGH menjadi LOW:

if (lastButtonState == HIGH && buttonState == LOW)

Jika kondisi tersebut terpenuhi, berarti tombol baru saja ditekan. Counter kemudian dinaikkan satu:

counter++;

Agar sistem hanya menampilkan angka 0 sampai 9, program memeriksa apakah nilai counter telah melebihi 9:

if (counter > 9) {

  counter = 0;

}

Dengan demikian, urutan pencacahan menjadi:

0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 0 → ...

Setelah nilai counter berubah, fungsi tampilkanAngka() dipanggil untuk memperbarui tampilan seven-segment:

tampilkanAngka(counter);

Fungsi tersebut mengatur kondisi masing-masing segment berdasarkan pola angka yang terdapat pada array angka.

Bagian:

for (int i = 0; i < 7; i++) {

  digitalWrite(segmentPins[i], angka[angkaCounter][i]);

}

digunakan untuk mengirimkan nilai HIGH atau LOW ke masing-masing pin segment Arduino.

Program juga menggunakan:

delay(200);

sebagai debouncing sederhana. Delay tersebut memberikan jeda setelah tombol terdeteksi ditekan sehingga perubahan kondisi mekanis tombol yang terjadi dalam waktu sangat singkat tidak langsung dianggap sebagai beberapa penekanan. Teknik debouncing diperlukan karena push button dapat mengalami contact bounce atau chattering.

Dengan keseluruhan program tersebut, Arduino dapat melakukan tiga proses utama, yaitu:

  1. Membaca input dari push button.
  2. Memproses dan menambah nilai counter setiap kali tombol ditekan.
  3. Menampilkan hasil counter melalui seven-segment display.

Program tersebut menerapkan konsep dasar input dan output digital yang menjadi tujuan utama simulasi. Push button berperan sebagai input, Arduino Uno melakukan pemrosesan, sedangkan seven-segment display berperan sebagai output. Hal ini sesuai dengan tujuan laporan untuk memahami proses pembacaan input, pengolahan data oleh Arduino, dan penampilan hasil pada seven-segment display.

 

3.4 Hasil Pengujian

Pengujian dilakukan untuk mengetahui apakah rangkaian dan program counter digital dapat bekerja sesuai dengan rancangan. Pengujian dilakukan melalui simulasi pada Wokwi dengan mengamati perubahan nilai pada seven-segment ketika push button ditekan.

Pengujian difokuskan pada tiga bagian utama, yaitu pembacaan input push button, proses pencacahan oleh Arduino, dan tampilan output pada seven-segment display. Sistem dinyatakan bekerja sesuai rancangan apabila setiap penekanan push button menghasilkan perubahan nilai counter sebesar satu angka dan perubahan tersebut dapat ditampilkan dengan benar pada seven-segment.

Pada kondisi awal, nilai counter diatur pada angka 0. Seven-segment menampilkan angka 0 sebelum tombol ditekan. Ketika push button ditekan satu kali, Arduino mendeteksi perubahan kondisi input dan nilai counter bertambah menjadi 1. Seven-segment kemudian menampilkan angka 1.

Pengujian dilanjutkan dengan menekan push button beberapa kali. Hasil pengujian ditunjukkan pada tabel berikut.

No.

Kondisi Push Button

Nilai Counter

Tampilan Seven-Segment

Keterangan

1

Kondisi Awal

0

0

Sistem mulai pada nilai 0

2

Ditekan 1 kali

1

1

Counter bertambah 1

3

Ditekan 2 kali

2

2

Counter bertambah 1

4

Ditekan 3 kali

3

3

Counter bertambah 1

5

Ditekan 4 kali

4

4

Counter bertambah 1

6

Ditekan 5 kali

5

5

Counter bertambah 1

7

Ditekan 6 kali

6

6

Counter bertambah 1

8

Ditekan 7 kali

7

7

Counter bertambah 1

9

Ditekan 8 kali

8

8

Counter bertambah 1

10

Ditekan 9 kali

9

9

Counter bertambah 1

11

Ditekan 10 kali

0

0

Counter bertambah 1

Berdasarkan tabel pengujian tersebut, sistem melakukan pencacahan secara berurutan dari angka 0 hingga angka 9. Setelah nilai counter mencapai angka 9 dan push button ditekan kembali, program mengatur nilai counter menjadi 0. Dengan demikian, pola pencacahan sistem adalah:

0 → 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 0

Hasil tersebut menunjukkan bahwa program dapat membaca input push button dan menggunakannya sebagai pemicu untuk mengubah nilai counter. Setiap penekanan tombol menghasilkan kenaikan nilai sebesar satu angka.

Pengujian juga menunjukkan bahwa seven-segment dapat menampilkan angka sesuai dengan nilai counter yang sedang diproses oleh Arduino. Hal ini terjadi karena program telah menyediakan pola kombinasi segment untuk angka 0 sampai 9. Arduino memberikan sinyal digital kepada setiap segment sehingga terbentuk karakter angka yang sesuai.

Selain itu, penerapan debouncing sederhana dengan memberikan jeda setelah tombol ditekan digunakan untuk mengurangi kemungkinan satu penekanan terbaca sebagai beberapa penekanan. Hal tersebut penting karena push button sebagai perangkat mekanis dapat mengalami contact bounce atau perubahan kondisi secara berulang dalam waktu singkat.

Secara keseluruhan, berdasarkan pengujian simulasi, rangkaian counter digital dapat menjalankan fungsi yang dirancang, yaitu menerima input dari push button, melakukan proses pencacahan menggunakan Arduino Uno, dan menampilkan hasil pencacahan pada seven-segment display.

 

BAB IV

PENUTUP

4.1 Kesimpulan

Berdasarkan proses perancangan, pemrograman, dan pengujian simulasi Counter Digital Menggunakan Push Button dan 7-Segment Berbasis Arduino, dapat diperoleh beberapa kesimpulan sebagai berikut:

  1. Simulasi counter digital berhasil dirancang menggunakan Arduino Uno, push button, dan seven-segment display pada platform Wokwi. Rangkaian tersebut menerapkan konsep input dan output digital dengan push button sebagai input dan seven-segment sebagai output.
  2. Push button dapat digunakan sebagai pemicu (trigger) untuk proses pencacahan. Setiap perubahan kondisi tombol yang terdeteksi oleh Arduino digunakan untuk meningkatkan nilai counter sebesar satu.
  3. Arduino Uno berfungsi sebagai pusat pengendalian sistem yang bertugas membaca kondisi push button, mengolah nilai counter, dan mengirimkan sinyal digital ke seven-segment display.
  4. Seven-segment display dapat digunakan untuk menampilkan hasil pencacahan dalam bentuk angka. Kombinasi kondisi HIGH dan LOW pada segment a sampai g digunakan untuk membentuk angka 0 sampai 9.
  5. Sistem counter yang dibuat memiliki pola pencacahan dari 0 sampai 9. Setelah mencapai angka 9, penekanan push button berikutnya membuat nilai counter kembali menjadi 0.
  6. Teknik debouncing diperlukan dalam penggunaan push button untuk mengurangi kemungkinan terjadinya pembacaan ganda akibat fenomena contact bounce. Teknik tersebut dapat diterapkan melalui perangkat keras maupun perangkat lunak.
  7. Berdasarkan hasil simulasi dan pengujian, sistem telah menerapkan alur kerja dasar mikrokontroler, yaitu input → proses → output. Input berasal dari push button, proses dilakukan oleh Arduino, dan output ditampilkan melalui seven-segment display.

Dengan demikian, simulasi ini dapat menjadi contoh sederhana penerapan konsep sistem digital dan mikrokontroler, khususnya dalam memahami hubungan antara perangkat input, proses pengolahan data, dan perangkat output.

4.2 Saran

Berdasarkan hasil pembuatan dan pengujian simulasi, terdapat beberapa pengembangan yang dapat dilakukan pada sistem counter digital ini, yaitu:

  1. Menambahkan tombol reset
    Sistem dapat dikembangkan dengan menambahkan push button khusus untuk mengembalikan nilai counter ke angka 0 tanpa harus menunggu counter melakukan perulangan.
  2. Mengembangkan sistem menjadi up-counter dan down-counter
    Selain menghitung naik dari 0 sampai 9, sistem dapat dikembangkan agar mampu melakukan perhitungan turun. Tombol yang berbeda dapat digunakan untuk fungsi up-counting dan down-counting.
  3. Menggunakan teknik debouncing yang lebih optimal
    Pada implementasi perangkat keras, teknik debouncing dapat dikembangkan menggunakan metode berbasis millis() atau rangkaian perangkat keras sehingga sistem tidak bergantung pada delay() dan dapat menjalankan proses lain secara lebih responsif.
  4. Mengembangkan tampilan menjadi lebih dari satu digit
    Sistem dapat dikembangkan menggunakan dua atau lebih seven-segment sehingga mampu menampilkan angka dengan rentang yang lebih besar, misalnya 00–99 atau 000–999.
  5. Melakukan implementasi pada perangkat keras secara langsung
    Setelah rangkaian berhasil disimulasikan pada Wokwi, sistem dapat direalisasikan menggunakan Arduino Uno, push button, resistor, dan seven-segment display secara fisik. Pengujian perangkat keras dapat digunakan untuk membandingkan hasil simulasi dengan kondisi rangkaian sebenarnya.
  6. Mengembangkan fungsi sistem
    Counter dapat dikembangkan menjadi bagian dari sistem yang lebih kompleks, seperti penghitung jumlah objek, penghitung skor, penghitung produksi, atau sistem penghitung sederhana lainnya.
  7. Meningkatkan pengujian sistem
    Pengujian dapat dilakukan dengan lebih banyak variasi kondisi, seperti penekanan tombol secara cepat, penekanan berulang, dan pengujian dalam waktu yang lebih lama untuk memastikan kestabilan program dan ketepatan proses pencacahan.

   

 

DAFTAR PUSTAKA

Banzi, M., & Shiloh, M. (2014). Getting Started with Arduino: The Open Source Electronics Prototyping Platform (3rd ed.). Maker Media, Inc.

Boylestad, R. L., & Nashelsky, L. (2013). Electronic Devices and Circuit Theory (11th ed.). Pearson Education.

Djuandi, F. (2011). Pengenalan Arduino. www.tokobuku.com (E-book).

Kadir, A. (2017). Pemrograman Arduino Menggunakan Software Arduino IDE. Penerbit Andi.

Mano, M. M., & Ciletti, M. D. (2018). Digital Design: With an Introduction to the Verilog HDL, VHDL, and SystemVerilog (6th ed.). Pearson.

McRoberts, M. (2013). Beginning Arduino (2nd ed.). Apress.

Tocci, R. J., Widmer, N. S., & Moss, G. L. (2017). Digital Systems: Principles and Applications (12th ed.). Pearson.

Arduino. (n.d.). Arduino UNO Rev3. Arduino Documentation. https://docs.arduino.cc/hardware/uno-rev3/

Dwiyanto, D., & Setya W., I. D. (2025). Purwarupa display seven segment dengan Outseal PLC Arduino sebagai media pembelajaran mata kuliah sistem digital. Go Infotech: Jurnal Ilmiah STMIK AUB, 31(1), 61–71. https://doi.org/10.36309/goi.v31i1.361

Hidayati, Q., Rachman, F. Z., Yanti, N., Jamal, N., & Suhaedi. (2017). Desain model dan simulasi PLC-mikrokontroler sebagai modul pembelajaran berbasis PLC. JTERA (Jurnal Teknologi Rekayasa), 2(2), 73–82. https://doi.org/10.31544/jtera.v2.i2.2017.73-82

Setyawarhana, B. Y., Sumbawati, M. S., Anifah, L., & Sulistiyo, E. (2021). Pengembangan media trainer kit sensor Arduino Uno sebagai media penunjang praktikum pada mata pelajaran teknik pemrograman di SMKN 1 Driyorejo. Jurnal Pendidikan Teknik Elektro, 11(1), 1–9. https://doi.org/10.26740/jpte.v11n01.p1-9

Sukemi, S., Sutarno, S., Sembiring, S., Buchari, M. A., & Ubaya, H. (2022). Perancangan scoreboard digital untuk kegiatan olahraga bulu tangkis dengan menggunakan mikrokontroler Arduino Uno. Proceedings of National Colloquium Research and Community Service, 6. https://doi.org/10.33019/snppm.v6i0.3679

 

Tidak ada komentar:

Posting Komentar