PERCOBAAN 4

     MEMBUAT APLIKASI SUARA PIANO

 

1. Tujuan

    Agar Bamasis Mampu Membuat Aplikasi Suara Piano

2.  Alat dan  Bahan

    a.    Laptop

    b.    Aplikasi Delphi

    c.    Shellexecute

    d.    Sndplaysound

    e.     Timer

3. Teori Dasar 

    a.    Uses MMSystem

MMSystem (Multimedia System) adalah bagian dari Windows API (Application Programming Interface) yang digunakan untuk mengakses dan mengontrol berbagai fitur multimedia pada sistem operasi Windows. Dalam konteks aplikasi Delphi, MMSystem berperan penting dalam mengintegrasikan fitur multimedia ke dalam program Anda




                                           Gambar 1. Tampilan MMSystem

 

    b.     Uses Shellapi  

Pada aplikasi Delphi, unit ShellAPI adalah bagian dari Windows API yang memberikan akses ke berbagai fungsi yang berkaitan dengan lingkungan shell Windows. Lingkungan shell mengacu pada antarmuka pengguna grafis (GUI) dari sistem operasi Windows, termasuk desktop, ikon, jendela, dan fungsi-fungsi lain yang berkaitan dengan tampilan dan interaksi dengan sistem.

                                                           Gambar 2. Tampilan Shellapi 

 

    c.     SndPlaysound   

Fungsi SndPlaySound adalah bagian dari winmm.dll, yang merupakan pustaka multimedia pada sistem operasi Windows yang digunakan untuk memutar suara. Fungsi ini memungkinkan Anda memainkan file suara dalam format seperti WAV

Gambar 3. Tampilan SndPlaysound 

 

 

    d.     Shellexecute

Fungsi ShellExecute adalah bagian dari unit ShellAPI dalam Delphi dan merupakan bagian dari Windows API. Fungsi ini memungkinkan Anda untuk menjalankan aplikasi, membuka file, atau melakukan tindakan lain tergantung pada ekstensi file, dengan menggunakan program yang terkait dengan jenis file tersebut pada sistem operasi Windows.

 


Gambar 4. Tampilan Shellexecute

 

4. Langkah – Langkah Percobaan

    a.    Flowchart


                     Gambar 5. Flowchart Program

 

    b.    Coding Program

 

unit Unit2;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, jpeg, ExtCtrls, StdCtrls, ShellAPI;

