Minggu, 10 Juni 2012

LATIHAN SOAL

Listing Programnya:
Private Sub cmdclear_Click()
kodeoli = ""
jumlahbeli = ""
merkoli = ""
hargaoli = ""
pembayaran = ""
potongan = ""
ppn = ""
service = ""
totalbayar = ""
uangbayar = ""
uangkembali = ""
Combo1.Text = ""
Option1.Value = 0
Option2.Value = 0
End Sub

Private Sub cmdhitung_Click()
If Option1 Then
pembayaran = Val(jumlahbeli) * Val(hargaoli) + 5000
    Else
pembayaran = Val(jumlahbeli) * Val(hargaoli) + 3000
End If
If pembayaran > 80000 Then
potongan = 0.1 * Val(pembayaran)
Else
potongan = 0
End If
ppn = 0.5 * Val(pembayaran)
totalbayar = Val(pembayaran) - Val(potongan) + Val(ppn)

End Sub

Private Sub Combo1_Click()
Dim kode
kode = Combo1.Text
Select Case kode
Case "Penzoil"
    merkoli = "Penzoil"
    hargaoli = 35000
Case "Agip"
    merkoli = "Agip"
    hargaoli = 30000
Case "Top One"
    merkoli = "Top One"
    hargaoli = 27500
Case "4"
    merkoli = "Mesran"
    hargaoli = 20000
End Select


End Sub

Private Sub Form_Load()
Combo1.AddItem "Penzoil"
Combo1.AddItem "Agip"
Combo1.AddItem "Top One"

End Sub

Private Sub Option1_Click()
service = 5000

End Sub

Private Sub Option2_Click()
service = 3000
End Sub

Private Sub uangbayar_lostfocus()
uangkembali = Val(uangbayar) - Val(totalbayar)
End Sub

Contoh latihan:

Private Sub CMDDELETE_Click()
If MsgBox("Yakin Akan Hapus Data?", vbYesNo, "Info Azach") = vbYes Then
Data1.Recordset.Delete
Data1.Recordset.MoveFirst
End If
End Sub

Private Sub CMDEXIT_Click()
X = MsgBox("Yakin Akan Keluar??", vbOKCancel, "Bioskop 21 Nonstop")
If X = vbOK Then
End
End If
End Sub


Private Sub CMDNEW_Click()
TXTJUDUL = ""
TXTSTUDIO = ""
TXTHARGA = ""
TXTJB = ""
TXTJML = ""
TXTDISCOUNT = ""
TXTTOTAL = ""
Combo1.SetFocus
End Sub

Private Sub CMDSAVE_Click()
Data2.Recordset.AddNew
Data2.Recordset!Kd_Film = Combo1
Data2.Recordset!Judul = TXTJUDUL
Data2.Recordset!Studio = TXTSTUDIO
Data2.Recordset!Harga = TXTHARGA
Data2.Recordset!Jml_Beli = TXTJB
Data2.Recordset!Jumlah = TXTJML
Data2.Recordset!Discount = TXTDISCOUNT
Data2.Recordset!Total = TXTTOTAL
Data2.Recordset.Update
End Sub

Private Sub CMDSEARCH_Click()
X = InputBox("Silahkan Input Kode Film Yang Anda Cari!!", "Pencarian Data")
Data1.Recordset.Indeks = "KODE"
If Data1.Recordset.NoMatch Then
X = MsgBox("Data Tidak Ditemukan", vbInformation, "Pencarian Data")
End If
End Sub


Private Sub Combo1_Click()
Select Case Combo1.ListIndex
Case 0
TXTJUDUL = "BROWNIES"
TXTSTUDIO = 1
TXTHARGA = 20000
Case 1
TXTJUDUL = "EKSKUL"
TXTSTUDIO = 1
TXTHARGA = 22500
Case 2
TXTJUDUL = "HEART"
TXTSTUDIO = 1
TXTHARGA = 15000
Case 3
TXTJUDUL = "MISSION IMPOSIBLE"
TXTSTUDIO = 1
TXTHARGA = 25000
Case Else
TXTJUDUL = "RUMAH PONDOK INDAH"
TXTSTUDIO = 2
TXTHARGA = 17500
End Select
End Sub

Private Sub Form_Activate()
Combo1.AddItem "BR102"
Combo1.AddItem "EL102"
Combo1.AddItem "HR101"
Combo1.AddItem "MI101"
Combo1.AddItem "PI203"
End Sub

Private Sub TXTDISCOUNT_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
TXTTOTAL = Val(TXTJML) - Val(TXTDISCOUNT)
End If
End Sub

