Sistem Informasi Penerimaan Mahasiswa Baru

21 Desember 2009

Identifikasi Masalah

Keberadaan sistem informasi dalam organisasi sudah teruji dapat mempertahankan kelangsungan hidupnya. Sistem informasi yang baik dapat mengalirkan informasi-informasi ke seluruh tingkatan organisasi baik tingkatan operasional, manajemen dan taktik. Aliran informasi yang cepat, tepat, akurat dan aman akan mempermudah pihak manajemen dalam pengambilan keputusannya. Keputusan-keputusan yang dihasilkan akan mampu membawa organisasi menghadi tekananan-tekanan baik internal maupun internal.
Organisasi seperti perguruan tinggi tidak bisa juga terlepas dari hal-hal tersebut di atas. Perguruan tinggi harus mampu memanfaatkan peluang dan sekaligus menghadapi tantangan yang ada. Peluang bahwa masih dibutuhkannya tenaga-tenaga professional di masyarakat harus dapat dimanfaatkan sebaik mungkin dengan terus menerus meningkatkan kualitas proses akademik.

Tantangan yang dihadapi perguruan tinggi salah satunya adalah semakin banyaknya institusi-institusi yang menyelenggarakan kegiatan sejenis. Disamping itu dengan dimungkinkannya pekerja-pekerja dari luar (foreign worker) untuk ikut bersaing dengan tenaga kerja lokal (national worker).

Salah satu proses akademik yang langsung berhadap dengan masyarakat adalah pada tahap proses penerimaan mahasiswa baru. Pada tahap ini masyarakat haruslah dapat terlayani dengan baik. Pelayanan disini baik dari administrasi maupun perlakuan. Pelayanan perlakukan haruslah dipandang bahwa masyarakat merupakan asset bagi perguruan tinggi. Dari masyarakatlah mahasiswa berasal. Dan jauh dari itu harus dipandang bahwa masyarakat jugalah nantinya pemakai produk dari perguruan tinggi. Pelayanan di bidang adminitrasi menyangkut seperti mudahnya memperoleh informasi yang lengkap tentang penerimaan mahasiswa baru. Informasi-informasi ini mulai dari informasi yayasan (bila perguruan tinggi swasta), perguruan tinggi (seperti akreditasi institusi), program studi, dosen, kurikulum, sarana dan prasarana, UKM, kerjasama, ekstrakurikuler, dan unit-unit usaha perguruan tinggi lainnya. Melalui informasi yang utuh tentang perguruan tinggi akan dapat mempererat hubungan antara masyarakat dengan perguruan tinggi.
Selain dari informasi umum perguruan tinggi pada tahapan ini juga harus dijelaskan informasi tentang biaya pendidikan mulai dari biaya sumbangan pendidikan, biaya pokok kuliah (bila ada), biaya sks teori, biaya sks praktikum, seminar, skripsi/tugas akhir, dan sebagainya. Uraian biaya yang rinci akan dapat mempermudah para orang tua mahasiswa dalam menyusun anggaran keuangannya. Transparansi biaya tentu akan menambah keyakinan para orang tua tentang proses akademik dari institusi.
Secara umum prosedur dalam penerimaan mahasiswa baru adalah:
1. calon mahasiswa mendaftarkan diri di bagian front office
2. bagian front office memverifikasi berkas calon mahasiswa
3. bagian front office menentukan jadwal test potensi akademik
4. bagian akademik mengumumkan jadwal test potensi akademik
5. calon mahasiswa melakukan test potensi akademik
6. bagian akademik mengumumkan hasil test potensi akademik
7. mahasiswa melengkapi adminitrasi akademik khususnya semester I

Kebutuhan Perangkat Lunak

Untuk merancang sistem informasi ini akan digunakan perangkat lunak sumber terbuka (open source). Hal ini dilakukan untuk mengurangi biaya yang mesti dikeluarkan.
Sistem yang akan dirancang berbasis web dengan harapan dapat diakses oleh orang banyak tanpa terbatas oleh waktu, tempat mapun ruang. Perangkat-perangkat lunak yang digunakan adalah:
1. Sistem operasi. Sistem operasi yang digunakan dapat berbasis windows maupun linux.
2. Perangkat lunak perancang sistem
- Apache sebagai web server
- PHP sebagai application server
- MySQL sebagai database server
- Notepad sebagai editor.