type

  TForm1 = class(TForm)

    shp1: TShape;

    btn1: TButton;

    edt1: TEdit;

    lbl1: TLabel;

    lbl2: TLabel;

    lbl3: TLabel;

    lbl4: TLabel;

    lbl5: TLabel;

    lbl6: TLabel;

    lbl7: TLabel;

    lbl8: TLabel;

    shp2: TShape;

    img1: TImage;

    lbl9: TLabel;

    lbl10: TLabel;

    tmr1: TTimer;

    lbl11: TLabel;

    btn2: TButton;

    btn3: TButton;

    btn4: TButton;

    btn5: TButton;

    img2: TImage;

    img3: TImage;

    img4: TImage;

    img5: TImage;

    img6: TImage;

    img7: TImage;

    img8: TImage;

    img9: TImage;

    img10: TImage;

    img11: TImage;

    img12: TImage;

    img13: TImage;

    img14: TImage;

    img15: TImage;

    img16: TImage;

    img17: TImage;

    img18: TImage;

    img19: TImage;

    img20: TImage;

    img21: TImage;

    img22: TImage;

    img23: TImage;

    img24: TImage;

    img25: TImage;

    img26: TImage;

    btn6: TButton;

    btn7: TButton;

    btn8: TButton;

    btn9: TButton;

    btn10: TButton;

    btn11: TButton;

    btn12: TButton;

    btn13: TButton;

    btn14: TButton;

    btn15: TButton;

    btn16: TButton;

    btn17: TButton;

    btn18: TButton;

    btn19: TButton;

    btn20: TButton;

    btn21: TButton;

    btn22: TButton;

    btn23: TButton;

    btn24: TButton;

    btn25: TButton;

    btn26: TButton;

    btn27: TButton;

    btn28: TButton;

    btn29: TButton;

    btn30: TButton;

    btn31: TButton;

    btn32: TButton;

    btn33: TButton;

    btn34: TButton;

    btn35: TButton;

    btn36: TButton;

    btn37: TButton;

    btn38: TButton;

    btn39: TButton;

    btn40: TButton;

    btn41: TButton;

    btn42: TButton;

    btn43: TButton;

    btn44: TButton;

    btn45: TButton;

    btn46: TButton;

    btn47: TButton;

    btn48: TButton;

    btn49: TButton;

    btn50: TButton;

    btn51: TButton;

    btn52: TButton;

    btn53: TButton;

    btn54: TButton;

    btn55: TButton;

    procedure tmr1Timer(Sender: TObject);

    procedure btn1Click(Sender: TObject);

    procedure btn2Click(Sender: TObject);

    procedure btn3Click(Sender: TObject);

    procedure btn4Click(Sender: TObject);

    procedure btn5Click(Sender: TObject);

    procedure btn6Click(Sender: TObject);

    procedure btn7Click(Sender: TObject);

    procedure btn8Click(Sender: TObject);

    procedure btn9Click(Sender: TObject);

    procedure btn10Click(Sender: TObject);

    procedure btn11Click(Sender: TObject);

    procedure btn12Click(Sender: TObject);

    procedure btn13Click(Sender: TObject);

    procedure btn14Click(Sender: TObject);

    procedure btn15Click(Sender: TObject);

    procedure btn16Click(Sender: TObject);

    procedure btn17Click(Sender: TObject);

    procedure btn18Click(Sender: TObject);

    procedure btn19Click(Sender: TObject);

    procedure btn20Click(Sender: TObject);

    procedure btn21Click(Sender: TObject);

    procedure btn22Click(Sender: TObject);

    procedure btn23Click(Sender: TObject);

    procedure btn24Click(Sender: TObject);

    procedure btn25Click(Sender: TObject);

    procedure btn26Click(Sender: TObject);

    procedure btn27Click(Sender: TObject);

    procedure btn28Click(Sender: TObject);

    procedure btn29Click(Sender: TObject);

    procedure btn30Click(Sender: TObject);

    procedure btn31Click(Sender: TObject);

    procedure btn32Click(Sender: TObject);

    procedure btn33Click(Sender: TObject);

    procedure btn34Click(Sender: TObject);

    procedure btn35Click(Sender: TObject);

    procedure btn36Click(Sender: TObject);

    procedure btn37Click(Sender: TObject);

    procedure btn38Click(Sender: TObject);

    procedure btn39Click(Sender: TObject);

    procedure btn40Click(Sender: TObject);

    procedure btn41Click(Sender: TObject);

    procedure btn42Click(Sender: TObject);

    procedure btn43Click(Sender: TObject);

    procedure btn44Click(Sender: TObject);

    procedure btn45Click(Sender: TObject);

    procedure btn46Click(Sender: TObject);

    procedure btn47Click(Sender: TObject);

    procedure btn48Click(Sender: TObject);

    procedure btn49Click(Sender: TObject);

    procedure btn51Click(Sender: TObject);

    procedure btn50Click(Sender: TObject);

    procedure btn52Click(Sender: TObject);

    procedure btn53Click(Sender: TObject);

    procedure btn54Click(Sender: TObject);

    procedure btn55Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);

  begin

  if edt1.Text='01' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img2.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : IMAM BAYHAQI';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207022-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 01';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn6.Visible:=True;

    btn7.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='02' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img3.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : DEDY HERMANSYAH';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207023-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 02';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn8.Visible:=True;

    btn9.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='03' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img4.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : YUDI SOPANDI';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207024-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 03';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn10.Visible:=True;

    btn11.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='04' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img1.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : KHARIS SETIAJI';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207025-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 04';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn4.Visible:=True;

    btn5.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='05' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img5.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : DARU ARGYA YUDISTIRA';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207026-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 05';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn12.Visible:=True;

    btn13.Visible:=True;

    lbl11.Visible:=False;

  end

  else

   if edt1.Text='06' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img6.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : ATNANTA MADA SAMOEDRA';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207027-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 06';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn14.Visible:=True;

    btn15.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='07' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img7.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : MAULANA HASAN';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207028-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 07';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn16.Visible:=True;

    btn17.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='08' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img8.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : ADI SETIAWAN';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207029-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 08';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn18.Visible:=True;

    btn19.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='09' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img9.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : TOMMY ANDRI A';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207030-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 09';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn20.Visible:=True;

    btn21.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='10' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img10.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : ABETHNEGO';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207031-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 10';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn22.Visible:=True;

    btn23.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='11' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img11.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : HASBY FAJRUS S';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207032-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 11';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn24.Visible:=True;

    btn25.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='12' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img12.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : TRI SETYO UTOMO';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207033-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 12';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn26.Visible:=True;

    btn27.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='13' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img13.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : RIDWAN ASRI S';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207034-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 13';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn28.Visible:=True;

    btn29.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='14' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img14.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : RIFQI SUSENDO';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207035-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 14';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn30.Visible:=True;

    btn31.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='15' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img15.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : ARIA SONTA';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207036-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 15';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn32.Visible:=True;

    btn33.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='16' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img16.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : M YUSLAN';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207037-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 16';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn34.Visible:=True;

    btn35.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='17' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img17.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : DEDE LUKI';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207038-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 17';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn36.Visible:=True;

    btn37.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='18' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img18.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : AFRIYADI';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207039-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 18';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn38.Visible:=True;

    btn39.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='19' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img19.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : YEDHI OKTAFIANTO ';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207040-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 19';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn40.Visible:=True;

    btn41.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='20' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img20.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : ADE BAROKAH ';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207041-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 20';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn42.Visible:=True;

    btn43.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='21' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img21.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : FANDI BAROKAH ';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207042-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 21';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn44.Visible:=True;

    btn45.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='22' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img22.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : ALOYSIUS ALOY';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207043-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 22';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn46.Visible:=True;

    btn47.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='23' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img23.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : SIRAJUDDIN';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207044-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 23';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn48.Visible:=True;

    btn49.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='24' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img24.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : FAISAL AKBAR';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207045-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 24';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn50.Visible:=True;

    btn51.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='25' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img25.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : RENDY SULISTIA';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207046-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 25';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn52.Visible:=True;

    btn53.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  if edt1.Text='26' then

    begin

    shp1.Visible:=True;

    shp2.Visible:=True;

    img26.Visible:=True;

    lbl2.Visible:=True;  lbl2.Caption:='NAMA : YOSERA RICO';

    lbl3.Visible:=True;

    lbl4.Visible:=True;  lbl4.Caption:='NIM : 202207047-E';

    lbl5.Visible:=True;

    lbl6.Visible:=True;  lbl6.Caption:='ABSEN : 26';

    lbl7.Visible:=True;

    lbl8.Visible:=True;

    btn54.Visible:=True;

    btn55.Visible:=True;

    lbl11.Visible:=False;

  end

  else

  begin

    lbl11.Visible:=True;

  end;

