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.
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.
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.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
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
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
Gambar 4.11 Gambar Tampilan Menu
Data Customer
...52
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;
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;
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;
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;
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;
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;
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;
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;
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);
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;
{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);
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);
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
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' ;
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;
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
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;
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
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
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;
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
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
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);
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;
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;
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;
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;
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);
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
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
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
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
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
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;
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
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
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;
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;
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
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;
//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
frmSendtomany.AdvSmoothButton1.Visible := false; end;
Lampiran C
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.
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
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
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
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
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.
56
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.