Friday, November 29, 2013

Pemrograman Visual 1: Form Transaksi one to many

Dim AMBILSTOK As Boolean

Sub nomor()
adotransaksi.Refresh
If adotransaksi.Recordset.RecordCount = 0 Then
NO = Format(Date, "yymm") & "00001"
ElseIf Mid(adotransaksi.Recordset!NOTRANSAKSI, 3, 4) <> Format(Date, "yymm") Then
NO = Format(Date, "yymm") & "00001"
Else
adotransaksi.Recordset.Sort = "notransaksi ASC"
adotransaksi.Recordset.MoveLast
NO = Val(Right(adotransaksi.Recordset!NOTRANSAKSI, Len(adotransaksi.Recordset!NOTRANSAKSI) - 6)) + 1
End If
txtnotrans.Text = "TR" + Format(Date, "yymm") + Right("00000" & NO, 5)
End Sub
Sub SIMPANTRANSAKSI()
With adotransaksi.Recordset
adotransaksi.Refresh
.AddNew
!NOTRANSAKSI = txtnotrans.Text
!TGLJUAL = txttgl.Text
!TOTALBAYAR = txttotal.Text
!KODEUSER = txtkduser.Text
.Update
End With
End Sub

Sub SIMPANTEMP()
ADOTEMP.Refresh
With ADOTEMP.Recordset
.AddNew
!kodebarang = txtkobar.Text
!NMBRG = txtnabar.Text
!HRG = txtharga.Text
!QTY = txtjmhjual.Text
!subttl = txtsubtotal.Text
.Update
End With
End Sub
Sub simpandetail()
Dim simpan, fak, kdbrg As String
Dim jumlahjual As Integer
Dim subttl As Double
For a = 1 To (GRID.Rows - 1)
fak = txtnotrans.Text
kdbrg = GRID.TextMatrix(a, 1) 'kdbrg berada di kolom 1
jumlahjual = GRID.TextMatrix(a, 4) 'jmhjual berada di kolom 4
subttl = GRID.TextMatrix(a, 5) 'subtotal berada di kolom 5
'variabel fak,kdbrg,jmhjual,subttl utk data masukanke tabel detailjual
adodetail.Refresh
With adodetail.Recordset
.AddNew
!NOTRANSAKSI = fak
!jmhjual = jumlahjual
!subtotal = subttl
!kodebarang = kdbrg
.Update
End With
Next a
End Sub

Sub tampilgrid()
'buka tabel barang
ADOTEMP.RecordSource = "select * from TEMP order by kodebarang"
'atur grid utk tabel TEMP
Set GRID.DataSource = ADOTEMP
GRID.ColWidth(0) = 50
GRID.TextMatrix(0, 1) = "Kode Barang"
GRID.ColWidth(1) = 1000
GRID.TextMatrix(0, 2) = "Nama Barang"
GRID.ColWidth(2) = 1300
GRID.TextMatrix(0, 3) = "HARGA "
GRID.ColWidth(3) = 1300
GRID.TextMatrix(0, 4) = "Jumlah Jual"
GRID.ColWidth(4) = 1000
GRID.TextMatrix(0, 5) = "Subtotal"
GRID.ColWidth(5) = 1000
End Sub

Private Sub CMDBATAL_Click()
AMBILSTOK = False
ADOTEMP.Refresh
ADOTEMP.Recordset.Delete
End Sub

Private Sub cmdinput_Click()
Call nomor
txttgl = Format(Date, "DD/MM/YYYY")
AMBILSTOK = True
txtkobar.SetFocus
End Sub

Private Sub CMDSIMPAN_Click()
Call SIMPANTRANSAKSI
Call simpandetail
Call HAPUSTEMP
End Sub

Sub HAPUSTEMP()
ADOTEMP.Refresh
If ADOTEMP.Recordset.RecordCount <> 0 Then
Do While Not ADOTEMP.Recordset.EOF
ADOTEMP.Recordset.Delete
ADOTEMP.Recordset.MoveFirst
Loop
End If
ADOTEMP.Refresh
GRID.Refresh
End Sub
Private Sub Form_Activate()
Call HAPUSTEMP
End Sub

Private Sub Form_Load()
AMBILSTOK = True
Call HAPUSTEMP
ADOTEMP.Refresh
GRID.Refresh
End Sub

