PENDIDIKAN JARINGAN KOMPUTER DAN SISTEM INFORMASI
©Copyright PIKSI-ITS 2002
Ruang C.203 Jurusan Teknik Elektro ITS Keputih Sukolilo - Surabaya Telp: (031)5929871 Fax: (031)5929870
:
[email protected]
Desain Sistem dan Database Dalam Lingkungan Dos i
Hak Cipta Buku dan Logo dari PIKSI – ITS ini adalah merupakan hak cipta dari PIKSI-ITS. Dilarang memperbanyak, memfotocopy sebagian atau seluruh isi dari buku dan logo tanpa seijin dari pihak PIKSI-ITS
Disclaimer Book and Logo PIKSI-ITS are copyright© of PIKSI-ITS No part of this book, including interior design , cover and logo maybe reproduce without any permission from PIKSI-ITS
Desain Sistem dan Database Dalam Lingkungan Dos ii
Kata Pengantar Jenis pendidikan satu tahun sekarang ini sudah mulai banyak jumlahnya. Salah satunya adalah Pendidikan Jaringan Komputer dan Sistem Informasi – ITS atau disingkat PIKSI – ITS. PIKSI pertama mengkhususkan diri pada bidang Jaringan Komputer dan Basis Data. Kemudian menyesuaikan diri dengan perkembangan dan minat masyarakat, dibuka kelas baru Aplikasi Perkantoran. Salah satu bidang yang diajarkan PIKSI sekarang ini adalah Desain Database dalam Lingkungan Dos. Diharapkan bahwa buku ini akan menunjuang bagi mereka yang berminat mendalami bidang ini, juga sebagai pembantu dalam perkuliahan PIKSI-ITS. Saran dan kritik anda tentang buku atau kualitas pengajaran dapat anda kirimkan ke email :
[email protected].
Ketua PIKSI-ITS
I Ketut Edi Purnama, MT
Desain Sistem dan Database Dalam Lingkungan Dos iii
Daftar Isi Kata Pengantar.................................................................................................ii Daftar Isi...........................................................................................................iii Tipe Data, Variabel, dan Struktur Data ...................................................... 1-1 1.1. Tipe Data.................................................................................................... 1-2 1.2.1. Array (A)............................................................................................ 1-2 1.2.2. Karakter( C) ....................................................................................... 1-2 1.2.3. Tanggal .............................................................................................. 1-3 1.2.4. Bilangan Pecahan (F) dan Numerik (N) ............................................ 1-3 1.2.5. Logika ................................................................................................ 1-3 1.2.6. Memo ................................................................................................. 1-3 1.2. Variabel...................................................................................................... 1-4 1.2.1. Menciptakan Variabel........................................................................ 1-4 1.2.2. Menampilkan Karakteristik Variabel................................................. 1-4 1.3. Operator ..................................................................................................... 1-5 1.4. Assignment ................................................................................................ 1-6 1.5. Macro ......................................................................................................... 1-6 Struktur File.................................................................................................. 2-1 2.1. File ............................................................................................................. 2-2 2.2. Tipe Field ................................................................................................... 2-2 Perintah I/O Standard .................................................................................. 3-1 3.1. Perintah Output Standard........................................................................... 3-2 3.1.1. Perintah ? dan ?? ................................................................................ 3-2 3.1.2. Perintah @…Say ............................................................................... 3-2 3.1.3. Perintah DISPLAY dan LIST ............................................................ 3-3 3.1.4. Perintah SET DISPLAY .................................................................... 3-4 3.1.5. Keluaran ke Printer ............................................................................ 3-4 3.2. Perintah Input Standart .............................................................................. 3-4 3.2.1. Perintah ACCEPT.............................................................................. 3-4 3.2.2. Perintah INPUT ................................................................................. 3-5 3.2.3. Perintah WAIT................................................................................... 3-5 3.2.4. Fungsi InKey() ................................................................................... 3-5 3.2.5. Perintah KEYBOARD ....................................................................... 3-5 3.3. Format Input/Output .................................................................................. 3-6 3.3.1. PICTURE........................................................................................... 3-6 3.3.2. RANGE.............................................................................................. 3-7 3.3.3. VALID ............................................................................................... 3-7 Kontrol Alur Program .................................................................................. 4-1 4.1. Runtutan atau Urutan (Sequence) .............................................................. 4-2 4.2. Pemilihan (Selection)................................................................................. 4-2 4.2.1. Pemilihan satu kondisi dengan IF…ENDIF ...................................... 4-2 4.2.2. Pemilihan dua kondisi dengan IF…ELSE…ENDIF ......................... 4-2 4.2.3. Pemilihan dua kondisi dengan IIF ..................................................... 4-3 4.2.4. Pemilihan kondisi dengan IF…ELSE IF… ELSE…ENDIF ............. 4-3
Desain Sistem dan Database Dalam Lingkungan Dos iv
4.2.5. Pemilihan beberapa kondisi dengan DO CASE… CASE… OTHERWISE…ENDCASE .............................................................................. 4-3 4.3. Pengulangan (Repitition) ........................................................................... 4-3 4.3.1. FOR…NEXT ..................................................................................... 4-4 4.3.2. DO WHILE ENDDO......................................................................... 4-4 Penyusunan dan Pengolahan Database ................................................... 5-1 5.1. Pembuatan Struktur File ............................................................................ 5-2 5.1.1. Menggunakan Foxpro ........................................................................ 5-2 5.1.2. Menggunakan Clipper........................................................................ 5-2 5.2. Pengurutan File Database .......................................................................... 5-2 5.2.1. Sort..................................................................................................... 5-2 5.2.2. Index .................................................................................................. 5-3 5.3. Pengaksesan File Database ........................................................................ 5-3 5.3.1. Akses Squensial ................................................................................. 5-3 5.3.2. Akses Random ................................................................................... 5-3 5.4. Pengolahan Database ................................................................................. 5-4 5.4.1. Menambah Data (APPEND).............................................................. 5-4 5.4.2. Mengubah Data (EDIT) ..................................................................... 5-4 5.4.3. Menghapus Data (DELETE).............................................................. 5-5 5.4.4. Menyalin Data (COPY) ..................................................................... 5-5 5.4.5. Penghapusan File (ZAP) .................................................................... 5-5 5.4.6. Menambah Data dari File lain (APPEND FROM) ............................ 5-5 5.5. Browsing .................................................................................................... 5-5 5.6. Pengolahan File Memo .............................................................................. 5-5 Pemrograman Modular................................................................................ 6-1 6.1. PROCEDURE............................................................................................ 6-2 6.2. FUNCTION ............................................................................................... 6-2 6.3. PARAMETER ........................................................................................... 6-3 Manipulasi Data dan I/O Lanjut .................................................................. 7-1 7.1. Manipulasi Data Numerik.......................................................................... 7-2 7.2. Manipulasi Data Tanggal........................................................................... 7-2 7.3. Manipulasi Data Tanggal........................................................................... 7-3 7.3.1. Pencetakkan ke Printer....................................................................... 7-3 7.3.2. Penyimpanan ke File Teks ................................................................. 7-3 7.4. Manipulasi Data Tanggal........................................................................... 7-3 7.4.1. SET COLOR TO dan SET COLOR .................................................. 7-3 7.4.2. CLEAR dan @...CLEAR................................................................... 7-4 7.4.3. @...TO ............................................................................................... 7-5 7.4.4. @...BOX ............................................................................................ 7-5 7.4.5. SAVE SCREEN [TO
] dan RESTORE SCREEN [FROM 7]............................................................................................... 7-5 7.4.6. =SAVESCREEN() dan RESTSCREEN(…,) ................. 7-6 Pembuatan Menu ......................................................................................... 8-1 8.1. Manipulasi Data Tanggal........................................................................... 8-2 8.2. Menu Pop-up dan Pull-down ..................................................................... 8-2
Desain Sistem dan Database Dalam Lingkungan Dos v
Aplikasi Multiuser ........................................................................................ 9-1 9.1. Perintah dalam Multiuser........................................................................... 9-2 9.2. Function dalam Multiuser .......................................................................... 9-2 9.3. Langkah-langkah Pembuatan Aplikasi Multiuser...................................... 9-3 9.3.1. Waktu Penguncian yang tepat............................................................ 9-3 9.3.2. Cara Membuka File untuk Sharing .................................................... 9-3 9.3.3. Mekanisme Penguncian ..................................................................... 9-4 9.3.4. Penerapan Mode Share/ Exclusive..................................................... 9-4
Desain Sistem dan Database di Lingkungan DOS Tipe Data, Variabel dan Struktur Data 1 - 1
BAB
1 Tipe Data, Variabel, dan Struktur Data
Tujuan : Pada Bab Ini diharapkan mahasiswa : • Mengenal berbagai tipe data FoxPro. • Mampu menggunakan tipe-tipe data dalam memprogram Foxpro.
Desain Sistem dan Database di Lingkungan DOS Tipe Data, Variabel dan Struktur Data 1 - 2
1.1. Tipe Data Foxpro mengenal 8 macam tipe data, yaitu : TIPE DATA
SIMBOL
BERLAKU UNTUK
URAIAN
Array
A
MemVer
Sederetan MemVar yang dapat diakses dengan satu nama tunggal
Karakter
C
MemVer/Field
Data kombinasi alfabet, angka, spasi dan symbol
Tanggal
D
MemVer/Field
Data berupa tanggal dengan panjang 8 byte
Bilangan Float
F
MemVer/Field
Untuk keperluan operasi aritmatik
Logika
L
MemVer/Field
Data karakter tunggal T/F yang bernilai benar atau salah
Memo
M
MemVer
Data berupa infrmasi tentang suatu teks dengan panjang tidak tentu maks. 64 KB. Data teks disimpan pada file yang terpisah dari file database.
Bilangan Numerik
N
MemVer/Field
Untuk keperluan operasi aritmatik
1.2.1. Array (A) Adalah sederetan memvar yang dapat diakses dengan wsatu nama tunggal, mirip dengan table yang berisi serangkaian nilai yang berurutan. Komponenkomponen yang menyusun array berupa memvar disebut elemen. Array tidak seperti memvar biasa yang bisa langsung diberi nilai, array harus diciptakan dahulu dengan perintah sebagai berikut : DECLARE [jumlah elemen] Contoh : 1. DECLARE dhanks [5] Berarti kita membuat array dengan nama dhanks dan jumlah elemen penyusunnya adalah 5.
1.2.2. Karakter( C) Tipe data karakter biasa disebut juga sebagai tipe data string, menyatakan data berupa deretan karakter alfabet A-Z, angka 0-9, dan sejumlah karakter tertentu. Data karakter dideklarasikan dengan menuliskan data dianatara salah satu tanda di bawah ini : 1. tanda kutip tunggal (‘ ’) 2. tanda kutip ganda (“ ”) 3. tanda kurung ([ ]) Contoh : 1. ? ‘Dhanks’
Desain Sistem dan Database di Lingkungan DOS Tipe Data, Variabel dan Struktur Data 1 - 3 2. ? “Mahasiswa PIKSI-ITS” 3. ? [2002-2003] 4. ? [contoh penulisan komentar dengan ‘ ’, “ ”, dan [] ] Nb: tanda ? adalah perintah untuk menampilkan data yang dispesifikasikan di belakangnya pada layar
1.2.3. Tanggal Tipe tanggal digunakan untuk menyimpan data tabnggal dalam format mm/dd/yy dengan m menyatakan bulan, d menyatakan tanggal, dan y menyatakan tahun. Contoh : 1. ?{12/25/90} 2. ?{12b25b90}
1.2.4. Bilangan Pecahan (F) dan Numerik (N) Kedua tipe ini identik,menyatakan data berupa bilangan. Dalam Foxpro tisdak ada perbedaan antara tipe data F dan N, sehingga dapat digunakan untuk operasi numeric apa saja. Contoh : 1. ? 3.14 2. ? 7+1
1.2.5. Logika Tipe data ini digunakan untuk menyatakan data yang hanya mengandung 2 kondisi, yaitu benar/ salah dan ya/idak. Penulisan data tersebut diapit dengan tanda titik (.). Untuk menyatakan Ya atau Benar digunakan karakter Y, y, T, t dan untuk menyatakan Tidak atau Salah digunakan karakter N, n, F, f. Contoh : 1. ?.F. 2. ?.Y.
1.2.6. Memo Tipe Memo hanya berlaku untuk field. Memo adalah bagian dari suatu file yang digunakan untuk menyimpan data karakter yang berukuran besar.
Desain Sistem dan Database di Lingkungan DOS Tipe Data, Variabel dan Struktur Data 1 - 4
1.2. Variabel Foxpro menyimpan data di dalam variable. Sebuah variable merupakan suatu nama yang digunakan untuk mengidentifikasikan suatu nilai tertentu. Isi dari varibel dapat berubah-ubah. Suatu data apabila disimpan dalam variable, dapat kita ambil isinya, memanipulasinya, menampilkanya dan memprosesnya sembarang waktu. Agar dapat mengidentifikasi variable dan membedakan dengan variable lain, setiap variable harus diberi nama (identifier). Dalam Foxpro identifier mengikuti aturan sebagai berikut : 1. Terdiri dari huruf, angka, atau garis bawah serta kombinasi dari ketiganya 2. Karakter pertama harus selalu berupa huruf 3. Panjang maksimum nama variable adalah 10 karakter 4. Nama variable diusahakan unik 5. Nama Fiekd database akan diprioritaskan pengaksesanya dibandingkan dengan variable 6. Agar mudah mengetahui tipe data sebuah variable, maka diawal nama variable ditambahkan karakter penanda tipe. Misal c(character), n(numeric), l(logical), d(date), cNamaMahasiswa, nNilai, dTanggalLahir.
1.2.1. Menciptakan Variabel Dalam Foxpro untuk menciptakan variable (MemVar) cukup dengan menspesifikasikan nama memvar yang bersangkutan dan memberinya nilai dengan operator = atau lewat perintah STORE. Contoh : Name = “Dhanks” STORE “ ” TO bank STORE 1 TO jj KK = 1
&& menciptakan memvar name && menciptakan memvar blank && menciptakan memvar jj && menciptakan memvar KK
1.2.2. Menampilkan Karakteristik Variabel Foxpro menyediakan beberapa perintah dan fungsi yang bermanfaat untuk memeriksa karakteristik suatu variable, yaitu : Perintah/Fungsi Perintah ? dan ??
Fungsi Type()
Perintah Display Memory
Uraian ? dan ?? digunakan untuk melihat isi dari suatu variable, pda pemakaian ?? sebelum variable ditampilkan, tidak terjadi pergantian baris layar. Untuk memeriksa tipe suatu variable, dengan sitak : =Type() cvar adalah karakter yang menspesifikasi nama variable yang akan diperiksa. Untuk menampilkan isi variable. Bentuk umum : DISPLAY MEMORY [LIKE<skel>]
Desain Sistem dan Database di Lingkungan DOS Tipe Data, Variabel dan Struktur Data 1 - 5 [TO PRINTER[PROMPT]|TO FILE]
Perintah List Memory
Untuk menampilkan isi variable tanpa berhenti setiap ganti halaman. Bentuk umum : LIST MEMORY [LIKE<skel>] [TO PRINTER[PROMPT]|TO FILE] [NOCONSOLE] Nb: skel adalah wildcard, seperti a* untuk semua variable yang diawali oleh huruf a.
1.3. Operator Operator adalah simbol-simbol yang digunakan untuk mendefinisikan operasi (instruksi yang menghasilkan nilai tertentu) dari operand-operand (data yang dioperasikan). Berdasarkan jumlah operand yang dioperasikan, operator diklasifikasikan menjadi 3, yaitu : a. operator uner (unary) operator yang mengoperasikan satu operand b. operator biner (binary) operator yang mengoperasikan dua operand c. operator tersier (tertier) operator yang mengoperasikan tiga operand Berdasarkan tipe operand yang dioperasikan, operator dapat dikelompokkan menjadi : a. Operator matematis Untuk melakukan operasi pada operand bertipe numeric. Adapun jenisnya adalah sebagai berikut : Operator
Jenis Operasi
Guna
-
Uner
Mengambil nilai negatif dari suatu angka
+
Biner
Operasi penjumlahan
-
Biner
Operasi pengurangan
*
Biner
Operasi perkalian
/
Biner
Operasi pembagian
** atau ^
Biner
Operasi perpangkatan
%
Biner
Operasi modulus
b. Operator karakter Adalah operator-operator yang berguna untuk mengolah data karakter. Yang digunakan adalah operator biner + untuk menggabungkan dua data karakter menjadi satu karakter dan operator biner – untuk menggabungkan dua data karakter menjadi satu karakter dan menghilangkan spasi di belakang operand pertama. c. Operator tanggal
Desain Sistem dan Database di Lingkungan DOS Tipe Data, Variabel dan Struktur Data 1 - 6 Adalah operator-operator yang digunakan untuk mengolah data tanggal. Operator yang digunakan adalah operator biner + dan biner -. d. Operator logika dan relasi Operator logika adalah operator yang bekerja terhadap operand bertipe logika. Operator logika dalam Foxpro adalah : Operator .AND. .OR. .NOT. atau !
Jenis Operasi Biner Biner Uner
Fungsi Logika AND Logika OR Logika NOT
Operator relasi adalah operator yang bekerja membandingkan operan/ekspresi dari berbagai tipe data dan mengembalikan nilai logika .T. atau .F.. Operator relasi dalam Foxpro : Operator = == > < >= <= < > atau # atau != $
Fungsi Kesamaan Kesamaan yang pasti Lebih besar Lebih kecil Lebih besar atau sama dengan Lebih kecil atau sama dengan Ketidaksamaan Anggota
Berlaku untuk ekspresi Semua tipe C, M Semua tipe Semua tipe Semua tipe Semua tipe Semua tipe C, M
1.4. Assignment Assigment adalah proses untuk memberikan nilai ke sebuah variable (variable memori). Operator yang digunakan adalah = atau perintah STORE. Contoh : 1. z = 5 2. STORE 5 TO z
1.5. Macro Macro adalah karakter (‘&’) yang dapat menggantikan isi dari string variable memori. Bentuk umumnya adalah : &
Desain Sistem dan Database di Lingkungan DOS Tipe Data, Variabel dan Struktur Data 1 - 7 Contoh : 1. Operator variable A = 10 B= “A” ?B && hasil : A ?&B && hasil : 10 2. Membuka file File1 = “Pegawai” USE &File1 3. Kondisi Kondisi = “umur > 20” DO WHILE &Kondisi
Desain Sistem dan Database Dalam Lingkungan Dos Struktur File 2 - 1
BAB
2 Struktur File Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Memahami tentang besaran dalam database • Mengenal tipe-tipe field. .
Desain Sistem dan Database Dalam Lingkungan Dos Struktur File 2 - 2
2.1. File Besaran data terkecil dalam informasi adalah bit, yang berisi nilai 0 atau 1. Kumpulan bit-bit disebut sebagai byte dimana 1 byte sama dengan 8 bit. Dalam standart ASCII karakter memiliki nilai besaran dalam byte dalam penyimpanannya secara digital. Dalam database karakter-karakter bergabung membentuk item atau field yang berbeda dengan kata, karena field dapat terdiri atas beberapa suku kata. Kumpulan field-field yang saling mendukung membentuk suatu record. Dan File adalah suatu kumpulan dari record-record dari suatu obyek. Contoh : Suatu file yang menyimpan record mahasiswa yang memiliki field-field berupa NRP, nama, alamat dapat digambarkan sebagai berikut :
2.2. Tipe Field Tipe data yang dapat disimpan dalam suatu field ditentukan dari tipe field pada saat pembuatan sebuah file. Tipe field yang ada adalah : Nama Field
Notasi
Panjang
Desimal
Character
C
XXX
-
Numeric
N
XXX
XX
Date Logical Memo
D L M
8 1 10
-
Keterangan Panjang maksimal data yang dapat disimpan adalah 254 Panjang 20 termasuk desimal, tanda (plus/minus) dan tanda koma -
Aturan penamaan field hampir sama dengan penamaan variable, kecuali panjang nama field.
Desain Sistem dan Database Dalam Lingkungan Dos Perintah I/O Standard 3 - 1
BAB
3 Perintah I/O Standard
Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengenal perintah-perintah output standar • Mampu menggunakan perintah-perintah output standar • Mengenal perintah-perintah input standar • Mampu menggunakan perintrah-perintah input standar • Menganl format I/O dan memvalidasinya.
Desain Sistem dan Database Dalam Lingkungan Dos Perintah I/O Standard 3 - 2
3.1. Perintah Output Standard Perangkat Input/Output (I/O) adalah perangkat untuk menerima masukan dan mengeluarkan hasil. Masukan biasanya diterima melalui keyboard atau mouse dan hasil dikeluarkan ke layar, ke file atau ke printer. Perintah standard untuk menampilkan output ada beberapa macam, yaitu : 1. Perintah ? dan ?? 2. Perintah @…SAY 3. Perintah DISPLAY dan LIST 4. Perintah SET DISPLAY 5. Keluaran ke printer
3.1.1. Perintah ? dan ?? Perintah ? digunakan untuk menampilkan output ke layar pada baris baru dan kolom paling kiri, sedangkan perintah ?? digunakan untuk menampilkan output ke layar pada posisi kursor pada saat itu (tanpa perpindahan baris). Bentuk umum : ?[<prompt>] dan ?? <prompt> Contoh : 1. ? “Hello”, ”boys” ? ”This is the wonderful world of Foxpro” 2. ?? “Hello”, “boys” ?? “This is wonderful world of Foxpro”
3.1.2. Perintah @…Say Digunakan untuk menampilkan output ke layar pada baris=bar dan kolom=kol. Bentuk umum : @, SAY <prompt> Contoh : 1. @5,5 SAY “Hello, apa khabar ?” 2. @1, 2 SAY “Hello, Tekan Enter untuk memulai demo @…SAY” WAIT “” Row=0 Col=0 Key=0 CLEAR DO WHILE key#27 IF row>=24 Incrrow= -1 ENDIF
Desain Sistem dan Database Dalam Lingkungan Dos Perintah I/O Standard 3 - 3 IF row<=0 Incrrow= 1 ENDIF IF col>=79 Incrcol= -2 ENDIF IF col<=0 Incrcol= 2 row = row + incrcrow col = col + incrcol @row, col SAY “Foxpro … OK deh” key=InKey(0.1) ENDDO
3.1.3. Perintah DISPLAY dan LIST Keduanya digunakan untuk menampilkan record-record dari satu table. Perbedaan antar keduanya adalah LIST akan menampilkan recordrecord tanpa berhenti, sedangkan DISPLAY akan menghentikan tampilan sambil menampilkan pesan “Press any key to continue” setiap satu halaman. Bentuk umum DISPLAY: DISPLAY [[FIELDS]] [<scope>] [FOR] [WHILE] [OFF] [TO PRINTER[PROMPT]|TO FILE] [NOCONSOLE] [NOOPTIMIZE]
; ; ; ; ; ; ; ;
Bentuk umum LIST : LIST [[FIELDS]] [<scope>] [FOR] [WHILE] [OFF] [TO PRINTER[PROMPT]|TO FILE] [NOCONSOLE] [NOOPTIMIZE]
; ; ; ; ; ; ; ;
Desain Sistem dan Database Dalam Lingkungan Dos Perintah I/O Standard 3 - 4
3.1.4. Perintah SET DISPLAY Digunakan untuk mengatur ukuran tampilan layar. Bentuk umum : SET DISPLAY TO CGA | COLOR | EGA25 | EGA43 | MONO | VGA25 | VGA 50
3.1.5. Keluaran ke Printer Ada beberapa perintah Foxpro yang digunakan untuk mengatur keluaran (output) yang pada dasarnya telah diatur oleh perintah-perintah ?, ??, dan @…SAY yang diarahkan pada layar. Adapun perintah-perintah tersebut adalah : Perintah
Berlaku Untuk
Fungsi
SET ALTERNATE
? dan ??
Mengatur output ke file
SET CONSOLE
? dan ??
Mengatur output ke layar
SET PRINTER
? dan ??
Mengatur output ke printer
SET ALTERNATE TO
? dan ??
Mengarahkan output ke file
SET DEVICE TO
@…SAY
Mengatur output ke layar/printer
SET PRINTER TO
@…SAY
Mengarahkan output ke printer/file
3.2. Perintah Input Standart Perintah standard input yang dikenal Foxpro antara lain : 1. Perintah ACCEPT 2. Perintah INPUT 3. Perintah WAIT 4. Fungsi InKey() 5. Perintah KEYBOARD
3.2.1. Perintah ACCEPT Berfungsi untuk menerima masukan sebagai karakter (tipe C) Bentuk umum : ACCEPT[<prompt>] TO<memvar> Contoh : 1. ACCEPT “Masukkan bilangan :” TO nBil
Desain Sistem dan Database Dalam Lingkungan Dos Perintah I/O Standard 3 - 5
3.2.2. Perintah INPUT Berfungsi untuk menerima semua masukan dari semua tipe (tipe C, N, D, L) Bentuk umum : INPUT[<prompt>] TO<memvar> Contoh : 1. INPUT “Masukkan bilangan :” TO nBil
3.2.3. Perintah WAIT Perintah ini akan menampilkan suatu pesan tertentu dan kemudian menunggu pemakai program menekan suatu tombol atau meng-klik mouse. Perintah ini hanya menerima satu karakter saja. Bentuk umum : WAIT[<message>][TO<memvar>] [WINDOW[NOWAIT]][TIMEOUT]
3.2.4. Fungsi InKey() Berfungsi seperti perintah WAIT yang menunggu masukan satu tombol tertentu. Bentuk umum : =InKey()([], []) Nb : 1. nascii menunjuk pada kode kode ASCII yang ditekan untuk tombol-tombol karakter yang bisa dicetak. 2. cflag untuk menspesifikasikan kondisi kursor mouse pada saat penekanan tombol.
3.2.5. Perintah KEYBOARD Berfungsi untuk menjejalkan rangkaian karakter tertentu ke dalam buffer keyboard seolah-olah rangkaian karakter tersebut diketikkan lewat keyboard. Bentuk umum : KEYBOARD[PLAIN]
Desain Sistem dan Database Dalam Lingkungan Dos Perintah I/O Standard 3 - 6
3.3. Format Input/Output @…Say dan @…SAY…GET dapat diikuti beberapa klausa untuk validasi atau untuk menyeragamkan bentuk masukkan, klausa-klausa tersebut adalah : 1. Picture 2. Range 3. Valid
3.3.1. PICTURE Digunakan untuk memfilter masukkan pada GET dan keluaran pada SAY, ada beberapa bentuk PICTURE : Fungsi PICTURE : 1. Pengaruh keseluruhan SAY atau GET 2. Diawali dengan “@” 3. Diikuti oleh karakter-karakter seperti pada table fungsi picture Fungsi
Tipe
A
C
Hanya mengijinkan huruf pada GET
Aksi
B
N
Angka ditapilkan rat kiri
C
N
Menampilkan CR setelah angka positif
D
D, N
Menampilkan tgl dalam format SET DATE
E
D, N
Menampilkan tanggal dalam format BRITISH, numeric dalam format EUROPEAN
K
All
Membersihkan GET jika kunci pertama bukan kunci penggerak kursor
R
C
Menyisipkan karakter non template
S
C
Mengijinkan Scroll horizontal dalam GET
X
N
Menampilkan DB setelah angka negatif
Z
N
Menampilkan angka nol (0) sebagai blank
(
N
Melingkupi angka negatif dengan tanda kurung dengan diawali spasi
)
N
Melingkupi angka negatif dengan tanda kurung tanpa diawali spasi
!
C
Mengubah huruf karakter menjadi kaptal
Fungsi Template : 1. Pengaruh karakter per karakter 2. Ditempatkan setelah fungsi 3. Simbol-simbol yang dipakai antara lain :
Desain Sistem dan Database Dalam Lingkungan Dos Perintah I/O Standard 3 - 7 Template A N
Aksi Hanya menampilkan huruf Hanya menampilkan huruf dan angk
X 9 # L
Menampilkan karakter apa saja Menampilkan angka untuk tipe data apa saja Menampilkan angka, tanda (+, -), dan spasi untuk tipe data apa saja Menampilkan tipe logical sebagai “T” atau “F”
Y ! $ * .
Menampilkan tipe logical sebagai “Y” atau “N” Mengubah huruf ke kapital Menampilkan tanda dollar pada lokasi spasi yang mengawali numeric Menampilkan tanda asterik pada lokasi yang mengawali numeric Menspesifikasi posisi titik desimal
,
Menspesifikasi posisi koma
3.3.2. RANGE Digunakan untuk membatsi masukan bertipe numeric atau tanggal dengan menspesifikasi batas bawah dan batas atasnya.
3.3.3. VALID Memvalidasi masukan pada GET dengan menggunakan ekspresi logika. Contoh : 1. nBil =0 cKalimat = SPACE(10) dTgl = CTOD(“ ”) lLogik = .F. cKar =““ @1, 5 SAY “Masukkan bilangan :” @2, 5 SAY “Masukkan kalimat :” @3, 5 SAY “Masukkan tanggal :” @4, 5 SAY “Masukkan .T./.F. :” @5, 5 SAY “Masukkan A/G/U/N :” $ “AGUN” READ
GET nBil Range 1, 100 GET cKalimat PICT “@!” GET dTgl GET lLogik GET cKar PICT “!” VALID cKar
Desain Sistem dan Database Dalam Lingkungan Dos Kontrol Alur Program 4 - 1
BAB
4 Kontrol Alur Program
Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengetahui jalannya suatu program • Mengenal tipe-tipe eksekusi program • Mampu menggunakan pemilihan dalam kondisi bersyarat • Mampu menggunakan perulangan dan perulangan bersyarat dalam program
Desain Sistem dan Database Dalam Lingkungan Dos Kontrol Alur Program 4 - 2 Rangkaian langkah eksekusi program dapat dibedakan menjadi tiga macam : 1. Runtutan atau urutan (sequence) 2. Pemilihan (selection) 3. Pengulangan (repetition)
4.1. Runtutan atau Urutan (Sequence) Pelaksanaan program berupa pernyataan demi pernyataan dari atas urut ke bawah. Contoh : CLEAR ACCEPT “Nama anda = ” TO Nama INPUT “a = “ TO a INPUT “b = “ TO b C=a+b ? ? Nama, “,”a, “+”, b”=”, c ? ? Nama, “,” “,(LTRIM(STR(a)), “+”, LTRIM(STR(b)),; “=”,LTRIM(STR(c)) RETURN
4.2. Pemilihan (Selection) Pelaksanaan program akan dilaksanakan apabila memenuhi suatu kondisi yang disyaratkan.
4.2.1. Pemilihan satu kondisi dengan IF…ENDIF Pernyataan akan dijalankan bila kondisi bernilai .T. Bentuk umum : IF ENDIF
4.2.2. Pemilihan dua kondisi dengan IF…ELSE…ENDIF Bila kondis .T. maka pernyataan 1 akan dijalankan, jika kondisi .F. maka pernyataan 2 yanga kan dijalankan. Bentuk umum : IF ELSE ENDIF
Desain Sistem dan Database Dalam Lingkungan Dos Kontrol Alur Program 4 - 3
4.2.3. Pemilihan dua kondisi dengan IIF Digunakan untuk kasus dimana pernyataan 1 dan pernyataan 2 merupakan pernyataan yang sederhana. Bentuk umum : IIF(, pernyataan 1, pernyataan 2)
4.2.4. Pemilihan kondisi dengan IF…ELSE IF… ELSE…ENDIF Jika kondisi 1 bernilai .T., maka pernyataan 1 yang akan dijalankan, Jika bernilai .F., maka kondisi 2 diperiksa, jika bernilai .T. maka pernyataan 2 yang akan dijalankan, jika bernilai .F. maka pernyataan berikutnya diperiksa. Demikian seterusnya sampai kondisi n dan pernyataan n+1. Bentuk Umum : IF ELSE IF ELSE ENDIF ENDIF
4.2.5. Pemilihan beberapa kondisi dengan DO CASE… CASE… OTHERWISE…ENDCASE Bentuk IF…ELSE IF…ENDIF yang kompleks seperti di atas dengan kondisi yang sederhana lebih baik disusun dengan DO CASE…. Bentuk umum : DO CASE CASE CASE CASE OTHERWISE ENDCASE
4.3. Pengulangan (Repitition)
Desain Sistem dan Database Dalam Lingkungan Dos Kontrol Alur Program 4 - 4 Melaksanakan satu atau beberapa pernyataan berulang-ulang sesuai jumlah pengulangan atau sesuai dengan kondisi yang diberikan.
4.3.1. FOR…NEXT Perintah ini akan mengulang pernyataanpernyataan yang terdapat di antara FOR dan NEXT dan setiap kali pengulangan counter akan bertambah nilainya. Perintah EXIT digunakan bila pengulangan diakhiri sebelum mencapai akhir dari pengulangan. Sedangkan perintah LOOP digunakan bila pengulangan dimulai dari awal tanpa mengeksekusi pernyataan di bawahnya. Bentuk umum : FOR = <mulai> TO ] [EXIT] [LOOP] NEXT
4.3.2. DO WHILE ENDDO Akan mengulang pernyataan-pernyataan yang ada di antara DO dan ENDDO selama kondisi masih bernilai .T.. Perintah EXIT digunakan bila kita akan keluar dari pengulangan sebelum mencapai akhir pengulangan. Sedangkan perintah LOOP digunakan bila kita mengulang pernyataan pertama pengulangan tanpa melewati pernyataan di bawahnya. Bentuk umum : DO WHILE [EXIT] [LOOP] ENDDO
Desain Sistem dan Database Dalam Lingkungan Dos Penyusunan dan Pengolahan Database 5 - 1
BAB
5 Penyusunan dan Pengolahan Database Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengenal struktur file database Foxpro dan Clipper • Memahami komponen-komponen dan operasi dalam database. • Mampu menyusun suatu table dan database • Dapat melakukan akses terhadap database dan melakukan pengolahan data.
Desain Sistem dan Database Dalam Lingkungan Dos Penyusunan dan Pengolahan Database 5 - 2
5.1. Pembuatan Struktur File Pembuatan struktur file dapat dilakukan dari dalam dan dari luar program. Pembuatan struktur file dari dalam program menggunakan baris perintah (command), pembuatan struktur file dari luar dilakukan melalui menu dalam program (DBU dalam clipper).
5.1.1. Menggunakan Foxpro Pada Foxpro dapat dilakukan dengan dua cara, yaitu : 1. Perintah CREATE dari command window 2. Pemilihan menu FILE-NEW-DATABASE
5.1.2. Menggunakan Clipper Pada Clipper dapat dilakukan dengan : 1. Penekanan F3 pada DBU (Database Utility Clipper) 2. Menggunakan prosedur Clipper CREATE APPEND BLANK REPLACE FIELD_NAME WITH , FIELD_TYPE WITH , FIELD_LEN WITH <panjangfield>, FIELD_DEC WITH <jumlahdesimal> CREATE FROM
5.2. Pengurutan File Database 5.2.1. Sort Digunakan untuk membentuk file baru dalam kondisi sudah terurut menurut field tertentu. Bentuk umum : SORT ON TO [A/D/C] [FOR kondisi] [WHILE kondisi] Di mana : Namafield Fileurut A D C Kondisi
: field yang dijadikan kunci penguruta : nama file yang menyimpan hasil pengurutan : urutan membesar (menarik), default : urutan mengecil (menurun) : tanpa membedakan huruf besar dan kecil : mengurut sebagian record sesuai dengan kondisi yang Diinginkan
Contoh : USE Karyawan SORT ON Nama TO UrutNama /C SORT ON Gaji TO GajiUrut /D FOR Umur > 50
Desain Sistem dan Database Dalam Lingkungan Dos Penyusunan dan Pengolahan Database 5 - 3
5.2.2. Index Digunakan untuk mempercepat pengaksesan data dalam file karena data dapat diakses secara langsung (random). File indeks dibuat khusus menyimpan data berupa field kunci dan pointer penunjuk letak record dari field tersebut di dalam file database sebenarnya. Ekstensi dari nama file index adalah NTX (Clipper), IDX atau CDX (foxpro). Bentuk umum : INDEX ON TO [FOR kondisi] [WHILE kondisi] Di mana Namafield Fileindeks Kondisi
: Field yang dijadikan kunci pengurutan : nama file yang menyimpan hasil pengindeksan : mengurutkan sebagian record sesuai dengan kondisi yang diinginkan
Contoh : USE Karyawan INDEX ON Nip TO NipDex USE Karyawan INDEX ON Nip TO NipDex FOR Umur > 50
5.3. Pengaksesan File Database 5.3.1. Akses Squensial SKIP Pointer bergerak maju/mundur record aktif dari posisi sekarang. LOCATE Digunakan untuk pencarian data pada file yang belum diindeks. Hasilnya fungsi FOUND() berharga .T. atau EOF() berharga .F. jika data ditemukan. Sebaliknya fungsi FOUND() berharga .F. atau EOF() berharga .T. jika data tidak ditemukan dan pointer ke record mengarah ke akhir file. Contoh : USE Karyawan LOCATE FOR Nama = “SI KABAYAN” LOCATE FOR “ANI” $ Nama CONTINUE Digunakan untuk melanjutkan pencarian berdasarkan kondisi LOCATE terakhir jika FOUND() masih True.
5.3.2. Akses Random GO<nomor record|TOP|BOTTOM> Memindahkan pointer menuju <nomor record>, record paling atas atau record paling bawah.
Desain Sistem dan Database Dalam Lingkungan Dos Penyusunan dan Pengolahan Database 5 - 4 FIND/(<expC) Untuk pencarian data pada file yang berindeks. Hasilnya sama seperti perintah locate, fungsi FOUND() berharga .T. atau EOF() berharga .F. jika data ditmukan. Sebaliknya fungsi FOUND() berharga .F. atau EOF() berharga .T. jika data tidak ditemukan. Contoh : USE Karyawan INDEX NipDex FIND PB921907 USE Karyawan INDEX GajiDex FIND 125000 SEEK Sama seperti perintah FIND digunakan untuk pencarian data pada file yang telah diindeks. Contoh : USE Karyawan INDEX NipDex SEEK “PB921907” USE Karyawan INDEX GajiDex SEEK 125000
5.4. Pengolahan Database Operasi terhadap file dalam suatu data base dapat dibedakan menjadi 3 macam, yaitu : 1. Menambah/memasukkan data 2. Mengubah data 3. Menghapus data
5.4.1. Menambah Data (APPEND) Berfungsi untuk menambahkan record ke akhir dari file. Bentuk Umum : APPEND[BLANK] Pilihan BLANK digunakan untuk menyediakan record kosong. Pada Foxpro pernyataan APPEND tanpa BLANK akan membuka window dialog untuk mengisi data baru. Apabila dimasukkan dalam program, biasanya digunakan pernyataan APPEND BLANK diikuti dengan pernyataan REPLACE
5.4.2. Mengubah Data (EDIT) Perubahan data dapat dilakukan dengan menyimpan data terlebih dahulu, kemudian diupdatekan ke record yang bersangkutan. Cara lainnya pada Foxpro adalah dengan menggunakan perintah EDIT. Berfungsi untuk mengubah isi field dari sebuah record. Bentuk umum : EDIT[FIELDS][<scope>]
Desain Sistem dan Database Dalam Lingkungan Dos Penyusunan dan Pengolahan Database 5 - 5
5.4.3. Menghapus Data (DELETE) Berfungsi untuk menghapus record aktif. Sebenarnya penghapusan secara fisik tidak dilakukan, tetapi hanya ditandai. Bentuk umum : DELETE[<scope>][FOR<expl1>][WHILE<expl2>]
5.4.4. Menyalin Data (COPY) Digunakan untuk menyalin seluruh file yang sedang aktif ke file yang baru. Bentuk umum : COPY TO [FIELDS][<scope>][FOR<expl1>[WHILE<expl2>]]
5.4.5. Penghapusan File (ZAP) Digunakan untuk menghapus seluruh record database yang sedang aktif. Bentuk umum : ZAP
5.4.6. Menambah Data dari File lain (APPEND FROM) Digunakan untuk menambah data dari file database lain. Bentuk umum : APPEND FROM |?[FIELDS][FOR<expl>] [[TYPE] [DELIMITED[WITH TAB|WITH<delimiter>|WITH BLANK]|DIF|FW2|MOD|PDOX|RPD|SDF|SYLK|WK1|WK3|WKS|WR1|WRK|XLS ]
5.5. Browsing Browse adalah proses menampilkan data sekaligus mengedit record-record dari satu atau beberapa daerah kerja dengan tampilan berupa tabel 2 dimensi. Dalam foxpro perintah yang digunakan adalah BROWSE. Bentuk umum : BROWSE [FIELDS] [FOR <expl1>]
5.6. Pengolahan File Memo Pengolahan database dengan menggunakan relasi didefinisikan melalui pernyataan SET RELATION. Bentuk umum : SET RELATION [ADDITIVE]TO INTO
Desain Sistem dan Database Dalam Lingkungan Dos Penyusunan dan Pengolahan Database 5 - 6
adalah ekspresi yang digunakan untuk proses SEEK pada daerah kerja “child” setiap kali pointer pada daerah kerja “parent” berubah. Untuk itu, maka file pada daerah kerja “child” harus mempunyai index yang aktif dengan kunci yang sama dengan . adalah nama alias untuk daerah kerja “child” Untuk menghilangkan relasi (RELATION) dalam daerah kerja digunakan perintah SET RELATION TO tanpa argumen
Desain Sistem dan Database Dalam Lingkungan Dos Pemrograman Modular 6 - 1
BAB
6 Pemrograman Modular Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengenal Procedure dan Fungsi untuk memudahkan membuat suatu program • Mampu menggunakan Procedure dan Fungsi dalam program • Mengenal parameter.
Desain Sistem dan Database Dalam Lingkungan Dos Pemrograman Modular 6 - 2 Pemrograman modular memungkinkan sebuah program secara keseluruhan tampak lebih terstruktur. Program yang besar dapat diorganisasikan menjadi beberapa file program (PRG), dan dalam setiap file program bisa terdiri dari beberapa modul (sub program). Adanya modul mencegah adanya pengulangan (redundansi) penulisan program. Dua jenis modul dalam Foxpro adalah : 1. Procedure 2. Function
6.1. PROCEDURE Procedur mengorganisasikan beberapa baris perintah untuk mengerjakan satu tugas tertentu. Bentuk umum : PROCEDURE [PARAMETERS<…>] . [] . RETURN Panjang nama_procedure maksimum 10 karakter dan pada akhir procedure harus diberi pernyataan RETURN yang artinya kontrol program akan dikembalikan ke procedure yang memanggilnya. Cara pemanggilan procedure dengan cara standart adalah : Do nama_procedure [WITH<parameter>]
6.2. FUNCTION Function mengorganisasikan beberapa baris perintah untuk mengerjakan tugas tertentu dan mengembalikan hasil. Bentuk umum : FUNCTION [PARAMETER<…>] . . [] . RETURN(<exp>) Panjang nama_function maksimal 10 karakter dan pada akhir function harus diberi pernyataan RETURN(<exp>) yang artinya adalah saat kontrol program dikembalikan ke pernyataan yang memanggilnya, function menyertakan nilai<exp> sebagai hasil dari pengolahan dalam fungsi. Pemanggilan Fungsi : 1. Pemberian nilai ke variabel =nama_function([<par1, par2, …>]) 2. ekspresi nama_function([<par1, par2, …>])
Desain Sistem dan Database Dalam Lingkungan Dos Pemrograman Modular 6 - 3
6.3. PARAMETER Sebuah parameter dapat dilewatkan ke dalam sebuah Function atau Procedure dengan 2 cara, yaitu : 1. Nilai (“by value”) jika yang dikirimkan hanya nilai saja (memberikan nilai untuk diproses oleh procedure atau function tanpa merubah nilai asal). 2. Dengan memanggil perintah DO dengan klausa WITH, dengan bentuk sebagai beriku : DO <proc_name> WITH<expr…> Di mana parameter expr… menyatakan ekspresi-ekspresi yang dilewatkan yang dipisahkan satu sama lain dengan tanda koma. Dan proc_name adalah nama procedure yang diciptakan dan tugas-tugas yang harus dilakukan oleh prosedur bila dipanggil.
Desain Sistem dan Database Dalam Lingkungan Dos Manipulais Data dan I/O Lanjut 7 - 1
BAB
7 Manipulasi Data dan I/O Lanjut Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengenal fungsi-fungsi pemanipulasi data • Mengatur tampilan pada output device
Desain Sistem dan Database Dalam Lingkungan Dos Manipulais Data dan I/O Lanjut 7 - 2
7.1. Manipulasi Data Numerik Di bawah ini merupakan beberapa fungsi matematis untuk membantu operasi matematis. Fungsi
Kegunaan
Abs() Ceiling() Exp() Fixed() Float()
Mengembalikan nilai absolute suatu nilai Membulatkan bilangan pecahan ke atas Mengembalikan nilai perpangkatan e Mengubah tipe data numeric F menjadi tipe numeric N Mengubah tipe data numeric N menjadi tipe numeric F
Floor() Int() Log() Log 10()
Membulatkan bilangan pecahan ke bawah Menghilangkan komponen pecahan dari suatu bilangan pecahan Mengembalikan nilai logaritma alam Mengembalikan nilai logaritma umum
Max() Min() Mod() Rand() Round()
Mengembalikan nilai terbesar dari dua nilai Mengembalikan nilai terkecil dari dua nilai Mengembalikan sisa suatu pembagian Mengembalikan sembarang bilangan acak Membulatkan bilangan pecahan sampa jumlah decimal tertentu
Sign() Sqrt() Val()
Mengembalikan tanda suatu bilangan Mengembalikan akar suatu bilangan Mengkonversi data string ke data numeric
7.2. Manipulasi Data Tanggal Untuk memanipulasi data tanggal Foxpro menyediakan beberapa fungsi, sebagai berikut: Fungsi Cdow() Cmonth() Ctod()
Kegunaan Mengembalikan nama hari dalam seminggu dari suatu tanggal Mengembalikan nama bulan dari suatu tanggal Mengkonversi data karakter tanggal ke data tanggal
Date() Day() Dmy() DoW() DToC()
Mengembalikan tanggal system hari ini Mengembalikan angka hari suatu tanggal Mengubah data tanggal ke data karakter berformat DD BULAN YY Mengembalikan angka hari daam seminggu dari suatu tanggal Mengkonversi data tanggal ke data karakter tanggal
DToS() GoMonth() MDY() Month() Year()
Mengkonversi data tanggal ke data karakter berformat YYYYMMDD Menggeser tanggal ke bulan-bulan tertentu Mengubah data tanggal ke data karakter berformat Mengembalikan angka bulan dari suatu tanggal Mengembalikan angka tahun dari suatu tanggal
Desain Sistem dan Database Dalam Lingkungan Dos Manipulais Data dan I/O Lanjut 7 - 3
7.3. Manipulasi Data Tanggal Data dapat ditampilkan pada device output standar, yaitu monitor (layar/screen). Juga dapat dikeluarkan ke printer atau disimpan ke file teks.
7.3.1. Pencetakkan ke Printer Memperjelas pembahasan pada bab … tentang SET PRINTER, maka berikut penjelasan perintah-perintah yang dapat digunakan. SET DEVICE TO PRINTER&&set alat keluaran SET PRINT ON&&ke printer SET CONSOLE OFF&& mematikan tampilan layar ??CHR(27)+CHR(64)&&inisialisasi printer . . EJECT&&mengulang kertas SET PRINT OFF&&mengembalikan alat keluaran SET DEVIVE TO SCREEN&&kembali ke device output standart SET CONSOLE ON&&mengaktifkan layar kembali
7.3.2. Penyimpanan ke File Teks Untuk mengalihkan hasil output ke file text (ASCII), menggunakan perintah sebagai berikut : SET PRINTER TO Tes.TXT&&File hasl output (default = *.PRN) SET DEVICE TO PRINTER&&set alat keluaran PRINT ON&& ke printer SET CONSOLE OFF&&mematikan tampilan di layar . . SET PRINT OFF&&mengembalikan alat keluaran SET PRINTER TO&&set alat keluaran SET DEVIVE TO SCREEN&&kembali ke device output standart SET CONSOLE ON&&mengaktifkan layar kembali
7.4. Manipulasi Data Tanggal Perintah untuk mengatur warna layar adalah :
7.4.1. SET COLOR TO dan SET COLOR SET COLOR TO [<standard>[,<enhanced>][,][,]] /(<expc>) Atau menggunakan fungsi : SETCOLOR([<expc>])
Desain Sistem dan Database Dalam Lingkungan Dos Manipulais Data dan I/O Lanjut 7 - 4
Di mana : 1. <standard> adalah warna text/tulisan yang dipakai oleh semua perintah output seperti @...SAY, ?/??, dan terdiri dari warna latar depan dan warna latar belakang yang bersifat optional, ]. 2. <enhanced> adalah warna yang dipakai oleh proses yang menggunakan highlight seperti GET, MENU, dll. Terdiri dari warna latar depan dan warna latar belakang, ]. 3. adalah warna untuk border layar. 4. dengan option ini memungkinkan untuk mengatur warna pada GET yang sedang aktif dengan warna<enhanced>, sedangkan GET yang lainnya berwarna 5. adapun warna-warna yang di kenal adalah : COLOR Black Blue Green Cyan Red Magenta Brown White Gray Yellow Black Inverse video Blank
Letter N, Space B G Bg R Rb Gr W N+ Gr+ U I X
Number 0 1 2 3 4 5 6 7
7.4.2. CLEAR dan @...CLEAR Untuk menghapus seluruh layar dapat digunakan perintah CLEAR, sedang untuk menghapus sebagian layar (window) menggunakan erintah @...CLEAR dengan bentuk umum : @, , CLEAR [TO, ] Yang perlu diingat adalah bahwa laya yang terhapus bergantung pada warna latar belakang dari warna text yang aktif pada saat ini. Contoh : SET COLOR TO CLEAR WAIT SET COLOR TO R/W @ 12, 0 CLEAR SET COLOR TO WAIT
Desain Sistem dan Database Dalam Lingkungan Dos Manipulais Data dan I/O Lanjut 7 - 5
SET CURSOR ON/OFF digunakan untuk menghilangkan dan memunculkan kembali kursor.
7.4.3. @...TO Perintah ini dgunakan untuk membuat bingkai suatu window. Bentuk umum : @, TO , [DOUBLE] di mana: , : koordinat kiri atas dari bingkai ,: koordinat kanan bawah dari bingkai [DOUBLE] : jika digunakan maka bingkai yang dibentuk bergaris ganda
7.4.4. @...BOX Perintah ini sama @…TO, yaitu untuk membuat bingkai/box, tetapi dengan @…BOX kita dapat mendefinisikan sendiri karakter border dan karakter pengisi untuk box.. Syntax: @ ,,, BOX <expC> dimana: … adalah koordinatbatas box <expC> terdiri dari maksimum 9 karakter, dimana karakter ke-1…ke-8 menyatakan karakter border, sedangkan karakter ke-9 adalah karakter pengisi box. Contoh: CLEAR @ 0,0,24,79 BOX “#” warna_asal = SETCOLOR (‘W/B’) @ 5,5,15,30, BOX “12345678” setcolor (“B/BG”) @ 12,40,22,70 BOX “ABCDEFGH”
7.4.5. SAVE SCREEN [TO ] dan RESTORE SCREEN [FROM ] Sebuah variable dapat digunakan untuk menyimpan isi dan layar, ataupun dapat memberikan nilai yang disimpan ke layar. Dalam hal ini perintah SAVE SCREEN digunakan untuk menyimpan tampilan satu layar, sedangkan perintah RESTORE SCREEN mngembalikan layar sesuai sengan isi variable.
Desain Sistem dan Database Dalam Lingkungan Dos Manipulais Data dan I/O Lanjut 7 - 6
Sintak: SCREEN TO RESTORE SCREEN FROM
7.4.6. =SAVESCREEN() dan RESTSCREEN(…,) Fungsi SAVE SCREEN ( ) digunakan untuk menyimpan “Window” yang dibatasi oleh koordinat ujung kiri atas dan koordinat ujung kanan bawah ke dalam sebuah var_string. Sedangkan fungsi RESTSCREEN ( ) digunakan untuk mengembalikan “Window” yang disimpan di var_string pada koordinat ujung kiri atas dan ujung kanan bawah yang diinginkan. Sintak: Var = SAVESCREEN (,,,) Contoh: Window2 = SAVESCREEN (15,10,10,30) … @ 18,55 SAY “window2”
Desain Sistem dan Database Dalam Lingkungan Dos Pembuatan Menu 8 - 1
BAB
8 Pembuatan Menu Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengenal jenis-jenis menu • Mampu membuat menu dengan menggunakan fungsi dari Foxpro
Desain Sistem dan Database Dalam Lingkungan Dos Pembuatan Menu 8 - 2
8.1. Manipulasi Data Tanggal Menu primitif adalah menu yang pemilihannya (biasanya menggunakan nomor atau huruf pilihan.
8.2. Menu Pop-up dan Pull-down Sintak: @ , PROMT <menu_item> [MESSAGE ] … MENU TO Dimana adalah variable memori yang menyimpan nomor urut dari menu_item yang dipilih (bertipe numeric). Contoh: CLEAR SET WRAP ON SET MESSAGE TO 2 @ 1,0 PROMPT “File” MESSAGE “Mengakses file-file data” @ ROW(),COL()+2 PROMPT “Edit” MESSAGE “Mengedit Record Aktif” @ ROW(),COL()+2 PROMPT “Delete” MESSAGE “Menghapus record aktif” @ ROW(),COL()+2 PROMPT “Quit” MESSAGE “Return to DOS” MENU TO no_pil @ 5,0 SAY “Anda memilih menu nomor “+STR (no_pil,1) SET WRAP jika ON maka setelah mencapai ujung kanan maka akan ke menu ujung kiri, dan sebaliknya. SET MESSAGE [TO] [CENTER] untuk mengatur pada baris berapa pesan setelah pernyataan MESSAGE akan ditampilkan.
Desain Sistem dan Database Dalam Lingkungan Dos Aplikasi Multiuser 9 - 1
BAB
9 Aplikasi Multiuser Tujuan : Pada Bab ini mahasiswa akan mempelajari cara : • Mengenal perintah-perintah dalam program multiuser • Mengenal fungsi dalam multiuser • Mampu membuat aplikasi sederhana multiuser
Desain Sistem dan Database Dalam Lingkungan Dos Aplikasi Multiuser 9 - 2 Aplikasi Multiuser merupakan program yang dapat digunakan oleh banyak pemakai pada saat yang bersamaan tanpa terjadi kesalahan (error). Kesalahan yang bias terjadi pada aplikasi multiuser biasanya berupa kesalahan pembacaan dan kesalahan penghapusan. Sebagai contoh user 1 melakukan penghapusan record yang dalam waktu bersamaan sedang di edit oleh user 2. Contoh lain user 1 sedang melakukan proses penghitungan rata-rata umur pegawai, dalam waktu bersamaan user 2 sedang merubah data umur salah seorang pegawai.
9.1. Perintah dalam Multiuser SET EXCLUSIVE ON/OFF Untuk menyatakan apakah file database dan file-file index dibuka secara “shared” (off) atau “exclusive” (on) UNLOCK [ALL] Untuk membebaskan penguncian terhadap file dan record dalam daerah kerja aktif yang sebelumnya dilakukan penguncian. Use [ ] [INDEX ] [EXCLUSIVE] [ALIAS ] Untuk membuka sebuah file database beserta file-file index yang berhubungan secara “exclusive”.
9.2. Function dalam Multiuser FLOCK () Untuk mencoba mengunci file secara logic dan akan mengembalikan nilai .T. jika penguncian berhasil. FLOCK() membebaskan semua penguncian terhadap record atau file yang dilakukan sebelumnya pada file oleh user yang sama. NETERR () Akan mengembalikan nila .T. jika perintah: USE, USE…EXCLUSIVE atau APPEND BLANK mengalami kegagalan dalam sebuah jaringan. Perintah-perintah tersebut akan mengalami kegagalan dalam hal: Tabel-1 Penyebab NETERR () bernilai .T. Perintah USE USE…EXCLUSIVE APPEND BLANK
Penyebab kegagalan USE…EXCLUSIVE oleh proses lain USE atau USE…EXCLUSIVE oleh proses lain FLOCK () oleh proses lain atau dua perintah APPEND BLANK dilakukan pada saat bersamaan
Rlock () / LOCK () Untuk mencoba mengunci record secara logic dan akan mengembalikan nilai .T. jika penguncian berhasil RLOCK () membebaskan FLOCK () yang sebelumnya digunakan terhadap file database atau RLOCK () terhadap beberapa record di dalam file database oleh user yang sama.
Desain Sistem dan Database Dalam Lingkungan Dos Aplikasi Multiuser 9 - 3
9.3. Langkah-langkah Pembuatan Aplikasi Multiuser 9.3.1. Waktu Penguncian yang tepat 1. Penguncian record harus dilakukan jika anda akan melakukan proses “penulisan” terhadap file database. 2. Yang dimaksud dengan “Penulisan” pada file database seperti perintah: REPLACE, DELETE, RECALL dan @…GET . 3. Clipper akan memberikan pesan system errornot locked jika anda melakukan perintah-perintah di atas tanpa melakukan penguncian record pada saat SET EXCLUSIVE OFF. 4. File harus dikunci atau dibuka secara “exclusive” untuk proses yang walaupun hanya membaca informasi dari setiap record seperti perintah: APPEN FROM, DELETE ALL dan UPDATE ON, karena jangan sampai user lain mengupdate file yang sama selama proses di atas sedang kita lakukan. 5. Penguncian file juga sebaiknya dilakukan terhadap proses yang walaupun hanya membaca informasi dari setiap record seperti perintah: COUNT, SUM dan TOTAL. Hal ini dilakukan untuk meyakinkan kita agar pada saat proses dilakukan tidak ada data yang berubah. 6. File harus dibuka secara “exclusive” untuk melakukan perintah-perintah seperti: PACK, REINDEX dan ZAP. Jika perintah-perintah tersebut anda coba pada file yang “shared”, maka Clipper akan memberikan pesan “System error not exclusive”. 7. Penguncian tidak diperlukan untuk operasi-operasi yang hanya membaca file seperti: LIST, SEEK, REPORT FROM dan GO TO. Juga dapat dilakukan APPEND BLANK record-record terhadap file yang “shared”.
9.3.2. Cara Membuka File untuk Sharing Terdapat 3 cara untuk membuka file secara “shared”, yaitu: Buka file dalam mode “shared” dengan perintah SET EXCLUSIVE OFF sebelum melaksanakan perintah USE. Selalu segera lakukan pengecekan terhadap NETERR ( ) setelah perintah USE untuk meyakinkan bahwa file berhasil. Jangan mebuka file index sekaligus bersamaan dengan perintah USE, tetapi bukalah file index dengan SET INDEX TO setelah melakukan pengecekan NETERR ( ) terhadap perintah USE. Contoh: SET EXCLUSIVE OFF USE Pegawai IF NETERR ( ) ? “File tidak bias dibuka secara “SHARED” !!!” ? “Program dihentikan…” QUIT ENDIF SET INDEX TO NipDex
Desain Sistem dan Database Dalam Lingkungan Dos Aplikasi Multiuser 9 - 4
9.3.3. Mekanisme Penguncian Menggunakan kedua fungsi FLOCK ( ) dan ROCK ( ) akan melakukan usaha penguncian dan mengembalikan hasil dan penguncian apakan berhasil atau tidak (.T./.F.) Jika user-1 berhasil melakukan penguncian maka akibatnya adalah sebagai berikut: Jika fungsi FLOCK ( ) yang dipakai, maka seluruh file dalam daerah kerja yang aktif akan terkunci. Jika fungsi RLOCK ( ) yang dipakai maka hanya record yang sedang dipakai oleh user-1 saja yang terkunci. User-1 sekarang dapat melakukan proses “penulisan” (Proses “penulisan” pada file “shared” yang tidak terkunci menyebabkan pesan “System error not locked”). User lain yang berusaha untuk mengunci record atau file yang sama akan gagal (.F.).Tidak ada akibat apa-apa bagi user lain untuk proses membaca. Akibat-akibat di atas akan berakhir sampai user-1 membebaskan penguncian dengan cara: Memberikan perintah UNLOCK di dalam daerah kerja file yang terkunci Memberikan perintah UNLOCK ALL di daerah kerja mana saja. Menutup file dengan perintah USE. Memberhentikan program secara normal. Memberikan perintah penguncian lain pada file yang sama.
9.3.4. Penerapan Mode Share/ Exclusive Perintah yang “membaca” data dari , dibuka secara “shared”: APPEND FROM CREATE…FROM LABEL FROM REPORT FROM RESTORE FROM TYPE UPDATE…FROM Perintah yang “menulis” ke yang dibuka secara “exclusive” COPY STRUCTURE TO COPY TO CREATE INDEX ON…TO JOIN…TO SAVE TO SET ALTERNATET TO SORT…TO TOTAL…TO File yang dibuka secara “shared” dibuka oleh Clipper dengan menggunakan DOS atribut “read-only”.
Desain Sistem dan Database Dalam Lingkungan Dos Aplikasi Multiuser 9 - 5 Perintah SET INDEX TO akan membuka secara “shared” atau “exclusive” tergantung pada status file database yang bersangkutan. Perintah atau function yang membutuhkan pengaturan multiuser ditampilkan dalam table berikut: Perintah @…SAY…GET APPEND FROM DELETE (single record) DELETE (multiple record) PARK RECALL (single record) RECALL (multiple record) REINDEX REPLACE (single record) REPLACE (multiple record) UPDATE ON ZAP
Dibutuhkan RLOCK ( ) USE…EXCLUSIVE atau FLOCK ( ) RLOCK ( ) USE…EXCLUSIVE atau FLOCK ( ) USE…EXCLUSIVE RLOCK ( ) USE…EXCLUSIVE atau FLOCK ( ) USE…EXCLUSIVE RLOCK ( ) USE…EXCLUSIVE atau FLOCK ( ) USE…EXCLUSIVE atau FLOCK ( ) USE…EXCLUSIVE