end;

procedure TForm1.btn2Click(Sender: TObject);

begin

lbl2.Visible:=False;

lbl3.Visible:=False;

lbl4.Visible:=False;

lbl5.Visible:=False;

lbl6.Visible:=False;

lbl7.Visible:=False;

lbl8.Visible:=False;

shp1.Visible:=False;

shp2.Visible:=False;

img1.Visible:=False;

img2.Visible:=False;

img3.Visible:=False;

img4.Visible:=False;

img5.Visible:=False;

img6.Visible:=False;

img7.Visible:=False;

img8.Visible:=False;

img9.Visible:=False;

img10.Visible:=False;

img11.Visible:=False;

img12.Visible:=False;

img13.Visible:=False;

img14.Visible:=False;

img15.Visible:=False;

img16.Visible:=False;

img17.Visible:=False;

img18.Visible:=False;

img19.Visible:=False;

img20.Visible:=False;

img21.Visible:=False;

img22.Visible:=False;

img23.Visible:=False;

img24.Visible:=False;

img25.Visible:=False;

img26.Visible:=False;

btn4.Visible:=False;

btn5.Visible:=False;

btn6.Visible:=False;

btn7.Visible:=False;

btn8.Visible:=False;

btn9.Visible:=False;

btn10.Visible:=False;

btn11.Visible:=False;

btn12.Visible:=False;

btn13.Visible:=False;

btn14.Visible:=False;

btn15.Visible:=False;

btn16.Visible:=False;

btn17.Visible:=False;

btn18.Visible:=False;

btn19.Visible:=False;

btn20.Visible:=False;

btn21.Visible:=False;

btn22.Visible:=False;

btn23.Visible:=False;

btn24.Visible:=False;

btn25.Visible:=False;

btn26.Visible:=False;

btn27.Visible:=False;

btn28.Visible:=False;

btn29.Visible:=False;

btn30.Visible:=False;

btn31.Visible:=False;

btn32.Visible:=False;

btn33.Visible:=False;

btn34.Visible:=False;

btn35.Visible:=False;

