Lampiran 1 – Implementasi Stored Procedure Nama Stored Procedure: PagingInfo CREATE PROC [dbo].[ PagingInfo] @hai varchar(20) output as declare @susu int, @sisi int select @susu= max(len(infoid)) from info select @sisi=(select top 1 convert(int,substring(infoid,5,@susu))from info order by 1 desc) + 1 select @hai= 'info'+cast(@sisi as varchar)
Nama Stored Procedure: Chk_Login CREATE PROC [dbo].[chk_login] @user varchar(10), @pass varchar(150) as select u.*, url from mst_User u join mst_groupUser g on u.groupUser=g.groupUser where u.userID=@user and passwordUser=@pass
Nama Stored Procedure: Ambiluser CREATE PROC [dbo].[ambilUser] @p1 varchar(20),@p2 varchar(100)
L- 1
as
if (substring(@p1,1,1)='t') begin select a.userid,url from mst_user a join mst_trainer b on a.userid=b.userid join mst_groupuser c on a.groupuser=c.groupuser where trainerid=@p1 and passworduser=@p2 end else if (substring(@p1,1,1)='s') begin select a.userid,url from mst_user a join mst_sales b on a.userid=b.userid join mst_groupuser c on a.groupuser=c.groupuser where salesid=@p1 and passworduser=@p2 end else if (substring(@p1,1,1)='m') begin select a.userid,url from mst_user a join mst_manager b on a.userid=b.userid join mst_groupuser c on a.groupuser=c.groupuser where managerid=@p1 and passworduser=@p2 end
L- 2
Nama Stored Procedure: Insertuser CREATE PROC [dbo].[InsertUser] @pass varchar(100),@group varchar(20),@fname varchar(20),@lname varchar(20),@sex varchar(20), @address varchar(100),@telp varchar(20),@dob datetime,@post varchar(20),@rel varchar(20) as declare @nilai int, @awal char,@id varchar(20) if @group='group1' set @awal='s' else if @group='group2' set @awal='t' else if @group='group3' set @awal='m' else if @group='group5' set @awal='f' select @nilai = max(len(userid)) from mst_user where substring (userid,1,1)=@awal select @id= @awal+convert(varchar(20),max(cast(substring(userid,2,@nilai)as int)+1)) from mst_user where substring (userid,1,1)=@awal insert into mst_user (userid,passworduser,groupuser,fname,lname,sex,address,telno,dob,postcode,
L- 3
religion,[image],startdate) select @id,@pass,@group,@fname,@lname,@sex,@address,@telp,@dob,@post,@rel,' default.jpg',getdate() select @id Nama Stored Procedure: Insertcourse CREATE PROC [dbo].[ InsertCourse] @name varchar(100),@price money,@id varchar(20),@cate varchar (6),@curr varchar(6) as declare @susu int, @sisi int, @hai varchar(20) select @susu= max(len(coursecode)) from mst_course select @sisi=(select top 1 convert(int,substring(coursecode,3,@susu))from mst_course order by 1 desc) + 1 select @hai= 'CC'+cast(@sisi as varchar) insert into mst_course values(@hai,@name,@price,@id,@cate,@curr,1) Nama Stored Procedure: Ins_Contact CREATE PROC [dbo].[ins_contact] @conname varchar(20),@contit varchar (20), @dep varchar(20),@fax varchar(20),@email varchar(20) as declare @ret int set @ret = (select max(cast(substring(contactID,3,3) as int)) from mst_contact) if(@ret is null)
L- 4
begin set @ret=0 end insert into mst_contact select 'CP'+convert(varchar(3), @ret+1), @conname,@contit,@dep,@fax,@email Nama Stored Procedure: Ins_Customer CREATE PROC [dbo].[ins_customer] @NPWP varchar(20),@comname varchar(20),@address varchar(50), @city varchar (20),@post varchar (6),@phone varchar (20),@fax varchar (20),@desc varchar (100) as Declare @ret int set @ret = (select max(cast(substring(customerID,2,3) as int)) from mst_customer) if(@ret is null) begin set @ret=0 end insert into mst_customer select 'C'+convert(varchar(10), @ret+1),
L- 5
@comname,@address,'CP'+convert(varchar(3),(select max(cast(substring(contactID,3,3) as int)) from mst_contact)), @NPWP,@phone,@city,@post,@fax,@desc Nama Stored Procedure: Ins_Detailnego CREATE PROC [dbo].[ins_detailNego] @note varchar(500) as insert into trn_detailNegotiation select 'Call'+convert(varchar(3),(select max(cast(substring(callID,5,4) as int)) from trn_negotiation)), GETDATE(), @note Nama Stored Procedure: Ins_Invoice CREATE PROC [dbo].[ins_invoice] @noid char(10), @no char(10), @nama char(5), @cur char(5), @inv_date char(10), @rec_name varchar(20), @keterangan varchar(50) as declare @ret int set @ret = (select max(cast(substring(invoiceID,4,4) as int)) from trn_Invoice) if(@ret is null) begin set @ret=0 end insert into trn_Invoice
L- 6
select 'inv'+convert(varchar(3), @ret+1), @no, @noid, @nama, @cur,@inv_date, GETDATE(), @rec_name, NULL, @keterangan Nama Stored Procedure: Ins_Nego CREATE PROC [dbo].[ins_nego] @sales char(5) as declare @ret int set @ret = (select max(cast(substring(callID,5,4) as int)) from trn_negotiation) if(@ret is null) begin set @ret=0 end insert into trn_negotiation select 'Call'+convert(varchar(3), @ret+1), @sales, 'C'+convert(varchar(3),(select max(cast(substring(customerID,2,3) as int)) from mst_customer)),1 Nama Stored Procedure: Ins_Skill CREATE PROC [dbo].[ins_skill] @p1 varchar(50),@trainerid as varchar(50),@sdate datetime,@edate datetime as declare @id varchar(50) if exists(select * from mst_skill where skillname=@p1) begin
L- 7
select @id=skillcode from mst_skill where skillname=@p1 insert into trn_detailskill values (@trainerid,@id,1,@sdate,@edate,getdate()) end else begin declare @nilai int select @nilai = max(len(skillcode)) from mst_skill insert into mst_skill select (select 'SK'+convert(varchar(20),max(cast(substring(skillcode,3,@nilai)as int)+1)) from mst_skill) ,@p1 select @id=skillcode from mst_skill where skillname=@p1 insert into trn_detailskill values (@trainerid,@id,1,@sdate,@edate,getdate()) end Nama stored procedure: ins_SO CREATE PROC [dbo].[ins_SO] @callid varchar(10), @course varchar(10), @trainer varchar(10), @so varchar(20), @po varchar(20), @ikut int, @mulai varchar(20), @akhir varchar(20), @hari int, @chk1 varchar(20), @diskon decimal, @SAP varchar(20),
declare @ret int, @book int, @share int set @ret = (select max(cast(substring(SOID,3,4) as int)) from trn_headerSO) if(@ret is null) begin set @ret=0 end if(@chk1 is null) begin set @book=0 end else begin set @book=1 end if(@SAP is null) begin set @share=0 end else
L- 9
begin set @share=1 end insert into trn_headerSO select 'SO'+convert(varchar(3), @ret+1), @callid, @course, @trainer, NULL,1, @so, @sodate, @po, @podate, @ikut, @mulai,@akhir,@hari,NULL, NULL, @book, @diskon, 10, @share, @remark, @ttlrp, @ttldolar,0 Nama Stored Procedure: Ins_Participant CREATE PROC [dbo].[Ins_Participant](@soid varchar(20),@name varchar(100)) as declare @nilai int select @nilai=(max(noseq))+1 from trn_detailproses where soid=@soid if @nilai is not null begin insert into trn_detailproses values(@soid,@nilai,@name) end else begin insert into trn_detailproses values(@soid,1,@name) end Nama Stored Procedure: Paging_Course CREATE PROC [dbo].[ Paging_Course]
L- 10
@intPageNum int As Declare @aku int, @strQuery nvarchar(1000), @intNumOfRecords int, @intTotal int Set @intNumOfRecords=10 Set @aku=@intPagenum-1 Set @intTotal = @intNumOfRecords * @aku Set @strQuery = 'Select TOP ' + Cast(@intNumOfRecords as Varchar(5)) + ' coursename,courseprice,bookname From mst_course a join mst_book b on a.bookid=b.bookid' Set @strQuery = @strQuery + ' Where coursecode Not in (Select TOP ' + Cast(@intTotal as Varchar(5)) Set @strQuery = @strQuery + ' coursecode From mst_course Order By coursecode ) ' Exec sp_executesql @strQuery Nama Stored Procedure: Sel_Profile CREATE PROC [dbo].[ Sel_Profile] @p1 varchar(10) as select fname,lname,sex,address,telNo,DOB,postCode,religion,startdate,[image] from mst_user where userid=@p1 Nama Stored Procedure: Detil_SO CREATE PROC [dbo].[Detil_SO] (@soid varchar(20))
L- 11
as select (select fname+' '+lname from mst_user where userid=c.trainerid)as trainername, (select fname+' '+lname from mst_user where userid=b.managerid)as managername, (select fname+' '+lname from mst_user where userid=g.salesid) as salesname, invoiceid,h.name as 'customer name',h.address,i.name as 'contact person',j.coursename, participantname,a.numstudent,a.numday,a.totalprice from trn_headerso a join mst_manager b on a.managerid=b.managerid join mst_trainer c on a.trainerid=c.trainerid join mst_user d on d.userid=c.userid join trn_headerproses e on e.soid=a.soid join trn_invoice f on f.soid=e.soid join trn_negotiation g on g.callid=a.callid join mst_customer h on h.customerid=g.customerid join mst_contact i on i.contactid=h.contactid join mst_course j on a.coursecode=j.coursecode join trn_detailproses z on z.soid=e.soid where a.soid=@soid Nama Stored Procedure: Sp_Detailso CREATE PROC [dbo].[sp_detailSO] @exp varchar(20) as
L- 12
declare @ret int set @ret = (select max(cast(substring(SOID,3,4) as int)) from trn_headerSO)
insert into trn_detailSO select 'SO'+convert(varchar(3), @ret), @exp, GETDATE() Nama Stored Procedure: Sp_Exp CREATE PROC [dbo].[sp_exp] @nama varchar(20), @price decimal as declare @ret int set @ret = (select max(cast(substring(expenditureCode,4,4) as int)) from mst_addExpenditure) if(@ret is null) begin set @ret=0; end insert into mst_addExpenditure select 'exp'+convert(varchar(3), @ret+1), @nama, @price Nama Stored Procedure: Sp_Menu CREATE PROC [dbo].[sp_menu] @userid varchar(20) as declare @menuid varchar(20)
L- 13
select @menuid=(select menuid from mst_user a join mst_groupuser b on a.groupuser=b.groupuser where userid=@userid)
select menudetaillabel,url from mst_menudetail where menuid=@menuid Nama Stored Procedure: Sp_Pay CREATE PROC [dbo].[sp_pay] @inv varchar(10),@an varchar(15),@f varchar(5), @pay varchar(20) as begin insert into trn_payment select @inv,@an,@f,GETDATE(),@pay; End Nama Stored Procedure: Sp_Schedule CREATE PROC [dbo].[sp_schedule] @p1 varchar(20) as select coursename,convert(varchar,begindate,103),convert(varchar,enddate,103),numstu dent from trn_headerso a join mst_course b on a.coursecode=b.coursecode
L- 14
where trainerid like @p1 and statuscode=2
Nama Stored Procedure: Updskill CREATE PROC [dbo].[UpdSkill] @p1 varchar(100),@p2 varchar(100) as update trn_detailskill set flagkindskill=0 where trainerid=@p1 and skillcode=@p2
Lampiran 2 – Implementasi Trigger
Nama Trigger: Total CREATE TRIGGER [dbo].[total] ON [dbo].[trn_Invoice] AFTER INSERT, UPDATE AS update trn_invoice set totalprice = dbo.kurs(i.SOID) from trn_invoice t, INSERTED i where t.invoiceid=i.invoiceid
L- 15
Lampiran 3 – Implementasi Function Nama Function: Kurs CREATE FUNCTION [dbo].[kurs] (@soid char(10)) RETURNS decimal AS BEGIN DECLARE @ret decimal, @ret2 decimal, @ttl decimal declare @tax decimal, @disc decimal SELECT @ret = [value] FROM SIS2.dbo.mst_currencyRate select @ret2 = rpprice + (dollarprice * @ret) from trn_headerSO where soid=@soid select @disc = @ret2 * (discount / 100) from trn_headerSO where soid=@soid set @ttl = @ret2 + @disc select @tax = @ttl * (tax / 100) from trn_headerSO where soid=@soid set @ttl = @ret2 - @tax RETURN ( @ttl ) END
Lampiran 4 – Implementasi AJAX Dibawah ini merupakan contoh HTML form dan link ke JavaScript: Training.php <script src="../js/sales_training.js">
L- 16
<script src="../tes/datetimepicker.js"> <script language="JavaScript"> function paste(nama){form1.txtnama.value=nama;} function upso(str){form1.noso.value=str.toUpperCase();} function uppo(str){form1.nopo.value=str.toUpperCase();} function tgl(str,str2){ var dateBits = str.split('/'); if(dateBits[0].length==1) dateBits[0]='0'+dateBits[0]; if(dateBits[1].length==1) dateBits[1]='0'+dateBits[1]; if(str2=='so') form1.sodate.value=dateBits[0]+'/'+dateBits[1]+'/'+dateBits[2]; else
Ajax JavaScript Kode JavaScript disimpan dalam file "salesajax.js": // JavaScript Document //ajax var xmlHttp
function shown(str, str2, str3) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return }
L- 27
type="reset"
class="buttonsearch"
if(str=='upload') { var url="upload.php"; xmlHttp.onreadystatechange=stateChanged } else if(str=='ins_company') { var url="ins_company.php"; xmlHttp.onreadystatechange=stateChanged } else if(str=='ins_customer'){ var url="ins_customer.php"; xmlHttp.onreadystatechange=stateChanged } else if(str=='up_customer'){ var url="up_customer.php?id="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged } else if(str=='ins_pay'){ var url="addpay.php?id="+str2+"&uang="+str3+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged } else if(str=='company'){ var url="detail_company.php?idcom="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged
L- 28
} else if(str=='ins_note'){ var url="ins_note.php?id="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged } else if(str=='CP' && str2!=''){ var url="contact_person.php?idcom="+str2; xmlHttp.onreadystatechange=stateChanged2 } else if(str=='course' && str2!=''){ var url="course.php?id="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged } else if(str=='detailTrainer' && str2!=''){ var url="detailTrainer.php?id="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged2 } else if(str=='flow' && str2!=''){ var url="bln_thn.php?id="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged2 } else if(str=='flow2' && str2!=''){ var url="bln_thn2.php?id="+str2+"&sid="+Math.random();
L- 29
xmlHttp.onreadystatechange=stateChanged } else if(str=='sugesti' && str2!=''){ var url="sugesti.php?id="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged3 } else if(str=='name' && str2!=''){ var url="name.php?id="+str2+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged }
xmlHttp.open("GET",url,true) xmlHttp.send(null) }
function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint").innerHTML=xmlHttp.responseText } } function stateChanged2()
L- 30
{ if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint2").innerHTML=xmlHttp.responseText } } function stateChanged3() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint3").innerHTML=xmlHttp.responseText } }
function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e)
var popup="Sorry ya ga bisa klik kanan!!!\n\nAnugerah Trihatmojo"; function noway(go) { if (document.all) { if (event.button == 2) { alert(popup); return false; } } if (document.layers) {
Lampiran 5 – Implementasi Index create unique clustered index PK_news on Info (InfoID) create unique clustered index PK_mst_accountCode on mst_account (accountCode) create nonclustered index idx_expenditureName on mst_account (accountCode) create unique clustered index PK_mst_admin on mst_admin (adminID) create unique clustered index PK_mst_book on mst_book (bookID) create unique clustered index PK_mst_category on mst_category (categoryCode) create nonclustered index idx_categoryName on mst_category (categoryName) create unique clustered index PK_mst_companyInfo on mst_ companyInfo (companyInfo) create unique clustered index PK_mst_contact on mst_ contact (contactID)
L- 34
value="..." $id
?>','','status=0,
create nonclustered index idx_contactName on mst_contact (contactName) create unique clustered index PK_mst_cooperation on mst_ cooperation (cooperationCode) create unique clustered index PK_mst_course on mst_ course (courseCode) create nonclustered index idx_courseName on mst_course (courseName) create nonclustered index idx_bookID on mst_course (bookID) create nonclustered index idx_categoryCode on mst_course (categoryCode) create nonclustered index idx_currencyCode on mst_course (currencyCode) create unique clustered index PK_mst_currency on mst_currency (currencyCode) create nonclustered index idx_currencyName on mst_currency (currencyName) create unique clustered index PK_mst_currencyRate on mst_currencyRate (currencyCode) create unique clustered index PK_mst_customer on mst_customer (customerID) create nonclustered index idx_customerName
L- 35
on mst_customer (customerName) create nonclustered index idx_contactID on mst_customer (contactID) create unique clustered index PK_mst_error on mst_error (errorCode) create nonclustered index idx_errorName on mst_error (errorName) create unique clustered index PK_mst_finance on mst_finance (financeID) create unique clustered index PK_mst_groupUser on mst_groupUser (groupUser) create nonclustered index idx_menuID on mst_groupUser (menuID) create unique clustered index PK_mst_kindContactPerson on mst_kindContactPerson (kindContactPersonCode) create unique clustered index PK_mst_kindSalary on mst_kindSalary (kindSalaryCode) create unique clustered index PK_mst_kindSkill on mst_kindSkill (kindSkillID) create unique clustered index PK_mst_kindTrainer on mst_kindTrainer (kindTrainerCode) create nonclustered index idx_kindTrainer on mst_kindTrainer (kindTrainer)
L- 36
create unique clustered index PK_mst_manager on mst_manager (managerID) create unique clustered index PK_mst_menu on mst_menu (menuID) create unique clustered index PK_mst_menuDetail on mst_menuDetail (menuID) create unique clustered index PK_mst_recipient on mst_recipient (recipinetID) create unique clustered index PK_mst_sales on mst_sales (salesID) create unique clustered index PK_mst_skill on mst_skill (skillCode) create unique clustered index PK_mst_status on mst_status (statusCode) create unique clustered index PK_mst_telephone on mst_telephone (contactID) create unique clustered index PK_mst_trainer on mst_trainer (trainerID) create unique clustered index PK_mst_user on mst_user (userID) create nonclustered index idx_passwordUser on mst_user (passwordUser) create nonclustered index idx_groupUser
L- 37
on mst_user (groupUser) create unique clustered index PK_trn_detailHonorTrainer on trn_detailHonorTrainer (trainerID) create unique clustered index PK_trn_detailInvoice on trn_detailInvoice (invoiceID, noSeq) create nonclustered index idx_ParticipantID on trn_detailInvoice(groupUser) create unique clustered index PK_trn_detailNegotiation on trn_detailNegotiation (callID,callDate) create unique clustered index PK_trn_detailProses on trn_detailProses (SOID,noSeq) create unique clustered index PK_trn_detailSkill on trn_detailSkill (trainerID, skillCode) create unique clustered index PK_trn_detailSO on trn_detailSO (SOID,ExpenditureCode) create unique clustered index PK_trn_headerProses on trn_headerProses (SOID) create nonclustered index idx_trainerID on mst_headerProses (trainerID) create nonclustered index idx_adminID on mst_headerProses (adminID) create unique clustered index PK_trn_headerSO on trn_headerSO (SOID)
L- 38
create nonclustered index idx_callID on mst_headerSO (callID) create nonclustered index idx_courseCode on mst_headerSO (courseCode) create nonclustered index idx_trainerID on mst_headerSO (trainerID) create nonclustered index idx_managerID on mst_headerSO (managerID) create nonclustered index idx_statusCode on mst_headerSO (statusCode) create nonclustered index idx_currencyCode on mst_headerSO (currencyCode) create unique clustered index PK_trn_invoice on trn_invoice (invoiceID) create nonclustered index idx_SOID on mst_invoice (SOID) create nonclustered index idx_financeID on mst_invoice (financeID) create unique clustered index PK_trn_negotiation on trn_negotiation (callID) create nonclustered index idx_salesID on mst_negotiation (salesID) create nonclustered index idx_customerID
L- 39
on mst_customerID (customerID) create unique clustered index PK_trn_payment on trn_payment (invoiceID) create nonclustered index idx_accountCode on mst_payment (accountCode) create nonclustered index idx_financeID on mst_payment (financeID)
Lampiran 6 – Implementasi User Dan Hak Akses EXEC sp_addlogin @loginame = 'portal', @passwd = 'portal', @defdb = 'SIS2' EXEC sp_grantdbaccess 'Portal'
grant select on trn_headerso to portal grant select on mst_status to portal grant select on mst_companyinfo to portal grant select on mst_cooperation to portal grant select,update on mst_user to portal grant select on mst_groupuser to portal grant select on mst_menudetail to portal grant select on info to portal grant select on mst_error to portal grant select on trn_detailSO to portal grant select on mst_addExpenditure to portal
L- 40
grant exec on chk_login to portal EXEC sp_addlogin @loginame = 'sales', @passwd = 'sales', @defdb = 'SIS2' EXEC sp_grantdbaccess 'Sales' grant select on mst_course to Sales grant update on mst_contact to Sales grant select,update,delete on mst_customer to Sales grant select,delete on mst_contact to Sales grant select,update on trn_negotiation to Sales grant select,insert on trn_detailNegotiation to Sales grant select,update on mst_user to Sales grant select on trn_headerso to Sales grant select on mst_addExpenditure to Sales grant select,update
on mst_customer to Sales
grant select on mst_contact to Sales grant select on trn_detailHonorTrainer to Sales grant select on mst_book to Sales grant select on mst_status to Sales grant select on trn_detailSkill to Sales grant select on mst_skill to Sales grant select on mst_trainer to Sales grant select,update
on mst_user to Sales
grant select on mst_category to Sales grant select on mst_error to Sales
L- 41
grant select on trn_detailNegotiation to Sales grant select on mst_menuDetail to Sales grant select on trn_detailSO to Sales grant exec on ins_SO to Sales grant exec on ins_contact to Sales grant exec on ins_customer to Sales grant exec on ins_nego to Sales grant exec on ins_detailNego to Sales grant exec on sp_detailSO to Sales grant exec on sp_schedule to Sales exec sp_addlogin @loginame='admin',@passwd='admin',@defdb='SIS2' exec sp_grantdbaccess 'Admin' grant select on mst_error to Admin grant select,update on mst_user to Admin grant select on mst_menudetail to Admin grant insert on mst_sales to Admin grant insert on mst_trainer to Admin grant insert on mst_manager to Admin grant select,update on trn_headerproses to Admin grant insert on trn_detailproses to Admin grant select on trn_headerso to Admin grant select,update,delete,insert on mst_cooperation to Admin grant select,update,delete,insert on info to Admin
L- 42
grant select,update,delete,insert on mst_course to Admin grant select,update,delete,insert on mst_book to Admin grant exec on prof to Admin grant exec on dije to Admin grant exec on gugi to Admin exec sp_addlogin @loginame=’finance’,@passwd=’finance’,@defdb='SIS2' exec sp_grantdbaccess 'finance' grant select, update on mst_user to Finance grant select on trn_headerProses to Finance grant select on trn_headerSO to Finance grant select on trn_Invoice to Finance grant select on mst_currency to Finance grant select on mst_sales to Finance grant select on mst_error to Finance grant select on mst_menuDetail to Finance exec sp_addlogin @loginame=’manager’,@passwd=’manager’,@defdb='SIS2' exec sp_grantdbaccess 'manager' grant select,update on mst_user to Manager grant select,update on trn_headerso to Manager grant select on trn_detailSO to Manager grant select on mst_addExpenditure to Manager grant select on mst_course to Manager grant select on mst_category to Manager
L- 43
grant select on trn_negotiation to Manager grant select on mst_error to Manager grant select on mst_menuDetail to Manager grant select on mst_status to Manager grant select on trn_detailSkill to Manager grant exec on sp_schedule to Manager EXEC sp_addlogin @loginame = 'trainer', @passwd = ‘trainer’, @defdb = 'SIS2' EXEC sp_grantdbaccess 'trainer' grant select on trn_detailskill to Trainer grant select on mst_skill to Trainer grant select on mst_error to Trainer grant select on mst_menuDetail to Trainer grant select,update on mst_user to Trainer grant select on mst_course to Trainer grant insert,update on trn_detailskill to Trainer grant insert on mst_skill to Trainer grant exec on ins_skill to Trainer grant exec on sp_schedule to Trainer grant exec on oke to Trainer grant exec on paging to Trainer grant exec on prof to Trainer
L- 44
Lampiran 7 – Wawancara Interviewee: Ellen Plessers Position: Training Manager Pertanyaan: “Pada divisi ini mengapa perlu dibangun suatu sistem terkomputerasi yang menghubungkan antara sales, training, manager, dan finance?” Jawab: ”Sebenarnya pada divisi training, kami mempunyai sistem pendaftaran pelatihan tapi masih secara manual. Dengan sistem ini untuk mendapatkan data agak lambat dan dalam pencarian data agak sulit menyebabkan penyampaian data antara sales, training, manager, finance. Dengan dibangun sebuah sistem yang mengintegrasikan antara sales, training, manager, finance diharapan dapat mempercepat penyampaian data dan lebih akurat, ini dapat meningkatkan kinerja kerja kami mulai dari pendaftraran pelatihan sampai pembayaran pelatihan.”
Pertanyaan: ”Apa tujuan objektive yang anda harapkan dari sistem ini?” Jawab: ”Saya berharap sistem ini dapat merekam negosiasi antara sales dan pelanggan, melakukan pendaftaran pelatihan, membuat laporan purchase dan sales order, menghasilkan jadwal pelatihan untuk pelanggan dan trainer, mengeluarkan invoice (penagihan), dan melakukan pembayaran.
L- 45
Pertanyaan: ”Berapa banyak karyawan yang ada dalam divisi ini?” Jawab: ”Pada divisi training ini ada 16 orang karyawan, yaitu 6 orang sales, 4 orang trainer, 1 orang finance, 2 orang teknikal support, dan 3 orang manager.”
Pertanyaan: ”Apakah tugas dari masing-masing bagian?” Jawab: ”Tugas sales yaitu menawarkan pelatihan kepada para pelanggan (perusahaan) yang membutuhkan pelatihan karyawan untuk membantu pekerjaan dan profesi mereka. Proses ini dilakukan melalui via telephone, jika mereka setuju untuk melakukan pelatihan maka pihak sales mengirimkan perincian pelatihan yang mereka inginkan melalui fascimile. Setelah perincian tersebut dikirim kembali dengan persetujuan, lalu pihak sales mendaftarkan mereka untuk pelatihan. Pendaftaran pelatihan diterima atau ditolak tergantung oleh keputusan dari manager. Tugas trainer yaitu melakukan pelatihan sesuai dengan modul yang dipesan oleh pelanggan. Tugas dari seorang finance adalah untuk menangani penagihan dan pembayaran pelatihan.
L- 46
Interviwee: Ronny Yusuf Posititon: Staff Trainer Pertanyaan: “Apakah anda merasa perlu adanya sistem yang terkomputerisasi pada divisi ini?” Jawab: “Perlu, saat ini proses penyampaian data lambat dan memakan waktu untuk mencari data, terutama data pelanggan. Saya berharap dengan adanya sistem terkomputerisasi nantinya dapat mempermudah pekerjaan saya dan perkejaan kawankawan.”
Pertanyaan: “Yang anda tahu berapa banyak pelatihan yang anda lakukan per bulan?” Jawab: “Pelatihan per bulannya rata-rata ya sebanyak 10 sampai 12 pelatihan, itu juga biasanya yang durasinya 2 sampai 3 hari saja. Misalnya pelatihan Microsoft Office”
Pertanyaa: “Skill atau kemampuan apa saja yang harus anda miliki?” Jawab: “Waktu pertama saya bergabung dengan Asaba Computer Center Training Division, saya lulusan S1 dengan kemampuan PHP, Microsoft SQL SERVER 2000, dan ORACLE lalu saya dilatih lagi oleh Asaba untuk menjadi trainer yang menangani
L- 47
pelatihan Microsoft OFFICE, SQL SERVER 2000, dan ORACLE. Setelah itu saya menambah kemampuan saya dengan mengambil pelatihan lain.”
Pertanyaan: “Orang-orang yang anda latihan apa profesi mereka?” Jawab: “Kebanyakkan mereka berprofesi sebagai IT Staff dari masing-masing perusahaan, ada yang dari PT Pertamina, PT Bank Niaga, PT Sinarmas dan banyak lagi. Mereka melakukan pelatihan karena dorongan dari perkembangan teknologi yang semakin maju dan itu juga pasti dorongan dari atasan mereka kalo engga gimana bayar pelatihan yang sampai puluhan juta ini?”
Pertanyaan: ”Mengapa PT Asaba Computer Center terkenal sebagai IT Provider belum mempunyai sistem pada training division?” Jawab: ”Karena para karyawan sibuk akan mengerjakan proyek masing-masing, dengan kata lain tidak ada waktu untuk membangun sistem pendaftaran pelatihan pada training division”