Kamis, 22 Desember 2011

CONTOH PROGRAM (3)

Program 7 : toko (record dengan array)

Pada tutorial 5 telah dijelaskan cara penggunaan array dan record. Sekarang kita akan menggabungkan array dan record tersebut. Perhatikan program di bawah ini:

  1: Program Array_dan_Record;
  2: type dmhs=record
  3:   nrp:string[10];
  4:   nama:string[25];
  5:   alamat:string[50];
  6: end;
  7: var data:array[1..3] of dmhs;
  8:     i:integer;
  9: begin
10:   for i:=1 to 3 do
11:     begin
12:       write('nrp : ');readln(data[i].nrp);
13:       write('nama : ');readln(data[i].nama);
14:       write('alamat : ');readln(data[i].alamat);
15:     end;
16:   writeln;
17:   writeln('Data ditampilkan');
18:   for i:=1 to 3 do
19:     begin
20:       writeln('nrp : ', data[i].nrp);
21:       writeln('nama : ', data[i].nama);
22:       writeln('alamat : ', data[i].alamat);
23:     end;
24:   readln;
25: end.

Di dalam program tersebut dideklarasikan bahwa dmhs (data mahasiswa) itu adalah record yang mempunyai field nrp, nama dan alamat (lihat baris 2 sampai 6). Selanjutnya variabel data dideklarasikan bertipe dmhs yang berbentuk array (baris ke 7). Kemudian seperti biasa untuk memasukkan data ke field digunakan "readln(data[i].nrp)", dst (baris 10 sampai 15). Untuk menampilkannya bisa dilihat dibaris ke 18 sampai 23.













Program 8 : Operasi String

Yang ini sebenarnya program tambahan, habis program-program sebelumnya kan kebanyakan bermain logika matematik (tentang angka melulu). Ehh... dipikir-pikir, operasi tentang string kok gak ada? Tenaaannggg.... sekarang udah ada kok :p

  1: var nama : string;
  2:     urutan, posisi: integer;
  3: begin
  4:   nama:='Dijas Keren';
  5:   writeln('Yang ini delete');
  6:   for urutan:=1 to 11 do
  7:     begin
  8:       posisi:= 13 - urutan;
  9:       delete(nama, posisi, 1);
10:       writeln(nama);
11:     end;
12:   writeln;
13:   nama:='DijasKeren';
14:   writeln('Yang ini insert');
15:   writeln('Sebelum di Insert : ', nama);
16:   insert('-', nama, 6);
17:   writeln('Setelah di Insert : ', nama);
18:   readln;
19: end.

Outputnya seperti di bawah ini

Yang ini delete
Dijas Keren
Dijas Kere
Dijas Ker
Dijas Ke
Dijas K
Dijas
Dijas
Dija
Dij
Di
D

Yang ini insert
Sebelum di Insert : DijasKeren
Setelah di Insert : Dijas-Keren

Jadi isi penggunaan delete itu => delete(string, posisinya, jumlah yang di hapus). Sedangkan insert => insert(yang mau disisipkan, string, posisinya). Gampang kan? Dengan ini bisa dibuat kayak Program 5 loh (tentang bintang).

Bagaimana jika suatu saat kamu pengen ngerubah string jadi numerik atau numerik jadi string?
str(angkanya:desimal yang diambil, variabel string tempat hasilnya disimpan)
prosedur ini untuk mengubah numerik ke string
val(string, variabel numerik tempat hasilnya disimpan, posisi salah)
prosedur ini untuk mengubah string ke numerik. Khusus posisi salah, yang dideteksi adalah posisi salah yang pertama (walaupun ada 5 biji yang salah, yang ke tangkap yang pertama)
Concat(string, string, string) : string
Yang ini untuk menggabungkan string, ini fungsi loohh.. jadi hasil penggabungannya ditampung di Concat

Ini program terakhir tentang operasi string, program pembalik kata

  1: program pembalik_kata;
  2: var kata,hasil,tmp:string; i:integer;
  3: begin
  4:   write('Kata : ');readln(kata);
  5:   hasil:='';
  6:   for i :=length(kata) downto 1 do
  7:     begin
  8:       tmp:=copy(kata,i,1);
  9:       hasil:=hasil+tmp;
10:     end;
11:   write('Dibalik ',hasil);
12:   readln;
13: end.

Di program ini ada dua fungsi operasi string baru yang digunakan.
length(string) : integer
Fungsi ini untuk menghitung panjang atau jumlah karakter.
copy(string, posisinya, jumlah yang akan diambil)
Fungsi ini untuk mengambil sejumlah huruf dari sting yang dimasukkan
Pos(string/huruf yang akan dicari posisinya, string awal):byte
Fungsi ini untuk mengetahui posisi dari string/huruf dari kata/kalimat yang dimaksud. Bila bernilai nol berarti nilai string yang dicari tidak ada.














Program 9  : Contoh penggunaan teori di tutor 6

Program database ini adalah contoh-contoh penggunaan fungsi dan prosedur dari Tutorial 6. Perhatikan contoh berikut:

  1: Program BuatFile;
  2: var fText : text; data: string;
  3: begin
  4:   writeln('MENGISI DATA');
  5:   writeln('------------');
  6:   assign(fText, 'nama.txt');
  7:   rewrite(fText); {gunakan reset(fText) bila file sudah ada}
  8:   writeln(fText, 'dijas');
  9:   writeln(fText, 'dian');
10:   writeln(fText, 'cecep');
11:   close(fText);
12:   readln;
13: end.

Prosedur yang digunakan di atas adalah prosedur no. 1 sampai 5 yang ada di Tutorial 6. Untuk membaca databasenya gunakan reset (jangan rewrite) dan gunakan prosedur no 6. Perhatikan contoh di bawah ini:

assign(fText, 'bil.dat');
reset(fText);
read(fText, data);
writeln(data);

Sekarang kita gunain fungsi nomor 7 yachh... Fungsi ini biasa digunakan untuk membaca data yang ada dari awal/posisi tertentu sampai akhir. eof kepanjangan end of file

while not eof(fText) do
  begin
    readln(fText, data);
    writeln(data);
  end;

Bagaimana caranya jika ingin mengedit data yang sudah ada? Gunakan prosedur seek, perintahnya: Seek(fText, filesize(fText));. Setelah menempatkan kursor ditempat yang diinginkan, gunakan perintah write untuk mengedit atau prosedur Truncate untuk menghapus (perintahnya Truncate(fText)). Tapi hati-hati mengunakan Truncate, soalnya mulai dari posisi yang dimaksud sampai akhir file akan dihapus. Fungsi dan prosedur lainnya bisa dicoba-coba sendiri yaaa....

Huuff... akhirnya kelar juga ngebahas dasar-dasar pascal. Kalo kalian udah paham seluruh tutorial dan program yang ada di sini, berarti kalian sudah melewati level basic. Untuk pengembangannya coba cari program-program open source, terutama mengenai database. Selamat mencoba.…

0 komentar:

Posting Komentar