btn36.Visible:=False;

btn37.Visible:=False;

btn38.Visible:=False;

btn39.Visible:=False;

btn40.Visible:=False;

btn41.Visible:=False;

btn42.Visible:=False;

btn43.Visible:=False;

btn44.Visible:=False;

btn45.Visible:=False;

btn46.Visible:=False;

btn47.Visible:=False;

btn48.Visible:=False;

btn49.Visible:=False;

btn50.Visible:=False;

btn51.Visible:=False;

btn52.Visible:=False;

btn53.Visible:=False;

btn54.Visible:=False;

btn55.Visible:=False;

end;

procedure TForm1.tmr1Timer(Sender: TObject);

begin

lbl9.Caption:=FormatDateTime('dd/mm/yyyy',Now);

lbl10.Caption:=FormatDateTime('hh:mm:ss',Now);

end;

procedure TForm1.btn3Click(Sender: TObject);

begin

Form1.Close;

end;

 

procedure TForm1.btn4Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom0704.blogspot.com/2023/08/blog-post.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn5Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom0704.blogspot.com/2023/08/2-percobaan-2-membuat-password-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn6Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom701.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn7Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom701.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn8Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom702.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn9Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom702.blogspot.com/2023/08/2-percobaan-2-membuat-pasword-dan.html','','', SW_SHOWNORMAL) ;

end;

 

procedure TForm1.btn10Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom703.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

 

procedure TForm1.btn11Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom703.blogspot.com/2023/08/percobaan-ii-membuat-password-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn12Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom705.blogspot.com/2023/08/percobaan-i-httpsdocs.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn13Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom705.blogspot.com/2023/08/poltekad-kodiklatad-jurusan-teknik.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn14Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom706.blogspot.com/2023/08/praktek-bahasa-pemograman-laporan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn15Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom706.blogspot.com/2023/08/percobaan-2-membuat-password-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn16Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom707.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn17Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom707.blogspot.com/2023/08/percobaan-2-membuat-password-dan-timer.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn18Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom708.blogspot.com/2023/08/percobaan-1.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn19Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom708.blogspot.com/2023/08/laporan-percobaan-2-di-susun-oleh-sertu.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn20Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom709.blogspot.com/2023/08/jurusan-telekomunikasi-prodi-teknik.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn21Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom709.blogspot.com/2023/08/jurusan-telekomunikasi-prodi-teknik.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn22Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom710.blogspot.com/2023/08/pratek-bahasa-pemprograman.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn23Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom710.blogspot.com/2023/08/percobaan-ii-membuat-pasword-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn24Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom711.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn25Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom711.blogspot.com/2023/08/percobaan-2-membuat-password-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn26Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom712.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn27Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom712.blogspot.com/2023/08/praktik-bahasa-pemrograman.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn28Click(Sender: TObject);

begin

