Friday, January 6, 2012

FIREWALL -- IPTABLES (IPCHAINS)

Dalam operasi linux sebuah firewall bisa disetting dengan keinginan sendiri melalui command line atau shell. Di linux sendiri ada aplikasi iptables yang membantu kita dalam melakukan filter layaknya aplikasi firewall di windows.
Dalam tabel filter terdapat 3 buah build-in chains (susah dibahasa indonesiakan) dimana kita bisa meletakkan aturan-aturan untuk firewall kita. Nah mulai puyeng ya…? Kita lanjutin ke pembahasan aja….. :)

Berikut 3 buah “rantai” seperti tersebut :
1. INPUT (untuk paket yang ditujukan ke firewall kita)
2. FORWARD (untuk paket yang di route lewat firewall kita, misalnya sebagai server yang menghubungkan jaringan local ke jaringan internet.
3. OUTPUT (untuk paket yang berasal dari firewall)

Target And Jumps

Setiap rule yang ada di firewall akan mencoba mengidentifikasi setiap paket yang ada di “rantai”, jika sesuai maka akan dianggap sebagai target, kemudian akan diarahkan ke proses selanjutnya, atau istilahnya di jump over ke proses selanjutnya. Atau kata sederhananya apa yang akan dilakukan jika terdapat paket yang cocok dengan rule??
Berikut adalah beberapa Jumps yang populer :
1. ACCEPT (proses di iptables selesai, dan paket dilanjutkan ke tempat seharusnya, misalnya applikasi tujuan)
2. DROP (proses di iptables selesai, dan paket diblock)
3. REJECT (proses di iptables selesai, dan paket diblock lalu mengirimkan pesan ke host pengirim bahwa paket diblock)

Selanjutnya adalah COMMANDS yang bisa kita digunakan :
Oh iya ada juga nih aturan penulisannya untuk masing-masing commands yang digunakan berikut kejelasannya :
iptables [-t table] -[AD] chain rule-specification [options]
iptables [-t table] -I chain [rulenum] rule-specification [options]
iptables [-t table] -R chain rulenum rule-specification [options]
iptables [-t table] -D chain rulenum [options]
iptables [-t table] -[LFZ] [chain] [options]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target [options]
iptables [-t table] -E old-chain-name new-chain-name
-t = menentukan nama tabel (filter, nat, mangle, raw). jika tidak ditulis, maka defaultnya adalah “filter”.

ket : chain ==> misalnya INPUT, OUTPUT, atau FORWARD
rulenum ==> nomor urut aturan dalam chain
target ==> seperti yang dijelaskan pada bagian target and jumps di atas

nah, ini commandsnya :
1. -A ==> menambahkan rule di baris terakhir chain yang ditentukan.
(iptables -A INPUT -j DROP : semua paket yang masuk ke chain INPUT akan di DROP)
2. -D ==> menghapus rule yang ada di chain tertentu, ada dua jenis penghapusan, yaitu dengan nomor urut rule (rulenum) atau dengan pencocokan rule-specification.
(iptables -D INPUT 1, atau iptables -D INPUT -s 10.14.210.100 -j DROP : yg pertama adalah menghapus rule pertama di chain input, yang kedua adalah menghapus rule yang cocok dengan spesifikasi tersebut di chain INPUT)
3. -I ==> menambahkan rule di baris dan chain yang ditentukan.
(iptables -I INPUT 1 –dport 80 -j ACCEPT : menambahkan rule di urutan pertama pada chain INPUT)
4. -R ==> mereplace rule yang ada di chain berdasarkan rulenum.
(iptables -R INPUT 1 -s 192.168.0.1 -j DROP : menimpa rule nomor satu di chain INPUT dengan rule baru tersebut)
5. -L ==> menampilkan daftar rule seluruhnya atau di chain tertentu jika jenis chain ditentukan.
(iptables -L INPUT : menampilkan semua rule yang ada di chain INPUT)
6. -F ==> menghapus semua rule atau semua rule di chain tertentu jika jenis chain ditentukan.
(iptables -F : menghapus semua rule yang ada di semua chain)
7. -Z ==> untuk meng-nol-kan semua counter yang di chain tertentu, misalkan coba -v, setelah itu gunakan -Z, lalu lihat beda -v setelah di -Z.
(iptables -Z INPUT)
8. -N ==> membuat sebuah chain baru.
(iptables -N ALLOW : membuat sebuah chain bernama ALLOW)
9. -X ==> menghapus chain tertentu.
(iptables -X ALLOW : menghapus chain bernama ALLOW)
10. -P ==> untuk menentukan default target dari chain tertentu.
(iptables -P INPUT ACCEPT : jika paket tidak ada yang cocok dengan semua rule yang ada, maka akan dipaksa mengikuti rule default ini)
11. -E ==> mengubah nama chain.
(iptaables -E ALLOW ALLOWAH : mengubah nama chain dari ALLOW jadi ALLOWAH)

Note : Nomor rule dimulai dari satu (mesti dari awal ya!!!).
Selanjutnya adalah daftar parameter pembentuk rule-specification :
-s ==> source
(iptables -A INPUT -s 192.168.1.1)
-d ==> destination
(iptables -A INPUT -d 192.168.1.1)
-p ==> protocol
(iptables -A INPUT -s 192.168.1.1 -p tcp)
-i ==> in-interface
(iptables -A INPUT -i eth0)
-o ==> out-interface
(iptables -A FORWARD -o eth0)
–sport ==> source port
(iptables -A INPUT -s 192.168.1.1 -p tcp –sport 22)
–dport ==> destination port
(iptables -A INPUT -p tcp –dport 22)
–sys ==> untuk identifikasi new connection request
(iptables -A INPUT -i ppp0 -p tcp –syn –dport ! 80 -j DROP)

Note: Gunakan tanda ! untuk negasi/ pernyataan tidak/ selain OK.
Gunakan tanda : untuk menyatakan sampai, misal port 10 sampai 20, maka ditulis 10:20.

Thursday, January 5, 2012

SHARING FILE DAN DIREKTORI

Linux centOS merupakan salah satu pilihan yang paling populer dan sering digunakan untuk mengatur sebuah jaringan. Dengan memanfaatkan jaringan yang ada, maka user dapat melakukan pengiriman file dan direktori.

Perintah untuk mengambil dan mengirim sebuah file antar pc dalam jaringan dengan prosesnya menggunakan paket enkripsi data.
Dalam menggunakan perintah ini untuk mengambil data kita harus meremote terlebih dahulu komputer asal datanya. Bentuk umum perintahnya adalah sebagai berikut:

1. Pengiriman file
Perintah : scp nama_file IPTujuan:/alamatuserTujuan

2. Pengiriman direktori
Perintah : scp -r nama_direktori IPTujuan:/alamatuserTujuan

3. Pengambilan file
Perintah : scp IPTujuan:/alamatFileTujuan direktori_user

4. Pengambilan direktori
Perintah : scp -r IPTujuan:/alamatFileTujuan direktori_user

PENGATURAN HAK AKSES FILE DAN DIREKTORI PADA CentOS

Pada artikel ini saya akan memaparkan sedikit mengenai Pengaturan Hak Akses File dan Direktori pada CentOS. Fungsi dari hak akses sendiri adalah untuk mengatur ijin dalam mengakses suatu file maupun direktori kepada User/Owner, Group dan Other (User atau Group lain), sehingga tidak semua orang bisa mengakses file atau direktori yang ada.

Catatan :
User (u) : User account
Group (g) : Kumpulan beberapa user account
Other (o) : Selain User account dan Group

r : read (4)
w : write (0)
x : execute (1)
- : 0

Perintah untuk melihat hak akses : ls -l

EXAMPLE :

-rw-rw-r-- elsa elsa 24 Jan 6 08:30 18095658

Penjelasan :

- Jenis File biasa
rw- Hak akses user : Read dan Write, maka file dapat dibaca dan diedit
rw- Hak akses group : Read dan Write, maka file dapat dibaca dan diedit
r-- Hak akses other : Read, maka file hanya dapat dibaca
elsa User account
elsa Group
24 Kapasitas file : 24 bytes
Jan 6 Tanggal pembuatan file
08:30 Jam pembuatan file
18095658 Nama file

Dan berikut perintah untuk mengganti hak akses :

chmod atribut nama_file

Kita dapat menggunakan satu dari 3 perintah yang terdapat di bawah ini :

1. chmod atribut=format nama_file
example : chmod u=rw-,g=rw-,o=r-- 18095658

2. chmod nilai nama_file
example : chmod 664 18095658
*Dengan format urutan atribut U G O [ User Group Other ]

3. chmod atribut-format nama_file
example : chmod u-w,g-r,o-w 18095658

Wednesday, January 4, 2012

Perintah Dasar pada Linux CentOS

Berikut adalah perintah-perintah dasar yang umum digunakan pada Linux CentOS :

1.ls : Perintah ini merupakan perintah untuk menampilkan isi suatu direktori.
contoh : # ls
# ls -l

2.cat : Perintah ini digunakan untuk menampilkan isi file ke layar

3.cd : Perintah ini digunakan untuk pindah ke direktori tertentu.

4.cp : Perintah ini digunakan untuk mengkopi suatu file atau direktori.
misalnya :
# cp contoh1 contoh2
Perintah di atas maksudnya akan mengkopi contoh1 ke file contoh2.

Untuk mengkopi seluruh direktori menggunakan perintah :
# cp -R /home/ELSA /home/18095658

5.mv : Perintah ini digunakan untuk memindahkan suatu file ke lokasi lain atau dengan nama lain.
Contoj :
# mv contoh1.php contoh2.php
#mv contoh1.php /home/ELSA/contoh2.php

6.rm : Perintah ini digunakan untuk menghapus direktori atau file.
Contoh :
#rm contoh1.php

Untuk menghapus suatu direktori gunakan perintah :
#rm /home/ELSA/temp

7.mkdir : Perintah ini digunakan untuk membuat direktori.
Misalnya :
#mkdir KristinaElsa

8.adduser : Menambah pengguna.

9.clear : Membersihkan layar.

CentOS

CentOS, yang merupakan singkatan untuk Community Enterprise OperatingSystem, adalah hasil dari kelompok kontributor open source dan pengguna yang bekerja sama untuk mengembangkan solusi Linux yang tersedia secara bebas untuk pengguna yang tidak memerlukan banyak dukungan komersial untuk mencapai tujuan mereka.

KELEBIHAN LINUX
- CentOS sangat kompatibel dengan RH
- Merupakan OS freeware yang sangat handal untuk skala Enterpise
- Merupakan satu-satunya OS freeware yang didukung resmi oleh CPanel
- Drivers RHEL dapat dipakai oleh CentOS karena isi CentOS adalah RHEL

Kekurangan CentOS
- Tergantung pada distro RH. Karena itu CentOS selalu keluar setelah RH
- Kata "enterprise" membuat pemula takut dan memilih Fedora
- Penampilan website CentOS yang kurang menarik
- Kurangnya dokumentasi mengenai CentOS secara khusus

MENGENAL LINUX

Jika Anda menginginkan sebuah sistem operasi yang handal,stabil dan cepat dalam mengakses suatu program ataupun data, dan Anda membutuhkannya sebagai PC standalone maupun jaringan dengan tanpa membayar extra change , serta tidak ingin pusing karena komputer anda terkena virus maupun defragmentasi file setiap minggu sekali, maka pilihlah LINUX !.

SEKILAS MENGENAI LINUX
Linux merupakan sebuah sistem operasi yang serupa dengan UNIX, dan merupakan implementasi independen dari sistem operasi POSIX, dengan ekstensi SYSV dan BSD sistem operasi UNIX yang terutama berjalan di mesin (baca : mikroprosesor) keluarga intel 80386DX, atau yang lebih baru. Perkembangan berikutnya, Linux dapat berjalan di atas beberapa mesin lainnya seperti Sun Sparc, Mac, PowerPC, DEC Alpha, dan PPC mk86.

KEUNGGULAN LINUX
Berikut beberapa keunggulan dari Sistem Operasi Linux :
1.Open Source : Memberi kesempatan kepada penggunanya untuk melihat program asal , dan atau mengubahnya sesuai keperluan tanpa terkena sanksi property right di bawah lisensi GNU.

2.Freeware : Bebas digunakan atau disebarkan tanpa dituntut royalty oleh penciptanya.

3.Non-Fragmentasi

4.Kebal Virus

5.Memiliki native protocol TCP/IP

6.Multi User

7.Multitasking

8.Memiliki login user atau operator yang tidak terbatas jumlahnya.


KELEMAHAN LINUX
Dan berikut kelemahan Sistem Operasi Linux :
1.Sistem operasi yang digunakan sama sekali berbeda dengan Windows sehingga perlu waktu dan tenaga untuk belajar menggunakannya

2.Penggunaan WYSIWYG (What You See Is What You Get) belum bisa secara menyeluruh sehingga diperlukan trik tersendiri untuk menggunakannya.

Thursday, June 9, 2011

TUGAS VB : KASUS "PENJUALAN TIKET BUS"

1. Normalisasi Data

1. Normalisasi data
Normalisasi merupakan proses pengelompokkan elemen data menjadi table-tabel yang menunjukkan entity dan relasinya
Normalisasi adalah proses pengelompokan attribute attribute dari suatu relasi sehingga membentuk WELL STRUCTURE RELATION.






Step 1 Unnormalized





Notrans Kode Jnsbus qty no_penumpang
F001 BUS04 AC 2 PEN01
F002 BUS01 AC 2 PEN02
F003 BUS05 AC 1 PEN03






Step 2 bentuk 1NF






Notrans Kode Jnsbus qty no_penumpang
F001 BUS04 AC 1 PEN01
F001 BUS04 AC 1 PEN01
F002 BUS01 AC 1 PEN02
F002 BUS01 AC 1 PEN02
F003 BUS05 AC 1 PEN03







Step 3 bentuk 2NF





2. Spesifikasi File

A. Table Bus



B. Table Penumpang




C. Table Transaksi



Ketentuan :

1.Jika jenis bus yang dipilih adalah AC , maka tarif bus dikenakan biaya tambahan sebesar Rp. 20000 .
2.Jika jenis bus yang dipilih adalah NON AC , maka tarif bus tidak akan dikenakan biaya tambahan .



3. Rancangan Form dan Menu utama

A. Form Login


Listing :


Private Sub bsign_Click()
Form4.Show
End Sub

Private Sub Form_Activate()
tuser.Enabled = True
tpass.Enabled = True
tuser.SetFocus
End Sub


B. Form Master Bus



Listing :

Dim isidetail As Boolean

Private Sub bprint_Click()
crybus.Action = 1
End Sub

Private Sub cadd_Click()
bersih
aktif
tkode.SetFocus
End Sub

Private Sub ccancel_Click()
bersih
nonaktif
End Sub

Private Sub ccari_Click()
With adobus.Recordset
.Find "kode='" & tkode & "'"
If .BOF And .EOF Then
MsgBox "THE CODE" + tkobus + "IS NOT EXIST", 34, "INFO"
tkobus = ""
tkobus.SetFocus
Else
adobus.Refresh
tkobus = adobus.Recordset.Fields("kode")
tnabus = adobus.Recordset.Fields("nm_bus")
tnabus.SetFocus
End If
End With
End Sub

Private Sub cdel_Click()
If Len(Trim(tkode.Text)) = "" Then
Exit Sub
End If
t = MsgBox("DO YOU REALLY WANT TO DELETE THE RECORD?", 32 + 4, "ASK")
If t = vbYes Then
adobus.Recordset.Delete
bersih
Else
bersih
End If
End Sub

Private Sub cedit_Click()
isibus = False
aktif
tnama.SetFocus
cadd.Enabled = False
cdel.Enabled = False
cedit.Enabled = False
csave.Enabled = True
ccancel.Enabled = True
End Sub

Private Sub cexit_Click()
End
End Sub

Sub bersih()
ttgl = ""
tjam = ""
tkode = ""
tnama = ""
tnasup = ""
tjurusan = ""
ttarif = ""
End Sub

Sub aktif()
ttgl.Enabled = True
tjam.Enabled = True
tkode.Enabled = True
tnama.Enabled = True
tnasup.Enabled = True
tjurusan.Enabled = True
ttarif.Enabled = True
cadd.Enabled = True
csave.Enabled = True
ccancel.Enabled = True
cedit.Enabled = True
cdel.Enabled = True
cfirst.Enabled = True
cprev.Enabled = True
cnext.Enabled = True
clast.Enabled = True
bprint.Enabled = True
cexit.Enabled = True
ttgl = Date
tjam = Time()
End Sub

Sub nonaktif()
ttgl.Enabled = False
tjam.Enabled = False
tkode.Enabled = False
tnama.Enabled = False
tnasup.Enabled = False
tjurusan.Enabled = False
ttarif.Enabled = False
cadd.Enabled = True
csave.Enabled = False
ccancel.Enabled = False
cedit.Enabled = False
cdel.Enabled = False
cfirst.Enabled = False
cprev.Enabled = False
cnext.Enabled = False
clast.Enabled = False
bprint.Enabled = False
cexit.Enabled = False
End Sub

Private Sub cfirst_Click()
tkode.Enabled = False
adobus.Recordset.MoveFirst
tampildata
MsgBox "ALREADY EXIST IN THE FIRST RECORD", 64, "INFO"
cedit.Enabled = True
cadd.Enabled = True
cdel.Enabled = True
cedit.SetFocus
End Sub

Private Sub clast_Click()
tkode.Enabled = False
adobus.Recordset.MoveLast
tampildata
MsgBox "ALREADY EXIST IN THE LAST RECORD", 64, "INFO"
cedit.Enabled = True
cadd.Enabled = True
cdel.Enabled = True
cedit.SetFocus
End Sub

Private Sub cnext_Click()
tkode.Enabled = False
adobus.Recordset.MoveNext
If adobus.Recordset.EOF Then
MsgBox "ALREADY EXIST IN THE LAST RECORD", 48, "INFO"
adobus.Recordset.MoveLast
End If
tampildata
cedit.Enabled = True
cadd.Enabled = True
cdel.Enabled = True
cedit.SetFocus
End Sub

Private Sub cprev_Click()
tkode.Enabled = False
adobus.Recordset.MovePrevious
If adobus.Recordset.BOF Then
MsgBox "ALREADY EXIST IN THE FIRST RECORD", 48, "INFO"
adobus.Recordset.MoveFirst
End If
tampildata
cedit.Enabled = True
cadd.Enabled = True
cdel.Enabled = True
cedit.SetFocus
End Sub

Private Sub csave_Click()
On Error Resume Next
With adobus.Recordset
If isibus = True Then 'SIMPAN JIKA DATA BELUM ADA
.AddNew
.Fields("kode") = tkode
.Fields("nm_bus") = tnama
.Fields("nasup") = tnasup
.Fields("jurusan") = tjurusan
.Fields("tarif") = ttarif
.Update
Else 'JIKA DATA YANG ADA DIPERBAHARUI
.AddNew
.Fields("kode") = tkode
.Fields("nm_bus") = tnama
.Fields("nasup") = tnasup
.Fields("jurusan") = tjurusan
.Fields("tarif") = ttarif
.Update
End If
End With
adobus.RecordSource = "select*from table_bus"
adobus.Refresh
adobus.Refresh
On Error GoTo 0
End Sub

Private Sub Form_Activate()
nonaktif
ttgl = Date
tjam = Time()
End Sub

Sub tampildata()
tkode = adobus.Recordset.Fields("kode")
tnama = adobus.Recordset.Fields("nm_bus")
tnasup = adobus.Recordset.Fields("nasup")
tjurusan = adobus.Recordset.Fields("jurusan")
ttarif = adobus.Recordset.Fields("tarif")
End Sub





Private Sub tkode_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii))) 'HURUF KAPITAL
If KeyAscii = 13 Then
adobus.RecordSource = "select*from table_bus where kode='" & tkode & "'"
adobus.Refresh
With adobus.Recordset
If .BOF And .EOF Then
t = MsgBox("THE CODE" & tkode & "IS NOT EXIST, DO YOU WANT TO ADD THE CODE?", vbYesNo + vbQuestion, "CONFIRM")
If t = vbYes Then
isibus = True
Call aktif
tnama.SetFocus
grid1.Refresh
Else
Call nonaktif
End If
Else
MsgBox "THE CODE" & tkode & "IS ALREADY EXIST", vbQuestion, "FOUND"
tampildata
tkode.Enabled = False
End If
End With
End If
End Sub


