Pengertian dan Macam-Macam Rangkaian Flip-Flop

Pengertian dan macam-macam rangkaian flip-flop
Pengertian dan macam-macam rangkaian flip-flop

Pernah mendengar istilah flip-flop? Atau mungkin sebelumnya sudah pernah menggunakan rangkaian flip-flop? Kali ini saya akan menjelaskan tentang apa itu rangkaian flip-flop dan macam-macamnya.

Sebelumnya, mari kita review sejenak materi yang saya bahas sebelumnya.

Dalam materi Pengertian dan Hukum Aljabar Boolean saya telah menjelaskan tentang rangkaian logika kombinasional. Yaitu rangkaian yang keluarannya hanya bergantung pada kombinasi masukan yang diberikan pada rangkaian tersebut. Kemudian dalam Pengertian dan Macam-Macam Rangkaian Pengolah Data saya telah menjelaskan multiplexer, demultiplexer, decoder dan encoder sebagai rangkaian pengolah data.

Nah, kembali ke topik utama kali ini yaitu flip-flop. Flip-flop berbeda dengan dua jenis rangkaian yang sudah saya jelaskan sebelumnya. Flip-flop merupakan bagian dari rangkaian sekuensial. Lebih tepatnya flip-flop adalah bagian memori dari rangkaian sekuensial.

Apa itu rangkaian sekuensial?

Rangkaian sekuensial adalah rangkaian yang keluarannya tidak hanya dipengaruhi oleh kombinasi masukan yang diberikan melainkan juga dipengaruhi keluaran yang sebelumnya.

Dari pengertian di atas, jelas bahwa rangkaian sekuensial membutuhkan elemen memori untuk menyimpan dan memroses keluaran yang telah dihasilkan sebelumnya. Di sinilah rangkaian flip-flop digunakan. Yaitu untuk menyimpan state keluaran sebelumnya yang akan digunakan bersama dengan kombinasi masukan untuk menghasilkan keluaran.

Rangkaian flip-flop mempunyai 2 keluaran yang selalu berlawanan. Jika keluaran yang satu bernilai logika 1 (satu), maka keluaran yang lain 0 (nol). Jika nilai logika kedua keluaran sama, maka disebut kondisi “terlarang”. Dari penjelasan tersebut, dapat didefinisikan bahwa

rangkaian flip-flop adalah rangkaian yang memiliki 2 (dua) kondisi stabil dan mampu menyimpan state keluaran yang sebelumnya.

Flip-flop sering disebut juga latch, karena ketika rangkaian flip-flop mencapai satu state, maka state tersebut akan dipertahankan meskipun terjadi perubahan masukan.

Pada dasarnya, ada tiga macam rangkaian flip-flop, yaitu

  1. RS flip-flop
  2. D flip-flop
  3. JK flip-flop

Seperti apa cara kerja ketiga rangkaian flip-flop tersebut? berikut ulasannya.

RS flip-flop

Flip-flop ini merupakan flip-flop yang mendasari semua jenis flip-flop. Membuat rangkaian RS flip-flop cukup mudah, yaitu dengan menggunakan gerbang NOR. Perhatikan rangkaian logika berikut ini.

Rangkaian RS flip-flop menggunakan gerbang NOR
Rangkaian RS flip-flop menggunakan gerbang NOR

Rangkaian RS flip-flop memiliki 2 (dua) masukan yang diberi label R sebagai Reset dan S sebagai Set. Cukup jelas ya, kenapa disebut RS flip-flop. Keluarannya pun ada 2 (dua) yaitu \(Q\) yang mengindikasikan kondisi set dan \(\bar{Q}\) yang mengindikasikan kondisi reset.

Lalu bagaimana rangkaian flip-flop ini bekerja?

Prinsipnya begini:

  1. Jika SET bernilai logika 0 (nol) dan Q sebelumnya bernilai logika 0 (nol) maka Q akan bernilai logika 0 (nol) dan dipertahankan (hold) pada nilai logika 0 (nol) tanpa memperdulikan nilai logika RESET di waktu yang akan datang.
  2. Jika SET bernilai logika 1 (satu), RESET bernilai logika 0 (nol) dan Q sebelumnya bernilai logika 0 (nol) maka Q akan bernilai logika 1 (satu) dan akan dipertahankan pada nilai logika 1 (satu) tanpa memperdulikan perubahan nilai logika SET di waktu yang akan datang.
  3. Jika SET bernilai logika 0 (nol), RESET bernilai logika 1 (satu) dan Q sebelumnya bernilai logika 1 (satu) maka Q akan bernilai logika 0 (nol) dan akan dipertahankan pada nilai logika 0 (nol) tanpa memperdulikan perubahan nilai logika RESET di masa yang akan datang.
  4. SET dan RESET tidak boleh sama-sama bernilai logika 1 (satu).

Bingung? coba perhatikan timing diagram yang menggambarkan prinsip kerja RS flip-flop berikut ini:

Timing diagram RS flip-flop
Timing diagram RS flip-flop

Jika masih bingung juga, silakan perhatikan tabel kebenaran berikut ini.