Kebutuhan Perangkat Keras

Kebutuhan minimal perangkat keras agar perangkat lunak dapat bekerja secara baik adalah:
1. Pentium III 667 MHZ
2. RAM 128 MB
3. Hard Disk 20 GB
4. Monitor 15″
5. Keyboard + Mouse


Pencarian biner

4 November 2009

Metode pencarian biner (biner method searching) merupakan salah satu metode yang banyak digunakan untuk mencari suatu data dalam suatu himpunan data. Pencarian biner dilakukan pada data yang telah terurut.

Misalkan terdapat data nilai 10 siswa yang telah terurut secara menaik (ascending) seperti di bawah ini:

5 6 7 7.5 7.9 8 8.2 8.5 8.7 9

Pencarian biner dimulai dengan cara:
0. Mulai
1. Tentukan bilangan yang dicari, mis DataCari
2. Tentukan nilai ketemu=false
3. Tentukan nilai IndexBawah=1
4. Tentukan nilai IndexAtas=10
5. Ulangi Selama IndexBawah<=IndexAtas Dan Not (Ketemu)
6. Menentukan posisi tengah dari data
IndexTengah=(IndexBawah + IndexAtas) Div 2
IndexTengah=0+9 Div 2
IndexTengah=9 Div 2
IndexTengah=4
7. Uji,
Jika DataCari = Data(IndexTengah) maka
Ketemu=True
Jika DataCariData<(IndexTengah) maka
Atas=IndexTengah-1
Jika DataCariData>(IndexTengah) maka
Bawah=IndexTengah+1
8. Ulangi ke langkah
9. Jika Ketemu maka
cetak DataCari Ditemukan
Jika Tidak Ketemu maka
cetak DataCari Tidak Ditemukan
10. Selesai

Implementasi Program
1. Rancangan antar muka
antarmuka

2. Kode Program


Private Sub cmdCari_Click()
   Dim DataCari As Single
   Dim IndexBawah, IndexAtas, IndexTengah As Byte
   Dim Ketemu As Boolean

   ‘Pindahkan txtDatacari ke DataCari
   DataCari = Val(txtDataCari.Text)

   ‘Tentukan indexBawah dan IndexAtas
   IndexBawah = 1
   IndexAtas = lstNilai.ListCount

   Ketemu = False

   While (IndexBawah <= IndexAtas) And (Not (Ketemu))
    IndexTengah = (IndexBawah + IndexAtas) \ 2
    'Print IndexBawah, IndexAtas, IndexTengah
    If (DataCari = Val(lstNilai.List(IndexTengah – 1))) Then
     Ketemu = True
    ElseIf (DataCari < Val(lstNilai.List(IndexTengah – 1))) Then
     IndexAtas = IndexTengah – 1
    Else
     IndexBawah = IndexTengah + 1
    End If
    Wend
    If (Ketemu) Then
     MsgBox (txtDataCari + " Ada di List Nilai")
    Else
     MsgBox (txtDataCari + " Tidak Ada di List Nilai")
     End If
End Sub

Private Sub cmdTutup_Click()
Unload Me
End Sub

Private Sub Form_Load()
   ‘isi data nilai ke lstNilai
   lstNilai.AddItem ("5")
   lstNilai.AddItem ("6")
   lstNilai.AddItem ("7")
   lstNilai.AddItem ("7.5")
   lstNilai.AddItem ("7.9")
   lstNilai.AddItem ("8")
   lstNilai.AddItem ("8.2")
   lstNilai.AddItem ("8.5")
   lstNilai.AddItem ("8.7")
   lstNilai.AddItem ("9")

   'kosongkan txtDataCar
   txtDataCari.Text = ""
End Sub

3. Eksekusi Program
eksekusi

ketemunilai


Prosedur

31 Oktober 2009

