## Tugas Pendahuluan Modul 8 : Flip-Flop & Latch
Nama : Abdallah Raffael Omari
NPM : 2306247446
### 1. Apa yang dimaksud dengan rangkaian sekuensial? Jelaskan apa yang membedakan rangkaian sekuensial dan rangkaian kombinasional!
Rangkaian sekuensial adalahh sebuah rangkaian yang ditentukan oleh urutan waktu berdasarkan input, output, dan keadaan internal. Output rangkaian sekuensial bergantung pada kombinasi input saat ini serta output sebelumnya.
Perbedaan rangkaian sekuensial terhadap rangkaian kombinasional mencakup elemen memori dengan rangkaian kombinasional. Dapat dilihat sebagai contoh dalam penghitung (counters) dan juga register pergeseran (shift registers).
Referensi :
* "Combinational and Sequential Circuits", GeeksforGeeks, [online], Available : https://www.geeksforgeeks.org/combinational-and-sequential-circuits/?ref=gcse
### 2. Jelaskan apa itu latch dan flipflop? Jelaskan perbedaan keduanya!
Flipflop merupakan rangkaian memori digital dasar yang menyimpan satu bit informasi. Flipflop adalah blok fundamental dari sebagian besar rangkaian sekuensial, dikenal juga sebagai multivibrator bistable atau memori biner ataupun satu bit.
Digunakan sebagai elemen memori pada rangkaian sekuensial. Output yang diperoleh dalam rangkaian sekuensial dari rangkaian kombinasional atau keduanya. Keadaan Flipflop akan berubah pada saat aktifnya clock pulse dan tidak berubah ketika clock pulse tidak aktif. Secara khususnya, Flipflop yang diatur oleh clock berfungsi sebagai elemen memori dari rangkaian sekuensial sinkron dan Flipflop yang tidak di clock (latch) berfungsi sebagai elemen memori dalam rangkaian sekuensial asinkron.
Latch adalah perangkat elektronik yang mengubah output secara langsung berdasarkan input yang diterapkan. Latch digunakan untuk menyimpan nilai 1 atau 0 pada waktu tertentu. Latch terdiri dari dua input "SET" dan "RESET", dan terdiri dari dua output yang saling melengkapi.
Referensi :
* "Difference between Flip-flop and Latch", GeeksforGeeks, [online], Available : https://www.geeksforgeeks.org/difference-between-flip-flop-and-latch/?ref=header_search
### 3. a. Sebutkan jenis-jenis Latch dan sertakan state / truth table dari setiap latch
* SR Latch : bentuk latch paling sederhana dimana menggunakan dua input, set dan reset. SR latch memiliki dua output Q dan Q'. Apabila S dan R bernilai 1 maka latch dikatakan tidak terdefinisi.
| S' | R' | Q | Q' | State |
| --- | --- | ----- | ----- | --------- |
| 0 | 0 | 1 | 1 | Invalid |
| 0 | 1 | 1 | 0 | Set |
| 1 | 0 | 0 | 1 | Reset |
| 1 | 1 | Latch | Latch | No change |
* D Latch : Memiliki 2 input (data dan clock). Output D latch menyesuaikan input di terminal D apabila sinyal clock bernilai 1. Ketika sinyal clock memiliki nilai 0, output latch akan disimpan dan dipertahankan hingga input 1 dari clock selanjutnya.
| State | Enable | Data | Q(n) | Q(n+1) |
| --------- | ------ | ---- | ----- | ------ |
| No change | 0 | 0 | Latch | Latch |
| No change | 0 | 1 | Latch | Latch |
| Reset | 1 | 0 | 1 | 0 |
| Set | 1 | 1 | 0 | 1 |
Referensi :
* "Latches in Digital Logic", GeeksforGeeks, [online], Available : https://www.geeksforgeeks.org/latches-in-digital-logic/?ref=header_search
### b. Buatlah sebuah SR latch pada proteus menggunakan gerbang NAND dan NOR, coba seluruh kombinasi input dan perhatikan outputnya! Apa perbedaan dari SR latch yang dibuat dengan gerbang NAND dan NOR?
| S | R |
| --- | --- |
| 0 | 0 |

| S | R |
| --- | --- |
| 0 | 1 |

| S | R |
| --- | --- |
| 1 | 0 |

| S | R |
| --- | --- |
| 1 | 1 |

