Pasang IKLAN

Mau Pasang iklan?? 30rb/bulan. berminat kirim email ke hadisucipto1989@yahoo.com. Atau isi coment untuk memesan tempat.


Selamat Datang di Blog Gery Casakom Tempat Belajar Bersama Berbagi Ilmu dan Pengalaman
free counters
ShoutMix chat widget

Senin, 24 Mei 2010

Belajar Reksa Dana

dire investasi obligasi reksadana saham
Pengenalan Saham
Posted on January 30, 2008 by Merry Lo
1. Apa itu Saham?
Pernahkan anda bermimpi untuk mempunyai “kepingan” dari PT Astra misalnya?
Dengan saham anda bisa mewujudkannya! Dengan saham anda menjadi salah satu pemilik modal suatu perusahaan dengan persentase tertentu sesuai dengan saham yang anda miliki. Oleh karena itu, semakin besar saham yang anda miliki semakin besar juga kepemilikan anda dalam perusahaan.
Bagi perusahaan sendiri, saham dimaksudkan untuk memperoleh pendanaan tambahan untuk usahanya dengan menjual “bagian ” perusahaan kepada para investor.
Pada umumnya perusahaan membutuhkan dana tambahan untuk mengambangkan bisnisnya atau untuk membayar hutang.
Dengan kata lain saham adalah suatu sertifikat atau piagam yang memiliki fungsi sebagai bukti kepemilikan suatu perusahaan dengan berbagai aspek-aspek penting perusahaan. Pemilik saham mendapatkan hak untuk menerima dividen dari perusahaan serta punya kewajiban untuk menanggung risiko yang diderita perusahaan.
2. Bagaimana Menentukan Harga Saham?
Harga saham setiap perusahaan tidaklah sama, harganya akan berbeda-beda. Apa yang menyebabkan perbedaan itu? Semua itu ditentukan oleh pendapat perusahaan.
Misalnya ada sebuah perusahaan yang menghasilkan profit sebesar 10 juta setiap tahunnya. Harga berapa kira-kira yang mungkin cocok untuk menjual perusahaan itu? Katakanlah ditawarkan dengan harga 100 juta. Apakah ada yang akan mau membelinya?
Pembeli potensial akan menilai situasi ini dengan pertanyaan “Berapa profit yang akan saya peroleh jika saya menginvestasikannya ke tempat lain?”. Jika ada wahana lain yang dapat menghasilkan lebih besar maka ia tidak akan membeli perusahaan tersebut. Mungkin perusahaan itu harus mengurangi harganya.
Faktor lain yang perlu dipertimbangkan adalah potensi pertumbuhan keuntungan. Perusahaan tadi mungkin hanya dapat menghasilkan 10 juta tahun ini, tapi tahun depan berpeluang mendapatkan 20 juta. Untuk tingkat keuntungan 10% dan potensi pertumbuhannya, mungkin perusahaan tersebut bisa dijual dengan harga 150 juta.
Inilah yang menjadi alasan banyak saham yang mengalami kenaikan yang sangat pesat walaupun sekarang mereka tidak lagi banyak menghasilkan keuntungan.
3. Apa itu Bursa Saham?
Bursa saham adalah tempat dimana perusahaan dapat menawarkan sahamnya untuk dijual. Mereka melakukan hal ini melalui penawaran perdana (IPO).
Setelah penawaran perdana, ribuan atau jutaan investor yang telah membeli saham tersebut dapat kembali ke bursa saham untuk menjual sahamnya kepada investor yang lain, sehingga dimulailah perdagangan saham. Bursa saham hanyalah semacam tempat penampungan untuk perdagangan ini.
4. Apa yang Menyebabkan Gejolak Harga Saham?
Faktor-faktor yang menyebabkan gejolak harga saham dapat dibagi menjadi faktor makro dan mikro.
Faktor makro adalah faktor-faktor yang mempengaruhi ekonomi secara keseluruhan. Tingkat suku bunga yang tinggi, inflasi, tingkat produktivitas nasional, politik dan lain sebagainya dapat memiliki dampak penting pada potensi keuntungan perusahaan hingga pada akhirnya juga akan mempengaruhi harga sahamnya.
Faktor mikro adalah faktor-faktor yang berdampak secara langsung pada perusahaan itu sendiri. Perubahan manajemen, harga dan ketersediaan bahan mentah, produktivitas pekerja dan lain sebagainya yang akan dapat mempengaruhi kinerja keuntungan perusahaan tersebut secara individual.
Apa yang menyebabkan volatilitas atau gejolak harga adalah karena sering adanya perbedaan opini tentang kemana arah profitabilitas perusahaan tersebut. Di saat banyak orang berpikir bahwa profitabilitas suatu perusahaan menurun, maka akan lebih banyak yang menjual sahamnya sehingga harganya juga akan menurun. Tentu saja, hal yang sebaliknya juga dapat terjadi.
5. Bagaimana Mengenai Dividen dalam Saham?
Selain kenaikan harga ataupun penambahan modal, dividen merupakan salah cara untuk dapat menghasilkan keuntungan. Banyak perusahaan yang juga membayarkan dividen tahunan. Ini adalah pembayaran tunai yang mencerminkan bagian dari profit perusahaan tersebut. Tetapi tentu saja sepenuhnya merupakan kebijaksanaan dari perusahaan tersebut untuk memberikan dividen atau tidak. Mereka tidak wajib melakukannya. Tetapi pada umumnya, mereka tetap akan memberikan sebagian dari profitnya sebagai bentuk penghargaan kepada para investornya.
Permalink 0 Comments
« Tipe-Tipe Saham | Main | Mengenal Pasar Modal »

Keuntungan dan Kerugian Perusahaan Go Public

Go Public berarti menjual saham perusahaan ke para investor dan membiarkan saham tersebut diperdagangkan di pasar saham. Sebagai contoh, PT. Indofood, PT. Aneka Tambang, Indosat, dan masih banyak perusahaan lainnya yang sudah menjadi Go Public.
Adapun keuntungan dari Perusahaan yang Go Public adalah:
1. Perusahaan dapat meningkatkan Likuiditas dan memungkinkan para pendiri perusahaan untuk menikmati hasil yang mereka capai. Dan semakin banyak investor yang membeli saham tersebut, maka semakin banyak modal yang diterima perusahaan dari investor luar.
2. Para pendiri perusahaan dapat melakukan diversifikasi untuk mengurangi resiko portofolio mereka.
3. Memberi nilai suatu perusahaan. Suatu perusahaan dapat dinilai dari harga saham dikalikan dengan jumlah lembar saham yang dijual dipasaran.
4. Perusahaan dapat melakukan merger ataupun negosiasi dengan perusahaan lainnya dengan hanya menggunakan saham.
5. Meningkatkan potensi pasar. Banyak perusahaan yang merasa lebih mudah untuk memasarkan produk dan jasa mereka setelah menjadi perusahaan Go Public atau Tbk.
Tetapi harus kita ketahui juga bahwa ada kerugian dari Perusahaan yang Go Public, yaitu:
1. Laporan Rutin.
Setiap perusahaan yang go public secara periodik harus membuat laporan kepada Bursa Efek Indonesia, bisa saja per kuartal atau tahunan, tentu saja untuk membuat laporan tersebut diperlukan biaya.
2. Terbuka.
Semua perusahaan go public pasti transparan dan sangat mudah untuk diketahui oleh para kompetitornya dari segi data dan management nya.
3. Keterbatasan kekuasaan Pemilik.
Para pemilik perusahaan harus memperhatikan kepentingan bersama para pemegang saham, tidak bisa lagi melakukan praktek nepotisme, kecurangan dalam pengambilan keputusan dan lainnya, karena perusahaan tersebut milik publik.
4. Hubungan antar Investor
Perusahaan terbuka harus menjaga hubungan antara perusahaan dengan para investornya dan di informasikan mengenai perkembangan dari perusahaan tersebut.
(Irawan)

Visual Basic 6

Pendahuluan
Visual Basic adalah sebuah alat yang memungkinkan kita untuk membuat aplikasi berbasis Windows GUI (Graphical User Interface). Aplikasi yang dihasilkan mirip seperti aplikasi-aplikasi windows lainnya, seperti MS Word, MS Excel, Wordpad, dsb; sehingga user yang terbiasa bekerja di lingkungan windows akan cepat menguasai aplikasi yang kita buat nantinya.
Aplikasi yang dibuat dengan Visual Basic bekerja berdasarkan event-event. Contoh event : user klik tombol, pilih menu, dll. Jadi ketika tidak ada event yang terjadi (user tidak melakukan apa-apa), aplikasi berada dalam kondisi tidak aktif. Sebenarnya semua aplikasi windows bekerja berdasarkan event-event. Contoh : MS Word tidak akan melakukan pekerjaan sebelum kita menyuruhnya (ketik teks, pilih warna, format font, dsb).
Penggunaan event ini sangat menguntungkan, karena kita tidak perlu menyelesaikan aplikasi hanya untuk mencoba sebuah event tertentu. Contoh : untuk melihat apakah aplikasi kita dapat membuka file, kita cukup menjalankan event tersebut (biasanya pemilihan menu file  open).

Sejarah Visual Basic
- Visual Basic for DOS dan Visual Basic for Windows diperkenalkan pada tahun 1991
- Visual Basic 3 dikeluarkan pada tahun 1993
- Visual Basic 4 dirilis pada akhir 1995 dengan menambahkan dukungan untuk aplikasi 32 bit.
- Visual Basic 5 dikeluarkan pada akhir 1996 dengan menghilangkan dukungan pembuatan aplikasi 16 bit.
- Visual Basic 6, 1998. Aplikasi yang dibuat dengan Visual Basic 6 dapat berjalan pada Windows 95, 98, Millenium, NT, 2000.

Pembuatan Aplikasi
Langkah Umum
1. Buat interface aplikasi dengan menempatkan control / object pada form.
2. Modifikasi properti control.
3. Buat kode pada event-event dari control, dan kode pelengkap (bukan event, misalnya fungsi/prosedur yang kita buat sendiri).

Dengan adanya event, maka kita dapat mengerjakan aplikasi per event. Jika satu event sudah berjalan dengan benar, kerjakan event yang lain. Dengan demikian cara kita membuat aplikasi menjadi modular (kerjakan event 1, event 2, event 3, dst sehingga menjadi aplikasi yang sebenarnya). Cara ini juga memudahkan kita untuk men-debug program apabila terjadi kesalahan.

Visual Basic berjalan pada 3 mode :
- Mode Design, dalam modus inilah pembuatan aplikasi dilaksanakan
- Mode Run, dalam mode ini aplikasi dijalankan.
- Mode Break, dalam mode ini aplikasi di hentikan sementara mengaktifkan Visual Basic Debugger (untuk mendebug program, biasanya dilakukan untuk melacak kesalahan/error).

Visual Basic IDE (Integrated Development Environment)



Window Utama



Window Utama terdiri dari Title Bar, Menu Bar, dan Toolbar. Pada Title Bar terdapat nama project, dan mode Visual Basic. Menu Bar menyimpan menu-menu yang berguna dalam pembuatan aplikasi. Dalam Toolbar kita dapat menemukan sejumlah shortcut dari menu-menu pada Menu Bar. Pada Window Utama juga terdapat posisi form dan ukuran form relatif terhadap layar dalam ukuran Twips.


Form



Di dalam form inilah kita membuat user interface aplikasi yang akan kita buat dengan menempatkan control-control. Bayangkan form sebagai kanvas, di dalam “kanvas” inilah kita akan menggambar bagaimana bentuk GUI aplikasi.

Toolbox



Didalam Toolbox kita dapat menemukan control-control yang dapat dipergunakan pada form. Control-control yang lain dapat ditambah dengan mengakses menu Project  Components atau dengan menekan tombol Ctrl + T.


Window Properties



Kita dapat merubah property-property dari object pada window property ini. Drop down pada window property menyimpan control-control pada form yang sedang aktif. Window property mempunyai 2 macam view, Alphabetic dan Categorized.

Form Layout Window



Dalam window ini kita dapat melihat posisi form relatif terhadap layar monitor kita.


Window Project



Window ini memperlihatkan daftar form dan module aplikasi yang sedang kita kerjakan.

Menempatkan control pada form
Ada 2 cara untuk menempatkan control pada form :
1. Klik ganda control pada toolbox. Aksi ini akan menambahkan control tersebut pada form dengan ukuran standar (default) di tengah-tengah Form.
2. Klik control di Toolbox, lalu pindahkan mouse pointer ke form. Tekan dan tahan tombol kiri mouse, drag sampai ukuran yang diinginkan, lepas tombol mouse.

Untuk memindahkan control, klik controlnya lalu pindahkan ke tempat yang anda inginkan. Pemindahan dapat juga dilakukan dengan menekan tombol Ctrl dan tombol panah kanan, kiri, atas atau bawah dengan catatan bahwa control yang ingin dipindahkan harus mendapat fokus.
Untuk merubah ukuran control, pindahkan mouse pointer ke tepi control, tekan dan tahan tombol kiri, drag sehingga didapat ukuran yang diinginkan. Cara lain yaitu dengan cara menekan tombol Shift dan tombol panah atas, bawah, kiri, atau kanan dengan catatan control yang ingin dirubah ukurannya harus mendapat fokus. Namun demikian, beberapa control tidak dapat dirubah ukurannya, contoh : CommonDialog, Timer.

Penamaan Control
Yang dimaksud dengan penamaan yaitu memberikan nilai kepada property Name pada control (semua control mempunyai property Name). Adapun aturannya :
- Maksimal 40 karakter
- Diawali dengan huruf
- Hanya boleh mengandung huruf, angka, dan garis bawah “_”.

Secara kesepakatan, untuk mempermudah membaca kode program, para programmer Visual Basic memberi awalan / prefix 3 huruf.


Jenis Control
Prefix
CommandButton
Label
TextBox
Frame
CheckBox
ComboBox
Timer
OptionButton
HscrollBar
DirListBox
Shape
Image
OLE Container Control
PictureBox
OptionButton
ListBox
VscrollBar
DriveListBox
FileListBox
Line
Data cmd
lbl
txt
fra
chk
cbo
tmr
opt
hsb
dir
shp
img
ole
pic
opt
lst
vsb
drv
fil
lin
dat


Visual Basic Object
Berikut ini akan kita bahas beberapa objek-objek dari Visual Basic.

1. Label
Label digunakan untuk menampilkan teks pada layar. Penamaan object label biasanya diberi awalan “lbl” untuk membedakannya dari object-object yang lain. Contoh: lblNamaPegawai, dapat digunakan untuk menamai sebuah label yang dipergunakan untuk menampilkan nama pegawai di form. Seperti object-object yang lain, label juga mempunyai property yang dapat dirubah/disetting pada waktu design-time atau pada waktu running-time. Beberapa property yang sering digunakan:
a. Alignment
Digunakan untuk memberi efek perataan tulisan pada label. Left Justify (rata kiri), Right Justify (rata kanan), Center (rata tengah).
b. Appereance
Digunakan dalam efek tampilan object. Flat atau 3D. Hanya dapat diatur pada design-time.
c. Autosize
Digunakan dalam penentuan ukuran object. Jika bernilai True maka ukuran label akan disesuaikan dengan ukuran tulisan/captionnya. Jika bernilai False maka ukuran label dapat kita tentukan sendiri.
d. BackColor
Digunakan dalam penentuan warna latar belakang dari label.
e. BackStyle
Digunakan dalam penentuan sifat label terhadap object lain yang berada dibawahnya. Transparent digunakan agar object lain yang berada dibawah label tersebut terlihat. Opaque digunakan agar object lain yang berada dibawah label tidak terlihat.
f. BorderStyle
Digunakan dalam penentuan border/garis tepi dari label. Gunakan None untuk membuat label tanpa border, atau Fixed Single untuk membuat label dengan border.
g. Caption
Mungkin ini property dari label yang paling sering kita atur. Dimana property caption menentukan tulisan apa yang akan ditampilkan oleh label tersebut.
h. Enable
Digunakan dalam penentuan apakah label itu dapat menerima event (click, double click, dsb) dengan nilai True atau tidak bila nilainya False.
i. Font
Digunakan dalam penentuan efek tulisan/caption. Jenis huruf, tebal, miring dapat ditentukan disini.
j. Fore Color
Digunakan dalam penentuan efek warna tulisan/caption label.
k. Visible
Digunakan dalam penentuan apakah label tersebut dapat terlihat atau tidak. Jika True maka kita dapat melihat label tersebut, sedangkan jika False kita tidak dapat melihat label tersebut.

2. TextBox
TextBox biasa dipakai untuk interaksi dengan user yang memerlukan input data dari keyboard. Misalnya kita gunakan textbox untuk nama user. Penamaan textbox diberi awalan “txt”. Sebagian besar property textbox sama dengan label, tetapi ada beberapa yang berbeda dan atau mempunyai arti yang tidak persis sama.
a. Enable
Jika property Enable dari textbox di set menjadi True maka kita dapat mengedit isi dari textbox, sedangkan jika bernilai False kita tidak dapat mengedit isi dari textbox tersebut.
b. MultiLine
Digunakan untuk menentukan apakah tulisan dalam textbox dapat terdiri dari beberapa baris. Jika bernilai True maka isi textbox dapat terdiri dari beberapa baris, sedangkan jika False hanya terdiri dari 1 baris.
c. Alignment
Berbeda dengan label, pada textbox property Alignment hanya dapat bekerja bila property MultiLine bernilai True.
d. PasswordChar
Digunakan untuk mengganti tampilan karakter yang kita ketik. Misalnya PasswordChar bernilai “*”, maka setiap karakter yang kita ketik akan ditampilkan dengan karakter “*” tersebut.
e. ScrollBar
Digunakan untuk menentukan apakah textbox tersebut memakai scrollbar atau tidak. None tanpa scrollbar, Horizontal jika textbox memakai scrollbar horizontal, Vertical jika textbox memakai scrollbar vertical, Both jika textbox memakai scrollbar horizontal dan vertical.
f. Text
Property textbox yang paling sering kita atur. Yaitu property tulisan/isi textbox.