Prosedur Siap Pakai
Prosedur (procedure) merupakan suatu blok kode program yang disusun untuk menyelesaikan masalah umum. Misalkan dalam bahasa pemrograman pascal dikenal prosedur-prosedur seperti writeln, clrscr, textbackground, textcolor, readln, dsb. Pemanggilan prosedur-prosedur tersebut bervariasi antara satu prosedur dengan prosedur yang lainnya. Misalkan prosedur clrscr yang berfungsi untuk menghapus seluruh tulisan di layar monitor dan meletakkan posisi kursor di X=0 dan Y=0. Prosedur clrscr dalam pemanggilannya tidak membutuhkan parameter; prosedur writeln/write berufungsi untuk mencetak keluaran (output) ke layar monitor. Prosedur writeln/write bisa dipanggil dengan mengikutkan parameter atau tanpa mengikutkan parameter. Sebagai contoh diinstruksikan ke penterjemah (compiler) Pascal untuk memindahkan posisi kursor turun satu baris (Nilai Y Bertambah) dan X tetap di posisi 0 seperti terlihat pada kode berikut:

begin
  writeln;
end.

Pada kode di atas dipanggil prosedur writeln tanpa diikuti parameter. Pascal memahami bahwa bila pemanggilan prosedur writeln tanpa parameter maka posisi kursor di monitor berubah yaitu kursor kembali ke posisi X=0 (Carriage Return) dan Posisi Y tambah Satu – Turun Satu Baris (Line Feed).

Contoh lainnya kita bisa menyuruh prosedur writeln untuk mencetak perkalian 10*10:

begin
   writeln(10*10);
end.

Kode di atas dapat dijelaskan bahwa kita memanggil prosedur writeln dengan mengirimkan parameter perkalian 10*10. Karena prosedur writeln merupakan prosedur yang sudah siap pakai (built in procedure) atau sudah didefenisikan oleh pascal makan detail dari instruksi di dalam prosedur writeln tidak kita ketahui dengan pasti.

Kita juga bisa menyuruh perintah writeln untuk mencetak untaian karakter (string) “Respati Yogyakarta”:

begin
    writeln(‘Respati Yogyakarta’);
end.

Atau gabungan dari nilai dan konstata seperti berikut:
begin
   writeln(10*10,’Respati Yogyakarta’);
end.

Keluwesan prosedur writeln tentu akan sangat membantu dalam pemberian perintah ke komputer.

Prosedur Buatan Pemakai
Pascal memungkinkan programmer untuk membuat prosedur sendiri (user defined procedure). Tata cara (syntax) pendeklarasian prosedur buatan pemakai adalah:

procedure namaprosedur([par1,par2,par3,...parn]);
{deklarasi variabel}
{deklarasi prosedur}
{deklarasi fungsi}
{deklarasi konstanta}
{deklarasi label}

   begin
      <pernyataan>
   end;

Prosedur yang telah dikelarasikan selanjutnya dapat dipanggil dari program utama atau dari prosedur itu sendiri atau prosedur lainnya.

Berikut ini akan dibuat suatu prosedur untuk mencetak alamat Unriyo Yogyakarta:

Program CetakAlamat;
uses crt;
procedure Alamat();
     begin
     writeln(‘Universitas Respati Yogyakarta’);
     writeln(‘Jln.Laksda Adisucipto Km.6,3 Depok, Sleman, Yogyakarta’);
     end;

Begin
     clrscr;
     {Memanggil Prosedur Alamat}
     Alamat();
End.

Prosedur Berparameter
Prosedur yang diberi tugas khusus dapat menerima parameter sesuai dengan kebutuhan. Misalkan terdapat diinginkan prosedur untuk mencetak bilangan 1 s.d N. Disini nilai N tidak pasti, bisa 10, 20, 100. Untuk itu pada saat pemanggilan prosedur kita kirimkan nilai N dan prosedur selanjutnya memproses pencetakan angka 1 s.d N.


Program CetakAngka;
Uses Crt;

Procedure CetakAngka1Sd(N: Byte);
Var
  I: Byte; {Deklarasi Lokal}
 Begin
 For I:=1 To N Do
  writeln(I);
 End;

{Program Utama}
Begin
 {Bersihkan layar}
 clrscr;
 {Panggil Prosedur Cetak 1 s.d 20}
 CetakAngka1SD(20);
{Panggilan Lagi Prosedur Cetak Angka 1 s.d 100}
 CetakAngka1SD(100);
Readln; {Tunggu Penekanan Tombol Enter}
End.

Parameter Nilai dan Parameter Acuan
Secara umum parameter yang dikirimkan ke prosedur merupakan parameter nilai artinya nilai parameter tidak akan berubah setelah pemanggilan prosedur. Bila diinginkan perubahan nilai parameter setelah pemanggilan prosedur, parameter seperti ini disebut parameter acuan.

