Selasa, 08 Juni 2021


 POLITEKNIK KODIKLATAD
JURUSAN TEKNIK KOMUNIKASI




DISUSUN OLEH :
Sertu Chronika Simatupang (20190421-E)



TEKNIK KOMUNIKASI D4 ANGKATAN IV

BATU,  JUNI 2021




TUGAS 1
MEMBUAT TOMBOL DTMF 




1. TUJUAN :
Agar bamasis mampu mempraktekkan DTMF sebagai kontrol

2. ALAT DAN BAHAN :

a. Laptop

b. Delphi/Embarcardero

c. DTMF decoder

3. TEORI :

a. jelaskan tentang DTMF decoder

        DTMF adalah singkatan dari Dual Tone Multiple Frequency yang jika diartikan dalam bahasa indonesia pengertian DTMF adalah persinyalan nada ganda multi frekuensi. Dinamakan multiple frekuensi karena pada prosesnya sinyal dtmf menggunakan dua buah frekuensi yang tercampur menjadi satu sehingga menghasilkan sebuah nada baru.Dtmf digunakan pada telepon saat melakukan panggilan.

b. Jelaskan tentang program Delphi tetang dtmf

        Delphi adalah sebuah IDE Compiler untuk bahasa pemrograman Pascal dan lingkungan pengembangan perangkat lunak yang digunakan untuk merancang suatu aplikasi program. Delphi juga dapat di artikan sebagai Suatu bahasa pemrograman yang menggunakan visualisasi sama seperti bahasa pemrograman Visual Basic ( VB ) . Namun Delphi menggunakan bahasa yang hampir sama dengan pascal (sering disebut objeck pascal ) . Sehingga lebih mudah untuk digunakan . Bahasa pemrograman Delphi dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik embarcadero . Divisi tersebut awalnya milik borland , sehingga bahasa ini memiliki versi Borland Delphi . Delphi juga menggunakan konsep yang berorientasi objek ( OOP ) , maksudnya pemrograman dengan membantu sebuah aplikasi yang mendekati keadaan dunia yang sesungguhnya .



4. LANGKAH PERCOBAAN :

1) buat desain menggunakan Delphi 7 / Embarcardero



Gambar 1. Gambar saat di tekan Run.



Gambar 2. saat di tekan tombol keyboard 1.



Gambar 3. saat di tekan tombol keyboard 2.



Gambar 4. saat di tekan tombol keyboard 3.



Gambar 5. saat di tekan tombol keyboard 4.



Gambar 6. saat di tekan tombol keyboard 0.



Gambar 7. Script yang digunakan program.

2) masukkan coding dengan sebagai berikut :

unit praktek1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Imaging.pngimage, Vcl.ExtCtrls, MMSystem,
  Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Timer1: TTimer;
    Timer2: TTimer;
    Image5: TImage;
    Timer3: TTimer;
    Timer4: TTimer;
    Edit1: TEdit;
    Image6: TImage;
    Image7: TImage;
    Image8: TImage;
    Image9: TImage;
    procedure Image1Click(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure Image3Click(Sender: TObject);
    procedure Image4Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Image6Click(Sender: TObject);
    procedure Image7Click(Sender: TObject);
    procedure Image8Click(Sender: TObject);
    procedure Image9Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Timer1Timer(Sender: TObject);
begin
Image5.Top:=Image5.Top -50;
if Image5.Top <1005 then
begin
Timer1.Enabled :=False;
Timer2.Enabled :=False;
end;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
Image5.Top:=Image5.Top +50;
if Image5.Top <1005 then
begin
Timer1.Enabled :=False;
Timer2.Enabled :=False;
end;
end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
Image5.Left:=Image5.Left +50;
if Image5.Left <1005 then
begin
Timer3.Enabled :=False;
Timer4.Enabled :=False;
end;
end;

procedure TForm1.Timer4Timer(Sender: TObject);
begin
Image5.Left:=Image5.Left -50;
if Image5.Left <1005 then
begin
Timer3.Enabled :=False;
Timer4.Enabled :=False;
end;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key = vk_up then timer1.Enabled:=True;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text='0' then
begin
  sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-0.wav',
    SND_NODEFAULT Or SND_ASYNC );
timer1.Enabled:=false;
        Edit1.Text:='';
        Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
        end
else if Edit1.Text='1' then
begin
  sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-1.wav',
    SND_NODEFAULT Or SND_ASYNC );
timer1.Enabled:=True;
        Edit1.Text:='';
        Image6.Visible:=true;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
        end
       else if Edit1.Text='2' then
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-2.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer3.Enabled:=True;
        Edit1.Text:='';
            Image6.Visible:=false;
Image7.Visible:=true;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=true;
Label3.Visible:=false;
Label4.Visible:=false;
        end
else if Edit1.Text='3' then
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-3.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer2.Enabled:=true;
            Edit1.Text:='';
                Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=true;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=true;
Label4.Visible:=false;
            end
else if Edit1.Text='4' then
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-4.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer4.Enabled:=true;
            Edit1.Text:='';
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=True;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=true;
end;
end;



procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key = vk_down then timer2.Enabled:=true;
end;



procedure TForm1.Image1Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-1.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=true;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-2.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=false;
Image7.Visible:=true;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=true;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image3Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-3.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=true;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=true;
Label4.Visible:=false;
end;

procedure TForm1.Image4Click(Sender: TObject);
begin
    sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-4.wav',
    SND_NODEFAULT Or SND_ASYNC );
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=True;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=true;
end;



procedure TForm1.Image6Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-1.wav',
    SND_NODEFAULT Or SND_ASYNC );
timer1.Enabled:=True;
Image6.Visible:=true;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=true;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image7Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-2.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer3.Enabled:=True;
    Image6.Visible:=false;
Image7.Visible:=true;
Image8.Visible:=False;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=true;
Label3.Visible:=false;
Label4.Visible:=false;
end;

procedure TForm1.Image8Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-3.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer2.Enabled:=True;
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=true;
Image9.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=true;
Label4.Visible:=false;
end;

procedure TForm1.Image9Click(Sender: TObject);
begin
sndPlaySound('D:\kuliah\praktik teknik interface\audio-dtmf\dtmf-4.wav',
    SND_NODEFAULT Or SND_ASYNC );
    timer4.Enabled:=true;
    Image6.Visible:=false;
Image7.Visible:=false;
Image8.Visible:=False;
Image9.Visible:=True;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
Label4.Visible:=true;
end;

end.


5. ANALISA :

A.    Pada pembuatan program didesain agar tombol berubah warna ketika diberi data angka pada input text sehingga berbeda dari warna semula dan kembali pada warna awal apabila di tekan tombol untuk reset. pada percobaan yang pertama ini dilaksanakan percobaan mengguakan menggunakan tombol keyboard 1,2,3,4,5, dan 0.

B.    Penulisan coding pada Delphi/Embarcardero harus teliti supaya tidak ada kesalahan penulisan script agar program dapat berjalan dan tidak terjadi error yang dapat mengakibatkan program tidak bisa dijalankan.

C.    Dalam percobaan pertama ini kita menggunakan input text untuk memasukkan angka yang selanjutnya akan menghasilkan nada DTMF.


6. KESIMPULAN DAN SARAN

            Program yang dibuat ini bertujuan untuk mengendalikan alat menggunakan nada suara yang dihasilkan oleh DTMF.