3. CommandButton
CommandButton merupakan implementasi tombol pada Visual Basic. Jika kita memakai program berbasis windows yang lain, biasanya mereka menggunakan command button untuk interaksi user, seperti tombol OK, Cancel, Save, dsb. Awalan yang dipakai adalah "cmd". Property commandbutton sebagian besar sama dengan label. Beberapa perbedaan:
a. Cancel
Jika property ini bernilai True maka kita tidak perlu meng-klik tombol tersebut, kita cukup menekan tombol escape (ESC) pada keyboard. Dalam satu form hanya ada 1 tombol yang dapat mempunyai nilai True pada property Cancel-nya.

b. Default
Jika property ini bernilai True maka kita tidak perlu meng-klik tombol tersebut, kita cukup menekan tombol ENTER pada keyboard. Dalam satu form hanya ada 1 tombol yang dapat mempunyai nilai True pada property Default-nya.

4. OptionButton
OptionButton biasanya digunakan dalam pemilihan, dimana hanya satu pilihan yang dapat dipilih pada suatu saat tertentu. Penempatan OptionButton tergantung pada container-nya. Sekumpulan OptionButton dalam satu container, dianggap dalam satu grup dimana hanya ada 1 OptionButton yang dapat dipilih. Lihat gambar dibawah ini.



Disini 3 OptionButton dianggap satu grup dalam 1 container, yaitu form. Oleh karena itu hanya ada 1 OptionButton yang dapat dipilih (Option1). Bandingkan dengan gambar dibawah ini.



Dalam gambar diatas ada 2 OptionButton yang dipilih (Option2 dan Option4). Hal ini dimungkinkan karena container yang dipakai berbeda (Frame1 dan Frame2).
Jika sebuah OptionButton dipilih, maka property Value-nya bernilai True. Jika tidak dipilih maka Value-nya bernilai False.

5. CheckBox
Berbeda dengan OptionButton yang hanya dapat dipilih 1 dalam 1 container, kita dapat memilih satu, beberapa, atau bahkan semua checkbox karena chekbox tidak tergantung kepada container-nya. Walaupun begitu, kita dapat menempatkannya pada container seperti Frame untuk memberikan tampilan yang lebih jelas.



Property Value dari CheckBox terdiri dari 3 kemungkinan, 0-Unchecked, 1-Checked, 2-Grayed. Jadi dalam gambar kiri atas, nilai property Value Check1 adalah 0, Check2 adalah 1, dan Check3 adalah 2.

6. Menu Editor
Menu Editor dapat kita gunakan untuk membuat sistem menu dari program aplikasi. Jika terbiasa menggunakan program berbasis windows, tentu tidak asing lagi dengan istilah menu. Contoh : di dalam Microsoft Word kita dapat menemui menu-menu File, Edit, View dan sebagainya.
Untuk memulai pembuatan menu, aktifkan Menu Editor pada Toolbar Visual Basic. Jika icon nya disabled, aktifkan/tampilkan dulu form tempat dimana kita akan membuat sistem menu tersebut. Cara yang lain yaitu dengan klik kanan pada form tempat dimana kita akan membuat sistem menu lalu pilih Menu Editor.



Isi dari Caption akan ditampilkan pada layar, seperti property Caption pada Label. Jika Captionnnya diberi tanda "&" berarti selain mengklik menu kita dapat juga menggunakan tombol Alt dan huruf yang menyertai dibelakang tanda "&".
Isi dari Name adalah merupakan pengenal menu, seperti juga pada property Name pada object-object lainnya.
Menu juga dapat dilengkapi dengan Shortcut yang dapat dipilih dari Drop Down yang tersedia. Satu Shortcut hanya dapat diberikan kepada satu menu. (Contoh: Jika Ctrl+O sudah diberikan kepada Open, maka tidak bisa diberikan kepada menu Font, misalnya.)
Atur property Enabled untuk mengatur apakah menu dapat dipilih atau tidak dan property Visible untuk mengatur apakah menu dapat dilihat atau tidak.
Gunakan tombol panah kiri/kanan untuk mengatur indent dari menu. Menu yang berindent (menjorok ke dalam/kanan) adalah merupakan sub menu dari menu diatasnya yang menjorok lebih kekiri. Dalam gambar diatas, menu New dan Open merupakan sub menu dari menu File.

Fungsi String
Adakalanya didalam pembuatan sebuah program kita perlu memanipulasi string. Manipulasi ini dapat dilakukan dengan cara menggunakan fungsi-fungsi bawaan Visual Basic yang memang diperuntukkan untuk memanipulasi string. Berikut diberikan beberapa fungsi yang sering dipakai. (Catatan: dalam program, penulisan string diapit dengan tanda kutip ganda).

1. Val(string)
Fungsi Val menerima sebuah argumen berupa string dan merubahnya menjadi numerik. Contoh: Val("1990") akan menghasilkan angka 1990. Val("1990 AD") akan menghasilkan angka 1990. Val("Th 1990") akan menghasilkan angka 0.
2. Left(string, length)
Fungsi Left yang menerima 2 buah argumen yaitu string dan length, akan menghasilkan string sepanjang length karakter. Contoh: Left(“Global”,3) akan menghasilkan “Glo”
3. Right(string,length)
Jika fungsi Left mengambil karakter dari kiri, maka fungsi Right akan mengambil karakter dari kanan string sebanyak length karakter.
Contoh: Right(“Global”,3) akan menghasilkan “bal”
4. Mid(string,start,length)
Fungsi Mid akan mengambil karakter dari string dimulai pada posisi start sepanjang length karakter.
Contoh: Mid(“Global”,3,3) akan menghasilkan “oba”
5. Ltrim(string)
Fungsi Ltrim akan membuang semua spasi yang berada disebelah kiri string.
Contoh: Ltrim(“ Global”) akan menghasilkan “Global”
6. Rtrim(string)
RTrim akan membuang semua spasi yang berada disebelah kanan string.
Contoh: Nama = Ltrim(“Global ”) akan menghasilkan “Global”
7. Trim(string)
Fungsi Trim akan membuang semua spasi yang berada disebelah kanan dan di sebelah kiri string.
Contoh: Trim(“ Global ”) akan menghasilkan “Global”
8. Len(string)
Fungsi Len akan menghitung jumlah karakter yang terdapat pada string.
Contoh: Len(“Global”) akan menghasilkan 6
9. UCase(string)
Fungsi UCase akan merubah semua huruf pada string menjadi huruf besar/huruf kapital.
Contoh: UCase(“Global”) akan menghasilkan “GLOBAL”
10. LCase(string)
Kebalikannya dari UCase, LCase akan merubah semua huruf pada string menjadi huruf kecil.
Contoh: LCase(“GlobAL”) akan menghasilkan “global”

Percabangan Bersyarat

If..Then
IF THEN
hanya akan dijalankan bila benar

Contoh:
If Text1.Text = "Hallo" Then MsgBox "Hallo Juga!"

If..Then..Else
IF THEN

ELSE

END IF
Jika benar, jalankan , jika tidak jalankan .

Contoh:
If Val(Text1.Text) > 65 Then
MsgBox "Selamat! Anda Lulus"
Else
MsgBox "Maaf! Anda Tidak Lulus"
End If

Penggunaan IF..THEN..ELSE dapat saling berkait (nested):
IF THEN

ELSE
IF THEN

ELSE

END IF
END IF

Contoh:
If Val(Text1.Text) > 80 then
MsgBox "Nilai = A"
Else
If Val(Text1.Text) > 60 then
MsgBox "Nilai = B"
Else
MsgBox "Nilai = C"
End If
End If


Baris kode diatas dapat disederhanakan menjadi:
IF THEN

ELSEIF THEN

ELSE

END IF

Contoh:
If Val(Text1.Text) > 80 then
MsgBox "Nilai = A"
ElseIf Val(Text1.Text) > 60 then
MsgBox "Nilai = B"
Else
MsgBox "Nilai = C"
End If

Select Case
Digunakan untuk memilih dari beberapa pilihan bergantung pada nilai yang akan diuji. Pengujian dilakukan dari blok case teratas sampai terbawah, dan hanya ada satu blok case yang akan dijalankan.
SELECT CASE
CASE

CASE

CASE ELSE

END SELECT

Contoh:
Select Case Text1.Text
Case "A"
MsgBox "Nilai = 4"
Case "B"
MsgBox "Nilai = 3"
Case "C"
MsgBox "Nilai = 2"
Case "D"
MsgBox "Nilai = 1"
End Select

Pemindahan Fokus pada Textbox
Pemindahan fokus untuk textbox dapat dilakukan dengan 3 cara. Cara pertama ialah dengan menggunakan mouse, klik textbox yang ingin kita isi. Cara kedua ialah dengan menggunakan tombol “Tab” pada keyboard. Cara yang ketiga ialah dengan menggunakan kode pada event “keypress”.
Dengan cara pertama, kita cukup meng-klik textbox yang kita mau dengan mouse. Dengan cara ini pemindahan fokus textbox agak sulit dilakukan karena tangan kita harus meraih mouse dan menekan tombol kiri pada textbox yang ingin diisi terlebih dahulu.
Dengan cara kedua, pemindahan menjadi lebih mudah karena kita hanya cukup menekan tombol tab. Pada cara ini perpindahan fokus tergantung dari property TabIndex masing-masing textbox. Dimana nilai terkecil akan menerima fokus terlebih dahulu.
Cara ketiga lebih mudah lagi, karena perpindahan tidak tergantung pada property TabIndex tersebut. Cukup tekan enter dan kita set textbox mana yang akan menerima fokus berikutnya.

‘Kode dibawah ini akan memindahkan fokus ke Text2 setelah kita menekan Enter pada Text1
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn then
Text2.SetFocus
End If
End Sub

Penggunaan event Change pada textbox
Event Change pada textbox terjadi bila kita merubah isi dari textbox melalui pengisian langsung pada textbox yang bersangkutan atau melalui perubahan setting pada property Text-nya pada saat running-time.

‘Kode dibawah ini akan menambahkan “a” dengan isi dari Text1 dan menyimpannya ke Text2
Private Sub Text1_Change()
Text2.Text = “a” & Text1.Text
End Sub

Tipe-Tipe Data dalam Visual Basic

Tipe Data Range Karakter
Integer -32768 s/d 32767 %
Long -2147483648 s/d 2147483647 &
Single Negatif: -3,402823E38 s/d -1,401298E-45
Positif: 1,401298E-45 s/d 3,402823E38 !
Double Negatif: -1,79769313486232E308 s/d
-4,94065645841247E-324
Positif: 4,94065645841247E-324 s/d
1,79769313486232E308 #
Currency -922337203685477,5808 s/d
922337203685477,5807 @
String 0 s/d 2 milyar karakter (win32)
0 s/d 65535 karakter (win16) $
Byte 0 s/d 255
Boolean True (Benar) dan False (Salah)
Date 1 Januari 100 s/d 31 Desember 9999
Object Referensi Object
Variant Null, Error, dan seluruh tipe data lain diatas


Database Programming Dengan VB6

Membuat Database
Pembuatan database yang dibahas pada modul ini mencakup pembuatan database Microsoft Access (*.mdb) dengan menggunakan Visual Basic Add-Ins yaitu Visual Data Manager.
Untuk menjalankan Visual Data Manager, pilih menu Add-Ins  Visual Data Manager pada menu utama VB 6.0. Setelah itu akan muncul tampilan seperti dibawah ini.



Untuk membuat sebuah database, pilih menu File  New  Microsoft Access  Version 7.0 MDB.



Setelah itu akan muncul tampilan yang meminta kita untuk memasukkan nama file database dan lokasinya.


Setelah menentukan lokasi dan nama databasenya, tekan tombol Save hingga muncul tampilan berikut.



Klik kanan pada Database Window dan pilih New Table, sehingga tampil window Table Structure.



Ketikkan TbBarang pada Table Name lalu tekan Add Field yang akan menampilkan form berikut



Ketikkan KodeBarang pada Name sebagai nama dari field yang pertama. Pilih Text pada Type untuk menentukan tipe data dari field Kode Barang. Isikan 8 pada Size untuk menentukan lebar data yang dapat disimpan pada field tersebut. Klik OK.
Untuk menambahkan field-field yang lain, isi lagi Name, pilih Type dan isi Size. Jika semua field sudah dimasukkan, tekan Close untuk menutup window Add Field.
Penambahan Index dilakukan dengan cara yang hampir sama dengan penambahan Field. Klik Add Index hingga muncul tampilan



Ketikkan IdxKodeBarang pada Name sebagai nama dari index. Setelah itu pilih field yang ingin di-index pada Available Fields. Field yang di-Index akan tampil pada Indexed Fields. Dengan menggunakan Index, maka record-record akan diurutkan berdasarkan field yang diindex. Selain itu dengan adanya Index, kita dapat menggunakan metode Seek untuk mencari record. Dengan cara ini pencarian record lebih cepat daripada dengan cara sequential dengan metode Find.


Bound Control

Di dalam Visual Basic, terdapat sebuah control yang disebut Data Control. Dengan Data Control ini dan beberapa control yang dapat dihubungkan dengan Data Control (disebut juga Data-Bound Control), kita dapat membuat sebuah program database sederhana dengan mudah.
Walaupun demikian, tidak semua database di support oleh Visual Basic Data Control. Access dan dBase adalah beberapa contoh yang telah disupport oleh Visual Basic. Untuk lebih jelasnya letakkan sebuah Data Control pada form, lihat property Connect pada Data Control. Disana dapat dilihat list yang disupport oleh Visual Basic.
Untuk pemakaian, letakkan sebuah Data Control pada form. Set property DatabaseName dengan nama database Access beserta path-nya. Set property RecordSource dengan nama table yang ingin digunakan. Visual Basic juga memungkinkan penggunaan statement SQL SELECT dan query yang disimpan pada database Access.
Selain menghubungkan form dengan database, Data Control juga dapat digunakan untuk navigasi record-record.







Kasus I : Browsing Database dengan Bound Control

Buat sebuah project dengan nama prjBound.vbp. Selanjutnya lihat tabel di bawah :

Object Property Setting
Form Name frmBarang
Caption Pemeliharaan Data Barang
Data Name datBarang
Caption Barang
DatabaseName c:\vb\data.mdb
RecordSource tbBarang
Text Name txtKodeBarang
DataField KodeBarang
DataSource datBarang
Text

Name txtNama
DataField Nama
DataSource datBarang
Text Name txtHargaSatuan
DataField HargaSatuan
DataSource datBarang
Object Property Setting
Text Name txtStok
DataField Stok
DataSource datBarang

Gunakan Visual Basic Menu Editor untuk membuat menu sbb:

Caption Name
&File mnuFile
----E&xit mnuFileExit



Pada event click untuk mnuFileExit ketikkan perintah:

Private Sub mnuFileExit_Click()
Unload Me
End Sub

Jalankan program, perhatikan bahwa textbox langsung terisi dengan data record pertama dalam tabel tbBarang. Coba juga melakukan navigasi record-record dengan mengklik First Record, Previous Record, Next Record, Last Record. Perhatikan juga bahwa isi text akan otomatis di-update berdasarkan navigasi yang kita lakukan.
Selain itu, jika kita melakukan perubahan pada data yang aktif, perubahan akan otomatis disimpan apabila kita berpindah record. Dengan demikian kita sudah dapat membuat sebuah aplikasi database sederhana tanpa kode sedikitpun. Pada contoh diatas, kode program hanya untuk menu keluar aplikasi.
Namun demikian, aplikasi ini tidak / belum dapat melakukan validasi pemasukan data, menambah data ataupun menghapus data. Untuk itu kita perlu memodifikasi aplikasi tersebut diatas.

Kasus II : Validasi Data

Agar aplikasi kita dapat melakukan validasi data, maka kita harus memodifikasi aplikasi sebelummnya. Tehnik yang dilakukan ialah dengan menggunakan event Validate dari Data Control.
Setiap navigasi - merubah posisi record / pindah ke record lain, Visual Basic akan menjalankan event Validate dari Data Control tersebut. Di dalam event inilah kita akan menulis kode yang nantinya dapat memvalidasi data yang akan disimpan ke dalam database.
Perubahan posisi record dengan data control dinyatakan dengan konstanta Visual Basic : vbDataActionMoveFirst – pindah ke record pertama, vbDataActionMovePrevious – pindah ke record sebelumnya, vbDataActionMoveNext – pindah 1 record ke depan, dan vbDataActionMoveLast – pindah ke record terakhir. Jadi di dalam event ini kita akan mengecek berdasarkan konstanta di atas.
Selanjutnya kita cek apakah pengisian data sudah sesuai dengan peraturan yang kita buat, misalnya textbox KodeBarang harus diisi. Jika setelah kita cek KodeBarang tidak diisi, maka keluarkan pesan dan set Action menjadi dbDataActionCancel (konstanta built-in Visual Basic yang akan membatalkan).
Buka project diatas, lalu ketikkan kode dibawah ini sebagai Validate event dari data control :

Private Sub datBarang_Validate (Action As Integer, Save As Integer)
If Action = vbDataActionMoveFirst or Action = vbDataActionMovePrevious or Action = vbDataActionMoveNext or Action = vbDataActionMoveLast then
If txtKodeBarang.Text = “” then
Msgbox “Kode Barang harus diisi”, vbExclamation
txtKodeBarang.SetFocus
Action = vbDataActionCancel
End If
End If
End Sub

Jika user melakukan perpindahan record, maka cek property text pada txtKodeBarang. Jika textbox tersebut kosong, keluarkan pesan error, lalu set focus pada textbox tersebut dan batalkan perpindahan pointer record.

Catatan:
Konstanta Visual Basic Nilai Pengganti
vbDataActionCancel 0
vbDataActionMoveFirst 1
vbDataActionMovePrevious 2
vbDataAvtionMoveNext 3
vbDataActionMoveLast 4

Kasus III : Menyediakan Fitur Undo pada Aplikasi