Buatlah prosedur untuk menghitung jumlah deret berikut:
1/1+1/2+1/3+…1/N
Diinginkan banyaknya N tidak pasti dan sekaligus hasil penjumlahan terlihat setelah pemanggilan prosedur. Dengan demikian dibutuhkan 2 (dua) buah parameter yaitu N (parameter nilai) dan Jumlah(parameter acuan).


Program Jumlah_Deret;
Uses Crt;

Procedur Jumlah (N : Byte; Var Jumlah : Real);
 Var
  I : Byte;
 Begin
   Jumlah:=0;
   For I:=1 To N Do
     Jumlah:=Jumlah + 1/I
 End;

Var
 Cacah_Data : Byte;
 Hasil : Real;
Begin
 clrscr;
 Cacah_Data:=10;
{Panggil Prosedur}
 Jumlah(Cacah_Data,Hasil);
 writeln(‘Jumlah Deret’,Hasil:8:2);
Readln;
End.

Lingkup Variabel
Lingkup variabel (variabel scope) menggambarkan daya akses dari variabel tersebut. Dalam Pascal terdapat 2 (dua) jenis ruang lingkup yaitu ruang lingkup global dan lokal. Ruang lingkup global menandakan bahwa variabel tersebut akan dikenali diseluruh kode program. Ruang lingkup lokal menandakan bahwa variabel tersebut hanya dikenal ditempatnya dideklarasikan.

Misalkan terdapat program seperti berikut:

Var
 IGlobal : Byte;

Procedure LokalSatu;
 Var
  ILokal1 : Byte;
 Begin
  ILokal1:=10;
  Writeln(ILokal1,IGlobal);
 End;

Procedure LokalDua;
 Var
  ILokal2 : Byte;
 Begin
  ILokal2:=20;
  Writeln(ILokal2,IGlobal);
 End;

{Program Utama}
Begin
 IGlobal:=10;
 Lokal;
End.

Pada kode di atas variabel IGlobal akan dikenali di seluruh kode program (baik di Program Utama, Prosedur LokalSatu, Prosedur LokalDua). Sedangkan variabel ILokal1 hanya akan dikenal di prosedur LokalSatu. Begitu juga variabel ILokal2 hanya akan dikenal di prosedur LokalDua.

Kita perhatikan lagi kode program berikut:

Program Lingkup_Lingkup;
Var
 I : Byte;
Procedure Terluar;
 Var
  ITerluar : Byte;
 Procedure Terdalam;
  Var
   ITerdalam : Byte;
  Begin
   ITerdalam:=20;
   writeln(I,ITerluar,ITerdalam);
  End;
 Begin
   ITerluar:=10;
   {Panggil Prosedur Terluar}
 End;

{Program Utama}
Begin
 I :=5;
 Terluar;
End.

Pada kode program di atas I bersifat global artinya akan dikenali di program utama, prosedur terluar dan prosedur terdalam. Variabel ITerluar akan bersifat global di prosedur tersebut sehingga variabel tersebut akan dikenali prosedur-prosedur yang dideklarasikan dalam prosedur tersebut. Namun variabel ITerluar tidak akan dikenali oleh Program Utama. Variabel ITerdalam hanya akan dikenali oleh Prosedur Terdalam.

Prosedur Rekursif
Prosedur yang memanggil dirinya sendiri disebut sebagai prosedur rekursif. Misalkan terdapat kode program seperti berikut ini:

Procedure Cetak;
 Begin
  writeln(‘Respati’);
  {Prosedur Memanggil Dirinya Sendiri}
  Cetak;
 End;

{Program Utama}
Begin
 {Panggil Prosedur}
 Cetak;
End.

Kode program di atas dapat dijelaskan sebagai berikut:
1. Mulai
2. Panggil Prosedur Cetak
3. Cetak string ‘Respati’
4. Panggil Prosedur Cetak
5. Cetak string ‘Respati’
6. Panggil Prosedur Cetak
7. Cetak string ‘Respati’
8. dst

