8/31/2016T8/31/2016

Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Tipe Data Bentukan

/* kode iklan */
/* kode iklan */
Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Tipe Data Bentukan


12.1 Tipe Data Type

Bahasa pemrograman seperti Pascal, sudah mendefinisikan tipe data yang dapat digunakan, akan tetapi pengguna/user  dapat juga mendefinisikan sendiri tipe data. Caranya adalah dengan mendeklarasikan TYPE pada program. Sintak yang dapat digunakan untuk mendefinisilkan TYPE adalah sebagai berikut :




type
  datatypeidentifier = typespecification;

Format typespecification adalah :

(identifier1, identifier2, ... identifiern)

Sebagai contoh tipe data bentukan untuk mendefinisikan nama bulan satu tahun. Perhatikan contoh berikut :

type
   MonthType = (January, February, March, April, May, June, July, 
                             August, September, October, November, December);

Setelah mendeklarasikan tipe maka tipe data bentukan itu dapat digunakan untuk variabel, seperti dibawah ini :

   var
      Month : MonthType;

Pengguna juga dapat memberikan nilai dari data bentukan tersebut terhadap variabel yang didefinisikan.
Month := January;
Fungsi ordinal juga dapat digunakan untuk tipe data bentukan, seperti pernyataan berikut:

ord(January) = 0, and ord(December) = 11.

Kelemahan tipe data bentukan adalah tidak dapat dibaca ataupun ditulis langsung ke sebuah file. Data tersebut harus dikonversi terlebih dahulu ke dalam tipe data bentukan. Selain itu juga tipe data bentukan tidak dapat digunakan untuk tipe data yang lainnya.


12.2 Subrange

Tipe data ordinal lainnya adalah subrange. Hampir sama dengan Type, subrange pun memiliki format sebagai berikut:

type
  datatypeidentifier = typespecification;

Format type spesificationnya adalah 
lowest_value .. highest_value

Sebagai contoh bila ingin mendefinisikan hari dengan menggunakan subrange , seperti dibawah ini :

type
      DaysOfWeek = (Sunday, Monday, Tuesday, Wednesday, Thursday,
                                  Friday, Saturday);
      DaysOfWorkWeek = Monday..Friday;


Subrange dapat juga digunakan untuk tipe data karakter dan integer.


12.3 ARRAY

Array dimensi 1
Andaikan Anda harus membaca 5000 angka dan melakukan operasi yang sama terhadap data tersebut, bagaimana Anda mendeklarasikan ke 5000 angka tersebut kedalam variabel?

Anda dapat saja mendeklarasikan variabel untuk 5000 angka tersebut dengan cara

aa, ab, ac, ad, ... aaa, aab, ... aba, ... : integer

Walaupun hal tersebut dapat dilakukan, tapi akan memerlukan waktu yang lama untuk mendefiinisikannya. Ada cara lain yang dapat digunakan yaitu dengan menggunakan array.
Array adalah tipe data berstruktur yang terdiri dari beberapa elemen data, dimana etiap elemen data tersebut memiliki tipe data yang sama. Untuk mengacu setiap elemen di dalam array dapat dilakukan dengan menggunakan nama array dan index

Tipe data array dapat dideklarasikan sebagai berikut :

 type
      typename = array [enumerated_type] of another_data_type; 

Array dapat dideklarasikan dengan menggunakan tipe data apapun bahkan dengan tipe data bentukan sekalipun. Sebagai contoh :

 type
      enum_type = 1..50;
      arraytype = array [enum_type] of integer

Deklarasi diatas dapat juga didefinisikan dengan cara berikut :

type
      arraytype = array [1..50] of integer;
Tipe data array akan sangat berguna jika data yang akan disimpan berukuran besar. Array juga pada umumnya digunakan dengan menggunakan bentuk perulangan (loop) karena dapat diakses dengan menggunakan index. Sebagai contoh untuk membaca  50 bilangan integer, maka dapat dikodekan sebagai berikut :

type arraytype = array[1..50] of integer;
var myarray : arraytype;

(*membaca 50 bilangan*)
for count := 1 to 50 do
      read (myarray[count]);

Kurung siku digunakan diantara index pada saat mengakses elemen array.

myarray[5] := 6;


Array dimensi n
Untuk array berdimensi n, dideklarasikan dengan cara :

type
    datatypeidentifier = array [enum_type1, enum_type2] of datatype;

Kurung siku digunakan untuk memisahkan dimensi dari array.

a [5, 3] 

Contoh :

type
   StatusType = (X, O, Blank);
   BoardType = array[1..3,1..3] of StatusType;
var
      Board : BoardType;

(*Inisialisasi*)
   for count1 := 1 to 3 do
      for count2 := 1 to 3 do
         Board[count1, count2] := Blank;

 Baca juga:
  1. Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Percabangan
  2. Materi Kuliah Semester 1 Subprogram 2 ( Function )
  3. Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Fungsi Standar & Input Output
  4. Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Perulangan
  5. Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Runtunan
  6. Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Sub Program (Prosedur)
  7. Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Tipe, Nama dan Nilai
  8. Materi Kuliah Teknik Informatika Dasar Pemrograman Fungsi Rekursif - New !!
  9. Materi Teknik Informatika Semester 1 Algoritma
  10. Materi Teknik Informatika Semester 1 Penyajian Algoritma dengan Teknik Gambar
