Jumat, 01 Januari 2016

PROGRAM SEDERHANA PADA STRUKTUR DATA



Tugas Pertemuan Ke-2

1.  Program sederhana dengan menggunakan tipe data sederhana dan majemuk!

A. Tipe data sederhana
- Integer
integer : merupakan tipe data berupa bilangan bulat atau bilangan yang tidak mempunyai titik desimal/bilangan pecahan.
            Contoh program pada Turbo Pascal :
            Uses wincrt;
            Var a,b,c:integer;
            Begin
            Write(‘nilai a : ‘)readln(a);
            Write(‘nilai b: ‘)readln(b);
                        c:=a+b;
                        writeln(hasilnya = ‘,c);
            End.
Output :

-Real
adalah bilangan yang mengandung pecahan, palingsedikit harus ada satu digit sebelum dan sesudah titik desimal.
¡  Contoh :
VAR nilai1,nilai2,hasil : REAL;
BEGIN
nilai1 := 2.52;
nilai2 := 3.2;
hasil := nilai1 + nilai2;
WRITE('HASIL PENJUMLAHAN = ',hasil:4:2);
END.

 Output program, sbb : hasil penjumlahan = 5.72

-Char
Nilai data karakter berupa sebuah karakter yang ditulis diantara tanda petik
tunggal, misalnya : 'A', 'b', '@', dan sebagainya. Karakter yang dapat diterima oleh
komputer :
huruf besar/kecil : A,B,C,...,Z / a,b,...,z
digit : 1,2,3,...,9
operator aritmatika : * / + -
tanda baca : , . ; : ? !
simbol khusus : $ @ { } ( ) [ ] % #
spasi
Contoh :
VAR nilai : CHAR;
BEGIN
nilai :='A';
WRITELN('NILAI TERBAIK = ',nilai);
END.

hasilnya : nilai terbaik = A

-Boolean
Data tipe boolean mempunyai dua nilai, yaitu True dan False.
Contoh :
VAR
benar : BOOLEAN;
BEGIN
benar := TRUE;
WRITELN('benar = ',benar);
END.

hasil : benar = TRUE

B. Tipe Data majemuk

-String
Nilai data string adalah satu atau lebih karakteryang terletak diantara tanda
petik tunggal, misal : 'GUNADARMA'. Bila panjang dari suatu string di dalam
deklarasi variabel tidak disebutkan, maka dianggap panjangnya 255 karakter.
Contoh :
VAR
kata1 : STRING[5];
kata2 : STING[9];
kata : CHAR;
BEGIN
kata1 :='STMIK';
kata2 :='GUNADARMA';
kata :=' '; { karakter berupa spasi }
WRITELN(kata1,kata,kata2);
END.

hasil : STMIK GUNADARMA


2. Opertor pada type data sederhana
Operator yang dapat digunakan pada data tipe integer :
+, penjumlahan
-, pengurangan
*, perkalian
div, pembagian
mod, sisa pembagian
Contoh :
-          Penjumlahan (+)
Uses wincrt;
Var a,b,c:integer;
Begin
Write(‘nilai a : ‘)readln(a);
Write(‘nilai b: ‘)readln(b);
c:=a+b;
writeln(hasilnya = ‘,c);
End.

¡  Pengurangan (-)
Contoh:
Uses wincrt;
Var a,b,c:integer;
Begin
Write(‘nilai a : ‘)readln(a);
Write(‘nilai b: ‘)readln(b);
c:=a-b;
writeln(hasilnya = ‘,c);
End.
¡  Perkalian (*)
Contoh :
Uses wincrt;
Var a,b,c:integer;
Begin
Write(‘nilai a : ‘)readln(a);
Write(‘nilai b: ‘)readln(b);
c:=a-b;
writeln(hasilnya = ‘,c);
End.
§  Pembagian (DIV)
Contoh
Var
a,nilai1,nilai2:integer;
Begin
nilai1:=20;
nilai2:=6;
a:=nilai1 DIV nilai2;
Writeln(‘Hasilnya adalah a=‘,a);
End.
§  Sisa pembagian (MOD)
Contoh
Var
a,nilai1,nilai2:integer;
Begin
nilai1:=20;
nilai2:=6;
a:=nilai1 MOD nilai2;
Writeln(‘Hasilnya adalah a=‘,a);
End.

Operator yang dapat digunakan pada data tipe real adalah :
+ penjumlahan
- pengurangan
* perkalian
/ pembagian
-          Penjumlahan (+)
Contoh
Var a,b,c:real;
Begin
Write(‘nilai a : ‘)readln(a);
Write(‘nilai b: ‘)readln(b);
c:=a+b;
writeln(hasilnya = ‘c,:4:2);
End.

-Pengurangan (-)
Contoh
Var
Nilai1,nilai2,hasil:real;
Begin
Nilai1:3.14;
Nilai2:1.1;
Hasil:=nilai1-nilai2;
            writeln(hasilnya = ‘hasil,:4:2);