Private Sub txtjmhjual_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
adobarang.Refresh
adobarang.Recordset.Find "KODEBARANG='" & txtkobar.Text & "'"
If Val(txtjmhjual.Text) > txtstok.Text Then
MsgBox "stok kurang"
txtjmhjual.SetFocus
Exit Sub
Else
txtsubtotal.Text = Val(txtjmhjual) * Val(txtharga)
Call ubahstok
Call SIMPANTEMP
ADOTEMP.Refresh
GRID.Refresh
ttl = 0
For a = 1 To (GRID.Rows - 1)
x = Val(GRID.TextMatrix(a, 5))
ttl = ttl + x
Next a
txttotal.Text = ttl

t = MsgBox("beli lagi?", vbQuestion + vbYesNo, "Konfirmasi")
If t = vbYes Then
txtkobar = ""
txtkobar.SetFocus
txtnabar = ""
txtharga = ""
txtjmhjual = ""
txtsubtotal = ""
Else
Me.Refresh
GRID.Refresh
txtubay.SetFocus
End If
End If
End If
End Sub

Sub ubahstok()
adobarang.Refresh
With adobarang.Recordset
.Find "KODEBARANG='" & txtkobar.Text & "'"
If AMBILSTOK = True Then
!stok = !stok - Val(txtjmhjual.Text)
.Update
ElseIf AMBILSTOK = False Then
!stok = !stok + Val(txtjmhjual.Text)
.Update
End If

End With
End Sub

Private Sub txtkobar_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
adobarang.Refresh
With adobarang.Recordset
.Find "KODEBARANG='" & txtkobar.Text & "'"
If .EOF Then
MsgBox "KODE BARANG TIDAK ADA"
txtkobar.SetFocus
Exit Sub
Else
txtnabar = !NAMABARANG
txtharga = adobarang.Recordset!HARGA
txtstok = adobarang.Recordset!stok
txtjmhjual.SetFocus
End If
End With
End If
End Sub

Friday, November 22, 2013

TRANSAKSI ADODC


















CODINGNYA:
Dim AMBILSTOK As Boolean

Sub nomor()
adotransaksi.Refresh
If adotransaksi.Recordset.RecordCount = 0 Then
NO = Format(Date, "yymm") & "00001"
ElseIf Mid(adotransaksi.Recordset!NOTRANSAKSI, 3, 4) <> Format(Date, "yymm") Then
NO = Format(Date, "yymm") & "00001"
Else
adotransaksi.Recordset.Sort = "notransaksi ASC"
adotransaksi.Recordset.MoveLast
NO = Val(Right(adotransaksi.Recordset!NOTRANSAKSI, Len(adotransaksi.Recordset!NOTRANSAKSI) - 6)) + 1
End If
txtnotrans.Text = "TR" + Format(Date, "yymm") + Right("00000" & NO, 5)
End Sub

Sub SIMPANTRANSAKSI()
With adotransaksi.Recordset
adotransaksi.Refresh
.AddNew
!NOTRANSAKSI = txtnotrans.Text
!TGLJUAL = txttgl.Text
!TOTALBAYAR = txttotal.Text
!KODEUSER = txtkduser.Text
.Update
End With
End Sub

Sub SIMPANTEMP()
ADOTEMP.Refresh
With ADOTEMP.Recordset
.AddNew
!kodebarang = txtkobar.Text
!NMBRG = txtnabar.Text
!HRG = txtharga.Text
!QTY = txtjmhjual.Text
!subttl = txtsubtotal.Text
.Update
End With
End Sub

Sub simpandetail()
Dim simpan, fak, kdbrg As String
Dim jumlahjual As Integer
Dim subttl As Double
For a = 1 To (GRID.Rows - 1)
fak = txtnotrans.Text
kdbrg = GRID.TextMatrix(a, 1) 'kdbrg berada di kolom 1
jumlahjual = GRID.TextMatrix(a, 4) 'jmhjual berada di kolom 4
subttl = GRID.TextMatrix(a, 5) 'subtotal berada di kolom 5
'variabel fak,kdbrg,jmhjual,subttl utk data masukanke tabel detailjual
adodetail.Refresh
With adodetail.Recordset
.AddNew
!NOTRANSAKSI = fak
!jmhjual = jumlahjual
!subtotal = subttl
!kodebarang = kdbrg
.Update
End With
Next a
End Sub