Truth table :
* SR latch NAND Gate :
| S' | R' | Q | Q' | State |
| --- | --- | ----- | ----- | --------- |
| 0 | 0 | 1 | 1 | Invalid |
| 0 | 1 | 1 | 0 | Set |
| 1 | 0 | 0 | 1 | Reset |
| 1 | 1 | Latch | Latch | No change |
* SR latch NOR Gate :
| S | R | Q | Q' | State |
| --- | --- | ----- | ----- | --------- |
| 0 | 0 | Latch | Latch | No change |
| 0 | 1 | 0 | 1 | Reset |
| 1 | 0 | 1 | 0 | Set |
| 1 | 1 | 0 | 0 | Invalid |
Referensi :
* "Latches in Digital Logic", GeeksforGeeks, [online], Available :https://www.geeksforgeeks.org/latches-in-digital-logic/?ref=header_search
### c. Jelaskan mengenai state invalid pada SR latch dan kapan state tersebut terjadi? Adakah jenis latch atau flip-flop lain yang dapat mencegah terjadinya invalid state?
State invalid akan terjadi pada SR latch ketika input S (Set) dan input R (Reset) memiliki nilai logika sama, pada kedua input bernilai 1. Hal ini dikarenakan operasi dasar dari SR latch itu sendiri. Input Set digunakan untuk mengatur output menjadi 1, sedangkan pada input reset digunakan untuk mengatur output menjadi 0. Maka dari itu ketika kedua input sama - sama bernilai 1, maka kedua output dari gerbang NAND yang membentuk latch akan menjadi 0. Dengan potensi menyebabkan keadaan yang tak terdefinisikan seperti noise atau delay. Maka kondisi invalid ada untuk menghindari keadaan tidak stabil tersebut.
Jenis flip-flop yang dapat mencegah keadaan invalid tersebut merupakan JK flip-flop yang memiliki dua input utama J(set) dan K(reset) memiliki sifat yang mirip dengan SR latch. Namun flipflop ini memiliki suatu kemampuan untuk menghindari keadaan tidak valid dengan masuknya input yang berbeda untuk mengatur keadaan flip-flop.
J=0, K=0 : Tidak ada perubahan saat ini (Hold).
J=0, K=1 : Reset flip-flop menjadi 0 (Reset).
J=1, K=0 : Set flip-flop menjadi 1 (Set).
J=1, K=1 : Membalikkan keadaan flip-flop (Toggle).
Referensi :
* "What is JK Flip-Flop ?", GeeksforGeeks,[online], Available : https://www.geeksforgeeks.org/what-is-jk-flip-flop/?ref=gcse
* "Flip-flop types, their Conversion and Applications", GeeksforGeeks, [online], Available : https://www.geeksforgeeks.org/flip-flop-types-their-conversion-and-applications/?ref=header_search
### 4. Sebutkan jenis-jenis flip-flop dan sertakan state / truth table beserta gambar rangkaian (tidak wajib dari proteus) dari setiap flip-flop. Apakah ciri yang membedakan setiap flip-flop?
Flip-flop memiliki 4 tipe :
1. SR Flip-flop : Dengan menggunakan preset dan clear saat dinyalakan, keadaan dari rangkaian tersebut akan terus berubah - ubah sehingga menjadi tak pasti. Keadaan tersebut dapat menjadi set (Q=1) atau reset (Q'=0). Pada pengaplikasiannya saat ingin mengatur atau mereset flip-flop dari awal sehingga dapat menentukan keadaan awal yang diinginkan. Dapat dilakukan dengan menggunakan preset (PR) dan clear (CLR).


2. J-K Flip-flop : Diagram tersebut melampirkan struktur dasar J-K Flip-flop yang terdiri atas clock (CLK), clear (CLR), dan preset (PR). Diagram tersebut menampilkan bagian penting dari J-K Flip-flop yang berupa elemen - elemen dari rangkaian tersebut.


3. D Flip-flop : Memiliki persamaan matematis Qn+1 = D


4. T Flip-flop : Memiliki persamaan matematis Qn+1 = Q'nT + QnT' = Qn XOR T



Referensi :
* "Flip-flop types, their Conversion and Applications", GeeksforGeeks, [online], Available : https://www.geeksforgeeks.org/flip-flop-types-their-conversion-and-applications/?ref=gcse
### 5. Bagaimana cara melakukan konversi flip-flop? Contohkan konversi dari SR flip-flop menjadi D flip-flop pada proteus!

Langkah untuk mengonversi susatu flip-flop ke fliip-flop lainnya adalah sebagai berikut :
1. Menggambar tabel kebenaran dari flip-flop yang diinginkan
2. Menulis output yang sesuai dari sub-flip-flop yang akan digunakan dari tabel eksitasi
3. Menggambarkan K-Map menggunakan input flip-flop yang diinginkan dan memeroleh fungsi eksitasi untuk input subflip-flop
4. Membangun diagram logika sesuai dengan fungsi yang diperolah.
Konversi flip-flop dimulai dengan menggambar tabel kebenarannya, kemudian menentukan output yang sesuai berdasarkan tabel eksitasi, lalu menggunakan K-Map untuk mendapat fungsi eksitasi pada input subflip-flop agar dapat membangun diagram logika sesuai dengan langkah - langkah sebelumnya.
Dalam kasus ini diminta untuk mengonversi SR Flip-flop menjadi D Flip-flop :
1. Didapatkan Truth table
| D | Qn | Qn+1 | S | R |
| --- | --- | ---- | --- | --- |
| 0 | 0 | 0 | 0 | X |
| 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 1 | 0 |
| 1 | 1 | 1 | x | 0 |
2. Fungsi Eksitasi : S=D, R=D'
3. K-Map

4. Diagram Logika :

Referensi :
* "Flip-flop types, their Conversion and Applications", GeeksforGeeks, [online], Available : https://www.geeksforgeeks.org/flip-flop-types-their-conversion-and-applications/?ref=gcse