ShellExecute(0,'open','https://komd4713.blogspot.com/2023/08/tugas-1.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn29Click(Sender: TObject);

begin

ShellExecute(0,'open','https://komd4713.blogspot.com/2023/08/tugas-2_10.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn30Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom714.blogspot.com/2023/08/jurusan-telekomunikasi-prodi-teknik.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn31Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom714.blogspot.com/2023/08/jurusan-telekomunikasi-prodi-teknik_10.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn32Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom715.blogspot.com/2023/08/percobaan-1.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn33Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom715.blogspot.com/2023/08/percobaan-1.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn34Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom716.blogspot.com/2023/08/bhs-pemograman.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn35Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom716.blogspot.com/2023/08/percobaan-2.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn36Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom717.blogspot.com/2023/08/pol-tekad-kodiklatad-jurusan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn37Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom717.blogspot.com/2023/08/pol-tekad-kodiklatad-jurusan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn38Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom718.blogspot.com/2023/08/membuat-tampilan-nama-pribadi.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn39Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom718.blogspot.com/2023/08/membuat-password-dan-menampilkan-waktu.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn40Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom719.blogspot.com/2023/08/praktik-pembuatan-nama-pribadi.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn41Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom719.blogspot.com/2023/08/praktik-membuat-password-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn42Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom720.blogspot.com/2023/08/d4kom7-percobaan-1-membuat-tampilan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn43Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom720.blogspot.com/2023/08/d4kom7-percobaan-2-membuat-password-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn44Click(Sender: TObject);

begin

ShellExecute(0,'open','https://komd4725.blogspot.com','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn45Click(Sender: TObject);

begin

ShellExecute(0,'open','https://komd4725.blogspot.com','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn46Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom722.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn47Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom722.blogspot.com/2023/08/percobaan-2.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn48Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom723.blogspot.com/2023/08/percobaan-i-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn49Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom723.blogspot.com/2023/08/percobaan-i-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn51Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom724.blogspot.com/2023/08/praktek-bahasa-pemrograman-laporan_10.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn50Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom724.blogspot.com/2023/08/praktek-bahasa-pemrograman-laporan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn52Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom725.blogspot.com/2023/08/percobaan-1-membuat-tampilan-nama.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn53Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom725.blogspot.com/2023/08/percobaan-2-membuat-password-dan.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn54Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom726.blogspot.com/2023/08/percobaan-1.html','','', SW_SHOWNORMAL) ;

end;

procedure TForm1.btn55Click(Sender: TObject);

begin

ShellExecute(0,'open','https://d4kom726.blogspot.com/2023/08/percobaan2.html','','',SW_SHOWNORMAL) ;

end;

end. 

 

 coding untuk piano

 unit Unit5;

 

interface

 

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, MMSystem, Shellapi;

 

type

  TForm5 = class(TForm)

    Label1: TLabel;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    Button6: TButton;

    Button7: TButton;

    Button8: TButton;

    Button9: TButton;

    Button10: TButton;

    Button11: TButton;

    Button12: TButton;

    Button13: TButton;

    Button14: TButton;

    Button15: TButton;

    Button16: TButton;

    Button17: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button7Click(Sender: TObject);

    procedure Button8Click(Sender: TObject);

    procedure Button9Click(Sender: TObject);

    procedure Button10Click(Sender: TObject);

    procedure Button11Click(Sender: TObject);

    procedure Button12Click(Sender: TObject);

    procedure Button13Click(Sender: TObject);

    procedure Button14Click(Sender: TObject);

    procedure Button15Click(Sender: TObject);

    procedure Button16Click(Sender: TObject);

    procedure Button17Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form5: TForm5;

 

implementation

 

{$R *.dfm}

 

procedure TForm5.Button10Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\10.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button11Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\11.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button12Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\12.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button13Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\13.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button14Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\14.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button15Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\15.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button16Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\16.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button17Click(Sender: TObject);

begin

form5.Close;

end;

 

procedure TForm5.Button1Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\1.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button2Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\2.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button3Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\3.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button4Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\4.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button5Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\5.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button6Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\6.wav',SND_NODEFAULT or SND_ASYNC);

end;

procedure TForm5.Button7Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\7.wav',SND_NODEFAULT or SND_ASYNC);

end;

procedure TForm5.Button8Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\8.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

procedure TForm5.Button9Click(Sender: TObject);

begin

sndPlaySound('D:\SEMESTER 3 TELKOMMIL 2023\BAHASA PEMOGRAMAN\FILE LAPORAN\NADA  OKTAF\9.wav',SND_NODEFAULT or SND_ASYNC);

end;

 

end.

 

5. Hasil dan Pembahasan

 

   a.    hasil Video


    b.    Pembahasan

Membuat aplikasi suara piano di Delphi menggabungkan pemrograman dengan eksplorasi musik. Desain antarmuka pengguna intuitif memudahkan interaksi dengan tombol piano. Implementasi tombol dan event handling memastikan suara yang pas saat tombol ditekan. Pemutaran suara melalui MMSystem atau pustaka audio lain menciptakan pengalaman realistis.

Opsi penyesuaian nada dan pemrosesan MIDI memberikan kedalaman musikal yang lebih. Fitur tambahan seperti perekaman performa atau efek suara bisa diterapkan. Pengujian dan dokumentasi penting agar aplikasi lancar dan mudah dimengerti. Proyek ini tidak hanya memperdalam pemahaman tentang Delphi, tetapi juga membuka kreativitas dalam menggabungkan teknis dan seni.

 

6. Kesimpulan 

Membuat aplikasi suara piano menggunakan Delphi adalah proyek yang penuh pembelajaran. Selain mengasah keterampilan dalam mengembangkan antarmuka pengguna dan pemrograman Delphi, proyek ini membuka wawasan tentang multimedia dan audio. Anda akan belajar mengolah suara dari input pengguna, menangani event, dan mengungkap kreativitas dalam menciptakan alat hiburan yang unik. Meskipun dapat dimulai dengan versi sederhana, proyek ini mengajak Anda untuk lebih dalam menjelajahi konsep pemrosesan suara dan memberikan pengalaman berharga dalam pengembangan aplikasi yang melibatkan aspek multimedia.