Situasi : setelah user melakukan perubahan pada bound control tetapi sebelum melakukan perpindahan pointer record untuk menyimpan perubahan, user ingin membatalkan perubahan yang ia buat. Untuk itu Visual Basic telah menyediakan UpdateControls Method dari Data Control. Dengan mengeksekusi method ini, maka Visual Basic akan membaca ulang database dan mengisi bound control dengan data asli dari database.
Modifikasi project diatas dengan merubah sistem menu menjadi :

Caption Name
&File mnuFile
----E&xit mnuFileExit
&Edit mnuEdit
----&Undo mnuEditUndo



Ketikkan kode berikut :

Private Sub mnuEditUndo_Click()
datBarang.UpdateControls
End Sub

Dengan adanya kode diatas, maka jika user memilih menu Edit  Undo, semua textbox akan terisi dengan data asli sebelum user melakukan perubahan.


Kasus IV : Menambah Record

Penambahan record pada bound controls dapat dilakukan dengan 2 cara : dengan merubah property data control atau dengan bantuan kode.
Property yang harus dirubah agar kita dapat menambah record baru ialah property EOFAction. Set property tersebut dengan 2 – AddNew. Dengan demikian jika pointer record telah berada pada record terakhir, penekanan tombol Move Next akan menyebabkan Visual Basic menambahkan record baru dan mengisi semua bound control dengan nilai default dari database (biasanya kosong / tidak diisi). Setelah entry data selesai, penyimpanan dilakukan oleh Visual Basic jika kita berpindah pointer ke record lain atau menambah record baru.
Cara lain yaitu dengan menggunakan kode. Buka project sebelumnya, kembalikan setting property EOFAction pada keadaan semula 0 – Move Last dan rubah sistem menu menjadi :

Caption Name
&File mnuFile
----E&xit mnuFileExit
&Edit mnuEdit
----&Undo mnuEditUndo
&Data mnuData
----&Add Record mnuDataAdd
----&Save Record mnuDataSave



Ketikkan kode dibawah ini :

Private Sub Form_Load()
mnuDataSave.Enabled = False
End Sub


Private Sub mnuDataAdd_Click()
datBarang.Recordset.AddNew
mnuDataSave.Enabled = True
mnuDataAdd.Enabled = False
txtKodeBarang.SetFocus
End Sub

Private Sub mnuDataSave_Click()
datBarang.Recordset.Update
mnuDataSave.Enabled = False
mnuDataAdd.Enabled = True
End Sub

Ketika user memilih menu Data  Add, metode AddNew dari data control akan mereset textbox menjadi nilai defaultnya (kosong / tidak diisi) dan menyiapkan tempat untuk record baru nantinya. Selanjutnya menu Save akan di-enable dan menu Add akan di-disable dan merubah focus ke txtKodeBarang.
Ketika user memiih menu Data  Save, metode Update akan mengkopi isi dari textbox ke dalam database dan mengupdate table sebagai langkah akhir penyimpanan. Selanjutnya menu Save akan di-disable dan menu Add akan di-enable.

Kasus V : Menghapus Data

Kadang diperlukan juga suatu fitur aplikasi yaitu untuk menghapus data. Penghapusan ini biasanya dilakukan apabila, misalnya, penjualan suatu barang tertentu dihapuskan atau dengan kata lain kita tidak menjual barang tersebut lagi untuk seterusnya.
Untuk itu buka kembali project diatas. Rubah sistem menu menjadi :

Caption Name
&File mnuFile
----E&xit mnuFileExit
&Edit mnuEdit
----&Undo mnuEditUndo
&Data mnuData
----&Add Record mnuDataAdd
----&Save Record mnuDataSave
----&Delete Record mnuDataDelete

Lalu ketikkan kode berikut :


Private Sub mnuDataDelete_Click()
if MsgBox(“Hapus data ini ?”, vbQuestion + vbYesNo + vbDefaultButton2) = vbYes then
datBarang.Recordset.Delete
datBarang.Recordset.MoveFirst
End If
End Sub

Jika user memilih menu Data  Delete Record, maka akan keluar kotak pesan yang menanyakan konfirmasi penghapusan. Jika user benar-benar ingin menghapus data (user pilih Yes), maka record aktif akan dihapus. Selanjutnya pointer record akan berpindah ke record pertama. Ini untuk menghindari error sebab setelah record dihapus, pointer record tidak akan menuju ke suatu record yang valid.

Kasus VI : Browse Data dengan DBGrid

Untuk user yang biasa menggunakan aplikasi Spreadsheet (Lotus, Excel), mungkin membutuhkan suatu cara penyajian data dalam bentuk tabel. Untuk menyediakan fitur tersebut, kita dapat menggunakan control Data Bound Grid (DBGrid).
Buka kembali project diatas. Tambahkan sebuah CommandButton pada form tersebut :

Object Property Setting
CommandButton Name cmdBrowseBarang
Caption Browse Data Barang



Ketikkan kode berikut sebagai event klik dari tombol yang baru kita buat tersebut:

Private Sub cmdBrowseBarang_Click()
frmBrowseBarang.Show vbModal
End Sub

Maksudnya ialah agar menampilkan form frmBrowseBarang tersebut sebagai modal. Sebelum from frmBrowseBarang ditutup, user tidak akan bisa pindah ke form yang lain.
Setelah itu tambah 1 buah form, 1 buah data control, sebuah DBGrid dan CommandButton:

Object
Property Setting
Form Name frmBrowseBarang
Caption Browse Data Barang
Data Name datBarang
Caption Barang
DatabaseName c:\vb\data.mdb
RecordSource tbBarang
Visible False
DBGrid Name grdBrowseBarang
Align 1 - vbAlignTop
DataSource datBarang
CommandButton Name cmdExit
Caption Keluar



Ketikkan kode berikut sebagai event click dari cmdExit :

Private Sub cmdExit_Click()
Unload Me
End Sub

Jadi jika user klik tombol Keluar, form akan di-unload dan kembali ke form sebelumnya.
Untuk mengisi judul kolom-kolom DBGrid, klik kanan pada DBGrid tersebut dan pilih Retrieve Fields. Judul kolom tersebut akan terisi otomatis berdasarkan nama field dari table tbBarang.
Klik kanan DBGrid, pilih Properties…, pada tab General kita dapat memberikan judul untuk DBGrid tersebut dengan mengisi box Caption.
Jika ingin merubah judul kolom, pilih tab Columns dan rubah Caption dari kolom-kolom tersebut.
Agar user dapat menambahkan data baru langsung pada DBGrid, rubah property AllowAddNew menjadi True atau dengan membari tanda centang pada AllowAddNew pada tab General.
Agar user dapat menghapus data langsung pada DBGrid, rubah property AllowDelete menjadi True atau dengan memberi tanda centang pada AllowDelete pada tab General.
Setelah program dijalankan, DBGrid akan langsung terisi dengan data dari database. Selain itu user dapat menambah data baru, merubah data dan menghapus langsung pada DBGrid.

Data Access Object

Dengan Data Control, kita dapat dengan mudah membuat aplikasi database tanpa atau dengan sedikit kode. Walupun demikian Data Control membatasi akses kita terhadap database itu sendiri. Untuk dapat melakukan kontrol penuh terhadap database dengan fleksibilitas yang besar, Microsoft Jet database engine menyediakan metode lain yaitu dengan menggunakan Data Access Object (DAO) – walaupun dengan koding yang lebih banyak.

Deklarasikan variabel database dan recordset
Contoh:
Dim dbBarang As Database
Dim rsPemilik As Recordset

Set database dan recordset
Contoh:
Set dbBarang = OpenDatabase("c:\data.mdb")
Set rsPemilik = db.OpenRecordset("tbPemilik")
Catatan: tbPemilik adalah nama tabel.

Menambah record baru
Contoh:
rsPemilik.AddNew
rsPemilik!KodePemilik = txtKodePemilik.Text
rsPemilik!NamaPemilik = txtNamaPemilik.Text
rsPemilik.Update

Mencari data dengan index
Contoh:
rsPemilik.Index = "idxKodePemilik"
rsPemilik.Seek "=", txtCari.Text

Menghapus record
Contoh:
rsPemilik.Delete
rsPemilik.MoveFirst/MoveLast
Catatan: setelah penghapusan data, pointer record tidak menunjuk ke record yang valid. Oleh karena itu untuk menghindari masalah, pindahkan pointer record ke record pertama/terakhir.

Merubah data
Contoh:
rsPemilik.Edit
rsPemilik!KodePemilik = txtKodePemilik.Text
rsPemilik!NamaPemilik = txtNamaPemilik.Text
rsPemilik.Update
Catatan : Untuk menghapus atau merubah data, data yang ingin dirubah / dihapus harus dijadikan record aktif dengan terlebih dahulu melakukan pencarian terhadap record tersebut. Jika data yang dicari ada, baru dapat dilakukan penghapusan / perubahan.

Contoh Kasus : Pembuatan aplikasi pemeliharaan data barang





Object Property Setting
Form Name FrmBarang
Caption Pemeliharaan Data Barang
TextBox Name txtKodeBarang
Text Kosongkan
TextBox Name txtNama
Text Kosongkan
TextBox Name txtHargaSatuan
Text Kosongkan
TextBox Name txtStok
Text Kosongkan
Frame Caption Kosongkan
CommandButton Name cmdAdd
Caption &Tambah
CommandButton Name cmdEdit
Caption &Rubah
CommandButton Name cmdDelete
Caption &Hapus
CommandButton Name cmdExit
Caption &Keluar


Listing Kode

Dim dbBarang As Database
Dim rsBarang As Recordset
Deklarasi variabel database dan recordset

Sub DisableBox()
txtNama.Enabled = False
txtNama.BackColor = vbButtonFace
txtHargaSatuan.Enabled = False
txtHargaSatuan.BackColor = vbButtonFace
txtStok.Enabled = False
txtStok.BackColor = vbButtonFace
End Sub
Prosedur DisableBox akan men-disable-kan textbox Nama, HargaSatuan dan Stok

Sub EnableBox()
txtNama.Enabled = True
txtNama.BackColor = vbWhite
txtHargaSatuan.Enabled = True
txtHargaSatuan.BackColor = vbWhite
txtStok.Enabled = True
txtStok.BackColor = vbWhite
End Sub
Prosedur EnableBox akan meng-enable-kan textbox Nama, HargaSatuan dan Stok

Sub ClearBox()
txtKodeBarang.Text = ""
txtNama.Text = ""
txtHargaSatuan.Text = ""
txtStok.Text = ""
txtKodeBarang.SetFocus
End Sub
Prosedur ClearBox akan membersihkan textbox KodeBarang, Nama, HargaSatuan dan Stok serta merubah focus ke KodeBarang.

Sub ClearBox2()
txtNama.Text = ""
txtHargaSatuan.Text = ""
txtStok.Text = ""
End Sub
Prosedur ClearBox2 akan membersihkan textbox Nama, HargaSatuan dan Stok.







Private Sub cmdAdd_Click()
rsBarang.AddNew
rsBarang!KodeBarang = txtKodeBarang
rsBarang!Nama = txtNama
rsBarang!HargaSatuan = txtHargaSatuan
rsBarang!Stok = txtStok
rsBarang.Update
ClearBox
DisableBox
cmdAdd.Enabled = False
End Sub
Jika user klik tombol Add, method AddNew akan menyediakan tempat untuk data / record baru. Selanjutnya field-field akan diisi berdasarkan textbox yang bersangkutan. Setelah itu method Update akan melakukan penyimpanan, panggil prosedur ClearBox dan DisableBox, disable-kan tombol Add.

Private Sub cmdDelete_Click()
rsBarang.Delete
rsBarang.MoveFirst
ClearBox
cmdEdit.Enabled = False
cmdDelete.Enabled = False
End Sub
Jika user klik tombol Delete, data aktif yang ditampilkan di layar akan dihapus, lalu panggil prosedur ClearBox dan disable-kan tombol Edit dan Delete. Untuk menghapus data sebelumnya jalankan terlebih dahulu fasilitas pencarian untuk mencari dan memindahkan pointer record ke record yang ingin dihapus tersebut.

Private Sub cmdEdit_Click()
If cmdEdit.Caption = "&Rubah" Then
EnableBox
cmdEdit.Caption = "&Simpan Perubahan"
cmdDelete.Enabled = False
Else
rsBarang.Edit
rsBarang!KodeBarang = txtKodeBarang
rsBarang!Nama = txtNama
rsBarang!HargaSatuan = txtHargaSatuan
rsBarang!Stok = txtStok
rsBarang.Update
ClearBox
DisableBox
cmdEdit.Caption = "&Rubah"
cmdEdit.Enabled = False
End If
End Sub
Jika captionnya “Rubah”, penekanan tombol akan memanggil prosedur EnableBox, merubah Caption tombol menjadi “Simpan Perubahan” dan men-disable-kan tombol Delete.

Jika captionnya “Simpan Perubahan”, simpan perubahan data ke dalam database, panggil ClearBox, DisableBox, rubah caption menjadi “Rubah” dan disablekan tombol tersebut.

Private Sub cmdExit_Click()
Unload Me
End Sub
Tombol Exit akan membawa user keluar dari program.

Private Sub Form_Load()
Set dbBarang = OpenDatabase(App.Path + "\glosell.mdb")
Set rsBarang = dbBarang.OpenRecordset("TbBarang")
DisableBox
cmdAdd.Enabled = False
cmdEdit.Enabled = False
cmdDelete.Enabled = False
End Sub
Buka database dan recordset, panggil DisableBox, disable-kan tombol Add, Edit dan Delete.

Private Sub txtKodeBarang_Change()
If Len(txtKodeBarang) < 8 Then
ClearBox2
DisableBox
cmdAdd.Enabled = False
Exit Sub
End If
rsBarang.Index = "IdxKodeBarang"
rsBarang.Seek "=", txtKodeBarang
If Not rsBarang.NoMatch Then
txtNama.Text = rsBarang!Nama
txtHargaSatuan.Text = rsBarang!HargaSatuan
txtStok.Text = rsBarang!Stok
cmdEdit.Enabled = True
cmdDelete.Enabled = True
Else
EnableBox
ClearBox2
cmdAdd.Enabled = True
End If
End Sub

Private Sub txtKodeBarang_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

Private Sub txtNama_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub


Aplikasi Database dengan 2 Tabel atau Lebih

Dalam pembuatan aplikasi database, ada kemungkinan pemakaian database dengan 2 tabel atau lebih. Misalnya dalam aplikasi penjualan, diperlukan tabel Pelanggan, Barang dan Transaksi. Dimana ketika kita melakukan Transaksi Penjualan, Pelanggan yang membeli dan Barang yang dibelinya akan kita simpan ke dalam tabel Transaksi.
Untuk lebih jelasnya diberikan contoh kasus sebagai berikut :
Buatlah sebuah aplikasi penjualan dengan menggunakan database Access yang terdiri dari 3 tabel tbPelanggan, tbBarang dan tbTransaksi dengan ketentuan field-field sebagai berikut:

Tabel tbPelanggan
Field Name Field Type Field Size
KodePelanggan Text 5
Nama Text 20
Alamat Text 100
Telepon Text 8
Tabel diindex berdasarkan field KodePelanggan dengan nama index idxKodePelanggan

Tabel tbBarang
Field Name Field Type Field Size
KodeBarang Text 5
Nama Text 20
Harga Currency
Stok Integer
Tabel diindex berdasarkan field KodeBarang dengan nama index idxKodeBarang

Tabel tbTransaksi
Field Name Field Type Field Type
NoTrans Text 5
Tanggal Date/Time
KodePelanggan Text 5
KodeBarang Text 5
Jumlah Integer
Total Currency
Tabel diindex berdasarkan field NoTrans dengan nama index idxNoTrans

Selanjutnya, buatlah form Menu Utama, Data Pelanggan ,Data Barang dan Transaksi.
Input Kode Barang dan Kode Pelanggan pada form Transaksi dilakukan dengan memilih data yang ada dari dropdown yang tersedia. Untuk itu kita mempergunakan DBCombo dari Microsoft Data Bound List Controls 6.0.



Object Type Property Setting
Data Name dtaPelanggan
Caption Pelanggan
DatabaseName c:\vb\data.mdb
RecordSource tbPelanggan
Visible False
DBCombo Name dbcKodePelanggan
ListField KodePelanggan
RowSource dtaPelanggan
Style 2 - dbcDropDownList
Data Name dtaBarang
Caption Barang
DatabaseName c:\vb\data.mdb
RecordSource tbBarang
Visible False
DBCombo Name dbcKodeBarang
ListField KodeBarang
RowSource dtaBarang
Style 2 - dbcDropDownList



Deklarasikan recordset pencarian pada General Declaration:
Public rsBarangCari as Recordset
Public rsPelangganCari as Recordset

Set recordset dengan tabel database pada Form_Load (asumsi : db adalah variabel untuk database yang telah diset ke file database)
Set rsBarangCari = db.OpenRecordset(“tbBarang”)
Set rsPelangganCari = db.OpenRecordset(“tbPelanggan”)
rsBarangCari.Index = “idxKodeBarang”
rsPelangganCari.Index = “idxKodePelanggan”

Pada event Click dbcKodePelanggan ketikkan:
Private Sub dbcKodePelanggan_Click(Area As Integer)
If Area = dbcListArea then
rsPelangganCari.Seek "=",dbcKodePelanggan.Text
txtNamaPelanggan.Text = rsPelangganCari!Nama
End If
End Sub

Pada event Click dbcKodeBarang ketikkan:
Private Sub dbcKodeBarang_Click(Area As Integer)
If Area = dbcListArea then
rsBarangCari.Seek "=",dbcKodeBarang.Text
txtNamaBarang.Text = rsBarangCari!Nama
txtHargaSatuan.Text = rsBarangCari!Harga
End If
End Sub

Setelah program dijalankan, bukalah form Transaksi. Perhatikan bahwa kita cukup memilih KodePelanggan dari dropdown yang tersedia maka NamaPelanggan akan terisi secara otomatis. Hal ini berlaku pula jika kita memilih KodeBarang dari drop down yang tersedia, Namabarang dan Harga Satuan akan terisi secara otomatis.
Adapun untuk penyimpanan, yang kita simpan adalah KodePelanggan (didapat dari dbcKodePelanggan.Text) dan KodeBarang (didapat dari dbcKodeBarang.Text).