Pemanggilan terhadap dirinya sendiri akan tetap dilakukan Prosedur Cetak karena tidak ada pernyataan yang menghentikan pemanggilan. Pemanggilan ini akan terus berlangsung terus-menerus (continues call).
Untuk mengatasi masalah ini maka perlu dibuat suatu pernyataan yang membatasi pemanggilan prosedur. Misalkan kode program di atas kita ubah seperti berikut ini:


Var
I : Byte;
Procedure Cetak;
 Begin
 IF (I<=5) Then
  begin
  writeln('Respati');
  {Prosedur Memanggil Dirinya Sendiri}
  Cetak;
  I:=I+1;
 end;
 End;

{Program Utama}
Begin
I:=1;
 {Panggil Prosedur}
 Cetak;
End.

Pada kode di atas prosedur Cetak hanya akan dipanggil sebanyak 5x seperti yang dinyatakan dalam kondisi IF (I<=5). Jika I>5 maka prosedur Cetak tidak akan dipanggil lagi. Umumnya ditentukan suatu kondisi yang memberhentikan pemanggilan prosedur pada dirinya sendiri.

Parameter Bertipe Array
Parameter bertipe array dapat dikirimkan ke prosedur dengan sedikit perbedaan dari parameter bertipe konvesional (byte, word, integer, real).

Program Jumlah_Data;
Const
 N=100;
Type
 Data : Array[1..N] Of Single;
Var
 AData : Data;

Procedure Jumlah(DataA : Data,Cacah:Byte)’
Begin
  For I:=1 To N Do
   Jlh:=Jlh+DataA[I];
  writeln(‘Jumlah Data Adalah’,Jlh:12:0);
End;

{Program Utama}
Begin
 {masukkan data}
 AData[1]:=70;
 AData[1]:=65.5;
 AData[1]:=89;
 AData[1]:=77;
 AData[1]:=64;
 AData[1]:=78.5;
 {Panggil Prosedur Jumlah Data}
 Jumlah(AData,6);
 Readln;
End.

Latihan Prosedur
Diketahui data berat mahasiswa Prodi Sistem Informasi seperti dibawah ini:
65,78,58,60,63,56,65,69,77
Buatlah prosedur untuk :
1.menginputkan N Buah data
2.menghitung jumlah, rata-rata dan standar deviasi berat
3.mengurutkan data secara menaik (ascending)
4.mengurutkan data secara menurun (descending)
5.melihat isi array

Untuk menyelesaikan kasus tersebut akan dibuat menu dalam bentuk pilihahan sehingga memudahkan dalam penggunaan program.
Menu Pilihan
1. Input Data
2. Tentukan Jumlah, Rata-Rata dan Standar Deviasi
3. Urutkan Data Secara Menaik
4. Urutkan Data Secara Menurun
5. Tampilkan Isi Array
Pilihan Anda [1..5] :


Program Statistik;
Uses Crt;
Const
 N = 100;

{Deklarasi Prosedur Input Berat}
Procedure Input_Berat(Berat_Mhs : Berat; N : Byte);
Var
 I : Byte;
Begin
  For I:=1 To N Do
   Begin
   write(‘Masukkan Berat Ke’,I,’:’);readln(Berat_Mhs[I]);
  End;
End;

{Program Utama}
Var
 Ulang : Boolean;
Pil : ShortInt;
Begin
 Ulang:=True;
 While (Ulang) Do
 Begin
  clrscr;
  gotoxy(25,1);write(‘M E N U U T A M A’);
  gotoxy(25,2);write(‘————————-’);
  gotoxy(25,3);write(’1. Input Data’);
  gotoxy(25,4);write(’2. Tentukan Jumlah, Rata-Rata, Standar Deviasi’);
  gotoxy(25,5);write(’3. Urutkan Berat Secara Menurun’);
  gotoxy(25,6);write(’4. Urutkan Berat Secara Menaik’);
  gotoxy(25,7);write(’5. Tampilkan Array’);
  gotoxy(25,8);write(’0. Selesai’);
 pil:=-1;
 while (pil<0)or (pil>5) do
  begin
  gotoxy(25,9);write(‘Pilihan Anda [0..5] : ‘);readln(pil);
  end;
 {Uji Pilihan}
 Case (Pil) Of
 1 : Begin {Input Data Berat}

  End;
 2 : Begin {Tentukan Jumlah, Rata-Rata dan Standard Deviasi}

  End;
 3 : Begin {Urutkan Secara Ascending}

  End;
 4 : Begin {Urutkan Secara Descending}

  End;
 5 : Begin {Tampil Isi Array}

  End;
 0 : Begin {Program Selesai}

  End;
 End; {Akhir Case}
 End;{Akhir While}
