• Tidak ada hasil yang ditemukan

Perancangan Aplikasi Pemesanan Barang Melalui SMS (Short Message Service).

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Aplikasi Pemesanan Barang Melalui SMS (Short Message Service)."

Copied!
58
0
0

Teks penuh

(1)

ABSTRAK

Perkembangan teknologi telekomunikasi dan teknologi komputer yang begitu

pesat telah memberikan fasilitas-fasilitas yang memberi kemudahan bagi para

penggunanya di dalam memanfaatkan setiap teknologi yang ada. Salah satu hasil

dari kemajuan teknologi telekomunikasi adalah SMS (Short Message Service).

SMS (Short Message Service) merupakan sebuah layanan yang banyak

diaplikasikan pada sistem komunikasi nirkabel, yang memungkinkan dilakukannya

pengiriman pesan dalam bentuk alphanumeric.

(2)

ABSTRACT

Growth of telecommunications technology and computer technology in this

moment, that give facilities to all user in exploits every existing technology. One of

the result telecommunications advancement technology is Short Message Service.

Short Message Service is a service that many applied at wireless

communication system. Short Message Service can send message in the form of

alphanumeric code.

(3)

DAFTAR ISI

Abstrak

... ...

i

Abstract

... ...

ii

Kata Pengantar

... ...

iii

Daftar Isi

... ...

v

Daftar Tabel

... ...

vii

Daftar Gambar

... ...

viii

BAB I PENDAHULUAN

1.1 Latar Belakang

...1

1.2 Identifikasi Masalah

...2

1.3 Tujuan...

...2

1.4 Pembatasan Masalah

...3

1.5 Perangkat Lunak yang Digunakan

...3

1.6 Perangkat Keras yang Digunakan

...4

1.7 Sistematika Penulisan Laporan

...4

BAB II LANDASAN TEORI

2.1 Perangkat Lunak

...6

2.2 Basis Data..

...6

2.3. Model Data..

...8

2.4. DBMS..

... 9

2.5. Proses Desain Sistem Basis Data..

...10

2.6 Microsoft Office Access...

...10

2.6.1 Keunggulan Microsoft Office Access..

...11

2.7 Borland Delphi

...13

2.7.1 Kelebihan

Borland Delphi ..

...14

2.8 TOxygenSMS Component

... 16

2.9 TMS Component

...17

BAB III PERANCANGAN

3.1 Sekilas Mengenai Program

...19

3.2 Pembagian Program

... 20

3.3 Cara Kerja Sistem

... ...22

3.4 Peracangan Basis Data

... ...22

3.4.1 Relasi Antar Tabel Basis Data

.. ...26

3.5 Peracangan Program

... ...26

BAB IV PEMBAHASAN

4.1 Persiapan Menjalankan Progam

...44

4.2 Pembahasan Progam

... 45

4.2.1 Program untuk Mengatur Koneksi dengan Telepon

Genggam (Menu Connection)..

... 46

(4)

4.2.3 Program untuk Melihat Pesan yang Keluar

(Menu Draft)..

... 48

4.2.4 Program untuk Melihat Pesan yang Terkirim / Tidak

(Menu Report)..

... 49