End.

-Perkalian (*)
Contoh
Var
Nilai1,nilai2,hasil:real;
Begin
            nilai1:3.14;
            nilai2:1.1;
            hasil:=nilai1*nilai2;
            writeln(hasilnya = ‘hasil,:4:2);
End.

-Pembagian (/)
Contoh
Var
Nilai1,nilai2,hasil:real;
Begin
            nilai1:3.14;
            nilai2:1.1;
            hasil:=nilai1/nilai2;
            writeln(hasilnya = ‘hasil,:4:2);
End.

Operator yang dapat digunakan pada tipe CHAR
q  operator aritmatika : * / + -
¡  Beberapa fungsi untuk memanipulasi tipe data char:
¡  Ord(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk memperoleh nilai urutan dalam kode ASCII yang digunakan untuk melambangkan karakter tersebut. Contoh: Ord('C') adalah 67.
¡  Char(x) dengan x adalah data bertipe byte. Fungsi ini adalah kebalikan dari fungsi Ord. Nilai yang diperoleh merupakan karakter ASCII yang dinyatakan dengan urutan ke x. Contoh: Char(67) adalah 'C'.
¡  Pred(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk mengetahui karakter yang mendahului x. Contoh: Pred('h') adalah 'g'.
¡  Succ(x) dengan x adalah data bertipe char. Fungsi ini digunakan untuk mengetahui karakter sesudah x. Contoh: Succ('h') adalah 'i'. Jika x tidak mempunyai penerus, maka nilai fungsi ini tidak terdefinisikan.
¡   Upcase(x) dengan x adalah data bertipe char. Jika x merupakan huruf kecil maka akan dikembalikan huruf kapitalnya. Contoh: upcase('a') adalah 'A'.

Operator yang dapat digunakan pada tipe STRING
q  operator  pada tipe data string adalah operator penggabungan(+).
¡  Bentuk umum dari deklarasi tipe string adalah:
            Var pengenal : string[panjang];
            dimana :pengenal : nama variabel
            panjang : bilangan bulat yang menunjukkan banyaknya karakter (1 – 255).
¡  Contoh :
            VAR kata1 : STRING[3];
            kata2 : STING[6];
            kata : CHAR;
            BEGIN
            kata1 :=‘SMK';
            kata2 :=‘NEGERI';
            kata :=' '; { karakter berupa spasi }
            WRITELN(kata1,kata,kata2);
            END.
            hasil : STMIK GUNADARMA

Operator yang dapat digunakan pada tipe BOOLEAN
¡  boolean(logika) : tipe data yang berisi dua kemungkinan nilai: TRUE atau FALSE . Biasanya tipe data ini digunakan untuk perbandingan. Var A, B, C : Boolean; Operator NOT, OR, AND, dan XOR dapat dibentuk secara bersamaan menjadi sebuah ungkapan Boolean yang rumit.
¡  Misal: Var A,B,C: Boolean;
            Begin
            C := false; B := true;
            A := (Not(C) AND Not (B)) XOR (C);
            Write(A); readln;
            End.
¡  Contoh boolean :
            VAR
            benar : BOOLEAN;
            BEGIN
            benar := TRUE;
            WRITELN('benar = ',benar);
            END.
¡  hasil : benar = TRUE

ARRAY dan RECORD
1.      ARRAY
Suatu array adalah sebuah struktur data yang terdiri atas banyak variabel dengan tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu: variabel).
Bentuk umum dari tipe larik adalah
type pengenal = array [tipe_index] of tipe;
pengenal : nama tipe data.
tipe_index : tipe data untuk nomor index.
tipe : tipe data komponen.
Contoh,
type Vek = array [1..100] of integer;

Cara Pendefinisian
            • contoh type
            A = array [1..6] of integer;
            • Secara logika pendefinisian array di atas merupakan sekumpulan kotak , dimana tiap kotak mempunyai nilai indeks integer 1, 2, 3, ...,6tiap elemen array ditandai dengan:
A[1], A[2], A[3], A[4], A[5], A[6]
untuk mengisi elemen array misal A[1]:=4;.

# Contoh penulisan tipe larik berdimensi satu sbb :
CONST batas = 20;
VAR telpon : ARRAY[1..3] OF STRING[7]; { larik dengan nama telpon mempunyai 3 data dengan tipe string }
nilai : ARRAY[1..5] OF INTEGER; { larik dengan nama nilai mempunyai 5 data dengan tipe integer }
gaji : ARRAY[1..batas] OF REAL; { larik dengan namagaji mempunyai 20 data dengan tipe real }

#Contoh larik yang mempunyai tipe data terbilang atau subjangkauan :
TYPE batas = 0..100;
keadaan = (baru,lama,bagus,jelek);
-VAR nilai : ARRAY[1..30] OF 'A'..'B'; { larik dengan nama nilai mempunyai 30 data, dan pengisian data yang diperbolehkan hanya A, B, C, D,E }
-angka : ARRAY[1..50] OF batas; { larik dengan nama angka mempunyai 50 data, dan pengisian data yang diperbolehkan hanya 1,2,3,...,99,100 }
-baju : ARRAY[1..10] OF keadaan; { larik dengan nama angka mempunyai 10 data,dan pengisian data yang diperbolehkan baru, lama,bagus, jelek }

Contoh program :
VAR jumlah : INTEGER;
nilai : ARRAY[1..3] OF 'A'..'E';
angka : ARRAY[1..3] OF INTEGER;
BEGIN
nilai[1] := 'C';
nilai[2] := 'B';
nilai[3] := 'A';
angka[1] := 75;
angka[2] := 60;
angka[3] := 90;
jumlah := angka[1]+angka[2]+angka[3];
WRITELN('NILAI = ',angka[2],' MENDAPAT ',nilai[1]);
WRITELN('JUMLAH = ',jumlah);
END.

hasil : nilai 60 mendapat C
jumlah = 225



Contoh penulisan tipe larik berdimensi dua sbb :
VAR tabel : ARRAY[1..3,1..2] OF BYTE; { larik tabel mempunyai 3 baris dan 2 kolom dengan tipe byte }
BEGIN tabel[1,1] := 5; { baris 1, kolom 1 }
tabel[1,2] := 7;
11
tabel[2,1] := 21; { baris 2, kolom 1 }
tabel[2,2] := 18;
tabel[3,1] := 8;
tabel[3,2] := 7;
WRITELN('BARIS 1 KOLOM 2 = ',tabel[1,2]);
END.

hasil : BARIS 1 KOLOM 2 = 7

2. RECORD
Pengolahan Data dalam satu kelompok data yang memiliki tipe data yang berbeda-beda dapat diproses dengan menggunakan Data Record. Data Record dibuat dengan mendeklarasikan sebuah tipe data record. Data record terdiri dari beberapa variabel/ field dengan tipe yang berbeda-beda.

Cara mendeklaraikan sebuah nama record diawali dengan kata kunci type dan diakhiri dengan kata kunci End .

Bentuk Deklarasi Nama Record
Type
  Nama record = record
      Field-1 : tipe data;
      Field-1 : tipe data;
      ………………..
      ………………..

      Field-n : tipe data;
   End;

Data pegawai adalah contoh sekelompok data yang terdiri dari beberapa atribut pegawai seperti Kode pegawai, nama, alamat, golongan, gaji, dan sebagainya.
Karena itu, data pegawai dapat difenisikan sebagai sebuah tipe data record sbb :
type
    data_pegawai = record
            kode_peg : string[5];
            nama     : string[15];
            alamat   : string[20];
            kota     : string[20];
            gaji     : longint;
            end;
Data pegawai di atas dideklarasikan dengan nama data_pegawai, dimana data_pegawai biasa disebut nama record.
Setelah mendeklarasikan nama record, maka nama record tersebut dapat digunakan sebagai tipe data pada deklarasi variabel, misalnya :
var
    pegawai : data_pegawai;

Variabel pegawai adalah variabel bertipe record. Dengan menggunakan variabel  pegawai, kita dapat mengakses atribut atau field dari data pegawai.

Cara mengakses atau membaca sebagai berikut :
1.  Bentuk : nama_record.nama field
            Contoh :
            Pegawai.kode_peg;
            Pegawai.nama;

Jika data pegawai lebih satu, maka kita mendeklarasikan variabel pegawai dengan bentuk array sbb :
var
    pegawai : array[1..20] of data_pegawai;

Contoh Program DataBarang;
program tugas;
uses wincrt;
type barang= record
     kode_brg       :string[8];
     nama           :string[30];
     merk           :string[20];
     tipe           :string[20];
     end;
var
   brg:array[1..10]of barang;
   i,byk:integer;

begin
clrscr;
writeln(' TUGAS STRUKTUR DATA ');
writeln('=====================');
write('Masukkan jumlah barang: ');readln(byk);
for i:=1 to byk do  {proses inpuut data}
begin
writeln;
write('Kode_brg     :');readln(brg[i].kode_brg);
write('Nama         :');readln(brg[i].nama);
write('Merk         :');readln(brg[i].merk);
write('Tipe         :');readln(brg[i].tipe);
writeln;
end;
writeln('Tampilan Data');
writeln('*************');
for i:=1 to byk do  {proses output data}
begin
writeln('Kode_brg      :',brg[i].kode_brg);
writeln('Nama          :',brg[i].nama);
writeln('Merk          :',brg[i].merk);
writeln('Tipe          :',brg[i].tipe);
writeln;
end;
writeln('***FIKOM ALMUSLIM***');
readkey;
end.

ouputnya:
    






Tidak ada komentar:

Posting Komentar