• Tidak ada hasil yang ditemukan

Daftar Isi. 1 Praktikum #1 - Membuat berkas basis data (.dbf) Program yang dibutuhkan Langkah-Langkah Pekerjaan...

N/A
N/A
Protected

Academic year: 2021

Membagikan "Daftar Isi. 1 Praktikum #1 - Membuat berkas basis data (.dbf) Program yang dibutuhkan Langkah-Langkah Pekerjaan..."

Copied!
28
0
0

Teks penuh

(1)

Daftar Isi

1 Praktikum #1 - Membuat berkas basis data (.dbf ) 1

1.1 Program yang dibutuhkan . . . 1

1.2 Langkah-Langkah Pekerjaan . . . 1

2 Praktikum #2 - Perintah Dot Command 4 2.1 Program yang dibutuhkan . . . 4

2.2 Masalah yang dipecahkan . . . 4

3 Praktikum #3 - Membuat Program Clipper 6 3.1 Program yang dibutuhkan . . . 6

3.2 Langkah-Langkah Pekerjaan . . . 6

3.3 Materi tambahan . . . 8

4 Praktikum #4 - Membuat Program Pemasukan Data 9 4.1 Program yang dibutuhkan . . . 9

4.2 Materi #1 - Menghitung Selisih Hari . . . 9

4.3 Materi Tambahan - Menghitung Umur . . . 10

5 Praktikum #5 - Membuat Program Pemasukan Data ke Basis Data 12 5.1 Pemasukan Data Siswa ke IPA2002.DBF . . . 12

5.2 Proses Executeable File . . . 15

5.3 Materi tambahan #1 . . . 16

5.4 Materi tambahan #2 . . . 16

6 Praktikum #6 - Membuat Program Penghapusan Data 17 6.1 Penghapusan Data Siswa ke IPA2002.DBF . . . 17

6.2 Materi tambahan . . . 20

7 Praktikum #7 - Membuat Menu 21 7.1 Program dan Berkas yang dibutuhkan . . . 21

8 Praktikum #8 - Pemrosesan Data 22 8.1 Program yang dibutuhkan . . . 22

8.2 Langkah-Langkah Pekerjaan . . . 22

9 Praktikum #9 - Mencetak Report 24 9.1 Bahan tambahan yang dibutuhkan . . . 24

(2)

Daftar Tabel

1 Atribut Tabel IPA2002.DBF . . . 2 2 Atribut Tabel PS.DBF . . . 3 3 Atribut Tabel SLTA.DBF . . . 3

Daftar Gambar

(3)

1

Praktikum #1 - Membuat berkas basis data

(.dbf )

Praktikum #1 berisi materi tentang basis data dengan menggunakan xBase. Untuk melaksanakan materi ini mahasiswa sudah mendapat bahan kuliah ten-tang manajemen basis data dalam xBase khususnya tenten-tang perintah-perintah dot command atau dot prompt.

1.1

Program yang dibutuhkan

Program yang dibutuhkan dalam praktikum ini tergantung sistem operasi yang digunakan. Jika sistem operasi menggunakan Windows XP maka pro-gram yang bisa digunakan adalah dBase III+. Jika menggunakan GNU Linux dengan DOS Emulator, maka bisa digunakan program FoxBase ataupun dBase III+. Program-program tersebut harus sudah ada di dalam sistem komputer dan mahasiswa mesti tahu persis, di mana letak program-program tersebut.

1.2

Langkah-Langkah Pekerjaan

Urut-urutan perintah yang dilakukan dalam pelaksanaan praktikum kali ini adalah sebagai berikut :

1. Jalankan program dBase III+ atau FoxBase. Cara menjalankan pro-gram ini berbeda-beda tergantung di mana meletakkan propro-gram dBase atau FoxBase. Untuk contoh perhatikan perintah berikut. Untuk men-jalankan dBase, posisi direktori aktif harus berapa pada direktori dBase, jadi pindah direktori dulu, baru kemudian menjalankan dBase.

cd dbase [enter] - pindah ke direktori dbase dbase.exe [enter] - menjalankan program dbase

Press the F1 key for HELP.

Type a command (or ASSIST) and press the ENTER key (?-+).

Kemudian dari posisi seperti ini, supaya lebih jelas tampilannya, berikan perintah :

set status on .