Pembuatan Laporan pada Visual Basic

Pendahuluan

Pembuatan report / laporan dimaksudkan agar user dapat menghasilkan keluaran / output berupa cetakan ke atas kertas. Laporan ini biasanya diperlukan oleh para manajer untuk pengambilan keputusan-keputusan.
Sebelumnya pembuatan laporan harus menggunakan program dari luar seperti Seagate Crystal Report, atau dengan mengkoding sendiri semua langkah-langkah dari pembacaan data, looping, pencetakan dan format laporannya. Tentu saja pembuatan laporan dengan cara koding seperti ini tidak mudah karena diperlukan berlembar-lembar kertas agar dapat dicapai format laporan yang diinginkan.
Untunglah Microsoft menyadari hal ini dan memasukkan fitur pembuatan laporan pada Visual Basic versi 6, yaitu Microsoft Data Report Designer. Dengan fitur ini, programmer dapat dengan mudah membuat laporan karena sifatnya yang WYSIWYG dan mirip seperti pembuatan form pada umumnya. Laporan yang dihasilkan pun defaultnya hanya di-preview, sehingga dapat mengurangi penggunaan kertas yang tidak perlu untuk mencoba melihat hasilnya. Laporan juga dapat dikonversikan ko format umum seperti HTML.


Pembuatan Laporan dengan MS Data Report Designer

Buat project baru (standard exe) pada Visual Basic. Pilih menu Project  Add Data Environment untuk menambahkan Data Environment pada project.



Klik kanan pada Connection1 dan pilih Properties. Pada window yang muncul kemudian, pilih Microsoft Jet 4.0 OLE DB Provider lalu klik Next. (Jika tidak ada, dapat juga digunakan Microsoft Jet 3.51 OLE DB Provider)
Catatan: Microsoft Jet 4.0 OLE DB Provider dapat ditemukan apabila di komputer telah terinstall MS Access 2000.


Isikan path dan nama file database (*.mdb) atau tekan tombol … untuk mencari filenya (browse). Setelah itu tekan tombol Test Connection untuk mengetes apakah sudah dapat terkoneksi dengan database tersebut dan klik OK.

Klik kanan kembali pada Connection1 dan pilih Add Command



Klik kanan pada Command1 untuk menampilkan form berikut



Pilih option Database Object lalu pilih Table dari dropdown di sebelahnya. Setelah itu pilih nama tabel pada Object Name. Klik Apply lalu OK.
Tambahkan sebuah Data Report dengan memilih Project  Add Data Report



Klik dan tahan Command1 pada Data Environment, lalu drag ke Data Report pada Detail (Section1) sehingga tampilan Data Report menjadi seperti dibawah ini.



Perhatikan bahwa semua field dari tabel telah berada pada Report. Selanjutnya atur posisinya sesuai keperluan.
Langkah selanjutnya adalah menentukan sumber data untuk Data Report tersebut. Untuk itu pilih property DataSource pada Data Report dan pilih DataEnvironment1 pada dropdown yang tersedia.
Setelah itu pilih Command1 pada dropdown property DataMember. Tambahkan sebuah form pada project. Pada Form_Load ketikkan kode berikut:

DataReport1.Show

Jika langkah-langkah diatas telah dijalankan dengan benar, maka ketika program dijalankan, datareport1 akan muncul.



Catatan : 2 buah Icon yang berada diatas kegunaannya berturut-turut adalah untuk mencetak dan untuk export laporan yang ada ke format lain, misalnya, HTML.

Pembuatan Laporan dengan Menggunakan Crystal Report.

Jika di dalam Visual Basic versi 5 terdapat pilihan untuk menginstall Crystal Report, maka pada Visual Basic versi 6 pilihan tersebut dihilangkan. Hal ini mungkin dilakukan karena Visual basic versi 6 sudah mempunyai Data Report Designer yang dapat digunakan untuk pembuatan laporan.
Namun demikian bukan berarti kita tidak dapat menggunakan Crystal Report. Crystal Report dapat ditemukan pada CD instalasi Visual Basic pada folder/direktory "D:\Common\Tools\VB\Crysrept\" (ganti D dengan drive CDROM Anda). Setelah berada di dalam folder/direktory ini, jalankan file Crystl32.exe untuk menginstall Crystal Report.
Setelah diinstall, Crystal Report dapat Anda temui pada menu Add-Ins Visual Basic, yaitu Report Designer.

Menjalankan Crystal Report
Pilih menu Add-InsReport Designer untuk menampilkan window utama Crytal Report seperti dibawah ini.




Membuat Report Baru
Pilih menu File  New untuk menampilkan windows berikut ini



Klik pada tombol Standard untuk menampilkan window Report Expert.



Memasukkan Database
Pada tab Step1: Tables, klik pada Data File untuk menampilkan window Choose Database File. Di window ini Anda dapat mem-browse direktory untuk mencari file database yang akan dipakai sebagai sumber data dari report yang akan kita buat.


Setelah file database yang diinginkan ditemukan, tekan tombol Add untuk menampilkan kembali tab Step1: Tables.

Menambahkan Tabel
Pada tab Step1: Tables, pilihlah tabel yang ingin dimasukkan ke dalam report, lalu klik Next >>.



Melihat/Modifikasi Relasi Tabel-Tabel



Jika tabel yang dimasukkan lebih dari satu, maka pada tab 2: Links anda dapat melihat/memodifikasi hubungan antara tabel-tabel. Selanjutnya tekan Next >>.

Menambahkan Field-field
Pada tab 3: Fields, Anda dapat memilih field-field mana saja yang ingin ditampilkan di dalam report. Terlebih dahulu klik field-nya pada Database Fields lalu klik Add ->, atau klik All -> untuk memasukkan semua field. Klik Next >>.



Menentukan Sortir Data
Pada tab 4: Sort, Anda dapat memilih field yang akan di sort dan ordernya. Pada gambar terlihat bahwa laporan akan diurutkan berdasarkan Field KodeBarang secara menaik (Ascending).



Menentukan Field yang akan di Total
Pada tab 5: Total, Anda dapat memilih field-field yang akan ditotalkan.



Memilih Field Filter
Pada tab 6: Select, Anda dapat memilih field yang akan difilter. Sebagai acuan, yang biasanya dipilih adalah field yang di-index.



Memilih Report Style
Pada field 7: Style, Anda dapat memberi judul pada laporan yang Anda buat. Anda juga dapat memilih style dari laporan Anda, apakah bentuk Standard, Table, dsb. Gambar style yang dipilih akan ditampilkan di sebelah kanan. Setelah itu Anda dapat mengklik Preview Report untuk melihat hasil laporan yang Anda buat.



Gambar Preview Report dapat dilihat seperti gamabr dibawah ini.


Jika Anda pilih tab Design maka Anda dapat merubah desain dari laporan yang baru Anda buat.

Merubah Desain Report



Di dalam tab Design ini Anda dapat menambahkan Field dari Tabel, Text Field, sampai dengan menambahkan gambar pada laporan Anda.

Menambahkan Field
Untuk menambahkan field, pilih menu InsertDatabase Field. Pada window yang tampil, pilih field yang ingin di-insert lalu klik Insert.


Jika Anda ingin menambahkan tulisan pada report. Pilih menu InsertText Field. Pada window yang keluar, isikan teks yang akan ditampilkan.



Klik Accept, setelah itu letakkan Text Field di tempat yang diinginkan. Pilih tab Preview untuk menampilkan report dengan Text Field yang baru dimasukkan.

Merubah Format Tanggal
Di dalam tab Design kita dapat juga merubah format tampilan dari field tanggal. Contohnya merubah format tanggal dari "dd/mm/yyyy" menjadi "dd-mm-yyyy". Klik kanan pada Field Tanggal lalu pilih Change Format.
Pada window yang tampil, Anda dapat merubah format tampilan dari tanggal tersebut.
- Use Windows Default Format : field tanggal tersebut akan mengikuti format dari penanggalan system Windows.
- Suppress if Duplicated : apabila ada dua nilai yang sama, yang akan ditampilkan hanya satu nilai.
- Hide when Printing : jika report tersebut diprint, field tidak akan ikut tercetak.
- Alignment : Left (rata kiri), Center (rata tengah), Right (rata kanan), atau Default (standar).
- MDY : field akan berformat "mm-dd-yyyy", DMY berformat "dd-mm-yyyy" serta YMD akan berformat "yyyy-mm-dd".
Anda dapat memilih format angka bulan, tanggal dan tahun pada dropdown yang tersedia. Anda juga dapat sekaligus merubah karakter pemisah tanggal, bulan dan tahun.
Setelah perubahan selesai, klik OK untuk kembali ke tab Design.



Setelah kembali pada tab Design, perubahan yang dilakukan langsung diterapkan.

Merubah Format Angka Currency
Pada tab Design, klik kanan pada Field HargaSatuan dan pilih Change Format.



- Use Windows Default Format : Format Angka akan mengikuti format System Windows Anda.
- Suppress if Duplicated : ahnya menampilkan satu nilai walaupun ada nilai yang sama.
- Suppress if Zero : apabila jika nilainya 0 maka field tidak akan diisi.
- Hide when Printing : nilai tidak akan tercetak.
- Decimals : memilih format nilai desimal.
- Rounding : memilih pembulatan nilai.
- Negatives : memilih format tampilan nilai negatif.
- Currency Symbol : akan ditambahkan simbol Mata Uang pada nilai.
- One Symbol Per Page : hanya akan menampilkan satu simbol mata uang per halaman.
- Fixed : Simbol Mata Uang berada di kiri sedangkan nilai angka berada di kanan, sehingga kemungkinan ada spasi antara simbol dan nilai.
- Floating : simbol mata uang dan nilai berdekatan, rata kanan sehingga kemungkinan ada spasi di sebelah kiri simbol mata uang.
- Position : menentukan letak simbol mata uang.
- Decimal Separator : menentukan pemisah angka desimal
- Thousands Separator : menentukan pemisah angka ribuan
- Leading Zero : menentukan apakah ada angka 0 di depan.
Setelah perubahan selesai dilakukan, klik OK.

Menambah Gambar pada Laporan
Untuk menambah gambar pada laporan, pilih menu InsertPicture. Cari file yang diinginkan lalu klik OK. Selanjutnya letakkan gambar di tempat yang diinginkan.

Hasil dari perubahan diatas dapat di lihat pada gambar dibawah ini.



Setelah modifikasi selesai, simpan report dengan nama file : "Laporan Data Barang.rpt".

Memanggil Report dari Visual Basic
Pertama-tama yang perlu dilakukan ialah menambahkan Crystal Report Control. Tekan Ctrl+T dan tandai Crystal Report Control 4.6 untuk menampilkan icon Crystal Report di Toolbox.
Langkah selanjutnya adalah menempatkan control pada form. Untuk itu buka lagi project Aplikasi Pemeliharaan Data Barang. Tempatkan sebuah CommandButton dan sebuah Crystal Report Control 4.6.

Object Property Setting
CommandButton Name cmdLaporan
Caption &Laporan
Crystal Report Control 4.6 Name rptLaporan




Pada event Click cmdLaporan ketikkan kode berikut:

rptLaporan.ReportFileName = app.path & _
"\Laporan Data Barang.rpt"
rptlaporan.PrintReport

Jalankan program. Tekan tombol Laporan, maka akan muncul form Crystal Report yang berisikan laporan data barang yang kita buat tadi.

Otomatisasi Kantor (OA)

Penggunaan mesin untuk menjalankan tugas fisik yang biasanya dilakukan oleh manusia yang terdiri atas semua system elektronik formal ataupun informal terutama yang berkaitan dengan komunikasi antara orang orang yang berada di dalam perusahaan dan di luar perusahaan.

Aplikasi OA
• Word Processing
• Electronic Mail
• Voice Mail
• Electronic Calendering
• Audio Conferencing
• Video Conferencing
• Computer Conferencing
• Facsimile Transmission
• Video Text
• Image Storage and Retrieval
• Dekstop Publishing


Word Processing

Penggunaan suatu peralatan elektronik yang secara otomatis melakukan beberapa tugas yang diperlukan untuk membuat dokumen ketik atau cetak.


Electronic Mail

Penggunaan komputer jaringan yang memungkinkan pemakai untuk mengirim, menyimpan dan menerima pesan.




Voice Mail

Penggunaan pesawat telepon untuk mengirim, menyimpan dan menerima pesan.


Electronic Calendering

Pembuatan kalender, untuk menyusun jadual acara acara, pertemuan pertemuan, dengan menggunakan komputer.


Audio Conferencing

Penggunaan peralatan komunikasi suara untuk membuat hubungan audio diantara orang yang tersebar secara geografis untuk melakukan konferensi.


Video Conferencing

Melengkapi signal audio dengan signal video. Peralatan Televisi digunakan untuk mengirim dan menerima signal video dan audio.


Computer Conferencing

Penggunaan komputer jaringan sehingga memberi kemampuan seseorang untuk melakukan pertukaran informasi selama terjadinya konferensi.


Facsimile Transmission

Penggunaan peralatan khusus yang dapat membaca tampilan dokumen pada suatu ujung komunikasi dan membuat salinan di ujung lainnya.


Video Text

Penggunaan komputer untuk tujuan memberikan tampilan materi secara textual pada layar CRT.


Image Storage and Retrieval

Penyimpanan dan pemanggilan tampilan dapat menggunakan microfilm, dan dapat juga menggunakan Electronic Image Management (EIM) yaitu terdiri OCR, workstation, server jaringan, penyimpanan dan peralatan output.


Dekstop Publishing


Dekstop Publishing adalah pembuatan output cetak yang kualitasnya hampir sama dengan yang dihasilkan oleh type setter.

Tutorial Sistem Operasi MS-DOS