C. Form Master Penumpang



Listing :

Dim isipen As Boolean

Sub bersih()
tno = ""
tnapen = ""
talamat = ""
ttelp = ""
End Sub

Sub aktif()
tno.Enabled = True
tnapen.Enabled = True
talamat.Enabled = True
ttelp.Enabled = True
cadd.Enabled = True
csave.Enabled = True
ccancel.Enabled = True
cprint.Enabled = True
cexit.Enabled = True
End Sub

Sub nonaktif()
tno.Enabled = False
tnapen.Enabled = False
talamat.Enabled = False
ttelp.Enabled = False
cadd.Enabled = True
csave.Enabled = False
ccancel.Enabled = False
cprint.Enabled = False
cexit.Enabled = False
End Sub

Sub tampildata()
adopen.Recordset.Fields ("no_penumpang")
adopen.Recordset.Fields ("nm_penumpang")
adopen.Recordset.Fields ("alamat")
adopen.Recordset.Fields ("notelp")
End Sub

Private Sub cadd_Click()
bersih
aktif
tno.SetFocus
End Sub

Private Sub ccancel_Click()
bersih
nonaktif
End Sub

Private Sub cexit_Click()
End
End Sub

Private Sub cprint_Click()
crypen.Action = 1
End Sub

Private Sub csave_Click()
On Error Resume Next
With adopen.Recordset
If isipen = True Then 'SAVE RECORD IF IT'S NOT EXIST
.AddNew
.Fields("no_penumpang") = tno
.Fields("nm_penumpang") = tnapen
.Fields("alamat") = talamat
.Fields("notelp") = ttelp
.Update
Else 'RENEW RECORD
.AddNew
.Fields("no_penumpang") = tno
.Fields("nm_penumpang") = tnapen
.Fields("alamat") = talamat
.Fields("notelp") = ttelp
.Update
End If
End With
adopen.RecordSource = "select*from table_penumpang"
adopen.Refresh
On Error GoTo 0
End Sub