4.2.5 Program untuk Mengirimkan Pesan (Menu Create

Messages..

... 50

4.2.6 Program Basis Data Manajemen Stok Barang (Menu

Stock)...

... 52

4.2.7 Program Basis Data Manajemen Pelanggan (Menu

Customer)...

... 53

4.2.8 Program Basis Data untuk Menampung Pesanan

Pelanggan (Menu Purchase Order)..

... 54

4.3 Proses Pengiriman Pesan dan Penerimaan Pesan..

... 55

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan...

...55

5.2 Saran...

...55

(5)

DAFTAR TABEL

Tabel 3.1 Tabel

Inbox

...22

Tabel 3.2 Tabel

Outbox

...23

Tabel 3.3 Tabel

Report

...23

Tabel 3.4 Tabel Barang ...24

Tabel 3.5 Tabel Pelanggan ...24

Tabel 3.6 Tabel

Send To Many

...25

Tabel 3.7 Tabel

Po (Purchase Order)

...25

(6)

DAFTAR GAMBAR

Gambar 2.1 Basis Data di Sebuah Lemari Arsip...7

Gambar 2.2 Basis Data di Sebuah Komputer ...8

Gambar 2.3 Tampilan

Microsoft Access

...13

Gambar 2.4 Tampilan

Borland Delphi

...16

Gambar 2.5 Tampilan Demo

TOxygenSMS

...17

Gambar 2.6 Tampilan Contoh Form dengan Bantuan

Tms Component

...18

Gambar 3.1 Diagram Blok Secara Garis Besar ...21

Gambar 3.2 Gambar Relasi Antara tabel Basis Data ...26

Gambar 3.3 Gambar Komponen

AdvSmoothSplashScreen

...27

Gambar 3.4 Tampilan

SplashScreen

...28

Gambar 3.5 Gambar Komponen

OxygenSMS

...28

Gambar 3.6 Gambar Komponen

TADOConnection, ADO Table,

Data Source.

...29

Gambar 3.7 Gambar Komponen

TDB Adv Grid

...30

Gambar 3.8 Gambar Diagram Alir Pengiriman Pesan ...31

Gambar 3.9 Gambar Diagram alir Penerimaan Pesan ...32

Gambar 3.10 Gambar Perancangan Menu

Connection

... 33

Gambar 3.11 Gambar Perancangan Menu

Inbox

... 34

Gambar 3.12 Gambar Perancangan Menu Pengiriman Pesan Satu Per

Satu

...

...35

Gambar 3.13 Gambar Perancangan Menu Pengiriman Pesan dengan

Antrian

.

...35

Gambar 3.14 Gambar Perancangan Menu Antrian Pengiriman Pesan ...36

Gambar 3.15 Gambar Perancangan Menu

Draft

...37

Gambar 3.16 Gambar Perancangan Menu

Report

...38

Gambar 3.17 Gambar Perancangan Menu

Stock

...39

Gambar 3.18 Gambar Perancangan Menu untuk

Input Stock

... 39

Gambar 3.19 Gambar Perancangan Menu

Purchase Order

...40

Gambar 3.20 Gambar Perancangan Menu untuk Pembuatan Faktur...41

Gambar 3.21 Gambar Perancangan Menu untuk Data

Customer

...42

Gambar 3.22 Gambar Perancangan Menu untuk

Input

Data Customer ...42

Gambar 4.1 Gambar Telepon Genggam dan Kabel Data dari Depan ...43

Gambar 4.2 Gambar Telepon Genggam dan Kabel Data dari Belakang ...44

Gambar 4.3 Gambar Tampilan Program Saat Pertama Kali Dijalankan ...45

Gambar 4.4 Gambar Tampilan Menu

Connection

...46

Gambar 4.5 Gambar Tampilan Menu

Inbox

...47

Gambar 4.6 Gambar Tampilan Menu

Draft

...48

Gambar 4.7 Gambar Tampilan Menu

Report

...49

Gambar 4.8 Gambar Tampilan Menu

Create Messages

(satu per satu) ...50

Gambar 4.9 Gambar Tampilan Menu

Create Messages

(antrian) ...50

(7)

Gambar 4.11 Gambar Tampilan Menu

Data Customer

...52

(8)

Lampiran A

Listing Program di Form Utama

unit UProgramSms; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, AdvSmoothMenu, ExtCtrls, ComCtrls, StdCtrls, AdvStyleIF, jpeg, AdvSmoothLabel, AdvSmoothButton, AdvSmoothListBox,

AdvSmoothComboBox,

AdvSmoothToggleButton, AdvPanel, AdvWiiProgressBar, SMSComp, WinXP, XPMan, DB, ADODB,ActnList, ActnMan,ToolWin, StdStyleActnCtrls, Spin, AdvGlassButton, AdvSelectors, GDIPPictureContainer, Grids, BaseGrid, AdvGrid, DBAdvGrid, DBCtrls, Mask, AdvSmoothPanel,

Menus, AdvSmoothSplashScreen, Buttons, DBGrids, RpCon, RpConDS, RpDefine, RpRave;

type

TfrmMenuUtama = class(TForm) AdvSmoothMenu: TAdvSmoothMenu; PageControl: TPageControl;

TabSheet2: TTabSheet; TabSheet4: TTabSheet; TabSheet5: TTabSheet; StatusBar: TStatusBar; TabSheet1: TTabSheet; GroupBox4: TGroupBox; Panel1: TPanel;

(9)

Oxygencomponent: TOxygenSMS; WinXP1: TWinXP;

Timer1: TTimer;

XPManifest: TXPManifest; Timer2: TTimer;

Panel2: TPanel;

btnkonek: TAdvSmoothButton; btndiskonek: TAdvSmoothButton; GroupBox1: TGroupBox;

DataSourceStok: TDataSource; ADOTableStok: TADOTable; TabSheet6: TTabSheet; GroupBox5: TGroupBox; ADOTableInbox: TADOTable; DataSourceInbox: TDataSource;

ADOTableInboxNo_Hp: TWideStringField; ADOTableInboxNama_Toko: TWideStringField; ADOTableInboxPesan: TWideStringField;

ADOTableInboxTanggal_Masuk: TDateTimeField; Timer3: TTimer;

GroupBox7: TGroupBox; DBEdit1: TDBEdit; DBMemo1: TDBMemo; Label1: TLabel;

(10)

AdvSmoothLabel1: TAdvSmoothLabel; GroupBox10: TGroupBox;

GroupBox9: TGroupBox; GroupBox11: TGroupBox; btnnewcust: TAdvSmoothButton; btneditcust: TAdvSmoothButton; btndelcust: TAdvSmoothButton; btnrefcust: TAdvSmoothButton; btnprintcust: TAdvSmoothButton; GroupBox12: TGroupBox;

GroupBox13: TGroupBox; GroupBox6: TGroupBox; GroupBox14: TGroupBox;

btngetinbox: TAdvSmoothButton; btnkirimpesan: TAdvSmoothButton; GroupBox15: TGroupBox;

AdvSmoothPanel1: TAdvSmoothPanel; btNewStock: TAdvSmoothButton; btneditstock: TAdvSmoothButton; btndeletestock: TAdvSmoothButton; btnsearchstok: TAdvSmoothButton; btnRefreshstock: TAdvSmoothButton; btnprintstock: TAdvSmoothButton; Panel3: TPanel;

AdvWiiProgressBar3: TAdvWiiProgressBar; ADOTableCustomer: TADOTable;

DataSourceCustomer: TDataSource;

(11)

ADOTableCustomerNama_Toko: TWideStringField; ADOTableCustomerContact_Person: TWideStringField; ADOTableCustomerAlamat: TWideStringField;

ADOTableCustomerNo_Tlp: TWideStringField; ADOTableCustomerNo_Hp: TWideStringField; ADOTableCustomerKeterangan: TWideStringField; GroupBox2: TGroupBox;

Panel4: TPanel;

lbConnection: TAdvSmoothLabel; GroupBox3: TGroupBox;

AdvSmoothPanel2: TAdvSmoothPanel; lbcomport: TAdvSmoothLabel;

spedcomport: TSpinEdit; lbsmsc: TLabel;

lbsmscenter: TAdvSmoothLabel; lbtipe: TLabel;

lbtype: TAdvSmoothLabel; lbhardver: TAdvSmoothLabel; lbhv: TLabel;

GroupBox16: TGroupBox;

AdvSmoothPanel3: TAdvSmoothPanel; lbsv: TLabel;

lbsoftver: TAdvSmoothLabel; lbsoftverdate: TAdvSmoothLabel; lbsvd: TLabel;

lbime: TLabel;

(12)

lbsc: TLabel; Image4: TImage; Image1: TImage; Panel5: TPanel;

AdvWiiProgressBar1: TAdvWiiProgressBar; AdvSmoothButton6: TAdvSmoothButton; queryid: TADOQuery;

Panel6: TPanel;

ADOTableReport: TADOTable; DataSourceReport: TDataSource; Panel7: TPanel;

GroupBox17: TGroupBox; dbgridreport: TDBAdvGrid;

AdvSmoothButton1: TAdvSmoothButton; AdvSmoothButton2: TAdvSmoothButton; Panel8: TPanel;

Panel9: TPanel;

GroupBox18: TGroupBox; GroupBox19: TGroupBox; TabSheet3: TTabSheet; TabSheet8: TTabSheet; GroupBox20: TGroupBox; DataSourceDraft: TDataSource; ADOTableDraft: TADOTable;

ADOTableDraftNo_Hp: TWideStringField; ADOTableDraftNama_Toko: TWideStringField; ADOTableDraftPesan: TWideStringField;

(13)

ADOTableDraftJam: TWideStringField; GroupBox21: TGroupBox;

GroupBox22: TGroupBox;

AdvSmoothButton3: TAdvSmoothButton; ADOTableInboxNama: TWideStringField; ADOTableReportNo_Hp: TWideStringField; ADOTableReportNama_Toko: TWideStringField; ADOTableReportStatus: TWideStringField; ADOTableReportTanggal_Kirim: TDateTimeField; ADOTableStokJenis_Barang: TWideStringField; ADOTableStokMerk_Barang: TWideStringField; ADOTableStokType_Barang: TWideStringField; ADOTableStokStock: TSmallintField;

ADOTableStokMasa_Garansi: TSmallintField; ADOTableStokJenis_Garansi: TWideStringField; ADOTableStokHarga_Beli: TIntegerField;

ADOTableStokHarga_Jual: TIntegerField; ADOTableStokKeterangan: TWideStringField; DBAdvGrid6: TDBAdvGrid;

querypoid: TADOQuery; GroupBox23: TGroupBox;

AdvSmoothButton4: TAdvSmoothButton; DataSourcePo: TDataSource;

ADOTablePo: TADOTable;

ADOTablePoNomer_PO: TWideStringField; ADOTablePoID_Cust: TWideStringField;

(14)

ADOTablePoTotal: TIntegerField; GroupBox24: TGroupBox;

AdvSmoothButton5: TAdvSmoothButton; ADOTableReportNamaToko: TWideStringField; DBAdvGrid2: TDBAdvGrid;

RvProjectCust: TRvProject;

RvCCust: TRvDataSetConnection; DBAdvGrid3: TDBAdvGrid;

Label3: TLabel; Label4: TLabel; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBMemo2: TDBMemo;

AdvWiiProgressBar4: TAdvWiiProgressBar; AdvWiiProgressBar2: TAdvWiiProgressBar; AdvWiiProgressBar5: TAdvWiiProgressBar; DBAdvGrid4: TDBAdvGrid;

AdvSmoothLabel3: TAdvSmoothLabel; AdvSmoothLabel2: TAdvSmoothLabel; AdvSmoothLabel4: TAdvSmoothLabel; AdvSmoothLabel5: TAdvSmoothLabel; DBAdvGrid5: TDBAdvGrid;

AdvSmoothLabel6: TAdvSmoothLabel; GroupBox25: TGroupBox;

Image2: TImage;

GroupBox26: TGroupBox; Label5: TLabel;

(15)

Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Image3: TImage; Label11: TLabel; Label12: TLabel; Image5: TImage; Image6: TImage;

ADOTablePoLkCustomer: TStringField; ADOTablePoLkAlamat: TStringField;

AdvSmoothSplashScreen1: TAdvSmoothSplashScreen; GDIPPictureContainer1: TGDIPPictureContainer; btndelrpt: TAdvSmoothButton;

AdvWiiProgressBar7: TAdvWiiProgressBar; RvStock: TRvDataSetConnection;

RvProjectStock: TRvProject; DBAdvGrid1: TDBAdvGrid;

AdvSmoothLabel7: TAdvSmoothLabel; AdvSmoothButton7: TAdvSmoothButton; AdvSmoothButton8: TAdvSmoothButton; AdvSmoothButton9: TAdvSmoothButton; AdvSmoothButton10: TAdvSmoothButton; btnExit: TAdvSmoothButton;

(16)

procedure FormCreate(Sender: TObject);

procedure AdvSmoothMenuItemClick(Sender: TObject; ItemIndex: Integer); procedure Timer1Timer(Sender: TObject);

procedure Timer2Timer(Sender: TObject); procedure btnkonekClick(Sender: TObject); procedure ConnState(st: boolean);

procedure btndiskonekClick(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure spedcomportChange(Sender: TObject);

procedure btNewStockClick(Sender: TObject); procedure btneditstockClick(Sender: TObject); procedure btndeletestockClick(Sender: TObject); procedure dbgridstokDblClick(Sender: TObject); procedure btnRefreshstockClick(Sender: TObject); procedure btnsearchstokClick(Sender: TObject); procedure FormShow(Sender: TObject);

procedure btngetinboxClick(Sender: TObject); procedure Timer3Timer(Sender: TObject);

procedure OxygencomponentSMSReportReceived(Index: Integer; Time: TDateTime; Send: String; Delivery: Integer);

procedure OxygencomponentSMSMessageReceived(Index: Integer; Time: TDateTime; Text, Send: String; Pict: TBitmap);

procedure btnnewcustClick(Sender: TObject); procedure btndelcustClick(Sender: TObject); procedure btnrefcustClick(Sender: TObject); procedure btneditcustClick(Sender: TObject);

procedure ADOTableCustomerNewRecord(DataSet: TDataSet);

(17)

procedure btnkirimpesanClick(Sender: TObject); procedure AdvSmoothButton6Click(Sender: TObject); procedure DeleteMessages2Click(Sender: TObject); procedure DeleteMessages1Click(Sender: TObject); procedure ForwardMessages1Click(Sender: TObject); procedure btndelrptClick(Sender: TObject);

procedure AdvSmoothButton3Click(Sender: TObject); procedure AdvSmoothButton4Click(Sender: TObject); procedure AdvSmoothButton5Click(Sender: TObject); procedure btnprintcustClick(Sender: TObject);

procedure Button1Click(Sender: TObject); procedure btnprintstockClick(Sender: TObject); procedure btnExitClick(Sender: TObject); private

{ Private declarations } public

{ Public declarations }

Function LoadMessage(ox : TOxygenSMS;location : integer) : String; procedure UpdateProgress(Percentage: integer);

end; var

frmMenuUtama: TfrmMenuUtama; Title: String ;

implementation

uses DateUtils , StrUtils, UInputStock, UInputStockCari, UNewCust, UNewMessage, RptCustomer , UPoDetail, USendtoMany;

(18)

{Fungsi ini digunakan ReadInbox berfungsi untuk membaca seluruh data dari dalam Inbox Handset, fungsi ini akan memanggil fungsi LoadMessage }

Function ReadInBox(ox : TOxygenSMS; var vCount, vBusy : String) :

TStringList;

var SlotList : TStringList; I, Count, Busy : Integer; Locations,X : String; Begin

Result := TStringList.Create; Screen.Cursor := crHourGlass; SlotList := TStringList.Create;

ox.GetInboxInfo(Count, Busy, Locations); vCount := IntToStr(Count);

vBusy := IntToStr(Busy);

SlotList.CommaText := ox.GetInboxLocations; Screen.Cursor := crDefault;

For I := 0 To SlotList.Count-1 do

x := frmMenuUtama.LoadMessage(ox, StrToInt(SlotList.Strings[i])); SlotList.Free;

end;

//Menu untuk mengotrol page control

procedure TfrmMenuUtama.AdvSmoothMenuItemClick(Sender: TObject; ItemIndex: Integer);

begin

PageControl.ActivePageIndex := ItemIndex; end;

procedure TfrmMenuUtama.FormCreate(Sender: TObject);

(19)

i: integer; begin

DoubleBuffered := true; //Untuk style advsmoothmenu AdvSmoothMenu.SetComponentStyle(tsOffice2007Luna);

Application.Title:='Smart Sms Software '; //Untuk Mengatur Judul

Agar Bergerak Kiri Kanan

Title:=Application.Title;

//program splash screen begin

//AdvSmoothSplashScreen1.Show;

//AdvSmoothSplashScreen1.BeginUpdate; //Sleep(200);

//AdvSmoothSplashScreen1.BasicProgramInfo.ProgramVersion.Text := 'Version: ';

//AdvSmoothSplashScreen1.BasicProgramInfo.ProgramVersion.Text := 'Version: ';

AdvSmoothSplashScreen1.BasicProgramInfo.ProgramVersion.Location := ilCustom;

AdvSmoothSplashScreen1.BasicProgramInfo.ProgramVersion.PosX := 250; AdvSmoothSplashScreen1.BasicProgramInfo.ProgramVersion.PosY := 135; AdvSmoothSplashScreen1.EndUpdate;

AdvSmoothSplashScreen1.ProgressBar.Top := 250; AdvSmoothSplashScreen1.ProgressBar.Left := 150; Sleep(100);

UpdateProgress(10); Sleep(100);

UpdateProgress(20); Sleep(100);

UpdateProgress(30); Sleep(100);

(20)

Sleep(100);

UpdateProgress(50); I := 50;

while AdvSmoothSplashScreen1.ProgressBar.Position < 100 do begin

Sleep(1);

UpdateProgress(I); Inc(I);

end;

//program splash screen end ;

end;

procedure TfrmMenuUtama.UpdateProgress(Percentage: integer);

begin

AdvSmoothSplashScreen1.ProgressBar.Position := Percentage; end;

//Timer untuk mengatur animasi judul

procedure TfrmMenuUtama.Timer1Timer(Sender: TObject);

var

Temp:String; begin

Temp:= Application.Title; Temp:= Temp+Temp[1];

Temp:= Copy(Temp,2,length(Temp)-1); Application.Title:= Temp;

frmMenuUtama.Caption:= Temp; end;

//Timer untuk menampilkan tanggal dan jam di status bar

(21)

begin

StatusBar.Panels[3].Text := FormatDateTime('dd mmmm yyyy',Now); StatusBar.Panels[4].Text := FormatDateTime('hh:mm:ss',Now); end;

//Program untuk melakukan koneksi

procedure TfrmMenuUtama.btnkonekClick(Sender: TObject);

begin

Oxygencomponent.Close; if Oxygencomponent.Open then begin

if not ADOTableInbox.Active then ADOTableInbox.Open; Timer3.Enabled := false;

StatusBar.Panels[0].Text:= 'Connected' ;

StatusBar.Panels[1].Text:= 'Phone type :' + Oxygencomponent.PhoneType; StatusBar.Panels[2].Text:= 'Imei :' +Oxygencomponent.IMEI;

lbsmsc.Caption:= Oxygencomponent.GetSMSCNumber; lbtipe.Caption:= Oxygencomponent.PhoneType;

//lbsinyal.Caption:= ' 100 %'; //lbbatre.Caption := ' 100 %';

lbhv.Caption:= Oxygencomponent.HW; lbsv.Caption:= Oxygencomponent.SW; lbsvd.Caption:= Oxygencomponent.SWDate; lbime.Caption:= Oxygencomponent.IMEI; lbsc.Caption:= 'Connected' ;

(22)

else ShowMessage(' Maaf Port Yang Anda Pilih Tidak Sesuai, Coba Ulangi Lagi ! ');

end;

procedure TfrmMenuUtama.ConnState(st: boolean);

begin

spedcomport.Enabled:= not st ; end;

//Program untuk menghentikan koneksi

procedure TfrmMenuUtama.btndiskonekClick(Sender: TObject);

begin

Oxygencomponent.Close; Timer3.Enabled := false;

StatusBar.Panels[0].text := 'Not Connected'; StatusBar.Panels[1].text := 'Phone type: none'; StatusBar.Panels[2].text := 'IMEI:';

lbsmsc.caption := ' Disconnected '; lbtipe.Caption := ' Disconnected '; //lbsinyal.Caption := 'Disconnected'; //lbbatre.Caption := 'Disconnected'; lbhv.Caption := 'Disconnected'; lbsv.Caption := 'Disconnected'; lbsvd.Caption := 'Disconnected'; lbime.Caption := 'Disconnected'; lbsc.Caption := 'Disconnected'; Image4.Visible := true ;

Image1.Visible := false; end;

(23)

procedure TfrmMenuUtama.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Oxygencomponent.Close; Oxygencomponent.Free; ADOTablePo.Close; end;

//Perintah untuk mangatur com. port yang digunakan

procedure TfrmMenuUtama.spedcomportChange(Sender: TObject);

begin

Oxygencomponent.ComNumber := StrToInt(spedcomport.Text); end;

procedure TfrmMenuUtama.btNewStockClick(Sender: TObject);

begin

ADOTableStok.Append; FrmInputStock.Show;

frmInputStock.DBEditmasagaransi.Text:= '0'; frmInputStock.DBEdithb.Text := '0';

frmInputStock.DBEdithj.Text := '0'; frmInputStock.DBEditstok.Text := '0'; end;

procedure TfrmMenuUtama.btneditstockClick(Sender: TObject);

begin

frmInputStock.ShowModal; end;

procedure TfrmMenuUtama.btndeletestockClick(Sender: TObject);

begin

(24)

end;

procedure TfrmMenuUtama.dbgridstokDblClick(Sender: TObject);

begin

frmInputStock.ShowModal; end;

procedure TfrmMenuUtama.btnRefreshstockClick(Sender: TObject);

begin

ADOTableStok.Refresh;

ADOTableStok.IndexFieldNames := 'Jenis_Barang'; end;

procedure TfrmMenuUtama.btnsearchstokClick(Sender: TObject);

begin

frmsearchstok.ComboBoxSearchStok.Items.Clear;

frmsearchstok.ComboBoxSearchStok.Items.Add('Jenis_Barang'); frmsearchstok.ComboBoxSearchStok.Items.Add('Merk_Barang'); frmsearchstok.Editsearchstok.Clear;

frmsearchstok.ShowModal;

If (frmsearchstok.ComboBoxSearchStok.Text<>'') AND (frmsearchstok.Editsearchstok.Text<>'') Then

ADOTableStok.Locate(frmsearchstok.ComboBoxSearchStok.Text,frmsearchstok. Editsearchstok.Text,[loPartialKey]);

end;

{Fungsi ini digunakan untuk membaca satu SMS dalam salah satu slot/lokasi dalam InBox}

Function ReadMessageFromLocation(ox : TOxygenSMS;

location : integer) : TStringList;

(25)

Pict : TBitmap; Begin

Result := TStringList.Create;

If ox.ReadSMSMessage( Location, isMsg, Time, Text, Send, Deliv, Pict) Then Begin

Result.Add('Message Location ' + Format('%2.2d', [Location] )); Result.Add('Date ' + FormatDateTime('dd/mm/yyyy hh:nn:ss', Time) ); Result.Add('');

Result.Add('Message'); Result.Add(Text); Result.Add('');

Result.Add('Sender' + Send); End

Else Result.Add('Slot is empty'); End;

{Fungsi ini digunakan untuk untuk menampilkan ringkasan singkat dari SMS dalam inbox }

Function TfrmMenuUtama.LoadMessage(ox : TOxygenSMS;location : integer) : String;

var IsMsg: WordBool; Time: TDateTime; Text, Send, vlist : string; Deliv: integer;

Pict : TBitmap; Begin

If ox.ReadSMSMessage( Location, isMsg,Time, Text, Send, Deliv, Pict) Then Begin

(26)

ADOTableInbox.FieldByName('Tanggal_Masuk').AsDateTime := Now; ADOTableInbox.FieldByName('No_HP').AsString := Send;

ADOTableInbox.FieldByName('Pesan').AsString := Text; ADOTableInbox.Post;

Oxygencomponent.DeleteSMSMessage(location); End

Else vlist := 'Slot is empty'; Result := vlist;

End;

procedure TfrmMenuUtama.FormShow(Sender: TObject);

begin

Timer3.Enabled := false; ADOTablePo.Open; end;

procedure TfrmMenuUtama.btngetinboxClick(Sender: TObject);

Var vCount,vBusy : String; begin

If Oxygencomponent.Open then begin

Timer3.Enabled := false;

ReadInBox(Oxygencomponent,vCount,vBusy); Timer3.Enabled := true;

end end;

procedure TfrmMenuUtama.Timer3Timer(Sender: TObject);

begin

(27)

If Oxygencomponent.Open then begin

if not ADOTableInbox.Active then ADOTableInbox.Open; Timer3.Enabled := false;

Timer3.Enabled := true; end;

end end;

procedure TfrmMenuUtama.OxygencomponentSMSReportReceived(Index: Integer; // Program untuk mengatur komonen oxygen dengan database

Time: TDateTime; Send: String; Delivery: Integer);

//Var vCount,vBusy : String; Begin

if not ADOTableReport.Active then ADOTableReport.Open; ADOTableReport.Append;

ADOTableReport.FieldByName('No_Hp').AsString := Send; ADOTableReport.FieldByName('Tanggal_Kirim').AsDateTime := Now; Case Delivery Of

0 : ADOTableReport.FieldByName('Status').AsString := 'Terkirim'; 1 : ADOTableReport.FieldByName('Status').AsString := 'Failed'; 2 : ADOTableReport.FieldByName('Status').AsString := 'Pending'; 3 : ADOTableReport.FieldByName('Status').AsString := 'Failed'; End;

ADOTableReport.Post;

Oxygencomponent.DeleteSMSMessage(Index); end;

procedure

TfrmMenuUtama.OxygencomponentSMSMessageReceived(Index: Integer;

(28)

Var vCount,vBusy : String; Begin

ReadInBox(Oxygencomponent,vCount,vBusy); end;

procedure TfrmMenuUtama.btnnewcustClick(Sender: TObject);

begin

ADOTableCustomer.Append; frmNewCust.Show;

end;

procedure TfrmMenuUtama.btndelcustClick(Sender: TObject);

begin

MessageDlg(' Are You Sure To Delete This Record ? ',mtWarning,[mbOK],0); ADOTableCustomer.Delete;

end;

procedure TfrmMenuUtama.btnrefcustClick(Sender: TObject);

begin

ADOTableCustomer.Refresh; end;

procedure TfrmMenuUtama.btneditcustClick(Sender: TObject);

begin

frmNewCust.ShowModal; end;

procedure TfrmMenuUtama.ADOTableCustomerNewRecord(DataSet: TDataSet);

begin

queryid.Close; queryid.Open;

if queryid.Fields[0].Value = NULL then

(29)

else

ADOTableCustomerID_Cust.Value:='C-'+FormatFloat('000', queryid.Fields[0].Value);

end;

procedure TfrmMenuUtama.dbgridcustDblClickCell(Sender: TObject; ARow,

ACol: Integer); begin

frmNewCust.ShowModal; end;

procedure TfrmMenuUtama.btnkirimpesanClick(Sender: TObject);

begin

ADOTableDraft.Append; frmNewMessage.Show;

frmNewMessage.Memomes.Clear; frmNewMessage.Memomes.SetFocus; end;

procedure TfrmMenuUtama.AdvSmoothButton6Click(Sender: TObject);

begin

ADOTableInbox.Delete; end;

procedure TfrmMenuUtama.DeleteMessages2Click(Sender: TObject);

begin

ADOTableInbox.DeleteRecords(arCurrent); end;

procedure TfrmMenuUtama.DeleteMessages1Click(Sender: TObject);

begin

(30)

frmNewMessage.Memomes.Clear; end;

procedure TfrmMenuUtama.ForwardMessages1Click(Sender: TObject);

begin

frmNewMessage.Show; end;

procedure TfrmMenuUtama.btndelrptClick(Sender: TObject);

begin

frmMenuUtama.ADOTableReport.DeleteRecords(arCurrent); end;

procedure TfrmMenuUtama.AdvSmoothButton3Click(Sender: TObject);

begin

ADOTableDraft.Delete; end;

procedure TfrmMenuUtama.AdvSmoothButton4Click(Sender: TObject);

begin

frmPoDetail.show;

frmPoDetail.ADOTablePoDetil.Append; end;

procedure TfrmMenuUtama.AdvSmoothButton5Click(Sender: TObject);

begin

frmSendtomany.ShowModal;

frmSendtomany.DBMemoSentomany.Clear; //frmSendtomany.DBMemoSentomany.SetFocus; end;

procedure TfrmMenuUtama.btnprintcustClick(Sender: TObject);

(31)

RvProjectCust.Execute; end;

procedure TfrmMenuUtama.Button1Click(Sender: TObject);

begin

frmMenuUtama.Refresh; frmSendtomany.Refresh; end;

procedure TfrmMenuUtama.btnprintstockClick(Sender: TObject);

begin

RvProjectStock.Execute; end;

procedure TfrmMenuUtama.btnExitClick(Sender: TObject);

begin

Application.Terminate; end;

(32)

Lampiran B

Listing Program Setiap

Form

Program Input Stok

unit UInputStock; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, AdvSmoothButton, StdCtrls, Mask, DBCtrls,

AdvSmoothMessageDialog; type

TfrmInputStock = class(TForm) GroupBox1: TGroupBox; lbbarang: TLabel;

lbmerk: TLabel; lbtype: TLabel;

lbmasagaransi: TLabel; lbjenisgaransi: TLabel; lbhb: TLabel;

lbhj: TLabel; lbket: TLabel;

DBEdittipe: TDBEdit;

DBEditmasagaransi: TDBEdit; DBEdithb: TDBEdit;

(33)

Label1: TLabel;

DBComboBoxjenisbarang: TDBComboBox; DBComboBoxmerkbarang: TDBComboBox; DBComboBox1: TDBComboBox;

GroupBox2: TGroupBox;

btninputok: TAdvSmoothButton; btninputcancel: TAdvSmoothButton; Label2: TLabel;

procedure btninputokClick(Sender: TObject); procedure btninputcancelClick(Sender: TObject); private

{ Private declarations } public

{ Public declarations } End;

var

frmInputStock: TfrmInputStock; implementation

uses UProgramSms; {$R *.dfm}

procedure TfrmInputStock.btninputokClick(Sender: TObject);

begin

IF frmMenuUtama.ADOTableStokType_Barang.Value<>''then begin

IF frmMenuUtama.DataSourceStok.State In [dsInsert,dsEdit]then frmMenuUtama.ADOTableStok.Post;

end;

(34)

Close; end;

procedure TfrmInputStock.btninputcancelClick(Sender: TObject);

begin

frmMenuUtama.ADOTableStok.Cancel; frmInputStock.close;

end; end.

Program

Input Customer

unit UNewCust; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, AdvSmoothButton, Mask, DBCtrls, DB, ADODB; type

TfrmNewCust = class(TForm) GroupBox1: TGroupBox; Panel1: TPanel;

(35)

DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; GroupBox2: TGroupBox;

AdvSmoothButton1: TAdvSmoothButton; AdvSmoothButton2: TAdvSmoothButton;

procedure AdvSmoothButton1Click(Sender: TObject); procedure AdvSmoothButton2Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

var

frmNewCust: TfrmNewCust; implementation

uses UProgramSms; {$R *.dfm}

procedure TfrmNewCust.AdvSmoothButton1Click(Sender: TObject);

begin

IF frmMenuUtama.ADOTableCustomerID_Cust.Value<>''then begin

IF frmMenuUtama.DataSourceCustomer.State In [dsInsert,dsEdit]then frmMenuUtama.ADOTableCustomer.Post;

end;

MessageDlg('Apakah Data Yang Ada Sudah Diisi Dengan Lengkap?',mtWarning,[mbOK],0);

(36)

end;

procedure TfrmNewCust.AdvSmoothButton2Click(Sender: TObject);

begin frmMenuUtama.ADOTableCustomer.Cancel; frmMenuUtama.ADOTableCustomer.CancelUpdates; frmNewCust.Close; end; end.

Program

New Messages

unit UNewMessage; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Grids, BaseGrid, AdvGrid, DBAdvGrid, StdCtrls, AdvSmoothButton, DBCtrls, Mask, AdvWiiProgressBar, AdvSmoothLabel; type

(37)

AdvWiiProgressBar5: TAdvWiiProgressBar; AdvSmoothLabel2: TAdvSmoothLabel;

procedure AdvSmoothButton1Click(Sender: TObject); procedure AdvSmoothButton2Click(Sender: TObject); procedure dbdtnamatokoChange(Sender: TObject); procedure FormShow(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end; var frmNewMessage: TfrmNewMessage; implementation uses UProgramSms; {$R *.dfm}

procedure TfrmNewMessage.AdvSmoothButton1Click(Sender: TObject); begin

// tambah nama form tempat oxygen frm.oxygen.... if

frmMenuUtama.Oxygencomponent.SendSMSMessage(dbedtnomerhp.Text,M emomes.Text,167,true,false,nil) then

begin

ShowMessage('SMS sudah dikirim') //FSMS.SaveMessage;

end else

ShowMessage('Pengiriman SMS Gagal, silahkan ulang kembali !'); IF frmMenuUtama.ADOTableDraftPesan.Value<>''then

begin

IF frmMenuUtama.DataSourceDraft.State In [dsInsert,dsEdit]then frmMenuUtama.ADOTableDraft.Post;

end;

//MessageDlg('Apakah Data Yang Ada Sudah Diisi Dengan Lengkap?',mtWarning,[mbOK],0);

//Close; end;

procedure TfrmNewMessage.AdvSmoothButton2Click(Sender: TObject); begin Memomes.Clear; frmMenuUtama.ADOTableDraft.Cancel; frmMenuUtama.ADOTableDraft.CancelUpdates; frmNewMessage.Close; end;

procedure TfrmNewMessage.dbdtnamatokoChange(Sender: TObject); begin

(38)

end;

procedure TfrmNewMessage.FormShow(Sender: TObject); begin

DBEdit1.Visible := false; DBEdit2.Visible := false; DBEdit3.Visible := false; DBEdit4.Visible := false;

DBEdit1.Text := dbdtnamatoko.Text; DBEdit2.Text := dbedtnomerhp.Text;

DBEdit3.Text := FormatDateTime('dd mmmm yyyy',Now); DBEdit4.Text := FormatDateTime('hh:mm:ss',Now); Memomes.Clear;

end; end.

Program Po Detail

unit UPoDetail; interface uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, BaseGrid, AdvGrid, DBAdvGrid, Buttons, Mask, DBCtrls, DB, ADODB, AdvSmoothButton, ComCtrls,DateUtils, DBGrids; type

(39)

ADOTablePoDetilHarga: TIntegerField; ADOTablePoDetilPotongan: TIntegerField; ADOTablePoDetilTotal: TIntegerField; DateTimePicker1: TDateTimePicker; Label11: TLabel; DBEdit9: TDBEdit; DBGrid1: TDBGrid; ADOTablePoDetilLkTypeBarang: TStringField; procedure SpeedButton1Click(Sender: TObject); procedure DateTimePicker1Change(Sender: TObject); procedure AdvSmoothButton1Click(Sender: TObject); procedure FormShow(Sender: TObject);

procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure ADOTablePoDetilBeforeInsert(DataSet: TDataSet); procedure ADOTablePoDetilMerk_BarangChange(Sender: TField); procedure ADOTablePoDetilType_BarangChange(Sender: TField); private

{ Private declarations } public

{ Public declarations } end;

var

frmPoDetail: TfrmPoDetail; implementation

uses UProgramSms, UPoDetailPelanggan; {$R *.dfm}

procedure TfrmPoDetail.SpeedButton1Click(Sender: TObject); begin

frmPoDetailPelanggan.show; end;

procedure TfrmPoDetail.DateTimePicker1Change(Sender: TObject); begin

frmMenuUtama.ADOTablePo.Edit;

frmMenuUtama.ADOTablePoTanggal_Pesan.AsDateTime := DateOf (DateTimePicker1.Date);

end;

procedure TfrmPoDetail.AdvSmoothButton1Click(Sender: TObject); begin

if DataSourcePoDetil.State IN [dsInsert, dsEdit] Then ADOTablePoDetil.Post; end;

procedure TfrmPoDetail.FormShow(Sender: TObject); begin

ADOTablePoDetil.Open;

frmMenuUtama.ADOTableStok.Open; frmMenuUtama.ADOTableCustomer.Open; end;

procedure TfrmPoDetail.FormClose(Sender: TObject; var Action: TCloseAction);

begin

(40)

frmMenuUtama.ADOTableStok.Close; frmMenuUtama.ADOTableCustomer.Close; end;

procedure TfrmPoDetail.ADOTablePoDetilBeforeInsert(DataSet: TDataSet);

begin

if frmMenuUtama.DataSourcePo.State IN [dsInsert, dsEdit] Then frmMenuUtama.ADOTablePo.Post;

end;

procedure TfrmPoDetail.ADOTablePoDetilMerk_BarangChange(Sender: TField);

begin

ADOTablePoDetilHarga.AsFloat :=

frmMenuUtama.ADOTableStokHarga_Jual.AsFloat; end;

procedure TfrmPoDetail.ADOTablePoDetilType_BarangChange(Sender: TField);

begin

ADOTablePoDetilMerk_Barang.AsString :=

frmMenuUtama.ADOTableStokMerk_Barang.AsString; end;

end.

Program Po Detail Pelanggan

unit UPoDetailPelanggan; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, BaseGrid, AdvGrid, DBAdvGrid;

type

TfrmPoDetailPelanggan = class(TForm) DBAdvGrid1: TDBAdvGrid;

procedure DBAdvGrid1DblClick(Sender: TObject); private

{ Private declarations } public

(41)

end; var

frmPoDetailPelanggan: TfrmPoDetailPelanggan; implementation

uses UProgramSms; {$R *.dfm}

procedure TfrmPoDetailPelanggan.DBAdvGrid1DblClick(Sender: TObject); begin

frmMenuUtama.ADOTablePo.Edit;

frmMenuUtama.ADOTablePoID_Cust.AsString := frmMenuUtama.ADOTableCustomerID_Cust.AsString; end;

end.

Program

Queue Messages

unit UQueueSms; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, BaseGrid, AdvGrid, DBAdvGrid, AdvSmoothButton, DBGrids, StdCtrls, AdvSmoothLabel, AdvWiiProgressBar;

type

Tfrmqueue = class(TForm) DBAdvGrid1: TDBAdvGrid; GroupBox1: TGroupBox;

(42)

AdvSmoothLabel2: TAdvSmoothLabel; AdvSmoothButton3: TAdvSmoothButton;

procedure AdvSmoothButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject);

procedure AdvSmoothButton2Click(Sender: TObject); procedure AdvSmoothButton3Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end;

var

frmqueue: Tfrmqueue; implementation

uses UProgramSms, USendtoMany; {$R *.dfm}

procedure Tfrmqueue.AdvSmoothButton1Click(Sender: TObject);

begin

frmSendtomany.ADOTableStoMany.Delete; end;

procedure Tfrmqueue.Button1Click(Sender: TObject);

begin

while not frmSendtomany.ADOTableStoMany.Eof do begin

if

Length(frmSendtomany.ADOTableStoMany.FieldByName('Pesan').AsString)>0 then

begin if

(43)

leStoManyNo_Hp.AsString,frmSendtomany.DBMemoSentomany.Text,167,true,fa lse,nil) then

frmSendtomany.ADOTableStoMany.Delete else

frmSendtomany.ADOTableStoMany.Next; end

else

frmSendtomany.ADOTableStoMany.Next; end;

ShowMessage('SMS sudah dikirim');

end;

procedure Tfrmqueue.AdvSmoothButton2Click(Sender: TObject);

begin

while not frmSendtomany.ADOTableStoMany.Eof do begin

if

Length(frmSendtomany.ADOTableStoMany.FieldByName('Pesan').AsString)>0 then

begin if

frmMenuUtama.Oxygencomponent.SendSMSMessage(frmSendtomany.ADOTab leStoManyNo_Hp.AsString,frmSendtomany.DBMemoSentomany.Text,167,true,fa lse,nil) then

frmSendtomany.ADOTableStoMany.Delete else

frmSendtomany.ADOTableStoMany.Next; end

else

(44)

ShowMessage('SMS sudah dikirim'); end;

procedure Tfrmqueue.AdvSmoothButton3Click(Sender: TObject);

begin

frmqueue.Close; end;

end.

Program Cari Data (Pelanggan)

unit UInputStockCari; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, AdvSmoothButton, ExtCtrls, StdCtrls;

type

Tfrmsearchstok = class(TForm) GroupBox1: TGroupBox; lbfieldsearch: TLabel; ComboBoxSearchStok: TComboBox; Editsearchstok: TEdit; Panel1: TPanel; AdvSmoothButton2: TAdvSmoothButton; AdvSmoothButton1: TAdvSmoothButton;

procedure AdvSmoothButton2Click(Sender: TObject); procedure AdvSmoothButton1Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end; var frmsearchstok: Tfrmsearchstok; implementation uses UProgramSms; {$R *.dfm}

procedure Tfrmsearchstok.AdvSmoothButton2Click(Sender: TObject); begin

Close ; end;

(45)

Close; end; end.

Program

Send To Many

unit USendtoMany; interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, BaseGrid, AdvGrid, DBAdvGrid, AdvSmoothButton, StdCtrls, DBCtrls, Mask, DB, ADODB, DBGrids, AdvWiiProgressBar, AdvSmoothLabel; type

TfrmSendtomany = class(TForm) GroupBox1: TGroupBox;

dbgriddatacust: TDBAdvGrid; GroupBox2: TGroupBox; Label2: TLabel;

GroupBox4: TGroupBox; Label1: TLabel;

Label3: TLabel;

dbdtnamatoko: TDBEdit; dbedtnomerhp: TDBEdit; GroupBox3: TGroupBox; Label5: TLabel;

GroupBox5: TGroupBox;

AdvSmoothButton2: TAdvSmoothButton; DataSourceCustinNewSto: TDataSource; ADOTableCustinNewSto: TADOTable;

(46)

ADOTableCustinNewStoNo_Hp: TWideStringField; ADOTableStoMany: TADOTable;

DataSourceStoMany: TDataSource;

ADOTableStoManyNo_Hp: TWideStringField; ADOTableStoManyNama_Toko: TWideStringField; ADOTableStoManyPesan: TWideStringField; AdvSmoothButton1: TAdvSmoothButton; AdvSmoothButton4: TAdvSmoothButton; DBMemoSentomany: TDBMemo;

DBEdit1: TDBEdit; DBEdit2: TDBEdit;

AdvWiiProgressBar5: TAdvWiiProgressBar; AdvSmoothLabel2: TAdvSmoothLabel; Edit1: TEdit;

procedure AdvSmoothButton3Click(Sender: TObject); procedure AdvSmoothButton2Click(Sender: TObject); procedure DBEdit1Change(Sender: TObject);

procedure AdvSmoothButton1Click(Sender: TObject); procedure Button1Click(Sender: TObject);

procedure AdvSmoothButton4Click(Sender: TObject); procedure FormShow(Sender: TObject);

procedure dbdtnamatokoChange(Sender: TObject); procedure FormCreate(Sender: TObject);

private

{ Private declarations } public

(47)

var

frmSendtomany: TfrmSendtomany; implementation

uses UProgramSms, UQueueSms; {$R *.dfm}

procedure TfrmSendtomany.AdvSmoothButton3Click(Sender: TObject);

begin

DBMemoSentomany.Clear; end;

procedure TfrmSendtomany.AdvSmoothButton2Click(Sender: TObject);

begin

frmSendtomany.DBMemoSentomany.Clear; frmSendtomany.ADOTableStoMany.Cancel;

frmSendtomany.ADOTableStoMany.CancelUpdates; frmSendtomany.Close;

end;

procedure TfrmSendtomany.DBEdit1Change(Sender: TObject); begin

//dbtokos.Text := DBEdit1.Text; //DBEdit3.text := DBEdit2.Text; end;

procedure TfrmSendtomany.AdvSmoothButton1Click(Sender: TObject);

begin

IF frmSendtomany.ADOTableStoManyNo_Hp.Value<>'' then begin

If frmSendtomany.DataSourceStoMany.State In [dsInsert, dsEdit] Then frmSendtomany.ADOTableStoMany.Post;

(48)

//ADOTableStoMany.Append;

//MessageDlg('Apakah Data Yang Ada Sudah Diisi Dengan Lengkap?',mtWarning,[mbOK],0);

//Close; end;

procedure TfrmSendtomany.Button1Click(Sender: TObject);

begin

ADOTableStoMany.UpdateRecord; end;

procedure TfrmSendtomany.AdvSmoothButton4Click(Sender: TObject);

begin

ADOTableStoMany.Append; //ADOTableStoMany.Open; frmqueue.showmodal; end;

procedure TfrmSendtomany.FormShow(Sender: TObject);

begin

DBEdit1.Text := dbdtnamatoko.Text; DBEdit2.Text := dbedtnomerhp.Text; end;

procedure TfrmSendtomany.dbdtnamatokoChange(Sender: TObject);

begin

DBEdit1.Text := dbdtnamatoko.Text; DBEdit2.Text := dbedtnomerhp.Text; end;

procedure TfrmSendtomany.FormCreate(Sender: TObject);

begin

(49)

frmSendtomany.AdvSmoothButton1.Visible := false; end;

(50)

Lampiran C

(51)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi telekomunikasi dan teknologi komputer

yang begitu pesat telah memberikan fasilitas-fasilitas yang memberi

kemudahan bagi para penggunanya di dalam memanfaatkan setiap

teknologi yang ada. Salah satu hasil dari kemajuan teknologi

telekomunikasi adalah SMS (Short Message Service).

SMS (Short Message Service) merupakan sebuah layanan yang

banyak

diaplikasikan

pada

sistem

komunikasi

nirkabel,

yang

memungkinkan

dilakukannya

pengiriman

pesan

dalam

bentuk

alphanumeric

dengan sistem eksternal seperti, email,

paging, voice mail

dan lain-lain. Dengan menggunakan SMS (Short Message Service), setiap

orang dapat melakukan hubungan komunikasi dengan biaya yang lebih

murah, selain itu juga dapat dilakukan dimana saja dan kapan saja

dengan menggunakan telepon seluler.

(52)

2

murah. Contoh layanan yang dapat diakses melalui SMS (Short Message

Service) antara lain informasi billing, cuaca, poling,

reminder, alat kontrol

aktivasi, kuis, transaksi perbankan, dan lain-lain.

Perancangan aplikasi pemesanan barang melalui SMS (Short

Message Service) merupakan sebuah program aplikasi di dalam mengatur

setiap pesanan barang dari pelanggan. Setiap pelanggan bisa memesan

setiap barang yang diperlukan hanya melalui SMS (Short Message

Service) sehingga bisa lebih cepat dan efisien, selain itu juga menghemat

waktu yang ada.

1.2 Identifikasi Masalah

. Di dalam perancangan aplikasi pemesanan barang melalui SMS

(Short Message Service), yang menjadi masalah yaitu bagaimana cara

membuat program untuk mengelola pesanan barang dari pelanggan

melalui SMS (Short Message Service) ?

1.3 Tujuan

(53)

3

pemesanan barang oleh pelanggan dengan menggunakan SMS (Short

Message Service).

1.4 Pembatasan Masalah

Di dalam perancangan aplikasi pemesanan barang melalui SMS

(Short Message Service) dibagi menjadi beberapa bagian program.

Perangkat lunak aplikasi pemesanan barang melalui SMS (Short Message

Service) ini, sebagai contoh diaplikasikan di perusahaan yang bergerak

dalam bidang komputer. Bagian program yang dibuat antara lain :

1. Program untuk mengatur koneksi dengan telepon genggam

2. Program untuk melihat pesan yang masuk

3. Progam untuk melihat pesan yang keluar

4. Program untuk melihat pesan yang terkirim / tidak

5. Program untuk mengirimkan pesan

6. Program basis data manajemen stok barang

7. Program basis data manajemen pelanggan

8. Program basis data untuk menampung pesanan pelanggan

1.5 Perangkat Lunak yang Digunakan

(54)

4

Delphi 7 beserta komponen

Oxygen Sms Gateway untuk mengendalikan

telepon genggam

handphone. Selain itu juga memerlukan program basis

data Microsoft Access di dalam mengelola data yang ada, Untuk

melakukan koneksi ke basis data memerlukan komponen

ADO Conection

untuk menggabungkan basis data yang ada di dalam

Microsoft Access

dengan program di

Borland Delphi 7. Selain itu juga dibantu dengan

komponen pendukung lain diantaranya komponen TMS Software.

1.6 Perangkat Keras yang Digunakan

Perancangan perangkat lunak aplikasi pemesanan barang melalui

SMS (Short Message Service) ini memerlukan perangkat keras antara

lain:

1. Telepon genggam merk Nokia tipe 3315 GSM

2.

Kabel data nokia tipe Nok-2 dengan komunikasi melalui serial port

3. Komputer desktop

1.7 Sistematika Penulisan Laporan

(55)

5

BAB I PENDAHULUAN

Di dalam bab pertama ini akan diuraikan secara singkat dan lengkap

gambaran umum dari pembuatan perangkat lunak mulai dari latar

belakang, identifikasi masalah, tujuan, pembatasan masalah, perangkat

yang digunakan, dan sistematika penulisan.

BAB II LANDASAN TEORI

Di dalam bab kedua ini akan menguraikan mengenai konsep dasar dan

teori yang digunakan berkaitan dengan pembuatan perangkat lunak.

BAB III PERANCANGAN

Bab ketiga disini akan menguraikan setiap hal

hal yang terkait dengan

perancangan perangkat lunak dimulai dari kebutuhan utama perusahaan

hingga pembuatan diagram alir proses perangkat lunak.

BAB IV PEMBAHASAN

Semua proses penelitian yang telah diuraikan akan dibahas lebih

mendalam di dalam bab keempat ini. Di dalam bab keempat ini akan

diuraikan mengenai setiap komponen atau setiap bagian program

perangkat lunak ini.

BAB V KESIMPULAN DAN SARAN

(56)

55

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Perkembangan teknologi telekomunikasi dan teknologi komputer yang

begitu pesat telah memberikan fasilitas-fasilitas yang memberi kemudahan

bagi para penggunanya di dalam memanfaatkan setiap teknologi yang

ada. Perancangan aplikasi pemesanan barang melalui SMS (Short

Message Service) telah berhasil direalisasikan di dalam mengelola setiap

pesanan barang dari pelanggan melalui SMS (Short Message Service)

secara terkomputerisasi.

5.2 Saran

Perancangan aplikasi pemesanan barang melalui SMS (Short

Message Service) membantu di dalam menyelesaikan setiap masalah

pemesanan barang melaui SMS (Short Message Service). Perancangan

aplikasi pemesanan barang melalui SMS (Short Message Service) tentu

saja tidak terlepas dari kemungkinan bahwa program ini masih banyak

kekurangan.

(57)

56

(58)

DAFTAR PUSTAKA

Budicahyanto,

Dwi,

Membangun

Aplikasi

Handphone

Dengan

MobileFBUS dan Visual Basic, Andi, Yogyakarta, 2003.

Cantu, Marco, Mastering Delphi 5, Sybex, Jakarta, 1999.

Chandra, Cato,

Be Smart, Be

Profesional with Microsoft Office 2007,

Informatika, Bandung, 2008.

http://www.bloger.com/ Mansur blog.html/Belajar Database Access,

diakses 15 Juni 2009

http://www.bloger.com/belajar_IT Mengenal Borland Delphi 7_0, diakses

24 Juni 2009

http://www.dwiantoro.com/Sistem Basis Data.pdf, diakses 15 Juni 2009

http://www.id.wikipedia.org/wiki/Basis Data, diakses 15 Juni 2009

http://www.id.wikipedia.org/wiki/CodeGear Delphi, diakses 20 Juni 2009

http://www.id.wikipedia.org/wiki/Sistem Manajemen Basis Data, diakses 16

Juni 2009

Kadir, Abdul, Pemograman Database Menggunakan Delphi, Salemba

Infotek, Jakarta, 2001.

Marcus, Teddy, Aplikasi SMS Untuk Berbagai Keperluan, Informatika,

Bandung, 2007.

Marcus, Teddy, Prijono, Agus, dan Widiadhi Josef, Pemograman Delphi

Dengan ADOExpress, Informatika, Bandung, 2000.

Gambar

Tabel 3.1   Tabel Inbox  .....................................................................................22

Referensi

Dokumen terkait

segregasi pada lempeng benua dengan dapur magma dalam (A) Busur magmatik: lempeng benua dengan dapur magma tengah (B) Busur kepulauan dan busur magmatik dangkal MOR

Rekomendasi,

Seluruh dosen dan staf Jurusan Teknik Kimia, Fakultas Teknik, Universitas Katolik Widya Mandala Surabaya, yang secara tidak langsung telah banyak membantu penulis

Prof. Ainun Na'im, Ph.D.. Siswa Baru / New Entrant. Kepala Sekolah dan Guru / Headmasters and Teacher. Fasilitas Sekolah / School Facility. Perkembangan jumlah Siswa / Trend

Lokasi rambu berhubungan dengan pengemudi sehingga pengemudi yang berjalan dengan kecepatan normal dapat memiliki waktu yang cukup dalam memberikan respon..

BKL Group bekerjasama dengan perusahaan BUMN yang telah terlebih dahulu melakukan sistem kemitraan dengan masyarakat dalam pengelolaan hutannya yaitu Perum Perhutani Unit

Berdasarkan hasil penelitian tindakan kelas dalam menggunakan strategi pembelajaran POE pada materi larutan elektrolit-nonelektrolit dan reaksi reduksi oksidasi dapat

Khas pada bangunan periode ini adalah bangunan berlantai banyak (Vertikalisme) dengan bentangan-bentang lebar, dan banyak menggunakan kaca pada eksteriornya,