Private Sub TXTJB_Change()
TXTJML = Val(TXTHARGA) * Val(TXTJB)
If Val(TXTJB) >= 10 Then
TXTDISCOUNT = 0.1 * Val(TXTJML)
ElseIf Val(TXTJB) >= 5 Then
TXTDISOUNT = 0.05 * Val(TXTJML)
Else
TXTDISCOUNT = 0
End If
End Sub
VISUAL BASIC

Listing Modul :

Public conn As ADODB.Connection
Public rsbarang As ADODB.Recordset
Public rstrans As ADODB.Recordset
Public rssmt As ADODB.Recordset

Public Sub koneksi()
Set conn = New ADODB.Connection
Set rsbarang = New ADODB.Recordset
Set rstrans = New ADODB.Recordset
Set rssmt = New ADODB.Recordset
conn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=penjualan_12086546"
End Sub

Listing Form :

Dim a, b, c As Variant

Function totalharga()
Call koneksi
rssmt.Open "sementara", conn
rssmt.MoveFirst
ttotal = 0
Do While Not rssmt.EOF
ttotal = ttotal + rssmt!total
rssmt.MoveNext
Me.tjumbay = Format(ttotal, "#,###,###")
Loop
End Function

Function caridata()
Call koneksi
rsbarang.Open "select*from barang where kobar='" & tkobar & "'", conn
With rsbarang
If Not rsbarang.EOF Then
    Me.tnabar = !nabar
    Me.tharga = !harga
    c = !stok
    Me.tjumbel.SetFocus
Else
    MsgBox ("Data barang tidak ada!!!")
    tkobar = ""
    tkobar.SetFocus
End If
End With
End Function

Sub aktif()
tkobar.Enabled = True
Me.tjumbel.Enabled = True
Me.tubay.Enabled = True
End Sub
Sub nonaktif()
For Each x In Me
If TypeName(x) = "TextBox" Then
x.Enabled = False
End If
Next
End Sub

Sub bersih()
For Each x In Me
If TypeName(x) = "TextBox" Then
x.Text = ""
End If
Next
End Sub

Private Sub cbatal_Click()
Call koneksi
rssmt.Open "delete from sementara", conn
Form_Activate
Me.ctambah.Enabled = True
End Sub

Private Sub ckeluar_Click()
Unload Me
End Sub

Private Sub csimpan_Click()
On Error Resume Next
Dim SQLSimpan As String
Call koneksi
rssmt.Open "sementara", conn
rssmt.MoveFirst
    Do While Not rssmt.EOF
        If rssmt!kobar <> vbNullString Then
        rsbarang.Open "select*from barang where kobar='" & rssmt!kobar & "'", conn
        If Not rsbarang.EOF Then
            Dim kurangi As String
            kurangi = "update barang set stok='" & rsbarang!stok - rssmt!jumbel & "' where kobar='" & rssmt!kobar & "'"
            conn.Execute kurangi
        End If
    End If
  rssmt.MoveNext
  Loop
  rssmt.MoveFirst
  Do While Not rssmt.EOF
  SQLSimpan = "insert into transaksi values('" & tnofak & "','" & ttgl & "','" & rssmt!kobar & "','" & rssmt!jumbel & "','" & rssmt!total & "')"
  conn.Execute SQLSimpan
  rssmt.MoveNext
Loop
cbatal_Click
End Sub

Private Sub ctambah_Click()
aktif
bersih
Call koneksi
rstrans.Open "select*from transaksi order by nofak desc", conn
If rstrans.BOF Then
urutan = "0001"
Else
hitung = Trim(Str(Val(Right(rstrans!nofak, 4) + 1)))
        If Val(hitung) < 10 Then
        urutan = "000" + hitung
        ElseIf Val(hitung) < 100 Then
        urutan = "00" + hitung
        ElseIf Val(hitung) < 1000 Then
        urutan = "0" + hitung
        Else
        urutan = hitung
        End If
End If
tnofak = "F" + urutan
tkobar.SetFocus
tkobar.MaxLength = 5
ctambah.Enabled = False
csimpan.Enabled = True
cbatal.Enabled = True
End Sub

Private Sub Form_Activate()
Call koneksi
conn.CursorLocation = adUseClient
rssmt.Open "sementara", conn
With rssmt
If Not (.BOF And .EOF) Then
a = .Bookmark
End If
End With
Set DataGrid1.DataSource = rssmt.DataSource
bersih
nonaktif
Me.csimpan.Enabled = False
Me.cbatal.Enabled = False
Me.ctambah.Enabled = True
Me.ckeluar.Enabled = True
ctambah.SetFocus
End Sub