End. {Akhir Program}


Membuat output di tengah layar

15 Oktober 2009

Buatlah output seperti di bawah ini di tengah layar

                                        1
                                      111
                                     11111
                                    111111
Program Output_Tengah_Tengah_Layar;
Uses crt;
Var
  Xtengah, XGerak, N, I : Byte;
  Lagi : Char;
Begin
  Lagi:='Y';
  While (Upcase(Lagi)='Y') Do
     Begin
       clrscr;
       writeln('Banyak N : ');
       readln(N);
       A:=1;
       For I:=1 To N Do
          Begin
              K:=1;
             XGerak:=Xtengah;
             While (K<=A) Do
                Begin
                    Gotoxy(XGerak,I-1);
                    XGerak:=XGerak+1;
                    K:=K+1;
                End; {Akhir For J}
              XTengah:=XTengah-1;
              A:=A+2;
            End; { akhir For I}
            writeln;
            write('Anda Ingin Mencetak Lagi  : ');
            readln(Lagi);
        End; {Akhir while}
End.

Penghitungan Gaji

15 Oktober 2009

Rancanglah antar muka program untuk menghitung gaji bersih seorang pegawai dengan beberapa ketentuan berikut:
-seorang pegawai memiliki attribut nim, nama, jenkel, status kawin, jumlah anak, golongan, jabatan
-golongan pegawai menentukan gaji pokok yaitu:

Golongan Gaji Pokok (Rp)
I 1.000.000
II 2.000.000
III 3.000.000
IV 4.000.000

-jabatan menentukan tunjangan jabatan yaitu:

Jabatan Tunjangan Jabatan (Rp)
Tidak Menjabat 0
Operasional 500.000
Taktik 1.000.000
Strategik 1.500.000

-status kawin menentukan tunjangan istri yaitu:
kawin –> tunjangan istri Rp.100.000,-
-jumlah anak menentukan tunjangan anak yaitu:

Jumlah Anak Tunjangan Anak (Rp)
<=3 Jumlah Anak * 50.000
>3 3 * 50.000

-gaji kotor –> gaji pokok + tunjangan jabatan + tunjangan istri + tunjangan anak
-ppn –> 10% * gaji kotor
-gaji bersih –> gaji kotor – ppn

Urutan pengerjaan program
1. Rancanglah antar muka program seperti gambar dibawah ini:
gaji

2. Pada saat ditekan F5 (untuk menjalankan program VB) maka
a. kosongkan semua textbox, option radion dan combo box
b. nonaktifkan semua textbox, cmbproses, cmbbatal
Pada saat kita menekan tombol F5, maka penterjemah (compiler) Visual Basic terlebih dahulu mengerjakan event Form_Load. Untuk itu tepat meletakkan kode program memberikan nilai awal pada setiap variabel yang digunakan baik textbox, option radion, combobox maupun command.

Private Sub Form_Load()
‘kosongkan textbox
txtNip.Text = “”
txtNama.Text = “”
txtJAnak.Text = “”
txtGPokok.Text = “”
txtTIstri.Text = “”
txtTAnak.Text = “”
txtTJabatan.Text = “”
txtGKotor.Text = “”
txtPPN.Text = “”
txtGBersih.Text = “”

‘kosongkan option radio
OptKawin.Value = False
OptTKawin.Value = False

‘non aktifkan textbox, option radio
‘kode program berikut akan digunakan lagi pada saat diinginkan pengisian
‘data. Untuk kode program yang dipanggil secara berulang cocok dijadikan
‘suatu blok program, apakah prosedur atau fungsi.
txtNip.Enabled = False
txtNama.Enabled = False
txtJAnak.Enabled = False
txtGPokok.Enabled = False
txtTIstri.Enabled = False
txtTAnak.Enabled = False
txtTJabatan.Enabled = False
txtGKotor.Enabled = False
txtPPN.Enabled = False
txtGBersih.Enabled = False
OptKawin.Enabled = False
OptTKawin.Enabled = False

