<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Review dan Artikel</title>
	
	<link>http://blog.indochip.com</link>
	<description>Media Kreasi dan Inovasi IndoChip Teamwork</description>
	<pubDate>Wed, 05 Aug 2009 13:58:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ReviewDanArtikel" /><feedburner:info uri="reviewdanartikel" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Membuat Tugas Akhir: Aplikasi PPh Pasal 21 (bag.2)</title>
		<link>http://feedproxy.google.com/~r/ReviewDanArtikel/~3/lo2aLVS7k4M/</link>
		<comments>http://blog.indochip.com/2009/07/membuat-tugas-akhir-aplikasi-pph-pasal-21-bag2/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 02:51:10 +0000</pubDate>
		<dc:creator>Abu Irsyad</dc:creator>
		
		<guid isPermaLink="false">http://blog.indochip.com/?p=188</guid>
		<description><![CDATA[Berikut ini Code untuk Form Input, yg terbagi menjadi 2 bagian.

Form Input Karyawan
Form Input Tenaga Ahli

frmInputKaryawan.frm
Option Explicit
Private Sub cboStatus_Click()
cboPtkp.Text = cboPtkp.List(cboStatus.ListIndex)
txtGP.SetFocus
SendKeys &#8220;{Home}+{End}&#8221;
End Sub
Private Sub cmdClear_Click()
ProsesBersih
End Sub
Private Sub cmdExit_Click()
If MsgBox(&#8221;Yakin akan keluar?&#8221;, vbQuestion + vbOKCancel, &#8220;Konfirmasi&#8230;&#8221;) = vbOK Then Unload Me
End Sub
Private Sub cmdHapus_Click()
Dim strNPWP As String
strNPWP = MaskEdBox1.Text
If MsgBox(&#8221;Yakin Hapus data NPWP: &#8221; &#38; strNPWP, [...]]]></description>
			<content:encoded><![CDATA[<p>Berikut ini Code untuk Form Input, yg terbagi menjadi 2 bagian.</p>
<ol>
<li>Form Input Karyawan</li>
<li>Form Input Tenaga Ahli</li>
</ol>
<p><strong>frmInputKaryawan.frm</strong></p>
<p>Option Explicit<br />
Private Sub cboStatus_Click()<br />
cboPtkp.Text = cboPtkp.List(cboStatus.ListIndex)<br />
txtGP.SetFocus<br />
SendKeys &#8220;{Home}+{End}&#8221;<br />
End Sub</p>
<p>Private Sub cmdClear_Click()<br />
ProsesBersih<br />
End Sub</p>
<p>Private Sub cmdExit_Click()<br />
If MsgBox(&#8221;Yakin akan keluar?&#8221;, vbQuestion + vbOKCancel, &#8220;Konfirmasi&#8230;&#8221;) = vbOK Then Unload Me<br />
End Sub</p>
<p>Private Sub cmdHapus_Click()<br />
Dim strNPWP As String</p>
<p>strNPWP = MaskEdBox1.Text<br />
If MsgBox(&#8221;Yakin Hapus data NPWP: &#8221; &amp; strNPWP, vbQuestion + vbYesNo, &#8220;Konfirmasi&#8230;&#8221;) = vbYes Then<br />
SQL = &#8220;DELETE FROM karyawan WHERE npwp=&#8217;&#8221; &amp; strNPWP &amp; &#8220;&#8216;&#8221;<br />
ConnMDB.Execute SQL<br />
MsgBox &#8220;Data sudah diHapus!&#8221;, vbInformation, &#8220;Status&#8230;&#8221;<br />
ProsesBersih<br />
cmdHapus.Enabled = False<br />
cmdSimpan.Enabled = False<br />
MaskEdBox1.SetFocus<br />
End If<br />
End Sub</p>
<p>Private Sub cmdSimpan_Click()<br />
If cmdSimpan.Caption = &#8220;&amp;Simpan&#8221; Then<br />
ProsesSimpan<br />
Else<br />
ProsesEdit<br />
End If<br />
End Sub</p>
<p>Private Sub Form_Load()</p>
<p>Dim lheight, lwidth, loffset, toffset As Integer<br />
&#8216;Atur posisi form<br />
&#8216;Agar ditengah layar<br />
If Me.MDIChild = True Then<br />
lheight = MDIfrmUtama.ScaleHeight<br />
lwidth = MDIfrmUtama.ScaleWidth<br />
Else<br />
lheight = Screen.Height<br />
lwidth = Screen.Width<br />
End If</p>
<p>loffset = ((lwidth - Me.Width) / 2)<br />
toffset = ((lheight - Me.Height) / 2)<br />
Me.Move loffset, toffset</p>
<p>&#8216;Isi Combo Status<br />
With cboStatus<br />
.AddItem &#8220;WP&#8221;<br />
.AddItem &#8220;WP Kawin&#8221;<br />
.AddItem &#8220;Isteri Bekerja&#8221;<br />
.AddItem &#8220;Kawin / 1&#8243;<br />
.AddItem &#8220;Kawin / 2&#8243;<br />
.AddItem &#8220;Kawin / 3&#8243;<br />
.Text = .List(0)<br />
End With</p>
<p>&#8216;Isi Combo PTKP<br />
With cboPtkp<br />
.AddItem &#8220;1,320,000&#8243;<br />
.AddItem &#8220;1,430,000&#8243;<br />
.AddItem &#8220;2,640,000&#8243;<br />
.AddItem &#8220;1,540,000&#8243;<br />
.AddItem &#8220;1,650,000&#8243;<br />
.AddItem &#8220;1,760,000&#8243;<br />
.Text = .List(0)<br />
End With<br />
End Sub<br />
Function CekValidInput() As String<br />
&#8216;Cek Validasi Inputan<br />
Dim obj As Object<br />
CekValidInput = &#8220;&#8221;<br />
For Each obj In Me<br />
If TypeName(obj) = &#8220;TextBox&#8221; Then<br />
Dim strObj As String<br />
strObj = obj.Name<br />
Dim namaTextBox As String<br />
namaTextBox = UCase(Mid(obj.Name, 4, Len(strObj) - 3))<br />
If obj.Text = &#8220;&#8221; Then: CekValidInput = namaTextBox: Exit For<br />
End If<br />
Next<br />
End Function<br />
Sub ProsesSimpan()<br />
If CekValidInput &lt;&gt; &#8220;&#8221; Then<br />
MsgBox CekValidInput &amp; &#8221; belum diisi!&#8221;<br />
Exit Sub<br />
End If</p>
<p>HitungPPh<br />
&#8216;Masuk Database<br />
SQL = &#8220;INSERT INTO karyawan (NPWP, [Nama WP], Alamat, Status, [Gaji Pokok], Tunjangan, Lembur, [Jumlah Penghasilan Tetap], &#8221; &amp; _<br />
&#8220;[Biaya Jabatan], [Jumlah Penghasilan Netto], [Penghasilan Tidak Tetap], [Total Penghasilan], PTKP, PKP, [PPh Pasal 21]) &#8221; &amp; _<br />
&#8220;VALUES (&#8217;&#8221; &amp; MaskEdBox1.Text &amp; &#8220;&#8216;,&#8217;&#8221; &amp; _<br />
txtNama.Text &amp; &#8220;&#8216;,&#8217;&#8221; &amp; _<br />
txtAlamat.Text &amp; &#8220;&#8216;,&#8217;&#8221; &amp; _<br />
cboStatus.Text &amp; &#8220;&#8216;,&#8221; &amp; _<br />
CCur(txtGP.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtTunj.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtLembur.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtTetap.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtJabatan.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtNetto.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtTdkTetap.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtTotal.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(cboPtkp.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtPkp.Text) &amp; &#8220;,&#8221; &amp; _<br />
CCur(txtPPh.Text) &amp; &#8220;)&#8221;</p>
<p>ConnMDB.Execute SQL</p>
<p>MsgBox &#8220;Data sudah terSimpan!&#8221;, vbInformation, &#8220;Status&#8230;&#8221;<br />
cmdSimpan.Enabled = False<br />
MaskEdBox1.SetFocus<br />
ProsesBersih<br />
End Sub</p>
<p><img class="alignright" src="http://blog.indochip.com/images/frmInputKaryawan.JPG" alt="" width="376" height="437" /><br />
Sub ProsesEdit()<br />
If CekValidInput &lt;&gt; &#8220;&#8221; Then<br />
MsgBox CekValidInput &amp; &#8221; belum diisi!&#8221;<br />
Exit Sub<br />
End If</p>
<p>HitungPPh<br />
SQL = &#8220;UPDATE karyawan SET &#8221; &amp; _<br />
&#8220;[Nama WP]=&#8217;&#8221; &amp; txtNama.Text &amp; &#8220;&#8216;&#8221; &amp; _<br />
&#8220;, Alamat=&#8217;&#8221; &amp; txtAlamat.Text &amp; &#8220;&#8216;&#8221; &amp; _<br />
&#8220;, Status=&#8217;&#8221; &amp; cboStatus.Text &amp; &#8220;&#8216;&#8221; &amp; _<br />
&#8220;, [Gaji Pokok]=&#8221; &amp; CCur(txtGP.Text) &amp; _<br />
&#8220;, Tunjangan=&#8221; &amp; CCur(txtTunj.Text) &amp; _<br />
&#8220;, Lembur=&#8221; &amp; CCur(txtLembur.Text) &amp; _<br />
&#8220;, [Jumlah Penghasilan Tetap]=&#8221; &amp; CCur(txtTetap.Text) &amp; _<br />
&#8220;, [Biaya Jabatan]=&#8221; &amp; CCur(txtJabatan.Text) &amp; _<br />
&#8220;, [Jumlah Penghasilan Netto]=&#8221; &amp; CCur(txtNetto.Text) &amp; _<br />
&#8220;, [Penghasilan Tidak Tetap]=&#8221; &amp; CCur(txtTdkTetap.Text) &amp; _<br />
&#8220;, [Total Penghasilan]=&#8221; &amp; CCur(txtTotal.Text) &amp; _<br />
&#8220;, PTKP=&#8221; &amp; CCur(cboPtkp.Text) &amp; _<br />
&#8220;, PKP=&#8221; &amp; CCur(txtPkp.Text) &amp; _<br />
&#8220;, [PPh Pasal 21]=&#8221; &amp; CCur(txtPPh.Text) &amp; _<br />
&#8221; WHERE npwp=&#8217;&#8221; &amp; MaskEdBox1.Text &amp; &#8220;&#8216;&#8221;</p>
<p>ConnMDB.Execute SQL</p>
<p>MsgBox &#8220;Data telah diEdit..&#8221;, vbInformation, &#8220;Status&#8230;&#8221;<br />
ProsesBersih<br />
MaskEdBox1.SetFocus<br />
End Sub</p>
<p>Private Sub MaskEdBox1_KeyPress(KeyAscii As Integer)<br />
If KeyAscii = 13 Then<br />
Dim Rs As New ADODB.Recordset<br />
Dim strNPWP As String</p>
<p>strNPWP = MaskEdBox1.Text<br />
SQL = &#8220;SELECT * FROM karyawan WHERE npwp=&#8217;&#8221; &amp; strNPWP &amp; &#8220;&#8216;&#8221;<br />
Rs.Open SQL, ConnMDB, adOpenStatic, adLockPessimistic</p>
<p>If Not Rs.EOF Then<br />
txtNama.Text = Rs(&#8221;Nama WP&#8221;).Value<br />
txtAlamat.Text = Rs(&#8221;Alamat&#8221;).Value<br />
cboStatus.Text = Rs(&#8221;Status&#8221;).Value<br />
txtGP.Text = FormatNumber(CCur(Rs(&#8221;Gaji Pokok&#8221;).Value), 0)<br />
txtTunj.Text = FormatNumber(CCur(Rs(&#8221;Tunjangan&#8221;).Value), 0)<br />
txtLembur.Text = FormatNumber(CCur(Rs(&#8221;Lembur&#8221;).Value), 0)<br />
txtTetap.Text = FormatNumber(CCur(Rs(&#8221;Jumlah Penghasilan Tetap&#8221;).Value), 0)<br />
txtJabatan.Text = FormatNumber(CCur(Rs(&#8221;Biaya Jabatan&#8221;).Value), 0)<br />
txtNetto.Text = FormatNumber(CCur(Rs(&#8221;Jumlah Penghasilan Netto&#8221;).Value), 0)<br />
txtTdkTetap.Text = FormatNumber(CCur(Rs(&#8221;Penghasilan Tidak Tetap&#8221;).Value), 0)<br />
txtTotal.Text = FormatNumber(CCur(Rs(&#8221;Total Penghasilan&#8221;).Value), 0)<br />
cboPtkp.Text = FormatNumber(CCur(Rs(&#8221;PTKP&#8221;).Value), 0)<br />
txtPkp.Text = FormatNumber(CCur(Rs(&#8221;PKP&#8221;).Value), 0)<br />
txtPPh.Text = FormatNumber(CCur(Rs(&#8221;PPh Pasal 21&#8243;).Value), 0)<br />
cmdSimpan.Enabled = True<br />
cmdSimpan.Caption = &#8220;&amp;Edit&#8221;<br />
cmdHapus.Enabled = True<br />
Else<br />
ProsesBersih<br />
cmdSimpan.Caption = &#8220;&amp;Simpan&#8221;<br />
cmdSimpan.Enabled = False<br />
cmdHapus.Enabled = False</p>
<p>End If</p>
<p>Rs.Close<br />
Set Rs = Nothing</p>
<p>BukaSemua_TextBox<br />
txtNama.SetFocus<br />
SendKeys &#8220;{Home}+{End}&#8221;<br />
End If<br />
End Sub</p>
<p>Private Sub txtAlamat_KeyPress(KeyAscii As Integer)<br />
KeyAscii = Asc(UCase(Chr(KeyAscii))) &#8216; Buat Huruf GEDE<br />
If KeyAscii = 13 Then cboStatus.SetFocus<br />
End Sub</p>
<p>Private Sub txtGP_KeyPress(KeyAscii As Integer)<br />
If Not (KeyAscii &gt;= Asc(&#8221;0&#8243;) And KeyAscii &lt;= Asc(&#8221;9&#8243;) Or KeyAscii = 13 Or KeyAscii = 8 Or KeyAscii = vbKeyBack) Then KeyAscii = 0<br />
If KeyAscii = 13 Then<br />
txtTunj.SetFocus<br />
HitungPPh<br />
SendKeys &#8220;{Home}+{End}&#8221;<br />
End If<br />
End Sub</p>
<p>Sub BukaSemua_TextBox()<br />
Dim obj As Object<br />
For Each obj In Me<br />
If TypeName(obj) = &#8220;TextBox&#8221; Then<br />
obj.Locked = False<br />
Dim strObj As String<br />
strObj = obj.Name<br />
If strObj = &#8220;txtTetap&#8221; Then obj.Locked = True<br />
If strObj = &#8220;txtJabatan&#8221; Then obj.Locked = True<br />
If strObj = &#8220;txtNetto&#8221; Then obj.Locked = True<br />
If strObj = &#8220;txtTotal&#8221; Then obj.Locked = True<br />
If strObj = &#8220;txtPkp&#8221; Then obj.Locked = True<br />
If strObj = &#8220;txtPph&#8221; Then obj.Locked = True<br />
End If<br />
Next<br />
End Sub</p>
<p>Private Sub txtLembur_KeyPress(KeyAscii As Integer)<br />
If Not (KeyAscii &gt;= Asc(&#8221;0&#8243;) And KeyAscii &lt;= Asc(&#8221;9&#8243;) Or KeyAscii = 13 Or KeyAscii = 8 Or KeyAscii = vbKeyBack) Then KeyAscii = 0<br />
If KeyAscii = 13 Then<br />
txtTdkTetap.SetFocus<br />
HitungPPh<br />
SendKeys &#8220;{Home}+{End}&#8221;<br />
End If<br />
End Sub</p>
<p>Private Sub txtNama_KeyPress(KeyAscii As Integer)<br />
KeyAscii = Asc(UCase(Chr(KeyAscii))) &#8216; Buat Huruf GEDE<br />
If KeyAscii = 13 Then txtAlamat.SetFocus: SendKeys &#8220;{Home}+{End}&#8221;<br />
End Sub</p>
<p>Private Sub txtTdkTetap_KeyPress(KeyAscii As Integer)<br />
If Not (KeyAscii &gt;= Asc(&#8221;0&#8243;) And KeyAscii &lt;= Asc(&#8221;9&#8243;) Or KeyAscii = 13 Or KeyAscii = 8 Or KeyAscii = vbKeyBack) Then KeyAscii = 0<br />
If KeyAscii = 13 Then<br />
cmdSimpan.Enabled = True<br />
cmdSimpan.SetFocus<br />
HitungPPh<br />
End If<br />
End Sub</p>
<p>Private Sub txtTunj_KeyPress(KeyAscii As Integer)<br />
If Not (KeyAscii &gt;= Asc(&#8221;0&#8243;) And KeyAscii &lt;= Asc(&#8221;9&#8243;) Or KeyAscii = 13 Or KeyAscii = 8 Or KeyAscii = vbKeyBack) Then KeyAscii = 0<br />
If KeyAscii = 13 Then<br />
txtLembur.SetFocus<br />
HitungPPh<br />
SendKeys &#8220;{Home}+{End}&#8221;<br />
End If<br />
End Sub</p>
<p>Sub HitungPPh()<br />
On Error GoTo ErrorHitung<br />
Dim obj As Object<br />
txtNama.Text = Replace(txtNama.Text, &#8220;&#8216;&#8221;, &#8220;&#8221;)<br />
txtAlamat.Text = Replace(txtAlamat.Text, &#8220;&#8216;&#8221;, &#8220;&#8221;)</p>
<p>For Each obj In Me<br />
If TypeName(obj) = &#8220;TextBox&#8221; Then<br />
If obj.Text = &#8220;&#8221; Then obj.Text = 0<br />
End If<br />
Next</p>
<p>txtGP.Text = FormatNumber(CCur(txtGP.Text), 0)<br />
txtTunj.Text = FormatNumber(CCur(txtTunj.Text), 0)<br />
txtLembur.Text = FormatNumber(CCur(txtLembur.Text), 0)<br />
txtTetap.Text = FormatNumber(CCur(txtGP.Text) + CCur(txtTunj.Text) + CCur(txtLembur.Text), 0)<br />
txtTdkTetap.Text = FormatNumber(CCur(txtTdkTetap.Text), 0)</p>
<p>Dim dBiayaJabatan As Double<br />
Dim dPPh As Double<br />
Dim dPkp As Double<br />
Dim dTotal As Double</p>
<p>dBiayaJabatan = CCur(txtTetap.Text * 5 / 100)<br />
txtJabatan.Text = FormatNumber(IIf(dBiayaJabatan &gt; 108000, 108000, dBiayaJabatan), 0)</p>
<p>txtNetto.Text = FormatNumber(CCur(txtTetap.Text) - CCur(txtJabatan.Text), 0)</p>
<p>dTotal = CCur(txtNetto.Text) + CCur(txtTdkTetap.Text)<br />
txtTotal.Text = IIf(dTotal &lt;= 0, 0, FormatNumber(dTotal, 0))</p>
<p>dPkp = CCur(txtTotal.Text) - CCur(cboPtkp.Text)<br />
txtPkp.Text = IIf(dPkp &lt;= 0, 0, FormatNumber(dPkp, 0))</p>
<p>Select Case dPkp<br />
Case Is &lt;= 0: dPPh = 0<br />
Case 1 To 50000000: dPPh = 5 / 100 * dPkp<br />
Case 50000001 To 250000000: dPPh = 15 / 100 * dPkp<br />
Case 250000001 To 500000000: dPPh = 25 / 100 * dPkp<br />
Case Is &gt; 500000000: dPPh = 30 / 100 * dPkp</p>
<p>End Select</p>
<p>txtPPh.Text = FormatNumber(dPPh, 0)<br />
Exit Sub<br />
ErrorHitung:<br />
MsgBox Err.Number &amp; &#8221; &#8221; &amp; Err.Description<br />
End Sub</p>
<p>Sub ProsesBersih()<br />
Dim obj As Object<br />
For Each obj In Me<br />
If TypeName(obj) = &#8220;TextBox&#8221; Then obj.Text = &#8220;&#8221;<br />
Next<br />
End Sub</p>
<img src="http://feeds.feedburner.com/~r/ReviewDanArtikel/~4/lo2aLVS7k4M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.indochip.com/2009/07/membuat-tugas-akhir-aplikasi-pph-pasal-21-bag2/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.indochip.com/2009/07/membuat-tugas-akhir-aplikasi-pph-pasal-21-bag2/</feedburner:origLink></item>
		<item>
		<title>Konfigurasi Autoexec dan Config Clipper Pada Windows</title>
		<link>http://feedproxy.google.com/~r/ReviewDanArtikel/~3/35G6P335So8/</link>
		<comments>http://blog.indochip.com/2009/06/konfigurasi-autoexec-dan-config-clipper-pada-windows/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 10:53:03 +0000</pubDate>
		<dc:creator>Abu Irsyad</dc:creator>
		
		<guid isPermaLink="false">http://blog.indochip.com/?p=159</guid>
		<description><![CDATA[Program yang diCompile menggunakan Clipper biasanya membutuhkan setingan tambahan, antara lain:
1. System Operasi MS-DOS dan Win 9x

AutoExec.Bat: SET CLIPPER=//F:99
Config.Sys: FILES=150 &#124; BUFFERS=50

2. System Operasi Win XP

File AutoExec.Nt di C:\Windows\System32: SET CLIPPER=//F:99
Config.Nt di C:\Windows\System32: FILES=150 &#124; BUFFERS=50

3. System Operasi Win ME:  yang ini agak ribet, setingannya saya agak lupa, nanti cari-cari catetan dulu deh&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Program yang diCompile menggunakan Clipper biasanya membutuhkan setingan tambahan, antara lain:</p>
<p>1. System Operasi <strong>MS-DOS</strong> dan <strong>Win 9x</strong></p>
<ul>
<li>AutoExec.Bat: <em>SET CLIPPER=//F:99</em></li>
<li>Config.Sys: <em>FILES=150</em> | <em>BUFFERS=50</em></li>
</ul>
<p>2. System Operasi <strong>Win XP</strong></p>
<ul>
<li>File AutoExec.Nt di C:\Windows\System32: <em>SET CLIPPER=//F:99</em></li>
<li>Config.Nt di C:\Windows\System32:<em> FILES=150</em> | <em>BUFFERS=50</em></li>
</ul>
<p>3. System Operasi <strong>Win ME</strong>:  <em>yang ini agak ribet, setingannya saya agak lupa, nanti cari-cari catetan dulu deh&#8230;</em></p>
<img src="http://feeds.feedburner.com/~r/ReviewDanArtikel/~4/35G6P335So8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.indochip.com/2009/06/konfigurasi-autoexec-dan-config-clipper-pada-windows/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.indochip.com/2009/06/konfigurasi-autoexec-dan-config-clipper-pada-windows/</feedburner:origLink></item>
		<item>
		<title>Membuat Tugas Akhir: Aplikasi PPh Pasal 21 (bag.1)</title>
		<link>http://feedproxy.google.com/~r/ReviewDanArtikel/~3/JA0Yo40qW9I/</link>
		<comments>http://blog.indochip.com/2009/06/membuat-tugas-akhir-aplikasi-pph-pasal-21-bag1/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 07:13:15 +0000</pubDate>
		<dc:creator>Abu Irsyad</dc:creator>
		
		<guid isPermaLink="false">http://blog.indochip.com/?p=155</guid>
		<description><![CDATA[Lagi enak2 senderan bis makan siang, tau2 pundak ditepuk ma Utut anak Tax.
&#8220;Gw mo TA nih&#8230;, mo ga bikinin Aplikasi PPh Pasal 21?&#8221;
&#8220;Berapa duit?&#8221;
&#8220;150 rb!, tp seminggu ya&#8230;, trus pake VB6&#8243;
&#8220;Ok Deal!&#8221;
 Mendesign Struktur Database
Tentukan dahulu struktur Databasenya, saya tulis dalam vbModul seperti berikut:
mdlUtama.bas
Option Explicit
&#8216; Koneksi DataBase menggunakan:
&#8216; - Reference Microsoft ActiveX Data Object 2.x [...]]]></description>
			<content:encoded><![CDATA[<p>Lagi enak2 senderan bis makan siang, tau2 pundak ditepuk ma Utut anak Tax.</p>
<p>&#8220;Gw mo TA nih&#8230;, mo ga bikinin Aplikasi PPh Pasal 21?&#8221;</p>
<p>&#8220;Berapa duit?&#8221;</p>
<p>&#8220;150 rb!, tp seminggu ya&#8230;, trus pake VB6&#8243;</p>
<p>&#8220;Ok Deal!&#8221;</p>
<p><strong> Mendesign Struktur Database</strong></p>
<p>Tentukan dahulu struktur Databasenya, saya tulis dalam vbModul seperti berikut:</p>
<p><em><strong>mdlUtama.bas</strong></em></p>
<p><em>Option Explicit<br />
&#8216; Koneksi DataBase menggunakan:<br />
&#8216; - Reference Microsoft ActiveX Data Object 2.x Library<br />
&#8216; - Reference ADO Ext. 2.x For DDL and Security</em></p>
<p><em>Public ConnMDB As New ADODB.Connection<br />
Public CatMDB As New ADOX.Catalog<br />
Public CatRpt As New ADOX.Catalog<br />
Public TblMDB As ADOX.Table<br />
Public TblRpt As ADOX.Table<br />
Public strFile As String<br />
Public SQL As String<br />
Public i As Integer<br />
Public strUser As String<br />
Public strPlu As String</em></p>
<p><em>Public Sub Main()</em></p>
<p><em>&#8216; Buka Koneksi DataBase Cukup Sekali saja<br />
&#8216; Panggil Sub Koneksi Database<br />
Call KoneksiData<br />
MDIfrmUtama.Show</em></p>
<p><em>End Sub</em></p>
<p><em>Public Sub KoneksiData()</em></p>
<p><em>&#8216;Letak Database sama dengan Path Aplikasi<br />
strFile = App.Path &amp; &#8220;\Utut.Mdb&#8221;</em></p>
<p><em>&#8216;Cek keberadaan data<br />
If Dir(strFile) = &#8220;&#8221; Then</em></p>
<p><em>&#8216;Jika tidak ada buat Database baru<br />
CatMDB.Create &#8220;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp; strFile &amp; _<br />
&#8220;;Jet OLEDB:Database Password=;&#8221;</em></p>
<p><em>&#8216;Buat Tabel Karyawan<br />
Set TblMDB = New ADOX.Table<br />
With TblMDB<br />
.Name = &#8220;Karyawan&#8221;<br />
.Columns.Append &#8220;NPWP&#8221;, adVarWChar, 50<br />
.Columns.Append &#8220;Nama WP&#8221;, adVarWChar, 100<br />
.Columns.Append &#8220;Alamat&#8221;, adVarWChar, 100<br />
.Columns.Append &#8220;Status&#8221;, adVarWChar, 20<br />
.Columns.Append &#8220;Gaji Pokok&#8221;, adDouble<br />
.Columns.Append &#8220;Tunjangan&#8221;, adDouble<br />
.Columns.Append &#8220;Lembur&#8221;, adDouble<br />
.Columns.Append &#8220;Jumlah Penghasilan Tetap&#8221;, adDouble<br />
.Columns.Append &#8220;Biaya Jabatan&#8221;, adDouble<br />
.Columns.Append &#8220;Jumlah Penghasilan Netto&#8221;, adDouble<br />
.Columns.Append &#8220;Penghasilan Tidak Tetap&#8221;, adDouble<br />
.Columns.Append &#8220;Total Penghasilan&#8221;, adDouble<br />
.Columns.Append &#8220;PTKP&#8221;, adDouble<br />
.Columns.Append &#8220;PKP&#8221;, adDouble<br />
.Columns.Append &#8220;PPh Pasal 21&#8243;, adDouble<br />
End With</em></p>
<p><em>&#8216;Tambah Primari Key dan Index Key<br />
TblMDB.Keys.Append &#8220;PrimeKey&#8221;, adKeyPrimary, &#8220;NPWP&#8221;<br />
TblMDB.Indexes.Append &#8220;IndexKey&#8221;, &#8220;NPWP&#8221;<br />
CatMDB.Tables.Append TblMDB<br />
Set TblMDB = Nothing</em></p>
<p><em>&#8216;Buat Tabel Tenaga Ahli<br />
Set TblMDB = New ADOX.Table<br />
With TblMDB<br />
.Name = &#8220;Tenaga Ahli&#8221;<br />
.Columns.Append &#8220;NPWP&#8221;, adVarWChar, 50<br />
.Columns.Append &#8220;Nama WP&#8221;, adVarWChar, 100<br />
.Columns.Append &#8220;Alamat&#8221;, adVarWChar, 100<br />
.Columns.Append &#8220;Telepon&#8221;, adVarWChar, 30<br />
.Columns.Append &#8220;Penghasilan Bruto&#8221;, adDouble<br />
.Columns.Append &#8220;Keahlian&#8221;, adVarWChar, 100<br />
.Columns.Append &#8220;PPh Dipotong&#8221;, adDouble<br />
End With</em></p>
<p><em>&#8216;Tambah Primari Key dan Index Key<br />
TblMDB.Keys.Append &#8220;PrimeKey&#8221;, adKeyPrimary, &#8220;NPWP&#8221;<br />
TblMDB.Indexes.Append &#8220;IndexKey&#8221;, &#8220;NPWP&#8221;<br />
CatMDB.Tables.Append TblMDB<br />
Set TblMDB = Nothing</em></p>
<p><em>ConnMDB.Open &#8220;Provider=Microsoft.Jet.OLEDB.4.0;&#8221; _<br />
&amp; &#8220;Data Source=&#8221; &amp; strFile &amp; &#8220;;&#8221; &amp; _<br />
&#8220;Jet OLEDB:Database Password=;&#8221;</em></p>
<p><em>Else</em></p>
<p><em>&#8216;Buka Database yang Exist<br />
ConnMDB.Open &#8220;Provider=Microsoft.Jet.OLEDB.4.0;&#8221; _<br />
&amp; &#8220;Data Source=&#8221; &amp; strFile &amp; &#8220;;&#8221; &amp; _<br />
&#8220;Jet OLEDB:Database Password=;&#8221;</em></p>
<p><em>&#8216;Deklarasi Katalog ke Koneksi yang aktif<br />
CatMDB.ActiveConnection = ConnMDB</em></p>
<p><em>End If</em></p>
<p><em>End Sub</em></p>
<p>Selanjutnya tambah<strong> MDIForm</strong> untuk menu</p>
<p><strong>MDIfrmUtama.frm </strong></p>
<p><em>Option Explicit</em></p>
<p><em>Private Sub MDIForm_Load()</em></p>
<p><em>Me.Caption = &#8220;Aplikasi PPh Pasal 21&#8243; &amp; &#8221; versi &#8221; &amp; App.Major &amp; &#8220;.&#8221; &amp; App.Minor</em></p>
<p><em>End Sub</em></p>
<p><em>Private Sub mnKaryawan_Click()<br />
frmKaryawan.Show<br />
End Sub<br />
Private Sub mnRepKaryawan_Click()<br />
Dim strFileReport As String<br />
Dim strTableReport As String</em></p>
<p><em>strFileReport = &#8220;C:\Windows\Temp\UtutReport.Mdb&#8221;<br />
If Dir(strFileReport) = &#8220;&#8221; Then</em></p>
<p><em>CatRpt.Create &#8220;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp; strFileReport &amp; _<br />
&#8220;;Jet OLEDB:Database Password=;&#8221;<br />
Else<br />
CatRpt.ActiveConnection = &#8220;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp; strFileReport &amp; _<br />
&#8220;;Jet OLEDB:Database Password=;&#8221;</em></p>
<p><em>End If</em></p>
<p><em>For Each TblRpt In CatRpt.Tables<br />
&#8216;jika ada tabel ..<br />
If TblRpt.Name = &#8220;Karyawan&#8221; Then CatRpt.Tables.Delete TblRpt.Name<br />
Next</em></p>
<p><em>strTableReport = Left(strFileReport, Len(strFileReport) - 3) &amp; &#8220;Karyawan&#8221;<br />
SQL = &#8220;SELECT * INTO &#8221; &amp; strTableReport &amp; &#8221; FROM karyawan&#8221;<br />
ConnMDB.Execute SQL</em></p>
<p><em>With Crt<br />
.ReportFileName = App.Path &amp; &#8220;\ReportKaryawan.rpt&#8221;<br />
.RetrieveDataFiles<br />
.Action = 1<br />
End With<br />
End Sub</em></p>
<p><em>Private Sub mnRepTenagaAhli_Click()<br />
Dim strFileReport As String<br />
Dim strTableReport As String</em></p>
<p><em>strFileReport = &#8220;C:\Windows\Temp\UtutReport.Mdb&#8221;<br />
If Dir(strFileReport) = &#8220;&#8221; Then</em></p>
<p><em>CatRpt.Create &#8220;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp; strFileReport &amp; _<br />
&#8220;;Jet OLEDB:Database Password=;&#8221;<br />
Else<br />
CatRpt.ActiveConnection = &#8220;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&#8221; &amp; strFileReport &amp; _<br />
&#8220;;Jet OLEDB:Database Password=;&#8221;</em></p>
<p><em>End If</em></p>
<p><em>For Each TblRpt In CatRpt.Tables<br />
&#8216;jika ada tabel ..<br />
If TblRpt.Name = &#8220;Tenaga Ahli&#8221; Then CatRpt.Tables.Delete TblRpt.Name<br />
Next</em></p>
<p><em>strTableReport = Left(strFileReport, Len(strFileReport) - 3) &amp; &#8220;[Tenaga Ahli]&#8221;<br />
SQL = &#8220;SELECT * INTO &#8221; &amp; strTableReport &amp; &#8221; FROM [Tenaga Ahli]&#8221;<br />
ConnMDB.Execute SQL</em></p>
<p><em>With Crt<br />
.ReportFileName = App.Path &amp; &#8220;\ReportAhli.rpt&#8221;<br />
.RetrieveDataFiles<br />
.Action = 1<br />
End With<br />
End Sub</em></p>
<p><em>Private Sub mnTenagaAhli_Click()<br />
frmTenagaAhli.Show<br />
End Sub<br />
</em></p>
<p>Design tiap-tiap Laporan dengan Crystal Report 8.5, ambil data dari tabel Karyawan dan Tenaga Ahli.</p>
<p><strong>Form Inputan</strong> akan dibahas di <strong>bagian 2</strong> nanti.</p>
<p>Untuk sesion ini apa ada pertanyaan?</p>
<p><em><br />
</em></p>
<p><strong> </strong></p>
<img src="http://feeds.feedburner.com/~r/ReviewDanArtikel/~4/JA0Yo40qW9I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.indochip.com/2009/06/membuat-tugas-akhir-aplikasi-pph-pasal-21-bag1/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.indochip.com/2009/06/membuat-tugas-akhir-aplikasi-pph-pasal-21-bag1/</feedburner:origLink></item>
		<item>
		<title>Koneksi PCtoPC Dengan OS MS-DOS (bag. 1)</title>
		<link>http://feedproxy.google.com/~r/ReviewDanArtikel/~3/2bJ19CXqqzg/</link>
		<comments>http://blog.indochip.com/2009/05/koneksi-pctopc-dengan-os-ms-dos-bag-1/#comments</comments>
		<pubDate>Sun, 03 May 2009 13:44:14 +0000</pubDate>
		<dc:creator>Abu Irsyad</dc:creator>
		
		<guid isPermaLink="false">http://blog.indochip.com/?p=151</guid>
		<description><![CDATA[Tulisan yang ini mungkin dianggap agak basi buat dedengkotnya IT, tapi boleh dites ke anak IT jebolan sekarang, pasti mereka geleng-geleng alias bingung gmana caranya bikin konek 2 PC yang bersistem operasi DOS.
Zaman dulu tuh waktu OS nya masih DOS, kepikiran ga gmana caranya mereka bisa saling komunikasi data, bisa sharing file, bisa chating. Pernah [...]]]></description>
			<content:encoded><![CDATA[<p>Tulisan yang ini mungkin dianggap agak basi buat <em>dedengkotnya IT</em>, tapi boleh dites ke <em>anak IT jebolan sekarang</em>, pasti mereka <em>geleng-geleng</em> alias bingung gmana caranya bikin konek <strong>2 PC</strong> yang bersistem operasi <strong>DOS</strong>.</p>
<p>Zaman dulu tuh waktu OS nya masih DOS, kepikiran ga gmana caranya mereka bisa saling komunikasi data, bisa sharing file, bisa chating. Pernah lihat <strong>Sistem POS (Point of Sales)</strong> tahun 90-an. Antaran Komputer yang satu dengan yang lainnya memakai Database yang sama, program yang dipakai biasanya hasil compile dari<strong> FoxPro</strong> atau <strong>Clipper</strong>.</p>
<p>Agak unik memang, tapi apa keuntungannya bila diterapkan dijaman sekarang? pertanyaan yang bagus, akan saya coba jawab:</p>
<p><em>&#8220;Jika anda atau teman anda atau paman anda atau tetangga anda yang mempunyai Warung/Minimarket dengan modal yang terbatas, coba tawarkan untuk membeli komputer seken Pentium I / II paling-paling harganya ga sampai 400 ribu, sudah termasuk CPU+Monitor, syukur-syukur ada yang ngasih, dari pada jadi sarang kecoa digudang, lebih baik diberdayakan. <strong>Install DOS 6.22 </strong>(recomended), Googling Program POS yang under DOS, mungkin aja ada yang sudah FREE</em>. &#8221;</p>
<p>Bisa dicoba link berikut <a href="http://pages.prodigy.net/daleharris/pos3.htm" target="_blank">http://pages.prodigy.net/daleharris/pos3.htm</a></p>
<p>&#8211; udh malem nih, bersambung aja ke Bag. 2 ya&#8230; &#8211;</p>
<img src="http://feeds.feedburner.com/~r/ReviewDanArtikel/~4/2bJ19CXqqzg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.indochip.com/2009/05/koneksi-pctopc-dengan-os-ms-dos-bag-1/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.indochip.com/2009/05/koneksi-pctopc-dengan-os-ms-dos-bag-1/</feedburner:origLink></item>
		<item>
		<title>Clipper Decompiler</title>
		<link>http://feedproxy.google.com/~r/ReviewDanArtikel/~3/dg4iP0tkfBI/</link>
		<comments>http://blog.indochip.com/2009/04/clipper-decompiler/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 08:27:19 +0000</pubDate>
		<dc:creator>Abu Irsyad</dc:creator>
		
		<guid isPermaLink="false">http://blog.indochip.com/?p=143</guid>
		<description><![CDATA[Saya dapat Program ini dari temen, katanya bisa melihat PRG (Source Code) untuk Clipper yang sudah menjadi EXE.
Nama Programnya VPP.EXE, setelah dicoba-coba ga berhasil tuh ngeliat Source Code dari EXE. Muncul Error seperti dibawah:

Mungkin temen2 lebih beruntung dari saya, yg mau coba bisa download di sini.
Kalo udah berhasil, info ya ke saya&#8230; ditunggu lho&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Saya dapat Program ini dari temen, katanya bisa melihat PRG (Source Code) untuk Clipper yang sudah menjadi EXE.</p>
<p>Nama Programnya VPP.EXE, setelah dicoba-coba ga berhasil tuh ngeliat Source Code dari EXE. Muncul Error seperti dibawah:</p>
<p><img class="alignleft" src="http://blog.indochip.com/images/Valkyrie.jpg" alt="" width="393" height="203" /></p>
<p>Mungkin temen2 lebih beruntung dari saya, yg mau coba bisa download <a href="http://www.ziddu.com/download/4411051/VppClipper.zip.html" target="_blank">di sini</a>.</p>
<p>Kalo udah berhasil, info ya ke saya&#8230; ditunggu lho&#8230;</p>
<img src="http://feeds.feedburner.com/~r/ReviewDanArtikel/~4/dg4iP0tkfBI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.indochip.com/2009/04/clipper-decompiler/feed/</wfw:commentRss>
		<feedburner:origLink>http://blog.indochip.com/2009/04/clipper-decompiler/</feedburner:origLink></item>
	</channel>
</rss>