Private Sub Form_Activate()
bersih
nonaktif
End Sub


C. FORM MASTER TRANSAKSI



Listing :

Dim isidetail As Boolean
Sub bersih()
ckode = ""
tqty = ""
ttambahan = ""
ttarif = ""
ttobay = ""

tnopen = ""
tubay = ""
tukem = ""
End Sub
Sub aktif()
tnotrans.Enabled = True

tqty.Enabled = True
ttarif.Enabled = True
ttobay.Enabled = True
ttambahan.Enabled = True
ttgltrans.Enabled = True

oac.Enabled = True
onon.Enabled = True
tubay.Enabled = True
tukem.Enabled = True
ttgl.Enabled = True
tjam.Enabled = True
cadd.Enabled = True
csave.Enabled = True
cedit.Enabled = True
ccancel.Enabled = True
cexit.Enabled = True
cprint.Enabled = True
End Sub
Sub nonaktif()
tnotrans.Enabled = False
tqty.Enabled = False
ttarif.Enabled = True
ttobay.Enabled = False
ttobay.Enabled = False
ttgltrans.Enabled = False
oac.Enabled = False
onon.Enabled = False
ttambahan.Enabled = False
tubay.Enabled = False
tukem.Enabled = False
tjam.Enabled = False
ttgl.Enabled = False
cadd.Enabled = True
csave.Enabled = False
cedit.Enabled = False
ccancel.Enabled = False
cexit.Enabled = False
cprint.Enabled = False
End Sub
Sub tampildata()
tnotrans.Text = adodetail.Recordset.Fields("notrans")
tkode.Text = adodetail.Recordset.Fields("kode")
tqty.Text = adodetail.Recordset.Fields("qty")
ttambahan.Text = adodetail.Recordset.Fields("tambahan")
ttarif.Text = adodetail.Recordset.Fields("tarif")
ttobay.Text = adodetail.Recordset.Fields("tobay")
ttgltrans.Text = adodetail.Recordset.Fields("tgltrans")
tnopen.Text = adodetail.Recordset.Fields("no_penumpang")
tubay.Text = adodetail.Recordset.Fields("ubay")
tukem.Text = adodetail.Recordset.Fields("ukem")
End Sub