Tabel kebenaran RS flip-flop
Tabel kebenaran RS flip-flop

Selain menggunakan gerbang NOR, RS flip-flop juga dapat dibuat dengan menggunakan gerbang NAND. Prinsip kerja flip-flop gerbang NAND berkebalikan dengan RS flip-flop gerbang NOR. Berikut rangkaian logika dan tabel kebenaran RS flip-flop dengan menggunakan gerbang NAND.

Rangkaian RS flip-flop menggunakan gerbang NAND
Rangkaian RS flip-flop menggunakan gerbang NAND
Tabel kebenaran RS flip-flop menggunakan gerbang NAND
Tabel kebenaran RS flip-flop menggunakan gerbang NAND

RS flip-flop dengan clock

RS flip-flip dapat diaktifkan (enable) dan dinonaktifkan (disable) dengan menambahkan clock sebagaimana pada rangkaian logika berikut ini.

Rangkaian RS flip-flop dengan clock
Rangkaian RS flip-flop dengan clock
Rangkaian RS flip-flop dengan clock
Rangkaian RS flip-flop dengan clock

Clock pada rangkaian digital disimbolkan dengan EN yang berarti ENABLE. Jika EN bernilai logika 0 (nol) atau low, maka masukan R dan S tidak akan berpengaruh pada flip-flop. Pada kondisi ini flip-flop disebut nonaktif atau disable. Jika EN bernilai logika 1 (satu) atau high, maka nilai logika pada masukan R dan S akan diproses sehingga menghasilkan keluaran. Pada kondisi ini flip-flop disebut aktif atau enable. Saat flip-flop aktif, perubahan nilai logika pada masukan akan berpengaruh langsung pada keluaran. Jika kemudian flip-flop dinonaktifkan, maka keluaran akan dipertahankan pada kondisi terakhir (keluaran tidak berubah meskipun masukan RS dirubah).

Prinsip kerja RS flip-flop dengan clock ini dapat dengan mudah dilihat pada timing diagram berikut:

Timing diagram RS flip-flop dengan clock
Timing diagram RS flip-flop dengan clock

Pada timing diagram tersebut dapat dilihat bahwa flip-flop mulai diaktifkan pada t1 (nilai EN = 1) sehingga masukan R dan S saat t1 ini mulai diproses sehingga dihasilkan keluaran Q = 1. Saat t2, nilai logika EN berubah dari 1 (satu) ke 0 (nol) sehingga flip-flop menjadi nonaktif. Pada kondisi ini keluaran Q dipertahankan pada pada nilai 1 (satu) dan tidak terpengaruh oleh perubahan nilai masukan RS.

D flop-flop dengan clock

Dengan menggabungkan masukan R dan S pada RS flip-flop, maka diperoleh D (Data) flip-flop. Kelebihan dari D flip-flop ini adalah keluaran flip-flop dapat dikendalikan hanya dengan satu masukan. Berikut ini rangkaian logika D flip-flop dengan clock.

Rangkaian D flip-flop dengan clock
Rangkaian D flip-flop dengan clock

Flip-flop tidak aktif ketika EN bernilai logika 0 (nol) atau low dan perubahan nilai logika D tidak berpengaruh pada keluaran Q. Ketika EN bernilai logika 1 (satu) atau high, maka flip-flop akan aktif, dan keluaran Q akan memiliki nilai logika sama dengan masukan D. Jika kemudian nilai logika EN dirubah menjadi 0 (nol) maka keluaran Q akan dipertahankan pada nilai logika terakhir. Lebih jelas mengenai cara kerja D flip-flop dapat dilihat dalam tabel kebenaran berikut ini:

Tabel kebenaran D flip-flop dengan clock
Tabel kebenaran D flip-flop dengan clock

Salah satu contoh IC D flip-flop adalah IC 7475. IC ini memiliki 4 (empat) masukan, yaitu D0 s.d. D3, 2 (dua) clock yaitu EN1 dan EN2 dan 4 (empat) keluaran yaitu Q0 s.d. Q3 . Selengkapnya perhatikan diagram pin berikut ini:

Diagram logika IC TTL 7475
Diagram logika IC TTL 7475

JK flip-flop dengan clock

Pada RS flip-flop, terdapat kondisi terlarang yaitu ketika masukan R dan S sama-sama bernilai logika 1 (satu). Hal ini dapat diantisipasi dengan menggunakan rangkaian flip-flp berikut ini.

Rangkaian JK flip-flop dengan clock
Rangkaian JK flip-flop dengan clock

Rangkaian ini disebut JK flip-flop dengan clock. Pada flip-flop ini, keluaran Q dan  diumpan balikkan menjadi masukan sehingga gerbang AND untuk masing-masing J & K memiliki 3 (tiga) tiga masukan. Meskipun diperbolehkan kedua masukan bernilai logika 1 (satu), nilai keluaran yang dihasilkan terkadang berosilasi antara 0 (nol) dan 1 (satu). Untuk mengatasi ini, dilakukan modifikasi pemicuan (pen-trigger-an) pada JK flip-flop. Modifikasi pemicuan dapat dilakukan dengan 2 (dua) jenis, yaitu positive-edge-triggered dan negative-edge-triggered. Berikut contoh rangkaian positive-edge-triggered JK flip-flop:

Rangkaian positive-edge-triggered JK flip-flop
Rangkaian positive-edge-triggered JK flip-flop

Secara prinsip, kedua jenis pemicuan tersebut tidak lah berbeda, hanya berkebalikan saja. Pada positive-edge-triggered JK flip-flop, flip-flop akan memproses masukan pada saat sinyal clock berubah dari 0 (nol) ke 1 (satu). Pemrosesan masukan ini yang akan menghasilkan keluaran. Keluaran akan berubah jika nilai masukan JK berubah pada saat terjadi perubahan clock dari 0 (nol) ke 1 (satu) berikutnya. Perubahan sinyal clock dari 1 (satu) ke 0 (nol) tidak mempengaruhi kondisi JK flip-flop. Untuk lebih jelasnya, perhatikan tabel kebenaran di bawah ini:

Tabel kebenaran positive-edge-triggered JK flip-flop
Tabel kebenaran positive-edge-triggered JK flip-flop

JK master-slave flip-flop

Selain dengan memodifikasi pemicuan, osilasi pada JK flip-flop dapat diatasi dengan membuat master-slave pada JK flip-flop dengan rangkaian logika sebagai berikut:

Rangkaian JK master-slave flip-flop dengan clock
Rangkaian JK master-slave flip-flop dengan clock

Cara kerja JK master-slave flip-flop:

  • Jika J = 1 dan K = 0, Qm akan bernilai logika 1 (satu) pada saat clock mulai bernilai 1 (satu). Keluaran Qm = 1 akan menjadi masukan pada J slave dan ketika clock mulai bernilai 0 (nol) maka Q = 1.
  • Jika J = 0 dan K = 1, Qm akan bernilai logika 0 (nol) pada saat clock mulai berniali 1 (satu). Keluaran Qm = 0 akan menjadi masukan pada J slave dan ketika clock mulai bernilai 0 (nol) maka Q = 0.
  • Jika masukan J dan K sama-sama bernilai logika 1 (satu), maka Qm akan toggle saat clock bernilai logika 1 (satu), sedangkan Q akan toggle saat clock bernilai logika 0 (nol). Hasil keluaran dari flip-flip master akan diikuti oleh flip-flop slave, tapi dengan selisih waktu satu pulsa detak.

Cara kerja flip-flop ini akan lebih mudah dipahami dengan melihat timing diagram berikut ini:

Timing diagram JK master-slave flip-flop dengan clock
Timing diagram JK master-slave flip-flop dengan clock

Intinya, pada JK master-slave flip-flop, FF master akan memproses nilai masukan saat clock bernilai 1 (satu). Keluaran dari FF master akan menjadi masukan pada FF slave. FF slave akan memproses nilai masukan ketika clock bernilai logika 0 (nol).

Demikian penjelasan saya tentang pengertian dan macam-macam rangkaian flip-flop. Semoga bermanfaat.

admin

Sederhana saja, yang penting bermakna dan bermanfaat.

You may also like...

6 Responses

  1. Reng says:

    Selamat malam ijin bertanya pada rangkaian JK master slave FF dapat dilihat pada clock antar 11 dan 12 disitu input K mengalami perpindahan dari logika 0 ke 1. Pertanyaan saya sesuai cara kerja Master slave FF point 2 bahwa jika j = 0 dan k = 1 dan clock = 0 maka Q = 0 tetapi pada rangkaian bapak diatas tidak mengalami perpindahan. Mohon dijelaskan pak. Terima kasih pak

    • admin says:

      Selamat malam. Cara kerja JK master-slave point 2, “jika J=0 dan K=1, maka Qm akan bernilai 0 saat clock bernilai 1” maksudnya adalah pembacaan nilai J dan K dilakukan saat clock mulai bernilai 1. Ingat, master FF bekerja dengan positive-edge triggerred, sedangkan slave FF bekerja dengan negative-edge triggered. Kali dilihat clock 11 dan 12, maka pembacaan J dan K dilakukan pada saat 11, dimana pada waktu tersebut nilai yang terbaca adalah J=0 dan K=0. Sehingga Qm tidak berubah. Karena Qm tidak berubah, maka Q pun tidak berubah.
      Semoga menjawab.

      • Reng says:

        apakah pada RS FF dan D FF caranya sama seperti master slave yang mana outputnya dapat dilihat saat clocknya MULAI berpindah?

        • Reng says:

          Terima kasih pak atas penjelasannya. Sangat membantu sekali

        • admin says:

          Berbeda, karena clock pada RS FF dan D FF digunakan sebagai enable, artinya masukan RS dan D dibaca KETIKA clock/ enable bernilai 1 (selama bernilai clock 1, masukan tetap dibaca). Bukan hanya ketika clock/enable MULAI berubah dari 0 menjadi 1.

  2. Reng says:

    Siap pak. Terima kasih pak

Leave a Reply

Your email address will not be published. Required fields are marked *