12.4 Records
Record adalah salah satu tipe data terstruktur, dimana elemen-elemen data di dalamnya memiliki tipe data yang berbeda. Sebagai contoh data mengenai orang yang terdiri dari nama, umur, kota, dan alamat.

Record dapat dituliskan dalam format berikut :

TYPE
  TypeName=record
    identifierlist1:datatype_1;
           ...
        identifierlis:datatype_n;
      end;

Maka data orang dapat dinyatakan dengan record, seperti dibawah ini :


type
   InfoType = record
                 Nama : string;
                 Umur : integer;
                 kota : String;
                 alamat :string;
   end;


Setiap elemen data yang terdapat didalam record dapat dinyatakan sebagai sebuah field. Cara untuk mengakses field tersebut adalah sebagai berikut :

VariableIdentifier.FieldIdentifier

Tanda titik memisahkan antara nama variabel record dengan nama field. Ada cara lain yang dapat digunakan untuk mengakses field dalam record yaitu dengan menggunakan kata WITH …. DO, seperti dibawah ini :

WITH Info DO
      BEGIN
         Age := 18;
         ZIP := 90210;
      END;


Contoh:

1. Dibaca  dua buah titik P1(x1, y1) dan P2(x2, y2). Tulislah algoritma untuk menghitung titik tengah dari P1 dan P2, dan buatlah programnya dalam Pascal.
Titik tengah dua P1 dan P2 adalah P3(x3, y3) yang dihitung dengan rumus:
x3 =  x1 + x2 dan y3 = y1 + y2
2 2
Jawab:

Algoritma Titik_Tengah
Deklarasi
Type  Titik : record < x: real
  y: real
      >
P1,  P2, P3 : titik

Deskripsi
Read (P1.x, P1.y) {baca titik P1}
Read (P2.x, P2.y) {baca titk  P2}
P3.x  (P1.x + P2.x)  / 2
P3.y  (P1.y + P2.y) / 2
Write (P3.x, P3.y)


Untuk Anda Yang Ingin Mencari Materi Lainnya Silahkan klik Disini

Berikut ini adalah Program yang dituliskan dengan Bahasa Pascal:

Program Titik_Tengah;
Type Titik = record
x : real;
y: real;
end;
var
P1, P2, P3 : Titik;

Begin
Write(’Nilai x pada P1 (x1) :  ’); readln(P1.x);
Write(‘Nilai y pada P1 (y1) :  ‘); readln(P1.y);
Write(‘Nilai x pada P2 (x2) :  ’); readln(P2.x);
write(‘Nilai y pada P2 (y2) :  ‘); readln(P2.y);
P3.x := (P1.x + P2.x) / 2;
P3.y := (P1.y + P2.y) / 2;
Writeln(‘Koordinat P1 = (‘,P1.x,’, ’,P1.y,’)’);
Writeln(‘Koordinat P2 = (‘,P2.x,’, ’,P2.y,’)’);
Writeln(‘Titik tengah dari P1 dan P2= (‘,P3.x,’, ’,P3.y,’)’);
End.


Jika Program dijalankan maka akan memberikan hasil seperti berikut:

Nilai x pada P1 (x1) :  4
Nilai y pada P1 (y1) :  8
Nilai x pada P2 (x2) :  2
Nilai y pada P2 (y2) :  6
Koordinat P1 = (4, 8)
Koordinat P2 = (2, 6)
Titik tengah dari P1 dan P2= (3, 7)


Latihan:
1. Apakah perbedaan record dengan array?
2. Dapatkah sebuah record mempunyai elemen sebuah record juga? Bagaimana cara mengaksesnya?
3. Tulislah program untuk menampilkan sejumlah data pegawai yang terdiri dari Nomor pegawai, nama pegawai, alamat, jabatan, gaji dan jenis kelamin. Banyaknya jumlah pegawai ditentukan oleh pengguna.
4. Buatlah algoritma untuk menghitung rata-rata dari beberapa nilai mahasiswa, banyaknya nilai yang akan dihitung berdasarkan masukan dari pengguna program.



Referensi:


Deitel & Deitel, C How to Program 3rd Edition, Prentice Hall, New Jersey, 2001

Jogiyanto, Teori dan Aplikasi Program Komputer Bahasa Turbo Pascal, Andi Offset, Yogyakarta, 1997

Thompson Susabda Ngoen, Pengantar Algoritma dengan Bahasa C, Salemba Teknika, Jakarta, 2004


Terimakasih telah membaca Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Tipe Data Bentukan





/* kode iklan */

jangan lupa iklannya diklik ya, to "Materi Kuliah Semester 1 Teknik Informatika Dasar Pemrograman Tipe Data Bentukan"

Post a Comment