Listing Program Tugas Akhir (TugasAkhir.dpr)

Size: px
Start display at page:

Download "Listing Program Tugas Akhir (TugasAkhir.dpr)"

Transcription

1 L1 Listing Program Tugas Akhir (TugasAkhir.dpr) program TugasAkhir; uses Forms, udb in 'udb.pas' {dmta: TDataModule}, ufungsi in 'ufungsi.pas', uutama in 'uutama.pas' {futama}, ulogin in 'ulogin.pas' {flogin}, uuser in 'uuser.pas' {fuser}, ucabang in 'ucabang.pas' {fcabang}, uinput in 'uinput.pas' {finput}, uanalyzeregression in 'uanalyzeregression.pas' {fanalyzeregression}, uanalyzeplots in 'uanalyzeplots.pas' {fanalyzeplots}, uabout in 'uabout.pas' {fabout}, uuserguide in 'uuserguide.pas' {fuserguide}, uprint in 'uprint.pas' {fprint}, ukalkulasi in 'ukalkulasi.pas', ubarang in 'ubarang.pas' {fbarang}, uexcel in 'uexcel.pas' {fexcel}; {$R *.RES} Application.Initialize; Application.CreateForm(TdmTA, dmta); if dmta.isconnsucc then Application.CreateForm(TfUtama, futama); Application.Run; end. Listing Program Unit Utama (uutama.pas) unit uutama; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, ComCtrls, Buttons, ImgList; type TfUtama = class(tform) mmutama: TMainMenu; File1: TMenuItem;

2 Data1: TMenuItem; Analyze1: TMenuItem; Help1: TMenuItem; N1: TMenuItem; Logout1: TMenuItem; Exit1: TMenuItem; Cabang1: TMenuItem; Regression1: TMenuItem; Plots1: TMenuItem; tmrshow: TTimer; imbiglogo: TImage; sbutama: TStatusBar; N3: TMenuItem; User1: TMenuItem; Window1: TMenuItem; About1: TMenuItem; UserGuide1: TMenuItem; Close1: TMenuItem; CloseAll1: TMenuItem; Print1: TMenuItem; Bevel1: TBevel; N2: TMenuItem; Input1: TMenuItem; tclock: TTimer; ilutama: TImageList; Barang1: TMenuItem; procedure FormCreate(Sender: TObject); procedure tmrshowtimer(sender: TObject); procedure FormShow(Sender: TObject); procedure FormResize(Sender: TObject); procedure User1Click(Sender: TObject); procedure Cabang1Click(Sender: TObject); procedure Input1Click(Sender: TObject); procedure Regression1Click(Sender: TObject); procedure Plots1Click(Sender: TObject); procedure About1Click(Sender: TObject); procedure UserGuide1Click(Sender: TObject); procedure Close1Click(Sender: TObject); procedure CloseAll1Click(Sender: TObject); procedure Logout1Click(Sender: TObject); procedure Exit1Click(Sender: TObject); procedure FormCloseQuery(Sender: TObject; CanClose: Boolean); procedure tclocktimer(sender: TObject); procedure Print1Click(Sender: TObject); procedure FormClose(Sender: TObject; Action: TCloseAction); procedure Barang1Click(Sender: TObject); L2

3 L3 protected procedure CreateWnd; override; private { Private declarations } FDrawDC: hdc; FOldClientProc, FNewClientProc: TFarProc; OrigPos: record Height, Width: integer; procedure fmclose; procedure ClientWndProc( Mesg: TMessage); procedure DrawBkGnd(Disp: Integer); public { Public declarations } futama: TfUtama; implementation uses ufungsi, ulogin, udb, uuser, uabout, uuserguide, ucabang, uanalyzeregression, uanalyzeplots, uinput, uprint, ubarang; {$R *.DFM} procedure TfUtama.ClientWndProc( Mesg: TMessage); with Mesg do case Msg of WM_ERASEBKGND: CallWindowProc(FOldClientProc, ClientHandle, Msg, wparam, lparam); FDrawDC := TWMEraseBkGnd(Mesg).DC; DrawBkGnd(0); Result := 1; WM_VSCROLL, WM_HSCROLL: Result := CallWindowProc(FOldClientProc, ClientHandle, Msg, wparam, lparam); InvalidateRect(ClientHandle, nil, true); else Result := CallWindowProc(FOldClientProc, ClientHandle, Msg, wparam, lparam);

4 L4 procedure TfUtama.CreateWnd; inherited CreateWnd; FNewClientProc := MakeObjectInstance(ClientWndProc); FOldClientProc := Pointer(GetWindowLong(ClientHandle, GWL_WNDPROC)); SetWindowLong(ClientHandle, GWL_WNDPROC, LongInt(FNewClientProc)); procedure TfUtama.DrawBkGnd(Disp: Integer); CR: TRect; GetWindowRect(ClientHandle, CR); if Disp = 0 then with imbiglogo do BitBlt(FDrawDC, (ClientWidth - Picture.Graphic.Width) div 2, (ClientHeight - Picture.Graphic.Height) div 2, Picture.Graphic.Width, Picture.Graphic.Height, Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY) else with imbiglogo do StretchBlt(FDrawDC, 0, 0, CR.Right, CR.Bottom, Picture.Bitmap.Canvas.Handle, 0, 0, Picture.Width, Picture.Height, SRCCOPY); procedure TfUtama.FormCreate(Sender: TObject); // Set ukuran awal form OrigPos.Height := Height; OrigPos.Width := Width; Position := podesktopcenter; Height := 27; Width := 112; // Jalankan timer tmrshow.enabled := true; procedure TfUtama.tmrShowTimer(Sender: TObject); tmrshow.enabled := false; // Sembunyikan form utama Application.MainForm.Hide; // Tampilkan window 'Login' flogin := TfLogin.Create(Application); if flogin.showmodal = mrok then // Tampilkan lagi menu utama setelah login sukses Constraints.MinHeight := 400;

5 L5 Constraints.MinWidth := 600; Height := OrigPos.Height; Width := OrigPos.Width; Top:= (Screen.DesktopHeight - Height) div 2; Left := (Screen.DesktopWidth - Width) div 2; Application.MainForm.Show; WindowState := wsmaximized; sbutama.panels[0].width := Width - sbutama.panels[1].width; end else // Tutup aplikasi fmclose; Application.Terminate; procedure TfUtama.FormShow(Sender: TObject); // Setting item-item menu Close1.Enabled := false; CloseAll1.Enabled := false; if dmta.tbinput.isempty then Analyze1.Enabled := false else Analyze1.Enabled := true; Print1.Enabled := false; Logout1.Caption := 'Logout ' + UName + '..'; procedure TfUtama.FormResize(Sender: TObject); // Atur ukuran window dan panel di statusbar if Height < Constraints.MinHeight then Height := Constraints.MinHeight; if Width < Constraints.MinWidth then Width := Constraints.MinWidth; sbutama.panels[0].width := Width - sbutama.panels[1].width; procedure TfUtama.User1Click(Sender: TObject); // Buka window 'Data User' if FindMDIForm('fUser') then fuser.show else Application.CreateForm(TfUser, fuser); fuser.windowstate := wsmaximized; Close1.Enabled := true; CloseAll1.Enabled := true;

6 L6 procedure TfUtama.Cabang1Click(Sender: TObject); // Buka window 'Data Cabang' if FindMDIForm('fCabang') then fcabang.show else Application.CreateForm(TfCabang, fcabang); fcabang.windowstate := wsmaximized; Close1.Enabled := true; CloseAll1.Enabled := true; procedure TfUtama.Input1Click(Sender: TObject); // Buka window 'Input' if FindMDIForm('fInput') then finput.show else Application.CreateForm(TfInput, finput); finput.windowstate := wsmaximized; Close1.Enabled := true; CloseAll1.Enabled := true; procedure TfUtama.Regression1Click(Sender: TObject); // Buka window 'Analyze Regression' if FindMDIForm('fAnalyzeRegression') then fanalyzeregression.show else Application.CreateForm(TfAnalyzeRegression, fanalyzeregression); fanalyzeregression.windowstate := wsmaximized; Close1.Enabled := true; CloseAll1.Enabled := true; procedure TfUtama.Plots1Click(Sender: TObject); // Buka window 'Analyze Plots' if FindMDIForm('fAnalyzePlots') then fanalyzeplots.show else Application.CreateForm(TfAnalyzePlots, fanalyzeplots); fanalyzeplots.windowstate := wsmaximized; Close1.Enabled := true; CloseAll1.Enabled := true; procedure TfUtama.About1Click(Sender: TObject); // Buka window 'About' ShowModalForm(TfAbout);

7 L7 procedure TfUtama.UserGuide1Click(Sender: TObject); // Buka window 'User Guide' if FindMDIForm('fUserGuide') then fuserguide.show else Application.CreateForm(TfUserGuide, fuserguide); fuserguide.windowstate := wsmaximized; Close1.Enabled := true; CloseAll1.Enabled := true; procedure TfUtama.Close1Click(Sender: TObject); // Tutup form MDI child yang sedang aktif Application.MainForm.ActiveMDIChild.Close; if Application.MainForm.MDIChildCount = 0 then Close1.Enabled := false; CloseAll1.Enabled := false; procedure TfUtama.CloseAll1Click(Sender: TObject); // Tutup semua form-form MDI child CloseAllMDIForm; Close1.Enabled := false; CloseAll1.Enabled := false; procedure TfUtama.Logout1Click(Sender: TObject); tmp: String; // Verifikasi hendak logout aplikasi tmp := 'Do you really want to Logout?'; if Application.MessageBox(PChar(tmp), ' Confirm Message', MB_OKCANCEL) = mrok then CloseAll1Click(Sender); tmrshow.enabled := true; procedure TfUtama.Exit1Click(Sender: TObject); // Tutup window

8 L8 Close; procedure TfUtama.FormCloseQuery(Sender: TObject; CanClose: Boolean); tmp: String; // Verifikasi hendak keluar aplikasi tmp := 'Do you really want to Exit?'; if Application.MessageBox(PChar(tmp), ' Confirm Message', MB_OKCANCEL) = mrok then CanClose := true else CanClose := false; procedure TfUtama.tClockTimer(Sender: TObject); // Tampilkan waktu pada statusbar sbutama.panels[1].text := FormatDateTime(' dddd, d mmmm yyyy [hh:mm:ss AM/PM]', now); procedure TfUtama.Print1Click(Sender: TObject); // Buka window 'Print' Application.CreateForm(TfPrint, fprint); Hide; fprint.qrpreview.preview; Show; Print1.Enabled := true; Close1.Enabled := true; CloseAll1.Enabled := true; procedure TfUtama.FormClose(Sender: TObject; Action: TCloseAction); // Tutup aplikasi fmclose; Action := cafree; procedure TfUtama.fmClose; // Tutup koneksi database with dmta do tblogin.close;

9 L9 tbbarang.close; tbcabang.close; tbinput.close; dbta.connected := false; procedure TfUtama.Barang1Click(Sender: TObject); // Buka window 'Data Barang' if FindMDIForm('fBarang') then fbarang.show else Application.CreateForm(TfBarang, fbarang); fbarang.windowstate := wsmaximized; Close1.Enabled := true; CloseAll1.Enabled := true; end. Listing Program Unit User (uuser.pas) unit uuser; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ImgList, Db, StdCtrls, Buttons, Wwdbigrd, Grids, Wwdbgrid, wwspeedbutton, wwdbnavigator, wwclearpanel, ComCtrls, ExtCtrls; type TfUser = class(tform) Bevel1: TBevel; Panel1: TPanel; lbuser: TLabel; Panel2: TPanel; pcdatauser: TPageControl; tsviewuser: TTabSheet; tsubahpassword: TTabSheet; Panel3: TPanel; Panel4: TPanel; Panel5: TPanel; Panel6: TPanel; dsuser: TDataSource; Panel7: TPanel;

10 Panel9: TPanel; puser: TPanel; pubahpassword: TPanel; Bevel2: TBevel; Bevel3: TBevel; econfpass: TEdit; Label3: TLabel; Label7: TLabel; Label4: TLabel; eoldpass: TEdit; enewpass: TEdit; Label2: TLabel; Label6: TLabel; Label1: TLabel; bok: TButton; bcancel: TButton; Panel12: TPanel; Panel13: TPanel; Panel11: TPanel; bcancelview: TButton; tsedituser: TTabSheet; Panel8: TPanel; Panel14: TPanel; Panel15: TPanel; wwdbguser: TwwDBGrid; ilheader: TImageList; wwdbguseributton: TwwIButton; Image1: TImage; Image2: TImage; wwdbnnavigate: TwwDBNavigator; wwdbnnavigatefirst: TwwNavButton; wwdbnnavigateprior: TwwNavButton; wwdbnnavigatenext: TwwNavButton; wwdbnnavigatelast: TwwNavButton; wwdbnedit: TwwDBNavigator; wwdbneditinsert: TwwNavButton; wwdbneditdelete: TwwNavButton; wwdbneditedit: TwwNavButton; wwdbneditpost: TwwNavButton; wwdbneditcancel: TwwNavButton; wwdbneditrefresh: TwwNavButton; wwdbnnavigatepriorpage: TwwNavButton; wwdbnnavigatenextpage: TwwNavButton; procedure FormShow(Sender: TObject); procedure FormResize(Sender: TObject); procedure eoldpasskeypress(sender: TObject; Key: Char); L10

