Flip-flop adalah suatu rangkaian bistabil dengan triger yang dapat menghasilkan kondisi logika 0 dan 1 pada keluarannya. Keadaan dapat dipengaruhi oleh satu atau kedua masukannya. Tidak seperti fungsi gerbang logika dasar dan kombinasi, keluaran suatu flip-flop sering tergantung pada keadaan sebelumnya. Kondisi tersebut dapat pula menyebabkan keluaran tidak berubah atau dengan kata lain terjadi kondisi memory. Oleh sebab itu flip-flop dipergunakan sebagai elemen memory.

Rangkaian flip-flop yang paling sederhana adalah RS Flip-flop yang memiliki dua masukan yaitu R = Reset dan S = Set serta dua keluaran Q dan \overline{Q}.

Perhatikan Tabel Kebenaran dan Gambar Flip-flop R-S Berikut:

Sesuai dengan namanya, keluaran flip flop Q = 1 dan \overline{Q} = 0 pada saat S = 1 dan R = 0,dan reset ketika S = 0 dan R = 1 akan menghasilkan keluaran Q = 0 dan \overline{Q} = 1. Kondisi tersebut adalah kondisi satbbil dari RS flip-flop.

Ketika kedua masukan R dan S berlogika 0, keluaran flip-flop tidak berubah tetap seperti pada kondisi sebelumnya. Tetapi ketika kedua masukan R dan S berlogika 1 maka keluaran flip-flop tidak dapat diramalkan karena kondisinya tidak tentu tergantung pada toleransi komponen dan tunda waktu temporal dan lain sebagainya dan kondisi tersebut dapat diabaikan.

Pada prakteknya sebuah RS Flip-flop dapat dibangun dari rangkaian dua buah gerbang AND yang saling dihubungkan silang seperti ditunjukan pada Gambar berikut.

Rangkaian RS Flip-flop dengan gerbang NAND

Berbeda dengan flip flop dengan Gambar pertama, keluaran dari flip-flop adalah kebalikan dari flip-flop tersebut. Hal ini dapat dilihat dari adanya garis di atas variabel inputnya.

Lebih lanjut tipe yang sangat penting dari flip-flop adalah master slave flip-flop atau disebut juga dua memory yang pada dasarnya dibangun dari dua flip-flop yang terhubung secara seri. Jalur kontrol dapat diatur dari sebuah clock melalui penambahan sebuah gerbang NAND. Gambar rangkaian dasrnya ditunjukkan dalam gambar berikut:

Pertama kita lihat pada master flip-flop. Jika masukan clock adalah 0 kedua keluaran dari kontrol clock I adalah 1. Ini artinya bahwa suatu perubahan keadaan pada masukan S dan R tidak berpengaruh pada master flip-flop. Flip flop tersebut mempertahankan keadaan. Di sisi lain jika masukan clock adalah 1 maka keadaan dari S dan R menentukan keadaan master flip-flop.

Slave flip flop memperlihatkan perilaku yang sama. Kadang kontrol clock adalah dibalik oleh sebuah inverter. Ini artinya bahwa clock 1 dari master flip flop menjadi 0 pada slve flip flop.

Operasi flip-flop ini dijelaskan lebih mudah dari sekuensial temporal dari pulsa clock seperti ditunjukan oleh Gambar berikut.

  • t1 : Ketika pulsa clock muncul dari 0 ke 1 terjadi toleransi daerah 0 ke arah 1 keluaran clock terbalik ke 0. Misalnya keluaran slave flip flop akan off dan mempertahankan kondisi.
  • t2 : Ketika pulsa clock muncul dari 0 ke 1 mencapai batas terendah dari toleransi daerah 1 masukan dari master flip flop adalah dapat diatur, misalnya master flip flop dipengaruhi oleh masukan R dan S.
  • t3 : Ketika pulsa clock turun dari 1 ke 0 terjadi toleransi daerah 1 ke arah 0 masukan master flip flop kembali ditahan. Mmisalnya master flip flop menghasilkan keadaan baru.
  • T4 : Ketika pulsa clock turun dari 1 ke 0 mencapai batas tertinggi dari toleransi daerah 0 masukan dari master flip flop adalah dapat diatur, misalnya master flip flop dipengaruhi oleh masukan R dan S.

Hasilnya bahwa pengaruh masukan R dan S terjadi pada interval t1 sampai t2 data dikirim ke flip flop dan pada saat t4 baru data dikirim ke keluaran. Selama masukan clock 0 data tersimpan di dalam flip flop.

Sumber: Teknik Otomasi Industri, Agus Putranto dkk. BSE Depdiknas