Private Sub Timer1_Timer()
ttgl = Format(Now, "yyyy-mm-dd")
If Label1.ForeColor = vbBlue Then
    Label1.ForeColor = vbYellow
Else
If Label1.ForeColor = vbYellow Then
    Label1.ForeColor = vbRed
Else
If Label1.ForeColor = vbRed Then
    Label1.ForeColor = vbWhite
Else
If Label1.ForeColor = vbWhite Then
    Label1.ForeColor = vbGreen
Else
If Label1.ForeColor = vbGreen Then
    Label1.ForeColor = vbBlack
Else
    Label1.ForeColor = vbBlue
End If
End If
End If
End If
End If
End Sub

Private Sub tjumbel_KeyPress(KeyAscii As Integer)
Dim total As Double
Dim SQLSementara As String
If KeyAscii = 13 Then
    If Val(tjumbel) > c Then
    MsgBox ("Jumlah Kurang,,Masukkan yang lebih kecil")
    tjumbel = ""
    tjumbel.SetFocus
    Else
    lagi = MsgBox("Ingin Tambah Data Lagi???", vbYesNo + vbQuestion, "TOKO DVD CITRA BUANA")
    If lagi = vbYes Then
    ttotal = ""
    ttotal = Val(tharga) * Val(tjumbel)
    SQLSementara = "insert into sementara values('" & tkobar & "','" & tnabar & "','" & Val(tjumbel) & "','" & Val(tharga) & "','" & Val(ttotal) & "')"
    conn.Execute SQLSementara
    DataGrid1.Refresh
    Call koneksi
    conn.CursorLocation = adUseClient
    rssmt.Open "sementara", conn
    Set DataGrid1.DataSource = rssmt.DataSource
    totalharga
    aktif
    tkobar = ""
    tnabar = ""
    tharga = ""
    tjumbel = ""
    tkobar.SetFocus
    Else
    ttotal = Val(tharga) * Val(tjumbel)
    SQLSementara = "insert into sementara values('" & tkobar & "','" & tnabar & "','" & Val(tjumbel) & "','" & Val(tharga) & "','" & Val(ttotal) & "')"
    conn.Execute SQLSementara
    DataGrid1.Refresh
    Call koneksi
    conn.CursorLocation = adUseClient
    rssmt.Open "sementara", conn
    Set DataGrid1.DataSource = rssmt.DataSource
    totalharga
    tubay.SetFocus
    End If
End If
End If
End Sub

Private Sub tkobar_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
caridata
End If
End Sub

Private Sub tubay_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(tubay) < tjumbay Then
MsgBox " Uang Bayar Kurang.....!!!!"
tubay = ""
tubay.SetFocus
Else
tukem = Format(Val(tubay) - tjumbay, "#,###,###")
csimpan.SetFocus
End If
End If
End Sub

Jumat, 27 Januari 2012

Selasa, 30 November 2010

"BINTANG"

BintANG Itu sampai saat ini masih sendirii............
Bintang itu belum punya tujuan akhir hidupnya...
Kasihan......
Sampai kapan dia harus hidup sendiri....
Setiap langkahnya tidak pasti...
Setiap Ucapannya Tidak tentu Arah...
Untuk siapa atau kepada siapa....
Bintang....
Cobalah untuk tidak sendiri...
carilah hidupmu....
Carilah bulanmu....
agar tidak sendiri...
agar kau tidak merasa sepi....
sendiri...
terluka....

Kamis, 01 Oktober 2009

Negeriku Menangis Lagi

Sobat....
Belum lagi air mata ini kering
Air mata ini harus jatuh kembali
hati ini harus merasa lagi pilu

Sobat....
Mari kita bercermin
Mari kita intropeksi
Siapa yang akan menolong
Siapa yang akan memberi


Banyak orang hanya berkata kasihan
Banyak orang hanya mencaci
Tapi mereka tidak sadar kalau kita dibutuhkan
Kalau kita ditunggu.....

Luka saudara kita adalah luka kita
Perih saudara kita adalah perih kita
Hancur saudara kita adalah hancur kita
Tapi kenapa masi banyak yang ingin aman sendiri

Sobat....
Sebagai bangsa ini aku malu
malu kepada diriku yang tak berguna
hanya memandang tanpa mau turun membantu

Minggu, 26 Juli 2009

Trend Sofware Engineering