Private Sub cadd_Click()
aktif
bersih
ttgltrans.SetFocus
End Sub
Private Sub ccancel_Click()
bersih
nonaktif
End Sub
Private Sub cedit_Click()
isidetail = False
aktif
tnotrans.SetFocus
cadd.Enabled = False
cedit.Enabled = False
csave.Enabled = True
ccancel.Enabled = True
End Sub

Private Sub cexit_Click()
End
End Sub

Private Sub ckode_Click()
If ckode.Text = "BUS01" Then
ttarif.Text = 150000
Else
If ckode.Text = "BUS02" Then
ttarif.Text = 300000
Else
If ckode.Text = "BUS03" Then
ttarif.Text = 350000
Else
If ckode.Text = "BUS04" Then
ttarif.Text = 130000
Else
ttarif.Text = 500000
End If
End If
End If
End If
End Sub

Private Sub cprint_Click()
crytrans.Action = 1
End Sub

Private Sub csave_Click()


With adodetail.Recordset
If isidetail = True Then 'simpan jika data belum ada
.AddNew
.Fields("notrans") = tnotrans.Text
.Fields("kode") = d1.Text
.Fields("qty") = tqty.Text
.Fields("tobay") = Val(ttobay.Text)
.Fields("tgltrans") = ttgltrans.Text
.Fields("no_penumpang") = d2.Text
If oac.Value = True Then
.Fields("jnsbus") = "AC"
Else
.Fields("jnsbus") = "NON"
End If

