TUNTUNAN LATIHAN LATIHAN 1. Membuat Database Membuat database SQL Server dengan nama APLIKASI Langkah : 1. Buka tampilan SQL Server Enterprise Manager. 2. Pada Enterprise Manager, klik icon Microsoft SQL Server lalu bukalah server. Klik tombol mouse kanan pada folder Database lalu pilih New Database.
3. Ketikkan nama untuk database ini adalah Aplikasi pada kotak dialog yang muncul.
4. Klik tombol OK jika telah selesai mengatur database.
Membuat tabel dengan struktur di bawah ini Tabel Nasabah NONASABAH NAMA KTP TGLLAHIR TMPLAHIR ALAMAT KODEPOS TELP JNSKEL AGAMA
INT CHAR CHAR DATETIME CHAR CHAR CHAR CHAR CHAR CHAR
4 25 15 8 20 30 5 12 10 10
Key
Langkah : 5. Perbesar folder Database dan database tempat pembuatan tabel. 6. Klik tombol kanan mouse pada folder Tabel dan pilih New Tabel. 7. Tulis nama tabel Nasabah yang akan dibuat pada toolbox Choose Name.
Gambar Toolbox Choose Name 8. Setelah muncul window New Table, tuliskan nama field dan lengkapi sesuai dengan struktur tabel yang akan dibuat.
Selanjutnya dengan cara yang sama dengan di atas buatlah tabel di bawah ini : Tabel Rekening NOREK JENISTAB BUNGA SALDOAWAL SALDOAKHIR TGLBUKA STATUSAKTIF NONASABAH
NUMERIK CHAR NUMERIK NUMERIK NUMERIK DATETIME BLT INT
9 2 5 9 9 8 1 12
Key
Tabel Aktifitas JNSTRAN KETERANGAN
CHAR CHAR
2 20
Key
Tabel Tabungan JNSTAB KETERANGAN BUNGA
CHAR CHAR NUMERIC
2 20 5,2
Key
Tabel Transaksi NOREK NOTRAN TGLTRAN WAKTU JNSTRAN JUMLAH STAFFID STAFFIDSP
NUMERIK CHAR DATETIME DATETIME CHAR NUMERIK CHAR CHAR
9 2 8 8 2 9 3 3
Key Key
Tabel Staff STAFF_ID DEPT NAMA OTOR BATAS
CHAR CHAR CHAR CHAR NUMERIK
3 2 10 1 9
Key
LATIHAN 2. Adodc Dan Ado Object 2.1. Menghubungkan Program VB dengan Database SQL Server / Binding. Database yang digunakan adalah database APLIKASI, tabel yang digunakan adalah tabel STAFF.
DESIGN TAMPILAN PROGRAM
Aktifkan terlebih dahulu control ADODC dengan cara click kanan pada tollbar, pilih Components, beri tanda check pada Microsoft ADO Data Control 6.0, lalu clik OK. Lakukan cara yang sama untuk mengaktifkan control Microsoft DataGrid Control 6.0, lalu clik OK. LANGKAH-LANGKAH SETTING PROPERTIES ADODC. Pilih properties Connection String Pilih option Use Connection String lalu clik buttong Build Pada tab Provider pilih Microsoft OLE DB Provider for SQL Server lalu clik Next Pada tab Connection : 1. Select or enter a server name : USERXX 2. Enter information to log on to the server 3. Select the database on the server : APLIKASI Test Connection, OK
SETTING PROPERTIES
NAMA PROPERTIES CONTROL/OBJEK Name Form1 Caption Name Adodc1 Caption Connectionstring
Label1 Label2 Label3 Label4 Label5 Text1 Text2 Text3 Text4 Text5 Command1 DataGrid1
Command Type Record Source Caption Caption Caption Caption Caption DataSource DataField DataSource DataField DataSource DataField DataSource DataField DataSource DataField Caption Caption DataSource
CODING PROGRAM Private Sub Command1_Click() Unload Me End Sub
NILAI FrmStaff Form Staff AdoStaff STAFF Provider=SQLOLEDB.1; Persist Security Info=False; User ID=sa; Initial Catalog=APLIKASI; Data Source= USERXX 2-adCmdTable STAFF Staff ID Departemen Nama Staff Otoritas Batas AdoStaff STAFF_ID AdoStaff DEPT AdoStaff NAMA AdoStaff OTOR AdoStaff BATAS Tutup DATA STAFF AdoStaff
2.2. Menghubungkan Program VB dengan Database SQL Server / Koneksi melalui Coding. Database yang digunakan adalah database APLIKASI, tabel yang digunakan adalah tabel NASABAH.
DESIGN TAMPILAN PROGRAM
SETTING PROPERTIES
NAMA PROPERTIES CONTROL/OBJEK Name Form2 Caption Name Adodc1 Caption Visible Caption Label1 Caption Label2 Caption Label3 Caption Label4 Caption Label5 Caption Label6 Caption Label7 Caption Label8 Caption Label9 Name Text1 Name Text2 Name Text3 Name Text4 Name Text5 Name Text6 MultiLine ScrollBars Name Text7 Name Text8 Caption Frame1 Caption Frame2 Caption Frame Name Option1 Option Name Option2 Option Name Combo1 DataSource DataField Name Command1
NILAI FrmNasabah From Nasabah AdoNasabah Nasabah False No Nasabah Nama Nasabah No KTP Tempat Lahir Tanggal Lahir Agama Alamat Kode Pos Telepon TxtNoNasabah TxtNamaNasabah TxtKTP TxtTmpLahir TxtTglLahir TxtAlamat True 1-Horizontal TxtKodePos TxtTelp Jenis Kelamin Scrolling Data Manipulasi Data OptLaki Laki-laki OptPer Perempuan CboAgama AdoNasabah AGAMA CmdPertama
Command2 Command3 Command4 Command5 Command6 Command7 Command8 Command9 Command10
Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption
Pertama CmdMundur Mundur CmdMaju Maju CmdAkhir Akhir CmdTutup Tutup CmdDataBaru Data Baru CmdUpdate Update CmdHapus Hapus CmdBatal Batalkan CmdCariData Cari Data
CODING PROGRAM Dim ConNas As String
'********* Variabel untuk parameter koneksi
Private Sub Form_Load() '********* Koneksi Ke Database dan Tabel ConNas = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX" AdoNasabah.ConnectionString = ConNas AdoNasabah.CommandType = adCmdText AdoNasabah.RecordSource = "Select * from NASABAH" AdoNasabah.Refresh Tampil '********* Pemanggilan Prosedur yang bernama Tampilkan With CboAgama .AddItem "Islam" .AddItem "Kristen Protestan" .AddItem "Kristen Katolik" .AddItem "Hindu" .AddItem "Budha" End With End Sub Private Sub Tampil() '********* Isi Prosedur yang bernama Tampil With AdoNasabah TxtNoNasabah.Text = .Recordset("NONASABAH") TxtNamaNasabah.Text = .Recordset("NAMA") TxtKTP.Text = .Recordset("KTP") If .Recordset("JNSKEL") = "Perempuan " Then OptPer.Value = True Else OptLaki.Value = True End If TxtTmpLahir.Text = .Recordset("TMPLAHIR") TxtTglLahir.Text = .Recordset("TGLLAHIR") CboAgama.Text = .Recordset("AGAMA") TxtAlamat.Text = .Recordset("ALAMAT") TxtKodePos.Text = .Recordset("KODEPOS") TxtTelp.Text = .Recordset("TELP") End With End Sub Private Sub CmdAkhir_Click() AdoNasabah.Recordset.MoveLast Tampil MsgBox "Record Paling Akhir" End Sub
Private Sub CmdMaju_Click() With AdoNasabah .Recordset.MoveNext If .Recordset.EOF = True Then MsgBox "Record Paling Akhir" .Recordset.MoveLast End If End With Tampil End Sub Private Sub CmdMundur_Click() With AdoNasabah .Recordset.MovePrevious If .Recordset.BOF = True Then MsgBox "Record Paling Awal" .Recordset.MoveFirst End If End With Tampil End Sub Private Sub CmdPertama_Click() AdoNasabah.Recordset.MoveFirst Tampil MsgBox "Record Paling Awal" End Sub Private Sub CmdTutup_Click() Unload Me End Sub Private Sub CmdDataBaru_Click() CmdUpdate.Caption = "Simpan" For Each Control In FrmNasabah If TypeOf Control Is TextBox Then Control.Text = "" End If Next CboAgama.Text = "" OptLaki.Value = False OptPer.Value = False CmdDataBaru.Enabled = False CmdBatal.Enabled = True End Sub
Private Sub CmdBatal_Click() AdoNasabah.Recordset.MoveFirst Tampil CmdDataBaru.Enabled = True CmdBatal.Enabled = False CmdUpdate.Caption = "Update" End Sub Private Sub CmdUpdate_Click() With AdoNasabah If CmdUpdate.Caption = "Simpan" Then .Recordset.AddNew End If .Recordset("NONASABAH") = TxtNoNasabah.Text .Recordset("NAMA") = TxtNamaNasabah.Text .Recordset("KTP") = TxtKTP.Text If OptPer.Value = True Then .Recordset("JNSKEL") = "Perempuan " Else .Recordset("JNSKEL") = "Laki-laki " End If .Recordset("TMPLAHIR") = TxtTmpLahir.Text .Recordset("TGLLAHIR") = TxtTglLahir.Text .Recordset("AGAMA") = CboAgama.Text .Recordset("ALAMAT") = TxtAlamat.Text .Recordset("KODEPOS") = TxtKodePos.Text .Recordset("TELP") = TxtTelp.Text .Recordset.Update End With CmdDataBaru.Enabled = True CmdBatal.Enabled = False CmdUpdate.Caption = "Update" Tampil End Sub Private Sub CmdHapus_Click() AdoNasabah.Recordset.Delete AdoNasabah.Recordset.MoveFirst Tampil End Sub
Private Sub CmdCariData_Click() Dim CariData As String CariData = InputBox("Masukan Nomor Nasabah Yang Akan Dicari", "Cari Data Nasabah") With AdoNasabah .RecordSource = "SELECT * FROM NASABAH WHERE NONASABAH= '" & CariData & "'" .Refresh If .Recordset.BOF = True And .Recordset.EOF = True Then MsgBox "Data Tidak Ditemukan" .RecordSource = "SELECT * FROM NASABAH" .Refresh Exit Sub End If End With Tampil AdoNasabah.RecordSource = "SELECT * FROM NASABAH" AdoNasabah.Refresh End Sub
PEMBAHASAN I. Dim ConNas As String Digunakan untuk mendeklarasikan ConNas sebagai variabel yang akan digunakan sebagai parameter untuk koneksi ke database. ConNas = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX " II. Provider=SQLOLEDB.1; Provider yang digunakan ADO untuk koneksi ke database SQL Server.
III. Persist Security Info=False;User ID=sa; Untuk log on ke server dengan menggunakan “Use a specific user name and password” dengan User ID sebagai sa.
IV. Initial Catalog=APLIKASI; Nama database yang digunakan.
V. Data Source= USERXX" Nama server dari SQL Server.
VI. AdoNasabah.ConnectionString = ConNas AdoNasabah.CommandType = adCmdText AdoNasabah.RecordSource = "Select * from NASABAH" AdoNasabah.Refresh
Connection String ADO diambil dari parameter ConNas, Tipe Command menggunakan adCmdText, Tabel dan Record didefinisikan dengan menggunakan perintah SQL. Pada perintah tersebut, Tabel yang digunakan adalah Tabel NASABAH. Refresh digunakan untuk me-refresh koneksi, record dan query. VII. Recordset("nama_field") Digunakan untuk untuk menentukan field yang dipakai.
VIII. Recordset.MoveFirst, .MovePrevious, .MoveNext, .MoveLast, .BOF, .EOF, menentukan pergerakan letak dan posisi dari recordset.
IX. CmdUpdate.Caption = "Simpan" For Each Control In FrmNasabah If TypeOf Control Is TextBox Then Control.Text = "" End If Next CboAgama.Text = "" OptLaki.Value = False OptPer.Value = False Perintah-perintah tersebut digunakan apabila user akan melakukan entri data atau mengisi data baru. Dengan menjalankan perintah-perintah tersebut, maka setiap textbox, option dan control lain akan dikosongkan dan siap diisi data.
X. AdoNasabah.Recordset.MoveFirst Tampil Jika user ingin membatalkan pengisian data, maka perintah di atas dijalankan agar record kembali ke record paling awal kemudian isi dari record tersebut ditampilkan dengan memanggil prosedur Tampil.
XI. With AdoNasabah If CmdUpdate.Caption = "Simpan" Then .Recordset.AddNew End If .Recordset("NONASABAH") = TxtNoNasabah.Text . . .Recordset.Update End With Jika data sudah diisikan pada form dan user akan menyimpan data yang sudah diisikan tadi, maka perintah diatas dijalankan. Untuk melakukan penyimpanan data, maka digunakan perintah .AddNew, kemudian menentukan isi field sesuai dengan text yang dimasukan, dan diakhiri dengan .Update sehingga data benar-benar tersimpan.
XI. Jika user ingin memrubah/memmodifikasi data yang sudah ada, maka user dapat langsung merubah data pada record yang diiginkan yang tampil pada form. Perintah yang digunakan mirip dengan pada prosedur simpan, namun tidak menggunakan perintah .AddNew, tetapi tetap menggunakan .Update. XI. AdoNasabah.Recordset.Delete Perintah tersebut digunakan untuk menghapus data yaitu data yang sedang ditampilkan pada form.
XII. Prosedur untuk melakukan search/caridata pada dasarnya hanya berupa perintah koneksi recordset, namun ditambahkan beberapa kondisi tertentu dengan menggunakan perintah SQL. Apabila kodisi terpenuhi atau data yang dicari ditemukan maka akan ditampilkan pada form, jika tidak maka akan menampilkan pesan bahwa data tidak ditemukan.
2.3.Menghubungkan Program VB dengan Database SQL Server / Menggunakan Object ADO tanpa menggunakan control ADODC. Database yang digunakan adalah database APLIKASI, tabel yang digunakan adalah tabel REKENING. Pastikan Objek ADO sudah direferensikan kedalam Visual Basic. Caranya dengan mengklik menu Project pada MenuBar,Pilih References. Cari Micrisoft ActiveX Data Object 2.5 Library. Pastikan object tersebut sudah dibari tanda check, lalu clik OK.
DESIGN TAMPILAN PROGRAM
Form Rekening
Form Search
SETTING PROPERTIES Form Rekening
NAMA PROPERTIES CONTROL/OBJEK Name Form3 Caption Caption Label1 Caption Label2 Caption Label3 Caption Label4 Caption Label5 Caption Label6 Caption Label7 Caption Label8 Name Text1 Name Text2 Name Text3 Name Text4 Name Text5 Name Text6 Name Text7 Name Text8 Caption Frame1 Caption Frame2 Name Command1 Caption Name Command2 Caption Name Command3 Caption Name Command4 Caption Name Command5 Caption Name Command6 Caption
NILAI FrmRekening Form Rekening No Rekening No Nasabah Jenis Tabungan Bunga Saldo Awal Saldo Akhir Tanggal Buka Status Aktif TxtNoRek TxtNoNas TxtJnsTab TxtBunga TxtSalAwal TxtSalAkhir TxtTglBuka TxtStatus Database Manipulation Scrolling Data CmdNew New CmdCalcel Cancel CmdSave Save CmdUpdate Update CmdDelete Delete CmdSearch Search
Command7 Command8 Command9 Command10 Command11
Name Caption Name Caption Name Caption Name Caption Name Caption
CmdFirst << CmdPrevious < CmdNext > CmdLast >> CmdClose Close Form Search
NAMA PROPERTIES CONTROL/OBJEK Name Form4 Caption Caption Label1 Name Text1 Name Command1 Caption
NILAI FrmRekening Form Rekening No Rekening TxtNoRek CmdNew New
CODING PROGRAM Form Rekening Dim AdoConRek As New ADODB.Connection connection Dim AdoRs As New ADODB.Recordset recordset
'********* Variabel untuk '********* Variabel untuk
Private Sub Form_Load() Koneksi '********* Pemanggilan Prosedur yang bernama Koneksi Tampilkan '********* Pemanggilan Prosedur yang bernama Tampilkan End Sub Private Sub Tampilkan() '********* Isi Prosedur yang bernama Tampilkan With AdoRs TxtNoRek.Text = !NOREK TxtNoNas.Text = !NONASABAH TxtJnsTab.Text = !JENISTAB TxtBunga.Text = !BUNGA TxtSalAwal.Text = !SALDOAWAL TxtSalAkhir.Text = !SALDOAKHIR TxtTglBuka.Text = !TGLBUKA TxtStatus.Text = !STATUSAKTIF End With End Sub '********* Isi Prosedur yang bernama Koneksi Private Sub Koneksi() If AdoRs.State <> adStateClosed And AdoConRek.State <> adStateClosed Then AdoRs.Close Set AdoRs = Nothing AdoConRek.Close Set AdoConRek = Nothing End If With AdoConRek .ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX" .Provider = "SQLOLEDB.1" .Open End With AdoRs.Open "Select * from REKENING", AdoConRek, adOpenDynamic, adLockOptimistic End Sub Private Sub CmdFirst_Click()
AdoRs.MoveFirst Tampilkan MsgBox "This is the First Record" End Sub Private Sub CmdLast_Click() AdoRs.MoveLast Tampilkan MsgBox "This is the Last Record" End Sub Private Sub CmdNext_Click() With AdoRs .MoveNext If .EOF = True Then MsgBox "This is the Last Record" .MoveLast End If End With Tampilkan End Sub Private Sub CmdPrevious_Click() With AdoRs .MovePrevious If .BOF = True Then MsgBox "This is the First Record" .MoveFirst End If End With Tampilkan End Sub Private Sub CmdNew_Click() For Each Control In FrmRekening If TypeOf Control Is TextBox Then Control.Text = "" End If Next End Sub Private Sub CmdCancel_Click() Tampilkan End Sub Private Sub CmdSave_Click()
With AdoRs .AddNew !NOREK = TxtNoRek.Text !NONASABAH = TxtNoNas.Text !JENISTAB = TxtJnsTab.Text !BUNGA = TxtBunga.Text !SALDOAWAL = TxtSalAwal.Text !SALDOAKHIR = TxtSalAkhir.Text !TGLBUKA = TxtTglBuka.Text !STATUSAKTIF = TxtStatus.Text .Update Tampilkan MsgBox "It's Done" .MoveFirst End With End Sub Private Sub CmdUpdate_Click() With AdoRs !NOREK = TxtNoRek.Text !NONASABAH = TxtNoNas.Text !JENISTAB = TxtJnsTab.Text !BUNGA = TxtBunga.Text !SALDOAWAL = TxtSalAwal.Text !SALDOAKHIR = TxtSalAkhir.Text !TGLBUKA = TxtTglBuka.Text !STATUSAKTIF = TxtStatus.Text .Update MsgBox "It's Done" End With Koneksi Tampilkan End Sub Private Sub CmdDelete_Click() AdoRs.Delete MsgBox "It's Done" AdoRs.MoveFirst Tampilkan End Sub Private Sub CmdSearch_Click() Dim PSql As String FrmSearch.Show vbModal PSql = "Select * from REKENING where NOREK ='" & Val(FrmSearch.TxtSearch.Text) & "'"
Unload FrmSearch Set frmseacrh = Nothing Set AdoRs = Nothing Set AdoRs = New ADODB.Recordset AdoRs.Open PSql, AdoConRek, adOpenDynamic, adLockOptimistic If AdoRs.BOF = True And AdoRs.EOF = True Then MsgBox "Data Does Not Exist" Koneksi Exit Sub End If Tampilkan End Sub
Private Sub CmdClose_Click() AdoRs.Close Set AdoRs = Nothing AdoConRek.Close Set AdoConRek = Nothing Unload Me End Sub
From Seacrh Private Sub CmdGo_Click() Me.Hide End Sub
PEMBAHASAN I. Dim AdoConRek As New ADODB.Connection Digunakan untuk mendefinisikan suatu variabel sebagai object Connection.
II. Dim AdoRs As New ADODB.Recordset Digunakan untuk mendefinisikan suatu variabel sebagai object Recodset.
III. Penggunaan parameter New pada deklarasi variable di atas digunakan untuk mengalokasikan memori untuk object Connection dan Recodset.
IV. With AdoConRek .ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=APLIKASI;Data Source= USERXX" .Provider = "SQLOLEDB.1" .Open End With Merupakan parameter-parameter untuk Connection String yang mendefinisikan nama server, database, dan security yang digunakan.
V. AdoRs.Open
"Select
*
from
REKENING",
AdoConRek,
adOpenDynamic,
adLockOptimistic Merupakan parameter-parameter untuk Recordset yang mendefinisikan nama table dan field yang digunakan, dan menggunakan connection AdoConRek.
VI. With AdoRs . . End With
Digunakan untuk mengefisienkan pengetikan AdoRs sehingga tidak perlu diketik berulang-ulang VII. TxtNoRek.Text = !NOREK TxtNoNas.Text = !NONASABAH . . . TxtStatus.Text = !STATUSAKTIF Isi textbox dari TxtNoRek diambil dari Field NOREK dan begitu juga dengan textbox yang lain di sisuaikan dengan Field yang ingin digunakan.
VIII. With AdoRs .AddNew !NOREK = TxtNoRek.Text !NONASABAH = TxtNoNas.Text . . . .Update Untuk menyimpan data (SAVE) harus diawali dengan recordset .AddNew kemudian recordset field menggunakan text yang terdapat pada textbox, dan diakhiri dengan recordset .Update. Isi dari setiap field yang ada pada tabel yang digunakan disesuaikan / diambil dari text yang diketikan pada texbox, seperti contoh di atas isi field NOREK adalah text yang diketikan pada TxtNoRek.
IX. !NOREK = TxtNoRek.Text !NONASABAH = TxtNoNas.Text . . . .Update Untuk melakukan Update menggunakan urutan sintaks yang mirip dengan Save, nemun untuk update tidak perlu diawali dengan .AddNew.
X.
Penjelasan mengenai search pada dasarnya sama saja dengan penjelasan sebelumnya, hanya pada program kali ini, menggunakan form tambahan bukan dengan inputbox.
LATIHAN 3. Crystal Report Membuat laporan nasabah dengan rancangan seperti gambar di bawah ini :
Membuat laporan alamat seorang nasabah dengan rancangan seperti gambar di bawah ini:
Membuat laporan transaksi seorang nasabah dengan rancangan seperti gambar di bawah ini:
Membuat laporan tabungan nasabah dengan rancangan seperti gambar di bawah ini :
1. Buat Report dengan menggunakan Pilih Tabel Rekening(NoRek,Bunga,SaldoAkhir) dan Tabel Nasabah ( NoNasabah,Nama) Dengan Tampilan.
- Untuk JmlUang Gunakan Rumus Dibawah ini gunakan Formula: Saldo Akhir + (SaldoAkhir * Bunga ) / 100
2. Buat Report dengan menggunakan Tabel Rekening(NoRek,SaldoAkhir), Nasabah(Nama),Transaksi(NoTran,TglTrans) dengan kondisi: -
Tampilkan 5 transaksi terakhir berdasarkan tanggal transaksi
3. Buat Report dengan menggunakan Tabel Rekening(NoRek,SaldoAkhir), Nasabah(Nama),Transaksi(Jumlah) buat formula field dengan nama ketbatas dengan kondisi: -
Jika Jumlah Saldo Akhir Rekening Lebih Kecil dari Jumlah Transaksi Maka ketbatas ‘Melebihi Batas’, Jika Jumlah Saldo Akhir Rekening Lebih Besar dari Jumlah Transaksi Maka ketbatas ‘Oke’.
4. Buat Report dengan menggunakan Tabel Rekening(NoRek), Nasabah(Nama),Transaksi(Jumlah) buat formula field dengan nama nmstaff dengan kondisi: - Jika Jumlah Transaksi < 100000000 maka nmstaff = ‘Hubungi Bpk. X’, Jika Jumlah Transaksi >= 100000000 maka nmstaff=’Hubungi Bpk. Y’.
Jawaban Latihan: 1. Gunakan Formula Dengan Nama JmlUang = {Rekening.SaldoAkhir}+({Rekening.SaldoAkhir}*{Rekening.Bunga})/100 2. Pada Field TglTrans Click Kanan Kemudian Pada Menu Popup Pilih Select Expert Kemudian pada form select expert pilih is between. 3. Gunakan Formula dengan nama ketbatas = if {Rekening.SaldoAkhir} > {Transaksi.Jumlah} then 'Melebihi Batas else 'OKE' 4. Gunakan Formula dengan nmstaff = if {Transaksi.Jumlah} < 100000000 then ‘Hubungi Bpk.X’ else if{Transaksi.Jumlah} >= 100000000 then ‘Hubungi Bpk.Y’