Command Line <D:>

(4)

Untuk penggunaan FoxBase caranya hampir sama, hanya mungkin berbe-da direktori. Misalnya :

cd ca-52\bin - pindah direktori tempat FoxBase mfoxplus.exe - menjalankan program FoxBase

Kemudian berikan perintah set status on juga.

2. Membuat berkas basis data (.dbf). Setelah program DBMS (dBase III+ atau FoxBase siap digunakan, selanjutnya adalah membuat basis data (.dbf) dengan perintah create IPA2002 . Isi dari berkas basis data IPA2002.dbf seperti berikut :

Setelah semua field dibuat dan ditentukan tipe serta ukurannya, ke-Field Field Name Type Width Dec

1 NO PKAB Character 5 2 RESI Character 1 3 PILIHAN 1 Character 6 4 PILIHAN 2 Character 6 5 NAMA SISWA Character 30 6 NO INDUK Character 10 7 JURUSAN Character 1 8 KODE SMA Character 8 9 NAMA SMA Character 35 10 KELAMIN Character 1 11 INA 1 Numeric 4 1 12 INGG 1 Numeric 4 1 13 KIM 1 Numeric 4 1 14 MAT 1 Numeric 4 1 15 FIS 1 Numeric 4 1

Tabel 1: Atribut Tabel IPA2002.DBF

mudian tekan tombol Ctrl-End untuk merekam dan selesai dari proses pembuatan satu basis data. Jika ada pertanyaan, ”Apakah akan mema-sukkan data sekarang?”, jawab dengan menekan tombol ’N’ yang artinya tidak akan memasukkan data. Selain itu, dibuat juga berkas basis data PS.DBF. Dari posisi dot prompt ketikkan perintah create PS . Sedan-gkan struktur basis data PS seperti berikut :

Kemudian juga berkas SLTA.DBF untuk menyimpan data-data nama sekolah SMA. Untuk melakukan ini perintahnya adalah create slta

(5)

Field Field Name Type Width Dec 1 KODE Character 6 2 KETERANGAN Character 37

Tabel 2: Atribut Tabel PS.DBF

Field Field Name Type Width Dec 1 KODE SMA Character 8 2 NEGE SMA Character 1 3 NAMA SMA Character 35 5 JALAN Character 35 6 KOTA Character 25 Tabel 3: Atribut Tabel SLTA.DBF

3. Isi masing-masing tabel dengan data-data paling tidak 5 record untuk masing-masing tabel. Untuk mengisi data SMA (misalnya), perintahnya adalah :

use SMA - membuka file database SMA.DBF append - menambah data

use PS append

(6)

2

Praktikum #2 - Perintah Dot Command

Pada praktikum ini, mahasiswa diarahkan untuk memahami perintah-perintah dalam DBMS. Perintah-perintah ini mirip dengan fungsi perintah-perintah SQL di dalam basis data modern seperti MySQL, Oracle, MS SQL Server dan sebagainya.

2.1

Program yang dibutuhkan

Program yang dibutuhkan sama dengan kebutuhan pada Praktikum #1. Selain itu ditambah juga dengan basis data yang sudah dibuat pada Praktikum #1. Akan lebih baik lagi, jika data yang tersedia sudah banyak, misalnya min-imal 20 data untuk masing-masing basis data. Untuk contoh basis data yang banyak, data IPA2002 bisa diunduh di www.dwijim.wordpress.com (mudah-mudahan).

2.2

Masalah yang dipecahkan

Jawablah pertanyaan-pertanyaan berikut dan jawabannya dilakukan den-gan perintah-perintah dot command, bukan denden-gan menjawab secara man-ual. Catatan : jika nama basis data berubah, maka harus diawali dengan perintah use. Misal : use IPA2002

1. Berapa jumlah data yang ada pada basis data IPA2002 ? count to jumlah data

2. Siapa yang ada pada data ke-5 dari basis data IPA2002 ? go 5 - edit

3. Tampilkan semua nama siswa yang ada list nama siswa

4. Menampilkan siswa-siswa yang berjenis kelamin perempuan ? list nama siswa where kelamin=0

5. Menampilkan siswa-siswa yang namanya diawali dengan huruf ’A’ list nama siswa where left(nama siswa,1)=’A’

6. Menampilkan siswa-siswa yang namanya mengandung kata ’WATI’ list nama siswa where ’WATI’$upper(nama siswa)

7. Menampilkan siswa-siswa yang namanya diakhiri kata ’WAHYUNI’ list nama siswa where right(rtrim(nama siswa),7)=’WAHYUNI’

(7)

8. Merubah nama siswa menjadi ’Dwi Sakethi’ untuk peserta dengan No. PKAB-nya 101010

replace nama siswa with ’Dwi Sakethi’ where no pkab=’101010’ No. PKAB harus disesuaikan dengan data yang ada, jika data tidak ada yang sesuai maka tidak akan ada data yang diganti.

9. Menghapus data dengan nomor record 2-4 detele for recno()>=2 .and. recno()<=4

10. Tampilkan semua data yang ada dalam format seperti Excell browse

11. Tampilkan semua data yang ada dalam format seperti Excell untuk field nama siswa dan nama sekolah.

browse field nama siswa, nama sma 12. Tampilkan nama siswa berurutan dari A-Z.

index on nama siswa to nama browse field nama siswa, na-ma sna-ma

13. Mencari apakah ada siswa dengan nomor PKAB ’1106’ index on NO PKAB to ipa2002

seek ’1106’ ? found()

Jika hasilnya .t. maka bisa dilanjutkan dengan perintah edit untuk melihat data siswa tersebut. Jika ternyata pencarian adalah .f. maka berarti tidak ada siswa dengan nomor ’1106’.

14. Siapakah siswa yang mempunyai skor tertinggi ? index on -SKOR to ipa2002

go top edit

Karena isi dari SKOR kemungkinan besar masih sama semua yaitu 0, maka perintah ini tidak terlalu terlihat hasilnya. Ada baiknya jika SKOR sudah diisi.

(8)

3

Praktikum #3 - Membuat Program Clipper

Pada bagian ini, mahasiswa akan belajar dari menulis program, mengkom-pilasi dan kemudian me-linking supaya bisa menjadi program yang executeable file. Titik tekan materi ini adalah proses pembuatan executeable file. Artinya, program yang ditulis masih sederhana.

3.1

Program yang dibutuhkan

Untuk mengerjakan tugas pada praktikum ini, dibutuhkan perangkat mulai dari text editor, kemudian compiler dan linker beserta atribut tambahan seper-ti berkas-berkas pustaka (lib). Di sini, pemahaman tentang konsep direktori sangat diperlukan.

3.2

Langkah-Langkah Pekerjaan

Urut-urutan perintah yang dilakukan dalam pelaksanaan praktikum kali ini adalah sebagai berikut :

1. Dengan menggunakan text editor Qedit, suntinglah program berikut ini : clear @ 10,30 say "Ilmu @ 11,30 say "Komputer " @ 12,30 say "Unila" @ 13, say "Lampung"

wait "tekan tombol apa saja !" return

Menjalankan Qedit ada berbagai macam versi, tergantung direktori masing-masing. Perlu diingat bahwa direktori aktif (direktori kerja) sebaiknya di direktori masing-masing yang memang sudah disiapkan untuk xBase. Contoh cara menjalankan program Qedit :

D:\dwijim\kuliah\clipper>ca-52\bin\q - menjalankan program Qedit 2. Lakukan proses kompilasi dengan perintah seperti pada contoh. Perintah

ini perlu dimodifikasi sesuai dengan posisi letak direktori masing-masing. Demikian juga dengan nama file yang dikompilasi. Jika terdapat kesala-han maka perbaiki error yang ada. Error yang mungkin muncul :

(9)

C:\dwi\clipper>\ca-52\bin\clipper test Clipper (R) Version 5.2

Copyright (c) 1985-1993, Computer Associates International, Inc. Microsoft C Floating Point Support Routines

Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved. 336K available

Compiling TEST.PRG

TEST.PRG(2) Error C2007 Unterminated string: "Ilmu" TEST.PRG(6) Error C2005 Statement not recognized, match failed at: "<end of line>"

2 errors

No code generated

Lakukan perbaikan sesuai dengan pesan kesalahan yang diberikan. C:\dwi\clipper>\ca-52\bin\clipper test

Clipper (R) Version 5.2

Copyright (c) 1985-1993, Computer Associates International, Inc. Microsoft C Floating Point Support Routines

Copyright (c) Microsoft Corp 1984-1987. All Rights Reserved. 336K available

Compiling TEST.PRG

Code size 144, Symbols 112, Constants 80

3. Setelah proses kompilasi sukses, lanjutkan dengan proses linking. Proses linking dilakukan dengan perintah :

C:\dwi\clipper>\ca-52\bin\blinker file test

4. Proses linking yang sukses akan menghasilan file yang bisa dieksekusi ex-ecuteable file. Untuk menjalankan file tersebut, cukup dengan mengetikkan nama file tersebut.

(10)

3.3

Materi tambahan

Jika waktu yang tersedia masih banyak, buatlah program yang meng-hasilkan tampilan seperti pada contoh berikut. Tampilan bisa juga digubah sesuai dengan selera atau sesuai dengan identitas masing-masing.

(11)

4

Praktikum #4 - Membuat Program

Pema-sukan Data

Praktikum ke-4 ini mengajak pemakai untuk belajar membuat program untuk memasukkan data melalui keyboard. Konsep tentang jenis-jenis vari-abel, cara memberi harga awal kepada masing-masing jenis varibael harus sudah dikenalkan. Karena pada contoh ini, materi berhubungan dengan tang-gal, maka pemberian harga awal kepada variabel bertipe tanggal harus sudah diberikan juga.

4.1

Program yang dibutuhkan

Untuk mengerjakan tugas pada praktikum ini, dibutuhkan perangkat mulai dari text editor, kemudian compiler dan linker beserta atribut tambahan seper-ti berkas-berkas pustaka (lib). Di sini, pemahaman tentang konsep direktori sangat diperlukan.

4.2

Materi #1 - Menghitung Selisih Hari

Buatlah program untuk menghitung lama peminjaman suatu buku. Pe-masukan data paling tidak terdiri dari tanggal awal peminjaman dan tanggal pengembalian buku. Contoh program :

/* ---nama file : tanggal.prg

program ini berfungsi untuk menghitung lama peminjaman suatu buku. lama peminjaman berupa jumlah hari

--- */ set date italian

* membuat tanggal format indonesia set century on

* tahun dibuat menjadi 4 digit bukan 2 digit clear

* menghapus layar

store date() to tgl_awal,tgl_akhir nama = space(20)

* memberi harga awal ke variabel @ 1,1 say ’Tgl. pinjam : ’

(12)

@ 2,1 say ’Tgl. kembali : ’ @ 3,1 say ’Nama Anda : ’ @ 1,16 get tgl_awal

@ 2,16 get tgl_akhir @ 3,16 get nama read

* memasukkan data tanggal lama = tgl_akhir - tgl_awal

@ 3,1 say "Halo ..."+nama+" pinjam selama : "+str(lama,4,0) * variabel tanggal bisa dikurangi secara langsung

@ 4,1 say dow(date()) @ 5,1 say nama_hari(dow(date())) return function nama_hari para nomor_hari do case case nomor_hari=1 namanya = ’Senin ’ case nomor_hari=2 namanya = ’Selasa’ case nomor_hari=3 namanya = ’Rabu ’ case nomor_hari=4 namanya = ’Kamis ’ case nomor_hari=5 namanya = "Jum’at" endcase return namanya

4.3

Materi Tambahan - Menghitung Umur

Buatlah program untuk menghitung umur. Pemasukan data minimal nama dan tanggal lahir. Untuk tanggal sekarang sifatnya pilihan, boleh dimasukkan boleh juga tidak dimasukkan. Hasil perhitungan berupa informasi dalam ben-tuk, misalnya ”Nama Dwi Sakethi, umur 18 tahun 4 bulan.”. Program harus dicek dengan benar hasilnya, maksudnya bahwa jika ada orang yang berumur

(13)
(14)

5

Praktikum #5 - Membuat Program

Pema-sukan Data ke Basis Data

Pada praktikum ini, materinya adalah mengembangkan sistem untuk mema-sukkan data melalui keyboard dan kemudian menyimpan hasilnya ke dalam basis data (berkas .dbf). Untuk mengerjakan materi praktikum ini, maka berkas IPA2002.DBF harus sudah dibuat seperti pada praktikum sebelum-nya. Seperti halnya dalam pembuatan program, maka perangkat-perangkat pengembangan sistem seperti text editor, compiler dan linker harus tersedia.

5.1

Pemasukan Data Siswa ke IPA2002.DBF

Proses pemasukan data dalam praktikum ini, alur kerjanya mengikuti seper-ti yang sudah dijelaskan dalam perkuliahan. Sebagai contoh, program pema-sukan data dapat dilihat seperti berikut :

/* ---file : ent.prg

program untuk memasukkan data baru dan mengedit data lama

program ini memerlukan file ipa2002.dbf

file ini ketika di-link memerlukan library fast.lib karena ada perintah wall()

jika tidak memiliki fast.lib,

perintah wall() bisa di-remark saja link : blinker file ent lib fast up date : 27 september 2009

--- */ #include ’inkey.ch’

* menyertakan file definisi kode-kode tombol * karena di dalam program ini ada K_ESC clear

* membersihkan layar wall(0,0,24,79)

* membuat latar belakang seperti tembok bata merah use ipa2002

(15)

* membuka file database ipa2002.dbf index on NO_PKAB to ipa2002

* membuat index dengan kuncinya NO_PKAB * supaya bisa dilakukan pencarian dengan * perintah seek

mNO_PKAB = space(5)

* memberi harga awal ke variabel kunci index do while .t.

* membuat looping pemasukan data

@ 3,7 say ’Pemasukan/Editing Peserta PKAB’ @ 5,7 say ’No. PKAB : ’

@ 6,7 say ’Kode SMA : ’ @ 7,7 say ’Kelamin : ’ @ 8,7 say ’No. Induk : ’ @ 9,7 say ’Nama Siswa : ’ * mencetak tampilan pemasukan data

@05,21 get mNO_PKAB read

* input awal adalah variabel kunci if lastkey()=K_ESC

exit endif

* kalau menekan tombol ESC berarti sudah selesai * dan keluar dari program pemasukan data

seek mNO_PKAB

* mencari no_pkab yang diinputkan if found()

* jika ketemu maka isi variabel memori dengan fieldnya

* dengan demikian berfungsi untuk mengedit data yang sudah ada mNAMA_SISWA = NAMA_SISWA

mNO_INDUK = NO_INDUK mKODE_SMA = KODE_SMA mKELAMIN = KELAMIN else

(16)

* jika tidak ketemu berarti data baru

* maka variabel diisi dengan nilai-nilai kosong mNAMA_SISWA = space(30) mNO_INDUK = space(10) mKODE_SMA = space(8) mKELAMIN = space(1) endif @06,21 get mKODE_SMA @07,21 get mKELAMIN @08,21 get mNO_INDUK @09,21 get mNAMA_SISWA read

* memasukkan data-data selain yang menjadi kunci if lastkey()#K_ESC

* jika tidak menekan tombol ESC artinya tidak * melakukan pembatalan

seek mNO_PKAB if .not. found()

append blank

* karena data baru maka ditambahkan record kosong * ke dalam basis datanya

endif

replace NO_PKAB with mNO_PKAB replace NAMA_SISWA with mNAMA_SISWA replace NO_INDUK with mNO_INDUK replace KODE_SMA with mKODE_SMA replace KELAMIN with mKELAMIN * merekam variabel memori ke field-fieldnya

endif enddo

* akhir looping pemasukan data close index

* menutup index close data

(17)

* menutup file database clear

* membersihkan layar kembali return

* kembali ke sistem atau program sebelumnya

Sebaiknya berkas tersebut disimpan dengan nama berkas ENT.PRG. Hal ini supaya sesuai dengan dokumentasi pada berkas tersebut, meskipun sebenarnya tidak mengapa juga jika disimpan ke dalam nama berkas yang lain. Letak direktori dari berkas ENT.PRG dan IPA2002.DBF harus diperhatikan. Se-baiknya diletakkan pada direktori yang sama.

Program tersebut di atas, berguna untuk memasukkan data baru dan mem-perbaiki data lama yang sudah ada. Jadi satu program mempunyai dua fungsi sekaligus.

5.2

Proses Executeable File

Dari source code yang masih dekat dengan bahasa manusia ini, maka pro-gram harus diterjemahkan ke dalam bahasa yang bisa dipahami oleh komputer. Untuk itu, lakukan langkah-langkah berikut :

1. Buat pengaturan environment variables untuk nilai-nilai : include, obj, dan lib. Contoh :

setlib = c : \ca − 52\lib . Perintah ini sangat tergantung kepada direk-tori tempat diletakkannya program-program Clipper dan pendukungnya. 2. Kompilasi program untuk mendapatkan berkas objek. Contoh :

c : \ca − 52\bin\clipper ent.prg . Perintah ini sangat tergantung kepa-da direktori tempat diletakkannya program-program Clipper kepa-dan pen-dukungnya.

3. Pengaitan program untuk mendapatkan berkas executeable file. Contoh :

c : \ca − 52\bin\blinker file ent lib fast .

4. Jika sukses maka akan didapatkan berkas executeable file bernama ent.exe. Untuk menjalankan berkas ini cukup ketikkan perintah Contoh :

ent [enter] . Meskipun sudah didapatkan berkas yang bisa dieksekusi, masih ada kemungkinan ditemukannya kesalahan (error ).

(18)

5.3

Materi tambahan #1

Jika program pemasukan data siswa pada berkas IPA2002 sudah selesai, maka materi dapat dilanjutkan dengan menambah pemasukan data untuk field yang lain seperti untuk mata pelajaran.

5.4

Materi tambahan #2

Jika program pemasukan data siswa pada berkas IPA2002 sudah sele-sai, maka materi dapat dilanjutkan dengan membuat pemasukan data untuk berkas-berkas nama dan kode program studi dan pendataan data sekolah (SL-TA).

(19)

6

Praktikum #6 - Membuat Program

Peng-hapusan Data

Dalam proses pemeliharaan data, biasanya suatu sistem paling tidak di-lengkapi dengan 3 kemampuan yaitu memasukkan data baru, memperbaiki data yang sudah ada dan terakhir menghapus data yang ada. Oleh karena itu, pada materi praktikum kali ini, akan dibuat program untuk menghapus data. Sama seperti pada praktikum sebelumnya (Praktikum #5), pada praktikum ini, bahan-bahan yang dibutuhkan sama persis.

6.1

Penghapusan Data Siswa ke IPA2002.DBF

Proses penghapusan data dalam praktikum ini, alur kerjanya mengikuti seperti yang sudah dijelaskan dalam perkuliahan. Sebagai contoh, program pemasukan data dapat dilihat seperti berikut :

/* ---file : hapus.prg

program untuk menghapus data

program ini memerlukan file ipa2002.dbf

file ini ketika di-link memerlukan library fast.lib karena ada perintah wall()

jika tidak memiliki fast.lib,

perintah wall() bisa di-remark saja link : blinker file ent lib fast up date : 27 september 2009

--- */ #include ’inkey.ch’

* menyertakan file definisi kode-kode tombol * karena di dalam program ini ada K_ESC clear

* membersihkan layar wall(0,0,24,79)

* membuat latar belakang seperti tembok bata merah use ipa2002

(20)

index on NO_PKAB to ipa2002

* membuat index dengan kuncinya NO_PKAB * supaya bisa dilakukan pencarian dengan * perintah seek

mNO_PKAB = space(5)

* memberi harga awal ke variabel kunci index set delete on

* supaya data yang sudah ditandai sebagai data yang dihapus * tidak akan ikut diolah lagi

* karena data yang dihapus masih ada selama belum diberikan * perintah pack (semacam empty recycle bin)

do while .t.

* untuk looping penghapusan data

* penghapusan selesai jika pemakai menekan tombol ESC @ 3,7 say ’Penghapusan Peserta PKAB’

@ 5,7 say ’No. PKAB : ’ @ 6,7 say ’Kode SMA : ’ @ 7,7 say ’Kelamin : ’ @ 8,7 say ’No. Induk : ’ @ 9,7 say ’Nama Siswa : ’

*menampilkan tulisan penghapusan data @05,21 get mNO_PKAB

read

* memasukan field yang menjadi kunci if lastkey()=K_ESC

exit

* jika menekan tombol ESC berarti selesai dari proses

* penghapusan data dan kembali ke sistem atau program sebelumnya endif

seek mNO_PKAB

* mencari berdasarkan field yang menjadi kunci index * yaitu nomor PKAB

(21)

save screen to belum_hapus

* merekam tampilan layar ke suatu variabel @06,21 say KODE_SMA

@07,21 say KELAMIN @08,21 say NO_INDUK @09,21 say NAMA_SISWA

* jika ketemu berarti datanya ada maka sebelum dihapus * ditampilkan dulu data-datanya untuk meyakinkan

hapus = ’T’

* memberi nilai awal ke variabel yang di-GET

@ 11,7 say "Mau dihapus [y/t] : " get hapus pict ’@!’ read

* menanyakan untuk meyakinkan bahwa data akan dihapus if hapus=’Y’

delete pack

wait ’Data sudah dihapus’

* jika yakin maka data betul-betul dihapus endif

restore screen from belum_hapus

* mengembalikan tampilan ke tampilan awal ketika layar * masih belum terisi data-data apapun

else

* jika no_pkab tidak ketemu berarti datanya tidak ada * maka tampilkan pesan supaya pemakai tahu masalahnya

@06,21 say ’Data tidak ada ... !’ wait ’’

* menunggu sampai suatu tombol ditekan

@06,21 say ’ ’

* menghapus pesan data tidak ada endif

(22)

* akhir looping pemasukan data close index

* menutup index close data

* menutup file database clear

* membersihkan layar kembali return

* kembali ke sistem atau program sebelumnya

6.2

Materi tambahan

Jika program penghapusan tersebut di atas sudah selesai, praktikum dapat dilanjutkan dengan membuat program untuk menghapus data data berkas PS.DBF dan SMA.DBF dengan model yang sama dengan model penghapusan ini.

(23)

7

Praktikum #7 - Membuat Menu

Sampai dengan praktikum #6 setidaknya sudah didapatkan beberapa berkas program (untuk ini, materi praktikum tidak dapat diloncat-loncat). Jika mengikuti batas minimal, paling tidak ada dua berkas yaitu ENT.PRG dan HAPUS.PRG. Pada praktikum ini, akan dibuatkan sebuah program menu yang akan menggabungkan program-program tersebut.

7.1

Program dan Berkas yang dibutuhkan

Semua materi-materi pada praktikum sebelumnya, menjadi bahan-bahan yang dibutuhkan pada praktikum kali ini. Jika praktikum sebelumnya (khusus-nya Praktikum #5 dan Praktikum #6 belum dilaksanakan, maka praktikum ini jelas tidak akan bisa dikerjakan.

(24)

8

Praktikum #8 - Pemrosesan Data

Pada praktikum ke-8 ini, akan dibuat suatu program untuk melakukan pemrosesan data, dalam hal ini menghitung rata-rata nilai mata pelajaran yang akan disimpan dalam field SKOR. Sebagai mana sudah diketahui bah-wa dalam data calon mahasisbah-wa ini terdapat data-data nilai mata pelajarah meliputi :

1. INA 1 untuk menyimpan nilai mata pelajaran Bahasa Indonesia. 2. INGG 1 untuk menyimpan nilai mata pelajaran Bahasa Inggris. 3. KIM 1 untuk menyimpan nilai mata pelajaran Kimia.

4. MAT 1 untuk menyimpan nilai mata pelajaran Matematika. 5. FIS 1 untuk menyimpan nilai mata pelajaran Fisika.

Dalam contoh ini, untuk menyederhanakan masalah maka SKOR dihitung berdasarkan nilai rata-rata untuk mata pelajaran tersebut. Jadi buatlah pro-gram untuk menghitung SKOR ini.

8.1

Program yang dibutuhkan

Untuk mengerjakan tugas pada praktikum ini, dibutuhkan perangkat mulai dari text editor, kemudian compiler dan linker beserta atribut tambahan seper-ti berkas-berkas pustaka (lib). Selain itu, dibutuhkan juga berkas database IPA2002.DBF yang sudah diisi dengan data. Semakin banyak data, akan se-makin baik. Paling tidak ada 50 data calon mahasiswa.

8.2

Langkah-Langkah Pekerjaan

Setalah bahan-bahan yang dibutuhkan tersedia, selanjutnya tuliskan pro-gram berikut. Sebelumnya tentu saja, posisi direktori aktif dalam DOS Prompt harus diperhatikan.

* nama file : proses.prg #include ’inkey.ch’ clear use IPA2002 count to jml_data store 0 to nomor dbgotop()

do while .not. eof() nomor = nomor + 1

(25)

jml_nilai = INA_1 + INGG_1 + MAT_1 + FIS_1 + KIM_1 + BIO_1 rata = jml_nilai/6

replace SKOR with rata

@ 09,20 say ’Nomor PKAB : ’+NO_PKAB @ 10,20 say ’Nama Siswa : ’+NAMA_SISWA @ 11,20 say ’Skor Akhir : ’+str(rata,6,2) @ 12,20 say ’Sedang proses data ke : ’+str(nomor,5,0)

@ 13,20 say ’Prosentasi proses : ’+str(nomor/jml_data*100,6,2)+’ %’ dbskip()

wait ’Tekan tombol apa saja untuk melanjutkan’

* jika data sudah banyak, perintah wait bisa dibuang saja * atau di-remark (diberi tanda bintang)

enddo go top

dbedit(0,0,24,79) return

(26)

9

Praktikum #9 - Mencetak Report

Membuat laporan atau report merupakan suatu keharusan di dalam pengem-bangan sistem. Untuk apa sistem bisa mengolah data, jika ternyata hasil pen-golahan tidak bisa ditampilkan dalam bentuk laporan. Apapun bentuk atau nama laporannya. Program laporan ini, bisa dibuat dalam modul tersendiri atau digabung ke dalam menu seperti pada program sebelumnya.

9.1

Bahan tambahan yang dibutuhkan

Untuk pencetakan laporan ini, ada berkas tambahan yang dibutuhkan, yaitu berkas bernama layar.dbf dengan struktur seperti berikut :

Structure for database: LAYAR.DBF Number of data records: 3800 Date of last update : 12/23/02

Field Field Name Type Width Dec 1 LAYAR_1 Character 70

2 LAYAR_2 Character 70 3 LAYAR_3 Character 70 4 LAYAR_4 Character 70

** Total ** 281

Berkas ini diletakkan pada direktori yang sama dengan berkas program .prg yang akan dibuat.

9.2

Program Mencetak Laporan

Untuk mencetak laporan, sebagai contoh, bisa dituliskan program berikut : #include ’inkey.ch’ do while .t. wall(0,0,24,79) use ipa2002 @ 09,10 clear to 17,65

@ 10,11 prompt ’ A. Cetak Daftar Peserta Urut Nama ’ @ 11,11 prompt ’ B. Cetak Daftar Peserta Urut Skor ’ @ 12,11 prompt ’ X. Selesai ... ’ menu to cetak

if lastkey()=K_ESC .or. cetak=3 exit

endif

(27)

@ 16,11 prompt ’ P. Printer ’ menu to alat

clear do case

case alat=1

set printer to hasil.txt set printer on

set device to print case alat=2

set printer on set device to print endcase

do case

case cetak=1

index on NAMA_SISWA to nama count to jumlah_data

no = 0 dbgotop()

do while .not. eof() if mod(no,50)=0 if (no#0) @ prow()+1,1 say ’---’ eject endif

@ prow()+1,1 say ’Daftar Peserta’

@ prow()+1,1 say ’ --- ---’

@ prow()+1,1 say ’ No Nama Siswa

Pil Asal SMA Skor’

@ prow()+1,1 say ’

---’ endif

@ prow()+1,1 say NO_PKAB+’ ’+NAMA_SISWA+’ ’+ PILIHAN_1+’ ’+NAMA_SMA+’ ’+str(SKOR)

no = no + 1

set device to screen

@ 11,20 say "Proses : "+str((no/jumlah_data)*100,6,3)+’ %’ * @ 11,20 say "Proses : "+(no/jumlah_data)*100+’ %’

set device to print dbskip()

(28)

enddo case cetak=2

index on PILIHAN_1+str(1000-SKOR) to skor dbgotop()

do while .not. eof()

@ prow()+1,1 say NO_PKAB+’ ’+NAMA_SISWA+’ ’+ PILIHAN_1+’ ’+str(SKOR,8,3) dbskip() enddo endcase do case case alat=1

set device to screen set printer off set printer to use layar zap

append from hasil.txt sdf dbgotop()

dbedit(0,0,24,79) case alat=2

set device to screen set printer off endcase

enddo return

Gambar

Tabel 1: Atribut Tabel IPA2002.DBF
Gambar 1: Contoh Logo

Referensi

Dokumen terkait