.Fields("tambahan") = ttambahan.Text
.Fields("tarif") = ttarif.Text
.Fields("ubay") = tubay.Text
.Fields("ukem") = tukem.Text
.Update
Else 'simpan jika data yang ada diperbaharui
.Fields("notrans") = tnotrans
.Fields("kode") = ckode
.Fields("qty") = tqty
.Fields("tobay") = Val(ttobay)
.Fields("tgltrans") = ttgltrans
.Fields("no_penumpang") = tnopen
.Fields("tambahan") = ttambahan
.Fields("tarif") = ttarif
.Fields("ubay") = tubay
.Fields("ukem") = tukem
.Update
End If
End With
MSHFlexGrid1.Refresh
adodetail.RecordSource = "select*from table_trans"
adodetail.Refresh
On Error GoTo 0
bersih

End Sub

Private Sub d1_Change()
adobus.RecordSource = "select * from table_bus"
adobus.Recordset.MoveFirst
Do While Not adobus.Recordset.EOF
If d1.Text = adobus.Recordset!kode Then
ttarif.Text = adobus.Recordset!tarif
Exit Sub
End If
adobus.Recordset.MoveNext
Loop


End Sub

Private Sub Form_Activate()
bersih
nonaktif
auto
ttgl.Text = Date
tjam.Text = Time()