‘Isi golongan
cboGol.AddItem (“Pilih Golongan”)
cboGol.AddItem (“I”)
cboGol.AddItem (“II”)
cboGol.AddItem (“III”)
cboGol.AddItem (“IV”)

‘Isi Jabatan
cboJabatan.AddItem (“Pilih Jabatan”)
cboJabatan.AddItem (“Operasional”)
cboJabatan.AddItem (“Taktik”)
cboJabatan.AddItem (“Strategis”)

‘Aktifkan keterangan data baik pada combobox Golongan maupun Jabatan
cboGol.ListIndex = 0
cboJabatan.ListIndex = 0

‘non aktifkan combobox
cboGol.Enabled = False
cboJabatan.Enabled = False

‘non aktifkan command batal, proses
cmdBatal.Enabled = False
cmdProses.Enabled = False

End Sub

3. Bila Command Proses di Klik maka
a. Uji apakah textbox dan combobox sudah diisi
b. Tentukan gaji gaji pokok, tunjangan istri, anak,
Tentukan PPN, gaji kotor dan gaji bersih
c. Non aktifkan command Proses
d. Aktifkan command Baru

Private Sub cmdBaru_Click()
‘aktifkan option radion tidak kawin
OptTKawin.Value = True

‘nonaktikan isian textbox jumlah anak
txtJAnak.Enabled = False

‘kosongkan textbox
txtNip.Text = “”
txtNama.Text = “”
txtJAnak.Text = “”
txtGPokok.Text = “”
txtTIstri.Text = “”
txtTAnak.Text = “”
txtTJabatan.Text = “”
txtGKotor.Text = “”
txtPPN.Text = “”
txtGBersih.Text = “”

‘aktifkan textbox
txtNip.Enabled = True
txtNama.Enabled = True
txtGPokok.Enabled = True
txtTIstri.Enabled = True
txtTAnak.Enabled = True
txtTJabatan.Enabled = True
txtGKotor.Enabled = True
txtPPN.Enabled = True
txtGBersih.Enabled = True
OptKawin.Enabled = True
OptTKawin.Enabled = True

‘aktifkan combobox
cboGol.Enabled = True
cboJabatan.Enabled = True

‘aktifkan command proses dan batal
cmdProses.Enabled = True
cmdBatal.Enabled = True

‘nonaktifkan command baru
cmdBaru.Enabled = False

‘fokuskan kurson ke textbox Nip
txtNip.SetFocus
End Sub

4. Jumlah anak dapat diisi bila status kawin
Private Sub OptKawin_Click()
txtJAnak.Enabled = True
txtJAnak.SetFocus
End Sub

5.Jika status tidak kawin jumlah anak tidak bisa diisi dan kosongkan nilainya
Private Sub OptTKawin_Click()
txtJAnak.Enabled = False
‘kosongkan jumlah anak
txtJAnak.Text = “”
End Sub

7. Jika diklik proses maka dihitung maka lakukan verifikasi
a. apakah data Nip, Nama telah disi, golongan dan jabatan telah dipilih
b. menentukan gaji pokok, tunjangan jabatan, tunjangan istri,
tunjangan anak, gaji kotor, PPN, dan gaji bersih
c. Tampilkan gaji pokok, tunjangan jabatan, tunjangan istri,
tunjangan anak, gaji kotor, PPN, dan gaji bersih
d. nonaktifkan command Proses
e. Aktikan command Baru

Private Sub cmdProses_Click()
Dim GajiPokok, GajiKotor, PPN As Single
Dim TunjanganJabatan, TunjanganIstri, TunjanganAnak As Long

‘Uji apakah Nip sudah diisi
If (Trim(txtNip.Text = “”)) Then
MsgBox (“Nip Kosong”)
txtNip.SetFocus
Exit Sub
End If

‘Uji apakah Nama sudah diisi
If (Trim(txtNama.Text = “”)) Then
MsgBox (“Nama Kosong”)
txtNama.SetFocus
Exit Sub
End If

‘Uji apakah golongan sudah dipilih
If (cboGol.ListIndex = 0) Then
MsgBox (“Pilih Golongan”)
cboGol.SetFocus
Exit Sub
End If

‘Uji apakah jabatan sudah dipilih
If (cboJabatan.ListIndex = 0) Then
MsgBox (“Pilih Golongan”)
cboJabatan.SetFocus
Exit Sub
End If

