SlideShare a Scribd company logo
1 of 8
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.
Dasar pemrograman/ Modul_12_TipeDataBentukan 1
12
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.
Dasar pemrograman/ Modul_12_TipeDataBentukan 2
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
Dasar pemrograman/ Modul_12_TipeDataBentukan 3
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
Dasar pemrograman/ Modul_12_TipeDataBentukan 4
for count2 := 1 to 3 do
Board[count1, count2] := Blank;
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
Dasar pemrograman/ Modul_12_TipeDataBentukan 5
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)
Dasar pemrograman/ Modul_12_TipeDataBentukan 6
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)
  
Dasar pemrograman/ Modul_12_TipeDataBentukan 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
  
Dasar pemrograman/ Modul_12_TipeDataBentukan 8

More Related Content

What's hot (16)

Modul pascal
Modul pascalModul pascal
Modul pascal
 
Fungsi rumus statistik di excel
Fungsi rumus statistik di excelFungsi rumus statistik di excel
Fungsi rumus statistik di excel
 
Fungsi dasar rumus microsoft excel
Fungsi dasar rumus microsoft excelFungsi dasar rumus microsoft excel
Fungsi dasar rumus microsoft excel
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Tipe Data pada Bahasa Java
Tipe Data pada Bahasa JavaTipe Data pada Bahasa Java
Tipe Data pada Bahasa Java
 
Pengenalan beberapa fungsi atau rumus microsoft excel
Pengenalan beberapa fungsi atau rumus microsoft excelPengenalan beberapa fungsi atau rumus microsoft excel
Pengenalan beberapa fungsi atau rumus microsoft excel
 
struct & stack
struct & stackstruct & stack
struct & stack
 
Dml dan ddl
Dml dan ddlDml dan ddl
Dml dan ddl
 
ppt Tipe data,variabel, operator
ppt Tipe data,variabel, operatorppt Tipe data,variabel, operator
ppt Tipe data,variabel, operator
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program c
 
Tipe data
Tipe dataTipe data
Tipe data
 
Modul praktikum-algo-pemro
Modul praktikum-algo-pemroModul praktikum-algo-pemro
Modul praktikum-algo-pemro
 
struktur data
struktur datastruktur data
struktur data
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
Function
FunctionFunction
Function
 
Dasar c
Dasar cDasar c
Dasar c
 

Viewers also liked

Lucero Montserrat red LAN
Lucero Montserrat red LANLucero Montserrat red LAN
Lucero Montserrat red LANLuzeriin
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Getting ready for christmas plymouth 18 sep 2015
Getting ready for christmas  plymouth 18 sep 2015Getting ready for christmas  plymouth 18 sep 2015
Getting ready for christmas plymouth 18 sep 2015Get up to Speed
 
Getting ready for Christmas Wells 01 September 2015
Getting ready for Christmas  Wells 01 September 2015Getting ready for Christmas  Wells 01 September 2015
Getting ready for Christmas Wells 01 September 2015Get up to Speed
 
Educación en un Mundo Conectado
Educación en un Mundo ConectadoEducación en un Mundo Conectado
Educación en un Mundo ConectadoClara Yáñez
 
SEO Get up to speed - Williton
SEO  Get up to speed - WillitonSEO  Get up to speed - Williton
SEO Get up to speed - WillitonGet up to Speed
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Get up to speed getting the most out of online marketing Plymouth Chamber 18...
Get up to speed getting the most out of online marketing  Plymouth Chamber 18...Get up to speed getting the most out of online marketing  Plymouth Chamber 18...
Get up to speed getting the most out of online marketing Plymouth Chamber 18...Get up to Speed
 
presentation hallal v3
presentation hallal v3presentation hallal v3
presentation hallal v3Hassan Hallal
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Get up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridgeGet up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridgeGet up to Speed
 
Standard 2.1 Flipchart
Standard 2.1 FlipchartStandard 2.1 Flipchart
Standard 2.1 FlipchartTierneyRex
 
