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);
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
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
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.
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
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.
petik tunggal, misal : 'GUNADARMA'. Bila panjang dari suatu string di dalam
deklarasi variabel tidak disebutkan, maka dianggap panjangnya 255 karakter.
Contoh :
VAR
VAR
kata1 : STRING[5];
kata2 : STING[9];
kata : CHAR;
BEGIN
kata1 :='STMIK';
kata2 :='GUNADARMA';
kata :=' '; { karakter berupa spasi }
WRITELN(kata1,kata,kata2);
END.
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
+, 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
- 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;
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.
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.
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;
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;
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;
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;
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.
Tidak ada komentar:
Posting Komentar