Sub tampilgrid()
'buka tabel barang
ADOTEMP.RecordSource = "select * from TEMP order by kodebarang"
'atur grid utk tabel TEMP
Set GRID.DataSource = ADOTEMP
GRID.ColWidth(0) = 50
GRID.TextMatrix(0, 1) = "Kode Barang"
GRID.ColWidth(1) = 1000
GRID.TextMatrix(0, 2) = "Nama Barang"
GRID.ColWidth(2) = 1300
GRID.TextMatrix(0, 3) = "HARGA "
GRID.ColWidth(3) = 1300
GRID.TextMatrix(0, 4) = "Jumlah Jual"
GRID.ColWidth(4) = 1000
GRID.TextMatrix(0, 5) = "Subtotal"
GRID.ColWidth(5) = 1000
End Sub

Private Sub CMDBATAL_Click()
AMBILSTOK = False
ADOTEMP.Refresh
ADOTEMP.Recordset.Delete
End Sub

Private Sub cmdinput_Click()
Call nomor
txttgl = Format(Date, "DD/MM/YYYY")
AMBILSTOK = True
txtkobar.SetFocus
End Sub

Private Sub CMDSIMPAN_Click()
Call SIMPANTRANSAKSI
Call simpandetail
Call HAPUSTEMP
End Sub

Sub HAPUSTEMP()
ADOTEMP.Refresh
If ADOTEMP.Recordset.RecordCount <> 0 Then
Do While Not ADOTEMP.Recordset.EOF
ADOTEMP.Recordset.Delete
ADOTEMP.Recordset.MoveFirst
Loop
End If
ADOTEMP.Refresh
GRID.Refresh
End Sub

Private Sub Form_Activate()
Call HAPUSTEMP
End Sub

Private Sub Form_Load()
AMBILSTOK = True
Call HAPUSTEMP
ADOTEMP.Refresh
GRID.Refresh
End Sub

Private Sub txtjmhjual_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
adobarang.Refresh
adobarang.Recordset.Find "KODEBARANG='" & txtkobar.Text & "'"
If Val(txtjmhjual.Text) > txtstok.Text Then
MsgBox "stok kurang"
txtjmhjual.SetFocus
Exit Sub
Else
txtsubtotal.Text = Val(txtjmhjual) * Val(txtharga)
Call ubahstok
Call SIMPANTEMP
ADOTEMP.Refresh
GRID.Refresh
ttl = 0
For a = 1 To (GRID.Rows - 1)
x = Val(GRID.TextMatrix(a, 5))
ttl = ttl + x
Next a
txttotal.Text = ttl

t = MsgBox("beli lagi?", vbQuestion + vbYesNo, "Konfirmasi")
If t = vbYes Then
txtkobar = ""
txtkobar.SetFocus
txtnabar = ""
txtharga = ""
txtjmhjual = ""
txtsubtotal = ""
Else
Me.Refresh
GRID.Refresh
txtubay.SetFocus
End If
End If
End If
End Sub

Sub ubahstok()
adobarang.Refresh
With adobarang.Recordset
.Find "KODEBARANG='" & txtkobar.Text & "'"
If AMBILSTOK = True Then
!stok = !stok - Val(txtjmhjual.Text)
.Update
ElseIf AMBILSTOK = False Then
!stok = !stok + Val(txtjmhjual.Text)
.Update
End If
End With
End Sub

Private Sub txtkobar_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii = 13 Then
adobarang.Refresh
With adobarang.Recordset
.Find "KODEBARANG='" & txtkobar.Text & "'"
If .EOF Then
MsgBox "KODE BARANG TIDAK ADA"
txtkobar.SetFocus
Exit Sub
Else
txtnabar = !NAMABARANG
txtharga = adobarang.Recordset!HARGA
txtstok = adobarang.Recordset!stok
txtjmhjual.SetFocus
End If
End With
End If
End Sub

TAMBAHKAN AKTIF,NONAKTIF,BERSIH

Saturday, October 12, 2013

Materi variabel, tipe data



#include <iostream>
#include <stdio>
#include <conio>
#include <iomanip>
main()
{       //deklarasi variabel
int a=4;
char b='k';
char x[4]="bsi";
float c=7.35;
//macam-macam perintah masukan dan keluaran
printf("belajar perintah printf: ");
printf("%d \t\t\t %c %10.1f \n",a,b,c); //format typedata hrs sesuai urutan dgn variabel
puts("belajar perintah puts:");puts(x);  //puts utk string/kalimat
putchar('ini');putchar(b);cout<<endl;  //putchar utk cetak 1 karakter
cout<<"contoh tipe data integer:"<<a<<endl;
cout<<"menentukan desimal:"<<setprecision(2)<<c;
getch();
}