Ragil Turyanto
ragilt@telkom.net
I. PENDAHULUAN
I.1 Apakah Sistem Operasi ?
Sistem Operasi bisa didefinisikan sebagai:
1. Perangkat Lunak yang bertindak sebagai perantara antara pemakai computer(user)dengan
perangkat keras(Hardware)
Pemakai computer dibagi menjadi:
a. Common user :pengguna computer biasa.
b. Programmer :Seorang yang membuat aplikasi/program
c. Aplikasi(program) :Sesorang yang menjadi operator pengguna program.
2. Tujuan dari adanya operating system adalah:
a. Menjalankan program-program dari user dan membantu user dalam menggunakan
computer.
b. Menyediakan sarana sehingga pemakaian computer menjadi mudah (convenient).
c. Memenfaatkan perangkat keras computer yang terbatas secara efisien(resource manager).
I.2 Komponen Sistem Komputer
1. Hardware berfungsi menyediakan “basic computing resources”(CPU,memory,I/O devices).
2. Operating system berfungsi mengendalikan/mengkoordinasi pemakaian hardware oleh
berbagai aplikasi/program dari users.
3. Applications Programs menggunakan system resources untuk menyelesaikan masalah
komputasi dari users(compilers,database system,video games,business programs).
4. Users(people,machines,other computers).
1
Lisensi Dokumen:
Copyright © 2004 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Dilihat dari beberapa penjelasan diatas dimanakah posisi DOS itu?
DOS menempati posisi sebagai operating system yang menggunakan CUI(Character User
Interface). Dalam hal ini DOS yang saat ini telah tergantikan/diperbarui denagan adanya
Microsoft Windows versi 9x, 2k, dan sebagainya yang berbasiskan GUI (Grafical user
Interface).
2
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Beberapa Fungsi dari Operating system (DOS) adalah:
1. Mengorganisasikan atau mengendalikan kegiatan computer
2. Mengatur Memori
3. Mengatur proses input dan output data
4. Menegement file
5. Management directory
DOS yang akan kita bahas disini adalah MSDOS Versi 6.22. Beberapa Utilitas MSDOS Versi
6.22 sbb:
1. Memiliki fasilitas doublespace untuk mengkompresi disk dan fasilitas drivespace yang ada
pada fasilitas doublespace.Digunakan untuk menyimpan informasi untuk file yang dikompres
dalam format yang berbeda.
2. Fasilitas Scandisk.Utility yang digunakan untuk mendiagnosa dan memperbaiki disk yang
rusak baik yang dikompressi atau tidak.Memperbaiki crosslinks dan cluster yang hilang serta
memperbaiki kerusakan phisik disk.
3. Fasilitas Smartdrive. Digunakan untuk mengamankan data,dengan cara tidak menunjukkan
prompt dahulu sebelum data direkam.
4. Fasilitas Diskcopy. Berfungsi untuk mengkopi satu disket ke disket lainnya.
5. Microsoft Defragmanter.menata letak file dan directory agar lebih cepat dalam pencarian
file.
Tampilan DOS Versi 6.22
3
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
II. Pengolahan File dan Directory
Dalam pengoperasian DOS terdapat Command-command/perintah yang dikelompokkan
dalam 2 kelompok yaitu:
1. Internal Command
Adalah perintah yang tidak lagi membutuhkan file khusus,karena semua instruksi
internal sudah ditampung dalam file command.com
2. External Command
Untuk mempermudah mampelajari fasilitas DOS maka tiap perintah sudah terdapat file
Help Untuk menjalankannya bisa digunakan perintah seperti contoh berikut:
A:\>Copy/?
Atau
A:\>help copy
Maka akan mendapatkan hasil pada layar sebagai berikut :
Copy
Perintah ini digunakan untuk menyalin atau mengkopy file. Bentuk umum perintah ini
adalah sebagai berikut :
Copy [file_asal] [file_tujuan]
Contoh :
A:\>copy a:\tugas c:\latdos
Perintah diatas menunjukan perintah untuk mengkopi file pada directory tugas di
disket ,dan disalin atau dicopykan ke directori c:\latdos
4
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Hasil perintah diatas sbb:
Pada gambar diatas menunjukkan bahwa proses pengcopy-an berhasil yaitu berupa file
TUGASM~1.doc
Contoh lainnya:
A:\>copy a:*.* c:\latdos
Digunakan untuk meng-copy semua file dari drive a ke c:\latdos
A:\>copy ??g*.* c:\latdos
Digunakan untuk meng-copy semua file yang huruf ketiganya g ke c:\latdos.
DEL
Berfungsi untuk menghapus atau mendelete file. Bentuk umum :
Del[nama_file]
Contoh:
C:\latdos>del *.doc {digunakan untuk menghapus semua file yang berektensi
doc}
Gambar sebelum di delete.
Gambar setelah dilakukan perintah del*.doc
5
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Lihat isi directory dengan dir
Terlihat bahwa file Tugasm~1.doc sudah tidak ada!
DIR
Bentuk umumnya :
DIR(drive:)(path)(filename)(/p)(/w)(/a)((:atribs))(/o)((:)(/s)(/b)Perintah dir digunakan untuk melihat isi sebuah directory.
 /p :untuk menampilkan nama file per halaman(page).
 /w :untuk menampilkan nama file secara mendatar/melebar (wide).
 /a :menampilkan semua file terutama file yang dihidden dengan attribute+h
(Hidden).
 /o :untuk menampilkan file dalam bentuk terurut:
o n berdasarkan nama file (alphabet).
o e berdasarkan tipe file (extension).
o S berdasarkan ukuran dari kecil ke yang besar
o D berdasarkan tanggal dan waktu
o – untuk mengembalikan instruksi.
 /s :untuk menampilkan file dan root directory sampai sub-directory.
 /b :untuk menampilkan file dan directory perbaris.
 /l :untuk menampilkan file atau directory dalam bentuk huruf kecil.
 /c :untuk menampilkan rasio pengkompresan.
Contoh:
C:\>dir
Menampilkan file-file dalam root directory
6
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
REN
Digunakan untuk mengubah (Rename) nama file dengan file yang baru.Perintah ini tidak
akan mengubah isi dari file tersebut. Bentuk umumnya:
REN
Contoh:
C:\>ren tugasm~1.doc tugasku.doc
Perintah diatas berarti mengubah nama file dari tugasm~1.doc menjadi tugasku.doc
Setelah di rename maka akan menghasilkan berikut ini :
7
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
VOL
Perintah ini digunakan untuk menampilkan Volume label atau nomor seri dari sebuah
disk.
Contoh:
A:\>Vol
TYPE
Digunakan untuk menampilkan file text.perintah ini hanya bisa digunakan untuk satu file
saja dan hanya untuk file text.
Contoh:
A:\>type surat.txt {diasumsikan file surat.txt ada di disket}
Maka akan menghasilkan.
XCOPY
Bentuk Umum:
XCOPY SUMBER [DESTINATION] [/Y|-Y] [/A|/M] [/D:DATE] [/P] [/S] [/E] [/V][/W]
Keterangan :
8
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
DESTINATION diisi dengan subdir letak file secara lengkap.
/Y :Untuk tidak menampilkan pesan jika terjadi penimpaan file.
/-Y :Untuk menampilkan pesan jika terjadi penimpaan file.
/A :Menyalin hanya pada file yang berattribut archieve(arsip).
/M :Menyalin file yang telah diberi attribute archieve.Switch ini berbeda dengan /A
karena Switch /M merubah attribute file asal.
/D :date menyalin hanya file yang dimodivikasi pada tanggal yang telah
dispesifikasikan.
/P :digunakan agar MS-DOS menanyakan terlebih dahulu setiap aktifitas XCOPY.
/S :Menyalin suatu diraktori berikut seluruh file dan subdirektori didalamnya .
Kecuali direktori kosong.
/E :Digunakan bersama switch /S yang fungsinya untuk menyalin suatu direktori
berikut sub-sub directory didalamnya termasuk direktori yang kosong.
/V :untuk memeriksa setiap file yang disalinkan tersebut sama dengan file asal.
/W :Digunakan agar MS-DOS menampilkan pesan-pesan terlebih dahulu dan
menanyakan tindakan selanjutnya,sebelum xccopy menyalin file-file tersebut.
Contoh:
A:\>xcopy a: c: /s/e
Untuk menyalin file-file dari A: ke C: termasuk termasuk subdirektori kosong.
Proses pengkopian sukses sebanyak 40 file yang di copy ke C:
9
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
MOVE
Perintah ini digunakan untuk memindahkan satu atau beberapa file pada tempat yang kita
inginkan.Instruksi Move selain untuk memindahkan file,juga bisa mengganti nama
direktori dan nama file yang dipindahkan. Bentuk Umum:
MOVE [drive:] [path] [filename], [drive] [filename[…]] destination
Parameter:
[drive:]][path]filename : menspesifikasikan lokasi dan nama dari file-file yang kita
pindahkan.
Contoh:
A:\>MOVE A:\tugas tugasm~1.doc C:\latdos
Artinya memindahkan file command.com ke dalam sub direktori latdos di drive C:
Catatan:
Instruksi diatas hanya dapat berjalan jika file move.exe ada pada dos anda dan berada di
root direktori atau berada didirectori lain dengan catatan direktori tersebut telah diberi
path.
ATTRIB
Bentuk umumnya :
ATTRIBUT(+R|-R) (+A|-A) (+S|-S)( +H|-H) ((drive:)(path) filename) (/S)
Digunakan untuk mengubah file permission,misalnya membuat file berattribut read
only,Hidden dan sebagainya
Parameter :
(drive:)(path)filename menentukan letak dan nama dari file yang akan diubah.
+ :Mengadakan suatu attribute.
- :menghilangkan attribute.
R :Mengubah attribute file menjadi Read Only.File yang telah diubah menjadi
readonly tidak dapat diubah diganti ataupun dihapus.
A :mengubah attribute file menjadi Archieve (file yang telah memiliki arsip).
S :Mengubah attribute menjadi system.
H :mengubah attribute menjadi hidden.
/s :memproses file pada direktori maupun seluruh sub direktori.
Contoh:
C:\>attrib+h+r C:\latdos\*.*
Artinya:membuat seluruh file pada subdirektori data manjadi hidden(tersembunyi) dan
read only(tidak dapat diubah).
10
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
MD|MKDIR (Make directory)
Bentuk umum:
MD [Nama_direktory]
Contoh:
C:\>md dos622
C:\>md data
Untuk melihat direktori yang telah dibuat ketikkan: dir
CD /CHDIR
Change directory atau pindah directory.
Perintah ini digunakan untuk pindah directory atau mengubah directory aktif.
Contoh:
C:\>cd dos622
Terlihat sekarang bahwa direktori yang aktif adalah direktori dos622
RD (Remove Directory)
Bentuk Umum:
RD [nama_sub_directory]
Perintah Rd digunakan utuk menghapus subdirectory.Syarat agar bisa menghapus sebuah
directory adalah:
11
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
 Posisi penghapusan subdirectory yang akan dihapus harus berada diluar dari
subdirektori tersebut.
 Direktori yang akan dihapus harus benar-benar kosong.Jika tidak kosong gunakan
insstruksi del*.*
Kemudian Perintah RD Bisa digunakan.
Kemudian Hapus directory dos622
DELTREE
Bentuk Umum:
DELTREE (/Y)(drive:)path
 Drive path menentukan letak dan nama direktori yang akan dihapus.
 Switch /y agar perintah deltree tidak menampilkan konfirmasi penghapusan
Contoh:
a:\>deltree c:\data
12
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
III.PERINTAH PADA LAYAR
DATE
Berfungsi untuk mengubah tanggal dari system dos.Bentuk/format pengisiannya adalah
mm-dd-yy atau bulan,tanggal,tahun.
CLS
Clear screen digunakan untuk membersihkan semua tulisan yang ada di layer computer.
Setelah menggunakan perintah cls maka tampilannya akan menjadi seperti gambar
dibawah ini :
TIME
Digunakan untuk merubah system waktu yang ada pada dos:
PROMPT
Bentuk umumnya:
PROMPT [prompt_text] [$parameter]
13
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Parameter yang ada:
 $g :menempilkan karakter>
 $h :menghapus kerekter sebelumnya(berfungsi seperti backspace).
 $n :menampilkan default disk yang digunakan.
 $p :menampilkan posisi direktori yang sedang aktif dari drive default.
 $q :menampikan karakter “=”
 $t :menampilkan jam yang aktif
 $v :menampilkan versi MS-DOS yang dipakai.
 $$ :menampilkan karakter “$”.
 $_ :pindah baris (line feed).
 $1 :menampilkan karakter <.
 $b :menampilkan karakter !.
 $d :menampilkan tanggal yang aktif.
 $e :berfungsi sebagai tombol ESC.
Prompt di MS-DOS menunjukkan bahwa DOS siap menerima perintah. Secara default
bentuk prompt adalah :
C:>
Contoh penggunaan prompt:
Prompt $L$L Ragil Thea $G$G$_$_$P$G
Maka akan diperoleh hasil berikut ini :
Untuk selalu mendapatkan bentuk tanda prompt seperti yang anda inginkan maka kita
bisa menempatkan perintah prompt tersebut pada file AUTOEXEC.BAT
VER
Digunakan untuk menampilkan versi DOS yang digunakan.
Contoh:
C:\>ver
14
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
VERIFY
Bentuk Umum:
Verify ON/OFF
Digunakan untuk mengaktifkan atau menonaktifkan proses freifikasi system.
15
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
IV. PENANGANAN DISK
CHKDSK
Bentuk:
CHKDSK (drive:) ((path)filename) (/F) (/V)
Perintah ini digunakan untuk menampilkan status dari disk,kesalahan yang ditemukan
pada FAT(file system),keutuhan dari file dan disk,menampilkan total memory yang masih
tersedia,melihat sitemnya serta dapat juga memperbaikinya bila ada kesalahan.Jika
CHKDSK menjumpai adanya error maka akan memberikan pesan untuk tindak lanjutnya.
Parameter
/F :digunakan untuk memperbaiki kesalahan pada disk.
/V :digunakan untuk menampilkan setiap file di setiap directory
Instruksi CHKDSK hanya akan mengenal kesalahan fisik. Sehingga jika terjadi
kesalahan/error Cross-Linked CHKDSK tidak dapat memperbaiki kesalahan atau error
tersebut.
Gambar CHKDSK
DISKCOPY
Digunakan untuk membuat salinan disket.dalam DOS Versi 6.X perintah ini bisa
digunakan untuk menyalin satu sumber ke sumber lainnya
Bentuk Umum:
DISKCOPY (drive1:drive2:))(/1(/V)
Switches
/1 :menyaliln hanya pada satu bagian saja.
/V :menguji file yang telah disalin.
16
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Contoh:
A:diskcopy A: A:
Mengkopy dari drive sumber A: ke A:
A:diskcopy A: B:
Mengkopi sumber A: ke B:
Note:
Instruksi diskcopy hanya dapat digunakan pada floppy disk.Diskcopy tidak bisa
digunakan untuk mengkopy dari dank e harddisk.
FDISK
Fdisk digunakan untuk mengetahui informasi tentang partisi harddisk yang dimiliki serta
dapat juga melakukan:
 Membuat partisi dan drive Logical (Logical Drive).
 Mengatur partisi yang aktif.
 Menghapus partisi dan logical drive.
Bentuk Umum:
FDISK/STATUS/MBR
Keterangan :
/status : Untuk menampilkan informasi tentang partisi dari sistemkomputer kita.
/mbr : Master Boot Record parameter ini bisa ditambahkan jika kita ingin memformat
hard disk yang terinfeksi Virus boot record.
Jika menggunakan FDISK maka data pada partisi yang akan diubah akan hilang jadi
backuplah terlebih dahulu
Menu Utama FDISK pada DOS 6.22
17
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Dari Gambar diatas terdapat 4 Opsi yang disediakan oleh FDISK:
1. Create DOS Partition or Logical drive,berfungsi untuk membuat partisi DOS
atau drive Logical DOS.
2. Set Active partition, berfungsi untuk mengatur partisi yang akan diaktifkan.
3. Delete partition or Logical drive,berfungsi untuk menghapus partisi DOS atau
Logical Drive.
4. Display partition information,berfungsi untuk menampilkan informasi tentang
partisi.
Membuat Partisi DOS atau Logical Drive
Hardisk dapat dibuat partisi-partisi yang terdiri dari DOS INTi,partisi perluasan dos,dan
partisi bukan DOS.Untuk membuat masing masing partisi dilakukan dengan cara sbb:
 Partisi DOS INTI
b. Dari menu utama FDISK pilih pilihan [1] lalu tekan enter. Maka akan
muncul layer seperti gambar dibawah ini:
Kemudian pilih [1] kemudian tekan enter kembali.
Pilih [y] dan tekan enter ,fdisk akan mengambil seluruh ruang harddisk.Jika hanya ada
satu harddisk maka akan muncul:
18
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Jika anda ingin membuat partisi DOS Inti yang hanya menempati sebagaian dari ruang
hard disk maka Ketikkan N,dengan demikian kita bisa membagi hard disk menjadi drive
C dan drive D.
Jika anda memilih N maka untuk membuat partisi akan ditampilkan layer seperti berikut:
Pada Komom create primary DOS Partition sis dengan keinginan anda misalnya setengah
dari total harddisk [1000] kemudian tekan Enter
19
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Primary partition telah berhasil dibuat kemudian tekan ESC Untuk kembali ke menu
utama Created Partition or Logical Drive kemudian Pilih [1] dan enter stelah itu akan
muncul menu seperti gambar dibawah ini dan kemudian pilih [2] disertai Enter.
Setelah itu akan ditampilkan layer seperti berikut ini kemudian tekan enter:
Logical drive telah berhasil di buat untuk melanjutkan anda tinggal menekan ESC
20
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Logical drive telah di buat dan menempati Menjadi Drive D: Kemudian tekan ESC
Kemudian anda akan kembali ke FDISK Option kemudian pilih [2] untuk menset partisi
yang aktif pilih 1 kemudian tekan Enter setelah muncul tampilan sbb tekan ESC untuk
melanjutkan.
21
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Kemudian tekan ESC untuk keluar dari Fdisk
FORMAT
Bentuk Umum:
FORMAT drive:[/V[:Label]][/Q][/F:size][/B][/S]
FORMAT drive:[/V[:Label]][/Q][/U][/T:tracks/N:sector][/B|s]
FORMAT drive:[/Q][/U][/1][/4][/8][/B|S][/BACKUP]
/V :Menentukan Volume Label sebagai Identitas disk Panjang character <=11
/Q :Memformat Drive dengan cepet (Quick).
/U :cara ini digunakan untuk hardisk yang sering mengalami kesalahan baca dan tulis
/F:size :menentukan kapasitas disk yang akan di format.
/B :memberikan cadangan tempat untuk system operasi seperti IO.SYS dan
MSDOS.SYS pada disk yang baru di format.
/S :menyalin system operasi seperti file IO.SYS dan MSDOS.SYS dan
Command.Com dari system yang memiliki drive startup.
/T:tracks :menentukan jumlah tracks
/N:sector :menentukan jumlah sector per track operator /N digunakan bersama /T
tetapi tidak dapat digunakan bersam /F.
/1 :memformat pada satu sisi dari floppy disk.
/4 :memformat disket 51/4 inch
/8 :memformat disket 5 ¼ inch dengan 8sector per track.
22
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Backup :instruksi ini disebut dengan undocumented instruction yang akan
memformat disket yang setelah menanyakan label kemudian akan secara otomatis menuju
prompt tanpa adanya Kalimat FORMAT ANOTHER [Y/N]
Contoh:
A:\>Format c: /V:Ragilt
SCANDISK
Bentuk Umum:
SCANDISK
[drive:][drive:][/all][checkonly|autofix[/nosave]|custom][/surface][/mono]
[/nosummary][/fragment][/undo]
Keterangan:
Drive :berisi drive yang akan dicheck
 /AUTOFIX :digunakan untuk mengecek dan memperbaiki jika ada
kerusakan tanpa meminta konfirmasi dari kita untuk memperbaiki atau tidak.
 /ALL :digunakan untuk menecek dan memperbaiki semua local
drive
 /CHECKONLY:digunakan untuk mengecek drive tanpa perbaikan.
 /CUSTOM :digunakan untuk menjalankan scandisk dengan
menggunakan konfigurasi dari file scandisk.ini
 /MONO :digunakan jika kita menggunakan monitor monochrome.
 /NOSAVE :digunakan untuk menghapus cluster yang rusak jika
ditemukan tanpa merekam data.
 /NOSUMARRY:digunakan untuk tampilkan hasil output tanpa full screen
untuk setiap kali pengecekan.
 /SURFACE :aotomatis cek permukaan disk sebelum mengecek lainnya.
 /UNDO :untuk membatalkan proses scandisk.
 /FRAGMENT :untuk mengecak file yang sudah didefragmentasi.
Contoh:
A:\>scandisk c:
Artinya mengecek drive c
C:\scandisk /all
Artinya mengecek semua drive yang ada.
23
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Konfirmasi untuk melakukan Surface scan
Proses Surface scan
24
Kuliah Umum IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
proses Surface Scan telah selesai
25

MEMULAI DOS (DISK OPERATING SYSTEM)

Proses Booting pada DOS
Pemasukan Tanggal Hari
Starting MS DOS…
Current date is sun 02-26-1999
Enter new date (mm-dd-yy) : _
Pengantar Komputer B Minggu ke 2 - 7 Halaman 1 dari 14
Bln Tgl Thn
Sistem operasi DOS memperkenakan karakter :
1. .(Titik)
2. /(Garis miring)
3. -(Minus)
Enter new date (mm-dd-yy) : 35-12-99↵
Invalid date
Enter new date (mm-dd-yy) :
Pesan kesalahan
Pemasukan Waktu
Current time is 6:26:19.98a
Enter new time :
Pengantar Komputer B Minggu ke 2 - 7 Halaman 2 dari 14
JJ MM DD SS
Current time is 6:26:19.98a
Enter new time : 18 10
18-10
18/10
Invalid time
Pesan kesalahan
PROMPT DOS
C:\>_ Kursor
Drive Aktif
SPESIFIKASI FILE
C:\Basica\Belajar\Latihan1.Bas
Pengantar Komputer B Minggu ke 2 - 7 Halaman 3 dari 14
Nama Drive Path Nama File Extension
ATURAN PENULISAN FILE
1. Nama file maksimal terdiri dari 8 karakter.
2. Nama ekstensi paling banyak terdiri dari 3 karakter.
3. Nama file dan nama ekstensi dipisahkan oleh titik.
4. Huruf kecil dan kapital dianggap sama.
SPESIFIKASI FILE GLOBAL
Spesifikasi File Global dapat menunjukan beberapa file, yaitu menggunakan :
a) Asterisk(*)
Asterisk berarti satu karakter atau lebih terdapat di nama file atau ekstensi, dimulai dengan posisi asterisk. Bila hanya satu asterisk dipakai, maka asteris ini menunjukkan seluruh nama file.
Contoh :
.Bat : Menunjukan semua file yang mempunyai extension
“Bat”.
Pengantar Komputer B Minggu ke 2 - 7 Halaman 4 dari 14
b) Tanda Tanya (?)
Tanda tanya (?) dipakai dalam nama file (dan ekstensi) untuk mewakili satu buah karakter.
Contoh :
??Be????.Bat : Menunjukan semua file yang huruf ke-2 dan ke-3 nya “Be” dan mempunyai extension “Bat”.
PERINTAH DASAR DOS
1. Perintah Internal
Perintah-perintah yang telah ada ketika memori komputer sudah berisi sistem operasi
Contoh :
DIR
COPY
DEL
REN
TYPE
PROMPT
MKDIR
CHDIR
RMDIR
2. Perintah Eksternal
Perintah - perintah yang memerlukan suatu file untuk memproses perintah tersebut.
Contoh :
LABEL
TREE
DELTREE
DISKCOPY
FORMAT
XCOPY
PERINTAH INTERNAL
DIR
Perintah untuk melihat isi suatu disket atau drive.
C:\>DIR (Enter)
Contoh:
Volume In Drive C is RITO
Directory of C:\
MASM EXE 8,424 04-09-99 5:00a
LINK EXE 65,777 07-07-99 1:49a
Pengantar Komputer B Minggu ke 2 - 7 Halaman 5 dari 14
Nama Nama Ukuran Tanggal Jam
File Ekstensi File Buat Buat
Variasi DIR
1. A:\>DIR/W (Enter)
Artinya : Melihat isi disk/drive A secara melebar.
2. A:\>DIR B:/P (Enter)
Artinya : Melihat isi disk/drive B secara perlayar.
Pengantar Komputer B Minggu ke 2 - 7 Halaman 6 dari 14
3. A:\>DIR D*.* (Enter)
Artinya : Menampilkan semua isi disk/drive A yang berhuruf depan D berextension bebas.
4. A:\>DIR B: *.COM (Enter)
Artinya : Menampilkan isi disk/drive B yang berekstensi COM
5. A:\>DIR ?O??????.* (Enter)
Artinya : Menampilkan semua isi disk/drive A yang berhuruf ke dua O.
COPY
Perintah untuk menyalin sebuah file atau beberapa file.
C:\>COPY (Enter)
Contoh :
1. A:\>COPY B:MUSIC.COM
Artinya: Menyalin file MUSIC.COM dari disk/drive B
ke disk/drive A.
Pengantar Komputer B Minggu ke 2 - 7 Halaman 7 dari 14
2. A:\>COPY B:*.COM
Artinya : Menyalin semua file yang berakhiran COM dari disk/drive B ke disk/drive A.
3. B:\>COPY BI*.* A:
Artinya : Menyalin semua file yang berhuruf depan BI dari disk/drive B ke disk/drive A.
DEL
Perintah untuk menghapus sebuah file atau beberapa file.
C:\>DEL (Enter)
Contoh :
1. A:\>DEL B:*.COM (Enter)
Menghapus semua yang berakhiran COM pada disk/drive B.
2, A:\>DEL B:*.* (Enter)
Artinya : Menghapus semua isi disk B.
Are you sure(Y/N) :
3. A:\>DEL B:D *.* (Enter)
Artinya : Menghapus semua yang berhuruf depan D pada disk B.
Pengantar Komputer B Minggu ke 2 - 7 Halaman 8 dari 14
RENAME
Perintah untuk mengubah nama file, dengan nama yang baru.
C:\>REN (Enter)
Contoh :
1. C :\> REN A: SOAL.123 A:UJI.123
Artinya : Mengubah nama file SOAL.123 di disk/drive A
menjadi UJI.123.
2. A:\> REN CLOCK.COM JAM.COM
Artinya : Mengubah nama file CLOCK.COM pada di disk A
menjadi JAM.COM
3. A:\> REN *.COM *.MOC
Artinya : Mengubah nama file yang berakhiran COM menjadi MOC.
Pengantar Komputer B Minggu ke 2 - 7 Halaman 9 dari 14
DISKCOPY
Perintah untuk menyalin seluruh isi disket.
C:\>DISKCOPY (Enter)
Contoh :
1. DISKCOPY A: A:
Artinya : Menyalin disket sumber dari A ke A.
2. DISKCOPY B: A:
Artinya : Menyalin disket sumber dari B ke A.
FORMAT
Proses ini akan membentuk ruang penyimpanan data baru pada disket yang diformat.
C:\>FORMAT (Enter)
Contoh :A:\> FORMAT B:/S/V
Insert new diskette for drive B:
And strike ENTER whwn ready
Formatting…. Format complete
System transferrend
Volume label(11 Character, ENTER for none)?
362496 bytes total disk space
62464 bytes used by system
30032 by available on disk
Format another[ y/n]?
Pengantar Komputer B Minggu ke 2 - 7 Halaman 10 dari 14
D I R E C T O R Y
Petunjuk penggunaan direktori
1. Kelompokkan file-file sejenis pada sebuah direktori sendiri.
2. Penamaan direktori sebaiknya sependek mungkin, mudah di ingat.
3. Sebaiknya antara program dan data diletakkan pada direktori terpisah.
4. Penggunaan subdirektori jangan terlalu berlebihan.
MEMBUAT SEBUAH DIREKTORI
Perintah untuk membuat sebuah direktory yaitu MD dari Make Directory
Contoh :
1. B:\> MD PAPA
B:\> DIR
PAPA
2. B:\> MD MAMA
B:\> DIR
PAPA
MAMA
MENGAKTIFKAN DIREKTORI
Perintah untuk mengaktifkan sebuah direktory yaitu CD dari Change Directory
Contoh :
B:\> CD PAPA
Pengantar Komputer B Minggu ke 2 - 7 Halaman 11 dari 14
KELUAR DARI SEBUAH DIREKTORI KE DIREKTORI UTAMA
Contoh :
B :\PAPA>CD\
MENGHAPUS SEBUAH DIREKTORI
Perintah untuk menghapus sebuah direktory yaitu RD dari Remove Directory
Contoh :
B:\> RD PAPA
MELIHAT POHON DIREKTORI
Perintah untuk melihat sebuah direktory yaitu TREE
Contoh :
A:\> TREE B : (Enter)
MENGHAPUS POHON DIREKTORY
Kalau suatu direktory mempunyai subdirektori, penghapusan direktori menjadi sangat kompleks bila menggunakan perintah DEL. Untuk mempermudah penghapusan direktori berserta subdirektorinya, DOS menyediakan perintah DELTREE.
Pengantar Komputer B Minggu ke 2 - 7 Halaman 12 dari 14
BATCH PROCESSING
PROGRAM BATCH (FILE BATCH)
Adalah kumpulan perintah-perintah DOS yang disimpan pada file teks, dengan extension BAT.
Perintah-perintah BATCH
Perintah
Keterangan
ECHO
Menampilkan pesan ke layar atau menghidupkan / mematikan fasilitas penggemaan perintah.
TIME
Menampilkan prompt waktu
DATE
Menampilkan promp tanggal
PROMPT $p$g
Menampilkan path direktori yang aktif
PAUSE
Menghentikan eksekusi batch secara sesaat sampai pemakai menekan sembarang tombol
REM
Untuk memberikan komentar didalam file batch
GOTO
Mengarahkan pemrosesan ke perintah yang terletak sesudah label yang disebutkan pada perintah ini.
IF
Mengatur pemrosesan berdasarkan suatu kondisi
Pengantar Komputer B Minggu ke 2 - 7 Halaman 13 dari 14
PENGGUNAAN COPY CON
Sebuah file batch dapat diciptakan dengan menggunakan editor teks. Misalnya EDLIN, EDIT atau WordStar. Cara lain yaitu dengan memanfaatkan perintah COPY CON.
Contoh berikut menunjukan cara membuat sebuah file batch dengan nama pertama.bat.
1. ketik :
COPY CON PERTAMA.BAT
Kemudian akhiri dengan menekan
2. Ketik
@ECHO OFF
ECHO contoh sebuah file batch:
PAUSE
ECHO.
DATE
3. Setelah baris terakhir diketik , tekanlah
Pengantar Komputer B Minggu ke 2 - 7 Halaman 14 dari 14
PENGGUNAAN AUTOEXEC
Bila file batch diberikan nama file khusus AUTOEXEC.BAT, maka file itu dieksekusi secara otomatis ketika anda pertama kali mengoperasikan komputer.
MENJALANKAN BATCH FILE
Untuk menjalankan sebuah file batch, anda cukup mengetikan nama depan dari file batch.
Contoh:
C:\Batch>Pertama
contoh sebuah file batch:
PAUSE
Press any key to continue . . .
DATE
Current date is Mon 29-09-2003
Enter new date (mm-dd-yy):
C:\Batch>_

