๐ŸŽฏTujuan Pembelajaran

Sub-CPMK 4.1: Memahami prinsip flip-flop dan register

๐Ÿ” Konsep Memory

Memahami prinsip penyimpanan data dalam sistem digital

โฐ Clock dan Trigger

Menganalisis pengaruh clock pada operasi flip-flop

๐Ÿ”ง Jenis Flip-Flop

Mengenal berbagai jenis flip-flop dan karakteristiknya

๐Ÿ’พ Aplikasi Register

Memahami penerapan flip-flop dalam register

๐Ÿ“– Pengantar Flip-Flop

Flip-flop adalah elemen memori dasar dalam sistem digital yang dapat menyimpan satu bit informasi. Berbeda dengan gerbang logika kombinasional, flip-flop memiliki sifat sekuensial yang berarti outputnya bergantung pada input sebelumnya (state).

Mengapa Flip-Flop Penting?

Sistem digital modern bergantung pada flip-flop untuk:

  • Penyimpanan data sementara (register)
  • Counter dan timer
  • Memory address decoding
  • State machine dan control logic
  • Pipeline processing

Clock Signal - Sinyal pewaktu yang mengontrol operasi flip-flop

๐Ÿ” SR Flip-Flop (Set-Reset)

SR Flip-Flop adalah jenis flip-flop paling dasar dengan dua input: Set (S) dan Reset (R).

โšก

SR Flip-Flop

Input: S (Set), R (Reset)

Output: Q, Q' (komplement)

Fungsi: Menyimpan 1 bit data

Tabel Karakteristik
S R Q(t+1) Keterangan
00Q(t)No Change
010Reset
101Set
11-Invalid
// Persamaan Karakteristik
Q(t+1) = S + R'ยทQ(t)
// Dengan constraint: SยทR = 0

Kelemahan SR Flip-Flop

Kondisi Invalid: Ketika S=1 dan R=1 simultaneously, output menjadi tidak terdefinisi

Solusi: SR Flip-Flop dengan clock (Clocked SR FF) atau menggunakan JK Flip-Flop

๐Ÿ“ฅ D Flip-Flop (Data)

D Flip-Flop menyelesaikan masalah kondisi invalid pada SR Flip-Flop dengan hanya memiliki satu input data.

๐Ÿ’พ

D Flip-Flop

Input: D (Data), CLK (Clock)

Output: Q, Q'

Fungsi: Menyimpan data pada rising/falling edge clock

Tabel Karakteristik
CLK D Q(t+1)
โ†‘00
โ†‘11
โ†“XQ(t)
// Persamaan Karakteristik
Q(t+1) = D
// Pada active clock edge

Implementasi D Flip-Flop dari SR Flip-Flop

[Diagram D Flip-Flop menggunakan SR Flip-Flop dengan inverter]
Gambar: D = S, R = D' melalui inverter

๐Ÿ”„ JK Flip-Flop

JK Flip-Flop adalah penyempurnaan dari SR Flip-Flop yang menghilangkan kondisi invalid.

๐ŸŽฏ

JK Flip-Flop

Input: J, K, CLK

Output: Q, Q'

Fungsi: Universal flip-flop dengan toggle capability

Tabel Karakteristik
J K Q(t+1) Keterangan
00Q(t)No Change
010Reset
101Set
11Q'(t)Toggle
// Persamaan Karakteristik
Q(t+1) = JยทQ'(t) + K'ยทQ(t)
// Tidak ada kondisi invalid

๐ŸŽฎ Simulator D Flip-Flop

Simulasi Interaktif D Flip-Flop

Status Flip-Flop
Atur input dan klik "Simpan Data"
Q
Q
Q'
Q'

โฐ Diagram Timing

Diagram timing menunjukkan hubungan antara clock, input, dan output flip-flop dalam domain waktu.

Timing Diagram D Flip-Flop (Positive Edge-Triggered)

CLK
D
Q

Keterangan: Output Q berubah hanya pada rising edge clock

Setup time dan hold time harus dipenuhi untuk operasi yang reliable

Parameter Timing Penting

Setup Time (tsu): Waktu minimum data harus stabil sebelum clock edge

Hold Time (th): Waktu minimum data harus tetap stabil setelah clock edge

Clock-to-Q Delay (tcq): Waktu dari clock edge sampai output berubah

๐Ÿ’ก Aplikasi Flip-Flop

Flip-flop memiliki berbagai aplikasi penting dalam sistem digital.

๐Ÿ“Š

Register

Konsep: Kumpulan flip-flop untuk menyimpan data multi-bit

Contoh: 8-bit register menggunakan 8 D Flip-Flop

Aplikasi: Data storage, buffer, temporary memory

๐Ÿ”ข

Shift Register

Konsep: Register yang dapat menggeser data

Jenis: SISO, SIPO, PISO, PIPO

Aplikasi: Serial communication, data conversion

Aplikasi Lainnya

Counter: Menggunakan flip-flop untuk menghitung pulsa clock

Frequency Divider: Membagi frekuensi clock

State Machine: Implementasi finite state machine

Memory Cells: Basic building block untuk RAM

๐Ÿ’ก

Latihan & Evaluasi

Soal 1: Rancang D Flip-Flop menggunakan JK Flip-Flop!

Soal 2: Jelaskan perbedaan antara latch dan flip-flop!

Soal 3: Buat tabel karakteristik untuk T Flip-Flop (Toggle Flip-Flop)!

Soal 4: Analisis timing diagram berikut untuk D Flip-Flop positive edge-triggered:

  • CLK: 0โ†’1โ†’0โ†’1โ†’0
  • D: 1โ†’0โ†’1โ†’1โ†’0
  • Tentukan output Q dengan asumsi Q awal = 0