Trend software engineering
Software Engineering atau dalam bahasa indonesianya disebut dengan Rekayasa Perangkat Lunak (RPL) menurut beberapa ahli dapat didefinisikan sebagai suatu pendekatan yang sistematik, terstuktur dan dapat dikuantifikasi untuk pengembangan, pengoperasian dan pemeliharaan perangkat lunak. Seperti apa yang dikatakan oleh Ian Sommervile bahwa “Rekayasa perangkat lunak berkaitan dengan teori, metode dan tools yang diperlukan dalam mengembangkan perangkat lunak untuk komputer”. Menurut Mynat “Rekayasa Perangkat lunak secara sederhana dinyatakan sebagai pendekatan sistematis untuk menciptaan dan pemilikan perangkat lunak”.
Hampir seluruh manusia memimpikan tentang cara baru dan lebih baik untuk menggunakan perangkat komputer dan sistem. Sedangkan pengembangan jumlah aplikasi telah berkembang terus-menerus, sehingga pengguna memiliki daftar aplikasi yang ingin digunakan. Nampaknya semakin kita menulis program, maka semakin kita memahami apa yang kita butuhkan, dan akan menambah program-program didalam pengembangan aplikasi keamanan. Sejauh ini, tingkat pertumbuhan permintaan aplikasi berkembang sangat cepat. Alasan ini bahwa pertumbuhan aplikasi pemrograman sangat efektif untuk memenuhi berbagai jenis kebutuhan manusia. Selama manusia menemukan hal baru dan cara untuk bekerja dan bermain, maka mereka dapat berharap pertumbuhan aplikasi komputer dapat berkembang. Semakin lebih banyak kita belajar tentang sistem dan komputerisasi maka kita akan dapat memecahkan masalah, kita lebih memahami bagaimana untuk menangani masalah yang lebih rumit dan menarik masalah serta mencari solusi untuk jalan masalah kita. Oleh karena kecerdasan manusia tak terbatas, maka pada dasarnya jumlah program yang dibutuhkan di dunia juga tidak terbatas.
A. Kualitas Program
Sistem program berfokus pada cara untuk menyediakan sistem secara otomatis, alat-alat, dan sarana untuk membantu manusia didalam memproduksi dan menjalankan program aplikasi. Beberapa program berkualitas tinggi dan sebaliknya masih banyak yang berkualitas rendah. Pembahasan mengenai kualitas aplikasi terdiri dari dua bagian. Pertama, penggunaan komputer akan semakin penting untuk aplikasi bisnis. Ini berarti, bahwa pada saat ini tingkat kualitas membawa dampak pertumbuhan perangkat lunak. Hal ini menunjukkan bahwa kebutuhan untuk aplikasi perangkat lunak berkualitas tinggi juga akan tumbuh. Sampai saat ini, orang membeli dan menggunakan perangkat lunak tanpa melihat dan memperhatikan kualitas. Walaupun mereka mengeluh tentang masalah mutu, kualitas perangkat lunak belum menjadi pertimbangan penting . Sampai sekarang, kami tidak dapat mengharapkan supplier untuk memberikan spesifikasi dan kualitas produk. Kemudian, mereka mungkin akan menuntut adanya jaminan mutu dan jaminan dari para distributor sebelum mereka menggunakan sistem komputerisasi yang baru. Ketika pelanggan tidak yakin akan kualitas paket perangkat lunak, mereka akan kembali lagi mengunakan aplikasi dan terus menggunakan metode yang sebelumnya. Ini tidak akan secara otomatis karena metode tidak akan pernah bermanfaat, tetapi lebih dikarenakan risiko kegagalan terlalu tinggi.

B. Kompleksitas Pertumbuhan Program