isidetail = True
ttgltrans = Date
End Sub

Private Sub oac_Click()
If oac = True Then
onon.Enabled = False
ttambahan.Text = 20000
End If
tqty.SetFocus
End Sub

Private Sub onon_Click()
If onon = True Then
oac.Enabled = False
ttambahan.Text = 0
End If
End Sub





Private Sub tnotrans_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ckode.SetFocus
End If
End Sub

Private Sub tqty_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ttobay.Text = (Val(ttambahan.Text) + Val(ttarif.Text) * Val(tqty.Text))
tubay.SetFocus
End If
End Sub

Private Sub tubay_Change()
tukem.Text = Val(tubay.Text) - Val(ttobay.Text)
End Sub

Sub auto()
Dim urut As String * 4
Dim hitung As Integer
With adodetail.Recordset
If .RecordCount = 0 Then
tnotrans = "F" + "001"
Else
.MoveLast
urut = Val(Right(!notrans, 3))
hitung = urut + 1
If hitung < 10 Then tnotrans = "F" + "00" + Trim(Str(hitung)) Else tnotrans = "F" + Trim(Str(hitung)) End If End If End With End Sub D. Form Menu Utama



Listing :

Dim stri As String
Dim i

Private Sub Form_Load()
stri = "SELAMAT DATANG DI LOKET CAPCUS"
i = 0
End Sub

Private Sub Form_Unload(Cancel As Integer)
Do
Me.Top = Me.Top + 40
Me.Move , Me.Left, Me.Top
DoEvents
Loop Until Me.Top > Screen.Height - 500
Unload Me: End
End Sub





Private Sub lbus_Click()
crybus.Action = 1
End Sub

Private Sub lpen_Click()
crypen.Action = 1
End Sub

Private Sub ltrans_Click()
crytrans.Action = 1
End Sub

Private Sub tbus_Click()
Form1.Show
End Sub

Private Sub texit_Click()
End
End Sub

Private Sub tformtrans_Click()
Form3.Show
End Sub

Private Sub Timer1_Timer()
Me.Width = Me.Width + 400
If Me.Width >= 9000 Then
Timer1.Enabled = False
End If
End Sub

Private Sub Timer2_Timer()
Static a
a = a + 10:
If a > 200 Then
Label1.ForeColor = (Rnd * 255)
End If
End Sub

Private Sub tpen_Click()
Form2.Show
End Sub
LOVEMYLIFE © 2008. Design by :Yanku Templates Sponsored by: Tutorial87 Commentcute