PEMROGRAMAN INFORMIX

Memulai informix-4gl

Ketik i4gl atau r4gl pada shell prompt

Informix-4gl RDS (Rapid Development System)

Informix-4gl C compiler

/u/komputer> r4gl 

maka akan tampil menu sbb :

INFORMIX-4GL : Module Form Program Query-language Exit
Create , modify , or run individual 4gl program modules
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -



Module : bekerja pada program module Informix-4gl
Form : bekerja pada screen form
Program : spesifikasi komponen dari program multi-module
Query language : menggunakan SQL interaktif
Exit : kembali ke shell prompt


Menu MODIFY Dalam Module 4GL


Module ; Modify New Compile Program_Compile Run Debug Exit
Change an existing 4gl program module
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -



Modify : untuk memodifikasi module 4gl yang sudah ada
New : untuk membuat module 4gl yang baru
Compile : untuk mengkompile module 4gl yang stand_alone tanpa melalui
pilihan modify.
Program_compile : mengijinkan kita mengkompile dan menggabung module.
Pilihan ini berguna jika kita mempunyai satu module dari sekelom-
pok program yang kompleks & ingin menguji dengan cara meng-
kompilenya dengan module lain.
Run : menjalankan module program
Debug : menggunakan Informix-4gl interaktif debugger untuk menganalisa
program.


MODIFY MODULE >> 
Choose a module with Arrow Keys or enter a name, and press RETURN
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -
Prog_latihan1
Prog_latihan2
Prog_latihan3


USE-EDITOR >> vi 
Enter editor name. (Return only for default editor)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -



Kemudian muncul program yang sudah pernah dibuat,sbb.:
MAIN
DISPLAY “ Selamat Belajar Informix-4gl” AT 5,10
DISPLAY “ Semoga Sukses” AT 6,15
END MAIN

:wq

MODIFY MODULE : Compile Save-and-exit Discard-and-exit
Compile the 4gl module specification
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -



COMPILE MODULE : Object Runable Exit
Create an object file (.4go suffix)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -



COMPILE MODULE : Object Runable Exit
Create an runable program (.4gi suffix)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -



Setelah sukses mengkompile, tampilan berikutnya sbb.:
MODIFY MODULE : Compile Save-and-exit Discard-and-exit
Save the 4GL module and return to MODULE Menu
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -





Menu NEW Dalam Module 4GL


Module ; Modify New Compile Program_Compile Run Debug Exit
Create a new 4GL program module
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -



NEW MODULE >>_
Enter the name you want to assign to the module, and press RETURN
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -




~
~ ketik program anda
~
~

Dalam setiap modul program 4GL harus terdapat main program, yang ditandai dengan statement MAIN.

MAIN
……………………………….. ………………………………..
…..statement…………
………………..………………
END MAIN

MAIN  menyatakan awal blok program .
END MAIN  menyatakan akhir blok program.

Contoh :
MAIN
CREATE DATABASE filkom
CREATE TABLE t_matakuliah
(kd_mk char(8),
nm_mk char(30),
sks smallint,
jenis char(1))
INSERT INTO t_matakuliah
VALUES (“DU-14201”,”Agama”,2,”W”)

END MAIN


MAIN
DISPLAY ‘Universitas Gunadarma’ AT 6,7
DISPLAY ‘Jl. Akses UI Kelapa Dua’ AT 7,7
ATTRIBUTE(reverse,blink)
END MAIN


Output :




MAIN
DEFINE
Nm char(25),
Ket char(30)

LET ket = ‘mahasiswa Universitas Gunadarma’
PROMPT ‘Nama anda : ‘ FOR nm
DISPLAY ‘Mhs. yang bernama ‘,nm,ket AT 10,5
DISPLAY ‘Mhs. yang bernama ‘,nm,’ adalah’,ket AT 12,5
END MAIN

Output :







MAIN
DEFINE nm char(25),
kls char(5)

PROMPT ‘Masukkan nama anda : ‘ FOR nm
PROMPT ‘Masukkan kelas anda : ‘ FOR kls

DISPLAY ‘Saya yang bernama : ‘,nm
DISPLAY ‘Sekarang duduk di kelas ‘,kls
DISPLAY ‘Sedang belajar Informix’
END MAIN

Output :

Program dengan menggunakan DATABASE

DATABASE filkom #contoh program cari data
MAIN
DEFINE
nm char(25), kls char(5)

SELECT nama,kelas INTO nm,kls
FROM t_master
WHERE npm=’10197477’

DISPLAY ‘Nama : ‘,nm AT 5,9
DISPLAY ‘Kelas : ‘,kls AT 6,9

END MAIN

DATABASE filkom
MAIN
DEFINE
nm LIKE t_master.nama,
kls LIKE t_master.kelas,
m_npm LIKE t_master.npm

PROMPT ‘Masukkan NPM yang dicari : ‘ FOR m_npm

SELECT nama,kelas INTO nm,kls
FROM t_master WHERE npm=m_npm
DISPLAY nm CLIPPED,’/’,m_npm,’/’,kls AT 10,12

END MAIN

Contoh program INSERT

# Statement yg diawali tanda ‘#’ tidak diakses
# Ini adalah contoh untuk memasukkan data ke dalam tabel
# Program ini dibuat oleh : ROSNI
# Tanggal pembuatan : 01 /10/2001
#-------------------------------------------------------------------

DATABASE filkom
MAIN
INSERT INTO t_matakuliah (kd_mk,nm_mk,sks,jenis)
VALUES (‘DK-14202’,’Fisika’,2,’W’)
END MAIN
{ contoh kedua program insert data
dibuat oleh …………………
selain menggunakan tanda ‘#’ boleh juga menggunakan tanda’{ }’
}

DATABASE filkom
MAIN
DEFINE kode_mk char(8),
nama_mk char(25),
jsks smallint,
jns char(1)

LET kode_mk = ‘DK-14202’ #contoh penggunaan LET
LET nama-mk = ‘fisika’
LET jsks = 2
LET jns =’W’

INSERT INTO t_matakuliah(kd_mk,nm_mk,sks,jenis)
VALUES (kode_mk,nama_mk,jsks,jns)

END MAIN


#contoh ketiga program insert data
# bandingkan format penulisan define

DATABASE filkom
MAIN
DEFINE kode_mk char(8),nama_mk char(25),jsks smallint,
jns char(1)

PROMPT ‘masukkan kode matakuliah = ‘ FOR kode_mk
PROMPT ‘masukkan nama matakuliah = ‘ FOR nama_mk
PROMPT ‘masukkan jumlah sks = ‘ FOR jsks
PROMPT ‘masukkan jenis matakuliah = ‘ FOR jns

#dibawah ini adalah statement ‘sql’
# penulisan statement sql-nya sama dengan contoh kedua

INSERT INTO t_matakuliah (kd_mk,nm_mk,sks,jenis)
VALUES (kode_mk,nama_mk,jsks,jns)

END MAIN

Contoh Program DELETE

DATABASE filkom
MAIN
DEFINE np LIKE t_master.npm

PROMPT ‘masukkan npm anda : ‘ FOR np

DELETE FROM t_master WHERE npm=np
END MAIN



DATABASE filkom
MAIN
DELETE FROM t_master WHERE kelas[1]=’4’ and ket_lulus=’W’
END MAIN



Contoh Program UPDATE

DATABASE filkom
MAIN
DEFINE
np LIKE t_master.npm,
almt LIKE t_master.alamat

PROMPT ‘masukkan npm anda : ‘ FOR np
PROMPT ‘masukkan alamat baru : ‘ FOR almt

#perintah sql
UPDATE t_master SET alamat = almt WHERE npm = np

END MAIN


DATABASE filkom
MAIN
UPDATE t_master SET kota=’Depok’ WHERE kota=’Cimanggis’
END MAIN


Contoh penggunaan FOR ….. END FOR

-- membuat program dengan menggunakan FOR … END FOR
-- kegunaan tanda ‘--‘ sama dengan tanda ‘#’

DATABASE filkom
MAIN
DEFINE np char(8), nama char(25), kls char(5),i smallint

FOR i = 1 TO 5
PROMPT ‘ketik npm anda = ‘ FOR np
PROMPT ‘ketik nama anda = ‘ FOR nama
PROMPT ‘ketik kelas anda = ‘ FOR kls

INSERT INTO t_master (npm,nama_mhs,kelas)
VALUES (np,nama,kls)

DISPLAY ‘N P M : ‘,np AT 6,5
DISPLAY ‘Nama : ‘,nama AT 7,5 ATTRIBUTE(blink)
DISPLAY ‘Kelas : ‘,kls AT 8,5
SLEEP 2
CLEAR SCREEN
END FOR
DISPLAY ‘Selesai dech ……bye…….’ AT 15,10
END MAIN