11 L11 procedure pcdatauserchange(sender: TObject); procedure bokclick(sender: TObject); procedure bcancelviewclick(sender: TObject); procedure FormClose(Sender: TObject; Action: TCloseAction); procedure wwdbgusercalctitleimage(sender: TObject; Field: TField; TitleImageAttributes: TwwTitleImageAttributes); procedure wwdbguserkeypress(sender: TObject; Key: Char); procedure FormActivate(Sender: TObject); procedure wwdbneditdeleteclick(sender: TObject); procedure dsuserstatechange(sender: TObject); private { Private declarations } public { Public declarations } fuser: TfUser; implementation uses Math, udb, ufungsi, uutama; {$R *.DFM} procedure TfUser.FormShow(Sender: TObject); tsviewuser.tabvisible := false; tsedituser.tabvisible := false; tsubahpassword.caption := '&Change Password '; // Untuk account ADMIN (tab 'View' dan 'Edit' member dimunculkan) if UpperCase(UName) = UpperCase(AdmAccount[0]) then tsviewuser.tabvisible := true; tsedituser.tabvisible := true; pcdatauser.activepage := tsviewuser; wwdbguser.setfocus; end // Untuk account selain ADMIN else eoldpass.setfocus; pcdatauserchange(self); procedure TfUser.FormResize(Sender: TObject); // Panel ubah password selalu di tengah form

12 L12 SetCenter(pUbahPassword, tsubahpassword); procedure TfUser.eOldPassKeyPress(Sender: TObject; Key: Char); // Tekan 'Esc' untuk tutup window if Key = #27 then Close; wwdbguserkeypress(sender, Key); procedure TfUser.pcDataUserChange(Sender: TObject); tmp: String; tmp := pcdatauser.activepage.caption; tmp := StringReplace(tmp, '&', '', [rfreplaceall]); // Batalkan update database bila berpindah tab if dsuser.state in [dsedit, dsinsert] then dsuser.dataset.cancel; // Saat pindah tab case pcdatauser.activepageindex of // Tab 'View' (untuk ADMIN) 0: puser.parent := tsviewuser; wwdbnedit.visible := false; wwdbnnavigate.visible := true; wwdbguser.readonly := true; wwdbguser.options := wwdbguser.options + [dgrowselect]; wwdbguser.setfocus; // Tab 'Edit' (untuk ADMIN) 1: puser.parent := tsedituser; wwdbnedit.visible := true; wwdbnedit.left := wwdbnnavigate.left; wwdbnnavigate.visible := false; wwdbguser.readonly := false; wwdbguser.options := wwdbguser.options - [dgrowselect]; wwdbguser.setfocus; // Tab 'Change password' untuk semua user 2: tmp := 'Change Password'; lbuser.caption := tmp; procedure TfUser.bOKClick(Sender: TObject);

13 L13 // Password lama yang diisikan ternyata tidak sama if eoldpass.text <> UPass then Beep; Application.MessageBox('Invalid Password', ' Error Message', MB_OK); eoldpass.text := ''; eoldpass.setfocus; Exit; // Konfirmasi password baru if enewpass.text <> econfpass.text then Beep; Application.MessageBox('Verify New Password', ' Error Message', MB_OK); enewpass.setfocus; Exit; // Update database dmta.execsql('update Login SET Passwd=''' + enewpass.text + ''' WHERE UCASE(UserID)=''' + UpperCase(UName) + ''''); Application.MessageBox('Password Changed', ' Confirm Message', MB_OK); // Tutup window Close; procedure TfUser.bCancelViewClick(Sender: TObject); // Tutup window Close; procedure TfUser.FormClose(Sender: TObject; Action: TCloseAction); Action := cafree; // Disable item menu 'Close' dan 'Close All' di form utama if Application.MainForm.MDIChildCount = 1 then futama.close1.enabled := false; futama.closeall1.enabled := false; procedure TfUser.wwdbgUserCalcTitleImage(Sender: TObject; Field: TField; TitleImageAttributes: TwwTitleImageAttributes);

14 L14 // Set image pada header grid tabel TitleImageAttributes.ImageIndex := Field.FieldNo - 1; procedure TfUser.wwdbgUserKeyPress(Sender: TObject; Key: Char); // Hanya memperbolehkan penginputan alfabet dan karakter '.' dan '_' saja if Key = #32 then Key := #0 else Key := AlphaNumSpecCharsFilter(Key, ['.', '_']); procedure TfUser.FormActivate(Sender: TObject); // Disable item menu 'Print' di form utama futama.print1.enabled := false; procedure TfUser.wwdbnEditDeleteClick(Sender: TObject); I, actrow: Integer; tmp: String; tmp := 'Do you really want to delete?'; if Application.MessageBox(PChar(tmp), ' Confirm Message', MB_OKCANCEL) = ID_CANCEL then Abort; actrow := 0; wwdbguser.updaterowcount; // Hapus semua record yang dipilih for I:=wwdbgUser.GetRowCount-2 downto 0 do wwdbguser.setactiverow(i); if wwdbguser.isselectedrecord then dsuser.dataset.delete; actrow := I; // Refresh tabel dsuser.dataset.refresh; wwdbguser.updaterowcount; // Set pointer ke record yang pertama dipilih atau record pertama if actrow < wwdbguser.getrowcount-1 then wwdbguser.setactiverow(actrow) else wwdbguser.setactiverow(0); Abort;

15 L15 procedure TfUser.dsUserStateChange(Sender: TObject); // Cek status dalam kondisi edit atau insert if dsuser.state in [dsedit, dsinsert] then wwdbguser.options := wwdbguser.options - [dgmultiselect] else wwdbguser.options := wwdbguser.options + [dgmultiselect]; end. Listing Program Unit Login (ulogin.pas) unit ulogin; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ActnList, StdCtrls, ExtCtrls; type TfLogin = class(tform) Label2: TLabel; Panel1: TPanel; imlogo: TImage; Label1: TLabel; Bevel1: TBevel; Label4: TLabel; Label5: TLabel; eusername: TEdit; epassword: TEdit; Label6: TLabel; Label7: TLabel; bok: TButton; bcancel: TButton; ActionList1: TActionList; actset: TAction; Image2: TImage; procedure FormShow(Sender: TObject); procedure actsetexecute(sender: TObject); procedure eusernamekeypress(sender: TObject; Key: Char); procedure bokclick(sender: TObject); private { Private declarations } public

16 L16 { Public declarations } flogin: TfLogin; implementation uses udb, ufungsi; {$R *.DFM} procedure TfLogin.FormShow(Sender: TObject); actsetexecute(sender); // Sementara //eusername.text := AdmAccount[0]; //epassword.text := AdmAccount[1]; procedure TfLogin.actSetExecute(Sender: TObject); // Reset penginputan eusername.text := ''; eusername.setfocus; epassword.text := ''; procedure TfLogin.eUsernameKeyPress(Sender: TObject; Key: Char); // Tekan 'Esc' untuk tutup window if Key = #27 then ModalResult := mrcancel; procedure TfLogin.bOKClick(Sender: TObject); // Username tidak boleh kosong if eusername.text = '' then Beep; Application.MessageBox('Username is Empty', ' Error Message', MB_OK); eusername.setfocus; Exit; // Ambil data user dari database

