Digital


Klik di sini untuk mengupload tugas-tugas Pengolahan Sinyal Digital

Klik di sini untuk mengecek file-file yang telah diupload

Klik di sini untuk mengakses file-file python untuk PSD


#################################
Arsip lama dapat dilihat di sini

Multiplexer

Tugas tentang Multiplexer dapat di download di sini 

dapat didownload via dropbox


Counter fleksibel dengan reset dan preset dapat dilihat di sini.
(dapat digunakan untuk ide mengerjakan tugas).

Tugas Elektronika Digital


  1. Tulis Nama anda (contoh: Nugroho Adi P)
  2. Tulis NIM (contoh: 301322413195)
  3. Tulis 5-digit NIM terakhir (contoh: 13195)
  4. NIM := jawaban soal no 3
  5. Dapat dikerjakan menggunakan Delphi, Flash, Spreadsheet (MS Excel, Numbers, …), Word processor (Ms Word, Pages), PowerPoint/Keynote. (LibreOffice).
  6. Hasil yang harus ditampilkan adalah clock, Q, nQ masing-masing bistable
  7. (soal) Terdapat 5 bistable jenis JK, lengkap dengan  clock, J, K, Q, nQ, PRE, CLR
  8. (kelengkapannya) Terdapat sinyal clock, logika 1, logika 0
  9. (untuk semua bistable) Kaki K bernilai 1
  10. (Untuk bistable pertama) Kaki clock terhubung pada sinyal clock.
  11. (untuk bistable pertama) Kaki J bernilai (NIM mod 2)
  12. (untuk empat bistable lain) Kaki J bernilai 
    1. jika (NIM mod 4) 1 maka J terhubung ke Q sebelumnya
    2. jika (NIM mod 4) 2 maka J terhubung ke nQ sebelumnya
    3. jika (NIM mod 4) 3 maka J terhubung ke clock
    4. jika (NIM mod 4) 0 maka J bernilai 1
  13. (untuk empat bistable lain) Kaki clock bernilai
    1. jika (NIM mod 3) 1 maka kaki clock terhubung dengan Q
    2. jika (NIM mod 3) 2 maka kaki clock terhubung dengan nQ
    3. jika (NIM mod 3) 0 maka kaki clock terhubung dengan sinyal clock
  14. (untuk dua bistabel terakhir) pasang gerbang NAND 
    1. (untuk bistabel kedua sebelum terakhir) kaki NAND terhubung ke Q (jika NIM mod 2 bernilai 0) jika tidak maka terhubung ke nQ
    2. (untuk bistabel terakhir) kaki NAND terhubung ke Q (jika NIM mod 3 bernilai 0) jika tidak maka terhubung ke nQ 
  15. Output kaki NAND terhubung ke CLR bistable ke-(NIM mod 5)
  16. Output kaki NAND terhubung ke PRE bistable ke-((NIM mod 3)+2). (jika kaki CLR bistable tersebut sudah terhubung ke NAND, maka kaki PRE dibiarkan)
  17. tulis 25+1 output pertama.  Tentukan pola output jika memungkinkan. 

Berikut adalah template untuk tugas.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    Button1: TButton;
    StringGrid1: TStringGrid;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    procedure proses;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const n=5;
var
  Form1: TForm1;
  J,K,Q,nQ:array[0..n-1]of boolean;
  clock:boolean=true;
  jalan:boolean=true;
implementation

{$R *.dfm}
procedure tform1.proses;
begin
  if clock=false then begin
  //flip-flop1
    if J[0]<>k[0] then Q[0]:=J[0] else begin
      if J[0]=true then Q[0]:= not Q[0];
    end;
    nQ[0]:=not Q[0];
    stringgrid1.Cells[2,1]:=booltostr(J[0]);
    stringgrid1.Cells[3,1]:=booltostr(K[0]);
    stringgrid1.Cells[4,1]:=booltostr(Q[0]);
    stringgrid1.Cells[5,1]:=booltostr(nQ[0]);
  end;
  stringgrid1.Cells[1,1]:=booltostr(clock);

end;
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
  for i:=0 to n-1 do begin
    J[i]:=false;
    K[i]:=false;
    Q[i]:=false;
    nQ[i]:=false;
  end;
  stringgrid1.ColCount:=6;
  stringgrid1.RowCount:=6;
  stringgrid1.Cells[1,0]:='clock';
  stringgrid1.Cells[2,0]:='J';
  stringgrid1.Cells[3,0]:='K';
  stringgrid1.Cells[4,0]:='Q';
  stringgrid1.Cells[5,0]:='nQ';
  for i:= 1 to n do begin
    stringgrid1.Cells[0,i]:='FlipFlop'+inttostr(i);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  jalan:=not jalan;
  while jalan = true do begin
    clock:=not clock;
    proses;
    application.ProcessMessages;sleep(300);
  end;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  J[0]:=not J[0];
  stringgrid1.Cells[2,1]:=booltostr(J[0]);
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  K[0]:=not K[0];
  stringgrid1.Cells[3,1]:=booltostr(K[0]);

end;

end.