Materi inputoutput

#include <iostream>
#include <stdio>
#include <conio>

main()
{
char nm[25],kls[8],matkul[25];
int nilai;

   //macam-macam perintah masukan
printf("Data nilai siswa/i\n");
printf("=======================\n\n");
printf("input nama siswa/i:");gets(nm);
printf("input kelas: ");gets(kls);
printf("input matakuliah:");gets(matkul);
printf("input nilai :");cin>>nilai;
clrscr();
printf("nama saya adalah ");printf("%s",nm);
printf(" dengan kelas ");printf("%s",kls);
printf("\nhari ini belajar ");printf("%s",matkul);
printf("mudah-mudahan nilainya  ");printf("%d",nilai);


getch();
}

Beda getch dan getche
#include <conio>
#include <stdio>
main(){            char k;
printf("input:");k=getche();//atau getch bedanya cuma ditampilkan & enter
printf("hasil %c",k);
getch();
}

PERT1
Latihan pert1


 






Latihan pert1

 













Latihan Pert2

Input






Output




#include <conio>
#include <iostream>
#include <stdio>
main(){
//algoritma dasar
int p,q,r,k,l,m;
p=0;q=5;r=10;
p=q;q=r;
cout<<p<<" "<<q<<" "<<r;
//pertukaran
cout<<endl;
k=10;l=20;
m=k;k=l;l=m;
cout<<k<<l;
//strcat,strcmp
cout<<endl;
char a[15]="bsi";
char b[15]="margonda";
strcat(a,b);
cout<<a;
cout<<strcmp(b,a);//selisih hurufdepan, b ke m
cout<<endl;
//mencari posisi
char kar='r';
cout<<strchr(b,kar);
cout<<endl;

    int i,j=0;
for(i=2;i<10;i+=2){
cout<<i;
if(i==4)continue;
if(i==8)break;
if(i<8)
cout<<"+";
j+=i;
}
      cout<<"="<<j;
//fibonanci
cout<<endl;
int jumlah,s=1,t=1,o=1,n;
  cout<<"jumlah data:";cin>>jumlah;
for (n = 0; n < jumlah; n++)
{
cout<<t<<" ";
  o = s + t;
  s = t;
  t = o;
}

  getch();
}










































Thursday, March 7, 2013

Perubahan matakuliah Pemrograman Visual II




PERTEMUAN 1
Penjelasan tugas,penentuan kelompok, penilaian tugas

Pertemuan  ini menjelaskan  ke siswa untuk  mengerjakan  sebuah  projek program, secara  berkelompok   (msl.   5  orang/kelompok).   Pada   saat   merek melakukan presentasi projek program, penilaian diambil secara individu dan kelompok.
Disini  perubahannya TIDAK  ADA  UAS  tapi  diganti dengan  projek program.
Ketentuan nilai Matakuliah vb adv :
10% dari nilai  absen + 20% dari nilai  tugas  + 30% dari nilai  uts + 40% dari nilai projek  program (Nilai projek  program sebagai pengganti uas)

Kriteria penilaian projek program
Penlaian secara kelompok:
§    Penilaian database = 10% (Pembuatan Database, Tabel, Index)
§     Penilaian  form,  coding  dan  report  =  60%  (Pembuatan  form,  Penggunaan Objek  dan  Properties,  Koneksi  Database,  Sintaks  Program  Dan  Prosedur, Logika program)
§    Penilaian   testing,   presentasi    30%      (Eksekusi   Program Kesesuaian
Tampilan, Cara Presentasi)
Penilaian  secara individu (0-100):
Nilai  individu diketahui pada  saat  tanya  jawab,  ketika kelompok  mereka melakukan presentasi.
Nilai rata-rata per individu=(total nilai kelompok + nilai individu) / 2.
Nilai projek  program per individu = 40% x Nilai rata-rata  per individu

Contoh:
Database: 10% x 100=10
Form. Coding, report = 60% x 100 = 60
Testing, Presentasi = 30% x 100 = 30
TOTAL NILAI KELOMPOK = 100
NILAI INDIVIDU = 100
Nilai rata-rata per individu=(100+100)/2 =100
Nilai projek  program per individu/siswa = 40% x 100 = 40

logika algo: deret hitung suku ke n

#include <conio.h> #include <iostream> #include <stdio> main(){  int n=6,i,bil;  for(i=1;i<=n;i++)  { ...