17 L17 dmta.openquery('select * FROM Login WHERE UCASE(UserID)=''' + UpperCase(eUsername.Text) + ''';'); // Kalau ada data user if not dmta.qusql.isempty then UPass := dmta.qusql.fields[1].asstring; // Cek passwordnya sama atau tidak dengan yang tercatat di database if epassword.text = UPass then UName := dmta.qusql.fields[0].asstring; ModalResult := mrok; end // Bila password salah else Beep; Application.MessageBox('Invalid Password', ' Error Message', MB_OK); actsetexecute(sender); end // Bila user tidak ada else Beep; Application.MessageBox('Invalid Username', ' Error Message', MB_OK); actsetexecute(sender); end. Listing Program Unit Database (udb.pas) unit udb; interface uses Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs, Db, DBTables; type TdmTA = class(tdatamodule) dbta: TDatabase; qusql: TQuery; quexec: TQuery;

18 L18 tblogin: TTable; tbloginuserid: TStringField; tbloginpasswd: TStringField; tbcabang: TTable; tbcabangid_cabang: TAutoIncField; tbcabangnm_cabang: TStringField; tbinput: TTable; tbinputid_input: TAutoIncField; tbinputbiaya_kirim: TFloatField; tbinputfrek_kirim: TIntegerField; tbinputjml_barang: TIntegerField; tbinputstok_barang: TIntegerField; tbinputjml_permintaan: TIntegerField; tbinputbiaya_total: TFloatField; tbbarang: TTable; tbbarangid_barang: TIntegerField; tbbarangjns_barang: TStringField; tbinputjns_barang: TIntegerField; tbinputjarak: TIntegerField; procedure DataModuleCreate(Sender: TObject); procedure tbloginbeforepost(dataset: TDataSet); procedure tbloginposterror(dataset: TDataSet; E: EDatabaseError; Action: TDataAction); procedure tbloginbeforeedit(dataset: TDataSet); procedure tbinputafterpost(dataset: TDataSet); procedure tbcabangbeforeedit(dataset: TDataSet); procedure tbcabangbeforepost(dataset: TDataSet); procedure tbbarangbeforeedit(dataset: TDataSet); procedure tbbarangbeforepost(dataset: TDataSet); procedure tbinputbeforepost(dataset: TDataSet); private { Private declarations } UIDPreEdit: String[30]; CabIDPreEdit, BrgIDPreEdit: Integer; public { Public declarations } IsConnSucc: Boolean; tbinputfieldtype: Array of TFieldType; procedure ExecSQL(sqlstring: String); procedure OpenQuery(sqlstring: String); const AdmAccount: Array[0..1] of String[30] = ('denna', 'arfiani');

19 L19 dmta: TdmTA; UName, UPass: String[30]; implementation uses ufungsi, uutama; {$R *.DFM} procedure TdmTA.DataModuleCreate(Sender: TObject); I: Integer; // Coba koneksi database try dbta.connected := true; // Aktifkan tabel Login OpenQuery('SELECT * FROM Login;'); if qusql.isempty then ExecSQL('INSERT INTO Login VALUES (''' + AdmAccount[0] + ''', ''' + AdmAccount[1] + ''');'); tblogin.filter := 'UserID<>''' + AdmAccount[0] + ''''; tblogin.filtered := true; tblogin.open; tbbarang.open; // Aktifkan tabel Barang tbcabang.open; // Aktifkan tabel Cabang tbinput.open; // Aktifkan tabel Input // Cek tipe data tabel Input --> diperlukan untuk unit uexcel nanti SetLength(tbInputFieldType, tbinput.fields.count-1); for I:=0 to tbinput.fields.count - 1 do if tbinput.fields[i].fullname <> 'ID_Input' then tbinputfieldtype[i] := tbinput.fields[i].datatype; IsConnSucc := true; except // Kalau koneksi ke database gagal on EDatabaseError do IsConnSucc := false; raise; procedure TdmTA.ExecSQL(sqlstring: String); // Eksekusi query SQL tertentu quexec.disablecontrols;

20 L20 try quexec.close; quexec.sql.clear; quexec.sql.add(sqlstring); quexec.execsql; finally quexec.enablecontrols; procedure TdmTA.OpenQuery(sqlstring: String); // Buka suatu tabel dengan menggunakan eksekusi query SQL qusql.disablecontrols; try qusql.close; qusql.sql.clear; qusql.sql.add(sqlstring); qusql.open; finally qusql.enablecontrols; procedure TdmTA.tbLoginBeforePost(DataSet: TDataSet); // Cek sebelum mengirimkan data Login ke database if tbloginuserid.value <> UIDPreEdit then OpenQuery('SELECT * FROM Login WHERE UCASE(UserID)=''' + UpperCase(tbLoginUserID.Value) + ''';'); if not qusql.isempty then Beep; Application.MessageBox('Username Already Exist', ' Error Message', MB_OK); DataSet.Cancel; Abort; end else if (tbloginuserid.value = '') or (tbloginuserid.value[1] = ' ') then Beep; Application.MessageBox('Invalid Username', ' Error Message', MB_OK); DataSet.Cancel; Abort;

21 L21 procedure TdmTA.tbLoginPostError(DataSet: TDataSet; E: EDatabaseError; Action: TDataAction); tmp: String; // Jika penginputan/pengeditan ke database gagal tmp := 'Error Input!' + #13 + 'Kemungkinan ada data yang sama.'; Beep; Application.MessageBox(PChar(tmp), ' Error Message', MB_OK); Action := daabort; procedure TdmTA.tbLoginBeforeEdit(DataSet: TDataSet); UIDPreEdit := tbloginuserid.value; procedure TdmTA.tbInputAfterPost(DataSet: TDataSet); // Refresh tabel setelah penginputan/pengeditan tbinput.refresh; if tbinput.isempty then futama.analyze1.enabled := false else futama.analyze1.enabled := true; procedure TdmTA.tbCabangBeforeEdit(DataSet: TDataSet); CabIDPreEdit := tbcabangid_cabang.value; procedure TdmTA.tbCabangBeforePost(DataSet: TDataSet); // Cek sebelum mengirimkan data Cabang ke database if tbcabangid_cabang.value < 0 then Beep; Application.MessageBox('Invalid ID', ' Error Message', MB_OK); DataSet.Cancel; Abort; if tbcabangid_cabang.value <> CabIDPreEdit then OpenQuery('SELECT * FROM Cabang WHERE ID_Cabang=' + IntToStr(tbCabangID_Cabang.Value) + ';');

22 L22 if not qusql.isempty then Beep; Application.MessageBox('ID Already Exist', ' Error Message', MB_OK); DataSet.Cancel; Abort; procedure TdmTA.tbBarangBeforeEdit(DataSet: TDataSet); BrgIDPreEdit := tbbarangid_barang.value; procedure TdmTA.tbBarangBeforePost(DataSet: TDataSet); // Cek sebelum mengirimkan data Barang ke database if tbbarangid_barang.value < 0 then Beep; Application.MessageBox('Invalid ID', ' Error Message', MB_OK); DataSet.Cancel; Abort; if tbbarangid_barang.value <> BrgIDPreEdit then OpenQuery('SELECT * FROM Barang WHERE ID_Barang=' + IntToStr(tbBarangID_Barang.Value) + ';'); if not qusql.isempty then Beep; Application.MessageBox('ID Already Exist', ' Error Message', MB_OK); DataSet.Cancel; Abort; procedure TdmTA.tbInputBeforePost(DataSet: TDataSet); // Cek sebelum mengirimkan data Input ke database if (tbinputbiaya_kirim.isnull) or (tbinputbiaya_kirim.value < 1) then tbinputbiaya_kirim.value := 1; if (tbinputfrek_kirim.isnull) or (tbinputfrek_kirim.value < 1) then tbinputfrek_kirim.value := 1;

23 L23 if (tbinputjml_barang.isnull) or (tbinputjml_barang.value < 1) then tbinputjml_barang.value := 1; if (tbinputstok_barang.isnull) or (tbinputstok_barang.value < 1) then tbinputstok_barang.value := 1; if (tbinputjml_permintaan.isnull) or (tbinputjml_permintaan.value < 1) then tbinputjml_permintaan.value := 1; if (tbinputbiaya_total.isnull) or (tbinputbiaya_total.value < 1) then tbinputbiaya_total.value := 1; if (tbinputjns_barang.isnull) or (tbinputjns_barang.value < 1) then if tbbarang.isempty then Beep; Application.MessageBox('Data is Empty', ' Error Message', MB_OK); DataSet.Cancel; Abort; end else tbbarang.first; tbinputjns_barang.value := tbbarangid_barang.value; if (tbinputjarak.isnull) or (tbinputjarak.value < 1) then if tbcabang.isempty then Beep; Application.MessageBox('Data is Empty', ' Error Message', MB_OK); DataSet.Cancel; Abort; end else tbcabang.first; tbinputjarak.value := tbcabangid_cabang.value; end. Listing Program Unit Barang (ubarang.pas) unit ubarang;

24 L24 nterface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ImgList, Db, StdCtrls, Mask, wwdbedit, Wwdbspin, Buttons, Wwdbigrd, Grids, Wwdbgrid, wwspeedbutton, wwdbnavigator, wwclearpanel, ComCtrls, ExtCtrls; type TfBarang = class(tform) Bevel1: TBevel; Panel1: TPanel; lbbarang: TLabel; Panel2: TPanel; pcdatabarang: TPageControl; tsviewbarang: TTabSheet; Panel3: TPanel; Panel4: TPanel; Panel5: TPanel; Panel6: TPanel; dsbarang: TDataSource; Panel7: TPanel; Panel9: TPanel; pbarang: TPanel; Panel12: TPanel; Panel13: TPanel; Panel11: TPanel; bclose: TButton; tseditbarang: TTabSheet; Panel8: TPanel; Panel14: TPanel; Panel15: TPanel; wwdbgbarang: TwwDBGrid; wwdbgbarangibutton: TwwIButton; wwdbseid: TwwDBSpinEdit; Image1: TImage; imbarang: TImageList; wwdbnnavigate: TwwDBNavigator; wwdbnnavigatefirst: TwwNavButton; wwdbnnavigateprior: TwwNavButton; wwdbnnavigatenext: TwwNavButton; wwdbnnavigatelast: TwwNavButton; wwdbnedit: TwwDBNavigator; wwdbneditinsert: TwwNavButton; wwdbneditdelete: TwwNavButton; wwdbneditedit: TwwNavButton; wwdbneditpost: TwwNavButton;

25 L25 wwdbneditcancel: TwwNavButton; wwdbneditrefresh: TwwNavButton; wwdbnnavigatepriorpage: TwwNavButton; wwdbnnavigatenextpage: TwwNavButton; procedure FormShow(Sender: TObject); procedure pcdatabarangchange(sender: TObject); procedure bcloseclick(sender: TObject); procedure bclosekeypress(sender: TObject; Key: Char); procedure FormClose(Sender: TObject; Action: TCloseAction); procedure wwdbgbarangcalctitleimage(sender: TObject; Field: TField; TitleImageAttributes: TwwTitleImageAttributes); procedure FormActivate(Sender: TObject); procedure wwdbneditdeleteclick(sender: TObject); procedure dsbarangstatechange(sender: TObject); private { Private declarations } public { Public declarations } fbarang: TfBarang; implementation uses Math, udb, ufungsi, uutama; {$R *.DFM} procedure TfBarang.FormShow(Sender: TObject); pcdatabarang.activepage := tsviewbarang; wwdbgbarang.setfocus; pcdatabarangchange(self); procedure TfBarang.pcDataBarangChange(Sender: TObject); tmp: String; tmp := pcdatabarang.activepage.caption; tmp := StringReplace(tmp, '&', '', [rfreplaceall]); lbbarang.caption := tmp; // Batalkan update database bila berpindah tab if dsbarang.state in [dsedit, dsinsert] then dsbarang.dataset.cancel; // Saat pindah tab

26 L26 case pcdatabarang.activepageindex of // Tab 'View' 0: pbarang.parent := tsviewbarang; wwdbnedit.visible := false; wwdbnnavigate.visible := true; wwdbgbarang.readonly := true; wwdbgbarang.options := wwdbgbarang.options + [dgrowselect]; // Tab 'Edit' 1: pbarang.parent := tseditbarang; wwdbnedit.visible := true; wwdbnedit.left := wwdbnnavigate.left; wwdbnnavigate.visible := false; wwdbgbarang.readonly := false; wwdbgbarang.options := wwdbgbarang.options - [dgrowselect]; wwdbgbarang.setfocus; procedure TfBarang.bCloseClick(Sender: TObject); // Tutup window Close; procedure TfBarang.bCloseKeyPress(Sender: TObject; Key: Char); // Tekan 'Esc' untuk tutup window if Key = #27 then Close; procedure TfBarang.FormClose(Sender: TObject; Action: TCloseAction); Action := cafree; // Disable item menu 'Close' dan 'Close All' di form utama if Application.MainForm.MDIChildCount = 1 then futama.close1.enabled := false; futama.closeall1.enabled := false; procedure TfBarang.wwdbgBarangCalcTitleImage(Sender: TObject;

27 L27 Field: TField; TitleImageAttributes: TwwTitleImageAttributes); // Set image pada header grid tabel TitleImageAttributes.ImageIndex := Field.FieldNo - 1; procedure TfBarang.FormActivate(Sender: TObject); // Disable item menu 'Print' di form utama futama.print1.enabled := false; procedure TfBarang.wwdbnEditDeleteClick(Sender: TObject); I, actrow: Integer; tmp: String; tmp := 'Do you really want to delete?'; if Application.MessageBox(PChar(tmp), ' Confirm Message', MB_OKCANCEL) = ID_CANCEL then Abort; actrow := 0; wwdbgbarang.updaterowcount; // Hapus semua record yang dipilih for I:=wwdbgBarang.GetRowCount-2 downto 0 do wwdbgbarang.setactiverow(i); if wwdbgbarang.isselectedrecord then dsbarang.dataset.delete; actrow := I; // Refresh tabel dsbarang.dataset.refresh; wwdbgbarang.updaterowcount; // Set pointer ke record yang pertama dipilih atau record pertama if actrow < wwdbgbarang.getrowcount-1 then wwdbgbarang.setactiverow(actrow) else wwdbgbarang.setactiverow(0); Abort; procedure TfBarang.dsBarangStateChange(Sender: TObject); // Cek status dalam kondisi edit atau insert

28 L28 if dsbarang.state in [dsedit, dsinsert] then wwdbgbarang.options := wwdbgbarang.options - [dgmultiselect] else wwdbgbarang.options := wwdbgbarang.options + [dgmultiselect]; end. Listing Program Unit Cabang (ucabang.pas) unit ucabang; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ImgList, Db, StdCtrls, Mask, wwdbedit, Wwdbspin, Buttons, Wwdbigrd, Grids, Wwdbgrid, wwspeedbutton, wwdbnavigator, wwclearpanel, ComCtrls, ExtCtrls; type TfCabang = class(tform) Bevel1: TBevel; Panel1: TPanel; lbcabang: TLabel; Panel2: TPanel; pcdatacabang: TPageControl; tsviewcabang: TTabSheet; Panel3: TPanel; Panel4: TPanel; Panel5: TPanel; Panel6: TPanel; dscabang: TDataSource; Panel7: TPanel; Panel9: TPanel; pcabang: TPanel; Panel12: TPanel; Panel13: TPanel; Panel11: TPanel; bclose: TButton; tseditcabang: TTabSheet; Panel8: TPanel; Panel14: TPanel; Panel15: TPanel; Image1: TImage; wwdbgcabang: TwwDBGrid; wwdbgrid1ibutton: TwwIButton;

29 L29 imcabang: TImageList; wwdbseid: TwwDBSpinEdit; wwdbnnavigate: TwwDBNavigator; wwdbnnavigatefirst: TwwNavButton; wwdbnnavigateprior: TwwNavButton; wwdbnnavigatenext: TwwNavButton; wwdbnnavigatelast: TwwNavButton; wwdbnedit: TwwDBNavigator; wwdbneditinsert: TwwNavButton; wwdbneditdelete: TwwNavButton; wwdbneditedit: TwwNavButton; wwdbneditpost: TwwNavButton; wwdbneditcancel: TwwNavButton; wwdbneditrefresh: TwwNavButton; wwdbnnavigatepriorpage: TwwNavButton; wwdbnnavigatenextpage: TwwNavButton; procedure FormShow(Sender: TObject); procedure pcdatacabangchange(sender: TObject); procedure bcloseclick(sender: TObject); procedure bclosekeypress(sender: TObject; Key: Char); procedure FormClose(Sender: TObject; Action: TCloseAction); procedure wwdbgcabangcalctitleimage(sender: TObject; Field: TField; TitleImageAttributes: TwwTitleImageAttributes); procedure FormActivate(Sender: TObject); procedure wwdbneditdeleteclick(sender: TObject); procedure dscabangstatechange(sender: TObject); private { Private declarations } public { Public declarations } fcabang: TfCabang; implementation uses Math, udb, ufungsi, uutama; {$R *.DFM} procedure TfCabang.FormShow(Sender: TObject); pcdatacabang.activepage := tsviewcabang; wwdbgcabang.setfocus; pcdatacabangchange(self);

30 L30 procedure TfCabang.pcDataCabangChange(Sender: TObject); tmp: String; tmp := pcdatacabang.activepage.caption; tmp := StringReplace(tmp, '&', '', [rfreplaceall]); lbcabang.caption := tmp; // Batalkan update database bila berpindah tab if dscabang.state in [dsedit, dsinsert] then dscabang.dataset.cancel; // Saat pindah tab case pcdatacabang.activepageindex of // Tab 'View' 0: pcabang.parent := tsviewcabang; wwdbnedit.visible := false; wwdbnnavigate.visible := true; wwdbgcabang.readonly := true; wwdbgcabang.options := wwdbgcabang.options + [dgrowselect]; // Tab 'Edit' 1: pcabang.parent := tseditcabang; wwdbnedit.visible := true; wwdbnedit.left := wwdbnnavigate.left; wwdbnnavigate.visible := false; wwdbgcabang.readonly := false; wwdbgcabang.options := wwdbgcabang.options - [dgrowselect]; wwdbgcabang.setfocus; procedure TfCabang.bCloseClick(Sender: TObject); // Tutup window Close; procedure TfCabang.bCloseKeyPress(Sender: TObject; Key: Char); // Tekan 'Esc' untuk tutup window if Key = #27 then Close;

31 L31 procedure TfCabang.FormClose(Sender: TObject; Action: TCloseAction); Action := cafree; // Disable item menu 'Close' dan 'Close All' di form utama if Application.MainForm.MDIChildCount = 1 then futama.close1.enabled := false; futama.closeall1.enabled := false; procedure TfCabang.wwdbgCabangCalcTitleImage(Sender: TObject; Field: TField; TitleImageAttributes: TwwTitleImageAttributes); // Set image pada header grid tabel TitleImageAttributes.ImageIndex := Field.FieldNo - 1; procedure TfCabang.FormActivate(Sender: TObject); // Disable item menu 'Print' di form utama futama.print1.enabled := false; procedure TfCabang.wwdbnEditDeleteClick(Sender: TObject); I, actrow: Integer; tmp: String; tmp := 'Do you really want to delete?'; if Application.MessageBox(PChar(tmp), ' Confirm Message', MB_OKCANCEL) = ID_CANCEL then Abort; actrow := 0; wwdbgcabang.updaterowcount; // Hapus semua record yang dipilih for I:=wwdbgCabang.GetRowCount-2 downto 0 do wwdbgcabang.setactiverow(i); if wwdbgcabang.isselectedrecord then dscabang.dataset.delete; actrow := I; // Refresh tabel dscabang.dataset.refresh;

32 L32 wwdbgcabang.updaterowcount; // Set pointer ke record yang pertama dipilih atau record pertama if actrow < wwdbgcabang.getrowcount-1 then wwdbgcabang.setactiverow(actrow) else wwdbgcabang.setactiverow(0); Abort; procedure TfCabang.dsCabangStateChange(Sender: TObject); // Cek status dalam kondisi edit atau insert if dscabang.state in [dsedit, dsinsert] then wwdbgcabang.options := wwdbgcabang.options - [dgmultiselect] else wwdbgcabang.options := wwdbgcabang.options + [dgmultiselect]; end. Listing Program Unit Input (uinput.pas) unit uinput; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ImgList, Db, wwdblook, StdCtrls, Mask, wwdbedit, Wwdbspin, Buttons, Wwdbigrd, Grids, Wwdbgrid, wwspeedbutton, wwdbnavigator, wwclearpanel, ComCtrls, ExtCtrls; type TfInput = class(tform) Bevel1: TBevel; Panel1: TPanel; lbinput: TLabel; Panel2: TPanel; pcdatainput: TPageControl; tsviewinput: TTabSheet; Panel3: TPanel; Panel4: TPanel; Panel5: TPanel; Panel6: TPanel; dsinput: TDataSource; Panel7: TPanel; Panel9: TPanel;

33 pinput: TPanel; Panel12: TPanel; Panel13: TPanel; Panel11: TPanel; bclose: TButton; tseditinput: TTabSheet; Panel8: TPanel; Panel14: TPanel; Panel15: TPanel; wwdbginput: TwwDBGrid; wwdbginputibutton: TwwIButton; Image1: TImage; imkirim: TImageList; wwdbsefrekkirim: TwwDBSpinEdit; wwdbsejmlbarang: TwwDBSpinEdit; wwdbsestokbarang: TwwDBSpinEdit; wwdbsejmlpermintaan: TwwDBSpinEdit; wwdblcjenisbarang: TwwDBLookupCombo; wwdblcjarak: TwwDBLookupCombo; wwdbnnavigate: TwwDBNavigator; wwdbnnavigatefirst: TwwNavButton; wwdbnnavigateprior: TwwNavButton; wwdbnnavigatenext: TwwNavButton; wwdbnnavigatelast: TwwNavButton; wwdbnedit: TwwDBNavigator; wwdbneditinsert: TwwNavButton; wwdbneditdelete: TwwNavButton; wwdbneditedit: TwwNavButton; wwdbneditpost: TwwNavButton; wwdbneditcancel: TwwNavButton; wwdbneditrefresh: TwwNavButton; wwdbneditexcel: TwwNavButton; imnavigate: TImageList; odexcel: TOpenDialog; wwdbnnavigatepriorpage: TwwNavButton; wwdbnnavigatenextpage: TwwNavButton; wwdbneditseparator: TwwNavButton; procedure FormShow(Sender: TObject); procedure pcdatainputchange(sender: TObject); procedure bcloseclick(sender: TObject); procedure bclosekeypress(sender: TObject; Key: Char); procedure FormClose(Sender: TObject; Action: TCloseAction); procedure wwdbginputcalctitleimage(sender: TObject; Field: TField; TitleImageAttributes: TwwTitleImageAttributes); procedure FormActivate(Sender: TObject); procedure wwdbneditdeleteclick(sender: TObject); L33

34 L34 procedure dsinputstatechange(sender: TObject); procedure wwdbneditexcelclick(sender: TObject); private { Private declarations } public { Public declarations } finput: TfInput; implementation uses Math, udb, ufungsi, uutama, uexcel; {$R *.DFM} procedure TfInput.FormShow(Sender: TObject); pcdatainput.activepage := tsviewinput; wwdbginput.setfocus; pcdatainputchange(self); procedure TfInput.pcDataInputChange(Sender: TObject); tmp: String; tmp := pcdatainput.activepage.caption; tmp := StringReplace(tmp, '&', '', [rfreplaceall]); lbinput.caption := tmp; // Batalkan update database bila berpindah tab if dsinput.state in [dsedit, dsinsert] then dsinput.dataset.cancel; // Saat pindah tab case pcdatainput.activepageindex of // Tab 'View' 0: pinput.parent := tsviewinput; wwdbnedit.visible := false; wwdbnnavigate.visible := true; wwdbginput.readonly := true; wwdbginput.options := wwdbginput.options + [dgrowselect]; // Tab 'Edit' 1: pinput.parent := tseditinput;

35 L35 wwdbnedit.visible := true; wwdbnedit.left := wwdbnnavigate.left; wwdbnnavigate.visible := false; wwdbginput.readonly := false; wwdbginput.options := wwdbginput.options - [dgrowselect]; wwdbginput.setfocus; procedure TfInput.bCloseClick(Sender: TObject); // Tutup window Close; procedure TfInput.bCloseKeyPress(Sender: TObject; Key: Char); // Tekan 'Esc' untuk tutup window if Key = #27 then Close; procedure TfInput.FormClose(Sender: TObject; Action: TCloseAction); Action := cafree; // Disable item menu 'Close' dan 'Close All' di form utama if Application.MainForm.MDIChildCount = 1 then futama.close1.enabled := false; futama.closeall1.enabled := false; procedure TfInput.wwdbgInputCalcTitleImage(Sender: TObject; Field: TField; TitleImageAttributes: TwwTitleImageAttributes); // Set image pada header grid tabel TitleImageAttributes.ImageIndex := Field.FieldNo - 1; procedure TfInput.FormActivate(Sender: TObject); // Disable item menu 'Print' di form utama futama.print1.enabled := false;

36 L36 procedure TfInput.wwdbnEditDeleteClick(Sender: TObject); I, actrow: Integer; tmp: String; tmp := 'Do you really want to delete?'; if Application.MessageBox(PChar(tmp), ' Confirm Message', MB_OKCANCEL) = ID_CANCEL then Abort; actrow := 0; wwdbginput.updaterowcount; // Hapus semua record yang dipilih for I:=wwdbgInput.GetRowCount-2 downto 0 do wwdbginput.setactiverow(i); if wwdbginput.isselectedrecord then dsinput.dataset.delete; actrow := I; // Refresh tabel dsinput.dataset.refresh; wwdbginput.updaterowcount; // Set pointer ke record yang pertama dipilih atau record pertama if actrow < wwdbginput.getrowcount-1 then wwdbginput.setactiverow(actrow) else wwdbginput.setactiverow(0); Abort; procedure TfInput.dsInputStateChange(Sender: TObject); // Cek status dalam kondisi edit atau insert if dsinput.state in [dsedit, dsinsert] then wwdbginput.options := wwdbginput.options - [dgmultiselect] else wwdbginput.options := wwdbginput.options + [dgmultiselect]; procedure TfInput.wwdbnEditExcelClick(Sender: TObject); // Cari file spreadsheet yang hendak diimport datanya odexcel.initialdir := GetCurrentDir; if odexcel.execute then // Buka window 'Excel' lalu pilih record mana saja yang hendak dimasukkan ke dalam tabel Input Application.CreateForm(TfExcel, fexcel);

37 L37 fexcel.fetchdata(odexcel.filename); fexcel.showmodal; end. Listing Program Unit Excel (uexcel.pas) unit uexcel; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ImgList, Db, ADODB, Buttons, Wwdbigrd, Grids, Wwdbgrid, wwspeedbutton, wwdbnavigator, wwclearpanel, StdCtrls, ExtCtrls, Dialogs; type TfExcel = class(tform) Bevel1: TBevel; Panel1: TPanel; lbbarang: TLabel; Panel2: TPanel; Panel3: TPanel; Panel4: TPanel; Panel5: TPanel; Panel6: TPanel; dsexcel: TDataSource; Image1: TImage; Panel10: TPanel; Panel13: TPanel; Panel11: TPanel; bclose: TButton; wwdbgexcel: TwwDBGrid; wwdbgbarangibutton: TwwIButton; adoconnexcel: TADOConnection; adoqsql: TADOQuery; wwdbnnavigate: TwwDBNavigator; wwdbnnavigatefirst: TwwNavButton; wwdbnnavigatepriorpage: TwwNavButton; wwdbnnavigateprior: TwwNavButton; wwdbnnavigatenextpage: TwwNavButton; wwdbnnavigatenext: TwwNavButton; wwdbnnavigatelast: TwwNavButton;

38 L38 wwdbnnavigaterefresh: TwwNavButton; wwdbnnavigateseparator: TwwNavButton; wwdbnnavigateadd: TwwNavButton; wwdbnnavigateaddall: TwwNavButton; imnavigate: TImageList; procedure bclosekeypress(sender: TObject; Key: Char); procedure wwdbnnavigateaddclick(sender: TObject); procedure wwdbnnavigateaddallclick(sender: TObject); procedure FormShow(Sender: TObject); private { Private declarations } public { Public declarations } procedure ConnectToExcel(FileName: String); procedure FetchData(FileName: String); fexcel: TfExcel; implementation uses Math, udb; {$R *.DFM} procedure TfExcel.ConnectToExcel(FileName: String); strconn: WideString; // Koneksi ke Excel menggunakan ADOConnection strconn := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';Extended Properties=Excel 8.0;'; adoconnexcel.connected := false; adoconnexcel.connectionstring := strconn; try adoconnexcel.open; except Beep; Application.MessageBox('Error Message', PChar('Unable to connect to Excel, make sure the spreadsheet ' + ExtractFileName(FileName) + ' exist!'), MB_OK); procedure TfExcel.FetchData(FileName: String);

39 L39 // Cek koneksi Excel if not adoconnexcel.connected then ConnectToExcel(FileName); adoqsql.connection := adoconnexcel; adoqsql.close; // Ambil data dari file Excel adoqsql.sql.text := 'SELECT * FROM [Sheet1$]'; try adoqsql.open; except Beep; Application.MessageBox('Error Message', 'Unable to read data from Excel!', MB_OK); procedure TfExcel.bCloseKeyPress(Sender: TObject; Key: Char); // Tekan 'Esc' untuk tutup window if Key = #27 then Close; procedure TfExcel.wwdbnNavigateAddClick(Sender: TObject); I, J: Integer; Valid: Boolean; Data: Array of Variant; DataStr: Array of String; // Inisialisasi array iabel SetLength(Data, dmta.tbinput.fields.count-1); SetLength(DataStr, dmta.tbinput.fields.count-1); // Update jumlah record yang ada wwdbgexcel.updaterowcount; for I:=0 to wwdbgexcel.getrowcount-2 do // Fokuskan ke record-i wwdbgexcel.setactiverow(i); // Jika record tersebut telah dipilih if wwdbgexcel.isselectedrecord then Valid := true; for J:=0 to dsexcel.dataset.fields.count-1 do // Cek tipe data masing-masing cell Excel worksheet if dsexcel.dataset.fields[j].datatype = ftfloat then

40 L40 // Referensikan dengan tipe data dari tabel Input if dmta.tbinputfieldtype[j] = ftinteger then // Konversi ke tipe Integer dengan pembulatan ke atas Data[J] := Floor(dsExcel.DataSet.Fields[J].Value); DataStr[J] := IntToStr(Data[J]); end else // Tetap dengan tipe real Data[J] := dsexcel.dataset.fields[j].value; DataStr[J] := FloatToStr(Data[J]); end else Valid := false; // Jika semua data valid baru eksekusi SQL penambahan data if Valid then dmta.execsql('insert INTO Input (Biaya_Kirim, Frek_Kirim, Jns_Barang, Jarak, Jml_Barang, Stok_Barang, Jml_Permintaan, Biaya_Total) ' + 'VALUES (' + DataStr[0] + ', ' + DataStr[1] + ', ' + DataStr[2] + ', ' + DataStr[3] + ', ' + DataStr[4] + ', ' + DataStr[5] + ', ' + DataStr[6] + ', ' + DataStr[7] + ');'); dmta.tbinput.refresh; // Refresh tabel Input Close; // Tutup window 'Excel' procedure TfExcel.wwdbnNavigateAddAllClick(Sender: TObject); wwdbgexcel.selectall; // Pilih semua record wwdbnnavigateaddclick(sender); // Masukkan semua record ke dalam tabel Input procedure TfExcel.FormShow(Sender: TObject); wwdbgexcel.selectrecord; // Fokus pada record pertama // Jika banyaknya kolom di file Excel tidak sesuai dengan jumlah iable (jumlah field- 1 di tabel Input) if wwdbgexcel.fieldcount <> dmta.tbinput.fields.count-1 then Beep; Application.MessageBox('Error Message', PChar('Excel file should have exact ' + IntToStr(dmTA.tbInput.Fields.Count-1) + ' columns!'), MB_OK); Close;

41 L41 end. Listing Program Unit Fungsi (ufungsi.pas) unit ufungsi; interface uses Messages, Windows, SysUtils, Classes, Graphics, Controls, Forms; type Str30 = String[30]; function SpecCharsFilter(key: Char; spec: array of Char): Char; function NumericFilter(key: Char): Char; function AlphabeticFilter(key: Char): Char; function AlphaNumericFilter(key: Char): Char; function AlphaNumSpecCharsFilter(key: Char; spec: array of Char): Char; procedure ShowModalForm(FormClass: TFormClass); function FindMDIForm(MDIFormName: String): Boolean; procedure CloseAllMDIForm; procedure SetCenter(Cont1: TControl; Cont2: TControl); implementation function SpecCharsFilter(key: Char; spec: array of Char): Char; temp: Char; i: word; temp := #0; for i:=0 to Length(spec)-1 do if key = spec[i] then temp := key; break; result := temp; function NumericFilter(key: Char): Char; if not(((key >= #48) and (key <= #57)) or (key = #8)) then

42 L42 result := #0 else result := key; function AlphabeticFilter(key: Char): Char; if not(((key >= #65) and (key <= #90)) or ((key >= #97) and (key <= #122)) or (key = #8) or (key = #32)) then result := #0 else result := key; function AlphaNumericFilter(key: Char): Char; temp: Char; temp := NumericFilter(key); if temp <> key then temp := AlphabeticFilter(key); if temp <> key then temp := #0; result := temp; function AlphaNumSpecCharsFilter(key: Char; spec: array of Char): Char; temp: Char; temp := AlphaNumericFilter(key); if temp <> key then temp := SpecCharsFilter(key, spec); result := temp; procedure ShowModalForm(FormClass: TFormClass); with FormClass.Create(Application) do try ShowModal; finally Free; function FindMDIForm(MDIFormName: String): Boolean; MDICount: Byte; Found: Boolean; Found := false;

43 L43 MDICount := Application.MainForm.MDIChildCount; while (MDICount > 0) and (Found = false) do if Application.MainForm.ActiveMDIChild.Name = MDIFormName then Found := true; Application.MainForm.Next; Dec(MDICount); Result := Found; procedure CloseAllMDIForm; MDICount: Byte; MDICount := Application.MainForm.MDIChildCount; while MDICount > 0 do Application.MainForm.ActiveMDIChild.Close; Application.MainForm.Next; Dec(MDICount); procedure SetCenter(Cont1: TControl; Cont2: TControl); if Cont1.Width < Cont2.ClientWidth then Cont1.Left := (Cont2.ClientWidth - Cont1.Width) div 2 else Cont1.Left := 0; if Cont1.Height < Cont2.ClientHeight then Cont1.Top := (Cont2.ClientHeight - Cont1.Height) div 2 else Cont1.Top := 0; end. Listing Program Unit Kalkulasi (ukalkulasi.pas) unit ukalkulasi; interface uses Windows, Classes, SysUtils;

44 L44 type VarMatriksKorelasi = array of array of Double; TFType = (tfttoremove, tfttoenter); function PrintGaris(HowMany: Integer): String; function PrintKolom(Str: String; MaxWidth: Integer; Alignment: TAlignment): String; function Rataan(const Data: array of Double; NumOf: Integer): Double; function Korelasi(const DataX, DataY: array of Double; const RataanX, RataanY: Double; NumOf: Integer): Double; function CariAbsolutMax(const Variabel: array of Integer; const Value: array of Double; Index: Integer): Double; function KoefisienRegresi1a(const yrataan, b1, xrataan: Double): Double; function KoefisienRegresi1b(const DataX, DataY: array of Double; const RataanX, RataanY: Double; NumOf: Integer): Double; function yregresi1(const koefreg1a, koefreg1b: Double; const DataXi: Double): Double; function KuadratKorelasi(const DataYRegresi, DataY: array of Double; const RataanY: Double; NumOf: Integer): Double; function RataanKuadratSisa(const DataY, DataYRegresi: array of Double; p, NumOf: Integer): Double; function UjiStatistik(const DataY, DataYRegresi: array of Double; const RataanY: Double; p, NumOf: Integer; FType: TFType): Double; overload; function UjiStatistik(const DataR: Double; k, NumOf: Integer): Double; overload; function KuadratKorelasiParsial(IndexX: Integer; const XModel: array of Integer; const MatriksKorelasi: VarMatriksKorelasi): Double; implementation uses Math; function PrintGaris(HowMany: Integer): String; tmp: String; I: Integer; tmp := ''; for I:=1 to HowMany do tmp := tmp + '-'; Result := tmp; function PrintKolom(Str: String; MaxWidth: Integer; Alignment: TAlignment): String; tmp: String; I, LnStr, LnSp: Integer; LnStr := Length(Str); if LnStr >= MaxWidth then Result := Str

45 L45 else LnSp := MaxWidth - LnStr; tmp := ''; if Alignment = taleftjustify then tmp := tmp + Str; for I:=1 to LnSp do tmp := tmp + ' '; end else if Alignment = tarightjustify then for I:=1 to LnSp do tmp := tmp + ' '; tmp := tmp + Str; end else for I:=1 to (LnSp div 2) do tmp := tmp + ' '; tmp := tmp + Str; for I:=1 to ((LnSp div 2) + (LnSp mod 2)) do tmp := tmp + ' '; Result := tmp; function Rataan(const Data: array of Double; NumOf: Integer): Double; Result := Sum(Data) / NumOf; function Korelasi(const DataX, DataY: array of Double; const RataanX, RataanY: Double; NumOf: Integer): Double; tmpa, tmpb, tmpc: array of Double; tota, totb, totsqb, totsqc: Double; I: Integer; SetLength(tmpA, NumOf); SetLength(tmpB, NumOf); SetLength(tmpC, NumOf); for I:=0 to NumOf-1 do tmpb[i] := DataX[I] - RataanX; tmpc[i] := DataY[I] - RataanY; tmpa[i] := tmpb[i] * tmpc[i]; tota := Sum(tmpA);

46 L46 totsqb := SumOfSquares(tmpB); totsqc := SumOfSquares(tmpC); totb := Power(totSqB * totsqc, 0.5); // Kalau pembagi nol maka seharusnya NaN! // Note: MAXLONG ini hanya untuk mengindikasikan adanya pembagian dengan nol! if totb = 0 then Result := MAXLONG else Result := tota / totb; function CariAbsolutMax(const Variabel: array of Integer; const Value: array of Double; Index: Integer): Double; I, idx: Integer; maxval: Double; idx := 0; maxval := 0; for I:=0 to High(Variabel) do if Abs(Value[I]) > maxval then idx := Variabel[I]; maxval := abs(value[i]); Index := idx; Result := maxval; function KoefisienRegresi1a(const yrataan, b1, xrataan: Double): Double; Result := yrataan - b1 * xrataan; function KoefisienRegresi1b(const DataX, DataY: array of Double; const RataanX, RataanY: Double; NumOf: Integer): Double; tmpa, tmpb, tmpc: array of Double; tota, totb: Double; I: Integer; SetLength(tmpA, NumOf); SetLength(tmpB, NumOf); SetLength(tmpC, NumOf); for I:=0 to NumOf-1 do tmpb[i] := DataX[I] - RataanX; tmpc[i] := DataY[I] - RataanY;

47 L47 tmpa[i] := tmpb[i] * tmpc[i]; tota := Sum(tmpA); totb := SumOfSquares(tmpB); // Kalau pembagi nol maka seharusnya NaN! // Note: MAXLONG ini hanya untuk mengindikasikan adanya pembagian dengan nol! if totb = 0 then Result := MAXLONG else Result := tota / totb; function yregresi1(const koefreg1a, koefreg1b: Double; const DataXi: Double): Double; Result := koefreg1a + koefreg1b * DataXi; function KuadratKorelasi(const DataYRegresi, DataY: array of Double; const RataanY: Double; NumOf: Integer): Double; tmpa, tmpb: array of Double; tota, totb: Double; I: Integer; SetLength(tmpA, NumOf); SetLength(tmpB, NumOf); for I:=0 to NumOf-1 do tmpa[i] := DataYRegresi[I] - RataanY; tmpb[i] := DataY[I] - RataanY; tota := SumOfSquares(tmpA); totb := SumOfSquares(tmpB); // Kalau pembagi nol maka seharusnya NaN! // Note: MAXLONG ini hanya untuk mengindikasikan adanya pembagian dengan nol! if totb = 0 then Result := MAXLONG else Result := tota / totb; function RataanKuadratSisa(const DataY, DataYRegresi: array of Double; p, NumOf: Integer): Double; tmp: array of Double; tota, totb: Double; I: Integer; SetLength(tmp, NumOf); for I:=0 to NumOf-1 do tmp[i] := DataY[I] - DataYRegresi[I];

LAMPIRAN Listing Program

LAMPIRAN Listing Program LAMPIRAN Listing Program unit umain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls, ExtDlgs, DCPcrypt2, DCPrc4, DCPsha1,

More information

LAMPIRAN A: LIST PROGRAM

LAMPIRAN A: LIST PROGRAM LAMPIRAN A: LIST PROGRAM Form Login unit ULogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, IBQuery, IBDatabase, IBCustomDataSet, IBTable,

More information

UJIAN AKHIR SEMESTER TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA

UJIAN AKHIR SEMESTER TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA UJIAN AKHIR SEMESTER TEKNIK INFORMATIKA SEKOLAH TINGGI TEKNOLOGI DUTA BANGSA Dosen Pembimbing : Dedi W ST,. MM Nama : Elly Sunandy NIM : 13158279 Pemrograman Terstruktur Membuat program dengan Delphi 7

More information

LAMPIRAN. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, XPMan, ExtCtrls, jpeg;

LAMPIRAN. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, XPMan, ExtCtrls, jpeg; LAMPIRAN Lampiran A. Listing Program 1. Unit Utama unit UnUtama; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, XPMan, ExtCtrls, jpeg; type Tfrmutama

More information

LAMPIRAN 1 TATA CARA PENGGUNAAN SOFTWARE ALGORITMA GENETIKA

LAMPIRAN 1 TATA CARA PENGGUNAAN SOFTWARE ALGORITMA GENETIKA LAMPIRAN 1 TATA CARA PENGGUNAAN SOFTWARE ALGORITMA GENETIKA Langkah-langkah penggunaan Software Algoritma Genetika Job Shop : 1. Buka program Algoritma Genetika Job Shop 2. Masukkan data-data yang dibutuhkan

More information

Visitor Management System

Visitor Management System WWW.VALLINME.COM Visitor Management System Ver 1.0 Mohd Noor Azam 18-03-2015 [Type the abstract of the document here. The abstract is typically a short summary of the contents of the document. Type the

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 FEBRUARY/MARCH 2018 MARKING GUIDELINES MARKS: 150 These marking guidelines consist of 21 pages. Information Technology/P1 2 DBE/Feb. Mar. 2018

More information

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES

PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES PANDUAN PENGGUNA (SUPPLIER) e-purchase ORDER FOR SERVICES SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS) DISEDIAKAN OLEH: UNIT SUPPLY CHAIN MANAGEMENT (SCM) JABATAN SOURCING CONTROLLER

More information

LAMPIRAN A LISTING PROGRAM

LAMPIRAN A LISTING PROGRAM LAMPIRAN LAMPIRAN A LISTING PROGRAM //Program Utama unit umain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, Menus, ExtCtrls, StdCtrls, Lucifer,VisSem,

More information

PANDUAN PENGGUNA (PENTADBIR SYSTEM/SYSTEM ADMINISTRATOR) (INFOTECH, BPPF DAN POLIS

PANDUAN PENGGUNA (PENTADBIR SYSTEM/SYSTEM ADMINISTRATOR) (INFOTECH, BPPF DAN POLIS Classroom Reservation User Manual (HEA) PANDUAN PENGGUNA (PENTADBIR SYSTEM/SYSTEM ADMINISTRATOR) (INFOTECH, BPPF DAN POLIS Table of Contents CLASSROOM RESERVATION MANAGEMENT SYSTEM - APLIKASI... 2 Apa

More information

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik

MICROSOFT EXCEL. Membina Hamparan Elektronik Fungsi Hamparan Elektronik MICROSOFT EXCEL Membina Hamparan Elektronik Fungsi Hamparan Elektronik Microsoft Excel 2010 Kandungan Penggunaan Asas Excel Memformat Sel, Lembaran dan Buku Kerja (Work Book) Penggunaan Asas Excel Fail

More information

PANDUAN PENGGUNA (PENSYARAH)

PANDUAN PENGGUNA (PENSYARAH) Classroom Reservation User Manual (HEA) PANDUAN PENGGUNA (PENSYARAH) Table of Contents CLASSROOM RESERVATION MANAGEMENT SYSTEM - APLIKASI... 2 Apa itu CRMS?... 2 CRMS Feature Summary... 3 CRMS LOGIN...

More information

The scripting system handles two types of components: Visual and Non-visual components.

The scripting system handles two types of components: Visual and Non-visual components. Forms and Components Old Content - visit altium.com/documentation Modified by on 13-Sep-2017 Parent page: DelphiScript Overview of Graphical Components The scripting system handles two types of components:

More information

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1

COMBINING TABLES. Akademi Audit Negara. CAATs ASAS ACL / 1 COMBINING TABLES CAATs ASAS ACL / 1 OBJEKTIF MODUL Mempelajari kaedah menggabung dan menghubungkan dua atau lebih table bagi mencapai objektif Audit. Mempelajari kaedah menggunakan maklumat yang sedia

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 NOVEMBER 2017 MARKING GUIDELINES MARKS: 150 These marking guidelines consist of 26 pages. Information Technology/P1 2 DBE/November 2017 GENERAL

More information

Image. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls ;

Image. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls ; B 71 11 Image Image Image Image 11.1 11.1.1 Amida AmidaU.pas AmidaP.dpr 11.1.2 Form Name FormAmida Caption Position poscreencenter HorzScrollBar.Visible False VertScrollBar.Visible False 11.1.3 11.2 Image

More information

2. Design and Development

2. Design and Development Postage Calculator 1. The task Design and implement a program for employees of a travel agency who send out documents to the UK and EU only; the program will calculate the cost of postage. Each envelope

More information

judul : dump mysql with delphi - opensource

judul : dump mysql with delphi - opensource judul : dump mysql with delphi - opensource header : hmm...ini sebenernya dah pernah tak tanyain dalam thread tapi lom ada jawaban yang memuaskan, aq coba ekplor terus dan akhirnya 3 bulan yang lalu bisa

More information

DOKUMEN TIDAK TERKAWAL

DOKUMEN TIDAK TERKAWAL Halaman: 1/12 Tujuan : Arahan kerja ini adalah untuk menerangkan tatacara pendaftaran ID Pengguna di dalam Sistem Kewangan SAGA (Standard Accounting for Government Agencies) Universiti Putra Malaysia bagi

More information

Manual Pengguna. PCN Online Service Fulfillment System

Manual Pengguna. PCN Online Service Fulfillment System System 1 Subjek Muka Surat 1) CARTA ALIR SISTEM 2 2) PERMOHONAN OLEH AGENSI 3 3) PENGESAHAN PERMOHONAN OLEH MAMPU 8 4) LAMPIRAN 13 2 Carta alir sistem 3 PERMOHONAN OLEH AGENSI 4 Membuat permohonan baru

More information

TEKNOLOGI, GADJET & KEIBUBAPAAN

TEKNOLOGI, GADJET & KEIBUBAPAAN TEKNOLOGI, GADJET & KEIBUBAPAAN Kandungan YouTube Google Chrome Android Device Manager Google Keep Call recorder KeePassDroid K9 protection TeamViewer Zulkifli Alang Mahat A. YouTube 1. Klik apps youtube

More information

APPLICATION NOTE: KONSTANTER LSP32K Interface Protocol

APPLICATION NOTE: KONSTANTER LSP32K Interface Protocol APPLICATION NOTE: KONSTANTER LSP32K Interface Protocol 1 Interface Type At the DB9 connector the LSP32K Power Supply device offers a serial data interface with TTL logic level for remote control and readout

More information

GRADE 12 SEPTEMBER 2012 INFORMATION TECHNOLOGY P1 MEMORANDUM

GRADE 12 SEPTEMBER 2012 INFORMATION TECHNOLOGY P1 MEMORANDUM Province of the EASTERN CAPE EDUCATION NATIONAL SENIOR CERTIFICATE GRADE 12 SEPTEMBER 2012 INFORMATION TECHNOLOGY P1 MEMORANDUM MARKS: 120 This memorandum consists of 11 pages. 2 INFORMATION TECHNOLOGY

More information

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ImgList, StdCtrls, Buttons, MPlayer;

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ImgList, StdCtrls, Buttons, MPlayer; unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ImgList, StdCtrls, Buttons, MPlayer; type TForm1 = class(tform) Cenario: TImage;

More information

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS) PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS) DISEDIAKAN OLEH: SUPPLY CHAIN MANAGEMENT (SCM) BAHAGIAN ICT PROCESS

More information

PERU BAHAN PERKHIDMATAN KREDIT DAN PERBANKAN ARAHAN KERJA UNIT KOMPUTER. Tatacara Proses AGM03. BPKP/KJAK-104 Bilangan Semakan : 0 Tarikh :

PERU BAHAN PERKHIDMATAN KREDIT DAN PERBANKAN ARAHAN KERJA UNIT KOMPUTER. Tatacara Proses AGM03. BPKP/KJAK-104 Bilangan Semakan : 0 Tarikh : ARAHAN KERJA UNIT KOMPUTER Tatacara Proses AGM03 BPKP/KJAK-104 Bilangan Semakan : 0 Tarikh : 30.09.13 Disediakan oleh :- Disahkan oleh ;- Pengurus PERU BAHAN Ubahan Muka surat Tarikh Keterangan Diluluskan

More information

Source code for simulations: 1 of 11

Source code for simulations: 1 of 11 The following is the source code for the simulations reported in Clinchy, Haydon and Smith (Pattern process: what does patch occupancy really tell us about metapopulation dynamics). unit Main; interface

More information

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS)

PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS) PANDUAN PENGGUNA (SUPPLIER) MAINTAIN CERTIFICATES/SUPPLIER DETAILS SUPPLIER RELATIONSHIP MANAGEMENT SUPPLY CHAIN MANAGEMENT SYSTEM (SCMS) DISEDIAKAN OLEH: SUPPLY CHAIN MANAGEMENT (SCM) BAHAGIAN ICT PROCESS

More information

CARA-CARA UNTUK MEMBUAT POSTER MELALUI PERISIAN PHOTOSHOP. Untuk membuat poster sediakan beberapa bahan seperti berikut:

CARA-CARA UNTUK MEMBUAT POSTER MELALUI PERISIAN PHOTOSHOP. Untuk membuat poster sediakan beberapa bahan seperti berikut: CARA-CARA UNTUK MEMBUAT POSTER MELALUI PERISIAN PHOTOSHOP Untuk membuat poster sediakan beberapa bahan seperti berikut: Pastikan anda telah memindahkan gambar-gambar yang di ambil ke dalam komputer Pastikan

More information

Panduan Menggunakan Autoresponder FreeAutobot.com

Panduan Menggunakan Autoresponder FreeAutobot.com Panduan Menggunakan Autoresponder FreeAutobot.com Dengan memperolehi e-book ini, anda mempunyai kebenaran untuk memberi secara percuma kepada pelanggan anda atau tawarkan sebagai bonus kepada pembelian

More information

GRADE/GRAAD 11 NOVEMBER 2013 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM

GRADE/GRAAD 11 NOVEMBER 2013 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM NATIONAL SENIOR CERTIFICATE NASIONALE SENIOR SERTIFIKAAT GRADE/GRAAD 11 NOVEMBER 2013 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM MARKS/PUNTE: 150 This memorandum consists of 6 pages.

More information

Pengenalan Sistem Maklumat Dalam Pendidikan

Pengenalan Sistem Maklumat Dalam Pendidikan Pengenalan Sistem Maklumat Dalam Pendidikan 1 RELATIONSHIP & QUERY DALAM MICROSOFT ACCESS Kandungan Definisi Relationship (Hubungan) Jenis Relationship Membina Relationship Definisi Query dan Fungsi Query

More information

UNIVERSITI SAINS MALAYSIA

UNIVERSITI SAINS MALAYSIA UNIVERSITI SAINS MALAYSIA Peperiksaan Semester Pertama Sidang Akademik 2004/2005 Oktober 2004 CPT103/CPM211- Struktur Data & Paradigma Pengaturcaraan Masa : 2 jam ARAHAN KEPADA CALON : Sila pastikan bahawa

More information

(1) Trump (1) Trump (2) (1) Trump ExampleU ExampleP (2) Caption. TrumpU (2) Caption. (3) Image FormTrump. Top 0 Left 0.

(1) Trump (1) Trump (2) (1) Trump ExampleU ExampleP (2) Caption. TrumpU (2) Caption. (3) Image FormTrump. Top 0 Left 0. B 114 18 (1) 18.1 52 54 Trump http://www.ss.u-tokai.ac.jp/~ooya/jugyou/joronb/trumpbmp.exe (1) (2) Trump 18.2 (1) Trump ExampleU ExampleP (2) Name Caption FormMain 18.3 (1) TrumpU (2) Name Caption FormTrump

More information

LAMPIRAN A: DDL DATABASE

LAMPIRAN A: DDL DATABASE LAMPIRAN A: DDL DATABASE MySQL-Front 5.1 (Build 2.7) Host: localhost Database: mobil ------------------------------------------------------ Server version 5.0.41-community-nt USE `mobil`; Source for table

More information

Send to: MM Irfan Subakti CC to Muhammad Ryanda Nugraha M with the. IF184401_DAA(F)_MID_NRP_Name.

Send to: MM Irfan Subakti CC to Muhammad Ryanda Nugraha M with the. IF184401_DAA(F)_MID_NRP_Name. IF184401 Design & Analysis of Algorithms (F) Midterm Exam Starting date: 9 March 2019 Deadline: 16 March 2019, 23:59 WIB. Exam type: Open Send to: MM Irfan Subakti CC to Muhammad Ryanda

More information

ICT SPM 2011 SUGGESTION ANSWER. Section A

ICT SPM 2011 SUGGESTION ANSWER. Section A ICT SPM 2011 SUGGESTION ANSWER Section A NO SOALAN 1 i Computer ethic / ethic ii Computer law / law 2 ii 4 iv 2 3 Output 4 True 5 Gigabyte / GB 6 i Operating ii Application 7 B / D D / B 8 B 9 A 10 i Radio

More information

Tutorial, Source code, Request Program Visual Basic

Tutorial, Source code, Request Program Visual Basic Tutorial, Source code, Request Program Visual Basic Oleh : Moh. A Azis Membuat Form Data Barang Program Persediaan Barang Form Data Barang digunakan untuk menyimpan data barang dan memberikan info mengenai

More information

MANAGE COURSE RESOURCES LABEL TEXT PAGE URL BOOK FILE FOLDER IMS CONTENT PACKAGE

MANAGE COURSE RESOURCES LABEL TEXT PAGE URL BOOK FILE FOLDER IMS CONTENT PACKAGE MANAGE COURSE RESOURCES LABEL TEXT PAGE URL BOOK FILE FOLDER IMS CONTENT PACKAGE Edit summary Edit tajuk Ke kanan Ke atas/bawah NOTA: Klik untuk sembunyikan isi kandungan. Klik untuk padam/menghapus isi

More information

JABATAN KIMIA Kategori Arahan Kerja

JABATAN KIMIA Kategori Arahan Kerja Mukasurat: 1 daripada 10 1. TUJUAN Tujuan prosedur ini ditubuhkan adalah untuk memberikan arahan yang jelas bagi langkah atau tatacara bagaimana menjalankan analisis sampel menggunakan peralatan JEOL NMR

More information

Pengguna akan diberikan Username dan Password oleh Administrator untuk login sebagai admin/conference Manager bagi conference yang akan diadakan.

Pengguna akan diberikan Username dan Password oleh Administrator untuk login sebagai admin/conference Manager bagi conference yang akan diadakan. Conference Manager Roles Guide - PENGGUNA MANUAL Login. Pengguna akan diberikan Username dan Password oleh Administrator untuk login sebagai admin/conference Manager bagi conference yang akan diadakan.

More information

Windows. mine sweeper Jirai JiraiU.pas JiraiP.dpr. Form Name FormJirai Caption Position podesktopcenter 16.3

Windows. mine sweeper Jirai JiraiU.pas JiraiP.dpr. Form Name FormJirai Caption Position podesktopcenter 16.3 B 103 16 Windows mine sweeper 16.1 n 16.2 Jirai JiraiU.pas JiraiP.dpr Form Name FormJirai Caption Position podesktopcenter 16.3 3 B 104 16.3.1 RadioGroup Algn altop Name RadioGroupSize Caption Columns

More information

Semasa buku ini ditulis XAMPP mengandungi empat versi:

Semasa buku ini ditulis XAMPP mengandungi empat versi: Lab 1 PEMASANGAN PELAYAN WEB XAMPP 1.0 Pengenalan Di dalam topik ini kita akan menggunakan pelayan web yang berasaskan sumber terbuka XAMPP Windows 1.8.0. Kenapa Pelayan Web Xampp digunakan kerana bukannya

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 FEBRUARY/MARCH 2017 MEMORANDUM MARKS: 150 This memorandum consists of 29 pages. Information Technology/P1 2 DBE/Feb. Mar. 2017 GENERAL INFORMATION:

More information

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11

ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11 ssk 2023 asas komunikasi dan rangkaian TOPIK 4.0 PENGALAMATAN RANGKAIAN Minggu 11 PENILAIAN & KULIAH Kuliah Tugasan Ujian Teori Ujian Amali Isi kandungan 4.8 Menunjukkan asas pengiraan o Subnet Mask o

More information

JABATAN KIMIA Kategori Arahan Kerja

JABATAN KIMIA Kategori Arahan Kerja Mukasurat: 1 daripada 13 1. TUJUAN Tujuan prosedur ini dtubuhkan adalah untuk memberikan arahan yang jelas bagi langkah atau tatacara bagaimana menjalankan analisis sampel menggunakan peralatan Gas Chromatography

More information

A method is a procedure that is always associated with an object and defines the behavior of that object.

A method is a procedure that is always associated with an object and defines the behavior of that object. Using Form Components Old Content - visit altium.com/documentation Modified by Rob Evans on 15-Feb-2017 Parent page: VBScript Using Components in VBScript Forms Although Forms and Components are based

More information

NATIONAL SENIOR CERTIFICATE GRADE 12

NATIONAL SENIOR CERTIFICATE GRADE 12 NATIONAL SENIOR CERTIFICATE GRADE 12 INFORMATION TECHNOLOGY P1 NOVEMBER 2014 MEMORANDUM MARKS: 150 This memorandum consists of 28 pages. Information Technology/P1 2 DBE/November 2014 GENERAL INFORMATION:

More information

FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA

FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA FIRST TIME LOGIN & SELF REGISTRATION USER GUIDE LOG MASUK KALI PERTAMA & PENDAFTARAN SENDIRI PANDUAN PENGGUNA Getting Started Step by Step Guide to Supplier First Time Login and Self Registration Persediaan

More information

CLOUD COMPUTING ADOPTION IN BANKING SYSTEM (UTM) IN TERMS OF CUSTOMERS PERSPECTIVES SHAHLA ASADI

CLOUD COMPUTING ADOPTION IN BANKING SYSTEM (UTM) IN TERMS OF CUSTOMERS PERSPECTIVES SHAHLA ASADI CLOUD COMPUTING ADOPTION IN BANKING SYSTEM (UTM) IN TERMS OF CUSTOMERS PERSPECTIVES SHAHLA ASADI A dissertation submitted in partial fulfillment of the requirements for the award of the degree of Master

More information

CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD

CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD CREATING USER ID AND PASSWORD : NOTA PENTING NOTA PENTING SEBELUM MEMULAKAN PROSES CREATE USER ID & PASSWORD Sebelum meneruskan proses untuk Create User ID & Password sila pastikan anda menggunakan Internet

More information

Welcome to the Future of Entertainment!

Welcome to the Future of Entertainment! Welcome to the Future of Entertainment! Quick Start Guide Panduan Ringkas Features/Ciri-ciri Info Banner Icons / Info Paparan Informasi Channel Type / Jenis Saluran Search / Cari To record / Series Link

More information

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web]

UNIVERSITI SAINS MALAYSIA. CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web] UNIVERSITI SAINS MALAYSIA First Semester Examination 2014/2015 Academic Session December 2014/January 2015 CMT322/CMM323 Web Engineering & Technologies [Kejuruteraan & Teknologi Web] Duration : 2 hours

More information

Delphi Generics.Collections

Delphi Generics.Collections Delphi Generics.Collections Copyright(C) 2008 Embarcadero Technologies, Inc. All Rights Reserved. Delphi Generics.Collections Table of Contents Generics.Collections.TCollectionNotification 1 Generics.Collections.TCollectionNotifyEvent

More information

1. Akses untuk koperasi adalah melalui https://apponline.skm.gov.my/userlogin.aspx.

1. Akses untuk koperasi adalah melalui https://apponline.skm.gov.my/userlogin.aspx. Pengguna Koperasi 1. Akses untuk koperasi adalah melalui https://apponline.skm.gov.my/userlogin.aspx. Belum berdaftar 2. Sila masuk ID Pengguna dan Kata Laluan dengan betul. Sekiranya pengguna masih belum

More information

UNIVERSITI SAINS MALAYSIA. CST332 Internet Protocols. Architecture & Routing [Protokol, Seni Bina & Penghalaan Internet]

UNIVERSITI SAINS MALAYSIA. CST332 Internet Protocols. Architecture & Routing [Protokol, Seni Bina & Penghalaan Internet] UNIVERSITI SAINS MALAYSIA First Semester Examination 2016/2017 Academic Session December 2016 / January 2017 CST332 Internet Protocols. Architecture & Routing [Protokol, Seni Bina & Penghalaan Internet]

More information

Introduction to the DLL for the USB Interface Board K8061

Introduction to the DLL for the USB Interface Board K8061 K8061.DLL 1 Introduction to the DLL for the USB Interface Board K8061 The K8061 interface board has 8 digital input channels and 8 digital output channels. In addition, there are 8 analogue inputs, 8 analogue

More information

LAMPIRAN A. Listing Program. Program pada Borland Delphi 7.0 A-1 Program pada CodeVisionAVR C Compiler A-6

LAMPIRAN A. Listing Program. Program pada Borland Delphi 7.0 A-1 Program pada CodeVisionAVR C Compiler A-6 A Listing Program Program pada Borland Delphi 7.0 A-1 Program pada CodeVisionAVR C Compiler A-6 LISTING PROGRAM BORLAND DELPHI 7.0 Inisialisasi ==========================================================

More information

Semantics of fork() and exec()

Semantics of fork() and exec() Threads Week 3.2 Threading Issues Semantics of fork() and exec() system calls Signal handling Synchronous and asynchronous Thread cancellation of target thread Asynchronous or deferred Thread-local storage

More information

DETECTION OF WORMHOLE ATTACK IN MOBILE AD-HOC NETWORKS MOJTABA GHANAATPISHEH SANAEI

DETECTION OF WORMHOLE ATTACK IN MOBILE AD-HOC NETWORKS MOJTABA GHANAATPISHEH SANAEI ii DETECTION OF WORMHOLE ATTACK IN MOBILE AD-HOC NETWORKS MOJTABA GHANAATPISHEH SANAEI A project report submitted in partial fulfillment of the requirements for the award of the degree of Master of Computer

More information

REGISTRATION GUIDE MCIS CUSTOMER PORTAL. Page 1

REGISTRATION GUIDE MCIS CUSTOMER PORTAL. Page 1 REGISTRATION GUIDE MCIS CUSTOMER PORTAL Page 1 Customer Portal Registration Guide Go to www.mcis.my and click the Customer Portal tab Page 2 Customer Portal Registration Guide 1. The page shown below will

More information

Использование ассиметричных алгоритмов криптографического преобразования информации в приложениях Windows

Использование ассиметричных алгоритмов криптографического преобразования информации в приложениях Windows Государственное образовательное учреждение высшего профессионального образования «Петербургский государственный университет путей сообщения» Кафедра «Информационные и вычислительные системы» Лабораторная

More information

DELPHI FOR ELECTRONIC ENGINEERS. Part 2 Programming a calculator COURSE

DELPHI FOR ELECTRONIC ENGINEERS. Part 2 Programming a calculator COURSE COURSE DELPHI FOR ELECTRONIC ENGINEERS Part 2 Programming a calculator Herman Bulle with thanks to Anton Vogelaar In the first instalment of this series, we introduced the Delphi programming environment

More information

Cara Login Ke CPanel Hosting.

Cara Login Ke CPanel Hosting. Cara Login Ke CPanel Hosting. Perkara pertama yang perlu dibuat setelah mendapat akaun web hosting adalah anda perlu log masuk ke web hosting cpanel bagi membuat proses instalasi. Pengguna akan menerima

More information

LAMPIRAN A RANGKAIAN SKEMATIK PERANGKAT KERAS

LAMPIRAN A RANGKAIAN SKEMATIK PERANGKAT KERAS LAMPIRAN A RANGKAIAN SKEMATIK PERANGKAT KERAS Instrumentation Amplifier, G=749 +9V 3 5 8 6 1 AD620AN 30K 22K HPF, G=31 HPF, G=2.05-23 5 +9V +9V 1K 8 1K 8 2 2 6 6 3 3 8.2 nf 1 8.2nF 1 5 OP07 5 OP07 220K

More information

HARDWARE/SOFTWARE SYSTEM-ON-CHIP CO-VERIFICATION PLATFORM BASED ON LOGIC-BASED ENVIRONMENT FOR APPLICATION PROGRAMMING INTERFACING TEO HONG YAP

HARDWARE/SOFTWARE SYSTEM-ON-CHIP CO-VERIFICATION PLATFORM BASED ON LOGIC-BASED ENVIRONMENT FOR APPLICATION PROGRAMMING INTERFACING TEO HONG YAP HARDWARE/SOFTWARE SYSTEM-ON-CHIP CO-VERIFICATION PLATFORM BASED ON LOGIC-BASED ENVIRONMENT FOR APPLICATION PROGRAMMING INTERFACING TEO HONG YAP A project report submitted in partial fulfilment of the requirements

More information

VIRTUAL PRIVATE NETWORK: ARCHITECTURE AND IMPLEMENTATIONS

VIRTUAL PRIVATE NETWORK: ARCHITECTURE AND IMPLEMENTATIONS VIRTUAL PRIVATE NETWORK: ARCHITECTURE AND IMPLEMENTATIONS A thesis submitted to the graduate school in partial fulfillment of the requirements for the degree Master of Science (Information Technology)

More information

Registration of Supplier (ROS) TM Supplier Registration Renewal via SUS Portal (Pembaharuan Pendaftaran Pembekal TM melalui SUS Portal)

Registration of Supplier (ROS) TM Supplier Registration Renewal via SUS Portal (Pembaharuan Pendaftaran Pembekal TM melalui SUS Portal) TM SUPPLIER REGISTRATION RENEWAL VIA SUPPLIER SELF-SERVICE (SUS) PORTAL USER GUIDE PEMBAHARUAN PENDAFTARAN PEMBEKAL TM MELALUI SUPPLIER SELF-SERVICE (SUS) PORTAL PANDUAN PENGGUNA Getting Started Step by

More information

UNIVERSITI SAINS MALAYSIA. CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan]

UNIVERSITI SAINS MALAYSIA. CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan] UNIVERSITI SAINS MALAYSIA Second Semester Examination 2014/2015 Academic Session June 2015 CPT111/CPM111 Principles of Programming [Prinsip Pengaturcaraan] Duration : 2 hours [Masa : 2 jam] INSTRUCTIONS

More information

LAMPIRAN A. Foto Alat

LAMPIRAN A. Foto Alat LAMPIRAN A Foto Alat A-1 A-2 Rangkaian Skematik PCB Sistem Monitoring Infus A-3 LAMPIRAN B Program pada Mikrokontroller AVR Atmega16...B-1 Program pada Borlan Delhpi 7.0...B-9 PROGRAM UTAMA /*****************************************************

More information

ISI KANDUNGAN. Tarikh akhir kemaskini: 9 November 2016 Hakcipta Pusat Komputer, UTeM ms 2

ISI KANDUNGAN. Tarikh akhir kemaskini: 9 November 2016 Hakcipta Pusat Komputer, UTeM ms 2 ISI KANDUNGAN UTeM RESEARCH INFORMATION SYSTEM... 3 Pengenalan... 4 Sub Modul Short Term Grant Application... 8 Sub Menu Application... 9 Sub Menu Personel Particulars... 14 Sub Menu List Of Previous Project...

More information

MSS 318 Discrete Mathematics [Matematik Diskret]

MSS 318 Discrete Mathematics [Matematik Diskret] UNIVERSITI SAINS MALAYSIA Second Semester Examination 2009/2010 Academic Session April/May 2010 MSS 318 Discrete Mathematics [Matematik Diskret] Duration : 3 hours [Masa : 3 jam] Please check that this

More information

IMPLEMENTATION OF UNMANNED AERIAL VEHICLE MOVING OBJECT DETECTION ALGORITHM ON INTEL ATOM EMBEDDED SYSTEM

IMPLEMENTATION OF UNMANNED AERIAL VEHICLE MOVING OBJECT DETECTION ALGORITHM ON INTEL ATOM EMBEDDED SYSTEM IMPLEMENTATION OF UNMANNED AERIAL VEHICLE MOVING OBJECT DETECTION ALGORITHM ON INTEL ATOM EMBEDDED SYSTEM CHEONG WEI WEI UNIVERSITI TEKNOLOGI MALAYSIA IMPLEMENTATION OF UNMANNED AERIAL VEHICLE MOVING OBJECT

More information

AN IMPROVED PACKET FORWARDING APPROACH FOR SOURCE LOCATION PRIVACY IN WIRELESS SENSORS NETWORK MOHAMMAD ALI NASSIRI ABRISHAMCHI

AN IMPROVED PACKET FORWARDING APPROACH FOR SOURCE LOCATION PRIVACY IN WIRELESS SENSORS NETWORK MOHAMMAD ALI NASSIRI ABRISHAMCHI AN IMPROVED PACKET FORWARDING APPROACH FOR SOURCE LOCATION PRIVACY IN WIRELESS SENSORS NETWORK MOHAMMAD ALI NASSIRI ABRISHAMCHI A thesis submitted in partial fulfillment of the requirements for the award

More information

Written by Mazuki Izani Thursday, 02 August :00 - Last Updated Tuesday, 03 February :54

Written by Mazuki Izani Thursday, 02 August :00 - Last Updated Tuesday, 03 February :54 Alhamdulillah, dalam keadaan serba kekurangan dan dengan ilmu yang sedikit ini telah berjaya menghasilkan perisian sendiri iaitu Kamus Kata Kerja daripada bahasa Inggeris ke bahasa Arab. Berbekalkan kursus

More information

EEE 428 SISTEM KOMPUTER

EEE 428 SISTEM KOMPUTER UNIVERSITI SAINS MALAYSIA Peperiksaan Semester Pertama Sidang Akademik 2007/2008 Oktober/November 2007 EEE 428 SISTEM KOMPUTER Masa : 3 jam ARAHAN KEPADA CALON: Sila pastikan bahawa kertas peperiksaan

More information

UNIVERSITI SAINS MALAYSIA. CPT113 Programming Methodology & Data Structures [Metodologi Pengaturcaraan & Struktur Data]

UNIVERSITI SAINS MALAYSIA. CPT113 Programming Methodology & Data Structures [Metodologi Pengaturcaraan & Struktur Data] UNIVERSITI SAINS MALAYSIA First Semester Examination 2016/2017 Academic Session December 2016 / January 2017 CPT113 Programming Methodology & Data Structures [Metodologi Pengaturcaraan & Struktur Data]

More information

UNIVERSITI SAINS MALAYSIA. CST232 Operating Systems [Sistem Pengendalian]

UNIVERSITI SAINS MALAYSIA. CST232 Operating Systems [Sistem Pengendalian] UNIVERSITI SAINS MALAYSIA First Semester Examination 2014/2015 Academic Session December 2014/January 2015 CST232 Operating Systems [Sistem Pengendalian] Duration : 2 hours [Masa : 2 jam] INSTRUCTIONS

More information

INSTRUCTION: This section consists of TWO (2) short answer and structured essay questions. Answer ALL questions.

INSTRUCTION: This section consists of TWO (2) short answer and structured essay questions. Answer ALL questions. SECTION B : 55 MARKS BAHAGIAN B : 55 MARKAH INSTRUCTION: This section consists of TWO (2) short answer and structured essay questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan

More information

M2U MANUAL PENGGUNA USER MANUAL M2UNHJ. 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI

M2U MANUAL PENGGUNA USER MANUAL M2UNHJ. 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI M2U MANUAL PENGGUNA USER MANUAL M2UNHJ 0 P a g e BAHAGIAN SIMPANAN DAN PENGELUARAN JABATAN KHIDMAT PENDEPOSIT DAN OPERASI LEMBAGA TABUNG HAJI KANDUNGAN (TABLE OF CONTENTS) BIL PERKARA HALAMAN 1 TERMA DAN

More information

DelphiScript Keywords

DelphiScript Keywords DelphiScript Keywords Old Content - visit altium.com/documentation Modified by on 13-Sep-2017 This reference covers the DelphiScript keywords used for the Scripting System in Altium Designer. The scripting

More information

SECURE-SPIN WITH HASHING TO SUPPORT MOBILITY AND SECURITY IN WIRELESS SENSOR NETWORK MOHAMMAD HOSSEIN AMRI UNIVERSITI TEKNOLOGI MALAYSIA

SECURE-SPIN WITH HASHING TO SUPPORT MOBILITY AND SECURITY IN WIRELESS SENSOR NETWORK MOHAMMAD HOSSEIN AMRI UNIVERSITI TEKNOLOGI MALAYSIA SECURE-SPIN WITH HASHING TO SUPPORT MOBILITY AND SECURITY IN WIRELESS SENSOR NETWORK MOHAMMAD HOSSEIN AMRI UNIVERSITI TEKNOLOGI MALAYSIA SECURE-SPIN WITH HASHING TO SUPPORT MOBILITY AND SECURITY IN WIRELESS

More information

unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, CPort, LPComponent, SLCommonGen, SLSignalGen, Menus, SLComponentCollection, LPDrawLayers,

More information

PERKHIDMATAN KREDIT DAN PERBANKAN PROSEDUR UNIT KOMPUTER. Proses Backup ( Windows) BPKP/KlOK-118 Bilangan Semakan : Q Tarikh :

PERKHIDMATAN KREDIT DAN PERBANKAN PROSEDUR UNIT KOMPUTER. Proses Backup ( Windows) BPKP/KlOK-118 Bilangan Semakan : Q Tarikh : PERKHDMATAN KREDT DAN PERBANKAN PROSEDUR UNT KOMPUTER Proses Backup ( Windows) BPKP/KlOK-118 Bilangan Semakan : Q Tarikh : 30.09.13 Disediakan oleh :- Disahkan oleh :- Pengurus P PERU BAHAN Ubahan Muka

More information

GRADE 11 NOVEMBER 2012 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM

GRADE 11 NOVEMBER 2012 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM Province of the EASTERN CAPE EDUCATION NATIONAL SENIOR CERTIFICATE GRADE 11 NOVEMBER 2012 INFORMATION TECHNOLOGY P1 INLIGTINGSTEGNOLOGIE V1 MEMORANDUM MARKS/PUNTE: 120 This memorandum consists of 10 pages.

More information

DYNAMIC MOBILE SERVER FOR LIVE CASTING APPLICATIONS MUHAMMAD SAZALI BIN HISHAM UNIVERSITI TEKNOLOGI MALAYSIA

DYNAMIC MOBILE SERVER FOR LIVE CASTING APPLICATIONS MUHAMMAD SAZALI BIN HISHAM UNIVERSITI TEKNOLOGI MALAYSIA DYNAMIC MOBILE SERVER FOR LIVE CASTING APPLICATIONS MUHAMMAD SAZALI BIN HISHAM UNIVERSITI TEKNOLOGI MALAYSIA DYNAMIC MOBILE SERVER FOR LIVE CASTING APPLICATIONS MUHAMMAD SAZALI BIN HISHAM A thesis submitted

More information

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions. SECTION B : 55 MARKS BAHAGIAN B : 55 MARKAH INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi TWO (2) soalan berstruktur. Jawab

More information

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions.

INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions. SECTION B : 50 MARKS BAHAGIAN B : 50 MARKAH INSTRUCTION: This section consists of TWO (2) structured questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan berstruktur. Jawab

More information

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan.

INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan. SECTION B: 55 MARKS BAHAGIAN B: 55 MARKAH INSTRUCTION: This section consists of TWO (2) questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi DUA (2) soalan. Jawab SEMUA soalan. QUESTION 1

More information

EEE 348 PENGANTAR REKABENTUK LITAR BERSEPADU

EEE 348 PENGANTAR REKABENTUK LITAR BERSEPADU UNIVERSITI SAINS MALAYSIA Peperiksaan Semester Pertama Sidang Akademik 2007/2008 Oktober/November 2007 EEE 348 PENGANTAR REKABENTUK LITAR BERSEPADU Masa : 3 Jam Sila pastikan kertas peperiksaan ini mengandungi

More information

Signature :.~... Name of supervisor :.. ~NA.lf... l.?.~mk.. :... 4./qD F. Universiti Teknikal Malaysia Melaka

Signature :.~... Name of supervisor :.. ~NA.lf... l.?.~mk.. :... 4./qD F. Universiti Teknikal Malaysia Melaka "I hereby declare that I have read this thesis and in my opinion this thesis is sufficient in term of scope and quality for the reward of the Bachelor' s degree of Mechanical Engineering (Structure and

More information

RESOURCE ALLOCATION SCHEME FOR FUTURE USER-CENTRIC WIRELESS NETWORK WAHEEDA JABBAR UNIVERSITI TEKNOLOGI MALAYSIA

RESOURCE ALLOCATION SCHEME FOR FUTURE USER-CENTRIC WIRELESS NETWORK WAHEEDA JABBAR UNIVERSITI TEKNOLOGI MALAYSIA RESOURCE ALLOCATION SCHEME FOR FUTURE USER-CENTRIC WIRELESS NETWORK WAHEEDA JABBAR UNIVERSITI TEKNOLOGI MALAYSIA Replace this page with form PSZ 19:16 (Pind. 1/07), which can be obtained from SPS or your

More information

YAYASAN KUOK BERHAD Arahan Permohonan

YAYASAN KUOK BERHAD Arahan Permohonan YAYASAN KUOK BERHAD Arahan Permohonan (Klik sini untuk Application Instructions dalam Bahasa Inggeris) 1. Pendaftaran Akaun (Pemohon Baru) 2. Log Masuk 3. Permohonan Atas Talian & Penghantaran 4. Penghantaran

More information

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions.

INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions. SECTION B : 60 MARKS BAHAGIAN B : 60 MARKAH INSTRUCTION: This section consists of FOUR (4) structured questions. Answer ALL questions. ARAHAN: Bahagian ini mengandungi EMPAT (4) soalan berstruktur. Jawab

More information

UNIVERSITI SAINS MALAYSIA. Peperiksaan Semester Pertama Sidang Akademik 2003/2004. September/Oktober 2003

UNIVERSITI SAINS MALAYSIA. Peperiksaan Semester Pertama Sidang Akademik 2003/2004. September/Oktober 2003 UNIVERSITI SAINS MALAYSIA Peperiksaan Semester Pertama Sidang Akademik 2003/2004 September/Oktober 2003 EEE 348E - PENGANTAR REKABENTUK LITAR BERSEPADU Masa: 3jam ARAHAN KEPADA CALON: Sila pastikan bahawa

More information

Registration of Supplier (ROS) TM Supplier Registration Renewal via SUS Portal (Pembaharuan Pendaftaran Pembekal TM melalui SUS Portal)

Registration of Supplier (ROS) TM Supplier Registration Renewal via SUS Portal (Pembaharuan Pendaftaran Pembekal TM melalui SUS Portal) TM SUPPLIER REGISTRATION RENEWAL VIA SUPPLIER SELF-SERVICE (SUS) PORTAL USER GUIDE PEMBAHARUAN PENDAFTARAN PEMBEKAL TM MELALUI SUPPLIER SELF-SERVICE (SUS) PORTAL PANDUAN PENGGUNA Getting Started Step by

More information

ISU DAN CABARAN PELAKSANAAN SISTEM PENGURUSAN KESELAMATAN MAKLUMAT (ISMS) 15 Jun 2016 Dewan Taklimat Serdang

ISU DAN CABARAN PELAKSANAAN SISTEM PENGURUSAN KESELAMATAN MAKLUMAT (ISMS) 15 Jun 2016 Dewan Taklimat Serdang ISU DAN CABARAN PELAKSANAAN SISTEM PENGURUSAN KESELAMATAN MAKLUMAT (ISMS) 15 Jun 2016 Dewan Taklimat Serdang 1 TARIKH AUDIT Audit Dalaman Sistem Pengurusan Keselamatan Maklumat (ISMS) Universiti Putra

More information

NATIONAL SENIOR CERTIFICATE GRADE12

NATIONAL SENIOR CERTIFICATE GRADE12 NATIONAL SENIOR CERTIFICATE GRADE12 INFORMATION TECHNOLOGY P1 NOVEMBER 2016 MEMORANDUM MARKS: 150 This memorandum consists of 32 pages. Information Technology/P1 2 DBE/November 2016 GENERAL INFORMATION:

More information

PENDAFTARAN KURSUS SEMESTER 1 (DEP/DEE) SESI DIS 2017

PENDAFTARAN KURSUS SEMESTER 1 (DEP/DEE) SESI DIS 2017 PENDAFTARAN SEMESTER (DEP/DEE) SESI DIS 07 - SEMASA Compulsory DUB0 Compulsory DUE0 Compulsory **DRB000 0 4 Common Core DUW0 5 Common Core DBM0 6 Common Core DBS0 7 Discipline Core DET0 8 Discipline Core

More information

UNIT Files. Procedure/Functionand Other Declarations (CONST, TYPE, VAR) can be stored under different Object Pascal Files (Library).

UNIT Files. Procedure/Functionand Other Declarations (CONST, TYPE, VAR) can be stored under different Object Pascal Files (Library). Basics of Language UNIT Files Basics of Language UNIT Files UNIT Files Procedure/Functionand Other Declarations (CONST, TYPE, VAR) can be stored under different Object Pascal Files (Library). You can reduce

More information