{contoh penggunaan WHILE …..END WHILE }

DATABASE filkom
MAIN
DEFINE np char(8), nama char(25), kls char(5), jawab char(1)

LET jawab=’y’
WHILE jawab=’y’ OR jawab=’Y’ #dpt ditulis jawab MATCHES’[Yy]’
PROMPT ‘ketik npm anda = ‘ FOR np
PROMPT ‘ketik nama anda = ‘ FOR nama
PROMPT ‘ketik kelas anda = ‘ FOR kls
INSERT INTO t_master (npm,nama_mhs,kelas)
VALUES (np,nama,kls)
PROMPT ‘ingin tambah data lagi [y/t] ? ‘ FOR jawab
CLEAR SCREEN
END WHILE
END MAIN
PENGGUNAAN FUNCTION

Mendefinisikan function
Function adalah satu routine yang merupakan bagian dari modul program 4GL. Function diletakkan diluar routine MAIN

MAIN
…..
..….
END mAIN

FUNCTION nama_function( )
…….
……
END FUNCTION

#contoh penggalan program yg menggunakan function

FUNCTION jum_mhs( )
DEFINE jum integer,
kls char(5)

PROMPT ‘menghitung jumlah mahasiswa kelas ‘ FOR kls

# perintah sql untuk menghitung
SELECT count(*) INTO jum
FROM t_master
WHERE kelas = kls

DISPLAY ‘Banyaknya mahasiswa kelas ‘,kls, ’=’ , jum
END FUNCTION

Memanggil FUNCTION
Untuk menggunakan function yang telah didefinisikan, dapat dilakukan dengan memanggil function tersebut dari dalam MAIN atau dari dalam FUNCTION lain.
Perintah yg diperlukan untuk memanggil function adalah ‘CALL’

MAIN
………
……….
CALL nama_function( )
…….
END MAIN
# contoh program untuk memanggil function

MAIN
CALL berita( )
END MAIN

FUNCTION berita( )
DISPLAY ‘lagi belajar function’
END FUNCTION


Pengertian variabel global, variabel module & variabel local

Routine adalah seperti MAIN, REPORT dan FUNCTION dapat mempunyai tiga jenis tingkatan variabel terhadap data yaitu global, module dan local.

Variabel global
Variabel yang dapat dikenal dan diterima diseluruh program

Variabel module
Variabel yg dikenal disemua routine yg terletak didalam program 4gl yg sama

Variabel local
Variabel ini hanya berlaku & dimengerti didalam routine yg mendefinisikannya.

Skema lingkup data variabel


Globals
Define var A modul 1

Main
Define var B modul 2
End main
Define var C
Function x
Define var D modul 3
Function y
Define var E




Lokasi Nama variabel Type Scope
Globals Var A Global Main
Function x
Function y
Main Var B Local Main
Module Var C Module Function x
Function y
Function x Var D Local Function x
Function y Var E Local Function y

Contoh :

Globals
Define a integer
End globals
Main
Let a = 0
Call ganti( )
Display a
End main
Function ganti( )
Let a = 99
End function


#outputnya = 99
Globals
Define a integer
End globals
Main
Let a = 0
Call ganti( )
Display a
End main
Function ganti( )
Define a integer
Let a = 99
End function

# outputnya = 0



Parameter
Jenis variabel atau nilai yang terletak antara tanda kurung ( ) pada perintah FUNCTION dan berhubungan dengan perintah CALL.

Parameter ini digunakan untuk melewatkan / mengirim nilai/informasi darii MAIN ke FUNCTION tanpa mempengaruhi nilainya.

PASSING VALUE (melewatkan/mengirim nilai melalui function)
Untuk mengirim/melewatkan nilai melalui function, digunakan parameter pada function yang terletak antara tanda kurung ( ).

Variabel yang menerima nilai/informasi disebut variabel argument.
Parameter harus didefinisikan juga dengan define.


Function tampil (nama,alamat)
Define nama char(25), alamat char(30)
……………………….
………………………….
End function

Function lihat (rec_mhs) #baca catatan ttg record
Define rec_mhs record like t_master.*
………………..
……………….
End function


Main
Define nama,kota char(30) #2 var bertype sama
Let nama = ‘audi’
Let kota = ‘Bandung’
Call lihat(nama,kota) # passing value
End main

Function lihat(nm,kt) # argument value
Define nm,kt char(30)
Display ‘nama = ‘,nm at 7,10
Display ‘kota = ‘,kt at 8,10
End function



RETURN VALUE
Mengembalikan nilai dari function kembali ke routine yang memanggilnya.

Main
Define juml integer

Call hitung( ) RETURNING juml
Display ‘jumlah = ‘,juml at 10,10

End main

Function hitung( )
Define jml integer
Select count(*) into jml from t_master
RETURN jml
End function

Penggunaan PASSING VALUE & RETURN VALUE


Database filkom
Main
Define npm char(8), nama char(25),
Alamat char(30), kota char(15)

Prompt ‘tampilkan data mahasiswa , npm = ‘ for npm
Call cari(npm) returning nama,alamat,kota
Display ‘N P M = ‘,npm at 15,5
Display ‘Nama = ‘,nama at 16,5
Display ‘Alamat = ‘,alamat at 17,5
Display ‘Kota = ‘,kota at 18,5
End main

Function cari(np)
Define np char(8), nm char(25),
alm char(30), kt char(15)


select nama,alamat,kota
into nm , alm, kt
from t_master
where npm = np

#perintah sql diatas bisa ditulis dalam satu baris seperti dibawah ini
#select nama,alamat,kota into nm,alm,kt from t_master where npm=np

return nm, alm, kt
end function




Latihan :

Buat program untuk menghitung luas segitiga dengan input alas dan tinggi di main section, sedangakan perhitungan luas di function hitung.






RECORD

Record merupakan kumpulan dari program variable yang kemungkinannya berbeda tipe data yang satu dengan lainnya.
Sebelum memakai suatu record, kita harus mendefinisikan terlebih dahulu pada DEFINE.

record_name
RECORD
Var_list data_type [,…….]
END RECORD

Define
rec_mk RECORD
kd_mk char(8),
nm_mk char(25),
sks smallint,
jenis char(1)
END RECORD
Main
Select kd_mk,nm_mk,sks,jenis INTO rec_mk.*
from t_matakuliah where kd_mk = ‘TI-17203’

#--------------------------------------------------------------
#sql diatas bisa ditulis seperti dibawah ini
{ Select kd_mk,nm_mk,sks into rec_mk.kd_mk THRU rec_mk.sks
From t_matakuliah where kd_mk=’TI-17203’ }
#--------------------------------------------------------------

display ‘Nama Matakuliah : ‘,rec_mk.nm_mk
display ‘Kode Matakuliah : ‘,rec_mk.kd_mk
end main

Jika kita mendefinisikan record sama seperti pada suatu table (seperti contoh diatas), maka penulisannya dapat disederhanakan menjadi :

record_name RECORD LIKE table_name.*

Define
rec_mk RECORD LIKE t_mk.*
main
………………….
end main

PERINTAH SELECT DENGAN CURSOR

• Mendeklarasikan cursor untuk mewakili perintah SELECT
• Mendapatkan row dengan FOREACH
• Mendapatkan row dengan OPEN , FETCH dan CLOSE

Mendeklarasikan cursor untuk select

sintaks : DECLARE nama_cursor [scroll] CURSOR FOR
SELECT statement

DECLARE k1 CURSOR FOR
Select * from t_master
Where kelas[1,2] = ‘4K’

DECLARE kur CURSOR FOR
Select npm,nama from t_master
Where nama[1]=’R’


Mendapatkan row dengan FOREACH

Statement ‘foreach’ menyebabkan urut-urutan statement dikerjakan satu persatu.

sintaks : FOREACH nama_kursor [INTO var]
………statement………
……………………………….
[CONTINUE FOREACH]
…………………………….
[EXIT FOREACH]
………………………
END FOREACH

• Nama kursor di FOREACH harus sudah pernah didefinisikan pada statement DECLARE
• INTO digunakan untuk menampung hasil query setiap row
• CONTINUE FOREACH atau EXIT FOREACH digunakan untuk interupsi pada kondisi tertentu
• Diakhiri dengan END FOREACH




# contoh penggunaan FOREACH

database filkom
main
define rec_mk RECORD LIKE t_matakuliah.*

declare k1 cursor for
select * from t_matakuliah where kd_mk[1,2]=’DU”

foreach k1 INTO rec_mk.*
display ‘Kode Matakuliah : ‘,rec_mk.kd_mk
display ‘Nama Matakuliah : ‘,rec_mk.nm_mk
display ‘Sks : ‘,rec_mk.sks
end foreach
end main


CONTINUE FOREACH

Statement IF dapat digunakan bersama statement CONTINUE FOREACH untuk menghentikan urutan statement yang ada pada FOREACH loop, dan melanjutkan pembacaan baris berikutnya.

#contoh penggunaan statement ‘continue foreach’
database filkom
main
define rec_mhs RECORD LIKE t_master.*

declare k2 cursor for
select * from t_master

foreach k2 into rec_mhs.*
if rec_mhs.kota = ‘Jakarta’ then
continue foreach
end if
display ‘N P M : ‘,rec_mhs.npm
display ‘Nama : ‘,rec_mhs.nama
display ‘Kota : ‘,rec_mhs.kota
display ‘ ‘
end foreach

end main


EXIT FOREACH

Statement IF dapat digunakan bersama statement EXIT FOREACH untuk menghentikan urutan statement yang ada pada ‘foreach loop’ , serta keluar dari ‘foreach loop’

# contoh penggunaan ‘exit foreach’
database filkom
main
define rec_mhs RECORD LIKE t_master.*,jw char(1)

declare k3 cursor for
select * from t_master

foreach k3 into rec_mhs.*
display ‘N P M : ‘,rec_mhs.npm
display ‘Nama : ‘,rec_mhs.nama
display ‘Alamat : ‘,rec_mhs.alamat

prompt ‘Ingin lihat data berikutnya ?[y/t] : ‘ for jw
if jw matches’[Tt]’ then
exit foreach
end if
end foreach

end main

Mendapatkan row dengan OPEN , FETCH dan CLOSE

Statement foreach diatas, sebenarnya mengkombinasikan beberapa fungsi statement tunggal :
• melakukan OPEN cursor yang terkait dengan statement SELECT
• Secara berulang melakukan FETCH (mengambil) baris, dan menjalankan sejumlah statement yang ada pada FOREACH loop.
• Melakukan CLOSE cursor, setelah seluruh baris terbaca seluruhnya.

OPEN
Untuk melakukan aktif set dari statement SELECT yang dikaitkan dengan suatu cursor.

DECLARE kur CURSOR FOR
SELECT * FROM t_matakuliah
WHERE jenis = ‘P’
OPEN kur

Informix-4GL akan mencari baris sesuai statement diatas dan meletakkan cursor pada posisi awal, sebelum baris pertama.

DK-14301 Pemrog.Gene.4 3 P
TI-17204 Sistem Pakar 2 P
TI-18201 Automata 2 P

FETCH
Untuk menggerakkan cursor pada baris berikutnya dalam suatu aktif set, dan mengambil informasi pada baris tersebut.

#contoh penggunaan statement fetch

FETCH kur INTO rec_mk.*


Output dari statement di atas, sbb.
DK-14301
Pemrog.Gene.4 3 P cursor
TI-17204 Sistem Pakar 2 P
TI-18201 Automata 2 P

Jika FETCH dijalankan sekali lagi, maka cursor akan berpindah ke baris kedua. Bila cursor berada setelah baris terakhir, maka tidak ada lagi informasi yang akan diambil. Pada saat yang sama Informix akan mengisi variabel status dengan informasi NOT FOUND, sebagai tanda bahwa cursor sudah berada di ‘luar batas’.

DK-14301 Pemrog.Gene.4 3 P
TI-17204 Sistem Pakar 2 P
TI-18201 Automata 2 P
Status = NOT FOUND cursor

Karena kita tidak dapat memperkirakan berapa jumlah baris dalam aktif set, maka kita harus selalu memeriksa isi variabel status, segera setelah statement FETCH.
Contoh :
FETCH kur INTO rec_mk.*
IF status = notfound then
Message ‘Tidak ada data’
ELSE
display ‘Kode Matakuliah :,rec_mk.kd_mk
Display ‘Nama Matakuliah :,rec_mk.nm_mk
END IF
CLOSE
Jika sudah tidak membutuhkan informasi atas baris-baris yang diperoleh dari statement SELECT, maka gunakan statement CLOSE atas kursor yang terkait.
#contoh penggunaan statement Close

CLOSE kur

Dapat menggunakan WHILE loop untuk pengulangan pembacaan (FETCH) suatu baris dan memeriksa variabel status selama seluruh baris yang ada dalam aktif set diproses.
Sintaks :
WHILE ekspresi Boolean
…………………………….
…………………………….
[ CONTINUE WHILE ]
…………………………….
…………………………….
[ EXIT WHILE ]
END WHILE

#contoh 1
Database filkom
Define r_mk RECORD LIKE t_mk.*,jawab char(1)
Main
DECLARE kurs CURSOR FOR
Select * from t_mk where nm_mk[1]=’A’

OPEN kurs
Let jawab=’y’


WHILE jawab matches’[Yy]’
FETCH kurs INTO r_mk.*
IF status = notfound then
Message ‘Data tidak ada’
EXIT WHILE
END IF
Display ‘Nama Matakuliah : ‘,r_mk.nm_mk
Display ‘Kode Matakuliah : ‘,r_mk.kd_mk
Prompt ‘Lihat data selanjutnya ? [y/t]’ for jawab
ENDWHILE
CLOSE kurs
End main


#contoh 2, untuk memastikan suatu aktif set itu kosong
Database filkom
Define r_mk RECORD LIKE t_mk.*,jawab char(1)
Main
DECLARE kurs SCROLL CURSOR FOR
Select * from t_mk where nm_mk[1]=’B’

OPEN kurs
FETCH FIRST kurs INTO r_mk.*
If status = notfound then
Message ‘Tidak ada data pada aktif set’
Else
Message ‘Minimal ada satu data pada aktif set’
End if
CLOSE kurs
End main


NEXT :menandakan baris berikutnya setelah baris aktif (active set)
PREVIOUS :menandakan baris sebelumnya dari baris aktif
PRIOR
FIRST : menandakan baris pertama pada baris aktif
LAST : menandakan baris terakhir pada baris aktif
CURRENT : menandakan pada baris yg aktif pada active list
RELATIVE m : menandakan baris ke-m relatif pada kursor yg aktif
ABSOLUTE n : menandakan baris ke-n, n bias integer atau variabel dari
program

















ARRAY
Array merupakan kumpulan record dengan tipe yang sama

Sintaks : array_name ARRAY[n] OF RECORD
Var_list data_type[..,…..]
END RECORD

n = bilangan integer, merupakan jumlah record yg dapat ditampung
oleh array tersebut.

#contoh
ar_krs ARRAY[12] OF RECORD
npm1 like t_nilai.npm,
nama1 like t_nilai.nama,
kd_mk1 like t_nilai.kd_mk,
nm_mk1 like t_nilai.nm_mk
END RECORD



#contoh
ar_mhs ARRAY[150] OF RECORD LIKE t_master.*


#contoh program lengkap tentang ARRAY
Database filkom
Main
Define ar_mhs ARRAY[150] OF RECORD LIKE t_master.*,
i,j smallint
DECLARE k1 CURSOR FOR
SELECT * from t_master where kelas[1]=’4’

Let i=1
FOREACH k1 INTO ar_mhs[i].*
Let i = i + 1
END FOREACH

Let j = i – 1
FOR i = 1 to j
Display ‘Data ke-‘,i,’ ‘,ar_mhs[i].*
END FOR
End main



Pembuatan FORM dengan 4GL

Screen FORM adalah media yg digunakan untuk input & output variabel pada program 4GL , juga digunakan sebagai penghubung data secara interaktif untuk menghapus , mencari & memodifikasi data .
Sebelum digunakan pada program, screen form harus dibuat & dicompile terlebih dahulu.

Spesifikasi file FORM
File FORM pada Informix-4GL terdiri atas 5 bagian (section) yaitu :
• DATABASE
Untuk mengidentifikasi database (jika digunakan)
• SCREEN
Untuk mengidentifikasi ukuran (dimensi), field tags, & tampilan dari form
• TABLE (bersifat optional)
Untuk mengidentifikasi table (jika digunakan) yg berhubungan dengan field yg digunakan dalam form
• ATTRIBUTE
Untuk mengidentifikasi spesifikasi & kegunaan setiap field pada setiap form seperti tampilan pada layar, komentar dsb.
• INSTRUCTION (bersifat optional)
Mengidentifikasi field delimiter, screen record & screen array.

Tampilan menu FORM pada 4GL

INFORMIX-4GL : Module Form Program Query-language Exit
Modify , Generate,New, Compile a form
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -





FORM : Modify Generate New Compile Exit
Change an existing form specification
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - -- - Press CTRL-W for help - - - -








Struktur umum form (sama dengan struktur form pada ISQL, hanya pada 4GL ada tambahan INSTRUCTION)

Database {nama database| formonly}
Screen section
{
[text] [field_tag] [char_graphics]
}
end
Tables [nama table]
Attributes
Field_tag = table.column [,type]
End
[Instruction
[delimiter ‘[]’ ]
[screen record nama_record [n]
({table.*
| table.column1 THRU table.column2})
…..]
[end]


Pembuatan form dapat dilakukan dari ‘isql’ atau ‘r4gl’, khusus jika ada instruction, peng-compile-an harus dilakukan melalui r4gl.

#contoh form yg menggunakan instruction
database pelanggan
screen size 24 by 80
{\g--------------------------------------------------------\g
FORM PELANGGAN
Nomor pelanggan : [f000 ]
Nama pelanggan : [f001 ]
A l a m a t : [f002 ]
K o t a : [f003 ]
Jumlah tagihan : [f004 ]
\g-------------------------------------------------------\g
}
end
table customer
attributes
f000 = customer.no;
f001 = customer.nama;
f002 = customer.alamat;
f003 = customer.kota;
f004 = customer.tagihan;
end
INSTRUCTION
SCREEN RECORD rec_cust (customer.nama THRU customer.tagihan)
End

Statement pada INSTRUCTION section, antara lain :
• Statement untuk menampilkan ARRAY
Digunakan perintah SCREEN RECORD
Screen record nama_record [n]
({table.* |table.column1 THRU table.column2|table.column3})

Pada screen section dibentuk sbb:

Database mahasiswa
Screen
{ N P M Nama kelas
-----------------------------------------
[p ] [q ] [r ]
[p ] [q ] [r ]
[p ] [q ] [r ]
}
end
table t_master
attributes
p = t_master.npm;
q = t_master.nama;
r = t_master.kelas;
end
Instruction
Screen record sc_mhs[3]
(t_master.npm,t_master.nama,t_master.kelas)
end

Untuk menampilkan screen form pada program, maka harus ditulis statement pembuka & penutup, yaitu : OPEN FORM & CLOSE FORM

Sintaks : OPEN FORM var_nm_form FROM “form_file”
DISPLAY FORM var_nm_form
CLOSE FORM var_nm_form form yg sdh dicompile

#contoh
OPEN FORM form_cust FROM “f_cust”
Display FORM form_cust
CLOSE FORM form_cust

INPUT statement
Digunakan untuk mengisi nilaipd prog.variabel dgn data dimasukkan melalui screen field
Sintaks : INPUT var_list FROM field_list
Contoh:
• Define rec_cust RECORD LIKE customer.*
INPUT rec_cust.nama,rec_cust.kota FROM nama,kota

• Input rec_cust.nama THRU rec_cust.tagihan
From nama,alamat,kota,tagihan

• Input rec_cust.nama THRU rec_cust.tagihan from r_cust.*

• Kalau semua nama var sama dgn nama field, dpt digunakan :
INPUT BY NAME rec_cust.nama THRU rec_cust.tagihan

DISPLAY statement
Untuk menampilkan nilai variabel melalui screen field
Sintaks : DISPLAY display_list TO field_list

Contoh :

Let rec_cust.nama =’Didi’
Let rec_cust.kota = ‘Jakarta’
Display rec_cust.nama,rec_cust.kota TO nama,kota


{program ini utk melihat data customer berdasarkan nomor customer dgn menggunakan screen form}

database pelanggan
define rec_cust RECORD LIKE customer.*,
in_no LIKE customer.no
main
OPEN FORM form_cust from ‘f_cust’
Display FORM form_cust

Prompt ‘masukkan nomor customer yg dicari :’ form in_no

Select * into rec_cust.*
from customer
where no=in_no

Display by name rec_cust.*

CLOSE FORM form_cust
End main





REPORT Pada R4GL

Cara membuat REPORT
• Routine report berada diluar main routine.
Dengan menggunakan routine report, kita dapat mengatur informasi sebagai suatu laporan dengan menentukan judul laporan, perhitungan, margin, ukuran kertas dan elemen-elemen lainnya.
• Data yg akan ditampilkan dalam report diperoleh dari main routine atau dari function routine.
• Gunakan looping (seperti FOREACH atau WHILE) bersama dengan START REPORT, OUTPUT TO REPORT dan FINISH REPORT, untuk mengirim data ke report.


STRUKTUR REPORT

MAIN
START REPORT report_name
begin loop
statement yg memberikan nilai a,b,c
OUTPUT TO REPORT report_name
……….
End loop
FINISH REPORT report_name
END MAIN

REPORT report_name(x,y,z)
…………….
END REPORT


FORMAT REPORT ROUTINE

REPORT report_name (argument list)
[DEFINEdefine statement]
[OUTPUT output statement]
[ORDER BY sort list]
FORMAT
control block
……….statement…….
………………………………
END REPORT

STATEMENT REPORT
• Report didefinisikan diluar blok MAIN program (main routine)
• Semua variabel yg dikirim ke report diletakkan pada argument_list
• Argument_list tidak boleh terdiri dari array atau record yg mengandung nilai array. (satu argument hanya boleh mempunyai satu nilau yg unik)

DEFINE SECTION
Semua argument_list pada report harus didefinisikan
Report cust_report (no,nama,kota)
Define no smallint,
nama char(25),
kota char(15)

Report cust_daf (r_cust)
Define r_cust record like cust.*

OUTPUT SECTION
• Untuk mengubah margin
• Untuk menentukan panjang kertas
• Mengirim output ke printer atau ke file
• Default margin :
Left margin 5 spaces
Top margin 3 lines
Bottom margin 3 lines
Page length 66 lines

ORDER BY SECTION
• Untuk mengurutkan data melalui report
• Dapat dilakukan berdasarkan argument_list

Report cust_daf (no,nama,kota)
Define no smallint, nama char(25), kota char(15)
order by nama

FORMAT SECTION
Pada bagian ini ditulis control block dan statement² untuk :
• Membuat page header and trailers
• Mencetak informasi dengan format tertentu
• Mengelompokkan informasi
• Perhitungan seperti total atau rata².

END REPORT
Ditulis untuk mengakhiri suatu report, setelah format section.

 MENJALANKAN REPORT 

Data dikirim ke report dari MAIN routine atau function dengan menggunakan loop seperti : WHILE atau FOREACH dgn statement

START REPORT report_name
OUTPUT TO REPORT report_name (variable_list)
FINISH REPORT report_name

#contoh penggunaan looping foreach utk mengirim data ke report
database pelanggan
main
define rec_cust record like cust.*

declare kur cursor for
select * from cust

start report cust_daf
foreach kur into rec_cust.*
output to report cust_daf (rec_cust.*)
end foreach
finish report cust_daf
end main

report cust_daf(r_cust)
define r_cust record like cust.*
format

on every row
end report

Space/spaces
Untuk menyisipkan space diantara 2 ekspresi pada statement
Contoh : print nomor clipped,”,”,2 spaces,nama

Skip
Untuk menyisipkan baris kosong
Contoh : skip 2 lines

Pageno
Penomoran halaman secara otomatis
Cth : Print ‘Laporan Keuangan’,column 50,’Hal : ‘,pageno using ‘##”

#contoh penulisan format section
format
page header
print column 25,”Daftar Pelanggan”
skip 2 lines
print ‘Nomor Pelanggan’,
column 25,’N a m a’,
column 50,’K o t a’
print ‘-------------------------------------------------------‘
skip 1 line
on every row
print no,column 25,nama,column 50,kota
page trailer
print ‘Data pelanggan’,column 60,’hal :’,pageno using ‘##’

output :
Daftar Pelanggan

Nomor Pelanggan N a m a K o t a
1015002 Evita Aulia Jakarta
…………… ………….. ………


Data pelanggan Hal : 1

#contoh pembuatan report
database pelanggan
main
define rec_cust record like cust.*
declare kur cursor for
select no,nama,kota from t_cust
order by kota
start report cust-daf
foreach kur into rec_cust.no,rec_cust.nama,rec_cust.kota
output to report cust_daf(rec_cust.no,rec_cust.nama,
rec_cust.kota)
end foreach
finish report cust_daf
end main
report cust_daf(nomor,nm,kt)
define nomor smallint,nm char(25),kt char(15)
format
on every row
print nomor,column 25,nm,column50,kt
after group of kt
skip 2 lines
end report

output :

103 Dina Bandung
105 Tio Bandung
107 Adi Bandung

104 Doni Bogor
108 Rini Bogor

101 Mira Jakarta
102 Lina Jakarta
106 Tania Jakarta


#contoh penggunaan operasi aritmatika
on every row
print nomor,
column 25,nama,
column 50,tagih*0.8 using “Rp ###,###.##”


#contoh penggunaan function
on last row
print ‘Total Tagihan’,
column 20,SUM(tagih) using ‘Rp ###,###.##’
skip 1 line
print ‘jumlah pelanggan’,
column 20,COUNT(*) using ‘###’


Group function

Yaitu agregate function yg dapat digunakan untuk perhitungan suatu group informasi pada report
• Group sum(eksp)
• Group count(*)
• Group min(eksp)
• Group max(eksp)
• Group avg(eksp)






#contoh menghitung jumlah tagihan setiap kota
…………………
Report hit_tag(nomor,nm,kt,tagih)
Define nomor smallint
nm char(25), kt char(15),
tagih like cust.tagihan
order by kt
format
page header
print ‘NOMOR’,
column 15,’NAMA’,
column 40,’KOTA’,
column 60,’TAGIHAN’
skip 2 lines
on every row
print nomor,column 15,nm,column 40,kt,
column 60,tagih using ‘Rp ###,###.##’
after group of kt
skip 1 line
print column 20,’Total tagihan kota ‘,kt,
column 55,GROUP SUM(tagih) using ‘Rp ###.###.##’
skip 2 lines
page trailer
print column 20,'TOTAL TAGIHAN',
column 55, SUM(tagih) using 'Rp ###.###.##'
end report
………….

Outputnya :
NOMOR NAMA KOTA TAGIHAN

103 Dina Bandung Rp 60.000,00
105 Tio Bandung Rp 15.000,00
107 Adi Bandung Rp 20.000,00

Total tagihan kota Bandung Rp 95.000,00

104 Doni Bogor Rp 30.000,00
108 Rini Bogor Rp 25.000,00

Total tagihan kota Bogor Rp 55.000,00

101 Mira Jakarta Rp 75.000.00
102 Lina Jakarta Rp 35.000,00
106 Tania Jakarta Rp 40.000,00

Total tagihan kota Jakarta Rp 150.000,00

TOTAL TAGIHAN Rp 300.000.00

Menampilkan REPORT

Report dapat ditampilkan ke layar, printer atau ke file.
Report didefinisikan pada output section

OUTPUT
Left margin 10
Page length 50
Report to “/dev/lp0” #cetak ke printer

OUTPUT
Report to “hasil’ #cetak ke file ‘hasil’

OUTPUT
# Report to “hasil’ #cetak ke layar monitor

#contoh pembuatan report tanpa pengiriman parameter
# buat blanko KRS hilang

main
define i,jum smallint

prompt ‘Mau cetak berapa kali : ‘ for jum
for I = 1 to jum
start report cetakan
output to report cetakan( )
finish report cetakan
end for
end main

report cetakan( )
output report to ‘dev/lp1’
format
page header
print ‘Setoran Universitas Gunadarma’
print ‘N P M = ………………’
print ‘Nama = …………………………………………………’
print ‘Kelas = …………’
skip 2 lines
print ‘Biaya pencetakan KRS pengganti Rp 5000’
end report



#prog. pencetakan report npm dan nama mhs per kelas dgn m’gunakan array
database filkom
main
define a_mhs ARRAY[150] of record
npm like t_master.npm,
nama like t_master.nama
end record,
kls char(5),
i,j,k smallint
prompt ‘Masukkan kelas yg akan dicetak : ‘ for kls
declare kur cursor for
select npm,nama from t_master where kelas=kls
order by npm
let i = 1
foreach kur into a_mhs[i].*
let i = i + 1
end foreach
let j = i –1

start report cetak
for k = 1 to j
output to report cetak(a_mhs[k].npm,a_mhs[k].nama,kls,k]
end for
finish report cetak
end main

report cetak(np,nm,kl,m)
define np like t_master.npm,
nm like t_master.nama,
kl like t_master.kelas,
m smallint
output
report to ‘/dev/lp0’
top margin 5
bottom margin 6
left margin 5
page length 66
format
page header
print ‘Universitas Gunadarma’
print ‘Kelas : ‘,kl,column 40,’Hal : ‘,pageno using’##’
print ‘-------------------------------------------------------------------------‘
print column 3,’No’,column 10,’N P M’,column 25,’N A M A’
print ‘-------------------------------------------------------------------------‘
on every row
print column 3, m using ‘###’,column 10,np,column 25,nm
page trailer
print ‘-------------------------------------------------------------------------‘
on last row
print ‘-------------------------------------------------------------------------‘
end report
Tiga (3) contoh program dengan ouput yang sama

#contoh 1
database filkom
globals
define
rec_byr record like t_uang_klh.*
end globals

main
declare kur cursor for
select * from t_uang_klh
where npm[4,5]=’97’ and ket=’L’

start report cetak
foreach kur into rec_byr.*
output to report cetak( )
end foreach
finish report cetak
end main

report cetak( )
output
top margin 5
bottom margin 4
page length 66
report to ‘/dev/lp2’
format
page header
print column 25,’Contoh Laporan Pembayaran’,
column 55,’Hal : ‘,pageno using ‘##’
print ‘-----------------------------------------------------------------‘
print ‘N P M Jumlah Bayar Tanggal Bayar Keterangan’
print ‘-----------------------------------------------------------------‘
on every row
print rec_byr.npm,
column 13,rec_byr.jml_bayar using ‘Rp ##,###,###.##’,
column 34,rec_byr.tgl_bayar using ‘dd/mm/yy’,
column 55,rec_byr.ket
print ‘-----------------------------------------------------------------‘
page trailer
print column 34,’Pem.Generasi 4 ‘,today using ‘ddd,dd/mmm/yyyy’
end report

#contoh 2 : menggunakan parameter
database filkom
main
define
rec_byr record like t_uang_klh.*

declare kur cursor for
select * from t_uang_klh
where npm[4,5]=’97’ and ket=’L’

start report cetak
foreach kur into rec_byr.*
output to report cetak(rec_byr.* ) #contoh kirim parameter
end foreach
finish report cetak
end main

report cetak( rec_byr) #contoh menggunakan parameter
#parameter ini didefenisikan ulang,krn rec_byr tdk didef. secara global
define rec_byr record like t_uang_klh.*

output
top margin 5
bottom margin 4
page length 66
report to ‘/dev/lp2’
format
page header
print column 25,’Contoh Laporan Pembayaran’,
column 55,’Hal : ‘,pageno using ‘##’
print ‘-----------------------------------------------------------------‘
print ‘N P M Jumlah Bayar Tanggal Bayar Keterangan’
print ‘-----------------------------------------------------------------‘
on every row
print rec_byr.npm,
column 13,rec_byr.jml_bayar using ‘Rp ##,###,###.##’,
column 34,rec_byr.tgl_bayar using ‘dd/mm/yy’,
column 55,rec_byr.ket
print ‘-----------------------------------------------------------------‘
page trailer
print column 34,’Pem.Generasi 4 ‘,today using ‘ddd,dd/mmm/yyyy’
end report



#contoh 3 : menggunakan ARRAY
database filkom
globals
define rec_byr array[500] of record like t_uang_klh.*,
i,j smallint
end globals
main
declare kur cursor for
select * from t_uang_klh
where npm[4,5]=’97’ and ket=’L’
let i=1
foreach kur into rec_byr[i].*
let i = i + 1
end foreach
start report cetak
for j = 1 to i-1
output to report cetak( )
end for
finish report cetak
end main

report cetak( )
output
top margin 5
bottom margin 4
page length 66
report to ‘/dev/lp2’
format
page header
print column 25,’Contoh Laporan Pembayaran’,
column 55,’Hal : ‘,pageno using ‘##’
print ‘-----------------------------------------------------------------‘
print ‘N P M Jumlah Bayar Tanggal Bayar Keterangan’
print ‘-----------------------------------------------------------------‘
on every row
print rec_byr[j].npm,
column 13,rec_byr[j].jml_bayar using ‘Rp ##,###,###.##’,
column 34,rec_byr[j].tgl_bayar using ‘dd/mm/yy’,
column 55,rec_byr[j].ket
print ‘-----------------------------------------------------------------‘
page trailer
print column 34,’Pem.Generasi 4 ‘,today using ‘ddd,dd/mmm/yyyy’
end report

Output ketiga program di atas sbb.:


Contoh Laporan Pembayaran Hal : 1
N P M Jumlah Bayar Tanggal Bayar Keterangan
10699009 Rp 3.991.500,00 15/07/99 L
10699017 Rp 3.757.950,00 25/06/99 L
10699026 Rp 3.618.450,00 01/07/99 L
10699028 Rp 4.216.500,00 23/07/99 L
10699036 Rp 4.216.500,00 09/06/99 L
10699049 Rp 3.676.500,00 10/05/99 L
10699061 Rp 3.753.450,00 22/06/99 L
10699086 Rp 3.618.450,00 05/07/99 L
10699087 Rp 3.618.450,00 16/08/99 L
10699104 Rp 3.991.500,00 02/08/99 L
10699105 Rp 3.753.450,00 21/06/99 L
10699142 Rp 3.618.450,00 01/06/99 L




LATIHAN
Diketahui :
nama database yang digunakan -> pegawai
nama table yang digunakan -> t_barang
struktur file sbb :
kd_brg char(4)
nm_brg char(25)
hrg_brg money
stock_min smallint
jml_brg smallint
ket_brg char(1)

Ketentuan untuk field tag yang didiskripsikan dalam attribute :
- kd_brg harus diisi 2x
- nm_brg harus huruf besar dan jika pengisian nm_brg sudah penuh maka kursor otomatis akan pindah pada field berikutnya
- ket_brg hanya boleh diisi angka '1','2','3' atau '4'

Syarat perintah query yang digunakan pada report yaitu :
"tampilkan semua data barang yang ket_brg adalah '1' atau '2' saja !"

SOAL :
1. Buatkan program untuk menampilkan FORM
2. Buatkan program untuk membuat REPORT dengan ketentuan sbb :
- batas atas 5
- batas bawah 5
- batas kiri 5
- batas kanan 5
- panjang kertas 60
- dicetak dikertas dengan nama printer '/dev/lp3'

OUTPUT :
LAPORAN PERSEDIAAN BARANG
Hal : ....
-----------------------------------------------------
Kode Brg Nama Brg Harga Jumlah
-----------------------------------------------------
A012 Kertas Folio Rp. 12.000 30
xxxx xxxxxx Rp.999.999 99
xxxx xxxxxx Rp.999.999 99
xxxx xxxxxx Rp.999.999 99
xxxx xxxxxx Rp.999.999 99
-----------------------------------------------------


*** SELAMAT MENGERJAKAN ***

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Enterprise Project Management