‘Uji apakah jlhanak sudah diisi bila status kawin
If (OptKawin.Value = True) Then
If (Trim(txtJAnak.Text = “”)) Then
MsgBox (“Masukkan Jumlah Anak”)
txtJAnak.SetFocus
Exit Sub
End If
End If

‘Tentukan gaji pokok
If (cboGol.Text = “I”) Then
GajiPokok = 1000000
ElseIf (cboGol.Text = “II”) Then
GajiPokok = 2000000
ElseIf (cboGol.Text = “II”) Then
GajiPokok = 3000000
Else
GajiPokok = 4000000
End If

‘Tentukan tunjangan jabatan
If (cboJabatan.ListIndex = 1) Then ‘Jika Tidak Punya Jabatan
TunjanganJabatan = 0
ElseIf (cboJabatan.ListIndex = 1) Then ‘Jika Tidak Punya Jabatan
TunjanganJabatan = 500000
ElseIf (cboJabatan.ListIndex = 1) Then ‘Jika Tidak Punya Jabatan
TunjanganJabatan = 1000000
Else
TunjanganJabatan = 1500000
End If

‘Tentukan Tunjangan istri
If (OptKawin.Value = True) Then
TunjanganIstri = 100000
‘Tentukan Tunjangan Anak
If (txtJAnak.Text > 3) Then ‘Anak >3
TunjanganAnak = 3 * 50000
Else
TunjanganAnak = txtJAnak.Text * 50000
End If
Else
TunjanganIstri = 0
TunjanganAnak = 0
End If

‘Tentukan Gaji Kotor, PPN
GajiKotor = GajiPokok + TunjanganJabatan + TunjanganIstri + TunjanganAnak
PPN = 0.1 * GajiKotor
GajiBersih = GajiKotor – PPN

‘Pindahkan ke textbox Gaji Pokok, Tunjangan Istri
‘Tunjangan Anak, Tunjangan Jabatan
‘Gaji Kotor, PPN, Gaji Bersih

txtGPokok.Text = Str(GajiPokok)
txtTJabatan.Text = Str(TunjanganJabatan)
txtTIstri.Text = Str(TunjanganIstri)
txtTAnak.Text = Str(TunjanganAnak)
txtGKotor.Text = Str(GajiKotor)
txtPPN.Text = Str(PPN)
txtGBersih.Text = Str(GajiBersih)

‘nonaktikan command proses
cmdProses.Enabled = False

‘aktifkan command Baru
cmdBaru.Enabled = True

End Sub

8. Jika command Batal di klik
‘kosongkan textbox, option radio, combobox
‘nonaktikan textbox, option radio, combobox
‘non aktifkan command proses dan cancel

‘semua fungsi tersebut terdapat di event form load
‘panggil event form_load
Form_Load

‘aktifkan command Baru
cmdBaru.Enabled = True
End Sub

9. Jika di klik command Keluar
Uji apakah benar-benar keluar, jika ya tutup aplikasi, jika tidak kembali
ke aplikasi
Private Sub cmdTutup_Click()
If MsgBox(“Yakin Keluar”, vbOKCancel + vbDefaultButton2, “Tutup Aplikasi”) = vbOK Then
End
End If
End Sub


Drag and Drop

27 Juni 2009

Drag dan Drop merupakan salah satu fasilitas yang ditawarkan alat input mouse. Drag dapat diartikan sebagai berikut mengklik suatu objek dan menggeser mouse ke posisi tertentu. Drop dapat diartikan sebagai meletakkan objek pada suatu tempat.


Jam Digital Dengan Timer

27 Juni 2009

Visual Basic menyediakan suatu komponen pencacah waktu dengan nama timer. Timer akan dikerjakan berdasarkan jatah waktu yang diberikan. Jatah waktu pengerjaan timer dalam satuan milisecond (1/1000 detik).
Jam digital merupakan salah satu jenis jam yang banyak digunakan untuk menentukan waktu. Visual basic menyediakan suatu fungsi untuk mengetahui jam sistem yang aktif yaitu fungsi time(). Dengan menjalankan timer setiap 1000 milisecond dan memanggil fungsi time() maka otomatis jam akan ditampilkan seperti jam sistem yang aktif.


Ikuti

Get every new post delivered to your Inbox.