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

Wednesday, September 5, 2012

Fungsi, Looping, Array

Inputan:


Output:










Koding:
#include <conio.h>
#include <iostream>
#include <stdio>
#include <iomanip>

  //prototype function
garis();
subtotal(short b,int h);

main(){
//deklarasi variabel,  * adl pointer
  short d,x,beli[5];
  char nama[20],kode[5],*namabarang[5],lagi;
   int harga[5],total=0;
   //inputan
atas:
clrscr();
   cout<<"nama pembeli: ";gets(nama);
cout<<"jumlah data: ";cin>>d;

for(x=1;x<=d;x++){
cout<<"data ke-"<<x<<endl;
cout<<"kode barang[1/2/3]: ";cin>>kode[x];
cout<<"jmh beli: ";cin>>beli[x];
//proses
if(kode[x]=='1'){
  namabarang[x]="netbook";
   harga[x]=2500000;}
else if(kode[x]=='2'){
  namabarang[x]="tablet";
   harga[x]=18000000;}
else if(kode[x]=='3'){
 namabarang[x]="hp";
 harga[x]=1500000;}

 subtotal(beli[x],harga[x]);

}
 //output
clrscr();
cout<<"Nama pembeli:"<<nama<<endl;
garis();
cout<<"kodebarang   namabarang  harga  beli   subtotal"<<endl;
garis();
for(x=1;x<=d;x++){
 cout<<setiosflags(ios::left);
 cout<<setw(3)<<kode[x];
 cout<<setw(15)<<namabarang[x];
 cout<<setw(15)<<harga[x];
 cout<<setw(5)<<beli[x];
 cout<<setw(15)<<subtotal(beli[x],harga[x])<<endl;
 total=total+subtotal(beli[x],harga[x]);
}
garis();
cout<<"total bayar:"<<total<<endl;
cout<<"input lagi[y/t]?";cin>>lagi;
 switch(lagi){
 case 'y':
 case 'Y':
 goto atas;
 break;
 default:
    cout<<"terima kasih";
    break;
 }
getch();}
 //function
garis()
{
  cout<<"================================================================"<<endl;
}
subtotal(short b,int h)
{
 return(b*h);
}

Friday, February 25, 2011

latihan fungsi, struct, looping, array

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

 tunjangan(int *gol,char *jab[10],long *tunj)
 {
            if (*gol==1)
            {
                        *jab="adm";
                        *tunj=200000;
            }
    else if (*gol==2)
            {
                        *jab="staf";
                        *tunj=300000;
            }
   else if (*gol==3)
            {
                        *jab="manager";
                        *tunj=500000;
            }

 }
 garis()
 {cout<<"==============================\n";}

  main()
 {
 int i,j,gol[4],jum[4]; char *jab[4]; long tunj[4],tot[4];

 struct
 {
    long gapok,gaber;
 }hitgaji[4];

 cout<<"jumlah data:";cin>>j;
 for(i=1;i<=j;i++)
 {  cout<<"data ke "<<i<<endl;
 cout<<"input gol: ";cin>>gol[i];
  cout<<"input jumlah ank: ";cin>>jum[i];
  cout<<"input gaji pokok: ";cin>>hitgaji[i].gapok;
  tunjangan(&gol[i],&jab[i],&tunj[i]);
}
clrscr();
garis();
cout<<"no gol anak jabatan                  tunj    total                gapok gaber"<<endl;
garis();
 for(i=1;i<=j;i++)
 { cout<<setiosflags(ios::left);
   cout<<setw(2)<<i;
   cout<<setw(4)<<gol[i];
            cout<<setw(4)<<jum[i];
   cout<<setw(10)<<jab[i];
   cout<<setw(15)<<tunj[i];
   tot[i]=tunj[i]*jum[i];
   cout<<setw(15)<<tot[i];
   cout<<setw(15)<<hitgaji[i].gapok;
   hitgaji[i].gaber=hitgaji[i].gapok + tot[i];
   cout<<setw(15)<<hitgaji[i].gaber<<endl;
}
garis();
 getch();
 }

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++)  { ...