Get up to speed cloud computing and apps yeovil 9.06.15
Get up to speed   cloud computing and apps yeovil 9.06.15Get up to speed   cloud computing and apps yeovil 9.06.15
Get up to speed cloud computing and apps yeovil 9.06.15Get up to Speed
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
independent Study question project 2
independent Study question project 2independent Study question project 2
independent Study question project 2Grant Denney
 
Educación en un Mundo Conectado
Educación en un Mundo ConectadoEducación en un Mundo Conectado
Educación en un Mundo ConectadoClara Yáñez
 

Viewers also liked (20)

Lucero Montserrat red LAN
Lucero Montserrat red LANLucero Montserrat red LAN
Lucero Montserrat red LAN
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Getting ready for christmas plymouth 18 sep 2015
Getting ready for christmas  plymouth 18 sep 2015Getting ready for christmas  plymouth 18 sep 2015
Getting ready for christmas plymouth 18 sep 2015
 
Artikel reksadana
Artikel reksadanaArtikel reksadana
Artikel reksadana
 
Getting ready for Christmas Wells 01 September 2015
Getting ready for Christmas  Wells 01 September 2015Getting ready for Christmas  Wells 01 September 2015
Getting ready for Christmas Wells 01 September 2015
 
RED LAN
RED LAN RED LAN
RED LAN
 
Educación en un Mundo Conectado
Educación en un Mundo ConectadoEducación en un Mundo Conectado
Educación en un Mundo Conectado
 
SEO Get up to speed - Williton
SEO  Get up to speed - WillitonSEO  Get up to speed - Williton
SEO Get up to speed - Williton
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Get up to speed getting the most out of online marketing Plymouth Chamber 18...
Get up to speed getting the most out of online marketing  Plymouth Chamber 18...Get up to speed getting the most out of online marketing  Plymouth Chamber 18...
Get up to speed getting the most out of online marketing Plymouth Chamber 18...
 
presentation hallal v3
presentation hallal v3presentation hallal v3
presentation hallal v3
 
Prof 1
Prof 1Prof 1
Prof 1
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Get up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridgeGet up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridge
 
Standard 2.1 Flipchart
Standard 2.1 FlipchartStandard 2.1 Flipchart
Standard 2.1 Flipchart
 
Get up to speed cloud computing and apps yeovil 9.06.15
Get up to speed   cloud computing and apps yeovil 9.06.15Get up to speed   cloud computing and apps yeovil 9.06.15
Get up to speed cloud computing and apps yeovil 9.06.15
 
Bilinguism in colombia
Bilinguism in colombiaBilinguism in colombia
Bilinguism in colombia
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
independent Study question project 2
independent Study question project 2independent Study question project 2
independent Study question project 2
 
Educación en un Mundo Conectado
Educación en un Mundo ConectadoEducación en un Mundo Conectado
Educación en un Mundo Conectado
 

Similar to Dasar Pemrograman materi kuliah

Part 23 Type Data Record
Part 23 Type Data RecordPart 23 Type Data Record
Part 23 Type Data RecordSyaiful Ahdan
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator javaSaprudin Eskom
 
Struktur data chapter_05
Struktur data chapter_05Struktur data chapter_05
Struktur data chapter_05Sejahtera Affif
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascalachieasik89
 
Part 8 pengertian variabel dan cara penulisan variabel pascal
Part 8 pengertian variabel dan cara penulisan variabel pascalPart 8 pengertian variabel dan cara penulisan variabel pascal
Part 8 pengertian variabel dan cara penulisan variabel pascalSyaiful Ahdan
 
Konsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libreKonsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libreBoelepe Icheks
 
Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)
Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)
Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)TututPurnamaSari1
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxssuser2693661
 
Pertemuan II Algoritma & Struktur Data.pptx
Pertemuan II Algoritma & Struktur Data.pptxPertemuan II Algoritma & Struktur Data.pptx
Pertemuan II Algoritma & Struktur Data.pptxsefriimanuel
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Fisma Ananda
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Faisal Amir
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)Avenzz Venzz
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)Hardini_HD
 
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docxMAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docxDikicandra6
 
Laporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataLaporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataMeycelino A. T
 
Algoritma - tipe data
Algoritma - tipe dataAlgoritma - tipe data
Algoritma - tipe dataZombie Black
 
Bab ii tipe data abstrak
Bab ii tipe data abstrakBab ii tipe data abstrak
Bab ii tipe data abstrakFaizalguswanda
 
Modul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdfModul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdfValentino Selayan
 
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxPaskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxsampesireron
 

Similar to Dasar Pemrograman materi kuliah (20)

Part 23 Type Data Record
Part 23 Type Data RecordPart 23 Type Data Record
Part 23 Type Data Record
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator java
 
Struktur data chapter_05
Struktur data chapter_05Struktur data chapter_05
Struktur data chapter_05
 
2 konsep dasar pascal
2   konsep dasar pascal2   konsep dasar pascal
2 konsep dasar pascal
 
Part 8 pengertian variabel dan cara penulisan variabel pascal
Part 8 pengertian variabel dan cara penulisan variabel pascalPart 8 pengertian variabel dan cara penulisan variabel pascal
Part 8 pengertian variabel dan cara penulisan variabel pascal
 
Konsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libreKonsep dasar bahasa__pascal_ok-libre
Konsep dasar bahasa__pascal_ok-libre
 
Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)
Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)
Pengantar Struktur Data dan Tipe-tipe Data (Pertemuan 2 dan 3)
 
TIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptxTIPE DATA PEMROGRAMAN.pptx
TIPE DATA PEMROGRAMAN.pptx
 
Pertemuan II Algoritma & Struktur Data.pptx
Pertemuan II Algoritma & Struktur Data.pptxPertemuan II Algoritma & Struktur Data.pptx
Pertemuan II Algoritma & Struktur Data.pptx
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6 adp array (larik)
6   adp array (larik)6   adp array (larik)
6 adp array (larik)
 
6.adp array (larik)
6.adp array (larik)6.adp array (larik)
6.adp array (larik)
 
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docxMAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
MAKALAH ARRAY BAHASA C (DIKI CANDRA) (2).docx
 
Laporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe dataLaporan hasil praktikum modul ii tipe data
Laporan hasil praktikum modul ii tipe data
 
Algoritma - tipe data
Algoritma - tipe dataAlgoritma - tipe data
Algoritma - tipe data
 
Bab ii tipe data abstrak
Bab ii tipe data abstrakBab ii tipe data abstrak
Bab ii tipe data abstrak
 
Modul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdfModul2-Tipe-data-identifier-dan-operator-02.pdf
Modul2-Tipe-data-identifier-dan-operator-02.pdf
 
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptxPaskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
Paskalis Jabar-TI-3A-TUGAS02-2015020045.pptx
 
Semester genap
Semester genapSemester genap
Semester genap
 

More from Braga Rezpect

Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritmaBraga Rezpect
 

More from Braga Rezpect (8)

Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritma
 

Dasar Pemrograman materi kuliah

  • 1. 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. Dasar pemrograman/ Modul_12_TipeDataBentukan 1 12
  • 2. 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. Dasar pemrograman/ Modul_12_TipeDataBentukan 2
  • 3. 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 Dasar pemrograman/ Modul_12_TipeDataBentukan 3
  • 4. 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 Dasar pemrograman/ Modul_12_TipeDataBentukan 4
  • 5. for count2 := 1 to 3 do Board[count1, count2] := Blank; 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 Dasar pemrograman/ Modul_12_TipeDataBentukan 5
  • 6. 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) Dasar pemrograman/ Modul_12_TipeDataBentukan 6
  • 7. 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)    Dasar pemrograman/ Modul_12_TipeDataBentukan 7
  • 8. 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    Dasar pemrograman/ Modul_12_TipeDataBentukan 8