Bagian kedua dari kualitas program pembahasan mengenai keprihatinan ukuran dan kompleksitas dari aplikasi program yang meningkat. Ukuran data dalam Gambar 1 menunjukkan bagaimana pertumbuhan hal tersebut. Pengukuran IBM berasal dari tindakan yang diinginkan, Pengukuran Microsoft NT berasal dari ukuran data yang diterbitkan dalam laporan, dan ukuran data angkasa dari Barry Boehm [Boehm 81, Zachary 94]. TV data adalah untuk kode tertanam di set televisi dan telah dibicarakan oleh Hans Aerts dan lain-lain di konferensi Eropa SEPG pada Juni 2000. Menurut definisi saya, produk-produk perangkat lunak IBM dan Microsoft untuk sistem angkasa dan program aplikasi perangkat lunak TV.
Data ini menunjukkan bahwa jumlah perangkat lunak yang diperlukan untuk berbagai macam sistem dan aplikasi telah berkembang eksponensial selama 40 tahun. kecenderungan baris di bagian tengah menunjukkan grafik tingkat pertumbuhan majemuk dari sepuluh kali setiap lima tahun. Ini sama dengan hukum Moore untuk pertumbuhan jumlah Semikonduktor pada chip, atau dua kali lipat setiap 18 bulan. Sedangkan ukuran pertumbuhan sistem perangkat lunak bersifat fenomenal nampaknya bersifat memperlambat, setidaknya pada tampilan IBM dan data NT dalam Gambar 1. Saya membahas tren perangkat lunak sistem ini dalam kolom selanjutnya. Point penting dari kualitas aplikasi point of view ini adalah bahwa kecenderungan pertumbuhan untuk aplikasi perangkat lunak akan terus muncul.
Dengan anggapan metode yang digunakan sama, program pertumbuhan linier jumlah cacat dengan ukuran yang sama. Namun, masalah di tingkat pengguna program aplikasi ditentukan oleh jumlah cacat dalam sebuah program mereka daripada kepadatan. Oleh karena itu, walaupun kepadatan sama tetap terjadi atau bahkan meningkat, namun memproduksi program yang lebih besar dengan metode yang sama hanya akan menghasilkan sistem progresif yang kurang handal. Jadi, kualitas aplikasi perangkat lunak di masa depan harus meningkat paling tidak dalam langkah, dengan cara meningkatkan sensitivitas dari aplikasi atau membatasi usaha mereka harus dalam menggunakan komputasi sistem aplikasi yang kurang penting.
Untuk mengetahui mengapa program keandalan tergantung kerusakan nomor bukan kepadatan kerusakan, pertimbangkan sebuah contoh. J 200 KLOC (seribu baris kode) program dengan 5 diketahui kerusakan per KLOC akan ada 1.000 kerusakan. Jika anda mengganti program ini dengan program yang disempurnakan yaitu program 2000 KLOC dan kepadatan kerusakan yang sama, akan ada 10.000 kerusakan. Dengan asumsi bahwa pengguna menggunakan siklus yang sama dengan aplikasi baru, mereka akan melaksanakan program yang lebih besar dengan tingkat yang sama seperti sebelumnya. Sementara ini akan membutuhkan komputer yang lebih cepat, pengguna akan menemukan sepuluh kali lebih banyak kerusakan dalam jumlah waktu yang sama. Hal ini, tentu saja, dengan menganggap bahwa sebenarnya pengguna menggunakan banyak peningkatan fungsi program yang baru. Jika mereka tidak melakukan hal tersebut, mungkin tidak akan ada program yang diperlukan.
Kesimpulannya adalah bahwa proses pengujian tidak akan meningkatkan ukuran program. Sejak kualitas program ini termarjinal dan permintaan kualitas meningkat, saat ini kualitas perangkat lunak praktek tidak akan cukup di masa depan.

C. Dampak Kualitas Rendah

Pertumbuhan kesalahan biaya aplikasi yang semakin besar terlihat pada dampak erforma bisnis menjadi kualitas program aplikasi akan semakin lebih penting. Sementara ini Perkembangan komunitas perangkat lunak menjadi sebuah perkembangan positif. Penyebab umumnya pemasok tidak akan memperhatikan kualitas sampai pelanggan mulai meminta hal itu. Bila kualitas perangkat lunak menjadi pertimbangan ekonomi yang penting untuk bisnis, kami berharap organisasi untuk memberikan prioritas yang lebih tinggi untuk perangkat lunak tersebut. Walaupun kita berharap bahwa industri perangkat lunak akan mengenali keunggulan kualitas pekerjaan sebelum mereka dipaksa, tidak ada tanda-tanda yang mendorong kea rah tersebut. Namun, meningkatkan kualitas produk di bidang industri menjadi hal terbaik. Ini berarti akan meningkatkan peluang bagi sistem komputasi dan peningkatan permintaan untuk pemasok 'produk. Ini juga berarti akan menjadikan permintaan professional terampil untuk perangkat lunak tumbuh. Pada kolom berikutnya, saya mendiskusikan kebutuhan keterampilan aplikasi dan bagaimana secara langsung berkaitan dengan masalah kualitas program ini. Setelah itu, kita akan membicarakan hal yang terkait dengan tren sistem pemrograman dan implikasi dari tren ini untuk software engineering.

Reference
Hatton, Les. "How Accurate is Scientific Software?" IEEE Transactions on Software Engineering, Vol. 20, No. 10 (October 1994): 785-797.

Zachary, G. Pascal. 1994.Showstopper! New York: The Free Press.

Sommerville,Ian.1992.Software Engineering.New York.Addison-Wesley

Boehm, Barry.1981. Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall.